1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
| <!--
| *Author:jxx
| *Contact:283591387@qq.com
| *代码由框架生成,任何更改都可能导致被代码生成器覆盖
| *业务请在@/extension/widesea_wcs/order/Dt_CheckOrder.js此处编写
| -->
| <template>
| <view-grid ref="grid" @openPalletDialog="handleOpenPalletDialog" :columns="columns" :editFormFields="editFormFields"
| :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
| :table="table" :extend="extend">
| </view-grid>
|
| <!-- 2. 组盘弹窗:确保props和事件绑定正确 -->
| <PalletDialog
| v-model:visible="palletVisible"
| :docNo="currentPalletDocNo"
| @back-success="handlePalletBackSuccess"
| ></PalletDialog>
|
| </template>
| <script>
| import extend from "@/extension/check/recheckOrder.js";
| import ViewGrid from '@/components/basic/ViewGrid/ViewGrid.vue';
| import { ref, defineComponent } from "vue";
| import PalletDialog from "@/extension/inbound/extend/PickingRetuenPallet.vue";
| export default defineComponent({
| components: {
| viewGrid: ViewGrid,
| PalletDialog // 注册组盘弹窗
|
| },
| setup() {
| const table = ref({
| key: 'id',
| footer: "Foots",
| cnName: '重检单',
| name: 'Dt_ReCheckOrder',
| url: "/ReCheckOrder/",
| sortName: "id"
| });
|
|
| const editFormFields = ref({
| OrderNo: "",
| MaterielCode: "",
| BatchNo: "",
| WarehouseCode: "",
| Unit: "",
| FactoryArea: "",
| Result: 0,
| InspectionNumber: 0,
| Qty: 0,
| SignSeq: 0
| });
|
|
| const editFormOptions = ref([
| [
| { title: "复检单号", field: "OrderNo", type: "input", require: true },
| { title: "物料编号", field: "MaterielCode", type: "input", require: true },
| { title: "批次号", field: "BatchNo", type: "input", require: true },
| { title: "仓库编码", field: "WarehouseCode", type: "input", require: true }
| ],
| [
| { title: "单位", field: "Unit", type: "input", require: true },
| { title: "厂区", field: "FactoryArea", type: "input", require: true },
| { title: "检验结果", field: "Result", type: "select", require: true,dataKey: "inOrderType",data: []},
| { title: "检验次数", field: "InspectionNumber", type: "number", require: true, min: 1 }
| ],
| [
| { title: "数量", field: "Qty", type: "number", require: true, min: 0 },
| { title: "签字顺序", field: "SignSeq", type: "number", require: true, min: 1 }
| ]
| ]);
|
|
| const searchFormFields = ref({
| OrderNo: "",
| MaterielCode: "",
| BatchNo: "",
| WarehouseCode: "",
| FactoryArea: "",
| Result: ""
| });
|
|
| const searchFormOptions = ref([
| [
| { title: "复检单号", field: "OrderNo", type: "like" },
| { title: "物料编号", field: "MaterielCode", type: "like" },
| { title: "批次号", field: "BatchNo", type: "like" },
| { title: "仓库编码", field: "WarehouseCode", type: "like" }
| ],
| [
| { title: "厂区", field: "FactoryArea", type: "like" },
| { title: "检验结果", field: "Result", type: "select",dataKey: "inOrderType", data: []}
| ]
| ]);
|
|
| const columns = ref([
| { field: 'id', title: '主键', type: 'int', width: 150, hidden: true, readonly: true, require: true, align: 'left' },
| { field: 'orderNo', title: '复检单号', type: 'string', width: 160, require: true, align: 'left', sort: true },
| { field: 'materielCode', title: '物料编号', type: 'string', width: 160, require: true, align: 'left' },
| { field: 'batchNo', title: '批次号', type: 'string', width: 160, require: true, align: 'left' },
| { field: 'warehouseCode', title: '仓库编码', type: 'string', width: 160, require: true, align: 'left' },
| { field: 'unit', title: '单位', type: 'string', width: 100, require: true, align: 'left' },
| { field: 'factoryArea', title: '厂区', type: 'string', width: 120, require: true, align: 'left' },
| { field: 'result', title: '检验结果', type: 'int', width: 110, require: true, align: 'left',bind: { key: "inOrderType", data: [] },},
| { field: 'inspectionNumber', title: '检验次数', type: 'int', width: 110, require: true, align: 'left' },
| { field: 'qty', title: '数量', type: 'float', width: 110, require: true, align: 'left' },
| { field: 'signSeq', title: '签字顺序', type: 'int', width: 110, require: true, align: 'left' },
| { field: 'creater', title: '创建者', type: 'string', width: 110, require: true, align: 'left' },
| { field: 'createDate', title: '创建时间', type: 'datetime', width: 150, require: true, align: 'left', sort: true },
| { field: 'modifier', title: '修改人', type: 'string', width: 100, align: 'left' },
| { field: 'modifyDate', title: '修改日期', type: 'datetime', width: 150, align: 'left', sort: true },
| ]);
| // 6. 组盘弹窗联动(所有变量必须返回)
| const palletVisible = ref(false);
| const currentPalletDocNo = ref("");
|
| const handleOpenPalletDialog = (docNo) => {
| console.log('主组件收到组盘事件,单据号:', docNo);
| currentPalletDocNo.value = docNo;
| palletVisible.value = true;
| };
|
| const handlePalletBackSuccess = () => {
| console.log('组盘回传成功,刷新表格');
| grid.value?.refresh(); // 此时gridRef已挂载,可调用方法
| };
| return {
| table,
| extend,
| editFormFields,
| editFormOptions,
| searchFormFields,
| searchFormOptions,
| columns,
| PalletDialog, // 弹窗组件(无需返回,注册即可,但变量需返回)
| palletVisible,
| currentPalletDocNo,
| handleOpenPalletDialog,
| handlePalletBackSuccess
| };
| },
| });
| </script>
|
|