ecinc-cloud-mappaio 9.7.36 → 9.7.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -94,6 +94,15 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
94
94
  }));
95
95
 
96
96
 
97
+ /***/ }),
98
+
99
+ /***/ 7499:
100
+ /***/ (function(module) {
101
+
102
+ "use strict";
103
+ function _extends(){return _extends=Object.assign?Object.assign.bind():function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},_extends.apply(this,arguments)}var normalMerge=["attrs","props","domProps"],toArrayMerge=["class","style","directives"],functionalMerge=["on","nativeOn"],mergeJsxProps=function(a){return a.reduce(function(c,a){for(var b in a)if(!c[b])c[b]=a[b];else if(-1!==normalMerge.indexOf(b))c[b]=_extends({},c[b],a[b]);else if(-1!==toArrayMerge.indexOf(b)){var d=c[b]instanceof Array?c[b]:[c[b]],e=a[b]instanceof Array?a[b]:[a[b]];c[b]=[].concat(d,e)}else if(-1!==functionalMerge.indexOf(b)){for(var f in a[b])if(c[b][f]){var g=c[b][f]instanceof Array?c[b][f]:[c[b][f]],h=a[b][f]instanceof Array?a[b][f]:[a[b][f]];c[b][f]=[].concat(g,h)}else c[b][f]=a[b][f];}else if("hook"===b)for(var i in a[b])c[b][i]=c[b][i]?mergeFn(c[b][i],a[b][i]):a[b][i];else c[b]=a[b];return c},{})},mergeFn=function(a,b){return function(){a&&a.apply(this,arguments),b&&b.apply(this,arguments)}};module.exports=mergeJsxProps;
104
+
105
+
97
106
  /***/ }),
98
107
 
99
108
  /***/ 1656:
@@ -1407,7 +1416,7 @@ var actions = {
1407
1416
 
1408
1417
  /***/ }),
1409
1418
 
1410
- /***/ 6424:
1419
+ /***/ 2184:
1411
1420
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1412
1421
 
1413
1422
  "use strict";
@@ -2313,8 +2322,8 @@ var SysSetupvue_type_template_id_2497073a_scoped_true_render = function render()
2313
2322
  };
2314
2323
  var SysSetupvue_type_template_id_2497073a_scoped_true_staticRenderFns = [];
2315
2324
 
2316
- ;// 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/ecwplat/Module/src/MenuItemForm.vue?vue&type=template&id=76a1a43d&scoped=true
2317
- var MenuItemFormvue_type_template_id_76a1a43d_scoped_true_render = function render() {
2325
+ ;// 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/ecwplat/Module/src/MenuItemForm.vue?vue&type=template&id=3ebd0a76&scoped=true
2326
+ var MenuItemFormvue_type_template_id_3ebd0a76_scoped_true_render = function render() {
2318
2327
  var _vm = this,
2319
2328
  _c = _vm._self._c;
2320
2329
  return _c('el-form', {
@@ -2707,7 +2716,7 @@ var MenuItemFormvue_type_template_id_76a1a43d_scoped_true_render = function rend
2707
2716
  attrs: {
2708
2717
  "dataType": _vm.$tx('ecwplat.menuForm.allFile', '全部')
2709
2718
  }
2710
- }, [_vm._v(_vm._s(this.$tx('ecwplat.menuForm.allFile', '全部')) + "列表URL")])]), _c('td', {
2719
+ }, [_vm._v(_vm._s(_vm.$tx('ecwplat.menuForm.allFile', '全部')) + "列表URL")])]), _c('td', {
2711
2720
  staticClass: "el-table__cell tdcont tdw83",
2712
2721
  attrs: {
2713
2722
  "colspan": "3"
@@ -3810,7 +3819,7 @@ var MenuItemFormvue_type_template_id_76a1a43d_scoped_true_render = function rend
3810
3819
  }
3811
3820
  }, [_c('Icons')], 1) : _vm._e()], 1);
3812
3821
  };
3813
- var MenuItemFormvue_type_template_id_76a1a43d_scoped_true_staticRenderFns = [];
3822
+ var MenuItemFormvue_type_template_id_3ebd0a76_scoped_true_staticRenderFns = [];
3814
3823
 
3815
3824
  ;// 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/ecwplat/Module/src/MenuItemForm.vue?vue&type=script&lang=js
3816
3825
  /* harmony default export */ var MenuItemFormvue_type_script_lang_js = ({
@@ -4195,7 +4204,7 @@ var MenuItemFormvue_type_template_id_76a1a43d_scoped_true_staticRenderFns = [];
4195
4204
  if (formUrl.indexOf('/dcontent/') !== -1) {
4196
4205
  formUrl = formUrl.split('/dcontent/')[1];
4197
4206
  } else if (formUrl.indexOf('@/wapp/') !== -1) {
4198
- formUrl = formUrl.split('@/wapp/')[1].replace('/\//', '.');
4207
+ formUrl = formUrl.split('@/wapp/')[1].replace('///', '.');
4199
4208
  }
4200
4209
  this.$set(this.vo, 'href', formUrl.split('.')[1]);
4201
4210
  this.$set(this.vo, 'wfEngineUrl', formUrl.split('.')[0] + '/' + formUrl.split('.')[1]);
@@ -4252,9 +4261,9 @@ var MenuItemFormvue_type_template_id_76a1a43d_scoped_true_staticRenderFns = [];
4252
4261
  });
4253
4262
  ;// CONCATENATED MODULE: ./packages/ecwplat/Module/src/MenuItemForm.vue?vue&type=script&lang=js
4254
4263
  /* harmony default export */ var src_MenuItemFormvue_type_script_lang_js = (MenuItemFormvue_type_script_lang_js);
4255
- // 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/ecwplat/Module/src/MenuItemForm.vue?vue&type=style&index=0&id=76a1a43d&prod&scoped=true&lang=scss
4256
- var MenuItemFormvue_type_style_index_0_id_76a1a43d_prod_scoped_true_lang_scss = __webpack_require__(7799);
4257
- ;// CONCATENATED MODULE: ./packages/ecwplat/Module/src/MenuItemForm.vue?vue&type=style&index=0&id=76a1a43d&prod&scoped=true&lang=scss
4264
+ // 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/ecwplat/Module/src/MenuItemForm.vue?vue&type=style&index=0&id=3ebd0a76&prod&scoped=true&lang=scss
4265
+ var MenuItemFormvue_type_style_index_0_id_3ebd0a76_prod_scoped_true_lang_scss = __webpack_require__(6750);
4266
+ ;// CONCATENATED MODULE: ./packages/ecwplat/Module/src/MenuItemForm.vue?vue&type=style&index=0&id=3ebd0a76&prod&scoped=true&lang=scss
4258
4267
 
4259
4268
  ;// CONCATENATED MODULE: ./packages/ecwplat/Module/src/MenuItemForm.vue
4260
4269
 
@@ -4267,11 +4276,11 @@ var MenuItemFormvue_type_style_index_0_id_76a1a43d_prod_scoped_true_lang_scss =
4267
4276
 
4268
4277
  var MenuItemForm_component = (0,componentNormalizer/* default */.A)(
4269
4278
  src_MenuItemFormvue_type_script_lang_js,
4270
- MenuItemFormvue_type_template_id_76a1a43d_scoped_true_render,
4271
- MenuItemFormvue_type_template_id_76a1a43d_scoped_true_staticRenderFns,
4279
+ MenuItemFormvue_type_template_id_3ebd0a76_scoped_true_render,
4280
+ MenuItemFormvue_type_template_id_3ebd0a76_scoped_true_staticRenderFns,
4272
4281
  false,
4273
4282
  null,
4274
- "76a1a43d",
4283
+ "3ebd0a76",
4275
4284
  null
4276
4285
 
4277
4286
  )
@@ -8479,7 +8488,7 @@ var PdfViewer = showViewer;
8479
8488
 
8480
8489
  /***/ }),
8481
8490
 
8482
- /***/ 9604:
8491
+ /***/ 5183:
8483
8492
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8484
8493
 
8485
8494
  "use strict";
@@ -8491,7 +8500,7 @@ __webpack_require__.d(__webpack_exports__, {
8491
8500
  "default": function() { return /* binding */ RichtextEditor; }
8492
8501
  });
8493
8502
 
8494
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=template&id=1c8100d7&scoped=true
8503
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=template&id=1847d5d1&scoped=true
8495
8504
  var render = function render() {
8496
8505
  var _vm = this,
8497
8506
  _c = _vm._self._c;
@@ -8502,7 +8511,49 @@ var render = function render() {
8502
8511
  attrs: {
8503
8512
  "id": "richtext"
8504
8513
  }
8505
- })]);
8514
+ }), _vm.voiceInputEnabled ? _c('div', {
8515
+ staticClass: "voice-input-entry",
8516
+ style: _vm.voiceBtnStyle,
8517
+ on: {
8518
+ "touchstart": function touchstart($event) {
8519
+ $event.preventDefault();
8520
+ return _vm.onDragStart.apply(null, arguments);
8521
+ },
8522
+ "mousedown": function mousedown($event) {
8523
+ $event.preventDefault();
8524
+ return _vm.onDragStart.apply(null, arguments);
8525
+ },
8526
+ "click": function click($event) {
8527
+ $event.stopPropagation();
8528
+ return _vm.onVoiceBtnClick.apply(null, arguments);
8529
+ }
8530
+ }
8531
+ }, [_c('svg', {
8532
+ staticClass: "voice-input-entry-icon",
8533
+ attrs: {
8534
+ "viewBox": "0 0 1024 1024",
8535
+ "fill": "currentColor",
8536
+ "aria-hidden": "true"
8537
+ }
8538
+ }, [_c('path', {
8539
+ attrs: {
8540
+ "d": "M512 640c88.4 0 160-71.6 160-160V224c0-88.4-71.6-160-160-160S352 135.6 352 224v256c0 88.4 71.6 160 160 160z"
8541
+ }
8542
+ }), _c('path', {
8543
+ attrs: {
8544
+ "d": "M768 480c0 141.4-114.6 256-256 256S256 621.4 256 480h-64c0 163.9 123.3 299 288 318.4V896H352v64h320v-64H544v-97.6C708.7 779 832 643.9 832 480h-64z"
8545
+ }
8546
+ })]), _c('span', [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceInput', '语音输入')))])]) : _vm._e(), _c('VoiceInputDialog', {
8547
+ attrs: {
8548
+ "visible": _vm.voiceDialogVisible
8549
+ },
8550
+ on: {
8551
+ "update:visible": function updateVisible($event) {
8552
+ _vm.voiceDialogVisible = $event;
8553
+ },
8554
+ "confirm": _vm.onVoiceConfirm
8555
+ }
8556
+ })], 1);
8506
8557
  };
8507
8558
  var staticRenderFns = [];
8508
8559
 
@@ -8538,14 +8589,38 @@ var staticRenderFns = [];
8538
8589
  placeholder: {
8539
8590
  type: String,
8540
8591
  default: ''
8592
+ },
8593
+ voiceInput: {
8594
+ type: Boolean,
8595
+ default: false
8541
8596
  }
8542
8597
  },
8543
8598
  data: function data() {
8544
8599
  return {
8545
- editor: null
8600
+ editor: null,
8601
+ voiceDialogVisible: false,
8602
+ editorReadonly: false,
8603
+ voiceBtnX: null,
8604
+ voiceBtnY: null,
8605
+ voiceBtnMoved: false
8546
8606
  };
8547
8607
  },
8548
- computed: {},
8608
+ computed: {
8609
+ // 语音输入按钮显示条件:voiceInput属性为true且编辑器可编辑
8610
+ voiceInputEnabled: function voiceInputEnabled() {
8611
+ return this.voiceInput && !this.editorReadonly;
8612
+ },
8613
+ // 按钮定位样式:未拖拽时CSS默认贴在正文输入框右下角,拖拽后按记录坐标fixed定位
8614
+ voiceBtnStyle: function voiceBtnStyle() {
8615
+ if (this.voiceBtnX === null) return {};
8616
+ return {
8617
+ left: this.voiceBtnX + 'px',
8618
+ top: this.voiceBtnY + 'px',
8619
+ right: 'auto',
8620
+ bottom: 'auto'
8621
+ };
8622
+ }
8623
+ },
8549
8624
  watch: {
8550
8625
  value: function value() {
8551
8626
  // 监听prop的变化,更新ckeditor中的值
@@ -8557,8 +8632,18 @@ var staticRenderFns = [];
8557
8632
  created: function created() {},
8558
8633
  beforeDestroy: function beforeDestroy() {
8559
8634
  this.editor.destroy();
8635
+ window.removeEventListener('resize', this.placeVoiceBtnDefault);
8636
+ window.removeEventListener('scroll', this.placeVoiceBtnDefault, true);
8637
+ document.removeEventListener('touchmove', this.onDragMove);
8638
+ document.removeEventListener('touchend', this.onDragEnd);
8639
+ document.removeEventListener('mousemove', this.onDragMove);
8640
+ document.removeEventListener('mouseup', this.onDragEnd);
8560
8641
  },
8561
8642
  mounted: function mounted() {
8643
+ var _this = this;
8644
+ // 未拖拽时保持按钮跟随正文输入框右下角(窗口缩放/滚动时重新计算)
8645
+ window.addEventListener('resize', this.placeVoiceBtnDefault);
8646
+ window.addEventListener('scroll', this.placeVoiceBtnDefault, true);
8562
8647
  this.placeholder = this.$tx('ecmapp.common.enterMainText', '请输入正文');
8563
8648
  var $scope = this;
8564
8649
  var WangEditor = window.wangEditor;
@@ -8683,9 +8768,80 @@ var staticRenderFns = [];
8683
8768
  if (formCanEdit === 0 || formCanEdit === '0') {
8684
8769
  this.editor.config.placeholder = '';
8685
8770
  this.editor.disable();
8771
+ this.editorReadonly = true;
8686
8772
  }
8773
+ // 初始将语音按钮定位到正文输入框右下角
8774
+ this.$nextTick(function () {
8775
+ _this.placeVoiceBtnDefault();
8776
+ });
8687
8777
  },
8688
8778
  methods: {
8779
+ // 打开语音输入弹窗(桌面鼠标点击触发;触屏的click被touchstart.preventDefault阻止,在onDragEnd中处理)
8780
+ onVoiceBtnClick: function onVoiceBtnClick() {
8781
+ if (!this.voiceBtnMoved) {
8782
+ this.openVoiceDialog();
8783
+ }
8784
+ this.voiceBtnMoved = false;
8785
+ },
8786
+ openVoiceDialog: function openVoiceDialog() {
8787
+ this.voiceDialogVisible = true;
8788
+ },
8789
+ // 计算正文输入框右下角的默认位置(fixed视口坐标)
8790
+ placeVoiceBtnDefault: function placeVoiceBtnDefault() {
8791
+ if (this.voiceBtnMoved || !this.$el) return;
8792
+ var btn = this.$el.querySelector('.voice-input-entry');
8793
+ if (!btn) return;
8794
+ var rect = this.$el.getBoundingClientRect();
8795
+ this.voiceBtnX = rect.right - btn.offsetWidth - 16;
8796
+ this.voiceBtnY = rect.bottom - btn.offsetHeight - 16;
8797
+ },
8798
+ // 拖拽开始:记录起始坐标,绑定document级move/end事件
8799
+ onDragStart: function onDragStart(evt) {
8800
+ var point = evt.touches ? evt.touches[0] : evt;
8801
+ this._dragIsTouch = !!evt.touches;
8802
+ this._dragStartX = point.clientX;
8803
+ this._dragStartY = point.clientY;
8804
+ this.voiceBtnMoved = false;
8805
+ if (this.voiceBtnX === null) this.placeVoiceBtnDefault();
8806
+ this._dragBtnStartLeft = this.voiceBtnX;
8807
+ this._dragBtnStartTop = this.voiceBtnY;
8808
+ document.addEventListener('touchmove', this.onDragMove, {
8809
+ passive: false
8810
+ });
8811
+ document.addEventListener('touchend', this.onDragEnd);
8812
+ document.addEventListener('mousemove', this.onDragMove);
8813
+ document.addEventListener('mouseup', this.onDragEnd);
8814
+ },
8815
+ // 拖拽移动:实时更新按钮位置,位移超过5px视为拖拽(屏蔽click)
8816
+ onDragMove: function onDragMove(evt) {
8817
+ var point = evt.touches ? evt.touches[0] : evt;
8818
+ var dx = point.clientX - this._dragStartX;
8819
+ var dy = point.clientY - this._dragStartY;
8820
+ if (Math.abs(dx) > 5 || Math.abs(dy) > 5) {
8821
+ this.voiceBtnMoved = true;
8822
+ evt.preventDefault();
8823
+ }
8824
+ this.voiceBtnX = this._dragBtnStartLeft + dx;
8825
+ this.voiceBtnY = this._dragBtnStartTop + dy;
8826
+ },
8827
+ // 拖拽结束:移除document级事件;触屏无click事件,未拖动时在此打开弹窗
8828
+ onDragEnd: function onDragEnd() {
8829
+ document.removeEventListener('touchmove', this.onDragMove);
8830
+ document.removeEventListener('touchend', this.onDragEnd);
8831
+ document.removeEventListener('mousemove', this.onDragMove);
8832
+ document.removeEventListener('mouseup', this.onDragEnd);
8833
+ if (this._dragIsTouch && !this.voiceBtnMoved) {
8834
+ this.openVoiceDialog();
8835
+ }
8836
+ this.voiceBtnMoved = false;
8837
+ },
8838
+ // 语音识别完成回调:识别文本追加到编辑器现有内容末尾
8839
+ onVoiceConfirm: function onVoiceConfirm(text) {
8840
+ var currentHtml = this.editor.txt.html();
8841
+ var newHtml = currentHtml ? currentHtml + text : text;
8842
+ this.editor.txt.html(newHtml);
8843
+ this.$emit('input', newHtml);
8844
+ },
8689
8845
  // 键击事件
8690
8846
  keydownEvents: function keydownEvents(evt) {
8691
8847
  if (this.startupMode !== 'source') {
@@ -8728,9 +8884,9 @@ var staticRenderFns = [];
8728
8884
  });
8729
8885
  ;// CONCATENATED MODULE: ./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=script&lang=js
8730
8886
  /* harmony default export */ var RichtextEditor_srcvue_type_script_lang_js = (srcvue_type_script_lang_js);
8731
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=style&index=0&id=1c8100d7&prod&scoped=true&lang=scss
8732
- var srcvue_type_style_index_0_id_1c8100d7_prod_scoped_true_lang_scss = __webpack_require__(6890);
8733
- ;// CONCATENATED MODULE: ./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=style&index=0&id=1c8100d7&prod&scoped=true&lang=scss
8887
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=style&index=0&id=1847d5d1&prod&scoped=true&lang=scss
8888
+ var srcvue_type_style_index_0_id_1847d5d1_prod_scoped_true_lang_scss = __webpack_require__(3600);
8889
+ ;// CONCATENATED MODULE: ./packages/ecmapp/RichtextEditor/src/index.vue?vue&type=style&index=0&id=1847d5d1&prod&scoped=true&lang=scss
8734
8890
 
8735
8891
  // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
8736
8892
  var componentNormalizer = __webpack_require__(1656);
@@ -8749,7 +8905,7 @@ var component = (0,componentNormalizer/* default */.A)(
8749
8905
  staticRenderFns,
8750
8906
  false,
8751
8907
  null,
8752
- "1c8100d7",
8908
+ "1847d5d1",
8753
8909
  null
8754
8910
 
8755
8911
  )
@@ -8766,7 +8922,7 @@ src.install = function (Vue) {
8766
8922
 
8767
8923
  /***/ }),
8768
8924
 
8769
- /***/ 3414:
8925
+ /***/ 5898:
8770
8926
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8771
8927
 
8772
8928
  "use strict";
@@ -8782,6 +8938,7 @@ __webpack_require__.d(__webpack_exports__, {
8782
8938
  ShortcutProcessing: function() { return /* binding */ Wflowform_ShortcutProcessing; },
8783
8939
  SubmitDialog: function() { return /* binding */ Wflowform_SubmitDialog; },
8784
8940
  SubmitHandle: function() { return /* binding */ Wflowform_SubmitHandle; },
8941
+ VoiceInputDialog: function() { return /* binding */ Wflowform_VoiceInputDialog; },
8785
8942
  WfNodelogList: function() { return /* binding */ Wflowform_WfNodelogList; },
8786
8943
  WriteToReadIdea: function() { return /* binding */ Wflowform_WriteToReadIdea; }
8787
8944
  });
@@ -12725,8 +12882,8 @@ var SelectOuterDeputy_component = (0,componentNormalizer/* default */.A)(
12725
12882
  )
12726
12883
 
12727
12884
  /* harmony default export */ var SelectOuterDeputy = (SelectOuterDeputy_component.exports);
12728
- ;// 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/SubmitHandle.vue?vue&type=template&id=20bc806c&scoped=true
12729
- var SubmitHandlevue_type_template_id_20bc806c_scoped_true_render = function render() {
12885
+ ;// 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/SubmitHandle.vue?vue&type=template&id=6bdfbd40&scoped=true
12886
+ var SubmitHandlevue_type_template_id_6bdfbd40_scoped_true_render = function render() {
12730
12887
  var _vm = this,
12731
12888
  _c = _vm._self._c;
12732
12889
  return _vm.initiated ? _c('div', {
@@ -13511,7 +13668,7 @@ var SubmitHandlevue_type_template_id_20bc806c_scoped_true_render = function rend
13511
13668
  }
13512
13669
  })], 2) : _vm._e();
13513
13670
  };
13514
- var SubmitHandlevue_type_template_id_20bc806c_scoped_true_staticRenderFns = [];
13671
+ var SubmitHandlevue_type_template_id_6bdfbd40_scoped_true_staticRenderFns = [];
13515
13672
 
13516
13673
  ;// 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/WfTaskNode.vue?vue&type=template&id=d1ae2f20&scoped=true
13517
13674
  var WfTaskNodevue_type_template_id_d1ae2f20_scoped_true_render = function render() {
@@ -14840,12 +14997,12 @@ var WfTaskNode_component = (0,componentNormalizer/* default */.A)(
14840
14997
  )
14841
14998
 
14842
14999
  /* harmony default export */ var WfTaskNode = (WfTaskNode_component.exports);
14843
- ;// 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=5924c680&scoped=true
14844
- var VoiceInputDialogvue_type_template_id_5924c680_scoped_true_render = function render() {
15000
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=template&id=813d3ba6&scoped=true
15001
+ var VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_render = function render() {
14845
15002
  var _vm = this,
14846
15003
  _c = _vm._self._c;
14847
15004
  return _c('van-popup', {
14848
- staticClass: "voice-input-popup",
15005
+ class: ['voice-input-popup', 'skin-' + _vm.currentSkin],
14849
15006
  attrs: {
14850
15007
  "round": "",
14851
15008
  "position": "bottom",
@@ -14878,6 +15035,17 @@ var VoiceInputDialogvue_type_template_id_5924c680_scoped_true_render = function
14878
15035
  })], 1), _c('div', {
14879
15036
  staticClass: "voice-popup-body"
14880
15037
  }, [_c('div', {
15038
+ staticClass: "voice-mic-wrap",
15039
+ class: {
15040
+ recording: _vm.status === 'recording'
15041
+ }
15042
+ }, [_c('span', {
15043
+ staticClass: "tech-ripple tech-ripple-1"
15044
+ }), _c('span', {
15045
+ staticClass: "tech-ripple tech-ripple-2"
15046
+ }), _c('span', {
15047
+ staticClass: "tech-ripple tech-ripple-3"
15048
+ }), _c('div', {
14881
15049
  staticClass: "voice-mic-btn",
14882
15050
  class: {
14883
15051
  recording: _vm.status === 'recording'
@@ -14905,7 +15073,7 @@ var VoiceInputDialogvue_type_template_id_5924c680_scoped_true_render = function
14905
15073
  attrs: {
14906
15074
  "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"
14907
15075
  }
14908
- })])], 1), _c('div', {
15076
+ })])], 1)]), _c('div', {
14909
15077
  staticClass: "voice-status-text",
14910
15078
  class: {
14911
15079
  'is-error': _vm.status === 'error'
@@ -14966,34 +15134,48 @@ var VoiceInputDialogvue_type_template_id_5924c680_scoped_true_render = function
14966
15134
  on: {
14967
15135
  "click": _vm.confirmVoiceText
14968
15136
  }
14969
- }, [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceFillOpinion', '填入意见')))])], 1)]);
15137
+ }, [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceConfirmInput', '确认输入')))])], 1)]);
14970
15138
  };
14971
- var VoiceInputDialogvue_type_template_id_5924c680_scoped_true_staticRenderFns = [];
15139
+ var VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_staticRenderFns = [];
14972
15140
 
14973
15141
  ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-83.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=script&lang=js
14974
- // 静音自动结束:频谱均值(0-255)超过阈值视为有人声;
14975
- // 前导静音(全程未开口)与尾部静音(说完后沉默)分别计时,审批意见多为短句,尾部可更早收尾
15142
+ // 人声判定阈值:AnalyserNode频谱均值(getByteFrequencyData,取值范围0-255)超过该值视为有人声;
15143
+ // 值越小越灵敏(环境噪声易误触发),越大越迟钝(轻声说话可能漏检),10为安静室内环境的经验值
14976
15144
  var VOICE_AVG_THRESHOLD = 10;
15145
+ // 前导静音容忍时长(毫秒):录音开始后一直未检测到人声,超过该时长自动结束并丢弃录音,
15146
+ // 避免用户点了麦克风却没说话导致录音一直挂着;10秒足够用户反应和开口
14977
15147
  var LEADING_SILENCE_MS = 10000;
14978
- var TRAILING_SILENCE_MS = 5000;
15148
+ // 尾部静音容忍时长(毫秒):已检测到人声后连续沉默超过该时长自动结束录音,
15149
+ // 审批意见多为短句,说完后无需等太久即可收尾;该值应大于句中自然停顿(约1-2秒)
15150
+ var TRAILING_SILENCE_MS = 3000;
14979
15151
  /* harmony default export */ var VoiceInputDialogvue_type_script_lang_js = ({
14980
15152
  name: 'VoiceInputDialog',
14981
15153
  props: {
14982
15154
  visible: {
14983
15155
  type: Boolean,
14984
15156
  default: false
15157
+ },
15158
+ // 界面皮肤:basic-基本版 tech-科技版,仅影响视觉样式,识别功能完全一致
15159
+ skin: {
15160
+ type: String,
15161
+ default: 'basic',
15162
+ validator: function validator(val) {
15163
+ return ['basic', 'tech'].indexOf(val) > -1;
15164
+ }
14985
15165
  }
14986
15166
  },
14987
15167
  data: function data() {
14988
15168
  return {
14989
15169
  i18npkg: 'ecmapp',
14990
15170
  moduleCode: 'wflowform',
15171
+ currentSkin: this.skin,
15172
+ // 当前皮肤(basic/tech),初始取自skin属性,头部按钮可切换
14991
15173
  status: 'idle',
14992
15174
  // idle:待录音 recording:录音中 processing:识别中(仅后端模式) done:识别完成 error:出错
14993
15175
  errorText: '',
14994
15176
  resultText: '',
14995
15177
  finalText: '',
14996
- // 浏览器模式已确认的识别文本
15178
+ // 已确认的识别文本(浏览器模式的final结果、流式模式已分段终稿)
14997
15179
  seconds: 0,
14998
15180
  timer: null,
14999
15181
  recognition: null,
@@ -15003,6 +15185,18 @@ var TRAILING_SILENCE_MS = 5000;
15003
15185
  stream: null,
15004
15186
  // 麦克风音频流
15005
15187
  audioChunks: [],
15188
+ ws: null,
15189
+ // 流式识别WebSocket连接
15190
+ wsProcessor: null,
15191
+ // 流式识别PCM采集节点
15192
+ wsSource: null,
15193
+ // 流式识别音频源节点
15194
+ streamActive: false,
15195
+ // 流式识别链路是否正常(异常时降级为整段上传)
15196
+ streamWaitingDone: false,
15197
+ // 已发stop,等待服务端最终结果
15198
+ streamDoneTimer: null,
15199
+ // 等待最终结果的超时兜底定时器
15006
15200
  lastVoiceAt: 0,
15007
15201
  // 最近一次检测到人声的时间戳,用于静音自动结束
15008
15202
  hasVoice: false,
@@ -15035,6 +15229,12 @@ var TRAILING_SILENCE_MS = 5000;
15035
15229
  var voiceToWord = window.voiceToWord;
15036
15230
  return voiceToWord && typeof voiceToWord === 'string' && voiceToWord !== 'browser' ? voiceToWord : '';
15037
15231
  },
15232
+ // window.voiceToWordStream为非空字符串时启用流式识别(WebSocket边说边出字),
15233
+ // 值为网关内路径如'/voice/recognize/stream',未配置则维持录完整段上传识别
15234
+ streamPath: function streamPath() {
15235
+ var streamPath = window.voiceToWordStream;
15236
+ return this.backendUrl && streamPath && typeof streamPath === 'string' ? streamPath : '';
15237
+ },
15038
15238
  statusText: function statusText() {
15039
15239
  switch (this.status) {
15040
15240
  case 'recording':
@@ -15061,6 +15261,9 @@ var TRAILING_SILENCE_MS = 5000;
15061
15261
  this.resetState();
15062
15262
  this.preRequestPermission();
15063
15263
  }
15264
+ },
15265
+ skin: function skin(val) {
15266
+ this.currentSkin = val;
15064
15267
  }
15065
15268
  },
15066
15269
  beforeDestroy: function beforeDestroy() {
@@ -15241,6 +15444,9 @@ var TRAILING_SILENCE_MS = 5000;
15241
15444
  }).then(function (stream) {
15242
15445
  _this4.stream = stream;
15243
15446
  _this4.audioChunks = [];
15447
+ // 立即置为录音中:MediaRecorder.onstart是异步事件,而WebSocket经本地代理握手可能先于它完成,
15448
+ // 若等onstart才置status,onopen会因status仍为idle而误关连接(code=1000)
15449
+ _this4.status = 'recording';
15244
15450
  var mimeType = window.MediaRecorder && MediaRecorder.isTypeSupported('audio/webm;codecs=opus') ? 'audio/webm;codecs=opus' : '';
15245
15451
  var mediaRecorder = mimeType ? new MediaRecorder(stream, {
15246
15452
  mimeType: mimeType
@@ -15251,7 +15457,6 @@ var TRAILING_SILENCE_MS = 5000;
15251
15457
  }
15252
15458
  };
15253
15459
  mediaRecorder.onstart = function () {
15254
- _this4.status = 'recording';
15255
15460
  _this4.startTimer();
15256
15461
  // canvas由v-show控制,需等DOM更新可见后再取尺寸绘制波形,否则画布为0×0
15257
15462
  _this4.$nextTick(function () {
@@ -15263,6 +15468,8 @@ var TRAILING_SILENCE_MS = 5000;
15263
15468
  };
15264
15469
  mediaRecorder.onstop = function () {
15265
15470
  _this4.stopTimer();
15471
+ // 先断开PCM推送再关波形(stopWaveform会关闭AudioContext)
15472
+ _this4.stopPcmCapture();
15266
15473
  _this4.stopWaveform();
15267
15474
  _this4.releaseStream();
15268
15475
  _this4.mediaRecorder = null;
@@ -15270,13 +15477,22 @@ var TRAILING_SILENCE_MS = 5000;
15270
15477
  // 全程静音自动结束:丢弃录音,提示已在checkSilenceTimeout中给出
15271
15478
  _this4.discardRecording = false;
15272
15479
  _this4.audioChunks = [];
15480
+ _this4.closeStream();
15481
+ } else if (_this4.visible && _this4.streamActive && _this4.ws && _this4.ws.readyState === WebSocket.OPEN) {
15482
+ // 流式链路全程正常:通知服务端冲刷解码器收尾,不再整段上传
15483
+ _this4.finishStream();
15273
15484
  } else if (_this4.visible && _this4.audioChunks.length > 0) {
15274
- // 弹窗已关闭(取消录音)则不再上传
15485
+ // 弹窗已关闭(取消录音)则不再上传;流式失败时降级为整段上传
15486
+ _this4.closeStream();
15275
15487
  _this4.uploadVoice();
15276
15488
  }
15277
15489
  };
15278
15490
  _this4.mediaRecorder = mediaRecorder;
15279
15491
  mediaRecorder.start();
15492
+ // 流式识别:录音同时经 WebSocket 推送PCM,边说边出字;失败自动降级为整段上传
15493
+ if (_this4.streamPath) {
15494
+ _this4.startStream(stream);
15495
+ }
15280
15496
  }).catch(function () {
15281
15497
  _this4.showPermissionError();
15282
15498
  });
@@ -15314,6 +15530,179 @@ var TRAILING_SILENCE_MS = 5000;
15314
15530
  _this5.errorText = _this5.$tx('ecmapp.wflowform.voiceRecognizeFail', '语音识别失败,请重试。');
15315
15531
  });
15316
15532
  },
15533
+ // 由axios的baseURL(/apigw)拼出流式识别WebSocket地址
15534
+ buildStreamWsUrl: function buildStreamWsUrl() {
15535
+ var base = this.$http && this.$http.defaults && this.$http.defaults.baseURL || '';
15536
+ if (!/^https?:/i.test(base)) {
15537
+ base = location.origin + (base && base.charAt(0) !== '/' ? '/' : '') + base;
15538
+ }
15539
+ return base.replace(/^https:/, 'wss:').replace(/^http:/, 'ws:') + this.streamPath;
15540
+ },
15541
+ // 建立流式识别WebSocket,成功后边录边传PCM;任何失败都静默回落到整段上传
15542
+ startStream: function startStream(stream) {
15543
+ var _this6 = this;
15544
+ var wsUrl = this.buildStreamWsUrl();
15545
+ console.log('[VoiceStream] 连接:', wsUrl);
15546
+ var ws;
15547
+ try {
15548
+ ws = new WebSocket(wsUrl);
15549
+ } catch (e) {
15550
+ console.warn('[VoiceStream] 创建WebSocket失败,降级为整段上传:', e);
15551
+ return;
15552
+ }
15553
+ ws.binaryType = 'arraybuffer';
15554
+ this.ws = ws;
15555
+ ws.onopen = function () {
15556
+ if (_this6.ws !== ws) return;
15557
+ if (_this6.status !== 'recording') {
15558
+ try {
15559
+ ws.close();
15560
+ } catch (e) {
15561
+ // 已关闭时close抛错可忽略
15562
+ }
15563
+ return;
15564
+ }
15565
+ console.log('[VoiceStream] 握手成功,开始推送PCM');
15566
+ _this6.streamActive = true;
15567
+ _this6.startPcmCapture(stream);
15568
+ };
15569
+ ws.onmessage = function (event) {
15570
+ return _this6.onStreamMessage(event);
15571
+ };
15572
+ ws.onerror = function (event) {
15573
+ console.warn('[VoiceStream] 连接错误,将降级为整段上传', event);
15574
+ };
15575
+ ws.onclose = function (event) {
15576
+ console.log('[VoiceStream] 连接关闭 code=' + event.code + (event.reason ? ' reason=' + event.reason : ''));
15577
+ if (_this6.ws !== ws) return;
15578
+ _this6.ws = null;
15579
+ if (_this6.streamWaitingDone) {
15580
+ // 等待最终结果期间服务端关闭,视为收尾完成
15581
+ _this6.onStreamDone();
15582
+ } else if (_this6.status === 'recording') {
15583
+ // 录音途中异常断开,标记降级,onstop时走整段上传
15584
+ _this6.streamActive = false;
15585
+ _this6.stopPcmCapture();
15586
+ }
15587
+ };
15588
+ },
15589
+ onStreamMessage: function onStreamMessage(event) {
15590
+ var msg;
15591
+ try {
15592
+ msg = JSON.parse(event.data);
15593
+ } catch (e) {
15594
+ return;
15595
+ }
15596
+ if (msg.error) {
15597
+ // 服务端明确报错(如流式未启用),降级到整段上传
15598
+ console.warn('[VoiceStream] 服务端报错,降级为整段上传:', msg.error);
15599
+ this.streamActive = false;
15600
+ this.stopPcmCapture();
15601
+ return;
15602
+ }
15603
+ if (msg.isFinal) {
15604
+ // 一段话说完(端点检测分段),固化进finalText
15605
+ if (msg.text) {
15606
+ this.finalText += msg.text;
15607
+ }
15608
+ this.resultText = this.finalText;
15609
+ } else {
15610
+ this.resultText = this.finalText + (msg.text || '');
15611
+ }
15612
+ if (msg.done) {
15613
+ this.onStreamDone();
15614
+ }
15615
+ },
15616
+ // 用ScriptProcessorNode抓PCM实时发送(AudioWorklet在旧WebView兼容性差)
15617
+ startPcmCapture: function startPcmCapture(stream) {
15618
+ var _this7 = this;
15619
+ var audioContext = this.audioContext;
15620
+ if (!audioContext || audioContext.state === 'closed') return;
15621
+ var source = audioContext.createMediaStreamSource(stream);
15622
+ var processor = audioContext.createScriptProcessor(4096, 1, 1);
15623
+ processor.onaudioprocess = function (event) {
15624
+ if (!_this7.streamActive || !_this7.ws || _this7.ws.readyState !== WebSocket.OPEN) return;
15625
+ var input = event.inputBuffer.getChannelData(0);
15626
+ _this7.ws.send(_this7.downsampleToInt16(input, event.inputBuffer.sampleRate));
15627
+ };
15628
+ source.connect(processor);
15629
+ // 必须接入输出图才会触发onaudioprocess,无output通道不会回放
15630
+ processor.connect(audioContext.destination);
15631
+ this.wsSource = source;
15632
+ this.wsProcessor = processor;
15633
+ },
15634
+ // 线性插值降采样到16kHz并转Int16小端,兼容44.1k/48k采集
15635
+ downsampleToInt16: function downsampleToInt16(input, sourceRate) {
15636
+ var ratio = sourceRate / 16000;
15637
+ var length = Math.floor(input.length / ratio);
15638
+ var result = new Int16Array(length);
15639
+ for (var i = 0; i < length; i++) {
15640
+ var pos = i * ratio;
15641
+ var left = Math.floor(pos);
15642
+ var right = Math.min(left + 1, input.length - 1);
15643
+ var sample = input[left] + (input[right] - input[left]) * (pos - left);
15644
+ var clamped = Math.max(-1, Math.min(1, sample));
15645
+ result[i] = clamped < 0 ? clamped * 0x8000 : clamped * 0x7fff;
15646
+ }
15647
+ return result.buffer;
15648
+ },
15649
+ stopPcmCapture: function stopPcmCapture() {
15650
+ if (this.wsProcessor) {
15651
+ this.wsProcessor.disconnect();
15652
+ this.wsProcessor.onaudioprocess = null;
15653
+ this.wsProcessor = null;
15654
+ }
15655
+ if (this.wsSource) {
15656
+ this.wsSource.disconnect();
15657
+ this.wsSource = null;
15658
+ }
15659
+ },
15660
+ // 录音结束:通知服务端冲刷解码器,等最终结果(超时兜底直接用现有文字)
15661
+ finishStream: function finishStream() {
15662
+ var _this8 = this;
15663
+ this.status = 'processing';
15664
+ this.streamWaitingDone = true;
15665
+ this.streamDoneTimer = setTimeout(function () {
15666
+ return _this8.onStreamDone();
15667
+ }, 4000);
15668
+ try {
15669
+ this.ws.send('stop');
15670
+ } catch (e) {
15671
+ this.onStreamDone();
15672
+ }
15673
+ },
15674
+ // 流式收尾(幂等):resultText已含最新partial,超时兜底也不丢字
15675
+ onStreamDone: function onStreamDone() {
15676
+ if (!this.streamWaitingDone) return;
15677
+ this.streamWaitingDone = false;
15678
+ this.closeStream();
15679
+ this.audioChunks = [];
15680
+ if (this.resultText.trim() !== '') {
15681
+ this.status = 'done';
15682
+ } else {
15683
+ this.status = 'error';
15684
+ this.errorText = this.$tx('ecmapp.wflowform.voiceNoSpeech', '未检测到语音,请重试。');
15685
+ }
15686
+ },
15687
+ closeStream: function closeStream() {
15688
+ this.stopPcmCapture();
15689
+ if (this.streamDoneTimer) {
15690
+ clearTimeout(this.streamDoneTimer);
15691
+ this.streamDoneTimer = null;
15692
+ }
15693
+ if (this.ws) {
15694
+ var ws = this.ws;
15695
+ this.ws = null;
15696
+ ws.onclose = null;
15697
+ try {
15698
+ ws.close();
15699
+ } catch (e) {
15700
+ // 已关闭时close抛错可忽略
15701
+ }
15702
+ }
15703
+ this.streamActive = false;
15704
+ this.streamWaitingDone = false;
15705
+ },
15317
15706
  releaseStream: function releaseStream() {
15318
15707
  if (this.stream) {
15319
15708
  this.stream.getTracks().forEach(function (track) {
@@ -15324,25 +15713,25 @@ var TRAILING_SILENCE_MS = 5000;
15324
15713
  },
15325
15714
  // 浏览器模式下SpeechRecognition不暴露音频流,单独取一路流用于波形绘制
15326
15715
  startVisualStream: function startVisualStream() {
15327
- var _this6 = this;
15716
+ var _this9 = this;
15328
15717
  if (!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)) return;
15329
15718
  navigator.mediaDevices.getUserMedia({
15330
15719
  audio: true
15331
15720
  }).then(function (stream) {
15332
15721
  // 取流回来时录音可能已结束
15333
- if (_this6.status !== 'recording') {
15722
+ if (_this9.status !== 'recording') {
15334
15723
  stream.getTracks().forEach(function (track) {
15335
15724
  return track.stop();
15336
15725
  });
15337
15726
  return;
15338
15727
  }
15339
- _this6.visualStream = stream;
15340
- _this6.startWaveform(stream);
15728
+ _this9.visualStream = stream;
15729
+ _this9.startWaveform(stream);
15341
15730
  }).catch(function () {});
15342
15731
  },
15343
15732
  // 用AnalyserNode实时绘制录音波形柱状图,复用startRecord手势内创建的AudioContext
15344
15733
  startWaveform: function startWaveform(stream) {
15345
- var _this7 = this;
15734
+ var _this10 = this;
15346
15735
  var canvas = this.$refs.waveCanvas;
15347
15736
  var audioContext = this.audioContext;
15348
15737
  if (!audioContext || audioContext.state === 'closed' || !canvas) return;
@@ -15366,20 +15755,28 @@ var TRAILING_SILENCE_MS = 5000;
15366
15755
  var barWidth = (canvas.width - gap * (barCount - 1)) / barCount;
15367
15756
  var centerY = canvas.height / 2;
15368
15757
  var draw = function draw() {
15369
- if (!_this7.analyser) return;
15370
- _this7.waveRafId = requestAnimationFrame(draw);
15371
- _this7.analyser.getByteFrequencyData(dataArray);
15758
+ if (!_this10.analyser) return;
15759
+ _this10.waveRafId = requestAnimationFrame(draw);
15760
+ _this10.analyser.getByteFrequencyData(dataArray);
15372
15761
  // 顺带做人声检测,供静音自动结束判定
15373
15762
  var sum = 0;
15374
15763
  for (var i = 0; i < dataArray.length; i++) {
15375
15764
  sum += dataArray[i];
15376
15765
  }
15377
15766
  if (sum / dataArray.length > VOICE_AVG_THRESHOLD) {
15378
- _this7.lastVoiceAt = Date.now();
15379
- _this7.hasVoice = true;
15767
+ _this10.lastVoiceAt = Date.now();
15768
+ _this10.hasVoice = true;
15380
15769
  }
15381
15770
  ctx.clearRect(0, 0, canvas.width, canvas.height);
15382
- ctx.fillStyle = '#1989fa';
15771
+ // 波形颜色随皮肤切换:科技版霓虹青带辉光,基本版保持品牌蓝
15772
+ if (_this10.currentSkin === 'tech') {
15773
+ ctx.fillStyle = '#00e5ff';
15774
+ ctx.shadowColor = 'rgba(0, 229, 255, 0.8)';
15775
+ ctx.shadowBlur = 8 * dpr;
15776
+ } else {
15777
+ ctx.fillStyle = '#1989fa';
15778
+ ctx.shadowBlur = 0;
15779
+ }
15383
15780
  for (var _i = 0; _i < barCount; _i++) {
15384
15781
  var value = dataArray[Math.floor(_i * dataArray.length / barCount)] / 255;
15385
15782
  var barHeight = Math.max(2 * dpr, value * canvas.height);
@@ -15409,6 +15806,7 @@ var TRAILING_SILENCE_MS = 5000;
15409
15806
  // 关闭/取消时释放麦克风等资源
15410
15807
  releaseResources: function releaseResources() {
15411
15808
  this.stopTimer();
15809
+ this.closeStream();
15412
15810
  this.stopWaveform();
15413
15811
  if (this.recognition) {
15414
15812
  this.recognition.abort();
@@ -15433,9 +15831,9 @@ var TRAILING_SILENCE_MS = 5000;
15433
15831
  });
15434
15832
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=script&lang=js
15435
15833
  /* harmony default export */ var src_VoiceInputDialogvue_type_script_lang_js = (VoiceInputDialogvue_type_script_lang_js);
15436
- // 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=5924c680&prod&scoped=true&lang=scss
15437
- var VoiceInputDialogvue_type_style_index_0_id_5924c680_prod_scoped_true_lang_scss = __webpack_require__(8532);
15438
- ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=5924c680&prod&scoped=true&lang=scss
15834
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-65.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-65.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-65.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-65.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=813d3ba6&prod&scoped=true&lang=scss
15835
+ var VoiceInputDialogvue_type_style_index_0_id_813d3ba6_prod_scoped_true_lang_scss = __webpack_require__(1143);
15836
+ ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=813d3ba6&prod&scoped=true&lang=scss
15439
15837
 
15440
15838
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue
15441
15839
 
@@ -15448,11 +15846,11 @@ var VoiceInputDialogvue_type_style_index_0_id_5924c680_prod_scoped_true_lang_scs
15448
15846
 
15449
15847
  var VoiceInputDialog_component = (0,componentNormalizer/* default */.A)(
15450
15848
  src_VoiceInputDialogvue_type_script_lang_js,
15451
- VoiceInputDialogvue_type_template_id_5924c680_scoped_true_render,
15452
- VoiceInputDialogvue_type_template_id_5924c680_scoped_true_staticRenderFns,
15849
+ VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_render,
15850
+ VoiceInputDialogvue_type_template_id_813d3ba6_scoped_true_staticRenderFns,
15453
15851
  false,
15454
15852
  null,
15455
- "5924c680",
15853
+ "813d3ba6",
15456
15854
  null
15457
15855
 
15458
15856
  )
@@ -16480,9 +16878,9 @@ var moment = __webpack_require__(5093);
16480
16878
  });
16481
16879
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=script&lang=js
16482
16880
  /* harmony default export */ var src_SubmitHandlevue_type_script_lang_js = (SubmitHandlevue_type_script_lang_js);
16483
- // 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/SubmitHandle.vue?vue&type=style&index=0&id=20bc806c&prod&scoped=true&lang=scss
16484
- var SubmitHandlevue_type_style_index_0_id_20bc806c_prod_scoped_true_lang_scss = __webpack_require__(7815);
16485
- ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=20bc806c&prod&scoped=true&lang=scss
16881
+ // 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/SubmitHandle.vue?vue&type=style&index=0&id=6bdfbd40&prod&scoped=true&lang=scss
16882
+ var SubmitHandlevue_type_style_index_0_id_6bdfbd40_prod_scoped_true_lang_scss = __webpack_require__(8525);
16883
+ ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=6bdfbd40&prod&scoped=true&lang=scss
16486
16884
 
16487
16885
  ;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue
16488
16886
 
@@ -16495,11 +16893,11 @@ var SubmitHandlevue_type_style_index_0_id_20bc806c_prod_scoped_true_lang_scss =
16495
16893
 
16496
16894
  var SubmitHandle_component = (0,componentNormalizer/* default */.A)(
16497
16895
  src_SubmitHandlevue_type_script_lang_js,
16498
- SubmitHandlevue_type_template_id_20bc806c_scoped_true_render,
16499
- SubmitHandlevue_type_template_id_20bc806c_scoped_true_staticRenderFns,
16896
+ SubmitHandlevue_type_template_id_6bdfbd40_scoped_true_render,
16897
+ SubmitHandlevue_type_template_id_6bdfbd40_scoped_true_staticRenderFns,
16500
16898
  false,
16501
16899
  null,
16502
- "20bc806c",
16900
+ "6bdfbd40",
16503
16901
  null
16504
16902
 
16505
16903
  )
@@ -19154,6 +19552,7 @@ var ShortcutProcessing_component = (0,componentNormalizer/* default */.A)(
19154
19552
 
19155
19553
 
19156
19554
 
19555
+
19157
19556
  // 为组件添加 install 方法,用于按需引入
19158
19557
  Attachment.install = function (Vue) {
19159
19558
  Vue.component(Attachment.name, Attachment);
@@ -19182,6 +19581,9 @@ WriteToReadIdea.install = function (Vue) {
19182
19581
  ShortcutProcessing.install = function (Vue) {
19183
19582
  Vue.component(ShortcutProcessing.name, ShortcutProcessing);
19184
19583
  };
19584
+ VoiceInputDialog.install = function (Vue) {
19585
+ Vue.component(VoiceInputDialog.name, VoiceInputDialog);
19586
+ };
19185
19587
  var Wflowform_Attachment = Attachment;
19186
19588
  var Wflowform_BodyFile = BodyFile;
19187
19589
  var Wflowform_HandleIdea = HandleIdea;
@@ -19191,6 +19593,7 @@ var Wflowform_SubmitDialog = SubmitDialog;
19191
19593
  var Wflowform_WfNodelogList = WfNodelogList;
19192
19594
  var Wflowform_WriteToReadIdea = WriteToReadIdea;
19193
19595
  var Wflowform_ShortcutProcessing = ShortcutProcessing;
19596
+ var Wflowform_VoiceInputDialog = VoiceInputDialog;
19194
19597
 
19195
19598
  /***/ }),
19196
19599
 
@@ -22303,7 +22706,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".van-switch-field[data-v-61ed46da]{pos
22303
22706
 
22304
22707
  /***/ }),
22305
22708
 
22306
- /***/ 4953:
22709
+ /***/ 7855:
22307
22710
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
22308
22711
 
22309
22712
  "use strict";
@@ -22317,7 +22720,7 @@ __webpack_require__.r(__webpack_exports__);
22317
22720
 
22318
22721
  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()));
22319
22722
  // Module
22320
- ___CSS_LOADER_EXPORT___.push([module.id, ".van-textarea-field[data-v-7743d246]{position:relative}.van-textarea-field[data-v-7743d246] .van-field__label{width:90%!important}.van-textarea-field[data-v-7743d246]:after{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;content:\" \";pointer-events:none;right:0;bottom:0;left:16px;border-bottom:1px solid #ebedf0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.richtext-content[data-v-7743d246]{width:100%;white-space:pre-wrap}.richtext-content[data-v-7743d246] img{-o-object-fit:contain;object-fit:contain;max-width:100%!important;height:auto!important}.richtext-content-hidden[data-v-7743d246]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.van-textarea-field[data-v-7743d246] .field-flSubject .richtext-content,.van-textarea-field[data-v-7743d246] .field-flSubject textarea.van-field__control{font-size:16px;font-weight:700}", ""]);
22723
+ ___CSS_LOADER_EXPORT___.push([module.id, ".van-textarea-field[data-v-27eb631a]{position:relative}.van-textarea-field[data-v-27eb631a] .van-field__label{width:90%!important}.van-textarea-field[data-v-27eb631a]:after{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;content:\" \";pointer-events:none;right:0;bottom:0;left:16px;border-bottom:1px solid #ebedf0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.richtext-content[data-v-27eb631a]{width:100%;white-space:pre-wrap}.richtext-content[data-v-27eb631a] img{-o-object-fit:contain;object-fit:contain;max-width:100%!important;height:auto!important}.richtext-content-hidden[data-v-27eb631a]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.voice-input-entry[data-v-27eb631a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:6px 16px 10px;color:#1989fa;font-size:14px}.voice-input-entry .voice-input-entry-icon[data-v-27eb631a]{width:16px;height:16px;margin-right:4px}.voice-input-entry[data-v-27eb631a]:active{opacity:.7}.van-textarea-field[data-v-27eb631a] .field-flSubject .richtext-content,.van-textarea-field[data-v-27eb631a] .field-flSubject textarea.van-field__control{font-size:16px;font-weight:700}", ""]);
22321
22724
  // Exports
22322
22725
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
22323
22726
 
@@ -22645,7 +23048,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-02d89fca] .van-nav-bar__title{
22645
23048
 
22646
23049
  /***/ }),
22647
23050
 
22648
- /***/ 945:
23051
+ /***/ 4527:
22649
23052
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
22650
23053
 
22651
23054
  "use strict";
@@ -22659,7 +23062,7 @@ __webpack_require__.r(__webpack_exports__);
22659
23062
 
22660
23063
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
22661
23064
  // Module
22662
- ___CSS_LOADER_EXPORT___.push([module.id, "#richtext[data-v-1c8100d7]{overflow-x:hidden;background:#fff;overflow-wrap:break-word;word-break:break-word}#richtext[data-v-1c8100d7] .w-e-toolbar{-ms-flex-wrap:wrap;flex-wrap:wrap;border:0!important;border-bottom:1px solid #eee!important}#richtext[data-v-1c8100d7] .w-e-toolbar .w-e-menu i{color:#333}#richtext[data-v-1c8100d7] .w-e-toolbar .w-e-droplist ul.w-e-list{max-height:150px;overflow-y:auto}#richtext[data-v-1c8100d7] .w-e-text-container{border:0!important;margin:5px}#richtext[data-v-1c8100d7] .w-e-text-container .w-e-text{padding:0;font-size:14px}#richtext[data-v-1c8100d7] .w-e-text-container .placeholder{left:0;top:0}", ""]);
23065
+ ___CSS_LOADER_EXPORT___.push([module.id, ".voice-input-entry[data-v-1847d5d1]{position:fixed;right:16px;bottom:76px;z-index:99;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:36px;padding:0 14px;border-radius:18px;background:#fff;color:#323233;font-size:13px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15);-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.voice-input-entry .voice-input-entry-icon[data-v-1847d5d1]{width:16px;height:16px;margin-right:4px}.voice-input-entry[data-v-1847d5d1]:active{opacity:.8}#richtext[data-v-1847d5d1]{overflow-x:hidden;background:#fff;overflow-wrap:break-word;word-break:break-word}#richtext[data-v-1847d5d1] .w-e-toolbar{-ms-flex-wrap:wrap;flex-wrap:wrap;border:0!important;border-bottom:1px solid #eee!important}#richtext[data-v-1847d5d1] .w-e-toolbar .w-e-menu i{color:#333}#richtext[data-v-1847d5d1] .w-e-toolbar .w-e-droplist ul.w-e-list{max-height:150px;overflow-y:auto}#richtext[data-v-1847d5d1] .w-e-text-container{border:0!important;margin:5px}#richtext[data-v-1847d5d1] .w-e-text-container .w-e-text{padding:0;font-size:14px}#richtext[data-v-1847d5d1] .w-e-text-container .placeholder{left:0;top:0}", ""]);
22663
23066
  // Exports
22664
23067
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
22665
23068
 
@@ -22939,7 +23342,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".submit-dialog-container[data-v-9c230b
22939
23342
 
22940
23343
  /***/ }),
22941
23344
 
22942
- /***/ 4704:
23345
+ /***/ 2106:
22943
23346
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
22944
23347
 
22945
23348
  "use strict";
@@ -22958,14 +23361,14 @@ var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require
22958
23361
  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()));
22959
23362
  var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);
22960
23363
  // Module
22961
- ___CSS_LOADER_EXPORT___.push([module.id, ".submit-handle-container .idea-button-container .van-cell__value[data-v-20bc806c]{text-align:right}.submit-handle-container .idea-button-container .van-cell__value .van-button[data-v-20bc806c]{margin-right:0;margin-left:5px}.submit-handle-container .curIdea-filed[data-v-20bc806c] .van-cell__title,.submit-handle-container .curIdea-filed[data-v-20bc806c]:after{display:none}.submit-handle-container .idea-input-wrap[data-v-20bc806c]{position:relative}.submit-handle-container .idea-input-wrap[data-v-20bc806c] .curIdea-filed textarea{padding-right:30px}.submit-handle-container .idea-input-wrap .voice-input-btn[data-v-20bc806c]{position:absolute;right:12px;bottom:8px;z-index:2;width:28px;height:28px;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;border-radius:50%;background-color:#f2f3f5;color:#646566}.submit-handle-container .idea-input-wrap .voice-input-btn .voice-input-icon[data-v-20bc806c]{width:16px;height:16px}.submit-handle-container .idea-input-wrap .voice-input-btn[data-v-20bc806c]:active{background-color:#ebedf0;color:#1989fa}.submit-handle-container .clearfix[data-v-20bc806c]:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.submit-handle-container[data-v-20bc806c] .van-radio-group .van-cell__title{font-weight:400!important}.submit-handle-container .van-wflow-operate-detail-cell[data-v-20bc806c]:after{border-top-width:0}.submit-handle-container .van-wflow-operate-detail-cell-path[data-v-20bc806c]:after{border-width:1px;-webkit-transform:scale(.5);transform:scale(.5)}.submit-handle-container[data-v-20bc806c] .tnLimit-container .van-field{width:50px;display:inline-block;padding:0}.submit-handle-container[data-v-20bc806c] .tnLimit-container .van-field .van-field__body input{text-align:center}.submit-handle-container[data-v-20bc806c] .tnLimit-container .van-field__body:after{color:#323233;content:attr(value-suffix);word-break:keep-all}.submit-handle-container .delete-icon[data-v-20bc806c]{display:-webkit-box;display:-ms-flexbox;display:flex;float:right}.submit-handle-container .delete-icon .van-icon[data-v-20bc806c]{line-height:24px;margin-left:5px;font-size:16px}.selectBox_title[data-v-20bc806c]{height:45px;line-height:45px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:14px}.selectBox_content[data-v-20bc806c],.selectBox_title[data-v-20bc806c]{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 15px}.selectBox_content[data-v-20bc806c]{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}.selectBox_content .selectBox_content_son[data-v-20bc806c]{border:1px solid #f1f1f1}.selectBox_content .selectBox_content_son[data-v-20bc806c],.selectBox_content .selectBox_content_son_change[data-v-20bc806c]{padding:4px;background:#f8fafb;font-size:14px;margin-bottom:10px!important;text-align:center;height:22px;line-height:22px;width:calc(25% - 17.5px);margin-right:10px}.selectBox_content .selectBox_content_son_change[data-v-20bc806c]{border:1px solid #3f88f1;background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ");background-repeat:no-repeat;background-size:15px 15px;background-position:100% 100%;color:#3f88f1}.selectBox_content_sonall[data-v-20bc806c]{white-space:nowrap;overflow:hidden;overflow-x:scroll;-webkit-overflow-scrolling:touch}.selectBox_content_sonall[data-v-20bc806c]:nth-child(4n){margin-right:0}.selectBox_content_sonall[data-v-20bc806c]::-webkit-scrollbar{display:none}.viewAllComments[data-v-20bc806c]{height:45px;line-height:45px;text-align:center;color:#b7b7b7;font-size:12px;background:#fff;display:block;width:100%}", ""]);
23364
+ ___CSS_LOADER_EXPORT___.push([module.id, ".submit-handle-container .idea-button-container .van-cell__value[data-v-6bdfbd40]{text-align:right}.submit-handle-container .idea-button-container .van-cell__value .van-button[data-v-6bdfbd40]{margin-right:0;margin-left:5px}.submit-handle-container .curIdea-filed[data-v-6bdfbd40] .van-cell__title,.submit-handle-container .curIdea-filed[data-v-6bdfbd40]:after{display:none}.submit-handle-container .idea-input-wrap[data-v-6bdfbd40]{position:relative}.submit-handle-container .idea-input-wrap[data-v-6bdfbd40] .curIdea-filed textarea{padding-right:30px}.submit-handle-container .idea-input-wrap .voice-input-btn[data-v-6bdfbd40]{position:absolute;right:12px;bottom:8px;z-index:2;width:28px;height:28px;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;border-radius:50%;background-color:#f2f3f5;color:#646566}.submit-handle-container .idea-input-wrap .voice-input-btn .voice-input-icon[data-v-6bdfbd40]{width:16px;height:16px}.submit-handle-container .idea-input-wrap .voice-input-btn[data-v-6bdfbd40]:active{background-color:#ebedf0;color:#1989fa}.submit-handle-container .clearfix[data-v-6bdfbd40]:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.submit-handle-container[data-v-6bdfbd40] .van-radio-group .van-cell__title{font-weight:400!important}.submit-handle-container .van-wflow-operate-detail-cell[data-v-6bdfbd40]:after{border-top-width:0}.submit-handle-container .van-wflow-operate-detail-cell-path[data-v-6bdfbd40]:after{border-width:1px;-webkit-transform:scale(.5);transform:scale(.5)}.submit-handle-container[data-v-6bdfbd40] .tnLimit-container .van-field{width:50px;display:inline-block;padding:0}.submit-handle-container[data-v-6bdfbd40] .tnLimit-container .van-field .van-field__body input{text-align:center}.submit-handle-container[data-v-6bdfbd40] .tnLimit-container .van-field__body:after{color:#323233;content:attr(value-suffix);word-break:keep-all}.submit-handle-container .delete-icon[data-v-6bdfbd40]{display:-webkit-box;display:-ms-flexbox;display:flex;float:right}.submit-handle-container .delete-icon .van-icon[data-v-6bdfbd40]{line-height:24px;margin-left:5px;font-size:16px}.selectBox_title[data-v-6bdfbd40]{height:45px;line-height:45px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:14px}.selectBox_content[data-v-6bdfbd40],.selectBox_title[data-v-6bdfbd40]{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 15px}.selectBox_content[data-v-6bdfbd40]{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap}.selectBox_content .selectBox_content_son[data-v-6bdfbd40]{border:1px solid #f1f1f1}.selectBox_content .selectBox_content_son[data-v-6bdfbd40],.selectBox_content .selectBox_content_son_change[data-v-6bdfbd40]{padding:4px;background:#f8fafb;font-size:14px;margin-bottom:10px!important;text-align:center;height:22px;line-height:22px;width:calc(25% - 17.5px);margin-right:10px}.selectBox_content .selectBox_content_son_change[data-v-6bdfbd40]{border:1px solid #3f88f1;background-image:url(" + ___CSS_LOADER_URL_REPLACEMENT_0___ + ");background-repeat:no-repeat;background-size:15px 15px;background-position:100% 100%;color:#3f88f1}.selectBox_content_sonall[data-v-6bdfbd40]{white-space:nowrap;overflow:hidden;overflow-x:scroll;-webkit-overflow-scrolling:touch}.selectBox_content_sonall[data-v-6bdfbd40]:nth-child(4n){margin-right:0}.selectBox_content_sonall[data-v-6bdfbd40]::-webkit-scrollbar{display:none}.viewAllComments[data-v-6bdfbd40]{height:45px;line-height:45px;text-align:center;color:#b7b7b7;font-size:12px;background:#fff;display:block;width:100%}", ""]);
22962
23365
  // Exports
22963
23366
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
22964
23367
 
22965
23368
 
22966
23369
  /***/ }),
22967
23370
 
22968
- /***/ 1447:
23371
+ /***/ 816:
22969
23372
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
22970
23373
 
22971
23374
  "use strict";
@@ -22979,7 +23382,7 @@ __webpack_require__.r(__webpack_exports__);
22979
23382
 
22980
23383
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
22981
23384
  // Module
22982
- ___CSS_LOADER_EXPORT___.push([module.id, ".voice-input-popup[data-v-5924c680]{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.voice-input-popup .voice-popup-header[data-v-5924c680]{position:relative;height:48px;line-height:48px;text-align:center}.voice-input-popup .voice-popup-header .voice-popup-title[data-v-5924c680]{font-size:16px;font-weight:600;color:#323233}.voice-input-popup .voice-popup-header .voice-popup-close[data-v-5924c680]{position:absolute;right:16px;top:16px;font-size:16px;color:#c8c9cc}.voice-input-popup .voice-popup-body[data-v-5924c680]{padding:8px 16px 0;text-align:center}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-5924c680]{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-5924c680]{width:28px;height:28px}.voice-input-popup .voice-popup-body .voice-mic-btn.recording[data-v-5924c680]{background-color:#ee0a24;-webkit-animation:voice-breathe-5924c680 1.5s ease-out infinite;animation:voice-breathe-5924c680 1.5s ease-out infinite}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-5924c680] .van-loading{padding-top:0}.voice-input-popup .voice-popup-body .voice-status-text[data-v-5924c680]{margin-top:12px;font-size:13px;color:#646566}.voice-input-popup .voice-popup-body .voice-status-text.is-error[data-v-5924c680]{color:#ee0a24}.voice-input-popup .voice-popup-body .voice-wave-canvas[data-v-5924c680]{display:block;width:200px;height:32px;margin:8px auto 0}.voice-input-popup .voice-popup-body .voice-timer[data-v-5924c680]{margin-top:4px;font-size:13px;color:#969799}.voice-input-popup .voice-popup-body .voice-result-field[data-v-5924c680]{margin-top:12px;background-color:#f7f8fa;border-radius:8px}.voice-input-popup .voice-popup-footer[data-v-5924c680]{padding:12px 16px;text-align:right}.voice-input-popup .voice-popup-footer .van-button[data-v-5924c680]{margin-left:8px;min-width:80px}@-webkit-keyframes voice-breathe-5924c680{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-5924c680{0%{-webkit-box-shadow:0 0 0 0 rgba(238,10,36,.5);box-shadow:0 0 0 0 rgba(238,10,36,.5)}to{-webkit-box-shadow:0 0 0 16px rgba(238,10,36,0);box-shadow:0 0 0 16px rgba(238,10,36,0)}}", ""]);
23385
+ ___CSS_LOADER_EXPORT___.push([module.id, ".voice-input-popup[data-v-813d3ba6]{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.voice-input-popup .voice-popup-header[data-v-813d3ba6]{position:relative;height:48px;line-height:48px;text-align:center}.voice-input-popup .voice-popup-header .voice-popup-title[data-v-813d3ba6]{font-size:16px;font-weight:600;color:#323233}.voice-input-popup .voice-popup-header .voice-popup-close[data-v-813d3ba6]{position:absolute;right:16px;top:16px;font-size:16px;color:#c8c9cc}.voice-input-popup .voice-popup-body[data-v-813d3ba6]{padding:8px 16px 0;text-align:center}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-813d3ba6]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:64px;height:64px;border-radius:50%;background-color:#1989fa;color:#fff}.voice-input-popup .voice-popup-body .voice-mic-btn .voice-mic-icon[data-v-813d3ba6]{width:28px;height:28px}.voice-input-popup .voice-popup-body .voice-mic-btn.recording[data-v-813d3ba6]{background-color:#ee0a24;-webkit-animation:voice-breathe-813d3ba6 1.5s ease-out infinite;animation:voice-breathe-813d3ba6 1.5s ease-out infinite}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-813d3ba6] .van-loading{padding-top:0}.voice-input-popup .voice-popup-body .voice-status-text[data-v-813d3ba6]{margin-top:12px;font-size:13px;color:#646566}.voice-input-popup .voice-popup-body .voice-status-text.is-error[data-v-813d3ba6]{color:#ee0a24}.voice-input-popup .voice-popup-body .voice-wave-canvas[data-v-813d3ba6]{display:block;width:200px;height:32px;margin:8px auto 0}.voice-input-popup .voice-popup-body .voice-timer[data-v-813d3ba6]{margin-top:4px;font-size:13px;color:#969799}.voice-input-popup .voice-popup-body .voice-result-field[data-v-813d3ba6]{margin-top:12px;background-color:#f7f8fa;border-radius:8px}.voice-input-popup .voice-popup-footer[data-v-813d3ba6]{padding:12px 16px;text-align:right}.voice-input-popup .voice-popup-footer .van-button[data-v-813d3ba6]{margin-left:8px;min-width:80px}.voice-mic-wrap[data-v-813d3ba6]{position:relative;display:inline-block;width:64px;height:64px}.voice-mic-wrap .tech-ripple[data-v-813d3ba6]{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;border:1px solid rgba(0,229,255,.6);opacity:0;pointer-events:none}.voice-input-popup.skin-tech[data-v-813d3ba6]{background-image:linear-gradient(rgba(0,229,255,.045) 1px,transparent 0),linear-gradient(90deg,rgba(0,229,255,.045) 1px,transparent 0),radial-gradient(circle at 18% 0,rgba(0,229,255,.12),transparent 42%),radial-gradient(circle at 85% 100%,rgba(0,110,255,.12),transparent 45%),linear-gradient(160deg,#060d21,#0a1a3f 55%,#071026);background-size:24px 24px,24px 24px,100% 100%,100% 100%,100% 100%}.voice-input-popup.skin-tech .voice-popup-header[data-v-813d3ba6]{border-bottom:1px solid rgba(0,229,255,.15)}.voice-input-popup.skin-tech .voice-popup-header .voice-popup-title[data-v-813d3ba6]{color:#d8f4ff;letter-spacing:3px;text-shadow:0 0 10px rgba(0,229,255,.75)}.voice-input-popup.skin-tech .voice-popup-header .voice-popup-close[data-v-813d3ba6]{color:rgba(0,229,255,.6)}.voice-input-popup.skin-tech .voice-popup-body .voice-mic-btn[data-v-813d3ba6]{background:radial-gradient(circle at 30% 25%,#1a4a8a,#0a2547 72%);border:1.5px solid rgba(0,229,255,.7);color:#00e5ff;-webkit-box-shadow:0 0 20px rgba(0,229,255,.4),inset 0 0 15px rgba(0,229,255,.15);box-shadow:0 0 20px rgba(0,229,255,.4),inset 0 0 15px rgba(0,229,255,.15)}.voice-input-popup.skin-tech .voice-popup-body .voice-mic-btn.recording[data-v-813d3ba6]{background:radial-gradient(circle at 30% 25%,#8a1a3f,#470a20 72%);border-color:rgba(255,45,105,.85);color:#ff5c8a;-webkit-animation:tech-breathe-813d3ba6 1.5s ease-out infinite;animation:tech-breathe-813d3ba6 1.5s ease-out infinite}.voice-input-popup.skin-tech .voice-popup-body .voice-status-text[data-v-813d3ba6]{color:#8fd8ff;text-shadow:0 0 6px rgba(0,229,255,.3)}.voice-input-popup.skin-tech .voice-popup-body .voice-status-text.is-error[data-v-813d3ba6]{color:#ff5c8a;text-shadow:0 0 6px rgba(255,45,105,.3)}.voice-input-popup.skin-tech .voice-popup-body .voice-timer[data-v-813d3ba6]{color:#00e5ff;font-family:Courier New,Courier,monospace;letter-spacing:2px;text-shadow:0 0 8px rgba(0,229,255,.7)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6]{background:rgba(6,25,55,.6);border:1px solid rgba(0,229,255,.35);-webkit-box-shadow:inset 0 0 12px rgba(0,229,255,.1);box-shadow:inset 0 0 12px rgba(0,229,255,.1)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6] .van-field__control{color:#d8f4ff;caret-color:#00e5ff}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6] .van-field__control::-webkit-input-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6] .van-field__control::-moz-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6] .van-field__control::-ms-input-placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-body .voice-result-field[data-v-813d3ba6] .van-field__control::placeholder{color:rgba(143,216,255,.4)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--default[data-v-813d3ba6]{background:transparent;color:#8fd8ff}.voice-input-popup.skin-tech .voice-popup-footer .van-button--default[data-v-813d3ba6]:after{border-color:rgba(0,229,255,.4)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info[data-v-813d3ba6]{background:-webkit-gradient(linear,left top,right top,from(#00b8d4),to(#00e5ff));background:linear-gradient(90deg,#00b8d4,#00e5ff);color:#04122b;-webkit-box-shadow:0 0 12px rgba(0,229,255,.45);box-shadow:0 0 12px rgba(0,229,255,.45)}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info[data-v-813d3ba6]:after{border-width:0}.voice-input-popup.skin-tech .voice-popup-footer .van-button--info.van-button--disabled[data-v-813d3ba6]{opacity:.45}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple[data-v-813d3ba6]{border-color:rgba(255,45,105,.7);-webkit-animation:tech-ripple-813d3ba6 2s ease-out infinite;animation:tech-ripple-813d3ba6 2s ease-out infinite}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple-2[data-v-813d3ba6]{-webkit-animation-delay:.6s;animation-delay:.6s}.voice-input-popup.skin-tech .voice-mic-wrap.recording .tech-ripple-3[data-v-813d3ba6]{-webkit-animation-delay:1.2s;animation-delay:1.2s}@-webkit-keyframes tech-ripple-813d3ba6{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{-webkit-transform:scale(2.4);transform:scale(2.4);opacity:0}}@keyframes tech-ripple-813d3ba6{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.7}to{-webkit-transform:scale(2.4);transform:scale(2.4);opacity:0}}@-webkit-keyframes tech-breathe-813d3ba6{0%{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45)}to{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0)}}@keyframes tech-breathe-813d3ba6{0%{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 0 rgba(255,45,105,.45)}to{-webkit-box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0);box-shadow:0 0 24px rgba(255,45,105,.55),inset 0 0 15px rgba(255,45,105,.2),0 0 0 18px rgba(255,45,105,0)}}@-webkit-keyframes voice-breathe-813d3ba6{0%{-webkit-box-shadow:0 0 0 0 rgba(238,10,36,.5);box-shadow:0 0 0 0 rgba(238,10,36,.5)}to{-webkit-box-shadow:0 0 0 16px rgba(238,10,36,0);box-shadow:0 0 0 16px rgba(238,10,36,0)}}@keyframes voice-breathe-813d3ba6{0%{-webkit-box-shadow:0 0 0 0 rgba(238,10,36,.5);box-shadow:0 0 0 0 rgba(238,10,36,.5)}to{-webkit-box-shadow:0 0 0 16px rgba(238,10,36,0);box-shadow:0 0 0 16px rgba(238,10,36,0)}}", ""]);
22983
23386
  // Exports
22984
23387
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
22985
23388
 
@@ -23049,7 +23452,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".loading[data-v-69610664]{margin-top:1
23049
23452
 
23050
23453
  /***/ }),
23051
23454
 
23052
- /***/ 7472:
23455
+ /***/ 1281:
23053
23456
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
23054
23457
 
23055
23458
  "use strict";
@@ -23063,7 +23466,7 @@ __webpack_require__.r(__webpack_exports__);
23063
23466
 
23064
23467
  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()));
23065
23468
  // Module
23066
- ___CSS_LOADER_EXPORT___.push([module.id, ".icon-dialog[data-v-76a1a43d] .el-dialog__body{height:650px;overflow-y:auto;padding:0 0 20px 0}.icon-dialog[data-v-76a1a43d] .el-dialog__body .el-tabs--top{margin-top:0}", ""]);
23469
+ ___CSS_LOADER_EXPORT___.push([module.id, ".icon-dialog[data-v-3ebd0a76] .el-dialog__body{height:650px;overflow-y:auto;padding:0 0 20px 0}.icon-dialog[data-v-3ebd0a76] .el-dialog__body .el-tabs--top{margin-top:0}", ""]);
23067
23470
  // Exports
23068
23471
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
23069
23472
 
@@ -50131,19 +50534,19 @@ var update = add("72d06f4a", content, true, {"sourceMap":false,"shadowMode":fals
50131
50534
 
50132
50535
  /***/ }),
50133
50536
 
50134
- /***/ 9472:
50537
+ /***/ 6150:
50135
50538
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
50136
50539
 
50137
50540
  // style-loader: Adds some css to the DOM by adding a <style> tag
50138
50541
 
50139
50542
  // load the styles
50140
- var content = __webpack_require__(4953);
50543
+ var content = __webpack_require__(7855);
50141
50544
  if(content.__esModule) content = content.default;
50142
50545
  if(typeof content === 'string') content = [[module.id, content, '']];
50143
50546
  if(content.locals) module.exports = content.locals;
50144
50547
  // add the styles to the DOM
50145
50548
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
50146
- var update = add("0a26e2e8", content, true, {"sourceMap":false,"shadowMode":false});
50549
+ var update = add("effdccb0", content, true, {"sourceMap":false,"shadowMode":false});
50147
50550
 
50148
50551
  /***/ }),
50149
50552
 
@@ -50387,19 +50790,19 @@ var update = add("17ee992d", content, true, {"sourceMap":false,"shadowMode":fals
50387
50790
 
50388
50791
  /***/ }),
50389
50792
 
50390
- /***/ 6890:
50793
+ /***/ 3600:
50391
50794
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
50392
50795
 
50393
50796
  // style-loader: Adds some css to the DOM by adding a <style> tag
50394
50797
 
50395
50798
  // load the styles
50396
- var content = __webpack_require__(945);
50799
+ var content = __webpack_require__(4527);
50397
50800
  if(content.__esModule) content = content.default;
50398
50801
  if(typeof content === 'string') content = [[module.id, content, '']];
50399
50802
  if(content.locals) module.exports = content.locals;
50400
50803
  // add the styles to the DOM
50401
50804
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
50402
- var update = add("0d496ecc", content, true, {"sourceMap":false,"shadowMode":false});
50805
+ var update = add("d5fd1878", content, true, {"sourceMap":false,"shadowMode":false});
50403
50806
 
50404
50807
  /***/ }),
50405
50808
 
@@ -50611,35 +51014,35 @@ var update = add("72ae29a9", content, true, {"sourceMap":false,"shadowMode":fals
50611
51014
 
50612
51015
  /***/ }),
50613
51016
 
50614
- /***/ 7815:
51017
+ /***/ 8525:
50615
51018
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
50616
51019
 
50617
51020
  // style-loader: Adds some css to the DOM by adding a <style> tag
50618
51021
 
50619
51022
  // load the styles
50620
- var content = __webpack_require__(4704);
51023
+ var content = __webpack_require__(2106);
50621
51024
  if(content.__esModule) content = content.default;
50622
51025
  if(typeof content === 'string') content = [[module.id, content, '']];
50623
51026
  if(content.locals) module.exports = content.locals;
50624
51027
  // add the styles to the DOM
50625
51028
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
50626
- var update = add("628bb8ae", content, true, {"sourceMap":false,"shadowMode":false});
51029
+ var update = add("610e6bf1", content, true, {"sourceMap":false,"shadowMode":false});
50627
51030
 
50628
51031
  /***/ }),
50629
51032
 
50630
- /***/ 8532:
51033
+ /***/ 1143:
50631
51034
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
50632
51035
 
50633
51036
  // style-loader: Adds some css to the DOM by adding a <style> tag
50634
51037
 
50635
51038
  // load the styles
50636
- var content = __webpack_require__(1447);
51039
+ var content = __webpack_require__(816);
50637
51040
  if(content.__esModule) content = content.default;
50638
51041
  if(typeof content === 'string') content = [[module.id, content, '']];
50639
51042
  if(content.locals) module.exports = content.locals;
50640
51043
  // add the styles to the DOM
50641
51044
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
50642
- var update = add("0cc4cd96", content, true, {"sourceMap":false,"shadowMode":false});
51045
+ var update = add("726a2a5a", content, true, {"sourceMap":false,"shadowMode":false});
50643
51046
 
50644
51047
  /***/ }),
50645
51048
 
@@ -50691,19 +51094,19 @@ var update = add("67603478", content, true, {"sourceMap":false,"shadowMode":fals
50691
51094
 
50692
51095
  /***/ }),
50693
51096
 
50694
- /***/ 7799:
51097
+ /***/ 6750:
50695
51098
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
50696
51099
 
50697
51100
  // style-loader: Adds some css to the DOM by adding a <style> tag
50698
51101
 
50699
51102
  // load the styles
50700
- var content = __webpack_require__(7472);
51103
+ var content = __webpack_require__(1281);
50701
51104
  if(content.__esModule) content = content.default;
50702
51105
  if(typeof content === 'string') content = [[module.id, content, '']];
50703
51106
  if(content.locals) module.exports = content.locals;
50704
51107
  // add the styles to the DOM
50705
51108
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
50706
- var update = add("6d7e97b1", content, true, {"sourceMap":false,"shadowMode":false});
51109
+ var update = add("74e125c2", content, true, {"sourceMap":false,"shadowMode":false});
50707
51110
 
50708
51111
  /***/ }),
50709
51112
 
@@ -52272,7 +52675,7 @@ webpackContext.id = 2397;
52272
52675
 
52273
52676
  var map = {
52274
52677
  "./app.js": 1494,
52275
- "./route.js": 6424,
52678
+ "./route.js": 2184,
52276
52679
  "./settings.js": 8048,
52277
52680
  "./tagsView.js": 1333
52278
52681
  };
@@ -56576,7 +56979,7 @@ service.interceptors.response.use(function (response) {
56576
56979
  errmsg = error.response.data.message;
56577
56980
  }
56578
56981
  if (window.vType === 'wapp') {
56579
- var ignoreUrls = ['login', 'getUserRolePermissions', 'getUiStyleConfig', 'queryUiFontSize', 'homepage/allm'];
56982
+ var ignoreUrls = ['login', 'getUserRolePermissions', 'getUiStyleConfig', 'queryUiFontSize', 'homepage/allm', 'getLastMsgCount'];
56580
56983
  if (!ignoreUrls.some(function (u) {
56581
56984
  return error.config.url.toLowerCase().indexOf(u.toLocaleLowerCase()) !== -1;
56582
56985
  })) {
@@ -70932,8 +71335,8 @@ var SwitchField_component = (0,componentNormalizer/* default */.A)(
70932
71335
  )
70933
71336
 
70934
71337
  /* harmony default export */ var SwitchField = (SwitchField_component.exports);
70935
- ;// 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/Basicform/src/FormField/TextareaField.vue?vue&type=template&id=7743d246&scoped=true
70936
- var TextareaFieldvue_type_template_id_7743d246_scoped_true_render = function render() {
71338
+ ;// 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/Basicform/src/FormField/TextareaField.vue?vue&type=template&id=27eb631a&scoped=true
71339
+ var TextareaFieldvue_type_template_id_27eb631a_scoped_true_render = function render() {
70937
71340
  var _vm = this,
70938
71341
  _c = _vm._self._c;
70939
71342
  return _vm.isShowField ? _c('div', {
@@ -71026,9 +71429,42 @@ var TextareaFieldvue_type_template_id_7743d246_scoped_true_render = function ren
71026
71429
  return _vm.showTextContent(_vm.showType);
71027
71430
  }
71028
71431
  }
71029
- }, [_vm._v(_vm._s(_vm.textName))])]) : _vm._e()], 1) : _vm._e();
71432
+ }, [_vm._v(_vm._s(_vm.textName))])]) : _vm._e(), _vm.voiceInputEnabled ? _c('div', {
71433
+ staticClass: "voice-input-entry",
71434
+ on: {
71435
+ "click": function click($event) {
71436
+ $event.stopPropagation();
71437
+ return _vm.openVoiceDialog.apply(null, arguments);
71438
+ }
71439
+ }
71440
+ }, [_c('svg', {
71441
+ staticClass: "voice-input-entry-icon",
71442
+ attrs: {
71443
+ "viewBox": "0 0 1024 1024",
71444
+ "fill": "currentColor",
71445
+ "aria-hidden": "true"
71446
+ }
71447
+ }, [_c('path', {
71448
+ attrs: {
71449
+ "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"
71450
+ }
71451
+ }), _c('path', {
71452
+ attrs: {
71453
+ "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"
71454
+ }
71455
+ })]), _c('span', [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceInput', '语音输入')))])]) : _vm._e(), _c('VoiceInputDialog', {
71456
+ attrs: {
71457
+ "visible": _vm.voiceDialogVisible
71458
+ },
71459
+ on: {
71460
+ "update:visible": function updateVisible($event) {
71461
+ _vm.voiceDialogVisible = $event;
71462
+ },
71463
+ "confirm": _vm.onVoiceConfirm
71464
+ }
71465
+ })], 1) : _vm._e();
71030
71466
  };
71031
- var TextareaFieldvue_type_template_id_7743d246_scoped_true_staticRenderFns = [];
71467
+ var TextareaFieldvue_type_template_id_27eb631a_scoped_true_staticRenderFns = [];
71032
71468
 
71033
71469
  ;// 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/Basicform/src/FormField/TextareaField.vue?vue&type=script&lang=js
71034
71470
  function TextareaFieldvue_type_script_lang_js_typeof(o) { "@babel/helpers - typeof"; return TextareaFieldvue_type_script_lang_js_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; }, TextareaFieldvue_type_script_lang_js_typeof(o); }
@@ -71093,6 +71529,10 @@ function TextareaFieldvue_type_script_lang_js_toPrimitive(t, r) { if ("object" !
71093
71529
  autosize: {
71094
71530
  type: Boolean,
71095
71531
  default: true
71532
+ },
71533
+ voiceInput: {
71534
+ type: Boolean,
71535
+ default: false
71096
71536
  }
71097
71537
  },
71098
71538
  data: function data() {
@@ -71105,10 +71545,15 @@ function TextareaFieldvue_type_script_lang_js_toPrimitive(t, r) { if ("object" !
71105
71545
  maxLength: null,
71106
71546
  updateField: false,
71107
71547
  inputValue: '',
71108
- nodeFieldReadOnly: false
71548
+ nodeFieldReadOnly: false,
71549
+ voiceDialogVisible: false
71109
71550
  };
71110
71551
  },
71111
71552
  computed: TextareaFieldvue_type_script_lang_js_objectSpread(TextareaFieldvue_type_script_lang_js_objectSpread({}, (0,vuex_esm/* mapGetters */.L8)(['loginUser'])), {}, {
71553
+ // 语音输入按钮显示条件:voice-input属性为true、字段可编辑且非元素级只读
71554
+ voiceInputEnabled: function voiceInputEnabled() {
71555
+ return this.voiceInput && !this.readonly && !this.nodeFieldReadOnly && this.elementReadonly !== 1;
71556
+ },
71112
71557
  optionGenerateUrl: function optionGenerateUrl() {
71113
71558
  var _this2 = this;
71114
71559
  var url = this.field.optionGenerateUrl;
@@ -71422,6 +71867,15 @@ function TextareaFieldvue_type_script_lang_js_toPrimitive(t, r) { if ("object" !
71422
71867
  _this6.updateField = false;
71423
71868
  });
71424
71869
  },
71870
+ // 打开语音输入弹窗
71871
+ openVoiceDialog: function openVoiceDialog() {
71872
+ this.voiceDialogVisible = true;
71873
+ },
71874
+ // 语音识别完成回调:识别文本追加到现有内容末尾,同步更新字段值
71875
+ onVoiceConfirm: function onVoiceConfirm(text) {
71876
+ this.inputValue = this.inputValue ? this.inputValue + text : text;
71877
+ this.setFieldValue(this.inputValue);
71878
+ },
71425
71879
  getFieldValue: function getFieldValue() {
71426
71880
  if (this.model.split('.').length > 1) {
71427
71881
  if (TextareaFieldvue_type_script_lang_js_typeof(this.vo[this.model.split('.')[0]]) === 'object' && this.vo[this.model.split('.')[0]] != null) {
@@ -71449,9 +71903,9 @@ function TextareaFieldvue_type_script_lang_js_toPrimitive(t, r) { if ("object" !
71449
71903
  });
71450
71904
  ;// CONCATENATED MODULE: ./packages/ecmapp/Basicform/src/FormField/TextareaField.vue?vue&type=script&lang=js
71451
71905
  /* harmony default export */ var FormField_TextareaFieldvue_type_script_lang_js = (TextareaFieldvue_type_script_lang_js);
71452
- // 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/Basicform/src/FormField/TextareaField.vue?vue&type=style&index=0&id=7743d246&prod&scoped=true&lang=scss
71453
- var TextareaFieldvue_type_style_index_0_id_7743d246_prod_scoped_true_lang_scss = __webpack_require__(9472);
71454
- ;// CONCATENATED MODULE: ./packages/ecmapp/Basicform/src/FormField/TextareaField.vue?vue&type=style&index=0&id=7743d246&prod&scoped=true&lang=scss
71906
+ // 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/Basicform/src/FormField/TextareaField.vue?vue&type=style&index=0&id=27eb631a&prod&scoped=true&lang=scss
71907
+ var TextareaFieldvue_type_style_index_0_id_27eb631a_prod_scoped_true_lang_scss = __webpack_require__(6150);
71908
+ ;// CONCATENATED MODULE: ./packages/ecmapp/Basicform/src/FormField/TextareaField.vue?vue&type=style&index=0&id=27eb631a&prod&scoped=true&lang=scss
71455
71909
 
71456
71910
  ;// CONCATENATED MODULE: ./packages/ecmapp/Basicform/src/FormField/TextareaField.vue
71457
71911
 
@@ -71464,11 +71918,11 @@ var TextareaFieldvue_type_style_index_0_id_7743d246_prod_scoped_true_lang_scss =
71464
71918
 
71465
71919
  var TextareaField_component = (0,componentNormalizer/* default */.A)(
71466
71920
  FormField_TextareaFieldvue_type_script_lang_js,
71467
- TextareaFieldvue_type_template_id_7743d246_scoped_true_render,
71468
- TextareaFieldvue_type_template_id_7743d246_scoped_true_staticRenderFns,
71921
+ TextareaFieldvue_type_template_id_27eb631a_scoped_true_render,
71922
+ TextareaFieldvue_type_template_id_27eb631a_scoped_true_staticRenderFns,
71469
71923
  false,
71470
71924
  null,
71471
- "7743d246",
71925
+ "27eb631a",
71472
71926
  null
71473
71927
 
71474
71928
  )
@@ -72958,6 +73412,1766 @@ permission.install = permission_install;
72958
73412
 
72959
73413
 
72960
73414
  external_commonjs_vue_commonjs2_vue_root_Vue_default().use(Directive_permission);
73415
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
73416
+ function _extends() {
73417
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
73418
+ for (var e = 1; e < arguments.length; e++) {
73419
+ var t = arguments[e];
73420
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
73421
+ }
73422
+ return n;
73423
+ }, _extends.apply(null, arguments);
73424
+ }
73425
+
73426
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/bem.js
73427
+ /**
73428
+ * bem helper
73429
+ * b() // 'button'
73430
+ * b('text') // 'button__text'
73431
+ * b({ disabled }) // 'button button--disabled'
73432
+ * b('text', { disabled }) // 'button__text button__text--disabled'
73433
+ * b(['disabled', 'primary']) // 'button button--disabled button--primary'
73434
+ */
73435
+ function gen(name, mods) {
73436
+ if (!mods) {
73437
+ return '';
73438
+ }
73439
+
73440
+ if (typeof mods === 'string') {
73441
+ return " " + name + "--" + mods;
73442
+ }
73443
+
73444
+ if (Array.isArray(mods)) {
73445
+ return mods.reduce(function (ret, item) {
73446
+ return ret + gen(name, item);
73447
+ }, '');
73448
+ }
73449
+
73450
+ return Object.keys(mods).reduce(function (ret, key) {
73451
+ return ret + (mods[key] ? gen(name, key) : '');
73452
+ }, '');
73453
+ }
73454
+
73455
+ function createBEM(name) {
73456
+ return function (el, mods) {
73457
+ if (el && typeof el !== 'string') {
73458
+ mods = el;
73459
+ el = '';
73460
+ }
73461
+
73462
+ el = el ? name + "__" + el : name;
73463
+ return "" + el + gen(el, mods);
73464
+ };
73465
+ }
73466
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/index.js
73467
+
73468
+
73469
+
73470
+ var utils_inBrowser = typeof window !== 'undefined';
73471
+ var isServer = (external_commonjs_vue_commonjs2_vue_root_Vue_default()).prototype.$isServer; // eslint-disable-next-line @typescript-eslint/no-empty-function
73472
+
73473
+ function utils_noop() {}
73474
+ function isDef(val) {
73475
+ return val !== undefined && val !== null;
73476
+ }
73477
+ function utils_isFunction(val) {
73478
+ return typeof val === 'function';
73479
+ }
73480
+ function utils_isObject(val) {
73481
+ return val !== null && typeof val === 'object';
73482
+ }
73483
+ function isPromise(val) {
73484
+ return utils_isObject(val) && utils_isFunction(val.then) && utils_isFunction(val.catch);
73485
+ }
73486
+ function get(object, path) {
73487
+ var keys = path.split('.');
73488
+ var result = object;
73489
+ keys.forEach(function (key) {
73490
+ var _result$key;
73491
+
73492
+ result = utils_isObject(result) ? (_result$key = result[key]) != null ? _result$key : '' : '';
73493
+ });
73494
+ return result;
73495
+ }
73496
+ /**
73497
+ * Checks if `value` is an empty object, collection, map, or set.
73498
+ *
73499
+ * Objects are considered empty if they have no own enumerable string keyed
73500
+ * properties.
73501
+ *
73502
+ * Array-like values such as `arguments` objects, arrays, buffers, strings, or
73503
+ * jQuery-like collections are considered empty if they have a `length` of `0`.
73504
+ * Similarly, maps and sets are considered empty if they have a `size` of `0`.
73505
+ *
73506
+ * @function isEmpty
73507
+ * @param {*} value The value to check.
73508
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
73509
+ * @example
73510
+ *
73511
+ * _.isEmpty(null);
73512
+ * // => true
73513
+ *
73514
+ * _.isEmpty(true);
73515
+ * // => true
73516
+ *
73517
+ * _.isEmpty(1);
73518
+ * // => true
73519
+ *
73520
+ * _.isEmpty([1, 2, 3]);
73521
+ * // => false
73522
+ *
73523
+ * _.isEmpty({ 'a': 1 });
73524
+ * // => false
73525
+ */
73526
+
73527
+ function isEmpty(value) {
73528
+ if (value == null) {
73529
+ return true;
73530
+ }
73531
+
73532
+ if (typeof value !== 'object') {
73533
+ return true;
73534
+ }
73535
+
73536
+ return Object.keys(value).length === 0;
73537
+ }
73538
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/format/string.js
73539
+ var camelizeRE = /-(\w)/g;
73540
+ function camelize(str) {
73541
+ return str.replace(camelizeRE, function (_, c) {
73542
+ return c.toUpperCase();
73543
+ });
73544
+ }
73545
+ function padZero(num, targetLength) {
73546
+ if (targetLength === void 0) {
73547
+ targetLength = 2;
73548
+ }
73549
+
73550
+ var str = num + '';
73551
+
73552
+ while (str.length < targetLength) {
73553
+ str = '0' + str;
73554
+ }
73555
+
73556
+ return str;
73557
+ }
73558
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/slots.js
73559
+ /**
73560
+ * Use scopedSlots in Vue 2.6+
73561
+ * downgrade to slots in lower version
73562
+ */
73563
+ var SlotsMixin = {
73564
+ methods: {
73565
+ slots: function slots(name, props) {
73566
+ if (name === void 0) {
73567
+ name = 'default';
73568
+ }
73569
+
73570
+ var $slots = this.$slots,
73571
+ $scopedSlots = this.$scopedSlots;
73572
+ var scopedSlot = $scopedSlots[name];
73573
+
73574
+ if (scopedSlot) {
73575
+ return scopedSlot(props);
73576
+ }
73577
+
73578
+ return $slots[name];
73579
+ }
73580
+ }
73581
+ };
73582
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/component.js
73583
+ /**
73584
+ * Create a basic component with common options
73585
+ */
73586
+
73587
+
73588
+
73589
+
73590
+
73591
+
73592
+ function component_install(Vue) {
73593
+ var name = this.name;
73594
+ Vue.component(name, this);
73595
+ Vue.component(camelize("-" + name), this);
73596
+ } // unify slots & scopedSlots
73597
+
73598
+
73599
+ function unifySlots(context) {
73600
+ // use data.scopedSlots in lower Vue version
73601
+ var scopedSlots = context.scopedSlots || context.data.scopedSlots || {};
73602
+ var slots = context.slots();
73603
+ Object.keys(slots).forEach(function (key) {
73604
+ if (!scopedSlots[key]) {
73605
+ scopedSlots[key] = function () {
73606
+ return slots[key];
73607
+ };
73608
+ }
73609
+ });
73610
+ return scopedSlots;
73611
+ } // should be removed after Vue 3
73612
+
73613
+ function transformFunctionComponent(pure) {
73614
+ return {
73615
+ functional: true,
73616
+ props: pure.props,
73617
+ model: pure.model,
73618
+ render: function render(h, context) {
73619
+ return pure(h, context.props, unifySlots(context), context);
73620
+ }
73621
+ };
73622
+ }
73623
+
73624
+ function createComponent(name) {
73625
+ return function (sfc) {
73626
+ if (utils_isFunction(sfc)) {
73627
+ sfc = transformFunctionComponent(sfc);
73628
+ }
73629
+
73630
+ if (!sfc.functional) {
73631
+ sfc.mixins = sfc.mixins || [];
73632
+ sfc.mixins.push(SlotsMixin);
73633
+ }
73634
+
73635
+ sfc.name = name;
73636
+ sfc.install = component_install;
73637
+ return sfc;
73638
+ };
73639
+ }
73640
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/deep-assign.js
73641
+
73642
+ var deep_assign_hasOwnProperty = Object.prototype.hasOwnProperty;
73643
+
73644
+ function assignKey(to, from, key) {
73645
+ var val = from[key];
73646
+
73647
+ if (!isDef(val)) {
73648
+ return;
73649
+ }
73650
+
73651
+ if (!deep_assign_hasOwnProperty.call(to, key) || !utils_isObject(val)) {
73652
+ to[key] = val;
73653
+ } else {
73654
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
73655
+ to[key] = deepAssign(Object(to[key]), from[key]);
73656
+ }
73657
+ }
73658
+
73659
+ function deepAssign(to, from) {
73660
+ Object.keys(from).forEach(function (key) {
73661
+ assignKey(to, from, key);
73662
+ });
73663
+ return to;
73664
+ }
73665
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/locale/lang/zh-CN.js
73666
+ /* harmony default export */ var zh_CN = ({
73667
+ name: '姓名',
73668
+ tel: '电话',
73669
+ save: '保存',
73670
+ confirm: '确认',
73671
+ cancel: '取消',
73672
+ delete: '删除',
73673
+ complete: '完成',
73674
+ loading: '加载中...',
73675
+ telEmpty: '请填写电话',
73676
+ nameEmpty: '请填写姓名',
73677
+ nameInvalid: '请输入正确的姓名',
73678
+ confirmDelete: '确定要删除吗',
73679
+ telInvalid: '请输入正确的手机号',
73680
+ vanCalendar: {
73681
+ end: '结束',
73682
+ start: '开始',
73683
+ title: '日期选择',
73684
+ confirm: '确定',
73685
+ startEnd: '开始/结束',
73686
+ weekdays: ['日', '一', '二', '三', '四', '五', '六'],
73687
+ monthTitle: function monthTitle(year, month) {
73688
+ return year + "\u5E74" + month + "\u6708";
73689
+ },
73690
+ rangePrompt: function rangePrompt(maxRange) {
73691
+ return "\u9009\u62E9\u5929\u6570\u4E0D\u80FD\u8D85\u8FC7 " + maxRange + " \u5929";
73692
+ }
73693
+ },
73694
+ vanCascader: {
73695
+ select: '请选择'
73696
+ },
73697
+ vanContactCard: {
73698
+ addText: '添加联系人'
73699
+ },
73700
+ vanContactList: {
73701
+ addText: '新建联系人'
73702
+ },
73703
+ vanPagination: {
73704
+ prev: '上一页',
73705
+ next: '下一页'
73706
+ },
73707
+ vanPullRefresh: {
73708
+ pulling: '下拉即可刷新...',
73709
+ loosing: '释放即可刷新...'
73710
+ },
73711
+ vanSubmitBar: {
73712
+ label: '合计:'
73713
+ },
73714
+ vanCoupon: {
73715
+ unlimited: '无使用门槛',
73716
+ discount: function discount(_discount) {
73717
+ return _discount + "\u6298";
73718
+ },
73719
+ condition: function condition(_condition) {
73720
+ return "\u6EE1" + _condition + "\u5143\u53EF\u7528";
73721
+ }
73722
+ },
73723
+ vanCouponCell: {
73724
+ title: '优惠券',
73725
+ tips: '暂无可用',
73726
+ count: function count(_count) {
73727
+ return _count + "\u5F20\u53EF\u7528";
73728
+ }
73729
+ },
73730
+ vanCouponList: {
73731
+ empty: '暂无优惠券',
73732
+ exchange: '兑换',
73733
+ close: '不使用优惠券',
73734
+ enable: '可用',
73735
+ disabled: '不可用',
73736
+ placeholder: '请输入优惠码'
73737
+ },
73738
+ vanAddressEdit: {
73739
+ area: '地区',
73740
+ postal: '邮政编码',
73741
+ areaEmpty: '请选择地区',
73742
+ addressEmpty: '请填写详细地址',
73743
+ postalEmpty: '邮政编码格式不正确',
73744
+ defaultAddress: '设为默认收货地址',
73745
+ telPlaceholder: '收货人手机号',
73746
+ namePlaceholder: '收货人姓名',
73747
+ areaPlaceholder: '选择省 / 市 / 区'
73748
+ },
73749
+ vanAddressEditDetail: {
73750
+ label: '详细地址',
73751
+ placeholder: '街道门牌、楼层房间号等信息'
73752
+ },
73753
+ vanAddressList: {
73754
+ add: '新增地址'
73755
+ }
73756
+ });
73757
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/locale/index.js
73758
+
73759
+
73760
+
73761
+ var proto = (external_commonjs_vue_commonjs2_vue_root_Vue_default()).prototype;
73762
+ var defineReactive = (external_commonjs_vue_commonjs2_vue_root_Vue_default()).util.defineReactive;
73763
+ defineReactive(proto, '$vantLang', 'zh-CN');
73764
+ defineReactive(proto, '$vantMessages', {
73765
+ 'zh-CN': zh_CN
73766
+ });
73767
+ /* harmony default export */ var locale = ({
73768
+ messages: function messages() {
73769
+ return proto.$vantMessages[proto.$vantLang];
73770
+ },
73771
+ use: function use(lang, messages) {
73772
+ var _this$add;
73773
+
73774
+ proto.$vantLang = lang;
73775
+ this.add((_this$add = {}, _this$add[lang] = messages, _this$add));
73776
+ },
73777
+ add: function add(messages) {
73778
+ if (messages === void 0) {
73779
+ messages = {};
73780
+ }
73781
+
73782
+ deepAssign(proto.$vantMessages, messages);
73783
+ }
73784
+ });
73785
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/i18n.js
73786
+
73787
+
73788
+
73789
+ function createI18N(name) {
73790
+ var prefix = camelize(name) + '.';
73791
+ return function (path) {
73792
+ var messages = locale.messages();
73793
+ var message = get(messages, prefix + path) || get(messages, path);
73794
+
73795
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
73796
+ args[_key - 1] = arguments[_key];
73797
+ }
73798
+
73799
+ return utils_isFunction(message) ? message.apply(void 0, args) : message;
73800
+ };
73801
+ }
73802
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/create/index.js
73803
+
73804
+
73805
+
73806
+ function createNamespace(name) {
73807
+ name = 'van-' + name;
73808
+ return [createComponent(name), createBEM(name), createI18N(name)];
73809
+ }
73810
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/toast/lock-click.js
73811
+ var lockCount = 0;
73812
+ function lockClick(lock) {
73813
+ if (lock) {
73814
+ if (!lockCount) {
73815
+ document.body.classList.add('van-toast--unclickable');
73816
+ }
73817
+
73818
+ lockCount++;
73819
+ } else {
73820
+ lockCount--;
73821
+
73822
+ if (!lockCount) {
73823
+ document.body.classList.remove('van-toast--unclickable');
73824
+ }
73825
+ }
73826
+ }
73827
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/popup/context.js
73828
+ var context = {
73829
+ zIndex: 2000,
73830
+ lockCount: 0,
73831
+ stack: [],
73832
+ find: function find(vm) {
73833
+ return this.stack.filter(function (item) {
73834
+ return item.vm === vm;
73835
+ })[0];
73836
+ },
73837
+ remove: function remove(vm) {
73838
+ var item = this.find(vm);
73839
+ if (!item) return;
73840
+ item.vm = null;
73841
+ item.overlay = null;
73842
+ var index = this.stack.indexOf(item);
73843
+ this.stack.splice(index, 1);
73844
+ }
73845
+ };
73846
+ // EXTERNAL MODULE: ./node_modules/@vue/babel-helper-vue-jsx-merge-props/dist/helper.js
73847
+ var helper = __webpack_require__(7499);
73848
+ var helper_default = /*#__PURE__*/__webpack_require__.n(helper);
73849
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/functional.js
73850
+
73851
+
73852
+ var inheritKey = ['ref', 'key', 'style', 'class', 'attrs', 'refInFor', 'nativeOn', 'directives', 'staticClass', 'staticStyle'];
73853
+ var mapInheritKey = {
73854
+ nativeOn: 'on'
73855
+ }; // inherit partial context, map nativeOn to on
73856
+
73857
+ function inherit(context, inheritListeners) {
73858
+ var result = inheritKey.reduce(function (obj, key) {
73859
+ if (context.data[key]) {
73860
+ obj[mapInheritKey[key] || key] = context.data[key];
73861
+ }
73862
+
73863
+ return obj;
73864
+ }, {});
73865
+
73866
+ if (inheritListeners) {
73867
+ result.on = result.on || {};
73868
+
73869
+ _extends(result.on, context.data.on);
73870
+ }
73871
+
73872
+ return result;
73873
+ } // emit event
73874
+
73875
+ function emit(context, eventName) {
73876
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
73877
+ args[_key - 2] = arguments[_key];
73878
+ }
73879
+
73880
+ var listeners = context.listeners[eventName];
73881
+
73882
+ if (listeners) {
73883
+ if (Array.isArray(listeners)) {
73884
+ listeners.forEach(function (listener) {
73885
+ listener.apply(void 0, args);
73886
+ });
73887
+ } else {
73888
+ listeners.apply(void 0, args);
73889
+ }
73890
+ }
73891
+ } // mount functional component
73892
+
73893
+ function mount(Component, data) {
73894
+ var instance = new (external_commonjs_vue_commonjs2_vue_root_Vue_default())({
73895
+ el: document.createElement('div'),
73896
+ props: Component.props,
73897
+ render: function render(h) {
73898
+ return h(Component, _extends({
73899
+ props: this.$props
73900
+ }, data));
73901
+ }
73902
+ });
73903
+ document.body.appendChild(instance.$el);
73904
+ return instance;
73905
+ }
73906
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/dom/event.js
73907
+
73908
+ // eslint-disable-next-line import/no-mutable-exports
73909
+ var supportsPassive = false;
73910
+
73911
+ if (!isServer) {
73912
+ try {
73913
+ var opts = {};
73914
+ Object.defineProperty(opts, 'passive', {
73915
+ // eslint-disable-next-line getter-return
73916
+ get: function get() {
73917
+ /* istanbul ignore next */
73918
+ supportsPassive = true;
73919
+ }
73920
+ });
73921
+ window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty
73922
+ } catch (e) {}
73923
+ }
73924
+
73925
+ function on(target, event, handler, passive) {
73926
+ if (passive === void 0) {
73927
+ passive = false;
73928
+ }
73929
+
73930
+ if (!isServer) {
73931
+ target.addEventListener(event, handler, supportsPassive ? {
73932
+ capture: false,
73933
+ passive: passive
73934
+ } : false);
73935
+ }
73936
+ }
73937
+ function off(target, event, handler) {
73938
+ if (!isServer) {
73939
+ target.removeEventListener(event, handler);
73940
+ }
73941
+ }
73942
+ function stopPropagation(event) {
73943
+ event.stopPropagation();
73944
+ }
73945
+ function preventDefault(event, isStopPropagation) {
73946
+ /* istanbul ignore else */
73947
+ if (typeof event.cancelable !== 'boolean' || event.cancelable) {
73948
+ event.preventDefault();
73949
+ }
73950
+
73951
+ if (isStopPropagation) {
73952
+ stopPropagation(event);
73953
+ }
73954
+ }
73955
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/overlay/index.js
73956
+
73957
+
73958
+ // Utils
73959
+
73960
+
73961
+ // Types
73962
+
73963
+ var _createNamespace = createNamespace('overlay'),
73964
+ overlay_createComponent = _createNamespace[0],
73965
+ bem = _createNamespace[1];
73966
+
73967
+ function preventTouchMove(event) {
73968
+ preventDefault(event, true);
73969
+ }
73970
+
73971
+ function Overlay(h, props, slots, ctx) {
73972
+ var style = _extends({
73973
+ zIndex: props.zIndex
73974
+ }, props.customStyle);
73975
+
73976
+ if (isDef(props.duration)) {
73977
+ style.animationDuration = props.duration + "s";
73978
+ }
73979
+
73980
+ return h("transition", {
73981
+ "attrs": {
73982
+ "name": "van-fade"
73983
+ }
73984
+ }, [h("div", helper_default()([{
73985
+ "directives": [{
73986
+ name: "show",
73987
+ value: props.show
73988
+ }],
73989
+ "style": style,
73990
+ "class": [bem(), props.className],
73991
+ "on": {
73992
+ "touchmove": props.lockScroll ? preventTouchMove : utils_noop
73993
+ }
73994
+ }, inherit(ctx, true)]), [slots.default == null ? void 0 : slots.default()])]);
73995
+ }
73996
+
73997
+ Overlay.props = {
73998
+ show: Boolean,
73999
+ zIndex: [Number, String],
74000
+ duration: [Number, String],
74001
+ className: null,
74002
+ customStyle: Object,
74003
+ lockScroll: {
74004
+ type: Boolean,
74005
+ default: true
74006
+ }
74007
+ };
74008
+ /* harmony default export */ var overlay = (overlay_createComponent(Overlay));
74009
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/dom/node.js
74010
+ function removeNode(el) {
74011
+ var parent = el.parentNode;
74012
+
74013
+ if (parent) {
74014
+ parent.removeChild(el);
74015
+ }
74016
+ }
74017
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/popup/overlay.js
74018
+
74019
+
74020
+
74021
+
74022
+
74023
+ var defaultConfig = {
74024
+ className: '',
74025
+ customStyle: {}
74026
+ };
74027
+
74028
+ function mountOverlay(vm) {
74029
+ return mount(overlay, {
74030
+ on: {
74031
+ // close popup when overlay clicked & closeOnClickOverlay is true
74032
+ click: function click() {
74033
+ vm.$emit('click-overlay');
74034
+
74035
+ if (vm.closeOnClickOverlay) {
74036
+ if (vm.onClickOverlay) {
74037
+ vm.onClickOverlay();
74038
+ } else {
74039
+ vm.close();
74040
+ }
74041
+ }
74042
+ }
74043
+ }
74044
+ });
74045
+ }
74046
+
74047
+ function updateOverlay(vm) {
74048
+ var item = context.find(vm);
74049
+
74050
+ if (item) {
74051
+ var el = vm.$el;
74052
+ var config = item.config,
74053
+ overlay = item.overlay;
74054
+
74055
+ if (el && el.parentNode) {
74056
+ el.parentNode.insertBefore(overlay.$el, el);
74057
+ }
74058
+
74059
+ _extends(overlay, defaultConfig, config, {
74060
+ show: true
74061
+ });
74062
+ }
74063
+ }
74064
+ function openOverlay(vm, config) {
74065
+ var item = context.find(vm);
74066
+
74067
+ if (item) {
74068
+ item.config = config;
74069
+ } else {
74070
+ var overlay = mountOverlay(vm);
74071
+ context.stack.push({
74072
+ vm: vm,
74073
+ config: config,
74074
+ overlay: overlay
74075
+ });
74076
+ }
74077
+
74078
+ updateOverlay(vm);
74079
+ }
74080
+ function closeOverlay(vm) {
74081
+ var item = context.find(vm);
74082
+
74083
+ if (item) {
74084
+ item.overlay.show = false;
74085
+ }
74086
+ }
74087
+ function removeOverlay(vm) {
74088
+ var item = context.find(vm);
74089
+
74090
+ if (item) {
74091
+ removeNode(item.overlay.$el);
74092
+ context.remove(vm);
74093
+ }
74094
+ }
74095
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/dom/scroll.js
74096
+ function isWindow(val) {
74097
+ return val === window;
74098
+ } // get nearest scroll element
74099
+ // https://github.com/vant-ui/vant/issues/3823
74100
+
74101
+
74102
+ var overflowScrollReg = /scroll|auto|overlay/i;
74103
+ function getScroller(el, root) {
74104
+ if (root === void 0) {
74105
+ root = window;
74106
+ }
74107
+
74108
+ var node = el;
74109
+
74110
+ while (node && node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === 1 && node !== root) {
74111
+ var _window$getComputedSt = window.getComputedStyle(node),
74112
+ overflowY = _window$getComputedSt.overflowY;
74113
+
74114
+ if (overflowScrollReg.test(overflowY)) {
74115
+ return node;
74116
+ }
74117
+
74118
+ node = node.parentNode;
74119
+ }
74120
+
74121
+ return root;
74122
+ }
74123
+ function getScrollTop(el) {
74124
+ var top = 'scrollTop' in el ? el.scrollTop : el.pageYOffset; // iOS scroll bounce cause minus scrollTop
74125
+
74126
+ return Math.max(top, 0);
74127
+ }
74128
+ function setScrollTop(el, value) {
74129
+ if ('scrollTop' in el) {
74130
+ el.scrollTop = value;
74131
+ } else {
74132
+ el.scrollTo(el.scrollX, value);
74133
+ }
74134
+ }
74135
+ function getRootScrollTop() {
74136
+ return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
74137
+ }
74138
+ function setRootScrollTop(value) {
74139
+ setScrollTop(window, value);
74140
+ setScrollTop(document.body, value);
74141
+ } // get distance from element top to page top or scroller top
74142
+
74143
+ function getElementTop(el, scroller) {
74144
+ if (isWindow(el)) {
74145
+ return 0;
74146
+ }
74147
+
74148
+ var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();
74149
+ return el.getBoundingClientRect().top + scrollTop;
74150
+ }
74151
+ function getVisibleHeight(el) {
74152
+ if (isWindow(el)) {
74153
+ return el.innerHeight;
74154
+ }
74155
+
74156
+ return el.getBoundingClientRect().height;
74157
+ }
74158
+ function getVisibleTop(el) {
74159
+ if (isWindow(el)) {
74160
+ return 0;
74161
+ }
74162
+
74163
+ return el.getBoundingClientRect().top;
74164
+ }
74165
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/touch.js
74166
+
74167
+
74168
+ function getDirection(x, y) {
74169
+ if (x > y) {
74170
+ return 'horizontal';
74171
+ }
74172
+
74173
+ if (y > x) {
74174
+ return 'vertical';
74175
+ }
74176
+
74177
+ return '';
74178
+ }
74179
+
74180
+ var TouchMixin = {
74181
+ data: function data() {
74182
+ return {
74183
+ direction: ''
74184
+ };
74185
+ },
74186
+ methods: {
74187
+ touchStart: function touchStart(event) {
74188
+ this.resetTouchStatus();
74189
+ this.startX = event.touches[0].clientX;
74190
+ this.startY = event.touches[0].clientY;
74191
+ },
74192
+ touchMove: function touchMove(event) {
74193
+ var touch = event.touches[0]; // safari back will set clientX to negative number
74194
+
74195
+ this.deltaX = touch.clientX < 0 ? 0 : touch.clientX - this.startX;
74196
+ this.deltaY = touch.clientY - this.startY;
74197
+ this.offsetX = Math.abs(this.deltaX);
74198
+ this.offsetY = Math.abs(this.deltaY); // lock direction when distance is greater than a certain value
74199
+
74200
+ var LOCK_DIRECTION_DISTANCE = 10;
74201
+
74202
+ if (!this.direction || this.offsetX < LOCK_DIRECTION_DISTANCE && this.offsetY < LOCK_DIRECTION_DISTANCE) {
74203
+ this.direction = getDirection(this.offsetX, this.offsetY);
74204
+ }
74205
+ },
74206
+ resetTouchStatus: function resetTouchStatus() {
74207
+ this.direction = '';
74208
+ this.deltaX = 0;
74209
+ this.deltaY = 0;
74210
+ this.offsetX = 0;
74211
+ this.offsetY = 0;
74212
+ },
74213
+ // avoid Vue 2.6 event bubble issues by manually binding events
74214
+ // https://github.com/vant-ui/vant/issues/3015
74215
+ bindTouchEvent: function bindTouchEvent(el) {
74216
+ var onTouchStart = this.onTouchStart,
74217
+ onTouchMove = this.onTouchMove,
74218
+ onTouchEnd = this.onTouchEnd;
74219
+ on(el, 'touchstart', onTouchStart);
74220
+ on(el, 'touchmove', onTouchMove);
74221
+
74222
+ if (onTouchEnd) {
74223
+ on(el, 'touchend', onTouchEnd);
74224
+ on(el, 'touchcancel', onTouchEnd);
74225
+ }
74226
+ }
74227
+ }
74228
+ };
74229
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/portal.js
74230
+ function getElement(selector) {
74231
+ if (typeof selector === 'string') {
74232
+ return document.querySelector(selector);
74233
+ }
74234
+
74235
+ return selector();
74236
+ }
74237
+
74238
+ function PortalMixin(_temp) {
74239
+ var _ref = _temp === void 0 ? {} : _temp,
74240
+ ref = _ref.ref,
74241
+ afterPortal = _ref.afterPortal;
74242
+
74243
+ return {
74244
+ props: {
74245
+ getContainer: [String, Function]
74246
+ },
74247
+ watch: {
74248
+ getContainer: 'portal'
74249
+ },
74250
+ mounted: function mounted() {
74251
+ if (this.getContainer) {
74252
+ this.portal();
74253
+ }
74254
+ },
74255
+ methods: {
74256
+ portal: function portal() {
74257
+ var getContainer = this.getContainer;
74258
+ var el = ref ? this.$refs[ref] : this.$el;
74259
+ var container;
74260
+
74261
+ if (getContainer) {
74262
+ container = getElement(getContainer);
74263
+ } else if (this.$parent) {
74264
+ container = this.$parent.$el;
74265
+ }
74266
+
74267
+ if (container && container !== el.parentNode) {
74268
+ container.appendChild(el);
74269
+ }
74270
+
74271
+ if (afterPortal) {
74272
+ afterPortal.call(this);
74273
+ }
74274
+ }
74275
+ }
74276
+ };
74277
+ }
74278
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/bind-event.js
74279
+ /**
74280
+ * Bind event when mounted or activated
74281
+ */
74282
+
74283
+ var uid = 0;
74284
+ function BindEventMixin(handler) {
74285
+ var key = "binded_" + uid++;
74286
+
74287
+ function bind() {
74288
+ if (!this[key]) {
74289
+ handler.call(this, on, true);
74290
+ this[key] = true;
74291
+ }
74292
+ }
74293
+
74294
+ function unbind() {
74295
+ if (this[key]) {
74296
+ handler.call(this, off, false);
74297
+ this[key] = false;
74298
+ }
74299
+ }
74300
+
74301
+ return {
74302
+ mounted: bind,
74303
+ activated: bind,
74304
+ deactivated: unbind,
74305
+ beforeDestroy: unbind
74306
+ };
74307
+ }
74308
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/close-on-popstate.js
74309
+
74310
+
74311
+ var CloseOnPopstateMixin = {
74312
+ mixins: [BindEventMixin(function (bind, isBind) {
74313
+ this.handlePopstate(isBind && this.closeOnPopstate);
74314
+ })],
74315
+ props: {
74316
+ closeOnPopstate: Boolean
74317
+ },
74318
+ data: function data() {
74319
+ return {
74320
+ bindStatus: false
74321
+ };
74322
+ },
74323
+ watch: {
74324
+ closeOnPopstate: function closeOnPopstate(val) {
74325
+ this.handlePopstate(val);
74326
+ }
74327
+ },
74328
+ methods: {
74329
+ onPopstate: function onPopstate() {
74330
+ this.close();
74331
+ this.shouldReopen = false;
74332
+ },
74333
+ handlePopstate: function handlePopstate(bind) {
74334
+ /* istanbul ignore if */
74335
+ if (this.$isServer) {
74336
+ return;
74337
+ }
74338
+
74339
+ if (this.bindStatus !== bind) {
74340
+ this.bindStatus = bind;
74341
+ var action = bind ? on : off;
74342
+ action(window, 'popstate', this.onPopstate);
74343
+ }
74344
+ }
74345
+ }
74346
+ };
74347
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/mixins/popup/index.js
74348
+ // Context
74349
+
74350
+ // Utils
74351
+
74352
+
74353
+
74354
+ // Mixins
74355
+
74356
+
74357
+
74358
+
74359
+ var popupMixinProps = {
74360
+ // Initial rendering animation
74361
+ transitionAppear: Boolean,
74362
+ // whether to show popup
74363
+ value: Boolean,
74364
+ // whether to show overlay
74365
+ overlay: Boolean,
74366
+ // overlay custom style
74367
+ overlayStyle: Object,
74368
+ // overlay custom class name
74369
+ overlayClass: String,
74370
+ // whether to close popup when overlay is clicked
74371
+ closeOnClickOverlay: Boolean,
74372
+ // z-index
74373
+ zIndex: [Number, String],
74374
+ // prevent body scroll
74375
+ lockScroll: {
74376
+ type: Boolean,
74377
+ default: true
74378
+ },
74379
+ // whether to lazy render
74380
+ lazyRender: {
74381
+ type: Boolean,
74382
+ default: true
74383
+ }
74384
+ };
74385
+ function PopupMixin(options) {
74386
+ if (options === void 0) {
74387
+ options = {};
74388
+ }
74389
+
74390
+ return {
74391
+ mixins: [TouchMixin, CloseOnPopstateMixin, PortalMixin({
74392
+ afterPortal: function afterPortal() {
74393
+ if (this.overlay) {
74394
+ updateOverlay();
74395
+ }
74396
+ }
74397
+ })],
74398
+ provide: function provide() {
74399
+ return {
74400
+ vanPopup: this
74401
+ };
74402
+ },
74403
+ props: popupMixinProps,
74404
+ data: function data() {
74405
+ this.onReopenCallback = [];
74406
+ return {
74407
+ inited: this.value
74408
+ };
74409
+ },
74410
+ computed: {
74411
+ shouldRender: function shouldRender() {
74412
+ return this.inited || !this.lazyRender;
74413
+ }
74414
+ },
74415
+ watch: {
74416
+ value: function value(val) {
74417
+ var type = val ? 'open' : 'close';
74418
+ this.inited = this.inited || this.value;
74419
+ this[type]();
74420
+
74421
+ if (!options.skipToggleEvent) {
74422
+ this.$emit(type);
74423
+ }
74424
+ },
74425
+ overlay: 'renderOverlay'
74426
+ },
74427
+ mounted: function mounted() {
74428
+ if (this.value) {
74429
+ this.open();
74430
+ }
74431
+ },
74432
+
74433
+ /* istanbul ignore next */
74434
+ activated: function activated() {
74435
+ if (this.shouldReopen) {
74436
+ this.$emit('input', true);
74437
+ this.shouldReopen = false;
74438
+ }
74439
+ },
74440
+ beforeDestroy: function beforeDestroy() {
74441
+ removeOverlay(this);
74442
+
74443
+ if (this.opened) {
74444
+ this.removeLock();
74445
+ }
74446
+
74447
+ if (this.getContainer) {
74448
+ removeNode(this.$el);
74449
+ }
74450
+ },
74451
+
74452
+ /* istanbul ignore next */
74453
+ deactivated: function deactivated() {
74454
+ if (this.value) {
74455
+ this.close();
74456
+ this.shouldReopen = true;
74457
+ }
74458
+ },
74459
+ methods: {
74460
+ open: function open() {
74461
+ /* istanbul ignore next */
74462
+ if (this.$isServer || this.opened) {
74463
+ return;
74464
+ } // cover default zIndex
74465
+
74466
+
74467
+ if (this.zIndex !== undefined) {
74468
+ context.zIndex = this.zIndex;
74469
+ }
74470
+
74471
+ this.opened = true;
74472
+ this.renderOverlay();
74473
+ this.addLock();
74474
+ this.onReopenCallback.forEach(function (callback) {
74475
+ callback();
74476
+ });
74477
+ },
74478
+ addLock: function addLock() {
74479
+ if (this.lockScroll) {
74480
+ on(document, 'touchstart', this.touchStart);
74481
+ on(document, 'touchmove', this.onTouchMove);
74482
+
74483
+ if (!context.lockCount) {
74484
+ document.body.classList.add('van-overflow-hidden');
74485
+ }
74486
+
74487
+ context.lockCount++;
74488
+ }
74489
+ },
74490
+ removeLock: function removeLock() {
74491
+ if (this.lockScroll && context.lockCount) {
74492
+ context.lockCount--;
74493
+ off(document, 'touchstart', this.touchStart);
74494
+ off(document, 'touchmove', this.onTouchMove);
74495
+
74496
+ if (!context.lockCount) {
74497
+ document.body.classList.remove('van-overflow-hidden');
74498
+ }
74499
+ }
74500
+ },
74501
+ close: function close() {
74502
+ if (!this.opened) {
74503
+ return;
74504
+ }
74505
+
74506
+ closeOverlay(this);
74507
+ this.opened = false;
74508
+ this.removeLock();
74509
+ this.$emit('input', false);
74510
+ },
74511
+ onTouchMove: function onTouchMove(event) {
74512
+ this.touchMove(event);
74513
+ var direction = this.deltaY > 0 ? '10' : '01';
74514
+ var el = getScroller(event.target, this.$el);
74515
+ var scrollHeight = el.scrollHeight,
74516
+ offsetHeight = el.offsetHeight,
74517
+ scrollTop = el.scrollTop;
74518
+ var status = '11';
74519
+ /* istanbul ignore next */
74520
+
74521
+ if (scrollTop === 0) {
74522
+ status = offsetHeight >= scrollHeight ? '00' : '01';
74523
+ } else if (scrollTop + offsetHeight >= scrollHeight) {
74524
+ status = '10';
74525
+ }
74526
+ /* istanbul ignore next */
74527
+
74528
+
74529
+ if (status !== '11' && this.direction === 'vertical' && !(parseInt(status, 2) & parseInt(direction, 2))) {
74530
+ preventDefault(event, true);
74531
+ }
74532
+ },
74533
+ renderOverlay: function renderOverlay() {
74534
+ var _this = this;
74535
+
74536
+ if (this.$isServer || !this.value) {
74537
+ return;
74538
+ }
74539
+
74540
+ this.$nextTick(function () {
74541
+ _this.updateZIndex(_this.overlay ? 1 : 0);
74542
+
74543
+ if (_this.overlay) {
74544
+ openOverlay(_this, {
74545
+ zIndex: context.zIndex++,
74546
+ duration: _this.duration,
74547
+ className: _this.overlayClass,
74548
+ customStyle: _this.overlayStyle
74549
+ });
74550
+ } else {
74551
+ closeOverlay(_this);
74552
+ }
74553
+ });
74554
+ },
74555
+ updateZIndex: function updateZIndex(value) {
74556
+ if (value === void 0) {
74557
+ value = 0;
74558
+ }
74559
+
74560
+ this.$el.style.zIndex = ++context.zIndex + value;
74561
+ },
74562
+ onReopen: function onReopen(callback) {
74563
+ this.onReopenCallback.push(callback);
74564
+ }
74565
+ }
74566
+ };
74567
+ }
74568
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/validate/number.js
74569
+ function isNumeric(val) {
74570
+ return /^\d+(\.\d+)?$/.test(val);
74571
+ }
74572
+ function number_isNaN(val) {
74573
+ if (Number.isNaN) {
74574
+ return Number.isNaN(val);
74575
+ } // eslint-disable-next-line no-self-compare
74576
+
74577
+
74578
+ return val !== val;
74579
+ }
74580
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/utils/format/unit.js
74581
+
74582
+
74583
+ function addUnit(value) {
74584
+ if (!isDef(value)) {
74585
+ return undefined;
74586
+ }
74587
+
74588
+ value = String(value);
74589
+ return isNumeric(value) ? value + "px" : value;
74590
+ } // cache
74591
+
74592
+ var rootFontSize;
74593
+
74594
+ function getRootFontSize() {
74595
+ if (!rootFontSize) {
74596
+ var doc = document.documentElement;
74597
+ var fontSize = doc.style.fontSize || window.getComputedStyle(doc).fontSize;
74598
+ rootFontSize = parseFloat(fontSize);
74599
+ }
74600
+
74601
+ return rootFontSize;
74602
+ }
74603
+
74604
+ function convertRem(value) {
74605
+ value = value.replace(/rem/g, '');
74606
+ return +value * getRootFontSize();
74607
+ }
74608
+
74609
+ function convertVw(value) {
74610
+ value = value.replace(/vw/g, '');
74611
+ return +value * window.innerWidth / 100;
74612
+ }
74613
+
74614
+ function convertVh(value) {
74615
+ value = value.replace(/vh/g, '');
74616
+ return +value * window.innerHeight / 100;
74617
+ }
74618
+
74619
+ function unitToPx(value) {
74620
+ if (typeof value === 'number') {
74621
+ return value;
74622
+ }
74623
+
74624
+ if (inBrowser) {
74625
+ if (value.indexOf('rem') !== -1) {
74626
+ return convertRem(value);
74627
+ }
74628
+
74629
+ if (value.indexOf('vw') !== -1) {
74630
+ return convertVw(value);
74631
+ }
74632
+
74633
+ if (value.indexOf('vh') !== -1) {
74634
+ return convertVh(value);
74635
+ }
74636
+ }
74637
+
74638
+ return parseFloat(value);
74639
+ }
74640
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/info/index.js
74641
+
74642
+ // Utils
74643
+
74644
+ // Types
74645
+
74646
+ var info_createNamespace = createNamespace('info'),
74647
+ info_createComponent = info_createNamespace[0],
74648
+ info_bem = info_createNamespace[1];
74649
+
74650
+ function Info(h, props, slots, ctx) {
74651
+ var dot = props.dot,
74652
+ info = props.info;
74653
+ var showInfo = isDef(info) && info !== '';
74654
+
74655
+ if (!dot && !showInfo) {
74656
+ return;
74657
+ }
74658
+
74659
+ return h("div", helper_default()([{
74660
+ "class": info_bem({
74661
+ dot: dot
74662
+ })
74663
+ }, inherit(ctx, true)]), [dot ? '' : props.info]);
74664
+ }
74665
+
74666
+ Info.props = {
74667
+ dot: Boolean,
74668
+ info: [Number, String]
74669
+ };
74670
+ /* harmony default export */ var info = (info_createComponent(Info));
74671
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/icon/index.js
74672
+
74673
+ // Utils
74674
+
74675
+ // Components
74676
+
74677
+ // Types
74678
+
74679
+ var icon_createNamespace = createNamespace('icon'),
74680
+ icon_createComponent = icon_createNamespace[0],
74681
+ icon_bem = icon_createNamespace[1];
74682
+
74683
+ function isImage(name) {
74684
+ return name ? name.indexOf('/') !== -1 : false;
74685
+ } // compatible with legacy usage, should be removed in next major version
74686
+
74687
+
74688
+ var LEGACY_MAP = {
74689
+ medel: 'medal',
74690
+ 'medel-o': 'medal-o',
74691
+ 'calender-o': 'calendar-o'
74692
+ };
74693
+
74694
+ function correctName(name) {
74695
+ return name && LEGACY_MAP[name] || name;
74696
+ }
74697
+
74698
+ function Icon(h, props, slots, ctx) {
74699
+ var _props$badge;
74700
+
74701
+ var name = correctName(props.name);
74702
+ var imageIcon = isImage(name);
74703
+
74704
+ if (false) {}
74705
+
74706
+ return h(props.tag, helper_default()([{
74707
+ "class": [props.classPrefix, imageIcon ? '' : props.classPrefix + "-" + name],
74708
+ "style": {
74709
+ color: props.color,
74710
+ fontSize: addUnit(props.size)
74711
+ }
74712
+ }, inherit(ctx, true)]), [slots.default && slots.default(), imageIcon && h("img", {
74713
+ "class": icon_bem('image'),
74714
+ "attrs": {
74715
+ "src": name
74716
+ }
74717
+ }), h(info, {
74718
+ "attrs": {
74719
+ "dot": props.dot,
74720
+ "info": (_props$badge = props.badge) != null ? _props$badge : props.info
74721
+ }
74722
+ })]);
74723
+ }
74724
+
74725
+ Icon.props = {
74726
+ dot: Boolean,
74727
+ name: String,
74728
+ size: [Number, String],
74729
+ // @deprecated
74730
+ // should be removed in next major version
74731
+ info: [Number, String],
74732
+ badge: [Number, String],
74733
+ color: String,
74734
+ tag: {
74735
+ type: String,
74736
+ default: 'i'
74737
+ },
74738
+ classPrefix: {
74739
+ type: String,
74740
+ default: icon_bem()
74741
+ }
74742
+ };
74743
+ /* harmony default export */ var es_icon = (icon_createComponent(Icon));
74744
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/loading/index.js
74745
+
74746
+ // Utils
74747
+
74748
+ // Types
74749
+
74750
+ var loading_createNamespace = createNamespace('loading'),
74751
+ loading_createComponent = loading_createNamespace[0],
74752
+ loading_bem = loading_createNamespace[1];
74753
+
74754
+ function LoadingIcon(h, props) {
74755
+ if (props.type === 'spinner') {
74756
+ var Spin = [];
74757
+
74758
+ for (var i = 0; i < 12; i++) {
74759
+ Spin.push(h("i"));
74760
+ }
74761
+
74762
+ return Spin;
74763
+ }
74764
+
74765
+ return h("svg", {
74766
+ "class": loading_bem('circular'),
74767
+ "attrs": {
74768
+ "viewBox": "25 25 50 50"
74769
+ }
74770
+ }, [h("circle", {
74771
+ "attrs": {
74772
+ "cx": "50",
74773
+ "cy": "50",
74774
+ "r": "20",
74775
+ "fill": "none"
74776
+ }
74777
+ })]);
74778
+ }
74779
+
74780
+ function LoadingText(h, props, slots) {
74781
+ if (slots.default) {
74782
+ var _props$textColor;
74783
+
74784
+ var style = {
74785
+ fontSize: addUnit(props.textSize),
74786
+ color: (_props$textColor = props.textColor) != null ? _props$textColor : props.color
74787
+ };
74788
+ return h("span", {
74789
+ "class": loading_bem('text'),
74790
+ "style": style
74791
+ }, [slots.default()]);
74792
+ }
74793
+ }
74794
+
74795
+ function Loading(h, props, slots, ctx) {
74796
+ var color = props.color,
74797
+ size = props.size,
74798
+ type = props.type;
74799
+ var style = {
74800
+ color: color
74801
+ };
74802
+
74803
+ if (size) {
74804
+ var iconSize = addUnit(size);
74805
+ style.width = iconSize;
74806
+ style.height = iconSize;
74807
+ }
74808
+
74809
+ return h("div", helper_default()([{
74810
+ "class": loading_bem([type, {
74811
+ vertical: props.vertical
74812
+ }])
74813
+ }, inherit(ctx, true)]), [h("span", {
74814
+ "class": loading_bem('spinner', type),
74815
+ "style": style
74816
+ }, [LoadingIcon(h, props)]), LoadingText(h, props, slots)]);
74817
+ }
74818
+
74819
+ Loading.props = {
74820
+ color: String,
74821
+ size: [Number, String],
74822
+ vertical: Boolean,
74823
+ textSize: [Number, String],
74824
+ textColor: String,
74825
+ type: {
74826
+ type: String,
74827
+ default: 'circular'
74828
+ }
74829
+ };
74830
+ /* harmony default export */ var loading = (loading_createComponent(Loading));
74831
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/toast/Toast.js
74832
+ // Utils
74833
+
74834
+ // Mixins
74835
+
74836
+ // Components
74837
+
74838
+
74839
+
74840
+
74841
+ var Toast_createNamespace = createNamespace('toast'),
74842
+ Toast_createComponent = Toast_createNamespace[0],
74843
+ Toast_bem = Toast_createNamespace[1];
74844
+
74845
+ /* harmony default export */ var Toast = (Toast_createComponent({
74846
+ mixins: [PopupMixin()],
74847
+ props: {
74848
+ icon: String,
74849
+ className: null,
74850
+ iconPrefix: String,
74851
+ loadingType: String,
74852
+ forbidClick: Boolean,
74853
+ closeOnClick: Boolean,
74854
+ message: [Number, String],
74855
+ type: {
74856
+ type: String,
74857
+ default: 'text'
74858
+ },
74859
+ position: {
74860
+ type: String,
74861
+ default: 'middle'
74862
+ },
74863
+ transition: {
74864
+ type: String,
74865
+ default: 'van-fade'
74866
+ },
74867
+ lockScroll: {
74868
+ type: Boolean,
74869
+ default: false
74870
+ }
74871
+ },
74872
+ data: function data() {
74873
+ return {
74874
+ clickable: false
74875
+ };
74876
+ },
74877
+ mounted: function mounted() {
74878
+ this.toggleClickable();
74879
+ },
74880
+ destroyed: function destroyed() {
74881
+ this.toggleClickable();
74882
+ },
74883
+ watch: {
74884
+ value: 'toggleClickable',
74885
+ forbidClick: 'toggleClickable'
74886
+ },
74887
+ methods: {
74888
+ onClick: function onClick() {
74889
+ if (this.closeOnClick) {
74890
+ this.close();
74891
+ }
74892
+ },
74893
+ toggleClickable: function toggleClickable() {
74894
+ var clickable = this.value && this.forbidClick;
74895
+
74896
+ if (this.clickable !== clickable) {
74897
+ this.clickable = clickable;
74898
+ lockClick(clickable);
74899
+ }
74900
+ },
74901
+
74902
+ /* istanbul ignore next */
74903
+ onAfterEnter: function onAfterEnter() {
74904
+ this.$emit('opened');
74905
+
74906
+ if (this.onOpened) {
74907
+ this.onOpened();
74908
+ }
74909
+ },
74910
+ onAfterLeave: function onAfterLeave() {
74911
+ this.$emit('closed');
74912
+ },
74913
+ genIcon: function genIcon() {
74914
+ var h = this.$createElement;
74915
+ var icon = this.icon,
74916
+ type = this.type,
74917
+ iconPrefix = this.iconPrefix,
74918
+ loadingType = this.loadingType;
74919
+ var hasIcon = icon || type === 'success' || type === 'fail';
74920
+
74921
+ if (hasIcon) {
74922
+ return h(es_icon, {
74923
+ "class": Toast_bem('icon'),
74924
+ "attrs": {
74925
+ "classPrefix": iconPrefix,
74926
+ "name": icon || type
74927
+ }
74928
+ });
74929
+ }
74930
+
74931
+ if (type === 'loading') {
74932
+ return h(loading, {
74933
+ "class": Toast_bem('loading'),
74934
+ "attrs": {
74935
+ "type": loadingType
74936
+ }
74937
+ });
74938
+ }
74939
+ },
74940
+ genMessage: function genMessage() {
74941
+ var h = this.$createElement;
74942
+ var type = this.type,
74943
+ message = this.message;
74944
+
74945
+ if (!isDef(message) || message === '') {
74946
+ return;
74947
+ }
74948
+
74949
+ if (type === 'html') {
74950
+ return h("div", {
74951
+ "class": Toast_bem('text'),
74952
+ "domProps": {
74953
+ "innerHTML": message
74954
+ }
74955
+ });
74956
+ }
74957
+
74958
+ return h("div", {
74959
+ "class": Toast_bem('text')
74960
+ }, [message]);
74961
+ }
74962
+ },
74963
+ render: function render() {
74964
+ var _ref;
74965
+
74966
+ var h = arguments[0];
74967
+ return h("transition", {
74968
+ "attrs": {
74969
+ "name": this.transition
74970
+ },
74971
+ "on": {
74972
+ "afterEnter": this.onAfterEnter,
74973
+ "afterLeave": this.onAfterLeave
74974
+ }
74975
+ }, [h("div", {
74976
+ "directives": [{
74977
+ name: "show",
74978
+ value: this.value
74979
+ }],
74980
+ "class": [Toast_bem([this.position, (_ref = {}, _ref[this.type] = !this.icon, _ref)]), this.className],
74981
+ "on": {
74982
+ "click": this.onClick
74983
+ }
74984
+ }, [this.genIcon(), this.genMessage()])]);
74985
+ }
74986
+ }));
74987
+ ;// CONCATENATED MODULE: ./node_modules/vant/es/toast/index.js
74988
+
74989
+
74990
+
74991
+
74992
+
74993
+ var defaultOptions = {
74994
+ icon: '',
74995
+ type: 'text',
74996
+ // @deprecated
74997
+ mask: false,
74998
+ value: true,
74999
+ message: '',
75000
+ className: '',
75001
+ overlay: false,
75002
+ onClose: null,
75003
+ onOpened: null,
75004
+ duration: 2000,
75005
+ iconPrefix: undefined,
75006
+ position: 'middle',
75007
+ transition: 'van-fade',
75008
+ forbidClick: false,
75009
+ loadingType: undefined,
75010
+ getContainer: 'body',
75011
+ overlayStyle: null,
75012
+ closeOnClick: false,
75013
+ closeOnClickOverlay: false
75014
+ }; // default options of specific type
75015
+
75016
+ var defaultOptionsMap = {};
75017
+ var queue = [];
75018
+ var multiple = false;
75019
+
75020
+ var currentOptions = _extends({}, defaultOptions);
75021
+
75022
+ function parseOptions(message) {
75023
+ if (utils_isObject(message)) {
75024
+ return message;
75025
+ }
75026
+
75027
+ return {
75028
+ message: message
75029
+ };
75030
+ }
75031
+
75032
+ function isInDocument(element) {
75033
+ return document.body.contains(element);
75034
+ }
75035
+
75036
+ function toast_createInstance() {
75037
+ /* istanbul ignore if */
75038
+ if (isServer) {
75039
+ return {};
75040
+ }
75041
+
75042
+ queue = queue.filter(function (item) {
75043
+ return !item.$el.parentNode || isInDocument(item.$el);
75044
+ });
75045
+
75046
+ if (!queue.length || multiple) {
75047
+ var toast = new (external_commonjs_vue_commonjs2_vue_root_Vue_default().extend(Toast))({
75048
+ el: document.createElement('div')
75049
+ });
75050
+ toast.$on('input', function (value) {
75051
+ toast.value = value;
75052
+ });
75053
+ queue.push(toast);
75054
+ }
75055
+
75056
+ return queue[queue.length - 1];
75057
+ } // transform toast options to popup props
75058
+
75059
+
75060
+ function transformOptions(options) {
75061
+ return _extends({}, options, {
75062
+ overlay: options.mask || options.overlay,
75063
+ mask: undefined,
75064
+ duration: undefined
75065
+ });
75066
+ }
75067
+
75068
+ function toast_Toast(options) {
75069
+ if (options === void 0) {
75070
+ options = {};
75071
+ }
75072
+
75073
+ var toast = toast_createInstance(); // should add z-index if previous toast has not disappeared
75074
+
75075
+ if (toast.value) {
75076
+ toast.updateZIndex();
75077
+ }
75078
+
75079
+ options = parseOptions(options);
75080
+ options = _extends({}, currentOptions, defaultOptionsMap[options.type || currentOptions.type], options);
75081
+
75082
+ if (false) {}
75083
+
75084
+ options.clear = function () {
75085
+ toast.value = false;
75086
+
75087
+ if (options.onClose) {
75088
+ options.onClose();
75089
+ options.onClose = null;
75090
+ }
75091
+
75092
+ if (multiple && !isServer) {
75093
+ toast.$on('closed', function () {
75094
+ clearTimeout(toast.timer);
75095
+ queue = queue.filter(function (item) {
75096
+ return item !== toast;
75097
+ });
75098
+ removeNode(toast.$el);
75099
+ toast.$destroy();
75100
+ });
75101
+ }
75102
+ };
75103
+
75104
+ _extends(toast, transformOptions(options));
75105
+
75106
+ clearTimeout(toast.timer);
75107
+
75108
+ if (options.duration > 0) {
75109
+ toast.timer = setTimeout(function () {
75110
+ toast.clear();
75111
+ }, options.duration);
75112
+ }
75113
+
75114
+ return toast;
75115
+ }
75116
+
75117
+ var createMethod = function createMethod(type) {
75118
+ return function (options) {
75119
+ return toast_Toast(_extends({
75120
+ type: type
75121
+ }, parseOptions(options)));
75122
+ };
75123
+ };
75124
+
75125
+ ['loading', 'success', 'fail'].forEach(function (method) {
75126
+ toast_Toast[method] = createMethod(method);
75127
+ });
75128
+
75129
+ toast_Toast.clear = function (all) {
75130
+ if (queue.length) {
75131
+ if (all) {
75132
+ queue.forEach(function (toast) {
75133
+ toast.clear();
75134
+ });
75135
+ queue = [];
75136
+ } else if (!multiple) {
75137
+ queue[0].clear();
75138
+ } else {
75139
+ queue.shift().clear();
75140
+ }
75141
+ }
75142
+ };
75143
+
75144
+ toast_Toast.setDefaultOptions = function (type, options) {
75145
+ if (typeof type === 'string') {
75146
+ defaultOptionsMap[type] = options;
75147
+ } else {
75148
+ _extends(currentOptions, type);
75149
+ }
75150
+ };
75151
+
75152
+ toast_Toast.resetDefaultOptions = function (type) {
75153
+ if (typeof type === 'string') {
75154
+ defaultOptionsMap[type] = null;
75155
+ } else {
75156
+ currentOptions = _extends({}, defaultOptions);
75157
+ defaultOptionsMap = {};
75158
+ }
75159
+ };
75160
+
75161
+ toast_Toast.allowMultiple = function (value) {
75162
+ if (value === void 0) {
75163
+ value = true;
75164
+ }
75165
+
75166
+ multiple = value;
75167
+ };
75168
+
75169
+ toast_Toast.install = function () {
75170
+ external_commonjs_vue_commonjs2_vue_root_Vue_default().use(Toast);
75171
+ };
75172
+
75173
+ (external_commonjs_vue_commonjs2_vue_root_Vue_default()).prototype.$toast = toast_Toast;
75174
+ /* harmony default export */ var toast = (toast_Toast);
72961
75175
  ;// CONCATENATED MODULE: ./packages/npmaio/mappaio/index.js
72962
75176
  function mappaio_typeof(o) { "@babel/helpers - typeof"; return mappaio_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, mappaio_typeof(o); }
72963
75177
  function mappaio_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -73000,13 +75214,14 @@ function mappaio_arrayWithHoles(r) { if (Array.isArray(r)) return r; }
73000
75214
 
73001
75215
 
73002
75216
 
75217
+
73003
75218
  var mappaio_components = [app, auth, eventBus, user, Building, Basicform, Basicform_DatetimeField, Basicform_FileField, Basicform_InputField, Basicform_SelectField, Basicform_SwitchField, Basicform_TextareaField, Basicform_IdeaField, DatetimeRange, DataTable, InnerTable, FooterButtonGroup, FloatButtonGroup, NativeWebView, SelectDialog, WfStatus, PopupDialog];
73004
75219
 
73005
75220
  // ---------- 重型组件异步全局注册清单(chunk 级按需加载) ----------
73006
75221
  var asyncComponents = [
73007
75222
  // ========== ecmapp 业务功能 ==========
73008
75223
  ['RichtextEditor', function () {
73009
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 9604));
75224
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5183));
73010
75225
  }], ['PdfTools', function () {
73011
75226
  return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 7526)).then(function (m) {
73012
75227
  return m.PdfTools;
@@ -73018,39 +75233,39 @@ var asyncComponents = [
73018
75233
  }],
73019
75234
  // ========== ecmapp/Wflowform 工作流表单子组件 → chunk: m-wflow-form ==========
73020
75235
  ['Attachment', function () {
73021
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3414)).then(function (m) {
75236
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73022
75237
  return m.Attachment;
73023
75238
  });
73024
75239
  }], ['BodyFile', function () {
73025
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3414)).then(function (m) {
75240
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73026
75241
  return m.BodyFile;
73027
75242
  });
73028
75243
  }], ['HandleIdea', function () {
73029
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3414)).then(function (m) {
75244
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73030
75245
  return m.HandleIdea;
73031
75246
  });
73032
75247
  }], ['SelectOuterDeputy', function () {
73033
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3414)).then(function (m) {
75248
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73034
75249
  return m.SelectOuterDeputy;
73035
75250
  });
73036
75251
  }], ['SubmitHandle', function () {
73037
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3414)).then(function (m) {
75252
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73038
75253
  return m.SubmitHandle;
73039
75254
  });
73040
75255
  }], ['SubmitDialog', function () {
73041
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3414)).then(function (m) {
75256
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73042
75257
  return m.SubmitDialog;
73043
75258
  });
73044
75259
  }], ['ShortcutProcessing', function () {
73045
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3414)).then(function (m) {
75260
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73046
75261
  return m.ShortcutProcessing;
73047
75262
  });
73048
75263
  }], ['WfNodelogList', function () {
73049
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3414)).then(function (m) {
75264
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73050
75265
  return m.WfNodelogList;
73051
75266
  });
73052
75267
  }], ['WriteToReadIdea', function () {
73053
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3414)).then(function (m) {
75268
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898)).then(function (m) {
73054
75269
  return m.WriteToReadIdea;
73055
75270
  });
73056
75271
  }]];
@@ -73060,6 +75275,11 @@ var mappaio_install = function install(Vue) {
73060
75275
  if (install.installed) return;
73061
75276
  install.installed = true;
73062
75277
 
75278
+ // vant Toast 默认 z-index 为 2000,会低于 PopupDialog(van-popup) 自增的弹层层级,全局提高,避免弹层内提示被遮挡
75279
+ toast.setDefaultOptions({
75280
+ zIndex: 9999
75281
+ });
75282
+
73063
75283
  // 1. 同步注册核心组件
73064
75284
  mappaio_components.map(function (component) {
73065
75285
  Vue.use(component);
@@ -73103,7 +75323,7 @@ var WfengineModule = function WfengineModule() {
73103
75323
  return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6322));
73104
75324
  };
73105
75325
  var WflowformModule = function WflowformModule() {
73106
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 3414));
75326
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5898));
73107
75327
  };
73108
75328
 
73109
75329
  // ---------- 重型功能(PDF/富文本,仅特定页面使用) ----------
@@ -73118,7 +75338,7 @@ var PdfViewerModule = function PdfViewerModule() {
73118
75338
  });
73119
75339
  };
73120
75340
  var RichtextEditorModule = function RichtextEditorModule() {
73121
- return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 9604));
75341
+ return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5183));
73122
75342
  };
73123
75343
  ;// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js
73124
75344