From 037a98ac21771bfc0d23392266f65a7837676bc3 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期一, 04 九月 2023 16:27:02 +0800 Subject: [PATCH] 11 --- src/views/project/fund/applyDetail/index.vue | 296 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 253 insertions(+), 43 deletions(-) diff --git a/src/views/project/fund/applyDetail/index.vue b/src/views/project/fund/applyDetail/index.vue index 6f09abe..1986acc 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="800" border highlight-current-row > @@ -165,7 +166,7 @@ prop="orderno" align="center" label="搴忓彿" - width="65" + width="88" > <template slot-scope="scope"> <el-input v-model="scope.row.orderno" placeholder="搴忓彿" /> @@ -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)" @@ -301,7 +302,15 @@ :value="dict.expense"></el-option> </el-select> --> - <el-input v-model="scope.row.amount" placeholder="閲戦" /> + <el-input + v-model="scope.row.amount" + placeholder="閲戦" + @blur=" + val => { + calculateTax(scope.row, 'A'); + } + " + /> </template> </el-table-column> <el-table-column @@ -318,6 +327,11 @@ <el-input v-model="scope.row.taxedamount" placeholder="绋庡悗閲戦" + @blur=" + val => { + calculateTax(scope.row, 'B'); + } + " /> </template> </el-table-column> @@ -620,8 +634,8 @@ @click="submitForm" v-if=" operationType == 'add' || - operationType == 'update' || - ismanager == true + operationType == 'update' || + ismanager == true " >鎻愪氦淇濆瓨</el-button > @@ -841,7 +855,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 +871,9 @@ class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" + :show-file-list="false" multiple + drag :limit="20" :headers="headers" :on-success=" @@ -864,13 +887,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 +990,7 @@ listDonatebaseinfo, getDonatebaseinfo } from "@/api/project/donatebaseinfo"; - +import debounce from "lodash/debounce"; import { onelistFund, listFund, @@ -1077,6 +1148,8 @@ rowfeeblocks: [], fundflowList: [], + // 闅忔満鏁� + randomnumber: "", //涓撳/鍗曚綅閫夋嫨锛歟xpert/unit selectionType: "", @@ -1206,15 +1279,36 @@ atpresent: "", Savereminder: false, //鎻愰啋淇濆瓨寮规 Reminderquantity: 0, //鎻愰啋鏁伴噺 - totalquantity: 0 //鎬绘暟閲� + totalquantity: 0, //鎬绘暟閲� + Modifyornot: 0 //鏄惁淇敼 }; }, + //鐩戝惉灞炴�� 绫讳技浜巇ata姒傚康 computed: {}, //鐩戞帶data涓殑鏁版嵁鍙樺寲 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 +1360,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 +1452,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 +1464,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 +1490,12 @@ // }); // }); } + console.log("yeil"); + sessionStorage.removeItem("apifunddetail"); + sessionStorage.setItem( + "apifunddetail", + JSON.stringify(this.rbDetails) + ); } else { this.addRow(0); } @@ -1407,6 +1510,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 +1557,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 +1652,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; @@ -1766,6 +1892,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 +1905,7 @@ this.$router.go(-1); } }); - }, + }, 500), //瀹℃壒鎻愪氦 checksubmit() { @@ -1978,10 +2109,16 @@ row.amount = 0.0; row.taxamount = 0.0; row.taxedamount = item.expense; + + //璁$畻绋庡墠閲戦 + this.calculateTax(row, "B"); } else { row.amount = item.expense; row.taxamount = 0.0; row.taxedamount = 0.0; + + //璁$畻绋庡悗閲戦 + this.calculateTax(row, "A"); } this.form.serviceFunddetails = 0; @@ -2083,6 +2220,34 @@ }); }, + //璁$畻涓◣锛歵ype(A:宸茬煡绋庡墠閲戦锛岃绠楃◣鍚庨噾棰濓紱B锛氬凡鐭ョ◣鍚庨噾棰濓紝璁$畻绋庡墠閲戦) + calculateTax(row, type) { + //if (isNaN(parseFloat(tempDetail.taxedamount))) + //鑾峰彇鍙傛暟 + this.taxParam.beneficiaryNo = row.beneficiaryno; + this.taxParam.startTime = this.form.createTime.substring(0, 10); + + if (type == "A") { + // 璁$畻涓◣銆佺◣鍚庨噾棰� + this.taxParam.money = row.amount.toString(); + getTaxByBeneFiciaryNo(this.taxParam).then(res => { + if (res.code == 200) { + row.taxamount = res.data; + row.taxedamount = row.amount - row.taxamount; + } + }); + } else { + // 璁$畻绋庡墠銆佷釜绋庨噾棰� + this.taxParam.money = row.taxedamount.toString(); + getTaxBeforeByAfterMoney(this.taxParam).then(res => { + if (res.code == 200) { + row.taxamount = res.data.nowTax; + row.amount = parseFloat(res.data.nowTaxBeforeMoney); + } + }); + } + }, + //瀵煎叆鎵�鏈夐」鐩� importFeeItems() { this.loading = true; @@ -2157,6 +2322,10 @@ }, // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨 Savenow() { + if (!this.randomnumber) { + this.randomnumber = this.generateRandomString(9); + this.form.randomnumber = this.randomnumber; + } this.Savereminder = false; this.Reminderquantity = 0; this.totalquantity = 0; @@ -2273,7 +2442,7 @@ } }); } - + // 璁$畻绋庡墠銆佺◣璐广�佺◣鍚庨噾棰� if (tempDetail.amount == undefined || tempDetail.amount == null || tempDetail.amount == 0 || tempDetail.amount == '') { //鑾峰彇鍙傛暟 @@ -2378,6 +2547,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 +2610,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 { @@ -2496,9 +2670,6 @@ this.addRow(0); } }, - - //璁$畻涓◣ - calculateTax() {}, //璁$畻鎬婚噾棰� sumTotalFee(row) { @@ -2596,14 +2767,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 +2809,12 @@ 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( + this.Networkheader + "/prod-api" + response.fileName + ); + // this.pdfimgsrcList.push(response.url); + this.rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { console.log(response.msg); @@ -2651,8 +2828,12 @@ 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,8 +2841,10 @@ this.pdftitle = ""; } }, + // 鐐瑰嚮宸蹭笂浼犳枃浠� downFile(item) { + console.log(item); this.pdftitle = item.name; let name = item.name.split("."); if (name[1] == "pdf") { @@ -2672,11 +2855,16 @@ this.previewpdf = true; if (item.url) { this.pdfimg = this.Networkheader + "/prod-api" + item.url; - this.pdfimgsrcList = []; - this.pdfimgsrcList.push(this.pdfimg); + // this.pdfimg = item.url; + // this.pdfimgsrcList = []; + // this.pdfimgsrcList.push(this.pdfimg); + if (!this.pdfimgsrcList.includes(this.pdfimg)) { + this.pdfimgsrcList.push(this.pdfimg); + console.log("鍔犲叆"); + } console.log(this.pdfimg); } else { - this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; + this.pdfimg = this.Networkheader + "/prod-api" + item.url; } } else { this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; @@ -2684,7 +2872,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,8 +3048,14 @@ //鐢熷懡鍛ㄦ湡 - 鎸傝浇瀹屾垚锛堝彲浠ヨ闂瓺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(); }, @@ -2894,7 +3104,7 @@ height: 600px; .box-pdf { - width: 200px; + width: 400px; padding-top: 20px; margin-right: 30px; border: 1px solid #dcdfe6; -- Gitblit v1.9.3