Skip to content

MasterDetailCrudTemplate 主从 CRUD 模板 ​

包装 AiCrudPage 的主从 CRUD 页面模板。自动注入主从配置,适合主表+子表关联编辑场景。

基本用法 ​

vue
<template>
  <MasterDetailCrudTemplate ref="crudRef" :crud-props="crudConfig" />
</template>

<script setup>
import { MasterDetailCrudTemplate } from '@/components/page-templates/MasterDetailCrudTemplate.vue'
import { ref } from 'vue'

const crudRef = ref()

const crudConfig = {
  columns: [...],
  editSchema: [...],
  apiConfig: { list: 'GET@/order/page', add: 'POST@/order', ... },
  childrenConfig: [
    {
      tabTitle: '订单明细',
      fields: [...],
      apiConfig: { ... }
    }
  ]
}

// 暴露方法
crudRef.value.showAdd()
crudRef.value.refresh()
</script>

Props ​

属性类型说明
crudPropsObject (required)传递给 AiCrudPage 的完整配置对象

内部合并逻辑 ​

配置项合并结果
loadDetailOnEdit强制设为 true
modalWidth优先 crudProps.modalWidth,其次 crudProps.options.modalWidth,默认 '1080px'
childrenConfig优先 crudProps.childrenConfig,其次 crudProps.options.masterDetailConfig.children

Expose 方法 ​

方法说明
showAdd(...args)打开新增弹窗
showDetail(...args)打开详情弹窗
refresh(...args)刷新表格数据

TreeCrudTemplate 树形 CRUD 模板 ​

左树右表的树形 CRUD 页面模板。支持全量加载和懒加载,选中树节点自动过滤右侧表格。

基本用法 ​

vue
<TreeCrudTemplate ref="crudRef" :crud-props="crudConfig" />

treeConfig 子配置 ​

属性类型默认值说明
treeTitleString'树形分类'树标题
loadMode'full' | 'lazy''full'加载模式
filterFieldString'parentId'过滤字段
includeChildrenBooleantrue是否包含子节点
keyFieldString'id'树节点 key 字段
labelFieldString自动推导显示标签字段
childrenFieldString'children'子节点字段
targetFieldString'id'选中后过滤参数的值字段

当 treeConfig 未配置时降级为标准 CRUD。


ChildTableEditor 子表编辑器 ​

用于表单中以内联可编辑表格管理一对多关联子数据。支持多 Tab、多种字段类型内联编辑、记录选择器批量添加、merge 模式软删除。

Props ​

属性类型默认值说明
valueObject{}子表数据对象,支持 v-model
childrenConfigArray[]子表配置数组
readonlyBooleanfalse只读模式
parentFormDataObject{}父表单数据
contextObject{}运行时上下文

childrenConfig 子属性 ​

属性类型说明
tabTitleStringTab 标题
modelNameString模型名称
fieldsArray字段配置数组
saveMode'merge'merge 模式允许标记删除
minWidthNumber表格最小宽度

Expose 方法 ​

方法说明
validate()校验所有子表必填字段
getValue()获取净化的子表数据