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.

160 lines
5.1 KiB

3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
  1. <template>
  2. <section>
  3. <el-row :class="{'row-box':true,'cfg':isRptCfg}">
  4. <div class="rpt-title">{{ rawDatas.name }}</div>
  5. <el-input class="input" v-model="rawDatas.name" 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="6">
  48. <mdp-select-user show-style="x" label="主管领导" v-model="rawDatas.admUserid" :init-name="rawDatas.admUsername"></mdp-select-user>
  49. </el-col>
  50. <el-col :span="6">
  51. <mdp-select-user show-style="x" label="负责人" v-model="rawDatas.pmUserid" :init-name="rawDatas.pmUsername"></mdp-select-user>
  52. </el-col>
  53. <el-col :span="6">
  54. <mdp-select-user show-style="x" label="助理" v-model="rawDatas.assUserid" :init-name="rawDatas.assUsername"></mdp-select-user>
  55. </el-col>
  56. <el-col :span="6">
  57. <mdp-select show-style="x" label="状态" item-code="projectStatus" v-model="rawDatas.status"></mdp-select>
  58. </el-col>
  59. </el-row>
  60. <el-row class="padding-top padding-left padding-right">
  61. <span>起始时间</span>
  62. </el-row>
  63. <el-row class="padding">
  64. <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>
  65. </el-row>
  66. <el-row class="padding-top padding-left padding-right">
  67. <span>报告总结</span>
  68. </el-row>
  69. <el-row>
  70. <el-row class="padding">
  71. <el-input type="textarea" :rows="8" v-model="remark"></el-input>
  72. </el-row>
  73. </el-row>
  74. </el-row>
  75. </section>
  76. </template>
  77. <script>
  78. import util from '@/common/js/util';//全局公共库
  79. import config from "@/common/config"; //全局公共库import
  80. import { initDicts } from '@/api/xm/core/xmProject';
  81. import { mapGetters } from 'vuex'
  82. import XmProjectSelect from '@/views/xm/core/components/XmProjectSelect';
  83. import MdpSelectUserXm from '@/views/xm/core/components/MdpSelectUserXm';//修改界面
  84. export default {
  85. name:'projectRptOverview',
  86. components: {
  87. XmProjectSelect,MdpSelectUserXm,
  88. },
  89. computed: {
  90. ...mapGetters([ 'userInfo' ]),
  91. },
  92. props:['xmProject','rptDatas','isRptCfg'],
  93. watch: {
  94. 'xmProject':function( xmProject ) {
  95. if(xmProject){
  96. this.rawDatas = {...xmProject};
  97. }
  98. },
  99. 'visible':function(visible) {
  100. if(visible==true){
  101. this.initData()
  102. }
  103. }
  104. },
  105. data() {
  106. return {
  107. title:'',
  108. remark:'',
  109. currOpType:'add',//add/edit
  110. load:{ list: false, edit: false, del: false, add: false },//查询中...
  111. dicts:{
  112. projectStatus:[],
  113. },//下拉选择框的所有静态数据 params={categoryId:'all',itemCodes:['sex']} 返回结果 {sex: [{id:'1',name:'男'},{id:'2',name:'女'}]}
  114. rawDatasRules: {
  115. },
  116. rawDatas: {
  117. id:'',name:'',casedbId:'',casedbName:'',projectId:'',projectName:'',cuserid:'',cusername:'',ctime:'',stime:'',etime:'',status:'',tcode:'',taskCnt:'',okCases:'',errCases:'',igCases:'',blCases:'',productId:'',productName:'',flowState:'',summaryRemark:''
  118. },
  119. maxTableHeight:300,
  120. summaryRemarkEditVisible:false,
  121. }//end return
  122. },//end data
  123. methods: {
  124. ...util,
  125. initData: function(){
  126. if(this.xmProject){
  127. this.rawDatas = Object.assign({},this.xmProject);
  128. }
  129. if(this.rptDatas){
  130. this.rawDatas=Object.assign({},this.rptDatas)
  131. }
  132. this.rawDatasBak={...this.rawDatas}
  133. },
  134. sizeAutoChange(){
  135. }
  136. },//end method
  137. mounted() {
  138. this.$nextTick(() => {
  139. initDicts(this);
  140. this.initData()
  141. this.maxTableHeight = util.calcTableMaxHeight(this.$refs.table.$el)
  142. });
  143. }
  144. }
  145. </script>
  146. <style lang="scss" scoped>
  147. @import '../index/overview.scss';
  148. </style>