From 5be7dde5431e464b79611ebe08a7369d6c2f06f0 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 2 Jul 2025 12:41:12 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90IoT=20=E7=89=A9=E8=81=94?= =?UTF-8?q?=E7=BD=91=E3=80=91=E5=88=9D=E5=A7=8B=E5=8C=96=20IoT=20=E5=9B=BA?= =?UTF-8?q?=E4=BB=B6=E8=AF=A6=E6=83=85=E9=A1=B5=2060%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/iot/ota/task/record/index.ts | 5 +- src/router/modules/remaining.ts | 2 +- src/views/iot/ota/firmware/detail/index.vue | 66 ++++++++------------- src/views/iot/ota/task/OtaTaskList.vue | 4 +- src/views/iot/utils/constants.ts | 38 +++++------- 5 files changed, 44 insertions(+), 71 deletions(-) diff --git a/src/api/iot/ota/task/record/index.ts b/src/api/iot/ota/task/record/index.ts index 220bda9b5..4ae38373a 100644 --- a/src/api/iot/ota/task/record/index.ts +++ b/src/api/iot/ota/task/record/index.ts @@ -16,12 +16,11 @@ export interface OtaTaskRecord { // IoT OTA 任务记录 API export const IoTOtaTaskRecordApi = { - // 获取 OTA 升级记录状态统计 - getOtaTaskRecordStatusCount: async (firmwareId?: number, taskId?: number) => { + getOtaTaskRecordStatusStatistics: async (firmwareId?: number, taskId?: number) => { const params: any = {} if (firmwareId) params.firmwareId = firmwareId if (taskId) params.taskId = taskId - return await request.get({ url: `/iot/ota/task/record/get-status-count`, params }) + return await request.get({ url: `/iot/ota/task/record/get-status-statistics`, params }) }, // 查询 OTA 任务记录分页 diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts index 9c1246af9..794778cad 100644 --- a/src/router/modules/remaining.ts +++ b/src/router/modules/remaining.ts @@ -735,7 +735,7 @@ const remainingRouter: AppRouteRecordRaw[] = [ component: () => import('@/views/iot/device/device/detail/index.vue') }, { - path: 'ota/firmware/detail/:id', + path: 'ota/operation/firmware/detail/:id', name: 'IoTOtaFirmwareDetail', meta: { title: '固件详情', diff --git a/src/views/iot/ota/firmware/detail/index.vue b/src/views/iot/ota/firmware/detail/index.vue index 0c0cc9d3e..23c613b20 100644 --- a/src/views/iot/ota/firmware/detail/index.vue +++ b/src/views/iot/ota/firmware/detail/index.vue @@ -23,31 +23,37 @@ - +
-
{{ statistics.total || 0 }}
+
+ {{ + Object.values(firmwareStatistics).reduce((sum, count) => sum + (count || 0), 0) || 0 + }} +
升级设备总数
- {{ statistics.pending || 0 }} + {{ firmwareStatistics[IoTOtaTaskRecordStatusEnum.PENDING.value] || 0 }}
待推送
-
{{ statistics.pushed || 0 }}
+
{{ + firmwareStatistics[IoTOtaTaskRecordStatusEnum.PUSHED.value] || 0 + }}
已推送
- {{ statistics.inProgress || 0 }} + {{ firmwareStatistics[IoTOtaTaskRecordStatusEnum.UPGRADING.value] || 0 }}
正在升级
@@ -55,21 +61,23 @@
- {{ statistics.success || 0 }} + {{ firmwareStatistics[IoTOtaTaskRecordStatusEnum.SUCCESS.value] || 0 }}
升级成功
-
{{ statistics.failed || 0 }}
+
{{ + firmwareStatistics[IoTOtaTaskRecordStatusEnum.FAILURE.value] || 0 + }}
升级失败
- {{ statistics.cancelled || 0 }} + {{ firmwareStatistics[IoTOtaTaskRecordStatusEnum.CANCELED.value] || 0 }}
升级取消
@@ -78,7 +86,7 @@
- + @@ -100,19 +108,8 @@ const firmwareLoading = ref(false) const firmware = ref({} as IoTOtaFirmware) // 统计信息 -const statisticsLoading = ref(false) -const statistics = ref({ - total: 0, - pending: 0, - pushed: 0, - inProgress: 0, - success: 0, - failed: 0, - cancelled: 0 -}) - -// 任务列表组件引用 -const otaTaskListRef = ref() +const firmwareStatisticsLoading = ref(false) +const firmwareStatistics = ref>({}) /** 获取固件信息 */ const getFirmwareInfo = async () => { @@ -126,28 +123,13 @@ const getFirmwareInfo = async () => { /** 获取升级统计 */ const getStatistics = async () => { - statisticsLoading.value = true + firmwareStatisticsLoading.value = true try { - const data = await IoTOtaTaskRecordApi.getOtaTaskRecordStatusCount(firmwareId.value) - statistics.value = { - pending: data[IoTOtaTaskRecordStatusEnum.PENDING.value] || 0, - pushed: data[IoTOtaTaskRecordStatusEnum.PUSHED.value] || 0, - inProgress: data[IoTOtaTaskRecordStatusEnum.IN_PROGRESS.value] || 0, - success: data[IoTOtaTaskRecordStatusEnum.SUCCESS.value] || 0, - failed: data[IoTOtaTaskRecordStatusEnum.FAILED.value] || 0, - cancelled: data[IoTOtaTaskRecordStatusEnum.CANCELLED.value] || 0, - total: 0 - } - // 计算总数 - statistics.value.total = - statistics.value.pending + - statistics.value.pushed + - statistics.value.inProgress + - statistics.value.success + - statistics.value.failed + - statistics.value.cancelled + firmwareStatistics.value = await IoTOtaTaskRecordApi.getOtaTaskRecordStatusStatistics( + firmwareId.value + ) } finally { - statisticsLoading.value = false + firmwareStatisticsLoading.value = false } } diff --git a/src/views/iot/ota/task/OtaTaskList.vue b/src/views/iot/ota/task/OtaTaskList.vue index cdc1ad7c2..448e3eb98 100644 --- a/src/views/iot/ota/task/OtaTaskList.vue +++ b/src/views/iot/ota/task/OtaTaskList.vue @@ -1,5 +1,5 @@