import React, { useState, useEffect } from 'react'; import { Button, Form, message, InputNumber, Select, Modal} from 'antd'; import ShopSelectNew from '@/components/ShopSelectNew'; import { debounce } from 'lodash'; import currency from 'currency.js'; import useInitail from '@/hooks/useInitail'; import { useStore } from '../index'; import { saveRetailConfigApi } from '../api'; const Option = Select.Option; export default function Index() { const [form] = Form.useForm(); const { visible, setVisible, current, setCurrent, setLoading } = useStore(); const [confirm, setConfirm] = useState(false); useEffect(() => { if (visible && current.id) { handleSetValue(); } }, [visible]); function handleCancle() { setVisible(false); setCurrent({}); } async function handleSubmit() { const params = await form.validateFields(); setConfirm(true); const _params = { id: current.id, retailRate: params.retailRate, shopList: params.shopList?.map((v: any) => ({shopId: v.value, shopName: v.label})) }; saveRetailConfigApi(_params) .then(res => { message.success(res.result); setVisible(false); setConfirm(false); setLoading(true); setCurrent({}); }) .catch(e => { message.error(e.message); setConfirm(false); }); } function handleSetValue() { form.setFieldsValue({ retailRate: current.retailRate, shopList: current.shopList?.map(v => ({label: v.shopName, value: v.shopId})) }); } return ( form.setFieldsValue({shopList: [], retailRate: undefined})} style={{minWidth: "500px"}} footer={[ , ]} >
`${value}%`} precision={2} parser={value => value?.replace('%', '')} />
); }