This commit is contained in:
caozehui
2025-02-26 19:31:34 +08:00
parent d225391248
commit 8be96ca64e
2 changed files with 287 additions and 281 deletions

View File

@@ -51,12 +51,12 @@
<!-- :icon="Failed"-->
<!-- disabled>连接超时-->
<!-- </el-button>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- :icon="RefreshLeft"-->
<!-- v-if="testStatus === 'recheck'"-->
<!-- @click="emit('sendReCheck')">重新检测-->
<!-- </el-button>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- :icon="RefreshLeft"-->
<!-- v-if="testStatus === 'recheck'"-->
<!-- @click="emit('sendReCheck')">重新检测-->
<!-- </el-button>-->
<el-button type="success" v-if="percentage >= 100" :icon="Check" disabled>检测完成</el-button>
@@ -183,6 +183,9 @@ const props = defineProps({
type: String,
default: 'waiting'
},
stepsActive: {
type: Number,
},
webMsgSend: {
type: Object,
default: () => ({})
@@ -347,295 +350,297 @@ watch(testStatus, function (newValue, oldValue) {
let count = 0
watch(webMsgSend, function (newValue, oldValue) {
if (newValue.code == 10520) {
ElMessageBox.alert('报文解析异常!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:报文解析异常!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10521) {
ElMessageBox.alert('程控源參数有误!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:程控源參数有误!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10522) {
ElMessageBox.alert('测试项解析有误!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:测试项解析有误!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10523) {
if (count === 0) {
ElMessageBox.alert('源连接失败!', '初始化失败', {
if (props.stepsActive === 4) {
if (newValue.code == 10520) {
ElMessageBox.alert('报文解析异常!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}源连接失败`})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}报文解析异常`})
emit('update:testStatus', 'test_init_fail')
count++
}
} else if (newValue.code == 10524) {
ElMessageBox.alert('获取源控制权失败!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:获取源控制权失败!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10525) {
ElMessageBox.alert('重置源失败!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:重置源失败!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10527) {
ElMessageBox.alert('源未进行初始化!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:源未进行初始化!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10528) {
ElMessageBox.alert('目标源有误(该用户已控制其他源,在关闭前无法操作新的源)', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:目标源有误(该用户已控制其他源,在关闭前无法操作新的源)`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10529) {
ElMessageBox.alert('源状态有误,无法响应报文(例如源处于输出状态,无法响应初始化报文)', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:源状态有误,无法响应报文(例如源处于输出状态,无法响应初始化报文)`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10550) {
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}${newValue.data}设备连接异常!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10551) {
ElMessageBox.alert(`${newValue.data}设备触发报告异常!`, '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}${newValue.data}设备触发报告异常!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10552) { //todo 10552之后还会发送消息吗
ElMessageBox.alert('存在已经初始化步骤,执行自动关闭,请重新发起检测', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({
type: 'error',
log: `${new Date().toLocaleString()}:存在已经初始化步骤,执行自动关闭,请重新发起检测!`
})
// emit('update:testStatus', 'recheck')
emit('update:testStatus', 'test_init_fail')
} else {
switch (newValue.requestId) {
case 'server_error':
if (newValue.operateCode === 'server_error' && count === 0) {
ElMessageBox.alert('源连接失败!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:源连接失败!`})
emit('update:testStatus', 'test_init_fail')
count++
}
break;
case 'formal_real': // 正式测试
switch (newValue.operateCode) {
case "stop_timeout":
ElMessageBox.alert(`暂停时间已过10分钟本次检测已失效请重新发起检测`, '暂停时间过长', {
confirmButtonText: '确定',
type: 'error',
})
emit('update:testStatus', 'pause_timeout')
break;
}
break;
case 'error_flow_end':
ElMessageBox.alert(`设备连接异常,请检查设备连接情况!`, '初始化失败', {
} else if (newValue.code == 10521) {
ElMessageBox.alert('程控源參数有误!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:程控源參数有误!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10522) {
ElMessageBox.alert('测试项解析有误!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:测试项解析有误!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10523) {
if (count === 0) {
ElMessageBox.alert('源连接失败!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:源连接失败!`})
emit('update:testStatus', 'test_init_fail')
break
case 'socket_timeout':
switch (newValue.operateCode) {
case "VOLTAGE":
// todo 超时处理 页面按钮更新
ElMessageBox.alert('连接超时!', '连接超时', {
count++
}
} else if (newValue.code == 10524) {
ElMessageBox.alert('获取源控制权失败!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:获取源控制权失败!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10525) {
ElMessageBox.alert('重置源失败!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:重置源失败!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10527) {
ElMessageBox.alert('源未进行初始化!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:源未进行初始化!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10528) {
ElMessageBox.alert('目标源有误(该用户已控制其他源,在关闭前无法操作新的源)', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:目标源有误(该用户已控制其他源,在关闭前无法操作新的源)`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10529) {
ElMessageBox.alert('源状态有误,无法响应报文(例如源处于输出状态,无法响应初始化报文)', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:源状态有误,无法响应报文(例如源处于输出状态,无法响应初始化报文)`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10550) {
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}${newValue.data}设备连接异常!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10551) {
ElMessageBox.alert(`${newValue.data}设备触发报告异常!`, '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}${newValue.data}设备触发报告异常!`})
emit('update:testStatus', 'test_init_fail')
} else if (newValue.code == 10552) { //todo 10552之后还会发送消息吗
ElMessageBox.alert('存在已经初始化步骤,执行自动关闭,请重新发起检测', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({
type: 'error',
log: `${new Date().toLocaleString()}:存在已经初始化步骤,执行自动关闭,请重新发起检测!`
})
// emit('update:testStatus', 'recheck')
emit('update:testStatus', 'test_init_fail')
} else {
switch (newValue.requestId) {
case 'server_error':
if (newValue.operateCode === 'server_error' && count === 0) {
ElMessageBox.alert('源连接失败!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
emit('update:testStatus', 'connect_timeout')
break;
}
break;
// case 'connect':
// switch (newValue.operateCode) {
// case "Source":
// ElMessageBox.alert('源通讯失败,请检查源连接情况!', '初始化失败', {
// confirmButtonText: '确定',
// type: 'error',
// })
// testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:源通讯失败!`})
// break;
// case "Dev":
// ElMessageBox.alert('设备通讯失败,请检查设备连接情况!', '初始化失败', {
// confirmButtonText: '确定',
// type: 'error',
// })
// testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:设备通讯失败!`})
// break;
// }
// emit('update:testStatus', 'test_init_fail')
// break;
case 'yjc_ytxjy':
switch (newValue.operateCode) {
case 'INIT_GATHER':
if (newValue.code == 10200) {
testLogList.push({type: 'info', log: `${new Date().toLocaleString()}:源初始化成功!`})
percentage.value = 1
}
if (newValue.code == -1) {
ElMessageBox.alert('源未知异常!', '初始化失败', {
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:源连接失败!`})
emit('update:testStatus', 'test_init_fail')
count++
}
break;
case 'formal_real': // 正式测试
switch (newValue.operateCode) {
case "stop_timeout":
ElMessageBox.alert(`暂停时间已过10分钟本次检测已失效请重新发起检测`, '暂停时间过长', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:源未知异常!`})
emit('update:testStatus', 'test_init_fail')
}
break;
}
break;
case 'yjc_sbtxjy':
switch (newValue.operateCode) {
case 'INIT_GATHER$01':
if (newValue.code == 25001) {
testLogList.push({type: 'info', log: `${new Date().toLocaleString()}:设备通讯校验成功!`})
percentage.value = 2
}
break
}
break;
case 'yjc_xyjy':
switch (newValue.operateCode) {
case 'INIT_GATHER$03':
if (newValue.code == 25001) {
ElMessage.success('初始化成功!')
testLogList.push({type: 'info', log: `${new Date().toLocaleString()}:协议校验成功!`})
timeDifference.value = +new Date().getTime() - startData.value.getTime();
testLogList.push({type: 'info', log: `${new Date().toLocaleString()}:初始化成功!`})
percentage.value = 3
emit('update:testStatus', 'pause_timeout')
break;
}
break;
case 'error_flow_end':
ElMessageBox.alert(`设备连接异常,请检查设备连接情况!`, '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
emit('update:testStatus', 'test_init_fail')
break
case 'socket_timeout':
switch (newValue.operateCode) {
case "VOLTAGE":
// todo 超时处理 页面按钮更新
ElMessageBox.alert('连接超时!', '连接超时', {
confirmButtonText: '确定',
type: 'error',
})
emit('update:testStatus', 'connect_timeout')
break;
}
break;
// case 'connect':
// switch (newValue.operateCode) {
// case "Source":
// ElMessageBox.alert('源通讯失败,请检查源连接情况!', '初始化失败', {
// confirmButtonText: '确定',
// type: 'error',
// })
// testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:源通讯失败!`})
// break;
// case "Dev":
// ElMessageBox.alert('设备通讯失败,请检查设备连接情况!', '初始化失败', {
// confirmButtonText: '确定',
// type: 'error',
// })
// testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:设备通讯失败!`})
// break;
// }
// emit('update:testStatus', 'test_init_fail')
// break;
case 'yjc_ytxjy':
switch (newValue.operateCode) {
case 'INIT_GATHER':
if (newValue.code == 10200) {
testLogList.push({type: 'info', log: `${new Date().toLocaleString()}:源初始化成功!`})
percentage.value = 1
}
if (newValue.code == -1) {
ElMessageBox.alert('源未知异常!', '初始化失败', {
confirmButtonText: '确定',
type: 'error',
})
testLogList.push({type: 'error', log: `${new Date().toLocaleString()}:源未知异常!`})
emit('update:testStatus', 'test_init_fail')
}
break;
}
break;
case 'yjc_sbtxjy':
switch (newValue.operateCode) {
case 'INIT_GATHER$01':
if (newValue.code == 25001) {
testLogList.push({type: 'info', log: `${new Date().toLocaleString()}:设备通讯校验成功!`})
percentage.value = 2
}
break
}
break;
case 'yjc_xyjy':
switch (newValue.operateCode) {
case 'INIT_GATHER$03':
if (newValue.code == 25001) {
ElMessage.success('初始化成功!')
testLogList.push({type: 'info', log: `${new Date().toLocaleString()}:协议校验成功!`})
timeDifference.value = +new Date().getTime() - startData.value.getTime();
testLogList.push({type: 'info', log: `${new Date().toLocaleString()}:初始化成功!`})
percentage.value = 3
activeIndex = getNextActiveIndex() + 2
//startTimer()
activeIndex = getNextActiveIndex() + 2
//startTimer()
emit('update:testStatus', 'process')
}
break;
}
break;
case 'preStopTest':
if (newValue.operateCode == 'stop') {
ElMessage.success('暂停成功')
emit('update:testStatus', 'paused')
pauseSuccessCallback()
}
break;
// case 'Pause_Fail':
// ElMessage.error('暂停失败')
// break;
case 'Resume_Success':
ElMessage.success('开始继续检测')
emit('update:testStatus', 'process')
handleResumeTest()
break;
// case 'Resume_Fail':
// ElMessage.error('无法继续检测')
// break;
case 'FREQ_Start':
handleStartItem('FREQ', newValue.desc)
break;
case 'FREQ_End':
handleEndItem('FREQ', newValue.desc, newValue.data)
break;
case 'V_Start':
handleStartItem('V', newValue.desc)
break;
case 'V_End':
handleEndItem('V', newValue.desc, newValue.data)
break;
case 'HV_Start':
handleStartItem('HV', newValue.desc)
break;
case 'HV_End':
handleEndItem('HV', newValue.desc, newValue.data)
break;
case 'HI_Start':
handleStartItem('HI', newValue.desc)
break;
case 'HI_End':
handleEndItem('HI', newValue.desc, newValue.data)
break;
case 'HP_Start':
handleStartItem('HP', newValue.desc)
break;
case 'HP_End':
handleEndItem('HP', newValue.desc, newValue.data)
break;
case 'HSV_Start':
handleStartItem('HSV', newValue.desc)
break;
case 'HSV_End':
handleEndItem('HSV', newValue.desc, newValue.data)
break;
case 'HSI_Start':
handleStartItem('HSI', newValue.desc)
break;
case 'HSI_End':
handleEndItem('HSI', newValue.desc, newValue.data)
break;
case 'VOLTAGE_Start':
handleStartItem('VOLTAGE', newValue.desc)
break;
case 'VOLTAGE_End':
handleEndItem('VOLTAGE', newValue.desc, newValue.data)
break;
case 'I_Start':
handleStartItem('I', newValue.desc)
break;
case 'I_End':
handleEndItem('I', newValue.desc, newValue.data)
break;
case 'IMBV_Start':
handleStartItem('IMBV', newValue.desc)
break;
case 'IMBV_End':
handleEndItem('IMBV', newValue.desc, newValue.data)
break;
case 'IMBA_Start':
handleStartItem('IMBA', newValue.desc)
break;
case 'IMBA_End':
handleEndItem('IMBA', newValue.desc, newValue.data)
break;
case 'F_Start':
handleStartItem('F', newValue.desc)
break;
case 'F_End':
handleEndItem('F', newValue.desc, newValue.data)
break;
case 'Quit':
console.log('检测结束')
break;
emit('update:testStatus', 'process')
}
break;
}
break;
case 'preStopTest':
if (newValue.operateCode == 'stop') {
ElMessage.success('暂停成功')
emit('update:testStatus', 'paused')
pauseSuccessCallback()
}
break;
// case 'Pause_Fail':
// ElMessage.error('暂停失败')
// break;
case 'Resume_Success':
ElMessage.success('开始继续检测')
emit('update:testStatus', 'process')
handleResumeTest()
break;
// case 'Resume_Fail':
// ElMessage.error('无法继续检测')
// break;
case 'FREQ_Start':
handleStartItem('FREQ', newValue.desc)
break;
case 'FREQ_End':
handleEndItem('FREQ', newValue.desc, newValue.data)
break;
case 'V_Start':
handleStartItem('V', newValue.desc)
break;
case 'V_End':
handleEndItem('V', newValue.desc, newValue.data)
break;
case 'HV_Start':
handleStartItem('HV', newValue.desc)
break;
case 'HV_End':
handleEndItem('HV', newValue.desc, newValue.data)
break;
case 'HI_Start':
handleStartItem('HI', newValue.desc)
break;
case 'HI_End':
handleEndItem('HI', newValue.desc, newValue.data)
break;
case 'HP_Start':
handleStartItem('HP', newValue.desc)
break;
case 'HP_End':
handleEndItem('HP', newValue.desc, newValue.data)
break;
case 'HSV_Start':
handleStartItem('HSV', newValue.desc)
break;
case 'HSV_End':
handleEndItem('HSV', newValue.desc, newValue.data)
break;
case 'HSI_Start':
handleStartItem('HSI', newValue.desc)
break;
case 'HSI_End':
handleEndItem('HSI', newValue.desc, newValue.data)
break;
case 'VOLTAGE_Start':
handleStartItem('VOLTAGE', newValue.desc)
break;
case 'VOLTAGE_End':
handleEndItem('VOLTAGE', newValue.desc, newValue.data)
break;
case 'I_Start':
handleStartItem('I', newValue.desc)
break;
case 'I_End':
handleEndItem('I', newValue.desc, newValue.data)
break;
case 'IMBV_Start':
handleStartItem('IMBV', newValue.desc)
break;
case 'IMBV_End':
handleEndItem('IMBV', newValue.desc, newValue.data)
break;
case 'IMBA_Start':
handleStartItem('IMBA', newValue.desc)
break;
case 'IMBA_End':
handleEndItem('IMBA', newValue.desc, newValue.data)
break;
case 'F_Start':
handleStartItem('F', newValue.desc)
break;
case 'F_End':
handleEndItem('F', newValue.desc, newValue.data)
break;
case 'Quit':
console.log('检测结束')
break;
}
}
}
@@ -666,7 +671,7 @@ const handleEndItem = (code: string, desc: string | undefined, devices: CheckDat
} else {
let result = getResult(devices)
if (desc.length > 150) {
desc = desc.substring(0,150) + '...'
desc = desc.substring(0, 150) + '...'
}
if (result === 1) {
testLogList.push({type: 'info', log: `${new Date().toLocaleString()}${desc}检测结束:符合`})
@@ -1385,7 +1390,7 @@ const getNextActiveIndex = (code: string = ''): number => {
return -1
}
const startTimeCount = () => {
if(!timer){
if (!timer) {
timer = setInterval(() => {
timeCount.value = timeCount.value + 1
timeView.value = secondToTime(timeCount.value)

View File

@@ -17,7 +17,7 @@
<!-- <channelsTest v-if="stepsActiveIndex === 3" v-model:testStatus="channelsTestStatus"></channelsTest>-->
<factorTest v-if="showComponent&&channelsTestSelected" v-show="channelsTestSelected && stepsActiveView==3" v-model:testStatus="channelsTestStatus"/>
<test v-if="showComponent&&testSelected" v-show="testSelected && stepsActiveView==4" v-model:testStatus="TestStatus" :webMsgSend="webMsgSend"
@update:webMsgSend="webMsgSend=$event" @sendPause="sendPause" @sendResume="sendResume" @sendReCheck="sendReCheck"/>
@update:webMsgSend="webMsgSend=$event" @sendPause="sendPause" @sendResume="sendResume" @sendReCheck="sendReCheck" :stepsActive="stepsActive"/>
<template #footer>
<div>
@@ -183,6 +183,7 @@ const handleSubmit = () => {
ElMessage.error('webSocket连接中断')
return
}
console.log("handleSubmit",stepsActive.value,TestStatus.value)
switch (stepsActive.value) {
case 1:
startPreTest({