eoss-ui 0.6.62 → 0.6.64

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.
Files changed (309) hide show
  1. package/lib/.DS_Store +0 -0
  2. package/lib/button-group.js +41 -30
  3. package/lib/button.js +40 -29
  4. package/lib/calendar.js +2 -2
  5. package/lib/calogin.js +5279 -0
  6. package/lib/card.js +2 -2
  7. package/lib/cascader.js +2 -2
  8. package/lib/checkbox-group.js +45 -34
  9. package/lib/clients.js +5 -5
  10. package/lib/config/api.js +15 -15
  11. package/lib/data-table-form.js +43 -33
  12. package/lib/data-table.js +42 -32
  13. package/lib/date-picker.js +40 -29
  14. package/lib/dialog.js +44 -33
  15. package/lib/enable-drag.js +2 -2
  16. package/lib/enterprise.js +2 -2
  17. package/lib/eoss-ui.common.js +1825 -666
  18. package/lib/error-page.js +2 -2
  19. package/lib/flow-group.js +262 -233
  20. package/lib/flow-list.js +142 -126
  21. package/lib/flow.js +323 -313
  22. package/lib/form.js +59 -44
  23. package/lib/handle-user.js +44 -33
  24. package/lib/handler.js +47 -36
  25. package/lib/icon.js +40 -29
  26. package/lib/icons.js +4 -4
  27. package/lib/index.js +1 -1
  28. package/lib/input-number.js +40 -29
  29. package/lib/input.js +44 -33
  30. package/lib/label.js +2 -2
  31. package/lib/layout.js +4 -4
  32. package/lib/login.js +216 -96
  33. package/lib/main.js +212 -190
  34. package/lib/menu.js +4 -4
  35. package/lib/nav.js +42 -31
  36. package/lib/notify.js +17 -17
  37. package/lib/page.js +40 -29
  38. package/lib/pagination.js +40 -29
  39. package/lib/player.js +50 -39
  40. package/lib/qr-code.js +55 -44
  41. package/lib/radio-group.js +51 -40
  42. package/lib/retrial-auth.js +47 -36
  43. package/lib/select-ganged.js +185 -174
  44. package/lib/select.js +187 -176
  45. package/lib/selector-panel.js +45 -35
  46. package/lib/selector.js +42 -31
  47. package/lib/sizer.js +40 -29
  48. package/lib/steps.js +42 -31
  49. package/lib/switch.js +40 -29
  50. package/lib/table-form.js +49 -38
  51. package/lib/tabs-panel.js +2 -2
  52. package/lib/tabs.js +40 -29
  53. package/lib/theme-chalk/base.css +1 -1
  54. package/lib/theme-chalk/calogin.css +0 -0
  55. package/lib/theme-chalk/index.css +1 -1
  56. package/lib/theme-chalk/login.css +1 -1
  57. package/lib/theme-chalk/main.css +1 -1
  58. package/lib/theme-chalk/menu.css +1 -1
  59. package/lib/theme-chalk/simplicity.css +1 -1
  60. package/lib/theme-chalk/sizer.css +1 -1
  61. package/lib/theme-chalk/upload.css +1 -1
  62. package/lib/tips.js +42 -31
  63. package/lib/toolbar.js +2 -2
  64. package/lib/tree-group.js +40 -29
  65. package/lib/tree.js +42 -31
  66. package/lib/upload.js +48 -37
  67. package/lib/utils/util.js +4 -1
  68. package/lib/wujie.js +47 -36
  69. package/lib/wxlogin.js +40 -29
  70. package/package.json +160 -159
  71. package/packages/.DS_Store +0 -0
  72. package/packages/autocomplete/.DS_Store +0 -0
  73. package/packages/button/index.js +5 -5
  74. package/packages/button/src/main.vue +418 -418
  75. package/packages/button-group/index.js +5 -5
  76. package/packages/button-group/src/main.vue +298 -298
  77. package/packages/calendar/index.js +5 -5
  78. package/packages/calogin/index.js +5 -0
  79. package/packages/calogin/src/main.vue +131 -0
  80. package/packages/calogin/src/plugin.js +748 -0
  81. package/packages/card/index.js +5 -5
  82. package/packages/card/src/main.vue +156 -156
  83. package/packages/cascader/index.js +5 -5
  84. package/packages/cascader/src/main.vue +168 -168
  85. package/packages/checkbox-group/index.js +5 -5
  86. package/packages/checkbox-group/src/main.vue +333 -333
  87. package/packages/clients/index.js +5 -5
  88. package/packages/clients/src/main.vue +151 -151
  89. package/packages/data-table/index.js +5 -5
  90. package/packages/data-table/src/children.vue +39 -39
  91. package/packages/data-table/src/column.vue +989 -989
  92. package/packages/data-table/src/main.vue +1822 -1822
  93. package/packages/data-table/src/sizer.vue +195 -195
  94. package/packages/data-table-form/index.js +5 -5
  95. package/packages/data-table-form/src/checkbox.vue +101 -101
  96. package/packages/data-table-form/src/colgroup.vue +17 -17
  97. package/packages/data-table-form/src/main.vue +181 -181
  98. package/packages/data-table-form/src/radio.vue +65 -65
  99. package/packages/data-table-form/src/table.vue +233 -233
  100. package/packages/data-table-form/src/tbody.vue +336 -336
  101. package/packages/data-table-form/src/thead.vue +68 -68
  102. package/packages/date-picker/.DS_Store +0 -0
  103. package/packages/date-picker/index.js +5 -5
  104. package/packages/date-picker/src/.DS_Store +0 -0
  105. package/packages/date-picker/src/main.vue +236 -236
  106. package/packages/dialog/index.js +5 -5
  107. package/packages/enable-drag/index.js +5 -5
  108. package/packages/enterprise/index.js +5 -5
  109. package/packages/enterprise/src/main.vue +66 -66
  110. package/packages/error-page/index.js +5 -5
  111. package/packages/error-page/src/main.vue +44 -44
  112. package/packages/flow/index.js +5 -5
  113. package/packages/flow/src/component/Circulate.vue +322 -322
  114. package/packages/flow/src/component/CommonOpinions.vue +346 -346
  115. package/packages/flow/src/component/CustomPreset.vue +322 -322
  116. package/packages/flow/src/component/FileList.vue +99 -99
  117. package/packages/flow/src/component/Preset.vue +255 -255
  118. package/packages/flow/src/component/SendMsg.vue +241 -241
  119. package/packages/flow/src/component/TimeLimit.vue +190 -190
  120. package/packages/flow/src/component/taskUnionExamine.vue +619 -619
  121. package/packages/flow/src/form.vue +121 -121
  122. package/packages/flow/src/freeStartFlow.vue +2843 -2843
  123. package/packages/flow/src/main.vue +3275 -3275
  124. package/packages/flow/src/processForm.vue +1091 -1091
  125. package/packages/flow/src/processReject.vue +294 -294
  126. package/packages/flow/src/reset.vue +900 -900
  127. package/packages/flow/src/startTaskRead.vue +659 -659
  128. package/packages/flow/src/supervise.vue +149 -149
  129. package/packages/flow/src/table.vue +58 -58
  130. package/packages/flow-group/index.js +5 -5
  131. package/packages/flow-group/src/main.vue +688 -688
  132. package/packages/flow-list/index.js +5 -5
  133. package/packages/flow-list/src/main.vue +1724 -1718
  134. package/packages/form/index.js +5 -5
  135. package/packages/form/src/main.vue +3581 -3583
  136. package/packages/form/src/table.vue +1426 -1426
  137. package/packages/handle-user/index.js +5 -5
  138. package/packages/handle-user/src/main.vue +138 -138
  139. package/packages/handler/index.js +5 -5
  140. package/packages/handler/src/main.vue +493 -493
  141. package/packages/icon/index.js +5 -5
  142. package/packages/icon/src/main.vue +101 -101
  143. package/packages/icons/index.js +5 -5
  144. package/packages/icons/src/main.vue +81 -81
  145. package/packages/input/index.js +5 -5
  146. package/packages/input/src/main.vue +356 -356
  147. package/packages/input-number/index.js +5 -5
  148. package/packages/input-number/src/main.vue +106 -106
  149. package/packages/label/index.js +5 -5
  150. package/packages/label/src/main.vue +457 -457
  151. package/packages/layout/index.js +5 -5
  152. package/packages/layout/src/item.vue +152 -152
  153. package/packages/layout/src/main.vue +31 -31
  154. package/packages/login/index.js +5 -5
  155. package/packages/login/src/main.vue +1976 -1942
  156. package/packages/login/src/resetPassword.vue +562 -562
  157. package/packages/main/.DS_Store +0 -0
  158. package/packages/main/index.js +5 -5
  159. package/packages/main/src/.DS_Store +0 -0
  160. package/packages/main/src/default/message.vue +249 -249
  161. package/packages/main/src/default/notice.vue +157 -157
  162. package/packages/main/src/default/userinfo.vue +503 -503
  163. package/packages/main/src/public/online.vue +89 -89
  164. package/packages/main/src/public/search.vue +462 -462
  165. package/packages/main/src/public/settings.vue +221 -221
  166. package/packages/main/src/simplicity/apps.vue +388 -388
  167. package/packages/main/src/simplicity/avatar.vue +83 -82
  168. package/packages/main/src/simplicity/handler.vue +259 -259
  169. package/packages/main/src/simplicity/index.vue +2089 -2086
  170. package/packages/main/src/simplicity/lists.vue +84 -84
  171. package/packages/main/src/simplicity/menu-list.vue +135 -135
  172. package/packages/main/src/simplicity/message.vue +259 -259
  173. package/packages/main/src/simplicity/notice.vue +190 -190
  174. package/packages/main/src/simplicity/router-page.vue +45 -45
  175. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  176. package/packages/main/src/simplicity/user.vue +257 -257
  177. package/packages/main/src/simplicity/userinfo.vue +312 -312
  178. package/packages/menu/.DS_Store +0 -0
  179. package/packages/menu/index.js +5 -5
  180. package/packages/menu/src/main.vue +584 -584
  181. package/packages/nav/index.js +5 -5
  182. package/packages/nav/src/main.vue +351 -351
  183. package/packages/notify/index.js +5 -5
  184. package/packages/notify/src/main.vue +538 -538
  185. package/packages/page/index.js +5 -5
  186. package/packages/page/src/main.vue +167 -167
  187. package/packages/pagination/index.js +5 -5
  188. package/packages/pagination/src/main.vue +96 -96
  189. package/packages/player/index.js +5 -5
  190. package/packages/player/src/main.vue +194 -194
  191. package/packages/qr-code/index.js +5 -5
  192. package/packages/qr-code/src/main.vue +170 -170
  193. package/packages/radio-group/index.js +6 -6
  194. package/packages/radio-group/src/main.vue +319 -319
  195. package/packages/retrial-auth/index.js +5 -5
  196. package/packages/retrial-auth/src/main.vue +280 -280
  197. package/packages/scrollbar/.DS_Store +0 -0
  198. package/packages/select/.DS_Store +0 -0
  199. package/packages/select/index.js +5 -5
  200. package/packages/select/src/main.vue +778 -778
  201. package/packages/select-ganged/index.js +5 -5
  202. package/packages/select-ganged/src/main.vue +724 -724
  203. package/packages/selector/index.js +5 -5
  204. package/packages/selector/src/main.vue +687 -687
  205. package/packages/selector-panel/index.js +5 -5
  206. package/packages/selector-panel/src/main.vue +1027 -1027
  207. package/packages/selector-panel/src/selection.vue +177 -177
  208. package/packages/selector-panel/src/tree.vue +129 -129
  209. package/packages/sizer/index.js +5 -5
  210. package/packages/sizer/src/main.vue +254 -254
  211. package/packages/steps/index.js +5 -5
  212. package/packages/steps/src/main.vue +181 -181
  213. package/packages/switch/index.js +5 -5
  214. package/packages/switch/src/main.vue +154 -154
  215. package/packages/table-form/index.js +5 -5
  216. package/packages/tabs/index.js +5 -5
  217. package/packages/tabs/src/main.vue +788 -788
  218. package/packages/tabs-panel/index.js +5 -5
  219. package/packages/tabs-panel/src/main.vue +29 -29
  220. package/packages/theme-chalk/lib/base.css +1 -1
  221. package/packages/theme-chalk/lib/calogin.css +0 -0
  222. package/packages/theme-chalk/lib/index.css +1 -1
  223. package/packages/theme-chalk/lib/login.css +1 -1
  224. package/packages/theme-chalk/lib/main.css +1 -1
  225. package/packages/theme-chalk/lib/menu.css +1 -1
  226. package/packages/theme-chalk/lib/simplicity.css +1 -1
  227. package/packages/theme-chalk/lib/sizer.css +1 -1
  228. package/packages/theme-chalk/lib/upload.css +1 -1
  229. package/packages/theme-chalk/src/.DS_Store +0 -0
  230. package/packages/theme-chalk/src/base.scss +261 -260
  231. package/packages/theme-chalk/src/button-group.scss +176 -176
  232. package/packages/theme-chalk/src/button.scss +24 -24
  233. package/packages/theme-chalk/src/calendar.scss +113 -113
  234. package/packages/theme-chalk/src/calogin.scss +0 -0
  235. package/packages/theme-chalk/src/card.scss +99 -99
  236. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  237. package/packages/theme-chalk/src/clients.scss +87 -87
  238. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  239. package/packages/theme-chalk/src/data-table.scss +293 -293
  240. package/packages/theme-chalk/src/date-picker.scss +7 -7
  241. package/packages/theme-chalk/src/dialog.scss +77 -77
  242. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  243. package/packages/theme-chalk/src/enterprise.scss +5 -5
  244. package/packages/theme-chalk/src/error-page.scss +18 -18
  245. package/packages/theme-chalk/src/flow-group.scss +110 -110
  246. package/packages/theme-chalk/src/flow-list.scss +39 -39
  247. package/packages/theme-chalk/src/flow.scss +343 -343
  248. package/packages/theme-chalk/src/form.scss +496 -496
  249. package/packages/theme-chalk/src/handle-user.scss +40 -40
  250. package/packages/theme-chalk/src/handler.scss +143 -143
  251. package/packages/theme-chalk/src/icon.scss +1792 -1792
  252. package/packages/theme-chalk/src/icons.scss +99 -99
  253. package/packages/theme-chalk/src/index.scss +1 -0
  254. package/packages/theme-chalk/src/input.scss +9 -9
  255. package/packages/theme-chalk/src/label.scss +24 -24
  256. package/packages/theme-chalk/src/layout.scss +46 -46
  257. package/packages/theme-chalk/src/login.scss +981 -969
  258. package/packages/theme-chalk/src/main.scss +663 -663
  259. package/packages/theme-chalk/src/menu.scss +222 -222
  260. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  261. package/packages/theme-chalk/src/nav.scss +111 -111
  262. package/packages/theme-chalk/src/page.scss +3 -3
  263. package/packages/theme-chalk/src/pagination.scss +29 -29
  264. package/packages/theme-chalk/src/player.scss +9 -9
  265. package/packages/theme-chalk/src/qr-code.scss +17 -17
  266. package/packages/theme-chalk/src/radio-group.scss +9 -9
  267. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  268. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  269. package/packages/theme-chalk/src/select.scss +8 -8
  270. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  271. package/packages/theme-chalk/src/selector.scss +91 -91
  272. package/packages/theme-chalk/src/simplicity.scss +1355 -1351
  273. package/packages/theme-chalk/src/sizer.scss +36 -36
  274. package/packages/theme-chalk/src/steps.scss +88 -88
  275. package/packages/theme-chalk/src/switch.scss +3 -3
  276. package/packages/theme-chalk/src/table-form.scss +1 -1
  277. package/packages/theme-chalk/src/tabs.scss +87 -87
  278. package/packages/theme-chalk/src/tips.scss +7 -7
  279. package/packages/theme-chalk/src/toolbar.scss +179 -179
  280. package/packages/theme-chalk/src/tree-group.scss +72 -72
  281. package/packages/theme-chalk/src/tree.scss +165 -165
  282. package/packages/theme-chalk/src/upload.scss +168 -168
  283. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  284. package/packages/tips/index.js +5 -5
  285. package/packages/tips/src/main.vue +141 -141
  286. package/packages/toolbar/index.js +5 -5
  287. package/packages/toolbar/src/main.vue +430 -430
  288. package/packages/tree/index.js +5 -5
  289. package/packages/tree-group/index.js +5 -5
  290. package/packages/upload/.DS_Store +0 -0
  291. package/packages/upload/index.js +5 -5
  292. package/packages/upload/src/main.vue +1347 -1347
  293. package/packages/upload/src/picture.js +15 -15
  294. package/packages/wujie/index.js +5 -5
  295. package/packages/wujie/src/main.vue +145 -145
  296. package/packages/wxlogin/index.js +5 -5
  297. package/packages/wxlogin/src/main.vue +128 -128
  298. package/src/.DS_Store +0 -0
  299. package/src/config/api.js +290 -290
  300. package/src/config/image.js +2 -2
  301. package/src/index.js +163 -160
  302. package/src/utils/.DS_Store +0 -0
  303. package/src/utils/bus.js +3 -3
  304. package/src/utils/date-util.js +312 -312
  305. package/src/utils/http.js +50 -50
  306. package/src/utils/rules.js +18 -18
  307. package/src/utils/store.js +21 -21
  308. package/src/utils/util.js +3 -1
  309. package/src/utils/webSocket.js +107 -107
@@ -1,170 +1,170 @@
1
- <template>
2
- <div class="es-qrcode-box" id="qrcode" ref="qrcode">
3
- <template v-if="mwidth && mheight">
4
- <img
5
- class="es-qrcode-img"
6
- :width="mwidth"
7
- :height="mheight"
8
- ref="qrcodeImg"
9
- alt="二维码图片"
10
- />
11
- <!-- <img
12
- v-if="logo"
13
- class="es-qrcode-logo"
14
- ref="qrcodeLogo"
15
- :src="logo"
16
- alt="二维码logo"
17
- /> -->
18
- <canvas
19
- :width="mwidth"
20
- :height="mheight"
21
- class="canvas"
22
- ref="canvas"
23
- ></canvas>
24
- </template>
25
- </div>
26
- </template>
27
-
28
- <script>
29
- import util from 'eoss-ui/src/utils/util';
30
- const QRCode = require('qrcode');
31
- export default {
32
- name: 'EsQrCode',
33
- props: {
34
- content: {
35
- type: String,
36
- required: true
37
- },
38
- logo: String,
39
- text: String,
40
- width: {
41
- type: Number,
42
- default: 300
43
- },
44
- height: {
45
- type: Number,
46
- default: 300
47
- },
48
- auto: Boolean,
49
- option: {
50
- type: Object,
51
- default: () => {
52
- return {
53
- errorCorrectionLevel: 'H', //纠错等级
54
- color: {
55
- dark: '#000000',
56
- light: '#ffffff'
57
- }
58
- };
59
- }
60
- }
61
- },
62
- computed: {},
63
- data() {
64
- return {
65
- mwidth: 0,
66
- mheight: 0
67
- };
68
- },
69
- watch: {
70
- logo: function (val) {
71
- this.$nextTick(() => {
72
- this.createQRCode();
73
- });
74
- },
75
- content: {
76
- immediate: true,
77
- handler(val) {
78
- if (val) {
79
- this.createQRCode();
80
- }
81
- }
82
- }
83
- },
84
- created() {},
85
- mounted() {
86
- if (this.auto) {
87
- let h =
88
- (this.$refs.qrcode.offsetHeight || this.$refs.qrcode.offsetWidth) -
89
- parseInt(util.getStyle(this.$refs.qrcode, 'padding-top'), 10) -
90
- parseInt(util.getStyle(this.$refs.qrcode, 'padding-bottom'), 10);
91
- if (h > 0) {
92
- this.mwidth = h;
93
- this.mheight = h;
94
- }
95
- } else {
96
- this.mwidth = this.width;
97
- this.mheight = this.height;
98
- }
99
- this.$nextTick(() => {
100
- this.createQRCode();
101
- });
102
- },
103
- methods: {
104
- createQRCode() {
105
- let qrcodeImg = this.$refs.qrcodeImg;
106
- //let qrcodeLogo = this.$refs.qrcodeLogo;
107
- let canvas = this.$refs.canvas;
108
- let option = util.extend({}, this.option, {
109
- width: this.mwidth,
110
- height: this.mheight
111
- });
112
- if (!qrcodeImg) {
113
- return false;
114
- }
115
- QRCode.toDataURL(this.content, option, (err, url) => {
116
- if (this.content && url) {
117
- qrcodeImg.src = url;
118
- // 画二维码里的logo// 在canvas里进行拼接
119
- let ctx = canvas.getContext('2d');
120
- setTimeout(() => {
121
- //获取图片
122
- ctx.drawImage(qrcodeImg, 0, 0, this.mwidth, this.mheight);
123
- if (this.logo && this.logo.indexOf('.') > -1) {
124
- let logo = new Image();
125
- logo.src = this.logo;
126
- //设置logo大小
127
- let logoPosition = (this.mwidth - 46) / 2; //logo相对于canvas居中定位
128
- //设置获取的logo将其变为圆角以及添加白色背景
129
- /* ctx.fillStyle = "#fff";
130
- ctx.beginPath();
131
- let h = 46; //圆角高 10为基数(logo四周白色背景为10/2)
132
- let w = 46; //圆角宽
133
- let x = logoPosition - 5;
134
- let y = logoPosition - 5;
135
- let r = 5; //圆角半径
136
- ctx.moveTo(x + r, y);
137
- ctx.arcTo(x + w, y, x + w, y + h, r);
138
- ctx.arcTo(x + w, y + h, x, y + h, r);
139
- ctx.arcTo(x, y + h, x, y, r);
140
- ctx.arcTo(x, y, x + w, y, r);
141
- ctx.closePath();
142
- ctx.fill(); */
143
- logo.onload = () => {
144
- ctx.drawImage(logo, logoPosition, logoPosition, 46, 46);
145
- qrcodeImg.src = canvas.toDataURL();
146
- };
147
- } else if (this.text) {
148
- //设置字体
149
- let fpadd = 10; //规定内间距
150
- ctx.font = 'bold 16px Arial';
151
- let tw = ctx.measureText(this.text).width; //文字真实宽度
152
- let ftop = (this.mheight - 16) / 2; //根据字体大小计算文字top
153
- let fleft = (this.mwidth - tw) / 2; //根据字体大小计算文字left
154
- let tp = 16 / 2; //字体边距为字体大小的一半可以自己设置
155
- ctx.fillStyle = '#fff';
156
- ctx.fillRect(fleft - tp / 2, ftop - tp / 2, tw + tp, 16 + tp);
157
- ctx.textBaseline = 'top'; //设置绘制文本时的文本基线。
158
- ctx.fillStyle = '#f40';
159
- ctx.fillText(this.text, fleft, ftop);
160
- }
161
- canvas.style.display = 'none';
162
- qrcodeImg.src = canvas.toDataURL();
163
- qrcodeImg.style.display = 'inline-block';
164
- }, 500);
165
- }
166
- });
167
- }
168
- }
169
- };
170
- </script>
1
+ <template>
2
+ <div class="es-qrcode-box" id="qrcode" ref="qrcode">
3
+ <template v-if="mwidth && mheight">
4
+ <img
5
+ class="es-qrcode-img"
6
+ :width="mwidth"
7
+ :height="mheight"
8
+ ref="qrcodeImg"
9
+ alt="二维码图片"
10
+ />
11
+ <!-- <img
12
+ v-if="logo"
13
+ class="es-qrcode-logo"
14
+ ref="qrcodeLogo"
15
+ :src="logo"
16
+ alt="二维码logo"
17
+ /> -->
18
+ <canvas
19
+ :width="mwidth"
20
+ :height="mheight"
21
+ class="canvas"
22
+ ref="canvas"
23
+ ></canvas>
24
+ </template>
25
+ </div>
26
+ </template>
27
+
28
+ <script>
29
+ import util from 'eoss-ui/src/utils/util';
30
+ const QRCode = require('qrcode');
31
+ export default {
32
+ name: 'EsQrCode',
33
+ props: {
34
+ content: {
35
+ type: String,
36
+ required: true
37
+ },
38
+ logo: String,
39
+ text: String,
40
+ width: {
41
+ type: Number,
42
+ default: 300
43
+ },
44
+ height: {
45
+ type: Number,
46
+ default: 300
47
+ },
48
+ auto: Boolean,
49
+ option: {
50
+ type: Object,
51
+ default: () => {
52
+ return {
53
+ errorCorrectionLevel: 'H', //纠错等级
54
+ color: {
55
+ dark: '#000000',
56
+ light: '#ffffff'
57
+ }
58
+ };
59
+ }
60
+ }
61
+ },
62
+ computed: {},
63
+ data() {
64
+ return {
65
+ mwidth: 0,
66
+ mheight: 0
67
+ };
68
+ },
69
+ watch: {
70
+ logo: function (val) {
71
+ this.$nextTick(() => {
72
+ this.createQRCode();
73
+ });
74
+ },
75
+ content: {
76
+ immediate: true,
77
+ handler(val) {
78
+ if (val) {
79
+ this.createQRCode();
80
+ }
81
+ }
82
+ }
83
+ },
84
+ created() {},
85
+ mounted() {
86
+ if (this.auto) {
87
+ let h =
88
+ (this.$refs.qrcode.offsetHeight || this.$refs.qrcode.offsetWidth) -
89
+ parseInt(util.getStyle(this.$refs.qrcode, 'padding-top'), 10) -
90
+ parseInt(util.getStyle(this.$refs.qrcode, 'padding-bottom'), 10);
91
+ if (h > 0) {
92
+ this.mwidth = h;
93
+ this.mheight = h;
94
+ }
95
+ } else {
96
+ this.mwidth = this.width;
97
+ this.mheight = this.height;
98
+ }
99
+ this.$nextTick(() => {
100
+ this.createQRCode();
101
+ });
102
+ },
103
+ methods: {
104
+ createQRCode() {
105
+ let qrcodeImg = this.$refs.qrcodeImg;
106
+ //let qrcodeLogo = this.$refs.qrcodeLogo;
107
+ let canvas = this.$refs.canvas;
108
+ let option = util.extend({}, this.option, {
109
+ width: this.mwidth,
110
+ height: this.mheight
111
+ });
112
+ if (!qrcodeImg) {
113
+ return false;
114
+ }
115
+ QRCode.toDataURL(this.content, option, (err, url) => {
116
+ if (this.content && url) {
117
+ qrcodeImg.src = url;
118
+ // 画二维码里的logo// 在canvas里进行拼接
119
+ let ctx = canvas.getContext('2d');
120
+ setTimeout(() => {
121
+ //获取图片
122
+ ctx.drawImage(qrcodeImg, 0, 0, this.mwidth, this.mheight);
123
+ if (this.logo && this.logo.indexOf('.') > -1) {
124
+ let logo = new Image();
125
+ logo.src = this.logo;
126
+ //设置logo大小
127
+ let logoPosition = (this.mwidth - 46) / 2; //logo相对于canvas居中定位
128
+ //设置获取的logo将其变为圆角以及添加白色背景
129
+ /* ctx.fillStyle = "#fff";
130
+ ctx.beginPath();
131
+ let h = 46; //圆角高 10为基数(logo四周白色背景为10/2)
132
+ let w = 46; //圆角宽
133
+ let x = logoPosition - 5;
134
+ let y = logoPosition - 5;
135
+ let r = 5; //圆角半径
136
+ ctx.moveTo(x + r, y);
137
+ ctx.arcTo(x + w, y, x + w, y + h, r);
138
+ ctx.arcTo(x + w, y + h, x, y + h, r);
139
+ ctx.arcTo(x, y + h, x, y, r);
140
+ ctx.arcTo(x, y, x + w, y, r);
141
+ ctx.closePath();
142
+ ctx.fill(); */
143
+ logo.onload = () => {
144
+ ctx.drawImage(logo, logoPosition, logoPosition, 46, 46);
145
+ qrcodeImg.src = canvas.toDataURL();
146
+ };
147
+ } else if (this.text) {
148
+ //设置字体
149
+ let fpadd = 10; //规定内间距
150
+ ctx.font = 'bold 16px Arial';
151
+ let tw = ctx.measureText(this.text).width; //文字真实宽度
152
+ let ftop = (this.mheight - 16) / 2; //根据字体大小计算文字top
153
+ let fleft = (this.mwidth - tw) / 2; //根据字体大小计算文字left
154
+ let tp = 16 / 2; //字体边距为字体大小的一半可以自己设置
155
+ ctx.fillStyle = '#fff';
156
+ ctx.fillRect(fleft - tp / 2, ftop - tp / 2, tw + tp, 16 + tp);
157
+ ctx.textBaseline = 'top'; //设置绘制文本时的文本基线。
158
+ ctx.fillStyle = '#f40';
159
+ ctx.fillText(this.text, fleft, ftop);
160
+ }
161
+ canvas.style.display = 'none';
162
+ qrcodeImg.src = canvas.toDataURL();
163
+ qrcodeImg.style.display = 'inline-block';
164
+ }, 500);
165
+ }
166
+ });
167
+ }
168
+ }
169
+ };
170
+ </script>
@@ -1,6 +1,6 @@
1
- import EsRadioGroup from './src/main';
2
-
3
- /* istanbul ignore next */
4
- EsRadioGroup.install = function(Vue) {Vue.component(EsRadioGroup.name, EsRadioGroup);};
5
-
6
- export default EsRadioGroup;
1
+ import EsRadioGroup from './src/main';
2
+
3
+ /* istanbul ignore next */
4
+ EsRadioGroup.install = function(Vue) {Vue.component(EsRadioGroup.name, EsRadioGroup);};
5
+
6
+ export default EsRadioGroup;