拆分顺序:配置协议 → 底层表格能力 → 展开数据加载 → 展开渲染器 → 设计器入口 → 预览发布适配 每个任务 = 可独立提交的原子变更(3-5 个文件) 每个任务必须精确到文件路径和函数签名
spec.md 中 expandConfig.panels[] 协议。table、descriptions、tabs 必做,form、custom 做基础支持。forge-admin-ui/src/components/ai-form/AiCrudPageProps.js — 新增 expandConfig、表格拖拽相关 props 注释和默认值。forge-admin-ui/src/components/ai-form/AiCrudPage.vue — 读取并归一化 expandConfig,传给 AiTable。js
const normalizedExpandConfig = computed(() => normalizeExpandConfig(props.expandConfig, props.childrenConfig))
forge-admin-ui/src/components/ai-form/AiTable.vue — 支持 resizable、onUpdate:columns/列宽状态、展开列渲染透传。forge-admin-ui/src/components/ai-form/AiCrudPage.vue — 管理拖拽后的列宽状态,合并到 tableColumns。js
function handleColumnResize(columnKey, width) {}
const runtimeTableColumns = computed(() => mergeColumnWidthState(tableColumns.value, columnWidthState.value))
row、api、children 三类数据源,按当前行映射参数并懒加载缓存。forge-admin-ui/src/components/ai-form/AiCrudRowExpand.vue — 新增,负责展开行数据加载、缓存状态和错误展示。forge-admin-ui/src/components/ai-form/expand-utils.js — 新增,封装 resolveExpressionValue、buildExpandParams、extractExpandData。forge-admin-ui/src/components/ai-form/AiCrudPage.vue — 在展开列中渲染 AiCrudRowExpand。js
export function buildExpandParams(paramsMap, row, context = {}) {}
export async function loadExpandPanelData(panel, row, context = {}) {}
forge-admin-ui/src/components/ai-form/expand-renderers/ExpandTablePanel.vue — 新增,渲染子表。forge-admin-ui/src/components/ai-form/expand-renderers/ExpandDescriptionsPanel.vue — 新增,渲染描述信息。forge-admin-ui/src/components/ai-form/expand-renderers/ExpandFormPanel.vue — 新增,渲染只读 AiForm。forge-admin-ui/src/components/ai-form/expand-renderers/ExpandTabsPanel.vue — 新增,渲染多面板 tabs。forge-admin-ui/src/components/ai-form/expand-renderers/ExpandCustomPanel.vue — 新增,渲染插槽/注册组件。vue
<ExpandPanelRenderer :panel="panel" :row="row" :data="panelData" :context="context" />
forge-admin-ui/src/components/lowcode-builder/page/ListPageGridDesigner.vue — AiCrudPage 属性区新增“展开面板”配置。forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue — 表单设计器 CRUD 更多配置新增列宽拖拽和展开面板配置。forge-admin-ui/src/views/app-center/components/designer/BusinessListDesigner.vue — schema 到运行态 props 时透传 expandConfig。forge-admin-ui/src/components/lowcode-builder/page/GridBlockRenderer.vue — 设计器画布预览透传 expandConfig。js
function updateAiCrudExpandConfig(patch) {}
function createDefaultExpandPanel(type, relation) {}
forge-admin-ui/src/components/lowcode-builder/preview/LowcodePreviewPane.vue — 预览运行态透传 expandConfig。expandConfig。expandConfig。js
function transformExpandConfigForRuntime(expandConfig, modelSchema) {}
code-copilot/changes/ai-crud-table-expand-enhancement/execution-log.md — 追加验证记录。code-copilot/changes/ai-crud-table-expand-enhancement/test-spec.md — 按实际实现更新验证证据。bash
source ~/.nvm/nvm.sh && nvm use v20.19.0
pnpm --dir forge-admin-ui build