This commit is contained in:
caozehui
2025-02-25 13:46:01 +08:00
parent 426a511099
commit 4acec8a2d6
3 changed files with 45 additions and 52 deletions

View File

@@ -19,7 +19,7 @@
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="handleClose">取消</el-button> <el-button @click="handleClose">取消</el-button>
<el-button type="primary" @click="handleStart">开始测试</el-button> <el-button type="primary" @click="handleStart">确定</el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>

View File

@@ -1040,7 +1040,7 @@ const handleTest = async (val: string) => {
} }
const openTestDialog = () => { const openTestDialog = () => {
testPopup.value?.open(channelsSelection.value, dialogTitle.value) testPopup.value?.open(dialogTitle.value)
} }
// 打开 drawer(新增、查看、编辑) // 打开 drawer(新增、查看、编辑)

View File

@@ -21,13 +21,21 @@
<template #footer> <template #footer>
<div> <div>
<el-button type="primary" :icon="DArrowRight" v-if="stepsActiveIndex < stepsTotalNum && ActiveStatue != 'success'" @click="nextStep">跳过</el-button> <el-button type="primary" :icon="DArrowRight" v-if="stepsActiveIndex < stepsTotalNum && ActiveStatue != 'success'" @click="nextStep">跳过</el-button>
<el-button type="primary" :icon="VideoPlay" v-if="ActiveStatue === 'waiting'" @click="handleSubmit" :disabled="btnState">开始检测</el-button> <el-button type="primary" :icon="VideoPlay" v-if="ActiveStatue === 'waiting'" @click="handleSubmit">开始检测</el-button>
<el-button type="primary" v-if="ActiveStatue === 'process'" @click="handleSubmit" disabled> <el-button type="primary"
v-if="ActiveStatue !== 'waiting' && ActiveStatue !== 'error' && ActiveStatue !== 'test_init_fail' && ActiveStatue !== 'connect_timeout' && ActiveStatue!=='pause_timeout'"
disabled>
<el-icon class="loading-box" style="color: #fff;margin-right: 8px;"> <el-icon class="loading-box" style="color: #fff;margin-right: 8px;">
<component :is="Refresh"/> <component :is="Refresh"/>
</el-icon> </el-icon>
检测中 检测中
</el-button> </el-button>
<!-- <el-button type="primary" v-if="ActiveStatue === 'process'" disabled>-->
<!-- <el-icon class="loading-box" style="color: #fff;margin-right: 8px;">-->
<!-- <component :is="Refresh"/>-->
<!-- </el-icon>-->
<!-- 检测中-->
<!-- </el-button>-->
<el-button type="warning" :icon="VideoPlay" v-if="TestStatus === 'paused'" @click="handleSubmit">继续检测</el-button> <el-button type="warning" :icon="VideoPlay" v-if="TestStatus === 'paused'" @click="handleSubmit">继续检测</el-button>
<el-button type="primary" :icon="RefreshLeft" v-if="TestStatus === 'test_recheck'" @click="handleSubmit">重新检测</el-button> <el-button type="primary" :icon="RefreshLeft" v-if="TestStatus === 'test_recheck'" @click="handleSubmit">重新检测</el-button>
<el-button type="primary" v-if="TestStatus === 'test_init'" disabled> <el-button type="primary" v-if="TestStatus === 'test_init'" disabled>
@@ -43,7 +51,7 @@
暂停中 暂停中
</el-button> </el-button>
<el-button :type="ActiveStatue==='success'?'primary':'danger'" :icon="Right" <el-button :type="ActiveStatue==='success'?'primary':'danger'" :icon="Right"
v-if="ActiveStatue === 'success'||ActiveStatue==='error'||ActiveStatue==='test_init_fail'||ActiveStatue==='connect_timeout'||ActiveStatue==='pause_timeout'" v-if="nextStepText!== '下一步' && (ActiveStatue === 'success'||ActiveStatue==='error'||ActiveStatue==='test_init_fail'||ActiveStatue==='connect_timeout'||ActiveStatue==='pause_timeout')"
@click="nextStep"> @click="nextStep">
{{ nextStepText }} {{ nextStepText }}
</el-button> </el-button>
@@ -67,7 +75,6 @@ import socketClient from '@/utils/webSocketClient';
import {useCheckStore} from "@/stores/modules/check"; import {useCheckStore} from "@/stores/modules/check";
import {pauseTest, startPreTest} from '@/api/socket/socket' import {pauseTest, startPreTest} from '@/api/socket/socket'
const btnState = ref(false)
const checkStore = useCheckStore(); const checkStore = useCheckStore();
const nextStepText = ref('下一步'); const nextStepText = ref('下一步');
const dialogVisible = ref(false) const dialogVisible = ref(false)
@@ -75,7 +82,7 @@ const dialogVisible = ref(false)
const stepsTotalNum = ref(-1);//步骤总数 const stepsTotalNum = ref(-1);//步骤总数
const stepsActiveIndex = ref(1); //当前正在执行的步骤索引 const stepsActiveIndex = ref(1); //当前正在执行的步骤索引
const stepsActiveView = ref(-1); //当前正在执行的步骤在(预处理、守时校验、系数校准、正式检测)中的排序,仅用于页面显示 const stepsActiveView = ref(-1); //当前正在执行的步骤在(预处理、守时校验、系数校准、正式检测)中的排序,仅用于页面显示
const stepsActive = ref(-1); //当前正在执行的步骤在(预处理、守时校验、系数校准、正式检测)中的排序,实际记录步骤的状态 const stepsActive = ref(-1); //当前正在执行的步骤在(预处理、守时校验、系数校准、正式检测)中的排序,实际记录步骤的状态,用于切换步骤
const ActiveStatue = ref('waiting');//当前步骤状态 const ActiveStatue = ref('waiting');//当前步骤状态
const preTestStatus = ref('waiting');//预检测执行状态 const preTestStatus = ref('waiting');//预检测执行状态
const timeTestStatus = ref('waiting');//守时校验执行状态 const timeTestStatus = ref('waiting');//守时校验执行状态
@@ -98,6 +105,12 @@ const channelsTestSelected = ref(false)
const testSelected = ref(false) const testSelected = ref(false)
const initOperate = () => { const initOperate = () => {
ActiveStatue.value = 'waiting'
preTestStatus.value = 'waiting'
timeTestStatus.value = 'waiting'
channelsTestStatus.value = 'waiting'
TestStatus.value = 'waiting'
showComponent.value = true showComponent.value = true
// 初始化勾选的检测内容 // 初始化勾选的检测内容
preTestSelected.value = checkStore.selectTestItems.preTest preTestSelected.value = checkStore.selectTestItems.preTest
@@ -135,25 +148,9 @@ const initOperate = () => {
} }
} }
const open = (selection: Device.ResPqDev[], title: string) => { const open = (title: string) => {
initOperate() initOperate()
// const checkStates = selection.map(item => item.checkState);
//
// const allCheckStatesEqual = new Set(checkStates).size <= 1;
//
// debugger
// if (!allCheckStatesEqual) {
// ElMessageBox.confirm('所勾选设备检测状态不一致,请重新选择', '提示',
// {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning',
// }
// )
// return
// }
dialogTitle.value = title; dialogTitle.value = title;
dialogVisible.value = true; dialogVisible.value = true;
@@ -161,14 +158,7 @@ const open = (selection: Device.ResPqDev[], title: string) => {
preTestRef.value.initializeParameters(); preTestRef.value.initializeParameters();
} }
ActiveStatue.value = 'waiting'
preTestStatus.value = 'waiting'
timeTestStatus.value = 'waiting'
channelsTestStatus.value = 'waiting'
TestStatus.value = 'waiting'
//开始创建webSocket客户端 //开始创建webSocket客户端
socketClient.Instance.connect(); socketClient.Instance.connect();
dataSocket.socketServe = socketClient.Instance; dataSocket.socketServe = socketClient.Instance;
dataSocket.socketServe.registerCallBack('aaa', (res) => { dataSocket.socketServe.registerCallBack('aaa', (res) => {
@@ -181,8 +171,6 @@ const open = (selection: Device.ResPqDev[], title: string) => {
} else { } else {
webMsgSend.value = res webMsgSend.value = res
} }
}); });
} }
@@ -223,21 +211,21 @@ const handleSubmit = () => {
break; break;
case 4: case 4:
if (TestStatus.value == "waiting") { if (TestStatus.value == "waiting") {
// startPreTest({ startPreTest({
// userPageId: "cdf", userPageId: "cdf",
// devIds: deviceIds, devIds: deviceIds,
// planId: planId, planId: planId,
// operateType: '2' // '1'为预检测、2为正式检测 operateType: '2' // '1'为预检测、2为正式检测
// }).then(res => { }).then(res => {
// console.log(res) console.log(res)
// if (res.code === 'A001014') { if (res.code === 'A001014') {
// ElMessageBox.alert('装置配置异常', '初始化失败', { ElMessageBox.alert('装置配置异常', '初始化失败', {
// confirmButtonText: '确定', confirmButtonText: '确定',
// type: 'error', type: 'error',
// }) })
// TestStatus.value = 'test_init_fail' TestStatus.value = 'test_init_fail'
// } }
// }) })
TestStatus.value = 'start' TestStatus.value = 'start'
} else if (TestStatus.value == 'paused') { } else if (TestStatus.value == 'paused') {
// 发送继续指令 // 发送继续指令
@@ -245,9 +233,10 @@ const handleSubmit = () => {
} else if (TestStatus.value == 'test_recheck') { } else if (TestStatus.value == 'test_recheck') {
// 发送重新检测指令 // 发送重新检测指令
sendReCheck() sendReCheck()
} else if (TestStatus.value == 'success') {
handleClose()
} }
// else if (TestStatus.value == 'success') {
// handleClose()
// }
break; break;
default: default:
break; break;
@@ -281,7 +270,7 @@ watch(TestStatus, function (newValue, oldValue) {
watch(ActiveStatue, function (newValue, oldValue) { watch(ActiveStatue, function (newValue, oldValue) {
if (newValue === 'error' && stepsActive.value === 1) { if (newValue === 'error' && stepsActive.value === 1) {
stepsActiveIndex.value = stepsTotalNum.value + 2 // stepsActiveIndex.value = stepsTotalNum.value + 2
nextStepText.value = '检测失败' nextStepText.value = '检测失败'
} }
if (newValue === 'success' && stepsActive.value === 4) { if (newValue === 'success' && stepsActive.value === 4) {
@@ -300,6 +289,10 @@ watch(ActiveStatue, function (newValue, oldValue) {
stepsActiveIndex.value += 2 stepsActiveIndex.value += 2
nextStepText.value = '结束测试' nextStepText.value = '结束测试'
} }
if (newValue === 'success' && nextStepText.value === '下一步') {
nextStep()
handleSubmit()
}
}) })
const sendPause = () => { const sendPause = () => {
@@ -410,7 +403,7 @@ function clearData() {
} }
const beforeClose = (done: () => void) => { const beforeClose = (done: () => void) => {
if (stepsActiveIndex.value < stepsTotalNum.value) { if (stepsActiveIndex.value < stepsTotalNum.value && ActiveStatue.value != 'error') {
ElMessageBox.confirm('检测未完成,是否退出当前检测流程?', '提示', { ElMessageBox.confirm('检测未完成,是否退出当前检测流程?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',