feat(teams): fix checkbox multi-select and improve batch operations UI

- Fix checkbox binding using :model-value instead of :checked
- Change selectedIds from Set to reactive array for proper Vue reactivity
- Move batch refresh/delete buttons to top bar (matching CardKeysPage layout)
- Buttons show selection count like 'Refresh (2)' when items selected
- Swap position of 'Add Team' and 'Random Invite' buttons
- Remove unused isIndeterminate computed property
This commit is contained in:
sar
2026-01-16 11:53:04 +08:00
parent 59f5a87275
commit 474f592dcd
32 changed files with 405 additions and 67 deletions

View File

@@ -7,6 +7,7 @@ export interface Account {
is_active: boolean
seats_in_use: number
seats_entitled: number
active_until?: string
created_at: string
updated_at: string
}
@@ -56,3 +57,18 @@ export function refreshAccount(id: number) {
export function deleteAccount(id: number) {
return request.delete(`/api/accounts/delete?id=${id}`)
}
export interface BatchOperationResponse {
success: boolean
message?: string
success_count?: number
failed_count?: number
}
export function batchDeleteAccounts(ids: number[]) {
return request.delete<BatchOperationResponse>('/api/accounts/batch/delete', { data: { ids } })
}
export function batchRefreshAccounts(ids: number[]) {
return request.post<BatchOperationResponse>('/api/accounts/batch/refresh', { ids })
}

View File

@@ -7,7 +7,7 @@ export interface InviteByCardRequest {
export interface Invitation {
id: number
email: string
invited_email: string
account_id: number
status: string
created_at: string