From 96f5ce25192a3aaa8225875b09939553dc6d4ba1 Mon Sep 17 00:00:00 2001 From: colin Date: Fri, 31 May 2024 16:10:36 +0800 Subject: [PATCH] feat(user): add organization preview to user page --- apps/vue/src/api/identity/users/index.ts | 15 +++++++ .../vue/src/api/identity/users/model/index.ts | 4 ++ .../identity/user/components/UserModal.vue | 19 +++++++- .../user/hooks/useOrganizationUnit.ts | 44 +++++++++++++++++++ ...PackageName.CompanyName.ProjectName.csproj | 2 +- .../content/Directory.Packages.props | 4 +- aspnet-core/templates/content/common.props | 4 +- 7 files changed, 86 insertions(+), 6 deletions(-) create mode 100644 apps/vue/src/views/identity/user/hooks/useOrganizationUnit.ts diff --git a/apps/vue/src/api/identity/users/index.ts b/apps/vue/src/api/identity/users/index.ts index 4760fe92f..769a59cdd 100644 --- a/apps/vue/src/api/identity/users/index.ts +++ b/apps/vue/src/api/identity/users/index.ts @@ -6,9 +6,11 @@ import { UpdateUser, GetUserPagedRequest, UserClaim, + IdentityUserOrganizationUnitUpdateDto, } from './model'; import { CreateIdentityClaim, UpdateIdentityClaim } from '../claims/model'; import { Role } from '../roles/model'; +import { OrganizationUnit } from '../organization-units/model'; export const create = (input: CreateUser) => { return defHttp.post({ @@ -106,6 +108,19 @@ export const unlock = (id: string) => { }); }; +export const getOrganizationUnits = (id: string) => { + return defHttp.get>({ + url: `/api/identity/users/${id}/organization-units`, + }); +}; + +export const setOrganizationUnits = (id: string, input: IdentityUserOrganizationUnitUpdateDto) => { + return defHttp.put>({ + url: `/api/identity/users/${id}/organization-units`, + data: input, + }); +}; + export const removeOrganizationUnit = (id: string, ouId: string) => { return defHttp.delete({ url: `/api/identity/users/${id}/organization-units/${ouId}`, diff --git a/apps/vue/src/api/identity/users/model/index.ts b/apps/vue/src/api/identity/users/model/index.ts index c5494350f..8575d88f2 100644 --- a/apps/vue/src/api/identity/users/model/index.ts +++ b/apps/vue/src/api/identity/users/model/index.ts @@ -27,6 +27,10 @@ export interface SetPassword { password: string; } +export interface IdentityUserOrganizationUnitUpdateDto { + organizationUnitIds: string[] +} + /** 用户对象 */ export interface User extends FullAuditedEntityDto, IUser, IHasConcurrencyStamp { /** 租户标识 */ diff --git a/apps/vue/src/views/identity/user/components/UserModal.vue b/apps/vue/src/views/identity/user/components/UserModal.vue index 24a742b07..6d8cbba0f 100644 --- a/apps/vue/src/views/identity/user/components/UserModal.vue +++ b/apps/vue/src/views/identity/user/components/UserModal.vue @@ -45,6 +45,7 @@ + + + @@ -65,12 +78,14 @@