From f4644b6ba2641d8d191782a578c4bf3ab2b49df7 Mon Sep 17 00:00:00 2001 From: zhengw <247276359@qq.com> Date: Fri, 14 Apr 2023 17:31:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91:=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/ChatLogs/ChatLogsType.ts | 33 +- src/pages/ChatLogs/ChatUtils.tsx | 88 +++ src/pages/ChatLogs/components/ChatBar.tsx | 6 +- src/pages/ChatLogs/components/ChatRecord.tsx | 3 +- src/pages/ChatLogs/components/Gender.tsx | 28 + .../ChatLogs/components/index.module.scss | 33 +- src/pages/ChatLogs/index.module.scss | 47 +- src/pages/ChatLogs/index.tsx | 499 +++++++++++++----- .../components/DepartmentMemberDetail.tsx | 137 +++++ src/pages/DepartmentsList/index.module.scss | 9 + src/pages/DepartmentsList/index.tsx | 162 +++++- 11 files changed, 889 insertions(+), 156 deletions(-) create mode 100644 src/pages/ChatLogs/ChatUtils.tsx create mode 100644 src/pages/ChatLogs/components/Gender.tsx create mode 100644 src/pages/DepartmentsList/components/DepartmentMemberDetail.tsx diff --git a/src/pages/ChatLogs/ChatLogsType.ts b/src/pages/ChatLogs/ChatLogsType.ts index 5626363..675186b 100644 --- a/src/pages/ChatLogs/ChatLogsType.ts +++ b/src/pages/ChatLogs/ChatLogsType.ts @@ -1,10 +1,40 @@ export interface IStaffsItem { - user_id: string | number; + user_id: string | number | undefined; name: string; telephone: string; dep_name: string[]; position: string; avatar?: string; + gender?: string | undefined | number; + + address: string; + alias: string; + + biz_mail: string; + department: string; + direct_leader: string; + email: string; + enable: number; + english_name: string; + extattr: string; + + hide_mobile: number; + is_leader_in_dept: string; + isleader: number; + main_department: number; + mobile: string; + order: string; + qr_code: string; + status: number; + userid: string; + main_dep?: { + children: null; + department_leader: string; + id: number; + name: string; + parent_id: number; + sort: number; + }; } export interface ICustFollow { @@ -52,6 +82,7 @@ export interface IGroupMembers { nick_name: string; state: number; user_id: string; + group_members_type: string; } export interface IChat { diff --git a/src/pages/ChatLogs/ChatUtils.tsx b/src/pages/ChatLogs/ChatUtils.tsx new file mode 100644 index 0000000..6a193c4 --- /dev/null +++ b/src/pages/ChatLogs/ChatUtils.tsx @@ -0,0 +1,88 @@ +/** + * 获取已离群的数量 + * @param data + * @param state + * @returns + */ + +export const groupMembersCount = (data: any[], state: any) => { + let count = 0; + data.forEach((item) => { + if (item.state == state) { + count += 1; + } + }); + + return count; +}; + +/** + * 获取是微信的人数 + * @param data + * @param group_members_type + * @param state + * @returns + */ +export const groupMembersCount2 = (data: any[], group_members_type: any, state: any) => { + let count = 0; + data.forEach((item) => { + if (item.group_members_type == group_members_type && item.state == state) { + count += 1; + } + }); + + return count; +}; + +/** + * 群管理者: + * @param data + * @param groupMembers + * @returns + */ +export const adminList = (data: any, groupMembers: any) => { + if (data) { + try { + const msg = JSON.parse(data); + if (Array.isArray(msg) && msg.length) { + let arr: any = []; + msg.forEach((el) => { + arr.push(groupMembers[el.userid]?.name); + }); + return