#
vincentlu
2025-05-13 ebd2f4397a92c6a5096de1b86d59154363344720
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,16 +14,20 @@
    mapContainer = param;
}
export const fetchMapData = async (zoneId) => {
export const fetchMapData = (zoneId, setRcsStatus, setCurSprite) => {
    Tool.clearMapData();
    await request.post('/map/data/fetch', {
    return request.post('/map/data/fetch', {
        zoneId: zoneId
    }, {
        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) {
            const mapItemList = [...eval(common), ...eval(point)];
            setRcsStatus(rcsStatus);
            const commonList = common ? eval(common) : [];
            const pointList = point ? eval(point) : [];
            const mapItemList = [...commonList, ...pointList];
            mapItemList.forEach(item => {
                if (item.type !== DEVICE_TYPE.AGV) {
                    const sprite = Tool.generateSprite(item.type);
@@ -36,23 +41,22 @@
                        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.65, 0.65);
                                    break
                                default:
                                    break
                            }
                        }, 50);
                        // support
                        switch (item.type) {
                            case DEVICE_TYPE.POINT:
                                sprite.scale.set(pointList.length < 2000 ? 1 : 1.6);
                                break
                            default:
                                break
                        }
                        mapContainer.addChild(sprite);
                        Tool.beInsight(sprite, setCurSprite);
                    }
                }
            })
@@ -74,7 +78,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,
@@ -107,3 +111,265 @@
        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, errCallBack) => {
    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);
            if (errCallBack) {
                errCallBack();
            }
        }
    }).catch((error) => {
        notify.error(error.message);
        console.error(error.message);
        if (errCallBack) {
            errCallBack();
        }
    })
}
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);
    })
}
export const getFakeSign = async (param, callback) => {
    await request.get('/fake/sign/get').then((res) => {
        const { code, msg, data } = res.data;
        if (code === 200) {
            if (callback) {
                callback(data)
            }
        } else {
            notify.error(msg);
        }
    }).catch((error) => {
        notify.error(error.message);
        console.error(error.message);
    })
}
export const setFakeSign = async (param, callback) => {
    await request.post('/fake/sign/set', {
        sign: param,
    }, {
        headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    }).then((res) => {
        const { code, msg, data } = res.data;
        if (code === 200) {
            if (data) {
                notify.success(msg);
            }
            if (callback) {
                callback(data)
            }
        } else {
            notify.error(msg);
        }
    }).catch((error) => {
        notify.error(error.message);
        console.error(error.message);
    })
}
export const handleAgvPatrol = async (param) => {
    try {
        const res = await request.post('/handler/agv/patrol', param, {
            headers: {
                'appKey': HANDLE_APP_KEY
            }
        });
        const { code, msg, data } = res.data;
        if (code === 200) {
            notify.success(msg);
            return true;
        } else {
            notify.error(msg);
        }
    } catch (error) {
        notify.error(error.message);
        console.error(error.message);
    }
    return false;
}
export const locateAllAgv = async (param) => {
    try {
        const res = await request.post('/handler/locateAllAgv', param, {
            headers: {
                'appKey': HANDLE_APP_KEY
            }
        });
        const { code, msg, data } = res.data;
        if (code === 200) {
            notify.success(msg);
            return true;
        } else {
            notify.error(msg);
        }
    } catch (error) {
        notify.error(error.message);
        console.error(error.message);
    }
    return false;
}
export const startPatrolBatch = async (param) => {
    try {
        const res = await request.post('/handler/patrol/batch/startup', param, {
            headers: {
                'appKey': HANDLE_APP_KEY
            }
        });
        const { code, msg, data } = res.data;
        if (code === 200) {
            notify.success(msg);
            return true;
        } else {
            notify.error(msg);
        }
    } catch (error) {
        notify.error(error.message);
        console.error(error.message);
    }
    return false;
}
export const cancelPatrolBatch = async (param) => {
    try {
        const res = await request.post('/handler/patrol/batch/shutdown', param, {
            headers: {
                'appKey': HANDLE_APP_KEY
            }
        });
        const { code, msg, data } = res.data;
        if (code === 200) {
            notify.success(msg);
            return true;
        } else {
            notify.error(msg);
        }
    } catch (error) {
        notify.error(error.message);
        console.error(error.message);
    }
    return false;
}