feat(crm): wire date column sort on contract manage and approval lists.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
wuzilongandCursor committed 2026-09-08 21:51:35 +08:00
1 parent 381ece40df
commit 626f91d4a8
2 files changed
+29 -1

No files matched your search

+2
View File
@@ -30,6 +30,8 @@ export interface ContractQuery {
signDateEnd?: string
beginTime?: string
endTime?: string
sortField?: string
sortOrder?: 'asc' | 'desc'
/** 列表是否附带合同产品明细(选择合同弹窗等场景) */
includeProducts?: boolean
}
@@ -605,6 +605,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 type { DatetimeColumnFilterState } from '@/composables/useClientColumnFilters'
import { buildStatsRowColumns } from '@/utils/list-column-stats'
import { buildContractColumnFilterDefs } from './columnFilterDefs'
@@ -656,6 +657,29 @@ provide('crmColumnFilters', {
defMap
})
const {
sortField,
sortOrder,
setSort,
clearSort,
isSortActive,
toQueryParams: toSortQueryParams,
watchVisibleColumns: watchSortVisibleColumns
} = useColumnSort({
onChange: () => {
queryParams.value.pageNum = 1
getList()
}
})
provide('crmColumnSort', {
setSort,
clearSort,
isSortActive,
sortField,
sortOrder
})
function formatContractDateYmd(date: Date) {
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
@@ -796,6 +820,7 @@ const visibleFilterProps = computed(() => {
return props
})
watchVisibleColumns(visibleFilterProps)
watchSortVisibleColumns(visibleFilterProps)
function handleResetColumns() {
resetToDefault()
@@ -858,7 +883,8 @@ function buildListQueryParams(): ContractQuery {
const params: ContractQuery = {
...queryParams.value,
...colParams,
...viewScopeParams
...viewScopeParams,
...toSortQueryParams()
}
const hasStatusIn = Boolean(colParams.statusIn)
const hasStatusFilter = Boolean(colParams.status)