From 69a1b3bf45738f048361ee4ccb6bdc64fce35720 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 12 三月 2025 11:31:46 +0800
Subject: [PATCH] 更新

---
 admin/src/views/meeting/components/common/FileLink.vue |   92 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 92 insertions(+), 0 deletions(-)

diff --git a/admin/src/views/meeting/components/common/FileLink.vue b/admin/src/views/meeting/components/common/FileLink.vue
new file mode 100644
index 0000000..08a1485
--- /dev/null
+++ b/admin/src/views/meeting/components/common/FileLink.vue
@@ -0,0 +1,92 @@
+<template>
+  <div>
+    <FileLinkItem
+      v-for="(item, index) in links"
+      :key="index"
+      :link="item[linkName]"
+      :name="item.name"
+      :isUpload="isUpload"
+      @showFile="showFile"
+      @deleteAction="deleteFile(index)"
+    />
+    <PDFPreview ref="PDFPreview" />
+    <el-image-viewer
+      v-if="showViewer"
+      :on-close="close"
+      :initialIndex="tempIndex"
+      :url-list="srcList"
+      :zIndex="3000"
+    />
+  </div>
+</template>
+
+<script>
+// import { fileType } from '@/utils/util';
+import FileLinkItem from './FileLinkItem.vue';
+import PDFPreview from './PDFPreview'
+import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
+export default {
+  components: {
+    FileLinkItem,
+    PDFPreview,
+    ElImageViewer
+  },
+  props: {
+    links: {
+      type: Array,
+      required: true
+    },
+    isUpload: {
+      type: Boolean,
+      default: true
+    },
+    linkName: {
+      type: String,
+      required: true
+    }
+  },
+  data() {
+    return {
+      showViewer: false
+    }
+  },
+  computed: {
+    // 鍥剧墖鍦板潃
+    // srcList() {
+    //   return this.links.filter(item => {
+    //     let link = item[this.linkName]
+    //     return fileType(link) == 1
+    //   }).map(item => item[this.linkName])
+    // }
+  },
+  methods: {
+    deleteFile(index) {
+      this.links.splice(index, 1)
+    },
+    downloadFile(url) {
+      window.open(url, '_blank')
+    },
+    showFile(url) {
+      debugger
+      // let type = fileType(url)
+      // switch (type) {
+      //   case 1:
+      //     this.tempIndex = this.srcList.findIndex(item => item == url)
+      //     this.showViewer = true
+      //     break;
+      //   case 2:
+      //     this.$refs.PDFPreview.open('', { url })
+      //     break;
+      //   case 3:
+      //     window.open(url, '_blank')
+      //     break;
+      //   default:
+      //     break;
+      // }
+    },
+    close() {
+      this.showViewer = false
+    }
+  },
+}
+</script>

--
Gitblit v1.9.3