yelan
|
431dd2cd6f
|
refactor(文书纸): 统一 A4 纸规格并收敛各渲染场景的纸宽与页边距
|
2026-09-27 13:54:15 +08:00 |
|
yelan
|
635e998946
|
refactor(文书预览): 移除文书内容页签与 raw 渲染模式,统一走签署态预览
|
2026-09-27 12:39:23 +08:00 |
|
yelan
|
07b27ad6ca
|
fix(文书签署): 渲染态填写项保留实线细框以区分系统填写位
|
2026-09-27 11:25:39 +08:00 |
|
yelan
|
397fc5cc93
|
refactor(签署工作台): 移除页面介绍区以精简布局
|
2026-09-27 09:47:59 +08:00 |
|
yelan
|
cc1ef72320
|
refactor(签署工作台): 按原型精简筛选条为日期/状态/搜索并改为输入即筛
|
2026-09-27 09:27:26 +08:00 |
|
yelan
|
3cb174ce0c
|
refactor(文书预览): 抽出统一的文书纸与预览弹窗,消除五处重复渲染
预览原先在 5 个地方各写一遍(文书库预览、编辑器签署预览、发起签署弹窗预览、
工作台在线预览、工作台文书区),基础排版已经分叉:表格边框 #52646e 与 #c8d7dd
两套色、单元格内边距 5px 7px 与 5px 9px 两个值、只有两处带宋体。
原型本身是「一处渲染(.paper + fillDocHtml)、两种外框」,这次按那个形状收口。
新增
- utils/document-paper.ts:基础排版的**唯一一份** CSS(p / h1-h4 / 表格 / 宋体)。
运行期幂等注入 head —— 因为同一份纸有两条渲染通道:v-html(吃全局样式)与
iframe srcdoc(隔离模板自带 style,只能吃字符串),各写一份必然漂移。
- components/document/DocumentPaper.vue:唯一的纸渲染器。
signing / raw 两模式、interactive、取值还原、☑☐ 就地切换、签名位请求采集、
填写项与勾选上报、getDocumentElement()(供导出 PDF)。
- components/document/DocumentPreviewDialog.vue:唯一的预览外框。
标题/副标题/徽标、可选页签、加载与错误态、纸舞台(浅色卡片 / 深灰 A4)、
#footer 与 #empty 插槽。
- styles/document-preview.css:页脚按钮等**插槽内容**要用的类。
插槽节点带的是父组件 scope id,弹窗的 scoped 样式命中不了 —— 与
signing-document.css 同一类问题,同一套解法。
迁移
- 文书库预览、编辑器签署预览、发起签署弹窗预览、工作台在线预览全部改走统一组件;
SigningDocumentInteractive 的纸换成 DocumentPaper,只留任务外壳
(横幅 / 作废章 / 填写项进度)。
- 删除四处基础排版副本;SimSun 与 :deep(table) 现在各只剩一处。
行为保持
- 文书库预览仍是两个页签(文书内容走 iframe 隔离、签署预览走 v-html),
没有正文时仍给占位版式(占位符写成 {患者姓名} 原始形态,不预填示例值)。
- 工作台预览的深灰 A4 舞台、页脚说明与两个出口按钮不变。
- 作废章原先是纸的兄弟节点、DOM 顺序在前,纸改成自带白底后会被盖住 ——
给章补 z-index,并在探针里加命中测试锁死。
验证
- 新增 probe-doc-paper.cjs:31/31 PASS。核心是**计算样式**断言
(边框色 / 内边距 / 宋体 / border-collapse),并断言文书库预览与编辑器预览
两份纸的样式**逐项一致** —— 只看 DOM 存在证明不了"只有一份排版"。
- 回归:probe-new-task 104/104、probe-workbench-lib 46/46(新增作废章命中测试)、
probe-dept-confirm 36/36、probe-method-domain 14/14、probe-report-analytics 92/92。
- vue-tsc 与 eslint 0 错。
净减 888 行(309 增 / 1197 删)。
|
2026-09-26 20:56:02 +08:00 |
|
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 |
|
xy
|
757145506e
|
feat(role): 展示角色人员列表
|
2026-09-24 20:37:15 +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 |
|
xy
|
f99bee4286
|
fix(认证): 修复首次登录改密跳转
|
2026-09-24 17:34:26 +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 |
|
xy
|
9145b57e6f
|
feat(组织架构): 完成员工与组织节点管理
|
2026-09-24 16:22:21 +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 |
|
xy
|
e5b5412322
|
feat: 接入权限接口
|
2026-09-24 08:31:21 +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 |
|
xy
|
b3283d1480
|
fix(documents): 修复文书科室名称显示
|
2026-09-18 10:00:50 +08:00 |
|
xy
|
8b1cbee16f
|
feat(documents): 接入文档库真实接口
|
2026-09-17 18:46:09 +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 |
|
xy
|
5cc6de004f
|
fix(build): 为构建资源添加发布版本标识
|
2026-09-17 16:49:56 +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 |
|
xy
|
61b4b19f55
|
fix(auth): 完善权限控制与强制改密流程
|
2026-09-17 16:33:09 +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 |
|