From 2871dd51e0adc895781cf4ddb6979c93abe55b75 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 22 九月 2023 15:54:18 +0800
Subject: [PATCH] 11

---
 src/views/project/travelexpenseapply/travelexpensedetail/index.vue |  143 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 101 insertions(+), 42 deletions(-)

diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
index b26091f..f9798b0 100644
--- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
+++ b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue
@@ -84,7 +84,7 @@
               />
             </el-form-item>
           </el-col>
-          <el-col :span="10">
+          <el-col :span="7">
             <el-form-item label="澶у啓閲戦" prop="bigstrmoney">
               <el-input
                 :disabled="true"
@@ -92,7 +92,7 @@
                 placeholder="鎶ラ攢澶у啓閲戦"
               />
             </el-form-item> </el-col
-          ><el-col :span="5">
+          ><el-col :span="4">
             <el-form-item label="瀹℃牳鐘舵��" prop="flowlevel">
               <el-select
                 v-model="form.recordstatus"
@@ -107,6 +107,23 @@
                   :label="dict.label"
                   :value="dict.value"
                 />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item label="棰勫鐘舵��" prop="infoid">
+              <el-select
+                v-model="form.checkstatus"
+                filterable
+                placeholder="璇烽�夋嫨棰勫鐘舵��"
+              >
+                <el-option
+                  v-for="item in baselisttages"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -920,13 +937,13 @@
         <el-button
           type="primary"
           @click="submitForm"
-          v-if="operationType == 'edit'"
+          v-if="operationType == 'edit'||beforehandType=='1'"
           >淇� 瀛�</el-button
         >
         <el-button
           type="primary"
           @click="checksubmit"
-          v-if="operationType == 'check'"
+          v-if="operationType == 'check'&& beforehandType!='1'"
           >鎻� 浜�</el-button
         >
         <!--<el-button @click="cancel">閫� 鍑�</el-button>-->
@@ -943,28 +960,23 @@
     >
       <div>
         <el-table :data="tableDatatop" style="width: 100%">
-          <el-table-column prop="orderno" label="搴忓彿" >
+          <el-table-column prop="orderno" label="搴忓彿"> </el-table-column>
+          <el-table-column prop="personname" label="璐圭敤浜哄憳">
           </el-table-column>
-          <el-table-column prop="personname" label="璐圭敤浜哄憳" >
-          </el-table-column>
-          <el-table-column prop="createTime" label="寮�濮嬫棩鏈�" >
-          </el-table-column>
-          <el-table-column prop="endtime" label="缁撴潫鏃ユ湡" >
-          </el-table-column>
+          <el-table-column prop="starttime" 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-column prop="trafficexpense" label="浜ら�氳垂" >
+          <el-table-column prop="trafficexpense" label="浜ら�氳垂">
           </el-table-column>
-          <el-table-column prop="cityfee" label="甯傚唴浜ら�氳垂" >
-          </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="浼欓琛ュ姪">
@@ -1094,7 +1106,8 @@
 import {
   listReimbursementpayee,
   addReimbursementpayee,
-  updateReimbursementpayee
+  updateReimbursementpayee,
+  delReimbursementpayee
 } from "@/api/project/reimbursementpayee";
 import {
   listReimbursement,
@@ -1257,6 +1270,20 @@
       rbDetails: [],
       rbPayees: [],
       arrr2: [],
+      baselisttages: [
+        {
+          id: 1,
+          name: "寰呴瀹�"
+        },
+        {
+          id: 2,
+          name: "棰勫閫氳繃绛夊緟鏉愭枡"
+        },
+        {
+          id: 3,
+          name: "宸叉敹鍒版姤閿�鏉愭枡"
+        },
+      ],
       baselist: [],
       donatorList: [],
       standardlevel: 0,
@@ -1274,7 +1301,7 @@
       persontype: null,
       //鍒拌揪鍦�
       arriveAddr: null,
-
+      beforehandType:null,
       headers: {
         Authorization: "Bearer " + getToken()
       },
@@ -1330,10 +1357,13 @@
   },
 
   mounted() {
+    window.addEventListener("beforeunload", e => this.beforeunloadHandler(e));
+
     //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪�
     let curId = this.$route.query.id;
     let pos = this.$route.query.pos;
     this.defaultperson = this.$route.query.routerparam;
+    this.beforehandType = this.$route.query.beforehandType;
     if (pos == 1) {
       this.handleAdd(curId);
     } else if (pos == 2) {
@@ -1349,8 +1379,29 @@
       this.$refs["table"].doLayout();
     });
   },
+  destroyed() {
+    window.removeEventListener("beforeunload", e => this.beforeunloadFn(e));
+  }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
 
   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() {
@@ -1903,12 +1954,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 => {
@@ -1917,20 +1971,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)
+          );
         });
 
         //鑾峰彇鎶ラ攢鎵撴淇℃伅
@@ -2012,6 +2062,8 @@
             this.addPayeeRow(0);
           }
         });
+        sessionStorage.removeItem("apiform");
+        sessionStorage.setItem("apiform", JSON.stringify(this.form));
       });
     },
 
@@ -2027,6 +2079,7 @@
 
       getReimbursement(id).then(response => {
         this.form = response.data;
+
         //绁ㄦ嵁
         this.fileListto = this.form.annexfiles
           ? this.form.annexfiles
@@ -2076,6 +2129,8 @@
             this.addPayeeRow(0);
           }
         });
+        sessionStorage.removeItem("apiform");
+        sessionStorage.setItem("apiform", JSON.stringify(this.form));
       });
     },
 
@@ -2168,17 +2223,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:
                 "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�",
@@ -2190,7 +2243,7 @@
           const rbDetails = [...this.rbDetails];
           const rbPayees = [...this.rbPayees];
           if (this.form.id != null) {
-            console.log(this.form);
+            console.log(this.form); 
             updateReimbursement(this.form);
             //   .then(res => {
             //淇濆瓨鏄庣粏
@@ -2244,6 +2297,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;
@@ -2302,6 +2360,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) {
           //绁ㄦ嵁鏂囦欢澶勭悊
@@ -2309,13 +2372,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:
                 "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�",
@@ -2518,8 +2575,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