index.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. <template>
  2. <div class="mainContentBox">
  3. <avue-crud
  4. ref="crudRef"
  5. v-model:search="search"
  6. v-model="form"
  7. :data="data"
  8. :option="option"
  9. v-model:page="page"
  10. @search-change="searchChange"
  11. @search-reset="resetChange"
  12. @size-change="dataList"
  13. @current-change="dataList"
  14. @selection-change="selectionChange"
  15. >
  16. <template #menu="{ row, index, type }">
  17. <el-button
  18. @click="checkApply(row)"
  19. v-if="row.state == '2'"
  20. text
  21. type="primary"
  22. >处理</el-button
  23. >
  24. <el-button
  25. @click="showApply(row)"
  26. v-if="row.state != '0'"
  27. text
  28. type="primary"
  29. >查看</el-button
  30. >
  31. </template>
  32. </avue-crud>
  33. </div>
  34. <el-dialog
  35. v-model="dialog.visible"
  36. :title="dialog.title"
  37. width="80%"
  38. @close="dialog.visible = false"
  39. >
  40. <Check
  41. :rowData="rowData"
  42. @close="dialog.visible = false"
  43. :showStatus
  44. @data-list="getList"
  45. :key="checkKey"
  46. />
  47. </el-dialog>
  48. </template>
  49. <script setup>
  50. import { ref, getCurrentInstance } from "vue";
  51. import { useCrud } from "@/hooks/userCrud";
  52. import { useCommonStoreHook, useDictionaryStore } from "@/store";
  53. import dictDataUtil from "@/common/configs/dictDataUtil";
  54. import Check from "./check.vue";
  55. const checkKey = ref(false);
  56. const getList = () => {
  57. dataList();
  58. };
  59. const { isShowTable, tableType } = toRefs(useCommonStoreHook());
  60. // 数据字典相关
  61. const { dicts } = useDictionaryStore();
  62. const rowData = ref({});
  63. const showStatus = ref(false);
  64. const checkApply = (row) => {
  65. checkKey.value = !checkKey.value;
  66. rowData.value = row;
  67. showStatus.value = false;
  68. dialog.value.visible = true;
  69. };
  70. const showApply = (row) => {
  71. checkKey.value = !checkKey.value;
  72. rowData.value = row;
  73. showStatus.value = true;
  74. dialog.value.visible = true;
  75. };
  76. const dialog = ref({
  77. visible: false,
  78. title: "归档申请",
  79. });
  80. // 传入一个url,后面不带/
  81. const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
  82. useCrud({
  83. src: "/api/v1/ProcessFormData/examine",
  84. });
  85. const {
  86. dataEditList,
  87. createRow,
  88. updateRow,
  89. deleteRow,
  90. searchChange,
  91. dataList,
  92. resetChange,
  93. } = Methords; //增删改查
  94. const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
  95. const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
  96. const crudRef = ref(null); //crudRef.value 获取avue-crud对象
  97. // 设置表格列或者其他自定义的option
  98. option.value = Object.assign(option.value, {
  99. selection: false,
  100. viewBtn: false,
  101. editBtn: false,
  102. delBtn: false,
  103. addBtn: false,
  104. menu: true,
  105. column: [
  106. {
  107. label: "订单编号",
  108. prop: "orderCode",
  109. search: true,
  110. overHidden: true,
  111. },
  112. {
  113. label: "订单名称",
  114. prop: "orderName",
  115. overHidden: true,
  116. search: true,
  117. },
  118. {
  119. label: "物料编码",
  120. prop: "materialCode",
  121. overHidden: true,
  122. editDisplay: false,
  123. addDisplay: false,
  124. },
  125. {
  126. label: "物料型号",
  127. prop: "materialModel",
  128. overHidden: true,
  129. editDisplay: false,
  130. hide: true,
  131. },
  132. {
  133. label: "物料名称",
  134. prop: "materialName",
  135. search: true,
  136. overHidden: true,
  137. disabled: true,
  138. },
  139. {
  140. label: "表格类型",
  141. prop: "formType",
  142. search: true,
  143. filterable: true,
  144. type: "select",
  145. dicData: dicts.excel_type,
  146. props: { label: "dictLabel", value: "dictValue" },
  147. },
  148. {
  149. label: "状态",
  150. prop: "state",
  151. rules: [
  152. {
  153. required: true,
  154. message: "请选择文件",
  155. trigger: "blur",
  156. },
  157. ],
  158. dicData: [
  159. {
  160. label: "待发起",
  161. value: "0",
  162. },
  163. {
  164. label: "驳回",
  165. value: "1",
  166. },
  167. {
  168. label: "审核中",
  169. value: "2",
  170. },
  171. {
  172. label: "完成",
  173. value: "3",
  174. },
  175. ],
  176. },
  177. {
  178. label: "是否H级",
  179. prop: "hOrder",
  180. rules: [
  181. {
  182. required: true,
  183. message: "请选择文件",
  184. trigger: "blur",
  185. },
  186. ],
  187. dicData: [
  188. {
  189. label: "是",
  190. value: "1",
  191. },
  192. {
  193. label: "否",
  194. value: "0",
  195. },
  196. ],
  197. },
  198. ],
  199. });
  200. onMounted(() => {
  201. search.value.isExamine = "1";
  202. dataList();
  203. });
  204. </script>