diff --git a/frontend/.env.development b/frontend/.env.development
index 8f13788..ca3d07d 100644
--- a/frontend/.env.development
+++ b/frontend/.env.development
@@ -19,6 +19,6 @@ VITE_API_URL=/api
# 开发环境跨域代理,支持配置多个
-VITE_PROXY=[["/api","http://192.168.1.124:18092/"]]
+VITE_PROXY=[["/api","http://192.168.1.127:18092/"]]
#VITE_PROXY=[["/api","http://192.168.1.125:18092/"]]
# VITE_PROXY=[["/api","http://192.168.1.138:8080/"]]张文
diff --git a/frontend/src/views/home/components/channelsTest.vue b/frontend/src/views/home/components/channelsTest.vue
index 82a9d55..5ac20e3 100644
--- a/frontend/src/views/home/components/channelsTest.vue
+++ b/frontend/src/views/home/components/channelsTest.vue
@@ -241,21 +241,56 @@ watch(webMsgSend,function (newValue,oldValue){
item.devName === newValue.data.devName);
if (firstCoefficientVO) { // 检查 firstCoefficientVO 是否存在
firstCoefficientVO.aVuData = parseFloat(newValue.data.aVuData).toFixed(4);
- firstCoefficientVO.aVuXi = parseFloat((newValue.data.aVuXi / 10000).toFixed(4)).toString();
+
+ 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);
- firstCoefficientVO.bVuXi = parseFloat((newValue.data.bVuXi / 10000).toFixed(4)).toString();
+
+ 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);
- firstCoefficientVO.cVuXi = parseFloat((newValue.data.cVuXi / 10000).toFixed(4)).toString();
+
+ 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);
- firstCoefficientVO.aIeXi = parseFloat((newValue.data.aVuXi / 10000).toFixed(4)).toString();
+
+ 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);
- firstCoefficientVO.bIeXi = parseFloat((newValue.data.bVuXi / 10000).toFixed(4)).toString();
+
+ 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);
- firstCoefficientVO.cIeXi = parseFloat((newValue.data.cVuXi / 10000).toFixed(4)).toString();
+
+ 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;
+ }
//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 + '数组为空');
diff --git a/frontend/src/views/home/components/table.vue b/frontend/src/views/home/components/table.vue
index 347b417..5054308 100644
--- a/frontend/src/views/home/components/table.vue
+++ b/frontend/src/views/home/components/table.vue
@@ -452,12 +452,12 @@ const getTableList = async (params: any) => {
'name':form.value.search
});
}else{//点击树根节点,表格显示无数据
- return getBoundPqDevList({'planId': '',
- 'checkStateList': [0],
- 'checkResult': form.value.checkResult,
- 'reportState': form.value.checkReportStatus,
- 'name':form.value.search
- });
+ // return getBoundPqDevList({'planId': '',
+ // 'checkStateList': [0],
+ // 'checkResult': form.value.checkResult,
+ // 'reportState': form.value.checkReportStatus,
+ // 'name':form.value.search
+ // });
}
};
@@ -958,11 +958,11 @@ const handleTest = async (val:string) => {
return
}
- // 检查 socketClient.Instance 是否存在
- if (!socketClient.Instance) {
- console.error('WebSocket 客户端实例不存在');
- return;
- }
+ // // 检查 socketClient.Instance 是否存在
+ // if (!socketClient.Instance) {
+ // console.error('WebSocket 客户端实例不存在');
+ // return;
+ // }
//开始创建webSocket客户端
const data = reactive({
diff --git a/frontend/src/views/home/components/test.vue b/frontend/src/views/home/components/test.vue
index d322e70..0583dbe 100644
--- a/frontend/src/views/home/components/test.vue
+++ b/frontend/src/views/home/components/test.vue
@@ -12,6 +12,12 @@
:icon="VideoPause"
@click="emit('sendPause')">停止检测
+
+
+
+
+ 暂停中
+
@@ -145,6 +151,7 @@ import {CheckData} from "@/api/check/interface"
import {useCheckStore} from "@/stores/modules/check";
import {ElMessage, ElMessageBox} from "element-plus";
import {getBigTestItem} from "@/api/check/test";
+import {tryHideFullScreenLoading} from "@/components/Loading/fullScreen";
const checkStore = useCheckStore()
@@ -422,18 +429,20 @@ watch(webMsgSend, function (newValue, oldValue) {
break;
}
break;
- case 'Pause_Success':
- ElMessage.success('暂停成功')
- handlePauseTest()
- emit('update:testStatus', 'paused')
+ case 'preStopTest':
+ if(newValue.operateCode == 'stop'){
+ ElMessage.success('暂停成功')
+ emit('update:testStatus', 'paused')
+ handlePauseTest()
+ }
break;
// case 'Pause_Fail':
// ElMessage.error('暂停失败')
// break;
case 'Resume_Success':
ElMessage.success('开始继续检测')
- handleResumeTest()
emit('update:testStatus', 'process')
+ handleResumeTest()
break;
// case 'Resume_Fail':
// ElMessage.error('无法继续检测')
@@ -1281,7 +1290,7 @@ const handlePauseTest = () => {
};
const handleResumeTest = () => {
- activeIndex++
+ //activeIndex++
startData.value = new Date();
testLogList.push({
type: 'info',
diff --git a/frontend/src/views/home/components/testPopup.vue b/frontend/src/views/home/components/testPopup.vue
index 1e37b98..4fb77e6 100644
--- a/frontend/src/views/home/components/testPopup.vue
+++ b/frontend/src/views/home/components/testPopup.vue
@@ -42,6 +42,12 @@
初始化中
+
+
+
+
+ 暂停中
+
@@ -78,6 +84,7 @@ import {Device} from '@/api/device/interface/device';
import socketClient from '@/utils/webSocketClient';
import {useCheckStore} from "@/stores/modules/check";
import {startPreTest, pauseTest, resumeTest} from '@/api/socket/socket'
+import {showFullScreenLoading} from "@/components/Loading/fullScreen";
//import SvgIcon from '@/components/SvgIcon.vue';
@@ -370,11 +377,8 @@ watch(ActiveStatue, function (newValue, oldValue) {
const sendPause = () => {
console.log('发起暂停请求')
- pauseTest().then(res => {
- Object.assign(webMsgSend.value, {
- requestId: 'Pause_Success'
- })
- })
+ ActiveStatue.value = 'paused_ing'
+ pauseTest()
}
const sendResume = () => {
console.log('发起继续检测请求')
diff --git a/frontend/src/views/home/components/tree.vue b/frontend/src/views/home/components/tree.vue
index b611786..69afa2c 100644
--- a/frontend/src/views/home/components/tree.vue
+++ b/frontend/src/views/home/components/tree.vue
@@ -69,6 +69,7 @@ const getTreeData = (val: any) => {
// 使用 nextTick 确保在 DOM 更新后调用 setCurrentKey
nextTick(() => {
treeRef.value?.setCurrentKey(node.id);
+ idd.value = node.id
});
//console.log(checkStore.planId,checkStore.planCode,checkStore.scriptId,checkStore.errorSysId)
}
@@ -87,7 +88,22 @@ watch(
deep: true,
},
)
+
+const idd = ref('')
const handleNodeClick = (data: Plan.ResPlan) => {
+
+ if (data.name === '未检' || data.name === '检测中' || data.name === '检测完成') {
+ // 如果是父节点,不执行任何操作
+ //console.log('父节点不执行任何操作');
+ // 设置当前高亮节点
+ nextTick(() => {
+ treeRef.value?.setCurrentKey(idd.value);
+ });
+ return;
+ }
+
+ idd.value = data.id
+
checkStore.setPlanId(data.id)
checkStore.setPlanCode(data.code)
checkStore.setScriptId(data.scriptId)
diff --git a/frontend/src/views/home/tabs/dashboard.vue b/frontend/src/views/home/tabs/dashboard.vue
index e1dd53b..663453d 100644
--- a/frontend/src/views/home/tabs/dashboard.vue
+++ b/frontend/src/views/home/tabs/dashboard.vue
@@ -43,6 +43,7 @@
:customData="{
title: '设备检测状态',
textAlign: 'left',
+
}"
:legendData="{
icon: 'circle',
@@ -302,36 +303,38 @@ const getPieData = async (id: string) => {
}
})
+
+ // 检查 checkStateCount 是否全为 0
+ const allZero = Object.values(checkStateCount).every(count => count === 0);
+ chartsData1.value = [
+ { value: allZero ? 0 : checkStateCount[0] === 0 ? null : checkStateCount[0], name: '未检', itemStyle: { color: '#fac858' } },
+ { value: allZero ? 0 : checkStateCount[1] === 0 ? null : checkStateCount[1], name: '检测中', itemStyle: { color: '#ee6666' } },
+ { value: allZero ? 0 : checkStateCount[2] === 0 ? null : checkStateCount[2], name: '检测完成', itemStyle: { color: '#91cc75' } },
+ { value: allZero ? 0 : checkStateCount[3] === 0 ? null : checkStateCount[3], name: '归档', itemStyle: { color: '#5470c6' } },
+ ];
+
+ // 同样处理 chartsData2 和 chartsData3
+ const allZeroResult = Object.values(checkResultCount).every(count => count === 0);
+ chartsData2.value = [
+ { value: allZeroResult ? 0 : checkResultCount[2] === 0 ? null : checkResultCount[2], name: '未检', itemStyle: { color: '#fac858' } },
+ { value: allZeroResult ? 0 : checkResultCount[0] === 0 ? null : checkResultCount[0], name: '不符合', itemStyle: { color: '#ee6666' } },
+ { value: allZeroResult ? 0 : checkResultCount[1] === 0 ? null : checkResultCount[1], name: '符合', itemStyle: { color: '#91cc75' } },
+ ];
+
+
+ // 检查 reportStateCount 是否全为 0
+ const allZeroReport = Object.values(reportStateCount).every(count => count === 0);
+ chartsData3.value = [
+ { value: allZeroReport ? 0 : reportStateCount[2] === 0 ? null : reportStateCount[2], name: '未检', itemStyle: { color: '#fac858' } },
+ { value: allZeroReport ? 0 : reportStateCount[0] === 0 ? null : reportStateCount[0], name: '未生成', itemStyle: { color: '#ee6666' } },
+ { value: allZeroReport ? 0 : reportStateCount[1] === 0 ? null : reportStateCount[1], name: '已生成', itemStyle: { color: '#91cc75' } },
+ ];
}else{
planName.value = '所选计划:'
}
-// 检查 checkStateCount 是否全为 0
-const allZero = Object.values(checkStateCount).every(count => count === 0);
-chartsData1.value = [
- { value: allZero ? 0 : checkStateCount[0] === 0 ? null : checkStateCount[0], name: '未检', itemStyle: { color: '#fac858' } },
- { value: allZero ? 0 : checkStateCount[1] === 0 ? null : checkStateCount[1], name: '检测中', itemStyle: { color: '#ee6666' } },
- { value: allZero ? 0 : checkStateCount[2] === 0 ? null : checkStateCount[2], name: '检测完成', itemStyle: { color: '#91cc75' } },
- { value: allZero ? 0 : checkStateCount[3] === 0 ? null : checkStateCount[3], name: '归档', itemStyle: { color: '#5470c6' } },
-];
-// 同样处理 chartsData2 和 chartsData3
-const allZeroResult = Object.values(checkResultCount).every(count => count === 0);
-chartsData2.value = [
- { value: allZeroResult ? 0 : checkResultCount[2] === 0 ? null : checkResultCount[2], name: '未检', itemStyle: { color: '#fac858' } },
- { value: allZeroResult ? 0 : checkResultCount[0] === 0 ? null : checkResultCount[0], name: '不符合', itemStyle: { color: '#ee6666' } },
- { value: allZeroResult ? 0 : checkResultCount[1] === 0 ? null : checkResultCount[1], name: '符合', itemStyle: { color: '#91cc75' } },
-];
-
-
-// 检查 reportStateCount 是否全为 0
-const allZeroReport = Object.values(reportStateCount).every(count => count === 0);
-chartsData3.value = [
- { value: allZeroReport ? 0 : reportStateCount[2] === 0 ? null : reportStateCount[2], name: '未检', itemStyle: { color: '#fac858' } },
- { value: allZeroReport ? 0 : reportStateCount[0] === 0 ? null : reportStateCount[0], name: '未生成', itemStyle: { color: '#ee6666' } },
- { value: allZeroReport ? 0 : reportStateCount[1] === 0 ? null : reportStateCount[1], name: '已生成', itemStyle: { color: '#91cc75' } },
-];
pieRef1.value.init()
pieRef2.value.init()