| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- // 在 stage-delivery.component.ts 的 line 518 后添加以下方法:
- /**
- * 统一旧数据的 currentStage 为"交付执行"
- */
- async unifyDeliveryStageForOldData(): Promise<void> {
- if (!this.project) return;
-
- const currentStage = this.project.get('currentStage');
- const validDeliveryStages = ['白模', '软装', '渲染', '后期'];
-
- if (validDeliveryStages.includes(currentStage)) {
- console.log(`🔥 [统一阶段] 检测到旧数据 currentStage="${currentStage}",统一为"交付执行"`);
-
- const data = this.project.get('data') || {};
- data.deliverySubStage = currentStage;
-
- this.project.set('currentStage', '交付执行');
- this.project.set('data', data);
-
- try {
- await this.project.save();
- console.log(`✅ [统一阶段] currentStage 已统一为"交付执行",子阶段保存到 deliverySubStage`);
- } catch (e) {
- console.error('❌ [统一阶段] 更新失败:', e);
- }
- } else if (currentStage === '交付执行') {
- const data = this.project.get('data') || {};
- if (!data.deliverySubStage) {
- const deliveryStageStatus = data.deliveryStageStatus || {};
- const stageOrder = ['white_model', 'soft_decor', 'rendering', 'post_process'];
- const stageNameMap: Record<string, string> = {
- 'white_model': '白模',
- 'soft_decor': '软装',
- 'rendering': '渲染',
- 'post_process': '后期'
- };
-
- let targetSubStage = '白模';
- for (const stageId of stageOrder) {
- const stageKey = stageId.replace('_', '');
- const status = deliveryStageStatus[stageKey]?.status;
- if (status !== 'approved') {
- targetSubStage = stageNameMap[stageId];
- break;
- }
- }
-
- data.deliverySubStage = targetSubStage;
- this.project.set('data', data);
-
- try {
- await this.project.save();
- console.log(`✅ [统一阶段] deliverySubStage 初始化为: ${targetSubStage}`);
- } catch (e) {
- console.error('❌ [统一阶段] deliverySubStage 初始化失败:', e);
- }
- }
- }
- }
|