# 01 Core - list 表录入说明 来源:`docs/requirements/01-core-data-entry-requirements.md` ## 录入目标 `list` 是通用分组列表的主表,用于维护一组业务对象或文本项。`list` 负责列表基本信息,`list_item` 负责列表明细。 ## 前置依赖和下游引用 | 类型 | 内容 | | --- | --- | | 表 | `list` | | 前置依赖 | 可选 `person` | | 下游引用 | `list_item`、业务查询和分组 | ## 页面入口 | 页面 | 录入要求 | | --- | --- | | List 列表页 | 展示 list,支持查询、新增、编辑 | | List 详情页 | 顶部展示 list 基本信息,下方内嵌 list_item 表格 | List 详情页支持新增 item、批量导入 item、删除 item、排序。同一 list 内 item 不重复。 ## 字段录入 | 字段 | 类型 | 控件 | 录入说明 | 校验/来源 | | --- | --- | --- | --- | --- | | `id` | varchar(255) | 隐藏/只读 | 列表主键 | 必填、唯一 | | `auth_user_id` | varchar(255) | 隐藏 | 数据所属用户 | 登录上下文自动写入 | | `date_created` | timestamp | 只读日期时间 | 创建时间 | 系统自动写入 | | `date_modified` | timestamp | 只读日期时间 | 修改时间 | 系统自动更新 | | `description` | varchar(255) | 多行文本 | 列表描述 | 可选 | | `list_name` | varchar(255) | 文本框 | 列表名称 | 必填 | | `list_owner_name` | varchar(255) | 文本框 | 列表 owner 名称 | 可选,可由 owner person 带出 | | `list_source` | varchar(255) | 文本框 | 列表来源 | 可选 | | `list_type` | integer | 下拉框 | 列表类型 | 必填,按 BrAPI 枚举 | | `list_owner_person_id` | varchar(255) | 人员选择器 | 列表 owner | 可选,来源 `person.id` | ## 校验规则 1. `list_name` 必填。 2. `list_type` 必填,按 BrAPI 枚举选择。 3. 如果绑定 owner,`list_owner_person_id` 必须引用已存在的 `person.id`。 4. `date_created`、`date_modified` 由系统维护,前端只读。 ## 接口能力 | 接口 | 用途 | | --- | --- | | `GET /lists` | list 查询 | | `POST /lists` | 新增 list | | `PUT /lists/{id}` | 编辑 list | | `POST /lists/{id}/items` | 给 list 添加 item | | `DELETE /lists/{id}/items/{itemId}` | 删除 list item | ## 导入导出 1. 支持通过 Core 导入流程导入 `list`。 2. 模板列名使用数据库字段名。 3. 外键列支持填写 `list_owner_person_id`;可额外支持名称匹配,但名称重复时必须报错。 4. 列表页支持导出当前筛选结果,导出文件应包含 ID 和展示名称。 ## 删除/停用 当 `list` 已有 `list_item` 时,删除前必须提示。可以先清空明细再删除 list。 ## 验收点 1. List 详情页顶部展示 list 基本信息,下方展示 list_item 表格。 2. 同一 list 内 item 不重复。 3. 绑定 owner 时只能保存已存在的 person ID。