@vtx/components 4.0.0-beta.70 → 4.0.0-beta.72

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.
@@ -24,7 +24,7 @@ import { message } from 'antd';
24
24
  import { genColumnKey, isFunction, useDeepCompareEffectDebounce } from "../../utils";
25
25
  import renderColumnButtons from "../renderColumnButtons";
26
26
  import { getVtxToken } from '@vtx/utils';
27
- import { buildColumnKeyMap, buildSortKeyColumns } from "../columnState";
27
+ import { buildColumnKeyMap, buildSortKeyColumns, getVisibleColumnKeysFromMap } from "../columnState";
28
28
  import { jsx as _jsx } from "react/jsx-runtime";
29
29
  export var indexColumnKey = '_serialNum';
30
30
  function useMergedState1(defaultValue, option) {
@@ -270,15 +270,8 @@ function useContainer() {
270
270
  }
271
271
  }, [visibleColumnKeys, props.defaultVisibleColumnKeys, tableColumn], ['render'], 100);
272
272
  useDeepCompareEffectDebounce(function () {
273
- var _sortKeyColumns$curre, _props$onVisibleColum;
274
- var visibleColumnKeys = [];
275
- (_sortKeyColumns$curre = sortKeyColumns.current) === null || _sortKeyColumns$curre === void 0 || _sortKeyColumns$curre.map(function (columnKey) {
276
- var config = columnsMap[columnKey];
277
- if (config !== null && config !== void 0 && config.show) {
278
- visibleColumnKeys.push(columnKey);
279
- }
280
- });
281
- (_props$onVisibleColum = props.onVisibleColumnsChange) === null || _props$onVisibleColum === void 0 || _props$onVisibleColum.call(props, visibleColumnKeys);
273
+ var _props$onVisibleColum;
274
+ (_props$onVisibleColum = props.onVisibleColumnsChange) === null || _props$onVisibleColum === void 0 || _props$onVisibleColum.call(props, getVisibleColumnKeysFromMap(columnsMap, sortKeyColumns.current));
282
275
  }, [JSON.stringify(columnsMap), sortKeyColumns.current], ['render'], 200);
283
276
  var show = function show() {
284
277
  setTimeout(function () {
@@ -1,3 +1,9 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ 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."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
1
7
  import { genColumnKey } from "../utils/genColumnKey";
2
8
  import { sortByGivenOrder } from "../utils/sortByGivenOrder";
3
9
  export var indexColumnKey = '_serialNum';
@@ -57,8 +63,29 @@ export function buildSortKeyColumns() {
57
63
  export function getVisibleColumnKeysFromMap() {
58
64
  var columnsMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
59
65
  var sortKeyColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
60
- return sortKeyColumns.filter(function (columnKey) {
66
+ var allColumnKeys = Array.from(new Set([].concat(_toConsumableArray(sortKeyColumns), _toConsumableArray(Object.keys(columnsMap)))));
67
+ var sortIndexMap = new Map(sortKeyColumns.map(function (columnKey, index) {
68
+ return [columnKey, index];
69
+ }));
70
+ return allColumnKeys.filter(function (columnKey) {
61
71
  var _columnsMap$columnKey;
62
72
  return (_columnsMap$columnKey = columnsMap[columnKey]) === null || _columnsMap$columnKey === void 0 ? void 0 : _columnsMap$columnKey.show;
73
+ }).sort(function (leftKey, rightKey) {
74
+ var leftConfig = columnsMap[leftKey] || {};
75
+ var rightConfig = columnsMap[rightKey] || {};
76
+ var leftFixed = leftConfig.fixed,
77
+ leftOrder = leftConfig.order;
78
+ var rightFixed = rightConfig.fixed,
79
+ rightOrder = rightConfig.order;
80
+ if (leftFixed === 'left' && rightFixed !== 'left' || rightFixed === 'right' && leftFixed !== 'right') {
81
+ return -2;
82
+ }
83
+ if (rightFixed === 'left' && leftFixed !== 'left' || leftFixed === 'right' && rightFixed !== 'right') {
84
+ return 2;
85
+ }
86
+ if (leftOrder !== undefined || rightOrder !== undefined) {
87
+ return (leftOrder !== null && leftOrder !== void 0 ? leftOrder : 0) - (rightOrder !== null && rightOrder !== void 0 ? rightOrder : 0);
88
+ }
89
+ return (sortIndexMap.has(leftKey) ? sortIndexMap.get(leftKey) : Number.MAX_SAFE_INTEGER) - (sortIndexMap.has(rightKey) ? sortIndexMap.get(rightKey) : Number.MAX_SAFE_INTEGER);
63
90
  });
64
91
  }
@@ -58,13 +58,14 @@ function VtxTable(props) {
58
58
  var _useSet = useSet({
59
59
  // 表格id
60
60
  datagridId: "vtx-datagrid-".concat(new Date().getTime()),
61
- scrollY: 0
61
+ scrollY: undefined
62
62
  }),
63
63
  _useSet2 = _slicedToArray(_useSet, 2),
64
64
  _useSet2$ = _useSet2[0],
65
65
  datagridId = _useSet2$.datagridId,
66
66
  scrollY = _useSet2$.scrollY,
67
67
  setState = _useSet2[1];
68
+ var scrollYRef = useRef(undefined);
68
69
  // 列设置提示高度
69
70
  var alertHeight = useRef(0);
70
71
  // 工具栏高度
@@ -125,32 +126,49 @@ function VtxTable(props) {
125
126
  _headFootHeight = ((pagination === null || pagination === void 0 ? void 0 : pagination.clientHeight) || 0) + 32 + (tableHeader === null || tableHeader === void 0 ? void 0 : tableHeader.clientHeight);
126
127
  }
127
128
  var bodyHeight = ((_rootDomRef$current = rootDomRef.current) === null || _rootDomRef$current === void 0 ? void 0 : _rootDomRef$current.clientHeight) - _headFootHeight - toolbarHeight.current - alertHeight.current;
129
+ if (!bodyHeight || bodyHeight <= 0) {
130
+ return;
131
+ }
128
132
  var bodyDiv = Array.prototype.filter.call(divs, function (dom) {
129
133
  return dom.className.includes('ant-table-body') || dom.className.includes('ant-table-content') || dom.className.includes('ant-table-tbody');
130
134
  })[0];
131
135
  var tablePlaceholder = Array.prototype.filter.call(rootDomRef.current.getElementsByTagName('tr'), function (dom) {
132
136
  return dom.className.includes('ant-table-placeholder');
133
137
  })[0];
138
+ if (!bodyDiv) {
139
+ return;
140
+ }
141
+ var tableHeight = ((_bodyDiv$getElementsB = bodyDiv.getElementsByTagName('table')) === null || _bodyDiv$getElementsB === void 0 || (_bodyDiv$getElementsB = _bodyDiv$getElementsB[0]) === null || _bodyDiv$getElementsB === void 0 ? void 0 : _bodyDiv$getElementsB.clientHeight) || 0;
142
+ var minBodyHeight = Math.max(bodyHeight - (rest.scrollY || 0), 0);
134
143
  if (bodyDiv) {
135
- bodyDiv.style.minHeight = "".concat(bodyHeight - (rest.scrollY || 0), "px");
144
+ bodyDiv.style.minHeight = "".concat(minBodyHeight, "px");
136
145
  }
137
- var tableHeight = (_bodyDiv$getElementsB = bodyDiv.getElementsByTagName('table')) === null || _bodyDiv$getElementsB === void 0 || (_bodyDiv$getElementsB = _bodyDiv$getElementsB[0]) === null || _bodyDiv$getElementsB === void 0 ? void 0 : _bodyDiv$getElementsB.clientHeight;
138
146
  if (tablePlaceholder) {
139
- tablePlaceholder.style.height = "".concat(bodyHeight - (rest.scrollY || 0) - 48 - 12, "px");
147
+ var placeholderHeight = Math.max(bodyHeight - (rest.scrollY || 0) - 48 - 12, 0);
148
+ tablePlaceholder.style.height = "".concat(placeholderHeight, "px");
140
149
  var tableCell = Array.prototype.filter.call(tablePlaceholder.getElementsByTagName('td'), function (dom) {
141
150
  return dom.className.includes('ant-table-cell');
142
151
  })[0];
143
- tableCell.style.height = "".concat(bodyHeight - (rest.scrollY || 0) - 48 - 12, "px");
152
+ if (tableCell) {
153
+ tableCell.style.height = "".concat(placeholderHeight, "px");
154
+ }
144
155
  }
145
156
  // antd6.x 的bug 如果table的高度 没有body 高 则没有滚动条
146
157
 
147
- setState({
148
- scrollY: tableHeight > bodyHeight ? bodyHeight : undefined
149
- });
158
+ var nextScrollY = tableHeight > bodyHeight ? bodyHeight : undefined;
159
+ if (scrollYRef.current !== nextScrollY) {
160
+ scrollYRef.current = nextScrollY;
161
+ setState({
162
+ scrollY: nextScrollY
163
+ });
164
+ }
150
165
  }, {
151
166
  wait: 350
152
167
  }),
153
168
  calculateHeight = _useThrottleFn.run;
169
+ useEffect(function () {
170
+ scrollYRef.current = scrollY;
171
+ }, [scrollY]);
154
172
  useEffect(function () {
155
173
  var resizeObserver = new ResizeObserver(function () {
156
174
  calculateHeight();
@@ -108,6 +108,10 @@ function History(props) {
108
108
  timer.current = setInterval(function () {
109
109
  refresh();
110
110
  }, refreshTime * 1000);
111
+ return function () {
112
+ timer.current && clearInterval(timer.current);
113
+ timer.current = null;
114
+ };
111
115
  }, [JSON.stringify(tableProps.dataSource)]);
112
116
  var pageSize = pagination.pageSize,
113
117
  current = pagination.current;
@@ -83,7 +83,9 @@ var VtxExportAsync = function VtxExportAsync(props) {
83
83
  headers = _props$headers === void 0 ? {} : _props$headers,
84
84
  beforeExport = props.beforeExport,
85
85
  _props$historyHeaders = props.historyHeaders,
86
- historyHeaders = _props$historyHeaders === void 0 ? {} : _props$historyHeaders;
86
+ historyHeaders = _props$historyHeaders === void 0 ? {} : _props$historyHeaders,
87
+ _props$hideContent = props.hideContent,
88
+ hideContent = _props$hideContent === void 0 ? false : _props$hideContent;
87
89
  var _Form$useForm = Form.useForm(),
88
90
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
89
91
  form = _Form$useForm2[0];
@@ -356,7 +358,7 @@ var VtxExportAsync = function VtxExportAsync(props) {
356
358
  }, item.key);
357
359
  })
358
360
  })
359
- }), /*#__PURE__*/_jsx(Form.Item, {
361
+ }), hideContent ? null : /*#__PURE__*/_jsx(Form.Item, {
360
362
  label: TextEnum.fieldContentText,
361
363
  name: "content",
362
364
  rules: [{
@@ -1,15 +1,15 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
2
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
3
  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."); }
9
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
6
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
7
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); }
14
14
  import React, { useRef, useEffect, useContext } from 'react';
15
15
  import { message, Button, Tooltip } from 'antd';
@@ -22,9 +22,13 @@ import { getVtxToken, getSignature } from '@vtx/utils';
22
22
  import { useStyle } from "./style/index";
23
23
  import { VtxProvider, useIntl } from "../vtx-provider";
24
24
  import VtxModal from "../vtx-modal";
25
- import { jsx as _jsx } from "react/jsx-runtime";
26
25
  import { jsxs as _jsxs } from "react/jsx-runtime";
26
+ import { jsx as _jsx } from "react/jsx-runtime";
27
27
  function VtxImport(props) {
28
+ var templateURL = props.templateURL,
29
+ uploadURL = props.uploadURL,
30
+ afterUpload = props.afterUpload,
31
+ beforeUpload = props.beforeUpload;
28
32
  var token = getToken();
29
33
  if (props.token) {
30
34
  props.token, _readOnlyError("token");
@@ -36,6 +40,22 @@ function VtxImport(props) {
36
40
  var _useStyle = useStyle(prefixCls),
37
41
  wrapSSR = _useStyle.wrapSSR,
38
42
  hashId = _useStyle.hashId;
43
+ var TextEnum = _objectSpread({
44
+ rowNumberText: intl.getMessage('import.rowNumber', '行号'),
45
+ errorMessageText: intl.getMessage('import.errorMessage', '错误说明'),
46
+ resultTitleText: intl.getMessage('import.result', '导入结果'),
47
+ btnCloseText: intl.getMessage('switch.close', '关闭'),
48
+ operationText: intl.getMessage('import.operation', '导入'),
49
+ uploadFailedText: intl.getMessage('import.error', '上传失败'),
50
+ parseResponseFailedText: intl.getMessage('import.error', '解析响应失败'),
51
+ uploadSuccessText: intl.getMessage('import.success', '上传成功'),
52
+ parseResponseDataFailedText: intl.getMessage('import.error', '解析响应数据失败'),
53
+ downloadTemplateText: intl.getMessage('import.downloadTemplate', '下载模板'),
54
+ pleaseSelectFileText: intl.getMessage('import.pleaseSelectFile', '请选择需要上传的文件'),
55
+ uploadText: intl.getMessage('import.upload', '上传'),
56
+ selectFileText: intl.getMessage('import.selectFile', '选择文件'),
57
+ noFileSelectedText: intl.getMessage('import.noFileSelected', '未选择任何文件')
58
+ }, props.customEnumText);
39
59
 
40
60
  // 用 useRef 管理 DOM 引用,而不是 state
41
61
  var fileInputRef = useRef(null);
@@ -62,13 +82,22 @@ function VtxImport(props) {
62
82
  // 导入结果查看
63
83
  modalWidth: props.modalWidth || 800,
64
84
  columns: props.columns || [{
65
- title: '行号',
85
+ title: TextEnum.rowNumberText,
66
86
  dataIndex: 'lineNum',
67
87
  key: 'lineNum'
68
88
  }, {
69
- title: '错误说明',
89
+ title: TextEnum.errorMessageText,
70
90
  dataIndex: 'messages',
71
- key: 'messages'
91
+ key: 'messages',
92
+ render: function render(val) {
93
+ return /*#__PURE__*/_jsxs("div", {
94
+ style: {
95
+ display: 'flex',
96
+ width: 600
97
+ },
98
+ children: [" ", val]
99
+ });
100
+ }
72
101
  }],
73
102
  step: 1,
74
103
  chunkSize: props.chunkSize || 10 * 1024 * 1024,
@@ -76,7 +105,7 @@ function VtxImport(props) {
76
105
  currentIndex: 0,
77
106
  chunkId: '',
78
107
  chunks: [],
79
- operation: props.operation || intl.getMessage('import.operation', '导入'),
108
+ operation: props.operation || TextEnum.operationText,
80
109
  fileName: ''
81
110
  }),
82
111
  _useSet2 = _slicedToArray(_useSet, 2),
@@ -133,7 +162,7 @@ function VtxImport(props) {
133
162
  }
134
163
  };
135
164
  xhr.onerror = function () {
136
- message.error(intl.getMessage('import.error', '上传失败'));
165
+ message.error(TextEnum.uploadFailedText);
137
166
  };
138
167
  // 发送请求
139
168
  xhr.open('POST', '/cloudFile/common/uploadChunk', true);
@@ -155,23 +184,23 @@ function VtxImport(props) {
155
184
  try {
156
185
  res = JSON.parse(xhr.responseText);
157
186
  } catch (e) {
158
- message.error(intl.getMessage('import.error', '解析响应失败'));
187
+ message.error(TextEnum.parseResponseFailedText);
159
188
  setState({
160
189
  uploading: false
161
190
  });
162
191
  return;
163
192
  }
164
193
  if (((_res = res) === null || _res === void 0 ? void 0 : _res.result) == 0) {
165
- message.success(intl.getMessage('import.success', '上传成功'));
194
+ message.success(TextEnum.uploadSuccessText);
166
195
  chunkUpload(res.data);
167
196
  } else {
168
197
  var _res2;
169
- message.error(((_res2 = res) === null || _res2 === void 0 ? void 0 : _res2.msg) || intl.getMessage('import.error', '上传失败'));
198
+ message.error(((_res2 = res) === null || _res2 === void 0 ? void 0 : _res2.msg) || TextEnum.uploadFailedText);
170
199
  }
171
200
  }
172
201
  };
173
202
  xhr.onerror = function () {
174
- message.error(intl.getMessage('import.error', '上传失败'));
203
+ message.error(TextEnum.uploadFailedText);
175
204
  };
176
205
  // 发送请求
177
206
  xhr.open('POST', '/cloudFile/common/mergeChunk', true);
@@ -298,7 +327,7 @@ function VtxImport(props) {
298
327
  try {
299
328
  parseData = JSON.parse(data);
300
329
  } catch (e) {
301
- message.error(intl.getMessage('import.error', '解析响应数据失败'));
330
+ message.error(TextEnum.parseResponseDataFailedText);
302
331
  return;
303
332
  }
304
333
  if (typeof props.afterUpload === 'function') {
@@ -320,18 +349,14 @@ function VtxImport(props) {
320
349
  // 新增其他错误提示
321
350
  if (parseData.result !== 0) {
322
351
  var _parseData2;
323
- message.error(((_parseData2 = parseData) === null || _parseData2 === void 0 ? void 0 : _parseData2.msg) || intl.getMessage('import.success', '上传成功'));
352
+ message.error(((_parseData2 = parseData) === null || _parseData2 === void 0 ? void 0 : _parseData2.msg) || TextEnum.uploadSuccessText);
324
353
  }
325
354
  }
326
355
  };
327
- var templateURL = props.templateURL,
328
- uploadURL = props.uploadURL,
329
- afterUpload = props.afterUpload,
330
- beforeUpload = props.beforeUpload;
331
356
  var modalProps = {
332
357
  className: "".concat(prefixCls, "-modal"),
333
358
  open: state.visible,
334
- title: intl.getMessage('import.operation', '导入'),
359
+ title: TextEnum.operationText,
335
360
  onCancel: function onCancel() {
336
361
  return closeModal();
337
362
  },
@@ -343,7 +368,7 @@ function VtxImport(props) {
343
368
  onClick: function onClick() {
344
369
  window.open(templateURL);
345
370
  },
346
- children: intl.getMessage('import.downloadTemplate', '下载模板')
371
+ children: TextEnum.downloadTemplateText
347
372
  }, "downloadTemple") : null, /*#__PURE__*/_jsx(Button, {
348
373
  type: "primary",
349
374
  loading: state.uploading,
@@ -382,15 +407,15 @@ function VtxImport(props) {
382
407
  // request.send(fmd);
383
408
  // }
384
409
  } else {
385
- message.info(intl.getMessage('import.pleaseSelectFile', '请选择需要上传的文件'));
410
+ message.info(TextEnum.pleaseSelectFileText);
386
411
  }
387
412
  },
388
- children: intl.getMessage('import.upload', '上传')
413
+ children: TextEnum.uploadText
389
414
  }, "uploadSubmit"), /*#__PURE__*/_jsx(Button, {
390
415
  onClick: function onClick() {
391
416
  closeModal();
392
417
  },
393
- children: intl.getMessage('switch.close', '关闭')
418
+ children: TextEnum.btnCloseText
394
419
  }, "closeWindow")],
395
420
  width: 520
396
421
  };
@@ -403,7 +428,8 @@ function VtxImport(props) {
403
428
  resultVisible: false
404
429
  });
405
430
  },
406
- modalWidth: state.modalWidth
431
+ modalWidth: state.modalWidth,
432
+ TextEnum: TextEnum
407
433
  };
408
434
 
409
435
  // 组件卸载时清理
@@ -477,7 +503,7 @@ function VtxImport(props) {
477
503
  onClick: handleSelectFile,
478
504
  children: /*#__PURE__*/_jsx("span", {
479
505
  className: "".concat(prefixCls, "-label"),
480
- children: intl.getMessage('import.selectFile', '选择文件')
506
+ children: TextEnum.selectFileText
481
507
  })
482
508
  }), state.fileName ? /*#__PURE__*/_jsx(Tooltip, {
483
509
  title: state.fileName,
@@ -487,7 +513,7 @@ function VtxImport(props) {
487
513
  })
488
514
  }) : /*#__PURE__*/_jsx("div", {
489
515
  className: "".concat(prefixCls, "-file-name"),
490
- children: intl.getMessage('import.noFileSelected', '未选择任何文件')
516
+ children: TextEnum.noFileSelectedText
491
517
  })]
492
518
  }), /*#__PURE__*/_jsx("input", {
493
519
  type: "file",
@@ -515,11 +541,13 @@ VtxImport.propTypes = {
515
541
  postData: PropTypes.object,
516
542
  fileKey: PropTypes.string,
517
543
  accept: PropTypes.string,
544
+ token: PropTypes.string,
518
545
  operation: PropTypes.string,
519
546
  close: PropTypes.func,
520
547
  afterUpload: PropTypes.func,
521
548
  modalWidth: PropTypes.number,
522
549
  columns: PropTypes.array,
550
+ customEnumText: PropTypes.object,
523
551
  children: PropTypes.object,
524
552
  beforeUpload: PropTypes.func,
525
553
  chunkSize: PropTypes.number
@@ -1,25 +1,27 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
2
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
3
  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."); }
9
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
6
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
7
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
13
  import React from 'react';
14
14
  import { Modal, Button } from 'antd';
15
15
  import PropTypes from 'prop-types';
16
16
  import useSet from "../utils/useSet";
17
17
  import VtxDatagrid from "../vtx-datagrid";
18
- import { useIntl } from "../vtx-provider";
19
18
  import VtxModal from "../vtx-modal";
20
19
  import { jsx as _jsx } from "react/jsx-runtime";
21
20
  function VtxImportResult(props) {
22
- var intl = useIntl();
21
+ var TextEnum = _objectSpread({
22
+ resultTitleText: '导入结果',
23
+ btnCloseText: '关闭'
24
+ }, props.TextEnum);
23
25
  var _useSet = useSet({
24
26
  visible: props.visible || false,
25
27
  dataSource: props.dataSource || [],
@@ -29,11 +31,9 @@ function VtxImportResult(props) {
29
31
  _useSet2 = _slicedToArray(_useSet, 1),
30
32
  state = _useSet2[0];
31
33
  var modalProps = {
32
- bodyStyle: {
33
- backgroundColor: '#f8f8f8'
34
- },
34
+ bodyStyle: {},
35
35
  open: state.visible,
36
- title: intl.getMessage('import.result', '导入结果'),
36
+ title: TextEnum.resultTitleText,
37
37
  onCancel: function onCancel() {
38
38
  if (typeof props.hideVisible === 'function') {
39
39
  props.hideVisible();
@@ -50,29 +50,26 @@ function VtxImportResult(props) {
50
50
  props.hideVisible();
51
51
  }
52
52
  },
53
- children: intl.getMessage('switch.close', '关闭')
53
+ children: TextEnum.btnCloseText
54
54
  }, "closeWindow")]
55
55
  };
56
56
  var newTableProps = {
57
+ toolba: false,
57
58
  columns: state.columns,
58
59
  dataSource: state.dataSource,
59
60
  startIndex: 1,
60
61
  size: 'small',
61
62
  headFootHeight: 50,
62
63
  pagination: false,
63
- autoFit: false
64
+ autoFit: false,
65
+ scroll: {
66
+ y: 550
67
+ }
64
68
  };
65
69
  return /*#__PURE__*/_jsx(VtxModal, _objectSpread(_objectSpread({}, modalProps), {}, {
66
- children: /*#__PURE__*/_jsx("div", {
67
- style: {
68
- maxHeight: 600,
69
- width: '100%',
70
- overflow: 'auto'
71
- },
72
- children: /*#__PURE__*/_jsx(VtxDatagrid, _objectSpread({
73
- toolbar: false
74
- }, newTableProps))
75
- })
70
+ children: /*#__PURE__*/_jsx(VtxDatagrid, _objectSpread({
71
+ toolbar: false
72
+ }, newTableProps))
76
73
  }));
77
74
  }
78
75
  VtxImportResult.propTypes = {
@@ -80,6 +77,7 @@ VtxImportResult.propTypes = {
80
77
  dataSource: PropTypes.array,
81
78
  columns: PropTypes.array,
82
79
  modalWidth: PropTypes.number,
83
- hideVisible: PropTypes.func
80
+ hideVisible: PropTypes.func,
81
+ TextEnum: PropTypes.object
84
82
  };
85
83
  export default VtxImportResult;
@@ -125,6 +125,8 @@ export default {
125
125
  operation: 'Import',
126
126
  error: 'Upload failed',
127
127
  success: 'Upload successful',
128
+ rowNumber: 'Line No.',
129
+ errorMessage: 'Error Description',
128
130
  selectFile: 'Click to select file',
129
131
  noFileSelected: "No file selected",
130
132
  downloadTemplate: 'Download template',
@@ -124,6 +124,8 @@ export default {
124
124
  operation: '导入',
125
125
  error: '上传失败',
126
126
  success: '上传成功',
127
+ rowNumber: '行号',
128
+ errorMessage: '错误说明',
127
129
  selectFile: '选择文件',
128
130
  noFileSelected: "未选择任何文件",
129
131
  downloadTemplate: '下载模板',
@@ -277,15 +277,8 @@ function useContainer() {
277
277
  }
278
278
  }, [visibleColumnKeys, props.defaultVisibleColumnKeys, tableColumn], ['render'], 100);
279
279
  (0, _utils.useDeepCompareEffectDebounce)(function () {
280
- var _sortKeyColumns$curre, _props$onVisibleColum;
281
- var visibleColumnKeys = [];
282
- (_sortKeyColumns$curre = sortKeyColumns.current) === null || _sortKeyColumns$curre === void 0 || _sortKeyColumns$curre.map(function (columnKey) {
283
- var config = columnsMap[columnKey];
284
- if (config !== null && config !== void 0 && config.show) {
285
- visibleColumnKeys.push(columnKey);
286
- }
287
- });
288
- (_props$onVisibleColum = props.onVisibleColumnsChange) === null || _props$onVisibleColum === void 0 || _props$onVisibleColum.call(props, visibleColumnKeys);
280
+ var _props$onVisibleColum;
281
+ (_props$onVisibleColum = props.onVisibleColumnsChange) === null || _props$onVisibleColum === void 0 || _props$onVisibleColum.call(props, (0, _columnState.getVisibleColumnKeysFromMap)(columnsMap, sortKeyColumns.current));
289
282
  }, [JSON.stringify(columnsMap), sortKeyColumns.current], ['render'], 200);
290
283
  var show = function show() {
291
284
  setTimeout(function () {
@@ -9,6 +9,12 @@ exports.getVisibleColumnKeysFromMap = getVisibleColumnKeysFromMap;
9
9
  exports.indexColumnKey = void 0;
10
10
  var _genColumnKey = require("../utils/genColumnKey");
11
11
  var _sortByGivenOrder = require("../utils/sortByGivenOrder");
12
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
13
+ 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."); }
14
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
16
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
18
  var indexColumnKey = exports.indexColumnKey = '_serialNum';
13
19
  function buildColumnKeyMap() {
14
20
  var tableColumn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -66,8 +72,29 @@ function buildSortKeyColumns() {
66
72
  function getVisibleColumnKeysFromMap() {
67
73
  var columnsMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
68
74
  var sortKeyColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
69
- return sortKeyColumns.filter(function (columnKey) {
75
+ var allColumnKeys = Array.from(new Set([].concat(_toConsumableArray(sortKeyColumns), _toConsumableArray(Object.keys(columnsMap)))));
76
+ var sortIndexMap = new Map(sortKeyColumns.map(function (columnKey, index) {
77
+ return [columnKey, index];
78
+ }));
79
+ return allColumnKeys.filter(function (columnKey) {
70
80
  var _columnsMap$columnKey;
71
81
  return (_columnsMap$columnKey = columnsMap[columnKey]) === null || _columnsMap$columnKey === void 0 ? void 0 : _columnsMap$columnKey.show;
82
+ }).sort(function (leftKey, rightKey) {
83
+ var leftConfig = columnsMap[leftKey] || {};
84
+ var rightConfig = columnsMap[rightKey] || {};
85
+ var leftFixed = leftConfig.fixed,
86
+ leftOrder = leftConfig.order;
87
+ var rightFixed = rightConfig.fixed,
88
+ rightOrder = rightConfig.order;
89
+ if (leftFixed === 'left' && rightFixed !== 'left' || rightFixed === 'right' && leftFixed !== 'right') {
90
+ return -2;
91
+ }
92
+ if (rightFixed === 'left' && leftFixed !== 'left' || leftFixed === 'right' && rightFixed !== 'right') {
93
+ return 2;
94
+ }
95
+ if (leftOrder !== undefined || rightOrder !== undefined) {
96
+ return (leftOrder !== null && leftOrder !== void 0 ? leftOrder : 0) - (rightOrder !== null && rightOrder !== void 0 ? rightOrder : 0);
97
+ }
98
+ return (sortIndexMap.has(leftKey) ? sortIndexMap.get(leftKey) : Number.MAX_SAFE_INTEGER) - (sortIndexMap.has(rightKey) ? sortIndexMap.get(rightKey) : Number.MAX_SAFE_INTEGER);
72
99
  });
73
100
  }
@@ -68,13 +68,14 @@ function VtxTable(props) {
68
68
  var _useSet = (0, _useSet3.default)({
69
69
  // 表格id
70
70
  datagridId: "vtx-datagrid-".concat(new Date().getTime()),
71
- scrollY: 0
71
+ scrollY: undefined
72
72
  }),
73
73
  _useSet2 = _slicedToArray(_useSet, 2),
74
74
  _useSet2$ = _useSet2[0],
75
75
  datagridId = _useSet2$.datagridId,
76
76
  scrollY = _useSet2$.scrollY,
77
77
  setState = _useSet2[1];
78
+ var scrollYRef = (0, _react.useRef)(undefined);
78
79
  // 列设置提示高度
79
80
  var alertHeight = (0, _react.useRef)(0);
80
81
  // 工具栏高度
@@ -135,32 +136,49 @@ function VtxTable(props) {
135
136
  _headFootHeight = ((pagination === null || pagination === void 0 ? void 0 : pagination.clientHeight) || 0) + 32 + (tableHeader === null || tableHeader === void 0 ? void 0 : tableHeader.clientHeight);
136
137
  }
137
138
  var bodyHeight = ((_rootDomRef$current = rootDomRef.current) === null || _rootDomRef$current === void 0 ? void 0 : _rootDomRef$current.clientHeight) - _headFootHeight - toolbarHeight.current - alertHeight.current;
139
+ if (!bodyHeight || bodyHeight <= 0) {
140
+ return;
141
+ }
138
142
  var bodyDiv = Array.prototype.filter.call(divs, function (dom) {
139
143
  return dom.className.includes('ant-table-body') || dom.className.includes('ant-table-content') || dom.className.includes('ant-table-tbody');
140
144
  })[0];
141
145
  var tablePlaceholder = Array.prototype.filter.call(rootDomRef.current.getElementsByTagName('tr'), function (dom) {
142
146
  return dom.className.includes('ant-table-placeholder');
143
147
  })[0];
148
+ if (!bodyDiv) {
149
+ return;
150
+ }
151
+ var tableHeight = ((_bodyDiv$getElementsB = bodyDiv.getElementsByTagName('table')) === null || _bodyDiv$getElementsB === void 0 || (_bodyDiv$getElementsB = _bodyDiv$getElementsB[0]) === null || _bodyDiv$getElementsB === void 0 ? void 0 : _bodyDiv$getElementsB.clientHeight) || 0;
152
+ var minBodyHeight = Math.max(bodyHeight - (rest.scrollY || 0), 0);
144
153
  if (bodyDiv) {
145
- bodyDiv.style.minHeight = "".concat(bodyHeight - (rest.scrollY || 0), "px");
154
+ bodyDiv.style.minHeight = "".concat(minBodyHeight, "px");
146
155
  }
147
- var tableHeight = (_bodyDiv$getElementsB = bodyDiv.getElementsByTagName('table')) === null || _bodyDiv$getElementsB === void 0 || (_bodyDiv$getElementsB = _bodyDiv$getElementsB[0]) === null || _bodyDiv$getElementsB === void 0 ? void 0 : _bodyDiv$getElementsB.clientHeight;
148
156
  if (tablePlaceholder) {
149
- tablePlaceholder.style.height = "".concat(bodyHeight - (rest.scrollY || 0) - 48 - 12, "px");
157
+ var placeholderHeight = Math.max(bodyHeight - (rest.scrollY || 0) - 48 - 12, 0);
158
+ tablePlaceholder.style.height = "".concat(placeholderHeight, "px");
150
159
  var tableCell = Array.prototype.filter.call(tablePlaceholder.getElementsByTagName('td'), function (dom) {
151
160
  return dom.className.includes('ant-table-cell');
152
161
  })[0];
153
- tableCell.style.height = "".concat(bodyHeight - (rest.scrollY || 0) - 48 - 12, "px");
162
+ if (tableCell) {
163
+ tableCell.style.height = "".concat(placeholderHeight, "px");
164
+ }
154
165
  }
155
166
  // antd6.x 的bug 如果table的高度 没有body 高 则没有滚动条
156
167
 
157
- setState({
158
- scrollY: tableHeight > bodyHeight ? bodyHeight : undefined
159
- });
168
+ var nextScrollY = tableHeight > bodyHeight ? bodyHeight : undefined;
169
+ if (scrollYRef.current !== nextScrollY) {
170
+ scrollYRef.current = nextScrollY;
171
+ setState({
172
+ scrollY: nextScrollY
173
+ });
174
+ }
160
175
  }, {
161
176
  wait: 350
162
177
  }),
163
178
  calculateHeight = _useThrottleFn.run;
179
+ (0, _react.useEffect)(function () {
180
+ scrollYRef.current = scrollY;
181
+ }, [scrollY]);
164
182
  (0, _react.useEffect)(function () {
165
183
  var resizeObserver = new ResizeObserver(function () {
166
184
  calculateHeight();
@@ -116,6 +116,10 @@ function History(props) {
116
116
  timer.current = setInterval(function () {
117
117
  refresh();
118
118
  }, refreshTime * 1000);
119
+ return function () {
120
+ timer.current && clearInterval(timer.current);
121
+ timer.current = null;
122
+ };
119
123
  }, [JSON.stringify(tableProps.dataSource)]);
120
124
  var pageSize = pagination.pageSize,
121
125
  current = pagination.current;
@@ -91,7 +91,9 @@ var VtxExportAsync = exports.VtxExportAsync = function VtxExportAsync(props) {
91
91
  headers = _props$headers === void 0 ? {} : _props$headers,
92
92
  beforeExport = props.beforeExport,
93
93
  _props$historyHeaders = props.historyHeaders,
94
- historyHeaders = _props$historyHeaders === void 0 ? {} : _props$historyHeaders;
94
+ historyHeaders = _props$historyHeaders === void 0 ? {} : _props$historyHeaders,
95
+ _props$hideContent = props.hideContent,
96
+ hideContent = _props$hideContent === void 0 ? false : _props$hideContent;
95
97
  var _Form$useForm = _antd.Form.useForm(),
96
98
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
97
99
  form = _Form$useForm2[0];
@@ -364,7 +366,7 @@ var VtxExportAsync = exports.VtxExportAsync = function VtxExportAsync(props) {
364
366
  }, item.key);
365
367
  })
366
368
  })
367
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Form.Item, {
369
+ }), hideContent ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Form.Item, {
368
370
  label: TextEnum.fieldContentText,
369
371
  name: "content",
370
372
  rules: [{
@@ -21,19 +21,23 @@ var _jsxRuntime = require("react/jsx-runtime");
21
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
23
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
24
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
28
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
29
24
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
30
25
  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."); }
31
26
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
32
27
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
33
28
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
34
29
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
31
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
32
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
34
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
35
35
  function _readOnlyError(name) { throw new TypeError("\"" + name + "\" is read-only"); }
36
36
  function VtxImport(props) {
37
+ var templateURL = props.templateURL,
38
+ uploadURL = props.uploadURL,
39
+ afterUpload = props.afterUpload,
40
+ beforeUpload = props.beforeUpload;
37
41
  var token = (0, _getToken.default)();
38
42
  if (props.token) {
39
43
  props.token, _readOnlyError("token");
@@ -45,6 +49,22 @@ function VtxImport(props) {
45
49
  var _useStyle = (0, _index.useStyle)(prefixCls),
46
50
  wrapSSR = _useStyle.wrapSSR,
47
51
  hashId = _useStyle.hashId;
52
+ var TextEnum = _objectSpread({
53
+ rowNumberText: intl.getMessage('import.rowNumber', '行号'),
54
+ errorMessageText: intl.getMessage('import.errorMessage', '错误说明'),
55
+ resultTitleText: intl.getMessage('import.result', '导入结果'),
56
+ btnCloseText: intl.getMessage('switch.close', '关闭'),
57
+ operationText: intl.getMessage('import.operation', '导入'),
58
+ uploadFailedText: intl.getMessage('import.error', '上传失败'),
59
+ parseResponseFailedText: intl.getMessage('import.error', '解析响应失败'),
60
+ uploadSuccessText: intl.getMessage('import.success', '上传成功'),
61
+ parseResponseDataFailedText: intl.getMessage('import.error', '解析响应数据失败'),
62
+ downloadTemplateText: intl.getMessage('import.downloadTemplate', '下载模板'),
63
+ pleaseSelectFileText: intl.getMessage('import.pleaseSelectFile', '请选择需要上传的文件'),
64
+ uploadText: intl.getMessage('import.upload', '上传'),
65
+ selectFileText: intl.getMessage('import.selectFile', '选择文件'),
66
+ noFileSelectedText: intl.getMessage('import.noFileSelected', '未选择任何文件')
67
+ }, props.customEnumText);
48
68
 
49
69
  // 用 useRef 管理 DOM 引用,而不是 state
50
70
  var fileInputRef = (0, _react.useRef)(null);
@@ -71,13 +91,22 @@ function VtxImport(props) {
71
91
  // 导入结果查看
72
92
  modalWidth: props.modalWidth || 800,
73
93
  columns: props.columns || [{
74
- title: '行号',
94
+ title: TextEnum.rowNumberText,
75
95
  dataIndex: 'lineNum',
76
96
  key: 'lineNum'
77
97
  }, {
78
- title: '错误说明',
98
+ title: TextEnum.errorMessageText,
79
99
  dataIndex: 'messages',
80
- key: 'messages'
100
+ key: 'messages',
101
+ render: function render(val) {
102
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
103
+ style: {
104
+ display: 'flex',
105
+ width: 600
106
+ },
107
+ children: [" ", val]
108
+ });
109
+ }
81
110
  }],
82
111
  step: 1,
83
112
  chunkSize: props.chunkSize || 10 * 1024 * 1024,
@@ -85,7 +114,7 @@ function VtxImport(props) {
85
114
  currentIndex: 0,
86
115
  chunkId: '',
87
116
  chunks: [],
88
- operation: props.operation || intl.getMessage('import.operation', '导入'),
117
+ operation: props.operation || TextEnum.operationText,
89
118
  fileName: ''
90
119
  }),
91
120
  _useSet2 = _slicedToArray(_useSet, 2),
@@ -142,7 +171,7 @@ function VtxImport(props) {
142
171
  }
143
172
  };
144
173
  xhr.onerror = function () {
145
- _antd.message.error(intl.getMessage('import.error', '上传失败'));
174
+ _antd.message.error(TextEnum.uploadFailedText);
146
175
  };
147
176
  // 发送请求
148
177
  xhr.open('POST', '/cloudFile/common/uploadChunk', true);
@@ -164,23 +193,23 @@ function VtxImport(props) {
164
193
  try {
165
194
  res = JSON.parse(xhr.responseText);
166
195
  } catch (e) {
167
- _antd.message.error(intl.getMessage('import.error', '解析响应失败'));
196
+ _antd.message.error(TextEnum.parseResponseFailedText);
168
197
  setState({
169
198
  uploading: false
170
199
  });
171
200
  return;
172
201
  }
173
202
  if (((_res = res) === null || _res === void 0 ? void 0 : _res.result) == 0) {
174
- _antd.message.success(intl.getMessage('import.success', '上传成功'));
203
+ _antd.message.success(TextEnum.uploadSuccessText);
175
204
  chunkUpload(res.data);
176
205
  } else {
177
206
  var _res2;
178
- _antd.message.error(((_res2 = res) === null || _res2 === void 0 ? void 0 : _res2.msg) || intl.getMessage('import.error', '上传失败'));
207
+ _antd.message.error(((_res2 = res) === null || _res2 === void 0 ? void 0 : _res2.msg) || TextEnum.uploadFailedText);
179
208
  }
180
209
  }
181
210
  };
182
211
  xhr.onerror = function () {
183
- _antd.message.error(intl.getMessage('import.error', '上传失败'));
212
+ _antd.message.error(TextEnum.uploadFailedText);
184
213
  };
185
214
  // 发送请求
186
215
  xhr.open('POST', '/cloudFile/common/mergeChunk', true);
@@ -307,7 +336,7 @@ function VtxImport(props) {
307
336
  try {
308
337
  parseData = JSON.parse(data);
309
338
  } catch (e) {
310
- _antd.message.error(intl.getMessage('import.error', '解析响应数据失败'));
339
+ _antd.message.error(TextEnum.parseResponseDataFailedText);
311
340
  return;
312
341
  }
313
342
  if (typeof props.afterUpload === 'function') {
@@ -329,18 +358,14 @@ function VtxImport(props) {
329
358
  // 新增其他错误提示
330
359
  if (parseData.result !== 0) {
331
360
  var _parseData2;
332
- _antd.message.error(((_parseData2 = parseData) === null || _parseData2 === void 0 ? void 0 : _parseData2.msg) || intl.getMessage('import.success', '上传成功'));
361
+ _antd.message.error(((_parseData2 = parseData) === null || _parseData2 === void 0 ? void 0 : _parseData2.msg) || TextEnum.uploadSuccessText);
333
362
  }
334
363
  }
335
364
  };
336
- var templateURL = props.templateURL,
337
- uploadURL = props.uploadURL,
338
- afterUpload = props.afterUpload,
339
- beforeUpload = props.beforeUpload;
340
365
  var modalProps = {
341
366
  className: "".concat(prefixCls, "-modal"),
342
367
  open: state.visible,
343
- title: intl.getMessage('import.operation', '导入'),
368
+ title: TextEnum.operationText,
344
369
  onCancel: function onCancel() {
345
370
  return closeModal();
346
371
  },
@@ -352,7 +377,7 @@ function VtxImport(props) {
352
377
  onClick: function onClick() {
353
378
  window.open(templateURL);
354
379
  },
355
- children: intl.getMessage('import.downloadTemplate', '下载模板')
380
+ children: TextEnum.downloadTemplateText
356
381
  }, "downloadTemple") : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Button, {
357
382
  type: "primary",
358
383
  loading: state.uploading,
@@ -391,15 +416,15 @@ function VtxImport(props) {
391
416
  // request.send(fmd);
392
417
  // }
393
418
  } else {
394
- _antd.message.info(intl.getMessage('import.pleaseSelectFile', '请选择需要上传的文件'));
419
+ _antd.message.info(TextEnum.pleaseSelectFileText);
395
420
  }
396
421
  },
397
- children: intl.getMessage('import.upload', '上传')
422
+ children: TextEnum.uploadText
398
423
  }, "uploadSubmit"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Button, {
399
424
  onClick: function onClick() {
400
425
  closeModal();
401
426
  },
402
- children: intl.getMessage('switch.close', '关闭')
427
+ children: TextEnum.btnCloseText
403
428
  }, "closeWindow")],
404
429
  width: 520
405
430
  };
@@ -412,7 +437,8 @@ function VtxImport(props) {
412
437
  resultVisible: false
413
438
  });
414
439
  },
415
- modalWidth: state.modalWidth
440
+ modalWidth: state.modalWidth,
441
+ TextEnum: TextEnum
416
442
  };
417
443
 
418
444
  // 组件卸载时清理
@@ -486,7 +512,7 @@ function VtxImport(props) {
486
512
  onClick: handleSelectFile,
487
513
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
488
514
  className: "".concat(prefixCls, "-label"),
489
- children: intl.getMessage('import.selectFile', '选择文件')
515
+ children: TextEnum.selectFileText
490
516
  })
491
517
  }), state.fileName ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Tooltip, {
492
518
  title: state.fileName,
@@ -496,7 +522,7 @@ function VtxImport(props) {
496
522
  })
497
523
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
498
524
  className: "".concat(prefixCls, "-file-name"),
499
- children: intl.getMessage('import.noFileSelected', '未选择任何文件')
525
+ children: TextEnum.noFileSelectedText
500
526
  })]
501
527
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
502
528
  type: "file",
@@ -524,11 +550,13 @@ VtxImport.propTypes = {
524
550
  postData: _propTypes.default.object,
525
551
  fileKey: _propTypes.default.string,
526
552
  accept: _propTypes.default.string,
553
+ token: _propTypes.default.string,
527
554
  operation: _propTypes.default.string,
528
555
  close: _propTypes.default.func,
529
556
  afterUpload: _propTypes.default.func,
530
557
  modalWidth: _propTypes.default.number,
531
558
  columns: _propTypes.default.array,
559
+ customEnumText: _propTypes.default.object,
532
560
  children: _propTypes.default.object,
533
561
  beforeUpload: _propTypes.default.func,
534
562
  chunkSize: _propTypes.default.number
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -10,23 +9,26 @@ var _antd = require("antd");
10
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
10
  var _useSet3 = _interopRequireDefault(require("../utils/useSet"));
12
11
  var _vtxDatagrid = _interopRequireDefault(require("../vtx-datagrid"));
13
- var _vtxProvider = require("../vtx-provider");
14
12
  var _vtxModal = _interopRequireDefault(require("../vtx-modal"));
15
13
  var _jsxRuntime = require("react/jsx-runtime");
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
21
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
22
16
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
17
  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."); }
24
18
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
25
19
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
26
20
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
27
21
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
26
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
28
27
  function VtxImportResult(props) {
29
- var intl = (0, _vtxProvider.useIntl)();
28
+ var TextEnum = _objectSpread({
29
+ resultTitleText: '导入结果',
30
+ btnCloseText: '关闭'
31
+ }, props.TextEnum);
30
32
  var _useSet = (0, _useSet3.default)({
31
33
  visible: props.visible || false,
32
34
  dataSource: props.dataSource || [],
@@ -36,11 +38,9 @@ function VtxImportResult(props) {
36
38
  _useSet2 = _slicedToArray(_useSet, 1),
37
39
  state = _useSet2[0];
38
40
  var modalProps = {
39
- bodyStyle: {
40
- backgroundColor: '#f8f8f8'
41
- },
41
+ bodyStyle: {},
42
42
  open: state.visible,
43
- title: intl.getMessage('import.result', '导入结果'),
43
+ title: TextEnum.resultTitleText,
44
44
  onCancel: function onCancel() {
45
45
  if (typeof props.hideVisible === 'function') {
46
46
  props.hideVisible();
@@ -57,29 +57,26 @@ function VtxImportResult(props) {
57
57
  props.hideVisible();
58
58
  }
59
59
  },
60
- children: intl.getMessage('switch.close', '关闭')
60
+ children: TextEnum.btnCloseText
61
61
  }, "closeWindow")]
62
62
  };
63
63
  var newTableProps = {
64
+ toolba: false,
64
65
  columns: state.columns,
65
66
  dataSource: state.dataSource,
66
67
  startIndex: 1,
67
68
  size: 'small',
68
69
  headFootHeight: 50,
69
70
  pagination: false,
70
- autoFit: false
71
+ autoFit: false,
72
+ scroll: {
73
+ y: 550
74
+ }
71
75
  };
72
76
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_vtxModal.default, _objectSpread(_objectSpread({}, modalProps), {}, {
73
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
74
- style: {
75
- maxHeight: 600,
76
- width: '100%',
77
- overflow: 'auto'
78
- },
79
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vtxDatagrid.default, _objectSpread({
80
- toolbar: false
81
- }, newTableProps))
82
- })
77
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vtxDatagrid.default, _objectSpread({
78
+ toolbar: false
79
+ }, newTableProps))
83
80
  }));
84
81
  }
85
82
  VtxImportResult.propTypes = {
@@ -87,6 +84,7 @@ VtxImportResult.propTypes = {
87
84
  dataSource: _propTypes.default.array,
88
85
  columns: _propTypes.default.array,
89
86
  modalWidth: _propTypes.default.number,
90
- hideVisible: _propTypes.default.func
87
+ hideVisible: _propTypes.default.func,
88
+ TextEnum: _propTypes.default.object
91
89
  };
92
90
  var _default = exports.default = VtxImportResult;
@@ -131,6 +131,8 @@ var _default = exports.default = {
131
131
  operation: 'Import',
132
132
  error: 'Upload failed',
133
133
  success: 'Upload successful',
134
+ rowNumber: 'Line No.',
135
+ errorMessage: 'Error Description',
134
136
  selectFile: 'Click to select file',
135
137
  noFileSelected: "No file selected",
136
138
  downloadTemplate: 'Download template',
@@ -130,6 +130,8 @@ var _default = exports.default = {
130
130
  operation: '导入',
131
131
  error: '上传失败',
132
132
  success: '上传成功',
133
+ rowNumber: '行号',
134
+ errorMessage: '错误说明',
133
135
  selectFile: '选择文件',
134
136
  noFileSelected: "未选择任何文件",
135
137
  downloadTemplate: '下载模板',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/components",
3
- "version": "4.0.0-beta.70",
3
+ "version": "4.0.0-beta.72",
4
4
  "description": "React components for Vortex",
5
5
  "keywords": [
6
6
  "react",