Files
pqs-9100_client/frontend/src/views/home/components/compareDataCheckResultTable.vue

184 lines
7.8 KiB
Vue
Raw Normal View History

2025-08-08 13:18:01 +08:00
<template>
2025-08-22 15:33:57 +08:00
<div class="table-main">
<el-table
:data="prop.tableData"
2025-08-25 11:35:38 +08:00
height="368px"
2025-08-22 15:33:57 +08:00
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
>
2025-08-26 15:16:18 +08:00
<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">
2025-08-22 15:33:57 +08:00
<el-table-column prop="stdA" :label="'被检值'">
<template #default="{ row }">
{{ row.dataA.data }}
</template>
</el-table-column>
<el-table-column prop="dataA" :label="'标准值'">
<template #default="{ row }">
{{ row.dataA.resultData }}
</template>
</el-table-column>
<el-table-column prop="isDataA" label="检测结果">
<template #default="{ row }">
<el-tooltip effect="dark" placement="bottom">
<template #content>
2025-08-26 10:37:13 +08:00
误差范围{{ addPercentSigns(row.dataA.radius, row.dataA.unit) }}
2025-08-22 15:33:57 +08:00
<br />
误差值{{ row.dataA.errorData }}
</template>
<el-tag type="success" v-if="row.dataA.isData === 1">符合</el-tag>
<el-tag type="danger" v-if="row.dataA.isData === 2">不符合</el-tag>
2025-08-26 10:37:13 +08:00
<el-tag type="warning" v-if="row.dataA.isData === 4">/</el-tag>
<el-tag type="info" v-if="row.dataA.isData === 5">-</el-tag>
2025-08-22 15:33:57 +08:00
</el-tooltip>
</template>
</el-table-column>
</el-table-column>
2025-08-26 15:16:18 +08:00
<el-table-column :label="setB" v-if="prop.tableData.length==0|| prop.tableData[0]?.dataB">
2025-08-22 15:33:57 +08:00
<el-table-column prop="stdB" :label="'被检值'">
<template #default="{ row }">
{{ row.dataB.data }}
</template>
</el-table-column>
<el-table-column prop="dataB" :label="'标准值'">
<template #default="{ row }">
{{ row.dataB.resultData }}
</template>
</el-table-column>
<el-table-column prop="isDataB" label="检测结果">
<template #default="{ row }">
<el-tooltip effect="dark" placement="bottom">
<template #content>
2025-08-26 10:37:13 +08:00
误差范围{{ addPercentSigns(row.dataB.radius, row.dataB.unit) }}
2025-08-22 15:33:57 +08:00
<br />
误差值{{ row.dataB.errorData }}
</template>
<el-tag type="success" v-if="row.dataB.isData === 1">符合</el-tag>
<el-tag type="danger" v-if="row.dataB.isData === 2">不符合</el-tag>
2025-08-26 10:37:13 +08:00
<el-tag type="warning" v-if="row.dataB.isData === 4">/</el-tag>
<el-tag type="info" v-if="row.dataB.isData === 5">-</el-tag>
2025-08-22 15:33:57 +08:00
</el-tooltip>
</template>
</el-table-column>
</el-table-column>
2025-08-26 15:16:18 +08:00
<el-table-column label="C相" v-if="prop.tableData.length==0|| prop.tableData[0]?.dataC">
2025-08-26 10:37:13 +08:00
<el-table-column prop="stdC" :label="'被检值'">
2025-08-22 15:33:57 +08:00
<template #default="{ row }">
{{ row.dataC.data }}
</template>
</el-table-column>
<el-table-column prop="dataC" :label="'标准值'">
<template #default="{ row }">
{{ row.dataC.resultData }}
</template>
</el-table-column>
<el-table-column prop="isDataC" label="检测结果">
<template #default="{ row }">
<el-tooltip effect="dark" placement="bottom">
<template #content>
2025-08-26 10:37:13 +08:00
误差范围{{ addPercentSigns(row.dataC.radius, row.dataC.unit) }}
2025-08-22 15:33:57 +08:00
<br />
误差值{{ row.dataC.errorData }}
</template>
<el-tag type="success" v-if="row.dataC.isData === 1">符合</el-tag>
<el-tag type="danger" v-if="row.dataC.isData === 2">不符合</el-tag>
2025-08-26 10:37:13 +08:00
<el-tag type="warning" v-if="row.dataC.isData === 4">/</el-tag>
<el-tag type="info" v-if="row.dataC.isData === 5">-</el-tag>
2025-08-22 15:33:57 +08:00
</el-tooltip>
</template>
</el-table-column>
</el-table-column>
2025-08-26 15:16:18 +08:00
<el-table-column label="T相" v-if="prop.tableData[0]?.dataT">
2025-08-26 10:37:13 +08:00
<el-table-column prop="stdT" :label="'被检值'">
2025-08-22 15:33:57 +08:00
<template #default="{ row }">
{{ row.dataT.data }}
</template>
</el-table-column>
<el-table-column prop="dataT" :label="'标准值'">
<template #default="{ row }">
{{ row.dataT.resultData }}
</template>
</el-table-column>
<el-table-column prop="isDataT" label="检测结果">
<template #default="{ row }">
<el-tooltip effect="dark" placement="bottom">
<template #content>
2025-08-26 10:37:13 +08:00
误差范围{{ addPercentSigns(row.dataT.radius, row.dataT.unit) }}
2025-08-22 15:33:57 +08:00
<br />
误差值{{ row.dataT.errorData }}
</template>
<el-tag type="success" v-if="row.dataT.isData === 1">符合</el-tag>
<el-tag type="danger" v-if="row.dataT.isData === 2">不符合</el-tag>
2025-08-26 10:37:13 +08:00
<el-tag type="warning" v-if="row.dataT.isData === 4">/</el-tag>
<el-tag type="info" v-if="row.dataT.isData === 5">-</el-tag>
2025-08-22 15:33:57 +08:00
</el-tooltip>
</template>
</el-table-column>
</el-table-column>
</el-table>
</div>
2025-08-08 13:18:01 +08:00
</template>
<script lang="tsx" setup>
2025-08-26 10:37:13 +08:00
import { computed } from 'vue'
2025-08-22 15:33:57 +08:00
import { CheckData } from '@/api/check/interface'
const prop = defineProps({
tableData: {
type: Array as () => CheckData.TableRow[],
default: []
2025-08-26 10:37:13 +08:00
},
currentCheckItem: {
type: String,
default: ''
2025-08-22 15:33:57 +08:00
}
})
// 添加单位
2025-08-26 10:37:13 +08:00
const addPercentSigns = (text: string, unit: string) => {
2025-08-22 15:33:57 +08:00
return text
.split('~')
.map(part => `${part}${unit}`)
.join('~')
}
2025-08-26 10:37:13 +08:00
const setB = computed(() => {
return prop.currentCheckItem == '三相电流不平衡度'
? '三相电流不平衡度'
: prop.currentCheckItem == '三相电压不平衡度'
? '三相电压不平衡度'
: 'B相'
})
2025-08-08 13:18:01 +08:00
</script>
<style scoped>
.form-grid {
2025-08-22 15:33:57 +08:00
display: flex;
flex-direction: row; /* 横向排列 */
flex-wrap: wrap; /* 允许换行 */
2025-08-08 13:18:01 +08:00
}
.form-grid .el-form-item {
2025-08-22 15:33:57 +08:00
flex: 1 1 30%; /* 控件宽度 */
margin-right: 20px; /* 控件间距 */
2025-08-08 13:18:01 +08:00
}
.form-grid .el-form-item:last-child {
2025-08-22 15:33:57 +08:00
margin-right: 0; /* 最后一个控件不需要右边距 */
2025-08-08 13:18:01 +08:00
}
.dialog-footer {
2025-08-22 15:33:57 +08:00
display: flex;
justify-content: flex-start;
margin-bottom: 10px; /* 调整这里的值以增加或减少间距 */
2025-08-08 13:18:01 +08:00
}
.el-tabs {
2025-08-22 15:33:57 +08:00
margin-bottom: 20px; /* 添加底部边距 */
2025-08-08 13:18:01 +08:00
}
2025-08-22 15:33:57 +08:00
.el-table th,
.el-table td {
text-align: center; /* 所有单元格文字居中 */
2025-08-08 13:18:01 +08:00
}
2025-08-22 15:33:57 +08:00
</style>