From a1770d85446d8990e4ba4239c4b7e0dcb9fe11b8 Mon Sep 17 00:00:00 2001 From: "WORK\\64751" <64751245@qq.com> Date: Tue, 26 Aug 2025 18:59:21 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=B6=E6=AE=B5=E6=80=A7=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 2 + src/apis/common.js | 8 + src/apis/droneCommand.js | 21 ++ src/assets/icons/leftplane.png | Bin 0 -> 2262 bytes src/assets/icons/rightplane.png | Bin 0 -> 2497 bytes src/main.js | 2 +- src/views/carbin/components/beforeCheck.vue | 2 +- src/views/carbin/components/flying.vue | 81 +++++-- src/views/carbin/index.vue | 255 +++++++++++++++----- src/views/carbin/toolComp/planeControl.vue | 130 +++++++++- tailwind.config.js | 3 + 11 files changed, 423 insertions(+), 81 deletions(-) create mode 100644 src/apis/droneCommand.js create mode 100644 src/assets/icons/leftplane.png create mode 100644 src/assets/icons/rightplane.png diff --git a/components.d.ts b/components.d.ts index 00620f9..3ab94f1 100644 --- a/components.d.ts +++ b/components.d.ts @@ -16,9 +16,11 @@ declare module 'vue' { APopconfirm: typeof import('ant-design-vue/es')['Popconfirm'] AProgress: typeof import('ant-design-vue/es')['Progress'] ARadio: typeof import('ant-design-vue/es')['Radio'] + ARadioButton: typeof import('ant-design-vue/es')['RadioButton'] ARadioGroup: typeof import('ant-design-vue/es')['RadioGroup'] ARow: typeof import('ant-design-vue/es')['Row'] ASpin: typeof import('ant-design-vue/es')['Spin'] + ASwitch: typeof import('ant-design-vue/es')['Switch'] ATooltip: typeof import('ant-design-vue/es')['Tooltip'] ElButton: typeof import('element-plus/es')['ElButton'] ElCol: typeof import('element-plus/es')['ElCol'] diff --git a/src/apis/common.js b/src/apis/common.js index 4912510..0bb58ec 100644 --- a/src/apis/common.js +++ b/src/apis/common.js @@ -83,3 +83,11 @@ export async function getAirWayPointsToJson(url) { return mapPointList } } +//获取天气 +export function getweatherApi(params) { + return request({ + url: `/api/airportLog/getCallback`, + method: 'get', + params: params, + }) +} diff --git a/src/apis/droneCommand.js b/src/apis/droneCommand.js new file mode 100644 index 0000000..7ca70ef --- /dev/null +++ b/src/apis/droneCommand.js @@ -0,0 +1,21 @@ +//无人机指令 +import request from '@/utils/request' +import axios from 'axios' + +//检查无人机状态 +export function checkAirportRunStatusApi(params) { + return request({ + url: `/api/airport/queryAirportRunStatus`, + method: 'get', + params: params, + }) +} + +//指令操作 +export function droneCommandExecuteApi(data) { + return request({ + url: `/api/command/droneCommandExecute`, + method: 'post', + data, + }) +} diff --git a/src/assets/icons/leftplane.png b/src/assets/icons/leftplane.png new file mode 100644 index 0000000000000000000000000000000000000000..67a886881f9f7aea90ad059012265c4b74996f8b GIT binary patch literal 2262 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 LNkvXXu0mjfc8{<@ literal 0 HcmV?d00001 diff --git a/src/main.js b/src/main.js index 5c7fc19..7221ebe 100644 --- a/src/main.js +++ b/src/main.js @@ -41,7 +41,7 @@ if (!qiankunWindow.__POWERED_BY_QIANKUN__) { id_token: 'eyJraWQiOiI3M2I5NTI0Ni02NjI2LTQ3N2YtYWFmYS1kMDJiODFhNjFkZmYiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjc2FkbWluIiwiYXVkIjoidHVvaGVuZy1haXJwb3J0LWFkbWluIiwicm9sZSI6WyJ0dW9oZW5nLWFpcnBvcnRTY3JlZW4tbXAiLCJ0dW9oZW5nLXBpbG90LW1wIiwidHVvaGVuZy13YXRlcndheS1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLW1wIiwidHVvaGVuZy1haXJwb3J0U2NyZWVuLWFkbWluIiwidHVvaGVuZy1kbXAtbXAiLCJ0dW9oZW5nLWZseXBvcnRhbC1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLWFkbWluIiwidHVvaGVuZy1oaHotYWRtaW4iLCJ0dW9oZW5nLWhoei1tcCIsInR1b2hlbmctZnJlZXdheS1hZG1pbiIsInR1b2hlbmctd2VwdHNwLW1wIiwidHVvaGVuZy1waWxvdC1hZG1pbiIsInR1b2hlbmctc3BhY2V0aW1lLWFkbWluIiwidHVvaGVuZy1hbGVydC1tcCIsInR1b2hlbmctYnVzaW5lc3MtYWRtaW4iLCJ0dW9oZW5nLWJ1c2luZXNzLW1wIiwidHVvaGVuZy13ZXB0c3AtYWRtaW4iLCJ0dW9oZW5nLWFpcm1vbml0b3ItbXAiLCJ0dW9oZW5nLWFpcnBvcnQtbXAiLCJ0dW9oZW5nLWFpcm1vbml0b3ItYWRtaW4iLCJ0dW9oZW5nLWFsZXJ0LWFkbWluIiwidHVvaGVuZy1haXJwb3J0LWFkbWluIiwidHVvaGVuZy13YXRlcndheS1tcCIsInR1b2hlbmctZnJlZXdheS1tcCIsInR1b2hlbmctZG1wLWFkbWluIiwidHVvaGVuZy1zcGFjZXRpbWUtbXAiXSwiYXpwIjoidHVvaGVuZy1haXJwb3J0LWFkbWluIiwiaXNzIjoiaHR0cHM6XC9cL2xvZ2luLXRlc3QudC1hYXJvbi5jb20iLCJleHAiOjE3NTUwNzA3MjMsImlhdCI6MTc1NTA2ODkyM30.deCJZsyu2dgLrbl-rnnoYTBhZD59zUJoLzFkadL7m_RJ_jWlvQvLXjQn2h0tuba0HRN7ZT2COVmNxTgLLATbdJU2SQ-_wVt30XwyX1hauDV1DALzdk5UiRelP2lIJlPWZKhpqMX52gYsGZXyliErbORBLMc_920vTZDHKeuiriuODXlT7__5MnKFTCGXDegZRPALY7kLwpQfL4DSn3ILeSGMIqU7dPx3kM4CV1iIJs2f2jEZT4HOzXy51o_GjCW7enY2qWERRfvsLIX8a8DPg0YvN-j3AHoUoKWYX_1ZCmD3eGHhqQbEvZsLJV2J6MlwF6eZOkz08M-mdkyU2_Trpg', access_token: - 'eyJraWQiOiI3M2I5NTI0Ni02NjI2LTQ3N2YtYWFmYS1kMDJiODFhNjFkZmYiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjc2FkbWluIiwiaXNBYmxlIjoxLCJpc3MiOiJodHRwczpcL1wvbG9naW4tdGVzdC50LWFhcm9uLmNvbSIsImF1ZCI6InR1b2hlbmctYWlycG9ydC1hZG1pbiIsIm5iZiI6MTc1NjA4MjkxNiwib1VzZXJJZCI6NTQzLCJzY29wZSI6WyJ0dW9oZW5nLWFpcnBvcnRTY3JlZW4tbXAiLCJ0dW9oZW5nLXBpbG90LW1wIiwidHVvaGVuZy13YXRlcndheS1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLW1wIiwidHVvaGVuZy1haXJwb3J0U2NyZWVuLWFkbWluIiwidHVvaGVuZy1kbXAtbXAiLCJ0dW9oZW5nLWZseXBvcnRhbC1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLWFkbWluIiwidHVvaGVuZy1oaHotYWRtaW4iLCJ0dW9oZW5nLWhoei1tcCIsInR1b2hlbmctZnJlZXdheS1hZG1pbiIsInR1b2hlbmctd2VwdHNwLW1wIiwidHVvaGVuZy1waWxvdC1hZG1pbiIsInR1b2hlbmctc3BhY2V0aW1lLWFkbWluIiwidHVvaGVuZy1hbGVydC1tcCIsInR1b2hlbmctYnVzaW5lc3MtYWRtaW4iLCJ0dW9oZW5nLWJ1c2luZXNzLW1wIiwidHVvaGVuZy13ZXB0c3AtYWRtaW4iLCJ0dW9oZW5nLWFpcm1vbml0b3ItbXAiLCJ0dW9oZW5nLWFpcnBvcnQtbXAiLCJ0dW9oZW5nLWFpcm1vbml0b3ItYWRtaW4iLCJ0dW9oZW5nLWFsZXJ0LWFkbWluIiwidHVvaGVuZy1haXJwb3J0LWFkbWluIiwidHVvaGVuZy13YXRlcndheS1tcCIsInR1b2hlbmctZnJlZXdheS1tcCIsInR1b2hlbmctZG1wLWFkbWluIiwidHVvaGVuZy1zcGFjZXRpbWUtbXAiXSwiY2xpZW50Um9sZUxpc3QiOiJbe1wiY2xpZW50SWRcIjpcInR1b2hlbmctZmx5cG9ydGFsLWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1idXNpbmVzcy1tcFwiLFwicm9sZUlkXCI6MTE0NX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYnVzaW5lc3MtYWRtaW5cIixcInJvbGVJZFwiOjExNDV9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWFpcnBvcnRTY3JlZW4tYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXNwYWNldGltZS1hZG1pblwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctc3BhY2V0aW1lLW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1oaHotYWRtaW5cIixcInJvbGVJZFwiOjEwMDN9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWhoei1tcFwiLFwicm9sZUlkXCI6MTAwM30se1wiY2xpZW50SWRcIjpcInR1b2hlbmctd2F0ZXJ3YXktYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXdhdGVyd2F5LW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1kbXAtYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWRtcC1tcFwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYWlycG9ydC1hZG1pblwiLFwicm9sZUlkXCI6NjYzfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJwb3J0LW1wXCIsXCJyb2xlSWRcIjo2NjN9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWFsZXJ0LWFkbWluXCIsXCJyb2xlSWRcIjoyN30se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYWxlcnQtbXBcIixcInJvbGVJZFwiOjI3fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJtb25pdG9yLWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJtb25pdG9yLW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy13ZXB0c3AtYWRtaW5cIixcInJvbGVJZFwiOjI1fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy13ZXB0c3AtbXBcIixcInJvbGVJZFwiOjI1fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy10ZWxlY29tdW1hbGUtYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXRlbGVjb211bWFsZS1tcFwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctcGlsb3QtbXBcIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXBpbG90LWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1mcmVld2F5LW1wXCIsXCJyb2xlSWRcIjo1OH0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctZnJlZXdheS1hZG1pblwiLFwicm9sZUlkXCI6NTh9XSIsImV4cCI6MTc1NjE2OTMxNiwiaXNFeHBpcmUiOjEsImlhdCI6MTc1NjA4MjkxNiwidXNlcm5hbWUiOiJjc2FkbWluIn0.cU4vIbNjPppa9Mvyhc5uFXcVHum8xjf-B3HTjHuI8M_smFlUsOj8WFoLkxrB0GZmX_8fspxlcXoQaQ0ukFk1jF1Eyn1upL5mKVi8y_PCZPKJzXGU-67U2pA3MMWrztGQEmmDn_zi33Qi8BiG4cqB9nfqj4cqes50Nrq_LNPCgLjAcnfnYnZss9--3-SQqD15rLT7juVj9GfBhIphtVtAXoaftsQiccEW8NXTUH49Knpw8YlhTWN4Ibi92sQ353EcCVAqZ1iDuqlX4WcT4IRRzz5y248Bbp6R-lbJm92NjhAeQepb67io7muSAOrpTDZ2cfgd0bUCwooCD-QixNxWNw', + 'eyJraWQiOiI3M2I5NTI0Ni02NjI2LTQ3N2YtYWFmYS1kMDJiODFhNjFkZmYiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjc2FkbWluIiwiaXNBYmxlIjoxLCJpc3MiOiJodHRwczpcL1wvbG9naW4tdGVzdC50LWFhcm9uLmNvbSIsImF1ZCI6InR1b2hlbmctYWlycG9ydC1hZG1pbiIsIm5iZiI6MTc1NjE5MjU5Mywib1VzZXJJZCI6NTQzLCJzY29wZSI6WyJ0dW9oZW5nLWFpcnBvcnRTY3JlZW4tbXAiLCJ0dW9oZW5nLXBpbG90LW1wIiwidHVvaGVuZy13YXRlcndheS1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLW1wIiwidHVvaGVuZy1haXJwb3J0U2NyZWVuLWFkbWluIiwidHVvaGVuZy1kbXAtbXAiLCJ0dW9oZW5nLWZseXBvcnRhbC1hZG1pbiIsInR1b2hlbmctdGVsZWNvbXVtYWxlLWFkbWluIiwidHVvaGVuZy1oaHotYWRtaW4iLCJ0dW9oZW5nLWhoei1tcCIsInR1b2hlbmctZnJlZXdheS1hZG1pbiIsInR1b2hlbmctd2VwdHNwLW1wIiwidHVvaGVuZy1waWxvdC1hZG1pbiIsInR1b2hlbmctc3BhY2V0aW1lLWFkbWluIiwidHVvaGVuZy1hbGVydC1tcCIsInR1b2hlbmctYnVzaW5lc3MtYWRtaW4iLCJ0dW9oZW5nLWJ1c2luZXNzLW1wIiwidHVvaGVuZy13ZXB0c3AtYWRtaW4iLCJ0dW9oZW5nLWFpcm1vbml0b3ItbXAiLCJ0dW9oZW5nLWFpcnBvcnQtbXAiLCJ0dW9oZW5nLWFpcm1vbml0b3ItYWRtaW4iLCJ0dW9oZW5nLWFsZXJ0LWFkbWluIiwidHVvaGVuZy1haXJwb3J0LWFkbWluIiwidHVvaGVuZy13YXRlcndheS1tcCIsInR1b2hlbmctZnJlZXdheS1tcCIsInR1b2hlbmctZG1wLWFkbWluIiwidHVvaGVuZy1zcGFjZXRpbWUtbXAiXSwiY2xpZW50Um9sZUxpc3QiOiJbe1wiY2xpZW50SWRcIjpcInR1b2hlbmctZmx5cG9ydGFsLWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1idXNpbmVzcy1tcFwiLFwicm9sZUlkXCI6MTE0NX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYnVzaW5lc3MtYWRtaW5cIixcInJvbGVJZFwiOjExNDV9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWFpcnBvcnRTY3JlZW4tYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXNwYWNldGltZS1hZG1pblwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctc3BhY2V0aW1lLW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1oaHotYWRtaW5cIixcInJvbGVJZFwiOjEwMDN9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWhoei1tcFwiLFwicm9sZUlkXCI6MTAwM30se1wiY2xpZW50SWRcIjpcInR1b2hlbmctd2F0ZXJ3YXktYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXdhdGVyd2F5LW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1kbXAtYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWRtcC1tcFwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYWlycG9ydC1hZG1pblwiLFwicm9sZUlkXCI6NjYzfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJwb3J0LW1wXCIsXCJyb2xlSWRcIjo2NjN9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLWFsZXJ0LWFkbWluXCIsXCJyb2xlSWRcIjoyN30se1wiY2xpZW50SWRcIjpcInR1b2hlbmctYWxlcnQtbXBcIixcInJvbGVJZFwiOjI3fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJtb25pdG9yLWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1haXJtb25pdG9yLW1wXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy13ZXB0c3AtYWRtaW5cIixcInJvbGVJZFwiOjI1fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy13ZXB0c3AtbXBcIixcInJvbGVJZFwiOjI1fSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy10ZWxlY29tdW1hbGUtYWRtaW5cIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXRlbGVjb211bWFsZS1tcFwiLFwicm9sZUlkXCI6MX0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctcGlsb3QtbXBcIixcInJvbGVJZFwiOjF9LHtcImNsaWVudElkXCI6XCJ0dW9oZW5nLXBpbG90LWFkbWluXCIsXCJyb2xlSWRcIjoxfSx7XCJjbGllbnRJZFwiOlwidHVvaGVuZy1mcmVld2F5LW1wXCIsXCJyb2xlSWRcIjo1OH0se1wiY2xpZW50SWRcIjpcInR1b2hlbmctZnJlZXdheS1hZG1pblwiLFwicm9sZUlkXCI6NTh9XSIsImV4cCI6MTc1NjI3ODk5MywiaXNFeHBpcmUiOjEsImlhdCI6MTc1NjE5MjU5MywidXNlcm5hbWUiOiJjc2FkbWluIn0.gsi2ikNb2s-X4mpePoQfrSv-Z7j-fyXdVCR00EbvJDIhzy3cXbWF59blPF5KX3h2hFtbLeb37UxeTOvXIYSx0cuRAPGoe5IIznTmy8yWkRLrEH4LKLdBYqRDKLerTOFLfrQ3C5I87ziFNGwlaGWlFSokf4rFbcaBX9pSTu9OECJUSd1sb-bfliaN9XbxXnEfjdBpbjD_PF-r6utqveyzgOR5r8rgguCz0BZ6aUYLDhpUa7elAh6GR9i0l5sdYIiGjhN4JJ1362C8V8EZDoiWFO8SgPqjznNceUwZ8Kkd-7hDjnBfHaX0mONai78vihN2-pm1C5bKFmJ8da35iarilA', refresh_token: 'HNyAXnoDhR2kgjXUSVwqMldvgzazvaY3tVlCodSiDon7fA7P8Ci3BMsnk31cjeSKwcbsPzUaMdCdBilBhSqQ1dZLk-Md-ERqh5mbbeu7rJDWX4MexO0eKtRBwz-mbnbR', token_type: 'Bearer', diff --git a/src/views/carbin/components/beforeCheck.vue b/src/views/carbin/components/beforeCheck.vue index d34c02f..ca9f127 100644 --- a/src/views/carbin/components/beforeCheck.vue +++ b/src/views/carbin/components/beforeCheck.vue @@ -106,7 +106,7 @@ onUnmounted(() => { SUCCESS FAILED - + diff --git a/src/views/carbin/components/flying.vue b/src/views/carbin/components/flying.vue index 921c8dc..bd0fe8d 100644 --- a/src/views/carbin/components/flying.vue +++ b/src/views/carbin/components/flying.vue @@ -14,14 +14,23 @@ import { import { useAirPortSocketStore } from '@/stores/airportSocket.js' const ScreenComp = defineAsyncComponent(() => import('@/views/carbin/toolComp/screen.vue')) -const emits = defineEmits(['switchView']) +const props = defineProps({ + big_area_showType: String, +}) + +const emits = defineEmits(['switchView', 'switchScreenVideo']) 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(1) //1-舱外视频 2-舱内视频 3-无人机视频 -let littleViewModeName = ref('舱外画面') +let littleViewMode = ref(2) //1-舱外视频 2-舱内视频 3-无人机视频 +let littleViewModeName = ref('舱内画面') + +//飞机高度 +let planeAlt = 0 +//已修改过小窗的视频类型 +let isModifedSmallScreen = ref(false) let planeStateList = reactive({ vspeed: { id: 1, @@ -76,6 +85,7 @@ let planeStateList = reactive({ value: '-', content: '无人机
偏航角', touch: false, + unit: '°', }, camerapitch: { id: 7, @@ -84,6 +94,7 @@ let planeStateList = reactive({ value: '-', content: '云台
俯仰角', touch: false, + unit: '°', }, camerayaw: { id: 8, @@ -92,6 +103,7 @@ let planeStateList = reactive({ value: '-', content: '云台
偏航角', touch: false, + unit: '°', }, }) let selectedAirPort = ref(1) @@ -117,35 +129,75 @@ const switchPlaneVideo = (viewtype) => { switch (viewtype) { case 1: littleViewModeName.value = '舱外画面' + small_area_showType.value = 'video_out' break case 2: littleViewModeName.value = '舱内画面' + small_area_showType.value = 'video_in' break case 3: littleViewModeName.value = '无人机画面' + small_area_showType.value = 'video_plane' break default: break } } +//切换小窗/大窗 +const switch_screen_fn = () => { + let current_small_area_showType = toRaw(small_area_showType.value) + if (props.big_area_showType == 'video_out') { + littleViewModeName.value = '舱外画面' + littleViewMode.value = 1 + } else if (props.big_area_showType == 'video_in') { + littleViewModeName.value = '舱内画面' + littleViewMode.value = 2 + } else if (props.big_area_showType == 'video_plane') { + littleViewModeName.value = '无人机画面' + littleViewMode.value = 3 + } + small_area_showType.value = props.big_area_showType + + emits('switchScreenVideo', current_small_area_showType) + // if(small_area_showType.value=='') +} + //设置socket的值 const setCurrentData = (data) => { + // console.log(data) + // console.log(data.alt) + + if (data.alt > 0 && !isModifedSmallScreen) { + //飞行中 + littleViewMode.value = 1 + littleViewModeName.value = '舱外画面' + small_area_showType.value = 'video_in' + //不允许再修改了 + isModifedSmallScreen.value = true + } + + //飞机高度 + // planeAlt = data.alt ? data.alt : 0 //爬升速度 - planeStateList.vspeed.value = data.vspeed + planeStateList.vspeed.value = Number(data.vspeed) ? Number(data.vspeed).toFixed(1) : '-' //平飞速度 - planeStateList.hspeed.value = data.hspeed + planeStateList.hspeed.value = Number(data.hspeed) ? Number(data.hspeed).toFixed(1) : '-' //距离机场 - planeStateList.distToHome.value = data.distToHome + planeStateList.distToHome.value = Number(data.distToHome) + ? Number(data.distToHome).toFixed(1) + : '-' //海拔高度 - planeStateList.altitude.value = data.altitude + planeStateList.altitude.value = Number(data.altitude) ? Number(data.altitude).toFixed(1) : '-' //无人机俯仰角 - planeStateList.pitch.value = data.pitch + planeStateList.pitch.value = Number(data.pitch) ? Number(data.pitch).toFixed(1) : '-' //无人机偏航角 - planeStateList.yaw.value = data.yaw + planeStateList.yaw.value = Number(data.yaw) ? Number(data.yaw).toFixed(1) : '-' //云台俯仰角 - planeStateList.camerapitch.value = data.camerapitch + planeStateList.camerapitch.value = Number(data.camerapitch) + ? Number(data.camerapitch).toFixed(1) + : '-' //云台偏航角 - planeStateList.camerayaw.value = data.camerayaw + planeStateList.camerayaw.value = Number(data.camerayaw) ? Number(data.camerayaw).toFixed(1) : '-' } //切换视频位置 @@ -240,6 +292,7 @@ airPortSocketStore.$subscribe((mutate, state) => {
{ v-html="item.content" > - {{ - item.value - }} + {{ item.value }}{{ item.unit }}
diff --git a/src/views/carbin/index.vue b/src/views/carbin/index.vue index f7502c3..a735bb2 100644 --- a/src/views/carbin/index.vue +++ b/src/views/carbin/index.vue @@ -1,5 +1,6 @@ + + diff --git a/tailwind.config.js b/tailwind.config.js index ed032b5..0dc3759 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -17,6 +17,9 @@ export default { //自定义高度 height: { 200: '200px', + c150: 'calc(100% - 150px)', + c212: 'calc(100% - 212px)', + c282: 'calc(100% - 282px)', }, }, },