# 后端枚举字段说明 ## 概述 后端只返回枚举代码值,不返回枚举名称。前端需要根据代码值进行转换显示。 --- ## API 返回的枚举字段 ### 1. 中介类型 (intermediaryType) | 代码值 | 说明 | |--------|------| | `1` | 个人中介 | | `2` | 机构中介 | **前端转换示例:** ```javascript const getIntermediaryTypeName = (type) => { const map = { '1': '个人', '2': '机构' } return map[type] || '未知' } ``` ### 2. 状态 (status) | 代码值 | 说明 | |--------|------| | `0` | 正常 | | `1` | 停用 | **前端转换示例:** ```javascript const getStatusName = (status) => { const map = { '0': '正常', '1': '停用' } return map[status] || '未知' } ``` ### 3. 数据来源 (dataSource / date_source) | 代码值 | 说明 | |--------|------| | `MANUAL` | 手动录入 | | `IMPORT` | 批量导入 | | `SYSTEM` | 系统同步 | | `API` | 接口获取 | **前端转换示例:** ```javascript const getDataSourceName = (source) => { const map = { 'MANUAL': '手动录入', 'IMPORT': '批量导入', 'SYSTEM': '系统同步', 'API': '接口获取' } return map[source] || '未知' } ``` ### 4. 性别 (indivGender) - 个人中介 | 代码值 | 说明 | |--------|------| | `M` | 男 | | `F` | 女 | | `O` | 其他 | **前端转换示例:** ```javascript const getGenderName = (gender) => { const map = { 'M': '男', 'F': '女', 'O': '其他' } return map[gender] || '未知' } ``` ### 5. 证件类型 (indivCertType) 常用证件类型代码: - `身份证` - 身份证 - `护照` - 护照 - `港澳通行证` - 港澳通行证 - `台湾通行证` - 台湾通行证 --- ## API 返回数据示例 ### 列表查询响应 ```json { "code": 200, "msg": "查询成功", "rows": [ { "intermediaryId": 1, "name": "张三", "certificateNo": "110101199001011234", "intermediaryType": "1", "status": "0", "dataSource": "MANUAL", "createTime": "2026-02-04 10:00:00", "updateTime": "2026-02-04 10:00:00" }, { "intermediaryId": 0, "name": "测试机构有限公司", "certificateNo": "91110000123456789X", "intermediaryType": "2", "status": "0", "dataSource": "MANUAL", "createTime": "2026-02-04 10:00:00", "updateTime": "2026-02-04 10:00:00" } ], "total": 2 } ``` ### 个人中介详情响应 ```json { "code": 200, "data": { "intermediaryId": 1, "name": "张三", "certificateNo": "110101199001011234", "intermediaryType": "1", "status": "0", "dataSource": "MANUAL", "remark": "测试数据", "indivType": "中介", "indivSubType": "本人", "indivGender": "M", "indivCertType": "身份证", "indivPhone": "13800138000", "indivWechat": "test_wx001", "indivAddress": "北京市朝阳区测试路123号", "indivCompany": "测试公司", "indivPosition": "测试员", "createTime": "2026-02-04 10:00:00" } } ``` ### 机构中介详情响应 ```json { "code": 200, "data": { "intermediaryId": 0, "name": "测试机构有限公司", "certificateNo": "91110000123456789X", "intermediaryType": "2", "status": "0", "dataSource": "MANUAL", "remark": "机构中介测试数据", "corpCreditCode": "91110000123456789X", "corpType": "有限责任公司", "corpNature": "民营企业", "corpIndustryCategory": "制造业", "corpIndustry": "通用设备制造业", "corpEstablishDate": "2020-01-01", "corpAddress": "北京市海淀区测试大街456号", "corpLegalRep": "李四", "corpLegalCertType": "身份证", "corpLegalCertNo": "110101198001011234", "createTime": "2026-02-04 10:00:00" } } ``` --- ## 前端 Vue 组件示例 ### 枚举转换工具函数 ```javascript // utils/enums.js export const IntermediaryType = { PERSON: '1', ENTITY: '2', getName: (type) => { const map = { '1': '个人', '2': '机构' } return map[type] || '未知' } } export const IntermediaryStatus = { NORMAL: '0', DISABLED: '1', getName: (status) => { const map = { '0': '正常', '1': '停用' } return map[status] || '未知' } } export const DataSource = { MANUAL: 'MANUAL', IMPORT: 'IMPORT', SYSTEM: 'SYSTEM', API: 'API', getName: (source) => { const map = { 'MANUAL': '手动录入', 'IMPORT': '批量导入', 'SYSTEM': '系统同步', 'API': '接口获取' } return map[source] || '未知' } } export const Gender = { MALE: 'M', FEMALE: 'F', OTHER: 'O', getName: (gender) => { const map = { 'M': '男', 'F': '女', 'O': '其他' } return map[gender] || '未知' } } ``` ### 表格列使用枚举 ```vue ``` ### 表单下拉框使用枚举 ```vue ``` --- ## 注意事项 1. **后端只返回代码值**,前端负责转换为显示名称 2. **前端下拉框的 value 应该使用代码值**(如 '1', '2', '0' 等) 3. **建议在前端统一维护枚举映射关系**,避免硬编码 4. **新增枚举值时**,只需要前端更新映射表即可,后端无需修改 5. **国际化支持**:前端可以根据语言切换返回不同的名称