From 0168d71154b941a05b0397cf40876b9a25629c83 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Mon, 7 Nov 2022 19:06:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=A4=9A=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E6=8E=92=E5=BA=8F&=E8=A1=A8=E6=A0=BC=E5=88=97=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=8B=96=E6=8B=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/settings/componentSetting.ts | 43 +++++++++++++++----- src/views/system/examples/demo/DemoModal.vue | 18 ++++++-- src/views/system/examples/demo/demo.data.ts | 39 ++++++++++++------ src/views/system/examples/demo/index.vue | 32 +++++++++++---- 4 files changed, 99 insertions(+), 33 deletions(-) diff --git a/src/settings/componentSetting.ts b/src/settings/componentSetting.ts index 0231c93..61af013 100644 --- a/src/settings/componentSetting.ts +++ b/src/settings/componentSetting.ts @@ -25,18 +25,23 @@ export default { defaultPageSize: 10, // 默认排序方法 defaultSortFn: (sortInfo: SorterResult) => { - const { field, order } = sortInfo; - if (field && order) { - let sortType = 'ascend' == order ? 'asc' : 'desc'; + //update-begin-author:taoyan date:2022-10-21 for: VUEN-2199【表单设计器】多字段排序 + if(sortInfo instanceof Array){ + let sortInfoArray:any[] = [] + for(let item of sortInfo){ + let info = getSort(item); + if(info){ + sortInfoArray.push(info) + } + } return { - // 排序字段 - column: field, - // 排序方式 asc/desc - order: sortType, - }; - } else { - return {}; + sortInfoString: JSON.stringify(sortInfoArray) + } + }else{ + let info = getSort(sortInfo) + return info || {} } + //update-end-author:taoyan date:2022-10-21 for: VUEN-2199【表单设计器】多字段排序 }, // 自定义过滤方法 defaultFilterFn: (data: Partial>) => { @@ -63,3 +68,21 @@ export default { colon: true, }, }; + +/** + * 获取排序信息 + * @param item + */ +function getSort(item){ + const { field, order } = item; + if (field && order) { + let sortType = 'ascend' == order ? 'asc' : 'desc'; + return { + // 排序字段 + column: field, + // 排序方式 asc/desc + order: sortType, + }; + } + return '' +} diff --git a/src/views/system/examples/demo/DemoModal.vue b/src/views/system/examples/demo/DemoModal.vue index 232ada7..2a2d366 100644 --- a/src/views/system/examples/demo/DemoModal.vue +++ b/src/views/system/examples/demo/DemoModal.vue @@ -1,10 +1,10 @@