# 市场栏位管理 — 功能需求

## 1. 文档说明

| 项 | 说明 |
| --- | --- |
| 模块名称 | 市场栏位管理（交易市场平台） |
| 目标 | 在业务后台维护交易市场**市场栏位台账**（栏位编号、备注等），为摊位分配、交易开单、栏位占用展示等后续业务提供基础主数据 |
| 关联系统 | 业务后台；本模块为市场栏位**主档维护**，不替代栏位占用登记、自动释放、与订单/库存联动等作业流程（若需联动，另出集成需求） |
| 修订依据 | 同目录 `市场栏位管理-草稿.md`、界面原型（`市场栏位管理.png`） |

本文档仅描述**功能需求与业务规则**，不涉及库表结构、接口路径、请求体字段命名、HTTP 报文及技术栈选型。

---

## 2. 术语与业务对象

### 2.1 市场栏位（一条台账记录）

- 表示交易市场内用于**正常经营、交易陈列或摊位分配**的一个物理或逻辑**栏位**。  
- 与「隔离圈位」区分：隔离圈位服务于检疫隔离场景；**市场栏位**服务于市场内常规经营布局（见 **§7**）。  
- 由运营人员在后台**登记与维护**；保存成功后出现在栏位列表，供后续业务按栏位编号引用、分配或展示状态。  
- 单条记录包含：**栏位编号**、**备注**（选填）及审计信息（创建人、时间等，与项目其他台账一致）。

### 2.2 栏位编号

- **系统自动生成**，用户**不可手工录入或修改**（新增弹窗中只读或「保存后自动生成」占位；修改、查看时只读）。  
- 格式：**2 位数字**字符串，建议左侧补零（如 `01`、`02` … `99`）。  
- **全局唯一**：同一系统内未删除的栏位不得重复；编号用尽（如已达 `99`）时拒绝继续新增并提示「栏位编号已达上限，请联系管理员」。  
- 生成时机：用户点击新增「确定」且校验通过后分配。

> **说明：** 草稿写「修改时所有均可修改」指**业务可编辑字段**；**栏位编号不在可改范围内**，与自动生成语义一致。

### 2.3 备注（栏位）

- 对栏位的补充说明（如区域、摊位用途、容量提示等）。  
- **选填**；有内容时长度 **1～50** 个字符（去除首尾空白后计数）；仅空白视为未填。

### 2.4 删除与可见性

- 栏位删除采用与项目其他业务台账一致的**逻辑删除**：删除后默认不在列表与常规查询中展示，数据保留供审计。  
- **本期不提供**回收站界面。  
- 若栏位已被摊位分配、交易开单、占用登记等下游业务引用，**宜禁止删除**并提示「存在关联业务，无法删除」（**默认建议禁止**）。

### 2.5 列表筛选项与记录字段的关系

| 筛选项 | 与记录字段关系 |
| --- | --- |
| 栏位编号 | 选填；对「栏位编号」**模糊**匹配（包含输入片段即可，如输入 `1` 可命中 `01`、`11` 等，与项目全局模糊查询一致） |
| （无其他筛选项） | 原型仅提供栏位编号筛选；空则不过滤 |

---

## 3. 功能范围

**本期实现：**

| 能力 | 说明 |
| --- | --- |
| 栏位列表 | 栏位编号模糊筛选；分页；见 **§5.2** |
| 新增栏位 | 录入备注；编号自动生成；见 **§5.1** |
| 修改栏位 | 仅备注可改；见 **§5.3** |
| 查看栏位 | 只读展示；见 **§5.4** |
| 删除栏位 | 单条删除；见 **§5.5** |
| 工具栏 | 搜索、重置、新增 |

**本期不实现（除非后续单独立项）：**

- 栏位占用状态、在栏货品清单、实时空满率看板  
- 按备注、按占用状态的列表筛选  
- 批量导入/导出、编号手工指定  
- 栏位与供应商/承销商自动绑定、与订单自动联动  
- 栏位平面图、地图选点  

---

## 4. 业务流程概览

### 4.1 总览

```mermaid
flowchart TD
    A[进入市场栏位管理] --> B{用户操作}
    B -->|检索| C[输入栏位编号片段]
    C --> D[模糊搜索列表]
    B -->|登记| E[新增市场栏位]
    E --> F[填写备注可选]
    F --> G{校验}
    G -->|通过| H[系统分配栏位编号并保存]
    G -->|未通过| E
    H --> I[刷新栏位列表]
    D --> J{行操作}
    J -->|查看| K[只读详情]
    J -->|编辑| L[修改备注]
    L --> G
    J -->|删除| M[二次确认]
    M -->|允许| N[逻辑删除]
    M -->|有关联| O[提示不可删]
    N --> I
    K --> D
    B -->|重置| P[清空筛选]
    P --> D
```

### 4.2 典型使用顺序

1. 运营人员按市场布局 **新增** 栏位，系统分配 `01`、`02` … 等编号，必要时填写备注（如「A 区东侧」）。  
2. 日常按栏位编号 **模糊** 查询台账。  
3. 栏位信息变更时 **修改** 备注（编号不变）。  
4. 废弃栏位在确认无下游引用后 **删除**。  
5. 需要核对完整信息时 **查看** 详情（含审计信息）。

---

## 5. 详细功能需求

### 5.1 新增市场栏位

#### 5.1.1 业务字段

| 字段 | 必填 | 规则摘要 |
| --- | --- | --- |
| 栏位编号 | — | **只读**；保存成功后展示系统生成的 2 位数字编号 |
| 备注 | 否 | 文本；**0～50** 字（有内容时按 1～50 校验） |

#### 5.1.2 界面行为（与原型一致）

| 用户操作 | 界面行为 |
| --- | --- |
| 打开新增 | 栏位编号控件只读或显示「保存后自动生成」类占位 |
| 填写备注 | 多行文本；展示字数上限提示（50 字内） |

#### 5.1.3 保存与取消

| 操作 | 行为 |
| --- | --- |
| **确定** | 校验通过后保存；分配栏位编号；关闭弹窗并**刷新栏位列表** |
| **取消** | 关闭弹窗，不保存 |

#### 5.1.4 校验摘要

| 规则 | 说明 |
| --- | --- |
| 备注长度 | 超过 50 字拒绝保存 |
| 编号上限 | 已达 `99` 且无法再分配时拒绝新增 |

---

### 5.2 查询市场栏位列表

#### 5.2.1 筛选

| 条件 | 规则 |
| --- | --- |
| 栏位编号 | 选填；**模糊**匹配（**§2.5**） |

#### 5.2.2 列表规则

- 默认每页 **20** 条。  
- 默认排序：**栏位编号升序**（产品若选用创建时间倒序，须全文一致；**默认建议编号升序**）。  
- 工具栏：**搜索**、**重置**、**新增**。

#### 5.2.3 展示列（与原型一致）

栏位编号、备注、操作。

| 列 | 展示说明 |
| --- | --- |
| 栏位编号 | 2 位数字编号 |
| 备注 | 过长省略；详情可看全文；无内容展示「—」或留空（与项目统一空值展示一致） |
| 操作 | 查看、编辑、删除（权限见 **§6**） |

---

### 5.3 修改市场栏位

| 项 | 要求 |
| --- | --- |
| 入口 | 列表「编辑」；详情可提供「编辑」 |
| 不可改字段 | **栏位编号**（只读） |
| 可改范围 | **备注** |
| 校验 | 同 **§5.1.4** |
| 保存 | **确定** 保存并刷新列表；**取消** 放弃 |

---

### 5.4 查看市场栏位详情

| 项 | 要求 |
| --- | --- |
| 展示内容 | 栏位编号、备注全文 |
| 只读 | 全部不可编辑 |
| 操作 | 可提供 **编辑**、**删除**（与列表权限一致）；**关闭** 返回列表 |
| 审计信息 | 宜含创建人、创建时间、修改人、修改时间（与项目其他台账一致） |

---

### 5.5 删除市场栏位

| 项 | 要求 |
| --- | --- |
| 入口 | 列表「删除」；详情可提供「删除」 |
| 确认 | 删除前**二次确认**（宜展示栏位编号，有备注时一并展示） |
| 删除方式 | **逻辑删除**（**§2.4**） |
| 关联约束 | 存在下游引用时**拒绝删除**并提示原因 |
| 批量删除 | **本期不提供** |

---

## 6. 操作与权限矩阵（汇总）

在**已授权**前提下：

| 操作 | 列表/详情 | 说明 |
| --- | --- | --- |
| 查询列表、筛选 | 列表页 | 需列表查询权限 |
| 新增栏位 | 「新增」 | 需新增权限 |
| 查看 | 行内/详情 | 需查看权限 |
| 修改 | 行内/详情 | 需修改权限；编号不可改 |
| 删除 | 行内/详情 | 需删除权限 |

无权限的按钮**不展示或禁用**（与若依按钮权限惯例一致）。

---

## 7. 与隔离圈位管理对照（便于评审）

| 维度 | 隔离圈位管理 | 市场栏位管理（本模块） |
| --- | --- | --- |
| 业务场景 | 检疫隔离观察 | 市场内常规经营/摊位 |
| 主体称谓 | 隔离圈位、圈位编号 | 市场栏位、栏位编号 |
| 台账字段 | 编号 + 备注 | 同左 |
| 编号规则 | 2 位自动、不可改 | 同左 |
| 列表筛选 | 编号模糊 | 同左 |
| 全局配置 | **设置隔离天数** | **本期无** |
| 工具栏 | 搜索、重置、新增、设置隔离天数 | 搜索、重置、新增 |

> **实施注意：** 两模块编号均为 `01`～`99`，但分属不同业务域，**不得共用同一编号序列**（由各自主档表独立生成）；联调与测试须分模块验收。

---

## 8. 异常与提示（业务侧）

| 场景 | 提示方向（示例） |
| --- | --- |
| 备注超长 | 备注长度不能超过 50 个字符 |
| 编号用尽 | 栏位编号已达上限，请联系管理员 |
| 删除受阻 | 存在关联业务，无法删除 |

**本期不涉及** HTTP 响应结构、错误码表等技术约定（草稿中的统一返回格式由技术方案另行描述）。

---

## 9. 非功能需求（摘要）

| 项 | 要求 |
| --- | --- |
| 易用性 | 栏位编号只读状态明确；与「隔离圈位管理」菜单名称区分清晰，避免误操作 |
| 一致性 | 逻辑删除、分页、模糊筛选、校验风格与交易市场平台其他台账模块一致 |
| 可维护性 | 栏位主档与占用/交易业务解耦，便于后续单独扩展占用看板而不改动本期 CRUD |

---

## 10. 修订记录

| 版本 | 说明 |
| --- | --- |
| 1.0 | 初版：依据草稿与原型；栏位 CRUD；2 位编号自动生成、列表模糊筛选；剔除库表、接口、技术栈；明确与隔离圈位分域 |
