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

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

View File

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