From 8b76cca764bcf32c8f8d5d1a4b59926b67f1fc20 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 25 Aug 2025 14:13:41 +0800
Subject: [PATCH] Merge branch 'feature/v5.0/5.0.4' into test
---
src/hooks/useRouteLine/useRouteLine.js | 11 ++---
src/utils/cesium/mapUtil.js | 7 +++
src/views/dataCenter/dataCenter.vue | 51 +++++++++++++------------
src/views/dataCenter/components/dataCenterMap.vue | 1
src/components/map-container/mapContainer.vue | 4 +-
5 files changed, 40 insertions(+), 34 deletions(-)
diff --git a/src/components/map-container/mapContainer.vue b/src/components/map-container/mapContainer.vue
index 7d4a24d..297350b 100644
--- a/src/components/map-container/mapContainer.vue
+++ b/src/components/map-container/mapContainer.vue
@@ -59,7 +59,7 @@
async function initMap () {
if (viewer) return
- publicCesiumInstance = new PublicCesium({ dom: 'viewer-container' })
+ publicCesiumInstance = new PublicCesium({ dom: 'viewer-container',layerMode: 4 })
viewer = publicCesiumInstance.getViewer()
initViewer(viewer)
@@ -105,7 +105,7 @@
// 定位到点位
const points = [[lng, lat]] // 确保格式为二维数组
- flyVisual({ positionsData:points, viewer })
+ flyVisual({ positionsData:points, viewer,multiple: 10 })
}
/**
diff --git a/src/hooks/useRouteLine/useRouteLine.js b/src/hooks/useRouteLine/useRouteLine.js
index 01d0b57..caefe7c 100644
--- a/src/hooks/useRouteLine/useRouteLine.js
+++ b/src/hooks/useRouteLine/useRouteLine.js
@@ -191,12 +191,11 @@
height: 50,
},
})
-
- flyVisual(
- pointList.map(i => [Number(i.longitude), Number(i.latitude), Number(i.height)]),
+ flyVisual({
+ positionsData:pointList.map(i => [Number(i.longitude), Number(i.latitude), Number(i.height)]),
viewer,
- 20
- )
+ multiple: 20
+ })
}
function removePreviewLine () {
@@ -232,4 +231,4 @@
removePreviewLine,
resetCurRouteLineData
}
-}
\ No newline at end of file
+}
diff --git a/src/utils/cesium/mapUtil.js b/src/utils/cesium/mapUtil.js
index a47dcdf..eabf803 100644
--- a/src/utils/cesium/mapUtil.js
+++ b/src/utils/cesium/mapUtil.js
@@ -409,6 +409,11 @@
export function flyVisual({ positionsData, viewer, multiple = 4, pitch = -90 }) {
if (!Array.isArray(positionsData) || positionsData.length === 0) return
+ // 如果是一个点,加两个点方便后续生成外包围盒
+ if (positionsData.length === 1){
+ const [lon,lat,height] = positionsData[0]
+ positionsData = [[lon+0.001,lat+0.001,height],[lon-0.001,lat-0.001,height],[lon,lat,height]]
+ }
const positions = positionsData.map(([lon, lat, height]) =>
Cesium.Cartesian3.fromDegrees(Number(lon), Number(lat), Number(height || 0))
)
@@ -434,7 +439,7 @@
range: boundingSphere.radius * multiple,
},
complete: () => {
- // 飞行完成后检查相机高度是否小于最高点
+ // 飞行完成后检查相机高度是否小于最高点,如果小于直接飞到最高点
const cameraHeight = Cesium.Cartographic.fromCartesian(viewer.camera.position).height
if (cameraHeight < maxHeight) {
viewer.camera.flyTo({
diff --git a/src/views/dataCenter/components/dataCenterMap.vue b/src/views/dataCenter/components/dataCenterMap.vue
index 417a42c..48932cd 100644
--- a/src/views/dataCenter/components/dataCenterMap.vue
+++ b/src/views/dataCenter/components/dataCenterMap.vue
@@ -202,6 +202,7 @@
flatMode: false,
terrain: false,
mapFilter: true,
+ layerMode: 4
});
viewer = publicCesiumInstance.getViewer();
viewerRef.value = viewer;
diff --git a/src/views/dataCenter/dataCenter.vue b/src/views/dataCenter/dataCenter.vue
index 53ed838..7b77d2d 100644
--- a/src/views/dataCenter/dataCenter.vue
+++ b/src/views/dataCenter/dataCenter.vue
@@ -13,16 +13,16 @@
@handleswitchFolders="handleswitchFolders"
@handleBack ="handleBack"
:viewDetails ="viewDetails"
-
+
></searchData>
<!-- 文件夹 -->
<div v-if="switchFolders" class="dataTable">
<el-table
-
+
class="custom-header custom-body"
v-loading="loadings"
element-loading-text=""
- :data="folderList"
+ :data="folderList"
@selection-change="foldersSelectionChange"
>
<el-table-column type="selection" width="55" />
@@ -35,17 +35,17 @@
}}
</template>
</el-table-column>
- <el-table-column property="recordName" label="任务名称" show-overflow-tooltip />
+ <el-table-column property="recordName" label="任务名称" show-overflow-tooltip />
<el-table-column property="regionName" label="所属区域">
<template #default="scope">
<span>{{scope.row.city_name ? scope.row.city_name :'--'}},{{scope.row.area_name ? scope.row.area_name :'--'}}</span>
</template>
- </el-table-column>
+ </el-table-column>
<el-table-column property="nickname" label="所属机巢" >
<template #default="scope">
<span>{{scope.row.nickname ? scope.row.nickname :'--'}}</span>
</template>
- </el-table-column>
+ </el-table-column>
<el-table-column label="操作" align="center">
<template #default="scope">
<el-button icon="el-icon-view" type="text" @click="foldersOpen(scope.row)"
@@ -57,7 +57,7 @@
</div>
<!-- 表格部分 -->
<div class="dataTable" v-else>
- <el-table
+ <el-table
border
v-loading="loadings"
element-loading-text=""
@@ -483,7 +483,7 @@
console.error('获取数据失败:', error);
})
.finally(() => {
- loadings.value = false;
+ loadings.value = false;
});
};
@@ -497,10 +497,10 @@
getJobIdsBySnApi(apiParams)
.then(res => {
folderList.value = res.data.data.records.map(i => ({ ...i, checked: false }))
- total.value = res.data.data.total
+ total.value = res.data.data.total
})
.finally(() => {
- loadings.value = false;
+ loadings.value = false;
})
}
const searchjobId = ref('')
@@ -518,7 +518,7 @@
if (switchFolders.value) {
getFolderList();
} else {
- getaiImagesPage();
+ getaiImagesPage();
}
};
// 切换文件夹
@@ -527,9 +527,9 @@
switchFolders.value = !switchFolders.value;
jobListParams.current = 1;
FolderListParams.page = 1;
-
+
searchBoxRef.value?.handleReset();
- fetchData();
+ fetchData();
};
const handleBack =()=>{
searchjobId.value = ''
@@ -537,17 +537,17 @@
viewDetails.value = false
jobListParams.current = 1;
FolderListParams.page = 1;
- fetchData();
-
+ fetchData();
+
}
const searchBoxRef = ref(null);
-
+
// 查询
const searchClick = params => {
if(switchFolders.value){
FolderListParams.page = 1;
FolderListParams.page_size = 10;
- FolderListParams.startTime = params?.startTime?.slice(0, 10);
+ FolderListParams.startTime = params?.startTime?.slice(0, 10);
FolderListParams.endTime = params?.endTime?.slice(0, 10);
FolderListParams.waylineName=params?.jobName,
FolderListParams.dockSn = params?.deviceSn
@@ -557,17 +557,17 @@
jobListParams.current = 1;
jobListParams.size = 10;
jobListParams.searchParams = {
- ...jobListParams.searchParams,
- ...params
+ ...jobListParams.searchParams,
+ ...params
};
getaiImagesPage()
}
};
const handleSizeChange = (val) => {
if (switchFolders.value) {
- FolderListParams.page_size = val;
+ FolderListParams.page_size = val;
} else {
- jobListParams.size = val;
+ jobListParams.size = val;
}
fetchData();
};
@@ -594,7 +594,7 @@
folderList.value.forEach(item => {
item.checked = val.some(foldersselected => foldersselected.id === item.id);
});
- foldersSelectedRows.value = val;
+ foldersSelectedRows.value = val;
}
// 删除
const deleteDetail = val => {
@@ -771,6 +771,7 @@
flatMode: false,
terrain: false,
mapFilter: true,
+ layerMode: 4
});
viewer = viewInstance.value.getViewer();
viewerRef.value = viewer;
@@ -950,7 +951,7 @@
img {
width: 111px;
height: 111px;
-
+
}
.el-checkbox {
@@ -974,7 +975,7 @@
font-size: 14px;
color: #ffffff;
line-height: 23px;
-
+
display: flex;
align-items: center;
justify-content: space-between;
@@ -1155,4 +1156,4 @@
}
}
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3