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