HistoryFileList.vue 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <template>
  2. <div class="comment-file-his-list" :class="isComment === true ? 'in-comment' : ''">
  3. <div class="selected-file-list">
  4. <div class="item" v-for="item in dataList">
  5. <div class="complex">
  6. <div class="content">
  7. <!-- 图片 -->
  8. <div v-if="isImage(item)" class="content-top" style="height: 100%">
  9. <div class="content-image" :style="getImageAsBackground(item)">
  10. <!--<img style="height: 100%;" :src="getImageSrc(item)"/>-->
  11. </div>
  12. </div>
  13. <!-- 文件 -->
  14. <template v-else>
  15. <div class="content-top">
  16. <div class="content-icon" :style="{ background: 'url(' + getBackground(item) + ') no-repeat' }"></div>
  17. </div>
  18. <div class="content-bottom" :title="item.name">
  19. <span>{{ item.name }}</span>
  20. </div>
  21. </template>
  22. </div>
  23. <div class="layer" :class="{'layer-image':isImage(item)}">
  24. <div class="next" @click="viewImage(item)">
  25. <div class="text">
  26. {{ item.name }}
  27. </div>
  28. <div class="text">
  29. {{ getFileSize(item) }}
  30. </div>
  31. </div>
  32. <div class="buttons">
  33. <div class="opt-icon">
  34. <Tooltip title="下载">
  35. <download-outlined @click="downLoad(item)" />
  36. </Tooltip>
  37. </div>
  38. </div>
  39. </div>
  40. </div>
  41. </div>
  42. <div class="item empty"></div><div class="item empty"></div><div class="item empty"></div> <div class="item empty"></div><div class="item empty"></div><div class="item empty"></div>
  43. </div>
  44. </div>
  45. </template>
  46. <script>
  47. import { Tooltip } from 'ant-design-vue';
  48. import { UploadOutlined, FolderOutlined, DownloadOutlined, PaperClipOutlined, DeleteOutlined } from '@ant-design/icons-vue';
  49. import { useFileList } from './useComment';
  50. export default {
  51. name: 'HistoryFileList',
  52. props: {
  53. dataList: {
  54. type: Array,
  55. default: () => [],
  56. },
  57. isComment: {
  58. type: Boolean,
  59. default: false,
  60. },
  61. },
  62. components: {
  63. UploadOutlined,
  64. FolderOutlined,
  65. DownloadOutlined,
  66. PaperClipOutlined,
  67. DeleteOutlined,
  68. Tooltip,
  69. },
  70. setup() {
  71. const { getBackground, getFileSize, downLoad, isImage, getImageAsBackground, viewImage } = useFileList();
  72. return {
  73. getBackground,
  74. downLoad,
  75. getFileSize,
  76. isImage,
  77. getImageAsBackground,
  78. viewImage
  79. };
  80. },
  81. };
  82. </script>
  83. <style lang="less" scoped>
  84. @import 'comment.less';
  85. </style>