he wei
2024-11-09 5cc9eb2d302ffe6218221208a28b60f91b57e41e
U bug修复
8个文件已修改
182 ■■■■ 已修改文件
src/components/echarts/bar2.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datas/dataHis.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/test/devCard.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/test/index.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/test/jhyRtInfo.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/test/jhyTestDetails.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/test/testBatch.vue 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/test/ytjRtInfo.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/echarts/bar2.vue
@@ -98,7 +98,7 @@
            let max = Math.max(...data);
            let min = Math.min(...(data.filter((item) => item != 0)));
            let val = params.value;
            console.log('min, max, val', min, max, val, '=============');
            // console.log('min, max, val', min, max, val, '=============');
            
            if (val == min) {
              return minColor;
@@ -146,6 +146,10 @@
  myChart.setOption(option);
}
function resize() {
  myChart.resize();
}
onMounted(() => {
  initChart();
});
@@ -162,6 +166,7 @@
defineExpose({
  updateChart,
  resize,
});
</script>
src/views/datas/dataHis.vue
@@ -87,12 +87,46 @@
          }
          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 = arr.length; 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,
                })),
              });
            });
            // children = arr.map((vv) => ({
            //   ...vv,
            //   label: vv.testStarttime,
            //   value: vv.testRecordCount,
            // }));
          }
          return { label, value, count, disabled: !arr.length, children };
        });
      }
      testRecordList.value = _list;
@@ -191,7 +225,7 @@
}
function selectRecord() {
  let res = testRecordCode.value[1];
  let res = testRecordCode.value[testRecordCode.value.length - 1];
  // console.log("res", res, "=============");
  getRecordInf(currentDevId.value, res)
@@ -306,7 +340,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">
src/views/test/devCard.vue
@@ -24,6 +24,11 @@
  },
});
// 是否只有一组
const isOnlyOne = computed(() => {
  return 1 == props.info.state[0].batteryCount;
});
const testStates = computed(() => {
  if (1 == props.devType) {
    if (props.info.state.testPause) {
@@ -39,7 +44,7 @@
    //   props.info.state ? states[props.info.state[v].workMode] || "--" : "--"
    // );
    let [res1, res2] = [0, 1].map((v) => props.info.state[v].moduleStatus);
  return `组1:${res1}, 组2: ${res2}`;
    return isOnlyOne.value ? `组1:${res1}` : `组1:${res1}, 组2: ${res2}`;
  }
});
</script>
@@ -94,11 +99,11 @@
              <div class="link"></div>
            </div>
            <div class="item index">
              #2
              {{ isOnlyOne ? "--" : "#2" }}
              <div class="link"></div>
            </div>
            <div class="item">
              {{ info.state[1].moduleStatus }}
              {{ isOnlyOne ? "--" : info.state[1].moduleStatus }}
              <div class="link"></div>
            </div>
          </template>
src/views/test/index.vue
@@ -49,6 +49,19 @@
  return _list.filter((v) => v.devId == currentDevId.value)[0] || {};
});
// 是否可以修改均衡仪电池组数
const canChangeBattCount = computed(() => {
  // !currentDev.state[0].isTesting && !currentDev.state[1].isTesting
  if (1 == devType.value || !currentDev.value.state) {
    return false;
  }
  if (onlyOneGroup.value) {
    return !currentDev.value.state[0].isTesting;
  } else {
    return !currentDev.value.state[0].isTesting && !currentDev.value.state[1].isTesting;
  }
});
const testMode = computed(() => {
  if (1 == devType.value) {
    return ["--", "放电测试", "充电测试"][currentDev.value.state?.testType];
@@ -59,7 +72,7 @@
        ? states[currentDev.value.state[v].workMode] || "--"
        : "--"
    );
    return `组1:${res1}, 组2: ${res2}`;
    return onlyOneGroup.value ? `组1:${res1}` : `组1:${res1}, 组2: ${res2}`;
  }
});
@@ -76,7 +89,7 @@
        ? currentDev.value.state[v].moduleStatus || "--"
        : "--"
    );
    return `组1:${res1}, 组2: ${res2}`;
    return onlyOneGroup.value ? `组1:${res1}` : `组1:${res1}, 组2: ${res2}`;
  }
});
@@ -138,7 +151,7 @@
function setBattCount() {
  jhyBattCountVisible.value = true;
  console.log("cur", currentDev, "=============");
  // console.log("cur", currentDev, "=============");
}
/**
@@ -151,7 +164,7 @@
}
function pauseYtj(type) {
  console.log("currentDev", currentDev, "=============");
  // console.log("currentDev", currentDev, "=============");
  if (!currentDev.value.devId) {
    return false;
  }
@@ -272,7 +285,7 @@
            size="small"
            :disabled="!currentDev.devOnline"
            class="btn-start btn-grp1"
            v-if="!currentDev.state[0].isTesting"
            v-if="canChangeBattCount"
            @click="setBattCount"
            >设置组数</el-button
          >
src/views/test/jhyRtInfo.vue
@@ -126,6 +126,13 @@
  changeTab();
});
watch(() => props.onlyOneGroup, (val) => {
  if (battVolChart.value) {
    battVolChart.value[0].resize();
    battVolChart.value[1]?.resize();
  }
});
function changeTab() {
  if (infoTab.value == 2) {
    updateChart();
@@ -155,7 +162,12 @@
}
onMounted(() => {
  // sendData(JSON.stringify({ devId: props.devId, devType: 1 }));
  // console.log('devId,' , props.devId, 'onMounted', '=============');
  let reg = /^2/;
  if (reg.test(props.devId)) {
    sendData(JSON.stringify({ devId: props.devId, devType: 2 }));
  }
});
</script>
src/views/test/jhyTestDetails.vue
@@ -29,8 +29,9 @@
});
// TODO  有几组
const onlyOneGroup = ref(false);
const onlyOneGroup = computed(() => {
  return rtDatas.value.devStates[0].batteryCount == 1;
});
const devInfo = ref({});
@@ -115,12 +116,12 @@
  let [res1, res2] = [0, 1].map(
    (v) => states[rtDatas.value.devStates[v].workMode]
  );
  return `组1:${res1}, 组2: ${res2}`;
  return onlyOneGroup.value ? `组1:${res1}` : `组1:${res1}, 组2: ${res2}`;
});
const testStates = computed(() => {
  let [res1, res2] = [0, 1].map((v) => rtDatas.value.devStates[v].moduleStatus);
  return `组1:${res1}, 组2: ${res2}`;
  return onlyOneGroup.value ? `组1:${res1}` : `组1:${res1}, 组2: ${res2}`;
});
function getInfo() {
@@ -253,7 +254,11 @@
        </div>
      </div>
    </yc-card>
    <jhy-rt-info class="p-content" :onlyOneGroup="onlyOneGroup" :devId="devId"></jhy-rt-info>
    <jhy-rt-info
      class="p-content"
      :onlyOneGroup="onlyOneGroup"
      :devId="devId"
    ></jhy-rt-info>
    <!-- 弹窗 -->
    <el-dialog
      title="设置测试参数"
src/views/test/testBatch.vue
@@ -58,6 +58,24 @@
  );
});
// 是否可以修改均衡仪组数
const canChangeBattCount = computed(() => {
  if (
    devType.value != 2 ||
    selectData.value[2].length == 0 ||
    selectData.value[2].filter((v) => v.devOnline == 1).length == 0
  ) {
    return false;
  }
  return selectData.value[2]
    .filter((v) => v.devOnline == 1)
    .every((v) => {
      return onlyOneGroup.value
        ? v.state[0].isTesting == 0
        : v.state[0].isTesting == 0 && v.state[1].isTesting == 0;
    });
});
// 一体机 按钮可用控制 公共方法
function computeYT(someFn) {
  return computed(() => {
@@ -68,16 +86,16 @@
    ) {
      return false;
    } else {
      return selectData.value[1]
        .filter((v) => v.devOnline == 1)
        .some(someFn);
      return selectData.value[1].filter((v) => v.devOnline == 1).some(someFn);
    }
  });
}
// 一体机 按钮可用控制 启动
const canStartYT = computeYT((v) => v.state.isTesting == 0);
// 一体机 按钮可用控制 暂停
const canPauseYT = computeYT((v) => v.state.isTesting == 1 && v.state.testPause == 0);
const canPauseYT = computeYT(
  (v) => v.state.isTesting == 1 && v.state.testPause == 0
);
// 一体机 按钮可用控制 继续
const canContinueYT = computeYT((v) => v.state.testPause == 1);
// 一体机 按钮可用控制 停止
@@ -93,9 +111,7 @@
    ) {
      return false;
    } else {
      return selectData.value[2]
        .filter((v) => v.devOnline == 1)
        .some(someFn);
      return selectData.value[2].filter((v) => v.devOnline == 1).some(someFn);
    }
  });
}
@@ -104,9 +120,13 @@
// 均衡仪 按钮可用控制 启动组2
const canStartJH2 = computeJH((v) => v.state[1].isTesting == 0);
// 均衡仪 按钮可用控制 暂停组1
const canPauseJH1 = computeJH((v) => v.state[0].isTesting == 1 && v.state[0].isTestPause == 0);
const canPauseJH1 = computeJH(
  (v) => v.state[0].isTesting == 1 && v.state[0].isTestPause == 0
);
// 均衡仪 按钮可用控制 暂停组2
const canPauseJH2 = computeJH((v) => v.state[1].isTesting == 1 && v.state[1].isTestPause == 0);
const canPauseJH2 = computeJH(
  (v) => v.state[1].isTesting == 1 && v.state[1].isTestPause == 0
);
// 均衡仪 按钮可用控制 继续组1
const canContinueJH1 = computeJH((v) => v.state[0].isTestPause == 1);
// 均衡仪 按钮可用控制 继续组2
@@ -318,11 +338,16 @@
function pauseYtj(type) {
  let devIds = devs.value;
  if (type == 1) {
    devIds = devIds.filter(
      (v) => v.devOnline == 1 && v.state.isTesting == 1 && v.state.testPause == 0
    ).map((v) => v.devId);
    devIds = devIds
      .filter(
        (v) =>
          v.devOnline == 1 && v.state.isTesting == 1 && v.state.testPause == 0
      )
      .map((v) => v.devId);
  } else {
    devIds = devIds.filter((v) => v.devOnline == 1 && v.state.testPause == 1).map((v) => v.devId);
    devIds = devIds
      .filter((v) => v.devOnline == 1 && v.state.testPause == 1)
      .map((v) => v.devId);
  }
  let loading = $loading();
  pauseA200ParamPl(devIds, type)
@@ -474,9 +499,7 @@
          <el-button
            size="small"
            class="btn-start btn-grp1"
            :disabled="
              !selectData[devType].filter((v) => v.devOnline == 1).length
            "
            :disabled="!canChangeBattCount"
            @click="setBattCount"
            >设置组数</el-button
          >
@@ -620,6 +643,7 @@
        v-if="jhyBattCountVisible"
        :isBatch="true"
        :devs="devs"
        :isOnlyOne="onlyOneGroup"
      ></batt-count-content>
    </el-dialog>
  </div>
src/views/test/ytjRtInfo.vue
@@ -86,13 +86,13 @@
}
onActivated(() => {
  });
onMounted(() => {
  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 }));
});
</script>