From 4fc9abfa57e81e83b74bdbd2e2f6d71d3500ef66 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 19 九月 2023 11:26:07 +0800
Subject: [PATCH] 11

---
 src/views/project/travelexpenseapply/travelexpensedetail/index.vue |   96 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 64 insertions(+), 32 deletions(-)

diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
index 9ad5f04..b2a3e5a 100644
--- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
+++ b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -943,23 +943,24 @@
     >
       <div>
         <el-table :data="tableDatatop" style="width: 100%">
-          <el-table-column prop="persontype" label="浜哄憳绫诲埆" width="130">
+          <el-table-column prop="orderno" label="搴忓彿"> </el-table-column>
+          <el-table-column prop="personname" label="璐圭敤浜哄憳">
           </el-table-column>
-          <el-table-column prop="personname" label="璐圭敤浜哄憳" width="130">
+          <el-table-column prop="createTime" label="寮�濮嬫棩鏈�">
           </el-table-column>
+          <el-table-column prop="endtime" label="缁撴潫鏃ユ湡"> </el-table-column>
           <el-table-column prop="departure" label="鍑哄彂鍦�"> </el-table-column>
           <el-table-column prop="destination" label="鍒拌揪鍦�"> </el-table-column>
           <el-table-column prop="days" label="澶╂暟"> </el-table-column>
+        </el-table>
+        <el-table :data="tableDatatop" style="width: 100%">
           <el-table-column prop="traffictype" label="鍑哄彂浜ら�氬伐鍏�">
           </el-table-column>
           <el-table-column prop="traffictype2" label="杩斿洖浜ら�氬伐鍏�">
           </el-table-column>
-        </el-table>
-        <el-table :data="tableDatatop" style="width: 100%">
-          <el-table-column prop="trafficexpense" label="浜ら�氳垂" width="130">
+          <el-table-column prop="trafficexpense" label="浜ら�氳垂">
           </el-table-column>
-          <el-table-column prop="cityfee" label="甯傚唴浜ら�氳垂" width="130">
-          </el-table-column>
+          <el-table-column prop="cityfee" label="甯傚唴浜ら�氳垂"> </el-table-column>
           <el-table-column prop="hotelexpense" label="浣忓璐�">
           </el-table-column>
           <el-table-column prop="foodallowance" label="浼欓琛ュ姪">
@@ -1089,7 +1090,8 @@
 import {
   listReimbursementpayee,
   addReimbursementpayee,
-  updateReimbursementpayee
+  updateReimbursementpayee,
+  delReimbursementpayee
 } from "@/api/project/reimbursementpayee";
 import {
   listReimbursement,
@@ -1325,6 +1327,8 @@
   },
 
   mounted() {
+    window.addEventListener("beforeunload", e => this.beforeunloadHandler(e));
+
     //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪�
     let curId = this.$route.query.id;
     let pos = this.$route.query.pos;
@@ -1346,6 +1350,24 @@
   },
 
   methods: {
+    // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず
+    beforeunloadHandler(e) {
+      if (
+        (JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
+          JSON.stringify(this.rbDetails) ==
+            sessionStorage.getItem("apifunddetail")) ||
+        !sessionStorage.getItem("apifunddetail")
+      ) {
+      } else {
+        this._beforeUnload_time = new Date().getTime();
+        e = e || window.event;
+        if (e) {
+          e.returnValue = "鍏抽棴鎻愮ず";
+        }
+        return "鍏抽棴鎻愮ず";
+      }
+    },
+
     handleUploadError() {},
     // 鑾峰彇璇锋眰澶�
     Getnetworkheader() {
@@ -1898,12 +1920,15 @@
       //鑾峰彇鎶ラ攢涓讳俊鎭�
       getReimbursement(curId).then(response => {
         this.form = response.data;
+
         this.fileListto = this.form.annexfiles
           ? this.form.annexfiles
               .split(",")
               .map(item => ({ url: item, name: item }))
           : [];
         this.form.recordstatus = response.data.recordstatus + "";
+        sessionStorage.removeItem("apiform");
+        sessionStorage.setItem("apiform", JSON.stringify(this.form));
 
         //鑾峰彇鎶ラ攢鏄庣粏淇℃伅
         getReimbursementdetaillist(curId).then(res => {
@@ -1912,20 +1937,16 @@
           if (this.rbDetails.length == 0) {
             this.addDetailRow(0);
           }
-
           //瀹炴椂鍚堣閲戦
           //this.sumTotalFee();
           for (let i = 0; i < this.rbDetails.length; i++) {
             this.sumRowFee(this.rbDetails[i]);
-            //瑙f瀽鍑哄樊鍦板潃
-            /*
-              this.rbDetails[i].index = i;
-              this.rbDetails[i].searchAddress = {
-                sheng: this.rbDetails[i].travelprovincename,
-                shi: this.rbDetails[i].travelcityname,
-                qu: this.rbDetails[i].traveltownname,
-              }; */
           }
+          sessionStorage.removeItem("apifunddetail");
+          sessionStorage.setItem(
+            "apifunddetail",
+            JSON.stringify(this.rbDetails)
+          );
         });
 
         //鑾峰彇鎶ラ攢鎵撴淇℃伅
@@ -2007,6 +2028,8 @@
             this.addPayeeRow(0);
           }
         });
+        sessionStorage.removeItem("apiform");
+        sessionStorage.setItem("apiform", JSON.stringify(this.form));
       });
     },
 
@@ -2022,6 +2045,7 @@
 
       getReimbursement(id).then(response => {
         this.form = response.data;
+
         //绁ㄦ嵁
         this.fileListto = this.form.annexfiles
           ? this.form.annexfiles
@@ -2071,6 +2095,8 @@
             this.addPayeeRow(0);
           }
         });
+        sessionStorage.removeItem("apiform");
+        sessionStorage.setItem("apiform", JSON.stringify(this.form));
       });
     },
 
@@ -2163,17 +2189,15 @@
           */
 
           //绁ㄦ嵁鏂囦欢澶勭悊
+          const addnumber = this.rbPayees.reduce(
+            (amount, item) => amount + Number(item.amount),
+            0
+          );
           let list = this.fileListto;
           console.log(list);
 
           //鏍¢獙璇锋閲戦鍚堣鏄惁绛変簬鎶ラ攢鍗曢噾棰�
-          if (
-            this.form.amountrequested !=
-            this.rbPayees.reduce(
-              (amount, item) => amount + Number(item.amount),
-              0.0
-            )
-          ) {
+          if (this.form.amountrequested != addnumber) {
             this.$message({
               message:
                 "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�",
@@ -2239,6 +2263,11 @@
                   rbPayees[i].rbid = response.data;
                   addReimbursementpayee(rbPayees[i]);
                 }
+                sessionStorage.setItem(
+                  "apifunddetail",
+                  JSON.stringify(this.rbDetails)
+                );
+                sessionStorage.setItem("apiform", JSON.stringify(this.form));
 
                 this.$modal.msgSuccess("鏂板鎶ラ攢鍗曚繚瀛樻垚鍔�!");
                 this.open = false;
@@ -2297,6 +2326,11 @@
       this.Savereminder = false;
       this.Reminderquantity = 0;
       this.totalquantity = 0;
+      const addnumber = this.rbPayees.reduce(
+        (amount, item) => amount + Number(item.amount),
+        0
+      );
+      console.log(addnumber, "addnumber");
       this.$refs["form"].validate(valid => {
         if (valid) {
           //绁ㄦ嵁鏂囦欢澶勭悊
@@ -2304,13 +2338,7 @@
           console.log(list);
 
           //鏍¢獙璇锋閲戦鍚堣鏄惁绛変簬鎶ラ攢鍗曢噾棰�
-          if (
-            this.form.amountrequested !=
-            this.rbPayees.reduce(
-              (amount, item) => amount + Number(item.amount),
-              0.0
-            )
-          ) {
+          if (this.form.amountrequested != addnumber) {
             this.$message({
               message:
                 "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�",
@@ -2428,6 +2456,8 @@
         destination: null
       };
       if (this.rbDetails.length) {
+        console.log(this.rbDetails[rowIndex].persontype);
+        console.log(this.rbDetails[rowIndex].personname);
         rowData.persontype = this.rbDetails[rowIndex].persontype;
         rowData.personname = this.rbDetails[rowIndex].personname;
       }
@@ -2511,8 +2541,10 @@
       })
         .then(() => {
           console.log(row);
+          let arrow=[];
+          arrow.push(row.id);
           if (row.id !== null) {
-            delReimbursementdetail(row.id).then(res => {
+            delReimbursementpayee(arrow).then(res => {
               this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
               rows.splice(index, 1);
               this.recountOrderNo2();

--
Gitblit v1.9.3