ecinc-cloud-mappaio 9.7.37 → 9.7.39

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