From b0e787e80e62b0944e3f9db55c54060e3abad787 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Tue, 2 Aug 2022 11:44:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xm/core/xmTestPlan/rpt/CompsCard.vue | 63 ++++++++++++------- .../rpt/biz/questionAskUserSort.vue | 3 +- .../xmTestPlan/rpt/biz/questionFuncSort.vue | 3 +- .../rpt/biz/questionHandlerUserSort.vue | 3 +- .../xmTestPlan/rpt/biz/questionMenuSort.vue | 3 +- .../core/xmTestPlan/rpt/biz/questionSort.vue | 47 ++++---------- .../rpt/biz/testPlanCaseUserDist.vue | 14 ++--- src/views/xm/core/xmTestPlan/rpt/index.vue | 3 +- 8 files changed, 66 insertions(+), 73 deletions(-) diff --git a/src/views/xm/core/xmTestPlan/rpt/CompsCard.vue b/src/views/xm/core/xmTestPlan/rpt/CompsCard.vue index 7919e25d..a38c50a4 100644 --- a/src/views/xm/core/xmTestPlan/rpt/CompsCard.vue +++ b/src/views/xm/core/xmTestPlan/rpt/CompsCard.vue @@ -6,12 +6,12 @@
-
+
- +
@@ -37,8 +37,8 @@ - - + + @@ -52,10 +52,11 @@ 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 xmQuestionDayTrend from '@/views/xm/core/xmTestPlan/rpt/biz/questionDayTrend' -import xmQuestionDayAccumulate from '@/views/xm/core/xmTestPlan/rpt/biz/questionDayAccumulate' import xmQuestionAttDist from '@/views/xm/core/xmTestPlan/rpt/biz/questionAttDist' -import xmQuestionSort from '@/views/xm/core/xmTestPlan/rpt/biz/questionSort' +import xmQuestionHandlerUserSort from '@/views/xm/core/xmTestPlan/rpt/biz/questionHandlerUserSort' +import xmQuestionAskUserSort from '@/views/xm/core/xmTestPlan/rpt/biz/questionAskUserSort' +import xmQuestionMenuSort from '@/views/xm/core/xmTestPlan/rpt/biz/questionMenuSort' +import xmQuestionFuncSort from '@/views/xm/core/xmTestPlan/rpt/biz/questionFuncSort' import xmTestPlanCaseExecStatusDist from '@/views/xm/core/xmTestPlan/rpt/biz/testPlanCaseExecStatusDist' import xmTestPlanCaseUserDist from '@/views/xm/core/xmTestPlan/rpt/biz/testPlanCaseUserDist' @@ -69,40 +70,50 @@ export default { XmTestPlanMng, XmQuestionAgeDist, xmQuestionAttDist, - xmQuestionSort, + xmQuestionHandlerUserSort,xmQuestionAskUserSort,xmQuestionMenuSort,xmQuestionFuncSort, xmTestPlanCaseExecStatusDist, xmTestPlanCaseUserDist, CompsSet, }, - props:['bizId','rptConfigVisible'], + props:['xmTestPlan','rptConfigVisible'], computed: { ...mapGetters(['userInfo']), compIds(){ if(this.xmRptConfig && this.xmRptConfig.cfg){ var cfgJson=JSON.parse(this.xmRptConfig.cfg) - return cfgJson.map(k=>k.id) + return cfgJson.map(k=>k.compId) }else{ return [] } - } + }, + }, watch: { - + xmRptConfig:{ + handler(){ + this.initCompCfgList(); + }, + deep:true, + } }, data() { return { xmRptConfig:null, + compCfgList:[], maxTableHeight:300, // 布局位置数据 - layout: [ - { i: 0, x: 0, y: 12, w: 12, h: 4, compId:'XmQuestionAgeDist', }, - { i: 3, x: 0, y: 12, w: 12, h: 4, compId:'xmQuestionAttDist', }, - { i: 4, x: 0, y: 12, w: 12, h: 4, compId:'xmQuestionSort', }, - { i: 4, x: 0, y: 12, w: 12, h: 4, compId:'xmTestPlanCaseExecStatusDist', }, - { i: 4, x: 0, y: 12, w: 12, h: 4, compId:'xmTestPlanCaseUserDist', }, + initCompCfg: [ + { id:'xmQuestionAgeDist',name:'缺陷年龄分布',compId:'xmQuestionAgeDist', params:[] }, + { id:'xmQuestionAttDist',name:'缺陷属性分布',compId:'xmQuestionAttDist', }, + { id:'xmQuestionHandlerUserSort',name:'缺陷负责人排行榜',compId:'xmQuestionHandlerUserSort', }, + { id:'xmQuestionAskUserSort',name:'缺陷提出人排行榜', compId:'xmQuestionAskUserSort', }, + { id:'xmQuestionMenuSort',name:'缺陷需求分布', compId:'xmQuestionMenuSort', }, + { id:'xmQuestionFuncSort',name:'缺陷模块分布', compId:'xmQuestionFuncSort', }, + { id:'xmTestPlanCaseExecStatusDist',name:'用例执行结果分布', compId:'xmTestPlanCaseExecStatusDist', }, + { id:'xmTestPlanCaseUserDist',name:'用例执行人情况分布', compId:'xmTestPlanCaseUserDist', }, ], @@ -113,12 +124,20 @@ export default { methods: { getXmRptConfig(){ - if(!this.bizId){ + if(!this.xmTestPlan){ return; } - listXmRptConfig({bizId:this.bizId}).then(res=>{ + listXmRptConfig({bizId:this.xmTestPlan.id}).then(res=>{ this.xmRptConfig=res.data.data[0] }) + }, + initCompCfgList(){ + if(this.xmRptConfig && this.xmRptConfig.cfg){ + var cfgJson=JSON.parse(this.xmRptConfig.cfg) + this.compCfgList=cfgJson; + }else{ + this.compCfgList=JSON.parse(JSON.stringify(this.initCompCfg)) + } } }, diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionAskUserSort.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionAskUserSort.vue index ff46506a..32d86b63 100644 --- a/src/views/xm/core/xmTestPlan/rpt/biz/questionAskUserSort.vue +++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionAskUserSort.vue @@ -1,7 +1,7 @@ @@ -13,6 +13,7 @@ import { mapGetters } from 'vuex' import dayjs from 'dayjs' export default { + props:['xmTestPlan','compCfg'], components: {questionSort}, computed: { ...mapGetters([ diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionFuncSort.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionFuncSort.vue index 62b133cc..860d3ea0 100644 --- a/src/views/xm/core/xmTestPlan/rpt/biz/questionFuncSort.vue +++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionFuncSort.vue @@ -1,7 +1,7 @@ @@ -13,6 +13,7 @@ import { mapGetters } from 'vuex' import dayjs from 'dayjs' export default { + props:['xmTestPlan','compCfg'], components: {questionSort}, computed: { ...mapGetters([ diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionHandlerUserSort.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionHandlerUserSort.vue index 78e1f2b5..58d66f07 100644 --- a/src/views/xm/core/xmTestPlan/rpt/biz/questionHandlerUserSort.vue +++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionHandlerUserSort.vue @@ -1,7 +1,7 @@ @@ -13,6 +13,7 @@ import { mapGetters } from 'vuex' import dayjs from 'dayjs' export default { + props:['xmTestPlan','compCfg'], components: {questionSort}, computed: { ...mapGetters([ diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionMenuSort.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionMenuSort.vue index 8d35f47c..ca7d87ef 100644 --- a/src/views/xm/core/xmTestPlan/rpt/biz/questionMenuSort.vue +++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionMenuSort.vue @@ -1,7 +1,7 @@ @@ -13,6 +13,7 @@ import { mapGetters } from 'vuex' import dayjs from 'dayjs' export default { + props:['xmTestPlan','compCfg'], components: {questionSort}, computed: { ...mapGetters([ diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/questionSort.vue b/src/views/xm/core/xmTestPlan/rpt/biz/questionSort.vue index 09cc2731..2283202c 100644 --- a/src/views/xm/core/xmTestPlan/rpt/biz/questionSort.vue +++ b/src/views/xm/core/xmTestPlan/rpt/biz/questionSort.vue @@ -60,7 +60,7 @@
-
@@ -83,7 +83,7 @@ components: { XmIterationSelect,XmProductSelect, }, - props:['xmTestPlan','xmRptConfig','comp','groupBy'], + props:['xmTestPlan','compCfg','groupBy'], computed: { ...mapGetters([ 'userInfo','roles' @@ -96,7 +96,7 @@ } }, title(){ - return this.groupBys.find(i=>i.id==this.filters.groupBy).name+'排行榜' + return compCfg.name }, legendCpd(){ if(this.xmQuestionSorts.length==0){ @@ -104,7 +104,11 @@ }else{ return this.xmQuestionSorts.map(i=>i.name) } - } + }, + id(){ + return compCfg.id + }, + }, watch: { @@ -151,7 +155,7 @@ }, drawCharts() { - this.myChart = this.$echarts.init(document.getElementById("xmQuestionSort")); + this.myChart = this.$echarts.init(document.getElementById(this.id)); this.myChart.setOption( { xAxis: { @@ -184,35 +188,7 @@ total: this.pageInfo.total, count: this.pageInfo.count, }; - if(this.filters.solution){ - params.solution=this.filters.solution - } - if(this.filters.bugType){ - params.bugType=this.filters.bugType - } - if(this.filters.bugStatus){ - params.bugStatus=this.filters.bugStatus - } - if(this.filters.bugReason){ - params.bugReason=this.filters.bugReason - } - if(this.filters.bugSeverity){ - params.bugSeverity=this.filters.bugSeverity - } - if(this.filters.repRate){ - params.repRate=this.filters.repRate - } - if(this.filters.priority){ - params.priority=this.filters.priority - } - params.groupBy=this.filters.groupBy - if(this.filters.product){ - params.productId=this.filters.product.id - } - - if(this.filters.iteration){ - params.iterationId=this.filters.iteration.id - } + Object.assign(params,this.filters) if ( @@ -257,8 +233,7 @@ this.filters.projectId=this.xmTestPlan.projectId this.filters.planId=this.xmTestPlan.id } - if(this.xmRptConfig && this.xmRptConfig.cfg){ - var compCfg=this.xmRptConfig.cfg.find(k=>k.id==this.comp.id) + if(this.compCfg && compCfg.id){ if(compCfg && compCfg.params){ compCfg.params.forEach(k=>{ this.filters[k.id]=k.value diff --git a/src/views/xm/core/xmTestPlan/rpt/biz/testPlanCaseUserDist.vue b/src/views/xm/core/xmTestPlan/rpt/biz/testPlanCaseUserDist.vue index 53021e0d..d962dcf5 100644 --- a/src/views/xm/core/xmTestPlan/rpt/biz/testPlanCaseUserDist.vue +++ b/src/views/xm/core/xmTestPlan/rpt/biz/testPlanCaseUserDist.vue @@ -44,21 +44,15 @@ xmTestPlanCaseUserDistsCpd(){ if(this.xmTestPlanCaseUserDists.length==0){ return [] - }else{ - var itemId="testPlanTcode"; - return this.xmTestPlanCaseUserDists.map(i=>{ - var data={...i} - data.name=this.formatDict(itemId,data.name) - return data; - }) + }else{ + return this.xmTestPlanCaseUserDists } }, title(){ return '成员执行结果数量分布' }, - legendCpd(){ - var itemId="testPlanTcode"; - return this.dicts[itemId].map(i=>i.name) + legendCpd(){ + return ['已执行','未执行'] } }, diff --git a/src/views/xm/core/xmTestPlan/rpt/index.vue b/src/views/xm/core/xmTestPlan/rpt/index.vue index d9a36be9..9a2df50c 100644 --- a/src/views/xm/core/xmTestPlan/rpt/index.vue +++ b/src/views/xm/core/xmTestPlan/rpt/index.vue @@ -4,7 +4,7 @@ 取消配置保存配置
- + @@ -18,6 +18,7 @@ import { mapGetters } from 'vuex' import dayjs from 'dayjs' export default { + props:['xmTestPlan'], components: {compsSet, compsCard}, computed: { ...mapGetters([