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 | 234 ++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 176 insertions(+), 58 deletions(-) diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue index 95d53df..b2a3e5a 100644 --- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue +++ b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue @@ -208,6 +208,16 @@ </el-col> </el-row> --> + <el-row v-if="jurisdiction"> + <!-- <el-alert title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" type="warning"> + </el-alert> --> + <el-alert + title="褰撳墠涓烘煡鐪嬬姸鎬侊紝涓嶆敮鎸佷慨鏀瑰瓨鍌ㄣ��" + type="warning" + show-icon + > + </el-alert> + </el-row> <el-row style="margin-top: 25px; margin-bottom: 5px"> <el-col :span="20">鎶ラ攢鏄庣粏</el-col> </el-row> @@ -216,7 +226,7 @@ :data="rbDetails" ref="table" border - max-height="400" + max-height="800" highlight-current-row :summary-method="getSummaries" show-summary @@ -227,7 +237,7 @@ label="搴忓彿" align="center" fixed - width="65" + width="88" > <template slot-scope="scope"> <el-input v-model="scope.row.orderno" placeholder="搴忓彿" /> @@ -413,7 +423,12 @@ </el-select> </template> </el-table-column> - <el-table-column prop="days" label="澶╂暟" width="65" align="center"> + <el-table-column + prop="days" + label="澶╂暟" + width="100" + align="center" + > <template slot-scope="scope"> <el-input v-model="scope.row.days" @@ -466,7 +481,7 @@ prop="trafficexpense" label="浜ら�氳垂" align="center" - width="80" + width="120" > <template slot-scope="scope"> <el-input @@ -484,7 +499,7 @@ prop="cityfee" label="甯傚唴浜ら�氳垂" align="center" - width="100" + width="120" > <template slot-scope="scope"> <el-input @@ -503,7 +518,7 @@ prop="hotelexpense" label="浣忓璐�" align="center" - width="80" + width="120" > <template slot-scope="scope"> <el-input @@ -518,14 +533,14 @@ </template> </el-table-column> - <el-table-column + <!-- <el-table-column prop="foodexpenses" label="椁愯垂鎶ラ攢" align="center" - width="80" + width="120" > <template slot-scope="scope"> - <el-input + <el-input v-model="scope.row.foodexpenses" placeholder="浼欓璐规姤閿�" @blur=" @@ -535,12 +550,12 @@ " /> </template> - </el-table-column> + </el-table-column> --> <el-table-column prop="foodallowance" label="浼欓琛ュ姪" align="center" - width="80" + width="120" > <template slot-scope="scope"> <el-input @@ -558,7 +573,7 @@ prop="otherexpense" label="鍏潅璐硅ˉ鍔�" align="center" - width="80" + width="120" > <template slot-scope="scope"> <el-input @@ -577,7 +592,7 @@ prop="otherfeeamount" label="鍏朵粬璐圭敤" align="center" - width="90" + width="120" > <template slot-scope="scope"> <el-input @@ -926,6 +941,36 @@ :visible.sync="pdfVisible" width="60%" > + <div> + <el-table :data="tableDatatop" style="width: 100%"> + <el-table-column prop="orderno" 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="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> + <el-table-column prop="cityfee" label="甯傚唴浜ら�氳垂"> </el-table-column> + <el-table-column prop="hotelexpense" label="浣忓璐�"> + </el-table-column> + <el-table-column prop="foodallowance" label="浼欓琛ュ姪"> + </el-table-column> + <el-table-column prop="otherexpense" label="鍏潅璐硅ˉ鍔�"> + </el-table-column> + <el-table-column prop="otherfeeamount" label="鍏朵粬璐圭敤"> + </el-table-column> + </el-table> + </div> <div class="pdfimg"> <div class="box-pdf"> <div> @@ -937,7 +982,6 @@ :show-file-list="false" multiple drag - :limit="20" :headers="headers" :on-success=" (response, file, fileList) => @@ -946,7 +990,6 @@ :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" - :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf" > @@ -967,6 +1010,7 @@ :data="fileListto" @row-click="downFile" style="width: 100%" + height="400" > <el-table-column prop="name" @@ -990,13 +1034,13 @@ <el-button type="primary" size="mini" - @click.native.prevent="deletedowfile(scope.row)" + @click.native.prevent.stop="deletedowfile(scope.row)" >鍒犻櫎</el-button > <el-button type="primary" size="mini" - @click.native.prevent="moveupdowfile(scope.row)" + @click.native.prevent.stop="moveupdowfile(scope.row)" >涓婄Щ</el-button > </template> @@ -1005,7 +1049,7 @@ </div> </div> - <div v-if="this.previewpdf" class="pdfimgmin"> + <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin"> <!-- <img :src="pdfimg" /> --> <el-image style="width: 95%; height: 90%" @@ -1046,7 +1090,8 @@ import { listReimbursementpayee, addReimbursementpayee, - updateReimbursementpayee + updateReimbursementpayee, + delReimbursementpayee } from "@/api/project/reimbursementpayee"; import { listReimbursement, @@ -1171,6 +1216,13 @@ starttime: null, endtime: null }, + tableDatatop: [ + { + date: "2016-05-02", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�" + } + ], //鏌ヨ浠樻 queryParamsPayee: { rbid: null @@ -1230,6 +1282,7 @@ flowconclusion: null, fundid: null }, + jurisdiction: false, //淇濆瓨鎸夐挳鎺у埗 idisabled: false @@ -1274,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; @@ -1295,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() { @@ -1326,16 +1399,18 @@ //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 if (response.code == 200) { this.form.filename = file.raw.name; - + this.previewpdf = true; 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 + ); + console.log(this.pdfimgsrcList); + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; + this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; this.rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { console.log(response.msg); @@ -1343,19 +1418,24 @@ }, // 鐐瑰嚮绁ㄦ嵁 Filepopup(index, rows, row) { + this.tableDatatop = []; + this.pdfimgsrcList = []; + this.tableDatatop.push(row); + // console.log(row); this.atpresent = index; this.pdfVisible = true; console.log(this.rbDetails[index]); if (this.rbDetails[index].annexfilesList) { + this.previewpdf = true; this.fileListto = this.rbDetails[index].annexfilesList; console.log(this.fileListto); this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; - this.pdfimgsrcList = []; this.fileListto.forEach(item => { this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); }); console.log(this.pdfimgsrcList); console.log(this.pdfimg); + this.pdftitle = "鍏�" + this.pdfimgsrcList.length + "椤�"; } else { this.fileListto = []; this.pdfimg = ""; @@ -1365,8 +1445,9 @@ // 鐐瑰嚮宸蹭笂浼犳枃浠� downFile(item) { - console.log(item); - this.pdftitle = item.name; + console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem"); + this.pdftitle = + "鍏�" + this.pdfimgsrcList.length + "椤癸紝褰撳墠閫変腑" + item.name; let name = item.name.split("."); if (name[1] == "pdf") { this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); @@ -1376,9 +1457,13 @@ this.previewpdf = true; if (item.url) { this.pdfimg = this.Networkheader + "/prod-api" + item.url; - // this.pdfimgsrcList = []; - // this.pdfimgsrcList.push(this.pdfimg); - console.log(this.pdfimg); + + // if (!this.pdfimgsrcList.includes(this.pdfimg)) { + // this.pdfimgsrcList.push(this.pdfimg); + // console.log("鍔犲叆"); + // } + console.log(this.pdfimg, "pdfimg"); + console.log(this.pdfimgsrcList, "imglist"); } else { this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; } @@ -1395,9 +1480,16 @@ deletedowfile(row) { console.log(this.fileListto); console.log(row); + const indexlist = this.getIndexInArray( + this.pdfimgsrcList, + this.Networkheader + "/prod-api" + row.url + ); + console.log(indexlist); + this.pdfimgsrcList.splice(indexlist, 1); const index = this.getIndexInArray(this.fileListto, row); - this.fileList = this.fileListto.splice(index, 1); + this.fileListto.splice(index, 1); console.log(index); + console.log(this.pdfimgsrcList); }, // 鐐瑰嚮涓婄Щ moveupdowfile(row) { @@ -1828,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 => { @@ -1842,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) + ); }); //鑾峰彇鎶ラ攢鎵撴淇℃伅 @@ -1883,6 +1974,7 @@ handleDetail(ids) { this.operationType = "detail"; this.title = "鎶ラ攢鐢宠璇︽儏"; + this.jurisdiction = true; this.reset(); this.open = true; @@ -1936,6 +2028,8 @@ this.addPayeeRow(0); } }); + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); }); }, @@ -1951,6 +2045,7 @@ getReimbursement(id).then(response => { this.form = response.data; + //绁ㄦ嵁 this.fileListto = this.form.annexfiles ? this.form.annexfiles @@ -2000,6 +2095,8 @@ this.addPayeeRow(0); } }); + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); }); }, @@ -2092,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: "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�", @@ -2168,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; @@ -2226,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) { //绁ㄦ嵁鏂囦欢澶勭悊 @@ -2233,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: "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�", @@ -2313,6 +2412,8 @@ //鏂板涓�琛� addDetailRow(rowIndex) { + console.log(rowIndex); + let rowData = { //index: this.rbDetails.length, searchAddress: { @@ -2327,6 +2428,8 @@ endtime: null, destination: null, days: null, + persontype: null, + personname: null, trafficexpense: 0, traffictype: null, traffictype2: null, @@ -2350,9 +2453,14 @@ total: 0, orderno: null, personname2: null, - personname: null, 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; + } // if (this.Reminderquantity >= 5) { // this.Savereminder = true; // return; @@ -2433,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(); @@ -2525,7 +2635,7 @@ if (!isNaN(parseFloat(row.otherfeeamount))) { totalFee += parseFloat(row.otherfeeamount); } - row.total = totalFee; + row.total = totalFee.toFixed(2); /* if (!isNaN(parseFloat(this.rbDetails[rowIndex].trafficexpense))) { @@ -2728,6 +2838,10 @@ sums[index] = "鍚堣"; return; } + if (index === 18) { + sums[index] = this.form.amountrequested; + return; + } //鍘婚櫎閮ㄥ垎瀛楁璁$畻 if (columnnames.indexOf(column.property) > -1) { return; @@ -2743,7 +2857,7 @@ return prev; } }, 0); - sums[index] += ""; + sums[index] = sums[index].toFixed(2); // 淇濈暀2浣嶅皬鏁帮紝瑙e喅灏忔暟鍚堣鍒�; } else { sums[index] = ""; } @@ -2828,4 +2942,8 @@ line-height: 36px; text-align: center; } +::v-deep .el-alert__title { + font-size: 20px; + line-height: 20px; +} </style> -- Gitblit v1.9.3