## Context

当前手机号资产页面的筛选栏、列表列和新增/编辑表单直接展示后端字段的旧业务名称：`cardType` 显示为“卡类型”，`realNameOwner` 显示为“实名归属”，`managementType` 显示为“管理方式”，`disposalStatus` 显示为“处置状态”，`deviceId` 显示为“关联设备 ID”。

从已配置的选项可知，`cardType` 实际保存的是运营商；“正常使用、闲置、停机、已注销”描述的是当前状态而非处置动作；`deviceId` 仅保存数值 ID，尚未验证或读取设备名称。本次仅改用户可见文本和表单帮助说明，不能改动接口键、DTO 或数据库列，以保护已有记录和调用方兼容。

## Goals / Non-Goals

**Goals:**

- 让每个字段名称对应一个独立且可理解的业务维度：运营商、实名登记、管理模式、使用状态和设备关联。
- 在列表与表单中使用同一套名称，并在表单中说明容易误解字段的录入含义。
- 维持现有请求体、响应体与表结构完全不变。

**Non-Goals:**

- 不重命名 JavaScript、接口、DTO 或数据库字段。
- 不调整下拉选项、校验规则、筛选条件、数据迁移或历史记录。
- 不接入设备选择器、设备名称回显或设备存在性校验。

## Decisions

### 1. 保持内部键不变，只替换展示名称

展示名称与接口字段分离：页面继续绑定 `cardType`、`realNameOwner`、`managementType`、`disposalStatus`、`deviceId`，但将标签分别显示为“运营商、实名主体、管理模式、使用状态、关联设备（ID）”。

- 术语（白话解释）：接口字段是浏览器和后端交换数据时使用的固定键名；展示名称是页面上给人看的文字。这里要分开，是因为后端键名已被现有数据和代码使用，而人的理解需要更准确的词。若直接改接口字段，会让已有请求、测试或数据映射失效。
- 备选方案：同时改接口和数据库字段。未采用，因为本次问题是业务文案歧义，不值得引入跨前后端及数据迁移风险。

### 2. 以现有枚举值反推正确业务名称

“移动、联通、电信、广电、虚拟运营商”统一称为“运营商”；“自有、租用、代运营”统一称为“管理模式”；“正常使用、闲置、停机、已注销”统一称为“使用状态”。“实名主体”用于记录与号码实名登记一致的个人或单位名称。

- 术语（白话解释）：枚举值是下拉框中预先限定的一组可选值。这里用现有选项判断字段含义，能够避免名称和实际可选值不一致；否则用户仍可能把“卡类型”理解成实体 SIM/eSIM 类型，把“处置状态”理解成审批结果。
- 备选方案：继续保留旧名称并只增加提示。未采用，因为表格中的旧列名仍会造成长期误读。

### 3. 明确设备字段当前只记录 ID

页面标签使用“关联设备（ID）”，表单帮助文字说明“填写设备资产记录的数字 ID；当前不校验是否存在”。

- 术语（白话解释）：ID 是系统给一条记录的唯一编号。这里明确显示 ID，是为了避免用户误以为可以输入设备名称；不说明会导致保存后找不到关联设备的预期落差。
- 备选方案：改为设备下拉选择。未采用，因为需要设备查询接口和存在性校验，超出单纯字段释义的范围。

## Risks / Trade-offs

- [旧标签可能已经被少量用户记住] → 在表单帮助文字中保留可理解的定义，不改变已存数据和值。
- [“实名主体”可能被理解为仅企业主体] → 帮助文字明确“个人或单位名称”，并以测试覆盖标签和说明。
- [测试通过文字定位页面元素] → 更新页面测试中的可访问名称，避免真实页面文案变更后测试产生误报。

## Migration Plan

1. 更新列表列名、表单标签、占位文字与帮助说明，并同步更新对应页面测试。
2. 在本地打开 `http://localhost:5173/asset/#/phone-assets`，核对列表、新增和编辑弹窗的名称一致性。
3. 回滚时仅还原前端展示文本和测试断言；不存在数据、接口或数据库迁移。

## Open Questions

- 无。当前字段的选项和值足以确定本次仅展示层的命名修正。
