Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
卡
卡车调度系统
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
caicaicai
卡车调度系统
Commits
228c3579
Commit
228c3579
authored
May 13, 2022
by
caicaicai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
b19a45dc
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
58 additions
and
66 deletions
+58
-66
index.vue
...iews/MLargeScreen/components/intelligentSchedul/index.vue
+54
-62
index.vue
src/views/system/dataDictionary/notifiyFrequency/index.vue
+4
-4
No files found.
src/views/MLargeScreen/components/intelligentSchedul/index.vue
View file @
228c3579
...
@@ -222,6 +222,7 @@ export default {
...
@@ -222,6 +222,7 @@ export default {
dialogVisible
:
false
,
dialogVisible
:
false
,
tonghuadisabled
:
false
,
tonghuadisabled
:
false
,
srcUrl
:
null
,
srcUrl
:
null
,
resultBlob
:
null
,
type
:
"
mp3
"
,
type
:
"
mp3
"
,
bitRate
:
16
,
bitRate
:
16
,
...
@@ -692,59 +693,28 @@ export default {
...
@@ -692,59 +693,28 @@ export default {
};
};
var
blob
=
this
.
recLogLast
.
res
.
blob
;
var
blob
=
this
.
recLogLast
.
res
.
blob
;
this
.
blobToDataURI
(
blob
);
/***方式一:将blob文件转成base64纯文本编码 ***/
/***方式一:将blob文件转成base64纯文本编码 ***/
var
reader
=
new
FileReader
();
var
reader
=
new
FileReader
();
reader
.
onloadend
=
function
(){
reader
.
onloadend
=
function
(){
var
postData
=
""
;
var
postData
=
""
;
postData
+=
"
mime=
"
+
encodeURIComponent
(
blob
.
type
);
//告诉后端,这个录音是什么格式的,可能前后端都固定的mp3可以不用写
// postData+="mime="+encodeURIComponent(blob.type);//告诉后端,这个录音是什么格式的,可能前后端都固定的mp3可以不用写
postData
+=
"
&upfile_b64=
"
+
encodeURIComponent
((
/.+;
\s
*base64
\s
*,
\s
*
(
.+
)
$/i
.
exec
(
reader
.
result
)
||
[])[
1
])
//录音文件内容,后端进行base64解码成二进制
// postData+="&upfile_b64="+encodeURIComponent((/.+;\s*base64\s*,\s*(.+)$/i.exec(reader.result)||[])[1]) //录音文件内容,后端进行base64解码成二进制
//postData = btoa(reader.result); //录音文件内容
postData
=
This
.
resultBlob
;
//录音文件内容
//发送语音数据
//发送语音数据
if
(
This
.
websocket
.
readyState
==
1
)
{
// that.websock.readyState = 1 表示连接成功,可以立即发送信息
if
(
This
.
websocket
.
readyState
==
1
)
{
// that.websock.readyState = 1 表示连接成功,可以立即发送信息
This
.
websocketsend
(
`{"toUserId":"
${
This
.
carAllNumberString
}
","contentText":"
${
postData
}
","fromUserId":"
${
This
.
dialogTitle1
}
"}`
);
This
.
websocketsend
(
`{"toUserId":"
${
This
.
carAllNumberString
}
","contentText":"
${
postData
}
","fromUserId":"
${
This
.
dialogTitle1
}
"}`
);
//上传到数据库
// HttpReq.truckDispatching.recentNoticeAdd({noticeClass:This.dialogTitle1,flag:1,videoContent:postData}).then((res) => {
// if(res.code == 200){
// //近期通知列表
// HttpReq.truckDispatching.recentNoticeQuery({size:50,sort:'id,desc',}).then((res) => {
// if(res.code == 200){
// This.recentNoticeData = res.data.content;
// };
// })
// }else{
// this.$notify({
// title: res.msg,
// type: 'error',
// duration: 2500
// })
// }
// }).catch(function(error) { });
This
.
$notify
({
This
.
$notify
({
title
:
'
上传成功!
'
,
title
:
'
上传成功!
'
,
type
:
'
success
'
,
type
:
'
success
'
,
duration
:
2500
duration
:
2500
});
});
}
else
if
(
This
.
websocket
.
readyState
==
0
)
{
// 表示正在连接,设置300ms后发送信息
}
else
if
(
This
.
websocket
.
readyState
==
0
)
{
// 表示正在连接,设置300ms后发送信息
setTimeout
(
function
()
{
setTimeout
(
function
()
{
This
.
websocketsend
(
`{"toUserId":"
${
This
.
carAllNumberString
}
","contentText":"
${
postData
}
","fromUserId":"
${
This
.
dialogTitle1
}
"}`
);
This
.
websocketsend
(
`{"toUserId":"
${
This
.
carAllNumberString
}
","contentText":"
${
postData
}
","fromUserId":"
${
This
.
dialogTitle1
}
"}`
);
// HttpReq.truckDispatching.recentNoticeAdd({noticeClass:This.dialogTitle1,flag:1,videoContent:postData}).then((res) => {
// if(res.code == 200){
// //近期通知列表
// HttpReq.truckDispatching.recentNoticeQuery({size:50,sort:'id,desc',}).then((res) => {
// if(res.code == 200){
// This.recentNoticeData = res.data.content;
// };
// })
// }else{
// this.$notify({
// title: res.msg,
// type: 'error',
// duration: 2500
// })
// }
// }).catch(function(error) { });
This
.
$notify
({
This
.
$notify
({
title
:
'
上传成功!
'
,
title
:
'
上传成功!
'
,
type
:
'
success
'
,
type
:
'
success
'
,
...
@@ -755,22 +725,6 @@ export default {
...
@@ -755,22 +725,6 @@ export default {
This
.
initWebSocket
();
This
.
initWebSocket
();
setTimeout
(
function
()
{
setTimeout
(
function
()
{
This
.
websocketsend
(
`{"toUserId":"
${
This
.
carAllNumberString
}
","contentText":"
${
postData
}
","fromUserId":"
${
This
.
dialogTitle1
}
"}`
);
This
.
websocketsend
(
`{"toUserId":"
${
This
.
carAllNumberString
}
","contentText":"
${
postData
}
","fromUserId":"
${
This
.
dialogTitle1
}
"}`
);
// HttpReq.truckDispatching.recentNoticeAdd({noticeClass:This.dialogTitle1,flag:1,videoContent:postData}).then((res) => {
// if(res.code == 200){
// //近期通知列表
// HttpReq.truckDispatching.recentNoticeQuery({size:50,sort:'id,desc',}).then((res) => {
// if(res.code == 200){
// This.recentNoticeData = res.data.content;
// };
// })
// }else{
// this.$notify({
// title: res.msg,
// type: 'error',
// duration: 2500
// })
// }
// }).catch(function(error) { });
This
.
$notify
({
This
.
$notify
({
title
:
'
上传成功!
'
,
title
:
'
上传成功!
'
,
type
:
'
success
'
,
type
:
'
success
'
,
...
@@ -780,6 +734,13 @@ export default {
...
@@ -780,6 +734,13 @@ export default {
}
}
};
};
reader
.
readAsDataURL
(
blob
);
reader
.
readAsDataURL
(
blob
);
/***方式二:使用FormData用multipart/form-data表单上传文件***/
// let form = new FormData();
// form.append("upfile",blob,"recorder.mp3"); //和普通form表单并无二致,后端接收到upfile参数的文件,文件名为recorder.mp3
// console.log('form',form);
this
.
dialogVisible
=
false
;
this
.
dialogVisible
=
false
;
},
},
...
@@ -871,19 +832,50 @@ export default {
...
@@ -871,19 +832,50 @@ export default {
this
.
dialogCancel
();
this
.
dialogCancel
();
this
.
waitDialogClickFn
();
this
.
waitDialogClickFn
();
},
},
//解析base64编码到blob流
dataURItoBlob
(
base64Data
)
{
//console.log(base64Data);
var
byteString
;
if
(
base64Data
.
split
(
'
,
'
)[
0
].
indexOf
(
'
base64
'
)
>=
0
)
byteString
=
atob
(
base64Data
.
split
(
'
,
'
)[
1
]);
//base64 解码
else
{
byteString
=
unescape
(
base64Data
.
split
(
'
,
'
)[
1
]);
}
var
mimeString
=
base64Data
.
split
(
'
,
'
)[
0
].
split
(
'
:
'
)[
1
].
split
(
'
;
'
)[
0
];
//mime类型 -- image/png
// var arrayBuffer = new ArrayBuffer(byteString.length); //创建缓冲数组
// var ia = new Uint8Array(arrayBuffer);//创建视图
var
ia
=
new
Uint8Array
(
byteString
.
length
);
//创建视图
for
(
var
i
=
0
;
i
<
byteString
.
length
;
i
++
)
{
ia
[
i
]
=
byteString
.
charCodeAt
(
i
);
}
var
blob
=
new
Blob
([
ia
],
{
type
:
mimeString
});
return
blob
;
},
//blob流转base64编码
blobToDataURI
(
blob
)
{
let
that
=
this
;
var
reader
=
new
FileReader
();
reader
.
readAsDataURL
(
blob
);
reader
.
onload
=
function
(){
that
.
resultBlob
=
reader
.
result
;
}
},
//播放语音
selectSituation
(
item
){
selectSituation
(
item
){
console
.
log
(
item
);
//注意base64的最后面中括号和引号是不转译的
//this.recClose();
let
bstr
=
this
.
dataURItoBlob
(
item
.
videoContent
);
// Blobdata 就是后端返回给你的Blob数据
const
reader1
=
new
FileReader
();
const
reader
=
new
FileReader
();
reader1
.
readAsArrayBuffer
(
bstr
);
const
booo
=
new
Blob
([
item
.
videoContent
]);
reader1
.
onload
=
(
e
)
=>
{
reader
.
readAsArrayBuffer
(
booo
);
reader
.
onload
=
(
e
)
=>
{
const
bufer
=
e
.
srcElement
.
result
;
const
bufer
=
e
.
srcElement
.
result
;
const
blob
=
this
.
addWavHeader
(
bufer
,
16000
,
16
,
1
);
const
blob
=
this
.
addWavHeader
(
bufer
,
16000
,
16
,
1
);
this
.
srcUrl
=
window
.
URL
.
createObjectURL
(
blob
);
this
.
srcUrl
=
(
window
.
URL
||
webkitURL
)
.
createObjectURL
(
blob
);
};
};
},
},
addWavHeader
(
samples
,
sampleRateTmp
,
sampleBits
,
channelCount
)
{
addWavHeader
(
samples
,
sampleRateTmp
,
sampleBits
,
channelCount
)
{
const
dataLength
=
samples
.
byteLength
;
const
dataLength
=
samples
.
byteLength
;
...
...
src/views/system/dataDictionary/notifiyFrequency/index.vue
View file @
228c3579
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width:auto"
:row-class-name=
"tableRowClassName"
>
<el-table-column
prop=
"description"
label=
"描述"
align=
"center"
></el-table-column>
<el-table-column
prop=
"description"
label=
"描述"
align=
"center"
></el-table-column>
<el-table-column
prop=
"name"
label=
"名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"name"
label=
"名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"threshold"
label=
"
盐
值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"threshold"
label=
"
数
值"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"toEdit(scope.row)"
></el-button>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"toEdit(scope.row)"
></el-button>
...
@@ -39,8 +39,8 @@
...
@@ -39,8 +39,8 @@
<el-form-item
label=
"名称"
prop=
"name"
>
<el-form-item
label=
"名称"
prop=
"name"
>
<el-input
v-model=
"form.item.name"
style=
"width:280px;"
placeholder=
"请输入名称"
/>
<el-input
v-model=
"form.item.name"
style=
"width:280px;"
placeholder=
"请输入名称"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
盐
值"
prop=
"threshold"
>
<el-form-item
label=
"
数
值"
prop=
"threshold"
>
<el-input
v-model=
"form.item.threshold"
style=
"width:280px;"
placeholder=
"请输入
盐
值"
/>
<el-input
v-model=
"form.item.threshold"
style=
"width:280px;"
placeholder=
"请输入
数
值"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
@@ -81,7 +81,7 @@ export default {
...
@@ -81,7 +81,7 @@ export default {
{
required
:
true
,
message
:
'
请输入名称
'
,
trigger
:
'
blur
'
}
{
required
:
true
,
message
:
'
请输入名称
'
,
trigger
:
'
blur
'
}
],
],
threshold
:
[
threshold
:
[
{
required
:
true
,
message
:
'
请输入
盐
值
'
,
trigger
:
'
blur
'
}
{
required
:
true
,
message
:
'
请输入
数
值
'
,
trigger
:
'
blur
'
}
],
],
},
},
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment