import { defineStore } from 'pinia' import { allUsersApi } from '@/services/api' import { ref } from 'vue' import { useUserStore } from '@/stores/user' export const useOwnerStore = defineStore('owner', () => { const owners = ref([]) const isLoading = ref(false) const error = ref(null) const loadOwners = async () => { if (owners.value.length > 0) return const userStore = useUserStore() if (userStore.userInfo && userStore.userInfo.role !== 'admin') return try { isLoading.value = true error.value = null const data = await allUsersApi() owners.value = [ { name: '全部用户', value: '' }, ...data.map(user => ({ name: user.name, value: user.id })) ] } catch (err) { error.value = '加载用户列表失败' console.error('加载用户列表失败:', err) } finally { isLoading.value = false } } const reset = () => { owners.value = [] isLoading.value = false error.value = null } return { owners, isLoading, error, loadOwners, reset } })