workOrder.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div class="nav_detail">
  3. <Table
  4. ref="workOrderTable"
  5. :tableParams="tableParams"
  6. :btnRole="btnRole"
  7. :right-btn="[]"
  8. >
  9. <template #left>
  10. <el-button type="danger">删除</el-button>
  11. </template>
  12. </Table>
  13. </div>
  14. </template>
  15. <script setup lang="ts">
  16. import { listOrder, delOrder } from '@/api/order';
  17. import { ElButton } from 'element-plus';
  18. import { OrderVO, OrderQuery } from '@/api/order/types';
  19. import Table from '@/components/Table/index.vue'
  20. import { tableTypes } from '@/components/Table/types'
  21. const props = defineProps({
  22. resourceTypeId: {
  23. type: String
  24. }
  25. })
  26. const btnRole = ref([
  27. { type: 'remove', hasPermi: `order:order:remove` },
  28. { type: 'export', hasPermi: `order:order:export` },
  29. ]);
  30. const tableParams = reactive<tableTypes<OrderQuery, OrderVO>>({
  31. tableColumn: [
  32. { show: true, label: '工单编号', prop: 'id' },
  33. { show: true, label: '工单标题', prop: 'title' },
  34. { show: true, label: '发起人员', prop: 'ownerByName' },
  35. { show: true, label: '处理人员', prop: 'ownerByName' },
  36. { show: true, label: '发起时间', prop: 'createTime' },
  37. { show: true, label: '工单状态', prop: 'orderStatusName' },
  38. { show: true, label: '评论记录', prop: '' },
  39. {
  40. show: true, label: '操作', width: 150, prop: 'operation', disabledMove: true, render: ({ column }: { column: OrderVO }) => {
  41. return [
  42. h(ElButton, { link: true, type: 'primary', onClick: () => { handleDetail(column) } }, '详情')
  43. ]
  44. }
  45. },
  46. ],
  47. queryParams: {
  48. customerId: props.resourceTypeId,
  49. },
  50. listFn: listOrder,
  51. delFn: delOrder,
  52. keyId: 'id'
  53. })
  54. const { queryParams } = toRefs(tableParams);
  55. // 工单详情
  56. const router = useRouter();
  57. const handleDetail = (data: OrderVO) => {
  58. router.push('/work_order/detail?id=' + data.id)
  59. }
  60. </script>