lilei 3 år sedan
förälder
incheckning
0bcf9f5e8f

+ 41 - 39
src/views/salesManagement/salesQuery/carInfoModal.vue

@@ -1,44 +1,46 @@
 <template>
-  <a-modal
-    centered
-    class="carInfoDetail-modal"
-    :footer="null"
-    :maskClosable="false"
-    v-model="isShow"
-    @cancle="isShow=false"
-    :width="800">
-    <div>
-      <div class="head-info-con">
-        <p class="head-info-title">车型信息</p>
-        <a-divider style="margin: 12px 0;" />
+  <div v-if="isShow">
+    <a-modal
+      centered
+      class="carInfoDetail-modal"
+      :footer="null"
+      :maskClosable="false"
+      v-model="isShow"
+      @cancle="isShow=false"
+      :width="800">
+      <div>
+        <div class="head-info-con">
+          <p class="head-info-title">车型信息</p>
+          <a-divider style="margin: 12px 0;" />
+        </div>
+        <a-descriptions bordered :column="2" size="small" class="head-info-main">
+          <a-descriptions-item label="车型信息:">{{ infoData&&infoData.text || '--' }}</a-descriptions-item>
+          <a-descriptions-item label="品牌:">{{ infoData&&infoData.brand_name || '--' }}</a-descriptions-item>
+          <a-descriptions-item label="车型:">{{ infoData&&infoData.model_name || '--' }}</a-descriptions-item>
+          <a-descriptions-item label="品牌LOGO:">
+            <img :src="infoData&&infoData.icon?infoData.icon:defImg" width="30" height="30" style="border-radius: 50%;" />
+          </a-descriptions-item>
+          <a-descriptions-item label="排量:">{{ infoData&&infoData.sub_name || '--' }}</a-descriptions-item>
+          <a-descriptions-item label="年款:">{{ infoData&&infoData.year || '--' }}</a-descriptions-item>
+          <a-descriptions-item label="车型图:">
+            <div v-if="infoData&&infoData.images.length>0">
+              <img :src="infoData.images[0] || defImg" width="30" height="30" class="imageUrl" @click="inited(infoData.images)" />
+            </div>
+            <span v-else>--</span>
+          </a-descriptions-item>
+          <a-descriptions-item label="车系:">{{ infoData&&infoData.series_name || '--' }}</a-descriptions-item>
+        </a-descriptions>
+        <div class="head-info-con" v-if="infoData&&infoData.params">
+          <p class="head-info-title">配置信息</p>
+          <a-divider style="margin: 12px 0;" />
+        </div>
+        <a-descriptions bordered :column="2" size="small" v-if="infoData&&infoData.params" class="head-info-main">
+          <a-descriptions-item v-for="item in infoData.params" :label="item.type_name+':'">{{ item.value || '--' }}</a-descriptions-item>
+        </a-descriptions>
+        <div class="btn-cont"><a-button id="carInfoDetail-modal-back" @click="isShow = false">返回</a-button></div>
       </div>
-      <a-descriptions bordered :column="2" size="small" class="head-info-main">
-        <a-descriptions-item label="车型信息:">{{ infoData&&infoData.text || '--' }}</a-descriptions-item>
-        <a-descriptions-item label="品牌:">{{ infoData&&infoData.brand_name || '--' }}</a-descriptions-item>
-        <a-descriptions-item label="车型:">{{ infoData&&infoData.model_name || '--' }}</a-descriptions-item>
-        <a-descriptions-item label="品牌LOGO:">
-          <img :src="infoData&&infoData.icon?infoData.icon:defImg" width="30" height="30" style="border-radius: 50%;" />
-        </a-descriptions-item>
-        <a-descriptions-item label="排量:">{{ infoData&&infoData.sub_name || '--' }}</a-descriptions-item>
-        <a-descriptions-item label="年款:">{{ infoData&&infoData.year || '--' }}</a-descriptions-item>
-        <a-descriptions-item label="车型图:">
-          <div v-if="infoData&&infoData.images.length>0">
-            <img :src="infoData.images[0] || defImg" width="30" height="30" class="imageUrl" @click="inited(infoData.images)" />
-          </div>
-          <span v-else>--</span>
-        </a-descriptions-item>
-        <a-descriptions-item label="车系:">{{ infoData&&infoData.series_name || '--' }}</a-descriptions-item>
-      </a-descriptions>
-      <div class="head-info-con" v-if="infoData&&infoData.params">
-        <p class="head-info-title">配置信息</p>
-        <a-divider style="margin: 12px 0;" />
-      </div>
-      <a-descriptions bordered :column="2" size="small" v-if="infoData&&infoData.params" class="head-info-main">
-        <a-descriptions-item v-for="item in infoData.params" :label="item.type_name+':'">{{ item.value || '--' }}</a-descriptions-item>
-      </a-descriptions>
-      <div class="btn-cont"><a-button id="carInfoDetail-modal-back" @click="isShow = false">返回</a-button></div>
-    </div>
-  </a-modal>
+    </a-modal>
+  </div>
 </template>
 
 <script>

+ 19 - 7
src/views/salesManagement/salesQuery/detail.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="salesDetail-wrap">
+  <div v-if="showPage" class="salesDetail-wrap">
     <a-spin :spinning="spinning" tip="Loading...">
       <a-page-header :ghost="false" :backIcon="false" class="salesDetail-cont" :style="{ padding: !outBizSn ? '16px 24px' : '0px 24px' }">
         <template slot="subTitle" v-if="!outBizSn">
@@ -96,6 +96,7 @@ export default {
   },
   data () {
     return {
+      showPage: false,
       spinning: false,
       disabled: false,
       // 表头
@@ -182,23 +183,34 @@ export default {
           this.detailData = null
         }
       })
+    },
+    pageInit () {
+      const vm = this
+      vm.$nextTick(() => {
+        vm.spinning = false
+        vm.disabled = false
+        vm.$refs.table.refresh(true)
+        vm.getDetail()
+      })
     }
   },
   mounted () {
+    this.showPage = true
     if (!this.$store.state.app.isNewTab || this.outBizSn) { // 页签刷新 或 为弹框时调用
-      this.$refs.table.refresh(true)
-      this.getDetail()
+      this.pageInit()
     }
   },
   activated () {
+    this.showPage = true
     // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
     if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
-      this.spinning = false
-      this.disabled = false
-      this.$refs.table.refresh(true)
-      this.getDetail()
+      this.pageInit()
     }
   },
+  deactivated () {
+    this.localDataSource = []
+    this.showPage = false
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {})
   }

+ 14 - 5
src/views/salesManagement/salesQuery/edit.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="salesEdit-wrap">
+  <div v-if="showPage" class="salesEdit-wrap">
     <a-spin :spinning="spinning" tip="Loading...">
       <a-page-header :ghost="false" :backIcon="false" @back="handleBack" >
         <!-- 自定义的二级文字标题 -->
@@ -176,6 +176,7 @@ export default {
   components: { STable, VSelect, queryPart, chooseCustomModal, Print },
   data () {
     return {
+      showPage: false,
       spinning: false,
       orderId: null, // 销售单id
       salesBillSn: null, // 销售单sn
@@ -549,23 +550,31 @@ export default {
     },
     pageInit () {
       const vm = this
-      vm.orderId = vm.$route.params.id
-      vm.salesBillSn = vm.$route.params.sn
-      vm.getOrderDetail(true)
-      vm.$refs.table.refresh(true)
+      vm.$nextTick(() => {
+        vm.orderId = vm.$route.params.id
+        vm.salesBillSn = vm.$route.params.sn
+        vm.getOrderDetail(true)
+        vm.$refs.table.refresh(true)
+      })
     }
   },
   mounted () {
+    this.showPage = true
     if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
       this.pageInit()
     }
   },
   activated () {
+    this.showPage = true
     // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
     if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
       this.pageInit()
     }
   },
+  deactivated () {
+    this.dataSource = []
+    this.showPage = false
+  },
   beforeRouteEnter (to, from, next) {
     next(vm => {})
   }

+ 40 - 38
src/views/salesManagement/salesQuery/productSalesRecordModal.vue

@@ -1,42 +1,44 @@
 <template>
-  <a-modal
-    centered
-    class="salesRecord-modal"
-    :footer="null"
-    :maskClosable="false"
-    :title="modalTit"
-    v-model="isShow"
-    @cancle="isShow=false"
-    :width="960">
-    <div>
-      <a-tabs size="small" type="card" v-model="curTab" @change="callback">
-        <a-tab-pane key="1" tab="当前客户">
-        </a-tab-pane>
-        <a-tab-pane key="2" tab="全部客户">
-        </a-tab-pane>
-      </a-tabs>
-      <!-- 表格 -->
-      <a-table
-        class="sTable"
-        ref="table"
-        size="small"
-        :rowKey="(record) => record.id"
-        :columns="columns"
-        :dataSource="list"
-        :loading="loading"
-        :pagination="false"
-        bordered>
-      </a-table>
-      <!-- 分页 -->
-      <tablePagination
-        ref="tablePagination"
-        :total="paginationProps.total"
-        :current="paginationProps.current"
-        :pageSize="paginationProps.pageSize"
-        @changePageSize="changePageSize"
-        @changePage="changePage" />
-    </div>
-  </a-modal>
+  <div v-if="isShow">
+    <a-modal
+      centered
+      class="salesRecord-modal"
+      :footer="null"
+      :maskClosable="false"
+      :title="modalTit"
+      v-model="isShow"
+      @cancle="isShow=false"
+      :width="960">
+      <div>
+        <a-tabs size="small" type="card" v-model="curTab" @change="callback">
+          <a-tab-pane key="1" tab="当前客户">
+          </a-tab-pane>
+          <a-tab-pane key="2" tab="全部客户">
+          </a-tab-pane>
+        </a-tabs>
+        <!-- 表格 -->
+        <a-table
+          class="sTable"
+          ref="table"
+          size="small"
+          :rowKey="(record) => record.id"
+          :columns="columns"
+          :dataSource="list"
+          :loading="loading"
+          :pagination="false"
+          bordered>
+        </a-table>
+        <!-- 分页 -->
+        <tablePagination
+          ref="tablePagination"
+          :total="paginationProps.total"
+          :current="paginationProps.current"
+          :pageSize="paginationProps.pageSize"
+          @changePageSize="changePageSize"
+          @changePage="changePage" />
+      </div>
+    </a-modal>
+  </div>
 </template>
 
 <script>