From acd4f746de3e89e4a8b9b47b0f82e25cc25a17c1 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 14 二月 2025 09:57:37 +0800
Subject: [PATCH] 数据中心调整
---
src/views/system/report/index.vue | 66 ++++++++++++++++++++++++++++-----
1 files changed, 56 insertions(+), 10 deletions(-)
diff --git a/src/views/system/report/index.vue b/src/views/system/report/index.vue
index a7ad736..df53f4e 100644
--- a/src/views/system/report/index.vue
+++ b/src/views/system/report/index.vue
@@ -60,8 +60,17 @@
<div class="info-item">
<div class="info-label">鎶ュ鏉愭枡</div>
<div class="info-list">
- <div style="margin-bottom: 8px" v-for="file in formatFileList(scope.row.reportMaterials)" :key="file">
- <el-link type="primary" @click="handleDownload(file)">
+ <div style="margin-bottom: 8px" v-for="file in scope.row.reportMaterials!=null ? scope.row.reportMaterials.split(',') : scope.row.reportMaterials" :key="file">
+ <el-image
+ v-if="isImageFile(file)"
+ :src="getPreview(file)"
+ :preview-src-list="[getPreview(file)]"
+ fit="cover"
+ class="material-preview"
+ style="width: 100px; height: 100px; margin: 5px;"
+ >
+ </el-image>
+ <el-link v-else type="primary" @click="handleDownload(file)">
{{file.match(/\/([^\/]*)$/)[1]}}
</el-link>
</div>
@@ -181,11 +190,22 @@
<div class="content" v-html="getHtmlContent(record.reportContent)"></div>
</el-descriptions-item>
<el-descriptions-item label="鎶ュ鏉愭枡">
- <el-link
+ <div
v-for="item in record.reportMaterials != null ? record.reportMaterials.split(',') : record.reportMaterials"
- :underline="false" type="primary" :key="item" @click="handleDownload(item)">
- {{ item.substring(item.lastIndexOf("/") + 1) }}
- </el-link>
+ :key="item">
+ <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
+ :underline="false" type="primary" @click="handleDownload(item)">
+ {{ item.substring(item.lastIndexOf("/") + 1) }}
+ </el-link>
+ </div>
</el-descriptions-item>
</el-descriptions>
</el-card>
@@ -252,10 +272,24 @@
<span v-html="auditingForm.reportContent"></span>
</el-form-item>
<el-form-item label="鎶ュ鏉愭枡">
- <el-link
+ <!-- 娣诲姞绌鸿 -->
+ <div class="material-spacer">{{''}}</div>
+ <div
v-for="item in auditingForm.reportMaterials != null ? auditingForm.reportMaterials.split(',') : auditingForm.reportMaterials"
- :underline="false" type="primary" :key="item" @click="handleDownload(item)">{{ item.substring(item.lastIndexOf("/") + 1)
- }}</el-link>
+ :key="item">
+ <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
+ :underline="false" type="primary" @click="handleDownload(item)">
+ {{ item.substring(item.lastIndexOf("/") + 1) }}
+ </el-link>
+ </div>
</el-form-item>
</el-form>
</div>
@@ -266,7 +300,6 @@
<el-button type="primary" @click="auditingSubmit">瀹� 鏍�</el-button>
</div>
</el-dialog>
-
</div>
</template>
@@ -373,6 +406,16 @@
this.getList();
},
methods: {
+ getPreview(url) {
+ // 浣跨敤鍏ㄥ眬閰嶇疆鐨勫浘鐗囧墠缂�
+ return this.$img + url;
+ },
+ isImageFile(url) {
+ const imageExtensions = ['.jpg', '.jpeg', '.png', '.gif', '.webp'];
+ return imageExtensions.some(ext =>
+ url.toLowerCase().endsWith(ext)
+ );
+ },
getHtmlContent(content) {
if (content) {
return content
@@ -631,6 +674,9 @@
</script>
<style lang="scss" scoped>
+.material-spacer {
+ height: 50px; /* 鍙互璋冩暣绌鸿鐨勯珮搴� */
+}
.content {
height: 100px;
max-height: 300px;
--
Gitblit v1.8.0