handleHistory.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <template>
  2. <a-modal
  3. v-model:visible="modeVisible"
  4. class="custom-class"
  5. :title="typeData.title"
  6. placement="right"
  7. width="1800px"
  8. :closable="false"
  9. @ok="submit">
  10. <normalTable v-if="modeVisible" rowKey="w_areaid" ref="list" size="small" :param="param" :columns="utils.TBLayout(typeData.Table)">
  11. <template #tb_cell="{data}">
  12. <div v-if="data.column.dataIndex == 'issend'">
  13. {{ data.record.issend == 0 ? '未发送' : '已发送' }}
  14. </div>
  15. <div v-else-if="data.column.dataIndex == 'content'">
  16. <div v-if="typeData.title == '上传日志'">
  17. {{ data.record.content }}
  18. </div>
  19. <div style="width: 200px;display: flex;flex-wrap: wrap;" v-else>
  20. <a-tag v-for="item in data.record.content">{{ item.title }} : {{ item.value }}</a-tag>
  21. </div>
  22. </div>
  23. <div v-else-if="data.column.dataIndex == 'isreceive'">
  24. {{ data.record.isreceive ? '已接收' : '未接收' }}
  25. </div>
  26. <div v-else-if="data.column.dataIndex == 'invalid'">
  27. {{ data.record.isreceive ? '已失效' : '未失效' }}
  28. </div>
  29. </template>
  30. </normalTable>
  31. </a-modal>
  32. </template>
  33. <script setup>
  34. import normalTable from '@/template/normalTable/index.vue'
  35. import {ref, defineProps, defineEmits, computed, watch} from 'vue'
  36. import Api from '@/api/api'
  37. import utils from '@/utils/utils'
  38. import {useRouter} from 'vue-router'
  39. let router = useRouter()
  40. let emit = defineEmits([''])
  41. let props = defineProps({})
  42. let modeVisible = ref(false)
  43. let type = ref(0)
  44. let param = ref({
  45. id:20230701132202,
  46. content: {
  47. w_deviceid:router.currentRoute.value.query.id,
  48. 'type': 0
  49. }
  50. })
  51. let list = ref()
  52. watch(() => modeVisible.value,(val) => {
  53. if (!val) param.value.content.pageNumber = 1
  54. })
  55. let typeData = computed(() => {
  56. let data
  57. switch (type.value) {
  58. case 0:
  59. data = {
  60. title:'操作记录',
  61. Table:'historyTable'
  62. }
  63. break;
  64. case 1:
  65. console.log('触发1111');
  66. data = {
  67. title:'上传日志',
  68. Table:'uploadHistory'
  69. }
  70. break;
  71. default:
  72. data = {
  73. title:'操作队列',
  74. Table:'handleQueue'
  75. }
  76. break;
  77. }
  78. return data
  79. })
  80. let listData = () => {
  81. list.value.listData()
  82. }
  83. defineExpose({
  84. type,
  85. param,
  86. modeVisible,
  87. param,
  88. listData
  89. })
  90. </script>
  91. <style scoped>
  92. </style>