he wei
2024-11-13 0936c4ce40a4307ff965a3469685d49323a9e606
U 修复批量bug
2个文件已修改
91 ■■■■ 已修改文件
src/views/test/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/test/testBatch.vue 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/test/index.vue
@@ -299,13 +299,13 @@
            >启动组1</el-button
          >
          <template v-else>
            <el-button
            <!-- <el-button
              size="small"
              :disabled="!currentDev.devOnline"
              class="btn-start btn-grp1"
              @click="test(true, 0)"
              >修改组1参数</el-button
            >
            > -->
            <el-button
              size="small"
              :disabled="!currentDev.devOnline"
src/views/test/testBatch.vue
@@ -9,7 +9,7 @@
import {
  cancelContPl,
  controllerActmParam,
  controllActmParamPl,
  stopA200ParamPl,
  pauseA200ParamPl,
} from "./api.js";
@@ -223,29 +223,44 @@
// 除去掉线的设备 所有此类型的设备状态都为非测试状态
// 一体机 isTesting 为0
// 均衡仪 moduleStatusInt 不属于[3,4,6,7,9,10]中的一种
const canStopBatch = computed(() => {
  let getItem = (vv) =>
    selectData.value[vv]
const canStopBatch1 = computed(() => {
  return (
    selectData.value[1]
      .filter((v) => v.devOnline == 1)
      .every((v) => v.state.isTesting == 0) &&
    selectData.value[vv].length > 0 &&
    selectData.value[vv].some((v) => v.batchState == 1);
  return {
    1: getItem(1),
    2: getItem(2),
  };
    selectData.value[1].length > 0 &&
    selectData.value[1].some((v) => v.batchState == 1)
  );
});
const canStopBatch2 = computed(() => {
  return (
    selectData.value[2]
      .filter((v) => v.devOnline == 1)
      .every((v) =>
        onlyOneGroup.value
          ? v.state[0].isTesting == 0
          : v.state[0].isTesting == 0 && v.state[1].isTesting == 0
      ) &&
    selectData.value[2].length > 0 &&
    selectData.value[2].some((v) => v.batchState == 1)
  );
});
// 结束批量
function stopBatch(type) {
  let devIds = devs.value.map((v) => v.devId);
  let loading = $loading();
  let devIds = selectData.value[devType.value].map((v) => v.devId);
  cancelContPl(devIds)
    .then((res) => {
      let { code, data } = res.data;
      loading.close();
      if (code && data) {
        console.log(data);
      }
    })
    .catch((err) => {
      loading.close();
      console.log(err);
    });
}
@@ -313,15 +328,51 @@
function controlTest(groupIdx, ctrlType) {
  //  * 2暂停 * 3继续 * 4 停止
  let loading = $loading();
  controllerActmParam(currentDevId.value, groupIdx, ctrlType)
  // 满足条件的设备id
  let devIds = devs.value;
  switch(ctrlType) {
    case 2:
      devIds = devIds
        .filter((v) => v.devOnline == 1 && v.state[groupIdx].isTesting == 1 && v.state[groupIdx].isTestPause == 0)
        .map((v) => v.devId);
      break;
    case 3:
      devIds = devIds
        .filter((v) => v.devOnline == 1 && v.state[groupIdx].isTestPause == 1)
        .map((v) => v.devId);
      break;
    case 4:
      devIds = devIds
        .filter((v) => v.devOnline == 1 && v.state[groupIdx].isTesting == 1)
        .map((v) => v.devId);
      break;
  }
  controllActmParamPl(devIds, groupIdx, ctrlType)
    .then((res) => {
      loading.close();
      let { code, data, msg } = res.data;
      if (200 == code) {
      let { code, data, data2, msg } = res.data;
      let failList = [];
      let successList = [];
      Object.keys(data2).forEach((v) => {
        if (200 == data2[v].code) {
          successList.push(v);
        } else {
          failList.push(v);
        }
      });
      if (code && data && successList.length) {
        $message.success("操作成功");
        console.log(data);
        if (failList.length) {
          let failNames = devs.value
            .filter((v) => failList.some((vv) => vv == v.devId))
            .map((v) => v.devIdcode);
          $alert(`操作失败的设备列表:${failNames.join(", ")}。`);
        }
        close();
      } else {
        $message.error("操作失败:" + msg);
        $message.error("操作失败");
      }
    })
    .catch((err) => {
@@ -461,7 +512,7 @@
        <template v-if="1 == devType">
          <el-button
            size="small"
            v-if="canStopBatch[1]"
            v-if="canStopBatch1"
            class="btn-start btn-grp0"
            @click="stopBatch"
            >结束批量</el-button
@@ -505,7 +556,7 @@
          >
          <el-button
            size="small"
            v-if="canStopBatch[2]"
            v-if="canStopBatch2"
            class="btn-start btn-grp0"
            @click="stopBatch"
            >结束批量</el-button