ecinc-cloud-mappaio 9.7.32 → 9.7.34
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.
- package/lib/ecmappaio.common.js +682 -30
- package/lib/ecmappaio.umd.js +682 -30
- package/lib/ecmappaio.umd.min.js +1 -1
- package/package.json +1 -1
package/lib/ecmappaio.common.js
CHANGED
|
@@ -8756,7 +8756,7 @@ src.install = function (Vue) {
|
|
|
8756
8756
|
|
|
8757
8757
|
/***/ }),
|
|
8758
8758
|
|
|
8759
|
-
/***/
|
|
8759
|
+
/***/ 5475:
|
|
8760
8760
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8761
8761
|
|
|
8762
8762
|
"use strict";
|
|
@@ -12715,8 +12715,8 @@ var SelectOuterDeputy_component = (0,componentNormalizer/* default */.A)(
|
|
|
12715
12715
|
)
|
|
12716
12716
|
|
|
12717
12717
|
/* harmony default export */ var SelectOuterDeputy = (SelectOuterDeputy_component.exports);
|
|
12718
|
-
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=template&id=
|
|
12719
|
-
var
|
|
12718
|
+
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=template&id=44733f4f&scoped=true
|
|
12719
|
+
var SubmitHandlevue_type_template_id_44733f4f_scoped_true_render = function render() {
|
|
12720
12720
|
var _vm = this,
|
|
12721
12721
|
_c = _vm._self._c;
|
|
12722
12722
|
return _vm.initiated ? _c('div', {
|
|
@@ -12807,7 +12807,9 @@ var SubmitHandlevue_type_template_id_6451f4d6_scoped_true_render = function rend
|
|
|
12807
12807
|
attrs: {
|
|
12808
12808
|
"title": "填写意见"
|
|
12809
12809
|
}
|
|
12810
|
-
})], 1), _vm._t("idea-inputbox-top"), _c('
|
|
12810
|
+
})], 1), _vm._t("idea-inputbox-top"), _c('div', {
|
|
12811
|
+
staticClass: "idea-input-wrap"
|
|
12812
|
+
}, [_c('van-field', {
|
|
12811
12813
|
directives: [{
|
|
12812
12814
|
name: "field-lbl",
|
|
12813
12815
|
rawName: "v-field-lbl",
|
|
@@ -12829,7 +12831,27 @@ var SubmitHandlevue_type_template_id_6451f4d6_scoped_true_render = function rend
|
|
|
12829
12831
|
},
|
|
12830
12832
|
expression: "submitHandle.curUserIdea"
|
|
12831
12833
|
}
|
|
12832
|
-
}), _c('
|
|
12834
|
+
}), _vm.voiceInputEnabled ? _c('div', {
|
|
12835
|
+
staticClass: "voice-input-btn",
|
|
12836
|
+
on: {
|
|
12837
|
+
"click": _vm.openVoiceInput
|
|
12838
|
+
}
|
|
12839
|
+
}, [_c('svg', {
|
|
12840
|
+
staticClass: "voice-input-icon",
|
|
12841
|
+
attrs: {
|
|
12842
|
+
"viewBox": "0 0 1024 1024",
|
|
12843
|
+
"fill": "currentColor",
|
|
12844
|
+
"aria-hidden": "true"
|
|
12845
|
+
}
|
|
12846
|
+
}, [_c('path', {
|
|
12847
|
+
attrs: {
|
|
12848
|
+
"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"
|
|
12849
|
+
}
|
|
12850
|
+
}), _c('path', {
|
|
12851
|
+
attrs: {
|
|
12852
|
+
"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"
|
|
12853
|
+
}
|
|
12854
|
+
})])]) : _vm._e()], 1), _c('van-cell', {
|
|
12833
12855
|
staticClass: "idea-button-container",
|
|
12834
12856
|
scopedSlots: _vm._u([{
|
|
12835
12857
|
key: "default",
|
|
@@ -13467,9 +13489,19 @@ var SubmitHandlevue_type_template_id_6451f4d6_scoped_true_render = function rend
|
|
|
13467
13489
|
"task-node": _vm.udmNode,
|
|
13468
13490
|
"idea-lables": _vm.wfJsonData.ideaLables
|
|
13469
13491
|
}
|
|
13470
|
-
})], 1) : _vm._e()
|
|
13492
|
+
})], 1) : _vm._e(), _c('VoiceInputDialog', {
|
|
13493
|
+
attrs: {
|
|
13494
|
+
"visible": _vm.voiceDialogVisible
|
|
13495
|
+
},
|
|
13496
|
+
on: {
|
|
13497
|
+
"update:visible": function updateVisible($event) {
|
|
13498
|
+
_vm.voiceDialogVisible = $event;
|
|
13499
|
+
},
|
|
13500
|
+
"confirm": _vm.onVoiceConfirm
|
|
13501
|
+
}
|
|
13502
|
+
})], 2) : _vm._e();
|
|
13471
13503
|
};
|
|
13472
|
-
var
|
|
13504
|
+
var SubmitHandlevue_type_template_id_44733f4f_scoped_true_staticRenderFns = [];
|
|
13473
13505
|
|
|
13474
13506
|
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/WfTaskNode.vue?vue&type=template&id=d1ae2f20&scoped=true
|
|
13475
13507
|
var WfTaskNodevue_type_template_id_d1ae2f20_scoped_true_render = function render() {
|
|
@@ -14798,14 +14830,572 @@ var WfTaskNode_component = (0,componentNormalizer/* default */.A)(
|
|
|
14798
14830
|
)
|
|
14799
14831
|
|
|
14800
14832
|
/* harmony default export */ var WfTaskNode = (WfTaskNode_component.exports);
|
|
14833
|
+
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=template&id=28732777&scoped=true
|
|
14834
|
+
var VoiceInputDialogvue_type_template_id_28732777_scoped_true_render = function render() {
|
|
14835
|
+
var _vm = this,
|
|
14836
|
+
_c = _vm._self._c;
|
|
14837
|
+
return _c('van-popup', {
|
|
14838
|
+
staticClass: "voice-input-popup",
|
|
14839
|
+
attrs: {
|
|
14840
|
+
"round": "",
|
|
14841
|
+
"position": "bottom",
|
|
14842
|
+
"close-on-click-overlay": false
|
|
14843
|
+
},
|
|
14844
|
+
on: {
|
|
14845
|
+
"closed": _vm.onPopupClosed
|
|
14846
|
+
},
|
|
14847
|
+
model: {
|
|
14848
|
+
value: _vm.dialogVisible,
|
|
14849
|
+
callback: function callback($$v) {
|
|
14850
|
+
_vm.dialogVisible = $$v;
|
|
14851
|
+
},
|
|
14852
|
+
expression: "dialogVisible"
|
|
14853
|
+
}
|
|
14854
|
+
}, [_c('div', {
|
|
14855
|
+
staticClass: "voice-popup-header"
|
|
14856
|
+
}, [_c('span', {
|
|
14857
|
+
staticClass: "voice-popup-title"
|
|
14858
|
+
}, [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceInput', '语音输入')))]), _c('van-icon', {
|
|
14859
|
+
staticClass: "voice-popup-close",
|
|
14860
|
+
attrs: {
|
|
14861
|
+
"name": "cross"
|
|
14862
|
+
},
|
|
14863
|
+
on: {
|
|
14864
|
+
"click": function click($event) {
|
|
14865
|
+
_vm.dialogVisible = false;
|
|
14866
|
+
}
|
|
14867
|
+
}
|
|
14868
|
+
})], 1), _c('div', {
|
|
14869
|
+
staticClass: "voice-popup-body"
|
|
14870
|
+
}, [_c('div', {
|
|
14871
|
+
staticClass: "voice-mic-btn",
|
|
14872
|
+
class: {
|
|
14873
|
+
recording: _vm.status === 'recording'
|
|
14874
|
+
},
|
|
14875
|
+
on: {
|
|
14876
|
+
"click": _vm.toggleRecord
|
|
14877
|
+
}
|
|
14878
|
+
}, [_vm.status === 'processing' ? _c('van-loading', {
|
|
14879
|
+
attrs: {
|
|
14880
|
+
"color": "#ffffff",
|
|
14881
|
+
"size": "28px"
|
|
14882
|
+
}
|
|
14883
|
+
}) : _c('svg', {
|
|
14884
|
+
staticClass: "voice-mic-icon",
|
|
14885
|
+
attrs: {
|
|
14886
|
+
"viewBox": "0 0 1024 1024",
|
|
14887
|
+
"fill": "currentColor",
|
|
14888
|
+
"aria-hidden": "true"
|
|
14889
|
+
}
|
|
14890
|
+
}, [_c('path', {
|
|
14891
|
+
attrs: {
|
|
14892
|
+
"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"
|
|
14893
|
+
}
|
|
14894
|
+
}), _c('path', {
|
|
14895
|
+
attrs: {
|
|
14896
|
+
"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"
|
|
14897
|
+
}
|
|
14898
|
+
})])], 1), _c('div', {
|
|
14899
|
+
staticClass: "voice-status-text",
|
|
14900
|
+
class: {
|
|
14901
|
+
'is-error': _vm.status === 'error'
|
|
14902
|
+
}
|
|
14903
|
+
}, [_vm._v(_vm._s(_vm.statusText))]), _c('canvas', {
|
|
14904
|
+
directives: [{
|
|
14905
|
+
name: "show",
|
|
14906
|
+
rawName: "v-show",
|
|
14907
|
+
value: _vm.status === 'recording',
|
|
14908
|
+
expression: "status === 'recording'"
|
|
14909
|
+
}],
|
|
14910
|
+
ref: "waveCanvas",
|
|
14911
|
+
staticClass: "voice-wave-canvas"
|
|
14912
|
+
}), _c('div', {
|
|
14913
|
+
directives: [{
|
|
14914
|
+
name: "show",
|
|
14915
|
+
rawName: "v-show",
|
|
14916
|
+
value: _vm.status === 'recording',
|
|
14917
|
+
expression: "status === 'recording'"
|
|
14918
|
+
}],
|
|
14919
|
+
staticClass: "voice-timer"
|
|
14920
|
+
}, [_vm._v(_vm._s(_vm.timerText))]), _c('van-field', {
|
|
14921
|
+
staticClass: "voice-result-field",
|
|
14922
|
+
attrs: {
|
|
14923
|
+
"type": "textarea",
|
|
14924
|
+
"rows": "3",
|
|
14925
|
+
"autosize": "",
|
|
14926
|
+
"readonly": _vm.status === 'recording' || _vm.status === 'processing',
|
|
14927
|
+
"placeholder": _vm.$tx('ecmapp.wflowform.voiceResultHolder', '识别结果将显示在这里,可修改后填入意见。')
|
|
14928
|
+
},
|
|
14929
|
+
model: {
|
|
14930
|
+
value: _vm.resultText,
|
|
14931
|
+
callback: function callback($$v) {
|
|
14932
|
+
_vm.resultText = $$v;
|
|
14933
|
+
},
|
|
14934
|
+
expression: "resultText"
|
|
14935
|
+
}
|
|
14936
|
+
})], 1), _c('div', {
|
|
14937
|
+
staticClass: "voice-popup-footer"
|
|
14938
|
+
}, [_c('van-button', {
|
|
14939
|
+
attrs: {
|
|
14940
|
+
"type": "default",
|
|
14941
|
+
"size": "small",
|
|
14942
|
+
"hairline": ""
|
|
14943
|
+
},
|
|
14944
|
+
on: {
|
|
14945
|
+
"click": function click($event) {
|
|
14946
|
+
_vm.dialogVisible = false;
|
|
14947
|
+
}
|
|
14948
|
+
}
|
|
14949
|
+
}, [_vm._v(_vm._s(_vm.$tx('ecmapp.pageBtns.cancel', '取消')))]), _c('van-button', {
|
|
14950
|
+
attrs: {
|
|
14951
|
+
"type": "info",
|
|
14952
|
+
"size": "small",
|
|
14953
|
+
"hairline": "",
|
|
14954
|
+
"disabled": !_vm.resultText || _vm.resultText.trim() === '' || _vm.status === 'recording' || _vm.status === 'processing'
|
|
14955
|
+
},
|
|
14956
|
+
on: {
|
|
14957
|
+
"click": _vm.confirmVoiceText
|
|
14958
|
+
}
|
|
14959
|
+
}, [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceFillOpinion', '填入意见')))])], 1)]);
|
|
14960
|
+
};
|
|
14961
|
+
var VoiceInputDialogvue_type_template_id_28732777_scoped_true_staticRenderFns = [];
|
|
14962
|
+
|
|
14963
|
+
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=script&lang=js
|
|
14964
|
+
/* harmony default export */ var VoiceInputDialogvue_type_script_lang_js = ({
|
|
14965
|
+
name: 'VoiceInputDialog',
|
|
14966
|
+
props: {
|
|
14967
|
+
visible: {
|
|
14968
|
+
type: Boolean,
|
|
14969
|
+
default: false
|
|
14970
|
+
}
|
|
14971
|
+
},
|
|
14972
|
+
data: function data() {
|
|
14973
|
+
return {
|
|
14974
|
+
i18npkg: 'ecmapp',
|
|
14975
|
+
moduleCode: 'wflowform',
|
|
14976
|
+
status: 'idle',
|
|
14977
|
+
// idle:待录音 recording:录音中 processing:识别中(仅后端模式) done:识别完成 error:出错
|
|
14978
|
+
errorText: '',
|
|
14979
|
+
resultText: '',
|
|
14980
|
+
finalText: '',
|
|
14981
|
+
// 浏览器模式已确认的识别文本
|
|
14982
|
+
seconds: 0,
|
|
14983
|
+
timer: null,
|
|
14984
|
+
recognition: null,
|
|
14985
|
+
// 浏览器语音识别实例
|
|
14986
|
+
mediaRecorder: null,
|
|
14987
|
+
// 后端模式录音实例
|
|
14988
|
+
stream: null,
|
|
14989
|
+
// 麦克风音频流
|
|
14990
|
+
audioChunks: [],
|
|
14991
|
+
audioContext: null,
|
|
14992
|
+
// 波形绘制音频上下文
|
|
14993
|
+
analyser: null,
|
|
14994
|
+
// 波形分析节点
|
|
14995
|
+
visualStream: null,
|
|
14996
|
+
// 浏览器模式下专供波形绘制的音频流
|
|
14997
|
+
waveRafId: null,
|
|
14998
|
+
recognizeStartAt: 0 // 识别启动时间戳,用于判断秒退(识别服务不可用)
|
|
14999
|
+
};
|
|
15000
|
+
},
|
|
15001
|
+
computed: {
|
|
15002
|
+
dialogVisible: {
|
|
15003
|
+
get: function get() {
|
|
15004
|
+
return this.visible;
|
|
15005
|
+
},
|
|
15006
|
+
set: function set(val) {
|
|
15007
|
+
this.$emit('update:visible', val);
|
|
15008
|
+
}
|
|
15009
|
+
},
|
|
15010
|
+
// window.voiceToWord为非空字符串且不为browser时,视为后端转写接口URL
|
|
15011
|
+
backendUrl: function backendUrl() {
|
|
15012
|
+
var voiceToWord = window.voiceToWord;
|
|
15013
|
+
return voiceToWord && typeof voiceToWord === 'string' && voiceToWord !== 'browser' ? voiceToWord : '';
|
|
15014
|
+
},
|
|
15015
|
+
statusText: function statusText() {
|
|
15016
|
+
switch (this.status) {
|
|
15017
|
+
case 'recording':
|
|
15018
|
+
return this.$tx('ecmapp.wflowform.voiceRecording', '正在聆听,请说话…');
|
|
15019
|
+
case 'processing':
|
|
15020
|
+
return this.$tx('ecmapp.wflowform.voiceProcessing', '识别中…');
|
|
15021
|
+
case 'done':
|
|
15022
|
+
return this.$tx('ecmapp.wflowform.voiceDone', '识别完成,可修改后填入。');
|
|
15023
|
+
case 'error':
|
|
15024
|
+
return this.errorText;
|
|
15025
|
+
default:
|
|
15026
|
+
return this.$tx('ecmapp.wflowform.voiceIdle', '点击麦克风开始说话');
|
|
15027
|
+
}
|
|
15028
|
+
},
|
|
15029
|
+
timerText: function timerText() {
|
|
15030
|
+
var min = Math.floor(this.seconds / 60);
|
|
15031
|
+
var sec = this.seconds % 60;
|
|
15032
|
+
return (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec);
|
|
15033
|
+
}
|
|
15034
|
+
},
|
|
15035
|
+
watch: {
|
|
15036
|
+
visible: function visible(val) {
|
|
15037
|
+
if (val) {
|
|
15038
|
+
this.resetState();
|
|
15039
|
+
this.preRequestPermission();
|
|
15040
|
+
}
|
|
15041
|
+
}
|
|
15042
|
+
},
|
|
15043
|
+
beforeDestroy: function beforeDestroy() {
|
|
15044
|
+
this.releaseResources();
|
|
15045
|
+
},
|
|
15046
|
+
methods: {
|
|
15047
|
+
resetState: function resetState() {
|
|
15048
|
+
this.status = 'idle';
|
|
15049
|
+
this.errorText = '';
|
|
15050
|
+
this.resultText = '';
|
|
15051
|
+
this.finalText = '';
|
|
15052
|
+
this.seconds = 0;
|
|
15053
|
+
this.audioChunks = [];
|
|
15054
|
+
},
|
|
15055
|
+
// 打开弹窗即预请求麦克风权限,被拒绝时显示引导文案
|
|
15056
|
+
preRequestPermission: function preRequestPermission() {
|
|
15057
|
+
var _this = this;
|
|
15058
|
+
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
|
|
15059
|
+
navigator.mediaDevices.getUserMedia({
|
|
15060
|
+
audio: true
|
|
15061
|
+
}).then(function (stream) {
|
|
15062
|
+
stream.getTracks().forEach(function (track) {
|
|
15063
|
+
return track.stop();
|
|
15064
|
+
});
|
|
15065
|
+
}).catch(function () {
|
|
15066
|
+
_this.showPermissionError();
|
|
15067
|
+
});
|
|
15068
|
+
}
|
|
15069
|
+
},
|
|
15070
|
+
showPermissionError: function showPermissionError() {
|
|
15071
|
+
this.status = 'error';
|
|
15072
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceNoPermission', '请在浏览器设置中允许使用麦克风后重试。');
|
|
15073
|
+
},
|
|
15074
|
+
// 手机浏览器/WebView常见:暴露了SpeechRecognition但识别服务不可达(如Google语音服务)
|
|
15075
|
+
showServiceUnavailableError: function showServiceUnavailableError() {
|
|
15076
|
+
this.status = 'error';
|
|
15077
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceServiceUnavailable', '当前浏览器无法连接语音识别服务。');
|
|
15078
|
+
},
|
|
15079
|
+
toggleRecord: function toggleRecord() {
|
|
15080
|
+
if (this.status === 'processing') return;
|
|
15081
|
+
if (this.status === 'recording') {
|
|
15082
|
+
this.stopRecord();
|
|
15083
|
+
} else {
|
|
15084
|
+
this.startRecord();
|
|
15085
|
+
}
|
|
15086
|
+
},
|
|
15087
|
+
startRecord: function startRecord() {
|
|
15088
|
+
this.resultText = '';
|
|
15089
|
+
this.finalText = '';
|
|
15090
|
+
if (this.backendUrl) {
|
|
15091
|
+
this.startBackendRecord();
|
|
15092
|
+
} else {
|
|
15093
|
+
this.startBrowserRecognition();
|
|
15094
|
+
}
|
|
15095
|
+
},
|
|
15096
|
+
stopRecord: function stopRecord() {
|
|
15097
|
+
this.stopTimer();
|
|
15098
|
+
if (this.recognition) {
|
|
15099
|
+
this.recognition.stop();
|
|
15100
|
+
}
|
|
15101
|
+
if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') {
|
|
15102
|
+
this.mediaRecorder.stop();
|
|
15103
|
+
}
|
|
15104
|
+
},
|
|
15105
|
+
startTimer: function startTimer() {
|
|
15106
|
+
var _this2 = this;
|
|
15107
|
+
this.seconds = 0;
|
|
15108
|
+
this.timer = setInterval(function () {
|
|
15109
|
+
_this2.seconds++;
|
|
15110
|
+
}, 1000);
|
|
15111
|
+
},
|
|
15112
|
+
stopTimer: function stopTimer() {
|
|
15113
|
+
if (this.timer) {
|
|
15114
|
+
clearInterval(this.timer);
|
|
15115
|
+
this.timer = null;
|
|
15116
|
+
}
|
|
15117
|
+
},
|
|
15118
|
+
// 浏览器模式:Web Speech API直转文字,中间结果实时上屏
|
|
15119
|
+
startBrowserRecognition: function startBrowserRecognition() {
|
|
15120
|
+
var _this3 = this;
|
|
15121
|
+
var SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
|
|
15122
|
+
if (!SpeechRecognition) {
|
|
15123
|
+
this.status = 'error';
|
|
15124
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceNotSupport', '当前浏览器不支持语音识别。');
|
|
15125
|
+
return;
|
|
15126
|
+
}
|
|
15127
|
+
var recognition = new SpeechRecognition();
|
|
15128
|
+
recognition.lang = 'zh-CN';
|
|
15129
|
+
recognition.continuous = true;
|
|
15130
|
+
recognition.interimResults = true;
|
|
15131
|
+
recognition.onstart = function () {
|
|
15132
|
+
_this3.status = 'recording';
|
|
15133
|
+
_this3.startTimer();
|
|
15134
|
+
_this3.startVisualStream();
|
|
15135
|
+
};
|
|
15136
|
+
recognition.onresult = function (event) {
|
|
15137
|
+
var interimText = '';
|
|
15138
|
+
for (var i = event.resultIndex; i < event.results.length; i++) {
|
|
15139
|
+
if (event.results[i].isFinal) {
|
|
15140
|
+
_this3.finalText += event.results[i][0].transcript;
|
|
15141
|
+
} else {
|
|
15142
|
+
interimText += event.results[i][0].transcript;
|
|
15143
|
+
}
|
|
15144
|
+
}
|
|
15145
|
+
_this3.resultText = _this3.finalText + interimText;
|
|
15146
|
+
};
|
|
15147
|
+
recognition.onerror = function (event) {
|
|
15148
|
+
_this3.stopTimer();
|
|
15149
|
+
_this3.stopWaveform();
|
|
15150
|
+
if (event.error === 'not-allowed' || event.error === 'service-not-allowed') {
|
|
15151
|
+
_this3.showPermissionError();
|
|
15152
|
+
} else if (event.error === 'network') {
|
|
15153
|
+
_this3.showServiceUnavailableError();
|
|
15154
|
+
} else if (event.error === 'no-speech') {
|
|
15155
|
+
_this3.status = 'error';
|
|
15156
|
+
_this3.errorText = _this3.$tx('ecmapp.wflowform.voiceNoSpeech', '未检测到语音,请重试。');
|
|
15157
|
+
} else if (event.error !== 'aborted') {
|
|
15158
|
+
_this3.status = 'error';
|
|
15159
|
+
_this3.errorText = _this3.$tx('ecmapp.wflowform.voiceRecognizeFail', '语音识别失败,请重试。');
|
|
15160
|
+
}
|
|
15161
|
+
};
|
|
15162
|
+
recognition.onend = function () {
|
|
15163
|
+
_this3.stopTimer();
|
|
15164
|
+
_this3.stopWaveform();
|
|
15165
|
+
_this3.recognition = null;
|
|
15166
|
+
if (_this3.status === 'recording') {
|
|
15167
|
+
_this3.resultText = _this3.finalText;
|
|
15168
|
+
if (_this3.resultText.trim() !== '') {
|
|
15169
|
+
_this3.status = 'done';
|
|
15170
|
+
} else if (Date.now() - _this3.recognizeStartAt < 1500) {
|
|
15171
|
+
// 启动后秒退且无任何结果,判定为识别服务不可用
|
|
15172
|
+
_this3.showServiceUnavailableError();
|
|
15173
|
+
} else {
|
|
15174
|
+
_this3.status = 'idle';
|
|
15175
|
+
}
|
|
15176
|
+
}
|
|
15177
|
+
};
|
|
15178
|
+
this.recognition = recognition;
|
|
15179
|
+
this.recognizeStartAt = Date.now();
|
|
15180
|
+
recognition.start();
|
|
15181
|
+
},
|
|
15182
|
+
// 后端模式:录音→上传→转文字
|
|
15183
|
+
startBackendRecord: function startBackendRecord() {
|
|
15184
|
+
var _this4 = this;
|
|
15185
|
+
if (!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)) {
|
|
15186
|
+
this.status = 'error';
|
|
15187
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceNotSupport', '当前浏览器不支持语音识别。');
|
|
15188
|
+
return;
|
|
15189
|
+
}
|
|
15190
|
+
navigator.mediaDevices.getUserMedia({
|
|
15191
|
+
audio: true
|
|
15192
|
+
}).then(function (stream) {
|
|
15193
|
+
_this4.stream = stream;
|
|
15194
|
+
_this4.audioChunks = [];
|
|
15195
|
+
var mimeType = window.MediaRecorder && MediaRecorder.isTypeSupported('audio/webm;codecs=opus') ? 'audio/webm;codecs=opus' : '';
|
|
15196
|
+
var mediaRecorder = mimeType ? new MediaRecorder(stream, {
|
|
15197
|
+
mimeType: mimeType
|
|
15198
|
+
}) : new MediaRecorder(stream);
|
|
15199
|
+
mediaRecorder.ondataavailable = function (event) {
|
|
15200
|
+
if (event.data && event.data.size > 0) {
|
|
15201
|
+
_this4.audioChunks.push(event.data);
|
|
15202
|
+
}
|
|
15203
|
+
};
|
|
15204
|
+
mediaRecorder.onstart = function () {
|
|
15205
|
+
_this4.status = 'recording';
|
|
15206
|
+
_this4.startTimer();
|
|
15207
|
+
_this4.startWaveform(stream);
|
|
15208
|
+
};
|
|
15209
|
+
mediaRecorder.onstop = function () {
|
|
15210
|
+
_this4.stopTimer();
|
|
15211
|
+
_this4.stopWaveform();
|
|
15212
|
+
_this4.releaseStream();
|
|
15213
|
+
_this4.mediaRecorder = null;
|
|
15214
|
+
// 弹窗已关闭(取消录音)则不再上传
|
|
15215
|
+
if (_this4.visible && _this4.audioChunks.length > 0) {
|
|
15216
|
+
_this4.uploadVoice();
|
|
15217
|
+
}
|
|
15218
|
+
};
|
|
15219
|
+
_this4.mediaRecorder = mediaRecorder;
|
|
15220
|
+
mediaRecorder.start();
|
|
15221
|
+
}).catch(function () {
|
|
15222
|
+
_this4.showPermissionError();
|
|
15223
|
+
});
|
|
15224
|
+
},
|
|
15225
|
+
uploadVoice: function uploadVoice() {
|
|
15226
|
+
var _this5 = this;
|
|
15227
|
+
this.status = 'processing';
|
|
15228
|
+
var voiceBlob = new Blob(this.audioChunks, {
|
|
15229
|
+
type: this.audioChunks[0].type || 'audio/webm'
|
|
15230
|
+
});
|
|
15231
|
+
var formData = new FormData();
|
|
15232
|
+
formData.append('voiceFile', voiceBlob, 'voice.webm');
|
|
15233
|
+
formData.append('format', 'webm');
|
|
15234
|
+
formData.append('lang', 'zh-CN');
|
|
15235
|
+
this.$http({
|
|
15236
|
+
method: 'POST',
|
|
15237
|
+
url: this.backendUrl,
|
|
15238
|
+
headers: {
|
|
15239
|
+
'Content-Type': 'multipart/form-data'
|
|
15240
|
+
},
|
|
15241
|
+
data: formData
|
|
15242
|
+
}).then(function (res) {
|
|
15243
|
+
if (res.code === 'success') {
|
|
15244
|
+
_this5.resultText = res.body && res.body.text || '';
|
|
15245
|
+
_this5.status = _this5.resultText.trim() !== '' ? 'done' : 'error';
|
|
15246
|
+
if (_this5.status === 'error') {
|
|
15247
|
+
_this5.errorText = _this5.$tx('ecmapp.wflowform.voiceNoSpeech', '未检测到语音,请重试。');
|
|
15248
|
+
}
|
|
15249
|
+
} else {
|
|
15250
|
+
_this5.status = 'error';
|
|
15251
|
+
_this5.errorText = res.message || _this5.$tx('ecmapp.wflowform.voiceRecognizeFail', '语音识别失败,请重试。');
|
|
15252
|
+
}
|
|
15253
|
+
}).catch(function () {
|
|
15254
|
+
_this5.status = 'error';
|
|
15255
|
+
_this5.errorText = _this5.$tx('ecmapp.wflowform.voiceRecognizeFail', '语音识别失败,请重试。');
|
|
15256
|
+
});
|
|
15257
|
+
},
|
|
15258
|
+
releaseStream: function releaseStream() {
|
|
15259
|
+
if (this.stream) {
|
|
15260
|
+
this.stream.getTracks().forEach(function (track) {
|
|
15261
|
+
return track.stop();
|
|
15262
|
+
});
|
|
15263
|
+
this.stream = null;
|
|
15264
|
+
}
|
|
15265
|
+
},
|
|
15266
|
+
// 浏览器模式下SpeechRecognition不暴露音频流,单独取一路流用于波形绘制
|
|
15267
|
+
startVisualStream: function startVisualStream() {
|
|
15268
|
+
var _this6 = this;
|
|
15269
|
+
if (!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)) return;
|
|
15270
|
+
navigator.mediaDevices.getUserMedia({
|
|
15271
|
+
audio: true
|
|
15272
|
+
}).then(function (stream) {
|
|
15273
|
+
// 取流回来时录音可能已结束
|
|
15274
|
+
if (_this6.status !== 'recording') {
|
|
15275
|
+
stream.getTracks().forEach(function (track) {
|
|
15276
|
+
return track.stop();
|
|
15277
|
+
});
|
|
15278
|
+
return;
|
|
15279
|
+
}
|
|
15280
|
+
_this6.visualStream = stream;
|
|
15281
|
+
_this6.startWaveform(stream);
|
|
15282
|
+
}).catch(function () {});
|
|
15283
|
+
},
|
|
15284
|
+
// 用AnalyserNode实时绘制录音波形柱状图
|
|
15285
|
+
startWaveform: function startWaveform(stream) {
|
|
15286
|
+
var _this7 = this;
|
|
15287
|
+
var AudioContextClass = window.AudioContext || window.webkitAudioContext;
|
|
15288
|
+
var canvas = this.$refs.waveCanvas;
|
|
15289
|
+
if (!AudioContextClass || !canvas) return;
|
|
15290
|
+
var audioContext = new AudioContextClass();
|
|
15291
|
+
var analyser = audioContext.createAnalyser();
|
|
15292
|
+
analyser.fftSize = 128;
|
|
15293
|
+
audioContext.createMediaStreamSource(stream).connect(analyser);
|
|
15294
|
+
this.audioContext = audioContext;
|
|
15295
|
+
this.analyser = analyser;
|
|
15296
|
+
var dpr = window.devicePixelRatio || 1;
|
|
15297
|
+
canvas.width = canvas.clientWidth * dpr;
|
|
15298
|
+
canvas.height = canvas.clientHeight * dpr;
|
|
15299
|
+
var ctx = canvas.getContext('2d');
|
|
15300
|
+
var dataArray = new Uint8Array(analyser.frequencyBinCount);
|
|
15301
|
+
var barCount = 32;
|
|
15302
|
+
var gap = 2 * dpr;
|
|
15303
|
+
var barWidth = (canvas.width - gap * (barCount - 1)) / barCount;
|
|
15304
|
+
var centerY = canvas.height / 2;
|
|
15305
|
+
var draw = function draw() {
|
|
15306
|
+
if (!_this7.analyser) return;
|
|
15307
|
+
_this7.waveRafId = requestAnimationFrame(draw);
|
|
15308
|
+
_this7.analyser.getByteFrequencyData(dataArray);
|
|
15309
|
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
15310
|
+
ctx.fillStyle = '#1989fa';
|
|
15311
|
+
for (var i = 0; i < barCount; i++) {
|
|
15312
|
+
var value = dataArray[Math.floor(i * dataArray.length / barCount)] / 255;
|
|
15313
|
+
var barHeight = Math.max(2 * dpr, value * canvas.height);
|
|
15314
|
+
var x = i * (barWidth + gap);
|
|
15315
|
+
ctx.fillRect(x, centerY - barHeight / 2, barWidth, barHeight);
|
|
15316
|
+
}
|
|
15317
|
+
};
|
|
15318
|
+
draw();
|
|
15319
|
+
},
|
|
15320
|
+
stopWaveform: function stopWaveform() {
|
|
15321
|
+
if (this.waveRafId) {
|
|
15322
|
+
cancelAnimationFrame(this.waveRafId);
|
|
15323
|
+
this.waveRafId = null;
|
|
15324
|
+
}
|
|
15325
|
+
if (this.audioContext) {
|
|
15326
|
+
this.audioContext.close().catch(function () {});
|
|
15327
|
+
this.audioContext = null;
|
|
15328
|
+
}
|
|
15329
|
+
this.analyser = null;
|
|
15330
|
+
if (this.visualStream) {
|
|
15331
|
+
this.visualStream.getTracks().forEach(function (track) {
|
|
15332
|
+
return track.stop();
|
|
15333
|
+
});
|
|
15334
|
+
this.visualStream = null;
|
|
15335
|
+
}
|
|
15336
|
+
},
|
|
15337
|
+
// 关闭/取消时释放麦克风等资源
|
|
15338
|
+
releaseResources: function releaseResources() {
|
|
15339
|
+
this.stopTimer();
|
|
15340
|
+
this.stopWaveform();
|
|
15341
|
+
if (this.recognition) {
|
|
15342
|
+
this.recognition.abort();
|
|
15343
|
+
this.recognition = null;
|
|
15344
|
+
}
|
|
15345
|
+
if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') {
|
|
15346
|
+
this.mediaRecorder.stop();
|
|
15347
|
+
}
|
|
15348
|
+
this.mediaRecorder = null;
|
|
15349
|
+
this.releaseStream();
|
|
15350
|
+
},
|
|
15351
|
+
onPopupClosed: function onPopupClosed() {
|
|
15352
|
+
this.releaseResources();
|
|
15353
|
+
},
|
|
15354
|
+
confirmVoiceText: function confirmVoiceText() {
|
|
15355
|
+
var text = this.resultText.trim();
|
|
15356
|
+
if (text === '') return;
|
|
15357
|
+
this.$emit('confirm', text);
|
|
15358
|
+
this.dialogVisible = false;
|
|
15359
|
+
}
|
|
15360
|
+
}
|
|
15361
|
+
});
|
|
15362
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=script&lang=js
|
|
15363
|
+
/* harmony default export */ var src_VoiceInputDialogvue_type_script_lang_js = (VoiceInputDialogvue_type_script_lang_js);
|
|
15364
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=28732777&prod&scoped=true&lang=scss
|
|
15365
|
+
var VoiceInputDialogvue_type_style_index_0_id_28732777_prod_scoped_true_lang_scss = __webpack_require__(3727);
|
|
15366
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=28732777&prod&scoped=true&lang=scss
|
|
15367
|
+
|
|
15368
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue
|
|
15369
|
+
|
|
15370
|
+
|
|
15371
|
+
|
|
15372
|
+
;
|
|
15373
|
+
|
|
15374
|
+
|
|
15375
|
+
/* normalize component */
|
|
15376
|
+
|
|
15377
|
+
var VoiceInputDialog_component = (0,componentNormalizer/* default */.A)(
|
|
15378
|
+
src_VoiceInputDialogvue_type_script_lang_js,
|
|
15379
|
+
VoiceInputDialogvue_type_template_id_28732777_scoped_true_render,
|
|
15380
|
+
VoiceInputDialogvue_type_template_id_28732777_scoped_true_staticRenderFns,
|
|
15381
|
+
false,
|
|
15382
|
+
null,
|
|
15383
|
+
"28732777",
|
|
15384
|
+
null
|
|
15385
|
+
|
|
15386
|
+
)
|
|
15387
|
+
|
|
15388
|
+
/* harmony default export */ var VoiceInputDialog = (VoiceInputDialog_component.exports);
|
|
14801
15389
|
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=script&lang=js
|
|
14802
15390
|
function SubmitHandlevue_type_script_lang_js_typeof(o) { "@babel/helpers - typeof"; return SubmitHandlevue_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; }, SubmitHandlevue_type_script_lang_js_typeof(o); }
|
|
14803
15391
|
var moment = __webpack_require__(5093);
|
|
14804
15392
|
|
|
15393
|
+
|
|
14805
15394
|
/* harmony default export */ var SubmitHandlevue_type_script_lang_js = ({
|
|
14806
15395
|
name: 'SubmitHandle',
|
|
14807
15396
|
components: {
|
|
14808
|
-
WfTaskNode: WfTaskNode
|
|
15397
|
+
WfTaskNode: WfTaskNode,
|
|
15398
|
+
VoiceInputDialog: VoiceInputDialog
|
|
14809
15399
|
},
|
|
14810
15400
|
props: {
|
|
14811
15401
|
curTN: {
|
|
@@ -14939,7 +15529,11 @@ var moment = __webpack_require__(5093);
|
|
|
14939
15529
|
defaultNumber: 8,
|
|
14940
15530
|
// 超出默认展示两行(个数)
|
|
14941
15531
|
viewCommentsNum: 8,
|
|
14942
|
-
selectedUsersCount: {}
|
|
15532
|
+
selectedUsersCount: {},
|
|
15533
|
+
//节点已选择人数
|
|
15534
|
+
voiceDialogVisible: false,
|
|
15535
|
+
// 语音输入弹窗
|
|
15536
|
+
voiceInputEnabled: false // 当前环境是否支持语音输入
|
|
14943
15537
|
};
|
|
14944
15538
|
},
|
|
14945
15539
|
computed: {
|
|
@@ -14982,6 +15576,7 @@ var moment = __webpack_require__(5093);
|
|
|
14982
15576
|
},
|
|
14983
15577
|
created: function created() {
|
|
14984
15578
|
// this.setMargin()
|
|
15579
|
+
this.initVoiceInputEnabled();
|
|
14985
15580
|
this.$bus.on('initSubmitHandle', this.initSubmitHandle);
|
|
14986
15581
|
},
|
|
14987
15582
|
beforeDestroy: function beforeDestroy() {
|
|
@@ -15008,6 +15603,26 @@ var moment = __webpack_require__(5093);
|
|
|
15008
15603
|
}
|
|
15009
15604
|
},
|
|
15010
15605
|
methods: {
|
|
15606
|
+
// 检测语音输入按钮可用性:未配置window.voiceToWord时需https/localhost安全上下文且浏览器支持Web Speech API,否则不显示按钮
|
|
15607
|
+
initVoiceInputEnabled: function initVoiceInputEnabled() {
|
|
15608
|
+
var voiceToWord = window.voiceToWord;
|
|
15609
|
+
if (voiceToWord && typeof voiceToWord === 'string' && voiceToWord !== 'browser') {
|
|
15610
|
+
// 后端接口转文字:需getUserMedia录音(同样仅安全上下文下可用)
|
|
15611
|
+
this.voiceInputEnabled = !!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia);
|
|
15612
|
+
} else {
|
|
15613
|
+
// 浏览器直转文字:需安全上下文且支持SpeechRecognition
|
|
15614
|
+
this.voiceInputEnabled = window.isSecureContext === true && ('webkitSpeechRecognition' in window || 'SpeechRecognition' in window);
|
|
15615
|
+
}
|
|
15616
|
+
},
|
|
15617
|
+
openVoiceInput: function openVoiceInput() {
|
|
15618
|
+
this.voiceDialogVisible = true;
|
|
15619
|
+
},
|
|
15620
|
+
onVoiceConfirm: function onVoiceConfirm(text) {
|
|
15621
|
+
if (!text) return;
|
|
15622
|
+
var curUserIdea = this.submitHandle.curUserIdea;
|
|
15623
|
+
this.$set(this.submitHandle, 'curUserIdea', curUserIdea && curUserIdea.trim() !== '' ? curUserIdea + ' ' + text : text);
|
|
15624
|
+
this.$forceUpdate();
|
|
15625
|
+
},
|
|
15011
15626
|
// 计算边距
|
|
15012
15627
|
setMargin: function setMargin() {
|
|
15013
15628
|
var columnsNum = Math.floor((screen.width - 20) / 93); // 列数
|
|
@@ -15792,9 +16407,9 @@ var moment = __webpack_require__(5093);
|
|
|
15792
16407
|
});
|
|
15793
16408
|
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=script&lang=js
|
|
15794
16409
|
/* harmony default export */ var src_SubmitHandlevue_type_script_lang_js = (SubmitHandlevue_type_script_lang_js);
|
|
15795
|
-
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=
|
|
15796
|
-
var
|
|
15797
|
-
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=
|
|
16410
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=44733f4f&prod&scoped=true&lang=scss
|
|
16411
|
+
var SubmitHandlevue_type_style_index_0_id_44733f4f_prod_scoped_true_lang_scss = __webpack_require__(5099);
|
|
16412
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=44733f4f&prod&scoped=true&lang=scss
|
|
15798
16413
|
|
|
15799
16414
|
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue
|
|
15800
16415
|
|
|
@@ -15807,11 +16422,11 @@ var SubmitHandlevue_type_style_index_0_id_6451f4d6_prod_scoped_true_lang_scss =
|
|
|
15807
16422
|
|
|
15808
16423
|
var SubmitHandle_component = (0,componentNormalizer/* default */.A)(
|
|
15809
16424
|
src_SubmitHandlevue_type_script_lang_js,
|
|
15810
|
-
|
|
15811
|
-
|
|
16425
|
+
SubmitHandlevue_type_template_id_44733f4f_scoped_true_render,
|
|
16426
|
+
SubmitHandlevue_type_template_id_44733f4f_scoped_true_staticRenderFns,
|
|
15812
16427
|
false,
|
|
15813
16428
|
null,
|
|
15814
|
-
"
|
|
16429
|
+
"44733f4f",
|
|
15815
16430
|
null
|
|
15816
16431
|
|
|
15817
16432
|
)
|
|
@@ -22251,7 +22866,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".submit-dialog-container[data-v-9c230b
|
|
|
22251
22866
|
|
|
22252
22867
|
/***/ }),
|
|
22253
22868
|
|
|
22254
|
-
/***/
|
|
22869
|
+
/***/ 9969:
|
|
22255
22870
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22256
22871
|
|
|
22257
22872
|
"use strict";
|
|
@@ -22270,7 +22885,28 @@ var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require
|
|
|
22270
22885
|
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()));
|
|
22271
22886
|
var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);
|
|
22272
22887
|
// Module
|
|
22273
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".submit-handle-container .idea-button-container .van-cell__value[data-v-
|
|
22888
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".submit-handle-container .idea-button-container .van-cell__value[data-v-44733f4f]{text-align:right}.submit-handle-container .idea-button-container .van-cell__value .van-button[data-v-44733f4f]{margin-right:0;margin-left:5px}.submit-handle-container .curIdea-filed[data-v-44733f4f] .van-cell__title,.submit-handle-container .curIdea-filed[data-v-44733f4f]:after{display:none}.submit-handle-container .idea-input-wrap[data-v-44733f4f]{position:relative}.submit-handle-container .idea-input-wrap[data-v-44733f4f] .curIdea-filed textarea{padding-right:30px}.submit-handle-container .idea-input-wrap .voice-input-btn[data-v-44733f4f]{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-44733f4f]{width:16px;height:16px}.submit-handle-container .idea-input-wrap .voice-input-btn[data-v-44733f4f]:active{background-color:#ebedf0;color:#1989fa}.submit-handle-container .clearfix[data-v-44733f4f]:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.submit-handle-container[data-v-44733f4f] .van-radio-group .van-cell__title{font-weight:400!important}.submit-handle-container .van-wflow-operate-detail-cell[data-v-44733f4f]:after{border-top-width:0}.submit-handle-container .van-wflow-operate-detail-cell-path[data-v-44733f4f]:after{border-width:1px;-webkit-transform:scale(.5);transform:scale(.5)}.submit-handle-container[data-v-44733f4f] .tnLimit-container .van-field{width:50px;display:inline-block;padding:0}.submit-handle-container[data-v-44733f4f] .tnLimit-container .van-field .van-field__body input{text-align:center}.submit-handle-container[data-v-44733f4f] .tnLimit-container .van-field__body:after{color:#323233;content:attr(value-suffix);word-break:keep-all}.submit-handle-container .delete-icon[data-v-44733f4f]{display:-webkit-box;display:-ms-flexbox;display:flex;float:right}.submit-handle-container .delete-icon .van-icon[data-v-44733f4f]{line-height:24px;margin-left:5px;font-size:16px}.selectBox_title[data-v-44733f4f]{height:45px;line-height:45px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:14px}.selectBox_content[data-v-44733f4f],.selectBox_title[data-v-44733f4f]{display:-webkit-box;display:-ms-flexbox;display:flex;padding:0 15px}.selectBox_content[data-v-44733f4f]{-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-44733f4f]{border:1px solid #f1f1f1}.selectBox_content .selectBox_content_son[data-v-44733f4f],.selectBox_content .selectBox_content_son_change[data-v-44733f4f]{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-44733f4f]{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-44733f4f]{white-space:nowrap;overflow:hidden;overflow-x:scroll;-webkit-overflow-scrolling:touch}.selectBox_content_sonall[data-v-44733f4f]:nth-child(4n){margin-right:0}.selectBox_content_sonall[data-v-44733f4f]::-webkit-scrollbar{display:none}.viewAllComments[data-v-44733f4f]{height:45px;line-height:45px;text-align:center;color:#b7b7b7;font-size:12px;background:#fff;display:block;width:100%}", ""]);
|
|
22889
|
+
// Exports
|
|
22890
|
+
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
22891
|
+
|
|
22892
|
+
|
|
22893
|
+
/***/ }),
|
|
22894
|
+
|
|
22895
|
+
/***/ 2737:
|
|
22896
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22897
|
+
|
|
22898
|
+
"use strict";
|
|
22899
|
+
__webpack_require__.r(__webpack_exports__);
|
|
22900
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1601);
|
|
22901
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
22902
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6314);
|
|
22903
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
22904
|
+
// Imports
|
|
22905
|
+
|
|
22906
|
+
|
|
22907
|
+
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
22908
|
+
// Module
|
|
22909
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".voice-input-popup[data-v-28732777]{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.voice-input-popup .voice-popup-header[data-v-28732777]{position:relative;height:48px;line-height:48px;text-align:center}.voice-input-popup .voice-popup-header .voice-popup-title[data-v-28732777]{font-size:16px;font-weight:600;color:#323233}.voice-input-popup .voice-popup-header .voice-popup-close[data-v-28732777]{position:absolute;right:16px;top:16px;font-size:16px;color:#c8c9cc}.voice-input-popup .voice-popup-body[data-v-28732777]{padding:8px 16px 0;text-align:center}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-28732777]{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-28732777]{width:28px;height:28px}.voice-input-popup .voice-popup-body .voice-mic-btn.recording[data-v-28732777]{background-color:#ee0a24;-webkit-animation:voice-breathe-28732777 1.5s ease-out infinite;animation:voice-breathe-28732777 1.5s ease-out infinite}.voice-input-popup .voice-popup-body .voice-status-text[data-v-28732777]{margin-top:12px;font-size:13px;color:#646566}.voice-input-popup .voice-popup-body .voice-status-text.is-error[data-v-28732777]{color:#ee0a24}.voice-input-popup .voice-popup-body .voice-wave-canvas[data-v-28732777]{display:block;width:200px;height:32px;margin:8px auto 0}.voice-input-popup .voice-popup-body .voice-timer[data-v-28732777]{margin-top:4px;font-size:13px;color:#969799}.voice-input-popup .voice-popup-body .voice-result-field[data-v-28732777]{margin-top:12px;background-color:#f7f8fa;border-radius:8px}.voice-input-popup .voice-popup-footer[data-v-28732777]{padding:12px 16px;text-align:right}.voice-input-popup .voice-popup-footer .van-button[data-v-28732777]{margin-left:8px;min-width:80px}@-webkit-keyframes voice-breathe-28732777{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-28732777{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)}}", ""]);
|
|
22274
22910
|
// Exports
|
|
22275
22911
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
22276
22912
|
|
|
@@ -49902,19 +50538,35 @@ var update = add("780551c7", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
49902
50538
|
|
|
49903
50539
|
/***/ }),
|
|
49904
50540
|
|
|
49905
|
-
/***/
|
|
50541
|
+
/***/ 5099:
|
|
50542
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
50543
|
+
|
|
50544
|
+
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
50545
|
+
|
|
50546
|
+
// load the styles
|
|
50547
|
+
var content = __webpack_require__(9969);
|
|
50548
|
+
if(content.__esModule) content = content.default;
|
|
50549
|
+
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
50550
|
+
if(content.locals) module.exports = content.locals;
|
|
50551
|
+
// add the styles to the DOM
|
|
50552
|
+
var add = (__webpack_require__(9548)/* ["default"] */ .A)
|
|
50553
|
+
var update = add("54a54a44", content, true, {"sourceMap":false,"shadowMode":false});
|
|
50554
|
+
|
|
50555
|
+
/***/ }),
|
|
50556
|
+
|
|
50557
|
+
/***/ 3727:
|
|
49906
50558
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
49907
50559
|
|
|
49908
50560
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
49909
50561
|
|
|
49910
50562
|
// load the styles
|
|
49911
|
-
var content = __webpack_require__(
|
|
50563
|
+
var content = __webpack_require__(2737);
|
|
49912
50564
|
if(content.__esModule) content = content.default;
|
|
49913
50565
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
49914
50566
|
if(content.locals) module.exports = content.locals;
|
|
49915
50567
|
// add the styles to the DOM
|
|
49916
50568
|
var add = (__webpack_require__(9548)/* ["default"] */ .A)
|
|
49917
|
-
var update = add("
|
|
50569
|
+
var update = add("b716a02c", content, true, {"sourceMap":false,"shadowMode":false});
|
|
49918
50570
|
|
|
49919
50571
|
/***/ }),
|
|
49920
50572
|
|
|
@@ -72293,39 +72945,39 @@ var asyncComponents = [
|
|
|
72293
72945
|
}],
|
|
72294
72946
|
// ========== ecmapp/Wflowform 工作流表单子组件 → chunk: m-wflow-form ==========
|
|
72295
72947
|
['Attachment', function () {
|
|
72296
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72948
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5475)).then(function (m) {
|
|
72297
72949
|
return m.Attachment;
|
|
72298
72950
|
});
|
|
72299
72951
|
}], ['BodyFile', function () {
|
|
72300
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72952
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5475)).then(function (m) {
|
|
72301
72953
|
return m.BodyFile;
|
|
72302
72954
|
});
|
|
72303
72955
|
}], ['HandleIdea', function () {
|
|
72304
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72956
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5475)).then(function (m) {
|
|
72305
72957
|
return m.HandleIdea;
|
|
72306
72958
|
});
|
|
72307
72959
|
}], ['SelectOuterDeputy', function () {
|
|
72308
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72960
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5475)).then(function (m) {
|
|
72309
72961
|
return m.SelectOuterDeputy;
|
|
72310
72962
|
});
|
|
72311
72963
|
}], ['SubmitHandle', function () {
|
|
72312
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72964
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5475)).then(function (m) {
|
|
72313
72965
|
return m.SubmitHandle;
|
|
72314
72966
|
});
|
|
72315
72967
|
}], ['SubmitDialog', function () {
|
|
72316
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72968
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5475)).then(function (m) {
|
|
72317
72969
|
return m.SubmitDialog;
|
|
72318
72970
|
});
|
|
72319
72971
|
}], ['ShortcutProcessing', function () {
|
|
72320
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72972
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5475)).then(function (m) {
|
|
72321
72973
|
return m.ShortcutProcessing;
|
|
72322
72974
|
});
|
|
72323
72975
|
}], ['WfNodelogList', function () {
|
|
72324
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72976
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5475)).then(function (m) {
|
|
72325
72977
|
return m.WfNodelogList;
|
|
72326
72978
|
});
|
|
72327
72979
|
}], ['WriteToReadIdea', function () {
|
|
72328
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72980
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5475)).then(function (m) {
|
|
72329
72981
|
return m.WriteToReadIdea;
|
|
72330
72982
|
});
|
|
72331
72983
|
}]];
|
|
@@ -72378,7 +73030,7 @@ var WfengineModule = function WfengineModule() {
|
|
|
72378
73030
|
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8838));
|
|
72379
73031
|
};
|
|
72380
73032
|
var WflowformModule = function WflowformModule() {
|
|
72381
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73033
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 5475));
|
|
72382
73034
|
};
|
|
72383
73035
|
|
|
72384
73036
|
// ---------- 重型功能(PDF/富文本,仅特定页面使用) ----------
|