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 }) },