|
@@ -319,6 +319,8 @@ module.exports = app => {
|
|
|
source_type: 1,
|
|
|
changes: 'null',
|
|
|
changeId: '-1',
|
|
|
+ businessId: '-1',
|
|
|
+ change_times: 1,
|
|
|
cPlanId: -1,
|
|
|
cPrjId: -1,
|
|
|
cAplId: -1,
|
|
@@ -473,6 +475,8 @@ module.exports = app => {
|
|
|
source_type: 101,
|
|
|
changes: 'null',
|
|
|
changeId: '-1',
|
|
|
+ businessId: '-1',
|
|
|
+ change_times: 1,
|
|
|
cPlanId: -1,
|
|
|
cPrjId: -1,
|
|
|
cAplId: -1,
|
|
@@ -618,6 +622,8 @@ module.exports = app => {
|
|
|
source_type: 200,
|
|
|
changes: 'null',
|
|
|
changeId: '-1',
|
|
|
+ businessId: '-1',
|
|
|
+ change_times: 1,
|
|
|
cPlanId: -1,
|
|
|
cPrjId: -1,
|
|
|
cAplId: -1,
|
|
@@ -639,11 +645,14 @@ module.exports = app => {
|
|
|
pageShow.closeShowAllCustomized = 0;
|
|
|
const tenderId = ctx.params.id;
|
|
|
const changeId = ctx.params.cid;
|
|
|
- const cPlanId = ctx.params.cplnid || -1;
|
|
|
- const cPrjId = ctx.params.cprjid || -1;
|
|
|
- const cAplId = ctx.params.caid || -1;
|
|
|
+ const cPlanId = ctx.params.cplnid || '-1';
|
|
|
+ const cPrjId = ctx.params.cprjid || '-1';
|
|
|
+ const cAplId = ctx.params.caid || '-1';
|
|
|
let bzId = '';
|
|
|
if (stage_id === -300) bzId = changeId;
|
|
|
+ if (stage_id === -301) bzId = cPlanId;
|
|
|
+ if (stage_id === -302) bzId = cPrjId;
|
|
|
+ if (stage_id === -303) bzId = cAplId;
|
|
|
const paymentDetail_id = -1;
|
|
|
const pid = ctx.session.sessionProject.id;
|
|
|
const budget_id = -1;
|
|
@@ -653,12 +662,14 @@ module.exports = app => {
|
|
|
const orders = ctx.query.order ? ctx.query.order : 0;
|
|
|
const state = ctx.session.sessionProject.page_show.openChangeState && ctx.query.state ? parseInt(ctx.query.state) : 0;
|
|
|
const changes = await ctx.service.change.getListByStatus(tenderId, 0, 1, sorts, orders, state);
|
|
|
+ let change_times = 1;
|
|
|
const stageList = [];
|
|
|
const unitList = await ctx.service.constructionUnit.getAllDataByCondition({ where: { pid } }); // 找公司章用的
|
|
|
const isAdmin = ctx.session.sessionUser.is_admin;
|
|
|
let lastAuditor = null;
|
|
|
for (let cIdx = 0; cIdx < changes.length; cIdx++) {
|
|
|
if (changes[cIdx].cid === changeId) {
|
|
|
+ if (changes[cIdx].times > change_times) change_times = changes[cIdx].times;
|
|
|
if (changes[cIdx].status === 3) {
|
|
|
const changeAudit = await ctx.service.changeAudit.getLastUser(changeId, changes[cIdx].times, 3);
|
|
|
if (changeAudit) {
|
|
@@ -781,6 +792,8 @@ module.exports = app => {
|
|
|
source_type,
|
|
|
changes: JSON.stringify(changes),
|
|
|
changeId,
|
|
|
+ businessId: bzId,
|
|
|
+ change_times,
|
|
|
cPlanId,
|
|
|
cPrjId,
|
|
|
cAplId,
|
|
@@ -894,12 +907,12 @@ module.exports = app => {
|
|
|
stgAuditForOrg = null,
|
|
|
stageFlow = null,
|
|
|
stageList = [];
|
|
|
- if (![-100, -200, -300].includes(params.stage_id)) {
|
|
|
+ if (![-100, -200, -300, -301, -302, -303].includes(params.stage_id)) {
|
|
|
stgAudit = await ctx.service.stageAudit.getStageAudit(params.stage_id, params.stage_times);
|
|
|
stgAuditForOrg = await ctx.service.stageAudit.getStageAudit(params.stage_id, 1);
|
|
|
stageList = await ctx.service.stage.getValidStagesShort(params.tender_id);
|
|
|
stageFlow = await ctx.service.stageAudit.getAuditGroupByListWithOwner(params.stage_id, params.stage_times);
|
|
|
- } else {
|
|
|
+ } else if ([-100, -200].includes(params.stage_id)) {
|
|
|
stgAudit = await ctx.service.paymentDetailAudit.getAuditors(params.detail_id, params.stage_times);
|
|
|
stgAuditForOrg = await ctx.service.paymentDetailAudit.getAuditors(params.detail_id, 1);
|
|
|
stageFlow = await ctx.service.paymentDetailAudit.getAuditorsWithOwner(params.detail_id);
|
|
@@ -908,6 +921,31 @@ module.exports = app => {
|
|
|
const payment = paymentDetailList[0];
|
|
|
stageList.push({ id: params.stage_id, user_id: payment.uid, status: payment.status });
|
|
|
}
|
|
|
+ } else if ([-300, -301, -302, -303].includes(params.stage_id)) {
|
|
|
+ // 变更令相关的
|
|
|
+ stgAudit = [];
|
|
|
+ stgAuditForOrg = [];
|
|
|
+ stageFlow = [];
|
|
|
+ switch (params.stage_id) {
|
|
|
+ case -300:
|
|
|
+ const changeAudit = await ctx.service.changeAudit.getAuditors(params.change_id, params.change_times, true);
|
|
|
+ const changeAuditOrg = await ctx.service.changeAudit.getAuditors(params.change_id, 1);
|
|
|
+ changeAudit.forEach(audit => {
|
|
|
+ stgAudit.push({ aid: audit.uid, status: audit.status, opinion: audit.sdesc, end_time: audit.sin_time, usite: audit.usite });
|
|
|
+ });
|
|
|
+ changeAuditOrg.forEach(audit => {
|
|
|
+ stgAuditForOrg.push({ aid: audit.uid, status: audit.status, opinion: audit.sdesc, end_time: audit.sin_time, usite: audit.usite });
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case -301:
|
|
|
+ break;
|
|
|
+ case -302:
|
|
|
+ break;
|
|
|
+ case -303:
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
stageFlow.forEach(x => {
|
|
@@ -1008,28 +1046,41 @@ module.exports = app => {
|
|
|
|
|
|
let stgAudit = null,
|
|
|
stageList = [];
|
|
|
- if (![-100, -200, -300].includes(params.stage_id)) {
|
|
|
+ if (![-100, -200, -300, -301, -302, -303].includes(params.stage_id)) {
|
|
|
stgAudit = await ctx.service.stageAudit.getStageAudit(params.stage_id, params.stage_times);
|
|
|
stageList = await ctx.service.stage.getValidStagesShort(params.tender_id);
|
|
|
- } else {
|
|
|
+ } else if ([-100, -200].includes(params.stage_id)) {
|
|
|
stgAudit = await ctx.service.paymentDetailAudit.getAuditors(params.detail_id);
|
|
|
const paymentDetailList = await ctx.service.paymentDetail.getDetail(params.detail_id);
|
|
|
if (paymentDetailList && paymentDetailList.length > 0) {
|
|
|
const payment = paymentDetailList[0];
|
|
|
stageList.push({ id: params.stage_id, user_id: payment.uid, status: payment.status });
|
|
|
}
|
|
|
+ } else if ([-300, -301, -302, -303].includes(params.stage_id)) {
|
|
|
+ stgAudit = [];
|
|
|
+ switch (params.stage_id) {
|
|
|
+ case -300:
|
|
|
+ const changeAudit = await ctx.service.changeAudit.getAuditors(params.change_id, params.change_times);
|
|
|
+ changeAudit.forEach(audit => {
|
|
|
+ stgAudit.push({ aid: audit.uid, status: audit.status, opinion: audit.sdesc, end_time: audit.sin_time });
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ case -301:
|
|
|
+ break;
|
|
|
+ case -302:
|
|
|
+ break;
|
|
|
+ case -303:
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- // const stgAudit = await ctx.service.stageAudit.getStageAudit(params.stage_id, params.stage_times);
|
|
|
- // const stageList = await ctx.service.stage.getValidStagesShort(params.tender_id);
|
|
|
-
|
|
|
- // const roleRel = (params.stage_status === 3) ? (await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_ids, params.stage_id)) : [];
|
|
|
const roleRel = await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_ids, params.stage_id); // 新需求:在审批流程中的签名需要显示
|
|
|
roleRel.sort(function(rr1, rr2) {
|
|
|
return params.rpt_ids.indexOf(parseInt(rr1.rpt_id)) - params.rpt_ids.indexOf(parseInt(rr2.rpt_id));
|
|
|
});
|
|
|
- // console.log('roleRel: ');
|
|
|
- // console.log(roleRel);
|
|
|
+
|
|
|
mergeStampSignature(ctx, params.stage_status, pageRstArr, roleRel, params.rpt_ids, stgAudit, stageList);
|
|
|
mergeTextSignature(params.isTextSignature, params.stage_status, pageRstArr, roleRel, params.rpt_ids, stgAudit, stageList);
|
|
|
|