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