import { Button, Input, message, Modal, Table } from 'antd'; import { Fragment, useEffect, useMemo, useState } from 'react'; import { useUserStore } from '../store'; import { useShallow } from 'zustand/react/shallow'; import { Form } from 'antd'; import { EditOutlined, SettingOutlined, LinkOutlined, SaveOutlined, DeleteOutlined, LeftOutlined, PlusOutlined } from '@ant-design/icons'; import clsx from 'clsx'; import { isObjectNull } from '@/utils/is-null'; import { CardBlank } from '@/components/card/CardBlank'; const FormModal = () => { const [form] = Form.useForm(); const userStore = useUserStore( useShallow((state) => { return { showEdit: state.showEdit, setShowEdit: state.setShowEdit, formData: state.formData, updateData: state.updateData, setFormData: state.setFormData, }; }), ); useEffect(() => { const open = userStore.showEdit; if (open) { const isNull = isObjectNull(userStore.formData); if (isNull) { form.setFieldsValue({}); } else form.setFieldsValue(userStore.formData); } }, [userStore.showEdit]); const onFinish = async (values: any) => { userStore.updateData(values); }; const onClose = () => { userStore.setShowEdit(false); form.setFieldsValue({}); userStore.setFormData({}); }; const isEdit = userStore.formData.id; return ( userStore.setShowEdit(false)} destroyOnClose footer={false} width={800} onCancel={onClose}>
); }; export const List = () => { const userStore = useUserStore( useShallow((state) => { return { setFormData: state.setFormData, setShowEdit: state.setShowEdit, list: state.list, deleteData: state.deleteData, getList: state.getList, loading: state.loading, updateData: state.updateData, formData: state.formData, }; }), ); const [codeEdit, setCodeEdit] = useState(false); const [code, setCode] = useState(''); useEffect(() => { userStore.getList(); }, []); const onAdd = () => { userStore.setFormData({}); userStore.setShowEdit(true); }; return (
{userStore.list.length > 0 && userStore.list.map((item) => { return (
{ setCode(item.code); userStore.setFormData(item); setCodeEdit(true); }}>
{ e.stopPropagation(); // message.success('copy code success'); }}> {item.username || '-'}
{item.description ? item.description : '-'}
); })} {userStore.list.length == 0 && (
No Data
)}
{ // setCode(value); }} className='h-full max-h-full scrollbar' style={{ overflow: 'auto' }} />
); };