فهرست منبع

Merge branch 'master' of http://121.42.8.157:13000/zengminguo/D-MAP

hao lei 1 سال پیش
والد
کامیت
b7d092138c

+ 6 - 0
src/api/case.js

@@ -21,6 +21,12 @@ export const fetchCaseList = (data) => {
   });
 };
 
+export const fetchAutoCaseList = (planId) => {
+  return api(`/plan/testcase/${planId}`, {
+    method: "GET",
+  });
+};
+
 export const fetchBenchDetail = (benchId) => {
   return api(`/bench/getDetail?id=${benchId}`, {
     method: "GET",

+ 58 - 5
src/components/TabList/index.vue

@@ -47,15 +47,19 @@
               </el-table>
           </div> -->
           <div class="go-back">
-              <div class="el-icon-arrow-left" @click="planBack"></div>
-              <div>{{ taskName }}</div>
-            </div>
+            <div class="el-icon-arrow-left" @click="planBack"></div>
+            <div>{{ taskName }}</div>
+          </div>
           <div v-for="(item, index) in planList" :key="index" class="item" v-if="!(!item.auto && !item.uuid)">
             <div v-html="planRender(item)"></div>
           </div>
         </div>
         <div class="task task-item" v-if="isShowCaseList && isShowTaskList===false">
-            <div style="margin-bottom: 1.85vh" id="TaskHeaderName" @click="clickBackToPlanList">{{planName}}</div>
+            <div class="go-back">
+              <div class="el-icon-arrow-left" @click="clickBackToPlanList"></div>
+              <div>{{ planName }}</div>
+            </div>
+            <!-- <div style="margin-bottom: 1.85vh" id="TaskHeaderName" @click="clickBackToPlanList">{{planName}}</div> -->
             <div class="task-table">
                 <el-table @row-click="selectRowCase" :data="caseList" :row-class-name="rowClassName"  style="background-color: transparent;" >
                     <el-table-column label="Case-ID" prop="m_id"></el-table-column>
@@ -65,6 +69,20 @@
                 </el-table>
             </div>
         </div>
+        <div class="task task-item" v-if="isShowAutoCaseList && isShowTaskList===false">
+            <div class="go-back">
+              <div class="el-icon-arrow-left" @click="clickBackToAutoPlanList"></div>
+              <div>{{ planName }}</div>
+            </div>
+            <!-- <div style="margin-bottom: 1.85vh" id="TaskHeaderName" @click="clickBackToPlanList">{{planName}}</div> -->
+            <div class="task-table">
+                <el-table @row-click="selectRowCase" :data="autoCaseList" :row-class-name="rowClassName"  style="background-color: transparent;" >
+                    <el-table-column label="ID" prop="id"></el-table-column>
+                    <el-table-column label="name" prop="name"></el-table-column>
+                    <el-table-column label="status" prop="status"></el-table-column>
+                </el-table>
+            </div>
+        </div>
         <div class="plan task-item" v-if="isShowCaseCommit && isShowTaskList===false">
             <div style="margin-bottom: 1.85vh">{{caseName}}</div>
             <el-row :gutter="20">
@@ -132,7 +150,10 @@
             <el-button class="done-button">Done</el-button>
         </div>
         <div class="case task-item" v-if="isShowCaseDetail && isShowTaskList===false">
-            <div>{{caseName}}</div>
+          <div class="go-back">
+              <div class="el-icon-arrow-left" @click="clickBackToPlan"></div>
+              <div>{{ caseName }}</div>
+            </div>
             <div class="task-title">Precondition</div>
             <!--<div class="task-content">{{caseActive}}</div>
             <div class="task-title">{{caseFunction}}</div>-->
@@ -211,6 +232,7 @@ export default {
     isShowTaskList: Boolean,
     isShowPlanList: Boolean,
     isShowCaseList: Boolean,
+    isShowAutoCaseList: Boolean,
     isShowCaseDetail: Boolean,
     isShowCaseCommit: Boolean,
     taskName: String,
@@ -218,6 +240,7 @@ export default {
     planName: String,
     caseName: String,
     caseList: Array,
+    autoCaseList: Array,
     caseProject: String,
     caseActive: String,
     caseFunction: String,
@@ -227,9 +250,11 @@ export default {
     caseContent: String,
     clickBackToTaskList: Function,
     clickBackToPlanList: Function,
+    clickBackToAutoPlanList: Function,
     selectRowPlan: Function,
     selectRowCase: Function,
     isShowIssueList: Boolean,
+    clickBackToPlan: Function
 
   },
   data() {
@@ -256,6 +281,10 @@ export default {
 </script>
 
 <style scoped lang="less">
+
+.case.task-item {
+  color: #fff;
+}
 .go-back {
   color: #fff;
   display: flex;
@@ -598,5 +627,29 @@ export default {
   background-repeat: no-repeat;
 }
 
+.task-title {
+  color: #72C5FF;
+  font-size: 24px;
+}
+
+.task-content {
+  margin-top: 10px;
+  margin-bottom: 20px;
+}
+
+.done-button {
+  width: 11.6vw;
+  height: 4.25vh;
+  line-height: 4.25vh;
+  background: linear-gradient(180deg, #83cbfb 0%, #2e74b2 100%);
+  border-radius: 67px 67px 67px 67px;
+  opacity: 1;
+  border: 1px solid rgba(255, 255, 255, 0.4);
+  color: #fff;
+  padding: 0;
+  position: absolute;
+  bottom: 1.75vh;
+  right: 15px;
+}
 
 </style>

+ 9 - 0
src/store/modules/case/actions.js

@@ -10,6 +10,15 @@ export default {
       console.log("error", "服务异常", 1000);
     }
   },
+  async fetchAutoCaseList({commit}, data) {
+    try {
+      const autoCaseList = await caseApi.fetchAutoCaseList(data.planId);
+      console.log('autocaselist',autoCaseList.data)
+      commit('setAutoCaseList', autoCaseList.data)
+    } catch (err) {
+      console.log("error", "服务异常", 1000);
+    }
+  },
   async getBenchDetail({commit}, benchId) {
     try {
       const bench = await benchApi.getBenchDetail(benchId);

+ 1 - 0
src/store/modules/case/index.js

@@ -6,6 +6,7 @@ export default {
   namespaced: true,
   state() {
     return {
+      autoCaseList: [],
       caseList: [],
     };
   },

+ 9 - 2
src/store/modules/case/mutations.js

@@ -1,10 +1,17 @@
 export default {
   setCaseList(state, caseList) {
     caseList.forEach((caseA) => {
-      if(!state.caseList.some(p => p.id == caseA.id)) {
+      if(!state.caseList.some(p => p.case_no == caseA.case_no)) {
         state.caseList.push(caseA)
       }
     });
-    console.log('caseListResult',state.caseList)
   },
+  setAutoCaseList(state, caseList) {
+    debugger
+    caseList.forEach((caseA) => {
+      if(!state.autoCaseList.some(p => p.id == caseA.id)) {
+        state.autoCaseList.push(caseA)
+      }
+    });
+  }
 };

+ 1 - 4
src/store/modules/plan/mutations.js

@@ -1,8 +1,6 @@
 export default {
   setPlanList(state, planList) {
-    debugger
     planList.forEach((planId) => {
-      debugger
       if(!state.planList.some(p => p.id == planId)) {
         let plan = {};
         plan.id = planId;
@@ -31,7 +29,6 @@ export default {
   setMaualPlanList(state, planList) {
     let maualPlanList = state.planList;
     maualPlanList.forEach(p => {
-      debugger
       let plan = planList.find(s => s.id == p.id);
       if (plan) {
         for(let key in p) {
@@ -45,7 +42,7 @@ export default {
     planList.forEach((planId) => {
       if(!state.autoPlanList.some(p => p.id == planId)) {
         let plan = {}
-        plan.id = planId + 101;
+        plan.id = planId < 100 ? planId + 101 : planId;
         plan.checked = false;
         plan.active_time = null
         plan.active_user = null

+ 44 - 14
src/views/ordinaryPage/index.vue

@@ -220,12 +220,12 @@
         </div>
 
         <div class="ordinary-list">
-            <TabList :tabs="tabs" :itemRender="itemRender" :planRender="planRender" :taskRender="taskRender" :issueRender="issueRender" :planList="planList" :caseList="caseList" :planName="planName" :taskName="taskName" :caseName="caseName"
+            <TabList :tabs="tabs" :itemRender="itemRender" :planRender="planRender" :taskRender="taskRender" :issueRender="issueRender" :planList="planList" :caseList="caseList" :autoCaseList="autoCaseList" :is-show-auto-case-list="isShowAutoCaseList" :planName="planName" :taskName="taskName" :caseName="caseName"
             :is-show-plan-list="isShowPlanList" :is-show-task-list="isShowTaskList" :is-show-case-commit="isShowCaseCommit" :is-show-case-list="isShowCaseList" :is-show-case-detail="isShowCaseDetail" :clickBackToTaskList="clickBackToTaskList" 
             :clickBackToPlanList="clickBackToPlanList" :selectRowPlan="selectRowPlan" :caseProject="caseProject" 
             :caseActive="caseActive" :caseFunction="caseFunction" caseContent="caseContent" 
             :caseSubFunction="caseSubFunction" :caseMarket="caseMarket" :caseLanguage="caseLanguage" v-if="renderBenchList" 
-            :selectRowCase="selectRowCase" :tabClass="tabClass" :planBack="planBack"></TabList>
+            :selectRowCase="selectRowCase" :clickBackToAutoPlanList="clickBackToAutoPlanList" :tabClass="tabClass" :planBack="planBack" :clickBackToPlan="clickBackToPlan"></TabList>
         </div>
 
         <bench-detail :is-detail-visible="isDetailVisible" :is-remote-btn-visible="isRemoteBtnVisible" :closeDetail="closeDetail" ref="benchdetail" :bench="currentBench"/>
@@ -259,6 +259,7 @@
                 isRemoteBtnVisible: false,
                 isShowPlanList: false,
                 isShowCaseList: false,
+                isShowAutoCaseList: false,
                 isShowCaseDetail: false,
                 isShowCaseCommit: false,
                 taskName: '',
@@ -380,6 +381,9 @@
               caseList: state => {
                 return state.caseList.caseList;
               },
+              autoCaseList: state => {
+                return state.caseList.autoCaseList;
+              },
               issueList: state => {
                 return state.issueList.issueList
               },
@@ -404,6 +408,7 @@
             });
             window.handleListClick = this.handleListClick;
             window.handleClickTask = this.handleClickTask.bind(this)
+            window.selectRowPlan = this.selectRowPlan.bind(this)
             window.handleListDbClick = this.handleListDbClick;
             window.showBenchPos = this.showBenchPos;
             let that = this;
@@ -476,23 +481,43 @@
             this.isShowTaskList = true;
             // this.planList = [];
           },
-          selectRowPlan(row){
-            console.log(row, 'selectrowdata')
-            this.$store.dispatch('caseList/fetchCaseList',{
-                uuid: row.uuid,
-                page_num: 1,
-                page_size: 100
-            })
+          clickBackToPlan() {
+            this.isShowCaseDetail = false;
+            if (sessionStorage.getItem('autoCase') == 0) {
+              this.isShowCaseList = true;
+            } else {
+              this.isShowAutoCaseList = true;
+            }
+          },
+          selectRowPlan(id, auto, name){
+            console.log(id, 'selectrowdata')
+            if (!auto || auto == 'undefined' || auto == 'false') {
+              this.$store.dispatch('caseList/fetchCaseList',{
+                  uuid: id,
+                  page_num: 1,
+                  page_size: 100
+              })
+              this.isShowCaseList = true;
+              sessionStorage.setItem('autoCase', 0)
+            } else {
+              if (id == 109) id = 222; 
+              this.$store.dispatch('caseList/fetchAutoCaseList', {
+                planId: id
+              })
+              this.isShowAutoCaseList = true;
+              sessionStorage.setItem('autoCase', 1)
+            }
+            
             this.isShowPlanList = false;
-            this.isShowCaseList = true;
-            this.planName = '< ' + row.name;
+            
+            this.planName = name;
           },
           selectRowCase(row)
           {
             this.isShowCaseList = false;
             this.isShowCaseDetail = true;
             
-            this.caseName = '< ' + row.m_id;
+            this.caseName = row.m_id;
             this.caseProject = row.precondition
             //this.caseActive =,
             this.caseFunction = row.action;
@@ -507,6 +532,11 @@
             this.isShowPlanList = true;
             this.isShowCaseList = false;
             this.caseList = [];
+          },
+          clickBackToAutoPlanList() {
+            this.isShowPlanList = true;
+            this.isShowAutoCaseList = false;
+            this.autoCaseList = [];
           },
             bmMapItemUnSelect() {
               let items = document.getElementsByClassName('item-box');
@@ -584,7 +614,7 @@
               // 获取自动测试plan列表
               let autoList = task.plan_list[2];
               autoList.forEach(at => {
-                that.$store.dispatch('planList/fetchPlanDetail', { planId: at+101})
+                that.$store.dispatch('planList/fetchPlanDetail', { planId: at < 100 ? at+101: at})
               })
               that.isShowPlanList = true;
               that.isShowTaskList = false;
@@ -729,7 +759,7 @@
                 </div>`
             },
             planRender(item) {
-              return `<div class="item-box" style="display:${(!item.auto && !item.uuid) ? 'none': 'flex'};align-items: top; justify-content: space-between;color: #fff;">
+              return `<div onClick="selectRowPlan('${item.uuid || item.id}', '${item.auto}', '${item.name}')" class="item-box" style="display:${(!item.auto && !item.uuid) ? 'none': 'flex'};align-items: top; justify-content: space-between;color: #fff;">
                     <div class="left">
                         <div style="display:flex;align-items: center;">
                           <div class="item-title">${item.name}</div>