微调
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<el-button v-if="tableData.length > 0" type="primary" @click="exportData" style="margin-bottom: 10px">导出</el-button>
|
||||
<div class="table-main">
|
||||
<div class="table-main" max-height="282px">
|
||||
<el-table v-if="tableData.length > 0" :data="tableData" stripe border :header-cell-style="{ textAlign: 'center' } "
|
||||
:cell-style="{ textAlign: 'center' }" height="315px"
|
||||
:cell-style="{ textAlign: 'center' }" max-height="282px"
|
||||
style="width: 100%;">
|
||||
<el-table-column type="index" label="序号" width="70" fixed="left"/>
|
||||
<el-table-column prop="time" label="数据时间"/>
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
<div class="content-right">
|
||||
<div class="content-right-title">
|
||||
<div style="width: 850px;">
|
||||
<div style="width: 840px;">
|
||||
<span class="content-right-title-text">当前检测项目:
|
||||
<el-popover trigger="hover" :content="currentDesc" :width="popoverWidth" placement="right">
|
||||
<template #reference>
|
||||
@@ -76,15 +76,13 @@
|
||||
</el-popover>
|
||||
</span>
|
||||
</div>
|
||||
<!-- <el-form-item style="margin-left: 0px;margin-bottom:0px !important;width: 210px;" v-if="harmNumList.length" label='次数'>-->
|
||||
<!-- <el-select v-model="currentHarmNum">-->
|
||||
<!-- <el-option v-for="item in harmNumList" :key="item.value" :label="item.label" :value="item.value"/>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<el-form-item style="margin-left: 0px;margin-bottom:0px !important;width: 260px;" v-if="checkList.length" label='测试项'>
|
||||
<el-select v-model="currentCheckItem">
|
||||
<el-option v-for="item in checkList" :key="item.value" :label="item.label" :value="item.value"/>
|
||||
</el-select>
|
||||
<el-form-item style="margin-left: 0px;margin-bottom:0px !important;width: 280px;" v-if="checkListLevel.length" label='测试项'>
|
||||
<el-cascader
|
||||
v-model="currentCheckItem"
|
||||
:options="checkListLevel"
|
||||
:props="{expandTrigger: 'click' as const}"
|
||||
placement="bottom-end"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="content-right-Tabs">
|
||||
@@ -155,9 +153,11 @@ let planCode: string = ''
|
||||
// 谐波次数列表
|
||||
// const harmNumList = reactive<{ value: string, label: string }[]>([])
|
||||
// 当前选中的检测项
|
||||
const currentCheckItem = ref<string>("")
|
||||
const currentCheckItem = ref<any>()
|
||||
// 检测项列表
|
||||
const checkList = reactive<{ value: string, label: string }[]>([])
|
||||
// const checkList = reactive<{ value: string, label: string }[]>([])
|
||||
// 带有层级的检测项列表
|
||||
const checkListLevel = reactive<{ value: string, label: string, children: { value: string, label: string }[] }[]>([])
|
||||
|
||||
let deviceId: string = ''
|
||||
let originScriptType: string | null = null
|
||||
@@ -181,14 +181,13 @@ const currentDesc = ref('');
|
||||
const activeTab = ref<string>('resultTab')
|
||||
|
||||
//存放相应的表格数据
|
||||
let resTableData: { resultData: Map<string, any>, rawData: Map<string, any> } = {resultData: new Map(), rawData: new Map()}
|
||||
const resTableData = reactive<{ resultData: Map<string, any>, rawData: Map<string, any> }>({resultData: new Map(), rawData: new Map()})
|
||||
|
||||
// 检测结果表格数据
|
||||
const checkResultData = reactive<CheckData.CheckResult[]>([])
|
||||
|
||||
const popoverWidth: ComputedRef<string> = computed(() => {
|
||||
// return `${940 - (currentScriptTypeName.value.length + 7) * 14 - (harmNumList.length || checkList.length ? 160 : 0)}px`
|
||||
return `${940 - (currentScriptTypeName.value.length + 7) * 14 - (checkList.length ? 220 : 0)}px`
|
||||
return `${1140 - (currentScriptTypeName.value.length + 7+3) * 14 - (checkListLevel.length ? 280 : 0)}px`
|
||||
})
|
||||
|
||||
|
||||
@@ -275,27 +274,14 @@ const handleChnNumChange = async () => {
|
||||
}
|
||||
|
||||
|
||||
// watch(currentHarmNum, (newVal, oldVal) => {
|
||||
// console.log("谐波次数", newVal);
|
||||
// if (newVal !== '-1') {
|
||||
// let resCheckResult: CheckData.ResCheckResult = resTableData.resultData.get(newVal.toString())
|
||||
// setCheckResultData(resCheckResult)
|
||||
//
|
||||
// let tempRawData = resTableData.rawData.get(newVal.toString())
|
||||
// if (tempRawData) {
|
||||
// setRawData(tempRawData)
|
||||
// } else {
|
||||
// setRawData([])
|
||||
// }
|
||||
// }
|
||||
// activeTab.value = 'resultTab'
|
||||
// })
|
||||
|
||||
|
||||
watch(currentCheckItem, (newVal, oldVal) => {
|
||||
console.log("当前检测项", newVal);
|
||||
if (newVal !== '') {
|
||||
doCurrentCheckItemUpdate(newVal)
|
||||
let key = newVal[0]
|
||||
if (newVal.length == 2) {
|
||||
key += "_" + newVal[1]
|
||||
}
|
||||
console.log("当前检测项", key);
|
||||
doCurrentCheckItemUpdate(key)
|
||||
} else {
|
||||
activeTab.value = 'resultTab'
|
||||
}
|
||||
@@ -324,6 +310,12 @@ const defaultOperate = () => {
|
||||
const updateTableData = async () => {
|
||||
console.log("左侧树被选中的叶子节点checkIndex", checkIndex.value);
|
||||
if (checkIndex.value !== '') {
|
||||
|
||||
checkListLevel.length = 0
|
||||
checkResultData.length = 0
|
||||
rawTableData.length = 0
|
||||
currentCheckItem.value = ''
|
||||
|
||||
// console.log("更新表格数据");
|
||||
// 发起请求,查询该测试项的检测结果
|
||||
const {data} = await getTableData({
|
||||
@@ -338,73 +330,58 @@ const updateTableData = async () => {
|
||||
let keys1 = Object.keys(data.resultData)
|
||||
let resultData = new Map()
|
||||
for (let key of keys1) {
|
||||
resultData.set(key, data.resultData[key])
|
||||
let children = []
|
||||
let label=key
|
||||
if ((key.includes('谐波') || key.includes('简谐波')) && key !== '谐波有功功率') {
|
||||
for (let item of data.resultData[key]) {
|
||||
let num = formatHarmNum(item.harmNum + '')
|
||||
label=item.isData === 1 ? `${num}` : item.isData === 4 ? `${num}(/)` : item.isData === 5 ? `${num}(-)` : `${num}(不符合)`
|
||||
children.push({label: label, value: num})
|
||||
resultData.set(key + "_" + num, item)
|
||||
}
|
||||
checkListLevel.push({label: key, value: key, children: children})
|
||||
} else {
|
||||
label=data.resultData[key][0].isData === 1 ? `${key}` : data.resultData[key][0].isData === 4 ? `${key}(/)` : data.resultData[key][0].isData === 5 ? `${key}(-)` : `${key}(不符合)`
|
||||
resultData.set(key, data.resultData[key][0])
|
||||
checkListLevel.push({label: label, value: key, children: []})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let keys2 = Object.keys(data.rawData)
|
||||
let rawData = new Map()
|
||||
for (let key of keys2) {
|
||||
if ((key.includes('谐波') || key.includes('简谐波')) && key !== '谐波有功功率') {
|
||||
for (let item of data.rawData[key]) {
|
||||
let num = formatHarmNum(item.harmNum + '')
|
||||
let value = rawData.get(key + "_" + num)
|
||||
if (!value) {
|
||||
rawData.set(key + "_" + num, [item])
|
||||
} else {
|
||||
value.push(item)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
rawData.set(key, data.rawData[key])
|
||||
}
|
||||
|
||||
resTableData = {
|
||||
resultData,
|
||||
rawData
|
||||
}
|
||||
|
||||
let resCheckResult: CheckData.ResCheckResult = {}
|
||||
let resRawData: CheckData.RawDataItem[] = []
|
||||
|
||||
if (keys1.length === 0) {
|
||||
checkList.length = 0
|
||||
checkResultData.length = 0
|
||||
rawTableData.length = 0
|
||||
currentCheckItem.value = ''
|
||||
}
|
||||
resTableData.resultData = resultData
|
||||
resTableData.rawData = rawData
|
||||
|
||||
if (keys1.length === 1) {
|
||||
resCheckResult = resTableData.resultData.get(keys1[0])
|
||||
resRawData = resTableData.rawData.get(keys2[0])
|
||||
toAngleLast()
|
||||
|
||||
resRawData = (resRawData == null || resRawData == undefined ? [] : resRawData)
|
||||
resCheckResult = (resCheckResult == null || resCheckResult == undefined ? {} : resCheckResult)
|
||||
setCheckResultData(resCheckResult)
|
||||
setRawData(resRawData)
|
||||
checkList.length = 0
|
||||
let key = formatHarmNum(keys1[0])
|
||||
checkList.push({
|
||||
value: keys1[0],
|
||||
label: resCheckResult.isData === 1 ? `${key}` : resCheckResult.isData === 4 ? `${key}(/)` : resCheckResult.isData === 5 ? `${key}(-)` : `${key}(不符合)`
|
||||
})
|
||||
if (currentCheckItem.value == checkList[0].value) {
|
||||
doCurrentCheckItemUpdate(checkList[0].value)
|
||||
if (checkListLevel.length !== 0) {
|
||||
if (checkListLevel[0].children.length !== 0) {
|
||||
currentCheckItem.value = [checkListLevel[0].value + '', checkListLevel[0].children[0].value + '']
|
||||
} else {
|
||||
currentCheckItem.value = checkList[0].value
|
||||
currentCheckItem.value = [checkListLevel[0].value + '']
|
||||
}
|
||||
} else if (keys1.length != 0) {
|
||||
let tempCheckList = []
|
||||
for (let [key, value] of resTableData.resultData) {
|
||||
let hum = formatHarmNum(key)
|
||||
tempCheckList.push({
|
||||
value: key,
|
||||
label: value.isData === 1 ? `${hum}` : value.isData === 4 ? `${hum}(/)` : value.isData === 5 ? `${hum}(-)` : `${hum}(不符合)`
|
||||
})
|
||||
}
|
||||
|
||||
toAngleLast(tempCheckList)
|
||||
checkList.length = 0
|
||||
Object.assign(checkList, tempCheckList)
|
||||
|
||||
if (currentCheckItem.value == tempCheckList[0].value) {
|
||||
doCurrentCheckItemUpdate(tempCheckList[0].value)
|
||||
} else {
|
||||
currentCheckItem.value = tempCheckList[0].value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// setCheckResultData(resCheckResult)
|
||||
else {
|
||||
checkResultData.length = 0
|
||||
rawTableData.length = 0
|
||||
}
|
||||
@@ -501,7 +478,7 @@ const close = async () => {
|
||||
currentCheckItem.value = ''
|
||||
checkResultData.length = 0
|
||||
rawTableData.length = 0
|
||||
checkList.length = 0
|
||||
//checkList.length = 0
|
||||
defaultExpandedKeys = []
|
||||
checkIndex.value = ''
|
||||
activeTab.value = 'resultTab'
|
||||
@@ -518,7 +495,6 @@ const close = async () => {
|
||||
};
|
||||
|
||||
const setCheckResultData = (data: CheckData.ResCheckResult | null) => {
|
||||
// console.log("检测结果", data);
|
||||
let result: CheckData.CheckResult[] = []
|
||||
if (data == null || data == undefined) {
|
||||
Object.assign(checkResultData, [])
|
||||
@@ -526,22 +502,26 @@ const setCheckResultData = (data: CheckData.ResCheckResult | null) => {
|
||||
}
|
||||
if (data.dataA != null && data.dataB != null && data.dataC != null) {
|
||||
result.push({
|
||||
// stdA: numberToFixed(data.dataA.resultData),
|
||||
// dataA: numberToFixed(data.dataA.data),
|
||||
stdA: data.dataA.resultData+'',
|
||||
dataA: data.dataA.data+'',
|
||||
stdA: numberToFixed(data.dataA.resultData),
|
||||
dataA: numberToFixed(data.dataA.data),
|
||||
// stdA: data.dataA.resultData + '',
|
||||
// dataA: data.dataA.data + '',
|
||||
errorA: data.dataA.errorData == null ? '/' : data.dataA.errorData + '',
|
||||
maxErrorA: toMaxErrorStr(data.dataA.radius, data.dataA.unit),
|
||||
unitA: data.dataA.unit,
|
||||
isDataA: data.dataA.isData,
|
||||
stdB: data.dataB.resultData+'',
|
||||
dataB: data.dataB.data+'',
|
||||
stdB: numberToFixed(data.dataB.resultData),
|
||||
dataB: numberToFixed(data.dataB.data),
|
||||
// stdB: data.dataB.resultData + '',
|
||||
// dataB: data.dataB.data + '',
|
||||
errorB: data.dataB.errorData == null ? '/' : data.dataB.errorData + '',
|
||||
maxErrorB: toMaxErrorStr(data.dataB.radius, data.dataB.unit),
|
||||
isDataB: data.dataB.isData,
|
||||
unitB: data.dataB.unit,
|
||||
stdC: data.dataC.resultData+'',
|
||||
dataC: data.dataC.data+'',
|
||||
stdC: numberToFixed(data.dataC.resultData),
|
||||
dataC: numberToFixed(data.dataC.data),
|
||||
// stdC: data.dataC.resultData + '',
|
||||
// dataC: data.dataC.data + '',
|
||||
errorC: data.dataC.errorData == null ? '/' : data.dataC.errorData + '',
|
||||
maxErrorC: toMaxErrorStr(data.dataC.radius, data.dataC.unit),
|
||||
isDataC: data.dataC.isData,
|
||||
@@ -668,18 +648,18 @@ const getDefaultNode = (data: any[]) => {
|
||||
return findFirstLeafNode(firstElement);
|
||||
}
|
||||
|
||||
const toAngleLast = (data: any[]) => {
|
||||
const toAngleLast = () => {
|
||||
let angleIndex = -1
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
if (data[i].value.toString().includes('相角')) {
|
||||
for (let i = 0; i < checkListLevel.length; i++) {
|
||||
if (checkListLevel[i].value.toString().includes('相角')) {
|
||||
angleIndex = i
|
||||
break
|
||||
}
|
||||
}
|
||||
if (angleIndex != -1) {
|
||||
let temp = data[angleIndex]
|
||||
data.splice(angleIndex, 1)
|
||||
data.push(temp)
|
||||
let temp = checkListLevel[angleIndex]
|
||||
checkListLevel.splice(angleIndex, 1)
|
||||
checkListLevel.push(temp)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -751,7 +731,6 @@ defineExpose({
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.dialog {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
Reference in New Issue
Block a user