| | |
| | | <div class="page-content-tools"> |
| | | <el-popover |
| | | placement="bottom" |
| | | trigger="hover"> |
| | | trigger="hover" |
| | | v-show="showControl"> |
| | | <div class="hdw-menu-list"> |
| | | <ul> |
| | | <li class="hdw-menu-item"><a href="javascript:void(0);">启动核容测试</a></li> |
| | | <li class="hdw-menu-item"><a href="javascript:void(0);">停止测试</a></li> |
| | | <li class="hdw-menu-item"><a @click="dischargeDialog.show = true" href="javascript:void(0);">启动核容测试</a></li> |
| | | <li class="hdw-menu-item"><a @click="stopTest" href="javascript:void(0);">停止测试</a></li> |
| | | <!-- <li class="hdw-menu-item"><a @click="systemDialog.show = true" href="javascript:void(0);">系统参数设置</a></li> |
| | | <li class="hdw-menu-item"><a href="javascript:void(0);">清除告警</a></li> |
| | | <li class="hdw-menu-item"><a href="javascript:void(0);">启动养护/除硫</a></li> |
| | | <li class="hdw-menu-item"><a href="javascript:void(0);">停止养护/除硫</a></li> |
| | | <li class="hdw-menu-item"><a href="javascript:void(0);">启动离线养护</a></li> |
| | | <li class="hdw-menu-item"><a href="javascript:void(0);">停止离线养护</a></li> |
| | | <li class="hdw-menu-item"><a href="javascript:void(0);">重启设备</a></li> |
| | | <li class="hdw-menu-item"><a href="javascript:void(0);">定期重启设备</a></li> |
| | | <li class="hdw-menu-item"><a href="javascript:void(0);">重启设备</a></li> --> |
| | | </ul> |
| | | </div> |
| | | <button class="hdw-btn" slot="reference"> |
| | |
| | | </div> |
| | | <el-tabs v-model="acTabs" type="border-card" class="flex-layout" @tab-click="tabClick"> |
| | | <el-tab-pane label="电路拓扑图" name="eleLine"> |
| | | <science-box :top="8" :left="8" no-header> |
| | | <science-box :top="8" :left="8" no-header v-show="stateListShow"> |
| | | <div class="hdw-state-list table-layout"> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">设备工作状态:</div> |
| | | <div class="table-cell">未知</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">核容终止原因:</div> |
| | | <div class="table-cell">无</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">通信计数:</div> |
| | | <div class="table-cell">0</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">通信丢包率:</div> |
| | | <div class="table-cell">0</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">SD卡状态:</div> |
| | | <div class="table-cell">正常</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">设备版本号:</div> |
| | | <div class="table-cell">D:8,V2.53.47</div> |
| | | <div v-for="state in showStateList" :key="state.text" |
| | | class="table-row" :class="state.type"> |
| | | <div class="table-cell text-right"> |
| | | <i v-if="state.icon" class="iconfont" :class="state.icon"></i>{{state.text}} |
| | | </div> |
| | | <div class="table-cell"> |
| | | {{state.value}}{{state.unit}} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </science-box> |
| | | <circuit-diagram></circuit-diagram> |
| | | <circuit-diagram |
| | | :online-vol="inputs.online_vol" |
| | | :group-vol="inputs.group_vol" |
| | | :batt-curr="inputs.group_curr" |
| | | :dev-temp="diagram.temp" |
| | | :type="diagram.type"></circuit-diagram> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="电压" name="vol"> |
| | | <bar-chart ref="vol" id="vol" unit="V"></bar-chart> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="内阻" name="res"> |
| | | <bar-chart ref="res" id="res" unit="mΩ"></bar-chart> |
| | | <bar-chart ref="res" id="res" unit="mΩ" max-color="red" min-color="green"></bar-chart> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="温度" name="temp"> |
| | | <bar-chart ref="temp" id="temp" unit="℃"></bar-chart> |
| | | <bar-chart ref="temp" id="temp" unit="℃" max-color="red" min-color="green"></bar-chart> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="电导" name="conduct"> |
| | | <bar-chart ref="conduct" id="conduct"></bar-chart> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="均衡电流" name="curr"> |
| | | <bar-chart ref="curr" id="curr"></bar-chart> |
| | | <bar-chart ref="curr" id="curr" unit="A"></bar-chart> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="数据表格" name="tblData"> |
| | | <el-table border size="small" :data="table.datas" height="100%"> |
| | |
| | | </div> |
| | | </flex-layout> |
| | | </content-box> |
| | | <!-- 放电参数设置 --> |
| | | <el-dialog |
| | | :title="dischargeDialogTitle" |
| | | width="700px" |
| | | :visible.sync="dischargeDialog.show" |
| | | :close-on-click-modal="false" |
| | | top="0" |
| | | class="dialog-center" |
| | | :modal-append-to-body="false"> |
| | | <discharge-dialog-content |
| | | v-if="dischargeDialog.show" |
| | | :batt="batt"></discharge-dialog-content> |
| | | </el-dialog> |
| | | <!-- 系统参数设置 --> |
| | | <el-dialog |
| | | title="系统参数设置" |
| | | width="700px" |
| | | :visible.sync="systemDialog.show" |
| | | :close-on-click-modal="false" |
| | | top="0" |
| | | class="dialog-center" |
| | | :modal-append-to-body="false"> |
| | | <system-params |
| | | v-if="systemDialog.show" |
| | | :batt="batt"></system-params> |
| | | </el-dialog> |
| | | </flex-layout> |
| | | </template> |
| | | |
| | |
| | | import ContentBox from "../../components/ContentBox"; |
| | | import HomeList from "./HomeList"; |
| | | import BarChart from "../../components/chart/BarChart"; |
| | | import CircuitDiagram from './CircuitDiagram' |
| | | import ScienceBox from '../../components/ScienceBox' |
| | | import CircuitDiagram from "./CircuitDiagram"; |
| | | import ScienceBox from "../../components/ScienceBox"; |
| | | import DischargeDialogContent from '../../components/params/DischargeDialogContent' |
| | | import SystemParams from '../../components//params/SystemParams' |
| | | |
| | | import { realTimeSearch, realTimeGroup, realTimeAlarm } from "../../assets/js/realTime"; |
| | | import { |
| | | realTimeSearch, |
| | | realTimeGroup, |
| | | realTimeAlarm, |
| | | realTimePowerOff |
| | | } from "../../assets/js/realTime"; |
| | | import { |
| | | formatSeconds, |
| | | sethoubeiTime, |
| | | } from '../../assets/js/tools' |
| | | sethoubeiTime, |
| | | Timeout, |
| | | regEquipType, |
| | | getBarNum |
| | | } from "../../assets/js/tools"; |
| | | |
| | | import { const_61850 } from "../../assets/js/const"; |
| | | /* import moment from "moment"; */ |
| | | let vol, res, temp, conduct, curr; |
| | | let vol, resChart, temp, conduct, currChart; |
| | | export default { |
| | | components: { |
| | | ContentBox, |
| | | HomeList, |
| | | BarChart, |
| | | CircuitDiagram, |
| | | ScienceBox |
| | | ScienceBox, |
| | | DischargeDialogContent, |
| | | SystemParams |
| | | }, |
| | | data() { |
| | | return { |
| | | username: sessionStorage.getItem('username'), |
| | | /* 电池状态 模块 组端展示 */ |
| | | inputs: { |
| | | group_vol: 0 /* 端电压-组端电压 */, |
| | |
| | | batt_test_tlong: "0:00:00" /* 测试时长 */, |
| | | rec_datetime: 0 /* 更新日期 */, |
| | | batt_test_cap: 0 /* 测试容量 */, |
| | | batt_rest_cap: 0, // 剩余容量 |
| | | batt_state: 0 /* 电池状态 */ |
| | | }, |
| | | acTabs: "eleLine", |
| | |
| | | }, |
| | | { |
| | | prop: "curr1", |
| | | label: "均衡电流", |
| | | label: "均衡电流(A)", |
| | | width: "" |
| | | } |
| | | ], |
| | |
| | | } |
| | | ] |
| | | }, |
| | | batt: {} |
| | | batt: {}, |
| | | stateListShow: true, |
| | | stateList: [ |
| | | { |
| | | name: "workState", |
| | | type: "", |
| | | icon: "", |
| | | text: "设备工作状态:", |
| | | value: "在线浮充", |
| | | show: true |
| | | }, |
| | | { |
| | | name: "connect", |
| | | type: "", |
| | | icon: "el-icon-tongxun", |
| | | text: "设备通讯:", |
| | | value: "正常", |
| | | show: true |
| | | }, |
| | | { |
| | | name: "devTemp", |
| | | type: "", |
| | | icon: "el-icon-wendu", |
| | | text: "设备温度:", |
| | | value: "正常", |
| | | show: true |
| | | }, |
| | | { |
| | | name: "contact", |
| | | type: "", |
| | | icon: "el-icon-fenxiang", |
| | | text: "干接点:", |
| | | value: "正常", |
| | | show: false |
| | | }, |
| | | { |
| | | name: "stopReason", |
| | | type: "", |
| | | icon: "", |
| | | text: "核容终止原因:", |
| | | value: "未知", |
| | | show: false |
| | | }, |
| | | { |
| | | name: "failReason", |
| | | type: "", |
| | | icon: "", |
| | | text: "操作失败原因:", |
| | | value: "未知", |
| | | show: false |
| | | }, |
| | | { |
| | | name: "resDay", |
| | | type: "", |
| | | icon: "", |
| | | text: "剩余天数:", |
| | | value: "0", |
| | | show: false |
| | | }, |
| | | { |
| | | name: "workMode", |
| | | type: "", |
| | | icon: "", |
| | | text: "工作模式:", |
| | | value: "停止", |
| | | show: false |
| | | }, |
| | | { |
| | | name: "groupVol", |
| | | type: "", |
| | | icon: "", |
| | | text: "组端电压:", |
| | | value: "0", |
| | | unit: "V", |
| | | show: false |
| | | }, |
| | | { |
| | | name: "peakVol", |
| | | type: "", |
| | | icon: "", |
| | | text: "峰值电压:", |
| | | value: "0", |
| | | unit: "V", |
| | | show: false |
| | | } |
| | | ], |
| | | timer: new Timeout(), |
| | | diagram: { |
| | | type: -1, |
| | | desc: "", |
| | | temp: 0 // 设备温度 |
| | | }, |
| | | dischargeDialog: { |
| | | show: false |
| | | }, |
| | | systemDialog: { |
| | | show: false, |
| | | }, |
| | | }; |
| | | }, |
| | | methods: { |
| | |
| | | vol = { |
| | | title: { |
| | | show: true, |
| | | text: "最大值=0V;最小值=0V;平均值=0V;累加和=0V", |
| | | text: "最大值=0V;最小值=0V;平均值=0V", |
| | | x: "center", |
| | | textStyle: { |
| | | fontSize: "14" |
| | |
| | | }; |
| | | |
| | | // 内阻 |
| | | res = { |
| | | resChart = { |
| | | title: { |
| | | show: true, |
| | | text: "最大值=0mΩ;最小值=mΩ;平均值=0mΩ", |
| | |
| | | ] |
| | | }; |
| | | // 均衡电流 |
| | | curr = { |
| | | currChart = { |
| | | title: { |
| | | show: true, |
| | | text: "最大值=0mA;最小值=0mA;平均值=0mA", |
| | |
| | | }, |
| | | setChart() { |
| | | this.$refs.vol.setOption(vol); |
| | | this.$refs.res.setOption(res); |
| | | this.$refs.res.setOption(resChart); |
| | | this.$refs.temp.setOption(temp); |
| | | this.$refs.conduct.setOption(conduct); |
| | | this.$refs.curr.setOption(curr); |
| | | this.$refs.curr.setOption(currChart); |
| | | }, |
| | | |
| | | startTimer() { |
| | | this.timer.start(() => { |
| | | this.$axios |
| | | .all([ |
| | | this.realTimeSearch(), |
| | | this.realTimeGroupss(), |
| | | this.realTimePowerOffs() |
| | | ]) |
| | | .then(() => { |
| | | this.timer.open(); |
| | | }) |
| | | .catch(() => { |
| | | this.timer.open(); |
| | | }); |
| | | }, 3000); |
| | | }, |
| | | leafClick(data) { |
| | | this.batt = data; |
| | | /* console.log('this.batt',this.batt); */ |
| | | this.realTimeAlarmss(); |
| | | this.realTimeGroupss(); |
| | | this.realTimeSearch(); |
| | | // 开启循环请求 |
| | | this.startTimer(); |
| | | }, |
| | | /* 查询电池告警参数 */ |
| | | realTimeAlarmss() { |
| | | var batt = this.batt; |
| | | console.log('batt',batt); |
| | | realTimeAlarm({ |
| | | dev_id:batt.FBSDeviceId |
| | | }).then(res => { |
| | | console.log('batt.FBSDeviceId',batt.FBSDeviceId); |
| | | realTimeAlarm({ |
| | | dev_id: batt.FBSDeviceId |
| | | }).then(res => { |
| | | let rsccc = JSON.parse(res.data.result); |
| | | console.log("rsccc", rsccc); |
| | | /* this.inputs = rsa.data[0]; */ |
| | | /* console.log("this.inputs", this.inputs); */ |
| | | }); |
| | | }, |
| | | /* 实时组端信息 */ |
| | |
| | | var batt = this.batt; |
| | | realTimeGroup(batt.BattGroupId).then(res => { |
| | | let rsa = JSON.parse(res.data.result); |
| | | /* console.log("rsa", rsa); */ |
| | | this.inputs = rsa.data[0]; |
| | | /* console.log("this.inputs", this.inputs); */ |
| | | }); |
| | | }, |
| | | /* 查询电路图开关状态和信息 */ |
| | | realTimePowerOffs() { |
| | | let batt = this.batt; |
| | | // 设备为61850显示右侧的面板 |
| | | if (regEquipType(batt.FBSDeviceId, "equip61850")) { |
| | | this.stateListShow = true; |
| | | } else { |
| | | this.stateListShow = false; |
| | | } |
| | | |
| | | // 查询后台数据 |
| | | realTimePowerOff({ |
| | | dev_id: batt.FBSDeviceId |
| | | }).then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | let outTime = 2 * 60; //设备超时时间(2分钟) |
| | | let isOutTime = true; //通讯中断 判断设备是否通讯中断 true:中断 false:正常 |
| | | if (rs.code == 1) { |
| | | let data = rs.data[0]; |
| | | // 基础信息 |
| | | this.setEquipBase(data); |
| | | |
| | | // 判断是否超时 |
| | | var nowTime = new Date(data.note).getTime(); //当前时间 |
| | | var record = new Date(data.record_datetime).getTime(); |
| | | if (Math.abs(nowTime - record) / 1000 > outTime) { |
| | | this.disconnect(); |
| | | } else { |
| | | // 未超时执行逻辑 |
| | | // 设备为61850 |
| | | if (regEquipType(batt.FBSDeviceId, "equip61850")) { |
| | | this.setEquip61850(data); |
| | | } |
| | | } |
| | | } else { |
| | | // 设备处于未连接 |
| | | this.disconnect(); |
| | | } |
| | | }); |
| | | }, |
| | | disconnect() { |
| | | // 设备未连接 |
| | | this.diagram.type = -1; |
| | | this.setStateList("workState", "未连接"); |
| | | this.diagram.temp = 0; |
| | | // 通讯状态 |
| | | this.setStateList("connect", "异常", "table-row-error"); |
| | | // 温度 |
| | | this.setStateList("devTemp", "未知", "table-row-warn"); |
| | | // 干接点 |
| | | this.setStateList("contact", "未知", "table-row-warn"); |
| | | // 核容终止原因 |
| | | this.setStateList("stopReason", "未知"); |
| | | // 操作失败原因 |
| | | this.setStateList("failReason", "未知"); |
| | | }, |
| | | // 基础信息 |
| | | setEquipBase(data) { |
| | | // 设备的温度 |
| | | this.diagram.temp = data.dev_temp; |
| | | }, |
| | | // 61850设备信息 |
| | | setEquip61850(data) { |
| | | // 电路图类型 |
| | | let workstatus = parseInt(data.dev_workstate); //[0:'在线监测',1:'放电测试',2:'充电测试',3:'内阻测试',4:'未知']; |
| | | this.diagram.desc = ""; |
| | | switch (workstatus) { |
| | | case 0: //浮充状态拓扑图 |
| | | this.diagram.type = 0; |
| | | this.diagram.desc = "(开关闭合)"; |
| | | break; |
| | | case 4: //浮充状态(内阻测试)拓扑图 |
| | | this.diagram.type = 0; |
| | | // 当前设备是否是内阻测试 |
| | | this.diagram.desc = "(开关闭合)"; |
| | | this.diagram.desc += "(内阻测试)"; |
| | | break; |
| | | case 1: //充电状态拓扑图 |
| | | this.diagram.type = 2; |
| | | this.diagram.desc = "(开关断开)"; |
| | | break; |
| | | case 2: //放电状态拓扑图 |
| | | this.diagram.type = 1; |
| | | this.diagram.desc = "(开关断开)"; |
| | | break; |
| | | case 3: //放电状态拓扑图 |
| | | this.diagram.type = 7; |
| | | break; |
| | | case 5: //放电状态(KD测试)拓扑图 |
| | | this.diagram.type = 3; |
| | | this.diagram.desc = "(开关断开)"; |
| | | this.diagram.desc += "(KD测试)"; |
| | | break; |
| | | case 6: // 离线养护测试 |
| | | this.diagram.type = 4; |
| | | this.diagram.desc = "离线养护测试"; |
| | | break; |
| | | default: |
| | | //未知 |
| | | this.diagram.type = -1; |
| | | this.diagram.desc = "(未知)"; |
| | | break; |
| | | } |
| | | |
| | | // 设备工作状态 |
| | | let workStates = const_61850.workstates; |
| | | this.setStateList("workState", workStates[data.dev_workstate]); |
| | | // 核容终止原因 |
| | | let stopReasons = const_61850.stopreasons; |
| | | if (data.dev_workstate == 2) { |
| | | this.setStateList("stopReason", "未知"); |
| | | } else { |
| | | this.setStateList( |
| | | "stopReason", |
| | | stopReasons[data.dev_last_captest_stop_type] |
| | | ); |
| | | } |
| | | |
| | | // 操作失败原因 |
| | | let failReasons = const_61850.failreasons; |
| | | this.setStateList("failReason", failReasons[data.dev_alarmstate]); |
| | | |
| | | // 告警信息 |
| | | let alarms = data.dev_61850alarms.split(","); |
| | | // alarms = ['false', 'false', 'true', 'false', 'true']; |
| | | // 通讯状态 |
| | | if (alarms[1] == "true") { |
| | | this.setStateList("connect", "异常", "table-row-error"); |
| | | } else { |
| | | this.setStateList("connect", "正常", ""); |
| | | } |
| | | |
| | | // 温度 |
| | | if (alarms[2] == "true") { |
| | | this.setStateList("devTemp", "异常", "table-row-error"); |
| | | } else { |
| | | this.setStateList("devTemp", "正常", ""); |
| | | } |
| | | |
| | | // 干接点 |
| | | if (alarms[4] == "true") { |
| | | this.setStateList("contact", "异常", "table-row-error"); |
| | | } else { |
| | | this.setStateList("contact", "正常", ""); |
| | | } |
| | | }, |
| | | // 设置stateList的值 |
| | | setStateList(name, value, type) { |
| | | let stateList = this.stateList; |
| | | for (let i = 0; i < stateList.length; i++) { |
| | | let state = stateList[i]; |
| | | if (state.name == name) { |
| | | state.value = value; |
| | | state.type = type ? type : ""; |
| | | } |
| | | } |
| | | }, |
| | | /* echars图表 */ |
| | | realTimeSearch() { |
| | | var batt = this.batt; |
| | |
| | | BattGroupId: batt.BattGroupId |
| | | }).then(res => { |
| | | let rs = JSON.parse(res.data.result); |
| | | /* console.log("rs", rs); */ |
| | | |
| | | /* 数据表格 */ |
| | | /* let vovo = {}; */ |
| | | if (rs.code == 1) { |
| | | this.vovo = rs.data.map(item => { |
| | | return { |
| | | num1: "#" + item.mon_num, |
| | | vol1: item.mon_vol, |
| | | res1: item.mon_res, |
| | | temp1: item.mon_tmp |
| | | } |
| | | temp1: item.mon_tmp, |
| | | conduct1: (1 / item.mon_res * 1000).toFixed(0), |
| | | curr1: item.mon_JH_curr |
| | | }; |
| | | }); |
| | | } |
| | | this.table.datas = this.vovo; |
| | |
| | | return ["#" + item.mon_num, item.mon_vol]; |
| | | }); |
| | | } |
| | | let volBarNum = getBarNum(volTempVol); |
| | | vol.title.text = "最大值="+volBarNum.max.toFixed(2)+"V;最小值="+volBarNum.min.toFixed(2)+"V;平均值="+volBarNum.avg.toFixed(2)+"V"; |
| | | vol.series[0].data = volTempVol; |
| | | |
| | | // 内阻 |
| | | /* let volTempres = []; |
| | | let volTempres = []; |
| | | if (rs.code == 1) { |
| | | volTempres = rs.data.map(item => { |
| | | return ["#" + item.mon_num, item.mon_res]; |
| | | }); |
| | | } |
| | | res.series[0].data = volTempres; */ |
| | | let resBarNum = getBarNum(volTempres); |
| | | resChart.title.text = "最大值="+resBarNum.max.toFixed(2)+"mΩ;最小值="+resBarNum.min.toFixed(2)+"mΩ;平均值="+resBarNum.avg.toFixed(2)+"mΩ"; |
| | | resChart.series[0].data = volTempres; |
| | | |
| | | // 温度 |
| | | let volTempte = []; |
| | |
| | | return ["#" + item.mon_num, item.mon_tmp]; |
| | | }); |
| | | } |
| | | |
| | | let tempBarNum = getBarNum(volTempte); |
| | | temp.title.text = "最大值="+tempBarNum.max.toFixed(1)+"℃;最小值="+tempBarNum.min.toFixed(1)+"℃;平均值="+tempBarNum.avg.toFixed(1)+"℃"; |
| | | temp.series[0].data = volTempte; |
| | | |
| | | // 电导 |
| | | let conductTemp = []; |
| | | if (rs.code == 1) { |
| | | conductTemp = rs.data.map(item => { |
| | | return ["#" + item.mon_num, (1 / item.mon_res * 1000).toFixed(0)]; |
| | | }); |
| | | } |
| | | let conductBarNum = getBarNum(conductTemp); |
| | | conduct.title.text = "最大值="+conductBarNum.max.toFixed(0)+";最小值="+conductBarNum.min.toFixed(0)+";平均值="+conductBarNum.avg.toFixed(0); |
| | | conduct.series[0].data = conductTemp; |
| | | |
| | | // 均衡电流 |
| | | let currTemp = []; |
| | | if (rs.code == 1) { |
| | | currTemp = rs.data.map(item => { |
| | | return ["#" + item.mon_num, item.mon_JH_curr]; |
| | | }); |
| | | } |
| | | let currBarNum = getBarNum(currTemp); |
| | | currChart.title.text = "最大值="+currBarNum.max.toFixed(1)+"mA;最小值="+currBarNum.min.toFixed(1)+"mA;平均值="+currBarNum.avg.toFixed(1)+"mA"; |
| | | currChart.series[0].data = currTemp; |
| | | |
| | | // 更新电压图表 |
| | | this.$refs.vol.setOption(vol); |
| | | this.$refs.res.setOption(res); |
| | | this.$refs.temp.setOption(temp); |
| | | this.setChart(); |
| | | }); |
| | | }, |
| | | |
| | | // 向父级发送同步页面的指令 |
| | | syncPage() { |
| | | let batt = this.batt; |
| | | let search="?province="+batt.StationName1 |
| | | +"&city="+batt.StationName2+"&county="+batt.StationName5 |
| | | +"&home="+batt.StationName3+"&batt="+batt.BattGroupId; |
| | | window.parent.postMessage({ |
| | | cmd: "syncPage", |
| | | params: { |
| | | pageInfo: { |
| | | label: '历史数据', |
| | | name: 'history', |
| | | src: '#/history'+search, |
| | | closable: true, |
| | | let search = |
| | | "?province=" + |
| | | batt.StationName1 + |
| | | "&city=" + |
| | | batt.StationName2 + |
| | | "&county=" + |
| | | batt.StationName5 + |
| | | "&home=" + |
| | | batt.StationName3 + |
| | | "&batt=" + |
| | | batt.BattGroupId; |
| | | window.parent.postMessage( |
| | | { |
| | | cmd: "syncPage", |
| | | params: { |
| | | pageInfo: { |
| | | label: "历史数据", |
| | | name: "history", |
| | | src: "#/history" + search, |
| | | closable: true |
| | | } |
| | | } |
| | | }, |
| | | }, "*"); |
| | | "*" |
| | | ); |
| | | }, |
| | | // 停止测试 |
| | | stopTest() { |
| | | this.$layer.confirm('停止测试',{icon: 3}, (index)=>{ |
| | | // 关闭询问层 |
| | | this.$layer.close(index); |
| | | // 根据设备id进行停止 |
| | | if(regEquipType(this.batt.FBSDeviceId, 'equip61850')) { |
| | | // 停止设备 |
| | | this.stop61850Test(); |
| | | }else { |
| | | // 提示信息 |
| | | this.$layer.msg('未知设备类型,暂无法停止测试!'); |
| | | } |
| | | }); |
| | | }, |
| | | // 停止61850测试 |
| | | stop61850Test() { |
| | | // 开启等待框 |
| | | let loading = this.$layer.loading(1); |
| | | // 请求后台 |
| | | this.$apis.dischargeTest.e61850.stop({ |
| | | num: const_61850.cmd.stop, |
| | | dev_id: this.batt.FBSDeviceId |
| | | }).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | if(rs.code == 1) { |
| | | // 提示信息 |
| | | this.$layer.msg('停止测试成功'); |
| | | }else { |
| | | // 提示信息 |
| | | this.$layer.msg('停止测试失败!'); |
| | | } |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | }).catch(error=>{ |
| | | console.log(error); |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | // 提示信息 |
| | | this.$layer.msg('停止测试失败,停止测试请求异常!'); |
| | | }); |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | 3: "放电", |
| | | 4: "均充" |
| | | }, |
| | | list = {}; |
| | | list = { |
| | | batt_state: "未知", |
| | | group_online_vol: "在线:0.00V;组端:0.00V", |
| | | group_curr: "0.00A", |
| | | rec_datetime: "1982-01-01 00:00:00", |
| | | batt_test_tlong: formatSeconds(0), |
| | | batt_test_cap: "0Ah", |
| | | batt_syrl_cap: "---", |
| | | sysc: "------" |
| | | }; |
| | | if (this.diagram.type == -1) { |
| | | return list; |
| | | } |
| | | list.batt_state = obj[this.inputs.batt_state]; |
| | | list.group_online_vol = `在线:${this.inputs.online_vol.toFixed( |
| | | list.group_online_vol = `在线:${this.inputs.online_vol.toFixed( |
| | | 2 |
| | | )}V;组端:${this.inputs.group_vol.toFixed(2)}V`; |
| | | )}V;组端:${this.inputs.group_vol.toFixed(2)}V`; |
| | | list.group_curr = this.inputs.group_curr.toFixed(2) + "A"; |
| | | list.rec_datetime = this.inputs.rec_datetime; |
| | | list.batt_test_tlong = formatSeconds(this.inputs.batt_test_tlong); |
| | | |
| | | list.batt_test_cap = this.inputs.batt_test_cap.toFixed(1) + "Ah"; |
| | | list.batt_test_cap = this.inputs.batt_test_cap.toFixed(1) + "AH"; |
| | | if (this.inputs.batt_state === 2) { |
| | | list.batt_syrl_cap = "---"; |
| | | } else { |
| | | list.batt_syrl_cap = this.inputs.batt_test_cap.toFixed(1) + "Ah"; |
| | | list.batt_syrl_cap = this.inputs.batt_rest_cap.toFixed(1) + "AH"; |
| | | } |
| | | if (this.inputs.batt_state === 3) { |
| | | list.sysc = this.sethoubeiTime( |
| | | list.sysc = sethoubeiTime( |
| | | parseFloat(this.inputs.batt_rest_cap) / |
| | | parseFloat(this.inputs.group_curr) |
| | | ); |
| | |
| | | list.sysc = "------"; |
| | | } |
| | | return list; |
| | | }, |
| | | showStateList() { |
| | | return this.stateList.filter(item => { |
| | | if (item.show) { |
| | | return item; |
| | | } |
| | | }); |
| | | }, |
| | | dischargeDialogTitle() { |
| | | let batt = this.batt; |
| | | if (regEquipType(batt.FBSDeviceId, "equip61850")) { |
| | | return "61850放电参数设置"; |
| | | } else { |
| | | return "未知设备(待开发)" |
| | | } |
| | | }, |
| | | showControl() { |
| | | if(this.username == 'superuser' || this.username == 'admin') { |
| | | return true; |
| | | }else { |
| | | return false; |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | |
| | | this.$nextTick(() => { |
| | | this.$G.chartManage.resize(this.acTabs); |
| | | }); |
| | | // 向父组件通信 |
| | | window.parent.postMessage({kk:1}, "*") |
| | | |
| | | // 屏幕缩放时触发 |
| | | window.addEventListener("resize", () => { |
| | | this.resize(); |
| | | }); |
| | | }, |
| | | destroyed() { |
| | | this.timer.stop(); |
| | | } |
| | | }; |
| | | </script> |
| | |
| | | } |
| | | .table-cell.text-right { |
| | | font-size: 14px; |
| | | } |
| | | .table-cell.text-right .iconfont { |
| | | margin-right: 4px; |
| | | } |
| | | .table-row.table-row-error { |
| | | color: #ff0000; |
| | | } |
| | | .table-row.table-row-warn { |
| | | color: #e6a23c; |
| | | } |
| | | .table-row .table-cell { |
| | | padding-top: 12px; |
| | |
| | | color: #cfcfcf; |
| | | } |
| | | .box-tools .iconfont:active { |
| | | color: #FF0000; |
| | | color: #ff0000; |
| | | } |
| | | .page-content-tools { |
| | | position: absolute; |
| | |
| | | box-sizing: border-box; |
| | | outline: none; |
| | | margin: 0; |
| | | transition: .1s; |
| | | transition: 0.1s; |
| | | font-weight: 500; |
| | | -webkit-user-select: none; |
| | | -moz-user-select: none; |
| | |
| | | .hdw-menu-list .hdw-menu-item:first-child { |
| | | border-top: none; |
| | | } |
| | | .hdw-menu-item a{ |
| | | .hdw-menu-item a { |
| | | display: block; |
| | | text-align: center; |
| | | padding: 8px; |
| | | color: #FFFFFF; |
| | | color: #ffffff; |
| | | cursor: pointer; |
| | | background-color: rgba(30, 125, 219, 0.767); |
| | | } |