From 6e84763437df97e194f8c833feca8bdcb90e7103 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期一, 28 八月 2023 14:48:49 +0800
Subject: [PATCH] 产品相关接口联调

---
 src/views/supplierManage/supplier/index.vue              |   75 +++++--
 src/components/makepager/TableCommonView.vue             |    2 
 src/views/supplierManage/supplier/AddNewProduct.vue      |   98 ++++++----
 vue.config.js                                            |    2 
 src/views/supplierManage/supplier/AddSupplier.vue        |    2 
 src/views/productManage/product/DetailProduct.vue        |    4 
 src/components/makepager/CommonFormTableView.vue         |  280 +++++++++++++++++-------------
 src/views/other/commonDialog/SelectCommonDialog.vue      |    4 
 src/api/productManage/product.js                         |    7 
 src/views/supplierManage/supplier/RaleteSupplierList.vue |   15 +
 10 files changed, 288 insertions(+), 201 deletions(-)

diff --git a/src/api/productManage/product.js b/src/api/productManage/product.js
index 6a3f7af..7929fa8 100644
--- a/src/api/productManage/product.js
+++ b/src/api/productManage/product.js
@@ -31,3 +31,10 @@
     data
   })
 }
+
+// 娣诲姞浜у搧鑾峰彇浜у搧鍒楄〃
+export const getProductListFromGrpc = async (data) => {
+  return await axios.get(`/api/p/getProductListFromGrpc`, {
+    params: data
+  })
+}
diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index a42b2e6..91b6d2c 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -19,103 +19,99 @@
           </template>
           <!-- column鏍峰紡 -->
           <template slot-scope="scope">
-            <template v-if="!detailEnter">
-              <el-form-item
-                v-if="item.input"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-                :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
-              >
-                <el-input
-                  v-model.trim="scope.row[item.prop]"
-                  maxlength="50"
+            <!-- <template v-if="!detailEnter"> -->
+            <el-form-item
+              v-if="item.input"
+              label=" "
+              :prop="'tableData.' + scope.$index + '.' + item.prop"
+              :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+            >
+              <el-input
+                v-model.trim="scope.row[item.prop]"
+                maxlength="50"
+                size="mini"
+                @change="
+                  (val) => {
+                    commonInputChange(val, item.prop, scope.row)
+                  }
+                "
+              ></el-input>
+            </el-form-item>
+            <el-form-item v-else-if="item.productName" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
+              <div class="custom-name">
+                <el-autocomplete
+                  v-model="scope.row[item.prop]"
+                  :fetch-suggestions="querySearchAsync"
+                  value-key="name"
                   size="mini"
-                  @change="
+                  @select="
                     (val) => {
-                      commonInputChange(val, item.prop, scope.row)
+                      handleSelectClient(val, item.prop, scope.row)
                     }
                   "
-                ></el-input>
-              </el-form-item>
-              <el-form-item
-                v-else-if="item.productName"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-              >
-                <div class="custom-name">
-                  <el-autocomplete
-                    v-model="scope.row[item.prop]"
-                    :fetch-suggestions="querySearchAsync"
-                    value-key="name"
-                    size="mini"
-                    @select="
-                      (val) => {
-                        handleSelectClient(val, item.prop, scope.row)
-                      }
-                    "
-                  ></el-autocomplete>
-                  <div class="common-select-btn" @click="selClientClick(scope.row, item.prop)">
-                    <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
-                  </div>
-                  <div class="common-select-btn" @click="clearupClient(scope.row)">
-                    <i class="el-icon-remove-outline" title="娓呴櫎"></i>
-                  </div>
+                ></el-autocomplete>
+                <div class="common-select-btn" @click="selClientClick(scope.row, item.prop)">
+                  <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i>
                 </div>
-              </el-form-item>
-              <el-form-item
-                v-else-if="item.date"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-                :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
-              >
-                <!-- <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input> -->
-                <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
-                </el-date-picker>
-              </el-form-item>
-              <el-form-item
-                v-else-if="item.inputNumber"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-                :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
-              >
-                <el-input-number
-                  v-model="scope.row[item.prop]"
-                  placeholder=""
-                  :min="0"
-                  :controls="false"
-                  size="mini"
-                  style="width: 100%; margin-right: 5px"
-                  @change="
-                    (val) => {
-                      commonInputChange(val, item.prop, scope.row)
-                    }
-                  "
-                ></el-input-number>
-              </el-form-item>
-              <el-form-item
-                v-else-if="item.inputFloat"
-                label=" "
-                :prop="'tableData.' + scope.$index + '.' + item.prop"
-                :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
-              >
-                <el-input-number
-                  v-model="scope.row[item.prop]"
-                  placeholder=""
-                  :min="0"
-                  :precision="2"
-                  :controls="false"
-                  size="mini"
-                  style="width: 100%; margin-right: 5px"
-                  @change="
-                    (val) => {
-                      commonInputChange(val, item.prop, scope.row)
-                    }
-                  "
-                ></el-input-number>
-              </el-form-item>
-              <span v-else>{{ scope.row[item.prop] }}</span>
-            </template>
+                <div class="common-select-btn" @click="clearupClient(scope.row)">
+                  <i class="el-icon-remove-outline" title="娓呴櫎"></i>
+                </div>
+              </div>
+            </el-form-item>
+            <el-form-item
+              v-else-if="item.date"
+              label=" "
+              :prop="'tableData.' + scope.$index + '.' + item.prop"
+              :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+            >
+              <!-- <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input> -->
+              <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item
+              v-else-if="item.inputNumber"
+              label=" "
+              :prop="'tableData.' + scope.$index + '.' + item.prop"
+              :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+            >
+              <el-input-number
+                v-model="scope.row[item.prop]"
+                placeholder=""
+                :min="0"
+                :controls="false"
+                size="mini"
+                style="width: 100%; margin-right: 5px"
+                @change="
+                  (val) => {
+                    commonInputChange(val, item.prop, scope.row)
+                  }
+                "
+              ></el-input-number>
+            </el-form-item>
+            <el-form-item
+              v-else-if="item.inputFloat"
+              label=" "
+              :prop="'tableData.' + scope.$index + '.' + item.prop"
+              :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
+            >
+              <el-input-number
+                v-model="scope.row[item.prop]"
+                placeholder=""
+                :min="0"
+                :precision="2"
+                :controls="false"
+                size="mini"
+                style="width: 100%; margin-right: 5px"
+                @change="
+                  (val) => {
+                    commonInputChange(val, item.prop, scope.row)
+                  }
+                "
+              ></el-input-number>
+            </el-form-item>
             <span v-else>{{ scope.row[item.prop] }}</span>
+            <!-- </template> -->
+            <!-- <span v-else>{{ scope.row[item.prop] }}</span> -->
           </template>
         </el-table-column>
       </el-table>
@@ -123,15 +119,6 @@
     <div v-if="!detailEnter" style="margin: 10px">
       <el-button size="small" type="primary" @click="add">鏂板</el-button>
       <el-button size="small" type="primary" @click="empty">娓呯┖</el-button>
-
-      <el-button
-        size="small"
-        v-if="recalculateShow"
-        type="primary"
-        @click="recalculate"
-        :disabled="isRecalculate ? false : true"
-        >閲嶇畻</el-button
-      >
     </div>
     <!-- 浜у搧鍚嶇О -->
     <SelectCommonDialog
@@ -143,7 +130,7 @@
 </template>
 
 <script>
-import { getProductList } from "@/api/productManage/product"
+import { getProductListFromGrpc } from "@/api/productManage/product"
 import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
 export default {
   name: "CommmonFormTableView",
@@ -193,24 +180,18 @@
         title: "",
         infomation: {}
       },
-      productIndex: 0,
-      isRecalculate: true
+      productIndex: 0
     }
   },
   created() {
     this.getProductList()
     this.tableList = this.productTableList
-    if (this.tableList.tableData.length === 1 && this.tableList.tableData[0].name === "") {
-      this.isRecalculate = false
-    } else {
-      this.isRecalculate = true
-    }
   },
   computed: {},
   methods: {
     // 浜у搧鍚嶇О
     async getProductList() {
-      await getProductList({
+      await getProductListFromGrpc({
         page: 1,
         pageSize: 100
       }).then((res) => {
@@ -322,7 +303,6 @@
     },
     // 娓呯┖
     empty() {
-      this.isRecalculate = false
       this.$emit("emptyProductClick")
     },
     // 閫夋嫨浜у搧鍚嶇О鐩稿叧鏂规硶
@@ -338,16 +318,41 @@
     },
     handleSelectClient(item, prop, row) {
       // this.clientId = item.id
-      this.isRecalculate = true
       console.log(item, prop, row)
       this.tableList.tableData.map((ite) => {
         if (ite.name === item.name) {
+          ite.ID = row.ID
           ite.amount = item.amount || 1
           ite.number = item.number
-          ite.price = item.price
-          ite.total = item.amount ? item.amount * item.price : 1 * item.price
+          ite.purchasePrice = item.purchasePrice
+          ite.unit = item.unit
+          ite.deliveryTime = item.deliveryTime
+          ite.shippingDuration = item.shippingDuration
+          ite.modelNumber = item.modelNumber
         }
       })
+      if (this.detailEnter) {
+        this.setEditName(item, row.ID)
+      }
+    },
+    setEditName(item, ID) {
+      let selRow = {
+        ID: ID,
+        deliveryTime: item.deliveryTime,
+        maximumStock: item.maximumStock,
+        minimumStock: item.minimumStock,
+        modelNumber: item.modelNumber,
+        name: item.name,
+        number: item.number,
+        productType: item.productType,
+        purchasePrice: item.purchasePrice,
+        remark: item.remark,
+        shippingDuration: item.shippingDuration,
+        specifications: item.specifications,
+        supplierId: item.supplierId,
+        unit: item.unit
+      }
+      this.$emit("selCommonName", selRow)
     },
     selClientClick(row, prop) {
       console.log(row, prop)
@@ -358,28 +363,55 @@
     selClient(item) {
       console.log(item)
       console.log(this.tableList.tableData)
-      this.isRecalculate = true
-      // this.editConfig.infomation.client_name = row.name
-      this.tableList.tableData.map((ite, index) => {
-        if (index === this.productIndex) {
+      if (this.detailEnter) {
+        this.tableList.tableData.map((ite) => {
+          ite.ID
           ite.name = item.name
           ite.amount = item.amount || 1
           ite.number = item.number
-          ite.price = item.price
-          ite.total = item.amount ? item.amount * item.price : 1 * item.price
-        }
-      })
+          ite.purchasePrice = item.purchasePrice
+          ite.unit = item.unit
+          ite.deliveryTime = item.deliveryTime
+          ite.shippingDuration = item.shippingDuration
+        })
+        this.setEditName(item, this.tableList.tableData[0].ID)
+      } else {
+        this.tableList.tableData.map((ite, index) => {
+          if (index === this.productIndex) {
+            ite.name = item.name
+            ite.amount = item.amount || 1
+            ite.number = item.number
+            ite.purchasePrice = item.purchasePrice
+            ite.unit = item.unit
+            ite.deliveryTime = item.deliveryTime
+            ite.shippingDuration = item.shippingDuration
+          }
+        })
+      }
     },
     // 娓呴櫎宸查�夋嫨鐢ㄦ埛
     clearupClient(row) {
       this.productIndex = row.productId - 1
       this.tableList.tableData.map((ite, index) => {
-        if (index === this.productIndex) {
+        console.log(row.productId)
+        if (row.productId && row.productId >= 0) {
+          if (index === this.productIndex) {
+            ite.name = ""
+            ite.amount = 1
+            ite.number = ""
+            ite.purchasePrice = 0
+            ite.unit = ""
+            ite.deliveryTime = 0
+            ite.shippingDuration = 0
+          }
+        } else {
           ite.name = ""
           ite.amount = 1
           ite.number = ""
-          ite.price = 0
-          ite.total = 0
+          ite.purchasePrice = 0
+          ite.unit = ""
+          ite.deliveryTime = 0
+          ite.shippingDuration = 0
         }
       })
       this.$emit("clearupProduct", this.tableList.tableData)
diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index f5d34c5..a59e9aa 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -11,8 +11,6 @@
       :summary-method="getSummaries"
       :span-method="arraySpanMethod"
       @selection-change="handleSelectionChange"
-      highlight-current-row
-      @row-click="tableRowClick"
       :header-cell-style="{ background: '#ECF4FF', color: '#666' }"
     >
       <el-table-column v-if="tableList.selectBox" type="selection" width="40"> </el-table-column>
diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue
index f5597b4..63c0a0d 100644
--- a/src/views/other/commonDialog/SelectCommonDialog.vue
+++ b/src/views/other/commonDialog/SelectCommonDialog.vue
@@ -39,7 +39,7 @@
 </template>
 
 <script>
-import { getProductList } from "@/api/productManage/product"
+import { getProductListFromGrpc } from "@/api/productManage/product"
 export default {
   name: "EditSelCommonDialog",
   props: {
@@ -105,7 +105,7 @@
     },
     // 浜у搧鍚嶇О
     async getProductList() {
-      await getProductList({
+      await getProductListFromGrpc({
         page: 1,
         pageSize: 100
       }).then((res) => {
diff --git a/src/views/productManage/product/DetailProduct.vue b/src/views/productManage/product/DetailProduct.vue
index 6b80b40..4ea52e0 100644
--- a/src/views/productManage/product/DetailProduct.vue
+++ b/src/views/productManage/product/DetailProduct.vue
@@ -35,13 +35,13 @@
                   </div>
                 </li>
               </ul>
-              <div class="business_scope">
+              <!-- <div class="business_scope">
                 <div class="content-title">{{ "鍥剧墖锛�" }}</div>
                 <div class="bigImg-div">
                   <i class="el-icon-picture-outline icon" v-if="!valueUrl"></i>
                   <img class="bigImg" :src="valueUrl" v-if="valueUrl" />
                 </div>
-              </div>
+              </div> -->
               <div class="business_scope">
                 <div class="content-title">{{ "澶囨敞淇℃伅锛�" }}</div>
                 <div class="content-data">{{ remark ? remark : "--" }}</div>
diff --git a/src/views/supplierManage/supplier/AddNewProduct.vue b/src/views/supplierManage/supplier/AddNewProduct.vue
index b9a1812..431779a 100644
--- a/src/views/supplierManage/supplier/AddNewProduct.vue
+++ b/src/views/supplierManage/supplier/AddNewProduct.vue
@@ -15,10 +15,12 @@
         <div class="basic-info-view">
           <CommonFormTableView
             :product-table-list="productTableList"
+            :detail-enter="detailEnter"
             @inputContent="inputContent"
             @addProductClick="addProductClick"
             @emptyProductClick="emptyProductClick"
             @clearupProduct="clearupProduct"
+            @selCommonName="selCommonName"
           />
         </div>
       </div>
@@ -31,7 +33,7 @@
 </template>
 
 <script>
-// import { createProduct, updateProduct } from "@/api/productManage/product"
+import { createProduct, updateProduct } from "@/api/productManage/product"
 import CommonFormTableView from "@/components/makepager/CommonFormTableView"
 export default {
   name: "AddNewProduct",
@@ -56,7 +58,9 @@
       productTableList: {},
       tableData: [],
       productId: 1,
-      isNoProduct: true
+      isNoProduct: true,
+      supplierId: this.addCommonConfig.infomation.supplierId,
+      detailEnter: true
     }
   },
   created() {
@@ -72,49 +76,52 @@
     // 淇濆瓨
     saveClick() {
       console.log(this.editConfig.infomation)
-      const params = this.saveParams()
-      console.log(params)
       if (this.editConfig.title === "娣诲姞") {
-        // createProduct(params).then((res) => {
-        //   console.log(res)
-        //   this.editConfig.visible = false
-        //   if (res.code === 200) {
-        //     this.$message.success("娣诲姞鎴愬姛")
-        //     this.$parent.getData()
-        //   }
-        // })
+        createProduct({
+          list: this.tableData
+        }).then((res) => {
+          console.log(res)
+          this.editConfig.visible = false
+          if (res.code === 200) {
+            this.$message.success("娣诲姞鎴愬姛")
+            this.$parent.getProductList()
+          }
+        })
       } else {
-        // updateProduct(params).then((res) => {
-        //   console.log(res)
-        //   this.editConfig.visible = false
-        //   if (res.code === 200) {
-        //     this.$message.success("缂栬緫鎴愬姛")
-        //     this.$parent.getData()
-        //   }
-        // })
+        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 data = this.editConfig.infomation
       let params = {
-        deliveryTime: 0,
-        id: 0,
-        maximumStock: 0,
-        minimumStock: 0,
-        name: "string",
-        number: "string",
-        productType: "string",
-        purchasePrice: 0,
-        remark: "string",
-        shippingDuration: 0,
-        specifications: "string",
-        supplierId: 0,
-        unit: "string"
+        deliveryTime: data.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 || "",
+        purchasePrice: data.purchasePrice || 0,
+        remark: data.remark || "",
+        shippingDuration: data.shippingDuration || 0,
+        specifications: data.specifications || "",
+        supplierId: this.supplierId || 0,
+        unit: data.unit || ""
       }
       return params
     },
     setTableForm() {
-      if (this.editConfig.title === "娣诲姞" || this.editConfig.infomation.products.length === 0) {
+      if (this.editConfig.title === "娣诲姞") {
+        this.detailEnter = false
         this.tableData = [
           {
             productId: this.productId,
@@ -124,14 +131,13 @@
             name: "",
             number: "",
             price: 0,
-            total: 0
+            total: 0,
+            supplierId: this.supplierId
           }
         ]
       } else {
-        this.tableData = this.editConfig.infomation.products
-        this.tableData.map((item, index) => {
-          item.productId = index + 1
-        })
+        this.tableData = [{ ...this.editConfig.infomation }]
+        this.detailEnter = true
       }
       this.productTableList = {
         tableData: this.tableData,
@@ -152,6 +158,7 @@
       this.tableData.map((item) => {
         if (item.productId === row.productId) {
           item[prop] = val
+          item.supplierId = this.supplierId
         }
       })
     },
@@ -166,7 +173,8 @@
         name: "",
         number: "",
         price: 0,
-        total: 0
+        total: 0,
+        supplierId: this.supplierId
       })
     },
     //  浜у搧娓呯┖
@@ -181,7 +189,8 @@
           name: "",
           number: "",
           price: 0,
-          total: 0
+          total: 0,
+          supplierId: this.supplierId
         }
       ]
       this.productTableList.tableData = this.tableData
@@ -190,6 +199,11 @@
     clearupProduct(data) {
       this.tableData = data
       this.productTableList.tableData = this.tableData
+    },
+    selCommonName(row) {
+      console.log("1133")
+      console.log(row)
+      this.editConfig.infomation = row
     }
   }
 }
diff --git a/src/views/supplierManage/supplier/AddSupplier.vue b/src/views/supplierManage/supplier/AddSupplier.vue
index f1e3d87..4f973c8 100644
--- a/src/views/supplierManage/supplier/AddSupplier.vue
+++ b/src/views/supplierManage/supplier/AddSupplier.vue
@@ -229,7 +229,7 @@
       editConfig: this.addCommonConfig,
       rules: {
         name: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-        responsiblePersonId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+        responsiblePersonName: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
         phone: [
           { required: false, message: "", trigger: "blur" },
           { len: 11, message: "闀垮害鍦�11涓瓧绗�", trigger: "blur" },
diff --git a/src/views/supplierManage/supplier/RaleteSupplierList.vue b/src/views/supplierManage/supplier/RaleteSupplierList.vue
index a5ced7b..6306353 100644
--- a/src/views/supplierManage/supplier/RaleteSupplierList.vue
+++ b/src/views/supplierManage/supplier/RaleteSupplierList.vue
@@ -16,6 +16,8 @@
         </div>
       </div>
       <div slot="footer" class="dialog-footer"></div>
+      <!-- 璇︽儏 -->
+      <DetailSupplier v-if="commonDetail.visible" :common-detail="commonDetail" />
     </el-dialog>
   </div>
 </template>
@@ -23,6 +25,7 @@
 <script>
 import { getProductList } from "@/api/productManage/product"
 import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+import DetailSupplier from "@/views/supplierManage/supplier/DetailSupplier"
 export default {
   name: "AddSupplierDialog",
   mixins: [pageMixin],
@@ -37,13 +40,17 @@
       }
     }
   },
-  components: {},
+  components: { DetailSupplier },
   computed: {},
   data() {
     return {
       dialogWidth: "80%",
       editConfig: this.commonConfig,
-      tableList: {}
+      tableList: {},
+      commonDetail: {
+        visible: false,
+        infomation: {}
+      }
     }
   },
   created() {
@@ -90,8 +97,8 @@
     },
     selCommonClick(row) {
       console.log(row)
-      // this.commonDetail.visible = true
-      // this.commonDetail.infomation = { ...row }
+      this.commonDetail.visible = true
+      this.commonDetail.infomation = { ...row }
     }
   }
 }
diff --git a/src/views/supplierManage/supplier/index.vue b/src/views/supplierManage/supplier/index.vue
index 1d45a91..c192460 100644
--- a/src/views/supplierManage/supplier/index.vue
+++ b/src/views/supplierManage/supplier/index.vue
@@ -13,28 +13,49 @@
         </div>
       </div>
       <template>
-        <TableCommonView
-          ref="tableListRef"
-          :table-list="tableList"
-          @selCommonClick="selCommonClick"
-          @tableRowClick="tableRowClick"
+        <el-table
+          ref="tableSupplier"
+          border
+          :data="tableList.tableInfomation"
+          tooltip-effect="dark"
+          style="width: 100%"
+          :lazy="tableList.lazy"
+          highlight-current-row
+          @row-click="tableRowClick"
+          :header-cell-style="{ background: '#ECF4FF', color: '#666' }"
         >
-          <template slot="tableButton">
-            <el-table-column label="鎿嶄綔" width="120">
-              <template slot-scope="scope">
-                <el-button
-                  v-if="scope.row.status === 0"
-                  @click="enableClick(scope.row, '鍚敤')"
-                  type="text"
-                  size="small"
-                  >鍚敤</el-button
-                >
-                <el-button v-else @click="enableClick(scope.row, '鍋滅敤')" type="text" size="small">鍋滅敤</el-button>
-                <el-button @click="modifyClick(scope.row)" type="text" size="small">淇敼</el-button>
-              </template>
-            </el-table-column>
-          </template>
-        </TableCommonView>
+          <el-table-column type="index" label="搴忓彿" width="50"> </el-table-column>
+          <el-table-column
+            v-for="(item, i) in tableList.tableColumn"
+            :key="i"
+            :prop="item.prop"
+            :label="item.label"
+            :width="item.width"
+            :min-width="item.min"
+            show-overflow-tooltip
+            :sortable="item.sortable"
+          >
+            <template slot-scope="scope">
+              <div v-if="item.status" :class="scope.row.status">{{ scope.row[item.prop] }}</div>
+              <span
+                v-else-if="item.isCommonClick && scope.row[item.prop]"
+                class="sel-name"
+                @click="selCommonClick(scope.row)"
+                >{{ scope.row[item.prop] }}</span
+              >
+              <span v-else>{{ scope.row[item.prop] ? scope.row[item.prop] : "--" }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="鎿嶄綔" width="100">
+            <template slot-scope="scope">
+              <el-button v-if="scope.row.status === 0" @click="enableClick(scope.row, '鍚敤')" type="text" size="small"
+                >鍚敤</el-button
+              >
+              <el-button v-else @click="enableClick(scope.row, '鍋滅敤')" type="text" size="small">鍋滅敤</el-button>
+              <el-button @click="modifyClick(scope.row)" type="text" size="small">淇敼</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
         <div class="btn-pager">
           <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
         </div>
@@ -215,6 +236,9 @@
           } else {
             this.supplierId = 0
           }
+          this.$nextTick(() => {
+            this.$refs.tableSupplier.setCurrentRow(this.tableList.tableInfomation[0])
+          })
           this.getProductList()
         }
       })
@@ -274,7 +298,6 @@
     },
     // 淇敼渚涘簲鍟�
     modifyClick(row) {
-      console.log(row)
       this.editConfig.visible = true
       this.editConfig.title = "淇敼"
       this.editConfig.infomation = { ...row }
@@ -289,12 +312,14 @@
     addNewProductClick() {
       this.newProductConfig.visible = true
       this.newProductConfig.title = "娣诲姞"
+      this.newProductConfig.infomation = { supplierId: this.supplierId }
     },
     // 淇敼浜у搧
     editClick(row) {
       console.log(row)
       this.newProductConfig.visible = true
-      // this.newProductConfig.title = "淇敼"
+      this.newProductConfig.title = "淇敼"
+      this.newProductConfig.infomation = { ...row }
     },
     // 鍒犻櫎
     delClick(row) {
@@ -352,6 +377,10 @@
         margin-right: 20px;
       }
     }
+    .sel-name {
+      color: $color-primary;
+      cursor: pointer;
+    }
     .btn-pager {
       display: flex;
       .page {
diff --git a/vue.config.js b/vue.config.js
index 5436c86..49ac2a0 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -14,7 +14,7 @@
   devServer: {
     proxy: {
       "/api": {
-        target: "http://192.168.20.118:8889", // http://192.168.20.119:8002 http://fai365.com:30150/
+        target: "http://192.168.20.119:8004", // http://192.168.20.119:8004 http://fai365.com:30150/
         ws: true,
         changeOrigin: true
       }

--
Gitblit v1.8.0