ztxkui 4.2.18-67 → 4.2.18-69

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.
@@ -226,6 +226,12 @@ var BasicTable = function (_a) {
226
226
  "isResizableColumn\u5C5E\u6027\u9ED8\u8BA4\u4E3Atrue\uFF0C\u5982\u679C\u4E0D\u9700\u8981\u5217\u4F38\u7F29\u53EF\u4EE5\u4F20\u5165false"),
227
227
  React.createElement(Table, { dataSource: dataSource, columns: columns, rowKey: "id", scroll: { y: 500 },
228
228
  // isContextMenu
229
- showColumnDynamic: true, showColumnDynamicKey: dynamicKey || 'symbol-id-1', configInfo: tableConfigInfo, isNumberInputAlignRight: true, isNumberInputThousandth: true, virtualTableKey: "virtualTableKey" })));
229
+ showColumnDynamic: true, showColumnDynamicKey: dynamicKey || 'symbol-id-1', configInfo: tableConfigInfo, isNumberInputAlignRight: true, isNumberInputThousandth: true, virtualTableKey: "virtualTableKey", isSort: true, summaryConfig: [
230
+ {
231
+ type: 'subtotal',
232
+ fields: ['test10', 'test101'],
233
+ title: '小计',
234
+ },
235
+ ] })));
230
236
  };
231
237
  export default BasicTable;
@@ -46,6 +46,7 @@ interface IProps<RecordType> {
46
46
  isModalInput?: boolean;
47
47
  isNumberInputThousandth?: boolean;
48
48
  isNumberInputAlignRight?: boolean;
49
+ autoDecimalFieldsRef?: any;
49
50
  }
50
51
  export declare const getTableLayoutFullData: (columns: any, tableLayout: any) => any;
51
52
  export declare const LOCALSTORAGE_KEY = "ztui_dynamic_table_key";
@@ -233,7 +233,7 @@ function getNewColumns(basicConfig, editableConfig, dynamicConfig, otherConfig)
233
233
  var columns = basicConfig.columns, newColumnsRef = basicConfig.newColumnsRef, showColumnDynamic = basicConfig.showColumnDynamic, showColumnDynamicKey = basicConfig.showColumnDynamicKey, configInfo = basicConfig.configInfo, currentDataSource = basicConfig.currentDataSource, preDataSource = basicConfig.preDataSource, rowKey = basicConfig.rowKey, dataSourceRef = basicConfig.dataSourceRef, expandableChildrenColumnName = basicConfig.expandableChildrenColumnName, upDateColumnsRef = basicConfig.upDateColumnsRef, setUpDateColumnsRef = basicConfig.setUpDateColumnsRef, isUpDateColumnsRef = basicConfig.isUpDateColumnsRef, setIsUpDateColumnsRef = basicConfig.setIsUpDateColumnsRef;
234
234
  var onEditableSave = editableConfig.onEditableSave, onTableChange = editableConfig.onTableChange, currentPage = editableConfig.currentPage, onFillDownChangeRef = editableConfig.onFillDownChangeRef;
235
235
  var ColumnDynamicCom = dynamicConfig.ColumnDynamicCom, DelAllCom = dynamicConfig.DelAllCom, onAddAndDelHandleMemo = dynamicConfig.onAddAndDelHandleMemo, onAddAndDelHandle = dynamicConfig.onAddAndDelHandle, hideAddIcon = dynamicConfig.hideAddIcon, addIconText = dynamicConfig.addIconText, hideDelIcon = dynamicConfig.hideDelIcon, delIconText = dynamicConfig.delIconText;
236
- var copyByKey = otherConfig.copyByKey, myCatchColumns = otherConfig.myCatchColumns, customSortHandle = otherConfig.customSortHandle, customOrder = otherConfig.customOrder, setCustomOrder = otherConfig.setCustomOrder, isSort = otherConfig.isSort, handleSearch = otherConfig.handleSearch, handleReset = otherConfig.handleReset, searchInput = otherConfig.searchInput, isModalInput = otherConfig.isModalInput, tableNumberFormatter = otherConfig.tableNumberFormatter, isNumberInputThousandth = otherConfig.isNumberInputThousandth, isNumberInputAlignRight = otherConfig.isNumberInputAlignRight;
236
+ var copyByKey = otherConfig.copyByKey, myCatchColumns = otherConfig.myCatchColumns, customSortHandle = otherConfig.customSortHandle, customOrder = otherConfig.customOrder, setCustomOrder = otherConfig.setCustomOrder, isSort = otherConfig.isSort, handleSearch = otherConfig.handleSearch, handleReset = otherConfig.handleReset, searchInput = otherConfig.searchInput, isModalInput = otherConfig.isModalInput, tableNumberFormatter = otherConfig.tableNumberFormatter, isNumberInputThousandth = otherConfig.isNumberInputThousandth, isNumberInputAlignRight = otherConfig.isNumberInputAlignRight, autoDecimalFieldsRef = otherConfig.autoDecimalFieldsRef, isCustomDecimalField = otherConfig.isCustomDecimalField, customDecimalFieldRender = otherConfig.customDecimalFieldRender;
237
237
  var tableLayout = showColumnDynamicKey
238
238
  ? getStorage(showColumnDynamicKey)
239
239
  : myCatchColumns;
@@ -276,6 +276,22 @@ function getNewColumns(basicConfig, editableConfig, dynamicConfig, otherConfig)
276
276
  }
277
277
  var _newColumns = [];
278
278
  var _dynamicColumns = [];
279
+ // 递归遍历一下
280
+ var getAutoDecimalField = function (_columns) {
281
+ _columns.forEach(function (column) {
282
+ var dataIndex = column.dataIndex || column.key;
283
+ if (typeof dataIndex === 'string' &&
284
+ (isCustomDecimalField === null || isCustomDecimalField === void 0 ? void 0 : isCustomDecimalField(dataIndex, column))) {
285
+ autoDecimalFieldsRef.current[dataIndex] = {
286
+ autoDecimal: true,
287
+ };
288
+ }
289
+ if (column.children) {
290
+ getAutoDecimalField(column.children);
291
+ }
292
+ });
293
+ };
294
+ getAutoDecimalField(_columns);
279
295
  // 处理columns
280
296
  _columns.forEach(function (col, index) {
281
297
  var _column = __assign({}, col);
@@ -554,19 +570,37 @@ function getNewColumns(basicConfig, editableConfig, dynamicConfig, otherConfig)
554
570
  // 如果命中了自定义显示字段,并且命中了是数字
555
571
  var dataIndex = _column.dataIndex || _column.key;
556
572
  var title = columnTitle !== null && columnTitle !== void 0 ? columnTitle : _column.title;
573
+ if (isCustomDecimalField === null || isCustomDecimalField === void 0 ? void 0 : isCustomDecimalField(dataIndex, __assign(__assign({}, _column), { title: title }))) {
574
+ // 去掉千分符 还是数字的话
575
+ var newValue = typeof selfResult === 'string'
576
+ ? selfResult.replace(/,/g, '')
577
+ : selfResult;
578
+ if (isNumber(newValue) && isNumber(text)) {
579
+ selfResult = customDecimalFieldRender === null || customDecimalFieldRender === void 0 ? void 0 : customDecimalFieldRender(text, record, index);
580
+ }
581
+ }
557
582
  if (!(tableNumberFormatter === null || tableNumberFormatter === void 0 ? void 0 : tableNumberFormatter(title))) {
558
583
  return selfResult;
559
584
  }
560
- if (isPercentage(selfResult) && isNumberInputAlignRight) {
561
- return React.createElement("div", { style: { textAlign: 'right' } }, selfResult);
585
+ if (typeof selfResult === 'string' ||
586
+ typeof selfResult === 'number') {
587
+ return renderText(selfResult);
562
588
  }
563
- // 去掉千分符 还是数字的话
564
- var newValue = typeof selfResult === 'string'
565
- ? selfResult.replace(/,/g, '')
566
- : selfResult;
567
- if (isNumber(newValue)) {
568
- return getResultCom(newValue);
589
+ if (typeof selfResult === 'object' && selfResult.children) {
590
+ console.log('命中逻辑');
591
+ return __assign(__assign({}, selfResult), { children: renderText(selfResult.children) });
569
592
  }
593
+ // if (isPercentage(selfResult) && isNumberInputAlignRight) {
594
+ // return <div style={{ textAlign: 'right' }}>{selfResult}</div>;
595
+ // }
596
+ // // 去掉千分符 还是数字的话
597
+ // const newValue =
598
+ // typeof selfResult === 'string'
599
+ // ? selfResult.replace(/,/g, '')
600
+ // : selfResult;
601
+ // if (isNumber(newValue)) {
602
+ // return getResultCom(newValue);
603
+ // }
570
604
  }
571
605
  catch (err) {
572
606
  console.log(err);
@@ -579,6 +613,18 @@ function getNewColumns(basicConfig, editableConfig, dynamicConfig, otherConfig)
579
613
  var valResult = isNumberInputThousandth ? toThousand(val) : val;
580
614
  return isNumberInputAlignRight ? (React.createElement("div", { style: { textAlign: 'right' } }, valResult)) : (valResult);
581
615
  }
616
+ function renderText(selfResult) {
617
+ if (isPercentage(selfResult) && isNumberInputAlignRight) {
618
+ return React.createElement("div", { style: { textAlign: 'right' } }, selfResult);
619
+ }
620
+ // 去掉千分符 还是数字的话
621
+ var newValue = typeof selfResult === 'string'
622
+ ? selfResult.replace(/,/g, '')
623
+ : selfResult;
624
+ if (isNumber(newValue)) {
625
+ return getResultCom(newValue);
626
+ }
627
+ }
582
628
  // 20250623 如果text返回的是数字形数据,那么转成带千分符的值
583
629
  function isNumber(val) {
584
630
  if (val == null) {
@@ -605,7 +651,7 @@ function getNewColumns(basicConfig, editableConfig, dynamicConfig, otherConfig)
605
651
  }
606
652
  function returnRender(_column) {
607
653
  return function (text, record, index) {
608
- var _a;
654
+ var _a, _b;
609
655
  var percisionResult = getPrecision ? getPrecision === null || getPrecision === void 0 ? void 0 : getPrecision(record) : null;
610
656
  var value = text;
611
657
  if (text == null || text === '') {
@@ -627,6 +673,15 @@ function getNewColumns(basicConfig, editableConfig, dynamicConfig, otherConfig)
627
673
  // 如果命中了自定义显示字段,并且命中了是数字
628
674
  var dataIndex = _column.dataIndex || _column.key;
629
675
  var title = columnTitle !== null && columnTitle !== void 0 ? columnTitle : _column.title;
676
+ if (isCustomDecimalField === null || isCustomDecimalField === void 0 ? void 0 : isCustomDecimalField(dataIndex, __assign(__assign({}, _column), { title: title }))) {
677
+ // 去掉千分符 还是数字的话
678
+ var newValue_1 = typeof value === 'string' ? (_a = value === null || value === void 0 ? void 0 : value.replace) === null || _a === void 0 ? void 0 : _a.call(value, /,/g, '') : value;
679
+ if (isNumber(newValue_1) && isNumber(text)) {
680
+ return (tableNumberFormatter === null || tableNumberFormatter === void 0 ? void 0 : tableNumberFormatter(title))
681
+ ? getResultCom(customDecimalFieldRender === null || customDecimalFieldRender === void 0 ? void 0 : customDecimalFieldRender(text, record, index))
682
+ : customDecimalFieldRender === null || customDecimalFieldRender === void 0 ? void 0 : customDecimalFieldRender(text, record, index);
683
+ }
684
+ }
630
685
  if (!(tableNumberFormatter === null || tableNumberFormatter === void 0 ? void 0 : tableNumberFormatter(title))) {
631
686
  return value;
632
687
  }
@@ -634,7 +689,7 @@ function getNewColumns(basicConfig, editableConfig, dynamicConfig, otherConfig)
634
689
  return React.createElement("div", { style: { textAlign: 'right' } }, value);
635
690
  }
636
691
  // 去掉千分符 还是数字的话
637
- var newValue = typeof value === 'string' ? (_a = value === null || value === void 0 ? void 0 : value.replace) === null || _a === void 0 ? void 0 : _a.call(value, /,/g, '') : value;
692
+ var newValue = typeof value === 'string' ? (_b = value === null || value === void 0 ? void 0 : value.replace) === null || _b === void 0 ? void 0 : _b.call(value, /,/g, '') : value;
638
693
  if (isNumber(newValue)) {
639
694
  return getResultCom(newValue);
640
695
  }
@@ -648,11 +703,11 @@ function getNewColumns(basicConfig, editableConfig, dynamicConfig, otherConfig)
648
703
  }
649
704
  }
650
705
  function useColumns(props) {
651
- var columns = props.columns, hiddenColumnDynamicIcon = props.hiddenColumnDynamicIcon, showColumnDynamic = props.showColumnDynamic, showColumnDynamicKey = props.showColumnDynamicKey, onAddAndDelHandle = props.onAddAndDelHandle, hideAddIcon = props.hideAddIcon, showDelAllBtn = props.showDelAllBtn, delAllChange = props.delAllChange, addIconText = props.addIconText, hideDelIcon = props.hideDelIcon, delIconText = props.delIconText, showDynamicHandle = props.showDynamicHandle, onEditableSave = props.onEditableSave, configInfo = props.configInfo, copyByKey = props.copyByKey, onTableChange = props.onTableChange, currentPage = props.currentPage, currentDataSource = props.currentDataSource, preDataSource = props.preDataSource, rowKey = props.rowKey, dataSourceRef = props.dataSourceRef, expandableChildrenColumnName = props.expandableChildrenColumnName, customSortHandle = props.customSortHandle, customOrder = props.customOrder, setCustomOrder = props.setCustomOrder, isSort = props.isSort, onFillDownChangeRef = props.onFillDownChangeRef, isModalInput = props.isModalInput, isNumberInputThousandth = props.isNumberInputThousandth, isNumberInputAlignRight = props.isNumberInputAlignRight;
652
- var tableNumberFormatter = useBaseContext().tableNumberFormatter;
706
+ var columns = props.columns, hiddenColumnDynamicIcon = props.hiddenColumnDynamicIcon, showColumnDynamic = props.showColumnDynamic, showColumnDynamicKey = props.showColumnDynamicKey, onAddAndDelHandle = props.onAddAndDelHandle, hideAddIcon = props.hideAddIcon, showDelAllBtn = props.showDelAllBtn, delAllChange = props.delAllChange, addIconText = props.addIconText, hideDelIcon = props.hideDelIcon, delIconText = props.delIconText, showDynamicHandle = props.showDynamicHandle, onEditableSave = props.onEditableSave, configInfo = props.configInfo, copyByKey = props.copyByKey, onTableChange = props.onTableChange, currentPage = props.currentPage, currentDataSource = props.currentDataSource, preDataSource = props.preDataSource, rowKey = props.rowKey, dataSourceRef = props.dataSourceRef, expandableChildrenColumnName = props.expandableChildrenColumnName, customSortHandle = props.customSortHandle, customOrder = props.customOrder, setCustomOrder = props.setCustomOrder, isSort = props.isSort, onFillDownChangeRef = props.onFillDownChangeRef, isModalInput = props.isModalInput, isNumberInputThousandth = props.isNumberInputThousandth, isNumberInputAlignRight = props.isNumberInputAlignRight, autoDecimalFieldsRef = props.autoDecimalFieldsRef;
707
+ var _a = useBaseContext(), tableNumberFormatter = _a.tableNumberFormatter, isCustomDecimalField = _a.isCustomDecimalField, customDecimalFieldRender = _a.customDecimalFieldRender;
653
708
  var newColumnsRef = useRef();
654
- var _a = useAsyncSetValue(columns), upDateColumnsRef = _a[0], setUpDateColumnsRef = _a[1];
655
- var _b = useAsyncSetValue(false), isUpDateColumnsRef = _b[0], setIsUpDateColumnsRef = _b[1];
709
+ var _b = useAsyncSetValue(columns), upDateColumnsRef = _b[0], setUpDateColumnsRef = _b[1];
710
+ var _c = useAsyncSetValue(false), isUpDateColumnsRef = _c[0], setIsUpDateColumnsRef = _c[1];
656
711
  var searchInput = useRef(null);
657
712
  var handleSearch = function (selectedKeys, confirm, dataIndex) {
658
713
  confirm();
@@ -724,6 +779,9 @@ function useColumns(props) {
724
779
  tableNumberFormatter: tableNumberFormatter,
725
780
  isNumberInputThousandth: isNumberInputThousandth,
726
781
  isNumberInputAlignRight: isNumberInputAlignRight,
782
+ autoDecimalFieldsRef: autoDecimalFieldsRef,
783
+ isCustomDecimalField: isCustomDecimalField,
784
+ customDecimalFieldRender: customDecimalFieldRender,
727
785
  });
728
786
  }, [
729
787
  showColumnDynamic,
@@ -760,8 +818,8 @@ function useColumns(props) {
760
818
  isNumberInputThousandth,
761
819
  isNumberInputAlignRight,
762
820
  ]);
763
- var _c = useState(false), refreshColumns = _c[0], setRefreshColumns = _c[1];
764
- var _d = useState([]), myCatchColumns = _d[0], setMyCatchColumns = _d[1];
821
+ var _d = useState(false), refreshColumns = _d[0], setRefreshColumns = _d[1];
822
+ var _e = useState([]), myCatchColumns = _e[0], setMyCatchColumns = _e[1];
765
823
  var refreshColumnsHandle = useCallback(function (columns) {
766
824
  unstable_batchedUpdates(function () {
767
825
  setRefreshColumns(function (refresh) { return !refresh; });
@@ -329,6 +329,8 @@ function Table(props) {
329
329
  }
330
330
  }
331
331
  }, [expandableDataSource, onSortChange, onChange]);
332
+ // 记录自动小数位(数据有几位小数就显示几位小数,影响小计)
333
+ var autoDecimalFieldsRef = useRef({});
332
334
  /**
333
335
  * @description 根据配置生成一个新的columns
334
336
  * 以及一个需要动态列配置的columns
@@ -365,6 +367,7 @@ function Table(props) {
365
367
  isModalInput: isModalInput,
366
368
  isNumberInputThousandth: isNumberInputThousandth,
367
369
  isNumberInputAlignRight: isNumberInputAlignRight,
370
+ autoDecimalFieldsRef: autoDecimalFieldsRef,
368
371
  }), newColumns = _r.newColumns, dynamicColumns = _r.dynamicColumns, refreshColumnsHandle = _r.refreshColumnsHandle;
369
372
  /**
370
373
  * @description 保存列配置
@@ -713,6 +716,8 @@ function Table(props) {
713
716
  hasExpandable: (props === null || props === void 0 ? void 0 : props.expandable) && ((_a = props === null || props === void 0 ? void 0 : props.expandable) === null || _a === void 0 ? void 0 : _a.expandedRowRender)
714
717
  ? true
715
718
  : false,
719
+ }, {
720
+ getAutoDecimalFields: function () { return autoDecimalFieldsRef.current; },
716
721
  });
717
722
  return (React.createElement(AntTable.Summary, { fixed: summaryFixed ? summaryFixed : virtualTableKey ? true : false }, summaryData.map(function (summary) {
718
723
  var title = summary.title, key = summary.key, titleIndex = summary.titleIndex, list = summary.list, columnList = summary.columnList, onClickHandle = summary.onClickHandle;
@@ -26,5 +26,5 @@ export interface ISummaryConfig {
26
26
  declare function getSummaryData(summaryConfig: ISummaryConfig[] | undefined, pageData: any, columns: any, { hasRowSelection, hasExpandable, }: {
27
27
  hasRowSelection: boolean;
28
28
  hasExpandable: boolean;
29
- }): ISummaryData[];
29
+ }, option?: any): ISummaryData[];
30
30
  export default getSummaryData;
@@ -5,6 +5,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
5
5
  };
6
6
  import i18next from 'ztxkutils/dist/i18next';
7
7
  import { plus, round } from 'number-precision';
8
+ import { toThousand } from 'ztxkutils/dist/tools';
8
9
  /**
9
10
  * @description 获取总结栏数据
10
11
  * @param summaryConfig 总结栏配置
@@ -14,9 +15,18 @@ import { plus, round } from 'number-precision';
14
15
  * @param isSubtotal 是否是内部使用的小计(这个)
15
16
  * @returns any[]
16
17
  */
17
- function getSummaryData(summaryConfig, pageData, columns, _a) {
18
+ function getSummaryData(summaryConfig, pageData, columns, _a, option) {
18
19
  var hasRowSelection = _a.hasRowSelection, hasExpandable = _a.hasExpandable;
19
20
  var _summaryData = [];
21
+ var _b = option || {}, getDecimalFields = _b.getDecimalFields, getAutoDecimalFields = _b.getAutoDecimalFields;
22
+ var decimalFields = null;
23
+ var autoDecimalFields = null;
24
+ if (getDecimalFields) {
25
+ decimalFields = getDecimalFields();
26
+ }
27
+ if (getAutoDecimalFields) {
28
+ autoDecimalFields = getAutoDecimalFields();
29
+ }
20
30
  if (Array.isArray(summaryConfig)) {
21
31
  summaryConfig.forEach(function (summary) {
22
32
  var type = summary.type, fields = summary.fields, title = summary.title, onClickHandle = summary.onClickHandle;
@@ -30,7 +40,10 @@ function getSummaryData(summaryConfig, pageData, columns, _a) {
30
40
  return;
31
41
  }
32
42
  // 拿到统计数据
33
- var subtotalObj_1 = getSubtotalObj(fields, pageData);
43
+ var subtotalObj_1 = getSubtotalObj(fields, pageData, {
44
+ decimalFields: decimalFields,
45
+ autoDecimalFields: autoDecimalFields,
46
+ });
34
47
  // 得到小计行数据
35
48
  // const subtotalResult = columns.map((col: any) =>
36
49
  // col.key || col.dataIndex
@@ -100,7 +113,10 @@ function getSummaryData(summaryConfig, pageData, columns, _a) {
100
113
  if (fields.length === 0) {
101
114
  return;
102
115
  }
103
- var totalObj_1 = getTotalObj(fields);
116
+ var totalObj_1 = getTotalObj(fields, {
117
+ decimalFields: decimalFields,
118
+ autoDecimalFields: autoDecimalFields,
119
+ });
104
120
  // 得到小计行数据
105
121
  // const totalResult = columns.map((col: any) =>
106
122
  // col.key || col.dataIndex
@@ -169,26 +185,123 @@ function getSummaryData(summaryConfig, pageData, columns, _a) {
169
185
  }
170
186
  return _summaryData;
171
187
  }
188
+ // 辅助函数:获取有效数字的小数位数
189
+ function countDecimals(num) {
190
+ if (num == null) {
191
+ return 0;
192
+ }
193
+ if (num === 0) {
194
+ return 0;
195
+ }
196
+ var str = String(num);
197
+ // 处理科学计数法
198
+ if (str.includes('e') || str.includes('E')) {
199
+ var _a = str.split(/[eE]/), base = _a[0], exponent = _a[1];
200
+ var baseDecimals = base.includes('.') ? base.split('.')[1].length : 0;
201
+ var exp = parseInt(exponent, 10);
202
+ return Math.max(0, baseDecimals - exp);
203
+ }
204
+ // 处理普通数字
205
+ return str.includes('.') ? str.split('.')[1].length : 0;
206
+ }
207
+ function getMaxDecimalPlaces(num1, num2, defaultValue) {
208
+ if (defaultValue === void 0) { defaultValue = 0; }
209
+ // 辅助函数:安全转换为数字并检查有效性
210
+ function safeToNumber(value) {
211
+ var num = Number(value);
212
+ return isNaN(num) || !isFinite(num) ? null : num;
213
+ }
214
+ try {
215
+ // 分别处理两个参数
216
+ var validNum1 = safeToNumber(num1);
217
+ var validNum2 = safeToNumber(num2);
218
+ // 计算每个参数的小数位数(无效时使用默认值的小数位数)
219
+ var decimal1 = validNum1 !== null ? countDecimals(validNum1) : defaultValue;
220
+ var decimal2 = validNum2 !== null ? countDecimals(validNum2) : defaultValue;
221
+ // 计算两个有效参数的最大小数位
222
+ var maxDecimals = Math.max(decimal1, decimal2);
223
+ // 如果计算出的最大小数位小于默认值的小数位,则取默认值的小数位
224
+ return Math.max(maxDecimals, defaultValue);
225
+ }
226
+ catch (err) {
227
+ return defaultValue;
228
+ }
229
+ }
230
+ function processNumber(value, defaultPrecision) {
231
+ if (defaultPrecision === void 0) { defaultPrecision = 2; }
232
+ // 检查是否为合法数字
233
+ var num = parseFloat(value);
234
+ if (isNaN(num)) {
235
+ return value; // 非数字值直接返回
236
+ }
237
+ // 处理整数情况
238
+ if (Number.isInteger(num)) {
239
+ return num.toFixed(defaultPrecision);
240
+ }
241
+ // 处理小数情况
242
+ var numStr = num.toString();
243
+ var precision = 0;
244
+ // 处理科学计数法
245
+ if (numStr.includes('e')) {
246
+ var _a = numStr.split('e'), exp = _a[1];
247
+ var exponent = parseInt(exp);
248
+ if (exponent < 0) {
249
+ precision = Math.abs(exponent);
250
+ }
251
+ }
252
+ else if (numStr.includes('.')) {
253
+ // 普通小数获取小数位数
254
+ precision = numStr.split('.')[1].length;
255
+ }
256
+ // 应用默认小数位逻辑
257
+ if (precision < defaultPrecision) {
258
+ return num.toFixed(defaultPrecision);
259
+ }
260
+ // 移除末尾多余的0
261
+ return numStr.replace(/0+$/, '').replace(/\.$/, '');
262
+ }
172
263
  /**
173
264
  * @description 获取小计计算对象
174
265
  * 小计需要统计当前表格数据的累加值
175
266
  */
176
- function getSubtotalObj(fields, pageData) {
267
+ function getSubtotalObj(fields, pageData, option) {
268
+ var _a = option || {}, decimalFields = _a.decimalFields, autoDecimalFields = _a.autoDecimalFields;
177
269
  if (!Array.isArray(pageData)) {
178
270
  return null;
179
271
  }
180
272
  var summaryTotalObj = {};
181
273
  pageData.forEach(function (item, index) {
182
274
  fields.forEach(function (field) {
275
+ // 是否按数据中的最高小数位来控制小计的小数位显示
276
+ var isDecimal = false;
183
277
  if (typeof field === 'string') {
278
+ isDecimal = (decimalFields === null || decimalFields === void 0 ? void 0 : decimalFields[field]) || (autoDecimalFields === null || autoDecimalFields === void 0 ? void 0 : autoDecimalFields[field]);
184
279
  var pageItem = (item === null || item === void 0 ? void 0 : item[field]) || 0;
185
280
  var summaryItem = (summaryTotalObj === null || summaryTotalObj === void 0 ? void 0 : summaryTotalObj[field]) || 0;
186
281
  summaryTotalObj[field] = summaryItem
187
282
  ? plus(summaryItem, pageItem)
188
283
  : pageItem;
284
+ if (index === pageData.length - 1) {
285
+ var getData = function (v) {
286
+ if (isDecimal) {
287
+ try {
288
+ if (Array.isArray(v)) {
289
+ return v;
290
+ }
291
+ return toThousand(processNumber(v));
292
+ }
293
+ catch (err) {
294
+ return v;
295
+ }
296
+ }
297
+ return v;
298
+ };
299
+ summaryTotalObj[field] = getData(summaryTotalObj[field]);
300
+ }
189
301
  }
190
302
  else {
191
- var key = field.key, showKey = field.showKey, toFixedNum_1 = field.toFixedNum, value = field.value, fn_1 = field.fn, lastFn = field.lastFn;
303
+ var key = field.key, showKey = field.showKey, toFixedNum_1 = field.toFixedNum, value = field.value, fn_1 = field.fn, lastFn_1 = field.lastFn;
304
+ isDecimal = (decimalFields === null || decimalFields === void 0 ? void 0 : decimalFields[key]) || (autoDecimalFields === null || autoDecimalFields === void 0 ? void 0 : autoDecimalFields[key]);
192
305
  var _pageItem = Number(item === null || item === void 0 ? void 0 : item[key]);
193
306
  var pageItem = typeof _pageItem === 'number' && !isNaN(_pageItem) ? _pageItem : 0;
194
307
  var summaryItem_1 = (summaryTotalObj === null || summaryTotalObj === void 0 ? void 0 : summaryTotalObj[key]) || 0;
@@ -225,15 +338,25 @@ function getSubtotalObj(fields, pageData) {
225
338
  ? _pageItem_1
226
339
  : 0;
227
340
  if (summaryItem_1) {
341
+ var newToFixedNum = isDecimal
342
+ ? typeof toFixedNum_1 === 'number'
343
+ ? getMaxDecimalPlaces(summaryItem_1, pageItem_1, toFixedNum_1)
344
+ : toFixedNum_1
345
+ : toFixedNum_1;
228
346
  summaryTotalObj[key] =
229
347
  typeof toFixedNum_1 === 'number'
230
- ? round(plus(summaryItem_1, pageItem_1), toFixedNum_1).toFixed(toFixedNum_1)
348
+ ? round(plus(summaryItem_1, pageItem_1), newToFixedNum).toFixed(newToFixedNum)
231
349
  : plus(summaryItem_1, pageItem_1);
232
350
  }
233
351
  else {
352
+ var newToFixedNum = isDecimal
353
+ ? typeof toFixedNum_1 === 'number'
354
+ ? getMaxDecimalPlaces('', pageItem_1, toFixedNum_1)
355
+ : toFixedNum_1
356
+ : toFixedNum_1;
234
357
  summaryTotalObj[key] =
235
358
  typeof toFixedNum_1 === 'number'
236
- ? round(pageItem_1, toFixedNum_1).toFixed(toFixedNum_1)
359
+ ? round(pageItem_1, newToFixedNum).toFixed(newToFixedNum)
237
360
  : pageItem_1;
238
361
  }
239
362
  }
@@ -249,13 +372,23 @@ function getSubtotalObj(fields, pageData) {
249
372
  : toFixedNum_1;
250
373
  if (summaryItem_1) {
251
374
  var _summaryItem = summaryItem_1[index];
375
+ var _newToFixedNum = isDecimal
376
+ ? typeof _toFixedNum === 'number'
377
+ ? getMaxDecimalPlaces(_summaryItem, pageItem, _toFixedNum)
378
+ : _toFixedNum
379
+ : _toFixedNum;
252
380
  return typeof _toFixedNum === 'number'
253
- ? round(plus(_summaryItem, pageItem), _toFixedNum).toFixed(_toFixedNum)
381
+ ? round(plus(_summaryItem, pageItem), _newToFixedNum).toFixed(_newToFixedNum)
254
382
  : plus(_summaryItem, pageItem);
255
383
  }
256
384
  else {
385
+ var _newToFixedNum = isDecimal
386
+ ? typeof _toFixedNum === 'number'
387
+ ? getMaxDecimalPlaces('', pageItem, _toFixedNum)
388
+ : _toFixedNum
389
+ : _toFixedNum;
257
390
  return typeof _toFixedNum === 'number'
258
- ? round(pageItem, _toFixedNum).toFixed(_toFixedNum)
391
+ ? round(pageItem, _newToFixedNum).toFixed(_newToFixedNum)
259
392
  : pageItem;
260
393
  }
261
394
  });
@@ -263,26 +396,78 @@ function getSubtotalObj(fields, pageData) {
263
396
  }
264
397
  else {
265
398
  if (summaryItem_1) {
399
+ var _newToFixedNum = isDecimal
400
+ ? typeof toFixedNum_1 === 'number'
401
+ ? getMaxDecimalPlaces(summaryItem_1, pageItem, toFixedNum_1)
402
+ : toFixedNum_1
403
+ : toFixedNum_1;
266
404
  summaryTotalObj[key] =
267
405
  typeof toFixedNum_1 === 'number'
268
- ? round(plus(summaryItem_1, pageItem), toFixedNum_1).toFixed(toFixedNum_1)
406
+ ? round(plus(summaryItem_1, pageItem), _newToFixedNum).toFixed(_newToFixedNum)
269
407
  : plus(summaryItem_1, pageItem);
270
408
  }
271
409
  else {
410
+ var _newToFixedNum = isDecimal
411
+ ? typeof toFixedNum_1 === 'number'
412
+ ? getMaxDecimalPlaces('', pageItem, toFixedNum_1)
413
+ : toFixedNum_1
414
+ : toFixedNum_1;
272
415
  summaryTotalObj[key] =
273
416
  typeof toFixedNum_1 === 'number'
274
- ? round(pageItem, toFixedNum_1).toFixed(toFixedNum_1)
417
+ ? round(pageItem, _newToFixedNum).toFixed(_newToFixedNum)
275
418
  : pageItem;
276
419
  }
277
420
  }
278
421
  }
279
422
  if (fn_1 && index === pageData.length - 1) {
423
+ var getData_1 = function (v) {
424
+ if (isDecimal) {
425
+ try {
426
+ return toThousand(v);
427
+ }
428
+ catch (err) {
429
+ return fn_1(processNumber(v));
430
+ }
431
+ }
432
+ return fn_1(v);
433
+ };
280
434
  summaryTotalObj[key] = Array.isArray(summaryTotalObj[key])
281
- ? summaryTotalObj[key].map(function (v) { return fn_1(v); })
282
- : fn_1(summaryTotalObj[key]);
435
+ ? summaryTotalObj[key].map(function (v) { return getData_1(v); })
436
+ : getData_1(summaryTotalObj[key]);
283
437
  }
284
- if (lastFn && index === pageData.length - 1) {
285
- summaryTotalObj[key] = lastFn(summaryTotalObj[key]);
438
+ if (lastFn_1 && index === pageData.length - 1) {
439
+ var getData = function (v) {
440
+ if (isDecimal) {
441
+ try {
442
+ if (Array.isArray(v)) {
443
+ return lastFn_1(v);
444
+ }
445
+ return toThousand(processNumber(v));
446
+ }
447
+ catch (err) {
448
+ return lastFn_1(v);
449
+ }
450
+ }
451
+ return lastFn_1(v);
452
+ };
453
+ summaryTotalObj[key] = getData(summaryTotalObj[key]);
454
+ }
455
+ if (!fn_1 && !lastFn_1 && index === pageData.length - 1) {
456
+ var getData = function (v) {
457
+ if (isDecimal) {
458
+ try {
459
+ if (Array.isArray(v)) {
460
+ return v;
461
+ }
462
+ return toThousand(processNumber(v));
463
+ }
464
+ catch (err) {
465
+ return v;
466
+ }
467
+ }
468
+ return v;
469
+ };
470
+ summaryTotalObj[key] = getData(summaryTotalObj[key]);
286
471
  }
287
472
  }
288
473
  });
@@ -295,20 +480,33 @@ function getSubtotalObj(fields, pageData) {
295
480
  * 但是为了考虑多种情况,而且表格数据的遍历耗时可能并不明显,所以也用这个通用方法即可
296
481
  * 如果后续需要改进,把总计的代码额外抽离出来即可
297
482
  */
298
- function getTotalObj(fields) {
483
+ function getTotalObj(fields, option) {
484
+ var _a = option || {}, decimalFields = _a.decimalFields, autoDecimalFields = _a.autoDecimalFields;
299
485
  var summaryTotalObj = {};
300
486
  fields.forEach(function (field) {
487
+ // 是否按数据中的最高小数位来控制小计的小数位显示
488
+ var isDecimal = false;
301
489
  if (typeof field === 'object') {
302
- var key = field.key, toFixedNum_2 = field.toFixedNum, value = field.value, fn_2 = field.fn, lastFn = field.lastFn;
490
+ var key = field.key, toFixedNum_2 = field.toFixedNum, value = field.value, fn_2 = field.fn, lastFn_2 = field.lastFn;
491
+ if (key) {
492
+ isDecimal = (decimalFields === null || decimalFields === void 0 ? void 0 : decimalFields[key]) || (autoDecimalFields === null || autoDecimalFields === void 0 ? void 0 : autoDecimalFields[key]);
493
+ }
303
494
  if (value != null) {
304
495
  // 如果value是数组 那么也要输出数组
305
496
  if (Array.isArray(value)) {
306
497
  summaryTotalObj[key] = value.map(function (val, index) {
307
498
  var v = val || 0;
499
+ var currentValueFixedNum = countDecimals(val);
500
+ if (currentValueFixedNum > 6) {
501
+ currentValueFixedNum = 6;
502
+ }
308
503
  // 如果传入两个键值 需要小计,那么取对应的值
309
504
  var _toFixedNum = Array.isArray(toFixedNum_2)
310
505
  ? toFixedNum_2[index]
311
506
  : toFixedNum_2;
507
+ _toFixedNum = isDecimal
508
+ ? Math.max(currentValueFixedNum, _toFixedNum)
509
+ : _toFixedNum;
312
510
  if (typeof Number(v) === 'number' &&
313
511
  !isNaN(Number(v)) &&
314
512
  typeof _toFixedNum === 'number') {
@@ -318,21 +516,73 @@ function getTotalObj(fields) {
318
516
  });
319
517
  }
320
518
  else {
519
+ var currentValueFixedNum = countDecimals(value);
520
+ if (currentValueFixedNum > 6) {
521
+ currentValueFixedNum = 6;
522
+ }
523
+ var _toFixedNum = 0;
524
+ if (typeof toFixedNum_2 === 'number') {
525
+ _toFixedNum = isDecimal
526
+ ? Math.max(currentValueFixedNum, toFixedNum_2)
527
+ : toFixedNum_2;
528
+ }
321
529
  summaryTotalObj[key] =
322
530
  typeof toFixedNum_2 === 'number'
323
531
  ? typeof Number(value) === 'number' && !isNaN(Number(value))
324
- ? round(value, toFixedNum_2).toFixed(toFixedNum_2)
532
+ ? round(value, _toFixedNum).toFixed(_toFixedNum)
325
533
  : value
326
534
  : value;
327
535
  }
328
536
  }
329
537
  if (fn_2) {
538
+ var getData_2 = function (v) {
539
+ if (isDecimal) {
540
+ try {
541
+ return toThousand(processNumber(v));
542
+ }
543
+ catch (err) {
544
+ return fn_2(v);
545
+ }
546
+ }
547
+ return fn_2(v);
548
+ };
330
549
  summaryTotalObj[key] = Array.isArray(summaryTotalObj[key])
331
- ? summaryTotalObj[key].map(function (v) { return fn_2(v); })
332
- : fn_2(summaryTotalObj[key]);
550
+ ? summaryTotalObj[key].map(function (v) { return getData_2(v); })
551
+ : getData_2(summaryTotalObj[key]);
333
552
  }
334
- if (lastFn) {
335
- summaryTotalObj[key] = lastFn(summaryTotalObj[key]);
553
+ if (lastFn_2) {
554
+ var getData = function (v) {
555
+ if (isDecimal) {
556
+ try {
557
+ if (Array.isArray(v)) {
558
+ return lastFn_2(v);
559
+ }
560
+ return toThousand(processNumber(v));
561
+ }
562
+ catch (err) {
563
+ return lastFn_2(v);
564
+ }
565
+ }
566
+ return lastFn_2(v);
567
+ };
568
+ summaryTotalObj[key] = getData(summaryTotalObj[key]);
569
+ }
570
+ if (!fn_2 && !lastFn_2) {
571
+ var getData = function (v) {
572
+ if (isDecimal) {
573
+ try {
574
+ if (Array.isArray(v)) {
575
+ return v;
576
+ }
577
+ return toThousand(processNumber(v));
578
+ }
579
+ catch (err) {
580
+ return v;
581
+ }
582
+ }
583
+ return v;
584
+ };
585
+ summaryTotalObj[key] = getData(summaryTotalObj[key]);
336
586
  }
337
587
  }
338
588
  });
@@ -13,6 +13,14 @@ export interface IZtxkConfig {
13
13
  * 前提条件是,字段值是数字类型(这个规则组件内部会实现)
14
14
  */
15
15
  tableNumberFormatter?: (text: string) => boolean | null | undefined | void;
16
+ /**
17
+ * 处理显示的自定义小数位字段
18
+ */
19
+ isCustomDecimalField?: (fieldName: string, column: any) => boolean;
20
+ /**
21
+ * 显示自定义小数位字段渲染逻辑
22
+ */
23
+ customDecimalFieldRender?: (text: any, record: any, index: any) => any;
16
24
  }
17
25
  declare const ZtxkContext: React.Context<IZtxkConfig>;
18
26
  export default ZtxkContext;
@@ -4,6 +4,8 @@ var ztxkConfig = {
4
4
  fileBaseUrl: '',
5
5
  numberInputAddThousandth: false,
6
6
  tableNumberFormatter: undefined,
7
+ isCustomDecimalField: undefined,
8
+ customDecimalFieldRender: undefined,
7
9
  };
8
10
  var ZtxkContext = React.createContext(ztxkConfig);
9
11
  export default ZtxkContext;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 处理数字的小数位。如果数字有多位保留多位。
3
+ * @param value
4
+ * @param defaultPrecision
5
+ * @returns
6
+ */
7
+ export default function processNumber(value: any, defaultPrecision?: number): any;
8
+ /**
9
+ * 获取数字的小数位 如果传入的数字小数位大于默认值,那么取传入的数字小数位
10
+ * 如果小于默认值,那么取默认值小数位
11
+ */
12
+ export declare function getNumberPricision(key: any, num: any, defaultPrecision?: number): number;
@@ -0,0 +1,106 @@
1
+ // 检查是否为合法数字
2
+ function isNumber(val) {
3
+ if (val == null) {
4
+ return false;
5
+ }
6
+ if (typeof val === 'number') {
7
+ return true;
8
+ }
9
+ var toNum = Number(val);
10
+ if (!isNaN(toNum)) {
11
+ return true;
12
+ }
13
+ return false;
14
+ }
15
+ /**
16
+ * 处理数字的小数位。如果数字有多位保留多位。
17
+ * @param value
18
+ * @param defaultPrecision
19
+ * @returns
20
+ */
21
+ export default function processNumber(value, defaultPrecision) {
22
+ if (defaultPrecision === void 0) { defaultPrecision = 2; }
23
+ // 检查是否为合法数字
24
+ var num = parseFloat(value);
25
+ if (isNaN(num)) {
26
+ return value; // 非数字值直接返回
27
+ }
28
+ // 处理整数情况
29
+ if (Number.isInteger(num)) {
30
+ return num.toFixed(defaultPrecision);
31
+ }
32
+ // 处理小数情况
33
+ var numStr = num.toString();
34
+ var precision = 0;
35
+ // 处理科学计数法
36
+ if (numStr.includes('e')) {
37
+ var _a = numStr.split('e'), exp = _a[1];
38
+ var exponent = parseInt(exp);
39
+ if (exponent < 0) {
40
+ precision = Math.abs(exponent);
41
+ }
42
+ }
43
+ else if (numStr.includes('.')) {
44
+ // 普通小数获取小数位数
45
+ precision = numStr.split('.')[1].length;
46
+ }
47
+ // 应用默认小数位逻辑
48
+ if (precision < defaultPrecision) {
49
+ return num.toFixed(defaultPrecision);
50
+ }
51
+ // 移除末尾多余的0
52
+ return numStr.replace(/0+$/, '').replace(/\.$/, '');
53
+ }
54
+ /**
55
+ * 获取数字的小数位 如果传入的数字小数位大于默认值,那么取传入的数字小数位
56
+ * 如果小于默认值,那么取默认值小数位
57
+ */
58
+ export function getNumberPricision(key, num, defaultPrecision) {
59
+ if (defaultPrecision === void 0) { defaultPrecision = 0; }
60
+ var isResultNumber = false;
61
+ try {
62
+ // 结尾匹配的关键词 数量
63
+ var endKeywords = [
64
+ 'Quantity',
65
+ 'QuantityTotal',
66
+ 'QuantityBatch',
67
+ 'Quantitys',
68
+ 'quantity',
69
+ ];
70
+ // 检查是否以 endKeywords 中的任意关键词结尾
71
+ var endsWithKeyword = endKeywords.some(function (keyword) { var _a; return (_a = key === null || key === void 0 ? void 0 : key.endsWith) === null || _a === void 0 ? void 0 : _a.call(key, keyword); });
72
+ isResultNumber = endsWithKeyword;
73
+ }
74
+ catch (err) {
75
+ //
76
+ }
77
+ if (!isResultNumber) {
78
+ return defaultPrecision;
79
+ }
80
+ if (!isNumber(num)) {
81
+ return defaultPrecision;
82
+ }
83
+ // 处理小数情况
84
+ var numStr = num.toString();
85
+ var precision = 0;
86
+ // 处理科学计数法
87
+ if (numStr.includes('e')) {
88
+ var _a = numStr.split('e'), exp = _a[1];
89
+ var exponent = parseInt(exp);
90
+ if (exponent < 0) {
91
+ precision = Math.abs(exponent);
92
+ }
93
+ }
94
+ else if (numStr.includes('.')) {
95
+ // 普通小数获取小数位数
96
+ precision = numStr.split('.')[1].length;
97
+ }
98
+ if (precision < defaultPrecision) {
99
+ return defaultPrecision;
100
+ }
101
+ // 最大4位(防止计算出现浮点数导致一些问题)
102
+ if (precision > 4) {
103
+ return 4;
104
+ }
105
+ return precision;
106
+ }
package/dist/index.css CHANGED
@@ -1390,6 +1390,9 @@ template {
1390
1390
  align-items: center;
1391
1391
  justify-content: space-between;
1392
1392
  }
1393
+ .zt-table_sorter .sorter_title {
1394
+ flex: 1;
1395
+ }
1393
1396
  .zt-table_sorter .sorter_icon {
1394
1397
  color: #bfbfbf;
1395
1398
  font-size: 0;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/styles/index.scss","../src/styles/_variables.scss","../src/styles/_reboot.scss","../src/styles/_common.scss","../src/components/Button/_style.scss","../src/components/Tabs/_style.scss","../src/components/Modal/_style.scss","../src/components/Pagination/_style.scss","../src/components/business/Container/_style.scss","../src/components/business/SearchContainer/_style.scss","../src/components/business/Footer/_style.scss","../src/components/Table/_style.scss","../src/components/Select/_style.scss","../src/components/Sortable/_style.scss","../src/components/business/List/_styles.scss","../src/components/Upload/_style.scss","../src/components/business/DetailHeader/_style.scss","../src/components/business/DetailCard/_style.scss","../src/components/business/DetailList/_style.scss","../src/components/Collapse/_style.scss","../src/components/business/GridList/_styles.scss","../src/components/Timeline/_styles.scss","../src/components/Tag/_style.scss","../src/components/business/NewList/_styles.scss","../src/components/business/Analyse/_styles.scss","../src/components/business/SortList/_styles.scss","../src/components/PrintContainer/_style.scss","../src/components/EnhanceSelect/_style.scss","../src/components/business/Signatures/_style.scss","../src/components/business/CodeQuery/_styles.scss","../src/components/Input/_style.scss","../src/components/WorkflowPrintContainer/_style.scss","../src/components/Watermark/_style.scss"],"names":[],"mappings":"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A;;AACA;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA;;AACA;EACE,OJ5CC;;;AKTT;EACE;;AACA;EACE;EACA,OAPiB;EAQjB,QARiB;;AASjB;EACE,OAVe;EAWf,QAXe;EAYf,aAZe;EAaf;;AAGJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAGJ;EACE;;AAEF;EACE;EACA;EACA;;;ACjCN;EACE,WNsCa;;AMrCb;EACE;EACA;EACA;EACA,ONHG;EMIH;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;;AAGJ;EACE;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA,YNlBA;;AMsBF;EACE;EACA,ONxBA;EMyBA,YNjCE;;AMoCN;EACE;EACA;EACA;;AAGJ;EACE;EACA;EACA;;AACA;EAGE;EACA,ON1CE;EM2CF,YNnDI;;AMoDJ;EACE,ON7CA;;AMiDN;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAIE;EACE;EACA;EACA;EACA,YNjEA;;AMqEF;EACE;EACA,ONvEA;EMwEA,YNhFE;;AMmFN;EACE;;AAGJ;EACE,ONvFG;;AMyFL;EACE;EACA,WNxDW;;;AOtCf;EACE;;AAEA;EACE;EACA;;AAEF;EACE;EACA;EACA,kBPSM;EORN;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAGJ;EAUE;EACA;;AAPA;EACE,aPyBI;;AOvBN;EACE,gBPsBI;;AOlBN;EACE,cPgBG;;AOfH;EACE;;AAGJ;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA,WPXS;;AOYT;EACE;EACA;EACA;;;ACtDR;EACE;EACA;EACA;EACA,YRMM;EQLN;;AACA;EACE,YRFS;EQGT;EACA;;AACA;AAAA;EAEE;;AAGJ;EACE;;AAEF;EAGE;EACA;;AACA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEF;EACE;EAGA;EACA;EACA;AAoEA;AAwBA;AAyCA;AAUA;AAaA;AAUA;AAcA;AAaA;;AAhMA;EACE;AAiCA;;AAhCA;EACE;;AAEF;EACE;EACA;;AAEF;EACE;;AAEF;AAAA;EAIE;EACA;;AAEF;AAAA;EAEE;EACA;;AAEF;AAAA;EAEE;EACA;;AAEF;AAAA;EAEE;EACA;;AAKA;AAAA;AAAA;EAEE;;AAEF;EACE;;AAEF;EACE;;AAEF;AAAA;AAAA;EAEE;;AAEF;AAAA;AAAA;EAEE;;AAEF;EACE;;AAEF;EACE;;AAGJ;AAAA;EAEE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAQE;EACA;;AAKF;AAAA;EAEE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;AAAA;EAEE;;AAGA;AAAA;EAEE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAKN;EACE;EACA;;AAEF;EAEE;AACA;;AAGF;EACE;EACA;;AACA;EACE;EACA;;AAGJ;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AACA;EACE;EACA;;AAIJ;EACE;EACA;EACA;;AACA;EACE;AACA;;AAEF;EAEE;;AAIJ;EACE;EACA;EACA;AACA;AAAA;AAAA;AAAA;;AAKF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;;AAEF;AAAA;EAEE;;AACA;AAAA;EACE;;AAIF;AAAA;AAAA;AAGE;EACA;;AAEF;AAAA;EAGE;;AAEF;AAAA;AAAA;AAAA;EAIE;;AAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAMJ;AAAA;EAEE;;AACA;AAAA;EACE;;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAON;AAAA;EAEE;;AAGF;AAAA;EAEE;EACA;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAKR;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAGJ;EACE;;AACA;EACE;EACA;;AACA;EACE;;;AAON;EACE;;AAEE;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;AACA;EACE;;AAMV;EACE;;AACA;EACE;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;;AChaN;EACE;EACA,YTQM;ESPN,QTqDc;ESpDd,aToDc;ESnDd;EACA;EACA;;AAEE;EACE,cTyCG;;ASxCH;EACE;;AAKJ;EACE;;AAEF;EACE,kBTqCW;ESpCX,cTqCU;ESpCV,OTsCa;;ASrCb;EACE,kBTkCQ;ESjCR,cTiCQ;EShCR,OTiCW;;;AU5DnB;AAgFE;AAIA;;AAnFA;EACE;;AACA;EACE;;AACA;EACE;;AACA;EACE;;AACA;EACE;EACA;EACA;;AACA;EACE;EACA;;AAOZ;EACE;;AACA;EACE;;AAGJ;EACE;;AAEF;EACE;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;AAAA;EAEE,WVxBW;EUyBX,OVrDO;EUsDP;;AAEF;EACE;EACA;;AAEF;EACE,YV/Da;;AUgEb;EACE;;AAGJ;EACE;;AAGF;EACE;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;;AACA;AAAA;AAAA;EACE;;AAQJ;EACE;;AACA;EACE;EACA;;AAIJ;EAIE;EACA;;AACA;EACE;;AAGJ;EACE;EACA;;AAGF;EACE,kBVtHU;;AUyHZ;EACE;EACA,OVjHK;;AUoHP;AAAA;EAEE,WV/FW;EUgGX,aVhGW;EUiGX,OV3HO;;AU4HP;AAAA;EACE,OVxII;;AU4IR;EACE,WVlGa;EUmGb,OVnIO;EUoIP;;AACA;EACE,OVjJI;;;AUuJV;EACE;;AACA;EACE;;AAEF;EACE;;AAEE;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;AACA;EACE;;AAMV;EACE;;AAEA;EACE;EACA;EACA;;AACA;EACE;EACA,WVlJO;EUmJP,OV7KG;;AUiLP;EACE;;AACA;EACE;EACA;EACA;EACA;EACA,WV9JO;;AU+JP;EACE,WVhKK;;AUkKP;EACE;;AAKN;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;;AAOR;EACE;EACA,WV1La;;AU2Lb;AAAA;AAAA;AAAA;EAME;;AAEF;EACE;;AAEF;EACE;;AACA;EACE;;AAGJ;EACE;EACA;;AACA;EACE;;AAGJ;AAAA;EAEE;;AACA;AAAA;EACE;;AAGJ;EACE;;;AAKJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AACA;EACE;EACA;EACA;EACA;;;AAKN;EACE;;AACA;EACE;;AAEF;EACE;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;;AAKE;EACE;EACA;;AAEF;EAEE;;;AC/UN;EACE;;;ACDF;EACE;EACA;EACA;EACA;EACA,WZkCa;EYjCb;EACA;;AACA;EACE,WZ8BW;;AY5Bb;EACE;;;ACZJ;EACE;EACA;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;;;AAIN;EACE;;;AC7BF;EACE;EACA;EACA;;AACA;EACE;;AAEF;EACE,cd2CK;Ec1CL,Wd8BW;;Ac5Bb;EACE;EACA;;AAEF;EACE;EACA;;;AAIF;EACE;EACA;;AAEF;EACE;;;AC1BJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;;AC7BN;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIN;EACE;;AAEE;EACE;;AAGJ;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;;;ACzEN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;AAAA;EAEE;;;AAEF;EACE;;;AAKE;EACE;;AAIF;EACE;;AACA;EACE;EACA;EACA;EACA;;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAGJ;EACE;;;ACzCJ;EACE;;AAKA;EACE;;AACA;EACE;EACA;EACA;EACA;EACA,YlBbH;EkBcG;EACA;EACA;EACA;;AAMN;EACE,kBlBrBQ;;AkByBV;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE,OlB1BG;;AkB2BH;EACE;EACA;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE,YlB9CE;;AkB+CF;EACE;;;ACzDN;EACE;EACA;EACA;;AACA;EACE;;AACA;EACE;;AAEF;EACE;EACA;;AAGJ;EACE;;AAEF;EACE;;AAIF;EACE,YnBhBS;;AmBmBb;EACE;EACA,WnBUW;EmBTX;EACA;;AACA;EACE;EACA;EACA;EACA,OnBzBK;EmB0BL;EACA;;AAEF;EACE;EACA;EACA;EACA,OnBjCK;;AmBmCP;EACE;EACA;EACA;EACA;;;ACjDJ;EACE,OpBCG;EoBAH;EACA,kBpBDG;;AoBGL;EACE,mBpBHK;;;AqBJT;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;;;ACfF;EACE;;AACA;EACE;;AAEF;EACE;EACA;;AACA;EACE;;AAKJ;EACE,YtBRS;;AsBWb;EACE;EACA,WtBmBW;EsBlBX;;AACA;EACE;EACA;EACA,OtBdK;EsBeL;EACA;;AACA;EACE;EACA;;AAQF;EACE;;AAGJ;EACE;;AAEF;EACE;EACA;EACA,OtBtCK;;AsBwCP;EACE;EACA;EACA;;AAQF;EACE;;;AC9DJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAKN;EACE;;AAEF;EACE;;AACA;EACE;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;;;ACnEN;EACE;EACA;;;AAIA;EACE;;AAEF;EACE;;AACA;EACE;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;;ACxBN;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;;AAIN;EACE;;;AAEF;EACE;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EAEA;;;AAGJ;EACE;EAEA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EAEE;IACE;;EAGF;IACE;IACA;;EAEF;IACE;IACA;;EAGF;IACE;;EAEE;IACE;IACA;;EAKN;IACE;;;;AAUN;EACE;IACE;IACA;;;EAQF;IACE;IACA;;;ACxHJ;EACE;EACA;EACA;EACA;EACA;EACA;;;ACNF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;AACA;EACE;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;;AClCF;EACE;EACA;;AACA;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIN;EACE;;AAEF;EACE;EACA;;;AC7BF;EACE;;;AAGJ;EACE;;;AAKE;EACE;;AAIF;EACE;;;ACjBN;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;;AAMV;EACE;AAAkB;EAClB;AAAkB;EAClB;AAAkB;EAClB;AAAuB;EACvB;AAAuB;EACvB;AAAwB;EACxB;AAAc;EACd;AAAiB;;;AAEnB;EACE;EACA;EACA;;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAON;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAON;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;AAAkB;EAClB;AAAqB;EACrB;AAAyB;;AAE3B;EAEE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIA;EACE;;;AAIJ;EACE;;AAEE;EACE;EACA;;AAEE;EACE;EACA;;;AClUN;EACE","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../src/styles/index.scss","../src/styles/_variables.scss","../src/styles/_reboot.scss","../src/styles/_common.scss","../src/components/Button/_style.scss","../src/components/Tabs/_style.scss","../src/components/Modal/_style.scss","../src/components/Pagination/_style.scss","../src/components/business/Container/_style.scss","../src/components/business/SearchContainer/_style.scss","../src/components/business/Footer/_style.scss","../src/components/Table/_style.scss","../src/components/Select/_style.scss","../src/components/Sortable/_style.scss","../src/components/business/List/_styles.scss","../src/components/Upload/_style.scss","../src/components/business/DetailHeader/_style.scss","../src/components/business/DetailCard/_style.scss","../src/components/business/DetailList/_style.scss","../src/components/Collapse/_style.scss","../src/components/business/GridList/_styles.scss","../src/components/Timeline/_styles.scss","../src/components/Tag/_style.scss","../src/components/business/NewList/_styles.scss","../src/components/business/Analyse/_styles.scss","../src/components/business/SortList/_styles.scss","../src/components/PrintContainer/_style.scss","../src/components/EnhanceSelect/_style.scss","../src/components/business/Signatures/_style.scss","../src/components/business/CodeQuery/_styles.scss","../src/components/Input/_style.scss","../src/components/WorkflowPrintContainer/_style.scss","../src/components/Watermark/_style.scss"],"names":[],"mappings":";AAAQ;ACCR;AAyBA;AAgBA;AAYA;ACtDA;AAEA;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;AAAmB;EACnB;AAAgC;;;AAGlC;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;EACE;AAAyB;EACzB;AAAW;EACX;AAAmB;;;AAGrB;AAAA;AAAA;AAAA;AAKA;EACE;AAAmC;EACnC;AAAgB;;;AAGlB;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;AAAqB;EACrB;AAA4B;EAC5B;AAAmC;;;AAGrC;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;EAGE;AAAmC;EACnC;AAAgB;;;AAGlB;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAAA;AAKA;AAAA;AAAA;AAAA;AAAA;EAKE;AAAsB;EACtB;AAAiB;EACjB;AAAmB;EACnB;AAAW;;;AAGb;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;AAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;AAAwB;EACxB;AAAgB;EAChB;AAAgB;EAChB;AAAiB;EACjB;AAAY;EACZ;AAAqB;;;AAGvB;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;AAAwB;EACxB;AAAY;;;AAGd;AAAA;AAAA;AAIA;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;AAA+B;EAC/B;AAAsB;;;AAGxB;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAKA;EACE;AAA4B;EAC5B;AAAe;;;AAGjB;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAGA;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AC1VF;EACE;;;AAIF;EACE;EAeA;;AAdA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAOF;EACE;EACA;EACA;;AACA;EACE;;AAGJ;EACE;;;AAIJ;EACE;EACA;EACA;;;AC7BF;AAAA;EAEE,QAlBe;EAmBf,aAfoB;EAgBpB,WHkBa;EGjBb,SATgB;EAUhB,eH2Bc;EG1Bd;;;AAIE;EACE;EACA;EACA;EACA;;;AAIN;EACE,QAnCa;EAoCb,aAhCkB;EAiClB,WA7BgB;EA8BhB,SA1Bc;;;AA4BhB;EACE,QAxCa;EAyCb,aArCkB;EAsClB,WAlCgB;EAmChB,SA/Bc;;;AAkChB;AAAA;EAEE;EACA;EACA;;AACA;AAAA;AAAA;EAEE;EACA;EACA;;AAEF;AAAA;EACE;EACA;EACA;;;AAIJ;AAAA;AAAA;EAGE,kBHlEK;EGmEL,OH5DM;EG6DN,cHpEK;;AGqEL;AAAA;AAAA;EACE,kBHvEM;EGwEN,OHhEI;EGiEJ,cHxEG;;AG0EL;AAAA;AAAA;EACE,kBH3EG;EG4EH,OHrEI;EGsEJ,cH7EG;;;AGiFP;EACE,OHnFQ;;AGoFR;EACE,OHpFG;;AGsFL;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;;AAKN;EACE;EACA;EACA;;AACA;EACE;EACA;;;AAKF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;EACA;;;AClIE;EACE;;AAIF;EACE;;AAGJ;EACE;EACA;;AAGA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA;;AACA;EACE,OJ5CC;;;AKTT;EACE;;AACA;EACE;EACA,OAPiB;EAQjB,QARiB;;AASjB;EACE,OAVe;EAWf,QAXe;EAYf,aAZe;EAaf;;AAGJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAGJ;EACE;;AAEF;EACE;EACA;EACA;;;ACjCN;EACE,WNsCa;;AMrCb;EACE;EACA;EACA;EACA,ONHG;EMIH;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;;AAGJ;EACE;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA,YNlBA;;AMsBF;EACE;EACA,ONxBA;EMyBA,YNjCE;;AMoCN;EACE;EACA;EACA;;AAGJ;EACE;EACA;EACA;;AACA;EAGE;EACA,ON1CE;EM2CF,YNnDI;;AMoDJ;EACE,ON7CA;;AMiDN;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAIE;EACE;EACA;EACA;EACA,YNjEA;;AMqEF;EACE;EACA,ONvEA;EMwEA,YNhFE;;AMmFN;EACE;;AAGJ;EACE,ONvFG;;AMyFL;EACE;EACA,WNxDW;;;AOtCf;EACE;;AAEA;EACE;EACA;;AAEF;EACE;EACA;EACA,kBPSM;EORN;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAGJ;EAUE;EACA;;AAPA;EACE,aPyBI;;AOvBN;EACE,gBPsBI;;AOlBN;EACE,cPgBG;;AOfH;EACE;;AAGJ;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA,WPXS;;AOYT;EACE;EACA;EACA;;;ACtDR;EACE;EACA;EACA;EACA,YRMM;EQLN;;AACA;EACE,YRFS;EQGT;EACA;;AACA;AAAA;EAEE;;AAGJ;EACE;;AAEF;EAGE;EACA;;AACA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEF;EACE;EAGA;EACA;EACA;AAoEA;AAwBA;AAyCA;AAUA;AAaA;AAUA;AAcA;AAaA;;AAhMA;EACE;AAiCA;;AAhCA;EACE;;AAEF;EACE;EACA;;AAEF;EACE;;AAEF;AAAA;EAIE;EACA;;AAEF;AAAA;EAEE;EACA;;AAEF;AAAA;EAEE;EACA;;AAEF;AAAA;EAEE;EACA;;AAKA;AAAA;AAAA;EAEE;;AAEF;EACE;;AAEF;EACE;;AAEF;AAAA;AAAA;EAEE;;AAEF;AAAA;AAAA;EAEE;;AAEF;EACE;;AAEF;EACE;;AAGJ;AAAA;EAEE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAQE;EACA;;AAKF;AAAA;EAEE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;AAAA;EAEE;;AAGA;AAAA;EAEE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAKN;EACE;EACA;;AAEF;EAEE;AACA;;AAGF;EACE;EACA;;AACA;EACE;EACA;;AAGJ;AAAA;EAEE;;AAGF;EACE;EACA;EACA;;AACA;EACE;EACA;;AAIJ;EACE;EACA;EACA;;AACA;EACE;AACA;;AAEF;EAEE;;AAIJ;EACE;EACA;EACA;AACA;AAAA;AAAA;AAAA;;AAKF;EACE;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;;AAEF;AAAA;EAEE;;AACA;AAAA;EACE;;AAIF;AAAA;AAAA;AAGE;EACA;;AAEF;AAAA;EAGE;;AAEF;AAAA;AAAA;AAAA;EAIE;;AAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAMJ;AAAA;EAEE;;AACA;AAAA;EACE;;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;;AAON;AAAA;EAEE;;AAGF;AAAA;EAEE;EACA;;AAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOE;EACA;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAKR;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAGJ;EACE;;AACA;EACE;EACA;;AACA;EACE;;;AAON;EACE;;AAEE;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;AACA;EACE;;AAMV;EACE;;AACA;EACE;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;;AChaN;EACE;EACA,YTQM;ESPN,QTqDc;ESpDd,aToDc;ESnDd;EACA;EACA;;AAEE;EACE,cTyCG;;ASxCH;EACE;;AAKJ;EACE;;AAEF;EACE,kBTqCW;ESpCX,cTqCU;ESpCV,OTsCa;;ASrCb;EACE,kBTkCQ;ESjCR,cTiCQ;EShCR,OTiCW;;;AU5DnB;AAgFE;AAIA;;AAnFA;EACE;;AACA;EACE;;AACA;EACE;;AACA;EACE;;AACA;EACE;EACA;EACA;;AACA;EACE;EACA;;AAOZ;EACE;;AACA;EACE;;AAGJ;EACE;;AAEF;EACE;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;AAAA;EAEE,WVxBW;EUyBX,OVrDO;EUsDP;;AAEF;EACE;EACA;;AAEF;EACE,YV/Da;;AUgEb;EACE;;AAGJ;EACE;;AAGF;EACE;;AAGF;AAAA;AAAA;EAGE;EACA;EACA;;AACA;AAAA;AAAA;EACE;;AAQJ;EACE;;AACA;EACE;EACA;;AAIJ;EAIE;EACA;;AACA;EACE;;AAGJ;EACE;EACA;;AAGF;EACE,kBVtHU;;AUyHZ;EACE;EACA,OVjHK;;AUoHP;AAAA;EAEE,WV/FW;EUgGX,aVhGW;EUiGX,OV3HO;;AU4HP;AAAA;EACE,OVxII;;AU4IR;EACE,WVlGa;EUmGb,OVnIO;EUoIP;;AACA;EACE,OVjJI;;;AUuJV;EACE;;AACA;EACE;;AAEF;EACE;;AAEE;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;AACA;EACE;;AAMV;EACE;;AAEA;EACE;EACA;EACA;;AACA;EACE;EACA,WVlJO;EUmJP,OV7KG;;AUiLP;EACE;;AACA;EACE;EACA;EACA;EACA;EACA,WV9JO;;AU+JP;EACE,WVhKK;;AUkKP;EACE;;AAKN;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;;AAOR;EACE;EACA,WV1La;;AU2Lb;AAAA;AAAA;AAAA;EAME;;AAEF;EACE;;AAEF;EACE;;AACA;EACE;;AAGJ;EACE;EACA;;AACA;EACE;;AAGJ;AAAA;EAEE;;AACA;AAAA;EACE;;AAGJ;EACE;;;AAKJ;EACE;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAKJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AACA;EACE;EACA;EACA;EACA;;;AAKN;EACE;;AACA;EACE;;AAEF;EACE;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;;AAKE;EACE;EACA;;AAEF;EAEE;;;AClVN;EACE;;;ACDF;EACE;EACA;EACA;EACA;EACA,WZkCa;EYjCb;EACA;;AACA;EACE,WZ8BW;;AY5Bb;EACE;;;ACZJ;EACE;EACA;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;;;AAIN;EACE;;;AC7BF;EACE;EACA;EACA;;AACA;EACE;;AAEF;EACE,cd2CK;Ec1CL,Wd8BW;;Ac5Bb;EACE;EACA;;AAEF;EACE;EACA;;;AAIF;EACE;EACA;;AAEF;EACE;;;AC1BJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;;AC7BN;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIN;EACE;;AAEE;EACE;;AAGJ;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;;;ACzEN;EACE;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;AAAA;EAEE;;;AAEF;EACE;;;AAKE;EACE;;AAIF;EACE;;AACA;EACE;EACA;EACA;EACA;;AACA;AAAA;EAEE;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAGJ;EACE;;;ACzCJ;EACE;;AAKA;EACE;;AACA;EACE;EACA;EACA;EACA;EACA,YlBbH;EkBcG;EACA;EACA;EACA;;AAMN;EACE,kBlBrBQ;;AkByBV;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE,OlB1BG;;AkB2BH;EACE;EACA;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE,YlB9CE;;AkB+CF;EACE;;;ACzDN;EACE;EACA;EACA;;AACA;EACE;;AACA;EACE;;AAEF;EACE;EACA;;AAGJ;EACE;;AAEF;EACE;;AAIF;EACE,YnBhBS;;AmBmBb;EACE;EACA,WnBUW;EmBTX;EACA;;AACA;EACE;EACA;EACA;EACA,OnBzBK;EmB0BL;EACA;;AAEF;EACE;EACA;EACA;EACA,OnBjCK;;AmBmCP;EACE;EACA;EACA;EACA;;;ACjDJ;EACE,OpBCG;EoBAH;EACA,kBpBDG;;AoBGL;EACE,mBpBHK;;;AqBJT;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;;;ACfF;EACE;;AACA;EACE;;AAEF;EACE;EACA;;AACA;EACE;;AAKJ;EACE,YtBRS;;AsBWb;EACE;EACA,WtBmBW;EsBlBX;;AACA;EACE;EACA;EACA,OtBdK;EsBeL;EACA;;AACA;EACE;EACA;;AAQF;EACE;;AAGJ;EACE;;AAEF;EACE;EACA;EACA,OtBtCK;;AsBwCP;EACE;EACA;EACA;;AAQF;EACE;;;AC9DJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;;AAKN;EACE;;AAEF;EACE;;AACA;EACE;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;;;ACnEN;EACE;EACA;;;AAIA;EACE;;AAEF;EACE;;AACA;EACE;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;;ACxBN;EACE;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;EACA;;AAEF;EACE;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;;AAIN;EACE;;;AAEF;EACE;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EAEA;;;AAGJ;EACE;EAEA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EAEE;IACE;;EAGF;IACE;IACA;;EAEF;IACE;IACA;;EAGF;IACE;;EAEE;IACE;IACA;;EAKN;IACE;;;;AAUN;EACE;IACE;IACA;;;EAQF;IACE;IACA;;;ACxHJ;EACE;EACA;EACA;EACA;EACA;EACA;;;ACNF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;AACA;EACE;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;;AClCF;EACE;EACA;;AACA;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIN;EACE;;AAEF;EACE;EACA;;;AC7BF;EACE;;;AAGJ;EACE;;;AAKE;EACE;;AAIF;EACE;;;ACjBN;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;;AAMV;EACE;AAAkB;EAClB;AAAkB;EAClB;AAAkB;EAClB;AAAuB;EACvB;AAAuB;EACvB;AAAwB;EACxB;AAAc;EACd;AAAiB;;;AAEnB;EACE;EACA;EACA;;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAON;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAON;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;AAAkB;EAClB;AAAqB;EACrB;AAAyB;;AAE3B;EAEE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAIA;EACE;;;AAIJ;EACE;;AAEE;EACE;EACA;;AAEE;EACE;EACA;;;AClUN;EACE","file":"index.css"}
package/dist/index.js CHANGED
@@ -27,6 +27,7 @@
27
27
  // import CodeQueryDemo from './DemoCom/CodeQueryDemo';
28
28
  // import SyhDemo from './DemoCom/SyhDemo';
29
29
  // import ZtxkContext from './components/utils/ZtxkContext';
30
+ // import processNumber from './components/utils/processNumber';
30
31
  // dayjs.locale(zhCn);
31
32
  // /**
32
33
  // * 表格中有些字段需要自动加上千分符,这里以context来指定组件行为
@@ -83,6 +84,35 @@
83
84
  // apiBaseUrl: 'http://base-test.zmdms.com.cn:30079/',
84
85
  // fileBaseUrl: 'http://preview-test.zmdms.com.cn:30079/',
85
86
  // tableNumberFormatter,
87
+ // /**
88
+ // * 处理显示的自定义小数位字段。
89
+ // * 如果命中了这个逻辑,那么有几位小数,就显示几位小数。
90
+ // * 这个配置也会影响到小计、合计列。
91
+ // */
92
+ // isCustomDecimalField: (fieldName: string, column: any) => {
93
+ // try {
94
+ // // 结尾匹配的关键词 数量
95
+ // const endKeywords = ['test101'];
96
+ // // 检查是否以 endKeywords 中的任意关键词结尾
97
+ // const endsWithKeyword = endKeywords.some((keyword) =>
98
+ // fieldName?.endsWith?.(keyword)
99
+ // );
100
+ // return endsWithKeyword;
101
+ // } catch (err) {
102
+ // return false;
103
+ // }
104
+ // },
105
+ // /**
106
+ // * 数据有多少位小数,就显示多少位小数
107
+ // */
108
+ // customDecimalFieldRender: (text, record, index) => {
109
+ // try {
110
+ // /** 最少保持3位小数 */
111
+ // return processNumber(text);
112
+ // } catch (err) {
113
+ // return text;
114
+ // }
115
+ // },
86
116
  // };
87
117
  // ReactDOM.render(
88
118
  // // <React.StrictMode>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztxkui",
3
- "version": "4.2.18-67",
3
+ "version": "4.2.18-69",
4
4
  "private": false,
5
5
  "description": "React components library",
6
6
  "author": "zt-front-end",