ilk
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
// src/stores/userListStore.js
|
||||
import { defineStore } from 'pinia'
|
||||
import api from 'src/services/api'
|
||||
|
||||
export const useUserListStore = defineStore('userlist', {
|
||||
state: () => ({
|
||||
users: [],
|
||||
loading: false,
|
||||
error: null,
|
||||
|
||||
filters: {
|
||||
search: '',
|
||||
onlyActive: false
|
||||
}
|
||||
}),
|
||||
|
||||
getters: {
|
||||
filteredUsers(state) {
|
||||
let result = state.users
|
||||
const term = state.filters.search?.toLowerCase() || ''
|
||||
|
||||
if (term) {
|
||||
result = result.filter(u =>
|
||||
u.code?.toLowerCase().includes(term) ||
|
||||
u.nebim_username?.toLowerCase().includes(term) ||
|
||||
u.role_names?.toLowerCase().includes(term) ||
|
||||
u.department_names?.toLowerCase().includes(term) ||
|
||||
u.piyasa_names?.toLowerCase().includes(term)
|
||||
)
|
||||
}
|
||||
|
||||
if (state.filters.onlyActive) {
|
||||
result = result.filter(u => u.is_active)
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
},
|
||||
|
||||
actions: {
|
||||
async fetchUsers() {
|
||||
this.loading = true
|
||||
this.error = null
|
||||
|
||||
try {
|
||||
const params = {}
|
||||
|
||||
if (this.filters.search) {
|
||||
params.search = this.filters.search
|
||||
}
|
||||
|
||||
const { data } = await api.get(
|
||||
'/users/list',
|
||||
{ params }
|
||||
)
|
||||
|
||||
this.users = Array.isArray(data) ? data : []
|
||||
|
||||
console.log('✅ User listesi alındı:', this.users.length)
|
||||
|
||||
} catch (err) {
|
||||
console.error('❌ User listesi alınamadı:', err)
|
||||
this.users = []
|
||||
this.error =
|
||||
err?.message ||
|
||||
'Kullanıcı listesi alınamadı'
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user