From 1ed4b56aee1e01d9cdeca3766c687c0ebfe45965 Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 15 十二月 2025 10:27:29 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/map/areaSettings/index.jsx |  100 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 78 insertions(+), 22 deletions(-)

diff --git a/zy-acs-flow/src/map/areaSettings/index.jsx b/zy-acs-flow/src/map/areaSettings/index.jsx
index 39b0fd1..db2f207 100644
--- a/zy-acs-flow/src/map/areaSettings/index.jsx
+++ b/zy-acs-flow/src/map/areaSettings/index.jsx
@@ -1,27 +1,75 @@
-import React, { useState, useRef, useEffect } from 'react';
+import React, { useState, useEffect } from 'react';
 import { useTranslate } from "react-admin";
-import { Drawer, Box, Typography, Tabs, Tab, IconButton, Stack, useTheme, Card, CardContent, Divider } from '@mui/material';
+import {
+    Drawer,
+    Box,
+    Typography,
+    Tabs,
+    Tab,
+    IconButton,
+    Stack,
+    useTheme,
+    Card,
+    CardContent,
+    Divider,
+} from '@mui/material';
 import CloseIcon from '@mui/icons-material/Close';
 import { PAGE_DRAWER_WIDTH } from '@/config/setting';
-import MapSettings from './MapSettings';
-import ConfigSettings from './ConfigSettings';
+import AreaBasicTab from './AreaBasicTab';
+import AreaAdvancedTab from './AreaAdvancedTab';
 
 const AreaSettings = (props) => {
-    const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH, title, setSpriteSettings } = props;
+    const { open, onCancel, sprite, width = PAGE_DRAWER_WIDTH } = props;
     const theme = useTheme();
     const themeMode = theme.palette.mode;
     const translate = useTranslate();
-
-    const [lastCopiedSprites, setLastCopiedSprites] = useState([]);
 
     const handleClose = () => {
         onCancel();
     }
 
     const [activeTab, setActiveTab] = useState(0);
+    const [areaName, setAreaName] = useState('');
+    const [agvList, setAgvList] = useState('');
+    const [barcodeList, setBarcodeList] = useState('');
+    const [areaCode, setAreaCode] = useState('');
+    const [maxQty, setMaxQty] = useState('');
+    const [speedLimit, setSpeedLimit] = useState('');
+    const [shapeData, setShapeData] = useState('');
+    const [priority, setPriority] = useState('');
+
+    useEffect(() => {
+        if (sprite?.data) {
+            setAreaName(sprite.data.name || '');
+            setAreaCode(sprite.data.code || '');
+            setMaxQty(sprite.data.maxQty || '');
+            setSpeedLimit(sprite.data.speedLimit || '');
+            setShapeData(sprite.data.shape || '');
+            setPriority(sprite.data.priority || '');
+            setAgvList((sprite.data.agvs || []).join(', '));
+            setBarcodeList((sprite.data.barcodes || []).join('\n'));
+        } else {
+            setAreaName('');
+            setAreaCode('');
+            setMaxQty('');
+            setSpeedLimit('');
+            setShapeData('');
+            setPriority('');
+            setAgvList('');
+            setBarcodeList('');
+        }
+    }, [sprite]);
 
     const handleTabChange = (event, newValue) => {
         setActiveTab(newValue);
+    };
+
+    const handleSaveBasic = () => {
+        // placeholder for save logic
+    };
+
+    const handleSaveAdvanced = () => {
+        // placeholder for save logic
     };
 
     return (
@@ -69,29 +117,37 @@
                                         variant="fullWidth"
                                         sx={{ mb: 0 }}
                                     >
-                                        <Tab label={translate('page.map.settings.map.title')} />
-                                        <Tab label={translate('page.map.settings.config.title')} />
+                                        <Tab label={translate('page.map.area.basic', { _: '鍩虹' })} />
+                                        <Tab label={translate('page.map.area.advanced', { _: '楂樼骇' })} />
                                     </Tabs>
 
                                     <Divider />
 
                                     <Box p={3}>
                                         {activeTab === 0 && (
-                                            <MapSettings
-                                                sprite={sprite}
-                                                setSpriteSettings={setSpriteSettings}
-                                                onSubmit={() => {
-                                                }}
-                                                width={width}
-                                                lastCopiedSprites={lastCopiedSprites}
-                                                setLastCopiedSprites={setLastCopiedSprites}
+                                            <AreaBasicTab
+                                                areaName={areaName}
+                                                setAreaName={setAreaName}
+                                                agvList={agvList}
+                                                setAgvList={setAgvList}
+                                                barcodeList={barcodeList}
+                                                setBarcodeList={setBarcodeList}
+                                                onSave={handleSaveBasic}
                                             />
                                         )}
                                         {activeTab === 1 && (
-                                            <ConfigSettings
-                                                sprite={sprite}
-                                                onSubmit={() => {
-                                                }}
+                                            <AreaAdvancedTab
+                                                areaCode={areaCode}
+                                                setAreaCode={setAreaCode}
+                                                maxQty={maxQty}
+                                                setMaxQty={setMaxQty}
+                                                speedLimit={speedLimit}
+                                                setSpeedLimit={setSpeedLimit}
+                                                shapeData={shapeData}
+                                                setShapeData={setShapeData}
+                                                priority={priority}
+                                                setPriority={setPriority}
+                                                onSave={handleSaveAdvanced}
                                             />
                                         )}
                                     </Box>
@@ -105,4 +161,4 @@
     )
 }
 
-export default AreaSettings;
\ No newline at end of file
+export default AreaSettings;

--
Gitblit v1.9.1