From 4afb944c92aed7287cc4691fc9019f3b9faea1c0 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期二, 03 十一月 2026 16:04:37 +0800
Subject: [PATCH] 增加对pdf预览支持,统计分析对时间范围的限定要求
---
src/views/project/fund/applyDetail0/index.vue | 102 +++++++++++++++++++++++++-------------------------
1 files changed, 51 insertions(+), 51 deletions(-)
diff --git a/src/views/project/fund/applyDetail0/index.vue b/src/views/project/fund/applyDetail0/index.vue
index 90a2988..f770dec 100644
--- a/src/views/project/fund/applyDetail0/index.vue
+++ b/src/views/project/fund/applyDetail0/index.vue
@@ -1034,8 +1034,21 @@
:close-on-click-modal="false"
:title="pdftitle"
:visible.sync="pdfVisible"
+ :fullscreen="pdfFullscreen"
width="60%"
+ custom-class="pdf-resize-dialog"
+ @closed="pdfFullscreen = false"
>
+ <template slot="title">
+ <span>{{ pdftitle }}</span>
+ <el-button
+ class="pdf-fullscreen-btn"
+ size="mini"
+ :icon="pdfFullscreen ? 'el-icon-close' : 'el-icon-full-screen'"
+ @click="pdfFullscreen = !pdfFullscreen"
+ >{{ pdfFullscreen ? "杩樺師" : "鍏ㄥ睆" }}</el-button
+ >
+ </template>
<div class="pdfimg">
<div class="box-pdf">
<div>
@@ -1125,16 +1138,7 @@
</div> -->
</div>
- <div v-if="this.previewpdf" class="pdfimgmin">
- <!-- <img :src="pdfimg" /> -->
- <el-image
- style="width: 95%; height: 90%"
- :src="pdfimg"
- :preview-src-list="pdfimgsrcList"
- >
- </el-image>
- </div>
- <div v-else class="pdfimgmins">{{ hintitle }}</div>
+ <attachment-preview-pane :file="embeddedFile" style="flex: 1; min-width: 0;" />
</div>
</el-dialog>
<el-dialog title="鎻愮ず" :visible.sync="Savereminder" width="30%">
@@ -1552,15 +1556,8 @@
},
// 鑾峰彇璇锋眰澶�
Getnetworkheader() {
- 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鍙婂叾鍓嶉儴瀛楃
- }
+ // 浠ュ綋鍓嶉〉闈� origin 涓哄噯锛屽吋瀹� 80/8032/9091 鍙婂悗缁鍙h皟鏁�
+ this.Networkheader = window.location.origin;
},
/** 閫氳繃鍙傛暟鑾峰彇涓氬姟绫诲瀷 */
getroute() {
@@ -3011,7 +3008,7 @@
// },
/**
* 2026-10-15锛氫笂浼犳椂鏍¢獙闄勪欢鏂囦欢鍚嶏紙涓氬姟瑕佹眰锛氫笉鍚堟牸绔嬪嵆鎻愮ず涓斾笉鍔犲叆鍒楄〃锛夈��
- * 瑙勫垯涓庡悗绔� AttachmentNameValidator 鍚屽彛寰勶細蹇呴』鍚腑鏂� / 鍘绘帀鎵╁睍鍚嶅悗涓诲共 鈮�20 瀛� /
+ * 瑙勫垯涓庡悗绔� AttachmentNameValidator 鍚屽彛寰勶細涓嶅己鍒跺惈涓枃 / 鍘绘帀鎵╁睍鍚嶅悗涓诲共 鈮�20 瀛� /
* 涓嶅惈绌烘牸鍙� / \ : * ? " < > | # % 绛夌壒娈婂瓧绗︺��
*/
checkUploadFileName(file) {
@@ -3056,9 +3053,15 @@
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.Networkheader + process.env.VUE_APP_BASE_API + response.fileName
);
- this.pdfimg = this.Networkheader + "/prod-api" + response.fileName;
+ this.pdfimg = this.Networkheader + process.env.VUE_APP_BASE_API + response.fileName;
+ const localUrl = URL.createObjectURL(file.raw);
+ this.embeddedFile = {
+ name: file.name,
+ url: localUrl,
+ type: /\.pdf$/i.test(file.name) ? "pdf" : "image"
+ };
this.rbDetails[this.atpresent].annexfilesList = this.fileListto;
} else {
@@ -3073,11 +3076,11 @@
if (this.rbDetails[index].annexfilesList) {
this.previewpdf = true;
this.fileListto = this.rbDetails[index].annexfilesList;
- this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url;
+ this.pdfimg = this.Networkheader + process.env.VUE_APP_BASE_API + this.fileListto[0].url;
// this.pdfimg = this.fileListto[0].url;
this.pdfimgsrcList = [];
this.fileListto.forEach(item => {
- this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url);
+ this.pdfimgsrcList.push(this.Networkheader + process.env.VUE_APP_BASE_API + item.url);
});
console.log(this.pdfimgsrcList);
console.log(this.pdfimg);
@@ -3088,34 +3091,31 @@
}
},
- // 鐐瑰嚮宸蹭笂浼犳枃浠�
+ // 鐐瑰嚮宸蹭笂浼犳枃浠讹細鍦ㄩ檮浠跺脊绐楀彸渚у唴宓岄瑙�
downFile(item) {
- console.log(item);
- this.pdftitle = item.name;
- let name = item.name.split(".");
- if (name[1] == "pdf") {
- this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮");
- this.previewpdf = false;
- this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
- } else if (name[1] == "jpg" || "png") {
- this.previewpdf = true;
- if (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);
- console.log(this.pdfimgsrcList, "imglist");
- } else {
- this.pdfimg = this.Networkheader + "/prod-api" + item.url;
- }
- } else {
- this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
- this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮");
- this.previewpdf = false;
+ if (this.operationType == "detail") {
+ const list = (this.fileListto || []).map(f => ({
+ name: f.name,
+ url: f.url
+ }));
+ const index = list.findIndex(f => f.url === item.url);
+ this.$previewFile(list, index > -1 ? index : 0);
+ return;
}
+ const ext = String(item.name || "").toLowerCase().split(".").pop();
+ const isImage = ["jpg", "jpeg", "png", "gif", "bmp", "webp"].includes(ext);
+ if (ext !== "pdf" && !isImage) {
+ this.hintitle = "褰撳墠鏂囦欢鏆備笉鏀寔棰勮";
+ this.$modal.msgWarning("褰撳墠鏂囦欢鏆備笉鏀寔棰勮");
+ return;
+ }
+ this.embeddedFile = {
+ name: item.name,
+ url: item.url,
+ type: ext === "pdf" ? "pdf" : "image"
+ };
+ this.pdftitle = item.name;
+ this.pdfVisible = true;
},
getIndexInArray(arr, obj) {
return arr.indexOf(obj);
@@ -3126,7 +3126,7 @@
console.log(row);
const indexlist = this.getIndexInArray(
this.pdfimgsrcList,
- this.Networkheader + "/prod-api" + row.url
+ this.Networkheader + process.env.VUE_APP_BASE_API + row.url
);
console.log(indexlist);
this.pdfimgsrcList.splice(indexlist, 1);
--
Gitblit v1.9.3