From acd4f746de3e89e4a8b9b47b0f82e25cc25a17c1 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 14 二月 2025 09:57:37 +0800
Subject: [PATCH] 数据中心调整

---
 src/components/WorkOrder/WorkOrderAuditing.vue |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/src/components/WorkOrder/WorkOrderAuditing.vue b/src/components/WorkOrder/WorkOrderAuditing.vue
index 242ecb4..db9fd2d 100644
--- a/src/components/WorkOrder/WorkOrderAuditing.vue
+++ b/src/components/WorkOrder/WorkOrderAuditing.vue
@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-dialog title="宸ュ崟瀹℃牳" :visible.sync="auditingOpen" width="1000px" append-to-body>
+    <el-dialog :before-close="cancelAuditing" title="宸ュ崟瀹℃牳" :visible.sync="auditingOpen" width="1000px" append-to-body>
       <el-row :gutter="20">
         <el-col :span="10">
           <el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="80px">
@@ -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,23 @@
     }
   },
   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)
+    },
     // 鎻愪氦瀹℃牳
     submitAuditing() {
       this.$refs['auditingForm'].validate(valid => {
@@ -112,5 +143,4 @@
 </script>
 
 <style scoped>
-
 </style>

--
Gitblit v1.8.0