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

View File

@ -54,15 +54,6 @@
<div class="task-time">{{ item.beginTime }}</div> <div class="task-time">{{ item.beginTime }}</div>
</div> </div>
<div class="right-part"> <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 <el-tooltip
effect="dark" effect="dark"
:content="item.check ? '隐藏' : '显示'" :content="item.check ? '隐藏' : '显示'"
@ -84,6 +75,17 @@
@click.stop="makeTaskUavFly(item, index)" @click.stop="makeTaskUavFly(item, index)"
></i> ></i>
</el-tooltip> </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 <el-dropdown
@command="handleCommand($event, item)" @command="handleCommand($event, item)"
placement="bottom" placement="bottom"

View File

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

View File

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

View File

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