| | |
| | | <template #formContent> |
| | | <div class="form-content"> |
| | | <div> |
| | | <span class="form-label">latitude:</span> |
| | | <span class="form-label">纬度:</span> |
| | | <a-input-number v-model:value="flyToPointPopoverData.latitude"/> |
| | | </div> |
| | | <div> |
| | | <span class="form-label">longitude:</span> |
| | | <span class="form-label">经度:</span> |
| | | <a-input-number v-model:value="flyToPointPopoverData.longitude"/> |
| | | </div> |
| | | <div> |
| | | <span class="form-label">height(m):</span> |
| | | <span class="form-label">高度(m):</span> |
| | | <a-input-number v-model:value="flyToPointPopoverData.height"/> |
| | | </div> |
| | | </div> |
| | |
| | | <template #formContent> |
| | | <div class="form-content"> |
| | | <div> |
| | | <span class="form-label">latitude:</span> |
| | | <span class="form-label">纬度:</span> |
| | | <a-input-number v-model:value="takeoffToPointPopoverData.latitude"/> |
| | | </div> |
| | | <div> |
| | | <span class="form-label">longitude:</span> |
| | | <span class="form-label">经度:</span> |
| | | <a-input-number v-model:value="takeoffToPointPopoverData.longitude"/> |
| | | </div> |
| | | <div> |
| | | <span class="form-label">height(m):</span> |
| | | <span class="form-label">高度(m):</span> |
| | | <a-input-number v-model:value="takeoffToPointPopoverData.height"/> |
| | | </div> |
| | | <div> |
| | | <span class="form-label">Safe Takeoff Altitude(m):</span> |
| | | <span class="form-label">安全起飞高度(m):</span> |
| | | <a-input-number v-model:value="takeoffToPointPopoverData.securityTakeoffHeight"/> |
| | | </div> |
| | | <div> |
| | | <span class="form-label">Return-to-Home Altitude(m):</span> |
| | | <span class="form-label">返回原点高度(m):</span> |
| | | <a-input-number v-model:value="takeoffToPointPopoverData.rthAltitude"/> |
| | | </div> |
| | | <div> |
| | | <span class="form-label">Lost Action:</span> |
| | | <span class="form-label">失控操作:</span> |
| | | <a-select |
| | | v-model:value="takeoffToPointPopoverData.rcLostAction" |
| | | style="width: 120px" |
| | |
| | | ></a-select> |
| | | </div> |
| | | <div> |
| | | <span class="form-label">Wayline Lost Action:</span> |
| | | <span class="form-label">线路丢失操作:</span> |
| | | <a-select |
| | | v-model:value="takeoffToPointPopoverData.exitWaylineWhenRcLost" |
| | | style="width: 120px" |
| | |
| | | <template #formContent> |
| | | <div class="form-content"> |
| | | <div> |
| | | <span class="form-label">reset mode:</span> |
| | | <span class="form-label">重置模式:</span> |
| | | <a-select |
| | | v-model:value="gimbalResetPopoverData.resetMode" |
| | | style="width: 180px" |
| | |
| | | <template #formContent> |
| | | <div class="form-content"> |
| | | <div> |
| | | <span class="form-label">camera type:</span> |
| | | <span class="form-label">相机类型:</span> |
| | | <a-select |
| | | v-model:value="zoomFactorPopoverData.cameraType" |
| | | style="width: 120px" |
| | |
| | | ></a-select> |
| | | </div> |
| | | <div> |
| | | <span class="form-label">zoom factor:</span> |
| | | <span class="form-label">缩放:</span> |
| | | <a-input-number v-model:value="zoomFactorPopoverData.zoomFactor" :min="2" :max="200" /> |
| | | </div> |
| | | </div> |
| | |
| | | <template #formContent> |
| | | <div class="form-content"> |
| | | <div> |
| | | <span class="form-label">camera type:</span> |
| | | <span class="form-label">相机类型:</span> |
| | | <a-select |
| | | v-model:value="cameraAimPopoverData.cameraType" |
| | | style="width: 120px" |
| | |
| | | ></a-select> |
| | | </div> |
| | | <div> |
| | | <span class="form-label">locked:</span> |
| | | <span class="form-label">锁定:</span> |
| | | <a-switch v-model:checked="cameraAimPopoverData.locked"/> |
| | | </div> |
| | | <div> |
| | |
| | | |
| | | const initCmdList = baseCmdList.find(item => item.cmdKey === DeviceCmd.ReturnHome) as DeviceCmdItem |
| | | const cmdItem = ref(initCmdList) |
| | | console.log(cmdItem, 'cmdItem') |
| | | |
| | | const { |
| | | sendDockControlCmd |
| | |
| | | action: cmdItem.action |
| | | }, false) |
| | | if (result && flightController.value) { |
| | | message.success('Return home successful') |
| | | message.success('返航成功') |
| | | exitFlightCOntrol() |
| | | } else { |
| | | message.error('Failed to return home') |
| | | message.error('返航失败') |
| | | } |
| | | cmdItem.loading = false |
| | | } |
| | |
| | | async function onFlyToConfirm (confirm: boolean) { |
| | | if (confirm) { |
| | | if (!flyToPointPopoverData.height || !flyToPointPopoverData.latitude || !flyToPointPopoverData.longitude) { |
| | | message.error('Input error') |
| | | message.error('输入错误') |
| | | return |
| | | } |
| | | try { |
| | |
| | | !takeoffToPointPopoverData.longitude || |
| | | !takeoffToPointPopoverData.securityTakeoffHeight || |
| | | !takeoffToPointPopoverData.rthAltitude) { |
| | | message.error('Input error') |
| | | message.error('输入错误') |
| | | return |
| | | } |
| | | try { |
| | |
| | | if (droneControlSource.value !== ControlSource.A) { |
| | | await postFlightAuth(props.sn) |
| | | } |
| | | message.success('Get flight control successfully') |
| | | message.success('获取飞行控制成功') |
| | | } |
| | | } catch (error: any) { |
| | | } |
| | |
| | | flightController.value = false |
| | | deviceTopicInfo.subTopic = '' |
| | | deviceTopicInfo.pubTopic = '' |
| | | message.success('Exit flight control') |
| | | message.success('退出飞行控制成功') |
| | | } |
| | | } catch (error: any) { |
| | | } |
| | |
| | | async function onGimbalResetConfirm (confirm: boolean) { |
| | | if (confirm) { |
| | | if (gimbalResetPopoverData.resetMode === null) { |
| | | message.error('Please select reset mode') |
| | | message.error('请选择重置模式') |
| | | return |
| | | } |
| | | gimbalResetPopoverData.loading = true |
| | |
| | | async function onZoomFactorConfirm (confirm: boolean) { |
| | | if (confirm) { |
| | | if (!zoomFactorPopoverData.zoomFactor || zoomFactorPopoverData.cameraType === null) { |
| | | message.error('Please input Zoom Factor') |
| | | message.error('请输入缩放程度') |
| | | return |
| | | } |
| | | zoomFactorPopoverData.loading = true |
| | |
| | | async function onCameraAimConfirm (confirm: boolean) { |
| | | if (confirm) { |
| | | if (cameraAimPopoverData.cameraType === null || cameraAimPopoverData.x === null || cameraAimPopoverData.y === null) { |
| | | message.error('Input error') |
| | | message.error('输入错误') |
| | | return |
| | | } |
| | | try { |