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 | 164 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 125 insertions(+), 39 deletions(-) diff --git a/src/views/project/travelexpenseapply/travelexpensedetail/index.vue b/src/views/project/travelexpenseapply/travelexpensedetail/index.vue index b97444d..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"> @@ -1092,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> @@ -1382,6 +1406,9 @@ ], deptmentname: [ { required: true, message: "璇疯緭鍏ユ墍灞炰笟鍔$粍", trigger: "blur" } + ], + costtype: [ + { required: true, message: "璇疯緭鍏ユ姤閿�绫诲埆", trigger: "blur" } ] }, //璐圭敤鐢宠鍗昮orm @@ -1426,6 +1453,7 @@ invoicefileListto: [], invoicepdfimg: "", invoicepdfimgsrcList: [], + initialIndex: 0, // 鍒濆绱㈠紩 //浜哄憳绫诲埆 persontype: null, //鍒拌揪鍦� @@ -1487,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; @@ -1510,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) { @@ -1529,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() { @@ -2494,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); + } + } }); }, @@ -2566,7 +2654,6 @@ } if (this.form.id != null) { - console.log(this.form); updateReimbursement(this.form); // .then(res => { //淇濆瓨鏄庣粏 @@ -2736,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