2023-04-14 17:31:45 +08:00
|
|
|
|
/**
|
|
|
|
|
* 获取已离群的数量
|
|
|
|
|
* @param data
|
|
|
|
|
* @param state
|
|
|
|
|
* @returns
|
|
|
|
|
*/
|
|
|
|
|
|
2023-04-17 17:47:31 +08:00
|
|
|
|
import React, { useEffect, useState } from 'react';
|
|
|
|
|
|
2023-04-14 17:31:45 +08:00
|
|
|
|
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 <div>群管理者:{arr.join(',')}</div>;
|
|
|
|
|
}
|
|
|
|
|
} catch (e) {
|
|
|
|
|
return <></>;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return <></>;
|
|
|
|
|
};
|
2023-04-19 15:30:29 +08:00
|
|
|
|
/**
|
|
|
|
|
* 返回群管理员 userid 数组
|
|
|
|
|
* @param data
|
|
|
|
|
* @returns
|
|
|
|
|
*/
|
|
|
|
|
export const getAdminList = (data: any) => {
|
|
|
|
|
if (data) {
|
|
|
|
|
try {
|
|
|
|
|
const msg = JSON.parse(data);
|
|
|
|
|
if (Array.isArray(msg)) {
|
|
|
|
|
let arr: string[] = [];
|
|
|
|
|
msg.forEach((item) => {
|
|
|
|
|
arr.push(item.userid);
|
|
|
|
|
});
|
|
|
|
|
return arr;
|
|
|
|
|
}
|
|
|
|
|
} catch (e) {}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return [];
|
|
|
|
|
};
|
2023-04-14 17:31:45 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 客户等级等信息
|
|
|
|
|
* @returns
|
|
|
|
|
*/
|
|
|
|
|
export const formatTags = (data: any) => {
|
|
|
|
|
if (data) {
|
|
|
|
|
try {
|
|
|
|
|
const tags = JSON.parse(data);
|
2023-04-18 17:28:06 +08:00
|
|
|
|
if (Array.isArray(tags) && tags.length) {
|
2023-04-14 17:31:45 +08:00
|
|
|
|
return (
|
|
|
|
|
<>
|
|
|
|
|
{tags.map((item) => {
|
|
|
|
|
return (
|
|
|
|
|
<div key={`${item.group_name}_${item.tag_name}`}>
|
|
|
|
|
{item.group_name}:{item.tag_name}
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
})}
|
|
|
|
|
</>
|
|
|
|
|
);
|
|
|
|
|
}
|
2023-04-18 17:28:06 +08:00
|
|
|
|
} catch (e) {}
|
2023-04-14 17:31:45 +08:00
|
|
|
|
}
|
2023-04-18 17:28:06 +08:00
|
|
|
|
return <div>无标签</div>;
|
2023-04-14 17:31:45 +08:00
|
|
|
|
};
|
2023-04-17 17:47:31 +08:00
|
|
|
|
|
|
|
|
|
type IGroupIcon = {
|
|
|
|
|
groupList: any[];
|
|
|
|
|
};
|
|
|
|
|
/**
|
|
|
|
|
* todo 群头像拼接
|
|
|
|
|
* @param props
|
|
|
|
|
* @returns
|
|
|
|
|
*/
|
|
|
|
|
export const GroupIcon: React.FC<IGroupIcon> = (props) => {
|
|
|
|
|
const [list, setList] = useState<any>([[], [], []]);
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
let temp: any = [[], [], []];
|
|
|
|
|
const { groupList } = props;
|
|
|
|
|
for (let index = 0; index < 9; index++) {
|
|
|
|
|
const element = groupList[index];
|
|
|
|
|
|
|
|
|
|
if (index < 3) {
|
|
|
|
|
temp[0].push(element);
|
|
|
|
|
} else if (index < 6) {
|
|
|
|
|
temp[1].push(element);
|
|
|
|
|
} else {
|
|
|
|
|
temp[2].push(element);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
console.log(temp);
|
|
|
|
|
}, [props.groupList]);
|
|
|
|
|
|
|
|
|
|
// <div className={styles.avatar}>{item.name ? item.name[0] : '群'}</div>;
|
|
|
|
|
return <div></div>;
|
|
|
|
|
};
|