Browse Source

中山agv重试

master
常熟吴彦祖 3 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任务 // 取消TUSK任务
export const cancelTuskTask = data => createAPI(`agvTask/cancelTuskTask`, 'POST', data) export const cancelTuskTask = data => createAPI(`agvTask/cancelTuskTask`, 'POST', data)
// 取消带WCS任务号的运输任务,并按原WCS任务号重发分拣位补盘 - rqrq
export const cancelAndRetryNeedPallet = data => createAPI(`agvTask/cancelAndRetryNeedPallet`, 'POST', data)
// 获取AGV实时状态 // 获取AGV实时状态
export const getAgvStatus = data => createAPI(`agvTask/getAgvStatus`, 'POST', data) export const getAgvStatus = data => createAPI(`agvTask/getAgvStatus`, 'POST', data)

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

@ -167,13 +167,18 @@
</template> </template>
</el-table-column> </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"> <template slot-scope="scope">
<a size="mini" type="primary" @click="adjustPriority(scope.row)" v-if="scope.row.status!='已取消'&&scope.row.status!='已完成'" <a size="mini" type="primary" @click="adjustPriority(scope.row)" v-if="scope.row.status!='已取消'&&scope.row.status!='已完成'"
>调整优先级</a> >调整优先级</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> >取消</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> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -431,6 +436,7 @@ import {
adjustPriority as adjustPriorityApi, adjustPriority as adjustPriorityApi,
changeLocation as changeLocationApi, changeLocation as changeLocationApi,
cancelTuskTask as cancelTuskTaskApi, cancelTuskTask as cancelTuskTaskApi,
cancelAndRetryNeedPallet as cancelAndRetryNeedPalletApi,
getAgvStatus, getAgvStatus,
getAgvAlarms, getAgvAlarms,
testTuskConnection as testTuskConnectionApi testTuskConnection as testTuskConnectionApi
@ -466,6 +472,8 @@ export default {
// 数据集 // 数据集
dataList: [], dataList: [],
dataListLoading: false, dataListLoading: false,
// 取消并重试进行中的任务号,防止同一行或其它行重复提交 - rqrq
cancelRetryTaskNo: '',
// 导出相关 // 导出相关
exportData: [], exportData: [],
exportName: "AGV任务管理", 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任务 // 取消TUSK任务
cancelTuskTask(row) { cancelTuskTask(row) {
this.$confirm('确定要取消此AGV任务吗?取消后会导致任务中断,部分数据或后续操作需要人工干预,请谨慎操作!', '警告', { this.$confirm('确定要取消此AGV任务吗?取消后会导致任务中断,部分数据或后续操作需要人工干预,请谨慎操作!', '警告', {

Loading…
Cancel
Save