work-order-seqNos-page.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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. @selection-change="handleSelectionChange"
  16. >
  17. <template #footer>
  18. <div style="float: right; margin-top: 10px">
  19. <el-button type="primary" @click="onSelected"> 确定 </el-button>
  20. </div>
  21. </template>
  22. </avue-crud>
  23. </div>
  24. </template>
  25. <script setup>
  26. import { defineProps, ref } from "vue";
  27. import { useCrud } from "@/hooks/userCrud";
  28. import { useCommonStoreHook } from "@/store";
  29. import dictDataUtil from "@/common/configs/dictDataUtil";
  30. const { isShowTable, tableType } = toRefs(useCommonStoreHook());
  31. // 传入一个url,后面不带/
  32. const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
  33. useCrud({
  34. src: "/api/v1/plan/seq",
  35. });
  36. const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
  37. Methords; //增删改查
  38. const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
  39. const { checkBtnPerm, downloadTemplate } = Utils; //按钮权限等工具
  40. const crudRef = ref(null); //crudRef.value 获取avue-crud对象
  41. const emit = defineEmits(["orderInfo"]);
  42. const onSelected = () => {
  43. const array = ref([]);
  44. selectedRows.value.forEach((item) => {
  45. array.value.push(item.seqNo);
  46. });
  47. emit("orderInfo", array.value);
  48. };
  49. const props = defineProps({
  50. workOrderCode: {
  51. type: String,
  52. },
  53. state: {
  54. type: String,
  55. },
  56. semiFinishedStock: {
  57. type: String,
  58. },
  59. });
  60. const selectedRows = ref([]);
  61. const handleSelectionChange = (selection) => {
  62. selectedRows.value = selection;
  63. };
  64. // 设置表格列或者其他自定义的option
  65. option.value = Object.assign(option.value, {
  66. searchEnter: true,
  67. selection: true,
  68. searchBtn: false,
  69. addBtn: false,
  70. menu: false,
  71. deleteBtn: false,
  72. column: [
  73. {
  74. label: "工单编号",
  75. prop: "workOrderCode",
  76. display: false,
  77. overHidden: true,
  78. },
  79. {
  80. label: "订单编号",
  81. prop: "orderCode",
  82. overHidden: true,
  83. },
  84. {
  85. label: "流转卡号",
  86. prop: "seqNo",
  87. disabled: true,
  88. overHidden: true,
  89. },
  90. // {
  91. // label: "状态",
  92. // prop: "workOrderState",
  93. // width: "80",
  94. // display: false,
  95. // type: "select", //类型为下拉选择框
  96. // dicUrl:
  97. // dictDataUtil.request_url + dictDataUtil.TYPE_CODE.plan_work_order_state,
  98. // props: {
  99. // label: "dictLabel",
  100. // value: "dictValue",
  101. // },
  102. // },
  103. {
  104. label: "创建时间",
  105. prop: "created",
  106. width: 180,
  107. overHidden: true,
  108. display: false,
  109. },
  110. ],
  111. });
  112. onMounted(() => {
  113. search.value.workOrderCode = props.workOrderCode;
  114. if (props.semiFinishedStock) {
  115. search.value.semiFinishedStock = props.semiFinishedStock;
  116. }
  117. search.value.state = props.state;
  118. dataList();
  119. });
  120. watch(
  121. () => props.workOrderCode,
  122. () => {
  123. if (props.state) {
  124. search.value.state = props.state;
  125. }
  126. search.value.workOrderCode = props.workOrderCode;
  127. dataList();
  128. }
  129. );
  130. </script>