VoiceTable.vue 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <template>
  2. <el-table :data="props.list" stripe border v-loading="props.loading" style="margin-top: 10px">
  3. <el-table-column label="编号" align="center" prop="mediaId" />
  4. <el-table-column label="文件名" align="center" prop="name" />
  5. <el-table-column label="语音" align="center">
  6. <template #default="scope">
  7. <WxVoicePlayer v-if="scope.row.url" :url="scope.row.url" />
  8. </template>
  9. </el-table-column>
  10. <el-table-column
  11. label="上传时间"
  12. align="center"
  13. prop="createTime"
  14. :formatter="dateFormatter"
  15. width="180"
  16. >
  17. <template #default="scope">
  18. <span>{{ scope.row.createTime }}</span>
  19. </template>
  20. </el-table-column>
  21. <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
  22. <template #default="scope">
  23. <el-button type="primary" link @click="emit('delete', scope.row.id)">
  24. <Icon icon="ep:download" />下载
  25. </el-button>
  26. <el-button
  27. type="primary"
  28. link
  29. @click="emit('delete', scope.row.id)"
  30. v-hasPermi="['mp:material:delete']"
  31. >
  32. <Icon icon="ep:delete" />删除
  33. </el-button>
  34. </template>
  35. </el-table-column>
  36. </el-table>
  37. </template>
  38. <script setup lang="ts">
  39. import WxVoicePlayer from '@/views/mp/components/wx-voice-play'
  40. import { dateFormatter } from '@/utils/formatTime'
  41. const props = defineProps<{
  42. list: any[]
  43. loading: boolean
  44. }>()
  45. const emit = defineEmits<{
  46. (e: 'delete', v: number)
  47. }>()
  48. </script>