liuyun
af1ca7eb43
fix(c2): 调单确认按钮补 order:reassign 权限指令
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-10-14 23:15:25 +08:00
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
ebbd46899c
fix(c1): 状态变更目标态允许转入 dead/terminated 终态
...
- statusOptions 仅排除当前态,不再排除 dead/terminated(二者是合法目标态)
- 当前态为 dead/terminated 时隐藏整个状态变更区块(源态守卫,不可再变更)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-10-14 21:36:01 +08:00
liuyun
49043881ba
fix(c1): 服务对象页评审修复
...
- 回退对脚手架文件(ty-crud/ty-dialog)的越界修改
- 列表页改用 ty-search-form + ty-table 组合,去掉对 ty-crud 的依赖
- 详情弹窗改用默认 footer + confirmText「关闭」,去掉自关逻辑
- 状态变更区块加 v-permission="elder:status-change"
- 新增「下次服务」占位列(显示 —)
- 目标状态下拉排除当前状态与不可逆终态(dead/terminated)
- 失能等级去掉「(最高级)」后缀
- 建档/详情组件从 src/pages 迁至 src/components(对齐 change-password-form 约定,避免被 vue-router 注册为路由)
- components.d.ts 由构建重新生成,不再手改
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-10-14 19:46:40 +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
56056ec3d0
Merge remote-tracking branch 'upstream/main'
2026-10-14 14:00:42 +08:00
liuyun
06e5ba4515
feat(layout): 顶部导航 top 布局菜单也支持无限级
...
- top 布局横向菜单改用 ty-menu-node 递归渲染
- 统一 icon 间距样式(:deep(.icon) 替代 .menu-icon)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-14 13:59:13 +08:00
liuyun
4874a23a61
feat(layout): 左侧菜单支持无限级(递归菜单节点组件)
...
- 新增 ty-menu-node 自引用递归组件
- ty-sidebar 改递归渲染,不再限于两层
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-14 13:56:48 +08:00
liuyun
9dde50d61c
feat(c0): 新增属地与目录、对接档位占位页
...
- src/pages/ltc/config/loc/index.vue(svc-config-loc)
- src/pages/ltc/config/docking/index.vue(svc-config-docking)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-10-14 13:47:58 +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
ff0e1dcd27
feat(layout): 多页签 keep-alive(默认缓存,meta.keepAlive:false 可关)
...
- 11 个菜单页面补 defineOptions name(缓存标识)
- tabs store 加 keepAlive 字段 + pathToName 辅助
- layout 用 keep-alive 包裹 router-view,按打开且未关闭缓存的页签缓存
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 22:13:18 +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
eff4f8b314
fix: 第二轮残留(前端)
...
- 移除 config.tenantCode 死配置,注册页加租户输入
- 全局 errorHandler + unhandledrejection 兜底错误提示
- selectTenant 二次登录加 loading
- 路由守卫支持 meta.freeAccess 白名单
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 17:22:16 +08:00
liuyun
e1bc973034
ci: 前端 Dockerfile
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 17:02:18 +08:00
liuyun
cf54ea2352
chore: P3 清理(rolldown 拼写/.env 入库/模板残留/死代码/确认取消/console 噪音)
...
- vite rolldownOptions 拼写修正
- .env 入库 → gitignore + .env.example
- package.json 移除模板 author/description、补 MIT
- 删除死代码 config/menu.ts、untrack stats.html
- ty-crud 删除确认取消不报 rejection、main.ts 移除 console 噪音
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:57:55 +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
77c9c3fd25
fix: useRequest 请求序号防竞态 + ty-crud 搜索/重置去重
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:46:13 +08:00
liuyun
ed1a1e115c
fix: 401 强退重置 authStore + dictStore 支持 force 刷新
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:43:31 +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
84edbc67c0
feat(rbac): 路由级权限过滤 + 403 页
...
- 路由守卫按可访问菜单 path 校验,无权跳转 /403
- 新增 403 页
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 16:22: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
c96151d2ae
refactor: convert raw CSS to Tailwind @apply + search collapseCount=3
...
- ty-search-form 折叠默认数 2 → 3
- login/register/forgot/home/ty-header/ty-sidebar/ty-mixbar/ty-tabs/ty-footer/ty-setting-panel/icon/default 布局裸 CSS 转 @apply
- 修复背景色工具类误写(bg-base→bg-bg-base、bg-page→bg-bg-page)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 13:18:45 +08:00
liuyun
8742932f21
feat: home welcome page
...
- 登录后首页改为欢迎页:问候语 + 用户名 + 实时时间 + 菜单驱动的快捷入口卡片
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 13:03:42 +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
c95aa594cb
feat: configurable login page + register/forgot-password pages
...
- 登录页配置化:src/config/login.ts(品牌/布局/字段/开关),split/card 两种布局
- JsonSchemaProperty 新增 prefixIcon
- 注册 /register、忘记密码 /forgot-password 独立页面(blank 布局)
- 登录/注册/忘记密码统一 blank 布局(新增 blank.vue)
- 注册/重置成功后带 username 回填登录页
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 11:34:41 +08:00
liuyun
b9c3a64c34
feat: resource management page + 404 fallback + header fixes
...
- 资源管理:树形表格 + type 联动表单(menu/button/api 字段显隐)
- ty-form 新增 when 条件字段显隐;ty-crud 表单模型改 reactive
- 抽出 src/utils/tree.ts(buildTree/filterTree/collectDescendants),组织页复用
- 404 兜底:catch-all 路由 [...all].vue
- 顶栏去掉横向菜单底边框;修复切 Tab 顶部一级菜单高亮不跟随
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 11:06:21 +08:00
liuyun
b5d95c95d8
feat: dictionary & organization management pages
...
- 字典管理:左右分栏主从布局,20 个字典类型,el-scrollbar 滚动
- 组织管理:树形表格 + 上级组织 tree-select,级联删除下级
- ty-table 新增树形支持(row-key/tree-props/default-expand-all)
- ty-form 新增 tree-select 控件(format/treeData/treeProps)
- JsonSchemaProperty 扩展 tree-select 相关字段
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 10:44:06 +08:00
liuyun
35892486e8
feat: unified dialog manager (showDialog service + ty-dialog host)
...
- 新增 showDialog({component, props, title,...}) 服务,返回 Promise
- 内容组件 defineExpose({submit}) 校验并返回数据,校验失败对话框不关闭
- <ty-dialog /> 宿主挂 App.vue,统一渲染对话框栈(支持嵌套)
- ty-crud 改用 showDialog 打开表单(移除 ty-form-dialog)
- ty-form 增加 submit();用户管理页重置密码抽成独立组件 + showDialog
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 10:17:09 +08:00
liuyun
16b512a3f1
feat: config management page
...
参数配置页:纯键值 CRUD,复用 ty-crud + JSON Schema 零新组件。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 10:06:47 +08:00
liuyun
1df44fd57e
feat: complete multi-tab (fixed home, neighbor nav, right-click close)
...
- 首页 tab 固定不可关闭,tab 持久化(刷新保留)
- 关闭激活 tab 跳转到相邻 tab(而非最后一个)
- 自定义 tab 条 + 右键菜单:关闭其他/左侧/右侧/全部
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 10:04:06 +08:00
liuyun
d88b807638
chore: import full Element Plus CSS, narrow action column, format
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 09:59:43 +08:00
liuyun
d9f1a4d17e
feat: search inputs trigger search on Enter
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 09:53:26 +08:00
liuyun
1699fee4a8
fix: make inline el-form a flex container so search buttons align right
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 09:50:45 +08:00
liuyun
bc26c0aa93
feat: toolbar justify-between, selection, and card-fill list-scroll
...
- 搜索按钮置于表单最右(el-form--inline 设为 flex 容器)
- ty-crud 工具条 justify-between:左新增/#toolbar、右批量 #toolbar-right(selectedRows)
- ty-table 支持 selection 多选列 + selection-change
- 卡片铺满剩余空间、列表内滚动(shell 固定视口 + el-table height=100%)
- 用户管理页加批量删除示例
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 09:46:39 +08:00
liuyun
1ee3ed28a5
feat: search field width + collapse actions into dropdown
...
- ty-form 字段支持 width(行内默认 200px、弹窗默认 100%)
- ty-search-form 展开为多行高级搜索
- ty-crud 操作列数据驱动(actions 内置/自定义),超过 collapseCount 折叠为「更多」下拉
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 09:34:39 +08:00
liuyun
104b7678d3
feat: rename ty-form, add search form collapse, use UnoCSS @apply
...
- ty-schema-form 改名 ty-form
- ty-search-form 支持折叠/展开(collapseCount 默认 2,查询/重置置右)
- ty-table/ty-crud/ty-search-form 样式改用 @apply 工具类
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 09:27:55 +08:00