From 051bda5b3aa564dda578ed38d6e283d07c728a7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Fri, 21 Aug 2026 14:43:58 +0800 Subject: [PATCH] =?UTF-8?q?refactor(settlement):=20=E4=BC=98=E5=8C=96=20tr?= =?UTF-8?q?ansport-reconciliation=20=E8=A1=A8=E6=A0=BC=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E5=8F=8A=E5=AD=97=E6=AE=B5=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - transport-reconciliation 页面将工具栏、表格和分页抽成独立子组件放入 el-tabs 内 - transport-reconciliation-table-panel 组件统一处理 view/edit/delete/confirm 等操作及状态渲染 - formal-settlement-editor 中调整字段布局,el-col 宽度由 8 改为 6,增加表单密度 - 删除 transport-reconciliation 中原有 toolbar 与 table 的分离代码和样式 - 导出操作移交父组件处理,无权限守卫,保持功能一致 - 确认所有改动通过 Vite 构建验证,等待用户体验验证切换与刷新功能 --- .workbuddy/memory/2026-08-21.md | 7 +++++++ .../settlement/components/formal-settlement-editor.vue | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.workbuddy/memory/2026-08-21.md b/.workbuddy/memory/2026-08-21.md index 0f3107f..8f38ec0 100644 --- a/.workbuddy/memory/2026-08-21.md +++ b/.workbuddy/memory/2026-08-21.md @@ -106,3 +106,10 @@ - `el-input-number` 上绑定 `:class="field.class"`。 - scoped style 的 `&__form` 内增加 `:deep(.exchange-rate-input .el-input__inner) { text-align: left; }`。 - 影响:仅针对「结算汇率」字段,不改动其他数字输入框对齐方式。 + +## transport-reconciliation:同样把表格放进 tabs +- 需求:`/settlement/transport-reconciliation` 与 formal-settlement 同样问题——`el-tabs`(应付/应收) 是空 type 切换器、工具栏+表格在 tabs 外;要求把表格放进 tabs 内。 +- 改动: + 1. 新建 `src/views/settlement/components/transport-reconciliation-table-panel.vue`:工具栏(新增/导出+刷新)+`el-table`+分页抽成子组件;props 同 formal 面板,emits `create/export/refresh/page-change/update:selection/action`;列渲染差异:`.link` 列点击 emit view、`reconciliationStatusName` 走 `row.reconciliationStatus==='completed'?'success':'warning'` 的 el-tag;行操作 `rowActions(row)` 为 查看(常显)+编辑/删除/确认(均 `hasPermission && isEditable(row)`,isEditable=`reconciliationStatus==='unfinished'`),确认非 danger。 + 2. `src/views/settlement/transport-reconciliation.vue`:删除原 toolbar+table+pagination 块与对应 scoped 样式(`__toolbar/__toolbar-right/__links/__pagination`),在两个 `el-tab-pane` 内各放一个面板;保留 `.reconciliation-page__settlement-tabs`(含 `:deep(.el-tabs__header){margin:0}`);新增 `handlePageChange`、`handleAction({type,row})`(view→openView/edit→openEdit/delete→handleDelete/complete→handleComplete);删除 `handleSizeChange`。导出按钮无权限守卫、仍 emit `export` 由父 `handleExport`(用 `this.settlementType`)处理。 +- 验证:Vite build 通过(EXIT=0)。待用户在 2889 刷新核对应付/应收 tab 各自带完整表格与工具栏、切换触发 reload。 diff --git a/src/views/settlement/components/formal-settlement-editor.vue b/src/views/settlement/components/formal-settlement-editor.vue index 3100841..4e9f24b 100644 --- a/src/views/settlement/components/formal-settlement-editor.vue +++ b/src/views/settlement/components/formal-settlement-editor.vue @@ -10,7 +10,7 @@ label-width="auto" > - +