import React, { useEffect, useState } from 'react'; import {Form, Button, InputNumber, Modal, message, Input } from 'antd'; import PmsSelect from '@/pages/pms/comonents/PmsSelect'; import { ListVO, saveApi, roleListApi } from '../api'; import { getPageListApi, Item as item } from "@/pages/pms/partPlan/PlanSupplier/api"; import {getShopApi} from '@/pages/pms/storage/partShop/api'; import usePagination from '@/hooks/usePagination'; import useInitail from '@/hooks/useInitail'; const Item = Form.Item; interface Props{ visible?:boolean, onCancel: Function, item?:ListVO } export default function Index(props:Props) { const { list: suppliers } = usePagination(getPageListApi, { supplierType: 40, pageSize: 500 }); const { data: shops } = useInitail(getShopApi, [], {}); const { list } = usePagination(roleListApi, { pageSize: 500, sysId: 229 }); const [loading, setLoading] = useState(false); const { visible, onCancel, item } = props; const [form] = Form.useForm(); useEffect(() => { if (visible && item?.id) { form.setFieldsValue({ supplierId: item.supplierId, shopId: item.shopId, minAmount: item.minAmount, roleCode: item.roleCode, account: item.account }); } if (!visible) { form.resetFields(); } }, [visible]); const onSave = () => { form.validateFields().then(files => { const params = { id: item?.id, supplierId: files.supplierId, supplierName: suppliers.find(i => i.supplierId == files.supplierId)?.supplierName, shopId: files.shopId, minAmount: files.minAmount, roleCode: files.roleCode, roleName: list.find(i => i.roleCode == files.roleCode)?.roleName, account: files.account }; setLoading(true); saveApi(params).then(res => { message.success("保存成功"); setLoading(false); onCancel(); }).catch(e => { message.error(e.message); setLoading(false); }); }); }; return ( onCancel()} footer={[ , ]} >
{ return self.findIndex(el => el.supplierId == item.supplierId) === index; }).map((item) => ({ value: item.supplierId, label: item.supplierName }))} /> ({ value: item.id, label: item.name }))} /> ({value: item.roleCode, label: item.roleName}))} />
); }