From 8ffb54b88e3907ea59c120d34a8cd9f486cc1151 Mon Sep 17 00:00:00 2001 From: he wei <858544502@qq.com> Date: 星期一, 13 一月 2025 16:37:36 +0800 Subject: [PATCH] U 提交 --- src/views/home/StateInfo.vue | 355 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 272 insertions(+), 83 deletions(-) diff --git a/src/views/home/StateInfo.vue b/src/views/home/StateInfo.vue index cb0c339..74c6eca 100644 --- a/src/views/home/StateInfo.vue +++ b/src/views/home/StateInfo.vue @@ -1,24 +1,39 @@ -<script> +<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"; -export default { - name: "StateInfo" , - components: {HdwBox}, - data() { - return { - title: "鏍囬" - }; +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="title"> + <hdw-box :title="info.powerName"> <template #tools> - <el-button size="small" type="primary">鍚姩娴嬭瘯</el-button> + <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-title">IIC璇诲彇鏁版嵁</div> <div class="state-info-list-wrapper"> <el-row :gutter="0"> <el-col :span="8"> @@ -76,15 +91,17 @@ </div> </el-col> </el-row> - </div> - <div class="state-info-title adc">鍗曠墖鏈篈DC閲囨牱</div> + </div> --> + <!-- <div class="state-info-title adc">鍗曠墖鏈篈DC閲囨牱</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-value"> + {{ toFixed(info.state?.vgridrmsVola, VOL) }} + </div> <div class="state-info-unit">V</div> </div> </div> @@ -93,7 +110,9 @@ <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-value"> + {{ toFixed(info.state?.vgridrmsVolb, VOL) }} + </div> <div class="state-info-unit">V</div> </div> </div> @@ -102,7 +121,9 @@ <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-value"> + {{ toFixed(info.state?.vgridrmsVolc, VOL) }} + </div> <div class="state-info-unit">V</div> </div> </div> @@ -111,7 +132,9 @@ <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-value"> + {{ toFixed(info.state?.igridrmsCurra, CURR) }} + </div> <div class="state-info-unit">A</div> </div> </div> @@ -120,7 +143,9 @@ <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-value"> + {{ toFixed(info.state?.igridrmsCurrb, CURR) }} + </div> <div class="state-info-unit">A</div> </div> </div> @@ -129,7 +154,9 @@ <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-value"> + {{ toFixed(info.state?.igridrmsCurrc, CURR) }} + </div> <div class="state-info-unit">A</div> </div> </div> @@ -139,7 +166,7 @@ <div class="state-info-title line"></div> <div class="state-info-list-wrapper"> <el-row :gutter="0"> - <el-col :span="8"> + <!-- <el-col :span="8"> <div class="state-info-item-wrapper"> <div class="state-info-label">A鐩稿姛鐜�:</div> <div class="state-info-value-wrapper"> @@ -165,12 +192,12 @@ <div class="state-info-unit"></div> </div> </div> - </el-col> + </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">0</div> + <div class="state-info-value">{{ toFixed(info.state?.vbusVol, VOL) }}</div> <div class="state-info-unit">V</div> </div> </div> @@ -179,7 +206,7 @@ <div class="state-info-item-wrapper"> <div class="state-info-label">浜ゆ祦棰戠巼:</div> <div class="state-info-value-wrapper"> - <div class="state-info-value">0</div> + <div class="state-info-value">{{ toFixed(info.state?.gridFreq, FREQ) }}</div> <div class="state-info-unit">HZ</div> </div> </div> @@ -188,7 +215,9 @@ <div class="state-info-item-wrapper"> <div class="state-info-label">PCB娓╁害:</div> <div class="state-info-value-wrapper"> - <div class="state-info-value">0</div> + <div class="state-info-value"> + {{ toFixed(info.state?.degreeTemppcb, TEMP) }} + </div> <div class="state-info-unit">鈩�</div> </div> </div> @@ -197,7 +226,7 @@ <div class="state-info-item-wrapper"> <div class="state-info-label">BUS+姝g數鍘�:</div> <div class="state-info-value-wrapper"> - <div class="state-info-value">0</div> + <div class="state-info-value">{{ toFixed(info.state?.vmidVol, VOL) }}</div> <div class="state-info-unit">V</div> </div> </div> @@ -206,7 +235,9 @@ <div class="state-info-item-wrapper"> <div class="state-info-label">A鏁g儹鍣ㄦ俯搴�:</div> <div class="state-info-value-wrapper"> - <div class="state-info-value">0</div> + <div class="state-info-value"> + {{ toFixed(info.state?.degreeTempa, TEMP) }} + </div> <div class="state-info-unit">鈩�</div> </div> </div> @@ -215,7 +246,9 @@ <div class="state-info-item-wrapper"> <div class="state-info-label">B鏁g儹鍣ㄦ俯搴�:</div> <div class="state-info-value-wrapper"> - <div class="state-info-value">0</div> + <div class="state-info-value"> + {{ toFixed(info.state?.degreeTempb, TEMP) }} + </div> <div class="state-info-unit">鈩�</div> </div> </div> @@ -224,65 +257,204 @@ <div class="state-info-item-wrapper"> <div class="state-info-label">C鏁g儹鍣ㄦ俯搴�:</div> <div class="state-info-value-wrapper"> - <div class="state-info-value">0</div> + <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-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鏁g儹鍣ㄦ俯搴﹁繃娓�</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鏁g儹鍣ㄦ俯搴﹁繃娓�</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鏁g儹鍣ㄦ俯搴﹁繃娓�</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> @@ -321,6 +493,23 @@ 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 { -- Gitblit v1.9.1