From 6df1b6a36e02657c6e91ead1a5c9de4a95fd548d Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 27 九月 2024 14:05:53 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MissionController.java    |   13 ++++++
 zy-acs-flow/src/page/mission/MissionColumn.jsx                                               |    5 +-
 zy-acs-flow/src/page/mission/MissionListContent.jsx                                          |   43 +++++++++++++++++----
 zy-acs-flow/src/page/mission/MissionCard.jsx                                                 |    8 +---
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MissionVo.java     |    4 +
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/MissionServiceImpl.java |    3 +
 6 files changed, 57 insertions(+), 19 deletions(-)

diff --git a/zy-acs-flow/src/page/mission/MissionCard.jsx b/zy-acs-flow/src/page/mission/MissionCard.jsx
index 4fe4b4e..1af463c 100644
--- a/zy-acs-flow/src/page/mission/MissionCard.jsx
+++ b/zy-acs-flow/src/page/mission/MissionCard.jsx
@@ -18,11 +18,7 @@
     );
 };
 
-export const MissionCardContent = ({
-    provided,
-    snapshot,
-    mission,
-}) => {
+export const MissionCardContent = ({ provided, snapshot, mission, }) => {
     const redirect = useRedirect();
     const handleClick = () => {
         redirect(`/mission/${mission.id}/show`, undefined, undefined, undefined, {
@@ -58,7 +54,7 @@
                             {mission.groupNo}
                         </Typography>
                         <Typography variant="caption" color="textSecondary">
-                            1
+                            {mission.posType}
                         </Typography>
                     </Box>
                 </Box>
diff --git a/zy-acs-flow/src/page/mission/MissionColumn.jsx b/zy-acs-flow/src/page/mission/MissionColumn.jsx
index 5e9cf38..702bafb 100644
--- a/zy-acs-flow/src/page/mission/MissionColumn.jsx
+++ b/zy-acs-flow/src/page/mission/MissionColumn.jsx
@@ -24,15 +24,14 @@
         >
             <Stack alignItems="center">
                 <Typography variant="subtitle1">
-                    1
-                    {/* {findDealLabel(dealStages, stage)} */}
+                    {stage}
                 </Typography>
                 <Typography
                     variant="subtitle1"
                     color="text.secondary"
                     fontSize="small"
                 >
-                    2
+                    {missions.length}
                 </Typography>
             </Stack>
             <Droppable droppableId={stage}>
diff --git a/zy-acs-flow/src/page/mission/MissionListContent.jsx b/zy-acs-flow/src/page/mission/MissionListContent.jsx
index bb8753f..8c4626a 100644
--- a/zy-acs-flow/src/page/mission/MissionListContent.jsx
+++ b/zy-acs-flow/src/page/mission/MissionListContent.jsx
@@ -1,18 +1,45 @@
+import { useEffect, useState } from 'react';
 import { DragDropContext } from '@hello-pangea/dnd';
 import { Box } from '@mui/material';
 import isEqual from 'lodash/isEqual';
-import { useEffect, useState } from 'react';
-import { useDataProvider, useListContext } from 'react-admin';
-
+import {
+    useDataProvider,
+    useListContext,
+    useNotify,
+    useRefresh,
+    useTranslate,
+} from 'react-admin';
 import { MissionColumn } from './MissionColumn';
+import request from '@/utils/request';
 
 export const MissionListContent = () => {
+    const translate = useTranslate();
+    const notify = useNotify();
+    const refresh = useRefresh();
     const { data, isPending, refetch } = useListContext();
     const dataProvider = useDataProvider();
+
+    const [stages, setStages] = useState([]);
 
     // const [dealsByStage, setDealsByStage] = useState(
     //     getDealsByStage([], dealStages)
     // );
+
+    useEffect(() => {
+        const httpStages = async () => {
+            request.post('/mission/posType/list').then(res => {
+                const { code, msg, data } = res.data;
+                if (code === 200) {
+                    setStages(data);
+                } else {
+                    notify(msg || 'common.response.fail', { type: 'error', messageArgs: { _: msg } });
+                }
+            }).catch(error => {
+                notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } });
+            })
+        }
+        httpStages();
+    }, []);
 
     useEffect(() => {
         // if (data) {
@@ -66,16 +93,14 @@
         // });
     };
 
-    const columns = ['a', 'b']
-
     return (
         <DragDropContext onDragEnd={onDragEnd}>
             <Box display="flex">
-                {columns.map(column => (
+                {stages.map(stage => (
                     <MissionColumn
-                        stage={column}
-                        missions={data}
-                        key={column}
+                        key={stage}
+                        stage={stage}
+                        missions={data.filter(item => item.posType === stage)}
                     />
                 ))}
             </Box>
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 fb131e9..b8be782 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
@@ -2,6 +2,7 @@
 
 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.service.MissionService;
 import com.zy.acs.manager.manager.service.SegmentService;
 import com.zy.acs.manager.system.controller.BaseController;
@@ -12,6 +13,8 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -32,4 +35,14 @@
         return R.ok().add(Cools.add("total", Integer.MAX_VALUE).add("records", missionService.getList()));
     }
 
+    @PreAuthorize("hasAuthority('manager:mission:list')")
+    @PostMapping("/mission/posType/list")
+    public R posTypeList() {
+        List<String> list = new ArrayList<>();
+        for (TaskPosDto.PosType value : TaskPosDto.PosType.values()) {
+            list.add(value.toString());
+        }
+        return R.ok().add(list);
+    }
+
 }
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MissionVo.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MissionVo.java
index 9247976..773130e 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MissionVo.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/result/MissionVo.java
@@ -10,6 +10,8 @@
 
     private Long id;
 
-    String groupNo;
+    private String groupNo;
+
+    private String posType;
 
 }
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 e394705..d6ef3a6 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
@@ -42,9 +42,12 @@
             return null;
         }
         Segment segment = list.get(0);
+
         MissionVo vo = new MissionVo();
         vo.setGroupNo(groupNo);
         vo.setId(segment.getId());
+        vo.setPosType(segment.getPosType());
+
         return vo;
     }
 

--
Gitblit v1.9.1