From 25e7b754b7ca2f5b56152b39d1b815543404ad4a Mon Sep 17 00:00:00 2001 From: guanj Date: Fri, 29 Aug 2025 11:12:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E6=AD=A3=E5=BC=8F?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/check/interface/index.ts | 3 +- .../src/views/home/components/compareTest.vue | 36 ++++++++++++------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/frontend/src/api/check/interface/index.ts b/frontend/src/api/check/interface/index.ts index c4832c2..d99d99d 100644 --- a/frontend/src/api/check/interface/index.ts +++ b/frontend/src/api/check/interface/index.ts @@ -169,6 +169,7 @@ export namespace CheckData { export interface DeviceCheckResult { deviceId: string deviceName: string + code?: string chnResult: ChnCheckResultEnum[] //通道检测结果 } @@ -176,7 +177,7 @@ export namespace CheckData { export interface ScriptChnItem { scriptType: string scriptName?: string //可以不要该属性,有点多余 - + code?: string // 设备 devices: Array } diff --git a/frontend/src/views/home/components/compareTest.vue b/frontend/src/views/home/components/compareTest.vue index dfb100a..7d42c00 100644 --- a/frontend/src/views/home/components/compareTest.vue +++ b/frontend/src/views/home/components/compareTest.vue @@ -11,7 +11,6 @@ 检测项进度 -
{ // 用来展示的检测结果 const checkResultView: ComputedRef = computed(() => { + let result: CheckData.ScriptChnViewItem[] = checkResult.map(item => { let temp: CheckData.ScriptChnViewItem = { scriptType: item.scriptType, @@ -266,6 +266,7 @@ const checkResultView: ComputedRef = computed(() return temp }) + console.log('🚀 ~ result:', result) return result }) @@ -339,24 +340,30 @@ watch( switch (newValue.code) { case 25001: let result: CheckData.ScriptChnItem[] = [] + let message = JSON.parse(newValue.data) + scriptData.forEach(item => { // 处理当前节点的数据 - let temp: CheckData.ScriptChnItem = { + const temp: CheckData.ScriptChnItem = { scriptType: item.id, scriptName: item.scriptName, devices: [] } - let message = JSON.parse(newValue.data) - for (let i = 0; i < message?.length; i++) { - temp.devices.push({ - deviceId: message[i].deviceId, - deviceName: message[i].deviceName, - chnResult: message[i].chnResult - }) - } + // 找到message中所有scriptName与当前item.code匹配的项 + const matchedDevices = message + .filter((msg: any) => msg.scriptName === item.code) + .map((msg: any) => ({ + deviceId: msg.deviceId, + deviceName: msg.deviceName, // 如果有的话 + chnResult: msg.chnResult + })) + + // 添加匹配到的设备 + temp.devices.push(...matchedDevices) result.push(temp) }) Object.assign(checkResult, result) + setLogList('info', '检测完成!') stopTimeCount() updatePercentage() @@ -473,9 +480,9 @@ const startTimeCount = () => { }, 1000) } nextTick(() => { - setTimeout(() => { - initCheckResult(CheckData.ChnCheckResultEnum.LOADING) - }, 500) + setTimeout(() => { + initCheckResult(CheckData.ChnCheckResultEnum.LOADING) + }, 500) }) } @@ -538,9 +545,12 @@ const initDeviceList = () => { // 修改函数定义 const initCheckResult = (defaultValue: CheckData.ChnCheckResultEnum) => { let result: CheckData.ScriptChnItem[] = [] + console.log('🚀 ~ initCheckResult ~ scriptData:', scriptData) + scriptData.forEach(item => { let temp: CheckData.ScriptChnItem = { scriptType: item.id, + code: item.code, scriptName: item.scriptName, devices: [] }