产品存在 overall_status 与 status 两个状态字段,此前各写入点各写一份映射、 甚至只改 overall_status 不改 status,导致回流设备(product.status 停留在 OUTBOUND)污染看板统计口径。 - lifecycle.py: 把映射表收敛为单一来源 overall_to_product_status / sync_product_status;新增 normalize_after_sales_step,将售后设备沿用生产 阶段写法的历史工序名(测试/维修)折算到售后区独立工序名 - product_service.py: 删除本地 _OVERALL_TO_STATUS 副本,改用共享函数 - dashboard_service.py: WIP 矩阵补出 lifecycle_phase 列,活跃任务判定 (is_active) 提前到所有终结态判定之前,避免残留 OUTBOUND 被误判为完结 - scripts/fix_product_status.py: 历史数据修复脚本(一次性) - constants/task.ts: 售后工序标签由红色改紫色 —— 红色在本系统是「驳回/危险」 语义色,售后只是另一条流转支线,用红色会让操作员误以为设备报错
React + TypeScript + Vite
This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Oxc
- @vitejs/plugin-react-swc uses SWC
React Compiler
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
Expanding the Oxlint configuration
If you are developing a production application, we recommend enabling type-aware lint rules by installing oxlint-tsgolint and editing .oxlintrc.json:
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": ["react", "typescript", "oxc"],
"options": {
"typeAware": true
},
"rules": {
"react/rules-of-hooks": "error",
"react/only-export-components": ["warn", { "allowConstantExport": true }]
}
}
See the Oxlint rules documentation for the full list of rules and categories.