生产管理系统 - 角色管理联调

This commit is contained in:
2025-11-06 10:17:44 +08:00
parent 279bbe8536
commit 9f1cf21042
8 changed files with 600 additions and 189 deletions

View File

@@ -34,6 +34,10 @@ import {
PaginationState,
EmployeesQueryParams
} from './components/employeeApi';
import {
fetchRoles,
transformRolesList
} from '../role/components/roleApi';
export default function EmployeeManagementPage() {
const [employees, setEmployees] = useState<Employee[]>([]);
@@ -80,10 +84,22 @@ export default function EmployeeManagementPage() {
loadRoles();
}, [pagination.page, pagination.size,filters.searchKeyword, filters.statusFilter]);
const loadRoles = () => {
const data = localStorage.getItem('smart_agriculture_roles');
if (data) {
setRoles(JSON.parse(data));
const loadRoles = async () => {
try {
// 调用角色API获取角色数据
const response = await fetchRoles({
page: 1,
size: 100, // 获取所有角色
sort_order: 'desc'
});
// 转换数据格式
const transformedRoles = transformRolesList(response.data);
setRoles(transformedRoles);
} catch (error) {
console.error('Failed to load roles:', error);
// API失败时设置为空数组
setRoles([]);
}
};
@@ -407,11 +423,7 @@ export default function EmployeeManagementPage() {
}
};
const handleResetPassword = (employee: Employee) => {
if (!confirm(`确定要重置 ${employee.name} 的密码吗?`)) return;
toast.success('密码已重置为123456');
};
const handleViewDetail = (employee: Employee) => {
setSelectedEmployee(employee);
setShowDetailDialog(true);
@@ -431,7 +443,6 @@ export default function EmployeeManagementPage() {
: emp
);
setEmployees(updated);
localStorage.setItem('smart_agriculture_employees', JSON.stringify(updated));
toast.success('审核通过');
} else {
const reason = prompt('请输入驳回原因:');
@@ -449,7 +460,6 @@ export default function EmployeeManagementPage() {
: emp
);
setEmployees(updated);
localStorage.setItem('smart_agriculture_employees', JSON.stringify(updated));
toast.success('已驳回');
}
}
@@ -480,7 +490,6 @@ export default function EmployeeManagementPage() {
onPageSizeChange={handlePageSizeChange}
onViewDetail={handleViewDetail}
onEdit={handleEdit}
onResetPassword={handleResetPassword}
onToggleStatus={handleToggleStatus}
onDelete={handleDelete}
onAudit={handleAudit}