From 7045ca2f6b6bcbc3987e388bf0b25281c250ccf5 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期五, 19 四月 2024 18:09:00 +0800
Subject: [PATCH] srm 新增编辑供应商,启用停用创建账号获取和保存企业/信用等级/供货范围 ,等大概7个接口的联调

---
 src/components/makepager/CommonFormTableView.vue |   85 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 73 insertions(+), 12 deletions(-)

diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue
index 145cd11..c022770 100644
--- a/src/components/makepager/CommonFormTableView.vue
+++ b/src/components/makepager/CommonFormTableView.vue
@@ -3,15 +3,17 @@
     <el-form ref="form" :model="tableList" :show-message="false" label-position="right">
       <el-table
         ref="fromTable"
+        :border="isBoder"
         :data="tableList.tableData"
         :show-summary="showSummary.show"
         :summary-method="getSummaries"
         :span-method="arraySpanMethod"
         style="width: 100%"
         @selection-change="handleSelectionChange"
-        :row-key="(row) => row.productId"
+        :row-key="getRowKeys"
       >
-        <el-table-column v-if="selectBox" type="selection" :reserve-selection="true" width="40" align="center">
+        <el-table-column v-if="selectBox"  type="selection" :selectable="isDisabled" :reserve-selection="true" width="40" align="center">
+          
         </el-table-column>
         <el-table-column v-if="tableList.isReturn" type="index" label="#" width="50" align="center"></el-table-column>
         <el-table-column
@@ -27,6 +29,9 @@
           <template slot="header">
             <span v-if="item.isRequird" style="color: #f56c6c">*</span>
             <span>{{ item.label }}</span>
+            <FilterPopover @toFiltering="toFiltering" class="margin_left_3px" v-if="item.isFilter" 
+            :layout="item.prop" :isFilterList="item.isFilterList"
+            :selectedListDefault="item.selectedListDefault"></FilterPopover>
           </template>
           <!-- column鏍峰紡 -->
           <template slot-scope="scope">
@@ -49,6 +54,13 @@
                   "
                 ></el-input>
               </el-form-item>
+              <span v-else-if="item.compute">{{ calculateDifference(scope.row) }}</span>
+              <!-- 璋冪敤鏂规硶鏄剧ず鏂囧瓧 -->
+              <div v-else-if="item.isCallMethod">
+                <span :class="item.isClass ? item.getClassName(scope.row[item.prop], scope.row) : ''">{{
+                  item.getCallMethod(scope.row[item.prop], scope.row)
+                }}</span>
+              </div>
               <el-form-item
                 v-else-if="item.productName"
                 label=" "
@@ -173,9 +185,14 @@
                 "
               ></el-input-number>
             </el-form-item>
-            <span v-else style="text-align: right">{{ scope.row[item.prop] }}</span>
+            <span v-else style="text-align: right">{{ scope.row[item.prop] }}</span> 
+            
           </template>
+          <!-- <template slot-scope="scope" v-if="item.compute">   
+          </template>  -->
         </el-table-column>
+        <!-- <el-table-column label="鍓╀綑鏀惰揣鏁伴噺">   
+        </el-table-column> -->
         <el-table-column label="鎿嶄綔" width="40" v-if="!detailEnter" align="center">
           <template slot-scope="scope">
             <el-button type="text" size="small" :disabled="!isOperate" @click="deleteClick(scope)">鍒犻櫎</el-button>
@@ -217,11 +234,21 @@
 <script>
 import { getProductListFromGrpc, getProductList } from "@/api/productManage/product"
 import SelectCommonDialog from "@/views/other/commonDialog/SelectCommonDialog"
+import FilterPopover from "@/components/makepager/FilterPopover";
 export default {
   name: "CommmonFormTableView",
-  components: { SelectCommonDialog },
+  components: { SelectCommonDialog ,FilterPopover},
   props: {
     detailEnter: {
+      type: Boolean,
+      default: false
+    },
+    // selection 閫夋嫨鐘舵�� 椤甸潰
+    name: {
+      type: String,
+      default: "",
+    },
+    isBoder:{
       type: Boolean,
       default: false
     },
@@ -288,9 +315,11 @@
         editVisible: false,
         isSelectBox: false,
         title: "",
-        infomation: {}
+        infomation: {},
+        supplierId:null,
       },
-      productIndex: 0
+      productIndex: 0,
+      supplierId:null,
     }
   },
   created() {
@@ -305,10 +334,42 @@
         this.getTableInfo()
       },
       immediate: true
-    }
+    },
+    supplierId(n,o) {  
+      this.editSelCommonConfig.supplierId=n
+      console.log(n,o,"鐪嬬湅閭�") 
+    } 
   },
   computed: {},
   methods: {
+    // 鑾峰彇row鐨刱ey鍊�
+    getRowKeys(row) {
+      let string;
+      string = row[this.productTableList.key?this.productTableList.key:this.productTableList.productId];
+      return string;
+    },
+    isDisabled(row){ 
+      if (this.name == "rework") {
+        if (row.status == 1) {
+          return true;
+        } else {
+          return false;
+        }
+      }else {
+        return true;
+      }
+    },
+    calculateDifference(row) {  
+      if (row.notReceiveAmount !== null && row.nowReceiveAmount !== null) {  
+        row.surplusReceiveAmount=row.notReceiveAmount - row.nowReceiveAmount;
+        return  row.surplusReceiveAmount
+      } else {  
+        return 0; 
+      }  
+    },
+    toFiltering(event){
+      this.$emit("toFiltering", event);
+    },
     getTableInfo() {
       this.tableList = this.productTableList
     },
@@ -316,9 +377,9 @@
     async getProductList() {
       let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc
       await fn({
-        page: 1,
-        pageSize: 100
-      }).then((res) => {
+          page: 1,
+          pageSize: 100,
+        }).then((res) => {
         if (res.code === 200) {
           if (res.data.list && res.data.list.length > 0) {
             this.productList = res.data.list
@@ -492,6 +553,7 @@
       this.tableList.tableData.map((ite) => {
         if (ite.name === item.name) {
           ite.amount = item.amount || 1
+          ite.productId = item.id
           ite.number = item.number
           ite.purchasePrice = item.purchasePrice
           ite.price = item.purchasePrice
@@ -504,8 +566,7 @@
       })
     },
     // 鏂板
-    selClientClick(scope, prop) {
-      console.log(scope, prop)
+    selClientClick(scope) {
       this.productIndex = scope.$index
       this.editSelCommonConfig.title = "浜у搧鍚嶇О"
       this.editSelCommonConfig.isSelectBox = true

--
Gitblit v1.8.0