This commit is contained in:
caozehui
2025-08-26 15:39:58 +08:00
parent ac4e0e2077
commit d7f1224df4
4 changed files with 236 additions and 219 deletions

View File

@@ -1,6 +1,5 @@
import { pa } from 'element-plus/es/locale/index.mjs'
import http from '@/api' import http from '@/api'
import { CheckData } from '@/api/check/interface' import {CheckData} from '@/api/check/interface'
export const getBigTestItem = (params: { export const getBigTestItem = (params: {
reCheckType: number reCheckType: number
@@ -8,7 +7,7 @@ export const getBigTestItem = (params: {
devIds: string[] devIds: string[]
patternId: string patternId: string
}) => { }) => {
return http.post(`/adPlan/getBigTestItem`, params, { loading: false }) return http.post(`/adPlan/getBigTestItem`, params, {loading: false})
} }
/** /**
@@ -21,7 +20,7 @@ export const getFormData = (params: {
chnNum: string chnNum: string
scriptType: string | null scriptType: string | null
}) => { }) => {
return http.post('/result/formContent/', params, { loading: false }) return http.post('/result/formContent/', params, {loading: false})
} }
/** /**
@@ -35,7 +34,7 @@ export const getTreeData = (params: {
scriptType?: string | null scriptType?: string | null
code?: string code?: string
}) => { }) => {
return http.post<CheckData.TreeItem[]>('/result/treeData/', params, { loading: false }) return http.post<CheckData.TreeItem[]>('/result/treeData/', params, {loading: false})
} }
/** /**
@@ -50,7 +49,7 @@ export const getTableData = (params: {
code: string code: string
index: number index: number
}) => { }) => {
return http.post('/result/resultData/', params, { loading: false }) return http.post('/result/resultData/', params, {loading: false})
} }
export const exportRawData = (params: { export const exportRawData = (params: {
@@ -61,7 +60,7 @@ export const exportRawData = (params: {
code: string code: string
index: number index: number
}) => { }) => {
return http.download('/result/exportRawData', params, { loading: false }) return http.download('/result/exportRawData', params, {loading: false})
} }
/** /**
@@ -75,7 +74,7 @@ export const reCalculate = (params: {
deviceId: string deviceId: string
code: string code: string
}) => { }) => {
return http.post('/result/reCalculate', params, { loading: true }) return http.post('/result/reCalculate', params, {loading: true})
} }
/** /**
* 获取数据获取基本信息 * 获取数据获取基本信息
@@ -85,10 +84,10 @@ export const getContrastFormContent = (params: {
planId: string planId: string
scriptType: string scriptType: string
deviceId: string deviceId: string
chnNum: string | number chnNum: string
num: number | string | null num: number | null
}) => { }) => {
return http.post('/result/getContrastFormContent', params, { loading: false }) return http.post('/result/getContrastFormContent', params, {loading: false})
} }
/** /**
* 获取检测结果 * 获取检测结果
@@ -101,7 +100,7 @@ export const getContrastResult = (params: {
chnNum: string | number chnNum: string | number
num: number | string | null num: number | string | null
}) => { }) => {
return http.post('/result/getContrastResult', params, { loading: true }) return http.post('/result/getContrastResult', params, {loading: true})
} }
/** /**
@@ -115,7 +114,7 @@ export const changeErrorSystem = (params: {
deviceId: string deviceId: string
code: string code: string
}) => { }) => {
return http.post('/result/changeErrorSystem', params, { loading: true }) return http.post('/result/changeErrorSystem', params, {loading: true})
} }
/** /**
@@ -123,5 +122,5 @@ export const changeErrorSystem = (params: {
* @param code * @param code
*/ */
export const deleteTempTable = (code: string) => { export const deleteTempTable = (code: string) => {
return http.get(`/result/deleteTempTable?code=${code}`, null, { loading: false }) return http.get(`/result/deleteTempTable?code=${code}`, null, {loading: false})
} }

View File

@@ -1,32 +1,32 @@
<template> <template>
<div class="table-main"> <div class="table-main">
<el-table <el-table
:data="prop.tableData" :data="prop.tableData"
stripe stripe
border border
:header-cell-style="{ textAlign: 'center' }" :header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
height="368px" height="368px"
style="width: 100%" style="width: 100%"
> >
<el-table-column type="index" label="序号" width="70" fixed="left" /> <el-table-column type="index" label="序号" width="70" fixed="left"/>
<el-table-column prop="dataA" :label="'被检设备'"> <el-table-column prop="dataA" :label="'被检设备'">
<el-table-column prop="timeDev" label="数据时间" width="200" /> <el-table-column prop="timeDev" label="数据时间" width="200"/>
<el-table-column prop="uaDev" :label="'A相'" v-if="prop.tableData.length==0||prop.tableData[0]?.uaDev != null" /> <el-table-column prop="uaDev" :label="'A相'+(outerUnit==''?'':''+outerUnit+'')" v-if="prop.tableData.length==0||prop.tableData[0]?.uaDev != null"/>
<el-table-column prop="ubDev" :label="setB" v-if="prop.tableData.length==0||prop.tableData[0]?.ubDev != null" /> <el-table-column prop="ubDev" :label="setB+(outerUnit==''?'':''+outerUnit+'')" v-if="prop.tableData.length==0||prop.tableData[0]?.ubDev != null"/>
<el-table-column prop="ucDev" :label="'C相'" v-if="prop.tableData.length==0||prop.tableData[0]?.ucDev != null" /> <el-table-column prop="ucDev" :label="'C相'+(outerUnit==''?'':''+outerUnit+'')" v-if="prop.tableData.length==0||prop.tableData[0]?.ucDev != null"/>
<el-table-column prop="utDev" :label="'T相'" v-if="prop.tableData[0]?.utDev != null" /> <el-table-column prop="utDev" :label="setT+(outerUnit==''?'':''+outerUnit+'')" v-if="prop.tableData[0]?.utDev != null"/>
</el-table-column> </el-table-column>
<el-table-column prop="dataA" :label="'标准设备'"> <el-table-column prop="dataA" :label="'标准设备'">
<el-table-column prop="timeStdDev" label="数据时间" width="200" /> <el-table-column prop="timeStdDev" label="数据时间" width="200"/>
<el-table-column prop="uaStdDev" :label="'A相'" v-if="prop.tableData.length==0||prop.tableData[0]?.uaStdDev != null" /> <el-table-column prop="uaStdDev" :label="'A相'+(outerUnit==''?'':''+outerUnit+'')" v-if="prop.tableData.length==0||prop.tableData[0]?.uaStdDev != null"/>
<el-table-column prop="ubStdDev" :label="setB" v-if="prop.tableData.length==0||prop.tableData[0]?.ubStdDev != null" /> <el-table-column prop="ubStdDev" :label="setB+(outerUnit==''?'':''+outerUnit+'')" v-if="prop.tableData.length==0||prop.tableData[0]?.ubStdDev != null"/>
<el-table-column prop="ucStdDev" :label="'C相'" v-if="prop.tableData.length==0||prop.tableData[0]?.ucStdDev != null" /> <el-table-column prop="ucStdDev" :label="'C相'+(outerUnit==''?'':''+outerUnit+'')" v-if="prop.tableData.length==0||prop.tableData[0]?.ucStdDev != null"/>
<el-table-column prop="utStdDev" :label="'T相'" v-if="prop.tableData[0]?.utStdDev != null" /> <el-table-column prop="utStdDev" :label="setT+(outerUnit==''?'':''+outerUnit+'')" v-if="prop.tableData[0]?.utStdDev != null"/>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</template> </template>
<script lang="tsx" setup> <script lang="tsx" setup>
@@ -43,13 +43,21 @@ const prop = defineProps({
default: '' default: ''
} }
}) })
const outerUnit = computed(() => {
return prop.tableData.length > 0 ? prop.tableData[0].unit : '';
})
const setB = computed(() => { const setB = computed(() => {
return prop.currentCheckItem == '三相电流不平衡度' return prop.currentCheckItem == '三相电流不平衡度'
? '三相电流不平衡度' ? '三相电流不平衡度'
: prop.currentCheckItem == '三相电压不平衡度' : prop.currentCheckItem == '三相电压不平衡度'
? '三相电压不平衡度' ? '三相电压不平衡度'
: 'B相' : 'B相'
}) })
const setT = computed(() => {
return prop.currentCheckItem == '频率' ? '频率' : 'T相'
})
</script> </script>
<style scoped></style> <style scoped></style>

View File

@@ -1,153 +1,162 @@
<template> <template>
<div class="table-main"> <div class="table-main">
<el-table <el-table
:data="prop.tableData" :data="prop.tableData"
height="368px" height="368px"
:header-cell-style="{ textAlign: 'center' }" :header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
> >
<el-table-column type="index" label="序号" width="70" fixed="left" /> <el-table-column type="index" label="序号" width="70" fixed="left" />
<el-table-column label="A相" v-if="prop.tableData.length==0|| prop.tableData[0]?.dataA"> <el-table-column label="A相" v-if="prop.tableData.length==0|| prop.tableData[0]?.dataA">
<el-table-column prop="stdA" :label="'被检值'"> <el-table-column prop="stdA" :label="'被检值'+(outerUnit==''?'':''+outerUnit+'')">
<template #default="{ row }"> <template #default="{ row }">
{{ row.dataA.data }} {{ row.dataA.data }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="dataA" :label="'标准值'"> <el-table-column prop="dataA" :label="'标准值'+(outerUnit==''?'':''+outerUnit+'')">
<template #default="{ row }"> <template #default="{ row }">
{{ row.dataA.resultData }} {{ row.dataA.resultData }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="isDataA" label="检测结果"> <el-table-column prop="isDataA" label="检测结果">
<template #default="{ row }"> <template #default="{ row }">
<el-tooltip effect="dark" placement="bottom"> <el-tooltip effect="dark" placement="bottom">
<template #content> <template #content>
误差范围{{ addPercentSigns(row.dataA.radius, row.dataA.unit) }} 误差范围{{ addPercentSigns(row.dataA.radius, row.dataA.unit) }}
<br /> <br/>
误差值{{ row.dataA.errorData }} 误差值{{ row.dataA.errorData }}{{ row.dataA.unit }}
</template> </template>
<el-tag type="success" v-if="row.dataA.isData === 1">符合</el-tag> <el-tag type="success" v-if="row.dataA.isData === 1">符合</el-tag>
<el-tag type="danger" v-if="row.dataA.isData === 2">不符合</el-tag> <el-tag type="danger" v-if="row.dataA.isData === 2">不符合</el-tag>
<el-tag type="warning" v-if="row.dataA.isData === 4">/</el-tag> <el-tag type="warning" v-if="row.dataA.isData === 4">/</el-tag>
<el-tag type="info" v-if="row.dataA.isData === 5">-</el-tag> <el-tag type="info" v-if="row.dataA.isData === 5">-</el-tag>
</el-tooltip> </el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column :label="setB" v-if="prop.tableData.length==0|| prop.tableData[0]?.dataB"> <el-table-column :label="setB" v-if="prop.tableData.length==0|| prop.tableData[0]?.dataB">
<el-table-column prop="stdB" :label="'被检值'"> <el-table-column prop="stdB" :label="'被检值'+(outerUnit==''?'':''+outerUnit+'')">
<template #default="{ row }"> <template #default="{ row }">
{{ row.dataB.data }} {{ row.dataB.data }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="dataB" :label="'标准值'"> <el-table-column prop="dataB" :label="'标准值'+(outerUnit==''?'':''+outerUnit+'')">
<template #default="{ row }"> <template #default="{ row }">
{{ row.dataB.resultData }} {{ row.dataB.resultData }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="isDataB" label="检测结果"> <el-table-column prop="isDataB" label="检测结果">
<template #default="{ row }"> <template #default="{ row }">
<el-tooltip effect="dark" placement="bottom"> <el-tooltip effect="dark" placement="bottom">
<template #content> <template #content>
误差范围{{ addPercentSigns(row.dataB.radius, row.dataB.unit) }} 误差范围{{ addPercentSigns(row.dataB.radius, row.dataB.unit) }}
<br /> <br/>
误差值{{ row.dataB.errorData }} 误差值{{ row.dataB.errorData }}{{ row.dataB.unit }}
</template> </template>
<el-tag type="success" v-if="row.dataB.isData === 1">符合</el-tag> <el-tag type="success" v-if="row.dataB.isData === 1">符合</el-tag>
<el-tag type="danger" v-if="row.dataB.isData === 2">不符合</el-tag> <el-tag type="danger" v-if="row.dataB.isData === 2">不符合</el-tag>
<el-tag type="warning" v-if="row.dataB.isData === 4">/</el-tag> <el-tag type="warning" v-if="row.dataB.isData === 4">/</el-tag>
<el-tag type="info" v-if="row.dataB.isData === 5">-</el-tag> <el-tag type="info" v-if="row.dataB.isData === 5">-</el-tag>
</el-tooltip> </el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="C相" v-if="prop.tableData.length==0|| prop.tableData[0]?.dataC"> <el-table-column label="C相" v-if="prop.tableData.length==0|| prop.tableData[0]?.dataC">
<el-table-column prop="stdC" :label="'被检值'"> <el-table-column prop="stdC" :label="'被检值'+(outerUnit==''?'':''+outerUnit+'')">
<template #default="{ row }"> <template #default="{ row }">
{{ row.dataC.data }} {{ row.dataC.data }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="dataC" :label="'标准值'"> <el-table-column prop="dataC" :label="'标准值'+(outerUnit==''?'':''+outerUnit+'')">
<template #default="{ row }"> <template #default="{ row }">
{{ row.dataC.resultData }} {{ row.dataC.resultData }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="isDataC" label="检测结果"> <el-table-column prop="isDataC" label="检测结果">
<template #default="{ row }"> <template #default="{ row }">
<el-tooltip effect="dark" placement="bottom"> <el-tooltip effect="dark" placement="bottom">
<template #content> <template #content>
误差范围{{ addPercentSigns(row.dataC.radius, row.dataC.unit) }} 误差范围{{ addPercentSigns(row.dataC.radius, row.dataC.unit) }}
<br /> <br/>
误差值{{ row.dataC.errorData }} 误差值{{ row.dataC.errorData }}{{ row.dataC.unit }}
</template> </template>
<el-tag type="success" v-if="row.dataC.isData === 1">符合</el-tag> <el-tag type="success" v-if="row.dataC.isData === 1">符合</el-tag>
<el-tag type="danger" v-if="row.dataC.isData === 2">不符合</el-tag> <el-tag type="danger" v-if="row.dataC.isData === 2">不符合</el-tag>
<el-tag type="warning" v-if="row.dataC.isData === 4">/</el-tag> <el-tag type="warning" v-if="row.dataC.isData === 4">/</el-tag>
<el-tag type="info" v-if="row.dataC.isData === 5">-</el-tag> <el-tag type="info" v-if="row.dataC.isData === 5">-</el-tag>
</el-tooltip> </el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="T" v-if="prop.tableData[0]?.dataT"> <el-table-column :label="setT" v-if="prop.tableData[0].dataT">
<el-table-column prop="stdT" :label="'被检值'"> <el-table-column prop="stdT" :label="'被检值'+(outerUnit==''?'':''+outerUnit+'')">
<template #default="{ row }"> <template #default="{ row }">
{{ row.dataT.data }} {{ row.dataT.data }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="dataT" :label="'标准值'"> <el-table-column prop="dataT" :label="'标准值'+(outerUnit==''?'':''+outerUnit+'')">
<template #default="{ row }"> <template #default="{ row }">
{{ row.dataT.resultData }} {{ row.dataT.resultData }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="isDataT" label="检测结果"> <el-table-column prop="isDataT" label="检测结果">
<template #default="{ row }"> <template #default="{ row }">
<el-tooltip effect="dark" placement="bottom"> <el-tooltip effect="dark" placement="bottom">
<template #content> <template #content>
误差范围{{ addPercentSigns(row.dataT.radius, row.dataT.unit) }} 误差范围{{ addPercentSigns(row.dataT.radius, row.dataT.unit) }}
<br /> <br/>
误差值{{ row.dataT.errorData }} 误差值{{ row.dataT.errorData }}{{ row.dataT.unit }}
</template> </template>
<el-tag type="success" v-if="row.dataT.isData === 1">符合</el-tag> <el-tag type="success" v-if="row.dataT.isData === 1">符合</el-tag>
<el-tag type="danger" v-if="row.dataT.isData === 2">不符合</el-tag> <el-tag type="danger" v-if="row.dataT.isData === 2">不符合</el-tag>
<el-tag type="warning" v-if="row.dataT.isData === 4">/</el-tag> <el-tag type="warning" v-if="row.dataT.isData === 4">/</el-tag>
<el-tag type="info" v-if="row.dataT.isData === 5">-</el-tag> <el-tag type="info" v-if="row.dataT.isData === 5">-</el-tag>
</el-tooltip> </el-tooltip>
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</template> </template>
<script lang="tsx" setup> <script lang="tsx" setup>
import { computed } from 'vue' import {computed} from 'vue'
import { CheckData } from '@/api/check/interface' import {CheckData} from '@/api/check/interface'
const prop = defineProps({ const prop = defineProps({
tableData: { tableData: {
type: Array as () => CheckData.TableRow[], type: Array as () => CheckData.TableRow[],
default: [] default: []
}, },
currentCheckItem: { currentCheckItem: {
type: String, type: String,
default: '' default: ''
} }
}) })
// 添加单位 // 添加单位
const outerUnit = computed(() => {
return prop.tableData.length > 0 ? prop.tableData[0].unit : '';
})
const addPercentSigns = (text: string, unit: string) => { const addPercentSigns = (text: string, unit: string) => {
return text return text
.split('~') .split('~')
.map(part => `${part}${unit}`) .map(part => `${part}${unit}`)
.join('~') .join('~')
} }
const setB = computed(() => { const setB = computed(() => {
return prop.currentCheckItem == '三相电流不平衡度' return prop.currentCheckItem == '三相电流不平衡度'
? '三相电流不平衡度' ? '三相电流不平衡度'
: prop.currentCheckItem == '三相电压不平衡度' : prop.currentCheckItem == '三相电压不平衡度'
? '三相电压不平衡度' ? '三相电压不平衡度'
: 'B相' : 'B相'
}) })
const setT = computed(() => {
return prop.currentCheckItem == '频率' ? '频率' : 'T相'
})
</script> </script>
<style scoped> <style scoped>

View File

@@ -214,7 +214,7 @@ const open = async (row: any, chnNum: string, deviceId: string | null, source: n
// 查询大项树 // 查询大项树
const initScriptData = async (row: any) => { const initScriptData = async (row: any) => {
const pattern = dictStore.getDictData('Pattern').find(item => item.name === modeStore.currentMode)?.id ?? '' const pattern = dictStore.getDictData('Pattern').find(item => item.name === modeStore.currentMode)?.id ?? ''
let response: any = await getBigTestItem({ let response: any = await getBigTestItem({
reCheckType: checkStore.reCheckType, reCheckType: checkStore.reCheckType,
planId: checkStore.plan.id, planId: checkStore.plan.id,
@@ -238,27 +238,27 @@ const initScriptData = async (row: any) => {
} }
//获取基本信息 //获取基本信息
const getBasicInformation = async () => { const getBasicInformation = async () => {
getContrastFormContent({ getContrastFormContent({
planId: checkStore.plan.id, planId: checkStore.plan.id,
scriptType: rowList.value.scriptType, scriptType: rowList.value.scriptType,
deviceId: formContent.deviceId, deviceId: formContent.deviceId,
chnNum: formContent.chnNum, chnNum: formContent.chnNum,
num: formContent.num ?? null num: formContent.num == '' ? null : parseInt(formContent.num)
}).then((res: any) => { }).then((res: any) => {
formContent.dataRule = res.data.dataRule formContent.dataRule = res.data.dataRule
formContent.deviceName = res.data.deviceName formContent.deviceName = res.data.deviceName
formContent.errorSysId = res.data.errorSysId formContent.errorSysId = res.data.errorSysId
chnMapList.value = res.data.chnMap chnMapList.value = res.data.chnMap
formContent.num = res.data.checkNum formContent.num = res.data.checkNum
let chnMap: string[] = [] let chnMap: string[] = []
for (let key in res.data.chnMap) { for (let key in res.data.chnMap) {
chnMap.push(key) chnMap.push(key)
} }
chnList.value = chnMap chnList.value = chnMap
formContent.chnNum = formContent.chnNum == null ? chnList.value[0] : formContent.chnNum formContent.chnNum = formContent.chnNum == null ? chnList.value[0] : formContent.chnNum
// 查询表格数据 // 查询表格数据
getResults() getResults()
}) })
} }
// 左边树变化 // 左边树变化
@@ -269,24 +269,25 @@ const handleNodeClick = (data: any) => {
} }
// 获取结果 // 获取结果
const getResults = async () => { const getResults = async () => {
checkResultData.value = [] checkResultData.value = []
rawTableData.value = [] rawTableData.value = []
getContrastResult({
planId: checkStore.plan.id, getContrastResult({
scriptType: rowList.value.scriptType, planId: checkStore.plan.id,
deviceId: formContent.deviceId, scriptType: rowList.value.scriptType,
chnNum: formContent.chnNum, deviceId: formContent.deviceId,
num: formContent.num == '' ? null : formContent.num chnNum: formContent.chnNum,
}).then((res: any) => { num: formContent.num == '' ? null : formContent.num
let list: string[] = [] }).then((res: any) => {
for (let key in res.data.resultMap) { let list: string[] = []
list.push(key) for (let key in res.data.resultMap) {
} list.push(key)
currentCheckItem.value = list[0] }
tesList.value = list currentCheckItem.value = list[0]
checkResultData.value = res.data.resultMap tesList.value = list
rawTableData.value = res.data.rawDataMap checkResultData.value = res.data.resultMap
}) rawTableData.value = res.data.rawDataMap
})
} }
const close = () => { const close = () => {