index.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <template>
  2. <n-data-table
  3. :columns="columns"
  4. :data="data"
  5. :pagination="pagination"
  6. :bordered="false"
  7. />
  8. </template>
  9. <script setup>
  10. import { h } from "vue";
  11. import { NButton, NSpace } from "naive-ui";
  12. import { getTaskData } from "@/api";
  13. const router = useRouter();
  14. // 查询参数
  15. const queryData = reactive({
  16. T_uuid: "",
  17. T_name: "",
  18. page: 1,
  19. page_z: 10,
  20. });
  21. // 任务列表
  22. const data = ref([]);
  23. // 需要展示的列
  24. const columns = [
  25. {
  26. title: "公司名称",
  27. key: "T_user_name",
  28. },
  29. {
  30. title: "报告名称",
  31. key: "T_name",
  32. },
  33. {
  34. title: "截止时间",
  35. key: "T_deadline",
  36. },
  37. {
  38. title: "流程",
  39. key: "length",
  40. render() {
  41. return ["数据采集", "报告编写", "交付审核"].map((item) =>
  42. h(
  43. "span",
  44. {},
  45. {
  46. default: () => item,
  47. }
  48. )
  49. );
  50. },
  51. },
  52. {
  53. title: "操作",
  54. key: "actions",
  55. render(row) {
  56. return h(
  57. NSpace,
  58. {},
  59. {
  60. default: () =>
  61. [
  62. "设备管理",
  63. "数据来源",
  64. "数据编辑",
  65. "数据校验",
  66. "报告生成",
  67. "报告编辑",
  68. "报告审核",
  69. ].map((item) =>
  70. h(
  71. NButton,
  72. {
  73. type: "primary",
  74. size: "small",
  75. onClick: () => {
  76. if (item === "设备管理") {
  77. router.push(`/equipment/${row.Id}`);
  78. } else if (item === "数据来源") {
  79. router.push("/data_source");
  80. } else if (item === "数据编辑") {
  81. router.push("/data_source");
  82. } else if (item === "数据校验") {
  83. router.push("/data_source");
  84. } else if (item === "报告生成") {
  85. router.push("/data_source");
  86. } else if (item === "报告编辑") {
  87. router.push("/data_source");
  88. } else {
  89. router.push("/data_source");
  90. }
  91. },
  92. },
  93. { default: () => item }
  94. )
  95. ),
  96. }
  97. );
  98. },
  99. },
  100. ];
  101. // 分页数据源
  102. const pagination = reactive({
  103. page: queryData.page,
  104. pageSize: queryData.page_z,
  105. itemCount: 0,
  106. onChange: (page) => {
  107. pagination.page = page;
  108. queryData.page = page;
  109. getDataList();
  110. },
  111. });
  112. // 任务管理(列表)
  113. const getDataList = async () => {
  114. const { data: res } = await getTaskData(queryData);
  115. pagination.itemCount = res.Data.Num;
  116. data.value = res.Data.List;
  117. };
  118. getDataList();
  119. </script>
  120. <style scoped></style>