import intl from 'react-intl-universal'; import React, { useEffect, useState } from 'react'; import { Modal, message, Input, Form, Radio, Select } from 'antd'; import { request } from '@/utils/http'; import config from '@/utils/config'; const { Option } = Select; enum DependenceTypes { 'nodejs', 'python3', 'linux', } const DependenceModal = ({ dependence, handleCancel, defaultType, }: { dependence?: any; handleCancel: (cks?: any[]) => void; defaultType: string; }) => { const [form] = Form.useForm(); const [loading, setLoading] = useState(false); const handleOk = async (values: any) => { setLoading(true); const { name, split, type, remark } = values; const method = dependence ? 'put' : 'post'; let payload; if (!dependence) { if (split === '1') { const symbol = name.includes('&') ? '&' : '\n'; payload = name.split(symbol).map((x: any) => { return { name: x, type, remark, }; }); } else { payload = [{ name, type, remark }]; } } else { payload = { ...values, id: dependence.id }; } try { const { code, data } = await request[method]( `${config.apiPrefix}dependencies`, payload, ); if (code === 200) { handleCancel(data); } setLoading(false); } catch (error) { setLoading(false); } }; return ( { form .validateFields() .then((values) => { handleOk(values); }) .catch((info) => { console.log('Validate Failed:', info); }); }} onCancel={() => handleCancel()} confirmLoading={loading} >
{!dependence && ( {intl.get('是')} {intl.get('否')} )}
); }; export default DependenceModal;