3.2 KiB
System Permission Split Tabs And Empty Org Mind Map Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Rework 系统权限管理 into two independent tabs, make 组织脑图 initialize as a single 总公司 root, and support right-click organization/person maintenance without polluting miniapp personnel master data.
Architecture: Keep sys_department as the organization-node table and add a small sys_org_employee_binding table for explicit mind-map personnel leaves. Backend owns root creation, level rules, deletion safety, manager binding, and employee binding. Frontend uses a full-width mind-map tab plus a separate personnel/role tab, with a deterministic non-draggable SVG mind map and a context menu.
Tech Stack: FastAPI, SQLAlchemy 2, Pydantic, MySQL 8 / SQLite tests, Vue 3, Vite, plain SVG/CSS.
Task 1: Backend Data Model And Service Rules
Files:
-
Modify:
backend/app/models/org.py -
Modify:
backend/app/schemas/system_permissions.py -
Modify:
backend/app/services/system_permissions.py -
Modify:
backend/app/api/routes/system_permissions.py -
Test:
backend/tests/test_system_permission_management.py -
Add failing tests for empty-root org tree, explicit employee binding, delete guards, and valid child node types.
-
Implement
OrgEmployeeBindingmodel and schema fields. -
Build org tree from the managed root only, not legacy root departments.
-
Add create/update/delete org node service rules.
-
Add bind/unbind employee leaf service rules.
-
Run backend focused tests.
Task 2: SQL Patch
Files:
-
Create:
backend/sql/add_system_permission_org_mindmap_patch.sql -
Create
sys_org_employee_bindingsafely. -
Ensure one
ORG_ROOTcompany root named总公司exists. -
Support
GROUPnode type in comments/default expectations. -
Execute the patch against current test DB.
-
Verify table and root exist.
Task 3: Frontend Page Split And Mind Map Interactions
Files:
-
Modify:
frontend/src/views/SystemPermissionView.vue -
Modify:
frontend/src/components/OrgMindMap.vue -
Modify:
frontend/scripts/test-system-permission-management-ui.mjs -
Add static UI assertions for two top-level tabs, personnel/role tab separation, right-click menu, default collapsed employee leaves, and no free dragging.
-
Rework
SystemPermissionView.vueinto组织脑图and人员与角色维护tabs. -
Move role/user cards and new-user action into
人员与角色维护. -
Add right-click context menu commands by node type.
-
Rework org drawer modes: rename, add child, set manager, add employee.
-
Rework
OrgMindMap.vueto show organization nodes first and collapse employee leaves behind a plus toggle. -
Run frontend static UI test and production build.
Task 4: Final Verification
Files:
-
Backend and frontend touched above.
-
Run backend focused test.
-
Run frontend static UI test.
-
Run frontend build.
-
Summarize SQL execution and verification output.