eoss-ui 0.6.40 → 0.6.42

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 (297) hide show
  1. package/lib/button-group.js +5 -0
  2. package/lib/button.js +5 -0
  3. package/lib/checkbox-group.js +5 -0
  4. package/lib/data-table-form.js +5 -0
  5. package/lib/data-table.js +11 -6
  6. package/lib/date-picker.js +5 -0
  7. package/lib/dialog.js +5 -0
  8. package/lib/eoss-ui.common.js +1967 -1458
  9. package/lib/flow-group.js +5 -0
  10. package/lib/flow-list.js +128 -112
  11. package/lib/flow.js +903 -801
  12. package/lib/form.js +5 -0
  13. package/lib/handle-user.js +5 -0
  14. package/lib/handler.js +152 -76
  15. package/lib/icon.js +5 -0
  16. package/lib/icons.js +1 -1
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +5 -0
  19. package/lib/input.js +5 -0
  20. package/lib/login.js +248 -160
  21. package/lib/main.js +461 -245
  22. package/lib/nav.js +5 -0
  23. package/lib/page.js +5 -0
  24. package/lib/pagination.js +5 -0
  25. package/lib/player.js +5 -0
  26. package/lib/qr-code.js +18 -13
  27. package/lib/radio-group.js +5 -0
  28. package/lib/retrial-auth.js +5 -0
  29. package/lib/select-ganged.js +5 -0
  30. package/lib/select.js +5 -0
  31. package/lib/selector-panel.js +7 -3
  32. package/lib/selector.js +42 -5
  33. package/lib/sizer.js +5 -0
  34. package/lib/steps.js +5 -0
  35. package/lib/switch.js +5 -0
  36. package/lib/table-form.js +5 -0
  37. package/lib/tabs.js +5 -0
  38. package/lib/theme-chalk/base.css +1 -1
  39. package/lib/theme-chalk/flow.css +1 -1
  40. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  41. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  42. package/lib/theme-chalk/icon.css +1 -1
  43. package/lib/theme-chalk/index.css +1 -1
  44. package/lib/theme-chalk/login.css +1 -1
  45. package/lib/theme-chalk/main.css +1 -1
  46. package/lib/theme-chalk/menu.css +1 -1
  47. package/lib/theme-chalk/simplicity.css +1 -1
  48. package/lib/theme-chalk/sizer.css +1 -1
  49. package/lib/theme-chalk/upload.css +1 -1
  50. package/lib/tips.js +5 -0
  51. package/lib/tree-group.js +5 -0
  52. package/lib/tree.js +5 -0
  53. package/lib/upload.js +5 -0
  54. package/lib/utils/util.js +5 -0
  55. package/lib/wujie.js +5 -0
  56. package/lib/wxlogin.js +5 -0
  57. package/package.json +159 -159
  58. package/packages/button/index.js +5 -5
  59. package/packages/button/src/main.vue +418 -418
  60. package/packages/button-group/index.js +5 -5
  61. package/packages/button-group/src/main.vue +298 -298
  62. package/packages/calendar/index.js +5 -5
  63. package/packages/card/index.js +5 -5
  64. package/packages/card/src/main.vue +156 -156
  65. package/packages/cascader/index.js +5 -5
  66. package/packages/cascader/src/main.vue +168 -168
  67. package/packages/checkbox-group/index.js +5 -5
  68. package/packages/checkbox-group/src/main.vue +333 -333
  69. package/packages/clients/index.js +5 -5
  70. package/packages/clients/src/main.vue +144 -144
  71. package/packages/data-table/index.js +5 -5
  72. package/packages/data-table/src/children.vue +39 -39
  73. package/packages/data-table/src/column.vue +989 -989
  74. package/packages/data-table/src/main.vue +1822 -1820
  75. package/packages/data-table/src/sizer.vue +195 -195
  76. package/packages/data-table-form/index.js +5 -5
  77. package/packages/data-table-form/src/checkbox.vue +101 -101
  78. package/packages/data-table-form/src/colgroup.vue +17 -17
  79. package/packages/data-table-form/src/main.vue +181 -181
  80. package/packages/data-table-form/src/radio.vue +65 -65
  81. package/packages/data-table-form/src/table.vue +233 -233
  82. package/packages/data-table-form/src/tbody.vue +336 -336
  83. package/packages/data-table-form/src/thead.vue +68 -68
  84. package/packages/date-picker/index.js +5 -5
  85. package/packages/date-picker/src/main.vue +236 -236
  86. package/packages/dialog/index.js +5 -5
  87. package/packages/enterprise/index.js +5 -5
  88. package/packages/enterprise/src/main.vue +66 -66
  89. package/packages/error-page/index.js +5 -5
  90. package/packages/error-page/src/main.vue +44 -44
  91. package/packages/flow/index.js +5 -5
  92. package/packages/flow/src/component/CommonOpinions.vue +345 -345
  93. package/packages/flow/src/component/CustomPreset.vue +322 -322
  94. package/packages/flow/src/component/FileList.vue +99 -99
  95. package/packages/flow/src/component/Preset.vue +255 -255
  96. package/packages/flow/src/component/SendMsg.vue +229 -229
  97. package/packages/flow/src/component/TimeLimit.vue +190 -190
  98. package/packages/flow/src/component/taskUnionExamine.vue +611 -603
  99. package/packages/flow/src/form.vue +121 -121
  100. package/packages/flow/src/freeStartFlow.vue +2843 -2843
  101. package/packages/flow/src/main.vue +2952 -2864
  102. package/packages/flow/src/processForm.vue +1018 -1007
  103. package/packages/flow/src/processReject.vue +293 -293
  104. package/packages/flow/src/reset.vue +899 -901
  105. package/packages/flow/src/startTaskRead.vue +596 -596
  106. package/packages/flow/src/table.vue +58 -58
  107. package/packages/flow-group/index.js +5 -5
  108. package/packages/flow-group/src/main.vue +688 -688
  109. package/packages/flow-list/index.js +5 -5
  110. package/packages/flow-list/src/main.vue +1183 -1172
  111. package/packages/form/index.js +5 -5
  112. package/packages/form/src/main.vue +3584 -3584
  113. package/packages/form/src/table.vue +1420 -1420
  114. package/packages/handle-user/index.js +5 -5
  115. package/packages/handle-user/src/main.vue +138 -138
  116. package/packages/handler/index.js +5 -5
  117. package/packages/handler/src/main.vue +474 -388
  118. package/packages/icon/index.js +5 -5
  119. package/packages/icon/src/main.vue +101 -101
  120. package/packages/icons/index.js +5 -5
  121. package/packages/icons/src/icon.json +1 -1
  122. package/packages/icons/src/main.vue +81 -81
  123. package/packages/input/index.js +5 -5
  124. package/packages/input/src/main.vue +356 -356
  125. package/packages/input-number/index.js +5 -5
  126. package/packages/input-number/src/main.vue +106 -106
  127. package/packages/label/index.js +5 -5
  128. package/packages/label/src/main.vue +457 -457
  129. package/packages/layout/index.js +5 -5
  130. package/packages/layout/src/item.vue +152 -152
  131. package/packages/layout/src/main.vue +31 -31
  132. package/packages/login/index.js +5 -5
  133. package/packages/login/src/main.vue +1935 -1892
  134. package/packages/login/src/resetPassword.vue +562 -562
  135. package/packages/main/index.js +5 -5
  136. package/packages/main/src/default/index.vue +32 -3
  137. package/packages/main/src/default/message.vue +249 -249
  138. package/packages/main/src/default/notice.vue +157 -157
  139. package/packages/main/src/default/userinfo.vue +505 -505
  140. package/packages/main/src/public/online.vue +89 -89
  141. package/packages/main/src/public/search.vue +461 -454
  142. package/packages/main/src/public/settings.vue +221 -221
  143. package/packages/main/src/simplicity/apps.vue +388 -388
  144. package/packages/main/src/simplicity/avatar.vue +82 -82
  145. package/packages/main/src/simplicity/handler.vue +259 -221
  146. package/packages/main/src/simplicity/index.vue +2047 -1993
  147. package/packages/main/src/simplicity/lists.vue +84 -84
  148. package/packages/main/src/simplicity/menu-list.vue +128 -128
  149. package/packages/main/src/simplicity/message.vue +259 -259
  150. package/packages/main/src/simplicity/notice.vue +190 -190
  151. package/packages/main/src/simplicity/router-page.vue +45 -45
  152. package/packages/main/src/simplicity/sub-menu.vue +241 -241
  153. package/packages/main/src/simplicity/user.vue +257 -257
  154. package/packages/main/src/simplicity/userinfo.vue +312 -312
  155. package/packages/menu/index.js +5 -5
  156. package/packages/menu/src/main.vue +536 -536
  157. package/packages/nav/index.js +5 -5
  158. package/packages/nav/src/main.vue +402 -402
  159. package/packages/notify/index.js +5 -5
  160. package/packages/notify/src/main.vue +538 -538
  161. package/packages/page/index.js +5 -5
  162. package/packages/page/src/main.vue +167 -167
  163. package/packages/pagination/index.js +5 -5
  164. package/packages/pagination/src/main.vue +96 -96
  165. package/packages/player/index.js +5 -5
  166. package/packages/player/src/main.vue +194 -194
  167. package/packages/qr-code/index.js +5 -5
  168. package/packages/qr-code/src/main.vue +170 -170
  169. package/packages/radio-group/index.js +6 -6
  170. package/packages/radio-group/src/main.vue +319 -319
  171. package/packages/retrial-auth/index.js +5 -5
  172. package/packages/retrial-auth/src/main.vue +280 -280
  173. package/packages/select/index.js +5 -5
  174. package/packages/select/src/main.vue +775 -775
  175. package/packages/select-ganged/index.js +5 -5
  176. package/packages/select-ganged/src/main.vue +724 -724
  177. package/packages/selector/index.js +5 -5
  178. package/packages/selector/src/main.vue +689 -677
  179. package/packages/selector-panel/index.js +5 -5
  180. package/packages/selector-panel/src/main.vue +1027 -1028
  181. package/packages/selector-panel/src/selection.vue +177 -177
  182. package/packages/selector-panel/src/tree.vue +129 -129
  183. package/packages/sizer/index.js +5 -5
  184. package/packages/sizer/src/main.vue +254 -254
  185. package/packages/steps/index.js +5 -5
  186. package/packages/steps/src/main.vue +181 -181
  187. package/packages/switch/index.js +5 -5
  188. package/packages/switch/src/main.vue +154 -154
  189. package/packages/table-form/index.js +5 -5
  190. package/packages/tabs/index.js +5 -5
  191. package/packages/tabs/src/main.vue +788 -788
  192. package/packages/tabs-panel/index.js +5 -5
  193. package/packages/tabs-panel/src/main.vue +29 -29
  194. package/packages/theme-chalk/lib/base.css +1 -1
  195. package/packages/theme-chalk/lib/flow.css +1 -1
  196. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  197. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  198. package/packages/theme-chalk/lib/icon.css +1 -1
  199. package/packages/theme-chalk/lib/index.css +1 -1
  200. package/packages/theme-chalk/lib/login.css +1 -1
  201. package/packages/theme-chalk/lib/main.css +1 -1
  202. package/packages/theme-chalk/lib/menu.css +1 -1
  203. package/packages/theme-chalk/lib/simplicity.css +1 -1
  204. package/packages/theme-chalk/lib/sizer.css +1 -1
  205. package/packages/theme-chalk/lib/upload.css +1 -1
  206. package/packages/theme-chalk/src/base.scss +260 -260
  207. package/packages/theme-chalk/src/button-group.scss +175 -175
  208. package/packages/theme-chalk/src/button.scss +24 -24
  209. package/packages/theme-chalk/src/calendar.scss +113 -113
  210. package/packages/theme-chalk/src/card.scss +99 -99
  211. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  212. package/packages/theme-chalk/src/clients.scss +87 -87
  213. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  214. package/packages/theme-chalk/src/data-table.scss +293 -293
  215. package/packages/theme-chalk/src/date-picker.scss +7 -7
  216. package/packages/theme-chalk/src/dialog.scss +77 -77
  217. package/packages/theme-chalk/src/enterprise.scss +5 -5
  218. package/packages/theme-chalk/src/error-page.scss +18 -18
  219. package/packages/theme-chalk/src/flow-group.scss +110 -110
  220. package/packages/theme-chalk/src/flow-list.scss +36 -36
  221. package/packages/theme-chalk/src/flow.scss +318 -310
  222. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  223. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  224. package/packages/theme-chalk/src/form.scss +496 -496
  225. package/packages/theme-chalk/src/handle-user.scss +40 -40
  226. package/packages/theme-chalk/src/handler.scss +143 -143
  227. package/packages/theme-chalk/src/icon.scss +1789 -1760
  228. package/packages/theme-chalk/src/icons.scss +99 -99
  229. package/packages/theme-chalk/src/input.scss +9 -9
  230. package/packages/theme-chalk/src/label.scss +24 -24
  231. package/packages/theme-chalk/src/layout.scss +46 -46
  232. package/packages/theme-chalk/src/login.scss +947 -939
  233. package/packages/theme-chalk/src/main.scss +639 -632
  234. package/packages/theme-chalk/src/menu.scss +222 -222
  235. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  236. package/packages/theme-chalk/src/nav.scss +125 -125
  237. package/packages/theme-chalk/src/page.scss +3 -3
  238. package/packages/theme-chalk/src/pagination.scss +29 -29
  239. package/packages/theme-chalk/src/player.scss +9 -9
  240. package/packages/theme-chalk/src/qr-code.scss +17 -17
  241. package/packages/theme-chalk/src/radio-group.scss +9 -9
  242. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  243. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  244. package/packages/theme-chalk/src/select.scss +8 -8
  245. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  246. package/packages/theme-chalk/src/selector.scss +91 -91
  247. package/packages/theme-chalk/src/simplicity.scss +1262 -1262
  248. package/packages/theme-chalk/src/sizer.scss +36 -36
  249. package/packages/theme-chalk/src/steps.scss +88 -88
  250. package/packages/theme-chalk/src/switch.scss +3 -3
  251. package/packages/theme-chalk/src/table-form.scss +1 -1
  252. package/packages/theme-chalk/src/tabs.scss +87 -87
  253. package/packages/theme-chalk/src/tips.scss +7 -7
  254. package/packages/theme-chalk/src/toolbar.scss +179 -179
  255. package/packages/theme-chalk/src/tree-group.scss +72 -72
  256. package/packages/theme-chalk/src/tree.scss +165 -165
  257. package/packages/theme-chalk/src/upload.scss +167 -167
  258. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  259. package/packages/tips/index.js +5 -5
  260. package/packages/tips/src/main.vue +141 -141
  261. package/packages/toolbar/index.js +5 -5
  262. package/packages/toolbar/src/main.vue +430 -430
  263. package/packages/tree/index.js +5 -5
  264. package/packages/tree-group/index.js +5 -5
  265. package/packages/upload/index.js +5 -5
  266. package/packages/upload/src/main.vue +1334 -1334
  267. package/packages/upload/src/picture.js +15 -15
  268. package/packages/wujie/index.js +5 -5
  269. package/packages/wujie/src/main.vue +145 -145
  270. package/packages/wxlogin/index.js +5 -5
  271. package/packages/wxlogin/src/main.vue +128 -128
  272. package/src/config/api.js +248 -248
  273. package/src/config/image.js +2 -2
  274. package/src/index.js +157 -157
  275. package/src/utils/bus.js +3 -3
  276. package/src/utils/date-util.js +312 -312
  277. package/src/utils/http.js +50 -50
  278. package/src/utils/rules.js +18 -18
  279. package/src/utils/store.js +21 -21
  280. package/src/utils/util.js +5 -0
  281. package/src/utils/webSocket.js +107 -107
  282. package/packages/.DS_Store +0 -0
  283. package/packages/data-table/.DS_Store +0 -0
  284. package/packages/data-table-form/.DS_Store +0 -0
  285. package/packages/error-page/.DS_Store +0 -0
  286. package/packages/flow/.DS_Store +0 -0
  287. package/packages/form/.DS_Store +0 -0
  288. package/packages/login/.DS_Store +0 -0
  289. package/packages/main/.DS_Store +0 -0
  290. package/packages/main/src/.DS_Store +0 -0
  291. package/packages/selector/.DS_Store +0 -0
  292. package/packages/selector-panel/.DS_Store +0 -0
  293. package/packages/sizer/.DS_Store +0 -0
  294. package/packages/tabs/.DS_Store +0 -0
  295. package/packages/theme-chalk/src/.DS_Store +0 -0
  296. package/packages/upload/.DS_Store +0 -0
  297. package/src/.DS_Store +0 -0
@@ -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;