From 26c594c9d4fe12141fbd6dede9058cecbd104bf2 Mon Sep 17 00:00:00 2001 From: LovableCat Date: Tue, 18 Mar 2025 21:19:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E7=BB=87=E7=AE=A1=E7=90=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=88=9D=E6=AD=A5=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organizationManageApi.ts | 59 ++--- .../organizationManageType.ts | 65 ++++- .../OrganizationManage/OrganizationManage.vue | 237 +++++++++++------- 3 files changed, 233 insertions(+), 128 deletions(-) diff --git a/src/api/organizationManage/organizationManageApi.ts b/src/api/organizationManage/organizationManageApi.ts index f301f67..cdeaf3c 100644 --- a/src/api/organizationManage/organizationManageApi.ts +++ b/src/api/organizationManage/organizationManageApi.ts @@ -1,50 +1,45 @@ import request from '@/utils/request'; +import { + type CreateOrganizationApiResultType, + type OrganizationMemberItemType, + type UnitRes +} from "@/api/organizationManage/organizationManageType"; -// TODO 获取组织信息功能 没有相关接口,待对齐 -export function getOrganizationInfoApi(params) { +export function createOrganizationApi(params: { groupName: string, groupDesc: string }): Promise> { return request({ - url: ``, + url: `/api/v1/group/create`, + method: 'post', + data: params, + }); +} + +export function updateOrganizationInfoApi(params: { id: number, name: string, desc: string }): Promise> { + return request({ + url: `/api/v1/group/update`, + method: 'post', + data: params, + }); +} + +export function getOrganizationMemberListApi(params: { groupId: number }): Promise> { + return request({ + url: `/api/v1/group/member/list`, method: 'get', params, }); } -export function createOrganizationApi(params) { +export function inviteOrganizationMemberApi(params: { groupId: number, username: string, roleCode: string }): Promise> { return request({ - url: `/api/v1/user/group/create`, + url: `/api/v1/group/member/invite `, method: 'post', data: params, }); } -// TODO 更新组织信息功能 没有相关接口,待对齐 -export function updateOrganizationInfoApi(params) { +export function deleteOrganizationMemberApi(params: { groupId: number, username: string }): Promise> { return request({ - url: `/api/v1/user/group/create`, - method: 'post', - data: params, - }); -} - -export function getOrganizationMemberListApi(params) { - return request({ - url: `/api/v1/user/group/member/list`, - method: 'get', - params, - }); -} - -export function inviteOrganizationMemberApi(params) { - return request({ - url: `/api/v1/user/group/member/invite `, - method: 'post', - data: params, - }); -} - -export function deleteOrganizationMemberApi(params) { - return request({ - url: `/api/v1/user/group/member/remove`, + url: `/api/v1/group/member/remove`, method: 'delete', data: params, }); diff --git a/src/api/organizationManage/organizationManageType.ts b/src/api/organizationManage/organizationManageType.ts index afcb7e9..1e882a1 100644 --- a/src/api/organizationManage/organizationManageType.ts +++ b/src/api/organizationManage/organizationManageType.ts @@ -1,12 +1,65 @@ +import { type AxiosResponse } from "axios"; + +export interface ApiDefaultType { + data?: { + data?: T; + } +} + +export interface CommonRes { + code: number; + msg: string; + data: T; +} + +export type UnitRes = AxiosResponse>; + +export interface CreateOrganizationApiResultType { + id: number; + name: string; + ext: null; + status: null; + deleted: null; + createUser: string; + createTime: string; + updateTime: null; +} + export interface OrganizationInfoType { + groupId: number; organizationName: string; organizationProfile: string; } -export interface OrganizationMemberItemType { - id: string; - userName: string; - role: string; - email: string; - joinDate: string; +export interface UserInfoType { + username: string; + mobile: null; + email: string; + avatar: string; + noticeUnreadNum: number; + inviteNum: number; + groupId: null | number; + groupName: null | string; + groupDesc: null | string; +} + +export enum OrganizationMemberRoleEnum { + OWNER = 'OWNER', + MEMBER = 'MEMBER', +} + +export enum OrganizationMemberStatusEnum { + TO_ACCEPTED = 0, + ACCEPTED = 1, +} + +export interface OrganizationMemberItemType { + id: number; + groupId: number; + name: string; // 组织名称 + username: string; + roleCode: OrganizationMemberRoleEnum; + status: OrganizationMemberStatusEnum; + createTime: string; + updateTime: string; } diff --git a/src/views/Jyh/PersonalCenter/OrganizationManage/OrganizationManage.vue b/src/views/Jyh/PersonalCenter/OrganizationManage/OrganizationManage.vue index 28d8cdc..783f2b4 100644 --- a/src/views/Jyh/PersonalCenter/OrganizationManage/OrganizationManage.vue +++ b/src/views/Jyh/PersonalCenter/OrganizationManage/OrganizationManage.vue @@ -1,5 +1,5 @@