he wei
2024-11-12 a6f96b0ff302e4ddedb6a2c5ccf3d2956959abaa
src/views/datas/dataHis.vue
@@ -36,11 +36,17 @@
const testObj = computed(() => {
  if (testRecordList.value) {
    let [type, record] = testRecordCode.value || [];
    let [type, record, record2] = testRecordCode.value || [];
    if (!type) return {};
    let list = testRecordList.value.filter((v) => v.value == type)[0].children;
    return list.filter((v) => record == v.value)[0];
    if (record2 !== undefined) {
      return list
        .filter((v) => record == v.value)[0].children
        .filter((vv) => vv.value == record2)[0];
    } else {
      return list.filter((v) => record == v.value)[0];
    }
  } else {
    return {};
  }
@@ -49,6 +55,8 @@
function chooseDev(params) {
  currentDevId.value = params.devId;
  testRecordCode.value = undefined;
  testDatas.value = [];
  updateChart([]);
  getList();
}
@@ -60,8 +68,6 @@
function typeChange() {
  chooseDev(resList.value[0]);
  testDatas.value = [];
  updateChart([]);
}
function getList() {
@@ -87,12 +93,41 @@
          }
          let label = type;
          let value = v;
          let children = arr.map((vv) => ({
            ...vv,
            label: vv.testStarttime,
            value: vv.testRecordCount,
          }));
          return { label, value, disabled: !arr.length, children };
          let children = [];
          let count = arr.length;
          if (devType.value == 1) {
            children = arr.map((vv) => ({
              ...vv,
              label: vv.testStarttime,
              value: vv.testRecordCount,
            }));
          } else {
            // 添加一级 区分是组1还是组2
            let _obj = {};
            for (let i = 0, len = arr.length; i < len; i++) {
              let item = arr[i];
              let idx = item.battIdx;
              _obj[idx] = _obj[idx] || [];
              _obj[idx].push(item);
            }
            Object.keys(_obj).forEach((vv) => {
              let item = _obj[vv];
              let idx = `组${vv * 1 + 1}`;
              let _count = item.length;
              children.push({
                label: idx,
                count: _count,
                value: `group_${vv}`,
                children: item.map((vvv) => ({
                  ...vvv,
                  label: vvv.testStarttime,
                  value: vvv.testRecordCount,
                })),
              });
            });
          }
          return { label, value, count, disabled: !arr.length, children };
        });
      }
      testRecordList.value = _list;
@@ -103,14 +138,6 @@
}
const canSlide = computed(() => !!testDatas.value.length);
const testInf = computed(() => {
  if (testDatas.value.length) {
    return testDatas.value[0];
  } else {
    return {};
  }
});
function updateChart(data) {
  let labels = [],
@@ -191,7 +218,7 @@
}
function selectRecord() {
  let res = testRecordCode.value[1];
  let res = testRecordCode.value[testRecordCode.value.length - 1];
  // console.log("res", res, "=============");
  getRecordInf(currentDevId.value, res)
@@ -216,7 +243,10 @@
    $message.error("请选择要导出的测试记录");
    return false;
  }
  exportRecord(currentDevId.value, testRecordCode.value[1])
  exportRecord(
    currentDevId.value,
    testRecordCode.value[testRecordCode.value.length - 1]
  )
    .then((res) => {
      let { data, status, headers } = res;
      const matchRes = /filename=(.*)/.exec(headers["content-disposition"]);
@@ -280,7 +310,7 @@
          size="default"
          is-button
        >
          <el-radio-button :value="1">充放电一体机</el-radio-button>
          <el-radio-button :value="1">充放电测试仪</el-radio-button>
          <el-radio-button :value="2">均衡测试仪</el-radio-button>
        </el-radio-group>
      </div>
@@ -306,7 +336,7 @@
          @change="selectRecord"
          ><template #default="{ node, data }">
            <span>{{ data.label }}</span>
            <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
            <span v-if="!node.isLeaf"> ({{ data.count }}) </span>
          </template></el-cascader
        >
        <div class="info-title">
@@ -320,15 +350,17 @@
        </div>
        <div class="info">
          <div class="label">测试时间</div>
          <div class="content">{{ testInf.testStarttime }}</div>
          <div class="content">{{ testObj.testStarttime }}</div>
          <div class="label">测试时长</div>
          <div class="content">{{ formatSeconds(testObj.testTimelong) }}</div>
          <div class="label">数据类型</div>
          <div class="content">
            {{
              { 2: "充电数据", 3: "放电数据", 4: "均衡数据" }[testInf.testType]
              { 2: "充电数据", 3: "放电数据", 4: "均衡数据" }[testObj.testType]
            }}
          </div>
          <div class="label">停止原因</div>
          <div class="content">{{ testObj.stopTypeReason }}</div>
          <!-- <div class="label">标称容量</div>
          <div class="content">4444444</div>
          <div class="label">单体数量</div>