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.umd.js
CHANGED
|
@@ -8766,7 +8766,7 @@ src.install = function (Vue) {
|
|
|
8766
8766
|
|
|
8767
8767
|
/***/ }),
|
|
8768
8768
|
|
|
8769
|
-
/***/
|
|
8769
|
+
/***/ 8866:
|
|
8770
8770
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
8771
8771
|
|
|
8772
8772
|
"use strict";
|
|
@@ -12725,8 +12725,8 @@ var SelectOuterDeputy_component = (0,componentNormalizer/* default */.A)(
|
|
|
12725
12725
|
)
|
|
12726
12726
|
|
|
12727
12727
|
/* 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=
|
|
12729
|
-
var
|
|
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=44733f4f&scoped=true
|
|
12729
|
+
var SubmitHandlevue_type_template_id_44733f4f_scoped_true_render = function render() {
|
|
12730
12730
|
var _vm = this,
|
|
12731
12731
|
_c = _vm._self._c;
|
|
12732
12732
|
return _vm.initiated ? _c('div', {
|
|
@@ -12817,7 +12817,9 @@ var SubmitHandlevue_type_template_id_6451f4d6_scoped_true_render = function rend
|
|
|
12817
12817
|
attrs: {
|
|
12818
12818
|
"title": "填写意见"
|
|
12819
12819
|
}
|
|
12820
|
-
})], 1), _vm._t("idea-inputbox-top"), _c('
|
|
12820
|
+
})], 1), _vm._t("idea-inputbox-top"), _c('div', {
|
|
12821
|
+
staticClass: "idea-input-wrap"
|
|
12822
|
+
}, [_c('van-field', {
|
|
12821
12823
|
directives: [{
|
|
12822
12824
|
name: "field-lbl",
|
|
12823
12825
|
rawName: "v-field-lbl",
|
|
@@ -12839,7 +12841,27 @@ var SubmitHandlevue_type_template_id_6451f4d6_scoped_true_render = function rend
|
|
|
12839
12841
|
},
|
|
12840
12842
|
expression: "submitHandle.curUserIdea"
|
|
12841
12843
|
}
|
|
12842
|
-
}), _c('
|
|
12844
|
+
}), _vm.voiceInputEnabled ? _c('div', {
|
|
12845
|
+
staticClass: "voice-input-btn",
|
|
12846
|
+
on: {
|
|
12847
|
+
"click": _vm.openVoiceInput
|
|
12848
|
+
}
|
|
12849
|
+
}, [_c('svg', {
|
|
12850
|
+
staticClass: "voice-input-icon",
|
|
12851
|
+
attrs: {
|
|
12852
|
+
"viewBox": "0 0 1024 1024",
|
|
12853
|
+
"fill": "currentColor",
|
|
12854
|
+
"aria-hidden": "true"
|
|
12855
|
+
}
|
|
12856
|
+
}, [_c('path', {
|
|
12857
|
+
attrs: {
|
|
12858
|
+
"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"
|
|
12859
|
+
}
|
|
12860
|
+
}), _c('path', {
|
|
12861
|
+
attrs: {
|
|
12862
|
+
"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"
|
|
12863
|
+
}
|
|
12864
|
+
})])]) : _vm._e()], 1), _c('van-cell', {
|
|
12843
12865
|
staticClass: "idea-button-container",
|
|
12844
12866
|
scopedSlots: _vm._u([{
|
|
12845
12867
|
key: "default",
|
|
@@ -13477,9 +13499,19 @@ var SubmitHandlevue_type_template_id_6451f4d6_scoped_true_render = function rend
|
|
|
13477
13499
|
"task-node": _vm.udmNode,
|
|
13478
13500
|
"idea-lables": _vm.wfJsonData.ideaLables
|
|
13479
13501
|
}
|
|
13480
|
-
})], 1) : _vm._e()
|
|
13502
|
+
})], 1) : _vm._e(), _c('VoiceInputDialog', {
|
|
13503
|
+
attrs: {
|
|
13504
|
+
"visible": _vm.voiceDialogVisible
|
|
13505
|
+
},
|
|
13506
|
+
on: {
|
|
13507
|
+
"update:visible": function updateVisible($event) {
|
|
13508
|
+
_vm.voiceDialogVisible = $event;
|
|
13509
|
+
},
|
|
13510
|
+
"confirm": _vm.onVoiceConfirm
|
|
13511
|
+
}
|
|
13512
|
+
})], 2) : _vm._e();
|
|
13481
13513
|
};
|
|
13482
|
-
var
|
|
13514
|
+
var SubmitHandlevue_type_template_id_44733f4f_scoped_true_staticRenderFns = [];
|
|
13483
13515
|
|
|
13484
13516
|
;// 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
|
|
13485
13517
|
var WfTaskNodevue_type_template_id_d1ae2f20_scoped_true_render = function render() {
|
|
@@ -14808,14 +14840,572 @@ var WfTaskNode_component = (0,componentNormalizer/* default */.A)(
|
|
|
14808
14840
|
)
|
|
14809
14841
|
|
|
14810
14842
|
/* 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=28732777&scoped=true
|
|
14844
|
+
var VoiceInputDialogvue_type_template_id_28732777_scoped_true_render = function render() {
|
|
14845
|
+
var _vm = this,
|
|
14846
|
+
_c = _vm._self._c;
|
|
14847
|
+
return _c('van-popup', {
|
|
14848
|
+
staticClass: "voice-input-popup",
|
|
14849
|
+
attrs: {
|
|
14850
|
+
"round": "",
|
|
14851
|
+
"position": "bottom",
|
|
14852
|
+
"close-on-click-overlay": false
|
|
14853
|
+
},
|
|
14854
|
+
on: {
|
|
14855
|
+
"closed": _vm.onPopupClosed
|
|
14856
|
+
},
|
|
14857
|
+
model: {
|
|
14858
|
+
value: _vm.dialogVisible,
|
|
14859
|
+
callback: function callback($$v) {
|
|
14860
|
+
_vm.dialogVisible = $$v;
|
|
14861
|
+
},
|
|
14862
|
+
expression: "dialogVisible"
|
|
14863
|
+
}
|
|
14864
|
+
}, [_c('div', {
|
|
14865
|
+
staticClass: "voice-popup-header"
|
|
14866
|
+
}, [_c('span', {
|
|
14867
|
+
staticClass: "voice-popup-title"
|
|
14868
|
+
}, [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceInput', '语音输入')))]), _c('van-icon', {
|
|
14869
|
+
staticClass: "voice-popup-close",
|
|
14870
|
+
attrs: {
|
|
14871
|
+
"name": "cross"
|
|
14872
|
+
},
|
|
14873
|
+
on: {
|
|
14874
|
+
"click": function click($event) {
|
|
14875
|
+
_vm.dialogVisible = false;
|
|
14876
|
+
}
|
|
14877
|
+
}
|
|
14878
|
+
})], 1), _c('div', {
|
|
14879
|
+
staticClass: "voice-popup-body"
|
|
14880
|
+
}, [_c('div', {
|
|
14881
|
+
staticClass: "voice-mic-btn",
|
|
14882
|
+
class: {
|
|
14883
|
+
recording: _vm.status === 'recording'
|
|
14884
|
+
},
|
|
14885
|
+
on: {
|
|
14886
|
+
"click": _vm.toggleRecord
|
|
14887
|
+
}
|
|
14888
|
+
}, [_vm.status === 'processing' ? _c('van-loading', {
|
|
14889
|
+
attrs: {
|
|
14890
|
+
"color": "#ffffff",
|
|
14891
|
+
"size": "28px"
|
|
14892
|
+
}
|
|
14893
|
+
}) : _c('svg', {
|
|
14894
|
+
staticClass: "voice-mic-icon",
|
|
14895
|
+
attrs: {
|
|
14896
|
+
"viewBox": "0 0 1024 1024",
|
|
14897
|
+
"fill": "currentColor",
|
|
14898
|
+
"aria-hidden": "true"
|
|
14899
|
+
}
|
|
14900
|
+
}, [_c('path', {
|
|
14901
|
+
attrs: {
|
|
14902
|
+
"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"
|
|
14903
|
+
}
|
|
14904
|
+
}), _c('path', {
|
|
14905
|
+
attrs: {
|
|
14906
|
+
"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
|
+
}
|
|
14908
|
+
})])], 1), _c('div', {
|
|
14909
|
+
staticClass: "voice-status-text",
|
|
14910
|
+
class: {
|
|
14911
|
+
'is-error': _vm.status === 'error'
|
|
14912
|
+
}
|
|
14913
|
+
}, [_vm._v(_vm._s(_vm.statusText))]), _c('canvas', {
|
|
14914
|
+
directives: [{
|
|
14915
|
+
name: "show",
|
|
14916
|
+
rawName: "v-show",
|
|
14917
|
+
value: _vm.status === 'recording',
|
|
14918
|
+
expression: "status === 'recording'"
|
|
14919
|
+
}],
|
|
14920
|
+
ref: "waveCanvas",
|
|
14921
|
+
staticClass: "voice-wave-canvas"
|
|
14922
|
+
}), _c('div', {
|
|
14923
|
+
directives: [{
|
|
14924
|
+
name: "show",
|
|
14925
|
+
rawName: "v-show",
|
|
14926
|
+
value: _vm.status === 'recording',
|
|
14927
|
+
expression: "status === 'recording'"
|
|
14928
|
+
}],
|
|
14929
|
+
staticClass: "voice-timer"
|
|
14930
|
+
}, [_vm._v(_vm._s(_vm.timerText))]), _c('van-field', {
|
|
14931
|
+
staticClass: "voice-result-field",
|
|
14932
|
+
attrs: {
|
|
14933
|
+
"type": "textarea",
|
|
14934
|
+
"rows": "3",
|
|
14935
|
+
"autosize": "",
|
|
14936
|
+
"readonly": _vm.status === 'recording' || _vm.status === 'processing',
|
|
14937
|
+
"placeholder": _vm.$tx('ecmapp.wflowform.voiceResultHolder', '识别结果将显示在这里,可修改后填入意见。')
|
|
14938
|
+
},
|
|
14939
|
+
model: {
|
|
14940
|
+
value: _vm.resultText,
|
|
14941
|
+
callback: function callback($$v) {
|
|
14942
|
+
_vm.resultText = $$v;
|
|
14943
|
+
},
|
|
14944
|
+
expression: "resultText"
|
|
14945
|
+
}
|
|
14946
|
+
})], 1), _c('div', {
|
|
14947
|
+
staticClass: "voice-popup-footer"
|
|
14948
|
+
}, [_c('van-button', {
|
|
14949
|
+
attrs: {
|
|
14950
|
+
"type": "default",
|
|
14951
|
+
"size": "small",
|
|
14952
|
+
"hairline": ""
|
|
14953
|
+
},
|
|
14954
|
+
on: {
|
|
14955
|
+
"click": function click($event) {
|
|
14956
|
+
_vm.dialogVisible = false;
|
|
14957
|
+
}
|
|
14958
|
+
}
|
|
14959
|
+
}, [_vm._v(_vm._s(_vm.$tx('ecmapp.pageBtns.cancel', '取消')))]), _c('van-button', {
|
|
14960
|
+
attrs: {
|
|
14961
|
+
"type": "info",
|
|
14962
|
+
"size": "small",
|
|
14963
|
+
"hairline": "",
|
|
14964
|
+
"disabled": !_vm.resultText || _vm.resultText.trim() === '' || _vm.status === 'recording' || _vm.status === 'processing'
|
|
14965
|
+
},
|
|
14966
|
+
on: {
|
|
14967
|
+
"click": _vm.confirmVoiceText
|
|
14968
|
+
}
|
|
14969
|
+
}, [_vm._v(_vm._s(_vm.$tx('ecmapp.wflowform.voiceFillOpinion', '填入意见')))])], 1)]);
|
|
14970
|
+
};
|
|
14971
|
+
var VoiceInputDialogvue_type_template_id_28732777_scoped_true_staticRenderFns = [];
|
|
14972
|
+
|
|
14973
|
+
;// 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
|
+
/* harmony default export */ var VoiceInputDialogvue_type_script_lang_js = ({
|
|
14975
|
+
name: 'VoiceInputDialog',
|
|
14976
|
+
props: {
|
|
14977
|
+
visible: {
|
|
14978
|
+
type: Boolean,
|
|
14979
|
+
default: false
|
|
14980
|
+
}
|
|
14981
|
+
},
|
|
14982
|
+
data: function data() {
|
|
14983
|
+
return {
|
|
14984
|
+
i18npkg: 'ecmapp',
|
|
14985
|
+
moduleCode: 'wflowform',
|
|
14986
|
+
status: 'idle',
|
|
14987
|
+
// idle:待录音 recording:录音中 processing:识别中(仅后端模式) done:识别完成 error:出错
|
|
14988
|
+
errorText: '',
|
|
14989
|
+
resultText: '',
|
|
14990
|
+
finalText: '',
|
|
14991
|
+
// 浏览器模式已确认的识别文本
|
|
14992
|
+
seconds: 0,
|
|
14993
|
+
timer: null,
|
|
14994
|
+
recognition: null,
|
|
14995
|
+
// 浏览器语音识别实例
|
|
14996
|
+
mediaRecorder: null,
|
|
14997
|
+
// 后端模式录音实例
|
|
14998
|
+
stream: null,
|
|
14999
|
+
// 麦克风音频流
|
|
15000
|
+
audioChunks: [],
|
|
15001
|
+
audioContext: null,
|
|
15002
|
+
// 波形绘制音频上下文
|
|
15003
|
+
analyser: null,
|
|
15004
|
+
// 波形分析节点
|
|
15005
|
+
visualStream: null,
|
|
15006
|
+
// 浏览器模式下专供波形绘制的音频流
|
|
15007
|
+
waveRafId: null,
|
|
15008
|
+
recognizeStartAt: 0 // 识别启动时间戳,用于判断秒退(识别服务不可用)
|
|
15009
|
+
};
|
|
15010
|
+
},
|
|
15011
|
+
computed: {
|
|
15012
|
+
dialogVisible: {
|
|
15013
|
+
get: function get() {
|
|
15014
|
+
return this.visible;
|
|
15015
|
+
},
|
|
15016
|
+
set: function set(val) {
|
|
15017
|
+
this.$emit('update:visible', val);
|
|
15018
|
+
}
|
|
15019
|
+
},
|
|
15020
|
+
// window.voiceToWord为非空字符串且不为browser时,视为后端转写接口URL
|
|
15021
|
+
backendUrl: function backendUrl() {
|
|
15022
|
+
var voiceToWord = window.voiceToWord;
|
|
15023
|
+
return voiceToWord && typeof voiceToWord === 'string' && voiceToWord !== 'browser' ? voiceToWord : '';
|
|
15024
|
+
},
|
|
15025
|
+
statusText: function statusText() {
|
|
15026
|
+
switch (this.status) {
|
|
15027
|
+
case 'recording':
|
|
15028
|
+
return this.$tx('ecmapp.wflowform.voiceRecording', '正在聆听,请说话…');
|
|
15029
|
+
case 'processing':
|
|
15030
|
+
return this.$tx('ecmapp.wflowform.voiceProcessing', '识别中…');
|
|
15031
|
+
case 'done':
|
|
15032
|
+
return this.$tx('ecmapp.wflowform.voiceDone', '识别完成,可修改后填入。');
|
|
15033
|
+
case 'error':
|
|
15034
|
+
return this.errorText;
|
|
15035
|
+
default:
|
|
15036
|
+
return this.$tx('ecmapp.wflowform.voiceIdle', '点击麦克风开始说话');
|
|
15037
|
+
}
|
|
15038
|
+
},
|
|
15039
|
+
timerText: function timerText() {
|
|
15040
|
+
var min = Math.floor(this.seconds / 60);
|
|
15041
|
+
var sec = this.seconds % 60;
|
|
15042
|
+
return (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec);
|
|
15043
|
+
}
|
|
15044
|
+
},
|
|
15045
|
+
watch: {
|
|
15046
|
+
visible: function visible(val) {
|
|
15047
|
+
if (val) {
|
|
15048
|
+
this.resetState();
|
|
15049
|
+
this.preRequestPermission();
|
|
15050
|
+
}
|
|
15051
|
+
}
|
|
15052
|
+
},
|
|
15053
|
+
beforeDestroy: function beforeDestroy() {
|
|
15054
|
+
this.releaseResources();
|
|
15055
|
+
},
|
|
15056
|
+
methods: {
|
|
15057
|
+
resetState: function resetState() {
|
|
15058
|
+
this.status = 'idle';
|
|
15059
|
+
this.errorText = '';
|
|
15060
|
+
this.resultText = '';
|
|
15061
|
+
this.finalText = '';
|
|
15062
|
+
this.seconds = 0;
|
|
15063
|
+
this.audioChunks = [];
|
|
15064
|
+
},
|
|
15065
|
+
// 打开弹窗即预请求麦克风权限,被拒绝时显示引导文案
|
|
15066
|
+
preRequestPermission: function preRequestPermission() {
|
|
15067
|
+
var _this = this;
|
|
15068
|
+
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
|
|
15069
|
+
navigator.mediaDevices.getUserMedia({
|
|
15070
|
+
audio: true
|
|
15071
|
+
}).then(function (stream) {
|
|
15072
|
+
stream.getTracks().forEach(function (track) {
|
|
15073
|
+
return track.stop();
|
|
15074
|
+
});
|
|
15075
|
+
}).catch(function () {
|
|
15076
|
+
_this.showPermissionError();
|
|
15077
|
+
});
|
|
15078
|
+
}
|
|
15079
|
+
},
|
|
15080
|
+
showPermissionError: function showPermissionError() {
|
|
15081
|
+
this.status = 'error';
|
|
15082
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceNoPermission', '请在浏览器设置中允许使用麦克风后重试。');
|
|
15083
|
+
},
|
|
15084
|
+
// 手机浏览器/WebView常见:暴露了SpeechRecognition但识别服务不可达(如Google语音服务)
|
|
15085
|
+
showServiceUnavailableError: function showServiceUnavailableError() {
|
|
15086
|
+
this.status = 'error';
|
|
15087
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceServiceUnavailable', '当前浏览器无法连接语音识别服务。');
|
|
15088
|
+
},
|
|
15089
|
+
toggleRecord: function toggleRecord() {
|
|
15090
|
+
if (this.status === 'processing') return;
|
|
15091
|
+
if (this.status === 'recording') {
|
|
15092
|
+
this.stopRecord();
|
|
15093
|
+
} else {
|
|
15094
|
+
this.startRecord();
|
|
15095
|
+
}
|
|
15096
|
+
},
|
|
15097
|
+
startRecord: function startRecord() {
|
|
15098
|
+
this.resultText = '';
|
|
15099
|
+
this.finalText = '';
|
|
15100
|
+
if (this.backendUrl) {
|
|
15101
|
+
this.startBackendRecord();
|
|
15102
|
+
} else {
|
|
15103
|
+
this.startBrowserRecognition();
|
|
15104
|
+
}
|
|
15105
|
+
},
|
|
15106
|
+
stopRecord: function stopRecord() {
|
|
15107
|
+
this.stopTimer();
|
|
15108
|
+
if (this.recognition) {
|
|
15109
|
+
this.recognition.stop();
|
|
15110
|
+
}
|
|
15111
|
+
if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') {
|
|
15112
|
+
this.mediaRecorder.stop();
|
|
15113
|
+
}
|
|
15114
|
+
},
|
|
15115
|
+
startTimer: function startTimer() {
|
|
15116
|
+
var _this2 = this;
|
|
15117
|
+
this.seconds = 0;
|
|
15118
|
+
this.timer = setInterval(function () {
|
|
15119
|
+
_this2.seconds++;
|
|
15120
|
+
}, 1000);
|
|
15121
|
+
},
|
|
15122
|
+
stopTimer: function stopTimer() {
|
|
15123
|
+
if (this.timer) {
|
|
15124
|
+
clearInterval(this.timer);
|
|
15125
|
+
this.timer = null;
|
|
15126
|
+
}
|
|
15127
|
+
},
|
|
15128
|
+
// 浏览器模式:Web Speech API直转文字,中间结果实时上屏
|
|
15129
|
+
startBrowserRecognition: function startBrowserRecognition() {
|
|
15130
|
+
var _this3 = this;
|
|
15131
|
+
var SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
|
|
15132
|
+
if (!SpeechRecognition) {
|
|
15133
|
+
this.status = 'error';
|
|
15134
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceNotSupport', '当前浏览器不支持语音识别。');
|
|
15135
|
+
return;
|
|
15136
|
+
}
|
|
15137
|
+
var recognition = new SpeechRecognition();
|
|
15138
|
+
recognition.lang = 'zh-CN';
|
|
15139
|
+
recognition.continuous = true;
|
|
15140
|
+
recognition.interimResults = true;
|
|
15141
|
+
recognition.onstart = function () {
|
|
15142
|
+
_this3.status = 'recording';
|
|
15143
|
+
_this3.startTimer();
|
|
15144
|
+
_this3.startVisualStream();
|
|
15145
|
+
};
|
|
15146
|
+
recognition.onresult = function (event) {
|
|
15147
|
+
var interimText = '';
|
|
15148
|
+
for (var i = event.resultIndex; i < event.results.length; i++) {
|
|
15149
|
+
if (event.results[i].isFinal) {
|
|
15150
|
+
_this3.finalText += event.results[i][0].transcript;
|
|
15151
|
+
} else {
|
|
15152
|
+
interimText += event.results[i][0].transcript;
|
|
15153
|
+
}
|
|
15154
|
+
}
|
|
15155
|
+
_this3.resultText = _this3.finalText + interimText;
|
|
15156
|
+
};
|
|
15157
|
+
recognition.onerror = function (event) {
|
|
15158
|
+
_this3.stopTimer();
|
|
15159
|
+
_this3.stopWaveform();
|
|
15160
|
+
if (event.error === 'not-allowed' || event.error === 'service-not-allowed') {
|
|
15161
|
+
_this3.showPermissionError();
|
|
15162
|
+
} else if (event.error === 'network') {
|
|
15163
|
+
_this3.showServiceUnavailableError();
|
|
15164
|
+
} else if (event.error === 'no-speech') {
|
|
15165
|
+
_this3.status = 'error';
|
|
15166
|
+
_this3.errorText = _this3.$tx('ecmapp.wflowform.voiceNoSpeech', '未检测到语音,请重试。');
|
|
15167
|
+
} else if (event.error !== 'aborted') {
|
|
15168
|
+
_this3.status = 'error';
|
|
15169
|
+
_this3.errorText = _this3.$tx('ecmapp.wflowform.voiceRecognizeFail', '语音识别失败,请重试。');
|
|
15170
|
+
}
|
|
15171
|
+
};
|
|
15172
|
+
recognition.onend = function () {
|
|
15173
|
+
_this3.stopTimer();
|
|
15174
|
+
_this3.stopWaveform();
|
|
15175
|
+
_this3.recognition = null;
|
|
15176
|
+
if (_this3.status === 'recording') {
|
|
15177
|
+
_this3.resultText = _this3.finalText;
|
|
15178
|
+
if (_this3.resultText.trim() !== '') {
|
|
15179
|
+
_this3.status = 'done';
|
|
15180
|
+
} else if (Date.now() - _this3.recognizeStartAt < 1500) {
|
|
15181
|
+
// 启动后秒退且无任何结果,判定为识别服务不可用
|
|
15182
|
+
_this3.showServiceUnavailableError();
|
|
15183
|
+
} else {
|
|
15184
|
+
_this3.status = 'idle';
|
|
15185
|
+
}
|
|
15186
|
+
}
|
|
15187
|
+
};
|
|
15188
|
+
this.recognition = recognition;
|
|
15189
|
+
this.recognizeStartAt = Date.now();
|
|
15190
|
+
recognition.start();
|
|
15191
|
+
},
|
|
15192
|
+
// 后端模式:录音→上传→转文字
|
|
15193
|
+
startBackendRecord: function startBackendRecord() {
|
|
15194
|
+
var _this4 = this;
|
|
15195
|
+
if (!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)) {
|
|
15196
|
+
this.status = 'error';
|
|
15197
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceNotSupport', '当前浏览器不支持语音识别。');
|
|
15198
|
+
return;
|
|
15199
|
+
}
|
|
15200
|
+
navigator.mediaDevices.getUserMedia({
|
|
15201
|
+
audio: true
|
|
15202
|
+
}).then(function (stream) {
|
|
15203
|
+
_this4.stream = stream;
|
|
15204
|
+
_this4.audioChunks = [];
|
|
15205
|
+
var mimeType = window.MediaRecorder && MediaRecorder.isTypeSupported('audio/webm;codecs=opus') ? 'audio/webm;codecs=opus' : '';
|
|
15206
|
+
var mediaRecorder = mimeType ? new MediaRecorder(stream, {
|
|
15207
|
+
mimeType: mimeType
|
|
15208
|
+
}) : new MediaRecorder(stream);
|
|
15209
|
+
mediaRecorder.ondataavailable = function (event) {
|
|
15210
|
+
if (event.data && event.data.size > 0) {
|
|
15211
|
+
_this4.audioChunks.push(event.data);
|
|
15212
|
+
}
|
|
15213
|
+
};
|
|
15214
|
+
mediaRecorder.onstart = function () {
|
|
15215
|
+
_this4.status = 'recording';
|
|
15216
|
+
_this4.startTimer();
|
|
15217
|
+
_this4.startWaveform(stream);
|
|
15218
|
+
};
|
|
15219
|
+
mediaRecorder.onstop = function () {
|
|
15220
|
+
_this4.stopTimer();
|
|
15221
|
+
_this4.stopWaveform();
|
|
15222
|
+
_this4.releaseStream();
|
|
15223
|
+
_this4.mediaRecorder = null;
|
|
15224
|
+
// 弹窗已关闭(取消录音)则不再上传
|
|
15225
|
+
if (_this4.visible && _this4.audioChunks.length > 0) {
|
|
15226
|
+
_this4.uploadVoice();
|
|
15227
|
+
}
|
|
15228
|
+
};
|
|
15229
|
+
_this4.mediaRecorder = mediaRecorder;
|
|
15230
|
+
mediaRecorder.start();
|
|
15231
|
+
}).catch(function () {
|
|
15232
|
+
_this4.showPermissionError();
|
|
15233
|
+
});
|
|
15234
|
+
},
|
|
15235
|
+
uploadVoice: function uploadVoice() {
|
|
15236
|
+
var _this5 = this;
|
|
15237
|
+
this.status = 'processing';
|
|
15238
|
+
var voiceBlob = new Blob(this.audioChunks, {
|
|
15239
|
+
type: this.audioChunks[0].type || 'audio/webm'
|
|
15240
|
+
});
|
|
15241
|
+
var formData = new FormData();
|
|
15242
|
+
formData.append('voiceFile', voiceBlob, 'voice.webm');
|
|
15243
|
+
formData.append('format', 'webm');
|
|
15244
|
+
formData.append('lang', 'zh-CN');
|
|
15245
|
+
this.$http({
|
|
15246
|
+
method: 'POST',
|
|
15247
|
+
url: this.backendUrl,
|
|
15248
|
+
headers: {
|
|
15249
|
+
'Content-Type': 'multipart/form-data'
|
|
15250
|
+
},
|
|
15251
|
+
data: formData
|
|
15252
|
+
}).then(function (res) {
|
|
15253
|
+
if (res.code === 'success') {
|
|
15254
|
+
_this5.resultText = res.body && res.body.text || '';
|
|
15255
|
+
_this5.status = _this5.resultText.trim() !== '' ? 'done' : 'error';
|
|
15256
|
+
if (_this5.status === 'error') {
|
|
15257
|
+
_this5.errorText = _this5.$tx('ecmapp.wflowform.voiceNoSpeech', '未检测到语音,请重试。');
|
|
15258
|
+
}
|
|
15259
|
+
} else {
|
|
15260
|
+
_this5.status = 'error';
|
|
15261
|
+
_this5.errorText = res.message || _this5.$tx('ecmapp.wflowform.voiceRecognizeFail', '语音识别失败,请重试。');
|
|
15262
|
+
}
|
|
15263
|
+
}).catch(function () {
|
|
15264
|
+
_this5.status = 'error';
|
|
15265
|
+
_this5.errorText = _this5.$tx('ecmapp.wflowform.voiceRecognizeFail', '语音识别失败,请重试。');
|
|
15266
|
+
});
|
|
15267
|
+
},
|
|
15268
|
+
releaseStream: function releaseStream() {
|
|
15269
|
+
if (this.stream) {
|
|
15270
|
+
this.stream.getTracks().forEach(function (track) {
|
|
15271
|
+
return track.stop();
|
|
15272
|
+
});
|
|
15273
|
+
this.stream = null;
|
|
15274
|
+
}
|
|
15275
|
+
},
|
|
15276
|
+
// 浏览器模式下SpeechRecognition不暴露音频流,单独取一路流用于波形绘制
|
|
15277
|
+
startVisualStream: function startVisualStream() {
|
|
15278
|
+
var _this6 = this;
|
|
15279
|
+
if (!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)) return;
|
|
15280
|
+
navigator.mediaDevices.getUserMedia({
|
|
15281
|
+
audio: true
|
|
15282
|
+
}).then(function (stream) {
|
|
15283
|
+
// 取流回来时录音可能已结束
|
|
15284
|
+
if (_this6.status !== 'recording') {
|
|
15285
|
+
stream.getTracks().forEach(function (track) {
|
|
15286
|
+
return track.stop();
|
|
15287
|
+
});
|
|
15288
|
+
return;
|
|
15289
|
+
}
|
|
15290
|
+
_this6.visualStream = stream;
|
|
15291
|
+
_this6.startWaveform(stream);
|
|
15292
|
+
}).catch(function () {});
|
|
15293
|
+
},
|
|
15294
|
+
// 用AnalyserNode实时绘制录音波形柱状图
|
|
15295
|
+
startWaveform: function startWaveform(stream) {
|
|
15296
|
+
var _this7 = this;
|
|
15297
|
+
var AudioContextClass = window.AudioContext || window.webkitAudioContext;
|
|
15298
|
+
var canvas = this.$refs.waveCanvas;
|
|
15299
|
+
if (!AudioContextClass || !canvas) return;
|
|
15300
|
+
var audioContext = new AudioContextClass();
|
|
15301
|
+
var analyser = audioContext.createAnalyser();
|
|
15302
|
+
analyser.fftSize = 128;
|
|
15303
|
+
audioContext.createMediaStreamSource(stream).connect(analyser);
|
|
15304
|
+
this.audioContext = audioContext;
|
|
15305
|
+
this.analyser = analyser;
|
|
15306
|
+
var dpr = window.devicePixelRatio || 1;
|
|
15307
|
+
canvas.width = canvas.clientWidth * dpr;
|
|
15308
|
+
canvas.height = canvas.clientHeight * dpr;
|
|
15309
|
+
var ctx = canvas.getContext('2d');
|
|
15310
|
+
var dataArray = new Uint8Array(analyser.frequencyBinCount);
|
|
15311
|
+
var barCount = 32;
|
|
15312
|
+
var gap = 2 * dpr;
|
|
15313
|
+
var barWidth = (canvas.width - gap * (barCount - 1)) / barCount;
|
|
15314
|
+
var centerY = canvas.height / 2;
|
|
15315
|
+
var draw = function draw() {
|
|
15316
|
+
if (!_this7.analyser) return;
|
|
15317
|
+
_this7.waveRafId = requestAnimationFrame(draw);
|
|
15318
|
+
_this7.analyser.getByteFrequencyData(dataArray);
|
|
15319
|
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
15320
|
+
ctx.fillStyle = '#1989fa';
|
|
15321
|
+
for (var i = 0; i < barCount; i++) {
|
|
15322
|
+
var value = dataArray[Math.floor(i * dataArray.length / barCount)] / 255;
|
|
15323
|
+
var barHeight = Math.max(2 * dpr, value * canvas.height);
|
|
15324
|
+
var x = i * (barWidth + gap);
|
|
15325
|
+
ctx.fillRect(x, centerY - barHeight / 2, barWidth, barHeight);
|
|
15326
|
+
}
|
|
15327
|
+
};
|
|
15328
|
+
draw();
|
|
15329
|
+
},
|
|
15330
|
+
stopWaveform: function stopWaveform() {
|
|
15331
|
+
if (this.waveRafId) {
|
|
15332
|
+
cancelAnimationFrame(this.waveRafId);
|
|
15333
|
+
this.waveRafId = null;
|
|
15334
|
+
}
|
|
15335
|
+
if (this.audioContext) {
|
|
15336
|
+
this.audioContext.close().catch(function () {});
|
|
15337
|
+
this.audioContext = null;
|
|
15338
|
+
}
|
|
15339
|
+
this.analyser = null;
|
|
15340
|
+
if (this.visualStream) {
|
|
15341
|
+
this.visualStream.getTracks().forEach(function (track) {
|
|
15342
|
+
return track.stop();
|
|
15343
|
+
});
|
|
15344
|
+
this.visualStream = null;
|
|
15345
|
+
}
|
|
15346
|
+
},
|
|
15347
|
+
// 关闭/取消时释放麦克风等资源
|
|
15348
|
+
releaseResources: function releaseResources() {
|
|
15349
|
+
this.stopTimer();
|
|
15350
|
+
this.stopWaveform();
|
|
15351
|
+
if (this.recognition) {
|
|
15352
|
+
this.recognition.abort();
|
|
15353
|
+
this.recognition = null;
|
|
15354
|
+
}
|
|
15355
|
+
if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') {
|
|
15356
|
+
this.mediaRecorder.stop();
|
|
15357
|
+
}
|
|
15358
|
+
this.mediaRecorder = null;
|
|
15359
|
+
this.releaseStream();
|
|
15360
|
+
},
|
|
15361
|
+
onPopupClosed: function onPopupClosed() {
|
|
15362
|
+
this.releaseResources();
|
|
15363
|
+
},
|
|
15364
|
+
confirmVoiceText: function confirmVoiceText() {
|
|
15365
|
+
var text = this.resultText.trim();
|
|
15366
|
+
if (text === '') return;
|
|
15367
|
+
this.$emit('confirm', text);
|
|
15368
|
+
this.dialogVisible = false;
|
|
15369
|
+
}
|
|
15370
|
+
}
|
|
15371
|
+
});
|
|
15372
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=script&lang=js
|
|
15373
|
+
/* harmony default export */ var src_VoiceInputDialogvue_type_script_lang_js = (VoiceInputDialogvue_type_script_lang_js);
|
|
15374
|
+
// 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=28732777&prod&scoped=true&lang=scss
|
|
15375
|
+
var VoiceInputDialogvue_type_style_index_0_id_28732777_prod_scoped_true_lang_scss = __webpack_require__(80);
|
|
15376
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=28732777&prod&scoped=true&lang=scss
|
|
15377
|
+
|
|
15378
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue
|
|
15379
|
+
|
|
15380
|
+
|
|
15381
|
+
|
|
15382
|
+
;
|
|
15383
|
+
|
|
15384
|
+
|
|
15385
|
+
/* normalize component */
|
|
15386
|
+
|
|
15387
|
+
var VoiceInputDialog_component = (0,componentNormalizer/* default */.A)(
|
|
15388
|
+
src_VoiceInputDialogvue_type_script_lang_js,
|
|
15389
|
+
VoiceInputDialogvue_type_template_id_28732777_scoped_true_render,
|
|
15390
|
+
VoiceInputDialogvue_type_template_id_28732777_scoped_true_staticRenderFns,
|
|
15391
|
+
false,
|
|
15392
|
+
null,
|
|
15393
|
+
"28732777",
|
|
15394
|
+
null
|
|
15395
|
+
|
|
15396
|
+
)
|
|
15397
|
+
|
|
15398
|
+
/* harmony default export */ var VoiceInputDialog = (VoiceInputDialog_component.exports);
|
|
14811
15399
|
;// 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/SubmitHandle.vue?vue&type=script&lang=js
|
|
14812
15400
|
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); }
|
|
14813
15401
|
var moment = __webpack_require__(5093);
|
|
14814
15402
|
|
|
15403
|
+
|
|
14815
15404
|
/* harmony default export */ var SubmitHandlevue_type_script_lang_js = ({
|
|
14816
15405
|
name: 'SubmitHandle',
|
|
14817
15406
|
components: {
|
|
14818
|
-
WfTaskNode: WfTaskNode
|
|
15407
|
+
WfTaskNode: WfTaskNode,
|
|
15408
|
+
VoiceInputDialog: VoiceInputDialog
|
|
14819
15409
|
},
|
|
14820
15410
|
props: {
|
|
14821
15411
|
curTN: {
|
|
@@ -14949,7 +15539,11 @@ var moment = __webpack_require__(5093);
|
|
|
14949
15539
|
defaultNumber: 8,
|
|
14950
15540
|
// 超出默认展示两行(个数)
|
|
14951
15541
|
viewCommentsNum: 8,
|
|
14952
|
-
selectedUsersCount: {}
|
|
15542
|
+
selectedUsersCount: {},
|
|
15543
|
+
//节点已选择人数
|
|
15544
|
+
voiceDialogVisible: false,
|
|
15545
|
+
// 语音输入弹窗
|
|
15546
|
+
voiceInputEnabled: false // 当前环境是否支持语音输入
|
|
14953
15547
|
};
|
|
14954
15548
|
},
|
|
14955
15549
|
computed: {
|
|
@@ -14992,6 +15586,7 @@ var moment = __webpack_require__(5093);
|
|
|
14992
15586
|
},
|
|
14993
15587
|
created: function created() {
|
|
14994
15588
|
// this.setMargin()
|
|
15589
|
+
this.initVoiceInputEnabled();
|
|
14995
15590
|
this.$bus.on('initSubmitHandle', this.initSubmitHandle);
|
|
14996
15591
|
},
|
|
14997
15592
|
beforeDestroy: function beforeDestroy() {
|
|
@@ -15018,6 +15613,26 @@ var moment = __webpack_require__(5093);
|
|
|
15018
15613
|
}
|
|
15019
15614
|
},
|
|
15020
15615
|
methods: {
|
|
15616
|
+
// 检测语音输入按钮可用性:未配置window.voiceToWord时需https/localhost安全上下文且浏览器支持Web Speech API,否则不显示按钮
|
|
15617
|
+
initVoiceInputEnabled: function initVoiceInputEnabled() {
|
|
15618
|
+
var voiceToWord = window.voiceToWord;
|
|
15619
|
+
if (voiceToWord && typeof voiceToWord === 'string' && voiceToWord !== 'browser') {
|
|
15620
|
+
// 后端接口转文字:需getUserMedia录音(同样仅安全上下文下可用)
|
|
15621
|
+
this.voiceInputEnabled = !!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia);
|
|
15622
|
+
} else {
|
|
15623
|
+
// 浏览器直转文字:需安全上下文且支持SpeechRecognition
|
|
15624
|
+
this.voiceInputEnabled = window.isSecureContext === true && ('webkitSpeechRecognition' in window || 'SpeechRecognition' in window);
|
|
15625
|
+
}
|
|
15626
|
+
},
|
|
15627
|
+
openVoiceInput: function openVoiceInput() {
|
|
15628
|
+
this.voiceDialogVisible = true;
|
|
15629
|
+
},
|
|
15630
|
+
onVoiceConfirm: function onVoiceConfirm(text) {
|
|
15631
|
+
if (!text) return;
|
|
15632
|
+
var curUserIdea = this.submitHandle.curUserIdea;
|
|
15633
|
+
this.$set(this.submitHandle, 'curUserIdea', curUserIdea && curUserIdea.trim() !== '' ? curUserIdea + ' ' + text : text);
|
|
15634
|
+
this.$forceUpdate();
|
|
15635
|
+
},
|
|
15021
15636
|
// 计算边距
|
|
15022
15637
|
setMargin: function setMargin() {
|
|
15023
15638
|
var columnsNum = Math.floor((screen.width - 20) / 93); // 列数
|
|
@@ -15802,9 +16417,9 @@ var moment = __webpack_require__(5093);
|
|
|
15802
16417
|
});
|
|
15803
16418
|
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=script&lang=js
|
|
15804
16419
|
/* harmony default export */ var src_SubmitHandlevue_type_script_lang_js = (SubmitHandlevue_type_script_lang_js);
|
|
15805
|
-
// 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=
|
|
15806
|
-
var
|
|
15807
|
-
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=
|
|
16420
|
+
// 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=44733f4f&prod&scoped=true&lang=scss
|
|
16421
|
+
var SubmitHandlevue_type_style_index_0_id_44733f4f_prod_scoped_true_lang_scss = __webpack_require__(9500);
|
|
16422
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=44733f4f&prod&scoped=true&lang=scss
|
|
15808
16423
|
|
|
15809
16424
|
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue
|
|
15810
16425
|
|
|
@@ -15817,11 +16432,11 @@ var SubmitHandlevue_type_style_index_0_id_6451f4d6_prod_scoped_true_lang_scss =
|
|
|
15817
16432
|
|
|
15818
16433
|
var SubmitHandle_component = (0,componentNormalizer/* default */.A)(
|
|
15819
16434
|
src_SubmitHandlevue_type_script_lang_js,
|
|
15820
|
-
|
|
15821
|
-
|
|
16435
|
+
SubmitHandlevue_type_template_id_44733f4f_scoped_true_render,
|
|
16436
|
+
SubmitHandlevue_type_template_id_44733f4f_scoped_true_staticRenderFns,
|
|
15822
16437
|
false,
|
|
15823
16438
|
null,
|
|
15824
|
-
"
|
|
16439
|
+
"44733f4f",
|
|
15825
16440
|
null
|
|
15826
16441
|
|
|
15827
16442
|
)
|
|
@@ -22261,7 +22876,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".submit-dialog-container[data-v-9c230b
|
|
|
22261
22876
|
|
|
22262
22877
|
/***/ }),
|
|
22263
22878
|
|
|
22264
|
-
/***/
|
|
22879
|
+
/***/ 7103:
|
|
22265
22880
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22266
22881
|
|
|
22267
22882
|
"use strict";
|
|
@@ -22280,7 +22895,28 @@ var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require
|
|
|
22280
22895
|
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()));
|
|
22281
22896
|
var ___CSS_LOADER_URL_REPLACEMENT_0___ = _node_modules_css_loader_dist_runtime_getUrl_js__WEBPACK_IMPORTED_MODULE_2___default()(___CSS_LOADER_URL_IMPORT_0___);
|
|
22282
22897
|
// Module
|
|
22283
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".submit-handle-container .idea-button-container .van-cell__value[data-v-
|
|
22898
|
+
___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%}", ""]);
|
|
22899
|
+
// Exports
|
|
22900
|
+
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
22901
|
+
|
|
22902
|
+
|
|
22903
|
+
/***/ }),
|
|
22904
|
+
|
|
22905
|
+
/***/ 3355:
|
|
22906
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22907
|
+
|
|
22908
|
+
"use strict";
|
|
22909
|
+
__webpack_require__.r(__webpack_exports__);
|
|
22910
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1601);
|
|
22911
|
+
/* 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__);
|
|
22912
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6314);
|
|
22913
|
+
/* 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__);
|
|
22914
|
+
// Imports
|
|
22915
|
+
|
|
22916
|
+
|
|
22917
|
+
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()));
|
|
22918
|
+
// Module
|
|
22919
|
+
___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)}}", ""]);
|
|
22284
22920
|
// Exports
|
|
22285
22921
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
22286
22922
|
|
|
@@ -49912,19 +50548,35 @@ var update = add("72ae29a9", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
49912
50548
|
|
|
49913
50549
|
/***/ }),
|
|
49914
50550
|
|
|
49915
|
-
/***/
|
|
50551
|
+
/***/ 9500:
|
|
50552
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
50553
|
+
|
|
50554
|
+
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
50555
|
+
|
|
50556
|
+
// load the styles
|
|
50557
|
+
var content = __webpack_require__(7103);
|
|
50558
|
+
if(content.__esModule) content = content.default;
|
|
50559
|
+
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
50560
|
+
if(content.locals) module.exports = content.locals;
|
|
50561
|
+
// add the styles to the DOM
|
|
50562
|
+
var add = (__webpack_require__(9548)/* ["default"] */ .A)
|
|
50563
|
+
var update = add("4f4e2226", content, true, {"sourceMap":false,"shadowMode":false});
|
|
50564
|
+
|
|
50565
|
+
/***/ }),
|
|
50566
|
+
|
|
50567
|
+
/***/ 80:
|
|
49916
50568
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
49917
50569
|
|
|
49918
50570
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
49919
50571
|
|
|
49920
50572
|
// load the styles
|
|
49921
|
-
var content = __webpack_require__(
|
|
50573
|
+
var content = __webpack_require__(3355);
|
|
49922
50574
|
if(content.__esModule) content = content.default;
|
|
49923
50575
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
49924
50576
|
if(content.locals) module.exports = content.locals;
|
|
49925
50577
|
// add the styles to the DOM
|
|
49926
50578
|
var add = (__webpack_require__(9548)/* ["default"] */ .A)
|
|
49927
|
-
var update = add("
|
|
50579
|
+
var update = add("567ef468", content, true, {"sourceMap":false,"shadowMode":false});
|
|
49928
50580
|
|
|
49929
50581
|
/***/ }),
|
|
49930
50582
|
|
|
@@ -72303,39 +72955,39 @@ var asyncComponents = [
|
|
|
72303
72955
|
}],
|
|
72304
72956
|
// ========== ecmapp/Wflowform 工作流表单子组件 → chunk: m-wflow-form ==========
|
|
72305
72957
|
['Attachment', function () {
|
|
72306
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72958
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8866)).then(function (m) {
|
|
72307
72959
|
return m.Attachment;
|
|
72308
72960
|
});
|
|
72309
72961
|
}], ['BodyFile', function () {
|
|
72310
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72962
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8866)).then(function (m) {
|
|
72311
72963
|
return m.BodyFile;
|
|
72312
72964
|
});
|
|
72313
72965
|
}], ['HandleIdea', function () {
|
|
72314
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72966
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8866)).then(function (m) {
|
|
72315
72967
|
return m.HandleIdea;
|
|
72316
72968
|
});
|
|
72317
72969
|
}], ['SelectOuterDeputy', function () {
|
|
72318
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72970
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8866)).then(function (m) {
|
|
72319
72971
|
return m.SelectOuterDeputy;
|
|
72320
72972
|
});
|
|
72321
72973
|
}], ['SubmitHandle', function () {
|
|
72322
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72974
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8866)).then(function (m) {
|
|
72323
72975
|
return m.SubmitHandle;
|
|
72324
72976
|
});
|
|
72325
72977
|
}], ['SubmitDialog', function () {
|
|
72326
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72978
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8866)).then(function (m) {
|
|
72327
72979
|
return m.SubmitDialog;
|
|
72328
72980
|
});
|
|
72329
72981
|
}], ['ShortcutProcessing', function () {
|
|
72330
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72982
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8866)).then(function (m) {
|
|
72331
72983
|
return m.ShortcutProcessing;
|
|
72332
72984
|
});
|
|
72333
72985
|
}], ['WfNodelogList', function () {
|
|
72334
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72986
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8866)).then(function (m) {
|
|
72335
72987
|
return m.WfNodelogList;
|
|
72336
72988
|
});
|
|
72337
72989
|
}], ['WriteToReadIdea', function () {
|
|
72338
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72990
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8866)).then(function (m) {
|
|
72339
72991
|
return m.WriteToReadIdea;
|
|
72340
72992
|
});
|
|
72341
72993
|
}]];
|
|
@@ -72388,7 +73040,7 @@ var WfengineModule = function WfengineModule() {
|
|
|
72388
73040
|
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6322));
|
|
72389
73041
|
};
|
|
72390
73042
|
var WflowformModule = function WflowformModule() {
|
|
72391
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73043
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 8866));
|
|
72392
73044
|
};
|
|
72393
73045
|
|
|
72394
73046
|
// ---------- 重型功能(PDF/富文本,仅特定页面使用) ----------
|