From 2e99f3e099c8541808312eae125c7af5a498e122 Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期三, 03 一月 2024 16:07:00 +0800
Subject: [PATCH] 修改出入库明细headerTitle刷新丢失的问题

---
 src/views/overview/AddOverviewDialog.vue |  114 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 97 insertions(+), 17 deletions(-)

diff --git a/src/views/overview/AddOverviewDialog.vue b/src/views/overview/AddOverviewDialog.vue
index 9956ae6..70433e6 100644
--- a/src/views/overview/AddOverviewDialog.vue
+++ b/src/views/overview/AddOverviewDialog.vue
@@ -203,9 +203,10 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item v-if="workType !== 1" label="婧愪綅缃�" prop="fromLocationId">
+                <el-form-item :label="workType === 1?'浠撳簱浣嶇疆':'婧愪綅缃�'" prop="location">
                   <el-select
-                    v-model="editConfig.infomation.fromLocationId"
+                    @change="rootLocationChange"
+                    v-model="editConfig.infomation.location"
                     placeholder="璇烽�夋嫨"
                     size="mini"
                     style="width: 90%"
@@ -215,13 +216,13 @@
                       v-for="item in toLocationOptions"
                       :key="item.id"
                       :label="item.jointName"
-                      :value="item.id"
+                      :value="{label:item.jointName,value:item.id}"
                     >
                     </el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
-              <el-col :span="12">
+              <!-- <el-col :span="12">
                 <el-form-item v-if="workType !== 2" label="浠撳簱浣嶇疆" prop="toLocationId">
                   <el-select
                     v-model="editConfig.infomation.toLocationId"
@@ -239,7 +240,7 @@
                     </el-option>
                   </el-select>
                 </el-form-item>
-              </el-col>
+              </el-col> -->
               <el-col :span="12">
                 <el-form-item label="璐熻矗浜�" prop="contacterName">
                   <el-select
@@ -297,6 +298,8 @@
             <!-- 鎿嶄綔 -->
             <div v-if="activeName === 'first'">
               <CommonFormTableView
+                ref="tableView"
+                :islistingrules="true"
                 :product-table-list="productTableList"
                 :detail-enter="!showFooter"
                 @inputContent="inputContent"
@@ -486,7 +489,7 @@
         sourceNumber: [{ required: true, message: "璇疯緭鍏ユ潵婧愬崟鎹�", trigger: "blur" }],
         operationDate: [{ required: true, message: "璇烽�夋嫨鏃ユ湡", trigger: "change" }],
         toLocationId: [{ required: true, message: "璇烽�夋嫨浠撳簱浣嶇疆", trigger: "change" }],
-        fromLocationId: [{ required: true, message: "璇烽�夋嫨婧愪綅缃�", trigger: "change" }],
+        location: [{ required: true, message: "璇烽�夋嫨婧愪綅缃�", trigger: "change" }],
         operationTypeId: [{ required: true, message: "璇烽�夋嫨鍏ュ簱绫诲瀷", trigger: "change" }],
         number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }]
       },
@@ -508,7 +511,7 @@
       showButton: true,
       activeName: "first",
       productTableList: {},
-      tableData: [],
+      tableData:[],
       countId: 0,
       isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨
       showEdit: false, // 鏄惁鏄剧ず缂栬緫鎸夐挳
@@ -556,6 +559,11 @@
     }
     this.getLogisticCompanyList()
     this.formInfo()
+  },
+  mounted(){
+    setTimeout(() => {
+      this.$refs.tableView.setLocationList(this.editConfig.infomation.location.label)
+    }, 100);
   },
   methods: {
     formInfo() {
@@ -747,8 +755,54 @@
           if (this.isNoProduct) {
             this.$message.error("璇锋坊鍔犳槑缁嗚鎴栭�夋嫨浜у搧涓嶈兘涓虹┖")
           } else {
-            let requestUrl = this.editConfig.title === "鏂板缓" ? addOperation : updateOperation
             let params = this.saveParams()
+            if(this.workType===2){
+              params.details.map((item)=>{
+                item.fromLocationId=item.fromLocationId.value
+              })
+            }else if(this.workType===3){
+              params.details.map((item)=>{
+                item.fromLocationId=item.fromLocationId.value
+                item.toLocationId=item.toLocationId.value
+              })
+            }
+            // 浜у搧鍒楄〃瑙f瀯
+            if(this.editConfig.title === "缂栬緫"){
+              let arr=[]
+              if(this.workType===1){
+                params.details.map((item)=>{
+                  arr.push({
+                    operationId:item.operationId,
+                    amount:item.amount,
+                    productId:item.productId
+                  })
+                })
+                params.details=arr
+              }else if(this.workType===2){
+                params.details.map((item)=>{
+                  arr.push({
+                    operationId:item.operationId,
+                    amount:item.amount,
+                    fromLocationId:item.fromLocation.id,
+                    productId:item.productId,
+                  })
+                })
+                params.details=arr
+              }else if(this.workType===3){
+                params.details.map((item)=>{
+                  arr.push({
+                    operationId:item.operationId,
+                    amount:item.amount,
+                    fromLocationId:item.fromLocation.id,
+                    toLocationId:item.toLocation.id,
+                    productId:item.productId,
+                  })
+                })
+                params.details=arr
+              }
+            }
+            let requestUrl = this.editConfig.title === "鏂板缓" ? addOperation : updateOperation
+            // let params = this.saveParams()
             requestUrl({
               ...params
             }).then((res) => {
@@ -794,13 +848,13 @@
         contacterID: contacterID,
         contacterName: contacterName,
         details: this.tableData,
-        fromLocationId: data.fromLocationId || 0,
+        locationId: data.location.value || 0,
         id: data.id,
         number: data.number || "",
         operationDate: data.operationDate || "",
         operationTypeId: this.showOperationType ? data.operationTypeId : this.editConfig.operationTypeId,
         operationTypeName: this.receiptType,
-        sourceNumber: data.sourceNumber || "",
+        sourceNumber:data.sourceNumber || "" ,
         status: 3,
         toLocationId: data.toLocationId || 0,
         waybillNumber: data.waybillNumber || "",
@@ -843,16 +897,32 @@
         this.tableData = []
       }
       // this.tableData = this.editConfig.title !== "鏂板缓" ? list : []
-      this.productTableList = {
-        tableData: this.tableData,
-        tableColumn: [
+      let tableColumnArr=[]
+      if(this.workType===1){
+        tableColumnArr= [
           { label: "浜у搧", prop: "productName", productName: true, isRequird: true },
-          // { label: "璇存槑", prop: "number", input: true },
-          // { label: "鏃ユ湡", prop: "amount", date: true, isRequird: true },
-          // { label: "鎴鏃ユ湡", prop: "price", date: true },
           { label: "鏁伴噺", prop: "amount", inputFloat: true },
           { label: "璁¢噺鍗曚綅", prop: "unit" }
         ]
+      }else if(this.workType===2){
+        tableColumnArr = [
+          { label: "浜у搧", prop: "productName", productName: true, isRequird: true },
+          { label: "浠�", prop: "fromLocationId", sonLocation: true, isRequird: true },
+          { label: "鏁伴噺", prop: "amount", inputFloat: true },
+          { label: "璁¢噺鍗曚綅", prop: "unit" }
+        ]
+      }else if(this.workType===3){
+        tableColumnArr = [
+          { label: "浜у搧", prop: "productName", productName: true, isRequird: true },
+          { label: "浠�", prop: "fromLocationId", sonLocation: true, isRequird: true },
+          { label: "鑷�", prop: "toLocationId", toLocation: true },
+          { label: "鏁伴噺", prop: "amount", inputFloat: true },
+          { label: "璁¢噺鍗曚綅", prop: "unit" }
+        ]
+      }
+      this.productTableList = {
+        tableData: this.tableData,
+        tableColumn: tableColumnArr
       }
     },
     // 鎿嶄綔杈撳叆
@@ -884,7 +954,7 @@
             productId: "",
             amount: 0,
             unit: "",
-            productName: ""
+            productName: "",
           })
         }
       } else {
@@ -1029,6 +1099,16 @@
           console.error(error)
         }
       }
+    },
+    // 婧愪綅缃�夋嫨
+    rootLocationChange(val){
+      this.editConfig.infomation.location=val
+      this.productTableList.tableData.map((item)=>{
+        console.log(item,"item")
+        item.toLocationId={}
+        item.fromLocationId={}
+      })
+      this.$refs.tableView.setLocationList(val.label)
     }
   }
 }

--
Gitblit v1.8.0