| | |
| | | import ProtectorBox from "./components/protectorBox"; |
| | | import TextBox from "./components/textBox"; |
| | | import SvgLine from "./components/svgLine"; |
| | | import marqueeLeft from "./components/marqueeLeft.vue"; |
| | | |
| | | import getBinaryDigits from "@/assets/js/getBinaryDigits"; |
| | | import FileProcess from "./fileProcess"; |
| | |
| | | TextBox, |
| | | SvgLine, |
| | | ListCard, |
| | | marqueeLeft, |
| | | }, |
| | | data() { |
| | | const baseURL = getWebUrl(); |
| | |
| | | dcin2_switch_trip: [], |
| | | dc1_switch1_trip: [], |
| | | dc2_switch1_trip: [], |
| | | breaker_state1: [], |
| | | breaker_state2: [], |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | dcIn2SwitchTripReal, |
| | | dc1Switch1TripReal, |
| | | dc2Switch1TripReal, |
| | | breakerState1, |
| | | breakerState2, |
| | | } = data2; |
| | | |
| | | let ac1_outswitch1_trip = getBinaryDigits(ac1OutSwitch1TripReal); |
| | | let ac2_outswitch1_trip = getBinaryDigits(ac2OutSwitch1TripReal); |
| | | let dc1_switch1_trip = getBinaryDigits(dc1Switch1TripReal); |
| | | let dc2_switch1_trip = getBinaryDigits(dc2Switch1TripReal); |
| | | let breaker_state1 = getBinaryDigits(breakerState1); |
| | | let breaker_state2 = getBinaryDigits(breakerState2); |
| | | |
| | | let acin1_switch_trip = [acIn1SwitchTripReal]; |
| | | let acin2_switch_trip = [acIn2SwitchTripReal]; |
| | | let dcin1_switch_trip = [dcIn1SwitchTripReal]; |
| | |
| | | dcin2_switch_trip, |
| | | dc1_switch1_trip, |
| | | dc2_switch1_trip, |
| | | breaker_state1, |
| | | breaker_state2, |
| | | }; |
| | | // this.UPDATE_HOMEDATA(this.rtData); |
| | | }, |
| | |
| | | console.log(err); |
| | | }); |
| | | }, |
| | | getAlarm(name) { |
| | | const breaker = |
| | | this.breakerList.filter((v) => v.breakerName == name)[0] || {}; |
| | | if (!breaker.nodeName) { |
| | | return false; |
| | | } |
| | | return !!this.switchStates[breaker.nodeName][breaker.nodeBit]; |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapState({ |
| | |
| | | }), |
| | | switchState() { |
| | | let v = this.curSwitch; |
| | | if (!v['nodeName']) { |
| | | return '未知'; |
| | | if (!v["switchNodeName"]) { |
| | | return "未知"; |
| | | } |
| | | return this.switchStates[v.nodeName][v.nodeBit] ? "合闸" : "分闸"; |
| | | return this.switchStates[v.switchNodeName][v.switchNodeBit] |
| | | ? "分闸" |
| | | : "合闸"; |
| | | }, |
| | | alarm_ac1() { |
| | | let breakerList = this.breakerList.filter( |
| | | (v) => |
| | | v.breakerAddr == "交流进线1" && |
| | | this.switchStates[v.nodeName][v.nodeBit] |
| | | ); |
| | | return breakerList.map((v) => v.breakerType + v.breakerName); |
| | | }, |
| | | alarm_ac2() { |
| | | let breakerList = this.breakerList.filter( |
| | | (v) => |
| | | v.breakerAddr == "交流进线2" && |
| | | this.switchStates[v.nodeName][v.nodeBit] |
| | | ); |
| | | return breakerList.map((v) => v.breakerType + v.breakerName); |
| | | }, |
| | | alarm_dc1() { |
| | | let breakerList = this.breakerList.filter( |
| | | (v) => |
| | | v.breakerAddr == "直流进线1" && |
| | | this.switchStates[v.nodeName][v.nodeBit] |
| | | ); |
| | | return breakerList.map((v) => v.breakerType + v.breakerName); |
| | | }, |
| | | alarm_dc2() { |
| | | let breakerList = this.breakerList.filter( |
| | | (v) => |
| | | v.breakerAddr == "直流进线2" && |
| | | this.switchStates[v.nodeName][v.nodeBit] |
| | | ); |
| | | return breakerList.map((v) => v.breakerType + v.breakerName); |
| | | }, |
| | | }, |
| | | mounted() { |
| | |
| | | <div class="svg-contain"> |
| | | <div class="pos-full"> |
| | | <svg width="100%" height="100%" viewBox="0 0 500 340"> |
| | | <text-box :offset="[220, 10]" @click="(el) => showState(el, 'JK11')"></text-box> |
| | | <text-box |
| | | :alarm="getAlarm('JK11')" |
| | | :offset="[220, 10]" |
| | | @click="(el) => showState(el, 'JK11')" |
| | | ></text-box> |
| | | <protector-box |
| | | @click="(el) => showState(el, 'JK12')" |
| | | :offset="[36, 10]" |
| | | :alarm="getAlarm('JK12')" |
| | | ></protector-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK13')" |
| | | :type="3" |
| | | :offset="[36, 134]" |
| | | :alarm="getAlarm('JK13')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK14')" |
| | | :type="3" |
| | | :offset="[220, 134]" |
| | | :alarm="getAlarm('JK14')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK15')" |
| | | :type="3" |
| | | :offset="[390, 134]" |
| | | :alarm="getAlarm('JK15')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK16')" |
| | | :type="1" |
| | | :offset="[36, 252]" |
| | | :alarm="getAlarm('JK16')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK17')" |
| | | :type="1" |
| | | :offset="[150, 252]" |
| | | :alarm="getAlarm('JK17')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK18')" |
| | | :type="1" |
| | | :offset="[274, 252]" |
| | | :alarm="getAlarm('JK18')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK19')" |
| | | :type="1" |
| | | :offset="[390, 252]" |
| | | :alarm="getAlarm('JK19')" |
| | | ></switch-box> |
| | | <svg-line |
| | | :points="[ |
| | |
| | | </div> |
| | | |
| | | <div class="yc-panel-footer"> |
| | | <!-- TODO 告警 滚动 --> |
| | | <div class="state"></div> |
| | | <div class="state"> |
| | | <marqueeLeft :list="alarm_ac1" v-if="alarm_ac1.length"></marqueeLeft> |
| | | <div class="no-warning-msg" v-else>无</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="svg-contain"> |
| | | <div class="pos-full"> |
| | | <svg width="100%" height="100%" viewBox="0 0 500 340"> |
| | | <text-box :offset="[220, 10]" @click="(el) => showState(el, 'JK21')"></text-box> |
| | | <text-box |
| | | :offset="[220, 10]" |
| | | @click="(el) => showState(el, 'JK21')" |
| | | :alarm="getAlarm('JK21')" |
| | | ></text-box> |
| | | <protector-box |
| | | @click="(el) => showState(el, 'JK22')" |
| | | :offset="[390, 10]" |
| | | :alarm="getAlarm('JK22')" |
| | | ></protector-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK23')" |
| | | :type="3" |
| | | :offset="[36, 134]" |
| | | :alarm="getAlarm('JK23')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK24')" |
| | | :type="3" |
| | | :offset="[220, 134]" |
| | | :alarm="getAlarm('JK24')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK25')" |
| | | :type="3" |
| | | :offset="[390, 134]" |
| | | :alarm="getAlarm('JK25')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK26')" |
| | | :type="1" |
| | | :offset="[36, 252]" |
| | | :alarm="getAlarm('JK26')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK27')" |
| | | :type="1" |
| | | :offset="[150, 252]" |
| | | :alarm="getAlarm('JK27')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK28')" |
| | | :type="1" |
| | | :offset="[274, 252]" |
| | | :alarm="getAlarm('JK28')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'JK29')" |
| | | :type="1" |
| | | :offset="[390, 252]" |
| | | :alarm="getAlarm('JK29')" |
| | | ></switch-box> |
| | | <svg-line |
| | | :points="[ |
| | |
| | | </div> |
| | | </div> |
| | | <div class="yc-panel-footer"> |
| | | <div class="state"></div> |
| | | <div class="state"> |
| | | <marqueeLeft :list="alarm_ac2" v-if="alarm_ac2.length"></marqueeLeft> |
| | | <div class="no-warning-msg" v-else>无</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | @click="(el) => showState(el, 'DK11')" |
| | | :type="2" |
| | | :offset="[269, 14]" |
| | | :alarm="getAlarm('DK11')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK12')" |
| | | small |
| | | :offset="[20, 160]" |
| | | :alarm="getAlarm('DK12')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK13')" |
| | | small |
| | | :offset="[94, 160]" |
| | | :alarm="getAlarm('DK13')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK14')" |
| | | small |
| | | :offset="[168, 160]" |
| | | :alarm="getAlarm('DK14')" |
| | | ></switch-box> |
| | | <!-- alarm --> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK15')" |
| | | small |
| | | :offset="[242, 160]" |
| | | :alarm="getAlarm('DK15')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK16')" |
| | | small |
| | | :offset="[316, 160]" |
| | | :alarm="getAlarm('DK16')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK17')" |
| | | small |
| | | :offset="[390, 160]" |
| | | :alarm="getAlarm('DK17')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK18')" |
| | | small |
| | | :offset="[464, 160]" |
| | | :alarm="getAlarm('DK18')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK19')" |
| | | small |
| | | :offset="[538, 160]" |
| | | :alarm="getAlarm('DK19')" |
| | | ></switch-box> |
| | | <svg-line |
| | | :points="[ |
| | |
| | | </div> |
| | | </div> |
| | | <div class="yc-panel-footer"> |
| | | <div class="state"></div> |
| | | <div class="state"> |
| | | <marqueeLeft :list="alarm_dc1" v-if="alarm_dc1.length"></marqueeLeft> |
| | | <div class="no-warning-msg" v-else>无</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | @click="(el) => showState(el, 'DK21')" |
| | | :type="2" |
| | | :offset="[269, 14]" |
| | | :alarm="getAlarm('DK21')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK22')" |
| | | small |
| | | :offset="[20, 160]" |
| | | :alarm="getAlarm('DK22')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK23')" |
| | | small |
| | | :offset="[94, 160]" |
| | | :alarm="getAlarm('DK23')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK24')" |
| | | small |
| | | :offset="[168, 160]" |
| | | :alarm="getAlarm('DK24')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK25')" |
| | | small |
| | | :offset="[242, 160]" |
| | | :alarm="getAlarm('DK25')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK26')" |
| | | small |
| | | :offset="[316, 160]" |
| | | :alarm="getAlarm('DK26')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK27')" |
| | | small |
| | | :offset="[390, 160]" |
| | | :alarm="getAlarm('DK27')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK28')" |
| | | small |
| | | :offset="[464, 160]" |
| | | :alarm="getAlarm('DK28')" |
| | | ></switch-box> |
| | | <switch-box |
| | | @click="(el) => showState(el, 'DK29')" |
| | | small |
| | | :offset="[538, 160]" |
| | | :alarm="getAlarm('DK29')" |
| | | ></switch-box> |
| | | <svg-line |
| | | :points="[ |
| | |
| | | </div> |
| | | </div> |
| | | <div class="yc-panel-footer"> |
| | | <div class="state"></div> |
| | | <div class="state"> |
| | | <marqueeLeft :list="alarm_dc2" v-if="alarm_dc2.length"></marqueeLeft> |
| | | <div class="no-warning-msg" v-else>无</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="pop-info" v-show="popVisible" :style="popPosition"> |
| | | <div class="item"> |
| | | <div class="label">开关名称</div> |
| | | <div class="value">{{ curSwitch['breakerType'] + curSwitch['breakerName'] }}</div> |
| | | <div class="value"> |
| | | {{ curSwitch["breakerType"] + curSwitch["breakerName"] }} |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">开关规格</div> |
| | | <div class="value">{{ curSwitch['breakerLevel'] + 'P' }}</div> |
| | | <div class="value">{{ curSwitch["breakerLevel"] + "P" }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">开关状态</div> |
| | |
| | | color: #011f39; |
| | | font-weight: bold; |
| | | border-radius: 4px; |
| | | padding-left: 0.8em; |
| | | padding: 0 0.8em; |
| | | } |
| | | } |
| | | } |