From 03cfba0f636b42417070fc8caef44bcdd792a085 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期二, 07 五月 2024 17:34:37 +0800
Subject: [PATCH] 概述 出库模块 编辑的时候循环处理对应产品调用接口获取在库数量的逻辑处理

---
 src/components/makepager/CommonFormTableView.vue |   47 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index 3a8fc20..500bf19 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -79,13 +79,17 @@
                 <div class="custom-name">
                   <el-autocomplete
                     v-model="scope.row[item.prop]"
-                    :fetch-suggestions="querySearchAsync"
+                    :fetch-suggestions="
+                      (queryString, callback) => {
+                        querySearchAsync(queryString, callback, 'product')
+                      }
+                    "
                     value-key="name"
                     :disabled="!isOperate"
                     size="mini"
                     @select="
                       (val) => {
-                        handleSelectClient(val, item.prop, scope.row)
+                        handleSelectClient(val, item.prop, scope.row,scope)
                       }
                     "
                   ></el-autocomplete>
@@ -142,12 +146,12 @@
                 </div>
               </el-form-item>
               <el-form-item
-                v-else-if="item.inputFloat"
+                v-else-if="item.inputFloat||item.inputFloatValue"
                 label=" "
                 :prop="'tableData.' + scope.$index + '.' + item.prop"
                 :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
               >
-                <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+                <span v-if="scope.row.isEdit||(item.inputFloatValue&&!scope.row[item.isInputFloat])">{{ scope.row[item.prop] }}</span>
                 <div v-else @click.stop="commoInput">
                   <el-input-number
                     v-model="scope.row[item.prop]"
@@ -156,7 +160,7 @@
                     :controls="false"
                     size="mini"
                     style="width: 100%; margin-right: 5px"
-                    :min="item.prop === 'minInventory' ? 0 : 1"
+                    :min="item.prop === 'minInventory' ? 0 : 0"
                     @change="
                       (val) => {
                         commonInputChange(val, item.prop, scope.row)
@@ -255,7 +259,7 @@
                     style="width: 80%"
                     @change="
                       (val) => {
-                        selSonLocationClick(val, item.prop)
+                        selSonLocationClick(val, item.prop,scope.row,scope)
                       }
                     "
                   >
@@ -430,7 +434,7 @@
         <slot name="tableButton" />
       </el-table>
     </el-form>
-    <div v-if="!detailEnter && !isinventory && !isReorder" style="margin: 10px">
+    <div v-if="!detailEnter && !isinventory && !isReorder&&isOperateAdd" style="margin: 10px">
       <el-button size="small" type="primary" @click="add">鏂板</el-button>
       <el-button size="small" type="primary" @click="empty">娓呯┖</el-button>
     </div>
@@ -507,7 +511,12 @@
     isOperate: {
       type: Boolean,
       default: true
-    }
+    },
+    // 鏄惁鏈夋柊澧炲拰娓呯┖鎿嶄綔
+    isOperateAdd: {
+      type: Boolean,
+      default: true
+    },
   },
   data() {
     return {
@@ -561,10 +570,19 @@
   computed: {},
   watch: {
     productTableList() {
-      this.tableList = this.productTableList
+      // this.showcol = this.productTableList.showcol
+      this.getTableInfo()
     }
   },
   methods: {
+    getTableInfo(){
+      this.tableList = this.productTableList
+      if (this.tableList.tableData.length === 1 && this.tableList.tableData[0].name === "") {
+        this.isRecalculate = false
+      } else {
+        this.isRecalculate = true
+      }
+    },
     // 浜у搧鍚嶇О
     async getProductList() {
       await getProductList({
@@ -579,8 +597,8 @@
       })
     },
     // 涓嬫媺鎼滅储
-    async handleSelectClient(value, item) {
-      this.$emit("selProductClick", value, item)
+    async handleSelectClient(value, item,row,scope) {
+      this.$emit("selProductClick", value, item,row,scope)
       if (value === "product") {
         if (item.categoryId === 0 || item.categoryName === "") {
           this.productTypeNameOptions = []
@@ -612,7 +630,7 @@
       } else if (value === "formLocation") {
         restaurants = this.selLocationOptions
       }
-      var results = queryString ? restaurants.filter(this.createStateFilter(queryString, value)) : restaurants
+      var results = (queryString&&restaurants) ? restaurants.filter(this.createStateFilter(queryString, value)) : restaurants
       cb(results)
       if (results.length === 0) {
         this.productTypeNameOptions = []
@@ -679,6 +697,7 @@
       this.locacionName = ""
       await getLocationList({
         // keyword: "",
+        type:3,
         jointName: this.initialPosition ? this.initialPosition : null,
         productId: this.queryProductId ? this.queryProductId : null,
         productCategoryId: this.categoryId ? this.categoryId : null,
@@ -881,8 +900,8 @@
       this.$emit("selLocationClick", item, prop)
     },
     // 閫夋嫨瀛愪綅缃�
-    selSonLocationClick(item) {
-      this.$emit("selSonLocationClick", item)
+    selSonLocationClick(item,prop,row,scope) {
+      this.$emit("selSonLocationClick", item,prop,row,scope)
     },
     // 鑾峰彇鍦ㄥ簱涓庨娴嬫暟閲�
     getAmountAndPrediction(item, val, ite) {

--
Gitblit v1.8.0