| | |
| | | import { useState, useRef, useEffect, useMemo, useCallback } from 'react'; |
| | | import { useState, useRef, useEffect, useMemo, useCallback } from 'react'; |
| | | import { Stack, Chip, Dialog, DialogTitle, DialogContent, IconButton, CircularProgress } from '@mui/material'; |
| | | import { useTranslate, useRecordContext } from 'react-admin'; |
| | | import CloseIcon from '@mui/icons-material/Close'; |
| | |
| | | }; |
| | | |
| | | const fetchAreaNames = async () => { |
| | | if (!record?.areaIds || record.areaIds.length === 0) return; |
| | | |
| | | if (!record?.areas || record.areas.length === 0) return; |
| | | |
| | | setLoading(true); |
| | | try { |
| | | const res = await request.post(`/warehouseAreas/many/${record.areaIds.join(',')}`); |
| | | try { |
| | | const res = await request.post(`/warehouseAreas/many/${record.areas.join(',')}`); |
| | | if (res?.data?.code === 200) { |
| | | setAreaNames(res.data.data || []); |
| | | } |
| | |
| | | }; |
| | | |
| | | useEffect(() => { |
| | | if (record?.areaIds && record.areaIds.length !== 0 && record.areaIds.length > 0) { |
| | | if (record?.areas && record.areas.length !== 0 && record.areas.length > 0) { |
| | | fetchAreaNames(); |
| | | } |
| | | }, [record]); |
| | | }, [record]); |
| | | |
| | | if (loading) { |
| | | return <CircularProgress size={20} />; |
| | |
| | | |
| | | return ( |
| | | <> |
| | | <Stack |
| | | direction="row" |
| | | gap={1} |
| | | flexWrap="wrap" |
| | | <Stack |
| | | direction="row" |
| | | gap={1} |
| | | flexWrap="wrap" |
| | | onClick={handleOpen} |
| | | sx={{ cursor: 'pointer' }} |
| | | > |
| | |
| | | label={`+${areaNames.length - 1}`} |
| | | /> |
| | | )} |
| | | {areaNames.length === 0 && record.areaIds && record.areaIds.length > 0 && ( |
| | | {areaNames.length === 0 && record.areas && record.areas.length > 0 && ( |
| | | <Chip |
| | | size="small" |
| | | label={`${record.areaIds.length} 个区域`} |
| | | label={`${record.areas.length} 个区域`} |
| | | /> |
| | | )} |
| | | </Stack> |
| | | |
| | | <Dialog |
| | | open={open} |
| | | <Dialog |
| | | open={open} |
| | | onClose={handleClose} |
| | | maxWidth="md" |
| | | fullWidth |