U 18650实时页面 拓扑图左侧添加上一次核容数据
| | |
| | | import { getLastCapacityTest } from "../history"; |
| | | |
| | | export default { |
| | | workstates: ["在线浮充","预充电","核容测试","停电放电","内阻测试","K1/D1测试", '离线养护测试', '未知'], |
| | | alarmstates: ["继电器K1告警","通讯告警","设备过温告警","二极管D1告警"], |
| | |
| | | notShow: true, |
| | | show: false |
| | | }, |
| | | { |
| | | id: 110, |
| | | name: "xuHang", |
| | | type: "", |
| | | icon: "", |
| | | text: "预估续航时长:", |
| | | value: "???", |
| | | show: true |
| | | }, |
| | | // { |
| | | // id: 110, |
| | | // name: "xuHang", |
| | | // type: "", |
| | | // icon: "", |
| | | // text: "预估续航时长:", |
| | | // value: "???", |
| | | // show: true |
| | | // }, |
| | | ], |
| | | historyStateList: [ |
| | | { |
| | | id: 5, |
| | | name: "stopReason", |
| | | type: "", |
| | | icon: "", |
| | | text: "核容终止原因:", |
| | | value: "未知", |
| | | show: false |
| | | }, |
| | | // { |
| | | // id: 5, |
| | | // name: "stopReason", |
| | | // type: "", |
| | | // icon: "", |
| | | // text: "核容终止原因:", |
| | | // value: "未知", |
| | | // show: false |
| | | // }, |
| | | { |
| | | id: 6, |
| | | name: "failReason", |
| | |
| | | text: "操作失败原因:", |
| | | value: "未知", |
| | | show: false |
| | | }, |
| | | } |
| | | ], |
| | | lastCapacityTest: [ |
| | | { |
| | | id: 11, |
| | | name: 'test_starttime', |
| | | type: '', |
| | | icon: '', |
| | | text: '开始时间:', |
| | | value: '未知', |
| | | show: true |
| | | }, |
| | | { |
| | | id: 12, |
| | | name: 'test_cap', |
| | | type: '', |
| | | icon: '', |
| | | text: '测试容量:', |
| | | value: '未知', |
| | | show: true |
| | | }, |
| | | { |
| | | id: 13, |
| | | name: 'test_timelong', |
| | | type: '', |
| | | icon: '', |
| | | text: '测试时长:', |
| | | value: '未知', |
| | | show: true |
| | | }, |
| | | { |
| | | id: 14, |
| | | name: 're_cap', |
| | | type: '', |
| | | icon: '', |
| | | text: '剩余容量:', |
| | | value: '未知', |
| | | show: true |
| | | }, |
| | | { |
| | | id: 15, |
| | | name: 'endurance_time', |
| | | type: '', |
| | | icon: '', |
| | | text: '续航时长:', |
| | | value: '未知', |
| | | show: true |
| | | }, |
| | | { |
| | | id: 16, |
| | | name: "stopReason", |
| | | type: "", |
| | | icon: "", |
| | | text: "终止原因:", |
| | | value: "未知", |
| | | show: true |
| | | } |
| | | ], |
| | | getItemByName(name, list) { |
| | | let result = false; |
| | |
| | | data: null |
| | | }); |
| | | } |
| | | /** |
| | | * 查询(61850)最后一次核容放电数据 |
| | | * num为FBSDeviceId |
| | | * 参数:json={"num":910000119,"BattGroupId":1005129} |
| | | */ |
| | | export const getLastCapacityTest = (data) => { |
| | | return axios({ |
| | | method: "post", |
| | | url: "Batttestdata_infAction_searchBattLastHrDataById", |
| | | data: 'json=' + JSON.stringify(data) |
| | | }); |
| | | } |
| | |
| | | <template> |
| | | <flex-layout direction="row" class="page-real-time" :no-bg="true"> |
| | | <home-list slot="header" @toggleChange="toggleChange" @leaf-click="leafClick"></home-list> |
| | | <router-view v-if="isReload"></router-view> |
| | | <router-view :key="$route.fullPath" v-if="isReload"></router-view> |
| | | </flex-layout> |
| | | </template> |
| | | |
| | |
| | | </div> |
| | | </div> |
| | | </science-box> |
| | | <!-- 上次核容测试信息 --> |
| | | <science-box |
| | | style="position: relative; margin-top: 8px" |
| | | title="上一次核容测试信息" |
| | | v-show="stateListState" |
| | | > |
| | | <div class="hdw-state-list table-layout"> |
| | | <div |
| | | v-for="state in lastCapacityTest.filter((item) => item.show)" |
| | | :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> |
| | | </div> |
| | | <div style="position: absolute;top: 8px; left: 8px" v-if="isLithium"> |
| | | <science-box |
| | |
| | | realTimeNot, |
| | | realTimeAdd, |
| | | BattRtAlarmActionGetInfo, |
| | | BattRsAlarmActionGetInfo, realTimeXuHang, |
| | | } from "../../assets/js/realTime"; |
| | | import { |
| | | BattRsAlarmActionGetInfo, |
| | | // realTimeXuHang, |
| | | realTimeSearch, |
| | | realTimeGroup, |
| | | realTimeAlarm, |
| | |
| | | inversionInfo, |
| | | } from "../../assets/js/realTime"; |
| | | import { |
| | | getLastCapacityTest |
| | | } from "../../assets/js/history"; |
| | | import { |
| | | formatSeconds, |
| | | sethoubeiTime, |
| | | Timeout, |
| | | regEquipType, |
| | | getBarNum, |
| | | GetMonomerCap, |
| | | GetHourRate, |
| | | isHasPermit, |
| | | getConduct, |
| | | } from "../../assets/js/tools"; |
| | |
| | | let isCanTest = isHasPermit("batt_test_op_permit", permits); |
| | | let stateList = const_61850.stateList; |
| | | let historyStateList = const_61850.historyStateList; |
| | | let lastCapacityTest = const_61850.lastCapacityTest; |
| | | let pageConfig = this.$store.getters["user/realTabsConfig"]; |
| | | return { |
| | | workPlanDialog: false, |
| | |
| | | stateListShow: true, |
| | | stateList: stateList, |
| | | historyStateList: historyStateList, |
| | | lastCapacityTest: lastCapacityTest, |
| | | timer: new Timeout("realTime"), |
| | | diagram: { |
| | | update: true, |
| | |
| | | this.batt = data; |
| | | this.diagram.desc = ""; |
| | | this.realTimeAlarmss(); |
| | | this.realTimeXuHang(); // 预估续航时长 |
| | | // this.realTimeXuHang(); // 预估续航时长 |
| | | this.diagram.devType = getDevType(data.chargeType, data.buscoupleState); |
| | | this.esVideoSn = data.videoUrl; |
| | | this.table.headers = getTblHeader(data.FBSDeviceId); |
| | | // 如果是61850 则查询最后一次放电数据 |
| | | if (regEquipType(data.FBSDeviceId, ["equip61850"])) { |
| | | this.getLastCapacityTest(data); |
| | | } |
| | | this.$nextTick(()=>{ |
| | | this.changeTabsName(); |
| | | // 开启循环请求 |
| | |
| | | // 干接点 |
| | | this.setStateList("contact", "未知", "table-row-warn"); |
| | | // 核容终止原因 |
| | | this.setStateList("stopReason", "未知"); |
| | | // this.setStateList("stopReason", "未知"); |
| | | // 操作失败原因 |
| | | this.setStateList("failReason", "未知"); |
| | | // 预估续航时长 |
| | |
| | | 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 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; |
| | |
| | | if (state.name == name) { |
| | | state.value = value; |
| | | state.type = type ? type : ""; |
| | | } |
| | | } |
| | | |
| | | for (let i = 0, list = this.lastCapacityTest, j = list.length; i < j; i++) { |
| | | let state = list[i]; |
| | | if (state.name == name) { |
| | | state.value = value; |
| | | state.type = type || ""; |
| | | } |
| | | } |
| | | }, |
| | |
| | | console.log(error); |
| | | }); |
| | | }, |
| | | realTimeXuHang() { |
| | | let batt = this.batt; |
| | | realTimeXuHang(batt.FBSDeviceId).then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | if(rs.data == -1) { |
| | | // 预估续航时长 |
| | | this.setStateList("xuHang", "???"); |
| | | }else { |
| | | // 预估续航时长 |
| | | this.setStateList("xuHang", formatSeconds(rs.data*60)); |
| | | } |
| | | }).catch(error=>{ |
| | | // 预估续航时长 |
| | | this.setStateList("xuHang", "???"); |
| | | }) |
| | | }, |
| | | // realTimeXuHang() { |
| | | // let batt = this.batt; |
| | | // realTimeXuHang(batt.FBSDeviceId).then(res=>{ |
| | | // let rs = JSON.parse(res.data.result); |
| | | // if(rs.data == -1) { |
| | | // // 预估续航时长 |
| | | // this.setStateList("xuHang", "???"); |
| | | // }else { |
| | | // // 预估续航时长 |
| | | // this.setStateList("xuHang", formatSeconds(rs.data*60)); |
| | | // } |
| | | // }).catch(error=>{ |
| | | // // 预估续航时长 |
| | | // this.setStateList("xuHang", "???"); |
| | | // }) |
| | | // }, |
| | | // 逆变信息 |
| | | inversionInfo() { |
| | | let batt = this.batt; |
| | |
| | | } |
| | | }); |
| | | }, |
| | | getLastCapacityTest (batt) { |
| | | let param = { |
| | | num: batt.FBSDeviceId, |
| | | BattGroupId: batt.BattGroupId |
| | | }; |
| | | getLastCapacityTest(param).then((res) => { |
| | | res = JSON.parse(res.data.result); |
| | | // console.log(res, 'res======'); |
| | | if (res.code) { |
| | | let data = res.data; |
| | | // 上次核容停止原因 |
| | | this.setStateList('stopReason', data.test_stoptype_reason); |
| | | // 核容测试的最后一笔数据 |
| | | let datalist = data.batttestdataList; |
| | | // 上次核容开始时间 |
| | | this.setStateList('test_starttime', data.test_starttime); |
| | | // 上次核容测试容量 |
| | | this.setStateList('test_cap', data.test_cap.toFixed(1) + "AH"); |
| | | // 上次核容测试时长 |
| | | this.setStateList('test_timelong', data.test_timelong); |
| | | let volArr = []; |
| | | datalist.forEach((v) => { |
| | | volArr.push(['#' + v.mon_num, v.mon_vol]); |
| | | }); |
| | | let batNum = getBarNum(volArr); |
| | | let avg_curr = data.test_timelong > 0 ? data.test_cap * 3600 / data.test_timelong : data.test_curr; |
| | | let over_cap = GetMonomerCap(batt.MonCapStd, GetHourRate(batt.MonCapStd, avg_curr), |
| | | data.test_cap, batNum.max, batNum.min, batt.MonVolStd, 0); |
| | | let real_cap = GetMonomerCap(batt.MonCapStd, GetHourRate(batt.MonCapStd, avg_curr), |
| | | data.test_cap, batNum.max, batNum.min, batt.MonVolStd, 1); |
| | | let xuhang = batt.Load_curr ? real_cap / batt.Load_curr : 0; |
| | | // 剩余容量 |
| | | this.setStateList('re_cap', over_cap.toFixed(1) + 'AH'); |
| | | // 续航时长 |
| | | this.setStateList('endurance_time', xuhang ? sethoubeiTime(xuhang) : '---'); |
| | | } |
| | | }).catch((err) => { |
| | | console.error(err); |
| | | }); |
| | | } |
| | | }, |
| | | computed: { |
| | | battFullName() { |
| | |
| | | } |
| | | |
| | | .table-row .table-cell { |
| | | padding-top: 12px; |
| | | padding-top: 8px; |
| | | } |
| | | |
| | | .page-content { |
| | |
| | | .lampImg { |
| | | height: 28px; |
| | | } |
| | | >>> .box-header { |
| | | font-size: 14px; |
| | | padding: 0; |
| | | } |
| | | </style> |