ソースを参照

销售 选择促销品加分页

chenrui 3 年 前
コミット
f480c87699

+ 4 - 1
src/api/salesDetail.js

@@ -89,8 +89,11 @@ export const salesDetailDelAll = (params) => {
 
 // 获取产品适用活动的促销产品列表
 export const getPromoGoodsList = (params) => {
+  const url = `/sales/detail/getPromoGoodsList/${params.pageNo}/${params.pageSize}`
+  delete params.pageNo
+  delete params.pageSize
   return axios({
-    url: `/sales/detail/getPromoGoodsList`,
+    url: url,
     data: params,
     method: 'post'
   })

+ 33 - 19
src/views/salesManagement/salesQuery/chooseActive.vue

@@ -9,7 +9,7 @@
     width="80%">
     <a-card size="small" :bordered="false" class="productInfoList-wrap">
       <!-- 列表 -->
-      <a-table
+      <s-table
         class="sTable"
         ref="table"
         size="small"
@@ -26,8 +26,8 @@
         }"
         :rowKey="(record) => record.id"
         :columns="columns"
-        :data-source="list"
-        :loading="loading"
+        :data="loadData"
+        :defaultLoadData="false"
         :scroll="{ x: 900, y: 350 }"
         bordered>
         <!-- 销售数量 -->
@@ -41,7 +41,7 @@
             :step="1"
           />
         </template>
-      </a-table>
+      </s-table>
       <div style="display: flex;justify-content: center;padding: 10px 0;">
         <a-button
           size="large"
@@ -75,6 +75,12 @@ export default {
       type: String,
       default: ''
     },
+    nowData: {
+      type: Object,
+      default: () => {
+        return {}
+      }
+    },
     newLoading: Boolean
   },
   data () {
@@ -82,9 +88,23 @@ export default {
       isShow: this.openModal,
       selectedRowKeys: [], // Check here to configure the default column
       selectedRows: [],
-      loading: false,
+      spinning: false,
       list: [],
-      salesBillDetailSn: null
+      salesBillDetailSn: null,
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        this.spinning = true
+        return getPromoGoodsList(Object.assign(parameter, { salesBillDetailSn: this.nowData.salesBillDetailSn || undefined, buyerSn: this.buyerSn })).then(res => {
+          const data = res.data
+          const no = (data.pageNo - 1) * data.pageSize
+          for (var i = 0; i < data.list.length; i++) {
+            data.list[i].no = no + i + 1
+            data.list[i].qty = 1
+          }
+          this.spinning = false
+          return data
+        })
+      }
     }
   },
   computed: {
@@ -105,19 +125,6 @@ export default {
     }
   },
   methods: {
-    getData (row) {
-      this.loading = true
-      this.salesBillDetailSn = row.salesBillDetailSn
-      this.selectedRowKeys = []
-      this.selectedRows = []
-      getPromoGoodsList({ salesBillDetailSn: row.salesBillDetailSn, buyerSn: this.buyerSn }).then(res => {
-        res.data.map(item => {
-          item.qty = 1
-        })
-        this.list = res.data
-        this.loading = false
-      })
-    },
     onChange (selectedRowKeys, selectedRows) {
       this.selectedRowKeys = selectedRowKeys
     },
@@ -195,7 +202,14 @@ export default {
     //  重定义的弹框状态
     isShow (newValue, oldValue) {
       if (!newValue) {
+        this.selectedRows = []
+        this.selectedRowKeys = []
         this.$emit('close')
+      } else {
+        const _this = this
+        setTimeout(() => (
+          _this.$refs.table.refresh(true)
+        ), 300)
       }
     }
   }

+ 9 - 2
src/views/salesManagement/salesQuery/edit.vue

@@ -145,10 +145,11 @@
     <ChooseActive
       ref="activeProduct"
       :buyerSn="detailData&&detailData.buyerSn"
+      :nowData="nowData"
       :openModal="newActive"
       @ok="addNewActive"
       :newLoading="isInster"
-      @close="newActive=false"></ChooseActive>
+      @close="closeActive"></ChooseActive>
   </div>
 </template>
 
@@ -177,6 +178,7 @@ export default {
         promotionFlag: 0
       },
       activeName: '', // 促销活动
+      nowData: null,
       // 表头
       columns: [
         { title: '序号', dataIndex: 'no', width: 70, align: 'center' },
@@ -367,8 +369,9 @@ export default {
     },
     // 选择促销品
     handleSelCx (row) {
+      this.nowData = row
       this.newActive = true
-      this.$refs.activeProduct.getData(row)
+      // this.$refs.activeProduct.getData(row)
     },
     // 批量添加促销品
     addNewActive (list) {
@@ -394,6 +397,10 @@ export default {
           this.spinning = false
         }
       })
+    },
+    closeActive () {
+      this.nowData = null
+      this.newActive = false
     }
   },
   mounted () {