Browse Source

优化

master
陈裕财 4 years ago
parent
commit
d7029bf922
  1. 7
      src/views/xm/core/xmGroup/XmGroupMng.vue
  2. 2
      src/views/xm/core/xmMenu/XmMenuAdd.vue
  3. 2
      src/views/xm/core/xmMenu/XmMenuEdit.vue
  4. 5
      src/views/xm/core/xmMenu/XmMenuMng.vue
  5. 60
      src/views/xm/core/xmMenu/XmMenuSelect.vue
  6. 4
      src/views/xm/core/xmProduct/XmProductForProjectComplex.vue
  7. 2
      src/views/xm/core/xmProject/XmProjectComplex.vue
  8. 2
      src/views/xm/core/xmTask/XmTaskAdd.vue
  9. 17
      src/views/xm/core/xmTask/XmTaskMng.vue

7
src/views/xm/core/xmGroup/XmGroupMng.vue

@ -717,6 +717,13 @@ XmProductSelect,XmProjectSelect,
}, },
initData: function(){ initData: function(){
this.filters.selProject=this.selProject; this.filters.selProject=this.selProject;
if(this.selProject && this.selProject.id){
this.filters.pgClass="0"
}else if(this.xmProduct && this.xmProduct.id){
this.filters.pgClass="1"
}else{
this.filters.pgClass="0"
}
}, },
renderCurrentClass (node) { renderCurrentClass (node) {
return 'label-bg-blue' return 'label-bg-blue'

2
src/views/xm/core/xmMenu/XmMenuAdd.vue

@ -155,6 +155,8 @@
this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' }); this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.add=false); }).catch( err => this.load.add=false);
}); });
}else{
this.$notify({showClose: true, message:"表单检查不通过,请修改后提交", type: 'error' });
} }
}); });
}, },

2
src/views/xm/core/xmMenu/XmMenuEdit.vue

@ -170,6 +170,8 @@ import XmMenuExchangeMng from '../xmMenuExchange/XmMenuExchangeMng.vue';
this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' }); this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.edit=false); }).catch( err => this.load.edit=false);
}); });
}else{
this.$notify({showClose: true, message:"表单检查不通过,请修改后提交", type: 'error' });
} }
}); });
}, },

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

@ -430,7 +430,10 @@
if(this.selProject){ if(this.selProject){
params.projectId=this.selProject.id params.projectId=this.selProject.id
} }
if(this.filters.product){
params.productId=this.filters.product.id
}
if(this.filters.parentMenu){ if(this.filters.parentMenu){
params.pmenuId=this.filters.parentMenu.menuId params.pmenuId=this.filters.parentMenu.menuId
} }

60
src/views/xm/core/xmMenu/XmMenuSelect.vue

@ -4,12 +4,12 @@
<el-col :span="24" style="padding-left:12px;" > <el-col :span="24" style="padding-left:12px;" >
<el-row > <el-row >
<el-popover
<el-popover v-if="!xmProduct||!xmProduct.id"
placement="right" placement="right"
width="400" width="400"
trigger="click"> trigger="click">
<xm-product-select :auto-select="true" :sel-project="selProject" v-if="!xmProduct" :xm-iteration="xmIteration" @row-click="onProductSelected" ref="xmProductMng" :simple="true"></xm-product-select> <xm-product-select :auto-select="true" :sel-project="selProject" v-if="!xmProduct" :xm-iteration="xmIteration" @row-click="onProductSelected" ref="xmProductMng" :simple="true"></xm-product-select>
<el-link type="warning" slot="reference" v-if="!xmProduct" icon="el-icon-search"><font style="font-size:14px;">{{filters.product?filters.product.productName:'选择产品'}}</font></el-link>
<el-link type="warning" slot="reference" icon="el-icon-search"><font style="font-size:14px;">{{filters.product?filters.product.productName:'选择产品'}}</font></el-link>
</el-popover> </el-popover>
<el-select class="hidden-md-and-down" v-if="excludeIterationId" v-model="filters.iterationFilterType" placeholder="是否加入过迭代?" clearable > <el-select class="hidden-md-and-down" v-if="excludeIterationId" v-model="filters.iterationFilterType" placeholder="是否加入过迭代?" clearable >
<el-option value="not-join" label="未加入任何迭代的需求"></el-option> <el-option value="not-join" label="未加入任何迭代的需求"></el-option>
@ -79,7 +79,7 @@
<el-button type="primary" v-if="multi" v-on:click="multiSelectedConfirm">确认选择</el-button> <el-button type="primary" v-if="multi" v-on:click="multiSelectedConfirm">确认选择</el-button>
</el-row> </el-row>
<el-row style="padding-top:12px;"> <el-row style="padding-top:12px;">
<el-table ref="table" class="menu-table" lazy :load="loadMenusLazy" :height="maxTableHeight" :data="xmMenusTreeData" default-expand-all row-key="menuId" :tree-props="{children: 'children', hasChildren: 'childrenCnt'}" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table ref="table" class="menu-table" lazy :load="loadMenusLazy" :height="maxTableHeight" :data="xmMenusTreeData" row-key="menuId" :tree-props="{children: 'children', hasChildren: 'childrenCnt'}" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column v-if="multi" type="selection" width="50"></el-table-column> <el-table-column v-if="multi" type="selection" width="50"></el-table-column>
<el-table-column prop="menuName" label="需求名称" min-width="140" > <el-table-column prop="menuName" label="需求名称" min-width="140" >
<template slot-scope="scope"> <template slot-scope="scope">
@ -114,6 +114,7 @@
<script> <script>
import util from '@/common/js/util';// import util from '@/common/js/util';//
import treeTool from '@/common/js/treeTool';//
//import Sticky from '@/components/Sticky' // header //import Sticky from '@/components/Sticky' // header
//import { listOption } from '@/api/mdp/meta/itemOption';// //import { listOption } from '@/api/mdp/meta/itemOption';//
import { listXmMenu } from '@/api/xm/core/xmMenu'; import { listXmMenu } from '@/api/xm/core/xmMenu';
@ -133,7 +134,8 @@
]), ]),
xmMenusTreeData(){ xmMenusTreeData(){
return this.translateDataToTree(this.xmMenus);
var xmMenus=JSON.parse(JSON.stringify(this.xmMenus))
return treeTool.translateDataToTree(xmMenus,"pmenuId","menuId");
}, },
}, },
watch:{ watch:{
@ -254,6 +256,9 @@
params.projectId=this.selProject.id params.projectId=this.selProject.id
} }
if(this.filters.product){
params.productId=this.filters.product.id
}
if(this.filters.parentMenu){ if(this.filters.parentMenu){
params.pmenuId=this.filters.parentMenu.menuId params.pmenuId=this.filters.parentMenu.menuId
} }
@ -340,49 +345,7 @@
rowClick: function(row, event, column){ rowClick: function(row, event, column){
this.$emit('row-click',row, event, column);// @row-click="rowClick" this.$emit('row-click',row, event, column);// @row-click="rowClick"
}, },
/**begin 自定义函数请在下面加**/
translateDataToTree(data2) {
var data=JSON.parse(JSON.stringify(data2));
let parents = data.filter(value =>{
//
if(value.pmenuId == 'undefined' || value.pmenuId == null || value.pmenuId == ''){
return true;
//
}else if(data.some(i=>value.pmenuId==i.menuId)){
return false;
}else {
return true
}
})
let children = data.filter(value =>{
if(data.some(i=>value.pmenuId==i.menuId)){
return true;
}else{
return false;
}
})
let translator = (parents, children) => {
parents.forEach((parent) => {
children.forEach((current, index) => {
if (current.pmenuId === parent.menuId) {
let temp = JSON.parse(JSON.stringify(children))
temp.splice(index, 1)
translator([current], temp)
typeof parent.children !== 'undefined' ? parent.children.push(current) : parent.children = [current]
}
}
)
}
)
}
translator(parents, children)
return parents
},
/**begin 自定义函数请在下面加**/ /**begin 自定义函数请在下面加**/
selectedMenu:function(row){ selectedMenu:function(row){
this.$emit("selected",row) this.$emit("selected",row)
@ -426,13 +389,14 @@
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.maxTableHeight = util.calcTableMaxHeight(this.$refs.table.$el);
if(this.excludeIterationId){ if(this.excludeIterationId){
this.filters.iterationFilterType='not-join' this.filters.iterationFilterType='not-join'
} }
this.filters.product=this.xmProduct this.filters.product=this.xmProduct
this.getXmMenus(); this.getXmMenus();
this.maxTableHeight = util.calcTableMaxHeight(this.$refs.table.$el);
}); });
} }
} }

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

@ -39,8 +39,8 @@
<el-tab-pane label="需求" lazy name="menus" v-if="xmProduct && xmProduct.id"> <el-tab-pane label="需求" lazy name="menus" v-if="xmProduct && xmProduct.id">
<xm-menu-mng v-if="xmProduct && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject" :disabled-mng="false"></xm-menu-mng> <xm-menu-mng v-if="xmProduct && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject" :disabled-mng="false"></xm-menu-mng>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="任务" lazy name="tasks" v-if="xmProduct && xmProduct.id">
<xm-task-mng v-if="xmProduct && showPanel=='tasks'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject"></xm-task-mng>
<el-tab-pane label="任务" lazy name="tasks" v-if="xmProduct && xmProduct.id">
<xm-task-mng v-if="xmProduct && showPanel=='tasks'" queryScope="task" ptype="0" :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" v-if="xmProduct && xmProduct.id"> <el-tab-pane label="缺陷" lazy name="bugs" v-if="xmProduct && xmProduct.id">
<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>

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

@ -45,7 +45,7 @@
<xm-menu-mng v-if="selProject && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject" :disabled-mng="false"></xm-menu-mng> <xm-menu-mng v-if="selProject && showPanel=='menus'" :xm-product="xmProduct" :xm-iteration="xmIteration" :sel-project="selProject" :disabled-mng="false"></xm-menu-mng>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="任务" lazy name="tasks" v-if="selProject&&selProject.id"> <el-tab-pane label="任务" lazy name="tasks" v-if="selProject&&selProject.id">
<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'" queryScope="task" ptype="0" :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" v-if="selProject&&selProject.id"> <el-tab-pane label="缺陷" lazy name="bugs" v-if="selProject&&selProject.id">
<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>

2
src/views/xm/core/xmTask/XmTaskAdd.vue

@ -160,7 +160,7 @@
</el-drawer> </el-drawer>
<el-drawer append-to-body title="需求选择" :visible.sync="menuVisible" size="60%" :close-on-click-modal="false"> <el-drawer append-to-body title="需求选择" :visible.sync="menuVisible" size="60%" :close-on-click-modal="false">
<xm-menu-select :is-select-menu="true" @selected="onMenuSelected" :sel-project="xmProject"></xm-menu-select>
<xm-menu-select :is-select-menu="true" @selected="onMenuSelected" :sel-project="xmProject" :xm-product="xmProduct"></xm-menu-select>
</el-drawer> </el-drawer>
<el-drawer append-to-body title="选择执行人" :visible.sync="execGroupUserSelectVisible" size="60%" :close-on-click-modal="false"> <el-drawer append-to-body title="选择执行人" :visible.sync="execGroupUserSelectVisible" size="60%" :close-on-click-modal="false">
<xm-group-select :visible="execGroupUserSelectVisible" :sel-project="xmProject" :isSelectSingleUser="1" @user-confirm="execGroupUserSelectConfirm"></xm-group-select> <xm-group-select :visible="execGroupUserSelectVisible" :sel-project="xmProject" :isSelectSingleUser="1" @user-confirm="execGroupUserSelectConfirm"></xm-group-select>

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

@ -8,7 +8,7 @@
> >
<el-row> <el-row>
<el-popover
<el-popover v-if="(!xmProduct||!xmProduct.id) && (!selProject || !selProject.id)"
placement="right" placement="right"
width="400" width="400"
trigger="click"> trigger="click">
@ -2459,6 +2459,14 @@ export default {
}); });
}); });
}) })
},
initData(){
if (this.selProject) {
this.filters.selProject = this.selProject;
}
if (this.xmProduct) {
this.filters.product = this.xmProduct;
}
} }
/**end 自定义函数请在上面加**/ /**end 自定义函数请在上面加**/
}, //end methods }, //end methods
@ -2485,12 +2493,7 @@ export default {
// //
}, },
mounted() { mounted() {
if (this.selProject) {
this.filters.selProject = this.selProject;
}
if (this.xmProduct) {
this.filters.product = this.xmProduct;
}
this.initData();
this.$nextTick(() => { this.$nextTick(() => {
this.getXmTasks(); this.getXmTasks();
this.tableHeight = util.calcTableMaxHeight(this.$refs.table.$el); this.tableHeight = util.calcTableMaxHeight(this.$refs.table.$el);

Loading…
Cancel
Save