| | |
| | | <div class="node" v-if="isNode">节点</div> |
| | | </div> |
| | | </div> |
| | | <div class="status" v-if="problem" @click="clickHandler">?</div> |
| | | <div class="card-content"> |
| | | <slot></slot> |
| | | </div> |
| | |
| | | isNode: { |
| | | type: Boolean, |
| | | default: true |
| | | }, |
| | | problem: { |
| | | type: Boolean, |
| | | default: false |
| | | } |
| | | }, |
| | | components: { |
| | | marquee, |
| | | }, |
| | | methods: { |
| | | clickHandler() { |
| | | this.$emit('showinfo') |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | .card-content { |
| | | height: 86.57%; |
| | | } |
| | | |
| | | .status { |
| | | background: rgb(198, 198, 22); |
| | | width: 1.5rem; |
| | | height: 1.5rem; |
| | | border-radius: 50%; |
| | | position: absolute; |
| | | left: 6%; |
| | | top: 6%; |
| | | font-weight: bold; |
| | | color: #fff; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | cursor: pointer; |
| | | } |
| | | .tag { |
| | | // border: 1px solid #e95613; |
| | | border: 1px solid #2982f6; |
| | |
| | | computed: { |
| | | acinVolA() { |
| | | let acdc = this.data.acdc; |
| | | let { routeNum } = this.data.pwrinf; |
| | | if (1 == routeNum) { |
| | | return acdc.acin1Vola; |
| | | } |
| | | return acdc.acin1Vola + '/' + acdc.acin2Vola; |
| | | }, |
| | | acinVolB() { |
| | | let acdc = this.data.acdc; |
| | | let { routeNum } = this.data.pwrinf; |
| | | if (1 == routeNum) { |
| | | return acdc.acin1Volb; |
| | | } |
| | | return acdc.acin1Volb + '/' + acdc.acin2Volb; |
| | | }, |
| | | acinVolC() { |
| | | let acdc = this.data.acdc; |
| | | let { routeNum } = this.data.pwrinf; |
| | | if (1 == routeNum) { |
| | | return acdc.acin1Volc; |
| | | } |
| | | return acdc.acin1Volc + '/' + acdc.acin2Volc; |
| | | }, |
| | | acinCurrA() { |
| | | let acdc = this.data.acdc; |
| | | return acdc.acin1Curra + '/' + acdc.acin2Curra; |
| | | return acdc.acin1Curra; |
| | | }, |
| | | acinCurrB() { |
| | | let acdc = this.data.acdc; |
| | | return acdc.acin1Currb + '/' + acdc.acin2Currb; |
| | | return acdc.acin1Currb; |
| | | }, |
| | | acinCurrC() { |
| | | let acdc = this.data.acdc; |
| | | return acdc.acin1Currc + '/' + acdc.acin2Currc; |
| | | return acdc.acin1Currc; |
| | | }, |
| | | battState() { |
| | | let battInf = this.data.battInf; |
| | |
| | | } |
| | | }, |
| | | mounted() { |
| | | console.log(this.data); |
| | | // console.log(this.data); |
| | | } |
| | | } |
| | | </script> |
| | |
| | | display: flex; |
| | | } |
| | | } |
| | | |
| | | .cur-point { |
| | | user-select: none; |
| | | cursor: pointer; |
| | |
| | | computed: { |
| | | acinVolA() { |
| | | let acdc = this.data.acdc; |
| | | let { routeNum } = this.data.pwrinf; |
| | | if (1 == routeNum) { |
| | | return acdc.acin1Vola; |
| | | } |
| | | return acdc.acin1Vola + '/' + acdc.acin2Vola; |
| | | }, |
| | | acinVolB() { |
| | | let acdc = this.data.acdc; |
| | | let { routeNum } = this.data.pwrinf; |
| | | if (1 == routeNum) { |
| | | return acdc.acin1Volb; |
| | | } |
| | | return acdc.acin1Volb + '/' + acdc.acin2Volb; |
| | | }, |
| | | acinVolC() { |
| | | let acdc = this.data.acdc; |
| | | let { routeNum } = this.data.pwrinf; |
| | | if (1 == routeNum) { |
| | | return acdc.acin1Volc; |
| | | } |
| | | return acdc.acin1Volc + '/' + acdc.acin2Volc; |
| | | }, |
| | | acinCurrA() { |
| | | let acdc = this.data.acdc; |
| | | return acdc.acin1Curra + '/' + acdc.acin2Curra; |
| | | return acdc.acin1Curra; |
| | | }, |
| | | acinCurrB() { |
| | | let acdc = this.data.acdc; |
| | | return acdc.acin1Currb + '/' + acdc.acin2Currb; |
| | | return acdc.acin1Currb; |
| | | }, |
| | | acinCurrC() { |
| | | let acdc = this.data.acdc; |
| | | return acdc.acin1Currc + '/' + acdc.acin2Currc; |
| | | return acdc.acin1Currc; |
| | | }, |
| | | battState() { |
| | | let battInf = this.data.battInf; |
| | | return ['在线监测', '放电测试', '充电测试', '内阻测试'][battInf.battState] || '未知'; |
| | | return ['未知', '浮充', '充电', '放电', '均充', '内阻测试'][battInf.battState] || '未知'; |
| | | }, |
| | | status1() { |
| | | let { |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | const types = ['站点', '电源', '电池组', '单体电池']; |
| | | const types = ['站点', '电源', '电池组', '本年已放数']; |
| | | export default { |
| | | name: '', |
| | | props: { |
| | |
| | | color: #011f39; |
| | | font-size: 18px; |
| | | height: 2em; |
| | | width: 5.2em; |
| | | width: 6.6em; |
| | | font-weight: bold; |
| | | background: url('../images/tag.png') center center / 100% 100% no-repeat; |
| | | } |
| | |
| | | <div class="label">负载熔断:</div> |
| | | <div class="value">{{ sum.fusing }}</div> |
| | | </div> |
| | | <!-- 停电放电 --> |
| | | <div class="item cur-pointer" @click="getJcdisBatt"> |
| | | <div class="label">停电放电:</div> |
| | | <div class="value">{{ sum.jcdisNum }}</div> |
| | | </div> |
| | | <!-- 年度已核容 --> |
| | | <div class="item cur-pointer" v-if="isMain" @click="getHrYeardisBatt"> |
| | | <div class="label">年度已核容:</div> |
| | | <div class="value">{{ sum.hrdisNum }}</div> |
| | | </div> |
| | | <!-- 按钮 --> |
| | | <div class="btn-grp"> |
| | | <div class="loop-time" v-if="!isMain"> |
| | |
| | | <div class="row"> |
| | | <template v-for="(card, idx) in item.slice(0, 4)"> |
| | | <card class="item" :key="'card_' + idx" v-if="card" :title="card.title" :vol="card.stationType" |
| | | @showinfo="showInfo(card)" |
| | | :problem="!!card.pwrinf.exceptionCause" |
| | | :is-node="!!card.nodeStation"> |
| | | <info :data="card"></info> |
| | | </card> |
| | |
| | | <div class="row"> |
| | | <template v-for="(card, idx) in item.slice(4)"> |
| | | <card class="item" :key="'card1_' + idx" v-if="card" :title="card.title" :vol="card.stationType" |
| | | @showinfo="showInfo(card)" |
| | | :problem="!!card.pwrinf.exceptionCause" |
| | | :is-node="!!card.nodeStation"> |
| | | <info :data="card"></info> |
| | | </card> |
| | |
| | | <!-- <div class="btn" @click="view">查看</div> --> |
| | | </div> |
| | | <div class="res-wrap"> |
| | | <card class="item" :title="resCard.title" :vol="resCard.stationType" :is-node="!!resCard.nodeStation"> |
| | | <card class="item" :title="resCard.title" :vol="resCard.stationType" |
| | | :problem="!!resCard.pwrinf && !!resCard.pwrinf.exceptionCause" |
| | | @showinfo="showInfo(resCard)" |
| | | :is-node="!!resCard.nodeStation"> |
| | | <info :data="resCard" v-if="resCard.stationId"></info> |
| | | <div v-else class="empty">请选择要查看的机房</div> |
| | | </card> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | <!-- --> |
| | | <el-dialog :title="listTitle" width="500px" :visible.sync="listVisible" :close-on-click-modal="false" top="0" |
| | | <el-dialog :title="listTitle" width="700px" :visible.sync="listVisible" :close-on-click-modal="false" top="0" |
| | | class="dialog-center" :modal-append-to-body="false"> |
| | | <el-table height="400" :data="tableData" :show-header="false" style="width: 100%"> |
| | | <el-table-column type="index" width="50"> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-dialog> |
| | | <power-remarks :visible.sync="powerRemarksDialog" v-if="powerRemarksDialog" :num="pwrNum"></power-remarks> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import cardBox from '@/components/bigScreenPage/big_screen_card'; |
| | | import MapChart from "@/components/myCharts/MapChart.vue"; |
| | | import MapMarkList from "@/components/mapMarkList.vue"; |
| | | import PowerRemarks from "@/views/dataMager/components/powerRemarks.vue"; |
| | | |
| | | import Timeout from '@/assets/js/tools/Timeout'; |
| | | import formatSeconds from '@/assets/js/tools/formatSeconds'; |
| | | import { |
| | | searchAcdcModError, |
| | | searchFuse |
| | | searchFuse, |
| | | getJcdisBatt, |
| | | getHrYeardisBatt, |
| | | } from './js/api'; |
| | | |
| | | import createWs from "@/assets/js/websocket"; |
| | |
| | | mixins: [WSMixin], |
| | | data() { |
| | | return { |
| | | pwrNum: '', |
| | | powerRemarksDialog: false, |
| | | slideName: "slide-left", |
| | | tableData: [], |
| | | listTitle: '相关站点', |
| | |
| | | discharg: 0, |
| | | float: 0, |
| | | fault: 0, |
| | | fusing: 0 |
| | | fusing: 0, |
| | | jcdisNum: 0, |
| | | hrdisNum: 0, |
| | | }, |
| | | // 是否主视图 |
| | | isMain: true, |
| | |
| | | card, |
| | | info, |
| | | cardBox, |
| | | MapChart |
| | | MapChart, |
| | | PowerRemarks, |
| | | }, |
| | | watch: { |
| | | isMain(n) { |
| | |
| | | data, |
| | | errmap, |
| | | fusemap, |
| | | stationNum |
| | | stationNum, |
| | | hrdisNum, |
| | | jcdisNum, |
| | | } = res.data2; |
| | | this.sum.station = stationNum; |
| | | this.sum.discharg = battState.batt1; |
| | | this.sum.float = battState.batt2; |
| | | this.sum.discharg = battState.batt3; |
| | | this.sum.float = battState.batt1; |
| | | this.sum.fault = errmap.err1; |
| | | this.sum.fusing = fusemap.fuse1; |
| | | this.sum.hrdisNum = hrdisNum; |
| | | this.sum.jcdisNum = jcdisNum; |
| | | |
| | | data.forEach((v) => { |
| | | v.acdc = v.acdc || { |
| | |
| | | dcoutVol: 0, |
| | | dcoutCurr: 0, |
| | | }; |
| | | v.pwrinf = v.pwrinf || { |
| | | num: -1, |
| | | routeNum: 1, |
| | | }; |
| | | }); |
| | | |
| | | this.stationList = data; |
| | |
| | | format(data) { |
| | | let { |
| | | acdc, |
| | | sgbList |
| | | sgbList, |
| | | pwrinf, |
| | | } = data; |
| | | let battList = sgbList.map((v) => { |
| | | return { |
| | |
| | | }); |
| | | battList.splice(2); |
| | | let battAlm = battList.reduce((t, v) => t + v.battAlm * 1, 0); |
| | | let isOne = 1 == pwrinf.routeNum; |
| | | let acinA = acdc.acin1Vola + '/' + acdc.acin2Vola + ' (V)  ' + acdc.acin1Curra + ' (A)', |
| | | acinB = acdc.acin1Volb + '/' + acdc.acin2Volb + ' (V)  ' + acdc.acin1Currb + ' (A)', |
| | | acinC = acdc.acin1Volc + '/' + acdc.acin2Volc + ' (V)  ' + acdc.acin1Currc + ' (A)'; |
| | | if (isOne) { |
| | | acinA = acdc.acin1Vola + ' (V)  ' + acdc.acin1Curra + ' (A)'; |
| | | acinB = acdc.acin1Volb + ' (V)  ' + acdc.acin1Currb + ' (A)'; |
| | | acinC = acdc.acin1Volc + ' (V)  ' + acdc.acin1Currc + ' (A)'; |
| | | } |
| | | return { |
| | | ...data, |
| | | battList, |
| | | acinA: acdc.acin1Vola + '/' + acdc.acin2Vola + ' (V)  ' + acdc.acin1Curra + '/' + acdc.acin2Curra + ' (A)', |
| | | acinB: acdc.acin1Volb + '/' + acdc.acin2Volb + ' (V)  ' + acdc.acin1Currb + '/' + acdc.acin2Currb + ' (A)', |
| | | acinC: acdc.acin1Volc + '/' + acdc.acin2Volc + ' (V)  ' + acdc.acin1Currc + '/' + acdc.acin2Currc + ' (A)', |
| | | acinA, |
| | | acinB, |
| | | acinC, |
| | | dcout: acdc.dcoutVol + ' (V)  ' + acdc.dcoutCurr + ' (A)', |
| | | battAlm |
| | | } |
| | |
| | | stationName3, |
| | | stationName5, |
| | | stationType, |
| | | nodeStation |
| | | nodeStation, |
| | | pwrinf, |
| | | } = v; |
| | | v.sgbList.forEach(item => { |
| | | list.push({ |
| | | battInf: item, |
| | | acdc, |
| | | pwrinf, |
| | | devAlm, |
| | | pwrAlm, |
| | | stationId, |
| | |
| | | "&home=" + |
| | | obj.stationName3 + |
| | | "&batt=" + |
| | | (obj.battGroupId ? obj.battGroupId : obj.powerDeviceId) + |
| | | (obj.battGroupId ? obj.battGroupId : obj.powerDeviceId); |
| | | // list组件重载 |
| | | "&listReload=1"; |
| | | this.$router.push("/dataTest/movingRingSystem/" + search); |
| | | // "&listReload=1"; |
| | | let url = ''; |
| | | if (obj.isHis) { |
| | | url = '/dataTest/history' + search; |
| | | } else { |
| | | url = "/dataTest/movingRingSystem/" + search + "&listReload=1"; |
| | | } |
| | | this.$router.push(url); |
| | | this.listVisible = false; |
| | | // if (obj.powerDeviceId) { |
| | | // this.$router.push("/dataTest/movingRingSystem/ele-info/" + obj.powerDeviceId); |
| | | // } else { |
| | | // this.$router.push("/dataTest/movingRingSystem/" + search); |
| | | // } |
| | | }, |
| | | // 年度核容电池组 |
| | | getHrYeardisBatt() { |
| | | if (this.sum.hrdisNum == 0) { |
| | | this.$message.success('没有相关电池组'); |
| | | return false; |
| | | } |
| | | this.listTitle = '本年度已核容放电电池组列表'; |
| | | this.tableData = []; |
| | | let loading = this.$layer.loading(); |
| | | getHrYeardisBatt().then((res) => { |
| | | let { code, data, data2 } = res.data; |
| | | if (code && data) { |
| | | this.$layer.close(loading); |
| | | this.listVisible = true; |
| | | this.tableData = data2.map(v => { |
| | | v.isHis = true; |
| | | v.stationName = v.stationName + ' ' + v.battGroupName; |
| | | return v; |
| | | }); |
| | | } else { |
| | | this.$layer.close(loading); |
| | | this.$message.error('查询失败'); |
| | | } |
| | | }).catch((err) => { |
| | | this.$message.error('异常'); |
| | | console.log(err); |
| | | }); |
| | | }, |
| | | // 实时停电放电电池组列表 |
| | | getJcdisBatt() { |
| | | if (this.sum.jcdisNum == 0) { |
| | | this.$message.success('没有相关站点'); |
| | | return false; |
| | | } |
| | | this.listTitle = '实时停电放电站点列表'; |
| | | this.tableData = []; |
| | | let loading = this.$layer.loading(); |
| | | getJcdisBatt().then((res) => { |
| | | let { code, data, data2 } = res.data; |
| | | if (code && data) { |
| | | this.$layer.close(loading); |
| | | this.listVisible = true; |
| | | this.tableData = data2; |
| | | } else { |
| | | this.$layer.close(loading); |
| | | this.$message.error('查询失败'); |
| | | } |
| | | }).catch((err) => { |
| | | this.$message.error('异常'); |
| | | console.log(err); |
| | | }); |
| | | }, |
| | | showInfo(obj) { |
| | | this.pwrNum = obj.pwrinf.num; |
| | | this.powerRemarksDialog = true; |
| | | }, |
| | | }, |
| | | mounted() { |
| | | |
| | |
| | | align-items: center; |
| | | |
| | | &:not(:first-child) { |
| | | margin-left: 4.4em; |
| | | margin-left: 1.4em; |
| | | } |
| | | |
| | | .label { |
| | |
| | | margin-right: 8px; |
| | | } |
| | | } |
| | | |
| | | .row { |
| | | .value { |
| | | &.cur-pointer { |
| | |
| | | <total-data |
| | | class="row-item" |
| | | :type="3" |
| | | :value="base.monNum | toLarge" |
| | | :value="base.hrDisNum | toLarge" |
| | | ></total-data> |
| | | </card> |
| | | </div> |
| | |
| | | stationNum: 0, |
| | | powerNum: 0, |
| | | battGroupCount: 0, |
| | | monNum: 0, |
| | | hrDisNum: 0, |
| | | }, |
| | | batt: { |
| | | groupNum: 0, |
| | |
| | | <div class="label">负载熔断:</div> |
| | | <div class="value">{{ sum.fusing }}</div> |
| | | </div> |
| | | <!-- 停电放电 --> |
| | | <div class="item cur-pointer" @click="getJcdisBatt"> |
| | | <div class="label">停电放电:</div> |
| | | <div class="value">{{ sum.jcdisNum }}</div> |
| | | </div> |
| | | <!-- 年度已核容 --> |
| | | <div class="item cur-pointer" v-if="isMain" @click="getHrYeardisBatt"> |
| | | <div class="label">年度已核容:</div> |
| | | <div class="value">{{ sum.hrdisNum }}</div> |
| | | </div> |
| | | <!-- 按钮 --> |
| | | <div class="btn-grp"> |
| | | <div class="loop-time" v-if="!isMain"> |
| | |
| | | <div class="row"> |
| | | <template v-for="(card, idx) in item.slice(0, 4)"> |
| | | <card class="item" :key="'card_' + idx" v-if="card" :title="card.title" :vol="card.stationType" |
| | | :is-node="!!card.nodeStation"> |
| | | @showinfo="showInfo(card)" :problem="!!card.pwrinf.exceptionCause" :is-node="!!card.nodeStation"> |
| | | <info :data="card"></info> |
| | | </card> |
| | | <div class="item" :key="'carde1_' + idx" v-else></div> |
| | |
| | | <div class="row"> |
| | | <template v-for="(card, idx) in item.slice(4)"> |
| | | <card class="item" :key="'card1_' + idx" v-if="card" :title="card.title" :vol="card.stationType" |
| | | :is-node="!!card.nodeStation"> |
| | | @showinfo="showInfo(card)" :problem="!!card.pwrinf.exceptionCause" :is-node="!!card.nodeStation"> |
| | | <info :data="card"></info> |
| | | </card> |
| | | <div class="item" :key="'carde2_' + idx" v-else></div> |
| | |
| | | </div> |
| | | |
| | | </div> |
| | | <div class="col col2"> |
| | | <div v-for="(item, idx) in kvList" :key="'kv_' + idx" :class="['col', 'col' + (idx + 2)]"> |
| | | <div class="col-inner"> |
| | | <div class="label">220V站:</div> |
| | | <div class="value">{{ desc.v220 }}</div> |
| | | <div class="label">{{ item.name }}站:</div> |
| | | <div class="value">{{ item.value }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="col col3"> |
| | | <!-- <div class="col col3"> |
| | | <div class="col-inner"> |
| | | <div class="label">110kv站:</div> |
| | | <div class="value">{{ desc.v110 }}</div> |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | <div class="row"> |
| | | <div class="col col1"> |
| | |
| | | <!-- <div class="btn" @click="view">查看</div> --> |
| | | </div> |
| | | <div class="res-wrap"> |
| | | <card class="item" :title="resCard.title" :vol="resCard.stationType" :is-node="!!resCard.nodeStation"> |
| | | <card class="item" :title="resCard.title" :vol="resCard.stationType" @showinfo="showInfo(resCard)" |
| | | :problem="!!resCard.pwrinf && !!resCard.pwrinf.exceptionCause" :is-node="!!resCard.nodeStation"> |
| | | <info :data="resCard" v-if="resCard.stationId"></info> |
| | | <div v-else class="empty">请选择要查看的机房</div> |
| | | </card> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | <!-- --> |
| | | <el-dialog :title="listTitle" width="500px" :visible.sync="listVisible" :close-on-click-modal="false" top="0" |
| | | <el-dialog :title="listTitle" width="700px" :visible.sync="listVisible" :close-on-click-modal="false" top="0" |
| | | class="dialog-center" :modal-append-to-body="false"> |
| | | <el-table height="400" :data="tableData" :show-header="false" style="width: 100%"> |
| | | <el-table-column type="index" width="50"> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-dialog> |
| | | <power-remarks :visible.sync="powerRemarksDialog" v-if="powerRemarksDialog" :num="pwrNum"></power-remarks> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | import cardBox from '@/components/bigScreenPage/big_screen_card'; |
| | | import MapChart from "@/components/myCharts/MapChart.vue"; |
| | | import MapMarkList from "@/components/mapMarkList.vue"; |
| | | import PowerRemarks from "@/views/dataMager/components/powerRemarks.vue"; |
| | | |
| | | import Timeout from '@/assets/js/tools/Timeout'; |
| | | import formatSeconds from '@/assets/js/tools/formatSeconds'; |
| | |
| | | searchCheckCapDischarge, |
| | | searchCapAlarm, |
| | | searCapChange, |
| | | getJcdisBatt, |
| | | getHrYeardisBatt, |
| | | } from './js/api'; |
| | | |
| | | import createWs from "@/assets/js/websocket"; |
| | |
| | | mixins: [WSMixin], |
| | | data() { |
| | | return { |
| | | pwrNum: '', |
| | | powerRemarksDialog: false, |
| | | kvList: [], |
| | | slideName: "slide-left", |
| | | tableData: [], |
| | | listTitle: '相关站点', |
| | |
| | | discharg: 0, |
| | | float: 0, |
| | | fault: 0, |
| | | fusing: 0 |
| | | fusing: 0, |
| | | jcdisNum: 0, |
| | | hrdisNum: 0, |
| | | }, |
| | | // 是否主视图 |
| | | isMain: true, |
| | |
| | | MapChart, |
| | | card, |
| | | info, |
| | | cardBox |
| | | cardBox, |
| | | PowerRemarks, |
| | | }, |
| | | watch: { |
| | | isMain(n) { |
| | |
| | | fusemap, |
| | | stationNum, |
| | | nodeStation, |
| | | '220V': v220, |
| | | '110V': v110, |
| | | kvMap, |
| | | nomalStation, |
| | | powerOff, |
| | | checkCapDischarge, |
| | | alarmNum, |
| | | changeNum, |
| | | hrdisNum, |
| | | jcdisNum, |
| | | } = res.data2; |
| | | this.sum.station = stationNum; |
| | | this.sum.discharg = battState.batt1; |
| | | this.sum.float = battState.batt2; |
| | | this.sum.discharg = battState.batt3; |
| | | this.sum.float = battState.batt1; |
| | | this.sum.fault = errmap.err1; |
| | | this.sum.fusing = fusemap.fuse1; |
| | | this.sum.hrdisNum = hrdisNum; |
| | | this.sum.jcdisNum = jcdisNum; |
| | | |
| | | this.desc.nodeStation = nodeStation; |
| | | this.desc.v220 = v220; |
| | | this.desc.v110 = v110; |
| | | this.kvList = Object.keys(kvMap).map((v) => ({ name: v.toUpperCase(), value: kvMap[v] })).sort((a, b) => b.value - a.value).slice(0, 2); |
| | | this.desc.nomalStation = nomalStation; |
| | | this.desc.powerOff = powerOff; |
| | | this.desc.checkCapDischarge = checkCapDischarge; |
| | |
| | | isAcdcmod16Err: 0, |
| | | isLoaderFuse: 0, |
| | | }; |
| | | v.pwrinf = v.pwrinf || { |
| | | num: -1, |
| | | routeNum: 1, |
| | | }; |
| | | }); |
| | | |
| | | this.stationList = data; |
| | |
| | | format(data) { |
| | | let { |
| | | acdc, |
| | | sgbList |
| | | sgbList, |
| | | pwrinf, |
| | | } = data; |
| | | let isNode = data.nodeStation ? '节点站' : '非节点站'; |
| | | let stationTypeStr = data.stationType ? `${data.stationType}/${isNode}` : isNode; |
| | | let battList = sgbList.map((v) => { |
| | | return { |
| | | testTimeLong: formatSeconds(v.battTestTlong), |
| | | battState: ['在线监测', '放电测试', '充电测试', '内阻测试'][v.battState] || '未知', |
| | | battState: ['未知', '浮充', '充电', '放电', '均充', '内阻测试'][v.battState] || '未知', |
| | | battAlm1: v.battAlm ? '落后' : '正常', |
| | | enduranceActualTimelong: v.enduranceActualTimelong * 60 |
| | | } |
| | | }); |
| | | battList.splice(2); |
| | | let battAlm = battList.reduce((t, v) => t + v.battAlm * 1, 0); |
| | | let isOne = 1 == pwrinf.routeNum; |
| | | let acinA = acdc.acin1Vola + '/' + acdc.acin2Vola + ' (V)  ' + acdc.acin1Curra + ' (A)', |
| | | acinB = acdc.acin1Volb + '/' + acdc.acin2Volb + ' (V)  ' + acdc.acin1Currb + ' (A)', |
| | | acinC = acdc.acin1Volc + '/' + acdc.acin2Volc + ' (V)  ' + acdc.acin1Currc + ' (A)'; |
| | | if (isOne) { |
| | | acinA = acdc.acin1Vola + ' (V)  ' + acdc.acin1Curra + ' (A)'; |
| | | acinB = acdc.acin1Volb + ' (V)  ' + acdc.acin1Currb + ' (A)'; |
| | | acinC = acdc.acin1Volc + ' (V)  ' + acdc.acin1Currc + ' (A)'; |
| | | } |
| | | return { |
| | | ...data, |
| | | battList, |
| | | acinA: acdc.acin1Vola + '/' + acdc.acin2Vola + ' (V)  ' + acdc.acin1Curra + '/' + acdc.acin2Curra + ' (A)', |
| | | acinB: acdc.acin1Volb + '/' + acdc.acin2Volb + ' (V)  ' + acdc.acin1Currb + '/' + acdc.acin2Currb + ' (A)', |
| | | acinC: acdc.acin1Volc + '/' + acdc.acin2Volc + ' (V)  ' + acdc.acin1Currc + '/' + acdc.acin2Currc + ' (A)', |
| | | acinA, |
| | | acinB, |
| | | acinC, |
| | | dcout: acdc.dcoutVol + ' (V)  ' + acdc.dcoutCurr + ' (A)', |
| | | battAlm, |
| | | stationTypeStr, |
| | |
| | | stationName3, |
| | | stationName5, |
| | | stationType, |
| | | nodeStation |
| | | nodeStation, |
| | | pwrinf, |
| | | } = v; |
| | | v.sgbList.forEach(item => { |
| | | list.push({ |
| | | battInf: item, |
| | | acdc, |
| | | pwrinf, |
| | | devAlm, |
| | | pwrAlm, |
| | | stationId, |
| | |
| | | "&home=" + |
| | | obj.stationName3 + |
| | | "&batt=" + |
| | | (obj.battGroupId ? obj.battGroupId : obj.powerDeviceId) + |
| | | (obj.battGroupId ? obj.battGroupId : obj.powerDeviceId); |
| | | // list组件重载 |
| | | "&listReload=1"; |
| | | this.$router.push("/dataTest/movingRingSystem/" + search); |
| | | // "&listReload=1"; |
| | | let url = ''; |
| | | if (obj.isHis) { |
| | | url = '/dataTest/history' + search; |
| | | } else { |
| | | url = "/dataTest/movingRingSystem/" + search + "&listReload=1"; |
| | | } |
| | | this.$router.push(url); |
| | | this.listVisible = false; |
| | | // if (obj.powerDeviceId) { |
| | | // this.$router.push("/dataTest/movingRingSystem/ele-info/" + obj.powerDeviceId); |
| | | // } else { |
| | | // this.$router.push("/dataTest/movingRingSystem/" + search); |
| | | // } |
| | | }, |
| | | // 年度核容电池组 |
| | | getHrYeardisBatt() { |
| | | if (this.sum.hrdisNum == 0) { |
| | | this.$message.success('没有相关电池组'); |
| | | return false; |
| | | } |
| | | this.listTitle = '本年度已核容放电电池组列表'; |
| | | this.tableData = []; |
| | | let loading = this.$layer.loading(); |
| | | getHrYeardisBatt().then((res) => { |
| | | let { code, data, data2 } = res.data; |
| | | if (code && data) { |
| | | this.$layer.close(loading); |
| | | this.listVisible = true; |
| | | this.tableData = data2.map(v => { |
| | | v.isHis = true; |
| | | v.stationName = v.stationName + ' ' + v.battGroupName; |
| | | return v; |
| | | }); |
| | | } else { |
| | | this.$layer.close(loading); |
| | | this.$message.error('查询失败'); |
| | | } |
| | | }).catch((err) => { |
| | | this.$message.error('异常'); |
| | | console.log(err); |
| | | }); |
| | | }, |
| | | // 实时停电放电电池组列表 |
| | | getJcdisBatt() { |
| | | if (this.sum.jcdisNum == 0) { |
| | | this.$message.success('没有相关站点'); |
| | | return false; |
| | | } |
| | | this.listTitle = '实时停电放电站点列表'; |
| | | this.tableData = []; |
| | | let loading = this.$layer.loading(); |
| | | getJcdisBatt().then((res) => { |
| | | let { code, data, data2 } = res.data; |
| | | if (code && data) { |
| | | this.$layer.close(loading); |
| | | this.listVisible = true; |
| | | this.tableData = data2; |
| | | } else { |
| | | this.$layer.close(loading); |
| | | this.$message.error('查询失败'); |
| | | } |
| | | }).catch((err) => { |
| | | this.$message.error('异常'); |
| | | console.log(err); |
| | | }); |
| | | }, |
| | | showInfo(obj) { |
| | | this.pwrNum = obj.pwrinf.num; |
| | | this.powerRemarksDialog = true; |
| | | }, |
| | | }, |
| | | |
| | | mounted() { |
| | |
| | | align-items: center; |
| | | |
| | | &:not(:first-child) { |
| | | margin-left: 4.4em; |
| | | margin-left: 1.4em; |
| | | } |
| | | |
| | | .label { |
| | |
| | | url: 'StationInf/searCapChange' |
| | | }); |
| | | }; |
| | | |
| | | /** |
| | | * 获取实时停电放电电池组 |
| | | * @param data |
| | | * @returns {AxiosPromise} |
| | | */ |
| | | export const getJcdisBatt = () => { |
| | | return axios({ |
| | | method: 'GET', |
| | | url: 'Batttestdata_infAction/getJcdisBatt' |
| | | }); |
| | | }; |
| | | |
| | | /** |
| | | * 获取本年已核容放电电池组 |
| | | * @param data |
| | | * @returns {AxiosPromise} |
| | | */ |
| | | export const getHrYeardisBatt = () => { |
| | | return axios({ |
| | | method: 'GET', |
| | | url: 'Batttestdata_infAction/getHrYeardisBatt' |
| | | }); |
| | | }; |