diff --git a/frontend/src/views/home/components/channelsTest.vue b/frontend/src/views/home/components/channelsTest.vue index f2ba72c..9bd6d0e 100644 --- a/frontend/src/views/home/components/channelsTest.vue +++ b/frontend/src/views/home/components/channelsTest.vue @@ -142,251 +142,325 @@ const currentStepStatus = ref<'error' | 'finish' | 'wait' | 'success' | 'process const webMsgSend = toRef(props, 'webMsgSend'); watch(webMsgSend,function (newValue,oldValue){ - switch (newValue.requestId){ - case 'yjc_ytxjy': - switch (newValue.operateCode) { - case'INIT_GATHER': - if(newValue.code ==-1){ - ElMessageBox.alert('源未知异常', '初始化失败', { - confirmButtonText: '确定', - type: 'error', - }) - TableInit(); - }else if (newValue.code == 10523) { - ElMessageBox.alert('源连接失败', '源连接失败', { - confirmButtonText: '确定', - type: 'error', - }) - TableInit(); - } - } - break; - case 'YJC_xujy': - switch (newValue.operateCode) { - case 'OPER_GATHER': - if (newValue.code == 10552) { - ElMessageBox.alert('存在已经初始化步骤,执行自动关闭,请重新发起检测', '初始化失败', { - confirmButtonText: '确定', - type: 'error', - }) - TableInit(); - } else if (newValue.code == 10520) { - ElMessageBox.alert('解析报文异常,执行自动关闭,请重新发起检测', '解析报文异常', { - confirmButtonText: '确定', - type: 'error', - }) - TableInit(); - } - break; - case 'DATA_REQUEST$02': - if (newValue.code == 25003) { - ElMessageBox.alert('相序校验未通过,执行自动关闭,请重新发起检测', '相序校验未通过', { - confirmButtonText: '确定', - type: 'error', - }) - TableInit(); + if (newValue.code == 10520) { + ElMessageBox.alert('报文解析异常!', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10521) { + ElMessageBox.alert('程控源參数有误!', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10522) { + ElMessageBox.alert('测试项解析有误!', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10523) { + ElMessageBox.alert('源连接失败!', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10524) { + ElMessageBox.alert('获取源控制权失败!', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10525) { + ElMessageBox.alert('重置源失败!', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10527) { + ElMessageBox.alert('源未进行初始化!', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10528) { + ElMessageBox.alert('目标源有误(该用户已控制其他源,在关闭前无法操作新的源)!', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10529) { + ElMessageBox.alert('源状态有误,无法响应报文(例如源处于输出状态,无法响应初始化报文)!', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10550) { + ElMessageBox.alert(`${newValue.data}设备连接异常!`, '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10551) { + ElMessageBox.alert(`${newValue.data}设备触发报告异常!`, '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10552) { //todo 10552之后还会发送消息吗? + ElMessageBox.alert('存在已经初始化步骤,执行自动关闭,请重新发起检测', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else { + switch (newValue.requestId){ + case 'yjc_ytxjy': + switch (newValue.operateCode) { + case'INIT_GATHER': + if(newValue.code ==-1){ + ElMessageBox.alert('源未知异常', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + }else if (newValue.code == 10523) { + ElMessageBox.alert('源连接失败', '源连接失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); } - break; } break; - case 'yjc_sbtxjy': - switch (newValue.operateCode) { - case 'INIT_GATHER$01': - if (newValue.code == 10550) { - ElMessageBox.alert('设备连接异常', '设备连接异常', { - confirmButtonText: '确定', - type: 'error', - }) - TableInit(); - }else if (newValue.code == 10551) { - ElMessageBox.alert('设备触发报告异常', '设备触发报告异常', { - confirmButtonText: '确定', - type: 'error', - }) - TableInit(); - } else if (newValue.code == 10552) { - ElMessageBox.alert('存在已经初始化步骤,执行自动关闭,请重新发起检测', '初始化失败', { - confirmButtonText: '确定', - type: 'error', - }) - TableInit(); - } else if (newValue.code == 10520) { - ElMessageBox.alert('解析报文异常,执行自动关闭,请重新发起检测', '解析报文异常', { - confirmButtonText: '确定', - type: 'error', - }) - TableInit(); - } - + case 'YJC_xujy': + switch (newValue.operateCode) { + case 'OPER_GATHER': + if (newValue.code == 10552) { + ElMessageBox.alert('存在已经初始化步骤,执行自动关闭,请重新发起检测', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10520) { + ElMessageBox.alert('解析报文异常,执行自动关闭,请重新发起检测', '解析报文异常', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } + break; + case 'DATA_REQUEST$02': + if (newValue.code == 25003) { + ElMessageBox.alert('相序校验未通过,执行自动关闭,请重新发起检测', '相序校验未通过', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } + break; + } + break; + case 'yjc_sbtxjy': + switch (newValue.operateCode) { + case 'INIT_GATHER$01': + if (newValue.code == 10550) { + ElMessageBox.alert('设备连接异常', '设备连接异常', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + }else if (newValue.code == 10551) { + ElMessageBox.alert('设备触发报告异常', '设备触发报告异常', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10552) { + ElMessageBox.alert('存在已经初始化步骤,执行自动关闭,请重新发起检测', '初始化失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } else if (newValue.code == 10520) { + ElMessageBox.alert('解析报文异常,执行自动关闭,请重新发起检测', '解析报文异常', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + } + + break; + } + break; + case 'Coefficient_Check': + console.log("Coefficient_Checkactive",active.value); + switch (newValue.operateCode){ + case 'big_end'://大电压,电流下装 + active.value++; + big_V_Download.value = 'Ua=Ub=Uc=' + newValue.data.devVolt + 'V'; + big_I_Download.value = 'Ia=Ib=Ic=' + newValue.data.devCurr + 'A'; + + tableLoading('small','系数下装') break; - } - break; - case 'Coefficient_Check': - console.log("Coefficient_Checkactive",active.value); - switch (newValue.operateCode){ - case 'big_end'://大电压,电流下装 - active.value++; - big_V_Download.value = 'Ua=Ub=Uc=' + newValue.data.devVolt + 'V'; - big_I_Download.value = 'Ia=Ib=Ic=' + newValue.data.devCurr + 'A'; + } + switch (newValue.operateCode){ + case 'small_end'://小电压,电流下装 + active.value++; + small_V_Download.value = 'Ua=Ub=Uc=' + newValue.data.devVolt + 'V'; + small_I_Download.value = 'Ia=Ib=Ic=' + newValue.data.devCurr + 'A'; - tableLoading('small','系数下装') - break; - } - switch (newValue.operateCode){ - case 'small_end'://小电压,电流下装 - active.value++; - small_V_Download.value = 'Ua=Ub=Uc=' + newValue.data.devVolt + 'V'; - small_I_Download.value = 'Ia=Ib=Ic=' + newValue.data.devCurr + 'A'; + tableLoading('big','系数校准') + break; + } + switch (newValue.operateCode){ + case 'big_comp_end'://大电压,电流校准 + active.value++; + big_V_Adjust.value = 'Ua=Ub=Uc=' + newValue.data.devVolt + 'V'; + big_I_Adjust.value = 'Ia=Ib=Ic=' + newValue.data.devCurr + 'A'; - tableLoading('big','系数校准') - break; - } - switch (newValue.operateCode){ - case 'big_comp_end'://大电压,电流校准 - active.value++; - big_V_Adjust.value = 'Ua=Ub=Uc=' + newValue.data.devVolt + 'V'; - big_I_Adjust.value = 'Ia=Ib=Ic=' + newValue.data.devCurr + 'A'; + tableLoading('small','系数校准') + break; + } + switch (newValue.operateCode){ + case 'small_comp_end'://小电压,电流校准 + active.value++; + small_V_Adjust.value = 'Ua=Ub=Uc=' + newValue.data.devVolt + 'V'; + small_I_Adjust.value = 'Ia=Ib=Ic=' + newValue.data.devCurr + 'A'; + active.value++; - tableLoading('small','系数校准') - break; - } - switch (newValue.operateCode){ - case 'small_comp_end'://小电压,电流校准 - active.value++; - small_V_Adjust.value = 'Ua=Ub=Uc=' + newValue.data.devVolt + 'V'; - small_I_Adjust.value = 'Ia=Ib=Ic=' + newValue.data.devCurr + 'A'; - active.value++; - - for (let i = 0; i < name.value.length; i++) { - const currentDataRef = tableDataMap.get(i); - if (currentDataRef) { - const currentData = currentDataRef.value; - // 检查当前数据中有无不合格字段 - const hasError = checkForErrors(currentData); - if (hasError) { - } else { - qualified.value++; + for (let i = 0; i < name.value.length; i++) { + const currentDataRef = tableDataMap.get(i); + if (currentDataRef) { + const currentData = currentDataRef.value; + // 检查当前数据中有无不合格字段 + const hasError = checkForErrors(currentData); + if (hasError) { + } else { + qualified.value++; + } + updateErrorState(i, hasError); } - updateErrorState(i, hasError); - } - } - - //editableTabsValue.value = (tabNumber.value).toString();//显示下一个tab - isButtonDisabled.value = false; // 恢复按钮 - break; - } - switch (newValue.operateCode){ - case 'DATA_CHNFACTOR$02'://表格 - // 输出 key 为 0 的数组中的第一条 ChannelsTest.CoefficientVO 对象 - for (let i = 0; i < name.value.length; i++) { - const targetArrayRef = tableDataMap.get(i); - if (targetArrayRef) { - const targetArray = targetArrayRef.value; - if (targetArray.length > 0) { - const firstCoefficientVO = targetArray.find(item => item.monitorNum === newValue.data.monitorNum && - item.type === newValue.data.type && - item.desc === newValue.data.desc && - item.devName === newValue.data.devName); - if (firstCoefficientVO) { // 检查 firstCoefficientVO 是否存在 - firstCoefficientVO.aVuData = parseFloat(newValue.data.aVuData).toFixed(4); + } + + //editableTabsValue.value = (tabNumber.value).toString();//显示下一个tab + isButtonDisabled.value = false; // 恢复按钮 + break; + } + switch (newValue.operateCode){ + case 'DATA_CHNFACTOR$02'://表格 + // 输出 key 为 0 的数组中的第一条 ChannelsTest.CoefficientVO 对象 + for (let i = 0; i < name.value.length; i++) { + const targetArrayRef = tableDataMap.get(i); + if (targetArrayRef) { + const targetArray = targetArrayRef.value; + if (targetArray.length > 0) { + const firstCoefficientVO = targetArray.find(item => item.monitorNum === newValue.data.monitorNum && + item.type === newValue.data.type && + item.desc === newValue.data.desc && + item.devName === newValue.data.devName); + if (firstCoefficientVO) { // 检查 firstCoefficientVO 是否存在 + firstCoefficientVO.aVuData = parseFloat(newValue.data.aVuData).toFixed(4); - if (!isNaN(parseFloat(newValue.data.aVuXi)) && isFinite(newValue.data.aVuXi)) { - firstCoefficientVO.aVuXi = (parseFloat(newValue.data.aVuXi) / 10000).toFixed(4); + if (!isNaN(parseFloat(newValue.data.aVuXi)) && isFinite(newValue.data.aVuXi)) { + firstCoefficientVO.aVuXi = (parseFloat(newValue.data.aVuXi) / 10000).toFixed(4); + } else { + firstCoefficientVO.aVuXi = newValue.data.aVuXi; + } + + firstCoefficientVO.bVuData = parseFloat(newValue.data.bVuData).toFixed(4); + + if (!isNaN(parseFloat(newValue.data.bVuXi)) && isFinite(newValue.data.bVuXi)) { + firstCoefficientVO.bVuXi = (parseFloat(newValue.data.bVuXi) / 10000).toFixed(4); + } else { + firstCoefficientVO.bVuXi = newValue.data.bVuXi; + } + + firstCoefficientVO.cVuData = parseFloat(newValue.data.cVuData).toFixed(4); + + if (!isNaN(parseFloat(newValue.data.cVuXi)) && isFinite(newValue.data.cVuXi)) { + firstCoefficientVO.cVuXi = (parseFloat(newValue.data.cVuXi) / 10000).toFixed(4); + } else { + firstCoefficientVO.cVuXi = newValue.data.cVuXi; + } + + firstCoefficientVO.aIeData = parseFloat(newValue.data.aIeData).toFixed(4); + + if (!isNaN(parseFloat(newValue.data.aIeXi)) && isFinite(newValue.data.aIeXi)) { + firstCoefficientVO.aIeXi = (parseFloat(newValue.data.aIeXi) / 10000).toFixed(4); + } else { + firstCoefficientVO.aIeXi = newValue.data.aIeXi; + } + + firstCoefficientVO.bIeData = parseFloat(newValue.data.bIeData).toFixed(4); + + if (!isNaN(parseFloat(newValue.data.bIeXi)) && isFinite(newValue.data.bIeXi)) { + firstCoefficientVO.bIeXi = (parseFloat(newValue.data.bIeXi) / 10000).toFixed(4); + } else { + firstCoefficientVO.bIeXi = newValue.data.bIeXi; + } + + firstCoefficientVO.cIeData = parseFloat(newValue.data.cIeData).toFixed(4); + + if (!isNaN(parseFloat(newValue.data.cIeXi)) && isFinite(newValue.data.cIeXi)) { + firstCoefficientVO.cIeXi = (parseFloat(newValue.data.cIeXi) / 10000).toFixed(4); + } else { + firstCoefficientVO.cIeXi = newValue.data.cIeXi; + } + + firstCoefficientVO.aV = newValue.data.aV; + firstCoefficientVO.bV = newValue.data.bV; + firstCoefficientVO.cV = newValue.data.cV; + firstCoefficientVO.aI = newValue.data.aI; + firstCoefficientVO.bI = newValue.data.bI; + firstCoefficientVO.cI = newValue.data.cI; + //console.log(newValue.data.devName + '对象:', firstCoefficientVO); + activeIndex.value++; } else { - firstCoefficientVO.aVuXi = newValue.data.aVuXi; + //console.log('未找到匹配的'+ newValue.data.devName+'对象'); } - - firstCoefficientVO.bVuData = parseFloat(newValue.data.bVuData).toFixed(4); - - if (!isNaN(parseFloat(newValue.data.bVuXi)) && isFinite(newValue.data.bVuXi)) { - firstCoefficientVO.bVuXi = (parseFloat(newValue.data.bVuXi) / 10000).toFixed(4); - } else { - firstCoefficientVO.bVuXi = newValue.data.bVuXi; - } - - firstCoefficientVO.cVuData = parseFloat(newValue.data.cVuData).toFixed(4); - - if (!isNaN(parseFloat(newValue.data.cVuXi)) && isFinite(newValue.data.cVuXi)) { - firstCoefficientVO.cVuXi = (parseFloat(newValue.data.cVuXi) / 10000).toFixed(4); - } else { - firstCoefficientVO.cVuXi = newValue.data.cVuXi; - } - - firstCoefficientVO.aIeData = parseFloat(newValue.data.aIeData).toFixed(4); - - if (!isNaN(parseFloat(newValue.data.aIeXi)) && isFinite(newValue.data.aIeXi)) { - firstCoefficientVO.aIeXi = (parseFloat(newValue.data.aIeXi) / 10000).toFixed(4); - } else { - firstCoefficientVO.aIeXi = newValue.data.aIeXi; - } - - firstCoefficientVO.bIeData = parseFloat(newValue.data.bIeData).toFixed(4); - - if (!isNaN(parseFloat(newValue.data.bIeXi)) && isFinite(newValue.data.bIeXi)) { - firstCoefficientVO.bIeXi = (parseFloat(newValue.data.bIeXi) / 10000).toFixed(4); - } else { - firstCoefficientVO.bIeXi = newValue.data.bIeXi; - } - - firstCoefficientVO.cIeData = parseFloat(newValue.data.cIeData).toFixed(4); - - if (!isNaN(parseFloat(newValue.data.cIeXi)) && isFinite(newValue.data.cIeXi)) { - firstCoefficientVO.cIeXi = (parseFloat(newValue.data.cIeXi) / 10000).toFixed(4); - } else { - firstCoefficientVO.cIeXi = newValue.data.cIeXi; - } - - firstCoefficientVO.aV = newValue.data.aV; - firstCoefficientVO.bV = newValue.data.bV; - firstCoefficientVO.cV = newValue.data.cV; - firstCoefficientVO.aI = newValue.data.aI; - firstCoefficientVO.bI = newValue.data.bI; - firstCoefficientVO.cI = newValue.data.cI; - //console.log(newValue.data.devName + '对象:', firstCoefficientVO); - activeIndex.value++; } else { - //console.log('未找到匹配的'+ newValue.data.devName+'对象'); + //console.log(newValue.data.devName + '数组为空'); } } else { - //console.log(newValue.data.devName + '数组为空'); + //console.log('未找到'+newValue.data.devName+'对应的数组'); } - } else { - //console.log('未找到'+newValue.data.devName+'对应的数组'); } - } - break; - } - break; - case 'socket_timeout': - switch(newValue.operateCode){ - case 'VOLTAGE': - ElMessageBox.alert('连接超时!', '连接超时', { - confirmButtonText: '确定', - type: 'error', - }) - TableInit(); - break; - } - break; - case 'connect': - switch (newValue.operateCode){ - case "Source": - ElMessageBox.alert('源服务端连接失败', '源服务端连接失败', { - confirmButtonText: '确定', - type: 'error', - }) + break; + } + break; + case 'socket_timeout': + switch(newValue.operateCode){ + case 'VOLTAGE': + ElMessageBox.alert('连接超时!', '连接超时', { + confirmButtonText: '确定', + type: 'error', + }) TableInit(); break; - case "Dev": - ElMessageBox.alert('设备服务端连接失败', '设备服务端连接失败', { - confirmButtonText: '确定', - type: 'error', - }) - TableInit(); - break; - } - - break; + } + break; + case 'connect': + switch (newValue.operateCode){ + case "Source": + ElMessageBox.alert('源服务端连接失败', '源服务端连接失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + break; + case "Dev": + ElMessageBox.alert('设备服务端连接失败', '设备服务端连接失败', { + confirmButtonText: '确定', + type: 'error', + }) + TableInit(); + break; + } + + break; + } } }) diff --git a/frontend/src/views/machine/device/index.vue b/frontend/src/views/machine/device/index.vue index 287737c..b7516cb 100644 --- a/frontend/src/views/machine/device/index.vue +++ b/frontend/src/views/machine/device/index.vue @@ -55,7 +55,7 @@ import { downloadCNDevTemplate, importCNDev, } from '@/api/device/device/index.ts' -import { ElMessageBox } from 'element-plus' +import { ElMessage, ElMessageBox } from 'element-plus' import { onBeforeMount, reactive, ref } from 'vue' import { useModeStore, useAppSceneStore } from '@/stores/modules/mode' @@ -193,9 +193,20 @@ const openDialog = (titleType: string, row: Partial = {}) => { // 批量删除设备 const batchDelete = async (id: string[]) => { const patternId = dictStore.getDictData('Pattern').find(item => item.name === modeStore.currentMode)?.id ?? ''//获取数据字典中对应的id - await useHandleData(deletePqDev, { 'ids': id, 'pattern': patternId }, '删除所选设备') - proTable.value?.clearSelection() - proTable.value?.getTableList() + const result = await useHandleData(deletePqDev, { 'ids': id, 'pattern': patternId }, '删除所选设备') + console.log(result) + if(result.code != 'A0000'){ + proTable.value?.clearSelection() + ElMessage.error('1') + console.log('1') + }else{ + ElMessage.error('12') + console.log('12') + proTable.value?.clearSelection() + proTable.value?.getTableList() + } + + } // 删除设备