Commit Graph
25 Commits
Author SHA1 Message Date
chenxing 5b83fd7144 feat(embed): 嵌入页新增审批记录完整流水表
build / build (push) Successful in 3m42s
2026-10-03 23:52:11 +08:00
chenxing d3a2b08ba2 feat(embed): 新增办件进度嵌入页与无鉴权旁路 2026-10-03 16:51:29 +08:00
chenxing 79866a05e1 fix(flow-editor): NodeList 插入的 OutletLanes 独立 v-if,修被截断的 NotifyCard 条件链(浏览器冒烟发现:无出口审批落进 ConditionBox v-else 分支致 vnode 崩溃) 2026-10-03 16:12:00 +08:00
chenxing 138cb36800 chore(flow-editor)!: 移除 bpmn-js 依赖与画布文件 2026-10-03 15:13:35 +08:00
chenxing ffa196954e refactor(flow-editor)!: 删除画布模式,卡片树成为唯一编辑形态 2026-10-03 14:13:37 +08:00
chenxing 656c0d1bf5 feat(flow-editor): 多出口泳道 UI(抽屉开关+出口路由容器+分支增删/恢复单出口) 2026-10-03 14:09:02 +08:00
chenxing 16717a0867 feat(flow-editor): 多出口审批实时校验(非空唯一/数量上限/泳道递归) 2026-10-03 14:06:19 +08:00
chenxing 2dd7135753 feat(flow-editor): convert 双向支持多出口审批(命名出边⇄出口泳道) 2026-10-03 14:05:39 +08:00
chenxing e057e3bd8b feat(flow-editor): ApprovalNode 增多出口 outlets/branches,遍历链路打通 2026-10-03 13:59:20 +08:00
chenxing 678cb96801 feat(flow-editor): 默认卡片模式,画布降级为高级入口 2026-10-03 13:58:35 +08:00
chenxing 2c65e5adc9 feat(flow): 图示页砍画布视图档,布局改后端 positions 单源 2026-10-03 13:57:49 +08:00
chenxing e30e7ab665 feat(admin): 抄送(NOTIFY)与条件分支(CONDITION)全栈接入编辑器/轨迹/管理面
build / build (push) Successful in 1m55s
NOTIFY(2026-09-23):编辑器抄送卡片+抽屉+画布 bpmn:ServiceTask 映射、工作台「抄送我的」页签、轨迹 kind=CC 行、示意图青框卡片
CONDITION(2026-09-24):ConditionBox 互斥分支容器(分支列出口名就地编辑、无 JOIN 语义分支尾隐式汇合)、ConditionDrawer 判断服务下拉(flw_router)、convert 双向序列化(CONDITION+命名出边、uid+c 尾缀往返收敛)、validate 镜像后端口径、画布 bpmn:ExclusiveGateway 映射、轨迹「系统判断→出口」行(失败挂起提示)、示意图紫菱形(SVG 与服务端 PNG 同配色)、管理面 flw_router 维护页(/admin/routers)与办件记录「重跑路由」入口
convert 往返 54 项全过、npm run build 通过
2026-09-24 01:19:15 +08:00
chenxing cdf04f0930 feat(ui): 应用页规范全量重构 + 工作台与流程轨迹优化
build / build (push) Successful in 3m17s
应用页规范(bsch)重构:
- 6 个列表页迁规范骨架: page-wrapper/tabs-wrapper + search-wrap 搜索区(关键字 200px 即输即搜, 去查询按钮) + link-table table-bottom-box 定高表格 + page-panel 分页栏
- 分页列表统一接 TablePageAlovaNew(页长 [10,20,30,40]/customPageCount 记忆/增删智能翻页); dataApi 须返回 Method, 调 .send() 会导致表格静默空数据
- 操作列统一图标式 operatingHandle(Tooltip+fixed right 居中); 各列表补序号列; 危险操作统一 MyConfirm 二次确认
- 弹窗表单必填红星 + 统一提示「请填写红色星号内容!」
- TablePageAlovaNew 补页长记忆与重载后清空勾选; 新增 src/types OperatorEnum

工作台与流程轨迹优化:
- 已办列表去重: 每办件一行, doneCount>1 显示「共办理 N 次」标签
- 新增 TraceTimeline 轨迹时间流(时间升序/kind/轮次, 按人员/科室切换写回 URL), 接入详情/办理页
- 新增流程源码只读抽屉 SourceDrawer, 接入定义列表与图示页
- 办理人映射/流程定义新增「启用」回路(/admin/map/enable, /admin/def/enable)
- 图示视图口径统一 dept/user 两档, 缺省人员视图; 状态列 Tag 色映射统一导出
2026-09-18 16:52:40 +08:00
chenxing 0083246039 fix(ui): 配置审批节点·多人审批方式「或签」置前为默认选项(新建节点默认或签已在上一提交,仅调整展示顺序)
build / build (push) Successful in 2m8s
2026-09-17 14:58:22 +08:00
chenxing b76c419a6f feat(admin): 画布↔卡片数据打通——卡片树为唯一数据源(uid 即 contentJson 节点 id, 画布=contentJson 投影/反解); 多人审批默认或签; 选人弹窗换 /admin/user/teacherTree 教师树; 示意图页三视图(示意图/画布视图/进度图PNG)
build / build (push) Successful in 2m3s
2026-09-17 14:52:55 +08:00
chenxing f9d52d2f5d fix(ui): 流程编辑器补引 bpmn-js/diagram-js CSS——连线黑条、锚点黑点外露、左侧调色板不可见
build / build (push) Successful in 2m0s
2026-09-17 11:33:30 +08:00
chenxing 2e591e7a54 feat(admin): 选人组件接入——UserCheckModal 加单选模式+UserSelectInput 单选封装;映射办理人/审批节点指定用户弃手输 ID 改弹窗选人 (/admin/user/tree);删休眠 UserCheckInput 死代码
build / build (push) Successful in 1m56s
2026-09-17 11:09:53 +08:00
chenxing 07275c6e3d fix(ui): 流程编辑器载图报 no diagram to display——minimalXml 补空 BPMNDiagram/BPMNPlane DI 段(新建/编辑载图均受影响)
build / build (push) Failing after 56s
2026-09-17 11:09:08 +08:00
chenxing 32116b7363 fix(ui): 详情页内嵌流程图 img 补 serviceHost 前缀(/{ctx}/front/ 子路径部署裸 /api 404)
build / build (push) Successful in 1m54s
2026-09-17 01:46:58 +08:00
chenxing 429a7f9152 feat(ui): 详情页父子导航/列表链接按钮/办件详情内嵌流程图(办件进度抽屉数据源就绪)
build / build (push) Successful in 3m6s
2026-09-17 01:03:59 +08:00
chenxing e52c4324f6 feat: 流程编辑器 bpmn-js 画布模式 + 引擎多出口/退回/移交/或签前端接线
build / build (push) Successful in 4m6s
- def-editor 新增画布模式(默认):bpmn-js 内存画布(精简 palette/汉化/撤销重做/缩放/出口命名/导出 BPMN),
  toBpmn/fromBpmn 双向序列化,contentJson 仍为持久格式(+layout 坐标);卡片模式保留回退
- 新增 utils/flowLayout.ts 分层布局(设计器与查看器共用)
- TaskHandle:多出口节点出口选择下拉;退回/移交按钮与弹窗;轨迹显示已退回/已移交及所选出口
- FlowDiagram:优先使用保存坐标;边画出口名标签;办件状态着色/当前节点高亮
- api/flow:approve 带 edgeName,新增 returnBack/transfer
2026-09-16 22:22:26 +08:00
chenxing 842a4cfb14 feat: 办理人映射页一键拉取教师组(预览确认+批量导入)+ 流程编辑器存量
build / build (push) Successful in 2m6s
- Maps.vue:一键拉取教师组按钮 + 预览弹窗(科室/成员明细)+ 确认导入
- flow.ts:mapGroupPreview/mapImportGroups API
- 含流程编辑器(def-editor)、路由 catch-all、示意图入口存量
2026-09-16 01:21:10 +08:00
chenxing 670988816c fix(api): 修正 POST 请求体丢失致 def/save 报 body missing
build / build (push) Successful in 3m17s
alova 的 Method 请求体是构造函数第 5 个参数(instance.data),不是 config 上的键。
原 post() 把 body 塞进 config,被适配器静默忽略,POST 恒发空 body,
后端 @RequestBody 直接抛 HttpMessageNotReadableException: Required request body is missing。

受影响的接口(同一 helper):
- def/save、map/save、callback/repush:一律 400 Required request body is missing
- task/reject:opinion 送不到,而 FlowTaskService 强制要求非空,拒绝必然失败
- task/approve:请求成功但审批意见被静默丢弃

同时:
- Defs.vue 保存时回传 baseGuid,否则「升版本」会另起流程线而非同线升版本
- 补上调用方已在使用但 FlowApi 未定义的 callbackHung / callbackMarkDead

验证:本地后端实测 def/save 带 body 返回 code=0(新建草稿、编辑草稿、
baseGuid 升版本 version+1 且 flowGuid 不变);alova 运行时对照确认
config.body 与 config.data 均发不出 body,仅第 5 参有效。
2026-09-15 19:04:46 +08:00
chenxing 2969d235e4 docs(router): 更新路由表注释——菜单改由 UserBase app_module 下发
build / build (push) Successful in 2m24s
后端 GetUserMod 已不再返回硬编码 MENUS(改为平台下发模块树),本文件头注释仍写着
「菜单不接 app_module、modId 为本应用内部约定(与 FlowBaseController.MENUS 同源)」,
已失效。改为写明两处新的对齐约束:① path 必须与 app_module.path 逐字一致(layout 优先
按 path 匹配高亮,modId 仅兜底);② meta.modId = 对应 app_module.custom_id(后端映射时
modId 取 custom_id)。路由表本身零改动。
2026-09-15 18:44:30 +08:00
chenxing 90db00cf16 feat: 提交流程中心前端代码
build / build (push) Successful in 3m21s
Vue3 + Vite + view-ui-plus 前端源码,含流程工作台、实例详情、
任务处理、管理端(定义/实例/映射/回调)等页面。
保留远程 .gitea/workflows/build.yml CI 配置。
2026-09-15 10:42:45 +08:00