From 2ab3366ad79370c1fbe7b665e6a50148463ab640 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期日, 29 九月 2024 13:46:59 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/config/setting.js | 2
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MissionController.java | 13 ++-
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/MissionService.java | 2
zy-acs-flow/src/page/mission/MissionList.jsx | 4
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/floyd/FloydNavigateService.java | 3
zy-acs-flow/src/page/mission/MissionShow.jsx | 198 +++++++++++++++++++++++++++++++++++++++++++++++++
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java | 8 +
7 files changed, 217 insertions(+), 13 deletions(-)
diff --git a/zy-acs-flow/src/config/setting.js b/zy-acs-flow/src/config/setting.js
index 4d47db2..a59789d 100644
--- a/zy-acs-flow/src/config/setting.js
+++ b/zy-acs-flow/src/config/setting.js
@@ -37,4 +37,4 @@
export const LOGIN_BACKGROUND = 'media'; // image | media
-export const CUSTOM_PAGES_DATA_INTERVAL = 1000;
\ No newline at end of file
+export const CUSTOM_PAGES_DATA_INTERVAL = 100000;
\ No newline at end of file
diff --git a/zy-acs-flow/src/page/mission/MissionList.jsx b/zy-acs-flow/src/page/mission/MissionList.jsx
index 0273f92..1611f8a 100644
--- a/zy-acs-flow/src/page/mission/MissionList.jsx
+++ b/zy-acs-flow/src/page/mission/MissionList.jsx
@@ -68,7 +68,7 @@
const MissionLayout = () => {
const location = useLocation();
const matchShow = matchPath('/mission/:id/show', location.pathname);
- console.log(matchShow);
+ console.log(matchShow?.params.id);
const { data, isPending, filterValues } = useListContext();
const hasFilters = filterValues && Object.keys(filterValues).length > 0;
@@ -78,7 +78,7 @@
return (
<>
<EmptyDataLoader>
- <MissionShow open={!!matchShow} id={matchShow?.params.id} />
+ <MissionShow open={!!matchShow} groupNo={matchShow?.params.id} />
</EmptyDataLoader>
</>
);
diff --git a/zy-acs-flow/src/page/mission/MissionShow.jsx b/zy-acs-flow/src/page/mission/MissionShow.jsx
index 7c4d545..fb0c7ce 100644
--- a/zy-acs-flow/src/page/mission/MissionShow.jsx
+++ b/zy-acs-flow/src/page/mission/MissionShow.jsx
@@ -1,9 +1,203 @@
+import React, { useState, useRef, useEffect, useMemo, useCallback } from "react";
+import {
+ DeleteButton,
+ EditButton,
+ ReferenceArrayField,
+ ReferenceField,
+ ReferenceManyField,
+ ShowBase,
+ useDataProvider,
+ useNotify,
+ useRecordContext,
+ useRedirect,
+ useRefresh,
+ useUpdate,
+} from 'react-admin';
+import {
+ Box,
+ Button,
+ Chip,
+ Dialog,
+ DialogContent,
+ Divider,
+ Stack,
+ Typography,
+} from '@mui/material';
+import DialogCloseButton from "../components/DialogCloseButton";
-
-const MissionShow = () => {
+const MissionShow = ({ open, id }) => {
+ const redirect = useRedirect();
+ const handleClose = () => {
+ redirect('list', 'mission');
+ };
return (
<>
+ <Dialog
+ open={open}
+ onClose={handleClose}
+ fullWidth
+ maxWidth="md"
+ sx={{
+ '& .MuiDialog-container': {
+ alignItems: 'flex-start',
+ },
+ }}
+ >
+ <DialogContent sx={{ padding: 0 }}>
+ {!!id ? (
+ <ShowBase id={id}>
+ <MissionShowContent handleClose={handleClose} />
+ </ShowBase>
+ ) : null}
+ </DialogContent>
+ </Dialog>
+ </>
+ )
+}
+
+const CLOSE_TOP_WITH_ARCHIVED = 14;
+const MissionShowContent = ({ handleClose }) => {
+ const record = useRecordContext();
+ if (!record) return null;
+
+ return (
+ <>
+ <DialogCloseButton
+ onClose={handleClose}
+ />
+ <Stack gap={1}>
+ <Box display="flex" p={2}>
+ <Box flex="1">
+ <Stack
+ direction="row"
+ justifyContent="space-between"
+ mb={4}
+ >
+ <Stack direction="row" alignItems="center" gap={2}>
+ <Typography variant="h5">
+ {record.name}
+ </Typography>
+ </Stack>
+ <Stack
+ gap={1}
+ direction="row"
+ pr={record.archived_at ? 0 : 6}
+ >
+ </Stack>
+ </Stack>
+
+ <Box display="flex" m={2}>
+ <Box display="flex" mr={5} flexDirection="column">
+ <Typography
+ color="textSecondary"
+ variant="caption"
+ >
+ Expected closing date
+ </Typography>
+ <Stack
+ direction="row"
+ alignItems="center"
+ gap={1}
+ >
+ <Typography variant="body2">
+ </Typography>
+ {new Date(record.expected_closing_date) <
+ new Date() ? (
+ <Chip
+ label="Past"
+ color="error"
+ size="small"
+ />
+ ) : null}
+ </Stack>
+ </Box>
+
+ <Box display="flex" mr={5} flexDirection="column">
+ <Typography
+ color="textSecondary"
+ variant="caption"
+ >
+ Budget
+ </Typography>
+ <Typography variant="body2">
+ </Typography>
+ </Box>
+
+ {record.category && (
+ <Box
+ display="flex"
+ mr={5}
+ flexDirection="column"
+ >
+ <Typography
+ color="textSecondary"
+ variant="caption"
+ >
+ Category
+ </Typography>
+ <Typography variant="body2">
+ {record.category}
+ </Typography>
+ </Box>
+ )}
+
+ <Box display="flex" mr={5} flexDirection="column">
+ <Typography
+ color="textSecondary"
+ variant="caption"
+ >
+ Stage
+ </Typography>
+ <Typography variant="body2">
+ </Typography>
+ </Box>
+ </Box>
+
+ {!!record.contact_ids?.length && (
+ <Box m={2}>
+ <Box
+ display="flex"
+ mr={5}
+ flexDirection="column"
+ minHeight={48}
+ >
+ <Typography
+ color="textSecondary"
+ variant="caption"
+ >
+ Contacts
+ </Typography>
+ <ReferenceArrayField
+ source="contact_ids"
+ reference="contacts_summary"
+ >
+ <ContactList />
+ </ReferenceArrayField>
+ </Box>
+ </Box>
+ )}
+
+ {record.description && (
+ <Box m={2} sx={{ whiteSpace: 'pre-line' }}>
+ <Typography
+ color="textSecondary"
+ variant="caption"
+ >
+ Description
+ </Typography>
+ <Typography variant="body2">
+ {record.description}
+ </Typography>
+ </Box>
+ )}
+
+ <Box m={2}>
+ <Divider />
+ </Box>
+ </Box>
+ </Box>
+ </Stack>
</>
)
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/floyd/FloydNavigateService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/floyd/FloydNavigateService.java
index 0aa3468..a126df9 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/floyd/FloydNavigateService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/floyd/FloydNavigateService.java
@@ -13,7 +13,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import javax.annotation.PostConstruct;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -64,7 +63,7 @@
return this.matrixHeader.get(idx);
}
- @PostConstruct
+// @PostConstruct
@SuppressWarnings("all")
public void generateMatrix() {
log.info("銆怓LOYD銆戞鍦ㄨ绠楃煩闃垫暟鎹�......");
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MissionController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MissionController.java
index 8896c77..9fa3964 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MissionController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MissionController.java
@@ -3,15 +3,13 @@
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.R;
import com.zy.acs.manager.core.domain.TaskPosDto;
+import com.zy.acs.manager.manager.entity.Segment;
import com.zy.acs.manager.manager.service.MissionService;
import com.zy.acs.manager.manager.service.SegmentService;
import com.zy.acs.manager.system.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@@ -53,4 +51,11 @@
return R.ok().add(list);
}
+ @PreAuthorize("hasAuthority('manager:mission:list')")
+ @GetMapping("/mission/{id}")
+ public R get(@PathVariable("id") Long id) {
+ Segment segment = segmentService.getById(id);
+ return R.ok().add(missionService.generateVo(segment.getGroupId()));
+ }
+
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/MissionService.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/MissionService.java
index dab1692..2ae8b21 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/MissionService.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/MissionService.java
@@ -8,4 +8,6 @@
List<MissionVo> getList(Long agvId, String groupNo);
+ MissionVo generateVo(String groupNo);
+
}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java
index 9a1959f..11d3248 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java
@@ -36,7 +36,7 @@
List<MissionVo> result = new ArrayList<>();
List<String> runningGroupNos = segmentService.getGroupNo(SegmentStateType.RUNNING, agvId, groupNo);
for (String runningGroupNo : runningGroupNos) {
- MissionVo vo = generate(runningGroupNo);
+ MissionVo vo = generateVo(runningGroupNo);
if (null != vo) {
result.add(vo);
}
@@ -45,7 +45,11 @@
return result;
}
- public MissionVo generate(String groupNo) {
+ @Override
+ public MissionVo generateVo(String groupNo) {
+ if (Cools.isEmpty(groupNo)) {
+ return null;
+ }
List<Segment> list = segmentService.list(new LambdaQueryWrapper<Segment>().eq(Segment::getGroupId, groupNo).orderByAsc(Segment::getSerial));
if (Cools.isEmpty(list)) {
return null;
--
Gitblit v1.9.1