From 0936c4ce40a4307ff965a3469685d49323a9e606 Mon Sep 17 00:00:00 2001
From: he wei <858544502@qq.com>
Date: 星期三, 13 十一月 2024 17:41:29 +0800
Subject: [PATCH] U 修复批量bug

---
 src/views/test/testBatch.vue |   87 ++++++++++++++++++++++++++++++++++---------
 src/views/test/index.vue     |    4 +-
 2 files changed, 71 insertions(+), 20 deletions(-)

diff --git a/src/views/test/index.vue b/src/views/test/index.vue
index 4f4dd90..736580b 100644
--- a/src/views/test/index.vue
+++ b/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"
diff --git a/src/views/test/testBatch.vue b/src/views/test/testBatch.vue
index 7d0a6b0..c476f06 100644
--- a/src/views/test/testBatch.vue
+++ b/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)
+  // 婊¤冻鏉′欢鐨勮澶噄d
+  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

--
Gitblit v1.9.1