From 8a66c1f49f861b461a4a3d416e3f1c18aa2d6069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Wed, 2 Mar 2022 14:31:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/xm/core/xmTask.js | 3 ++ .../core/xmProjectPhase/XmProjectPhaseMng.vue | 45 +++++++++++++++++-- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/src/api/xm/core/xmTask.js b/src/api/xm/core/xmTask.js index 10631f7a..9637c8c0 100644 --- a/src/api/xm/core/xmTask.js +++ b/src/api/xm/core/xmTask.js @@ -44,6 +44,9 @@ export const batchSaveBudget = params => { return axios.post(`${base}/xm/core/xm export const batchRelTasksWithMenu = params => { return axios.post(`${base}/xm/core/xmTask/batchRelTasksWithMenu`, params); }; +export const batchRelTasksWithPhase = params => { return axios.post(`${base}/xm/core/xmTask/batchRelTasksWithPhase`, params); }; + + export const setTaskCreateUser = params => { return axios.post(`${base}/xm/core/xmTask/setTaskCreateUser`, params); }; export const editTime = params => { return axios.post(`${base}/xm/core/xmTask/editTime`, params); }; diff --git a/src/views/xm/core/xmProjectPhase/XmProjectPhaseMng.vue b/src/views/xm/core/xmProjectPhase/XmProjectPhaseMng.vue index 6967020e..61c8dd51 100644 --- a/src/views/xm/core/xmProjectPhase/XmProjectPhaseMng.vue +++ b/src/views/xm/core/xmProjectPhase/XmProjectPhaseMng.vue @@ -42,6 +42,11 @@ width="200" trigger="click" > + + + + + 计算关键路径 @@ -158,7 +163,8 @@ - 日志 + 批量关联任务 + 日志 从任务中汇总进度 变更发审(审核通过后起效) 删除发审(审核通过后删除) @@ -198,6 +204,10 @@ + + + + @@ -210,6 +220,8 @@ import treeTool from '@/common/js/treeTool';//全局公共库 //import Sticky from '@/components/Sticky' // 粘性header组件 import { listOption } from '@/api/mdp/meta/itemOption';//下拉框数据查询 + import { batchRelTasksWithPhase } from '@/api/xm/core/xmTask'; + import { listXmProjectPhase,calcKeyPaths, delXmProjectPhase, batchDelXmProjectPhase,batchImportFromTemplate,batchSaveBudget,loadTasksToXmProjectPhase,setPhaseMngUser,selectTotalProjectAndPhaseBudgetCost } from '@/api/xm/core/xmProjectPhase'; import XmProjectPhaseAdd from './XmProjectPhaseAdd';//新增界面 import XmProjectPhaseEdit from './XmProjectPhaseEdit';//修改界面 @@ -221,6 +233,7 @@ import { mapGetters } from 'vuex' import XmProjectPhaseBatch from './XmProjectPhaseBatch'; import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue'; +import XmTaskList from '../xmTask/XmTaskList.vue'; export default { @@ -348,6 +361,7 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue'; }, maps:new Map(), totalProjectAndPhaseBudgetCost:{}, + taskVisible:false, /**end 自定义属性请在上面加 请加备注**/ } },//end data @@ -406,8 +420,11 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue'; if(this.filters.phaseStatus){ params.phaseStatus=this.filters.phaseStatus } + if(this.filters.taskFilterType){ + params.taskFilterType=this.filters.taskFilterType + } - if(!(params.isKeyPath||params.milestone||params.productId||params.iterationId||params.phaseStatus)){ + if(!(params.isKeyPath||params.milestone||params.productId||params.iterationId||params.phaseStatus||params.taskFilterType)){ params.isTop="1" } return params; @@ -817,7 +834,9 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue'; this.handleDel(command.data); } else if(command.type=='loadTasksToXmProjectPhase'){ this.loadTasksToXmProjectPhase([command.data]); - } + } else if(command.type=='showTaskForBatchRelTasksWithPhase'){ + this.taskVisible=true + } }, //从任务中汇总进度/实际费用等数据 loadTasksToXmProjectPhase:function(phases){ @@ -1185,6 +1204,23 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue'; this.menuVisible=false; }, + + onSelectedTasks(tasks){ + if(tasks==null || tasks.length==0){ + return; + } + var params={ + projectPhaseId:this.editForm.id, + taskIds:tasks.map(i=>i.id) + } + batchRelTasksWithPhase(params).then(res=>{ + var tips = res.data.tips; + if(tips.isOk){ + this.taskVisible=false; + } + this.$notify({showClose:true,message:tips.msg,type:tips.isOk?'success':'error'}) + }) + }, handlePopover:function(row,opType){ if('add'==opType){ var subRow=JSON.parse(JSON.stringify(this.addForm)); @@ -1302,7 +1338,8 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue'; 'xm-project-phase-add':XmProjectPhaseAdd, 'xm-project-phase-edit':XmProjectPhaseEdit, - XmProjectPhaseTemplateMng,xmMenuSelect,XmGantt,XmProjectPhaseBatch,XmProjectGroupSelect + XmProjectPhaseTemplateMng,xmMenuSelect,XmGantt,XmProjectPhaseBatch,XmProjectGroupSelect, +XmTaskList //在下面添加其它组件 }, mounted() {