Browse Source

Merge remote-tracking branch 'origin/master'

master
陈裕财 5 years ago
parent
commit
259b324cdd
  1. 78
      src/views/xm/core/xmIteration/XmIterationForProjectComplex.vue
  2. 4
      src/views/xm/core/xmIteration/XmIterationOverview.vue
  3. 73
      src/views/xm/core/xmProduct/XmProductForProjectComplex.vue
  4. 10
      src/views/xm/core/xmProduct/XmProductOverview.vue
  5. 74
      src/views/xm/core/xmProject/XmProjectComplex.vue
  6. 4
      src/views/xm/core/xmProject/XmProjectOverview.vue

78
src/views/xm/core/xmIteration/XmIterationForProjectComplex.vue

@ -1,40 +1,40 @@
<template> <template>
<section class="page-container border">
<section class="page-container border">
<el-row> <el-row>
<el-col :span="iterationVisible==true?3:0" > <el-col :span="iterationVisible==true?3:0" >
<xm-iteration-select :sel-project="selProject" :product-id="xmProduct?xmProduct.id:null" @row-click="onIterationRowClick" @clear-select="onIterationClearSelect"></xm-iteration-select> <xm-iteration-select :sel-project="selProject" :product-id="xmProduct?xmProduct.id:null" @row-click="onIterationRowClick" @clear-select="onIterationClearSelect"></xm-iteration-select>
</el-col>
<el-col :span="iterationVisible==true?21:24" >
<el-tabs type="border-card" :value="showPanel" @tab-click="tabClick">
</el-col>
<el-col :span="iterationVisible==true?21:24" >
<el-tabs type="border-card" :value="showPanel" @tab-click="tabClick">
<el-tab-pane label="迭代概览" lazy name="iterationOverview"> <el-tab-pane label="迭代概览" lazy name="iterationOverview">
<span v-show="iterationVisible==true" slot="label" ><i class="el-icon-d-arrow-left" @click.stop="iterationVisible=false"></i> 迭代概览</span> <span v-show="iterationVisible==true" slot="label" ><i class="el-icon-d-arrow-left" @click.stop="iterationVisible=false"></i> 迭代概览</span>
<span v-show="iterationVisible==false" slot="label" ><i class="el-icon-d-arrow-right" @click.stop="iterationVisible=true"></i> 迭代概览</span>
<xm-iteration-state-show v-if="xmIteration && showPanel=='iterationOverview'" :xm-iteration="xmIteration" :sel-project="selProject"></xm-iteration-state-show>
</el-tab-pane>
<el-tab-pane label="产品、战略" name="products" v-if="!xmProduct">
<span v-show="iterationVisible==false" slot="label" ><i class="el-icon-d-arrow-right" @click.stop="iterationVisible=true"></i> 迭代概览</span>
<xm-iteration-overview v-if="xmIteration && showPanel=='iterationOverview'" :xm-iteration="xmIteration" :sel-project="selProject"></xm-iteration-overview>
</el-tab-pane>
<el-tab-pane label="产品、战略" name="products" v-if="!xmProduct">
<xm-product-mng v-if="xmIteration && showPanel=='products' && !xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-product-mng> <xm-product-mng v-if="xmIteration && showPanel=='products' && !xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-product-mng>
</el-tab-pane>
<el-tab-pane label="项目" name="projects" v-if="!selProject">
</el-tab-pane>
<el-tab-pane label="项目" name="projects" v-if="!selProject">
<xm-project-for-link v-if="xmIteration && showPanel=='projects'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-project-for-link> <xm-project-for-link v-if="xmIteration && showPanel=='projects'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-project-for-link>
</el-tab-pane>
<el-tab-pane label="故事" lazy name="menus" >
</el-tab-pane>
<el-tab-pane label="故事" lazy name="menus" >
<xm-menu-mng v-if="xmIteration && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-menu-mng> <xm-menu-mng v-if="xmIteration && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-menu-mng>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="任务" lazy name="tasks" > <el-tab-pane label="任务" lazy name="tasks" >
<xm-task-mng v-if="xmIteration && showPanel=='tasks'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-task-mng> <xm-task-mng v-if="xmIteration && showPanel=='tasks'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-task-mng>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="缺陷" lazy name="bugs" >
<el-tab-pane label="缺陷" lazy name="bugs" >
<xm-question-mng v-if="xmIteration && showPanel=='bugs'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-question-mng> <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>
</el-tabs> </el-tabs>
<el-row> <el-row>
</el-row> </el-row>
</el-col> </el-col>
</el-row>
</el-row>
</section> </section>
</template> </template>
@ -47,23 +47,24 @@
import XmIterationSelect from './XmIterationSelect.vue' import XmIterationSelect from './XmIterationSelect.vue'
import XmMenuMng from '../xmMenu/XmMenuMng.vue' import XmMenuMng from '../xmMenu/XmMenuMng.vue'
import XmIterationStateShow from '../xmIterationState/XmIterationStateShow.vue' import XmIterationStateShow from '../xmIterationState/XmIterationStateShow.vue'
import { mapGetters } from 'vuex'
import { mapGetters } from 'vuex'
import XmProductMng from '../xmProduct/XmProductMng.vue'; import XmProductMng from '../xmProduct/XmProductMng.vue';
import XmProjectForLink from '../xmProject/XmProjectForLink.vue'; import XmProjectForLink from '../xmProject/XmProjectForLink.vue';
import XmTaskMng from '../xmTask/XmTaskMng.vue'; import XmTaskMng from '../xmTask/XmTaskMng.vue';
import XmQuestionMng from '../xmQuestion/XmQuestionMng.vue'; import XmQuestionMng from '../xmQuestion/XmQuestionMng.vue';
import XmIterationOverview from "./XmIterationOverview";
export default { export default {
computed: { computed: {
...mapGetters([ ...mapGetters([
'userInfo','roles' 'userInfo','roles'
]),
]),
}, },
props:['visible','selProject','xmProduct'], props:['visible','selProject','xmProduct'],
watch:{ watch:{
visible:function(visible){ visible:function(visible){
if(visible==true){
if(visible==true){
} }
} }
}, },
@ -72,7 +73,7 @@
xmIteration:null, xmIteration:null,
showPanel:'iterationOverview',//menus,tasks,bugs,iterationStateShow showPanel:'iterationOverview',//menus,tasks,bugs,iterationStateShow
topModules: topModules:
[
[
{ {
moduleName:"项目", moduleName:"项目",
topModuleId:'xm', topModuleId:'xm',
@ -127,46 +128,47 @@
} }
},//end data },//end data
methods: { methods: {
/**end 自定义函数请在上面加**/
onIterationRowClick(iteration){
this.xmIteration=iteration
/**end 自定义函数请在上面加**/
onIterationRowClick(iteration){
this.xmIteration=iteration
}, },
onIterationClearSelect(){ onIterationClearSelect(){
this.iteration=null;
this.iteration=null;
}, },
tabClick(tab){
tabClick(tab){
this.showPanel=tab.name this.showPanel=tab.name
}, },
doDelXmIterationProductLink(){ doDelXmIterationProductLink(){
this.$confirm('移出后,迭代试图将看不到该产品信息,确认将产品【'+this.xmProduct.productName+'】从迭代【'+this.xmIteration.iterationName+'】移出吗?', '提示', {}).then(() => {
this.$confirm('移出后,迭代试图将看不到该产品信息,确认将产品【'+this.xmProduct.productName+'】从迭代【'+this.xmIteration.iterationName+'】移出吗?', '提示', {}).then(() => {
var params={iterationId:this.xmIteration.id,productId:this.xmProduct.id} var params={iterationId:this.xmIteration.id,productId:this.xmProduct.id}
delXmIterationProductLink(params).then(res=>{ delXmIterationProductLink(params).then(res=>{
var tips = res.data.tips; var tips = res.data.tips;
if(tips.isOk){ if(tips.isOk){
this.$message({showClose: true, message:"移出成功", type: tips.isOk?'success':'error' });
this.$message({showClose: true, message:"移出成功", type: tips.isOk?'success':'error' });
} }
}) })
}) })
} }
},//end methods },//end methods
components: {
components: {
XmIterationOverview,
// //
XmIterationSelect, XmIterationSelect,
XmMenuMng, XmMenuMng,
XmIterationStateShow,
XmIterationStateShow,
XmProductMng, XmProductMng,
XmTaskMng, XmTaskMng,
XmQuestionMng, XmQuestionMng,
XmProjectForLink,
XmProjectForLink,
}, },
mounted() {
mounted() {
this.$nextTick(() => { this.$nextTick(() => {
}); });
} }
} }
@ -177,5 +179,5 @@
text-align:center; text-align:center;
float:left; float:left;
padding-top:5px; padding-top:5px;
}
}
</style> </style>

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

@ -191,11 +191,11 @@
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">项目预计进度</span> <span style="margin-left:20px;">项目预计进度</span>
<el-progress style="width: 400px;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :text-inside="true" :stroke-width="24" :percentage="planProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :text-inside="true" :stroke-width="24" :percentage="planProgress"></el-progress>
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">项目实际进度</span> <span style="margin-left:20px;">项目实际进度</span>
<el-progress style="width: 400px;margin-left:20px;margin-top: 10px;" :text-inside="true" :stroke-width="24" :percentage="realProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;" :text-inside="true" :stroke-width="24" :percentage="realProgress"></el-progress>
</el-row> </el-row>
</div> </div>

73
src/views/xm/core/xmProduct/XmProductForProjectComplex.vue

@ -1,50 +1,51 @@
<template> <template>
<section class="page-container border">
<section class="page-container border">
<el-row> <el-row>
<el-col :span="productVisible==true?3:0" > <el-col :span="productVisible==true?3:0" >
<xm-product-select :sel-project="selProject" :xm-iteration="xmIteration" @row-click="onProductRowClick" @clear-select="onProductClearSelect"></xm-product-select> <xm-product-select :sel-project="selProject" :xm-iteration="xmIteration" @row-click="onProductRowClick" @clear-select="onProductClearSelect"></xm-product-select>
</el-col>
<el-col :span="productVisible==true?21:24" >
<el-tabs type="border-card" :value="showPanel" @tab-click="tabClick">
<el-tab-pane label="产品概览" name="productOverview">
</el-col>
<el-col :span="productVisible==true?21:24" >
<el-tabs type="border-card" :value="showPanel" @tab-click="tabClick">
<el-tab-pane label="产品概览" name="productOverview">
<span v-show="productVisible==true" slot="label" ><i class="el-icon-d-arrow-left" @click.stop="productVisible=false"></i> 产品概览</span> <span v-show="productVisible==true" slot="label" ><i class="el-icon-d-arrow-left" @click.stop="productVisible=false"></i> 产品概览</span>
<span v-show="productVisible==false" slot="label" ><i class="el-icon-d-arrow-right" @click.stop="productVisible=true"></i> 产品概览</span>
</el-tab-pane>
<el-tab-pane label="迭代" name="iterations" v-if=" !xmIteration" >
<span v-show="productVisible==false" slot="label" ><i class="el-icon-d-arrow-right" @click.stop="productVisible=true"></i> 产品概览</span>
<xm-product-overview v-if="xmProduct && showPanel=='productOverview'" :xm-product="xmProduct" :sel-project="selProject"></xm-product-overview>
</el-tab-pane>
<el-tab-pane label="迭代" name="iterations" v-if=" !xmIteration" >
<xm-iteration-mng v-if=" xmProduct && showPanel=='iterations' && !xmIteration" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-iteration-mng> <xm-iteration-mng v-if=" xmProduct && showPanel=='iterations' && !xmIteration" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-iteration-mng>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="项目" lazy name="projects" v-if="!selProject">
<el-tab-pane label="项目" lazy name="projects" v-if="!selProject">
<xm-product-project-for-link v-if="xmProduct && showPanel=='projects'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-product-project-for-link> <xm-product-project-for-link v-if="xmProduct && showPanel=='projects'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-product-project-for-link>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="故事" lazy name="menus" >
<el-tab-pane label="故事" lazy name="menus" >
<xm-menu-mng v-if="xmProduct && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-menu-mng> <xm-menu-mng v-if="xmProduct && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-menu-mng>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="任务" lazy name="tasks" > <el-tab-pane label="任务" lazy name="tasks" >
<xm-task-mng v-if="xmProduct && showPanel=='tasks'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-task-mng> <xm-task-mng v-if="xmProduct && showPanel=='tasks'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-task-mng>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="缺陷" lazy name="bugs" >
<el-tab-pane label="缺陷" lazy name="bugs" >
<xm-question-mng v-if="xmProduct && showPanel=='bugs'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-question-mng> <xm-question-mng v-if="xmProduct && showPanel=='bugs'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-question-mng>
</el-tab-pane>
</el-tab-pane>
</el-tabs> </el-tabs>
<el-row> <el-row>
</el-row> </el-row>
</el-col> </el-col>
</el-row>
</el-row>
</section> </section>
</template> </template>
<script> <script>
import util from '@/common/js/util';// import util from '@/common/js/util';//
import config from '@/common/config';// import config from '@/common/config';//
import { listOption } from '@/api/mdp/meta/itemOption';//
import { listOption } from '@/api/mdp/meta/itemOption';//
import XmIterationMng from '../xmIteration/XmIterationMng.vue' import XmIterationMng from '../xmIteration/XmIterationMng.vue'
import XmMenuMng from '../xmMenu/XmMenuMng.vue' import XmMenuMng from '../xmMenu/XmMenuMng.vue'
import XmIterationStateShow from '../xmIterationState/XmIterationStateShow.vue' import XmIterationStateShow from '../xmIterationState/XmIterationStateShow.vue'
import { mapGetters } from 'vuex'
import { mapGetters } from 'vuex'
import XmProductMng from './XmProductMng.vue'; import XmProductMng from './XmProductMng.vue';
import XmTaskMng from '../xmTask/XmTaskMng.vue'; import XmTaskMng from '../xmTask/XmTaskMng.vue';
import XmQuestionMng from '../xmQuestion/XmQuestionMng.vue'; import XmQuestionMng from '../xmQuestion/XmQuestionMng.vue';
@ -53,18 +54,19 @@ import XmProjectForLink from '../xmProject/XmProjectForLink.vue';
import XmProductSelect from './XmProductSelect.vue'; import XmProductSelect from './XmProductSelect.vue';
import XmProductProjectForLink from './XmProductProjectForLink.vue'; import XmProductProjectForLink from './XmProductProjectForLink.vue';
import XmProductOverview from "./XmProductOverview";
export default { export default {
computed: { computed: {
...mapGetters([ ...mapGetters([
'userInfo','roles' 'userInfo','roles'
]),
]),
}, },
props:['visible','selProject','xmIteration'], props:['visible','selProject','xmIteration'],
watch:{ watch:{
visible:function(visible){ visible:function(visible){
if(visible==true){
if(visible==true){
} }
} }
}, },
@ -73,7 +75,7 @@ import XmProductProjectForLink from './XmProductProjectForLink.vue';
xmProduct:null, xmProduct:null,
showPanel:'productOverview',//menus,tasks,bugs,iterationStateShow showPanel:'productOverview',//menus,tasks,bugs,iterationStateShow
topModules: topModules:
[
[
{ {
moduleName:"项目", moduleName:"项目",
topModuleId:'xm', topModuleId:'xm',
@ -128,25 +130,25 @@ import XmProductProjectForLink from './XmProductProjectForLink.vue';
} }
},//end data },//end data
methods: { methods: {
/**end 自定义函数请在上面加**/
onProductRowClick(xmProduct){
this.xmProduct=xmProduct
/**end 自定义函数请在上面加**/
onProductRowClick(xmProduct){
this.xmProduct=xmProduct
}, },
onProductClearSelect(){ onProductClearSelect(){
this.iteration=null;
this.iteration=null;
}, },
tabClick(tab){
tabClick(tab){
this.showPanel=tab.name this.showPanel=tab.name
} }
},//end methods },//end methods
components: {
components: {
// //
XmIterationMng, XmIterationMng,
XmMenuMng, XmMenuMng,
XmIterationStateShow,
XmIterationStateShow,
XmProductMng, XmProductMng,
XmTaskMng, XmTaskMng,
XmQuestionMng, XmQuestionMng,
@ -154,12 +156,13 @@ import XmProductProjectForLink from './XmProductProjectForLink.vue';
XmProjectList, XmProjectList,
XmProjectForLink, XmProjectForLink,
XmProductProjectForLink, XmProductProjectForLink,
XmProductOverview,
}, },
mounted() {
mounted() {
this.$nextTick(() => { this.$nextTick(() => {
}); });
} }
} }
@ -170,5 +173,5 @@ XmProductProjectForLink,
text-align:center; text-align:center;
float:left; float:left;
padding-top:5px; padding-top:5px;
}
}
</style> </style>

10
src/views/xm/core/xmProduct/XmProductOverview.vue

@ -91,9 +91,9 @@
</div> </div>
<div> <div>
<div class="info"> <div class="info">
<el-progress :percentage="taskProgress"></el-progress>
<el-progress :percentage="taskProgress"></el-progress>
</div> </div>
<div class="title">任务进度</div>
<div class="title" style="width: 100%">任务进度</div>
</div> </div>
</div> </div>
</el-row> </el-row>
@ -191,11 +191,11 @@
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">工时预计进度</span> <span style="margin-left:20px;">工时预计进度</span>
<el-progress style="width: 400px;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :text-inside="true" :stroke-width="20" :percentage="planProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :text-inside="true" :stroke-width="20" :percentage="planProgress"></el-progress>
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">工时实际进度</span> <span style="margin-left:20px;">工时实际进度</span>
<el-progress style="width: 400px;margin-left:20px;margin-top: 10px;" :text-inside="true" :stroke-width="20" :percentage="realProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;" :text-inside="true" :stroke-width="20" :percentage="realProgress"></el-progress>
</el-row> </el-row>
</div> </div>
</el-card> </el-card>
@ -303,7 +303,7 @@ export default {
this.drawPieBug(); this.drawPieBug();
this.drawProjectAndIteration(); this.drawProjectAndIteration();
this.drawCasePie(); this.drawCasePie();
}
},
}, },
data() { data() {
return { return {

74
src/views/xm/core/xmProject/XmProjectComplex.vue

@ -1,53 +1,53 @@
<template> <template>
<section class="page-container border">
<section class="page-container border">
<el-row> <el-row>
<el-col :span="projectVisible==true?3:0" > <el-col :span="projectVisible==true?3:0" >
<xm-project-select :xm-iteration="xmIteration" :xm-product="xmProduct" @row-click="onProjectRowClick" @clear-select="onProjectClearSelect"></xm-project-select> <xm-project-select :xm-iteration="xmIteration" :xm-product="xmProduct" @row-click="onProjectRowClick" @clear-select="onProjectClearSelect"></xm-project-select>
</el-col>
<el-col :span="projectVisible==true?21:24" >
<el-tabs type="border-card" :value="showPanel" @tab-click="tabClick">
<el-tab-pane label="项目概览" name="projectOverview">
</el-col>
<el-col :span="projectVisible==true?21:24" >
<el-tabs type="border-card" :value="showPanel" @tab-click="tabClick">
<el-tab-pane label="项目概览" name="projectOverview">
<span v-show="projectVisible==true" slot="label" ><i class="el-icon-d-arrow-left" @click.stop="projectVisible=false"></i> 项目概览</span> <span v-show="projectVisible==true" slot="label" ><i class="el-icon-d-arrow-left" @click.stop="projectVisible=false"></i> 项目概览</span>
<span v-show="projectVisible==false" slot="label" ><i class="el-icon-d-arrow-right" @click.stop="projectVisible=true"></i> 项目概览</span>
</el-tab-pane>
<el-tab-pane label="迭代" name="iterations" v-if=" !xmIteration" >
<span v-show="projectVisible==false" slot="label" ><i class="el-icon-d-arrow-right" @click.stop="projectVisible=true"></i> 项目概览</span>
<xm-project-overview v-if="selProject && showPanel=='projectOverview'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-project-overview>
</el-tab-pane>
<el-tab-pane label="迭代" name="iterations" v-if=" !xmIteration" >
<xm-iteration-mng v-if=" selProject && showPanel=='iterations' && !xmIteration" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-iteration-mng> <xm-iteration-mng v-if=" selProject && showPanel=='iterations' && !xmIteration" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-iteration-mng>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="产品、战略" name="products" v-if=" !xmProduct" >
<el-tab-pane label="产品、战略" name="products" v-if=" !xmProduct" >
<xm-product-mng v-if=" selProject && showPanel=='products'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-product-mng> <xm-product-mng v-if=" selProject && showPanel=='products'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-product-mng>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="项目" lazy name="projects" v-if="!selProject">
<el-tab-pane label="项目" lazy name="projects" v-if="!selProject">
<xm-product-project-for-link v-if="selProject && showPanel=='projects'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-product-project-for-link> <xm-product-project-for-link v-if="selProject && showPanel=='projects'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-product-project-for-link>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="故事" lazy name="menus" >
<el-tab-pane label="故事" lazy name="menus" >
<xm-menu-mng v-if="selProject && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-menu-mng> <xm-menu-mng v-if="selProject && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-menu-mng>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="任务" lazy name="tasks" > <el-tab-pane label="任务" lazy name="tasks" >
<xm-task-mng v-if="selProject && showPanel=='tasks'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-task-mng> <xm-task-mng v-if="selProject && showPanel=='tasks'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-task-mng>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="缺陷" lazy name="bugs" >
<el-tab-pane label="缺陷" lazy name="bugs" >
<xm-question-mng v-if="selProject && showPanel=='bugs'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-question-mng> <xm-question-mng v-if="selProject && showPanel=='bugs'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-question-mng>
</el-tab-pane>
</el-tab-pane>
</el-tabs> </el-tabs>
<el-row> <el-row>
</el-row> </el-row>
</el-col> </el-col>
</el-row>
</el-row>
</section> </section>
</template> </template>
<script> <script>
import util from '@/common/js/util';// import util from '@/common/js/util';//
import config from '@/common/config';// import config from '@/common/config';//
import { listOption } from '@/api/mdp/meta/itemOption';//
import { listOption } from '@/api/mdp/meta/itemOption';//
import XmIterationMng from '../xmIteration/XmIterationMng.vue' import XmIterationMng from '../xmIteration/XmIterationMng.vue'
import XmMenuMng from '../xmMenu/XmMenuMng.vue' import XmMenuMng from '../xmMenu/XmMenuMng.vue'
import XmIterationStateShow from '../xmIterationState/XmIterationStateShow.vue' import XmIterationStateShow from '../xmIterationState/XmIterationStateShow.vue'
import { mapGetters } from 'vuex'
import { mapGetters } from 'vuex'
import XmProductMng from '../xmProduct/XmProductMng.vue'; import XmProductMng from '../xmProduct/XmProductMng.vue';
import XmTaskMng from '../xmTask/XmTaskMng.vue'; import XmTaskMng from '../xmTask/XmTaskMng.vue';
import XmQuestionMng from '../xmQuestion/XmQuestionMng.vue'; import XmQuestionMng from '../xmQuestion/XmQuestionMng.vue';
@ -56,18 +56,19 @@ import XmProjectForLink from './XmProjectForLink.vue';
import XmProductSelect from '../xmProduct/XmProductSelect.vue'; import XmProductSelect from '../xmProduct/XmProductSelect.vue';
import XmProductProjectForLink from '../xmProduct/XmProductProjectForLink.vue'; import XmProductProjectForLink from '../xmProduct/XmProductProjectForLink.vue';
import XmProjectOverview from "./XmProjectOverview";
export default { export default {
computed: { computed: {
...mapGetters([ ...mapGetters([
'userInfo','roles' 'userInfo','roles'
]),
]),
}, },
props:['visible','xmIteration','xmProduct'], props:['visible','xmIteration','xmProduct'],
watch:{ watch:{
visible:function(visible){ visible:function(visible){
if(visible==true){
if(visible==true){
} }
} }
}, },
@ -76,7 +77,7 @@ import XmProductProjectForLink from '../xmProduct/XmProductProjectForLink.vue';
selProject:null, selProject:null,
showPanel:'projectOverview',//menus,tasks,bugs,iterationStateShow showPanel:'projectOverview',//menus,tasks,bugs,iterationStateShow
topModules: topModules:
[
[
{ {
moduleName:"项目", moduleName:"项目",
topModuleId:'xm', topModuleId:'xm',
@ -131,25 +132,25 @@ import XmProductProjectForLink from '../xmProduct/XmProductProjectForLink.vue';
} }
},//end data },//end data
methods: { methods: {
/**end 自定义函数请在上面加**/
onProjectRowClick(xmProject){
this.selProject=xmProject
/**end 自定义函数请在上面加**/
onProjectRowClick(xmProject){
this.selProject=xmProject
}, },
onProjectClearSelect(){ onProjectClearSelect(){
this.selProject=null;
this.selProject=null;
}, },
tabClick(tab){
tabClick(tab){
this.showPanel=tab.name this.showPanel=tab.name
} }
},//end methods },//end methods
components: {
components: {
// //
XmIterationMng, XmIterationMng,
XmMenuMng, XmMenuMng,
XmIterationStateShow,
XmIterationStateShow,
XmProductMng, XmProductMng,
XmTaskMng, XmTaskMng,
XmQuestionMng, XmQuestionMng,
@ -157,12 +158,13 @@ import XmProductProjectForLink from '../xmProduct/XmProductProjectForLink.vue';
XmProjectSelect, XmProjectSelect,
XmProjectForLink, XmProjectForLink,
XmProductProjectForLink, XmProductProjectForLink,
XmProjectOverview,
}, },
mounted() {
mounted() {
this.$nextTick(() => { this.$nextTick(() => {
}); });
} }
} }
@ -173,5 +175,5 @@ import XmProductProjectForLink from '../xmProduct/XmProductProjectForLink.vue';
text-align:center; text-align:center;
float:left; float:left;
padding-top:5px; padding-top:5px;
}
}
</style> </style>

4
src/views/xm/core/xmProject/XmProjectOverview.vue

@ -201,11 +201,11 @@
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">项目预计进度</span> <span style="margin-left:20px;">项目预计进度</span>
<el-progress style="width: 600px;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :text-inside="true" :stroke-width="24" :percentage="planProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;margin-bottom: 20px;" :text-inside="true" :stroke-width="24" :percentage="planProgress"></el-progress>
</el-row> </el-row>
<el-row> <el-row>
<span style="margin-left:20px;">项目实际进度</span> <span style="margin-left:20px;">项目实际进度</span>
<el-progress style="width: 600px;margin-left:20px;margin-top: 10px;" :text-inside="true" :stroke-width="24" :percentage="realProgress"></el-progress>
<el-progress style="width: 90%;margin-left:20px;margin-top: 10px;" :text-inside="true" :stroke-width="24" :percentage="realProgress"></el-progress>
</el-row> </el-row>
</div> </div>

Loading…
Cancel
Save