1
2
3
4
5
6
7
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :xl="6" :lg="7" :md="8" :sm="24">
8
9
10
11
12
<a-form-item label="库区">
<a-form-model-item prop="zoneOptions">
<j-multi-select-tag
v-model="queryParam.zoneCode"
:options="zoneOptions"
13
placeholder="请选择库区">
14
15
16
17
18
</j-multi-select-tag>
</a-form-model-item>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
19
20
21
22
23
<a-form-item label="任务ID">
<a-input placeholder="请输入任务ID" v-model="queryParam.id"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
24
25
26
27
28
<a-form-item label="任务类型">
<j-dict-select-tag placeholder="请选择任务类型" v-model="queryParam.taskType" dictCode="task_type"/>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
29
30
<a-form-item label="容器编码">
<a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input>
31
32
</a-form-item>
</a-col>
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="起始库位">
<a-input placeholder="请输入起始库位" v-model="queryParam.fromLocationCode"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="目标库位">
<a-input placeholder="请输入目标库位" v-model="queryParam.toLocationCode"></a-input>
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="任务状态">
<j-dict-select-tag placeholder="请选择任务状态" v-model="queryParam.status" dictCode="task_header_status"/>
</a-form-item>
</a-col>
肖超群
authored
3 months ago
48
49
50
51
52
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="是否异常">
<j-dict-select-tag placeholder="请选择是否异常" v-model="queryParam.exceptionState" dictCode="error_status"/>
</a-form-item>
</a-col>
53
<template v-if="toggleSearchStatus">
54
<a-col :xl="6" :lg="7" :md="8" :sm="24">
55
<a-form-item label="目标出入口">
56
<a-input placeholder="请输入目标出入口" v-model="queryParam.toPortCode"></a-input>
57
58
</a-form-item>
</a-col>
肖超群
authored
about a year ago
59
60
61
62
63
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<a-form-item label="入库单ID">
<a-input placeholder="请输入入库单ID" v-model="queryParam.receiptId"></a-input>
</a-form-item>
</a-col>
64
<a-col :xl="12" :lg="14" :md="16" :sm="24">
65
<a-form-item label="创建日期">
曾湘平
authored
about a year ago
66
<j-date :show-date="true" date-format="YYYY-MM-DD" placeholder="请选择开始时间"
67
class="query-group-cust" v-model="queryParam.createTime_begin"></j-date>
68
<span class="query-group-split-cust"></span>
曾湘平
authored
about a year ago
69
<j-date :show-date="true" date-format="YYYY-MM-DD" placeholder="请选择结束时间"
70
class="query-group-cust" v-model="queryParam.createTime_end"></j-date>
71
72
73
74
75
</a-form-item>
</a-col>
</template>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
76
<a-button id="search" type="primary" @click="searchQuery" icon="search">查询</a-button>
77
78
79
80
81
82
83
84
85
86
87
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
<a @click="handleToggleSearch" style="margin-left: 8px">
{{ toggleSearchStatus ? '收起' : '展开' }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!-- 查询区域-END -->
88
89
<!-- 操作按钮区域 -->
90
<div class="table-operator">
肖超群
authored
about a year ago
91
92
<a-button v-has="'taskHeader:emptyIn'" @click="createEmptyIn()" type="primary">空托入库</a-button>
<a-button v-has="'taskHeader:manyEmptyIn'" @click="createManyEmptyIn()" type="primary">空托组入库</a-button>
93
<a-button v-has="'taskHeader:quickReceipt'" @click="quickReceipt()" type="primary">快速入库</a-button>
肖超群
authored
about a month ago
94
<a-button v-has="'taskHeader:quickReceipt'" @click="stageingReceipt()" type="primary">暂存区入库</a-button>
95
96
<a-button v-has="'taskHeader:callReceiptBox'" @click="callReceiptBox()" type="primary" >呼叫入库有货托盘</a-button>
<a-button v-has="'taskHeader:callReceiptBox'" @click="callReceiptEmptyBox()" type="primary" >呼叫入库空托盘</a-button>
97
<j-super-query :fieldList="superFieldList" v-has="'taskHeader:superQuery'" @handleSuperQuery="handleSuperQuery"/>
肖超群
authored
about a year ago
98
<a-button v-has="'taskHeader:export'" @click="handleExportXls('任务表')" type="primary" icon="download">导出</a-button>
99
</div>
100
101
102
<!-- table区域-begin -->
<div>
103
104
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a-->
105
<!-- style="font-weight: 600">{{ selectedRowKeys.length }}</a> 项-->
106
107
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
<!-- </div>-->
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<a-table
ref="table"
size="middle"
bordered
rowKey="id"
class="j-table-force-nowrap"
:scroll="{x:true}"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}"
:customRow="clickThenSelect"
122
:rowClassName="rowClassName"
123
124
@change="handleTableChange">
125
126
127
128
129
130
<span slot="status_dictText" slot-scope="status_dictText">
<a-tag :key="status_dictText" :color="getStatusColor(status_dictText)">
{{ status_dictText }}
</a-tag>
</span>
131
132
133
134
135
136
137
<span slot="taskType_dictText" slot-scope="taskType_dictText">
<a-tag :key="taskType_dictText" :color="getStatusColor(taskType_dictText)">
{{ taskType_dictText }}
</a-tag>
</span>
138
139
140
141
142
143
<span slot="zoneCode" slot-scope="zoneCode">
<a-tag :key="zoneCode" color=blue>
{{ solutionZoneCode(zoneCode) }}
</a-tag>
</span>
144
145
146
147
148
<template slot="htmlSlot" slot-scope="text">
<div v-html="text"></div>
</template>
<template slot="imgSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
149
150
<img v-else :src="getImgView(text)" height="25px" alt=""
style="max-width:80px;font-size: 12px;font-style: italic;"/>
151
152
153
154
155
156
157
158
159
</template>
<template slot="fileSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
<a-button
v-else
:ghost="true"
type="primary"
icon="download"
size="small"
160
@click="downloadFile(text)">下载
161
162
163
164
</a-button>
</template>
<span slot="action" slot-scope="text, record">
谭毅彬
authored
12 months ago
165
166
167
168
<a v-if="record.status == 1" v-has="'taskHeader:executeTask'" @click="executeTask(record)"><a-button type="primary">执行</a-button></a>
<a v-if="record.isEmptyOut == 1 && record.exceptionState == 1" v-has="'taskHeader:executeTask'" @click="handleEmptyOutTask(record)"><a-button type="danger">修复空出数据</a-button></a>
<a v-if="record.isPickupError == 1 && record.exceptionState == 1" v-has="'taskHeader:executeTask'" @click="handlePickupErrorTask(record)"><a-button type="danger">修复取货错数据</a-button></a>
<a v-if="record.isDoubleIn == 1 && record.exceptionState == 1 && record.status == 100" v-has="'taskHeader:executeTask'" @click="handleDoubleInTask(record)"><a-button type="danger">修复重入数据</a-button></a>
肖超群
authored
12 months ago
169
<a v-if="record.status < 20 && record.status > 1 " v-has="'taskHeader:priority'" @click="handlePriority(record)"><a-button type="danger">优先级</a-button></a>
170
<!-- <a v-if="record.status <= 10" v-has="'taskHeader:cancelTask'" @click="cancelTask(record)" >取消</a>-->
171
<a-popconfirm v-if="record.status <= 10" v-has="'taskHeader:cancelTask'" title="确定取消任务吗?" @confirm="() => cancelTask(record)">
172
<a-button type="danger">取消</a-button>
173
</a-popconfirm>
lty
authored
3 months ago
174
175
<!-- 添加问号图标按钮 -->
肖超群
authored
2 months ago
176
177
178
<!-- <a-tooltip placement="topLeft" title="点击进行流程演示">-->
<!-- <a-button shape="circle" icon="question" @click="openVideoModal(record)" />-->
<!-- </a-tooltip>-->
lty
authored
3 months ago
179
180
181
182
183
184
185
186
187
<!-- VideoModal 组件 -->
<VideoModal
:visible="videoModalVisible"
:videoUrl="videoUrl"
:videoDescription="videoDescription"
@update:visible="closeVideoModal"
/>
188
189
190
191
192
193
</span>
</a-table>
</div>
<a-tabs defaultActiveKey="1">
194
195
<a-tab-pane tab="任务详情" key="1">
<TaskDetailList :mainId="selectedMainId"/>
196
197
198
199
</a-tab-pane>
</a-tabs>
<taskHeader-modal ref="modalForm" @ok="modalFormOk"></taskHeader-modal>
200
201
<empty-in-task-modal ref="emptyInModal" @ok="modalFormOk"></empty-in-task-modal>
<many-empty-in-task-modal ref="manyEmptyInModal" @ok="modalFormOk"></many-empty-in-task-modal>
202
<update-priority ref="updatePriority" @ok="modalFormOk"></update-priority>
203
<MaterialTaskModal ref="materialTaskModal" @ok="modalFormOk"></MaterialTaskModal>
肖超群
authored
about a month ago
204
<StageingReceiptModal ref="stageingReceiptModal" @ok="modalFormOk"></StageingReceiptModal>
205
206
<call-receipt-box-modal ref="modalForm5" @ok="modalFormOk"></call-receipt-box-modal>
<call-receipt-empty-box-modal ref="modalForm6" @ok="modalFormOk"></call-receipt-empty-box-modal>
肖超群
authored
9 months ago
207
208
209
210
211
212
</a-card>
</template>
<script>
213
214
215
216
217
218
219
220
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
import TaskHeaderModal from './modules/TaskHeaderModal'
import {getAction} from '@/api/manage'
import TaskDetailList from './TaskDetailList'
import {initDictOptions, filterMultiDictText} from '@/components/dict/JDictSelectUtil'
import '@/assets/less/TableExpand.less'
import {completeTaskByWMS, cancelTask} from '@/api/api'
import {execute} from '@/api/api'
221
import {getZoneList, handleEmptyOut, handlePickupError, handleDoubleIn} from '@/api/api'
222
import EmptyInTaskModal from './modules/EmptyInTaskModal'
223
import UpdatePriority from './modules/UpdatePriority'
224
import ManyEmptyInTaskModal from "./modules/ManyEmptyInTaskModal";
225
import {filterObj} from "@/utils/util";
226
import MaterialTaskModal from "./modules/MaterialTaskModal";
227
228
import CallReceiptBoxModal from "@views/system/task/modules/CallReceiptBoxModal";
import CallReceiptEmptyBoxModal from "@views/system/task/modules/CallReceiptEmptyBoxModal";
lty
authored
3 months ago
229
import VideoModal from "@views/system/task/VideoModal.vue";
肖超群
authored
about a month ago
230
import StageingReceiptModal from "@views/system/task/modules/StageingReceiptModal.vue";
231
232
233
export default {
234
name: "ReceiptTaskHeaderList",
235
236
mixins: [JeecgListMixin],
components: {
肖超群
authored
about a month ago
237
StageingReceiptModal,
lty
authored
3 months ago
238
VideoModal,
239
240
CallReceiptEmptyBoxModal,
CallReceiptBoxModal,
241
242
243
ManyEmptyInTaskModal,
EmptyInTaskModal,
TaskDetailList,
244
TaskHeaderModal,
245
246
MaterialTaskModal,
UpdatePriority
247
248
249
},
data() {
return {
250
selectIndex: null,
251
252
description: '任务表管理页面',
zoneList: [],
lty
authored
3 months ago
253
254
255
256
selectedRowKeys: [], // 假设这个数组存储了选中的任务ID或对象
videoModalVisible: false, // 控制视频模态框的显示
videoUrl: '',
videoDescription: '',
257
zoneOptions:[],
258
firstLoad:0,
259
isorter: {
260
column: 'status',
261
order: 'asc'
262
},
263
264
265
266
267
268
// 表头
columns: [
{
title: '任务ID',
align: "center",
dataIndex: 'id',
269
sorter: true,
270
271
272
273
274
},
{
title: '任务类型',
align: "center",
dataIndex: 'taskType_dictText',
曾湘平
authored
about a year ago
275
276
277
278
279
280
281
282
scopedSlots: {customRender: 'taskType_dictText'},
filterMultiple: false,
filters: [
{text: '整盘入库', value: '100'},
{text: '补充入库', value: '200'},
{text: '空容器入库', value: '500'},
{text: '空托盘组入库', value: '1100'},
]
283
284
},
{
285
title: '容器编码',
286
287
288
289
290
291
292
293
align: "center",
dataIndex: 'containerCode'
},
{
title: '库区',
align: "center",
dataIndex: 'zoneCode',
key: 'zoneCode',
曾湘平
authored
about a year ago
294
295
296
297
scopedSlots: {customRender: 'zoneCode'},
filterMultiple: true,
filters: [
]
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
},
{
title: '起始库位',
align: "center",
dataIndex: 'fromLocationCode'
},
{
title: '目标库位',
align: "center",
dataIndex: 'toLocationCode'
},
{
title: '目标出入口',
align: "center",
dataIndex: 'toPortCode'
},
{
title: '任务状态',
align: "center",
dataIndex: 'status_dictText',
318
key: 'status_dictText',
曾湘平
authored
about a year ago
319
320
321
322
323
324
325
326
327
scopedSlots: {customRender: 'status_dictText'},
filterMultiple: false,
filters: [
{text: '生成任务', value: '1'},
{text: '下发任务', value: '10'},
{text: '开始执行', value: '20'},
{text: '到达拣选台', value: '50'},
{text: '任务完成', value: '100'},
]
328
329
},
{
330
title: '异常信息',
331
align: "center",
332
dataIndex: 'exceptionName'
333
334
},
{
335
336
337
338
339
title: '优先级',
align: "center",
dataIndex: 'priority'
},
{
340
341
342
343
344
345
346
347
title: '创建人',
align: "center",
dataIndex: 'createBy'
},
{
title: '创建日期',
align: "center",
dataIndex: 'createTime'
348
},
349
350
351
352
{
title: '更新人',
align: "center",
dataIndex: 'updateBy'
353
},
354
355
356
357
{
title: '更新日期',
align: "center",
dataIndex: 'updateTime'
358
},
359
{
360
title: '下发时间',
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
align: "center",
dataIndex: 'executeTime'
},
{
title: '库位分配时间',
align: "center",
dataIndex: 'allocationTime'
},
{
title: '到达分拣口时间',
align: "center",
dataIndex: 'arrivalTime'
},
{
title: '完成时间',
align: "center",
dataIndex: 'completeTime'
},
{
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
title: '操作',
dataIndex: 'action',
align: "center",
fixed: "right",
width: 147,
scopedSlots: {customRender: 'action'},
}
],
url: {
list: "/task/taskHeader/list",
delete: "/task/taskHeader/delete",
deleteBatch: "/task/taskHeader/deleteBatch",
exportXlsUrl: "/task/taskHeader/exportXls",
importExcelUrl: "task/taskHeader/importExcel",
},
dictOptions: {
taskType: [],
isEmptyOut: [],
isDoubleIn: [],
status: [],
},
/* 分页参数 */
ipagination: {
current: 1,
pageSize: 5,
pageSizeOptions: ['5', '10', '50'],
showTotal: (total, range) => {
return range[0] + "-" + range[1] + " 共" + total + "条"
},
showQuickJumper: true,
showSizeChanger: true,
total: 0
},
selectedMainId: '',
superFieldList: [],
415
416
417
418
419
420
421
}
},
created() {
this.getSuperFieldList();
this.loadFrom();
},
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
mounted() {
if(this.firstLoad == 0) {
this.firstLoad = 1;
return;
}
//页面没加载完,此时methods里的方法找不到,使用定时器模拟点击
let timeSearch=setInterval(()=>{
let eleSearch= document.getElementById("search");
if (eleSearch!=null){
//调用成功,清除定时器
clearInterval(timeSearch)
eleSearch.click();
}
},200)
},
437
438
439
440
441
442
computed: {
importExcelUrl: function () {
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
}
},
methods: {
lty
authored
3 months ago
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
// 打开视频模态框
openVideoModal(record) {
// 防止重复打开模态框
if (this.videoModalVisible) return; // 如果已经打开,不再执行后续代码
if (record && record.taskType === 100) {
this.videoUrl = 'http://113.45.231.114:5000/d/%E4%B8%AD%E5%9B%BD%E7%A7%BB%E5%8A%A8/%E4%B8%B4%E6%97%B6%E6%96%87%E4%BB%B6/12%E6%9C%8826%E6%97%A5_compressed.mp4?sign=QtsysiX30DPzgX7eFV10C3AdzVdC7YzP1YyGuOVewMY=:0'; // 设置视频URL
this.videoDescription = '整盘入库教学'; // 设置视频描述
this.videoModalVisible = true; // 显示模态框
} else {
console.log("Task status is not 20, video modal will not open");
}
},
// 关闭视频模态框
closeVideoModal(value) {
this.videoModalVisible = value; // 更新 videoModalVisible 来关闭模态框
},
曾湘平
authored
about a year ago
464
465
466
467
468
469
470
471
472
473
474
475
476
handleTableChange(pagination, filters, sorter) {
//分页、排序、筛选变化时触发
if (Object.keys(sorter).length > 0) {
this.isorter.column = sorter.field;
this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
}
//这种筛选方式只支持单选
if (filters && Object.keys(filters).length > 0 && filters.taskType_dictText) {
this.filters.taskType = filters.taskType_dictText[0];
}
if (filters && Object.keys(filters).length > 0 && filters.status_dictText) {
this.filters.status = filters.status_dictText[0];
}
曾湘平
authored
about a year ago
477
478
479
if (filters && Object.keys(filters).length > 0 && filters.zoneCode) {
this.filters.zoneCode = filters.zoneCode.toString();
}
曾湘平
authored
about a year ago
480
481
482
this.ipagination = pagination;
this.loadData();
},
483
484
485
486
487
488
getStatusColor(status) {
const colors = {
'生成任务': 'green',
'下发任务': 'blue',
'到达拣选站台': 'orange',
'任务完成': 'grey',
489
490
491
'整盘入库': 'blue',
'补充入库': 'green',
492
default: 'blue'
493
494
495
};
return colors[status] || colors.default;
},
496
497
initDictConfig() {
},
498
clickThenSelect(record,index) {
499
500
501
return {
on: {
click: () => {
502
this.selectIndex=index
503
this.onSelectChange(record.id.toString().split(","), [record]);
504
505
}
}
506
507
}
},
508
509
510
rowClassName(record, index) {
return index === this.selectIndex ? 'Rowactive' : ''
},
511
512
513
514
515
516
onClearSelected() {
this.selectedRowKeys = [];
this.selectionRows = [];
this.selectedMainId = ''
},
onSelectChange(selectedRowKeys, selectionRows) {
517
this.selectedMainId = selectedRowKeys[0].toString();
518
519
this.selectedRowKeys = selectedRowKeys;
this.selectionRows = selectionRows;
520
},
521
522
523
524
525
526
527
528
callReceiptBox() {
this.$refs.modalForm5.edit();
this.$refs.modalForm5.title = "呼叫入库有货托盘";
},
callReceiptEmptyBox() {
this.$refs.modalForm6.edit();
this.$refs.modalForm6.title = "呼叫入库空托盘";
},
529
530
531
532
loadData(arg) {
if (!this.url.list) {
this.$message.error("请设置url.list属性!")
return
533
}
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
//加载数据 若传入参数1则加载第一页的内容
if (arg === 1) {
this.ipagination.current = 1;
}
this.onClearSelected()
var params = this.getQueryParams();//查询条件
params.innernalTaskType = 100;
this.loading = true;
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.records;
this.ipagination.total = res.result.total;
}
if (res.code === 510) {
this.$message.warning(res.message)
}
this.loading = false;
})
552
},
553
554
555
556
loadFrom() {
getZoneList().then((res) => {
if (res.success) {
this.zoneList = res.result
557
558
559
560
561
562
//延迟半秒执行,避免组件未加载完,数据已经加载完
setTimeout(()=>{
//slice可以在数组的任何位置进行删除/添加操作
this.zoneOptions.splice(0, 1);
for (let i = 0; i < res.result.length; i++) {
this.zoneOptions.push({value:res.result[i].code,text:res.result[i].name})
曾湘平
authored
about a year ago
563
this.columns[3].filters.push({value: res.result[i].code,text:res.result[i].name})
564
565
}
},500)
566
}
567
568
569
570
571
572
573
574
575
576
});
},
createEmptyIn() {
this.$refs.emptyInModal.edit();
this.$refs.emptyInModal.title = "创建空托盘入库";
},
createManyEmptyIn() {
this.$refs.manyEmptyInModal.edit();
this.$refs.manyEmptyInModal.title = "创建空托盘组入库";
},
577
quickReceipt(){
578
this.$refs.materialTaskModal.edit();
肖超群
authored
9 months ago
579
this.$refs.materialTaskModal.title = "快速入库";
580
},
肖超群
authored
about a month ago
581
582
583
584
stageingReceipt(){
this.$refs.stageingReceiptModal.edit();
this.$refs.stageingReceiptModal.title = "暂存区入库";
},
585
586
587
588
handlePriority(record){
this.$refs.updatePriority.edit(record);
this.$refs.updatePriority.title = "修改优先级";
},
589
590
591
592
593
594
solutionZoneCode(value) {
var actions = []
Object.keys(this.zoneList).some((key) => {
if (this.zoneList[key].code == ('' + value)) {
actions.push(this.zoneList[key].name)
return true
595
}
596
597
598
599
600
601
602
603
604
605
606
607
})
return actions.join('')
},
cancelTask(record) {
this.loading = true;
this.model = Object.assign({}, record);
cancelTask(this.model.id).then((res) => {
this.loading = false;
if (res.success) {
this.$message.success(res.message);
} else {
this.$message.error(res.message);
608
}
609
610
611
612
this.searchQuery();
});
},
executeTask(record) {
lty
authored
3 months ago
613
614
// 如果有任何执行操作,确保关闭模态框
this.videoModalVisible = false;
615
616
617
618
619
620
621
622
623
624
625
626
this.loading = true;
this.model = Object.assign({}, record);
execute(this.model).then((res) => {
this.loading = false;
if (res.success) {
this.$message.success(res.message);
} else {
this.$message.error(res.message);
}
this.searchQuery();
});
},
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
handleEmptyOutTask(record) {
this.loading = true;
this.model = Object.assign({}, record);
handleEmptyOut(this.model.id).then((res) => {
this.loading = false;
if (res.success) {
this.$message.success(res.message);
} else {
this.$message.error(res.message);
}
this.searchQuery();
});
},
handlePickupErrorTask(record) {
this.loading = true;
this.model = Object.assign({}, record);
handlePickupError(this.model.id).then((res) => {
this.loading = false;
if (res.success) {
this.$message.success(res.message);
} else {
this.$message.error(res.message);
}
this.searchQuery();
});
},
handleDoubleInTask(record) {
this.loading = true;
this.model = Object.assign({}, record);
handleDoubleIn(this.model.id).then((res) => {
this.loading = false;
if (res.success) {
this.$message.success(res.message);
} else {
this.$message.error(res.message);
}
this.searchQuery();
});
},
666
667
668
getSuperFieldList() {
let fieldList = [];
fieldList.push({type: 'int', value: 'taskType', text: '任务类型', dictCode: 'task_type'})
669
fieldList.push({type: 'string', value: 'containerCode', text: '容器编码', dictCode: ''})
670
671
672
673
fieldList.push({type: 'string', value: 'fromLocationCode', text: '起始库位', dictCode: ''})
fieldList.push({type: 'string', value: 'toLocationCode', text: '目标库位', dictCode: ''})
fieldList.push({type: 'string', value: 'isEmptyOut', text: '是否空出', dictCode: 'is_or_not'})
fieldList.push({type: 'int', value: 'isDoubleIn', text: '是否重入', dictCode: 'is_or_not'})
674
fieldList.push({type: 'string', value: 'originLocationCode', text: '重入库位编码', dictCode: ''})
675
676
677
678
679
680
681
682
fieldList.push({type: 'int', value: 'status', text: '任务状态', dictCode: 'task_header_status'})
fieldList.push({type: 'string', value: 'fromPortCode', text: '起始出入口', dictCode: ''})
fieldList.push({type: 'string', value: 'toPortCode', text: '目标出入口', dictCode: ''})
fieldList.push({type: 'string', value: 'createBy', text: '创建人', dictCode: ''})
fieldList.push({type: 'datetime', value: 'createTime', text: '创建日期'})
fieldList.push({type: 'string', value: 'updateBy', text: '更新人', dictCode: ''})
fieldList.push({type: 'datetime', value: 'updateTime', text: '更新日期'})
this.superFieldList = fieldList
683
684
}
}
685
}
686
687
</script>
<style scoped>
688
@import '~@assets/less/common.less'
689
</style>