|
|
|
@ -167,13 +167,18 @@ |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<!-- TUSK操作列 --> |
|
|
|
<el-table-column label="操作" width="150" align="center" fixed="right"> |
|
|
|
<!-- 有WCS任务号时只显示取消并重试,已取消和已完成不显示 - rqrq --> |
|
|
|
<el-table-column label="操作" width="220" align="center" fixed="right"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<a size="mini" type="primary" @click="adjustPriority(scope.row)" v-if="scope.row.status!='已取消'&&scope.row.status!='已完成'" |
|
|
|
>调整优先级</a> |
|
|
|
<a size="mini" type="danger" style="color: red" @click="cancelTuskTask(scope.row)" v-if="isAuth('100000010:cancel')&&scope.row.status!='已取消'&&scope.row.status!='已完成'" |
|
|
|
<a size="mini" type="danger" style="color: red" @click="cancelTuskTask(scope.row)" v-if="isAuth('100000010:cancel')&&scope.row.status!='已取消'&&scope.row.status!='已完成'&&!hasWcsTaskId(scope.row)" |
|
|
|
>取消</a> |
|
|
|
<el-button type="text" style="color: red; padding: 0;" |
|
|
|
:loading="cancelRetryTaskNo === scope.row.taskNo" |
|
|
|
:disabled="!!cancelRetryTaskNo" |
|
|
|
v-if="isAuth('100000010:cancel')&&scope.row.status!='已取消'&&scope.row.status!='已完成'&&hasWcsTaskId(scope.row)" |
|
|
|
@click="cancelAndRetryNeedPallet(scope.row)">取消并重试</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
@ -431,6 +436,7 @@ import { |
|
|
|
adjustPriority as adjustPriorityApi, |
|
|
|
changeLocation as changeLocationApi, |
|
|
|
cancelTuskTask as cancelTuskTaskApi, |
|
|
|
cancelAndRetryNeedPallet as cancelAndRetryNeedPalletApi, |
|
|
|
getAgvStatus, |
|
|
|
getAgvAlarms, |
|
|
|
testTuskConnection as testTuskConnectionApi |
|
|
|
@ -466,6 +472,8 @@ export default { |
|
|
|
// 数据集 |
|
|
|
dataList: [], |
|
|
|
dataListLoading: false, |
|
|
|
// 取消并重试进行中的任务号,防止同一行或其它行重复提交 - rqrq |
|
|
|
cancelRetryTaskNo: '', |
|
|
|
// 导出相关 |
|
|
|
exportData: [], |
|
|
|
exportName: "AGV任务管理", |
|
|
|
@ -765,6 +773,41 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
// 有WCS任务号才走取消并重试,空字符串视为没有 - rqrq |
|
|
|
hasWcsTaskId(row) { |
|
|
|
return !!(row && row.wcsTaskId && String(row.wcsTaskId).trim()) |
|
|
|
}, |
|
|
|
|
|
|
|
// 取消当前运输任务后,按原WCS任务号重发分拣位补盘。补盘失败弹窗确认,不把TUSK取消失败当失败 - rqrq |
|
|
|
cancelAndRetryNeedPallet(row) { |
|
|
|
if (this.cancelRetryTaskNo) { |
|
|
|
return |
|
|
|
} |
|
|
|
this.$confirm('确定要取消并重试此任务吗?将取消当前运输任务,并按原WCS任务号重新发起分拣位补盘。', '警告', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning' |
|
|
|
}).then(() => { |
|
|
|
this.cancelRetryTaskNo = row.taskNo |
|
|
|
const params = { |
|
|
|
site: row.site, |
|
|
|
taskNo: row.taskNo |
|
|
|
} |
|
|
|
cancelAndRetryNeedPalletApi(params).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.$message.success(data.msg || '取消并重试成功') |
|
|
|
this.getDataList() |
|
|
|
} else { |
|
|
|
this.$alert((data && data.msg) || '取消并重试失败', '错误', { confirmButtonText: '确定' }) |
|
|
|
} |
|
|
|
}).catch(() => { |
|
|
|
this.$message.error('取消并重试请求失败') |
|
|
|
}).finally(() => { |
|
|
|
this.cancelRetryTaskNo = '' |
|
|
|
}) |
|
|
|
}).catch(() => {}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 取消TUSK任务 |
|
|
|
cancelTuskTask(row) { |
|
|
|
this.$confirm('确定要取消此AGV任务吗?取消后会导致任务中断,部分数据或后续操作需要人工干预,请谨慎操作!', '警告', { |
|
|
|
|