|
@@ -170,12 +170,11 @@
|
|
|
<el-form-item label="修复结果">
|
|
|
<div
|
|
|
v-if="map.repairResultEnumList && bug"
|
|
|
- style="padding-left: 15px"
|
|
|
class="bug_manage_div"
|
|
|
>{{ map.repairResultEnumList[bug.repairResult]?map.repairResultEnumList[bug.repairResult]:'未修复' }}</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="Hold次数">
|
|
|
- <div style="padding-left: 15px" class="bug_manage_div">{{ bug.holdCount }}</div>
|
|
|
+ <div class="bug_manage_div">{{ bug.holdCount }}</div>
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
@@ -216,17 +215,17 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="缺陷原因">
|
|
|
- <div v-if="map.bugReasonEnumList && bug" style="padding-left: 15px" class="bug_manage_div">{{ map.bugReasonEnumList[bug.bugReason]?map.bugReasonEnumList[bug.bugReason]:'尚未知' }}</div>
|
|
|
+ <div v-if="map.bugReasonEnumList && bug" class="bug_manage_div">{{ map.bugReasonEnumList[bug.bugReason]?map.bugReasonEnumList[bug.bugReason]:'尚未知' }}</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="Reopen次数">
|
|
|
- <div style="padding-left: 15px" class="bug_manage_div">{{ bug.reopenTimes }}</div>
|
|
|
+ <div class="bug_manage_div">{{ bug.reopenTimes }}</div>
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
|
</el-aside>
|
|
|
</el-container>
|
|
|
</el-main>
|
|
|
- <el-main v-loading="loading.appInfo" :style="type=='page'?{'padding': '20px 30px','margin-top': '10px'}:{'padding-left':'30px','padding-right':'30px'}" class="layout_main bug_manage bug_manage_app_info">
|
|
|
+ <el-main v-loading="loading.appInfo" :style="type=='page'?{'padding': '20px 30px 100px 30px','margin-top': '10px'}:{'padding-left':'30px','padding-right':'30px'}" class="layout_main bug_manage bug_manage_app_info">
|
|
|
<div class="module_title">
|
|
|
<div class="module_title__sign" />
|
|
|
<div class="module_title__caption">客户端信息</div>
|
|
@@ -301,7 +300,7 @@
|
|
|
<el-aside :width="type=='page'?'100%':'100%'">
|
|
|
<el-form :rules="rules" :label-width="type=='page'?'30%':'16%'" label-position="left" label-suffix=":" :hide-required-asterisk="true">
|
|
|
<el-form-item label="提报人">
|
|
|
- <div style="padding-left: 15px" class="bug_manage_div">{{ bug.creatorList }}</div>
|
|
|
+ <div class="bug_manage_div">{{ bug.creatorList }}</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="责任人" prop="assigner" :style="formHeight1 == 'type' ? { 'height': '60px' } : { 'height': 'auto' }">
|
|
|
<el-select
|
|
@@ -366,16 +365,16 @@
|
|
|
</el-form>
|
|
|
</el-aside>
|
|
|
</el-main>
|
|
|
- <el-main class="layout_main bug_manage_time_length" :style="type=='page'?{'padding': '20px 30px','margin-top': '10px'}:{'padding-left':'30px'}">
|
|
|
+ <el-main class="layout_main bug_manage_time_length" :style="type=='page'?{'padding': '20px 5px 20px 30px','margin-top': '10px'}:{'padding-left':'30px'}">
|
|
|
<div class="module_title">
|
|
|
<div class="module_title__sign" />
|
|
|
<div class="module_title__caption">时间</div>
|
|
|
</div>
|
|
|
<el-divider v-if="type !== 'page'" />
|
|
|
- <el-aside :width="type=='page'?'100%':'49%'">
|
|
|
- <el-form label-position="left" label-width="32%">
|
|
|
+ <el-aside :width="type=='page'?'100%':'59%'">
|
|
|
+ <el-form label-position="left" label-width="28%">
|
|
|
<el-form-item label="提报时间">
|
|
|
- <div style="padding-left: 15px" class="bug_manage_div"> :{{ bug.gmtCreate }}</div>
|
|
|
+ <div class="bug_manage_div"> :{{ bug.gmtCreate }} <span v-if="bug.gmtCreateIsHoliday === 1" class="bug_date">{{ '节假日提报' }}</span></div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="待测试时间">
|
|
|
<div class="tips">
|
|
@@ -383,7 +382,7 @@
|
|
|
<i class="el-icon-warning" />
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
- <div style="padding-left: 15px" class="bug_manage_div"> :{{ bug.waitTestTime }}</div>
|
|
|
+ <div class="bug_manage_div"> :{{ bug.waitTestTime }}</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="已完成时间">
|
|
|
<div class="tips">
|
|
@@ -391,7 +390,7 @@
|
|
|
<i class="el-icon-warning" />
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
- <div style="padding-left: 15px" class="bug_manage_div"> :{{ bug.finishTime }}</div>
|
|
|
+ <div class="bug_manage_div"> :{{ bug.finishTime }} <span v-if="bug.finishTimeIsHoliday === 1" class="bug_date">{{ '节假日关闭' }}</span></div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="开发修复时长">
|
|
|
<div class="tips">
|
|
@@ -399,7 +398,7 @@
|
|
|
<i class="el-icon-warning" />
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
- <div style="padding-left: 15px" class="bug_manage_div"> :{{ bug.devFixTime }}</div>
|
|
|
+ <div class="bug_manage_div"> :{{ bug.devFixTime }} <br> :{{ bug.devFixTimePurgeNH }} <span v-if="bug.devFixTimePurgeNH !== null" class="bug_removeDate">{{ '去除节假日' }}</span></div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="测试验收时长">
|
|
|
<div class="tips">
|
|
@@ -407,7 +406,7 @@
|
|
|
<i class="el-icon-warning" />
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
- <div style="padding-left: 15px" class="bug_manage_div"> :{{ bug.testCheckTime }}</div>
|
|
|
+ <div class="bug_manage_div"> :{{ bug.testCheckTime }} <br> :{{ bug.testCheckTimePurgeNH }} <span v-if="bug.testCheckTimePurgeNH !== null" class="bug_removeDate">{{ '去除节假日' }}</span></div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="总修复时长">
|
|
|
<div class="tips">
|
|
@@ -415,7 +414,7 @@
|
|
|
<i class="el-icon-warning" />
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
- <div style="padding-left: 15px" class="bug_manage_div"> :{{ bug.fixTime }}</div>
|
|
|
+ <div class="bug_manage_div"> :{{ bug.fixTime }} <br> :{{ bug.fixTimePurgeNH }} <span v-if="bug.fixTimePurgeNH !== null" class="bug_removeDate">{{ '去除节假日' }}</span></div>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-aside>
|
|
@@ -532,27 +531,41 @@
|
|
|
<el-main :style="type=='page'?{'padding': '20px 30px','margin-top': '10px'}:{'padding-left':'30px'}" class="layout_main">
|
|
|
<div class="module_title">
|
|
|
<div class="module_title__sign" />
|
|
|
- <div class="module_title__caption">评论</div>
|
|
|
- </div>
|
|
|
- <el-divider v-if="type !== 'page'" /><br>
|
|
|
- <div>
|
|
|
- <div v-for="(item,index) in comments" :key="index" class="animated bounceInRight">
|
|
|
- <div style="font-size:14px;color:#333B4A;display: inline-block;">{{ item.commentInfo.name }}</div>
|
|
|
- <div style="margin-left:20px;display: inline-block;color: #9B9B9B;font-size:12px">{{ item.commentInfo.gmtCreater }}</div>
|
|
|
- <p style="font-size:14px;color:#333B4A;margin-top: 10px;white-space: pre-line;">{{ item.commentInfo.content }}</p>
|
|
|
- <br>
|
|
|
- </div>
|
|
|
- <el-input
|
|
|
- v-model="commentContent"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入评论内容"
|
|
|
- maxlength="1000"
|
|
|
- show-word-limit
|
|
|
- :autosize="{ minRows: 3, maxRows: 5}"
|
|
|
- style="margin-bottom: 2%"
|
|
|
- />
|
|
|
- <el-button type="primary" size="small" style="float: right" @click="addComment">发表评论</el-button>
|
|
|
+ <div class="module_title__caption">动态</div>
|
|
|
</div>
|
|
|
+ <el-divider v-if="type !== 'page'" />
|
|
|
+ <el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
+ <el-tab-pane label="评论" name="first">
|
|
|
+ <div>
|
|
|
+ <div v-for="(item,index) in comments" :key="index" class="animated bounceInRight">
|
|
|
+ <div style="font-size:14px;color:#333B4A;display: inline-block;">{{ item.commentInfo.name }}</div>
|
|
|
+ <div style="margin-left:20px;display: inline-block;color: #9B9B9B;font-size:12px">{{ item.commentInfo.gmtCreater }}</div>
|
|
|
+ <p style="font-size:14px;color:#333B4A;margin-top: 10px;white-space: pre-line;">{{ item.commentInfo.content }}</p>
|
|
|
+ <br>
|
|
|
+ </div>
|
|
|
+ <el-input
|
|
|
+ v-model="commentContent"
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入评论内容"
|
|
|
+ maxlength="1000"
|
|
|
+ show-word-limit
|
|
|
+ :autosize="{ minRows: 3, maxRows: 5}"
|
|
|
+ style="margin-bottom: 2%"
|
|
|
+ />
|
|
|
+ <el-button type="primary" size="small" style="float: right" @click="addComment">发表评论</el-button>
|
|
|
+ </div>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="变更记录" name="second">
|
|
|
+ <div>
|
|
|
+ <div v-for="(item,index) in changeRecord" :key="index" style="margin: 20px 0" class="animated bounceInRight Layout_space_between">
|
|
|
+ <span class="operatorName">{{ item.operator }}</span>
|
|
|
+ <span class="remark">{{ item.remark.length > 25 ? item.remark.substring(0, 30) + '...' : '' }}</span>
|
|
|
+ <span class="createTime">{{ item.createTime }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+
|
|
|
</el-main>
|
|
|
</el-container>
|
|
|
<!-- 弹窗 -->
|
|
@@ -589,8 +602,8 @@
|
|
|
</el-form>
|
|
|
<div v-else style="text-align:center;line-height: 150px">是否要删除当前缺陷?</div>
|
|
|
<template v-slot:footer>
|
|
|
- <el-button @click="statusDialogCancel">取 消</el-button>
|
|
|
- <el-button type="primary" @click="statusDialogConfirm">确 定</el-button>
|
|
|
+ <el-button size="small" @click="statusDialogCancel">取 消</el-button>
|
|
|
+ <el-button size="small" type="primary" @click="statusDialogConfirm">确 定</el-button>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
<createdBug v-if="modalShow" ref="createdBug" @father="father" />
|
|
@@ -636,7 +649,8 @@ import {
|
|
|
bugUpdate,
|
|
|
taskListCreate,
|
|
|
releaseList,
|
|
|
- settingQueryBizModuleList
|
|
|
+ settingQueryBizModuleList,
|
|
|
+ operationLogBug
|
|
|
} from '@/api/defectManage.js'
|
|
|
import Dropdown from './dropdown.vue'
|
|
|
import normalDialog from '@/components/dialog/normalDialog'
|
|
@@ -683,7 +697,9 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ changeRecord: [], // 变更记录Data
|
|
|
modalShow: false,
|
|
|
+ activeName: 'first', // 选项卡默认评论
|
|
|
iconName: 'float_反馈_icon_close',
|
|
|
bugNameIsFocus: false,
|
|
|
props: { multiple: true },
|
|
@@ -829,6 +845,12 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleClick(tab, event) {
|
|
|
+ console.log(tab, event)
|
|
|
+ operationLogBug(this.id).then(res => {
|
|
|
+ this.changeRecord = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
closeDrawer() {
|
|
|
this.$emit('close', false)
|
|
|
},
|
|
@@ -1561,6 +1583,7 @@ export default {
|
|
|
border: transparent;
|
|
|
color: #666666;
|
|
|
font-weight: 500;
|
|
|
+ padding-left: 13px
|
|
|
}
|
|
|
.bug_manage .el-cascader .el-input__inner:hover {
|
|
|
border: thin solid #DCDFE6;
|
|
@@ -1629,6 +1652,59 @@ border-color: #DCDFE6;
|
|
|
</style>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
+.operatorName {
|
|
|
+ min-width: 100px;
|
|
|
+ font-size:14px;
|
|
|
+ font-family:PingFang SC;
|
|
|
+ font-weight:500;
|
|
|
+ line-height:20px;
|
|
|
+ color:rgba(51,59,74,1);
|
|
|
+ opacity:1;
|
|
|
+}
|
|
|
+
|
|
|
+.createTime {
|
|
|
+ min-width:150px;
|
|
|
+ font-size:14px;
|
|
|
+ font-family:PingFangSC-Regular;
|
|
|
+ line-height:20px;
|
|
|
+ color:rgba(68,68,68,1);
|
|
|
+ opacity:1;
|
|
|
+}
|
|
|
+
|
|
|
+.remark {
|
|
|
+ width:448px;
|
|
|
+ font-size:14px;
|
|
|
+ font-family:PingFangSC-Regular;
|
|
|
+ line-height:20px;
|
|
|
+ color:#444444;
|
|
|
+ opacity:1;
|
|
|
+}
|
|
|
+
|
|
|
+.bug_removeDate {
|
|
|
+ width:46px;
|
|
|
+ height:16px;
|
|
|
+ background:rgba(64,158,255,0.1);
|
|
|
+ border:1px solid #409EFF;
|
|
|
+ opacity:1;
|
|
|
+ border-radius:2px;
|
|
|
+ font-size:8px;
|
|
|
+ font-family:MicrosoftYaHei;
|
|
|
+ line-height:10px;
|
|
|
+ color:#409EFF;
|
|
|
+}
|
|
|
+
|
|
|
+.bug_date {
|
|
|
+ width:46px;
|
|
|
+ height:16px;
|
|
|
+ background:rgba(245,108,108,0.1);
|
|
|
+ border:1px solid rgba(245,108,108,1);
|
|
|
+ opacity:1;
|
|
|
+ border-radius:2px;
|
|
|
+ font-size:8px;
|
|
|
+ font-family:MicrosoftYaHei;
|
|
|
+ line-height:10px;
|
|
|
+ color:rgba(245,108,108,1);
|
|
|
+}
|
|
|
.newBtn {
|
|
|
font-size: 14px;
|
|
|
color: rgb(51, 59, 74);
|