9a2049b5 恢复原 BPMN 设计器。9a2049b5 是引入钉钉式 flow-designer 并删除旧 components/bpmn 的提交。9a2049b5^ 恢复。bpmn-js、bpmn-js-properties-panel、dagre、diagram-js、inherits-browser、tiny-svg。forge-admin-ui/src/components/bpmn 目录,并补回 BPMN.js 相关依赖。sys_flow_model.designer_type Flyway 迁移,后端 FlowModel 增加 designerType,创建/更新默认归一为 approval,复制模型继承原类型,导入 BPMN 默认 business。designerType 渲染:
approval:现有 DingFlowDesigner。business:恢复的 FlowModeler,选中 BPMN 元素后右侧停靠 NodePropertiesPanel。source ~/.nvm/nvm.sh && nvm use v20.19.0 >/dev/null && pnpm exec eslint --fix src/views/flow/model.vue src/views/flow/design.vue src/components/bpmn/*.vue src/components/bpmn/*.js vite.config.js
forge-admin-ui 目录后发现历史 BPMN 文件 lint 阻断,已修复后通过。source ~/.nvm/nvm.sh && nvm use v20.19.0 >/dev/null && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
UserSelectModal 组件名冲突自动导入警告、既有 CSS // 注释 minify 警告、src/store/index.js 动态/静态导入混用提示、chunk size 提示;均非本轮阻断。env JAVA_HOME=/opt/homebrew/Cellar/openjdk@17/17.0.13/libexec/openjdk.jdk/Contents/Home mvn -pl forge-framework/forge-plugin-parent/forge-plugin-flow -am -DskipTests compile
forge-plugin-flow 与依赖 Reactor 模块均 BUILD SUCCESS。existing 未定义而失败;修正到更新逻辑后复跑通过。git diff --check
FlowModeler 导入空 XML 或缺少 BPMNDiagram 的 XML 时强制使用默认 BPMN 模板,避免沿用旧画布。FlowModeler 初始化、外部 setXML('')、属性 xml 变化、适应屏幕和自动布局后的画布缩放统一限制为最大 100%,避免单节点被 fit-viewport 放大。AutoLayout 改为按相对位移调用 modeling.moveShape,保持 BPMN 节点按 dagre 左到右布局结果移动。design.vue 在设计器类型/模型 ID 变化时增加渲染 key,嵌入模式和路由 query 切换时即使 XML 为空也会重新导入;切到新流程时清空模型、表单、字段目录和右侧属性面板状态。source ~/.nvm/nvm.sh && nvm use v20.19.0 >/dev/null && pnpm exec eslint --fix src/views/flow/design.vue src/components/bpmn/FlowModeler.vue src/components/bpmn/AutoLayout.jssource ~/.nvm/nvm.sh && nvm use v20.19.0 >/dev/null && NODE_OPTIONS=--max-old-space-size=8192 pnpm buildUserSelectModal 组件名冲突自动导入警告、既有 CSS // 注释 minify 警告、src/store/index.js 动态/静态导入混用提示、chunk size 提示;均非本轮阻断。git diff --checkFlowPropertyPanelShell 通用属性面板外壳,统一标题、图标、关闭按钮、滚动区、底部操作区和空状态。NodeConfigDrawer 改为复用通用外壳,内部仍保留审批 JSON 节点配置组件。v-if + Transition 反复挂载动画,改成稳定停靠显示。FlowModeler 暴露 clearSelection(),关闭 BPMN 属性面板时同步清理画布选中态,避免关闭后点击同一节点无法重新打开。source ~/.nvm/nvm.sh && nvm use v20.19.0 >/dev/null && pnpm exec eslint --fix src/views/flow/design.vue src/components/bpmn/FlowModeler.vue src/components/flow-designer/panel/NodeConfigDrawer.vue src/components/flow/FlowPropertyPanelShell.vuesource ~/.nvm/nvm.sh && nvm use v20.19.0 >/dev/null && NODE_OPTIONS=--max-old-space-size=8192 pnpm buildUserSelectModal 组件名冲突自动导入警告、既有 CSS // 注释 minify 警告、src/store/index.js 动态/静态导入混用提示、chunk size 提示;均非本轮阻断。git diff --checkFlowPropertyPanelShell 增加统一内容容器,并统一 Tab 导航、Tab 内容 padding、表单项间距、label 字重、输入框高度、底部按钮区和空状态样式。NodeConfigDrawer 移除旧的本地 Tab/表单样式,避免审批面板覆盖通用外壳样式。NodePropertiesPanel 取消内部滚动和 8px 小 padding,改为复用外壳滚动区,并对 Tab 工具条、Tab 页内容、表单项和输入框密度做统一。emit 事件或转换逻辑。source ~/.nvm/nvm.sh && nvm use v20.19.0 >/dev/null && pnpm exec eslint --fix src/views/flow/design.vue src/components/bpmn/NodePropertiesPanel.vue src/components/flow-designer/panel/NodeConfigDrawer.vue src/components/flow/FlowPropertyPanelShell.vuesource ~/.nvm/nvm.sh && nvm use v20.19.0 >/dev/null && NODE_OPTIONS=--max-old-space-size=8192 pnpm buildUserSelectModal 组件名冲突自动导入警告、既有 CSS // 注释 minify 警告、src/store/index.js 动态/静态导入混用提示、chunk size 提示;均非本轮阻断。git diff --check