组件居中,可拖拽

This commit is contained in:
JIANG
2025-12-16 17:21:04 +08:00
parent 3aa68d796b
commit 15f48d0496

View File

@@ -1,6 +1,14 @@
"use client";
import React, { useCallback, useEffect, useMemo, useState } from "react";
import React, {
useCallback,
useEffect,
useMemo,
useRef,
useState,
} from "react";
import Draggable from "react-draggable";
import {
Box,
Button,
@@ -294,6 +302,7 @@ const SCADADataPanel: React.FC<SCADADataPanelProps> = ({
const [selectedSource, setSelectedSource] = useState<
"raw" | "clean" | "sim" | "all"
>(() => (deviceIds.length === 1 ? "all" : "clean"));
const draggableRef = useRef<HTMLDivElement>(null);
// 获取 SCADA 设备信息,生成 deviceLabels
useEffect(() => {
@@ -648,12 +657,13 @@ const SCADADataPanel: React.FC<SCADADataPanelProps> = ({
return (
<>
{/* 主面板 */}
<Draggable nodeRef={draggableRef}>
<Box
ref={draggableRef}
sx={{
position: "fixed",
left: "50%",
top: "50%",
transform: "translate(-50%, -50%)",
position: "absolute",
right: "1rem",
top: "1rem",
width: "min(920px, calc(100vw - 2rem))",
maxWidth: "100vw",
height: "860px",
@@ -856,6 +866,7 @@ const SCADADataPanel: React.FC<SCADADataPanelProps> = ({
</Box>
</Box>
</Box>
</Draggable>
</>
);
};