91 lines
3.2 KiB
JavaScript
91 lines
3.2 KiB
JavaScript
// admin-users.js - 人员管理页面功能
|
|
|
|
function openAddUserModal() {
|
|
document.getElementById('userId').value = '';
|
|
document.getElementById('userName').value = '';
|
|
document.getElementById('userUsername').value = '';
|
|
document.getElementById('userEmail').value = '';
|
|
document.getElementById('userPhone').value = '';
|
|
document.getElementById('userRole').value = 'user';
|
|
document.getElementById('userModalTitle').textContent = '添加用户';
|
|
document.getElementById('userModal').style.display = 'flex';
|
|
}
|
|
|
|
function closeUserModal() {
|
|
document.getElementById('userModal').style.display = 'none';
|
|
}
|
|
|
|
function editUser(id) {
|
|
fetch(`/api/admin/users/${id}`)
|
|
.then(response => response.json())
|
|
.then(user => {
|
|
document.getElementById('userId').value = user.id;
|
|
document.getElementById('userName').value = user.name;
|
|
document.getElementById('userUsername').value = user.username;
|
|
document.getElementById('userEmail').value = user.email;
|
|
document.getElementById('userPhone').value = user.phone || '';
|
|
document.getElementById('userRole').value = user.role;
|
|
document.getElementById('userModalTitle').textContent = '编辑用户';
|
|
document.getElementById('userModal').style.display = 'flex';
|
|
})
|
|
.catch(error => {
|
|
showCustomAlert('error', '获取失败', '获取用户信息失败');
|
|
});
|
|
}
|
|
|
|
function saveUser(event) {
|
|
event.preventDefault();
|
|
|
|
const userId = document.getElementById('userId').value;
|
|
const data = {
|
|
name: document.getElementById('userName').value,
|
|
username: document.getElementById('userUsername').value,
|
|
email: document.getElementById('userEmail').value,
|
|
phone: document.getElementById('userPhone').value,
|
|
role: document.getElementById('userRole').value
|
|
};
|
|
|
|
const url = userId ? `/api/admin/users/${userId}` : '/api/admin/users';
|
|
const method = userId ? 'PUT' : 'POST';
|
|
|
|
fetch(url, {
|
|
method: method,
|
|
headers: {
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify(data)
|
|
})
|
|
.then(response => response.json())
|
|
.then(result => {
|
|
if (result.success) {
|
|
showCustomAlert('success', '保存成功', userId ? '用户更新成功' : '用户添加成功');
|
|
closeUserModal();
|
|
window.location.reload();
|
|
} else {
|
|
showCustomAlert('error', '保存失败', result.message || '操作失败');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
showCustomAlert('error', '保存失败', '网络请求失败');
|
|
});
|
|
}
|
|
|
|
function deleteUser(id) {
|
|
if (!confirm('确定要删除该用户吗?')) return;
|
|
|
|
fetch(`/api/admin/users/${id}`, {
|
|
method: 'DELETE'
|
|
})
|
|
.then(response => response.json())
|
|
.then(result => {
|
|
if (result.success) {
|
|
showCustomAlert('success', '删除成功', '用户删除成功');
|
|
window.location.reload();
|
|
} else {
|
|
showCustomAlert('error', '删除失败', result.message || '操作失败');
|
|
}
|
|
})
|
|
.catch(error => {
|
|
showCustomAlert('error', '删除失败', '网络请求失败');
|
|
});
|
|
} |