[步骤]
车辆管理需要新增批量导入/导出功能,后端功能接口已经实现,前端进行对接即可


[前端对接方案]
接口链路
1. 前置检查
GET /parking/vehicle/initial-import/pre-check?communityId=xxx
用途:打开导入弹窗时调用。展示车场、默认收费规则、网关配置等检查结果。
如果返回有 ERROR 且 passed=false,不允许继续导入。
2. 下载模板
GET /parking/vehicle/initial-import/template?communityId=xxx
用途:下载 原始车辆导入模板.xlsx。
模板里包含车场、收费标准、车位参考页。
3. 上传解析
POST /parking/vehicle/initial-import/parse
Content-Type: multipart/form-data
file=Excel文件
communityId=xxx
用途:选择 Excel 后上传解析。
返回预览结果:总数、通过数、警告数、错误数、每行校验信息。
4. 预览后再校验
POST /parking/vehicle/initial-import/validate
请求体:
{
"communityId": 203,
"rowList": [
{
"rowNum": 2,
"plateNo": "粤B12345",
"vehicleTypeName": "业主车",
"ownerName": "张三",
"roomFullName": "1-1-101",
"ownerPhone": "13800000000",
"lotName": "易停空间",
"feeStandardName": "月租规则",
"spaceNo": "A-001",
"validityStart": "2026-06-01",
"validityEnd": "2027-05-31",
"remark": ""
}
]
}
用途:前端允许用户在预览表格里修正数据后,重新校验。
5. 确认导入
POST /parking/vehicle/initial-import/confirm
请求体:
{
"communityId": 203,
"batchNo": "IMPORT-VEHICLE-20260608-XXXX",
"rowList": []
}
rowList 传当前预览表格里最终确认的数据。
如果还有错误行,后端会拒绝导入。确认后会入库、写导入日志,并触发下发。
页面建议
按钮入口放在车辆管理页:
- 新增车辆
- 登记访客
- 批量导入
- 批量下发
- 加入黑名单
导入弹窗建议分 4 步:
1. 前置检查
2. 下载模板
3. 上传解析
4. 预览确认
预览表格字段:
- 行号
- 车牌号
- 车辆类型
- 业主姓名
- 房屋全称
- 联系电话
- 所属车场
- 收费标准
- 绑定车位
- 有效期起
- 有效期止
- 状态:PASS / WARN / ERROR
- 错误/警告说明
展示规则:
- ERROR 行红色,不允许确认导入。
- WARN 行黄色,可以确认,但要提示用户确认。
- PASS 行正常。
- 确认导入按钮:errorCount > 0 时禁用。
前端 API 封装建议
export const parkingVehicleInitialImportApi = {
preCheck: (communityId) =>
getRequest('/parking/vehicle/initial-import/pre-check', { communityId }),
downloadTemplate: (communityId) =>
getDownload('/parking/vehicle/initial-import/template', { communityId }, '原始车辆导入模板.xlsx'),
parse: (formData) =>
postRequest('/parking/vehicle/initial-import/parse', formData),
validate: (param) =>
postRequest('/parking/vehicle/initial-import/validate', param),
confirm: (param) =>
postRequest('/parking/vehicle/initial-import/confirm', param),
};
注意:parse 是 multipart/form-data,需要带 file 和 communityId。
旧接口处理
/parking/vehicle/import 不建议继续接。
前端新停车车辆管理页面只接 initial-import,老接口最多保留在接口文档里标记“废弃”。
[期望]