Просмотр исходного кода

商品管理新增设置领域提成、调整订货业务订货订单

qymljy 2 лет назад
Родитель
Сommit
3734d19d60

+ 4 - 1
src/HDrpManagement/ProductMag/index.vue

@@ -27,6 +27,7 @@
         <counter_examine v-if="tool.checkAuth($route.name,'reverseReview')" class="inline-16" :rowData="rowData" @examineSuccess="onSuccess" :disabled="rowData.length === 0"></counter_examine>
         <priceLevelSetting class="inline-16" v-if="tool.checkAuth($route.name,'priceSet')" ></priceLevelSetting>
         <commissionSchemeSet class="inline-16" v-if="tool.checkAuth($route.name,'commissionSchemeSet') && siteid === 'HY'"></commissionSchemeSet>
+        <setFieldCommission class="inline-16" v-if="tool.checkAuth($route.name,'fieldCommissionSet')"></setFieldCommission>
         <el-button class="inline-16" size="small" v-if="tool.checkAuth($route.name,'refreshStock')" type="primary" @click="refreshStock">刷新库存</el-button>
         <importFile
           v-if="tool.checkAuth($route.name,'export')"
@@ -197,6 +198,7 @@ import importFile from './modules/importFile.vue'
 import importImage from './modules/importImage.vue'
 import importInfo from './modules/importInfo.vue'
 import commissionSchemeSet from "@/HDrpManagement/ProductMag/modules/components/commissionSchemeSet";
+import setFieldCommission from './modules/components/setFieldCommission'
 import { Loading } from 'element-ui';
 
 export default {
@@ -250,7 +252,8 @@ export default {
     importInfo,
     batchUp,
     batchDown,
-    commissionSchemeSet
+    commissionSchemeSet,
+    setFieldCommission
   },
   methods:{
     async isOnSaleChange(val){

+ 188 - 0
src/HDrpManagement/ProductMag/modules/components/addField.vue

@@ -0,0 +1,188 @@
+<template>
+  <div>
+    <el-button size="small" type="primary" @click="onAdd(dialogVisible = true)">新建领域提成</el-button>
+    <el-drawer
+        title="新建领域提成"
+        :visible.sync="dialogVisible"
+        size="900px"
+        direction="rtl"
+        append-to-body
+        @close="onClose">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
+            <el-col :span="12">
+              <el-form-item label="领域" prop="value">
+                <el-select v-model="form.value" style="width:100%">
+                  <el-option v-for="item in fieldList" :key="item.index" :value="item.value" :label="item.remarks"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="产品售价折扣区间及其提成类型:" prop="valuereward" label-width="245px">
+                <span style="color:#c0c4cc;">(上限值、下限值表示为牌价的折扣值)</span>
+                <el-button size="small" type="success" style="float: right" @click="delRow" :disabled="list.length === 0">删除末行</el-button>
+                <el-button size="small" type="primary" style="float: right" class="inline-16" @click="addRow">添加行</el-button>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <tableLayout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :height="'600px'">
+                <template v-slot:customcol="scope">
+                  <div v-if="scope.column.columnname === 'rewardstart'">
+                    <el-input v-model="scope.column.data.rewardstart" placeholder="请填写" type="number" ></el-input>
+                  </div>
+                  <div v-else-if="scope.column.columnname === 'includerewardstart'">
+                    <el-select v-model="scope.column.data.includerewardstart" placeholder="请选择">
+                      <el-option label="是" value="1"></el-option>
+                      <el-option label="否" value="0"></el-option>
+                    </el-select>
+                  </div>
+                  <div v-else-if="scope.column.columnname === 'rewardend'">
+                    <el-input v-model="scope.column.data.rewardend" placeholder="请填写" type="number"></el-input>
+                  </div>
+                  <div v-else-if="scope.column.columnname === 'includerewardend'">
+                    <el-select v-model="scope.column.data.includerewardend" placeholder="请选择">
+                      <el-option label="是" value="1"></el-option>
+                      <el-option label="否" value="0"></el-option>
+                    </el-select>
+                  </div>
+                  <div v-else-if="scope.column.columnname === 'rewardtype'">
+                    <el-select v-model="scope.column.data.rewardtype">
+                      <el-option v-for="item in rewardList" :key="item.index" :value="item.value" :label="item.remarks"></el-option>
+                    </el-select>
+                  </div>
+                  <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
+                </template>
+              </tableLayout>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" :loading="loading" @click="onSubmit" class="normal-btn-width">确定保存</el-button>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "addField",
+  data(){
+    return {
+      dialogVisible:false,
+      form:{
+        "action": "1",//1 新增 0 更新
+        "type":'领域',
+        "value": "",//领域
+        "valuereward": []
+      },
+      rules:{
+        value:[
+          { required: true, message: '未选择领域', trigger: 'change'},
+        ],
+        valuereward:[
+          { required: true, message: '未设置产品售价折扣区间及其提成类型', trigger: 'change'},
+        ],
+      },
+      fieldList:[],
+      tablecols:[],
+      rewardList:[],
+      list:[],
+      loading:false,
+      errorMessage:""
+    }
+  },
+  methods:{
+    onAdd(){
+      this.getFieldList()
+      this.getRewardList()
+    },
+    addRow(){
+      this.list.push(
+          {
+            "rewardstart": "",
+            "rewardend": "",
+            "includerewardstart": "0",
+            "includerewardend": "0",
+            "rewardtype":'',
+            "rowindex":this.list.length + 1
+          }
+      )
+    },
+    delRow(){
+      this.list.pop()
+    },
+    /*获取可选领域*/
+    async getFieldList () {
+      const res = await this.$store.dispatch('optiontypeselect','tradefield')
+      this.fieldList = res.data
+    },
+    /*获取可选提成类型*/
+    async getRewardList() {
+      const res = await this.$store.dispatch('optiontypeselect','rewardtype')
+      this.rewardList = res.data
+    },
+    validateInput(value1,value2){
+      if (value1 && value2 !== ''){
+        if (value1 > value2){
+          this.errorMessage = '不合法'
+          return false
+        }
+      }
+
+    },
+    onSubmit(){
+      this.form.valuereward = this.list
+      this.$refs.form.validate(async (valid)=>{
+        if (!valid) return false
+        this.form.action = '1'
+        this.form.valuereward.forEach(item=>{
+          item.rewardstart = item.rewardstart?(item.rewardstart/100).toFixed(4):''
+          item.rewardend = item.rewardend?(item.rewardend/100).toFixed(4):''
+        })
+        const res = await this.$api.requested({
+          "id": 20240311150704,
+          "content":this.form
+        })
+        if (res.code === 0){
+          this.form.valuereward.forEach(item=>{
+            item.rewardstart = item.rewardstart?Math.round((item.rewardstart*100)*100)/100:''
+            item.rewardend = item.rewardend?Math.round((item.rewardend*100)*100)/100:''
+          })
+        }
+        this.tool.showMessage(res,()=>{
+          this.form = {
+            "action": "1",//0 新增 1 更新
+            "type":'领域',
+            "value": "",//商品大类
+            "valuereward": []
+          }
+          this.list = []
+          this.dialogVisible = false
+          this.$emit('addSuccess')
+        })
+      })
+    },
+    onClose(){
+      this.form = {
+        "action": "0",//0 新增 1 更新
+        "type":'领域',
+        "value": "",//领域
+        "valuereward": []
+      }
+      this.list = []
+      this.dialogVisible = false
+      this.$emit('addSuccess')
+    }
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).fieldCommissionSet.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 17 - 14
src/HDrpManagement/ProductMag/modules/components/addScheme.vue

@@ -12,14 +12,14 @@
         <el-row :gutter="20">
           <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
             <el-col :span="12">
-              <el-form-item label="商品大类" prop="categories">
-                <el-select v-model="form.categories" style="width:100%">
+              <el-form-item label="商品大类" prop="value">
+                <el-select v-model="form.value" style="width:100%">
                   <el-option v-for="item in categoriesList" :key="item.index" :value="item.value" :label="item.remarks"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="产品售价折扣区间及其提成比例:" prop="categoriesreward" label-width="245px">
+              <el-form-item label="产品售价折扣区间及其提成比例:" prop="valuereward" label-width="245px">
                 <span style="color:#c0c4cc;">(上限值、下限值表示为牌价的折扣值)</span>
                 <el-button size="small" type="success" style="float: right" @click="delRow" :disabled="list.length === 0">删除末行</el-button>
                 <el-button size="small" type="primary" style="float: right" class="inline-16" @click="addRow">添加行</el-button>
@@ -72,14 +72,15 @@ export default {
       dialogVisible:false,
       form:{
         "action": "1",//1 新增 0 更新
-        "categories": "",//商品大类
-        "categoriesreward": []
+        "type":'商品大类',
+        "value": "",//商品大类
+        "valuereward": []
       },
       rules:{
-        categories:[
+        value:[
           { required: true, message: '未选择商品大类', trigger: 'change'},
         ],
-        categoriesreward:[
+        valuereward:[
           { required: true, message: '未设置产品售价折扣区间及其提成比例', trigger: 'change'},
         ],
       },
@@ -124,11 +125,11 @@ export default {
 
     },
     onSubmit(){
-      this.form.categoriesreward = this.list
+      this.form.valuereward = this.list
       this.$refs.form.validate(async (valid)=>{
         if (!valid) return false
         this.form.action = '1'
-        this.form.categoriesreward.forEach(item=>{
+        this.form.valuereward.forEach(item=>{
           item.rewardstart = item.rewardstart?(item.rewardstart/100).toFixed(4):''
           item.rewardend = item.rewardend?(item.rewardend/100).toFixed(4):''
           item.reward_rate = item.reward_rate?(item.reward_rate/100).toFixed(4):0
@@ -138,7 +139,7 @@ export default {
           "content":this.form
         })
         if (res.code === 0){
-          this.form.categoriesreward.forEach(item=>{
+          this.form.valuereward.forEach(item=>{
             item.rewardstart = item.rewardstart?Math.round((item.rewardstart*100)*100)/100:''
             item.rewardend = item.rewardend?Math.round((item.rewardend*100)*100)/100:''
             item.reward_rate = item.reward_rate?Math.round((item.reward_rate*100)*100)/100:0
@@ -147,8 +148,9 @@ export default {
         this.tool.showMessage(res,()=>{
           this.form = {
             "action": "1",//0 新增 1 更新
-            "categories": "",//商品大类
-            "categoriesreward": []
+            "type":'商品大类',
+            "value": "",//商品大类
+            "valuereward": []
           }
           this.list = []
           this.dialogVisible = false
@@ -159,8 +161,9 @@ export default {
     onClose(){
       this.form = {
         "action": "0",//0 新增 1 更新
-        "categories": "",//商品大类
-        "categoriesreward": []
+        "type":'商品大类',
+        "value": "",//商品大类
+        "valuereward": []
       }
       this.list = []
       this.dialogVisible = false

+ 4 - 2
src/HDrpManagement/ProductMag/modules/components/commissionSchemeSet.vue

@@ -37,10 +37,11 @@ export default {
       list:[],
       total:0,
       currentPage:0,
-      mergeArr: ['categories', 'remarks', 'changeby', 'changedate', 'operation'],
+      mergeArr: ['value', 'remarks', 'changeby', 'changedate', 'operation'],
       param:{
         "id": "20240311150804",
         "content": {
+          "type":'商品大类',
         }
       }
     }
@@ -60,7 +61,8 @@ export default {
         const res = await this.$api.requested({
           "id": 20240313133204,
           "content": {
-            "categories": row.categories
+            "value": row.value,
+            "type":'商品大类',
           }
         })
         this.tool.showMessage(res,()=>{

+ 201 - 0
src/HDrpManagement/ProductMag/modules/components/editField.vue

@@ -0,0 +1,201 @@
+<template>
+  <div>
+    <el-button size="mini" type="text" @click="onEdit(dialogVisible = true)">编 辑</el-button>
+    <el-drawer
+        title="编辑领域提成"
+        :visible.sync="dialogVisible"
+        size="900px"
+        direction="rtl"
+        append-to-body
+        @close="onClose">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
+            <el-col :span="12">
+              <el-form-item label="领域" prop="value">
+                <el-select v-model="form.value" style="width:100%">
+                  <el-option v-for="item in categoriesList" :key="item.index" :value="item.tag" :label="item.tag"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="产品售价折扣区间及其提成比例:" prop="valuereward" label-width="245px">
+                <span style="color:#c0c4cc;">(上限值、下限值表示为牌价的折扣值)</span>
+                <el-button size="small" type="success" style="float: right" @click="delRow" :disabled="list.length === 0">删除末行</el-button>
+                <el-button size="small" type="primary" style="float: right" class="inline-16" @click="addRow">添加行</el-button>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <tableLayout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :height="'600px'">
+                <template v-slot:customcol="scope">
+                  <div v-if="scope.column.columnname === 'rewardstart'">
+                    <el-input v-model="scope.column.data.rewardstart" placeholder="请填写" type="number"></el-input>
+                  </div>
+                  <div v-else-if="scope.column.columnname === 'includerewardstart'">
+                    <el-select v-model="scope.column.data.includerewardstart" placeholder="请选择">
+                      <el-option label="是" value="1"></el-option>
+                      <el-option label="否" value="0"></el-option>
+                    </el-select>
+                  </div>
+                  <div v-else-if="scope.column.columnname === 'rewardend'">
+                    <el-input v-model="scope.column.data.rewardend" placeholder="请填写" type="number"></el-input>
+                  </div>
+                  <div v-else-if="scope.column.columnname === 'includerewardend'">
+                    <el-select v-model="scope.column.data.includerewardend" placeholder="请选择">
+                      <el-option label="是" value="1"></el-option>
+                      <el-option label="否" value="0"></el-option>
+                    </el-select>
+                  </div>
+                  <div v-else-if="scope.column.columnname === 'rewardtype'">
+                    <el-select v-model="scope.column.data.rewardtype">
+                      <el-option v-for="item in rewardList" :key="item.index" :value="item.value" :label="item.remarks"></el-option>
+                    </el-select>
+                  </div>
+                  <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
+                </template>
+              </tableLayout>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" :loading="loading" @click="onSubmit" class="normal-btn-width">确定保存</el-button>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "editField",
+  props:['data'],
+  data(){
+    return {
+      dialogVisible:false,
+      form:{
+        "action": "0",//1 新增 0 更新
+        "type":'领域',
+        "value": "",//领域
+        "valuereward": []
+      },
+      rules:{
+        value:[
+          { required: true, message: '未选择领域', trigger: 'change'},
+        ],
+        valuereward:[
+          { required: true, message: '未设置产品售价折扣区间及其提成类型', trigger: 'change'},
+        ],
+      },
+      categoriesList:[],
+      rewardList:[],
+      tablecols:[],
+      list:[],
+      loading:false
+    }
+  },
+  methods:{
+    onEdit(){
+      this.getFieldList()
+      this.getRewardList()
+      this.listData()
+    },
+    async listData(){
+      const res = await this.$api.requested({
+        "id": "20240313164004",
+        "content": {
+          "type":'领域',
+          "value": this.data.value
+        }
+      })
+      console.log(res.data)
+      this.form = Object.assign({},this.form,this.data)
+      this.list = res.data
+      this.list.forEach(item=>{
+        item.includerewardstart = item.includerewardstart == '0'?'0':'1'
+        item.includerewardend = item.includerewardend == '0'?'0':'1'
+        item.rewardstart = item.rewardstart?Math.round((item.rewardstart * 100)*100)/100:''
+        item.rewardend = item.rewardend?Math.round((item.rewardend * 100)*100)/100:''
+        item.rewardtype = item.rewardtype?item.rewardtype:''
+      })
+    },
+    addRow(){
+      this.list.push(
+          {
+            "rewardstart": "",
+            "rewardend": "",
+            "includerewardstart": "0",
+            "includerewardend": "0",
+            "rewardtype":'',
+            "rowindex":this.list.length + 1
+          }
+      )
+      console.log(this.list,'listData')
+    },
+    delRow(){
+      this.list.pop()
+    },
+    /*获取可选领域*/
+    async getFieldList () {
+      const res = await this.$store.dispatch('optiontypeselect','tradefield')
+      this.fieldList = res.data
+    },
+    /*获取可选提成类型*/
+    async getRewardList() {
+      const res = await this.$store.dispatch('optiontypeselect','rewardtype')
+      this.rewardList = res.data
+    },
+    onSubmit(){
+      this.form.valuereward = this.list
+      this.$refs.form.validate(async (valid)=>{
+        if (!valid) return false
+        this.form.action = 0
+        this.form.valuereward.forEach(item=>{
+          item.rewardstart = item.rewardstart?(item.rewardstart/100).toFixed(4):''
+          item.rewardend = item.rewardend?(item.rewardend/100).toFixed(4):''
+        })
+        console.log(this.form,'formData')
+        const res = await this.$api.requested({
+          "id": 20240311150704,
+          "content":this.form
+        })
+        if (res.code === 0){
+          this.form.valuereward.forEach(item=>{
+            item.rewardstart = item.rewardstart?Math.round((item.rewardstart*100)*100)/100:''
+            item.rewardend = item.rewardend?Math.round((item.rewardend*100)*100)/100:''
+          })
+        }
+        this.tool.showMessage(res,()=>{
+          this.form = {
+            "action": "1",//0 新增 1 更新
+            "type":'领域',
+            "value": "",//领域
+            "valuereward": []
+          }
+          this.list = []
+          this.dialogVisible = false
+          this.$emit('editSuccess')
+        })
+      })
+    },
+    onClose(){
+      this.form = {
+        "action": "1",//0 新增 1 更新
+        "type":'领域',
+        "value": "",//领域
+        "valuereward": []
+      }
+      this.list = []
+      this.dialogVisible = false
+      this.$emit('editSuccess')
+    }
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).fieldCommissionSet.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 21 - 25
src/HDrpManagement/ProductMag/modules/components/editScheme.vue

@@ -12,14 +12,14 @@
         <el-row :gutter="20">
           <el-form :model="form" :rules="rules" ref="form" label-width="90px" label-position="right" size="mini">
             <el-col :span="12">
-              <el-form-item label="商品大类" prop="categories">
-                <el-select v-model="form.categories" style="width:100%">
-                  <el-option v-for="item in categoriesList" :key="item.index" :value="item.tag" :label="item.tag"></el-option>
+              <el-form-item label="商品大类" prop="value">
+                <el-select v-model="form.value" style="width:100%">
+                  <el-option v-for="item in categoriesList" :key="item.index" :value="item.value" :label="item.remarks"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="24">
-              <el-form-item label="产品售价折扣区间及其提成比例:" prop="categoriesreward" label-width="245px">
+              <el-form-item label="产品售价折扣区间及其提成比例:" prop="valuereward" label-width="245px">
                 <span style="color:#c0c4cc;">(上限值、下限值表示为牌价的折扣值)</span>
                 <el-button size="small" type="success" style="float: right" @click="delRow" :disabled="list.length === 0">删除末行</el-button>
                 <el-button size="small" type="primary" style="float: right" class="inline-16" @click="addRow">添加行</el-button>
@@ -73,14 +73,15 @@ export default {
       dialogVisible:false,
       form:{
         "action": "0",//1 新增 0 更新
-        "categories": "",//商品大类
-        "categoriesreward": []
+        "type":'商品大类',
+        "value": "",//商品大类
+        "valuereward": []
       },
       rules:{
-        categories:[
+        value:[
           { required: true, message: '未选择商品大类', trigger: 'change'},
         ],
-        categoriesreward:[
+        valuereward:[
           { required: true, message: '未设置产品售价折扣区间及其提成比例', trigger: 'change'},
         ],
       },
@@ -99,7 +100,8 @@ export default {
       const res = await this.$api.requested({
         "id": "20240313164004",
         "content": {
-          "categories": this.data.categories
+          "type":'商品大类',
+          "value": this.data.value
         }
       })
       console.log(res.data)
@@ -131,23 +133,15 @@ export default {
     },
     /*获取可选商品大类*/
     async getCategoriesList () {
-      let res = await this.$api.requested({
-        "id": 20221013104401,
-        "content": {
-          "isExport":1,
-          "pageNumber":1,
-          "pageSize":100,
-          "sys_systemtagid":22,
-        }
-      })
+      const res = await this.$store.dispatch('optiontypeselect','categories')
       this.categoriesList = res.data
     },
     onSubmit(){
-      this.form.categoriesreward = this.list
+      this.form.valuereward = this.list
       this.$refs.form.validate(async (valid)=>{
         if (!valid) return false
         this.form.action = 0
-        this.form.categoriesreward.forEach(item=>{
+        this.form.valuereward.forEach(item=>{
           item.rewardstart = item.rewardstart?(item.rewardstart/100).toFixed(4):''
           item.rewardend = item.rewardend?(item.rewardend/100).toFixed(4):''
           item.reward_rate = item.reward_rate?(item.reward_rate/100).toFixed(4):0
@@ -158,7 +152,7 @@ export default {
           "content":this.form
         })
         if (res.code === 0){
-          this.form.categoriesreward.forEach(item=>{
+          this.form.valuereward.forEach(item=>{
             item.rewardstart = item.rewardstart?Math.round((item.rewardstart*100)*100)/100:''
             item.rewardend = item.rewardend?Math.round((item.rewardend*100)*100)/100:''
             item.reward_rate = item.reward_rate?Math.round((item.reward_rate*100)*100)/100:0
@@ -167,8 +161,9 @@ export default {
         this.tool.showMessage(res,()=>{
           this.form = {
             "action": "1",//0 新增 1 更新
-            "categories": "",//商品大类
-            "categoriesreward": []
+            "type":'商品大类',
+            "value": "",//商品大类
+            "valuereward": []
           }
           this.list = []
           this.dialogVisible = false
@@ -179,8 +174,9 @@ export default {
     onClose(){
       this.form = {
         "action": "1",//0 新增 1 更新
-        "categories": "",//商品大类
-        "categoriesreward": []
+        "type":'商品大类',
+        "value": "",//商品大类
+        "valuereward": []
       }
       this.list = []
       this.dialogVisible = false

+ 92 - 0
src/HDrpManagement/ProductMag/modules/components/setFieldCommission.vue

@@ -0,0 +1,92 @@
+<template>
+  <div>
+    <el-button size="small" type="primary" @click="dialogVisible = true;listData()">设置领域提成</el-button>
+    <el-drawer
+        title="领域提成"
+        :visible.sync="dialogVisible"
+        size="70%"
+        direction="rtl"
+        append-to-body
+        @close="onClose">
+      <div class="drawer__panel" style="margin-bottom: 0 !important;">
+        <addField @addSuccess="listData"></addField>
+        <tableMerge ref="tableMerge" style="margin-top: 20px" :layout="tablecols" :data="list" :opwidth="200" :custom="true"  :height="'calc(100vh - 140px)'" :mergeArr="mergeArr" fixedName="operation">
+          <template v-slot:customcol="scope">
+            <p >{{scope.column.data[scope.column.columnname]}}</p>
+          </template>
+          <template v-slot:opreation="scope">
+            <editField :data="scope.data" class="inline-16" @editSuccess="listData"></editField>
+            <el-button size="mini" type="text" @click="onDel(scope.data)">删 除</el-button>
+          </template>
+        </tableMerge>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import addField from './addField'
+import tableMerge from '@/components/dynamic-table-merge/index'
+import editField from './editField'
+export default {
+  name: "setFieldCommission",
+  data(){
+    return {
+      dialogVisible:false,
+      tablecols:[],
+      list:[],
+      total:0,
+      currentPage:0,
+      mergeArr: ['value', 'remarks','rewardtype', 'changeby', 'changedate', 'operation'],
+      param:{
+        "id": "20240311150804",
+        "content": {
+          "type":'领域'
+        }
+      }
+    }
+  },
+  components:{addField,tableMerge,editField},
+  methods:{
+    async listData(){
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+    },
+    onDel(row){
+      this.$confirm('此操作将永久删除该方案, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(async () => {
+        const res = await this.$api.requested({
+          "id": 20240313133204,
+          "content": {
+            "value": row.value,
+            "type":'领域'
+          }
+        })
+        this.tool.showMessage(res,()=>{
+          this.listData()
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });
+      });
+    },
+    onClose(){
+
+    }
+  },
+  mounted() {
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).fieldCommissionTable.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 13 - 6
src/SDrpManagement/agentOrder/details/index.vue

@@ -10,7 +10,7 @@
         ownertable="sa_order"
         tags=""
         :statusCheck="[{key:'status',value:'审核'},{key:'status',value:'提交'},{key:'status',value:'关闭'}]"
-        :tabs="['订单明细','基本信息','订单进度','居间费明细','物流单','发票记录','收支明细']"
+        :tabs="['订单明细','基本信息','订单进度','物流单','发票记录','收支明细']"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)">
         <div slot="customOperation" class="inline-16">
@@ -77,9 +77,11 @@
             </div>
           </div>
         </template>
+      <!--  基本信息    -->
       <div slot="slot1">
         <default-info :mainData="mainData"></default-info>
       </div>
+      <!--  订单明细    -->
       <div slot="slot0">
         <product-list :data="mainData" ref="prod" @qtyChange="queryMainData" @onSuccess="queryMainData">
           <div slot="operation">
@@ -87,22 +89,27 @@
           </div>
         </product-list>
       </div>
+      <!--   订单进度   -->
       <div slot="slot2">
         <orderprogress></orderprogress>
       </div>
-      <div slot="slot3">
+      <!--   居间费明细   -->
+<!--      <div slot="slot3">
         <rebat></rebat>
-      </div>
+      </div>-->
       <!-- <div slot="slot4">
         <dispatch></dispatch>
       </div> -->
-      <div slot="slot4">
+      <!--   物流单   -->
+      <div slot="slot3">
         <logistics></logistics>
       </div>
-      <div slot="slot5">
+      <!--   发票记录   -->
+      <div slot="slot4">
         <invoiceTable></invoiceTable>
       </div>
-      <div slot="slot6">
+      <!--   收支明细   -->
+      <div slot="slot5">
         <revenue :data="mainData"></revenue>
       </div>
     </basicDetails>

+ 15 - 7
src/SDrpManagement/salerOrder/details/index.vue

@@ -10,7 +10,7 @@
         ownertable="sa_order"
         tags=""
         :statusCheck="[{key:'status',value:'审核'},{key:'status',value:'提交'},{key:'status',value:'关闭'}]"
-        :tabs="['订单明细','基本信息','订单进度','居间费明细','物流单','发票记录','收支明细','核销记录']"
+        :tabs="['订单明细','基本信息','订单进度','物流单','发票记录','收支明细','核销记录']"
         @pageChange="pageChange"
         @onEditSuccess="queryMainData($route.query.id)">
         <div slot="customOperation" class="inline-16">
@@ -77,9 +77,11 @@
             </div>
           </div>
         </template>
+      <!--   基本信息   -->
       <div slot="slot1">
         <default-info :mainData="mainData"></default-info>
       </div>
+      <!--  订单明细    -->
       <div slot="slot0">
         <product-list :data="mainData" @onSuccess="queryMainData($route.query.id)" ref="prod">
           <div slot="operation">
@@ -87,25 +89,31 @@
           </div>
         </product-list>
       </div>
+      <!--   订单进度   -->
       <div slot="slot2">
         <orderprogress ref="prod"></orderprogress>
       </div>
-      <div slot="slot3">
+      <!--  居间费明细    -->
+<!--      <div slot="slot3">
         <rebat></rebat>
-      </div>
+      </div>-->
       <!-- <div slot="slot4">
         <dispatch></dispatch>
       </div> -->
-      <div slot="slot4">
+      <!--   物流单   -->
+      <div slot="slot3">
         <logistics></logistics>
       </div>
-      <div slot="slot5">
+      <!--   发票记录   -->
+      <div slot="slot4">
         <invoiceTable></invoiceTable>
       </div>
-      <div slot="slot6">
+      <!--   收支明细   -->
+      <div slot="slot5">
         <revenue :data="mainData"></revenue>
       </div>
-      <div slot="slot7">
+      <!--   核销记录   -->
+      <div slot="slot6">
         <writeOff :data="mainData"></writeOff>
       </div>
     </basicDetails>

+ 14 - 5
src/components/dynamic-table-merge/index.vue

@@ -68,8 +68,18 @@ export default {
           } else {
             // 判断当前行是否与上一行其值相等 如果相等 在 count 记录的位置其值 +1 表示当前行需要合并 并push 一个 0 作为占位
             if(item[key] === data[index - 1][key]) {
-              this.mergeObj[key][count] += 1;
-              this.mergeObj[key].push(0);
+              if (key === 'rewardtype'){
+                if (item.value === data[index - 1].value){
+                  this.mergeObj[key][count] += 1;
+                  this.mergeObj[key].push(0);
+                }else {
+                  count = index; // 记录当前位置
+                  this.mergeObj[key].push(1); // 重新push 一个 1
+                }
+              }else {
+                this.mergeObj[key][count] += 1;
+                this.mergeObj[key].push(0);
+              }
             } else {
               // 如果当前行和上一行其值不相等
               count = index; // 记录当前位置
@@ -81,8 +91,8 @@ export default {
     },
     // 默认接受四个值 { 当前行的值, 当前列的值, 行的下标, 列的下标 }
     objectSpanMethod({ row, column, rowIndex, columnIndex }) {
-      this.mergeObj.changeby = this.mergeObj.categories
-      this.mergeObj.operation = this.mergeObj.categories
+      this.mergeObj.changeby = this.mergeObj.value
+      this.mergeObj.operation = this.mergeObj.value
       // 判断列的属性
       if(this.mergeArr.indexOf(column.property) !== -1) {
         // 判断其值是不是为0
@@ -97,7 +107,6 @@ export default {
   },
   watch:{
     'data':function (val) {
-      console.log(val,'数据')
       this.getSpanArr(val)
     }
   },