From c7c376e151fd91c6b94b72b691e9b158755723a8 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期一, 11 九月 2023 15:23:48 +0800 Subject: [PATCH] 11 --- src/views/project/travelexpenseapply/travelexpensedetail/index.vue | 216 ++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 161 insertions(+), 55 deletions(-) diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue index 9670383..19f6b8a 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,6 +226,7 @@ :data="rbDetails" ref="table" border + max-height="800" highlight-current-row :summary-method="getSummaries" show-summary @@ -226,7 +237,7 @@ label="搴忓彿" align="center" fixed - width="65" + width="88" > <template slot-scope="scope"> <el-input v-model="scope.row.orderno" placeholder="搴忓彿" /> @@ -412,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" @@ -465,7 +481,7 @@ prop="trafficexpense" label="浜ら�氳垂" align="center" - width="80" + width="120" > <template slot-scope="scope"> <el-input @@ -483,7 +499,7 @@ prop="cityfee" label="甯傚唴浜ら�氳垂" align="center" - width="100" + width="120" > <template slot-scope="scope"> <el-input @@ -502,7 +518,7 @@ prop="hotelexpense" label="浣忓璐�" align="center" - width="80" + width="120" > <template slot-scope="scope"> <el-input @@ -517,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=" @@ -534,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 @@ -557,7 +573,7 @@ prop="otherexpense" label="鍏潅璐硅ˉ鍔�" align="center" - width="80" + width="120" > <template slot-scope="scope"> <el-input @@ -576,7 +592,7 @@ prop="otherfeeamount" label="鍏朵粬璐圭敤" align="center" - width="90" + width="120" > <template slot-scope="scope"> <el-input @@ -658,6 +674,7 @@ <el-table :data="rbPayees" border + max-height="400" highlight-current-row :summary-method="getSummaries" show-summary @@ -916,7 +933,14 @@ </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 class="pdfimg"> <div class="box-pdf"> <div> @@ -925,8 +949,9 @@ class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" + :show-file-list="false" multiple - :limit="20" + drag :headers="headers" :on-success=" (response, file, fileList) => @@ -935,30 +960,67 @@ :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" - :on-exceed="handleExceed" :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> </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" @@ -1029,6 +1091,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, @@ -1181,6 +1244,7 @@ flowconclusion: null, fundid: null }, + jurisdiction: false, //淇濆瓨鎸夐挳鎺у埗 idisabled: false @@ -1277,16 +1341,17 @@ //鑾峰彇绁ㄦ嵁淇℃伅浣嶇疆 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 + ); + this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; + this.rbDetails[this.atpresent].annexfilesList = this.fileListto; } else { console.log(response.msg); @@ -1298,12 +1363,16 @@ 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; - console.log(this.pdfimg); 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 = []; this.pdfimg = ""; @@ -1313,7 +1382,7 @@ // 鐐瑰嚮宸蹭笂浼犳枃浠� downFile(item) { - console.log(item); + console.log(item, "鐐瑰嚮鏂囦欢鎷縤tem"); this.pdftitle = item.name; let name = item.name.split("."); if (name[1] == "pdf") { @@ -1324,9 +1393,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; } @@ -1335,6 +1408,30 @@ this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮"); 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鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� }, /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ @@ -1814,6 +1911,7 @@ handleDetail(ids) { this.operationType = "detail"; this.title = "鎶ラ攢鐢宠璇︽儏"; + this.jurisdiction = true; this.reset(); this.open = true; @@ -1962,7 +2060,7 @@ }, /** 鎻愪氦淇濆瓨鎸夐挳 */ - submitForm() { + submitForm: debounce(function(data) { this.$refs["form"].validate(valid => { if (valid) { // idisabled=true; @@ -2113,7 +2211,7 @@ } } }); - }, + }, 500), /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { @@ -2284,10 +2382,10 @@ personname: null, destination: 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 { @@ -2313,10 +2411,10 @@ personname: null, amount: 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.rbPayees.push(rowData); } else { @@ -2456,7 +2554,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))) { @@ -2659,6 +2757,10 @@ sums[index] = "鍚堣"; return; } + if (index === 18) { + sums[index] = this.form.amountrequested; + return; + } //鍘婚櫎閮ㄥ垎瀛楁璁$畻 if (columnnames.indexOf(column.property) > -1) { return; @@ -2674,7 +2776,7 @@ return prev; } }, 0); - sums[index] += ""; + sums[index] = sums[index].toFixed(2); // 淇濈暀2浣嶅皬鏁帮紝瑙e喅灏忔暟鍚堣鍒�; } else { sums[index] = ""; } @@ -2720,7 +2822,7 @@ height: 600px; .box-pdf { - width: 200px; + width: 400px; padding-top: 20px; margin-right: 30px; border: 1px solid #dcdfe6; @@ -2759,4 +2861,8 @@ line-height: 36px; text-align: center; } +::v-deep .el-alert__title { + font-size: 20px; + line-height: 20px; +} </style> -- Gitblit v1.9.3