diff --git a/frontend/src/views/home/components/compareTest.vue b/frontend/src/views/home/components/compareTest.vue index dbc2bdf..769bf72 100644 --- a/frontend/src/views/home/components/compareTest.vue +++ b/frontend/src/views/home/components/compareTest.vue @@ -314,20 +314,40 @@ watch( case 25001: { // 当录波校验完成时,更新录波项目的按钮状态 setLogList('info', '录波对齐完成!') + // 解析返回的数据 + const waveData = JSON.parse(newValue.data) // 找到录波项目并更新其状态 const waveResultItem = checkResult.find(item => item.scriptType === 'wave_data') - console.log('waveResultItem1111111:', waveResultItem) + // if (waveResultItem) { + // // 将录波项目状态设置为SUCCESS + // waveResultItem.devices.forEach(device => { + // device.chnResult.fill(CheckData.ChnCheckResultEnum.SUCCESS) + // }) + // } if (waveResultItem) { - // 将录波项目状态设置为SUCCESS + // 根据返回的chnResult更新各个设备的通道状态 waveResultItem.devices.forEach(device => { - device.chnResult.fill(CheckData.ChnCheckResultEnum.SUCCESS) + const deviceData = waveData.find((d: any) => d.deviceId === device.deviceId) + if (deviceData) { + // 根据实际返回的chnResult更新状态 + deviceData.chnResult.forEach((result: number, index: number) => { + // 创建数字到枚举的映射 + const resultMap: { [key: number]: CheckData.ChnCheckResultEnum } = { + 1: CheckData.ChnCheckResultEnum.SUCCESS, + 2: CheckData.ChnCheckResultEnum.FAIL, + 3: CheckData.ChnCheckResultEnum.TIMEOUT, + 4: CheckData.ChnCheckResultEnum.ERRORDATA, + 5: CheckData.ChnCheckResultEnum.NOT_PART_IN_ERROR + } + + // 使用映射关系设置状态,如果没有对应的映射则设为UNKNOWN + device.chnResult[index] = resultMap[result] || CheckData.ChnCheckResultEnum.UNKNOWN + }) + } }) } - console.log('waveResultItem2222222:', waveResultItem) // 触发响应式更新 - // 由于Vue可能无法检测到深层嵌套属性的更改,我们手动触发更新 - checkResult.splice(0, 0) // 这会触发响应式更新 - console.log('waveResultItem3333333:', checkResult) + checkResult.splice(0, 0) stopTimeCount() break } @@ -460,8 +480,8 @@ watch( } result.push(temp) }) + Object.assign(checkResult, result) - if (newValue.code == 25001) { setLogList('info', '检测完成!') stopTimeCount()