import { useState } from "react"; import { Card, Button, Steps, Form, Divider } from "antd"; import { Link, useNavigate } from "react-router"; import { ArrowLeft } from "lucide-react"; import { createCleaningTemplateUsingPost } from "../cleansing.api"; import CleansingTemplateStepOne from "./components/CreateTemplateStepOne"; import { useCreateStepTwo } from "./hooks/useCreateStepTwo"; export default function CleansingTemplateCreate() { const navigate = useNavigate(); const [form] = Form.useForm(); const [templateConfig, setTemplateConfig] = useState({ name: "", description: "", }); const handleSave = async () => { const template = { ...templateConfig, instance: selectedOperators.map((item) => ({ id: item.id, overrides: { ...item.defaultParams, ...item.overrides, }, })), }; await createCleaningTemplateUsingPost(template); navigate("/data/cleansing?view=template"); }; const { renderStepTwo, selectedOperators, currentStep, handlePrev, handleNext, } = useCreateStepTwo(); const canProceed = () => { const values = form.getFieldsValue(); switch (currentStep) { case 1: return values.name; case 2: return selectedOperators.length > 0; default: return false; } }; const renderStepContent = () => { switch (currentStep) { case 1: return ( ); case 2: return renderStepTwo; default: return null; } }; return (
{/* Header */}

创建清洗模板

{renderStepContent()}
{currentStep > 1 && } {currentStep === 2 ? ( ) : ( )}
); }