@vtx/components 3.1.19 → 3.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -71,7 +71,7 @@ var Content = function Content(_ref) {
|
|
|
71
71
|
}, /*#__PURE__*/_react["default"].createElement("a", {
|
|
72
72
|
onClick: onClick,
|
|
73
73
|
className: "vtx-import2-text"
|
|
74
|
-
}, fileList.length === 0 ? '点击选择文件' : '重新选择文件'), _toConsumableArray(fileList).map(function (file) {
|
|
74
|
+
}, fileList.length === 0 ? '点击选择文件(支持excel格式)' : '重新选择文件'), _toConsumableArray(fileList).map(function (file) {
|
|
75
75
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
76
76
|
key: file.name,
|
|
77
77
|
className: "vtx-import2-file-item"
|
|
@@ -102,7 +102,7 @@ Content.propTypes = {
|
|
|
102
102
|
accept: _propTypes["default"].string,
|
|
103
103
|
fileKey: _propTypes["default"].string,
|
|
104
104
|
templateURL: _propTypes["default"].string,
|
|
105
|
-
fileList: _propTypes["default"].
|
|
105
|
+
fileList: _propTypes["default"].any,
|
|
106
106
|
setFileList: _propTypes["default"].func
|
|
107
107
|
};
|
|
108
108
|
var _default = Content;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.js","names":["Content","accept","fileKey","setFileList","fileList","templateURL","fileInputRef","useRef","onClick","current","click","onFileChange","files","onDeleteFileList","length","map","file","name","color","cursor","display","fileName","propTypes","PropTypes","string","
|
|
1
|
+
{"version":3,"file":"Content.js","names":["Content","accept","fileKey","setFileList","fileList","templateURL","fileInputRef","useRef","onClick","current","click","onFileChange","files","onDeleteFileList","length","map","file","name","color","cursor","display","fileName","propTypes","PropTypes","string","any","func"],"sources":["vtx-import2/Content.jsx"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useRef } from 'react';\r\nimport CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';\r\nimport UploadSvg from './UploadSvg';\r\nimport DownloadSvg from './DownloadSvg';\r\nconst Content = ({ accept, fileKey, setFileList, fileList, templateURL }) => {\r\n const fileInputRef = useRef();\r\n const onClick = () => {\r\n fileInputRef.current && fileInputRef.current.click();\r\n };\r\n\r\n const onFileChange = () => {\r\n setFileList(fileInputRef.current.files);\r\n };\r\n\r\n const onDeleteFileList = () => {\r\n setFileList([]);\r\n };\r\n\r\n return (\r\n <div>\r\n <div className=\"vtx-import2-content-box\">\r\n <span className=\"vtx-import2-content-mark\">1</span>\r\n <DownloadSvg />\r\n <a className=\"vtx-import2-download\" href={templateURL}>\r\n 没有模板?点击此处下载\r\n </a>\r\n </div>\r\n <div className=\"vtx-import2-content-box\">\r\n <span className=\"vtx-import2-content-mark\">2</span>\r\n <UploadSvg />\r\n <div className=\"vtx-import2-file-list\">\r\n <a onClick={onClick} className=\"vtx-import2-text\">\r\n {fileList.length === 0 ? '点击选择文件(支持excel格式)' : '重新选择文件'}\r\n </a>\r\n {[...fileList].map(file => (\r\n <div key={file.name} className=\"vtx-import2-file-item\">\r\n <span className=\"vtx-import2-file-name\">{file.name}</span>\r\n <CloseCircleFilled\r\n fill=\"#c0c0c0\"\r\n onClick={onDeleteFileList}\r\n style={{ color: '#c0c0c0', cursor: 'pointer' }}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n <input\r\n type=\"file\"\r\n name={fileKey}\r\n accept={accept}\r\n ref={fileInputRef}\r\n style={{ display: 'none' }}\r\n onChange={onFileChange}\r\n value={fileList.length === 0 ? '' : fileList[0].fileName}\r\n />\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nContent.propTypes = {\r\n accept: PropTypes.string,\r\n fileKey: PropTypes.string,\r\n templateURL: PropTypes.string,\r\n fileList: PropTypes.any,\r\n setFileList: PropTypes.func,\r\n};\r\n\r\nexport default Content;\r\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;AACA,IAAMA,OAAO,GAAG,SAAVA,OAAU,OAA6D;EAAA,IAA1DC,MAA0D,QAA1DA,MAA0D;EAAA,IAAlDC,OAAkD,QAAlDA,OAAkD;EAAA,IAAzCC,WAAyC,QAAzCA,WAAyC;EAAA,IAA5BC,QAA4B,QAA5BA,QAA4B;EAAA,IAAlBC,WAAkB,QAAlBA,WAAkB;EACzE,IAAMC,YAAY,GAAG,IAAAC,aAAA,GAArB;;EACA,IAAMC,OAAO,GAAG,SAAVA,OAAU,GAAM;IAClBF,YAAY,CAACG,OAAb,IAAwBH,YAAY,CAACG,OAAb,CAAqBC,KAArB,EAAxB;EACH,CAFD;;EAIA,IAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;IACvBR,WAAW,CAACG,YAAY,CAACG,OAAb,CAAqBG,KAAtB,CAAX;EACH,CAFD;;EAIA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;IAC3BV,WAAW,CAAC,EAAD,CAAX;EACH,CAFD;;EAIA,oBACI,0DACI;IAAK,SAAS,EAAC;EAAf,gBACI;IAAM,SAAS,EAAC;EAAhB,OADJ,eAEI,gCAAC,uBAAD,OAFJ,eAGI;IAAG,SAAS,EAAC,sBAAb;IAAoC,IAAI,EAAEE;EAA1C,wEAHJ,CADJ,eAQI;IAAK,SAAS,EAAC;EAAf,gBACI;IAAM,SAAS,EAAC;EAAhB,OADJ,eAEI,gCAAC,qBAAD,OAFJ,eAGI;IAAK,SAAS,EAAC;EAAf,gBACI;IAAG,OAAO,EAAEG,OAAZ;IAAqB,SAAS,EAAC;EAA/B,GACKJ,QAAQ,CAACU,MAAT,KAAoB,CAApB,GAAwB,mBAAxB,GAA8C,QADnD,CADJ,EAIK,mBAAIV,QAAJ,EAAcW,GAAd,CAAkB,UAAAC,IAAI;IAAA,oBACnB;MAAK,GAAG,EAAEA,IAAI,CAACC,IAAf;MAAqB,SAAS,EAAC;IAA/B,gBACI;MAAM,SAAS,EAAC;IAAhB,GAAyCD,IAAI,CAACC,IAA9C,CADJ,eAEI,gCAAC,6BAAD;MACI,IAAI,EAAC,SADT;MAEI,OAAO,EAAEJ,gBAFb;MAGI,KAAK,EAAE;QAAEK,KAAK,EAAE,SAAT;QAAoBC,MAAM,EAAE;MAA5B;IAHX,EAFJ,CADmB;EAAA,CAAtB,CAJL,CAHJ,eAkBI;IACI,IAAI,EAAC,MADT;IAEI,IAAI,EAAEjB,OAFV;IAGI,MAAM,EAAED,MAHZ;IAII,GAAG,EAAEK,YAJT;IAKI,KAAK,EAAE;MAAEc,OAAO,EAAE;IAAX,CALX;IAMI,QAAQ,EAAET,YANd;IAOI,KAAK,EAAEP,QAAQ,CAACU,MAAT,KAAoB,CAApB,GAAwB,EAAxB,GAA6BV,QAAQ,CAAC,CAAD,CAAR,CAAYiB;EAPpD,EAlBJ,CARJ,CADJ;AAuCH,CArDD;;AAuDArB,OAAO,CAACsB,SAAR,GAAoB;EAChBrB,MAAM,EAAEsB,qBAAA,CAAUC,MADF;EAEhBtB,OAAO,EAAEqB,qBAAA,CAAUC,MAFH;EAGhBnB,WAAW,EAAEkB,qBAAA,CAAUC,MAHP;EAIhBpB,QAAQ,EAAEmB,qBAAA,CAAUE,GAJJ;EAKhBtB,WAAW,EAAEoB,qBAAA,CAAUG;AALP,CAApB;eAQe1B,O"}
|
|
@@ -17,8 +17,10 @@ var ImportResult = function ImportResult(_ref) {
|
|
|
17
17
|
var result = _ref.result,
|
|
18
18
|
errorFile = _ref.errorFile,
|
|
19
19
|
errorURL = _ref.errorURL,
|
|
20
|
-
errorDownloadName = _ref.errorDownloadName
|
|
21
|
-
|
|
20
|
+
errorDownloadName = _ref.errorDownloadName,
|
|
21
|
+
count = _ref.count,
|
|
22
|
+
token = _ref.token;
|
|
23
|
+
var url = errorURL && errorFile && "".concat(errorURL, "?fileName=").concat(errorFile, "&downloadName=").concat(errorDownloadName || '', "&token=").concat(token);
|
|
22
24
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
23
25
|
className: "vtx-import2-result-warp"
|
|
24
26
|
}, result ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_icons.CheckCircleFilled, {
|
|
@@ -28,7 +30,9 @@ var ImportResult = function ImportResult(_ref) {
|
|
|
28
30
|
}
|
|
29
31
|
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
30
32
|
className: "vtx-import2-result"
|
|
31
|
-
}, "\u5BFC\u5165\u6210\u529F")
|
|
33
|
+
}, "\u5BFC\u5165\u6210\u529F"), count !== null && /*#__PURE__*/_react["default"].createElement("span", {
|
|
34
|
+
className: "vtx-import2-result-success-tips"
|
|
35
|
+
}, "\u672C\u6B21\u5171\u8BA1", count, "\u6761\u6570\u636E")) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_icons.CloseCircleFilled, {
|
|
32
36
|
style: {
|
|
33
37
|
color: '#ff4d4f',
|
|
34
38
|
fontSize: '80px'
|
|
@@ -44,8 +48,10 @@ var ImportResult = function ImportResult(_ref) {
|
|
|
44
48
|
ImportResult.propTypes = {
|
|
45
49
|
result: _propTypes["default"].bool,
|
|
46
50
|
errorURL: _propTypes["default"].string,
|
|
51
|
+
token: _propTypes["default"].string,
|
|
47
52
|
errorFile: _propTypes["default"].string,
|
|
48
|
-
errorDownloadName: _propTypes["default"].string
|
|
53
|
+
errorDownloadName: _propTypes["default"].string,
|
|
54
|
+
count: _propTypes["default"].any
|
|
49
55
|
};
|
|
50
56
|
var _default = ImportResult;
|
|
51
57
|
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportResult.js","names":["ImportResult","result","errorFile","errorURL","errorDownloadName","url","color","fontSize","propTypes","PropTypes","bool","string"],"sources":["vtx-import2/ImportResult.jsx"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { CheckCircleFilled, CloseCircleFilled } from '@ant-design/icons';\r\n\r\nconst ImportResult = ({ result, errorFile, errorURL, errorDownloadName }) => {\r\n const url =\r\n errorURL &&\r\n errorFile &&\r\n `${errorURL}?fileName=${errorFile}&downloadName=${errorDownloadName || ''}`;\r\n return (\r\n <div className=\"vtx-import2-result-warp\">\r\n {result ? (\r\n <>\r\n <CheckCircleFilled style={{ color: '#52C41A', fontSize: '80px' }} />\r\n <span className=\"vtx-import2-result\">导入成功</span>\r\n </>\r\n ) : (\r\n <>\r\n <CloseCircleFilled style={{ color: '#ff4d4f', fontSize: '80px' }} />\r\n <span className=\"vtx-import2-result\">导入失败</span>\r\n {url && (\r\n <a className=\"vtx-import2-result-error-tips\" href={url}>\r\n 下载文件,查看导入失败原因\r\n </a>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nImportResult.propTypes = {\r\n result: PropTypes.bool,\r\n errorURL: PropTypes.string,\r\n errorFile: PropTypes.string,\r\n errorDownloadName: PropTypes.string,\r\n};\r\n\r\nexport default ImportResult;\r\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,
|
|
1
|
+
{"version":3,"file":"ImportResult.js","names":["ImportResult","result","errorFile","errorURL","errorDownloadName","count","token","url","color","fontSize","propTypes","PropTypes","bool","string","any"],"sources":["vtx-import2/ImportResult.jsx"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { CheckCircleFilled, CloseCircleFilled } from '@ant-design/icons';\r\n\r\nconst ImportResult = ({ result, errorFile, errorURL, errorDownloadName, count, token }) => {\r\n const url =\r\n errorURL &&\r\n errorFile &&\r\n `${errorURL}?fileName=${errorFile}&downloadName=${errorDownloadName || ''}&token=${token}`;\r\n return (\r\n <div className=\"vtx-import2-result-warp\">\r\n {result ? (\r\n <>\r\n <CheckCircleFilled style={{ color: '#52C41A', fontSize: '80px' }} />\r\n <span className=\"vtx-import2-result\">导入成功</span>\r\n {count !== null && (\r\n <span className=\"vtx-import2-result-success-tips\">\r\n 本次共计{count}条数据\r\n </span>\r\n )}\r\n </>\r\n ) : (\r\n <>\r\n <CloseCircleFilled style={{ color: '#ff4d4f', fontSize: '80px' }} />\r\n <span className=\"vtx-import2-result\">导入失败</span>\r\n {url && (\r\n <a className=\"vtx-import2-result-error-tips\" href={url}>\r\n 下载文件,查看导入失败原因\r\n </a>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nImportResult.propTypes = {\r\n result: PropTypes.bool,\r\n errorURL: PropTypes.string,\r\n token: PropTypes.string,\r\n errorFile: PropTypes.string,\r\n errorDownloadName: PropTypes.string,\r\n count: PropTypes.any,\r\n};\r\n\r\nexport default ImportResult;\r\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OAAsE;EAAA,IAAnEC,MAAmE,QAAnEA,MAAmE;EAAA,IAA3DC,SAA2D,QAA3DA,SAA2D;EAAA,IAAhDC,QAAgD,QAAhDA,QAAgD;EAAA,IAAtCC,iBAAsC,QAAtCA,iBAAsC;EAAA,IAAnBC,KAAmB,QAAnBA,KAAmB;EAAA,IAAZC,KAAY,QAAZA,KAAY;EACvF,IAAMC,GAAG,GACLJ,QAAQ,IACRD,SADA,cAEGC,QAFH,uBAEwBD,SAFxB,2BAEkDE,iBAAiB,IAAI,EAFvE,oBAEmFE,KAFnF,CADJ;EAIA,oBACI;IAAK,SAAS,EAAC;EAAf,GACKL,MAAM,gBACH,+EACI,gCAAC,wBAAD;IAAmB,KAAK,EAAE;MAAEO,KAAK,EAAE,SAAT;MAAoBC,QAAQ,EAAE;IAA9B;EAA1B,EADJ,eAEI;IAAM,SAAS,EAAC;EAAhB,8BAFJ,EAGKJ,KAAK,KAAK,IAAV,iBACG;IAAM,SAAS,EAAC;EAAhB,+BACSA,KADT,uBAJR,CADG,gBAWH,+EACI,gCAAC,wBAAD;IAAmB,KAAK,EAAE;MAAEG,KAAK,EAAE,SAAT;MAAoBC,QAAQ,EAAE;IAA9B;EAA1B,EADJ,eAEI;IAAM,SAAS,EAAC;EAAhB,8BAFJ,EAGKF,GAAG,iBACA;IAAG,SAAS,EAAC,+BAAb;IAA6C,IAAI,EAAEA;EAAnD,oFAJR,CAZR,CADJ;AAyBH,CA9BD;;AAgCAP,YAAY,CAACU,SAAb,GAAyB;EACrBT,MAAM,EAAEU,qBAAA,CAAUC,IADG;EAErBT,QAAQ,EAAEQ,qBAAA,CAAUE,MAFC;EAGrBP,KAAK,EAAEK,qBAAA,CAAUE,MAHI;EAIrBX,SAAS,EAAES,qBAAA,CAAUE,MAJA;EAKrBT,iBAAiB,EAAEO,qBAAA,CAAUE,MALR;EAMrBR,KAAK,EAAEM,qBAAA,CAAUG;AANI,CAAzB;eASed,Y"}
|
package/lib/vtx-import2/index.js
CHANGED
|
@@ -27,6 +27,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
27
27
|
|
|
28
28
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
29
|
|
|
30
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
31
|
+
|
|
32
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
33
|
+
|
|
34
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
35
|
+
|
|
36
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
37
|
+
|
|
30
38
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
31
39
|
|
|
32
40
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -39,8 +47,12 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
39
47
|
|
|
40
48
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
41
49
|
|
|
42
|
-
|
|
43
|
-
|
|
50
|
+
function getFileName() {
|
|
51
|
+
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
52
|
+
var index = name.lastIndexOf('.');
|
|
53
|
+
var suffix = name.substring(index);
|
|
54
|
+
return name.substring(0, index) + '(错误文件)' + suffix;
|
|
55
|
+
}
|
|
44
56
|
|
|
45
57
|
var VtxImport2 = function VtxImport2(props) {
|
|
46
58
|
var visible = props.visible,
|
|
@@ -58,7 +70,8 @@ var VtxImport2 = function VtxImport2(props) {
|
|
|
58
70
|
var _useState = (0, _react.useState)(0),
|
|
59
71
|
_useState2 = _slicedToArray(_useState, 2),
|
|
60
72
|
status = _useState2[0],
|
|
61
|
-
setStatus = _useState2[1];
|
|
73
|
+
setStatus = _useState2[1]; // 0:首页,1:结果页
|
|
74
|
+
|
|
62
75
|
|
|
63
76
|
var _useState3 = (0, _react.useState)(false),
|
|
64
77
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
@@ -90,13 +103,39 @@ var VtxImport2 = function VtxImport2(props) {
|
|
|
90
103
|
uploading = _useState14[0],
|
|
91
104
|
setUploading = _useState14[1];
|
|
92
105
|
|
|
106
|
+
var _useState15 = (0, _react.useState)(0),
|
|
107
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
108
|
+
count = _useState16[0],
|
|
109
|
+
setCount = _useState16[1];
|
|
110
|
+
|
|
111
|
+
var fileInputRef = (0, _react.useRef)();
|
|
112
|
+
var fileName = (0, _react.useRef)('');
|
|
113
|
+
|
|
114
|
+
var _getUrlParam = (0, _utils.getUrlParam)(),
|
|
115
|
+
token = _getUrlParam.token;
|
|
116
|
+
|
|
117
|
+
if (!token) {
|
|
118
|
+
token = props.token;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
var newErrorDownloadName = errorDownloadName;
|
|
122
|
+
|
|
123
|
+
if (!errorDownloadName) {
|
|
124
|
+
newErrorDownloadName = fileName.current;
|
|
125
|
+
}
|
|
126
|
+
|
|
93
127
|
(0, _ahooks.useInterval)(function () {
|
|
94
128
|
if (countdown === 0) {
|
|
95
129
|
return close();
|
|
96
130
|
}
|
|
97
131
|
|
|
98
132
|
setCountdown(countdown - 1);
|
|
99
|
-
}, interval);
|
|
133
|
+
}, interval);
|
|
134
|
+
(0, _react.useEffect)(function () {
|
|
135
|
+
if (fileList.length !== 0) {
|
|
136
|
+
fileName.current = getFileName(fileList[0].name);
|
|
137
|
+
}
|
|
138
|
+
}, [fileList]); // 获取上传地址(拼接参数)
|
|
100
139
|
|
|
101
140
|
var getPostURL = function getPostURL() {
|
|
102
141
|
var postUrl = uploadURL;
|
|
@@ -124,8 +163,10 @@ var VtxImport2 = function VtxImport2(props) {
|
|
|
124
163
|
setResult(true);
|
|
125
164
|
setCountdown(5);
|
|
126
165
|
setInterval(1000);
|
|
166
|
+
setCount(parseData.data);
|
|
127
167
|
} else if (parseData.result === 1) {
|
|
128
168
|
setResult(false);
|
|
169
|
+
setFileList([]);
|
|
129
170
|
|
|
130
171
|
if (parseData.data) {
|
|
131
172
|
setErrorFile(parseData.data);
|
|
@@ -135,15 +176,18 @@ var VtxImport2 = function VtxImport2(props) {
|
|
|
135
176
|
}
|
|
136
177
|
};
|
|
137
178
|
|
|
138
|
-
var onUpload = function onUpload() {
|
|
139
|
-
|
|
179
|
+
var onUpload = function onUpload(_ref) {
|
|
180
|
+
var _ref$files = _ref.files,
|
|
181
|
+
files = _ref$files === void 0 ? fileList : _ref$files;
|
|
182
|
+
|
|
183
|
+
if (files.length === 0) {
|
|
140
184
|
return _antd.message.info('请选择需要上传的文件');
|
|
141
185
|
}
|
|
142
186
|
|
|
143
187
|
setUploading(true);
|
|
144
188
|
var postUrl = getPostURL();
|
|
145
189
|
var fmd = new FormData();
|
|
146
|
-
fmd.append(fileKey,
|
|
190
|
+
fmd.append(fileKey, files[0]);
|
|
147
191
|
var request = new XMLHttpRequest();
|
|
148
192
|
request.open('POST', postUrl);
|
|
149
193
|
request.setRequestHeader('Authorization', token ? "Bear ".concat(token) : '');
|
|
@@ -159,9 +203,18 @@ var VtxImport2 = function VtxImport2(props) {
|
|
|
159
203
|
};
|
|
160
204
|
|
|
161
205
|
var againUpload = function againUpload() {
|
|
162
|
-
setStatus(0);
|
|
163
206
|
setInterval(undefined);
|
|
164
207
|
setFileList([]);
|
|
208
|
+
fileInputRef.current && fileInputRef.current.click();
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
var onFileChange = function onFileChange() {
|
|
212
|
+
var fileList = _toConsumableArray(fileInputRef.current.files);
|
|
213
|
+
|
|
214
|
+
setFileList(fileList);
|
|
215
|
+
onUpload({
|
|
216
|
+
files: fileList
|
|
217
|
+
});
|
|
165
218
|
};
|
|
166
219
|
|
|
167
220
|
var modelProps = {
|
|
@@ -194,9 +247,21 @@ var VtxImport2 = function VtxImport2(props) {
|
|
|
194
247
|
templateURL: templateURL
|
|
195
248
|
}) : /*#__PURE__*/_react["default"].createElement(_ImportResult["default"], {
|
|
196
249
|
result: result,
|
|
250
|
+
count: count,
|
|
197
251
|
errorFile: errorFile,
|
|
198
252
|
errorURL: errorURL,
|
|
199
|
-
|
|
253
|
+
token: token,
|
|
254
|
+
errorDownloadName: newErrorDownloadName
|
|
255
|
+
}), /*#__PURE__*/_react["default"].createElement("input", {
|
|
256
|
+
type: "file",
|
|
257
|
+
name: fileKey,
|
|
258
|
+
accept: accept,
|
|
259
|
+
ref: fileInputRef,
|
|
260
|
+
style: {
|
|
261
|
+
display: 'none'
|
|
262
|
+
},
|
|
263
|
+
onChange: onFileChange,
|
|
264
|
+
value: fileList.length === 0 ? '' : fileList[0].fileName
|
|
200
265
|
}));
|
|
201
266
|
};
|
|
202
267
|
|
|
@@ -216,7 +281,8 @@ VtxImport2.propTypes = {
|
|
|
216
281
|
close: _propTypes["default"].func,
|
|
217
282
|
errorURL: _propTypes["default"].string,
|
|
218
283
|
errorDownloadName: _propTypes["default"].string,
|
|
219
|
-
afterUpload: _propTypes["default"].func
|
|
284
|
+
afterUpload: _propTypes["default"].func,
|
|
285
|
+
token: _propTypes["default"].string
|
|
220
286
|
};
|
|
221
287
|
var _default = VtxImport2;
|
|
222
288
|
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getUrlParam","token","VtxImport2","props","visible","close","title","accept","fileKey","uploadURL","postData","errorURL","templateURL","afterUpload","errorDownloadName","useState","status","setStatus","result","setResult","countdown","setCountdown","fileList","setFileList","undefined","interval","setInterval","errorFile","setErrorFile","uploading","setUploading","useInterval","getPostURL","postUrl","postArray","k","push","encodeURIComponent","length","join","dealResult","response","parseData","JSON","parse","data","message","error","msg","onUpload","info","fmd","FormData","append","request","XMLHttpRequest","open","setRequestHeader","onreadystatechange","e","target","readyState","send","againUpload","modelProps","width","maskClosable","footer","onCancel","defaultProps","propTypes","PropTypes","bool","string","object","func"],"sources":["vtx-import2/index.jsx"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, message, Modal } from 'antd';\r\nimport Content from './Content';\r\nimport { useState } from 'react';\r\nimport ImportResult from './ImportResult';\r\nimport { useInterval } from 'ahooks';\r\nimport { getUrlParam } from '@vtx/utils';\r\n\r\nconst { token } = getUrlParam();\r\n\r\nconst VtxImport2 = props => {\r\n const {\r\n visible,\r\n close,\r\n title,\r\n accept,\r\n fileKey,\r\n uploadURL,\r\n postData,\r\n errorURL,\r\n templateURL,\r\n afterUpload,\r\n errorDownloadName,\r\n } = props;\r\n const [status, setStatus] = useState(0);\r\n const [result, setResult] = useState(false);\r\n const [countdown, setCountdown] = useState(5);\r\n const [fileList, setFileList] = useState([]);\r\n const [interval, setInterval] = useState(undefined);\r\n const [errorFile, setErrorFile] = useState('');\r\n const [uploading, setUploading] = useState(false);\r\n useInterval(() => {\r\n if (countdown === 0) {\r\n return close();\r\n }\r\n setCountdown(countdown - 1);\r\n }, interval);\r\n\r\n // 获取上传地址(拼接参数)\r\n const getPostURL = () => {\r\n const postUrl = uploadURL;\r\n const postArray = [];\r\n for (const k in postData) {\r\n if (postData[k] !== undefined && postData[k] !== null && postData[k] !== '') {\r\n postArray.push(`${k}=${encodeURIComponent(postData[k])}`);\r\n }\r\n }\r\n return postArray.length > 0 ? `${postUrl}?${postArray.join('&')}` : postUrl;\r\n };\r\n\r\n const dealResult = response => {\r\n setUploading(false);\r\n const parseData = JSON.parse(response);\r\n setStatus(1);\r\n if (typeof props.afterUpload === 'function') {\r\n afterUpload(parseData);\r\n }\r\n if (parseData.result === 0) {\r\n setResult(true);\r\n setCountdown(5);\r\n setInterval(1000);\r\n } else if (parseData.result === 1) {\r\n setResult(false);\r\n if (parseData.data) {\r\n setErrorFile(parseData.data);\r\n } else {\r\n message.error(parseData?.msg || '服务器异常');\r\n }\r\n }\r\n };\r\n\r\n const onUpload = () => {\r\n if (fileList.length === 0) {\r\n return message.info('请选择需要上传的文件');\r\n }\r\n setUploading(true);\r\n const postUrl = getPostURL();\r\n const fmd = new FormData();\r\n fmd.append(fileKey, fileList[0]);\r\n const request = new XMLHttpRequest();\r\n request.open('POST', postUrl);\r\n\r\n request.setRequestHeader('Authorization', token ? `Bear ${token}` : '');\r\n request.setRequestHeader('access_token', token ? `${token}` : '');\r\n request.onreadystatechange = e => {\r\n if (e.target.readyState == 4) {\r\n dealResult(e.target.response);\r\n }\r\n };\r\n\r\n request.send(fmd);\r\n };\r\n\r\n const againUpload = () => {\r\n setStatus(0);\r\n setInterval(undefined);\r\n setFileList([]);\r\n };\r\n\r\n const modelProps = {\r\n visible,\r\n width: 392,\r\n maskClosable: false,\r\n footer: [\r\n <Button key=\"closeWindow\" onClick={close}>\r\n {`关闭${status === 1 && result ? '(' + countdown + ')' : ''}`}\r\n </Button>,\r\n (status === 0 || (status === 1 && !result)) && (\r\n <Button\r\n key=\"uploadSubmit\"\r\n type=\"primary\"\r\n loading={uploading}\r\n onClick={status === 0 ? onUpload : againUpload}\r\n >\r\n {status === 0 ? '上传' : result ? `导入(${countdown})` : '再次上传'}\r\n </Button>\r\n ),\r\n ],\r\n onCancel: close,\r\n title: (\r\n <div className=\"vtx-import2-modal-header-title\">\r\n <span className=\"vtx-import2-modal-header-text\">{title}</span>\r\n <span className=\"vtx-import2-modal-header-subtitle\">导入</span>\r\n </div>\r\n ),\r\n };\r\n return (\r\n <Modal {...modelProps}>\r\n {status === 0 ? (\r\n <Content\r\n fileList={fileList}\r\n setFileList={setFileList}\r\n accept={accept}\r\n fileKey={fileKey}\r\n templateURL={templateURL}\r\n />\r\n ) : (\r\n <ImportResult\r\n result={result}\r\n errorFile={errorFile}\r\n errorURL={errorURL}\r\n errorDownloadName={errorDownloadName}\r\n />\r\n )}\r\n </Modal>\r\n );\r\n};\r\n\r\nVtxImport2.defaultProps = {\r\n fileKey: 'file',\r\n accept:\r\n 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',\r\n postData: {},\r\n};\r\n\r\nVtxImport2.propTypes = {\r\n visible: PropTypes.bool,\r\n templateURL: PropTypes.string,\r\n uploadURL: PropTypes.string,\r\n title: PropTypes.string,\r\n postData: PropTypes.object,\r\n fileKey: PropTypes.string,\r\n accept: PropTypes.string,\r\n close: PropTypes.func,\r\n errorURL: PropTypes.string,\r\n errorDownloadName: PropTypes.string,\r\n afterUpload: PropTypes.func,\r\n};\r\n\r\nexport default VtxImport2;\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["getFileName","name","index","lastIndexOf","suffix","substring","VtxImport2","props","visible","close","title","accept","fileKey","uploadURL","postData","errorURL","templateURL","afterUpload","errorDownloadName","useState","status","setStatus","result","setResult","countdown","setCountdown","fileList","setFileList","undefined","interval","setInterval","errorFile","setErrorFile","uploading","setUploading","count","setCount","fileInputRef","useRef","fileName","getUrlParam","token","newErrorDownloadName","current","useInterval","useEffect","length","getPostURL","postUrl","postArray","k","push","encodeURIComponent","join","dealResult","response","parseData","JSON","parse","data","message","error","msg","onUpload","files","info","fmd","FormData","append","request","XMLHttpRequest","open","setRequestHeader","onreadystatechange","e","target","readyState","send","againUpload","click","onFileChange","modelProps","width","maskClosable","footer","onCancel","display","defaultProps","propTypes","PropTypes","bool","string","object","func"],"sources":["vtx-import2/index.jsx"],"sourcesContent":["import React, { useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, message, Modal } from 'antd';\r\nimport Content from './Content';\r\nimport { useState } from 'react';\r\nimport ImportResult from './ImportResult';\r\nimport { useInterval } from 'ahooks';\r\nimport { getUrlParam } from '@vtx/utils';\r\nimport { useEffect } from 'react';\r\n\r\nfunction getFileName(name = '') {\r\n const index = name.lastIndexOf('.');\r\n const suffix = name.substring(index);\r\n return name.substring(0, index) + '(错误文件)' + suffix;\r\n}\r\n\r\nconst VtxImport2 = props => {\r\n const {\r\n visible,\r\n close,\r\n title,\r\n accept,\r\n fileKey,\r\n uploadURL,\r\n postData,\r\n errorURL,\r\n templateURL,\r\n afterUpload,\r\n errorDownloadName,\r\n } = props;\r\n const [status, setStatus] = useState(0); // 0:首页,1:结果页\r\n const [result, setResult] = useState(false);\r\n const [countdown, setCountdown] = useState(5);\r\n const [fileList, setFileList] = useState([]);\r\n const [interval, setInterval] = useState(undefined);\r\n const [errorFile, setErrorFile] = useState('');\r\n const [uploading, setUploading] = useState(false);\r\n const [count, setCount] = useState(0);\r\n const fileInputRef = useRef();\r\n const fileName = useRef('');\r\n let { token } = getUrlParam();\r\n if (!token) {\r\n token = props.token;\r\n }\r\n let newErrorDownloadName = errorDownloadName;\r\n if (!errorDownloadName) {\r\n newErrorDownloadName = fileName.current;\r\n }\r\n useInterval(() => {\r\n if (countdown === 0) {\r\n return close();\r\n }\r\n setCountdown(countdown - 1);\r\n }, interval);\r\n\r\n useEffect(() => {\r\n if (fileList.length !== 0) {\r\n fileName.current = getFileName(fileList[0].name);\r\n }\r\n }, [fileList]);\r\n\r\n // 获取上传地址(拼接参数)\r\n const getPostURL = () => {\r\n const postUrl = uploadURL;\r\n const postArray = [];\r\n for (const k in postData) {\r\n if (postData[k] !== undefined && postData[k] !== null && postData[k] !== '') {\r\n postArray.push(`${k}=${encodeURIComponent(postData[k])}`);\r\n }\r\n }\r\n return postArray.length > 0 ? `${postUrl}?${postArray.join('&')}` : postUrl;\r\n };\r\n\r\n const dealResult = response => {\r\n setUploading(false);\r\n const parseData = JSON.parse(response);\r\n setStatus(1);\r\n if (typeof props.afterUpload === 'function') {\r\n afterUpload(parseData);\r\n }\r\n if (parseData.result === 0) {\r\n setResult(true);\r\n setCountdown(5);\r\n setInterval(1000);\r\n setCount(parseData.data);\r\n } else if (parseData.result === 1) {\r\n setResult(false);\r\n setFileList([]);\r\n if (parseData.data) {\r\n setErrorFile(parseData.data);\r\n } else {\r\n message.error(parseData?.msg || '服务器异常');\r\n }\r\n }\r\n };\r\n\r\n const onUpload = ({ files = fileList }) => {\r\n if (files.length === 0) {\r\n return message.info('请选择需要上传的文件');\r\n }\r\n setUploading(true);\r\n const postUrl = getPostURL();\r\n const fmd = new FormData();\r\n fmd.append(fileKey, files[0]);\r\n const request = new XMLHttpRequest();\r\n request.open('POST', postUrl);\r\n\r\n request.setRequestHeader('Authorization', token ? `Bear ${token}` : '');\r\n request.setRequestHeader('access_token', token ? `${token}` : '');\r\n request.onreadystatechange = e => {\r\n if (e.target.readyState == 4) {\r\n dealResult(e.target.response);\r\n }\r\n };\r\n\r\n request.send(fmd);\r\n };\r\n\r\n const againUpload = () => {\r\n setInterval(undefined);\r\n setFileList([]);\r\n fileInputRef.current && fileInputRef.current.click();\r\n };\r\n\r\n const onFileChange = () => {\r\n const fileList = [...fileInputRef.current.files];\r\n setFileList(fileList);\r\n onUpload({ files: fileList });\r\n };\r\n\r\n const modelProps = {\r\n visible,\r\n width: 392,\r\n maskClosable: false,\r\n footer: [\r\n <Button key=\"closeWindow\" onClick={close}>\r\n {`关闭${status === 1 && result ? '(' + countdown + ')' : ''}`}\r\n </Button>,\r\n (status === 0 || (status === 1 && !result)) && (\r\n <Button\r\n key=\"uploadSubmit\"\r\n type=\"primary\"\r\n loading={uploading}\r\n onClick={status === 0 ? onUpload : againUpload}\r\n >\r\n {status === 0 ? '上传' : result ? `导入(${countdown})` : '再次上传'}\r\n </Button>\r\n ),\r\n ],\r\n onCancel: close,\r\n title: (\r\n <div className=\"vtx-import2-modal-header-title\">\r\n <span className=\"vtx-import2-modal-header-text\">{title}</span>\r\n <span className=\"vtx-import2-modal-header-subtitle\">导入</span>\r\n </div>\r\n ),\r\n };\r\n return (\r\n <Modal {...modelProps}>\r\n {status === 0 ? (\r\n <Content\r\n fileList={fileList}\r\n setFileList={setFileList}\r\n accept={accept}\r\n fileKey={fileKey}\r\n templateURL={templateURL}\r\n />\r\n ) : (\r\n <ImportResult\r\n result={result}\r\n count={count}\r\n errorFile={errorFile}\r\n errorURL={errorURL}\r\n token={token}\r\n errorDownloadName={newErrorDownloadName}\r\n />\r\n )}\r\n <input\r\n type=\"file\"\r\n name={fileKey}\r\n accept={accept}\r\n ref={fileInputRef}\r\n style={{ display: 'none' }}\r\n onChange={onFileChange}\r\n value={fileList.length === 0 ? '' : fileList[0].fileName}\r\n />\r\n </Modal>\r\n );\r\n};\r\n\r\nVtxImport2.defaultProps = {\r\n fileKey: 'file',\r\n accept:\r\n 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,text/csv',\r\n postData: {},\r\n};\r\n\r\nVtxImport2.propTypes = {\r\n visible: PropTypes.bool,\r\n templateURL: PropTypes.string,\r\n uploadURL: PropTypes.string,\r\n title: PropTypes.string,\r\n postData: PropTypes.object,\r\n fileKey: PropTypes.string,\r\n accept: PropTypes.string,\r\n close: PropTypes.func,\r\n errorURL: PropTypes.string,\r\n errorDownloadName: PropTypes.string,\r\n afterUpload: PropTypes.func,\r\n token: PropTypes.string,\r\n};\r\n\r\nexport default VtxImport2;\r\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vtx/components",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.21",
|
|
4
4
|
"description": "React components for Vortex",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@ant-design/icons": "4.7.0",
|
|
56
|
-
"@vtx/map": "
|
|
56
|
+
"@vtx/map": "1.1.20",
|
|
57
57
|
"@vtx/utils": "latest",
|
|
58
58
|
"@wangeditor/editor": "^5.1.21",
|
|
59
59
|
"@wangeditor/editor-for-react": "^1.0.5",
|