#
Junjie
2024-06-13 bbc577bc32c9b0db6e07fe60b7d066e7a838793d
zy-asrs-flow/src/pages/map/index.jsx
@@ -1,7 +1,7 @@
import * as React from 'react'
import * as TWEEDLE from 'tweedle.js';
import { FormattedMessage, useIntl, useModel } from '@umijs/max';
import { Layout, Button, Flex, Row, Col, FloatButton, Select, notification, Segmented } from 'antd';
import { Layout, Button, Flex, Row, Col, FloatButton, Select, notification, Segmented, message } from 'antd';
const { Header, Content } = Layout;
import {
    AppstoreAddOutlined,
@@ -12,6 +12,7 @@
import './index.css'
import { createStyles } from 'antd-style';
import Edit from './components/device';
import Http from '@/utils/http';
import Settings from './components/settings'
import * as Utils from './utils'
import WebSocketClient from './websocket'
@@ -133,7 +134,7 @@
        initialize();
        return () => {
            websocket.onMessage = (data) => {}
            websocket.onMessage = (data) => { }
            if (websocket) {
                websocket.close();
            }
@@ -249,6 +250,25 @@
    }, [curSprite]);
    const prevCurSprite = prevCurSpriteRef.current;
    const clearLockPath = async (floor) => {
        const hide = message.loading(intl.formatMessage({ id: 'page.clearing', defaultMessage: '正在清空' }));
        try {
            const resp = await Http.doGet('api/map/clearLockPath', { lev: floor });
            if (resp.code === 200) {
                message.success(intl.formatMessage({ id: 'page.clearing.success', defaultMessage: '清空成功' }));
                return true;
            } else {
                message.error(resp.msg);
                return false;
            }
        } catch (error) {
            message.error(intl.formatMessage({ id: 'page.clearing.fail', defaultMessage: '清空失败请重试!' }));
            return false;
        } finally {
            hide();
        }
    }
    // fn switch floor
    const switchFloor = async (floor) => {
        await Utils.fetchMapData(floor);
@@ -329,6 +349,16 @@
                                            className='map-header-button'
                                            size={'large'}
                                            onClick={() => {
                                                clearLockPath(curFloor)
                                            }}
                                        >
                                            <FormattedMessage id='map.clearLockPath' defaultMessage='清空路径' />
                                        </Button>
                                        <Button
                                            className='map-header-button'
                                            size={'large'}
                                            onClick={() => {
                                                switchFloor(curFloor)
                                            }}
                                        >