系数校准
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
<template>
|
||||
<el-dialog v-model='dialogVisible' title="系数校准" width="1200px" height="1000px">
|
||||
<el-dialog v-model='dialogVisible' title="系数校准" v-bind="dialogBig" width="1400px" @close="handleCancel">
|
||||
<div class="test-dialog" >
|
||||
<div class="dialog-content">
|
||||
|
||||
<div class="right-title">
|
||||
<!-- <div>系数校准表</div> -->
|
||||
<div>{{ outputDsc }}</div>
|
||||
@@ -16,34 +15,82 @@
|
||||
<el-button type="primary" :disabled="true" v-if="activeIndex === activeTotalNum">通道系数已校准3台/共3台</el-button> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-content">
|
||||
<el-tabs type="border-card">
|
||||
<el-empty description="暂无数据,等待检测开始" v-if="activeIndex === 0" />
|
||||
<el-tab-pane label="240001" v-if="activeIndex > 0">
|
||||
<channelsTestTable :tableData="tableData1"></channelsTestTable>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="240002" v-if="activeIndex > 1">
|
||||
<template #label>
|
||||
<span class="custom-tabs-label">
|
||||
<span>240002</span>
|
||||
<el-icon>
|
||||
<Failed />
|
||||
</el-icon>
|
||||
</span>
|
||||
</template>
|
||||
<channelsTestTable :tableData="tableData2"></channelsTestTable>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="240003" v-if="activeIndex > 2">
|
||||
<channelsTestTable :tableData="tableData3"></channelsTestTable>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="240004" v-if="activeIndex > 3">
|
||||
<channelsTestTable :tableData="tableData4"></channelsTestTable>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<div class="container">
|
||||
<div class="dialog-left">
|
||||
<el-steps direction="vertical" :active="active" :process-status="currentStepStatus" finish-status="success">
|
||||
<el-step title="开始" />
|
||||
<el-step title="大电压/电流下装"/>
|
||||
<el-step>
|
||||
<template #title>
|
||||
<span>源输出为:</span><br/>
|
||||
<span>Ua=Ub=Uc=57.74V</span><br/>
|
||||
<span>Ia=Ib=Ic=1A</span>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="小电压/电流下装"/>
|
||||
<el-step>
|
||||
<template #title>
|
||||
<span>源输出为:</span><br/>
|
||||
<span>Ua=Ub=Uc=57.74V</span><br/>
|
||||
<span>Ia=Ib=Ic=1A</span>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="结束"/>
|
||||
</el-steps>
|
||||
</div>
|
||||
<div class="right-content">
|
||||
|
||||
<el-tabs type="border-card">
|
||||
<div v-if="activeIndex > 0">
|
||||
<el-tab-pane v-for="(device, index) in name.slice(0, activeIndex + 1)" :key="index" :label="device">
|
||||
<template #label>
|
||||
<span class="custom-tabs-label">
|
||||
<span>{{ device }}</span>
|
||||
<el-icon v-if="errorStates[index]">
|
||||
<Failed />
|
||||
</el-icon>
|
||||
</span>
|
||||
</template>
|
||||
<channelsTestTable :tableData="getTableDataForChannel(index)"></channelsTestTable>
|
||||
</el-tab-pane>
|
||||
</div>
|
||||
<el-empty description="暂无数据,等待检测开始" v-if="activeIndex === 0" />
|
||||
</el-tabs>
|
||||
|
||||
<!-- <el-tabs type="border-card">
|
||||
<el-empty description="暂无数据,等待检测开始" v-if="activeIndex === 0" />
|
||||
<el-tab-pane label="240001" v-if="activeIndex > 0">
|
||||
<template #label>
|
||||
<span class="custom-tabs-label">
|
||||
<span>240001</span>
|
||||
<el-icon>
|
||||
<Failed />
|
||||
</el-icon>
|
||||
</span>
|
||||
</template>
|
||||
<channelsTestTable :tableData="tableData1"></channelsTestTable>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="240002" v-if="activeIndex > 1">
|
||||
<template #label>
|
||||
<span class="custom-tabs-label">
|
||||
<span>240002</span>
|
||||
<el-icon>
|
||||
<Failed />
|
||||
</el-icon>
|
||||
</span>
|
||||
</template>
|
||||
<channelsTestTable :tableData="tableData2"></channelsTestTable>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="240003" v-if="activeIndex > 2">
|
||||
<channelsTestTable :tableData="tableData3"></channelsTestTable>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="240004" v-if="activeIndex > 3">
|
||||
<channelsTestTable :tableData="tableData4"></channelsTestTable>
|
||||
</el-tab-pane>
|
||||
</el-tabs> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
@@ -54,15 +101,28 @@
|
||||
|
||||
</template>
|
||||
<script lang="tsx" setup name="channelsTest">
|
||||
import { type Device } from '@/api/device/interface/device';
|
||||
import { SuccessFilled, Failed } from '@element-plus/icons-vue'
|
||||
import { ref, toRef, watch } from 'vue'
|
||||
|
||||
import { type Ref, ref, toRef, watch } from 'vue'
|
||||
import {dialogBig} from '@/utils/elementBind'
|
||||
const activeIndex = ref(0)
|
||||
const activeTotalNum = ref(4)
|
||||
const qualified = ref(0)
|
||||
const outputDsc = ref('电压误差为:±0.1Un%; 电流误差为:±0.5%')
|
||||
const total = ref(0)
|
||||
const dialogVisible = ref(false)
|
||||
const active = ref(0)
|
||||
let intervalId: NodeJS.Timeout | null = null;
|
||||
const name = ref<string[]>([])//系数校准所选设备名字数组
|
||||
const channel = ref<number[]>([])//系数校准所选设备通道数组
|
||||
// 在 setup 函数中
|
||||
const errorStates = ref(new Array(name.value.length).fill(false));
|
||||
|
||||
// 更新错误状态的方法
|
||||
const updateErrorState = (index: number, hasError: boolean) => {
|
||||
errorStates.value[index] = hasError;
|
||||
};
|
||||
|
||||
const activities = [
|
||||
{
|
||||
content: '开始检测',
|
||||
@@ -92,231 +152,346 @@ const activities = [
|
||||
hollow: true,
|
||||
},
|
||||
]
|
||||
const tableData1 = ref([
|
||||
const tableData1 = ref<TableDataItem[]>([
|
||||
{
|
||||
id: '1',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '240001',
|
||||
deviceName: '大电压大电流1',
|
||||
MonitorIdx: 1,
|
||||
Ua: 1.0003,
|
||||
Ub: 1.0003,
|
||||
Uc: 0.0096,
|
||||
Ia: 1.0003,
|
||||
Ib: 1.0003,
|
||||
Ic: 1.0008,
|
||||
Result: '合格',
|
||||
UaData: 57.74,
|
||||
UaChannel: 1.0003,
|
||||
UbData: 57.74,
|
||||
UbChannel: 1.0003,
|
||||
UcData: 57.74,
|
||||
UcChannel: 1.0003,
|
||||
IaData: 5,
|
||||
IaChannel: 1.0001,
|
||||
IbData: 5,
|
||||
IbChannel: 1.0001,
|
||||
IcData: 5,
|
||||
IcChannel: 1.0001,
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
deviceName: '大电压大电流',
|
||||
MonitorIdx: 1,
|
||||
UaData: 57.74,
|
||||
UaChannel: 1.0003,
|
||||
UbData: 57.74,
|
||||
UbChannel: 1.0003,
|
||||
UcData: 57.74,
|
||||
UcChannel: 1.0003,
|
||||
IaData: 5,
|
||||
IaChannel: 1.0001,
|
||||
IbData: 5,
|
||||
IbChannel: 1.0001,
|
||||
IcData: 5,
|
||||
IcChannel: 1.0001,
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
deviceName: '小电压小电流',
|
||||
MonitorIdx: 1,
|
||||
UaData: 57.74,
|
||||
UaChannel: '合格',
|
||||
UbData: 57.74,
|
||||
UbChannel: '合格',
|
||||
UcData: 57.74,
|
||||
UcChannel: '合格',
|
||||
IaData: 5,
|
||||
IaChannel: '合格',
|
||||
IbData: 5,
|
||||
IbChannel: '合格',
|
||||
IcData: 5,
|
||||
IcChannel: '合格',
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
deviceName: '小电压小电流',
|
||||
MonitorIdx: 1,
|
||||
UaData: 57.74,
|
||||
UaChannel: "合格",
|
||||
UbData: 57.74,
|
||||
UbChannel: '合格',
|
||||
UcData: 57.74,
|
||||
UcChannel: '合格',
|
||||
IaData: 5,
|
||||
IaChannel: '合格',
|
||||
IbData: 5,
|
||||
IbChannel: '合格',
|
||||
IcData: 5,
|
||||
IcChannel: '合格',
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '240001',
|
||||
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: '240001',
|
||||
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: '240001',
|
||||
MonitorIdx: 4,
|
||||
Ua: 1.0003,
|
||||
Ub: 1.0003,
|
||||
Uc: 0.0096,
|
||||
Ia: 1.0003,
|
||||
Ib: 1.0003,
|
||||
Ic: 1.0008,
|
||||
Result: '合格',
|
||||
},
|
||||
])
|
||||
const tableData2 = ref([
|
||||
{
|
||||
id: '1',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '240002',
|
||||
MonitorIdx: 1,
|
||||
Ua: 1.0003,
|
||||
Ub: 1.0003,
|
||||
Uc: 0.0096,
|
||||
Ia: 1.0003,
|
||||
Ib: 1.0003,
|
||||
Ic: 1.0008,
|
||||
Result: '合格',
|
||||
UaData: 57.74,
|
||||
UaChannel: 1.0003,
|
||||
UbData: 57.74,
|
||||
UbChannel: 1.0003,
|
||||
UcData: 57.74,
|
||||
UcChannel: 1.0003,
|
||||
IaData: 5,
|
||||
IaChannel: 1.0001,
|
||||
IbData: 5,
|
||||
IbChannel: 1.0001,
|
||||
IcData: 5,
|
||||
IcChannel: 1.0001,
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '240002',
|
||||
deviceName: '240001',
|
||||
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: '240002',
|
||||
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: '240002',
|
||||
MonitorIdx: 4,
|
||||
Ua: 1.0003,
|
||||
Ub: 1.0003,
|
||||
Uc: 0.0096,
|
||||
Ia: 1.0003,
|
||||
Ib: 1.0003,
|
||||
Ic: 1.0008,
|
||||
Result: '不合格',
|
||||
},
|
||||
])
|
||||
const tableData3 = ref([
|
||||
{
|
||||
id: '1',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '240003',
|
||||
MonitorIdx: 1,
|
||||
Ua: 1.0003,
|
||||
Ub: 1.0003,
|
||||
Uc: 0.0096,
|
||||
Ia: 1.0003,
|
||||
Ib: 1.0003,
|
||||
Ic: 1.0008,
|
||||
Result: '合格',
|
||||
UaData: 57.74,
|
||||
UaChannel: 1.0003,
|
||||
UbData: 57.74,
|
||||
UbChannel: 1.0003,
|
||||
UcData: 57.74,
|
||||
UcChannel: 1.0003,
|
||||
IaData: 5,
|
||||
IaChannel: 1.0001,
|
||||
IbData: 5,
|
||||
IbChannel: 1.0001,
|
||||
IcData: 5,
|
||||
IcChannel: 1.0001,
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '240003',
|
||||
deviceName: '240001',
|
||||
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: '240003',
|
||||
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: '240003',
|
||||
MonitorIdx: 4,
|
||||
Ua: 1.0003,
|
||||
Ub: 1.0003,
|
||||
Uc: 0.0096,
|
||||
Ia: 1.0003,
|
||||
Ib: 1.0003,
|
||||
Ic: 1.0008,
|
||||
Result: '合格',
|
||||
},
|
||||
])
|
||||
const tableData4 = ref([
|
||||
{
|
||||
id: '1',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '240004',
|
||||
MonitorIdx: 1,
|
||||
Ua: 1.0003,
|
||||
Ub: 1.0003,
|
||||
Uc: 0.0096,
|
||||
Ia: 1.0003,
|
||||
Ib: 1.0003,
|
||||
Ic: 1.0008,
|
||||
Result: '合格',
|
||||
UaData: 57.74,
|
||||
UaChannel: '合格',
|
||||
UbData: 57.74,
|
||||
UbChannel: '合格',
|
||||
UcData: 57.74,
|
||||
UcChannel: '合格',
|
||||
IaData: 5,
|
||||
IaChannel: '合格',
|
||||
IbData: 5,
|
||||
IbChannel: '合格',
|
||||
IcData: 5,
|
||||
IcChannel: '合格',
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '240004',
|
||||
deviceName: '240001',
|
||||
MonitorIdx: 2,
|
||||
Ua: 1.0003,
|
||||
Ub: 1.0003,
|
||||
Uc: 0.0096,
|
||||
Ia: 1.0003,
|
||||
Ib: 1.0003,
|
||||
Ic: 1.0008,
|
||||
UaData: 57.74,
|
||||
UaChannel: '合格',
|
||||
UbData: 57.74,
|
||||
UbChannel: '合格',
|
||||
UcData: 57.74,
|
||||
UcChannel:'合格',
|
||||
IaData: 5,
|
||||
IaChannel: '合格',
|
||||
IbData: 5,
|
||||
IbChannel: '合格',
|
||||
IcData: 5,
|
||||
IcChannel: '合格',
|
||||
},
|
||||
])
|
||||
const tableData2 = ref<TableDataItem[]>([
|
||||
{
|
||||
id: '1',
|
||||
deviceName: '大电压大电流2',
|
||||
MonitorIdx: 1,
|
||||
UaData: 57.74,
|
||||
UaChannel: 1.0003,
|
||||
UbData: 57.74,
|
||||
UbChannel: 1.0003,
|
||||
UcData: 57.74,
|
||||
UcChannel: 1.0003,
|
||||
IaData: 5,
|
||||
IaChannel: 1.0001,
|
||||
IbData: 5,
|
||||
IbChannel: 1.0001,
|
||||
IcData: 5,
|
||||
IcChannel: 1.0001,
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
deviceName: '大电压大电流',
|
||||
MonitorIdx: 1,
|
||||
UaData: 57.74,
|
||||
UaChannel: 1.0003,
|
||||
UbData: 57.74,
|
||||
UbChannel: 1.0003,
|
||||
UcData: 57.74,
|
||||
UcChannel: 1.0003,
|
||||
IaData: 5,
|
||||
IaChannel: 1.0001,
|
||||
IbData: 5,
|
||||
IbChannel: 1.0001,
|
||||
IcData: 5,
|
||||
IcChannel: 1.0001,
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
deviceName: '小电压小电流',
|
||||
MonitorIdx: 1,
|
||||
UaData: 57.74,
|
||||
UaChannel: '合格',
|
||||
UbData: 57.74,
|
||||
UbChannel: '合格',
|
||||
UcData: 57.74,
|
||||
UcChannel: '合格',
|
||||
IaData: 5,
|
||||
IaChannel: '合格',
|
||||
IbData: 5,
|
||||
IbChannel: '不合格',
|
||||
IcData: 5,
|
||||
IcChannel: '合格',
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
deviceName: '小电压小电流',
|
||||
MonitorIdx: 1,
|
||||
UaData: 57.74,
|
||||
UaChannel: "合格",
|
||||
UbData: 57.74,
|
||||
UbChannel: '合格',
|
||||
UcData: 57.74,
|
||||
UcChannel: '合格',
|
||||
IaData: 5,
|
||||
IaChannel: '合格',
|
||||
IbData: 5,
|
||||
IbChannel: '合格',
|
||||
IcData: 5,
|
||||
IcChannel: '合格',
|
||||
},
|
||||
])
|
||||
const tableData3 = ref<TableDataItem[]>([
|
||||
{
|
||||
id: '1',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '大电压大电流',
|
||||
MonitorIdx: 1,
|
||||
UaData: 57.74,
|
||||
UaChannel: 1.0003,
|
||||
UbData: 57.74,
|
||||
UbChannel: 1.0003,
|
||||
UcData: 57.74,
|
||||
UcChannel: 1.0003,
|
||||
IaData: 5,
|
||||
IaChannel: 1.0001,
|
||||
IbData: 5,
|
||||
IbChannel: 1.0001,
|
||||
IcData: 5,
|
||||
IcChannel: 1.0001,
|
||||
Result: '合格',
|
||||
},
|
||||
{
|
||||
id: '3',
|
||||
id: '1',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '240004',
|
||||
MonitorIdx: 3,
|
||||
Ua: 1.0003,
|
||||
Ub: 1.0003,
|
||||
Uc: 0.0096,
|
||||
Ia: 1.0003,
|
||||
Ib: 1.0003,
|
||||
Ic: 1.0008,
|
||||
deviceName: '大电压大电流',
|
||||
MonitorIdx: 1,
|
||||
UaData: 57.74,
|
||||
UaChannel: 1.0003,
|
||||
UbData: 57.74,
|
||||
UbChannel: 1.0003,
|
||||
UcData: 57.74,
|
||||
UcChannel: 1.0003,
|
||||
IaData: 5,
|
||||
IaChannel: 1.0001,
|
||||
IbData: 5,
|
||||
IbChannel: 1.0001,
|
||||
IcData: 5,
|
||||
IcChannel: 1.0001,
|
||||
Result: '合格',
|
||||
},
|
||||
{
|
||||
id: '4',
|
||||
id: '1',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '240004',
|
||||
MonitorIdx: 4,
|
||||
Ua: 1.0003,
|
||||
Ub: 1.0003,
|
||||
Uc: 0.0096,
|
||||
Ia: 1.0003,
|
||||
Ib: 1.0003,
|
||||
Ic: 1.0008,
|
||||
deviceName: '小电压小电流',
|
||||
MonitorIdx: 1,
|
||||
UaData: 57.74,
|
||||
UaChannel: '合格',
|
||||
UbData: 57.74,
|
||||
UbChannel: '合格',
|
||||
UcData: 57.74,
|
||||
UcChannel: '合格',
|
||||
IaData: 5,
|
||||
IaChannel: '合格',
|
||||
IbData: 5,
|
||||
IbChannel: 1.0001,
|
||||
IcData: 5,
|
||||
IcChannel: '合格',
|
||||
Result: '合格',
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
updateTime: '2024-10-10 10:30:00',
|
||||
deviceName: '小电压小电流',
|
||||
MonitorIdx: 1,
|
||||
UaData: 57.74,
|
||||
UaChannel: "合格",
|
||||
UbData: 57.74,
|
||||
UbChannel: '合格',
|
||||
UcData: 57.74,
|
||||
UcChannel: '不合格',
|
||||
IaData: 5,
|
||||
IaChannel: '合格',
|
||||
IbData: 5,
|
||||
IbChannel: '合格',
|
||||
IcData: 5,
|
||||
IcChannel: '合格',
|
||||
Result: '合格',
|
||||
},
|
||||
])
|
||||
|
||||
const currentStepStatus = ref<'error' | 'finish' | 'wait' | 'success' | 'process'>('finish');
|
||||
|
||||
|
||||
// 打开弹窗,可能是新增,也可能是编辑
|
||||
const open = () => {
|
||||
const open = (selection: Device.ResPqDev[]) => {
|
||||
name.value = selection.map(item => item.name)
|
||||
channel.value = selection.map(item => item.devChns)
|
||||
dialogVisible.value = true;
|
||||
activeIndex.value = 1
|
||||
total.value = name.value.length
|
||||
}
|
||||
|
||||
const handleCancel=() => {
|
||||
// 清空 name, channel, total
|
||||
name.value = [];
|
||||
channel.value = [];
|
||||
total.value = 0;
|
||||
activeIndex.value = 0
|
||||
qualified.value = 0
|
||||
dialogVisible.value = false
|
||||
}
|
||||
|
||||
|
||||
// 定义 TableDataItem 接口
|
||||
interface TableDataItem {
|
||||
id: string;
|
||||
deviceName: string;
|
||||
MonitorIdx: number;
|
||||
UaData?: number;
|
||||
UaChannel?: number | string;
|
||||
UbData?: number;
|
||||
UbChannel?: number | string;
|
||||
UcData?: number;
|
||||
UcChannel?: number | string;
|
||||
IaData?: number;
|
||||
IaChannel?: number | string;
|
||||
IbData?: number;
|
||||
IbChannel?: number | string;
|
||||
IcData?: number;
|
||||
IcChannel?: number | string;
|
||||
Result?: string;
|
||||
updateTime?: string;
|
||||
}
|
||||
|
||||
|
||||
const tableDataMap = new Map<number, Ref<TableDataItem[]>>([
|
||||
[0, tableData1],
|
||||
[1, tableData2],
|
||||
[2, tableData3],
|
||||
]);
|
||||
|
||||
const getTableDataForChannel = (index: number): any[] => {
|
||||
const data = tableDataMap.get(index);
|
||||
return data ? data.value : [];
|
||||
}
|
||||
// const props = defineProps({
|
||||
// testStatus: {
|
||||
// type: String,
|
||||
@@ -364,33 +539,80 @@ const currentStepStatus = ref<'error' | 'finish' | 'wait' | 'success' | 'process
|
||||
|
||||
|
||||
watch(activeIndex, function (newValue, oldValue) {
|
||||
|
||||
if(activeIndex.value === 1)
|
||||
{
|
||||
outputDsc.value = "电压误差为:±0.1Un%; 电流误差为:±0.5%;当前源输出为:Ua=Ub=Uc=57.74V Ia=Ib=Ic=1A";
|
||||
}
|
||||
|
||||
if(activeIndex.value === 1)
|
||||
{
|
||||
outputDsc.value = "电压误差为:±0.1Un%; 电流误差为:±0.5%";
|
||||
// 当前源输出为:Ua=Ub=Uc=57.74V Ia=Ib=Ic=1A"
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
// 示例的 checkForErrors 函数,根据实际需求进行调整
|
||||
const checkForErrors = (data: TableDataItem[]): boolean => {
|
||||
// 这里假设不合格字段的标准是 status 为 '不合格' 或 isValid 为 false
|
||||
return data.some(item =>
|
||||
item.UaChannel === '不合格' ||
|
||||
item.UbChannel === '不合格' ||
|
||||
item.UcChannel === '不合格' ||
|
||||
item.IaChannel === '不合格' ||
|
||||
item.IbChannel === '不合格' ||
|
||||
item.IcChannel === '不合格'
|
||||
);
|
||||
};
|
||||
|
||||
const handleSubmit = () => {
|
||||
let timer = setInterval(() => {
|
||||
if (activeIndex.value < activeTotalNum.value) {
|
||||
activeIndex.value++
|
||||
if(activeIndex.value > 1)
|
||||
qualified.value = activeIndex.value -1;//演示效果,实际运行时使用后端传来的真实数据即可
|
||||
else
|
||||
qualified.value = activeIndex.value;
|
||||
}
|
||||
else if (activeIndex.value === activeTotalNum.value) {
|
||||
clearInterval(timer)
|
||||
}
|
||||
else {
|
||||
clearInterval(timer)
|
||||
if (intervalId !== null) {
|
||||
clearInterval(intervalId);
|
||||
}
|
||||
intervalId = setInterval(() => {
|
||||
console.log('开始')
|
||||
if (activeIndex.value < name.value.length) {
|
||||
activeIndex.value++;
|
||||
console.log('active index',activeIndex.value)
|
||||
// 获取当前活动索引对应的 tableData
|
||||
const currentDataRef = tableDataMap.get(activeIndex.value);
|
||||
if (currentDataRef) {
|
||||
const currentData = currentDataRef.value;
|
||||
// 检查当前数据中有无不合格字段
|
||||
const hasError = checkForErrors(currentData);
|
||||
if (hasError) {
|
||||
qualified.value++;
|
||||
}
|
||||
updateErrorState(activeIndex.value, hasError);
|
||||
}
|
||||
} else {
|
||||
console.log('停')
|
||||
clearInterval(intervalId!); // 停止定时器
|
||||
}
|
||||
|
||||
total.value = activeTotalNum.value
|
||||
|
||||
}, 3000); // 每隔3秒显示下一个tab
|
||||
|
||||
// let timer = setInterval(() => {
|
||||
// if (activeIndex.value < activeTotalNum.value) {
|
||||
// activeIndex.value++
|
||||
// if(activeIndex.value > 1)
|
||||
// qualified.value = activeIndex.value -1;//演示效果,实际运行时使用后端传来的真实数据即可
|
||||
// else
|
||||
// qualified.value = activeIndex.value;
|
||||
// }
|
||||
// else if (activeIndex.value === activeTotalNum.value) {
|
||||
// clearInterval(timer)
|
||||
// }
|
||||
// else {
|
||||
// clearInterval(timer)
|
||||
// }
|
||||
|
||||
// total.value = activeTotalNum.value
|
||||
// }, 1000);
|
||||
|
||||
|
||||
let timer2 = setInterval(() => {
|
||||
active.value++
|
||||
if (active.value++ > 4) {
|
||||
clearInterval(timer2)
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
};
|
||||
|
||||
// 对外映射
|
||||
@@ -407,11 +629,6 @@ const handleSubmit = () => {
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.right-content {
|
||||
/* max-height: 400px; */
|
||||
}
|
||||
|
||||
.custom-tabs-label .el-icon {
|
||||
vertical-align: middle;
|
||||
}
|
||||
@@ -422,13 +639,24 @@ const handleSubmit = () => {
|
||||
}
|
||||
|
||||
.dialog-content {
|
||||
height: 472px;
|
||||
height: 500px;
|
||||
}
|
||||
|
||||
.el-tabs--border-card {
|
||||
height: 425px;
|
||||
height: 470px;
|
||||
}
|
||||
.el-icon svg {
|
||||
color: #ff7171;
|
||||
}
|
||||
.container {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.dialog-left {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.right-content {
|
||||
flex: 5;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -4,88 +4,117 @@
|
||||
:header-cell-style="{ textAlign: 'center' } "
|
||||
:cell-style="{ textAlign: 'center' }"
|
||||
style="width: 100%"
|
||||
max-height="400px">
|
||||
<el-table-column type="expand">
|
||||
<template #default="props">
|
||||
<div style="display: flex">
|
||||
<p >大电压A相:57.74V,</p>
|
||||
<p >大电压B相:57.74V,</p>
|
||||
<p >大电压C相:57.74V,</p>
|
||||
<p >大电流A相:1A,</p>
|
||||
<p >大电流B相:1A,</p>
|
||||
<p >大电流C相:1A</p>
|
||||
</div>
|
||||
<div style="display: flex">
|
||||
<p >小电压A相:57.74V,</p>
|
||||
<p >小电压B相:57.74V,</p>
|
||||
<p >小电压C相:57.74V,</p>
|
||||
<p >小电流A相:1A,</p>
|
||||
<p >小电流B相:1A,</p>
|
||||
<p >小电流C相:1A</p>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
max-height="400px"
|
||||
:span-method="objectSpanMethod">
|
||||
<el-table-column prop="MonitorIdx" label="监测点序号"/>
|
||||
<!-- <el-table-column prop="updateTime" label="上送时刻" width="180"/> -->
|
||||
<!-- <el-table-column prop="deviceName" label="设备名称" /> -->
|
||||
|
||||
<!-- <el-table-column prop="deviceName" label="描述" /> -->
|
||||
<el-table-column label="电压通道" >
|
||||
<el-table-column prop="Ua" label="L1">
|
||||
|
||||
<el-table-column prop="UaData" label="数据(V)"/>
|
||||
<el-table-column prop="UaChannel" label="系数">
|
||||
<template #default="scope">
|
||||
<el-tag type="danger" v-if="scope.row.UaChannel === '不合格'">{{ scope.row.UaChannel }}</el-tag>
|
||||
</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="UbChannel" label="系数">
|
||||
<template #default="scope">
|
||||
<el-tag type="danger" v-if="scope.row.UbChannel === '不合格'">{{ scope.row.UbChannel }}</el-tag>
|
||||
</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="UcChannel" label="系数">
|
||||
<template #default="scope">
|
||||
<el-tag type="danger" v-if="scope.row.UcChannel === '不合格'">{{ scope.row.UcChannel }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
</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="IaChannel" label="系数">
|
||||
<template #default="scope">
|
||||
<el-tag type="danger" v-if="scope.row.IaChannel === '不合格'">{{ scope.row.IaChannel }}</el-tag>
|
||||
</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="IbChannel" label="系数">
|
||||
<template #default="scope">
|
||||
<el-tag type="danger" v-if="scope.row.IbChannel === '不合格'">{{ scope.row.IbChannel }}</el-tag>
|
||||
</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="IcChannel" label="系数">
|
||||
<template #default="scope">
|
||||
<el-tag type="danger" v-if="scope.row.IcChannel === '不合格'">{{ scope.row.IcChannel }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="校准结果">
|
||||
<!-- <el-table-column label="校准结果">
|
||||
<template #default="scope">
|
||||
<el-tag type="danger" v-if="scope.row.Result === '不合格'">{{ scope.row.Result }}</el-tag>
|
||||
<span v-if="scope.row.Result != '不合格'">{{ scope.row.Result }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
|
||||
</el-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="ErrorSystemDialog">
|
||||
import{ElMessage, FormInstance,FormItemRule}from'element-plus'
|
||||
import { defineProps, defineEmits, reactive,watch,ref, Ref } from 'vue';
|
||||
import { dialogBig,dialogMiddle} from '@/utils/elementBind'
|
||||
//import IndicatorTypeDialog from "@/views/machine/errorSystem/components/IndicatorTypeDialog.vue"; // 导入子组件
|
||||
import {CirclePlus, Delete, EditPen,FolderOpened,CopyDocument} from '@element-plus/icons-vue'
|
||||
import { useDictStore } from '@/stores/modules/dict'
|
||||
const dictStore = useDictStore()
|
||||
const props = defineProps<{
|
||||
tableData: {
|
||||
tableData: Array<{
|
||||
id: string;
|
||||
updateTime: string;
|
||||
deviceName:string;
|
||||
MonitorIdx:number;
|
||||
Ua:number;
|
||||
Ub:number;
|
||||
Uc:number;
|
||||
Ia:number;
|
||||
Ib:number;
|
||||
Ic:number;
|
||||
UaData:number;
|
||||
UaChannel:string;
|
||||
UbData:number;
|
||||
UbChannel:string;
|
||||
UcData:number;
|
||||
UcChannel:string;
|
||||
IaData:number;
|
||||
IaChannel:string;
|
||||
IbData:number;
|
||||
IbChannel:string;
|
||||
IcData:number;
|
||||
IcChannel:string;
|
||||
Result: string;
|
||||
};
|
||||
}>
|
||||
}>();
|
||||
|
||||
function objectSpanMethod({ row, column, rowIndex, columnIndex }: { row: any, column: any, rowIndex: number, columnIndex: number }) {
|
||||
if (columnIndex === 0) {
|
||||
if (rowIndex === 0 || rowIndex === 4 || rowIndex === 8 || rowIndex === 12) {
|
||||
return {
|
||||
rowspan: 4,
|
||||
colspan: 1,
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
rowspan: 0,
|
||||
colspan: 0,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// const tableData = ref([
|
||||
// {
|
||||
|
||||
@@ -236,7 +236,7 @@
|
||||
@update:visible="matchDialogVisible = $event"
|
||||
></matchPopup>
|
||||
|
||||
<!--系数校准-->>
|
||||
<!--系数校准-->
|
||||
<ChannelsTest ref="channelsTest"></ChannelsTest>
|
||||
</div>
|
||||
</template>
|
||||
@@ -302,7 +302,7 @@ const operationMinWidth = ref(200);
|
||||
const selectionShow = ref(true);
|
||||
const channelsTest = ref()
|
||||
const testPopup = ref()
|
||||
|
||||
const channelsSelection = ref<Device.ResPqDev[]>([])
|
||||
const props = defineProps({
|
||||
id: {
|
||||
type: String,
|
||||
@@ -369,7 +369,6 @@ const checkResult: Dict[] = [
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
//查询条件
|
||||
const form: any = ref({
|
||||
activeTabs: 0, //功能选择
|
||||
@@ -394,9 +393,11 @@ const searchForm = ref({
|
||||
// ProTable 实例
|
||||
const proTable = ref<ProTableInstance>();
|
||||
|
||||
const boundPqDevList=ref<Device.ReqPqDevParams[]>([])//根据检测计划id查询出所有已绑定的设备
|
||||
|
||||
const getTableList = async (params: any) => {
|
||||
// 调用 ProTable 的 clearSelection 方法清空选择
|
||||
if (proTable.value) {
|
||||
proTable.value.clearSelection();
|
||||
}
|
||||
if(props.id){
|
||||
const checkStateList = ref<any>()
|
||||
if(form.value.checkStatus != null){
|
||||
@@ -414,8 +415,6 @@ const getTableList = async (params: any) => {
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
// 表格配置项
|
||||
const columns = reactive<ColumnProps<Device.ResPqDev>[]>([
|
||||
{ type: 'selection', fixed: 'left', width: 70, isShow:selectionShow },
|
||||
@@ -543,7 +542,8 @@ const resetSearchForm = () => {
|
||||
let testType = "test";//检测还是复检
|
||||
|
||||
const handleSelectionChange = (selection: any[]) => {
|
||||
|
||||
channelsSelection.value = selection
|
||||
console.log(selection);
|
||||
devNum = selection.length;
|
||||
devChannelsNum = 0;
|
||||
for (let i = 0; i < selection.length; i++) {
|
||||
@@ -806,7 +806,8 @@ const handleTest = async (val:string) => {
|
||||
|
||||
if(val==='系数校准')
|
||||
{
|
||||
channelsTest.value?.open()
|
||||
|
||||
channelsTest.value?.open(channelsSelection.value)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -892,6 +893,7 @@ const openDrawer = (title: string, row: any) => {
|
||||
watch(
|
||||
() => props.id,
|
||||
(newId) => {
|
||||
|
||||
// 调用获取数据的方法
|
||||
handleSearch();
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,12 +10,12 @@
|
||||
<div class="error-dsc">
|
||||
<div class="green-div"></div>
|
||||
<span style=" color: #606266; font-size: 16px;font-weight: 600;">
|
||||
守时误差≤1000ms
|
||||
合格≤1000ms
|
||||
</span>
|
||||
|
||||
<div class="red-div"></div>
|
||||
<span style=" color: #F56C6c; font-size: 16px;font-weight: 600;">
|
||||
守时误差>1000ms
|
||||
不合格>1000ms
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -271,7 +271,6 @@ const chartsData1: any = ref([]),
|
||||
if (plan.id === id) {
|
||||
return plan;
|
||||
}
|
||||
console.log('plan.children', plan.children);
|
||||
if (plan.children) {
|
||||
const foundPlan = findPlanById(plan.children, id);
|
||||
if (foundPlan) {
|
||||
|
||||
Reference in New Issue
Block a user