From 7eb332b94fcc4d06000c38dda3ef49ca3b35f7c2 Mon Sep 17 00:00:00 2001
From: zzq <a13193816592@163.com>
Date: 星期三, 27 九月 2023 20:54:35 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/web/WMS

---
 src/components/makepager/CommonFormTableView.vue |  107 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 86 insertions(+), 21 deletions(-)

diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index ff7f169..099c275 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -57,7 +57,7 @@
                     style="width: 80%"
                     @change="
                       (val) => {
-                        selProductClick(val)
+                        selProductNameClick(val)
                       }
                     "
                   >
@@ -78,7 +78,7 @@
                 :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"
               >
                 <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
-                <el-date-picker v-else v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px">
+                <el-date-picker v-else v-model="scope.row[item.prop]" type="date" size="mini" style="width: 100%">
                 </el-date-picker>
               </el-form-item>
               <el-form-item
@@ -140,16 +140,25 @@
               <!-- 浣嶇疆 -->
               <el-form-item v-else-if="item.location" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
                 <div class="custom-name">
-                  <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+                  <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row[item.prop] }}</span>
                   <el-select
                     v-else
                     v-model="scope.row[item.prop]"
                     placeholder="璇烽�夋嫨"
                     size="mini"
                     style="width: 80%"
-                    @change="selLocationClick"
+                    @change="
+                      (val) => {
+                        selLocationClick(val, item.prop)
+                      }
+                    "
                   >
-                    <el-option v-for="item in selLocationOptions" :key="item.id" :label="item.name" :value="item.name">
+                    <el-option
+                      v-for="(item, index) in selLocationOptions"
+                      :key="index"
+                      :label="item.name"
+                      :value="{ value: item.id, label: item.name }"
+                    >
                     </el-option>
                   </el-select>
                 </div>
@@ -157,7 +166,7 @@
               <!-- 浜у搧 -->
               <el-form-item v-else-if="item.product" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop">
                 <div class="custom-name">
-                  <span v-if="scope.row.isEdit">{{ scope.row[item.prop] }}</span>
+                  <span v-if="scope.row.isEdit || scope.row.editable">{{ scope.row[item.prop] }}</span>
                   <el-select
                     v-else
                     v-model="scope.row[item.prop]"
@@ -174,7 +183,14 @@
                       v-for="item in productNameOptions"
                       :key="item.id"
                       :label="item.name"
-                      :value="{ value: item.id, label: item.name, amount: item.amount, unit: item.unit }"
+                      :value="{
+                        value: item.id,
+                        label: item.name,
+                        amount: item.amount,
+                        unit: item.unit,
+                        categoryId: item.categoryId,
+                        categoryName: item.categoryName
+                      }"
                     >
                     </el-option>
                   </el-select>
@@ -233,6 +249,7 @@
 import { getProductList } from "@/api/product/product"
 import { getLocationList } from "@/api/warehouseManage/warehouse"
 import { getCompanyList } from "@/api/common/other"
+import { getRuleList } from "@/api/operate/inventoryAdjustment"
 // import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
 export default {
   name: "CommmonFormTableView",
@@ -291,13 +308,14 @@
     }
   },
   created() {
-    this.getProductList()
     if (this.isinventory) {
-      this.getLocationList()
+      this.getRuleList()
+    } else {
+      this.getProductList()
     }
     if (this.islistingrules) {
       this.getLocationList()
-      this.getCompanyList()
+      // this.getCompanyList()
     }
     this.tableList = this.productTableList
   },
@@ -319,6 +337,20 @@
           if (res.data && res.data.length > 0) {
             this.productNameOptions = res.data
           }
+        }
+      })
+    },
+    // 搴撳瓨璋冩暣鑾峰彇浣嶇疆鍜屼骇鍝�
+    async getRuleList() {
+      await getRuleList({
+        locationId: 0,
+        productId: ""
+      }).then((res) => {
+        console.log(res)
+        if (res.code === 200) {
+          const list = res.data ? res.data : []
+          this.selLocationOptions = list.locationList
+          this.productNameOptions = list.productList
         }
       })
     },
@@ -344,8 +376,7 @@
         }
       })
     },
-    // 閫夋嫨浜у搧
-    selProductClick(item) {
+    selProductNameClick(item) {
       this.tableList.tableData.map((ite) => {
         if (ite.productName.label === item.label) {
           ite.productId = item.value
@@ -356,18 +387,52 @@
       })
       console.log(this.tableList.tableData)
     },
+    // 閫夋嫨浜у搧
+    selProductClick(item) {
+      console.log(item)
+      this.tableList.tableData.map((ite) => {
+        if (ite.productName.label === item.label) {
+          ite.productId = item.value
+          ite.productName = item.label
+          ite.categoryId = item.categoryId
+          ite.productCategory = item.categoryName
+          ite.amount = item.amount
+          ite.unit = item.unit
+        }
+      })
+      if (this.isinventory) {
+        getRuleList({
+          locationId: 0,
+          productId: item.value
+        }).then((res) => {
+          console.log(res)
+          if (res.code === 200) {
+            const list = res.data ? res.data : []
+            this.selLocationOptions = list.locationList
+          }
+        })
+      }
+      console.log(this.tableList.tableData)
+      this.$emit("selProductClick", item)
+    },
     // 閫夋嫨浣嶇疆
-    selLocationClick(item) {
+    selLocationClick(item, prop) {
       console.log(item)
       console.log(this.tableList.tableData)
-      // this.tableList.tableData.map((ite) => {
-      //   if (ite.location.label === item.label) {
-      //     ite.location = item.label
-      //   }
-      //   if (ite.subLocation.label === item.label) {
-      //     ite.subLocation = item.label
-      //   }
-      // })
+      if (this.isinventory) {
+        getRuleList({
+          locationId: item.value,
+          productId: ""
+        }).then((res) => {
+          console.log(res)
+          if (res.code === 200) {
+            const list = res.data ? res.data : []
+            // this.selLocationOptions = list.locationList
+            this.productNameOptions = list.productList
+          }
+        })
+      }
+      this.$emit("selLocationClick", item, prop)
     },
     // 閫夋嫨鍗曚綅/鐢ㄦ埛
     selCommonClick(item) {

--
Gitblit v1.8.0