戴艳蓉 3 years ago
parent
commit
e3eb335b5e

+ 2 - 0
src/apis/service/sellOut/project/index.js

@@ -23,4 +23,6 @@ export default {
   back_good_list: (data, params) => http(api + "consultbidlist", data, "post", params),
   // 按照商品要求查询线上商品
   get_good_online_list: (data, params) => http(api + "goodplist", data, "post", params),
+  // 按照商品要求查询线上商品
+  project_online_good_add: (data, params) => http(api + "projectaddfed", data, "post", params),
 };

+ 1 - 1
src/components/globalComponents/goodClass/main.vue

@@ -38,7 +38,7 @@ export default {
     return {
       loading: false,
       props: {
-        checkStrictly: false,
+        checkStrictly: true,
         expandTrigger: "hover",
         lazy: true, //开启远程加载
         async lazyLoad(node, resolve) {

+ 23 - 11
src/views/goodStore/goodsCost/components/baseForm.vue

@@ -204,7 +204,10 @@
           <el-col :span="24" v-show="is_noble">
             <el-row>
               <el-col :span="8">
-                <el-form-item label="贵金属重量" prop="noble_weight">
+                <el-form-item
+                  label="贵金属重量"
+                  :prop="is_noble ? 'noble_weight' : ''"
+                >
                   <digital-input
                     :values="ruleForm.noble_weight"
                     :placeholder="'贵金属重量'"
@@ -226,7 +229,10 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                <el-form-item label="贵金属种类" prop="noble_metal">
+                <el-form-item
+                  label="贵金属种类"
+                  :prop="is_noble ? 'noble_metal' : ''"
+                >
                   <search-metal-kind
                     :value="ruleForm.noble_metal"
                     :disabled="
@@ -242,7 +248,10 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                <el-form-item label="启用实时金价" prop="is_gold_price">
+                <el-form-item
+                  label="启用实时金价"
+                  :prop="is_noble ? 'is_gold_price' : ''"
+                >
                   <el-select
                     v-model="ruleForm.is_gold_price"
                     filterable
@@ -325,7 +334,10 @@
             </el-form-item>
           </el-col>
           <el-col :span="8" v-show="ruleForm.good_type === '1'">
-            <el-form-item label="定制起订量" prop="moq">
+            <el-form-item
+              label="定制起订量"
+              :prop="ruleForm.good_type === '1' ? 'moq' : ''"
+            >
               <digital-input
                 :values="ruleForm.moq"
                 :placeholder="'定制起订量'"
@@ -343,7 +355,10 @@
             </el-form-item>
           </el-col>
           <el-col :span="8" v-show="ruleForm.good_type === '1'">
-            <el-form-item label="定制工期" prop="customized">
+            <el-form-item
+              label="定制工期"
+              :prop="ruleForm.good_type === '1' ? 'customized' : ''"
+            >
               <digital-input
                 :values="ruleForm.customized"
                 :placeholder="'定制工期'"
@@ -1324,7 +1339,7 @@ export default {
         this.ladder_tableData.push(item);
       } else {
         this.ladder_tableData.forEach((i, findex) => {
-          if (i.id === id && findex === parseInt(i.index)) {
+          if (findex === parseInt(i.index)) {
             this.spec_tableData[findex].id = id;
             this.spec_tableData[findex].cost_fee = cost_fee;
             this.spec_tableData[findex].delivery_fee = delivery_fee;
@@ -1332,9 +1347,6 @@ export default {
             this.spec_tableData[findex].spec_value_value = spec_value_value;
           }
         });
-        this.ladder_tableData = this.ladder_tableData.sort(
-          this.dataSort("min_num")
-        );
       }
       this.showModel = false;
     },
@@ -1545,8 +1557,8 @@ export default {
             is_exclusive: is_exclusive || "",
             noble_metal: noble_metal || "",
             is_gold_price: is_gold_price || "",
-            moq: moq || "",
-            customized: customized || "",
+            moq: moq || "0",
+            customized: customized || "0",
             after_sales: after_sales || "",
             craft_desc: craft_desc || "",
             good_remark: good_remark || "",

+ 2 - 1
src/views/goodStore/goodsCost/detail.vue

@@ -156,7 +156,7 @@ export default {
     handleClick(row) {
       console.log(row);
     },
-    refresh(e) {
+    async refresh(e) {
       const { spuCode } = e;
 
       let model = {
@@ -164,6 +164,7 @@ export default {
         type: "view",
       };
       this.routeReGoto("goodsCostDetail", model);
+      await this.initForm();
     },
     async initData() {
       this.loading = true;

+ 49 - 4
src/views/sellOut/project/components/addForm.vue

@@ -58,7 +58,7 @@
               />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="项目总预算" prop="budget_total">
               <digital-input
                 :values="ruleForm.budget_total"
@@ -75,13 +75,14 @@
               />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="要求到货时间" prop="arrtime">
               <el-date-picker
                 v-model="ruleForm.arrtime"
                 type="date"
                 style="width: 100%"
                 :disabled="type === 'view'"
+                @change="time_change($event, 1)"
                 value-format="yyyy-MM-dd"
                 :picker-options="pickerOptions"
                 placeholder="要求到货时间"
@@ -89,6 +90,21 @@
               </el-date-picker>
             </el-form-item>
           </el-col>
+          <el-col :span="8">
+            <el-form-item label="咨询截止时间" prop="endtime">
+              <el-date-picker
+                v-model="ruleForm.endtime"
+                type="datetime"
+                style="width: 100%"
+                :disabled="type === 'view'"
+                @change="time_change($event, 2)"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                :picker-options="pickerOptions"
+                placeholder="要求到货时间"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
           <el-col :span="24">
             <el-form-item label="项目用途" prop="use_desc">
               <el-input
@@ -266,9 +282,10 @@ export default {
       ],
       pickerOptions: {
         disabledDate(time) {
-          return time.getTime() <= Date.now();
+          return time.getTime() < Date.now() - 1000 * 60 * 60 * 24;
         },
       },
+
       company: "",
       platform_name: "",
       ruleForm: {
@@ -279,6 +296,7 @@ export default {
         customer_name: "",
         budget_total: "0",
         arrtime: "",
+        endtime: "",
         use_desc: "",
         ladder: [],
       },
@@ -326,11 +344,18 @@ export default {
         arrtime: [
           {
             required: true,
-            message: "要求到货时间",
+            message: "要求到货时间不能为空!",
             trigger: "change",
           },
         ],
 
+        endtime: [
+          {
+            required: true,
+            message: "咨询截止时间不能为空!",
+            trigger: "change",
+          },
+        ],
         use_desc: [
           {
             required: true,
@@ -390,6 +415,23 @@ export default {
       this.showModel = false;
       this.$refs.ruleForm.validateField("ladder");
     },
+    time_change(e, type) {
+      const { arrtime, endtime } = this.ruleForm;
+      if (
+        arrtime &&
+        endtime &&
+        new Date(endtime).getTime() >= new Date(arrtime).getTime()
+      ) {
+        this.$message.warning("咨询截止时间不能大于要求到货时间!");
+        if (type === 1) {
+          this.ruleForm.arrtime = "";
+        } else if (type === 2) {
+          this.ruleForm.endtime = "";
+        }
+      }
+      this.$refs.ruleForm.validateField("arrtime");
+      this.$refs.ruleForm.validateField("endtime");
+    },
     //平台选择
     platform_codesearchChange(e) {
       if (e) {
@@ -446,6 +488,7 @@ export default {
         customer_name: "",
         budget_total: "0",
         arrtime: "",
+        endtime: "",
         use_desc: "",
         ladder: [],
       };
@@ -467,6 +510,7 @@ export default {
             ladder,
             use_desc,
             arrtime,
+            endtime,
             khName,
             company,
             khNo,
@@ -484,6 +528,7 @@ export default {
             customer_name: khName || "",
             budget_total: budget_total || "0",
             arrtime: arrtime || "",
+            endtime: endtime || "",
             use_desc: use_desc || "",
             ladder: ladder && ladder.length > 0 ? ladder : [],
           };

+ 16 - 5
src/views/sellOut/project/components/backGoodShow.vue

@@ -107,6 +107,7 @@
       :showModel="showModel"
       :sitem="searchItem"
       @cancel="showModel = false"
+      @submitRes="res"
     />
   </div>
 </template>
@@ -165,9 +166,18 @@ export default {
       await this.initListData();
       this.loading = false;
       console.log(this.allList);
-      // await this.allSearchList();
+      await this.allSearchList();
+    },
+    async resetFormData(index) {
+      this.allList[index].pageInfo = {
+        size: 15,
+        curr: 1,
+        total: 0,
+      };
+      this.allList[index].loading = true;
+      this.allList[index].tableData = [];
+      await this.searchList(index);
     },
-
     //初始化整个组件
     async initListData() {
       console.log(this.sitem);
@@ -185,9 +195,9 @@ export default {
               curr: 1,
               total: 0,
             },
+            pgNo: item.pgNo,
             loading: false,
-
-            tableData: [{ num: "1" }],
+            tableData: [],
           };
           this.allList.push(model);
         });
@@ -212,7 +222,7 @@ export default {
       await this.searchList(index);
     },
     async searchList(index) {
-      const { pageInfo } = this.allList[index];
+      const { pageInfo, pgNo } = this.allList[index];
       const { size, curr } = pageInfo;
       this.allList[index].loading = true;
       let model = {
@@ -221,6 +231,7 @@ export default {
         zxNo: "",
         infoNo: "",
         bidNo: "",
+        pgNo: pgNo,
         projectNo: this.projectNo,
       };
       const { code, data } = await asyncRequest.back_good_list(model);

+ 2 - 5
src/views/sellOut/project/components/costFormAddEdit.vue

@@ -69,17 +69,14 @@
               </el-select>
             </el-form-item>
             <el-form-item label="商品分类" prop="cat_id">
-
-              search-sort
-              33333
-              <!-- <good-class
+              <good-class
                 :value="ruleForm.cat_id"
                 @handleChange="goods_class_change"
                 :disabled="false"
                 :size="'mini'"
                 :isDetail="false"
                 :placeholder="'商品分类'"
-              /> -->
+              />
             </el-form-item>
             <el-form-item label="商品名称" prop="good_name">
               <el-input

+ 12 - 44
src/views/sellOut/project/components/search-good-online-table-modal/columns.js

@@ -1,68 +1,36 @@
 export default [
   { type: "selection", fixed: "left", _noset_: true },
   {
-    prop: "good_code",
+    prop: "skuCode",
     label: "商品编码",
-    width: "150",
+    width: "160",
   },
   {
     prop: "good_name",
     label: "商品名称",
     "min-width": "120",
   },
-
-  {
-    prop: "gys_code",
-    label: "供应商编码",
-    width: "142",
-  },
   {
-    prop: "supplier_name",
-    label: "供货商",
-    "min-width": "160",
+    prop: "stock_total",
+    label: "可用库存",
+    width: "90px",
   },
-  // {
-  //   prop: "cg_saler",
-  //   label: "采购员",
-  //   width: "60",
-  // },
-  // {
-  //   prop: "usable_stock",
-  //   label: "商品库存",
-  //   width: "70",
-  // },
   {
     prop: "unit",
     label: "单位",
     width: "45",
   },
-  // {
-  //   prop: "bstatus",
-  //   label: "当前状态",
-  //   _slot_: "status",
-  //   width: "80px",
-  // },
-
-
-  // {
-  //   prop: "classArr",
-  //   label: "商品类别",
-  // },
   {
-    prop: "color",
-    label: "商品颜色",
-    width: "70",
-  },
-  {
-    prop: "material",
-    label: "商品材质",
-    width: "70",
+    prop: "brand_name",
+    label: "品牌",
+    width: "145",
   },
   {
-    prop: "brand",
-    label: "品牌",
-    "width": "70",
+    prop: "sale_price",
+    label: "售价",
+    width: "110",
   },
+
   // {
   //   prop: "good_type",
   //   label: "商品类型",

+ 31 - 14
src/views/sellOut/project/components/search-good-online-table-modal/index.vue

@@ -45,8 +45,8 @@
                     v-model="parmValue.buy_num"
                     :maxlength="40"
                     disabled
-                    placeholder="购买数量"
-                    ><template slot="prepend">数量:</template></el-input
+                    placeholder="起订量"
+                    ><template slot="prepend">起订量:</template></el-input
                   >
                 </el-col>
                 <el-col :span="4" style="width: 460px; padding: 0 0 0 10px">
@@ -89,7 +89,7 @@
                     :maxlength="40"
                     disabled
                     placeholder="预算单价"
-                    ><template slot="prepend">售价 ≤</template></el-input
+                    ><template slot="prepend">售 价 ≤</template></el-input
                   >
                 </el-col>
                 <el-col :span="4" style="width: 250px; padding: 0 0 0 10px">
@@ -106,20 +106,12 @@
                   <good-class
                     :value="parmValue.cat_id"
                     @handleChange="goods_class_change"
-                    :disabled="sitem.can_id !== ''"
+                    :disabled="false"
                     :size="'mini'"
                     :isDetail="sitem.can_id !== ''"
                     :placeholder="'分类'"
                   />
-                  <!-- <el-input
-                    :size="'mini'"
-                    v-model="parmValue.good_code"
-                    :maxlength="40"
-                    clearable
-                    placeholder="商品分类"
-                  /> -->
                 </el-col>
-
                 <el-col :span="3" style="width: 66px; float: right">
                   <el-button
                     :size="'mini'"
@@ -141,6 +133,7 @@
 
 <script>
 import asyncRequest from "@/apis/service/sellOut/project";
+
 import resToken from "@/mixins/resToken";
 import mixinPage from "@/mixins/elPaginationHandle";
 import { mapGetters } from "vuex";
@@ -231,6 +224,7 @@ export default {
         company,
         platform_name,
       } = this.sitem;
+      console.log(this.sitem);
       this.company = company;
       this.platform_name = platform_name;
       this.parmValue = {
@@ -302,8 +296,31 @@ export default {
         this.$message.warning("只能选择一条商品信息!");
         return;
       }
-      this.showModelThis = false;
-      this.$emit("resultList", selection);
+      this.loading = true;
+      let model = {
+        pgNo: this.sitem.pgNo,
+        spuCode: [],
+        source: "1",
+      };
+      selection.forEach((a) => {
+        model.spuCode.push(a.skuCode);
+      });
+      let { code, data, message } = await asyncRequest.project_online_good_add(
+        model
+      );
+      this.loading = false;
+      if (code === 0) {
+        this.$notify.success({
+          title: "添加成功!",
+          message: "",
+        });
+        this.showModelThis = false;
+        this.$emit("submitRes", this.sitem.pgNo_index);
+      } else if (code >= 100 && code <= 104) {
+        await this.logout();
+      } else {
+        this.$message.warning(message);
+      }
     },
   },
 };

+ 1 - 0
src/views/serviceParam/supplier/index.vue

@@ -316,6 +316,7 @@ export default {
         {
           prop: "creater",
           label: "创建人",
+           width: "100",
         },
         {
           prop: "addtime",