ecinc-cloud-mappaio 9.7.37 → 9.7.38

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.
@@ -84,6 +84,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
84
84
  }));
85
85
 
86
86
 
87
+ /***/ }),
88
+
89
+ /***/ 7499:
90
+ /***/ (function(module) {
91
+
92
+ "use strict";
93
+ function _extends(){return _extends=Object.assign?Object.assign.bind():function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}var normalMerge=["attrs","props","domProps"],toArrayMerge=["class","style","directives"],functionalMerge=["on","nativeOn"],mergeJsxProps=function(a){return a.reduce(function(c,a){for(var b in a)if(!c[b])c[b]=a[b];else if(-1!==normalMerge.indexOf(b))c[b]=_extends({},c[b],a[b]);else if(-1!==toArrayMerge.indexOf(b)){var d=c[b]instanceof Array?c[b]:[c[b]],e=a[b]instanceof Array?a[b]:[a[b]];c[b]=[].concat(d,e)}else if(-1!==functionalMerge.indexOf(b)){for(var f in a[b])if(c[b][f]){var g=c[b][f]instanceof Array?c[b][f]:[c[b][f]],h=a[b][f]instanceof Array?a[b][f]:[a[b][f]];c[b][f]=[].concat(g,h)}else c[b][f]=a[b][f];}else if("hook"===b)for(var i in a[b])c[b][i]=c[b][i]?mergeFn(c[b][i],a[b][i]):a[b][i];else c[b]=a[b];return c},{})},mergeFn=function(a,b){return function(){a&&a.apply(this,arguments),b&&b.apply(this,arguments)}};module.exports=mergeJsxProps;
94
+
95
+
87
96
  /***/ }),
88
97
 
89
98
  /***/ 1656:
@@ -8469,7 +8478,7 @@ var PdfViewer = showViewer;
8469
8478
 
8470
8479
  /***/ }),
8471
8480
 
8472
- /***/ 9733:
8481
+ /***/ 7669:
8473
8482
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8474
8483
 
8475
8484
  "use strict";
@@ -8481,7 +8490,7 @@ __webpack_require__.d(__webpack_exports__, {
8481
8490
  "default": function() { return /* binding */ RichtextEditor; }
8482
8491
  });
8483
8492
 
8484
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=template&id=1c8100d7&scoped=true
8493
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=template&id=1847d5d1&scoped=true
8485
8494
  var render = function render() {
8486
8495
  var _vm = this,
8487
8496
  _c = _vm._self._c;
@@ -8492,7 +8501,49 @@ var render = function render() {
8492
8501
  attrs: {
8493
8502
  "id": "richtext"
8494
8503
  }
8495
- })]);
8504
+ }), _vm.voiceInputEnabled ? _c('div', {
8505
+ staticClass: "voice-input-entry",
8506
+ style: _vm.voiceBtnStyle,
8507
+ on: {
8508
+ "touchstart": function touchstart($event) {
8509
+ $event.preventDefault();
8510
+ return _vm.onDragStart.apply(null, arguments);
8511
+ },
8512
+ "mousedown": function mousedown($event) {
8513
+ $event.preventDefault();
8514
+ return _vm.onDragStart.apply(null, arguments);
8515
+ },
8516
+ "click": function click($event) {
8517
+ $event.stopPropagation();
8518
+ return _vm.onVoiceBtnClick.apply(null, arguments);
8519
+ }
8520
+ }
8521
+ }, [_c('svg', {
8522
+ staticClass: "voice-input-entry-icon",
8523
+ attrs: {
8524
+ "viewBox": "0 0 1024 1024",
8525
+ "fill": "currentColor",
8526
+ "aria-hidden": "true"
8527
+ }
8528
+ }, [_c('path', {
8529
+ attrs: {
8530
+ "d": "M512 640c88.4 0 160-71.6 160-160V224c0-88.4-71.6-160-160-160S352 135.6 352 224v256c0 88.4 71.6 160 160 160z"
8531
+ }
8532
+ }), _c('path', {
8533
+ attrs: {
8534
+ "d": "M768 480c0 141.4-114.6 256-256 256S256 621.4 256 480h-64c0 163.9 123.3 299 288 318.4V896H352v64h320v-64H544v-97.6C708.7 779 832 643.9 832 480h-64z"
8535
+ }
8536
+ })]), _c('span', [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceInput', '语音输入')))])]) : _vm._e(), _c('VoiceInputDialog', {
8537
+ attrs: {
8538
+ "visible": _vm.voiceDialogVisible
8539
+ },
8540
+ on: {
8541
+ "update:visible": function updateVisible($event) {
8542
+ _vm.voiceDialogVisible = $event;
8543
+ },
8544
+ "confirm": _vm.onVoiceConfirm
8545
+ }
8546
+ })], 1);
8496
8547
  };
8497
8548
  var staticRenderFns = [];
8498
8549
 
@@ -8528,14 +8579,38 @@ var staticRenderFns = [];
8528
8579
  placeholder: {
8529
8580
  type: String,
8530
8581
  default: ''
8582
+ },
8583
+ voiceInput: {
8584
+ type: Boolean,
8585
+ default: false
8531
8586
  }
8532
8587
  },
8533
8588
  data: function data() {
8534
8589
  return {
8535
- editor: null
8590
+ editor: null,
8591
+ voiceDialogVisible: false,
8592
+ editorReadonly: false,
8593
+ voiceBtnX: null,
8594
+ voiceBtnY: null,
8595
+ voiceBtnMoved: false
8536
8596
  };
8537
8597
  },
8538
- computed: {},
8598
+ computed: {
8599
+ // 语音输入按钮显示条件:voiceInput属性为true且编辑器可编辑
8600
+ voiceInputEnabled: function voiceInputEnabled() {
8601
+ return this.voiceInput && !this.editorReadonly;
8602
+ },
8603
+ // 按钮定位样式:未拖拽时CSS默认贴在正文输入框右下角,拖拽后按记录坐标fixed定位
8604
+ voiceBtnStyle: function voiceBtnStyle() {
8605
+ if (this.voiceBtnX === null) return {};
8606
+ return {
8607
+ left: this.voiceBtnX + 'px',
8608
+ top: this.voiceBtnY + 'px',
8609
+ right: 'auto',
8610
+ bottom: 'auto'
8611
+ };
8612
+ }
8613
+ },
8539
8614
  watch: {
8540
8615
  value: function value() {
8541
8616
  // 监听prop的变化,更新ckeditor中的值
@@ -8547,8 +8622,18 @@ var staticRenderFns = [];
8547
8622
  created: function created() {},
8548
8623
  beforeDestroy: function beforeDestroy() {
8549
8624
  this.editor.destroy();
8625
+ window.removeEventListener('resize', this.placeVoiceBtnDefault);
8626
+ window.removeEventListener('scroll', this.placeVoiceBtnDefault, true);
8627
+ document.removeEventListener('touchmove', this.onDragMove);
8628
+ document.removeEventListener('touchend', this.onDragEnd);
8629
+ document.removeEventListener('mousemove', this.onDragMove);
8630
+ document.removeEventListener('mouseup', this.onDragEnd);
8550
8631
  },
8551
8632
  mounted: function mounted() {
8633
+ var _this = this;
8634
+ // 未拖拽时保持按钮跟随正文输入框右下角(窗口缩放/滚动时重新计算)
8635
+ window.addEventListener('resize', this.placeVoiceBtnDefault);
8636
+ window.addEventListener('scroll', this.placeVoiceBtnDefault, true);
8552
8637
  this.placeholder = this.$tx('ecmapp.common.enterMainText', '请输入正文');
8553
8638
  var $scope = this;
8554
8639
  var WangEditor = window.wangEditor;
@@ -8673,9 +8758,80 @@ var staticRenderFns = [];
8673
8758
  if (formCanEdit === 0 || formCanEdit === '0') {
8674
8759
  this.editor.config.placeholder = '';
8675
8760
  this.editor.disable();
8761
+ this.editorReadonly = true;
8676
8762
  }
8763
+ // 初始将语音按钮定位到正文输入框右下角
8764
+ this.$nextTick(function () {
8765
+ _this.placeVoiceBtnDefault();
8766
+ });
8677
8767
  },
8678
8768
  methods: {
8769
+ // 打开语音输入弹窗(桌面鼠标点击触发;触屏的click被touchstart.preventDefault阻止,在onDragEnd中处理)
8770
+ onVoiceBtnClick: function onVoiceBtnClick() {
8771
+ if (!this.voiceBtnMoved) {
8772
+ this.openVoiceDialog();
8773
+ }
8774
+ this.voiceBtnMoved = false;
8775
+ },
8776
+ openVoiceDialog: function openVoiceDialog() {
8777
+ this.voiceDialogVisible = true;
8778
+ },
8779
+ // 计算正文输入框右下角的默认位置(fixed视口坐标)
8780
+ placeVoiceBtnDefault: function placeVoiceBtnDefault() {
8781
+ if (this.voiceBtnMoved || !this.$el) return;
8782
+ var btn = this.$el.querySelector('.voice-input-entry');
8783
+ if (!btn) return;
8784
+ var rect = this.$el.getBoundingClientRect();
8785
+ this.voiceBtnX = rect.right - btn.offsetWidth - 16;
8786
+ this.voiceBtnY = rect.bottom - btn.offsetHeight - 16;
8787
+ },
8788
+ // 拖拽开始:记录起始坐标,绑定document级move/end事件
8789
+ onDragStart: function onDragStart(evt) {
8790
+ var point = evt.touches ? evt.touches[0] : evt;
8791
+ this._dragIsTouch = !!evt.touches;
8792
+ this._dragStartX = point.clientX;
8793
+ this._dragStartY = point.clientY;
8794
+ this.voiceBtnMoved = false;
8795
+ if (this.voiceBtnX === null) this.placeVoiceBtnDefault();
8796
+ this._dragBtnStartLeft = this.voiceBtnX;
8797
+ this._dragBtnStartTop = this.voiceBtnY;
8798
+ document.addEventListener('touchmove', this.onDragMove, {
8799
+ passive: false
8800
+ });
8801
+ document.addEventListener('touchend', this.onDragEnd);
8802
+ document.addEventListener('mousemove', this.onDragMove);
8803
+ document.addEventListener('mouseup', this.onDragEnd);
8804
+ },
8805
+ // 拖拽移动:实时更新按钮位置,位移超过5px视为拖拽(屏蔽click)
8806
+ onDragMove: function onDragMove(evt) {
8807
+ var point = evt.touches ? evt.touches[0] : evt;
8808
+ var dx = point.clientX - this._dragStartX;
8809
+ var dy = point.clientY - this._dragStartY;
8810
+ if (Math.abs(dx) > 5 || Math.abs(dy) > 5) {
8811
+ this.voiceBtnMoved = true;
8812
+ evt.preventDefault();
8813
+ }
8814
+ this.voiceBtnX = this._dragBtnStartLeft + dx;
8815
+ this.voiceBtnY = this._dragBtnStartTop + dy;
8816
+ },
8817
+ // 拖拽结束:移除document级事件;触屏无click事件,未拖动时在此打开弹窗
8818
+ onDragEnd: function onDragEnd() {
8819
+ document.removeEventListener('touchmove', this.onDragMove);
8820
+ document.removeEventListener('touchend', this.onDragEnd);
8821
+ document.removeEventListener('mousemove', this.onDragMove);
8822
+ document.removeEventListener('mouseup', this.onDragEnd);
8823
+ if (this._dragIsTouch && !this.voiceBtnMoved) {
8824
+ this.openVoiceDialog();
8825
+ }
8826
+ this.voiceBtnMoved = false;
8827
+ },
8828
+ // 语音识别完成回调:识别文本追加到编辑器现有内容末尾
8829
+ onVoiceConfirm: function onVoiceConfirm(text) {
8830
+ var currentHtml = this.editor.txt.html();
8831
+ var newHtml = currentHtml ? currentHtml + text : text;
8832
+ this.editor.txt.html(newHtml);
8833
+ this.$emit('input', newHtml);
8834
+ },
8679
8835
  // 键击事件
8680
8836
  keydownEvents: function keydownEvents(evt) {
8681
8837
  if (this.startupMode !== 'source') {
@@ -8718,9 +8874,9 @@ var staticRenderFns = [];
8718
8874
  });
8719
8875
  ;// CONCATENATED MODULE: ./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=script&lang=js
8720
8876
  /* harmony default export */ var RichtextEditor_srcvue_type_script_lang_js = (srcvue_type_script_lang_js);
8721
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=style&index=0&id=1c8100d7&prod&scoped=true&lang=scss
8722
- var srcvue_type_style_index_0_id_1c8100d7_prod_scoped_true_lang_scss = __webpack_require__(5813);
8723
- ;// CONCATENATED MODULE: ./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=style&index=0&id=1c8100d7&prod&scoped=true&lang=scss
8877
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=style&index=0&id=1847d5d1&prod&scoped=true&lang=scss
8878
+ var srcvue_type_style_index_0_id_1847d5d1_prod_scoped_true_lang_scss = __webpack_require__(7131);
8879
+ ;// CONCATENATED MODULE: ./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=style&index=0&id=1847d5d1&prod&scoped=true&lang=scss
8724
8880
 
8725
8881
  // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
8726
8882
  var componentNormalizer = __webpack_require__(1656);
@@ -8739,7 +8895,7 @@ var component = (0,componentNormalizer/* default */.A)(
8739
8895
  staticRenderFns,
8740
8896
  false,
8741
8897
  null,
8742
- "1c8100d7",
8898
+ "1847d5d1",
8743
8899
  null
8744
8900
 
8745
8901
  )
@@ -8756,7 +8912,7 @@ src.install = function (Vue) {
8756
8912
 
8757
8913
  /***/ }),
8758
8914
 
8759
- /***/ 4609:
8915
+ /***/ 280:
8760
8916
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8761
8917
 
8762
8918
  "use strict";
@@ -14831,8 +14987,8 @@ var WfTaskNode_component = (0,componentNormalizer/* default */.A)(
14831
14987
  )
14832
14988
 
14833
14989
  /* harmony default export */ var WfTaskNode = (WfTaskNode_component.exports);
14834
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=template&id=cf18a87c&scoped=true
14835
- var VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_render = function render() {
14990
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=template&id=813d3ba6&scoped=true
14991
+ var VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_render = function render() {
14836
14992
  var _vm = this,
14837
14993
  _c = _vm._self._c;
14838
14994
  return _c('van-popup', {
@@ -14968,9 +15124,9 @@ var VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_render = function
14968
15124
  on: {
14969
15125
  "click": _vm.confirmVoiceText
14970
15126
  }
14971
- }, [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceFillOpinion', '填入意见')))])], 1)]);
15127
+ }, [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceConfirmInput', '确认输入')))])], 1)]);
14972
15128
  };
14973
- var VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_staticRenderFns = [];
15129
+ var VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_staticRenderFns = [];
14974
15130
 
14975
15131
  ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=script&lang=js
14976
15132
  // 人声判定阈值:AnalyserNode频谱均值(getByteFrequencyData,取值范围0-255)超过该值视为有人声;
@@ -15665,9 +15821,9 @@ var TRAILING_SILENCE_MS = 3000;
15665
15821
  });
15666
15822
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=script&lang=js
15667
15823
  /* harmony default export */ var src_VoiceInputDialogvue_type_script_lang_js = (VoiceInputDialogvue_type_script_lang_js);
15668
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=cf18a87c&prod&scoped=true&lang=scss
15669
- var VoiceInputDialogvue_type_style_index_0_id_cf18a87c_prod_scoped_true_lang_scss = __webpack_require__(4949);
15670
- ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=cf18a87c&prod&scoped=true&lang=scss
15824
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=813d3ba6&prod&scoped=true&lang=scss
15825
+ var VoiceInputDialogvue_type_style_index_0_id_813d3ba6_prod_scoped_true_lang_scss = __webpack_require__(7316);
15826
+ ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=813d3ba6&prod&scoped=true&lang=scss
15671
15827
 
15672
15828
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue
15673
15829
 
@@ -15680,11 +15836,11 @@ var VoiceInputDialogvue_type_style_index_0_id_cf18a87c_prod_scoped_true_lang_scs
15680
15836
 
15681
15837
  var VoiceInputDialog_component = (0,componentNormalizer/* default */.A)(
15682
15838
  src_VoiceInputDialogvue_type_script_lang_js,
15683
- VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_render,
15684
- VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_staticRenderFns,
15839
+ VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_render,
15840
+ VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_staticRenderFns,
15685
15841
  false,
15686
15842
  null,
15687
- "cf18a87c",
15843
+ "813d3ba6",
15688
15844
  null
15689
15845
 
15690
15846
  )
@@ -22882,7 +23038,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-02d89fca] .van-nav-bar__title{
22882
23038
 
22883
23039
  /***/ }),
22884
23040
 
22885
- /***/ 2659:
23041
+ /***/ 6149:
22886
23042
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
22887
23043
 
22888
23044
  "use strict";
@@ -22896,7 +23052,7 @@ __webpack_require__.r(__webpack_exports__);
22896
23052
 
22897
23053
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
22898
23054
  // Module
22899
- ___CSS_LOADER_EXPORT___.push([module.id, "#richtext[data-v-1c8100d7]{overflow-x:hidden;background:#fff;overflow-wrap:break-word;word-break:break-word}#richtext[data-v-1c8100d7] .w-e-toolbar{-ms-flex-wrap:wrap;flex-wrap:wrap;border:0!important;border-bottom:1px solid #eee!important}#richtext[data-v-1c8100d7] .w-e-toolbar .w-e-menu i{color:#333}#richtext[data-v-1c8100d7] .w-e-toolbar .w-e-droplist ul.w-e-list{max-height:150px;overflow-y:auto}#richtext[data-v-1c8100d7] .w-e-text-container{border:0!important;margin:5px}#richtext[data-v-1c8100d7] .w-e-text-container .w-e-text{padding:0;font-size:14px}#richtext[data-v-1c8100d7] .w-e-text-container .placeholder{left:0;top:0}", ""]);
23055
+ ___CSS_LOADER_EXPORT___.push([module.id, ".voice-input-entry[data-v-1847d5d1]{position:fixed;right:16px;bottom:76px;z-index:99;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:36px;padding:0 14px;border-radius:18px;background:#fff;color:#323233;font-size:13px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.voice-input-entry .voice-input-entry-icon[data-v-1847d5d1]{width:16px;height:16px;margin-right:4px}.voice-input-entry[data-v-1847d5d1]:active{opacity:.8}#richtext[data-v-1847d5d1]{overflow-x:hidden;background:#fff;overflow-wrap:break-word;word-break:break-word}#richtext[data-v-1847d5d1] .w-e-toolbar{-ms-flex-wrap:wrap;flex-wrap:wrap;border:0!important;border-bottom:1px solid #eee!important}#richtext[data-v-1847d5d1] .w-e-toolbar .w-e-menu i{color:#333}#richtext[data-v-1847d5d1] .w-e-toolbar .w-e-droplist ul.w-e-list{max-height:150px;overflow-y:auto}#richtext[data-v-1847d5d1] .w-e-text-container{border:0!important;margin:5px}#richtext[data-v-1847d5d1] .w-e-text-container .w-e-text{padding:0;font-size:14px}#richtext[data-v-1847d5d1] .w-e-text-container .placeholder{left:0;top:0}", ""]);
22900
23056
  // Exports
22901
23057
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
22902
23058
 
@@ -23202,7 +23358,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".submit-handle-container .idea-button-
23202
23358
 
23203
23359
  /***/ }),
23204
23360
 
23205
- /***/ 5019:
23361
+ /***/ 8162:
23206
23362
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
23207
23363
 
23208
23364
  "use strict";
@@ -23216,7 +23372,7 @@ __webpack_require__.r(__webpack_exports__);
23216
23372
 
23217
23373
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
23218
23374
  // Module
23219
- ___CSS_LOADER_EXPORT___.push([module.id, ".voice-input-popup[data-v-cf18a87c]{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.voice-input-popup .voice-popup-header[data-v-cf18a87c]{position:relative;height:48px;line-height:48px;text-align:center}.voice-input-popup .voice-popup-header .voice-popup-title[data-v-cf18a87c]{font-size:16px;font-weight:600;color:#323233}.voice-input-popup .voice-popup-header .voice-popup-close[data-v-cf18a87c]{position:absolute;right:16px;top:16px;font-size:16px;color:#c8c9cc}.voice-input-popup .voice-popup-body[data-v-cf18a87c]{padding:8px 16px 0;text-align:center}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-cf18a87c]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:64px;height:64px;border-radius:50%;background-color:#1989fa;color:#fff}.voice-input-popup .voice-popup-body .voice-mic-btn .voice-mic-icon[data-v-cf18a87c]{width:28px;height:28px}.voice-input-popup .voice-popup-body .voice-mic-btn.recording[data-v-cf18a87c]{background-color:#ee0a24;-webkit-animation:voice-breathe-cf18a87c 1.5s ease-out infinite;animation:voice-breathe-cf18a87c 1.5s ease-out infinite}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-cf18a87c] .van-loading{padding-top:0}.voice-input-popup .voice-popup-body .voice-status-text[data-v-cf18a87c]{margin-top:12px;font-size:13px;color:#646566}.voice-input-popup .voice-popup-body .voice-status-text.is-error[data-v-cf18a87c]{color:#ee0a24}.voice-input-popup .voice-popup-body .voice-wave-canvas[data-v-cf18a87c]{display:block;width:200px;height:32px;margin:8px auto 0}.voice-input-popup .voice-popup-body .voice-timer[data-v-cf18a87c]{margin-top:4px;font-size:13px;color:#969799}.voice-input-popup .voice-popup-body .voice-result-field[data-v-cf18a87c]{margin-top:12px;background-color:#f7f8fa;border-radius:8px}.voice-input-popup .voice-popup-footer[data-v-cf18a87c]{padding:12px 16px;text-align:right}.voice-input-popup .voice-popup-footer .van-button[data-v-cf18a87c]{margin-left:8px;min-width:80px}.voice-mic-wrap[data-v-cf18a87c]{position:relative;display:inline-block;width:64px;height:64px}.voice-mic-wrap .tech-ripple[data-v-cf18a87c]{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;border:1px solid rgba(0,229,255,.6);opacity:0;pointer-events:none}.voice-input-popup.skin-tech[data-v-cf18a87c]{background-image:linear-gradient(rgba(0,229,255,.045) 1px,transparent 0),linear-gradient(90deg,rgba(0,229,255,.045) 1px,transparent 0),radial-gradient(circle at 18% 0,rgba(0,229,255,.12),transparent 42%),radial-gradient(circle at 85% 100%,rgba(0,110,255,.12),transparent 45%),linear-gradient(160deg,#060d21,#0a1a3f 55%,#071026);background-size:24px 24px,24px 24px,100% 100%,100% 100%,100% 100%}.voice-input-popup.skin-tech .voice-popup-header[data-v-cf18a87c]{border-bottom:1px solid rgba(0,229,255,.15)}.voice-input-popup.skin-tech .voice-popup-header .voice-popup-title[data-v-cf18a87c]{color:#d8f4ff;letter-spacing:3px;text-shadow:0 0 10px rgba(0,229,255,.75)}.voice-input-popup.skin-tech .voice-popup-header .voice-popup-close[data-v-cf18a87c]{color:rgba(0,229,255,.6)}.voice-input-popup.skin-tech .voice-popup-body .voice-mic-btn[data-v-cf18a87c]{background:radial-gradient(circle at 30% 25%,#1a4a8a,#0a2547 72%);border:1.5px solid rgba(0,229,255,.7);color:#00e5ff;-webkit-box-shadow:0 0 20px rgba(0,229,255,.4),inset 0 0 15px rgba(0,229,255,.15);box-shadow:0 0 20px rgba(0,229,255,.4),inset 0 0 15px rgba(0,229,255,.15)}.voice-input-popup.skin-tech .voice-popup-body .voice-mic-btn.recording[data-v-cf18a87c]{background:radial-gradient(circle at 30% 25%,#8a1a3f,#470a20 72%);border-color:rgba(255,45,105,.85);color:#ff5c8a;-webkit-animation:tech-breathe-cf18a87c 1.5s ease-out infinite;animation:tech-breathe-cf18a87c 1.5s ease-out infinite}.voice-input-popup.skin-tech .voice-popup-body .voice-status-text[data-v-cf18a87c]{color:#8fd8ff;text-shadow:0 0 6px rgba(0,229,255,.3)}.voice-input-popup.skin-tech .voice-popup-body .voice-status-text.is-error[data-v-cf18a87c]{color:#ff5c8a;text-shadow:0 0 6px rgba(255,45,105,.3)}.voice-input-popup.skin-tech .voice-popup-body .voice-timer[data-v-cf18a87c]{color:#00e5ff;font-family:Courier New,Courier,monospace;letter-spacing:2px;text-shadow:0 0 8px rgba(0,229,255,.7)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c]{background:rgba(6,25,55,.6);border:1px solid rgba(0,229,255,.35);-webkit-box-shadow:inset 0 0 12px rgba(0,229,255,.1);box-shadow:inset 0 0 12px rgba(0,229,255,.1)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c] .van-field__control{color:#d8f4ff;caret-color:#00e5ff}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c] .van-field__control::-webkit-input-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c] .van-field__control::-moz-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c] .van-field__control::-ms-input-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-cf18a87c] .van-field__control::placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--default[data-v-cf18a87c]{background:transparent;color:#8fd8ff}.voice-input-popup.skin-tech .voice-popup-footer .van-button--default[data-v-cf18a87c]:after{border-color:rgba(0,229,255,.4)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info[data-v-cf18a87c]{background:-webkit-gradient(linear,left top,right top,from(#00b8d4),to(#00e5ff));background:linear-gradient(90deg,#00b8d4,#00e5ff);color:#04122b;-webkit-box-shadow:0 0 12px rgba(0,229,255,.45);box-shadow:0 0 12px rgba(0,229,255,.45)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info[data-v-cf18a87c]:after{border-width:0}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info.van-button--disabled[data-v-cf18a87c]{opacity:.45}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple[data-v-cf18a87c]{border-color:rgba(255,45,105,.7);-webkit-animation:tech-ripple-cf18a87c 2s ease-out infinite;animation:tech-ripple-cf18a87c 2s ease-out infinite}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple-2[data-v-cf18a87c]{-webkit-animation-delay:.6s;animation-delay:.6s}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple-3[data-v-cf18a87c]{-webkit-animation-delay:1.2s;animation-delay:1.2s}@-webkit-keyframes tech-ripple-cf18a87c{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{-webkit-transform:scale(2.4);transform:scale(2.4);opacity:0}}@keyframes tech-ripple-cf18a87c{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{-webkit-transform:scale(2.4);transform:scale(2.4);opacity:0}}@-webkit-keyframes tech-breathe-cf18a87c{0%{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45)}to{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0)}}@keyframes tech-breathe-cf18a87c{0%{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45)}to{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0)}}@-webkit-keyframes voice-breathe-cf18a87c{0%{-webkit-box-shadow:0 0 0 0 rgba(238,10,36,.5);box-shadow:0 0 0 0 rgba(238,10,36,.5)}to{-webkit-box-shadow:0 0 0 16px rgba(238,10,36,0);box-shadow:0 0 0 16px rgba(238,10,36,0)}}@keyframes voice-breathe-cf18a87c{0%{-webkit-box-shadow:0 0 0 0 rgba(238,10,36,.5);box-shadow:0 0 0 0 rgba(238,10,36,.5)}to{-webkit-box-shadow:0 0 0 16px rgba(238,10,36,0);box-shadow:0 0 0 16px rgba(238,10,36,0)}}", ""]);
23375
+ ___CSS_LOADER_EXPORT___.push([module.id, ".voice-input-popup[data-v-813d3ba6]{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.voice-input-popup .voice-popup-header[data-v-813d3ba6]{position:relative;height:48px;line-height:48px;text-align:center}.voice-input-popup .voice-popup-header .voice-popup-title[data-v-813d3ba6]{font-size:16px;font-weight:600;color:#323233}.voice-input-popup .voice-popup-header .voice-popup-close[data-v-813d3ba6]{position:absolute;right:16px;top:16px;font-size:16px;color:#c8c9cc}.voice-input-popup .voice-popup-body[data-v-813d3ba6]{padding:8px 16px 0;text-align:center}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-813d3ba6]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:64px;height:64px;border-radius:50%;background-color:#1989fa;color:#fff}.voice-input-popup .voice-popup-body .voice-mic-btn .voice-mic-icon[data-v-813d3ba6]{width:28px;height:28px}.voice-input-popup .voice-popup-body .voice-mic-btn.recording[data-v-813d3ba6]{background-color:#ee0a24;-webkit-animation:voice-breathe-813d3ba6 1.5s ease-out infinite;animation:voice-breathe-813d3ba6 1.5s ease-out infinite}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-813d3ba6] .van-loading{padding-top:0}.voice-input-popup .voice-popup-body .voice-status-text[data-v-813d3ba6]{margin-top:12px;font-size:13px;color:#646566}.voice-input-popup .voice-popup-body .voice-status-text.is-error[data-v-813d3ba6]{color:#ee0a24}.voice-input-popup .voice-popup-body .voice-wave-canvas[data-v-813d3ba6]{display:block;width:200px;height:32px;margin:8px auto 0}.voice-input-popup .voice-popup-body .voice-timer[data-v-813d3ba6]{margin-top:4px;font-size:13px;color:#969799}.voice-input-popup .voice-popup-body .voice-result-field[data-v-813d3ba6]{margin-top:12px;background-color:#f7f8fa;border-radius:8px}.voice-input-popup .voice-popup-footer[data-v-813d3ba6]{padding:12px 16px;text-align:right}.voice-input-popup .voice-popup-footer .van-button[data-v-813d3ba6]{margin-left:8px;min-width:80px}.voice-mic-wrap[data-v-813d3ba6]{position:relative;display:inline-block;width:64px;height:64px}.voice-mic-wrap .tech-ripple[data-v-813d3ba6]{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;border:1px solid rgba(0,229,255,.6);opacity:0;pointer-events:none}.voice-input-popup.skin-tech[data-v-813d3ba6]{background-image:linear-gradient(rgba(0,229,255,.045) 1px,transparent 0),linear-gradient(90deg,rgba(0,229,255,.045) 1px,transparent 0),radial-gradient(circle at 18% 0,rgba(0,229,255,.12),transparent 42%),radial-gradient(circle at 85% 100%,rgba(0,110,255,.12),transparent 45%),linear-gradient(160deg,#060d21,#0a1a3f 55%,#071026);background-size:24px 24px,24px 24px,100% 100%,100% 100%,100% 100%}.voice-input-popup.skin-tech .voice-popup-header[data-v-813d3ba6]{border-bottom:1px solid rgba(0,229,255,.15)}.voice-input-popup.skin-tech .voice-popup-header .voice-popup-title[data-v-813d3ba6]{color:#d8f4ff;letter-spacing:3px;text-shadow:0 0 10px rgba(0,229,255,.75)}.voice-input-popup.skin-tech .voice-popup-header .voice-popup-close[data-v-813d3ba6]{color:rgba(0,229,255,.6)}.voice-input-popup.skin-tech .voice-popup-body .voice-mic-btn[data-v-813d3ba6]{background:radial-gradient(circle at 30% 25%,#1a4a8a,#0a2547 72%);border:1.5px solid rgba(0,229,255,.7);color:#00e5ff;-webkit-box-shadow:0 0 20px rgba(0,229,255,.4),inset 0 0 15px rgba(0,229,255,.15);box-shadow:0 0 20px rgba(0,229,255,.4),inset 0 0 15px rgba(0,229,255,.15)}.voice-input-popup.skin-tech .voice-popup-body .voice-mic-btn.recording[data-v-813d3ba6]{background:radial-gradient(circle at 30% 25%,#8a1a3f,#470a20 72%);border-color:rgba(255,45,105,.85);color:#ff5c8a;-webkit-animation:tech-breathe-813d3ba6 1.5s ease-out infinite;animation:tech-breathe-813d3ba6 1.5s ease-out infinite}.voice-input-popup.skin-tech .voice-popup-body .voice-status-text[data-v-813d3ba6]{color:#8fd8ff;text-shadow:0 0 6px rgba(0,229,255,.3)}.voice-input-popup.skin-tech .voice-popup-body .voice-status-text.is-error[data-v-813d3ba6]{color:#ff5c8a;text-shadow:0 0 6px rgba(255,45,105,.3)}.voice-input-popup.skin-tech .voice-popup-body .voice-timer[data-v-813d3ba6]{color:#00e5ff;font-family:Courier New,Courier,monospace;letter-spacing:2px;text-shadow:0 0 8px rgba(0,229,255,.7)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6]{background:rgba(6,25,55,.6);border:1px solid rgba(0,229,255,.35);-webkit-box-shadow:inset 0 0 12px rgba(0,229,255,.1);box-shadow:inset 0 0 12px rgba(0,229,255,.1)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6] .van-field__control{color:#d8f4ff;caret-color:#00e5ff}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6] .van-field__control::-webkit-input-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6] .van-field__control::-moz-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6] .van-field__control::-ms-input-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6] .van-field__control::placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--default[data-v-813d3ba6]{background:transparent;color:#8fd8ff}.voice-input-popup.skin-tech .voice-popup-footer .van-button--default[data-v-813d3ba6]:after{border-color:rgba(0,229,255,.4)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info[data-v-813d3ba6]{background:-webkit-gradient(linear,left top,right top,from(#00b8d4),to(#00e5ff));background:linear-gradient(90deg,#00b8d4,#00e5ff);color:#04122b;-webkit-box-shadow:0 0 12px rgba(0,229,255,.45);box-shadow:0 0 12px rgba(0,229,255,.45)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info[data-v-813d3ba6]:after{border-width:0}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info.van-button--disabled[data-v-813d3ba6]{opacity:.45}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple[data-v-813d3ba6]{border-color:rgba(255,45,105,.7);-webkit-animation:tech-ripple-813d3ba6 2s ease-out infinite;animation:tech-ripple-813d3ba6 2s ease-out infinite}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple-2[data-v-813d3ba6]{-webkit-animation-delay:.6s;animation-delay:.6s}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple-3[data-v-813d3ba6]{-webkit-animation-delay:1.2s;animation-delay:1.2s}@-webkit-keyframes tech-ripple-813d3ba6{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{-webkit-transform:scale(2.4);transform:scale(2.4);opacity:0}}@keyframes tech-ripple-813d3ba6{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{-webkit-transform:scale(2.4);transform:scale(2.4);opacity:0}}@-webkit-keyframes tech-breathe-813d3ba6{0%{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45)}to{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0)}}@keyframes tech-breathe-813d3ba6{0%{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45)}to{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0)}}@-webkit-keyframes voice-breathe-813d3ba6{0%{-webkit-box-shadow:0 0 0 0 rgba(238,10,36,.5);box-shadow:0 0 0 0 rgba(238,10,36,.5)}to{-webkit-box-shadow:0 0 0 16px rgba(238,10,36,0);box-shadow:0 0 0 16px rgba(238,10,36,0)}}@keyframes voice-breathe-813d3ba6{0%{-webkit-box-shadow:0 0 0 0 rgba(238,10,36,.5);box-shadow:0 0 0 0 rgba(238,10,36,.5)}to{-webkit-box-shadow:0 0 0 16px rgba(238,10,36,0);box-shadow:0 0 0 16px rgba(238,10,36,0)}}", ""]);
23220
23376
  // Exports
23221
23377
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
23222
23378
 
@@ -50624,19 +50780,19 @@ var update = add("1d9a7e4b", content, true, {"sourceMap":false,"shadowMode":fals
50624
50780
 
50625
50781
  /***/ }),
50626
50782
 
50627
- /***/ 5813:
50783
+ /***/ 7131:
50628
50784
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
50629
50785
 
50630
50786
  // style-loader: Adds some css to the DOM by adding a <style> tag
50631
50787
 
50632
50788
  // load the styles
50633
- var content = __webpack_require__(2659);
50789
+ var content = __webpack_require__(6149);
50634
50790
  if(content.__esModule) content = content.default;
50635
50791
  if(typeof content === 'string') content = [[module.id, content, '']];
50636
50792
  if(content.locals) module.exports = content.locals;
50637
50793
  // add the styles to the DOM
50638
50794
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
50639
- var update = add("10123288", content, true, {"sourceMap":false,"shadowMode":false});
50795
+ var update = add("d8c5dc34", content, true, {"sourceMap":false,"shadowMode":false});
50640
50796
 
50641
50797
  /***/ }),
50642
50798
 
@@ -50864,19 +51020,19 @@ var update = add("6665940f", content, true, {"sourceMap":false,"shadowMode":fals
50864
51020
 
50865
51021
  /***/ }),
50866
51022
 
50867
- /***/ 4949:
51023
+ /***/ 7316:
50868
51024
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
50869
51025
 
50870
51026
  // style-loader: Adds some css to the DOM by adding a <style> tag
50871
51027
 
50872
51028
  // load the styles
50873
- var content = __webpack_require__(5019);
51029
+ var content = __webpack_require__(8162);
50874
51030
  if(content.__esModule) content = content.default;
50875
51031
  if(typeof content === 'string') content = [[module.id, content, '']];
50876
51032
  if(content.locals) module.exports = content.locals;
50877
51033
  // add the styles to the DOM
50878
51034
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
50879
- var update = add("6ddf8070", content, true, {"sourceMap":false,"shadowMode":false});
51035
+ var update = add("d301d61e", content, true, {"sourceMap":false,"shadowMode":false});
50880
51036
 
50881
51037
  /***/ }),
50882
51038
 
@@ -73246,6 +73402,1766 @@ permission.install = permission_install;
73246
73402
 
73247
73403
 
73248
73404
  external_commonjs_vue_commonjs2_vue_root_Vue_default().use(Directive_permission);
73405
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
73406
+ function _extends() {
73407
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
73408
+ for (var e = 1; e < arguments.length; e++) {
73409
+ var t = arguments[e];
73410
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
73411
+ }
73412
+ return n;
73413
+ }, _extends.apply(null, arguments);
73414
+ }
73415
+
73416
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/bem.js
73417
+ /**
73418
+ * bem helper
73419
+ * b() // 'button'
73420
+ * b('text') // 'button__text'
73421
+ * b({ disabled }) // 'button button--disabled'
73422
+ * b('text', { disabled }) // 'button__text button__text--disabled'
73423
+ * b(['disabled', 'primary']) // 'button button--disabled button--primary'
73424
+ */
73425
+ function gen(name, mods) {
73426
+ if (!mods) {
73427
+ return '';
73428
+ }
73429
+
73430
+ if (typeof mods === 'string') {
73431
+ return " " + name + "--" + mods;
73432
+ }
73433
+
73434
+ if (Array.isArray(mods)) {
73435
+ return mods.reduce(function (ret, item) {
73436
+ return ret + gen(name, item);
73437
+ }, '');
73438
+ }
73439
+
73440
+ return Object.keys(mods).reduce(function (ret, key) {
73441
+ return ret + (mods[key] ? gen(name, key) : '');
73442
+ }, '');
73443
+ }
73444
+
73445
+ function createBEM(name) {
73446
+ return function (el, mods) {
73447
+ if (el && typeof el !== 'string') {
73448
+ mods = el;
73449
+ el = '';
73450
+ }
73451
+
73452
+ el = el ? name + "__" + el : name;
73453
+ return "" + el + gen(el, mods);
73454
+ };
73455
+ }
73456
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/index.js
73457
+
73458
+
73459
+
73460
+ var utils_inBrowser = typeof window !== 'undefined';
73461
+ var isServer = (external_commonjs_vue_commonjs2_vue_root_Vue_default()).prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function
73462
+
73463
+ function utils_noop() {}
73464
+ function isDef(val) {
73465
+ return val !== undefined && val !== null;
73466
+ }
73467
+ function utils_isFunction(val) {
73468
+ return typeof val === 'function';
73469
+ }
73470
+ function utils_isObject(val) {
73471
+ return val !== null && typeof val === 'object';
73472
+ }
73473
+ function isPromise(val) {
73474
+ return utils_isObject(val) && utils_isFunction(val.then) && utils_isFunction(val.catch);
73475
+ }
73476
+ function get(object, path) {
73477
+ var keys = path.split('.');
73478
+ var result = object;
73479
+ keys.forEach(function (key) {
73480
+ var _result$key;
73481
+
73482
+ result = utils_isObject(result) ? (_result$key = result[key]) != null ? _result$key : '' : '';
73483
+ });
73484
+ return result;
73485
+ }
73486
+ /**
73487
+ * Checks if `value` is an empty object, collection, map, or set.
73488
+ *
73489
+ * Objects are considered empty if they have no own enumerable string keyed
73490
+ * properties.
73491
+ *
73492
+ * Array-like values such as `arguments` objects, arrays, buffers, strings, or
73493
+ * jQuery-like collections are considered empty if they have a `length` of `0`.
73494
+ * Similarly, maps and sets are considered empty if they have a `size` of `0`.
73495
+ *
73496
+ * @function isEmpty
73497
+ * @param {*} value The value to check.
73498
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
73499
+ * @example
73500
+ *
73501
+ * _.isEmpty(null);
73502
+ * // => true
73503
+ *
73504
+ * _.isEmpty(true);
73505
+ * // => true
73506
+ *
73507
+ * _.isEmpty(1);
73508
+ * // => true
73509
+ *
73510
+ * _.isEmpty([1, 2, 3]);
73511
+ * // => false
73512
+ *
73513
+ * _.isEmpty({ 'a': 1 });
73514
+ * // => false
73515
+ */
73516
+
73517
+ function isEmpty(value) {
73518
+ if (value == null) {
73519
+ return true;
73520
+ }
73521
+
73522
+ if (typeof value !== 'object') {
73523
+ return true;
73524
+ }
73525
+
73526
+ return Object.keys(value).length === 0;
73527
+ }
73528
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/format/string.js
73529
+ var camelizeRE = /-(\w)/g;
73530
+ function camelize(str) {
73531
+ return str.replace(camelizeRE, function (_, c) {
73532
+ return c.toUpperCase();
73533
+ });
73534
+ }
73535
+ function padZero(num, targetLength) {
73536
+ if (targetLength === void 0) {
73537
+ targetLength = 2;
73538
+ }
73539
+
73540
+ var str = num + '';
73541
+
73542
+ while (str.length < targetLength) {
73543
+ str = '0' + str;
73544
+ }
73545
+
73546
+ return str;
73547
+ }
73548
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/slots.js
73549
+ /**
73550
+ * Use scopedSlots in Vue 2.6+
73551
+ * downgrade to slots in lower version
73552
+ */
73553
+ var SlotsMixin = {
73554
+ methods: {
73555
+ slots: function slots(name, props) {
73556
+ if (name === void 0) {
73557
+ name = 'default';
73558
+ }
73559
+
73560
+ var $slots = this.$slots,
73561
+ $scopedSlots = this.$scopedSlots;
73562
+ var scopedSlot = $scopedSlots[name];
73563
+
73564
+ if (scopedSlot) {
73565
+ return scopedSlot(props);
73566
+ }
73567
+
73568
+ return $slots[name];
73569
+ }
73570
+ }
73571
+ };
73572
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/component.js
73573
+ /**
73574
+ * Create a basic component with common options
73575
+ */
73576
+
73577
+
73578
+
73579
+
73580
+
73581
+
73582
+ function component_install(Vue) {
73583
+ var name = this.name;
73584
+ Vue.component(name, this);
73585
+ Vue.component(camelize("-" + name), this);
73586
+ } // unify slots & scopedSlots
73587
+
73588
+
73589
+ function unifySlots(context) {
73590
+ // use data.scopedSlots in lower Vue version
73591
+ var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};
73592
+ var slots = context.slots();
73593
+ Object.keys(slots).forEach(function (key) {
73594
+ if (!scopedSlots[key]) {
73595
+ scopedSlots[key] = function () {
73596
+ return slots[key];
73597
+ };
73598
+ }
73599
+ });
73600
+ return scopedSlots;
73601
+ } // should be removed after Vue 3
73602
+
73603
+ function transformFunctionComponent(pure) {
73604
+ return {
73605
+ functional: true,
73606
+ props: pure.props,
73607
+ model: pure.model,
73608
+ render: function render(h, context) {
73609
+ return pure(h, context.props, unifySlots(context), context);
73610
+ }
73611
+ };
73612
+ }
73613
+
73614
+ function createComponent(name) {
73615
+ return function (sfc) {
73616
+ if (utils_isFunction(sfc)) {
73617
+ sfc = transformFunctionComponent(sfc);
73618
+ }
73619
+
73620
+ if (!sfc.functional) {
73621
+ sfc.mixins = sfc.mixins || [];
73622
+ sfc.mixins.push(SlotsMixin);
73623
+ }
73624
+
73625
+ sfc.name = name;
73626
+ sfc.install = component_install;
73627
+ return sfc;
73628
+ };
73629
+ }
73630
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/deep-assign.js
73631
+
73632
+ var deep_assign_hasOwnProperty = Object.prototype.hasOwnProperty;
73633
+
73634
+ function assignKey(to, from, key) {
73635
+ var val = from[key];
73636
+
73637
+ if (!isDef(val)) {
73638
+ return;
73639
+ }
73640
+
73641
+ if (!deep_assign_hasOwnProperty.call(to, key) || !utils_isObject(val)) {
73642
+ to[key] = val;
73643
+ } else {
73644
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
73645
+ to[key] = deepAssign(Object(to[key]), from[key]);
73646
+ }
73647
+ }
73648
+
73649
+ function deepAssign(to, from) {
73650
+ Object.keys(from).forEach(function (key) {
73651
+ assignKey(to, from, key);
73652
+ });
73653
+ return to;
73654
+ }
73655
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/locale/lang/zh-CN.js
73656
+ /* harmony default export */ var zh_CN = ({
73657
+ name: '姓名',
73658
+ tel: '电话',
73659
+ save: '保存',
73660
+ confirm: '确认',
73661
+ cancel: '取消',
73662
+ delete: '删除',
73663
+ complete: '完成',
73664
+ loading: '加载中...',
73665
+ telEmpty: '请填写电话',
73666
+ nameEmpty: '请填写姓名',
73667
+ nameInvalid: '请输入正确的姓名',
73668
+ confirmDelete: '确定要删除吗',
73669
+ telInvalid: '请输入正确的手机号',
73670
+ vanCalendar: {
73671
+ end: '结束',
73672
+ start: '开始',
73673
+ title: '日期选择',
73674
+ confirm: '确定',
73675
+ startEnd: '开始/结束',
73676
+ weekdays: ['日', '一', '二', '三', '四', '五', '六'],
73677
+ monthTitle: function monthTitle(year, month) {
73678
+ return year + "\u5E74" + month + "\u6708";
73679
+ },
73680
+ rangePrompt: function rangePrompt(maxRange) {
73681
+ return "\u9009\u62E9\u5929\u6570\u4E0D\u80FD\u8D85\u8FC7 " + maxRange + " \u5929";
73682
+ }
73683
+ },
73684
+ vanCascader: {
73685
+ select: '请选择'
73686
+ },
73687
+ vanContactCard: {
73688
+ addText: '添加联系人'
73689
+ },
73690
+ vanContactList: {
73691
+ addText: '新建联系人'
73692
+ },
73693
+ vanPagination: {
73694
+ prev: '上一页',
73695
+ next: '下一页'
73696
+ },
73697
+ vanPullRefresh: {
73698
+ pulling: '下拉即可刷新...',
73699
+ loosing: '释放即可刷新...'
73700
+ },
73701
+ vanSubmitBar: {
73702
+ label: '合计:'
73703
+ },
73704
+ vanCoupon: {
73705
+ unlimited: '无使用门槛',
73706
+ discount: function discount(_discount) {
73707
+ return _discount + "\u6298";
73708
+ },
73709
+ condition: function condition(_condition) {
73710
+ return "\u6EE1" + _condition + "\u5143\u53EF\u7528";
73711
+ }
73712
+ },
73713
+ vanCouponCell: {
73714
+ title: '优惠券',
73715
+ tips: '暂无可用',
73716
+ count: function count(_count) {
73717
+ return _count + "\u5F20\u53EF\u7528";
73718
+ }
73719
+ },
73720
+ vanCouponList: {
73721
+ empty: '暂无优惠券',
73722
+ exchange: '兑换',
73723
+ close: '不使用优惠券',
73724
+ enable: '可用',
73725
+ disabled: '不可用',
73726
+ placeholder: '请输入优惠码'
73727
+ },
73728
+ vanAddressEdit: {
73729
+ area: '地区',
73730
+ postal: '邮政编码',
73731
+ areaEmpty: '请选择地区',
73732
+ addressEmpty: '请填写详细地址',
73733
+ postalEmpty: '邮政编码格式不正确',
73734
+ defaultAddress: '设为默认收货地址',
73735
+ telPlaceholder: '收货人手机号',
73736
+ namePlaceholder: '收货人姓名',
73737
+ areaPlaceholder: '选择省 / 市 / 区'
73738
+ },
73739
+ vanAddressEditDetail: {
73740
+ label: '详细地址',
73741
+ placeholder: '街道门牌、楼层房间号等信息'
73742
+ },
73743
+ vanAddressList: {
73744
+ add: '新增地址'
73745
+ }
73746
+ });
73747
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/locale/index.js
73748
+
73749
+
73750
+
73751
+ var proto = (external_commonjs_vue_commonjs2_vue_root_Vue_default()).prototype;
73752
+ var defineReactive = (external_commonjs_vue_commonjs2_vue_root_Vue_default()).util.defineReactive;
73753
+ defineReactive(proto, '$vantLang', 'zh-CN');
73754
+ defineReactive(proto, '$vantMessages', {
73755
+ 'zh-CN': zh_CN
73756
+ });
73757
+ /* harmony default export */ var locale = ({
73758
+ messages: function messages() {
73759
+ return proto.$vantMessages[proto.$vantLang];
73760
+ },
73761
+ use: function use(lang, messages) {
73762
+ var _this$add;
73763
+
73764
+ proto.$vantLang = lang;
73765
+ this.add((_this$add = {}, _this$add[lang] = messages, _this$add));
73766
+ },
73767
+ add: function add(messages) {
73768
+ if (messages === void 0) {
73769
+ messages = {};
73770
+ }
73771
+
73772
+ deepAssign(proto.$vantMessages, messages);
73773
+ }
73774
+ });
73775
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/i18n.js
73776
+
73777
+
73778
+
73779
+ function createI18N(name) {
73780
+ var prefix = camelize(name) + '.';
73781
+ return function (path) {
73782
+ var messages = locale.messages();
73783
+ var message = get(messages, prefix + path) || get(messages, path);
73784
+
73785
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
73786
+ args[_key - 1] = arguments[_key];
73787
+ }
73788
+
73789
+ return utils_isFunction(message) ? message.apply(void 0, args) : message;
73790
+ };
73791
+ }
73792
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/index.js
73793
+
73794
+
73795
+
73796
+ function createNamespace(name) {
73797
+ name = 'van-' + name;
73798
+ return [createComponent(name), createBEM(name), createI18N(name)];
73799
+ }
73800
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/toast/lock-click.js
73801
+ var lockCount = 0;
73802
+ function lockClick(lock) {
73803
+ if (lock) {
73804
+ if (!lockCount) {
73805
+ document.body.classList.add('van-toast--unclickable');
73806
+ }
73807
+
73808
+ lockCount++;
73809
+ } else {
73810
+ lockCount--;
73811
+
73812
+ if (!lockCount) {
73813
+ document.body.classList.remove('van-toast--unclickable');
73814
+ }
73815
+ }
73816
+ }
73817
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/popup/context.js
73818
+ var context = {
73819
+ zIndex: 2000,
73820
+ lockCount: 0,
73821
+ stack: [],
73822
+ find: function find(vm) {
73823
+ return this.stack.filter(function (item) {
73824
+ return item.vm === vm;
73825
+ })[0];
73826
+ },
73827
+ remove: function remove(vm) {
73828
+ var item = this.find(vm);
73829
+ if (!item) return;
73830
+ item.vm = null;
73831
+ item.overlay = null;
73832
+ var index = this.stack.indexOf(item);
73833
+ this.stack.splice(index, 1);
73834
+ }
73835
+ };
73836
+ // EXTERNAL MODULE: ./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js
73837
+ var helper = __webpack_require__(7499);
73838
+ var helper_default = /*#__PURE__*/__webpack_require__.n(helper);
73839
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/functional.js
73840
+
73841
+
73842
+ var inheritKey = ['ref', 'key', 'style', 'class', 'attrs', 'refInFor', 'nativeOn', 'directives', 'staticClass', 'staticStyle'];
73843
+ var mapInheritKey = {
73844
+ nativeOn: 'on'
73845
+ }; // inherit partial context, map nativeOn to on
73846
+
73847
+ function inherit(context, inheritListeners) {
73848
+ var result = inheritKey.reduce(function (obj, key) {
73849
+ if (context.data[key]) {
73850
+ obj[mapInheritKey[key] || key] = context.data[key];
73851
+ }
73852
+
73853
+ return obj;
73854
+ }, {});
73855
+
73856
+ if (inheritListeners) {
73857
+ result.on = result.on || {};
73858
+
73859
+ _extends(result.on, context.data.on);
73860
+ }
73861
+
73862
+ return result;
73863
+ } // emit event
73864
+
73865
+ function emit(context, eventName) {
73866
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
73867
+ args[_key - 2] = arguments[_key];
73868
+ }
73869
+
73870
+ var listeners = context.listeners[eventName];
73871
+
73872
+ if (listeners) {
73873
+ if (Array.isArray(listeners)) {
73874
+ listeners.forEach(function (listener) {
73875
+ listener.apply(void 0, args);
73876
+ });
73877
+ } else {
73878
+ listeners.apply(void 0, args);
73879
+ }
73880
+ }
73881
+ } // mount functional component
73882
+
73883
+ function mount(Component, data) {
73884
+ var instance = new (external_commonjs_vue_commonjs2_vue_root_Vue_default())({
73885
+ el: document.createElement('div'),
73886
+ props: Component.props,
73887
+ render: function render(h) {
73888
+ return h(Component, _extends({
73889
+ props: this.$props
73890
+ }, data));
73891
+ }
73892
+ });
73893
+ document.body.appendChild(instance.$el);
73894
+ return instance;
73895
+ }
73896
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/dom/event.js
73897
+
73898
+ // eslint-disable-next-line import/no-mutable-exports
73899
+ var supportsPassive = false;
73900
+
73901
+ if (!isServer) {
73902
+ try {
73903
+ var opts = {};
73904
+ Object.defineProperty(opts, 'passive', {
73905
+ // eslint-disable-next-line getter-return
73906
+ get: function get() {
73907
+ /* istanbul ignore next */
73908
+ supportsPassive = true;
73909
+ }
73910
+ });
73911
+ window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty
73912
+ } catch (e) {}
73913
+ }
73914
+
73915
+ function on(target, event, handler, passive) {
73916
+ if (passive === void 0) {
73917
+ passive = false;
73918
+ }
73919
+
73920
+ if (!isServer) {
73921
+ target.addEventListener(event, handler, supportsPassive ? {
73922
+ capture: false,
73923
+ passive: passive
73924
+ } : false);
73925
+ }
73926
+ }
73927
+ function off(target, event, handler) {
73928
+ if (!isServer) {
73929
+ target.removeEventListener(event, handler);
73930
+ }
73931
+ }
73932
+ function stopPropagation(event) {
73933
+ event.stopPropagation();
73934
+ }
73935
+ function preventDefault(event, isStopPropagation) {
73936
+ /* istanbul ignore else */
73937
+ if (typeof event.cancelable !== 'boolean' || event.cancelable) {
73938
+ event.preventDefault();
73939
+ }
73940
+
73941
+ if (isStopPropagation) {
73942
+ stopPropagation(event);
73943
+ }
73944
+ }
73945
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/overlay/index.js
73946
+
73947
+
73948
+ // Utils
73949
+
73950
+
73951
+ // Types
73952
+
73953
+ var _createNamespace = createNamespace('overlay'),
73954
+ overlay_createComponent = _createNamespace[0],
73955
+ bem = _createNamespace[1];
73956
+
73957
+ function preventTouchMove(event) {
73958
+ preventDefault(event, true);
73959
+ }
73960
+
73961
+ function Overlay(h, props, slots, ctx) {
73962
+ var style = _extends({
73963
+ zIndex: props.zIndex
73964
+ }, props.customStyle);
73965
+
73966
+ if (isDef(props.duration)) {
73967
+ style.animationDuration = props.duration + "s";
73968
+ }
73969
+
73970
+ return h("transition", {
73971
+ "attrs": {
73972
+ "name": "van-fade"
73973
+ }
73974
+ }, [h("div", helper_default()([{
73975
+ "directives": [{
73976
+ name: "show",
73977
+ value: props.show
73978
+ }],
73979
+ "style": style,
73980
+ "class": [bem(), props.className],
73981
+ "on": {
73982
+ "touchmove": props.lockScroll ? preventTouchMove : utils_noop
73983
+ }
73984
+ }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default()])]);
73985
+ }
73986
+
73987
+ Overlay.props = {
73988
+ show: Boolean,
73989
+ zIndex: [Number, String],
73990
+ duration: [Number, String],
73991
+ className: null,
73992
+ customStyle: Object,
73993
+ lockScroll: {
73994
+ type: Boolean,
73995
+ default: true
73996
+ }
73997
+ };
73998
+ /* harmony default export */ var overlay = (overlay_createComponent(Overlay));
73999
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/dom/node.js
74000
+ function removeNode(el) {
74001
+ var parent = el.parentNode;
74002
+
74003
+ if (parent) {
74004
+ parent.removeChild(el);
74005
+ }
74006
+ }
74007
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/popup/overlay.js
74008
+
74009
+
74010
+
74011
+
74012
+
74013
+ var defaultConfig = {
74014
+ className: '',
74015
+ customStyle: {}
74016
+ };
74017
+
74018
+ function mountOverlay(vm) {
74019
+ return mount(overlay, {
74020
+ on: {
74021
+ // close popup when overlay clicked & closeOnClickOverlay is true
74022
+ click: function click() {
74023
+ vm.$emit('click-overlay');
74024
+
74025
+ if (vm.closeOnClickOverlay) {
74026
+ if (vm.onClickOverlay) {
74027
+ vm.onClickOverlay();
74028
+ } else {
74029
+ vm.close();
74030
+ }
74031
+ }
74032
+ }
74033
+ }
74034
+ });
74035
+ }
74036
+
74037
+ function updateOverlay(vm) {
74038
+ var item = context.find(vm);
74039
+
74040
+ if (item) {
74041
+ var el = vm.$el;
74042
+ var config = item.config,
74043
+ overlay = item.overlay;
74044
+
74045
+ if (el && el.parentNode) {
74046
+ el.parentNode.insertBefore(overlay.$el, el);
74047
+ }
74048
+
74049
+ _extends(overlay, defaultConfig, config, {
74050
+ show: true
74051
+ });
74052
+ }
74053
+ }
74054
+ function openOverlay(vm, config) {
74055
+ var item = context.find(vm);
74056
+
74057
+ if (item) {
74058
+ item.config = config;
74059
+ } else {
74060
+ var overlay = mountOverlay(vm);
74061
+ context.stack.push({
74062
+ vm: vm,
74063
+ config: config,
74064
+ overlay: overlay
74065
+ });
74066
+ }
74067
+
74068
+ updateOverlay(vm);
74069
+ }
74070
+ function closeOverlay(vm) {
74071
+ var item = context.find(vm);
74072
+
74073
+ if (item) {
74074
+ item.overlay.show = false;
74075
+ }
74076
+ }
74077
+ function removeOverlay(vm) {
74078
+ var item = context.find(vm);
74079
+
74080
+ if (item) {
74081
+ removeNode(item.overlay.$el);
74082
+ context.remove(vm);
74083
+ }
74084
+ }
74085
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/dom/scroll.js
74086
+ function isWindow(val) {
74087
+ return val === window;
74088
+ } // get nearest scroll element
74089
+ // https://github.com/vant-ui/vant/issues/3823
74090
+
74091
+
74092
+ var overflowScrollReg = /scroll|auto|overlay/i;
74093
+ function getScroller(el, root) {
74094
+ if (root === void 0) {
74095
+ root = window;
74096
+ }
74097
+
74098
+ var node = el;
74099
+
74100
+ while (node && node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === 1 && node !== root) {
74101
+ var _window$getComputedSt = window.getComputedStyle(node),
74102
+ overflowY = _window$getComputedSt.overflowY;
74103
+
74104
+ if (overflowScrollReg.test(overflowY)) {
74105
+ return node;
74106
+ }
74107
+
74108
+ node = node.parentNode;
74109
+ }
74110
+
74111
+ return root;
74112
+ }
74113
+ function getScrollTop(el) {
74114
+ var top = 'scrollTop' in el ? el.scrollTop : el.pageYOffset; // iOS scroll bounce cause minus scrollTop
74115
+
74116
+ return Math.max(top, 0);
74117
+ }
74118
+ function setScrollTop(el, value) {
74119
+ if ('scrollTop' in el) {
74120
+ el.scrollTop = value;
74121
+ } else {
74122
+ el.scrollTo(el.scrollX, value);
74123
+ }
74124
+ }
74125
+ function getRootScrollTop() {
74126
+ return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
74127
+ }
74128
+ function setRootScrollTop(value) {
74129
+ setScrollTop(window, value);
74130
+ setScrollTop(document.body, value);
74131
+ } // get distance from element top to page top or scroller top
74132
+
74133
+ function getElementTop(el, scroller) {
74134
+ if (isWindow(el)) {
74135
+ return 0;
74136
+ }
74137
+
74138
+ var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();
74139
+ return el.getBoundingClientRect().top + scrollTop;
74140
+ }
74141
+ function getVisibleHeight(el) {
74142
+ if (isWindow(el)) {
74143
+ return el.innerHeight;
74144
+ }
74145
+
74146
+ return el.getBoundingClientRect().height;
74147
+ }
74148
+ function getVisibleTop(el) {
74149
+ if (isWindow(el)) {
74150
+ return 0;
74151
+ }
74152
+
74153
+ return el.getBoundingClientRect().top;
74154
+ }
74155
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/touch.js
74156
+
74157
+
74158
+ function getDirection(x, y) {
74159
+ if (x > y) {
74160
+ return 'horizontal';
74161
+ }
74162
+
74163
+ if (y > x) {
74164
+ return 'vertical';
74165
+ }
74166
+
74167
+ return '';
74168
+ }
74169
+
74170
+ var TouchMixin = {
74171
+ data: function data() {
74172
+ return {
74173
+ direction: ''
74174
+ };
74175
+ },
74176
+ methods: {
74177
+ touchStart: function touchStart(event) {
74178
+ this.resetTouchStatus();
74179
+ this.startX = event.touches[0].clientX;
74180
+ this.startY = event.touches[0].clientY;
74181
+ },
74182
+ touchMove: function touchMove(event) {
74183
+ var touch = event.touches[0]; // safari back will set clientX to negative number
74184
+
74185
+ this.deltaX = touch.clientX < 0 ? 0 : touch.clientX - this.startX;
74186
+ this.deltaY = touch.clientY - this.startY;
74187
+ this.offsetX = Math.abs(this.deltaX);
74188
+ this.offsetY = Math.abs(this.deltaY); // lock direction when distance is greater than a certain value
74189
+
74190
+ var LOCK_DIRECTION_DISTANCE = 10;
74191
+
74192
+ if (!this.direction || this.offsetX < LOCK_DIRECTION_DISTANCE && this.offsetY < LOCK_DIRECTION_DISTANCE) {
74193
+ this.direction = getDirection(this.offsetX, this.offsetY);
74194
+ }
74195
+ },
74196
+ resetTouchStatus: function resetTouchStatus() {
74197
+ this.direction = '';
74198
+ this.deltaX = 0;
74199
+ this.deltaY = 0;
74200
+ this.offsetX = 0;
74201
+ this.offsetY = 0;
74202
+ },
74203
+ // avoid Vue 2.6 event bubble issues by manually binding events
74204
+ // https://github.com/vant-ui/vant/issues/3015
74205
+ bindTouchEvent: function bindTouchEvent(el) {
74206
+ var onTouchStart = this.onTouchStart,
74207
+ onTouchMove = this.onTouchMove,
74208
+ onTouchEnd = this.onTouchEnd;
74209
+ on(el, 'touchstart', onTouchStart);
74210
+ on(el, 'touchmove', onTouchMove);
74211
+
74212
+ if (onTouchEnd) {
74213
+ on(el, 'touchend', onTouchEnd);
74214
+ on(el, 'touchcancel', onTouchEnd);
74215
+ }
74216
+ }
74217
+ }
74218
+ };
74219
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/portal.js
74220
+ function getElement(selector) {
74221
+ if (typeof selector === 'string') {
74222
+ return document.querySelector(selector);
74223
+ }
74224
+
74225
+ return selector();
74226
+ }
74227
+
74228
+ function PortalMixin(_temp) {
74229
+ var _ref = _temp === void 0 ? {} : _temp,
74230
+ ref = _ref.ref,
74231
+ afterPortal = _ref.afterPortal;
74232
+
74233
+ return {
74234
+ props: {
74235
+ getContainer: [String, Function]
74236
+ },
74237
+ watch: {
74238
+ getContainer: 'portal'
74239
+ },
74240
+ mounted: function mounted() {
74241
+ if (this.getContainer) {
74242
+ this.portal();
74243
+ }
74244
+ },
74245
+ methods: {
74246
+ portal: function portal() {
74247
+ var getContainer = this.getContainer;
74248
+ var el = ref ? this.$refs[ref] : this.$el;
74249
+ var container;
74250
+
74251
+ if (getContainer) {
74252
+ container = getElement(getContainer);
74253
+ } else if (this.$parent) {
74254
+ container = this.$parent.$el;
74255
+ }
74256
+
74257
+ if (container && container !== el.parentNode) {
74258
+ container.appendChild(el);
74259
+ }
74260
+
74261
+ if (afterPortal) {
74262
+ afterPortal.call(this);
74263
+ }
74264
+ }
74265
+ }
74266
+ };
74267
+ }
74268
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/bind-event.js
74269
+ /**
74270
+ * Bind event when mounted or activated
74271
+ */
74272
+
74273
+ var uid = 0;
74274
+ function BindEventMixin(handler) {
74275
+ var key = "binded_" + uid++;
74276
+
74277
+ function bind() {
74278
+ if (!this[key]) {
74279
+ handler.call(this, on, true);
74280
+ this[key] = true;
74281
+ }
74282
+ }
74283
+
74284
+ function unbind() {
74285
+ if (this[key]) {
74286
+ handler.call(this, off, false);
74287
+ this[key] = false;
74288
+ }
74289
+ }
74290
+
74291
+ return {
74292
+ mounted: bind,
74293
+ activated: bind,
74294
+ deactivated: unbind,
74295
+ beforeDestroy: unbind
74296
+ };
74297
+ }
74298
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/close-on-popstate.js
74299
+
74300
+
74301
+ var CloseOnPopstateMixin = {
74302
+ mixins: [BindEventMixin(function (bind, isBind) {
74303
+ this.handlePopstate(isBind && this.closeOnPopstate);
74304
+ })],
74305
+ props: {
74306
+ closeOnPopstate: Boolean
74307
+ },
74308
+ data: function data() {
74309
+ return {
74310
+ bindStatus: false
74311
+ };
74312
+ },
74313
+ watch: {
74314
+ closeOnPopstate: function closeOnPopstate(val) {
74315
+ this.handlePopstate(val);
74316
+ }
74317
+ },
74318
+ methods: {
74319
+ onPopstate: function onPopstate() {
74320
+ this.close();
74321
+ this.shouldReopen = false;
74322
+ },
74323
+ handlePopstate: function handlePopstate(bind) {
74324
+ /* istanbul ignore if */
74325
+ if (this.$isServer) {
74326
+ return;
74327
+ }
74328
+
74329
+ if (this.bindStatus !== bind) {
74330
+ this.bindStatus = bind;
74331
+ var action = bind ? on : off;
74332
+ action(window, 'popstate', this.onPopstate);
74333
+ }
74334
+ }
74335
+ }
74336
+ };
74337
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/popup/index.js
74338
+ // Context
74339
+
74340
+ // Utils
74341
+
74342
+
74343
+
74344
+ // Mixins
74345
+
74346
+
74347
+
74348
+
74349
+ var popupMixinProps = {
74350
+ // Initial rendering animation
74351
+ transitionAppear: Boolean,
74352
+ // whether to show popup
74353
+ value: Boolean,
74354
+ // whether to show overlay
74355
+ overlay: Boolean,
74356
+ // overlay custom style
74357
+ overlayStyle: Object,
74358
+ // overlay custom class name
74359
+ overlayClass: String,
74360
+ // whether to close popup when overlay is clicked
74361
+ closeOnClickOverlay: Boolean,
74362
+ // z-index
74363
+ zIndex: [Number, String],
74364
+ // prevent body scroll
74365
+ lockScroll: {
74366
+ type: Boolean,
74367
+ default: true
74368
+ },
74369
+ // whether to lazy render
74370
+ lazyRender: {
74371
+ type: Boolean,
74372
+ default: true
74373
+ }
74374
+ };
74375
+ function PopupMixin(options) {
74376
+ if (options === void 0) {
74377
+ options = {};
74378
+ }
74379
+
74380
+ return {
74381
+ mixins: [TouchMixin, CloseOnPopstateMixin, PortalMixin({
74382
+ afterPortal: function afterPortal() {
74383
+ if (this.overlay) {
74384
+ updateOverlay();
74385
+ }
74386
+ }
74387
+ })],
74388
+ provide: function provide() {
74389
+ return {
74390
+ vanPopup: this
74391
+ };
74392
+ },
74393
+ props: popupMixinProps,
74394
+ data: function data() {
74395
+ this.onReopenCallback = [];
74396
+ return {
74397
+ inited: this.value
74398
+ };
74399
+ },
74400
+ computed: {
74401
+ shouldRender: function shouldRender() {
74402
+ return this.inited || !this.lazyRender;
74403
+ }
74404
+ },
74405
+ watch: {
74406
+ value: function value(val) {
74407
+ var type = val ? 'open' : 'close';
74408
+ this.inited = this.inited || this.value;
74409
+ this[type]();
74410
+
74411
+ if (!options.skipToggleEvent) {
74412
+ this.$emit(type);
74413
+ }
74414
+ },
74415
+ overlay: 'renderOverlay'
74416
+ },
74417
+ mounted: function mounted() {
74418
+ if (this.value) {
74419
+ this.open();
74420
+ }
74421
+ },
74422
+
74423
+ /* istanbul ignore next */
74424
+ activated: function activated() {
74425
+ if (this.shouldReopen) {
74426
+ this.$emit('input', true);
74427
+ this.shouldReopen = false;
74428
+ }
74429
+ },
74430
+ beforeDestroy: function beforeDestroy() {
74431
+ removeOverlay(this);
74432
+
74433
+ if (this.opened) {
74434
+ this.removeLock();
74435
+ }
74436
+
74437
+ if (this.getContainer) {
74438
+ removeNode(this.$el);
74439
+ }
74440
+ },
74441
+
74442
+ /* istanbul ignore next */
74443
+ deactivated: function deactivated() {
74444
+ if (this.value) {
74445
+ this.close();
74446
+ this.shouldReopen = true;
74447
+ }
74448
+ },
74449
+ methods: {
74450
+ open: function open() {
74451
+ /* istanbul ignore next */
74452
+ if (this.$isServer || this.opened) {
74453
+ return;
74454
+ } // cover default zIndex
74455
+
74456
+
74457
+ if (this.zIndex !== undefined) {
74458
+ context.zIndex = this.zIndex;
74459
+ }
74460
+
74461
+ this.opened = true;
74462
+ this.renderOverlay();
74463
+ this.addLock();
74464
+ this.onReopenCallback.forEach(function (callback) {
74465
+ callback();
74466
+ });
74467
+ },
74468
+ addLock: function addLock() {
74469
+ if (this.lockScroll) {
74470
+ on(document, 'touchstart', this.touchStart);
74471
+ on(document, 'touchmove', this.onTouchMove);
74472
+
74473
+ if (!context.lockCount) {
74474
+ document.body.classList.add('van-overflow-hidden');
74475
+ }
74476
+
74477
+ context.lockCount++;
74478
+ }
74479
+ },
74480
+ removeLock: function removeLock() {
74481
+ if (this.lockScroll && context.lockCount) {
74482
+ context.lockCount--;
74483
+ off(document, 'touchstart', this.touchStart);
74484
+ off(document, 'touchmove', this.onTouchMove);
74485
+
74486
+ if (!context.lockCount) {
74487
+ document.body.classList.remove('van-overflow-hidden');
74488
+ }
74489
+ }
74490
+ },
74491
+ close: function close() {
74492
+ if (!this.opened) {
74493
+ return;
74494
+ }
74495
+
74496
+ closeOverlay(this);
74497
+ this.opened = false;
74498
+ this.removeLock();
74499
+ this.$emit('input', false);
74500
+ },
74501
+ onTouchMove: function onTouchMove(event) {
74502
+ this.touchMove(event);
74503
+ var direction = this.deltaY > 0 ? '10' : '01';
74504
+ var el = getScroller(event.target, this.$el);
74505
+ var scrollHeight = el.scrollHeight,
74506
+ offsetHeight = el.offsetHeight,
74507
+ scrollTop = el.scrollTop;
74508
+ var status = '11';
74509
+ /* istanbul ignore next */
74510
+
74511
+ if (scrollTop === 0) {
74512
+ status = offsetHeight >= scrollHeight ? '00' : '01';
74513
+ } else if (scrollTop + offsetHeight >= scrollHeight) {
74514
+ status = '10';
74515
+ }
74516
+ /* istanbul ignore next */
74517
+
74518
+
74519
+ if (status !== '11' && this.direction === 'vertical' && !(parseInt(status, 2) & parseInt(direction, 2))) {
74520
+ preventDefault(event, true);
74521
+ }
74522
+ },
74523
+ renderOverlay: function renderOverlay() {
74524
+ var _this = this;
74525
+
74526
+ if (this.$isServer || !this.value) {
74527
+ return;
74528
+ }
74529
+
74530
+ this.$nextTick(function () {
74531
+ _this.updateZIndex(_this.overlay ? 1 : 0);
74532
+
74533
+ if (_this.overlay) {
74534
+ openOverlay(_this, {
74535
+ zIndex: context.zIndex++,
74536
+ duration: _this.duration,
74537
+ className: _this.overlayClass,
74538
+ customStyle: _this.overlayStyle
74539
+ });
74540
+ } else {
74541
+ closeOverlay(_this);
74542
+ }
74543
+ });
74544
+ },
74545
+ updateZIndex: function updateZIndex(value) {
74546
+ if (value === void 0) {
74547
+ value = 0;
74548
+ }
74549
+
74550
+ this.$el.style.zIndex = ++context.zIndex + value;
74551
+ },
74552
+ onReopen: function onReopen(callback) {
74553
+ this.onReopenCallback.push(callback);
74554
+ }
74555
+ }
74556
+ };
74557
+ }
74558
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/validate/number.js
74559
+ function isNumeric(val) {
74560
+ return /^\d+(\.\d+)?$/.test(val);
74561
+ }
74562
+ function number_isNaN(val) {
74563
+ if (Number.isNaN) {
74564
+ return Number.isNaN(val);
74565
+ } // eslint-disable-next-line no-self-compare
74566
+
74567
+
74568
+ return val !== val;
74569
+ }
74570
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/format/unit.js
74571
+
74572
+
74573
+ function addUnit(value) {
74574
+ if (!isDef(value)) {
74575
+ return undefined;
74576
+ }
74577
+
74578
+ value = String(value);
74579
+ return isNumeric(value) ? value + "px" : value;
74580
+ } // cache
74581
+
74582
+ var rootFontSize;
74583
+
74584
+ function getRootFontSize() {
74585
+ if (!rootFontSize) {
74586
+ var doc = document.documentElement;
74587
+ var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;
74588
+ rootFontSize = parseFloat(fontSize);
74589
+ }
74590
+
74591
+ return rootFontSize;
74592
+ }
74593
+
74594
+ function convertRem(value) {
74595
+ value = value.replace(/rem/g, '');
74596
+ return +value * getRootFontSize();
74597
+ }
74598
+
74599
+ function convertVw(value) {
74600
+ value = value.replace(/vw/g, '');
74601
+ return +value * window.innerWidth / 100;
74602
+ }
74603
+
74604
+ function convertVh(value) {
74605
+ value = value.replace(/vh/g, '');
74606
+ return +value * window.innerHeight / 100;
74607
+ }
74608
+
74609
+ function unitToPx(value) {
74610
+ if (typeof value === 'number') {
74611
+ return value;
74612
+ }
74613
+
74614
+ if (inBrowser) {
74615
+ if (value.indexOf('rem') !== -1) {
74616
+ return convertRem(value);
74617
+ }
74618
+
74619
+ if (value.indexOf('vw') !== -1) {
74620
+ return convertVw(value);
74621
+ }
74622
+
74623
+ if (value.indexOf('vh') !== -1) {
74624
+ return convertVh(value);
74625
+ }
74626
+ }
74627
+
74628
+ return parseFloat(value);
74629
+ }
74630
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/info/index.js
74631
+
74632
+ // Utils
74633
+
74634
+ // Types
74635
+
74636
+ var info_createNamespace = createNamespace('info'),
74637
+ info_createComponent = info_createNamespace[0],
74638
+ info_bem = info_createNamespace[1];
74639
+
74640
+ function Info(h, props, slots, ctx) {
74641
+ var dot = props.dot,
74642
+ info = props.info;
74643
+ var showInfo = isDef(info) && info !== '';
74644
+
74645
+ if (!dot && !showInfo) {
74646
+ return;
74647
+ }
74648
+
74649
+ return h("div", helper_default()([{
74650
+ "class": info_bem({
74651
+ dot: dot
74652
+ })
74653
+ }, inherit(ctx, true)]), [dot ? '' : props.info]);
74654
+ }
74655
+
74656
+ Info.props = {
74657
+ dot: Boolean,
74658
+ info: [Number, String]
74659
+ };
74660
+ /* harmony default export */ var info = (info_createComponent(Info));
74661
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/icon/index.js
74662
+
74663
+ // Utils
74664
+
74665
+ // Components
74666
+
74667
+ // Types
74668
+
74669
+ var icon_createNamespace = createNamespace('icon'),
74670
+ icon_createComponent = icon_createNamespace[0],
74671
+ icon_bem = icon_createNamespace[1];
74672
+
74673
+ function isImage(name) {
74674
+ return name ? name.indexOf('/') !== -1 : false;
74675
+ } // compatible with legacy usage, should be removed in next major version
74676
+
74677
+
74678
+ var LEGACY_MAP = {
74679
+ medel: 'medal',
74680
+ 'medel-o': 'medal-o',
74681
+ 'calender-o': 'calendar-o'
74682
+ };
74683
+
74684
+ function correctName(name) {
74685
+ return name && LEGACY_MAP[name] || name;
74686
+ }
74687
+
74688
+ function Icon(h, props, slots, ctx) {
74689
+ var _props$badge;
74690
+
74691
+ var name = correctName(props.name);
74692
+ var imageIcon = isImage(name);
74693
+
74694
+ if (false) {}
74695
+
74696
+ return h(props.tag, helper_default()([{
74697
+ "class": [props.classPrefix, imageIcon ? '' : props.classPrefix + "-" + name],
74698
+ "style": {
74699
+ color: props.color,
74700
+ fontSize: addUnit(props.size)
74701
+ }
74702
+ }, inherit(ctx, true)]), [slots.default && slots.default(), imageIcon && h("img", {
74703
+ "class": icon_bem('image'),
74704
+ "attrs": {
74705
+ "src": name
74706
+ }
74707
+ }), h(info, {
74708
+ "attrs": {
74709
+ "dot": props.dot,
74710
+ "info": (_props$badge = props.badge) != null ? _props$badge : props.info
74711
+ }
74712
+ })]);
74713
+ }
74714
+
74715
+ Icon.props = {
74716
+ dot: Boolean,
74717
+ name: String,
74718
+ size: [Number, String],
74719
+ // @deprecated
74720
+ // should be removed in next major version
74721
+ info: [Number, String],
74722
+ badge: [Number, String],
74723
+ color: String,
74724
+ tag: {
74725
+ type: String,
74726
+ default: 'i'
74727
+ },
74728
+ classPrefix: {
74729
+ type: String,
74730
+ default: icon_bem()
74731
+ }
74732
+ };
74733
+ /* harmony default export */ var es_icon = (icon_createComponent(Icon));
74734
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/loading/index.js
74735
+
74736
+ // Utils
74737
+
74738
+ // Types
74739
+
74740
+ var loading_createNamespace = createNamespace('loading'),
74741
+ loading_createComponent = loading_createNamespace[0],
74742
+ loading_bem = loading_createNamespace[1];
74743
+
74744
+ function LoadingIcon(h, props) {
74745
+ if (props.type === 'spinner') {
74746
+ var Spin = [];
74747
+
74748
+ for (var i = 0; i < 12; i++) {
74749
+ Spin.push(h("i"));
74750
+ }
74751
+
74752
+ return Spin;
74753
+ }
74754
+
74755
+ return h("svg", {
74756
+ "class": loading_bem('circular'),
74757
+ "attrs": {
74758
+ "viewBox": "25 25 50 50"
74759
+ }
74760
+ }, [h("circle", {
74761
+ "attrs": {
74762
+ "cx": "50",
74763
+ "cy": "50",
74764
+ "r": "20",
74765
+ "fill": "none"
74766
+ }
74767
+ })]);
74768
+ }
74769
+
74770
+ function LoadingText(h, props, slots) {
74771
+ if (slots.default) {
74772
+ var _props$textColor;
74773
+
74774
+ var style = {
74775
+ fontSize: addUnit(props.textSize),
74776
+ color: (_props$textColor = props.textColor) != null ? _props$textColor : props.color
74777
+ };
74778
+ return h("span", {
74779
+ "class": loading_bem('text'),
74780
+ "style": style
74781
+ }, [slots.default()]);
74782
+ }
74783
+ }
74784
+
74785
+ function Loading(h, props, slots, ctx) {
74786
+ var color = props.color,
74787
+ size = props.size,
74788
+ type = props.type;
74789
+ var style = {
74790
+ color: color
74791
+ };
74792
+
74793
+ if (size) {
74794
+ var iconSize = addUnit(size);
74795
+ style.width = iconSize;
74796
+ style.height = iconSize;
74797
+ }
74798
+
74799
+ return h("div", helper_default()([{
74800
+ "class": loading_bem([type, {
74801
+ vertical: props.vertical
74802
+ }])
74803
+ }, inherit(ctx, true)]), [h("span", {
74804
+ "class": loading_bem('spinner', type),
74805
+ "style": style
74806
+ }, [LoadingIcon(h, props)]), LoadingText(h, props, slots)]);
74807
+ }
74808
+
74809
+ Loading.props = {
74810
+ color: String,
74811
+ size: [Number, String],
74812
+ vertical: Boolean,
74813
+ textSize: [Number, String],
74814
+ textColor: String,
74815
+ type: {
74816
+ type: String,
74817
+ default: 'circular'
74818
+ }
74819
+ };
74820
+ /* harmony default export */ var loading = (loading_createComponent(Loading));
74821
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/toast/Toast.js
74822
+ // Utils
74823
+
74824
+ // Mixins
74825
+
74826
+ // Components
74827
+
74828
+
74829
+
74830
+
74831
+ var Toast_createNamespace = createNamespace('toast'),
74832
+ Toast_createComponent = Toast_createNamespace[0],
74833
+ Toast_bem = Toast_createNamespace[1];
74834
+
74835
+ /* harmony default export */ var Toast = (Toast_createComponent({
74836
+ mixins: [PopupMixin()],
74837
+ props: {
74838
+ icon: String,
74839
+ className: null,
74840
+ iconPrefix: String,
74841
+ loadingType: String,
74842
+ forbidClick: Boolean,
74843
+ closeOnClick: Boolean,
74844
+ message: [Number, String],
74845
+ type: {
74846
+ type: String,
74847
+ default: 'text'
74848
+ },
74849
+ position: {
74850
+ type: String,
74851
+ default: 'middle'
74852
+ },
74853
+ transition: {
74854
+ type: String,
74855
+ default: 'van-fade'
74856
+ },
74857
+ lockScroll: {
74858
+ type: Boolean,
74859
+ default: false
74860
+ }
74861
+ },
74862
+ data: function data() {
74863
+ return {
74864
+ clickable: false
74865
+ };
74866
+ },
74867
+ mounted: function mounted() {
74868
+ this.toggleClickable();
74869
+ },
74870
+ destroyed: function destroyed() {
74871
+ this.toggleClickable();
74872
+ },
74873
+ watch: {
74874
+ value: 'toggleClickable',
74875
+ forbidClick: 'toggleClickable'
74876
+ },
74877
+ methods: {
74878
+ onClick: function onClick() {
74879
+ if (this.closeOnClick) {
74880
+ this.close();
74881
+ }
74882
+ },
74883
+ toggleClickable: function toggleClickable() {
74884
+ var clickable = this.value && this.forbidClick;
74885
+
74886
+ if (this.clickable !== clickable) {
74887
+ this.clickable = clickable;
74888
+ lockClick(clickable);
74889
+ }
74890
+ },
74891
+
74892
+ /* istanbul ignore next */
74893
+ onAfterEnter: function onAfterEnter() {
74894
+ this.$emit('opened');
74895
+
74896
+ if (this.onOpened) {
74897
+ this.onOpened();
74898
+ }
74899
+ },
74900
+ onAfterLeave: function onAfterLeave() {
74901
+ this.$emit('closed');
74902
+ },
74903
+ genIcon: function genIcon() {
74904
+ var h = this.$createElement;
74905
+ var icon = this.icon,
74906
+ type = this.type,
74907
+ iconPrefix = this.iconPrefix,
74908
+ loadingType = this.loadingType;
74909
+ var hasIcon = icon || type === 'success' || type === 'fail';
74910
+
74911
+ if (hasIcon) {
74912
+ return h(es_icon, {
74913
+ "class": Toast_bem('icon'),
74914
+ "attrs": {
74915
+ "classPrefix": iconPrefix,
74916
+ "name": icon || type
74917
+ }
74918
+ });
74919
+ }
74920
+
74921
+ if (type === 'loading') {
74922
+ return h(loading, {
74923
+ "class": Toast_bem('loading'),
74924
+ "attrs": {
74925
+ "type": loadingType
74926
+ }
74927
+ });
74928
+ }
74929
+ },
74930
+ genMessage: function genMessage() {
74931
+ var h = this.$createElement;
74932
+ var type = this.type,
74933
+ message = this.message;
74934
+
74935
+ if (!isDef(message) || message === '') {
74936
+ return;
74937
+ }
74938
+
74939
+ if (type === 'html') {
74940
+ return h("div", {
74941
+ "class": Toast_bem('text'),
74942
+ "domProps": {
74943
+ "innerHTML": message
74944
+ }
74945
+ });
74946
+ }
74947
+
74948
+ return h("div", {
74949
+ "class": Toast_bem('text')
74950
+ }, [message]);
74951
+ }
74952
+ },
74953
+ render: function render() {
74954
+ var _ref;
74955
+
74956
+ var h = arguments[0];
74957
+ return h("transition", {
74958
+ "attrs": {
74959
+ "name": this.transition
74960
+ },
74961
+ "on": {
74962
+ "afterEnter": this.onAfterEnter,
74963
+ "afterLeave": this.onAfterLeave
74964
+ }
74965
+ }, [h("div", {
74966
+ "directives": [{
74967
+ name: "show",
74968
+ value: this.value
74969
+ }],
74970
+ "class": [Toast_bem([this.position, (_ref = {}, _ref[this.type] = !this.icon, _ref)]), this.className],
74971
+ "on": {
74972
+ "click": this.onClick
74973
+ }
74974
+ }, [this.genIcon(), this.genMessage()])]);
74975
+ }
74976
+ }));
74977
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/toast/index.js
74978
+
74979
+
74980
+
74981
+
74982
+
74983
+ var defaultOptions = {
74984
+ icon: '',
74985
+ type: 'text',
74986
+ // @deprecated
74987
+ mask: false,
74988
+ value: true,
74989
+ message: '',
74990
+ className: '',
74991
+ overlay: false,
74992
+ onClose: null,
74993
+ onOpened: null,
74994
+ duration: 2000,
74995
+ iconPrefix: undefined,
74996
+ position: 'middle',
74997
+ transition: 'van-fade',
74998
+ forbidClick: false,
74999
+ loadingType: undefined,
75000
+ getContainer: 'body',
75001
+ overlayStyle: null,
75002
+ closeOnClick: false,
75003
+ closeOnClickOverlay: false
75004
+ }; // default options of specific type
75005
+
75006
+ var defaultOptionsMap = {};
75007
+ var queue = [];
75008
+ var multiple = false;
75009
+
75010
+ var currentOptions = _extends({}, defaultOptions);
75011
+
75012
+ function parseOptions(message) {
75013
+ if (utils_isObject(message)) {
75014
+ return message;
75015
+ }
75016
+
75017
+ return {
75018
+ message: message
75019
+ };
75020
+ }
75021
+
75022
+ function isInDocument(element) {
75023
+ return document.body.contains(element);
75024
+ }
75025
+
75026
+ function toast_createInstance() {
75027
+ /* istanbul ignore if */
75028
+ if (isServer) {
75029
+ return {};
75030
+ }
75031
+
75032
+ queue = queue.filter(function (item) {
75033
+ return !item.$el.parentNode || isInDocument(item.$el);
75034
+ });
75035
+
75036
+ if (!queue.length || multiple) {
75037
+ var toast = new (external_commonjs_vue_commonjs2_vue_root_Vue_default().extend(Toast))({
75038
+ el: document.createElement('div')
75039
+ });
75040
+ toast.$on('input', function (value) {
75041
+ toast.value = value;
75042
+ });
75043
+ queue.push(toast);
75044
+ }
75045
+
75046
+ return queue[queue.length - 1];
75047
+ } // transform toast options to popup props
75048
+
75049
+
75050
+ function transformOptions(options) {
75051
+ return _extends({}, options, {
75052
+ overlay: options.mask || options.overlay,
75053
+ mask: undefined,
75054
+ duration: undefined
75055
+ });
75056
+ }
75057
+
75058
+ function toast_Toast(options) {
75059
+ if (options === void 0) {
75060
+ options = {};
75061
+ }
75062
+
75063
+ var toast = toast_createInstance(); // should add z-index if previous toast has not disappeared
75064
+
75065
+ if (toast.value) {
75066
+ toast.updateZIndex();
75067
+ }
75068
+
75069
+ options = parseOptions(options);
75070
+ options = _extends({}, currentOptions, defaultOptionsMap[options.type || currentOptions.type], options);
75071
+
75072
+ if (false) {}
75073
+
75074
+ options.clear = function () {
75075
+ toast.value = false;
75076
+
75077
+ if (options.onClose) {
75078
+ options.onClose();
75079
+ options.onClose = null;
75080
+ }
75081
+
75082
+ if (multiple && !isServer) {
75083
+ toast.$on('closed', function () {
75084
+ clearTimeout(toast.timer);
75085
+ queue = queue.filter(function (item) {
75086
+ return item !== toast;
75087
+ });
75088
+ removeNode(toast.$el);
75089
+ toast.$destroy();
75090
+ });
75091
+ }
75092
+ };
75093
+
75094
+ _extends(toast, transformOptions(options));
75095
+
75096
+ clearTimeout(toast.timer);
75097
+
75098
+ if (options.duration > 0) {
75099
+ toast.timer = setTimeout(function () {
75100
+ toast.clear();
75101
+ }, options.duration);
75102
+ }
75103
+
75104
+ return toast;
75105
+ }
75106
+
75107
+ var createMethod = function createMethod(type) {
75108
+ return function (options) {
75109
+ return toast_Toast(_extends({
75110
+ type: type
75111
+ }, parseOptions(options)));
75112
+ };
75113
+ };
75114
+
75115
+ ['loading', 'success', 'fail'].forEach(function (method) {
75116
+ toast_Toast[method] = createMethod(method);
75117
+ });
75118
+
75119
+ toast_Toast.clear = function (all) {
75120
+ if (queue.length) {
75121
+ if (all) {
75122
+ queue.forEach(function (toast) {
75123
+ toast.clear();
75124
+ });
75125
+ queue = [];
75126
+ } else if (!multiple) {
75127
+ queue[0].clear();
75128
+ } else {
75129
+ queue.shift().clear();
75130
+ }
75131
+ }
75132
+ };
75133
+
75134
+ toast_Toast.setDefaultOptions = function (type, options) {
75135
+ if (typeof type === 'string') {
75136
+ defaultOptionsMap[type] = options;
75137
+ } else {
75138
+ _extends(currentOptions, type);
75139
+ }
75140
+ };
75141
+
75142
+ toast_Toast.resetDefaultOptions = function (type) {
75143
+ if (typeof type === 'string') {
75144
+ defaultOptionsMap[type] = null;
75145
+ } else {
75146
+ currentOptions = _extends({}, defaultOptions);
75147
+ defaultOptionsMap = {};
75148
+ }
75149
+ };
75150
+
75151
+ toast_Toast.allowMultiple = function (value) {
75152
+ if (value === void 0) {
75153
+ value = true;
75154
+ }
75155
+
75156
+ multiple = value;
75157
+ };
75158
+
75159
+ toast_Toast.install = function () {
75160
+ external_commonjs_vue_commonjs2_vue_root_Vue_default().use(Toast);
75161
+ };
75162
+
75163
+ (external_commonjs_vue_commonjs2_vue_root_Vue_default()).prototype.$toast = toast_Toast;
75164
+ /* harmony default export */ var toast = (toast_Toast);
73249
75165
  ;// CONCATENATED MODULE: ./packages/npmaio/mappaio/index.js
73250
75166
  function mappaio_typeof(o) { "@babel/helpers - typeof"; return mappaio_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, mappaio_typeof(o); }
73251
75167
  function mappaio_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -73288,13 +75204,14 @@ function mappaio_arrayWithHoles(r) { if (Array.isArray(r)) return r; }
73288
75204
 
73289
75205
 
73290
75206
 
75207
+
73291
75208
  var mappaio_components = [app, auth, eventBus, user, Building, Basicform, Basicform_DatetimeField, Basicform_FileField, Basicform_InputField, Basicform_SelectField, Basicform_SwitchField, Basicform_TextareaField, Basicform_IdeaField, DatetimeRange, DataTable, InnerTable, FooterButtonGroup, FloatButtonGroup, NativeWebView, SelectDialog, WfStatus, PopupDialog];
73292
75209
 
73293
75210
  // ---------- 重型组件异步全局注册清单(chunk 级按需加载) ----------
73294
75211
  var asyncComponents = [
73295
75212
  // ========== ecmapp 业务功能 ==========
73296
75213
  ['RichtextEditor', function () {
73297
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 9733));
75214
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 7669));
73298
75215
  }], ['PdfTools', function () {
73299
75216
  return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 2283)).then(function (m) {
73300
75217
  return m.PdfTools;
@@ -73306,39 +75223,39 @@ var asyncComponents = [
73306
75223
  }],
73307
75224
  // ========== ecmapp/Wflowform 工作流表单子组件 → chunk: m-wflow-form ==========
73308
75225
  ['Attachment', function () {
73309
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4609)).then(function (m) {
75226
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 280)).then(function (m) {
73310
75227
  return m.Attachment;
73311
75228
  });
73312
75229
  }], ['BodyFile', function () {
73313
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4609)).then(function (m) {
75230
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 280)).then(function (m) {
73314
75231
  return m.BodyFile;
73315
75232
  });
73316
75233
  }], ['HandleIdea', function () {
73317
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4609)).then(function (m) {
75234
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 280)).then(function (m) {
73318
75235
  return m.HandleIdea;
73319
75236
  });
73320
75237
  }], ['SelectOuterDeputy', function () {
73321
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4609)).then(function (m) {
75238
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 280)).then(function (m) {
73322
75239
  return m.SelectOuterDeputy;
73323
75240
  });
73324
75241
  }], ['SubmitHandle', function () {
73325
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4609)).then(function (m) {
75242
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 280)).then(function (m) {
73326
75243
  return m.SubmitHandle;
73327
75244
  });
73328
75245
  }], ['SubmitDialog', function () {
73329
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4609)).then(function (m) {
75246
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 280)).then(function (m) {
73330
75247
  return m.SubmitDialog;
73331
75248
  });
73332
75249
  }], ['ShortcutProcessing', function () {
73333
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4609)).then(function (m) {
75250
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 280)).then(function (m) {
73334
75251
  return m.ShortcutProcessing;
73335
75252
  });
73336
75253
  }], ['WfNodelogList', function () {
73337
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4609)).then(function (m) {
75254
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 280)).then(function (m) {
73338
75255
  return m.WfNodelogList;
73339
75256
  });
73340
75257
  }], ['WriteToReadIdea', function () {
73341
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4609)).then(function (m) {
75258
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 280)).then(function (m) {
73342
75259
  return m.WriteToReadIdea;
73343
75260
  });
73344
75261
  }]];
@@ -73348,6 +75265,11 @@ var mappaio_install = function install(Vue) {
73348
75265
  if (install.installed) return;
73349
75266
  install.installed = true;
73350
75267
 
75268
+ // vant Toast 默认 z-index 为 2000,会低于 PopupDialog(van-popup) 自增的弹层层级,全局提高,避免弹层内提示被遮挡
75269
+ toast.setDefaultOptions({
75270
+ zIndex: 9999
75271
+ });
75272
+
73351
75273
  // 1. 同步注册核心组件
73352
75274
  mappaio_components.map(function (component) {
73353
75275
  Vue.use(component);
@@ -73391,7 +75313,7 @@ var WfengineModule = function WfengineModule() {
73391
75313
  return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8838));
73392
75314
  };
73393
75315
  var WflowformModule = function WflowformModule() {
73394
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4609));
75316
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 280));
73395
75317
  };
73396
75318
 
73397
75319
  // ---------- 重型功能(PDF/富文本,仅特定页面使用) ----------
@@ -73406,7 +75328,7 @@ var PdfViewerModule = function PdfViewerModule() {
73406
75328
  });
73407
75329
  };
73408
75330
  var RichtextEditorModule = function RichtextEditorModule() {
73409
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 9733));
75331
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 7669));
73410
75332
  };
73411
75333
  ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
73412
75334