chenxing
|
f2841e2740
|
release: FL 2.0 前端候选(流程线停发/发起页指派预览/测试夹具)
build / build (push) Successful in 1m33s
配套 service 候选 500a9a2:
- flow.ts 增加 admin/def/offlineLine、enableLine(T03 线级停发/恢复)
- Defs.vue 接线级停发开关与状态展示;lineOffline.ts 收敛判定与文案
- AssignPreview.vue + assignEmbed.ts 发起时指派预览(T02 契约)
- def-editor 表单坐标绑定微调
- 新增 vitest 组件测试与 line-offline 契约测试(npm test 可跑)
|
2026-10-27 12:07:40 +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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
429a7f9152
|
feat(ui): 详情页父子导航/列表链接按钮/办件详情内嵌流程图(办件进度抽屉数据源就绪)
build / build (push) Successful in 3m6s
|
2026-09-17 01:03:59 +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
|
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 |
|