Browse Source

fix: 销售政策

zh 2 năm trước cách đây
mục cha
commit
1136101af3

+ 77 - 30
src/views/sales_policy/components/AddPolicy.vue

@@ -304,22 +304,42 @@
                     </el-tag>
                   </template>
                 </template>
-                <el-select
-                  v-else
-                  v-model="scope.row.rebateWalletIds"
-                  size="mini"
-                  multiple
-                  collapse-tags
-                  filterable
-                  @change="setText($event, scope.$index, scope.row, 'rebateWalletIds')"
-                >
-                  <el-option
-                    v-for="item in rebateList"
-                    :key="item.walletRebateId"
-                    :label="item.name"
-                    :value="item.walletRebateId"
-                  />
-                </el-select>
+                <template v-else>
+                  <el-select
+                    v-if="!priceList.length"
+                    v-model="scope.row.rebateWalletIds"
+                    size="mini"
+                    multiple
+                    collapse-tags
+                    filterable
+                    @change="setText($event, scope.$index, scope.row, 'rebateWalletIds')"
+                  >
+                    <el-option
+                      v-for="item in rebateList"
+                      :key="item.walletRebateId"
+                      :label="item.name"
+                      :value="item.walletRebateId"
+                    />
+                  </el-select>
+                  <el-select
+                    v-else
+                    v-model="scope.row.rebateWalletIds"
+                    size="mini"
+                    multiple
+                    collapse-tags
+                    filterable
+                    @change="setText($event, scope.$index, scope.row, 'rebateWalletIds')"
+                  >
+                    <el-option
+                      v-for="item in rebateList2"
+                      :key="item.walletRebateId"
+                      :label="item.name"
+                      :value="item.walletRebateId"
+                    />
+                  </el-select>
+                </template>
+
+                rebateList
               </template>
             </pl-table-column>
             <pl-table-column label="现金钱包" align="left" show-overflow-tooltip min-width="200">
@@ -331,18 +351,33 @@
                     </el-tag>
                   </template>
                 </template>
-                <el-select
-                  v-else
-                  v-model="scope.row.walletIds"
-                  size="mini"
-                  multiple
-                  collapse-tags
-                  filterable
-                  placeholder="请选择价格类型带出钱包"
-                  @change="setText($event, scope.$index, scope.row, 'walletIds')"
-                >
-                  <el-option v-for="item in NoRebateWalletList" :key="item.id" :label="item.name" :value="item.id" />
-                </el-select>
+                <template v-else>
+                  <el-select
+                    v-if="!priceList.length"
+                    v-model="scope.row.walletIds"
+                    size="mini"
+                    multiple
+                    collapse-tags
+                    filterable
+                    placeholder="请选择价格类型带出钱包"
+                    @change="setText($event, scope.$index, scope.row, 'walletIds')"
+                  >
+                    <el-option v-for="item in NoRebateWalletList" :key="item.id" :label="item.name" :value="item.id" />
+                  </el-select>
+                  <el-select
+                    v-else
+                    v-model="scope.row.walletIds"
+                    size="mini"
+                    multiple
+                    collapse-tags
+                    filterable
+                    placeholder="请选择价格类型带出钱包"
+                    @change="setText($event, scope.$index, scope.row, 'walletIds')"
+                  >
+                    <el-option v-for="item in NoRebateWalletList2" :key="item.id" :label="item.name" :value="item.id" />
+                  </el-select>
+                </template>
+
               </template>
             </pl-table-column>
             <pl-table-column prop="remark" label="备注" align="left" show-overflow-tooltip min-width="150">
@@ -581,11 +616,13 @@ export default {
       conditionList: [],
       dictList: [],
       k3List: [],
+      rebateList: [],
+      rebateList2: [],
       NoRebateWalletList: [],
+      NoRebateWalletList2: [],
       sleectBox: { currentPage: 1 },
       dpageSize: 10,
       dcurrentPage: 1,
-      rebateList: [],
       fullscreenLoading: false,
       priceList: []
     }
@@ -624,6 +661,14 @@ export default {
       if (e) {
         if (name === 'priceType') {
           const item = this.priceList.find(k => k.priceTypeId === e)
+          this.NoRebateWalletList2 = [{
+            id: item.walletId,
+            name: item.walletName
+          }]
+          this.rebateList2 = [{
+            walletRebateId: item.walletId2,
+            name: item.walletName2
+          }]
           this.dataList[index][name] = item.priceTypeName
           this.$set(row, 'walletIds', [])
 
@@ -637,6 +682,8 @@ export default {
         }
         this.dataList[index][name] = row[name]
       } else {
+        this.NoRebateWalletList2 = []
+        this.rebateList2 = []
         this.dataList[index][name] = ''
         this.$set(row, 'walletIds', [])
         this.$set(row, 'rebateWalletIds', [])
@@ -996,7 +1043,7 @@ export default {
           saleTypeName: '',
           specification: '',
           rebateWalletIds: [],
-          walletIds: [this.NoRebateWalletList[0].id],
+          walletIds: [],
           walletRelaList: []
         })
         this.sleectBox.currentPage = 1

+ 1 - 1
src/views/sales_policy/components/delayRecordForm.vue

@@ -21,7 +21,7 @@
       width="30%"
       :append-to-body="true"
       :close-on-click-modal="false"
-      :before-close="delayVisible = false"
+      :before-close="()=>delayVisible = false"
     >
       <el-date-picker
         v-model="delayTime"

+ 103 - 28
src/views/sales_policy/components/editPolicy.vue

@@ -306,22 +306,42 @@
                       </el-tag>
                     </template>
                   </template>
-                  <el-select
-                    v-else
-                    v-model="scope.row.rebateWalletIds"
-                    size="mini"
-                    multiple
-                    collapse-tags
-                    filterable
-                    @change="setText($event, scope.$index, scope.row, 'rebateWalletIds')"
-                  >
-                    <el-option
-                      v-for="item in rebateList"
-                      :key="item.walletRebateId"
-                      :label="item.name"
-                      :value="item.walletRebateId"
-                    />
-                  </el-select>
+                  <template v-else>
+                    <el-select
+                      v-if="!priceList.length"
+                      v-model="scope.row.rebateWalletIds"
+                      size="mini"
+                      multiple
+                      collapse-tags
+                      filterable
+                      @change="setText($event, scope.$index, scope.row, 'rebateWalletIds')"
+                    >
+                      <el-option
+                        v-for="item in rebateList"
+                        :key="item.walletRebateId"
+                        :label="item.name"
+                        :value="item.walletRebateId"
+                      />
+                    </el-select>
+                    <el-select
+                      v-else
+                      v-model="scope.row.rebateWalletIds"
+                      size="mini"
+                      multiple
+                      collapse-tags
+                      filterable
+                      @change="setText($event, scope.$index, scope.row, 'rebateWalletIds')"
+                    >
+                      <el-option
+                        v-for="item in rebateList2"
+                        :key="item.walletRebateId"
+                        :label="item.name"
+                        :value="item.walletRebateId"
+                      />
+                    </el-select>
+                  </template>
+
+                  rebateList
                 </template>
               </pl-table-column>
               <pl-table-column label="现金钱包" align="left" show-overflow-tooltip min-width="200">
@@ -333,17 +353,33 @@
                       </el-tag>
                     </template>
                   </template>
-                  <el-select
-                    v-else
-                    v-model="scope.row.walletIds"
-                    size="mini"
-                    multiple
-                    collapse-tags
-                    filterable
-                    @change="setText($event, scope.$index, scope.row, 'walletIds')"
-                  >
-                    <el-option v-for="item in NoRebateWalletList" :key="item.id" :label="item.name" :value="item.id" />
-                  </el-select>
+                  <template v-else>
+                    <el-select
+                      v-if="!priceList.length"
+                      v-model="scope.row.walletIds"
+                      size="mini"
+                      multiple
+                      collapse-tags
+                      filterable
+                      placeholder="请选择价格类型带出钱包"
+                      @change="setText($event, scope.$index, scope.row, 'walletIds')"
+                    >
+                      <el-option v-for="item in NoRebateWalletList" :key="item.id" :label="item.name" :value="item.id" />
+                    </el-select>
+                    <el-select
+                      v-else
+                      v-model="scope.row.walletIds"
+                      size="mini"
+                      multiple
+                      collapse-tags
+                      filterable
+                      placeholder="请选择价格类型带出钱包"
+                      @change="setText($event, scope.$index, scope.row, 'walletIds')"
+                    >
+                      <el-option v-for="item in NoRebateWalletList2" :key="item.id" :label="item.name" :value="item.id" />
+                    </el-select>
+                  </template>
+
                 </template>
               </pl-table-column>
               <pl-table-column prop="remark" label="备注" align="left" show-overflow-tooltip min-width="150">
@@ -625,12 +661,14 @@ export default {
       conditionList: [],
       dictList: [],
       k3List: [],
+      rebateList: [],
+      rebateList2: [],
       NoRebateWalletList: [],
+      NoRebateWalletList2: [],
       sleectBox: { currentPage: 1 },
       dpageSize: 10,
       dcurrentPage: 1,
       detail: {},
-      rebateList: [],
       cid: '',
       cpolicyId: '',
       region: 0,
@@ -656,6 +694,33 @@ export default {
     },
     handleEdit(row) {
       row.fang = !row.fang
+      if (row.saleTypeCode) {
+        getPriceSalesRelaListV2({
+          pageNum: 1,
+          pageSize: -1,
+          params: [
+            {
+              'param': 'b.sale_code',
+              'compare': 'like',
+              'value': row.saleTypeCode
+            }
+          ]
+        }).then(res => {
+          this.priceList = res.data.records
+          const item = this.priceList.find(k => k.priceTypeName === row.priceType)
+          if (item) {
+            this.NoRebateWalletList2 = [{
+              id: item.walletId,
+              name: item.walletName
+            }]
+            this.rebateList2 = [{
+              walletRebateId: item.walletId2,
+              name: item.walletName2
+            }]
+          }
+        })
+      }
+
       this.$nextTick(() => {
         this.$refs.plTable.doLayout()
       })
@@ -664,6 +729,14 @@ export default {
       if (e) {
         if (name === 'priceType') {
           const item = this.priceList.find(k => k.priceTypeId === e)
+          this.NoRebateWalletList2 = [{
+            id: item.walletId,
+            name: item.walletName
+          }]
+          this.rebateList2 = [{
+            walletRebateId: item.walletId2,
+            name: item.walletName2
+          }]
           this.dataList[index][name] = item.priceTypeName
           this.$set(row, 'walletIds', [])
           if (item.walletId) {
@@ -676,6 +749,8 @@ export default {
         }
         this.dataList[index][name] = row[name]
       } else {
+        this.NoRebateWalletList2 = []
+        this.rebateList2 = []
         this.dataList[index][name] = ''
         this.$set(row, 'walletIds', [])
         this.$set(row, 'rebateWalletIds', [])