Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mmc-stl-vue2
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Administrator
mmc-stl-vue2
Commits
62655bd7
提交
62655bd7
authored
12月 07, 2024
作者:
翁进城
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 无人机视频操作接管判断
上级
c11855fd
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
45 行增加
和
17 行删除
+45
-17
index.vue
...er/components/uavApplications/components/player/index.vue
+45
-17
没有找到文件。
src/components/MMCFlightControlCenter/components/uavApplications/components/player/index.vue
浏览文件 @
62655bd7
...
...
@@ -2,20 +2,20 @@
<!-- 清流融合 -->
<div
id=
"uavPlayerWrap"
class=
"player"
:class=
"big"
v-interact
>
<div
ref=
"video"
class=
"video-wrap"
@
dblclick=
"screen"
>
<div
class=
"cpt_video"
@
click=
"lensControl"
v-if=
"showPlayer"
>
<div
class=
"cpt_video"
@
click
.
stop
=
"lensControl"
v-if=
"showPlayer"
>
<Obstacle
v-if=
"!isStatus"
></Obstacle>
<div
class=
"video"
>
<div
class=
"name"
v-clipboard:copy=
"vUrl.vUrl"
>
{{
uav
.
name
}}
</div>
<!--
<div
class=
"type"
v-if=
"networkType"
>
{{
networkType
}}
</div>
-->
<!--
<div
class=
"types"
>
{{
streamName
}}
</div>
-->
<div
v-show=
"!isStatus"
class=
"close"
@
click=
"close()"
>
关闭
</div>
<div
v-show=
"!isStatus"
class=
"close"
@
click
.
stop
=
"close()"
>
关闭
</div>
</div>
<!--
<videoModelChange
:data=
"data"
v-if=
"streamSelect == 'QINGLIU' && !isStatus"
class=
"cp pa cf modelStyle"
@
click=
"VideoModelChange"
@
click
.
stop
=
"VideoModelChange"
:uavRealTimeData=
"uavRealTimeData"
:NXdata=
"NXdata"
></videoModelChange>
-->
...
...
@@ -125,7 +125,7 @@
</div>
<div
style=
"display: flex"
>
<div
class=
"icon-box"
></div>
<div
class=
"cf ml20 mr10 c70d cp"
@
click=
"showInfo = false"
>
关闭
</div>
<div
class=
"cf ml20 mr10 c70d cp"
@
click
.
stop
=
"showInfo = false"
>
关闭
</div>
</div>
</div>
<div
class=
"content"
>
...
...
@@ -239,11 +239,11 @@
</div>
</div>
<div
class=
"iconBG"
v-if=
"isStatus"
>
<div
class=
"infop"
@
click=
"getInfo"
alt
/>
<div
class=
"infop"
@
click
.
stop
=
"getInfo"
alt
/>
<div
:class=
"type == 4 ? 'right17' : 'right23'"
class=
"reset iconfont icon-gengxin"
@
click=
"reset"
@
click
.
stop
=
"reset"
/>
</div>
<div
class=
"bottom-menu"
>
...
...
@@ -257,13 +257,13 @@
<img
class=
"menu-item"
src=
"./assets/images/info.png"
@
click=
"getInfo"
@
click
.
stop
=
"getInfo"
style=
"transform: scale(1.4)"
alt
/>
</el-tooltip>
<el-tooltip
content=
"是否启动瞄准镜"
placement=
"bottom"
v-if=
"!isStatus"
>
<img
class=
"menu-item"
src=
"./assets/images/center.png"
@
click=
"showCenterFn"
alt
/>
<img
class=
"menu-item"
src=
"./assets/images/center.png"
@
click
.
stop
=
"showCenterFn"
alt
/>
</el-tooltip>
<el-tooltip
v-if=
"!isStatus"
...
...
@@ -301,44 +301,44 @@
></el-option>
</el-select>
</div>
<div
class=
"pointer iconfont icon-gengxin menu-item"
@
click=
"reset"
></div>
<div
class=
"pointer iconfont icon-gengxin menu-item"
@
click
.
stop
=
"reset"
></div>
<!-- FPV切换 -->
<el-tooltip
content=
"模式切换"
placement=
"bottom"
>
<div
v-if=
"streamSelect.toUpperCase() !== 'QINGLIU'"
class=
"iconfont icon-moshiqiehuan modelStyle menu-item"
@
click=
"change"
@
click
.
stop
=
"change"
></div>
</el-tooltip>
<div
class=
"pointer iconfont icon-quanping menu-item"
@
click=
"screen"
v-if=
"!isStatus"
></div>
<div
class=
"pointer iconfont icon-quanping menu-item"
@
click
.
stop
=
"screen"
v-if=
"!isStatus"
></div>
</div>
</div>
<div
class=
"right-menu"
>
<template
v-if=
"uav.network === 2"
>
<el-tooltip
content=
"拍照"
placement=
"bottom"
>
<div
class=
"menu-item plate"
@
click=
"photojz"
>
<div
class=
"menu-item plate"
@
click
.
stop
=
"photojz"
>
<img
src=
"./assets/images/ai.png"
/>
</div>
</el-tooltip>
<el-tooltip
v-if=
"!screenRecordingStatus"
content=
"开始录像"
placement=
"bottom"
>
<div
class=
"record menu-item"
@
click=
"getRecord"
>
<div
class=
"record menu-item"
@
click
.
stop
=
"getRecord"
>
<img
src=
"./assets/images/record.png"
/>
</div>
</el-tooltip>
<el-tooltip
v-else
content=
"停止录像"
placement=
"bottom"
>
<div
class=
"record menu-item"
@
click=
"getRecord"
>
<div
class=
"record menu-item"
@
click
.
stop
=
"getRecord"
>
<img
src=
"./assets/images/stop.png"
/>
</div>
</el-tooltip>
</
template
>
<el-tooltip
content=
"截图"
placement=
"bottom"
>
<div
class=
"photojz menu-item"
@
click=
"photo"
>
<div
class=
"photojz menu-item"
@
click
.
stop
=
"photo"
>
<img
src=
"./assets/images/photojz.svg"
/>
</div>
</el-tooltip>
<AiList
ref=
"aiList"
@
screenShot=
"onAiScreenShot"
></AiList>
<div
class=
"menu-item"
@
click=
"startLinePoint"
content=
"航点动作"
>
<div
class=
"menu-item"
@
click
.
stop
=
"startLinePoint"
content=
"航点动作"
>
<img
src=
"./assets/images/point_small.svg"
/>
</div>
</div>
...
...
@@ -364,7 +364,7 @@ import { to_moveMount } from "../../../../utils/to_moveMount.js";
import
Obstacle
from
"./components/obstacle"
;
import
PointList
from
"./components/pointList"
;
import
videoModelChange
from
"./components/videoModelChange"
;
import
{
mapState
}
from
"vuex"
;
import
{
mapState
,
mapActions
}
from
"vuex"
;
import
AiList
from
"./components/aiList"
;
export
default
{
...
...
@@ -655,6 +655,22 @@ export default {
clearInterval
(
this
.
aiTimeHandle
);
},
methods
:
{
...
mapActions
(
"MMCFlightControlCenter/uav"
,
[
"isTakeOver"
]),
isTakeOverHangar
()
{
return
this
.
$store
.
dispatch
(
"MMCFlightControlCenter/hangar/isTakeOver"
);
},
async
isTake
(
show
=
true
)
{
// 判断是否已接管
let
isTakeOver
=
this
.
isTakeOver
;
if
(
this
.
isHangar
)
{
isTakeOver
=
this
.
isTakeOverHangar
;
}
if
(
!
(
await
isTakeOver
()))
{
show
&&
this
.
$message
.
warning
(
"请先接管设备"
);
return
false
;
}
return
true
;
},
startLinePoint
()
{
let
gps
=
{};
if
(
this
.
uavRealTimeData
)
{
...
...
@@ -755,6 +771,9 @@ export default {
* 录像
*/
async
getRecord
()
{
if
(
!
(
await
this
.
isTake
()))
{
return
;
}
if
(
this
.
healthData
.
NX
.
code
!==
"0x2110000"
)
{
return
this
.
$message
.
error
(
"录像失败,NX通信异常!"
);
}
...
...
@@ -784,6 +803,9 @@ export default {
* 拍照
*/
async
photojz
()
{
if
(
!
(
await
this
.
isTake
()))
{
return
;
}
if
(
this
.
healthData
.
NX
.
code
!==
"0x2110000"
)
{
return
this
.
$message
.
error
(
"拍照失败,NX通信异常!"
);
}
...
...
@@ -799,6 +821,9 @@ export default {
});
},
async
photo
()
{
if
(
!
(
await
this
.
isTake
()))
{
return
;
}
let
blob
=
this
.
$refs
.
player
.
screenShot
();
if
(
blob
)
{
console
.
log
(
blob
,
window
.
URL
.
createObjectURL
(
blob
));
...
...
@@ -854,6 +879,9 @@ export default {
* 挂载镜头控制
*/
async
lensControl
(
el
)
{
if
(
!
(
await
this
.
isTake
(
false
)))
{
return
;
}
// let mountData =this.$store.state.device.move_data
let
{
mountData
}
=
this
;
// if mountStatus =1 代表启用 屏幕指点功能
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论