抽屉化物资与启动授权流程

1、将药物发货新建和编辑从独立页面迁移到抽屉,详情页支持权限控制和停用中心只读状态。

2、补充药物发货状态字段校验,统一 PENDING、IN_TRANSIT、SIGNED、EXCEPTION 状态及演示数据。

3、为物资设备增加详情页和编辑抽屉,复用通用附件上传并按项目权限控制操作入口。

4、将启动会和培训授权编辑迁移到抽屉,详情页按中心过滤培训记录并移除旧独立编辑路由。
This commit is contained in:
Cheng Zhou
2026-06-04 11:08:43 +08:00
parent 720c98765f
commit 6a2e43f829
31 changed files with 3773 additions and 1009 deletions
+21
View File
@@ -65,6 +65,27 @@ describe("admin project route permissions", () => {
expect(source).not.toContain("finance/contracts");
});
it("does not register standalone contract fee create or edit pages", () => {
const source = readRouter();
expect(source).not.toContain("FeeContractForm");
expect(source).not.toContain('name: "FeeContractNew"');
expect(source).not.toContain('name: "FeeContractEdit"');
expect(source).not.toContain('path: "fees/contracts/new"');
expect(source).not.toContain('path: "fees/contracts/:contractId/edit"');
});
it("does not register standalone startup auth edit pages", () => {
const source = readRouter();
expect(source).not.toContain('name: "StartupKickoffEdit"');
expect(source).not.toContain('name: "StartupTrainingEdit"');
expect(source).not.toContain('name: "StartupTrainingNew"');
expect(source).not.toContain('path: "startup/kickoff/:meetingId/edit"');
expect(source).not.toContain('path: "startup/training/new"');
expect(source).not.toContain('path: "startup/training/:recordId/edit"');
});
it("uses precautions routes instead of knowledge note routes", () => {
const source = readRouter();