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