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