diff --git a/frontend/src/views/home/components/test.vue b/frontend/src/views/home/components/test.vue index 543d765..fe2ef6b 100644 --- a/frontend/src/views/home/components/test.vue +++ b/frontend/src/views/home/components/test.vue @@ -51,12 +51,12 @@ - - - - - - + + + + + + 检测完成 @@ -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) diff --git a/frontend/src/views/home/components/testPopup.vue b/frontend/src/views/home/components/testPopup.vue index b43b29f..b47587d 100644 --- a/frontend/src/views/home/components/testPopup.vue +++ b/frontend/src/views/home/components/testPopup.vue @@ -17,7 +17,7 @@ + @update:webMsgSend="webMsgSend=$event" @sendPause="sendPause" @sendResume="sendResume" @sendReCheck="sendReCheck" :stepsActive="stepsActive"/> @@ -183,6 +183,7 @@ const handleSubmit = () => { ElMessage.error('webSocket连接中断!') return } + console.log("handleSubmit",stepsActive.value,TestStatus.value) switch (stepsActive.value) { case 1: startPreTest({