24 Commits

Author SHA1 Message Date
liuyun
43b467af3a fix(c2): 排班派单页接入当日工单列表接口
后端补 R11 后,将日视图数据源从占位切换为 GET /order?serviceDate=
(管理员视角当日全部工单),移除 NEEDS_CONTEXT 告警横幅,批量推荐的
「待派工单」改由当日 to_assign 工单下拉选择并自动带入老人与时段。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-10-14 23:10:23 +08:00
liuyun
80e2a39190 feat(c2): 排班派单页 + 服务对象计划/个人项目库
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-10-14 23:03:10 +08:00
liuyun
8975a7dd63 feat(c1): 服务对象列表/建档/详情/状态变更
- elder api 封装(RESTful /elder 六接口)+ 十态常量与日期格式化
- 列表页用 ty-crud(姓名/性别/护理等级/待遇状态/出生日期 + 姓名·状态筛选)
- 建档表单(身份证 18 位校验+出生日期带出、等级绑定评估结论副本联动校验)
- 详情弹窗(完整信息 + 十态状态变更 + 状态日志时间线)
- ty-crud 增 showCreate、ty-dialog 注入 dialog-id 以支持自定义建档与自关闭详情

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-10-14 18:56:14 +08:00
liuyun
bb3f6e6020 fix(c0): 补齐 schedule/record/qc/document 占位页,api 导入统一 @/api/http
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-10-14 13:20:34 +08:00
liuyun
ce68c4bbd2 feat(c0): 长护服务菜单占位页 + 机构/目录/人员 api
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-10-14 13:16:54 +08:00
liuyun
da7a5b703e feat(auth): 顶栏租户切换入口(仅超管显示)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-12 00:02:39 +08:00
liuyun
348221d198 fix(dict): 分页上限 1000→200,修复字典类型列表加载失败
后端 PageQuery @Max(200),前端 dict/分配角色/用户导出传 1000 会 400,
导致字典管理页类型列表为空。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 23:15:50 +08:00
liuyun
3746198f19 feat(tenant): 登录后应用租户品牌(主色/标题/Logo/版权)+ 租户表单品牌字段
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 22:32:25 +08:00
liuyun
64bbb0a987 feat(notice): 顶栏通知铃铛 + 通知管理页
- ty-notice 铃铛(未读角标 + 列表 + 已读)+ notice store 轮询
- 通知管理页(ty-crud)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 22:25:22 +08:00
liuyun
5de298a956 feat(auth): 首登强制改密页面 + 创建用户开关
- 独立改密页 + 路由守卫拦截待改密
- auth store 持久化 mustChangePassword
- 用户创建表单加「首登强制改密」开关(默认勾选)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 21:54:41 +08:00
liuyun
ce45d93ce5 feat(session): 在线会话页面 + 用户锁定/解锁 UI
- 新增 monitor/session 在线会话页面(列表 + 强退 + 踢全部)
- 用户页新增锁定/解锁操作,锁定状态独立标签展示
- api/session.ts + api/user.ts 扩展

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 21:35:54 +08:00
liuyun
d37af1b73e feat(rbac): 批量删除联调 + 角色数据权限部门分配 UI
- 用户/组织/资源页批量删除改批量接口 + 失败汇总提示
- 角色页新增「分配部门」(dataScope=custom 时显示,部门树勾选)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 17:42:16 +08:00
liuyun
0a1fbf3df2 refactor: 前端时间类型 string → number(对齐 Unix 毫秒契约)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:54:19 +08:00
liuyun
42b0a6a479 feat(auth): 登录多租户选择弹窗 + auth store 登录签名调整
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:41:26 +08:00
liuyun
b03e9ef62b feat(auth): 用户自助修改密码
- PATCH /auth/me/password(校验原密码 + tokenVersion 吊销其它会话)
- 顶栏用户下拉新增「修改密码」

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:34:14 +08:00
liuyun
23da579b26 feat(auth): 注册真实化 + 注册/忘记密码默认隐藏
- register.vue 接入 POST /auth/register
- defaultLoginConfig showRegister/showForgetPassword 默认 false

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:29:19 +08:00
liuyun
2f7f83b8b1 feat(rbac): 按钮级权限控制(v-permission + 权限 store + 用户页导出)
- 新增 permission store + v-permission 指令(响应式,异步权限加载后可恢复)
- ty-crud 支持 createPermission 与动作 permission 过滤
- 用户页:分配角色/重置密码按权限码显示,新增导出按钮 + CSV 导出

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:19:53 +08:00
liuyun
7ae220581a fix(security): 角色资源树回显防权限放大 + 401 刷新防死循环
- assign-resources-form:只保存叶子键 getCheckedKeys(true),回显 setCheckedKeys(leafOnly)
- http.ts:_retry 标记只重放一次 + 排除 login/refresh

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:10:32 +08:00
liuyun
23e228783c feat: dict-driven rendering — useDict + component dictCode
- 新增 dict store 与 useDict Hook(登录后缓存、登出清空)
- ty-form/ty-table 支持 dictCode 自动解析下拉与标签
- 用户/角色/资源/组织/租户/审计/登录日志页去硬编码映射
- 字典管理页内置标记、value 保护、标签色编辑

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 14:29:28 +08:00
liuyun
7d0088dd10 feat: tenant management page
- api/tenant.ts + /system/tenant 页面(ty-crud)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 12:49:55 +08:00
liuyun
f1cb5723b2 feat: wire all management pages to backend (config/dict/org/resource/role/audit/login-log)
- 401 自动登出:http 会话过期回调 + main.ts 注册(清 menu/tabs + 跳登录)
- 参数配置/字典/组织/资源/角色/操作日志/登录日志对接真实接口
- 角色管理新增权限分配树(el-tree 勾选资源,/roles/:code/resources)
- 操作日志/登录日志只读页(ty-search-form + ty-table + useRequest)
- listOrgs 迁到 api/org.ts

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 12:45:53 +08:00
liuyun
77917573c1 feat: real menu rendering + axios/useRequest integration
- axios OO 封装(src/api/http.ts):请求拦截鉴权头、拆 {code,message,data}、401 刷新重放
- useRequest composable(manual/refreshDeps/cancel/mutate)
- ty-crud 列表加载改用 useRequest,修复分页切换不重新请求
- 用户管理对接真实接口(列表/增删改/重置密码/组织下拉),ty-table 日期兼容 ISO
- 菜单真实渲染:GET /auth/menus + 菜单 store,布局/页签/面包屑从接口取
- 登录/注册/忘记密码去掉租户编码字段(用配置默认租户),暗黑模式品牌区背景适配
- 退出登录清空菜单 + 页签

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 12:19:24 +08:00
liuyun
5549b2e75c feat: user management page (search/table/pagination/dialog/delete/reset-pwd)
占位数据源 src/api/user.ts(字段对齐后端 User),页面跑通 CRUD 模式,后续接后端只换数据源。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 01:16:08 +08:00
liuyun
8d148937b1 feat: frontend auth foundation (API client, login page, router guard)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 21:13:55 +08:00