v4.0.11HQ后端优化(快链、账单日等)
CI / verify (pull_request) Waiting to run

This commit is contained in:
2026-09-02 15:45:12 +08:00
parent 1000b489a0
commit 6880b5daf4
31 changed files with 1014 additions and 402 deletions
+1
View File
@@ -6,6 +6,7 @@ export const CLIENT_APP = 'HQ_WEB';
export type HqProfile = {
id: string;
phone: string;
loginName?: string | null;
name: string;
adminRole: string;
status: string;
+8
View File
@@ -0,0 +1,8 @@
/** 将列表可见列 key 追加到导出 query */
export function appendExportColumns(qs: URLSearchParams, keys: string[]) {
if (keys.length) qs.set('columns', keys.join(','));
}
export function exportColumnsBody(keys: string[]): { columns?: string[] } {
return keys.length ? { columns: keys } : {};
}
+12 -1
View File
@@ -11,6 +11,7 @@ import {
applyColumnPrefs,
columnKey,
settingItems,
visibleColumnKeys,
type ListColumnSettingItem,
} from './list-column-prefs';
import { beginColumnResize, withResizeTitle } from './column-resize';
@@ -48,6 +49,16 @@ export function useAdminListColumns<T>(
);
itemsRef.current = items;
const exportColumnKeys = useMemo(() => {
const keyed = (allColumns as ColumnType<T>[]).map((col, i) => ({
col,
key: columnKey(col, i),
actions: col.title === '操作' || col.key === ACTIONS_COLUMN_KEY || col.key === 'actions',
}));
const defaultKeys = keyed.filter((c) => !c.actions).map((c) => c.key);
return visibleColumnKeys(defaultKeys, pref);
}, [allColumns, pref]);
const serialCol: ColumnType<T> = useMemo(
() => ({
key: SERIAL_COLUMN_KEY,
@@ -171,5 +182,5 @@ export function useAdminListColumns<T>(
/>
);
return { columns, settingsButton, settingsModal };
return { columns, settingsButton, settingsModal, exportColumnKeys };
}