| | |
| | | label: '平台logo', |
| | | des: '显示平台logo状态', |
| | | fileName: 'gjdw', // gjdw, nfdw, gjdx, qwh, gdnr |
| | | value: true, |
| | | value: false, |
| | | }, |
| | | uKey: { |
| | | label: 'uKey', |
| | |
| | | alarmPopup: { |
| | | label: "告警弹出框", |
| | | des: "登录平台后,右下方告警弹出框提示", |
| | | // value: false |
| | | value: true |
| | | value: false |
| | | // value: true |
| | | }, |
| | | WHYC: { |
| | | label: '自用', |
| | |
| | | label: '模拟数据', |
| | | des: '开启数据模拟,实时监控显示为浮充状态', |
| | | value: false |
| | | } |
| | | }, |
| | | }; |
| | |
| | | { |
| | | value: 9150, |
| | | label: "山东定制BTS" |
| | | } |
| | | }, |
| | | { |
| | | value: 2100, |
| | | label: "智能母联" |
| | | }, |
| | | ], |
| | | power: [ |
| | | { |
| | |
| | | remoteRestartDevice: /^61851/, // 远程重启装置 |
| | | eleOperation: /^60870/, // 电操核容产品 |
| | | peiWang: /^5100/, // 配网电源 |
| | | ups: /^116/ |
| | | ups: /^116/, |
| | | intelDev: /^2100/, // 智能母联 |
| | | }; |
| | | let effectPtns = []; |
| | | // 数据类型为字符串 |
| | |
| | | devId: "608700010", |
| | | almId: "119020" |
| | | }, |
| | | timeoutId: 0, |
| | | }; |
| | | }, |
| | | mixins: [ResizeMixin, WSMixin], |
| | |
| | | //this.endSpeak(); |
| | | }); |
| | | }, |
| | | resetTimeout() { |
| | | clearTimeout(this.timeoutId); // 清除之前的定时器 |
| | | this.timeoutId = window.setTimeout(()=>{ |
| | | |
| | | // 超时后的操作 |
| | | this.$alert('超过30分钟未操作,系统自动退出!', '系统提示', { |
| | | type: "warning", |
| | | confirmButtonText: '确定', |
| | | }); |
| | | |
| | | // 退出登录 |
| | | this.outSystem(); |
| | | }, 30*60*1000); // 重置为30分钟 |
| | | }, |
| | | outSystem() { |
| | | sessionStorage.removeItem("username"); |
| | | sessionStorage.removeItem("userId"); |
| | | sessionStorage.removeItem("userPower"); |
| | | this.$store.dispatch("tagsView/delAllViews").then(({ visitedViews }) => { |
| | | this.$router.push("/login"); |
| | | }); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | // 启动用户互斥登录模块 |
| | |
| | | // }, 4000); |
| | | this.getAlarmVoiceSetting(); |
| | | |
| | | // 开启超时30分钟未操作,退出登录 |
| | | if(config.autoExit.value) { |
| | | this.resetTimeout(); |
| | | // 绑定用户交互事件以重置定时器 |
| | | document.addEventListener('click', this.resetTimeout); |
| | | document.addEventListener('mousemove', this.resetTimeout); |
| | | document.addEventListener('keydown', this.resetTimeout); |
| | | } |
| | | }, |
| | | destroyed() { |
| | | this.isClose = true; |
| | | // 销毁后移除监听 |
| | | document.removeEventListener('click', this.resetTimeout); |
| | | document.removeEventListener('mousemove', this.resetTimeout); |
| | | document.removeEventListener('keydown', this.resetTimeout); |
| | | } |
| | | }; |
| | | </script> |
| | |
| | | url: '/dataTest/realTimeForPeiWang' |
| | | }, |
| | | component: () => import('@/views/dataTest/realTimeForPeiWang') |
| | | },{ |
| | | // 配网电源 |
| | | path: 'real-time-intel/:battGroupId', |
| | | name: 'movingRingSystem', |
| | | meta: { |
| | | title: '实时监控', |
| | | icon: '', |
| | | url: '/dataTest/realTimeForIntel' |
| | | }, |
| | | component: () => import('@/views/dataTest/intelRealTime.vue') |
| | | },] |
| | | }, { |
| | | path: 'history', |
New file |
| | |
| | | <script> |
| | | import HdwLight from "@/components/HdwLight.vue"; |
| | | import {getLabelByValue} from "../../../assets/js/tools"; |
| | | |
| | | export default { |
| | | name: "IntelDevStateTools", |
| | | methods: {getLabelByValue}, |
| | | components: {HdwLight}, |
| | | props: { |
| | | list: { |
| | | type: Array, |
| | | default() { |
| | | return []; |
| | | } |
| | | } |
| | | }, |
| | | data() { |
| | | return {} |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="page-tools"> |
| | | <div class="page-tools-header">设备状态</div> |
| | | <table class="page-tools-table"> |
| | | <tr> |
| | | <td></td> |
| | | <td>DCDC1</td> |
| | | <td>DCDC2</td> |
| | | </tr> |
| | | <tr v-for="(item, key) in list" :key="'key'+key"> |
| | | <td class="item-label">{{ item.label }}</td> |
| | | <td> |
| | | <hdw-light v-if="item.type === 'light'" :type="item.value1"></hdw-light> |
| | | <span v-else> |
| | | {{ getLabelByValue(item.value1, item.list) }} |
| | | </span> |
| | | </td> |
| | | <td> |
| | | <hdw-light v-if="item.type === 'light'" :type="item.value1"></hdw-light> |
| | | <span v-else> |
| | | {{ getLabelByValue(item.value2, item.list) }} |
| | | </span> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="less"> |
| | | .page-tools { |
| | | border-radius: 4px; |
| | | overflow: hidden; |
| | | border: 1px solid #00fefe; |
| | | .page-tools-header { |
| | | color: #003d64; |
| | | background-color: #00fefe; |
| | | padding: 4px 16px; |
| | | font-weight: bold; |
| | | text-align: center; |
| | | } |
| | | } |
| | | .page-tools-table { |
| | | user-select: none; |
| | | width: 100%; |
| | | font-size: 14px; |
| | | color: #00fefe; |
| | | td { |
| | | text-align: center; |
| | | padding: 2px 4px; |
| | | &.item-label { |
| | | text-align: right; |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | <script> |
| | | import circuitDiagram from './js/circuitDiagram'; |
| | | import state from './js/state'; |
| | | export default { |
| | | name: "intelCircuit", |
| | | diagram: "", |
| | | props: { |
| | | update: { |
| | | type: Number, |
| | | default: 0 |
| | | }, |
| | | isConnect: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | }, |
| | | watch: { |
| | | update() { |
| | | this.changeInfo(); |
| | | } |
| | | }, |
| | | data() { |
| | | return {} |
| | | }, |
| | | methods: { |
| | | init() { |
| | | this.changeInfo(); |
| | | }, |
| | | changeInfo() { |
| | | let diagram = this.$options.diagram; |
| | | let isConnect = this.isConnect; |
| | | state(diagram, {}); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.$options.diagram = circuitDiagram(this.$refs.static, this.$refs.flush, this.start); |
| | | // 初始化数据 |
| | | this.init(); |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="diagram-content"> |
| | | <div class="diagram-stc" ref="static"></div> |
| | | <div class="diagram-flush" ref="flush"></div> |
| | | </div> |
| | | </template> |
New file |
| | |
| | | import Diagram from '@/views/dataTest/diagram'; |
| | | import loadPng from '../images/load.png'; |
| | | import eleGroupImg from "@/views/dataTest/components/diagrams/eleOperation/images/eleGroup.png"; |
| | | // 基础配置 |
| | | const textFont = 20; |
| | | let springGreen = "#00F6FF"; |
| | | let red = '#b370fe'; |
| | | let yellow = "#FFF000"; |
| | | let lineWidth = 2; |
| | | let arcOpts = { |
| | | flush: false, |
| | | fillStyle: '#50cef5', |
| | | strokeStyle: '#50cef5', |
| | | lineWidth: 2, |
| | | radius: 4, |
| | | type: 'stroke' |
| | | }; |
| | | let splitWidth = 65; |
| | | |
| | | function circuitDiagram(stc, flush, startPoint) { |
| | | let diagram = new Diagram(); |
| | | diagram.setCanvas(stc, flush); |
| | | diagram.setWidth(1500); |
| | | diagram.setHeight(768); |
| | | let start = [240, 160] |
| | | if (startPoint) { |
| | | start = startPoint; |
| | | } |
| | | |
| | | // 线条1 |
| | | let line1 = diagram.line({ |
| | | id: 'line1', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | start, |
| | | [start[0]+splitWidth*2, start[1]] |
| | | ] |
| | | }); |
| | | |
| | | // 线条2 |
| | | let line2 = diagram.line({ |
| | | id: 'line2', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | line1[1], |
| | | [line1[1][0]+splitWidth*2, line1[1][1]] |
| | | ] |
| | | }); |
| | | |
| | | // 线条3 |
| | | let line3 = diagram.line({ |
| | | id: 'line3', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth, |
| | | points: [ |
| | | line1[1], |
| | | [line1[1][0], line1[1][1]+splitWidth*2] |
| | | ] |
| | | }); |
| | | |
| | | diagram.drawImage({ |
| | | url: loadPng, |
| | | point: [line3[1][0]-83/2, line3[1][1]-4], |
| | | width: 85, |
| | | height: 133 |
| | | }); |
| | | |
| | | let rect1 = diagram.drawRect({ |
| | | point: [line2[1][0], line2[1][1]-6], |
| | | size: { |
| | | width: 12, |
| | | height: 12, |
| | | }, |
| | | }); |
| | | |
| | | // 线条4 |
| | | let line4 = diagram.line({ |
| | | id: 'line4', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | rect1.right, |
| | | [rect1.right[0]+splitWidth*2, rect1.right[1]] |
| | | ] |
| | | }); |
| | | |
| | | // 线条5 |
| | | let line5 = diagram.line({ |
| | | id: 'line5', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | line4[1], |
| | | [line4[1][0]+splitWidth, line4[1][1]] |
| | | ] |
| | | }); |
| | | |
| | | let rect2 = dcDcReact(diagram, line5[1], { |
| | | springGreen, |
| | | lineWidth, |
| | | textReversal: false |
| | | }); |
| | | |
| | | // 线条6 |
| | | let line6 = diagram.line({ |
| | | id: 'line6', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | rect2.right, |
| | | [rect2.right[0]+splitWidth*2, rect2.right[1]] |
| | | ] |
| | | }); |
| | | |
| | | let diode1 = diagram.diode({ |
| | | direction: 'right', |
| | | point: line6[1], |
| | | }); |
| | | |
| | | // 线条7 |
| | | let line7 = diagram.line({ |
| | | id: 'line7', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | diode1.right, |
| | | [diode1.right[0]+splitWidth*2, diode1.right[1]] |
| | | ] |
| | | }); |
| | | |
| | | let rect3 = diagram.drawRect({ |
| | | point: [line7[1][0], line7[1][1]-6], |
| | | size: { |
| | | width: 12, |
| | | height: 12, |
| | | }, |
| | | }); |
| | | |
| | | // 线条8 |
| | | let line8 = diagram.line({ |
| | | id: 'line8', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | rect3.right, |
| | | [rect3.right[0]+splitWidth*2, rect3.right[1]] |
| | | ] |
| | | }); |
| | | |
| | | // 线条9 |
| | | let line9 = diagram.line({ |
| | | id: 'line9', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | line8[1], |
| | | [line8[1][0]+splitWidth*2, line8[1][1]] |
| | | ] |
| | | }); |
| | | |
| | | // 线条10 |
| | | let line10 = diagram.line({ |
| | | id: 'line10', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth, |
| | | points: [ |
| | | line8[1], |
| | | [line8[1][0], line8[1][1]+splitWidth*2] |
| | | ] |
| | | }); |
| | | |
| | | diagram.drawImage({ |
| | | url: loadPng, |
| | | point: [line10[1][0]-83/2, line10[1][1]-4], |
| | | width: 85, |
| | | height: 133 |
| | | }); |
| | | |
| | | // 线条11 |
| | | let line11 = diagram.line({ |
| | | id: 'line11', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | [line4[0][0]+splitWidth/2, line4[0][1]], |
| | | [line4[0][0]+splitWidth/2, line4[0][1]+splitWidth*3] |
| | | ] |
| | | }); |
| | | |
| | | // 线条12 |
| | | let line12 = diagram.line({ |
| | | id: 'line12', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | line11[1], |
| | | [line11[1][0], line11[1][1]+splitWidth*3] |
| | | ] |
| | | }); |
| | | |
| | | // 线条13 |
| | | let line13 = diagram.line({ |
| | | id: 'line13', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | line12[1], |
| | | [line12[1][0]+splitWidth, line12[1][1]] |
| | | ] |
| | | }); |
| | | |
| | | let diode2 = diagram.diode({ |
| | | direction: 'left', |
| | | point: line13[1], |
| | | }); |
| | | |
| | | // 线条14 |
| | | let line14 = diagram.line({ |
| | | id: 'line14', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | diode2.right, |
| | | [diode2.right[0]+splitWidth*2.5, diode2.right[1]] |
| | | ] |
| | | }); |
| | | |
| | | let rect4 = dcDcReact(diagram, line14[1], { |
| | | springGreen, |
| | | lineWidth, |
| | | textReversal: true |
| | | }); |
| | | |
| | | // 线条15 |
| | | let line15 = diagram.line({ |
| | | id: 'line15', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | [line7[1][0]-splitWidth/2, line7[1][1]], |
| | | [line7[1][0]-splitWidth/2, line11[1][1]] |
| | | ] |
| | | }); |
| | | |
| | | // 线条16 |
| | | let line16 = diagram.line({ |
| | | id: 'line16', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | line15[1], |
| | | [line15[1][0], line12[1][1]] |
| | | ] |
| | | }); |
| | | |
| | | // 线条17 |
| | | let line17 = diagram.line({ |
| | | id: 'line17', |
| | | strokeStyle: springGreen, |
| | | lineWidth: lineWidth*2, |
| | | points: [ |
| | | line16[1], |
| | | rect4.right |
| | | ] |
| | | }); |
| | | |
| | | addDcDcText(diagram, { |
| | | rect2, |
| | | rect4 |
| | | }); |
| | | |
| | | let dashLine1 = diagram.dashLine({ |
| | | strokeStyle: '#50cef5', |
| | | points: [ |
| | | [rect1.right[0], rect1.right[1]-splitWidth*3/2], |
| | | [rect1.right[0], line13[0][1]+splitWidth], |
| | | ] |
| | | }); |
| | | |
| | | let dashLine2 = diagram.dashLine({ |
| | | strokeStyle: '#50cef5', |
| | | points: [ |
| | | dashLine1[0], |
| | | [rect3.left[0], dashLine1[0][1]], |
| | | ] |
| | | }); |
| | | |
| | | let dashLine3 = diagram.dashLine({ |
| | | strokeStyle: '#50cef5', |
| | | points: [ |
| | | dashLine2[1], |
| | | [dashLine2[1][0], dashLine1[1][1]], |
| | | ] |
| | | }); |
| | | |
| | | diagram.dashLine({ |
| | | strokeStyle: '#50cef5', |
| | | points: [ |
| | | dashLine1[1], |
| | | dashLine3[1] |
| | | ] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | text: "直流母线1", |
| | | align: 'start', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [line1[0][0]+16, line1[0][1]-18] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | text: "直流母线2", |
| | | align: 'end', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [line9[1][0]-16, line9[1][1]-18] |
| | | }); |
| | | |
| | | return diagram; |
| | | } |
| | | |
| | | function dcDcReact(diagram, point, option) { |
| | | let { |
| | | lineWidth, |
| | | textReversal |
| | | } = option; |
| | | let width = 160; |
| | | let height = 80; |
| | | let rect = diagram.drawRect({ |
| | | point: [point[0], point[1]-height/2], |
| | | size: { |
| | | width, |
| | | height, |
| | | }, |
| | | }); |
| | | |
| | | // 线条1 |
| | | diagram.line({ |
| | | strokeStyle: "#FFFFFF", |
| | | lineWidth: lineWidth, |
| | | points: [ |
| | | rect.bl, |
| | | rect.tr, |
| | | ] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | text: textReversal?'DC_OUT':'DC_IN', |
| | | align: 'center', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect.tl[0]+width/4, rect.tl[1]+height/3] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | text: textReversal?'DC_IN':'DC_OUT', |
| | | align: 'center', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect.tl[0]+width/4*3, rect.tl[1]+height/3*2] |
| | | }); |
| | | |
| | | return rect; |
| | | } |
| | | |
| | | function addDcDcText(diagram, option) { |
| | | let { |
| | | rect2, |
| | | rect4 |
| | | } = option; |
| | | |
| | | diagram.text({ |
| | | flush: true, |
| | | id: "dcDc1OutVol", |
| | | text: "输出电压:0V", |
| | | align: 'start', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect2.right[0]+8, rect2.right[1]-18] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | flush: true, |
| | | id: "dcDc1OutCurr", |
| | | text: "输出电流:0A", |
| | | align: 'start', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect2.right[0]+8, rect2.right[1]+18] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | flush: true, |
| | | id: "dcDc1InVol", |
| | | text: "输入电流:0V", |
| | | align: 'end', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect2.left[0]-8, rect2.left[1]-18] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | flush: true, |
| | | id: "dcDc1InCurr", |
| | | text: "输入电流:0A", |
| | | align: 'end', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect2.left[0]-8, rect2.left[1]+18] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | flush: true, |
| | | id: "dcDc1Temp", |
| | | text: "模块温度:0℃", |
| | | align: 'center', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect2.top[0], rect2.top[1]-12] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | flush: true, |
| | | id: "dcDc2InVol", |
| | | text: "输入电压:0V", |
| | | align: 'start', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect4.right[0]+8, rect4.right[1]-18] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | flush: true, |
| | | id: "dcDc2InCurr", |
| | | text: "输入电流:0A", |
| | | align: 'start', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect4.right[0]+8, rect4.right[1]+18] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | flush: true, |
| | | id: "dcDc2OutVol", |
| | | text: "输出电流:0V", |
| | | align: 'end', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect4.left[0]-8, rect4.left[1]-18] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | flush: true, |
| | | id: "dcDc2OutCurr", |
| | | text: "输出电流:0A", |
| | | align: 'end', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect4.left[0]-8, rect4.left[1]+18] |
| | | }); |
| | | |
| | | diagram.text({ |
| | | flush: true, |
| | | id: "dcDc2Temp", |
| | | text: "模块温度:0℃", |
| | | align: 'center', |
| | | fontSize: 16, |
| | | fontWeight: true, |
| | | fillStyle: "#FFFFFF", |
| | | baseline: 'middle', |
| | | point: [rect4.top[0], rect4.top[1]-12] |
| | | }); |
| | | } |
| | | |
| | | export default circuitDiagram; |
New file |
| | |
| | | // 基础配置 |
| | | let springGreen = "#50cef5"; |
| | | let scalcRadius = 9; |
| | | |
| | | function state(diagram, option) { |
| | | // 清除电流 |
| | | diagram.del(/^line.*dot$/); |
| | | |
| | | normal1(diagram, option); |
| | | // normal2(diagram, option); |
| | | dcDc1(diagram, option); |
| | | // dcDc2(diagram, option); |
| | | } |
| | | |
| | | |
| | | function normal1(diagram, option) { |
| | | // 绘制可移动的点 |
| | | let line1 = diagram.getOption('line1').points; |
| | | diagram.moveDot({ |
| | | id: 'line1_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: line1, |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line3 = diagram.getOption('line3').points; |
| | | diagram.moveDot({ |
| | | id: 'line3_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: line3, |
| | | }); |
| | | } |
| | | |
| | | function normal2(diagram, option) { |
| | | // 绘制可移动的点 |
| | | let line9 = diagram.getOption('line9').points; |
| | | diagram.moveDot({ |
| | | id: 'line9_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line9[1], |
| | | line9[0] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line10 = diagram.getOption('line10').points; |
| | | diagram.moveDot({ |
| | | id: 'line10_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: line10, |
| | | }); |
| | | } |
| | | |
| | | function dcDc1(diagram, option) { |
| | | // 绘制可移动的点 |
| | | let line2 = diagram.getOption('line2').points; |
| | | diagram.moveDot({ |
| | | id: 'line2_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line2[0], |
| | | line2[1] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line4 = diagram.getOption('line4').points; |
| | | let line5 = diagram.getOption('line5').points; |
| | | diagram.moveDot({ |
| | | id: 'line4_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line4[0], |
| | | line5[1] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line6 = diagram.getOption('line6').points; |
| | | diagram.moveDot({ |
| | | id: 'line6_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line6[0], |
| | | line6[1] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line7 = diagram.getOption('line7').points; |
| | | diagram.moveDot({ |
| | | id: 'line7_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line7[0], |
| | | line7[1] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line8 = diagram.getOption('line8').points; |
| | | diagram.moveDot({ |
| | | id: 'line8_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line8[0], |
| | | line8[1] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line10 = diagram.getOption('line10').points; |
| | | diagram.moveDot({ |
| | | id: 'line10_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line10[0], |
| | | line10[1] |
| | | ], |
| | | }); |
| | | |
| | | } |
| | | |
| | | function dcDc2(diagram, option) { |
| | | // 绘制可移动的点 |
| | | let line8 = diagram.getOption('line8').points; |
| | | let line15 = diagram.getOption('line15').points; |
| | | diagram.moveDot({ |
| | | id: 'line8_dc2_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line8[1], |
| | | line15[0] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | diagram.moveDot({ |
| | | id: 'line15_dc2_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line15[0], |
| | | line15[1] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line16 = diagram.getOption('line16').points; |
| | | diagram.moveDot({ |
| | | id: 'line16_dc2_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line16[0], |
| | | line16[1] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line17 = diagram.getOption('line17').points; |
| | | diagram.moveDot({ |
| | | id: 'line17_dc2_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line17[0], |
| | | line17[1] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line14 = diagram.getOption('line14').points; |
| | | diagram.moveDot({ |
| | | id: 'line14_dc2_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line14[1], |
| | | line14[0] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line13 = diagram.getOption('line13').points; |
| | | diagram.moveDot({ |
| | | id: 'line13_dc2_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line13[1], |
| | | line13[0] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line12 = diagram.getOption('line12').points; |
| | | diagram.moveDot({ |
| | | id: 'line12_dc2_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line12[1], |
| | | line12[0] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line11 = diagram.getOption('line11').points; |
| | | diagram.moveDot({ |
| | | id: 'line11_dc2_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line11[1], |
| | | line11[0] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line2 = diagram.getOption('line2').points; |
| | | diagram.moveDot({ |
| | | id: 'line2_dc2_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line11[0], |
| | | line2[0] |
| | | ], |
| | | }); |
| | | |
| | | // 绘制可移动的点 |
| | | let line3 = diagram.getOption('line3').points; |
| | | diagram.moveDot({ |
| | | id: 'line3_dc2_dot', |
| | | flush: true, |
| | | fillStyle: springGreen, |
| | | radius: scalcRadius, |
| | | points: [ |
| | | line3[0], |
| | | line3[1] |
| | | ], |
| | | }); |
| | | |
| | | } |
| | | export default state; |
| | |
| | | case 'right': |
| | | result = this.diodeRight(option); |
| | | break; |
| | | case 'left': |
| | | result = this.diodeLeft(option); |
| | | break; |
| | | default: |
| | | result = this.diodeUp(option); |
| | | break; |
| | |
| | | } |
| | | }; |
| | | |
| | | // 向左的 |
| | | Diagram.prototype.diodeLeft = function(option) { |
| | | let ctx = option.flush ? this.f_ctx : this.s_ctx; |
| | | let point = option.point; |
| | | let width = 40; |
| | | let height = width * 2 / 3; |
| | | let lineWidth = 2; |
| | | |
| | | // line1 |
| | | let line1 = this.line({ |
| | | strokeStyle: "#b370fe", |
| | | lineWidth: lineWidth, |
| | | points: [ |
| | | point, |
| | | [point[0]+ width / 2, point[1]] |
| | | ] |
| | | }); |
| | | |
| | | // line2 |
| | | this.line({ |
| | | strokeStyle: "#b370fe", |
| | | lineWidth: lineWidth, |
| | | points: [ |
| | | [line1[1][0], line1[1][1] - width / 2], |
| | | [line1[1][0], line1[1][1] + width / 2 ] |
| | | ] |
| | | }); |
| | | |
| | | ctx.beginPath(); |
| | | ctx.moveTo(line1[1][0], line1[1][1]); |
| | | ctx.lineTo(line1[1][0]+height, line1[1][1] - width / 2); |
| | | ctx.lineTo(line1[1][0]+height, line1[1][1] + width / 2); |
| | | ctx.closePath(); |
| | | ctx.fillStyle = "#b370fe"; |
| | | ctx.fill(); |
| | | |
| | | // line3 |
| | | let line3 = this.line({ |
| | | strokeStyle: "#b370fe", |
| | | lineWidth: lineWidth, |
| | | points: [ |
| | | [line1[1][0]+ height, line1[1][1]], |
| | | [line1[1][0]+ height + width / 2, line1[1][1]] |
| | | ] |
| | | }); |
| | | |
| | | return { |
| | | left: line1[0], |
| | | right: line3[1] |
| | | } |
| | | } |
| | | |
| | | // 向上的 |
| | | Diagram.prototype.diodeUp = function (option) { |
| | | let ctx = option.flush ? this.f_ctx : this.s_ctx; |
| | |
| | | { data: "第2路交流输入开关跳闸", status: data.isAcin2Trip }, |
| | | { data: "高频开关柜监控单元故障", status: data.isAcinMonitorerr }, |
| | | { data: "高频开关柜总告警", status: data.isTotalAlarm }, |
| | | { data: "协转与电源通信故障", status: data.isPowerdevCommerr }, |
| | | // { data: "高频开关柜温度告警", status: data.temprature }, |
| | | ]; |
| | | // 1段交流母线输出开关 |
New file |
| | |
| | | <script> |
| | | import HomeList from "@/views/dataTest/movingRingSystem/HomeList.vue"; |
| | | import {getBattGroupInfo} from "@/views/dataMager/js/battGroupMager"; |
| | | import ContentBox from "@/components/ContentBox.vue"; |
| | | import HdwLight from "@/components/HdwLight.vue"; |
| | | import getIntelDevState from "@/views/dataTest/js/getIntelDevState"; |
| | | import IntelDevStateTools from "@/views/dataTest/components/IntelDevStateTools.vue"; |
| | | import IntelCircuit from "@/views/dataTest/components/diagrams/intelCircuit/index.vue"; |
| | | |
| | | export default { |
| | | name: "movingRingSysteRrealTime", |
| | | components: {IntelCircuit, IntelDevStateTools, HdwLight, ContentBox, HomeList}, |
| | | data() { |
| | | return { |
| | | homeListShow: true, |
| | | batt: {}, |
| | | acTabs: "eleLine", |
| | | stateList: getIntelDevState(), |
| | | } |
| | | }, |
| | | watch: { |
| | | "$route.params.BattGroupId"(battGroupId) { |
| | | this.$nextTick(() => { |
| | | this.getBattGroupInfo(battGroupId); |
| | | }); |
| | | }, |
| | | }, |
| | | methods: { |
| | | getBattGroupInfo(battGroupId) { |
| | | this.homeListShow = false; |
| | | getBattGroupInfo(battGroupId) |
| | | .then((res) => { |
| | | res = res.data; |
| | | if (res.code) { |
| | | this.leafClick(res.data[0]); |
| | | } else { |
| | | this.$layer.msg("未获取到电池组的信息"); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | toggleChange() { |
| | | this.resize(); |
| | | }, |
| | | leafClick(data) { |
| | | this.batt = data; |
| | | }, |
| | | resize() { |
| | | |
| | | }, |
| | | tabClick() { |
| | | |
| | | } |
| | | }, |
| | | computed: { |
| | | battFullName() { |
| | | let batt = this.batt; |
| | | if (batt.stationName && batt.battGroupName) { |
| | | return batt.stationName; |
| | | } |
| | | return "电池组全称"; |
| | | }, |
| | | }, |
| | | mounted() { |
| | | let battGroupId = this.$route.params.battGroupId; |
| | | // console.log("mounted======", battGroupId); |
| | | if (battGroupId) { |
| | | this.getBattGroupInfo(battGroupId); |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <template> |
| | | <flex-layout direction="row" class="page-real-time" :no-bg="true"> |
| | | <home-list |
| | | v-if="homeListShow" |
| | | slot="header" |
| | | @toggleChange="toggleChange" |
| | | @leaf-click="leafClick"></home-list> |
| | | <content-box |
| | | style="margin-left: 4px; margin-right: 4px" |
| | | :title="battFullName"> |
| | | <div class="page-content"> |
| | | <div class="state-tools-wrapper"> |
| | | <intel-dev-state-tools :list="stateList"></intel-dev-state-tools> |
| | | </div> |
| | | <intel-circuit></intel-circuit> |
| | | </div> |
| | | </content-box> |
| | | </flex-layout> |
| | | </template> |
| | | |
| | | <style scoped lang="less"> |
| | | .page-real-time { |
| | | color: #ffffff; |
| | | } |
| | | .content-header { |
| | | padding: 0 0 0 8px; |
| | | font-size: 14px; |
| | | } |
| | | .page-content { |
| | | position: relative; |
| | | padding: 4px; |
| | | box-sizing: border-box; |
| | | height: 100%; |
| | | .state-tools-wrapper { |
| | | position: absolute; |
| | | } |
| | | } |
| | | .state-list { |
| | | display: table; |
| | | width: 100%; |
| | | .state-tr { |
| | | display: table-row; |
| | | .state-item { |
| | | display: table-cell; |
| | | margin-right: 64px; |
| | | color: #00fefe; |
| | | line-height: 30px; |
| | | .state-label { |
| | | display: inline-block; |
| | | } |
| | | .state-value { |
| | | display: inline-block; |
| | | &.light { |
| | | vertical-align: middle; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
New file |
| | |
| | | function getIntelDevState() { |
| | | return [ |
| | | { |
| | | bit: 0, |
| | | label: "开关机状态", |
| | | type: "text", |
| | | value1: -1, |
| | | value2: 1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "关机", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "开机", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 1, |
| | | label: "输出过压", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "输出过压", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 2, |
| | | label: "输出欠压", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "输出欠压", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 3, |
| | | label: "输出过流", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "输出过流", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 4, |
| | | label: "模块过温", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "模块过温", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 5, |
| | | label: "输入过压", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "输入过压", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 6, |
| | | label: "输入欠压", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "输入欠压", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 7, |
| | | label: "自动运行模式", |
| | | type: "text", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "运行中", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "未运行", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 8, |
| | | label: "输出过压故障保护", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "故障", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 9, |
| | | label: "输出欠压/短路故障保护", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "故障", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 10, |
| | | label: "输出过流/过载故障保护", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "故障", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 11, |
| | | label: "过温故障保护", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "故障", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 12, |
| | | label: "输入过压故障保护", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "故障", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 13, |
| | | label: "输入欠压故障保护", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "故障", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 14, |
| | | label: "输入过流保护", |
| | | type: "light", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "正常", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "故障", |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | bit: 14, |
| | | label: "预充电自检", |
| | | type: "text", |
| | | value1: -1, |
| | | value2: -1, |
| | | list: [ |
| | | { |
| | | value: -1, |
| | | label: "未知" |
| | | }, |
| | | { |
| | | value: 0, |
| | | label: "预充电完成", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "自检中/故障", |
| | | }, |
| | | ] |
| | | }, |
| | | ]; |
| | | } |
| | | |
| | | export default getIntelDevState; |
| | |
| | | "/dataTest/movingRingSystem/real-time-peiWang/" + |
| | | data.battGroupId, |
| | | }); |
| | | }else if(regEquipType(dev_id1, "intelDev")) { |
| | | this.$router.push({ |
| | | path: |
| | | "/dataTest/movingRingSystem/real-time-intel/" + |
| | | data.battGroupId, |
| | | }); |
| | | } else { |
| | | this.$router.push({ |
| | | path: "/dataTest/movingRingSystem/real-time/" + data.battGroupId, |