在交付执行阶段,currentStage会被设置为具体的子阶段(白模、软装、渲染、后期),导致:
getProjectStatusByStage识别)currentStage 统一设置为"交付执行"data.deliverySubStage 中stage-delivery.component.tsLine 1727-1748:审批通过后的阶段更新逻辑
if (allStagesApproved) {
// 所有阶段都已通过,推进到尾款结算
this.project.set('currentStage', '尾款结算');
data.deliveryCompletedAt = now;
data.deliveryCompletedBy = this.currentUser.get('name');
delete data.deliverySubStage; // 清除子阶段标记
console.log('✅ 所有交付阶段已完成,推进到尾款结算');
} else {
// 保持 currentStage 为"交付执行",更新 deliverySubStage 为下一个子阶段
const nextStage = this.getNextStage(currentType);
if (nextStage) {
const nextStageName = stageNameMap[nextStage] || '白模';
data.deliverySubStage = nextStageName;
this.project.set('currentStage', '交付执行'); // 保持为"交付执行"
console.log(`当前阶段审批通过,currentStage保持为"交付执行",deliverySubStage更新为: ${nextStageName}`);
} else {
const currentStageName = stageNameMap[currentType] || '白模';
data.deliverySubStage = currentStageName;
this.project.set('currentStage', '交付执行'); // 保持为"交付执行"
console.log(`当前阶段审批通过,currentStage保持为"交付执行",deliverySubStage保持为: ${currentStageName}`);
}
}
需要添加:unifyDeliveryStage() 方法
currentStage: "白模" / "软装" / "渲染" / "后期"currentStage: "交付执行"(统一)data.deliverySubStage: "白模" / "软装" / "渲染" / "后期"(保留){
currentStage: "交付执行", // 统一为交付执行
data: {
deliverySubStage: "白模", // 保留子阶段信息
deliveryStageStatus: {
whitemodel: { status: "pending" },
softdecor: { status: "pending" },
rendering: { status: "pending" },
postprocess: { status: "pending" }
}
}
}
currentStage 是否统一为"交付执行"data.deliverySubStage 是否保留为"白模"