diff --git a/frontend/src/views/home/components/compareTest.vue b/frontend/src/views/home/components/compareTest.vue index 8ec76a2..7905a3e 100644 --- a/frontend/src/views/home/components/compareTest.vue +++ b/frontend/src/views/home/components/compareTest.vue @@ -353,7 +353,70 @@ watch( } } break - + case 'flicker_data_check': + switch (newValue.code) { + case 25002: + setLogList('error', newValue.data) + break + case 25003: + ElMessageBox.alert('闪变收集失败!', { + confirmButtonText: '确定', + type: 'error' + }) + stopTimeCount() + break + case 25001: { + // 当录波校验完成时,更新录波项目的按钮状态 + setLogList('info', '闪变校验完成!') + // 解析返回的数据 + const waveData = JSON.parse(newValue.data) + // 找到录波项目并更新其状态 + const waveResultItem = checkResult.find(item => item.scriptName === '闪变') + if (waveResultItem) { + // 根据返回的chnResult更新各个设备的通道状态 + waveResultItem.devices.forEach(device => { + 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 + }) + } + }) + } + // 触发响应式更新 + checkResult.splice(0, 0) + stopTimeCount() + updatePercentage() + break + } + } + break + case 'QUIT_FUNEND$01':{ + ElMessageBox.alert(newValue.data, '检测失败', { + confirmButtonText: '确定', + type: 'error' + }) + // 设置闪变项目为Unkonown 状态 + const flickerResultItem = checkResult.find(item => item.code === 'F') + if (flickerResultItem) { + flickerResultItem.devices.forEach(device => { + device.chnResult.fill(CheckData.ChnCheckResultEnum.UNKNOWN) + }) + } + stopTimeCount() + break + } case 'connect': switch (newValue.operateCode) { case 'Contrast_Dev': @@ -480,9 +543,10 @@ watch( } if (newValue.code == 25007) { + // 设置闪变项目为LOADING状态 - const flickerResultItem = checkResult.find(item => item.code === 'flicker_data') - + const flickerResultItem = checkResult.find(item => item.code === 'F') + console.log('flickerResultItem', flickerResultItem) if (flickerResultItem) { flickerResultItem.devices.forEach(device => { device.chnResult.fill(CheckData.ChnCheckResultEnum.LOADING) @@ -497,7 +561,8 @@ watch( scriptName: item.scriptName, devices: [] } - + console.log('item', item) + console.log('newValue.code', newValue.code) // 特殊处理录波项目 - 如果是25005消息且当前项目是录波项目,则使用已设置的状态 if ((newValue.code == 25005 || newValue.code == 25006) && item.code === 'wave_data') { @@ -506,13 +571,16 @@ watch( temp.devices = [...existingWaveItem.devices] // 保留已设置的devices } } // 特殊处理闪变项目 - 如果是25007消息且当前项目是闪变项目,则使用已设置的状态 - else if (newValue.code == 25007 && item.code === 'PST') { - const existingFlickerItem = checkResult.find(checkItem => checkItem.scriptType === 'PST') + else if (newValue.code == 25007 && item.code === 'F') { + console.log('flicker',checkResult) + const existingFlickerItem = checkResult.find(checkItem => checkItem.scriptName === '闪变') + console.log('existingFlickerItem', existingFlickerItem) if (existingFlickerItem) { temp.devices = [...existingFlickerItem.devices] // 保留已设置的devices } } else { + console.log('else') // 找到message中所有scriptName与当前item.code匹配的项 const matchedDevices = message .filter((msg: any) => msg.scriptName === item.code) @@ -526,7 +594,7 @@ watch( temp.devices.push(...matchedDevices) // 对于未匹配到的设备,也要添加占位符(特别是录波项目) - if (item.code === 'wave_data' || item.code === 'PST') { + if (item.code === 'wave_data' || item.code === 'F') { deviceList.forEach(device => { const isDeviceExist = matchedDevices.some((matchedDevice: any) => matchedDevice.deviceId === device.deviceId) if (!isDeviceExist) { @@ -535,7 +603,7 @@ watch( deviceId: device.deviceId, deviceName: device.deviceName, chnResult: new Array(checkStore.chnNumList.length).fill( - item.code === 'wave_data' ? + item.code === 'wave_data' || item.code === 'F' ? CheckData.ChnCheckResultEnum.UNKNOWN : CheckData.ChnCheckResultEnum.UNKNOWN ) @@ -696,7 +764,6 @@ const initDeviceList = () => { // 初始化检测结果 (详细到通道) const initCheckResult = (defaultValue: CheckData.ChnCheckResultEnum) => { let result: CheckData.ScriptChnItem[] = [] - scriptData.forEach(item => { let temp: CheckData.ScriptChnItem = { scriptType: item.id, @@ -709,7 +776,7 @@ const initCheckResult = (defaultValue: CheckData.ChnCheckResultEnum) => { let tempChnResult: CheckData.ChnCheckResultEnum[] = [] for (let j = 0; j < checkStore.chnNumList.length; j++) { // 录波项目初始化为UNKNOWN状态,其他项目使用传入的默认值 - if ((item.code === 'wave_data' || item.code === 'PST')&& checkTotal > 1) { + if ((item.code === 'wave_data' || item.code === 'F')&& checkTotal > 1) { tempChnResult.push(CheckData.ChnCheckResultEnum.UNKNOWN) } else { tempChnResult.push(defaultValue)