feat:【IoT 物联网】初始化 IoT 固件详情页 100%(取消记录)
parent
b8abe77bfe
commit
d1cbda5197
|
|
@ -31,13 +31,8 @@ export const IoTOtaTaskRecordApi = {
|
||||||
return await request.get({ url: `/iot/ota/task/record/page`, params })
|
return await request.get({ url: `/iot/ota/task/record/page`, params })
|
||||||
},
|
},
|
||||||
|
|
||||||
// 查询 OTA 任务记录详情
|
|
||||||
getOtaTaskRecord: async (id: number) => {
|
|
||||||
return await request.get({ url: `/iot/ota/task/record/get?id=` + id })
|
|
||||||
},
|
|
||||||
|
|
||||||
// 取消 OTA 任务记录
|
// 取消 OTA 任务记录
|
||||||
cancelOtaTaskRecord: async (id: number) => {
|
cancelOtaTaskRecord: async (id: number) => {
|
||||||
return await request.post({ url: `/iot/ota/task/record/cancel?id=` + id })
|
return await request.put({ url: `/iot/ota/task/record/cancel?id=` + id })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -116,10 +116,17 @@
|
||||||
<el-table-column label="操作" align="center" width="80">
|
<el-table-column label="操作" align="center" width="80">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="scope.row.status === IoTOtaTaskRecordStatusEnum.UPGRADING.value"
|
v-if="
|
||||||
|
[
|
||||||
|
IoTOtaTaskRecordStatusEnum.PENDING.value,
|
||||||
|
IoTOtaTaskRecordStatusEnum.PUSHED.value,
|
||||||
|
IoTOtaTaskRecordStatusEnum.UPGRADING.value
|
||||||
|
].includes(scope.row.status)
|
||||||
|
"
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
@click="handleCancelUpgrade(scope.row)"
|
@click="handleCancelUpgrade(scope.row)"
|
||||||
|
v-hasPermi="['iot:ota-task-record:cancel']"
|
||||||
>
|
>
|
||||||
取消
|
取消
|
||||||
</el-button>
|
</el-button>
|
||||||
|
|
@ -154,7 +161,6 @@ import { formatDate } from '@/utils/formatTime'
|
||||||
defineOptions({ name: 'OtaTaskDetail' })
|
defineOptions({ name: 'OtaTaskDetail' })
|
||||||
|
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
|
|
||||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||||
|
|
||||||
const taskId = ref<number>() // 任务编号
|
const taskId = ref<number>() // 任务编号
|
||||||
|
|
@ -242,6 +248,7 @@ const handleTabClick = (tab: TabsPaneContext) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 取消升级 */
|
/** 取消升级 */
|
||||||
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
||||||
const handleCancelUpgrade = async (record: OtaTaskRecord) => {
|
const handleCancelUpgrade = async (record: OtaTaskRecord) => {
|
||||||
try {
|
try {
|
||||||
await message.confirm('确认要取消该设备的升级任务吗?')
|
await message.confirm('确认要取消该设备的升级任务吗?')
|
||||||
|
|
@ -250,7 +257,9 @@ const handleCancelUpgrade = async (record: OtaTaskRecord) => {
|
||||||
// 刷新数据
|
// 刷新数据
|
||||||
await getRecordList()
|
await getRecordList()
|
||||||
await getStatistics()
|
await getStatistics()
|
||||||
// TODO @AI:需要 succes 不断刷新出去
|
await getTaskInfo()
|
||||||
|
// 通知父组件刷新数据
|
||||||
|
emit('success')
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('取消升级失败', error)
|
console.error('取消升级失败', error)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 任务详情弹窗 -->
|
<!-- 任务详情弹窗 -->
|
||||||
<OtaTaskDetail ref="taskDetailRef" />
|
<OtaTaskDetail ref="taskDetailRef" @success="refresh" />
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -169,18 +169,20 @@ const handleCancelTask = async (id: number) => {
|
||||||
await IoTOtaTaskApi.cancelOtaTask(id)
|
await IoTOtaTaskApi.cancelOtaTask(id)
|
||||||
message.success('取消成功')
|
message.success('取消成功')
|
||||||
// 刷新数据
|
// 刷新数据
|
||||||
await getTaskList()
|
await refresh()
|
||||||
emit('success')
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('取消任务失败', error)
|
console.error('取消任务失败', error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 刷新数据 */
|
||||||
|
const refresh = async () => {
|
||||||
|
await getTaskList()
|
||||||
|
emit('success')
|
||||||
|
}
|
||||||
|
|
||||||
/** 初始化 */
|
/** 初始化 */
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getTaskList()
|
getTaskList()
|
||||||
})
|
})
|
||||||
|
|
||||||
/** 暴露方法供父组件调用 */
|
|
||||||
defineExpose({ getTaskList })
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue