From c4ec0fac48c9bef59fadba87404ea3d4bf9e087c Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 11 二月 2025 16:05:42 +0800 Subject: [PATCH] 工单、报备,图片预览功能 --- src/components/WorkOrder/WorkOrderAuditing.vue | 38 ++++++++++++++++++++++++++++++++------ 1 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/components/WorkOrder/WorkOrderAuditing.vue b/src/components/WorkOrder/WorkOrderAuditing.vue index 60cf849..db9fd2d 100644 --- a/src/components/WorkOrder/WorkOrderAuditing.vue +++ b/src/components/WorkOrder/WorkOrderAuditing.vue @@ -32,11 +32,25 @@ > <el-card> <div v-html="condition.ywCondition"></div> - <el-link type="primary" - v-for="item in condition.ywProofMaterials != null ? condition.ywProofMaterials.split(',') : condition.ywProofMaterials" - :underline="false" :key="item.id" @click="handleDownload(item)" - >{{ item.substring(item.lastIndexOf('/') + 1) }} - </el-link> + <div v-for="item in condition.ywProofMaterials != null ? condition.ywProofMaterials.split(',') : condition.ywProofMaterials" + :key="item.id"> + <el-image + v-if="isImageFile(item)" + :src="getPreview(item)" + :preview-src-list="[getPreview(item)]" + fit="cover" + style="width: 100px; height: 100px; margin: 5px;" + > + </el-image> + <el-link + v-else + type="primary" + :underline="false" + @click="handleDownload(item)" + > + {{ getFileName(item) }} + </el-link> + </div> </el-card> </el-timeline-item> </el-timeline> @@ -82,6 +96,19 @@ } }, methods: { + getPreview(url) { + // 浣跨敤鍏ㄥ眬閰嶇疆鐨勫浘鐗囧墠缂� + return this.$img + url; + }, + isImageFile(url) { + const imageExtensions = ['.jpg', '.jpeg', '.png', '.gif', '.webp']; + return imageExtensions.some(ext => + url.toLowerCase().endsWith(ext) + ); + }, + getFileName(url) { + return url.substring(url.lastIndexOf('/') + 1); + }, /** 涓嬭浇鎸夐挳鎿嶄綔 */ handleDownload(data) { this.$download.resource(data) @@ -116,5 +143,4 @@ </script> <style scoped> - </style> -- Gitblit v1.8.0