录波数据查询
This commit is contained in:
@@ -122,7 +122,7 @@
|
||||
<script lang="tsx" setup name="test">
|
||||
import {InfoFilled, Loading} from '@element-plus/icons-vue'
|
||||
import CompareDataCheckSingleChannelSingleTestPopup from './compareDataCheckSingleChannelSingleTestPopup.vue'
|
||||
import {computed, ComputedRef, onBeforeMount, onMounted, reactive, ref, toRef, watch} from 'vue'
|
||||
import {computed, ComputedRef, nextTick, onBeforeMount, onMounted, reactive, ref, toRef, watch} from 'vue'
|
||||
import {dialogBig} from '@/utils/elementBind'
|
||||
import {CheckData} from '@/api/check/interface'
|
||||
import {useCheckStore} from '@/stores/modules/check'
|
||||
@@ -191,6 +191,8 @@ const checkResult = reactive<CheckData.ScriptChnItem[]>([])
|
||||
let errorCheckItem: Array<{ scriptType: string; type: CheckData.ChnCheckResultEnum }> = []
|
||||
// 用来存放检测日志
|
||||
const testLogList = reactive<CheckData.LogItem[]>([{type: 'info', log: '暂无数据,等待检测开始'}])
|
||||
// 添加一个响应式变量来跟踪是否需要显示录波项目
|
||||
const showWaveItem = ref(false)
|
||||
|
||||
const testStatus = toRef(props, 'testStatus')
|
||||
const webMsgSend = toRef(props, 'webMsgSend')
|
||||
@@ -340,6 +342,13 @@ watch(
|
||||
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 => {
|
||||
// 处理当前节点的数据
|
||||
@@ -386,6 +395,30 @@ watch(
|
||||
}
|
||||
}
|
||||
switch (newValue.requestId) {
|
||||
case 'record_wave_step2':
|
||||
switch (newValue.code) {
|
||||
|
||||
case 10200:
|
||||
setLogList('info', newValue.data)
|
||||
break
|
||||
case 25002:
|
||||
setLogList('error', newValue.data)
|
||||
break
|
||||
case 25003:
|
||||
ElMessageBox.alert('录波对齐失败!', {
|
||||
confirmButtonText: '确定',
|
||||
type: 'error'
|
||||
})
|
||||
stopTimeCount()
|
||||
break
|
||||
case 25001:
|
||||
console.log('newValue.code', newValue.code)
|
||||
// 当录波校验完成时,更新录波项目的按钮状态
|
||||
setLogList('info', newValue.data)
|
||||
updateWaveItemStatus(CheckData.ChnCheckResultEnum.SUCCESS) // 或根据实际结果设置状态
|
||||
break
|
||||
}
|
||||
break
|
||||
case 'connect':
|
||||
switch (newValue.operateCode) {
|
||||
case 'Contrast_Dev':
|
||||
@@ -439,6 +472,67 @@ 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) {
|
||||
@@ -529,13 +623,15 @@ const initScriptData = async () => {
|
||||
patternId: pattern
|
||||
})
|
||||
|
||||
// 格式化脚本数据
|
||||
let temp = response.data.map((item: any) => {
|
||||
return {
|
||||
...item,
|
||||
scriptName: item.scriptName
|
||||
}
|
||||
})
|
||||
// 格式化脚本数据,初始化时排除录波项目
|
||||
let temp = response.data
|
||||
.filter((item: any) => item.code !== 'wave_data') // 排除录波项目
|
||||
.map((item: any) => {
|
||||
return {
|
||||
...item,
|
||||
scriptName: item.scriptName
|
||||
}
|
||||
})
|
||||
|
||||
// 保存脚本数据并设置总数
|
||||
scriptData.push(...temp)
|
||||
|
||||
Reference in New Issue
Block a user