import React, { useState, useEffect } from 'react'; import { Form, Input, Select, Button, Space, Card, Typography } from 'antd'; import { ArrowLeftOutlined, SaveOutlined } from '@ant-design/icons'; import { supabase } from '@/config/supabase'; import { useNavigate, useParams, useSearchParams } from 'react-router-dom'; const { TextArea } = Input; const { Title } = Typography; const CustomerForm = () => { const { id } = useParams(); const [searchParams] = useSearchParams(); const isView = id&&!searchParams.get('edit'); const [form] = Form.useForm(); const navigate = useNavigate(); const fetchCustomerDetail = async () => { try { const { data, error } = await supabase .from('resources') .select('*') .eq('id', id) .single(); if (error) throw error; if (id) { form.setFieldsValue({ name: data.attributes.name, contact: data.attributes.contact, phone: data.attributes.phone, address: data.attributes.address, level: data.attributes.level || 'regular', status: data.attributes.status || 'active', remark: data.attributes.remark }); } } catch (error) { console.error('获取客户详情失败:', error); } }; useEffect(() => { if (id) { fetchCustomerDetail(); } }, [id]); const onFinish = async (values) => { try { const customerData = { type: 'customer', attributes: { name: values.name, contact: values.contact, phone: values.phone, address: values.address, level: values.level, status: values.status, remark: values.remark } }; let result; if (id) { result = await supabase .from('resources') .update(customerData) .eq('id', id) .select(); } else { result = await supabase .from('resources') .insert([customerData]) .select(); } if (result.error) throw result.error; navigate('/company/customer'); } catch (error) { console.error('保存失败:', error); } }; return (