From da727393fa41fa3eb97a8181526fa5db8cd6f014 Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Fri, 14 Nov 2025 09:47:57 +0800
Subject: [PATCH] feat:更新智飞工单 返航高度
---
src/hooks/useRouteLine/useRouteLine.js | 11 +++--
src/views/tickets/orderLog.vue | 42 +++++++++++++-------
src/store/modules/common.js | 10 +++-
src/api/tickets/orderLog.js | 10 ++--
4 files changed, 46 insertions(+), 27 deletions(-)
diff --git a/src/api/tickets/orderLog.js b/src/api/tickets/orderLog.js
index 2179bc6..037bd05 100644
--- a/src/api/tickets/orderLog.js
+++ b/src/api/tickets/orderLog.js
@@ -88,11 +88,11 @@
// 获取返航最高 高度
export const getWaylineMaxTerrainHeight = data => {
- return request({
- url: `/drone-odm/odmTaskInfo/odmTaskInfo/getWaylineMaxTerrainHeight`,
- method: 'post',
- data,
- })
+ return request({
+ url: `/drone-odm/odmTaskInfo/odmTaskInfo/getWaylineMaxTerrainHeight`,
+ method: 'post',
+ data,
+ })
}
diff --git a/src/hooks/useRouteLine/useRouteLine.js b/src/hooks/useRouteLine/useRouteLine.js
index 6e4f50e..32c3d3a 100644
--- a/src/hooks/useRouteLine/useRouteLine.js
+++ b/src/hooks/useRouteLine/useRouteLine.js
@@ -51,7 +51,7 @@
resetCurRouteLineData()
- const { pointPlacemark, polygonList, templateType, startPoint, execute_height_mode, auto_flight_speed } =
+ const { pointPlacemark, polygonList, templateType, startPoint, execute_height_mode, auto_flight_speed, take_off_security_height } =
await analysisPointLineKmz(kmzUrl)
curRouteLineData.value = {
@@ -61,6 +61,7 @@
execute_height_mode,
auto_flight_speed,
wayline_type,
+ take_off_security_height,
infos: infos
}
@@ -194,9 +195,10 @@
height: 50,
},
})
- // 获取最后一点高度
- console.log(pointList, '查看数组最后一点高度')
- store.commit('setLastHeight', Number(pointList[pointList.length - 1].height))
+ // 获取航线拆分所有点
+ store.commit('setPositionsArr', pointList)
+ // 获取安全起飞高度
+ store.commit('setSafeHeight', curRouteLineData.value.take_off_security_height)
flyVisual({
positionsData:pointList.map(i => [Number(i.longitude), Number(i.latitude), Number(i.height)]),
viewer,
@@ -217,6 +219,7 @@
execute_height_mode: '',
auto_flight_speed: '',
wayline_type: '',
+ take_off_security_height: ''
}
}
diff --git a/src/store/modules/common.js b/src/store/modules/common.js
index c12ef73..ce4a88f 100644
--- a/src/store/modules/common.js
+++ b/src/store/modules/common.js
@@ -21,11 +21,15 @@
htsjzx: 100, //数据中心
htlsrwxq: 100, //历史任务详情
},
- lastHeight: 0, // 获取最后一点高度
+ safeHeight: 0, // 获取选择航线高度
+ positionsArr: [], // 获取选择航线点数据
},
mutations: {
- setLastHeight(state, data) {
- state.lastHeight = data
+ setSafeHeight (state, data) {
+ state.safeHeight = data
+ },
+ setPositionsArr(state, data) {
+ state.positionsArr = data
},
setDownloadProgress(state, data) {
state.downloadProgress = data
diff --git a/src/views/tickets/orderLog.vue b/src/views/tickets/orderLog.vue
index 512ec11..73793d1 100644
--- a/src/views/tickets/orderLog.vue
+++ b/src/views/tickets/orderLog.vue
@@ -194,7 +194,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="安全返航真高" prop="rth_altitude" class="safe-height">
- <el-input-number v-model="form.rth_altitude" :min="50" :max="300"></el-input-number>
+ <el-input-number v-model="form.rth_altitude" :min="50" :max="500"></el-input-number>
</el-form-item>
</el-col>
</el-row>
@@ -320,7 +320,7 @@
<el-col :span="6">
<el-form-item label="安全返航真高" prop="rth_altitude" class="safe-height">
<el-input-number :disabled="detailTitle === '工单详情'" v-model="form.rth_altitude" :min="50"
- :max="300"></el-input-number>
+ :max="500"></el-input-number>
</el-form-item>
</el-col>
</el-row>
@@ -455,7 +455,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="安全返航真高" prop="rth_altitude" class="safe-height">
- <el-input-number :disabled="true" v-model="form.rth_altitude" :min="50" :max="300"></el-input-number>
+ <el-input-number :disabled="true" v-model="form.rth_altitude" :min="50" :max="500"></el-input-number>
</el-form-item>
</el-col>
</el-row>
@@ -555,7 +555,8 @@
orderLogExport,
jobStatusNum,
userPublish,
- deleteOrderLog
+ deleteOrderLog,
+ getWaylineMaxTerrainHeight
} from '@/api/tickets/orderLog'
import { getTicketInfo } from '@/api/tickets/ticket'
import { getDictionaryByCode } from '@/api/system/dictbiz'
@@ -810,9 +811,13 @@
return CircleClose
},
...mapGetters(['userInfo', 'permission']),
- lastHeight () {
- const height = this.$store.state.common.lastHeight
- return Number(height) || 0 // 确保是数字类型
+ safeHeight () {
+ const safeHeight = this.$store.state.common.safeHeight
+ return Number(safeHeight) || 0 // 确保是数字类型
+ },
+ positionsArr () {
+ const positionsArr = this.$store.state.common.positionsArr
+ return positionsArr || [] // 确保是数字类型
},
filteredTabs () {
// rejection_and_draft 权限控制“已驳回”和“草稿”tab
@@ -992,15 +997,22 @@
const maxItem = checkedList.reduce((max, item) => {
return item.drone_height > max.drone_height ? item : max;
});
- console.log(maxItem.drone_height, '高度');
- console.log(this.lastHeight, '最后一点高度');
- let result = _.round((maxItem.drone_height + this.form.rth_altitude), 2);
+ // 返航绝对高度
+ let backHeight = this.form.rth_altitude // + maxItem.drone_height
+ console.log(backHeight,'backHeight')
+ // 安全起飞高度
+ let positions = this.positionsArr
+ positions.unshift({latitude: maxItem.latitude, longitude: maxItem.longitude, height:maxItem.drone_height })
+ positions.push({latitude: maxItem.latitude, longitude: maxItem.longitude, height:maxItem.drone_height})
+ let resultHeight = 0
+ await getWaylineMaxTerrainHeight(positions).then(res => {
+ resultHeight = this.safeHeight > (res.data.data + 30) ? this.safeHeight : (res.data.data + 30)
+ })
+ let valueHeight = _.round(backHeight - resultHeight, 2)
+ console.log('打印比较值', valueHeight)
- let resultHeight = this.lastHeight - maxItem.drone_height
- let resultH = _.round(resultHeight, 2)
-
- if (this.lastHeight > result) {
- this.$confirm(`当前返航高度存在安全隐患,建议调整为${resultH}米以上后进行发布`, '提示', {
+ if (valueHeight < 0) {
+ this.$confirm(`当前返航高度存在安全隐患,建议调整为${resultHeight}米以上后进行发布`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
--
Gitblit v1.9.3