status: executed created: 2026-06-28
验证统一业务流程应用配置能覆盖三类场景:
GET /ai/business/flow-app/config/{objectCode} 返回对象信息、单据配置、流程绑定、表单资产。PUT /ai/business/flow-app/config/{objectCode} 保存后再次查询一致。formMode=BUSINESS_OBJECT_FORM、formKey、fields。formMode=BUSINESS_CODE_FORM、providerKey、formKey、fields、supportsSave。task-form-context/readonly 强制所有字段只读。panel=document、panel=automation 参数仍能打开统一页并定位对应分区。审批设置 / 表单权限 / 高级设置 页签。表单权限 页签能选择当前节点使用的业务表单资产。表单权限 页签使用字段权限矩阵,能按字段配置可见、可编辑、必填。formKey/formFieldPermissions,待办表单优先按该权限生效。测试流程:
后端目标编译:
cd forge-server
JAVA_HOME=$(/usr/libexec/java_home -v 17) PATH="$JAVA_HOME/bin:$PATH" mvn -pl forge-framework/forge-plugin-parent/forge-plugin-generator -am -DskipTests compile
JAVA_HOME=$(/usr/libexec/java_home -v 17) PATH="$JAVA_HOME/bin:$PATH" mvn -pl forge-business/forge-business-core -am -DskipTests compile
前端验证:
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0
pnpm exec eslint src/api/business-app.js src/views/app-center/components/designer/BusinessFlowAppConfigPanel.vue src/views/app-center/components/designer/BusinessFlowFormAssetSelect.vue src/components/bpmn/NodePropertiesPanel.vue src/components/flow-designer/DingFlowDesigner.vue
pnpm build
通用检查:
git diff --check
execution-log.md。forge-plugin-generator 及依赖模块 mvn -pl forge-framework/forge-plugin-parent/forge-plugin-generator -am -DskipTests compileforge-business-core 及依赖模块 mvn -pl forge-business/forge-business-core -am -DskipTests compilepnpm build 通过;仍有既有 Vite 动态导入、CSS // 注释和大 chunk warning,不阻断本轮变更。git diff --check 通过。ADAPTER 接入和代码表单资产默认选择。forge-plugin-generator 及依赖模块 mvn -pl forge-framework/forge-plugin-parent/forge-plugin-generator -am -DskipTests compileforge-business-core 及依赖模块 mvn -pl forge-business/forge-business-core -am -DskipTests compileBusinessFlowAppConfigPanel.vueBusinessFlowBindingPanel.vueBusinessObjectDesignerShell.vueobject-designer.[objectCode].vuepurchase-order-test.vuepnpm build 通过;仍有既有 Vite 动态导入、CSS // 注释和大 chunk warning,不阻断本轮变更。git diff --check 通过。BusinessFlowAppConfigPanel.vueBusinessFlowBindingPanel.vueBusinessObjectDesignerShell.vueobject-designer.[objectCode].vuepurchase-order-test.vuepnpm build 通过;仍有既有 Vite 动态导入、CSS // 注释和大 chunk warning,不阻断本轮变更。git diff --check 通过。BusinessFlowAppConfigPanel.vueBusinessObjectDesignerShell.vueobject-designer.[objectCode].vuepnpm build 通过;仍有既有 Vite 动态导入、CSS // 注释和大 chunk warning,不阻断本轮变更。git diff --check 通过。BusinessFlowAppConfigPanel.vuepnpm build 通过;仍有既有 Vite 动态导入、CSS // 注释和大 chunk warning,不阻断本轮变更。git diff --check 通过。BusinessFlowAppConfigPanel.vuepnpm build 通过;仍有既有 Vite 动态导入、CSS // 注释和大 chunk warning,不阻断本轮变更。git diff --check 通过。active 态补齐,避免点击非第一步后顶部仍显示未选中。BusinessFlowAppConfigPanel.vuepnpm build 通过;仍有既有 UserSelectModal 命名冲突、动态导入与静态导入混用、CSS // 注释、chunk 体积提示,不阻断本轮变更。git diff --check 通过。fields/fieldCatalog/supportsSave 和文件上传字段元数据。formUrl/formFieldPermissions 写死配置。nodeForms 通过 Flyway seed 写入 ai_business_binding。forge-plugin-generator 及依赖模块 mvn -pl forge-framework/forge-plugin-parent/forge-plugin-generator -am -DskipTests compileforge-business-core 及依赖模块 mvn -pl forge-business/forge-business-core -am -DskipTests compilebusiness-app.jsBusinessFlowAppConfigPanel.vueBusinessFlowBindingPanel.vueBusinessFlowFormAssetSelect.vueBusinessObjectDesignerShell.vueobject-designer.[objectCode].vuepurchase-order-test.vuetodo.vuedone.vuepnpm build 通过,✓ built in 2m 12s;仍有既有 UserSelectModal 命名冲突、动态导入与静态导入混用、CSS // 注释、chunk 体积提示,不阻断本轮变更。git diff --check 通过。formUrl/formFieldPermissions 旧配置。${...} Flyway placeholder 风险。ai_business_suite / ai_business_object / ai_business_app 元数据进入应用中心。flow-app 面板。BusinessUnitCard.vueObjectCard.vueobject-designer.[objectCode].vuepnpm build 通过,✓ built in 2m 24s;仍有既有 UserSelectModal 命名冲突、动态导入与静态导入混用、CSS // 注释、chunk 体积提示,不阻断本轮变更。git diff --check 通过。V1.0.83__seed_sample_purchase_order_app_center_entry.sql 文件名版本唯一。${...} Flyway placeholder、tenant_id = 0、错误租户插入或旧 formUrl/formFieldPermissions 配置。needDate 接入待办节点保存 DTO 和申请人修改节点保存逻辑。V1.0.84__extend_sample_purchase_order_form_asset_fields.sql,对已存在默认绑定补充申请人修改节点的 needDate 字段权限。forge-business-core 及依赖模块 mvn -pl forge-business/forge-business-core -am -DskipTests compileBusinessFlowBindingPanel.vuepnpm build 通过,✓ built in 2m 12s;仍有既有 UserSelectModal 命名冲突、动态导入与静态导入混用、CSS // 注释、chunk 体积提示,不阻断本轮变更。git diff --check 通过。${...} Flyway placeholder 或 tenant_id=0 风险。审批设置 / 表单权限 / 高级设置 页签切换。BusinessFlowBindingPanel.vue 和 BusinessFlowAppConfigPanel.vue 目标 ESLint 通过。pnpm build 通过。curl -I http://127.0.0.1:5173/ 返回 HTTP/1.1 200 OK。arrivalListFileIds 可编辑权限并保存后,ai_business_binding.binding_config.nodeForms 中对应节点权限更新。sample_purchase_order 没有低代码运行 configKey 时,变量候选项接口仍能从代码表单 Provider 的 fields/fieldCatalog 读取单据字段。fieldCandidates,不再依赖低代码表单字段 props。forge-plugin-generator 目标模块 Maven compile 通过。BusinessFlowBindingPanel.vue、FlowVariableMappingEditor.vue 目标 ESLint 通过。pnpm build 通过。git diff --check 通过。curl -I http://127.0.0.1:5173/ 返回 HTTP/1.1 200 OK。sample_purchase_order 业务流程配置,确认不再出现“业务对象缺少运行配置,无法读取字段候选项”的错误提示。businessObjectCode 上下文时加载业务表单资产和字段目录。formKey/formFieldPermissions,BusinessFlowBinding.nodeForms 仅兜底。formKey/formFieldPermissions。forge-business-core 及依赖模块 Maven compile 通过。BusinessFlowBindingPanel.vue、flow/design.vue、DingFlowDesigner.vue、NodeConfigDrawer.vue、ApproverConfig.vue、FormPermissionConfig.vue、NodePropertiesPanel.vue。git diff --check 通过。sample_purchase_order 业务流程配置,点击“打开流程设计器”。flowable:formFieldPermissions。