diff --git a/src/features/admin/users/components/UserEvaluationPanel.vue b/src/features/admin/users/components/UserEvaluationPanel.vue new file mode 100644 index 0000000..03afae9 --- /dev/null +++ b/src/features/admin/users/components/UserEvaluationPanel.vue @@ -0,0 +1,392 @@ + + + + + diff --git a/src/features/admin/users/components/modals/UserDetailsModal.vue b/src/features/admin/users/components/modals/UserDetailsModal.vue index f5fb05f..b3f2742 100644 --- a/src/features/admin/users/components/modals/UserDetailsModal.vue +++ b/src/features/admin/users/components/modals/UserDetailsModal.vue @@ -76,6 +76,10 @@ + +
+ +
@@ -106,6 +110,7 @@ import LineTitleBlock from '@/components/LineTitleBlock.vue' import { useAdminUserQuery } from '@/services/query/admin-users' import LineInfoBlock from '@/components/blocks/LineInfoBlock.vue' import SkeletonLoaderBlock from '@/components/blocks/SkeletonLoaderBlock.vue' +import UserEvaluationPanel from '@/features/admin/users/components/UserEvaluationPanel.vue' import { EDUCATION_STATUS, GENDER, diff --git a/src/services/api/admin-users.js b/src/services/api/admin-users.js index a06fd28..5bda6d6 100644 --- a/src/services/api/admin-users.js +++ b/src/services/api/admin-users.js @@ -8,6 +8,9 @@ export const apiShowAdminUser = (id) => http.get(buildUrl(endpoints.showUserDeta export const apiGetAdminUserRegisterData = (id) => http.get(buildUrl(endpoints.getUserRegisterData, { id })) +export const apiGetAdminUserEvaluation = (id) => + http.get(buildUrl(endpoints.getUserEvaluation, { id })) + export const apiAddAdminUser = (payload) => http.post(endpoints.addNewUser, payload) export const apiUpdateAdminUser = (id, payload) => diff --git a/src/services/api/endpoints.js b/src/services/api/endpoints.js index 3cd3f5c..1e80d53 100644 --- a/src/services/api/endpoints.js +++ b/src/services/api/endpoints.js @@ -82,6 +82,7 @@ export const endpoints = { changeUserStatus: '/admin/users/:id/status', deleteUser: '/admin/users/:id', getUserRegisterData: '/admin/users/:id/register-data', + getUserEvaluation: '/admin/users/:id/evaluation', // ─── Backend-aligned: Terms ──────────────────────────────────────────────── getTermsList: '/terms', diff --git a/src/services/query/admin-users.js b/src/services/query/admin-users.js index 5f06594..7ddd530 100644 --- a/src/services/query/admin-users.js +++ b/src/services/query/admin-users.js @@ -4,6 +4,7 @@ import { apiAddAdminUser, apiChangeAdminUserStatus, apiDeleteAdminUser, + apiGetAdminUserEvaluation, apiGetAdminUserRegisterData, apiGetAdminUsers, apiShowAdminUser, @@ -16,6 +17,7 @@ export const adminUsersKeys = { list: (filters, pagination) => ['admin', 'users', 'list', filters, pagination], detail: (id) => ['admin', 'users', 'detail', id], registerData: (id) => ['admin', 'users', 'register-data', id], + evaluation: (id) => ['admin', 'users', 'evaluation', id], } export const useAdminUsersListQuery = (filtersRef, paginationRef, options = {}) => @@ -59,6 +61,14 @@ export const useAdminUserRegisterDataQuery = (idRef, options = {}) => ...options, }) +export const useAdminUserEvaluationQuery = (idRef, options = {}) => + useQuery({ + queryKey: ['admin', 'users', 'evaluation', idRef], + queryFn: () => apiGetAdminUserEvaluation(idRef.value), + select: (response) => response?.data ?? response, + ...options, + }) + export const useAddAdminUserMutation = () => useMutation({ mutationFn: (payload) => apiAddAdminUser(payload) })