|
@@ -17,11 +17,11 @@
|
|
|
<!-- 时间线 -->
|
|
|
<div
|
|
|
v-if="openDrawer && isTimeLine(1)"
|
|
|
- class="qz-drawer-padding qz-drawer-header"
|
|
|
+ class="drawer-padding drawer-header"
|
|
|
:style="{paddingTop: !isTimeLine(2) ? '30px':'20px'}"
|
|
|
@click.stop
|
|
|
>
|
|
|
- <div id="index" ref="timeline1" class="qz-drawer-scll">
|
|
|
+ <div id="index" ref="timeline1" class="drawer-scll">
|
|
|
<timeline
|
|
|
:num="timelineData.firstActive"
|
|
|
bg-margin
|
|
@@ -29,7 +29,7 @@
|
|
|
@update="(params) => timeLineClick(params, 1)"
|
|
|
/>
|
|
|
</div>
|
|
|
- <div v-if="isTimeLine(2)" ref="timeline2" class="qz-drawer-scll">
|
|
|
+ <div v-if="isTimeLine(2)" ref="timeline2" class="drawer-scll">
|
|
|
<timeline
|
|
|
:num="timelineData.secondActive"
|
|
|
:data="timelineData.second"
|
|
@@ -85,7 +85,7 @@
|
|
|
</template>
|
|
|
</dmTable>
|
|
|
<!-- 下拉 -->
|
|
|
- <div class="qz-footer-laout" @click.stop>
|
|
|
+ <div class="footer-laout" @click.stop>
|
|
|
<div style="line-height: 60px;">
|
|
|
<!-- <el-button type="primary" size="mini" @click="exportTable">导 出</el-button>-->
|
|
|
</div>
|
|
@@ -108,7 +108,8 @@ import { bugList } from '@/api/defectManage'
|
|
|
import _ from 'lodash'
|
|
|
import { getReportList } from '@/api/reportTemplate'
|
|
|
import dmTable from '@/components/baseTable/table'
|
|
|
-import timeline from '@/components/timeline/index'
|
|
|
+// import timeline from '@/components/timeline/index'
|
|
|
+import timeline from './components/timeline'
|
|
|
import { columns, timelineList } from './drawerModalData'
|
|
|
import { EncryptId } from '@/utils/crypto-js'
|
|
|
import Clickoutside from 'element-ui/src/utils/clickoutside'
|
|
@@ -171,6 +172,9 @@ export default {
|
|
|
drawerBox: '',
|
|
|
subTitle: '',
|
|
|
sourceData: null,
|
|
|
+ /* S 新增缺陷*/
|
|
|
+ priorityList: [],
|
|
|
+ /* E 新增缺陷*/
|
|
|
timelineData: {
|
|
|
first: [],
|
|
|
firstActive: 0,
|
|
@@ -207,6 +211,7 @@ export default {
|
|
|
console.log(slotProp)
|
|
|
},
|
|
|
init() {
|
|
|
+ console.log(this.drawerData, 210)
|
|
|
this.headerTitle = this.drawerData.headerTitle
|
|
|
this.title = this.headerTitle.search(/质量|效率/) > -1 ? this.drawerData.label || '' : this.drawerData.activeLabel
|
|
|
if (this.headerTitle && this.title) {
|
|
@@ -297,7 +302,12 @@ export default {
|
|
|
// 设置时间轴
|
|
|
setTimeLineData() {
|
|
|
let { firstActive, first, secondActive, second } = this.timelineData
|
|
|
- if (this.title.search(/新增问题|新增缺陷|reopen|提测报告|准出记录/) < 0) {
|
|
|
+ if (this.title.search(/新增问题|reopen|提测报告|准出记录/) < 0) {
|
|
|
+ if (this.headerTitle === '质量') {
|
|
|
+ if (this.title.search(/新增缺陷|reopen/) > -1) {
|
|
|
+ first = [...timelineList.newDefect]
|
|
|
+ }
|
|
|
+ }
|
|
|
if (this.headerTitle === '吞吐量') {
|
|
|
secondActive = 0
|
|
|
firstActive = 0
|
|
@@ -447,6 +457,12 @@ export default {
|
|
|
this.pagingInit()
|
|
|
this.ids = []
|
|
|
if (index === 1) {
|
|
|
+ if (this.headerTitle === '质量') {
|
|
|
+ if (this.title.search(/新增缺陷|reopen/) > -1) {
|
|
|
+ this.ids = this.drawerData.IdList.map(e => e)
|
|
|
+ this.priorityList = value ? [value - 1] : []
|
|
|
+ }
|
|
|
+ }
|
|
|
if (this.headerTitle === '吞吐量') {
|
|
|
this.timelineData.firstActive = value || 0
|
|
|
if (this.sourceData[value || 0] && this.sourceData[value || 0].idList) {
|
|
@@ -474,11 +490,12 @@ export default {
|
|
|
},
|
|
|
// 设置列表数据
|
|
|
setTableList() {
|
|
|
- // console.log(439)
|
|
|
this.tableList = []
|
|
|
if (this.headerTitle === '质量') {
|
|
|
if (this.title.search(/新增缺陷|reopen/) > -1) {
|
|
|
+ // console.log(this.ids, 502)
|
|
|
if (this.ids.length) {
|
|
|
+ // console.log(504)
|
|
|
this.loading = true
|
|
|
this.getBugStatisticData()
|
|
|
}
|
|
@@ -540,13 +557,13 @@ export default {
|
|
|
if (this.title === '缺陷修复时长') {
|
|
|
if (this.sourceData[0].IdList.length) {
|
|
|
this.loading = true
|
|
|
- this.setbugRepair2Data()
|
|
|
+ this.setBugRepair2Data()
|
|
|
}
|
|
|
}
|
|
|
if (this.title === '缺陷24小时修复率') {
|
|
|
if (this.sourceData[0].IdList.length) {
|
|
|
this.loading = true
|
|
|
- this.setbugRepairData()
|
|
|
+ this.setBugRepairData()
|
|
|
}
|
|
|
}
|
|
|
if (this.title === '延期提测率') {
|
|
@@ -639,6 +656,7 @@ export default {
|
|
|
const res = await bugList({
|
|
|
ids: this.ids,
|
|
|
curIndex: this.paging.curIndex,
|
|
|
+ priorityList: this.priorityList,
|
|
|
pageSize: this.paging.pageSize
|
|
|
})
|
|
|
if (res.code === 200) {
|
|
@@ -826,7 +844,7 @@ export default {
|
|
|
setTitleHeight() {
|
|
|
if (this.title.search(/状态停留分布图数据|状态累积流量图数据/) > -1) {
|
|
|
this.tableHeight = 'calc(100vh - 363px)'
|
|
|
- } else if (this.title.search(/需求周期|新增项目|新增任务|需求人力|任务周期|缺陷修复时长|延期准出率|延期提测率/) > -1) {
|
|
|
+ } else if (this.title.search(/需求周期|新增项目|新增任务|reopen|新增缺陷|需求人力|任务周期|缺陷修复时长|延期准出率|延期提测率/) > -1) {
|
|
|
this.tableHeight = 'calc(100vh - 288px)'
|
|
|
} else if (this.title.search(/需求|任务|项目/) > -1) {
|
|
|
// 吞吐量: 需求
|
|
@@ -836,7 +854,7 @@ export default {
|
|
|
} else {
|
|
|
this.tableHeight = 'calc(100vh - 136px)'
|
|
|
}
|
|
|
- if (this.headerTitle === '质量') {
|
|
|
+ if (this.headerTitle === '质量' && this.title.search(/新增缺陷|reopen/) < 0) {
|
|
|
this.tableHeight = 'calc(100vh - 136px)'
|
|
|
}
|
|
|
if (this.headerTitle === '吞吐量') {
|
|
@@ -909,6 +927,9 @@ export default {
|
|
|
isTimeLine(index = 1) {
|
|
|
// 是第一条
|
|
|
if (index === 1) {
|
|
|
+ if (this.headerTitle.search(/质量/) > -1 && this.title.search(/新增缺陷|reopen/) > -1) {
|
|
|
+ return true
|
|
|
+ }
|
|
|
return this.headerTitle.search(/吞吐量|效率/) > -1
|
|
|
}
|
|
|
// 是第二条
|
|
@@ -961,7 +982,7 @@ export default {
|
|
|
width: 50%;
|
|
|
}
|
|
|
/* S 时间轴 */
|
|
|
-.qz-drawer-header {
|
|
|
+.drawer-header {
|
|
|
text-align: center;
|
|
|
background: #F7F7F7;
|
|
|
border-radius: 4px;
|
|
@@ -969,26 +990,26 @@ export default {
|
|
|
margin: 20px 30px;
|
|
|
overflow: hidden;
|
|
|
}
|
|
|
-.qz-drawer-padding {
|
|
|
+.drawer-padding {
|
|
|
padding: 20px 0;
|
|
|
}
|
|
|
-.qz-drawer-padding-s {
|
|
|
+.drawer-padding-s {
|
|
|
padding: 1px 0;
|
|
|
}
|
|
|
-.qz-drawer-scll {
|
|
|
+.drawer-scll {
|
|
|
overflow-x: scroll;
|
|
|
}
|
|
|
-.qz-drawer-scll::-webkit-scrollbar { width: 0 !important; height: 0 !important }
|
|
|
-.qz-drawer-H {
|
|
|
+.drawer-scll::-webkit-scrollbar { width: 0 !important; height: 0 !important }
|
|
|
+.drawer-H {
|
|
|
font-size: 16px;
|
|
|
margin: 0 30px;
|
|
|
color: #444444;
|
|
|
}
|
|
|
-.qz-drawer-scll {
|
|
|
+.drawer-scll {
|
|
|
overflow-x: scroll;
|
|
|
}
|
|
|
-.qz-drawer-scll::-webkit-scrollbar { width: 0 !important; height: 0 !important }
|
|
|
-.qz-drawer-H {
|
|
|
+.drawer-scll::-webkit-scrollbar { width: 0 !important; height: 0 !important }
|
|
|
+.drawer-H {
|
|
|
font-size: 16px;
|
|
|
margin: 0 30px;
|
|
|
color: #444444;
|
|
@@ -1026,10 +1047,15 @@ export default {
|
|
|
border-color: #b7eb8f;
|
|
|
}
|
|
|
/* E 质量:线上问题_改进方案 */
|
|
|
-.qz-footer-laout {
|
|
|
+.footer-laout {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
margin: 0 30px;
|
|
|
+ //width: 100%;
|
|
|
+ //padding: 0 30px;
|
|
|
+ //.el-pagination{
|
|
|
+ // width: 100%;
|
|
|
+ //}
|
|
|
}
|
|
|
.drawer-name:hover {
|
|
|
color: #409eff;
|