Files
tms-erp-web/.workbuddy/memory/2026-08-26.md
T
gxwebsoft 899a8c1c2b style(payment): 优化票据搜索条件交互和标签宽度统一
- 票据账册搜索改用 el-check-tag 实现快捷筛选,提升用户交互体验
- 查询按钮增加图标,重置按钮同样添加图标及文字说明
- 调整票据搜索表单标签宽度由160px统一为88px,优化界面一致性
- 全站多处搜索栏表单标签宽度由160px改为88px,涵盖多页面及组件
- 修复业务组件内el-autocomplete输入框宽度适配,避免placeholder被裁剪
- 业务页面货物名称表格列宽由150调整为240,改善显示效果
- 修正系统部门操作列宽度避免按钮竖排溢出问题
- 修改多个表单页和搜索板块样式,确保标签宽度和对齐一致
- 调整表单按钮等样式,提升整体页面美观性和操作友好度
2026-08-26 11:59:49 +08:00

3.1 KiB

2026-08-26

el-table 内嵌 el-autocomplete 撑满列宽(全局规则补充)

问题: business/transport-plan/form?mode=add 独立表单页"货物信息"表格, 「货物名称」列 placeholder 请输入货物名称 只显示 请输入货物名…

根因: element-ui.scss 兜底规则只覆盖 .el-input,而 <el-autocomplete> 在 Element Plus 中 根节点是 .el-autocomplete 包装层,内部才是 .el-input,中间多了一层导致选择器不命中, autocomplete 没有拉满 cell,placeholder 被内边距 / clear 图标挤压截断。

修复:

  • src/styles/element-ui.scss 第 663 行兜底规则追加:
    • .cell > .el-autocomplete width:100%
    • .cell > .el-autocomplete > .el-input width:100%
    • .cell > .el-autocomplete .el-input__wrapper width:100%
  • src/views/business/components/business-crud-page.vue:1520 独立表单页 "货物名称"列 min-width="150"240(与 1544 行「货物类型」cascader 列一致)。

其它内嵌 <el-select> / <el-input> / <el-cascader> 不受影响(选择器依旧命中), 3626 行(调度明细「货物名称」用的是 el-select)未做改动。

全站搜索栏 label 宽度统一 88px

问题: 主人反馈 business/master-order 搜索区 label 宽度 160px,要求全站统一改成 88px, 参考 business/shipping-template(已经是 88px)。

调研:

  • src/styles/element-ui.scss:133-136 已有 .avue-crud__search .el-form-item__label { min-width: 88px; }, 全站 Avue 自动搜索栏视觉上就是 88px。
  • shipping-template 走 <business-crud-page>(Avue),所以 label 是 88px。
  • 但是项目里有 18 个文件,22 处直接手写 <el-form ... label-width="160px">,不走 .avue-crud__search, 视觉就是 160px。这些都是搜索/筛选 <el-form>(顶层 query 或子表单),不是表单 dialog 内填表。

改动: 全部 22 处 label-width="160px"label-width="88px"

涉及文件:

  • business: master-order.vue, voucher-manage.vue(3 处), loading-manage.vue
  • payment: invoice-application, invoice-receipt, receipt-flow, receipt-claim-record, payment-application, components/bill-ledger-search, components/bill-payment-search
  • settlement: settlement-adjustment, receivable-payable-detail, pre-settlement, formal-settlement, transport-reconciliation, components/transport-reconciliation-editor, components/formal-settlement-editor(3 处,都是子筛选)
  • transit: risk-disposal, exception-disposal

遗漏补丁: transit/exception-disposal.vue 搜索区不走 Avue,而是在 scoped 样式里用 :deep(.el-form-item__label) { min-width: 160px } 写死,盖过了全局 88px。 已改为 min-width: 88px(文件第 443 行)。risk-disposal.vue 无此 scoped 覆盖,本来就是 88px。

未做改动: 表单 dialog 内填写项(shipping-template-dialog / transport-plan-dialog / waybill-manage-dialog 等)走专门的 dialogCustomClass + labelWidth:100, 不受本规则影响。 其余残留 160px 均非搜索栏: project-apply.vue:2095(表单详情弹窗 label,故意留 6 汉字)、 customer-archive.vue:4980(按钮 min-width)、cargo-type.vue:604(选择器拼错不生效,设 50px)。