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 | 628 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 514 insertions(+), 114 deletions(-) diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue index cd24f2c..b2a3e5a 100644 --- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue +++ b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue @@ -208,13 +208,25 @@ </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-col :span="20">鎶ラ攢鏄庣粏</el-col> </el-row> <el-row> <el-table :data="rbDetails" + ref="table" border + max-height="800" highlight-current-row :summary-method="getSummaries" show-summary @@ -225,7 +237,7 @@ label="搴忓彿" align="center" fixed - width="65" + width="88" > <template slot-scope="scope"> <el-input v-model="scope.row.orderno" placeholder="搴忓彿" /> @@ -411,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" @@ -464,7 +481,7 @@ prop="trafficexpense" label="浜ら�氳垂" align="center" - width="80" + width="120" > <template slot-scope="scope"> <el-input @@ -478,23 +495,30 @@ /> </template> </el-table-column> - <!-- - <el-table-column prop="cityfee" label="甯傚唴浜ら�氳垂" align="center" width="100"> + <el-table-column + prop="cityfee" + label="甯傚唴浜ら�氳垂" + align="center" + width="120" + > <template slot-scope="scope"> - <el-input v-model="scope.row.cityfee" placeholder="甯傚唴浜ら�氳垂" @blur=" - (val) => { - sumRowFee(scope.row); - } - ">{{ Number(scope.row.cityfee).toFixed(2) }} + <el-input + v-model="scope.row.cityfee" + placeholder="甯傚唴浜ら�氳垂" + @blur=" + val => { + sumRowFee(scope.row); + } + " + >{{ Number(scope.row.cityfee).toFixed(2) }} </el-input> </template> </el-table-column> - --> <el-table-column prop="hotelexpense" label="浣忓璐�" align="center" - width="80" + width="120" > <template slot-scope="scope"> <el-input @@ -509,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=" @@ -526,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 @@ -549,7 +573,7 @@ prop="otherexpense" label="鍏潅璐硅ˉ鍔�" align="center" - width="80" + width="120" > <template slot-scope="scope"> <el-input @@ -568,7 +592,7 @@ prop="otherfeeamount" label="鍏朵粬璐圭敤" align="center" - width="90" + width="120" > <template slot-scope="scope"> <el-input @@ -619,7 +643,7 @@ type="text" size="mini" @click="addDetailRow(scope.$index)" - v-if="dialogType == 'edit'" + v-if="operationType == 'edit'" >鏂板</el-button > <el-button @@ -628,7 +652,7 @@ " type="text" size="small" - v-if="dialogType == 'edit'" + v-if="operationType == 'edit'" >鍒犻櫎</el-button > <el-button @@ -644,12 +668,13 @@ </el-table> </el-row> <el-row style="margin-top: 25px; margin-bottom: 5px"> - <el-col :span="20">鎶ラ攢璇锋鏄庣粏锛�</el-col> + <el-col :span="20">鎵撴鏄庣粏</el-col> </el-row> - <el-row style="margin-top: 30px"> + <el-row style="margin-top: 5px"> <el-table :data="rbPayees" border + max-height="400" highlight-current-row :summary-method="getSummaries" show-summary @@ -810,7 +835,7 @@ label="鎿嶄綔" align="center" width="100" - v-if="dialogType == 'edit'" + v-if="operationType == 'edit'" > <template slot-scope="scope"> <el-button @@ -832,32 +857,36 @@ </el-table-column> </el-table> </el-row> - - <el-row v-if="dialogType == 'detail' || dialogType == 'check'"> + <el-row + style="margin-top: 25px; margin-bottom: 5px" + v-if="operationType != 'edit'" + > + <el-col :span="20">瀹℃牳璁板綍</el-col> + </el-row> + <el-row v-if="operationType != 'add'"> <el-table :data="fundflowList" border> - <el-table-column - label="瀹℃牳浜�" - align="center" - width="120" - prop="checkusername" - /> <el-table-column label="瀹℃牳鏃ユ湡" align="center" - width="160" + width="200" prop="createTime" + /> + <el-table-column + label="瀹℃牳浜�" + align="center" + width="150" + prop="checkusername" /> <el-table-column label="瀹℃牳缁撴灉" align="center" width="200" prop="flowconclusion" - ><template slot-scope="scope" - ><span v-if="scope.row.flowconclusion == 1">閫氳繃</span - ><span v-if="scope.row.flowconclusion == 2" - >涓嶉�氳繃</span - ></template - > + > + <template slot-scope="scope"> + <span v-if="scope.row.flowconclusion == 1">閫氳繃</span> + <span v-if="scope.row.flowconclusion == 2">涓嶉�氳繃</span> + </template> </el-table-column> <el-table-column label="瀹℃牳澶囨敞" @@ -868,7 +897,7 @@ </el-row> <el-row style="margin-top: 25px; margin-bottom: 5px" - v-if="dialogType == 'check'" + v-if="operationType == 'check'" > <el-col :span="7"> <el-form-item label="瀹℃牳缁撴灉" align="left"> @@ -879,7 +908,7 @@ </el-form-item> </el-col> </el-row> - <el-row v-if="dialogType == 'check'"> + <el-row v-if="operationType == 'check'"> <el-col :span="17"> <el-form-item label="瀹℃牳澶囨敞" align="left"> <el-input v-model="checkObj.flowconclusion" placeholder="澶囨敞" /> @@ -891,20 +920,57 @@ <el-button type="primary" @click="submitForm" - v-if="dialogType == 'edit'" + v-if="operationType == 'edit'" >淇� 瀛�</el-button > <el-button type="primary" @click="checksubmit" - v-if="dialogType == 'check'" + v-if="operationType == 'check'" >鎻� 浜�</el-button > <!--<el-button @click="cancel">閫� 鍑�</el-button>--> </div> </div> - <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> + <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> @@ -913,43 +979,105 @@ class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" + :show-file-list="false" multiple - :limit="20" + drag :headers="headers" :on-success=" (response, file, fileList) => uploadSccess(response, file, fileList) " :on-preview="downFile" - :disabled="dialogType == 'detail'" + :disabled="operationType == 'detail'" :on-error="handleUploadError" - :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf" > - <el-button - :disabled="dialogType == '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> </el-upload> + <el-table + :data="fileListto" + @row-click="downFile" + style="width: 100%" + height="400" + > + <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.stop="deletedowfile(scope.row)" + >鍒犻櫎</el-button + > + <el-button + type="primary" + size="mini" + @click.native.prevent.stop="moveupdowfile(scope.row)" + >涓婄Щ</el-button + > + </template> + </el-table-column> + </el-table> </div> - <!-- <div - class="pdftit" - @click="pdffn(item)" - v-for="item in fileList" - :key="item.name" - > - {{ item.name }} - </div> --> </div> - <div v-if="this.previewpdf" class="pdfimgmin"> - <img :src="pdfimg" /> + <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin"> + <!-- <img :src="pdfimg" /> --> + <el-image + style="width: 95%; height: 90%" + :src="pdfimg" + :preview-src-list="pdfimgsrcList" + > + <!-- <div slot="error" class="image-slot"> + <i class="el-icon-picture-outline"></i> + </div> --> + </el-image> </div> <div v-else class="pdfimgmins">{{ hintitle }}</div> </div> + </el-dialog> + <el-dialog title="鎻愮ず" :visible.sync="Savereminder" width="30%"> + <el-alert + :title=" + '鎮ㄥ凡娣诲姞' + + totalquantity + + '鏉℃暟鎹紝涓洪槻姝㈡暟鎹涪澶辨槸鍚︽彁浜や繚瀛樺啀缁х画娣诲姞銆�' + " + type="warning" + > + </el-alert> + <span slot="footer" class="dialog-footer"> + <el-button @click="unsave">鍙� 娑�</el-button> + <el-button type="primary" @click="Savenow">纭� 瀹�</el-button> + </span> </el-dialog> </div> </template> @@ -962,7 +1090,8 @@ import { listReimbursementpayee, addReimbursementpayee, - updateReimbursementpayee + updateReimbursementpayee, + delReimbursementpayee } from "@/api/project/reimbursementpayee"; import { listReimbursement, @@ -993,6 +1122,7 @@ import { getSubsidy } from "@/api/project/travelcity"; import { listReportname, listUser } from "@/api/project/organization"; import { getToken } from "@/utils/auth"; +import debounce from "lodash/debounce"; export default { components: { Treeselect, @@ -1035,6 +1165,10 @@ value: 0, label: "" }, + pdfimgsrcList: [], + Savereminder: false, //鎻愰啋淇濆瓨寮规 + Reminderquantity: 0, //鎻愰啋鏁伴噺 + totalquantity: 0, //鎬绘暟閲� hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�", atpresent: "", @@ -1052,6 +1186,11 @@ loading: true, // 瀵煎嚭閬僵灞� exportLoading: false, + // 缃戠粶璇锋眰澶� + Networkheader: null, + + // 褰撳墠鍗曟嵁ID + curId: 0, // 閫変腑鏁扮粍 ids: [], // 闈炲崟涓鐢� @@ -1077,6 +1216,13 @@ starttime: null, endtime: null }, + tableDatatop: [ + { + date: "2016-05-02", + name: "鐜嬪皬铏�", + address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�" + } + ], //鏌ヨ浠樻 queryParamsPayee: { rbid: null @@ -1114,7 +1260,7 @@ defaultperson: {}, fundflowList: [], showApproveRecordDialog: false, - dialogType: "edit", + operationType: "edit", //涓婁紶鍙戠エ鏂囦欢璺緞 uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", @@ -1136,6 +1282,7 @@ flowconclusion: null, fundid: null }, + jurisdiction: false, //淇濆瓨鎸夐挳鎺у埗 idisabled: false @@ -1143,6 +1290,8 @@ }, created() { + this.Getnetworkheader(); + //鑾峰彇璁板綍鍒楄〃 // this.getList(); @@ -1178,24 +1327,62 @@ }, mounted() { + window.addEventListener("beforeunload", e => this.beforeunloadHandler(e)); + //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪� - let ids = this.$route.query.id; + let curId = this.$route.query.id; let pos = this.$route.query.pos; this.defaultperson = this.$route.query.routerparam; if (pos == 1) { - this.handleAdd(ids); + this.handleAdd(curId); } else if (pos == 2) { - this.handleUpdate(ids); + this.handleUpdate(curId); } else if (pos == 3) { - this.handleDetail(ids); + this.handleDetail(curId); } else if (pos == 4) { - this.handleCheck(ids); + this.handleCheck(curId); } + }, + updated() { + this.$nextTick(() => { + this.$refs["table"].doLayout(); + }); }, methods: { - handleUploadError() {}, + // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず + 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() { + 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); + } else { + const index = string.indexOf("8032"); + this.Networkheader = string.slice(0, index + 4); // 鎴彇8032鍙婂叾鍓嶉儴瀛楃 + console.log(this.Networkheader); + } + }, remove(file, fileList) { const rbDetails = [...this.rbDetails]; this.fileListto.splice(this.fileListto.indexOf(file), 1); @@ -1209,13 +1396,21 @@ //鏂囦欢涓婁紶鎴愬姛鍥炶皟 uploadSccess(response, file, fileList) { this.rbDetails; - //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 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.url }); + this.fileListto.push({ + name: file.name, + url: response.fileName + }); + 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); @@ -1223,10 +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.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 = ""; @@ -1236,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("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); @@ -1246,9 +1456,16 @@ } else if (name[1] == "jpg" || "png") { this.previewpdf = true; if (item.url) { - this.pdfimg = item.url; + this.pdfimg = this.Networkheader + "/prod-api" + item.url; + + // 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 = item.response.url; + this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; } } else { this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; @@ -1256,12 +1473,39 @@ this.previewpdf = false; } }, + getIndexInArray(arr, obj) { + return arr.indexOf(obj); + }, + // 鐐瑰嚮鍒犻櫎 + 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.fileListto.splice(index, 1); + console.log(index); + console.log(this.pdfimgsrcList); + }, + // 鐐瑰嚮涓婄Щ + 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鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + }, /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ getTreeselect() { treeselect().then(response => { this.deptOptions = response.data; }); + }, + cellCilicksa(row) { + console.log(row); }, //鑾峰彇浜哄憳鍒楄〃 @@ -1391,7 +1635,17 @@ } //浼欓璐硅ˉ鍔╋細鍩庡競锛堣タ钘忥紝鏂扮枂锛岄潚娴�.120锛夛紙鍏朵粬100锛� - row.foodallowance = (parseInt(row.days) * 100).toString(); + if (tempStr == "鏉窞") { + row.foodallowance = ""; + } else if ( + tempStr == "瑗胯棌" || + tempStr == "鏂扮枂" || + tempStr == "闈掓捣" + ) { + row.foodallowance = (parseInt(row.days) * 120).toString(); + } else { + row.foodallowance = (parseInt(row.days) * 100).toString(); + } //璁$畻鍚堣 this.sumRowFee(row); @@ -1536,6 +1790,7 @@ this.loading = true; listReimbursement(this.queryParams).then(response => { this.reimbursementList = response.rows; + console.log(this.reimbursementList); this.total = response.total; this.loading = false; }); @@ -1635,7 +1890,7 @@ this.reset(); // this.open = true; this.title = "鏂板宸梾鐢宠鍗�"; - this.dialogType = "edit"; + this.operationType = "edit"; this.fundflowList = []; console.log(this.title, this.defaultperson); @@ -1651,67 +1906,75 @@ }, /** 淇敼鎸夐挳鎿嶄綔 */ - handleUpdate(ids) { + handleUpdate(curId) { // this.$router.push({ // path: "/finance/travelexpenseslist/Modifydetails/", // query: { id: ids } // }); - this.dialogType = "edit"; + this.operationType = "edit"; this.reset(); // this.open = true; this.title = "鎶ラ攢鐢宠淇敼"; //鑾峰彇鎶ラ攢涓讳俊鎭� - const id = ids || this.ids; - getReimbursement(id).then(response => { + 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)); - let ids = response.data.id; //鑾峰彇鎶ラ攢鏄庣粏淇℃伅 - getReimbursementdetaillist(ids).then(res => { + getReimbursementdetaillist(curId).then(res => { this.rbDetails = res.data; console.log(this.rbDetails); 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) + ); }); //鑾峰彇鎶ラ攢鎵撴淇℃伅 - this.queryParamsPayee.rbid = ids; + this.queryParamsPayee.rbid = curId; listReimbursementpayee(this.queryParamsPayee).then(res => { this.rbPayees = res.rows; if (this.rbPayees.length == 0) { this.addPayeeRow(0); } }); + + //瀹℃牳鐘舵�� + this.form.recordstatus = response.data.recordstatus + ""; + let listFundflowparams = { + fundid: curId, + fundtype: 1 + }; + listFundflow(listFundflowparams).then(res => { + this.fundflowList = res.rows; + }); }); }, /** 鏌ョ湅鎸夐挳鎿嶄綔 */ handleDetail(ids) { - this.dialogType = "detail"; + this.operationType = "detail"; this.title = "鎶ラ攢鐢宠璇︽儏"; + this.jurisdiction = true; this.reset(); this.open = true; @@ -1765,12 +2028,14 @@ this.addPayeeRow(0); } }); + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); }); }, /** 瀹℃牳鎸夐挳鎿嶄綔 */ handleCheck(ids) { - this.dialogType = "check"; + this.operationType = "check"; this.title = "鎶ラ攢鐢宠璇︽儏"; this.reset(); @@ -1780,6 +2045,7 @@ getReimbursement(id).then(response => { this.form = response.data; + //绁ㄦ嵁 this.fileListto = this.form.annexfiles ? this.form.annexfiles @@ -1829,6 +2095,8 @@ this.addPayeeRow(0); } }); + sessionStorage.removeItem("apiform"); + sessionStorage.setItem("apiform", JSON.stringify(this.form)); }); }, @@ -1852,13 +2120,15 @@ checkfund(checkfundobj).then(res => { this.reset(); this.open = false; - this.getList(); this.$modal.msgSuccess("鎻愪氦瀹℃牳鎴愬姛!"); + // 鍏抽棴绐楀彛 + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.go(-1); }); }, /** 鎻愪氦淇濆瓨鎸夐挳 */ - submitForm() { + submitForm: debounce(function(data) { this.$refs["form"].validate(valid => { if (valid) { // idisabled=true; @@ -1919,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: "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�", @@ -1970,7 +2238,9 @@ this.open = false; // 鍏抽棴绐楀彛 + this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); + // this.getList(); // }) // .catch(err => { @@ -1993,11 +2263,17 @@ 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; // 鍏抽棴绐楀彛 + this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); }) .catch(err => { @@ -2006,7 +2282,7 @@ } } }); - }, + }, 500), /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { @@ -2040,9 +2316,104 @@ }) .catch(() => {}); }, + // 鍙栨秷鎻愰啋 + unsave() { + this.Savereminder = false; + this.Reminderquantity = 0; + }, + // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨 + Savenow() { + 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) { + //绁ㄦ嵁鏂囦欢澶勭悊 + let list = this.fileListto; + console.log(list); + + //鏍¢獙璇锋閲戦鍚堣鏄惁绛変簬鎶ラ攢鍗曢噾棰� + if (this.form.amountrequested != addnumber) { + this.$message({ + message: + "鎶ラ攢璇锋琛ㄤ腑鍚堣閲戦涓嶇瓑浜庢姤閿�鍗曠殑鎶ラ攢閲戦锛岃鏇存鍚庡啀淇濆瓨锛�", + type: "warning" + }); + return; + } + + const rbDetails = [...this.rbDetails]; + const rbPayees = [...this.rbPayees]; + if (this.form.id != null) { + console.log(this.form); + updateReimbursement(this.form); + // .then(res => { + //淇濆瓨鏄庣粏 + for (let i = 0; i < rbDetails.length; i++) { + if (rbDetails[i].rbid != null) { + updateReimbursementdetail(rbDetails[i]); + } else { + //rbid鍏宠仈涓昏〃Id + rbDetails[i].rbid = this.form.id; + addReimbursementdetail(rbDetails[i]); + } + } + + //淇濆瓨璐︽埛 + for (let i = 0; i < rbPayees.length; i++) { + if (rbPayees[i].rbid != null) { + updateReimbursementpayee(rbPayees[i]); + } else { + //rbid鍏宠仈涓昏〃Id + rbPayees[i].rbid = this.form.id; + addReimbursementpayee(rbPayees[i]); + } + } + + this.$modal.msgSuccess("淇敼鎶ラ攢鍗曚繚瀛樻垚鍔�!"); + + // this.getList(); + // }) + // .catch(err => { + // this.$modal.msgError("淇敼鎶ラ攢鍗曚繚瀛樺け璐ワ紒"); + // }); + } else { + this.form.recordstatus = -1; + addReimbursement(this.form) + .then(response => { + //淇濆瓨鏄庣粏 + for (let i = 0; i < rbDetails.length; i++) { + //rbid鍏宠仈涓昏〃Id + rbDetails[i].rbid = response.data; + addReimbursementdetail(rbDetails[i]); + } + + //淇濆瓨璐﹀彿 + for (let i = 0; i < rbPayees.length; i++) { + //rbid鍏宠仈涓昏〃Id + rbPayees[i].rbid = response.data; + addReimbursementpayee(rbPayees[i]); + } + + this.$modal.msgSuccess("鏂板鎶ラ攢鍗曚繚瀛樻垚鍔�!"); + }) + .catch(err => { + this.$modal.msgError("鏂板鎶ラ攢鍗曚繚瀛樺け璐ワ紒"); + }); + } + } + }); + }, //鏂板涓�琛� addDetailRow(rowIndex) { + console.log(rowIndex); + let rowData = { //index: this.rbDetails.length, searchAddress: { @@ -2057,6 +2428,8 @@ endtime: null, destination: null, days: null, + persontype: null, + personname: null, trafficexpense: 0, traffictype: null, traffictype2: null, @@ -2080,14 +2453,25 @@ 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; + // } if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { this.rbDetails.push(rowData); } else { this.rbDetails.splice(rowIndex + 1, 0, rowData); } + this.Reminderquantity++; + this.totalquantity++; for (let i = 0; i < this.rbDetails.length; i++) { this.rbDetails[i].orderno = i + 1; } @@ -2106,11 +2490,17 @@ personname: null, amount: null }; + // if (this.Reminderquantity >= 5) { + // this.Savereminder = true; + // return; + // } if (rowIndex == undefined || rowIndex == null || rowIndex <= 0) { this.rbPayees.push(rowData); } else { this.rbPayees.splice(rowIndex + 1, 0, rowData); } + this.Reminderquantity++; + this.totalquantity++; for (let i = 0; i < this.rbPayees.length; i++) { this.rbPayees[i].orderno = i + 1; } @@ -2151,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(); @@ -2243,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))) { @@ -2446,6 +2838,10 @@ sums[index] = "鍚堣"; return; } + if (index === 18) { + sums[index] = this.form.amountrequested; + return; + } //鍘婚櫎閮ㄥ垎瀛楁璁$畻 if (columnnames.indexOf(column.property) > -1) { return; @@ -2461,7 +2857,7 @@ return prev; } }, 0); - sums[index] += ""; + sums[index] = sums[index].toFixed(2); // 淇濈暀2浣嶅皬鏁帮紝瑙e喅灏忔暟鍚堣鍒�; } else { sums[index] = ""; } @@ -2507,7 +2903,7 @@ height: 600px; .box-pdf { - width: 200px; + width: 400px; padding-top: 20px; margin-right: 30px; border: 1px solid #dcdfe6; @@ -2546,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