choice-route-page.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  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. const props = defineProps({
  30. materialCode: {
  31. type: String,
  32. default: () => {
  33. return '';
  34. }
  35. }
  36. })
  37. watch(
  38. () => props.materialCode,
  39. () => {
  40. search.value.prodtCode = props.materialCode
  41. search.value.enabled = "0"
  42. dataList();
  43. }
  44. );
  45. // 传入一个url,后面不带/
  46. const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
  47. useCrud({
  48. src: "/api/v1/op/route",
  49. });
  50. const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
  51. const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
  52. const { checkBtnPerm, downloadTemplate } = Utils; //按钮权限等工具
  53. const crudRef = ref(null); //crudRef.value 获取avue-crud对象
  54. const emit = defineEmits(["routeInfo"])
  55. const rowClick = (row)=>{
  56. emit("routeInfo", row)
  57. }
  58. // 设置表格列或者其他自定义的option
  59. option.value = Object.assign(option.value, {
  60. delBtn: false,
  61. selection: false,
  62. search: false,
  63. editBtn: false,
  64. addBtn: false,
  65. viewBtn: false,
  66. menu: false,
  67. column: [
  68. {
  69. label: "工艺编号",
  70. prop: "processRouteCode",
  71. search: true,
  72. width: 150,
  73. addDisplay: false,
  74. editDisabled: true,
  75. overHidden: true,
  76. },
  77. {
  78. label: "工艺名称",
  79. prop: "processRouteName",
  80. width: 150,
  81. search: true,
  82. overHidden: true,
  83. },
  84. {
  85. label: "工艺类型",
  86. prop: "processRouteType",
  87. minWidth: 100,
  88. overHidden: true,
  89. type: "select",
  90. dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.routing_type,
  91. props: {
  92. label: "dictLabel",
  93. value: "dictValue",
  94. },
  95. },
  96. {
  97. label: "产品名称",
  98. prop: "prodtName",
  99. overHidden: true,
  100. width: 150,
  101. },
  102. {
  103. label: "产品编号",
  104. prop: "prodtCode",
  105. overHidden: true,
  106. width: 150,
  107. disabled: true,
  108. },
  109. {
  110. label: "产品型号",
  111. prop: "prodtModel",
  112. overHidden: true,
  113. minWidth: 200,
  114. },
  115. // 在产品那边绑定了工艺路线才是已绑定
  116. {
  117. label: "路线状态",
  118. prop: "used",
  119. width: 100,
  120. type: "radio",
  121. dicData: [
  122. {
  123. label: "已绑定",
  124. value: 1,
  125. },
  126. {
  127. label: "未绑定",
  128. value: 0,
  129. },
  130. ],
  131. },
  132. {
  133. label: "启用状态",
  134. prop: "enabled",
  135. width: 100,
  136. type: "radio",
  137. dicData: [
  138. {
  139. label: "未启用",
  140. value: 1,
  141. },
  142. {
  143. label: "启用",
  144. value: 0,
  145. },
  146. ],
  147. value: 0,
  148. },
  149. {
  150. label: "版本",
  151. prop: "processRouteVersion",
  152. addDisplay: false,
  153. editDisplay: false,
  154. },
  155. {
  156. label: "创建人",
  157. prop: "createBy",
  158. addDisplay: false,
  159. editDisplay: false,
  160. overHidden: true,
  161. },
  162. {
  163. label: "创建时间",
  164. prop: "createWhen",
  165. addDisplay: false,
  166. editDisplay: false,
  167. width: 150,
  168. overHidden: true,
  169. },
  170. ],
  171. });
  172. onMounted(() => {
  173. search.value.prodtCode = props.materialCode
  174. search.value.enabled = "0"
  175. dataList();
  176. });
  177. </script>