You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

294 lines
22 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. <template>
  2. <section class="padding">
  3. <el-row class="page-main ">
  4. <el-select v-model="filters.category" clearable>
  5. <el-option v-for="(item,index) in categorys" :label="item" :value="item" :key="index"></el-option>
  6. </el-select>
  7. </el-row>
  8. <el-row class="padding">
  9. <el-row :style="{overflowX:'hidden',height:maxTableHeight+'px'}" ref="table" :gutter="5">
  10. <el-col v-cloak v-for="(p,i) in rptListCpd" :key="i" :xl="4" :lg="6" :md="8" :sm="12" :body-style="{ padding: '0px' }">
  11. <el-card @click.native="intoInfo(p,i)" class="project-card" shadow="always" id="prj-view-box">
  12. <img :src="p.img" class="image" style="width:100%;float:center;">
  13. <div style="padding: 14px;">
  14. <span>{{p.rptName}}</span>
  15. <div class="bottom clearfix">
  16. <time class="time">{{ p.desc }}</time>
  17. <el-button type="text" class="button"></el-button>
  18. </div>
  19. </div>
  20. </el-card>
  21. </el-col>
  22. </el-row>
  23. </el-row>
  24. <xm-iteration-burnout ref="xmIterationBurnout" :xm-iteration="xmIteration" :xm-product="xmProduct" :xm-project="xmProject"></xm-iteration-burnout>
  25. <xm-menu-day-trend ref="xmMenuDayTrend" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-menu-day-trend>
  26. <xm-menu-day-accumulate ref="xmMenuDayAccumulate" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-menu-day-accumulate>
  27. <xm-iteration-xm-menu-day-trend ref="xmIterationXmMenuDayTrend" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-iteration-xm-menu-day-trend>
  28. <xm-iteration-xm-menu-day-accumulate ref="xmIterationXmMenuDayAccumulate" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-iteration-xm-menu-day-accumulate>
  29. <xm-menu-att-dist ref="xmMenuAttDist" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-menu-att-dist>
  30. <xm-menu-age-dist ref="xmMenuAgeDist" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-menu-age-dist>
  31. <xm-menu-sort ref="xmMenuSort" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-menu-sort>
  32. <xm-task-day-trend ref="xmTaskDayTrend" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-task-day-trend>
  33. <xm-task-day-accumulate ref="xmTaskDayAccumulate" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-task-day-accumulate>
  34. <xm-task-att-dist ref="xmTaskAttDist" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-task-att-dist>
  35. <xm-task-age-dist ref="xmTaskAgeDist" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-task-age-dist>
  36. <xm-task-sort ref="xmTaskSort" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-task-sort>
  37. <xm-project-work-item-day-list ref="xmProjectWorkItemDayList" :xm-product="xmProduct" :xm-project="xmProject" ></xm-project-work-item-day-list>
  38. <xm-project-workload-set-day-list ref="xmProjectWorkloadSetDayList" :xm-product="xmProduct" :xm-project="xmProject"></xm-project-workload-set-day-list>
  39. <xm-project-workload-set-month-list ref="xmProjectWorkloadSetMonthList" :xm-product="xmProduct" :xm-project="xmProject"></xm-project-workload-set-month-list>
  40. <xm-iteration-xm-question-day-trend ref="xmIterationXmQuestionDayTrend" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-iteration-xm-question-day-trend>
  41. <xm-iteration-xm-question-day-accumulate ref="xmIterationXmQuestionDayAccumulate" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-iteration-xm-question-day-accumulate>
  42. <xm-question-day-trend ref="xmQuestionDayTrend" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-question-day-trend>
  43. <xm-question-day-accumulate ref="xmQuestionDayAccumulate" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-question-day-accumulate>
  44. <xm-question-att-dist ref="xmQuestionAttDist" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-question-att-dist>
  45. <xm-question-state-dist ref="xmQuestionStateDist" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-question-state-dist>
  46. <xm-question-age-dist ref="xmQuestionAgeDist" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-question-age-dist>
  47. <xm-question-sort ref="xmQuestionSort" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-question-sort>
  48. <xm-question-ask-user-sort ref="xmQuestionAskUserSort" init-group-by="ask_userid" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-question-ask-user-sort>
  49. <xm-question-handler-user-sort ref="xmQuestionHandlerUserSort" init-group-by="handler_userid" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-question-handler-user-sort>
  50. <xm-question-func-sort ref="xmQuestionFuncSort" init-group-by="func_id" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-question-func-sort>
  51. <xm-question-menu-sort ref="xmQuestionMenuSort" init-group-by="menu_id" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-question-menu-sort>
  52. <xm-question-retest-dist ref="xmQuestionRetestDist" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-question-retest-dist>
  53. <xm-product-work-item-day-list ref="xmProductWorkItemDayList" :xm-product="xmProduct" :xm-project="xmProject"></xm-product-work-item-day-list>
  54. <xm-iteration-work-item-day-list ref="xmIterationWorkItemDayList" :xm-product="xmProduct" :xm-project="xmProject" :xm-iteration="xmIteration"></xm-iteration-work-item-day-list>
  55. <!--测试计划-->
  56. <xm-test-plan-case-exec-status-dist ref="xmTestPlanCaseExecStatusDist" :xm-product="xmProduct" :xm-project="xmProject" :xm-test-casedb="xmTestCasedb" :xm-test-plan="xmTestPlan"></xm-test-plan-case-exec-status-dist>
  57. <xm-test-plan-case-user-dist ref="xmTestPlanCaseUserDist" :xm-product="xmProduct" :xm-project="xmProject" :xm-test-casedb="xmTestCasedb" :xm-test-plan="xmTestPlan"></xm-test-plan-case-user-dist>
  58. </section>
  59. </template>
  60. <script>
  61. import util from '@/common/js/util';//全局公共库
  62. import { initSimpleDicts } from '@/api/mdp/meta/item';//下拉框数据查询
  63. import { mapGetters } from 'vuex'
  64. import xmIterationBurnout from './iteration/burnout'
  65. import xmMenuDayTrend from './product/menuDayTrend'
  66. import xmMenuDayAccumulate from './product/menuDayAccumulate'
  67. import xmIterationXmMenuDayTrend from './iteration/menuDayTrend'
  68. import xmIterationXmMenuDayAccumulate from './iteration/menuDayAccumulate'
  69. import xmMenuAttDist from './product/menuAttDist'
  70. import xmMenuAgeDist from './product/menuAgeDist'
  71. import xmMenuSort from './product/menuSort'
  72. import xmProductWorkItemDayList from './product/productWorkItemDayList'
  73. import xmIterationWorkItemDayList from './iteration/iterationWorkItemDayList'
  74. import xmTaskDayTrend from './project/taskDayTrend'
  75. import xmTaskDayAccumulate from './project/taskDayAccumulate'
  76. import xmTaskAttDist from './project/taskAttDist'
  77. import xmTaskAgeDist from './project/taskAgeDist'
  78. import xmTaskSort from './project/taskSort'
  79. import xmProjectWorkItemDayList from './project/projectWorkItemDayList'
  80. import xmProjectWorkloadSetDayList from './project/projectWorkloadSetDayList'
  81. import xmProjectWorkloadSetMonthList from './project/projectWorkloadSetMonthList'
  82. import xmQuestionDayTrend from './product/questionDayTrend'
  83. import xmQuestionDayAccumulate from './product/questionDayAccumulate'
  84. import xmIterationXmQuestionDayTrend from './iteration/questionDayTrend'
  85. import xmIterationXmQuestionDayAccumulate from './iteration/questionDayAccumulate'
  86. import xmQuestionAttDist from './product/questionAttDist'
  87. import xmQuestionStateDist from './product/questionAttDist'
  88. import xmQuestionAgeDist from './product/questionAgeDist'
  89. import xmQuestionSort from './product/questionSort'
  90. import xmQuestionAskUserSort from './product/questionSort'
  91. import xmQuestionHandlerUserSort from './product/questionSort'
  92. import xmQuestionFuncSort from './product/questionSort'
  93. import xmQuestionMenuSort from './product/questionSort'
  94. import xmQuestionRetestDist from './product/questionRetestDist'
  95. import xmTestPlanCaseExecStatusDist from './testPlan/testPlanCaseExecStatusDist'
  96. import xmTestPlanCaseUserDist from './testPlan/testPlanCaseUserDist'
  97. import pieSimple from './images/pie-simple.png'
  98. import lineStack from './images/line-stack.png'
  99. import areaStack from './images/area-stack.png'
  100. import ranjintu from './images/ranjintu.png'
  101. import datasetLink from './images/dataset-link.png'
  102. import bar from './images/bar.png'
  103. export default {
  104. components: {
  105. xmIterationBurnout,xmMenuDayTrend,xmMenuDayAccumulate,xmMenuAttDist,xmMenuAgeDist,xmMenuSort,xmProductWorkItemDayList,xmTaskDayTrend,xmTaskDayAccumulate,xmTaskAttDist,xmTaskAgeDist,xmTaskSort,xmProjectWorkItemDayList,xmProjectWorkloadSetDayList,xmProjectWorkloadSetMonthList,xmQuestionDayTrend,xmQuestionDayAccumulate,xmQuestionAttDist,xmQuestionAgeDist,xmQuestionSort,
  106. xmIterationXmMenuDayTrend,xmIterationXmMenuDayAccumulate,xmIterationWorkItemDayList,xmIterationXmQuestionDayTrend,xmIterationXmQuestionDayAccumulate,
  107. xmTestPlanCaseExecStatusDist,xmTestPlanCaseUserDist,xmQuestionRetestDist,xmQuestionStateDist,
  108. xmQuestionAskUserSort,xmQuestionHandlerUserSort,xmQuestionFuncSort,xmQuestionMenuSort,
  109. },
  110. props:['xmProduct','xmIteration','xmProject','xmTestCasedb','xmTestPlan'],
  111. computed: {
  112. ...mapGetters([
  113. 'userInfo','roles'
  114. ]),
  115. rptListCpd(){
  116. if(!this.filters.category){
  117. return this.rptList;
  118. }else{
  119. return this.rptList.filter(i=>i.category==this.filters.category)
  120. }
  121. },
  122. categorys:function(){
  123. var map={};
  124. var list=[];
  125. this.rptList.forEach(e => {
  126. if(!map[e.category]){
  127. list.push(e.category);
  128. map[e.category]=e.category
  129. }
  130. });
  131. return list;
  132. },
  133. },
  134. watch: {
  135. },
  136. data() {
  137. return {
  138. filters:{
  139. category:'项目级',
  140. },
  141. dicts:{},//下拉选择框的所有静态数据 params=[{categoryId:'0001',itemCode:'sex'}] 返回结果 {'sex':[{optionValue:'1',optionName:'男',seqOrder:'1',fp:'',isDefault:'0'},{optionValue:'2',optionName:'女',seqOrder:'2',fp:'',isDefault:'0'}]}
  142. load:{ list: false, edit: false, del: false, add: false },//查询中...
  143. dateRanger:[],
  144. maxTableHeight:300,
  145. rptList:[/**{name:'报表名称',category:'报表分类,组织级、产品级、项目级、迭代级、需求、测试、任务',path:'路由路径',imgUrl:'图片路径',query:{参数}} */
  146. //迭代报表
  147. {rptName:'迭代燃尽图',category:'迭代级',ref:'xmIterationBurnout',desc:'跟踪迭代的剩余工作量按日期变化趋势,识别迭代当前进度情况',img:ranjintu },
  148. {rptName:'需求每日趋势',category:'迭代级',ref:'xmIterationXmMenuDayTrend',desc:'跟踪未开始、执行中、已完成、已关闭状态的需求数量按日期变化趋势,识别需求工作情况',img:lineStack },
  149. {rptName:'需求每日累积',category:'迭代级',ref:'xmIterationXmMenuDayAccumulate',desc:'跟踪未开始、执行中、已完成、已关闭状态的需求数量按日期累积情况,识别需求工作的瓶颈',img:areaStack },
  150. {rptName:'迭代工作项每日趋势',category:'迭代级',ref:'xmIterationWorkItemDayList',desc:'统计迭代每日工作项数量分布情况',img:datasetLink },
  151. {rptName:'需求属性分布',category:'迭代级',ref:'xmMenuAttDist',desc:'统计所有需求任意属性数量分布情况(实时数据)',img:pieSimple },
  152. {rptName:'需求年龄分布',category:'迭代级',ref:'xmMenuAgeDist',desc:'统计所有需求年龄分布情况(实时数据)',img:pieSimple },
  153. {rptName:'需求排行榜',category:'迭代级',ref:'xmMenuSort',desc:'需求提出人、负责人的用户故事数量排行(实时数据)',img:bar },
  154. {rptName:'缺陷每日趋势',category:'迭代级',ref:'xmIterationXmQuestionDayTrend',desc:'跟踪新提出、执行中、已解决、已关闭状态的缺陷数量按日期变化趋势,识别缺陷处理工作情况',img:lineStack },
  155. {rptName:'缺陷每日累积',category:'迭代级',ref:'xmIterationXmQuestionDayAccumulate',desc:'跟踪新提出、执行中、已解决、已关闭状态的缺陷数量按日期累积情况,识别缺陷处理工作的瓶颈',img:areaStack },
  156. {rptName:'缺陷属性分布',category:'迭代级',ref:'xmQuestionAttDist',desc:'统计所有缺陷任意属性数量分布情况(实时数据)',img:pieSimple },
  157. {rptName:'缺陷年龄分布',category:'迭代级',ref:'xmQuestionAgeDist',desc:'统计所有缺陷年龄分布情况(实时数据)',img:pieSimple },
  158. {rptName:'缺陷排行榜',category:'迭代级',ref:'xmQuestionSort',desc:'从缺陷提出人、创建人、负责人、故事等维度统计缺陷数量排行榜(实时数据)',img:bar },
  159. //产品报表
  160. {rptName:'需求每日趋势',category:'产品级',ref:'xmMenuDayTrend',desc:'跟踪未开始、执行中、已完成、已关闭状态的需求数量按日期变化趋势,识别需求工作情况',img:lineStack },
  161. {rptName:'需求每日累积',category:'产品级',ref:'xmMenuDayAccumulate',desc:'跟踪未开始、执行中、已完成、已关闭状态的需求数量按日期累积情况,识别需求工作的瓶颈',img:areaStack },
  162. {rptName:'需求属性分布',category:'产品级',ref:'xmMenuAttDist',desc:'统计所有需求任意属性数量分布情况(实时数据)',img:pieSimple },
  163. {rptName:'需求年龄分布',category:'产品级',ref:'xmMenuAgeDist',desc:'统计所有需求年龄分布情况(实时数据)',img:pieSimple },
  164. {rptName:'需求排行榜',category:'产品级',ref:'xmMenuSort',desc:'需求提出人、负责人的用户故事数量排行(实时数据)',img:bar },
  165. {rptName:'产品工作项每日趋势',category:'产品级',ref:'xmProductWorkItemDayList',desc:'统计产品每日工作项数量分布情况',img:datasetLink },
  166. {rptName:'缺陷每日趋势',category:'产品级',ref:'xmQuestionDayTrend',desc:'跟踪新提出、执行中、已解决、已关闭状态的缺陷数量按日期变化趋势,识别缺陷处理工作情况',img:lineStack },
  167. {rptName:'缺陷每日累积',category:'产品级',ref:'xmQuestionDayAccumulate',desc:'跟踪新提出、执行中、已解决、已关闭状态的缺陷数量按日期累积情况,识别缺陷处理工作的瓶颈',img:areaStack },
  168. {rptName:'缺陷属性分布',category:'产品级',ref:'xmQuestionAttDist',desc:'统计所有缺陷任意属性数量分布情况(实时数据)',img:pieSimple },
  169. {rptName:'缺陷年龄分布',category:'产品级',ref:'xmQuestionAgeDist',desc:'统计所有缺陷年龄分布情况(实时数据)',img:pieSimple },
  170. {rptName:'缺陷排行榜',category:'产品级',ref:'xmQuestionSort',desc:'从缺陷提出人、创建人、负责人、故事等维度统计缺陷数量排行榜(实时数据)',img:bar },
  171. //项目报表
  172. {rptName:'任务每日趋势',category:'项目级',ref:'xmTaskDayTrend',desc:'跟踪未开始、执行中、已完成、已关闭状态的任务数量按日期变化趋势,识别任务工作情况',img:lineStack },
  173. {rptName:'任务每日累积',category:'项目级',ref:'xmTaskDayAccumulate',desc:'跟踪未开始、执行中、已完成、已关闭状态的任务数量按日期累积情况,识别任务工作的瓶颈',img:areaStack },
  174. {rptName:'任务属性分布',category:'项目级',ref:'xmTaskAttDist',desc:'统计所有任务任意属性数量分布情况(实时数据)',img:pieSimple },
  175. {rptName:'任务年龄分布',category:'项目级',ref:'xmTaskAgeDist',desc:'统计所有任务年龄分布情况(实时数据)',img:pieSimple },
  176. {rptName:'任务排行榜',category:'项目级',ref:'xmTaskSort',desc:'任务提出人、负责人的用户故事数量排行(实时数据)',img:bar },
  177. {rptName:'项目工作项每日趋势',category:'项目级',ref:'xmProjectWorkItemDayList',desc:'统计项目每日工作项数量分布情况',img:datasetLink },
  178. {rptName:'项目结算工时每日趋势',category:'项目级',ref:'xmProjectWorkloadSetDayList',desc:'统计项目每日登记工时、结算工时数量分布情况',img:datasetLink },
  179. {rptName:'项目结算工时每月趋势',category:'项目级',ref:'xmProjectWorkloadSetMonthList',desc:'统计项目每月登记工时、结算工时数量分布情况',img:datasetLink },
  180. //测试计划报表
  181. {rptName:'测试用例执行状态分布',category:'测试计划级',ref:'xmTestPlanCaseExecStatusDist',desc:'按测试用例执行结果统计,通过、失败、忽略、阻塞',img:pieSimple },
  182. {rptName:'测试用例执行用户分布',category:'测试计划级',ref:'xmTestPlanCaseUserDist',desc:'统计测试用例负责人用例执行情况',img:bar },
  183. {rptName:'缺陷回归分布',category:'测试计划级',ref:'xmQuestionRetestDist',desc:'统计项目中缺陷在回归测试中分布情况,跟踪缺陷的重新打开率;',img:pieSimple },
  184. {rptName:'测试次数每日统计',category:'测试计划级',ref:'xmTestDayTimesCalc',desc:'跟踪新提出、执行中、已解决、已关闭状态的缺陷数量按日期变化趋势,识别缺陷处理工作情况',img:lineStack },
  185. {rptName:'缺陷状态分布',category:'测试计划级',ref:'xmQuestionStateDist',desc:'跟踪新提出、执行中、已解决、已关闭状态的缺陷数量按日期变化趋势,识别缺陷处理工作情况',img:lineStack },
  186. {rptName:'缺陷每日趋势',category:'测试计划级',ref:'xmQuestionDayTrend',desc:'跟踪新提出、执行中、已解决、已关闭状态的缺陷数量按日期变化趋势,识别缺陷处理工作情况',img:lineStack },
  187. {rptName:'缺陷每日累积',category:'测试计划级',ref:'xmQuestionDayAccumulate',desc:'跟踪一段时间内,各种程度和类别的缺陷累积情况,监控缺陷的变化趋势',img:areaStack },
  188. {rptName:'缺陷属性分布',category:'测试计划级',ref:'xmQuestionAttDist',desc:'统计所有缺陷任意属性数量分布情况(实时数据)',img:pieSimple },
  189. {rptName:'缺陷年龄分布',category:'测试计划级',ref:'xmQuestionAgeDist',desc:'统计所有缺陷按照年龄的分布情况,跟踪缺陷的生命周期和响应情况',img:pieSimple },
  190. {rptName:'缺陷提出人排行榜',category:'测试计划级',ref:'xmQuestionAskUserSort',desc:'从缺陷提出人、创建人、负责人、故事等维度统计缺陷数量排行榜(实时数据)',img:bar },
  191. {rptName:'缺陷负责人排行榜',category:'测试计划级',ref:'xmQuestionHandlerUserSort',desc:'从缺陷提出人、创建人、负责人、故事等维度统计缺陷数量排行榜(实时数据)',img:bar },
  192. {rptName:'缺陷模块排行榜',category:'测试计划级',ref:'xmQuestionFuncSort',desc:'从缺陷提出人、创建人、负责人、故事等维度统计缺陷数量排行榜(实时数据)',img:bar },
  193. {rptName:'缺陷需求排行榜',category:'测试计划级',ref:'xmQuestionMenuSort',desc:'从缺陷提出人、创建人、负责人、故事等维度统计缺陷数量排行榜(实时数据)',img:bar },
  194. ],
  195. }//end return
  196. },//end data
  197. methods: {
  198. intoInfo(row) {
  199. var params={...row}
  200. params.xmProduct=this.xmProduct
  201. params.xmProject=this.xmProject
  202. params.xmIteration=this.xmIteration
  203. params.xmTestCasedb=this.xmTestCasedb
  204. this.$refs[row.ref].open(params);
  205. },
  206. },//end method
  207. mounted() {
  208. /**
  209. initSimpleDicts('all',['demandSource','demandLvl','demandType','priority','menuStatus'] ).then(res=>{
  210. this.dicts=res.data.data;
  211. })
  212. */
  213. if(this.xmIteration && this.xmIteration.id){
  214. this.filters.category="迭代级"
  215. }else if(this.xmTestCasedb && this.xmTestCasedb.id){
  216. this.filters.category="测试计划级"
  217. }else if(this.xmProject && this.xmProject.id){
  218. this.filters.category="项目级"
  219. }else if(this.xmProduct && this.xmProduct.id){
  220. this.filters.category="产品级"
  221. }
  222. this.maxTableHeight = this.source == 'GZT' ? this.maxTableHeight : util.calcTableMaxHeight(this.$refs.table.$el);
  223. }//end mounted
  224. }
  225. </script>
  226. <style scoped>
  227. .time {
  228. font-size: 13px;
  229. color: #999;
  230. }
  231. .bottom {
  232. margin-top: 13px;
  233. line-height: 12px;
  234. height: 30px;
  235. }
  236. .button {
  237. padding: 0;
  238. float: right;
  239. }
  240. .image {
  241. object-fit:cover;
  242. width: 100%;
  243. display: block;
  244. }
  245. .clearfix:before,
  246. .clearfix:after {
  247. display: table;
  248. content: "";
  249. }
  250. .clearfix:after {
  251. clear: both
  252. }
  253. </style>