work-order-page.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  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. @row-click="rowClick"
  11. @search-change="searchChange"
  12. @search-reset="resetChange"
  13. @size-change="dataList"
  14. @current-change="dataList"
  15. >
  16. </avue-crud>
  17. </div>
  18. </template>
  19. <script setup>
  20. import {defineProps, ref} from "vue";
  21. import { useCrud } from "@/hooks/userCrud";
  22. import { useCommonStoreHook } from "@/store";
  23. import dictDataUtil from "@/common/configs/dictDataUtil";
  24. const { isShowTable, tableType } = toRefs(useCommonStoreHook());
  25. const test = () => {
  26. isShowTable.value = true;
  27. tableType.value = tableType.value == 1 ? 2 : 1;
  28. };
  29. // 传入一个url,后面不带/
  30. const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
  31. useCrud({
  32. src: "/api/v1/plan/workOrder",
  33. });
  34. const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
  35. const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
  36. const { checkBtnPerm, downloadTemplate } = Utils; //按钮权限等工具
  37. const crudRef = ref(null); //crudRef.value 获取avue-crud对象
  38. const emit = defineEmits(["orderInfo"])
  39. const rowClick = (row)=>{
  40. emit("orderInfo", row)
  41. }
  42. const props = defineProps({
  43. queryType: {
  44. type: String,
  45. default: () => {
  46. return "0";
  47. }
  48. }
  49. })
  50. // 设置表格列或者其他自定义的option
  51. option.value = Object.assign(option.value, {
  52. delBtn: false,
  53. selection: false,
  54. search: false,
  55. editBtn: false,
  56. addBtn: false,
  57. viewBtn: false,
  58. menu: false,
  59. column: [
  60. {
  61. label: "工单编号",
  62. prop: "workOrderCode",
  63. search: true,
  64. display: false,
  65. width: 125,
  66. overHidden: true,
  67. },
  68. {
  69. label: "订单编号",
  70. prop: "orderCode",
  71. search: true,
  72. width: 125,
  73. overHidden: true,
  74. },
  75. {
  76. label: "订单名称",
  77. prop: "orderName",
  78. search: true,
  79. disabled: true,
  80. width: 125,
  81. overHidden: true,
  82. },
  83. {
  84. label: "产品编号",
  85. width: 125,
  86. overHidden: true,
  87. search: true,
  88. disabled: true,
  89. prop: "materialCode",
  90. },
  91. {
  92. label: "产品名称",
  93. width: 125,
  94. overHidden: true,
  95. search: true,
  96. disabled: true,
  97. prop: "materialName",
  98. },
  99. {
  100. label: "产品规格",
  101. width: 125,
  102. search: true,
  103. overHidden: true,
  104. disabled: true,
  105. prop: "materialModel",
  106. },
  107. {
  108. label: "优先级",
  109. prop: "priority",
  110. display: false,
  111. width: "80",
  112. type: "select", //类型为下拉选择框
  113. dicUrl:
  114. dictDataUtil.request_url + dictDataUtil.TYPE_CODE.plan_order_priority,
  115. props: {
  116. label: "dictLabel",
  117. value: "dictValue",
  118. },
  119. },
  120. {
  121. label: "状态",
  122. prop: "workOrderState",
  123. width: "80",
  124. display: false,
  125. type: "select", //类型为下拉选择框
  126. dicUrl:
  127. dictDataUtil.request_url + dictDataUtil.TYPE_CODE.plan_work_order_state,
  128. props: {
  129. label: "dictLabel",
  130. value: "dictValue",
  131. },
  132. },
  133. {
  134. label: "工艺路线",
  135. prop: "processRouteName",
  136. width: 125,
  137. overHidden: true,
  138. },
  139. {
  140. label: "生产车间",
  141. prop: "workshopName",
  142. width: 120,
  143. overHidden: true,
  144. },
  145. {
  146. label: "产线名称",
  147. prop: "productLineName",
  148. width: 120,
  149. overHidden: true,
  150. },
  151. {
  152. label: "开始时间",
  153. prop: "planStartWhen",
  154. width: 180,
  155. overHidden: true,
  156. display: false,
  157. },
  158. {
  159. label: "结束时间",
  160. prop: "planStartEnd",
  161. width: 180,
  162. display: false,
  163. overHidden: true,
  164. },
  165. {
  166. label: "工单数量",
  167. prop: "planNum",
  168. width: 85,
  169. type: "number",
  170. min: 1,
  171. max: 99999,
  172. },
  173. {
  174. label: "完成数量",
  175. width: 85,
  176. display: false,
  177. prop: "completeNum",
  178. },
  179. {
  180. label: "下线数量",
  181. width: 85,
  182. display: false,
  183. prop: "beforeNum",
  184. },
  185. {
  186. label: "报废数量",
  187. width: 85,
  188. display: false,
  189. prop: "scrapNum",
  190. },
  191. {
  192. label: "创建时间",
  193. width: 180,
  194. display: false,
  195. prop: "created",
  196. },
  197. {
  198. label: "创建人",
  199. width: 90,
  200. display: false,
  201. prop: "creator",
  202. },
  203. ],
  204. });
  205. onMounted(() => {
  206. search.value.queryType = props.queryType
  207. dataList();
  208. });
  209. </script>