yelan
|
8c70f01e2e
|
feat(签署任务): 新增「待科室确认」节点整条链路
原型 V10.2 的 needConfirm:检验 / 基因检测 / 自费类文书要求患者签完之后
由科室再复核签章,避免漏签补签。此前仓库完全没有这个节点,现在补全。
状态模型
- SigningTaskStatus 增加 confirming(待科室确认),BackendSigningTaskStatus 增加
WAITING_CONFIRM;文档侧 DocumentRecord / TemplateResponseDto / SigningTemplate /
CreateSigningTaskInput 增加 needConfirm。
- normalizeTaskStatus、mapSigningTask、mapDocument、toBackendTaskQuery 的 statusMap、
mapAvailableTemplate、readLocalSigningTemplates 同步;needConfirm 取不到一律按 false,
不凭空给任务多插一道人工节点。
流转
- completeSigningTask 按 needConfirm 决定落 confirming 还是 signed;
新增 confirmDepartmentSigning(科室复核签章 → 已签署)。
真实模式暂未接入(后端要重做),如实提示"待接入",不前端自己改状态。
- 任务事件与记录页事件补「已推送至 X 确认队列」「科室复核签章完成,文档归档」两条留痕。
工作台
- 列表徽标走 .task-status--confirming(原型 tg-cfm 橙),状态筛选加「待科室确认」。
- 详情动作按原型给:🏛 科室复核签章(确认完成)+ 催办 + 在线预览 + 下载已签 PDF;
该状态下不给「作废」(原型只在待签署/已超时给)。
- 新增「科室确认节点」卡(待患者签署后 / 待科室确认 / ✓ 已确认三分支)——
原型放在文书签名区那一格,这里做成紧跟文书的独立卡,真实模板与回退纸样都能显示。
- confirming 时文书只读(患者已签完,不该再改填写项)。
- 签署完成提示语按 needConfirm 分流:需科室确认的说「已流转至科室确认节点」,
否则说「签署完成,文档已归档」—— 一律说"完成"会让人以为可以关页面了。
- 新增权限码 sign:task:confirm / sign:task:remind。
记录查询与报表
- 记录查询状态筛选与演示数据加该状态(2 条样本)。
- 报表 STATUS_LABELS / STATUS_COLUMNS / ReportStatusCounts / ReportGroupRow 加这一栏,
单独成列不并进「已签署」——并进去会让已签署虚高,科室复核本来就是这类文书的卡点。
- 时效样本按「有签署用时」取,待科室确认同样计入;总览统计块加一块。
演示数据
- 工作台补 task-009(confirming + needConfirm),否则该状态的徽标、动作、
筛选、报表栏在演示环境里一次都走不到。
- 注意:演示文库的麻精同意书**没有** needConfirm(原型里也确实没有),
所以「新建任务 → 签署 → 落待科室确认」这条流转靠探针夹具验证,没有改产品种子。
验证:probe-dept-confirm.cjs(新建)36/36 PASS,含真实落笔签署后落待科室确认;
回归 probe-new-task 104/104、probe-method-domain 14/14、probe-workbench-lib 42/42、
probe-report-analytics 92/92(断言按七状态更新);vue-tsc 与 eslint 0 错。
|
2026-09-26 20:09:00 +08:00 |
|
yelan
|
82acc03442
|
feat(签署工作台): 补代签标签、关联处方卡、线上等待态与只读副本
按原型 V10.2 详情页补齐四块:
- 任务列表「代签」标签(原型 .vtag.chk 橙底):SigningTaskRecord 增加
signerType / signerRelation,仅签署人非「本人」时显示。
有意偏离:关系为空时不输出空括号(原型会渲染成「家属代签()」)。
- 「关联处方」可折叠卡(原型 rxCard):新建 api/workbench/prescriptions.ts
统一处方来源,把弹窗里那份搬过来消除重复,并新增详情用的 7 列明细。
原型两处处方口径本就不同(弹窗按就诊号哈希、详情按任务号派生),分开维护不合并。
真实模式返回空 → 整卡不渲染,不显示空表(会被读成「系统查过了,确实没处方」)。
顺带按原型调了详情卡片顺序:文书 → 签署文件 → 关联处方 → 操作留痕。
- 短信 / 公众号待签署的等待态(原型 .tg-wait):号码取后端 smsMobileMasked,
没有值时不拼号码,不拿患者档案里的号码冒充发送目标。
- 已签署的「在线预览(PDF)」与「只读副本」:
预览弹窗复用 SigningDocumentInteractive(只读态),保证预览 / 工作台 / 导出 PDF
三处版式一致;只读副本走 signing-pdf 新增的 watermark 选项,
在 html2canvas 克隆体上平铺斜排水印,审计编号直接用任务号。
水印行数按克隆体 scrollHeight 算,写死行数会让长文书下半部分没水印。
|
2026-09-26 19:45:40 +08:00 |
|
yelan
|
f871613abe
|
feat(文档库): 补检查类型与关联项目标签并按关联项目编码搜索
按原型 V10.2 卡片上的两条信息补齐(此前完全没有对应字段):
- DocumentRecord / TemplateResponseDto 增加 examType 与 projectCodes(可选)。
后端当前不返回,声明为可选是为了它补齐后前端不用再改;取不到时整条标签不渲染。
- 卡片渲染「🔬 检查类型」标签(原型 .exam-tag 蓝底)与「关联项目」编码
(原型 .proj-code 紫底等宽),配色照抄原型。
- 搜索关键词纳入检查类型与关联项目编码,占位文案改为原型的
「搜索模板名 / 编号 / 科室 / 关联项目编码」。
- 演示种子补 projectCodes: ['PHA-NAR'](原型 library 里这份文书就是这条)。
刻意不给 examType:麻精同意书是告知类文书,本来就不挂检查类型,
演示里看不到这条标签是正确结果,不编造取值。
- mock.ts 的 toLocalDocument 是逐字段列出的,同步带上两个新字段,
否则演示文库保存一次,卡片上的标签就丢了。
|
2026-09-26 19:45:31 +08:00 |
|
yelan
|
7a94368bea
|
fix(签署任务): 固定选择文档区高度并调整患者输入聚焦行为
|
2026-09-25 14:27:21 +08:00 |
|
yelan
|
8ec55e48c9
|
feat(签署方式): 扩展为手写板/短信/Pad/公众号四种并集中口径
|
2026-09-25 12:09:58 +08:00 |
|
yelan
|
bd89a4d31a
|
feat(系统设置): 移除菜单资源图标展示并优化展开箭头样式
|
2026-09-25 09:15:19 +08:00 |
|
yelan
|
3542c77311
|
feat(系统设置): 按原型重做菜单资源设置并支持折叠控制
|
2026-09-25 08:47:15 +08:00 |
|
yelan
|
4fbca4f1a3
|
feat(系统设置): 新增签署设备与文档类型等设置分区并改为索引切换
|
2026-09-25 08:38:51 +08:00 |
|
yelan
|
81febbdc8b
|
feat(报表分析): 临时隐藏报表页顶部标题区
|
2026-09-25 08:13:30 +08:00 |
|
yelan
|
0d09a81799
|
Merge branch 'master' of https://gitea.xinyuxi.com/zhanggaoming/xh-medical-sign-web
|
2026-09-24 21:03:41 +08:00 |
|
yelan
|
78402859fd
|
feat(报表分析): 新增签署总览等四个报表菜单并拆分演示数据开关
|
2026-09-24 21:03:39 +08:00 |
|
yelan
|
abe7e17582
|
Merge branch 'master' of https://gitea.xinyuxi.com/zhanggaoming/xh-medical-sign-web
|
2026-09-24 19:52:30 +08:00 |
|
yelan
|
c4718a3912
|
feat(签署记录): 新增签署记录查询页并复用签署任务接口
|
2026-09-24 19:52:28 +08:00 |
|
yelan
|
53c6f05969
|
Merge branch 'master' of https://gitea.xinyuxi.com/zhanggaoming/xh-medical-sign-web
|
2026-09-24 17:08:14 +08:00 |
|
yelan
|
5ea79178cb
|
feat(签署文书): 统一签署态文书样式并精简演示种子为单份麻精同意书
|
2026-09-24 17:08:12 +08:00 |
|
yelan
|
9a6ac93e21
|
feat(signing): 将签署占位符改为原子节点并支持多选选项组
|
2026-09-24 12:13:24 +08:00 |
|
yelan
|
ec24e85829
|
feat(权限): 新增 v-permission 按钮级权限指令并移除前端权限别名
|
2026-09-24 10:44:00 +08:00 |
|
yelan
|
93fb5fd2c4
|
fix(signing): 修复长文书滚动布局
|
2026-09-22 10:31:08 +08:00 |
|
yelan
|
b967077873
|
fix(signing-editor-marks): 统一占位符样式并修复删除后 DOM 残留
自定义渲染器渲染钩子改走 data.attrs 挂类名与 title:data.class 会被
wangEditor 的规范化函数搬进 props 且到不了 class 模块(胶囊不渲染),
data.props.className 则因 props 模块只单向写入而摘不掉旧值,导致勾选框
退格删除后 DOM 仍残留 ms-sign-box 空壳。
同时移除必填标记相关的红角标、签名位专属橙色、插入按钮与「占位符检查」
面板里的 `*` / 「必填」文案,所有占位符共用一个样式。
verify-editor-marks.cjs 增加断言台账(PASS/FAIL 并反映退出码)、叶子结构
探针与退格删除回归,README 补充「踩过的坑 · 5」说明渲染通道的选择。
|
2026-09-18 16:40:08 +08:00 |
|
yelan
|
6034f4f8e2
|
fix(signing-pdf): 修复导出 PDF 丢失 flex 容器内容
|
2026-09-18 15:57:29 +08:00 |
|
yelan
|
11fe83d807
|
feat(签署文书): 通用文本项按出现位置独立成项并插入文本框占位符
|
2026-09-18 13:30:06 +08:00 |
|
yelan
|
d2cd3f2489
|
Merge branch 'master' of https://gitea.xinyuxi.com/zhanggaoming/xh-medical-sign-web
|
2026-09-18 13:03:26 +08:00 |
|
yelan
|
0d3eb2b9ad
|
feat(signing): 支持点击文中签名位就地采集签名
|
2026-09-18 13:03:25 +08:00 |
|
yelan
|
9062d0b3c5
|
feat(文档库): 编辑器内渲染占位符与勾选框胶囊
|
2026-09-18 13:03:11 +08:00 |
|
yelan
|
81530b5dd6
|
Merge branch 'master' of https://gitea.xinyuxi.com/zhanggaoming/xh-medical-sign-web
|
2026-09-17 16:51:29 +08:00 |
|
yelan
|
71be8fc215
|
feat(文书): 隐藏版本历史与删除入口
|
2026-09-17 16:51:27 +08:00 |
|
yelan
|
711860969a
|
Merge branch 'master' of https://gitea.xinyuxi.com/zhanggaoming/xh-medical-sign-web
|
2026-09-17 16:48:59 +08:00 |
|
yelan
|
97c5182ba4
|
feat(文书管理): 增加版本工作流与版本历史
- 模板状态按后端原始状态展示与筛选,待审核与已驳回分开展示
- 仅已发布模板可发起签署,新增提交审核/审核通过/驳回等动作
- 新增版本历史弹窗,复用统一的模板时间格式化方法
- 演示数据补齐已签署任务的签名图,并提供获取签名 dataURL 的接口
- 修复编辑器插入占位符时未定位光标导致内容落到文首的问题
|
2026-09-17 16:44:54 +08:00 |
|
yelan
|
81922d774f
|
feat(文档库): 打通模板正文真实模式并新增渲染验证
模板列表接口不返回正文,展示、编辑与发起签署前需再取版本详情获取 contentHtml,
为此新增 getTemplateContent、createTemplateWithContent、updateTemplateContent 与
deleteTemplate(归档),并在签署端按 contentSha256 缓存正文快照。
同时新增 scripts/login.cjs 与 scripts/verify-pages.cjs,通过真实登录与 CDP
渲染截图、断言关键内容并收集运行时错误,并补充 .gitignore、eslint 忽略与文档说明。
|
2026-09-17 14:10:45 +08:00 |
|
yelan
|
0d271d90be
|
fix(签署文书): 按字段分配页眉取值下划线宽度
|
2026-09-16 17:35:45 +08:00 |
|
yelan
|
51ec0f393d
|
feat(signing): 前端生成签署后 PDF 原型
|
2026-09-16 17:24:02 +08:00 |
|
yelan
|
2279f7a624
|
feat(signing): 统一演示文书库并支持下载签名原图
|
2026-09-16 17:15:10 +08:00 |
|
yelan
|
4556515c17
|
feat(签署): 文书作废状态展示作废章与文案
|
2026-09-16 17:00:53 +08:00 |
|
yelan
|
ecac2bc899
|
feat(signing): 文书签署页添加 HIS 患者信息页眉
新增固定页眉展示患者姓名、性别、年龄、住院号/门诊号,取值自动来自 HIS
快照,仅作只读展示不参与填写项统计与签署证据。同时按字段键去重填写
项进度统计,避免正文与页眉重复字段导致分母虚高;并在文书编辑器中提
示页眉由系统自动带出、Word 自带页眉不会被转换。
|
2026-09-16 16:49:20 +08:00 |
|
yelan
|
5361839cf2
|
feat(签署): 支持文书填写项与签名回显
|
2026-09-16 15:54:40 +08:00 |
|
yelan
|
b15df82be2
|
Revert "feat(布局): 重构侧边栏、顶栏与页面布局样式"
This reverts commit d0dc73c182.
|
2026-09-16 11:20:45 +08:00 |
|
yelan
|
d0dc73c182
|
feat(布局): 重构侧边栏、顶栏与页面布局样式
|
2026-09-15 17:36:16 +08:00 |
|
yelan
|
e45449b7c8
|
fix(用户管理): 修复角色权限面板滚动失效问题
|
2026-09-15 09:59:04 +08:00 |
|
yelan
|
fc22d22f85
|
feat(config): 按业务模块拆分 Mock 开关
用 VITE_MOCK_* 系列环境变量替换全局 VITE_USE_MOCK,各模块独立控制演示数据
启用,并新增 src/utils/mock-flags.ts 统一解析缺省值。文档库关闭演示库时
如实提示接口待接入,避免静默沿用本地数据或覆盖已保存内容。
|
2026-09-15 09:47:31 +08:00 |
|
yelan
|
c7da24cef6
|
feat(签署): 保存并还原患者勾选结果
签署完成时将患者勾选的条目固化到任务记录,重新打开已签署文书时还原勾选状态,重新发起签署则清空历史勾选。
|
2026-09-14 15:36:19 +08:00 |
|
yelan
|
d34ef0a0ce
|
feat(演示): 持久化 Mock 数据并打通文档库发起签署闭环
|
2026-09-14 14:28:51 +08:00 |
|
yelan
|
f4e2671da6
|
feat(文书编辑): 支持插入勾选框与占位符片段
|
2026-09-14 11:07:04 +08:00 |
|
yelan
|
5c5a8fc90b
|
feat(documents): 抽取签署文书渲染管线并新增签署预览
|
2026-09-14 11:06:58 +08:00 |
|
yelan
|
7478bf04f1
|
style(clinical-web): 调整文档编辑区页边距与占位符对齐
|
2026-09-14 10:34:21 +08:00 |
|
yelan
|
c9ea89d819
|
feat(editor): 精简医疗文书工具栏与悬浮菜单
|
2026-09-14 10:21:31 +08:00 |
|
yelan
|
ff67f88696
|
build(deps): 移除 ckeditor 和 tiptap 相关依赖
|
2026-09-14 09:38:24 +08:00 |
|
yelan
|
545326bd81
|
feat(signing): 签署任务固化文书 HTML 并交互化渲染
|
2026-09-14 09:13:07 +08:00 |
|
yelan
|
1b576c6095
|
build(deps): 添加 Tiptap 富文本编辑器依赖
|
2026-09-11 16:13:05 +08:00 |
|
yelan
|
7035c6f378
|
build(deps): 新增 CKEditor 与 TinyMCE 依赖
|
2026-09-11 15:28:18 +08:00 |
|
yelan
|
23d85cf8ce
|
build(clinical-web): 新增富文本编辑与 Word 转换依赖
|
2026-09-10 12:03:21 +08:00 |
|
yelan
|
7bea008680
|
refactor(documents): 文档库改用本地真实文书内容
|
2026-09-08 14:16:00 +08:00 |
|
yelan
|
e43a118dee
|
feat(document-permissions): 重构权限页面按模板接入真实接口
|
2026-09-03 10:24:28 +08:00 |
|
yelan
|
f9b556896b
|
fix(organization): 科室接口增加分页参数
|
2026-09-03 10:01:05 +08:00 |
|
yelan
|
612e43aeff
|
docs(reports): 更新报表接口接入文档与实现说明,报表分析接口接入
|
2026-09-02 16:51:35 +08:00 |
|
yelan
|
e52f203123
|
feat(workbench): 接入工作台首页概览聚合接口
|
2026-09-02 13:17:40 +08:00 |
|
yelan
|
e0e98ec74f
|
docs(clinical-web): 新增报表后端交付需求文档
|
2026-09-02 10:19:46 +08:00 |
|
yelan
|
03baddee0d
|
docs(management): document reports API gaps
|
2026-09-02 09:05:13 +08:00 |
|
yelan
|
ac581801eb
|
feat(management): align reports with signing APIs
|
2026-09-02 09:04:24 +08:00 |
|
yelan
|
eaae2b624e
|
docs(management): document user permission API gaps
|
2026-09-01 18:25:21 +08:00 |
|
yelan
|
fa42b89136
|
fix(management): align user permissions with API
|
2026-09-01 18:20:04 +08:00 |
|
yelan
|
dc86ee9149
|
fix(workbench): correct home overview aggregation
|
2026-09-01 15:34:59 +08:00 |
|
yelan
|
b4184260da
|
docs: document captcha and permission APIs
|
2026-09-01 14:50:50 +08:00 |
|
yelan
|
45971b62d9
|
feat(management): add API permission client
|
2026-09-01 14:50:40 +08:00 |
|
yelan
|
2963c6ea56
|
feat(auth): support captcha login
|
2026-09-01 14:50:29 +08:00 |
|
yelan
|
5b2cc33038
|
fix(signing): align workbench with MEDISIGN contract
|
2026-09-01 14:50:07 +08:00 |
|
yelan
|
8b4b9d031d
|
docs: 更新接口接入与环境配置说明
|
2026-09-01 10:14:23 +08:00 |
|
yelan
|
40cd313786
|
feat(patient-h5): 接入签署令牌与签名上传
|
2026-09-01 10:13:45 +08:00 |
|
yelan
|
e467f03f23
|
feat(management): 接入文档用户权限与报表
|
2026-09-01 10:13:11 +08:00 |
|
yelan
|
beeb98d18f
|
feat(workbench): 接入签署投递与产物管理
|
2026-09-01 10:12:22 +08:00 |
|
yelan
|
2e2d2250dd
|
feat(api): 接入医签通业务接口与类型
|
2026-09-01 10:11:49 +08:00 |
|
yelan
|
c34ef6f79a
|
fix(auth): 统一认证响应与异常处理
|
2026-09-01 10:11:03 +08:00 |
|
yelan
|
f4f40f0596
|
docs(signing): 补充真实接口接入说明
|
2026-08-31 16:09:15 +08:00 |
|
yelan
|
9c1b2f53a6
|
feat(signing): 接入工作台任务操作与审计
|
2026-08-31 16:08:47 +08:00 |
|
yelan
|
40b0a5d040
|
feat(signing): 接入患者与任务真实接口
|
2026-08-31 16:08:17 +08:00 |
|
yelan
|
1bc075d5d6
|
docs: add AGENTS.md development guidelines
|
2026-08-31 12:55:31 +08:00 |
|
yelan
|
a261a978f2
|
refactor(auth): 将认证状态迁移至独立登录 store
|
2026-08-31 10:58:05 +08:00 |
|
yelan
|
a5e0a80191
|
feat(auth): 接入 MEDISIGN 登录接口
- 新增认证 API、类型与本地会话存储
- 登录页改为真实账号密码登录并移除验证码
- 请求拦截器改用 X-Token 并处理 401 跳转
- 添加 Vite /api 开发代理配置
|
2026-08-31 10:50:01 +08:00 |
|
yelan
|
1e2ff79b0c
|
feat(clinical-web): 新增签署任务弹窗与文档库管理页面
|
2026-08-28 15:35:20 +08:00 |
|
yelan
|
2de75ed993
|
feat(workbench): 扩展签署任务管理功能
|
2026-08-28 10:02:51 +08:00 |
|
yelan
|
b533ab2a58
|
fix(context): share selected campus across layout
|
2026-08-27 17:09:32 +08:00 |
|
yelan
|
a61946b520
|
feat(home): implement workbench dashboard
|
2026-08-27 17:08:51 +08:00 |
|
yelan
|
4412a85adc
|
fix(layout): constrain clinical layout viewport
|
2026-08-27 16:49:39 +08:00 |
|
yelan
|
74df2ed741
|
feat(settings): implement system settings
|
2026-08-27 16:49:10 +08:00 |
|
yelan
|
ac8eff5286
|
feat(users): implement user and permission management
|
2026-08-27 16:48:41 +08:00 |
|
yelan
|
332fb53cfa
|
feat(reports): implement report analysis
|
2026-08-27 16:48:17 +08:00 |
|
yelan
|
94a0d88f8b
|
feat(permissions): implement document permission matrix
|
2026-08-27 16:47:55 +08:00 |
|
yelan
|
e7aa4843b7
|
feat(documents): implement document library management
|
2026-08-27 16:47:31 +08:00 |
|
yelan
|
24d8a9ece1
|
feat(clinical-web): 添加管理端与工作台 API 模块及类型定义
|
2026-08-27 15:35:36 +08:00 |
|
yelan
|
c89cc6f95b
|
chore(clinical-web): 删除未使用的样式文件
|
2026-08-27 14:47:10 +08:00 |
|
yelan
|
66dda39fa7
|
refactor(web): 按业务域重组页面目录并更新路由
|
2026-08-27 14:17:33 +08:00 |
|
yelan
|
71fc51f84f
|
refactor(web): 将全局样式迁移为组件级样式并抽取占位组件
|
2026-08-27 13:51:31 +08:00 |
|
yelan
|
7cd0f15135
|
style(clinical-web): 调整登录卡片间距与内边距
|
2026-08-27 13:27:42 +08:00 |
|
yelan
|
779f15d29f
|
feat(auth): 添加登录页与演示认证逻辑
|
2026-08-27 13:22:45 +08:00 |
|
yelan
|
4720f7e1a7
|
refactor(clinical-web): 重组布局组件目录结构
|
2026-08-27 13:10:09 +08:00 |
|
yelan
|
f181740fa5
|
chore(clinical-web): 移除示例组件 HelloWorld
|
2026-08-27 12:30:07 +08:00 |
|
yelan
|
59c4da21d5
|
refactor(clinical-web): 重构医护端布局与路由结构
|
2026-08-27 12:21:08 +08:00 |
|
yelan
|
36fa15487c
|
feat: 初始化医护端与患者端页面骨架
完成两个 Vite 应用的基础工程化配置、路由、状态管理及第一版业务页面,当前使用演示数据,尚未接入真实后端接口。
|
2026-08-27 11:27:16 +08:00 |
|
yelan
|
01827bf304
|
build(clinical-web): 添加 ESLint 和 Prettier 配置
|
2026-08-27 10:51:40 +08:00 |
|
yelan
|
3f27d4dd3a
|
chore: 初始化医签通前端项目结构与文档
|
2026-08-27 10:40:29 +08:00 |
|