# 01 Core - list_item 表录入说明

来源：`docs/requirements/01-core-data-entry-requirements.md`

## 录入目标

`list_item` 是 list 的明细项，是“给 list 添加成员”这个动作留下的记录。它可以保存目标对象 ID 或文本值，用于业务查询和分组。

## 前置依赖和下游引用

| 类型 | 内容 |
| --- | --- |
| 表 | `list_item` |
| 前置依赖 | `list` |
| 下游引用 | 业务查询和分组 |

## 页面入口

| 页面 | 录入要求 |
| --- | --- |
| List 详情页 | 在 list 基本信息下方内嵌 list_item 表格 |
| 批量导入 | 支持给指定 list 批量导入 item |

新增 item 时可选择目标类型，例如 germplasm、study、sample。

## 字段录入

| 字段 | 类型 | 控件 | 录入说明 | 校验/来源 |
| --- | --- | --- | --- | --- |
| `id` | varchar(255) | 隐藏/只读 | 列表项主键 | 必填、唯一 |
| `item` | varchar(255) | 文本框/对象选择器 | 列表项值，可存目标对象 ID 或文本 | 必填，同一 list 内不重复 |
| `list_id` | varchar(255) | List 选择器 | 所属列表 | 必选，来源 `list.id` |

## 校验规则

1. `list_id` 必选，且必须引用已存在的 `list.id`。
2. `item` 必填。
3. 同一 `list_id` 内 `item` 不应重复。

## 接口能力

| 接口 | 用途 |
| --- | --- |
| `POST /lists/{id}/items` | 给 list 添加 item |
| `DELETE /lists/{id}/items/{itemId}` | 删除 list item |

## 导入导出

1. 支持通过 Core 导入流程导入 `list_item`。
2. 导入时需要校验 `list_id` 是否存在。
3. 导入时需要校验同一 list 内 item 是否重复。
4. 错误报告返回行号、字段名、错误原因、建议修正方式。

## 删除/停用

`list_item` 是明细记录，可从 List 详情页删除。删除前需要确认，删除后不影响 list 基本信息。

## 验收点

1. List 详情页可新增 item、批量导入 item、删除 item、排序。
2. 同一 list 内重复 item 不能提交。
3. 批量导入错误能定位到行号和字段名。
