From a2d1de4c4162b4550e32b449fb3043116b4ed0e6 Mon Sep 17 00:00:00 2001 From: wuzilong <704541015@qq.com> Date: Tue, 8 Sep 2026 21:49:05 +0800 Subject: [PATCH] feat(crm): wire date column sort on customer list page. Co-authored-by: Cursor --- web-admin/src/views/crm/customer/index.vue | 25 +++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/web-admin/src/views/crm/customer/index.vue b/web-admin/src/views/crm/customer/index.vue index 75301e0c4..e8b44d0bd 100644 --- a/web-admin/src/views/crm/customer/index.vue +++ b/web-admin/src/views/crm/customer/index.vue @@ -711,6 +711,7 @@ import CrmColFilterHeader from '@/components/business/crm-col-filter-header/inde import { usePersistedListColumns } from '@/composables/usePersistedListColumns' import { useListTableViewportHeight } from '@/composables/useListTableViewportHeight' import { useServerColumnFilters } from '@/composables/useServerColumnFilters' +import { useColumnSort } from '@/composables/useColumnSort' import { buildCustomerColumnFilterDefs } from './columnFilterDefs' const dictStore = useDictStore() @@ -762,6 +763,26 @@ provide('crmColumnFilters', { defMap }) +const { + sortField, + sortOrder, + setSort, + clearSort, + isSortActive, + toQueryParams: toSortQueryParams, + watchVisibleColumns: watchSortVisibleColumns +} = useColumnSort({ + onChange: () => runListSearch() +}) + +provide('crmColumnSort', { + setSort, + clearSort, + isSortActive, + sortField, + sortOrder +}) + // 列配置 const listColumnDefs = [ { prop: 'shortName', label: '客户简称' }, @@ -834,6 +855,7 @@ const visibleFilterProps = computed(() => { return props }) watchVisibleColumns(visibleFilterProps) +watchSortVisibleColumns(visibleFilterProps) function handleResetColumns() { resetToDefault() @@ -875,7 +897,8 @@ function buildQueryParams(): Record { const params: Record = { page: pagination.page, pageSize: pagination.pageSize, - ...toQueryParams() + ...toQueryParams(), + ...toSortQueryParams() } if (activeView.value && activeView.value !== 'all') { params.viewMode = activeView.value