whychdw
2021-08-31 b1464e1d1d28bf23cddbe1d5a992117bf6c28adf
均衡供电模块
5个文件已添加
3个文件已修改
1258 ■■■■ 已修改文件
src/components/ChartWrapper.vue 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/FlexBox.vue 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/title-icon.vue 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dataTest/components/balance-supply-module.vue 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dataTest/components/label-box.vue 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dataTest/components/layout-box.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dataTest/components/strip-box.vue 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dataTest/realTime.vue 848 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/ChartWrapper.vue
@@ -2,10 +2,12 @@
    <div class="chart-wrapper" :class="{'no-corner': noCorner}">
        <div class="chart-wrapper-corner top-right"></div>
        <div class="chart-wrapper-corner bottom-right"></div>
        <div class="chart-wrapper-title" v-if="title" :style="{backgroundSize:bgSize,height:titHeight}">
            <span class="title-icon">
                <span class="title-icon-content"></span>
            </span>
    <div
      class="chart-wrapper-title"
      v-if="title"
      :style="{ backgroundSize: bgSize, height: titHeight }"
    >
      <title-icon></title-icon>
            {{title}}
        </div>
        <slot></slot>
@@ -13,8 +15,12 @@
</template>
<script>
import TitleIcon from "./title-icon.vue";
export default {
    name: "ChartWrapper",
  components: {
    TitleIcon,
  },
    props: {
        title: {
            type: String,
@@ -29,7 +35,7 @@
        },
        noCorner: {
            type: Boolean,
            default: false
      default: false,
        },
    },
};
@@ -54,33 +60,6 @@
    -ms-z-index: 2;
    -o-z-index: 2;
    z-index: 2;
}
.title-icon {
    display: inline-block;
    width: 30px;
    height: 30px;
}
.title-icon:before,
.title-icon:after,
.title-icon-content {
    display: inline-block;
    content: "";
    width: 4px;
    vertical-align: middle;
}
.title-icon:before {
    height: 14px;
    background-color: #0f448d;
}
.title-icon-content {
    margin-left: 4px;
    height: 18px;
    background-color: #1e77b8;
}
.title-icon:after {
    margin-left: 4px;
    height: 22px;
    background-color: #2cabe3;
}
.chart-wrapper:before,
.chart-wrapper:after,
src/components/FlexBox.vue
@@ -1,21 +1,28 @@
<template>
    <div class="flex-box">
  <div class="flex-box" :class="sizeClass">
        <div class="flex-box-border border-top-left"></div>
        <div class="flex-box-border border-top-right"></div>
        <div class="flex-box-border border-bottom-left"></div>
        <div class="flex-box-border border-bottom-right"></div>
        <div class="flex-box-header" v-if="!noHeader" :class="{'no-header-bg':noHeaderBg}">
    <div
      class="flex-box-header"
      v-if="!noHeader"
      :class="{ 'no-header-bg': noHeaderBg }"
    >
            <flex-layout direction="row" no-bg>
                <div slot="header">
                    <i class="iconfont el-icon-fold"></i>
          <title-icon
            v-if="type == 'title'"
            :size="size"
            class="title-icon-position"
          ></title-icon>
          <i v-else class="iconfont el-icon-fold"></i>
                    <span class="header-text">{{ title }}</span>
                </div>
                <div class="flex-header-tools">
                    <slot name="tools"></slot>
                </div>
            </flex-layout>
        </div>
        <div class="flex-box-body">
            <slot></slot>
@@ -27,9 +34,17 @@
</template>
<script>
import titleIcon from "@/components/title-icon";
export default {
    name: "FlexBox",
  components: {
    titleIcon,
  },
    props: {
    type: {
      type: String,
      default: "",
    },
        title: {
            type: String,
            default: "",
@@ -40,10 +55,26 @@
        },
        noHeaderBg: {
            type: Boolean,
            default: false
      default: false,
    },
    size: {
      type: String,
      default: "",
        },
    },
  computed: {
    sizeClass() {
      let size = this.size;
      let result = "";
      switch (size) {
        case "mini":
          result = "flex-box-mini";
          break;
}
      return result;
    },
  },
};
</script>
<style scoped>
@@ -59,33 +90,37 @@
    display: inline-block;
    z-index: 9;
}
.flex-box.flex-box-mini > .flex-box-border {
  width: 8px;
  height: 8px;
}
.flex-box-border.border-top-left {
    top: 0;
    left: 0;
    border-top: 2px solid #00FEFF;
    border-left: 2px solid #00FEFF;
  border-top: 2px solid #00feff;
  border-left: 2px solid #00feff;
}
.flex-box-border.border-top-right {
    top: 0;
    right: 0;
    border-top: 2px solid #00FEFF;
    border-right: 2px solid #00FEFF;
  border-top: 2px solid #00feff;
  border-right: 2px solid #00feff;
}
.flex-box-border.border-bottom-left {
    bottom: 0;
    left: 0;
    border-bottom: 2px solid #00FEFF;
    border-left: 2px solid #00FEFF;
  border-bottom: 2px solid #00feff;
  border-left: 2px solid #00feff;
}
.flex-box-border.border-bottom-right {
    bottom: 0;
    right: 0;
    border-bottom: 2px solid #00FEFF;
    border-right: 2px solid #00FEFF;
  border-bottom: 2px solid #00feff;
  border-right: 2px solid #00feff;
}
.flex-box-header {
@@ -125,4 +160,7 @@
    overflow: hidden;
    box-sizing: border-box;
}
.title-icon-position {
  margin-left: 16px;
}
</style>
src/components/title-icon.vue
New file
@@ -0,0 +1,77 @@
<template>
  <span class="title-icon" :class="sizeClass">
    <span class="title-icon-content"></span>
  </span>
</template>
<script>
export default {
  props: {
    size: {
      type: String,
      default: "",
    },
  },
  data() {
    return {};
  },
  computed: {
    sizeClass() {
      let size = this.size;
      let result = "";
      switch (size) {
        case "mini":
          result = "title-icon-mini";
          break;
      }
      return result;
    },
  },
};
</script>
<style scoped>
.title-icon {
  display: inline-block;
  width: 30px;
  height: 30px;
}
.title-icon:before,
.title-icon:after,
.title-icon-content {
  display: inline-block;
  content: "";
  width: 4px;
  vertical-align: middle;
}
.title-icon:before {
  height: 14px;
  background-color: #0f448d;
}
.title-icon-content {
  margin-left: 4px;
  height: 18px;
  background-color: #1e77b8;
}
.title-icon:after {
  margin-left: 4px;
  height: 22px;
  background-color: #2cabe3;
}
.title-icon.title-icon-mini {
  width: 25px;
  height: 20px;
}
.title-icon.title-icon-mini::before {
  height: 8px;
}
.title-icon.title-icon-mini > .title-icon-content {
  margin-left: 2px;
  height: 12px;
}
.title-icon.title-icon-mini::after {
  margin-left: 2px;
  height: 16px;
}
</style>
src/pages/dataTest/components/balance-supply-module.vue
New file
@@ -0,0 +1,113 @@
<template>
  <div class="module-wrapper">
    <el-row :gutter="layout.gutter" class="full-height">
      <el-col :span="layout.left" class="full-height">
        <layout-box>
          <div class="layout-content">
            <flex-layout no-bg>
              <div class="layout-content-top" slot="header">
                <flex-box no-header size="mini">
                  <strip-box
                    class="strip-box-position"
                    title="版本号"
                  ></strip-box>
                </flex-box>
              </div>
              <flex-box type="title" title="输出电压" size="mini"></flex-box>
            </flex-layout>
          </div>
        </layout-box>
      </el-col>
      <el-col :span="layout.right" class="full-height">
        <layout-box>
          <div class="layout-content">
            <flex-layout no-bg>
              <div class="layout-content-top" slot="header">
                <flex-box no-header size="mini">
                  <strip-box
                    class="strip-box-position"
                    title="温度(℃)"
                    unit="℃"
                  ></strip-box>
                </flex-box>
              </div>
              <flex-box
                type="title"
                title="总电流(A)"
                size="mini"
                class="split-moudle split-module-top"
              >
              </flex-box>
              <flex-box
                type="title"
                title="总电压(V)"
                size="mini"
                class="split-moudle split-module-bottom"
              >
              </flex-box>
            </flex-layout>
          </div>
        </layout-box>
      </el-col>
    </el-row>
  </div>
</template>
<script>
import layoutBox from "./layout-box.vue";
import FlexBox from "@/components/FlexBox";
import StripBox from "./strip-box.vue";
export default {
  components: {
    layoutBox,
    FlexBox,
    StripBox,
  },
  props: {
    devId: {
      // 设备id
      type: [String, Number],
      default: 0,
    },
  },
  data() {
    return {
      layout: {
        gutter: 16,
        left: 14,
        right: 10,
      },
    };
  },
  methods: {},
  computed: {},
  mounted: {},
  destroyed: {},
};
</script>
<style scoped>
.module-wrapper {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.layout-content {
  box-sizing: border-box;
  padding: 12px 16px 16px 16px;
  height: 100%;
}
.layout-content-top {
  height: 80px;
  margin-bottom: 16px;
}
.split-moudle {
  height: calc(50% - 8px);
}
.split-module-top {
  margin-bottom: 16px;
}
.strip-box-position {
  margin-top: 20px;
}
</style>
src/pages/dataTest/components/label-box.vue
New file
@@ -0,0 +1,33 @@
<template>
  <div class="label-box">{{ value }} {{ unit }}</div>
</template>
<script>
export default {
  props: {
    value: {
      type: [String, Number],
      default: 0,
    },
    unit: {
      type: String,
      default: "",
    },
  },
  data() {
    return {};
  },
};
</script>
<style scoped>
.label-box {
  display: inline-block;
  border: 1px solid #00feff;
  padding: 2px 12px;
  font-size: 14px;
  color: #f7bd45;
  border-radius: 4px;
  text-align: center;
}
</style>
src/pages/dataTest/components/layout-box.vue
New file
@@ -0,0 +1,22 @@
<template>
  <div class="layout-box">
    <slot></slot>
  </div>
</template>
<script>
export default {
  data() {
    return {};
  },
};
</script>
<style scoped>
.layout-box {
  border: 1px solid #00feff;
  background: #02165b80;
  box-sizing: border-box;
  height: 100%;
}
</style>
src/pages/dataTest/components/strip-box.vue
New file
@@ -0,0 +1,56 @@
<template>
  <div class="strip-box">
    <div class="strip-box-title">
      <title-icon size="mini"></title-icon>
      <span>{{ title }}</span>
    </div>
    <div class="strip-box-value">
      <label-box :value="value" :unit="unit"></label-box>
    </div>
  </div>
</template>
<script>
import TitleIcon from "@/components/title-icon.vue";
import labelBox from "./label-box.vue";
export default {
  components: {
    labelBox,
    TitleIcon,
  },
  props: {
    title: {
      type: String,
      default: "名称",
    },
    value: {
      type: [String, Number],
      default: 0,
    },
    unit: {
      type: String,
      default: "",
    },
  },
  data() {
    return {};
  },
};
</script>
<style scoped>
.strip-box {
  display: flex;
  background-color: #4ba1fa20;
  box-sizing: border-box;
  padding: 8px 32px 8px 16px;
}
.strip-box-title {
  flex: 1;
  text-align: left;
}
.strip-box-title > span {
  font-size: 14px;
  color: #01ffff;
}
</style>
src/pages/dataTest/realTime.vue
@@ -1,20 +1,54 @@
<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">
    <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 slot="box-tools" class="box-tools">
                <el-tooltip class="item" effect="dark" content="历史数据" placement="bottom">
        <el-tooltip
          class="item"
          effect="dark"
          content="历史数据"
          placement="bottom"
        >
                    <i class="iconfont el-icon-jinru" @click="syncPage"></i>
                </el-tooltip>
            </div>
            <div slot="box-tools" class="box-tools" style="right: 40px;">
                <el-tooltip class="item" effect="dark" content="历史实时数据" placement="bottom">
                    <i class="el-iconfont el-icon-s-marketing" @click="historyRealTimeDataDialog.show=true"></i>
        <el-tooltip
          class="item"
          effect="dark"
          content="历史实时数据"
          placement="bottom"
        >
          <i
            class="el-iconfont el-icon-s-marketing"
            @click="historyRealTimeDataDialog.show = true"
          ></i>
                </el-tooltip>
            </div>
            <div slot="box-tools" class="box-tools" style="right: 72px;" v-if="esVideoSn">
                <el-tooltip class="item" effect="dark" content="视频监控" placement="bottom">
                    <i class="el-iconfont el-icon-video-camera-solid" @click="esVideoDialog=true"></i>
      <div
        slot="box-tools"
        class="box-tools"
        style="right: 72px;"
        v-if="esVideoSn"
      >
        <el-tooltip
          class="item"
          effect="dark"
          content="视频监控"
          placement="bottom"
        >
          <i
            class="el-iconfont el-icon-video-camera-solid"
            @click="esVideoDialog = true"
          ></i>
                </el-tooltip>
            </div>
            <!--            <div slot="box-tools" class="box-tools" style="right: 72px;">-->
@@ -28,37 +62,69 @@
                        <div class="table-row">
                            <div class="table-cell text-right w80">电池状态:</div>
                            <div class="table-cell">
                                <el-input :value="backInputs.batt_state" size="small" :disabled="true"></el-input>
                <el-input
                  :value="backInputs.batt_state"
                  size="small"
                  :disabled="true"
                ></el-input>
                            </div>
                            <div class="table-cell text-right w80">端电压:</div>
                            <div class="table-cell">
                                <el-input :value="backInputs.group_online_vol" size="small" :disabled="true"></el-input>
                <el-input
                  :value="backInputs.group_online_vol"
                  size="small"
                  :disabled="true"
                ></el-input>
                            </div>
                            <div class="table-cell text-right w80">电池电流:</div>
                            <div class="table-cell">
                                <el-input :value="backInputs.group_curr" size="small" :disabled="true"></el-input>
                <el-input
                  :value="backInputs.group_curr"
                  size="small"
                  :disabled="true"
                ></el-input>
                            </div>
                            <div class="table-cell text-right w80">更新日期:</div>
                            <div class="table-cell">
                                <el-input :value="backInputs.rec_datetime" size="small" :disabled="true"></el-input>
                <el-input
                  :value="backInputs.rec_datetime"
                  size="small"
                  :disabled="true"
                ></el-input>
                            </div>
                        </div>
                        <div class="table-row">
                            <div class="table-cell text-right w80">测试时长:</div>
                            <div class="table-cell">
                                <el-input :value="backInputs.batt_test_tlong" size="small" :disabled="true"></el-input>
                <el-input
                  :value="backInputs.batt_test_tlong"
                  size="small"
                  :disabled="true"
                ></el-input>
                            </div>
                            <div class="table-cell text-right w80">测试容量:</div>
                            <div class="table-cell">
                                <el-input :value="backInputs.batt_test_cap" size="small" :disabled="true"></el-input>
                <el-input
                  :value="backInputs.batt_test_cap"
                  size="small"
                  :disabled="true"
                ></el-input>
                            </div>
                            <div class="table-cell text-right w80">剩余容量:</div>
                            <div class="table-cell">
                                <el-input :value="backInputs.batt_syrl_cap" size="small" :disabled="true"></el-input>
                <el-input
                  :value="backInputs.batt_syrl_cap"
                  size="small"
                  :disabled="true"
                ></el-input>
                            </div>
                            <div class="table-cell text-right w80">续航时长:</div>
                            <div class="table-cell">
                                <el-input :value="backInputs.sysc" size="small" :disabled="true"></el-input>
                <el-input
                  :value="backInputs.sysc"
                  size="small"
                  :disabled="true"
                ></el-input>
                            </div>
                        </div>
                    </div>
@@ -69,35 +135,74 @@
                            <div class="hdw-menu-list">
                                <ul>
                                    <li class="hdw-menu-item" v-if="control.data.startTest.show">
                                        <a @click="dischargeDialog.show = true" href="javascript:void(0);">启动测试</a>
                    <a
                      @click="dischargeDialog.show = true"
                      href="javascript:void(0);"
                      >启动测试</a
                    >
                                    </li>
                                    <li class="hdw-menu-item" v-if="control.data.stopTest.show">
                                        <a @click="stopTest" href="javascript:void(0);">停止测试</a>
                                    </li>
                                    <li class="hdw-menu-item" v-if="control.data.setSystemParams.show">
                                        <a @click="systemDialog.show = true" href="javascript:void(0);">系统参数设置</a>
                  <li
                    class="hdw-menu-item"
                    v-if="control.data.setSystemParams.show"
                  >
                    <a
                      @click="systemDialog.show = true"
                      href="javascript:void(0);"
                      >系统参数设置</a
                    >
                                    </li>
                                    <li class="hdw-menu-item" v-if="control.data.clearWarn.show">
                                        <a @click="clearWarn" href="javascript:void(0);">清除告警</a>
                    <a @click="clearWarn" href="javascript:void(0);"
                      >清除告警</a
                    >
                                    </li>
                                    <li class="hdw-menu-item" v-if="control.data.startYH.show">
                                        <a @click="curingDialog.show = true" href="javascript:void(0);">启动养护/除硫</a>
                    <a
                      @click="curingDialog.show = true"
                      href="javascript:void(0);"
                      >启动养护/除硫</a
                    >
                                    </li>
                                    <li class="hdw-menu-item" v-if="control.data.stopYH.show">
                                        <a @click="stopCuringDialog.show = true" href="javascript:void(0);">停止养护/除硫</a>
                    <a
                      @click="stopCuringDialog.show = true"
                      href="javascript:void(0);"
                      >停止养护/除硫</a
                    >
                                    </li>
                                    <li class="hdw-menu-item" v-if="control.data.startOutlineYH.show">
                                        <a @click="outlineCuringDialog.show = true"
                                            href="javascript:void(0);">启动离线养护</a>
                  <li
                    class="hdw-menu-item"
                    v-if="control.data.startOutlineYH.show"
                  >
                    <a
                      @click="outlineCuringDialog.show = true"
                      href="javascript:void(0);"
                      >启动离线养护</a
                    >
                                    </li>
                                    <li class="hdw-menu-item" v-if="control.data.stopOutlineYH.show">
                  <li
                    class="hdw-menu-item"
                    v-if="control.data.stopOutlineYH.show"
                  >
                                        <a href="javascript:void(0);">停止离线养护</a>
                                    </li>
                                    <li class="hdw-menu-item" v-if="control.data.circleRestart.show">
                                        <a @click="restartPlanDialog.show = true" href="javascript:void(0);">定期重启设备</a>
                  <li
                    class="hdw-menu-item"
                    v-if="control.data.circleRestart.show"
                  >
                    <a
                      @click="restartPlanDialog.show = true"
                      href="javascript:void(0);"
                      >定期重启设备</a
                    >
                                    </li>
                                    <li class="hdw-menu-item" v-if="control.data.restart.show">
                                        <a href="javascript:void(0);" @click="restartSystem">重启设备</a>
                    <a href="javascript:void(0);" @click="restartSystem"
                      >重启设备</a
                    >
                                    </li>
                                </ul>
                            </div>
@@ -107,17 +212,34 @@
                            </button>
                        </el-popover>
                    </div>
                    <el-tabs v-model="acTabs" type="border-card" class="flex-layout noborder" @tab-click="tabClick">
          <el-tabs
            v-model="acTabs"
            type="border-card"
            class="flex-layout noborder"
            @tab-click="tabClick"
          >
                        <el-tab-pane label="电路拓扑图" name="eleLine">
                            <div style="position: absolute;top: 8px; left: 8px">
                                <science-box style="position: relative" no-header v-show="stateListState">
                <science-box
                  style="position: relative"
                  no-header
                  v-show="stateListState"
                >
                                    <div class="hdw-state-list table-layout">
                                        <div v-for="state in showStateList" :key="state.text" class="table-row"
                                             :class="state.type" v-show="!state.notShow">
                    <div
                      v-for="state in showStateList"
                      :key="state.text"
                      class="table-row"
                      :class="state.type"
                      v-show="!state.notShow"
                    >
                                            <div class="table-cell text-right">
                                                <i v-if="state.icon" class="iconfont" :class="state.icon"></i>{{
                                                    state.text
                                                }}
                        <i
                          v-if="state.icon"
                          class="iconfont"
                          :class="state.icon"
                        ></i
                        >{{ state.text }}
                                            </div>
                                            <div class="table-cell">
                                                {{ state.value }}{{ state.unit }}
@@ -127,24 +249,40 @@
                                    <table class="table-info-list" v-if="fodShow">
                                        <thead>
                                        <tr>
                                            <td v-for="item in fodHeaders" :key="item.prop">{{ item.label }}</td>
                        <td v-for="item in fodHeaders" :key="item.prop">
                          {{ item.label }}
                        </td>
                                        </tr>
                                        </thead>
                                        <tbody>
                                        <tr v-for="(fod, key) in fodData" :key="key">
                                            <td v-for="(item, index) in fod" :key="index">{{ fod[index] }}</td>
                        <td v-for="(item, index) in fod" :key="index">
                          {{ fod[index] }}
                        </td>
                                        </tr>
                                        </tbody>
                                    </table>
                                </science-box>
                                <science-box style="position: relative; margin-top: 8px" no-header v-show="stateListState">
                <science-box
                  style="position: relative; margin-top: 8px"
                  no-header
                  v-show="stateListState"
                >
                                    <div class="hdw-state-list table-layout">
                                        <div v-for="state in showHistoryStateList" :key="state.text" class="table-row"
                                             :class="state.type" v-show="!state.notShow">
                    <div
                      v-for="state in showHistoryStateList"
                      :key="state.text"
                      class="table-row"
                      :class="state.type"
                      v-show="!state.notShow"
                    >
                                            <div class="table-cell text-right">
                                                <i v-if="state.icon" class="iconfont" :class="state.icon"></i>{{
                                                    state.text
                                                }}
                        <i
                          v-if="state.icon"
                          class="iconfont"
                          :class="state.icon"
                        ></i
                        >{{ state.text }}
                                            </div>
                                            <div class="table-cell">
                                                {{ state.value }}{{ state.unit }}
@@ -154,172 +292,393 @@
                                </science-box>
                            </div>
                            <circuit-diagram :batt="batt" :online-vol="inputs.online_vol" :group-vol="inputs.group_vol"
                                :batt-curr="inputs.group_curr" :dev-temp="diagram.temp" :type="diagram.type"
                                :update="diagram.update" :version="dev_version" :contact-res="diagram.contactRes"
                                :drop-vol="diagram.dropVol" :dev-type="diagram.devType"></circuit-diagram>
              <circuit-diagram
                :batt="batt"
                :online-vol="inputs.online_vol"
                :group-vol="inputs.group_vol"
                :batt-curr="inputs.group_curr"
                :dev-temp="diagram.temp"
                :type="diagram.type"
                :update="diagram.update"
                :version="dev_version"
                :contact-res="diagram.contactRes"
                :drop-vol="diagram.dropVol"
                :dev-type="diagram.devType"
              ></circuit-diagram>
                        </el-tab-pane>
                        <el-tab-pane label="电压" name="vol">
                            <bar-chart ref="vol" id="vol" unit="V" :show-tools="true" @right-click="chartRightCLick">
                            </bar-chart>
              <bar-chart
                ref="vol"
                id="vol"
                unit="V"
                :show-tools="true"
                @right-click="chartRightCLick"
              ></bar-chart>
                        </el-tab-pane>
                        <el-tab-pane label="内阻" name="res">
                            <bar-chart ref="res" id="res" unit="mΩ" :show-tools="true" max-color="red" min-color="green"
                                @right-click="chartRightCLick"></bar-chart>
              <bar-chart
                ref="res"
                id="res"
                unit="mΩ"
                :show-tools="true"
                max-color="red"
                min-color="green"
                @right-click="chartRightCLick"
              ></bar-chart>
                        </el-tab-pane>
                        <el-tab-pane label="温度" name="temp">
                            <bar-chart ref="temp" id="temp" unit="℃" :show-tools="true" max-color="red"
                                min-color="green" @right-click="chartRightCLick"></bar-chart>
              <bar-chart
                ref="temp"
                id="temp"
                unit="℃"
                :show-tools="true"
                max-color="red"
                min-color="green"
                @right-click="chartRightCLick"
              ></bar-chart>
                        </el-tab-pane>
                        <el-tab-pane label="电导" name="conduct">
                            <bar-chart ref="conduct" id="conduct" :show-tools="true" @right-click="chartRightCLick">
                            </bar-chart>
              <bar-chart
                ref="conduct"
                id="conduct"
                :show-tools="true"
                @right-click="chartRightCLick"
              ></bar-chart>
                        </el-tab-pane>
                        <el-tab-pane label="均衡电流" name="curr">
                            <bar-chart ref="curr" id="curr" unit="A" :show-tools="true" @right-click="chartRightCLick">
              <bar-chart
                ref="curr"
                id="curr"
                unit="A"
                :show-tools="true"
                @right-click="chartRightCLick"
              >
                            </bar-chart>
                        </el-tab-pane>
                        <el-tab-pane label="漏液电压" name="leakVol">
                            <bar-chart ref="leakVol" id="leakVol" unit="V" :show-tools="true"
                                @right-click="chartRightCLick"></bar-chart>
              <bar-chart
                ref="leakVol"
                id="leakVol"
                unit="V"
                :show-tools="true"
                @right-click="chartRightCLick"
              ></bar-chart>
                        </el-tab-pane>
                        <el-tab-pane label="数据表格" name="tblData" class="el-table-wrapper">
            <el-tab-pane
              label="数据表格"
              name="tblData"
              class="el-table-wrapper"
            >
                            <el-table stripe size="small" :data="table.datas" height="100%">
                                <el-table-column v-for="header in table.headers" :key="header.prop" :prop="header.prop"
                                    :label="header.label" :width="header.width" align="center"></el-table-column>
                <el-table-column
                  v-for="header in table.headers"
                  :key="header.prop"
                  :prop="header.prop"
                  :label="header.label"
                  :width="header.width"
                  align="center"
                ></el-table-column>
                            </el-table>
                        </el-tab-pane>
                        <el-tab-pane label="电池告警" name="dianchigaojing" class="el-table-wrapper">
            <el-tab-pane
              label="电池告警"
              name="dianchigaojing"
              class="el-table-wrapper"
            >
                            <div class="dianchigaojing">
                                <div class="borderBox box1">
                                    <el-table stripe size="small" :data="table1.datas" height="100%">
                                        <el-table-column prop="battGroupId" align="center" label="电池组ID">
                  <el-table
                    stripe
                    size="small"
                    :data="table1.datas"
                    height="100%"
                  >
                    <el-table-column
                      prop="battGroupId"
                      align="center"
                      label="电池组ID"
                    >
                                        </el-table-column>
                                        <el-table-column prop="recordTime" align="center" label="记录时间">
                    <el-table-column
                      prop="recordTime"
                      align="center"
                      label="记录时间"
                    >
                                        </el-table-column>
                                        <el-table-column prop="groupVolAlarm" align="center" label="组电压告警">
                    <el-table-column
                      prop="groupVolAlarm"
                      align="center"
                      label="组电压告警"
                    >
                                            <template slot-scope="scope">
                                                <!-- <img :src="eleOffImg" class="lampImg" v-if="scope.row.groupVolAlarm==0">
                                                <img :src="eleOffImg" class="lampImg" v-else> -->
                                                <hdw-light :type="scope.row.groupVolAlarm"></hdw-light>
                                            </template>
                                        </el-table-column>
                                        <el-table-column prop="testEndVol" align="center" label="测试终止电压">
                    <el-table-column
                      prop="testEndVol"
                      align="center"
                      label="测试终止电压"
                    >
                                        </el-table-column>
                                        <el-table-column prop="testEndCap" align="center" label="测试终止剩余容量">
                    <el-table-column
                      prop="testEndCap"
                      align="center"
                      label="测试终止剩余容量"
                    >
                                        </el-table-column>
                                        <el-table-column prop="testTimeLong" align="center" label="测试终止时间(秒)">
                    <el-table-column
                      prop="testTimeLong"
                      align="center"
                      label="测试终止时间(秒)"
                    >
                                        </el-table-column>
                                    </el-table>
                                </div>
                                <div class="borderBox box2">
                                    <el-table stripe size="small" :data="table2.datas" height="100%">
                                        <el-table-column prop="battGroupId" align="center" label="电池组ID">
                  <el-table
                    stripe
                    size="small"
                    :data="table2.datas"
                    height="100%"
                  >
                    <el-table-column
                      prop="battGroupId"
                      align="center"
                      label="电池组ID"
                    >
                                        </el-table-column>
                                        <el-table-column prop="recordTime" align="center" label="记录时间">
                    <el-table-column
                      prop="recordTime"
                      align="center"
                      label="记录时间"
                    >
                                        </el-table-column>
                                        <el-table-column prop="monNum" align="center" label="单体编号">
                    <el-table-column
                      prop="monNum"
                      align="center"
                      label="单体编号"
                    >
                                        </el-table-column>
                                        <el-table-column prop="monVolAlarm" align="center" label="单体电压告警">
                    <el-table-column
                      prop="monVolAlarm"
                      align="center"
                      label="单体电压告警"
                    >
                                            <template slot-scope="scope">
                                                <hdw-light :type="scope.row.monVolAlarm"></hdw-light>
                                                <!-- <img :src="eleOffImg" class="lampImg" v-if="scope.row.monVolAlarm==0">
                                                <img :src="eleOffImg" class="lampImg" v-else> -->
                                            </template>
                                        </el-table-column>
                                        <el-table-column prop="monTempAlarm" align="center" label="单体温度告警">
                    <el-table-column
                      prop="monTempAlarm"
                      align="center"
                      label="单体温度告警"
                    >
                                            <template slot-scope="scope">
                                                <!-- <img :src="eleOffImg" class="lampImg" v-if="scope.row.monTempAlarm==0">
                                                <img :src="eleOffImg" class="lampImg" v-else> -->
                                                <hdw-light :type="scope.row.monTempAlarm"></hdw-light>
                                            </template>
                                        </el-table-column>
                                        <el-table-column prop="monResAlarm" align="center" label="单体内阻告警">
                    <el-table-column
                      prop="monResAlarm"
                      align="center"
                      label="单体内阻告警"
                    >
                                            <template slot-scope="scope">
                                                <!-- <img :src="eleOffImg" class="lampImg" v-if="scope.row.monResAlarm==0">
                                                <img :src="eleOffImg" class="lampImg" v-else> -->
                                                <hdw-light :type="scope.row.monResAlarm"></hdw-light>
                                            </template>
                                        </el-table-column>
                                        <el-table-column prop="monRestCapAlarm" align="center" label="单体剩余容量告警">
                    <el-table-column
                      prop="monRestCapAlarm"
                      align="center"
                      label="单体剩余容量告警"
                    >
                                            <template slot-scope="scope">
                                                <!-- <img :src="eleOffImg" class="lampImg"
                                                    v-if="scope.row.monRestCapAlarm==0">
                                                <img :src="eleOffImg" class="lampImg" v-else> -->
                                                <hdw-light :type="scope.row.monRestCapAlarm"></hdw-light>
                        <hdw-light
                          :type="scope.row.monRestCapAlarm"
                        ></hdw-light>
                                            </template>
                                        </el-table-column>
                                    </el-table>
                                </div>
                            </div>
                        </el-tab-pane>
                        <el-tab-pane label="逆变信息" name="niBianInfoTab" v-if="isNiBian">
                            <ni-bian-info-tab ref="niBianInfoTab" :name="acTabs" :devId="batt.FBSDeviceId" :mask-show="maskShow">
              <ni-bian-info-tab
                ref="niBianInfoTab"
                :name="acTabs"
                :devId="batt.FBSDeviceId"
                :mask-show="maskShow"
              >
                            </ni-bian-info-tab>
                        </el-tab-pane>
                        <el-tab-pane label="均衡供电" name="jggdInfoTab" v-if="isJhgd">
                            <jggd-info-tab :devId="batt.FBSDeviceId"></jggd-info-tab>
              <!-- <jggd-info-tab :devId="batt.FBSDeviceId"></jggd-info-tab> -->
              <balance-supply-module
                :devId="batt.FBSDeviceId"
              ></balance-supply-module>
                        </el-tab-pane>
                    </el-tabs>
                </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" @close="closeDisChargeDialog">
    <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"
        @close="closeDisChargeDialog"
      >
            </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">
    <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>
        <!-- 除硫养护参数设置 -->
        <el-dialog title="除硫养护参数设置" width="700px" :visible.sync="curingDialog.show" :close-on-click-modal="false"
            top="0" class="dialog-center" :modal-append-to-body="false">
    <el-dialog
      title="除硫养护参数设置"
      width="700px"
      :visible.sync="curingDialog.show"
      :close-on-click-modal="false"
      top="0"
      class="dialog-center"
      :modal-append-to-body="false"
    >
            <curing-params v-if="curingDialog.show" :batt="batt"></curing-params>
        </el-dialog>
        <!-- 离线养护参数设置 -->
        <el-dialog title="离线养护参数设置" width="700px" :visible.sync="outlineCuringDialog.show" :close-on-click-modal="false"
            top="0" class="dialog-center" :modal-append-to-body="false">
            <outline-curing-params v-if="outlineCuringDialog.show" :batt="batt"></outline-curing-params>
    <el-dialog
      title="离线养护参数设置"
      width="700px"
      :visible.sync="outlineCuringDialog.show"
      :close-on-click-modal="false"
      top="0"
      class="dialog-center"
      :modal-append-to-body="false"
    >
      <outline-curing-params
        v-if="outlineCuringDialog.show"
        :batt="batt"
      ></outline-curing-params>
        </el-dialog>
        <!-- 定期重启参数设置 -->
        <el-dialog title="定期重启参数设置" width="700px" :visible.sync="restartPlanDialog.show" :close-on-click-modal="false"
            top="0" class="dialog-center" :modal-append-to-body="false">
            <restart-plan-params v-if="restartPlanDialog.show" :batt="batt"></restart-plan-params>
    <el-dialog
      title="定期重启参数设置"
      width="700px"
      :visible.sync="restartPlanDialog.show"
      :close-on-click-modal="false"
      top="0"
      class="dialog-center"
      :modal-append-to-body="false"
    >
      <restart-plan-params
        v-if="restartPlanDialog.show"
        :batt="batt"
      ></restart-plan-params>
        </el-dialog>
        <!-- 实时历史数据 -->
        <el-dialog :title="histroyDataTitle" width="1200px" :visible.sync="historyRealTimeDataDialog.show"
            :close-on-click-modal="false" top="0" class="dialog-center no-bg" :modal-append-to-body="false">
            <history-realtime-data :batt="batt" v-if="historyRealTimeDataDialog.show"></history-realtime-data>
    <el-dialog
      :title="histroyDataTitle"
      width="1200px"
      :visible.sync="historyRealTimeDataDialog.show"
      :close-on-click-modal="false"
      top="0"
      class="dialog-center no-bg"
      :modal-append-to-body="false"
    >
      <history-realtime-data
        :batt="batt"
        v-if="historyRealTimeDataDialog.show"
      ></history-realtime-data>
        </el-dialog>
        <!-- 逆变信息 -->
        <el-dialog title="逆变信息" width="600px" :visible.sync="nibian.show" :close-on-click-modal="false" top="0"
            class="dialog-center" :modal-append-to-body="false">
    <el-dialog
      title="逆变信息"
      width="600px"
      :visible.sync="nibian.show"
      :close-on-click-modal="false"
      top="0"
      class="dialog-center"
      :modal-append-to-body="false"
    >
            <ni-bian v-if="nibian.show" :batt="batt"></ni-bian>
        </el-dialog>
        <!-- 停止养护除硫 -->
        <el-dialog title="停止养护除硫" width="600px" :visible.sync="stopCuringDialog.show" :close-on-click-modal="false"
            top="0" class="dialog-center" :modal-append-to-body="false">
    <el-dialog
      title="停止养护除硫"
      width="600px"
      :visible.sync="stopCuringDialog.show"
      :close-on-click-modal="false"
      top="0"
      class="dialog-center"
      :modal-append-to-body="false"
    >
            <stop-curing v-if="stopCuringDialog.show" :batt="batt"></stop-curing>
        </el-dialog>
        <el-dialog title="视频监控" width="600px" :visible.sync="esVideoDialog" :close-on-click-modal="false"
                   top="0" class="dialog-center" :modal-append-to-body="false">
    <el-dialog
      title="视频监控"
      width="600px"
      :visible.sync="esVideoDialog"
      :close-on-click-modal="false"
      top="0"
      class="dialog-center"
      :modal-append-to-body="false"
    >
            <ez-video v-if="esVideoDialog" :sn="esVideoSn"></ez-video>
        </el-dialog>
        <el-dialog title="历史内阻数据" width="1200px" :visible.sync="hisResDialog" :close-on-click-modal="false"
                   top="0" class="dialog-center" :modal-append-to-body="false">
    <el-dialog
      title="历史内阻数据"
      width="1200px"
      :visible.sync="hisResDialog"
      :close-on-click-modal="false"
      top="0"
      class="dialog-center"
      :modal-append-to-body="false"
    >
            <history-res v-if="hisResDialog" :batt="batt"></history-res>
        </el-dialog>
        <right-menu :visible.sync="rightMenu.show" :x="rightMenu.x" :y="rightMenu.y">
    <right-menu
      :visible.sync="rightMenu.show"
      :x="rightMenu.x"
      :y="rightMenu.y"
    >
            <div class="right-menu-list">
                <ul>
                    <li><a href="javascript:;" @click="payAttentionMon">添加关注单体</a></li>
                    <li><a href="javascript:;" @click="hisResDialog=true">导出历史内阻数据</a></li>
          <li>
            <a href="javascript:;" @click="payAttentionMon">添加关注单体</a>
          </li>
          <li>
            <a href="javascript:;" @click="hisResDialog = true"
              >导出历史内阻数据</a
            >
          </li>
                </ul>
            </div>
        </right-menu>
@@ -342,11 +701,12 @@
    import NiBian from "@/pages/dataTest/dialogs/NiBian";
    import StopCuring from "@/pages/dataTest/dialogs/StopCuring";
    import NiBianInfoTab from "@/pages/dataTest/components/NiBianInfoTab";
import balanceSupplyModule from "@/pages/dataTest/components/balance-supply-module";
    import {
        realTimeNot,
        realTimeAdd,
        BattRtAlarmActionGetInfo,
        BattRsAlarmActionGetInfo
  BattRsAlarmActionGetInfo,
    } from "../../assets/js/realTime";
    import {
        realTimeSearch,
@@ -366,17 +726,15 @@
        getConduct,
    } from "../../assets/js/tools";
    import {
        const_61850,
        const_9100
    } from "../../assets/js/const";
import { const_61850, const_9100 } from "../../assets/js/const";
    import getMarkLineData from "@/components/chart/js/getMarkLineData";
    import BarChartThreeD from "@/components/chart/BarChartThreeD";
    import JggdInfoTab from './components/jggdInfoTab.vue';
    import HdwLight from '../dataMager/components/HdwLight.vue';
import JggdInfoTab from "./components/jggdInfoTab.vue";
import HdwLight from "../dataMager/components/HdwLight.vue";
    import EzVideo from "@/components/ezVideo";
    import getDevType from "@/assets/js/tools/getDevType";
    import historyRes from '@/pages/dataTest/components/historyRes'
import historyRes from "@/pages/dataTest/components/historyRes";
import BalanceSupplyModule from "./components/balance-supply-module.vue";
    /* import moment from "moment"; */
    let vol, resChart, temp, conduct, currChart, leakVol;
    let tblData = [];
@@ -403,6 +761,8 @@
            HdwLight,
            historyRes,
            // NiBianInfo,
    balanceSupplyModule,
    BalanceSupplyModule,
        },
        watch: {
            "$route.params.BattGroupId"(BattGroupId) {
@@ -431,8 +791,8 @@
                esVideoDialog: false,
                esVideoSn: "",
                maskShow: false,
                eleOffImg: require('../../assets/images/eleOff.png'),
                eleOnImg: require('../../assets/images/eleOn.png'),
      eleOffImg: require("../../assets/images/eleOff.png"),
      eleOnImg: require("../../assets/images/eleOn.png"),
                isCanTest: isCanTest,
                homeListShow: true,
                dev_version: "",
@@ -456,7 +816,8 @@
                },
                acTabs: "eleLine",
                table: {
                    headers: [{
        headers: [
          {
                            prop: "num1",
                            label: "单体编号",
                            width: "",
@@ -492,7 +853,8 @@
                            width: "",
                        },
                    ],
                    datas: [{
        datas: [
          {
                        num1: 0,
                        vol1: 0,
                        res1: 0,
@@ -500,20 +862,24 @@
                        conduct1: 0,
                        curr1: 0,
                        leakVol1: 0,
                    }, ],
          },
        ],
                },
                table1: {
                    datas: [{
        datas: [
          {
                        battGroupId: 0,
                        recordTime: 0,
                        groupVolAlarm: 0,
                        testEndVol: 0,
                        testEndCap: 0,
                        testTimeLong: 0,
                    }],
          },
        ],
                },
                table2: {
                    datas: [{
        datas: [
          {
                        battGroupId: 0,
                        recordTime: 0,
                        monNum: 0,
@@ -521,7 +887,8 @@
                        monTempAlarm: 0,
                        monResAlarm: 0,
                        monRestCapAlarm: 0,
                    }],
          },
        ],
                },
                batt: {},
                stateListShow: true,
@@ -622,7 +989,8 @@
                    },
                },
                powerChart: {
                    ACVol: [{
        ACVol: [
          {
                            id: "ACVolA",
                            name: "三项交流电压",
                            number: "A",
@@ -662,7 +1030,8 @@
                            ],
                        },
                    ],
                    ACCurr: [{
        ACCurr: [
          {
                            id: "ACCurrA",
                            name: "三项交流电流",
                            number: "A",
@@ -702,7 +1071,8 @@
                            ],
                        },
                    ],
                    ACPower: [{
        ACPower: [
          {
                            id: "ACPowerA",
                            name: "三项交流频率",
                            number: "A",
@@ -742,7 +1112,8 @@
                            ],
                        },
                    ],
                    Cos: [{
        Cos: [
          {
                            id: "CosA",
                            name: "三项功率因数",
                            number: "A",
@@ -782,7 +1153,8 @@
                            ],
                        },
                    ],
                    apparentPower: [{
        apparentPower: [
          {
                            id: "apparentPowerA",
                            name: "三项视在功率",
                            number: "A",
@@ -822,7 +1194,8 @@
                            ],
                        },
                    ],
                    direct: [{
        direct: [
          {
                            id: "directVol",
                            name: "输出直流电压",
                            number: "电压",
@@ -898,23 +1271,27 @@
            },
            loadDevAla() {
                let postData = {
                    battGroupId: this.batt.BattGroupId
                }
                BattRtAlarmActionGetInfo(postData).then((res) => {
        battGroupId: this.batt.BattGroupId,
      };
      BattRtAlarmActionGetInfo(postData)
        .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    if (rs.code == 1) {
                        this.table2.datas = rs.data
            this.table2.datas = rs.data;
                    }
                }).catch((err) => {
                    console.log(err)
        })
        .catch((err) => {
          console.log(err);
                });
                BattRsAlarmActionGetInfo(postData).then((res) => {
      BattRsAlarmActionGetInfo(postData)
        .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    if (rs.code == 1) {
                        this.table1.datas = rs.data
            this.table1.datas = rs.data;
                    }
                }).catch((err) => {
                    console.log(err)
        })
        .catch((err) => {
          console.log(err);
                });
            },
            toggleChange() {
@@ -971,14 +1348,16 @@
                            fontSize: "14",
                        },
                    },
                    series: [{
        series: [
          {
                        name: "电压",
                        type: "bar",
                        data: [],
                        markLine: {
                            data: getMarkLineData(),
                        },
                    }, ],
          },
        ],
                };
                // 漏液电压
                leakVol = {
@@ -990,11 +1369,13 @@
                            fontSize: "14",
                        },
                    },
                    series: [{
        series: [
          {
                        name: "漏液电压",
                        type: "bar",
                        data: [],
                    }, ],
          },
        ],
                };
                // 内阻
@@ -1007,14 +1388,16 @@
                            fontSize: "14",
                        },
                    },
                    series: [{
        series: [
          {
                        name: "内阻",
                        type: "bar",
                        data: [],
                        markLine: {
                            data: getMarkLineData(),
                        },
                    }, ],
          },
        ],
                };
                // 温度
@@ -1027,14 +1410,16 @@
                            fontSize: "14",
                        },
                    },
                    series: [{
        series: [
          {
                        name: "温度",
                        type: "bar",
                        data: [],
                        markLine: {
                            data: getMarkLineData(),
                        },
                    }, ],
          },
        ],
                };
                // 电导
@@ -1047,14 +1432,16 @@
                            fontSize: "14",
                        },
                    },
                    series: [{
        series: [
          {
                        name: "电导",
                        type: "bar",
                        data: [],
                        markLine: {
                            data: getMarkLineData(),
                        },
                    }, ],
          },
        ],
                };
                // 均衡电流
                currChart = {
@@ -1066,11 +1453,13 @@
                            fontSize: "14",
                        },
                    },
                    series: [{
        series: [
          {
                        name: "均衡电流",
                        type: "bar",
                        data: [],
                    }, ],
          },
        ],
                };
                // 设置配置项
                this.setChart();
@@ -1303,17 +1692,22 @@
                let groupIndex = this.batt.GroupIndexInFBSDevice;
                // 设备的温度
                this.diagram.temp = data.dev_temp;
                let contactRes = (groupIndex != 0 ? data.dev_conresist1 : data.dev_conresist).toHold(2);
                let dropVol = (groupIndex != 0 ? data.dev_condvoldp1 : data.dev_condvoldp).toHold(2);
                let alarms = data.dev_61850alarms.split(',');
      let contactRes = (groupIndex != 0
        ? data.dev_conresist1
        : data.dev_conresist
      ).toHold(2);
      let dropVol = (groupIndex != 0
        ? data.dev_condvoldp1
        : data.dev_condvoldp
      ).toHold(2);
      let alarms = data.dev_61850alarms.split(",");
                if(alarms.length) {
                    this.diagram.contactRes = alarms[0]=='true'?'k1异常':contactRes;
                    this.diagram.dropVol = alarms[3]=='true'?'D1异常': dropVol;
        this.diagram.contactRes = alarms[0] == "true" ? "k1异常" : contactRes;
        this.diagram.dropVol = alarms[3] == "true" ? "D1异常" : dropVol;
                }else {
                    this.diagram.contactRes = contactRes;
                    this.diagram.dropVol = dropVol;
                }
            },
            // BTS设备信息
            setEquipBTS(data) {
@@ -1589,8 +1983,9 @@
                                vol1: item.mon_vol,
                                res1: item.mon_res,
                                temp1: item.mon_tmp,
                                conduct1: item.mon_res ?
                                    ((1 / item.mon_res) * 1000).toFixed(0) : 0,
              conduct1: item.mon_res
                ? ((1 / item.mon_res) * 1000).toFixed(0)
                : 0,
                                curr1: item.mon_JH_curr,
                                leakVol1: item.mon_LY_vol,
                            };
@@ -1661,10 +2056,7 @@
                    let conductTemp = [];
                    if (rs.code == 1) {
                        conductTemp = rs.data.map((item) => {
                            return [
                                "#" + item.mon_num,
                                getConduct(item.mon_res, item.mon_vol),
                            ];
            return ["#" + item.mon_num, getConduct(item.mon_res, item.mon_vol)];
                        });
                    }
                    let conductBarNum = getBarNum(conductTemp);
@@ -1728,7 +2120,8 @@
                    batt.StationName3 +
                    "&batt=" +
                    batt.BattGroupId;
                window.parent.postMessage({
      window.parent.postMessage(
        {
                        cmd: "syncPage",
                        params: {
                            pageInfo: {
@@ -1745,7 +2138,8 @@
            // 停止测试
            stopTest() {
                this.$layer.confirm(
                    "停止测试", {
        "停止测试",
        {
                        icon: 3,
                    },
                    (index) => {
@@ -1836,9 +2230,12 @@
            stopCuring() {
                let batt = this.batt;
                let groupNum = batt.GroupIndexInFBSDevice + 1;
                this.$layer.confirm("确定停止养护/除硫", {
                    icon: 3
                }, (index) => {
      this.$layer.confirm(
        "确定停止养护/除硫",
        {
          icon: 3,
        },
        (index) => {
                    // 关闭确认框
                    this.$layer.close(index);
                    let loading = this.$layer.loading(1);
@@ -1854,7 +2251,8 @@
                            // 关闭等待框
                            this.$layer.close(loading);
                        });
                });
        }
      );
            },
            // 查询拓扑图状态的显示
            searchStatus() {
@@ -1957,7 +2355,8 @@
            clearWarn() {
                // 清除告警
                this.$layer.confirm(
                    "清除设备告警", {
        "清除设备告警",
        {
                        icon: 3,
                        title: "系统提示",
                    },
@@ -2039,9 +2438,9 @@
            monitorPage() {
                // 获取缓存的session
                let name = sessionStorage.getItem("acTabs");
                let pageName = this.homeListShow ?
                    "realTime" :
                    "movingRingSysteRrealTime";
      let pageName = this.homeListShow
        ? "realTime"
        : "movingRingSysteRrealTime";
                if (name === pageName && this.acTabs === "eleLine") {
                    this.diagram.update = true;
                } else {
@@ -2066,33 +2465,37 @@
            payAttentionMon() {
                let searchParams = {
                    BattGroupId: this.batt.BattGroupId,
                    MonNum: this.rightMenu.xIndex + 1
        MonNum: this.rightMenu.xIndex + 1,
                };
                // 查询
                realTimeNot(searchParams).then(res => {
      realTimeNot(searchParams)
        .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    if (rs.code == 1) {
                        this.$layer.msg('单体#' + (searchParams.MonNum) + "已被关注");
            this.$layer.msg("单体#" + searchParams.MonNum + "已被关注");
                    } else {
                        this.addAttentionMon(searchParams);
                    }
                }).catch(error => {
                    console.log(error);
                })
        .catch((error) => {
          console.log(error);
        });
            },
            addAttentionMon(params) {
                let loading = this.$layer.loading(1);
                // 请求后台添加
                realTimeAdd(params).then(res => {
      realTimeAdd(params)
        .then((res) => {
                    let rs = JSON.parse(res.data.result);
                    if (rs.code == 1) {
                        this.$layer.msg("成功关注单体#" + (params.MonNum));
            this.$layer.msg("成功关注单体#" + params.MonNum);
                    } else {
                        this.$layer.msg("添加失败");
                    }
                    this.$layer.close(loading);
                }).catch(error => {
        })
        .catch((error) => {
                    this.$layer.close(loading);
                    console.log(error);
                });
@@ -2103,45 +2506,44 @@
            restartSystem() {
                let self = this;
                let batt = this.batt;
                let resetPwd = 'restart123456';
                this.$prompt('请输入重启密码', '提示', {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    inputType: 'password',
                }).then(({
                    value
                }) => {
      let resetPwd = "restart123456";
      this.$prompt("请输入重启密码", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        inputType: "password",
      })
        .then(({ value }) => {
                    if (value == resetPwd) {
                        let loading = this.$layer.loading();
                        this.$apis.outline.restart(batt.FBSDeviceId).then(res => {
            this.$apis.outline
              .restart(batt.FBSDeviceId)
              .then((res) => {
                            let rs = JSON.parse(res.data.result);
                            if (rs.code == 1) {
                                this.$alert('发送重启命令成功', '系统提示');
                  this.$alert("发送重启命令成功", "系统提示");
                            } else {
                                this.$alert('发送重启命令失败!', '系统提示');
                  this.$alert("发送重启命令失败!", "系统提示");
                            }
                            this.$layer.close(loading);
                        }).catch(error => {
                        });
              })
              .catch((error) => {});
                    } else {
                        this.$layer.msg("密码不正确");
                    }
                }).catch(() => {
                });
        })
        .catch(() => {});
            },
            changeSkin() {
                this.$nextTick(() => {
                    if (this.skinActive == 'science-black') {
                        this.eleOffImg = require('../../assets/images/eleOff-black.png');
                        this.eleOnImg = require('../../assets/images/eleOn-black.png');
                    } else if (this.skinActive == 'science-blue') {
                        this.eleOffImg = require('../../assets/images/eleOff.png');
                        this.eleOnImg = require('../../assets/images/eleOn.png');
        if (this.skinActive == "science-black") {
          this.eleOffImg = require("../../assets/images/eleOff-black.png");
          this.eleOnImg = require("../../assets/images/eleOn-black.png");
        } else if (this.skinActive == "science-blue") {
          this.eleOffImg = require("../../assets/images/eleOff.png");
          this.eleOnImg = require("../../assets/images/eleOn.png");
                    }
                })
            }
      });
    },
        },
        computed: {
            battFullName() {
@@ -2173,9 +2575,9 @@
                if (this.diagram.type == -1) {
                    return list;
                }
                let batt_state_text = this.diagram.powerCut ?
                    "停电放电" :
                    obj[this.inputs.batt_state];
      let batt_state_text = this.diagram.powerCut
        ? "停电放电"
        : obj[this.inputs.batt_state];
                list.batt_state = batt_state_text + this.diagram.desc;
                if (regEquipType(batt.FBSDeviceId, "BTS9605")) {
                    list.group_online_vol = `组端:${this.inputs.group_vol.toFixed(2)}V`;
@@ -2223,7 +2625,9 @@
                let batt = this.batt;
                if (regEquipType(batt.FBSDeviceId, "equip61850")) {
                    return "放电参数设置";
                } else if (regEquipType(batt.FBSDeviceId, ["BTS", "BTS9110", "BTS9120", "BTS9605"])) {
      } else if (
        regEquipType(batt.FBSDeviceId, ["BTS", "BTS9110", "BTS9120", "BTS9605"])
      ) {
                    return "BTS设备放电参数设置";
                } else if (regEquipType(batt.FBSDeviceId, ["BTS9611", "BTS9605"])) {
                    return "内阻测试";
@@ -2241,22 +2645,22 @@
                return this.batt.StationName + "-历史实时数据";
            },
            fodShow() {
                return this.fodHeaders.length === 1 || this.fodData.length === 0 ?
                    false :
                    true;
      return this.fodHeaders.length === 1 || this.fodData.length === 0
        ? false
        : true;
            },
            isNiBian() {
                let batt = this.batt;
                return regEquipType(batt.FBSDeviceId, 'BTS9120');
      return regEquipType(batt.FBSDeviceId, "BTS9120");
            },
            isJhgd() {
                let batt = this.batt;
                return regEquipType(batt.FBSDeviceId, ['BTS9110', 'equip61850']);
            }
      return regEquipType(batt.FBSDeviceId, ["BTS9110", "equip61850"]);
    },
        },
        created() {
            this.skinActive = localStorage.getItem('activeSkin');
            window.parent.addEventListener('activeSkin', (e) => {
    this.skinActive = localStorage.getItem("activeSkin");
    window.parent.addEventListener("activeSkin", (e) => {
                this.skinActive = e.newValue;
                this.changeSkin();
            });
@@ -2292,7 +2696,7 @@
            // });
        },
        destroyed() {
            window.removeEventListener('resize', this.resize);
    window.removeEventListener("resize", this.resize);
            this.timer.stop();
        },
    };