右侧表格1

This commit is contained in:
caozehui
2025-01-06 19:20:36 +08:00
parent 336ee843cc
commit 27eb9a7d93
5 changed files with 118 additions and 285 deletions

View File

@@ -18,8 +18,7 @@
</el-form-item>
<el-form-item label='通道号'>
<el-select v-model="formContent.chnNum">
<el-option v-for="item in chnList" :key="item.value" :label="item.label"
:value="item.value"/>
<el-option v-for="item in chnList" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
</el-form>
@@ -98,7 +97,7 @@ import DataCheckRawDataTable from './dataCheckRawDataTable.vue'
import {CheckData} from "@/api/check/interface";
import {useDictStore} from "@/stores/modules/dict";
import {useCheckStore} from "@/stores/modules/check";
import {getFormData, getTreeData} from "@/api/check/test";
import {getFormData, getTreeData, getTableData} from "@/api/check/test";
const {appendToBody} = withDefaults(defineProps<{
appendToBody: boolean
@@ -115,7 +114,7 @@ const checkStore = useCheckStore()
const visible = ref(false)
// 格式化数字
const fixed = 6;
const fixed = 4;
// 表单数据
const formContent = reactive<CheckData.DataCheck>({
@@ -141,7 +140,7 @@ let scriptType: string | null = null
let chnList: any[] = []
// 不符合测试项、全部测试项切换
let switchItem = 0
let switchItem = ref(0)
// 左侧树数据
let treeDataUnqualified: CheckData.TreeItem[] = []
@@ -195,8 +194,8 @@ watch(() => formContent.chnNum, async (newVal, oldVal) => {
scriptId: checkStore.scriptId,
devId: deviceId,
devNum: formContent.chnNum + '',
scriptType: null,
code: checkStore.planCode
scriptType: scriptType,
code: parseInt(checkStore.planCode)
})
treeDataAll = resTreeDataTemp
@@ -204,7 +203,7 @@ watch(() => formContent.chnNum, async (newVal, oldVal) => {
filterTree(treeDataTemp, 2)
treeDataUnqualified = treeDataTemp
switchItem = 0
switchItem.value = 0
await handleSwitchChange(0)
}
})
@@ -215,14 +214,17 @@ watch(currentHarmNum, (newVal, oldVal) => {
if (newVal !== '-1') {
let resCheckResult: CheckData.ResCheckResult = resTableData.resultData.get(newVal.toString())
setCheckResultData(resCheckResult)
setRawData(resTableData.resultData.get(newVal.toString()))
}
})
watch(currentCheckItem, (newVal, oldVal) => {
console.log("当前检测项", newVal);
if (newVal) {
let resCheckResult: CheckData.ResCheckResult = resTableData.resultData.get(newVal.toString() === 'Voltage' ? '电压幅值' : '持续时间')
let key = newVal.toString() === 'Voltage' ? '电压幅值' : '持续时间'
let resCheckResult: CheckData.ResCheckResult = resTableData.resultData.get(key)
setCheckResultData(resCheckResult)
setRawData(resTableData.resultData.get(key))
}
})
@@ -236,7 +238,7 @@ const handleSwitchChange = async (data: any) => {
// 默认操作
const defaultOperate = () => {
let node = null
if (switchItem === 0) {
if (switchItem.value === 0) {
node = getDefaultNode(treeDataUnqualified)
} else {
node = getDefaultNode(treeDataAll)
@@ -259,94 +261,26 @@ const updateTableData = async () => {
if (checkIndex.value) {
console.log("更新表格数据");
// 发起请求,查询该测试项的检测结果
// const {data} = await getTableData({checkStore.scriptId,deviceId, formContent.chnNum, scriptType,checkIndex})
// resTableData =data
const {data} = await getTableData({
scriptType,
scriptId: checkStore.scriptId,
devId: deviceId,
devNum: formContent.chnNum + '',
code: parseInt(checkStore.planCode),
index: parseInt(checkIndex.value),
})
let keys1 = Object.keys(data.resultData)
let resultData = new Map()
// resultData.set("频率", {
// dataT: {
// data: 57.740001,
// resultData: 57.730001,
// },
// dataB: {
// data: 57.740001,
// resultData: 57.730001,
// },
// dataC: {
// data: 57.740001,
// resultData: 57.730001,
// },
// radius: 0.05774,
// isData: 1,
// })
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: 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: 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,
// })
for (let key of keys1) {
resultData.set(key, data.resultData[key])
}
let keys2 = Object.keys(data.rawData)
let rawData = new Map()
for (let key of keys2) {
rawData.set(key, data.rawData[key])
}
resTableData = {
resultData,
@@ -354,23 +288,26 @@ const updateTableData = async () => {
}
let resCheckResult: CheckData.ResCheckResult = {}
let resRawData: CheckData.RawDataItem = {}
if (resTableData.resultData.size === 1) {
resCheckResult = resTableData.resultData.values().next().value
if (keys1.length === 1) {
resCheckResult = resTableData.resultData.get(keys1[0])
resRawData = resTableData.rawData.get(keys2[0])
Object.assign(harmNumList, [])
currentHarmNum.value = '-1'
setCheckResultData(resCheckResult)
setRawData(resRawData)
} else {
if (resTableData.resultData.get('电压幅值') || resTableData.resultData.get('持续时间')) {
let tempCheckList = []
if (resTableData.resultData.get('电压幅值')) {
tempCheckList.push({value: 'Voltage', label: '电压幅值'})
resCheckResult = resTableData.resultData.get('电压幅值')
//resCheckResult = resTableData.resultData.get('电压幅值')
}
if (resTableData.resultData.get('持续时间')) {
tempCheckList.push({value: 'Duration', label: '持续时间'})
resCheckResult = resTableData.resultData.get('持续时间')
//resCheckResult = resTableData.resultData.get('持续时间')
}
Object.assign(checkList, tempCheckList)
@@ -380,140 +317,21 @@ const updateTableData = async () => {
currentHarmNum.value = '-1'
//setCheckResultData(resCheckResult)
} else {
} else if (keys1.length != 0) {
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
currentHarmNum.value = harmNumList.length > 0 ? harmNumList[0].value : '-1'
}
}
// setCheckResultData(resCheckResult)
Object.assign(rawTableData, [
{
updateTime: "2024-10-10 09:30:00",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:03",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:06",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:09",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:12",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:15",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:18",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:21",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:24",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:27",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:30",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:33",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:36",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:39",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:42",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:45",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:48",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:51",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:54",
A: 57.73,
B: 57.73,
C: 57.73,
},
{
updateTime: "2024-10-10 09:30:57",
A: 57.73,
B: 57.73,
C: 57.73,
}
])
} else {
checkResultData.length = 0
rawTableData.length = 0
}
}
@@ -558,48 +376,49 @@ const close = () => {
})
treeDataUnqualified = []
treeDataAll = []
Object.assign(treeDataUnqualified, [])
Object.assign(treeDataAll, [])
Object.assign(harmNumList, [])
treeDataUnqualified.length = 0
treeDataAll.length = 0
harmNumList.length = 0
currentHarmNum.value = '-1'
Object.assign(checkResultData, [])
Object.assign(rawTableData, [])
checkResultData.length = 0
rawTableData.length = 0
defaultExpandedKeys = []
checkIndex.value = ''
activeTab.value = 'resultTab'
currentScriptTypeName.value = ''
currentDesc.value = ''
switchItem = 0
switchItem.value = 0
visible.value = false;
};
const setCheckResultData = (data: CheckData.ResCheckResult) => {
// debugger
let result: CheckData.CheckResult[] = []
if (data.dataA && data.dataB && data.dataC) {
result.push({
aStd: data.dataA?.resultData,
aData: data.dataA?.data,
aStd: data.dataA?.resultData.toFixed(fixed),
aData: data.dataA?.data?.toFixed(fixed),
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),
bStd: data.dataB?.resultData?.toFixed(fixed),
bData: data.dataB?.data?.toFixed(fixed),
bError: getError(data.dataB?.resultData, data.dataB?.data),
cStd: data.dataC?.resultData?.toFixed(fixed),
cData: data.dataC?.data?.toFixed(fixed),
cError: getError(data.dataC?.resultData, data.dataC?.data),
maxError: data.radius,
unit: data.unit,
result: data.isData,
})
}
if (data.dataT) {
result.push({
tStd: data.dataT?.resultData,
tData: data.dataT?.data,
tStd: data.dataT?.resultData?.toFixed(fixed),
tData: data.dataT?.data?.toFixed(fixed),
tError: getError(data.dataT?.resultData, data.dataT?.data),
maxError: data.radius,
unit: data.unit,
result: data.isData,
})
}
@@ -607,9 +426,17 @@ const setCheckResultData = (data: CheckData.ResCheckResult) => {
Object.assign(checkResultData, result)
}
const getError = (num1: number, num2: number): string => {
return Math.abs(num1 - num2).toFixed(fixed)
const setRawData = (data: CheckData.RawDataItem[]) => {
Object.assign(rawTableData, data)
}
const getError = (num1: number, num2: number): string => {
if (num1 == null || num1 == undefined || num2 == null || num2 == undefined) {
return ''
}
return Math.abs(Number(num1.toFixed(fixed)) - Number(num2.toFixed(fixed))).toFixed(fixed)
}
const findFirstLeafNode = (node: any): any => {
if (!node.children || node.children.length === 0) {
return node;
@@ -685,7 +512,7 @@ defineExpose({
flex-direction: row;
.content-left-tree {
width: 22%;
width: 20%;
display: flex;
flex-direction: column;
align-items: center;
@@ -710,7 +537,7 @@ defineExpose({
}
.content-right {
width: 78%;
width: 80%;
margin-left: 10px;
flex: 1;