diff --git a/src/components/UseUploadExcel/index.jsx b/src/components/UseUploadExcel/index.jsx index 035f9f79..87908a72 100644 --- a/src/components/UseUploadExcel/index.jsx +++ b/src/components/UseUploadExcel/index.jsx @@ -1,154 +1,154 @@ -import React, { useState } from "react"; -import { Button, Icon, BlockLoading, Notify, Grid } from "zent"; -import { bachUploadAll, handelResponse } from "../../assets/api.js"; -import "./style.less"; +import React, { useState } from 'react' +import { Button, Icon, BlockLoading, Notify, Grid } from 'zent' +import { bachUploadAll, handelResponse } from '../../assets/api.js' +import './style.less' const columns = [ { - title: "行号", - name: "id", + title: '行号', + name: 'id' }, { - title: "key", - name: "key", + title: 'key', + name: 'key' }, { - title: "错误原因", - name: "msg", - }, -]; + title: '错误原因', + name: 'msg' + } +] const UseUploadExcel = (props) => { - const { title = "提示", onClose, onImport, visible = false, url } = props; + const { title = '提示', onClose, onImport, visible = false, url } = props - const [fileState, setFilesState] = useState(null); // 文件 - const [filesName, setFilesName] = useState(""); // 文件名 - const [filesTip, setFilesTip] = useState(2); // 解析 tip 0失败 1部分成功 200全部成功 - const [loading, setLoading] = useState(false); // 解析 loading - const [sha1, setSha1] = useState(""); // 后端值 - const [disabledSureBtn, setDisabledSureBtn] = useState(true); // 导入 按钮 - const [partSuccessTag, setPartSuccessTag] = useState(false); // 部分成功 - const [showUpType, setShowUpType] = useState(false); // false无文件上传 true文件上传 - const [totalData, setTotalData] = useState(0); - const [errCoun, setErrCoun] = useState(0); - const [tableData, setTableData] = useState([]); + const [fileState, setFilesState] = useState(null) // 文件 + const [filesName, setFilesName] = useState('') // 文件名 + const [filesTip, setFilesTip] = useState(2) // 解析 tip 0失败 1部分成功 200全部成功 + const [loading, setLoading] = useState(false) // 解析 loading + const [hash, setHash] = useState('') // 后端值 + const [disabledSureBtn, setDisabledSureBtn] = useState(true) // 导入 按钮 + const [partSuccessTag, setPartSuccessTag] = useState(false) // 部分成功 + const [showUpType, setShowUpType] = useState(false) // false无文件上传 true文件上传 + const [totalData, setTotalData] = useState(0) + const [errCoun, setErrCoun] = useState(0) + const [tableData, setTableData] = useState([]) const bachUploadState_200 = (res) => { - setFilesTip(200); - setSha1(res.data.sha1); - setDisabledSureBtn(false); - console.log("res => 成功", res); - }; + setFilesTip(200) + setHash(res.data.hash) + setDisabledSureBtn(false) + console.log('res => 成功', res) + } const bachUploadState_0 = (res) => { - setFilesTip(0); - }; + setFilesTip(0) + } const erObj = (data) => { - let msgObj = ""; + let msgObj = '' for (let key in data) { - msgObj += data[key] + " "; + msgObj += data[key] + ' ' } - return msgObj; - }; + return msgObj + } const bachUploadState_1 = (res) => { - setPartSuccessTag(true); - let rowError = res.data.rowError; - setTotalData(rowError.total); - setErrCoun(rowError.error_count); - setSha1(rowError.sha1); - let errArr = []; + setPartSuccessTag(true) + let rowError = res.data.rowError + setTotalData(rowError.total) + setErrCoun(rowError.error_count) + setHash(rowError.hash) + let errArr = [] for (let key in rowError.error) { - errArr.push(rowError.error[key]); + errArr.push(rowError.error[key]) } errArr = errArr.map((item, index) => { return { key: item.key, id: index + 1, - msg: erObj(item.msg), - }; - }); - setTableData(errArr); - }; + msg: erObj(item.msg) + } + }) + setTableData(errArr) + } /** * 文件后端解析 */ const excelParseFun = async (file) => { - setLoading(true); - let formdata = new FormData(); - formdata.append("file", file); + setLoading(true) + let formdata = new FormData() + formdata.append('file', file) bachUploadAll(url, formdata).then((res) => { - setLoading(false); + setLoading(false) if (res.code === 200 || res.code === 0 || res.code === 1) { switch (res.code) { case 200: - bachUploadState_200(res); - return; + bachUploadState_200(res) + return case 0: - bachUploadState_0(res); - return; + bachUploadState_0(res) + return case 1: - bachUploadState_1(res); - return; + bachUploadState_1(res) + return default: - return; + return } } else { - console.log("res =>", res); - Notify.error(res.message); - setFilesTip(0); + console.log('res =>', res) + Notify.error(res.message) + setFilesTip(0) } - }); - }; + }) + } /** * input 文件改变 * @param {file} e */ const fileChange = (e) => { - let my_file = e.target.files[0]; - setFilesState(my_file); - setFilesName(my_file.name); - setShowUpType(true); - excelParseFun(my_file); // 文件解析 - console.log("file =>", my_file); - }; + let my_file = e.target.files[0] + setFilesState(my_file) + setFilesName(my_file.name) + setShowUpType(true) + excelParseFun(my_file) // 文件解析 + console.log('file =>', my_file) + } /** * 表格文件模版下载 */ const downloadMBExcel = () => { window.location.href = - "http://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/key%E6%A8%A1%E7%89%88.xlsx"; - }; + 'http://lsxdemall.oss-cn-beijing.aliyuncs.com/MarketingSystem/key%E6%A8%A1%E7%89%88.xlsx' + } /** * 确定导入 */ const importBtn = () => { - if (sha1 !== "") { - bachOnClose(); - onImport(sha1); + if (hash !== '') { + bachOnClose() + onImport(hash) } - }; + } /** * 重新上传 */ const resetUpload = () => { - setPartSuccessTag(false); - setFilesTip(0); - }; + setPartSuccessTag(false) + setFilesTip(0) + } const bachOnClose = () => { - setFilesTip(2); - setPartSuccessTag(false); - setShowUpType(false); - onClose(); - }; + setFilesTip(2) + setPartSuccessTag(false) + setShowUpType(false) + onClose() + } /** * 弹窗 顶部信息 @@ -157,23 +157,23 @@ const UseUploadExcel = (props) => { const uploadTop = () => { return (
-
+