194 lines
8.8 KiB
Vue
194 lines
8.8 KiB
Vue
<template>
|
||
<div class="table-main">
|
||
<el-table
|
||
v-if="tableData.length > 0"
|
||
:data="tableData"
|
||
height="357px"
|
||
:header-cell-style="{ textAlign: 'center' }"
|
||
:cell-style="{ textAlign: 'center' }"
|
||
>
|
||
<!-- <el-table-column prop="chnNum" label="通道号" width="80">-->
|
||
<!-- <template #default="{row}">-->
|
||
<!-- {{ '通道' + row.chnNum }}-->
|
||
<!-- </template>-->
|
||
<!-- </el-table-column>-->
|
||
<el-table-column label="A相" v-if="phaseA === 1">
|
||
<el-table-column prop="stdA" :label="'标准值' + (outerUnit == '' ? '' : '(' + outerUnit + ')')" />
|
||
<el-table-column prop="dataA" :label="'被检值' + (outerUnit == '' ? '' : '(' + outerUnit + ')')" />
|
||
<el-table-column prop="isDataA" label="检测结果">
|
||
<template #default="scope">
|
||
<template v-if="scope.row.isDataA === 4 || scope.row.isDataA === 5">
|
||
<el-tag type="warning" v-if="scope.row.isDataA === 4">/</el-tag>
|
||
<el-tag type="info" v-if="scope.row.isDataA === 5">-</el-tag>
|
||
</template>
|
||
<el-tooltip v-else effect="dark" placement="bottom">
|
||
<template #content>
|
||
误差范围:{{ scope.row.maxErrorA }}
|
||
<br />
|
||
误差值:{{ scope.row.errorA }} {{ scope.row.errorA !== '/' ? innerUnitA : '' }}
|
||
</template>
|
||
<el-tag type="success" v-if="scope.row.isDataA === 1">符合</el-tag>
|
||
<el-tag type="danger" v-if="scope.row.isDataA === 2">不符合</el-tag>
|
||
</el-tooltip>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table-column>
|
||
<el-table-column label="B相" v-if="phaseB === 1">
|
||
<el-table-column prop="stdB" :label="'标准值' + (outerUnit == '' ? '' : '(' + outerUnit + ')')" />
|
||
<el-table-column prop="dataB" :label="'被检值' + (outerUnit == '' ? '' : '(' + outerUnit + ')')" />
|
||
<el-table-column prop="isDataB" label="检测结果">
|
||
<template #default="scope">
|
||
<template v-if="scope.row.isDataB === 4 || scope.row.isDataB === 5">
|
||
<el-tag type="warning" v-if="scope.row.isDataB === 4">/</el-tag>
|
||
<el-tag type="info" v-if="scope.row.isDataA === 5">-</el-tag>
|
||
</template>
|
||
<el-tooltip v-else effect="dark" placement="bottom">
|
||
<template #content>
|
||
误差范围:{{ scope.row.maxErrorB }}
|
||
<br />
|
||
误差值:{{ scope.row.errorB }} {{ scope.row.errorB !== '/' ? innerUnitB : '' }}
|
||
</template>
|
||
<el-tag type="success" v-if="scope.row.isDataB === 1">符合</el-tag>
|
||
<el-tag type="danger" v-if="scope.row.isDataB === 2">不符合</el-tag>
|
||
|
||
</el-tooltip>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table-column>
|
||
<el-table-column label="C相" v-if="phaseC === 1">
|
||
<el-table-column prop="stdC" :label="'标准值' + (outerUnit == '' ? '' : '(' + outerUnit + ')')" />
|
||
<el-table-column prop="dataC" :label="'被检值' + (outerUnit == '' ? '' : '(' + outerUnit + ')')" />
|
||
<el-table-column prop="isDataC" label="检测结果">
|
||
<template #default="scope">
|
||
<template v-if="scope.row.isDataC === 4 || scope.row.isDataC === 5">
|
||
<el-tag type="warning" v-if="scope.row.isDataC === 4">/</el-tag>
|
||
<el-tag type="info" v-if="scope.row.isDataA === 5">-</el-tag>
|
||
</template>
|
||
<el-tooltip v-else effect="dark" placement="bottom">
|
||
<template #content>
|
||
误差范围: {{ scope.row.maxErrorC }}
|
||
<br />
|
||
误差值:{{ scope.row.errorC }} {{ scope.row.errorC !== '/' ? innerUnitC : '' }}
|
||
</template>
|
||
<el-tag type="success" v-if="scope.row.isDataC === 1">符合</el-tag>
|
||
<el-tag type="danger" v-if="scope.row.isDataC === 2">不符合</el-tag>
|
||
|
||
</el-tooltip>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table-column>
|
||
|
||
<el-table-column :label="tableHeader" v-if="phaseT === 1">
|
||
<el-table-column prop="stdT" :label="'标准值' + (outerUnit == '' ? '' : '(' + outerUnit + ')')" />
|
||
<el-table-column prop="dataT" :label="'被检值' + (outerUnit == '' ? '' : '(' + outerUnit + ')')" />
|
||
<el-table-column prop="isDataT" label="检测结果">
|
||
<template #default="scope">
|
||
<template v-if="scope.row.isDataT === 4 || scope.row.isDataT === 5">
|
||
<el-tag type="warning" v-if="scope.row.isDataT === 4">/</el-tag>
|
||
<el-tag type="info" v-if="scope.row.isDataA === 5">-</el-tag>
|
||
</template>
|
||
<el-tooltip v-else effect="dark" placement="bottom">
|
||
<template #content>
|
||
误差范围: {{ scope.row.maxErrorT }}
|
||
<br />
|
||
误差值:{{ scope.row.errorT }} {{ scope.row.errorT !== '/' ? innerUnitT : '' }}
|
||
</template>
|
||
<el-tag type="success" v-if="scope.row.isDataT === 1">符合</el-tag>
|
||
<el-tag type="danger" v-if="scope.row.isDataT === 2">不符合</el-tag>
|
||
</el-tooltip>
|
||
</template>
|
||
</el-table-column>
|
||
</el-table-column>
|
||
</el-table>
|
||
</div>
|
||
</template>
|
||
|
||
<script lang="tsx" setup>
|
||
import { computed } from 'vue'
|
||
import { CheckData } from '@/api/check/interface'
|
||
|
||
const { tableData, currentScriptTypeName } = defineProps<{
|
||
tableData: CheckData.CheckResult[]
|
||
currentScriptTypeName: string
|
||
}>()
|
||
|
||
const outerUnit = computed(() => {
|
||
return tableData.length > 0 ? tableData[0].unit : ''
|
||
})
|
||
|
||
const innerUnitA = computed(() => {
|
||
return tableData.length > 0 ? tableData[0].unitA : ''
|
||
})
|
||
const innerUnitB = computed(() => {
|
||
return tableData.length > 0 ? tableData[0].unitB : ''
|
||
})
|
||
const innerUnitC = computed(() => {
|
||
return tableData.length > 0 ? tableData[0].unitC : ''
|
||
})
|
||
const innerUnitT = computed(() => {
|
||
return tableData.length > 0 ? tableData[0].unitT : ''
|
||
})
|
||
|
||
const phaseA = computed(() => {
|
||
return tableData.length <= 0 || tableData[0].dataA == null || tableData[0].dataA == '/' ? 0 : 1
|
||
})
|
||
const phaseB = computed(() => {
|
||
return tableData.length <= 0 || tableData[0].dataB == null || tableData[0].dataB == '/' ? 0 : 1
|
||
})
|
||
const phaseC = computed(() => {
|
||
return tableData.length <= 0 || tableData[0].dataC == null || tableData[0].dataC == '/' ? 0 : 1
|
||
})
|
||
|
||
const phaseT = computed(() => {
|
||
return tableData.length <= 0 || tableData[0].dataT == null || tableData[0].dataT == '/' ? 0 : 1
|
||
})
|
||
|
||
const tableHeader = computed(() => {
|
||
if (phaseT.value === 1) {
|
||
let index = currentScriptTypeName.indexOf('=')
|
||
return currentScriptTypeName.substring(0, index)
|
||
}
|
||
return currentScriptTypeName
|
||
})
|
||
|
||
// const maxErrorStr = computed((data) => {
|
||
// let result = tableData[0].maxError ?? '/'
|
||
// let idx = result.indexOf('~');
|
||
// if (idx > 0) {
|
||
// result = result.substring(0, idx) + outerUnit.value + result.substring(idx, result.length) + outerUnit.value;
|
||
// }
|
||
// return result;
|
||
// })
|
||
</script>
|
||
|
||
<style scoped>
|
||
.form-grid {
|
||
display: flex;
|
||
flex-direction: row; /* 横向排列 */
|
||
flex-wrap: wrap; /* 允许换行 */
|
||
}
|
||
|
||
.form-grid .el-form-item {
|
||
flex: 1 1 30%; /* 控件宽度 */
|
||
margin-right: 20px; /* 控件间距 */
|
||
}
|
||
|
||
.form-grid .el-form-item:last-child {
|
||
margin-right: 0; /* 最后一个控件不需要右边距 */
|
||
}
|
||
|
||
.dialog-footer {
|
||
display: flex;
|
||
justify-content: flex-start;
|
||
margin-bottom: 10px; /* 调整这里的值以增加或减少间距 */
|
||
}
|
||
|
||
.el-tabs {
|
||
margin-bottom: 20px; /* 添加底部边距 */
|
||
}
|
||
|
||
.el-table th,
|
||
.el-table td {
|
||
text-align: center; /* 所有单元格文字居中 */
|
||
}
|
||
</style> |