feat:update

This commit is contained in:
wangxueshen 2026-01-28 14:32:29 +08:00
parent aeaab62a09
commit 1d043819b4
5 changed files with 459 additions and 446 deletions

View File

@ -1145,6 +1145,13 @@ export default {
theViewerTools.destroy()
theViewerTools = null
}
this.taskList.data.forEach(el => {
if (el.check) {
this.removeTaskTarget(el.id)
el.check = false
}
})
theViewerTools = new AreaPlotManager(viewer)
theViewerTools.initPlot(this.theCallback)
console.log('船舰了吗', theViewerTools)
@ -1152,8 +1159,8 @@ export default {
resetForm() {
this.taskForm.show = false
this.taskForm.visible = false
// this.taskForm.show = false
// this.taskForm.visible = false
this.removeAllAirline()
this.removePreviewLine()
this.form = {
@ -1190,8 +1197,8 @@ export default {
// TODO 临时
this.onLoaderTypeChange('SAR')
this.$nextTick(() => {
this.taskForm.visible = true
this.taskForm.show = true
// this.taskForm.visible = true
// this.taskForm.show = true
if (theViewerTools) {
theViewerTools.destroy()
theViewerTools = null

View File

@ -54,15 +54,6 @@
<div class="task-time">{{ item.beginTime }}</div>
</div>
<div class="right-part">
<!-- <i class="el-icon-edit-outline edit-task" @click.stop="editTask(item)"></i>-->
<!-- <el-tooltip-->
<!-- effect="dark"-->
<!-- content="重新执行"-->
<!-- placement="right"-->
<!-- >-->
<!-- <i class="ri-repeat-line" @click.stop="reRunTask(item)"></i>-->
<!-- </el-tooltip>-->
<el-tooltip
effect="dark"
:content="item.check ? '隐藏' : '显示'"
@ -84,6 +75,17 @@
@click.stop="makeTaskUavFly(item, index)"
></i>
</el-tooltip>
<el-tooltip
effect="dark"
content="重新执行"
placement="top"
v-if="item.status === 2"
>
<i
class="ri-restart-line"
@click.stop="reRunTask(item, index)"
></i>
</el-tooltip>
<el-dropdown
@command="handleCommand($event, item)"
placement="bottom"

View File

@ -92,12 +92,12 @@ export default {
taskList: {
visible: true,
data: [
{
status: 1,
name: '巡查任务',
statusName: '巡查中',
beginTime: '2026-01-23 12:14:45'
}
// {
// status: 1,
// name: '巡查任务',
// statusName: '巡查中',
// beginTime: '2026-01-23 12:14:45'
// }
]
},
weatherInfo2: {
@ -576,431 +576,431 @@ export default {
return '#336dff'
}
},
startTest() {
let testHeight = 1000
window.detectType = {
1: '车'
}
let task = [
{
id: 1,
name: '测试任务',
status: 1,
statusName: '执行中',
check: true,
beginTime: moment().format('YYYY-MM-DD HH:mm:ss'),
pointList: [
[
{
longitude: 115.915457,
latitude: 40.359459,
},
{
longitude: 115.915457,
latitude: 40.358999,
},
{
longitude: 115.915874,
latitude: 40.358999,
},
{
longitude: 115.915874,
latitude: 40.359459,
}
],
[
{
longitude: 115.915457,
latitude: 40.355459
},
]
],
uavList: [
{
jobId: 1,
uavId: 2,
uavName: '无人机1',
airlineList: [
{
startLon: 115.917609,
startLat: 40.359843,
startHeight: testHeight,
endLon: 115.917609,
endLat: 40.357843,
endHeight: testHeight,
id: 1
},
{
startLon: 115.919609,
startLat: 40.359843,
startHeight: testHeight,
endLon: 115.919609,
endLat: 40.357843,
endHeight: testHeight,
id: 2
}
],
trailList: [
{
longitude: 115.917609,
latitude: 40.359843,
height: testHeight
},
{
longitude: 115.918609,
latitude: 40.359843,
height: testHeight
},
{
longitude: 115.919609,
latitude: 40.357843,
height: testHeight
}
],
startLon: 115.917609,
startLat: 40.359843,
startHeight: testHeight,
payloadList: [
{
payloadId: 1,
payloadName: 'sar',
imageList: [
{
left1Lon: 115.917609,
left1Lat: 40.359843,
left2Lon: 115.917609,
left2Lat: 40.358843,
right2Lon: 115.918609,
right2Lat: 40.358843,
right1Lon: 115.918609,
right1Lat: 40.359843,
fileId: 1,
id: 1,
relativePath: '1.png',
itemList: [
{
id: 2,
left1Lon: 115.917609,
left1Lat: 40.359843,
left2Lon: 115.917609,
left2Lat: 40.358843,
right2Lon: 115.918609,
right2Lat: 40.358843,
right1Lon: 115.918609,
right1Lat: 40.359843,
type: 1,
},
{
id: 4,
left1Lon: 115.916609,
left1Lat: 40.359143,
left2Lon: 115.916609,
left2Lat: 40.358943,
right2Lon: 115.918509,
right2Lat: 40.358943,
right1Lon: 115.918509,
right1Lat: 40.359143,
type: 1,
}
]
},
{
left1Lon: 115.919609,
left1Lat: 40.359843,
left2Lon: 115.919609,
left2Lat: 40.358843,
right2Lon: 115.920609,
right2Lat: 40.358843,
right1Lon: 115.920609,
right1Lat: 40.359843,
fileId: 2,
relativePath: '1.png',
itemList: [
{
id: 5,
left1Lon: 115.919609,
left1Lat: 40.359843,
left2Lon: 115.919609,
left2Lat: 40.358843,
right2Lon: 115.920609,
right2Lat: 40.358843,
right1Lon: 115.920609,
right1Lat: 40.359843,
type: 1,
},
{
id: 6,
left1Lon: 115.918609,
left1Lat: 40.359143,
left2Lon: 115.918609,
left2Lat: 40.358943,
right2Lon: 115.920509,
right2Lat: 40.358943,
right1Lon: 115.920509,
right1Lat: 40.359143,
type: 1,
}
]
}
],
}
]
}
]
},
{
id: 2,
name: '测试任务2',
status: 2,
check: false,
statusName: '已完成',
beginTime: moment().format('YYYY-MM-DD HH:mm:ss'),
pointList: [
[
{
longitude: 115.905457,
latitude: 40.359459
},
{
longitude: 115.905457,
latitude: 40.358999
},
{
longitude: 115.905874,
latitude: 40.358999
},
{
longitude: 115.905874,
latitude: 40.359459
}
],
[
{
longitude: 115.905457,
latitude: 40.355459
},
]
],
uavList: [
{
jobId: 2,
uavId: 3,
// startTest() {
// let testHeight = 1000
// window.detectType = {
// 1: '车'
// }
// let task = [
// {
// id: 1,
// name: '测试任务',
// status: 1,
// statusName: '执行中',
// check: true,
// beginTime: moment().format('YYYY-MM-DD HH:mm:ss'),
// pointList: [
// [
// {
// longitude: 115.915457,
// latitude: 40.359459,
// },
// {
// longitude: 115.915457,
// latitude: 40.358999,
// },
// {
// longitude: 115.915874,
// latitude: 40.358999,
// },
// {
// longitude: 115.915874,
// latitude: 40.359459,
// }
// ],
// [
// {
// longitude: 115.915457,
// latitude: 40.355459
// },
// ]
// ],
// uavList: [
// {
// jobId: 1,
// uavId: 2,
// uavName: '无人机1',
// airlineList: [
// {
// startLon: 115.917609,
// startLat: 40.359843,
// startHeight: testHeight,
// endLon: 115.917609,
// endLat: 40.357843,
// endHeight: testHeight,
// id: 1
// },
// {
// startLon: 115.919609,
// startLat: 40.359843,
// startHeight: testHeight,
// endLon: 115.919609,
// endLat: 40.357843,
// endHeight: testHeight,
// id: 2
// }
// ],
// trailList: [
// {
// longitude: 115.917609,
// latitude: 40.359843,
// height: testHeight
// },
// {
// longitude: 115.918609,
// latitude: 40.359843,
// height: testHeight
// },
// {
// longitude: 115.919609,
// latitude: 40.357843,
// height: testHeight
// }
// ],
// startLon: 115.917609,
// startLat: 40.359843,
// startHeight: testHeight,
// payloadList: [
// {
// payloadId: 1,
// payloadName: 'sar',
// imageList: [
// {
// left1Lon: 115.917609,
// left1Lat: 40.359843,
// left2Lon: 115.917609,
// left2Lat: 40.358843,
// right2Lon: 115.918609,
// right2Lat: 40.358843,
// right1Lon: 115.918609,
// right1Lat: 40.359843,
// fileId: 1,
// id: 1,
// relativePath: '1.png',
// itemList: [
// {
// id: 2,
// left1Lon: 115.917609,
// left1Lat: 40.359843,
// left2Lon: 115.917609,
// left2Lat: 40.358843,
// right2Lon: 115.918609,
// right2Lat: 40.358843,
// right1Lon: 115.918609,
// right1Lat: 40.359843,
// type: 1,
// },
// {
// id: 4,
// left1Lon: 115.916609,
// left1Lat: 40.359143,
// left2Lon: 115.916609,
// left2Lat: 40.358943,
// right2Lon: 115.918509,
// right2Lat: 40.358943,
// right1Lon: 115.918509,
// right1Lat: 40.359143,
// type: 1,
// }
// ]
// },
// {
// left1Lon: 115.919609,
// left1Lat: 40.359843,
// left2Lon: 115.919609,
// left2Lat: 40.358843,
// right2Lon: 115.920609,
// right2Lat: 40.358843,
// right1Lon: 115.920609,
// right1Lat: 40.359843,
// fileId: 2,
// relativePath: '1.png',
// itemList: [
// {
// id: 5,
// left1Lon: 115.919609,
// left1Lat: 40.359843,
// left2Lon: 115.919609,
// left2Lat: 40.358843,
// right2Lon: 115.920609,
// right2Lat: 40.358843,
// right1Lon: 115.920609,
// right1Lat: 40.359843,
// type: 1,
// },
// {
// id: 6,
// left1Lon: 115.918609,
// left1Lat: 40.359143,
// left2Lon: 115.918609,
// left2Lat: 40.358943,
// right2Lon: 115.920509,
// right2Lat: 40.358943,
// right1Lon: 115.920509,
// right1Lat: 40.359143,
// type: 1,
// }
// ]
// }
// ],
// }
// ]
// }
// ]
// },
// {
// id: 2,
// name: '测试任务2',
// status: 2,
// check: false,
// statusName: '已完成',
// beginTime: moment().format('YYYY-MM-DD HH:mm:ss'),
// pointList: [
// [
// {
// longitude: 115.905457,
// latitude: 40.359459
// },
// {
// longitude: 115.905457,
// latitude: 40.358999
// },
// {
// longitude: 115.905874,
// latitude: 40.358999
// },
// {
// longitude: 115.905874,
// latitude: 40.359459
// }
// ],
// [
// {
// longitude: 115.905457,
// latitude: 40.355459
// },
// ]
// ],
// uavList: [
// {
// jobId: 2,
// uavId: 3,
uavName: '无人机1',
airlineList: [
{
startLon: 115.907609,
startLat: 40.359843,
startHeight: testHeight,
endLon: 115.917609,
endLat: 40.357843,
endHeight: testHeight,
id: 1
},
{
startLon: 115.909609,
startLat: 40.359843,
startHeight: testHeight,
endLon: 115.919609,
endLat: 40.357843,
endHeight: testHeight,
id: 2
}
],
trailList: [
{
longitude: 115.907609,
latitude: 40.359843,
height: testHeight
},
{
longitude: 115.906609,
latitude: 40.359843,
height: testHeight
},
{
longitude: 115.905609,
latitude: 40.357843,
height: testHeight
}
],
startLon: 115.907609,
startLat: 40.359843,
startHeight: testHeight,
payloadList: [
{
payloadId: 1,
payloadName: 'sar',
imageList: [
{
left1Lon: 115.907609,
left1Lat: 40.359843,
left2Lon: 115.907609,
left2Lat: 40.358843,
right2Lon: 115.908609,
right2Lat: 40.358843,
right1Lon: 115.908609,
right1Lat: 40.359843,
fileId: 1,
relativePath: '1.png',
itemList: [
{
id: 1,
left1Lon: 115.917609,
left1Lat: 40.359843,
left2Lon: 115.917609,
left2Lat: 40.358843,
right2Lon: 115.918609,
right2Lat: 40.358843,
right1Lon: 115.918609,
right1Lat: 40.359843,
type: 1,
},
{
id: 2,
left1Lon: 115.916609,
left1Lat: 40.359143,
left2Lon: 115.916609,
left2Lat: 40.358943,
right2Lon: 115.918509,
right2Lat: 40.358943,
right1Lon: 115.918509,
right1Lat: 40.359143,
type: 1,
}
]
},
{
left1Lon: 115.909609,
left1Lat: 40.359843,
left2Lon: 115.909609,
left2Lat: 40.358843,
right2Lon: 115.910609,
right2Lat: 40.358843,
right1Lon: 115.910609,
right1Lat: 40.359843,
fileId: 2,
relativePath: '1.png',
itemList: [
{
id: 1,
left1Lon: 115.909609,
left1Lat: 40.359843,
left2Lon: 115.909609,
left2Lat: 40.358843,
right2Lon: 115.910609,
right2Lat: 40.358843,
right1Lon: 115.910609,
right1Lat: 40.359843,
type: 1,
},
{
id: 2,
left1Lon: 115.908609,
left1Lat: 40.359143,
left2Lon: 115.908609,
left2Lat: 40.358943,
right2Lon: 115.910509,
right2Lat: 40.358943,
right1Lon: 115.910509,
right1Lat: 40.359143,
type: 1,
}
]
}
],
}
]
}
]
}
]
this.taskList.data = task
task.forEach(item => {
// 测试
if (item.status === 1) {
this.addUavToScene(item)
this.addTaskPlanArea(item.pointList, item.id)
}
})
// uavName: '无人机1',
// airlineList: [
// {
// startLon: 115.907609,
// startLat: 40.359843,
// startHeight: testHeight,
// endLon: 115.917609,
// endLat: 40.357843,
// endHeight: testHeight,
// id: 1
// },
// {
// startLon: 115.909609,
// startLat: 40.359843,
// startHeight: testHeight,
// endLon: 115.919609,
// endLat: 40.357843,
// endHeight: testHeight,
// id: 2
// }
// ],
// trailList: [
// {
// longitude: 115.907609,
// latitude: 40.359843,
// height: testHeight
// },
// {
// longitude: 115.906609,
// latitude: 40.359843,
// height: testHeight
// },
// {
// longitude: 115.905609,
// latitude: 40.357843,
// height: testHeight
// }
// ],
// startLon: 115.907609,
// startLat: 40.359843,
// startHeight: testHeight,
// payloadList: [
// {
// payloadId: 1,
// payloadName: 'sar',
// imageList: [
// {
// left1Lon: 115.907609,
// left1Lat: 40.359843,
// left2Lon: 115.907609,
// left2Lat: 40.358843,
// right2Lon: 115.908609,
// right2Lat: 40.358843,
// right1Lon: 115.908609,
// right1Lat: 40.359843,
// fileId: 1,
// relativePath: '1.png',
// itemList: [
// {
// id: 1,
// left1Lon: 115.917609,
// left1Lat: 40.359843,
// left2Lon: 115.917609,
// left2Lat: 40.358843,
// right2Lon: 115.918609,
// right2Lat: 40.358843,
// right1Lon: 115.918609,
// right1Lat: 40.359843,
// type: 1,
// },
// {
// id: 2,
// left1Lon: 115.916609,
// left1Lat: 40.359143,
// left2Lon: 115.916609,
// left2Lat: 40.358943,
// right2Lon: 115.918509,
// right2Lat: 40.358943,
// right1Lon: 115.918509,
// right1Lat: 40.359143,
// type: 1,
// }
// ]
// },
// {
// left1Lon: 115.909609,
// left1Lat: 40.359843,
// left2Lon: 115.909609,
// left2Lat: 40.358843,
// right2Lon: 115.910609,
// right2Lat: 40.358843,
// right1Lon: 115.910609,
// right1Lat: 40.359843,
// fileId: 2,
// relativePath: '1.png',
// itemList: [
// {
// id: 1,
// left1Lon: 115.909609,
// left1Lat: 40.359843,
// left2Lon: 115.909609,
// left2Lat: 40.358843,
// right2Lon: 115.910609,
// right2Lat: 40.358843,
// right1Lon: 115.910609,
// right1Lat: 40.359843,
// type: 1,
// },
// {
// id: 2,
// left1Lon: 115.908609,
// left1Lat: 40.359143,
// left2Lon: 115.908609,
// left2Lat: 40.358943,
// right2Lon: 115.910509,
// right2Lat: 40.358943,
// right1Lon: 115.910509,
// right1Lat: 40.359143,
// type: 1,
// }
// ]
// }
// ],
// }
// ]
// }
// ]
// }
// ]
// this.taskList.data = task
// task.forEach(item => {
// // 测试
// if (item.status === 1) {
// this.addUavToScene(item)
// this.addTaskPlanArea(item.pointList, item.id)
// }
// })
let initPosition = [115.919609, 40.357843, testHeight]
// 测试推送
setInterval(() => {
initPosition[0] += 0.001
initPosition[1] += 0.001
let body = [{
jobId: 1,
uavId: 2,
longitude: initPosition[0],
latitude: initPosition[1],
height: initPosition[2],
payloadList: [
{
longitude: initPosition[0],
latitude: initPosition[1],
altitude: initPosition[2],
}
]
}]
this.handleWebsocketStatus({ body: JSON.stringify(body) })
// let initPosition = [115.919609, 40.357843, testHeight]
// // 测试推送
// setInterval(() => {
// initPosition[0] += 0.001
// initPosition[1] += 0.001
// let body = [{
// jobId: 1,
// uavId: 2,
// longitude: initPosition[0],
// latitude: initPosition[1],
// height: initPosition[2],
// payloadList: [
// {
// longitude: initPosition[0],
// latitude: initPosition[1],
// altitude: initPosition[2],
// }
// ]
// }]
// this.handleWebsocketStatus({ body: JSON.stringify(body) })
}, 4000)
// }, 4000)
let initPic = {
left1Lon: 115.917609,
left1Lat: 40.359843,
left2Lon: 115.917609,
left2Lat: 40.358843,
right2Lon: 115.918609,
right2Lat: 40.358843,
right1Lon: 115.918609,
right1Lat: 40.359843,
fileId: 4,
id: 1,
jobId: 1,
payloadId: 1,
uavId: 2,
relativePath: '1.png',
itemList: [
{
id: 9,
left1Lon: 115.917609,
left1Lat: 40.359843,
left2Lon: 115.917609,
left2Lat: 40.358843,
right2Lon: 115.918609,
right2Lat: 40.358843,
right1Lon: 115.918609,
right1Lat: 40.359843,
type: 1,
},
]
}
setInterval(() => {
initPic.left1Lon += 0.001
initPic.left1Lat += 0.001
initPic.left2Lon += 0.001
initPic.left2Lat += 0.001
initPic.right2Lon += 0.001
initPic.right2Lat += 0.001
initPic.right1Lon += 0.001
initPic.right1Lat += 0.001
initPic.fileId += 1
initPic.itemList.forEach(item => {
item.left1Lon += 0.001
item.left1Lat += 0.001
item.left2Lon += 0.001
item.left2Lat += 0.001
item.right2Lon += 0.001
item.right2Lat += 0.001
item.right1Lon += 0.001
item.right1Lat += 0.001
item.id += 1
})
this.handleWebsocketImage({ body: JSON.stringify(initPic) })
}, 6000)
},
// let initPic = {
// left1Lon: 115.917609,
// left1Lat: 40.359843,
// left2Lon: 115.917609,
// left2Lat: 40.358843,
// right2Lon: 115.918609,
// right2Lat: 40.358843,
// right1Lon: 115.918609,
// right1Lat: 40.359843,
// fileId: 4,
// id: 1,
// jobId: 1,
// payloadId: 1,
// uavId: 2,
// relativePath: '1.png',
// itemList: [
// {
// id: 9,
// left1Lon: 115.917609,
// left1Lat: 40.359843,
// left2Lon: 115.917609,
// left2Lat: 40.358843,
// right2Lon: 115.918609,
// right2Lat: 40.358843,
// right1Lon: 115.918609,
// right1Lat: 40.359843,
// type: 1,
// },
// ]
// }
// setInterval(() => {
// initPic.left1Lon += 0.001
// initPic.left1Lat += 0.001
// initPic.left2Lon += 0.001
// initPic.left2Lat += 0.001
// initPic.right2Lon += 0.001
// initPic.right2Lat += 0.001
// initPic.right1Lon += 0.001
// initPic.right1Lat += 0.001
// initPic.fileId += 1
// initPic.itemList.forEach(item => {
// item.left1Lon += 0.001
// item.left1Lat += 0.001
// item.left2Lon += 0.001
// item.left2Lat += 0.001
// item.right2Lon += 0.001
// item.right2Lat += 0.001
// item.right1Lon += 0.001
// item.right1Lat += 0.001
// item.id += 1
// })
// this.handleWebsocketImage({ body: JSON.stringify(initPic) })
// }, 6000)
// },
// 工具栏操作
toggleTools(tool) {
tool.active = !tool.active
@ -1078,7 +1078,8 @@ export default {
let data = res.data.data
let list = []
data.forEach(item => {
item.check = item.status === 1 || item.status === 3
// item.check = item.status === 1 || item.status === 3
item.check = false
item.statusName = this.jobStatus[item.status + '']
// TODO 临时设置
item.uavList.forEach(child => {
@ -1101,8 +1102,8 @@ export default {
// item.pointList = [item.pointList]
if (item.status === 1 || item.status === 3) {
// this.addJobLine(item, false)
this.addUavToScene(item)
this.addTaskPlanArea(item.pointList, item.id, item.name)
// this.addUavToScene(item)
// this.addTaskPlanArea(item.pointList, item.id, item.name)
}
// 测试
// this.addUavToScene(item)

View File

@ -125,7 +125,7 @@
@click.stop="stopTask(item, index)"
></i>
</el-tooltip>
<el-tooltip
<!-- <el-tooltip
effect="dark"
content="重新执行"
placement="top"
@ -135,7 +135,7 @@
class="ri-restart-line"
@click.stop="reRunTask(item, index)"
></i>
</el-tooltip>
</el-tooltip> -->
</div>
</div>
</template>

View File

@ -16,7 +16,10 @@ export default class UavTarget {
this.startAltitude = options.startAltitude
this.addPlanLine(options.airlineList)
// this.addUav(options.airlineList)
console.log(options, '飞机数据');
if (options.startLon) {
this.addUav(options)
}
this.addUavLoader(options.payloadList)
}
addUav(info) {