frontend/src/views/machine/errorSystem/components/errorSystemDetailTable.vue

This commit is contained in:
sjl
2024-12-24 20:25:10 +08:00
11 changed files with 675 additions and 387 deletions

View File

@@ -14,10 +14,10 @@
<el-step title="检测完成" :icon="stepsActiveIndex > 4 ? SuccessFilled :Key" />
</el-steps>
</div>
<preTest v-if="stepsActiveIndex === 0" v-model:testStatus="preTestStatus" :webMsgSend="webMsgSend"></preTest>
<preTest ref="preTestRef" v-if="stepsActiveIndex === 0" v-model:testStatus="preTestStatus" :webMsgSend="webMsgSend"></preTest>
<timeTest v-if="stepsActiveIndex === 1 && isTimeCheck" v-model:testStatus="timeTestStatus"></timeTest>
<!-- <channelsTest v-if="stepsActiveIndex === 2" v-model:testStatus="channelsTestStatus"></channelsTest> -->
<test v-if="stepsActiveIndex >= 2" v-model:testStatus="TestStatus"></test>
<test v-if="stepsActiveIndex >= 2" v-model:testStatus="TestStatus" :webMsgSend="webMsgSend" @update:webMsgSend="webMsgSend=$event"></test>
<template #footer>
<div>
@@ -54,10 +54,11 @@
} from '@element-plus/icons-vue'
import preTest from './preTest.vue'
import timeTest from './timeTest.vue'
import channelsTest from './channelsTest.vue'
import { Device } from '@/api/device/interface/device';
import socketClient from '@/utils/webSocketClient';
import {startTest} from '@/api/socket/socket'
import {useCheckStore} from "@/stores/modules/check";
import {startPreTest,startTest,pauseTest,resumeTest} from '@/api/socket/socket'
//import SvgIcon from '@/components/SvgIcon.vue';
@@ -87,6 +88,7 @@
// (e: 'submit', data: any): void;
// }>();
const checkStore = useCheckStore();
const skipDisabled = ref(false);
const nextStepText = ref('下一步');
const dialogVisible = ref(false)
@@ -143,6 +145,7 @@ const detectionOptions = ref([
const dialogTitle = ref('');
const isTimeCheck = ref(false)
const preTestRef = ref(null);
// 打开弹窗,可能是新增,也可能是编辑
const open = (selection: Device.ResPqDev[],title: string,time:boolean) => {
@@ -167,6 +170,11 @@ const detectionOptions = ref([
dialogTitle.value = title;
dialogVisible.value = true;
isTimeCheck.value = time
if (preTestRef.value) {
preTestRef.value.initializeParameters();
}
preTestStatus.value = 'waiting';//预检测执行状态
//开始创建webSocket客户端
const data = reactive({
@@ -217,6 +225,7 @@ const detectionOptions = ref([
const handleSubmit = () => {
skipDisabled.value = true
console.log('=============',stepsActiveIndex.value)
let deviceIds = checkStore.devices.map((item) => item.deviceId)
switch (stepsActiveIndex.value) {
case 0:
preTestStatus.value = 'start'
@@ -227,15 +236,15 @@ const detectionOptions = ref([
text: '',
background: 'rgb(255, 255, 255, 0)',
})*/
// startTest({
// userPageId: "cdf",
// devIds:["5eaba83670ff4d9daf892a62a5e13ea3","80b4b4f52a4c4064a18319525f8ac13c"],
// //planId:"31cc203f3fa94fa39323ae7cc411cd66"
// }).then(res=>{
//
//
//
// })
startPreTest({
userPageId: "cdf",
devIds:["5eaba83670ff4d9daf892a62a5e13ea3","80b4b4f52a4c4064a18319525f8ac13c"],
planId:"31cc203f3fa94fa39323ae7cc411cd66"
}).then(res=>{
})
break;
case 1:
timeTestStatus.value = 'start'
@@ -245,10 +254,34 @@ const detectionOptions = ref([
// break;
case 2:
if (TestStatus.value == "waiting") {
// startTest({deviceIds}).then(res => {
// console.log(res)
// if (res.code === 20000) {
// TestStatus.value = 'process'
// } else {
// ElMessage.error(res.message)
// }
// })
TestStatus.value = 'start'
} else if (TestStatus.value == 'process') {
// pauseTest({deviceIds}).then(res => {
// console.log(res)
// if (res.code === 20000) {
// TestStatus.value = 'paused'
// } else {
// ElMessage.error(res.message)
// }
// })
TestStatus.value = 'paused'
} else if (TestStatus.value == 'paused') {
// resumeTest({deviceIds}).then(res => {
// console.log(res)
// if (res.code === 20000) {
// TestStatus.value = 'process'
// } else {
// ElMessage.error(res.message)
// }
// })
TestStatus.value = 'process'
}
break;
@@ -333,6 +366,8 @@ const getIcon = (index: number) => {
timeTestStatus.value = "waiting"
channelsTestStatus.value = "waiting"
TestStatus.value = "waiting"
ActiveStatue.value = "waiting"
skipDisabled.value = false
nextStepText.value = "下一步"
}
const beforeClose = (done: () => void) => {
@@ -350,6 +385,7 @@ const getIcon = (index: number) => {
)
.then(() => {
clearData()
// todo 关闭弹窗,终止整个检测流程
//emit('update:visible', false); // 关闭对话框
dialogVisible.value = false;
})