@yqg/simple 1.0.12 → 1.0.13-beta.2
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/dist/chunks/constant-common-fields-719c888d.js +570 -0
- package/dist/chunks/constant-common-fields-719c888d.js.map +1 -0
- package/dist/chunks/constant-object-fc1e71db.js +42 -0
- package/dist/chunks/constant-object-fc1e71db.js.map +1 -0
- package/dist/chunks/index-0c928ac5.js.map +1 -0
- package/dist/chunks/index-44c0c823.js.map +1 -0
- package/dist/chunks/index-56a74daa.js.map +1 -0
- package/dist/chunks/index-93a4c691.js.map +1 -0
- package/dist/cjs/chunks/constant-common-fields-37e0f4a1.js +605 -0
- package/dist/cjs/chunks/constant-common-fields-37e0f4a1.js.map +1 -0
- package/dist/cjs/chunks/constant-object-c3fb7fa5.js +46 -0
- package/dist/cjs/chunks/constant-object-c3fb7fa5.js.map +1 -0
- package/dist/cjs/constant/common-fields.js +44 -0
- package/dist/cjs/constant/common-fields.js.map +1 -0
- package/dist/cjs/constant/def-type.js +32 -0
- package/dist/cjs/constant/def-type.js.map +1 -0
- package/dist/cjs/constant/fields.js +543 -0
- package/dist/cjs/constant/fields.js.map +1 -0
- package/dist/cjs/constant/index.js +57 -0
- package/dist/cjs/constant/index.js.map +1 -0
- package/dist/cjs/constant/table.js +42 -0
- package/dist/cjs/constant/table.js.map +1 -0
- package/dist/cjs/filter/count-to-time.js +18 -0
- package/dist/cjs/filter/count-to-time.js.map +1 -0
- package/dist/cjs/filter/date.js +18 -0
- package/dist/cjs/filter/date.js.map +1 -0
- package/dist/cjs/filter/index.js +35 -0
- package/dist/cjs/filter/index.js.map +1 -0
- package/dist/cjs/filter/mardown-to-html.js +19 -0
- package/dist/cjs/filter/mardown-to-html.js.map +1 -0
- package/dist/cjs/filter/number-with-commas.js +25 -0
- package/dist/cjs/filter/number-with-commas.js.map +1 -0
- package/dist/cjs/filter/percent.js +23 -0
- package/dist/cjs/filter/percent.js.map +1 -0
- package/dist/cjs/filter/phone-mask.js +19 -0
- package/dist/cjs/filter/phone-mask.js.map +1 -0
- package/dist/cjs/mixin/card-list.js +63 -0
- package/dist/cjs/mixin/card-list.js.map +1 -0
- package/dist/cjs/mixin/client-table.js +51 -0
- package/dist/cjs/mixin/client-table.js.map +1 -0
- package/dist/cjs/mixin/collect-slots.js +69 -0
- package/dist/cjs/mixin/collect-slots.js.map +1 -0
- package/dist/cjs/mixin/common-table.js +31 -0
- package/dist/cjs/mixin/common-table.js.map +1 -0
- package/dist/cjs/mixin/enum-type.js +172 -0
- package/dist/cjs/mixin/enum-type.js.map +1 -0
- package/dist/cjs/mixin/gen-text.js +171 -0
- package/dist/cjs/mixin/gen-text.js.map +1 -0
- package/dist/cjs/mixin/index.js +25 -0
- package/dist/cjs/mixin/index.js.map +1 -0
- package/dist/cjs/mixin/modal.js +24 -0
- package/dist/cjs/mixin/modal.js.map +1 -0
- package/dist/cjs/mixin/static-props.js +50 -0
- package/dist/cjs/mixin/static-props.js.map +1 -0
- package/dist/cjs/mixin/table.js +110 -0
- package/dist/cjs/mixin/table.js.map +1 -0
- package/dist/cjs/mixin/watermark.js +53 -0
- package/dist/cjs/mixin/watermark.js.map +1 -0
- package/dist/cjs/store/module/timezone.js +21 -0
- package/dist/cjs/store/module/timezone.js.map +1 -0
- package/dist/cjs/util/enum.js +18 -0
- package/dist/cjs/util/enum.js.map +1 -0
- package/dist/cjs/util/format-map.js +167 -0
- package/dist/cjs/util/format-map.js.map +1 -0
- package/dist/cjs/util/index.js +28 -0
- package/dist/cjs/util/index.js.map +1 -0
- package/dist/cjs/util/json.js +43 -0
- package/dist/cjs/util/json.js.map +1 -0
- package/dist/cjs/util/keyCodeMap.js +20 -0
- package/dist/cjs/util/keyCodeMap.js.map +1 -0
- package/dist/cjs/util/local-storage.js +19 -0
- package/dist/cjs/util/local-storage.js.map +1 -0
- package/dist/cjs/util/object.js +134 -0
- package/dist/cjs/util/object.js.map +1 -0
- package/dist/cjs/util/storage/index.js +47 -0
- package/dist/cjs/util/storage/index.js.map +1 -0
- package/dist/cjs/util/storage/swim-lane.js +16 -0
- package/dist/cjs/util/storage/swim-lane.js.map +1 -0
- package/dist/cjs/util/tool.js +15 -0
- package/dist/cjs/util/tool.js.map +1 -0
- package/dist/constant/common-fields.js +5 -0
- package/dist/constant/common-fields.js.map +1 -0
- package/dist/constant/def-type.d.ts +26 -27
- package/dist/constant/def-type.js +30 -0
- package/dist/constant/def-type.js.map +1 -0
- package/dist/constant/fields.d.ts +2 -2
- package/dist/constant/fields.js +506 -0
- package/dist/constant/fields.js.map +1 -0
- package/dist/constant/index.d.ts +4 -0
- package/dist/constant/index.js +12 -0
- package/dist/constant/index.js.map +1 -0
- package/dist/constant/table.js +38 -0
- package/dist/constant/table.js.map +1 -0
- package/dist/filter/count-to-time.js +16 -0
- package/dist/filter/count-to-time.js.map +1 -0
- package/dist/filter/date.js +16 -0
- package/dist/filter/date.js.map +1 -0
- package/dist/filter/index.js +33 -0
- package/dist/filter/index.js.map +1 -0
- package/dist/filter/mardown-to-html.js +17 -0
- package/dist/filter/mardown-to-html.js.map +1 -0
- package/dist/filter/number-with-commas.js +21 -0
- package/dist/filter/number-with-commas.js.map +1 -0
- package/dist/filter/percent.js +21 -0
- package/dist/filter/percent.js.map +1 -0
- package/dist/filter/phone-mask.js +17 -0
- package/dist/filter/phone-mask.js.map +1 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/mixin/card-list.js +61 -0
- package/dist/mixin/card-list.js.map +1 -0
- package/dist/mixin/client-table.js +49 -0
- package/dist/mixin/client-table.js.map +1 -0
- package/dist/mixin/collect-slots.js +67 -0
- package/dist/mixin/collect-slots.js.map +1 -0
- package/dist/mixin/common-table.js +29 -0
- package/dist/mixin/common-table.js.map +1 -0
- package/dist/mixin/enum-type.js +170 -0
- package/dist/mixin/enum-type.js.map +1 -0
- package/dist/mixin/gen-text.js +169 -0
- package/dist/mixin/gen-text.js.map +1 -0
- package/dist/mixin/index.js +12 -0
- package/dist/mixin/index.js.map +1 -0
- package/dist/mixin/modal.js +22 -0
- package/dist/mixin/modal.js.map +1 -0
- package/dist/mixin/static-props.js +48 -0
- package/dist/mixin/static-props.js.map +1 -0
- package/dist/mixin/table.js +105 -0
- package/dist/mixin/table.js.map +1 -0
- package/dist/mixin/watermark.js +51 -0
- package/dist/mixin/watermark.js.map +1 -0
- package/dist/store/module/timezone.js +19 -0
- package/dist/store/module/timezone.js.map +1 -0
- package/dist/util/enum.js +15 -0
- package/dist/util/enum.js.map +1 -0
- package/dist/util/format-map.js +165 -0
- package/dist/util/format-map.js.map +1 -0
- package/dist/util/index.js +6 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/json.js +40 -0
- package/dist/util/json.js.map +1 -0
- package/dist/util/keyCodeMap.js +18 -0
- package/dist/util/keyCodeMap.js.map +1 -0
- package/dist/util/local-storage.js +15 -0
- package/dist/util/local-storage.js.map +1 -0
- package/dist/util/object.js +124 -0
- package/dist/util/object.js.map +1 -0
- package/dist/util/storage/index.js +45 -0
- package/dist/util/storage/index.js.map +1 -0
- package/dist/util/storage/swim-lane.js +14 -0
- package/dist/util/storage/swim-lane.js.map +1 -0
- package/dist/util/tool.js +13 -0
- package/dist/util/tool.js.map +1 -0
- package/package.json +1 -1
- package/src/constant/fields.ts +3 -3
- package/src/constant/index.ts +10 -0
- package/dist/index-0c928ac5.js.map +0 -1
- package/dist/index-44c0c823.js.map +0 -1
- package/dist/index-56a74daa.js.map +0 -1
- package/dist/index-93a4c691.js.map +0 -1
- package/src/constant/index.js +0 -10
- /package/dist/{index-0c928ac5.js → chunks/index-0c928ac5.js} +0 -0
- /package/dist/{index-44c0c823.js → chunks/index-44c0c823.js} +0 -0
- /package/dist/{index-56a74daa.js → chunks/index-56a74daa.js} +0 -0
- /package/dist/{index-93a4c691.js → chunks/index-93a4c691.js} +0 -0
- /package/src/constant/{def-type.js → def-type.ts} +0 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import _ from 'underscore';
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* @Author: xiaodongyu
|
|
5
|
+
* @Date 2019-12-05 15:12:11
|
|
6
|
+
* @Last Modified by: lwwshare
|
|
7
|
+
* @Last Modified time: 2025-06-16 00:37:59
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
// 使用这个的话,TableOptions没法放在$options里
|
|
12
|
+
const tableSelection = (TableOptions, {
|
|
13
|
+
disabled,
|
|
14
|
+
title,
|
|
15
|
+
width = 37,
|
|
16
|
+
...rowSelection
|
|
17
|
+
} = {}) => ({
|
|
18
|
+
data() {
|
|
19
|
+
return {
|
|
20
|
+
selectedRowKeys: [],
|
|
21
|
+
selectedRows: []
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
computed: {
|
|
25
|
+
TableOptions() {
|
|
26
|
+
return {
|
|
27
|
+
rowSelection: {
|
|
28
|
+
fixed: true,
|
|
29
|
+
columnTitle: title,
|
|
30
|
+
columnWidth: width,
|
|
31
|
+
selectedRowKeys: this.selectedRowKeys,
|
|
32
|
+
onChange: this.onTableSelectChange,
|
|
33
|
+
getCheckboxProps: record => ({
|
|
34
|
+
props: {
|
|
35
|
+
disabled: disabled ? disabled(record) : false
|
|
36
|
+
}
|
|
37
|
+
}),
|
|
38
|
+
...rowSelection
|
|
39
|
+
},
|
|
40
|
+
...TableOptions
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
methods: {
|
|
45
|
+
onTableSelectChange(selectedRowKeys, selectedRows) {
|
|
46
|
+
this.selectedRowKeys = selectedRowKeys;
|
|
47
|
+
this.selectedRows = selectedRows;
|
|
48
|
+
},
|
|
49
|
+
clearSelectedRows() {
|
|
50
|
+
this.selectedRowKeys = [];
|
|
51
|
+
this.selectedRows = [];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
var table = {
|
|
56
|
+
data() {
|
|
57
|
+
return {
|
|
58
|
+
cond: null,
|
|
59
|
+
pagination: {
|
|
60
|
+
pageNo: 1,
|
|
61
|
+
pageSize: 10,
|
|
62
|
+
total: 0
|
|
63
|
+
},
|
|
64
|
+
sorter: {}
|
|
65
|
+
};
|
|
66
|
+
},
|
|
67
|
+
computed: {
|
|
68
|
+
params() {
|
|
69
|
+
return {
|
|
70
|
+
...this.pagination,
|
|
71
|
+
total: undefined,
|
|
72
|
+
...this.cond
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
methods: {
|
|
77
|
+
onSearch({
|
|
78
|
+
values
|
|
79
|
+
} = {}) {
|
|
80
|
+
this.pagination.pageNo = 1;
|
|
81
|
+
this.cond = _.omit(values, value => value === '');
|
|
82
|
+
// 检查 onRefresh 方法是否存在,避免调用不存在的方法
|
|
83
|
+
if (typeof this.onRefresh === 'function') {
|
|
84
|
+
this.onRefresh();
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
onTableChange({
|
|
88
|
+
pageSize,
|
|
89
|
+
pageNo
|
|
90
|
+
}, filters, sorter) {
|
|
91
|
+
Object.assign(this.pagination, {
|
|
92
|
+
pageSize,
|
|
93
|
+
pageNo
|
|
94
|
+
});
|
|
95
|
+
this.sorter = sorter;
|
|
96
|
+
// 检查 onRefresh 方法是否存在,避免调用不存在的方法
|
|
97
|
+
if (typeof this.onRefresh === 'function') {
|
|
98
|
+
this.onRefresh();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export { table as default, tableSelection };
|
|
105
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../src/mixin/table.js"],"sourcesContent":["/*\n * @Author: xiaodongyu\n * @Date 2019-12-05 15:12:11\n * @Last Modified by: lwwshare\n * @Last Modified time: 2025-06-16 00:37:59\n */\n\nimport _ from 'underscore';\n\n// 使用这个的话,TableOptions没法放在$options里\nexport const tableSelection = (\n TableOptions,\n {disabled, title, width = 37, ...rowSelection} = {}\n) => ({\n data() {\n return {\n selectedRowKeys: [],\n selectedRows: []\n };\n },\n\n computed: {\n TableOptions() {\n return {\n rowSelection: {\n fixed: true,\n columnTitle: title,\n columnWidth: width,\n selectedRowKeys: this.selectedRowKeys,\n onChange: this.onTableSelectChange,\n getCheckboxProps: record => ({props: {disabled: disabled ? disabled(record) : false}}),\n ...rowSelection\n },\n ...TableOptions\n };\n }\n },\n\n methods: {\n onTableSelectChange(selectedRowKeys, selectedRows) {\n this.selectedRowKeys = selectedRowKeys;\n this.selectedRows = selectedRows;\n },\n\n clearSelectedRows() {\n this.selectedRowKeys = [];\n this.selectedRows = [];\n }\n }\n});\n\nexport default {\n data() {\n return {\n cond: null,\n pagination: {\n pageNo: 1,\n pageSize: 10,\n total: 0\n },\n sorter: {}\n };\n },\n\n computed: {\n params() {\n return {\n ...this.pagination,\n total: undefined,\n ...this.cond\n };\n }\n },\n\n methods: {\n onSearch({values} = {}) {\n this.pagination.pageNo = 1;\n this.cond = _.omit(values, value => value === '');\n // 检查 onRefresh 方法是否存在,避免调用不存在的方法\n if (typeof this.onRefresh === 'function') {\n this.onRefresh();\n }\n },\n\n onTableChange({pageSize, pageNo}, filters, sorter) {\n Object.assign(this.pagination, {pageSize, pageNo});\n this.sorter = sorter;\n // 检查 onRefresh 方法是否存在,避免调用不存在的方法\n if (typeof this.onRefresh === 'function') {\n this.onRefresh();\n }\n }\n }\n};\n"],"names":["tableSelection","TableOptions","disabled","title","width","rowSelection","data","selectedRowKeys","selectedRows","computed","fixed","columnTitle","columnWidth","onChange","onTableSelectChange","getCheckboxProps","record","props","methods","clearSelectedRows","cond","pagination","pageNo","pageSize","total","sorter","params","undefined","onSearch","values","_","omit","value","onRefresh","onTableChange","filters","Object","assign"],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import Vue from 'vue';
|
|
2
|
+
import { mapGetters } from 'vuex';
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
* @Author: xiaodongyu
|
|
6
|
+
* @Date 2019-11-18 14:41:13
|
|
7
|
+
* @Last Modified by: xiaodongyu
|
|
8
|
+
* @Last Modified time: 2021-11-16 12:58:46
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const NoWatermarkRouteNames = ['login'];
|
|
12
|
+
var watermark = {
|
|
13
|
+
computed: {
|
|
14
|
+
...mapGetters(['user'])
|
|
15
|
+
},
|
|
16
|
+
methods: {
|
|
17
|
+
getBackgroundImage() {
|
|
18
|
+
const {
|
|
19
|
+
user: {
|
|
20
|
+
name
|
|
21
|
+
},
|
|
22
|
+
$route: {
|
|
23
|
+
name: routeName
|
|
24
|
+
}
|
|
25
|
+
} = this;
|
|
26
|
+
if (!name || NoWatermarkRouteNames.includes(routeName)) return {};
|
|
27
|
+
const width = 260;
|
|
28
|
+
const height = 180;
|
|
29
|
+
const canvas = document.createElement('canvas');
|
|
30
|
+
Object.assign(canvas, {
|
|
31
|
+
width,
|
|
32
|
+
height
|
|
33
|
+
});
|
|
34
|
+
const ctx = canvas.getContext('2d');
|
|
35
|
+
ctx.fillStyle = 'rgba(221,221,221, .6)';
|
|
36
|
+
ctx.rotate(20 * (Math.PI / 180));
|
|
37
|
+
ctx.font = 'normal 14px Microsoft Yahei';
|
|
38
|
+
ctx.fillText(name, 20, 10);
|
|
39
|
+
ctx.font = 'normal 12px Microsoft Yahei';
|
|
40
|
+
ctx.fillText(Vue.filter('dateTime')(Date.now()), 20, 30);
|
|
41
|
+
const imgUrl = canvas.toDataURL();
|
|
42
|
+
const background = `url(${imgUrl}) 0 0 repeat, url(${imgUrl}) ${width / 2}px ${height / 2}px repeat`;
|
|
43
|
+
return {
|
|
44
|
+
background
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export { watermark as default };
|
|
51
|
+
//# sourceMappingURL=watermark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watermark.js","sources":["../../src/mixin/watermark.js"],"sourcesContent":["/*\n * @Author: xiaodongyu\n * @Date 2019-11-18 14:41:13\n * @Last Modified by: xiaodongyu\n * @Last Modified time: 2021-11-16 12:58:46\n */\n\nimport Vue from 'vue';\nimport {mapGetters} from 'vuex';\n\nconst NoWatermarkRouteNames = ['login'];\n\nexport default {\n computed: {\n ...mapGetters(['user'])\n },\n\n methods: {\n getBackgroundImage() {\n const {user: {name}, $route: {name: routeName}} = this;\n if (!name || NoWatermarkRouteNames.includes(routeName)) return {};\n\n const width = 260;\n const height = 180;\n const canvas = document.createElement('canvas');\n Object.assign(canvas, {width, height});\n\n const ctx = canvas.getContext('2d');\n ctx.fillStyle = 'rgba(221,221,221, .6)';\n ctx.rotate(20 * (Math.PI / 180));\n ctx.font = 'normal 14px Microsoft Yahei';\n ctx.fillText(name, 20, 10);\n ctx.font = 'normal 12px Microsoft Yahei';\n ctx.fillText(Vue.filter('dateTime')(Date.now()), 20, 30);\n const imgUrl = canvas.toDataURL();\n const background = `url(${imgUrl}) 0 0 repeat, url(${imgUrl}) ${width / 2}px ${height / 2}px repeat`;\n\n return {background};\n }\n }\n};\n"],"names":["NoWatermarkRouteNames","computed","mapGetters","methods","getBackgroundImage","user","name","$route","routeName","includes","width","height","canvas","document","createElement","Object","assign","ctx","getContext","fillStyle","rotate","Math","PI","font","fillText","Vue","filter","Date","now","imgUrl","toDataURL","background"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;;AAKA,MAAMA,qBAAqB,GAAG,CAAC,OAAO,CAAC,CAAA;AAEvC,gBAAe;AACXC,EAAAA,QAAQ,EAAE;AACN,IAAA,GAAGC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;GACzB;AAEDC,EAAAA,OAAO,EAAE;AACLC,IAAAA,kBAAkBA,GAAG;MACjB,MAAM;AAACC,QAAAA,IAAI,EAAE;AAACC,UAAAA,IAAAA;SAAK;AAAEC,QAAAA,MAAM,EAAE;AAACD,UAAAA,IAAI,EAAEE,SAAAA;AAAS,SAAA;AAAC,OAAC,GAAG,IAAI,CAAA;AACtD,MAAA,IAAI,CAACF,IAAI,IAAIN,qBAAqB,CAACS,QAAQ,CAACD,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;MAEjE,MAAME,KAAK,GAAG,GAAG,CAAA;MACjB,MAAMC,MAAM,GAAG,GAAG,CAAA;AAClB,MAAA,MAAMC,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC,CAAA;AAC/CC,MAAAA,MAAM,CAACC,MAAM,CAACJ,MAAM,EAAE;QAACF,KAAK;AAAEC,QAAAA,MAAAA;AAAM,OAAC,CAAC,CAAA;AAEtC,MAAA,MAAMM,GAAG,GAAGL,MAAM,CAACM,UAAU,CAAC,IAAI,CAAC,CAAA;MACnCD,GAAG,CAACE,SAAS,GAAG,uBAAuB,CAAA;MACvCF,GAAG,CAACG,MAAM,CAAC,EAAE,IAAIC,IAAI,CAACC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;MAChCL,GAAG,CAACM,IAAI,GAAG,6BAA6B,CAAA;MACxCN,GAAG,CAACO,QAAQ,CAAClB,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;MAC1BW,GAAG,CAACM,IAAI,GAAG,6BAA6B,CAAA;MACxCN,GAAG,CAACO,QAAQ,CAACC,GAAG,CAACC,MAAM,CAAC,UAAU,CAAC,CAACC,IAAI,CAACC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AACxD,MAAA,MAAMC,MAAM,GAAGjB,MAAM,CAACkB,SAAS,EAAE,CAAA;AACjC,MAAA,MAAMC,UAAU,GAAG,CAAOF,IAAAA,EAAAA,MAAM,qBAAqBA,MAAM,CAAA,EAAA,EAAKnB,KAAK,GAAG,CAAC,CAAA,GAAA,EAAMC,MAAM,GAAG,CAAC,CAAW,SAAA,CAAA,CAAA;MAEpG,OAAO;AAACoB,QAAAA,UAAAA;OAAW,CAAA;AACvB,KAAA;AACJ,GAAA;AACJ,CAAC;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: pengmeng
|
|
3
|
+
* @Date: 2020-04-20 17:34:39
|
|
4
|
+
* @Last Modified by: pengmeng
|
|
5
|
+
* @Last Modified time: 2020-04-20 20:09:40
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const current = 'Asia/Shanghai';
|
|
9
|
+
var timezone = {
|
|
10
|
+
state: {
|
|
11
|
+
current
|
|
12
|
+
},
|
|
13
|
+
getters: {
|
|
14
|
+
timezone: state => state.current
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { timezone as default };
|
|
19
|
+
//# sourceMappingURL=timezone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezone.js","sources":["../../../src/store/module/timezone.js"],"sourcesContent":["/*\n * @Author: pengmeng\n * @Date: 2020-04-20 17:34:39\n * @Last Modified by: pengmeng\n * @Last Modified time: 2020-04-20 20:09:40\n */\n\nconst current = 'Asia/Shanghai';\n\nexport default {\n state: {\n current\n },\n\n getters: {\n timezone: state => state.current\n }\n};\n"],"names":["current","state","getters","timezone"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,OAAO,GAAG,eAAe,CAAA;AAE/B,eAAe;AACXC,EAAAA,KAAK,EAAE;AACHD,IAAAA,OAAAA;GACH;AAEDE,EAAAA,OAAO,EAAE;AACLC,IAAAA,QAAQ,EAAEF,KAAK,IAAIA,KAAK,CAACD,OAAAA;AAC7B,GAAA;AACJ,CAAC;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: xiaodongyu
|
|
3
|
+
* @Date 2020-04-07 14:56:22
|
|
4
|
+
* @Last Modified by: xiaodongyu
|
|
5
|
+
* @Last Modified time: 2020-04-07 14:56:56
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const boolOf = str => !!str && str === 'TRUE';
|
|
9
|
+
const valueOf = bool => {
|
|
10
|
+
if (typeof bool !== 'boolean') return undefined;
|
|
11
|
+
return bool ? 'TRUE' : 'FALSE';
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { boolOf, valueOf };
|
|
15
|
+
//# sourceMappingURL=enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum.js","sources":["../../src/util/enum.js"],"sourcesContent":["/*\n * @Author: xiaodongyu\n * @Date 2020-04-07 14:56:22\n * @Last Modified by: xiaodongyu\n * @Last Modified time: 2020-04-07 14:56:56\n */\n\nexport const boolOf = str => !!str && str === 'TRUE';\n\nexport const valueOf = bool => {\n if (typeof bool !== 'boolean') return undefined;\n\n return bool ? 'TRUE' : 'FALSE';\n};\n"],"names":["boolOf","str","valueOf","bool","undefined"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,MAAM,GAAGC,GAAG,IAAI,CAAC,CAACA,GAAG,IAAIA,GAAG,KAAK,OAAM;AAEvCC,MAAAA,OAAO,GAAGC,IAAI,IAAI;AAC3B,EAAA,IAAI,OAAOA,IAAI,KAAK,SAAS,EAAE,OAAOC,SAAS,CAAA;AAE/C,EAAA,OAAOD,IAAI,GAAG,MAAM,GAAG,OAAO,CAAA;AAClC;;;;"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
import { valueOf, boolOf } from './enum.js';
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
* @Author: xiaodongyu
|
|
6
|
+
* @Date 2019-12-12 11:35:18
|
|
7
|
+
* @Last Modified by: wenxiujiang
|
|
8
|
+
* @Last Modified time: 2024-04-16 14:02:52
|
|
9
|
+
*/
|
|
10
|
+
const listSeparator = '\n';
|
|
11
|
+
|
|
12
|
+
// ListBrList 展示textarea, 接口要List
|
|
13
|
+
const list = {
|
|
14
|
+
format: val => val && val.join(listSeparator),
|
|
15
|
+
unformat: (val, {
|
|
16
|
+
lineTrim
|
|
17
|
+
}) => {
|
|
18
|
+
if (lineTrim) {
|
|
19
|
+
if (val?.trim()) {
|
|
20
|
+
return val.trim().split(listSeparator).reduce((acc, cur) => cur.trim() ? [...acc, cur.trim()] : acc, []);
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
return val ? val.trim().split(listSeparator) : undefined;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// CommaBrComma 展示textarea, 接口要CommaString
|
|
29
|
+
const comma = {
|
|
30
|
+
format: val => val && val.split(',').join(listSeparator),
|
|
31
|
+
unformat: val => val && val.trim().split(listSeparator).join(',')
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
// ListBrJsonList 展示textarea, 接口要JsonList, 多用于查询条件,不支持编辑
|
|
35
|
+
const listJson = {
|
|
36
|
+
...list,
|
|
37
|
+
unformat: val => val && JSON.stringify(val.trim().split(listSeparator))
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
// BooleanEnumBoolean 展示enum, 接口要boolean
|
|
41
|
+
const boolean = {
|
|
42
|
+
format: valueOf,
|
|
43
|
+
unformat: boolOf
|
|
44
|
+
};
|
|
45
|
+
const bool = {
|
|
46
|
+
format: val => !!val || val === false ? `${val}` : undefined,
|
|
47
|
+
unformat: val => typeof val !== 'string' ? undefined : val === 'true'
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
// CommaListComma 展示enum, 接口要CommaString
|
|
51
|
+
const listComma = {
|
|
52
|
+
format: val => val && val.trim().split(','),
|
|
53
|
+
unformat: val => val && val.join(',')
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// 展示,分隔string,接口要list
|
|
57
|
+
const commaToList = {
|
|
58
|
+
format(val) {
|
|
59
|
+
return val && val.join(',');
|
|
60
|
+
},
|
|
61
|
+
unformat(val) {
|
|
62
|
+
return val ? val.trim().split(',') : undefined;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
// ObjectJsonObject 展示textarea, 接口要Object
|
|
67
|
+
const json = {
|
|
68
|
+
format: val => {
|
|
69
|
+
try {
|
|
70
|
+
return JSON.stringify(val, null, 2);
|
|
71
|
+
} catch (err) {
|
|
72
|
+
return val;
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
unformat: val => {
|
|
76
|
+
try {
|
|
77
|
+
return JSON.parse(val);
|
|
78
|
+
} catch (err) {
|
|
79
|
+
return val;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
// StringMomentString 财务相关接口要 DateString
|
|
85
|
+
const date = {
|
|
86
|
+
format: val => {
|
|
87
|
+
if (!val) return val;
|
|
88
|
+
if (Array.isArray(val)) {
|
|
89
|
+
return val.map(item => moment(item).valueOf());
|
|
90
|
+
}
|
|
91
|
+
return moment(val).valueOf();
|
|
92
|
+
},
|
|
93
|
+
unformat: val => {
|
|
94
|
+
if (!val) return val;
|
|
95
|
+
if (Array.isArray(val)) {
|
|
96
|
+
return val.map(item => moment(item).format('YYYY-MM-DD'));
|
|
97
|
+
}
|
|
98
|
+
return moment(val).format('YYYY-MM-DD');
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
const dateTime = {
|
|
102
|
+
format: val => {
|
|
103
|
+
if (!val) return val;
|
|
104
|
+
if (Array.isArray(val)) {
|
|
105
|
+
return val.map(item => moment(item).valueOf());
|
|
106
|
+
}
|
|
107
|
+
return moment(val).valueOf();
|
|
108
|
+
},
|
|
109
|
+
unformat: val => {
|
|
110
|
+
if (!val) return val;
|
|
111
|
+
if (Array.isArray(val)) {
|
|
112
|
+
return val.map(item => moment(item).format('YYYY-MM-DD HH:mm:ss'));
|
|
113
|
+
}
|
|
114
|
+
return moment(val).format('YYYY-MM-DD HH:mm:ss');
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
const getPrecision = num => {
|
|
118
|
+
const [integer, decimal = ''] = `${num}`.split('.');
|
|
119
|
+
return {
|
|
120
|
+
num: +`${integer}${decimal}`,
|
|
121
|
+
digits: decimal?.length
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
const percent = {
|
|
125
|
+
format: val => {
|
|
126
|
+
if (!val) return val;
|
|
127
|
+
const {
|
|
128
|
+
num,
|
|
129
|
+
digits
|
|
130
|
+
} = getPrecision(val);
|
|
131
|
+
const res = num * 100 / Math.pow(10, digits);
|
|
132
|
+
return !isNaN(res) ? res : val;
|
|
133
|
+
},
|
|
134
|
+
unformat: val => {
|
|
135
|
+
if (!val) return val;
|
|
136
|
+
const {
|
|
137
|
+
num,
|
|
138
|
+
digits
|
|
139
|
+
} = getPrecision(val);
|
|
140
|
+
const res = num / (100 * Math.pow(10, digits));
|
|
141
|
+
return !isNaN(res) ? res : val;
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
const FormatMap = {
|
|
145
|
+
boolean,
|
|
146
|
+
bool,
|
|
147
|
+
list,
|
|
148
|
+
comma,
|
|
149
|
+
listJson,
|
|
150
|
+
json,
|
|
151
|
+
listComma,
|
|
152
|
+
date,
|
|
153
|
+
dateTime,
|
|
154
|
+
percent,
|
|
155
|
+
commaToList
|
|
156
|
+
};
|
|
157
|
+
var formatMap = format => {
|
|
158
|
+
if (typeof format === 'string') {
|
|
159
|
+
return FormatMap[format];
|
|
160
|
+
}
|
|
161
|
+
return format;
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
export { formatMap as default };
|
|
165
|
+
//# sourceMappingURL=format-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-map.js","sources":["../../src/util/format-map.js"],"sourcesContent":["/*\n * @Author: xiaodongyu\n * @Date 2019-12-12 11:35:18\n * @Last Modified by: wenxiujiang\n * @Last Modified time: 2024-04-16 14:02:52\n */\nimport moment from 'moment';\n\nimport {boolOf, valueOf} from './enum.js';\n\nconst listSeparator = '\\n';\n\n// ListBrList 展示textarea, 接口要List\nconst list = {\n format: val => val && val.join(listSeparator),\n unformat: (val, {lineTrim}) => {\n if (lineTrim) {\n if (val?.trim()) {\n return val.trim().split(listSeparator).reduce((acc, cur) => cur.trim() ? [...acc, cur.trim()] : acc, []);\n }\n\n return undefined;\n }\n\n return (val ? val.trim().split(listSeparator) : undefined);\n }\n};\n\n// CommaBrComma 展示textarea, 接口要CommaString\nconst comma = {\n format: val => val && val.split(',').join(listSeparator),\n unformat: val => val\n && val\n .trim()\n .split(listSeparator)\n .join(',')\n};\n\n// ListBrJsonList 展示textarea, 接口要JsonList, 多用于查询条件,不支持编辑\nconst listJson = {\n ...list,\n unformat: val => val && JSON.stringify(val.trim().split(listSeparator))\n};\n\n// BooleanEnumBoolean 展示enum, 接口要boolean\nconst boolean = {\n format: valueOf,\n unformat: boolOf\n};\n\nconst bool = {\n format: val => ((!!val || val === false) ? `${val}` : undefined),\n unformat: val => (typeof val !== 'string' ? undefined : val === 'true')\n};\n\n// CommaListComma 展示enum, 接口要CommaString\nconst listComma = {\n format: val => val && val.trim().split(','),\n unformat: val => val && val.join(',')\n};\n\n// 展示,分隔string,接口要list\nconst commaToList = {\n format(val) {\n return val && val.join(',');\n },\n unformat(val) {\n return val ? val.trim().split(',') : undefined;\n }\n};\n\n// ObjectJsonObject 展示textarea, 接口要Object\nconst json = {\n format: val => {\n try {\n return JSON.stringify(val, null, 2);\n } catch (err) {\n return val;\n }\n },\n unformat: val => {\n try {\n return JSON.parse(val);\n } catch (err) {\n return val;\n }\n }\n};\n\n// StringMomentString 财务相关接口要 DateString\nconst date = {\n format: val => {\n if (!val) return val;\n if (Array.isArray(val)) {\n return val.map(item => (moment(item).valueOf()));\n }\n\n return (moment(val).valueOf());\n },\n unformat: val => {\n if (!val) return val;\n if (Array.isArray(val)) {\n return val.map(item => moment(item).format('YYYY-MM-DD'));\n }\n\n return moment(val).format('YYYY-MM-DD');\n }\n};\nconst dateTime = {\n format: val => {\n if (!val) return val;\n if (Array.isArray(val)) {\n return val.map(item => moment(item).valueOf());\n }\n\n return moment(val).valueOf();\n },\n unformat: val => {\n if (!val) return val;\n if (Array.isArray(val)) {\n return val.map(item => moment(item).format('YYYY-MM-DD HH:mm:ss'));\n }\n\n return moment(val).format('YYYY-MM-DD HH:mm:ss');\n }\n};\n\nconst getPrecision = num => {\n const [integer, decimal = ''] = `${num}`.split('.');\n\n return {\n num: +`${integer}${decimal}`,\n digits: decimal?.length\n };\n};\n\nconst percent = {\n format: val => {\n if (!val) return val;\n\n const {num, digits} = getPrecision(val);\n const res = (num * 100) / Math.pow(10, digits);\n\n return !isNaN(res) ? res : val;\n },\n unformat: val => {\n if (!val) return val;\n\n const {num, digits} = getPrecision(val);\n const res = num / (100 * Math.pow(10, digits));\n\n return !isNaN(res) ? res : val;\n }\n};\n\nconst FormatMap = {\n boolean,\n bool,\n list,\n comma,\n listJson,\n json,\n listComma,\n date,\n dateTime,\n percent,\n commaToList\n};\n\nexport default format => {\n if (typeof format === 'string') {\n return FormatMap[format];\n }\n\n return format;\n};\n\n"],"names":["listSeparator","list","format","val","join","unformat","lineTrim","trim","split","reduce","acc","cur","undefined","comma","listJson","JSON","stringify","boolean","valueOf","boolOf","bool","listComma","commaToList","json","err","parse","date","Array","isArray","map","item","moment","dateTime","getPrecision","num","integer","decimal","digits","length","percent","res","Math","pow","isNaN","FormatMap"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { camelCaseToUnderscore } from './tool.js';
|
|
2
|
+
export { getStorage, removeItem, setStorage } from './local-storage.js';
|
|
3
|
+
export { appendClass, evalProp, isMobile, merge, numbersToStr, pickValue, setValue, spreadObjectKeys, spreadProps } from './object.js';
|
|
4
|
+
export { boolOf, valueOf } from './enum.js';
|
|
5
|
+
export { pureJSONString, reformatJson } from './json.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: YQG Team
|
|
3
|
+
* @Date: 2024-12-19
|
|
4
|
+
* @Description: JSON utility functions
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Convert value to pure JSON string
|
|
9
|
+
* @param {any} value - The value to convert
|
|
10
|
+
* @returns {string} JSON string
|
|
11
|
+
*/
|
|
12
|
+
const pureJSONString = value => {
|
|
13
|
+
try {
|
|
14
|
+
return JSON.stringify(value, null, 2);
|
|
15
|
+
} catch (error) {
|
|
16
|
+
console.error('Error converting to JSON string:', error);
|
|
17
|
+
return String(value);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Reformat JSON string
|
|
23
|
+
* @param {string} value - The JSON string to reformat
|
|
24
|
+
* @param {Object} context - Component context
|
|
25
|
+
* @returns {string} Reformatted JSON string
|
|
26
|
+
*/
|
|
27
|
+
const reformatJson = (value, context) => {
|
|
28
|
+
try {
|
|
29
|
+
// Parse and re-stringify to format properly
|
|
30
|
+
const parsed = JSON.parse(value);
|
|
31
|
+
return JSON.stringify(parsed, null, 2);
|
|
32
|
+
} catch (error) {
|
|
33
|
+
console.error('Error reformatting JSON:', error);
|
|
34
|
+
// If parsing fails, return original value
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export { pureJSONString, reformatJson };
|
|
40
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sources":["../../src/util/json.js"],"sourcesContent":["/*\n * @Author: YQG Team\n * @Date: 2024-12-19\n * @Description: JSON utility functions\n */\n\n/**\n * Convert value to pure JSON string\n * @param {any} value - The value to convert\n * @returns {string} JSON string\n */\nexport const pureJSONString = (value) => {\n try {\n return JSON.stringify(value, null, 2);\n } catch (error) {\n console.error('Error converting to JSON string:', error);\n return String(value);\n }\n};\n\n/**\n * Reformat JSON string\n * @param {string} value - The JSON string to reformat\n * @param {Object} context - Component context\n * @returns {string} Reformatted JSON string\n */\nexport const reformatJson = (value, context) => {\n try {\n // Parse and re-stringify to format properly\n const parsed = JSON.parse(value);\n return JSON.stringify(parsed, null, 2);\n } catch (error) {\n console.error('Error reformatting JSON:', error);\n // If parsing fails, return original value\n return value;\n }\n};\n"],"names":["pureJSONString","value","JSON","stringify","error","console","String","reformatJson","context","parsed","parse"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACaA,MAAAA,cAAc,GAAIC,KAAK,IAAK;EACrC,IAAI;IACA,OAAOC,IAAI,CAACC,SAAS,CAACF,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;GACxC,CAAC,OAAOG,KAAK,EAAE;AACZC,IAAAA,OAAO,CAACD,KAAK,CAAC,kCAAkC,EAAEA,KAAK,CAAC,CAAA;IACxD,OAAOE,MAAM,CAACL,KAAK,CAAC,CAAA;AACxB,GAAA;AACJ,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;MACaM,YAAY,GAAGA,CAACN,KAAK,EAAEO,OAAO,KAAK;EAC5C,IAAI;AACA;AACA,IAAA,MAAMC,MAAM,GAAGP,IAAI,CAACQ,KAAK,CAACT,KAAK,CAAC,CAAA;IAChC,OAAOC,IAAI,CAACC,SAAS,CAACM,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;GACzC,CAAC,OAAOL,KAAK,EAAE;AACZC,IAAAA,OAAO,CAACD,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC,CAAA;AAChD;AACA,IAAA,OAAOH,KAAK,CAAA;AAChB,GAAA;AACJ;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: chengyuzhang
|
|
3
|
+
* @Date: 2020-05-12 10:43:56
|
|
4
|
+
* @Last Modified by: chengyuzhang
|
|
5
|
+
* @Last Modified time: 2020-05-12 10:43:56
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
var keyCodeMap = {
|
|
9
|
+
esc: 27,
|
|
10
|
+
tab: 9,
|
|
11
|
+
enter: 13,
|
|
12
|
+
up: 38,
|
|
13
|
+
down: 40,
|
|
14
|
+
backSpace: 8
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { keyCodeMap as default };
|
|
18
|
+
//# sourceMappingURL=keyCodeMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyCodeMap.js","sources":["../../src/util/keyCodeMap.js"],"sourcesContent":["/*\n * @Author: chengyuzhang\n * @Date: 2020-05-12 10:43:56\n * @Last Modified by: chengyuzhang\n * @Last Modified time: 2020-05-12 10:43:56\n */\n\nexport default {\n esc: 27,\n tab: 9,\n enter: 13,\n up: 38,\n down: 40,\n backSpace: 8\n};\n"],"names":["esc","tab","enter","up","down","backSpace"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAe;AACXA,EAAAA,GAAG,EAAE,EAAE;AACPC,EAAAA,GAAG,EAAE,CAAC;AACNC,EAAAA,KAAK,EAAE,EAAE;AACTC,EAAAA,EAAE,EAAE,EAAE;AACNC,EAAAA,IAAI,EAAE,EAAE;AACRC,EAAAA,SAAS,EAAE,CAAA;AACf,CAAC;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: hongweihu
|
|
3
|
+
* @Date: 2022-01-06 16:54:15
|
|
4
|
+
* @Last Modified by: hongweihu
|
|
5
|
+
* @Last Modified time: 2022-01-06 17:39:21
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const setStorage = (itemName, item) => {
|
|
9
|
+
window.localStorage.setItem(itemName, item);
|
|
10
|
+
};
|
|
11
|
+
const getStorage = itemName => window.localStorage.getItem(itemName);
|
|
12
|
+
const removeItem = itemName => window.localStorage.removeItem(itemName);
|
|
13
|
+
|
|
14
|
+
export { getStorage, removeItem, setStorage };
|
|
15
|
+
//# sourceMappingURL=local-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-storage.js","sources":["../../src/util/local-storage.js"],"sourcesContent":["/*\n * @Author: hongweihu\n * @Date: 2022-01-06 16:54:15\n * @Last Modified by: hongweihu\n * @Last Modified time: 2022-01-06 17:39:21\n */\n\nconst setStorage = (itemName, item) => {\n window.localStorage.setItem(itemName, item);\n};\n\nconst getStorage = itemName => window.localStorage.getItem(itemName);\n\nconst removeItem = itemName => window.localStorage.removeItem(itemName);\n\nexport {setStorage, getStorage, removeItem};\n"],"names":["setStorage","itemName","item","window","localStorage","setItem","getStorage","getItem","removeItem"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,UAAU,GAAGA,CAACC,QAAQ,EAAEC,IAAI,KAAK;EACnCC,MAAM,CAACC,YAAY,CAACC,OAAO,CAACJ,QAAQ,EAAEC,IAAI,CAAC,CAAA;AAC/C,EAAC;AAEKI,MAAAA,UAAU,GAAGL,QAAQ,IAAIE,MAAM,CAACC,YAAY,CAACG,OAAO,CAACN,QAAQ,EAAC;AAE9DO,MAAAA,UAAU,GAAGP,QAAQ,IAAIE,MAAM,CAACC,YAAY,CAACI,UAAU,CAACP,QAAQ;;;;"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: xiaodongyu
|
|
3
|
+
* @Date 2019-12-07 14:00:32
|
|
4
|
+
* @Last Modified by: mengpeng
|
|
5
|
+
* @Last Modified time: 2022-11-10 15:39:31
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const evalProp = (value, values) => {
|
|
9
|
+
if (typeof value === 'function') {
|
|
10
|
+
return value(values);
|
|
11
|
+
}
|
|
12
|
+
return value;
|
|
13
|
+
};
|
|
14
|
+
const getKeys = (keyString = '') => keyString.split(/\]?[[.]/);
|
|
15
|
+
const pickValue = (obj, keyString) => {
|
|
16
|
+
const keys = getKeys(keyString);
|
|
17
|
+
let value = obj;
|
|
18
|
+
try {
|
|
19
|
+
keys.forEach(key => value = value[key]);
|
|
20
|
+
} catch (err) {
|
|
21
|
+
value = undefined;
|
|
22
|
+
}
|
|
23
|
+
return value;
|
|
24
|
+
};
|
|
25
|
+
const setValue = (obj = {}, keyString, value) => {
|
|
26
|
+
const keys = getKeys(keyString);
|
|
27
|
+
const result = {
|
|
28
|
+
...obj
|
|
29
|
+
};
|
|
30
|
+
let target = result;
|
|
31
|
+
keys.forEach((key, idx) => {
|
|
32
|
+
if (idx === keys.length - 1) {
|
|
33
|
+
target[key] = value;
|
|
34
|
+
} else {
|
|
35
|
+
if (!target[key]) {
|
|
36
|
+
const nextKey = keys[idx + 1];
|
|
37
|
+
if (/^\d+$/.test(nextKey) && new RegExp(`${key}]?[${nextKey}]`).test(keyString)) {
|
|
38
|
+
target[key] = [];
|
|
39
|
+
} else {
|
|
40
|
+
target[key] = {};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
target = target[key];
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return result;
|
|
47
|
+
};
|
|
48
|
+
const spreadObjectKeys = origin => {
|
|
49
|
+
if (!origin) return origin;
|
|
50
|
+
return Object.entries(origin).reduce((acc, [key, value]) => setValue(acc, key, value), {});
|
|
51
|
+
};
|
|
52
|
+
const numberToStr = val => {
|
|
53
|
+
if ((val || val === 0 || val === false) && (val.constructor === Number || val.constructor === Boolean)) {
|
|
54
|
+
return val.toString();
|
|
55
|
+
}
|
|
56
|
+
return val;
|
|
57
|
+
};
|
|
58
|
+
const numbersToStr = val => {
|
|
59
|
+
if (val && val.constructor === Array) {
|
|
60
|
+
return val.map(numberToStr);
|
|
61
|
+
}
|
|
62
|
+
return numberToStr(val);
|
|
63
|
+
};
|
|
64
|
+
const isMobile = /mobile/i.test(navigator.userAgent);
|
|
65
|
+
function spreadProps({
|
|
66
|
+
class: className,
|
|
67
|
+
style,
|
|
68
|
+
ref,
|
|
69
|
+
key,
|
|
70
|
+
...props
|
|
71
|
+
} = {}) {
|
|
72
|
+
return {
|
|
73
|
+
key,
|
|
74
|
+
class: className,
|
|
75
|
+
style,
|
|
76
|
+
ref,
|
|
77
|
+
props
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function appendClass(className, appendix) {
|
|
81
|
+
// 目前只支持append string
|
|
82
|
+
if (typeof appendix !== 'string') return className;
|
|
83
|
+
if (!className) return appendix;
|
|
84
|
+
switch (className.constructor) {
|
|
85
|
+
case String:
|
|
86
|
+
return `${className} ${appendix}`;
|
|
87
|
+
case Object:
|
|
88
|
+
return {
|
|
89
|
+
...className,
|
|
90
|
+
[appendix]: true
|
|
91
|
+
};
|
|
92
|
+
case Array:
|
|
93
|
+
return [...className, appendix];
|
|
94
|
+
}
|
|
95
|
+
return className;
|
|
96
|
+
}
|
|
97
|
+
const isPlainObject = obj => {
|
|
98
|
+
if (obj === null || Array.isArray(obj)) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
return typeof obj === 'object';
|
|
102
|
+
};
|
|
103
|
+
const customizer = (target, source) => {
|
|
104
|
+
//对象需要考虑深层对象
|
|
105
|
+
if (isPlainObject(target) && isPlainObject(target)) {
|
|
106
|
+
return merge(target, source);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
//其他格式一律返回新值
|
|
110
|
+
return source;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
//两两合并
|
|
114
|
+
const merge = (target = {}, source = {}) => {
|
|
115
|
+
const res = {};
|
|
116
|
+
[...Object.keys(target), ...Object.keys(source)].forEach(key => {
|
|
117
|
+
const val = customizer(target[key], source[key]);
|
|
118
|
+
res[key] = typeof val === 'undefined' ? target[key] : val;
|
|
119
|
+
});
|
|
120
|
+
return res;
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
export { appendClass, evalProp, isMobile, merge, numbersToStr, pickValue, setValue, spreadObjectKeys, spreadProps };
|
|
124
|
+
//# sourceMappingURL=object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.js","sources":["../../src/util/object.js"],"sourcesContent":["/*\n * @Author: xiaodongyu\n * @Date 2019-12-07 14:00:32\n * @Last Modified by: mengpeng \n * @Last Modified time: 2022-11-10 15:39:31 \n */\n\nexport const evalProp = (value, values) => {\n if (typeof value === 'function') {\n return value(values);\n }\n\n return value;\n};\n\nconst getKeys = (keyString = '') => keyString.split(/\\]?[[.]/);\n\nexport const pickValue = (obj, keyString) => {\n const keys = getKeys(keyString);\n let value = obj;\n try {\n keys.forEach(key => (value = value[key]));\n } catch (err) {\n value = undefined;\n }\n\n return value;\n};\n\nexport const setValue = (obj = {}, keyString, value) => {\n const keys = getKeys(keyString);\n const result = {...obj};\n let target = result;\n keys.forEach((key, idx) => {\n if (idx === keys.length - 1) {\n target[key] = value;\n } else {\n if (!target[key]) {\n const nextKey = keys[idx + 1];\n if (/^\\d+$/.test(nextKey) && new RegExp(`${key}]?[${nextKey}]`).test(keyString)) {\n target[key] = [];\n } else {\n target[key] = {};\n }\n }\n\n target = target[key];\n }\n });\n\n return result;\n};\n\nexport const spreadObjectKeys = origin => {\n if (!origin) return origin;\n\n return Object.entries(origin)\n .reduce((acc, [key, value]) => setValue(acc, key, value), {});\n};\n\nconst numberToStr = val => {\n if ((val || val === 0 || val === false) && (val.constructor === Number || val.constructor === Boolean)) {\n return val.toString();\n }\n\n return val;\n};\n\nexport const numbersToStr = val => {\n if (val && val.constructor === Array) {\n return val.map(numberToStr);\n }\n\n return numberToStr(val);\n};\n\nexport const isMobile = /mobile/i.test(navigator.userAgent);\n\nexport function spreadProps({class: className, style, ref, key, ...props} = {}) {\n return {\n key,\n class: className,\n style,\n ref,\n props\n };\n}\n\nexport function appendClass(className, appendix) {\n // 目前只支持append string\n if (typeof appendix !== 'string') return className;\n\n if (!className) return appendix;\n\n switch (className.constructor) {\n case String:\n return `${className} ${appendix}`;\n case Object:\n return {...className, [appendix]: true};\n case Array:\n return [...className, appendix];\n }\n\n return className;\n}\n\nconst isPlainObject = obj => {\n if (obj === null || Array.isArray(obj)) {\n return false;\n }\n\n return typeof obj === 'object';\n};\n\nconst customizer = (target, source) => {\n //对象需要考虑深层对象\n if (isPlainObject(target) && isPlainObject(target)) {\n return merge(target, source);\n }\n\n //其他格式一律返回新值\n return source;\n};\n\n//两两合并\nexport const merge = (target = {}, source = {}) => {\n const res = {};\n [...Object.keys(target), ...Object.keys(source)]\n .forEach(key => {\n const val = customizer(target[key], source[key]);\n\n res[key] = typeof val === 'undefined' ? target[key] : val;\n });\n\n return res;\n};\n"],"names":["evalProp","value","values","getKeys","keyString","split","pickValue","obj","keys","forEach","key","err","undefined","setValue","result","target","idx","length","nextKey","test","RegExp","spreadObjectKeys","origin","Object","entries","reduce","acc","numberToStr","val","constructor","Number","Boolean","toString","numbersToStr","Array","map","isMobile","navigator","userAgent","spreadProps","class","className","style","ref","props","appendClass","appendix","String","isPlainObject","isArray","customizer","source","merge","res"],"mappings":"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"}
|