#
vincentlu
2025-04-21 4b81cc671814355c769e9c4c67ccb6e2ebf6321d
zy-acs-flow/src/map/header/MoreOperate.jsx
@@ -10,9 +10,11 @@
    ListItemText,
    CircularProgress,
} from '@mui/material';
import { handleLocateAllAgv } from "../http";
import { locateAllAgv, startPatrolBatch, cancelPatrolBatch } from "../http";
import GpsFixedIcon from '@mui/icons-material/GpsFixed';
import { VERIFY_PASSWORD } from '@/config/setting';
import TimelineIcon from '@mui/icons-material/Timeline';
import CloseIcon from '@mui/icons-material/Close';
const MoreOperate = ({ }) => {
    const translate = useTranslate();
@@ -37,13 +39,25 @@
        }
    }
    const handleLocateAll = async () => {
        setLoading(true)
    const debounced = async (fn) => {
        setLoading(true);
        try {
            await handleLocateAllAgv();
            await fn();
        } finally {
            setLoading(false);
        }
    }
    const handleLocateAll = () => {
        debounced(locateAllAgv);
    }
    const handleStartPatrolBatch = () => {
        debounced(startPatrolBatch);
    }
    const handleCancelPatrolBatch = () => {
        debounced(cancelPatrolBatch);
    }
    return (
@@ -51,7 +65,6 @@
            <Select
                value={translate('page.map.action.moreOperation')}
                onChange={(event) => {
                    console.log(event.target.value);
                }}
                renderValue={() => (
                    <Box sx={{ display: 'flex', alignItems: 'center' }}>
@@ -86,17 +99,36 @@
                    </ListItemIcon>
                    <ListItemText>{translate('page.map.action.oneClickLocate')}</ListItemText>
                </MenuItem>
                <MenuItem
                    onClick={() => {
                        verifyPassword(handleStartPatrolBatch);
                    }}
                    disabled={loading}
                >
                    <ListItemIcon>
                        {loading
                            ? <CircularProgress size={20} />
                            : <TimelineIcon fontSize="small" />
                        }
                    </ListItemIcon>
                    <ListItemText>{translate('page.map.action.oneClickPatrol')}</ListItemText>
                </MenuItem>
                <MenuItem
                    onClick={() => {
                        verifyPassword(handleCancelPatrolBatch);
                    }}
                    disabled={loading}
                >
                    <ListItemIcon>
                        {loading
                            ? <CircularProgress size={20} />
                            : <CloseIcon fontSize="small" />
                        }
                    </ListItemIcon>
                    <ListItemText>{translate('page.map.action.cancelPatrol')}</ListItemText>
                </MenuItem>
            </Select>
            {/* <Button
                variant="contained"
                color="primary"
                onClick={handleToggle}
                sx={{ mr: 2 }}
            >
                重新定位
            </Button> */}
        </>
    );
}