import { genChartByAiUsingPOST } from '@/services/yubi/chartController'; import { UploadOutlined } from '@ant-design/icons'; import {Button, Card, Col, Divider, Form, Input, message, Row, Select, Space, Spin, Upload} from 'antd'; import TextArea from 'antd/es/input/TextArea'; import React, { useState } from 'react'; import ReactECharts from 'echarts-for-react'; /** * 添加图表页面 * @constructor */ const AddChart: React.FC = () => { const [chart, setChart] = useState(); const [option, setOption] = useState(); const [submitting, setSubmitting] = useState(false); /** * 提交 * @param values */ const onFinish = async (values: any) => { // 避免重复提交 if (submitting) { return; } setSubmitting(true); setChart(undefined); setOption(undefined); // 对接后端,上传数据 const params = { ...values, file: undefined, }; try { const res = await genChartByAiUsingPOST(params, {}, values.file.file.originFileObj); if (!res?.data) { message.error('分析失败'); } else { message.success('分析成功'); const chartOption = JSON.parse(res.data.genChart ?? ''); if (!chartOption) { throw new Error('图表代码解析错误') } else { setChart(res.data); setOption(chartOption); } } } catch (e: any) { message.error('分析失败,' + e.message); } setSubmitting(false); }; return (