From 72dc0bc085496aeb2c3936a4139546fa3cf4e1d1 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期二, 08 七月 2025 13:41:27 +0800 Subject: [PATCH] 11 --- src/views/project/travelexpenseapply/travelexpensedetail/index.vue | 223 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 154 insertions(+), 69 deletions(-) diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue index 61d3741..75a7a06 100644 --- a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue +++ b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue @@ -51,16 +51,37 @@ </el-col> </el-row> <el-row> - <el-col :span="15"> + <el-col :span="10"> <el-form-item label="鍑哄樊浜嬬敱" prop="reason"> <el-input v-model="form.reason" placeholder="鍑哄樊浜嬬敱" /> </el-form-item> </el-col> <el-col :span="5"> - <el-form-item label="鎹愮尞鑰�" prop="infoid"> + <el-form-item label="鎶ラ攢绫诲埆" prop="costtype"> + <el-select + v-model="form.costtype" + value-key="value" + placeholder="璇烽�夋嫨鎶ラ攢浜哄憳绫诲埆" + > + <el-option + v-for="dict in dict.type.sys_travelexpensebelong" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="5"> + <el-form-item + label="鎹愮尞鑰�" + prop="infoid" + v-show="form.costtype == 4" + > <el-select v-model="form.infoid" @change="selectbaseinfo" + clearable filterable placeholder="璇烽�夋嫨鎹愮尞鑰�" > @@ -77,23 +98,6 @@ </el-row> <el-row style="margin-top: 10px"> <el-col :span="5"> - <el-form-item label="鎶ラ攢閲戦" prop="amountrequested"> - <el-input - :disabled="true" - v-model="form.amountrequested" - placeholder="鎶ラ攢鍚堣閲戦" - /> - </el-form-item> - </el-col> - <el-col :span="7"> - <el-form-item label="澶у啓閲戦" prop="bigstrmoney"> - <el-input - :disabled="true" - v-model="form.bigstrmoney" - placeholder="鎶ラ攢澶у啓閲戦" - /> - </el-form-item> </el-col - ><el-col :span="4"> <el-form-item label="瀹℃牳鐘舵��" prop="flowlevel"> <el-select v-model="form.recordstatus" @@ -111,20 +115,30 @@ </el-select> </el-form-item> </el-col> + <el-col :span="5"> + <el-form-item label="鎶ラ攢閲戦" prop="amountrequested"> + <el-input + :disabled="true" + v-model="form.amountrequested" + placeholder="鎶ラ攢鍚堣閲戦" + /> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="澶у啓閲戦" prop="bigstrmoney"> + <el-input + :disabled="true" + v-model="form.bigstrmoney" + placeholder="鎶ラ攢澶у啓閲戦" + /> + </el-form-item> + </el-col> </el-row> <!-- <el-row> <el-col :span="15"> <el-form-item label="鍑哄樊浜嬬敱" prop="reason"> <el-input v-model="form.reason" placeholder="鍑哄樊浜嬬敱" /> - </el-form-item> - </el-col> - <el-col :span="5"> - <el-form-item label="鎶ラ攢鍒嗙被" prop="costtype"> - <el-select v-model="form.costtype" value-key="value" placeholder="璇烽�夋嫨鍑哄樊浜哄垎绫�" @change="getTravelers"> - <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> - </el-select> </el-form-item> </el-col> <el-col :span="5"> @@ -195,7 +209,7 @@ </el-col> </el-row> --> - <!-- + <!-- <el-row type="flex" :gutter="10" align="right" class="mb8"> <el-col :span="6"> <el-button @@ -541,7 +555,7 @@ width="120" > <template slot-scope="scope"> - <el-input + <el-input v-model="scope.row.foodexpenses" placeholder="浼欓璐规姤閿�" @blur=" @@ -912,7 +926,8 @@ <el-col :span="12"> <el-form-item label="绠楃◣鐘舵��" prop="infoid"> <el-radio-group v-model="form.istax" align="left"> - <el-radio :label="2">寰呯畻绋�</el-radio> + <el-radio :label="-1">瀹℃牳涓�</el-radio> + <el-radio :label="0">鍏佽绠楃◣</el-radio> <el-radio :label="1">宸茬畻绋�</el-radio> </el-radio-group> </el-form-item> @@ -1091,15 +1106,25 @@ class="pdfimgmin" > <!-- <img :src="pdfimg" /> --> - <el-image + <!-- <el-image style="width: 95%; height: 90%" :src="pdfimg" - :preview-src-list="pdfimgsrcList" + :preview-src-list="pdfimgsrcList" --> > + <el-image + ref="imagePreview" + style="width: 95%; height: 90%" + :src="pdfimg" + :preview-src-list="pdfimgsrcList" + :initial-index="initialIndex" + @error="handleImageError" + @load="handleImageLoad" + > + </el-image> <!-- <div slot="error" class="image-slot"> <i class="el-icon-picture-outline"></i> </div> --> - </el-image> + <!-- </el-image> --> </div> <div v-else class="pdfimgmins">{{ hintitle }}</div> </div> @@ -1381,6 +1406,9 @@ ], deptmentname: [ { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" } + ], + costtype: [ + { required: true, message: "璇疯緭鍏ユ姤閿�绫诲埆", trigger: "blur" } ] }, //璐圭敤鐢宠鍗昮orm @@ -1425,6 +1453,7 @@ invoicefileListto: [], invoicepdfimg: "", invoicepdfimgsrcList: [], + initialIndex: 0, // 鍒濆绱㈠紩 //浜哄憳绫诲埆 persontype: null, //鍒拌揪鍦� @@ -1486,7 +1515,14 @@ mounted() { window.addEventListener("beforeunload", e => this.beforeunloadHandler(e)); - + this.$nextTick(() => { + const viewer = this.$refs.imagePreview.$el.querySelector( + ".el-image-viewer" + ); + if (viewer) { + viewer.addEventListener("click", this.handlePreviewClick); + } + }); //閫夋嫨涓氬姟绫诲瀷:1銆佹柊澧烇紱2銆佷慨鏀癸紱3銆佹煡鐪� let curId = this.$route.query.id; let pos = this.$route.query.pos; @@ -1509,7 +1545,15 @@ destroyed() { window.removeEventListener("beforeunload", e => this.beforeunloadFn(e)); }, //鐢熷懡鍛ㄦ湡 - 閿�姣佸畬鎴� - + beforeDestroy() { + // 绉婚櫎浜嬩欢鐩戝惉 + const viewer = this.$refs.imagePreview.$el.querySelector( + ".el-image-viewer" + ); + if (viewer) { + viewer.removeEventListener("click", this.handlePreviewClick); + } + }, methods: { // 娴忚鍣ㄩ〉闈㈠叧闂垨鍒锋柊鎻愮ず beforeunloadHandler(e) { @@ -1528,7 +1572,43 @@ return "鍏抽棴鎻愮ず"; } }, + handlePreviewClick(e) { + const viewer = this.$refs.imagePreview.$el.querySelector( + ".el-image-viewer" + ); + if (!viewer) return; + // 鍒ゆ柇鏄惁鐐瑰嚮浜嗏�滀笅涓�寮犫�濇寜閽紙鍙充晶绠ご锛� + const isNextBtn = e.target.closest(".el-image-viewer__next"); + if (isNextBtn) { + const currentIndex = this.getCurrentPreviewIndex(); + if (currentIndex === this.pdfimgsrcList.length - 1) { + e.preventDefault(); // 闃绘榛樿鍒囨崲琛屼负 + this.$message.warning("宸茬粡鏄渶鍚庝竴寮犱簡锛�"); + return; + } + } + }, + // 鑾峰彇褰撳墠棰勮鐨勫浘鐗囩储寮� + getCurrentPreviewIndex() { + const viewer = this.$refs.imagePreview.$el.querySelector( + ".el-image-viewer" + ); + if (viewer) { + const img = viewer.querySelector(".el-image-viewer__img"); + if (img) { + const currentSrc = img.getAttribute("src"); + return this.pdfimgsrcList.indexOf(currentSrc); + } + } + return 0; + }, + handleImageError() { + console.error("鍥剧墖鍔犺浇澶辫触"); + }, + handleImageLoad() { + console.log("鍥剧墖鍔犺浇鎴愬姛"); + }, handleUploadError() {}, // 鑾峰彇璇锋眰澶� Getnetworkheader() { @@ -2493,11 +2573,20 @@ this.$modal.loading("姝e湪鎻愪氦瀹℃牳锛岃绋嶅�欙紒"); checkfund(checkfundobj).then(res => { - this.$modal.closeLoading(); - this.$modal.msgSuccess("鎻愪氦瀹℃牳鎴愬姛!"); - // 鍏抽棴绐楀彛 - this.$store.dispatch("tagsView/delView", this.$route); - this.$router.go(-1); + if (res.code == 200) { + this.$modal.closeLoading(); + this.$modal.msgSuccess("鎻愪氦瀹℃牳鎴愬姛!"); + // 鍏抽棴绐楀彛 + this.$store.dispatch("tagsView/delView", this.$route); + this.$router.go(-1); + } else { + this.$modal.closeLoading(); + if (res.msg) { + this.$modal.msgError("鎿嶄綔澶辫"); + } else { + this.$modal.msgError(res.msg); + } + } }); }, @@ -2526,7 +2615,7 @@ //淇濆瓨鍓嶆牎楠屾暟鎹� for (let k = 0; k < rbDetails.length; k++) { let tempDetail = rbDetails[k]; - console.log(tempDetail,'tem'); + console.log(tempDetail, "tem"); if (!tempDetail.persontype) { this.$modal.msgWarning( "鏄庣粏琛ㄤ腑锛岀" + @@ -2536,38 +2625,35 @@ return; } - - if (!tempDetail.personname) { - this.$modal.msgWarning( - "鏄庣粏琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑璐圭敤浜哄憳鏈�夋嫨,璇烽�夋嫨璐圭敤浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" - ); - return; - } + if (!tempDetail.personname) { + this.$modal.msgWarning( + "鏄庣粏琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑璐圭敤浜哄憳鏈�夋嫨,璇烽�夋嫨璐圭敤浜哄憳鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } - if (!tempDetail.starttime) { - this.$modal.msgWarning( - "鏄庣粏琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑寮�濮嬫棩鏈熸湭閫夋嫨,璇烽�夋嫨寮�濮嬫棩鏈熷悗鍐嶆彁浜や繚瀛橈紒" - ); - return; - } + if (!tempDetail.starttime) { + this.$modal.msgWarning( + "鏄庣粏琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑寮�濮嬫棩鏈熸湭閫夋嫨,璇烽�夋嫨寮�濮嬫棩鏈熷悗鍐嶆彁浜や繚瀛橈紒" + ); + return; + } - if (!tempDetail.endtime) { - this.$modal.msgWarning( - "鏄庣粏琛ㄤ腑锛岀" + - (k + 1).toString() + - "琛岀殑缁撴潫鏃ユ湡濮撳悕涓洪�夋嫨,璇烽�夋嫨缁撴潫鏃ユ湡鍚庡啀鎻愪氦淇濆瓨锛�" - ); - return; - } - + if (!tempDetail.endtime) { + this.$modal.msgWarning( + "鏄庣粏琛ㄤ腑锛岀" + + (k + 1).toString() + + "琛岀殑缁撴潫鏃ユ湡濮撳悕涓洪�夋嫨,璇烽�夋嫨缁撴潫鏃ユ湡鍚庡啀鎻愪氦淇濆瓨锛�" + ); + return; + } } if (this.form.id != null) { - console.log(this.form); updateReimbursement(this.form); // .then(res => { //淇濆瓨鏄庣粏 @@ -2737,7 +2823,6 @@ const rbDetails = [...this.rbDetails]; const rbPayees = [...this.rbPayees]; if (this.form.id != null) { - console.log(this.form); updateReimbursement(this.form); // .then(res => { //淇濆瓨鏄庣粏 -- Gitblit v1.9.3