From 1fc6fb99de36cc345e23f8ca5a6cbb9bc1828c07 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 04 九月 2023 13:50:23 +0800
Subject: [PATCH] 11
---
src/views/project/fund/applyDetail/index.vue | 294 ++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 244 insertions(+), 50 deletions(-)
diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue
index 50aa3f1..e6ef7ec 100644
--- a/src/views/project/fund/applyDetail/index.vue
+++ b/src/views/project/fund/applyDetail/index.vue
@@ -158,6 +158,7 @@
<el-table
:data="rbDetails"
v-loading="loading"
+ max-height="400"
border
highlight-current-row
>
@@ -183,7 +184,7 @@
>
<template slot-scope="scope">
<el-select
- v-model="scope.row.applytype"
+ v-model="scope.row.applytypename"
placeholder="鏈嶅姟绫诲瀷"
@change="verifyFeeItemType(scope.row)"
>
@@ -204,7 +205,7 @@
>
<template slot-scope="scope">
<el-select
- v-model="scope.row.itemid"
+ v-model="scope.row.itemname"
placeholder="鏈嶅姟椤圭洰"
filterable
@change="verifyFeeItem(scope.row)"
@@ -621,7 +622,7 @@
v-if="
operationType == 'add' ||
operationType == 'update' ||
- operationType == 'check'
+ ismanager == true
"
>鎻愪氦淇濆瓨</el-button
>
@@ -841,7 +842,14 @@
>
</span>
</el-dialog>
- <el-dialog :title="pdftitle" :visible.sync="pdfVisible" width="50%">
+ <el-dialog
+ v-dialogDrags
+ :modal="false"
+ :close-on-click-modal="false"
+ :title="pdftitle"
+ :visible.sync="pdfVisible"
+ width="60%"
+ >
<div class="pdfimg">
<div class="box-pdf">
<div>
@@ -850,7 +858,9 @@
class="upload-demo"
:action="uploadFileUrl"
:file-list="fileListto"
+ :show-file-list="false"
multiple
+ drag
:limit="20"
:headers="headers"
:on-success="
@@ -864,13 +874,61 @@
:on-remove="remove"
accept="image/*,.pdf"
>
- <el-button
- :disabled="operationType == 'detail'"
- size="small"
- type="primary"
- >涓婁紶绁ㄦ嵁</el-button
- >
+ <i class="el-icon-upload"></i>
+ <div class="el-upload__text">
+ 灏嗙エ鎹嫋鍒版澶勶紝鎴�
+ <em
+ ><el-button
+ :disabled="operationType == 'detail'"
+ size="small"
+ type="primary"
+ >鐐瑰嚮涓婁紶</el-button
+ ></em
+ >
+ </div>
+ <!-- <div class="el-upload__tip" slot="tip">
+ 鍙兘涓婁紶jpg/png鏂囦欢锛屼笖涓嶈秴杩�500kb
+ </div> -->
</el-upload>
+ <el-table
+ :data="fileListto"
+ @row-click="downFile"
+ style="width: 100%"
+ >
+ <el-table-column
+ prop="name"
+ :show-overflow-tooltip="true"
+ label="鍚嶇О"
+ >
+ <template slot-scope="scope">
+ <i style="color:#409EFF" class=" el-icon-s-order" />{{
+ scope.row.name
+ }}
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ prop="name"
+ width="180"
+ :show-overflow-tooltip="true"
+ label="鍔熻兘"
+ >
+ <template slot-scope="scope">
+ <el-button
+ type="primary"
+ size="mini"
+ @click.native.prevent="deletedowfile(scope.row)"
+ >鍒犻櫎</el-button
+ >
+ <el-button
+ type="primary"
+ size="mini"
+ @click.native.prevent="moveupdowfile(scope.row)"
+ >涓婄Щ</el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
</div>
<!-- <div
class="pdftit"
@@ -919,7 +977,7 @@
listDonatebaseinfo,
getDonatebaseinfo
} from "@/api/project/donatebaseinfo";
-
+import debounce from "lodash/debounce";
import {
onelistFund,
listFund,
@@ -1077,6 +1135,8 @@
rowfeeblocks: [],
fundflowList: [],
+ // 闅忔満鏁�
+ randomnumber: "",
//涓撳/鍗曚綅閫夋嫨锛歟xpert/unit
selectionType: "",
@@ -1206,8 +1266,39 @@
atpresent: "",
Savereminder: false, //鎻愰啋淇濆瓨寮规
Reminderquantity: 0, //鎻愰啋鏁伴噺
- totalquantity: 0 //鎬绘暟閲�
+ totalquantity: 0, //鎬绘暟閲�
+ Modifyornot: 0 //鏄惁淇敼
};
+ },
+ // vue璺敱鎺у埗椤甸潰鍏抽棴鎻愮ず
+ beforeRouteLeave(to, from, next) {
+ if (
+ JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
+ JSON.stringify(this.rbDetails) == sessionStorage.getItem("apifunddetail")
+ ) {
+ console.log("cg1");
+ sessionStorage.removeItem("apiform");
+ sessionStorage.removeItem("apifunddetail");
+
+ //灏辨槸涓婇潰鐨勭姸鎬� 濡傛灉鏄痶rue , 鍒欎笉璇㈤棶鏄惁淇濆瓨, 褰撶劧杩欎釜鏂规硶姣旇緝绗�, 澶у鍙互浣跨敤鏇翠紭闆呯殑鏂瑰紡
+ next();
+ } else {
+ console.log("cg2");
+ this.$confirm("绂诲紑椤甸潰 , 鏇存柊鏁版嵁灏嗕笉鍋氫繚瀛�, 璇风‘璁ゅ凡缁忎繚瀛�", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ })
+ .then(() => {
+ sessionStorage.removeItem("apiform");
+ sessionStorage.removeItem("apifunddetail");
+ this.$router.go(-1);
+ next();
+ })
+ .catch(() => {
+ // alert("router")
+ });
+ }
},
//鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康
computed: {},
@@ -1215,6 +1306,25 @@
watch: {},
//鏂规硶闆嗗悎
methods: {
+ // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず
+ beforeunloadHandler(e) {
+ if (
+ (JSON.stringify(this.form) == sessionStorage.getItem("apiform") &&
+ JSON.stringify(this.rbDetails) ==
+ sessionStorage.getItem("apifunddetail")) ||
+ !sessionStorage.getItem("apifunddetail")
+ ) {
+ console.log(cg);
+ } else {
+ this._beforeUnload_time = new Date().getTime();
+ e = e || window.event;
+ if (e) {
+ e.returnValue = "鍏抽棴鎻愮ず";
+ }
+ return "鍏抽棴鎻愮ず";
+ }
+ },
+
// 琛ㄥ崟閲嶇疆
reset() {
this.form = {
@@ -1266,16 +1376,14 @@
},
// 鑾峰彇璇锋眰澶�
Getnetworkheader() {
- console.log(window.location.href);
let string = window.location.href;
if (string.includes("9091")) {
const index = string.indexOf("9091");
this.Networkheader = string.slice(0, index + 4); // 鎴彇9091鍙婂叾鍓嶉儴瀛楃
- console.log(this.Networkheader);
+ // console.log(this.Networkheader);
} else {
const index = string.indexOf("8032");
this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃
- console.log(this.Networkheader);
}
},
/** 閫氳繃鍙傛暟鑾峰彇涓氬姟绫诲瀷 */
@@ -1360,6 +1468,10 @@
getFund(this.curId).then(response => {
this.form = response.data;
+ sessionStorage.removeItem("apiform");
+
+ sessionStorage.setItem("apiform", JSON.stringify(this.form));
+
// this.form.recordstate =-1;
// this.form.recordstatus = response.data.recordstatus + "";
//闄勪欢澶勭悊
@@ -1368,6 +1480,7 @@
//鏄庣粏澶勭悊
getownFundDetail(this.curId).then(res => {
this.rbDetails = res.data;
+
if (this.rbDetails.length > 0) {
for (let m = 0; m < this.rbDetails.length; m++) {
this.rbDetails[m].itemlist = [];
@@ -1393,6 +1506,12 @@
// });
// });
}
+ console.log("yeil");
+ sessionStorage.removeItem("apifunddetail");
+ sessionStorage.setItem(
+ "apifunddetail",
+ JSON.stringify(this.rbDetails)
+ );
} else {
this.addRow(0);
}
@@ -1407,6 +1526,10 @@
getFund(this.curId).then(response => {
this.form = response.data;
+ sessionStorage.removeItem("apiform");
+
+ sessionStorage.setItem("apiform", JSON.stringify(this.form));
+
console.log("response.data", response.data);
//闄勪欢澶勭悊
// this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
@@ -1450,6 +1573,10 @@
getFund(this.curId).then(response => {
this.form = response.data;
+ sessionStorage.removeItem("apiform");
+
+ sessionStorage.setItem("apiform", JSON.stringify(this.form));
+
//闄勪欢澶勭悊
// this.fileList = this.form.annexbankcard ? this.form.annexbankcard.split(",").map(item => ({ url: item, name: item })) : []
@@ -1541,9 +1668,24 @@
});
});
},
-
+ generateRandomString(length) {
+ const characters =
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+ let randomString = "";
+ for (let i = 0; i < length; i++) {
+ randomString += characters.charAt(
+ Math.floor(Math.random() * characters.length)
+ );
+ }
+ return randomString;
+ },
/** 鎻愪氦鎸夐挳 */
- submitForm() {
+ submitForm: debounce(function() {
+ if (!this.randomnumber) {
+ this.randomnumber = this.generateRandomString(9);
+ this.form.randomnumber = this.randomnumber;
+ }
+ console.log(this.randomnumber);
this.$refs["form"].validate(valid => {
if (valid) {
this.formData = this.form;
@@ -1637,7 +1779,7 @@
}
this.rbDetails[i] = tempDetail;
/*
- //璁$畻涓◣
+ //璁$畻涓◣
//if (isNaN(parseFloat(tempDetail.taxedamount)))
//鑾峰彇鍙傛暟
this.taxParam.beneficiaryNo = tempDetail.beneficiaryno;
@@ -1651,13 +1793,13 @@
tempDetail.taxamount = res.data;
tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount;
this.rbDetails[k] = tempDetail;
-
+
this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
this.totalAmount += parseFloat(tempDetail.amount);
}
});
}
-
+
// 璁$畻绋庡墠銆佺◣璐广�佺◣鍚庨噾棰�
if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') {
//鑾峰彇鍙傛暟
@@ -1667,7 +1809,7 @@
tempDetail.taxamount = res.data.nowTax;
tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney);
this.rbDetails[k] = tempDetail;
-
+
this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
this.totalAmount += parseFloat(tempDetail.amount);
}
@@ -1766,6 +1908,11 @@
this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg);
}
});
+ sessionStorage.setItem(
+ "apifunddetail",
+ JSON.stringify(this.rbDetails)
+ );
+ sessionStorage.setItem("apiform", JSON.stringify(this.form));
//鍏抽棴绐楀彛
this.loading = false;
@@ -1774,7 +1921,7 @@
this.$router.go(-1);
}
});
- },
+ }, 500),
//瀹℃壒鎻愪氦
checksubmit() {
@@ -2157,6 +2304,10 @@
},
// 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨
Savenow() {
+ if (!this.randomnumber) {
+ this.randomnumber = this.generateRandomString(9);
+ this.form.randomnumber = this.randomnumber;
+ }
this.Savereminder = false;
this.Reminderquantity = 0;
this.totalquantity = 0;
@@ -2253,7 +2404,7 @@
}
this.rbDetails[i] = tempDetail;
/*
- //璁$畻涓◣
+ //璁$畻涓◣
//if (isNaN(parseFloat(tempDetail.taxedamount)))
//鑾峰彇鍙傛暟
this.taxParam.beneficiaryNo = tempDetail.beneficiaryno;
@@ -2267,13 +2418,13 @@
tempDetail.taxamount = res.data;
tempDetail.taxedamount = tempDetail.amount - tempDetail.taxamount;
this.rbDetails[k] = tempDetail;
-
+
this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
this.totalAmount += parseFloat(tempDetail.amount);
}
});
}
-
+
// 璁$畻绋庡墠銆佺◣璐广�佺◣鍚庨噾棰�
if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') {
//鑾峰彇鍙傛暟
@@ -2283,7 +2434,7 @@
tempDetail.taxamount = res.data.nowTax;
tempDetail.amount = parseFloat(res.data.nowTaxBeforeMoney);
this.rbDetails[k] = tempDetail;
-
+
this.totalAfterTaxAmount += parseFloat(tempDetail.taxedamount);
this.totalAmount += parseFloat(tempDetail.amount);
}
@@ -2378,6 +2529,11 @@
addorupdateFund(this.form).then(response => {
if (response.code === 200) {
this.$modal.msgSuccess("鐢宠鍗曚繚瀛樻垚鍔燂紒");
+ this.Getnetworkheader();
+ this.getroute();
+ this.getExternalList();
+ this.getUserList();
+ this.getUserProfile();
} else {
this.$modal.msgError("鐢宠鍗曚繚瀛樺け璐ワ細" + response.msg);
}
@@ -2436,10 +2592,10 @@
rowfeeblocks: [],
annexfiles: null
};
- if (this.Reminderquantity >= 5) {
- this.Savereminder = true;
- return;
- }
+ // if (this.Reminderquantity >= 5) {
+ // this.Savereminder = true;
+ // return;
+ // }
if (rowIndex == undefined || rowIndex == null || rowIndex < 0) {
this.rbDetails.push(rowData);
} else {
@@ -2596,14 +2752,14 @@
handleUploadError() {},
/** 涓嬭浇鏂囦欢鎸夐挳鎿嶄綔 */
- downFile(item) {
- const url = process.env.VUE_APP_BASE_API + item.url;
- var a = document.createElement("a");
- var event = new MouseEvent("click");
- a.download = item.name;
- a.href = url;
- a.dispatchEvent(event);
- },
+ // downFile(item) {
+ // const url = process.env.VUE_APP_BASE_API + item.url;
+ // var a = document.createElement("a");
+ // var event = new MouseEvent("click");
+ // a.download = item.name;
+ // a.href = url;
+ // a.dispatchEvent(event);
+ // },
// remove(file) {
// this.fileList.splice(this.fileList.indexOf(file), 1)
@@ -2638,6 +2794,9 @@
this.$modal.msgSuccess(response.msg);
this.fileListto.push({ name: file.name, url: response.fileName });
+ // this.fileListto.push({ name: file.name, url: response.url });
+ // this.pdfimgsrcList.push(response.url);
+
this.rbDetails[this.atpresent].annexfilesList = this.fileListto;
} else {
console.log(response.msg);
@@ -2651,8 +2810,13 @@
if (this.rbDetails[index].annexfilesList) {
this.fileListto = this.rbDetails[index].annexfilesList;
this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
+ // this.pdfimg = this.fileListto[0].url;
this.pdfimgsrcList = [];
- this.pdfimgsrcList.push(this.pdfimg);
+ this.fileListto.forEach(item => {
+ this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
+ });
+ console.log(this.pdfimgsrcList);
+
console.log(this.pdfimg);
} else {
this.fileListto = [];
@@ -2660,23 +2824,29 @@
this.pdftitle = "";
}
},
+ fnrowclick(row) {
+ console.log(row);
+ },
// 鐐瑰嚮宸蹭笂浼犳枃浠�
- downFile(item) {
- this.pdftitle = item.name;
- let name = item.name.split(".");
+ downFile(row) {
+ console.log(row);
+
+ this.pdftitle = row.name;
+ let name = row.name.split(".");
if (name[1] == "pdf") {
this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮");
this.previewpdf = false;
this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
} else if (name[1] == "jpg" || "png") {
this.previewpdf = true;
- if (item.url) {
- this.pdfimg = this.Networkheader + "/prod-api" + item.url;
- this.pdfimgsrcList = [];
- this.pdfimgsrcList.push(this.pdfimg);
+ if (row.url) {
+ this.pdfimg = this.Networkheader + "/prod-api" + row.url;
+ // this.pdfimg = row.url;
+ // this.pdfimgsrcList = [];
+ // this.pdfimgsrcList.push(this.pdfimg);
console.log(this.pdfimg);
} else {
- this.pdfimg = this.Networkheader + "/prod-api" + item.response.url;
+ this.pdfimg = this.Networkheader + "/prod-api" + row.url;
}
} else {
this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
@@ -2684,7 +2854,23 @@
this.previewpdf = false;
}
},
-
+ getIndexInArray(arr, obj) {
+ return arr.indexOf(obj);
+ },
+ // 鐐瑰嚮鍒犻櫎
+ deletedowfile(row) {
+ console.log(this.fileListto);
+ console.log(row);
+ const index = this.getIndexInArray(this.fileListto, row);
+ this.fileList = this.fileListto.splice(index, 1);
+ console.log(index);
+ },
+ // 鐐瑰嚮涓婄Щ
+ moveupdowfile(row) {
+ const index = this.getIndexInArray(this.fileListto, row);
+ const item = this.fileListto.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+ this.fileListto.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+ },
//涓撳/鍖荤枟鏈烘瀯/璐圭敤鎶ラ攢鏈烘瀯閫夋嫨
ShowDetailDialog(spoce, showType) {
this.selectionType = showType;
@@ -2844,14 +3030,22 @@
//鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺OM鍏冪礌锛�
mounted() {
+ window.addEventListener("beforeunload", e => this.beforeunloadHandler(e));
this.getUserList();
this.getUserProfile();
+ let apifunddetailForm = this.funddetailForm;
+ let apiform = this.form;
+ console.log(apiform);
+ console.log(apifunddetailForm);
+
// this.getFeeUnitList();
},
beforeCreate() {}, //鐢熷懡鍛ㄦ湡 - 鍒涘缓涔嬪墠
beforeMount() {}, //鐢熷懡鍛ㄦ湡 - 鎸傝浇涔嬪墠
- beforeUpdate() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
+ beforeUpdate() {
+ console.log("beforeUpdate");
+ }, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪墠
updated() {}, //鐢熷懡鍛ㄦ湡 - 鏇存柊涔嬪悗
beforeDestroy() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佷箣鍓�
destroyed() {}, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴�
@@ -2894,7 +3088,7 @@
height: 600px;
.box-pdf {
- width: 200px;
+ width: 400px;
padding-top: 20px;
margin-right: 30px;
border: 1px solid #dcdfe6;
--
Gitblit v1.9.3