From df719ff2650393eb7ff4a53732336789ce240abd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sun, 27 Feb 2022 15:45:50 +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/xmProjectPhase.js | 4 + .../core/xmProjectPhase/XmProjectPhaseMng.vue | 99 +++++++------------ 2 files changed, 39 insertions(+), 64 deletions(-) diff --git a/src/api/xm/core/xmProjectPhase.js b/src/api/xm/core/xmProjectPhase.js index 7846f5a3..389749b4 100644 --- a/src/api/xm/core/xmProjectPhase.js +++ b/src/api/xm/core/xmProjectPhase.js @@ -47,3 +47,7 @@ export const setPhaseMngUser = params => { return axios.post(`${base}/xm/core/xm export const calcKeyPaths = params => { return axios.post(`${base}/xm/core/xmProjectPhase/calcKeyPaths`, params); }; + + +export const selectTotalProjectAndPhaseBudgetCost = params => { return axios.post(`${base}/xm/core/xmProjectPhase/selectTotalProjectAndPhaseBudgetCost`, params); }; + diff --git a/src/views/xm/core/xmProjectPhase/XmProjectPhaseMng.vue b/src/views/xm/core/xmProjectPhase/XmProjectPhaseMng.vue index de668f7d..016eed37 100644 --- a/src/views/xm/core/xmProjectPhase/XmProjectPhaseMng.vue +++ b/src/views/xm/core/xmProjectPhase/XmProjectPhaseMng.vue @@ -54,10 +54,11 @@ - 项目总预算: {{toFixed(selProject.planTotalCost/10000,2)}}万,剩{{toFixed(phaseBudgetData.surplusPlanCostAt/10000,2)}}万 - 非人力总预算:{{toFixed(selProject.planNouserAt/10000,2)}}万,剩{{toFixed(phaseBudgetData.surplusPlanNouserAt/10000,2)}}万 - 内部人力总预算:{{toFixed(selProject.planInnerUserAt/10000,2)}}万,剩{{toFixed(phaseBudgetData.surplusPlanInnerUserAt/10000,2)}}万 - 外购人力总预算:{{toFixed(selProject.planOutUserAt/10000,2)}}万,剩{{toFixed(phaseBudgetData.surplusPlanOutUserAt/10000,2)}}万 + 项目总预算: {{toFixed(phaseBudgetData.planTotalCost/10000,2)}}万,剩{{toFixed(phaseBudgetData.surplusPlanCostAt/10000,2)}}万 + 非人力总预算:{{toFixed(phaseBudgetData.planNouserAt/10000,2)}}万,剩{{toFixed(phaseBudgetData.surplusPlanNouserAt/10000,2)}}万 + 内部人力总预算:{{toFixed(phaseBudgetData.planInnerUserAt/10000,2)}}万,剩{{toFixed(phaseBudgetData.surplusPlanInnerUserAt/10000,2)}}万 + 外购人力总预算:{{toFixed(phaseBudgetData.planOutUserAt/10000,2)}}万,剩{{toFixed(phaseBudgetData.surplusPlanOutUserAt/10000,2)}}万 + 刷新统计数据 @@ -209,7 +210,7 @@ import treeTool from '@/common/js/treeTool';//全局公共库 //import Sticky from '@/components/Sticky' // 粘性header组件 import { listOption } from '@/api/mdp/meta/itemOption';//下拉框数据查询 - import { listXmProjectPhase,calcKeyPaths, delXmProjectPhase, batchDelXmProjectPhase,batchImportFromTemplate,batchSaveBudget,loadTasksToXmProjectPhase,setPhaseMngUser } from '@/api/xm/core/xmProjectPhase'; + import { listXmProjectPhase,calcKeyPaths, delXmProjectPhase, batchDelXmProjectPhase,batchImportFromTemplate,batchSaveBudget,loadTasksToXmProjectPhase,setPhaseMngUser,selectTotalProjectAndPhaseBudgetCost } from '@/api/xm/core/xmProjectPhase'; import XmProjectPhaseAdd from './XmProjectPhaseAdd';//新增界面 import XmProjectPhaseEdit from './XmProjectPhaseEdit';//修改界面 import XmGantt from '../components/xm-gantt'; @@ -233,66 +234,27 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue'; phaseBudgetData(){ if( this.xmIteration || this.xmProduct){ return {} - } - var rows=this.xmProjectPhases - var surplusPlanCostAt = this.getFloatValue(this.selProject.planInnerUserAt)+ this.getFloatValue(this.selProject.planOutUserAt)+ this.getFloatValue(this.selProject.planNouserAt) - var surplusPlanInnerUserAt=this.getFloatValue(this.selProject.planInnerUserAt) - var surplusPlanOutUserAt=this.getFloatValue(this.selProject.planOutUserAt) - var surplusPlanNouserAt=this.getFloatValue(this.selProject.planNouserAt) - var surplusPlanUserAt=this.getFloatValue(this.selProject.planInnerUserAt)+this.getFloatValue(this.selProject.planOutUserAt) - + } + var dbData=this.totalProjectAndPhaseBudgetCost; + var projectPlanTotalCost = this.getFloatValue(dbData.planTotalCost) + var phaseBudgetAt=this.getFloatValue(dbData.phaseBudgetAt) const total={ - surplusPlanCostAt: surplusPlanCostAt, - surplusPlanInnerUserAt: surplusPlanInnerUserAt, - surplusPlanOutUserAt: surplusPlanOutUserAt, - surplusPlanNouserAt: surplusPlanNouserAt, - surplusPlanUserAt: surplusPlanUserAt, - - phaseBudgetNouserAt:0, - phaseBudgetInnerUserAt:0, - phaseBudgetOutUserAt:0, - phaseBudgetUserAt: 0, - - phaseBudgetInnerUserWorkload:0, - phaseBudgetOutUserWorkload:0, + surplusPlanCostAt: projectPlanTotalCost-phaseBudgetAt, + surplusPlanInnerUserAt: dbData.planInnerUserAt-dbData.phaseBudgetInnerUserAt, + surplusPlanOutUserAt: dbData.planOutUserAt-dbData.phaseBudgetOutUserAt, + surplusPlanNouserAt: dbData.planNouserAt-dbData.phaseBudgetNouserAt, - phaseActWorkload:0, - actInnerUserAt:0, - actNouserAt:0, - actOutUserAt:0, - - - - }; - //phaseBudgetHours:'',phaseBudgetStaffNu:'',ctime:'',phaseBudgetNouserAt:'',phaseBudgetInnerUserAt:'',phaseBudgetOutUserAt - - rows.forEach((row2)=>{ - var row=row2; - if(this.valueChangeRows.length!=0){ - var changeRows=this.valueChangeRows.filter(i=>i.id==row2.id); - if(changeRows && changeRows.length>0){ - row=changeRows[0] - } - } + phaseBudgetNouserAt:dbData.phaseBudgetNouserAt, + phaseBudgetInnerUserAt:dbData.phaseBudgetInnerUserAt, + phaseBudgetOutUserAt:dbData.phaseBudgetOutUserAt, + phaseBudgetAt: phaseBudgetAt, - total.phaseBudgetNouserAt=total.phaseBudgetNouserAt+this.getFloatValue(row.phaseBudgetNouserAt) - total.phaseBudgetInnerUserAt=total.phaseBudgetInnerUserAt+this.getFloatValue(row.phaseBudgetInnerUserAt) - total.phaseBudgetOutUserAt=total.phaseBudgetOutUserAt+this.getFloatValue(row.phaseBudgetOutUserAt) - total.phaseBudgetInnerUserWorkload=total.phaseBudgetInnerUserWorkload+this.getFloatValue(row.phaseBudgetInnerUserWorkload) - total.phaseBudgetOutUserWorkload=total.phaseBudgetOutUserWorkload+this.getFloatValue(row.phaseBudgetOutUserWorkload) + planTotalCost: projectPlanTotalCost, + planInnerUserAt: dbData.planInnerUserAt, + planOutUserAt: dbData.planOutUserAt, + planNouserAt: dbData.planNouserAt, - - total.phaseActWorkload=total.phaseActWorkload+this.getFloatValue(row.phaseActWorkload) - total.actInnerUserAt=total.actInnerUserAt+this.getFloatValue(row.actInnerUserAt) - total.actNouserAt=total.actNouserAt+this.getFloatValue(row.actNouserAt) - total.actOutUserAt=total.actOutUserAt+this.getFloatValue(row.actOutUserAt) - }) - total.phaseBudgetUserAt=total.phaseBudgetInnerUserAt+total.phaseBudgetOutUserAt - total.surplusPlanCostAt=this.getFloatValue(total.surplusPlanCostAt-total.phaseBudgetNouserAt-total.phaseBudgetUserAt ) - total.surplusPlanInnerUserAt=total.surplusPlanInnerUserAt-total.phaseBudgetInnerUserAt - total.surplusPlanOutUserAt=total.surplusPlanOutUserAt-total.phaseBudgetOutUserAt - total.surplusPlanNouserAt=total.surplusPlanNouserAt-total.phaseBudgetNouserAt - total.surplusPlanUserAt=total.surplusPlanUserAt-total.phaseBudgetUserAt + }; return total; } @@ -385,6 +347,7 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue'; }, maps:new Map(), + totalProjectAndPhaseBudgetCost:{}, /**end 自定义属性请在上面加 请加备注**/ } },//end data @@ -1403,6 +1366,15 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue'; } }) }, + selectTotalProjectAndPhaseBudgetCost(){ + selectTotalProjectAndPhaseBudgetCost({projectId:this.selProject.id}).then(res=>{ + var tips = res.data.tips; + if(tips.isOk){ + this.totalProjectAndPhaseBudgetCost=res.data.data; + } + this.$message({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' }); + }) + } },//end methods components: { 'xm-project-phase-add':XmProjectPhaseAdd, @@ -1411,9 +1383,8 @@ import XmProjectGroupSelect from '../xmProjectGroup/XmProjectGroupSelect.vue'; XmProjectPhaseTemplateMng,xmMenuSelect,XmGantt,XmProjectPhaseBatch,XmProjectGroupSelect //在下面添加其它组件 }, - mounted() { - console.log('mounted--his.selProject==', this.selProject); - + mounted() { + this.selectTotalProjectAndPhaseBudgetCost(); this.$nextTick(() => { var clientRect=this.$refs.table.$el.getBoundingClientRect();