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' })">项目金额变更申请
工期变更申请
- 立项申请
- 结项申请
+ - 项目名称:${row.name}
+ - 项目编号:${row.id}
+ - 开始日期:${row.startTime} 结束日期:${row.endTime}
+ - 总工期:${row.planWorkingHours}小时
+ - 需要人员:${row.planIuserCnt+row.planOuserCnt}人
+ - 项目目标:${row.target||''}
+ - 项目总控:${row.admUsername}
+ - 项目经理:${row.pmUsername}
+ - 项目预算:${row.planTotalCost||'0'}元
+ - 实际成本:${row.actAt||'0'}元
+ - 合同金额:${row.contractAmt||'0'}元
+ - 预估毛利率:${row.budgetMarginRate||'-'}%
+ - 实际毛利率:${row.budgetMarginRate||'-'}%
+ - 立项说明:${row.setupRemark||''}
+ - 项目说明:${row.description||''}
+
`;
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 = `
+ - 项目名称:${row.name}
+ - 项目编号:${row.id}
+ - 开始日期:${row.startTime} 结束日期:${row.endTime}
+ - 总工期:${row.planWorkingHours}小时
+ - 需要人员:${row.planIuserCnt+row.planOuserCnt}人
+ - 项目目标:${row.target||''}
+ - 项目总控:${row.admUsername}
+ - 项目经理:${row.pmUsername}
+ - 项目预算:${row.planTotalCost||'0'}元
+ - 实际成本:${row.actAt||'0'}元
+ - 合同金额:${row.contractAmt||'0'}元
+ - 预估毛利率:${row.budgetMarginRate||'-'}%
+ - 实际毛利率:${row.budgetMarginRate||'-'}%
+ - 立项说明:${row.setupRemark||''}
+ - 项目说明:${row.description||''}
+
`;
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 = `
+ - 项目名称:${row.name}
+ - 项目编号:${row.id}
+ - 开始日期:${row.startTime} 结束日期:${row.endTime}
+ - 总工期:${row.planWorkingHours}小时
+ - 需要人员:${row.planIuserCnt+row.planOuserCnt}人
+ - 项目目标:${row.target||''}
+ - 项目总控:${row.admUsername}
+ - 项目经理:${row.pmUsername}
+ - 项目预算:${row.planTotalCost||'0'}元
+ - 实际成本:${row.actAt||'0'}元
+ - 合同金额:${row.contractAmt||'0'}元
+ - 预估毛利率:${row.budgetMarginRate||'-'}%
+ - 实际毛利率:${row.budgetMarginRate||'-'}%
+ - 立项说明:${row.setupRemark||''}
+ - 项目说明:${row.description||''}
+
`;
+ 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 = `
+ - 项目名称:${row.name}
+ - 项目编号:${row.id}
+ - 开始日期:${row.startTime} 结束日期:${row.endTime}
+ - 总工期:${row.planWorkingHours}小时
+ - 需要人员:${row.planIuserCnt+row.planOuserCnt}人
+ - 项目目标:${row.target||''}
+ - 项目总控:${row.admUsername}
+ - 项目经理:${row.pmUsername}
+ - 项目预算:${row.planTotalCost||'0'}元
+ - 实际成本:${row.actAt||'0'}元
+ - 合同金额:${row.contractAmt||'0'}元
+ - 预估毛利率:${row.budgetMarginRate||'-'}%
+ - 实际毛利率:${row.budgetMarginRate||'-'}%
+ - 立项说明:${row.setupRemark||''}
+ - 项目说明:${row.description||''}
+
`;
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 = `
+ - 项目名称:${row.name}
+ - 项目编号:${row.id}
+ - 开始日期:${row.startTime} 结束日期:${row.endTime}
+ - 总工期:${row.planWorkingHours}小时
+ - 需要人员:${row.planIuserCnt+row.planOuserCnt}人
+ - 项目目标:${row.target||''}
+ - 项目总控:${row.admUsername}
+ - 项目经理:${row.pmUsername}
+ - 项目预算:${row.planTotalCost||'0'}元
+ - 实际成本:${row.actAt||'0'}元
+ - 合同金额:${row.contractAmt||'0'}元
+ - 预估毛利率:${row.budgetMarginRate||'-'}%
+ - 实际毛利率:${row.budgetMarginRate||'-'}%
+ - 立项说明:${row.setupRemark||''}
+ - 项目说明:${row.description||''}
+
`;
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 = `
+ - 项目名称:${row.name}
+ - 项目编号:${row.id}
+ - 开始日期:${row.startTime} 结束日期:${row.endTime}
+ - 总工期:${row.planWorkingHours}小时
+ - 需要人员:${row.planIuserCnt+row.planOuserCnt}人
+ - 项目目标:${row.target||''}
+ - 项目总控:${row.admUsername}
+ - 项目经理:${row.pmUsername}
+ - 项目预算:${row.planTotalCost||'0'}元
+ - 实际成本:${row.actAt||'0'}元
+ - 合同金额:${row.contractAmt||'0'}元
+ - 预估毛利率:${row.budgetMarginRate||'-'}%
+ - 实际毛利率:${row.budgetMarginRate||'-'}%
+ - 立项说明:${row.setupRemark||''}
+ - 项目说明:${row.description||''}
+
`;
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);