Browse Source

缺陷修改改为免保存

master
陈裕财 4 years ago
parent
commit
d516028edd
  1. 127
      src/views/xm/core/xmQuestion/XmQuestionEdit.vue
  2. 5
      src/views/xm/core/xmQuestion/XmQuestionMng.vue

127
src/views/xm/core/xmQuestion/XmQuestionEdit.vue

@ -45,22 +45,22 @@
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="严重程度" prop="bugSeverity">
<el-select v-model="editForm.bugSeverity" placeholder="请选择严重程度">
<el-option v-for="(i,index) in dicts['bugSeverity']" :label="i.name" :value="i.id" :key="index">{{i.name}}</el-option>
<el-form-item label="状态" prop="bugStatus">
<el-select v-model="editForm.bugStatus" placeholder="状态" @change="editXmQuestionSomeFields(editForm,'bugStatus',$event)">
<el-option v-for="(i,index) in dicts['bugStatus']" :label="i.name" :value="i.id" :key="index">{{i.name}}</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="优先级别" prop="priority">
<el-select v-model="editForm.priority" placeholder="请选择优先级">
<el-select v-model="editForm.priority" placeholder="请选择优先级" @change="editXmQuestionSomeFields(editForm,'priority',$event)">
<el-option v-for="(i,index) in dicts['priority']" :label="i.name" :value="i.id" :key="index">{{i.name}}</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="结束时间" prop="endTime">
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="editForm.endTime"></el-date-picker>
<el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="editForm.endTime" @change="editXmQuestionSomeFields(editForm,'endTime',$event)"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
@ -75,7 +75,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="复现频率" prop="repRate">
<el-select v-model="editForm.repRate" placeholder="请选择复现频率">
<el-select v-model="editForm.repRate" placeholder="请选择复现频率" @change="editXmQuestionSomeFields(editForm,'repRate',$event)">
<el-option v-for="(i,index) in dicts['bugRepRate']" :label="i.name" :value="i.id" :key="index">{{i.name}}</el-option>
</el-select>
</el-form-item>
@ -83,17 +83,24 @@
</el-col>
<el-col :span="8">
<el-form-item label="复现版本" prop="verNum">
<el-select v-model="editForm.verNum" placeholder="请选择版本">
<el-select v-model="editForm.verNum" placeholder="请选择版本" @change="editXmQuestionSomeFields(editForm,'verNum',$event)">
<el-option v-for="(i,index) in xmProductVersions" :label="i.name" :value="i.id" :key="index">{{i.id}}</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="严重程度" prop="bugSeverity">
<el-select v-model="editForm.bugSeverity" placeholder="请选择严重程度" @change="editXmQuestionSomeFields(editForm,'bugSeverity',$event)">
<el-option v-for="(i,index) in dicts['bugSeverity']" :label="i.name" :value="i.id" :key="index">{{i.name}}</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="原因分析" prop="bugReason">
<el-select v-model="editForm.bugReason" placeholder="请选择原因">
<el-select v-model="editForm.bugReason" placeholder="请选择原因" @change="editXmQuestionSomeFields(editForm,'bugReason',$event)">
<el-option v-for="(i,index) in dicts['bugReason']" :label="i.name" :value="i.id" :key="index">{{i.name}}</el-option>
</el-select>
</el-form-item>
@ -101,25 +108,26 @@
<el-col :span="8">
<el-form-item label="解决方案" prop="solution">
<el-select v-model="editForm.solution" placeholder="请选择解决方案">
<el-select v-model="editForm.solution" placeholder="请选择解决方案" @change="editXmQuestionSomeFields(editForm,'solution',$event)">
<el-option v-for="(i,index) in dicts['bugSolution']" :label="i.name" :value="i.id" :key="index">{{i.name}}</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="缺陷类别" prop="bugType">
<el-select v-model="editForm.bugType" placeholder="请选择缺陷类别">
<el-select v-model="editForm.bugType" placeholder="请选择缺陷类别" @change="editXmQuestionSomeFields(editForm,'bugType',$event)">
<el-option v-for="(i,index) in dicts['bugType']" :label="i.name" :value="i.id" :key="index">{{i.name}}</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="缺陷描述" prop="description">
</el-row>
</el-tab-pane>
<el-tab-pane label="缺陷描述" name="12">
<el-form-item label="" prop="description" label-width="0px">
<el-tooltip content="点击切换为富文本编辑|普通文本">
<el-button icon="el-icon-refresh" @click="descriptionEditorVisible=!descriptionEditorVisible" type="text"></el-button>
<el-button icon="el-icon-refresh" @click="descriptionEditorVisible=!descriptionEditorVisible" type="text">切换为富文本输入</el-button>
</el-tooltip>
<div v-if="descriptionEditorVisible==false">
<el-input style="width:100%;" v-model="editForm.description" type="textarea" :rows="6"> </el-input>
@ -128,9 +136,13 @@
<vue-editor class="rich-context" :id="'description_'+editForm.id" :branch-id="userInfo.branchId" v-model="editForm.description"></vue-editor>
</div>
</el-form-item>
<el-row class="page-bottom">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" v-if="editForm.description!==editFormBak.description" type="primary" @click.native="editXmQuestionSomeFields(editForm,'description',editForm.description)" :disabled="load.edit==true">保存</el-button>
</el-row>
</el-tab-pane>
<el-tab-pane label="测试步骤" name="2">
<el-form-item label="测试步骤" prop="opStep">
<el-form-item label="" prop="opStep" label-width="0px">
<el-tooltip content="点击切换为富文本编辑|普通文本">
<el-button icon="el-icon-refresh" @click="opStepEditorVisible=!opStepEditorVisible" type="text"></el-button>
</el-tooltip>
@ -141,9 +153,14 @@
<vue-editor :id="'opStep'+editForm.id" :branch-id="userInfo.branchId" v-model="editForm.opStep" ref="opStep"></vue-editor>
</div>
</el-form-item>
<el-row class="page-bottom">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" v-if="editForm.opStep!=editFormBak.opStep" type="primary" @click.native="editXmQuestionSomeFields(editForm,'opStep',editForm.opStep)" :disabled="load.edit==true">保存</el-button>
</el-row>
</el-tab-pane>
<el-tab-pane label="预期结果" name="3">
<el-form-item label="预期结果" prop="expectResult">
<el-form-item label="" prop="expectResult" label-width="0px">
<el-tooltip content="点击切换为富文本编辑|普通文本">
<el-button icon="el-icon-refresh" @click="expectResultEditorVisible=!expectResultEditorVisible" type="text"></el-button>
</el-tooltip>
@ -154,6 +171,11 @@
<vue-editor v-if="expectResultEditorVisible==true" :id="'expectResult'+editForm.id" :branch-id="userInfo.branchId" v-model="editForm.expectResult" ref="expectResult"></vue-editor>
</div>
</el-form-item>
<el-row class="page-bottom">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" v-if="editForm.expectResult!=editFormBak.expectResult" type="primary" @click.native="editXmQuestionSomeFields(editForm,'expectResult',editForm.expectResult)" :disabled="load.edit==true">保存</el-button>
</el-row>
</el-tab-pane>
<el-tab-pane label="处理意见" name="4">
@ -177,6 +199,11 @@
</div>
</el-form-item>
<el-row class="page-bottom">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-if="editForm.receiptMessage!=editFormBak.receiptMessage" v-loading="load.edit" type="primary" @click.native="editXmQuestionSomeFields(editForm,'receiptMessage',editForm.receiptMessage)" :disabled="load.edit==true">保存</el-button>
</el-row>
</el-tab-pane>
<el-tab-pane label="关注" name="91">
<xm-my-do-focus v-if="activateTabPaneName=='91'" :biz-id="editForm.id" :pbiz-id="editForm.projectId" :biz-name="editForm.name" focus-type="5"></xm-my-do-focus>
@ -196,12 +223,8 @@
<el-drawer append-to-body title="需求选择" :visible.sync="selectMenuVisible" size="60%" :close-on-click-modal="false">
<xm-menu-select :is-select-menu="true" checkScope="3" @selected="onSelectedMenu" :sel-project="selProject"></xm-menu-select>
</el-drawer>
</el-row>
</el-row>
<el-row class="page-bottom">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="handleQuestion(editForm.bugStatus)" :disabled="load.edit==true">保存</el-button>
</el-row>
</el-row>
<!--新增 XmQuestion xm_question界面-->
@ -219,7 +242,7 @@
<script>
import util from '@/common/js/util';//
import { initSimpleDicts } from '@/api/mdp/meta/item';//
import { editXmQuestion } from '@/api/xm/core/xmQuestion';
import { editXmQuestion,editXmQuestionSomeFields } from '@/api/xm/core/xmQuestion';
import { mapGetters } from 'vuex';
import AttachmentUpload from "@/views/mdp/arc/archiveAttachment/AttachmentUpload"; //
import {sn} from '@/common/js/sequence';
@ -263,11 +286,11 @@
},
'visible':function(visible) {
if(visible==true){
//this.getXmQuestionHandle();
//
this.editFormBak={...this.editForm}
}else{
this.flowInfoVisible=false;
}
this.activateTabPaneName='12'
}
},
data() {
@ -317,6 +340,15 @@
verNum:'',
bugReason:'',
},
editFormBak: {
id:'',name:'',projectId:'',projectName:'',taskId:'',taskName:'',endTime:'',askUserid:'',askUsername:'',handlerUserid:'',handlerUsername:'',priority:'',solution:'',processTime:'',receiptMessage:'',receiptTime:'',description:'',createUserid:'',createUsername:'',createTime:'',bugStatus:'',receiptMessage:'',
iterationId:'',iterationName:'',productId:'',
qtype:'',
attachment: [],
repRate:'',
verNum:'',
bugReason:'',
},
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
fileVisible: true,
selectUserVisible: false,
@ -332,7 +364,7 @@
expectResultEditorVisible:false,
opStepEditorVisible:false,
xmProductVersions:[{id:"1.0.0" ,name:'1.0.0'}],
activateTabPaneName:'1',
activateTabPaneName:'12',
/**end 在上面加自定义属性**/
}//end return
},//end data
@ -540,6 +572,44 @@
this.editForm.projectId=''
this.editForm.projectName=''
},
editXmQuestionSomeFields(row,fieldName,$event){
var params={ids:[row.id]};
if(fieldName==='handlerUserid'){
if($event){
params[fieldName]=$event[0].userid;
params.handlerUsername=$event[0].username
}else{
return;
}
}else if(fieldName==='tagIds'){
if($event){
params[fieldName]=$event.map(i=>i.tagId).join(",");
params.tagNames=$event.map(i=>i.tagName).join(",");
}else{
return;
}
}else if(fieldName==='workload'){
params={...params,...$event}
}else if(fieldName==='projectId'){
params.projectId=$event.id
}else if(fieldName==='productId'){
params.productId=$event.id
}else{
params[fieldName]=$event
}
editXmQuestionSomeFields(params).then(res=>{
var tips = res.data.tips;
if(tips.isOk){
this.editFormBak={...this.editForm}
this.$emit('edit-fields',this.editForm)
}else{
Object.assign(this.editForm,this.editFormBak)
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
}
})
},
},//end method
components: {
// 'xm-question-edit':XmQuestionEdit
@ -549,6 +619,7 @@
mounted() {
console.log("question_add");
this.editForm=Object.assign(this.editForm, this.xmQuestion);
this.editFormBak={...this.editForm}
initSimpleDicts('all',['bugSeverity','bugSolution','bugStatus','bugType','priority','bugRepRate','bugReason']).then(res=>{
if(res.data.tips.isOk){
this.dicts=res.data.data

5
src/views/xm/core/xmQuestion/XmQuestionMng.vue

@ -240,7 +240,7 @@
</el-row>
<!--编辑 XmQuestion xm_question界面-->
<el-dialog title="编辑缺陷" :visible.sync="editFormVisible" width="80%" top="20px" :close-on-click-modal="false" append-to-body>
<xm-question-edit :sel-project=" {id:editForm.projectId,name:editForm.projectName} " :xm-question="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-question-edit>
<xm-question-edit :sel-project=" {id:editForm.projectId,name:editForm.projectName} " :xm-question="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit" @edit-fields="onEditFields"></xm-question-edit>
</el-dialog>
<!--新增 XmQuestion xm_question界面-->
@ -1108,6 +1108,9 @@
return item?item.name:cellValue;
}
},
onEditFields(row){
Object.assign(this.editForm,row)
}
},//end methods
components: {
'xm-question-add':XmQuestionAdd,

Loading…
Cancel
Save