he wei
2024-01-16 41dd841150ee3d6898edca710529de652e992be5
U 核容 单体剩余容量 均衡电流
3个文件已修改
112 ■■■■■ 已修改文件
src/views/hrControl/index.vue 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hrControl/js/const_props.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/realTime/index.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hrControl/index.vue
@@ -50,17 +50,19 @@
              <el-radio-button :label="0">电压</el-radio-button>
              <el-radio-button :label="1">内阻</el-radio-button>
              <el-radio-button :label="2">温度</el-radio-button>
              <el-radio-button :label="3">剩余容量</el-radio-button>
              <el-radio-button :label="4">均衡电流</el-radio-button>
            </el-radio-group>
          </div>
          <div class="content flex-c">
            <div class="banner" v-show="0 == battInfoType">
            <div class="banner" v-for="(item, idx) in 5" :key="'banner_' + idx" v-show="idx == battInfoType">
              <div class="btn-grp">
                <gradient-btn size="xs" @click="selectAll('checkListMon', 0)"
                <gradient-btn size="xs" @click="selectAll('checkListMon', idx)"
                  >全选</gradient-btn
                >
                <gradient-btn
                  size="xs"
                  @click="cancelSelectAll('checkListMon', 0)"
                  @click="cancelSelectAll('checkListMon', idx)"
                  >取消全选</gradient-btn
                >
              </div>
@@ -68,22 +70,22 @@
                <gradient-btn
                  size="xs"
                  :disabled="
                    !checkListMon[0].some((v) => v == true) || !hasPermission
                    !checkListMon[idx].some((v) => v == true) || !hasPermission
                  "
                  @click="batchMonSet(0, 1)"
                  @click="batchMonSet(idx, 1)"
                  >批量给定</gradient-btn
                >
                <gradient-btn
                  size="xs"
                  :disabled="
                    !checkListMon[0].some((v) => v == true) || !hasPermission
                    !checkListMon[idx].some((v) => v == true) || !hasPermission
                  "
                  @click="batchMonSet(0, 0)"
                  @click="batchMonSet(idx, 0)"
                  >批量取消</gradient-btn
                >
              </div>
            </div>
            <div class="banner" v-show="1 == battInfoType">
            <!-- <div class="banner" v-show="1 == battInfoType">
              <div class="btn-grp">
                <gradient-btn size="xs" @click="selectAll('checkListMon', 1)"
                  >全选</gradient-btn
@@ -142,20 +144,20 @@
                  >批量取消</gradient-btn
                >
              </div>
            </div>
            <div class="grid1 scroller" v-show="0 == battInfoType">
              <yc-grid :count="monCount" :config="monProps[0]">
            </div> -->
            <div class="grid1 scroller" v-for="(item, idx) in 5" :key="'grid_'+idx" v-show="idx == battInfoType">
              <yc-grid :count="monCount" :config="monProps[idx]">
                <template v-slot="{ data, index }">
                  <card-batt
                    :ref="'mon_type0_' + index"
                    :ref="'mon_type'+idx+'_' + index"
                    :option="data[index]"
                    :checked.sync="checkListMon[0][index]"
                    :checked.sync="checkListMon[idx][index]"
                    :datas="monData"
                  ></card-batt>
                </template>
              </yc-grid>
            </div>
            <div class="grid1 scroller" v-show="1 == battInfoType">
            <!-- <div class="grid1 scroller" v-show="1 == battInfoType">
              <yc-grid :count="monCount" :config="monProps[1]">
                <template v-slot="{ data, index }">
                  <card-batt
@@ -178,23 +180,23 @@
                  ></card-batt>
                </template>
              </yc-grid>
            </div>
            </div> -->
          </div>
        </panel>
      </div>
      <panel class="panel right" title="遥控量模拟">
      <panel class="panel right" title="遥控量设置">
        <div class="content">
          <el-row class="el_row" :gutter="20">
            <el-col class="el_col" :span="12">
              <div class="card3">
                <div class="card-title">核容装置放电模拟</div>
                <div class="card-title">核容装置放电</div>
                <div class="card-content">
                  <div class="item-row">
                    <div class="label">核容装置状态:</div>
                    <div class="value">{{ hrState }}</div>
                  </div>
                  <div class="item-row">
                    <div class="label">放电测试模拟:</div>
                    <div class="label">放电测试:</div>
                    <div class="btn-grp">
                      <gradient-btn
                        size="sm"
@@ -216,14 +218,14 @@
            </el-col>
            <el-col class="el_col" :span="12">
              <div class="card3">
                <div class="card-title">核容装置内阻模拟</div>
                <div class="card-title">核容装置内阻</div>
                <div class="card-content">
                  <div class="item-row">
                    <div class="label">核容装置状态:</div>
                    <div class="value">{{ hrState }}</div>
                  </div>
                  <div class="item-row">
                    <div class="label">内阻测试模拟:</div>
                    <div class="label">内阻测试:</div>
                    <div class="btn-grp">
                      <gradient-btn
                        size="sm"
@@ -245,14 +247,14 @@
            </el-col>
            <el-col class="el_col" :span="12">
              <div class="card3">
                <div class="card-title">核容装置充电模拟</div>
                <div class="card-title">核容装置充电</div>
                <div class="card-content">
                  <div class="item-row">
                    <div class="label">核容装置状态:</div>
                    <div class="value">{{ hrState }}</div>
                  </div>
                  <div class="item-row">
                    <div class="label">充电测试模拟:</div>
                    <div class="label">充电测试:</div>
                    <div class="btn-grp">
                      <gradient-btn
                        size="sm"
@@ -274,14 +276,14 @@
            </el-col>
            <el-col class="el_col" :span="12">
              <div class="card3">
                <div class="card-title">核容装置重启模拟</div>
                <div class="card-title">核容装置重启</div>
                <div class="card-content">
                  <div class="item-row">
                    <div class="label">核容装置状态:</div>
                    <div class="value">{{ hrState }}</div>
                  </div>
                  <div class="item-row">
                    <div class="label">装置重启模拟:</div>
                    <div class="label">装置重启:</div>
                    <div class="btn-grp">
                      <gradient-btn
                        size="sm"
@@ -296,7 +298,7 @@
            </el-col>
            <el-col class="el_col" :span="12">
              <div class="card3">
                <div class="card-title">上一次核容停止原因</div>
                <div class="card-title">核容停止原因模拟(正在开发中)</div>
                <div class="card-content">
                  <div class="item-row">
                    <div class="label">停止原因:</div>
@@ -418,7 +420,7 @@
      },
      props1,
      props2,
      checkListMon: [[], [], []],
      checkListMon: [[], [], [], [], []],
      // checkList1_acdc: param_acdc.map(() => false),
      checkList1: props1.map(() => false),
      // checkList2_acdc: [],
@@ -486,7 +488,7 @@
          for (let i = 0, j = n; i < j; i++) {
            arr.push(false);
          }
          return [[...arr], [...arr], [...arr]];
          return [[...arr], [...arr], [...arr], [...arr], [...arr]];
        })();
      }
    },
@@ -700,7 +702,8 @@
  // flex: 1;
  &.right {
    margin-left: 10px;
    flex: 1.24;
    // flex: 1.24;
    flex: 1.1;
    .content {
      height: 100%;
      padding: 10px 30px;
@@ -725,6 +728,9 @@
.btn-grp {
  padding: 10px;
  display: flex;
  :deep(.el-radio-button__inner) {
    padding: 7px 4px;
  }
}
.p-content {
  height: 100%;
src/views/hrControl/js/const_props.js
@@ -57,6 +57,18 @@
    key1: "monTmpFake",
    flag: "monTmpSt",
  },
  {
    label: "单体N剩余容量",
    key0: "monRestCapReal",
    key1: "monRestCapFake",
    flag: "monRestCapSt",
  },
  {
    label: "单体N均衡电流",
    key0: "monJhCurrReal",
    key1: "monJhCurrFake",
    flag: "monJhCurrSt",
  },
];
const getPropList = (count) => {
src/views/realTime/index.vue
@@ -205,8 +205,8 @@
                        <el-radio-button :label="0">电压</el-radio-button>
                        <el-radio-button :label="1">内阻</el-radio-button>
                        <el-radio-button :label="2">温度</el-radio-button>
                        <!-- <el-radio-button :label="3">剩余容量</el-radio-button>
                        <el-radio-button :label="4">均衡电流</el-radio-button> -->
                        <el-radio-button :label="3">剩余容量</el-radio-button>
                        <el-radio-button :label="4">均衡电流</el-radio-button>
                      </el-radio-group>
                    </div>
                    <div class="batt-contain">
@@ -299,7 +299,7 @@
  </div>
</template>
  <script>
<script>
import { mapState } from "vuex";
import Panel from "@/components/panel.vue";
import ListCard from "@/components/listCard.vue";
@@ -419,7 +419,7 @@
      if (!this.isWSOpen1) {
        return false;
      }
      this.SOCKET1.send('');
      this.SOCKET1.send("");
    },
    onWSMessage1(res) {
      let { data, data2, data3, data4 } = JSON.parse(res.data);
@@ -462,10 +462,10 @@
          name = "acIn2Vol";
          break;
        case 3:
          name = 'ac1InVol';
          name = "ac1InVol";
          break;
        case 4:
          name = 'ac2InVol';
          name = "ac2InVol";
      }
      return ["A", "B", "C"].map((v) => {
        return data[name + v + "St"]
@@ -484,10 +484,10 @@
          name = "acIn2Curr";
          break;
        case 3:
          name = 'acOutVol';
          name = "acOutVol";
          break;
        case 4:
          name = 'acOutCurr';
          name = "acOutCurr";
          break;
      }
      return ["A", "B", "C"].map((v) => {
@@ -545,20 +545,20 @@
          monTmpReal,
          monTmpFake,
          monTmpSt,
          // monRestCapReal,
          // monRestCapFake,
          // monRestCapSt,
          // monJhCurrReal,
          // monJhCurrFake,
          // monJhCurrSt,
          monRestCapReal,
          monRestCapFake,
          monRestCapSt,
          monJhCurrReal,
          monJhCurrFake,
          monJhCurrSt,
        } = v;
        let vol = monVolSt ? monVolFake : monVolReal;
        let res = monResSt ? monResFake : monResReal;
        let tmp = monTmpSt ? monTmpFake : monTmpReal;
        // let cap = monRestCapSt ? monRestCapFake : monRestCapReal;
        // let curr = monJhCurrSt ? monJhCurrFake : monJhCurrReal;
        // return [vol + "V", res + "Ω", tmp + "℃", cap + "AH", curr + "A"];
        return [vol + "V", res + "Ω", tmp + "℃"];
        let cap = monRestCapSt ? monRestCapFake : monRestCapReal;
        let curr = monJhCurrSt ? monJhCurrFake : monJhCurrReal;
        return [vol + "V", res + "Ω", tmp + "℃", cap + "AH", curr + "A"];
        // return [vol + "V", res + "Ω", tmp + "℃"];
      });
    },
  },
@@ -780,7 +780,7 @@
  flex: 1;
}
.hr-list :deep(.content) .value {
    width: 22em;
  width: 22em;
}
.radio-grp {
  // #007BA4;