春风项目四线(合箱线、总装线)
cl
2024-01-16 749044e9cd94ba864017e0eefb17469cd1f6770d
提交 | 用户 | 时间
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
82939b 81 <!--          <el-form-item label="预留字段1" prop="spareField1">-->
J 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="请输入备注"-->
133 <!--              clearable-->
134 <!--              @keyup.enter.native="handleQuery"-->
135 <!--            />-->
136 <!--          </el-form-item>-->
d9cf6b 137           <el-form-item style="float: right">
J 138             <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
82939b 139             <el-button type="warning" icon="el-icon-copy-document" size="mini" @click="advancedQuery">高级查询</el-button>
d9cf6b 140             <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
J 141           </el-form-item>
142         </el-form>
143     </el-card>
144
145     <el-card style="margin-top: 10px" class="box-card">
146         <el-row :gutter="10" class="mb8">
147           <el-col :span="1.5">
148             <el-button
149               type="primary"
150               plain
151               icon="el-icon-plus"
152               size="mini"
153               @click="handleAdd"
154               v-hasPermi="['bs:orderScheduling:add']"
155             >新增</el-button>
156           </el-col>
157           <el-col :span="1.5">
158             <el-button
159               type="success"
160               plain
161               icon="el-icon-edit"
162               size="mini"
163               :disabled="single"
164               @click="handleUpdate"
165               v-hasPermi="['bs:orderScheduling:edit']"
166             >修改</el-button>
167           </el-col>
168           <el-col :span="1.5">
169             <el-button
170               type="danger"
171               plain
172               icon="el-icon-delete"
173               size="mini"
174               :disabled="multiple"
175               @click="handleDelete"
176               v-hasPermi="['bs:orderScheduling:remove']"
177             >删除</el-button>
178           </el-col>
179           <el-col :span="1.5">
180             <el-button
181               type="warning"
182               plain
183               icon="el-icon-download"
184               size="mini"
185               @click="handleExport"
186               v-hasPermi="['bs:orderScheduling:export']"
187             >导出</el-button>
188           </el-col>
189           <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
190         </el-row>
191
192         <el-table border v-loading="loading" :data="orderSchedulingList" @selection-change="handleSelectionChange">
193           <el-table-column type="selection" width="55" align="center" />
749044 194           <el-table-column label="订单编号" align="center" prop="orderNo" width="130">
2aea64 195
d9cf6b 196           </el-table-column>
749044 197           <el-table-column label="发动机号" align="center" prop="engineNo" width="150">
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>
749044 236           <el-table-column label="操作时间" align="center" prop="operateTime" width="160">
2aea64 237
J 238           </el-table-column>
82939b 239 <!--          <el-table-column label="状态" align="center" prop="status">-->
2aea64 240
82939b 241 <!--          </el-table-column>-->
J 242 <!--          <el-table-column label="预留字段1" align="center" prop="spareField1">-->
2aea64 243
82939b 244 <!--          </el-table-column>-->
J 245 <!--          <el-table-column label="预留字段2" align="center" prop="spareField2">-->
2aea64 246
82939b 247 <!--          </el-table-column>-->
J 248 <!--          <el-table-column label="预留字段3" align="center" prop="spareField3">-->
2aea64 249
82939b 250 <!--          </el-table-column>-->
J 251 <!--          <el-table-column label="预留字段4" align="center" prop="spareField4">-->
2aea64 252
82939b 253 <!--          </el-table-column>-->
J 254 <!--          <el-table-column label="创建用户" align="center" prop="createUser">-->
2aea64 255
82939b 256 <!--          </el-table-column>-->
J 257 <!--          <el-table-column label="更改用户" align="center" prop="updateUser">-->
2aea64 258
82939b 259 <!--          </el-table-column>-->
J 260 <!--          <el-table-column label="备注" align="center" prop="remarks">-->
d9cf6b 261
82939b 262 <!--          </el-table-column>-->
d9cf6b 263           <el-table-column fixed="right" width="200" label="操作" align="center" class-name="small-padding fixed-width">
J 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>
82939b 367 <!--        <el-form-item label="预留字段1" prop="spareField1">-->
J 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="请输入备注" />-->
387 <!--        </el-form-item>-->
d9cf6b 388       </el-form>
J 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>