import React, {useEffect, useState} from 'react'; import {Form, Input, Modal, Radio, Select, Spin} from "antd"; import jobApi from "../../api/job"; import assetApi from "../../api/asset"; const {TextArea} = Input; const JobModal = ({ visible, handleOk, handleCancel, confirmLoading, id, }) => { const [form] = Form.useForm(); let [func, setFunc] = useState('shell-job'); let [mode, setMode] = useState('all'); let [resources, setResources] = useState([]); let [resourcesLoading, setResourcesLoading] = useState(false); useEffect(() => { const fetchData = async () => { setResourcesLoading(true); let result = await assetApi.GetAll('ssh'); setResources(result); setResourcesLoading(false); }; fetchData(); const getItem = async () => { let data = await jobApi.getById(id); if (data) { form.setFieldsValue(data); setMode(data['mode']); setFunc(data['func']); } } if (visible && id) { getItem(); } else { form.setFieldsValue({ func: 'shell-job', mode: 'all', }); } }, [visible]); const formItemLayout = { labelCol: {span: 6}, wrapperCol: {span: 14}, }; return ( { form .validateFields() .then(async values => { let ok = await handleOk(values); if (ok) { form.resetFields(); } }); }} onCancel={() => { form.resetFields(); handleCancel(); }} confirmLoading={confirmLoading} okText='确定' cancelText='取消' >
{ func === 'shell-job' ?