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.
@@ -94,6 +94,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
94
94
  }));
95
95
 
96
96
 
97
+ /***/ }),
98
+
99
+ /***/ 7499:
100
+ /***/ (function(module) {
101
+
102
+ "use strict";
103
+ 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;
104
+
105
+
97
106
  /***/ }),
98
107
 
99
108
  /***/ 1656:
@@ -8479,7 +8488,7 @@ var PdfViewer = showViewer;
8479
8488
 
8480
8489
  /***/ }),
8481
8490
 
8482
- /***/ 9604:
8491
+ /***/ 5183:
8483
8492
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8484
8493
 
8485
8494
  "use strict";
@@ -8491,7 +8500,7 @@ __webpack_require__.d(__webpack_exports__, {
8491
8500
  "default": function() { return /* binding */ RichtextEditor; }
8492
8501
  });
8493
8502
 
8494
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
8503
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
8495
8504
  var render = function render() {
8496
8505
  var _vm = this,
8497
8506
  _c = _vm._self._c;
@@ -8502,7 +8511,49 @@ var render = function render() {
8502
8511
  attrs: {
8503
8512
  "id": "richtext"
8504
8513
  }
8505
- })]);
8514
+ }), _vm.voiceInputEnabled ? _c('div', {
8515
+ staticClass: "voice-input-entry",
8516
+ style: _vm.voiceBtnStyle,
8517
+ on: {
8518
+ "touchstart": function touchstart($event) {
8519
+ $event.preventDefault();
8520
+ return _vm.onDragStart.apply(null, arguments);
8521
+ },
8522
+ "mousedown": function mousedown($event) {
8523
+ $event.preventDefault();
8524
+ return _vm.onDragStart.apply(null, arguments);
8525
+ },
8526
+ "click": function click($event) {
8527
+ $event.stopPropagation();
8528
+ return _vm.onVoiceBtnClick.apply(null, arguments);
8529
+ }
8530
+ }
8531
+ }, [_c('svg', {
8532
+ staticClass: "voice-input-entry-icon",
8533
+ attrs: {
8534
+ "viewBox": "0 0 1024 1024",
8535
+ "fill": "currentColor",
8536
+ "aria-hidden": "true"
8537
+ }
8538
+ }, [_c('path', {
8539
+ attrs: {
8540
+ "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"
8541
+ }
8542
+ }), _c('path', {
8543
+ attrs: {
8544
+ "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"
8545
+ }
8546
+ })]), _c('span', [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceInput', '语音输入')))])]) : _vm._e(), _c('VoiceInputDialog', {
8547
+ attrs: {
8548
+ "visible": _vm.voiceDialogVisible
8549
+ },
8550
+ on: {
8551
+ "update:visible": function updateVisible($event) {
8552
+ _vm.voiceDialogVisible = $event;
8553
+ },
8554
+ "confirm": _vm.onVoiceConfirm
8555
+ }
8556
+ })], 1);
8506
8557
  };
8507
8558
  var staticRenderFns = [];
8508
8559
 
@@ -8538,14 +8589,38 @@ var staticRenderFns = [];
8538
8589
  placeholder: {
8539
8590
  type: String,
8540
8591
  default: ''
8592
+ },
8593
+ voiceInput: {
8594
+ type: Boolean,
8595
+ default: false
8541
8596
  }
8542
8597
  },
8543
8598
  data: function data() {
8544
8599
  return {
8545
- editor: null
8600
+ editor: null,
8601
+ voiceDialogVisible: false,
8602
+ editorReadonly: false,
8603
+ voiceBtnX: null,
8604
+ voiceBtnY: null,
8605
+ voiceBtnMoved: false
8546
8606
  };
8547
8607
  },
8548
- computed: {},
8608
+ computed: {
8609
+ // 语音输入按钮显示条件:voiceInput属性为true且编辑器可编辑
8610
+ voiceInputEnabled: function voiceInputEnabled() {
8611
+ return this.voiceInput && !this.editorReadonly;
8612
+ },
8613
+ // 按钮定位样式:未拖拽时CSS默认贴在正文输入框右下角,拖拽后按记录坐标fixed定位
8614
+ voiceBtnStyle: function voiceBtnStyle() {
8615
+ if (this.voiceBtnX === null) return {};
8616
+ return {
8617
+ left: this.voiceBtnX + 'px',
8618
+ top: this.voiceBtnY + 'px',
8619
+ right: 'auto',
8620
+ bottom: 'auto'
8621
+ };
8622
+ }
8623
+ },
8549
8624
  watch: {
8550
8625
  value: function value() {
8551
8626
  // 监听prop的变化,更新ckeditor中的值
@@ -8557,8 +8632,18 @@ var staticRenderFns = [];
8557
8632
  created: function created() {},
8558
8633
  beforeDestroy: function beforeDestroy() {
8559
8634
  this.editor.destroy();
8635
+ window.removeEventListener('resize', this.placeVoiceBtnDefault);
8636
+ window.removeEventListener('scroll', this.placeVoiceBtnDefault, true);
8637
+ document.removeEventListener('touchmove', this.onDragMove);
8638
+ document.removeEventListener('touchend', this.onDragEnd);
8639
+ document.removeEventListener('mousemove', this.onDragMove);
8640
+ document.removeEventListener('mouseup', this.onDragEnd);
8560
8641
  },
8561
8642
  mounted: function mounted() {
8643
+ var _this = this;
8644
+ // 未拖拽时保持按钮跟随正文输入框右下角(窗口缩放/滚动时重新计算)
8645
+ window.addEventListener('resize', this.placeVoiceBtnDefault);
8646
+ window.addEventListener('scroll', this.placeVoiceBtnDefault, true);
8562
8647
  this.placeholder = this.$tx('ecmapp.common.enterMainText', '请输入正文');
8563
8648
  var $scope = this;
8564
8649
  var WangEditor = window.wangEditor;
@@ -8683,9 +8768,80 @@ var staticRenderFns = [];
8683
8768
  if (formCanEdit === 0 || formCanEdit === '0') {
8684
8769
  this.editor.config.placeholder = '';
8685
8770
  this.editor.disable();
8771
+ this.editorReadonly = true;
8686
8772
  }
8773
+ // 初始将语音按钮定位到正文输入框右下角
8774
+ this.$nextTick(function () {
8775
+ _this.placeVoiceBtnDefault();
8776
+ });
8687
8777
  },
8688
8778
  methods: {
8779
+ // 打开语音输入弹窗(桌面鼠标点击触发;触屏的click被touchstart.preventDefault阻止,在onDragEnd中处理)
8780
+ onVoiceBtnClick: function onVoiceBtnClick() {
8781
+ if (!this.voiceBtnMoved) {
8782
+ this.openVoiceDialog();
8783
+ }
8784
+ this.voiceBtnMoved = false;
8785
+ },
8786
+ openVoiceDialog: function openVoiceDialog() {
8787
+ this.voiceDialogVisible = true;
8788
+ },
8789
+ // 计算正文输入框右下角的默认位置(fixed视口坐标)
8790
+ placeVoiceBtnDefault: function placeVoiceBtnDefault() {
8791
+ if (this.voiceBtnMoved || !this.$el) return;
8792
+ var btn = this.$el.querySelector('.voice-input-entry');
8793
+ if (!btn) return;
8794
+ var rect = this.$el.getBoundingClientRect();
8795
+ this.voiceBtnX = rect.right - btn.offsetWidth - 16;
8796
+ this.voiceBtnY = rect.bottom - btn.offsetHeight - 16;
8797
+ },
8798
+ // 拖拽开始:记录起始坐标,绑定document级move/end事件
8799
+ onDragStart: function onDragStart(evt) {
8800
+ var point = evt.touches ? evt.touches[0] : evt;
8801
+ this._dragIsTouch = !!evt.touches;
8802
+ this._dragStartX = point.clientX;
8803
+ this._dragStartY = point.clientY;
8804
+ this.voiceBtnMoved = false;
8805
+ if (this.voiceBtnX === null) this.placeVoiceBtnDefault();
8806
+ this._dragBtnStartLeft = this.voiceBtnX;
8807
+ this._dragBtnStartTop = this.voiceBtnY;
8808
+ document.addEventListener('touchmove', this.onDragMove, {
8809
+ passive: false
8810
+ });
8811
+ document.addEventListener('touchend', this.onDragEnd);
8812
+ document.addEventListener('mousemove', this.onDragMove);
8813
+ document.addEventListener('mouseup', this.onDragEnd);
8814
+ },
8815
+ // 拖拽移动:实时更新按钮位置,位移超过5px视为拖拽(屏蔽click)
8816
+ onDragMove: function onDragMove(evt) {
8817
+ var point = evt.touches ? evt.touches[0] : evt;
8818
+ var dx = point.clientX - this._dragStartX;
8819
+ var dy = point.clientY - this._dragStartY;
8820
+ if (Math.abs(dx) > 5 || Math.abs(dy) > 5) {
8821
+ this.voiceBtnMoved = true;
8822
+ evt.preventDefault();
8823
+ }
8824
+ this.voiceBtnX = this._dragBtnStartLeft + dx;
8825
+ this.voiceBtnY = this._dragBtnStartTop + dy;
8826
+ },
8827
+ // 拖拽结束:移除document级事件;触屏无click事件,未拖动时在此打开弹窗
8828
+ onDragEnd: function onDragEnd() {
8829
+ document.removeEventListener('touchmove', this.onDragMove);
8830
+ document.removeEventListener('touchend', this.onDragEnd);
8831
+ document.removeEventListener('mousemove', this.onDragMove);
8832
+ document.removeEventListener('mouseup', this.onDragEnd);
8833
+ if (this._dragIsTouch && !this.voiceBtnMoved) {
8834
+ this.openVoiceDialog();
8835
+ }
8836
+ this.voiceBtnMoved = false;
8837
+ },
8838
+ // 语音识别完成回调:识别文本追加到编辑器现有内容末尾
8839
+ onVoiceConfirm: function onVoiceConfirm(text) {
8840
+ var currentHtml = this.editor.txt.html();
8841
+ var newHtml = currentHtml ? currentHtml + text : text;
8842
+ this.editor.txt.html(newHtml);
8843
+ this.$emit('input', newHtml);
8844
+ },
8689
8845
  // 键击事件
8690
8846
  keydownEvents: function keydownEvents(evt) {
8691
8847
  if (this.startupMode !== 'source') {
@@ -8728,9 +8884,9 @@ var staticRenderFns = [];
8728
8884
  });
8729
8885
  ;// CONCATENATED MODULE: ./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=script&lang=js
8730
8886
  /* harmony default export */ var RichtextEditor_srcvue_type_script_lang_js = (srcvue_type_script_lang_js);
8731
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.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
8732
- var srcvue_type_style_index_0_id_1c8100d7_prod_scoped_true_lang_scss = __webpack_require__(6890);
8733
- ;// CONCATENATED MODULE: ./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=style&index=0&id=1c8100d7&prod&scoped=true&lang=scss
8887
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.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
8888
+ var srcvue_type_style_index_0_id_1847d5d1_prod_scoped_true_lang_scss = __webpack_require__(3600);
8889
+ ;// CONCATENATED MODULE: ./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=style&index=0&id=1847d5d1&prod&scoped=true&lang=scss
8734
8890
 
8735
8891
  // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
8736
8892
  var componentNormalizer = __webpack_require__(1656);
@@ -8749,7 +8905,7 @@ var component = (0,componentNormalizer/* default */.A)(
8749
8905
  staticRenderFns,
8750
8906
  false,
8751
8907
  null,
8752
- "1c8100d7",
8908
+ "1847d5d1",
8753
8909
  null
8754
8910
 
8755
8911
  )
@@ -8766,7 +8922,7 @@ src.install = function (Vue) {
8766
8922
 
8767
8923
  /***/ }),
8768
8924
 
8769
- /***/ 5888:
8925
+ /***/ 5898:
8770
8926
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8771
8927
 
8772
8928
  "use strict";
@@ -14841,8 +14997,8 @@ var WfTaskNode_component = (0,componentNormalizer/* default */.A)(
14841
14997
  )
14842
14998
 
14843
14999
  /* harmony default export */ var WfTaskNode = (WfTaskNode_component.exports);
14844
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
14845
- var VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_render = function render() {
15000
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
15001
+ var VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_render = function render() {
14846
15002
  var _vm = this,
14847
15003
  _c = _vm._self._c;
14848
15004
  return _c('van-popup', {
@@ -14978,9 +15134,9 @@ var VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_render = function
14978
15134
  on: {
14979
15135
  "click": _vm.confirmVoiceText
14980
15136
  }
14981
- }, [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceFillOpinion', '填入意见')))])], 1)]);
15137
+ }, [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceConfirmInput', '确认输入')))])], 1)]);
14982
15138
  };
14983
- var VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_staticRenderFns = [];
15139
+ var VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_staticRenderFns = [];
14984
15140
 
14985
15141
  ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.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
14986
15142
  // 人声判定阈值:AnalyserNode频谱均值(getByteFrequencyData,取值范围0-255)超过该值视为有人声;
@@ -15675,9 +15831,9 @@ var TRAILING_SILENCE_MS = 3000;
15675
15831
  });
15676
15832
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=script&lang=js
15677
15833
  /* harmony default export */ var src_VoiceInputDialogvue_type_script_lang_js = (VoiceInputDialogvue_type_script_lang_js);
15678
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.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
15679
- var VoiceInputDialogvue_type_style_index_0_id_cf18a87c_prod_scoped_true_lang_scss = __webpack_require__(958);
15680
- ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=cf18a87c&prod&scoped=true&lang=scss
15834
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.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
15835
+ var VoiceInputDialogvue_type_style_index_0_id_813d3ba6_prod_scoped_true_lang_scss = __webpack_require__(1143);
15836
+ ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=813d3ba6&prod&scoped=true&lang=scss
15681
15837
 
15682
15838
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue
15683
15839
 
@@ -15690,11 +15846,11 @@ var VoiceInputDialogvue_type_style_index_0_id_cf18a87c_prod_scoped_true_lang_scs
15690
15846
 
15691
15847
  var VoiceInputDialog_component = (0,componentNormalizer/* default */.A)(
15692
15848
  src_VoiceInputDialogvue_type_script_lang_js,
15693
- VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_render,
15694
- VoiceInputDialogvue_type_template_id_cf18a87c_scoped_true_staticRenderFns,
15849
+ VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_render,
15850
+ VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_staticRenderFns,
15695
15851
  false,
15696
15852
  null,
15697
- "cf18a87c",
15853
+ "813d3ba6",
15698
15854
  null
15699
15855
 
15700
15856
  )
@@ -22892,7 +23048,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-02d89fca] .van-nav-bar__title{
22892
23048
 
22893
23049
  /***/ }),
22894
23050
 
22895
- /***/ 945:
23051
+ /***/ 4527:
22896
23052
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
22897
23053
 
22898
23054
  "use strict";
@@ -22906,7 +23062,7 @@ __webpack_require__.r(__webpack_exports__);
22906
23062
 
22907
23063
  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()));
22908
23064
  // Module
22909
- ___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}", ""]);
23065
+ ___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}", ""]);
22910
23066
  // Exports
22911
23067
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
22912
23068
 
@@ -23212,7 +23368,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".submit-handle-container .idea-button-
23212
23368
 
23213
23369
  /***/ }),
23214
23370
 
23215
- /***/ 2145:
23371
+ /***/ 816:
23216
23372
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
23217
23373
 
23218
23374
  "use strict";
@@ -23226,7 +23382,7 @@ __webpack_require__.r(__webpack_exports__);
23226
23382
 
23227
23383
  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()));
23228
23384
  // Module
23229
- ___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)}}", ""]);
23385
+ ___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)}}", ""]);
23230
23386
  // Exports
23231
23387
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
23232
23388
 
@@ -50634,19 +50790,19 @@ var update = add("17ee992d", content, true, {"sourceMap":false,"shadowMode":fals
50634
50790
 
50635
50791
  /***/ }),
50636
50792
 
50637
- /***/ 6890:
50793
+ /***/ 3600:
50638
50794
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
50639
50795
 
50640
50796
  // style-loader: Adds some css to the DOM by adding a <style> tag
50641
50797
 
50642
50798
  // load the styles
50643
- var content = __webpack_require__(945);
50799
+ var content = __webpack_require__(4527);
50644
50800
  if(content.__esModule) content = content.default;
50645
50801
  if(typeof content === 'string') content = [[module.id, content, '']];
50646
50802
  if(content.locals) module.exports = content.locals;
50647
50803
  // add the styles to the DOM
50648
50804
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
50649
- var update = add("0d496ecc", content, true, {"sourceMap":false,"shadowMode":false});
50805
+ var update = add("d5fd1878", content, true, {"sourceMap":false,"shadowMode":false});
50650
50806
 
50651
50807
  /***/ }),
50652
50808
 
@@ -50874,19 +51030,19 @@ var update = add("610e6bf1", content, true, {"sourceMap":false,"shadowMode":fals
50874
51030
 
50875
51031
  /***/ }),
50876
51032
 
50877
- /***/ 958:
51033
+ /***/ 1143:
50878
51034
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
50879
51035
 
50880
51036
  // style-loader: Adds some css to the DOM by adding a <style> tag
50881
51037
 
50882
51038
  // load the styles
50883
- var content = __webpack_require__(2145);
51039
+ var content = __webpack_require__(816);
50884
51040
  if(content.__esModule) content = content.default;
50885
51041
  if(typeof content === 'string') content = [[module.id, content, '']];
50886
51042
  if(content.locals) module.exports = content.locals;
50887
51043
  // add the styles to the DOM
50888
51044
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
50889
- var update = add("c3a9535c", content, true, {"sourceMap":false,"shadowMode":false});
51045
+ var update = add("726a2a5a", content, true, {"sourceMap":false,"shadowMode":false});
50890
51046
 
50891
51047
  /***/ }),
50892
51048
 
@@ -73256,6 +73412,1766 @@ permission.install = permission_install;
73256
73412
 
73257
73413
 
73258
73414
  external_commonjs_vue_commonjs2_vue_root_Vue_default().use(Directive_permission);
73415
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
73416
+ function _extends() {
73417
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
73418
+ for (var e = 1; e < arguments.length; e++) {
73419
+ var t = arguments[e];
73420
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
73421
+ }
73422
+ return n;
73423
+ }, _extends.apply(null, arguments);
73424
+ }
73425
+
73426
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/bem.js
73427
+ /**
73428
+ * bem helper
73429
+ * b() // 'button'
73430
+ * b('text') // 'button__text'
73431
+ * b({ disabled }) // 'button button--disabled'
73432
+ * b('text', { disabled }) // 'button__text button__text--disabled'
73433
+ * b(['disabled', 'primary']) // 'button button--disabled button--primary'
73434
+ */
73435
+ function gen(name, mods) {
73436
+ if (!mods) {
73437
+ return '';
73438
+ }
73439
+
73440
+ if (typeof mods === 'string') {
73441
+ return " " + name + "--" + mods;
73442
+ }
73443
+
73444
+ if (Array.isArray(mods)) {
73445
+ return mods.reduce(function (ret, item) {
73446
+ return ret + gen(name, item);
73447
+ }, '');
73448
+ }
73449
+
73450
+ return Object.keys(mods).reduce(function (ret, key) {
73451
+ return ret + (mods[key] ? gen(name, key) : '');
73452
+ }, '');
73453
+ }
73454
+
73455
+ function createBEM(name) {
73456
+ return function (el, mods) {
73457
+ if (el && typeof el !== 'string') {
73458
+ mods = el;
73459
+ el = '';
73460
+ }
73461
+
73462
+ el = el ? name + "__" + el : name;
73463
+ return "" + el + gen(el, mods);
73464
+ };
73465
+ }
73466
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/index.js
73467
+
73468
+
73469
+
73470
+ var utils_inBrowser = typeof window !== 'undefined';
73471
+ var isServer = (external_commonjs_vue_commonjs2_vue_root_Vue_default()).prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function
73472
+
73473
+ function utils_noop() {}
73474
+ function isDef(val) {
73475
+ return val !== undefined && val !== null;
73476
+ }
73477
+ function utils_isFunction(val) {
73478
+ return typeof val === 'function';
73479
+ }
73480
+ function utils_isObject(val) {
73481
+ return val !== null && typeof val === 'object';
73482
+ }
73483
+ function isPromise(val) {
73484
+ return utils_isObject(val) && utils_isFunction(val.then) && utils_isFunction(val.catch);
73485
+ }
73486
+ function get(object, path) {
73487
+ var keys = path.split('.');
73488
+ var result = object;
73489
+ keys.forEach(function (key) {
73490
+ var _result$key;
73491
+
73492
+ result = utils_isObject(result) ? (_result$key = result[key]) != null ? _result$key : '' : '';
73493
+ });
73494
+ return result;
73495
+ }
73496
+ /**
73497
+ * Checks if `value` is an empty object, collection, map, or set.
73498
+ *
73499
+ * Objects are considered empty if they have no own enumerable string keyed
73500
+ * properties.
73501
+ *
73502
+ * Array-like values such as `arguments` objects, arrays, buffers, strings, or
73503
+ * jQuery-like collections are considered empty if they have a `length` of `0`.
73504
+ * Similarly, maps and sets are considered empty if they have a `size` of `0`.
73505
+ *
73506
+ * @function isEmpty
73507
+ * @param {*} value The value to check.
73508
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
73509
+ * @example
73510
+ *
73511
+ * _.isEmpty(null);
73512
+ * // => true
73513
+ *
73514
+ * _.isEmpty(true);
73515
+ * // => true
73516
+ *
73517
+ * _.isEmpty(1);
73518
+ * // => true
73519
+ *
73520
+ * _.isEmpty([1, 2, 3]);
73521
+ * // => false
73522
+ *
73523
+ * _.isEmpty({ 'a': 1 });
73524
+ * // => false
73525
+ */
73526
+
73527
+ function isEmpty(value) {
73528
+ if (value == null) {
73529
+ return true;
73530
+ }
73531
+
73532
+ if (typeof value !== 'object') {
73533
+ return true;
73534
+ }
73535
+
73536
+ return Object.keys(value).length === 0;
73537
+ }
73538
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/format/string.js
73539
+ var camelizeRE = /-(\w)/g;
73540
+ function camelize(str) {
73541
+ return str.replace(camelizeRE, function (_, c) {
73542
+ return c.toUpperCase();
73543
+ });
73544
+ }
73545
+ function padZero(num, targetLength) {
73546
+ if (targetLength === void 0) {
73547
+ targetLength = 2;
73548
+ }
73549
+
73550
+ var str = num + '';
73551
+
73552
+ while (str.length < targetLength) {
73553
+ str = '0' + str;
73554
+ }
73555
+
73556
+ return str;
73557
+ }
73558
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/slots.js
73559
+ /**
73560
+ * Use scopedSlots in Vue 2.6+
73561
+ * downgrade to slots in lower version
73562
+ */
73563
+ var SlotsMixin = {
73564
+ methods: {
73565
+ slots: function slots(name, props) {
73566
+ if (name === void 0) {
73567
+ name = 'default';
73568
+ }
73569
+
73570
+ var $slots = this.$slots,
73571
+ $scopedSlots = this.$scopedSlots;
73572
+ var scopedSlot = $scopedSlots[name];
73573
+
73574
+ if (scopedSlot) {
73575
+ return scopedSlot(props);
73576
+ }
73577
+
73578
+ return $slots[name];
73579
+ }
73580
+ }
73581
+ };
73582
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/component.js
73583
+ /**
73584
+ * Create a basic component with common options
73585
+ */
73586
+
73587
+
73588
+
73589
+
73590
+
73591
+
73592
+ function component_install(Vue) {
73593
+ var name = this.name;
73594
+ Vue.component(name, this);
73595
+ Vue.component(camelize("-" + name), this);
73596
+ } // unify slots & scopedSlots
73597
+
73598
+
73599
+ function unifySlots(context) {
73600
+ // use data.scopedSlots in lower Vue version
73601
+ var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};
73602
+ var slots = context.slots();
73603
+ Object.keys(slots).forEach(function (key) {
73604
+ if (!scopedSlots[key]) {
73605
+ scopedSlots[key] = function () {
73606
+ return slots[key];
73607
+ };
73608
+ }
73609
+ });
73610
+ return scopedSlots;
73611
+ } // should be removed after Vue 3
73612
+
73613
+ function transformFunctionComponent(pure) {
73614
+ return {
73615
+ functional: true,
73616
+ props: pure.props,
73617
+ model: pure.model,
73618
+ render: function render(h, context) {
73619
+ return pure(h, context.props, unifySlots(context), context);
73620
+ }
73621
+ };
73622
+ }
73623
+
73624
+ function createComponent(name) {
73625
+ return function (sfc) {
73626
+ if (utils_isFunction(sfc)) {
73627
+ sfc = transformFunctionComponent(sfc);
73628
+ }
73629
+
73630
+ if (!sfc.functional) {
73631
+ sfc.mixins = sfc.mixins || [];
73632
+ sfc.mixins.push(SlotsMixin);
73633
+ }
73634
+
73635
+ sfc.name = name;
73636
+ sfc.install = component_install;
73637
+ return sfc;
73638
+ };
73639
+ }
73640
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/deep-assign.js
73641
+
73642
+ var deep_assign_hasOwnProperty = Object.prototype.hasOwnProperty;
73643
+
73644
+ function assignKey(to, from, key) {
73645
+ var val = from[key];
73646
+
73647
+ if (!isDef(val)) {
73648
+ return;
73649
+ }
73650
+
73651
+ if (!deep_assign_hasOwnProperty.call(to, key) || !utils_isObject(val)) {
73652
+ to[key] = val;
73653
+ } else {
73654
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
73655
+ to[key] = deepAssign(Object(to[key]), from[key]);
73656
+ }
73657
+ }
73658
+
73659
+ function deepAssign(to, from) {
73660
+ Object.keys(from).forEach(function (key) {
73661
+ assignKey(to, from, key);
73662
+ });
73663
+ return to;
73664
+ }
73665
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/locale/lang/zh-CN.js
73666
+ /* harmony default export */ var zh_CN = ({
73667
+ name: '姓名',
73668
+ tel: '电话',
73669
+ save: '保存',
73670
+ confirm: '确认',
73671
+ cancel: '取消',
73672
+ delete: '删除',
73673
+ complete: '完成',
73674
+ loading: '加载中...',
73675
+ telEmpty: '请填写电话',
73676
+ nameEmpty: '请填写姓名',
73677
+ nameInvalid: '请输入正确的姓名',
73678
+ confirmDelete: '确定要删除吗',
73679
+ telInvalid: '请输入正确的手机号',
73680
+ vanCalendar: {
73681
+ end: '结束',
73682
+ start: '开始',
73683
+ title: '日期选择',
73684
+ confirm: '确定',
73685
+ startEnd: '开始/结束',
73686
+ weekdays: ['日', '一', '二', '三', '四', '五', '六'],
73687
+ monthTitle: function monthTitle(year, month) {
73688
+ return year + "\u5E74" + month + "\u6708";
73689
+ },
73690
+ rangePrompt: function rangePrompt(maxRange) {
73691
+ return "\u9009\u62E9\u5929\u6570\u4E0D\u80FD\u8D85\u8FC7 " + maxRange + " \u5929";
73692
+ }
73693
+ },
73694
+ vanCascader: {
73695
+ select: '请选择'
73696
+ },
73697
+ vanContactCard: {
73698
+ addText: '添加联系人'
73699
+ },
73700
+ vanContactList: {
73701
+ addText: '新建联系人'
73702
+ },
73703
+ vanPagination: {
73704
+ prev: '上一页',
73705
+ next: '下一页'
73706
+ },
73707
+ vanPullRefresh: {
73708
+ pulling: '下拉即可刷新...',
73709
+ loosing: '释放即可刷新...'
73710
+ },
73711
+ vanSubmitBar: {
73712
+ label: '合计:'
73713
+ },
73714
+ vanCoupon: {
73715
+ unlimited: '无使用门槛',
73716
+ discount: function discount(_discount) {
73717
+ return _discount + "\u6298";
73718
+ },
73719
+ condition: function condition(_condition) {
73720
+ return "\u6EE1" + _condition + "\u5143\u53EF\u7528";
73721
+ }
73722
+ },
73723
+ vanCouponCell: {
73724
+ title: '优惠券',
73725
+ tips: '暂无可用',
73726
+ count: function count(_count) {
73727
+ return _count + "\u5F20\u53EF\u7528";
73728
+ }
73729
+ },
73730
+ vanCouponList: {
73731
+ empty: '暂无优惠券',
73732
+ exchange: '兑换',
73733
+ close: '不使用优惠券',
73734
+ enable: '可用',
73735
+ disabled: '不可用',
73736
+ placeholder: '请输入优惠码'
73737
+ },
73738
+ vanAddressEdit: {
73739
+ area: '地区',
73740
+ postal: '邮政编码',
73741
+ areaEmpty: '请选择地区',
73742
+ addressEmpty: '请填写详细地址',
73743
+ postalEmpty: '邮政编码格式不正确',
73744
+ defaultAddress: '设为默认收货地址',
73745
+ telPlaceholder: '收货人手机号',
73746
+ namePlaceholder: '收货人姓名',
73747
+ areaPlaceholder: '选择省 / 市 / 区'
73748
+ },
73749
+ vanAddressEditDetail: {
73750
+ label: '详细地址',
73751
+ placeholder: '街道门牌、楼层房间号等信息'
73752
+ },
73753
+ vanAddressList: {
73754
+ add: '新增地址'
73755
+ }
73756
+ });
73757
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/locale/index.js
73758
+
73759
+
73760
+
73761
+ var proto = (external_commonjs_vue_commonjs2_vue_root_Vue_default()).prototype;
73762
+ var defineReactive = (external_commonjs_vue_commonjs2_vue_root_Vue_default()).util.defineReactive;
73763
+ defineReactive(proto, '$vantLang', 'zh-CN');
73764
+ defineReactive(proto, '$vantMessages', {
73765
+ 'zh-CN': zh_CN
73766
+ });
73767
+ /* harmony default export */ var locale = ({
73768
+ messages: function messages() {
73769
+ return proto.$vantMessages[proto.$vantLang];
73770
+ },
73771
+ use: function use(lang, messages) {
73772
+ var _this$add;
73773
+
73774
+ proto.$vantLang = lang;
73775
+ this.add((_this$add = {}, _this$add[lang] = messages, _this$add));
73776
+ },
73777
+ add: function add(messages) {
73778
+ if (messages === void 0) {
73779
+ messages = {};
73780
+ }
73781
+
73782
+ deepAssign(proto.$vantMessages, messages);
73783
+ }
73784
+ });
73785
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/i18n.js
73786
+
73787
+
73788
+
73789
+ function createI18N(name) {
73790
+ var prefix = camelize(name) + '.';
73791
+ return function (path) {
73792
+ var messages = locale.messages();
73793
+ var message = get(messages, prefix + path) || get(messages, path);
73794
+
73795
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
73796
+ args[_key - 1] = arguments[_key];
73797
+ }
73798
+
73799
+ return utils_isFunction(message) ? message.apply(void 0, args) : message;
73800
+ };
73801
+ }
73802
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/index.js
73803
+
73804
+
73805
+
73806
+ function createNamespace(name) {
73807
+ name = 'van-' + name;
73808
+ return [createComponent(name), createBEM(name), createI18N(name)];
73809
+ }
73810
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/toast/lock-click.js
73811
+ var lockCount = 0;
73812
+ function lockClick(lock) {
73813
+ if (lock) {
73814
+ if (!lockCount) {
73815
+ document.body.classList.add('van-toast--unclickable');
73816
+ }
73817
+
73818
+ lockCount++;
73819
+ } else {
73820
+ lockCount--;
73821
+
73822
+ if (!lockCount) {
73823
+ document.body.classList.remove('van-toast--unclickable');
73824
+ }
73825
+ }
73826
+ }
73827
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/popup/context.js
73828
+ var context = {
73829
+ zIndex: 2000,
73830
+ lockCount: 0,
73831
+ stack: [],
73832
+ find: function find(vm) {
73833
+ return this.stack.filter(function (item) {
73834
+ return item.vm === vm;
73835
+ })[0];
73836
+ },
73837
+ remove: function remove(vm) {
73838
+ var item = this.find(vm);
73839
+ if (!item) return;
73840
+ item.vm = null;
73841
+ item.overlay = null;
73842
+ var index = this.stack.indexOf(item);
73843
+ this.stack.splice(index, 1);
73844
+ }
73845
+ };
73846
+ // EXTERNAL MODULE: ./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js
73847
+ var helper = __webpack_require__(7499);
73848
+ var helper_default = /*#__PURE__*/__webpack_require__.n(helper);
73849
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/functional.js
73850
+
73851
+
73852
+ var inheritKey = ['ref', 'key', 'style', 'class', 'attrs', 'refInFor', 'nativeOn', 'directives', 'staticClass', 'staticStyle'];
73853
+ var mapInheritKey = {
73854
+ nativeOn: 'on'
73855
+ }; // inherit partial context, map nativeOn to on
73856
+
73857
+ function inherit(context, inheritListeners) {
73858
+ var result = inheritKey.reduce(function (obj, key) {
73859
+ if (context.data[key]) {
73860
+ obj[mapInheritKey[key] || key] = context.data[key];
73861
+ }
73862
+
73863
+ return obj;
73864
+ }, {});
73865
+
73866
+ if (inheritListeners) {
73867
+ result.on = result.on || {};
73868
+
73869
+ _extends(result.on, context.data.on);
73870
+ }
73871
+
73872
+ return result;
73873
+ } // emit event
73874
+
73875
+ function emit(context, eventName) {
73876
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
73877
+ args[_key - 2] = arguments[_key];
73878
+ }
73879
+
73880
+ var listeners = context.listeners[eventName];
73881
+
73882
+ if (listeners) {
73883
+ if (Array.isArray(listeners)) {
73884
+ listeners.forEach(function (listener) {
73885
+ listener.apply(void 0, args);
73886
+ });
73887
+ } else {
73888
+ listeners.apply(void 0, args);
73889
+ }
73890
+ }
73891
+ } // mount functional component
73892
+
73893
+ function mount(Component, data) {
73894
+ var instance = new (external_commonjs_vue_commonjs2_vue_root_Vue_default())({
73895
+ el: document.createElement('div'),
73896
+ props: Component.props,
73897
+ render: function render(h) {
73898
+ return h(Component, _extends({
73899
+ props: this.$props
73900
+ }, data));
73901
+ }
73902
+ });
73903
+ document.body.appendChild(instance.$el);
73904
+ return instance;
73905
+ }
73906
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/dom/event.js
73907
+
73908
+ // eslint-disable-next-line import/no-mutable-exports
73909
+ var supportsPassive = false;
73910
+
73911
+ if (!isServer) {
73912
+ try {
73913
+ var opts = {};
73914
+ Object.defineProperty(opts, 'passive', {
73915
+ // eslint-disable-next-line getter-return
73916
+ get: function get() {
73917
+ /* istanbul ignore next */
73918
+ supportsPassive = true;
73919
+ }
73920
+ });
73921
+ window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty
73922
+ } catch (e) {}
73923
+ }
73924
+
73925
+ function on(target, event, handler, passive) {
73926
+ if (passive === void 0) {
73927
+ passive = false;
73928
+ }
73929
+
73930
+ if (!isServer) {
73931
+ target.addEventListener(event, handler, supportsPassive ? {
73932
+ capture: false,
73933
+ passive: passive
73934
+ } : false);
73935
+ }
73936
+ }
73937
+ function off(target, event, handler) {
73938
+ if (!isServer) {
73939
+ target.removeEventListener(event, handler);
73940
+ }
73941
+ }
73942
+ function stopPropagation(event) {
73943
+ event.stopPropagation();
73944
+ }
73945
+ function preventDefault(event, isStopPropagation) {
73946
+ /* istanbul ignore else */
73947
+ if (typeof event.cancelable !== 'boolean' || event.cancelable) {
73948
+ event.preventDefault();
73949
+ }
73950
+
73951
+ if (isStopPropagation) {
73952
+ stopPropagation(event);
73953
+ }
73954
+ }
73955
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/overlay/index.js
73956
+
73957
+
73958
+ // Utils
73959
+
73960
+
73961
+ // Types
73962
+
73963
+ var _createNamespace = createNamespace('overlay'),
73964
+ overlay_createComponent = _createNamespace[0],
73965
+ bem = _createNamespace[1];
73966
+
73967
+ function preventTouchMove(event) {
73968
+ preventDefault(event, true);
73969
+ }
73970
+
73971
+ function Overlay(h, props, slots, ctx) {
73972
+ var style = _extends({
73973
+ zIndex: props.zIndex
73974
+ }, props.customStyle);
73975
+
73976
+ if (isDef(props.duration)) {
73977
+ style.animationDuration = props.duration + "s";
73978
+ }
73979
+
73980
+ return h("transition", {
73981
+ "attrs": {
73982
+ "name": "van-fade"
73983
+ }
73984
+ }, [h("div", helper_default()([{
73985
+ "directives": [{
73986
+ name: "show",
73987
+ value: props.show
73988
+ }],
73989
+ "style": style,
73990
+ "class": [bem(), props.className],
73991
+ "on": {
73992
+ "touchmove": props.lockScroll ? preventTouchMove : utils_noop
73993
+ }
73994
+ }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default()])]);
73995
+ }
73996
+
73997
+ Overlay.props = {
73998
+ show: Boolean,
73999
+ zIndex: [Number, String],
74000
+ duration: [Number, String],
74001
+ className: null,
74002
+ customStyle: Object,
74003
+ lockScroll: {
74004
+ type: Boolean,
74005
+ default: true
74006
+ }
74007
+ };
74008
+ /* harmony default export */ var overlay = (overlay_createComponent(Overlay));
74009
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/dom/node.js
74010
+ function removeNode(el) {
74011
+ var parent = el.parentNode;
74012
+
74013
+ if (parent) {
74014
+ parent.removeChild(el);
74015
+ }
74016
+ }
74017
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/popup/overlay.js
74018
+
74019
+
74020
+
74021
+
74022
+
74023
+ var defaultConfig = {
74024
+ className: '',
74025
+ customStyle: {}
74026
+ };
74027
+
74028
+ function mountOverlay(vm) {
74029
+ return mount(overlay, {
74030
+ on: {
74031
+ // close popup when overlay clicked & closeOnClickOverlay is true
74032
+ click: function click() {
74033
+ vm.$emit('click-overlay');
74034
+
74035
+ if (vm.closeOnClickOverlay) {
74036
+ if (vm.onClickOverlay) {
74037
+ vm.onClickOverlay();
74038
+ } else {
74039
+ vm.close();
74040
+ }
74041
+ }
74042
+ }
74043
+ }
74044
+ });
74045
+ }
74046
+
74047
+ function updateOverlay(vm) {
74048
+ var item = context.find(vm);
74049
+
74050
+ if (item) {
74051
+ var el = vm.$el;
74052
+ var config = item.config,
74053
+ overlay = item.overlay;
74054
+
74055
+ if (el && el.parentNode) {
74056
+ el.parentNode.insertBefore(overlay.$el, el);
74057
+ }
74058
+
74059
+ _extends(overlay, defaultConfig, config, {
74060
+ show: true
74061
+ });
74062
+ }
74063
+ }
74064
+ function openOverlay(vm, config) {
74065
+ var item = context.find(vm);
74066
+
74067
+ if (item) {
74068
+ item.config = config;
74069
+ } else {
74070
+ var overlay = mountOverlay(vm);
74071
+ context.stack.push({
74072
+ vm: vm,
74073
+ config: config,
74074
+ overlay: overlay
74075
+ });
74076
+ }
74077
+
74078
+ updateOverlay(vm);
74079
+ }
74080
+ function closeOverlay(vm) {
74081
+ var item = context.find(vm);
74082
+
74083
+ if (item) {
74084
+ item.overlay.show = false;
74085
+ }
74086
+ }
74087
+ function removeOverlay(vm) {
74088
+ var item = context.find(vm);
74089
+
74090
+ if (item) {
74091
+ removeNode(item.overlay.$el);
74092
+ context.remove(vm);
74093
+ }
74094
+ }
74095
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/dom/scroll.js
74096
+ function isWindow(val) {
74097
+ return val === window;
74098
+ } // get nearest scroll element
74099
+ // https://github.com/vant-ui/vant/issues/3823
74100
+
74101
+
74102
+ var overflowScrollReg = /scroll|auto|overlay/i;
74103
+ function getScroller(el, root) {
74104
+ if (root === void 0) {
74105
+ root = window;
74106
+ }
74107
+
74108
+ var node = el;
74109
+
74110
+ while (node && node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === 1 && node !== root) {
74111
+ var _window$getComputedSt = window.getComputedStyle(node),
74112
+ overflowY = _window$getComputedSt.overflowY;
74113
+
74114
+ if (overflowScrollReg.test(overflowY)) {
74115
+ return node;
74116
+ }
74117
+
74118
+ node = node.parentNode;
74119
+ }
74120
+
74121
+ return root;
74122
+ }
74123
+ function getScrollTop(el) {
74124
+ var top = 'scrollTop' in el ? el.scrollTop : el.pageYOffset; // iOS scroll bounce cause minus scrollTop
74125
+
74126
+ return Math.max(top, 0);
74127
+ }
74128
+ function setScrollTop(el, value) {
74129
+ if ('scrollTop' in el) {
74130
+ el.scrollTop = value;
74131
+ } else {
74132
+ el.scrollTo(el.scrollX, value);
74133
+ }
74134
+ }
74135
+ function getRootScrollTop() {
74136
+ return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
74137
+ }
74138
+ function setRootScrollTop(value) {
74139
+ setScrollTop(window, value);
74140
+ setScrollTop(document.body, value);
74141
+ } // get distance from element top to page top or scroller top
74142
+
74143
+ function getElementTop(el, scroller) {
74144
+ if (isWindow(el)) {
74145
+ return 0;
74146
+ }
74147
+
74148
+ var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();
74149
+ return el.getBoundingClientRect().top + scrollTop;
74150
+ }
74151
+ function getVisibleHeight(el) {
74152
+ if (isWindow(el)) {
74153
+ return el.innerHeight;
74154
+ }
74155
+
74156
+ return el.getBoundingClientRect().height;
74157
+ }
74158
+ function getVisibleTop(el) {
74159
+ if (isWindow(el)) {
74160
+ return 0;
74161
+ }
74162
+
74163
+ return el.getBoundingClientRect().top;
74164
+ }
74165
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/touch.js
74166
+
74167
+
74168
+ function getDirection(x, y) {
74169
+ if (x > y) {
74170
+ return 'horizontal';
74171
+ }
74172
+
74173
+ if (y > x) {
74174
+ return 'vertical';
74175
+ }
74176
+
74177
+ return '';
74178
+ }
74179
+
74180
+ var TouchMixin = {
74181
+ data: function data() {
74182
+ return {
74183
+ direction: ''
74184
+ };
74185
+ },
74186
+ methods: {
74187
+ touchStart: function touchStart(event) {
74188
+ this.resetTouchStatus();
74189
+ this.startX = event.touches[0].clientX;
74190
+ this.startY = event.touches[0].clientY;
74191
+ },
74192
+ touchMove: function touchMove(event) {
74193
+ var touch = event.touches[0]; // safari back will set clientX to negative number
74194
+
74195
+ this.deltaX = touch.clientX < 0 ? 0 : touch.clientX - this.startX;
74196
+ this.deltaY = touch.clientY - this.startY;
74197
+ this.offsetX = Math.abs(this.deltaX);
74198
+ this.offsetY = Math.abs(this.deltaY); // lock direction when distance is greater than a certain value
74199
+
74200
+ var LOCK_DIRECTION_DISTANCE = 10;
74201
+
74202
+ if (!this.direction || this.offsetX < LOCK_DIRECTION_DISTANCE && this.offsetY < LOCK_DIRECTION_DISTANCE) {
74203
+ this.direction = getDirection(this.offsetX, this.offsetY);
74204
+ }
74205
+ },
74206
+ resetTouchStatus: function resetTouchStatus() {
74207
+ this.direction = '';
74208
+ this.deltaX = 0;
74209
+ this.deltaY = 0;
74210
+ this.offsetX = 0;
74211
+ this.offsetY = 0;
74212
+ },
74213
+ // avoid Vue 2.6 event bubble issues by manually binding events
74214
+ // https://github.com/vant-ui/vant/issues/3015
74215
+ bindTouchEvent: function bindTouchEvent(el) {
74216
+ var onTouchStart = this.onTouchStart,
74217
+ onTouchMove = this.onTouchMove,
74218
+ onTouchEnd = this.onTouchEnd;
74219
+ on(el, 'touchstart', onTouchStart);
74220
+ on(el, 'touchmove', onTouchMove);
74221
+
74222
+ if (onTouchEnd) {
74223
+ on(el, 'touchend', onTouchEnd);
74224
+ on(el, 'touchcancel', onTouchEnd);
74225
+ }
74226
+ }
74227
+ }
74228
+ };
74229
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/portal.js
74230
+ function getElement(selector) {
74231
+ if (typeof selector === 'string') {
74232
+ return document.querySelector(selector);
74233
+ }
74234
+
74235
+ return selector();
74236
+ }
74237
+
74238
+ function PortalMixin(_temp) {
74239
+ var _ref = _temp === void 0 ? {} : _temp,
74240
+ ref = _ref.ref,
74241
+ afterPortal = _ref.afterPortal;
74242
+
74243
+ return {
74244
+ props: {
74245
+ getContainer: [String, Function]
74246
+ },
74247
+ watch: {
74248
+ getContainer: 'portal'
74249
+ },
74250
+ mounted: function mounted() {
74251
+ if (this.getContainer) {
74252
+ this.portal();
74253
+ }
74254
+ },
74255
+ methods: {
74256
+ portal: function portal() {
74257
+ var getContainer = this.getContainer;
74258
+ var el = ref ? this.$refs[ref] : this.$el;
74259
+ var container;
74260
+
74261
+ if (getContainer) {
74262
+ container = getElement(getContainer);
74263
+ } else if (this.$parent) {
74264
+ container = this.$parent.$el;
74265
+ }
74266
+
74267
+ if (container && container !== el.parentNode) {
74268
+ container.appendChild(el);
74269
+ }
74270
+
74271
+ if (afterPortal) {
74272
+ afterPortal.call(this);
74273
+ }
74274
+ }
74275
+ }
74276
+ };
74277
+ }
74278
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/bind-event.js
74279
+ /**
74280
+ * Bind event when mounted or activated
74281
+ */
74282
+
74283
+ var uid = 0;
74284
+ function BindEventMixin(handler) {
74285
+ var key = "binded_" + uid++;
74286
+
74287
+ function bind() {
74288
+ if (!this[key]) {
74289
+ handler.call(this, on, true);
74290
+ this[key] = true;
74291
+ }
74292
+ }
74293
+
74294
+ function unbind() {
74295
+ if (this[key]) {
74296
+ handler.call(this, off, false);
74297
+ this[key] = false;
74298
+ }
74299
+ }
74300
+
74301
+ return {
74302
+ mounted: bind,
74303
+ activated: bind,
74304
+ deactivated: unbind,
74305
+ beforeDestroy: unbind
74306
+ };
74307
+ }
74308
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/close-on-popstate.js
74309
+
74310
+
74311
+ var CloseOnPopstateMixin = {
74312
+ mixins: [BindEventMixin(function (bind, isBind) {
74313
+ this.handlePopstate(isBind && this.closeOnPopstate);
74314
+ })],
74315
+ props: {
74316
+ closeOnPopstate: Boolean
74317
+ },
74318
+ data: function data() {
74319
+ return {
74320
+ bindStatus: false
74321
+ };
74322
+ },
74323
+ watch: {
74324
+ closeOnPopstate: function closeOnPopstate(val) {
74325
+ this.handlePopstate(val);
74326
+ }
74327
+ },
74328
+ methods: {
74329
+ onPopstate: function onPopstate() {
74330
+ this.close();
74331
+ this.shouldReopen = false;
74332
+ },
74333
+ handlePopstate: function handlePopstate(bind) {
74334
+ /* istanbul ignore if */
74335
+ if (this.$isServer) {
74336
+ return;
74337
+ }
74338
+
74339
+ if (this.bindStatus !== bind) {
74340
+ this.bindStatus = bind;
74341
+ var action = bind ? on : off;
74342
+ action(window, 'popstate', this.onPopstate);
74343
+ }
74344
+ }
74345
+ }
74346
+ };
74347
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/popup/index.js
74348
+ // Context
74349
+
74350
+ // Utils
74351
+
74352
+
74353
+
74354
+ // Mixins
74355
+
74356
+
74357
+
74358
+
74359
+ var popupMixinProps = {
74360
+ // Initial rendering animation
74361
+ transitionAppear: Boolean,
74362
+ // whether to show popup
74363
+ value: Boolean,
74364
+ // whether to show overlay
74365
+ overlay: Boolean,
74366
+ // overlay custom style
74367
+ overlayStyle: Object,
74368
+ // overlay custom class name
74369
+ overlayClass: String,
74370
+ // whether to close popup when overlay is clicked
74371
+ closeOnClickOverlay: Boolean,
74372
+ // z-index
74373
+ zIndex: [Number, String],
74374
+ // prevent body scroll
74375
+ lockScroll: {
74376
+ type: Boolean,
74377
+ default: true
74378
+ },
74379
+ // whether to lazy render
74380
+ lazyRender: {
74381
+ type: Boolean,
74382
+ default: true
74383
+ }
74384
+ };
74385
+ function PopupMixin(options) {
74386
+ if (options === void 0) {
74387
+ options = {};
74388
+ }
74389
+
74390
+ return {
74391
+ mixins: [TouchMixin, CloseOnPopstateMixin, PortalMixin({
74392
+ afterPortal: function afterPortal() {
74393
+ if (this.overlay) {
74394
+ updateOverlay();
74395
+ }
74396
+ }
74397
+ })],
74398
+ provide: function provide() {
74399
+ return {
74400
+ vanPopup: this
74401
+ };
74402
+ },
74403
+ props: popupMixinProps,
74404
+ data: function data() {
74405
+ this.onReopenCallback = [];
74406
+ return {
74407
+ inited: this.value
74408
+ };
74409
+ },
74410
+ computed: {
74411
+ shouldRender: function shouldRender() {
74412
+ return this.inited || !this.lazyRender;
74413
+ }
74414
+ },
74415
+ watch: {
74416
+ value: function value(val) {
74417
+ var type = val ? 'open' : 'close';
74418
+ this.inited = this.inited || this.value;
74419
+ this[type]();
74420
+
74421
+ if (!options.skipToggleEvent) {
74422
+ this.$emit(type);
74423
+ }
74424
+ },
74425
+ overlay: 'renderOverlay'
74426
+ },
74427
+ mounted: function mounted() {
74428
+ if (this.value) {
74429
+ this.open();
74430
+ }
74431
+ },
74432
+
74433
+ /* istanbul ignore next */
74434
+ activated: function activated() {
74435
+ if (this.shouldReopen) {
74436
+ this.$emit('input', true);
74437
+ this.shouldReopen = false;
74438
+ }
74439
+ },
74440
+ beforeDestroy: function beforeDestroy() {
74441
+ removeOverlay(this);
74442
+
74443
+ if (this.opened) {
74444
+ this.removeLock();
74445
+ }
74446
+
74447
+ if (this.getContainer) {
74448
+ removeNode(this.$el);
74449
+ }
74450
+ },
74451
+
74452
+ /* istanbul ignore next */
74453
+ deactivated: function deactivated() {
74454
+ if (this.value) {
74455
+ this.close();
74456
+ this.shouldReopen = true;
74457
+ }
74458
+ },
74459
+ methods: {
74460
+ open: function open() {
74461
+ /* istanbul ignore next */
74462
+ if (this.$isServer || this.opened) {
74463
+ return;
74464
+ } // cover default zIndex
74465
+
74466
+
74467
+ if (this.zIndex !== undefined) {
74468
+ context.zIndex = this.zIndex;
74469
+ }
74470
+
74471
+ this.opened = true;
74472
+ this.renderOverlay();
74473
+ this.addLock();
74474
+ this.onReopenCallback.forEach(function (callback) {
74475
+ callback();
74476
+ });
74477
+ },
74478
+ addLock: function addLock() {
74479
+ if (this.lockScroll) {
74480
+ on(document, 'touchstart', this.touchStart);
74481
+ on(document, 'touchmove', this.onTouchMove);
74482
+
74483
+ if (!context.lockCount) {
74484
+ document.body.classList.add('van-overflow-hidden');
74485
+ }
74486
+
74487
+ context.lockCount++;
74488
+ }
74489
+ },
74490
+ removeLock: function removeLock() {
74491
+ if (this.lockScroll && context.lockCount) {
74492
+ context.lockCount--;
74493
+ off(document, 'touchstart', this.touchStart);
74494
+ off(document, 'touchmove', this.onTouchMove);
74495
+
74496
+ if (!context.lockCount) {
74497
+ document.body.classList.remove('van-overflow-hidden');
74498
+ }
74499
+ }
74500
+ },
74501
+ close: function close() {
74502
+ if (!this.opened) {
74503
+ return;
74504
+ }
74505
+
74506
+ closeOverlay(this);
74507
+ this.opened = false;
74508
+ this.removeLock();
74509
+ this.$emit('input', false);
74510
+ },
74511
+ onTouchMove: function onTouchMove(event) {
74512
+ this.touchMove(event);
74513
+ var direction = this.deltaY > 0 ? '10' : '01';
74514
+ var el = getScroller(event.target, this.$el);
74515
+ var scrollHeight = el.scrollHeight,
74516
+ offsetHeight = el.offsetHeight,
74517
+ scrollTop = el.scrollTop;
74518
+ var status = '11';
74519
+ /* istanbul ignore next */
74520
+
74521
+ if (scrollTop === 0) {
74522
+ status = offsetHeight >= scrollHeight ? '00' : '01';
74523
+ } else if (scrollTop + offsetHeight >= scrollHeight) {
74524
+ status = '10';
74525
+ }
74526
+ /* istanbul ignore next */
74527
+
74528
+
74529
+ if (status !== '11' && this.direction === 'vertical' && !(parseInt(status, 2) & parseInt(direction, 2))) {
74530
+ preventDefault(event, true);
74531
+ }
74532
+ },
74533
+ renderOverlay: function renderOverlay() {
74534
+ var _this = this;
74535
+
74536
+ if (this.$isServer || !this.value) {
74537
+ return;
74538
+ }
74539
+
74540
+ this.$nextTick(function () {
74541
+ _this.updateZIndex(_this.overlay ? 1 : 0);
74542
+
74543
+ if (_this.overlay) {
74544
+ openOverlay(_this, {
74545
+ zIndex: context.zIndex++,
74546
+ duration: _this.duration,
74547
+ className: _this.overlayClass,
74548
+ customStyle: _this.overlayStyle
74549
+ });
74550
+ } else {
74551
+ closeOverlay(_this);
74552
+ }
74553
+ });
74554
+ },
74555
+ updateZIndex: function updateZIndex(value) {
74556
+ if (value === void 0) {
74557
+ value = 0;
74558
+ }
74559
+
74560
+ this.$el.style.zIndex = ++context.zIndex + value;
74561
+ },
74562
+ onReopen: function onReopen(callback) {
74563
+ this.onReopenCallback.push(callback);
74564
+ }
74565
+ }
74566
+ };
74567
+ }
74568
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/validate/number.js
74569
+ function isNumeric(val) {
74570
+ return /^\d+(\.\d+)?$/.test(val);
74571
+ }
74572
+ function number_isNaN(val) {
74573
+ if (Number.isNaN) {
74574
+ return Number.isNaN(val);
74575
+ } // eslint-disable-next-line no-self-compare
74576
+
74577
+
74578
+ return val !== val;
74579
+ }
74580
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/format/unit.js
74581
+
74582
+
74583
+ function addUnit(value) {
74584
+ if (!isDef(value)) {
74585
+ return undefined;
74586
+ }
74587
+
74588
+ value = String(value);
74589
+ return isNumeric(value) ? value + "px" : value;
74590
+ } // cache
74591
+
74592
+ var rootFontSize;
74593
+
74594
+ function getRootFontSize() {
74595
+ if (!rootFontSize) {
74596
+ var doc = document.documentElement;
74597
+ var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;
74598
+ rootFontSize = parseFloat(fontSize);
74599
+ }
74600
+
74601
+ return rootFontSize;
74602
+ }
74603
+
74604
+ function convertRem(value) {
74605
+ value = value.replace(/rem/g, '');
74606
+ return +value * getRootFontSize();
74607
+ }
74608
+
74609
+ function convertVw(value) {
74610
+ value = value.replace(/vw/g, '');
74611
+ return +value * window.innerWidth / 100;
74612
+ }
74613
+
74614
+ function convertVh(value) {
74615
+ value = value.replace(/vh/g, '');
74616
+ return +value * window.innerHeight / 100;
74617
+ }
74618
+
74619
+ function unitToPx(value) {
74620
+ if (typeof value === 'number') {
74621
+ return value;
74622
+ }
74623
+
74624
+ if (inBrowser) {
74625
+ if (value.indexOf('rem') !== -1) {
74626
+ return convertRem(value);
74627
+ }
74628
+
74629
+ if (value.indexOf('vw') !== -1) {
74630
+ return convertVw(value);
74631
+ }
74632
+
74633
+ if (value.indexOf('vh') !== -1) {
74634
+ return convertVh(value);
74635
+ }
74636
+ }
74637
+
74638
+ return parseFloat(value);
74639
+ }
74640
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/info/index.js
74641
+
74642
+ // Utils
74643
+
74644
+ // Types
74645
+
74646
+ var info_createNamespace = createNamespace('info'),
74647
+ info_createComponent = info_createNamespace[0],
74648
+ info_bem = info_createNamespace[1];
74649
+
74650
+ function Info(h, props, slots, ctx) {
74651
+ var dot = props.dot,
74652
+ info = props.info;
74653
+ var showInfo = isDef(info) && info !== '';
74654
+
74655
+ if (!dot && !showInfo) {
74656
+ return;
74657
+ }
74658
+
74659
+ return h("div", helper_default()([{
74660
+ "class": info_bem({
74661
+ dot: dot
74662
+ })
74663
+ }, inherit(ctx, true)]), [dot ? '' : props.info]);
74664
+ }
74665
+
74666
+ Info.props = {
74667
+ dot: Boolean,
74668
+ info: [Number, String]
74669
+ };
74670
+ /* harmony default export */ var info = (info_createComponent(Info));
74671
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/icon/index.js
74672
+
74673
+ // Utils
74674
+
74675
+ // Components
74676
+
74677
+ // Types
74678
+
74679
+ var icon_createNamespace = createNamespace('icon'),
74680
+ icon_createComponent = icon_createNamespace[0],
74681
+ icon_bem = icon_createNamespace[1];
74682
+
74683
+ function isImage(name) {
74684
+ return name ? name.indexOf('/') !== -1 : false;
74685
+ } // compatible with legacy usage, should be removed in next major version
74686
+
74687
+
74688
+ var LEGACY_MAP = {
74689
+ medel: 'medal',
74690
+ 'medel-o': 'medal-o',
74691
+ 'calender-o': 'calendar-o'
74692
+ };
74693
+
74694
+ function correctName(name) {
74695
+ return name && LEGACY_MAP[name] || name;
74696
+ }
74697
+
74698
+ function Icon(h, props, slots, ctx) {
74699
+ var _props$badge;
74700
+
74701
+ var name = correctName(props.name);
74702
+ var imageIcon = isImage(name);
74703
+
74704
+ if (false) {}
74705
+
74706
+ return h(props.tag, helper_default()([{
74707
+ "class": [props.classPrefix, imageIcon ? '' : props.classPrefix + "-" + name],
74708
+ "style": {
74709
+ color: props.color,
74710
+ fontSize: addUnit(props.size)
74711
+ }
74712
+ }, inherit(ctx, true)]), [slots.default && slots.default(), imageIcon && h("img", {
74713
+ "class": icon_bem('image'),
74714
+ "attrs": {
74715
+ "src": name
74716
+ }
74717
+ }), h(info, {
74718
+ "attrs": {
74719
+ "dot": props.dot,
74720
+ "info": (_props$badge = props.badge) != null ? _props$badge : props.info
74721
+ }
74722
+ })]);
74723
+ }
74724
+
74725
+ Icon.props = {
74726
+ dot: Boolean,
74727
+ name: String,
74728
+ size: [Number, String],
74729
+ // @deprecated
74730
+ // should be removed in next major version
74731
+ info: [Number, String],
74732
+ badge: [Number, String],
74733
+ color: String,
74734
+ tag: {
74735
+ type: String,
74736
+ default: 'i'
74737
+ },
74738
+ classPrefix: {
74739
+ type: String,
74740
+ default: icon_bem()
74741
+ }
74742
+ };
74743
+ /* harmony default export */ var es_icon = (icon_createComponent(Icon));
74744
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/loading/index.js
74745
+
74746
+ // Utils
74747
+
74748
+ // Types
74749
+
74750
+ var loading_createNamespace = createNamespace('loading'),
74751
+ loading_createComponent = loading_createNamespace[0],
74752
+ loading_bem = loading_createNamespace[1];
74753
+
74754
+ function LoadingIcon(h, props) {
74755
+ if (props.type === 'spinner') {
74756
+ var Spin = [];
74757
+
74758
+ for (var i = 0; i < 12; i++) {
74759
+ Spin.push(h("i"));
74760
+ }
74761
+
74762
+ return Spin;
74763
+ }
74764
+
74765
+ return h("svg", {
74766
+ "class": loading_bem('circular'),
74767
+ "attrs": {
74768
+ "viewBox": "25 25 50 50"
74769
+ }
74770
+ }, [h("circle", {
74771
+ "attrs": {
74772
+ "cx": "50",
74773
+ "cy": "50",
74774
+ "r": "20",
74775
+ "fill": "none"
74776
+ }
74777
+ })]);
74778
+ }
74779
+
74780
+ function LoadingText(h, props, slots) {
74781
+ if (slots.default) {
74782
+ var _props$textColor;
74783
+
74784
+ var style = {
74785
+ fontSize: addUnit(props.textSize),
74786
+ color: (_props$textColor = props.textColor) != null ? _props$textColor : props.color
74787
+ };
74788
+ return h("span", {
74789
+ "class": loading_bem('text'),
74790
+ "style": style
74791
+ }, [slots.default()]);
74792
+ }
74793
+ }
74794
+
74795
+ function Loading(h, props, slots, ctx) {
74796
+ var color = props.color,
74797
+ size = props.size,
74798
+ type = props.type;
74799
+ var style = {
74800
+ color: color
74801
+ };
74802
+
74803
+ if (size) {
74804
+ var iconSize = addUnit(size);
74805
+ style.width = iconSize;
74806
+ style.height = iconSize;
74807
+ }
74808
+
74809
+ return h("div", helper_default()([{
74810
+ "class": loading_bem([type, {
74811
+ vertical: props.vertical
74812
+ }])
74813
+ }, inherit(ctx, true)]), [h("span", {
74814
+ "class": loading_bem('spinner', type),
74815
+ "style": style
74816
+ }, [LoadingIcon(h, props)]), LoadingText(h, props, slots)]);
74817
+ }
74818
+
74819
+ Loading.props = {
74820
+ color: String,
74821
+ size: [Number, String],
74822
+ vertical: Boolean,
74823
+ textSize: [Number, String],
74824
+ textColor: String,
74825
+ type: {
74826
+ type: String,
74827
+ default: 'circular'
74828
+ }
74829
+ };
74830
+ /* harmony default export */ var loading = (loading_createComponent(Loading));
74831
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/toast/Toast.js
74832
+ // Utils
74833
+
74834
+ // Mixins
74835
+
74836
+ // Components
74837
+
74838
+
74839
+
74840
+
74841
+ var Toast_createNamespace = createNamespace('toast'),
74842
+ Toast_createComponent = Toast_createNamespace[0],
74843
+ Toast_bem = Toast_createNamespace[1];
74844
+
74845
+ /* harmony default export */ var Toast = (Toast_createComponent({
74846
+ mixins: [PopupMixin()],
74847
+ props: {
74848
+ icon: String,
74849
+ className: null,
74850
+ iconPrefix: String,
74851
+ loadingType: String,
74852
+ forbidClick: Boolean,
74853
+ closeOnClick: Boolean,
74854
+ message: [Number, String],
74855
+ type: {
74856
+ type: String,
74857
+ default: 'text'
74858
+ },
74859
+ position: {
74860
+ type: String,
74861
+ default: 'middle'
74862
+ },
74863
+ transition: {
74864
+ type: String,
74865
+ default: 'van-fade'
74866
+ },
74867
+ lockScroll: {
74868
+ type: Boolean,
74869
+ default: false
74870
+ }
74871
+ },
74872
+ data: function data() {
74873
+ return {
74874
+ clickable: false
74875
+ };
74876
+ },
74877
+ mounted: function mounted() {
74878
+ this.toggleClickable();
74879
+ },
74880
+ destroyed: function destroyed() {
74881
+ this.toggleClickable();
74882
+ },
74883
+ watch: {
74884
+ value: 'toggleClickable',
74885
+ forbidClick: 'toggleClickable'
74886
+ },
74887
+ methods: {
74888
+ onClick: function onClick() {
74889
+ if (this.closeOnClick) {
74890
+ this.close();
74891
+ }
74892
+ },
74893
+ toggleClickable: function toggleClickable() {
74894
+ var clickable = this.value && this.forbidClick;
74895
+
74896
+ if (this.clickable !== clickable) {
74897
+ this.clickable = clickable;
74898
+ lockClick(clickable);
74899
+ }
74900
+ },
74901
+
74902
+ /* istanbul ignore next */
74903
+ onAfterEnter: function onAfterEnter() {
74904
+ this.$emit('opened');
74905
+
74906
+ if (this.onOpened) {
74907
+ this.onOpened();
74908
+ }
74909
+ },
74910
+ onAfterLeave: function onAfterLeave() {
74911
+ this.$emit('closed');
74912
+ },
74913
+ genIcon: function genIcon() {
74914
+ var h = this.$createElement;
74915
+ var icon = this.icon,
74916
+ type = this.type,
74917
+ iconPrefix = this.iconPrefix,
74918
+ loadingType = this.loadingType;
74919
+ var hasIcon = icon || type === 'success' || type === 'fail';
74920
+
74921
+ if (hasIcon) {
74922
+ return h(es_icon, {
74923
+ "class": Toast_bem('icon'),
74924
+ "attrs": {
74925
+ "classPrefix": iconPrefix,
74926
+ "name": icon || type
74927
+ }
74928
+ });
74929
+ }
74930
+
74931
+ if (type === 'loading') {
74932
+ return h(loading, {
74933
+ "class": Toast_bem('loading'),
74934
+ "attrs": {
74935
+ "type": loadingType
74936
+ }
74937
+ });
74938
+ }
74939
+ },
74940
+ genMessage: function genMessage() {
74941
+ var h = this.$createElement;
74942
+ var type = this.type,
74943
+ message = this.message;
74944
+
74945
+ if (!isDef(message) || message === '') {
74946
+ return;
74947
+ }
74948
+
74949
+ if (type === 'html') {
74950
+ return h("div", {
74951
+ "class": Toast_bem('text'),
74952
+ "domProps": {
74953
+ "innerHTML": message
74954
+ }
74955
+ });
74956
+ }
74957
+
74958
+ return h("div", {
74959
+ "class": Toast_bem('text')
74960
+ }, [message]);
74961
+ }
74962
+ },
74963
+ render: function render() {
74964
+ var _ref;
74965
+
74966
+ var h = arguments[0];
74967
+ return h("transition", {
74968
+ "attrs": {
74969
+ "name": this.transition
74970
+ },
74971
+ "on": {
74972
+ "afterEnter": this.onAfterEnter,
74973
+ "afterLeave": this.onAfterLeave
74974
+ }
74975
+ }, [h("div", {
74976
+ "directives": [{
74977
+ name: "show",
74978
+ value: this.value
74979
+ }],
74980
+ "class": [Toast_bem([this.position, (_ref = {}, _ref[this.type] = !this.icon, _ref)]), this.className],
74981
+ "on": {
74982
+ "click": this.onClick
74983
+ }
74984
+ }, [this.genIcon(), this.genMessage()])]);
74985
+ }
74986
+ }));
74987
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/toast/index.js
74988
+
74989
+
74990
+
74991
+
74992
+
74993
+ var defaultOptions = {
74994
+ icon: '',
74995
+ type: 'text',
74996
+ // @deprecated
74997
+ mask: false,
74998
+ value: true,
74999
+ message: '',
75000
+ className: '',
75001
+ overlay: false,
75002
+ onClose: null,
75003
+ onOpened: null,
75004
+ duration: 2000,
75005
+ iconPrefix: undefined,
75006
+ position: 'middle',
75007
+ transition: 'van-fade',
75008
+ forbidClick: false,
75009
+ loadingType: undefined,
75010
+ getContainer: 'body',
75011
+ overlayStyle: null,
75012
+ closeOnClick: false,
75013
+ closeOnClickOverlay: false
75014
+ }; // default options of specific type
75015
+
75016
+ var defaultOptionsMap = {};
75017
+ var queue = [];
75018
+ var multiple = false;
75019
+
75020
+ var currentOptions = _extends({}, defaultOptions);
75021
+
75022
+ function parseOptions(message) {
75023
+ if (utils_isObject(message)) {
75024
+ return message;
75025
+ }
75026
+
75027
+ return {
75028
+ message: message
75029
+ };
75030
+ }
75031
+
75032
+ function isInDocument(element) {
75033
+ return document.body.contains(element);
75034
+ }
75035
+
75036
+ function toast_createInstance() {
75037
+ /* istanbul ignore if */
75038
+ if (isServer) {
75039
+ return {};
75040
+ }
75041
+
75042
+ queue = queue.filter(function (item) {
75043
+ return !item.$el.parentNode || isInDocument(item.$el);
75044
+ });
75045
+
75046
+ if (!queue.length || multiple) {
75047
+ var toast = new (external_commonjs_vue_commonjs2_vue_root_Vue_default().extend(Toast))({
75048
+ el: document.createElement('div')
75049
+ });
75050
+ toast.$on('input', function (value) {
75051
+ toast.value = value;
75052
+ });
75053
+ queue.push(toast);
75054
+ }
75055
+
75056
+ return queue[queue.length - 1];
75057
+ } // transform toast options to popup props
75058
+
75059
+
75060
+ function transformOptions(options) {
75061
+ return _extends({}, options, {
75062
+ overlay: options.mask || options.overlay,
75063
+ mask: undefined,
75064
+ duration: undefined
75065
+ });
75066
+ }
75067
+
75068
+ function toast_Toast(options) {
75069
+ if (options === void 0) {
75070
+ options = {};
75071
+ }
75072
+
75073
+ var toast = toast_createInstance(); // should add z-index if previous toast has not disappeared
75074
+
75075
+ if (toast.value) {
75076
+ toast.updateZIndex();
75077
+ }
75078
+
75079
+ options = parseOptions(options);
75080
+ options = _extends({}, currentOptions, defaultOptionsMap[options.type || currentOptions.type], options);
75081
+
75082
+ if (false) {}
75083
+
75084
+ options.clear = function () {
75085
+ toast.value = false;
75086
+
75087
+ if (options.onClose) {
75088
+ options.onClose();
75089
+ options.onClose = null;
75090
+ }
75091
+
75092
+ if (multiple && !isServer) {
75093
+ toast.$on('closed', function () {
75094
+ clearTimeout(toast.timer);
75095
+ queue = queue.filter(function (item) {
75096
+ return item !== toast;
75097
+ });
75098
+ removeNode(toast.$el);
75099
+ toast.$destroy();
75100
+ });
75101
+ }
75102
+ };
75103
+
75104
+ _extends(toast, transformOptions(options));
75105
+
75106
+ clearTimeout(toast.timer);
75107
+
75108
+ if (options.duration > 0) {
75109
+ toast.timer = setTimeout(function () {
75110
+ toast.clear();
75111
+ }, options.duration);
75112
+ }
75113
+
75114
+ return toast;
75115
+ }
75116
+
75117
+ var createMethod = function createMethod(type) {
75118
+ return function (options) {
75119
+ return toast_Toast(_extends({
75120
+ type: type
75121
+ }, parseOptions(options)));
75122
+ };
75123
+ };
75124
+
75125
+ ['loading', 'success', 'fail'].forEach(function (method) {
75126
+ toast_Toast[method] = createMethod(method);
75127
+ });
75128
+
75129
+ toast_Toast.clear = function (all) {
75130
+ if (queue.length) {
75131
+ if (all) {
75132
+ queue.forEach(function (toast) {
75133
+ toast.clear();
75134
+ });
75135
+ queue = [];
75136
+ } else if (!multiple) {
75137
+ queue[0].clear();
75138
+ } else {
75139
+ queue.shift().clear();
75140
+ }
75141
+ }
75142
+ };
75143
+
75144
+ toast_Toast.setDefaultOptions = function (type, options) {
75145
+ if (typeof type === 'string') {
75146
+ defaultOptionsMap[type] = options;
75147
+ } else {
75148
+ _extends(currentOptions, type);
75149
+ }
75150
+ };
75151
+
75152
+ toast_Toast.resetDefaultOptions = function (type) {
75153
+ if (typeof type === 'string') {
75154
+ defaultOptionsMap[type] = null;
75155
+ } else {
75156
+ currentOptions = _extends({}, defaultOptions);
75157
+ defaultOptionsMap = {};
75158
+ }
75159
+ };
75160
+
75161
+ toast_Toast.allowMultiple = function (value) {
75162
+ if (value === void 0) {
75163
+ value = true;
75164
+ }
75165
+
75166
+ multiple = value;
75167
+ };
75168
+
75169
+ toast_Toast.install = function () {
75170
+ external_commonjs_vue_commonjs2_vue_root_Vue_default().use(Toast);
75171
+ };
75172
+
75173
+ (external_commonjs_vue_commonjs2_vue_root_Vue_default()).prototype.$toast = toast_Toast;
75174
+ /* harmony default export */ var toast = (toast_Toast);
73259
75175
  ;// CONCATENATED MODULE: ./packages/npmaio/mappaio/index.js
73260
75176
  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); }
73261
75177
  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; }
@@ -73298,13 +75214,14 @@ function mappaio_arrayWithHoles(r) { if (Array.isArray(r)) return r; }
73298
75214
 
73299
75215
 
73300
75216
 
75217
+
73301
75218
  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];
73302
75219
 
73303
75220
  // ---------- 重型组件异步全局注册清单(chunk 级按需加载) ----------
73304
75221
  var asyncComponents = [
73305
75222
  // ========== ecmapp 业务功能 ==========
73306
75223
  ['RichtextEditor', function () {
73307
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 9604));
75224
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5183));
73308
75225
  }], ['PdfTools', function () {
73309
75226
  return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 7526)).then(function (m) {
73310
75227
  return m.PdfTools;
@@ -73316,39 +75233,39 @@ var asyncComponents = [
73316
75233
  }],
73317
75234
  // ========== ecmapp/Wflowform 工作流表单子组件 → chunk: m-wflow-form ==========
73318
75235
  ['Attachment', function () {
73319
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
75236
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73320
75237
  return m.Attachment;
73321
75238
  });
73322
75239
  }], ['BodyFile', function () {
73323
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
75240
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73324
75241
  return m.BodyFile;
73325
75242
  });
73326
75243
  }], ['HandleIdea', function () {
73327
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
75244
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73328
75245
  return m.HandleIdea;
73329
75246
  });
73330
75247
  }], ['SelectOuterDeputy', function () {
73331
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
75248
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73332
75249
  return m.SelectOuterDeputy;
73333
75250
  });
73334
75251
  }], ['SubmitHandle', function () {
73335
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
75252
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73336
75253
  return m.SubmitHandle;
73337
75254
  });
73338
75255
  }], ['SubmitDialog', function () {
73339
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
75256
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73340
75257
  return m.SubmitDialog;
73341
75258
  });
73342
75259
  }], ['ShortcutProcessing', function () {
73343
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
75260
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73344
75261
  return m.ShortcutProcessing;
73345
75262
  });
73346
75263
  }], ['WfNodelogList', function () {
73347
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
75264
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73348
75265
  return m.WfNodelogList;
73349
75266
  });
73350
75267
  }], ['WriteToReadIdea', function () {
73351
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888)).then(function (m) {
75268
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73352
75269
  return m.WriteToReadIdea;
73353
75270
  });
73354
75271
  }]];
@@ -73358,6 +75275,11 @@ var mappaio_install = function install(Vue) {
73358
75275
  if (install.installed) return;
73359
75276
  install.installed = true;
73360
75277
 
75278
+ // vant Toast 默认 z-index 为 2000,会低于 PopupDialog(van-popup) 自增的弹层层级,全局提高,避免弹层内提示被遮挡
75279
+ toast.setDefaultOptions({
75280
+ zIndex: 9999
75281
+ });
75282
+
73361
75283
  // 1. 同步注册核心组件
73362
75284
  mappaio_components.map(function (component) {
73363
75285
  Vue.use(component);
@@ -73401,7 +75323,7 @@ var WfengineModule = function WfengineModule() {
73401
75323
  return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6322));
73402
75324
  };
73403
75325
  var WflowformModule = function WflowformModule() {
73404
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5888));
75326
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898));
73405
75327
  };
73406
75328
 
73407
75329
  // ---------- 重型功能(PDF/富文本,仅特定页面使用) ----------
@@ -73416,7 +75338,7 @@ var PdfViewerModule = function PdfViewerModule() {
73416
75338
  });
73417
75339
  };
73418
75340
  var RichtextEditorModule = function RichtextEditorModule() {
73419
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 9604));
75341
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5183));
73420
75342
  };
73421
75343
  ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
73422
75344