he wei
2023-04-10 aaa8ffcb83ce577612d1c88a295db0e12f87a83c
U 首页修改
8个文件已修改
397 ■■■■ 已修改文件
src/views/home/components/card.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/components/info-admin.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/components/info.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/components/total-data.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/home-admin.vue 143 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/home-conductor.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/home-ops.vue 155 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/js/api.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/components/card.vue
@@ -11,6 +11,7 @@
            <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>
@@ -36,10 +37,19 @@
    isNode: {
      type: Boolean,
      default: true
    },
    problem: {
      type: Boolean,
      default: false
    }
  },
  components: {
    marquee,
  },
  methods: {
    clickHandler() {
      this.$emit('showinfo')
    }
  }
}
</script>
@@ -74,7 +84,21 @@
  .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;
src/views/home/components/info-admin.vue
@@ -121,27 +121,39 @@
  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;
@@ -154,7 +166,7 @@
    }
  },
  mounted() {
    console.log(this.data);
    // console.log(this.data);
  }
}
</script>
@@ -238,6 +250,7 @@
    display: flex;
  }
}
.cur-point {
  user-select: none;
  cursor: pointer;
src/views/home/components/info.vue
@@ -98,31 +98,43 @@
  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 {
src/views/home/components/total-data.vue
@@ -10,7 +10,7 @@
</template>
<script>
const types = ['站点', '电源', '电池组', '单体电池'];
const types = ['站点', '电源', '电池组', '本年已放数'];
export default {
  name: '',
  props: {
@@ -98,7 +98,7 @@
  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;
}
src/views/home/home-admin.vue
@@ -27,6 +27,16 @@
        <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">
@@ -54,6 +64,8 @@
                  <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>
@@ -63,6 +75,8 @@
                  <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>
@@ -164,7 +178,10 @@
          <!-- <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>
@@ -175,7 +192,7 @@
      </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">
@@ -188,6 +205,7 @@
        </el-table-column>
      </el-table>
    </el-dialog>
    <power-remarks :visible.sync="powerRemarksDialog" v-if="powerRemarksDialog" :num="pwrNum"></power-remarks>
  </div>
</template>
@@ -197,12 +215,15 @@
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";
@@ -212,6 +233,8 @@
  mixins: [WSMixin],
  data() {
    return {
      pwrNum: '',
      powerRemarksDialog: false,
      slideName: "slide-left",
      tableData: [],
      listTitle: '相关站点',
@@ -232,7 +255,9 @@
        discharg: 0,
        float: 0,
        fault: 0,
        fusing: 0
        fusing: 0,
        jcdisNum: 0,
        hrdisNum: 0,
      },
      // 是否主视图
      isMain: true,
@@ -271,7 +296,8 @@
    card,
    info,
    cardBox,
    MapChart
    MapChart,
    PowerRemarks,
  },
  watch: {
    isMain(n) {
@@ -321,13 +347,17 @@
        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 || {
@@ -346,6 +376,10 @@
          dcoutVol: 0,
          dcoutCurr: 0,
        };
        v.pwrinf = v.pwrinf || {
          num: -1,
          routeNum: 1,
        };
      });
      this.stationList = data;
@@ -360,7 +394,8 @@
    format(data) {
      let {
        acdc,
        sgbList
        sgbList,
        pwrinf,
      } = data;
      let battList = sgbList.map((v) => {
        return {
@@ -375,12 +410,21 @@
      });
      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 + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Curra + '&nbsp;(A)',
        acinB = acdc.acin1Volb + '/' + acdc.acin2Volb + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currb + '&nbsp;(A)',
        acinC = acdc.acin1Volc + '/' + acdc.acin2Volc + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currc + '&nbsp;(A)';
      if (isOne) {
        acinA = acdc.acin1Vola + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Curra + '&nbsp;(A)';
        acinB = acdc.acin1Volb + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currb + '&nbsp;(A)';
        acinC = acdc.acin1Volc + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currc + '&nbsp;(A)';
      }
      return {
        ...data,
        battList,
        acinA: acdc.acin1Vola + '/' + acdc.acin2Vola + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Curra + '/' + acdc.acin2Curra + '&nbsp;(A)',
        acinB: acdc.acin1Volb + '/' + acdc.acin2Volb + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currb + '/' + acdc.acin2Currb + '&nbsp;(A)',
        acinC: acdc.acin1Volc + '/' + acdc.acin2Volc + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currc + '/' + acdc.acin2Currc + '&nbsp;(A)',
        acinA,
        acinB,
        acinC,
        dcout: acdc.dcoutVol + '&nbsp;(V)&emsp;&emsp;' + acdc.dcoutCurr + '&nbsp;(A)',
        battAlm
      }
@@ -398,12 +442,14 @@
          stationName3,
          stationName5,
          stationType,
          nodeStation
          nodeStation,
          pwrinf,
        } = v;
        v.sgbList.forEach(item => {
          list.push({
            battInf: item,
            acdc,
            pwrinf,
            devAlm,
            pwrAlm,
            stationId,
@@ -586,17 +632,79 @@
        "&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() {
@@ -627,7 +735,7 @@
      align-items: center;
      &:not(:first-child) {
        margin-left: 4.4em;
        margin-left: 1.4em;
      }
      .label {
@@ -930,6 +1038,7 @@
    margin-right: 8px;
  }
}
.row {
  .value {
    &.cur-pointer {
src/views/home/home-conductor.vue
@@ -23,7 +23,7 @@
          <total-data
            class="row-item"
            :type="3"
            :value="base.monNum | toLarge"
            :value="base.hrDisNum | toLarge"
          ></total-data>
        </card>
      </div>
@@ -304,7 +304,7 @@
        stationNum: 0,
        powerNum: 0,
        battGroupCount: 0,
        monNum: 0,
        hrDisNum: 0,
      },
      batt: {
        groupNum: 0,
src/views/home/home-ops.vue
@@ -27,6 +27,16 @@
        <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">
@@ -54,7 +64,7 @@
                  <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>
@@ -63,7 +73,7 @@
                  <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>
@@ -86,18 +96,18 @@
                    </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">
@@ -233,7 +243,8 @@
          <!-- <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>
@@ -244,7 +255,7 @@
      </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">
@@ -257,6 +268,7 @@
        </el-table-column>
      </el-table>
    </el-dialog>
    <power-remarks :visible.sync="powerRemarksDialog" v-if="powerRemarksDialog" :num="pwrNum"></power-remarks>
  </div>
</template>
@@ -266,6 +278,7 @@
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';
@@ -276,6 +289,8 @@
  searchCheckCapDischarge,
  searchCapAlarm,
  searCapChange,
  getJcdisBatt,
  getHrYeardisBatt,
} from './js/api';
import createWs from "@/assets/js/websocket";
@@ -286,6 +301,9 @@
  mixins: [WSMixin],
  data() {
    return {
      pwrNum: '',
      powerRemarksDialog: false,
      kvList: [],
      slideName: "slide-left",
      tableData: [],
      listTitle: '相关站点',
@@ -316,7 +334,9 @@
        discharg: 0,
        float: 0,
        fault: 0,
        fusing: 0
        fusing: 0,
        jcdisNum: 0,
        hrdisNum: 0,
      },
      // 是否主视图
      isMain: true,
@@ -355,7 +375,8 @@
    MapChart,
    card,
    info,
    cardBox
    cardBox,
    PowerRemarks,
  },
  watch: {
    isMain(n) {
@@ -408,23 +429,25 @@
        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;
@@ -465,6 +488,10 @@
          isAcdcmod16Err: 0,
          isLoaderFuse: 0,
        };
        v.pwrinf = v.pwrinf || {
          num: -1,
          routeNum: 1,
        };
      });
      this.stationList = data;
@@ -479,26 +506,36 @@
    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 + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Curra + '&nbsp;(A)',
        acinB = acdc.acin1Volb + '/' + acdc.acin2Volb + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currb + '&nbsp;(A)',
        acinC = acdc.acin1Volc + '/' + acdc.acin2Volc + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currc + '&nbsp;(A)';
      if (isOne) {
        acinA = acdc.acin1Vola + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Curra + '&nbsp;(A)';
        acinB = acdc.acin1Volb + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currb + '&nbsp;(A)';
        acinC = acdc.acin1Volc + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currc + '&nbsp;(A)';
      }
      return {
        ...data,
        battList,
        acinA: acdc.acin1Vola + '/' + acdc.acin2Vola + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Curra + '/' + acdc.acin2Curra + '&nbsp;(A)',
        acinB: acdc.acin1Volb + '/' + acdc.acin2Volb + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currb + '/' + acdc.acin2Currb + '&nbsp;(A)',
        acinC: acdc.acin1Volc + '/' + acdc.acin2Volc + '&nbsp;(V)&emsp;&emsp;' + acdc.acin1Currc + '/' + acdc.acin2Currc + '&nbsp;(A)',
        acinA,
        acinB,
        acinC,
        dcout: acdc.dcoutVol + '&nbsp;(V)&emsp;&emsp;' + acdc.dcoutCurr + '&nbsp;(A)',
        battAlm,
        stationTypeStr,
@@ -517,12 +554,14 @@
          stationName3,
          stationName5,
          stationType,
          nodeStation
          nodeStation,
          pwrinf,
        } = v;
        v.sgbList.forEach(item => {
          list.push({
            battInf: item,
            acdc,
            pwrinf,
            devAlm,
            pwrAlm,
            stationId,
@@ -763,17 +802,79 @@
        "&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() {
@@ -805,7 +906,7 @@
      align-items: center;
      &:not(:first-child) {
        margin-left: 4.4em;
        margin-left: 1.4em;
      }
      .label {
src/views/home/js/api.js
@@ -198,3 +198,27 @@
    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'
  });
};