春风项目四线(合箱线、总装线)
jiang
2024-01-13 2aea64bfec61758ef8a4cc87853d48b5e7320f2d
提交 | 用户 | 时间
d9cf6b 1 <template>
J 2   <div class="app-container">
3     <el-card class="box-card">
4         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
2aea64 5           <el-form-item label="订单编号" prop="orderNo">
d9cf6b 6             <el-input
2aea64 7               v-model="queryParams.orderNo"
d9cf6b 8               placeholder="请输入订单编号"
J 9               clearable
10               @keyup.enter.native="handleQuery"
11             />
12           </el-form-item>
13           <el-form-item label="发动机号" prop="engineNo">
14             <el-input
15               v-model="queryParams.engineNo"
16               placeholder="请输入发动机号"
17               clearable
18               @keyup.enter.native="handleQuery"
19             />
20           </el-form-item>
2aea64 21
d9cf6b 22           <el-form-item label="机型" prop="model">
J 23             <el-input
24               v-model="queryParams.model"
25               placeholder="请输入机型"
26               clearable
27               @keyup.enter.native="handleQuery"
28             />
29           </el-form-item>
2aea64 30
d9cf6b 31           <el-form-item label="工时" prop="workingHours">
J 32             <el-input
33               v-model="queryParams.workingHours"
34               placeholder="请输入工时"
35               clearable
36               @keyup.enter.native="handleQuery"
37             />
38           </el-form-item>
39           <el-form-item label="当前工位" prop="currentWorkstation">
40             <el-input
41               v-model="queryParams.currentWorkstation"
42               placeholder="请输入当前工位"
43               clearable
44               @keyup.enter.native="handleQuery"
45             />
46           </el-form-item>
2aea64 47
d9cf6b 48           <el-form-item label="是否打印" prop="whetherOrPrint">
J 49             <el-input
50               v-model="queryParams.whetherOrPrint"
51               placeholder="请输入是否打印"
52               clearable
53               @keyup.enter.native="handleQuery"
54             />
55           </el-form-item>
56           <el-form-item label="10报工" prop="report10">
57             <el-input
58               v-model="queryParams.report10"
59               placeholder="请输入10报工"
60               clearable
61               @keyup.enter.native="handleQuery"
62             />
63           </el-form-item>
64           <el-form-item label="20报工" prop="report20">
65             <el-input
66               v-model="queryParams.report20"
67               placeholder="请输入20报工"
68               clearable
69               @keyup.enter.native="handleQuery"
70             />
71           </el-form-item>
72           <el-form-item label="操作人" prop="operator">
73             <el-input
74               v-model="queryParams.operator"
75               placeholder="请输入操作人"
2aea64 76               clearable
J 77               @keyup.enter.native="handleQuery"
78             />
79           </el-form-item>
80
81           <el-form-item label="预留字段1" prop="spareField1">
82             <el-input
83               v-model="queryParams.spareField1"
84               placeholder="请输入预留字段1"
85               clearable
86               @keyup.enter.native="handleQuery"
87             />
88           </el-form-item>
89           <el-form-item label="预留字段2" prop="spareField2">
90             <el-input
91               v-model="queryParams.spareField2"
92               placeholder="请输入预留字段2"
93               clearable
94               @keyup.enter.native="handleQuery"
95             />
96           </el-form-item>
97           <el-form-item label="预留字段3" prop="spareField3">
98             <el-input
99               v-model="queryParams.spareField3"
100               placeholder="请输入预留字段3"
101               clearable
102               @keyup.enter.native="handleQuery"
103             />
104           </el-form-item>
105           <el-form-item label="预留字段4" prop="spareField4">
106             <el-input
107               v-model="queryParams.spareField4"
108               placeholder="请输入预留字段4"
109               clearable
110               @keyup.enter.native="handleQuery"
111             />
112           </el-form-item>
113           <el-form-item label="创建用户" prop="createUser">
114             <el-input
115               v-model="queryParams.createUser"
116               placeholder="请输入创建用户"
117               clearable
118               @keyup.enter.native="handleQuery"
119             />
120           </el-form-item>
121           <el-form-item label="更改用户" prop="updateUser">
122             <el-input
123               v-model="queryParams.updateUser"
124               placeholder="请输入更改用户"
125               clearable
126               @keyup.enter.native="handleQuery"
127             />
128           </el-form-item>
129           <el-form-item label="备注" prop="remarks">
130             <el-input
131               v-model="queryParams.remarks"
132               placeholder="请输入备注"
d9cf6b 133               clearable
J 134               @keyup.enter.native="handleQuery"
135             />
136           </el-form-item>
137           <el-form-item style="float: right">
138             <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
139             <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
140           </el-form-item>
141         </el-form>
142     </el-card>
143
144     <el-card style="margin-top: 10px" class="box-card">
145         <el-row :gutter="10" class="mb8">
146           <el-col :span="1.5">
147             <el-button
148               type="primary"
149               plain
150               icon="el-icon-plus"
151               size="mini"
152               @click="handleAdd"
153               v-hasPermi="['bs:orderScheduling:add']"
154             >新增</el-button>
155           </el-col>
156           <el-col :span="1.5">
157             <el-button
158               type="success"
159               plain
160               icon="el-icon-edit"
161               size="mini"
162               :disabled="single"
163               @click="handleUpdate"
164               v-hasPermi="['bs:orderScheduling:edit']"
165             >修改</el-button>
166           </el-col>
167           <el-col :span="1.5">
168             <el-button
169               type="danger"
170               plain
171               icon="el-icon-delete"
172               size="mini"
173               :disabled="multiple"
174               @click="handleDelete"
175               v-hasPermi="['bs:orderScheduling:remove']"
176             >删除</el-button>
177           </el-col>
178           <el-col :span="1.5">
179             <el-button
180               type="warning"
181               plain
182               icon="el-icon-download"
183               size="mini"
184               @click="handleExport"
185               v-hasPermi="['bs:orderScheduling:export']"
186             >导出</el-button>
187           </el-col>
188           <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
189         </el-row>
190
191         <el-table border v-loading="loading" :data="orderSchedulingList" @selection-change="handleSelectionChange">
192           <el-table-column type="selection" width="55" align="center" />
2aea64 193           <el-table-column label="ID" align="center" prop="id" />
J 194           <el-table-column label="订单编号" align="center" prop="orderNo">
195
d9cf6b 196           </el-table-column>
J 197           <el-table-column label="发动机号" align="center" prop="engineNo">
2aea64 198
d9cf6b 199           </el-table-column>
J 200           <el-table-column label="产品类型" align="center" prop="productType">
2aea64 201
d9cf6b 202           </el-table-column>
J 203           <el-table-column label="机型" align="center" prop="model">
2aea64 204
d9cf6b 205           </el-table-column>
J 206           <el-table-column label="生产状态" align="center" prop="productionStatus">
2aea64 207
d9cf6b 208           </el-table-column>
J 209           <el-table-column label="工时" align="center" prop="workingHours">
2aea64 210
d9cf6b 211           </el-table-column>
J 212           <el-table-column label="当前工位" align="center" prop="currentWorkstation">
2aea64 213
d9cf6b 214           </el-table-column>
J 215           <el-table-column label="质量状态" align="center" prop="qualityStatus">
2aea64 216
d9cf6b 217           </el-table-column>
J 218           <el-table-column label="是否打印" align="center" prop="whetherOrPrint">
2aea64 219
d9cf6b 220           </el-table-column>
J 221           <el-table-column label="10报工" align="center" prop="report10">
2aea64 222
d9cf6b 223           </el-table-column>
J 224           <el-table-column label="20报工" align="center" prop="report20">
225
226           </el-table-column>
2aea64 227           <el-table-column label="合箱上线" align="center" prop="combinedBoxTime">
d9cf6b 228
J 229           </el-table-column>
2aea64 230           <el-table-column label="总装下线" align="center" prop="finalAssemblyTime">
d9cf6b 231
J 232           </el-table-column>
233           <el-table-column label="操作人" align="center" prop="operator">
234
235           </el-table-column>
236           <el-table-column label="操作时间" align="center" prop="operateTime">
2aea64 237
J 238           </el-table-column>
239           <el-table-column label="状态" align="center" prop="status">
240
241           </el-table-column>
242           <el-table-column label="预留字段1" align="center" prop="spareField1">
243
244           </el-table-column>
245           <el-table-column label="预留字段2" align="center" prop="spareField2">
246
247           </el-table-column>
248           <el-table-column label="预留字段3" align="center" prop="spareField3">
249
250           </el-table-column>
251           <el-table-column label="预留字段4" align="center" prop="spareField4">
252
253           </el-table-column>
254           <el-table-column label="创建用户" align="center" prop="createUser">
255
256           </el-table-column>
257           <el-table-column label="更改用户" align="center" prop="updateUser">
258
259           </el-table-column>
260           <el-table-column label="备注" align="center" prop="remarks">
d9cf6b 261
J 262           </el-table-column>
263           <el-table-column fixed="right" width="200" label="操作" align="center" class-name="small-padding fixed-width">
264             <template slot-scope="scope">
265               <el-button
266                 size="mini"
267                 type="success"
268                 plain
269                 style="width: 72px"
270                 icon="el-icon-edit"
271                 @click="handleUpdate(scope.row)"
272                 v-hasPermi="['bs:orderScheduling:edit']"
273               >修改</el-button>
274               <el-button
275                 size="mini"
276                 type="danger"
277                 plain
278                 style="width: 72px"
279                 icon="el-icon-delete"
280                 @click="handleDelete(scope.row)"
281                 v-hasPermi="['bs:orderScheduling:remove']"
282               >删除</el-button>
283             </template>
284           </el-table-column>
285         </el-table>
286     </el-card>
287
288     <pagination
289       v-show="total>0"
290       :total="total"
291       :page.sync="queryParams.pageNum"
292       :limit.sync="queryParams.pageSize"
293       @pagination="getList"
294     />
295
296     <!-- 添加或修改订单排产对话框 -->
297     <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body>
298       <span slot="title">
299         <i class="el-icon-s-order"></i>
300         {{titleName}}
301       </span>
302       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
2aea64 303         <el-form-item label="订单编号" prop="orderNo">
J 304           <el-input v-model="form.orderNo" placeholder="请输入订单编号" />
d9cf6b 305         </el-form-item>
J 306         <el-form-item label="发动机号" prop="engineNo">
307           <el-input v-model="form.engineNo" placeholder="请输入发动机号" />
308         </el-form-item>
2aea64 309         <el-form-item label="产品类型" prop="productType">
J 310           <el-select v-model="form.productType" placeholder="请选择产品类型">
311 <!--            <el-option-->
312 <!--              v-for="dict in dict.type.${dictType}"-->
313 <!--              :key="dict.value"-->
314 <!--              :label="dict.label"-->
315 <!--              :value="dict.value"-->
316 <!--            ></el-option>-->
317           </el-select>
318         </el-form-item>
d9cf6b 319         <el-form-item label="机型" prop="model">
J 320           <el-input v-model="form.model" placeholder="请输入机型" />
2aea64 321         </el-form-item>
J 322         <el-form-item label="生产状态" prop="productionStatus">
323           <el-radio-group v-model="form.productionStatus">
324 <!--            <el-radio-->
325 <!--              v-for="dict in dict.type.${dictType}"-->
326 <!--              :key="dict.value"-->
327 <!--              :label="dict.value"-->
328 <!--            >{{dict.label}}</el-radio>-->
329           </el-radio-group>
d9cf6b 330         </el-form-item>
J 331         <el-form-item label="工时" prop="workingHours">
332           <el-input v-model="form.workingHours" placeholder="请输入工时" />
333         </el-form-item>
334         <el-form-item label="当前工位" prop="currentWorkstation">
335           <el-input v-model="form.currentWorkstation" placeholder="请输入当前工位" />
2aea64 336         </el-form-item>
J 337         <el-form-item label="质量状态" prop="qualityStatus">
338           <el-radio-group v-model="form.qualityStatus">
339 <!--            <el-radio-->
340 <!--              v-for="dict in dict.type.${dictType}"-->
341 <!--              :key="dict.value"-->
342 <!--              :label="dict.value"-->
343 <!--            >{{dict.label}}</el-radio>-->
344           </el-radio-group>
d9cf6b 345         </el-form-item>
J 346         <el-form-item label="是否打印" prop="whetherOrPrint">
347           <el-input v-model="form.whetherOrPrint" placeholder="请输入是否打印" />
348         </el-form-item>
349         <el-form-item label="10报工" prop="report10">
350           <el-input v-model="form.report10" placeholder="请输入10报工" />
351         </el-form-item>
352         <el-form-item label="20报工" prop="report20">
353           <el-input v-model="form.report20" placeholder="请输入20报工" />
354         </el-form-item>
355         <el-form-item label="操作人" prop="operator">
356           <el-input v-model="form.operator" placeholder="请输入操作人" />
2aea64 357         </el-form-item>
J 358         <el-form-item label="状态" prop="status">
359           <el-radio-group v-model="form.status">
360 <!--            <el-radio-->
361 <!--              v-for="dict in dict.type.${dictType}"-->
362 <!--              :key="dict.value"-->
363 <!--              :label="dict.value"-->
364 <!--            >{{dict.label}}</el-radio>-->
365           </el-radio-group>
366         </el-form-item>
367         <el-form-item label="预留字段1" prop="spareField1">
368           <el-input v-model="form.spareField1" placeholder="请输入预留字段1" />
369         </el-form-item>
370         <el-form-item label="预留字段2" prop="spareField2">
371           <el-input v-model="form.spareField2" placeholder="请输入预留字段2" />
372         </el-form-item>
373         <el-form-item label="预留字段3" prop="spareField3">
374           <el-input v-model="form.spareField3" placeholder="请输入预留字段3" />
375         </el-form-item>
376         <el-form-item label="预留字段4" prop="spareField4">
377           <el-input v-model="form.spareField4" placeholder="请输入预留字段4" />
378         </el-form-item>
379         <el-form-item label="创建用户" prop="createUser">
380           <el-input v-model="form.createUser" placeholder="请输入创建用户" />
381         </el-form-item>
382         <el-form-item label="更改用户" prop="updateUser">
383           <el-input v-model="form.updateUser" placeholder="请输入更改用户" />
384         </el-form-item>
385         <el-form-item label="备注" prop="remarks">
386           <el-input v-model="form.remarks" placeholder="请输入备注" />
d9cf6b 387         </el-form-item>
J 388       </el-form>
389       <div slot="footer" class="dialog-footer">
390         <el-button type="primary" @click="submitForm">确 定</el-button>
391         <el-button @click="cancel">取 消</el-button>
392       </div>
393     </el-dialog>
394   </div>
395 </template>
396
397 <script>
398 import { listOrderScheduling, getOrderScheduling, delOrderScheduling, addOrderScheduling, updateOrderScheduling } from "@/api/main/bs/orderScheduling/orderScheduling";
399
400 export default {
401   name: "OrderScheduling",
402   data() {
403     return {
404       // 遮罩层
405       loading: true,
406       titleName: "",
407       // 选中数组
408       ids: [],
409       // 非单个禁用
410       single: true,
411       // 非多个禁用
412       multiple: true,
413       // 显示搜索条件
414       showSearch: true,
415       // 总条数
416       total: 0,
417       // 订单排产表格数据
418       orderSchedulingList: [],
419       // 弹出层标题
420       title: "",
421       // 是否显示弹出层
422       open: false,
423       // 查询参数
424       queryParams: {
425         pageNum: 1,
426         pageSize: 10,
2aea64 427         orderNo: null,
d9cf6b 428         engineNo: null,
J 429         productType: null,
430         model: null,
431         productionStatus: null,
432         workingHours: null,
433         currentWorkstation: null,
434         qualityStatus: null,
435         whetherOrPrint: null,
436         report10: null,
437         report20: null,
2aea64 438         combinedBoxTime: null,
J 439         finalAssemblyTime: null,
d9cf6b 440         operator: null,
2aea64 441         operateTime: null,
J 442         status: null,
443         spareField1: null,
444         spareField2: null,
445         spareField3: null,
446         spareField4: null,
447         createUser: null,
448         updateUser: null,
449         remarks: null
d9cf6b 450       },
J 451       // 表单参数
452       form: {},
453       // 表单校验
454       rules: {
2aea64 455         id: [
J 456           { required: true, message: "ID不能为空", trigger: "blur" }
457         ],
d9cf6b 458       }
J 459     };
460   },
461   created() {
462     this.getList();
463   },
464   methods: {
465     /** 查询订单排产列表 */
466     getList() {
467       this.loading = true;
468       listOrderScheduling(this.queryParams).then(response => {
469         this.orderSchedulingList = response.rows;
470         this.total = response.total;
471         this.loading = false;
472       });
473     },
474     // 取消按钮
475     cancel() {
476       this.open = false;
477       this.reset();
478     },
479     // 表单重置
480     reset() {
481       this.form = {
2aea64 482         id: null,
J 483         orderNo: null,
d9cf6b 484         engineNo: null,
J 485         productType: null,
486         model: null,
487         productionStatus: null,
488         workingHours: null,
489         currentWorkstation: null,
490         qualityStatus: null,
491         whetherOrPrint: null,
492         report10: null,
493         report20: null,
2aea64 494         combinedBoxTime: null,
J 495         finalAssemblyTime: null,
d9cf6b 496         operator: null,
2aea64 497         operateTime: null,
J 498         status: null,
499         spareField1: null,
500         spareField2: null,
501         spareField3: null,
502         spareField4: null,
503         createUser: null,
504         createTime: null,
505         updateUser: null,
506         updateTime: null,
507         remarks: null
d9cf6b 508       };
J 509       this.resetForm("form");
510     },
511     /** 搜索按钮操作 */
512     handleQuery() {
513       this.queryParams.pageNum = 1;
514       this.getList();
515     },
516     /** 重置按钮操作 */
517     resetQuery() {
518       this.resetForm("queryForm");
519       this.handleQuery();
520     },
521     // 多选框选中数据
522     handleSelectionChange(selection) {
2aea64 523       this.ids = selection.map(item => item.id)
d9cf6b 524       this.single = selection.length!==1
J 525       this.multiple = !selection.length
526     },
527     /** 新增按钮操作 */
528     handleAdd() {
529       this.reset();
530       this.open = true;
531       this.titleName = "添加订单排产";
532     },
533     /** 修改按钮操作 */
534     handleUpdate(row) {
535       this.reset();
2aea64 536       const id = row.id || this.ids
J 537       getOrderScheduling(id).then(response => {
d9cf6b 538         this.form = response.data;
J 539         this.open = true;
540         this.titleName = "修改订单排产";
541       });
542     },
543     /** 提交按钮 */
544     submitForm() {
545       this.$refs["form"].validate(valid => {
546         if (valid) {
2aea64 547           if (this.form.id != null) {
d9cf6b 548             updateOrderScheduling(this.form).then(response => {
J 549               this.$modal.msgSuccess("修改成功");
550               this.open = false;
551               this.getList();
552             });
553           } else {
554             addOrderScheduling(this.form).then(response => {
555               this.$modal.msgSuccess("新增成功");
556               this.open = false;
557               this.getList();
558             });
559           }
560         }
561       });
562     },
563     /** 删除按钮操作 */
564     handleDelete(row) {
2aea64 565       const ids = row.id || this.ids;
J 566       this.$modal.confirm('是否确认删除订单排产编号为"' + ids + '"的数据项?').then(function() {
567         return delOrderScheduling(ids);
d9cf6b 568       }).then(() => {
J 569         this.getList();
570         this.$modal.msgSuccess("删除成功");
571       }).catch(() => {});
572     },
573     /** 导出按钮操作 */
574     handleExport() {
575       this.download('bs/orderScheduling/export', {
576         ...this.queryParams
577       }, `orderScheduling_${new Date().getTime()}.xlsx`)
578     }
579   }
580 };
581 </script>