春风项目四线(合箱线、总装线)
懒羊羊
2024-01-17 5f7e70b8132d018614e8f4989d0614bd50cb7ecb
提交 | 用户 | 时间
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" />
5f7e70 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">
04cd5a 207             <template slot-scope="scope">
208               <dict-tag :options="dict.type.order_scheduling_produce_status" :value="scope.row.productionStatus"/>
209             </template>
d9cf6b 210           </el-table-column>
J 211           <el-table-column label="工时" align="center" prop="workingHours">
2aea64 212
d9cf6b 213           </el-table-column>
J 214           <el-table-column label="当前工位" align="center" prop="currentWorkstation">
2aea64 215
d9cf6b 216           </el-table-column>
J 217           <el-table-column label="质量状态" align="center" prop="qualityStatus">
2aea64 218
d9cf6b 219           </el-table-column>
J 220           <el-table-column label="是否打印" align="center" prop="whetherOrPrint">
2aea64 221
d9cf6b 222           </el-table-column>
J 223           <el-table-column label="10报工" align="center" prop="report10">
2aea64 224
d9cf6b 225           </el-table-column>
J 226           <el-table-column label="20报工" align="center" prop="report20">
227
228           </el-table-column>
2aea64 229           <el-table-column label="合箱上线" align="center" prop="combinedBoxTime">
d9cf6b 230
J 231           </el-table-column>
2aea64 232           <el-table-column label="总装下线" align="center" prop="finalAssemblyTime">
d9cf6b 233
J 234           </el-table-column>
235           <el-table-column label="操作人" align="center" prop="operator">
236
237           </el-table-column>
749044 238           <el-table-column label="操作时间" align="center" prop="operateTime" width="160">
2aea64 239
J 240           </el-table-column>
82939b 241 <!--          <el-table-column label="状态" align="center" prop="status">-->
2aea64 242
82939b 243 <!--          </el-table-column>-->
J 244 <!--          <el-table-column label="预留字段1" align="center" prop="spareField1">-->
2aea64 245
82939b 246 <!--          </el-table-column>-->
J 247 <!--          <el-table-column label="预留字段2" align="center" prop="spareField2">-->
2aea64 248
82939b 249 <!--          </el-table-column>-->
J 250 <!--          <el-table-column label="预留字段3" align="center" prop="spareField3">-->
2aea64 251
82939b 252 <!--          </el-table-column>-->
J 253 <!--          <el-table-column label="预留字段4" align="center" prop="spareField4">-->
2aea64 254
82939b 255 <!--          </el-table-column>-->
J 256 <!--          <el-table-column label="创建用户" align="center" prop="createUser">-->
2aea64 257
82939b 258 <!--          </el-table-column>-->
J 259 <!--          <el-table-column label="更改用户" align="center" prop="updateUser">-->
2aea64 260
82939b 261 <!--          </el-table-column>-->
J 262 <!--          <el-table-column label="备注" align="center" prop="remarks">-->
d9cf6b 263
82939b 264 <!--          </el-table-column>-->
d9cf6b 265           <el-table-column fixed="right" width="200" label="操作" align="center" class-name="small-padding fixed-width">
J 266             <template slot-scope="scope">
267               <el-button
268                 size="mini"
269                 type="success"
270                 plain
271                 style="width: 72px"
272                 icon="el-icon-edit"
273                 @click="handleUpdate(scope.row)"
274                 v-hasPermi="['bs:orderScheduling:edit']"
275               >修改</el-button>
276               <el-button
277                 size="mini"
278                 type="danger"
279                 plain
280                 style="width: 72px"
281                 icon="el-icon-delete"
282                 @click="handleDelete(scope.row)"
283                 v-hasPermi="['bs:orderScheduling:remove']"
284               >删除</el-button>
285             </template>
286           </el-table-column>
287         </el-table>
288     </el-card>
289
290     <pagination
291       v-show="total>0"
292       :total="total"
293       :page.sync="queryParams.pageNum"
294       :limit.sync="queryParams.pageSize"
295       @pagination="getList"
296     />
297
298     <!-- 添加或修改订单排产对话框 -->
299     <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="500px" append-to-body>
300       <span slot="title">
301         <i class="el-icon-s-order"></i>
302         {{titleName}}
303       </span>
304       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
2aea64 305         <el-form-item label="订单编号" prop="orderNo">
J 306           <el-input v-model="form.orderNo" placeholder="请输入订单编号" />
d9cf6b 307         </el-form-item>
J 308         <el-form-item label="发动机号" prop="engineNo">
309           <el-input v-model="form.engineNo" placeholder="请输入发动机号" />
310         </el-form-item>
2aea64 311         <el-form-item label="产品类型" prop="productType">
J 312           <el-select v-model="form.productType" placeholder="请选择产品类型">
313 <!--            <el-option-->
314 <!--              v-for="dict in dict.type.${dictType}"-->
315 <!--              :key="dict.value"-->
316 <!--              :label="dict.label"-->
317 <!--              :value="dict.value"-->
318 <!--            ></el-option>-->
319           </el-select>
320         </el-form-item>
d9cf6b 321         <el-form-item label="机型" prop="model">
J 322           <el-input v-model="form.model" placeholder="请输入机型" />
2aea64 323         </el-form-item>
J 324         <el-form-item label="生产状态" prop="productionStatus">
325           <el-radio-group v-model="form.productionStatus">
326 <!--            <el-radio-->
327 <!--              v-for="dict in dict.type.${dictType}"-->
328 <!--              :key="dict.value"-->
329 <!--              :label="dict.value"-->
330 <!--            >{{dict.label}}</el-radio>-->
331           </el-radio-group>
d9cf6b 332         </el-form-item>
J 333         <el-form-item label="工时" prop="workingHours">
334           <el-input v-model="form.workingHours" placeholder="请输入工时" />
335         </el-form-item>
336         <el-form-item label="当前工位" prop="currentWorkstation">
337           <el-input v-model="form.currentWorkstation" placeholder="请输入当前工位" />
2aea64 338         </el-form-item>
J 339         <el-form-item label="质量状态" prop="qualityStatus">
340           <el-radio-group v-model="form.qualityStatus">
341 <!--            <el-radio-->
342 <!--              v-for="dict in dict.type.${dictType}"-->
343 <!--              :key="dict.value"-->
344 <!--              :label="dict.value"-->
345 <!--            >{{dict.label}}</el-radio>-->
346           </el-radio-group>
d9cf6b 347         </el-form-item>
J 348         <el-form-item label="是否打印" prop="whetherOrPrint">
349           <el-input v-model="form.whetherOrPrint" placeholder="请输入是否打印" />
350         </el-form-item>
351         <el-form-item label="10报工" prop="report10">
352           <el-input v-model="form.report10" placeholder="请输入10报工" />
353         </el-form-item>
354         <el-form-item label="20报工" prop="report20">
355           <el-input v-model="form.report20" placeholder="请输入20报工" />
356         </el-form-item>
357         <el-form-item label="操作人" prop="operator">
358           <el-input v-model="form.operator" placeholder="请输入操作人" />
2aea64 359         </el-form-item>
J 360         <el-form-item label="状态" prop="status">
361           <el-radio-group v-model="form.status">
362 <!--            <el-radio-->
363 <!--              v-for="dict in dict.type.${dictType}"-->
364 <!--              :key="dict.value"-->
365 <!--              :label="dict.value"-->
366 <!--            >{{dict.label}}</el-radio>-->
367           </el-radio-group>
368         </el-form-item>
82939b 369 <!--        <el-form-item label="预留字段1" prop="spareField1">-->
J 370 <!--          <el-input v-model="form.spareField1" placeholder="请输入预留字段1" />-->
371 <!--        </el-form-item>-->
372 <!--        <el-form-item label="预留字段2" prop="spareField2">-->
373 <!--          <el-input v-model="form.spareField2" placeholder="请输入预留字段2" />-->
374 <!--        </el-form-item>-->
375 <!--        <el-form-item label="预留字段3" prop="spareField3">-->
376 <!--          <el-input v-model="form.spareField3" placeholder="请输入预留字段3" />-->
377 <!--        </el-form-item>-->
378 <!--        <el-form-item label="预留字段4" prop="spareField4">-->
379 <!--          <el-input v-model="form.spareField4" placeholder="请输入预留字段4" />-->
380 <!--        </el-form-item>-->
381 <!--        <el-form-item label="创建用户" prop="createUser">-->
382 <!--          <el-input v-model="form.createUser" placeholder="请输入创建用户" />-->
383 <!--        </el-form-item>-->
384 <!--        <el-form-item label="更改用户" prop="updateUser">-->
385 <!--          <el-input v-model="form.updateUser" placeholder="请输入更改用户" />-->
386 <!--        </el-form-item>-->
387 <!--        <el-form-item label="备注" prop="remarks">-->
388 <!--          <el-input v-model="form.remarks" placeholder="请输入备注" />-->
389 <!--        </el-form-item>-->
d9cf6b 390       </el-form>
J 391       <div slot="footer" class="dialog-footer">
392         <el-button type="primary" @click="submitForm">确 定</el-button>
393         <el-button @click="cancel">取 消</el-button>
394       </div>
395     </el-dialog>
396   </div>
397 </template>
398
399 <script>
400 import { listOrderScheduling, getOrderScheduling, delOrderScheduling, addOrderScheduling, updateOrderScheduling } from "@/api/main/bs/orderScheduling/orderScheduling";
401
402 export default {
403   name: "OrderScheduling",
04cd5a 404   dicts: ['order_scheduling_produce_status'],
d9cf6b 405   data() {
J 406     return {
407       // 遮罩层
408       loading: true,
409       titleName: "",
410       // 选中数组
411       ids: [],
412       // 非单个禁用
413       single: true,
414       // 非多个禁用
415       multiple: true,
416       // 显示搜索条件
417       showSearch: true,
418       // 总条数
419       total: 0,
420       // 订单排产表格数据
421       orderSchedulingList: [],
422       // 弹出层标题
423       title: "",
424       // 是否显示弹出层
425       open: false,
426       // 查询参数
427       queryParams: {
428         pageNum: 1,
429         pageSize: 10,
2aea64 430         orderNo: null,
d9cf6b 431         engineNo: null,
J 432         productType: null,
433         model: null,
434         productionStatus: null,
435         workingHours: null,
436         currentWorkstation: null,
437         qualityStatus: null,
438         whetherOrPrint: null,
439         report10: null,
440         report20: null,
2aea64 441         combinedBoxTime: null,
J 442         finalAssemblyTime: null,
d9cf6b 443         operator: null,
2aea64 444         operateTime: null,
J 445         status: null,
446         spareField1: null,
447         spareField2: null,
448         spareField3: null,
449         spareField4: null,
450         createUser: null,
451         updateUser: null,
452         remarks: null
d9cf6b 453       },
J 454       // 表单参数
455       form: {},
456       // 表单校验
457       rules: {
2aea64 458         id: [
J 459           { required: true, message: "ID不能为空", trigger: "blur" }
460         ],
d9cf6b 461       }
J 462     };
463   },
464   created() {
5f7e70 465     let workOrderNo = this.$route.query.workOrderNo;
466     this.queryParams.orderNo = workOrderNo
d9cf6b 467     this.getList();
J 468   },
469   methods: {
470     /** 查询订单排产列表 */
471     getList() {
472       this.loading = true;
473       listOrderScheduling(this.queryParams).then(response => {
474         this.orderSchedulingList = response.rows;
475         this.total = response.total;
476         this.loading = false;
477       });
478     },
479     // 取消按钮
480     cancel() {
481       this.open = false;
482       this.reset();
483     },
484     // 表单重置
485     reset() {
486       this.form = {
2aea64 487         id: null,
J 488         orderNo: null,
d9cf6b 489         engineNo: null,
J 490         productType: null,
491         model: null,
492         productionStatus: null,
493         workingHours: null,
494         currentWorkstation: null,
495         qualityStatus: null,
496         whetherOrPrint: null,
497         report10: null,
498         report20: null,
2aea64 499         combinedBoxTime: null,
J 500         finalAssemblyTime: null,
d9cf6b 501         operator: null,
2aea64 502         operateTime: null,
J 503         status: null,
504         spareField1: null,
505         spareField2: null,
506         spareField3: null,
507         spareField4: null,
508         createUser: null,
509         createTime: null,
510         updateUser: null,
511         updateTime: null,
512         remarks: null
d9cf6b 513       };
J 514       this.resetForm("form");
515     },
516     /** 搜索按钮操作 */
517     handleQuery() {
518       this.queryParams.pageNum = 1;
519       this.getList();
520     },
521     /** 重置按钮操作 */
522     resetQuery() {
523       this.resetForm("queryForm");
524       this.handleQuery();
525     },
526     // 多选框选中数据
527     handleSelectionChange(selection) {
2aea64 528       this.ids = selection.map(item => item.id)
d9cf6b 529       this.single = selection.length!==1
J 530       this.multiple = !selection.length
531     },
532     /** 新增按钮操作 */
533     handleAdd() {
534       this.reset();
535       this.open = true;
536       this.titleName = "添加订单排产";
537     },
538     /** 修改按钮操作 */
539     handleUpdate(row) {
540       this.reset();
2aea64 541       const id = row.id || this.ids
J 542       getOrderScheduling(id).then(response => {
d9cf6b 543         this.form = response.data;
J 544         this.open = true;
545         this.titleName = "修改订单排产";
546       });
547     },
548     /** 提交按钮 */
549     submitForm() {
550       this.$refs["form"].validate(valid => {
551         if (valid) {
2aea64 552           if (this.form.id != null) {
d9cf6b 553             updateOrderScheduling(this.form).then(response => {
J 554               this.$modal.msgSuccess("修改成功");
555               this.open = false;
556               this.getList();
557             });
558           } else {
559             addOrderScheduling(this.form).then(response => {
560               this.$modal.msgSuccess("新增成功");
561               this.open = false;
562               this.getList();
563             });
564           }
565         }
566       });
567     },
568     /** 删除按钮操作 */
569     handleDelete(row) {
2aea64 570       const ids = row.id || this.ids;
J 571       this.$modal.confirm('是否确认删除订单排产编号为"' + ids + '"的数据项?').then(function() {
572         return delOrderScheduling(ids);
d9cf6b 573       }).then(() => {
J 574         this.getList();
575         this.$modal.msgSuccess("删除成功");
576       }).catch(() => {});
577     },
578     /** 导出按钮操作 */
579     handleExport() {
580       this.download('bs/orderScheduling/export', {
581         ...this.queryParams
582       }, `orderScheduling_${new Date().getTime()}.xlsx`)
583     }
584   }
585 };
586 </script>