import React, { useCallback, useEffect, useState } from "react"; import { Modal, Skeleton, Select, Form, message, InputNumber } from "antd"; import * as API from '../../api'; import _ from "lodash"; interface Props { visible:boolean; row?:API.Item; compList:any[]; cityList:any[]; onCancel:()=>void; onRefresh:() => void; } function AddModel({visible, row, compList, cityList, onCancel, onRefresh}:Props) { const [form] = Form.useForm(); const [loading, setLoading] = useState(false); const { id } = row || {}; useEffect(() => { if (id) { const { tradeCompName, sendAreaName, firstWeight, continuedWeight, arriveAreaName } = row || {}; form.setFieldsValue({ tradeComp: compList.filter(it => tradeCompName === it.name).map(item => ({value: item.id, label: item.name}))[0], sendArea: cityList.filter(it => sendAreaName === it.fullName).map(item => ({value: item.bh, label: item.fullName}))[0], firstWeight, continuedWeight, arriveAreas: cityList.filter(it => arriveAreaName === it.fullName).map(item => ({value: item.bh, label: item.fullName}))[0] }); } }, [row]); /** * @description: 确定 * @param {*} * @return {*} */ const handleSave = (feildValue:any) => { setLoading(true); const {tradeComp, sendArea, arriveAreas, firstWeight, continuedWeight} = feildValue; const _arriveAreas = id ? [{ ...arriveAreas }].map(item => ({arriveAreaNo: item.value, arriveAreaName: item.label})) : arriveAreas.length && arriveAreas.map((item:any) => ({arriveAreaNo: item.value, arriveAreaName: item.label})); const params = { expressChargeStandardId: id, tradeCompId: tradeComp.value, tradeCompName: tradeComp.label, tradeCompShortName: compList && compList.filter(item => item.id == tradeComp.value)[0].shortName, sendAreaNo: sendArea.value, sendAreaName: sendArea.label, firstWeight, continuedWeight, arriveAreas: _arriveAreas }; API.addStandardSave({ ...params }) .then(res => { message.success("操作成功"); _onCancel(); setLoading(false); onRefresh(); }).catch(err => { message.error(err?.message); setLoading(false); }); }; /** * @description: 关闭弹框 * @param {*} * @return {*} */ const _onCancel = () => { onCancel && onCancel(); form.resetFields(); }; return (
); } export default AddModel;