正式检测录波数据查询
This commit is contained in:
@@ -193,7 +193,6 @@ let errorCheckItem: Array<{ scriptType: string; type: CheckData.ChnCheckResultEn
|
||||
const testLogList = reactive<CheckData.LogItem[]>([{type: 'info', log: '暂无数据,等待检测开始'}])
|
||||
// 添加一个响应式变量来跟踪是否需要显示录波项目
|
||||
const showWaveItem = ref(false)
|
||||
|
||||
const testStatus = toRef(props, 'testStatus')
|
||||
const webMsgSend = toRef(props, 'webMsgSend')
|
||||
|
||||
@@ -212,7 +211,6 @@ const chnSum = computed(() => {
|
||||
|
||||
// 用来展示的检测结果
|
||||
const checkResultView: ComputedRef<CheckData.ScriptChnViewItem[]> = computed(() => {
|
||||
|
||||
let result: CheckData.ScriptChnViewItem[] = checkResult.map(item => {
|
||||
let temp: CheckData.ScriptChnViewItem = {
|
||||
scriptType: item.scriptType,
|
||||
@@ -257,6 +255,7 @@ const checkResultView: ComputedRef<CheckData.ScriptChnViewItem[]> = computed(()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
temp.devices.push({
|
||||
deviceId: device.deviceId,
|
||||
deviceName: device.deviceName,
|
||||
@@ -293,111 +292,12 @@ watch(testStatus, function (newValue, oldValue) {
|
||||
}
|
||||
})
|
||||
|
||||
// 次数
|
||||
let count = 0
|
||||
|
||||
watch(
|
||||
webMsgSend,
|
||||
function (newValue, oldValue) {
|
||||
if (checkStore.selectTestItems.preTest == false && newValue.requestId != 'formal_real') {
|
||||
if (testLogList[0].log == '正在检测,请稍等...' || testLogList[0].log == '暂无数据,等待检测开始') {
|
||||
testLogList.shift()
|
||||
setLogList('info', '初始化开始!')
|
||||
}
|
||||
let str =
|
||||
newValue.requestId == 'yjc_sbtxjy'
|
||||
? '设备通讯校验'
|
||||
: newValue.requestId == 'yjc_mxyzxjy'
|
||||
? '模型一致性检验'
|
||||
: newValue.requestId == 'yjc_align'
|
||||
? '实时数据对齐检验'
|
||||
: newValue.requestId == 'YJC_xujy'
|
||||
? '相序校验'
|
||||
: ''
|
||||
// 预检测处理
|
||||
switch (newValue.code) {
|
||||
case 25001:
|
||||
// 成功
|
||||
if (newValue.data != undefined) return
|
||||
setLogList('info', str + '成功!')
|
||||
if (newValue.requestId == 'YJC_xujy') setLogList('info', '初始化成功!')
|
||||
break
|
||||
case 25003:
|
||||
// 失败
|
||||
if (newValue.data != undefined) return
|
||||
setLogList('error', str + '失败!')
|
||||
emit('update:testStatus', 'error')
|
||||
stopTimeCount()
|
||||
if (newValue.requestId == 'YJC_xujy') setLogList('info', '初始化失败!')
|
||||
break
|
||||
}
|
||||
}
|
||||
// 预监测 正式检测
|
||||
else if (newValue.requestId == 'formal_real') {
|
||||
if (testLogList[0].log == '正在检测,请稍等...' || testLogList[0].log == '暂无数据,等待检测开始') {
|
||||
testLogList.shift()
|
||||
}
|
||||
switch (newValue.code) {
|
||||
case 25001:
|
||||
case 25005:
|
||||
let result: CheckData.ScriptChnItem[] = []
|
||||
let message = JSON.parse(newValue.data)
|
||||
|
||||
// 当收到 25005 消息时,显示录波项目
|
||||
if (newValue.code == 25005) {
|
||||
showWaveItem.value = true
|
||||
// 添加录波项目到 scriptData
|
||||
addWaveScriptItem()
|
||||
}
|
||||
|
||||
scriptData.forEach(item => {
|
||||
// 处理当前节点的数据
|
||||
const temp: CheckData.ScriptChnItem = {
|
||||
scriptType: item.id,
|
||||
scriptName: item.scriptName,
|
||||
devices: []
|
||||
}
|
||||
// 找到message中所有scriptName与当前item.code匹配的项
|
||||
const matchedDevices = message
|
||||
.filter((msg: any) => msg.scriptName === item.code)
|
||||
.map((msg: any) => ({
|
||||
deviceId: msg.deviceId,
|
||||
deviceName: msg.deviceName, // 如果有的话
|
||||
chnResult: msg.chnResult
|
||||
}))
|
||||
|
||||
// 添加匹配到的设备
|
||||
temp.devices.push(...matchedDevices)
|
||||
result.push(temp)
|
||||
})
|
||||
Object.assign(checkResult, result)
|
||||
|
||||
if (newValue.code == 25001) {
|
||||
setLogList('info', '检测完成!')
|
||||
stopTimeCount()
|
||||
updatePercentage()
|
||||
}
|
||||
if(newValue.code == 25005){
|
||||
setLogList("error", '实时数据校验失败!开始录波校验...')
|
||||
}
|
||||
break
|
||||
case 25003:
|
||||
setLogList('error', '检测失败!')
|
||||
stopTimeCount()
|
||||
updatePercentage()
|
||||
break
|
||||
default:
|
||||
if (newValue.code != 10201) {
|
||||
setLogList(newValue.code == 10200 ? 'info' : 'error', newValue.data)
|
||||
}
|
||||
|
||||
break
|
||||
}
|
||||
}
|
||||
switch (newValue.requestId) {
|
||||
switch (newValue.requestId) {
|
||||
case 'record_wave_step2':
|
||||
switch (newValue.code) {
|
||||
|
||||
case 10200:
|
||||
setLogList('info', newValue.data)
|
||||
break
|
||||
@@ -411,12 +311,26 @@ watch(
|
||||
})
|
||||
stopTimeCount()
|
||||
break
|
||||
case 25001:
|
||||
console.log('newValue.code', newValue.code)
|
||||
case 25001: {
|
||||
// 当录波校验完成时,更新录波项目的按钮状态
|
||||
setLogList('info', newValue.data)
|
||||
updateWaveItemStatus(CheckData.ChnCheckResultEnum.SUCCESS) // 或根据实际结果设置状态
|
||||
break
|
||||
setLogList('info', '录波对齐完成!')
|
||||
// 找到录波项目并更新其状态
|
||||
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)
|
||||
})
|
||||
}
|
||||
console.log('waveResultItem2222222:', waveResultItem)
|
||||
// 触发响应式更新
|
||||
// 由于Vue可能无法检测到深层嵌套属性的更改,我们手动触发更新
|
||||
checkResult.splice(0, 0) // 这会触发响应式更新
|
||||
console.log('waveResultItem3333333:', checkResult)
|
||||
stopTimeCount()
|
||||
break
|
||||
}
|
||||
}
|
||||
break
|
||||
case 'connect':
|
||||
@@ -462,6 +376,116 @@ watch(
|
||||
stopTimeCount()
|
||||
break
|
||||
}
|
||||
if (checkStore.selectTestItems.preTest == false && newValue.requestId != 'formal_real') {
|
||||
if (testLogList[0].log == '正在检测,请稍等...' || testLogList[0].log == '暂无数据,等待检测开始') {
|
||||
testLogList.shift()
|
||||
setLogList('info', '初始化开始!')
|
||||
}
|
||||
let str =
|
||||
newValue.requestId == 'yjc_sbtxjy'
|
||||
? '设备通讯校验'
|
||||
: newValue.requestId == 'yjc_mxyzxjy'
|
||||
? '模型一致性检验'
|
||||
: newValue.requestId == 'yjc_align'
|
||||
? '实时数据对齐检验'
|
||||
: newValue.requestId == 'YJC_xujy'
|
||||
? '相序校验'
|
||||
: ''
|
||||
// 预检测处理
|
||||
switch (newValue.code) {
|
||||
case 25001:
|
||||
// 成功
|
||||
if (newValue.data != undefined) return
|
||||
setLogList('info', str + '成功!')
|
||||
if (newValue.requestId == 'YJC_xujy') setLogList('info', '初始化成功!')
|
||||
break
|
||||
case 25003:
|
||||
// 失败
|
||||
if (newValue.data != undefined) return
|
||||
setLogList('error', str + '失败!')
|
||||
emit('update:testStatus', 'error')
|
||||
stopTimeCount()
|
||||
if (newValue.requestId == 'YJC_xujy') setLogList('info', '初始化失败!')
|
||||
break
|
||||
}
|
||||
}
|
||||
// 预监测 正式检测
|
||||
else if (newValue.requestId == 'formal_real') {
|
||||
if (testLogList[0].log == '正在检测,请稍等...' || testLogList[0].log == '暂无数据,等待检测开始') {
|
||||
testLogList.shift()
|
||||
}
|
||||
switch (newValue.code) {
|
||||
case 25001:
|
||||
case 25005:
|
||||
{
|
||||
let result: CheckData.ScriptChnItem[] = []
|
||||
let message = JSON.parse(newValue.data)
|
||||
// 当收到 25005 消息时,录波项目开始loading
|
||||
if (newValue.code == 25005) {
|
||||
// 设置录波项目为LOADING状态
|
||||
const waveResultItem = checkResult.find(item => item.code === 'wave_data')
|
||||
|
||||
if (waveResultItem) {
|
||||
waveResultItem.devices.forEach(device => {
|
||||
device.chnResult.fill(CheckData.ChnCheckResultEnum.LOADING)
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
scriptData.forEach(item => {
|
||||
// 处理当前节点的数据
|
||||
const temp: CheckData.ScriptChnItem = {
|
||||
scriptType: item.id,
|
||||
scriptName: item.scriptName,
|
||||
devices: []
|
||||
}
|
||||
// 特殊处理录波项目 - 如果是25005消息且当前项目是录波项目,则使用已设置的状态
|
||||
if (newValue.code == 25005 && item.code === 'wave_data') {
|
||||
const existingWaveItem = checkResult.find(checkItem => checkItem.scriptType === 'wave_data')
|
||||
if (existingWaveItem) {
|
||||
temp.devices = [...existingWaveItem.devices] // 保留已设置的devices
|
||||
}
|
||||
} else {
|
||||
// 找到message中所有scriptName与当前item.code匹配的项
|
||||
const matchedDevices = message
|
||||
.filter((msg: any) => msg.scriptName === item.code)
|
||||
.map((msg: any) => ({
|
||||
deviceId: msg.deviceId,
|
||||
deviceName: msg.deviceName,
|
||||
chnResult: msg.chnResult
|
||||
}))
|
||||
|
||||
// 添加匹配到的设备
|
||||
temp.devices.push(...matchedDevices)
|
||||
}
|
||||
result.push(temp)
|
||||
})
|
||||
Object.assign(checkResult, result)
|
||||
|
||||
if (newValue.code == 25001) {
|
||||
setLogList('info', '检测完成!')
|
||||
stopTimeCount()
|
||||
updatePercentage()
|
||||
}
|
||||
if(newValue.code == 25005){
|
||||
setLogList("error", '实时数据校验失败!开始录波校验...')
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
case 25003:
|
||||
setLogList('error', '检测失败!')
|
||||
stopTimeCount()
|
||||
updatePercentage()
|
||||
break
|
||||
default:
|
||||
if (newValue.code != 10201) {
|
||||
setLogList(newValue.code == 10200 ? 'info' : 'error', newValue.data)
|
||||
}
|
||||
|
||||
break
|
||||
}
|
||||
}
|
||||
},
|
||||
{deep: true}
|
||||
)
|
||||
@@ -472,67 +496,6 @@ const setLogList = (state: 'error' | 'info' | 'warning', text: string) => {
|
||||
})
|
||||
}
|
||||
|
||||
// 添加录波项目到 scriptData 的函数
|
||||
const addWaveScriptItem = () => {
|
||||
// 检查是否已经添加过录波项目
|
||||
if (!scriptData.some(item => item.code === 'wave_data')) {
|
||||
// 从原始数据中找到录波项目
|
||||
// 这里需要根据实际情况获取录波项目的原始数据
|
||||
const waveItem = scriptData.find(item => item.code === 'wave_data')
|
||||
const waveItem2 = {
|
||||
id: 'wave_data_id', // 需要替换为实际的ID
|
||||
code: 'wave_data',
|
||||
scriptName: '录波',
|
||||
// 添加其他必要的属性
|
||||
}
|
||||
|
||||
scriptData.push(waveItem2 as any)
|
||||
checkTotal = scriptData.length
|
||||
|
||||
// 初始化录波项目的检查结果为LOADING状态
|
||||
initWaveCheckResult()
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化录波项目的检查结果
|
||||
const initWaveCheckResult = () => {
|
||||
const waveItem = scriptData.find(item => item.code === 'wave_data')
|
||||
if (waveItem) {
|
||||
let temp: CheckData.ScriptChnItem = {
|
||||
scriptType: waveItem.id,
|
||||
code: waveItem.code,
|
||||
scriptName: waveItem.scriptName,
|
||||
devices: []
|
||||
}
|
||||
|
||||
for (let i = 0; i < deviceList?.length; i++) {
|
||||
let tempChnResult: CheckData.ChnCheckResultEnum[] = []
|
||||
for (let j = 0; j < checkStore.chnNumList.length; j++) {
|
||||
tempChnResult.push(CheckData.ChnCheckResultEnum.LOADING) // 设置为LOADING状态
|
||||
}
|
||||
temp.devices.push({
|
||||
deviceId: deviceList[i].deviceId,
|
||||
deviceName: deviceList[i].deviceName,
|
||||
chnResult: tempChnResult
|
||||
})
|
||||
}
|
||||
|
||||
// 添加到checkResult中
|
||||
checkResult.push(temp)
|
||||
}
|
||||
}
|
||||
|
||||
// 更新录波项目状态的函数
|
||||
const updateWaveItemStatus = (status: CheckData.ChnCheckResultEnum) => {
|
||||
const waveResultItem = checkResult.find(item => item.code === 'wave_data')
|
||||
if (waveResultItem) {
|
||||
// 更新所有通道的状态
|
||||
waveResultItem.devices.forEach(device => {
|
||||
device.chnResult.fill(status)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// 更新进度条
|
||||
const updatePercentage = async () => {
|
||||
if (testLogList.length - 1 < checkStore.chnNumList.length) {
|
||||
@@ -622,10 +585,8 @@ const initScriptData = async () => {
|
||||
devIds: checkStore.devices.map(item => item.deviceId),
|
||||
patternId: pattern
|
||||
})
|
||||
|
||||
// 格式化脚本数据,初始化时排除录波项目
|
||||
let temp = response.data
|
||||
.filter((item: any) => item.code !== 'wave_data') // 排除录波项目
|
||||
.map((item: any) => {
|
||||
return {
|
||||
...item,
|
||||
@@ -643,10 +604,8 @@ const initDeviceList = () => {
|
||||
}
|
||||
|
||||
// 初始化检测结果 (详细到通道)
|
||||
// 修改函数定义
|
||||
const initCheckResult = (defaultValue: CheckData.ChnCheckResultEnum) => {
|
||||
let result: CheckData.ScriptChnItem[] = []
|
||||
console.log('🚀 ~ initCheckResult ~ scriptData:', scriptData)
|
||||
|
||||
scriptData.forEach(item => {
|
||||
let temp: CheckData.ScriptChnItem = {
|
||||
@@ -659,7 +618,12 @@ const initCheckResult = (defaultValue: CheckData.ChnCheckResultEnum) => {
|
||||
for (let i = 0; i < deviceList?.length; i++) {
|
||||
let tempChnResult: CheckData.ChnCheckResultEnum[] = []
|
||||
for (let j = 0; j < checkStore.chnNumList.length; j++) {
|
||||
tempChnResult.push(defaultValue)
|
||||
// 录波项目初始化为UNKNOWN状态,其他项目使用传入的默认值
|
||||
if (item.code === 'wave_data') {
|
||||
tempChnResult.push(CheckData.ChnCheckResultEnum.UNKNOWN)
|
||||
} else {
|
||||
tempChnResult.push(defaultValue)
|
||||
}
|
||||
}
|
||||
temp.devices.push({
|
||||
deviceId: deviceList[i].deviceId,
|
||||
@@ -690,6 +654,7 @@ watch(
|
||||
// 点击查看(设备)通道检测详情。参数1:设备信息,参数2:通道号,-1:代表查看全部通道
|
||||
const handleClick = (item: any, chnNum: number, scriptType: string) => {
|
||||
let checkResultItem = checkResult.find(obj => obj.scriptType === scriptType)
|
||||
|
||||
let flag = -1
|
||||
if (checkResultItem) {
|
||||
let device = checkResultItem.devices.find(obj => obj.deviceId === item.deviceId)
|
||||
@@ -748,7 +713,9 @@ const initializeParameters = async () => {
|
||||
|
||||
//
|
||||
onMounted(() => {
|
||||
|
||||
if (!checkStore.selectTestItems.preTest) {
|
||||
console.log(222222)
|
||||
// 判断是否预检测
|
||||
initializeParameters()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user