ecinc-cloud-mappaio 9.7.32 → 9.7.33
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 +666 -30
- package/lib/ecmappaio.umd.js +666 -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
|
+
/***/ 4558:
|
|
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,556 @@ 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=574b941f&scoped=true
|
|
14844
|
+
var VoiceInputDialogvue_type_template_id_574b941f_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_574b941f_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
|
+
};
|
|
15009
|
+
},
|
|
15010
|
+
computed: {
|
|
15011
|
+
dialogVisible: {
|
|
15012
|
+
get: function get() {
|
|
15013
|
+
return this.visible;
|
|
15014
|
+
},
|
|
15015
|
+
set: function set(val) {
|
|
15016
|
+
this.$emit('update:visible', val);
|
|
15017
|
+
}
|
|
15018
|
+
},
|
|
15019
|
+
// window.voiceToWord为非空字符串且不为browser时,视为后端转写接口URL
|
|
15020
|
+
backendUrl: function backendUrl() {
|
|
15021
|
+
var voiceToWord = window.voiceToWord;
|
|
15022
|
+
return voiceToWord && typeof voiceToWord === 'string' && voiceToWord !== 'browser' ? voiceToWord : '';
|
|
15023
|
+
},
|
|
15024
|
+
statusText: function statusText() {
|
|
15025
|
+
switch (this.status) {
|
|
15026
|
+
case 'recording':
|
|
15027
|
+
return this.$tx('ecmapp.wflowform.voiceRecording', '正在聆听,请说话…');
|
|
15028
|
+
case 'processing':
|
|
15029
|
+
return this.$tx('ecmapp.wflowform.voiceProcessing', '识别中…');
|
|
15030
|
+
case 'done':
|
|
15031
|
+
return this.$tx('ecmapp.wflowform.voiceDone', '识别完成,可修改后填入。');
|
|
15032
|
+
case 'error':
|
|
15033
|
+
return this.errorText;
|
|
15034
|
+
default:
|
|
15035
|
+
return this.$tx('ecmapp.wflowform.voiceIdle', '点击麦克风开始说话');
|
|
15036
|
+
}
|
|
15037
|
+
},
|
|
15038
|
+
timerText: function timerText() {
|
|
15039
|
+
var min = Math.floor(this.seconds / 60);
|
|
15040
|
+
var sec = this.seconds % 60;
|
|
15041
|
+
return (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec);
|
|
15042
|
+
}
|
|
15043
|
+
},
|
|
15044
|
+
watch: {
|
|
15045
|
+
visible: function visible(val) {
|
|
15046
|
+
if (val) {
|
|
15047
|
+
this.resetState();
|
|
15048
|
+
this.preRequestPermission();
|
|
15049
|
+
}
|
|
15050
|
+
}
|
|
15051
|
+
},
|
|
15052
|
+
beforeDestroy: function beforeDestroy() {
|
|
15053
|
+
this.releaseResources();
|
|
15054
|
+
},
|
|
15055
|
+
methods: {
|
|
15056
|
+
resetState: function resetState() {
|
|
15057
|
+
this.status = 'idle';
|
|
15058
|
+
this.errorText = '';
|
|
15059
|
+
this.resultText = '';
|
|
15060
|
+
this.finalText = '';
|
|
15061
|
+
this.seconds = 0;
|
|
15062
|
+
this.audioChunks = [];
|
|
15063
|
+
},
|
|
15064
|
+
// 打开弹窗即预请求麦克风权限,被拒绝时显示引导文案
|
|
15065
|
+
preRequestPermission: function preRequestPermission() {
|
|
15066
|
+
var _this = this;
|
|
15067
|
+
if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
|
|
15068
|
+
navigator.mediaDevices.getUserMedia({
|
|
15069
|
+
audio: true
|
|
15070
|
+
}).then(function (stream) {
|
|
15071
|
+
stream.getTracks().forEach(function (track) {
|
|
15072
|
+
return track.stop();
|
|
15073
|
+
});
|
|
15074
|
+
}).catch(function () {
|
|
15075
|
+
_this.showPermissionError();
|
|
15076
|
+
});
|
|
15077
|
+
}
|
|
15078
|
+
},
|
|
15079
|
+
showPermissionError: function showPermissionError() {
|
|
15080
|
+
this.status = 'error';
|
|
15081
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceNoPermission', '请在浏览器设置中允许使用麦克风后重试。');
|
|
15082
|
+
},
|
|
15083
|
+
toggleRecord: function toggleRecord() {
|
|
15084
|
+
if (this.status === 'processing') return;
|
|
15085
|
+
if (this.status === 'recording') {
|
|
15086
|
+
this.stopRecord();
|
|
15087
|
+
} else {
|
|
15088
|
+
this.startRecord();
|
|
15089
|
+
}
|
|
15090
|
+
},
|
|
15091
|
+
startRecord: function startRecord() {
|
|
15092
|
+
this.resultText = '';
|
|
15093
|
+
this.finalText = '';
|
|
15094
|
+
if (this.backendUrl) {
|
|
15095
|
+
this.startBackendRecord();
|
|
15096
|
+
} else {
|
|
15097
|
+
this.startBrowserRecognition();
|
|
15098
|
+
}
|
|
15099
|
+
},
|
|
15100
|
+
stopRecord: function stopRecord() {
|
|
15101
|
+
this.stopTimer();
|
|
15102
|
+
if (this.recognition) {
|
|
15103
|
+
this.recognition.stop();
|
|
15104
|
+
}
|
|
15105
|
+
if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') {
|
|
15106
|
+
this.mediaRecorder.stop();
|
|
15107
|
+
}
|
|
15108
|
+
},
|
|
15109
|
+
startTimer: function startTimer() {
|
|
15110
|
+
var _this2 = this;
|
|
15111
|
+
this.seconds = 0;
|
|
15112
|
+
this.timer = setInterval(function () {
|
|
15113
|
+
_this2.seconds++;
|
|
15114
|
+
}, 1000);
|
|
15115
|
+
},
|
|
15116
|
+
stopTimer: function stopTimer() {
|
|
15117
|
+
if (this.timer) {
|
|
15118
|
+
clearInterval(this.timer);
|
|
15119
|
+
this.timer = null;
|
|
15120
|
+
}
|
|
15121
|
+
},
|
|
15122
|
+
// 浏览器模式:Web Speech API直转文字,中间结果实时上屏
|
|
15123
|
+
startBrowserRecognition: function startBrowserRecognition() {
|
|
15124
|
+
var _this3 = this;
|
|
15125
|
+
var SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
|
|
15126
|
+
if (!SpeechRecognition) {
|
|
15127
|
+
this.status = 'error';
|
|
15128
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceNotSupport', '当前浏览器不支持语音识别。');
|
|
15129
|
+
return;
|
|
15130
|
+
}
|
|
15131
|
+
var recognition = new SpeechRecognition();
|
|
15132
|
+
recognition.lang = 'zh-CN';
|
|
15133
|
+
recognition.continuous = true;
|
|
15134
|
+
recognition.interimResults = true;
|
|
15135
|
+
recognition.onstart = function () {
|
|
15136
|
+
_this3.status = 'recording';
|
|
15137
|
+
_this3.startTimer();
|
|
15138
|
+
_this3.startVisualStream();
|
|
15139
|
+
};
|
|
15140
|
+
recognition.onresult = function (event) {
|
|
15141
|
+
var interimText = '';
|
|
15142
|
+
for (var i = event.resultIndex; i < event.results.length; i++) {
|
|
15143
|
+
if (event.results[i].isFinal) {
|
|
15144
|
+
_this3.finalText += event.results[i][0].transcript;
|
|
15145
|
+
} else {
|
|
15146
|
+
interimText += event.results[i][0].transcript;
|
|
15147
|
+
}
|
|
15148
|
+
}
|
|
15149
|
+
_this3.resultText = _this3.finalText + interimText;
|
|
15150
|
+
};
|
|
15151
|
+
recognition.onerror = function (event) {
|
|
15152
|
+
_this3.stopTimer();
|
|
15153
|
+
_this3.stopWaveform();
|
|
15154
|
+
if (event.error === 'not-allowed' || event.error === 'service-not-allowed') {
|
|
15155
|
+
_this3.showPermissionError();
|
|
15156
|
+
} else if (event.error === 'no-speech') {
|
|
15157
|
+
_this3.status = 'error';
|
|
15158
|
+
_this3.errorText = _this3.$tx('ecmapp.wflowform.voiceNoSpeech', '未检测到语音,请重试。');
|
|
15159
|
+
} else if (event.error !== 'aborted') {
|
|
15160
|
+
_this3.status = 'error';
|
|
15161
|
+
_this3.errorText = _this3.$tx('ecmapp.wflowform.voiceRecognizeFail', '语音识别失败,请重试。');
|
|
15162
|
+
}
|
|
15163
|
+
};
|
|
15164
|
+
recognition.onend = function () {
|
|
15165
|
+
_this3.stopTimer();
|
|
15166
|
+
_this3.stopWaveform();
|
|
15167
|
+
_this3.recognition = null;
|
|
15168
|
+
if (_this3.status === 'recording') {
|
|
15169
|
+
_this3.resultText = _this3.finalText;
|
|
15170
|
+
_this3.status = _this3.resultText.trim() !== '' ? 'done' : 'idle';
|
|
15171
|
+
}
|
|
15172
|
+
};
|
|
15173
|
+
this.recognition = recognition;
|
|
15174
|
+
recognition.start();
|
|
15175
|
+
},
|
|
15176
|
+
// 后端模式:录音→上传→转文字
|
|
15177
|
+
startBackendRecord: function startBackendRecord() {
|
|
15178
|
+
var _this4 = this;
|
|
15179
|
+
if (!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)) {
|
|
15180
|
+
this.status = 'error';
|
|
15181
|
+
this.errorText = this.$tx('ecmapp.wflowform.voiceNotSupport', '当前浏览器不支持语音识别。');
|
|
15182
|
+
return;
|
|
15183
|
+
}
|
|
15184
|
+
navigator.mediaDevices.getUserMedia({
|
|
15185
|
+
audio: true
|
|
15186
|
+
}).then(function (stream) {
|
|
15187
|
+
_this4.stream = stream;
|
|
15188
|
+
_this4.audioChunks = [];
|
|
15189
|
+
var mimeType = window.MediaRecorder && MediaRecorder.isTypeSupported('audio/webm;codecs=opus') ? 'audio/webm;codecs=opus' : '';
|
|
15190
|
+
var mediaRecorder = mimeType ? new MediaRecorder(stream, {
|
|
15191
|
+
mimeType: mimeType
|
|
15192
|
+
}) : new MediaRecorder(stream);
|
|
15193
|
+
mediaRecorder.ondataavailable = function (event) {
|
|
15194
|
+
if (event.data && event.data.size > 0) {
|
|
15195
|
+
_this4.audioChunks.push(event.data);
|
|
15196
|
+
}
|
|
15197
|
+
};
|
|
15198
|
+
mediaRecorder.onstart = function () {
|
|
15199
|
+
_this4.status = 'recording';
|
|
15200
|
+
_this4.startTimer();
|
|
15201
|
+
_this4.startWaveform(stream);
|
|
15202
|
+
};
|
|
15203
|
+
mediaRecorder.onstop = function () {
|
|
15204
|
+
_this4.stopTimer();
|
|
15205
|
+
_this4.stopWaveform();
|
|
15206
|
+
_this4.releaseStream();
|
|
15207
|
+
_this4.mediaRecorder = null;
|
|
15208
|
+
// 弹窗已关闭(取消录音)则不再上传
|
|
15209
|
+
if (_this4.visible && _this4.audioChunks.length > 0) {
|
|
15210
|
+
_this4.uploadVoice();
|
|
15211
|
+
}
|
|
15212
|
+
};
|
|
15213
|
+
_this4.mediaRecorder = mediaRecorder;
|
|
15214
|
+
mediaRecorder.start();
|
|
15215
|
+
}).catch(function () {
|
|
15216
|
+
_this4.showPermissionError();
|
|
15217
|
+
});
|
|
15218
|
+
},
|
|
15219
|
+
uploadVoice: function uploadVoice() {
|
|
15220
|
+
var _this5 = this;
|
|
15221
|
+
this.status = 'processing';
|
|
15222
|
+
var voiceBlob = new Blob(this.audioChunks, {
|
|
15223
|
+
type: this.audioChunks[0].type || 'audio/webm'
|
|
15224
|
+
});
|
|
15225
|
+
var formData = new FormData();
|
|
15226
|
+
formData.append('voiceFile', voiceBlob, 'voice.webm');
|
|
15227
|
+
formData.append('format', 'webm');
|
|
15228
|
+
formData.append('lang', 'zh-CN');
|
|
15229
|
+
this.$http({
|
|
15230
|
+
method: 'POST',
|
|
15231
|
+
url: this.backendUrl,
|
|
15232
|
+
headers: {
|
|
15233
|
+
'Content-Type': 'multipart/form-data'
|
|
15234
|
+
},
|
|
15235
|
+
data: formData
|
|
15236
|
+
}).then(function (res) {
|
|
15237
|
+
if (res.code === 'success') {
|
|
15238
|
+
_this5.resultText = res.body && res.body.text || '';
|
|
15239
|
+
_this5.status = _this5.resultText.trim() !== '' ? 'done' : 'error';
|
|
15240
|
+
if (_this5.status === 'error') {
|
|
15241
|
+
_this5.errorText = _this5.$tx('ecmapp.wflowform.voiceNoSpeech', '未检测到语音,请重试。');
|
|
15242
|
+
}
|
|
15243
|
+
} else {
|
|
15244
|
+
_this5.status = 'error';
|
|
15245
|
+
_this5.errorText = res.message || _this5.$tx('ecmapp.wflowform.voiceRecognizeFail', '语音识别失败,请重试。');
|
|
15246
|
+
}
|
|
15247
|
+
}).catch(function () {
|
|
15248
|
+
_this5.status = 'error';
|
|
15249
|
+
_this5.errorText = _this5.$tx('ecmapp.wflowform.voiceRecognizeFail', '语音识别失败,请重试。');
|
|
15250
|
+
});
|
|
15251
|
+
},
|
|
15252
|
+
releaseStream: function releaseStream() {
|
|
15253
|
+
if (this.stream) {
|
|
15254
|
+
this.stream.getTracks().forEach(function (track) {
|
|
15255
|
+
return track.stop();
|
|
15256
|
+
});
|
|
15257
|
+
this.stream = null;
|
|
15258
|
+
}
|
|
15259
|
+
},
|
|
15260
|
+
// 浏览器模式下SpeechRecognition不暴露音频流,单独取一路流用于波形绘制
|
|
15261
|
+
startVisualStream: function startVisualStream() {
|
|
15262
|
+
var _this6 = this;
|
|
15263
|
+
if (!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia)) return;
|
|
15264
|
+
navigator.mediaDevices.getUserMedia({
|
|
15265
|
+
audio: true
|
|
15266
|
+
}).then(function (stream) {
|
|
15267
|
+
// 取流回来时录音可能已结束
|
|
15268
|
+
if (_this6.status !== 'recording') {
|
|
15269
|
+
stream.getTracks().forEach(function (track) {
|
|
15270
|
+
return track.stop();
|
|
15271
|
+
});
|
|
15272
|
+
return;
|
|
15273
|
+
}
|
|
15274
|
+
_this6.visualStream = stream;
|
|
15275
|
+
_this6.startWaveform(stream);
|
|
15276
|
+
}).catch(function () {});
|
|
15277
|
+
},
|
|
15278
|
+
// 用AnalyserNode实时绘制录音波形柱状图
|
|
15279
|
+
startWaveform: function startWaveform(stream) {
|
|
15280
|
+
var _this7 = this;
|
|
15281
|
+
var AudioContextClass = window.AudioContext || window.webkitAudioContext;
|
|
15282
|
+
var canvas = this.$refs.waveCanvas;
|
|
15283
|
+
if (!AudioContextClass || !canvas) return;
|
|
15284
|
+
var audioContext = new AudioContextClass();
|
|
15285
|
+
var analyser = audioContext.createAnalyser();
|
|
15286
|
+
analyser.fftSize = 128;
|
|
15287
|
+
audioContext.createMediaStreamSource(stream).connect(analyser);
|
|
15288
|
+
this.audioContext = audioContext;
|
|
15289
|
+
this.analyser = analyser;
|
|
15290
|
+
var dpr = window.devicePixelRatio || 1;
|
|
15291
|
+
canvas.width = canvas.clientWidth * dpr;
|
|
15292
|
+
canvas.height = canvas.clientHeight * dpr;
|
|
15293
|
+
var ctx = canvas.getContext('2d');
|
|
15294
|
+
var dataArray = new Uint8Array(analyser.frequencyBinCount);
|
|
15295
|
+
var barCount = 32;
|
|
15296
|
+
var gap = 2 * dpr;
|
|
15297
|
+
var barWidth = (canvas.width - gap * (barCount - 1)) / barCount;
|
|
15298
|
+
var centerY = canvas.height / 2;
|
|
15299
|
+
var draw = function draw() {
|
|
15300
|
+
if (!_this7.analyser) return;
|
|
15301
|
+
_this7.waveRafId = requestAnimationFrame(draw);
|
|
15302
|
+
_this7.analyser.getByteFrequencyData(dataArray);
|
|
15303
|
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
15304
|
+
ctx.fillStyle = '#1989fa';
|
|
15305
|
+
for (var i = 0; i < barCount; i++) {
|
|
15306
|
+
var value = dataArray[Math.floor(i * dataArray.length / barCount)] / 255;
|
|
15307
|
+
var barHeight = Math.max(2 * dpr, value * canvas.height);
|
|
15308
|
+
var x = i * (barWidth + gap);
|
|
15309
|
+
ctx.fillRect(x, centerY - barHeight / 2, barWidth, barHeight);
|
|
15310
|
+
}
|
|
15311
|
+
};
|
|
15312
|
+
draw();
|
|
15313
|
+
},
|
|
15314
|
+
stopWaveform: function stopWaveform() {
|
|
15315
|
+
if (this.waveRafId) {
|
|
15316
|
+
cancelAnimationFrame(this.waveRafId);
|
|
15317
|
+
this.waveRafId = null;
|
|
15318
|
+
}
|
|
15319
|
+
if (this.audioContext) {
|
|
15320
|
+
this.audioContext.close().catch(function () {});
|
|
15321
|
+
this.audioContext = null;
|
|
15322
|
+
}
|
|
15323
|
+
this.analyser = null;
|
|
15324
|
+
if (this.visualStream) {
|
|
15325
|
+
this.visualStream.getTracks().forEach(function (track) {
|
|
15326
|
+
return track.stop();
|
|
15327
|
+
});
|
|
15328
|
+
this.visualStream = null;
|
|
15329
|
+
}
|
|
15330
|
+
},
|
|
15331
|
+
// 关闭/取消时释放麦克风等资源
|
|
15332
|
+
releaseResources: function releaseResources() {
|
|
15333
|
+
this.stopTimer();
|
|
15334
|
+
this.stopWaveform();
|
|
15335
|
+
if (this.recognition) {
|
|
15336
|
+
this.recognition.abort();
|
|
15337
|
+
this.recognition = null;
|
|
15338
|
+
}
|
|
15339
|
+
if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') {
|
|
15340
|
+
this.mediaRecorder.stop();
|
|
15341
|
+
}
|
|
15342
|
+
this.mediaRecorder = null;
|
|
15343
|
+
this.releaseStream();
|
|
15344
|
+
},
|
|
15345
|
+
onPopupClosed: function onPopupClosed() {
|
|
15346
|
+
this.releaseResources();
|
|
15347
|
+
},
|
|
15348
|
+
confirmVoiceText: function confirmVoiceText() {
|
|
15349
|
+
var text = this.resultText.trim();
|
|
15350
|
+
if (text === '') return;
|
|
15351
|
+
this.$emit('confirm', text);
|
|
15352
|
+
this.dialogVisible = false;
|
|
15353
|
+
}
|
|
15354
|
+
}
|
|
15355
|
+
});
|
|
15356
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=script&lang=js
|
|
15357
|
+
/* harmony default export */ var src_VoiceInputDialogvue_type_script_lang_js = (VoiceInputDialogvue_type_script_lang_js);
|
|
15358
|
+
// 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=574b941f&prod&scoped=true&lang=scss
|
|
15359
|
+
var VoiceInputDialogvue_type_style_index_0_id_574b941f_prod_scoped_true_lang_scss = __webpack_require__(273);
|
|
15360
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue?vue&type=style&index=0&id=574b941f&prod&scoped=true&lang=scss
|
|
15361
|
+
|
|
15362
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/VoiceInputDialog.vue
|
|
15363
|
+
|
|
15364
|
+
|
|
15365
|
+
|
|
15366
|
+
;
|
|
15367
|
+
|
|
15368
|
+
|
|
15369
|
+
/* normalize component */
|
|
15370
|
+
|
|
15371
|
+
var VoiceInputDialog_component = (0,componentNormalizer/* default */.A)(
|
|
15372
|
+
src_VoiceInputDialogvue_type_script_lang_js,
|
|
15373
|
+
VoiceInputDialogvue_type_template_id_574b941f_scoped_true_render,
|
|
15374
|
+
VoiceInputDialogvue_type_template_id_574b941f_scoped_true_staticRenderFns,
|
|
15375
|
+
false,
|
|
15376
|
+
null,
|
|
15377
|
+
"574b941f",
|
|
15378
|
+
null
|
|
15379
|
+
|
|
15380
|
+
)
|
|
15381
|
+
|
|
15382
|
+
/* harmony default export */ var VoiceInputDialog = (VoiceInputDialog_component.exports);
|
|
14811
15383
|
;// 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
15384
|
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
15385
|
var moment = __webpack_require__(5093);
|
|
14814
15386
|
|
|
15387
|
+
|
|
14815
15388
|
/* harmony default export */ var SubmitHandlevue_type_script_lang_js = ({
|
|
14816
15389
|
name: 'SubmitHandle',
|
|
14817
15390
|
components: {
|
|
14818
|
-
WfTaskNode: WfTaskNode
|
|
15391
|
+
WfTaskNode: WfTaskNode,
|
|
15392
|
+
VoiceInputDialog: VoiceInputDialog
|
|
14819
15393
|
},
|
|
14820
15394
|
props: {
|
|
14821
15395
|
curTN: {
|
|
@@ -14949,7 +15523,11 @@ var moment = __webpack_require__(5093);
|
|
|
14949
15523
|
defaultNumber: 8,
|
|
14950
15524
|
// 超出默认展示两行(个数)
|
|
14951
15525
|
viewCommentsNum: 8,
|
|
14952
|
-
selectedUsersCount: {}
|
|
15526
|
+
selectedUsersCount: {},
|
|
15527
|
+
//节点已选择人数
|
|
15528
|
+
voiceDialogVisible: false,
|
|
15529
|
+
// 语音输入弹窗
|
|
15530
|
+
voiceInputEnabled: false // 当前环境是否支持语音输入
|
|
14953
15531
|
};
|
|
14954
15532
|
},
|
|
14955
15533
|
computed: {
|
|
@@ -14992,6 +15570,7 @@ var moment = __webpack_require__(5093);
|
|
|
14992
15570
|
},
|
|
14993
15571
|
created: function created() {
|
|
14994
15572
|
// this.setMargin()
|
|
15573
|
+
this.initVoiceInputEnabled();
|
|
14995
15574
|
this.$bus.on('initSubmitHandle', this.initSubmitHandle);
|
|
14996
15575
|
},
|
|
14997
15576
|
beforeDestroy: function beforeDestroy() {
|
|
@@ -15018,6 +15597,26 @@ var moment = __webpack_require__(5093);
|
|
|
15018
15597
|
}
|
|
15019
15598
|
},
|
|
15020
15599
|
methods: {
|
|
15600
|
+
// 检测语音输入按钮可用性:未配置window.voiceToWord时需https/localhost安全上下文且浏览器支持Web Speech API,否则不显示按钮
|
|
15601
|
+
initVoiceInputEnabled: function initVoiceInputEnabled() {
|
|
15602
|
+
var voiceToWord = window.voiceToWord;
|
|
15603
|
+
if (voiceToWord && typeof voiceToWord === 'string' && voiceToWord !== 'browser') {
|
|
15604
|
+
// 后端接口转文字:需getUserMedia录音(同样仅安全上下文下可用)
|
|
15605
|
+
this.voiceInputEnabled = !!(navigator.mediaDevices && navigator.mediaDevices.getUserMedia);
|
|
15606
|
+
} else {
|
|
15607
|
+
// 浏览器直转文字:需安全上下文且支持SpeechRecognition
|
|
15608
|
+
this.voiceInputEnabled = window.isSecureContext === true && ('webkitSpeechRecognition' in window || 'SpeechRecognition' in window);
|
|
15609
|
+
}
|
|
15610
|
+
},
|
|
15611
|
+
openVoiceInput: function openVoiceInput() {
|
|
15612
|
+
this.voiceDialogVisible = true;
|
|
15613
|
+
},
|
|
15614
|
+
onVoiceConfirm: function onVoiceConfirm(text) {
|
|
15615
|
+
if (!text) return;
|
|
15616
|
+
var curUserIdea = this.submitHandle.curUserIdea;
|
|
15617
|
+
this.$set(this.submitHandle, 'curUserIdea', curUserIdea && curUserIdea.trim() !== '' ? curUserIdea + ' ' + text : text);
|
|
15618
|
+
this.$forceUpdate();
|
|
15619
|
+
},
|
|
15021
15620
|
// 计算边距
|
|
15022
15621
|
setMargin: function setMargin() {
|
|
15023
15622
|
var columnsNum = Math.floor((screen.width - 20) / 93); // 列数
|
|
@@ -15802,9 +16401,9 @@ var moment = __webpack_require__(5093);
|
|
|
15802
16401
|
});
|
|
15803
16402
|
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=script&lang=js
|
|
15804
16403
|
/* 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=
|
|
16404
|
+
// 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
|
|
16405
|
+
var SubmitHandlevue_type_style_index_0_id_44733f4f_prod_scoped_true_lang_scss = __webpack_require__(9500);
|
|
16406
|
+
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue?vue&type=style&index=0&id=44733f4f&prod&scoped=true&lang=scss
|
|
15808
16407
|
|
|
15809
16408
|
;// CONCATENATED MODULE: ./packages/ecmapp/Wflowform/src/SubmitHandle.vue
|
|
15810
16409
|
|
|
@@ -15817,11 +16416,11 @@ var SubmitHandlevue_type_style_index_0_id_6451f4d6_prod_scoped_true_lang_scss =
|
|
|
15817
16416
|
|
|
15818
16417
|
var SubmitHandle_component = (0,componentNormalizer/* default */.A)(
|
|
15819
16418
|
src_SubmitHandlevue_type_script_lang_js,
|
|
15820
|
-
|
|
15821
|
-
|
|
16419
|
+
SubmitHandlevue_type_template_id_44733f4f_scoped_true_render,
|
|
16420
|
+
SubmitHandlevue_type_template_id_44733f4f_scoped_true_staticRenderFns,
|
|
15822
16421
|
false,
|
|
15823
16422
|
null,
|
|
15824
|
-
"
|
|
16423
|
+
"44733f4f",
|
|
15825
16424
|
null
|
|
15826
16425
|
|
|
15827
16426
|
)
|
|
@@ -22261,7 +22860,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".submit-dialog-container[data-v-9c230b
|
|
|
22261
22860
|
|
|
22262
22861
|
/***/ }),
|
|
22263
22862
|
|
|
22264
|
-
/***/
|
|
22863
|
+
/***/ 7103:
|
|
22265
22864
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22266
22865
|
|
|
22267
22866
|
"use strict";
|
|
@@ -22280,7 +22879,28 @@ var ___CSS_LOADER_URL_IMPORT_0___ = new URL(/* asset import */ __webpack_require
|
|
|
22280
22879
|
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
22880
|
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
22881
|
// Module
|
|
22283
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".submit-handle-container .idea-button-container .van-cell__value[data-v-
|
|
22882
|
+
___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%}", ""]);
|
|
22883
|
+
// Exports
|
|
22884
|
+
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
22885
|
+
|
|
22886
|
+
|
|
22887
|
+
/***/ }),
|
|
22888
|
+
|
|
22889
|
+
/***/ 1914:
|
|
22890
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
22891
|
+
|
|
22892
|
+
"use strict";
|
|
22893
|
+
__webpack_require__.r(__webpack_exports__);
|
|
22894
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1601);
|
|
22895
|
+
/* 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__);
|
|
22896
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6314);
|
|
22897
|
+
/* 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__);
|
|
22898
|
+
// Imports
|
|
22899
|
+
|
|
22900
|
+
|
|
22901
|
+
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()));
|
|
22902
|
+
// Module
|
|
22903
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".voice-input-popup[data-v-574b941f]{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.voice-input-popup .voice-popup-header[data-v-574b941f]{position:relative;height:48px;line-height:48px;text-align:center}.voice-input-popup .voice-popup-header .voice-popup-title[data-v-574b941f]{font-size:16px;font-weight:600;color:#323233}.voice-input-popup .voice-popup-header .voice-popup-close[data-v-574b941f]{position:absolute;right:16px;top:16px;font-size:16px;color:#c8c9cc}.voice-input-popup .voice-popup-body[data-v-574b941f]{padding:8px 16px 0;text-align:center}.voice-input-popup .voice-popup-body .voice-mic-btn[data-v-574b941f]{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-574b941f]{width:28px;height:28px}.voice-input-popup .voice-popup-body .voice-mic-btn.recording[data-v-574b941f]{background-color:#ee0a24;-webkit-animation:voice-breathe-574b941f 1.5s ease-out infinite;animation:voice-breathe-574b941f 1.5s ease-out infinite}.voice-input-popup .voice-popup-body .voice-status-text[data-v-574b941f]{margin-top:12px;font-size:13px;color:#646566}.voice-input-popup .voice-popup-body .voice-status-text.is-error[data-v-574b941f]{color:#ee0a24}.voice-input-popup .voice-popup-body .voice-wave-canvas[data-v-574b941f]{display:block;width:200px;height:32px;margin:8px auto 0}.voice-input-popup .voice-popup-body .voice-timer[data-v-574b941f]{margin-top:4px;font-size:13px;color:#969799}.voice-input-popup .voice-popup-body .voice-result-field[data-v-574b941f]{margin-top:12px;background-color:#f7f8fa;border-radius:8px}.voice-input-popup .voice-popup-footer[data-v-574b941f]{padding:12px 16px;text-align:right}.voice-input-popup .voice-popup-footer .van-button[data-v-574b941f]{margin-left:8px;min-width:80px}@-webkit-keyframes voice-breathe-574b941f{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-574b941f{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
22904
|
// Exports
|
|
22285
22905
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
22286
22906
|
|
|
@@ -49912,19 +50532,35 @@ var update = add("72ae29a9", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
49912
50532
|
|
|
49913
50533
|
/***/ }),
|
|
49914
50534
|
|
|
49915
|
-
/***/
|
|
50535
|
+
/***/ 9500:
|
|
50536
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
50537
|
+
|
|
50538
|
+
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
50539
|
+
|
|
50540
|
+
// load the styles
|
|
50541
|
+
var content = __webpack_require__(7103);
|
|
50542
|
+
if(content.__esModule) content = content.default;
|
|
50543
|
+
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
50544
|
+
if(content.locals) module.exports = content.locals;
|
|
50545
|
+
// add the styles to the DOM
|
|
50546
|
+
var add = (__webpack_require__(9548)/* ["default"] */ .A)
|
|
50547
|
+
var update = add("4f4e2226", content, true, {"sourceMap":false,"shadowMode":false});
|
|
50548
|
+
|
|
50549
|
+
/***/ }),
|
|
50550
|
+
|
|
50551
|
+
/***/ 273:
|
|
49916
50552
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
49917
50553
|
|
|
49918
50554
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
49919
50555
|
|
|
49920
50556
|
// load the styles
|
|
49921
|
-
var content = __webpack_require__(
|
|
50557
|
+
var content = __webpack_require__(1914);
|
|
49922
50558
|
if(content.__esModule) content = content.default;
|
|
49923
50559
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
49924
50560
|
if(content.locals) module.exports = content.locals;
|
|
49925
50561
|
// add the styles to the DOM
|
|
49926
50562
|
var add = (__webpack_require__(9548)/* ["default"] */ .A)
|
|
49927
|
-
var update = add("
|
|
50563
|
+
var update = add("97a58776", content, true, {"sourceMap":false,"shadowMode":false});
|
|
49928
50564
|
|
|
49929
50565
|
/***/ }),
|
|
49930
50566
|
|
|
@@ -72303,39 +72939,39 @@ var asyncComponents = [
|
|
|
72303
72939
|
}],
|
|
72304
72940
|
// ========== ecmapp/Wflowform 工作流表单子组件 → chunk: m-wflow-form ==========
|
|
72305
72941
|
['Attachment', function () {
|
|
72306
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72942
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4558)).then(function (m) {
|
|
72307
72943
|
return m.Attachment;
|
|
72308
72944
|
});
|
|
72309
72945
|
}], ['BodyFile', function () {
|
|
72310
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72946
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4558)).then(function (m) {
|
|
72311
72947
|
return m.BodyFile;
|
|
72312
72948
|
});
|
|
72313
72949
|
}], ['HandleIdea', function () {
|
|
72314
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72950
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4558)).then(function (m) {
|
|
72315
72951
|
return m.HandleIdea;
|
|
72316
72952
|
});
|
|
72317
72953
|
}], ['SelectOuterDeputy', function () {
|
|
72318
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72954
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4558)).then(function (m) {
|
|
72319
72955
|
return m.SelectOuterDeputy;
|
|
72320
72956
|
});
|
|
72321
72957
|
}], ['SubmitHandle', function () {
|
|
72322
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72958
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4558)).then(function (m) {
|
|
72323
72959
|
return m.SubmitHandle;
|
|
72324
72960
|
});
|
|
72325
72961
|
}], ['SubmitDialog', function () {
|
|
72326
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72962
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4558)).then(function (m) {
|
|
72327
72963
|
return m.SubmitDialog;
|
|
72328
72964
|
});
|
|
72329
72965
|
}], ['ShortcutProcessing', function () {
|
|
72330
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72966
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4558)).then(function (m) {
|
|
72331
72967
|
return m.ShortcutProcessing;
|
|
72332
72968
|
});
|
|
72333
72969
|
}], ['WfNodelogList', function () {
|
|
72334
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72970
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4558)).then(function (m) {
|
|
72335
72971
|
return m.WfNodelogList;
|
|
72336
72972
|
});
|
|
72337
72973
|
}], ['WriteToReadIdea', function () {
|
|
72338
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
72974
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4558)).then(function (m) {
|
|
72339
72975
|
return m.WriteToReadIdea;
|
|
72340
72976
|
});
|
|
72341
72977
|
}]];
|
|
@@ -72388,7 +73024,7 @@ var WfengineModule = function WfengineModule() {
|
|
|
72388
73024
|
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 6322));
|
|
72389
73025
|
};
|
|
72390
73026
|
var WflowformModule = function WflowformModule() {
|
|
72391
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
73027
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 4558));
|
|
72392
73028
|
};
|
|
72393
73029
|
|
|
72394
73030
|
// ---------- 重型功能(PDF/富文本,仅特定页面使用) ----------
|