@web-utils/component 2.7.20 → 2.7.22
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/{config.46422d7f.js → config.7dec2bf2.js} +2 -2
- package/dist/chunks/confirmable-mixin.35bd1934.js +104 -0
- package/dist/chunks/dataformat.9cc4428a.js +158 -0
- package/dist/chunks/dayjs.ed2e1b73.js +247 -0
- package/dist/chunks/detail.d47a021c.js +29 -0
- package/dist/chunks/dic.9de2fe5a.js +135 -0
- package/dist/chunks/{event.dd6f522d.js → event.fc358074.js} +31 -31
- package/dist/chunks/{form-input-mixin.ff5b58f7.js → form-input-mixin.760cd65d.js} +6 -6
- package/dist/chunks/form-item-mixin.fa314b67.js +139 -0
- package/dist/chunks/{form-pick-mixin.61ad06b2.js → form-pick-mixin.c4e0391b.js} +2 -2
- package/dist/chunks/init.e0133910.js +122 -0
- package/dist/chunks/{input-number-mixin.41a066be.js → input-number-mixin.6849fa63.js} +4 -4
- package/dist/chunks/{mixins.5a78e0db.js → mixins.6a394a6c.js} +4 -4
- package/dist/chunks/{packages.1fc9ccba.js → packages.419bde01.js} +7 -7
- package/dist/chunks/permission.07c49abf.js +16 -0
- package/dist/chunks/slot.a7387ecc.js +27 -0
- package/dist/chunks/tab-mixin.9d568df9.js +81 -0
- package/dist/chunks/util.89913643.js +261 -0
- package/dist/chunks/utils.d7f73f8d.js +185 -0
- package/dist/chunks/utils.f44207f4.js +26 -0
- package/dist/chunks/vueComponentNormalizer.77ec6792.js +32 -0
- package/dist/components/address-input/index.js +36 -36
- package/dist/components/affix/index.js +39 -39
- package/dist/components/aside-menu/index.js +29 -29
- package/dist/components/avatar/index.js +43 -43
- package/dist/components/awesome-button/index.js +64 -34
- package/dist/components/base.css +1 -1
- package/dist/components/capsule-tab/index.js +26 -26
- package/dist/components/card/index.js +49 -49
- package/dist/components/carousel/index.js +35 -35
- package/dist/components/chat/index.js +203 -203
- package/dist/components/chunk-file-uploader/index.js +46 -46
- package/dist/components/chunk-file-uploader-button/index.js +22 -22
- package/dist/components/chunk-file-uploader-drop/index.js +47 -29
- package/dist/components/chunk-file-uploader-file/index.js +119 -119
- package/dist/components/chunk-file-uploader-files/index.js +27 -27
- package/dist/components/chunk-file-uploader-list/index.js +27 -27
- package/dist/components/chunk-file-uploader-un-support/index.js +27 -27
- package/dist/components/code-mirror-editor/index.js +136 -136
- package/dist/components/color-picker/index.js +57 -39
- package/dist/components/column/index.js +66 -66
- package/dist/components/column-default/index.js +54 -54
- package/dist/components/column-dynamic/index.js +54 -54
- package/dist/components/column-menu/index.js +128 -128
- package/dist/components/column-slot/index.js +168 -168
- package/dist/components/comment/index.js +33 -33
- package/dist/components/confirm-button/index.js +18 -18
- package/dist/components/confirmable/index.js +17 -17
- package/dist/components/context-menu/index.js +89 -89
- package/dist/components/count-up/index.js +50 -39
- package/dist/components/custom-scrollbar/index.js +62 -49
- package/dist/components/data-box/index.js +41 -41
- package/dist/components/data-card/index.js +38 -38
- package/dist/components/data-cardtext/index.js +33 -33
- package/dist/components/data-display/index.js +37 -37
- package/dist/components/data-icons/index.js +40 -40
- package/dist/components/data-imgtext/index.js +44 -44
- package/dist/components/data-operatext/index.js +44 -44
- package/dist/components/data-panel/index.js +38 -38
- package/dist/components/data-pay/index.js +60 -60
- package/dist/components/data-price/index.js +38 -38
- package/dist/components/data-progress/index.js +39 -39
- package/dist/components/data-rotate/index.js +39 -39
- package/dist/components/data-table-picker/index.js +151 -53
- package/dist/components/data-tabs/index.js +39 -39
- package/dist/components/data-tabs/style.css +1 -1
- package/dist/components/dialog-column/index.js +50 -50
- package/dist/components/dialog-excel/index.js +68 -68
- package/dist/components/dialog-filter/index.js +84 -84
- package/dist/components/dialog-form/index.js +89 -89
- package/dist/components/dynamic-table/index.js +71 -71
- package/dist/components/e-charts/index.js +95 -94
- package/dist/components/easy-popup/index.js +87 -0
- package/dist/components/easy-popup/style.css +1 -0
- package/dist/components/editable-progress/index.js +48 -48
- package/dist/components/editable-tree/index.js +701 -348
- package/dist/components/egd-collapse/index.js +29 -29
- package/dist/components/egd-collapse-item/index.js +51 -51
- package/dist/components/element-dialog/index.js +74 -65
- package/dist/components/empty-view/index.js +26 -26
- package/dist/components/error-view/index.js +25 -25
- package/dist/components/flex-column/index.js +31 -19
- package/dist/components/flex-item/index.js +32 -20
- package/dist/components/flex-row/index.js +31 -19
- package/dist/components/flex-scroller/index.js +24 -24
- package/dist/components/flex-scroller/style.css +1 -1
- package/dist/components/flow/index.js +100 -100
- package/dist/components/flow-node/index.js +37 -37
- package/dist/components/flow-viewer/index.js +162 -0
- package/dist/components/flow-viewer/style.css +1 -0
- package/dist/components/form-button/index.js +32 -32
- package/dist/components/form-cascader/index.js +73 -61
- package/dist/components/form-checkbox-group/index.js +72 -61
- package/dist/components/form-date-picker/index.js +71 -62
- package/dist/components/form-group/index.js +38 -38
- package/dist/components/form-holder/index.js +50 -32
- package/dist/components/form-input/index.js +61 -50
- package/dist/components/form-input-email/index.js +55 -44
- package/dist/components/form-input-id-card/index.js +60 -49
- package/dist/components/form-input-number/index.js +60 -49
- package/dist/components/form-input-phone-number/index.js +56 -45
- package/dist/components/form-input-time/index.js +59 -48
- package/dist/components/form-item/index.js +107 -79
- package/dist/components/form-item-config-provider/index.js +19 -19
- package/dist/components/form-item-group/index.js +65 -65
- package/dist/components/form-radio-group/index.js +72 -61
- package/dist/components/form-select/index.js +63 -52
- package/dist/components/form-switch/index.js +56 -45
- package/dist/components/form-temp/index.js +50 -50
- package/dist/components/form-textarea/index.js +55 -44
- package/dist/components/form-view/index.js +172 -149
- package/dist/components/fy-array/index.js +64 -64
- package/dist/components/fy-article/index.js +34 -34
- package/dist/components/fy-cascader/index.js +52 -52
- package/dist/components/fy-checkbox/index.js +52 -52
- package/dist/components/fy-code/index.js +30 -30
- package/dist/components/fy-curd/index.js +317 -317
- package/dist/components/fy-date/index.js +45 -45
- package/dist/components/fy-dialog-form/index.js +115 -115
- package/dist/components/fy-draggable/index.js +120 -120
- package/dist/components/fy-draggable/style.css +1 -1
- package/dist/components/fy-dynamic/index.js +126 -126
- package/dist/components/fy-empty/index.js +26 -26
- package/dist/components/fy-form/index.js +384 -366
- package/dist/components/fy-form-design/index.js +6956 -459
- package/dist/components/fy-form-design/style.css +1 -1
- package/dist/components/fy-form-menu/index.js +45 -45
- package/dist/components/fy-input/index.js +61 -61
- package/dist/components/fy-input-color/index.js +41 -41
- package/dist/components/fy-input-icon/index.js +70 -70
- package/dist/components/fy-input-map/index.js +102 -102
- package/dist/components/fy-input-number/index.js +39 -39
- package/dist/components/fy-input-table/index.js +70 -70
- package/dist/components/fy-input-tree/index.js +105 -105
- package/dist/components/fy-progress/index.js +25 -25
- package/dist/components/fy-radio/index.js +36 -36
- package/dist/components/fy-rate/index.js +40 -40
- package/dist/components/fy-select/index.js +101 -101
- package/dist/components/fy-slider/index.js +42 -42
- package/dist/components/fy-switch/index.js +37 -37
- package/dist/components/fy-tabs/index.js +35 -35
- package/dist/components/fy-time/index.js +47 -47
- package/dist/components/fy-title/index.js +23 -23
- package/dist/components/fy-tree/index.js +157 -157
- package/dist/components/fy-u-editor/index.js +138 -105
- package/dist/components/fy-upload/index.js +270 -270
- package/dist/components/guide-steps/index.js +41 -41
- package/dist/components/header-menu/index.js +94 -94
- package/dist/components/header-search/index.js +121 -121
- package/dist/components/highlight-j-s/index.js +76 -0
- package/dist/components/highlight-j-s/style.css +1 -0
- package/dist/components/icon-card/index.js +28 -28
- package/dist/components/icon-temp/index.js +24 -24
- package/dist/components/iframe-window/index.js +24 -24
- package/dist/components/iframe-window/style.css +1 -1
- package/dist/components/image-cropper/index.js +128 -119
- package/dist/components/image-preview/index.js +140 -130
- package/dist/components/image-viewer/index.js +35 -35
- package/dist/components/input-number/index.js +116 -116
- package/dist/components/input-number-range/index.js +37 -37
- package/dist/components/j-s-x-component/index.js +4 -4
- package/dist/components/keep-view-alive/index.js +71 -71
- package/dist/components/keyboard/index.js +182 -182
- package/dist/components/keyboard/style.css +1 -1
- package/dist/components/license/index.js +54 -54
- package/dist/components/loading-view/index.js +25 -25
- package/dist/components/login/index.js +94 -94
- package/dist/components/name-avatar/index.js +26 -26
- package/dist/components/nav-bar/index.js +22 -22
- package/dist/components/not-implement/index.js +22 -22
- package/dist/components/notice/index.js +55 -55
- package/dist/components/page/index.js +20 -20
- package/dist/components/page-header/index.js +28 -28
- package/dist/components/page-index/index.js +86 -62
- package/dist/components/page-index-top/index.js +73 -51
- package/dist/components/page-skeleton/index.js +28 -28
- package/dist/components/page-skeleton-new/index.js +38 -38
- package/dist/components/pageable-table/index.js +206 -161
- package/dist/components/pageable-table/style.css +1 -1
- package/dist/components/pageable-view/index.js +169 -124
- package/dist/components/pageable-view/style.css +1 -1
- package/dist/components/photo-swipe/index.js +88 -66
- package/dist/components/process-designer/index.js +4668 -0
- package/dist/components/process-designer/style.css +1 -0
- package/dist/components/properties-panel/index.js +4791 -0
- package/dist/components/properties-panel/style.css +1 -0
- package/dist/components/queue/index.js +24 -24
- package/dist/components/record-video/index.js +55 -55
- package/dist/components/resize-observer/index.js +26 -26
- package/dist/components/search/index.js +64 -64
- package/dist/components/search-popover/index.js +119 -99
- package/dist/components/sign/index.js +66 -66
- package/dist/components/sign-panel/index.js +78 -78
- package/dist/components/sign-panel/style.css +1 -1
- package/dist/components/skeleton/index.js +35 -35
- package/dist/components/split-pane/index.js +108 -90
- package/dist/components/stateful/index.js +29 -29
- package/dist/components/static-pageable-table/index.js +30 -30
- package/dist/components/swiper/index.js +93 -73
- package/dist/components/tab/index.js +47 -47
- package/dist/components/tab-item/index.js +29 -29
- package/dist/components/table-column/index.js +37 -27
- package/dist/components/table-page/index.js +51 -51
- package/dist/components/table-view/index.js +175 -148
- package/dist/components/tag-render/index.js +50 -39
- package/dist/components/text-ellipsis/index.js +40 -40
- package/dist/components/tinymce-editor/index.js +85 -67
- package/dist/components/tinymce-wrapper/index.js +88 -78
- package/dist/components/toolbar/index.js +52 -52
- package/dist/components/toolbar-button/index.js +56 -38
- package/dist/components/trigger/index.js +27 -27
- package/dist/components/verify/index.js +33 -33
- package/dist/components/vue-tags-input/index.js +137 -137
- package/dist/components/watermark/index.js +37 -27
- package/dist/components/watermark/style.css +1 -1
- package/dist/index.css +1983 -228
- package/dist/index.es.js +23132 -12684
- package/package.json +18 -6
- package/web-types.json +307 -1
- package/dist/chunks/AfdColumn.vue_vue_type_template_lang.768f2ed2.js +0 -302
- package/dist/chunks/ConfigArray.vue_vue_type_template_lang.66483daa.js +0 -51
- package/dist/chunks/ConfigColor.vue_vue_type_template_lang.cd880091.js +0 -24
- package/dist/chunks/ConfigCustom.vue_vue_type_template_lang.6e03d7fd.js +0 -52
- package/dist/chunks/ConfigDate.vue_vue_type_template_lang.116fbad4.js +0 -104
- package/dist/chunks/ConfigDynamic.vue_vue_type_template_lang.99082e47.js +0 -133
- package/dist/chunks/ConfigEvent.vue_vue_type_template_lang.5e8ed6cc.js +0 -96
- package/dist/chunks/ConfigGroup.vue_vue_type_template_lang.44117322.js +0 -48
- package/dist/chunks/ConfigInput.vue_vue_type_template_lang.cc1eb052.js +0 -96
- package/dist/chunks/ConfigMap.vue_vue_type_template_lang.daee4d38.js +0 -31
- package/dist/chunks/ConfigNumber.vue_vue_type_template_lang.d60231d7.js +0 -130
- package/dist/chunks/ConfigRate.vue_vue_type_style_index_0_scoped_true_lang.cf5d437d.js +0 -125
- package/dist/chunks/ConfigSelect.vue_vue_type_template_lang.dfc91f07.js +0 -488
- package/dist/chunks/ConfigSlider.vue_vue_type_template_lang.27b8cc7b.js +0 -99
- package/dist/chunks/ConfigSwitch.vue_vue_type_style_index_0_scoped_true_lang.4caf1bd0.js +0 -54
- package/dist/chunks/ConfigTable.vue_vue_type_template_lang.b27540fd.js +0 -344
- package/dist/chunks/ConfigTextarea.vue_vue_type_template_lang.5cddf41c.js +0 -88
- package/dist/chunks/ConfigTitle.vue_vue_type_template_lang.57d9deb5.js +0 -87
- package/dist/chunks/ConfigTree.vue_vue_type_style_index_0_scoped_true_lang.89ec5376.js +0 -465
- package/dist/chunks/ConfigUEditor.vue_vue_type_template_lang.9726b4f5.js +0 -240
- package/dist/chunks/ConfigUpload.vue_vue_type_template_lang.129c0ced.js +0 -476
- package/dist/chunks/FormConfig.vue_vue_type_template_lang.82463ce5.js +0 -220
- package/dist/chunks/WidgetConfig.vue_vue_type_template_lang.3cc74fe8.js +0 -1821
- package/dist/chunks/WidgetForm.vue_vue_type_template_lang.d4b05679.js +0 -247
- package/dist/chunks/WidgetFormGroup.vue_vue_type_template_lang.bdcb6d37.js +0 -271
- package/dist/chunks/WidgetFormItem.vue_vue_type_template_lang.48d55a5c.js +0 -24
- package/dist/chunks/WidgetFormTable.vue_vue_type_template_lang.e2b788ba.js +0 -229
- package/dist/chunks/confirmable-mixin.3a79781b.js +0 -75
- package/dist/chunks/dataformat.65b92bfe.js +0 -158
- package/dist/chunks/detail.d67573b1.js +0 -28
- package/dist/chunks/dic.70feb9b4.js +0 -135
- package/dist/chunks/form-item-mixin.79f6eaff.js +0 -128
- package/dist/chunks/init.7c58eb34.js +0 -122
- package/dist/chunks/monaco.cefcb9f5.js +0 -290
- package/dist/chunks/permission.ce5d2121.js +0 -16
- package/dist/chunks/slot.4b391395.js +0 -27
- package/dist/chunks/tab-mixin.8c0142e0.js +0 -81
- package/dist/chunks/util.23fe58fb.js +0 -261
- package/dist/chunks/utils.97652d86.js +0 -26
- package/dist/chunks/utils.fa73de78.js +0 -185
- package/dist/chunks/vueComponentNormalizer.71e2aa87.js +0 -32
- package/dist/components/afd-column/index.js +0 -57
- package/dist/components/config-array/index.js +0 -28
- package/dist/components/config-color/index.js +0 -28
- package/dist/components/config-custom/index.js +0 -62
- package/dist/components/config-date/index.js +0 -28
- package/dist/components/config-dynamic/index.js +0 -28
- package/dist/components/config-event/index.js +0 -74
- package/dist/components/config-group/index.js +0 -36
- package/dist/components/config-input/index.js +0 -29
- package/dist/components/config-map/index.js +0 -28
- package/dist/components/config-number/index.js +0 -28
- package/dist/components/config-rate/index.js +0 -71
- package/dist/components/config-rate/style.css +0 -1
- package/dist/components/config-select/index.js +0 -90
- package/dist/components/config-slider/index.js +0 -28
- package/dist/components/config-switch/index.js +0 -33
- package/dist/components/config-switch/style.css +0 -1
- package/dist/components/config-table/index.js +0 -122
- package/dist/components/config-textarea/index.js +0 -28
- package/dist/components/config-title/index.js +0 -33
- package/dist/components/config-tree/index.js +0 -122
- package/dist/components/config-tree/style.css +0 -1
- package/dist/components/config-u-editor/index.js +0 -34
- package/dist/components/config-upload/index.js +0 -58
- package/dist/components/form-config/index.js +0 -28
- package/dist/components/widget-config/index.js +0 -110
- package/dist/components/widget-form/index.js +0 -71
- package/dist/components/widget-form-group/index.js +0 -96
- package/dist/components/widget-form-item/index.js +0 -71
- package/dist/components/widget-form-table/index.js +0 -95
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
const parentMixin = {
|
|
2
|
+
mounted() {
|
|
3
|
+
this.value >= 0 && (this.currentIndex = this.value), this.updateIndex();
|
|
4
|
+
},
|
|
5
|
+
methods: {
|
|
6
|
+
updateIndex() {
|
|
7
|
+
if (!this.$children || !this.$children.length)
|
|
8
|
+
return;
|
|
9
|
+
this.number = this.$children.length;
|
|
10
|
+
const children = this.$children;
|
|
11
|
+
for (let i = 0; i < children.length; i++)
|
|
12
|
+
children[i].currentIndex = i, children[i].currentSelected && (this.index = i);
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
props: {
|
|
16
|
+
value: Number
|
|
17
|
+
},
|
|
18
|
+
watch: {
|
|
19
|
+
currentIndex(val, oldVal) {
|
|
20
|
+
oldVal > -1 && this.$children[oldVal] && (this.$children[oldVal].currentSelected = !1), val > -1 && this.$children[val] && (this.$children[val].currentSelected = !0), this.$emit("input", val), this.$emit("on-index-change", val, oldVal);
|
|
21
|
+
},
|
|
22
|
+
index(val) {
|
|
23
|
+
this.currentIndex = val;
|
|
24
|
+
},
|
|
25
|
+
value(val) {
|
|
26
|
+
this.index = val;
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
data() {
|
|
30
|
+
return {
|
|
31
|
+
index: -1,
|
|
32
|
+
currentIndex: this.index,
|
|
33
|
+
number: this.$children.length
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
}, childMixin = {
|
|
37
|
+
props: {
|
|
38
|
+
selected: {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
default: !1
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
mounted() {
|
|
44
|
+
this.$parent.updateIndex();
|
|
45
|
+
},
|
|
46
|
+
beforeDestroy() {
|
|
47
|
+
const $parent = this.$parent;
|
|
48
|
+
this.$nextTick(() => {
|
|
49
|
+
$parent.updateIndex();
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
methods: {
|
|
53
|
+
onItemClick(hasLink) {
|
|
54
|
+
if (this.$parent.preventDefault) {
|
|
55
|
+
this.$parent.$emit("on-before-index-change", this.currentIndex);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
(typeof this.disabled == "undefined" || this.disabled === !1) && (this.currentSelected = !0, this.$parent.currentIndex = this.currentIndex, this.$nextTick(() => {
|
|
59
|
+
this.$emit("on-item-click", this.currentIndex);
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
watch: {
|
|
64
|
+
currentSelected(val) {
|
|
65
|
+
val && (this.$parent.index = this.currentIndex);
|
|
66
|
+
},
|
|
67
|
+
selected(val) {
|
|
68
|
+
this.currentSelected = val;
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
data() {
|
|
72
|
+
return {
|
|
73
|
+
currentIndex: -1,
|
|
74
|
+
currentSelected: this.selected
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
export {
|
|
79
|
+
childMixin as c,
|
|
80
|
+
parentMixin as p
|
|
81
|
+
};
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import { isBlank, getObjType } from "@web-utils/core";
|
|
2
|
+
const KEY_COMPONENT_NAME = "fy-", DIC_PROPS = {
|
|
3
|
+
rowKey: "id",
|
|
4
|
+
rowParentKey: "parentId",
|
|
5
|
+
nodeKey: "id",
|
|
6
|
+
label: "label",
|
|
7
|
+
value: "value",
|
|
8
|
+
desc: "desc",
|
|
9
|
+
groups: "groups",
|
|
10
|
+
title: "title",
|
|
11
|
+
leaf: "leaf",
|
|
12
|
+
children: "children",
|
|
13
|
+
hasChildren: "hasChildren",
|
|
14
|
+
labelText: "名称",
|
|
15
|
+
disabled: "disabled"
|
|
16
|
+
}, DIC_HTTP_PROPS = {
|
|
17
|
+
name: "name",
|
|
18
|
+
url: "url",
|
|
19
|
+
fileName: "file",
|
|
20
|
+
res: ""
|
|
21
|
+
}, DATE_LIST = [
|
|
22
|
+
"dates",
|
|
23
|
+
"date",
|
|
24
|
+
"datetime",
|
|
25
|
+
"datetimerange",
|
|
26
|
+
"daterange",
|
|
27
|
+
"time",
|
|
28
|
+
"timerange",
|
|
29
|
+
"week",
|
|
30
|
+
"month",
|
|
31
|
+
"monthrange",
|
|
32
|
+
"year"
|
|
33
|
+
], INPUT_LIST = ["tree", "number", "icon", "color", "table", "map"], ARRAY_LIST = ["img", "array", "url"], MULTIPLE_LIST = ["cascader", "tree", "select"], RANGE_LIST = ["slider"], ARRAY_VALUE_LIST = ARRAY_LIST.concat(["upload", "dynamic", "map", "checkbox", "cascader", "dynamic", "timerange", "monthrange", "daterange", "datetimerange", "dates"]), SELECT_LIST = DATE_LIST.concat(["select", "checkbox", "radio", "cascader", "tree", "color", "icon", "table", "map"]), DIC_SHOW_SPLIT = " | ", DIC_SPLIT = ",", typeList = {
|
|
34
|
+
img: /\.(gif|jpg|jpeg|png|webp|svg|GIF|JPG|JPEG|PNG|WEBP|SVG)/,
|
|
35
|
+
video: /\.(swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|ogg|mp4)/,
|
|
36
|
+
audio: /\.(mp3|wav|MP3|WAV)/
|
|
37
|
+
}, isMediaType = (url, type2) => {
|
|
38
|
+
if (!isBlank(url))
|
|
39
|
+
return typeList.audio.test(url) || type2 === "audio" ? "audio" : typeList.video.test(url) || type2 === "video" ? "video" : typeList.img.test(url) || type2 === "img" ? "img" : !1;
|
|
40
|
+
};
|
|
41
|
+
function getFixed(val = 0, len = 2) {
|
|
42
|
+
return Number(val.toFixed(len));
|
|
43
|
+
}
|
|
44
|
+
function getAsVal(obj2, bind2 = "") {
|
|
45
|
+
let result2 = deepClone(obj2);
|
|
46
|
+
return isBlank(bind2) || bind2.split(".").forEach((ele) => {
|
|
47
|
+
result2 = isBlank(result2[ele]) ? "" : result2[ele];
|
|
48
|
+
}), result2;
|
|
49
|
+
}
|
|
50
|
+
function setAsVal(obj, bind = "", value) {
|
|
51
|
+
let result;
|
|
52
|
+
const type = getObjType(value);
|
|
53
|
+
return isBlank(value) ? type === "array" ? result = `obj.${bind}=[]` : type === "object" ? result = `obj.${bind}={}` : ["number", "boolean"].includes(type) ? result = `obj.${bind}=undefined` : result = `obj.${bind}=''` : type === "string" ? result = `obj.${bind}='${value}'` : result = `obj.${bind}=${value}`, eval(result), obj;
|
|
54
|
+
}
|
|
55
|
+
function downFile(url, saveName) {
|
|
56
|
+
typeof url == "object" && url instanceof Blob && (url = URL.createObjectURL(url));
|
|
57
|
+
const aLink = document.createElement("a");
|
|
58
|
+
aLink.href = url, aLink.download = saveName || "";
|
|
59
|
+
let event;
|
|
60
|
+
window.MouseEvent ? event = new MouseEvent("click") : (event = document.createEvent("MouseEvents"), event.initMouseEvent(
|
|
61
|
+
"click",
|
|
62
|
+
!0,
|
|
63
|
+
!1,
|
|
64
|
+
window,
|
|
65
|
+
0,
|
|
66
|
+
0,
|
|
67
|
+
0,
|
|
68
|
+
0,
|
|
69
|
+
0,
|
|
70
|
+
!1,
|
|
71
|
+
!1,
|
|
72
|
+
!1,
|
|
73
|
+
!1,
|
|
74
|
+
0,
|
|
75
|
+
null
|
|
76
|
+
)), aLink.dispatchEvent(event);
|
|
77
|
+
}
|
|
78
|
+
function strCorNum(list) {
|
|
79
|
+
return list.forEach((ele, index) => {
|
|
80
|
+
list[index] = Number(ele);
|
|
81
|
+
}), list;
|
|
82
|
+
}
|
|
83
|
+
function extend() {
|
|
84
|
+
let target = arguments[0] || {}, deep = !1;
|
|
85
|
+
const arr = Array.prototype.slice.call(arguments);
|
|
86
|
+
let i = 1, options, src, key, copy, isArray = !1;
|
|
87
|
+
for (typeof target == "boolean" && (deep = target, i++, target = arguments[1]); i < arr.length; i++)
|
|
88
|
+
if ((options = arr[i]) != null)
|
|
89
|
+
for (key in options)
|
|
90
|
+
copy = options[key], src = target[key], deep && (toString.call(copy) === "[object Object]" || (isArray = toString.call(copy) === "[object Array]")) ? (isArray ? src = toString.call(src) === "[object Array]" ? src : [] : src = toString.call(src) === "[object Object]" ? src : {}, target[key] = extend(deep, src, copy)) : copy !== void 0 && copy !== src && (target[key] = copy);
|
|
91
|
+
return target;
|
|
92
|
+
}
|
|
93
|
+
function createObj(obj2, bind2) {
|
|
94
|
+
const list = bind2.split("."), first = list.splice(0, 1)[0], deep = {};
|
|
95
|
+
if (deep[first] = {}, list.length >= 2) {
|
|
96
|
+
const start = "{", end = "}";
|
|
97
|
+
let result2 = "";
|
|
98
|
+
list.forEach((ele) => {
|
|
99
|
+
result2 = `${result2}${start}"${ele}":`;
|
|
100
|
+
}), result2 = `${result2}""`;
|
|
101
|
+
for (let i = 0; i < list.length; i++)
|
|
102
|
+
result2 = `${result2}${end}`;
|
|
103
|
+
result2 = JSON.parse(result2), deep[first] = result2;
|
|
104
|
+
}
|
|
105
|
+
return obj2 = extend(!0, obj2, deep), obj2;
|
|
106
|
+
}
|
|
107
|
+
function dataURLtoFile(dataurl, filename) {
|
|
108
|
+
const arr = dataurl.split(","), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]);
|
|
109
|
+
let n = bstr.length;
|
|
110
|
+
const u8arr = new Uint8Array(n);
|
|
111
|
+
for (; n--; )
|
|
112
|
+
u8arr[n] = bstr.charCodeAt(n);
|
|
113
|
+
return new File([u8arr], filename, {
|
|
114
|
+
type: mime
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
function findObject(list, value2, key = "prop") {
|
|
118
|
+
let result2 = -1;
|
|
119
|
+
const type2 = (() => {
|
|
120
|
+
let result3;
|
|
121
|
+
return list.forEach((ele) => {
|
|
122
|
+
ele.column ? result3 = "group" : ele.children && (result3 = "tree");
|
|
123
|
+
}), result3;
|
|
124
|
+
})();
|
|
125
|
+
return type2 === "group" ? list.forEach((ele) => {
|
|
126
|
+
const val = findArray(ele.column, value2, key, !0);
|
|
127
|
+
val !== -1 && (result2 = val);
|
|
128
|
+
}) : type2 === "tree" ? result2 = findLabelNode(list, value2, { value: key }, !0) : result2 = findArray(list, value2, key, !0), result2;
|
|
129
|
+
}
|
|
130
|
+
function randomId() {
|
|
131
|
+
const $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", maxPos = $chars.length;
|
|
132
|
+
let id = "";
|
|
133
|
+
for (let i = 0; i < 16; i++)
|
|
134
|
+
id += $chars.charAt(Math.floor(Math.random() * maxPos));
|
|
135
|
+
return id;
|
|
136
|
+
}
|
|
137
|
+
const deepClone = (data) => {
|
|
138
|
+
const type2 = getObjType(data);
|
|
139
|
+
let obj2;
|
|
140
|
+
if (type2 === "array")
|
|
141
|
+
obj2 = [];
|
|
142
|
+
else if (type2 === "object")
|
|
143
|
+
obj2 = {};
|
|
144
|
+
else
|
|
145
|
+
return data;
|
|
146
|
+
if (type2 === "array")
|
|
147
|
+
for (var i = 0, len = data.length; i < len; i++)
|
|
148
|
+
data[i] = (() => (data[i] === 0, data[i]))(), data[i] && delete data[i].$parent, obj2.push(deepClone(data[i]));
|
|
149
|
+
else if (type2 === "object")
|
|
150
|
+
for (const key in data)
|
|
151
|
+
data && delete data.$parent, obj2[key] = deepClone(data[key]);
|
|
152
|
+
return obj2;
|
|
153
|
+
}, setPx = (val, defval = "") => (val || (val = defval), val ? (val = `${val}`, val.indexOf("%") === -1 && val.indexOf("px") === -1 && (val = `${val}px`), val) : ""), detailDataType = (value2, type2) => isBlank(value2) ? value2 : type2 === "number" ? Number(value2) : type2 === "string" ? `${value2}` : value2, detailDic = (list = [], props = {}, type2) => {
|
|
154
|
+
const valueKey = props.value || DIC_PROPS.value, childrenKey = props.children || DIC_PROPS.children;
|
|
155
|
+
return list.forEach((ele) => {
|
|
156
|
+
ele[valueKey] = detailDataType(ele[valueKey], type2), ele[childrenKey] && detailDic(ele[childrenKey], props, type2);
|
|
157
|
+
}), list;
|
|
158
|
+
}, findByValue = (dic, value2, props) => {
|
|
159
|
+
if (isBlank(dic))
|
|
160
|
+
return value2;
|
|
161
|
+
const isArray = value2 instanceof Array, list = isArray ? value2 : [value2];
|
|
162
|
+
props = props || DIC_PROPS;
|
|
163
|
+
const result2 = [];
|
|
164
|
+
for (let i = 0; i < list.length; i++)
|
|
165
|
+
result2.push(findLabelNode(dic, list[i], props) || list[i]);
|
|
166
|
+
return isArray ? result2.join(DIC_SHOW_SPLIT) : result2.join();
|
|
167
|
+
}, filterParams = (form, list = ["", "$"], deep = !0) => {
|
|
168
|
+
const data = deep ? deepClone(form) : form;
|
|
169
|
+
for (const o in data)
|
|
170
|
+
list.includes("") && isBlank(data[o]) && delete data[o], list.includes("$") && o.indexOf("$") !== -1 && delete data[o];
|
|
171
|
+
return data;
|
|
172
|
+
}, detailDicGroup = (dic = [], props = {}) => {
|
|
173
|
+
let list = deepClone(dic);
|
|
174
|
+
const groupsKey = props[DIC_PROPS.groups] || DIC_PROPS.groups;
|
|
175
|
+
return dic.forEach((ele) => {
|
|
176
|
+
ele[groupsKey] && (list = list.concat(ele[groupsKey]));
|
|
177
|
+
}), list;
|
|
178
|
+
}, findLabelNode = (dic, value2, props, obj2) => {
|
|
179
|
+
let result2;
|
|
180
|
+
obj2 || (dic = detailDicGroup(dic, props));
|
|
181
|
+
const rev = (dic1) => {
|
|
182
|
+
const labelKey = props.label || DIC_PROPS.label, valueKey = props.value || DIC_PROPS.value, childrenKey = props.children || DIC_PROPS.children;
|
|
183
|
+
for (let i = 0; i < dic1.length; i++) {
|
|
184
|
+
const ele = dic1[i], children = ele[childrenKey] || [];
|
|
185
|
+
ele[valueKey] === value2 ? result2 = obj2 ? ele : ele[labelKey] : rev(children);
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
return rev(dic), result2;
|
|
189
|
+
}, getDeepData = (res) => (Array.isArray(res) ? res : res.data) || [], getObjValue = (data, params = "", type2) => {
|
|
190
|
+
const list = params.split(".");
|
|
191
|
+
let result2 = data;
|
|
192
|
+
return list[0] === "" && type2 !== "object" ? getDeepData(data) : (list[0] !== "" && list.forEach((ele) => {
|
|
193
|
+
result2 = result2[ele];
|
|
194
|
+
}), result2);
|
|
195
|
+
}, findArray = (dic, value2, valueKey, obj2) => {
|
|
196
|
+
valueKey = valueKey || DIC_PROPS.value;
|
|
197
|
+
for (let i = 0; i < dic.length; i++)
|
|
198
|
+
if (dic[i][valueKey] === value2)
|
|
199
|
+
return obj2 ? dic[i] : i;
|
|
200
|
+
return -1;
|
|
201
|
+
}, getPasswordChar = (result2 = "", char) => {
|
|
202
|
+
const len = result2.toString().length;
|
|
203
|
+
result2 = "";
|
|
204
|
+
for (let i = 0; i < len; i++)
|
|
205
|
+
result2 = result2 + char;
|
|
206
|
+
return result2;
|
|
207
|
+
}, arraySort = (list = [], prop, callback) => list.filter((ele) => !isBlank(ele[prop])).sort((a, b) => callback(a, b)).concat(list.filter((ele) => isBlank(ele[prop]))), clearVal = (obj2, propList, list = []) => obj2 ? (propList.forEach((ele) => {
|
|
208
|
+
if (!list.includes(ele)) {
|
|
209
|
+
if (ele.includes("$"))
|
|
210
|
+
delete obj2[ele];
|
|
211
|
+
else if (!isBlank(obj2[ele])) {
|
|
212
|
+
const type2 = getObjType(obj2[ele]);
|
|
213
|
+
type2 === "array" ? obj2[ele] = [] : type2 === "object" ? obj2[ele] = {} : ["number", "boolean"].includes(type2) ? obj2[ele] = void 0 : obj2[ele] = "";
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}), obj2) : {}, optVal = (val, def) => typeof val == "boolean" ? val : isBlank(val) ? def : val;
|
|
217
|
+
function uploadFun(column = {}, safe) {
|
|
218
|
+
safe = safe || this;
|
|
219
|
+
const list = ["uploadPreview", "uploadBefore", "uploadAfter", "uploadDelete", "uploadError", "uploadExceed"], result2 = {};
|
|
220
|
+
return column.type === "upload" ? list.forEach((ele) => {
|
|
221
|
+
column[ele] || (result2[ele] = safe[ele]);
|
|
222
|
+
}) : list.forEach((ele) => {
|
|
223
|
+
result2[ele] = safe[ele];
|
|
224
|
+
}), result2;
|
|
225
|
+
}
|
|
226
|
+
export {
|
|
227
|
+
ARRAY_VALUE_LIST as A,
|
|
228
|
+
downFile as B,
|
|
229
|
+
DIC_PROPS as D,
|
|
230
|
+
INPUT_LIST as I,
|
|
231
|
+
KEY_COMPONENT_NAME as K,
|
|
232
|
+
MULTIPLE_LIST as M,
|
|
233
|
+
RANGE_LIST as R,
|
|
234
|
+
SELECT_LIST as S,
|
|
235
|
+
arraySort as a,
|
|
236
|
+
DIC_SHOW_SPLIT as b,
|
|
237
|
+
DIC_SPLIT as c,
|
|
238
|
+
deepClone as d,
|
|
239
|
+
strCorNum as e,
|
|
240
|
+
ARRAY_LIST as f,
|
|
241
|
+
getAsVal as g,
|
|
242
|
+
getPasswordChar as h,
|
|
243
|
+
isMediaType as i,
|
|
244
|
+
DATE_LIST as j,
|
|
245
|
+
findByValue as k,
|
|
246
|
+
detailDic as l,
|
|
247
|
+
getObjValue as m,
|
|
248
|
+
findObject as n,
|
|
249
|
+
optVal as o,
|
|
250
|
+
detailDataType as p,
|
|
251
|
+
createObj as q,
|
|
252
|
+
randomId as r,
|
|
253
|
+
setPx as s,
|
|
254
|
+
DIC_HTTP_PROPS as t,
|
|
255
|
+
uploadFun as u,
|
|
256
|
+
filterParams as v,
|
|
257
|
+
getFixed as w,
|
|
258
|
+
setAsVal as x,
|
|
259
|
+
clearVal as y,
|
|
260
|
+
dataURLtoFile as z
|
|
261
|
+
};
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { isObject, isString, hasOwn, isPlainObject, isArray, camelize, isFunction } from "@web-utils/core";
|
|
2
|
+
import Vue from "vue";
|
|
3
|
+
const getClass = (customClass, fixedClass) => isPlainObject(customClass) || isString(customClass) ? [fixedClass, customClass] : isArray(customClass) ? [fixedClass, ...customClass] : [fixedClass];
|
|
4
|
+
function getInternetExplorerVersion() {
|
|
5
|
+
const ua = window.navigator.userAgent, msie = ua.indexOf("MSIE ");
|
|
6
|
+
if (msie > 0)
|
|
7
|
+
return parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)), 10);
|
|
8
|
+
if (ua.indexOf("Trident/") > 0) {
|
|
9
|
+
const rv = ua.indexOf("rv:");
|
|
10
|
+
return parseInt(ua.substring(rv + 3, ua.indexOf(".", rv)), 10);
|
|
11
|
+
}
|
|
12
|
+
const edge = ua.indexOf("Edge/");
|
|
13
|
+
return edge > 0 ? parseInt(ua.substring(edge + 5, ua.indexOf(".", edge)), 10) : -1;
|
|
14
|
+
}
|
|
15
|
+
function assignReactiveProperties(raw, properties) {
|
|
16
|
+
for (const propertiesKey in properties)
|
|
17
|
+
Vue.set(raw, propertiesKey, properties[propertiesKey]);
|
|
18
|
+
return raw;
|
|
19
|
+
}
|
|
20
|
+
const findParent = (vm, predicate) => {
|
|
21
|
+
if (!vm || !predicate)
|
|
22
|
+
return null;
|
|
23
|
+
let parent = vm;
|
|
24
|
+
for (; parent && predicate(parent); )
|
|
25
|
+
parent = parent.$parent;
|
|
26
|
+
return parent;
|
|
27
|
+
}, elTableProperties = [
|
|
28
|
+
"data",
|
|
29
|
+
"height",
|
|
30
|
+
"max-height",
|
|
31
|
+
"stripe",
|
|
32
|
+
"border",
|
|
33
|
+
"size",
|
|
34
|
+
"fit",
|
|
35
|
+
"show-header",
|
|
36
|
+
"highlight-current-row",
|
|
37
|
+
"current-row-key",
|
|
38
|
+
"row-class-name",
|
|
39
|
+
"row-style",
|
|
40
|
+
"cell-class-name",
|
|
41
|
+
"cell-style",
|
|
42
|
+
"header-row-class-name",
|
|
43
|
+
"header-row-style",
|
|
44
|
+
"header-cell-class-name",
|
|
45
|
+
"header-cell-style",
|
|
46
|
+
"row-key",
|
|
47
|
+
"empty-text",
|
|
48
|
+
"default-expand-all",
|
|
49
|
+
"expand-row-keys",
|
|
50
|
+
"default-sort",
|
|
51
|
+
"tooltip-effect",
|
|
52
|
+
"show-summary",
|
|
53
|
+
"sum-text",
|
|
54
|
+
"summary-method",
|
|
55
|
+
"span-method",
|
|
56
|
+
"select-on-indeterminate ",
|
|
57
|
+
"indent",
|
|
58
|
+
"lazy",
|
|
59
|
+
"load",
|
|
60
|
+
"tree-props"
|
|
61
|
+
], elTableEvents = [
|
|
62
|
+
"select",
|
|
63
|
+
"select-all",
|
|
64
|
+
"selection-change",
|
|
65
|
+
"cell-mouse-enter",
|
|
66
|
+
"cell-mouse-leave",
|
|
67
|
+
"cell-click",
|
|
68
|
+
"cell-dblclick",
|
|
69
|
+
"row-click",
|
|
70
|
+
"row-contextmenu",
|
|
71
|
+
// 'row-dblclick',
|
|
72
|
+
"header-click",
|
|
73
|
+
"header-contextmenu",
|
|
74
|
+
"sort-change",
|
|
75
|
+
"filter-change",
|
|
76
|
+
"current-change",
|
|
77
|
+
"header-dragend",
|
|
78
|
+
"expand-change"
|
|
79
|
+
], elTableColumnProperties = [
|
|
80
|
+
"type",
|
|
81
|
+
"index",
|
|
82
|
+
"column-key",
|
|
83
|
+
"label",
|
|
84
|
+
"prop",
|
|
85
|
+
"width",
|
|
86
|
+
"min-width",
|
|
87
|
+
"fixed",
|
|
88
|
+
"render-header",
|
|
89
|
+
"sortable",
|
|
90
|
+
"sort-method",
|
|
91
|
+
"sort-by",
|
|
92
|
+
"sort-orders",
|
|
93
|
+
"resizable",
|
|
94
|
+
"formatter",
|
|
95
|
+
"show-overflow-tooltip",
|
|
96
|
+
"align",
|
|
97
|
+
"header-align",
|
|
98
|
+
"class-name",
|
|
99
|
+
"label-class-name",
|
|
100
|
+
"selectable",
|
|
101
|
+
"reserve-selection",
|
|
102
|
+
"filters",
|
|
103
|
+
"filter-placement",
|
|
104
|
+
"filter-multiple",
|
|
105
|
+
"filter-method",
|
|
106
|
+
"filtered-value"
|
|
107
|
+
], elTreeProperties = [
|
|
108
|
+
"data",
|
|
109
|
+
"empty-text",
|
|
110
|
+
"node-key",
|
|
111
|
+
"props",
|
|
112
|
+
"render-after-expand",
|
|
113
|
+
"load",
|
|
114
|
+
"render-content",
|
|
115
|
+
"highlight-current",
|
|
116
|
+
"default-expand-all",
|
|
117
|
+
"expand-on-click-node",
|
|
118
|
+
"check-on-click-node",
|
|
119
|
+
"auto-expand-parent",
|
|
120
|
+
"default-expanded-keys",
|
|
121
|
+
"show-checkbox",
|
|
122
|
+
"check-strictly",
|
|
123
|
+
"default-checked-keys",
|
|
124
|
+
"current-node-key",
|
|
125
|
+
"filter-node-method",
|
|
126
|
+
"accordion",
|
|
127
|
+
"indent",
|
|
128
|
+
"icon-class",
|
|
129
|
+
"lazy",
|
|
130
|
+
"draggable",
|
|
131
|
+
"allow-drag",
|
|
132
|
+
"allow-drop"
|
|
133
|
+
], elTreeEvents = [
|
|
134
|
+
"node-click",
|
|
135
|
+
"node-contextmenu",
|
|
136
|
+
"check-change",
|
|
137
|
+
"check",
|
|
138
|
+
"current-change",
|
|
139
|
+
"node-expand",
|
|
140
|
+
"node-collapse",
|
|
141
|
+
"node-drag-start",
|
|
142
|
+
"node-drag-enter",
|
|
143
|
+
"node-drag-leave",
|
|
144
|
+
"node-drag-over",
|
|
145
|
+
"node-drag-end",
|
|
146
|
+
"node-drop"
|
|
147
|
+
], filterProperties = (obj, allowProperties, allow = !0) => {
|
|
148
|
+
if (isObject(obj)) {
|
|
149
|
+
let arr = allowProperties;
|
|
150
|
+
isString(allowProperties) && (arr = arr.split(","));
|
|
151
|
+
const temp = {};
|
|
152
|
+
return arr.forEach((key) => {
|
|
153
|
+
hasOwn(obj, key) && (allow ? temp[key] = obj[key] : arr.includes(key) || (temp[key] = obj[key]));
|
|
154
|
+
}), temp;
|
|
155
|
+
}
|
|
156
|
+
return obj;
|
|
157
|
+
}, normalizeProps = (attrs) => {
|
|
158
|
+
const props = {};
|
|
159
|
+
for (const attrsKey in attrs)
|
|
160
|
+
props[camelize(attrsKey)] = attrs[attrsKey];
|
|
161
|
+
return props;
|
|
162
|
+
}, filterTableProperties = (obj) => filterProperties(obj, elTableProperties), filterTableColumnProperties = (obj) => filterProperties(obj, elTableColumnProperties), filterTableEvents = (obj) => filterProperties(obj, elTableEvents), filterTreeProperties = (obj) => filterProperties(obj, elTreeProperties), filterTreeEvents = (obj) => filterProperties(obj, elTreeEvents), pathArgReplacer = (path = "", row) => {
|
|
163
|
+
const rw = row || {};
|
|
164
|
+
return (path || "").replace(/{(.*?)}/g, (_, key) => {
|
|
165
|
+
if (key.indexOf(":")) {
|
|
166
|
+
const [k, defaultVal] = key.split(":");
|
|
167
|
+
return rw[k] ? rw[k] : defaultVal;
|
|
168
|
+
} else
|
|
169
|
+
return rw[key] || "";
|
|
170
|
+
});
|
|
171
|
+
}, fillPath = (path, args) => isFunction(path) ? pathArgReplacer(path(args), args) : isString(path) ? pathArgReplacer(path, args) : null;
|
|
172
|
+
export {
|
|
173
|
+
filterTreeProperties as a,
|
|
174
|
+
filterTreeEvents as b,
|
|
175
|
+
assignReactiveProperties as c,
|
|
176
|
+
filterProperties as d,
|
|
177
|
+
findParent as e,
|
|
178
|
+
filterTableColumnProperties as f,
|
|
179
|
+
getClass as g,
|
|
180
|
+
filterTableProperties as h,
|
|
181
|
+
filterTableEvents as i,
|
|
182
|
+
getInternetExplorerVersion as j,
|
|
183
|
+
fillPath as k,
|
|
184
|
+
normalizeProps as n
|
|
185
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
function secondsToStr(temp) {
|
|
2
|
+
const years = Math.floor(temp / 31536e3);
|
|
3
|
+
if (years)
|
|
4
|
+
return `${years} 年${numberEnding(years)}`;
|
|
5
|
+
const days = Math.floor((temp %= 31536e3) / 86400);
|
|
6
|
+
if (days)
|
|
7
|
+
return `${days} 天${numberEnding(days)}`;
|
|
8
|
+
const hours = Math.floor((temp %= 86400) / 3600);
|
|
9
|
+
if (hours)
|
|
10
|
+
return `${hours} 时${numberEnding(hours)}`;
|
|
11
|
+
const minutes = Math.floor((temp %= 3600) / 60);
|
|
12
|
+
if (minutes)
|
|
13
|
+
return `${minutes} 分${numberEnding(minutes)}`;
|
|
14
|
+
const seconds = temp % 60;
|
|
15
|
+
return `${seconds} 秒${numberEnding(seconds)}`;
|
|
16
|
+
function numberEnding(number) {
|
|
17
|
+
return number > 1, "";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function kebabCase(s) {
|
|
21
|
+
return s.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`);
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
kebabCase as k,
|
|
25
|
+
secondsToStr as s
|
|
26
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
|
|
2
|
+
var options = typeof scriptExports == "function" ? scriptExports.options : scriptExports;
|
|
3
|
+
render && (options.render = render, options.staticRenderFns = staticRenderFns, options._compiled = !0), functionalTemplate && (options.functional = !0), scopeId && (options._scopeId = "data-v-" + scopeId);
|
|
4
|
+
var hook;
|
|
5
|
+
if (moduleIdentifier ? (hook = function(context) {
|
|
6
|
+
context = context || // cached call
|
|
7
|
+
this.$vnode && this.$vnode.ssrContext || // stateful
|
|
8
|
+
this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext, !context && typeof __VUE_SSR_CONTEXT__ != "undefined" && (context = __VUE_SSR_CONTEXT__), injectStyles && injectStyles.call(this, context), context && context._registeredComponents && context._registeredComponents.add(moduleIdentifier);
|
|
9
|
+
}, options._ssrRegister = hook) : injectStyles && (hook = shadowMode ? function() {
|
|
10
|
+
injectStyles.call(
|
|
11
|
+
this,
|
|
12
|
+
(options.functional ? this.parent : this).$root.$options.shadowRoot
|
|
13
|
+
);
|
|
14
|
+
} : injectStyles), hook)
|
|
15
|
+
if (options.functional) {
|
|
16
|
+
options._injectStyles = hook;
|
|
17
|
+
var originalRender = options.render;
|
|
18
|
+
options.render = function(h, context) {
|
|
19
|
+
return hook.call(context), originalRender(h, context);
|
|
20
|
+
};
|
|
21
|
+
} else {
|
|
22
|
+
var existing = options.beforeCreate;
|
|
23
|
+
options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
exports: scriptExports,
|
|
27
|
+
options
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
normalizeComponent as n
|
|
32
|
+
};
|