闪变
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user