diff --git a/src/api/xm/core/xmQuestion.js b/src/api/xm/core/xmQuestion.js index fab4752a..47d999f8 100644 --- a/src/api/xm/core/xmQuestion.js +++ b/src/api/xm/core/xmQuestion.js @@ -34,3 +34,10 @@ export const editStatus = params => { return axios.post(`${base}/xm/core/xmQuest export const editXmQuestionSomeFields = params => { return axios.post(`${base}/xm/core/xmQuestion/editSomeFields`, params); }; +export const getXmQuestionAttDist = params => { return axios.get(`${base}/xm/core/xmQuestion/getXmQuestionAttDist`, { params: params }); }; + + + +export const getXmQuestionAgeDist = params => { return axios.get(`${base}/xm/core/xmQuestion/getXmQuestionAgeDist`, { params: params }); }; + + diff --git a/src/api/xm/core/xmTask.js b/src/api/xm/core/xmTask.js index 5ed1ee92..28e53e75 100644 --- a/src/api/xm/core/xmTask.js +++ b/src/api/xm/core/xmTask.js @@ -59,6 +59,15 @@ export const editXmTaskSomeFields = params => { return axios.post(`${base}/xm/co +export const getXmTaskAttDist = params => { return axios.get(`${base}/xm/core/xmTask/getXmTaskAttDist`, { params: params }); }; + + + +export const getXmTaskAgeDist = params => { return axios.get(`${base}/xm/core/xmTask/getXmTaskAgeDist`, { params: params }); }; + + + + diff --git a/src/views/xm/rpt/product/questionAgeDist.vue b/src/views/xm/rpt/product/questionAgeDist.vue new file mode 100644 index 00000000..ac6b2c96 --- /dev/null +++ b/src/views/xm/rpt/product/questionAgeDist.vue @@ -0,0 +1,233 @@ + + + + + \ No newline at end of file diff --git a/src/views/xm/rpt/product/questionAttDist.vue b/src/views/xm/rpt/product/questionAttDist.vue new file mode 100644 index 00000000..af03b98f --- /dev/null +++ b/src/views/xm/rpt/product/questionAttDist.vue @@ -0,0 +1,288 @@ + + + + + \ No newline at end of file diff --git a/src/views/xm/rpt/reportIndex.vue b/src/views/xm/rpt/reportIndex.vue index 036aa516..439cfaa9 100644 --- a/src/views/xm/rpt/reportIndex.vue +++ b/src/views/xm/rpt/reportIndex.vue @@ -26,6 +26,8 @@ + + @@ -41,6 +43,8 @@ import xmMenuAgeDist from './product/menuAgeDist' import xmProductWorkItemDayList from './product/productWorkItemDayList' + import xmQuestionAttDist from './product/questionAttDist' + import xmQuestionAgeDist from './product/questionAgeDist' import pieSimple from './images/pie-simple.png' import lineStack from './images/line-stack.png' @@ -51,7 +55,7 @@ export default { components: { - xmIterationBurnout,xmMenuDayTrend,xmMenuDayAccumulate,xmMenuAttDist,xmMenuAgeDist,xmProductWorkItemDayList, + xmIterationBurnout,xmMenuDayTrend,xmMenuDayAccumulate,xmMenuAttDist,xmMenuAgeDist,xmProductWorkItemDayList,xmQuestionAttDist,xmQuestionAgeDist }, props:['xmProduct','xmIteration','xmProject'], computed: { @@ -99,6 +103,8 @@ {rptName:'需求属性分布',category:'产品级',ref:'xmMenuAttDist',desc:'统计所有需求任意属性数量分布情况(实时数据)',img:pieSimple }, {rptName:'需求年龄分布',category:'产品级',ref:'xmMenuAgeDist',desc:'统计所有需求年龄分布情况(实时数据)',img:pieSimple }, {rptName:'产品工作项每日趋势',category:'产品级',ref:'productWorkItemDayList',desc:'统计产品每日工作项数量分布情况',img:datasetLink }, + {rptName:'缺陷属性分布',category:'产品级',ref:'xmQuestionAttDist',desc:'统计所有缺陷任意属性数量分布情况(实时数据)',img:pieSimple }, + {rptName:'缺陷年龄分布',category:'产品级',ref:'xmQuestionAgeDist',desc:'统计所有缺陷年龄分布情况(实时数据)',img:pieSimple }, ], }//end return },//end data