qymljy 1 year ago
parent
commit
edb00fa0a7

+ 0 - 1
src/Form/payvoucher/add.vue

@@ -159,7 +159,6 @@ export default {
     /*经销商列表*/
     onEnterprise(data){
       this.visibleEnterprise = false
-      console.log("企业信息",data)
       this.form.sys_enterpriseid = data.sys_enterpriseid
       this.form.enterprisename = data.enterprisename
 

+ 21 - 11
src/HDrpManagement/ProductMag/detail/index.vue

@@ -17,7 +17,7 @@
       </div>
       <div slot="customOperation" >
         <Edit class="inline-16" :data="mainData" @onSuccess="queryMainData" v-if="tool.checkAuth($route.name,'update') && mainData.status == '新建'"/>
-        <customBtn 
+        <customBtn
           btnName="审核"
           message="确认审核当前商品吗?"
           idName="20220923153902"
@@ -28,7 +28,7 @@
           class="inline-16"
           v-if="tool.checkAuth($route.name,'toExamine') && mainData.status == '新建'"
         />
-        <customBtn 
+        <customBtn
           btnName="反审"
           message="确认反审当前商品吗?"
           idName="20220923153902"
@@ -39,7 +39,7 @@
           class="inline-16"
           v-if="tool.checkAuth($route.name,'toExamine') && mainData.status == '审核'"
         />
-        <customBtn 
+        <customBtn
           btnName="上架"
           message="确认上架当前商品吗?"
           idName="20220923154802"
@@ -50,7 +50,7 @@
           class="inline-16"
           v-if="tool.checkAuth($route.name,'isTop') && mainData.isonsale == 0 && mainData.status == '审核'"
         />
-        <customBtn 
+        <customBtn
           btnName="下架"
           message="确认下架当前商品吗?"
           idName="20220923154802"
@@ -61,7 +61,7 @@
           class="inline-16"
           v-if="tool.checkAuth($route.name,'isBottom') && mainData.isonsale == 1"
         />
-        <customBtn 
+        <customBtn
           btnName="删 除"
           message="确认删除当前商品吗?"
           idName="20220923152202"
@@ -81,12 +81,12 @@
             <addClass v-if="tool.checkAuth($route.name,'salerClass') && mainData.status === '新建'" :data="scope.data" @onSuccess="$refs.saleClass.listData();queryMainData($route.query.id)"/>
           </template>
           <template v-slot:delProduct="scope">
-            <delete-btn 
-              v-if="tool.checkAuth($route.name,'salerClass')" 
-              :nameId="20230214111502" 
-              nameKey="sa_itemsaleclassids" 
+            <delete-btn
+              v-if="tool.checkAuth($route.name,'salerClass')"
+              :nameId="20230214111502"
+              nameKey="sa_itemsaleclassids"
               message="确定删除当前分类吗?"
-              :id="scope.data.sa_itemsaleclassid" 
+              :id="scope.data.sa_itemsaleclassid"
               @deleteSuccess="$refs.saleClass.listData()"></delete-btn>
           </template>
         </saleClass>
@@ -124,6 +124,7 @@ export default {
   components:{detail_data,saleClass,productPrice,addClass,Edit,productGroup,productInfo},
   methods: {
     async queryMainData(id) {
+      console.log("执行了没有")
       const res = await this.$api.requested({
         "id": 20220923155302,
         "content": {
@@ -132,6 +133,7 @@ export default {
       })
       this.mainData = res.data
       this.changeDataStructure()
+      this.$refs.details.$refs.tag.queryTag()
       console.log(this.mainData)
     },
     // 监听切换数据,上一页,下一页
@@ -236,6 +238,14 @@ export default {
         },
       ]
     },
+    editSuccess(){
+      this.queryMainData(this.$route.query.id)
+      this.queryTag()
+    },
+    queryTag(){
+      console.log('执行查询')
+      this.$refs.details.$refs.tag.queryTag()
+    }
   },
   mounted() {
     this.queryMainData(this.$route.query.id)
@@ -245,4 +255,4 @@ export default {
 
 <style scoped>
 
-</style>
+</style>

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

@@ -26,6 +26,7 @@
         <to_examine v-if="tool.checkAuth($route.name,'toExamine')" class="inline-16"  :rowData="rowData" @examineSuccess="onSuccess" :disabled="rowData.length === 0"></to_examine>
         <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')"></commissionSchemeSet>
         <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')"
@@ -195,6 +196,7 @@ import priceLevelSetting from './modules/priceLevelSetting'
 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 { Loading } from 'element-ui';
 
 export default {
@@ -246,7 +248,8 @@ export default {
     importImage,
     importInfo,
     batchUp,
-    batchDown
+    batchDown,
+    commissionSchemeSet
   },
   methods:{
     async isOnSaleChange(val){

+ 84 - 33
src/HDrpManagement/ProductMag/modules/add.vue

@@ -40,6 +40,13 @@
                 <el-input type="number" v-model="form.packqty" placeholder="输入装箱数"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="12" v-if="siteid === 'HY'">
+              <el-form-item label="商品大类" prop="tags">
+                <el-select v-model="form.tags" style="width:100%">
+                  <el-option v-for="item in tagList" :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="辅助单位">
                 <el-checkbox :true-label="1" :false-label="0" v-model="form.isauxunit" @change="isauxunitChange">是否需要辅助单位</el-checkbox>
@@ -365,7 +372,8 @@ export default {
         "specalnote": "",
         "prodline": "",
         "device": "",
-        "packqty":'1'
+        "packqty":'1',
+        "tags":''
       },
       rules:{
          itemno: [
@@ -389,6 +397,9 @@ export default {
         tradefields: [
           { required: true,message:'请选择领域', trigger:'change'}
         ],
+        tags: [
+          { required: true,message:'请选择商品大类', trigger:'change'}
+        ],
       },
       unitGroupData:[],
       unitData:[],
@@ -403,7 +414,8 @@ export default {
       actuatortype:[], // 执行器类型
       actuatorbrand:[],// 执行器品牌
       connectionmode:[],// 连接形式
-
+      tagList:[],//商品大类
+      siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid
     }
   },
   computed:{
@@ -425,6 +437,7 @@ export default {
       this.actuatortypeData()
       this.actuatorbrandData()
       this.connectionmodeData()
+      this.getTagList()
     },
     // 查询领域
     async fieldData () {
@@ -522,45 +535,57 @@ export default {
             ownerid:res.data.itemid,
             usetype:'default'
           }
-          this.$refs['form'].resetFields();
-          this.$refs['upload'].toUpload()
-          this.$emit('onSuccess')
-          this.refresh()
-          this.dialogFormVisible = false
-          this.$store.dispatch('changeDetailDrawer',true)
-          this.$router.push({path:'/productmagDetail',query:{id:res.data.itemid,rowindex:res.data.rowindex}})
+          this.setTag(res.data.itemid,res.data.rowindex)
         })
       })
 
     },
+    async setTag(id,rowindex){
+      const res = await this.$api.requested({
+        "id": 20220929090901,
+        "content": {
+          "ownertable":"plm_item",
+          "ownerid":id,
+          "datatag":[this.form.tags]
+        }
+      })
+      console.log(res.data,'标签设置结果')
+      this.$refs['form'].resetFields();
+      this.$refs['upload'].toUpload()
+      this.$emit('onSuccess')
+      this.refresh()
+      this.dialogFormVisible = false
+      this.$store.dispatch('changeDetailDrawer',true)
+      this.$router.push({path:'/productmagDetail',query:{id:id,rowindex:rowindex}})
+    },
     onCancel(){
       this.dialogFormVisible = false
       this.$refs['form'].resetFields();
       this.form={
         "attinfos":[],
-            "itemid":0,
-            "isauxunit":0,
-            "unitid":'',
-            "unitgroupid":'',
-            "itemno":'',
-            "itemname":'',
-            "model": "",
-            "spec": "",
-            "orderminqty": 1, //订单起订量
-            "orderaddqty": 1, //订单增量
-            "orderminqty_auxunit": 0, //订单起订量控制单位(0:主单位;1:辅助单位)
-            "orderaddqty_auxunit": 0, //订单增量控制单位(0:主单位;1:辅助单位
-            "remarks": "", //可选
-            "barcode": "", //可选
-            "skucontrol": 0, //可选
-            "batchcontrol": 1, //可选
-            "grossweight": '', //可选
-            "weight": '', //可选
-            "height": '', //可选
-            "width": '', //可选
-            "length": '', //可选
-            "packqty":'1',
-
+        "itemid":0,
+        "isauxunit":0,
+        "unitid":'',
+        "unitgroupid":'',
+        "itemno":'',
+        "itemname":'',
+        "model": "",
+        "spec": "",
+        "orderminqty": 1, //订单起订量
+        "orderaddqty": 1, //订单增量
+        "orderminqty_auxunit": 0, //订单起订量控制单位(0:主单位;1:辅助单位)
+        "orderaddqty_auxunit": 0, //订单增量控制单位(0:主单位;1:辅助单位
+        "remarks": "", //可选
+        "barcode": "", //可选
+        "skucontrol": 0, //可选
+        "batchcontrol": 1, //可选
+        "grossweight": '', //可选
+        "weight": '', //可选
+        "height": '', //可选
+        "width": '', //可选
+        "length": '', //可选
+        "packqty":'1',
+        "tags":''
       }
     },
     unitChange () {
@@ -629,8 +654,34 @@ export default {
     },
     erpitemnoChange(){
       this.form.erpitemno = this.form.erpitemno.replace(/^\s+|\s+$/g,'')
-    }
+    },
 
+    /*获取可选商品大类*/
+    async getTagList () {
+      let res = await this.$api.requested({
+        "id": 20221013104401,
+        "content": {
+          "isExport":1,
+          "pageNumber":1,
+          "pageSize":100,
+          "sys_systemtagid":22,
+        }
+      })
+      this.tagList = res.data
+    },
+    hasDisabledTag (item) {
+      let arr = []
+      let arr2 = []
+      arr = this.tagList.filter(item=>{
+        return this.form.tags.includes(item.tag)
+      })
+      arr.forEach(e=>{
+        arr2 = arr2.concat(e.mutextag)
+      })
+      arr2 = this.form.tags.length === 0?[]:arr2
+      let _isSame = arr2.some(tag=>item.tag === tag)
+      return _isSame
+    },
   },
   mounted () {
 

+ 168 - 0
src/HDrpManagement/ProductMag/modules/components/addScheme.vue

@@ -0,0 +1,168 @@
+<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="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-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="产品售价折扣区间及其提成比例:" prop="categoriesreward" 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="请填写"></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="请填写"></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 === 'reward_rate'">
+                    <el-input v-model="scope.column.data.reward_rate" placeholder="请填写"></el-input>
+                  </div>
+                  <p v-else>{{scope.column.data[scope.column.columnname]?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: "addScheme",
+  data(){
+    return {
+      dialogVisible:false,
+      form:{
+        "action": "0",//0 新增 1 更新
+        "categories": "",//商品大类
+        "categoriesreward": []
+      },
+      rules:{
+        categories:[
+          { required: true, message: '未选择商品大类', trigger: 'change'},
+        ],
+        categoriesreward:[
+          { required: true, message: '未设置产品售价折扣区间及其提成比例', trigger: 'change'},
+        ],
+      },
+      categoriesList:[],
+      tablecols:[],
+      list:[],
+      loading:false
+    }
+  },
+  methods:{
+    onAdd(){
+      this.getCategoriesList()
+    },
+    addRow(){
+      this.list.push(
+        {
+          "rewardstart": "",
+          "rewardend": "",
+          "includerewardstart": "0",
+          "includerewardend": "0",
+          "reward_rate": "0",
+          "rowindex":this.list.length + 1
+        }
+      )
+      console.log(this.list,'listData')
+    },
+    delRow(){
+      this.list.pop()
+    },
+    /*获取可选商品大类*/
+    async getCategoriesList () {
+      let res = await this.$api.requested({
+        "id": 20221013104401,
+        "content": {
+          "isExport":1,
+          "pageNumber":1,
+          "pageSize":100,
+          "sys_systemtagid":22,
+        }
+      })
+      this.categoriesList = res.data
+    },
+    onSubmit(){
+      this.form.categoriesreward = this.list
+      this.$refs.form.validate(async (valid)=>{
+        if (!valid) return false
+        this.form.categoriesreward.forEach(item=>{
+          item.rewardstart = item.rewardstart?(item.rewardstart/100).toFixed(4):''
+          item.rewardend = item.rewardend?(item.rewardend/100).toFixed(4):''
+          item.reward_rate = item.rewardend?(item.reward_rate/100).toFixed(4):0
+        })
+        console.log(this.form,'formData')
+        const res = await this.$api.requested({
+          "id": 20240311150704,
+          "content":this.form
+        })
+        if (res.code === 0){
+          this.form.categoriesreward.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.rewardend?Math.round((item.reward_rate*100*100))/100:0
+          })
+        }
+        this.tool.showMessage(res,()=>{
+          this.form = {
+            "action": "0",//0 新增 1 更新
+            "categories": "",//商品大类
+            "categoriesreward": []
+          }
+          this.list = []
+          this.dialogVisible = false
+          this.$emit('addSuccess')
+        })
+      })
+    },
+    onClose(){}
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).commissionSet.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 47 - 0
src/HDrpManagement/ProductMag/modules/components/commissionSchemeSet.vue

@@ -0,0 +1,47 @@
+<template>
+  <div>
+    <el-button size="small" type="primary" @click="dialogVisible = true">提成方案设置</el-button>
+    <el-drawer
+        title="提成方案"
+        :visible.sync="dialogVisible"
+        size="900px"
+        direction="rtl"
+        append-to-body
+        @close="onClose">
+      <div class="drawer__panel">
+        <addScheme @addSuccess="listData"></addScheme>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import addScheme from './addScheme'
+export default {
+  name: "commissionSchemeSet",
+  data(){
+    return {
+      dialogVisible:false,
+
+    }
+  },
+  components:{addScheme},
+  methods:{
+    async listData(){
+      const res = await this.$api.requested({
+        "id": "20240311150804",
+        "content": {
+        }
+      })
+      console.log(res.data,'data11')
+    },
+    onClose(){
+
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 65 - 9
src/HDrpManagement/ProductMag/modules/edit.vue

@@ -40,6 +40,13 @@
                 <el-input type="number" v-model="form.packqty" placeholder="输入装箱数"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="12" v-if="siteid === 'HY'">
+              <el-form-item label="商品大类" prop="tags">
+                <el-select v-model="form.tags" style="width:100%">
+                  <el-option v-for="item in tagList" :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="辅助单位">
                 <el-checkbox :true-label="1" :false-label="0" v-model="form.isauxunit" @change="isauxunitChange">是否需要辅助单位</el-checkbox>
@@ -200,7 +207,7 @@
                 <el-checkbox :true-label="1" :false-label="0" v-model="form.isbutterfly">是否中线蝶阀</el-checkbox>
               </el-form-item>
             </el-col>
-            
+
             <el-col :span="12">
               <el-form-item label="压力等级" >
                 <el-select style="width:100%" v-model="form.pressure" placeholder="请选择" clearable>
@@ -370,7 +377,8 @@ export default {
         "erpitemname": "",
         "specalnote": "",
         "prodline": "",
-        "device": ""
+        "device": "",
+        "tags":""
       },
       rules:{
          itemno: [
@@ -394,6 +402,9 @@ export default {
         tradefields: [
           { required: true,message:'请选择领域', trigger:'change'}
         ],
+        tags: [
+          { required: true,message:'请选择商品大类', trigger:'change'}
+        ],
       },
       unitGroupData:[],
       unitData:[],
@@ -408,11 +419,12 @@ export default {
       actuatortype:[], // 执行器类型
       actuatorbrand:[],// 执行器品牌
       connectionmode:[],// 连接形式
-      
+      tagList:[],
+      siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid
     }
   },
   methods:{
-    
+
     onShow () {
       this.queryMain()
       this.unitlist()
@@ -427,6 +439,8 @@ export default {
       this.actuatortypeData()
       this.actuatorbrandData()
       this.connectionmodeData()
+      this.getTagList()
+      this.getSelectTag()
     },
     async queryMain(fn) {
       const res = await this.$api.requested({
@@ -535,14 +549,31 @@ export default {
             ownerid:res.data.itemid,
             usetype:'default'
           }
+          this.setTag(this.$route.query.id)
           this.$refs['form'].resetFields();
           this.$refs['upload'].toUpload()
-          this.$emit('onSuccess')
-          this.refresh()
+
+        /*  this.$emit('onSuccess')
+          this.refresh()*/
           this.dialogFormVisible = false
         })
       })
-      
+
+    },
+    async setTag(id,rowindex){
+      const res = await this.$api.requested({
+        "id": 20220929090901,
+        "content": {
+          "ownertable":"plm_item",
+          "ownerid":id,
+          "datatag":[this.form.tags]
+        }
+      })
+      console.log(res.data,'标签设置结果')
+      this.$refs['form'].resetFields();
+      this.$refs['upload'].toUpload()
+      this.$emit('onSuccess')
+      this.refresh()
     },
     onCancel(){
       this.dialogFormVisible = false
@@ -641,13 +672,38 @@ export default {
     },
     erpitemnoChange(){
       this.form.erpitemno = this.form.erpitemno.replace(/^\s+|\s+$/g,'')
+    },
+    /*获取可选商品大类*/
+    async getTagList () {
+      let res = await this.$api.requested({
+        "id": 20221013104401,
+        "content": {
+          "isExport":1,
+          "pageNumber":1,
+          "pageSize":100,
+          "sys_systemtagid":22,
+        }
+      })
+      this.tagList = res.data
+    },
+    /*获取当前已选商品大类*/
+    async getSelectTag(){
+      const res = await this.$api.requested({
+        "id": 20220929085401,
+        "content": {
+          "ownertable":"plm_item",
+          "ownerid":this.$route.query.id
+        }
+      })
+      console.log(res.data,'已选商品大类')
+      this.form.tags = res.data.datatag[0]
     }
   },
   mounted () {
-    
+
   }
 }
 
 </script>
 <style>
-</style>
+</style>

+ 2 - 3
src/components/normal-basic-layout/details/modules/tags/tag.vue

@@ -55,7 +55,6 @@ export default {
           "ownerid":this.$route.query.id
         }
       })
-
       this.option = res.data.option
       this.datatag = res.data.datatag
       this.systemtag = res.data.systemtag
@@ -73,7 +72,7 @@ export default {
           }
         })
         res.code === 1?this.queryTag():''
-        
+
       }
     },
     removetag () {
@@ -104,4 +103,4 @@ export default {
 
 </script>
 <style>
-</style>
+</style>