From 0fe258dbc2743c2b123690c6b6efd4ee85fb9977 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Wed, 13 Aug 2025 09:26:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20onExportXls=20defSort=20?= =?UTF-8?q?=E4=B8=8D=E7=94=9F=E6=95=88=E9=97=AE=E9=A2=98=20#7570?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/hooks/system/useListPage.ts | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/jeecgboot-vue3/src/hooks/system/useListPage.ts b/jeecgboot-vue3/src/hooks/system/useListPage.ts index b2d8036fa..1871c8447 100644 --- a/jeecgboot-vue3/src/hooks/system/useListPage.ts +++ b/jeecgboot-vue3/src/hooks/system/useListPage.ts @@ -16,7 +16,10 @@ interface ListPageOptions { // 样式作用域范围 designScope?: string; // 【必填】表格参数配置 - tableProps: TableProps; + tableProps: TableProps & { + // 添加 defSort 类型定义 + defSort?: DefSort; + }; // 是否分页 pagination?: boolean; // 导出配置 @@ -46,6 +49,11 @@ interface IDoRequestOptions { clearSelection?: boolean; } +interface DefSort { + column: string; + order: 'asc' | 'desc'; +} + /** * listPage页面公共方法 * @@ -85,8 +93,17 @@ export function useListPage(options: ListPageOptions) { //update-end-author:taoyan date:20220507 for: erp代码生成 子表 导出报错,原因未知- //update-begin-author:liusq date:20230410 for:[/issues/409]导出功能没有按排序结果导出,设置导出默认排序,创建时间倒序 - if(!paramsForm?.column){ - Object.assign(paramsForm,{column:'createTime',order:'desc'}); + // 获取表格的默认排序 + const { defSort } = options?.tableProps ?? {}; + if (defSort && !paramsForm?.column) { + // 使用类型断言确保 defSort 类型正确 + Object.assign(paramsForm, { + column: (defSort as DefSort).column, + order: (defSort as DefSort).order, + }); + } else if (!paramsForm?.column) { + // 如果没有默认排序,则使用创建时间倒序 + Object.assign(paramsForm, { column: 'createTime', order: 'desc' }); } //update-begin-author:liusq date:20230410 for: [/issues/409]导出功能没有按排序结果导出,设置导出默认排序,创建时间倒序