feat(core): 统一全站时间列加排序并优化司机管理显示
- 所有含时间的列表列(创建时间、更新时间、起止日期等)均增加排序功能,兼顾Avue option和手写el-table-column - 司机管理「姓名身份证号」列拆分为独立的「姓名」「身份证号」两列,分别使用插槽渲染 - 修复车辆/船舶/司机管理「所属组织」列前导空格问题,value 使用无缩进原始标签 - 调整司机管理页到期筛选标签位置,移至搜索菜单行并优化样式,删除过渡占位筛选字段 - 增加组织名称列自定义插槽,去除已入库旧数据的前导空白 - 更新相关样式,删除无用样式代码,增加表格列排序样式支持
This commit is contained in:
@@ -1,5 +1,28 @@
|
||||
# 2026-08-07 工作日志
|
||||
|
||||
## 修复车辆/船舶/司机管理「所属组织」列前导空格
|
||||
- 症状:车辆管理列表截图中「所属组织」列值左侧有明显缩进空格。
|
||||
- 根因:组织下拉选项构建时把带层级缩进(全角空格 `' '.repeat(level)`)的字符串同时作为 `label` 和 `value`,保存到后端后表格直接回显该值,导致前导空格。
|
||||
- 改动:
|
||||
- `src/views/transportCapacity/vehicle.vue`、`ship.vue`、`driver.vue`
|
||||
- `flattenDeptOptions` / `formatDeptOptions`:`value` 改为无缩进的 `rawLabel`,`label` 仍保留缩进用于下拉层级展示。
|
||||
- 表格增加 `#organizationName` 插槽,对 `row.organizationName` 去除前导半角/全角空白,兼容已入库的旧数据。
|
||||
- `src/option/transportCapacity/transport-vehicle.js`、`transport-ship.js`、`driver.js`
|
||||
- 「所属组织」列增加 `slot: true`,使自定义插槽生效。
|
||||
- 验证:通过 `git diff` 确认 6 个文件改动正确。
|
||||
|
||||
## 调整司机管理到期筛选标签位置
|
||||
- 需求:截图反馈司机管理页「全部 / 30天内到期 / 已到期」三个筛选标签放在搜索表单右侧,占位突兀,希望与搜索/重置按钮同排或放到更合适位置。
|
||||
- 方案:参考 `business-crud-page.vue` 的 `#search-menu` 插槽,把筛选标签移到搜索菜单行(搜索/重置按钮同一排),标签居左、按钮居右。
|
||||
- 改动:
|
||||
- `src/views/transportCapacity/driver.vue`
|
||||
- `#expireStatus-search` 插槽改为 `#search-menu` 插槽。
|
||||
- `.driver-page__expiry-tags` 增加 `order: -1`、`margin-right: auto`、`min-width: 0`,移除 `width: 100%` 和不再需要的响应式媒体查询。
|
||||
- `src/option/transportCapacity/driver.js`
|
||||
- 删除仅作为占位用的 `expireStatus` 隐藏搜索字段(`search: true`、`searchSpan: 6` 等)。
|
||||
- 说明:筛选逻辑仍通过 `query.expireStatus` + `handleExpireChange` 工作,不受字段删除影响;车辆/船舶管理页有相同布局,如需统一可复用该改法。
|
||||
- 验证:通过 `git diff` 确认改动正确。
|
||||
|
||||
## 运输计划调度弹窗恢复左右分栏布局
|
||||
- 需求:客户提供「计划详情」参考截图,要求调度弹窗改回「左侧基本信息卡 + 右侧收发货路线卡」的左右分栏布局。
|
||||
- 改动:`src/views/business/components/business-crud-page.vue`
|
||||
@@ -108,3 +131,27 @@
|
||||
- 评分详情弹窗的「证明材料」改为 `<section-card title="证明材料" class="score-material-card">`。
|
||||
- 清理不再使用的样式:`.archive-form__group`、`.section-title`、`.section-head`、`.customer-material-section`、`.change-record-section`、`.invoice-form__section-title`、`.score-material-section` 等。
|
||||
- 验证:`npm run build` 成功(exit code 0)。
|
||||
|
||||
## 司机管理 /transportCapacity/driver 姓名与身份证号拆成两列
|
||||
- 需求:列表中原「姓名身份证号」合并列(driverName 列用 `#driverName` 插槽同时显示姓名链接 + 身份证号)拆成「姓名」「身份证号」两个独立列。
|
||||
- 改动:
|
||||
- `src/option/transportCapacity/driver.js`
|
||||
- 原 `label: '姓名身份证号'` 列改为 `label: '姓名'`(minWidth 120,保留 slot/search,searchOrder 7 不变)。
|
||||
- 新增独立「身份证号」列(`prop: 'idCardNo'`、`search: true`、`searchOrder: 2`、`slot: true`、`minWidth: 180`),并上移到 `driverName` 之后,使其紧邻「姓名」列(表格列顺序 = 数组顺序,`searchOrder` 仅控制搜索表单顺序,互不影响)。
|
||||
- 原 `idCardNo` 隐藏搜索列(`hide: true`)被该新列取代后删除重复定义。
|
||||
- `src/views/transportCapacity/driver.vue`
|
||||
- `#driverName` 插槽只保留姓名链接(去掉原内联的身份证号 `<span>`)。
|
||||
- 新增 `#idCardNo` 插槽显示 `row.idCardNo || '-'`(空值显示横杠)。
|
||||
- 删除不再使用的 `.driver-page__identity` 样式块。
|
||||
- 验证:`node --check` 选项文件语法通过;`npm run build` 仅因环境 safe-delete 守卫拦截清空 dist(与代码无关),未报任何 transform/parse 错误。
|
||||
|
||||
## 全站时间列统一加排序(参考 /base/cargo-type)
|
||||
- 需求:用户截图 /business/contract-manage 页面,要求「有时间的都加一个排序」,参考 /base/cargo-type(该页面 createTime/updateTime 已设 `sortable: true`)。
|
||||
- 方案:Avue 列加 `sortable: true`;手写 `<el-table-column>` 加 `sortable` 属性。精确匹配时间相关 label/prop,排除 `hide: true` 的搜索专用字段。
|
||||
- 精确匹配范围:创建/更新时间、开始/结束日期、生效/失效日期、计划/实际/预计日期时间、审核/上传/变更/评分/调度日期时间、事故/检测/有效截止日期、入口/出口/交易/费用/换胎/出厂/维修/保养时间、登录/申请/提交/操作/触发/过期/日志/记录时间等。
|
||||
- 改动文件(共 53 个):
|
||||
- **src/option(18 个)**:base/common-address.js、business/common.js、business/contract-manage.js、business/project-apply.js、business/transport-plan.js、business/waybill-manage.js、system/authlog.js、transportCapacity/driver.js、vehicle/accident-record.js、vehicle/annual-inspection-record.js、vehicle/etc-record.js、vehicle/equipment-ledger.js、vehicle/insurance-record.js、vehicle/mileage-record.js、vehicle/oil-electric-record.js、vehicle/other-expense-record.js、vehicle/tire-replacement-record.js、vehicle/transport-change-record.js。
|
||||
- **src/views 内联 Avue option(30 个)**:flow/follow.vue、flow/manager.vue、flow/model.vue、desk/notice.vue、desk/notice-composition.vue、report/reportlist.vue、work/done.vue、work/todo.vue、work/start.vue、work/claim.vue、work/send.vue、authority/ratelimit.vue、authority/apikey.vue、monitor/log/api.vue、monitor/log/usual.vue、monitor/log/error.vue、base/railway-station.vue、base/airport-master.vue、base/currency.vue、base/customer-type.vue、base/fee-item.vue、base/port-terminal.vue、data/record.vue、util/form.vue、util/table.vue、system/tenant.vue、vehicle/maintenance-plan.vue、vehicle/maintenance-record.vue、vehicle/credit-score-quantification.vue、vehicle/customer-archive.vue。
|
||||
- **src/views 手写 el-table(6 个)**:system/dept.vue、business/loading-manage.vue、business/components/waybill-import-dialog.vue、business/project-apply.vue、vehicle/customer-archive.vue、business/components/business-crud-page.vue。
|
||||
- 注意:弹窗内子表(如合同变更记录、项目附件/变更、客商档案评分/材料/变更记录等)时间列也一并加了排序;util/form.vue、util/table.vue 为示例页同样处理。
|
||||
- 验证:`npm run build` 成功(exit code 0);构建日志中的 CSS `*` 告警为历史既有,与本次无关。
|
||||
|
||||
Reference in New Issue
Block a user