mirror of
https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git
synced 2025-08-14 00:25:46 +02:00
Починка добавления сотрудникаv2
This commit is contained in:
@@ -29,6 +29,18 @@ const router = createRouter({
|
|||||||
name: 'admin-dashboard',
|
name: 'admin-dashboard',
|
||||||
component: () => import('@/views/AdminDashboardView.vue'),
|
component: () => import('@/views/AdminDashboardView.vue'),
|
||||||
meta: { requiresAdmin: true }
|
meta: { requiresAdmin: true }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/admin/employees',
|
||||||
|
name: 'admin-employees',
|
||||||
|
component: () => import('@/views/admin/EmployeesView.vue'),
|
||||||
|
meta: { requiresAdmin: true }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/admin/employees/add',
|
||||||
|
name: 'admin-employees-add',
|
||||||
|
component: () => import('@/views/admin/AddEmployeeView.vue'),
|
||||||
|
meta: { requiresAdmin: true }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
@@ -465,17 +465,8 @@ const openRequestDetails = (request: Request) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const openAddEmployeeModal = () => {
|
const openAddEmployeeModal = () => {
|
||||||
isEditingEmployee.value = false
|
router.push('/admin/employees/add');
|
||||||
employeeForm.value = {
|
};
|
||||||
id: null,
|
|
||||||
first_name: '',
|
|
||||||
last_name: '',
|
|
||||||
department: '',
|
|
||||||
office: '',
|
|
||||||
password: ''
|
|
||||||
}
|
|
||||||
showEmployeeModal.value = true
|
|
||||||
}
|
|
||||||
|
|
||||||
const openEditEmployeeModal = (employee: Employee) => {
|
const openEditEmployeeModal = (employee: Employee) => {
|
||||||
isEditingEmployee.value = true
|
isEditingEmployee.value = true
|
||||||
|
@@ -114,6 +114,13 @@ const handleSubmit = async () => {
|
|||||||
try {
|
try {
|
||||||
isSubmitting.value = true;
|
isSubmitting.value = true;
|
||||||
const token = localStorage.getItem('admin_token');
|
const token = localStorage.getItem('admin_token');
|
||||||
|
|
||||||
|
if (!token) {
|
||||||
|
throw new Error('Не найден токен авторизации');
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('Отправляем данные:', form.value);
|
||||||
|
|
||||||
const response = await fetch('/api/employees/', {
|
const response = await fetch('/api/employees/', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
@@ -123,14 +130,21 @@ const handleSubmit = async () => {
|
|||||||
body: JSON.stringify(form.value)
|
body: JSON.stringify(form.value)
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log('Статус ответа:', response.status);
|
||||||
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
throw new Error('Ошибка при создании сотрудника');
|
const errorData = await response.json();
|
||||||
|
console.error('Ошибка от сервера:', errorData);
|
||||||
|
throw new Error(errorData.detail || 'Ошибка при создании сотрудника');
|
||||||
}
|
}
|
||||||
|
|
||||||
router.push('/admin/employees');
|
const data = await response.json();
|
||||||
|
console.log('Успешный ответ:', data);
|
||||||
|
|
||||||
|
router.push('/admin/dashboard');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error creating employee:', error);
|
console.error('Error creating employee:', error);
|
||||||
alert('Произошла ошибка при создании сотрудника');
|
alert(error instanceof Error ? error.message : 'Произошла ошибка при создании сотрудника');
|
||||||
} finally {
|
} finally {
|
||||||
isSubmitting.value = false;
|
isSubmitting.value = false;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user