@web-utils/component 4.0.15 → 5.0.0-beta01
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/address-input/index.mjs +76 -76
- package/affix/index.mjs +71 -78
- package/aside-menu/index.mjs +20 -31
- package/avatar/index.mjs +94 -82
- package/awesome-button/index.mjs +54 -71
- package/capsule-tab/index.mjs +27 -32
- package/card/index.mjs +86 -71
- package/carousel/index.mjs +45 -34
- package/chat/index.mjs +440 -276
- package/chunk-file-uploader/index.mjs +2 -445
- package/chunk-file-uploader/style.css +1 -1
- package/chunks/ChunkFileUploader.C3EA0e5t.mjs +114 -0
- package/chunks/EditableTree.C_IJBL5b.mjs +648 -0
- package/chunks/ElementBaseInfo.DyuFR6fE.mjs +209 -0
- package/chunks/ElementDialog.C0IjriTW.mjs +681 -0
- package/chunks/ElementForm.ButuYDPA.mjs +627 -0
- package/chunks/ElementListeners.Dg3e_dmp.mjs +656 -0
- package/chunks/ElementMultiInstance.Dmi79FqA.mjs +290 -0
- package/chunks/ElementOtherConfig.C2AddGTp.mjs +51 -0
- package/chunks/ElementProperties.CfV8UF7L.mjs +196 -0
- package/chunks/ElementTaskConfig.Bn7ycGGn.mjs +446 -0
- package/chunks/FlowCondition.C6PdqOAW.mjs +194 -0
- package/chunks/FlowDesigner.uJYFfKpR.mjs +5101 -0
- package/chunks/FormBlock.BEENc22F.mjs +117 -0
- package/chunks/FormCascader.CaM-oEhv.mjs +1226 -0
- package/chunks/FormInputTime.Bg3UIP8H.mjs +1773 -0
- package/chunks/FormItem.H9OOvNzT.mjs +90 -0
- package/chunks/FormItemGroup.D9eRy-cZ.mjs +147 -0
- package/chunks/FormSelect.CanodoAI.mjs +1472 -0
- package/chunks/FormSwitch.DTqdaFjv.mjs +296 -0
- package/chunks/FormTemp.DiI5EfgK.mjs +139 -0
- package/chunks/FyCurd.DMj1dMK9.mjs +2622 -0
- package/chunks/FyForm.vgR8ujEF.mjs +904 -0
- package/chunks/FyFormDesign.DEWT6LsX.mjs +5600 -0
- package/chunks/FyUEditor.D_rEYfll.mjs +221 -0
- package/chunks/FyUpload.B2QKfTxF.mjs +504 -0
- package/chunks/Keyboard.ItiRy7Gb.mjs +379 -0
- package/chunks/MonacoEditor.Bd5Kui-Y.mjs +301 -0
- package/chunks/PageableTable.Bujb0NUx.mjs +658 -0
- package/chunks/RecordVideo.B35_dLty.mjs +116 -0
- package/chunks/SignalAndMessage.CYVzlFuL.mjs +198 -0
- package/chunks/SplitPane.Dw96M0Yf.mjs +219 -0
- package/chunks/TableColumn.DJYkznbJ.mjs +180 -0
- package/chunks/TableView.DyIdIxAg.mjs +484 -0
- package/chunks/Toolbar.DHuXJAoG.mjs +219 -0
- package/chunks/UserTaskListeners.Bp-2qkHs.mjs +599 -0
- package/chunks/VueCron.GfjodnyM.mjs +1766 -0
- package/chunks/VueTreeSelect.9Ywl-I8e.mjs +1872 -0
- package/chunks/_plugin-vue_export-helper.7vrlOII_.mjs +8 -0
- package/chunks/checkbox.emIuFmnt.mjs +437 -0
- package/chunks/confirmable-mixin.BBil7dto.mjs +1646 -0
- package/chunks/core.DJv6Qrae.mjs +51 -0
- package/chunks/dataformat.Bfr4nOcA.mjs +144 -0
- package/chunks/dic.DgDfnovD.mjs +116 -0
- package/chunks/dictionary.5eKjWeAp.mjs +19 -0
- package/chunks/dictionary.DxZxP0ej.mjs +87 -0
- package/chunks/event.B4iwtUNO.mjs +4 -0
- package/chunks/event.eJ-c1Z3a.mjs +224 -0
- package/chunks/focus-trap.DT4GnqQI.mjs +211 -0
- package/chunks/form-input.D25eDRMq.mjs +34 -0
- package/chunks/form-item.CgmUuw_n.mjs +714 -0
- package/chunks/form-pick.Axem0gOO.mjs +7 -0
- package/chunks/form-validate.B1KPCHqN.mjs +11 -0
- package/chunks/icon.CbS8-322.mjs +259 -0
- package/chunks/init.DwpukyOB.mjs +115 -0
- package/chunks/input.PejnqwSH.mjs +547 -0
- package/chunks/install.yLcn5MLL.mjs +84 -0
- package/chunks/message.BCmee5N0.mjs +400 -0
- package/chunks/overlay.DubSnqma.mjs +122 -0
- package/chunks/packages.BGjydzjm.mjs +56 -0
- package/chunks/permission.DgEVNWlh.mjs +16 -0
- package/chunks/photo-swipe.BB0SJZg9.mjs +55 -0
- package/chunks/radio.BotKXqJr.mjs +274 -0
- package/chunks/scroll.CzORc5Zk.mjs +28 -0
- package/chunks/scrollbar.CAmrlKi9.mjs +345 -0
- package/chunks/slot.C6Ozd2e7.mjs +25 -0
- package/chunks/style.BmlGmjpO.mjs +325 -0
- package/chunks/sub-table-plus-props.B_lLth3j.mjs +28 -0
- package/chunks/tab-mixin.u0EZpx3j.mjs +70 -0
- package/chunks/tag.DPi-PLbb.mjs +141 -0
- package/chunks/teleport._VGEzK4d.mjs +22 -0
- package/chunks/tooltip.D50x7Rva.mjs +1926 -0
- package/chunks/typescript.DiWBU4nj.mjs +4 -0
- package/chunks/use-aria.BW7nWOl1.mjs +17 -0
- package/chunks/use-composition.mUaomyno.mjs +47 -0
- package/chunks/use-deprecated.BfDSbZS9.mjs +12 -0
- package/chunks/use-empty-values.Dy_r78F6.mjs +263 -0
- package/chunks/use-form-item.wsRjehHp.mjs +47 -0
- package/chunks/use-global-config.C9hs-O_x.mjs +56 -0
- package/chunks/use-id.CFO5NeoV.mjs +15 -0
- package/chunks/use-size.DxrwTUwf.mjs +18 -0
- package/chunks/util.B3sjVZoZ.mjs +103 -0
- package/chunks/util.g-WQEec9.mjs +223 -0
- package/chunks/utilSelf.ZED4DmCU.mjs +46 -0
- package/chunks/utils.Cs2fYBrT.mjs +60 -0
- package/chunks/utils.DsGhtCIO.mjs +14 -0
- package/chunks/validator.C4-z_t9p.mjs +5 -0
- package/chunks/vnode.D_SioRnx.mjs +14 -0
- package/code-mirror-editor/index.mjs +89 -88
- package/comment/index.mjs +62 -57
- package/configComponents.mjs +40 -50
- package/confirm-button/index.mjs +34 -46
- package/confirmable/index.mjs +7 -17
- package/context-menu/index.mjs +195 -174
- package/count-up/index.mjs +97 -105
- package/custom-scrollbar/index.mjs +91 -98
- package/data-box/index.mjs +64 -47
- package/data-card/index.mjs +60 -49
- package/data-card-text/index.mjs +63 -51
- package/data-display/index.mjs +71 -53
- package/data-icons/index.mjs +70 -53
- package/data-imgtext/index.mjs +67 -46
- package/data-operatext/index.mjs +51 -42
- package/data-panel/index.mjs +57 -47
- package/data-pay/index.mjs +105 -52
- package/data-price/index.mjs +48 -42
- package/data-progress/index.mjs +67 -48
- package/data-rotate/index.mjs +61 -47
- package/data-table-picker/index.mjs +119 -74
- package/data-tabs/index.mjs +67 -47
- package/dialog-form/index.mjs +139 -89
- package/dynamic-table/index.mjs +166 -114
- package/e-charts/index.mjs +174 -200
- package/easy-popup/index.mjs +91 -102
- package/editable-progress/index.mjs +112 -85
- package/editable-tree/index.mjs +2 -485
- package/element-dialog/index.mjs +2 -307
- package/element-listeners/style.css +1 -0
- package/element-multi-instance/style.css +1 -0
- package/ellipsis/index.mjs +124 -148
- package/empty-view/index.mjs +48 -65
- package/error-view/index.mjs +39 -51
- package/flex-column/index.mjs +32 -51
- package/flex-item/index.mjs +54 -64
- package/flex-row/index.mjs +32 -39
- package/flex-scroller/index.mjs +29 -30
- package/flow/index.mjs +240 -248
- package/flow-designer/index.mjs +2 -5983
- package/flow-designer/style.css +1 -1
- package/flow-node/index.mjs +56 -64
- package/flow-viewer/index.mjs +159 -157
- package/form-block/index.mjs +2 -149
- package/form-button/index.mjs +35 -47
- package/form-card/index.mjs +14 -25
- package/form-cascader/index.mjs +2 -116
- package/form-checkbox/index.mjs +89 -71
- package/form-checkbox-group/index.mjs +161 -116
- package/form-date-picker/index.mjs +155 -144
- package/form-holder/index.mjs +137 -110
- package/form-input/index.mjs +113 -87
- package/form-input-cron-expression/index.mjs +97 -79
- package/form-input-email/index.mjs +64 -52
- package/form-input-id-card/index.mjs +72 -55
- package/form-input-phone-number/index.mjs +71 -57
- package/form-input-tag/index.mjs +88 -62
- package/form-input-time/index.mjs +2 -74
- package/form-item/index.mjs +2 -5
- package/form-item-config-provider/index.mjs +46 -60
- package/form-item-group/index.mjs +2 -160
- package/form-radio-group/index.mjs +161 -122
- package/form-select/index.mjs +2 -181
- package/form-switch/index.mjs +2 -55
- package/form-table/index.mjs +131 -85
- package/form-table-plus/index.mjs +164 -109
- package/form-textarea/index.mjs +90 -57
- package/form-tree-select/index.mjs +89 -72
- package/form-tree-select-multiple/index.mjs +92 -78
- package/form-view/index.mjs +275 -211
- package/fy-array/index.mjs +121 -74
- package/fy-article/index.mjs +73 -60
- package/fy-cascader/index.mjs +113 -91
- package/fy-checkbox/index.mjs +96 -66
- package/fy-code/index.mjs +48 -50
- package/fy-curd/index.mjs +2 -1903
- package/fy-date/index.mjs +76 -42
- package/fy-draggable/index.mjs +322 -318
- package/fy-dynamic/index.mjs +259 -227
- package/fy-empty/index.mjs +35 -36
- package/fy-form/index.mjs +2 -17
- package/fy-form-design/index.mjs +2 -2890
- package/fy-form-design/style.css +1 -1
- package/fy-from/crud/zh.d.ts +6 -6
- package/fy-input/index.mjs +117 -99
- package/fy-input-color/index.mjs +77 -56
- package/fy-input-icon/index.mjs +129 -85
- package/fy-input-map/index.mjs +242 -186
- package/fy-input-number/index.mjs +74 -50
- package/fy-input-table/index.mjs +160 -109
- package/fy-input-tree/index.mjs +259 -182
- package/fy-progress/index.mjs +36 -40
- package/fy-radio/index.mjs +53 -38
- package/fy-rate/index.mjs +86 -71
- package/fy-select/index.mjs +223 -140
- package/fy-slider/index.mjs +68 -44
- package/fy-switch/index.mjs +67 -42
- package/fy-tabs/index.mjs +46 -48
- package/fy-time/index.mjs +81 -53
- package/fy-title/index.mjs +18 -27
- package/fy-tree/index.mjs +382 -292
- package/fy-u-editor/index.mjs +2 -357
- package/fy-upload/index.mjs +2 -423
- package/guide-steps/index.mjs +72 -73
- package/helper-function.d.ts +2 -30
- package/helper-function.mjs +41 -67
- package/highlight-j-s/index.mjs +50 -59
- package/icon-card/index.mjs +34 -36
- package/icon-temp/index.mjs +27 -27
- package/iframe-window/index.mjs +39 -33
- package/image-cropper/index.mjs +171 -75
- package/image-preview/index.mjs +187 -118
- package/image-viewer/index.mjs +69 -66
- package/index.d.ts +3 -9
- package/index.mjs +173 -488
- package/input-number-range/index.mjs +78 -59
- package/j-s-x-component/index.mjs +13 -15
- package/keyboard/index.mjs +2 -369
- package/license/index.mjs +106 -115
- package/loading-view/index.mjs +39 -51
- package/login/index.mjs +252 -125
- package/monaco-editor/index.mjs +2 -7
- package/name-avatar/index.mjs +61 -53
- package/nav-bar/index.mjs +33 -31
- package/not-implement/index.mjs +10 -22
- package/notice/index.mjs +100 -94
- package/package.json +3 -3
- package/page/index.mjs +18 -25
- package/page-header/index.mjs +27 -33
- package/page-index/index.mjs +121 -100
- package/page-index-top/index.mjs +79 -79
- package/page-skeleton/index.mjs +48 -45
- package/page-skeleton-new/index.mjs +79 -50
- package/pageable-table/index.mjs +2 -522
- package/pageable-view/index.mjs +279 -275
- package/photo-swipe/index.d.ts +4 -0
- package/photo-swipe/index.mjs +33 -36
- package/picker-table-view/index.mjs +224 -126
- package/present-view/index.mjs +266 -200
- package/queue/index.mjs +45 -53
- package/record-video/index.mjs +2 -134
- package/resize-observer/index.mjs +43 -46
- package/search/index.mjs +116 -109
- package/sign/index.mjs +103 -110
- package/sign-panel/index.mjs +182 -141
- package/skeleton/index.mjs +51 -54
- package/skeleton-panel/index.mjs +33 -38
- package/split-pane/index.mjs +3 -197
- package/stateful/index.mjs +69 -73
- package/static-pageable-table/index.mjs +72 -66
- package/sub-table/index.mjs +508 -219
- package/sub-table-plus/index.mjs +592 -19
- package/swiper/index.mjs +128 -121
- package/tab/index.mjs +117 -119
- package/tab-item/index.mjs +48 -56
- package/table-column/index.mjs +2 -5
- package/table-view/index.mjs +3 -334
- package/tabs-view/index.mjs +109 -106
- package/tag-render/index.mjs +79 -69
- package/text-ellipsis/index.mjs +94 -78
- package/toolbar/index.mjs +2 -255
- package/toolbar-button/index.mjs +145 -121
- package/verify/index.mjs +58 -64
- package/vue-cron/index.mjs +2 -1188
- package/vue-qr-code/index.mjs +30 -54
- package/vue-quill-editor/index.mjs +123 -99
- package/vue-tags-input/index.mjs +348 -431
- package/vue-tree-select/index.mjs +2 -2627
- package/vue-video-player/index.mjs +135 -136
- package/watermark/index.mjs +46 -74
- package/web-types.json +197 -975
- package/x-input-tag/index.mjs +144 -109
- package/chunks/ElementTaskConfig.AvBOzAni.mjs +0 -325
- package/chunks/FormItem.Bhsy_O2B.mjs +0 -372
- package/chunks/FyForm.DriwCJ7b.mjs +0 -765
- package/chunks/MonacoEditor.D31t4FTy.mjs +0 -327
- package/chunks/SignalAndMessage.BpjOoKhK.mjs +0 -92
- package/chunks/SubTablePlus.BH0IIv3X.mjs +0 -270
- package/chunks/TableColumn.BzivvXMF.mjs +0 -337
- package/chunks/_plugin-vue2_normalizer.CeySl7Fu.mjs +0 -10
- package/chunks/confirmable-mixin.BFZb6pcK.mjs +0 -86
- package/chunks/dataformat.DJoNBlmI.mjs +0 -154
- package/chunks/dic.BinnDitI.mjs +0 -128
- package/chunks/dictionary.DqiP9x2m.mjs +0 -25
- package/chunks/event.DSlcqYHL.mjs +0 -236
- package/chunks/form-input.BtS_J5a2.mjs +0 -31
- package/chunks/form-pick.BFTIVn_i.mjs +0 -11
- package/chunks/form-validate.CVarNHKX.mjs +0 -12
- package/chunks/helper.BiMLcEEk.mjs +0 -41
- package/chunks/index.BmYCjxZQ.mjs +0 -47
- package/chunks/index.CIfe3UB3.mjs +0 -16
- package/chunks/index.Cn7aq-Et.mjs +0 -184
- package/chunks/init.xOlFpTyZ.mjs +0 -122
- package/chunks/packages.ByyangTp.mjs +0 -58
- package/chunks/permission.CO31YIkD.mjs +0 -16
- package/chunks/slot.DXIbhGat.mjs +0 -27
- package/chunks/tab-mixin.BNK6dxLN.mjs +0 -81
- package/chunks/util.DI42t5GU.mjs +0 -241
- package/color-picker/index.mjs +0 -157
- package/egd-collapse/index.mjs +0 -62
- package/egd-collapse-item/index.mjs +0 -72
- package/form-input-number/index.mjs +0 -70
- package/form-input-number/style.css +0 -1
- package/input-number/index.mjs +0 -233
- package/input-number/style.css +0 -1
- package/keep-view-alive/index.mjs +0 -117
- package/search-popover/index.mjs +0 -118
- package/search-popover/style.css +0 -1
- /package/{base.css → utils/style.css} +0 -0
package/sign/index.mjs
CHANGED
|
@@ -1,111 +1,104 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { t as e } from "../chunks/_plugin-vue_export-helper.7vrlOII_.mjs";
|
|
2
|
+
import { x as t } from "../chunks/util.g-WQEec9.mjs";
|
|
3
|
+
import { createElementBlock as n, createElementVNode as r, normalizeStyle as i, openBlock as a } from "vue";
|
|
4
|
+
//#region src/components/sign/Sign.vue
|
|
5
|
+
function o(e, t, n, r, i, a) {
|
|
6
|
+
e.save(), e.fillStyle = i, e.translate(t, n), e.rotate(Math.PI + a), e.beginPath();
|
|
7
|
+
let o = Math.sin(0), s = Math.cos(0), c = Math.PI / 5 * 4;
|
|
8
|
+
for (let t = 0; t < 5; t++) o = Math.sin(t * c), s = Math.cos(t * c), e.lineTo(o * r, s * r);
|
|
9
|
+
e.closePath(), e.stroke(), e.fill(), e.restore();
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
null,
|
|
106
|
-
null
|
|
107
|
-
);
|
|
108
|
-
const P = w.exports;
|
|
109
|
-
export {
|
|
110
|
-
P as default
|
|
111
|
-
};
|
|
11
|
+
var s = {
|
|
12
|
+
name: "Sign",
|
|
13
|
+
props: {
|
|
14
|
+
width: {
|
|
15
|
+
type: Number,
|
|
16
|
+
default: 600
|
|
17
|
+
},
|
|
18
|
+
height: {
|
|
19
|
+
type: Number,
|
|
20
|
+
default: 400
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
data() {
|
|
24
|
+
return {
|
|
25
|
+
disabled: !1,
|
|
26
|
+
linex: [],
|
|
27
|
+
liney: [],
|
|
28
|
+
linen: [],
|
|
29
|
+
canvas: {},
|
|
30
|
+
context: {}
|
|
31
|
+
};
|
|
32
|
+
},
|
|
33
|
+
computed: { styleName() {
|
|
34
|
+
return {
|
|
35
|
+
width: t(this.width),
|
|
36
|
+
height: t(this.height)
|
|
37
|
+
};
|
|
38
|
+
} },
|
|
39
|
+
mounted() {
|
|
40
|
+
this.init();
|
|
41
|
+
},
|
|
42
|
+
methods: {
|
|
43
|
+
getStar(e, t, n) {
|
|
44
|
+
let r = this.canvas, i = this.context, a = r.width / 2, s = r.height / 2;
|
|
45
|
+
i.lineWidth = 7, i.strokeStyle = "#f00", i.beginPath(), i.arc(a, s, 110, 0, Math.PI * 2), i.stroke(), o(i, a, s, 20, "#f00", 0), i.font = "18px 黑体", i.textBaseline = "middle", i.textAlign = "center", i.lineWidth = 1, i.strokeStyle = "#f00", i.strokeText(e, a, s + 50), i.font = "14px 黑体", i.textBaseline = "middle", i.textAlign = "center", i.lineWidth = 1, i.strokeStyle = "#f00", i.strokeText(n, a, s + 80), i.translate(a, s), i.font = "22px 黑体";
|
|
46
|
+
let c = t.length, l = 4 * Math.PI / (3 * (c - 1)), u = t.split(""), d;
|
|
47
|
+
for (let e = 0; e < c; e++) d = u[e], e === 0 ? i.rotate(5 * Math.PI / 6) : i.rotate(l), i.save(), i.translate(90, 0), i.rotate(Math.PI / 2), i.strokeText(d, 0, 0), i.restore(), i.save();
|
|
48
|
+
this.disabled = !0;
|
|
49
|
+
},
|
|
50
|
+
submit(e, t) {
|
|
51
|
+
return e || (e = this.width), t || (t = this.height), this.canvas.toDataURL("i/png");
|
|
52
|
+
},
|
|
53
|
+
clear() {
|
|
54
|
+
this.linex = [], this.liney = [], this.linen = [], this.disabled = !1;
|
|
55
|
+
},
|
|
56
|
+
init() {
|
|
57
|
+
this.canvas = this.$refs.canvas;
|
|
58
|
+
let e = this.canvas, t = this;
|
|
59
|
+
document.ontouchstart === void 0 ? (e.addEventListener("mousemove", s, !1), e.addEventListener("mousedown", c, !1), e.addEventListener("mouseup", l, !1), e.addEventListener("mouseleave", l, !1)) : (e.addEventListener("touchmove", s, !1), e.addEventListener("touchstart", c, !1), e.addEventListener("touchend", l, !1)), this.context = e.getContext("2d");
|
|
60
|
+
let n = this.context;
|
|
61
|
+
this.linex = [], this.liney = [], this.linen = [];
|
|
62
|
+
let r = 1, i = 30, a = 0;
|
|
63
|
+
function o(e, t) {
|
|
64
|
+
let n = e.getBoundingClientRect(), r, i;
|
|
65
|
+
return t.targetTouches ? (r = t.targetTouches[0].clientX, i = t.targetTouches[0].clientY) : (r = t.clientX, i = t.clientY), {
|
|
66
|
+
x: (r - n.left) * (e.width / n.width),
|
|
67
|
+
y: (i - n.top) * (e.height / n.height)
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function s(s) {
|
|
71
|
+
if (t.disabled) return;
|
|
72
|
+
let c = o(e, s).x, l = o(e, s).y;
|
|
73
|
+
if (a === 1) {
|
|
74
|
+
t.linex.push(c), t.liney.push(l), t.linen.push(1), n.save(), n.translate(n.canvas.width / 2, n.canvas.height / 2), n.translate(-n.canvas.width / 2, -n.canvas.height / 2), n.beginPath(), n.lineWidth = 2;
|
|
75
|
+
for (let e = 1; e < t.linex.length; e++) r = t.linex[e], i = t.liney[e], t.linen[e] === 0 ? n.moveTo(r, i) : n.lineTo(r, i);
|
|
76
|
+
n.shadowBlur = 10, n.stroke(), n.restore();
|
|
77
|
+
}
|
|
78
|
+
s.preventDefault();
|
|
79
|
+
}
|
|
80
|
+
function c(n) {
|
|
81
|
+
if (t.disabled) return;
|
|
82
|
+
let r = o(e, n).x, i = o(e, n).y;
|
|
83
|
+
a = 1, t.linex.push(r), t.liney.push(i), t.linen.push(0);
|
|
84
|
+
}
|
|
85
|
+
function l() {
|
|
86
|
+
t.disabled || (a = 0);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}, c = ["width", "height"];
|
|
91
|
+
function l(e, t, o, s, l, u) {
|
|
92
|
+
return a(), n("div", {
|
|
93
|
+
class: "avue-sign",
|
|
94
|
+
style: i(u.styleName)
|
|
95
|
+
}, [r("canvas", {
|
|
96
|
+
ref: "canvas",
|
|
97
|
+
class: "avue-sige__canvas",
|
|
98
|
+
width: o.width,
|
|
99
|
+
height: o.height
|
|
100
|
+
}, null, 8, c)], 4);
|
|
101
|
+
}
|
|
102
|
+
var u = /* @__PURE__ */ e(s, [["render", l]]);
|
|
103
|
+
//#endregion
|
|
104
|
+
export { u as default };
|
package/sign-panel/index.mjs
CHANGED
|
@@ -1,142 +1,183 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
record() {
|
|
107
|
-
this.stack.push(this.restorePoint);
|
|
108
|
-
},
|
|
109
|
-
save() {
|
|
110
|
-
const i = this.canvas.toDataURL("image/png");
|
|
111
|
-
this.blank === i ? this.$emit("input", "") : this.$emit("input", i), this.edit = !1, this.stack.length = 0, this.ctx.clearRect(0, 0, this.width, this.height);
|
|
112
|
-
},
|
|
113
|
-
showSign() {
|
|
114
|
-
this.disabled || (this.edit = !0);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
var o = function() {
|
|
119
|
-
var t = this, s = t._self._c;
|
|
120
|
-
return s("div", { staticClass: "sign-panel flex-column" }, [s("div", { directives: [{ name: "show", rawName: "v-show", value: !t.disabled && t.edit, expression: "!disabled && edit" }], staticClass: "sign-edit" }, [s("div", { staticClass: "sign-draw-area", style: { width: `${t.width + 2}px`, height: `${t.height + 2}px` } }, [s("div", { staticClass: "sign-watermark", style: { fontSize: `${t.fontSize}px` } }, [t._v(" " + t._s(t.text) + " ")]), s("canvas", { ref: "canvas", staticClass: "sign-canvas", attrs: { width: t.width, height: t.height }, on: { touchstart: function(e) {
|
|
121
|
-
return e.stopPropagation(), t.touchstart.apply(null, arguments);
|
|
122
|
-
}, touchmove: function(e) {
|
|
123
|
-
return e.stopPropagation(), t.touchmove.apply(null, arguments);
|
|
124
|
-
}, mousedown: function(e) {
|
|
125
|
-
return e.stopPropagation(), t.down.apply(null, arguments);
|
|
126
|
-
}, touchend: function(e) {
|
|
127
|
-
return e.stopPropagation(), t.touchend.apply(null, arguments);
|
|
128
|
-
}, mouseup: function(e) {
|
|
129
|
-
return e.stopPropagation(), t.up.apply(null, arguments);
|
|
130
|
-
} } }, [t._v("当前浏览器不支持手写签名 ")])]), s("div", { staticClass: "sign-tool-bar" }, [s("div", { staticClass: "sign-button flex-item", staticStyle: { color: "red" }, on: { click: t.clear } }, [s("i", { staticClass: "fa fa-trash" }), t._v(" 清除")]), s("div", { staticClass: "sign-button flex-item", staticStyle: { color: "red" }, on: { click: t.cancel } }, [s("i", { staticClass: "fa fa-close" }), t._v(" 取消")]), s("div", { staticClass: "sign-button flex-item", staticStyle: { color: "orange" }, on: { click: t.rollback } }, [s("i", { staticClass: "fa fa-repeat" }), t._v(" 撤销")]), s("div", { staticClass: "sign-button flex-item", staticStyle: { color: "green" }, on: { click: t.save } }, [s("i", { staticClass: "fa fa-check" }), t._v(" 确定")])])]), s("div", { directives: [{ name: "show", rawName: "v-show", value: t.disabled || !t.edit, expression: "disabled || !edit" }], staticClass: "sign-view", style: { cursor: t.disabled ? "not-allowed" : "pointer" }, on: { click: t.showSign } }, [t.value ? s("img", { staticClass: "sign-image", attrs: { src: t.value, alt: "签名" } }) : t._e(), t.value ? t._e() : s("p", { staticClass: "sign-tips", style: { color: !t.value && t.disabled ? "red" : "" } }, [t._v(" " + t._s(t.disabled ? "未签名" : "点击进行签名") + " ")]), t.disabled ? t._e() : s("i", { staticClass: "el-icon-edit-outline sign-edit-icon" })])]);
|
|
131
|
-
}, c = [], l = /* @__PURE__ */ a(
|
|
132
|
-
n,
|
|
133
|
-
o,
|
|
134
|
-
c,
|
|
135
|
-
!1,
|
|
136
|
-
null,
|
|
137
|
-
null
|
|
138
|
-
);
|
|
139
|
-
const r = l.exports;
|
|
140
|
-
export {
|
|
141
|
-
r as default
|
|
1
|
+
import { t as e } from "../chunks/_plugin-vue_export-helper.7vrlOII_.mjs";
|
|
2
|
+
import { createCommentVNode as t, createElementBlock as n, createElementVNode as r, createTextVNode as i, normalizeStyle as a, openBlock as o, toDisplayString as s, vShow as c, withDirectives as l, withModifiers as u } from "vue";
|
|
3
|
+
//#region src/components/SignPanel.vue
|
|
4
|
+
var d = {
|
|
5
|
+
name: "SignPanel",
|
|
6
|
+
props: {
|
|
7
|
+
width: {
|
|
8
|
+
type: Number,
|
|
9
|
+
default: 400
|
|
10
|
+
},
|
|
11
|
+
height: {
|
|
12
|
+
type: Number,
|
|
13
|
+
default: 150
|
|
14
|
+
},
|
|
15
|
+
lineWidth: {
|
|
16
|
+
type: Number,
|
|
17
|
+
default: 1
|
|
18
|
+
},
|
|
19
|
+
text: {
|
|
20
|
+
type: String,
|
|
21
|
+
default: "签名区"
|
|
22
|
+
},
|
|
23
|
+
fontSize: {
|
|
24
|
+
type: Number,
|
|
25
|
+
default: 20
|
|
26
|
+
},
|
|
27
|
+
modelValue: { type: String },
|
|
28
|
+
disabled: Boolean
|
|
29
|
+
},
|
|
30
|
+
emits: ["update:modelValue"],
|
|
31
|
+
data() {
|
|
32
|
+
return { edit: !1 };
|
|
33
|
+
},
|
|
34
|
+
mounted() {
|
|
35
|
+
this.init();
|
|
36
|
+
},
|
|
37
|
+
methods: {
|
|
38
|
+
init() {
|
|
39
|
+
if (this.stack = [], this.canvas = this.$refs.canvas, !this.canvas.getContext) {
|
|
40
|
+
alert("当前浏览器不支持手写签名");
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.canvasInit();
|
|
44
|
+
},
|
|
45
|
+
rollback() {
|
|
46
|
+
if (this.stack.length > 0) {
|
|
47
|
+
let e = this.stack[this.stack.length - 1];
|
|
48
|
+
this.ctx.putImageData(e, 0, 0), this.stack.length = this.stack.length - 1;
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
position() {
|
|
52
|
+
this.restorePoint = this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height);
|
|
53
|
+
let e = this.canvas.getBoundingClientRect();
|
|
54
|
+
this.start = e.left, this.end = e.top;
|
|
55
|
+
},
|
|
56
|
+
canvasInit() {
|
|
57
|
+
this.ctx = this.canvas.getContext("2d"), this.ctx.lineCap = "round", this.ctx.lineWidth = this.lineWidth, this.ctx.clearRect(0, 0, this.width, this.height), this.blank = this.canvas.toDataURL("image/png");
|
|
58
|
+
},
|
|
59
|
+
drawWaterMark() {
|
|
60
|
+
this.ctx.font = `${this.fontSize}px bold 黑体`, this.ctx.fillStyle = "#eee", this.ctx.textAlign = "center", this.ctx.shadowBlur = 1, this.ctx.textBaseline = "middle", this.ctx.fillText(this.text, this.width / 2, this.height / 2);
|
|
61
|
+
},
|
|
62
|
+
down(e) {
|
|
63
|
+
this.position(), this.startLine(e.clientX, e.clientY, e), this.target = e.target, this.target.addEventListener("mousemove", this.move), window.addEventListener("mouseup", this.up);
|
|
64
|
+
},
|
|
65
|
+
move(e) {
|
|
66
|
+
this.moveLine(e.clientX, e.clientY, e);
|
|
67
|
+
},
|
|
68
|
+
up() {
|
|
69
|
+
this.target && this.target.removeEventListener("mousemove", this.move), window.removeEventListener("mouseup", this.up), this.record();
|
|
70
|
+
},
|
|
71
|
+
touchstart(e) {
|
|
72
|
+
this.position(), this.startLine(e.changedTouches[0].clientX, e.changedTouches[0].clientY, e);
|
|
73
|
+
},
|
|
74
|
+
touchmove(e) {
|
|
75
|
+
this.moveLine(e.touches[0].clientX, e.touches[0].clientY, e);
|
|
76
|
+
},
|
|
77
|
+
startLine(e, t) {
|
|
78
|
+
this.ctx.beginPath(), e -= this.start, t -= this.end, this.ctx.moveTo(e, t);
|
|
79
|
+
},
|
|
80
|
+
moveLine(e, t, n) {
|
|
81
|
+
n == null || n.preventDefault(), e -= this.start, t -= this.end, this.ctx.lineTo(e, t), this.ctx.stroke();
|
|
82
|
+
},
|
|
83
|
+
clear() {
|
|
84
|
+
this.ctx.clearRect(0, 0, this.width, this.height);
|
|
85
|
+
},
|
|
86
|
+
cancel() {
|
|
87
|
+
this.clear(), this.edit = !1;
|
|
88
|
+
},
|
|
89
|
+
touchend() {
|
|
90
|
+
this.record();
|
|
91
|
+
},
|
|
92
|
+
record() {
|
|
93
|
+
this.stack.push(this.restorePoint);
|
|
94
|
+
},
|
|
95
|
+
save() {
|
|
96
|
+
let e = this.canvas.toDataURL("image/png");
|
|
97
|
+
this.blank === e ? this.$emit("update:modelValue", "") : this.$emit("update:modelValue", e), this.edit = !1, this.stack.length = 0, this.ctx.clearRect(0, 0, this.width, this.height);
|
|
98
|
+
},
|
|
99
|
+
showSign() {
|
|
100
|
+
this.disabled || (this.edit = !0);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}, f = { class: "sign-panel flex-column" }, p = { class: "sign-edit" }, m = ["width", "height"], h = { class: "sign-tool-bar" }, g = ["src"], _ = {
|
|
104
|
+
key: 2,
|
|
105
|
+
class: "el-icon-edit-outline sign-edit-icon"
|
|
142
106
|
};
|
|
107
|
+
function v(e, d, v, y, b, x) {
|
|
108
|
+
return o(), n("div", f, [
|
|
109
|
+
t("编辑"),
|
|
110
|
+
l(r("div", p, [
|
|
111
|
+
r("div", {
|
|
112
|
+
style: a({
|
|
113
|
+
width: `${v.width + 2}px`,
|
|
114
|
+
height: `${v.height + 2}px`
|
|
115
|
+
}),
|
|
116
|
+
class: "sign-draw-area"
|
|
117
|
+
}, [
|
|
118
|
+
t("水印层"),
|
|
119
|
+
r("div", {
|
|
120
|
+
class: "sign-watermark",
|
|
121
|
+
style: a({ fontSize: `${v.fontSize}px` })
|
|
122
|
+
}, s(v.text), 5),
|
|
123
|
+
t("canvas 画布"),
|
|
124
|
+
r("canvas", {
|
|
125
|
+
ref: "canvas",
|
|
126
|
+
class: "sign-canvas",
|
|
127
|
+
width: v.width,
|
|
128
|
+
height: v.height,
|
|
129
|
+
onTouchstart: d[0] || (d[0] = u((...e) => x.touchstart && x.touchstart(...e), ["stop"])),
|
|
130
|
+
onTouchmove: d[1] || (d[1] = u((...e) => x.touchmove && x.touchmove(...e), ["stop"])),
|
|
131
|
+
onMousedown: d[2] || (d[2] = u((...e) => x.down && x.down(...e), ["stop"])),
|
|
132
|
+
onTouchend: d[3] || (d[3] = u((...e) => x.touchend && x.touchend(...e), ["stop"])),
|
|
133
|
+
onMouseup: d[4] || (d[4] = u((...e) => x.up && x.up(...e), ["stop"]))
|
|
134
|
+
}, "当前浏览器不支持手写签名 ", 40, m)
|
|
135
|
+
], 4),
|
|
136
|
+
t("操作按钮"),
|
|
137
|
+
r("div", h, [
|
|
138
|
+
r("div", {
|
|
139
|
+
class: "sign-button flex-item",
|
|
140
|
+
style: { color: "red" },
|
|
141
|
+
onClick: d[5] || (d[5] = (...e) => x.clear && x.clear(...e))
|
|
142
|
+
}, [...d[10] || (d[10] = [r("i", { class: "fa fa-trash" }, null, -1), i(" 清除", -1)])]),
|
|
143
|
+
r("div", {
|
|
144
|
+
class: "sign-button flex-item",
|
|
145
|
+
style: { color: "red" },
|
|
146
|
+
onClick: d[6] || (d[6] = (...e) => x.cancel && x.cancel(...e))
|
|
147
|
+
}, [...d[11] || (d[11] = [r("i", { class: "fa fa-close" }, null, -1), i(" 取消", -1)])]),
|
|
148
|
+
r("div", {
|
|
149
|
+
class: "sign-button flex-item",
|
|
150
|
+
style: { color: "orange" },
|
|
151
|
+
onClick: d[7] || (d[7] = (...e) => x.rollback && x.rollback(...e))
|
|
152
|
+
}, [...d[12] || (d[12] = [r("i", { class: "fa fa-repeat" }, null, -1), i(" 撤销", -1)])]),
|
|
153
|
+
r("div", {
|
|
154
|
+
class: "sign-button flex-item",
|
|
155
|
+
style: { color: "green" },
|
|
156
|
+
onClick: d[8] || (d[8] = (...e) => x.save && x.save(...e))
|
|
157
|
+
}, [...d[13] || (d[13] = [r("i", { class: "fa fa-check" }, null, -1), i(" 确定", -1)])])
|
|
158
|
+
])
|
|
159
|
+
], 512), [[c, !v.disabled && b.edit]]),
|
|
160
|
+
t("只读"),
|
|
161
|
+
l(r("div", {
|
|
162
|
+
class: "sign-view",
|
|
163
|
+
style: a({ cursor: v.disabled ? "not-allowed" : "pointer" }),
|
|
164
|
+
onClick: d[9] || (d[9] = (...e) => x.showSign && x.showSign(...e))
|
|
165
|
+
}, [
|
|
166
|
+
v.modelValue ? (o(), n("img", {
|
|
167
|
+
key: 0,
|
|
168
|
+
src: v.modelValue,
|
|
169
|
+
alt: "签名",
|
|
170
|
+
class: "sign-image"
|
|
171
|
+
}, null, 8, g)) : t("v-if", !0),
|
|
172
|
+
v.modelValue ? t("v-if", !0) : (o(), n("p", {
|
|
173
|
+
key: 1,
|
|
174
|
+
class: "sign-tips",
|
|
175
|
+
style: a({ color: !v.modelValue && v.disabled ? "red" : "" })
|
|
176
|
+
}, s(v.disabled ? "未签名" : "点击进行签名"), 5)),
|
|
177
|
+
v.disabled ? t("v-if", !0) : (o(), n("i", _))
|
|
178
|
+
], 4), [[c, v.disabled || !b.edit]])
|
|
179
|
+
]);
|
|
180
|
+
}
|
|
181
|
+
var y = /* @__PURE__ */ e(d, [["render", v]]);
|
|
182
|
+
//#endregion
|
|
183
|
+
export { y as default };
|