<%= ctx.subProject.name %>

当前版本:<%= versionList[0].name %> <% if (sysMsgList.length > 0) { %> <% for (const sm of sysMsgList) { %> 系统最新通知 <% } %> <% } %>
<% if (!authMobile) { %>
您的账号未认证手机。 设置认证手机后,可以用于 找回密码 及 接收验证码。点击设置
<% } %> <% if (maintainData.status !== maintainConst.status.notset && new Date().getTime() + (86400*1000) > parseFloat(maintainData.maintain_time)) { %>

系统将于 <%- moment(parseFloat(maintainData.maintain_time)).format('YYYY年MM月DD日 HH:mm') %> 开始停机维护,<%- (maintainData.duration !== maintainConst.duration.forever ? '持续'+ maintainConst.durationString[maintainData.duration] +'。' : '') %>造成不便敬请谅解。

<%- maintainData.msg %>

<% } %>
需要你处理
<% if (auditTenders.length !== 0 || auditRevise.length !== 0 || auditStages.length !== 0 || auditChanges.length !== 0 || auditMaterial.length !== 0 || auditAdvance.length !== 0 || auditChangeProject.length !== 0 || auditChangeApply.length !== 0 || auditChangePlan.length !== 0 || auditPayments.length !== 0 || auditStageAss.length !== 0 || auditFinancials.length !== 0 || auditInspections.length !== 0 || auditSafeInspections.length !== 0 || auditSafeStage.length !== 0 || auditPhasePay.length !== 0 || auditCostStageLedger.length !== 0 || auditCostStageBook.length !== 0 || auditCostStageAnalysis.length !== 0 || auditCostStageDuty.length !== 0 || auditContracts.length !== 0 || auditContractPays.length !== 0) { %> <% for (const t of auditTenders) { %> <% if (t.ledger_status === acLedger.status.checking) { %> <% } else { %> <% } %> <% } %> <% for (const revise of auditRevise) { %> <% } %> <% for (const audit of auditStages) { %> <% if (audit.sstatus === acStage.status.checkNo) { %> <% } else if (audit.sstatus === acStage.status.uncheck) { %> <% } else { %> <% } %> <% } %> <% for (const audit of auditStageAss) { %> <% if (audit.sstatus !== acStage.status.checkNo) { %> <% } else { %> <% } %> <% } %> <% for (const change of auditChanges) { %> <% } %> <% for (const acp of auditChangeProject) { %> <% } %> <% for (const aca of auditChangeApply) { %> <% } %> <% for (const acp of auditChangePlan) { %> <% } %> <% for (const am of auditMaterial) { %> <% if (am.mstatus !== acMaterial.status.checkNo) { %> <% } else { %> <% } %> <% } %> <% for (const am of auditAdvance) { %> <% if (am.mstatus !== acAdvance.status.checkNo) { %> <% } else { %> <% } %> <% } %> <% for (const audit of auditPayments) { %> <% if (audit.sstatus !== acStage.status.checkNo) { %> <% if (audit.type) { %> <% } else { %> <% } %> <% if (audit.type) { %> <% } else { %> <% } %> <% } else { %> <% if (audit.type) { %> <% } else {%> <% } %> <% if (audit.type) { %> <% } else {%> <% } %> <% } %> <% } %> <% for (const af of auditFinancials) { %> <% } %> <% for (const acp of auditInspections) { %> <% } %> <% for (const acp of auditSafeInspections) { %> <% } %> <% for (const ass of auditSafeStage) { %> <% } %> <% for (const app of auditPhasePay) { %> <% } %> <% for (const acs of auditCostStageLedger) { %> <% } %> <% for (const acs of auditCostStageBook) { %> <% } %> <% for (const acs of auditCostStageAnalysis) { %> <% } %> <% for (const acs of auditCostStageDuty) { %> <% } %> <% // 合并合同和合同支付数据,统一处理 const allContractItems = []; auditContracts.forEach(contract => { allContractItems.push({ ...contract, itemType: 'contract', name: (contract.tid && contract.tid !== 0) ? '标段合同-' + contract.name : '项目合同-' + contract.name, dataType: '20' }); }); auditContractPays.forEach(pay => { const displayName = (!pay.is_project_contract && pay.tender_name) ? '标段合同' + '-' + pay.contract_name : '项目合同-' + pay.contract_name; allContractItems.push({ ...pay, itemType: 'pay', name: displayName, dataType: '20' // 与合同使用相同的类型标识 }); }); %> <% for (const item of allContractItems) { %> <% const isCheckNo = item.status === acContract.status.checkNo; const isUncheckReSubmit = item.status === acContract.status.uncheck && item.times > 1; const isContractOwnerReturned = item.itemType === 'contract' && item.contract_status === acContract.status.checkNo && item.uid === uid; const showResubmitBtn = isCheckNo || isUncheckReSubmit || isContractOwnerReturned; %> <% const isTenderContract = item.tid && item.tid !== 0 && !item.is_project_contract; const incomePath = item.contract_type === 2 ? '/income' : ''; const detailUrl = isTenderContract ? '/sp/' + ctx.subProject.id + '/contract/tender/' + item.tid + '/detail' + incomePath + (item.itemType === 'pay' ? '?tab=pay' : '') : '/sp/' + ctx.subProject.id + '/contract/detail' + incomePath + (item.itemType === 'pay' ? '?tab=pay' : ''); %> <% } %>
类型 名称 状态 创建时间 操作
台账审批 <%- t.name %> 台账 <%- (t.begin_time ? ctx.moment(t.begin_time).format('YYYY/MM/DD HH:mm') : '') %> 审批
台账审批 <%- t.name %> 台账 <%- (t.end_time ? ctx.moment(t.end_time).format('YYYY/MM/DD HH:mm') : '') %> 重新上报
台账修订 <%- revise.t_name %> 第<%- revise.corder %>次 第<%- revise.corder %>次 <%- ( revise.status === acRevise.status.checking ? (revise.begin_time ? ctx.moment(revise.begin_time).format('YYYY/MM/DD HH:mm') : '') : (revise.end_time ? ctx.moment(revise.end_time).format('YYYY/MM/DD HH:mm') : '') ) %> <% if (revise.status === acRevise.status.checking) { %>审批<% } else if (revise.status === acRevise.status.checkNo) { %>重新上报<% } %>
计量审批 <%- audit.name %> 第<%- audit.sorder %>期 第<%- audit.sorder %>期 <%- ctx.moment(audit.end_time).format('YYYY/MM/DD HH:mm') %> 重新上报
计量审批 <%- audit.name %> 第<%- audit.sorder %>期 第<%- audit.sorder %>期 <%- ctx.moment(audit.begin_time).format('YYYY/MM/DD HH:mm') %> 上报
计量审批 <%- audit.name %> 第<%- audit.sorder %>期 第<%- audit.sorder %>期 <%- ctx.moment(audit.begin_time).format('YYYY/MM/DD HH:mm') %> <% if (audit.sstatus === acStage.status.checkNoPre) { %>重新<% } %>审批
计量审批 <%- audit.tender_name %> 第<%- audit.sorder %>期 第<%- audit.sorder %>期 <%- ctx.moment(audit.begin_time).format('YYYY/MM/DD HH:mm') %> 协同审批
计量审批 <%- audit.tender_name %> 第<%- audit.sorder %>期 第<%- audit.sorder %>期 <%- ctx.moment(audit.begin_time).format('YYYY/MM/DD HH:mm') %> 协同上报
变更审批 <%- change.name %> <%- change.ccode %> 变更 <%- change.begin_time ? ctx.moment(change.begin_time).format('YYYY/MM/DD HH:mm') : (change.cin_time ? ctx.moment.unix(change.cin_time).format('YYYY/MM/DD HH:mm') : '') %> <% if (change.cstatus === acChange.status.checking) { %>审批<% } else if (change.cstatus === acChange.status.checkNoPre) { %>重新审批<% } else { %>重新上报<% } %>
变更立项 <%- acp.name %> <%- acp.mcode %> 变更 <%- ( acp.status !== acChangeProject.status.back ? (acp.begin_time ? ctx.moment(acp.begin_time).format('YYYY/MM/DD HH:mm') : '') : (acp.end_time ? ctx.moment(acp.end_time).format('YYYY/MM/DD HH:mm') : '') ) %> <% if (acp.mstatus !== acChangeProject.status.back) { %>审批<% } else { %>重新上报<% } %>
变更申请 <%- aca.name %> <%- aca.mcode %> 变更 <%- ( aca.mstatus !== acChangeApply.status.checkNo ? (aca.begin_time ? ctx.moment(aca.begin_time).format('YYYY/MM/DD HH:mm') : '') : (aca.end_time ? ctx.moment(aca.end_time).format('YYYY/MM/DD HH:mm') : '') ) %> <% if (aca.mstatus !== acChangeApply.status.checkNo) { %>审批<% } else { %>重新上报<% } %>
变更方案 <%- acp.name %> <%- acp.mcode %> 变更 <%- ( acp.mstatus !== acChangePlan.status.checkNo ? (acp.begin_time ? ctx.moment(acp.begin_time).format('YYYY/MM/DD HH:mm') : '') : (acp.end_time ? ctx.moment(acp.end_time).format('YYYY/MM/DD HH:mm') : '') ) %> <% if (acp.mstatus !== acChangePlan.status.checkNo) { %>审批<% } else { %>重新上报<% } %>
材料调差 <%- am.name %> 第<%- am.morder %>期 第<%- am.morder %>期 <%- ctx.moment(am.begin_time).format('YYYY/MM/DD HH:mm') %> 审批
材料调差 <%- am.name %> 第<%- am.morder %>期 第<%- am.morder %>期 <%- ctx.moment(am.end_time).format('YYYY/MM/DD HH:mm') %> 重新上报
预付款 <%- am.name %> <%- typeColMap[am.mtype].text %>第<%- am.morder %>期 第<%- am.morder %>期 <%- ctx.moment(am.create_time).format('YYYY/MM/DD HH:mm') %> 审批
预付款 <%- am.name %> <%- typeColMap[am.mtype].text %>第<%- am.morder %>期 第<%- am.morder %>期 <%- ctx.moment(am.end_time).format('YYYY/MM/DD HH:mm') %> 重新上报
支付审批<%- audit.name %> <%- audit.rpt_name %> <%- audit.scode %><%- audit.name %> <%- audit.rpt_name %> <%- audit.scode %>第<%- audit.sorder %>期 <%- ctx.moment(audit.begin_time).format('YYYY/MM/DD HH:mm') %><% if (audit.sstatus === acStage.status.checkNoPre) { %>重新<% } %>审批<% if (audit.sstatus === acStage.status.checkNoPre) { %>重新<% } %>审批
支付审批<%- audit.name %> <%- audit.rpt_name %> <%- audit.scode %><%- audit.name %> <%- audit.rpt_name %> <%- audit.scode %>第<%- audit.sorder %>期 <%- ctx.moment(audit.end_time).format('YYYY/MM/DD HH:mm') %>重新上报重新上报
资金支付 <%- af.fpcode %> 支付 <%- ( af.fpcstatus !== acFinancial.status.checkNo ? (af.begin_time ? ctx.moment(af.begin_time).format('YYYY/MM/DD HH:mm') : '') : (af.end_time ? ctx.moment(af.end_time).format('YYYY/MM/DD HH:mm') : '') ) %> <% if (af.fpstatus !== acFinancial.status.checkNo) { %>审批<% } else { %>重新上报<% } %>
质量巡检 <%- acp.name %> <%- acp.mcode %> 巡检 <%- ( acp.mstatus !== acInspection.status.checkNo ? (acp.begin_time ? ctx.moment(acp.begin_time).format('YYYY/MM/DD HH:mm') : '') : (acp.end_time ? ctx.moment(acp.end_time).format('YYYY/MM/DD HH:mm') : '') ) %> <% if (acp.mstatus === acInspection.status.rectification) { %>整改<% } else if (acp.mstatus !== acInspection.status.checkNo) { %>审批<% } else { %>重新上报<% } %>
安全巡检 <%- acp.name %> <%- acp.mcode %> 巡检 <%- ( acp.mstatus !== acInspection.status.checkNo ? (acp.begin_time ? ctx.moment(acp.begin_time).format('YYYY/MM/DD HH:mm') : '') : (acp.end_time ? ctx.moment(acp.end_time).format('YYYY/MM/DD HH:mm') : '') ) %> <% if (acp.mstatus === acInspection.status.rectification) { %>整改<% } else if (acp.mstatus !== acInspection.status.checkNo) { %>审批<% } else { %>重新上报<% } %>
安全计量 <%- ass.name %> 第<%- ass.stage_order %>期 第<%- ass.stage_order %>期 <%- (ass.begin_time ? ctx.moment(ass.begin_time).format('YYYY/MM/DD HH:mm') : '') %> <%- (ass.audit_order === 0 ? '重新上报' : '审批')%>
合同支付 <%- app.name %> 第<%- app.phase_order %>期 第<%- app.phase_order %>期 <%- (app.begin_time ? ctx.moment(app.begin_time).format('YYYY/MM/DD HH:mm') : '') %> <%- (app.audit_order === 0 ? '重新上报' : '审批')%>
成本报审 <%- acs.name %> 第<%- acs.stage_order %>期 第<%- acs.stage_order %>期 <%- (acs.begin_time ? ctx.moment(acs.begin_time).format('YYYY/MM/DD HH:mm') : '') %> <%- (acs.audit_order === 0 ? '重新上报' : '审批')%>
财务账面 <%- acs.name %> 第<%- acs.stage_order %>期 第<%- acs.stage_order %>期 <%- (acs.begin_time ? ctx.moment(acs.begin_time).format('YYYY/MM/DD HH:mm') : '') %> <%- (acs.audit_order === 0 ? '重新上报' : '审批')%>
成本分析 <%- acs.name %> 第<%- acs.stage_order %>期 第<%- acs.stage_order %>期 <%- (acs.begin_time ? ctx.moment(acs.begin_time).format('YYYY/MM/DD HH:mm') : '') %> <%- (acs.audit_order === 0 ? '重新上报' : '审批')%>
责任成本 <%- acs.name %> <%- (acs.begin_time ? ctx.moment(acs.begin_time).format('YYYY/MM/DD HH:mm') : '') %> <%- (acs.audit_order === 0 ? '重新上报' : '审批')%>
合同管理 <%- item.name %> <%- item.status_text %> <%- (item.begin_time ? ctx.moment(item.begin_time).startOf('minute').format('YYYY/MM/DD HH:mm') : (item.create_time ? ctx.moment(item.create_time).startOf('minute').format('YYYY/MM/DD HH:mm') : '')) %> <%- showResubmitBtn ? '重新上报' : '审批' %>
<% } else { %>
暂时没有需要你处理的事项
<% } %>
我参与的
参与审批
<%- total_count %>
距最后一次审批已过
<%- last_day || last_day === 0 ? last_day : '-' %>
项目通知
<% if (userMsgPermission) { %> <% } %>
参与的标段动态
<% if(noticeList.length) { %> <% for (const notice of noticeList) { %> <% if(notice.type === pushType.stage) { %> <% } else if(notice.type === pushType.material && ctx.subProject.page_show.openMaterial) { %> <% } else if(notice.type === pushType.ledger) { %> <% } else if(notice.type === pushType.revise) { %> <% } else if(notice.type === pushType.change){ %> <% } else if(notice.type === pushType.changeProject && ctx.subProject.page_show.openChangeProject) { %> <% } else if(notice.type === pushType.changeApply && ctx.subProject.page_show.openChangeApply) { %> <% } else if(notice.type === pushType.changePlan && ctx.subProject.page_show.openChangePlan) { %> <% } else if(notice.type === pushType.advance) { %> <% } else if(notice.type === pushType.financial && ctx.subProject.page_show.openFinancial) { %> <% } else if(notice.type === pushType.inspection && ctx.subProject.page_show.qualityInspection) { %> <% } else if(notice.type === pushType.safeInspection && ctx.subProject.page_show.safeInspection) { %> <% } else if(notice.type === pushType.safeStage && ctx.subProject.page_show.safePayment) { %> <% } else if(notice.type === pushType.phasePay && ctx.subProject.page_show.phasePay) { %> <% } else if(notice.type === pushType.costStageLedger && ctx.subProject.page_show.cost) { %> <% } else if(notice.type === pushType.costStageBook && ctx.subProject.page_show.cost) { %> <% } else if(notice.type === pushType.costStageAnalysis && ctx.subProject.page_show.cost) { %> <% } else if(notice.type === pushType.costStageDuty && ctx.subProject.page_show.cost) { %> <% } %> <% } %>
类型 名称 审批人-职位 审批时间 项目 状态 审批意见
计量审批 <%- notice.name %> 第<%- notice.order %>期 <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 第<%- notice.order %>期 <%- acStage.statusString[notice.status]%> <%- notice.opinion ? notice.opinion : '' %>
材料调差 <%- notice.name %> 第<%- notice.order %>期 <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 第<%- notice.order %>期 <%- acMaterial.statusString[notice.status]%> <%- notice.opinion ? notice.opinion : '' %>
台账审批 <%- notice.name %> <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 台账 <%- acLedger.statusString[notice.status]%> <%- notice.opinion ? notice.opinion : '' %>
台账修订 <%- notice.name %> 台账修订(第<%- notice.corder %>次) <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 第<%- notice.corder %>次 <%- acRevise.statusString[notice.status]%> <%- notice.opinion ? notice.opinion : '' %>
变更审批 <%- notice.name %> <%- notice.c_code %> <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 变更 <%- acChange.statusString[notice.status]%> <%- notice.opinion ? notice.opinion : '' %>
变更立项 <%- notice.name %> <%- notice.c_code %> <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 变更 <%- acChangeProject.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
变更申请 <%- notice.name %> <%- notice.c_code %> <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 变更 <%- acChangeApply.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
变更方案 <%- notice.name %> <%- notice.c_code %> <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 变更 <%- acChangePlan.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
预付款 <%- notice.name %> <%- notice.ad_type ? typeColMap[notice.ad_type].text : '' %>第<%- notice.order %>期 <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 第<%- notice.order %>期 <%- acAdvance.statusString[notice.status]%> <%- notice.opinion ? notice.opinion : '' %>
资金支付 <%- notice.code %> <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 支付 <%- acFinancial.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
质量巡检 <%- notice.name %> <%- notice.c_code %> <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 巡检 <%- acInspection.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
安全巡检 <%- notice.name %> <%- notice.c_code %> <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 巡检 <%- acInspection.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
安全计量 <%- notice.name %> 第<%- notice.order %>期 <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 第<%- notice.order %>期 <%- acSafeStage.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
合同支付 <%- notice.name %> 第<%- notice.order %>期 <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 第<%- notice.order %>期 <%- acPhasePay.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
成本报审 <%- notice.name %> 第<%- notice.order %>期 <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 第<%- notice.order %>期 <%- acCostStage.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
财务账面 <%- notice.name %> 第<%- notice.order %>期 <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 第<%- notice.order %>期 <%- acCostStage.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
成本分析 <%- notice.name %> 第<%- notice.order %>期 <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> 第<%- notice.order %>期 <%- acCostStage.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
责任成本 <%- notice.name %> <%- notice.su_name %><%- (notice.su_role ? '-' + notice.su_role : '') %> <%- ctx.helper.dateTran(notice.create_time, 'YYYY/MM/DD HH:mm') %> <%- acCostStage.statusString[notice.status] %> <%- notice.opinion ? notice.opinion : '' %>
<% } else { %>
暂时没有需要你关注的事项
<% } %>
技术支持
  • <%=salesmanData.qq%>
  • <%=salesmanData.telephone%>
  • <%=salesmanData.fixedphone%>
  • <% if (projectData.qrcode_json) { %>
  • <% for (const qr of JSON.parse(projectData.qrcode_json)) { %>
    <%= qr.name %>
    <% } %>
  • <% } else { %>
  • 虾米造价
  • <% } %>