戴艳蓉 3 jaren geleden
bovenliggende
commit
34a41476ce

+ 1 - 1
src/views/purchaseIn/workbench/columns.js

@@ -205,7 +205,7 @@ const rules = {
   brandid: [
     {
       type: "array",
-      required: false,
+      required: true,
       message: "商品品牌",
       trigger: "change",
     },

+ 222 - 174
src/views/purchaseIn/workbench/components/baseForm.vue

@@ -27,21 +27,33 @@
           >保 存
         </el-button>
       </el-col>
-      <el-col :span="12">
-        <el-form-item label="分类" prop="cat_id">
-          <search-sort
-            :value="ruleForm.cat_id"
-            :placeholder="'分类'"
+      <el-col :span="16">
+        <el-form-item label="供应商" prop="supplierNo">
+          <search-supplier
+            :value="ruleForm.supplierNo"
+            :placeholder="'供应商'"
             :size="'mini'"
-            :names="cat_id_name"
             :disabled="type === 'view'"
             :isDetail="type !== 'add'"
-            @searchChange="cat_id_change"
+            @searchChange="supplierNosearchChange"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="8">
+        <el-form-item label="品牌" prop="brandid" label-width="60px">
+          <search-brand
+            :value="ruleForm.brandid"
+            :size="'mini'"
+            :disabled="type === 'view'"
+            :isDetail="type !== 'add'"
+            :names="brand_name"
+            :placeholder="'品牌'"
+            @searchChange="brandidsearchChange"
           />
         </el-form-item>
       </el-col>
 
-      <el-col :span="6">
+      <el-col :span="5">
         <el-form-item label="有效期" prop="expire_day">
           <digital-input
             :values="ruleForm.expire_day"
@@ -58,7 +70,7 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="6">
+      <el-col :span="5">
         <el-form-item label="物流时间" prop="delivery_day">
           <digital-input
             :values="ruleForm.delivery_day"
@@ -75,23 +87,11 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="12">
-        <el-form-item label="产地" prop="origin_place">
-          <select-area
-            :placeholder="'产地'"
-            :value="ruleForm.origin_place"
-            :size="'mini'"
-            :disabled="type === 'view'"
-            :is-detail="id !== 'add'"
-            @selectChange="selectAreaorigin_place"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col :span="6">
-        <el-form-item label="产品工期" prop="work_day">
+      <el-col :span="5">
+        <el-form-item label="生产工期" prop="work_day">
           <digital-input
             :values="ruleForm.work_day"
-            :placeholder="'产工期'"
+            :placeholder="'生产工期'"
             :min="0"
             :max="100000000000"
             :disabled="type === 'view'"
@@ -104,8 +104,20 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="6">
-        <el-form-item label="单位" prop="unit_id">
+      <el-col :span="5">
+        <el-form-item label="税点" prop="tax" label-width="60px">
+          <search-tax
+            :value="ruleForm.tax"
+            :size="'mini'"
+            :disabled="type === 'view'"
+            :isDetail="type !== 'add'"
+            :placeholder="'税点'"
+            @searchChange="taxsearchChange"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="4">
+        <el-form-item label="单位" prop="unit_id" label-width="60px">
           <search-unit
             :value="ruleForm.unit_id"
             :size="'mini'"
@@ -117,17 +129,98 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="16">
-        <el-form-item label="商品名称" prop="pname">
-          <el-input
-            placeholder="商品名称"
-            maxlength="100"
-            :disabled="type === 'view'"
-            v-model="ruleForm.pname"
-          ></el-input>
-        </el-form-item>
+
+      <el-col :span="24">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="分类" prop="cat_id">
+              <search-sort
+                :value="ruleForm.cat_id"
+                :placeholder="'分类'"
+                :size="'mini'"
+                :names="cat_id_name"
+                :disabled="type === 'view'"
+                :isDetail="type !== 'add'"
+                @searchChange="cat_id_change"
+              />
+            </el-form-item>
+            <el-form-item label="商品名称" prop="pname">
+              <el-input
+                placeholder="商品名称"
+                maxlength="100"
+                :disabled="type === 'view'"
+                v-model="ruleForm.pname"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="产地" prop="origin_place">
+              <select-area
+                :placeholder="'产地'"
+                :value="ruleForm.origin_place"
+                :size="'mini'"
+                :disabled="type === 'view'"
+                :is-detail="id !== 'add'"
+                @selectChange="selectAreaorigin_place"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12" style="padding: 0 0 0 15px">
+            <el-table
+              :data="spec_tableData"
+              :size="'mini'"
+              border
+              style="width: 100%"
+              height="120px"
+            >
+              <el-table-column prop="spec_name" label="规格类型" />
+              <el-table-column prop="spec_value_name" label="规格值" />
+              <el-table-column
+                fixed="right"
+                width="88px"
+                v-if="type !== 'view'"
+              >
+                <template slot="header" slot-scope="scope">
+                  <span>操作</span>
+                  <el-tooltip
+                    class="item"
+                    effect="dark"
+                    content="添加规格类型"
+                    placement="top"
+                  >
+                    <i
+                      class="el-icon-circle-plus-outline fr"
+                      style="font-size: 18px; margin-top: 2px"
+                      @click="openEdit('-1', {})"
+                    />
+                  </el-tooltip>
+                </template>
+                <template slot-scope="scope">
+                  <el-tooltip effect="dark" content="修改" placement="top">
+                    <i
+                      class="el-icon-edit tb-icon"
+                      @click="openEdit(scope.$index, scope.row)"
+                    ></i>
+                  </el-tooltip>
+                  <el-tooltip effect="dark" content="删除" placement="top">
+                    <i
+                      class="el-icon-delete tb-icon"
+                      @click="openDelete(scope.$index)"
+                    ></i>
+                  </el-tooltip>
+                </template>
+              </el-table-column>
+            </el-table>
+            <!-- 弹窗 新增/修改 -->
+            <!-- <base-form-add-edit
+              :index="modelIndex"
+              :show-model="showOtherModel"
+              :sitem="modelSitem"
+              @refresh="refreshEdit"
+              @cancel="showOtherModel = false"
+            /> -->
+          </el-col>
+        </el-row>
       </el-col>
-      <el-col :span="8">
+      <el-col :span="6">
         <el-form-item label="总重量" prop="weight">
           <digital-input
             :values="ruleForm.weight"
@@ -144,89 +237,56 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="16">
-        <el-form-item label="供应商" prop="supplierNo">
-          <search-supplier
-            :value="ruleForm.supplierNo"
-            :placeholder="'供应商'"
-            :size="'mini'"
-            :disabled="type === 'view'"
-            :isDetail="type !== 'add'"
-            @searchChange="supplierNosearchChange"
-          />
-        </el-form-item>
-      </el-col>
-      <el-col :span="8">
-        <el-form-item label="税点" prop="tax">
-          <search-tax
-            :value="ruleForm.tax"
-            :size="'mini'"
-            :disabled="type === 'view'"
-            :isDetail="type !== 'add'"
-            :placeholder="'税点'"
-            @searchChange="taxsearchChange"
-          />
-        </el-form-item>
-      </el-col>
-
-      <el-col :span="8">
-        <el-form-item label="颜色" prop="color">
-          <el-input
-            placeholder="颜色"
-            :disabled="type === 'view'"
-            v-model="ruleForm.color"
-            maxlength="50"
-          />
-        </el-form-item>
-      </el-col>
-
-      <el-col :span="8">
-        <el-form-item label="型号" prop="model">
-          <el-input
-            placeholder="型号"
-            :disabled="type === 'view'"
-            v-model="ruleForm.model"
-            maxlength="50"
-          />
-        </el-form-item>
-      </el-col>
-
-      <el-col :span="8">
-        <el-form-item label="材质" prop="material">
-          <el-input
-            placeholder="材质"
+      <el-col :span="6">
+        <el-form-item label="供货区域" prop="supply_area">
+          <el-select
+            v-model="ruleForm.supply_area"
+            filterable
             :disabled="type === 'view'"
-            v-model="ruleForm.material"
-            maxlength="50"
-          />
+            clearable
+            style="width: 100%"
+            placeholder="供货区域"
+          >
+            <el-option
+              v-for="group in options6"
+              :key="group.id"
+              :label="group.name"
+              :value="group.id"
+            />
+          </el-select>
         </el-form-item>
       </el-col>
-
-      <el-col :span="8">
-        <el-form-item label="品牌" prop="brandid">
-          <search-brand
-            :value="ruleForm.brandid"
-            :size="'mini'"
+      <el-col :span="6">
+        <el-form-item label="付款方式" prop="pay_way" class="clear">
+          <el-select
+            v-model="ruleForm.pay_way"
+            filterable
             :disabled="type === 'view'"
-            :isDetail="type !== 'add'"
-            :names="brand_name"
-            :placeholder="'品牌'"
-            @searchChange="brandidsearchChange"
-          />
+            clearable
+            style="width: 100%"
+            placeholder="付款方式"
+          >
+            <el-option
+              v-for="group in options10"
+              :key="group.id"
+              :label="group.name"
+              :value="group.id"
+            />
+          </el-select>
         </el-form-item>
       </el-col>
-      <el-col :span="8">
-        <el-form-item label="供货区域" prop="supply_area">
+      <el-col :span="6">
+        <el-form-item label="发货方式" prop="send_way" class="clear">
           <el-select
-            v-model="ruleForm.supply_area"
+            v-model="ruleForm.send_way"
             filterable
-            :disabled="type === 'view'"
             clearable
+            :disabled="type === 'view'"
             style="width: 100%"
-            placeholder="供货区域"
+            placeholder="发货方式"
           >
             <el-option
-              v-for="group in options6"
+              v-for="group in options11"
               :key="group.id"
               :label="group.name"
               :value="group.id"
@@ -234,8 +294,7 @@
           </el-select>
         </el-form-item>
       </el-col>
-
-      <el-col :span="8">
+      <el-col :span="6">
         <el-form-item label="证书费" prop="cert_fee">
           <digital-input
             :values="ruleForm.cert_fee"
@@ -252,7 +311,7 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="8">
+      <el-col :span="6">
         <el-form-item label="包装费" prop="pakge_fee">
           <digital-input
             :values="ruleForm.pakge_fee"
@@ -269,7 +328,7 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="8">
+      <el-col :span="6">
         <el-form-item label="工艺费" prop="cost_fee">
           <digital-input
             :values="ruleForm.pcost_fee"
@@ -286,7 +345,7 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="8">
+      <el-col :span="6">
         <el-form-item label="加标费" prop="mark_fee">
           <digital-input
             :values="ruleForm.mark_fee"
@@ -303,7 +362,7 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="8">
+      <el-col :span="6">
         <el-form-item label="打样费" prop="demo_fee">
           <digital-input
             :values="ruleForm.demo_fee"
@@ -320,7 +379,7 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="8">
+      <el-col :span="6">
         <el-form-item label="开模费" prop="open_fee">
           <digital-input
             :values="ruleForm.open_fee"
@@ -337,7 +396,7 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="8">
+      <el-col :span="6">
         <el-form-item label="物流费" prop="delivery_fee">
           <digital-input
             :values="ruleForm.delivery_fee"
@@ -354,7 +413,7 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="8">
+      <el-col :span="6">
         <el-form-item label="裸价" prop="nake_fee" class="clear">
           <digital-input
             :values="ruleForm.nake_fee"
@@ -371,47 +430,9 @@
           />
         </el-form-item>
       </el-col>
-      <el-col :span="8">
-        <el-form-item label="付款方式" prop="pay_way" class="clear">
-          <el-select
-            v-model="ruleForm.pay_way"
-            filterable
-            :disabled="type === 'view'"
-            clearable
-            style="width: 100%"
-            placeholder="付款方式"
-          >
-            <el-option
-              v-for="group in options10"
-              :key="group.id"
-              :label="group.name"
-              :value="group.id"
-            />
-          </el-select>
-        </el-form-item>
-      </el-col>
-      <el-col :span="8">
-        <el-form-item label="发货方式" prop="send_way" class="clear">
-          <el-select
-            v-model="ruleForm.send_way"
-            filterable
-            clearable
-            :disabled="type === 'view'"
-            style="width: 100%"
-            placeholder="发货方式"
-          >
-            <el-option
-              v-for="group in options11"
-              :key="group.id"
-              :label="group.name"
-              :value="group.id"
-            />
-          </el-select>
-        </el-form-item>
-      </el-col>
 
       <el-col :span="24" v-if="is_noble">
-        <el-col :span="8">
+        <el-col :span="6">
           <el-form-item label="金属重量" prop="noble_weight">
             <digital-input
               :values="ruleForm.noble_weight"
@@ -428,7 +449,7 @@
             />
           </el-form-item>
         </el-col>
-        <el-col :span="8">
+        <el-col :span="6">
           <el-form-item label="金属种类" prop="metal_id">
             <search-metal-kind
               :value="ruleForm.metal_id"
@@ -440,7 +461,7 @@
             />
           </el-form-item>
         </el-col>
-        <el-col :span="8">
+        <el-col :span="6">
           <el-form-item label="启用金价" prop="is_gold_price">
             <el-select
               v-model="ruleForm.is_gold_price"
@@ -460,7 +481,7 @@
           </el-form-item>
         </el-col>
 
-        <el-col :span="8">
+        <el-col :span="6">
           <el-form-item label="有无工差" prop="is_diff">
             <el-select
               v-model="ruleForm.is_diff"
@@ -479,12 +500,11 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="8">
+        <el-col :span="12">
           <el-form-item label="配置要求" prop="config">
             <el-select
               v-model="ruleForm.config"
               multiple
-              collapse-tags
               :disabled="type === 'view'"
               style="width: 100%"
               placeholder="配置要求"
@@ -499,8 +519,12 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="8">
-          <el-form-item label="其他要求" prop="other_config">
+        <el-col :span="12">
+          <el-form-item
+            label="其他配置要求"
+            prop="other_config"
+            label-width="120px"
+          >
             <el-input
               placeholder="其他要求"
               maxlength="100"
@@ -512,14 +536,12 @@
         </el-col>
       </el-col>
 
-      <el-col :span="16">
+      <el-col :span="18">
         <el-form-item label="采购备注" prop="remark">
           <el-input
             placeholder="采购备注"
             maxlength="500"
-            type="textarea"
             :disabled="type === 'view'"
-            :rows="2"
             v-model="ruleForm.remark"
           >
           </el-input>
@@ -528,15 +550,13 @@
           <el-input
             placeholder="工艺说明"
             maxlength="500"
-            type="textarea"
-            :rows="2"
             :disabled="type === 'view'"
             v-model="ruleForm.cost_desc"
           >
           </el-input>
         </el-form-item>
       </el-col>
-      <el-col :span="8">
+      <el-col :span="6">
         <el-form-item
           label="商品图片(<1mb)"
           prop="good_img"
@@ -568,6 +588,7 @@
 import asyncRequest from "@/apis/service/purchaseIn/workbench";
 import resToken from "@/mixins/resToken";
 import { mapGetters } from "vuex";
+import baseFormAddEdit from "./baseFormAddEdit";
 import {
   options1,
   options2,
@@ -586,7 +607,9 @@ export default {
   name: "goodsCostAdd",
   mixins: [resToken],
   props: ["showModel", "id", "type", "sitem", "askItem", "newTime", "editId"],
-
+  components: {
+    baseFormAddEdit,
+  },
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
     powers() {
@@ -608,13 +631,16 @@ export default {
       }
     },
   },
-  
+
   data() {
     return {
       cat_id_name: "",
       brand_name: "",
       unit_name: "",
       title: "",
+      modelIndex: "",
+      modelSitem: {},
+      showOtherModel: false,
       is_noble: false,
       status: "",
       rulesThis: this.rules,
@@ -635,7 +661,6 @@ export default {
       ruleForm: {},
       rules: rules,
     };
-    
   },
   mounted() {
     this.initForm();
@@ -733,7 +758,7 @@ export default {
           pname: this.type === "add" ? this.askItem.good_name : good_name || "",
           expire_day: expire_day || "0", //有效期
           delivery_day: delivery_day || "0", //物流时间
-          work_day: work_day || "0", //产工期
+          work_day: work_day || "0", //产工期
           color: this.type === "add" ? this.askItem.color : color || "",
           model: this.type === "add" ? this.askItem.model : model || "",
           material:
@@ -853,7 +878,7 @@ export default {
             pname: this.type === "add" ? this.askItem.good_name : "",
             expire_day: "0", //有效期
             delivery_day: "0", //物流时间
-            work_day: "0", //产工期
+            work_day: "0", //产工期
             color: this.type === "add" ? this.askItem.color : "",
             model: this.type === "add" ? this.askItem.model : "",
             material: this.type === "add" ? this.askItem.material : "",
@@ -892,6 +917,29 @@ export default {
       });
     },
 
+    openEdit(index, sitem) {
+      this.modelIndex = index;
+      this.modelSitem = sitem;
+      this.showOtherModel = true;
+    },
+    openDelete(index) {
+      this.spec_tableData.splice(index, 1);
+    },
+    //规格编辑修改结果
+    refreshEdit(e) {
+      let item = JSON.parse(JSON.stringify(e));
+      const { index, specid, spec_name, spec_value_id, spec_value_name } = item;
+      if (index + "" === "-1") {
+        this.spec_tableData.push(item);
+      } else {
+        let findex = parseInt(index + "");
+        this.spec_tableData[findex].specid = specid;
+        this.spec_tableData[findex].spec_name = spec_name;
+        this.spec_tableData[findex].spec_value_id = spec_value_id;
+        this.spec_tableData[findex].spec_value_name = spec_value_name;
+      }
+      this.showOtherModel = false;
+    },
     //分类选择
     async cat_id_change(e) {
       const { pid, id, label } = e;
@@ -1025,7 +1073,7 @@ export default {
         pname: "",
         expire_day: "0", //有效期
         delivery_day: "0", //物流时间
-        work_day: "0", //产工期
+        work_day: "0", //产工期
         color: "",
         model: "",
         material: "",

+ 143 - 139
src/views/purchaseIn/workbench/components/baseFormAddEdit.vue

@@ -5,13 +5,14 @@
     :center="true"
     align="left"
     top="18vh"
-    width="500px"
+    width="570px"
     :close-on-click-modal="false"
     :visible.sync="showModelThis"
     element-loading-text="拼命加载中"
     element-loading-spinner="el-icon-loading"
     element-loading-background="rgba(0, 0, 0, 0.8)"
     @close="showModelThis = false"
+    append-to-body
   >
     <el-card style="margin: -20px 0 0 0">
       <el-row :gutter="10">
@@ -25,45 +26,52 @@
             label-width="80px"
             class="demo-ruleForm"
           >
-            <el-form-item label="规格类型" prop="active_name">
+            <el-form-item label="规格类型" prop="specid">
               <search-spec
-                :value="ruleForm.active_name"
+                :value="ruleForm.specid"
                 :disabled="false"
                 :size="'mini'"
                 :isDetail="false"
                 :placeholder="'规格类型'"
-                @searchChange="active_namesearchChange"
+                @searchChange="specidsearchChange"
               />
             </el-form-item>
-            <el-form-item label="规格值" prop="logo_url">
-              <el-radio-group v-model="ruleForm.logo_url">
-                <el-radio
-                  v-for="item in specVlist"
-                  :key="item.id + item.name"
-                  :label="item.id"
-                  >{{ item.name }}</el-radio
+            <el-form-item label="规格值" prop="spec_value_id">
+              <div v-if="specVlist.length > 0">
+                <el-radio-group
+                  v-model="ruleForm.spec_value_id"
+                  @change="spec_value_id_change"
                 >
-              </el-radio-group>
+                  <el-radio
+                    v-for="item in specVlist"
+                    :key="item.id + item.spec_value"
+                    :label="item.id"
+                    >{{ item.spec_value }}</el-radio
+                  >
+                </el-radio-group>
+              </div>
+              <div class="no-data" v-else>暂无规格值,请添加!</div>
             </el-form-item>
-            <div style="width: 100%; padding: 0 0 0 80px">
-              <el-input
-                style="width: 209px"
-                v-model="sinput"
-                :disabled="id == 'edit'"
-                :size="'small'"
-                placeholder="规格值名称,如红色"
-                maxlength="20"
-              />
-              <el-button
-                style="margin: 0 0 0 10px"
-                icon="el-icon-plus"
-                :size="'small'"
-                >新增规格值</el-button
-              >
-            </div>
           </el-form>
         </el-col>
-        <el-col :span="24" style="text-align: right; padding-top: 18px">
+        <el-col :span="24" style="text-align: right">
+          <el-input
+            style="width: 209px"
+            v-model="sinput"
+            class="fl"
+            :disabled="id == 'edit'"
+            :size="'small'"
+            placeholder="规格值名称,如红色"
+            maxlength="20"
+          />
+          <el-button
+            style="margin: 0 0 0 10px"
+            icon="el-icon-plus"
+            :size="'small'"
+            @click="add_spec"
+            class="fl"
+            >新增规格值</el-button
+          >
           <el-button
             v-if="id !== 'edit'"
             :size="'small'"
@@ -80,37 +88,32 @@
   </el-dialog>
 </template>
 <script>
-import asyncRequest from "@/apis/service/goodStore/active";
+import asyncRequest from "@/apis/service/goodStore/goodsCost";
 import resToken from "@/mixins/resToken";
 export default {
-  name: "active",
-  props: ["showModel", "id", "sitem"],
+  name: "brand",
+  props: ["showModel", "index", "sitem"],
   mixins: [resToken],
   data() {
     return {
       loading: false,
-      title: "",
+      title: "商品规格",
       sinput: "",
       showModelThis: this.showModel,
-      select: "1",
-      specVlist: [
-        { id: "1", name: "111" },
-        { id: "2", name: "222" },
-      ],
-      activeOptions: [],
-      actionList: [],
-      ruleForm: {
-        id: "",
-        active_name: "",
-        logo_url: "",
-      },
+      specVlist: [],
+      ruleForm: {},
       rulesThis: this.rules,
+
       rules: {
-        active_name: [
-          { required: true, message: "品牌名称不能为空", trigger: "change" },
+        specid: [
+          {
+            required: true,
+            message: "规格类型不能为空",
+            trigger: "change",
+          },
         ],
-        logo_url: [
-          { required: true, message: "品牌名称不能为空", trigger: "change" },
+        spec_value_id: [
+          { required: true, message: "请选择规格值", trigger: "change" },
         ],
       },
     };
@@ -131,119 +134,113 @@ export default {
   methods: {
     async initForm() {
       this.loading = true;
-      if (this.id === "add") {
-        this.title = "添加商品类型";
-        this.rulesThis = this.rules;
-      } else if (this.id === "005") {
-        this.title = "修改商品类型";
-        this.rulesThis = this.rules;
+      this.resetFormData();
+      this.rulesThis = this.rules;
+      if (this.index + "" === "-1") {
+        this.title = "添加商品规格值";
       } else {
-        this.title = "品牌商品类型";
-        this.rulesThis = {};
+        this.title = "修改商品规格值";
       }
       await this.resetForm();
       this.loading = false;
     },
     async resetForm() {
       // 重置
-      await this.$nextTick(() => {
+      await this.$nextTick(async () => {
         if (this.$refs.ruleForm) {
           this.$refs.ruleForm.resetFields();
           this.$refs.ruleForm.clearValidate();
-          const { id, active_name, logo_url } = this.sitem;
-          this.ruleForm = {
-            id: id || "",
-            active_name: active_name || "",
-            logo_url: logo_url || "",
-          };
+          if (this.index + "" !== "-1") {
+            this.specVlist = [];
+            const { specid, spec_name, spec_value_id, spec_value_name } =
+              this.sitem;
+            this.ruleForm = {
+              index: this.index,
+              specid: specid || "",
+              spec_name: spec_name || "",
+              spec_value_id: spec_value_id || "",
+              spec_value_name: spec_value_name || "",
+            };
+            await this.getlist();
+            console.log(this.ruleForm);
+          }
         }
       });
     },
-
-    active_namesearchChange(e) {
-      const { id, code, label } = e;
-      if (id) {
-        this.ruleForm.active_name = code;
+    resetFormData() {
+      this.specVlist = [];
+      this.ruleForm = {
+        index: "-1",
+        specid: "",
+        spec_name: "",
+        spec_value_id: "",
+        spec_value_name: "",
+      };
+    },
+    async add_spec() {
+      const { specid } = this.ruleForm;
+      if (specid) {
+        if (this.sinput) {
+          const { code, data, message } = await asyncRequest.valueadd({
+            spec_id: specid,
+            spec_value: this.sinput,
+          });
+          if (code === 0) {
+            await this.getlist();
+          } else if (code >= 100 && code <= 104) {
+            await this.logout();
+          } else {
+            this.$message.warning(message);
+          }
+        } else {
+          this.$message.warning("请输入规格值!");
+        }
       } else {
-        this.ruleForm.active_name = "";
+        this.$message.warning("请选择规格类型!");
       }
-      this.$refs.ruleForm.validateField("active_name");
-      this.getlist();
     },
-    async getlist() {
-      const { active_name } = this.ruleForm;
-      const { code, data, message } = await asyncRequest.list({
-        active_name: active_name,
-      });
-      if (code === 0) {
-        this.options = data;
-      } else if (code >= 100 && code <= 104) {
-        await this.logout();
+    async specidsearchChange(e) {
+      const { id, spec_name } = e;
+      this.ruleForm.specid = id || "";
+      this.ruleForm.spec_name = spec_name || "";
+      this.$refs.ruleForm.validateField("specid");
+      await this.getlist();
+    },
+    spec_value_id_change(e) {
+      if (e) {
+        const { id, spec_value } = this.specVlist.find((i) => i.id === e);
+        this.ruleForm.spec_value_id = id || "";
+        this.ruleForm.spec_value_name = spec_value || "";
       } else {
-        this.$message.warning(message);
+        this.ruleForm.spec_value_id = "";
+        this.ruleForm.spec_value_name = "";
       }
+      this.$refs.ruleForm.validateField("spec_value_id");
     },
-
-    async submitForm() {
-      await this.$refs.ruleForm.validate(async (valid) => {
-        if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          let res = {};
-          if (this.id === "003") {
-            delete model["id"];
-            res = await asyncRequest.add(model);
-          } else {
-            res = await asyncRequest.update(model);
-          }
-          this.loading = false;
-          if (res && res.code === 0) {
-            const title = this.id === "add" ? "添加成功!" : "修改成功!";
-            this.$notify.success({
-              title,
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
-          }
+    async getlist() {
+      const { specid } = this.ruleForm;
+      if (specid) {
+        const { code, data, message } = await asyncRequest.valueall({
+          spec_id: specid,
+        });
+        if (code === 0) {
+          this.specVlist = data;
+        } else if (code >= 100 && code <= 104) {
+          await this.logout();
         } else {
-          console.log("error submit!!");
-          return false;
+          this.$message.warning(message);
         }
-      });
+      } else {
+        this.specVlist = [];
+      }
     },
-     async submitForm1() {
+
+    async submitForm() {
       await this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
-          this.loading = true;
-          let model = JSON.parse(JSON.stringify(this.ruleForm));
-          let res = {};
-          if (this.id === "003") {
-            delete model["id"];
-            res = await asyncRequest.add(model);
-          } else {
-            res = await asyncRequest.update(model);
-          }
-          this.loading = false;
-          if (res && res.code === 0) {
-            const title = this.id === "add" ? "添加成功!" : "修改成功!";
-            this.$notify.success({
-              title,
-              message: "",
-            });
-            this.showModelThis = false;
-            // 刷新
-            this.$emit("refresh");
-          } else if (res && res.code >= 100 && res.code <= 104) {
-            await this.logout();
-          } else {
-            this.$message.warning(res.message);
-          }
+          this.showModelThis = false;
+          console.log(this.ruleForm);
+          this.$emit("refresh", this.ruleForm);
         } else {
           console.log("error submit!!");
           return false;
@@ -255,6 +252,13 @@ export default {
 </script>
 
    <style lang="scss" scoped>
-.active {
+.goodsCostAdd {
+  .no-data {
+    text-align: center;
+    line-height: 32px;
+    color: #8492a6;
+    // border: 1px solid #ccc;
+    border-radius: 6px;
+  }
 }
 </style>

+ 42 - 23
src/views/purchaseIn/workbench/detail.vue

@@ -10,15 +10,14 @@
             <div class="page-main-title">招标任务信息</div>
             <ul class="page-main-ul clear">
               <li>任务单号:</li>
-              <li>{{ sitem.pgNo }}</li>
+              <li>{{ queryId }}</li>
               <li>截止时间:</li>
               <li>{{ sitem.endtime }}</li>
               <li>剩余时间:</li>
               <li>2020-09-20 17:00:00</li>
-
               <li>购买数量:</li>
               <li>{{ sitem.num }}{{ sitem.unit_name }}</li>
-              <li>商品单价:</li>
+              <li>预算单价:</li>
               <li>{{ sitem.budget_price }}元</li>
               <li>到货时间:</li>
               <li>{{ sitem.arrival_time }}</li>
@@ -42,6 +41,26 @@
               <li>{{ sitem.can_name }}</li>
               <li>商品品牌:</li>
               <li>{{ sitem.brand ? sitem.brand : "无要求" }}</li>
+              <li>商品规格:</li>
+              <li>
+                <el-table
+                  :data="sitem.specinfo"
+                  border
+                  stripe
+                  :size="'mini'"
+                  style="width: 100%"
+                >
+                  <el-table-column
+                    prop="spec_name"
+                    label="类型:值"
+                    show-overflow-tooltip
+                  >
+                    <template slot-scope="scope">
+                      {{ scope.row.spec_name }}:{{ scope.row.spec_value_name }}
+                    </template></el-table-column
+                  >
+                </el-table>
+              </li>
               <li>重量:</li>
               <li>{{ sitem.total_weight }}g</li>
               <li>是否多地:</li>
@@ -64,7 +83,7 @@
               </li>
               <li v-if="sitem.is_metal">金属种类:</li>
               <li v-if="sitem.is_metal">
-                {{ sitem.metal_id }}
+                {{ sitem.metal_name}}
               </li>
 
               <li>工艺说明:</li>
@@ -77,7 +96,7 @@
           </div>
         </div>
       </div>
-      <div class="right">
+      <div class="p-right">
         <div
           v-if="editType == '' || editType == 'wait'"
           class="right-mian-wait"
@@ -351,7 +370,7 @@ export default {
    <style lang="scss" scoped>
 @import "~@/styles/mixin.scss";
 .workbenchdetail {
-  background: #f2f2f2;
+  //
   position: relative;
   width: 100%;
   height: calc(100vh - 50px);
@@ -359,8 +378,8 @@ export default {
   overflow: hidden;
 
   .page-main {
-    background: #00ff00;
     position: relative;
+    background: #f2f2f2;
     width: 100%;
     height: calc(100vh - 50px);
     box-sizing: border-box;
@@ -370,7 +389,6 @@ export default {
       top: 16px;
       left: 16px;
       width: 240px;
-      background: #00f;
       overflow: hidden;
       height: calc(100vh - 82px);
       .left-main {
@@ -379,18 +397,19 @@ export default {
         overflow-y: scroll;
         overflow-x: hidden;
         // background: #fff;
+        height: calc(100vh - 82px);
         @include scrollBar();
       }
     }
-    .right {
-      top: 0;
-      right: 0;
-      width: calc(100% - 250px);
-      height: calc(100vh - 150px);
-      min-height: calc(100vh - 150px);
+    .p-right {
+      top: 16px;
+      right: 16px;
+      width: calc(100% - 278px);
+      height: calc(100vh - 276px);
       overflow-y: scroll;
-      // background: #fff;
+      background: #fff;
       overflow-x: hidden;
+      position: absolute;
       @include scrollBar();
       .right-mian-wait {
         .title {
@@ -409,16 +428,16 @@ export default {
     }
     .bottom {
       position: absolute;
-      bottom: 0;
-
-      right: 0;
+      bottom: 16px;
+      right: 16px;
       background: #fff;
-      width: calc(100% - 250px);
-      height: 134px;
-      min-height: 134px;
+      width: calc(100% - 278px);
+      height: 180px;
+      min-height: 180px;
       overflow-y: scroll;
       overflow-x: hidden;
       @include scrollBar();
+      padding: 16px;
     }
     .left-card,
     .right-card,
@@ -447,11 +466,11 @@ export default {
           line-height: 25px;
 
           &:nth-child(2n + 1) {
-            width: 70px;
+            width: 65px;
             text-align: right;
           }
           &:nth-child(2n + 2) {
-            width: calc(100% - 70px);
+            width: calc(100% - 65px);
           }
         }
       }

+ 1 - 0
src/views/sellOut/zixunOrder/components/editForm.vue

@@ -634,6 +634,7 @@
           </el-col>
         </el-row>
       </el-col>
+      
     </el-row>
   </el-form>
 </template>