This commit is contained in:
sjl
2025-10-14 11:40:39 +08:00
parent 97d1f08bbe
commit 11c6704f11

View File

@@ -353,7 +353,70 @@ watch(
} }
} }
break 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': case 'connect':
switch (newValue.operateCode) { switch (newValue.operateCode) {
case 'Contrast_Dev': case 'Contrast_Dev':
@@ -480,9 +543,10 @@ watch(
} }
if (newValue.code == 25007) { if (newValue.code == 25007) {
// 设置闪变项目为LOADING状态
const flickerResultItem = checkResult.find(item => item.code === 'flicker_data')
// 设置闪变项目为LOADING状态
const flickerResultItem = checkResult.find(item => item.code === 'F')
console.log('flickerResultItem', flickerResultItem)
if (flickerResultItem) { if (flickerResultItem) {
flickerResultItem.devices.forEach(device => { flickerResultItem.devices.forEach(device => {
device.chnResult.fill(CheckData.ChnCheckResultEnum.LOADING) device.chnResult.fill(CheckData.ChnCheckResultEnum.LOADING)
@@ -497,7 +561,8 @@ watch(
scriptName: item.scriptName, scriptName: item.scriptName,
devices: [] devices: []
} }
console.log('item', item)
console.log('newValue.code', newValue.code)
// 特殊处理录波项目 - 如果是25005消息且当前项目是录波项目则使用已设置的状态 // 特殊处理录波项目 - 如果是25005消息且当前项目是录波项目则使用已设置的状态
if ((newValue.code == 25005 || newValue.code == 25006) && item.code === 'wave_data') { if ((newValue.code == 25005 || newValue.code == 25006) && item.code === 'wave_data') {
@@ -506,13 +571,16 @@ watch(
temp.devices = [...existingWaveItem.devices] // 保留已设置的devices temp.devices = [...existingWaveItem.devices] // 保留已设置的devices
} }
} // 特殊处理闪变项目 - 如果是25007消息且当前项目是闪变项目则使用已设置的状态 } // 特殊处理闪变项目 - 如果是25007消息且当前项目是闪变项目则使用已设置的状态
else if (newValue.code == 25007 && item.code === 'PST') { else if (newValue.code == 25007 && item.code === 'F') {
const existingFlickerItem = checkResult.find(checkItem => checkItem.scriptType === 'PST') console.log('flicker',checkResult)
const existingFlickerItem = checkResult.find(checkItem => checkItem.scriptName === '闪变')
console.log('existingFlickerItem', existingFlickerItem)
if (existingFlickerItem) { if (existingFlickerItem) {
temp.devices = [...existingFlickerItem.devices] // 保留已设置的devices temp.devices = [...existingFlickerItem.devices] // 保留已设置的devices
} }
} }
else { else {
console.log('else')
// 找到message中所有scriptName与当前item.code匹配的项 // 找到message中所有scriptName与当前item.code匹配的项
const matchedDevices = message const matchedDevices = message
.filter((msg: any) => msg.scriptName === item.code) .filter((msg: any) => msg.scriptName === item.code)
@@ -526,7 +594,7 @@ watch(
temp.devices.push(...matchedDevices) temp.devices.push(...matchedDevices)
// 对于未匹配到的设备,也要添加占位符(特别是录波项目) // 对于未匹配到的设备,也要添加占位符(特别是录波项目)
if (item.code === 'wave_data' || item.code === 'PST') { if (item.code === 'wave_data' || item.code === 'F') {
deviceList.forEach(device => { deviceList.forEach(device => {
const isDeviceExist = matchedDevices.some((matchedDevice: any) => matchedDevice.deviceId === device.deviceId) const isDeviceExist = matchedDevices.some((matchedDevice: any) => matchedDevice.deviceId === device.deviceId)
if (!isDeviceExist) { if (!isDeviceExist) {
@@ -535,7 +603,7 @@ watch(
deviceId: device.deviceId, deviceId: device.deviceId,
deviceName: device.deviceName, deviceName: device.deviceName,
chnResult: new Array(checkStore.chnNumList.length).fill( chnResult: new Array(checkStore.chnNumList.length).fill(
item.code === 'wave_data' ? item.code === 'wave_data' || item.code === 'F' ?
CheckData.ChnCheckResultEnum.UNKNOWN : CheckData.ChnCheckResultEnum.UNKNOWN :
CheckData.ChnCheckResultEnum.UNKNOWN CheckData.ChnCheckResultEnum.UNKNOWN
) )
@@ -696,7 +764,6 @@ const initDeviceList = () => {
// 初始化检测结果 (详细到通道) // 初始化检测结果 (详细到通道)
const initCheckResult = (defaultValue: CheckData.ChnCheckResultEnum) => { const initCheckResult = (defaultValue: CheckData.ChnCheckResultEnum) => {
let result: CheckData.ScriptChnItem[] = [] let result: CheckData.ScriptChnItem[] = []
scriptData.forEach(item => { scriptData.forEach(item => {
let temp: CheckData.ScriptChnItem = { let temp: CheckData.ScriptChnItem = {
scriptType: item.id, scriptType: item.id,
@@ -709,7 +776,7 @@ const initCheckResult = (defaultValue: CheckData.ChnCheckResultEnum) => {
let tempChnResult: CheckData.ChnCheckResultEnum[] = [] let tempChnResult: CheckData.ChnCheckResultEnum[] = []
for (let j = 0; j < checkStore.chnNumList.length; j++) { for (let j = 0; j < checkStore.chnNumList.length; j++) {
// 录波项目初始化为UNKNOWN状态其他项目使用传入的默认值 // 录波项目初始化为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) tempChnResult.push(CheckData.ChnCheckResultEnum.UNKNOWN)
} else { } else {
tempChnResult.push(defaultValue) tempChnResult.push(defaultValue)