From 336ee843cc19789d4a4c4affa45af5e7914b8e3a Mon Sep 17 00:00:00 2001
From: caozehui <2427765068@qq.com>
Date: Mon, 6 Jan 2025 14:50:36 +0800
Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frontend/src/api/check/interface/index.ts | 12 +-
frontend/src/api/check/test/index.ts | 2 +-
.../home/components/dataCheckResultTable.vue | 35 +-
.../dataCheckSingleChannelSingleTestPopup.vue | 410 +++++++-----------
4 files changed, 178 insertions(+), 281 deletions(-)
diff --git a/frontend/src/api/check/interface/index.ts b/frontend/src/api/check/interface/index.ts
index 9357b59..d6501f0 100644
--- a/frontend/src/api/check/interface/index.ts
+++ b/frontend/src/api/check/interface/index.ts
@@ -34,9 +34,9 @@ export namespace CheckData {
// 第几次谐波
//num: number | null,
//符合、不符合
- isData: number,
+ isData?: number,
//最大误差值
- radius: string,
+ radius?: string,
}
/**
@@ -45,16 +45,16 @@ export namespace CheckData {
export interface CheckResult {
aStd?: number,
aData?: number,
- aError?: number,
+ aError?: string,
bStd?: number,
bData?: number,
- bError?: number,
+ bError?: string,
cStd?: number,
cData?: number,
- cError?: number,
+ cError?: string,
tStd?: number,
tData?: number,
- tError?: number,
+ tError?: string,
//最大误差值
maxError?: string,
diff --git a/frontend/src/api/check/test/index.ts b/frontend/src/api/check/test/index.ts
index 7ba437c..aaaca9b 100644
--- a/frontend/src/api/check/test/index.ts
+++ b/frontend/src/api/check/test/index.ts
@@ -42,5 +42,5 @@ export const getTableData = (params: {
chnNum: string,
scriptType: string | null
}) => {
- return http.post("/result/tableData/", params, {loading: false});
+ return http.post("/result/resultData/", params, {loading: false});
}
\ No newline at end of file
diff --git a/frontend/src/views/home/components/dataCheckResultTable.vue b/frontend/src/views/home/components/dataCheckResultTable.vue
index 35b32ef..dcedfdb 100644
--- a/frontend/src/views/home/components/dataCheckResultTable.vue
+++ b/frontend/src/views/home/components/dataCheckResultTable.vue
@@ -1,7 +1,7 @@
-
@@ -27,8 +27,9 @@
- {{ scope.row.result }}
- {{ scope.row.result }}
+ 不符合
+ 符合
+ /
@@ -42,32 +43,14 @@
- {{ scope.row.result }}
- {{ scope.row.result }}
+ 不符合
+ 符合
+ /
-
-
-
-
-
-
-
-
-
-
-
-
- {{ scope.row.result }}
- {{ scope.row.result }}
-
-
-
-
-
+
@@ -77,11 +60,9 @@ import {defineProps} from 'vue';
import {CheckData} from "@/api/check/interface";
const {tableData} = defineProps<{
- info: { title: string, name: string }[],
tableData: CheckData.CheckResult[],
}>();
-const activeNames = ref(["Voltage"])
const unit = computed(() => {
return "V"
diff --git a/frontend/src/views/home/components/dataCheckSingleChannelSingleTestPopup.vue b/frontend/src/views/home/components/dataCheckSingleChannelSingleTestPopup.vue
index 0670211..127ae6f 100644
--- a/frontend/src/views/home/components/dataCheckSingleChannelSingleTestPopup.vue
+++ b/frontend/src/views/home/components/dataCheckSingleChannelSingleTestPopup.vue
@@ -22,12 +22,6 @@
:value="item.value"/>
-
-
-
-
-
-
@@ -58,24 +52,32 @@
-
当前检测项目:
-
-
-
- {{ currentScriptTypeName ? currentScriptTypeName : '无' }}
-
-
-
-
-
-
-
+
+ 当前检测项目:
+
+
+
+ {{ currentScriptTypeName ? currentScriptTypeName : '无' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -113,7 +115,7 @@ const checkStore = useCheckStore()
const visible = ref(false)
// 格式化数字
-const fixed = 4;
+const fixed = 6;
// 表单数据
const formContent = reactive({
@@ -126,7 +128,11 @@ const formContent = reactive({
// 当前选中的谐波次数
const currentHarmNum = ref("-1")
// 谐波次数列表
-const harmNumList = reactive([])
+const harmNumList = reactive<{ value: string, label: string }[]>([])
+// 当前选中的检测项
+const currentCheckItem = ref("")
+// 检测项列表
+const checkList = reactive<{ value: string, label: string }[]>([])
let deviceId: string = ''
let scriptType: string | null = null
@@ -141,7 +147,6 @@ let switchItem = 0
let treeDataUnqualified: CheckData.TreeItem[] = []
let treeDataAll: CheckData.TreeItem[] = []
-
// 左侧树被选中的叶子节点id
const checkIndex = ref('')
@@ -153,12 +158,14 @@ const currentDesc = ref('');
const activeTab = ref('resultTab')
//存放相应的表格数据
-let resTableData: { resultData: Map, rawData: Map } = {}
+let resTableData: { resultData: Map, rawData: Map } = {resultData: new Map(), rawData: new Map()}
// 检测结果表格数据
const checkResultData = reactive([])
-const infoMsg = reactive<{ title: string, name: string }[]>([])
+const popoverWidth: ComputedRef = computed(() => {
+ return `${680 - currentScriptTypeName.value.length * 16 - (harmNumList.length || checkList.length ? 120 : 0)}px`
+})
// 原始数据表格数据
const rawTableData = reactive([])
@@ -192,101 +199,6 @@ watch(() => formContent.chnNum, async (newVal, oldVal) => {
code: checkStore.planCode
})
treeDataAll = resTreeDataTemp
- // treeDataAll = [
- // {
- // scriptTypeName: "频率准确度检测",
- // sourceDesc: null,
- // harmNum: null,
- // index: null,
- // fly: null,
- // children: [
- // {
- // scriptTypeName: "额定条件下频率准确度测试",
- // sourceDesc: null,
- // harmNum: null,
- // index: null,
- // fly: null,
- // children: [
- // {
- // scriptTypeName: "频率=42.5Hz",
- // sourceDesc: "频率=42.5Hz",
- // harmNum: null,
- // index: 11,
- // fly: 1,
- // children: null
- // },
- // {
- // scriptTypeName: "频率=50Hz",
- // sourceDesc: "频率=50Hz",
- // harmNum: null,
- // index: 12,
- // fly: 1,
- // children: null
- // },
- // {
- // scriptTypeName: "频率=50.05Hz",
- // sourceDesc: "频率=50.05Hz",
- // harmNum: null,
- // index: 13,
- // fly: 1,
- // children: null
- // },
- // {
- // scriptTypeName: "频率=57.5Hz",
- // sourceDesc: "频率=57.5Hz",
- // harmNum: null,
- // index: 14,
- // fly: 1,
- // children: null
- // }
- // ]
- // },
- // {
- // scriptTypeName: "单影响量下频率准确度测试",
- // sourceDesc: null,
- // harmNum: null,
- // index: null,
- // fly: null,
- // children: [
- // {
- // scriptTypeName: "电压幅值对频率测量的影响",
- // sourceDesc: null,
- // harmNum: null,
- // index: null,
- // fly: null,
- // children: [
- // {
- // scriptTypeName: "10%Un对频率=50.05Hz的影响",
- // sourceDesc: "10%Un对频率=50.05Hz的影响",
- // harmNum: null,
- // index: 15,
- // fly: 2,
- // children: null
- // }
- // ]
- // },
- // {
- // scriptTypeName: "谐波对频率测量的影响",
- // sourceDesc: null,
- // harmNum: null,
- // index: null,
- // fly: null,
- // children: [
- // {
- // scriptTypeName: "叠加多次谐波对频率=50.05Hz的影响",
- // sourceDesc: "叠加多次谐波对频率=50.05Hz的影响",
- // harmNum: null,
- // index: 16,
- // fly: 1,
- // children: null
- // }
- // ]
- // }
- // ]
- // },
- // ]
- // }
- // ]
let treeDataTemp = JSON.parse(JSON.stringify(treeDataAll))
filterTree(treeDataTemp, 2)
@@ -297,14 +209,23 @@ watch(() => formContent.chnNum, async (newVal, oldVal) => {
}
})
+
watch(currentHarmNum, (newVal, oldVal) => {
console.log("谐波次数", newVal);
- if(newVal !== '-1'){
+ if (newVal !== '-1') {
let resCheckResult: CheckData.ResCheckResult = resTableData.resultData.get(newVal.toString())
setCheckResultData(resCheckResult)
}
})
+watch(currentCheckItem, (newVal, oldVal) => {
+ console.log("当前检测项", newVal);
+ if (newVal) {
+ let resCheckResult: CheckData.ResCheckResult = resTableData.resultData.get(newVal.toString() === 'Voltage' ? '电压幅值' : '持续时间')
+ setCheckResultData(resCheckResult)
+ }
+})
+
const handleSwitchChange = async (data: any) => {
console.log("切换不合格测试项、全部测试项", data);
@@ -342,98 +263,97 @@ const updateTableData = async () => {
// resTableData =data
let resultData = new Map()
- // resultData.set("频率", [{
+ // resultData.set("频率", {
// dataT: {
- // data: 57.7401,
- // resultData: 57.7301,
+ // data: 57.740001,
+ // resultData: 57.730001,
// },
// dataB: {
- // data: 57.7401,
- // resultData: 57.7301,
+ // data: 57.740001,
+ // resultData: 57.730001,
// },
// dataC: {
- // data: 57.7401,
- // resultData: 57.7301,
+ // data: 57.740001,
+ // resultData: 57.730001,
// },
// radius: 0.05774,
- // isData: '符合',
- // }])
+ // isData: 1,
+ // })
- // resultData.set('3', [{
- // dataA: {
- // data: 57.7401,
- // resultData: 57.7301,
- // },
- // dataB: {
- // data: 57.7401,
- // resultData: 57.7301,
- // },
- // dataC: {
- // data: 57.7401,
- // resultData: 57.7301,
- // },
- // radius: 0.05774,
- // isData: '符合',
- // }])
- // resultData.set('5', [{
- // dataA: {
- // data: 57.7402,
- // resultData: 57.7301,
- // },
- // dataB: {
- // data: 57.7402,
- // resultData: 57.7301,
- // },
- // dataC: {
- // data: 57.7402,
- // resultData: 57.7301,
- // },
- // radius: 0.05774,
- // isData: '符合',
- // }])
- // resultData.set('7', [{
- // dataA: {
- // data: 57.7403,
- // resultData: 57.7301,
- // },
- // dataB: {
- // data: 57.7403,
- // resultData: 57.7301,
- // },
- // dataC: {
- // data: 57.7403,
- // resultData: 57.7301,
- // },
- // radius: 0.05774,
- // isData: '符合',
- // }])
-
- resultData.set("电压幅值", [{
- dataT: {
- data: 57.7401,
- resultData: 57.7301,
+ resultData.set('3', {
+ dataA: {
+ data: 57.740001,
+ resultData: 57.730001,
+ },
+ dataB: {
+ data: 57.740001,
+ resultData: 57.730001,
+ },
+ dataC: {
+ data: 57.740001,
+ resultData: 57.730001,
},
radius: 0.05774,
- isData: '符合',
- }])
- resultData.set("持续时间", [{
- dataT: {
- data: 57.7402,
- resultData: 57.7302,
+ isData: 1,
+ })
+ resultData.set('5', {
+ dataA: {
+ data: 57.740002,
+ resultData: 57.730001,
+ },
+ dataB: {
+ data: 57.740002,
+ resultData: 57.730001,
+ },
+ dataC: {
+ data: 57.740002,
+ resultData: 57.730001,
},
radius: 0.05774,
- isData: '符合',
- }])
+ isData: 1,
+ })
+ resultData.set('7', {
+ dataA: {
+ data: 57.740003,
+ resultData: 57.730001,
+ },
+ dataB: {
+ data: 57.740003,
+ resultData: 57.730001,
+ },
+ dataC: {
+ data: 57.740003,
+ resultData: 57.730001,
+ },
+ radius: 0.05774,
+ isData: 4,
+ })
+
+ // resultData.set("电压幅值", {
+ // dataT: {
+ // data: 57.740001,
+ // resultData: 57.730001,
+ // },
+ // radius: 0.05774,
+ // isData: 1,
+ // })
+ // resultData.set("持续时间", {
+ // dataT: {
+ // data: 57.740002,
+ // resultData: 57.730002,
+ // },
+ // radius: 0.05774,
+ // isData: 2,
+ // })
let rawData = new Map()
resTableData = {
- resultData: resultData,
- rawData: rawData
+ resultData,
+ rawData
}
- let resCheckResult: CheckData.ResCheckResult = []
- let tempInfoMsg: { title: string, name: string } = []
+ let resCheckResult: CheckData.ResCheckResult = {}
if (resTableData.resultData.size === 1) {
resCheckResult = resTableData.resultData.values().next().value
@@ -443,35 +363,35 @@ const updateTableData = async () => {
setCheckResultData(resCheckResult)
} else {
if (resTableData.resultData.get('电压幅值') || resTableData.resultData.get('持续时间')) {
+ let tempCheckList = []
if (resTableData.resultData.get('电压幅值')) {
- tempInfoMsg.push({title: '电压幅值', name: 'Voltage'})
- resCheckResult.push(...resTableData.resultData.get('电压幅值'))
+ tempCheckList.push({value: 'Voltage', label: '电压幅值'})
+ resCheckResult = resTableData.resultData.get('电压幅值')
}
if (resTableData.resultData.get('持续时间')) {
- tempInfoMsg.push({title: '持续时间', name: 'Duration'})
- resCheckResult.push(...resTableData.resultData.get('持续时间'))
+ tempCheckList.push({value: 'Duration', label: '持续时间'})
+ resCheckResult = resTableData.resultData.get('持续时间')
}
+
+ Object.assign(checkList, tempCheckList)
+ currentCheckItem.value = checkList[0].value
+
Object.assign(harmNumList, [])
currentHarmNum.value = '-1'
- Object.assign(infoMsg, tempInfoMsg)
-
- setCheckResultData(resCheckResult)
+ //setCheckResultData(resCheckResult)
} else {
- let tempHarmNumList = []
- resTableData.resultData.forEach((value, key) => {
- tempHarmNumList.push({
- value: key,
- label: key
- })
- })
+ let tempHarmNumList: { value: string, label: string }[] = []
+ for (let [key, value] of resTableData.resultData) {
+ tempHarmNumList.push({value: key, label: key})
+ }
+
Object.assign(harmNumList, tempHarmNumList)
currentHarmNum.value = harmNumList[0].value
}
}
// setCheckResultData(resCheckResult)
-
Object.assign(rawTableData, [
{
updateTime: "2024-10-10 09:30:00",
@@ -610,19 +530,6 @@ const open = async (_deviceId: string, chnNum: string, _scriptType: string | nul
scriptType
})
- // 数据处理
- // let resFormContent = {
- // scriptName: 'Q/GDW 10650.4-2021 模拟式',
- // errorSysName: 'Q/GDW 10650.2-2021',
- // dataRule: '505f063f9f91ab108d895a9fe96b5dce',
- // deviceName: '被检设备1',
- // chnList: [
- // {value: '1', label: '1'},
- // {value: '2', label: '0'},
- // {value: '3', label: '1'},
- // {value: '4', label: '0'}],
- // }
-
chnList = resFormContent.chnList.map((item: { value: string, label: string }) => ({
value: item.value,
label: item.label == '1' ? `${item.value}` : `${item.value}(不符合)`
@@ -656,7 +563,6 @@ const close = () => {
Object.assign(harmNumList, [])
currentHarmNum.value = '-1'
Object.assign(checkResultData, [])
- Object.assign(infoMsg, [])
Object.assign(rawTableData, [])
defaultExpandedKeys = []
checkIndex.value = ''
@@ -668,34 +574,42 @@ const close = () => {
visible.value = false;
};
-const setCheckResultData = (data: CheckData.ResCheckResult[]) => {
+const setCheckResultData = (data: CheckData.ResCheckResult) => {
+ // debugger
let result: CheckData.CheckResult[] = []
- data.forEach((item: CheckData.ResCheckResult) => {
- let temp: CheckData.CheckResult = {
- aStd: item.dataA?.resultData,
- aData: item.dataA?.data,
- aError: Math.abs(item.dataA?.data - item.dataA?.resultData).toFixed(fixed),
- bStd: item.dataB?.resultData,
- bData: item.dataB?.data,
- bError: Math.abs(item.dataB?.data - item.dataB?.resultData).toFixed(fixed),
- cStd: item.dataC?.resultData,
- cData: item.dataC?.data,
- cError: Math.abs(item.dataC?.data - item.dataC?.resultData).toFixed(fixed),
- tStd: item.dataT?.resultData,
- tData: item.dataT?.data,
- tError: Math.abs(item.dataT?.data - item.dataT?.resultData).toFixed(fixed),
+ if (data.dataA && data.dataB && data.dataC) {
+ result.push({
+ aStd: data.dataA?.resultData,
+ aData: data.dataA?.data,
+ aError: getError(data.dataA?.resultData, data.dataA?.data),
+ bStd: data.dataB?.resultData,
+ bData: data.dataB?.data,
+ bError: getError(data.dataA?.resultData, data.dataA?.data),
+ cStd: data.dataC?.resultData,
+ cData: data.dataC?.data,
+ cError: getError(data.dataA?.resultData, data.dataA?.data),
+
+ maxError: data.radius,
+ result: data.isData,
+ })
+ }
+
+ if (data.dataT) {
+ result.push({
+ tStd: data.dataT?.resultData,
+ tData: data.dataT?.data,
+ tError: getError(data.dataT?.resultData, data.dataT?.data),
+ maxError: data.radius,
+ result: data.isData,
+ })
+ }
- maxError: item.radius,
- result: item.isData,
- }
- result.push(temp)
- })
Object.assign(checkResultData, result)
}
-// const toFixed = (num: number, pow: number): string => {
-// return Math.floor(num * Math.pow(10, pow)) / Math.pow(10, pow)
-// }
+const getError = (num1: number, num2: number): string => {
+ return Math.abs(num1 - num2).toFixed(fixed)
+}
const findFirstLeafNode = (node: any): any => {
if (!node.children || node.children.length === 0) {
return node;
@@ -801,6 +715,8 @@ defineExpose({
flex: 1;
.content-right-title {
+ display: flex;
+ padding: 10px 0;
margin-top: 10px;
line-height: 1.5;