Browse Source

优化

master
陈裕财 3 years ago
parent
commit
e77771f5f6
  1. 32
      src/views/xm/core/xmGroup/XmGroupMng.vue
  2. 4
      src/views/xm/core/xmTask/XmPhase.vue
  3. 2
      src/views/xm/core/xmTask/XmPhaseSelect.vue
  4. 34
      src/views/xm/core/xmTask/XmTaskAdd.vue
  5. 6
      src/views/xm/core/xmTask/XmTaskEdit.vue

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

@ -1,7 +1,7 @@
<template>
<section class="page-container border padding" >
<el-row>
<xm-project-select style="display:inline;" v-if="!selProject" :auto-select="true" :link-iteration-id="xmIteration?xmIteration.id:null" :link-product-id="xmProduct?xmProduct.id:null" @selected="onProjectRowClick" @clear="onProjectClearSelect"></xm-project-select>
<xm-project-select style="display:inline;" v-if="!selProject&&!xmProduct" :auto-select="true" :link-iteration-id="xmIteration?xmIteration.id:null" :link-product-id="xmProduct?xmProduct.id:null" @selected="onProjectRowClick" @clear="onProjectClearSelect"></xm-project-select>
<el-input v-model="filters.key" style="width:15%;" clearable placeholder="名称过滤"></el-input>
<el-button type="primary" @click="searchXmGroups" icon="el-icon-search">刷新</el-button>
@ -54,6 +54,10 @@
<el-button type="primary" @click="loadNexGroup" icon="el-icon-search" v-loading="load.add">加载下一级小组</el-button>
<el-button @click="showProjectGroupAdd" icon="el-icon-plus" v-loading="load.add">新增项目小组</el-button>
</el-row>
<el-row v-else-if="currNodeType=='product'">
<el-button type="primary" @click="loadNexGroup" icon="el-icon-search" v-loading="load.add">加载下一级小组</el-button>
<el-button @click="showProductGroupAdd" icon="el-icon-plus" v-loading="load.add">新增产品小组</el-button>
</el-row>
<el-row v-else-if="currNodeType=='group'">
<el-row>
<el-button type="primary" @click="loadNexGroup" icon="el-icon-search" v-loading="load.add">加载下一级小组</el-button>
@ -263,6 +267,14 @@ XmTaskExecuserSelect,
topdata.leaderUsername=this.filters.selProject.pmUsername
topdata.assUserid=this.filters.selProject.assUserid
topdata.assUsername=this.filters.selProject.assUsername
}else if(this.xmProduct && this.xmProduct.id){
topLabel=this.xmProduct.productName+"-产品组织架构"
currNodeType='product'
topdata=this.xmProduct
topdata.leaderUserid=this.xmProduct.pmUserid
topdata.leaderUsername=this.xmProduct.pmUsername
topdata.assUserid=this.xmProduct.assUserid
topdata.assUsername=this.xmProduct.assUsername
}else{
return []
}
@ -288,6 +300,9 @@ XmTaskExecuserSelect,
this.filters.selProject=this.selProject;
this.getXmGroup();
},
xmProduct(){
this.getXmGroup();
},
"filters.key":function(val) {
this.$refs.tree.filter(val);
},
@ -384,7 +399,7 @@ XmTaskExecuserSelect,
params.projectId=this.editForm.id
params.lvl=1
}else if(this.currNodeType=='product'){
//params.productId=this.editForm.id
params.productId=this.editForm.id
params.lvl=1
}else if(this.currNodeType=='group'){
params.pgroupId=this.editForm.id
@ -399,9 +414,12 @@ XmTaskExecuserSelect,
var childrens = res.data.data;
childrens=childrens.filter(i=>!this.xmGroups.some(k=>k.id==i.id))
this.xmGroups.push(...childrens)
this.$notify({position:'bottom-left',showClose:true, message: tips.msg+",返回"+res.data.data.length+"条数据。", type: tips.isOk?'success':'error' });
}else{
this.$notify({position:'bottom-left',showClose:true, message: tips.msg, type: 'error' });
}
this.$notify({position:'bottom-left',showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}
this.load.list = false;
}).catch( err => this.load.list = false );
},
@ -420,12 +438,16 @@ XmTaskExecuserSelect,
}
params.orderBy= orderBys.join(",")
}
if( !this.filters.selProject || !this.filters.selProject.id){
if( (!this.filters.selProject || !this.filters.selProject.id) && (!this.xmProduct || !this.xmProduct.id)){
return;
}
if(this.filters.selProject && this.filters.selProject.id){
params.projectId=this.filters.selProject.id
}
if(this.xmProduct && this.xmProduct.id){
params.productId=this.xmProduct.id
}
if(this.filters.key){
params.key=this.filters.key
}

4
src/views/xm/core/xmTask/XmPhase.vue

@ -215,7 +215,7 @@
</el-row>
<!--编辑 XmTask xm_task界面-->
<el-dialog
title="编辑任务"
title="编辑计划"
:visible.sync="editFormVisible"
width="90%"
top="20px"
@ -238,7 +238,7 @@
<!-- 新增 XmTask xm_task界面-->
<el-dialog
class="xm-task-add"
title="新增任务"
title="新增计划"
:visible.sync="addFormVisible"
width="90%"
top="20px"

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

@ -137,7 +137,7 @@ export default {
watch: {
selProject: function (oval, val) {
this.filters.selProject = this.selProject;
this.changeSelKey("all");
this.changeSelKey("");
},
xmProduct: function () {
this.filters.product = this.xmProduct;

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

@ -226,7 +226,7 @@
</el-drawer>
<el-drawer title="选中上级" :visible.sync="selectParentTaskVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-task-list check-scope="plan" query-scope="plan" :sel-project="xmProject" :xm-product="xmProduct" :ptype="addForm.ptype" @task-selected="onSelectedParentTask"></xm-task-list>
<xm-phase-select check-scope="plan" query-scope="plan" :sel-project="xmProject" :xm-product="xmProduct" :ptype="addForm.ptype" @select="onSelectedParentTask"></xm-phase-select>
</el-drawer>
<el-drawer append-to-body title="需求明细" :visible.sync="menuDetailVisible" size="60%" :close-on-click-modal="false">
<xm-menu-rich-detail :visible="menuDetailVisible" :reload="true" :xm-menu="{menuId:addForm.menuId,menuName:addForm.menuName}" ></xm-menu-rich-detail>
@ -244,6 +244,7 @@
import skillMng from "@/views/xm/core/skill/skillMng";
import {batchAddSkill } from '@/api/xm/core/xmTaskSkill';
import xmMenuSelect from '../xmMenu/XmMenuSelect';
import XmPhaseSelect from './XmPhaseSelect';
import XmTaskList from '../xmTask/XmTaskList';
import XmGroupSelect from '../xmGroup/XmGroupSelect.vue';
import MdpSelectUserXm from '@/views/xm/core/components/MdpSelectUserXm'
@ -314,6 +315,9 @@
addForm: {
id:'',name:'',parentTaskid:'',parentTaskname:'',projectId:'',projectName:'',level:'',sortLevel:'',executorUserid:'',executorUsername:'',preTaskid:'',preTaskname:'',startTime:'',endTime:'',milestone:'',description:'',remarks:'',createUserid:'',createUsername:'',createTime:'',rate:0,budgetAt:0,budgetWorkload:0,actAt:0,actWorkload:0,taskState:'0',taskType:'4',taskClass:'',toTaskCenter:'0',actStartTime:'',actEndTime:'',bizProcInstId:'',bizFlowState:'',phaseId:'',phaseName:'',taskSkillNames:'',exeUsernames:'',taskSkillIds:'',exeUserids:'',taskOut:'0',planType:'w2',settleSchemel:'1',menuId:'',menuName:'',productId:'',cbranchId:'',cdeptid:'',tagIds:'',tagNames:'',ntype:'',childrenCnt:'',ltime:'',pidPaths:'',lvl:'',isTpl:'',keyPath:'',uniInnerPrice:80,uniOutPrice:100,calcType:'',ptype:'',wtype:'',bctrl:'',initWorkload:'',shareFee:'',oshare:'',crowd:'',browseUsers:'',execUsers:'',cityId:'',cityName:'',regionType:'',browseTimes:'',capaLvls:'',tranMode:'',supRequires:'',hot:'0',top:'0',urgent:'0',crmSup:'0',bidStep:'0',interestLvls:'',filePaths:'',estate:'0',efunds:0,etoPlatTime:'',etoDevTime:'',ebackTime:'',topStime:'',topEtime:'',hotStime:'',hotEtime:'',urgentStime:'',urgentEtime:''
},
addFormInit: {
id:'',name:'',parentTaskid:'',parentTaskname:'',projectId:'',projectName:'',level:'',sortLevel:'',executorUserid:'',executorUsername:'',preTaskid:'',preTaskname:'',startTime:'',endTime:'',milestone:'',description:'',remarks:'',createUserid:'',createUsername:'',createTime:'',rate:0,budgetAt:0,budgetWorkload:0,actAt:0,actWorkload:0,taskState:'0',taskType:'4',taskClass:'',toTaskCenter:'0',actStartTime:'',actEndTime:'',bizProcInstId:'',bizFlowState:'',phaseId:'',phaseName:'',taskSkillNames:'',exeUsernames:'',taskSkillIds:'',exeUserids:'',taskOut:'0',planType:'w2',settleSchemel:'1',menuId:'',menuName:'',productId:'',cbranchId:'',cdeptid:'',tagIds:'',tagNames:'',ntype:'',childrenCnt:'',ltime:'',pidPaths:'',lvl:'',isTpl:'',keyPath:'',uniInnerPrice:80,uniOutPrice:100,calcType:'',ptype:'',wtype:'',bctrl:'',initWorkload:'',shareFee:'',oshare:'',crowd:'',browseUsers:'',execUsers:'',cityId:'',cityName:'',regionType:'',browseTimes:'',capaLvls:'',tranMode:'',supRequires:'',hot:'0',top:'0',urgent:'0',crmSup:'0',bidStep:'0',interestLvls:'',filePaths:'',estate:'0',efunds:0,etoPlatTime:'',etoDevTime:'',ebackTime:'',topStime:'',topEtime:'',hotStime:'',hotEtime:'',urgentStime:'',urgentEtime:''
},
/**begin 在下面加自定义属性,记得补上面的一个逗号**/
menuVisible:false,
menuDetailVisible:false,
@ -336,20 +340,16 @@
},
//XmTask xm_task @submit="afterAddSubmit"
addSubmit: function () {
if(this.xmIteration && this.xmIteration.id){
if(!this.addForm.menuId){
this.$notify({position:'bottom-left',showClose:true,message:'在迭代视图中添加任务需要关联需求!请选择需求',type: 'error'})
this.menuVisible=true;
return;
}
}
if(this.xmProduct && this.xmProduct.id){
if(!this.addForm.menuId){
this.$notify({position:'bottom-left',showClose:true,message:'在产品视图中添加任务需要关联需求!请选择需求',type: 'error'})
this.menuVisible=true;
return;
if(this.addForm.ntype!='1'){
if(this.xmIteration && this.xmIteration.id){
if(!this.addForm.menuId){
this.$notify({position:'bottom-left',showClose:true,message:'在迭代视图中添加任务需要关联需求!请选择需求',type: 'error'})
this.menuVisible=true;
return;
}
}
}
this.$refs.addForm.validate((valid) => {
if (valid) {
if(this.addForm.oshare==='1'){
@ -556,6 +556,7 @@
this.execGroupUserSelectVisible=false;
},
initData(){
this.addForm={...this.addFormInit}
if(this.parentTask && this.parentTask.id){
this.addForm=Object.assign(this.addForm, this.parentTask);
this.addForm.parentTaskid=this.parentTask.id
@ -591,6 +592,11 @@
this.addForm.productId=this.xmProduct.id
this.addForm.productName=this.xmProduct.productName
}
if(this.xmIteration && !this.xmProduct && !this.addForm.productId){
this.addForm.productId=this.xmIteration.productId
this.addForm.productName=this.xmIteration.productName
}
if(this.parentTask && this.parentTask.id){
if(this.parentTask.childrenCnt){
this.addForm.sortLevel=this.parentTask.sortLevel+"."+(this.parentTask.childrenCnt+1)
@ -632,7 +638,7 @@
},//end method
components: {
xmSkillMng,
skillMng,xmMenuSelect,XmTaskList,XmGroupSelect,MdpSelectUserXm
skillMng,xmMenuSelect,XmTaskList,XmGroupSelect,MdpSelectUserXm,XmPhaseSelect
// 'xm-task-edit':XmTaskEdit
},
mounted() {

6
src/views/xm/core/xmTask/XmTaskEdit.vue

@ -245,7 +245,7 @@
</el-row>
</el-tab-pane>
<el-tab-pane label="需求" name="3">
<el-tab-pane label="需求" name="3" v-if="editForm.ntype!='1'">
<el-row>
<el-col :span="12">
@ -525,9 +525,9 @@
</tag-mng>
</el-drawer>
<el-dialog title="选择新的上级计划" append-to-body :visible.sync="selectParentPlanVisible" width="60%" top="20px">
<el-drawer title="选择新的上级计划" append-to-body :visible.sync="selectParentPlanVisible" size="60%">
<xm-phase-select :sel-project="xmProject" @select="onSelectedParentTask"></xm-phase-select>
</el-dialog>
</el-drawer>
<!--编辑 XmTask xm_task界面-->
<el-dialog

Loading…
Cancel
Save