#
Junjie
2025-04-02 8fa5c45ca9761ae4b181f0921db615841b9aae15
zy-asrs-flow/src/pages/device/shuttle/index.jsx
@@ -6,6 +6,7 @@
    PageContainer,
} from '@ant-design/pro-components';
import './index.less'
import { WEBSOCKET_BASE_URL } from '@/config/setting';
const Main = () => {
    const [deviceInfos, setDeviceInfos] = useState([]);
@@ -21,8 +22,7 @@
    const [moveLocType, setMoveLocType] = useState(1);
    useEffect(() => {
        var newWs = new WebSocket("ws://127.0.0.1:9090/wcs/ws/shuttle/websocket");
        setWs(newWs);
        connect();
        return () => {
            if (ws) {
@@ -58,6 +58,7 @@
            ws.onclose = function (e) {
                console.log("close");
                reconnect();
            }
            ws.onerror = function (e) {
@@ -65,6 +66,18 @@
            }
        }
    }, [ws]);
    const connect = () => {
        var newWs = new WebSocket(WEBSOCKET_BASE_URL + "/ws/shuttle/websocket");
        setWs(newWs);
    }
    const reconnect = () => {
        setTimeout(() => {
            console.log('WebSocketClient: Attempting to reconnect...');
            connect();
        }, 3000);
    }
    const sendWs = (message) => {
        if (ws.readyState == WebSocket.OPEN) {
@@ -163,6 +176,25 @@
        }
    }
    const shuttleMoveLocClose = async () => {
        try {
            const resp = await Http.doPost('api/basShuttle/moveLocClose', {
                shuttleNo: currentData.shuttleNo,
            });
            if (resp.code === 200) {
                message.success("请求成功");
                return true;
            } else {
                message.warning(resp.msg);
                return false;
            }
        } catch (error) {
            message.warning("请求失败");
            return false;
        }
    }
    const xStartChange = (e) => {
        setXStart(e.target.value)
    }
@@ -259,7 +291,12 @@
                        key: '13',
                        label: '自动',
                        children: item.mode ? 'Y' : 'N',
                    }
                    },
                    {
                        key: '14',
                        label: '库位号',
                        children: item.currentLocNo,
                    },
                ];
                return <div key={item.id} style={{ width: '45%' }}>
                    <div style={{ marginBottom: '10px' }}>
@@ -288,8 +325,6 @@
                            </p>
                            <p>
                            </p>
                            <p>
                            </p>
                            <div className="commandItem">
                                <Button onClick={() => shuttleOperator('moveLoc')}>移动到目标位置</Button>
                                <Button onClick={() => shuttleOperator('takeMove')}>取放货作业</Button>
@@ -304,6 +339,7 @@
                                <Button onClick={() => shuttleOperator('palletDown')}>托盘下降</Button>
                                <Button onClick={() => shuttleOperator('chargeOpen')}>充电开</Button>
                                <Button onClick={() => shuttleOperator('chargeClose')}>充电关</Button>
                                <Button onClick={() => shuttleOperator('requestWaiting')}>申请确认</Button>
                                <Button onClick={() => shuttleOperator('reset')}>复位</Button>
                            </div>
                        </Card>
@@ -325,6 +361,7 @@
                                    />
                                </div>
                                <Button onClick={() => shuttleMoveLoc()}>跑库</Button>
                                <Button onClick={() => shuttleMoveLocClose()}>跑库关闭</Button>
                            </div>
                        </Card>
                    </div>