diff --git a/src/views/xm/rpt/CompsCard.vue b/src/views/xm/rpt/CompsCard.vue index 6ae3de15..3c350c5f 100644 --- a/src/views/xm/rpt/CompsCard.vue +++ b/src/views/xm/rpt/CompsCard.vue @@ -7,7 +7,7 @@ - 查看历史报告 + 查看历史报告 保存报告(可供历史查询) 查看报告 退出报告 @@ -25,12 +25,15 @@
- +
- + + + + @@ -41,15 +44,17 @@ import seq from '@/common/js/sequence';//全局公共库 import VueGridLayout from 'vue-grid-layout'; import { mapGetters } from 'vuex' import CompsSet from '@/views/xm/rpt/CompsSet' +import rptDataList from '@/views/xm/rpt/rptDataList' +import { addXmRptData } from '@/api/xm/core/xmRptData'; -import { initDicts,listXmRptConfig, delXmRptConfig,editXmRptConfig,addXmRptConfig,batchDelXmRptConfig,editSomeFieldsXmRptConfig } from '@/api/xm/core/xmRptConfig'; +import { listXmRptConfig,editXmRptConfig,addXmRptConfig } from '@/api/xm/core/xmRptConfig'; export default { components: { GridLayout: VueGridLayout.GridLayout, GridItem: VueGridLayout.GridItem, - CompsSet, + CompsSet, rptDataList, xmTestRptOverview:()=>import("../core/xmTestPlan/xmTestRptOverview.vue"), xmMenuDayTrend:()=>import("./product/menuDayTrend.vue"), xmMenuDayAccumulate:()=>import("./product/menuDayTrend.vue"), @@ -119,13 +124,8 @@ export default { return this.compCfgList.map(k=>k.compId) }, rptConfigParamsCpd(){ - //业务类型1-产品报告,2-迭代报告,3-测试计划报告,4-项目报告,5-企业报告 - if(this.rptDatas){ - this.rawDatas=this.rptDatas - return; - } - - var params={bizType:'5',bizId:this.userInfo.branchId,name:''} + //业务类型1-产品报告,2-迭代报告,3-测试计划报告,4-项目报告,5-企业报告 + var params={bizType:'5',bizId:this.userInfo.branchId,name:''} if(this.category=='企业级'){ params.bizType='5'; params.bizId=this.userInfo.branchId @@ -192,12 +192,13 @@ export default { isRptCfg:false, isRptShow:false, xmRptConfig:null, + xmRptData:null, compCfgList:[], maxTableHeight:300, // 布局列数 layoutColNum: 12, paramsVisible:true, - exportToolBarVisible:true, + rptDataListVisible:false, } }, @@ -213,33 +214,34 @@ export default { } }, + toQueryRptData(){ + this.rptDataListVisible=true; + }, createRptData(){ if(this.xmRptConfig==null){ this.$message.error("还没制作报告,请先制作报告") return; } - var rptData={cfgId:this.xmRptConfig.id,rptName:this.xmRptConfig.name,rptData:{}} - var compCfgList=JSON.parse(JSON.stringify(this.compCfgList)) - compCfgList=compCfgList.map(k=>{ - return {compId:k.compId,id:k.id} - }) - compCfgList.forEach(k=>{ + var xmRptData={cfgId:this.xmRptConfig.id,rptName:this.xmRptConfig.name,rptData:[]} + this.compCfgList.forEach(k=>{ if(this.$refs[k.id] && this.$refs[k.id][0].$refs && this.$refs[k.id][0].$refs[k.id]){ var com=this.$refs[k.id][0].$refs[k.id] - k.params=com.params - k.title=com.title - k.remark=com.remark + var comData={compId:k.compId,params:com.params,title:com.title,remark:com.remark} + xmRptData.rptData.push(comData) }else{ - var com=this.$refs[k.id][0] - k.params=com.params - k.title=com.title - k.remark=com.remark + var com=this.$refs[k.id][0] + var comData={compId:k.compId,params:com.params,title:com.title,remark:com.remark} + xmRptData.rptData.push(comData) } }) - xmRptConfig.cfg=JSON.stringify(compCfgList) - editXmRptConfig(xmRptConfig).then(res=>{ - this.xmRptConfig=xmRptConfig; - callback(res) + xmRptData.rptData=JSON.stringify(xmRptData.rptData) + addXmRptData(xmRptData).then(res=>{ + var tips = res.data.tips + if(tips.isOk){ + this.$message.success("报告保存成功") + }else{ + this.$message.error(tips.msg) + } }) }, undoRptCfg(){ @@ -285,18 +287,20 @@ export default { initCompCfgList(){ if(this.xmRptConfig && this.xmRptConfig.cfg){ var cfgJson=JSON.parse(this.xmRptConfig.cfg) + cfgJson.forEach(k=>k.id=k.compId+seq.sn()) this.compCfgList=cfgJson; }else{ var defList=this.$refs['compsSet'].rptListCpd if(defList && defList.length>3){ defList=defList.slice(0,3); - } + } + defList.forEach(k=>k.id=k.compId+seq.sn()) this.compCfgList=JSON.parse(JSON.stringify(defList)) } }, onCompSelect(comp){ - if(this.compCfgList.some(k=>k.id==comp.id)){ - var compCfg=this.compCfgList.find(k=>k.id==comp.id) + if(this.compCfgList.some(k=>k.compId==comp.compId)){ + var compCfg=this.compCfgList.find(k=>k.compId==comp.compId) this.$nextTick(()=>{ this.scrollToComp(compCfg) }) @@ -328,51 +332,39 @@ export default { }, submitXmPrtConfig(callback){ if(this.xmRptConfig==null){ - var xmRptConfig={...this.rptConfigParamsCpd,cfg:[]} - var compCfgList=JSON.parse(JSON.stringify(this.compCfgList)) - compCfgList=compCfgList.map(k=>{ - return {compId:k.compId,id:k.id} - }) - compCfgList.forEach(k=>{ + var xmRptConfig={...this.rptConfigParamsCpd,cfg:[]} + this.compCfgList.forEach(k=>{ if(this.$refs[k.id] && this.$refs[k.id][0].$refs && this.$refs[k.id][0].$refs[k.id]){ var com=this.$refs[k.id][0].$refs[k.id] - k.params=com.params - k.title=com.title - k.remark=com.remark + var comData={compId:k.compId,params:com.params,title:com.title,remark:com.remark} + xmRptConfig.cfg.push(comData) }else{ var com=this.$refs[k.id][0] - k.params=com.params - k.title=com.title - k.remark=com.remark + var comData={compId:k.compId,params:com.params,title:com.title,remark:com.remark} + xmRptConfig.cfg.push(comData) } }) - xmRptConfig.cfg=JSON.stringify(compCfgList) + xmRptConfig.cfg=JSON.stringify(xmRptConfig.cfg) addXmRptConfig(xmRptConfig).then(res=>{ this.xmRptConfig=xmRptConfig; callback(res) }) }else{ - var xmRptConfig={...this.xmRptConfig,cfg:[]} - var compCfgList=JSON.parse(JSON.stringify(this.compCfgList)) - compCfgList=compCfgList.map(k=>{ - return {compId:k.compId,id:k.id} - }) - compCfgList.forEach(k=>{ + var xmRptConfig={...this.xmRptConfig,cfg:[]} + this.compCfgList.forEach(k=>{ if(this.$refs[k.id] && this.$refs[k.id][0].$refs && this.$refs[k.id][0].$refs[k.id]){ var com=this.$refs[k.id][0].$refs[k.id] - k.params=com.params - k.title=com.title - k.remark=com.remark + var comData={compId:k.compId,params:com.params,title:com.title,remark:com.remark} + xmRptConfig.cfg.push(comData) }else{ var com=this.$refs[k.id][0] - k.params=com.params - k.title=com.title - k.remark=com.remark + var comData={compId:k.compId,params:com.params,title:com.title,remark:com.remark} + xmRptConfig.cfg.push(comData) } }) - xmRptConfig.cfg=JSON.stringify(compCfgList) + xmRptConfig.cfg=JSON.stringify(xmRptConfig.cfg) editXmRptConfig(xmRptConfig).then(res=>{ this.xmRptConfig=xmRptConfig; callback(res) @@ -388,6 +380,18 @@ export default { sizeAutoChange(k){ + }, + onRptDataSelect(rptData){ + this.xmRptData=rptData + this.rptDataListVisible=false; + if(this.xmRptData && this.xmRptData.id ){ + if( this.xmRptData.cfgId==this.xmRptConfig.id){ + this.xmRptConfig.name=this.xmRptData.rptName + var cfgList=JSON.parse(this.xmRptData.rptData) + cfgList.forEach(k=>k.id=k.compId+seq.sn()) + this.compCfgList=cfgList + } + } }, exportToPdf(){ this.paramsVisible=false diff --git a/src/views/xm/rpt/CompsSet.vue b/src/views/xm/rpt/CompsSet.vue index c61d045e..c062bd33 100644 --- a/src/views/xm/rpt/CompsSet.vue +++ b/src/views/xm/rpt/CompsSet.vue @@ -183,7 +183,7 @@ export default { }, mounted(){ - this.comps.forEach(k=>k.id=k.id?k.id:k.compId) + //this.comps.forEach(k=>k.id=k.id?k.id:k.compId) this.maxTableHeight = util.calcTableMaxHeight(this.$refs.table.$el) if(this.category){ this.filters.category=this.category diff --git a/src/views/xm/rpt/project/taskAgeDist.vue b/src/views/xm/rpt/project/taskAgeDist.vue index 9623569f..22a0224e 100644 --- a/src/views/xm/rpt/project/taskAgeDist.vue +++ b/src/views/xm/rpt/project/taskAgeDist.vue @@ -18,12 +18,7 @@ - - - - - - + {{xmProject.id}}
{{ xmProject.name }}
diff --git a/src/views/xm/rpt/rptDataList.vue b/src/views/xm/rpt/rptDataList.vue new file mode 100644 index 00000000..bce2d18d --- /dev/null +++ b/src/views/xm/rpt/rptDataList.vue @@ -0,0 +1,282 @@ + + + + + \ No newline at end of file