From d25c8fa670a8fea0977c85f67b13917b3bdefa89 Mon Sep 17 00:00:00 2001 From: verou <857149855@qq.com> Date: 星期五, 14 三月 2025 17:01:24 +0800 Subject: [PATCH] fix:增加datagrid --- rsf-admin/src/page/components/ImportModal.jsx | 69 ++++++++++++++++++++++++++-------- 1 files changed, 53 insertions(+), 16 deletions(-) diff --git a/rsf-admin/src/page/components/ImportModal.jsx b/rsf-admin/src/page/components/ImportModal.jsx index 76e7713..70f84cf 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,23 +13,27 @@ 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'; +import request from '@/utils/request' -const ImportModal = ({ open, onClose, importTemp, useCodeImport, onceBatch = 10 }) => { +const ImportModal = ({ open, onClose, importTemp, useCodeImport, onceBatch = 10, value, parmas = {} }) => { const refresh = useRefresh(); const translate = useTranslate(); - const { processBatch } = useCodeImport(); + // const { processBatch } = useCodeImport(); const { importer, parseCsv, reset } = usePapaParse({ batchSize: onceBatch, - processBatch, + // processBatch, }); const [file, setFile] = useState(null); + const notify = useNotify(); useEffect(() => { if (importer.state === 'complete') { @@ -45,9 +49,25 @@ if (!file) { return; } + 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) - parseCsv(file); + if (code === 200) { + handleClose() + } else { + notify(msg); + + } + }; + + const handleClose = () => { reset(); @@ -144,22 +164,30 @@ <Alert severity="info" action={ - <Button - component={Link} - label="common.action.import.download" - color="info" - to={importTemp} - download={'import_template.csv'} - /> + <MatnrList.Context.Consumer> + {context => ( + <Button + component={Link} + onClick={() => { + downloadTemplate(context) + }} + label="common.action.import.download" + color="info" + to={importTemp} + download={'import_template.csv'} + /> + )} + + </MatnrList.Context.Consumer> } > {translate('common.action.import.msg')} </Alert> <FileInput - source="csv" - label="CSV File" - accept={{ 'text/csv': ['.csv'] }} + source="xlsx" + label="Xlsx File" + accept={{ 'text/xlsx': ['.xls', '.xlsx'] }} onChange={handleFileChange} > <FileField source="src" title="title" /> @@ -201,6 +229,15 @@ </Dialog> ); } +{/**涓嬭浇鎵撳嵃妯℃澘锛屼紶鍏ype绫诲瀷锛岃皟鐢ㄤ笅杞芥ā鏉挎帴鍙� */ } +const downloadTemplate = (type) => { + // 涓嬭浇鐗╂枡妯℃澘 + if (type != undefined && type == 'matnr') { + + } + console.log('======>'); + console.log(type); +} function millisecondsToTime(ms) { var seconds = Math.floor((ms / 1000) % 60); -- Gitblit v1.9.1