From 1b744ff0c54da92c5d0ae453a817861ea937dd8d Mon Sep 17 00:00:00 2001 From: zhanghao <774378400@qq.com> Date: Wed, 16 Sep 2026 16:07:19 +0800 Subject: [PATCH] =?UTF-8?q?feat(log):=20=E6=9B=B4=E6=96=B0=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E6=89=A7=E8=A1=8C=E6=97=A5=E5=BF=97=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E6=97=A5=E5=BF=97=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E5=92=8C=E8=AF=B7=E6=B1=82=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 4 +- src/views/test/log/index.vue | 63 +++- src/views/test/log/task-log.vue | 641 ++++++++++++++++++++++++++++++++ 3 files changed, 690 insertions(+), 18 deletions(-) create mode 100644 src/views/test/log/task-log.vue diff --git a/.env.development b/.env.development index 9ab4824..8df7383 100644 --- a/.env.development +++ b/.env.development @@ -7,8 +7,8 @@ VITE_APP_ENV = 'development' # 招商车研物联网平台/开发环境 VITE_APP_BASE_API = '/dev-api' -VITE_API_URL = http://192.168.0.199:14080 -VITE_WS_URL = ws://192.168.0.199:14080/ws +VITE_API_URL = http://192.168.0.222:14080 +VITE_WS_URL = ws://192.168.0.222:14080/ws VITE_PORT = 5174 VITE_INSPECTION_TYPE = "inspection" VITE_MINIO_URL = "http://192.168.28.10:9000/cmvr-iot/" diff --git a/src/views/test/log/index.vue b/src/views/test/log/index.vue index d384919..518609b 100644 --- a/src/views/test/log/index.vue +++ b/src/views/test/log/index.vue @@ -155,19 +155,25 @@ /> - - + - - + + } 日志加载结束后完成,不返回业务数据。 + */ async function getLogList() { + const requestId = ++logRequestId; logLoading.value = true; logList.value = []; try { const response = await fetchAllPagedRows(getInst, { instId: logQueryParams.value.instId, }); - logList.value = response.rows; - logTotal.value = response.total; + if (requestId === logRequestId) { + logList.value = response.rows; + logTotal.value = response.total; + } } finally { - logLoading.value = false; + if (requestId === logRequestId) logLoading.value = false; } } +/** + * 打开实例日志时同步任务定义和实例状态,让未执行项与最终执行状态均能正确展示。 + * @param {Object} row 当前实例行,id 用于查日志,taskId 用于查编排,status 用于推导终态。 + * @returns {Promise} 本次实例日志加载完成后结束。 + */ function handleOpenLogDialog(row) { - console.log(row) - console.log('open', open.value) logQueryParams.value.instId = row.id; + logTaskId.value = row.taskId; + logTaskStatus.value = row.status; open.value = true; + return getLogList(); +} + +/** 关闭日志时使未完成请求失效并清空数据,避免再次打开时闪现旧实例内容。 */ +function closeLogDialog() { + logRequestId += 1; + logList.value = []; + logLoading.value = false; + reset(); } const currentLog = ref({}); diff --git a/src/views/test/log/task-log.vue b/src/views/test/log/task-log.vue new file mode 100644 index 0000000..2803435 --- /dev/null +++ b/src/views/test/log/task-log.vue @@ -0,0 +1,641 @@ + + + + +