he wei
2024-11-08 106374208e6e7265db3c00ddfa948c39b7c252ea
src/views/test/ytjRtInfo.vue
@@ -1,5 +1,5 @@
<script setup>
import { ref, computed, watch, onMounted } from "vue";
import { ref, computed, watch, onMounted, onActivated } from "vue";
import ycCard from "@/components/ycCard.vue";
import useWebSocket from "@/hooks/useWebSocket.js";
import bar from "@/components/echarts/bar2.vue";
@@ -41,7 +41,6 @@
    return { monStates: [], devStates: {}, eventList: [] };
  }
});
const logList = computed(() => {
  let _list = rtDatas.value.eventList;
@@ -86,6 +85,13 @@
  battVolChart.value?.updateChart(mons, vols);
}
onActivated(() => {
  let reg = /^1/;
  if (reg.test(props.devId)) {
    sendData(JSON.stringify({ devId: props.devId, devType: 1 }));
  }
});
onMounted(() => {
  // sendData(JSON.stringify({ devId: props.devId, devType: 1 }));
});
@@ -110,14 +116,35 @@
      <transition-group :duration="300" name="slide-left">
        <div class="tab-content test-content" v-if="infoTab == 0">
          <div class="state" v-if="rtDatas.devStates.isTesting">
            <div :class="['item', { active: rtDatas.devStates.isTesting && 2 == rtDatas.devStates.testType }]">
            <div
              :class="[
                'item',
                {
                  active:
                    rtDatas.devStates.isTesting &&
                    2 == rtDatas.devStates.testType,
                },
              ]"
            >
              充电测试
            </div>
            <div :class="['item', { active: rtDatas.devStates.isTesting && 1 == rtDatas.devStates.testType }]">
            <div
              :class="[
                'item',
                {
                  active:
                    rtDatas.devStates.isTesting &&
                    1 == rtDatas.devStates.testType,
                },
              ]"
            >
              放电测试
            </div>
          </div>
          <div class="stop-reason" v-else><span class="label">停止原因:</span>{{ rtDatas.devStates.stopReason }}</div>
          <div class="stop-reason" v-else>
            <span class="label">停止原因:</span
            >{{ rtDatas.devStates.stopReason }}
          </div>
          <div class="content">
            <div class="item item1">
              <div class="label">Umax</div>
@@ -132,8 +159,12 @@
              </div>
            </div>
            <div class="item">
              <div class="label"><el-icon><icon-avg class="avg-icon" /></el-icon>U</div>
              <div class="value">{{ toFixed(rtDatas.devStates.avgMonVol, VOL) }}V</div>
              <div class="label">
                <el-icon><icon-avg class="avg-icon" /></el-icon>U
              </div>
              <div class="value">
                {{ toFixed(rtDatas.devStates.avgMonVol, VOL) }}V
              </div>
            </div>
            <div class="item-big">
              {{ toFixed(rtDatas.devStates.storageVoltage, GROUPVOL) }}
@@ -157,9 +188,7 @@
              </div>
            </div>
            <div class="border border-center">
              <div class="i label">
                电芯压差
              </div>
              <div class="i label">电芯压差</div>
              <div class="value">
                {{ rtDatas.devStates.diffBatteryVoltage }} mV
              </div>
@@ -197,7 +226,9 @@
              </div>
            </div>
            <div class="item">
              <div class="label"><el-icon><icon-avg class="avg-icon" /></el-icon>T</div>
              <div class="label">
                <el-icon><icon-avg class="avg-icon" /></el-icon>T
              </div>
              <div class="value">{{ rtDatas.devStates.avgMonTmp }}℃</div>
            </div>
          </div>
@@ -214,7 +245,9 @@
              {{ toFixed(rtDatas.devStates.minBatteryVoltage, VOL) }}V
            </div>
            <div class="label">平均值</div>
            <div class="value">{{ toFixed(rtDatas.devStates.avgMonVol, VOL) }}V</div>
            <div class="value">
              {{ toFixed(rtDatas.devStates.avgMonVol, VOL) }}V
            </div>
          </div>
          <div class="list-wrap posR">
            <div class="pos-full scroll">
@@ -251,7 +284,9 @@
              {{ toFixed(rtDatas.devStates.minBatteryVoltage, VOL) }}V
            </div>
            <div class="label">平均值</div>
            <div class="value">{{ toFixed(rtDatas.devStates.avgMonVol, VOL) }}V</div>
            <div class="value">
              {{ toFixed(rtDatas.devStates.avgMonVol, VOL) }}V
            </div>
          </div>
          <div class="chart-wrap">
            <bar ref="battVolChart" unit="V"></bar>
@@ -349,10 +384,10 @@
        text-align: center;
        background: #02a7f0;
        &.max {
          background: #438D29;
          background: #438d29;
        }
        &.min {
          background: #DBD608;
          background: #dbd608;
        }
      }
    }
@@ -386,10 +421,10 @@
        text-align: center;
        background: #02a7f0;
        &.max {
          background: #438D29;
          background: #438d29;
        }
        &.min {
          background: #DBD608;
          background: #dbd608;
        }
      }
    }
@@ -421,10 +456,10 @@
            padding: 2px 10px;
            border-radius: 6px;
            &.max {
              background: #438D29;
              background: #438d29;
            }
            &.min {
              background: #DBD608;
              background: #dbd608;
            }
          }
        }
@@ -638,7 +673,12 @@
/* 使用@keyframes定义动画 */
@keyframes colorChange {
  0%, 100% { color: red; }  /* 开始和结束时的颜色 */
  50% { color: #0ff; }      /* 中间状态的颜色 */
  0%,
  100% {
    color: red;
  } /* 开始和结束时的颜色 */
  50% {
    color: #0ff;
  } /* 中间状态的颜色 */
}
</style>