Browse Source

优化

master
陈裕财 4 years ago
parent
commit
41b188b513
  1. 321
      src/views/xm/core/xmIteration/XmIterationForLinkComplex.vue
  2. 2
      src/views/xm/core/xmIteration/XmIterationOverview.vue

321
src/views/xm/core/xmIteration/XmIterationForLinkComplex.vue

@ -23,8 +23,265 @@
</el-popover>
</div>
</el-tab-pane>
<el-tab-pane label="迭代概览" lazy name="iterationOverview" v-if="xmIteration && xmIteration.id">
<xm-iteration-overview v-if="xmIteration && showPanel=='iterationOverview'" :xm-iteration="xmIteration" :sel-project="selProject"></xm-iteration-overview>
<el-tab-pane label="迭代概览" lazy name="iterationOverview" v-if="xmIteration && xmIteration.id">
<el-row ref="pageMainRef" :gutter="20">
<el-col
:span="6"
class="padding border"
:style="{ maxHeight: maxTableHeight + 'px', overflowY: 'auto' }"
>
<h4 class="padding-bottom">常用功能快捷导航</h4>
<el-steps
:active="calcIterationStatusStep"
finish-status="success"
direction="vertical"
>
<el-step
v-for="(i, index) in dicts['iterationStatus']"
:title="i.name"
:key="index"
>
<el-row slot="description">
<el-row v-if="i.id == '0'"
><!--打开-->
<span v-if="xmIteration.istatus == i.id">
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showPanel = 'menus'"
>需求管理</el-button
>
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showIterationMenu"
>配置需求范围</el-button
>
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="editSomeFields(xmIteration, 'istatus', '1')"
>开启需求评审</el-button
>
</span>
<span v-if="xmIteration.istatus != i.id">
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showPanel = 'menus'"
>需求管理</el-button
>
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showIterationMenu"
>需求范围</el-button
>
</span>
</el-row>
<el-row v-else-if="i.id == '1'"
><!--需求评审-->
<span v-if="xmIteration.istatus == i.id">
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showIterationMenu"
>确认需求范围</el-button
>
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showPanel='bugs'"
>缺陷登记</el-button
>
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="editSomeFields(xmIteration, 'istatus', '2')"
>进入计划会</el-button
>
</span>
<span v-if="xmIteration.istatus != i.id">
</span>
</el-row>
<el-row v-else-if="i.id == '2'"
><!--计划会-->
<span v-if="xmIteration.istatus == i.id">
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showIterationDetail"
>迭代计划</el-button
>
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showPanel = 'tasks'"
>任务管理</el-button
>
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="editSomeFields(xmIteration, 'istatus', '3')"
>设为研发中</el-button
>
</span>
<span v-if="xmIteration.istatus != i.id">
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showIterationDetail"
>迭代计划</el-button
>
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showPanel = 'tasks'"
>任务管理</el-button
>
</span>
</el-row>
<el-row v-else-if="i.id == '3'"
><!--研发中-->
<span v-if="xmIteration.istatus == i.id">
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showPanel = 'tasks'"
>任务管理</el-button
>
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showPanel = '效能'"
>效能分析</el-button
>
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="editSomeFields(xmIteration, 'istatus', '4')"
>设为测试中</el-button
>
</span>
<span v-if="xmIteration.istatus != i.id">
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showPanel = '效能'"
>效能分析</el-button
>
</span>
</el-row>
<el-row v-else-if="i.id == '4'"
><!--测试中-->
<span v-if="xmIteration.istatus == i.id">
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="showPanel = 'bugs'"
>缺陷管理</el-button
>
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="editSomeFields(xmIteration, 'istatus', '5')"
>设为待上线</el-button
>
</span>
</el-row>
<el-row v-else-if="i.id == '5'"
><!--上线中-->
<span v-if="xmIteration.istatus == i.id">
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="editSomeFields(xmIteration, 'istatus', '6')"
>设为已完成</el-button
>
</span>
<span v-if="xmIteration.istatus != i.id">
</span>
</el-row>
<el-row v-else-if="i.id == '6'"
><!--已完成-->
<span v-if="xmIteration.istatus == i.id">
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="editSomeFields(xmIteration, 'istatus', '7')"
>设为已关闭</el-button
>
</span>
<span v-if="xmIteration.istatus != i.id">
</span>
</el-row>
<el-row v-else-if="i.id == '7'"
><!--已关闭-->
<span v-if="xmIteration.istatus == i.id">
<el-button
class="step-btn"
type="warning"
size="mini"
plain
@click="editSomeFields(xmIteration, 'istatus', '0')"
>重新打开</el-button
>
</span>
</el-row>
</el-row>
</el-step>
</el-steps>
</el-col>
<el-col :span="18">
<xm-iteration-overview v-if="xmIteration && showPanel=='iterationOverview'" :xm-iteration="xmIteration" :sel-project="selProject"></xm-iteration-overview>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="执行统计" lazy name="iterationCalc" v-if="xmIteration && xmIteration.id">
<div v-if="showPanel=='iterationCalc'">
@ -41,7 +298,7 @@
</el-tab-pane>
<el-tab-pane label="迭代详情" lazy name="detail" v-if="xmIteration&&xmIteration.id">
<xm-iteration-edit v-if="showPanel=='detail'" :xm-iteration="xmIteration"></xm-iteration-edit>
<xm-iteration-edit v-if="showPanel=='detail'" :xm-iteration="xmIteration" @edit-fields="onEditFields"></xm-iteration-edit>
</el-tab-pane>
<el-tab-pane label="配置需求范围" lazy name="iterationMenuMng" v-if="xmIteration&&xmIteration.id">
<xm-iteration-menu-mng v-if="showPanel=='iterationMenuMng'" :xm-iteration="xmIteration"></xm-iteration-menu-mng>
@ -55,6 +312,10 @@
<el-tab-pane label="缺陷列表" lazy name="bugs" v-if="xmIteration&&xmIteration.id">
<xm-question-mng v-if="xmIteration && showPanel=='bugs'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-question-mng>
</el-tab-pane>
<el-tab-pane label="效能分析" lazy name="效能" v-if="xmIteration&&xmIteration.id">
<xm-report v-if="xmIteration && showPanel=='效能'" :xm-iteration="xmIteration" ></xm-report>
</el-tab-pane>
</el-tabs>
<el-row>
@ -86,14 +347,30 @@
import XmIterationLinkForProduct from '../xmIterationLink/XmIterationLinkForProduct.vue';
import XmIterationLinkForProject from '../xmIterationLink/XmIterationLinkForProject.vue';
import XmIterationAdd from './XmIterationAdd';//
import XmReport from "@/views/xm/rpt/reportIndex";
import XmIterationMenuMng from '../xmIterationMenu/XmIterationMenuMng.vue';
import { loadTasksToXmIterationState } from '@/api/xm/core/xmIteration';
import { initDicts,loadTasksToXmIterationState,editSomeFieldsXmIteration } from '@/api/xm/core/xmIteration';
export default {
computed: {
...mapGetters([
'userInfo','roles'
]),
calcIterationStatusStep() {
if (this.dicts["iterationStatus"] && this.xmIteration) {
var index = this.dicts["iterationStatus"].findIndex((i) => {
if (i.id == this.xmIteration.istatus) {
return true;
} else {
return false;
}
});
return index + 1;
} else {
return 0;
}
},
},
props:['visible','selProject','xmProduct'],
watch:{
@ -104,6 +381,7 @@
},
data() {
return{
dicts:{iterationStatus:[]},
load:{calcIteration:false},
xmIteration:null,
showPanel:'iterationOverview',//menus,tasks,bugs,iterationStateShow
@ -141,6 +419,32 @@
tabClick(tab){
this.showPanel=tab.name
},
editSomeFields(row,fieldName,$event){
let params={};
params['ids']=[row].map(i=>i.id)
params[fieldName]=$event
var func = editSomeFieldsXmIteration
func(params).then(res=>{
let tips = res.data.tips;
if(tips.isOk){
Object.assign(row,params)
this.$emit('edit-fields',params)
}else{
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
}
}).catch((e)=>Object.assign(this.editForm,this.editFormBak))
},
showIterationMenu(){
this.showPanel='iterationMenuMng'
},
showIterationDetail(){
this.showPanel='detail'
},
onEditFields(row){
Object.assign(this.xmIteration,row)
this.$emit('edit-fields',row)
}
},//end methods
components: {
XmIterationOverview,
@ -157,14 +461,15 @@
XmIterationLinkForProduct,
XmIterationLinkForProject,
XmIterationMenuMng,
XmReport,
},
mounted() {
this.$nextTick(() => {
});
this.$nextTick(() => {
initDicts(this)
});
}
}
}
</script>

2
src/views/xm/core/xmIteration/XmIterationOverview.vue

@ -1,5 +1,5 @@
<template>
<section class="page-container padding">
<section>
<el-row class="page-main" :style="{overflowX:'hidden',height:maxTableHeight+'px'}" ref="pageMainRef">
<el-row :gutter="10" style="margin-bottom:10px">
<el-col :span="8" >

Loading…
Cancel
Save