deepsea 1 éve
szülő
commit
7d8496d32f

+ 10 - 0
src/components/TabList/index.vue

@@ -319,6 +319,13 @@
                     >
                       {{ scope.row.status }}
                     </div>
+                    <div
+                    v-if="scope.row.status == 'passed' || scope.row.status == 'finished'"
+                    style="background: #2E74B2"
+                    class="bench-status"
+                  >
+                    {{ scope.row.status }}
+                  </div>
                     <div
                       v-if="scope.row.status == 'error'"
                       style="background: #f96262"
@@ -333,6 +340,8 @@
                         scope.row.status != 'waiting' &&
                         scope.row.status != 'valid' &&
                         scope.row.status != 'error' &&
+                        scope.row.status != 'passed' &&
+                        scope.row.status != 'finished' &&
                         !!scope.row.status
                       "
                       style="background: #92949b"
@@ -793,6 +802,7 @@ export default {
         return state.benchList.matchedBenchList;
       },
       autoTaskStatus(state) {
+        debugger
         return state.caseList.autoTaskStatusMap[state.caseList.currentTaskIndex] || 'ready';
       },
       remoteBenchList(state) {

+ 5 - 2
src/store/modules/case/actions.js

@@ -80,8 +80,11 @@ export default {
     }
   },
   async cancelPlan({commit, state}) {
-    debugger
-    const result = caseApi.cancelPlan(state.currentTaskIndex)
+    let autoCurrentTaskData = window.localStorage.getItem("autoCurrentTaskData");
+    if (autoCurrentTaskData) {
+      autoCurrentTaskData = JSON.parse(autoCurrentTaskData);
+    }
+    const result = caseApi.cancelPlan(autoCurrentTaskData[state.currentTaskIndex])
     commit('cancelPlan')
   },
   setCurrentTask({commit}, id) {

+ 21 - 14
src/store/modules/case/mutations.js

@@ -63,15 +63,14 @@ export default {
         }
       }
 
-      if (state.currentPlanId) {
-        let cases = state.autoTaskItemsMap[state.currentPlanId];
+      if (state.currentTaskIndex) {
+        let cases = state.autoTaskItemsMap[state.currentTaskIndex];
         cases.forEach(c => {
           let caseId = c.testcase_id;
-          let caseTemp = state.autoCaseListMap[state.currentPlanId].find(t => t.id == caseId);
+          let caseTemp = state.autoCaseListMap[state.currentTaskIndex].find(t => t.id == caseId);
           if (caseTemp) {
             caseTemp.status = c.status;
           }
-          // console.log('autoCaseList', state.autoCaseList);
         })
       }
     }
@@ -114,6 +113,10 @@ export default {
         if (data.res[i].id == planExecId) {
           state.autoTaskStatus = data.res[i].status;
           state.autoTaskStatusMap[key] = data.res[i].status;
+          if (data.res[i].status == 'cancelled') {
+            state.autoTaskStatus = "stopped";
+            state.autoTaskStatusMap[key] = "stopped";
+          }
           break;
         }
       }
@@ -122,11 +125,14 @@ export default {
         let cases = state.autoTaskItemsMap[state.currentPlanId];
         cases.forEach(c => {
           let caseId = c.testcase_id;
-          let caseTemp = state.autoCaseList.find(t => t.id == caseId);
+          let caseTemp = state.autoCaseListMap[state.currentTaskIndex].find(t => t.id == caseId);
           if (caseTemp) {
-            caseTemp.status = c.status;
+            if (c.status == 'running') {
+              caseTemp.status = 'running';
+            } else {
+              caseTemp.status = c.result;
+            }
           }
-          // console.log('autoCaseList', state.autoCaseList);
         })
       }
     }
@@ -135,27 +141,28 @@ export default {
     let planCaseNum = data.res.data.list.length;
     let finishedCaseNum = 0;
     for (let i in data.res.data.list) {
-      if (data.res.data.list[i].status) {
+      if (data.res.data.list[i].result) {
         finishedCaseNum++;
       }
     }
+    debugger
     state.autoTaskItemsMap[data.info.planId] = data.res.data.list;
     let rate = (finishedCaseNum / planCaseNum) * 100;
     state.autoTaskPercentMap[data.info.planId] = rate;
     // state.autoTaskStatusMap[data.info.planId] = data.res.data.detail.status;
-    if (state.currentPlanId) {
-      let cases = state.autoTaskItemsMap[state.currentPlanId];
+    if (state.currentTaskIndex) {
+      let cases = state.autoTaskItemsMap[state.currentTaskIndex];
       if (!cases) return;
       cases.forEach(c => {
         let caseId = c.testcase_id;
-        let caseTemp = state.autoCaseList.find(t => t.id == caseId);
+        let caseTemp = state.autoCaseListMap[state.currentTaskIndex].find(t => t.id == caseId);
         if (caseTemp) {
-          caseTemp.status = c.status;
-          if (caseTemp.status == 'finished') {
+          if (c.status == 'running') {
+            caseTemp.status = 'running';
+          } else {
             caseTemp.status = c.result;
           }
         }
-        // console.log('autoCaseList', state.autoCaseList);
       })
     }
     if (rate == 100) {

+ 1 - 1
src/views/ordinaryPage/index.less

@@ -55,7 +55,7 @@
     background-color: #eebe77;
   }
 
-  .offline {
+  .offline, .stopped, .cancelled {
     background-image: none;
     background-color: #92949B;
   }

+ 1 - 1
src/views/ordinaryPage/index.vue

@@ -1351,7 +1351,7 @@ export default {
                     <div class="process-percent" style="margin-left: 10px; width: 80px">
                       <div style="width: ${this.autoTaskPercentMap[item.id] || 0}%; height: 10px; border-radius: 10px;" class="${this.autoTaskStatusMap[item.id] || 'ready'}"></div>
                     </div>
-                    <div style="width:40px;color:#fff;font-size: 12px;padding-left: 3px">${this.autoTaskPercentMap[item.id] || 0}%</div>
+                    <div style="width:40px;color:#fff;font-size: 12px;padding-left: 3px">${Number(this.autoTaskPercentMap[item.id]).toFixed(1) || 0}%</div>
                     <div class="task-auto" style="display:${
                       item.auto ? "block" : "none"
                     }">Auto</div>