import React, {useState, useEffect, useMemo} from 'react'; import { Button, Modal, Table } from 'antd'; import { getProgressDetail, ProgressVO, ListVO, Params, SubmitListVO } from "../api"; import useInitial from "@/hooks/useInitail"; import ProgressView from "./ProgressView"; import ShippingDetailModal from './ShippingDetailModal'; import PartDetailModal from './PartDetailModal'; import {flattenDeep} from "@/pages/pms/entity"; import {getDetail, DetailVO, Item} from "@/pages/pms/partPlan/PlanManage/subpages/Detail/api"; interface Props { visible: boolean, onCancel: Function, item: ListVO, } const { Column } = Table; export default function DetailModal(props: Props) { const { visible, onCancel, item } = props; const params = {planId: item.planId}; const [delay, setDelay] = useState(true); // @ts-ignore const { data: progresss, setParams: setProgresssParams } = useInitial(getProgressDetail, [], params, delay); // @ts-ignore const { data, setParams, loading } = useInitial(getDetail, {}, params, delay); const [visibleDetail, setVisibleDetail] = useState(false); const [_item, setItem] = useState({}); const [visiblePartDetail, setVisiblePartDetail] = useState(false); const suppliers = useMemo(() => { return flattenDeep(data.list?.map((it: DetailVO) => (it.suppliers || []).map(su => ({...it, ...su})))); }, [data]); useEffect(() => { if (visible) { setProgresssParams(params, true); setParams(params, true); setDelay(false); } }, [visible]); return ( onCancel()} footer={ } >
`${v.planSupplierId}`} scroll={{y: 500, x: 650}} dataSource={suppliers} pagination={false}> t && t.toFixed(2) || 0} /> ( <> { setVisiblePartDetail(true); setItem(_item); }} style={{marginRight: 20}}>查看配件 { setVisibleDetail(true); setItem(_item); }}>查看进度 )} />
setVisibleDetail(false)} /> setVisiblePartDetail(false)} />
); }