Browse Source

项目增加测试模块

master
陈裕财 3 years ago
parent
commit
ee72cca731
  1. 2
      src/router/routes_xm.js
  2. 46
      src/views/xm/core/xmTestPlan/Detail.vue
  3. 6
      src/views/xm/core/xmTestPlan/Overview.vue
  4. 13
      src/views/xm/core/xmTestPlan/XmTestPlanInfo.vue
  5. 16
      src/views/xm/core/xmTestPlan/XmTestPlanListForProject.vue
  6. 10
      src/views/xm/core/xmTestPlan/XmTestPlanMng.vue

2
src/router/routes_xm.js

@ -640,6 +640,8 @@ export default {
{ path: 'case', component: _import('xm/core/xmTestCase/XmTestCaseList'), name: 'testCase', meta: { title: '用例管理',roles:["user"] },hidden:true}, { path: 'case', component: _import('xm/core/xmTestCase/XmTestCaseList'), name: 'testCase', meta: { title: '用例管理',roles:["user"] },hidden:true},
{ path: 'flow', component: _import('xm/core/xmTestCase/XmTestCaseFlow'), name: 'testFlow', meta: { title: '用例评审',roles:["user"] },hidden:true}, { path: 'flow', component: _import('xm/core/xmTestCase/XmTestCaseFlow'), name: 'testFlow', meta: { title: '用例评审',roles:["user"] },hidden:true},
{ path: 'plan', component: _import('xm/core/xmTestPlan/Overview'), name: 'testPlan', meta: { title: '测试计划',roles:["user"] },hidden:true}, { path: 'plan', component: _import('xm/core/xmTestPlan/Overview'), name: 'testPlan', meta: { title: '测试计划',roles:["user"] },hidden:true},
{ path: 'plan/detail', component: _import('xm/core/xmTestPlan/Detail'), name: 'testPlanDetail', meta: { title: '测试计划明细',roles:["user"] },hidden:true},
{ path: 'group', component: _import('xm/core/xmGroup/XmGroupForTest'), name: 'testGroup', meta: { title: '团队',roles:["user"] },hidden:true}, { path: 'group', component: _import('xm/core/xmGroup/XmGroupForTest'), name: 'testGroup', meta: { title: '团队',roles:["user"] },hidden:true},
{ path: 'rpt', component: _import('xm/rpt/index/indexForTest'), name: 'testRpt', meta: { title: '统计分析',roles:["user"] },hidden:true}, { path: 'rpt', component: _import('xm/rpt/index/indexForTest'), name: 'testRpt', meta: { title: '统计分析',roles:["user"] },hidden:true},

46
src/views/xm/core/xmTestPlan/Detail.vue

@ -0,0 +1,46 @@
<template>
<section>
<xm-test-plan-info v-if="xmTestPlan && xmTestPlan.id" :xm-test-casedb="testCasedb" :xm-test-plan="xmTestPlan"></xm-test-plan-info>
</section>
</template>
<script>
import { mapGetters } from 'vuex';
import XmTestPlanInfo from './XmTestPlanInfo'
export default {
computed: {
...mapGetters([
'userInfo','roles','testCasedb'
]),
},
watch:{
},
data() {
return {
xmTestPlan:null,
}
},//end data
methods: {
},//end methods
components: {
XmTestPlanInfo,
//
},
mounted() {
var planId=this.$route.query.id
if(planId){
var key="xm-test-plan-info-"+planId
var str=sessionStorage.getItem(key)
if(str && str!='null' && str!='undefined'){
this.xmTestPlan=JSON.parse(str)
}
}
}
}
</script>
<style scoped>
</style>

6
src/views/xm/core/xmTestPlan/Overview.vue

@ -1,12 +1,12 @@
<template> <template>
<section> <section>
<xm-test-plan-info v-if="testCasedb&&testCasedb.id" :xm-test-casedb="testCasedb"></xm-test-plan-info>
<xm-test-plan-mng v-if="testCasedb&&testCasedb.id" :xm-test-casedb="testCasedb"></xm-test-plan-mng>
</section> </section>
</template> </template>
<script> <script>
import { mapGetters } from 'vuex'; import { mapGetters } from 'vuex';
import XmTestPlanInfo from './XmTestPlanInfo'
import XmTestPlanMng from './XmTestPlanMng'
export default { export default {
computed: { computed: {
@ -25,7 +25,7 @@
},//end methods },//end methods
components: { components: {
XmTestPlanInfo,
XmTestPlanMng,
// //
}, },
mounted() { mounted() {

13
src/views/xm/core/xmTestPlan/XmTestPlanInfo.vue

@ -4,9 +4,9 @@
</el-row> </el-row>
<el-row> <el-row>
<el-row v-if="activeIndex=='testPlanCase'&& xmTestPlan && xmTestPlan.id">
<el-row v-if=" xmTestPlan && xmTestPlan.id">
<el-row class="border padding-left padding-right"> <el-row class="border padding-left padding-right">
<el-button icon="el-icon-back" @click="activeIndex='testPlan'" type="text"></el-button>
<el-button icon="el-icon-back" @click="goBackToPlanList()" type="text"></el-button>
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
{{xmTestPlan.name}} {{xmTestPlan.name}}
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
@ -47,8 +47,7 @@
<xm-rpt key="xmRpt" ref="xmRpt" :xm-test-casedb="xmTestCasedb" :xm-test-plan="xmTestPlan" :xm-product="{id:xmTestCasedb.productId,productName:xmTestCasedb.productName}" :xm-project="{id:xmTestPlan.projectId,name:xmTestPlan.projectName}" category="测试计划级"></xm-rpt > <xm-rpt key="xmRpt" ref="xmRpt" :xm-test-casedb="xmTestCasedb" :xm-test-plan="xmTestPlan" :xm-product="{id:xmTestCasedb.productId,productName:xmTestCasedb.productName}" :xm-project="{id:xmTestPlan.projectId,name:xmTestPlan.projectName}" category="测试计划级"></xm-rpt >
</el-row> </el-row>
</el-row> </el-row>
<xm-test-plan-mng v-else @select="onTestPlanSelect" :xm-test-casedb="xmTestCasedb"> </xm-test-plan-mng>
</el-row>
</el-row>
</section> </section>
</template> </template>
@ -72,7 +71,7 @@ export default {
"xm-test-case-mng":()=>import("../xmTestCase/XmTestCaseMng.vue"), "xm-test-case-mng":()=>import("../xmTestCase/XmTestCaseMng.vue"),
"xm-test-plan-case-mng":()=>import("../xmTestPlanCase/XmTestPlanCaseMng.vue") "xm-test-plan-case-mng":()=>import("../xmTestPlanCase/XmTestPlanCaseMng.vue")
}, },
props:['visible','xmTestCasedb'],
props:['visible','xmTestCasedb','xmTestPlan'],
computed: { computed: {
...mapGetters(['userInfo']), ...mapGetters(['userInfo']),
calcProgress(){ calcProgress(){
@ -132,7 +131,6 @@ export default {
testPlanStatus:[], testPlanStatus:[],
}, },
activeIndex:'testPlan',//testPlanCase,testPlan activeIndex:'testPlan',//testPlanCase,testPlan
xmTestPlan:null,
subPage:'testPlanCase',//testPlanCase,testBug subPage:'testPlanCase',//testPlanCase,testBug
} }
},//end data },//end data
@ -161,6 +159,9 @@ export default {
}) })
} }
}) })
},
goBackToPlanList(){
this.$router.go(-1);
} }
},//end methods },//end methods

16
src/views/xm/core/xmTestPlan/XmTestPlanListForProject.vue

@ -196,13 +196,15 @@ export default {
this.visible=true this.visible=true
}, },
select(row){ select(row){
this.$route.push({
path:'/xm/core/test/plan',
query:{
var key="xm-test-plan-info-"+row.id
sessionStorage.setItem(key,JSON.stringify(row))
this.$router.push({
path:'/xm/core/test/plan/detail',
query:{
casedbId:row.casedbId, casedbId:row.casedbId,
id:row.id
}
})
id:row.id
}
})
} }
},//end methods },//end methods
@ -210,7 +212,7 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
initDicts(this); initDicts(this);
this.initData() this.initData()
//this.searchXmTestPlans();
this.searchXmTestPlans();
this.maxTableHeight = util.calcTableMaxHeight(this.$refs.xmTestPlanTable.$el) this.maxTableHeight = util.calcTableMaxHeight(this.$refs.xmTestPlanTable.$el)
}); });

10
src/views/xm/core/xmTestPlan/XmTestPlanMng.vue

@ -338,7 +338,15 @@ export default {
}, },
goToTestPlanCase(row){ goToTestPlanCase(row){
this.$emit('select',row);// @row-click="rowClick"
var key="xm-test-plan-info-"+row.id
sessionStorage.setItem(key,JSON.stringify(row))
this.$router.push({
path:'/xm/core/test/plan/detail',
query:{
casedbId:row.casedbId,
id:row.id
}
})
}, },
calcXmTestPlan(row){ calcXmTestPlan(row){
calcXmTestPlan({id:row.id}).then(res=>{ calcXmTestPlan({id:row.id}).then(res=>{

Loading…
Cancel
Save