Browse Source

中山agv重试

master
常熟吴彦祖 2 weeks ago
parent
commit
a10f7ba182
  1. 3
      src/api/automatedWarehouse/agvTask.js
  2. 49
      src/views/modules/automatedWarehouse/agvTask.vue

3
src/api/automatedWarehouse/agvTask.js

@ -17,6 +17,9 @@ export const changeLocation = data => createAPI(`agvTask/changeLocation`, 'POST'
// 取消TUSK任务
export const cancelTuskTask = data => createAPI(`agvTask/cancelTuskTask`, 'POST', data)
// 取消带WCS任务号的运输任务,并按原WCS任务号重发分拣位补盘 - rqrq
export const cancelAndRetryNeedPallet = data => createAPI(`agvTask/cancelAndRetryNeedPallet`, 'POST', data)
// 获取AGV实时状态
export const getAgvStatus = data => createAPI(`agvTask/getAgvStatus`, 'POST', data)

49
src/views/modules/automatedWarehouse/agvTask.vue

@ -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任务吗?取消后会导致任务中断,部分数据或后续操作需要人工干预,请谨慎操作!', '警告', {

Loading…
Cancel
Save