将那些没有完成阶段工作却被推进的项目回退到正确的阶段。
F12)repair-project-stages-browser.js 文件内容输入命令导出备份:
exportProjectsBackup()
备份文件会自动下载(projects-backup-YYYY-MM-DD.json)
在控制台输入:
repairProjectStages()
输出示例:
🔍 预览模式:查看需要修复的项目
================================================================================
📊 共找到 150 个项目
────────────────────────────────────────────────────────────
📋 项目: 张三的家装项目
ID: abc123
当前阶段: 确认需求
应该阶段: 订单分配
回退原因: 缺少项目名称, 缺少报价数据
🔍 [预览] 需要回退到"订单分配"阶段
────────────────────────────────────────────────────────────
📋 项目: 李四的办公室设计
ID: def456
当前阶段: 交付执行
应该阶段: 确认需求
回退原因: 缺少需求分析数据
🔍 [预览] 需要回退到"确认需求"阶段
================================================================================
🔍 预览完成!发现 2 个项目需要修复
💡 提示:输入 repairProjectStages(false) 执行实际修复
================================================================================
确认预览结果无误后,输入:
repairProjectStages(false)
输出示例:
🔧 执行模式:开始修复项目阶段数据
================================================================================
📊 共找到 150 个项目
────────────────────────────────────────────────────────────
📋 项目: 张三的家装项目
ID: abc123
当前阶段: 确认需求
应该阶段: 订单分配
回退原因: 缺少项目名称, 缺少报价数据
🧹 已清除错误的审批状态
✅ 已回退到"订单分配"阶段
================================================================================
✅ 修复完成!共回退 2 个项目到正确阶段
================================================================================
项目会被回退到"订单分配",如果缺少:
project.title)project.projectType)project.demoday)data.quotation.total > 0)项目会被回退到"确认需求",如果缺少:
data.requirementsAnalysis)data.spaceRequirements)项目会被回退到"交付执行",如果:
修复完成后,控制台会显示表格:
| id | title | oldStage | newStage | reason |
|---|---|---|---|---|
| abc123 | 张三的家装项目 | 确认需求 | 订单分配 | 缺少项目名称, 缺少报价数据 |
| def456 | 李四的办公室设计 | 交付执行 | 确认需求 | 缺少需求分析数据 |
// ✅ 正确流程
exportProjectsBackup() // 1. 先备份
repairProjectStages() // 2. 预览
repairProjectStages(false) // 3. 执行修复
/admin/project-management 页面运行/designer/projects 页面运行如果只需要修复特定项目:
// 查询特定项目
const query = new Parse.Query('Project');
const project = await query.get('项目ID');
// 回退到指定阶段
project.set('currentStage', '订单分配');
await project.save();
console.log('✅ 项目已回退');
DATA_REPAIR_STAGE_ROLLBACK.md - 详细的修复方案文档scripts/repair-project-stages.ts - TypeScript版本修复脚本scripts/repair-project-stages-browser.js - 浏览器版本修复脚本(推荐)REPAIR_STAGES_QUICK_GUIDE.md - 本快速指南修复完成后:
解决:确保在正确的页面(项目管理页面)运行脚本
解决:
解决:
如有问题,请联系技术团队并提供:
修复完成后,所有项目都会回到正确的阶段,用户将无法通过导航栏跳过必填验证!