import React, { useState } from 'react'; import { PageHeaderWrapper } from '@ant-design/pro-layout'; import { Card, InputNumber, Button, message } from 'antd'; import useInitial from '@/hooks/useInitail'; import { getDetail, saveApi, Item} from './api'; import ConfirmBnt from '../components/ConfirmBnt'; import { DeleteOutlined } from '@ant-design/icons'; const Index = () => { const [disable, setDisable] = useState(false); const { data, setData, loading, setLoading } = useInitial(getDetail, [{ startDays: 1, endDays: null, amount: null }, { startDays: null, endDays: null, amount: null }], {}); const handleAdd = () => { setData([...data, { startDays: null, endDays: null, amount: null }]); }; const handleInputChange = (index: number, p: any) => { let arr = data; if (p.endDays) { arr[index + 1].startDays = p.endDays + 1; } setData(arr.map((it, i) => { if (index == i) { return { ...it, ...p}; } else { return it; } } )); }; const handleDel = (event: any, index: number) => { let arr = data; arr.splice(index, 1); arr[arr.length -1].startDays = arr[arr.length-2].endDays+1; setData(arr); }; const svae = () => { saveApi({list: data}).then(() => { message.success('保存成功'); setLoading(true); setDisable(false); }).catch(e => message.error(e.message)); }; return ( {!!data?.length && data.map((it, index) => ( index < data.length-1 ? (
{index + 1}、 <> 缺件起始天数 0 ? data[index - 1].endDays : 1} value={index > 0 ? data[index - 1].endDays+1 : 1} style={{ width: 100, marginLeft: 10, marginRight: 20 }} /> <> 缺件结束天数 { handleInputChange(index, { startDays: index > 0 ? data[index - 1].endDays + 1 : it.startDays, endDays: value }); }} style={{ width: 100, marginLeft: 10, marginRight: 20 }} /> <> 运费统计增加 handleInputChange(index, { amount: value })} style={{ width: 100, marginLeft: 10, marginRight: 20 }} /> {(index == data.length - 2 && disable && index != 0) ?
) : (
{data.length}、
天及以上
<> 运费统计增加 handleInputChange(data.length - 1, { startDays: index > 0 ? data[index - 1].endDays + 1 : it.startDays, endDays: null, amount: value })} style={{ width: 100, marginLeft: 10, marginRight: 20 }} />
) ))} svae()} onCancel={() => { setDisable(false); setLoading(true); }} onEdit={() => { setDisable(true); setData(data); }} />
); }; export default Index;