From 99411967019bbf0d7b0b971eae0db2c2c58025f0 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期六, 30 八月 2025 16:27:47 +0800
Subject: [PATCH] 修改任务状态
---
rsf-admin/src/page/components/ImportModal.jsx | 60 +++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 45 insertions(+), 15 deletions(-)
diff --git a/rsf-admin/src/page/components/ImportModal.jsx b/rsf-admin/src/page/components/ImportModal.jsx
index 1461531..caee07f 100644
--- a/rsf-admin/src/page/components/ImportModal.jsx
+++ b/rsf-admin/src/page/components/ImportModal.jsx
@@ -1,4 +1,4 @@
-import { useEffect, useState } from 'react';
+import { useEffect, useState, createContext, useContext } from 'react';
import { Box, CircularProgress, Stack, Typography } from '@mui/material';
import Alert from '@mui/material/Alert';
import Dialog from '@mui/material/Dialog';
@@ -13,14 +13,16 @@
Form,
Toolbar,
useRefresh,
- useTranslate
+ useTranslate,
+ useNotify
} from 'react-admin';
import { Link } from 'react-router-dom';
import DialogCloseButton from './DialogCloseButton';
import { usePapaParse } from './usePapaParse';
import MatnrList from '../basicInfo/matnr/MatnrList';
-
-const ImportModal = ({ open, onClose, importTemp, useCodeImport, onceBatch = 10 }) => {
+import request from '@/utils/request'
+import ImportExportOutlinedIcon from '@mui/icons-material/ImportExportOutlined';
+const ImportModal = ({ open, onClose, importTemp, useCodeImport, onceBatch = 10, value, parmas = {}}) => {
const refresh = useRefresh();
const translate = useTranslate();
@@ -31,6 +33,7 @@
});
const [file, setFile] = useState(null);
+ const notify = useNotify();
useEffect(() => {
if (importer.state === 'complete') {
@@ -46,8 +49,23 @@
if (!file) {
return;
}
- console.log(file);
- //TODO 娣诲姞涓婃枃浠朵笂浼犳帴鍙�
+ const form = new FormData();
+ for (const key in parmas) {
+ if (parmas.hasOwnProperty(key)) {
+ form.append(key, parmas[key]);
+ }
+ }
+ form.append('file', file);
+ const { data: { code, data, msg } } = await request.post(`/${value}/import`, form)
+ if (code === 200) {
+ handleClose()
+ notify(msg);
+ refresh()
+ } else {
+ handleClose()
+ notify(msg);
+ refresh()
+ }
};
@@ -60,6 +78,22 @@
e.preventDefault();
reset();
};
+
+ const downloadTemplate = async (type) => {
+ const res = await request.post(`/${value}/template/download`, {}, {
+ responseType: "blob",
+ })
+ const url = window.URL.createObjectURL(
+ new Blob([res.data], { type: res.headers["content-type"] }),
+ );
+
+ const link = document.createElement("a");
+ link.href = url;
+ link.setAttribute("download", `${value}.xlsx`);
+ document.body.appendChild(link);
+ link.click();
+ link.remove();
+ }
return (
<Dialog open={open} maxWidth="md" fullWidth>
@@ -188,6 +222,7 @@
<Toolbar
sx={{
width: '100%',
+ justifyContent: 'end'
}}
>
{importer.state === 'idle' ? (
@@ -195,6 +230,8 @@
<Button
label="common.action.import.title"
variant="contained"
+ startIcon={<ImportExportOutlinedIcon />}
+ size='medium'
onClick={startImport}
disabled={!file}
/>
@@ -211,15 +248,8 @@
</Dialog>
);
}
-{/**涓嬭浇鎵撳嵃妯℃澘锛屼紶鍏ype绫诲瀷锛岃皟鐢ㄤ笅杞芥ā鏉挎帴鍙� */}
-const downloadTemplate = (type) => {
- // 涓嬭浇鐗╂枡妯℃澘
- if (type != undefined && type == 'matnr') {
-
- }
- console.log('======>');
- console.log(type);
-}
+{/**涓嬭浇鎵撳嵃妯℃澘锛屼紶鍏ype绫诲瀷锛岃皟鐢ㄤ笅杞芥ā鏉挎帴鍙� */ }
+
function millisecondsToTime(ms) {
var seconds = Math.floor((ms / 1000) % 60);
--
Gitblit v1.9.1