From 7fba4f90e8f6a489bb8767fb48a8c1028fe1ed9f Mon Sep 17 00:00:00 2001
From: vincentlu <t1341870251@gmail.com>
Date: 星期一, 21 四月 2025 09:23:25 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/header/FakeFab.jsx | 3 ++-
zy-acs-flow/src/config/setting.js | 2 ++
zy-acs-flow/src/map/http.js | 4 ++--
zy-acs-flow/src/i18n/en.js | 2 +-
zy-acs-flow/src/map/header/MoreOperate.jsx | 35 +++++++++++++++++++++++++++--------
zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java | 10 ++++++----
6 files changed, 40 insertions(+), 16 deletions(-)
diff --git a/zy-acs-flow/src/config/setting.js b/zy-acs-flow/src/config/setting.js
index c558454..05cd956 100644
--- a/zy-acs-flow/src/config/setting.js
+++ b/zy-acs-flow/src/config/setting.js
@@ -9,6 +9,8 @@
export const HANDLE_APP_KEY = 'xltys1995';
+export const VERIFY_PASSWORD = 'root';
+
export const SPA_NAME = 'COOL';
export const SPA_VERSION = '1';
diff --git a/zy-acs-flow/src/i18n/en.js b/zy-acs-flow/src/i18n/en.js
index bf0a276..0c1ce05 100644
--- a/zy-acs-flow/src/i18n/en.js
+++ b/zy-acs-flow/src/i18n/en.js
@@ -656,7 +656,7 @@
startPatrol: 'START PATROL',
stopPatrol: 'STOP PATROL',
moreOperation: 'More Operation',
- oneClickLocate: 'One Click Locate',
+ oneClickLocate: 'One-click Locate',
},
mode: {
observer: 'OBSERVER',
diff --git a/zy-acs-flow/src/map/header/FakeFab.jsx b/zy-acs-flow/src/map/header/FakeFab.jsx
index 3fabf66..eb3f593 100644
--- a/zy-acs-flow/src/map/header/FakeFab.jsx
+++ b/zy-acs-flow/src/map/header/FakeFab.jsx
@@ -5,6 +5,7 @@
} from '@mui/material';
import LensBlurIcon from '@mui/icons-material/LensBlur';
import { getFakeSign, setFakeSign } from "../http";
+import { VERIFY_PASSWORD } from '@/config/setting';
const FakeFab = (props) => {
const translate = useTranslate();
@@ -21,7 +22,7 @@
let pass = true;
if (!res) {
const pwd = prompt("please enter password:");
- if (pwd === 'xltys1995') {
+ if (pwd === VERIFY_PASSWORD) {
pass = true;
} else {
pass = false;
diff --git a/zy-acs-flow/src/map/header/MoreOperate.jsx b/zy-acs-flow/src/map/header/MoreOperate.jsx
index f3d7e4e..49c7d9c 100644
--- a/zy-acs-flow/src/map/header/MoreOperate.jsx
+++ b/zy-acs-flow/src/map/header/MoreOperate.jsx
@@ -1,24 +1,28 @@
import React, { useState, useRef, useEffect, useMemo } from "react";
import { useTranslate } from "react-admin";
import {
+ Box,
Select,
MenuItem,
Button,
useTheme,
ListItemIcon,
ListItemText,
+ CircularProgress,
} from '@mui/material';
-import { handleRePositionAll } from "../http";
+import { handleLocateAllAgv } from "../http";
import GpsFixedIcon from '@mui/icons-material/GpsFixed';
+import { VERIFY_PASSWORD } from '@/config/setting';
const MoreOperate = ({ }) => {
const translate = useTranslate();
const theme = useTheme();
+ const [loading, setLoading] = useState(false);
const verifyPassword = (fn) => {
let pass = true;
const pwd = prompt("please enter password:");
- if (pwd === 'xltys1995') {
+ if (pwd === VERIFY_PASSWORD) {
pass = true;
} else {
pass = false;
@@ -33,8 +37,13 @@
}
}
- const handleLocateAll = () => {
- alert('瀹氫綅鎴愬姛');
+ const handleLocateAll = async () => {
+ setLoading(true)
+ try {
+ await handleLocateAllAgv();
+ } finally {
+ setLoading(false);
+ }
}
return (
@@ -44,11 +53,17 @@
onChange={(event) => {
console.log(event.target.value);
}}
- renderValue={(selected) =>
- translate('page.map.action.moreOperation')
- }
+ renderValue={() => (
+ <Box sx={{ display: 'flex', alignItems: 'center' }}>
+ {loading && (
+ <CircularProgress size={20} sx={{ mr: 1 }} />
+ )}
+ {translate('page.map.action.moreOperation')}
+ </Box>
+ )}
variant="outlined"
size="small"
+ disabled={loading}
sx={{
ml: 2,
backgroundColor: theme.palette.background.paper,
@@ -61,9 +76,13 @@
onClick={() => {
verifyPassword(handleLocateAll);
}}
+ disabled={loading}
>
<ListItemIcon>
- <GpsFixedIcon fontSize="small" />
+ {loading
+ ? <CircularProgress size={20} />
+ : <GpsFixedIcon fontSize="small" />
+ }
</ListItemIcon>
<ListItemText>{translate('page.map.action.oneClickLocate')}</ListItemText>
</MenuItem>
diff --git a/zy-acs-flow/src/map/http.js b/zy-acs-flow/src/map/http.js
index fe7bd49..640a9a5 100644
--- a/zy-acs-flow/src/map/http.js
+++ b/zy-acs-flow/src/map/http.js
@@ -311,9 +311,9 @@
return false;
}
-export const handleRePositionAll = async (param) => {
+export const handleLocateAllAgv = async (param) => {
try {
- const res = await request.post('/handler/rePositionAllAgv', param, {
+ const res = await request.post('/handler/locateAllAgv', param, {
headers: {
'appKey': HANDLE_APP_KEY
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java
index ed7b01e..9b744ed 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/HandlerController.java
@@ -8,6 +8,7 @@
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.R;
import com.zy.acs.framework.common.SnowflakeIdWorker;
+import com.zy.acs.manager.common.annotation.OperationLog;
import com.zy.acs.manager.common.domain.param.HandlerPublishParam;
import com.zy.acs.manager.common.exception.BusinessException;
import com.zy.acs.manager.core.service.*;
@@ -71,12 +72,13 @@
@Autowired
private PatrolService patrolService;
- @PreAuthorize("hasAuthority('manager:loc:update')")
- @PostMapping("/rePositionAllAgv")
- public synchronized R rePositionAllAgv() {
+ @PreAuthorize("hasAuthority('manager:agv:update')")
+ @OperationLog("Locate All Agv")
+ @PostMapping("/locateAllAgv")
+ public synchronized R locateAllAgv() throws InterruptedException {
final Integer MAP_DEFAULT_LEV = 1;
redis.deleteValue(RedisConstant.AGV_MAP_ASTAR_DYNAMIC_FLAG, String.valueOf(MAP_DEFAULT_LEV));
-// avoidWaveCalculator.calcDynamicNodeWhenBoot();
+ avoidWaveCalculator.calcDynamicNodeWhenBoot();
return R.ok();
}
--
Gitblit v1.9.1