import { Button, Form, Input, Select, Space, Divider, message } from 'antd' import { DeleteOutlined, PlusOutlined } from '@ant-design/icons' import React, { useState, useEffect, useRef } from 'react' import { getConstantsTypes, getFileUri, deleteTag, deleteFile, } from '../services' const { Option } = Select const FormItem = Form.Item const layout = { labelCol: { span: 4, }, wrapperCol: { span: 8, }, } export default function JobStepOne({ ConfigDataForm, SelectDag }) { const JobTagInputRef = useRef(null) //自定义作业标签名称 const [tagName, setTagName] = useState('') //作业标签 const [jobTags, setJobTags] = useState([]) const [dags, setDags] = useState([]) useEffect(() => { const DJName = ConfigDataForm.getFieldValue('DagJobName') if (DJName) { ConfigDataForm.setFieldValue('DagJobName', DJName) } getJobTag() getDags() }, []) //获取作业标签 const getJobTag = async () => { const JobTags = await getConstantsTypes('作业标签') if (JobTags.data.code === 200) { setJobTags(JobTags.data.data) } } //获取DAG const getDags = async () => { const params = { project_id: 'test', user_id: 'test', file_type: 'dag', } const { data } = await getFileUri(params) if (data.code === 200) { setDags(data.data) } else { message.error(data.msg) } } const onNameChange = event => { setTagName(event.target.value) } //添加自定义作业标签 const addTagItem = e => { if (tagName) { e.preventDefault() if (!jobTags.find(item => item === tagName)) { setJobTags([...jobTags, tagName]) ConfigDataForm.setFieldValue('tag', tagName) setTagName('') setTimeout(() => { JobTagInputRef.current?.focus() }, 0) } else { message.error('存在同名标签') } } else { message.error('请输入自定义作业标签名称') } } const onDeleteTag = async val => { const { data } = await deleteTag({ type: '作业标签', val }) if (data.code === 200) { ConfigDataForm.setFieldValue('tag', null) message.success('删除成功') getJobTag() } else { message.error(data.msg) } } const onDeleteDag = async val => { const { data } = await deleteFile(val) if (data.code === 200) { ConfigDataForm.setFieldValue('dag_url', null) message.success('删除成功') getDags() } else { message.error(data.msg) } } return ( <>
> ) }