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.

153 lines
4.9 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. <template>
  2. <section>
  3. <el-row :class="{'row-box':true,'cfg':isRptCfg}">
  4. <div class="rpt-title">{{ rawDatas.iterationName }}</div>
  5. <el-input class="input" v-model="rawDatas.iterationName" placeholder="报告名称"/>
  6. </el-row>
  7. <el-row :class="{'row-box':true,'cfg':isRptCfg}">
  8. <div class="title">{{ title?title:'报告概览' }}</div>
  9. <el-input class="input" v-model="title" placeholder="报告概览"/>
  10. </el-row>
  11. <el-row class="padding">
  12. <el-row class="padding-top padding-left padding-right">
  13. <span>数据汇总</span>
  14. </el-row>
  15. <el-row ref="table">
  16. <el-row class="box padding" >
  17. <el-col :span="6" class="box-red">
  18. <div class="box-info">
  19. <div class="num">{{rawDatas.taskCnt?rawDatas.taskCnt:'0'}}</div>
  20. <div class="label">总任务数</div>
  21. </div>
  22. </el-col>
  23. <el-col :span="6" class="box-blue">
  24. <div class="box-info">
  25. <div class="num">{{rawDatas.menuCnt?rawDatas.menuCnt:'0'}}</div>
  26. <div class="label">需求数</div>
  27. </div>
  28. </el-col>
  29. <el-col :span="6" class="box-green">
  30. <div class="box-info">
  31. <div class="num">{{rawDatas.testCases?rawDatas.testCases:'0'}}</div>
  32. <div class="label">测试用例数</div>
  33. </div>
  34. </el-col>
  35. <el-col :span="6" class="box-orange">
  36. <div class="box-info">
  37. <div class="num">{{rawDatas.bugCnt?rawDatas.bugCnt:0}}</div>
  38. <div class="label">缺陷数</div>
  39. </div>
  40. </el-col>
  41. </el-row>
  42. </el-row>
  43. <el-row class="padding-top padding-left padding-right">
  44. <span>责任人</span>
  45. </el-row>
  46. <el-row class="padding">
  47. <el-col :span="8">
  48. <mdp-select-user-xm label="负责人" userid-key="adminUserid" username-key="adminUsername" v-model="rawDatas"></mdp-select-user-xm>
  49. </el-col>
  50. <el-col :span="8">
  51. <mdp-select-dict-x label="状态" :dict="dicts['iterationStatus']" v-model="rawDatas.istatus"></mdp-select-dict-x>
  52. </el-col>
  53. </el-row>
  54. <el-row class="padding-top padding-left padding-right">
  55. <span>起始时间</span>
  56. </el-row>
  57. <el-row class="padding">
  58. <mdp-date-range :auto-default="false" placeholder="选择日期" v-model="rawDatas" start-key="startTime" end-key="endTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd" ></mdp-date-range>
  59. </el-row>
  60. <el-row class="padding-top padding-left padding-right">
  61. <span>报告总结</span>
  62. </el-row>
  63. <el-row>
  64. <el-row class="padding">
  65. <el-input type="textarea" :rows="8" v-model="remark"></el-input>
  66. </el-row>
  67. </el-row>
  68. </el-row>
  69. </section>
  70. </template>
  71. <script>
  72. import util from '@/common/js/util';//全局公共库
  73. import config from "@/common/config"; //全局公共库import
  74. import { initDicts } from '@/api/xm/core/xmIteration';
  75. import { mapGetters } from 'vuex'
  76. import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect';
  77. import MdpSelectUserXm from '@/views/xm/core/components/MdpSelectUserXm';//修改界面
  78. export default {
  79. name:'iterationRptOverview',
  80. components: {
  81. XmProjectSelect,MdpSelectUserXm,
  82. },
  83. computed: {
  84. ...mapGetters([ 'userInfo' ]),
  85. },
  86. props:['xmIteration','rptDatas','isRptCfg'],
  87. watch: {
  88. 'xmIteration':function( xmIteration ) {
  89. if(xmIteration){
  90. this.rawDatas = {...xmIteration};
  91. }
  92. },
  93. 'visible':function(visible) {
  94. if(visible==true){
  95. this.initData()
  96. }
  97. }
  98. },
  99. data() {
  100. return {
  101. title:'',
  102. remark:'',
  103. currOpType:'add',//add/edit
  104. load:{ list: false, edit: false, del: false, add: false },//查询中...
  105. dicts:{
  106. iterationStatus:[],
  107. },//下拉选择框的所有静态数据 params={categoryId:'all',itemCodes:['sex']} 返回结果 {sex: [{id:'1',name:'男'},{id:'2',name:'女'}]}
  108. rawDatasRules: {
  109. },
  110. rawDatas: {
  111. id:'',name:'',casedbId:'',casedbName:'',iterationId:'',iterationName:'',cuserid:'',cusername:'',ctime:'',stime:'',etime:'',status:'',tcode:'',taskCnt:'',okCases:'',errCases:'',igCases:'',blCases:'',iterationId:'',iterationName:'',flowState:'',summaryRemark:''
  112. },
  113. maxTableHeight:300,
  114. summaryRemarkEditVisible:false,
  115. }//end return
  116. },//end data
  117. methods: {
  118. ...util,
  119. initData: function(){
  120. if(this.xmIteration){
  121. this.rawDatas = Object.assign({},this.xmIteration);
  122. }
  123. if(this.rptDatas){
  124. this.rawDatas=Object.assign({},this.rptDatas)
  125. }
  126. this.rawDatasBak={...this.rawDatas}
  127. },
  128. sizeAutoChange(){
  129. }
  130. },//end method
  131. mounted() {
  132. this.$nextTick(() => {
  133. initDicts(this);
  134. this.initData()
  135. this.maxTableHeight = util.calcTableMaxHeight(this.$refs.table.$el)
  136. });
  137. }
  138. }
  139. </script>
  140. <style lang="scss" scoped>
  141. @import '../index/overview.scss';
  142. </style>