feat(vehicle): 归一化保险记录导入日期格式,修复设备台账批量删除按钮

- 保险记录批量导入时,前端读取 Excel 并规范日期格式为 YYYY-MM-DD,兼容多种日期写法
- 重写 `handleImport` 支持自定义上传逻辑,调用归一化处理后再上传文件
- 添加日期归一化相关方法,确保不合法或已标准格式保持原值
- 设备台账界面新增批量删除按钮及相关逻辑,支持多选数据批量删除并提示确认
- 补充导出含创建时间和更新时间的后端修复说明,避免导出时间字段为空问题
- 说明后端导出分配逻辑,强调导出字段由后端控制,前端修改导出列无效
This commit is contained in:
2026-09-17 21:21:33 +08:00
parent 82fbb99593
commit 3d6e297147
4 changed files with 147 additions and 2 deletions
+6
View File
@@ -111,3 +111,9 @@
- option 由 prop `crudOption` 经 `cloneOption` 克隆。
- 独立表单页走 `PageAvueForm`,不包 el-dialog。
- 自定义详情弹窗:`config.detailButton=true` + `detailSections:[{title, fields}]`。
## 配套后端工程与导出字段约定
- **本前端工程 tms-erp-web-ws 对应的后端是 `/Users/gxwebsoft/JAVA/tms-api`**(不是 `tms-erp-api-ws`,后者功能滞后,排查时不要看错仓库)。
- 所有列表导出(批量导出/下载模板)由后端 FastExcel 生成,前端 `exportColumns` 参数后端未使用 —— 导出列以 `XxxExportExcel.java` 为准,前端改 option 不影响导出。
- BladeX `org.springblade.core.tool.utils.BeanUtil` **继承 Spring `BeanUtils`**:字段类型不兼容时**静默跳过**(实体 `Date createTime` → Excel `LocalDateTime createTime` 会丢值)。所以 Excel 导出的审计时间必须在 Service 里手动赋值,并用 `DateUtil.fromDate(...)` 做 Date→LocalDateTime 转换(`Func.isEmpty` 判空)。参考写法见 Waybill/InsuranceRecord 的 `exportXxx()`。
- 排查导出文件问题:用 Python 标准库 `zipfile` + 解析 `xl/worksheets/sheet1.xml`、`xl/styles.xml` 直接看单元格有无 `<v>` 与 numFmt,无需装 openpyxl。