正式检测-左侧检测大项动态获取

This commit is contained in:
caozehui
2024-12-30 20:55:11 +08:00
parent 0fd6ebf810
commit 65e54ee2b5
3 changed files with 126 additions and 134 deletions

View File

@@ -1,13 +1,30 @@
import http from "@/api";
import {CheckData} from "@/api/check/interface";
export const getFormData = (params: { deviceId: string, chnNum: number}) => {
return http.post<any>("/check/detail/", params, {loading: false});
export const getBigTestItem = (planId: string) => {
return http.get(`/adPlan/getBigTestItem?planId=${planId}`, {loading: false});
}
/**
* 获取弹出框表单数据
* @param params 当为scriptType为null时表示查询所有脚本类型否则只查询指定脚本类型。当为chnNum为-1时表示查询所有通道否则只查询指定通道。
*/
export const getFormData = (params: { planId: string, deviceId: string, chnNum: number, scriptType?: string }) => {
return http.post("/result/formContent/", params, {loading: false});
}
/**
* 获取树形结构数据
* @param params
*/
export const getTreeData = (params: { deviceId: string, chnNum: number, checkItemId: string }) => {
return http.post<any>("/check/treeData/", params, {loading: false});
return http.post("/result/treeData/", params, {loading: false});
}
/**
* 获取检查数据
* @param params
*/
export const getCheckData = (params: { deviceId: string, chnNum: number, checkItemId: string }) => {
return http.post<any>("/check/data/", params, {loading: false});
return http.post("/result/data/", params, {loading: false});
}

View File

@@ -70,6 +70,7 @@ import DataCheckRawDataTable from './dataCheckRawDataTable.vue'
import {CheckData} from "@/api/check/interface";
import {getFormData, getTreeData, getCheckData} from "@/api/check/test";
import {useDictStore} from "@/stores/modules/dict";
import {useCheckStore} from "@/stores/modules/check";
const {appendToBody} = withDefaults(defineProps<{
appendToBody: boolean
@@ -81,6 +82,7 @@ const defaultProps = {
};
const dictStore = useDictStore()
const checkStore = useCheckStore()
const visible = ref(false)
@@ -314,10 +316,9 @@ watch(switchItem, (newVal, oldVal) => {
const open = async (_deviceId: string, chnNum: number, _scriptType?: string) => {
console.log(_deviceId, chnNum, _scriptType);
deviceId = _deviceId
scriptType = _scriptType ?? ''
switchItem.value = 0
// 发起后端请求,查询详细信息 当chnNum为-1时查询所有通道号
//const result1 = await getFormData({deviceId, chnNum})
//const resFormContent = await getFormData({checkStore.planId,deviceId, chnNum.toString(),scriptType})
// 数据处理
let resFormContent = {

View File

@@ -41,7 +41,7 @@
<el-table :data="checkResultView" row-key="scriptId" height="450px"
:header-cell-style="{ background: '#003078', color: '#eee', textAlign: 'center' } " style="width: 100%"
border>
<el-table-column fixed prop="scriptName" label="检测项目" width="140px" align="center">
<el-table-column fixed prop="scriptName" label="检测项目" width="150px" align="center">
</el-table-column>
<template v-if="chnSum<=MAX_CHN_SUM">
@@ -146,6 +146,7 @@ import {dialogBig} from "@/utils/elementBind";
import {CheckData} from "@/api/check/interface"
import {useCheckStore} from "@/stores/modules/check";
import {ElMessage, ElMessageBox} from "element-plus";
import {getBigTestItem} from "@/api/check/test";
const checkStore = useCheckStore()
@@ -166,14 +167,14 @@ const props = defineProps({
}
})
const emit = defineEmits(['update:testStatus', 'update:webMsgSend','sendPause','sendResume']);
const emit = defineEmits(['update:testStatus', 'update:webMsgSend', 'sendPause', 'sendResume']);
// 用来保存测试项进度抽屉是否打开
const drawer = ref(false)
// 进度条颜色
const customColors = [{color: "#5cb87a", percentage: 100}]
// 检测脚本数据
const scriptData = reactive<CheckData.ScriptItem[]>([])
let scriptData: CheckData.ScriptItem[] = []
// 用来保存被检设备
const deviceList = reactive<CheckData.Device[]>([])
// 当前进行的测试项索引
@@ -304,7 +305,7 @@ watch(testStatus, function (newValue, oldValue) {
watch(webMsgSend, function (newValue, oldValue) {
if (activeIndex <= checkTotal) {
switch (newValue.requestId) {
case 'Test_PreTest_Fail':
case 'PreTest_Fail':
ElMessageBox.alert('预检测失败,请检查设备连接情况', '预检测失败', {
confirmButtonText: '确定',
type: 'error',
@@ -312,26 +313,39 @@ watch(webMsgSend, function (newValue, oldValue) {
emit('update:testStatus', 'success')
})
break;
case 'Test_Pause_Success':
case 'Pause_Success':
ElMessage.success('暂停成功')
emit('update:testStatus','paused')
emit('update:testStatus', 'paused')
break;
case 'Test_Pause_Fail':
case 'Pause_Fail':
ElMessage.error('暂停失败')
break;
case 'Test_Resume_Success':
case 'Resume_Success':
ElMessage.success('开始继续检测')
emit('update:testStatus','process')
emit('update:testStatus', 'process')
break;
case 'Test_Resume_Fail':
case 'Resume_Fail':
ElMessage.error('无法继续检测')
break;
case 'Test_VOL_Start':
updateCheckResultView("VOL", true)
case 'FREQ_Start':
updateCheckResultView("FREQ", true)
updateLog(true)
break;
case 'Test_VOL_End':
updateCheckResultView("VOL", false)
case 'FREQ_End':
updateCheckResultView("FREQ", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
activeIndex++;
startTimer()
}
break;
case 'VOL_Start':
updateCheckResultView("V", true)
updateLog(true)
break;
case 'VOL_End':
updateCheckResultView("V", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
@@ -339,12 +353,12 @@ watch(webMsgSend, function (newValue, oldValue) {
startTimer()
}
break;
case 'Test_Freq_Start':
updateCheckResultView("Freq", true)
case 'Harm_V_Start':
updateCheckResultView("HV", true)
updateLog(true)
break;
case 'Test_Freq_End':
updateCheckResultView("Freq", false)
case 'Harm_V_End':
updateCheckResultView("HV", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
@@ -352,12 +366,12 @@ watch(webMsgSend, function (newValue, oldValue) {
startTimer()
}
break;
case 'Test_Harm_V_Start':
updateCheckResultView("Harm_V", true)
case 'Harm_I_Start':
updateCheckResultView("HI", true)
updateLog(true)
break;
case 'Test_Harm_V_End':
updateCheckResultView("Harm_V", false)
case 'Harm_I_End':
updateCheckResultView("HI", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
@@ -365,12 +379,12 @@ watch(webMsgSend, function (newValue, oldValue) {
startTimer()
}
break;
case 'Test_Harm_I_Start':
updateCheckResultView("Harm_I", true)
case 'Harm_P_Start':
updateCheckResultView("HP", true)
updateLog(true)
break;
case 'Test_Harm_I_End':
updateCheckResultView("Harm_I", false)
case 'Harm_P_End':
updateCheckResultView("HP", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
@@ -378,12 +392,12 @@ watch(webMsgSend, function (newValue, oldValue) {
startTimer()
}
break;
case 'Test_Harm_P_Start':
updateCheckResultView("Harm_P", true)
case 'InHarm_V_Start':
updateCheckResultView("HSV", true)
updateLog(true)
break;
case 'Test_Harm_P_End':
updateCheckResultView("Harm_P", false)
case 'InHarm_V_End':
updateCheckResultView("HSV", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
@@ -391,12 +405,12 @@ watch(webMsgSend, function (newValue, oldValue) {
startTimer()
}
break;
case 'Test_InHarm_V_Start':
updateCheckResultView("InHarm_V", true)
case 'InHarm_I_Start':
updateCheckResultView("HSI", true)
updateLog(true)
break;
case 'Test_InHarm_V_End':
updateCheckResultView("InHarm_V", false)
case 'InHarm_I_End':
updateCheckResultView("HSI", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
@@ -404,12 +418,12 @@ watch(webMsgSend, function (newValue, oldValue) {
startTimer()
}
break;
case 'Test_InHarm_I_Start':
updateCheckResultView("InHarm_I", true)
case 'Dip_Start':
updateCheckResultView("VOLTAGE", true)
updateLog(true)
break;
case 'Test_InHarm_I_End':
updateCheckResultView("InHarm_I", false)
case 'Dip_End':
updateCheckResultView("VOLTAGE", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
@@ -417,12 +431,12 @@ watch(webMsgSend, function (newValue, oldValue) {
startTimer()
}
break;
case 'Test_Dip_Start':
updateCheckResultView("Dip", true)
case 'CUR_Start':
updateCheckResultView("I", true)
updateLog(true)
break;
case 'Test_Dip_End':
updateCheckResultView("Dip", false)
case 'CUR_End':
updateCheckResultView("I", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
@@ -430,12 +444,12 @@ watch(webMsgSend, function (newValue, oldValue) {
startTimer()
}
break;
case 'Test_CUR_Start':
updateCheckResultView("CUR", true)
case 'MSQI_U_Start':
updateCheckResultView("IMBV", true)
updateLog(true)
break;
case 'Test_CUR_End':
updateCheckResultView("CUR", false)
case 'MSQI_U_End':
updateCheckResultView("IMBV", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
@@ -443,12 +457,12 @@ watch(webMsgSend, function (newValue, oldValue) {
startTimer()
}
break;
case 'Test_MSQI_U_Start':
updateCheckResultView("MSQI_U", true)
case 'MSQI_I_Start':
updateCheckResultView("IMBA", true)
updateLog(true)
break;
case 'Test_MSQI_U_End':
updateCheckResultView("MSQI_U", false)
case 'MSQI_I_End':
updateCheckResultView("IMBA", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
@@ -456,12 +470,12 @@ watch(webMsgSend, function (newValue, oldValue) {
startTimer()
}
break;
case 'Test_MSQI_I_Start':
updateCheckResultView("MSQI_I", true)
case 'Flicker_Start':
updateCheckResultView("F", true)
updateLog(true)
break;
case 'Test_MSQI_I_End':
updateCheckResultView("MSQI_I", false)
case 'Flicker_End':
updateCheckResultView("F", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
@@ -469,20 +483,7 @@ watch(webMsgSend, function (newValue, oldValue) {
startTimer()
}
break;
case 'Test_Flicker_Start':
updateCheckResultView("Flicker", true)
updateLog(true)
break;
case 'Test_Flicker_End':
updateCheckResultView("Flicker", false)
updateLog(false)
updatePercentage()
if (testStatus.value != 'paused') {
activeIndex++;
startTimer()
}
break;
case 'Test_Quit':
case 'Quit':
updateLog(false)
updatePercentage()
console.log('检测结束')
@@ -514,8 +515,8 @@ let randomUnConnectedDeviceId = -1
let randomErrorDataRaw = -1
// todo 可移除end
onBeforeMount(() => {
initScriptData()
onBeforeMount(async () => {
await initScriptData()
initDeviceList()
initCheckResult()
@@ -536,40 +537,14 @@ const showTestLog = () => {
}
// 初始化检测脚本数据
const initScriptData = () => {
let map = new Map<string, string>()
map.set('VOL', '电压')
.set('Freq', '频率')
.set('Harm_V', '谐波电压')
.set('Harm_I', '谐波电流')
.set('Harm_P', '谐波有功功率')
.set('InHarm_V', '间谐波电压')
.set('InHarm_I', '间谐波电流')
.set('Dip', '暂态')
.set('CUR', '电流')
.set('MSQI_U', '电压不平衡度')
.set('MSQI_I', '电流不平衡度')
.set('Flicker', '短时闪变')
const initScriptData = async () => {
let response: CheckData.ScriptItem[] = [
{id: '1', code: 'VOL', scriptName: '电压准确度检测'},
{id: '2', code: 'Freq', scriptName: '频率准确度检测'},
{id: '3', code: 'Harm_V', scriptName: '谐波电压准确度检测'},
{id: '4', code: 'Harm_I', scriptName: '谐波电流准确度检测'},
{id: '5', code: 'Harm_P', scriptName: '谐波有功功率准确度检测'},
{id: '6', code: 'InHarm_V', scriptName: '间谐波电压准确度检测'},
{id: '7', code: 'InHarm_I', scriptName: '间谐波电流准确度检测'},
{id: '8', code: 'Dip', scriptName: '暂态准确度检测'},
{id: '9', code: 'CUR', scriptName: '电流准确度检测'},
{id: '10', code: 'MSQI_U', scriptName: '三相电压不平衡度检测'},
{id: '11', code: 'MSQI_I', scriptName: '三相电流不平衡度检测'},
{id: '12', code: 'Flicker', scriptName: '闪变准确度检测'}
]
let response: any = await getBigTestItem(checkStore.planId)
let temp = response.map(item => {
let temp = response.data.map(item => {
return {
...item,
scriptName: map.get(item.code) || item.scriptName
scriptName: item.scriptName
}
})
@@ -875,8 +850,8 @@ const handlePauseOrContinue = () => {
};
// 点击查看设备通道检测详情。参数1设备信息参数2通道号-1代表查看全部通道
const handleClick = (scriptId: string, deviceId: any, chnNum: number) => {
dataCheckSingleChannelSingleTestPopupRef.value?.open(deviceId, chnNum, scriptId);
const handleClick = (scriptType: string, deviceId: any, chnNum: number) => {
dataCheckSingleChannelSingleTestPopupRef.value?.open(deviceId, chnNum, scriptType);
};
// todo 可移除
@@ -885,152 +860,151 @@ const startTimer = () => {
switch (activeIndex) {
case 1:
emit('update:webMsgSend', {
requestId: 'Test_VOL_Start',
requestId: 'FREQ_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_VOL_End',
requestId: 'FREQ_End',
params: {}
})
}, 2000);
break;
case 2:
emit('update:webMsgSend', {
requestId: 'Test_Freq_Start',
requestId: 'VOL_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_Freq_End',
requestId: 'VOL_End',
params: {}
})
}, 2000);
break;
case 3:
emit('update:webMsgSend', {
requestId: 'Test_Harm_V_Start',
requestId: 'Harm_V_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_Harm_V_End',
requestId: 'Harm_V_End',
params: {}
})
}, 2000)
break;
case 4:
emit('update:webMsgSend', {
requestId: 'Test_Harm_I_Start',
requestId: 'Harm_I_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_Harm_I_End',
requestId: 'Harm_I_End',
params: {}
})
}, 2000)
break;
case 5:
emit('update:webMsgSend', {
requestId: 'Test_Harm_P_Start',
requestId: 'Harm_P_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_Harm_P_End',
requestId: 'Harm_P_End',
params: {}
})
}, 2000)
break;
case 6:
emit('update:webMsgSend', {
requestId: 'Test_InHarm_V_Start',
requestId: 'InHarm_V_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_InHarm_V_End',
requestId: 'InHarm_V_End',
params: {}
})
}, 2000)
break;
case 7:
emit('update:webMsgSend', {
requestId: 'Test_InHarm_I_Start',
requestId: 'InHarm_I_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_InHarm_I_End',
requestId: 'InHarm_I_End',
params: {}
})
}, 2000)
break;
case 8:
emit('update:webMsgSend', {
requestId: 'Test_Dip_Start',
requestId: 'Dip_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_Dip_End',
requestId: 'Dip_End',
params: {}
})
}, 2000)
break;
case 9:
emit('update:webMsgSend', {
requestId: 'Test_CUR_Start',
requestId: 'CUR_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_CUR_End',
requestId: 'CUR_End',
params: {}
})
}, 2000)
break;
case 10:
emit('update:webMsgSend', {
requestId: 'Test_MSQI_U_Start',
requestId: 'MSQI_U_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_MSQI_U_End',
requestId: 'MSQI_U_End',
params: {}
})
}, 2000)
break;
case 11:
emit('update:webMsgSend', {
requestId: 'Test_MSQI_I_Start',
requestId: 'MSQI_I_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_MSQI_I_End',
requestId: 'MSQI_I_End',
params: {}
}, 2000)
})
break;
case 12:
emit('update:webMsgSend', {
requestId: 'Test_Flicker_Start',
requestId: 'Flicker_Start',
params: {}
})
setTimeout(() => {
emit('update:webMsgSend', {
requestId: 'Test_Flicker_End',
requestId: 'Flicker_End',
params: {}
})
}, 2000)
break;
case 13:
emit('update:webMsgSend', {
requestId: 'Test_Quit',
requestId: 'Quit',
params: {}
})
break;