From 7c5c3b8a1b2d571c66efd85b5dbbd37aa57c9ff8 Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期三, 15 十一月 2023 14:08:03 +0800
Subject: [PATCH] 采购管理修改

---
 src/views/supplierManage/supplier/AddNewProduct.vue |   92 +++++++++++++++++++++++++++++++--------------
 1 files changed, 63 insertions(+), 29 deletions(-)

diff --git a/src/views/supplierManage/supplier/AddNewProduct.vue b/src/views/supplierManage/supplier/AddNewProduct.vue
index 431779a..4ebb1bc 100644
--- a/src/views/supplierManage/supplier/AddNewProduct.vue
+++ b/src/views/supplierManage/supplier/AddNewProduct.vue
@@ -14,6 +14,7 @@
         <div class="basic-info-title">浜у搧淇℃伅</div>
         <div class="basic-info-view">
           <CommonFormTableView
+            ref="productTable"
             :product-table-list="productTableList"
             :detail-enter="detailEnter"
             @inputContent="inputContent"
@@ -53,14 +54,17 @@
   computed: {},
   data() {
     return {
-      dialogWidth: "80%",
+      dialogWidth: "60%",
       editConfig: this.addCommonConfig,
       productTableList: {},
       tableData: [],
       productId: 1,
       isNoProduct: true,
       supplierId: this.addCommonConfig.infomation.supplierId,
-      detailEnter: true
+      detailEnter: true,
+      deliveryTime: this.addCommonConfig.infomation.deliveryTime, // 渚涜揣鏃堕暱
+      shippingDuration: this.addCommonConfig.infomation.shippingDuration, // 鐗╂祦鏃堕暱
+      purchasePrice: this.addCommonConfig.infomation.purchasePrice // 閲囪喘浠锋牸
     }
   },
   created() {
@@ -75,34 +79,54 @@
     },
     // 淇濆瓨
     saveClick() {
-      console.log(this.editConfig.infomation)
-      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()
+      this.$refs.productTable.$refs.form.validate((valid) => {
+        if (valid) {
+          console.log(this.editConfig.infomation)
+          for (let i = 0; i < this.tableData.length; i++) {
+            if (this.tableData[i].name.length === 0) {
+              this.isNoProduct = true
+              break
+            } else {
+              this.isNoProduct = false
+            }
           }
-        })
-      } else {
-        const params = this.saveParams()
-        updateProduct(params).then((res) => {
-          console.log(res)
-          this.editConfig.visible = false
-          if (res.code === 200) {
-            this.$message.success("缂栬緫鎴愬姛")
-            this.$parent.getProductList()
+          if (this.isNoProduct) {
+            this.$message.error("浜у搧鍚嶇О涓嶈兘涓虹┖")
+          } else {
+            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)
+                })
+            } else {
+              const params = this.saveParams()
+              updateProduct(params).then((res) => {
+                console.log(res)
+                this.editConfig.visible = false
+                if (res.code === 200) {
+                  this.$message.success("缂栬緫鎴愬姛")
+                  this.$parent.getProductList()
+                }
+              })
+            }
           }
-        })
-      }
+        }
+      })
     },
     saveParams() {
       let data = this.editConfig.infomation
       let params = {
-        deliveryTime: data.deliveryTime || 0,
+        deliveryTime: this.deliveryTime || 0,
         id: data.ID || 0,
         maximumStock: data.maximumStock || 0,
         minimumStock: data.minimumStock || 0,
@@ -110,9 +134,9 @@
         name: data.name || "",
         number: data.number || "",
         productType: data.productType || "",
-        purchasePrice: data.purchasePrice || 0,
+        purchasePrice: this.purchasePrice || 0,
         remark: data.remark || "",
-        shippingDuration: data.shippingDuration || 0,
+        shippingDuration: this.shippingDuration || 0,
         specifications: data.specifications || "",
         supplierId: this.supplierId || 0,
         unit: data.unit || ""
@@ -142,7 +166,7 @@
       this.productTableList = {
         tableData: this.tableData,
         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" },
@@ -155,10 +179,16 @@
     // 浜у搧鍒楄〃杈撳叆
     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) {
           item[prop] = val
           item.supplierId = this.supplierId
+          item.deliveryTime = this.deliveryTime
+          item.shippingDuration = this.shippingDuration
+          item.purchasePrice = this.purchasePrice
         }
       })
     },
@@ -172,8 +202,10 @@
         desc: "",
         name: "",
         number: "",
-        price: 0,
+        purchasePrice: 0,
         total: 0,
+        deliveryTime: 0,
+        shippingDuration: 0,
         supplierId: this.supplierId
       })
     },
@@ -188,8 +220,10 @@
           desc: "",
           name: "",
           number: "",
-          price: 0,
+          purchasePrice: 0,
           total: 0,
+          deliveryTime: 0,
+          shippingDuration: 0,
           supplierId: this.supplierId
         }
       ]

--
Gitblit v1.8.0