From 32cd42da920be2dfd4d66cd843fdeb1948e6e05d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Tue, 10 Nov 2026 00:51:35 +0800 Subject: [PATCH] =?UTF-8?q?:lipstick:=20=E4=BB=98=E6=AC=BE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=90=9C=E7=B4=A2=E6=A0=8F=E6=94=B9=E9=80=A0=E4=B8=BA?= =?UTF-8?q?=E6=89=8B=E5=86=99=E6=90=9C=E7=B4=A2=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 与应收/应付明细等页面搜索样式统一(4列网格、查询/重置独占一行靠右、默认折叠一行4条件) - 移除 avue 内置搜索配置与搜索专用列,搜索字段与后端参数保持不变 - 展开搜索后触发表格高度重算,分页保持在一屏内 --- src/option/payment/paymentApplication.js | 126 +--------------- src/views/payment/payment-application.vue | 166 +++++++++++++++++++--- 2 files changed, 156 insertions(+), 136 deletions(-) diff --git a/src/option/payment/paymentApplication.js b/src/option/payment/paymentApplication.js index 6e5559a..7dc673f 100644 --- a/src/option/payment/paymentApplication.js +++ b/src/option/payment/paymentApplication.js @@ -1,14 +1,11 @@ /** * 付款申请列表(avue-crud)配置 * ------------------------------------------------------------------ - * 列表页与其它模块统一使用 avue-crud,头部 4 个按钮(刷新 / 列显隐 / 搜索显隐 / - * 表格卡片切换)由 avue-crud 自带,不做二次封装。 + * 列表页与其它模块统一使用 avue-crud,头部按钮(刷新 / 列显隐 / 表格卡片切换) + * 由 avue-crud 自带,不做二次封装。 * - * 搜索项与表格列 label 不一致的(如表格列「收款方」/ 搜索项「客户名称」), - * 单独定义一个 hide 的搜索列,并用 searchProp 映射到后端字段。 - * - * ⚠️ avue 的 searchOrder 为降序排序,值越大越靠前(见 header-search2.js: - * `list.sort((a, b) => (b.searchOrder || 0) - (a.searchOrder || 0))`)。 + * 搜索栏与应收/应付明细等页面统一为页面级手写搜索区(见 payment-application.vue), + * 此处只保留表格列配置。 */ const textFormatter = (row, value) => @@ -16,46 +13,10 @@ const textFormatter = (row, value) => const moneyFormatter = (row, value) => Number(value || 0).toFixed(2); -// 仅用于搜索、不在表格中出现的列 -const searchOnlyColumn = ({ label, prop, searchOrder, searchProp, dicData }) => { - const column = { - label, - prop, - search: true, - searchOrder, - searchPlaceholder: '请输入', - hide: true, - showColumn: false, - addDisplay: false, - editDisplay: false, - viewDisplay: false, - }; - if (searchProp) column.searchProp = searchProp; - if (dicData) { - column.type = 'select'; - column.searchPlaceholder = '请选择'; - column.dicData = dicData; - } - return column; -}; - -export const paymentApplicationOption = ({ - paymentTypeOptions = [], - approvalStatusOptions = [], - kingdeeStatusOptions = [], -} = {}) => ({ +export const paymentApplicationOption = () => ({ height: 'auto', calcHeight: 32, tip: false, - searchBtnText: '查询', - emptyBtnText: '重置', - searchShow: true, - searchIcon: true, - searchLabelWidth: 88, - // 查询/重置紧跟首行 4 个条件(4×5 + 菜单 4 = 24),不再独占下一整行 - searchMenuSpan: 4, - searchIndex: 4, - searchMenuPosition: 'right', border: true, index: true, indexLabel: '序号', @@ -73,84 +34,11 @@ export const paymentApplicationOption = ({ menuFixed: 'right', dialogClickModal: false, column: [ - // ---------- 搜索项(前 4 项默认展示,其余折叠;searchOrder 越大越靠前) ---------- - { - label: '单据号', - prop: 'paymentNo', - slot: true, - search: true, - searchSpan: 5, - searchOrder: 9, - searchPlaceholder: '请输入', - minWidth: 150, - }, - { - label: '日期', - prop: 'applyDateRange', - type: 'daterange', - searchType: 'daterange', - search: true, - searchSpan: 5, - searchOrder: 8, - hide: true, - showColumn: false, - addDisplay: false, - editDisplay: false, - viewDisplay: false, - }, - { - ...searchOnlyColumn({ - label: '客户名称', - prop: 'payeeNameSearch', - searchOrder: 7, - searchProp: 'payeeName', - }), - searchSpan: 5, - }, - { - ...searchOnlyColumn({ - label: '项目名称', - prop: 'projectNameSearch', - searchOrder: 6, - searchProp: 'projectName', - }), - searchSpan: 5, - }, - searchOnlyColumn({ - label: '关联结算单', - prop: 'settlementNo', - searchOrder: 4, - }), - searchOnlyColumn({ - label: '付款类型', - prop: 'paymentType', - searchOrder: 3, - dicData: paymentTypeOptions, - }), - searchOnlyColumn({ - label: '审核状态', - prop: 'approvalStatus', - searchOrder: 2, - dicData: approvalStatusOptions, - }), - searchOnlyColumn({ - label: '金蝶单据状态', - prop: 'kingdeeStatus', - searchOrder: 1, - dicData: kingdeeStatusOptions, - }), // ---------- 表格列 ---------- + { label: '单据号', prop: 'paymentNo', slot: true, minWidth: 150 }, { label: '付款类型', prop: 'paymentTypeName', minWidth: 110, formatter: textFormatter }, { label: '所属项目', prop: 'projectName', minWidth: 140, formatter: textFormatter }, - { - label: '所属组织', - prop: 'deptName', - search: true, - searchOrder: 5, - searchslot: true, - minWidth: 120, - formatter: textFormatter, - }, + { label: '所属组织', prop: 'deptName', minWidth: 120, formatter: textFormatter }, { label: '合同编号', prop: 'contractNo', minWidth: 130, formatter: textFormatter }, { label: '合同名称', prop: 'contractName', minWidth: 140, formatter: textFormatter }, { label: '付款方', prop: 'payerName', minWidth: 130, formatter: textFormatter }, diff --git a/src/views/payment/payment-application.vue b/src/views/payment/payment-application.vue index a66fb04..e67d7a4 100644 --- a/src/views/payment/payment-application.vue +++ b/src/views/payment/payment-application.vue @@ -1,13 +1,61 @@