|
|
|
|
@ -20,7 +20,7 @@
|
|
|
|
|
<!-- 左侧电力参数区域 -->
|
|
|
|
|
<div class="power-section">
|
|
|
|
|
<!-- ABC三相电力参数 -->
|
|
|
|
|
<div class="power-params">
|
|
|
|
|
<div class="power-params" v-loading="phaseLoading" element-loading-background="rgba(122, 122, 122, 0.8)">
|
|
|
|
|
<div v-for="phase in powerPhases" :key="phase.name" class="phase-card">
|
|
|
|
|
<div class="phase-name"><span>{{ phase.name }}</span>相</div>
|
|
|
|
|
<div class="param-list">
|
|
|
|
|
@ -76,70 +76,72 @@
|
|
|
|
|
<el-button class="mode-button active">{{ info.Mode ? '手动' : '自动' }}</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="circuit-section">
|
|
|
|
|
<!-- 上排回路 -->
|
|
|
|
|
<div class="circuit-row">
|
|
|
|
|
<div v-for="(circuit, index) in info.Loops.slice(0, 5)" :key="circuit.name" class="circuit-item">
|
|
|
|
|
<div class="circuit-status" :class="{ active: circuit.is_open }">
|
|
|
|
|
直流回路{{ index + 1 }}:{{ circuit.is_open ? '打开' : '关闭' }}
|
|
|
|
|
</div>
|
|
|
|
|
<!-- <div class="circuit-icon" :class="{ active: circuit.is_open }">
|
|
|
|
|
<el-icon>
|
|
|
|
|
<Sunny />
|
|
|
|
|
</el-icon>
|
|
|
|
|
</div> -->
|
|
|
|
|
<div class="circuitStatus">
|
|
|
|
|
<div class="line">
|
|
|
|
|
<div class="line_item">电压: <span>{{ circuit.V ? circuit.V?.toFixed(2) : 0 }}V</span></div>
|
|
|
|
|
<div class="line_item">电流: <span>{{ circuit.A ? circuit.A?.toFixed(2) : 0 }}A</span></div>
|
|
|
|
|
<div v-loading="infoLoading" element-loading-background="rgba(122, 122, 122, 0.8)">
|
|
|
|
|
<div class="circuit-section">
|
|
|
|
|
<!-- 上排回路 -->
|
|
|
|
|
<div class="circuit-row">
|
|
|
|
|
<div v-for="(circuit, index) in info.Loops.slice(0, 5)" :key="circuit.name" class="circuit-item">
|
|
|
|
|
<div class="circuit-status" :class="{ active: circuit.is_open }">
|
|
|
|
|
直流回路{{ index + 1 }}:{{ circuit.is_open ? '打开' : '关闭' }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="line">
|
|
|
|
|
<div class="line_item">功率: <span>{{ circuit.Kw ? circuit.Kw?.toFixed(3) : 0 }}kW</span></div>
|
|
|
|
|
<!-- <div class="circuit-icon" :class="{ active: circuit.is_open }">
|
|
|
|
|
<el-icon>
|
|
|
|
|
<Sunny />
|
|
|
|
|
</el-icon>
|
|
|
|
|
</div> -->
|
|
|
|
|
<div class="circuitStatus">
|
|
|
|
|
<div class="line">
|
|
|
|
|
<div class="line_item">电压: <span>{{ circuit.V ? circuit.V?.toFixed(2) : 0 }}V</span></div>
|
|
|
|
|
<div class="line_item">电流: <span>{{ circuit.A ? circuit.A?.toFixed(2) : 0 }}A</span></div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="line">
|
|
|
|
|
<div class="line_item">功率: <span>{{ circuit.Kw ? circuit.Kw?.toFixed(3) : 0 }}kW</span></div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 下排回路 -->
|
|
|
|
|
<div class="circuit-row">
|
|
|
|
|
<div v-for="(circuit, index) in info.Loops.slice(5, 10)" :key="circuit.name" class="circuit-item">
|
|
|
|
|
<div class="circuit-status" :class="{ active: circuit.is_open }">
|
|
|
|
|
直流回路{{ index + 6 }}:{{ circuit.is_open ? '打开' : '关闭' }}
|
|
|
|
|
</div>
|
|
|
|
|
<!-- <div class="circuit-icon" :class="{ active: circuit.is_open }">
|
|
|
|
|
<el-icon>
|
|
|
|
|
<Sunny />
|
|
|
|
|
</el-icon>
|
|
|
|
|
</div> -->
|
|
|
|
|
<div class="circuitStatus">
|
|
|
|
|
<div class="line">
|
|
|
|
|
<div class="line_item">电压: <span>{{ circuit.V ? circuit.V?.toFixed(2) : 0 }}V</span></div>
|
|
|
|
|
<div class="line_item">电流: <span>{{ circuit.A ? circuit.A?.toFixed(2) : 0 }}A</span></div>
|
|
|
|
|
<!-- 下排回路 -->
|
|
|
|
|
<div class="circuit-row">
|
|
|
|
|
<div v-for="(circuit, index) in info.Loops.slice(5, 10)" :key="circuit.name" class="circuit-item">
|
|
|
|
|
<div class="circuit-status" :class="{ active: circuit.is_open }">
|
|
|
|
|
直流回路{{ index + 6 }}:{{ circuit.is_open ? '打开' : '关闭' }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="line">
|
|
|
|
|
<div class="line_item">功率: <span>{{ circuit.Kw ? circuit.Kw?.toFixed(3) : 0 }}kW</span></div>
|
|
|
|
|
<!-- <div class="circuit-icon" :class="{ active: circuit.is_open }">
|
|
|
|
|
<el-icon>
|
|
|
|
|
<Sunny />
|
|
|
|
|
</el-icon>
|
|
|
|
|
</div> -->
|
|
|
|
|
<div class="circuitStatus">
|
|
|
|
|
<div class="line">
|
|
|
|
|
<div class="line_item">电压: <span>{{ circuit.V ? circuit.V?.toFixed(2) : 0 }}V</span></div>
|
|
|
|
|
<div class="line_item">电流: <span>{{ circuit.A ? circuit.A?.toFixed(2) : 0 }}A</span></div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="line">
|
|
|
|
|
<div class="line_item">功率: <span>{{ circuit.Kw ? circuit.Kw?.toFixed(3) : 0 }}kW</span></div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="dimming-section">
|
|
|
|
|
<!-- 上排调光通道 -->
|
|
|
|
|
<div class="dimming-row">
|
|
|
|
|
<div v-for="(channel, index) in info.Loops.slice(0, 5)" :key="channel.name" class="dimming-item">
|
|
|
|
|
<div class="channel-label">调光通道{{ index + 1 }}</div>
|
|
|
|
|
<div class="brightness-display" :class="{ active: channel.pwm > 0 }">
|
|
|
|
|
{{ channel.pwm }}%
|
|
|
|
|
<div class="dimming-section">
|
|
|
|
|
<!-- 上排调光通道 -->
|
|
|
|
|
<div class="dimming-row">
|
|
|
|
|
<div v-for="(channel, index) in info.Loops.slice(0, 5)" :key="channel.name" class="dimming-item">
|
|
|
|
|
<div class="channel-label">调光通道{{ index + 1 }}</div>
|
|
|
|
|
<div class="brightness-display" :class="{ active: channel.pwm > 0 }">
|
|
|
|
|
{{ channel.pwm }}%
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 下排调光通道 -->
|
|
|
|
|
<div class="dimming-row">
|
|
|
|
|
<div v-for="(channel, index) in info.Loops.slice(5, 10)" :key="channel.name" class="dimming-item">
|
|
|
|
|
<div class="channel-label">调光通道{{ index + 6 }}</div>
|
|
|
|
|
<div class="brightness-display" :class="{ active: channel.pwm > 0 }">
|
|
|
|
|
{{ channel.pwm }}%
|
|
|
|
|
<!-- 下排调光通道 -->
|
|
|
|
|
<div class="dimming-row">
|
|
|
|
|
<div v-for="(channel, index) in info.Loops.slice(5, 10)" :key="channel.name" class="dimming-item">
|
|
|
|
|
<div class="channel-label">调光通道{{ index + 6 }}</div>
|
|
|
|
|
<div class="brightness-display" :class="{ active: channel.pwm > 0 }">
|
|
|
|
|
{{ channel.pwm }}%
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
@ -423,10 +425,14 @@ const info = ref({
|
|
|
|
|
"backup_byte4": 0
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const infoLoading = ref(false)
|
|
|
|
|
const phaseLoading = ref(false)
|
|
|
|
|
const getInfo = () => {
|
|
|
|
|
// RPC.post('/m9z/getDeviceManualInfo', { comm_uid: commit_uid }).then(res => {
|
|
|
|
|
// info.value = res
|
|
|
|
|
// })
|
|
|
|
|
infoLoading.value = true
|
|
|
|
|
phaseLoading.value = true
|
|
|
|
|
RPC.post('/adl400/readPhaseData', { comm_uid: commit_uid }).then(res => {
|
|
|
|
|
powerPhases.value[0].voltage = res.aVoltage + 'V'
|
|
|
|
|
powerPhases.value[0].current = res.aElectricCurrent + 'A'
|
|
|
|
|
@ -446,12 +452,16 @@ const getInfo = () => {
|
|
|
|
|
energyParams.value.activeEnergy = res.activeEnergy + 'kW·h'
|
|
|
|
|
energyParams.value.activePower = res.activePower + 'kW'
|
|
|
|
|
energyParams.value.powerFactor = res.powerFactor
|
|
|
|
|
}).finally(() => {
|
|
|
|
|
phaseLoading.value = false
|
|
|
|
|
})
|
|
|
|
|
RPC.post('/m9z/getDeviceStatus2', { comm_uid: commit_uid }).then((res) => {
|
|
|
|
|
// 直流电流、电源、功率
|
|
|
|
|
if (res.Loops?.length === 10) {
|
|
|
|
|
info.value = res
|
|
|
|
|
}
|
|
|
|
|
}).finally(() => {
|
|
|
|
|
infoLoading.value = false
|
|
|
|
|
})
|
|
|
|
|
getLineData()
|
|
|
|
|
|
|
|
|
|
|