From 4529166e166a54eb93408a75479850357ee48b22 Mon Sep 17 00:00:00 2001 From: wuzilong <704541015@qq.com> Date: Tue, 8 Sep 2026 22:55:08 +0800 Subject: [PATCH] fix(web-admin): prevent duplicate date sort carets on CRM column headers. Co-authored-by: Cursor --- .../business/column-header-filter/index.vue | 27 ++++++++++++------- .../business/crm-col-filter-header/index.vue | 1 + 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/web-admin/src/components/business/column-header-filter/index.vue b/web-admin/src/components/business/column-header-filter/index.vue index 27a2869ae..a2289d519 100644 --- a/web-admin/src/components/business/column-header-filter/index.vue +++ b/web-admin/src/components/business/column-header-filter/index.vue @@ -214,14 +214,21 @@ defineOptions({ name: 'ColumnHeaderFilter' }) - const props = defineProps<{ - prop: string - label: string - type: ColumnFilterType - isActive: boolean - modelValue?: ColumnFilterState | null - options?: Array<{ value: string; label: string; count: number }> - }>() + const props = withDefaults( + defineProps<{ + prop: string + label: string + type: ColumnFilterType + isActive: boolean + modelValue?: ColumnFilterState | null + options?: Array<{ value: string; label: string; count: number }> + /** CRM 外壳 CrmColFilterHeader 已自绘双三角时传 false,避免重复 */ + enableSort?: boolean + }>(), + { + enableSort: true + } + ) const emit = defineEmits<{ 'update:modelValue': [value: ColumnFilterState | null] @@ -233,7 +240,9 @@ isSortActive: (prop: string, order?: 'asc' | 'desc') => boolean } | null>('crmColumnSort', null) - const showSort = computed(() => Boolean(sortApi && props.type === 'datetime')) + const showSort = computed( + () => Boolean(props.enableSort && sortApi && props.type === 'datetime') + ) const visible = ref(false) const draftText = ref('') diff --git a/web-admin/src/components/business/crm-col-filter-header/index.vue b/web-admin/src/components/business/crm-col-filter-header/index.vue index 79228d5c1..e9dcb5ff2 100644 --- a/web-admin/src/components/business/crm-col-filter-header/index.vue +++ b/web-admin/src/components/business/crm-col-filter-header/index.vue @@ -32,6 +32,7 @@ :prop="prop" :label="label" :type="def.type" + :enable-sort="false" :is-active="api.isFilterActive(prop)" :model-value="api.filters[prop] || null" :options="options"