#
luxiaotao1123
2024-11-04 7f70cb15d035f0c233b9e62b9e43aa985317c908
zy-acs-flow/src/map/http.js
@@ -1,6 +1,7 @@
import request from '@/utils/request';
import * as Tool from './tool';
import { DEVICE_TYPE } from './constants';
import { HANDLE_APP_KEY } from '@/config/setting';
let notify;
let mapContainer;
@@ -13,17 +14,16 @@
    mapContainer = param;
}
export const fetchMapData = async (zoneId) => {
export const fetchMapData = (zoneId, setRcsStatus) => {
    Tool.clearMapData();
    await request.post('/map/data/fetch', {
    return request.post('/map/data/fetch', {
        zoneId: zoneId
    }, {
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
        }
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    }).then((res) => {
        const { code, msg, data: { common, point } } = res.data;
        const { code, msg, data: { rcsStatus, common, point } } = res.data;
        if (code === 200) {
            setRcsStatus(rcsStatus);
            const mapItemList = [...eval(common), ...eval(point)];
            mapItemList.forEach(item => {
                if (item.type !== DEVICE_TYPE.AGV) {
@@ -38,21 +38,20 @@
                        Object.assign(sprite.data, item.property);
                        // graph
                        setTimeout(() => {
                            sprite.position.set(item.positionX, item.positionY);
                            sprite.scale.set(item.scaleX, item.scaleY);
                            sprite.rotation = Tool.rotationParseNum(item.rotation);
                        // setTimeout(() => {
                        sprite.position.set(item.positionX, item.positionY);
                        sprite.scale.set(item.scaleX, item.scaleY);
                        sprite.rotation = Tool.rotationParseNum(item.rotation);
                            // support
                            switch (item.type) {
                                case DEVICE_TYPE.POINT:
                                    sprite.tint = 0xCACDCF;
                                    sprite.scale.set(0.3, 0.3);
                                    break
                                default:
                                    break
                            }
                        }, 50);
                        // support
                        switch (item.type) {
                            case DEVICE_TYPE.POINT:
                                sprite.scale.set(0.65, 0.65);
                                break
                            default:
                                break
                        }
                        // }, 50);
                        mapContainer.addChild(sprite);
                    }
@@ -76,7 +75,7 @@
    mapContainer.children.forEach(child => {
        if (child.data?.uuid) {
            const { type, uuid, no, ...property } = child.data;
            if (type !== DEVICE_TYPE.AGV && type !== DEVICE_TYPE.POINT) {
            if (type !== DEVICE_TYPE.AGV && type !== DEVICE_TYPE.POINT && type !== DEVICE_TYPE.ROUTE) {
                sprites.push({
                    // graph
                    positionX: child.position.x,
@@ -109,3 +108,136 @@
        console.error(error.message);
    })
}
export const startupOrShutdown = async (callback) => {
    try {
        const res = await request.post('/map/startupOrShutdown');
        const { code, msg, data } = res.data;
        if (code === 200) {
            if (callback) {
                callback();
            }
        } else {
            notify.error(msg);
        }
    } catch (error) {
        notify.error(error.message);
        console.error(error.message);
    }
}
export const getLocGroup = async (row, bay, callback) => {
    await request.post('/map/shelf/group', {
        row: row,
        bay: bay
    }, {
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    }).then((res) => {
        const { code, msg, data } = res.data;
        if (code === 200) {
            callback(data)
        } else {
            notify.error(msg);
        }
    }).catch((error) => {
        notify.error(error.message);
        console.error(error.message);
    })
}
export const getAgvInfo = async (agvNo, callback) => {
    await request.post('/map/agv/info', {
        agvNo: agvNo,
    }, {
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    }).then((res) => {
        const { code, msg, data } = res.data;
        if (code === 200) {
            callback(data)
        } else {
            notify.error(msg);
        }
    }).catch((error) => {
        notify.error(error.message);
        console.error(error.message);
    })
}
export const getPointInfo = async (point, callback) => {
    await request.post('/map/point/info', {
        codeData: point,
    }, {
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    }).then((res) => {
        const { code, msg, data } = res.data;
        if (code === 200) {
            callback(data)
        } else {
            notify.error(msg);
        }
    }).catch((error) => {
        notify.error(error.message);
        console.error(error.message);
    })
}
export const getRouteList = async (zoneId, callback) => {
    await request.post('/map/route/list', {
        zoneId: zoneId,
    }, {
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    }).then((res) => {
        const { code, msg, data } = res.data;
        if (code === 200) {
            callback(data)
        } else {
            notify.error(msg);
        }
    }).catch((error) => {
        notify.error(error.message);
        console.error(error.message);
    })
}
export const handleControlAgv = async (param, callback) => {
    await request.post('/handler/control/agv', param, {
        headers: {
            'appKey': HANDLE_APP_KEY
        }
    }).then((res) => {
        const { code, msg, data } = res.data;
        if (code === 200) {
            notify.success(msg);
            if (callback) {
                callback(data)
            }
        } else {
            notify.error(msg);
        }
    }).catch((error) => {
        notify.error(error.message);
        console.error(error.message);
    })
}
export const handleRestoreAgvAll = async (param, callback) => {
    await request.post('/handler/restore/agv', param, {
        headers: {
            'appKey': HANDLE_APP_KEY
        }
    }).then((res) => {
        const { code, msg, data } = res.data;
        if (code === 200) {
            notify.success(msg);
            if (callback) {
                callback(data)
            }
        } else {
            notify.error(msg);
        }
    }).catch((error) => {
        notify.error(error.message);
        console.error(error.message);
    })
}