From 7f5306d896fa0c541a83c4b62d0c533a604dd184 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期日, 28 四月 2024 18:23:23 +0800
Subject: [PATCH] 供应商管理模块 添加新产品的时候供应商对应的产品和已增加的产品都不可选的逻辑处理

---
 src/views/supplierManage/supplier/AddNewProduct.vue |  115 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 72 insertions(+), 43 deletions(-)

diff --git a/src/views/supplierManage/supplier/AddNewProduct.vue b/src/views/supplierManage/supplier/AddNewProduct.vue
index cee0353..7e714b8 100644
--- a/src/views/supplierManage/supplier/AddNewProduct.vue
+++ b/src/views/supplierManage/supplier/AddNewProduct.vue
@@ -15,13 +15,18 @@
         <div class="basic-info-view">
           <CommonFormTableView
             ref="productTable"
+            :addTypeIdMultiple="true"
+            :disabledList="disabledList"
             :product-table-list="productTableList"
             :detail-enter="detailEnter"
+            :isOperate="isOperate"
             @inputContent="inputContent"
             @addProductClick="addProductClick"
+            @getSelectArray="getSelectArray"
             @emptyProductClick="emptyProductClick"
             @clearupProduct="clearupProduct"
             @selCommonName="selCommonName"
+            @handleProduct="handleProduct"
           />
         </div>
       </div>
@@ -48,6 +53,12 @@
           infomation: {}
         }
       }
+    },
+    disabledList:{
+      type:[Array],
+      default: () => {
+        return []
+      }
     }
   },
   components: { CommonFormTableView },
@@ -62,6 +73,7 @@
       isNoProduct: true,
       supplierId: this.addCommonConfig.infomation.supplierId,
       detailEnter: true,
+      isOperate: true,
       deliveryTime: this.addCommonConfig.infomation.deliveryTime, // 渚涜揣鏃堕暱
       shippingDuration: this.addCommonConfig.infomation.shippingDuration, // 鐗╂祦鏃堕暱
       purchasePrice: this.addCommonConfig.infomation.purchasePrice // 閲囪喘浠锋牸
@@ -96,16 +108,18 @@
             if (this.editConfig.title === "娣诲姞") {
               createProduct({
                 list: this.tableData
-              }).then((res) => {
-                console.log(res)
-                this.editConfig.visible = false
-                if (res.code === 200) {
-                  this.$message.success("娣诲姞鎴愬姛")
-                  this.$parent.getProductList()
-                }
-              }).catch(e=>{
-                console.log(e)
               })
+                .then((res) => {
+                  console.log(res)
+                  this.editConfig.visible = false
+                  if (res.code === 200) {
+                    this.$message.success("娣诲姞鎴愬姛")
+                    this.$parent.getProductList()
+                  }
+                })
+                .catch((e) => {
+                  console.log(e)
+                })
             } else {
               const params = this.saveParams()
               updateProduct(params).then((res) => {
@@ -125,21 +139,25 @@
       let data = this.editConfig.infomation
       let params = {
         deliveryTime: this.deliveryTime || 0,
-        id: data.ID || 0,
-        maximumStock: data.maximumStock || 0,
-        minimumStock: data.minimumStock || 0,
-        modelNumber: data.modelNumber || "",
-        name: data.name || "",
-        number: data.number || "",
-        productType: data.productType || "",
+        id: data.id || 0,
+        // maximumStock: data.maximumStock || 0,
+        // minimumStock: data.minimumStock || 0,
+        // modelNumber: data.modelNumber || "",
+        // name: data.name || "",
+        // number: data.number || "",
+        // productType: data.productType || "",
         purchasePrice: this.purchasePrice || 0,
-        remark: data.remark || "",
+        // remark: data.remark || "",
         shippingDuration: this.shippingDuration || 0,
-        specifications: data.specifications || "",
+        // specifications: data.specifications || "",
         supplierId: this.supplierId || 0,
-        unit: data.unit || ""
+        // unit: data.unit || ""
+        ...this.tableData[0]
       }
       return params
+    },
+    handleProduct(item, row) {
+      this.editConfig.infomation.id = row.id
     },
     setTableForm() {
       if (this.editConfig.title === "娣诲姞") {
@@ -163,8 +181,9 @@
       }
       this.productTableList = {
         tableData: this.tableData,
+        isReturn: true,
         tableColumn: [
-          { label: "浜у搧鍚嶇О", prop: "name", productName: true, isRequird: true },
+          { label: "浜у搧鍚嶇О", prop: "name", productName: true, isRequird: true, width: 250 },
           { label: "浜у搧缂栫爜", prop: "number" },
           { label: "璁¢噺鍗曚綅", prop: "unit" },
           { label: "瑙勬牸鍨嬪彿", prop: "specifications" },
@@ -176,36 +195,46 @@
     },
     // 浜у搧鍒楄〃杈撳叆
     inputContent(val, prop, row) {
-      this.productId = row.productId
-      this.deliveryTime = row.deliveryTime
-      this.shippingDuration = row.shippingDuration
-      this.purchasePrice = row.purchasePrice
       this.tableData.map((item) => {
-        if (item.productId === row.productId) {
+        if (item.number == row.number) {
           item[prop] = val
-          item.supplierId = this.supplierId
-          item.deliveryTime = this.deliveryTime
-          item.shippingDuration = this.shippingDuration
-          item.purchasePrice = this.purchasePrice
+          item.supplierId = Number(this.supplierId)
         }
       })
     },
     // 浜у搧鏂板
     addProductClick() {
-      this.productId++
-      this.tableData.push({
-        productId: this.productId,
-        id: 0,
-        amount: 0,
-        desc: "",
-        name: "",
-        number: "",
-        purchasePrice: 0,
-        total: 0,
-        deliveryTime: 0,
-        shippingDuration: 0,
-        supplierId: this.supplierId
-      })
+      // this.productId++
+      // this.tableData.push({
+      //   productId: this.productId,
+      //   id: 0,
+      //   amount: 0,
+      //   desc: "",
+      //   name: "",
+      //   number: "",
+      //   purchasePrice: 0,
+      //   total: 0,
+      //   deliveryTime: 0,
+      //   shippingDuration: 0,
+      //   supplierId: this.supplierId
+      // })
+    },
+    // 鏂板鏂瑰紡淇敼
+    getSelectArray(val, index) {
+      console.log(val, "ddd99999")
+      if (this.tableData.length == 1 && this.tableData[0].number.length == 0) {
+        this.tableData = []
+      }
+      if (index < this.tableData.length) {
+        this.tableData.splice(index, 1)
+        val.map((item, ind) => {
+          this.tableData.splice(index + ind, 0, item)
+        })
+      } else {
+        this.tableData = this.tableData.concat(val)
+      }
+      this.productTableList.tableData = this.tableData
+      // this.showSummary.show = true
     },
     //  浜у搧娓呯┖
     emptyProductClick() {

--
Gitblit v1.8.0