ReviewAsset.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <template>
  2. <div class="l-flex__auto l-flex--col has-padding">
  3. <c-table
  4. :curr="options"
  5. @pagination="getList"
  6. >
  7. <el-table-column
  8. label="缩略图"
  9. align="center"
  10. width="100"
  11. class-name="c-thumbnail-col"
  12. >
  13. <template v-slot="scope">
  14. <i
  15. v-if="scope.row.type === 1"
  16. class="o-thumbnail u-pointer"
  17. :style="{ 'background-image': `url('${scope.row.thumbnail}')` }"
  18. @click="toView(scope.row)"
  19. />
  20. </template>
  21. </el-table-column>
  22. <el-table-column
  23. prop="originalName"
  24. label="文件名"
  25. align="center"
  26. show-overflow-tooltip
  27. />
  28. <el-table-column
  29. prop="createBy"
  30. label="申请人"
  31. align="center"
  32. show-overflow-tooltip
  33. />
  34. <el-table-column
  35. prop="createTime"
  36. label="创建时间"
  37. align="center"
  38. show-overflow-tooltip
  39. />
  40. <el-table-column
  41. label="操作"
  42. align="center"
  43. width="180"
  44. >
  45. <template v-slot="scope">
  46. <div
  47. class="c-table__btn u-pointer"
  48. @click.stop="toView(scope.row)"
  49. >
  50. 预览
  51. </div>
  52. <div
  53. class="c-table__btn u-pointer"
  54. @click.stop="toResolve(scope.row)"
  55. >
  56. 通过
  57. </div>
  58. <div
  59. class="c-table__btn u-pointer"
  60. @click.stop="toReject(scope.row)"
  61. >
  62. 驳回
  63. </div>
  64. </template>
  65. </el-table-column>
  66. </c-table>
  67. <preview ref="preview" />
  68. </div>
  69. </template>
  70. <script>
  71. import {
  72. getAssets,
  73. getThumbnailUrl
  74. } from '@/api/asset'
  75. import mixin from './mixin'
  76. import Preview from '@/components/Preview'
  77. export default {
  78. name: 'ReviewAsset',
  79. components: {
  80. Preview
  81. },
  82. mixins: [mixin],
  83. methods: {
  84. _getList: getAssets,
  85. transform (asset) {
  86. if (asset.type === 1) {
  87. asset.thumbnail = getThumbnailUrl(asset.keyName, '64,fit')
  88. }
  89. return asset
  90. },
  91. toView ({ type, keyName }) {
  92. this.$refs.preview.show({ type, keyName })
  93. }
  94. }
  95. }
  96. </script>
  97. <style lang="scss" scoped>
  98. </style>