fileCom.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <!-- 工序文件 -->
  2. <template>
  3. <div class="mainContentBox">
  4. <avue-crud
  5. ref="crudRef2"
  6. v-model:search="search"
  7. v-model="form"
  8. :data="data"
  9. :option="option"
  10. @row-update="updateRow"
  11. v-model:page="page"
  12. @size-change="dataList"
  13. @current-change="dataList"
  14. >
  15. <template #menu="{ size, row, index }">
  16. <a v-if="row.filePath" :href="row.filePath"
  17. ><el-button type="primary" text round size="small">下载</el-button>
  18. </a>
  19. </template>
  20. </avue-crud>
  21. </div>
  22. </template>
  23. <script setup>
  24. import { ref, getCurrentInstance } from "vue";
  25. import { useCrud } from "@/hooks/userCrud";
  26. import dictDataUtil from "@/common/configs/dictDataUtil";
  27. import ButtonPermKeys from "@/common/configs/buttonPermission";
  28. import {
  29. useCommonStoreHook,
  30. useDictionaryStore,
  31. useUserStoreHook,
  32. } from "@/store";
  33. // 数据字典相关
  34. const { dicts } = useDictionaryStore();
  35. // 传入一个url,后面不带/
  36. const {
  37. form,
  38. data,
  39. option,
  40. search,
  41. page,
  42. toDeleteIds,
  43. Methords,
  44. Utils,
  45. commonConfig,
  46. } = useCrud({
  47. src: "/api/v1/process/web/traceability/testRecord",
  48. });
  49. const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
  50. Methords; //增删改查
  51. const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
  52. const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
  53. const crudRef = ref(null); //crudRef.value 获取avue-crud对象
  54. const userStore = useUserStoreHook();
  55. const refreshTra = (row) => {
  56. commonConfig.value.params = {
  57. seqNo: row.seqNo,
  58. workOrderCode: row.workOrderCode,
  59. };
  60. dataList();
  61. };
  62. defineExpose({ refreshTra });
  63. option.value = Object.assign(option.value, {
  64. searchEnter: true,
  65. selection: false,
  66. border: true,
  67. index: false,
  68. expandLevel: 3,
  69. headerAlign: "center",
  70. align: "center",
  71. labelWidth: 100,
  72. addBtn: false,
  73. delBtn: false,
  74. viewBtn: false,
  75. editBtn: false,
  76. header: false,
  77. rowKey: "operationId",
  78. column: [
  79. {
  80. label: "工序Id",
  81. prop: "operationId",
  82. display: false,
  83. hide: true,
  84. },
  85. {
  86. label: "工序名称",
  87. prop: "operationName",
  88. display: false,
  89. },
  90. {
  91. label: "文件名称",
  92. prop: "fileName",
  93. display: false,
  94. },
  95. {
  96. label: "录入时间",
  97. prop: "created",
  98. format: "YYYY-MM-DD HH:mm:ss",
  99. valueFormat: "YYYY-MM-DD HH:mm:ss",
  100. type: "datetime",
  101. search: false,
  102. span: 24,
  103. rules: [
  104. {
  105. required: true,
  106. message: "请输入录入时间",
  107. trigger: "blur",
  108. },
  109. ],
  110. },
  111. ],
  112. });
  113. </script>