2.6 KiB
2.6 KiB
01 Core - crop 表录入说明
来源:docs/requirements/01-core-data-entry-requirements.md
录入目标
crop 记录项目涉及的作物范围,是 Core 上下文的起点。后续 program、trial、study、germplasm、observation_variable、genome_map 等数据都需要回到作物维度筛选和解释。
前置依赖和下游引用
| 类型 | 内容 |
|---|---|
| 表 | crop |
| 前置依赖 | 无 |
| 下游引用 | program、location、trial、study、germplasm、observation_variable、genome_map |
页面入口
| 页面 | 录入要求 |
|---|---|
| Crop 列表页 | 支持关键词查询、新增、编辑、查看详情、停用 |
| Crop 新增/编辑页 | 轻量表单,重点录入作物名称 |
| Crop 详情页 | 展示该作物下的项目、试验、研究、种质、图谱入口 |
列表页表格字段:crop_name、下游 program 数、下游 study 数、状态。
字段录入
| 字段 | 类型 | 控件 | 录入说明 | 校验/来源 |
|---|---|---|---|---|
id |
varchar(255) | 隐藏/只读 | 作物主键,新增时系统生成,也可导入时指定 | 必填、唯一 |
auth_user_id |
varchar(255) | 隐藏 | 数据所属用户 | 登录上下文自动写入 |
crop_name |
varchar(255) | 文本框 | 作物名称,用于所有下拉选择展示 | 必填、建议唯一 |
校验规则
crop_name必填。crop_name建议唯一,新增和编辑时需要做重复提示。- 已被下游引用的作物不能物理删除,只能停用或提示引用关系。
接口能力
| 接口 | 用途 |
|---|---|
GET /crops |
crop 分页查询 |
POST /crops |
新增 crop |
GET /crops/{id} |
crop 详情 |
PUT /crops/{id} |
编辑 crop |
DELETE /crops/{id} |
删除或停用 crop,需做引用检查 |
GET /selectors/crops |
crop 搜索下拉,参数 keyword |
导入导出
- 支持通过 Core 导入流程导入
crop。 - 模板列名使用数据库字段名。
- 可按
id幂等更新;无id时新增。 - 列表页支持导出当前筛选结果,导出文件应包含 ID 和展示名称。
删除/停用
当 crop 已被 program、location、trial、study、germplasm、observation_variable、genome_map 引用时,不允许物理删除。后端需要返回引用对象类型和数量,前端弹窗展示后引导用户停用。
验收点
- Crop 列表页支持分页、关键词搜索和基础筛选。
- 外键选择器展示作物名称,提交保存
crop.id。 - 被引用的 crop 删除失败时,前端展示引用详情。