Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mmc-stl-vue2
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Administrator
mmc-stl-vue2
Commits
09ae253f
提交
09ae253f
authored
5月 30, 2025
作者:
温凯
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'v4_master' into v4
上级
3f06b1b0
fd7e54e8
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
84 行增加
和
66 行删除
+84
-66
index.vue
...omponents/controlPanel/components/controlBottom/index.vue
+1
-1
index.vue
...el/components/controlLeft/components/airwayList/index.vue
+8
-2
uav.js
src/components/MMCFlightControlCenter/store/uav.js
+74
-63
orders.js
src/plugins/MMCMQTT/orders.js
+1
-0
没有找到文件。
src/components/MMCFlightControlCenter/components/uavApplications/components/controlPanel/components/controlBottom/index.vue
浏览文件 @
09ae253f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div
class=
"control-bottom"
>
<div
class=
"control-bottom"
>
<div
class=
"control-bottom-item"
@
click=
"onStartTask"
>
<div
class=
"control-bottom-item"
@
click=
"onStartTask"
>
<img
src=
"./assets/images/start.svg"
/>
<img
src=
"./assets/images/start.svg"
/>
<span
class=
"dib"
>
一键任务
</span>
<span
class=
"dib"
>
一键任务
</span>
</div>
</div>
<div
class=
"control-bottom-item"
@
click=
"onReturnFlight"
>
<div
class=
"control-bottom-item"
@
click=
"onReturnFlight"
>
<img
src=
"./assets/images/return.svg"
/>
<img
src=
"./assets/images/return.svg"
/>
...
...
src/components/MMCFlightControlCenter/components/uavApplications/components/controlPanel/components/controlLeft/components/airwayList/index.vue
浏览文件 @
09ae253f
...
@@ -72,7 +72,7 @@ export default {
...
@@ -72,7 +72,7 @@ export default {
"useSTLAirway"
,
"useSTLAirway"
,
"useTask"
,
"useTask"
,
]),
]),
...
mapState
(
"MMCFlightControlCenter/uav"
,
[
"uav"
,
"uavRealTimeData"
]),
...
mapState
(
"MMCFlightControlCenter/uav"
,
[
"uav"
,
"uavRealTimeData"
]),
// 选择的任务
// 选择的任务
selectedTask
()
{
selectedTask
()
{
let
find
=
this
.
taskList
.
find
((
item
)
=>
{
let
find
=
this
.
taskList
.
find
((
item
)
=>
{
...
@@ -176,7 +176,7 @@ export default {
...
@@ -176,7 +176,7 @@ export default {
this
.
bus
.
$on
(
"refreshAirway"
,
this
.
getAirwayList
);
this
.
bus
.
$on
(
"refreshAirway"
,
this
.
getAirwayList
);
await
this
.
getTaskList
();
await
this
.
getTaskList
();
await
this
.
getAirwayList
();
await
this
.
getAirwayList
();
console
.
log
(
this
.
uavRealTimeData
,
'this.uavRealTimeData'
);
console
.
log
(
this
.
uavRealTimeData
,
"this.uavRealTimeData"
);
// 获取正在飞行的航线
// 获取正在飞行的航线
if
(
this
.
uavRealTimeData
.
isFlying
)
{
if
(
this
.
uavRealTimeData
.
isFlying
)
{
this
.
getTaskInfoRecord
();
this
.
getTaskInfoRecord
();
...
@@ -278,10 +278,15 @@ export default {
...
@@ -278,10 +278,15 @@ export default {
this
.
$message
.
warning
(
"请选择航线"
);
this
.
$message
.
warning
(
"请选择航线"
);
return
;
return
;
}
}
let
diversionPoint
=
this
.
uav
.
diversionPoint
;
if
(
!
diversionPoint
)
{
return
this
.
$message
.
warning
(
"设备暂无备降点无法进行一键任务,请前往后台管理设置备降点!"
);
}
let
data
=
this
.
taskList
.
filter
((
item
)
=>
item
.
id
==
this
.
selectedTaskId
);
let
data
=
this
.
taskList
.
filter
((
item
)
=>
item
.
id
==
this
.
selectedTaskId
);
if
(
data
&&
data
[
0
].
status
==
"执行中"
)
{
if
(
data
&&
data
[
0
].
status
==
"执行中"
)
{
return
this
.
$message
.
warning
(
"当前任务执行中"
);
return
this
.
$message
.
warning
(
"当前任务执行中"
);
}
}
try
{
try
{
await
this
.
$confirm
(
"请确认是否进行一键任务操作?"
,
"安全确认"
,
{
await
this
.
$confirm
(
"请确认是否进行一键任务操作?"
,
"安全确认"
,
{
cancelButtonText
:
"取消"
,
cancelButtonText
:
"取消"
,
...
@@ -289,6 +294,7 @@ export default {
...
@@ -289,6 +294,7 @@ export default {
customClass
:
"uav_controlPane"
,
customClass
:
"uav_controlPane"
,
showClose
:
false
,
showClose
:
false
,
});
});
//
this
.
$store
.
commit
(
"MMCFlightControlCenter/uav/setState"
,
{
this
.
$store
.
commit
(
"MMCFlightControlCenter/uav/setState"
,
{
key
:
"airlineData"
,
key
:
"airlineData"
,
value
:
this
.
selectedAirway
,
value
:
this
.
selectedAirway
,
...
...
src/components/MMCFlightControlCenter/store/uav.js
浏览文件 @
09ae253f
...
@@ -6,7 +6,7 @@ let positions = []; // 飞机走过的点, 会一直累计, 每n秒减半一次,
...
@@ -6,7 +6,7 @@ let positions = []; // 飞机走过的点, 会一直累计, 每n秒减半一次,
setInterval
(()
=>
{
setInterval
(()
=>
{
if
(
positions
.
length
>
1000
)
{
if
(
positions
.
length
>
1000
)
{
positions
=
positions
.
filter
((
x
,
index
)
=>
index
%
2
===
0
);
positions
=
positions
.
filter
((
x
,
index
)
=>
index
%
2
===
0
);
console
.
log
(
'飞行轨迹'
,
positions
);
console
.
log
(
"飞行轨迹"
,
positions
);
}
}
},
60000
);
},
60000
);
if
(
!
window
.
$mmc_stl
)
{
if
(
!
window
.
$mmc_stl
)
{
...
@@ -14,7 +14,7 @@ if (!window.$mmc_stl) {
...
@@ -14,7 +14,7 @@ if (!window.$mmc_stl) {
}
}
window
.
$mmc_stl
.
positions
=
()
=>
{
window
.
$mmc_stl
.
positions
=
()
=>
{
console
.
log
(
positions
);
console
.
log
(
positions
);
}
}
;
const
defaultPos
=
{
const
defaultPos
=
{
latitude
:
0
,
// 纬度
latitude
:
0
,
// 纬度
longitude
:
0
,
// 经度
longitude
:
0
,
// 经度
...
@@ -432,7 +432,7 @@ const actions = {
...
@@ -432,7 +432,7 @@ const actions = {
if
(
item
.
mountId
===
type259
.
mountId
)
{
if
(
item
.
mountId
===
type259
.
mountId
)
{
return
{
return
{
...
item
,
...
item
,
...
type259
...
type259
,
};
};
}
}
return
item
;
return
item
;
...
@@ -507,7 +507,11 @@ const actions = {
...
@@ -507,7 +507,11 @@ const actions = {
}
else
{
}
else
{
// const posData = UAVDataParser(state.uavRealTimeData); // 这种写法在执行rollup混淆压缩后, posData对象会变成elementUI的对象,原因未知
// const posData = UAVDataParser(state.uavRealTimeData); // 这种写法在执行rollup混淆压缩后, posData对象会变成elementUI的对象,原因未知
// 更新轨迹
// 更新轨迹
let
flag
=
positions
.
some
(
val
=>
val
.
x
==
UAVDataParser
(
state
.
uavRealTimeData
).
position
.
x
&&
val
.
y
==
UAVDataParser
(
state
.
uavRealTimeData
).
position
.
y
)
let
flag
=
positions
.
some
(
(
val
)
=>
val
.
x
==
UAVDataParser
(
state
.
uavRealTimeData
).
position
.
x
&&
val
.
y
==
UAVDataParser
(
state
.
uavRealTimeData
).
position
.
y
);
if
(
!
flag
)
{
if
(
!
flag
)
{
positions
.
push
(
UAVDataParser
(
state
.
uavRealTimeData
).
position
);
positions
.
push
(
UAVDataParser
(
state
.
uavRealTimeData
).
position
);
}
}
...
@@ -700,7 +704,6 @@ const actions = {
...
@@ -700,7 +704,6 @@ const actions = {
* @param {object} data.taskInfoId //任务id
* @param {object} data.taskInfoId //任务id
*/
*/
async
takeOff
({
state
,
commit
},
data
)
{
async
takeOff
({
state
,
commit
},
data
)
{
console
.
log
(
state
.
airlineData
,
data
);
if
(
state
.
uav
.
network
==
2
)
{
if
(
state
.
uav
.
network
==
2
)
{
try
{
try
{
let
flightSortieId
;
let
flightSortieId
;
...
@@ -709,7 +712,7 @@ const actions = {
...
@@ -709,7 +712,7 @@ const actions = {
taskInfoId
:
data
.
taskInfoId
||
undefined
,
taskInfoId
:
data
.
taskInfoId
||
undefined
,
deviceId
:
state
.
uav
.
deviceId
,
deviceId
:
state
.
uav
.
deviceId
,
reouteId
:
state
.
airlineData
.
id
,
reouteId
:
state
.
airlineData
.
id
,
})
})
;
}
else
{
}
else
{
// 生成架次号
// 生成架次号
flightSortieId
=
await
TaskInfo
.
flightSortieId
({
flightSortieId
=
await
TaskInfo
.
flightSortieId
({
...
@@ -721,12 +724,12 @@ const actions = {
...
@@ -721,12 +724,12 @@ const actions = {
/* const flightSortieId = {
/* const flightSortieId = {
data: `tmj-v4-${Date.now()}`
data: `tmj-v4-${Date.now()}`
} */
} */
//
上传航线指令
//
一键任务
const
waypointList
=
state
.
airlineData
?.
content
;
const
waypointList
=
state
.
airlineData
?.
content
;
window
.
$mmc_stl
.
$store
.
dispatch
(
"MMCMQTT/publish"
,
{
window
.
$mmc_stl
.
$store
.
dispatch
(
"MMCMQTT/publish"
,
{
topic
:
"PX4/OBTAIN/"
+
state
.
uav
.
deviceId
,
topic
:
"PX4/OBTAIN/"
+
state
.
uav
.
deviceId
,
data
:
{
data
:
{
type
:
window
.
$mmc_stl
.
$store
.
state
.
MMCMQTT
.
orders
.
航线上传
,
type
:
window
.
$mmc_stl
.
$store
.
state
.
MMCMQTT
.
orders
.
一键任务
,
data
:
{
data
:
{
taskId
:
state
.
airlineData
.
id
,
taskId
:
state
.
airlineData
.
id
,
flightSortiesID
:
flightSortieId
.
data
,
flightSortiesID
:
flightSortieId
.
data
,
...
@@ -736,67 +739,74 @@ const actions = {
...
@@ -736,67 +739,74 @@ const actions = {
headingMode
:
"AUTO"
,
headingMode
:
"AUTO"
,
isExitMissionOnRCSignalLostEnabled
:
true
,
isExitMissionOnRCSignalLostEnabled
:
true
,
maxFlightSpeed
:
12
,
maxFlightSpeed
:
12
,
rallyList
:
[
{
longitude
:
diversionPointArr
[
0
],
altitude
:
diversionPointArr
[
2
],
latitude
:
diversionPointArr
[
1
],
},
},
},
],
callback
()
{
},
});
// 告诉飞控开始任务,并且把架次号和 任务id传过去
window
.
$mmc_stl
.
$store
.
dispatch
(
"MMCMQTT/publish"
,
{
topic
:
"PX4/OBTAIN/"
+
state
.
uav
.
deviceId
,
data
:
{
type
:
window
.
$mmc_stl
.
$store
.
state
.
MMCMQTT
.
orders
.
绑定任务
id
,
data
:
{
taskId
:
state
.
airlineData
.
id
,
flightSortiesID
:
flightSortieId
.
data
,
},
},
},
},
callback
()
{
},
callback
()
{},
});
});
// // 告诉飞控开始任务,并且把架次号和 任务id传过去
// window.$mmc_stl.$store.dispatch("MMCMQTT/publish", {
// topic: "PX4/OBTAIN/" + state.uav.deviceId,
// data: {
// type: window.$mmc_stl.$store.state.MMCMQTT.orders.绑定任务id,
// data: {
// taskId: state.airlineData.id,
// flightSortiesID: flightSortieId.data,
// },
// },
// callback() {},
// });
// 起飞指令
// 起飞指令
commit
(
"setState"
,
{
//
commit("setState", {
key
:
"waitAirlineUpload"
,
//
key: "waitAirlineUpload",
value
:
true
,
//
value: true,
});
//
});
let
time
=
setInterval
(()
=>
{
//
let time = setInterval(() => {
if
(
state
.
uavRealTimeData
.
uploadAirline
)
{
//
if (state.uavRealTimeData.uploadAirline) {
clearInterval
(
time
);
//
clearInterval(time);
window
.
$mmc_stl
.
$store
.
dispatch
(
"MMCMQTT/publish"
,
{
//
window.$mmc_stl.$store.dispatch("MMCMQTT/publish", {
topic
:
"PX4/OBTAIN/"
+
state
.
uav
.
deviceId
,
//
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data
:
{
//
data: {
type
:
window
.
$mmc_stl
.
$store
.
state
.
MMCMQTT
.
orders
.
航线一键起飞
,
//
type: window.$mmc_stl.$store.state.MMCMQTT.orders.航线一键起飞,
data
:
{
//
data: {
taskId
:
state
.
airlineData
.
id
,
//
taskId: state.airlineData.id,
seq
:
0
,
//
seq: 0,
},
//
},
},
//
},
callback
()
{
//
callback() {
data
?.
callback
&&
data
.
callback
(
true
,
flightSortieId
.
data
);
//
data?.callback && data.callback(true, flightSortieId.data);
},
//
},
});
//
});
// 清空261数据
//
// 清空261数据
let
dataSet
=
window
.
$mmc_stl
.
$store
.
state
.
MMCMQTT
.
dataSet
;
//
let dataSet = window.$mmc_stl.$store.state.MMCMQTT.dataSet;
dataSet
[
state
.
uav
.
deviceId
][
261
]
=
null
;
//
dataSet[state.uav.deviceId][261] = null;
window
.
$mmc_stl
.
$store
.
commit
(
"MMCMQTT/setSate"
,
{
//
window.$mmc_stl.$store.commit("MMCMQTT/setSate", {
key
:
"dataSet"
,
//
key: "dataSet",
value
:
dataSet
,
//
value: dataSet,
});
//
});
commit
(
"setState"
,
{
//
commit("setState", {
key
:
"uavRealTimeData"
,
//
key: "uavRealTimeData",
value
:
{
//
value: {
...
state
.
uavRealTimeData
,
//
...state.uavRealTimeData,
uploadAirline
:
null
,
//
uploadAirline: null,
},
//
},
});
//
});
}
//
}
},
1000
);
//
}, 1000);
// 做个保险, 要是因为各种原因导致没飞起, 超过一分钟删除循环定时器
//
//
做个保险, 要是因为各种原因导致没飞起, 超过一分钟删除循环定时器
setTimeout
(()
=>
{
//
setTimeout(() => {
clearInterval
(
time
);
//
clearInterval(time);
},
60000
);
//
}, 60000);
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
"一键起飞失败"
,
e
);
console
.
log
(
"一键起飞失败"
,
e
);
data
?.
callback
&&
data
.
callback
(
false
);
data
?.
callback
&&
data
.
callback
(
false
);
...
@@ -1317,7 +1327,8 @@ const actions = {
...
@@ -1317,7 +1327,8 @@ const actions = {
window
.
$mmc_stl
.
$store
.
dispatch
(
"MMCMQTT/publish"
,
{
window
.
$mmc_stl
.
$store
.
dispatch
(
"MMCMQTT/publish"
,
{
topic
:
"PX4/OBTAIN/"
+
state
.
uav
.
deviceId
,
topic
:
"PX4/OBTAIN/"
+
state
.
uav
.
deviceId
,
data
:
{
data
:
{
type
:
window
.
$mmc_stl
.
$store
.
state
.
MMCMQTT
.
orders
.
云台控制指令
can
包透传
,
type
:
window
.
$mmc_stl
.
$store
.
state
.
MMCMQTT
.
orders
.
云台控制指令
can
包透传
,
data
:
{
data
:
{
mountId
:
data
.
mountId
,
mountId
:
data
.
mountId
,
payload
:
data
.
buffer
,
payload
:
data
.
buffer
,
...
@@ -1376,7 +1387,7 @@ const actions = {
...
@@ -1376,7 +1387,7 @@ const actions = {
type
:
window
.
$mmc_stl
.
$store
.
state
.
MMCMQTT
.
orders
.
链路切换
,
type
:
window
.
$mmc_stl
.
$store
.
state
.
MMCMQTT
.
orders
.
链路切换
,
data
,
data
,
},
},
callback
()
{
},
callback
()
{},
});
});
},
},
// 键盘控制
// 键盘控制
...
...
src/plugins/MMCMQTT/orders.js
浏览文件 @
09ae253f
...
@@ -8,6 +8,7 @@ export default {
...
@@ -8,6 +8,7 @@ export default {
摇杆控制
:
519
,
摇杆控制
:
519
,
航线下载
:
520
,
航线下载
:
520
,
航线上传
:
521
,
航线上传
:
521
,
一键任务
:
529
,
航线一键起飞
:
522
,
航线一键起飞
:
522
,
暂停航线任务
:
523
,
暂停航线任务
:
523
,
继续航线任务
:
524
,
继续航线任务
:
524
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论