From d2adaf492a992dfbcbe117ecc1fa2b7e4d8aaf73 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 19 九月 2024 13:58:22 +0800
Subject: [PATCH] #

---
 zy-acs-flow/src/page/components/ImportModal.jsx                                         |    2 +-
 zy-acs-flow/src/page/code/useCodeImport.jsx                                             |    3 +--
 zy-acs-flow/src/page/route/importTemp.csv                                               |    1 +
 zy-acs-flow/src/page/route/useRouteImport.jsx                                           |   20 ++++++++++++++++++++
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/CodeController.java  |    3 +--
 zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/RouteController.java |   11 ++++++++++-
 zy-acs-flow/src/page/route/RouteList.jsx                                                |    6 ++++++
 7 files changed, 40 insertions(+), 6 deletions(-)

diff --git a/zy-acs-flow/src/page/code/useCodeImport.jsx b/zy-acs-flow/src/page/code/useCodeImport.jsx
index ced0084..5b62f25 100644
--- a/zy-acs-flow/src/page/code/useCodeImport.jsx
+++ b/zy-acs-flow/src/page/code/useCodeImport.jsx
@@ -1,9 +1,8 @@
 import { useCallback, useMemo } from 'react';
-import { useDataProvider, useGetIdentity } from 'react-admin';
 import request from '@/utils/request';
 
 export function useCodeImport() {
-
+    
     const processBatch = useCallback(async (batch) => {
         const res = await request.post('/code/import', batch);
         const { code, msg, data } = res.data;
diff --git a/zy-acs-flow/src/page/components/ImportModal.jsx b/zy-acs-flow/src/page/components/ImportModal.jsx
index ceba0b3..76e7713 100644
--- a/zy-acs-flow/src/page/components/ImportModal.jsx
+++ b/zy-acs-flow/src/page/components/ImportModal.jsx
@@ -149,7 +149,7 @@
                                             label="common.action.import.download"
                                             color="info"
                                             to={importTemp}
-                                            download={'crm_contacts_sample.csv'}
+                                            download={'import_template.csv'}
                                         />
                                     }
                                 >
diff --git a/zy-acs-flow/src/page/route/RouteList.jsx b/zy-acs-flow/src/page/route/RouteList.jsx
index 6d81312..2423b16 100644
--- a/zy-acs-flow/src/page/route/RouteList.jsx
+++ b/zy-acs-flow/src/page/route/RouteList.jsx
@@ -42,6 +42,11 @@
 import MyField from "../components/MyField";
 import { PAGE_DRAWER_WIDTH, OPERATE_MODE } from '@/config/setting';
 import * as Common from '@/utils/common';
+import ImportButton from '../components/ImportButton'
+import { useRouteImport } from './useRouteImport';
+
+import * as importTemp from './importTemp.csv?raw';
+const IMPORT_TEMP_URL = `data:text/csv;name=crm_contacts_sample.csv;charset=utf-8,${encodeURIComponent(importTemp.default)}`;
 
 const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
     '& .css-1vooibu-MuiSvgIcon-root': {
@@ -117,6 +122,7 @@
                         <FilterButton />
                         <MyCreateButton onClick={() => { setCreateDialog(true) }} />
                         <SelectColumnsButton preferenceKey='route' />
+                        <ImportButton importTemp={IMPORT_TEMP_URL} useCodeImport={useRouteImport} onceBatch={10} />
                         <MyExportButton />
                     </TopToolbar>
                 )}
diff --git a/zy-acs-flow/src/page/route/importTemp.csv b/zy-acs-flow/src/page/route/importTemp.csv
new file mode 100644
index 0000000..03b80d5
--- /dev/null
+++ b/zy-acs-flow/src/page/route/importTemp.csv
@@ -0,0 +1 @@
+start_code,end_code,distance,"direction(0:鏃犲簭,1:姝e悜,2:鍙嶅悜)"
diff --git a/zy-acs-flow/src/page/route/useRouteImport.jsx b/zy-acs-flow/src/page/route/useRouteImport.jsx
new file mode 100644
index 0000000..b67152d
--- /dev/null
+++ b/zy-acs-flow/src/page/route/useRouteImport.jsx
@@ -0,0 +1,20 @@
+import { useCallback, useMemo } from 'react';
+import request from '@/utils/request';
+
+export function useRouteImport() {
+    
+    const processBatch = useCallback(async (batch) => {
+        const res = await request.post('/route/import', batch);
+        const { code, msg, data } = res.data;
+        if (code === 200) {
+
+        } else {
+            console.error(msg);
+            throw new Error(`Batch import failed: ${msg}`);
+        }
+    }, []);
+
+    return {
+        processBatch,
+    };
+}
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/CodeController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/CodeController.java
index 138f911..c74b580 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/CodeController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/CodeController.java
@@ -129,8 +129,7 @@
     @PreAuthorize("hasAuthority('manager:code:save')")
     @PostMapping("/code/import")
     public R importBatch(@RequestBody List<Map<String, Object>> list) {
-        Date now = new Date();
-        Long userId = getLoginUserId();
+        Date now = new Date();  Long userId = getLoginUserId();
         for (Map<String, Object> map : list) {
             Code code = Cools.conver(map, Code.class);
             if (null != codeService.selectByData(code.getData())) {
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/RouteController.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/RouteController.java
index e23c6c7..aaa84f0 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/RouteController.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/RouteController.java
@@ -4,11 +4,11 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zy.acs.framework.common.Cools;
 import com.zy.acs.framework.common.R;
-import com.zy.acs.manager.common.utils.ExcelUtil;
 import com.zy.acs.manager.common.annotation.OperationLog;
 import com.zy.acs.manager.common.domain.BaseParam;
 import com.zy.acs.manager.common.domain.KeyValVo;
 import com.zy.acs.manager.common.domain.PageParam;
+import com.zy.acs.manager.common.utils.ExcelUtil;
 import com.zy.acs.manager.manager.entity.Route;
 import com.zy.acs.manager.manager.service.RouteService;
 import com.zy.acs.manager.system.controller.BaseController;
@@ -108,4 +108,13 @@
         ExcelUtil.build(ExcelUtil.create(routeService.list(), Route.class), response);
     }
 
+    @PreAuthorize("hasAuthority('manager:route:save')")
+    @PostMapping("/route/import")
+    public R importBatch(@RequestBody List<Map<String, Object>> list) {
+        Date now = new Date();  Long userId = getLoginUserId();
+        for (Map<String, Object> map : list) {
+        }
+        return R.ok();
+    }
+
 }

--
Gitblit v1.9.1