From 1c678c6fc8bbb7974ceb57d95c96e3ed2f4c2676 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期五, 01 九月 2023 16:45:30 +0800 Subject: [PATCH] Merge branch 'master' of http://116.62.18.175:6699/r/~yxh/opo-web --- src/views/project/travelexpenseapply/travelexpensedetail/index.vue | 331 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 272 insertions(+), 59 deletions(-) diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue index cd24f2c..9670383 100644 --- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue +++ b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue @@ -209,11 +209,12 @@ </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 highlight-current-row :summary-method="getSummaries" @@ -478,18 +479,25 @@ /> </template> </el-table-column> - <!-- - <el-table-column prop="cityfee" label="甯傚唴浜ら�氳垂" align="center" width="100"> + <el-table-column + prop="cityfee" + label="甯傚唴浜ら�氳垂" + align="center" + width="100" + > <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="浣忓璐�" @@ -619,7 +627,7 @@ type="text" size="mini" @click="addDetailRow(scope.$index)" - v-if="dialogType == 'edit'" + v-if="operationType == 'edit'" >鏂板</el-button > <el-button @@ -628,7 +636,7 @@ " type="text" size="small" - v-if="dialogType == 'edit'" + v-if="operationType == 'edit'" >鍒犻櫎</el-button > <el-button @@ -644,9 +652,9 @@ </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 @@ -810,7 +818,7 @@ label="鎿嶄綔" align="center" width="100" - v-if="dialogType == 'edit'" + v-if="operationType == 'edit'" > <template slot-scope="scope"> <el-button @@ -832,32 +840,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 +880,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 +891,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,13 +903,13 @@ <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>--> @@ -921,14 +933,14 @@ 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'" + :disabled="operationType == 'detail'" size="small" type="primary" >涓婁紶</el-button @@ -946,10 +958,34 @@ </div> <div v-if="this.previewpdf" class="pdfimgmin"> - <img :src="pdfimg" /> + <!-- <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> @@ -1035,6 +1071,10 @@ value: 0, label: "" }, + pdfimgsrcList: [], + Savereminder: false, //鎻愰啋淇濆瓨寮规 + Reminderquantity: 0, //鎻愰啋鏁伴噺 + totalquantity: 0, //鎬绘暟閲� hintitle: "閫変腑宸︿晶宸蹭笂浼犳枃浠堕瑙堟煡鐪�", atpresent: "", @@ -1052,6 +1092,11 @@ loading: true, // 瀵煎嚭閬僵灞� exportLoading: false, + // 缃戠粶璇锋眰澶� + Networkheader: null, + + // 褰撳墠鍗曟嵁ID + curId: 0, // 閫変腑鏁扮粍 ids: [], // 闈炲崟涓鐢� @@ -1114,7 +1159,7 @@ defaultperson: {}, fundflowList: [], showApproveRecordDialog: false, - dialogType: "edit", + operationType: "edit", //涓婁紶鍙戠エ鏂囦欢璺緞 uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", @@ -1143,6 +1188,8 @@ }, created() { + this.Getnetworkheader(); + //鑾峰彇璁板綍鍒楄〃 // this.getList(); @@ -1179,23 +1226,41 @@ mounted() { //閫夋嫨涓氬姟绫诲瀷: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() {}, - + // 鑾峰彇璇锋眰澶� + 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 +1274,19 @@ //鏂囦欢涓婁紶鎴愬姛鍥炶皟 uploadSccess(response, file, fileList) { this.rbDetails; - //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 if (response.code == 200) { this.form.filename = file.raw.name; this.$modal.msgSuccess(response.msg); - this.fileListto.push({ name: file.name, url: response.url }); + this.fileListto.push({ + name: file.name, + url: response.fileName + }); + // this.fileListto.push({ + // name: file.name, + // url: response.url + // }); this.rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { console.log(response.msg); @@ -1225,8 +1296,14 @@ Filepopup(index, rows, row) { this.atpresent = index; this.pdfVisible = true; + console.log(this.rbDetails[index]); if (this.rbDetails[index].annexfilesList) { this.fileListto = this.rbDetails[index].annexfilesList; + console.log(this.fileListto); + this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; + console.log(this.pdfimg); + this.pdfimgsrcList = []; + this.pdfimgsrcList.push(this.pdfimg); } else { this.fileListto = []; this.pdfimg = ""; @@ -1246,9 +1323,12 @@ } else if (name[1] == "jpg" || "png") { this.previewpdf = true; if (item.url) { - this.pdfimg = item.url; + this.pdfimg = this.Networkheader + "/prod-api" + item.url; + this.pdfimgsrcList = []; + this.pdfimgsrcList.push(this.pdfimg); + console.log(this.pdfimg); } else { - this.pdfimg = item.response.url; + this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; } } else { this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮"; @@ -1262,6 +1342,9 @@ treeselect().then(response => { this.deptOptions = response.data; }); + }, + cellCilicksa(row) { + console.log(row); }, //鑾峰彇浜哄憳鍒楄〃 @@ -1391,7 +1474,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 +1629,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 +1729,7 @@ this.reset(); // this.open = true; this.title = "鏂板宸梾鐢宠鍗�"; - this.dialogType = "edit"; + this.operationType = "edit"; this.fundflowList = []; console.log(this.title, this.defaultperson); @@ -1651,20 +1745,19 @@ }, /** 淇敼鎸夐挳鎿嶄綔 */ - 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 @@ -1673,9 +1766,8 @@ : []; this.form.recordstatus = response.data.recordstatus + ""; - 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) { @@ -1698,19 +1790,29 @@ }); //鑾峰彇鎶ラ攢鎵撴淇℃伅 - 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.reset(); @@ -1770,7 +1872,7 @@ /** 瀹℃牳鎸夐挳鎿嶄綔 */ handleCheck(ids) { - this.dialogType = "check"; + this.operationType = "check"; this.title = "鎶ラ攢鐢宠璇︽儏"; this.reset(); @@ -1852,8 +1954,10 @@ 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); }); }, @@ -1970,7 +2074,9 @@ this.open = false; // 鍏抽棴绐楀彛 + this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); + // this.getList(); // }) // .catch(err => { @@ -1998,6 +2104,7 @@ this.open = false; // 鍏抽棴绐楀彛 + this.$store.dispatch("tagsView/delView", this.$route); this.$router.go(-1); }) .catch(err => { @@ -2039,6 +2146,100 @@ this.exportLoading = false; }) .catch(() => {}); + }, + // 鍙栨秷鎻愰啋 + unsave() { + this.Savereminder = false; + this.Reminderquantity = 0; + }, + // 鎺ュ彈鎻愰啋绔嬪埢淇濆瓨 + Savenow() { + this.Savereminder = false; + this.Reminderquantity = 0; + this.totalquantity = 0; + this.$refs["form"].validate(valid => { + if (valid) { + //绁ㄦ嵁鏂囦欢澶勭悊 + let list = this.fileListto; + console.log(list); + + //鏍¢獙璇锋閲戦鍚堣鏄惁绛変簬鎶ラ攢鍗曢噾棰� + if ( + this.form.amountrequested != + this.rbPayees.reduce( + (amount, item) => amount + Number(item.amount), + 0.0 + ) + ) { + 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("鏂板鎶ラ攢鍗曚繚瀛樺け璐ワ紒"); + }); + } + } + }); }, //鏂板涓�琛� @@ -2083,11 +2284,17 @@ personname: null, destination: null }; + 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 +2313,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; } -- Gitblit v1.9.3