eoss-ui 0.5.74 → 0.5.76

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 (72) hide show
  1. package/lib/button-group.js +125 -23
  2. package/lib/button.js +125 -23
  3. package/lib/checkbox-group.js +125 -23
  4. package/lib/data-table-form.js +125 -23
  5. package/lib/data-table.js +155 -40
  6. package/lib/date-picker.js +125 -23
  7. package/lib/dialog.js +125 -23
  8. package/lib/eoss-ui.common.js +520 -296
  9. package/lib/flow-group.js +125 -23
  10. package/lib/flow-list.js +136 -31
  11. package/lib/flow.js +125 -23
  12. package/lib/form.js +125 -23
  13. package/lib/handle-user.js +125 -23
  14. package/lib/handler.js +125 -23
  15. package/lib/index.js +1 -1
  16. package/lib/input-number.js +124 -22
  17. package/lib/input.js +141 -29
  18. package/lib/login.js +293 -143
  19. package/lib/main.js +125 -23
  20. package/lib/nav.js +125 -23
  21. package/lib/page.js +125 -23
  22. package/lib/player.js +125 -23
  23. package/lib/qr-code.js +178 -59
  24. package/lib/radio-group.js +125 -23
  25. package/lib/retrial-auth.js +125 -23
  26. package/lib/select-ganged.js +125 -23
  27. package/lib/select.js +140 -28
  28. package/lib/selector-panel.js +125 -23
  29. package/lib/selector.js +125 -23
  30. package/lib/sizer.js +125 -23
  31. package/lib/steps.js +125 -23
  32. package/lib/switch.js +124 -22
  33. package/lib/table-form.js +125 -23
  34. package/lib/tabs.js +125 -23
  35. package/lib/theme-chalk/base.css +1 -1
  36. package/lib/theme-chalk/index.css +1 -1
  37. package/lib/theme-chalk/login.css +1 -1
  38. package/lib/theme-chalk/main.css +1 -1
  39. package/lib/theme-chalk/menu.css +1 -1
  40. package/lib/theme-chalk/sizer.css +1 -1
  41. package/lib/theme-chalk/upload.css +1 -1
  42. package/lib/tips.js +125 -23
  43. package/lib/toolbar.js +3 -2
  44. package/lib/tree-group.js +159 -57
  45. package/lib/tree.js +140 -26
  46. package/lib/upload.js +125 -23
  47. package/lib/utils/util.js +124 -22
  48. package/lib/wujie.js +125 -23
  49. package/lib/wxlogin.js +152 -34
  50. package/package.json +2 -2
  51. package/packages/data-table/src/main.vue +25 -15
  52. package/packages/flow-list/src/main.vue +63 -41
  53. package/packages/input/src/main.vue +7 -6
  54. package/packages/login/src/main.vue +42 -14
  55. package/packages/qr-code/src/main.vue +48 -37
  56. package/packages/select/src/main.vue +6 -5
  57. package/packages/theme-chalk/lib/base.css +1 -1
  58. package/packages/theme-chalk/lib/index.css +1 -1
  59. package/packages/theme-chalk/lib/login.css +1 -1
  60. package/packages/theme-chalk/lib/main.css +1 -1
  61. package/packages/theme-chalk/lib/menu.css +1 -1
  62. package/packages/theme-chalk/lib/sizer.css +1 -1
  63. package/packages/theme-chalk/lib/upload.css +1 -1
  64. package/packages/theme-chalk/src/base.scss +3 -0
  65. package/packages/theme-chalk/src/login.scss +862 -376
  66. package/packages/theme-chalk/src/main.scss +5 -2
  67. package/packages/toolbar/src/main.vue +16 -6
  68. package/packages/tree/src/main.vue +13 -1
  69. package/packages/tree-group/src/main.vue +24 -37
  70. package/packages/wxlogin/src/main.vue +30 -12
  71. package/src/index.js +1 -1
  72. package/src/utils/util.js +138 -23
package/lib/player.js CHANGED
@@ -621,6 +621,35 @@ var calculateNetworkDays = function calculateNetworkDays(start_date, end_date) {
621
621
  return workdays;
622
622
  };
623
623
 
624
+ /**
625
+ * chunkToChinese
626
+ * @desc 将四位数的整数转换为中文大写
627
+ * @param {number} chunk - 数字
628
+ **/
629
+ function chunkToChinese(chunk) {
630
+ var numberToChinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
631
+ var capitalDigits = ['', '拾', '佰', '仟'];
632
+
633
+ var result = '';
634
+ var digitIndex = 0;
635
+
636
+ while (chunk > 0) {
637
+ var digit = chunk % 10;
638
+ if (digit > 0) {
639
+ result = numberToChinese[digit] + capitalDigits[digitIndex] + result;
640
+ } else {
641
+ // 当前数字是零,需要判断是否需要添加零
642
+ if (result.charAt(0) !== '零') {
643
+ result = '零' + result;
644
+ }
645
+ }
646
+ chunk = Math.floor(chunk / 10);
647
+ digitIndex++;
648
+ }
649
+
650
+ return result;
651
+ }
652
+
624
653
  /**
625
654
  * concatenate
626
655
  * @desc 指定连接符合并文本
@@ -1816,6 +1845,31 @@ var getWeekday = function getWeekday(date) {
1816
1845
  return adjustedDay === 0 ? 7 : adjustedDay;
1817
1846
  };
1818
1847
 
1848
+ /**
1849
+ * getZoom
1850
+ * @desc 获取缩放比
1851
+ * @param {number} n - 可选参数,表示星期的起始日,0 表示星期天,1 表示星期一,以此类推,默认为 0
1852
+ **/
1853
+ var getZoom = function getZoom() {
1854
+ var ratio = 0;
1855
+ var screen = window.screen;
1856
+ var ua = navigator.userAgent.toLowerCase();
1857
+ if (window.devicePixelRatio !== undefined) {
1858
+ ratio = window.devicePixelRatio;
1859
+ } else if (~ua.indexOf('msie')) {
1860
+ if (screen.deviceXDPI && screen.logicalXDPI) {
1861
+ ratio = screen.deviceXDPI / screen.logicalXDPI;
1862
+ }
1863
+ } else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
1864
+ ratio = window.outerWidth / window.innerWidth;
1865
+ }
1866
+
1867
+ if (ratio) {
1868
+ ratio = Math.round(ratio * 100);
1869
+ }
1870
+
1871
+ return ratio / 100;
1872
+ };
1819
1873
  /**
1820
1874
  * handlerUrl
1821
1875
  * @desc:更新url参数中的时间戳
@@ -2250,6 +2304,31 @@ var isObject = function isObject(obj) {
2250
2304
  return typeof Ctor === 'function' && Object.prototype.hasOwnProperty.toString.call(Ctor) === ObjectFunctionString;
2251
2305
  };
2252
2306
 
2307
+ /**
2308
+ * isObjectEqual
2309
+ * @desc:判断对象是否相等
2310
+ * @author huangbo
2311
+ * @date 2022年5月7日
2312
+ * @param {Object} [obj] - 对象
2313
+ * @param {Object} [_obj] - 对象
2314
+ **/
2315
+ var isObjectEqual = function isObjectEqual(obj, _obj) {
2316
+ if (obj === undefined && _obj || obj && _obj === undefined) {
2317
+ return false;
2318
+ }
2319
+ var aProps = Object.getOwnPropertyNames(obj);
2320
+ var bProps = Object.getOwnPropertyNames(_obj);
2321
+ if (aProps.length !== bProps.length) {
2322
+ return false;
2323
+ }
2324
+ for (var i in obj) {
2325
+ if (obj[i] !== _obj[i]) {
2326
+ return false;
2327
+ }
2328
+ }
2329
+ return true;
2330
+ };
2331
+
2253
2332
  /**
2254
2333
  * jointUrl
2255
2334
  * @desc:判断url地址是否以字符开头,没有则添加
@@ -2558,32 +2637,53 @@ var rmbToCapital = function rmbToCapital(number) {
2558
2637
 
2559
2638
  return result;
2560
2639
  };
2561
-
2562
- // 辅助函数,将四位数的整数转换为中文大写
2563
- function chunkToChinese(chunk) {
2564
- var numberToChinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
2565
- var capitalDigits = ['', '拾', '佰', '仟'];
2566
-
2567
- var result = '';
2568
- var digitIndex = 0;
2569
-
2570
- while (chunk > 0) {
2571
- var digit = chunk % 10;
2572
- if (digit > 0) {
2573
- result = numberToChinese[digit] + capitalDigits[digitIndex] + result;
2640
+ /**
2641
+ * setScale
2642
+ * @desc 设置缩放
2643
+ * @param {number} width - 分辨率宽度
2644
+ * @param {number} height - 分辨率高度
2645
+ **/
2646
+ var setScale = function setScale() {
2647
+ var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1920;
2648
+ var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1080;
2649
+
2650
+ var n = 1;
2651
+ var isMac = /macintosh|mac os x/i.test(navigator.userAgent);
2652
+ var zoom = getZoom();
2653
+ if (isMac) {
2654
+ n = 2;
2655
+ } else {
2656
+ n = 1;
2657
+ }
2658
+ if (zoom === 1) {
2659
+ document.body.style.removeProperty('transform');
2660
+ document.body.style.removeProperty('width');
2661
+ document.body.style.removeProperty('height');
2662
+ document.body.style.removeProperty('transform-origin');
2663
+ return;
2664
+ }
2665
+ if (Math.abs(parseInt(width - window.innerWidth * zoom / n, 10)) > 15 && window.innerWidth * zoom / n !== width) {
2666
+ var scale = 'scale(' + window.innerWidth * zoom / width / zoom + ',' + window.innerHeight * zoom / height / zoom + ')';
2667
+ document.body.style.transform = scale;
2668
+ document.body.style.width = width + 'px';
2669
+ document.body.style.height = height + 'px';
2670
+ document.body.style.transformOrigin = '0 0';
2671
+ } else {
2672
+ if (isMac) {
2673
+ var _scale = 'scale(' + 1 * n / zoom + ')';
2674
+ document.body.style.transform = _scale;
2675
+ document.body.style.width = parseInt(window.innerWidth * zoom / n, 10) + 'px';
2676
+ document.body.style.height = parseInt(window.innerHeight * zoom / n, 10) + 'px';
2677
+ document.body.style.transformOrigin = '0 0';
2574
2678
  } else {
2575
- // 当前数字是零,需要判断是否需要添加零
2576
- if (result.charAt(0) !== '零') {
2577
- result = '零' + result;
2578
- }
2679
+ var _scale2 = 'scale(' + 1 * n / zoom + ')';
2680
+ document.body.style.transform = _scale2;
2681
+ document.body.style.width = parseInt(window.innerWidth * zoom / n, 10) + 'px';
2682
+ document.body.style.height = parseInt(window.innerHeight * zoom / n, 10) + 'px';
2683
+ document.body.style.transformOrigin = '0 0';
2579
2684
  }
2580
- chunk = Math.floor(chunk / 10);
2581
- digitIndex++;
2582
2685
  }
2583
-
2584
- return result;
2585
- }
2586
-
2686
+ };
2587
2687
  /**
2588
2688
  * sendMessage
2589
2689
  * @desc:向iframe发送信息
@@ -3105,6 +3205,7 @@ var watermark = function watermark(option) {
3105
3205
  isLogged: isLogged,
3106
3206
  isLogined: isLogined,
3107
3207
  isObject: isObject,
3208
+ isObjectEqual: isObjectEqual,
3108
3209
  jointUrl: jointUrl,
3109
3210
  loadJs: loadJs,
3110
3211
  loading: loading,
@@ -3119,6 +3220,7 @@ var watermark = function watermark(option) {
3119
3220
  rmbToCapital: rmbToCapital,
3120
3221
  sendMessage: sendMessage,
3121
3222
  setFavicon: setFavicon,
3223
+ setScale: setScale,
3122
3224
  setStorage: setStorage,
3123
3225
  socket: socket,
3124
3226
  startWith: startWith,
package/lib/qr-code.js CHANGED
@@ -621,6 +621,35 @@ var calculateNetworkDays = function calculateNetworkDays(start_date, end_date) {
621
621
  return workdays;
622
622
  };
623
623
 
624
+ /**
625
+ * chunkToChinese
626
+ * @desc 将四位数的整数转换为中文大写
627
+ * @param {number} chunk - 数字
628
+ **/
629
+ function chunkToChinese(chunk) {
630
+ var numberToChinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
631
+ var capitalDigits = ['', '拾', '佰', '仟'];
632
+
633
+ var result = '';
634
+ var digitIndex = 0;
635
+
636
+ while (chunk > 0) {
637
+ var digit = chunk % 10;
638
+ if (digit > 0) {
639
+ result = numberToChinese[digit] + capitalDigits[digitIndex] + result;
640
+ } else {
641
+ // 当前数字是零,需要判断是否需要添加零
642
+ if (result.charAt(0) !== '零') {
643
+ result = '零' + result;
644
+ }
645
+ }
646
+ chunk = Math.floor(chunk / 10);
647
+ digitIndex++;
648
+ }
649
+
650
+ return result;
651
+ }
652
+
624
653
  /**
625
654
  * concatenate
626
655
  * @desc 指定连接符合并文本
@@ -1816,6 +1845,31 @@ var getWeekday = function getWeekday(date) {
1816
1845
  return adjustedDay === 0 ? 7 : adjustedDay;
1817
1846
  };
1818
1847
 
1848
+ /**
1849
+ * getZoom
1850
+ * @desc 获取缩放比
1851
+ * @param {number} n - 可选参数,表示星期的起始日,0 表示星期天,1 表示星期一,以此类推,默认为 0
1852
+ **/
1853
+ var getZoom = function getZoom() {
1854
+ var ratio = 0;
1855
+ var screen = window.screen;
1856
+ var ua = navigator.userAgent.toLowerCase();
1857
+ if (window.devicePixelRatio !== undefined) {
1858
+ ratio = window.devicePixelRatio;
1859
+ } else if (~ua.indexOf('msie')) {
1860
+ if (screen.deviceXDPI && screen.logicalXDPI) {
1861
+ ratio = screen.deviceXDPI / screen.logicalXDPI;
1862
+ }
1863
+ } else if (window.outerWidth !== undefined && window.innerWidth !== undefined) {
1864
+ ratio = window.outerWidth / window.innerWidth;
1865
+ }
1866
+
1867
+ if (ratio) {
1868
+ ratio = Math.round(ratio * 100);
1869
+ }
1870
+
1871
+ return ratio / 100;
1872
+ };
1819
1873
  /**
1820
1874
  * handlerUrl
1821
1875
  * @desc:更新url参数中的时间戳
@@ -2250,6 +2304,31 @@ var isObject = function isObject(obj) {
2250
2304
  return typeof Ctor === 'function' && Object.prototype.hasOwnProperty.toString.call(Ctor) === ObjectFunctionString;
2251
2305
  };
2252
2306
 
2307
+ /**
2308
+ * isObjectEqual
2309
+ * @desc:判断对象是否相等
2310
+ * @author huangbo
2311
+ * @date 2022年5月7日
2312
+ * @param {Object} [obj] - 对象
2313
+ * @param {Object} [_obj] - 对象
2314
+ **/
2315
+ var isObjectEqual = function isObjectEqual(obj, _obj) {
2316
+ if (obj === undefined && _obj || obj && _obj === undefined) {
2317
+ return false;
2318
+ }
2319
+ var aProps = Object.getOwnPropertyNames(obj);
2320
+ var bProps = Object.getOwnPropertyNames(_obj);
2321
+ if (aProps.length !== bProps.length) {
2322
+ return false;
2323
+ }
2324
+ for (var i in obj) {
2325
+ if (obj[i] !== _obj[i]) {
2326
+ return false;
2327
+ }
2328
+ }
2329
+ return true;
2330
+ };
2331
+
2253
2332
  /**
2254
2333
  * jointUrl
2255
2334
  * @desc:判断url地址是否以字符开头,没有则添加
@@ -2558,32 +2637,53 @@ var rmbToCapital = function rmbToCapital(number) {
2558
2637
 
2559
2638
  return result;
2560
2639
  };
2561
-
2562
- // 辅助函数,将四位数的整数转换为中文大写
2563
- function chunkToChinese(chunk) {
2564
- var numberToChinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
2565
- var capitalDigits = ['', '拾', '佰', '仟'];
2566
-
2567
- var result = '';
2568
- var digitIndex = 0;
2569
-
2570
- while (chunk > 0) {
2571
- var digit = chunk % 10;
2572
- if (digit > 0) {
2573
- result = numberToChinese[digit] + capitalDigits[digitIndex] + result;
2640
+ /**
2641
+ * setScale
2642
+ * @desc 设置缩放
2643
+ * @param {number} width - 分辨率宽度
2644
+ * @param {number} height - 分辨率高度
2645
+ **/
2646
+ var setScale = function setScale() {
2647
+ var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1920;
2648
+ var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1080;
2649
+
2650
+ var n = 1;
2651
+ var isMac = /macintosh|mac os x/i.test(navigator.userAgent);
2652
+ var zoom = getZoom();
2653
+ if (isMac) {
2654
+ n = 2;
2655
+ } else {
2656
+ n = 1;
2657
+ }
2658
+ if (zoom === 1) {
2659
+ document.body.style.removeProperty('transform');
2660
+ document.body.style.removeProperty('width');
2661
+ document.body.style.removeProperty('height');
2662
+ document.body.style.removeProperty('transform-origin');
2663
+ return;
2664
+ }
2665
+ if (Math.abs(parseInt(width - window.innerWidth * zoom / n, 10)) > 15 && window.innerWidth * zoom / n !== width) {
2666
+ var scale = 'scale(' + window.innerWidth * zoom / width / zoom + ',' + window.innerHeight * zoom / height / zoom + ')';
2667
+ document.body.style.transform = scale;
2668
+ document.body.style.width = width + 'px';
2669
+ document.body.style.height = height + 'px';
2670
+ document.body.style.transformOrigin = '0 0';
2671
+ } else {
2672
+ if (isMac) {
2673
+ var _scale = 'scale(' + 1 * n / zoom + ')';
2674
+ document.body.style.transform = _scale;
2675
+ document.body.style.width = parseInt(window.innerWidth * zoom / n, 10) + 'px';
2676
+ document.body.style.height = parseInt(window.innerHeight * zoom / n, 10) + 'px';
2677
+ document.body.style.transformOrigin = '0 0';
2574
2678
  } else {
2575
- // 当前数字是零,需要判断是否需要添加零
2576
- if (result.charAt(0) !== '零') {
2577
- result = '零' + result;
2578
- }
2679
+ var _scale2 = 'scale(' + 1 * n / zoom + ')';
2680
+ document.body.style.transform = _scale2;
2681
+ document.body.style.width = parseInt(window.innerWidth * zoom / n, 10) + 'px';
2682
+ document.body.style.height = parseInt(window.innerHeight * zoom / n, 10) + 'px';
2683
+ document.body.style.transformOrigin = '0 0';
2579
2684
  }
2580
- chunk = Math.floor(chunk / 10);
2581
- digitIndex++;
2582
2685
  }
2583
-
2584
- return result;
2585
- }
2586
-
2686
+ };
2587
2687
  /**
2588
2688
  * sendMessage
2589
2689
  * @desc:向iframe发送信息
@@ -3105,6 +3205,7 @@ var watermark = function watermark(option) {
3105
3205
  isLogged: isLogged,
3106
3206
  isLogined: isLogined,
3107
3207
  isObject: isObject,
3208
+ isObjectEqual: isObjectEqual,
3108
3209
  jointUrl: jointUrl,
3109
3210
  loadJs: loadJs,
3110
3211
  loading: loading,
@@ -3119,6 +3220,7 @@ var watermark = function watermark(option) {
3119
3220
  rmbToCapital: rmbToCapital,
3120
3221
  sendMessage: sendMessage,
3121
3222
  setFavicon: setFavicon,
3223
+ setScale: setScale,
3122
3224
  setStorage: setStorage,
3123
3225
  socket: socket,
3124
3226
  startWith: startWith,
@@ -3635,7 +3737,7 @@ module.exports = require("axios");
3635
3737
  // ESM COMPAT FLAG
3636
3738
  __webpack_require__.r(__webpack_exports__);
3637
3739
 
3638
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/qr-code/src/main.vue?vue&type=template&id=28375a46&
3740
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/qr-code/src/main.vue?vue&type=template&id=338a3a1e&
3639
3741
  var render = function () {
3640
3742
  var _vm = this
3641
3743
  var _h = _vm.$createElement
@@ -3644,24 +3746,33 @@ var render = function () {
3644
3746
  "div",
3645
3747
  { ref: "qrcode", staticClass: "es-qrcode-box", attrs: { id: "qrcode" } },
3646
3748
  [
3647
- _c("img", {
3648
- ref: "qrcodeImg",
3649
- staticClass: "es-qrcode-img",
3650
- attrs: { width: _vm._width, height: _vm._height, alt: "二维码图片" },
3651
- }),
3652
- _c("canvas", {
3653
- ref: "canvas",
3654
- staticClass: "canvas",
3655
- attrs: { width: _vm._width, height: _vm._height },
3656
- }),
3657
- ]
3749
+ _vm.mwidth && _vm.mheight
3750
+ ? [
3751
+ _c("img", {
3752
+ ref: "qrcodeImg",
3753
+ staticClass: "es-qrcode-img",
3754
+ attrs: {
3755
+ width: _vm.mwidth,
3756
+ height: _vm.mheight,
3757
+ alt: "二维码图片",
3758
+ },
3759
+ }),
3760
+ _c("canvas", {
3761
+ ref: "canvas",
3762
+ staticClass: "canvas",
3763
+ attrs: { width: _vm.mwidth, height: _vm.mheight },
3764
+ }),
3765
+ ]
3766
+ : _vm._e(),
3767
+ ],
3768
+ 2
3658
3769
  )
3659
3770
  }
3660
3771
  var staticRenderFns = []
3661
3772
  render._withStripped = true
3662
3773
 
3663
3774
 
3664
- // CONCATENATED MODULE: ./packages/qr-code/src/main.vue?vue&type=template&id=28375a46&
3775
+ // CONCATENATED MODULE: ./packages/qr-code/src/main.vue?vue&type=template&id=338a3a1e&
3665
3776
 
3666
3777
  // EXTERNAL MODULE: ./src/utils/util.js
3667
3778
  var util = __webpack_require__(0);
@@ -3692,6 +3803,8 @@ var util = __webpack_require__(0);
3692
3803
  //
3693
3804
  //
3694
3805
  //
3806
+ //
3807
+ //
3695
3808
 
3696
3809
 
3697
3810
  var QRCode = __webpack_require__(28);
@@ -3704,8 +3817,14 @@ var QRCode = __webpack_require__(28);
3704
3817
  },
3705
3818
  logo: String,
3706
3819
  text: String,
3707
- width: Number,
3708
- height: Number,
3820
+ width: {
3821
+ type: Number,
3822
+ default: 300
3823
+ },
3824
+ height: {
3825
+ type: Number,
3826
+ default: 300
3827
+ },
3709
3828
  auto: Boolean,
3710
3829
  option: {
3711
3830
  type: Object,
@@ -3720,22 +3839,12 @@ var QRCode = __webpack_require__(28);
3720
3839
  }
3721
3840
  }
3722
3841
  },
3723
- computed: {
3724
- _width: function _width() {
3725
- if (this.auto) {
3726
- return this.$refs.qrcode.offsetWidth;
3727
- }
3728
- return this.width ? this.width : 300;
3729
- },
3730
- _height: function _height() {
3731
- if (this.auto) {
3732
- return this.$refs.qrcode.offsetHeight;
3733
- }
3734
- return this.height ? this.height : 300;
3735
- }
3736
- },
3842
+ computed: {},
3737
3843
  data: function data() {
3738
- return {};
3844
+ return {
3845
+ mwidth: 0,
3846
+ mheight: 0
3847
+ };
3739
3848
  },
3740
3849
 
3741
3850
  watch: {
@@ -3759,6 +3868,16 @@ var QRCode = __webpack_require__(28);
3759
3868
  mounted: function mounted() {
3760
3869
  var _this2 = this;
3761
3870
 
3871
+ if (this.auto) {
3872
+ var h = this.$refs.qrcode.offsetHeight - parseInt(util["a" /* default */].getStyle(this.$refs.qrcode, 'padding-top'), 10) - parseInt(util["a" /* default */].getStyle(this.$refs.qrcode, 'padding-bottom'), 10);
3873
+ if (h > 0) {
3874
+ this.mwidth = h;
3875
+ this.mheight = h;
3876
+ }
3877
+ } else {
3878
+ this.mwidth = this.width;
3879
+ this.mheight = this.height;
3880
+ }
3762
3881
  this.$nextTick(function () {
3763
3882
  _this2.createQRCode();
3764
3883
  });
@@ -3772,8 +3891,8 @@ var QRCode = __webpack_require__(28);
3772
3891
  //let qrcodeLogo = this.$refs.qrcodeLogo;
3773
3892
  var canvas = this.$refs.canvas;
3774
3893
  var option = util["a" /* default */].extend({}, this.option, {
3775
- width: this._width,
3776
- height: this._height
3894
+ width: this.mwidth,
3895
+ height: this.mheight
3777
3896
  });
3778
3897
  if (!qrcodeImg) {
3779
3898
  return false;
@@ -3785,12 +3904,12 @@ var QRCode = __webpack_require__(28);
3785
3904
  var ctx = canvas.getContext('2d');
3786
3905
  setTimeout(function () {
3787
3906
  //获取图片
3788
- ctx.drawImage(qrcodeImg, 0, 0, _this3._width, _this3._height);
3907
+ ctx.drawImage(qrcodeImg, 0, 0, _this3.mwidth, _this3.mheight);
3789
3908
  if (_this3.logo && _this3.logo.indexOf('.') > -1) {
3790
3909
  var logo = new Image();
3791
3910
  logo.src = _this3.logo;
3792
3911
  //设置logo大小
3793
- var logoPosition = (_this3._width - 46) / 2; //logo相对于canvas居中定位
3912
+ var logoPosition = (_this3.mwidth - 46) / 2; //logo相对于canvas居中定位
3794
3913
  //设置获取的logo将其变为圆角以及添加白色背景
3795
3914
  /* ctx.fillStyle = "#fff";
3796
3915
  ctx.beginPath();
@@ -3815,8 +3934,8 @@ var QRCode = __webpack_require__(28);
3815
3934
  var fpadd = 10; //规定内间距
3816
3935
  ctx.font = 'bold 16px Arial';
3817
3936
  var tw = ctx.measureText(_this3.text).width; //文字真实宽度
3818
- var ftop = (_this3._height - 16) / 2; //根据字体大小计算文字top
3819
- var fleft = (_this3._width - tw) / 2; //根据字体大小计算文字left
3937
+ var ftop = (_this3.mheight - 16) / 2; //根据字体大小计算文字top
3938
+ var fleft = (_this3.mwidth - tw) / 2; //根据字体大小计算文字left
3820
3939
  var tp = 16 / 2; //字体边距为字体大小的一半可以自己设置
3821
3940
  ctx.fillStyle = '#fff';
3822
3941
  ctx.fillRect(fleft - tp / 2, ftop - tp / 2, tw + tp, 16 + tp);