diff --git a/src/views/xm/core/xmTestPlan/XmTestPlanInfo.vue b/src/views/xm/core/xmTestPlan/XmTestPlanInfo.vue
index 4dde3ec6..4f41bdcd 100644
--- a/src/views/xm/core/xmTestPlan/XmTestPlanInfo.vue
+++ b/src/views/xm/core/xmTestPlan/XmTestPlanInfo.vue
@@ -54,10 +54,7 @@
import util from '@/common/js/util';//全局公共库
import config from '@/common/config';//全局公共库
- import XmTestCaseMng from '../xmTestCase/XmTestCaseMng';//新增修改界面
-import XmTestPlanMng from '../xmTestPlan/XmTestPlanMng';//新增修改界面
-import XmTestPlanCaseMng from '../xmTestPlanCase/XmTestPlanCaseMng';//新增修改界面
-import { mapGetters } from 'vuex'
+ import { mapGetters } from 'vuex'
import XmProductSelect from '@/views/xm/core/components/XmProductSelect';//修改界面
import XmQuestionMng from '@/views/xm/core/xmQuestion/XmQuestionMng';//修改界面
import { initDicts } from '@/api/xm/core/xmTestPlan';
@@ -66,8 +63,11 @@ import { listXmTestPlan,calcXmTestPlan } from '@/api/xm/core/xmTestPlan';
export default {
name:'xmTestCasedbMng',
components: {
- XmProductSelect, XmTestPlanMng,XmTestPlanCaseMng,XmQuestionMng,
- "xm-test-plan-rpt":()=>import("./rpt/index.vue")
+ XmProductSelect,XmQuestionMng,
+ "xm-test-plan-rpt":()=>import("./rpt/index.vue"),
+ "xm-test-plan-mng":()=>import("../xmTestPlan/XmTestPlanMng.vue"),
+ "xm-test-case-mng":()=>import("../xmTestCase/XmTestCaseMng.vue"),
+ "xm-test-plan-case-mng":()=>import("../xmTestPlanCase/XmTestPlanCaseMng.vue")
},
props:['visible','xmTestCasedb'],
computed: {
diff --git a/src/views/xm/core/xmTestPlan/rpt/CompsCard.vue b/src/views/xm/core/xmTestPlan/rpt/CompsCard.vue
index 1e17bbb8..73ff2bfc 100644
--- a/src/views/xm/core/xmTestPlan/rpt/CompsCard.vue
+++ b/src/views/xm/core/xmTestPlan/rpt/CompsCard.vue
@@ -57,7 +57,7 @@ import VueGridLayout from 'vue-grid-layout';
import { mapGetters } from 'vuex'
import XmTestPlanMng from '@/views/xm/core/xmTestPlan/XmTestPlanMng'
import CompsSet from '@/views/xm/core/xmTestPlan/rpt/CompsSet'
-import XmQuestionAgeDist from '@/views/xm/core/xmTestPlan/rpt/biz/questionAgeDist'
+import XmQuestionAgeDist from '@/views/xm/core/xmTestPlan/rpt/biz/questionAgeDist'
import xmQuestionAttDist from '@/views/xm/core/xmTestPlan/rpt/biz/questionAttDist'
import xmQuestionRetestDist from '@/views/xm/core/xmTestPlan/rpt/biz/questionRetestDist'
import xmQuestionHandlerUserSort from '@/views/xm/core/xmTestPlan/rpt/biz/questionHandlerUserSort'
@@ -87,7 +87,14 @@ export default {
xmTestRptOverview,
xmQuestionRetestDist,
xmTestCaseToPlanCalc,
- xmTestDayTimesCalc
+ xmTestDayTimesCalc,
+
+ "xmQuestionBugReasonDist":()=>import("./biz/questionBugReasonDist.vue"),
+ "xmQuestionBugStatusDist":()=>import("./biz/questionBugStatusDist.vue"),
+ "xmQuestionBugTypeDist":()=>import("./biz/questionBugTypeDist.vue"),
+ "xmQuestionRepRateDist":()=>import("./biz/questionRepRateDist.vue"),
+ "xmQuestionBugSeverityDist":()=>import("./biz/questionBugSeverityDist.vue"),
+ "xmQuestionPriorityDist":()=>import("./biz/questionPriorityDist.vue"),
},
props:['xmTestPlan','rptConfigVisible'],
diff --git a/src/views/xm/core/xmTestPlan/rpt/CompsSet.vue b/src/views/xm/core/xmTestPlan/rpt/CompsSet.vue
index 313262ab..827e1235 100644
--- a/src/views/xm/core/xmTestPlan/rpt/CompsSet.vue
+++ b/src/views/xm/core/xmTestPlan/rpt/CompsSet.vue
@@ -89,14 +89,14 @@ export default {
isChecked: false,
},
{
- compId: 'xmQuestionFuncDist',
+ compId: 'xmQuestionFuncSort',
icon: lineStack,
name: '缺陷模块分布',
compDesc: '统计缺陷在各个模块的分布情况',
isChecked: false,
},
{
- compId: 'xmQuestionMenuDist',
+ compId: 'xmQuestionMenuSort',
icon: lineStack,
name: '缺陷故事分布',
compDesc: '统计缺陷在各个用户故事的分布情况',
@@ -112,29 +112,71 @@ export default {
{
compId: 'xmQuestionHandlerUserSort',
icon: bar,
- name: '缺陷人员排行榜',
+ name: '缺陷负责人员排行榜',
compDesc: '统计每个负责人的缺陷总数,并按大小进行排序',
isChecked: false,
},
{
- compId: 'xmQuestionStateDist',
+ compId: 'xmQuestionRetestDist',
+ icon: pieSimple,
+ name: '缺陷回归测试分布',
+ compDesc: '统计回归测试的次数与缺陷数',
+ isChecked: false,
+ },
+ {
+ compId: 'xmQuestionAttDist',
+ icon: pieSimple,
+ name: '缺陷属性分布',
+ compDesc: '按缺陷的属性进行统计,多种属性可选择',
+ isChecked: false,
+ },
+ {
+ compId: 'xmQuestionBugStatusDist',
icon: pieSimple,
name: '缺陷状态分布',
- compDesc: '按缺陷处理情况进行统计',
+ compDesc: '按缺陷状态进行分组统计',
isChecked: false,
},
{
- compId: 'xmQuestionRetestDist',
+ compId: 'xmQuestionBugReasonDist',
icon: pieSimple,
- name: '缺陷回归分布',
- compDesc: '统计回归测试的缺陷数',
+ name: '缺陷原因分布',
+ compDesc: '按缺陷原因进行分组统计',
isChecked: false,
},
{
- compId: 'xmQuestionAttDist',
+ compId: 'xmQuestionBugTypeDist',
icon: pieSimple,
- name: '缺陷属性分布',
- compDesc: '按缺陷的属性进行统计,多种属性可选择',
+ name: '缺陷类型分布',
+ compDesc: '按缺陷类型进行分组统计',
+ isChecked: false,
+ },
+ {
+ compId: 'xmQuestionRepRateDist',
+ icon: pieSimple,
+ name: '缺陷重新频率分布',
+ compDesc: '按缺陷出现频率进行分组统计',
+ isChecked: false,
+ },
+ {
+ compId: 'xmQuestionBugSolutionDist',
+ icon: pieSimple,
+ name: '缺陷解决方案分布',
+ compDesc: '按缺陷解决方案进行分组统计',
+ isChecked: false,
+ },
+ {
+ compId: 'xmQuestionBugSeverityDist',
+ icon: pieSimple,
+ name: '缺陷紧急程度分布',
+ compDesc: '按缺陷紧急程度进行分组统计',
+ isChecked: false,
+ },
+ {
+ compId: 'xmQuestionPriorityDist',
+ icon: pieSimple,
+ name: '缺陷优先级分布',
+ compDesc: '按缺陷优先级进行分组统计',
isChecked: false,
},
{
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/question.vue b/src/views/xm/core/xmTestPlan/rpt/biz/question.vue
new file mode 100644
index 00000000..11d09b8e
--- /dev/null
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/question.vue
@@ -0,0 +1,334 @@
+
+
+
+
+
+
+ 删除
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionAskUserSort.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionAskUserSort.vue
index c5009897..4a7b84a7 100644
--- a/src/views/xm/core/xmTestPlan/rpt/biz/questionAskUserSort.vue
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionAskUserSort.vue
@@ -32,6 +32,9 @@ export default {
methods: {
+ sizeAutoChange(){
+ this.refs[this.compCfg.id].sizeAutoChange()
+ }
},
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionAttDist.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionAttDist.vue
index 8831bd5f..11d09b8e 100644
--- a/src/views/xm/core/xmTestPlan/rpt/biz/questionAttDist.vue
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionAttDist.vue
@@ -81,7 +81,7 @@
components: {
XmIterationSelect,XmProductSelect,
},
- props:['xmTestPlan','xmRptConfig','compCfg'],
+ props:['xmTestPlan','xmRptConfig','compCfg','groupBy'],
computed: {
...mapGetters([
'userInfo','roles'
@@ -298,7 +298,9 @@
this.filters.projectId=this.xmTestPlan.projectId
this.filters.planId=this.xmTestPlan.id
}
-
+ if(this.groupBy){
+ this.filters.groupBy=this.groupBy
+ }
if(this.compCfg && this.compCfg.params){
Object.assign(this.filters,this.compCfg.params)
}
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionBugReasonDist.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionBugReasonDist.vue
new file mode 100644
index 00000000..5e70f285
--- /dev/null
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionBugReasonDist.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionBugSeverityDist.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionBugSeverityDist.vue
new file mode 100644
index 00000000..7510bf43
--- /dev/null
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionBugSeverityDist.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionBugSolutionDist.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionBugSolutionDist.vue
new file mode 100644
index 00000000..1b88b9ee
--- /dev/null
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionBugSolutionDist.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionBugStatusDist.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionBugStatusDist.vue
new file mode 100644
index 00000000..94fa2f36
--- /dev/null
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionBugStatusDist.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionBugTypeDist.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionBugTypeDist.vue
new file mode 100644
index 00000000..756a002b
--- /dev/null
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionBugTypeDist.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionFuncSort.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionFuncSort.vue
index a15d2e7b..76e12dac 100644
--- a/src/views/xm/core/xmTestPlan/rpt/biz/questionFuncSort.vue
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionFuncSort.vue
@@ -32,6 +32,9 @@ export default {
methods: {
+ sizeAutoChange(){
+ this.refs[this.compCfg.id].sizeAutoChange()
+ }
},
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionHandlerUserSort.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionHandlerUserSort.vue
index ee5d84fc..30e64fcf 100644
--- a/src/views/xm/core/xmTestPlan/rpt/biz/questionHandlerUserSort.vue
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionHandlerUserSort.vue
@@ -32,6 +32,9 @@ export default {
methods: {
+ sizeAutoChange(){
+ this.refs[this.compCfg.id].sizeAutoChange()
+ }
},
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionMenuSort.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionMenuSort.vue
index e27b9cf3..0356362c 100644
--- a/src/views/xm/core/xmTestPlan/rpt/biz/questionMenuSort.vue
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionMenuSort.vue
@@ -32,6 +32,9 @@ export default {
methods: {
+ sizeAutoChange(){
+ this.refs[this.compCfg.id].sizeAutoChange()
+ }
},
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionPriorityDist.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionPriorityDist.vue
new file mode 100644
index 00000000..756a002b
--- /dev/null
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionPriorityDist.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionRepRateDist.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionRepRateDist.vue
new file mode 100644
index 00000000..d9e521cc
--- /dev/null
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionRepRateDist.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionRetestDist.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionRetestDist.vue
index cd996c72..01b4f1ff 100644
--- a/src/views/xm/core/xmTestPlan/rpt/biz/questionRetestDist.vue
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionRetestDist.vue
@@ -80,7 +80,7 @@
'userInfo','roles'
]),
- xmQuestionRetestsCpd(){
+ xmQuestionRetestDistsCpd(){
var def=[
{name:"1次",value:0} ,
{name:"2次",value:0} ,
@@ -89,11 +89,11 @@
{name:"5次",value:0} ,
{name:"5次以上",value:0}
]
- if(this.xmQuestionRetests.length==0){
+ if(this.xmQuestionRetestDists.length==0){
return def
}else{
var datas=[]
- this.xmQuestionRetests.forEach(i=>{
+ this.xmQuestionRetestDists.forEach(i=>{
var data={}
if(i.retimes>5){
data.name="5次以上"
@@ -186,7 +186,7 @@
{
type: 'pie',
radius: '50%',
- data: this.xmQuestionRetestsCpd,
+ data: this.xmQuestionRetestDistsCpd,
emphasis: {
itemStyle: {
shadowBlur: 10,
@@ -247,6 +247,7 @@
if(this.compCfg && this.compCfg.params){
Object.assign(this.filters,this.compCfg.params)
}
+ this.drawCharts();
},
sizeAutoChange(){
this.myChart.resize();
diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/testDayTimesCalc.vue b/src/views/xm/core/xmTestPlan/rpt/biz/testDayTimesCalc.vue
index 3fdce4a8..84f68ebc 100644
--- a/src/views/xm/core/xmTestPlan/rpt/biz/testDayTimesCalc.vue
+++ b/src/views/xm/core/xmTestPlan/rpt/biz/testDayTimesCalc.vue
@@ -63,7 +63,7 @@
},
watch: {
- xmTestDayTimesListCpd(){
+ testDayTimesCpd(){
this.drawCharts();
}
},
diff --git a/src/views/xm/core/xmTestPlanCase/XmTestPlanCaseMng.vue b/src/views/xm/core/xmTestPlanCase/XmTestPlanCaseMng.vue
index b8987128..68f4d1a7 100644
--- a/src/views/xm/core/xmTestPlanCase/XmTestPlanCaseMng.vue
+++ b/src/views/xm/core/xmTestPlanCase/XmTestPlanCaseMng.vue
@@ -103,7 +103,7 @@ export default {
components: {
XmTestPlanCaseEdit,XmTestCaseSelect,XmFuncSelect,MdpSelectUserXm,
},
- props:['visible','xmTestPlan','xmTestCasedb','xmTestCase','xmProduct','select'],
+ props:['visible','xmTestPlan','xmTestCasedb','xmTestCase','xmProduct','xmProject','select'],
computed: {
...mapGetters(['userInfo']),
xmProductCpd(){
diff --git a/src/views/xm/rpt/product/questionRetestDist.vue b/src/views/xm/rpt/product/questionRetestDist.vue
index 1104f2e9..21cc5fc2 100644
--- a/src/views/xm/rpt/product/questionRetestDist.vue
+++ b/src/views/xm/rpt/product/questionRetestDist.vue
@@ -109,7 +109,7 @@
...mapGetters([
'userInfo','roles'
]),
- xmQuestionRetestsCpd(){
+ xmQuestionRetestDistsCpd(){
var def=[
{name:"1次",value:0} ,
{name:"2次",value:0} ,
@@ -118,11 +118,11 @@
{name:"5次",value:0} ,
{name:"5次以上",value:0}
]
- if(this.xmQuestionRetests.length==0){
+ if(this.xmQuestionRetestDists.length==0){
return def
}else{
var datas=[]
- this.xmQuestionRetests.forEach(i=>{
+ this.xmQuestionRetestDists.forEach(i=>{
var data={}
if(i.retimes>5){
data.name="5次以上"
@@ -181,7 +181,7 @@
},
watch: {
- xmQuestionRetestsCpd(){
+ xmQuestionRetestDistsCpd(){
this.drawCharts();
}
},
@@ -207,7 +207,7 @@
dateRanger:[],
maxTableHeight:300,
visible:false,
- xmQuestionRetests:[],
+ xmQuestionRetestDists:[],
pageInfo: {
//分页数据
total: 0, //服务器端收到0时,会自动计算总记录数,如果上传>0的不自动计算。
@@ -263,7 +263,7 @@
{
type: 'pie',
radius: '50%',
- data: this.xmQuestionRetestsCpd,
+ data: this.xmQuestionRetestDistsCpd,
emphasis: {
itemStyle: {
shadowBlur: 10,
@@ -282,7 +282,7 @@
)
},
onXmQuestionSomeFieldsChange(fieldName,$event){
- this.xmQuestionRetests=[]
+ this.xmQuestionRetestDists=[]
},
searchXmQuestionRetestDist(){
if(!this.groupBy){
@@ -348,7 +348,7 @@
params.orderBy = orderBys.join(",");
}
getXmQuestionRetestDist(params).then(res=>{
- this.xmQuestionRetests=res.data.data
+ this.xmQuestionRetestDists=res.data.data
})
},