| | |
| | | import React, { useState, useEffect, useMemo } from 'react'; |
| | | import React, { useState, useEffect } from 'react'; |
| | | import { useTranslate } from "react-admin"; |
| | | import { |
| | | Drawer, |
| | |
| | | import { PAGE_DRAWER_WIDTH } from '@/config/setting'; |
| | | import AreaBasicTab from './AreaBasicTab'; |
| | | import AreaAdvancedTab from './AreaAdvancedTab'; |
| | | import { getAreaInfo, fetchAgvListAll } from '../http'; |
| | | import { getAreaInfo, fetchAgvListAll, updateAreaData, removeArea } from '../http'; |
| | | |
| | | const getAgvOptionId = (option) => { |
| | | if (typeof option === 'string') { |
| | |
| | | setActiveTab(newValue); |
| | | }; |
| | | |
| | | const handleSaveBasic = () => { |
| | | // console.log({ |
| | | // name, |
| | | // agvIds: agvList.map(getAgvOptionId), |
| | | // }); |
| | | // placeholder for save logic |
| | | setInitialBasic({ |
| | | const handleSaveBasic = async () => { |
| | | const areaId = sprite?.data?.id; |
| | | if (!areaId) { |
| | | return; |
| | | } |
| | | const payload = { |
| | | areaId, |
| | | name, |
| | | agvIds: agvList.map(getAgvOptionId), |
| | | }); |
| | | }; |
| | | const success = await updateAreaData(payload); |
| | | if (success) { |
| | | setInitialBasic({ |
| | | name, |
| | | agvIds: payload.agvIds, |
| | | }); |
| | | fetchAreaInfo(areaId); |
| | | } |
| | | }; |
| | | |
| | | const handleDeleteArea = async () => { |
| | | const areaId = sprite?.data?.id; |
| | | if (!areaId) { |
| | | return; |
| | | } |
| | | const success = await removeArea(areaId); |
| | | if (success) { |
| | | onCancel?.(); |
| | | } |
| | | }; |
| | | |
| | | const handleSaveAdvanced = () => { |
| | |
| | | agvList.map(getAgvOptionId), |
| | | initialBasic.agvIds |
| | | ); |
| | | |
| | | return ( |
| | | <> |
| | | <Drawer |
| | |
| | | codeList={codeList} |
| | | onSave={handleSaveBasic} |
| | | disableSave={!basicDirty} |
| | | onDelete={handleDeleteArea} |
| | | canDelete={Boolean(sprite?.data?.id)} |
| | | /> |
| | | )} |
| | | {activeTab === 1 && ( |