Error: modules/project/pages/project-detail/stages/stage-delivery.component.ts:436:20
- error TS2339: Property 'unifyDeliveryStage' does not exist on type 'StageDeliveryComponent'.
436 await this.unifyDeliveryStage();
~~~~~~~~~~~~~~~~~~
在 Line 436 调用了 unifyDeliveryStage() 方法,但该方法的实现没有成功添加到类中。
文件:src/modules/project/pages/project-detail/stages/stage-delivery.component.ts
Line 520-537:添加方法实现
async unifyDeliveryStageForOldData(): Promise<void> {
if (!this.project) return;
const currentStage = this.project.get('currentStage');
const validDeliveryStages = ['白模', '软装', '渲染', '后期'];
if (validDeliveryStages.includes(currentStage)) {
console.log(`统一阶段: "${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('阶段已统一为"交付执行"');
} catch (e) {
console.error('统一阶段失败:', e);
}
}
}
Line 436:调用更新后的方法名
await this.unifyDeliveryStageForOldData();
自动检测并统一旧数据中的 currentStage:
currentStage 是子阶段(白模、软装、渲染、后期)data.deliverySubStage在交付执行页面加载时自动执行(Line 436):
await this.ensureDeliveryStageInitialized();
await this.unifyDeliveryStageForOldData(); // 🔥 这里调用
执行成功时会显示:
统一阶段: "白模" → "交付执行"
阶段已统一为"交付执行"
{
currentStage: "白模", // 子阶段
data: {}
}
{
currentStage: "交付执行", // 统一
data: {
deliverySubStage: "白模" // 子阶段保留
}
}
编译错误已解决,应用程序可以正常编译和运行。
√ Compiled successfully修复完成! 🎉