소스 검색

仓库新增添加按钮 / 货品添加返利金额

howie 3 년 전
부모
커밋
8b1535a0e7

+ 6 - 1
src/App.vue

@@ -8,7 +8,12 @@
 export default {
   name: "App",
   data() {
-    return {};
+    return {
+
+    };
   },
+  methods:{
+
+  }
 };
 </script>

+ 77 - 83
src/api/basic_data/warehouse.js

@@ -1,148 +1,142 @@
-import request from '@/utils/request'
-
-
+import request from "@/utils/request";
 
 export function getList(params) {
   return request({
-    url: '/stock/list',
-    method: 'get',
-    params
-  })
+    url: "/stock/list",
+    method: "get",
+    params,
+  });
 }
 
 export function getStockDetail(params) {
   return request({
-    url: '/stock/detail',
-    method: 'get',
-    params
-  })
+    url: "/stock/detail",
+    method: "get",
+    params,
+  });
 }
 
-
 export function getListReserve(params) {
   return request({
-    url: '/stock/listReserve',
-    method: 'get',
-    params
-  })
+    url: "/stock/listReserve",
+    method: "get",
+    params,
+  });
 }
 
-
-
-
 export function getListStock(params) {
   return request({
-    url: '/stock/listStock',
-    method: 'get',
-    params
-  })
+    url: "/stock/listStock",
+    method: "get",
+    params,
+  });
 }
 
 export function addStock(params) {
   return request({
-    url: '/stock/addStock',
-    method: 'post',
-    data: params
-  })
+    url: "/stock/addStock",
+    method: "post",
+    data: params,
+  });
 }
 export function updateStock(params) {
   return request({
-    url: '/stock/updateStock',
-    method: 'post',
-    data: params
-  })
+    url: "/stock/updateStock",
+    method: "post",
+    data: params,
+  });
 }
 export function deleteStock(params) {
   return request({
-    url: '/stock/deleteStock',
-    method: 'get',
-    params
-  })
+    url: "/stock/deleteStock",
+    method: "get",
+    params,
+  });
 }
 
-
-
-
-
 export function getListToll(params) {
   return request({
-    url: '/stock/listToll',
-    method: 'get',
-    params
-  })
+    url: "/stock/listToll",
+    method: "get",
+    params,
+  });
 }
 
 export function getDetail(params) {
   return request({
-    url: '/stock/detailToll',
-    method: 'get',
-    params
-  })
+    url: "/stock/detailToll",
+    method: "get",
+    params,
+  });
 }
 
-
 export function updateToll(params) {
   return request({
-    url: '/stock/updateToll',
-    method: 'post',
-    data: params
-  })
+    url: "/stock/updateToll",
+    method: "post",
+    data: params,
+  });
 }
 
-
 export function addToll(params) {
   return request({
-    url: '/stock/addToll',
-    method: 'post',
-    data: params
-  })
+    url: "/stock/addToll",
+    method: "post",
+    data: params,
+  });
 }
 
-
 export function deleteToll(params) {
   return request({
-    url: '/stock/deleteToll',
-    method: 'get',
-    params
-  })
+    url: "/stock/deleteToll",
+    method: "get",
+    params,
+  });
 }
 // 导入
 // /stock/importToll
 // 导出
 
-
-///stock/exportToll
-
+// /stock/exportToll
 
 // 经销商列表
 
 export function getCustomerList(params) {
   return request({
-    url: '/customer/list',
-    method: 'get',
-    params
-  })
+    url: "/customer/list",
+    method: "get",
+    params,
+  });
 }
 
-
-
 export function addReserve(params) {
   return request({
-    url: '/stock/addReserve',
-    method: 'post',
-    data:params
-  })
+    url: "/stock/addReserve",
+    method: "post",
+    data: params,
+  });
 }
 
+export function setStock(params) {
+  return request({
+    url: "/stock/update",
+    method: "get",
+    params,
+  });
+}
 
+export function updateReserve(params) {
+  return request({
+    url: "/stock/updateReserve",
+    method: "post",
+    data: params,
+  });
+}
 
-
-
-
-export function setStock(params) {
+export function categoryList(params) {
   return request({
-    url: '/stock/update',
-    method: 'get',
-    params
-  })
+    url: "/product-category/king-dee-category-list",
+    method: "get",
+    params,
+  });
 }

+ 175 - 69
src/views/basic_data/warehouse/warehouse_book.vue

@@ -1,5 +1,16 @@
 <template>
   <div class="app-container">
+    <div class="btn-group clearfix">
+      <div class="fl">
+        <el-button
+          v-if="$checkBtnRole('add', $route.meta.roles)"
+          type="primary"
+          icon="el-icon-plus"
+          size="small"
+          @click="dialogVisible=true"
+        >新增</el-button>
+      </div>
+    </div>
     <el-card class="box-card">
       <div slot="header" class="clearfix">
         <span>仓库每天预约提货设置</span>
@@ -7,9 +18,8 @@
       <!-- 列表 -->
       <div class="">
         <el-table
-         v-loading="listLoading"
+          v-loading="listLoading"
           :data="dataList"
-
           element-loading-text="Loading"
           border
           fit
@@ -19,7 +29,7 @@
           <el-table-column
             align="center"
             label="序号"
-           type="index"
+            type="index"
             min-width="60"
             show-overflow-tooltip
           />
@@ -45,7 +55,7 @@
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <el-input type="number" v-model.number="scope.row.number" :disabled="scope.row.isDisabled"></el-input>
+              <el-input v-model.number="scope.row.number" type="number" :disabled="scope.row.isDisabled" />
             </template>
           </el-table-column>
           <el-table-column
@@ -56,7 +66,7 @@
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <el-input type="number" v-model.number="scope.row.towerNum" :disabled="scope.row.isDisabled"></el-input>
+              <el-input v-model.number="scope.row.towerNum" type="number" :disabled="scope.row.isDisabled" />
             </template>
           </el-table-column>
 
@@ -67,98 +77,194 @@
 
             show-overflow-tooltip
           >
-          <template slot-scope="scope">
-            <el-button type="text" class="textColor" @click="hanleEidt(scope.$index)"
-              >编辑</el-button
-            >
-            <el-button type="text" class="textColor" @click="hanleSave(scope.row)">保存</el-button>
+            <template slot-scope="scope">
+              <el-button
+                type="text"
+                class="textColor"
+                @click="hanleEidt(scope.$index)"
+              >编辑</el-button>
+              <el-button type="text" class="textColor" @click="hanleSave(scope.row)">保存</el-button>
             </template>
           </el-table-column>
         </el-table>
       </div>
     </el-card>
+
+    <el-dialog
+      :visible.sync="dialogVisible"
+      width="50%"
+      :close-on-click-modal="false"
+      @close="resetForm"
+    >
+      <el-form ref="ruleForm" :rules="rulue" :model="ruleForm" status-icon label-width="100px" class="demo-ruleForm" size="small">
+        <el-form-item label="仓库" prop="correspondId">
+          <el-select v-model="ruleForm.correspondId" placeholder="请选择仓库" class="select" @change="handleStock">
+            <el-option
+              v-for="item in stockList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="存货" prop="categoryId">
+          <el-select v-model="ruleForm.categoryId" placeholder="请选择存货" class="select" @change="handleCategory">
+            <el-option
+              v-for="item in cateList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="预约单量" prop="number">
+          <el-input v-model="ruleForm.number" placeholder="请输入最大预约单量" />
+        </el-form-item>
+        <el-form-item label="台数量" prop="towerNum">
+          <el-input v-model="ruleForm.towerNum" placeholder="请输入预约台数量" />
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false;resetForm()">取 消</el-button>
+        <el-button type="primary" @click="handleAddInfo">确 定</el-button>
+      </span>
+    </el-dialog>
+
   </div>
 </template>
 
 <script>
-import Mixin from "@/mixin/index";
-import { getListReserve,addReserve } from "@/api/basic_data/warehouse";
+import Mixin from '@/mixin/index'
+// updateReserve getListStock categoryList
+import { addReserve, categoryList, getListReserve, getListStock, updateReserve } from '@/api/basic_data/warehouse'
+
 export default {
   mixins: [Mixin],
   data() {
     return {
-      dataList: [
-        {
-          num: "1",
-          store: "万豪仓",
-          type: "家用空调",
-          maxNum: "1111",
-          maxSets: "12331",
-        },
-        {
-          num: "1",
-          store: "万豪仓",
-          type: "家用空调",
-          maxNum: "1111",
-          maxSets: "",
-        },
-        {
-          num: "1",
-          store: "万豪仓",
-          type: "家用空调",
-          maxNum: "1111",
-          maxSets: "",
-        },
-        {
-          num: "1",
-          store: "万豪仓",
-          type: "家用空调",
-          maxNum: "1111",
-          maxSets: "",
-        },
-      ],
-      index:0
-    };
+      dialogVisible: false,
+      dataList: [],
+      index: 0,
+      ruleForm: {
+        'categoryId': '',
+        'categoryName': '',
+        'correspondId': '',
+        'correspondName': '',
+        'id': '',
+        'number': '',
+        'towerNum': ''
+      },
+      stockList: [],
+      cateList: [],
+      rulue: {
+        correspondId: [
+          { required: true, message: '请选择仓库', trigger: 'change' }
+        ],
+        categoryId: [
+          { required: true, message: '请选择存货', trigger: 'change' }
+        ],
+        number: [
+          { required: true, message: '请输入最大预约单量', trigger: 'blur' }
+        ],
+        towerNum: [
+          { required: true, message: '请输入预约台数量', trigger: 'blur' }
+        ]
+      }
+    }
   },
   created() {
-    this.getList();
+    this.getList()
+    this.getCommonList()
   },
   methods: {
-    hanleEidt(i){
-      this.dataList.forEach(e=>{
+    hanleEidt(i) {
+      this.dataList.forEach(e => {
         e.isDisabled = true
       })
       this.dataList[i].isDisabled = false
     },
-    hanleSave(edata){
+    hanleSave(row) {
       const params = {
-        ...edata
+        ...row
       }
-    addReserve(params).then(res=>{
-       this.$successMsg("保存成功");
-       this.dataList.forEach(e=>{
-        e.isDisabled = true
+      addReserve(params).then(res => {
+        this.$successMsg('保存成功')
+        this.dataList.forEach(e => {
+          e.isDisabled = true
+        })
+      })
+    },
+    handleAddInfo() {
+      this.$refs.ruleForm.validate((valid) => {
+        console.log(
+          this.ruleForm
+        )
+        if (valid) {
+          updateReserve({
+            ...this.ruleForm
+          }).then(res => {
+            this.$successMsg('新增成功')
+          })
+        } else {
+          console.log('error submit!!')
+          return false
+        }
+        this.dialogVisible = false
       })
-    })
+    },
+    resetForm() {
+      this.$refs.ruleForm.resetFields()
     },
     getList() {
-      this.listLoading = true;
-      let params = {
+      this.listLoading = true
+      const params = {
         pageNum: this.currentPage,
-        pageSize: this.pageSize,
-      };
+        pageSize: this.pageSize
+      }
       getListReserve(params).then((res) => {
-          res.data.records.forEach(el => {
-              el.isDisabled=true
-          });
-        this.dataList = res.data.records;
-        this.listTotal = res.data.total;
-        this.listLoading = false;
-        console.log(this.dataList, 1233);
-      });
+        res.data.records.forEach(el => {
+          el.isDisabled = true
+        })
+        this.dataList = res.data.records
+        this.listTotal = res.data.total
+        this.listLoading = false
+        console.log(this.dataList, 1233)
+      })
     },
-  },
-};
+    getCommonList() {
+      getListStock({
+        pageNum: 1,
+        pageSize: -1,
+        name: '',
+        stockName: ''
+      }).then(res => {
+        this.stockList = res.data.records
+      })
+      categoryList().then(res => {
+        console.log(res)
+        this.cateList = res.data
+      })
+    },
+    handleStock(e) {
+      this.ruleForm.correspondName = this.stockList.filter(k => {
+        return e === k.id
+      })[0].name
+    },
+    handleCategory(e) {
+      this.ruleForm.categoryName = this.cateList.filter(k => {
+        return e === k.id
+      })[0].name
+    }
+  }
+}
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+
+.btn-group{
+  margin: 20px 0;
+}
+.select{
+  width: 100%;
+}
+</style>

+ 72 - 32
src/views/sales_policy/components/AddPolicy.vue

@@ -167,8 +167,8 @@
                   @change="handleK3List($event, scope.row)"
                 >
                   <el-option
-                    v-for="item in k3List"
-                    :key="item.id"
+                    v-for="(item,index) in k3List"
+                    :key="index"
                     :label="item.number"
                     :value="item.id"
                   />
@@ -195,8 +195,8 @@
                   @change="handleK3List($event, scope.row)"
                 >
                   <el-option
-                    v-for="item in k3List"
-                    :key="item.id"
+                    v-for="(item,index) in k3List"
+                    :key="index"
                     :label="item.specification"
                     :value="item.id"
                   />
@@ -250,6 +250,23 @@
                 />
               </template>
             </el-table-column>
+            <el-table-column label="返利钱包" align="center">
+              <template slot-scope="scope">
+                <el-select
+                  v-model="scope.row.rebateWalletIds"
+                  size="small"
+                  multiple
+                  filterable
+                >
+                  <el-option
+                    v-for="item in rebateList"
+                    :key="item.walletRebateId"
+                    :label="item.name"
+                    :value="item.walletRebateId"
+                  />
+                </el-select>
+              </template>
+            </el-table-column>
             <el-table-column label="支付钱包" align="center">
               <template slot-scope="scope">
                 <el-select
@@ -265,13 +282,6 @@
                     :value="item.id"
                   />
                 </el-select>
-                <!-- <el-tag
-                  style="margin: 5px"
-                  type="success"
-                  size="small"
-                  v-for="item in scope.row.walletRelaList"
-                  >{{ item.walletName }}</el-tag
-                > -->
               </template>
             </el-table-column>
             <el-table-column prop="remark" label="备注" align="center">
@@ -323,15 +333,15 @@
                 @click="handleSave"
               >保存</el-button>
             </div>
-<!--            <el-pagination-->
-<!--              :current-page="dcurrentPage"-->
-<!--              :page-sizes="pageSizeArr"-->
-<!--              :page-size="size"-->
-<!--              layout="total, sizes, prev, pager, next, jumper"-->
-<!--              :total="listTotal"-->
-<!--              @size-change="handleSizeChange2"-->
-<!--              @current-change="handleCurrentChange2"-->
-<!--            />-->
+            <!--            <el-pagination-->
+            <!--              :current-page="dcurrentPage"-->
+            <!--              :page-sizes="pageSizeArr"-->
+            <!--              :page-size="size"-->
+            <!--              layout="total, sizes, prev, pager, next, jumper"-->
+            <!--              :total="listTotal"-->
+            <!--              @size-change="handleSizeChange2"-->
+            <!--              @current-change="handleCurrentChange2"-->
+            <!--            />-->
           </div>
 
           <el-row>
@@ -406,7 +416,8 @@
             </el-row>
             <el-divider />
           </el-row>
-          <Transfer @handleAddPolicy="handleAddPolicy" @handleReset="handleReset" />
+          <TabelTransfer @handlEditPolicy="handleAddPolicy" @handleReset="handleReset" />
+          <!--          <Transfer @handleAddPolicy="handleAddPolicy" @handleReset="handleReset" />-->
         </div>
       </div>
     </div>
@@ -429,11 +440,13 @@ import {
   getMaterialList,
   getNoRebateWalletList,
   getTypeList,
+  getWalletRebateList,
   savePolicy,
   updateCondition
 } from '@/api/policy_list'
 import { downloadFiles, handleImport } from '@/utils/util'
-import Transfer from './Transfer'
+// import Transfer from './Transfer'
+import TabelTransfer from './TabelTransfer'
 import AddCondition from './AddCondition'
 import ImageUpload from '@/components/Common/image-upload.vue'
 
@@ -508,7 +521,8 @@ export default {
       NoRebateWalletList: [],
       sleectBox: { currentPage: 1 },
       dpageSize: 10,
-      dcurrentPage: 1
+      dcurrentPage: 1,
+      rebateList: []
     }
   },
   computed: {
@@ -525,7 +539,6 @@ export default {
   },
   created() {
     this.getCommonApi()
-
     // console.log(this.$store.code);
 
     if (this.$parent.isFlag) {
@@ -587,6 +600,15 @@ export default {
         this.NoRebateWalletList = res.data
         console.log(this.NoRebateWalletList, 'kkkk')
       })
+      getWalletRebateList({
+        pageNum: 1,
+        pageSize: -2,
+        name: '',
+        status: true
+      }).then(res => {
+        this.rebateList = res.data.records
+        console.log(this.rebateList, 'fanlie')
+      })
       const params = {
         pageNum: 1,
         pageSize: -1,
@@ -597,6 +619,7 @@ export default {
       // 获取销售类型列表
       getTypeList(params).then((res) => {
         this.typeList = res.data.records
+        console.log(this.typeList, 'xioahsou')
       })
       // this.handletwoList()
       // const params = {
@@ -624,8 +647,21 @@ export default {
     },
     handleSalesType(e, row) {
       const item = this.typeList.filter((k) => {
-        return k.id == e
+        return k.id === e
       })[0]
+      const linshi = []
+      const rebateList = []
+      this.rebateList.forEach((k) => {
+        k.saleTypes.forEach((j) => {
+          if (!linshi.includes(j.saleTypeId) && j.saleTypeId == e) {
+            rebateList.push(k)
+          }
+        })
+      })
+      if (rebateList.length){
+        this.$set(row,'rebateWalletIds',[...new Set([...row.rebateWalletIds,rebateList[0].walletRebateId])])
+      }
+
       this.$set(row, 'saleTypeCode', item.saleCode)
       this.$set(row, 'saleTypeName', item.saleName)
       // this.$set(row,'saleTypeId',item.id)
@@ -730,19 +766,21 @@ export default {
         .then((result) => {
           result.data.records.forEach((k) => {
             k.walletIds = []
+            k.rebateWalletIds = []
             if (!k.specification) {
               k.materialNumber = k.materialId
               k.specification = k.materialId
-            } else {
-              k.materialNumber = k.materialNumber
-              k.specification = k.specification
             }
 
-            k.materialId = k.materialId
             k.walletRelaList.forEach((l) => {
               l.id = l.walletId
               l.name = l.walletName
-              k.walletIds = [...k.walletIds, l.walletId]
+              if (l.type==='REBATE'){
+                k.rebateWalletIds = [...k.rebateWalletIds, l.walletId]
+              }else {
+                k.walletIds = [...k.walletIds, l.walletId]
+              }
+              // k.walletIds = [...k.walletIds, l.walletId]
             })
           })
           // this.dataList=[]
@@ -752,6 +790,7 @@ export default {
         })
         .catch((err) => {
           console.error(err)
+          // this.listLoading = false
         })
     },
     // 提交审核
@@ -845,6 +884,7 @@ export default {
         saleTypeId: '',
         saleTypeName: '',
         specification: '',
+        rebateWalletIds: [],
         walletIds: [this.NoRebateWalletList[0].id],
         walletRelaList: []
       })
@@ -887,7 +927,7 @@ export default {
       const item = this.k3List.filter((k) => {
         return k.id == e
       })[0]
-      this.$set(row,'materialNumber',item.number)
+      this.$set(row, 'materialNumber', item.number)
       this.$set(row, 'materialName', item.name)
       this.$set(row, 'specification', item.specification)
       this.$set(row, 'materialId', item.id)
@@ -898,7 +938,7 @@ export default {
     }
   },
   components: {
-    Transfer,
+    TabelTransfer,
     AddCondition,
     ImageUpload
   }

+ 17 - 25
src/views/sales_policy/components/TabelTransfer.vue

@@ -61,11 +61,11 @@
             :selectable="selectable"
             align="center"
           />
-          <el-table-column
-            prop="number"
-            label="经销商编码"
-            align="center"
-          />
+          <!--          <el-table-column-->
+          <!--            prop="number"-->
+          <!--            label="经销商编码"-->
+          <!--            align="center"-->
+          <!--          />-->
           <el-table-column
             prop="name"
             label="经销商名称"
@@ -131,11 +131,11 @@
           @selection-change="handleSelectionChange2"
         >
           <el-table-column type="selection" width="55" align="center" />
-          <el-table-column
-            prop="customerNumber"
-            label="经销商编码"
-            align="center"
-          />
+          <!--          <el-table-column-->
+          <!--            prop="customerNumber"-->
+          <!--            label="经销商编码"-->
+          <!--            align="center"-->
+          <!--          />-->
           <el-table-column
             prop="customerName"
             label="经销商名称"
@@ -150,7 +150,7 @@
           type="primary"
           size="small"
           @click="handleSave"
-        >提交审核</el-button>
+        > {{ comCode?'保存':'提交审核' }} </el-button>
         <el-button type="primary" size="small" @click="handleReset">重置</el-button>
       </el-row>
     </slot>
@@ -236,18 +236,18 @@ export default {
     }
   },
   created() {
-      this.comCode = this.code
-    console.log(this.code,'kkkkk')
+    this.comCode = this.code
+    if (this.comCode) {
       this.getCond()
+    }
   },
   updated() {
     this.comCode = this.code
-    console.log(this.code,'kkkkk')
+    console.log(this.code, 'kkkkk')
   },
   methods: {
     getList() {
       this.getCrList()
-      this.getCond()
     },
     getCrList() {
       const customerParams = {
@@ -322,11 +322,7 @@ export default {
     },
     // 下载经销商模板
     hanleDownloadFiles() {
-      downloadFiles('/policy/customer_count/export', {
-        code: '',
-        remark: '',
-        title: ''
-      })
+      downloadFiles('/policy/downloadCustomer')
     },
     getCommonApi(row) {
       (this.isEdit = 2), (this.cid = row.id), (this.cpolicyId = row.policyId)
@@ -337,7 +333,7 @@ export default {
       )
     },
     getCond() {
-      console.log(this.code , 'hhjkhkj',this.comCode,'999999')
+      console.log(this.code, 'hhjkhkj', this.comCode, '999999')
       this.listLoading = true
       const custoParams = {
         pageNum: this.currentPages,
@@ -476,10 +472,6 @@ export default {
         this.$errorMsg('请选择要删除的经销商')
       }
     },
-    // 去掉相同数据
-    resArr(arr1, arr2) {
-      return arr1.filter((v) => arr2.every((val) => val.id !== v.id))
-    },
     // 提交数据
 
     async handleSave() {

+ 2 - 6
src/views/sales_policy/components/Transfer.vue

@@ -59,7 +59,7 @@
           <div>
             <el-pagination
               :current-page="currentPage"
-              :page-sizes="[10]"
+              :page-sizes="[10, 20, 30, 50]"
               :page-size="10"
               layout="total, sizes, prev, pager, next, jumper"
               :total="listTotal"
@@ -264,11 +264,7 @@ export default {
     },
     // 下载经销商模板
     hanleDownloadFiles() {
-      downloadFiles('/policy/customer_count/export', {
-        code: '',
-        remark: '',
-        title: ''
-      })
+      downloadFiles('/policy/downloadCustomer',)
     },
     handleReset() {
       this.dataR = this.rightData = []

+ 49 - 7
src/views/sales_policy/components/editPolicy.vue

@@ -250,6 +250,23 @@
                 />
               </template>
             </el-table-column>
+            <el-table-column label="返利钱包" align="center">
+              <template slot-scope="scope">
+                <el-select
+                  v-model="scope.row.rebateWalletIds"
+                  size="small"
+                  multiple
+                  filterable
+                >
+                  <el-option
+                    v-for="item in rebateList"
+                    :key="item.walletRebateId"
+                    :label="item.name"
+                    :value="item.walletRebateId"
+                  />
+                </el-select>
+              </template>
+            </el-table-column>
             <el-table-column label="支付钱包" align="center">
               <template slot-scope="scope">
                 <el-select
@@ -429,6 +446,7 @@ import {
   getNoRebateWalletList,
   getPolicyDetail,
   getTypeList,
+  getWalletRebateList,
   savePolicy,
   updateCondition,
   updatePolicy
@@ -511,7 +529,8 @@ export default {
       sleectBox: { currentPage: 1 },
       dpageSize: 10,
       dcurrentPage: 1,
-      detail:{}
+      detail:{},
+      rebateList:[]
     }
   },
   computed: {
@@ -588,6 +607,15 @@ export default {
         this.NoRebateWalletList = res.data
         console.log(this.NoRebateWalletList, 'kkkk')
       })
+      getWalletRebateList({
+        pageNum: 1,
+        pageSize: -2,
+        name: '',
+        status: true
+      }).then(res => {
+        this.rebateList = res.data.records
+        console.log(this.rebateList, 'fanlie')
+      })
       const params = {
         pageNum: 1,
         pageSize: -1,
@@ -625,8 +653,20 @@ export default {
     },
     handleSalesType(e, row) {
       const item = this.typeList.filter((k) => {
-        return k.id == e
+        return k.id === e
       })[0]
+      const linshi = []
+      const rebateList = []
+      this.rebateList.forEach((k) => {
+        k.saleTypes.forEach((j) => {
+          if (!linshi.includes(j.saleTypeId) && j.saleTypeId == e) {
+            rebateList.push(k)
+          }
+        })
+      })
+      if (rebateList.length){
+        this.$set(row,'rebateWalletIds',[...new Set([...row.rebateWalletIds,rebateList[0].walletRebateId])])
+      }
       this.$set(row, 'saleTypeCode', item.saleCode)
       this.$set(row, 'saleTypeName', item.saleName)
       // this.$set(row,'saleTypeId',item.id)
@@ -757,19 +797,21 @@ export default {
         .then((result) => {
           result.data.records.forEach((k) => {
             k.walletIds = []
+            k.rebateWalletIds =[]
             if (!k.specification) {
               k.materialNumber = k.materialId
               k.specification = k.materialId
-            } else {
-              k.materialNumber = k.materialNumber
-              k.specification = k.specification
             }
 
-            k.materialId = k.materialId
+
             k.walletRelaList.forEach((l) => {
               l.id = l.walletId
               l.name = l.walletName
-              k.walletIds = [...k.walletIds, l.walletId]
+              if (l.type==='REBATE'){
+                k.rebateWalletIds = [...k.rebateWalletIds, l.walletId]
+              }else {
+                k.walletIds = [...k.walletIds, l.walletId]
+              }
             })
           })
           // this.dataList=[]

+ 6 - 0
src/views/supply/policy/policy_list.vue

@@ -139,6 +139,8 @@
             fit
             highlight-current-row
             stripe
+            show-summary
+            :summary-method="$getSummaries"
           >
             <!-- <el-table-column
               align="center"
@@ -604,6 +606,10 @@ export default {
         type: 2 // 1:普通零售单,2:政策零售单
       }
       getList(params).then((res) => {
+        res.data.records.forEach(item => {
+          item.sums1 = ['qty', 'directTransferQty', 'hasSendQty', 'refundableQty'];
+          item.sums2 = ['price', 'payAmount', 'rebateAmount', 'payRebateAmount', 'totalDiscAmount'];
+        })
         this.dataList = res.data.records
         this.listTotal = res.data.total
         this.listLoading = false