From d6d4d1342d8f6211e7035d6a562dc9f7dced1bea Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期五, 19 四月 2024 16:41:26 +0800
Subject: [PATCH] 入库,出库,调拨,出入库明细 4个模块增加已经添加过的产品不可以再次选择

---
 src/components/makepager/TableCommonView.vue        |   23 ++++++++++++++++++++++-
 src/components/makepager/CommonFormTableView.vue    |   11 ++++++++++-
 src/views/other/commonDialog/SelectCommonDialog.vue |    7 +++++++
 3 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index 6e8f41c..7dc1284 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -570,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({
diff --git a/src/components/makepager/TableCommonView.vue b/src/components/makepager/TableCommonView.vue
index df44eff..9169ad1 100644
--- a/src/components/makepager/TableCommonView.vue
+++ b/src/components/makepager/TableCommonView.vue
@@ -22,7 +22,7 @@
       :summary-method="getSummaries"
       :show-summary="showSummary"
     >
-      <el-table-column v-if="tableList.selectBox" type="selection" width="40"> </el-table-column>
+      <el-table-column v-if="tableList.selectBox" type="selection" width="40" :selectable="selectable"> </el-table-column>
       <el-table-column v-if="tableList.selectIndex" type="index" label="搴忓彿" width="50"> </el-table-column>
       <el-table-column
         v-for="(item, i) in tableList.tableColumn"
@@ -151,6 +151,15 @@
     showSummary: {
       type: Boolean,
       default: false
+    },
+    // 鍒楄〃涓嶅彲閫夌殑鏁版嵁
+    selectBoxList: {
+      type: Array,
+      default: () => []
+    },
+    name:{
+      type:String,
+      default:''
     }
   },
   data() {
@@ -254,6 +263,18 @@
         })
         return sums
       }
+    },
+    selectable(row) {
+      let prop='id'
+      if(this.name=='product'){
+        prop='productId'
+      }
+      let list = this.selectBoxList.map((item) => item[prop])
+      if (list.findIndex((v) => v == row.id) == -1) {
+        return true
+      } else {
+        return false
+      }
     }
   }
 }
diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue
index 2385fe8..9ea4514 100644
--- a/src/views/other/commonDialog/SelectCommonDialog.vue
+++ b/src/views/other/commonDialog/SelectCommonDialog.vue
@@ -24,6 +24,8 @@
           :loading="loading"
           :table-list="tableList"
           :select-box="editCommonConfig.isSelectBox"
+          :selectBoxList="selectBoxList"
+          name="product"
           @selCommonClick="selNameClick"
           @selTableCol="selTableCol"
           @getSelectArray="getSelectArray"
@@ -69,6 +71,11 @@
           tableInfomation: []
         }
       }
+    },
+    // 涓嶅彲閫夌殑鏁版嵁
+    selectBoxList: {
+      type: Array,
+      default: () => []
     }
   },
   components: {},

--
Gitblit v1.8.0