diff --git a/src/components/SectionList/index.jsx b/src/components/SectionList/index.jsx index d0f1ffe..aea1352 100644 --- a/src/components/SectionList/index.jsx +++ b/src/components/SectionList/index.jsx @@ -3,13 +3,13 @@ import { Form, Input, InputNumber, Button, Card, Typography, Modal, message, Div import { PlusOutlined, DeleteOutlined, EditOutlined, CheckOutlined, CloseOutlined } from '@ant-design/icons'; import { v4 as uuidv4 } from 'uuid'; import { supabase } from "@/config/supabase"; - +import { supabaseService } from "@/hooks/supabaseService"; const { Text } = Typography; - const SectionList = ({ form, isView, formValues, + type, currentCurrency = 'CNY' }) => { const [editingSectionIndex, setEditingSectionIndex] = useState(null); @@ -143,14 +143,17 @@ const SectionList = ({ const fetchUnits = async () => { setLoadingUnits(true); try { - const { data: unitsData, error } = await supabase - .from('resources') - .select('*') - .eq('type', 'units') - .order('created_at', { ascending: false }); - - if (error) throw error; - setUnits(unitsData || []); + const { data: units } = await supabaseService.select('resources', { + filter: { + 'type': { eq: 'units' }, + 'attributes->>template_type': { in: `(${type},common)` } + }, + order: { + column: 'created_at', + ascending: false + } + }); + setUnits(units || []); } catch (error) { message.error('获取单位列表失败'); console.error(error); diff --git a/src/pages/company/service/detail/components/QuotationTemplate.jsx b/src/pages/company/service/detail/components/QuotationTemplate.jsx index aca2821..95172b7 100644 --- a/src/pages/company/service/detail/components/QuotationTemplate.jsx +++ b/src/pages/company/service/detail/components/QuotationTemplate.jsx @@ -3,7 +3,7 @@ import { Form, Card, Input, Select, message,Button } from 'antd'; import { supabaseService } from '@/hooks/supabaseService'; import {ArrowLeftOutlined}from '@ant-design/icons' import SectionList from '@/components/SectionList'; - +const TYPE = 'quotation' const QuotationTemplate = ({ id, isView, onCancel,isEdit }) => { const [form] = Form.useForm(); const [loading, setLoading] = useState(false); @@ -28,7 +28,7 @@ const QuotationTemplate = ({ id, isView, onCancel,isEdit }) => { filter: { id: { eq: id }, type: { eq: 'serviceTemplate' }, - 'attributes->>template_type': { eq: 'quotation' } + 'attributes->>template_type': { eq: TYPE } } }); console.log(data,'data'); @@ -57,7 +57,7 @@ const QuotationTemplate = ({ id, isView, onCancel,isEdit }) => { const { data } = await supabaseService.select('resources', { filter: { type: { eq: 'categories' }, - 'attributes->>template_type': { in: `(quotation,common)` } + 'attributes->>template_type': { in: `(${TYPE},common)` } }, order: { column: 'created_at', @@ -95,7 +95,7 @@ const QuotationTemplate = ({ id, isView, onCancel,isEdit }) => { const serviceData = { type: "serviceTemplate", attributes: { - template_type: "quotation", + template_type: TYPE, templateName: values.templateName, description: values.description, sections: values.sections, @@ -189,13 +189,16 @@ const QuotationTemplate = ({ id, isView, onCancel,isEdit }) => { bordered={false} > -
+ + +
)}
- - ); };