系数校准多装置按行展示

This commit is contained in:
sjl
2025-01-08 11:40:12 +08:00
parent a1d113562b
commit 5a32d5b7a8
10 changed files with 549 additions and 754 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -6,127 +6,127 @@
style="width: 100%"
max-height="400px"
:span-method="objectSpanMethod">
<el-table-column prop="MonitorIdx" label="监测点序号" width="80"/>
<el-table-column prop="deviceName" label="描述" width="90"/>
<el-table-column prop="monitorNum" label="监测点序号" width="80"/>
<el-table-column prop="desc" label="描述" width="90"/>
<el-table-column label="电压通道" >
<el-table-column prop="Ua" label="L1">
<el-table-column prop="UaData" label="数据(V)">
<el-table-column prop="aVuData" label="数据(V)">
<template #default="scope">
<el-icon v-if="scope.row.UaData === '—'&& loading" class="loading-box">
<el-icon v-if="scope.row.aVuData === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
<span v-else>
{{ scope.row.UaData }}
{{ scope.row.aVuData }}
</span>
</template>
</el-table-column>
<el-table-column prop="UaChannel" label="结果">
<el-table-column prop="aVuXi" label="结果">
<template #default="scope">
<el-tooltip
v-if="scope.row.UaChannel === '不合格'"
v-if="scope.row.aVuXi === '不合格'"
class="item"
effect="light"
placement="top-start"
:content="'电压L1系数校准不合格原因'+scope.row.UaData"
effect="dark"
placement="bottom-start"
:content="'电压L1系数校准不合格原因'+scope.row.aVuData"
>
<el-tag type="danger" class="tooltip-content">
{{ scope.row.UaChannel }}
{{ scope.row.aVuXi }}
</el-tag>
</el-tooltip>
<el-tooltip
v-else-if="scope.row.UaChannel === '合格'"
v-else-if="scope.row.aVuXi === '合格'"
class="item"
effect="light"
placement="top-start"
:content="'电压L1系数校准合格原因'+scope.row.UaData"
effect="dark"
placement="bottom-start"
:content="'电压L1系数校准合格原因'+scope.row.aVuData"
>
<span class="tooltip-content">{{ scope.row.UaChannel }}</span>
<el-tag type="success" class="tooltip-content">{{ scope.row.aVuXi }}</el-tag>
</el-tooltip>
<!-- <el-tag type="danger" v-if="scope.row.UaChannel === '不合格'">
{{ scope.row.UaChannel }}
<!-- <el-tag type="danger" v-if="scope.row.aVuXi === '不合格'">
{{ scope.row.aVuXi }}
</el-tag> -->
<el-icon v-else-if="scope.row.UaChannel === '—'&& loading" class="loading-box">
<el-icon v-else-if="scope.row.aVuXi === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
<!-- <span v-else>
{{ scope.row.UaChannel }}
{{ scope.row.aVuXi }}
</span> -->
</template>
</el-table-column>
</el-table-column>
<el-table-column prop="Ub" label="L2">
<el-table-column prop="UbData" label="数据(V)">
<el-table-column prop="bVuData" label="数据(V)">
<template #default="scope">
<el-icon v-if="scope.row.UbData === '—'&& loading" class="loading-box">
<el-icon v-if="scope.row.bVuData === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
<span v-else>
{{ scope.row.UbData }}
{{ scope.row.bVuData }}
</span>
</template>
</el-table-column>
<el-table-column prop="UbChannel" label="结果">
<el-table-column prop="bVuXi" label="结果">
<template #default="scope">
<el-tooltip
v-if="scope.row.UbChannel === '不合格'"
v-if="scope.row.bVuXi === '不合格'"
class="item"
effect="light"
placement="top-start"
:content="'电压L2系数校准不合格原因'+scope.row.UbData"
effect="dark"
placement="bottom-start"
:content="'电压L2系数校准不合格原因'+scope.row.bVuData"
>
<el-tag type="danger" class="tooltip-content">
{{ scope.row.UbChannel }}
{{ scope.row.bVuXi }}
</el-tag>
</el-tooltip>
<el-tooltip
v-else-if="scope.row.UbChannel === '合格'"
v-else-if="scope.row.bVuXi === '合格'"
class="item"
effect="light"
placement="top-start"
:content="'电压L2系数校准合格原因'+scope.row.UbData"
effect="dark"
placement="bottom-start"
:content="'电压L2系数校准合格原因'+scope.row.bVuData"
>
<span class="tooltip-content">{{ scope.row.UbChannel }}</span>
<el-tag type="success" class="tooltip-content">{{ scope.row.bVuXi }}</el-tag>
</el-tooltip>
<el-icon v-else-if="scope.row.UbChannel === '—'&& loading" class="loading-box">
<el-icon v-else-if="scope.row.bVuXi === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
</template>
</el-table-column>
</el-table-column>
<el-table-column prop="Uc" label="L3">
<el-table-column prop="UcData" label="数据(V)">
<el-table-column prop="cVuData" label="数据(V)">
<template #default="scope">
<el-icon v-if="scope.row.UcData === '—'&& loading" class="loading-box">
<el-icon v-if="scope.row.cVuData === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
<span v-else>
{{ scope.row.UcData }}
{{ scope.row.cVuData }}
</span>
</template>
</el-table-column>
<el-table-column prop="UcChannel" label="结果">
<el-table-column prop="cVuXi" label="结果">
<template #default="scope">
<el-tooltip
v-if="scope.row.UcChannel === '不合格'"
v-if="scope.row.cVuXi === '不合格'"
class="item"
effect="light"
placement="top-start"
:content="'电压L3系数校准不合格原因'+scope.row.UcData"
effect="dark"
placement="bottom-start"
:content="'电压L3系数校准不合格原因'+scope.row.cVuData"
>
<el-tag type="danger" class="tooltip-content">
{{ scope.row.UcChannel }}
{{ scope.row.cVuXi }}
</el-tag>
</el-tooltip>
<el-tooltip
v-else-if="scope.row.UcChannel === '合格'"
v-else-if="scope.row.cVuXi === '合格'"
class="item"
effect="light"
placement="top-start"
:content="'电压L3系数校准合格原因'+scope.row.UcData"
effect="dark"
placement="bottom-start"
:content="'电压L3系数校准合格原因'+scope.row.cVuData"
>
<span class="tooltip-content">{{ scope.row.UcChannel }}</span>
<el-tag type="success" class="tooltip-content">{{ scope.row.cVuXi }}</el-tag>
</el-tooltip>
<el-icon v-else-if="scope.row.UcChannel === '—'&& loading" class="loading-box">
<el-icon v-else-if="scope.row.cVuXi === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
</template>
@@ -135,117 +135,117 @@
</el-table-column>
<el-table-column label="电流通道" >
<el-table-column prop="Ia" label="L1">
<el-table-column prop="IaData" label="数据(A)">
<el-table-column prop="aIeData" label="数据(A)">
<template #default="scope">
<el-icon v-if="scope.row.IaData === '—'&& loading" class="loading-box">
<el-icon v-if="scope.row.aIeData === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
<span v-else>
{{ scope.row.IaData }}
{{ scope.row.aIeData }}
</span>
</template>
</el-table-column>
<el-table-column prop="IaChannel" label="结果">
<el-table-column prop="aIeXi" label="结果">
<template #default="scope">
<el-tooltip
v-if="scope.row.IaChannel === '不合格'"
v-if="scope.row.aIeXi === '不合格'"
class="item"
effect="light"
placement="top-start"
:content="'电流L1系数校准不合格原因'+scope.row.IaData"
effect="dark"
placement="bottom-start"
:content="'电流L1系数校准不合格原因'+scope.row.aIeData"
>
<el-tag type="danger" class="tooltip-content">
{{ scope.row.IaChannel }}
{{ scope.row.aIeXi }}
</el-tag>
</el-tooltip>
<el-tooltip
v-else-if="scope.row.IaChannel === '合格'"
v-else-if="scope.row.aIeXi === '合格'"
class="item"
effect="light"
placement="top-start"
:content="'电流L1系数校准合格原因'+scope.row.IaData"
effect="dark"
placement="bottom-start"
:content="'电流L1系数校准合格原因'+scope.row.aIeData"
>
<span class="tooltip-content">{{ scope.row.IaChannel }}</span>
<el-tag type="success" class="tooltip-content">{{ scope.row.aIeXi }}</el-tag>
</el-tooltip>
<el-icon v-else-if="scope.row.IaChannel === '—'&& loading" class="loading-box">
<el-icon v-else-if="scope.row.aIeXi === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
</template>
</el-table-column>
</el-table-column>
<el-table-column prop="Ib" label="L2">
<el-table-column prop="IbData" label="数据(A)">
<el-table-column prop="bIeData" label="数据(A)">
<template #default="scope">
<el-icon v-if="scope.row.IbData === '—'&& loading" class="loading-box">
<el-icon v-if="scope.row.bIeData === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
<span v-else>
{{ scope.row.IbData }}
{{ scope.row.bIeData }}
</span>
</template>
</el-table-column>
<el-table-column prop="IbChannel" label="结果">
<el-table-column prop="bIeXi" label="结果">
<template #default="scope">
<el-tooltip
v-if="scope.row.IbChannel === '不合格'"
v-if="scope.row.bIeXi === '不合格'"
class="item"
effect="light"
placement="top-start"
:content="'电流L2系数校准不合格原因'+scope.row.IbData"
effect="dark"
placement="bottom-start"
:content="'电流L2系数校准不合格原因'+scope.row.bIeData"
>
<el-tag type="danger" class="tooltip-content">
{{ scope.row.IbChannel }}
{{ scope.row.bIeXi }}
</el-tag>
</el-tooltip>
<el-tooltip
v-else-if="scope.row.IbChannel === '合格'"
v-else-if="scope.row.bIeXi === '合格'"
class="item"
effect="light"
placement="top-start"
:content="'电流L2系数校准合格原因'+scope.row.IbData"
effect="dark"
placement="bottom-start"
:content="'电流L2系数校准合格原因'+scope.row.bIeData"
>
<span class="tooltip-content">{{ scope.row.IbChannel }}</span>
<el-tag type="success" class="tooltip-content">{{ scope.row.bIeXi }}</el-tag>
</el-tooltip>
<el-icon v-else-if="scope.row.IbChannel === '—'&& loading" class="loading-box">
<el-icon v-else-if="scope.row.bIeXi === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
</template>
</el-table-column>
</el-table-column>
<el-table-column prop="Ic" label="L3">
<el-table-column prop="IcData" label="数据(A)">
<el-table-column prop="cIeData" label="数据(A)">
<template #default="scope">
<el-icon v-if="scope.row.IcData === '—'&& loading" class="loading-box">
<el-icon v-if="scope.row.cIeData === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
<span v-else>
{{ scope.row.IcData }}
{{ scope.row.cIeData }}
</span>
</template>
</el-table-column>
<el-table-column prop="IcChannel" label="结果">
<el-table-column prop="cIeXi" label="结果">
<template #default="scope">
<el-tooltip
v-if="scope.row.IcChannel === '不合格'"
v-if="scope.row.cIeXi === '不合格'"
class="item"
effect="light"
placement="top-start"
:content="'电流L3系数校准不合格原因'+scope.row.IcData"
effect="dark"
placement="bottom-start"
:content="'电流L3系数校准不合格原因'+scope.row.cIeData"
>
<el-tag type="danger" class="tooltip-content">
{{ scope.row.IcChannel }}
{{ scope.row.cIeXi }}
</el-tag>
</el-tooltip>
<el-tooltip
v-else-if="scope.row.IcChannel === '合格'"
v-else-if="scope.row.cIeXi === '合格'"
class="item"
effect="light"
placement="top-start"
:content="'电流L3系数校准合格原因'+scope.row.IcData"
effect="dark"
placement="bottom-start"
:content="'电流L3系数校准合格原因'+scope.row.cIeData"
>
<span class="tooltip-content">{{ scope.row.IcChannel }}</span>
<el-tag type="success" class="tooltip-content">{{ scope.row.cIeXi }}</el-tag>
</el-tooltip>
<el-icon v-else-if="scope.row.IcChannel === '—'&& loading" class="loading-box">
<el-icon v-else-if="scope.row.cIeXi === '—'&& scope.row.loading" class="loading-box">
<el-icon-loading />
</el-icon>
</template>
@@ -259,29 +259,10 @@
<script lang="ts" setup name="ErrorSystemDialog">
import { defineProps } from 'vue';
import { ElIcon, ElLoading, ElTag } from 'element-plus';
//import IndicatorTypeDialog from "@/views/machine/errorSystem/components/IndicatorTypeDialog.vue"; // 导入子组件
import type { ChannelsTest } from '@/api/home/interface/channelsTest';
const props = defineProps<{
tableData: Array<{
id: string;
deviceName?: string;
MonitorIdx: number;
UaData?: number | string;
UaChannel?: number | string;
UbData?: number | string;
UbChannel?: number | string;
UcData?: number | string;
UcChannel?: number | string;
IaData?: number | string;
IaChannel?: number | string;
IbData?: number | string;
IbChannel?: number | string;
IcData?: number | string;
IcChannel?: number | string;
Result?: string | string;
updateTime?: string;
}>
loading: boolean; // 定义 loading 属性
tableData: Array<ChannelsTest.CoefficientVO>;
}>();
function objectSpanMethod({ row, column, rowIndex, columnIndex }: { row: any, column: any, rowIndex: number, columnIndex: number }) {
@@ -313,64 +294,6 @@
}
}
// const tableData = ref([
// {
// id: '1',
// updateTime: '2024-10-10 10:30:00',
// deviceName:'被检设备1',
// MonitorIdx: 1,
// Ua:1.0003,
// Ub:1.0003,
// Uc:0.0096,
// Ia:1.0003,
// Ib:1.0003,
// Ic:1.0008,
// Result: '合格',
// },
// {
// id: '2',
// updateTime: '2024-10-10 10:30:00',
// deviceName:'被检设备1',
// MonitorIdx: 2,
// Ua:1.0003,
// Ub:1.0003,
// Uc:0.0096,
// Ia:1.0003,
// Ib:1.0003,
// Ic:1.0008,
// Result: '合格',
// },
// {
// id: '3',
// updateTime: '2024-10-10 10:30:00',
// deviceName:'被检设备1',
// MonitorIdx: 3,
// Ua:1.0003,
// Ub:1.0003,
// Uc:0.0096,
// Ia:1.0003,
// Ib:1.0003,
// Ic:1.0008,
// Result: '合格',
// },
// {
// id: '4',
// updateTime: '2024-10-10 10:30:00',
// deviceName:'被检设备1',
// MonitorIdx: 4,
// Ua:1.0003,
// Ub:1.0003,
// Uc:0.0096,
// Ia:1.0003,
// Ib:1.0003,
// Ic:1.0008,
// Result: '合格',
// },
// ])
// 监听 tableData 的变化
</script>
<style scoped>

View File

@@ -319,6 +319,10 @@ isTimeCheck: {
type: Boolean,
required: true,
},
plan: {
type: Object,
default: null
}
})
//下拉框数据
@@ -847,26 +851,25 @@ const handleTest = async (val:string) => {
}
if(val === '系数校准') {
// //开始创建webSocket客户端
// const data = reactive({
// socketServe: socketClient.Instance,
// });
// const url = 'ws://localhost:7777/hello?name=cdf';
// socketClient.Instance.connect(url);
// data.socketServe = socketClient.Instance;
// data.socketServe.registerCallBack('aaa', (res: { code: number; }) => {
// // 处理来自服务器的消息
// console.log('Received message:', res);
// // 根据需要在这里添加更多的处理逻辑
// if(res.code === 20000){
// ElMessage.error(message.message)
// loading.close()
// }else {
// webMsgSend.value = res
// }
// });
channelsTest.value?.open(channelsSelection.value);
//开始创建webSocket客户端
const data = reactive({
socketServe: socketClient.Instance,
});
const url = 'ws://192.168.1.127:7777/hello?name=cdf';
socketClient.Instance.connect(url);
data.socketServe = socketClient.Instance;
data.socketServe.registerCallBack('aaa', (res: { code: number; }) => {
// 处理来自服务器的消息
console.log('Received message:', res);
// 根据需要在这里添加更多的处理逻辑
if(res.code === 20000){
ElMessage.error(message.message)
loading.close()
}else {
webMsgSend.value = res
}
});
channelsTest.value?.open(channelsSelection.value,props.plan);
return;
}