import { useIntl } from "react-intl"; import { ProForm, ProFormSelect } from "@ant-design/pro-components"; import { Button, message, Popover } from "antd"; import { UserAddOutlined } from "@ant-design/icons"; import { get, post } from "../../request"; import type { IUserListResponse } from "../../api/Auth"; import type { IGroupMemberRequest, IGroupMemberResponse, } from "../../api/Group"; import { useState } from "react"; interface IFormData { userId: string; } interface IWidget { groupId?: string; onCreated?: Function; } const AddMemberWidget = ({ groupId, onCreated }: IWidget) => { const intl = useIntl(); const [open, setOpen] = useState(false); const form = ( onFinish={async (values: IFormData) => { console.log(values); if (typeof groupId !== "undefined") { post("/v2/group-member", { user_id: values.userId, group_id: groupId, }).then((json) => { console.log("add member", json); if (json.ok) { message.success(intl.formatMessage({ id: "flashes.success" })); setOpen(false); if (typeof onCreated !== "undefined") { onCreated(); } } }); } }} > { console.log("keyWord", keyWords); const json = await get( `/v2/user?view=key&key=${keyWords}` ); const userList = json.data.rows.map((item) => { return { value: item.id, label: `${item.userName}-${item.nickName}`, }; }); console.log("json", userList); return userList; }} placeholder={intl.formatMessage({ id: "forms.message.user.required", })} rules={[ { required: true, }, ]} /> ); return ( { setOpen(open); }} > ); }; export default AddMemberWidget;