| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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> | 
 |