@zat-design/sisyphus-react 4.0.0-beta.3 → 4.0.0-beta.4
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.
- package/babel.config.js +7 -30
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/regExp/index.d.ts +19 -0
- package/dist/esm/regExp/index.js +73 -0
- package/dist/esm/tools/calc/index.d.ts +4 -0
- package/dist/esm/tools/calc/index.js +67 -0
- package/dist/esm/tools/dateUtils.d.ts +7 -0
- package/dist/esm/tools/dateUtils.js +23 -0
- package/dist/esm/tools/disableDate/index.d.ts +9 -0
- package/dist/esm/tools/disableDate/index.js +43 -0
- package/dist/esm/tools/disableTimeRange/index.d.ts +9 -0
- package/dist/esm/tools/disableTimeRange/index.js +121 -0
- package/dist/esm/tools/formatAmount/index.d.ts +7 -0
- package/dist/esm/tools/formatAmount/index.js +14 -0
- package/dist/esm/tools/formatPerMill/index.d.ts +7 -0
- package/dist/esm/tools/formatPerMill/index.js +11 -0
- package/dist/esm/tools/formatPercent/index.d.ts +7 -0
- package/dist/esm/tools/formatPercent/index.js +11 -0
- package/dist/esm/tools/getDataByIdCard/index.d.ts +16 -0
- package/dist/esm/tools/getDataByIdCard/index.js +65 -0
- package/dist/esm/tools/index.d.ts +12 -0
- package/dist/esm/tools/index.js +14 -0
- package/dist/esm/tools/sumAmount/index.d.ts +16 -0
- package/dist/esm/tools/sumAmount/index.js +40 -0
- package/dist/esm/tools/toChineseNum/index.d.ts +7 -0
- package/dist/esm/tools/toChineseNum/index.js +103 -0
- package/dist/esm/tools/toFixed/index.d.ts +2 -0
- package/dist/esm/tools/toFixed/index.js +5 -0
- package/dist/esm/tools/transformDataName/index.d.ts +12 -0
- package/dist/esm/tools/transformDataName/index.js +37 -0
- package/dist/esm/transforms/dateTransformer/index.d.ts +24 -0
- package/dist/esm/transforms/dateTransformer/index.js +67 -0
- package/dist/esm/transforms/index.d.ts +6 -0
- package/dist/esm/transforms/index.js +6 -0
- package/dist/esm/transforms/propTypes.d.ts +7 -0
- package/dist/esm/transforms/propTypes.js +1 -0
- package/dist/esm/transforms/transformDate/index.d.ts +21 -0
- package/dist/esm/transforms/transformDate/index.js +141 -0
- package/dist/esm/transforms/transformDatePicker/index.d.ts +12 -0
- package/dist/esm/transforms/transformDatePicker/index.js +24 -0
- package/dist/esm/transforms/transformRangePicker/index.d.ts +29 -0
- package/dist/esm/transforms/transformRangePicker/index.js +61 -0
- package/dist/esm/transforms/transformSwitch/index.d.ts +13 -0
- package/dist/esm/transforms/transformSwitch/index.js +35 -0
- package/dist/esm/transforms/utils.d.ts +2 -0
- package/dist/esm/transforms/utils.js +8 -0
- package/dist/esm/validate/index.d.ts +107 -0
- package/dist/esm/validate/index.js +284 -0
- package/es/ProAction/index.less +0 -2
- package/es/ProConfigProvider/index.d.ts +1 -0
- package/es/ProConfigProvider/index.js +4 -5
- package/es/ProDownload/style/index.less +0 -2
- package/es/ProDrawerForm/index.js +33 -29
- package/es/ProDrawerForm/style/index.less +0 -2
- package/es/ProEditLabel/style/index.less +0 -2
- package/es/ProEditTable/components/RcTable/DraggableTable.js +1 -1
- package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +14 -2
- package/es/ProEditTable/propsType.d.ts +1 -1
- package/es/ProEditTable/style/index.less +2 -4
- package/es/ProEditTable/utils/diffOriginal.d.ts +1 -0
- package/es/ProEditTable/utils/diffOriginal.js +68 -1
- package/es/ProEnum/hooks/useEnum.js +5 -0
- package/es/ProEnum/style/index.less +0 -2
- package/es/ProForm/components/FormFooter/index.js +6 -6
- package/es/ProForm/components/base/DatePicker/index.js +19 -34
- package/es/ProForm/components/base/SwitchCheckbox/style/index.less +0 -2
- package/es/ProForm/components/base/TextArea/index.less +0 -2
- package/es/ProForm/components/base/TimePicker/style/index.less +0 -2
- package/es/ProForm/components/combination/Container/style/index.less +0 -2
- package/es/ProForm/components/combination/FormList/style/index.less +0 -2
- package/es/ProForm/components/combination/Group/component/ComRender.js +9 -8
- package/es/ProForm/components/combination/Group/hooks/index.js +17 -4
- package/es/ProForm/components/combination/Group/index.d.ts +8 -2
- package/es/ProForm/components/combination/Group/index.js +10 -16
- package/es/ProForm/components/combination/ProCascader/index.js +106 -52
- package/es/ProForm/components/combination/ProCascader/propsType.d.ts +12 -4
- package/es/ProForm/components/combination/ProCascader/style/index.less +1 -3
- package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +2 -4
- package/es/ProForm/components/combination/ProModalSelect/index.js +38 -64
- package/es/ProForm/components/combination/ProModalSelect/propsType.d.ts +7 -3
- package/es/ProForm/components/combination/ProModalSelect/style/index.less +1 -4
- package/es/ProForm/components/combination/ProNumberRange/style/index.less +4 -3
- package/es/ProForm/components/combination/ProTimeLimit/style/index.less +0 -2
- package/es/ProForm/components/render/ChangedWrapper.js +2 -2
- package/es/ProForm/components/render/Render.js +17 -5
- package/es/ProForm/components/render/RenderFields.d.ts +1 -0
- package/es/ProForm/components/render/RenderFields.js +4 -2
- package/es/ProForm/components/render/propsType.d.ts +1 -0
- package/es/ProForm/index.d.ts +2 -2
- package/es/ProForm/index.js +5 -2
- package/es/ProForm/propsType.d.ts +2 -0
- package/es/ProForm/style/index.less +0 -2
- package/es/ProForm/utils/diffOriginal.d.ts +1 -0
- package/es/ProForm/utils/diffOriginal.js +66 -1
- package/es/ProForm/utils/index.js +1 -1
- package/es/ProForm/utils/useShouldUpdate.d.ts +1 -0
- package/es/ProForm/utils/useShouldUpdate.js +89 -3
- package/es/ProIcon/style/index.less +0 -2
- package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +60 -8
- package/es/ProLayout/components/Layout/Menu/FoldMenu/style/index.less +0 -2
- package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +25 -3
- package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +3 -1
- package/es/ProLayout/components/Layout/Menu/SideMenu/style/index.less +0 -2
- package/es/ProLayout/components/Layout/Menu/index.js +4 -1
- package/es/ProLayout/components/Layout/Menu/style/index.less +0 -2
- package/es/ProLayout/components/Layout/Notice/style/index.less +0 -2
- package/es/ProLayout/components/ProCollapse/PropTypes.d.ts +8 -3
- package/es/ProLayout/components/ProCollapse/index.js +27 -3
- package/es/ProLayout/components/ProCollapse/style/index.less +148 -4
- package/es/ProLayout/components/ProFooter/style/index.less +0 -2
- package/es/ProLayout/components/ProHeader/components/ProBackBtn/style/index.less +0 -2
- package/es/ProLayout/components/ProHeader/style/index.less +0 -2
- package/es/ProLayout/index.d.ts +0 -11
- package/es/ProLayout/index.js +60 -32
- package/es/ProLayout/propTypes.d.ts +9 -0
- package/es/ProLayout/style/index.less +0 -2
- package/es/ProLayout/utils/index.d.ts +7 -0
- package/es/ProLayout/utils/index.js +30 -0
- package/es/ProSelect/index.less +0 -2
- package/es/ProSelect/utils/index.js +62 -1
- package/es/ProStep/components/Item/index.js +1 -2
- package/es/ProStep/style/index.less +0 -2
- package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +1 -1
- package/es/ProTable/hooks/useAntdTable.d.ts +3 -0
- package/es/ProTable/hooks/useAntdTable.js +92 -64
- package/es/ProTable/index.d.ts +3 -7
- package/es/ProTable/index.js +14 -14
- package/es/ProTable/propsType.d.ts +3 -2
- package/es/ProTable/style/index.less +4 -6
- package/es/ProTabs/style/index.less +0 -2
- package/es/ProThemeTools/index.d.ts +0 -7
- package/es/ProThemeTools/index.js +10 -12
- package/es/ProThemeTools/style/index.less +0 -2
- package/es/ProTooltip/style/index.less +0 -2
- package/es/ProTree/components/ProTreeSelect/style/index.less +0 -2
- package/es/ProTree/style/index.less +0 -2
- package/es/ProTreeModal/style/index.less +0 -2
- package/es/ProUpload/style/index.less +0 -2
- package/es/ProViewer/style/index.less +0 -2
- package/es/style/theme/antd.less +0 -2
- package/jest.config.js +46 -4
- package/lib/ProAction/index.less +0 -2
- package/lib/ProConfigProvider/index.d.ts +1 -0
- package/lib/ProConfigProvider/index.js +4 -3
- package/lib/ProDownload/style/index.less +0 -2
- package/lib/ProDrawerForm/index.js +25 -28
- package/lib/ProDrawerForm/style/index.less +0 -2
- package/lib/ProEditLabel/style/index.less +0 -2
- package/lib/ProEditTable/components/RcTable/DraggableTable.js +1 -1
- package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +10 -2
- package/lib/ProEditTable/propsType.d.ts +1 -1
- package/lib/ProEditTable/style/index.less +2 -4
- package/lib/ProEditTable/utils/diffOriginal.d.ts +1 -0
- package/lib/ProEditTable/utils/diffOriginal.js +48 -1
- package/lib/ProEnum/hooks/useEnum.js +3 -0
- package/lib/ProEnum/style/index.less +0 -2
- package/lib/ProForm/components/FormFooter/index.js +6 -5
- package/lib/ProForm/components/base/DatePicker/index.js +21 -33
- package/lib/ProForm/components/base/SwitchCheckbox/style/index.less +0 -2
- package/lib/ProForm/components/base/TextArea/index.less +0 -2
- package/lib/ProForm/components/base/TimePicker/style/index.less +0 -2
- package/lib/ProForm/components/combination/Container/style/index.less +0 -2
- package/lib/ProForm/components/combination/FormList/style/index.less +0 -2
- package/lib/ProForm/components/combination/Group/component/ComRender.js +8 -7
- package/lib/ProForm/components/combination/Group/hooks/index.js +8 -2
- package/lib/ProForm/components/combination/Group/index.d.ts +8 -2
- package/lib/ProForm/components/combination/Group/index.js +8 -13
- package/lib/ProForm/components/combination/ProCascader/index.js +73 -16
- package/lib/ProForm/components/combination/ProCascader/propsType.d.ts +12 -4
- package/lib/ProForm/components/combination/ProCascader/style/index.less +1 -3
- package/lib/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +2 -2
- package/lib/ProForm/components/combination/ProModalSelect/index.js +26 -52
- package/lib/ProForm/components/combination/ProModalSelect/propsType.d.ts +7 -3
- package/lib/ProForm/components/combination/ProModalSelect/style/index.less +1 -4
- package/lib/ProForm/components/combination/ProNumberRange/style/index.less +4 -3
- package/lib/ProForm/components/combination/ProTimeLimit/style/index.less +0 -2
- package/lib/ProForm/components/render/ChangedWrapper.js +2 -2
- package/lib/ProForm/components/render/Render.js +11 -3
- package/lib/ProForm/components/render/RenderFields.d.ts +1 -0
- package/lib/ProForm/components/render/RenderFields.js +4 -2
- package/lib/ProForm/components/render/propsType.d.ts +1 -0
- package/lib/ProForm/index.d.ts +2 -2
- package/lib/ProForm/index.js +3 -1
- package/lib/ProForm/propsType.d.ts +2 -0
- package/lib/ProForm/style/index.less +0 -2
- package/lib/ProForm/utils/diffOriginal.d.ts +1 -0
- package/lib/ProForm/utils/diffOriginal.js +48 -1
- package/lib/ProForm/utils/index.js +1 -1
- package/lib/ProForm/utils/useShouldUpdate.d.ts +1 -0
- package/lib/ProForm/utils/useShouldUpdate.js +50 -1
- package/lib/ProIcon/style/index.less +0 -2
- package/lib/ProLayout/components/Layout/Menu/FoldMenu/index.js +33 -4
- package/lib/ProLayout/components/Layout/Menu/FoldMenu/style/index.less +0 -2
- package/lib/ProLayout/components/Layout/Menu/OpenMenu/index.js +7 -2
- package/lib/ProLayout/components/Layout/Menu/SideMenu/index.js +2 -1
- package/lib/ProLayout/components/Layout/Menu/SideMenu/style/index.less +0 -2
- package/lib/ProLayout/components/Layout/Menu/index.js +4 -1
- package/lib/ProLayout/components/Layout/Menu/style/index.less +0 -2
- package/lib/ProLayout/components/Layout/Notice/style/index.less +0 -2
- package/lib/ProLayout/components/ProCollapse/PropTypes.d.ts +8 -3
- package/lib/ProLayout/components/ProCollapse/index.js +27 -3
- package/lib/ProLayout/components/ProCollapse/style/index.less +148 -4
- package/lib/ProLayout/components/ProFooter/style/index.less +0 -2
- package/lib/ProLayout/components/ProHeader/components/ProBackBtn/style/index.less +0 -2
- package/lib/ProLayout/components/ProHeader/style/index.less +0 -2
- package/lib/ProLayout/index.d.ts +0 -11
- package/lib/ProLayout/index.js +51 -32
- package/lib/ProLayout/propTypes.d.ts +9 -0
- package/lib/ProLayout/style/index.less +0 -2
- package/lib/ProLayout/utils/index.d.ts +7 -0
- package/lib/ProLayout/utils/index.js +15 -0
- package/lib/ProSelect/index.less +0 -2
- package/lib/ProSelect/utils/index.js +34 -5
- package/lib/ProStep/components/Item/index.js +1 -2
- package/lib/ProStep/style/index.less +0 -2
- package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +1 -1
- package/lib/ProTable/hooks/useAntdTable.d.ts +3 -0
- package/lib/ProTable/hooks/useAntdTable.js +71 -36
- package/lib/ProTable/index.d.ts +3 -7
- package/lib/ProTable/index.js +8 -13
- package/lib/ProTable/propsType.d.ts +3 -2
- package/lib/ProTable/style/index.less +4 -6
- package/lib/ProTabs/style/index.less +0 -2
- package/lib/ProThemeTools/index.d.ts +0 -7
- package/lib/ProThemeTools/index.js +5 -12
- package/lib/ProThemeTools/style/index.less +0 -2
- package/lib/ProTooltip/style/index.less +0 -2
- package/lib/ProTree/components/ProTreeSelect/style/index.less +0 -2
- package/lib/ProTree/style/index.less +0 -2
- package/lib/ProTreeModal/style/index.less +0 -2
- package/lib/ProUpload/style/index.less +0 -2
- package/lib/ProViewer/style/index.less +0 -2
- package/lib/style/theme/antd.less +0 -2
- package/package.json +7 -6
- package/tests/__mocks__/fileMock.js +1 -0
- package/tests/__mocks__/zatUtils.js +27 -0
- package/tests/setup.ts +484 -0
- package/tests/test-utils.tsx +81 -0
- package/dist/index.esm.css +0 -6445
- package/dist/index.esm.js +0 -3
- package/dist/less.esm.css +0 -5871
- package/dist/less.esm.js +0 -3
@@ -0,0 +1,40 @@
|
|
1
|
+
import calc from "../calc";
|
2
|
+
import formatAmount from "../formatAmount";
|
3
|
+
import formatPercent from "../formatPercent";
|
4
|
+
import formatPerMill from "../formatPerMill";
|
5
|
+
/**
|
6
|
+
* @description: 数组内数据求和 并转为 百分位|千分位|百分比
|
7
|
+
* @param {Array} list
|
8
|
+
* @param {*} precision
|
9
|
+
* @return {*}
|
10
|
+
*/
|
11
|
+
var sumAmount = function sumAmount(list, options) {
|
12
|
+
var key = options.key,
|
13
|
+
_options$type = options.type,
|
14
|
+
type = _options$type === void 0 ? 'amount' : _options$type,
|
15
|
+
_options$precision = options.precision,
|
16
|
+
precision = _options$precision === void 0 ? 2 : _options$precision;
|
17
|
+
var total = list.reduce(function (pre, cur) {
|
18
|
+
var curValue = cur;
|
19
|
+
if (key) {
|
20
|
+
curValue = cur[key];
|
21
|
+
}
|
22
|
+
var num = curValue;
|
23
|
+
return calc(pre, '+', num);
|
24
|
+
}, 0);
|
25
|
+
if (type === 'number') {
|
26
|
+
return total;
|
27
|
+
}
|
28
|
+
if (['thousandth', 'amount'].includes(type)) {
|
29
|
+
var result = formatAmount(total, precision);
|
30
|
+
return result;
|
31
|
+
}
|
32
|
+
if (['percent', 'percentage'].includes(type)) {
|
33
|
+
return formatPercent(total, precision);
|
34
|
+
}
|
35
|
+
if (['perMill', 'permillage'].includes(type)) {
|
36
|
+
return formatPerMill(total, precision);
|
37
|
+
}
|
38
|
+
return '';
|
39
|
+
};
|
40
|
+
export default sumAmount;
|
@@ -0,0 +1,103 @@
|
|
1
|
+
/**
|
2
|
+
* 阿拉伯数字金额转中文金额
|
3
|
+
* @param money number
|
4
|
+
* @returns 中文金额
|
5
|
+
*/
|
6
|
+
var toChineseNum = function toChineseNum(money) {
|
7
|
+
// 汉字的数字
|
8
|
+
var digits = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
|
9
|
+
// 基本单位
|
10
|
+
var units = ['', '拾', '佰', '仟'];
|
11
|
+
// 对应整数部分扩展单位
|
12
|
+
var cnIntUnits = ['', '万', '亿', '兆'];
|
13
|
+
// 对应小数部分单位
|
14
|
+
var cnDecUnits = ['角', '分', '毫', '厘'];
|
15
|
+
// 整数金额时后面跟的字符
|
16
|
+
var cnInteger = '';
|
17
|
+
// 整型完以后的单位
|
18
|
+
var cnIntLast = '';
|
19
|
+
// 最大处理的数字
|
20
|
+
var maxNum = 999999999999999.9999;
|
21
|
+
// 金额整数部分
|
22
|
+
var integerNum = '';
|
23
|
+
// 金额小数部分
|
24
|
+
var decimalNum = '';
|
25
|
+
// 输出的中文金额字符串
|
26
|
+
var chineseStr = '';
|
27
|
+
// 分离金额后用的数组,预定义
|
28
|
+
var parts;
|
29
|
+
if (typeof money !== 'number') {
|
30
|
+
return '';
|
31
|
+
}
|
32
|
+
if (money === 0) {
|
33
|
+
return '零元';
|
34
|
+
}
|
35
|
+
if (money >= maxNum) {
|
36
|
+
// 超出最大处理数字
|
37
|
+
return '';
|
38
|
+
}
|
39
|
+
if (money === 0) {
|
40
|
+
chineseStr = digits[0] + cnIntLast + cnInteger;
|
41
|
+
return chineseStr;
|
42
|
+
}
|
43
|
+
// 转换为字符串
|
44
|
+
money = money.toString();
|
45
|
+
if (money.indexOf('.') === -1) {
|
46
|
+
integerNum = money;
|
47
|
+
decimalNum = '';
|
48
|
+
} else {
|
49
|
+
parts = money.split('.');
|
50
|
+
// eslint-disable-next-line prefer-destructuring
|
51
|
+
integerNum = parts[0];
|
52
|
+
decimalNum = parts[1].substring(0, 4);
|
53
|
+
}
|
54
|
+
// 获取整型部分转换
|
55
|
+
if (parseInt(integerNum, 10) > 0) {
|
56
|
+
var zeroCount = 0;
|
57
|
+
var IntLen = integerNum.length;
|
58
|
+
for (var i = 0; i < IntLen; i++) {
|
59
|
+
var n = integerNum.substr(i, 1);
|
60
|
+
var p = IntLen - i - 1;
|
61
|
+
var q = p / 4;
|
62
|
+
var m = p % 4;
|
63
|
+
if (n === '0') {
|
64
|
+
zeroCount += 1;
|
65
|
+
} else {
|
66
|
+
if (zeroCount > 0) {
|
67
|
+
chineseStr += digits[0];
|
68
|
+
}
|
69
|
+
// 归零
|
70
|
+
zeroCount = 0;
|
71
|
+
chineseStr += digits[parseInt(n, 10)] + units[m];
|
72
|
+
}
|
73
|
+
if (m === 0 && zeroCount < 4) {
|
74
|
+
chineseStr += cnIntUnits[q];
|
75
|
+
}
|
76
|
+
}
|
77
|
+
chineseStr += "".concat(cnIntLast, "\u5143");
|
78
|
+
}
|
79
|
+
// 小数部分
|
80
|
+
if (decimalNum !== '') {
|
81
|
+
var decLen = decimalNum.length;
|
82
|
+
for (var _i = 0; _i < decLen; _i++) {
|
83
|
+
var _n = decimalNum.substr(_i, 1);
|
84
|
+
if (_n !== '0') {
|
85
|
+
chineseStr += digits[Number(_n)] + cnDecUnits[_i];
|
86
|
+
} else if (_n === '0') {
|
87
|
+
// 输入值为小数
|
88
|
+
if (money.startsWith('0')) {
|
89
|
+
chineseStr += '';
|
90
|
+
} else {
|
91
|
+
chineseStr += digits[Number(_n)];
|
92
|
+
}
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
if (chineseStr === '') {
|
97
|
+
chineseStr += digits[0] + cnIntLast + cnInteger;
|
98
|
+
} else if (decimalNum === '') {
|
99
|
+
chineseStr += "".concat(cnInteger, "\u6574");
|
100
|
+
}
|
101
|
+
return chineseStr;
|
102
|
+
};
|
103
|
+
export default toChineseNum;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export interface AnyObject {
|
2
|
+
[name: string]: any;
|
3
|
+
}
|
4
|
+
/**
|
5
|
+
* 效果: { code: 1, name: 男 } => { value: 1, label: 男 }
|
6
|
+
* keyMap中必须包含数组字段才能进行深度遍历
|
7
|
+
* @param {*} data {} | []
|
8
|
+
* @param {*} keyMap { code: 'value', name: 'label' }
|
9
|
+
* @return {*}
|
10
|
+
*/
|
11
|
+
declare const transformDateName: (data: any, keyMap: AnyObject) => any;
|
12
|
+
export default transformDateName;
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import isObject from 'lodash/isObject';
|
2
|
+
var transformer = function transformer(data, keyMap) {
|
3
|
+
var target = {};
|
4
|
+
Object.keys(keyMap).forEach(function (key) {
|
5
|
+
var propName = keyMap[key];
|
6
|
+
if (Array.isArray(data[propName])) {
|
7
|
+
target[key] = data[propName].map(function (item) {
|
8
|
+
// eslint-disable-next-line no-use-before-define
|
9
|
+
return transformDateName(item, keyMap);
|
10
|
+
});
|
11
|
+
} else {
|
12
|
+
target[key] = data[propName];
|
13
|
+
}
|
14
|
+
});
|
15
|
+
return target;
|
16
|
+
};
|
17
|
+
|
18
|
+
/**
|
19
|
+
* 效果: { code: 1, name: 男 } => { value: 1, label: 男 }
|
20
|
+
* keyMap中必须包含数组字段才能进行深度遍历
|
21
|
+
* @param {*} data {} | []
|
22
|
+
* @param {*} keyMap { code: 'value', name: 'label' }
|
23
|
+
* @return {*}
|
24
|
+
*/
|
25
|
+
var transformDateName = function transformDateName(data, keyMap) {
|
26
|
+
if (!data) return data;
|
27
|
+
if (Array.isArray(data)) {
|
28
|
+
return data.map(function (item) {
|
29
|
+
return transformer(item, keyMap);
|
30
|
+
});
|
31
|
+
}
|
32
|
+
if (isObject(data)) {
|
33
|
+
return transformer(data, keyMap);
|
34
|
+
}
|
35
|
+
return data;
|
36
|
+
};
|
37
|
+
export default transformDateName;
|
@@ -0,0 +1,24 @@
|
|
1
|
+
export interface Params {
|
2
|
+
format?: string | 'ISO';
|
3
|
+
}
|
4
|
+
interface BaseDayjs {
|
5
|
+
format: (format?: string) => string;
|
6
|
+
millisecond: (ms: number) => BaseDayjs;
|
7
|
+
toISOString: (keepOffset?: boolean) => string;
|
8
|
+
}
|
9
|
+
export declare const dateTransformer: <T extends BaseDayjs>(params: Params) => {
|
10
|
+
normalize: (value?: T | any) => any;
|
11
|
+
getValueProps: (value: string | any) => {
|
12
|
+
value: any;
|
13
|
+
};
|
14
|
+
};
|
15
|
+
interface RangParams {
|
16
|
+
format: Params['format'] | Params['format'][];
|
17
|
+
}
|
18
|
+
export declare const rangeTransformer: <T extends BaseDayjs>(params: RangParams) => {
|
19
|
+
normalize: (value?: (T | any)[]) => any[] | null;
|
20
|
+
getValueProps: (value?: (string | any)[]) => {
|
21
|
+
value: any[] | undefined;
|
22
|
+
};
|
23
|
+
};
|
24
|
+
export {};
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import { safeToDate } from "../../tools/dateUtils";
|
2
|
+
// dayjs转换为string
|
3
|
+
var dateToString = function dateToString(value, format) {
|
4
|
+
if (!value) return value;
|
5
|
+
var safeDate = safeToDate(value);
|
6
|
+
if (!safeDate) return null;
|
7
|
+
if (format === 'ISO') {
|
8
|
+
return safeDate.millisecond(0).toISOString();
|
9
|
+
}
|
10
|
+
return safeDate.format(format);
|
11
|
+
};
|
12
|
+
|
13
|
+
// string转换为dayjs
|
14
|
+
var stringToDate = function stringToDate(value, format) {
|
15
|
+
if (!value) return value;
|
16
|
+
if (format && ['ISO'].includes(format)) {
|
17
|
+
return safeToDate(value);
|
18
|
+
}
|
19
|
+
return safeToDate(value);
|
20
|
+
};
|
21
|
+
|
22
|
+
// 日期转换
|
23
|
+
export var dateTransformer = function dateTransformer(params) {
|
24
|
+
var format = params.format;
|
25
|
+
return {
|
26
|
+
normalize: function normalize(value) {
|
27
|
+
if (!value) return null;
|
28
|
+
return dateToString(value, format);
|
29
|
+
},
|
30
|
+
getValueProps: function getValueProps(value) {
|
31
|
+
if (!value) return {
|
32
|
+
value: value
|
33
|
+
};
|
34
|
+
return {
|
35
|
+
value: stringToDate(value, format)
|
36
|
+
};
|
37
|
+
}
|
38
|
+
};
|
39
|
+
};
|
40
|
+
// 日期范围转换
|
41
|
+
export var rangeTransformer = function rangeTransformer(params) {
|
42
|
+
var format = params.format;
|
43
|
+
return {
|
44
|
+
normalize: function normalize(value) {
|
45
|
+
if (!value) return null;
|
46
|
+
return value.map(function (item, index) {
|
47
|
+
if (Array.isArray(format)) {
|
48
|
+
return dateToString(item, format[index]);
|
49
|
+
}
|
50
|
+
return dateToString(item, format);
|
51
|
+
});
|
52
|
+
},
|
53
|
+
getValueProps: function getValueProps(value) {
|
54
|
+
if (!(value !== null && value !== void 0 && value.length)) return {
|
55
|
+
value: value
|
56
|
+
};
|
57
|
+
return {
|
58
|
+
value: value.map(function (item, index) {
|
59
|
+
if (Array.isArray(format)) {
|
60
|
+
return stringToDate(item, format[index]);
|
61
|
+
}
|
62
|
+
return stringToDate(item, format);
|
63
|
+
})
|
64
|
+
};
|
65
|
+
}
|
66
|
+
};
|
67
|
+
};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
export { default as transformSwitch } from './transformSwitch';
|
2
|
+
export { default as transformDate } from './transformDate';
|
3
|
+
export { default as transformRangePicker } from './transformRangePicker';
|
4
|
+
export { default as transformDatePicker } from './transformDatePicker';
|
5
|
+
export { dateTransformer } from './dateTransformer';
|
6
|
+
export { rangeTransformer } from './dateTransformer';
|
@@ -0,0 +1,6 @@
|
|
1
|
+
export { default as transformSwitch } from "./transformSwitch";
|
2
|
+
export { default as transformDate } from "./transformDate";
|
3
|
+
export { default as transformRangePicker } from "./transformRangePicker";
|
4
|
+
export { default as transformDatePicker } from "./transformDatePicker";
|
5
|
+
export { dateTransformer } from "./dateTransformer";
|
6
|
+
export { rangeTransformer } from "./dateTransformer";
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { ShouldUpdate } from 'rc-field-form/es/Field.d';
|
2
|
+
import { StoreValue, Store } from 'rc-field-form/es/interface.d';
|
3
|
+
export interface Transform<T = any> {
|
4
|
+
normalize?: (value: StoreValue, prevValue: StoreValue, allValues: Store) => StoreValue;
|
5
|
+
getValueProps?: (value: StoreValue) => Record<string, unknown>;
|
6
|
+
shouldUpdate?: ShouldUpdate<T>;
|
7
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Transform } from '../propTypes';
|
2
|
+
export interface Params {
|
3
|
+
type: 'DatePicker' | 'RangePicker';
|
4
|
+
format?: string;
|
5
|
+
keys?: string[];
|
6
|
+
startEndTime?: boolean;
|
7
|
+
valueType?: 'string' | 'ISOString' | 'CSTString';
|
8
|
+
timeType?: 'startTime' | 'endTime' | 'startEndTime' | 'dateTime' | 'date';
|
9
|
+
}
|
10
|
+
/**
|
11
|
+
* @description: 表单信息日期格式转换:UTC时间
|
12
|
+
* @param {*} type 'YYYY-MM-DD'
|
13
|
+
* @param {*} format 'YYYY-MM-DD'
|
14
|
+
* @param {*} keys ['form', 'to']
|
15
|
+
* @param {*} valueType 两种时间格式 string: 2022-10-07 09:30:30 ISOString: 2022-10-07T09:30:30.652Z
|
16
|
+
* @param {*} startEndTime 开始截止日期添加时间 如开始添加 00:00:00, 截止添加23:59:59
|
17
|
+
* @param {*} timeType startTime | endTime | startEndTime | dateTime 4种类型
|
18
|
+
* @return {*}
|
19
|
+
*/
|
20
|
+
declare const transformDate: (params?: Params) => Transform;
|
21
|
+
export default transformDate;
|
@@ -0,0 +1,141 @@
|
|
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 _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; }
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
4
|
+
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); }
|
5
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
6
|
+
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."); }
|
7
|
+
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); }
|
8
|
+
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; }
|
9
|
+
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; } }
|
10
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
11
|
+
import { safeToDate } from "../../tools/dateUtils";
|
12
|
+
var getValueType = function getValueType(value, valueType, data, timeType) {
|
13
|
+
if (valueType && value) {
|
14
|
+
if (valueType === 'ISOString') {
|
15
|
+
if (['date', 'dateTime'].includes(timeType)) {
|
16
|
+
var _safeDate = safeToDate(value);
|
17
|
+
return _safeDate ? _safeDate.millisecond(0).toISOString() : null;
|
18
|
+
}
|
19
|
+
var safeDate = safeToDate(data || value);
|
20
|
+
return safeDate ? safeDate.millisecond(0).toISOString() : null;
|
21
|
+
}
|
22
|
+
if (valueType === 'CSTString') {
|
23
|
+
// 正确处理中国标准时间:转换到UTC+8时区后格式化为本地时间字符串
|
24
|
+
var sourceTime = data || value;
|
25
|
+
var _safeDate2 = safeToDate(sourceTime);
|
26
|
+
if (!_safeDate2) return null;
|
27
|
+
var cstTime = _safeDate2.utcOffset(8 * 60); // 设置为UTC+8(480分钟)
|
28
|
+
if (['date', 'dateTime'].includes(timeType)) {
|
29
|
+
return cstTime.format('YYYY-MM-DDTHH:mm:ss.SSSZ');
|
30
|
+
}
|
31
|
+
return cstTime.format('YYYY-MM-DDTHH:mm:ss.SSSZ');
|
32
|
+
}
|
33
|
+
if ('default' === valueType) {
|
34
|
+
var _safeDate3 = safeToDate(data || value);
|
35
|
+
return _safeDate3 ? _safeDate3.format() : null;
|
36
|
+
}
|
37
|
+
if (valueType === 'string') {
|
38
|
+
return data;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
return null;
|
42
|
+
};
|
43
|
+
|
44
|
+
/**
|
45
|
+
* @description: 表单信息日期格式转换:UTC时间
|
46
|
+
* @param {*} type 'YYYY-MM-DD'
|
47
|
+
* @param {*} format 'YYYY-MM-DD'
|
48
|
+
* @param {*} keys ['form', 'to']
|
49
|
+
* @param {*} valueType 两种时间格式 string: 2022-10-07 09:30:30 ISOString: 2022-10-07T09:30:30.652Z
|
50
|
+
* @param {*} startEndTime 开始截止日期添加时间 如开始添加 00:00:00, 截止添加23:59:59
|
51
|
+
* @param {*} timeType startTime | endTime | startEndTime | dateTime 4种类型
|
52
|
+
* @return {*}
|
53
|
+
*/
|
54
|
+
var transformDate = function transformDate(params) {
|
55
|
+
var _ref = params || {},
|
56
|
+
_ref$type = _ref.type,
|
57
|
+
type = _ref$type === void 0 ? 'RangePicker' : _ref$type,
|
58
|
+
_ref$format = _ref.format,
|
59
|
+
format = _ref$format === void 0 ? 'YYYY-MM-DD' : _ref$format,
|
60
|
+
keys = _ref.keys,
|
61
|
+
_ref$startEndTime = _ref.startEndTime,
|
62
|
+
startEndTime = _ref$startEndTime === void 0 ? false : _ref$startEndTime,
|
63
|
+
_ref$valueType = _ref.valueType,
|
64
|
+
valueType = _ref$valueType === void 0 ? 'string' : _ref$valueType,
|
65
|
+
_ref$timeType = _ref.timeType,
|
66
|
+
timeType = _ref$timeType === void 0 ? 'date' : _ref$timeType;
|
67
|
+
return {
|
68
|
+
normalize: function normalize(value) {
|
69
|
+
// DatePicker处理
|
70
|
+
if (type === 'DatePicker') {
|
71
|
+
var safeDate = safeToDate(value);
|
72
|
+
if (!safeDate) {
|
73
|
+
return null;
|
74
|
+
}
|
75
|
+
var time;
|
76
|
+
switch (timeType) {
|
77
|
+
// 时间起始 00:00:00
|
78
|
+
case 'startTime':
|
79
|
+
time = "".concat(safeDate.format('YYYY-MM-DD'), " 00:00:00");
|
80
|
+
break;
|
81
|
+
// 时间结尾 23:59:59
|
82
|
+
case 'endTime':
|
83
|
+
time = "".concat(safeDate.format('YYYY-MM-DD'), " 23:59:59");
|
84
|
+
break;
|
85
|
+
case 'dateTime':
|
86
|
+
time = safeDate.format('YYYY-MM-DD HH:mm:ss');
|
87
|
+
break;
|
88
|
+
default:
|
89
|
+
time = safeDate.format(format);
|
90
|
+
break;
|
91
|
+
}
|
92
|
+
return getValueType(value, valueType, time, timeType);
|
93
|
+
}
|
94
|
+
// RangePicker处理
|
95
|
+
if (!value || !value.some(function (item) {
|
96
|
+
return safeToDate(item);
|
97
|
+
})) {
|
98
|
+
return {};
|
99
|
+
}
|
100
|
+
var isStartEndTime = startEndTime || timeType === 'startEndTime';
|
101
|
+
var startDatejs = safeToDate(value[0]);
|
102
|
+
var endDatejs = safeToDate(value[1]);
|
103
|
+
var startTime = startDatejs ? startDatejs.format(isStartEndTime ? 'YYYY-MM-DD 00:00:00' : format) : null;
|
104
|
+
var endTime = endDatejs ? endDatejs.format(isStartEndTime ? 'YYYY-MM-DD 23:59:59' : format) : null;
|
105
|
+
if (Array.isArray(keys) && keys.length >= 2) {
|
106
|
+
var _keys = _slicedToArray(keys, 2),
|
107
|
+
key1 = _keys[0],
|
108
|
+
key2 = _keys[1];
|
109
|
+
return _defineProperty(_defineProperty({}, key1, getValueType(startTime, valueType, startTime, timeType)), key2, getValueType(endTime, valueType, endTime, timeType));
|
110
|
+
}
|
111
|
+
return [getValueType(startTime, valueType, startTime, timeType), getValueType(endTime, valueType, endTime, timeType)];
|
112
|
+
},
|
113
|
+
getValueProps: function getValueProps(value) {
|
114
|
+
// DatePicker处理
|
115
|
+
if (type === 'DatePicker') {
|
116
|
+
return {
|
117
|
+
format: format,
|
118
|
+
value: safeToDate(value)
|
119
|
+
};
|
120
|
+
}
|
121
|
+
// RangePicker处理
|
122
|
+
var _ref3 = keys || [],
|
123
|
+
_ref4 = _slicedToArray(_ref3, 2),
|
124
|
+
_ref4$ = _ref4[0],
|
125
|
+
key1 = _ref4$ === void 0 ? 0 : _ref4$,
|
126
|
+
_ref4$2 = _ref4[1],
|
127
|
+
key2 = _ref4$2 === void 0 ? 1 : _ref4$2;
|
128
|
+
if (!value || !(value !== null && value !== void 0 && value[key1]) && !(value !== null && value !== void 0 && value[key2])) {
|
129
|
+
return {
|
130
|
+
format: format,
|
131
|
+
value: []
|
132
|
+
};
|
133
|
+
}
|
134
|
+
return {
|
135
|
+
format: format,
|
136
|
+
value: [safeToDate(value === null || value === void 0 ? void 0 : value[key1]), safeToDate(value === null || value === void 0 ? void 0 : value[key2])]
|
137
|
+
};
|
138
|
+
}
|
139
|
+
};
|
140
|
+
};
|
141
|
+
export default transformDate;
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import dayjs from 'dayjs';
|
2
|
+
import { Dayjs } from 'dayjs';
|
3
|
+
declare const transformDatePicker: ({ format, valueType, }: {
|
4
|
+
format?: string | undefined;
|
5
|
+
valueType?: "string" | "ISOString" | undefined;
|
6
|
+
}) => {
|
7
|
+
normalize: (value: Dayjs | any) => string | null;
|
8
|
+
getValueProps: (value: string | any) => {
|
9
|
+
value: dayjs.Dayjs | null;
|
10
|
+
};
|
11
|
+
};
|
12
|
+
export default transformDatePicker;
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { safeToDate } from "../../tools/dateUtils";
|
2
|
+
var transformDatePicker = function transformDatePicker(_ref) {
|
3
|
+
var _ref$format = _ref.format,
|
4
|
+
format = _ref$format === void 0 ? 'YYYY-MM-DD' : _ref$format,
|
5
|
+
_ref$valueType = _ref.valueType,
|
6
|
+
valueType = _ref$valueType === void 0 ? 'string' : _ref$valueType;
|
7
|
+
return {
|
8
|
+
normalize: function normalize(value) {
|
9
|
+
var safeDate = safeToDate(value);
|
10
|
+
if (!safeDate) {
|
11
|
+
return null;
|
12
|
+
}
|
13
|
+
var time = safeDate.format(format);
|
14
|
+
return valueType === 'ISOString' ? safeDate.format() : time;
|
15
|
+
},
|
16
|
+
getValueProps: function getValueProps(value) {
|
17
|
+
var safeDate = safeToDate(value);
|
18
|
+
return {
|
19
|
+
value: safeDate
|
20
|
+
};
|
21
|
+
}
|
22
|
+
};
|
23
|
+
};
|
24
|
+
export default transformDatePicker;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import dayjs, { Dayjs } from 'dayjs';
|
2
|
+
export interface Params {
|
3
|
+
format?: string;
|
4
|
+
keys?: string[];
|
5
|
+
startEndTime?: boolean;
|
6
|
+
valueType?: 'string' | 'ISOString';
|
7
|
+
}
|
8
|
+
/**
|
9
|
+
* @description: 表单信息日期格式转换:UTC时间
|
10
|
+
* @param {*} format 'YYYY-MM-DD'
|
11
|
+
* @param {*} keys ['form', 'to']
|
12
|
+
* @param {*} valueType 两种时间格式 string: 2022-10-07 09:30:30 ISOString: 2022-10-07T09:30:30.652Z
|
13
|
+
* @return {*}
|
14
|
+
*/
|
15
|
+
declare const transformRangePicker: (params?: Params) => Error | {
|
16
|
+
normalize: (value: [Dayjs | any, Dayjs | any]) => {
|
17
|
+
[x: string]: string | null | undefined;
|
18
|
+
};
|
19
|
+
getValueProps: (value: {
|
20
|
+
[key: string]: any;
|
21
|
+
}) => {
|
22
|
+
format?: undefined;
|
23
|
+
value?: undefined;
|
24
|
+
} | {
|
25
|
+
format: string;
|
26
|
+
value: (dayjs.Dayjs | null)[];
|
27
|
+
};
|
28
|
+
};
|
29
|
+
export default transformRangePicker;
|
@@ -0,0 +1,61 @@
|
|
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 _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; }
|
3
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
4
|
+
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); }
|
5
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
6
|
+
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."); }
|
7
|
+
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); }
|
8
|
+
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; }
|
9
|
+
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; } }
|
10
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
11
|
+
import { safeToDate } from "../../tools/dateUtils";
|
12
|
+
/**
|
13
|
+
* @description: 表单信息日期格式转换:UTC时间
|
14
|
+
* @param {*} format 'YYYY-MM-DD'
|
15
|
+
* @param {*} keys ['form', 'to']
|
16
|
+
* @param {*} valueType 两种时间格式 string: 2022-10-07 09:30:30 ISOString: 2022-10-07T09:30:30.652Z
|
17
|
+
* @return {*}
|
18
|
+
*/
|
19
|
+
var transformRangePicker = function transformRangePicker(params) {
|
20
|
+
var _ref = params || {},
|
21
|
+
_ref$format = _ref.format,
|
22
|
+
format = _ref$format === void 0 ? 'YYYY-MM-DD' : _ref$format,
|
23
|
+
_ref$keys = _ref.keys,
|
24
|
+
keys = _ref$keys === void 0 ? ['form', 'to'] : _ref$keys,
|
25
|
+
_ref$startEndTime = _ref.startEndTime,
|
26
|
+
startEndTime = _ref$startEndTime === void 0 ? false : _ref$startEndTime,
|
27
|
+
_ref$valueType = _ref.valueType,
|
28
|
+
valueType = _ref$valueType === void 0 ? 'string' : _ref$valueType;
|
29
|
+
if (keys.length !== 2) {
|
30
|
+
return new Error('组合组件参数必须为2个');
|
31
|
+
}
|
32
|
+
var _keys = _slicedToArray(keys, 2),
|
33
|
+
key1 = _keys[0],
|
34
|
+
key2 = _keys[1];
|
35
|
+
return {
|
36
|
+
// 组件内部值转成外部值 true => Y
|
37
|
+
normalize: function normalize(value) {
|
38
|
+
var _safeToDate, _safeToDate2;
|
39
|
+
if (!value || !value[0] || !value[1]) {
|
40
|
+
return {};
|
41
|
+
}
|
42
|
+
var startDatejs = safeToDate(value[0]);
|
43
|
+
var endDatejs = safeToDate(value[1]);
|
44
|
+
var defaultStartTime = startDatejs ? startDatejs.format(format) : null;
|
45
|
+
var defaultEndTime = endDatejs ? endDatejs.format(format) : null;
|
46
|
+
var startTime = startEndTime && defaultStartTime ? "".concat(defaultStartTime, " 00:00:00") : defaultStartTime;
|
47
|
+
var endTime = startEndTime && defaultEndTime ? "".concat(defaultEndTime, " 23:59:59") : defaultEndTime;
|
48
|
+
return _defineProperty(_defineProperty({}, key1, valueType === 'ISOString' && startTime ? (_safeToDate = safeToDate(startTime)) === null || _safeToDate === void 0 ? void 0 : _safeToDate.toISOString() : startTime), key2, valueType === 'ISOString' && endTime ? (_safeToDate2 = safeToDate(endTime)) === null || _safeToDate2 === void 0 ? void 0 : _safeToDate2.toISOString() : endTime);
|
49
|
+
},
|
50
|
+
getValueProps: function getValueProps(value) {
|
51
|
+
if (!value) {
|
52
|
+
return {};
|
53
|
+
}
|
54
|
+
return {
|
55
|
+
format: format,
|
56
|
+
value: [safeToDate(value === null || value === void 0 ? void 0 : value[key1]), safeToDate(value === null || value === void 0 ? void 0 : value[key2])]
|
57
|
+
};
|
58
|
+
}
|
59
|
+
};
|
60
|
+
};
|
61
|
+
export default transformRangePicker;
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* 转换Switch参数函数
|
3
|
+
* @param keys 第一个值为选中值,第二个为未选中值
|
4
|
+
* @returns object
|
5
|
+
*/
|
6
|
+
declare const transformSwitch: (keys?: [any, any]) => Error | {
|
7
|
+
normalize: (value: boolean) => any;
|
8
|
+
getValueProps: (value: any) => {
|
9
|
+
checked: boolean;
|
10
|
+
value: any;
|
11
|
+
};
|
12
|
+
};
|
13
|
+
export default transformSwitch;
|