Browse Source

增加产品试图、迭代试图、优化项目试图

master
陈裕财 5 years ago
parent
commit
7e585594c1
  1. 7
      src/router/routes_xm.js
  2. 32
      src/views/xm/core/xmIteration/XmIterationComplex.vue
  3. 25
      src/views/xm/core/xmMenu/XmMenuMng.vue
  4. 173
      src/views/xm/core/xmProduct/XmProductComplex.vue
  5. 29
      src/views/xm/core/xmProduct/XmProductMng.vue
  6. 13
      src/views/xm/core/xmProduct/XmProductSelect.vue
  7. 10
      src/views/xm/core/xmProject/XmProjectInfo.vue
  8. 11
      src/views/xm/core/xmProjectPhase/XmProjectPhaseMng.vue
  9. 12
      src/views/xm/core/xmProjectPhase/XmProjectPhaseSelect.vue
  10. 40
      src/views/xm/core/xmQuestion/XmQuestionMng.vue
  11. 11
      src/views/xm/core/xmTask/XmTaskMng.vue

7
src/router/routes_xm.js

@ -80,16 +80,18 @@ export default {
{
path: '/xm/core',
component: Layout,
name: '用户故事',
name: '产品管理',
iconCls: 'fa el-icon-menu',
meta: {
title: '用户故事',
title: '产品管理',
icon: 'project'
},
// leaf: true,//只有一个节点
children: [
{ path: 'xmProduct/XmProductComplex', component: _import('xm/core/xmProduct/XmProductComplex'), name: 'XmProductComplex', meta: { title: '产品总览' }},
{ path: 'xmProduct/XmProductMng', component: _import('xm/core/xmProduct/XmProductMng'), name: 'XmProductMng', meta: { title: '产品管理' }},
{ path: 'xmMenu/XmMenuMng', component: _import('xm/core/xmMenu/XmMenuMng'), name: 'XmMenuMng', meta: { title: '故事管理' }},
{ path: 'xmMenuExchange/XmMenuExchangeMng', component: _import('xm/core/xmMenuExchange/XmMenuExchangeMng'), name: 'XmMenuExchangeMng', meta: { title: '互动评论' }},
{ path: 'xmMenuTemplate/XmMenuTemplateMng', component: _import('xm/core/xmMenuTemplate/XmMenuTemplateMng'), name: 'XmMenuTemplateMng', meta: { title: '故事模板' }},
@ -106,6 +108,7 @@ export default {
},
// leaf: true,//只有一个节点
children: [
{ path: 'xmIteration/XmIterationComplex', component: _import('xm/core/xmIteration/XmIterationComplex'), name: 'XmIterationComplex', meta: { title: '迭代总览' }},
{ path: 'xmIteration/XmIterationMng', component: _import('xm/core/xmIteration/XmIterationMng'), name: 'XmIterationMng', meta: { title: '迭代管理' }},
{ path: 'xmIterationMenu/XmIterationMenuMng', component: _import('xm/core/xmIterationMenu/XmIterationMenuMng'), name: 'XmIterationMenuMng', meta: { title: '故事迭代' }},
]

32
src/views/xm/core/xmIteration/XmIterationComplex.vue

@ -1,27 +1,27 @@
<template>
<section class="page-container border">
<el-row>
<el-col :span="iterationVisible==true?6:0" >
<el-col :span="iterationVisible==true?3:0" >
<xm-iteration-select :sel-project="selProject" @row-click="onIterationRowClick" @clear-select="onIterationClearSelect"></xm-iteration-select>
</el-col>
<el-col :span="iterationVisible==true?18:24" >
<el-tabs type="border-card" @tab-click="tabClick">
<el-tab-pane label="产品、战略" lazy>
<el-col :span="iterationVisible==true?21:24" >
<el-tabs type="border-card" :v-model="showPanel" activate-name="iterationOverview" @tab-click="tabClick">
<el-tab-pane label="产品、战略" name="products">
<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-product-mng v-if="xmIteration" :xm-iteration="xmIteration" :sel-project="selProject"></xm-product-mng>
<xm-product-mng v-show="xmIteration && showPanel=='products'" :xm-iteration="xmIteration" :sel-project="selProject"></xm-product-mng>
</el-tab-pane>
<el-tab-pane label="故事" lazy >
<xm-menu-mng v-if="xmIteration" :xm-iteration="xmIteration" :sel-project="selProject"></xm-menu-mng>
<el-tab-pane label="故事" lazy name="menus" >
<xm-menu-mng v-show="xmIteration && showPanel=='menus'" :xm-iteration="xmIteration" :sel-project="selProject"></xm-menu-mng>
</el-tab-pane>
<el-tab-pane label="任务" lazy >
<xm-task-mng v-if="xmIteration" :xm-iteration="xmIteration" :sel-project="selProject"></xm-task-mng>
<el-tab-pane label="任务" lazy name="tasks" >
<xm-task-mng v-show="xmIteration && showPanel=='tasks'" :xm-iteration="xmIteration" :sel-project="selProject"></xm-task-mng>
</el-tab-pane>
<el-tab-pane label="缺陷" lazy >
<xm-question-mng v-if="xmIteration" :xm-iteration="xmIteration" :sel-project="selProject"></xm-question-mng>
<el-tab-pane label="缺陷" lazy name="bugs" >
<xm-question-mng v-show="xmIteration && showPanel=='bugs'" :xm-iteration="xmIteration" :sel-project="selProject"></xm-question-mng>
</el-tab-pane>
<el-tab-pane label="迭代概览" lazy >
<xm-iteration-state-show v-if="xmIteration" :xm-iteration="xmIteration" :sel-project="selProject"></xm-iteration-state-show>
<el-tab-pane label="迭代概览" lazy name="iterationOverview">
<xm-iteration-state-show v-show="xmIteration && showPanel=='iterationOverview'" :xm-iteration="xmIteration" :sel-project="selProject"></xm-iteration-state-show>
</el-tab-pane>
</el-tabs>
<el-row>
@ -64,7 +64,7 @@ import XmQuestionMng from '../xmQuestion/XmQuestionMng.vue';
data() {
return{
xmIteration:null,
showPanel:'menus',//menus,tasks,bugs,iterationStateShow
showPanel:'products',//menus,tasks,bugs,iterationStateShow
topModules:
[
{
@ -132,9 +132,7 @@ import XmQuestionMng from '../xmQuestion/XmQuestionMng.vue';
this.iteration=null;
},
tabClick(tab){
if(tab.label=='任务' || tab.label=='故事'){
this.iterationVisible=false;
}
this.showPanel=tab.name
}
},//end methods
components: {

25
src/views/xm/core/xmMenu/XmMenuMng.vue

@ -1,10 +1,10 @@
<template>
<section class="padding">
<el-row v-if=" !batchEditVisible">
<el-col :span="6">
<xm-product-mng :sel-project="selProject" @row-click="onProductSelected" ref="xmProductMng" :simple="true"></xm-product-mng>
<el-col :span="5" v-if="!xmProduct">
<xm-product-mng :sel-project="selProject" @row-click="onProductSelected" ref="xmProductMng" :xm-iteration="xmIteration" :simple="true"></xm-product-mng>
</el-col>
<el-col :span="18" class="padding-left">
<el-col :span="xmProduct?24:19" class="padding-left">
<el-row>
<el-select v-model="filters.taskFilterType" placeholder="是否分配了任务?" clearable >
<el-option value="not-join" label="未分配任何任务的故事"></el-option>
@ -224,7 +224,7 @@
import { mapGetters } from 'vuex'
export default {
props:['selProject','xmIteration'],
props:['selProject','xmIteration','xmProduct'],
computed: {
...mapGetters([
'userInfo','roles'
@ -260,6 +260,13 @@
if(product==null){
this.productVisible=true;
}
},
xmIteration:function(){
this.getXmMenus()
},
xmProduct:function(){
this.filters.product=this.xmProduct
this.getXmMenus()
}
},
data() {
@ -412,7 +419,11 @@
this.load.list = false;
}
this.load.list = true;
listXmMenuWithPlan(params).then( callback ).catch( err => this.load.list = false );
if(!this.selProject){
listXmMenuWithState(params).then( callback ).catch( err => this.load.list = false );
}else{
listXmMenuWithPlan
}
},
// XmMenu xm_project_menu
@ -807,6 +818,10 @@
//
},
mounted() {
this.filters.product=this.xmProduct
if(this.xmProduct){
this.productVisible=false;
}
this.$nextTick(() => {
var clientRect=this.$refs.table.$el.getBoundingClientRect();
var subHeight=70/1000 * window.innerHeight;

173
src/views/xm/core/xmProduct/XmProductComplex.vue

@ -0,0 +1,173 @@
<template>
<section class="page-container border">
<el-row>
<el-col :span="productVisible==true?3:0" >
<xm-product-select :sel-project="selProject" @row-click="onProductRowClick" @clear-select="onProductClearSelect"></xm-product-select>
</el-col>
<el-col :span="productVisible==true?21:24" >
<el-tabs type="border-card" :v-model="showPanel" activate-name="productOverview" @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==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">
<xm-iteration-select v-show=" showPanel=='iterations'" :xm-product="xmProduct" :sel-project="selProject"></xm-iteration-select>
</el-tab-pane>
<el-tab-pane label="项目" lazy name="projects" v-if="!selProject">
<xm-project-list v-show="xmProduct && showPanel=='projects'" :xm-product="xmProduct"></xm-project-list>
</el-tab-pane>
<el-tab-pane label="故事" lazy name="menus" >
<xm-menu-mng v-show="xmProduct && showPanel=='menus'" :xm-product="xmProduct" :sel-project="selProject"></xm-menu-mng>
</el-tab-pane>
<el-tab-pane label="任务" lazy name="tasks" >
<xm-task-mng v-show="xmProduct && showPanel=='tasks'" :xm-product="xmProduct" :sel-project="selProject"></xm-task-mng>
</el-tab-pane>
<el-tab-pane label="缺陷" lazy name="bugs" >
<xm-question-mng v-show="xmProduct && showPanel=='bugs'" :xm-product="xmProduct" :sel-project="selProject"></xm-question-mng>
</el-tab-pane>
<el-tab-pane label="迭代概览" lazy name="iterationOverview">
<xm-iteration-state-show v-show="xmProduct && showPanel=='iterationOverview'" :xm-product="xmProduct" :sel-project="selProject"></xm-iteration-state-show>
</el-tab-pane>
</el-tabs>
<el-row>
</el-row>
</el-col>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from '@/common/config';//
import { listOption } from '@/api/mdp/meta/itemOption';//
import XmIterationSelect from '../xmIteration/XmIterationSelect.vue'
import XmMenuMng from '../xmMenu/XmMenuMng.vue'
import XmIterationStateShow from '../xmIterationState/XmIterationStateShow.vue'
import { mapGetters } from 'vuex'
import XmProductMng from './XmProductMng.vue';
import XmTaskMng from '../xmTask/XmTaskMng.vue';
import XmQuestionMng from '../xmQuestion/XmQuestionMng.vue';
import XmProjectList from '../xmProject/XmProjectList.vue';
import XmProductSelect from './XmProductSelect.vue';
export default {
computed: {
...mapGetters([
'userInfo','roles'
]),
},
props:['visible','selProject'],
watch:{
visible:function(visible){
if(visible==true){
}
}
},
data() {
return{
xmProduct:null,
showPanel:'iterations',//menus,tasks,bugs,iterationStateShow
topModules:
[
{
moduleName:"项目",
topModuleId:'xm',
link:"/xm/core/xmProject/XmProjectMng",
icon: require("@/assets/image/platform/module-project.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"产品",
topModuleId:'xm',
link:"/xm/core/xmProduct/XmProductMng",
icon: require("@/assets/image/platform/module-marketing.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"故事",
topModuleId:'xm',
link:"/xm/core/xmMenu/XmMenuMng",
icon: require("@/assets/image/platform/module-intelligentForms.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"迭代",
topModuleId:'xm',
link:"/xm/core/xmIteration/XmIterationMng",
icon: require("@/assets/image/platform/module-iteration.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"任务",
topModuleId:'xm',
link:"/xm/core/xmTask/XmMyTaskCenter",
icon: require("@/assets/image/platform/module-task.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
},
{
moduleName:"缺陷",
topModuleId:'xm',
link:"/xm/core/xmQuestion/XmQuestionMng",
icon: require("@/assets/image/platform/anti-fake.png"),
isHighlight:false,
moduleType : '1' // 1- 2-
}
],
productVisible:true,
/**end 自定义属性请在上面加 请加备注**/
}
},//end data
methods: {
/**end 自定义函数请在上面加**/
onProductRowClick(xmProduct){
this.xmProduct=xmProduct
},
onProductClearSelect(){
this.iteration=null;
},
tabClick(tab){
this.showPanel=tab.name
}
},//end methods
components: {
//
XmIterationSelect,
XmMenuMng,
XmIterationStateShow,
XmProductMng,
XmTaskMng,
XmQuestionMng,
XmProductSelect,
XmProjectList,
},
mounted() {
this.$nextTick(() => {
});
}
}
</script>
<style scoped>
.more-label-font{
text-align:center;
float:left;
padding-top:5px;
}
</style>

29
src/views/xm/core/xmProduct/XmProductMng.vue

@ -27,9 +27,20 @@
<el-button v-loading="load.list" :disabled="load.list==true" v-on:click="searchXmProducts" icon="el-icon-search"></el-button>
</template>
</el-input>
<el-button type="primary" @click="showAdd" icon="el-icon-plus">产品</el-button>
<el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || load.del==true" icon="el-icon-delete"></el-button>
<el-popover
placement="top-start"
title=""
width="400"
trigger="hover" >
<el-row>
<el-button type="primary" @click="showAdd" icon="el-icon-plus">产品</el-button>
<el-tooltip content="项目与产品关联后,从项目视图可以查找到产品信息"><el-button type="primary" @click="showAdd" icon="el-icon-plus">将项目与产品关联</el-button> </el-tooltip>
<el-tooltip content="迭代与产品关联后,从迭代视图可以查找到产品信息,可以将故事加入到迭代中去"><el-button type="primary" @click="showAdd" icon="el-icon-plus">将迭代与产品关联</el-button> </el-tooltip>
</el-row>
<el-button slot="reference" icon="el-icon-plus" circle></el-button>
</el-popover>
<el-popover
placement="top-start"
title=""
@ -171,7 +182,11 @@
<el-drawer title="选择员工" :visible.sync="selectFiltersPmUserVisible" size="60%" append-to-body>
<users-select @confirm="onFiltersPmUserSelected" ref="usersSelect"></users-select>
</el-drawer>
<el-drawer title="选择项目" :visible.sync="projectVisible" size="60%" append-to-body>
<xm-project-list @select="onProjectSelected"></xm-project-list>
</el-drawer>
</section>
</template>
@ -188,6 +203,7 @@
import XmProductStateMng from '../xmProductState/XmProductStateMng';//
import UsersSelect from "@/views/mdp/sys/user/UsersSelect";
import XmProjectList from '../xmProject/XmProjectList.vue';
export default {
props:['selProject','xmIteration'],
@ -196,6 +212,12 @@
'userInfo','roles'
])
},
watch:{
xmIteration:function(){
this.getXmProducts();
}
},
data() {
const beginDate = new Date();
const endDate = new Date();
@ -240,6 +262,7 @@
util.formatDate.format(endDate, "yyyy-MM-dd")
],
pickerOptions: util.pickerOptions('datarange'),
projectVisible:false,
/**begin 自定义属性请在下面加 请加备注**/
/**end 自定义属性请在上面加 请加备注**/
@ -465,6 +488,9 @@
this.filters.pmUser=this.userInfo;
this.searchXmProducts();
},
onProjectSelected(projects){
}
/**end 自定义函数请在上面加**/
},//end methods
@ -474,6 +500,7 @@
XmIterationMng,
XmProductStateMng,
UsersSelect,
XmProjectList,
//
},
mounted() {

13
src/views/xm/core/xmProduct/XmProductSelect.vue

@ -102,12 +102,17 @@
export default {
props:['isSelectProduct','selProject'],
props:['isSelectProduct','selProject','xmIteration'],
computed: {
...mapGetters([
'userInfo','roles'
])
},
watch:{
xmIteration(){
this.getXmProducts();
}
},
data() {
const beginDate = new Date();
const endDate = new Date();
@ -208,6 +213,10 @@
if(this.selProject){
params.projectId=this.selProject.id
}
if(this.xmIteration){
params.iterationId=this.xmIteration.id
}
params.queryScope=this.filters.queryScope
if(this.filters.queryScope=='productId'){
if(!this.filters.id){
@ -221,7 +230,7 @@
params.branchId=this.userInfo.branchId
params.projectId=null;
}
if(!this.selProject && this.filters.queryScope!='productId'){
if(!this.selProject && !this.xmIteration && this.filters.queryScope!='productId'){
if(!this.dateRanger || this.dateRanger.length==0){
this.$message({showClose: true, message: "创建日期范围不能为空", type: 'error' });
return;

10
src/views/xm/core/xmProject/XmProjectInfo.vue

@ -143,7 +143,7 @@
<xm-project-overiew-complex v-if="infotype=='项目概览'" :sel-project="selProject"></xm-project-overiew-complex>
<xm-iteration-complex v-if="infotype=='迭代'" ref="xmIterationMng" :sel-project="selProject" ></xm-iteration-complex>
<xm-product-mng v-if="infotype=='产品'" ref="xmProductMng" :sel-project="selProject" ></xm-product-mng>
<xm-product-complex v-if="infotype=='产品'" ref="xmProductComplex" :sel-project="selProject" ></xm-product-complex>
<xm-menu-mng v-if="infotype=='用户故事'" :sel-project="selProject"></xm-menu-mng>
<xm-task-mng v-if="infotype=='任务'" ref="xmTaskMng" :sel-project="selProject" ></xm-task-mng>
<xm-question v-if="infotype=='缺陷'" :qtype="'bug'" :sel-project='selProject' ref="xmQuestion"></xm-question>
@ -193,10 +193,10 @@
import xmMenuMng from '../xmMenu/XmMenuMng';
import xmMenuWithPlan from '../xmMenu/XmMenuWithPlan';
import xmProjectStateMng from '../xmProjectState/XmProjectStateMng';
import xmTestCaseExecMng from '../xmTestCaseExec/XmTestCaseExecMng';
import xmProductMng from '../xmProduct/XmProductMng';
import xmTestCaseExecMng from '../xmTestCaseExec/XmTestCaseExecMng';
import XmIterationComplex from '../xmIteration/XmIterationComplex.vue';
import XmProjectOveriewComplex from './XmProjectOveriewComplex.vue';
import XmProductComplex from '../xmProduct/XmProductComplex.vue';
export default {
@ -416,9 +416,9 @@
xmProjectStateMng,
xmTestCaseExecMng,
xmProjectGroupSelect,
XmIterationComplex,
xmProductMng,
XmIterationComplex,
XmProjectOveriewComplex,
XmProductComplex,
//
},
mounted() {

11
src/views/xm/core/xmProjectPhase/XmProjectPhaseMng.vue

@ -294,10 +294,9 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue';
}
},
props:['selProject'],
props:['selProject','xmIteration'],
watch:{
selProject:function(selProject,old){
console.log('this.selProject==', selProject);
selProject:function(selProject,old){
if(!selProject){
this.xmProjectPhases=[]
@ -307,6 +306,9 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue';
this.searchXmProjectPhases();
}
}
},
xmIteration(){
this.searchXmProjectPhases()
}
},
data() {
@ -419,6 +421,9 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue';
params.projectId=this.selProject.id
}
if(this.xmIteration){
params.iterationId=this.xmIteration.id
}
this.load.list = true;
listXmProjectPhase(params).then((res) => {
var tips=res.data.tips;

12
src/views/xm/core/xmProjectPhase/XmProjectPhaseSelect.vue

@ -49,10 +49,9 @@
},
},
props:['selProject'],
props:['selProject','xmIteration'],
watch:{
selProject:function(selProject,old){
console.log('this.selProject==', selProject);
selProject:function(selProject,old){
if(!selProject){
this.xmProjectPhases=[]
@ -62,6 +61,9 @@
this.searchXmProjectPhases();
}
}
},
xmIteration(){
this.searchXmProjectPhases();
}
},
data() {
@ -172,6 +174,10 @@
if(this.selProject!=null && this.selProject!=undefined){
params.projectId=this.selProject.id
}
if(this.xmIteration!=null && this.xmIteration!=undefined){
params.iterationId=this.xmIteration.id
}
this.load.list = true;
listXmProjectPhase(params).then((res) => {

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

@ -153,8 +153,8 @@
</el-tooltip>
<el-button icon="el-icon-upload2" v-if="!scope.row.flowState" type="text" @click="handleCommand({type:'sendToProcessApprova',data:scope.row,bizKey:'xm_question_up_approva'})">{{qtype=='risk'?'升级':'升级'}}</el-button>
</span>
<el-badge :value="getBadge(scope.row)">
<el-link type="primary" @click="showEdit(scope.row)">{{scope.row.name}}</el-link>
<el-badge :value="getBadge(scope.row)" type="warning">
<el-link type="primary" @click="showEdit(scope.row)">{{scope.row.name}}</el-link>
</el-badge>
</span>
</div>
@ -213,18 +213,20 @@
'userInfo','roles'
]),
},
props: ["selProject",'qtype','xmTestCaseExec','xmTestCase','visible'],
props: ["selProject",'qtype','xmTestCaseExec','xmTestCase','xmIteration','xmProduct'],
watch:{
selProject:function(selProject){
this.filters.selProject=this.selProject
//this.getXmQuestions();
},
qtype:function(){
this.getXmQuestions()
},
visible(visible){
if(visible==true){
this.getXmQuestions();
}
},
qtype(){
xmIteration:function(){
this.getXmQuestions()
},
xmProduct:function(){
this.filters.product=this.xmProduct
this.getXmQuestions()
}
},
@ -449,6 +451,9 @@
if(this.xmTestCase){
params.caseId=this.xmTestCase.id
}
if(this.xmIteration){
params.iterationId=this.xmIteration.id
}
if(this.filters.key){
params.key='%'+this.filters.key+'%'
@ -874,7 +879,15 @@
}
if(row.handlerUsername){
if(row.lremark){
msg='已指派给'+row.handlerUsername+','+row.lremark
var lremark=row.lremark;
lremark=lremark.replace(/<\w?>/g,"");
lremark=lremark.replace(/<\/\w?>/g,"");
if(lremark.length<=10){
msg='已指派给'+row.handlerUsername+','+lremark
}else{
msg='已指派给'+row.handlerUsername+','+lremark.substr(0,10)+"..."
}
}else{
msg='已指派给'+row.handlerUsername;
}
@ -895,6 +908,9 @@
if(this.selProject){
this.filters.selProject=this.selProject
}
if(this.xmProduct){
this.filters.product=this.xmProduct
}
this.filters.handlerUserid=this.userInfo.userid;
this.filters.handlerUsername=this.userInfo.username;
this.$nextTick(() => {
@ -932,4 +948,8 @@
margin-top: 7px;
padding-bottom: 10px;
}
.badge-item {
margin-top: 10px;
margin-right: 40px;
}
</style>

11
src/views/xm/core/xmTask/XmTaskMng.vue

@ -2,7 +2,7 @@
<section class="padding">
<el-row v-show="batchEditVisible==false">
<el-col v-if="isTaskCenter!='1' && currentProject " :span="4" >
<xm-project-phase-mng :sel-project="currentProject" :simple="true" @row-click="projectPhaseRowClick" @clear-select="clearSelectPhase"></xm-project-phase-mng>
<xm-project-phase-mng :sel-project="currentProject" :xm-iteration="xmIteration" :simple="true" @row-click="projectPhaseRowClick" @clear-select="clearSelectPhase"></xm-project-phase-mng>
</el-col>
<el-col :span="isTaskCenter!='1' && currentProject?20:24" class="padding-left">
<el-row>
@ -518,7 +518,7 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue';
}
},
props: ["selProject","isTaskCenter","isMy",'menuId','menuName','xmProduct'],
props: ["selProject","isTaskCenter","isMy",'menuId','menuName','xmProduct',"xmIteration"],
watch: {
"selProject": function(oval,val) {
this.filters.selProject=this.selProject;
@ -534,6 +534,9 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue';
},
'xmProduct':function(){
this.filters.product=this.xmProduct;
},
xmIteration(){
this.getXmTasks();
}
},
data() {
@ -765,7 +768,9 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue';
if(this.filters.product){
params.productId=this.filters.product.id
}
if(this.xmIteration){
params.iterationId=this.xmIteration.id
}
params.createTimeStart=this.dateRanger[0]+" 00:00:00"
params.createTimeEnd=this.dateRanger[1]+" 23:59:59"
getTask(params).then((res) => {

Loading…
Cancel
Save