From f52994656ca95e6824789adebaa3ca1a11fd4de0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sun, 13 Apr 2025 02:15:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/xm/core/xmProject/XmProjectEdit.vue | 182 +++++++++++++----- .../xm/core/xmProject/XmProjectSetup.vue | 8 +- 2 files changed, 141 insertions(+), 49 deletions(-) diff --git a/src/views/xm/core/xmProject/XmProjectEdit.vue b/src/views/xm/core/xmProject/XmProjectEdit.vue index 74f3d0f7..3a35bff9 100644 --- a/src/views/xm/core/xmProject/XmProjectEdit.vue +++ b/src/views/xm/core/xmProject/XmProjectEdit.vue @@ -220,9 +220,8 @@ @click="handleCommand({ type: 'sendToProcessApprova', data: editForm, bizKey: 'xm_project_budget_change_approva' })">项目金额变更申请 工期变更申请 - 立项申请 - 结项申请
    +
  1. 项目名称:${row.name}
  2. +
  3. 项目编号:${row.id}
  4. +
  5. 开始日期:${row.startTime} 结束日期:${row.endTime}
  6. +
  7. 总工期:${row.planWorkingHours}小时
  8. +
  9. 需要人员:${row.planIuserCnt+row.planOuserCnt}人
  10. +
  11. 项目目标:${row.target||''}
  12. +
  13. 项目总控:${row.admUsername}
  14. +
  15. 项目经理:${row.pmUsername}
  16. +
  17. 项目预算:${row.planTotalCost||'0'}元
  18. +
  19. 实际成本:${row.actAt||'0'}元
  20. +
  21. 合同金额:${row.contractAmt||'0'}元
  22. +
  23. 预估毛利率:${row.budgetMarginRate||'-'}%
  24. +
  25. 实际毛利率:${row.budgetMarginRate||'-'}%
  26. +
  27. 立项说明:${row.setupRemark||''}
  28. +
  29. 项目说明:${row.description||''}
  30. +

`; params.restUrl = config.getXmCtx() + "/xm/core/xmProject/processApprova"; params.flowVars.data = row //this.html2canvas(document.querySelector(".editForm"),row,params); this.$router.push({ name: 'bizStartProc', query: { paramsId: this.$mdp.setCacheParams(params) } }); } else if (bizKey == "xm_project_delay_approva") { //延期审核 - params.mainTitle = '关于项目【' + row.name + "】延期的审批申请"; - params.mainContext = '项目编号:' + row.code + ',' + '项目名称:' + row.name + ',项目结束时间由' + this.selProject.endTime + '变更为:' + this.editForm.endTime + ',此次变更不涉及预算调整'; + params.mainTitle = '关于项目【' + row.name + "】延期的审批申请"; + params.mainContext = `

    +
  1. 项目名称:${row.name}
  2. +
  3. 项目编号:${row.id}
  4. +
  5. 开始日期:${row.startTime} 结束日期:${row.endTime}
  6. +
  7. 总工期:${row.planWorkingHours}小时
  8. +
  9. 需要人员:${row.planIuserCnt+row.planOuserCnt}人
  10. +
  11. 项目目标:${row.target||''}
  12. +
  13. 项目总控:${row.admUsername}
  14. +
  15. 项目经理:${row.pmUsername}
  16. +
  17. 项目预算:${row.planTotalCost||'0'}元
  18. +
  19. 实际成本:${row.actAt||'0'}元
  20. +
  21. 合同金额:${row.contractAmt||'0'}元
  22. +
  23. 预估毛利率:${row.budgetMarginRate||'-'}%
  24. +
  25. 实际毛利率:${row.budgetMarginRate||'-'}%
  26. +
  27. 立项说明:${row.setupRemark||''}
  28. +
  29. 项目说明:${row.description||''}
  30. +

`; params.restUrl = config.getXmCtx() + "/xm/core/xmProject/processApprova"; params.flowVars.data.endTime = this.editForm.endTime //this.html2canvas(document.querySelector(".editForm"),row,params); this.$router.push({ name: 'bizStartProc', state: { params } }); - } else if (bizKey == "xm_project_start_approva") { - - //立项审核 - params.mainTitle = '关于项目【' + row.name + "】立项的审批申请"; - params.mainContext = '项目编号:' + row.code + ',' + '项目名称:' + row.name + ',项目周期:' + row.startTime + '~' + row.endTime - + ',预估及考核毛利率:' + row.budgetMarginRate + ',预估总成本:' + row.planTotalCost + ',总收入:' + row.totalReceivables - + ',合同金额:' + row.contractAmt + '详细如下(截图):'; - params.restUrl = config.getXmCtx() + "/xm/core/xmProject/processApprova"; - params.flowVars.data = row - //this.html2canvas(document.querySelector(".editForm"),row,params); - this.$router.push({ name: 'bizStartProc', query: { paramsId: this.$mdp.setCacheParams(params) } }); - } else if (bizKey == "xm_project_over_approva") { - //结项审核 - params.mainTitle = '关于项目【' + row.name + "】结项的审批申请"; - params.mainContext = '项目编号:' + row.code + ',' + '项目名称:' + row.name + ',项目周期:' + row.startTime + '~' + row.endTime - + ',预估及考核毛利率:' + row.budgetMarginRate + ',预估总成本:' + row.planTotalCost + ',总收入:' + row.totalReceivables - + ',合同金额:' + row.contractAmt + '详细如下(截图):'; - params.restUrl = config.getXmCtx() + "/xm/core/xmProject/processApprova"; + }else if (bizKey == "xm_project_over_approva") { + if(row.status!='5'){ + this.$notify.error('已验收的项目才允许结项') + return; + } + //结项审核 + params.mainTitle = '关于项目【' + row.name + "】结项的申请"; + params.mainContext = `

    +
  1. 项目名称:${row.name}
  2. +
  3. 项目编号:${row.id}
  4. +
  5. 开始日期:${row.startTime} 结束日期:${row.endTime}
  6. +
  7. 总工期:${row.planWorkingHours}小时
  8. +
  9. 需要人员:${row.planIuserCnt+row.planOuserCnt}人
  10. +
  11. 项目目标:${row.target||''}
  12. +
  13. 项目总控:${row.admUsername}
  14. +
  15. 项目经理:${row.pmUsername}
  16. +
  17. 项目预算:${row.planTotalCost||'0'}元
  18. +
  19. 实际成本:${row.actAt||'0'}元
  20. +
  21. 合同金额:${row.contractAmt||'0'}元
  22. +
  23. 预估毛利率:${row.budgetMarginRate||'-'}%
  24. +
  25. 实际毛利率:${row.budgetMarginRate||'-'}%
  26. +
  27. 立项说明:${row.setupRemark||''}
  28. +
  29. 项目说明:${row.description||''}
  30. +

`; + params.restUrl = "/"+config.getXmCtx() + "/xm/core/xmProject/processApprova"; //this.html2canvas(document.querySelector(".editForm"),row,params); this.$router.push({ name: 'bizStartProc', query: { paramsId: this.$mdp.setCacheParams(params) } }); } else if (bizKey == "xm_project_pause_approva") { - //结项审核 + if(row.status<'5' && row.status>'2'){ + this.$notify.error('已立项并且未验收的项目才允许暂停') + return; + } + //暂停审核 params.mainTitle = '关于项目【' + row.name + "】暂停的审批申请"; - params.mainContext = '项目编号:' + row.code + ',' + '项目名称:' + row.name + ',项目周期:' + row.startTime + '~' + row.endTime - + ',预估及考核毛利率:' + row.budgetMarginRate + ',预估总成本:' + row.planTotalCost + ',总收入:' + row.totalReceivables - + ',合同金额:' + row.contractAmt + '详细如下(截图):'; + + params.mainContext = `

    +
  1. 项目名称:${row.name}
  2. +
  3. 项目编号:${row.id}
  4. +
  5. 开始日期:${row.startTime} 结束日期:${row.endTime}
  6. +
  7. 总工期:${row.planWorkingHours}小时
  8. +
  9. 需要人员:${row.planIuserCnt+row.planOuserCnt}人
  10. +
  11. 项目目标:${row.target||''}
  12. +
  13. 项目总控:${row.admUsername}
  14. +
  15. 项目经理:${row.pmUsername}
  16. +
  17. 项目预算:${row.planTotalCost||'0'}元
  18. +
  19. 实际成本:${row.actAt||'0'}元
  20. +
  21. 合同金额:${row.contractAmt||'0'}元
  22. +
  23. 预估毛利率:${row.budgetMarginRate||'-'}%
  24. +
  25. 实际毛利率:${row.budgetMarginRate||'-'}%
  26. +
  27. 立项说明:${row.setupRemark||''}
  28. +
  29. 项目说明:${row.description||''}
  30. +

`; params.restUrl = config.getXmCtx() + "/xm/core/xmProject/processApprova"; this.$router.push({ name: 'bizStartProc', query: { paramsId: this.$mdp.setCacheParams(params) } }); //this.html2canvas(document.querySelector(".editForm"),row,params); } else if (bizKey == "xm_project_restart_approva") { - //结项审核 + if(row.status!='4'){ + this.$notify.error('已暂停的项目才允许重新启动') + return; + } + //重新启动审核 params.mainTitle = '关于项目【' + row.name + "】重新启动的审批申请"; - params.mainContext = '项目编号:' + row.code + ',' + '项目名称:' + row.name + ',项目周期:' + row.startTime + '~' + row.endTime - + ',预估及考核毛利率:' + row.budgetMarginRate + ',预估总成本:' + row.planTotalCost + ',总收入:' + row.totalReceivables - + ',合同金额:' + row.contractAmt + '详细如下(截图):'; + + params.mainContext = `

    +
  1. 项目名称:${row.name}
  2. +
  3. 项目编号:${row.id}
  4. +
  5. 开始日期:${row.startTime} 结束日期:${row.endTime}
  6. +
  7. 总工期:${row.planWorkingHours}小时
  8. +
  9. 需要人员:${row.planIuserCnt+row.planOuserCnt}人
  10. +
  11. 项目目标:${row.target||''}
  12. +
  13. 项目总控:${row.admUsername}
  14. +
  15. 项目经理:${row.pmUsername}
  16. +
  17. 项目预算:${row.planTotalCost||'0'}元
  18. +
  19. 实际成本:${row.actAt||'0'}元
  20. +
  21. 合同金额:${row.contractAmt||'0'}元
  22. +
  23. 预估毛利率:${row.budgetMarginRate||'-'}%
  24. +
  25. 实际毛利率:${row.budgetMarginRate||'-'}%
  26. +
  27. 立项说明:${row.setupRemark||''}
  28. +
  29. 项目说明:${row.description||''}
  30. +

`; params.restUrl = config.getXmCtx() + "/xm/core/xmProject/processApprova"; //this.html2canvas(document.querySelector(".editForm"),row,params); this.$router.push({ name: 'bizStartProc', query: { paramsId: this.$mdp.setCacheParams(params) } }); } else if (bizKey == "xm_project_budget_change_approva") { //预算变更审核 + if(row.status<'5' && row.status>'2'){ + this.$notify.error('已立项、未验收的项目才需要走预算变更') + return; + } params.mainTitle = '关于项目【' + row.name + "】预算变更的审批申请"; - params.mainContext = '项目编号:' + row.code + ',' + '项目名称:' + row.name + '项目周期:' + row.startTime + '~' + row.endTime - + ',
变更前数据:预估及考核毛利率:' + this.selProject.budgetMarginRate + ',预估总成本:' + this.selProject.planTotalCost + ',总收入:' + this.selProject.totalReceivables - + ',合同金额:' + this.selProject.contractAmt - + ',
变更后数据:预估及考核毛利率:' + row.budgetMarginRate + ',预估总成本:' + row.planTotalCost + ',总收入:' + row.totalReceivables - + ',合同金额:' + row.contractAmt; + + params.mainContext = `

    +
  1. 项目名称:${row.name}
  2. +
  3. 项目编号:${row.id}
  4. +
  5. 开始日期:${row.startTime} 结束日期:${row.endTime}
  6. +
  7. 总工期:${row.planWorkingHours}小时
  8. +
  9. 需要人员:${row.planIuserCnt+row.planOuserCnt}人
  10. +
  11. 项目目标:${row.target||''}
  12. +
  13. 项目总控:${row.admUsername}
  14. +
  15. 项目经理:${row.pmUsername}
  16. +
  17. 项目预算:${row.planTotalCost||'0'}元
  18. +
  19. 实际成本:${row.actAt||'0'}元
  20. +
  21. 合同金额:${row.contractAmt||'0'}元
  22. +
  23. 预估毛利率:${row.budgetMarginRate||'-'}%
  24. +
  25. 实际毛利率:${row.budgetMarginRate||'-'}%
  26. +
  27. 立项说明:${row.setupRemark||''}
  28. +
  29. 项目说明:${row.description||''}
  30. +

`; params.restUrl = config.getXmCtx() + "/xm/core/xmProject/processApprova"; params.flowVars.data = row //this.html2canvas(document.querySelector(".editForm"),row,params); diff --git a/src/views/xm/core/xmProject/XmProjectSetup.vue b/src/views/xm/core/xmProject/XmProjectSetup.vue index 76cd291b..7721ab92 100644 --- a/src/views/xm/core/xmProject/XmProjectSetup.vue +++ b/src/views/xm/core/xmProject/XmProjectSetup.vue @@ -22,8 +22,7 @@ - - {{ editForm.admUserid }} + @@ -219,7 +218,10 @@ export default { this.$notify.error("审核中,不允许重复发审"); return; } - + if(row.status>'2'){ + this.$notify.error("已立项,不允许重新发起立项申请"); + return; + } let extVars = { projectId: row.id } let jsonExtVars = JSON.stringify(extVars);