Commit Graph
81 Commits
Author SHA1 Message Date
ops 5534cd107a fix(ci): 构建容器名唯一化 + npm 走国内镜像源(避免并发互踩 exit 137) 2026-10-21 06:24:26 +00:00
ops 1e852c78be fix(ci): 构建容器名唯一化(避免并发构建互相 rm -f 致 exit 137) 2026-10-21 02:26:47 +00:00
ops 8392635571 ci: apk 源统一走 aliyun(规避 dl-cdn 时段性被拦卡 60s) 2026-10-21 01:36:57 +00:00
chenxing 4849b53541 [fix] 办理页隐藏「业务表单数据」:formDataJson 是托管模式条件路由入参,只留管理面办件详情
build / build (push) Successful in 3m59s
- TaskHandle 移除该区块与 formRows 计算(保留 formValueText 供业务信息回退行复用)
- 管理面 InstanceBody full 不变
2026-10-19 20:33:50 +08:00
chenxing 8853c0faa3 [fix] 办理页联调修复:业务信息只认 summaryFields / 业务详情用 bizUrlAbs / bare 态不叠遮罩层
build / build (push) Successful in 3m50s
- 业务摘要 → 业务信息:只渲染 bizSnapshot.summaryFields(label+value,口径同 InstanceBody),
  不再平铺英文键(summaryFields 曾渲染成 [object Object]);老数据仅回退 标题/摘要/附件
- 查看业务详情:独立打开改用后端解析的 bizUrlAbs(裸路径不再落到本应用 origin),拿不到不渲染
- bare 态(embed=1):同意改行内确认条、退回/移交改行内面板(Modal 在 iframe 内会与父页面弹窗套娃)
- bare 态流程轨迹默认折叠(父页面已有审批进度,同一份 trace 不同屏铺开两次)
2026-10-19 20:09:41 +08:00
chenxing ba448fc7a0 [v2.1] A 去壳任务办理:App 增 bare 任务形态(/task/*?embed=1 保 CAS 去布局),TaskHandle 办理成功/查看业务/高度变化 postMessage 回父页,bare 不跳工作台
build / build (push) Successful in 2m30s
2026-10-19 16:50:49 +08:00
chenxing 04fd54e945 [audit] P6.6 F6 前端指派选择器共享组件(纯新增备用件:collect/validate/watch 重拉 + applyPreview API 预置;未接入页面)
build / build (push) Successful in 7m44s
2026-10-18 08:24:08 +08:00
chenxing c7e7a7aa85 [audit] P6.3 F5-4 重跑确认框改 Modal+复选「按当前已发布流程定义重跑(救僵尸办件)」 2026-10-18 08:18:28 +08:00
chenxing 33500e23d6 [audit] P6.1 F11-4 台账状态筛选增「路由挂起」伪选项 + 行状态列 routeHung 红标 2026-10-18 08:06:10 +08:00
chenxing 650665224c [ysch-flow] S2.1 修向导④条件查看按钮(P0,Vue3 render 形态)
Onboarding 向导④流程清单的「查看条件」入口断裂两处:Button 未从 view-ui-plus 导入,
且 render 用了 Vue2 的 { props: {...}, on: { click } } 形态——Vue3 h() 把它们当普通
prop 名传入,点击不绑、type/size 全丢,变量契约自查入口因此不可用(实测报告缺陷#2)。
改为 h(Button, { type, size, onClick }, () => 文本);同仓 AppSetting「查推送日志」列
同一写法残留一并修正。npm run build 绿,diff 仅涉事 2 文件 4 行。
2026-10-17 23:06:57 +08:00
chenxing 98ea069691 feat(onboarding): 接入向导五步页 + 配置生成器(议题二 P1)
build / build (push) Successful in 1m58s
把子应用接入从「人背文档 + 逐字对齐字符串」变成「向导引导 + 机器生成正确配置 + 每步可自检」。

- Onboarding.vue:五步(应用档案 / 工程接入 / 回调注册 / 流程编排 / 联调验收),步骤条可任意跳转不强制线性
- STEP② 配置生成器为核心:按「端点形态(平台验签式/X-Flw 式)× 接入场景(新接入/存量升级)× ① 的 context-path/bizType」实时生成 yh.flow-callback 块、Maven 依赖、FlowCallbackHandler 骨架。X-Flw 式追加「端点第二段非 oapi、必须显式 callback-url 直连」警示;无 ctx 时 base-path 整行注释。对齐规范 §7.2 推导式
- 前置条件清单把散落文档里的前置变成可勾选待办;Redis 公共组件与 trust-registry 两条高危静默断点红底强调
- STEP③ 登记检查:私网/开发机地址、base_path 漏填、与声明的 target 不一致逐条判定给修复建议;「发一条 flow.ping」复用 callbackProbe
- STEP④ 变量契约显性化:解析 contentJson 取 CONDITION 节点出边表达式,与已知变量(近 50 条办件 formData 聚合 + 内置 8 个,口径同编辑器)核对,引用从未出现的键即警示「运行时会挂起」
- STEP⑤ 六项自检 + 一键生成 markdown 自检报告(纯前端拼装不落库)

数据源全部复用已有接口(appList/regList/callbackProbe/defList/defGet/callbackLogs/adminInstances),零新增表、零新增写接口。路由 /admin/onboarding(modId 108,需 UserBase 配 app_module)。vite build 通过,产物已构建进 front/dist/。
2026-10-15 15:50:08 +08:00
chenxing 1369b103ee feat(condition): 条件路由变量契约收口 + 子应用对接健康度面板(议题一 P0/P1 + 议题二 P2)
build / build (push) Successful in 2m51s
议题一(条件路由体验收口):
- 编辑器动作入口上移顶栏与「保存草稿」同排,右栏「快捷入口」整块删除(流程图痛点 7)
- 发布期变量引用静态校验:validateModel 增加 knownVars 参数,出边表达式引用未在已知变量中的标识符给 warn 级提示。只提示不阻断——拼错与「运行时才有的动态变量」在静态期无法区分,宁可放过
- CONDITION 判断方式文案业务语言化:「服务(外部判断接口)/表达式」→「到达该节点时才能确定/提交时就已确定」,各补一行说明;syncFromNode 取值归一化逻辑未动,零兼容风险
- 内置 8 变量与表达式变量提取抽到 def-editor/model.ts 单一来源(EXPR_BUILTIN_VARS/extractExprVars/unknownExprVars),ConditionBox 与 ExprEvalModal 改为消费,去掉两份本地重复实现

议题二(子应用接入健康度):
- AppSetting.vue 新增 tab3「对接健康度」:每应用一行(评分色块/结论/六项检查 chips/结论说明),问题应用 bad>warn>ok 置顶;首次切入该 tab 才请求,避免进页面就多打一次聚合查询
- Callbacks.vue 新增 appKey 筛选框 + query.appKey 预填,承接健康度面板「查推送日志」跳转
- api 层新增 callbackHealth()

数据来源为已有资产(flw_callback_reg / flw_callback_log),零新增表。对齐《子应用接入流程中心规范.md》§4.2/§7 与《条件路由与子应用接入-痛点调研-20261014.md》。vite build --mode base 通过,产物已构建进 front/dist/。
2026-10-15 14:51:04 +08:00
chenxing 0542279636 feat(condition): 条件表达式内联变量 chips(议题一 P0)
编辑器出口表达式下展示可用变量(近期 50 条办件 formData 顶层键聚合去重截 40 + 内置,口径同调试弹窗),点击插入光标处;未知标识符内联提示疑似拼错(仅提示不拦截,去字符串/函数名/属性访问后比对)。EditorCtx 增 availableVars,index.vue 载入一次(拉取失败退化为仅内置,不阻塞编辑)。vite build:base 通过。
2026-10-14 18:18:42 +08:00
chenxing fbd428b913 chore: 实施前基线快照(条件路由/接入改造前)
表格加载去图形资产:删除 public/assets 下 loading.gif,.table-spin-load 改用 .ysch-spin(CSS 通道,随 --brand),TablePage/Alova/AlovaNew 三处同步。
2026-10-14 18:12:32 +08:00
chenxing 859210bf07 fix(def/ui): 「生效/在途」列 190→240——列内有 render(Tag 组件)时,用 innerText 克隆估宽会漏掉 Tag 自身的 padding/间距,实测两徽标并排真占 94+16+77=187px,+单元格内边距 36 需 ≥223,190 会换行成两行
build / build (push) Successful in 2m26s
2026-10-14 16:57:03 +08:00
chenxing 6998152c88 chore(ci): 空提交触发前端重建——上一次构建(Gitea task 1491, commit 26d9314)在 npm ci 阶段被并发任务杀死(exit 137):本仓与 aca-syllabu-front 的 build workflow 都用固定容器名 frontbuild,对方 08:33:39 的 docker rm -f frontbuild 把我的容器干掉(日志时间戳对齐)。代码零改动,仅重跑构建
build / build (push) Successful in 2m9s
2026-10-14 16:50:04 +08:00
chenxing 26d93148dc fix(def/ui): 子表列宽再校正——创建时间 150→160(实测该单元行盒=2 仍折行;同文案在主表「发布时间」160 下已证单行)、创建人 100→110(留长登录名余量);VERSIONS_TABLE_WIDTH 880→890
build / build (push) Failing after 39s
2026-10-14 16:32:48 +08:00
chenxing 070f2f5ee8 fix(def/ui): 列宽按实测校正(上线后复验发现 200 不够,guid 仍折行)——GUID 200→320(32 位 guid 单行实测最宽 265px + 单元格左右内边距 36px = 301)、编码 160→200(实测 155+36=191)、子表创建时间 140→150(实测 101+36=137)、生效/在途 230→190(实测 134+36=170,收紧);平铺态同步 GUID 320 / 编码 200
build / build (push) Successful in 2m27s
2026-10-14 16:24:08 +08:00
chenxing 8962dac7d2 fix(def/ui): 分组态列表六项样式——①固定列层容器 pointer-events:none(根因:fixed:right 固定层在展开行只渲染 visibility:hidden 占位格,命中测试落到其 <table> 上,吞掉子表「更多」等控件的 hover/click,表现为看得见点不动);②标题列定宽 260 + ellipsis + Tooltip(列上写 render 时 iView 内置 column.tooltip 不生效,故手挂 Tooltip;并补 .ivu-table-cell-ellipsis 内 Tooltip 两层包装降级 inline——否则省略号变硬裁切,无头 Edge 实测);③当前生效/在途 两徽标拆出独立列「生效/在途」(230);④GUID 列 130→200,32 位 guid 全显不再截 8 位;⑤主操作列 140→190(140 装不下「版本历史+编辑信息」138px 内容);⑥展开仅响应左侧箭头(Table on-expand,行内点击不再切换);另:子表「改动说明」压到 260+Tooltip,并给内层 Table 传 width=870,避免 iView 把展开行余宽摊回该列(顺带让子表右端不再压到固定条带下方)
build / build (push) Successful in 2m59s
2026-10-14 16:13:50 +08:00
chenxing 0a060ab22a feat: 审批节点发起时指派配置(开关/单选多选/必选)与转换无损
build / build (push) Successful in 5m34s
2026-10-13 12:05:22 +08:00
chenxing ec810afd14 fix(trace): 科室视图抄送行遮蔽——新增 utils/flowTrace.ts(collapseCcRows 按 nodeId#round 折叠 CC 行记 ccCount、ccActorText 科室显 deptName‖短码/其余显"抄送对象"、不回落姓名;user/缺省档原引用直返);TraceTimeline/InstanceBody 三视图接折叠与 CC 分支(时间线由组件内折叠、节点/列表走 displayTrace 防二次折叠);EmbedInstance 头部补流程 nodeSummary。真机三视图走查并入全流程重走 P2-E
build / build (push) Successful in 1m57s
2026-10-12 20:45:41 +08:00
chenxing e01ef87380 fix(def/ui): 验收审计补丁——调试弹窗内置变量口径与 chips 区分;分组态空 flowGuid 兜底
build / build (push) Successful in 1m56s
- ExprEvalModal:内置变量条 submitterId 改显真实 id(原用 submitterName 冒充,用户照抄进
  样例 JSON 会填错类型);可用变量 chips 区分内置变量(灰底,对齐原型 .chip.bt)并让手动模式
  同样提供内置键(原型 S5「内置变量同款可插」);chips 去重,避免 formData 键与内置键同名重复。
- Defs:分组视图空 flowGuid 行不再被整体丢弃,各自单列一行;openMap 改用合成 key(__noguid__{id})
  防止与其他行共用 "" 键互相牵连;GUID 列空值显示「—」。
- 验证:npm run build 通过(1m16s,产物含 Defs / ExprEvalModal chunk);
  npx tsc --noEmit 48 条与既有基线完全一致、本次改动文件 0 条。

来源:流程中心改造-验收审计报告-B2-B6-20261012.md §三.3c / §三.5
2026-10-12 18:03:34 +08:00
chenxing 94f263d489 feat(condition): 新建条件分支缺省翻转为表达式(EXPRESSION 主路径)——抽屉初值+createCondition 默认;SERVICE 分支补提示文案(仅实时业务数据场景使用,端点与登记由流程中心接入件 starter 代办);来源列注释订正 starter 名 2026-10-12 17:13:21 +08:00
chenxing adcdd1217e B4 补充:办件下拉给 Option 显式 label(#id 标题),filterable 搜索与选中回显不依赖槽内富文本 2026-10-12 17:09:33 +08:00
chenxing b96d3d6451 B4+B5 表达式调试三模式弹窗(共享组件)+ 编辑器出口内联试算
- 新增 views/flow/components/ExprEvalModal.vue(原型 S1-S5,宽 560→700):
  1) 从办件导入:adminInstances(page1,size50) 的 filterable Select(#id·bizType/bizId·标题·提交人·时间+状态Tag)、
     bizType distinct chips 筛选、选中即 formData 解析缩进填充(解析失败填原文+红字)、内置变量只读条
     (instanceId/instanceVersion/bizType/bizId/submitterId;nodeId/nodeName 提示按调试目标自填;schId 不展示)
  2) 从路由日志导入:detail(instanceId) 取 kind=ROUTE 行,表格 节点名/注册键/命中出口(空=未命中)/attempt/时间
     + 每行 rawResponse <pre>(>200 字截断、title 全量、无留痕显示「(无留痕)」);
     「载入该办件变量并复现」= 填 formData + 保留表达式再求值;无 ROUTE 行给空态文案
  3) 手动编写:原 textarea 语义保留 + 最近 50 条办件 formData 键聚合 chips(点击插光标处)+ 引导文案
  可用变量 chips 点击插入表达式光标(selectionStart/End,无焦点退化追加);求值仍走 /admin/router/eval,
  结果区四态文案(true/false/error/未求值)含线上行为说明与「宁挂起不误放行」口径
- Routers.vue:删旧内联求值弹窗(evalForm/evalResult/doEval),改挂 <ExprEvalModal v-model="exprVisible">
- ConditionBox.vue(B5/S6):EXPRESSION 模式出口表达式行右侧加「试算」小钮(@click.stop 不触发容器交互),
  带该出口表达式打开同一弹窗

注意:本提交连带纳入了并发会话在 Routers.vue 的 6 行「来源」列改动(regAppKey 自注册标识,
属 SERVICE 收口工作),非本批次内容,review 时请单独留意
2026-10-12 16:35:26 +08:00
chenxing dda7336323 B3-2 编辑器顶栏精简 + 底部状态栏退役(配 B3-1 面板,两步提交可单独回滚)
- 顶栏只留 返回/「流程编辑器」/状态 Tag + 右侧「保存草稿」(名称/编码/应用三个输入框从 hd-mid 迁走,
  双向同源仍是 model.name/model.code/appKey 同一 ref)
- 删 footer.ed-status:错误/警告汇总进右面板分区3,「保存仅生成草稿;发布校验以后端为准」并入分区2 提示行
- 顺带删 .hd-mid/.ed-status/.st-* 死样式;.ed-canvas 加 min-width:0(1360px 档不出横向滚动)

验证:npm run build 通过
2026-10-12 16:21:54 +08:00
chenxing f0ec500348 B3-1 编辑器右信息面板 + 校验清单定位(先加面板,保存链路不动)
- index.vue:画布与面板包进 .ed-body(flex row),新增 aside.ed-info 五分区——
  流程信息(名称/编码/归属应用,与画布同源同一 ref,编码沿用 !!editId||!!baseGuid 禁用)/
  状态与版本(状态 Tag + v 版本号 + flowGuid 等宽 + 复制,新建态显示「保存后生成」)/
  校验问题清单(错误在前警告在后,项内 path+msg)/ 结构统计(walkItems 递归四类计数)/
  快捷入口(流程设置/源码/图示预览,:disabled=!editId 同现状)
- sourceFlowGuid ref:load() 里 defGet 后取 d.flowGuid,新建态空串
- locateIssue:清单项点击 scrollIntoView 居中 + .nd-locate 高亮 2.8s;三张卡片根元素加 :id="'nd-'+node.uid",
  uid 为空的清单项 class=fix 不可点;高亮样式走 :deep(卡片在子组件内)
- 画布左对齐:.ed-canvas align-items center→flex-start

验证:npm run build 通过;npx tsc --noEmit 48 条=基线无新增;convert 往返 ALL PASS
2026-10-12 16:19:51 +08:00
chenxing 5cf1ce8d1f B2 议题二前端:版本历史补全 + 升版本改动说明 + 列表分组 + 在途可见
- Defs.vue 版本历史弹窗 640→820,补 创建人/创建时间/改动说明 三列(存量说明显示「(未填写)」)
- def-editor 升版本保存弹「本次改动说明(可跳过)」:doSave 入口设闸(!editId&&baseGuid 或
  editId&&sourceStatus!==0),主体抽成 submitSave(changeLog) 防递归;常用类型 chips 分号追加,
  500 字上限;跳过与填写两条路径都放行并按说明有无区分 toast;草稿直改不弹不传
- Defs.vue 列表默认分组态(同 flowGuid 折叠一行,代表行=已发布最高版,无已发布标「无生效版」),
  展开行复用 rowActions;可切「显示全部版本」回现状平铺
- 在途(议题二④):defList 落位后批量取 distinct flowGuid → 新接口 defInflight,
  分组行/平铺 GUID 旁展示「在途 N 件」(0 也展示,接口失败降级「—」);停用确认 N>0 追加在途文案
- flow.ts:defSave 加 changeLog 入参、新增 defInflight(未跑 api:gen,按方案手工改)

验证:npm run build 通过;vue-tsc 1.8.27 与 TS 5.9.3 不兼容无法作门禁(另记)
2026-10-12 16:14:32 +08:00
chenxing ecd082bb99 fix(def-editor): 空出口分支(直接通过)往返支持——解析不再造无审批人占位卡(曾致打开即报"未选择科室映射"且保存凭空加节点改语义);序列化空分支=起点→汇合点命名+条件直连边(Tail 携带出口属性);校验空分支降为 warn(并行分支保持 error:后端禁 SPLIT 直连 JOIN);ConditionBox 空分支渲染"直达汇合点"提示。convert 往返 64/64(新增空分支/空泳道 6 例+修正 1 处过期负例文案)
build / build (push) Successful in 1m53s
2026-10-12 11:29:07 +08:00
chenxing 2a1ec48b25 feat(workbench): 四页签加「按应用筛选」(appKey)+页签重排(我提交的→3、抄送我的→4)
build / build (push) Successful in 1m52s
列宽/展示:待办办件标题 minWidth 220→160、四页签时间列 170→190、已办意见列
ellipsis+tooltip(长意见单行截断 hover 看全文);应用管理停用态 Tag 改用 iView
默认样式(原 gray 非预设色)。应用筛选下拉数据源同流程定义页(flw_app enabled=1)。

门禁:vite build ✓;vue-tsc 本机不可用(TS 5.9.3 与 vue-tsc 1.8.27 不兼容)
2026-10-12 11:25:58 +08:00
chenxing 955c1e55f6 feat(def): 归属应用必填化——编辑器保存校验+必选标记,列表未归属标记
build / build (push) Successful in 2m33s
配合后端 save 必填化(2026-10-12 拍板):
- def-editor:保存前校验归属应用非空(新建必选;升版本/存量草稿继承源行,
  源行未归属必须补选),头部 Select 改必选样式
- Defs.vue:应用列存量 NULL 行显示「未归属」橙色 Tag;「编辑信息」弹窗
  归属应用改必填(原地补填通道)
2026-10-12 10:44:17 +08:00
chenxing 9f80630db3 fix(workbench): 待办列「提交人」显示真实提交人
build / build (push) Successful in 1m59s
- 列头本为「提交人」,但 render 回落 assigneeName ⇒ 每行显示的都是当前办理人(=用户自己)
- 去掉错误兜底改取 submitterName(后端本次补齐该字段),空值显示 "-"
2026-10-12 10:27:39 +08:00
chenxing fdc661f509 feat(workbench): 我的办件并入工作台为「我提交的」页签
build / build (push) Successful in 1m58s
- Workbench.vue 新增第4个页签「我提交的」,迁移原 MyInstances 列表(状态筛选/业务类型/详情·撤回·催办),惰性加载,默认页签仍为我的待办
- 删除独立路由 /my (modId 101) 及 MyInstances.vue
- 提示:UserBase 侧 app_module 的 modId=101(我的办件)需另行清理
2026-10-12 10:13:31 +08:00
chenxing ff1c50931a feat(callback/app): 回调管理增强——注册操作列加「探测」(width 140→240 修复挤压溢出)+探测结果弹窗;推送日志加详情抽屉(完整 payload pretty JSON+响应摘要+重试链);应用管理加搜索框+回调注册数列+停用二次确认
build / build (push) Successful in 2m1s
2026-10-11 22:40:56 +08:00
chenxing 8506ad80d7 feat(detail): 列表详情改为抽屉弹出+业务信息只认 summaryFields
build / build (push) Successful in 3m11s
- 新增 InstanceDrawer.vue(Drawer 740px + InstanceBody full 口径,非 iframe)
- Workbench/MyInstances/admin.Instances 详情按钮改为打开抽屉
- InstanceBody 移除 snapshotRows 回落,业务信息只显示子应用传递的
  summaryFields(中文 label),无值整块隐藏不再平铺英文 key
2026-10-11 12:01:43 +08:00
chenxing ecd4b9f4ea refactor(detail): 办件详情与嵌入页整合共用 InstanceBody——详情页升级三视图+流程信息五项+表单数据,嵌入页表现不变
build / build (push) Successful in 2m55s
2026-10-11 11:24:09 +08:00
chenxing a998e455d2 fix(ui): 用户验收反馈 R2——单卡片骨架+实测高度对齐 Notice、应用管理启用/停用、Tag 真组件、科室行 deptKey、成员多选、顶栏去房子图标钮
build / build (push) Successful in 4m4s
2026-10-10 22:42:58 +08:00
chenxing affb1bdeb7 fix(ui): tab 改线型对齐 Notice;操作列 when→disabledWhen 置灰保位(用户验收反馈 R1)
build / build (push) Successful in 2m8s
- 工作台/回调管理两页 Tabs 去 type=card,改通道线型 .tabs-panel(对齐 Notice)
- 7 页 14 处按行隐藏动作改 disabledWhen 置灰保位(互斥钮恒一灰一活),
  规范 §5.2 新增按钮位置稳定性红线:按行变化一律 disabledWhen,when 仅限行无关全局模式
2026-10-10 21:47:30 +08:00
chenxing 43753f4f59 refactor(theme): A 类主题通道接入+本地样式回收、操作列统一 actionColumn、顶栏三态头像
build / build (push) Successful in 2m9s
- P1 通道:view-ui-plus 锁 1.3.24(A 类 loader + vite /static dev 代理核验,五档/断源降级走查)
- P2 回收:删本地 layout.css/icons.css(+bak) 并清 main.ts import;骨架六类对齐 + 品牌色 var(--brand) 化;index CSS 779→393kB
- P3 操作列:新增 utils/tableActions.ts(同构 UserBase,7 函数+2 表,无 AUTO_MODE);7 页迁 actionColumn text 形态;旧 operatingHandle/operatingTextHandle 薄封装保留、签名不变
- P4 外观:接入三态头像 avatar.ts+UserAvatar.vue(同步自 YschTheme),顶栏裸 img 替换;外观三键红线零写
- 失效注释订正(layout.vue/def-editor)
2026-10-10 21:24:39 +08:00
chenxing ed5f818c1a feat(dept): 应用设置-科室管理 tab(组+成员维护+一键拉取);办理人映射页下线
build / build (push) Successful in 2m3s
- AppSetting tab2:科室表格(成员维护 Modal 复用 UserSelectInput/改名/停启用/删除)+ 拉取预览确认导入
- 编辑器科室下拉/校验数据源切 deptList(停用科室不进下拉);Maps.vue 与 104 路由删除
- flow.ts:dept 系列 API;map 系列 CRUD 删除(保留 mapLookupUser 选人检索)
2026-10-10 19:48:00 +08:00
chenxing f835965e29 feat(def): 流程定义列表增「编辑信息」弹窗(原地改名称/归属应用)+ 编辑器非草稿进入提示
- 弹窗限 name+appKey(当前 appKey 不在启用集时兜底选项提示);保存后 version 不变
- 编辑器打开已发布/停用时提示:结构改动将升版本,仅改属性请用「编辑信息」
2026-10-10 19:23:45 +08:00
chenxing e8f9af534b feat(app): 应用设置页(107)+ 流程定义/编辑器应用下拉改读白名单显示应用名
- AppSetting.vue:tab1 应用管理(学校池同步说明+开关 i-switch);tab2 科室管理占位(Part E)
- Defs.vue 筛选下拉与表格应用列显示 appName;编辑器归属应用下拉去 allow-create、限启用集合
- flow.ts 增 appList/appEnable(defAppKeys 保留 deprecated)
2026-10-10 19:17:39 +08:00
chenxing acbf601e7a feat(condition): 编辑器支持表达式判断——判断方式切换 + 出口条件就地编辑 + 表达式调试
- ConditionNode 增 judgeMode/conditions(SERVICE 缺省,旧定义天然兼容);DefEdgeJson/DefNodeJson 透传 condition/judgeMode
- convert.ts 双向透传:CONDITION 分支首边带 condition,序列化顺序=分支顺序(求值优先级保序)
- ConditionDrawer 判断方式 Radio(服务/表达式);ConditionBox 表达式模式分支头部条件输入(序号即优先级)
- validate.ts 镜像校验:表达式模式每出口条件必填(语法由后端发布期拦)
- Routers 页加「表达式调试」Modal(/admin/router/eval,与线上同一求值核心)
- addBranch/removeBranch 同步维护 conditions 占位
2026-10-10 18:52:54 +08:00
chenxing a4cc8ea2fa fix(flow-embed): 口径切换器改「人员视图/科室视图」,与视图切换器同排常驻
build / build (push) Successful in 1m57s
- 文案:按人员/按科室 → 人员视图/科室视图
- 排列(方案 A):口径切换器移入 .embed-sec-h 标题行、紧跟视图切换器
  (.embed-mode-seg margin-left:14px,与父级 10px gap 叠加为 24px),不再独立成行右对齐
- 常驻修复:原在 <template v-if="viewMode==='node'"> 内 ⇒ 切到时间线/列表即消失,
  但口径对三视图都生效(时间线走 :mode、列表办理人列走 recordActor)⇒ 移出模板、三视图常驻
- CSS:删除已无引用的 .embed-mode-row;新增 .embed-mode-seg 并显式 font-weight:normal
  (同 .embed-view-seg:落在 .embed-sec-h(600) 内会继承粗体)
- 版式宽 740 下实测:标题 68 + 视图组 187 + 口径组 156 + 间隔 24 = 435 < 可用 700,不溢出
2026-10-10 17:56:14 +08:00
chenxing 8bd8fcc57a fix(flow-embed): 视图切换器字重对齐——不再继承 .embed-sec-h 的粗体
build / build (push) Successful in 1m53s
- 根因:.embed-sec-h{font-size:14px;font-weight:600} 会被其内的 RadioGroup 继承,
  「按节点/时间线/列表」呈粗体;而下方「按人员/按科室」在 .embed-mode-row 内为常规 ⇒ 两处
  同为 iView small button group 却看着不一致。管理面同款控件早有此写法(InstanceDetail.vue:183、
  TaskHandle.vue:307 的 .trace-mode{font-weight:normal}),嵌入页漏了这条覆盖
- 改法:.embed-view-seg 显式 font-weight:normal,按「按人员/按科室」那档统一
- 像素取证(用户截图 867x466 @DPR1.25):两盒几何一致(「按节点」与「按人员」同宽 66.4 CSS、
  高 30px),配色一致(活动态边框+文字 #0d9488、非活动文字 #515a6e、非活动边框 #dcdee2);
  唯一差异是文字像素密度 2.1~3.1 倍(按节点 249 : 按人员 79;时间线 245 : 按科室 117)⇒ 纯字重差异
2026-10-10 17:39:30 +08:00
chenxing 32b01f9bf3 fix(flow-embed): 嵌入页旁路全局 body min-width——740 抽屉里整体右偏/右侧被裁
build / build (push) Successful in 2m0s
- App.vue:/embed/** 路由下给 body 置内联 min-width:0(内联优先级高于样式表),
  离开嵌入路由 removeProperty 回落到原值;不动全局样式表,管理面零影响
- 根因:isEmbed 只旁路了组件壳(layout / base-wrap-main),管不到全局 CSS——
  assets/styles/base/_base.scss:13 的 body{min-width:1200px} 让 740px 的 iframe
  仍按 ≥1200px 排版,表现为可见区里所有元素整体右偏、右侧被裁
- 实测(截图 1910x873,DPR 1.25):.diagram-img 外框左边 1540px=1232 CSS,
  按 1200 布局反推 1237;开始按钮中心 1749px=1399 CSS,按 1200 反推 1400;
  按 740 布局应为 1000 / 370 —— 两条独立测算都落在 6px 内,1200 布局成立
2026-10-10 16:23:41 +08:00
chenxing c189ad70a7 feat(flow-embed): 办件进度嵌入页 v2.4 改版——三视图 + 折叠块 + 业务摘要
build / build (push) Successful in 2m11s
- 「办理进度」三视图(按节点默认 / 时间线 / 列表),节点内办理人保持后端顺序
- 「流程示意图」「业务信息」各为折叠块、默认收缩;业务信息只渲染 bizSnapshot.summaryFields,无值整块不渲染
- 删「业务表单数据」Card 与 bizSnapshot/formDataJson 平铺
- 办理人行动作用页面内展示层映射(已提交/已同意/待审核…),不改全站共用的 TASK_STATUS
- TraceTimeline 增可选 statusText prop(不传=原行为,管理面零影响)
2026-10-10 14:56:37 +08:00
chenxing 570eec74ff feat(def): 流程定义按应用筛选——列表应用列+筛选下拉、编辑器归属应用选择
build / build (push) Successful in 5m37s
- Defs.vue:工具栏"按应用筛选"下拉(/def/appkeys 数据源,clearable/filterable)+ 应用列(空显示 -)
- 编辑器:头部"应用"Select(clearable/filterable/allow-create,可手输新值),载入回显、保存透传 appKey
- defList 支持 appKey 可选参数、新增 defAppKeys;新参数全部可选,与后端部署顺序无依赖
2026-10-10 14:34:33 +08:00
chenxing 1a07c2f39a fix(diagram): 嵌入页补滚动容器(裸渲染页被全局 body overflow:hidden 裁剪无滚动条)+ 流程图 PNG 按逻辑尺寸显示(SCALE=2 图按自然尺寸渲染整体放大一倍,四处 PNG 消费点统一走 fitDiagram)
build / build (push) Successful in 3m46s
2026-10-09 22:09:48 +08:00
chenxing 053eb0047b feat(diagram): 前端竖排镜像——edgePath/标签锚点方向自适应(发布顺序无关)、名单 2 行 tspan+等N人、补 instance 图例、auto-fit 与 375px 适配
build / build (push) Successful in 3m30s
2026-10-09 19:42:51 +08:00