import { Form, Input, message, Modal, Select } from 'antd'; import { useEffect, useState } from 'react'; import { service } from './index'; import { useRequest } from 'ahooks'; import { OperatorList, TypeList } from '@/pages/iot-card/data'; type SaveType = { type: 'add' | 'edit'; data?: any; onCancel: () => void; onOk: () => void; }; const Save = (props: SaveType) => { const [form] = Form.useForm(); const [loading, setLoading] = useState(false); const { data: platformList, run: platformRun } = useRequest(service.queryPlatformNoPage, { manual: true, formatResult(result) { return result.result; }, }); useEffect(() => { platformRun({ sorts: [{ name: 'createTime', order: 'desc' }], terms: [{ column: 'state', value: 'enabled' }], }); if (props.type === 'edit' && form) { form.setFieldsValue(props.data); } }, []); const submit = async () => { const formData = await form.validateFields(); if (formData) { setLoading(true); const resp = props.type === 'add' ? await service.add(formData) : await service.edit(formData); setLoading(false); if (resp.status === 200) { message.success('操作成功'); props?.onOk(); } } }; const isValidateId = async (id: string) => { const res = await service.validateId(id); if (res.status === 200) { if (res.result?.passed) { return ''; } else { return res.result.reason; } } else { return '请输入输入正确的ICCID'; } }; return (
({ async validator(_, value) { if (value) { const validateId = await isValidateId(value); if (validateId === '') { return Promise.resolve(); } else { return Promise.reject(new Error(`${validateId}`)); } } else { return Promise.reject(new Error('请输入输入正确的卡号')); } }, }), ]} > { if (option?.label) { return option.label.includes(input); } return false; }} />