Просмотр исходного кода

feat(crm): wire date column sort on customer list page.

Co-authored-by: Cursor <cursoragent@cursor.com>
wuzilong 2 месяцев назад
Родитель
Сommit
a2d1de4c41
1 измененных файлов с 24 добавлено и 1 удалено
  1. 24 1
      web-admin/src/views/crm/customer/index.vue

+ 24 - 1
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<string, any> {
   const params: Record<string, any> = {
     page: pagination.page,
     pageSize: pagination.pageSize,
-    ...toQueryParams()
+    ...toQueryParams(),
+    ...toSortQueryParams()
   }
   if (activeView.value && activeView.value !== 'all') {
     params.viewMode = activeView.value