闪变
This commit is contained in:
@@ -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状态
|
// 设置闪变项目为LOADING状态
|
||||||
const flickerResultItem = checkResult.find(item => item.code === 'flicker_data')
|
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)
|
||||||
|
|||||||
Reference in New Issue
Block a user