预览功能和波形展示图表提交

This commit is contained in:
wxs 2026-02-02 10:41:59 +08:00
parent 29238b0d75
commit 114d555c22
5 changed files with 25 additions and 41 deletions

View File

@ -13,7 +13,7 @@ import Card from '@/components/card/index.vue'
import Dialog from '@/components/dialog/index.vue' import Dialog from '@/components/dialog/index.vue'
import Loading from '@/components/loading/index.vue' import Loading from '@/components/loading/index.vue'
import Container from '@/components/container/index.vue' import Container from '@/components/container/index.vue'
import DtChart from 'dt-chart'
const hub = new Vue() const hub = new Vue()
@ -26,6 +26,7 @@ class AppLoader {
Vue.component('DtDialog', Dialog) Vue.component('DtDialog', Dialog)
Vue.component('DtContainer', Container) Vue.component('DtContainer', Container)
Vue.use(elementUI) Vue.use(elementUI)
Vue.use(DtChart)
Vue.use({ Vue.use({
install(Vue) { install(Vue) {
Vue.prototype.$hub = hub Vue.prototype.$hub = hub

View File

@ -22,7 +22,7 @@ export const addTaskFast = params =>
req('post', '/sar/job/save', params) req('post', '/sar/job/save', params)
// 预览任务 // 预览任务
export const previewTaskFast = params => export const previewTaskFast = params =>
req('post', '/jm/plan/airline', params) req('post', '/sar/job/preview', params)
// 编辑任务 // 编辑任务
export const editTaskFast = params => export const editTaskFast = params =>
req('post', '/sar/job/save', params) req('post', '/sar/job/save', params)

View File

@ -744,8 +744,6 @@ export default {
}) })
}, },
toggleTaskSceneShow(info, index) { toggleTaskSceneShow(info, index) {
console.log(5555555555);
if (info.check) { if (info.check) {
info.check = false; info.check = false;
taskListResource[index].check = false taskListResource[index].check = false
@ -832,7 +830,6 @@ export default {
addUavToScene(info) { addUavToScene(info) {
let arr = [] let arr = []
info.uavList.forEach(item => { info.uavList.forEach(item => {
console.log(viewer, item, 8888);
let uav = new UavTarget(viewer, item) let uav = new UavTarget(viewer, item)
arr.push(uav) arr.push(uav)
}) })
@ -1474,6 +1471,13 @@ export default {
// 删除 form.provinceValue 中的项 // 删除 form.provinceValue 中的项
this.$set(this.form, 'provinceValue', []) this.$set(this.form, 'provinceValue', [])
this.removePreviewLine() this.removePreviewLine()
// for (let key in taskUavCollection) {
// if (taskUavCollection[key]) {
// taskUavCollection[key].forEach(item => {
// item.destroy()
// })
// }
// }
// 清楚当前目标 // 清楚当前目标
if (this.form.reqType !== 3) { if (this.form.reqType !== 3) {
theViewerTools.removeByName(target.targetName) theViewerTools.removeByName(target.targetName)
@ -1979,8 +1983,6 @@ export default {
pointList.push(item.boundaryLonLat) pointList.push(item.boundaryLonLat)
} }
}) })
console.log('提交航线', params.airlineList)
let info = { let info = {
id: params.id, id: params.id,
name: params.name, name: params.name,
@ -1995,10 +1997,6 @@ export default {
uavList: [ uavList: [
{ {
uavId: params.uav, uavId: params.uav,
// startLon: params.startPoint.lon,
// startLat: params.startPoint.lat,
// endLon: params.endPoint.lon,
// endLat: params.endPoint.lat,
speed: params.initSpeed, speed: params.initSpeed,
height: params.flyHeight, height: params.flyHeight,
resolution: params.ratio, resolution: params.ratio,
@ -2028,9 +2026,7 @@ export default {
this.previewLoading = false this.previewLoading = false
if (res.data.code === 200) { if (res.data.code === 200) {
let data = res.data.data let data = res.data.data
for (let key in data) { this.addPreviewLine(data.uavList)
this.addPreviewLine(data[key], key)
}
this.$message.success('获取航线成功!') this.$message.success('获取航线成功!')
} else { } else {
this.$message.error(res.data.message) this.$message.error(res.data.message)
@ -2104,8 +2100,8 @@ export default {
} }
}) })
}, },
addPreviewLine(data, parentId) { addPreviewLine(data) {
data.forEach((item, index) => { data[0].airlineList.forEach((item, index) => {
let startPosition = DT.Cesium.Cartesian3.fromDegrees(item.startLon, item.startLat, item.startHeight) let startPosition = DT.Cesium.Cartesian3.fromDegrees(item.startLon, item.startLat, item.startHeight)
let endPosition = DT.Cesium.Cartesian3.fromDegrees(item.endLon, item.endLat, item.endHeight) let endPosition = DT.Cesium.Cartesian3.fromDegrees(item.endLon, item.endLat, item.endHeight)
let entity = viewer.entities.add({ let entity = viewer.entities.add({
@ -2113,19 +2109,23 @@ export default {
label: { label: {
text: `航线${index + 1}起点`, text: `航线${index + 1}起点`,
font: '24px', font: '24px',
showBackground: true, fillColor: DT.Cesium.Color.RED,
backgroundColor: DT.Cesium.Color.fromCssColorString('rgba(0,0,0,0.7)'),
fillColor: DT.Cesium.Color.WHITE,
horizontalOrigin: DT.Cesium.HorizontalOrigin.LEFT, horizontalOrigin: DT.Cesium.HorizontalOrigin.LEFT,
pixelOffset: this.labelPixelOffset, pixelOffset: new DT.Cesium.Cartesian2(10, -15),
disableDepthTestDistance: 20000 showBackground: true,
scaleByDistance: new DT.Cesium.NearFarScalar(0, 1, 1, 0.8),
distanceDisplayCondition: new DT.Cesium.DistanceDisplayCondition(0, 10000),
backgroundColor: DT.Cesium.Color.fromCssColorString('rgba(255,255,255,0.6)')
}, },
polyline: { polyline: {
//使用cesium的peoperty //使用cesium的peoperty
positions: [startPosition, endPosition], positions: [startPosition, endPosition],
show: true, show: true,
material: DT.Cesium.Color.LIMEGREEN, width: 2,
width: 4, zIndex: 0,
material: DT.Cesium.Color.RED,
depthFailMaterial: DT.Cesium.Color.RED,
arcType: DT.Cesium.ArcType.NONE
} }
}) })
previewEntities.push(entity) previewEntities.push(entity)

View File

@ -83,7 +83,7 @@
> >
<i <i
class="ri-restart-line" class="ri-restart-line"
@click.stop="reRunTask(item, index)" @click.stop="makeTaskUavFly(item, index)"
></i> ></i>
</el-tooltip> </el-tooltip>
<el-dropdown <el-dropdown

View File

@ -394,23 +394,6 @@
v-model="detailUav.activeNames" v-model="detailUav.activeNames"
@change="handleUavDetailCollapse" @change="handleUavDetailCollapse"
> >
<!-- <el-collapse-item title="基本信息" name="1">-->
<!-- <div class="uav-span-wrap"><span>名称</span><span>{{detailUav.basicsInfo.name}}</span></div>-->
<!-- <div class="uav-span-wrap"><span>分组</span><span>{{detailUav.basicsInfo.group}}</span></div>-->
<!-- </el-collapse-item>-->
<!-- <el-collapse-item title="任务信息" name="2">-->
<!-- <div class="target-task-item" v-for="item in detailUav.taskList" :key="item.id">-->
<!-- <div class="task-progress-bar" :style="'width: ' + item.uavCompletion +'%;'"></div>-->
<!-- <div class="task-info">-->
<!-- <i :class="item.typeIcon"></i>-->
<!-- <span class="task-name">{{ item.taskName }}</span>-->
<!-- <span :class="{ 'task-finish': item.isFinish }">{{-->
<!-- item.uavCompletionName-->
<!-- }}</span>-->
<!-- </div>-->
<!-- <div class="task-time">{{item.taskTime}}</div>-->
<!-- </div>-->
<!-- </el-collapse-item>-->
<el-collapse-item title="状态信息" name="3"> <el-collapse-item title="状态信息" name="3">
<el-tabs v-model="detailUav.activeTab"> <el-tabs v-model="detailUav.activeTab">
<el-tab-pane label="DEV" name="DEV"> <el-tab-pane label="DEV" name="DEV">