修复飞行模式切换后,gis得状态
This commit is contained in:
parent
0708d800e2
commit
a605ae2f3e
|
|
@ -96,7 +96,7 @@ export async function getAirWayPointsToJson2(url) {
|
|||
}
|
||||
arr.shift()
|
||||
arr.pop()
|
||||
console.log(arr)
|
||||
// console.log(arr)
|
||||
|
||||
arr = arr.map((text) => {
|
||||
return text.split(/\s+/)
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ const airPortSocketStore = useAirPortSocketStore()
|
|||
let size1Img = ref(new URL(`@/assets/icons/size1active.png`, import.meta.url).href)
|
||||
let size2Img = ref(new URL(`@/assets/icons/size2.png`, import.meta.url).href)
|
||||
let viewMode = ref(1) //1-1/4方式 2-对半方式
|
||||
let littleViewMode = ref(2) //1-舱外视频 2-舱内视频 3-无人机视频
|
||||
let littleViewModeName = ref('舱内画面')
|
||||
let littleViewMode = ref(1) //1-舱外视频 2-舱内视频 3-无人机视频
|
||||
let littleViewModeName = ref('舱外画面')
|
||||
|
||||
import img_default from '@/assets/icons/state1.png'
|
||||
import img_touch from '@/assets/icons/state2.png'
|
||||
|
|
@ -43,7 +43,7 @@ let planeStateList = reactive({
|
|||
value: '0',
|
||||
touch: false,
|
||||
content: '爬升<br>速度',
|
||||
unit: '/s',
|
||||
unit: 'm/s',
|
||||
},
|
||||
hspeed: {
|
||||
id: 2,
|
||||
|
|
@ -52,7 +52,7 @@ let planeStateList = reactive({
|
|||
value: '0',
|
||||
touch: false,
|
||||
content: '平飞<br>速度',
|
||||
unit: '/s',
|
||||
unit: 'm/s',
|
||||
},
|
||||
distToHome: {
|
||||
id: 3,
|
||||
|
|
|
|||
|
|
@ -95,6 +95,23 @@ const switchViewFn = (viewPrecent) => {
|
|||
}
|
||||
sendGisMessage(params)
|
||||
}
|
||||
//gis底部工具栏得高度
|
||||
const changeGisToolHeight = () => {
|
||||
let bottomPlane = document.getElementById('bottomPlane')
|
||||
if (bottomPlane) {
|
||||
//获取高度
|
||||
let height = bottomPlane.clientHeight
|
||||
let t = {
|
||||
toolbarStartY: height,
|
||||
}
|
||||
sendGisMessage(t)
|
||||
} else {
|
||||
let t = {
|
||||
toolbarStartY: 0,
|
||||
}
|
||||
sendGisMessage(t)
|
||||
}
|
||||
}
|
||||
//底部切换小屏和大屏的视频
|
||||
const bottom_switchScreenVideo = (smallVideoType) => {
|
||||
big_area_showType.value = smallVideoType
|
||||
|
|
@ -113,7 +130,7 @@ const queryAirLine_AirPort = async () => {
|
|||
currentAirPortInfo.value = res[0].value.data[0]
|
||||
if (!currentAirPortInfo.value.online) {
|
||||
//强制退出
|
||||
window.close()
|
||||
// window.close()
|
||||
}
|
||||
airPortSocketStore.ceurrentAirPortData = currentAirPortInfo.value
|
||||
|
||||
|
|
@ -122,14 +139,17 @@ const queryAirLine_AirPort = async () => {
|
|||
//机场当前状态
|
||||
if (currentAirPortStatus.value != Number(currentAirPortInfo.value.status)) {
|
||||
currentAirPortStatus.value = Number(currentAirPortInfo.value.status)
|
||||
console.log(
|
||||
'现在的状态是:',
|
||||
currentAirPortStatus.value,
|
||||
statusList[currentAirPortStatus.value],
|
||||
)
|
||||
// console.log(
|
||||
// '现在的状态是:',
|
||||
// currentAirPortStatus.value,
|
||||
// statusList[currentAirPortStatus.value],
|
||||
// )
|
||||
|
||||
//机场当前状态
|
||||
if (Number(currentAirPortInfo.value.status) == 2) {
|
||||
if (
|
||||
Number(currentAirPortInfo.value.status) == 2 ||
|
||||
Number(currentAirPortInfo.value.status) == 3
|
||||
) {
|
||||
//飞行中 请求航线文件
|
||||
queryAirLine(currentAirPortInfo.value.fileUrl)
|
||||
} else {
|
||||
|
|
@ -190,38 +210,41 @@ const queryAirPort = async () => {
|
|||
let params = {
|
||||
airportId: window.iframe_AirPortID,
|
||||
}
|
||||
console.log(params)
|
||||
// console.log(params)
|
||||
|
||||
let res = await queryAirportApi(params)
|
||||
if (res.code == 0) {
|
||||
currentAirPortInfo.value = res.data[0]
|
||||
if (!currentAirPortInfo.value.online) {
|
||||
//强制退出
|
||||
window.close()
|
||||
// window.close()
|
||||
}
|
||||
airPortSocketStore.ceurrentAirPortData = currentAirPortInfo.value
|
||||
|
||||
// console.log(currentAirPortInfo.value)
|
||||
|
||||
//currentAirPortInfo.value.status = 2
|
||||
// currentAirPortInfo.value.status = 1
|
||||
|
||||
if (currentAirPortStatus.value != Number(currentAirPortInfo.value.status)) {
|
||||
currentAirPortStatus.value = Number(currentAirPortInfo.value.status)
|
||||
console.log(
|
||||
'现在的状态是:',
|
||||
currentAirPortStatus.value,
|
||||
statusList[currentAirPortStatus.value],
|
||||
)
|
||||
// console.log(
|
||||
// '现在的状态是:',
|
||||
// currentAirPortStatus.value,
|
||||
// statusList[currentAirPortStatus.value],
|
||||
// )
|
||||
|
||||
//机场当前状态
|
||||
if (Number(currentAirPortInfo.value.status) == 2) {
|
||||
if (
|
||||
Number(currentAirPortInfo.value.status) == 2 ||
|
||||
Number(currentAirPortInfo.value.status) == 3
|
||||
) {
|
||||
//飞行中 请求航线文件
|
||||
queryAirLine(currentAirPortInfo.value.fileUrl)
|
||||
}
|
||||
|
||||
resetScreen()
|
||||
}
|
||||
console.log('现在的状态是:', currentAirPortStatus.value, statusList[currentAirPortStatus.value])
|
||||
// console.log('现在的状态是:', currentAirPortStatus.value, statusList[currentAirPortStatus.value])
|
||||
}
|
||||
//轮询
|
||||
setTimeout(() => {
|
||||
|
|
@ -232,7 +255,7 @@ const queryAirPort = async () => {
|
|||
const queryAirLine = async (fileUrl) => {
|
||||
//请求航线数据
|
||||
let resultWayPoint = await getAirWayPointsToJson2(fileUrl)
|
||||
console.log(resultWayPoint)
|
||||
// console.log(resultWayPoint)
|
||||
//地图数据
|
||||
iframeData = {
|
||||
airportName: currentAirPortInfo.value.name,
|
||||
|
|
@ -243,30 +266,6 @@ const queryAirLine = async (fileUrl) => {
|
|||
flyPath: resultWayPoint,
|
||||
coverage: currentAirPortInfo.value.coverage,
|
||||
}
|
||||
|
||||
//下面是以前的
|
||||
// let params = {
|
||||
// airportId: window.iframe_AirPortID, //67 1011
|
||||
// }
|
||||
// let res = await queryAirLineApi(params)
|
||||
|
||||
// if (res.code == 0) {
|
||||
// //航线文件
|
||||
// let airLineInfo = res.data
|
||||
// //请求航线数据
|
||||
// let resultWayPoint = await getAirWayPointsToJson(airLineInfo.fileUrl)
|
||||
|
||||
// //地图数据
|
||||
// iframeData = {
|
||||
// airportName: currentAirPortInfo.value.name,
|
||||
// airportLocation: {
|
||||
// lon: currentAirPortInfo.value.longitude,
|
||||
// lat: currentAirPortInfo.value.latitude,
|
||||
// },
|
||||
// flyPath: resultWayPoint,
|
||||
// coverage: currentAirPortInfo.value.coverage,
|
||||
// }
|
||||
// }
|
||||
}
|
||||
//获取天气
|
||||
// const getweatherFn = async () => {
|
||||
|
|
@ -310,8 +309,8 @@ const socketFn = (workParams) => {
|
|||
const iframeLoaded = (iframeContent) => {
|
||||
setTimeout(() => {
|
||||
map_iframeContent = iframeContent
|
||||
console.log('iframeData:')
|
||||
console.log(iframeData)
|
||||
// console.log('iframeData:')
|
||||
// console.log(iframeData)
|
||||
|
||||
//必须等待数值
|
||||
let tempTime = null
|
||||
|
|
@ -319,9 +318,15 @@ const iframeLoaded = (iframeContent) => {
|
|||
if (iframeData) {
|
||||
clearInterval(tempTime)
|
||||
let data = JSON.stringify(iframeData)
|
||||
console.log('向gis发送数据....................................')
|
||||
console.log(data)
|
||||
// console.log('向gis发送数据....................................')
|
||||
// console.log(data)
|
||||
iframeContent.postMessage(data, '*')
|
||||
|
||||
//如果是飞行中
|
||||
if (currentAirPortInfo.value.status == 2) {
|
||||
//gis底部工具栏得高度
|
||||
changeGisToolHeight()
|
||||
}
|
||||
}
|
||||
}, 50)
|
||||
}, 0)
|
||||
|
|
@ -354,9 +359,21 @@ const sendPosToPlane = (socketData) => {
|
|||
//给gis发送消息
|
||||
const sendGisMessage = (params) => {
|
||||
let contentWindow = document.getElementById('virturalDrive_iframe_full').contentWindow
|
||||
|
||||
let data = JSON.stringify(params)
|
||||
// console.log(data)
|
||||
console.log('...............发送给gis数据是:', data)
|
||||
contentWindow.postMessage(data, '*')
|
||||
|
||||
// let t = setInterval(() => {
|
||||
// if (document.getElementById('virturalDrive_iframe_full').hasOwnProperty('contentWindow')) {
|
||||
// contentWindow = document.getElementById('virturalDrive_iframe_full').contentWindow
|
||||
// let data = JSON.stringify(params)
|
||||
|
||||
// console.log('...............发送给gis数据是:', data)
|
||||
// contentWindow.postMessage(data, '*')
|
||||
// clearInterval(t)
|
||||
// }
|
||||
// }, 50)
|
||||
}
|
||||
|
||||
//重置screen
|
||||
|
|
@ -588,6 +605,7 @@ onMounted(() => {
|
|||
<!-- 底部面板 -->
|
||||
<div
|
||||
v-if="currentAirPortStatus == 2"
|
||||
id="bottomPlane"
|
||||
class="bottomPlane w-full lg:h-[150px] xk:h-[150px] x1k:h-[212px] x2k:h-[282px] bg-[#001626] bg-opacity-70 absolute bottom-0 left-0 z-[3]"
|
||||
>
|
||||
<bottomPlaneFlying
|
||||
|
|
|
|||
|
|
@ -23,9 +23,9 @@ let items = reactive({
|
|||
})
|
||||
|
||||
//电池百分比
|
||||
let precent = ref('-')
|
||||
let precent = ref('20')
|
||||
//电池剩余时间
|
||||
let lastTime = ref('-')
|
||||
let lastTime = ref('30')
|
||||
|
||||
const setCurrentData = (data) => {
|
||||
// console.log(data)
|
||||
|
|
@ -35,7 +35,7 @@ const setCurrentData = (data) => {
|
|||
items.temperature.value = data ? data.weather.cellTemp + '℃' : '0℃'
|
||||
|
||||
precent.value = data ? Number(data.battery) * 100 : '-'
|
||||
lastTime.value = data ? data.allflytime : '-'
|
||||
lastTime.value = data ? parseInt(data.allflytime, 10) : '-'
|
||||
}
|
||||
|
||||
const droneCommand = async (type) => {
|
||||
|
|
@ -91,7 +91,7 @@ onMounted(() => {})
|
|||
</div>
|
||||
</template>
|
||||
<div
|
||||
class="relative middlePlane w-[210px] h-[46px] mx-3 flex flex-row items-center justify-around"
|
||||
class="relative middlePlane w-[210px] h-[46px] mx-3 px-1 flex flex-row items-center justify-around"
|
||||
>
|
||||
<img src="@/assets/icons/middleplane.png" alt="" class="absolute w-full h-full z-[-1]" />
|
||||
<div
|
||||
|
|
@ -101,7 +101,7 @@ onMounted(() => {})
|
|||
</div>
|
||||
<span class="text-sm text-[#ffffff]">电池电量</span>
|
||||
<div class="lastTime text-sm font-bold">{{ precent }}%/{{ lastTime }}min</div>
|
||||
<span class="iconfont icon-xiashuangjiantou text-[#ffffff50]"></span>
|
||||
<span class="iconfont icon-xiashuangjiantou text-[#ffffff50] text-[12px]"></span>
|
||||
</div>
|
||||
</a-tooltip>
|
||||
<!-- <div class="middlePlane w-[210px] h-[46px] mx-3 flex flex-row items-center justify-around">
|
||||
|
|
|
|||
Loading…
Reference in New Issue