web-apis\types

This commit is contained in:
2025-10-16 10:31:32 +08:00
parent aace132108
commit 6858899c4c
21 changed files with 2198 additions and 192 deletions

View File

@@ -256,7 +256,8 @@ function buildParentDeptOptions(depts: SysDept[]): any[] {
async function loadDeptList() {
try {
loading.value = true;
const rawData = await deptApi.getAllDepts();
const result = await deptApi.getAllDepts();
const rawData = result.dataList || [];
console.log('原始部门数据:', rawData);
// 将扁平数据转换为树形结构
deptList.value = buildTree(rawData);
@@ -447,11 +448,12 @@ async function handleBindRole(row: SysDept) {
try {
// 获取所有角色
roleList.value = await roleApi.getAllRoles();
const roleResult = await roleApi.getAllRoles();
roleList.value = roleResult.dataList || [];
// 获取已绑定的角色
const bindingResult = await deptApi.getDeptByRole(row);
bindList.value.roles = bindingResult || [];
bindList.value.roles = bindingResult.dataList || [];
// 设置已选中的角色
selectedRoles.value = bindList.value.roles.map(role => role.roleID).filter((id): id is string => !!id);

View File

@@ -332,7 +332,8 @@ function getMenuTypeText(type: number | undefined): string {
async function loadMenuList() {
try {
loading.value = true;
const rawData = await menuApi.getAllMenuList();
const result = await menuApi.getAllMenuList();
const rawData = result.dataList || [];
console.log('原始菜单数据:', rawData);
// 将扁平数据转换为树形结构
menuList.value = buildTree(rawData);
@@ -534,11 +535,12 @@ async function handleBindPermission(row: SysMenu) {
code: undefined,
description: undefined,
};
permissionList.value = await permissionApi.getPermissionList(permission);
const permissionResult = await permissionApi.getPermissionList(permission);
permissionList.value = permissionResult.dataList || [];
// 获取已绑定的权限
const bindingResult = await menuApi.getMenuPermission(row.menuID!);
bindList.value.permissions = bindingResult || [];
bindList.value.permissions = bindingResult.dataList || [];
// 设置已选中的权限
selectedPermissions.value = bindList.value.permissions.map(permission => permission.permissionID).filter((id): id is string => !!id);

View File

@@ -288,7 +288,8 @@ const formRules: FormRules = {
async function loadPermissionList() {
try {
loading.value = true;
permissionList.value = await permissionApi.getPermissionList(queryFilter.value);
const result = await permissionApi.getPermissionList(queryFilter.value);
permissionList.value = result.dataList || [];
} catch (error) {
console.error('加载权限列表失败:', error);
ElMessage.error('加载权限列表失败');
@@ -318,10 +319,11 @@ async function handleBindMenu(row: SysPermission) {
try {
// 获取已绑定的菜单
const bindingResult = await permissionApi.getPermissionBindingList(row);
bindList.value.menus = bindingResult.menus || [];
bindList.value.menus = bindingResult.data?.menus || [];
// 获取所有菜单
menuList.value = await menuApi.getAllMenuList();
const menuResult = await menuApi.getAllMenuList();
menuList.value = menuResult.dataList || [];
// 设置已选中的菜单
selectedMenus.value = bindList.value.menus.map(menu => menu.menuID).filter((id): id is string => !!id);
@@ -343,10 +345,11 @@ async function handleBindRole(row: SysPermission) {
try {
// 获取已绑定的角色
const bindingResult = await permissionApi.getPermissionBindingList(row);
bindList.value.roles = bindingResult.roles || [];
bindList.value.roles = bindingResult.data?.roles || [];
// 获取所有角色
roleList.value = await roleApi.getAllRoles();
const roleResult = await roleApi.getAllRoles();
roleList.value = roleResult.dataList || [];
// 设置已选中的角色
selectedRoles.value = bindList.value.roles.map(role => role.id).filter((id): id is string => !!id);

View File

@@ -199,7 +199,8 @@ const formRules: FormRules = {
async function loadRoleList() {
try {
loading.value = true;
roleList.value = await roleApi.getAllRoles();
const result = await roleApi.getAllRoles();
roleList.value = result.dataList || [];
} catch (error) {
console.error('加载角色列表失败:', error);
ElMessage.error('加载角色列表失败');
@@ -296,14 +297,15 @@ async function handleBindPermission(row: SysRole) {
code: undefined,
description: undefined,
};
permissionList.value = await permissionApi.getPermissionList(permission);
const permissionResult = await permissionApi.getPermissionList(permission);
permissionList.value = permissionResult.dataList || [];
// 获取已绑定的权限
const bindingResult = await roleApi.getRolePermission({
roleID: row.roleID
});
console.log('已绑定的权限:', bindingResult);
bindList.value.permissions = bindingResult || [];
bindList.value.permissions = bindingResult.dataList || [];
// 设置已选中的权限
selectedPermissions.value = bindList.value.permissions.map(permission => permission.permissionID).filter((id): id is string => !!id);

View File

@@ -245,8 +245,8 @@ function toggleSelection(item: DeptRoleBindItem) {
async function loadUserList() {
try {
loading.value = true;
const users = await userApi.getUserList({id: ""});
userList.value = users;
const result = await userApi.getUserList({id: ""});
userList.value = result.dataList || [];
} catch (error) {
console.error('加载用户列表失败:', error);
ElMessage.error('加载用户列表失败');
@@ -258,11 +258,14 @@ async function loadUserList() {
// 加载部门和角色数据用于名称映射
async function loadDeptAndRoleData() {
try {
const [depts, roles] = await Promise.all([
const [deptResult, roleResult] = await Promise.all([
deptApi.getAllDepts(),
roleApi.getAllRoles()
]);
const depts = deptResult.dataList || [];
const roles = roleResult.dataList || [];
const deptMap = new Map(depts.map(d => [d.deptID, d.name || '未知部门']));
const roleMap = new Map(roles.map(r => [r.roleID, r.name || '未知角色']));
@@ -276,11 +279,13 @@ async function loadDeptAndRoleData() {
// 加载部门角色绑定列表
async function loadDeptRoleList(): Promise<DeptRoleBindItem[]> {
try {
const [deptRoles, { deptMap, roleMap }] = await Promise.all([
const [deptRoleResult, { deptMap, roleMap }] = await Promise.all([
deptApi.getDeptRoleList({id: ""}),
loadDeptAndRoleData()
]);
const deptRoles = deptRoleResult.dataList || [];
return deptRoles.map(item => ({
...item,
deptName: deptMap.get(item.deptID || '') || `部门${item.deptID}`,
@@ -390,7 +395,8 @@ async function handleBindDeptRole(row: UserVO) {
bindList.value = await loadDeptRoleList();
// 加载已绑定部门角色
const deptRoles = await userApi.getUserDeptRole({userID: currentUser.value.id});
const deptRoleResult = await userApi.getUserDeptRole({userID: currentUser.value.id});
const deptRoles = deptRoleResult.dataList || [];
// 初始化选中状态为已绑定的项
selectedBindings.value = bindList.value
@@ -417,7 +423,8 @@ async function saveBindings() {
submitting.value = true;
// 获取当前已绑定的部门角色
const currentBoundItems = await userApi.getUserDeptRole({userID: currentUser.value.id});
const currentBoundResult = await userApi.getUserDeptRole({userID: currentUser.value.id});
const currentBoundItems = currentBoundResult.dataList || [];
const currentBoundKeys = currentBoundItems.map(item => `${item.deptID}_${item.roleID}`);
// 找出需要绑定的项(新增的)