zhangqiOMG 2 years ago
parent
commit
e097ec9cf8

+ 10 - 3
src/HDrpManagement/ProductGroupMag/modules/add.vue

@@ -137,7 +137,6 @@ export default {
         if (val) {
           let res = await this.$api.requested({
             "id": "20220922164303",
-            "version": 1,
             "content": {
               "sa_itemgroupid": 0,
               "sa_brandid": this.form.sa_brandid,
@@ -162,8 +161,16 @@ export default {
                 "itemclassinfos": itemno
               }
             })
-            console.log(res2,1111);
-            
+            await this.$api.requested({
+              "id": "20220922164303",
+              "content": {
+                "sa_itemgroupid": res.data.sa_itemgroupid,
+                "sa_brandid": this.form.sa_brandid,
+                "groupname": this.form.groupname,
+                "itemno": itemno[0].itemno,
+                "tag": []
+              }
+            })
             this.$emit('onSuccess')
             this.$refs.form.resetFields()
             this.$refs.table.allArr = []

+ 1 - 1
src/HDrpManagement/ProductGroupMag/modules/addGroupDetailBtn.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button type="primary" size="mini" :disabled="!!disabled" @click="editBtn">新增商品明细</el-button>
+    <el-button type="primary" size="small" :disabled="!!disabled" @click="editBtn">新增商品明细</el-button>
     <el-drawer title="新增商品明细" :visible.sync="drawer" size="50%" direction="rtl" append-to-body>
       <div class="drawer__panel">
           <el-row>

+ 235 - 36
src/HDrpManagement/ProductMag/modules/add.vue

@@ -1,10 +1,10 @@
 <template>
   <div>
     <el-button type="primary" size="small" @click="onShow(dialogFormVisible=true)" >新增产品</el-button>
-    <el-drawer append-to-body title="新增产品" :visible.sync="dialogFormVisible" size="50%" @close="onCancel">
+    <el-drawer append-to-body title="新增产品" :visible.sync="dialogFormVisible" size="900px" @close="onCancel">
       <div class="drawer__panel" >
         <el-row :gutter="10">
-          <el-form label-position="right" label-width="80px" :model="form" :rules="rules" ref="form" size="small">
+          <el-form label-position="right" label-width="90px" :model="form" :rules="rules" ref="form" size="small">
             <el-col :span="12">
               <el-form-item label="产品编号" prop="itemno">
                 <el-input v-model="form.itemno" placeholder="输入产品编号"></el-input>
@@ -100,21 +100,37 @@
                 </el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
+            <el-col :span="12">
               <el-form-item label="批次管理">
                 <el-checkbox :true-label="1" :false-label="0" v-model="form.batchcontrol" @change="isauxunitChange">是否需要批次管理</el-checkbox>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
+            <el-col :span="12">
               <el-form-item label="单品管理">
                 <el-checkbox :true-label="1" :false-label="0" v-model="form.skucontrol" @change="isauxunitChange">是否需要单品管理</el-checkbox>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
-              <el-form-item label="是否工具">
+            <el-col :span="12">
+              <el-form-item label="工具">
                 <el-checkbox :true-label="1" :false-label="0" v-model="form.istool">是否工具</el-checkbox>
               </el-form-item>
             </el-col>
+            <el-col :span="12">
+              <el-form-item label="物料">
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.iswuliao">是否物料</el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="服务物料">
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.isservice">是否服务物料</el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="中线蝶阀">
+                <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>
@@ -139,6 +155,78 @@
                 </el-select>
               </el-form-item>
             </el-col>
+            <el-col :span="12">
+              <el-form-item label="蝶板驱动">
+                <el-select style="width:100%" v-model="form.butterflyplatedrive" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in butterflyplatedrive"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="连接形式">
+                <el-select style="width:100%" v-model="form.connection" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in connectionmode"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="阀板材质">
+                <el-select style="width:100%" v-model="form.valveplatematerial" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in valveplatematerial"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="阀体材质">
+                <el-select style="width:100%" v-model="form.bodymaterial" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in bodymaterial"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="执行器类型">
+                <el-select style="width:100%" v-model="form.actuatortype" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in actuatortype"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="执行器品牌">
+                <el-select style="width:100%" v-model="form.actuatorbrand" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in actuatorbrand"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
             
             <el-col :span="12">
               <el-form-item label="毛重(g)">
@@ -190,6 +278,31 @@
                 <el-input v-model="form.warrantyday" placeholder="输入保修期限"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="12">
+              <el-form-item label="ERP品名">
+                <el-input v-model="form.erpitemname" placeholder="输入ERP品名"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="ERP品号">
+                <el-input v-model="form.erpitemno" placeholder="输入ERP品号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="产线">
+                <el-input v-model="form.prodline" placeholder="输入产线"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="装置">
+                <el-input v-model="form.device" placeholder="输入装置"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="特殊说明">
+                <el-input v-model="form.specalnote" type="textarea" placeholder="输入特殊说明"></el-input>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="备注">
                 <el-input v-model="form.remarks" type="textarea" placeholder="输入产品备注"></el-input>
@@ -254,8 +367,29 @@ export default {
         "weight": '', //可选
         "height": '', //可选
         "width": '', //可选
-        "length": '' //可选
-
+        "length": '', //可选
+        "caliber": "", //可选,口径
+        "pressure": "", //可选,压力
+        "material": "", //可选,材质
+        "standards": "", //可选,产品标准
+        "tradefields": [], //可选,领域
+        "stockstatus2": 0, //可选,库存缺货标准
+        "stockstatus1": 100, //可选,库存充足标准
+        "warrantyday": 1, //可选,保修期(年)
+        "iswuliao": 0, //可选,是否营销物料
+        "isservice": 0, //可选,是否服务物料
+        "butterflyplatedrive": "",
+        "connection": "",
+        "valveplatematerial": "",
+        "bodymaterial": "",
+        "actuatortype": "",
+        "actuatorbrand": "",
+        "isbutterfly": 0,
+        "erpitemno": "",
+        "erpitemname": "",
+        "specalnote": "",
+        "prodline": "",
+        "device": ""
       },
       rules:{
          itemno: [
@@ -281,6 +415,12 @@ export default {
       standards:[],// 产品标准
       pressures:[],// 压力等级
       itemmaterial:[], // 材质
+      butterflyplatedrive:[],// 蝶板驱动
+      valveplatematerial:[],// 阀板材质
+      bodymaterial:[],// 阀体材质
+      actuatortype:[], // 执行器类型
+      actuatorbrand:[],// 执行器品牌
+      connectionmode:[],// 连接形式
     }
   },
   methods:{
@@ -291,6 +431,12 @@ export default {
       this.standardData()
       this.pressureData()
       this.itemmaterialData()
+      this.butterflyplatedriveData()
+      this.valveplatematerialData()
+      this.bodymaterialData()
+      this.actuatortypeData()
+      this.actuatorbrandData()
+      this.connectionmodeData()
     },
     // 查询领域
     async fieldData () {
@@ -314,6 +460,36 @@ export default {
       const res = await this.$store.dispatch('optiontypeselect','itemmaterial')
       this.itemmaterial = res.data
     },
+    // 查询蝶板驱动
+    async butterflyplatedriveData () {
+      const res = await this.$store.dispatch('optiontypeselect','butterflyplatedrive')
+      this.butterflyplatedrive = res.data
+    },
+    // 阀板材质
+    async valveplatematerialData () {
+      const res = await this.$store.dispatch('optiontypeselect','valveplatematerial')
+      this.valveplatematerial = res.data
+    },
+    // 阀体材质
+    async bodymaterialData () {
+      const res = await this.$store.dispatch('optiontypeselect','bodymaterial')
+      this.bodymaterial = res.data
+    },
+    // 执行器类型
+    async actuatortypeData () {
+      const res = await this.$store.dispatch('optiontypeselect','actuatortype')
+      this.actuatortype = res.data
+    },
+    // 执行器品牌
+    async actuatorbrandData () {
+      const res = await this.$store.dispatch('optiontypeselect','actuatorbrand')
+      this.actuatorbrand = res.data
+    },
+    // 连接形式
+    async connectionmodeData () {
+      const res = await this.$store.dispatch('optiontypeselect','connectionmode')
+      this.connectionmode = res.data
+    },
     async unitlist () {
       const res = await this.$api.requested({
         "id": "20220922084803",
@@ -343,7 +519,7 @@ export default {
       })
       this.unitGroupData = res.data
     },
-     onSubmit () {
+    onSubmit () {
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
         const res = await this.$api.requested({
@@ -357,34 +533,9 @@ export default {
             usetype:'default'
           }
           this.$refs['form'].resetFields();
-          this.form={
-            "attinfos":[],
-            "itemid":0,
-            "isauxunit":0,
-            "unitid":'',
-            "unitgroupid":'',
-            "itemno":'',
-            "itemname":'',
-            "model": "",
-            "spec": "",
-            "orderminqty": '', //订单起订量
-            "orderaddqty": '', //订单增量
-            "orderminqty_auxunit": 0, //订单起订量控制单位(0:主单位;1:辅助单位)
-            "orderaddqty_auxunit": 0, //订单增量控制单位(0:主单位;1:辅助单位
-            "remarks": "", //可选
-            "barcode": "", //可选
-            "skucontrol": 0, //可选
-            "batchcontrol": 1, //可选
-            "grossweight": '', //可选
-            "weight": '', //可选
-            "height": '', //可选
-            "width": '', //可选
-            "length": '' //可选
-
-          }
-          
           this.$refs['upload'].toUpload()
-         
+          this.$emit('onSuccess')
+          this.refresh()
           this.dialogFormVisible = false
         })
       })
@@ -431,6 +582,54 @@ export default {
     uploadSuccess(res){
       this.$emit('onSuccess')
     },
+    refresh () {
+      this.form = {
+        "attinfos":[],
+        "itemid":0,
+        "isauxunit":0,
+        "unitid":'',
+        "unitgroupid":'',
+        "itemno":'',
+        "itemname":'',
+        "model": "",
+        "spec": "",
+        "orderminqty": '', //订单起订量
+        "orderaddqty": '', //订单增量
+        "orderminqty_auxunit": 0, //订单起订量控制单位(0:主单位;1:辅助单位)
+        "orderaddqty_auxunit": 0, //订单增量控制单位(0:主单位;1:辅助单位
+        "remarks": "", //可选
+        "barcode": "", //可选
+        "skucontrol": 0, //可选
+        "batchcontrol": 1, //可选
+        "grossweight": '', //可选
+        "weight": '', //可选
+        "height": '', //可选
+        "width": '', //可选
+        "length": '', //可选
+        "caliber": "", //可选,口径
+        "pressure": "", //可选,压力
+        "material": "", //可选,材质
+        "standards": "", //可选,产品标准
+        "tradefields": [], //可选,领域
+        "stockstatus2": 0, //可选,库存缺货标准
+        "stockstatus1": 100, //可选,库存充足标准
+        "warrantyday": 1, //可选,保修期(年)
+        "iswuliao": 0, //可选,是否营销物料
+        "isservice": 0, //可选,是否服务物料
+        "butterflyplatedrive": "",
+        "connection": "",
+        "valveplatematerial": "",
+        "bodymaterial": "",
+        "actuatortype": "",
+        "actuatorbrand": "",
+        "isbutterfly": 0,
+        "erpitemno": "",
+        "erpitemname": "",
+        "specalnote": "",
+        "prodline": "",
+        "device": ""
+      }
+    }
   },
   mounted () {
     

+ 351 - 0
src/HDrpManagement/ProductMag/modules/edit copy.vue

@@ -0,0 +1,351 @@
+<template>
+  <div >
+    <el-button  :disabled="data.status ==='审核'" size="mini" @click="onShow">编 辑</el-button>
+    <el-drawer append-to-body title="编辑产品" :visible.sync="dialogFormVisible" size="50%">
+      <div class="drawer__panel" >
+        <el-row :gutter="10">
+          <el-form label-position="right" label-width="80px" :model="form" :rules="rules" ref="form" size="small">
+            <el-col :span="12">
+              <el-form-item label="产品编号" prop="itemno">
+                <el-input v-model="form.itemno" placeholder="输入产品编号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="产品名称" prop="itemname">
+                <el-input v-model="form.itemname"  placeholder="输入产品名称"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="型号" prop="model">
+                <el-input v-model="form.model" placeholder="输入产品型号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="规格" prop="spec">
+                <el-input v-model="form.spec" placeholder="输入产品规格"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="牌价" prop="spec">
+                <el-input v-model="form.marketprice" placeholder="输入牌价"></el-input>
+              </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>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="主单位" prop="unitid">
+                <el-select style="width:100%" v-model="form.unitid" placeholder="请选择" @change="unitChange">
+                  <el-option
+                    v-for="item in unitData"
+                    :key="item.unitid"
+                    :label="item.unitname"
+                    :value="item.unitid">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="辅助单位">
+                <el-select style="width:100%" v-model="form.unitgroupid" :disabled="form.isauxunit === 0" placeholder="请选择">
+                  <el-option
+                    v-for="item in unitGroupData"
+                    :key="item.unitgroupid"
+                    :label="item.unitgroupname"
+                    :value="item.unitgroupid">
+                    <p style="float: left">{{ item.unitgroupname }}</p>
+                    <p style="float:right;color: #8492a6; font-size: 13px">{{ item.conversionrate }}{{item.unitname}}/{{item.auxunitname}},换算率:{{'1:'+ item.conversionrate}}</p>
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <!-- <el-col :span="9">
+              <el-form-item label="换算率">
+                <el-input v-model="form.itemname" readonly></el-input>
+              </el-form-item>
+            </el-col> -->
+            <el-col :span="12">
+              <el-form-item label="起订量" prop="orderminqty">
+                <el-input placeholder="起订量" v-model="form.orderminqty" class="input-with-select">
+                  <el-select style="width:100px" v-model="form.orderminqty_auxunit" slot="prepend" placeholder="请选择">
+                    <el-option label="主单位" :value="0"></el-option>
+                    <el-option :disabled="form.isauxunit === 0" label="辅助单位" :value="1"></el-option>
+                  </el-select>
+                </el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="增量" prop="orderaddqty">
+                <el-input placeholder="增量" v-model="form.orderaddqty" class="input-with-select">
+                  <el-select style="width:100px" v-model="form.orderaddqty_auxunit" slot="prepend" placeholder="请选择">
+                    <el-option label="主单位" :value="0"></el-option>
+                    <el-option :disabled="form.isauxunit === 0" label="辅助单位" :value="1"></el-option>
+                  </el-select>
+                </el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="批次管理">
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.batchcontrol" @change="isauxunitChange">是否需要批次管理</el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="单品管理">
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.skucontrol" @change="isauxunitChange">是否需要单品管理</el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="是否工具">
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.istool">是否工具</el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="毛重(g)">
+                <el-input v-model="form.grossweight" placeholder="输入产品毛重(g)"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="	净重(g)">
+                <el-input v-model="form.weight" placeholder="输入产品净重(g)"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="高度">
+                <el-input v-model="form.height" placeholder="输入产品高度(mm)"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="宽度">
+                <el-input v-model="form.width" placeholder="输入产品宽度(mm)"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="长度">
+                <el-input v-model="form.length" placeholder="输入产品长度(mm)"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="条形码">
+                <el-input v-model="form.barcode" placeholder="输入条形码"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="交期">
+                <el-input v-model="form.delivery" placeholder="输入交期"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="备注">
+                <el-input v-model="form.remarks" type="textarea" placeholder="输入产品备注"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="20">
+              <el-form-item  label="产品图">
+                <div class="flex-align-center" style="flex-wrap:wrap">
+                  <uploadFile
+                      style="margin:10px 10px 10px 0;"
+                      ref="upload"
+                      :folderid="folderid"
+                      accept=".JPG,.PNG,.jpg,.png"
+                      btntype="image"
+                      :bindData="{ownertable:'plm_item',ownerid:form.itemid,usetype:'default'}"
+                      @onSuccess="uploadSuccess">
+                  </uploadFile>
+                  <previewImage style="margin-right: 10px;margin-bottom:10px" v-for="image in form.attinfos" :key="image.index" :image="image"  :deletebtn="true"
+                              @onSuccess="clearCover"></previewImage>
+                </div>
+                <small style="display:block;margin-top:20px" class="info">注:建议上传图片大小1024x1024,大小不超过2M,格式为JPG/PNG</small>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width">保 存</el-button>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+import uploadFile from '../../../components/upload/hw_obs_upload.vue'
+import previewImage from '@/components/previewImage/index.vue'
+export default {
+  components:{uploadFile,previewImage},
+  props:['data'],
+  data () {
+    return {
+      dialogFormVisible:false,
+
+      folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
+      form:{
+        "itemid":0,
+        "isauxunit":0,
+        "unitid":'',
+        "unitgroupid":'',
+        "itemno":'',
+        "itemname":'',
+        "model": "",
+        "spec": "",
+        "orderminqty": '', //订单起订量
+        "orderaddqty": '', //订单增量
+        "orderminqty_auxunit": 0, //订单起订量控制单位(0:主单位;1:辅助单位)
+        "orderaddqty_auxunit": 0 //订单增量控制单位(0:主单位;1:辅助单位)
+      },
+      unitGroupData:[],
+      unitData:[],
+      classList:[],
+      rules:{
+         itemno: [
+          { required: true, message: '请输入输入产品编号', trigger: 'blur' },
+        ],
+        itemname: [
+          { required: true, message: '请输入输入产品名称', trigger: 'blur' },
+        ],
+        model: [
+          { required: true, message: '请输入输入产品型号', trigger: 'blur' },
+        ],
+        spec: [
+          { required: true, message: '请输入输入产品规格', trigger: 'blur' },
+        ],
+        orderminqty: [
+          { required: true, message: '请输入起订量', trigger: 'blur' },
+        ],
+        orderaddqty: [
+          { required: true, message: '请输入增量', trigger: 'blur' },
+        ],
+        grossweight: [
+          { required: true, message: '请输入毛重', trigger: 'blur' },
+        ],
+        weight: [
+          { required: true, message: '请输入净重', trigger: 'blur' },
+        ],
+        height: [
+          { required: true, message: '请输入高度', trigger: 'blur' },
+        ],
+        width: [
+          { required: true, message: '请输入宽度', trigger: 'blur' },
+        ],
+        length: [
+          { required: true, message: '请输入长度', trigger: 'blur' },
+        ],
+        barcode: [
+          { required: true, message: '请输入条形码', trigger: 'blur' },
+        ],
+        isauxunit: [
+          { type: 'number', required: true, message: '辅助单位管理不可为空', trigger: 'change' },
+        ],
+        unitid: [
+          { required: true,message: '主计量单位不可为空', trigger: 'blur'}
+        ],
+        batchcontrol: [
+          { required: true,message:'批次管理不可为空', trigger:'change'}
+        ],
+        skucontrol: [
+          { required: true,message:'单品管理不可为空', trigger:'change'}
+        ]
+      }
+    }
+  },
+  methods:{
+    onShow () {
+      this.dialogFormVisible = true
+    },
+    async queryMain(fn) {
+      const res = await this.$api.requested({
+        "id": 20220923155302,
+        "content": {
+          "itemid": this.data.itemid
+        },
+      })
+      this.form = Object.assign({},this.form,res.data)
+      fn?fn():''
+    },
+    async unitlist () {
+      const res = await this.$api.requested({
+        "id": "20220922084803",
+        "version":1,
+        "nocache": true,
+        "content": {
+          "pageSize":1000,
+          "where":{
+            "condition":""
+          }
+        }
+      })
+      this.unitData = res.data
+    },
+    async unitGrouplist () {
+      const res = await this.$api.requested({
+        "id": "20220922084503",
+        "version":1,
+        "nocache": true,
+        "content": {
+          "pageSize":1000,
+          "where":{
+            "condition":"",
+            "unitid":this.form.unitid
+          }
+        }
+      })
+      this.unitGroupData = res.data
+    },
+    async onSubmit () {
+      this.$refs['form'].validate(async (valid) => {
+        if (!valid) return false
+        const res = await this.$api.requested({
+          "id": 20220923141502,
+          "content": this.form
+        })
+        this.tool.showMessage(res,()=>{
+          this.dialogFormVisible = false
+          this.$emit('onSuccess')
+        })
+      })
+    },
+    unitChange () {
+       this.unitGrouplist()
+    },
+    isauxunitChange (val) {
+      if (val === 0) {
+        this.form.orderminqty_auxunit = this.form.orderaddqty_auxunit = 0
+        this.form.unitgroupid = ''
+      }
+    },
+    uploadSuccess(res){
+      console.log(res,'----')
+      this.queryMain()
+    },
+    clearCover () {
+      this.queryMain()
+    },
+    async showImage(){
+      const res = await this.$api.requested({
+        "classname": "system.attachment.Attachment",
+        "method": "queryFileLink",
+        "content": {
+          "ownertable": "plm_item",
+          "ownerid": this.form.itemid,
+          "usetype":"default"//传空返回有所
+        }
+      })
+      console.log("查询上传结果")
+      console.log(res)
+      this.form.attinfos = res.data[0]
+    }
+  },
+  mounted () {
+    console.log(this.data,"接收数据")
+    this.queryMain(()=>{
+      this.unitlist()
+      this.unitGrouplist()
+    })
+  }
+}
+
+</script>
+<style>
+</style>

+ 394 - 89
src/HDrpManagement/ProductMag/modules/edit.vue

@@ -1,10 +1,10 @@
 <template>
-  <div >
-    <el-button  :disabled="data.status ==='审核'" size="mini" @click="onShow">编 辑</el-button>
-    <el-drawer append-to-body title="编辑产品" :visible.sync="dialogFormVisible" size="50%">
+  <div>
+    <el-button type="default" size="mini" @click="onShow(dialogFormVisible=true)" >编 辑</el-button>
+    <el-drawer append-to-body title="新增产品" :visible.sync="dialogFormVisible" size="900px" @close="onCancel">
       <div class="drawer__panel" >
         <el-row :gutter="10">
-          <el-form label-position="right" label-width="80px" :model="form" :rules="rules" ref="form" size="small">
+          <el-form label-position="right" label-width="90px" :model="form" :rules="rules" ref="form" size="small">
             <el-col :span="12">
               <el-form-item label="产品编号" prop="itemno">
                 <el-input v-model="form.itemno" placeholder="输入产品编号"></el-input>
@@ -25,11 +25,6 @@
                 <el-input v-model="form.spec" placeholder="输入产品规格"></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
-              <el-form-item label="牌价" prop="spec">
-                <el-input v-model="form.marketprice" placeholder="输入牌价"></el-input>
-              </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>
@@ -61,11 +56,30 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <!-- <el-col :span="9">
-              <el-form-item label="换算率">
-                <el-input v-model="form.itemname" readonly></el-input>
+            <el-col :span="12">
+              <el-form-item label="领域">
+                <el-select style="width:100%" v-model="form.tradefields" multiple placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in tradefield"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
               </el-form-item>
-            </el-col> -->
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="产品标准">
+                <el-select style="width:100%" v-model="form.standards" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in standards"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
             <el-col :span="12">
               <el-form-item label="起订量" prop="orderminqty">
                 <el-input placeholder="起订量" v-model="form.orderminqty" class="input-with-select">
@@ -86,21 +100,134 @@
                 </el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
+            <el-col :span="12">
               <el-form-item label="批次管理">
                 <el-checkbox :true-label="1" :false-label="0" v-model="form.batchcontrol" @change="isauxunitChange">是否需要批次管理</el-checkbox>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
+            <el-col :span="12">
               <el-form-item label="单品管理">
                 <el-checkbox :true-label="1" :false-label="0" v-model="form.skucontrol" @change="isauxunitChange">是否需要单品管理</el-checkbox>
               </el-form-item>
             </el-col>
-            <el-col :span="24">
-              <el-form-item label="是否工具">
+            <el-col :span="12">
+              <el-form-item label="工具">
                 <el-checkbox :true-label="1" :false-label="0" v-model="form.istool">是否工具</el-checkbox>
               </el-form-item>
             </el-col>
+            <el-col :span="12">
+              <el-form-item label="物料">
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.iswuliao">是否物料</el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="服务物料">
+                <el-checkbox :true-label="1" :false-label="0" v-model="form.isservice">是否服务物料</el-checkbox>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="中线蝶阀">
+                <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>
+                  <el-option
+                    v-for="item in pressures"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="材质">
+                <el-select style="width:100%" v-model="form.material" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in itemmaterial"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="蝶板驱动">
+                <el-select style="width:100%" v-model="form.butterflyplatedrive" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in butterflyplatedrive"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="连接形式">
+                <el-select style="width:100%" v-model="form.connection" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in connectionmode"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="阀板材质">
+                <el-select style="width:100%" v-model="form.valveplatematerial" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in valveplatematerial"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="阀体材质">
+                <el-select style="width:100%" v-model="form.bodymaterial" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in bodymaterial"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="执行器类型">
+                <el-select style="width:100%" v-model="form.actuatortype" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in actuatortype"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="执行器品牌">
+                <el-select style="width:100%" v-model="form.actuatorbrand" placeholder="请选择" clearable>
+                  <el-option
+                    v-for="item in actuatorbrand"
+                    :key="item.value"
+                    :label="item.value"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            
             <el-col :span="12">
               <el-form-item label="毛重(g)">
                 <el-input v-model="form.grossweight" placeholder="输入产品毛重(g)"></el-input>
@@ -131,11 +258,51 @@
                 <el-input v-model="form.barcode" placeholder="输入条形码"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="8">
+              <el-form-item label="满库存量">
+                <el-input v-model="form.stockstatus1" placeholder="满库存量"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="缺货提醒">
+                <el-input v-model="form.stockstatus2" placeholder="缺货提醒"></el-input>
+              </el-form-item>
+            </el-col>
             <el-col :span="8">
               <el-form-item label="交期">
                 <el-input v-model="form.delivery" placeholder="输入交期"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :span="8">
+              <el-form-item label="保修期限">
+                <el-input v-model="form.warrantyday" placeholder="输入保修期限"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="ERP品名">
+                <el-input v-model="form.erpitemname" placeholder="输入ERP品名"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="ERP品号">
+                <el-input v-model="form.erpitemno" placeholder="输入ERP品号"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="产线">
+                <el-input v-model="form.prodline" placeholder="输入产线"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="装置">
+                <el-input v-model="form.device" placeholder="输入装置"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="特殊说明">
+                <el-input v-model="form.specalnote" type="textarea" placeholder="输入特殊说明"></el-input>
+              </el-form-item>
+            </el-col>
             <el-col :span="24">
               <el-form-item label="备注">
                 <el-input v-model="form.remarks" type="textarea" placeholder="输入产品备注"></el-input>
@@ -160,28 +327,29 @@
               </el-form-item>
             </el-col>
           </el-form>
+
         </el-row>
       </div>
       <div class="fixed__btn__panel">
-        <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
-        <el-button size="small" type="warning" @click="onSubmit" class="normal-btn-width">保 存</el-button>
+        <el-button size="small" @click="onCancel" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
       </div>
     </el-drawer>
   </div>
 </template>
 
 <script>
-import uploadFile from '../../../components/upload/hw_obs_upload.vue'
+import uploadFile from '@/components/upload/preview_upload.vue'
 import previewImage from '@/components/previewImage/index.vue'
 export default {
-  components:{uploadFile,previewImage},
   props:['data'],
+  components:{uploadFile,previewImage},
   data () {
     return {
       dialogFormVisible:false,
-
       folderid:JSON.parse(sessionStorage.getItem('folderid')).appfolderid,
       form:{
+        "attinfos":[],
         "itemid":0,
         "isauxunit":0,
         "unitid":'',
@@ -193,11 +361,39 @@ export default {
         "orderminqty": '', //订单起订量
         "orderaddqty": '', //订单增量
         "orderminqty_auxunit": 0, //订单起订量控制单位(0:主单位;1:辅助单位)
-        "orderaddqty_auxunit": 0 //订单增量控制单位(0:主单位;1:辅助单位)
+        "orderaddqty_auxunit": 0, //订单增量控制单位(0:主单位;1:辅助单位
+        "remarks": "", //可选
+        "barcode": "", //可选
+        "skucontrol": 0, //可选
+        "batchcontrol": 1, //可选
+        "grossweight": '', //可选
+        "weight": '', //可选
+        "height": '', //可选
+        "width": '', //可选
+        "length": '', //可选
+        "caliber": "", //可选,口径
+        "pressure": "", //可选,压力
+        "material": "", //可选,材质
+        "standards": "", //可选,产品标准
+        "tradefields": [], //可选,领域
+        "stockstatus2": 0, //可选,库存缺货标准
+        "stockstatus1": 100, //可选,库存充足标准
+        "warrantyday": 1, //可选,保修期(年)
+        "iswuliao": 0, //可选,是否营销物料
+        "isservice": 0, //可选,是否服务物料
+        "butterflyplatedrive": "",
+        "connection": "",
+        "valveplatematerial": "",
+        "bodymaterial": "",
+        "actuatortype": "",
+        "actuatorbrand": "",
+        "isbutterfly": 0,
+        "erpitemno": "",
+        "erpitemname": "",
+        "specalnote": "",
+        "prodline": "",
+        "device": ""
       },
-      unitGroupData:[],
-      unitData:[],
-      classList:[],
       rules:{
          itemno: [
           { required: true, message: '请输入输入产品编号', trigger: 'blur' },
@@ -205,58 +401,48 @@ export default {
         itemname: [
           { required: true, message: '请输入输入产品名称', trigger: 'blur' },
         ],
-        model: [
-          { required: true, message: '请输入输入产品型号', trigger: 'blur' },
-        ],
-        spec: [
-          { required: true, message: '请输入输入产品规格', trigger: 'blur' },
-        ],
-        orderminqty: [
-          { required: true, message: '请输入起订量', trigger: 'blur' },
-        ],
-        orderaddqty: [
-          { required: true, message: '请输入增量', trigger: 'blur' },
-        ],
-        grossweight: [
-          { required: true, message: '请输入毛重', trigger: 'blur' },
-        ],
-        weight: [
-          { required: true, message: '请输入净重', trigger: 'blur' },
-        ],
-        height: [
-          { required: true, message: '请输入高度', trigger: 'blur' },
-        ],
-        width: [
-          { required: true, message: '请输入宽度', trigger: 'blur' },
-        ],
-        length: [
-          { required: true, message: '请输入长度', trigger: 'blur' },
-        ],
-        barcode: [
-          { required: true, message: '请输入条形码', trigger: 'blur' },
-        ],
         isauxunit: [
           { type: 'number', required: true, message: '辅助单位管理不可为空', trigger: 'change' },
         ],
-        unitid: [
-          { required: true,message: '主计量单位不可为空', trigger: 'blur'}
-        ],
         batchcontrol: [
           { required: true,message:'批次管理不可为空', trigger:'change'}
         ],
         skucontrol: [
           { required: true,message:'单品管理不可为空', trigger:'change'}
         ]
-      }
+      },
+      unitGroupData:[],
+      unitData:[],
+      bindData:{},
+      tradefield:[],// 领域
+      standards:[],// 产品标准
+      pressures:[],// 压力等级
+      itemmaterial:[], // 材质
+      butterflyplatedrive:[],// 蝶板驱动
+      valveplatematerial:[],// 阀板材质
+      bodymaterial:[],// 阀体材质
+      actuatortype:[], // 执行器类型
+      actuatorbrand:[],// 执行器品牌
+      connectionmode:[],// 连接形式
+      
     }
   },
   methods:{
+    
     onShow () {
-      this.dialogFormVisible = true
-      /*this.queryMain(()=>{
-        this.unitlist()
-        this.unitGrouplist()
-      })*/
+      this.queryMain()
+      this.unitlist()
+      this.unitGrouplist()
+      this.fieldData()
+      this.standardData()
+      this.pressureData()
+      this.itemmaterialData()
+      this.butterflyplatedriveData()
+      this.valveplatematerialData()
+      this.bodymaterialData()
+      this.actuatortypeData()
+      this.actuatorbrandData()
+      this.connectionmodeData()
     },
     async queryMain(fn) {
       const res = await this.$api.requested({
@@ -268,6 +454,58 @@ export default {
       this.form = Object.assign({},this.form,res.data)
       fn?fn():''
     },
+    // 查询领域
+    async fieldData () {
+      const res = await this.$store.dispatch('optiontypeselect','tradefield')
+      this.tradefield = res.data
+    },
+    // 查询产品标准
+    async standardData () {
+      const res = await this.$store.dispatch('optiontypeselect','itemstandards')
+      this.standards = res.data
+    },
+
+    // 查询压力等级
+    async pressureData () {
+      const res = await this.$store.dispatch('optiontypeselect','pressurelevel')
+      this.pressures = res.data
+    },
+
+    // 查询材质
+    async itemmaterialData () {
+      const res = await this.$store.dispatch('optiontypeselect','itemmaterial')
+      this.itemmaterial = res.data
+    },
+    // 查询蝶板驱动
+    async butterflyplatedriveData () {
+      const res = await this.$store.dispatch('optiontypeselect','butterflyplatedrive')
+      this.butterflyplatedrive = res.data
+    },
+    // 阀板材质
+    async valveplatematerialData () {
+      const res = await this.$store.dispatch('optiontypeselect','valveplatematerial')
+      this.valveplatematerial = res.data
+    },
+    // 阀体材质
+    async bodymaterialData () {
+      const res = await this.$store.dispatch('optiontypeselect','bodymaterial')
+      this.bodymaterial = res.data
+    },
+    // 执行器类型
+    async actuatortypeData () {
+      const res = await this.$store.dispatch('optiontypeselect','actuatortype')
+      this.actuatortype = res.data
+    },
+    // 执行器品牌
+    async actuatorbrandData () {
+      const res = await this.$store.dispatch('optiontypeselect','actuatorbrand')
+      this.actuatorbrand = res.data
+    },
+    // 连接形式
+    async connectionmodeData () {
+      const res = await this.$store.dispatch('optiontypeselect','connectionmode')
+      this.connectionmode = res.data
+    },
     async unitlist () {
       const res = await this.$api.requested({
         "id": "20220922084803",
@@ -283,7 +521,7 @@ export default {
       this.unitData = res.data
     },
     async unitGrouplist () {
-      const res = await this.$api.requested({
+       const res = await this.$api.requested({
         "id": "20220922084503",
         "version":1,
         "nocache": true,
@@ -297,7 +535,7 @@ export default {
       })
       this.unitGroupData = res.data
     },
-    async onSubmit () {
+    onSubmit () {
       this.$refs['form'].validate(async (valid) => {
         if (!valid) return false
         const res = await this.$api.requested({
@@ -305,10 +543,48 @@ export default {
           "content": this.form
         })
         this.tool.showMessage(res,()=>{
-          this.dialogFormVisible = false
+          this.bindData = {
+            ownertable:'plm_item',
+            ownerid:res.data.itemid,
+            usetype:'default'
+          }
+          this.$refs['form'].resetFields();
+          this.$refs['upload'].toUpload()
           this.$emit('onSuccess')
+          this.refresh()
+          this.dialogFormVisible = false
         })
       })
+      
+    },
+    onCancel(){
+      this.dialogFormVisible = false
+      this.$refs['form'].resetFields();
+      this.form={
+        "attinfos":[],
+            "itemid":0,
+            "isauxunit":0,
+            "unitid":'',
+            "unitgroupid":'',
+            "itemno":'',
+            "itemname":'',
+            "model": "",
+            "spec": "",
+            "orderminqty": '', //订单起订量
+            "orderaddqty": '', //订单增量
+            "orderminqty_auxunit": 0, //订单起订量控制单位(0:主单位;1:辅助单位)
+            "orderaddqty_auxunit": 0, //订单增量控制单位(0:主单位;1:辅助单位
+            "remarks": "", //可选
+            "barcode": "", //可选
+            "skucontrol": 0, //可选
+            "batchcontrol": 1, //可选
+            "grossweight": '', //可选
+            "weight": '', //可选
+            "height": '', //可选
+            "width": '', //可选
+            "length": '' //可选
+
+      }
     },
     unitChange () {
        this.unitGrouplist()
@@ -320,33 +596,62 @@ export default {
       }
     },
     uploadSuccess(res){
-      console.log(res,'----')
-      this.queryMain()
+      this.$emit('onSuccess')
+    },
+    refresh () {
+      this.form = {
+        "attinfos":[],
+        "itemid":0,
+        "isauxunit":0,
+        "unitid":'',
+        "unitgroupid":'',
+        "itemno":'',
+        "itemname":'',
+        "model": "",
+        "spec": "",
+        "orderminqty": '', //订单起订量
+        "orderaddqty": '', //订单增量
+        "orderminqty_auxunit": 0, //订单起订量控制单位(0:主单位;1:辅助单位)
+        "orderaddqty_auxunit": 0, //订单增量控制单位(0:主单位;1:辅助单位
+        "remarks": "", //可选
+        "barcode": "", //可选
+        "skucontrol": 0, //可选
+        "batchcontrol": 1, //可选
+        "grossweight": '', //可选
+        "weight": '', //可选
+        "height": '', //可选
+        "width": '', //可选
+        "length": '', //可选
+        "caliber": "", //可选,口径
+        "pressure": "", //可选,压力
+        "material": "", //可选,材质
+        "standards": "", //可选,产品标准
+        "tradefields": [], //可选,领域
+        "stockstatus2": 0, //可选,库存缺货标准
+        "stockstatus1": 100, //可选,库存充足标准
+        "warrantyday": 1, //可选,保修期(年)
+        "iswuliao": 0, //可选,是否营销物料
+        "isservice": 0, //可选,是否服务物料
+        "butterflyplatedrive": "",
+        "connection": "",
+        "valveplatematerial": "",
+        "bodymaterial": "",
+        "actuatortype": "",
+        "actuatorbrand": "",
+        "isbutterfly": 0,
+        "erpitemno": "",
+        "erpitemname": "",
+        "specalnote": "",
+        "prodline": "",
+        "device": ""
+      }
     },
     clearCover () {
       this.queryMain()
     },
-    async showImage(){
-      const res = await this.$api.requested({
-        "classname": "system.attachment.Attachment",
-        "method": "queryFileLink",
-        "content": {
-          "ownertable": "plm_item",
-          "ownerid": this.form.itemid,
-          "usetype":"default"//传空返回有所
-        }
-      })
-      console.log("查询上传结果")
-      console.log(res)
-      this.form.attinfos = res.data[0]
-    }
   },
   mounted () {
-    console.log(this.data,"接收数据")
-    this.queryMain(()=>{
-      this.unitlist()
-      this.unitGrouplist()
-    })
+    
   }
 }
 

+ 1 - 0
src/HDrpManagement/invoiceapp/modules/edit.vue

@@ -170,6 +170,7 @@ export default {
     // 选择开票信息
     selectTaxRow (row) {
       this.visible1 = false
+      this.form.sys_enterpriseid = 0
       this.form.invo_enterprisename = row.enterprisename
       this.form.taxno = row.taxno
       this.form.address = row.address

+ 196 - 0
src/SDrpManagement/ProductGroup/index copy.vue

@@ -0,0 +1,196 @@
+<template>
+  <div class="group container normal-panel normal-margin">
+    <selectClass @brandChange="brandChange" @Search="Search" @clearSearch="clearSearch" :default="true"></selectClass>
+    <div class="content" v-if="Object.keys(productGroup).length > 0">
+      <div class="group-list">
+        <div class="group-item" v-for="item in productGroup" :key="item.sa_itemgroupid" @click="itemClick(item)">
+          <div class="top">
+            <el-image :src="Object.keys(item.attinfos).length > 0 ? item.attinfos[0].url : ''" fit="fill" />
+          </div>
+          <div class="bottom">
+            <p class="title">商品组名称:{{item.groupname}}</p>
+            <p class="descript">商品组编号:{{item.groupnum}}</p>
+            <p class="descript">所属营销分类:{{item.itemclassname}}</p>
+            <p class="price descript">价格:<span style="color:red;font-size:18px">{{item.minprice}}</span>~<span style="color:red;font-size:14px">{{item.maxprice}}</span></p>
+          </div>
+        </div>
+      </div>
+      <div class="page">
+        <pagination style="padding-bottom:0" :total="total" :pageSize="params.content.pageSize" :currentPage="params.content.pageNumber"
+          @pageChange="pageChange">
+        </pagination>
+      </div>
+      
+    </div>
+    <el-empty description="暂无数据" v-else></el-empty>
+    
+  </div>
+</template>
+
+<script>
+import selectClass from './modules/Select'
+import Pagination from '@/components/pagination/Pagination'
+import { log } from '@antv/g2plot/lib/utils';
+export default {
+  name: '',
+  data() {
+    return {
+      brandList:'',
+      brandId:0,
+      tablecols:[],
+      productGroup:'',
+      params: {
+        "id": "20220926142203",
+        "version":1,
+        "content": {
+          "pageSize":20,
+          "pageNumber":1,
+          "nocache":true,
+          "brandids":[],
+          "where":{
+              "condition":""
+          }
+        }
+      },
+      total:0,
+    };
+  },
+  components:{selectClass,Pagination},
+  computed:{
+  },
+  watch:{
+  },
+  created() {
+    this.getbrandList()
+    this.tablecols = this.tool.tabelCol(this.$route.name).productGroupTable.tablecols
+  },
+  methods: {
+    /* 获取品牌数据 */
+    async getbrandList() {
+      let res = await this.$api.requested({
+        "id": "20220922085103",
+        "version":1,
+        "content": {
+          "nocache":true,
+          "where":{
+              "condition":""
+          }
+        }
+      })
+      this.brandList = res.data.map(item => {
+        return {
+          label:item.brandname,
+          value:item.sa_brandid
+        }
+      })
+      this.brandId = this.brandList ? [this.brandList[0].value] : [0]
+      this.getProductGroup()
+      console.log(this.brandList,'品牌');
+    },
+    async getProductGroup() {
+      this.params.content.brandids = this.brandId
+      let res = await this.$api.requested(this.params)
+      this.productGroup = res.data
+      this.total = res.total
+      console.log(this.productGroup);
+    },
+    itemClick(id) {
+      this.$router.push({
+        path:'/groupDetail',
+        query: {
+          id:id.sa_itemgroupid,
+          brandid:id.sa_brandid
+        }
+      })
+    },
+    brandChange(id) {
+      this.brandId = id
+      this.getProductGroup()
+    },
+    pageChange(n) {
+      this.params.content.pageNumber = n
+      this.getProductGroup()
+    },
+    Search(data) {
+      this.params.content.where.condition = data
+      this.params.content.pageNumber = 1
+      this.getProductGroup()
+    },
+    clearSearch() {
+      this.params.content.where.condition = ''
+      this.params.content.pageNumber = 1
+      this.getProductGroup()
+    }
+  },
+};
+</script>
+
+<style scoped>
+.content{
+  height:calc(100vh - 250px)
+}
+.group .group-list {
+  display: flex;
+  flex-wrap: wrap;
+  margin-top: 16px;
+}
+.group .group-list .group-item {
+  max-width: 261px;
+  height: 270px;
+  background: #ffffff;
+  transition: all 0.1s ease-in;
+  cursor: pointer;
+  border: 1px solid rgb(0,0,0,0.2);
+  overflow: hidden;
+}
+.group .group-list .group-item .el-image {
+  transition: transform 0.3s;
+}
+.group .group-list .group-item:hover .top .el-image {
+  transform: scale(1.3);
+}
+.group .group-list .group-item .top {
+  width: 212px;
+  height: 150px;
+  border-top-right-radius: 4px;
+  border-top-left-radius: 4px;
+  overflow: hidden;
+  display: flex;
+  justify-content: space-around;
+}
+.group .group-list .group-item .bottom {
+  padding: 10px 18px 10px 16px;
+}
+.group .group-list .group-item .bottom .title {
+  font-size: 14px;
+  font-family: PingFang SC-Bold, PingFang SC;
+  font-weight: bold;
+  color: #333333;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  width: 100%;
+  margin-bottom: 5px;
+}
+.group .group-list .group-item .bottom .descript {
+  font-size: 12px;
+  font-family: PingFang SC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #666666;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  width: 100%;
+  margin-bottom: 4px;
+}
+.group .group-list .group-item .bottom .people {
+  font-size: 10px;
+  font-family: PingFang SC-Regular, PingFang SC;
+  font-weight: 400;
+  color: #999999;
+}
+.page {
+  display: flex;
+  flex-direction: row-reverse;
+}
+</style>

+ 11 - 5
src/SDrpManagement/ProductGroup/index.vue

@@ -126,20 +126,26 @@ export default {
 </script>
 
 <style scoped>
+@media only screen and (max-width: 1200px) {
+  .gtc {
+    grid-template-columns: repeat(8, 1fr);
+  }
+}
 .content{
   height:calc(100vh - 250px)
 }
 .group .group-list {
-  display: flex;
-  flex-wrap: wrap;
-  margin-top: 16px;
+    display: grid;
+    column-gap: 24px;
+    box-sizing: border-box;
+    background-color: transparent;
+    grid-template-columns: repeat(8, 1fr);
 }
 .group .group-list .group-item {
-  width: 212px;
+  max-width: 261px;
   height: 270px;
   background: #ffffff;
   transition: all 0.1s ease-in;
-  margin: 0 16px 16px 0;
   cursor: pointer;
   border: 1px solid rgb(0,0,0,0.2);
   overflow: hidden;

+ 74 - 15
src/SDrpManagement/ProductGroup/modules/Select.vue

@@ -1,13 +1,23 @@
 <template>
   <div class="border-bottom">
-    <div class="flex-align-center flex-between mt-10">
-      <ul class="flex-align-center">
-        <li :class="brand_act === item.itemclassid?'act':''" class="brand-item" v-for="item in brands" :key="item.itemclassid" @click="clickBrand(item.itemclassid)">{{item.itemclassname}}</li>
-      </ul>
-      <div class="flex-align-center">
+    <!-- <div class="flex-align-center">
         <el-input size="small" v-model="value" placeholder="产品名称,编号0" @clear="clearSearch" @keyup.enter.native="change" clearable></el-input>&nbsp;
         <slot name="add"></slot>
-      </div>
+      </div> -->
+    <div>
+      <ul class="flex-align-center normal-margin">
+        <li style="color:#999;font-size: 14px;">领域:</li>
+        <li :class="field_act === item.sys_enterprise_tradefieldid?'act':''" class="brand-item" v-for="item in fields" :key="item.sys_enterprise_tradefieldid" @click="clickField(item.sys_enterprise_tradefieldid)">{{item.tradefield}}</li>
+      </ul>
+      <ul class="flex-align-center normal-margin">
+        <li style="color:#999;font-size: 14px;">品牌:</li>
+        <li :class="brand_act === item.sa_brandid?'act':''" class="brand-item" v-for="item in brands" :key="item.sa_brandid" @click="clickBrand(item.sa_brandid)">{{item.brandname}}</li>
+      </ul>
+      <ul class="flex-align-center normal-margin">
+        <li style="color:#999;font-size: 14px;">分类:</li>
+        <li :class="class_act === item.itemclassnum?'act':''" class="brand-item" v-for="item in itemclass" :key="item.itemclassnum" @click="clickClass(item)">{{item.itemclassname}}</li>
+      </ul>
+      <classTree v-if="show" style="padding-left:31px" :data="activeClass.subdep"></classTree>
     </div>
     <div>
 
@@ -16,12 +26,19 @@
 </template>
 
 <script>
+import classTree from './classTree.vue'
 export default {
   data () {
     return {
       value:'',
       brands:[],
-      brand_act:this.default ? this.brands ? this.brands[0].sa_brandid : 0 : 0
+      fields:[],
+      itemclass:[],
+      activeClass:{},
+      field_act:0,
+      brand_act:0,
+      class_act:0,
+      show:true,
     }
   },
   props: {
@@ -30,11 +47,32 @@ export default {
       default:() => false
     }
   },
+  components:{
+    classTree
+  },
   methods:{
+    async queryAgentiInfo () {
+      const res = await this.$api.requested({
+        "id": "20221022165203",
+        "content": {}
+      })
+      const res1 = await this.$api.requested({
+        "id": 20221223141802,
+        "content": {
+            "sys_enterpriseid": res.data.sys_enterpriseid,
+            "pageNumber": 1,
+            "pageSize": 20,
+            "where": {
+              "condition": ""
+            }
+        }
+      })
+      this.fields = res1.data
+      this.field_act = res1.data[0].sys_enterprise_tradefieldid
+    },
     async queryBrands () {
       const res = await this.$api.requested({
-        "id": "20221219113503",
-        "version":1,
+        "id": "20220924163702",
         "content": {
           "pageSize":1000,
           "where":{
@@ -42,13 +80,32 @@ export default {
           }
         }
       })
-      console.log(res.data,'分类查询')
       this.brands = res.data
+      this.brand_act = this.brands[0].sa_brandid
+      this.queryClass()
+    },
+
+    async queryClass () {
+      const res = await this.$api.requested({
+        "id":"20220922110403","content":{"sa_brandid":this.brand_act}
+      })
+      console.log(res.data,'pop')
+      this.itemclass = res.data[0].ttemclass
     },
     clickBrand (id) {
       this.brand_act = id
-      
-      this.$emit('brandChange',[id])
+      this.queryClass()
+    },
+    clickField (id) {
+      this.field_act = id
+    },
+    clickClass (item) {
+      this.activeClass = item
+      this.class_act = item.itemclassnum
+      this.show = false
+      setTimeout(() => {
+        this.show = true
+      }, 100);
     },
     change(n) {
       this.$emit('Search',this.value)
@@ -58,6 +115,7 @@ export default {
     }
   },
   mounted () {
+    this.queryAgentiInfo()
     this.queryBrands()
   }
 }
@@ -67,16 +125,17 @@ export default {
 </style>
 <style scoped>
 .brand-item{
-  margin-right: 20px;
-  color: #768093;
+  margin:0 25px;
+  color: #333;
   cursor: pointer;
   transition: .2s all linear;
   font-size: 14px;
 }
 .act{
-  color:#000;
+  color:#3874f6;
 }
 .border-bottom{
+  padding-bottom:16px;
   border-bottom: 1px solid #e3e5ea;
 }
 

+ 48 - 0
src/SDrpManagement/ProductGroup/modules/classTree.vue

@@ -0,0 +1,48 @@
+<template>
+  <div>
+    <div class="normal-margin">
+      <div class="class-item"  :class="class_act === item.itemclassnum?'act':''" v-for="item in data" :key="item.index" @click="classClick(item)">
+        {{item.itemclassname}}
+      </div>
+    </div>
+    <Tree v-if="activeClass.subdep && show" :data="activeClass.subdep"></Tree>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "Tree",
+  props:['data'],
+  data () {
+    return {
+      activeClass:{},
+      show:true,
+      class_act:0,
+    }
+  },
+  methods:{
+    classClick (item) {
+     this.activeClass = item
+     this.class_act = item.itemclassnum
+     this.show = false
+     setTimeout(() => {
+      this.show = true
+     }, 100);
+    },
+  }
+}
+</script>
+<style scoped>
+.class-item{
+  margin:0 25px;
+  color: #333;
+  cursor: pointer;
+  transition: .2s all linear;
+  font-size: 14px;
+  
+}
+.act{
+  color:#3874f6;
+}
+
+</style>

+ 1 - 0
src/SDrpManagement/sinvoiceapp/modules/edit.vue

@@ -172,6 +172,7 @@ export default {
     // 选择开票信息
     selectTaxRow (row) {
       this.visible1 = false
+      this.form.sys_enterpriseid = 0
       this.form.invo_enterprisename = row.enterprisename
       this.form.taxno = row.taxno
       this.form.address = row.address

+ 2 - 2
src/components/newLayout/modules/menu.vue

@@ -2,11 +2,11 @@
   <div class="menu_panel">
     <div  v-if="show">
       <el-menu router v-if="show"  :default-active="activeIndex" active-text-color="#3874f6" text-color="#333" class="el-menu-demo shadow" mode="horizontal" @select="handleSelect">
-        <el-submenu v-show="hasMoreApp(mod)" v-for="(mod,index) in sys_modules" :key="index" :index="String(index)">
+        <el-submenu v-for="(mod,index) in sys_modules" :key="index" :index="String(index)">
           <template slot="title"><b>{{mod.systemmodulename}}</b></template>
           <el-menu-item :index="app.path" v-for="(app) in mod.apps" :key="app.index" @click="setActiveModules(mod,app)">{{app.meta.title}}</el-menu-item>
         </el-submenu>
-        <el-menu-item v-show="!hasMoreApp(mod)" :index="mod.path" v-for="(mod) in sys_modules" :key="mod.index" @click="setActiveModules(mod,mod.apps[0])"><b>{{mod.systemmodulename}}</b></el-menu-item>
+        <!-- <el-menu-item v-show="!hasMoreApp(mod)" :index="mod.path" v-for="(mod) in sys_modules" :key="mod.index" @click="setActiveModules(mod,mod.apps[0])"><b>{{mod.systemmodulename}}</b></el-menu-item> -->
       </el-menu>
     </div>
   </div>