<script setup>
|
import HdwBox from "@/components/HdwBox.vue";
|
import { ref } from "vue";
|
import ycLight from "@/components/ycLight.vue";
|
import toFixed from "@/assets/js/toFixed.js";
|
import const_digits from "@/assets/js/const_digits";
|
|
const emit = defineEmits(["editParams", 'start', 'stop', 'clearAlarm']);
|
const { VOL, CURR, TEMP, FREQ } = const_digits;
|
|
const props = defineProps({
|
// title: {
|
// type: String,
|
// default: "标题",
|
// },
|
info: {
|
type: Object,
|
// default: () => {
|
// return {};
|
// },
|
required: true,
|
},
|
});
|
|
</script>
|
|
<template>
|
<hdw-box :title="info.powerName">
|
<template #tools>
|
<el-button size="small" type="primary" @click="emit('clearAlarm')">清除故障</el-button>
|
<el-button size="small" type="primary" @click="emit('editParams')">修改参数</el-button>
|
<el-button size="small" type="primary" v-if="!info.state?.powerWorkstat" @click="emit('start')">开机</el-button>
|
<el-button size="small" type="primary" v-else @click="emit('stop')">关机</el-button>
|
</template>
|
<el-scrollbar>
|
<!-- <div class="state-info-title">IIC读取数据</div>
|
<div class="state-info-list-wrapper">
|
<el-row :gutter="0">
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">A相电压:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">0</div>
|
<div class="state-info-unit">V</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">B相电压:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">0</div>
|
<div class="state-info-unit">V</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">C相电压:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">0</div>
|
<div class="state-info-unit">V</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">A相电流:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">0</div>
|
<div class="state-info-unit">A</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">B相电流:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">0</div>
|
<div class="state-info-unit">A</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">C相电流:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">0</div>
|
<div class="state-info-unit">A</div>
|
</div>
|
</div>
|
</el-col>
|
</el-row>
|
</div> -->
|
<!-- <div class="state-info-title adc">单片机ADC采样</div> -->
|
<div class="state-info-list-wrapper">
|
<el-row :gutter="0">
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">A相电压:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">
|
{{ toFixed(info.state?.vgridrmsVola, VOL) }}
|
</div>
|
<div class="state-info-unit">V</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">B相电压:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">
|
{{ toFixed(info.state?.vgridrmsVolb, VOL) }}
|
</div>
|
<div class="state-info-unit">V</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">C相电压:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">
|
{{ toFixed(info.state?.vgridrmsVolc, VOL) }}
|
</div>
|
<div class="state-info-unit">V</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">A相电流:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">
|
{{ toFixed(info.state?.igridrmsCurra, CURR) }}
|
</div>
|
<div class="state-info-unit">A</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">B相电流:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">
|
{{ toFixed(info.state?.igridrmsCurrb, CURR) }}
|
</div>
|
<div class="state-info-unit">A</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">C相电流:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">
|
{{ toFixed(info.state?.igridrmsCurrc, CURR) }}
|
</div>
|
<div class="state-info-unit">A</div>
|
</div>
|
</div>
|
</el-col>
|
</el-row>
|
</div>
|
<div class="state-info-title line"></div>
|
<div class="state-info-list-wrapper">
|
<el-row :gutter="0">
|
<!-- <el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">A相功率:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">0</div>
|
<div class="state-info-unit"></div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">B相功率:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">0</div>
|
<div class="state-info-unit"></div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">C相功率:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">0</div>
|
<div class="state-info-unit"></div>
|
</div>
|
</div>
|
</el-col> -->
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">母线电压:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">{{ toFixed(info.state?.vbusVol, VOL) }}</div>
|
<div class="state-info-unit">V</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">交流频率:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">{{ toFixed(info.state?.gridFreq, FREQ) }}</div>
|
<div class="state-info-unit">HZ</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">PCB温度:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">
|
{{ toFixed(info.state?.degreeTemppcb, TEMP) }}
|
</div>
|
<div class="state-info-unit">℃</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="12">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">BUS+正电压:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">{{ toFixed(info.state?.vmidVol, VOL) }}</div>
|
<div class="state-info-unit">V</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="12">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">A散热器温度:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">
|
{{ toFixed(info.state?.degreeTempa, TEMP) }}
|
</div>
|
<div class="state-info-unit">℃</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="12">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">B散热器温度:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">
|
{{ toFixed(info.state?.degreeTempb, TEMP) }}
|
</div>
|
<div class="state-info-unit">℃</div>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="12">
|
<div class="state-info-item-wrapper">
|
<div class="state-info-label">C散热器温度:</div>
|
<div class="state-info-value-wrapper">
|
<div class="state-info-value">
|
{{ toFixed(info.state?.degreeTempc, TEMP) }}
|
</div>
|
<div class="state-info-unit">℃</div>
|
</div>
|
</div>
|
</el-col>
|
<!-- <el-col :span="12">-->
|
<!-- <div class="state-info-item-wrapper">-->
|
<!-- <div class="state-info-label">A相电压有效值:</div>-->
|
<!-- <div class="state-info-value-wrapper">-->
|
<!-- <div class="state-info-value">0</div>-->
|
<!-- <div class="state-info-unit">V</div>-->
|
<!-- </div>-->
|
<!-- </div>-->
|
<!-- </el-col>-->
|
<!-- <el-col :span="12">-->
|
<!-- <div class="state-info-item-wrapper">-->
|
<!-- <div class="state-info-label">B相电压有效值:</div>-->
|
<!-- <div class="state-info-value-wrapper">-->
|
<!-- <div class="state-info-value">0</div>-->
|
<!-- <div class="state-info-unit">V</div>-->
|
<!-- </div>-->
|
<!-- </div>-->
|
<!-- </el-col>-->
|
<!-- <el-col :span="12">-->
|
<!-- <div class="state-info-item-wrapper">-->
|
<!-- <div class="state-info-label">C相电压有效值:</div>-->
|
<!-- <div class="state-info-value-wrapper">-->
|
<!-- <div class="state-info-value">0</div>-->
|
<!-- <div class="state-info-unit">C</div>-->
|
<!-- </div>-->
|
<!-- </div>-->
|
<!-- </el-col>-->
|
<!-- <el-col :span="12">-->
|
<!-- <div class="state-info-item-wrapper">-->
|
<!-- <div class="state-info-label large">A相电流有效值:</div>-->
|
<!-- <div class="state-info-value-wrapper">-->
|
<!-- <div class="state-info-value">0</div>-->
|
<!-- <div class="state-info-unit">A</div>-->
|
<!-- </div>-->
|
<!-- </div>-->
|
<!-- </el-col>-->
|
<!-- <el-col :span="12">-->
|
<!-- <div class="state-info-item-wrapper">-->
|
<!-- <div class="state-info-label large">B相电流有效值:</div>-->
|
<!-- <div class="state-info-value-wrapper">-->
|
<!-- <div class="state-info-value">0</div>-->
|
<!-- <div class="state-info-unit">A</div>-->
|
<!-- </div>-->
|
<!-- </div>-->
|
<!-- </el-col>-->
|
<!-- <el-col :span="12">-->
|
<!-- <div class="state-info-item-wrapper">-->
|
<!-- <div class="state-info-label">C相电流有效值:</div>-->
|
<!-- <div class="state-info-value-wrapper">-->
|
<!-- <div class="state-info-value">0</div>-->
|
<!-- <div class="state-info-unit">A</div>-->
|
<!-- </div>-->
|
<!-- </div>-->
|
<!-- </el-col>-->
|
</el-row>
|
</div>
|
<div class="state-info-title line"></div>
|
<div class="state-info-list-wrapper">
|
<el-row :gutter="0">
|
<el-col :span="8">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">A相过流</div>
|
<div class="value">
|
<yc-light :error="info.state?.acinOverCurra"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">B相过流</div>
|
<div class="value">
|
<yc-light :error="info.state?.acinOverCurrb"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">C相过流</div>
|
<div class="value">
|
<yc-light :error="info.state?.acinOverCurrc"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
|
<el-col :span="8">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">A相过压</div>
|
<div class="value">
|
<yc-light :error="info.state?.vgridOverVola"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">B相过压</div>
|
<div class="value">
|
<yc-light :error="info.state?.vgridOverVolb"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">C相过压</div>
|
<div class="value">
|
<yc-light :error="info.state?.vgridOverVolc"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
|
<el-col :span="8">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">A相欠压</div>
|
<div class="value">
|
<yc-light :error="info.state?.vgridUnderVola"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">B相欠压</div>
|
<div class="value">
|
<yc-light :error="info.state?.vgridUnderVolb"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">C相欠压</div>
|
<div class="value">
|
<yc-light :error="info.state?.vgridUnderVolc"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">BUS过压</div>
|
<div class="value">
|
<yc-light :error="info.state?.busOverVol"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">BUS欠压</div>
|
<div class="value">
|
<yc-light :error="info.state?.busUnderVol"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="8"> </el-col>
|
<el-col :span="12">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">A散热器温度过温</div>
|
<div class="value">
|
<yc-light :error="info.state?.mosaOverTemp"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="12">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">B散热器温度过温</div>
|
<div class="value">
|
<yc-light :error="info.state?.mosbOverTemp"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="12">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">C散热器温度过温</div>
|
<div class="value">
|
<yc-light :error="info.state?.moscOverTemp"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="12"></el-col>
|
<el-col :span="12">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">风机故障</div>
|
<div class="value">
|
<yc-light :error="info.state?.fanAlarm"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
<el-col :span="12">
|
<div class="state-info-item-wrapper alarm">
|
<div class="label">12V辅助电源故障</div>
|
<div class="value">
|
<yc-light :error="info.state?.vdc12vFault"></yc-light>
|
</div>
|
</div>
|
</el-col>
|
</el-row>
|
</div>
|
</el-scrollbar>
|
</hdw-box>
|
</template>
|
|
<style scoped lang="scss">
|
.state-info-list-wrapper {
|
.state-info-item-wrapper {
|
padding: 4px 0;
|
text-align: left;
|
white-space: nowrap;
|
font-size: 14px;
|
.state-info-label {
|
display: inline-block;
|
text-align: right;
|
padding: 0 8px;
|
color: #f2f2f2;
|
.large {
|
min-width: 140px;
|
text-align: right;
|
}
|
}
|
.state-info-value-wrapper {
|
display: inline-block;
|
text-align: center;
|
min-width: 70px;
|
padding: 4px 8px;
|
border: 1px solid var(--base-color);
|
border-radius: 4px;
|
background-color: var(--bg-color);
|
.state-info-value {
|
display: inline-block;
|
}
|
.state-info-unit {
|
display: inline-block;
|
}
|
}
|
&.alarm {
|
display: flex;
|
flex-direction: row;
|
align-items: center;
|
padding: 0;
|
}
|
.label {
|
flex: 1;
|
text-align: right;
|
margin-right: 0.6em;
|
&::after {
|
content: ":";
|
}
|
}
|
.value {
|
margin-right: 0.4em;
|
}
|
}
|
}
|
.state-info-title {
|
padding: 4px 8px;
|
font-size: 14px;
|
&.adc {
|
border-top: 1px solid var(--base-color90);
|
}
|
&.line {
|
padding: 0;
|
border-top: 1px solid var(--base-color90);
|
}
|
}
|
</style>
|