Bladeren bron

feat:供应商段添加竞单人字段

snow 1 jaar geleden
bovenliggende
commit
8e08a8c04e

+ 15 - 0
src/views/goodStore/goodsCost/columns.js

@@ -622,6 +622,21 @@ const basicColumns = [
     label: '供应商',
     span: 12
   },
+  {
+    prop: 'cgd_supplier_name',
+    label: '采购供应商',
+    span: 12
+  },
+  {
+    prop: 'supplier_origin_price',
+    label: '供应商采购成本',
+    span: 6
+  },
+  {
+    prop: 'cgd_apply_name',
+    label: '竞单人',
+    span: 6
+  },
   {
     prop: 'brand_name',
     label: '商品品牌',

+ 38 - 0
src/views/goodStore/supplierGoodsCost/columns.js

@@ -554,6 +554,29 @@ const rules = {
       validator: validate_desc,
       trigger: 'blur'
     }
+  ],
+  supplier_origin_price: [
+    {
+      required: true,
+      message: "请输入供货商采购成本价",
+      trigger: "change"
+    }
+  ],
+  cgd_apply_id:[
+    {
+      type:'array',
+      required: true,
+      message: "请选择竞单人",
+      trigger: "change"
+    }
+  ],
+  cgd_supplier_code: [
+    {
+      type: "array",
+      required: true,
+      message: "请选择采购供应商",
+      trigger: "change",
+    }
   ]
 }
 
@@ -592,6 +615,21 @@ const basicColumns = [
     label: '供应商',
     span: 12
   },
+  {
+    prop: 'cgd_supplier_name',
+    label: '采购供应商',
+    span: 12
+  },
+  {
+    prop: 'supplier_origin_price',
+    label: '供应商采购成本',
+    span: 6
+  },
+  {
+    prop: 'cgd_apply_name',
+    label: '竞单人',
+    span: 6
+  },
   {
     prop: 'brand_name',
     label: '商品品牌',

+ 85 - 0
src/views/goodStore/supplierGoodsCost/components/baseFormNormal.vue

@@ -96,6 +96,52 @@
                 ></el-input>
               </el-form-item>
             </el-col>
+
+            <el-col :span="8">
+                 <el-form-item label="供应商采购成本" label-width="130px" prop="supplier_origin_price">
+                   <digital-input
+                     :values="ruleForm.supplier_origin_price"
+                     :placeholder="'供应商采购成本'"
+                     :min="0"
+                     :disabled="type === 'view' || is_noble"
+                     :max="100000000000"
+                     :position="'right'"
+                     :precision="2"
+                     :size="'mini'"
+                     :controls="false"
+                     :append="'元'"
+                     @reschange="number_change_origin($event)"
+                   />
+               </el-form-item>
+              </el-col>
+
+              <el-col :span="8">
+                <el-form-item label="采购供应商" label-width="120px" prop="cgd_supplier_code">
+                  <search-supplier
+                    :value="ruleForm.cgd_supplier_code"
+                    :placeholder="'采购供应商'"
+                    :size="'mini'"
+                    :names="cgdSupplierName"
+                    :disabled="type === 'view'"
+                    :isDetail="true"
+                    @searchChange="supplierCgdChange"
+                  />
+                </el-form-item>
+              </el-col>
+
+              <el-col :span="8">
+                <el-form-item label="竞单人" prop="cgd_apply_id">
+                   <search-account
+                    :value="ruleForm.cgd_apply_id"
+                    :disabled="type === 'view'"
+                    :isDetail="type !== 'add'"
+                    :names="ruleForm.cgd_apply_name"
+                    :size="searchSize"
+                    :placeholder="'竞单人'"
+                    @searchChange="handleResignName"
+                  />
+                </el-form-item>
+              </el-col>
           </el-row>
 
           <el-row>
@@ -1200,6 +1246,7 @@ export default {
   },
   data() {
     return {
+      cgdSupplierName: "",
       isStockOptions,
       areaInfo: {
         delivery_place: {
@@ -1260,6 +1307,26 @@ export default {
     this.initForm();
   },
   methods: {
+    async handleResignName(evt) {
+      const { id,label} = evt;
+      this.ruleForm.cgd_apply_id = id ? [id] : [];
+      this.ruleForm.cgd_apply_name = label || "";
+      this.$refs.ruleForm.validateField("cgd_apply_id")
+    },
+    number_change_origin(e){
+      this.ruleForm['supplier_origin_price'] = e + "" || "0";
+      this.$refs.ruleForm && this.$refs.ruleForm.validateField('supplier_origin_price');
+    },
+    supplierCgdChange(e){
+      const { id, code, label } = e;
+      if (id) {
+        this.ruleForm.cgd_supplier_code = [code];
+      } else {
+        this.ruleForm.cgd_supplier_code = [];
+      }
+
+      this.$refs.ruleForm.validateField("cgd_supplier_code");
+    },
     num_change(evt, index) {
       this.$set(this.childTableData, index, {
         ...this.childTableData[index],
@@ -1530,6 +1597,10 @@ export default {
             model.speclist = JSON.parse(JSON.stringify(this.setResData(1)));
             model.good_ladder = JSON.parse(JSON.stringify(this.setResData(2)));
             model.config = model.config.toString();
+
+            model.cgd_apply_id = Array.isArray(model.cgd_apply_id) ?  model.cgd_apply_id[0] : "";
+            model.cgd_supplier_code = Array.isArray(model.cgd_supplier_code) ? model.cgd_supplier_code[0] : "";
+
             model.is_exclusive =
               model.is_exclusive.length > 0
                 ? model.is_exclusive[model.is_exclusive.length - 1]
@@ -1920,6 +1991,10 @@ export default {
 
       this.ruleForm = {
         id: "",
+        supplier_origin_price: "0.00",
+        cgd_apply_id: [],
+        cgd_apply_name: "",
+        cgd_supplier_code: [],
         spuCode: "",
         cat_id: [],
         brandid: [],
@@ -1986,6 +2061,11 @@ export default {
           this.old_ladder_tableData = [];
           const {
             id,
+            cgd_supplier_name,
+            supplier_origin_price,
+            cgd_apply_id,
+            cgd_apply_name,
+            cgd_supplier_code,
             companyName,
             spuCode, //string	商品spuCode
             // good_code, //string	无
@@ -2063,6 +2143,7 @@ export default {
           }
 
           this.companyName = companyName;
+          this.cgdSupplierName = cgd_supplier_name;
 
           if (this.type !== "add") {
             this.childTableData = combind_list.map(
@@ -2145,6 +2226,10 @@ export default {
 
           this.ruleForm = {
             id: id || "",
+            supplier_origin_price: supplier_origin_price || "0.00",
+            cgd_apply_id: cgd_apply_id ? [cgd_apply_id] : [],
+            cgd_apply_name: cgd_apply_name ? cgd_apply_name : "",
+            cgd_supplier_code:cgd_supplier_code ? [cgd_supplier_code] : [],
             spuCode: spuCode || "",
             cat_id:
               cat_id && cat_id.length > 0 ? [cat_id[cat_id.length - 1]] : [],

+ 57 - 56
src/views/supplierPurchaseIn/supplierWorkbench/components/baseForm.vue

@@ -36,6 +36,7 @@
             :names="supplierNo_name"
             disabled
             :isDetail="true"
+            :isp="true"
             @searchChange="supplierNosearchChange"
           />
         </el-form-item>
@@ -54,6 +55,52 @@
         </el-form-item>
       </el-col>
 
+        <el-col :span="8">
+          <el-form-item label="供应商采购成本" label-width="130px" prop="supplier_origin_price">
+            <digital-input
+              :values="ruleForm.supplier_origin_price"
+              :placeholder="'供应商采购成本'"
+              :min="0"
+              :disabled="type === 'view' || is_noble"
+              :max="100000000000"
+              :position="'right'"
+              :precision="2"
+              :size="'mini'"
+              :controls="false"
+              :append="'元'"
+              @reschange="number_change_origin($event)"
+            />
+        </el-form-item>
+       </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="采购供应商" label-width="120px" prop="cgd_supplier_code">
+            <search-supplier
+              :value="ruleForm.cgd_supplier_code"
+              :placeholder="'采购供应商'"
+              :size="'mini'"
+              :names="cgd_supplier_name"
+              :disabled="type === 'view'"
+              :isDetail="true"
+              @searchChange="supplierCgdChange"
+            />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="竞单人" prop="cgd_apply_id">
+             <search-account
+              :value="ruleForm.cgd_apply_id"
+              :disabled="type === 'view'"
+              :isDetail="type !== 'add'"
+              :names="ruleForm.cgd_apply_name"
+              :size="searchSize"
+              :placeholder="'竞单人'"
+              @searchChange="handleResignName"
+            />
+          </el-form-item>
+        </el-col>
+
       <el-col :span="5">
         <el-form-item label="有效期" prop="expire_day">
           <digital-input
@@ -448,54 +495,6 @@
         </el-form-item>
       </el-col>
 
-      <template v-if="hasAccount">
-        <el-col :span="8">
-          <el-form-item label="供应商采购成本" label-width="130px" prop="supplier_origin_price">
-            <digital-input
-              :values="ruleForm.supplier_origin_price"
-              :placeholder="'供应商采购成本'"
-              :min="0"
-              :disabled="type === 'view' || is_noble"
-              :max="100000000000"
-              :position="'right'"
-              :precision="2"
-              :size="'mini'"
-              :controls="false"
-              :append="'元'"
-              @reschange="number_change_origin($event)"
-            />
-        </el-form-item>
-       </el-col>
-
-        <el-col :span="8">
-          <el-form-item label="采购供应商" label-width="120px" prop="cgd_supplier_code">
-            <search-supplier
-              :value="ruleForm.cgd_supplier_code"
-              :placeholder="'采购供应商'"
-              :size="'mini'"
-              :names="cgd_supplierNo_name"
-              :disabled="type === 'view'"
-              :isDetail="true"
-              @searchChange="supplierCgdChange"
-            />
-          </el-form-item>
-        </el-col>
-
-        <el-col :span="8">
-          <el-form-item label="竞单人" prop="cgd_apply_id">
-             <search-account
-              :value="ruleForm.cgd_apply_id"
-              :disabled="type === 'view'"
-              :isDetail="type !== 'add'"
-              :names="ruleForm.cgd_apply_name"
-              :size="searchSize"
-              :placeholder="'竞单人'"
-              @searchChange="handleResignName"
-            />
-          </el-form-item>
-        </el-col>
-      </template>
-
       <el-col :span="24" v-show="pid + '' === '6'">
         <el-col :span="6">
           <el-form-item label="金属重量" prop="noble_weight">
@@ -745,7 +744,7 @@ export default {
 
   data() {
     return {
-      hasAccount: false,
+      cgd_supplier_name: "",
       areaInfo:{
         delivery_place:{
           code:[],
@@ -923,7 +922,6 @@ export default {
       if (code === 0) {
         const {
           bidNo,
-          cgd_supplier_name,
           supplier_origin_price,
           cgd_apply_id,
           cgd_apply_name,
@@ -968,11 +966,10 @@ export default {
           nake_fee,
           other_config,
           supplierName,
+          cgd_supplier_name,
           specinfo,
         } = JSON.parse(JSON.stringify(data));
 
-        this.hasAccount = supplier_origin_price && supplier_origin_price.length > 0;
-
         if(this.type !== 'add'){
           this.areaInfo.origin_place.code =    origin_place ? [origin_place.split(',')[2]] : []
           this.areaInfo.origin_place.label =   origin_place_cn ? [origin_place_cn] : []
@@ -993,6 +990,7 @@ export default {
           });
         }
 
+        this.cgd_supplier_name = cgd_supplier_name || "";
         this.supplierNo_name =  supplierName || "";
         this.is_noble = is_gold_price === "1" && this.pid === "6";
         // this.is_noble = this.askItem.is_metal;
@@ -1081,11 +1079,10 @@ export default {
               this.loading = false;
               return;
             }
+            
             let model = JSON.parse(JSON.stringify(this.ruleForm));
-            model.supplier_origin_price = this.hasAccount ? model.supplier_origin_price : "";
-            model.cgd_apply_id = this.hasAccount ? model.cgd_apply_id[0] : "";
-            model.cgd_apply_name = this.hasAccount ? model.cgd_apply_name : "";
-            model.cgd_supplier_code = this.hasAccount ? model.cgd_supplier_code[0] : "";
+            model.cgd_apply_id = Array.isArray(model.cgd_apply_id) ? model.cgd_apply_id[0] :  model.cgd_apply_id;
+            model.cgd_supplier_code = Array.isArray(model.cgd_supplier_code) ? model.cgd_supplier_code[0] : model.cgd_supplier_code;
 
             model.cat_id = model.cat_id[model.cat_id.length - 1];
             model.brandid = model.brandid.toString();
@@ -1162,6 +1159,10 @@ export default {
           let good_img = this.askItem.good_img ? this.askItem.good_img.split(",") : [];
           //this.type === "add" ? this.askItem.unit_name : "";
           this.ruleForm = {
+            supplier_origin_price: "0.00",
+            cgd_apply_id: [],
+            cgd_apply_name: "",
+            cgd_supplier_code: [],
             infoNo: this.id || "",
             cat_id: this.type === "add" ? [this.askItem.cat_id] : [],
             supplierNo: [],