春风项目四线(合箱线、总装线)
懒羊羊
2024-01-17 5f7e70b8132d018614e8f4989d0614bd50cb7ecb
提交 | 用户 | 时间
04cd5a 1 <template>
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">
5       <el-form-item label-width="100" label="生产通知单" prop="productName">
6         <el-input v-model="queryParams.productionNotice" placeholder="请输入生产通知单" clearable @keyup.enter.native="handleQuery"/>
7       </el-form-item>
8       <el-form-item label-width="80" label="生产订单" prop="workOrderNo">
9         <el-input v-model="queryParams.workOrderNo" placeholder="请输入生产订单" clearable @keyup.enter.native="handleQuery"/>
10       </el-form-item>
11 <!--      <el-form-item label="产品名称" prop="productName">-->
12 <!--        <el-input v-model="queryParams.productName" placeholder="请输入产品名称" clearable @keyup.enter.native="handleQuery"/>-->
13 <!--      </el-form-item>-->
14       <el-form-item label="工单状态" prop="orderStatus">
15         <el-select v-model="queryParams.orderStatus" placeholder="请选择工单状态" clearable>
16           <el-option
17             v-for="dict in dict.type.order_state"
18             :key="dict.value"
19             :label="dict.label"
20             :value="dict.value"/>
21         </el-select>
22       </el-form-item>
23       <el-form-item style="float: right">
24         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
25         <el-button type="warning" icon="el-icon-copy-document" size="mini" @click="advancedQuery">高级查询</el-button>
26         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
27       </el-form-item>
28     </el-form>
29     <el-form :model="queryParams" ref="queryParams" size="small" :inline="true" v-show="advancedShowSearch" label-width="68px">
30       <el-form-item style="margin-left: 14px" label="产品编号" prop="productCode">
31         <el-input v-model="queryParams.productCode" placeholder="请输入产品编号" clearable @keyup.enter.native="handleQuery"/>
32       </el-form-item>
33       <el-form-item label="订单编号" prop="salesOrderCode">
34         <el-input v-model="queryParams.salesOrderCode" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery"/>
35       </el-form-item>
36       <el-form-item label="车间编号" prop="workshopCode">
37         <el-input v-model="queryParams.workshopCode" placeholder="请输入车间编号" clearable @keyup.enter.native="handleQuery"/>
38       </el-form-item>
39       <el-form-item label="产线编号" prop="lineCode">
40         <el-input v-model="queryParams.lineCode" placeholder="请输入产线编号" clearable @keyup.enter.native="handleQuery"/>
41       </el-form-item>
42       <el-form-item style="margin-left: 7px" label-width="80" label="产品BOM" prop="bomCode">
43         <el-input v-model="queryParams.bomCode" placeholder="请输入产品BOM" clearable @keyup.enter.native="handleQuery"/>
44       </el-form-item>
45       <el-form-item label="工艺流程" prop="routeCode">
46         <el-input v-model="queryParams.routeCode" placeholder="请输入工艺流程" clearable @keyup.enter.native="handleQuery"/>
47       </el-form-item>
48       <el-form-item label="工艺配方" prop="recipeCode">
49         <el-input v-model="queryParams.recipeCode" placeholder="请输入工艺配方" clearable @keyup.enter.native="handleQuery"/>
50       </el-form-item>
51     </el-form>
52     </el-card>
53
54     <el-card style="margin-top: 10px" class="box-card">
55     <el-row :gutter="10" class="mb8">
56
57       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
58     </el-row>
59
60       <el-table border v-loading="loading" :data="productionOrdeList" @selection-change="handleSelectionChange">
61         <el-table-column type="selection" width="55" align="center" />
62         <el-table-column label="生产通知单号" width="160" align="center" prop="productionNotice">
63         </el-table-column>
5f7e70 64         <el-table-column label="生产订单" width="160" align="center" prop="workOrderNo">
04cd5a 65         </el-table-column>
66         <el-table-column label="机型" width="160" align="center" prop="typeZ">
67         </el-table-column>
68         <el-table-column label="产品编号" width="150" align="center" prop="productCode">
69         </el-table-column>
70         <el-table-column label="工单状态" align="center" prop="orderStatus">
71           <template slot-scope="scope">
72             <dict-tag :options="dict.type.order_state" :value="scope.row.orderStatus"/>
73           </template>
74         </el-table-column>
75         <el-table-column label="需求数量" align="center" prop="planQty">
76         </el-table-column>
77         <el-table-column label="工作中" align="center">
78         </el-table-column>
79         <el-table-column label="已完成" width="160" align="center" prop="actualQty">
80         </el-table-column>
81         <el-table-column label="已报废" width="160" align="center" prop="scrapQty">
82         </el-table-column>
83         <el-table-column label="完成率" width="160" align="center">
84         </el-table-column>
85         <el-table-column label="合格率" width="160" align="center">
86         </el-table-column>
87         <el-table-column label="保存时间" width="160" align="center">
88         </el-table-column>
89       </el-table>
90     </el-card>
91
92
93     <pagination
94       v-show="total>0"
95       :total="total"
96       :page.sync="queryParams.pageNum"
97       :limit.sync="queryParams.pageSize"
98       @pagination="getList"
99     />
100
101     <!-- 添加或修改生产工单对话框 -->
102     <el-dialog v-dialogpop-up :title="title" :visible.sync="open" width="1000px" append-to-body>
103        <span slot="title">
104         <i class="el-icon-s-order"></i>
105         {{titleName}}
106       </span>
107       <el-form ref="form" inline :model="form" :rules="rules" label-width="80px">
108         <el-form-item label="工单号" prop="workOrderNo">
109           <el-input v-model="form.workOrderNo" placeholder="请输入生产订单" />
110         </el-form-item>
111         <el-form-item label="订单编号" prop="salesOrderCode">
112           <el-input v-model="form.salesOrderCode" placeholder="请输入订单编号" />
113         </el-form-item>
114         <el-form-item label="产品编号" prop="productCode">
115           <el-input v-model="form.productCode" placeholder="请选择产品" >
116             <el-button slot="append" @click="handleSelectProduct" icon="el-icon-search"></el-button>
117           </el-input>
118           <ItemSelect ref="itemSelect" @onSelected="onItemSelected" > </ItemSelect>
119         </el-form-item>
120         <el-form-item label="产品名称" prop="productName">
121           <el-input v-model="form.productName" disabled placeholder="请输入产品名称" />
122         </el-form-item>
123         <el-form-item label="种类" prop="productName">
124           <el-input v-model="form.typeZ" disabled placeholder="请输入种类" />
125         </el-form-item>
126         <el-form-item label="实际数量" prop="actualQty">
127           <el-input v-model="form.actualQty"  placeholder="请输入实际数量" />
128         </el-form-item>
129         <el-form-item label="车间编号" prop="workshopCode">
130           <el-select style="width: 93%" @change="handleSelectChange(form.workshopCode)" v-model="form.workshopCode" placeholder="请选择车间编号">
131             <el-option
132               v-for="item in options"
133               :key="item.workshopCode"
134               :label="item.workshopName"
135               :value="item.workshopCode">
136             </el-option>
137           </el-select>
138         </el-form-item>
139         <el-form-item style="margin-left: -15px" label="产线编号" prop="lineCode">
140           <el-select style="width: 93%" v-model="form.lineCode" placeholder="请选择产线编号">
141             <el-option
142               v-for="item in lineOptions"
143               :key="item.lineCode"
144               :label="item.lineName"
145               :value="item.lineCode">
146             </el-option>
147           </el-select>
148         </el-form-item>
149         <el-form-item label="工艺流程" prop="routeCode">
150           <el-input v-model="form.routeCode" disabled placeholder="请输入工艺流程" />
151         </el-form-item>
152         <el-form-item label="产品BOM" prop="bomCode">
153           <el-input v-model="form.bomCode" disabled placeholder="请输入产品BOM" />
154         </el-form-item>
155         <el-form-item label="工艺配方" prop="recipeCode">
156           <el-input v-model="form.recipeCode" placeholder="请输入工艺配方" />
157         </el-form-item>
158         <el-form-item label="计划数量" prop="planQty">
159           <el-input v-model="form.planQty" placeholder="请输入计划数量" />
160         </el-form-item>
161         <el-form-item label="需求日期" prop="demandDate">
162           <el-date-picker style="width: 88%" clearable
163             v-model="form.demandDate"
164             type="date"
165             value-format="yyyy-MM-dd"
166             placeholder="请选择需求日期">
167           </el-date-picker>
168         </el-form-item>
169         <el-form-item style="margin-left: -30px" label="备注" prop="remarks">
170           <el-input v-model="form.remarks" placeholder="请输入备注" />
171         </el-form-item>
172         <el-row>
173           <el-col :span="12">
174             <el-form-item style="margin-left: 10px" label-width="120" label="计划开始时间" prop="planStartTime">
175               <el-date-picker clearable
176                 v-model="form.planStartTime"
177                 type="date"
178                 value-format="yyyy-MM-dd"
179                 placeholder="请选择计划开始时间">
180               </el-date-picker>
181             </el-form-item>
182           </el-col>
183           <el-col :span="12">
184             <el-form-item style="margin-left: 76px" label-width="120" label="计划结束时间" prop="planEndTime">
185               <el-date-picker clearable
186                 v-model="form.planEndTime"
187                 type="date"
188                 value-format="yyyy-MM-dd"
189                 placeholder="请选择计划结束时间">
190               </el-date-picker>
191             </el-form-item>
192           </el-col>
193
194         </el-row>
195       </el-form>
196       <div slot="footer" class="dialog-footer">
197         <el-button type="primary" @click="submitForm">确 定</el-button>
198         <el-button @click="cancel">取 消</el-button>
199       </div>
200     </el-dialog>
201
202     <el-dialog v-dialogpop-up :title="title" :visible.sync="Createopen" width="400px" append-to-body>
203        <span slot="title">
204         <i class="el-icon-s-order"></i>
205         {{titleName}}
206       </span>
207       <el-form ref="form" inline  :model="form" :rules="CreateRules" label-width="80px">
208         <el-form-item   label="种类" prop="typeZ">
209           <el-input disabled v-model="form.typeZ"  placeholder="请输入种类" />
210         </el-form-item>
211         <el-form-item  label="日期" prop="dateTime">
212           <el-date-picker clearable
213                           v-model="form.dateTime"
214                           type="date"
215                           value-format="yyyy-MM-dd"
216                           placeholder="请选择日期" @input="handleCodeChange">
217           </el-date-picker>
218         </el-form-item>
219         <el-form-item class="hidden-form-item" label="日期规则" prop="dateTimeRule">
220           <el-input v-model="form.dateTimeRule"/>
221         </el-form-item>
222         <el-form-item   label="起始编号" prop="startCode">
223           <el-input type="number"   :maxlength="3"  :pattern="'[0-9]{3}'" v-model="form.startCode"  placeholder="请输入起始编号" @input="handleCodeChange"/>
224         </el-form-item>
225         <el-form-item   label="起止编号" prop="startEndCode">
226           <el-input disabled v-model="form.startEndCode"/>
227         </el-form-item>
228       </el-form>
229       <div slot="footer" class="dialog-footer">
230         <el-button type="primary" @click="submitFormForBoxCode">确 定</el-button>
231         <el-button @click="cancel">取 消</el-button>
232       </div>
233     </el-dialog>
234
235   </div>
236 </template>
237
238 <script>
239 import { listLineInfo } from "@/api/main/bs/lineInfo/lineInfo";
240 import { listWorkshop } from "@/api/main/bs/workshop/workshop";
241 import { listProductBom } from "@/api/main/bs/ProductBom/ProductBom";
242 import { listTechnologyRoute} from "@/api/main/bs/technologyRoute/technologyRoute";
243 import ItemSelect  from "@/components/itemSelect/single.vue";
244 import {  addOrderSchedulingForBoxCode,getProductionNotice, upDownMove, listProductionOrde, getProductionOrde, delProductionOrde, addProductionOrde, updateProductionOrde } from "@/api/main/om/productionOrde/productionOrde";
245 import {
246   listOrderScheduling,
247   getOrderScheduling,
248   delOrderScheduling,
249   addOrderScheduling,
250   updateOrderScheduling,
251   generateNumbers
252 } from "@/api/main/bs/orderScheduling/orderScheduling";
253 import {listMaterial} from "@/api/main/bs/material/material";
254 import {listModelNumber} from "@/api/main/bs/modelNumber/modelNumber";
255
256 export default {
257   name: "ProductionOrde",
258   dicts: ['order_state','year','month','day'],
259   components: {
260     ItemSelect ,
261   },
262   data() {
263     return {
264       titleName: '',
265       options: [],
266       lineOptions: [],
267       outputArray: [],
268       showFlag:false,
269       advancedShowSearch: false,
270       workOrder: {
271         status: 'ss'
272       },
273       // 遮罩层
274       loading: true,
275       // 选中数组
276       ids: [],
277       // 非单个禁用
278       single: true,
279       // 非多个禁用
280       multiple: true,
281       move: true,
282       selectedRowIndex: -1, // 存储选中行的索引
283       // 显示搜索条件
284       showSearch: true,
285       // 总条数
286       total: 0,
287       // 生产工单表格数据
288       productionOrdeList: [],
289       // 弹出层标题
290       title: "",
291       // 是否显示弹出层
292       open: false,
293       Createopen: false,
294       // 查询参数
295       queryParams: {
296         pageNum: 1,
297         pageSize: 10,
298         workOrderNo: null,
299         salesOrderCode: null,
300         productCode: null,
301         productName: null,
302         workshopCode: null,
303         lineCode: null,
304         routeCode: null,
305         bomCode: null,
306         recipeCode: null,
307         orderStatus: "2",
308         custom: null,
309         marketAreaCode: null,
310         softwareVersionCode: null,
311         productCompanyCode: null,
312         frontEndId: 0,
313         idNums: null,
314         typeZ: null,
315         flag: null,
316         adds:null,
317         productionNotice: null,
318       },
319       materialQueryParams: {
320         pageNum: 1,
321         pageSize: 10,
322         materialCode: null,
323       },
324
325       // 表单参数
326       form: {},
327       updateStatusParameter: {
328         id: null,
329         orderStatus: null
330       },
331       // 表单校验
332       rules: {
333         id: [
334           { required: true, message: "ID不能为空", trigger: "blur" }
335         ],
336       },
337       CreateRules: {
338         day: [
339           { required: true, message: "不能为空", trigger: "blur" }
340         ],
341         month: [
342           { required: true, message: "不能为空", trigger: "blur" }
343         ],
344         year: [
345           { required: true, message: "不能为空", trigger: "blur" }
346         ],
347         dateTime: [
348           { required: true, message: "不能为空", trigger: "blur" }
349         ],
350         startCode: [
351           { required: true, message: "不能为空", trigger: "blur" }
352         ],
353       },
354       change: {
355         day: '',
356         month: '',
357         year: '',
358       },
359       markNo: '',
360     };
361   },
362   created() {
363     this.getList();
364     this.initWorkshop();
365   },
366   methods: {
367     //日期或开始编号输入时
368     handleCodeChange(data){
369       let dateTime = this.form.dateTime;
370       let planQty = this.form.planQty;
371       let startCode = this.form.startCode
372       if(dateTime !== null && dateTime !== undefined
373         && startCode !== null && startCode !== undefined) {
374         let dateTimes = dateTime.split("-");
375         let year = dateTimes[0];
376         let month = dateTimes[1];
377         let day = dateTimes[2];
378         let dictYear = this.dict.type.year;
379         let dictMonth = this.dict.type.month;
380         let startCode = this.form.startCode
381         let dateTimeRule = "";
382
383         //年
384         for (let i = 0; i < dictYear.length; i++) {
385           if (year === dictYear[i].label) {
386             dateTimeRule = dictYear[i].value
387             // this.form.startEndCode = startEndCode;
388           }
389         }
390         //月
391         for (let i = 0; i < dictMonth.length; i++) {
392           if (month === dictMonth[i].label) {
393             dateTimeRule = dateTimeRule + dictMonth[i].value;
394           }
395         }
396         //日
397         dateTimeRule = dateTimeRule + day;
398         dateTimeRule = dateTimeRule + this.markNo;
399         this.form.dateTimeRule = dateTimeRule;
400         //赋值起始编码
401         this.form.startEndCode = dateTimeRule +  startCode + "----" + dateTimeRule + String(parseInt(startCode) + parseInt(planQty)-1).padStart(3, '0') ;
402       }
403     },
404
405     getProductionNotice(){
406       getProductionNotice(this.queryParams).then(response => {
407         this.$modal.msgSuccess("接收成功");
408         this.queryParams = {}
409         this.getList();
410       });
411     },
412     //数组生成
413     changeDay(day){
414       this.change.day = day;
415       let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty;
416       this.form.adds = adds
417     },
418     changeMonth(day){
419       this.change.month = day;
420       let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty;
421       this.form.adds = adds
422     },
423     changeYear(day){
424       this.change.year = day;
425       let adds =this.form.typeZ+this.change.year+this.change.month+this.change.day+this.form.actualQty;
426       this.form.adds = adds
427     },
428     moveUp(row, val){
429       console.log(val)
430       const ids = row.id || this.ids
431       let str = JSON.stringify(ids);
432       let num = BigInt(str.replace(/[\[\]]/g, ''));
433       this.queryParams.frontEndId = num
434       this.queryParams.idNums = ids
435       this.queryParams.flag = val
436       upDownMove(this.queryParams).then(response => {
437         this.$modal.msgSuccess("移动成功");
438         this.getList();
439       });
440     },
441     initWorkshop(){
442       listWorkshop(this.queryParams).then(response => {
443         this.options = response.rows;
444       });
445     },
446     // 在这里编写处理选中事件的逻辑
447
448
449     //物料选择弹出框
450     onItemSelected(obj){
451       if(obj !== undefined && obj !== null){
452         let productCode = obj.materialCode;
453         this.form.productCode = productCode;
454         this.form.productName = obj.materialName;
455         this.form.typeZ = obj.typeZ;
456         this.typeL = obj.typeZ;
457         this.queryParams.productCode = productCode;
458         this.queryParams.typeZ = typeZ
459         listTechnologyRoute(this.queryParams).then(response => {
460           this.form.routeCode = response.rows[0].routeCode;
461         });
462         listProductBom(this.queryParams).then(response => {
463           this.form.bomCode = response.rows[0].bomCode;
464         });
465       }
466     },
467     handleSelectProduct(){
468       this.$refs.itemSelect.showFlag = true;
469     },
470     advancedQuery(){
471       this.advancedShowSearch = (this.advancedShowSearch) ? this.advancedShowSearch = false : this.advancedShowSearch = true;
472     },
473     handleCommand(status,id) {
474       console.log(status)
475       this.updateStatusParameter.id = id;
476       this.updateStatusParameter.orderStatus = status;
477       updateProductionOrde(this.updateStatusParameter).then(response => {
478         this.$modal.msgSuccess("修改成功");
479         this.open = false;
480         this.getList();
481       });
482     },
483     /** 查询生产工单列表 */
484     getList() {
485       this.loading = true;
486       listProductionOrde(this.queryParams).then(response => {
487         this.productionOrdeList = response.rows;
488         this.total = response.total;
489         this.loading = false;
490       });
491     },
492     // 取消按钮
493     cancel() {
494       this.open = false;
495       this.Createopen = false;
496       this.reset();
497     },
498     // 表单重置
499     reset() {
500       this.form = {
501         id: null,
502         workOrderNo: null,
503         salesOrderCode: null,
504         productCode: null,
505         productName: null,
506         workshopCode: null,
507         lineCode: null,
508         routeCode: null,
509         bomCode: null,
510         recipeCode: null,
511         planQty: null,
512         actualQty: null,
513         badQty: null,
514         scrapQty: null,
515         repairQty: null,
516         actualOnlineQty: null,
517         onlineCompletionMark: null,
518         demandDate: null,
519         planStartTime: null,
520         planEndTime: null,
521         actualStartTime: null,
522         actualEndTime: null,
523         serialNumber: null,
524         orderStatus: null,
525         createTime: null,
526         updateTime: null,
527         createUser: null,
528         updateUser: null,
529         remarks: null,
530         streamNumber: null,
531         custom: null,
532         marketAreaCode: null,
533         softwareVersionCode: null,
534         productCompanyCode: null,
535         spareField1: null,
536         spareField2: null,
537         spareField3: null,
538         typeZ: null,
539         spareField4: null,
540         adds:null
541       };
542       this.resetForm("form");
543     },
544     /** 搜索按钮操作 */
545     handleQuery() {
546       this.queryParams.pageNum = 1;
547       this.getList();
548     },
549     /** 重置按钮操作 */
550     resetQuery() {
551       this.resetForm("queryForm");
552       this.handleQuery();
553     },
554     // 多选框选中数据
555     handleSelectionChange(selection) {
556       this.ids = selection.map(item => item.id)
557       this.move = selection.length!==1
558       if(!selection.length){
559         this.single = true
560         this.multiple = true
561       }else {
562         if(selection[0].orderStatus === '1' && selection.length === 1){
563           this.single = false
564           this.multiple = false
565         }
566       }
567
568     },
569     /** 新增按钮操作 */
570     handleAdd() {
571       this.initWorkshop();
572       this.reset();
573       this.open = true;
574       this.titleName = "添加生产订单";
575     },
576     /** 同步按钮操作 */
577     CreatehandleUpdate(Row) {
578       this.initWorkshop();
579       this.reset();
580       const id = Row.id || this.ids
581       getProductionOrde(id).then(response => {
582         console.log(response.data)
583         console.log(response.data.productCode)
584         this.materialQueryParams.materialCode = response.data.productCode;
585         listMaterial(this.materialQueryParams).then(response => {
586           this.markNo = response.rows[0].mark
587         });
588         this.form = response.data;
589         this.Createopen = true;
590         this.titleName = "生成箱体条码";
591         // return Array.from({ length: parseInt(this.actualQty) }, (_, index) => index + 1);
592       });
593     },
594     /** 修改按钮操作 */
595     handleUpdate(row) {
596       this.initWorkshop();
597       this.reset();
598       const id = row.id || this.ids
599       getProductionOrde(id).then(response => {
600         console.log(response.data)
601         this.form = response.data;
602         this.open = true;
603         this.titleName = "修改生产订单";
604       });
605     },
606     /** 提交按钮 */
607     submitForm() {
608       this.$refs["form"].validate(valid => {
609         if (valid) {
610           if (this.form.id != null) {
611             updateProductionOrde(this.form).then(response => {
612               this.$modal.msgSuccess("修改成功");
613               this.open = false;
614               this.getList();
615             });
616           } else {
617             addProductionOrde(this.form).then(response => {
618               this.$modal.msgSuccess("新增成功");
619               this.open = false;
620               this.getList();
621             });
622           }
623         }
624       });
625     },
626
627     /** 生成箱体条码提交按钮 */
628     submitFormForBoxCode() {
629       let startCode = parseInt(this.form.startCode);
630       let queryParams = {
631         model: this.form.typeZ,
632         modelDate: this.form.dateTimeRule,
633       }
634       listModelNumber(queryParams).then(response => {
635         if(response.rows.length === 0){
636           this.saveBoxCode()
637         }else {
638           let maxNumValue = response.rows[0].maxnumValue;
639           if(startCode<maxNumValue){
640             this.$message.error('新建的不能比查询出的小');
641             return;
642           }else {
643             this.saveBoxCode()
644           }
645         }
646       });
647     },
648
649     saveBoxCode(){
650       this.$refs["form"].validate(valid => {
651         if (valid) {
652           if (this.form.id != null) {
653             addOrderSchedulingForBoxCode(this.form).then(response => {
654               this.$modal.msgSuccess("保存成功");
655               this.Createopen = false;
656               this.getList();
657             });
658           }
659         }
660       });
661     },
662
663     /** 删除按钮操作 */
664     handleDelete(row) {
665       const ids = row.id || this.ids;
666       this.$modal.confirm('是否确认删除生产订单编号为"' + ids + '"的数据项?').then(function() {
667         return delProductionOrde(ids);
668       }).then(() => {
669         this.getList();
670         this.$modal.msgSuccess("删除成功");
671       }).catch(() => {});
672     },
673     /** 导出按钮操作 */
674     handleExport() {
675       this.download('om/productionOrde/export', {
676         ...this.queryParams
677       }, `productionOrde_${new Date().getTime()}.xlsx`)
678     },
679
680   }
681 };
682 </script>
683 <style lang="scss" scoped>
684 .hidden-form-item {
685   display: none;
686 }
687 </style>