From 0c92fd00fae033a2aa04bb65b2d32bd2c8f9fd4a Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Wed, 04 Feb 2026 15:48:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue |   65 ++++++++++++++++----------------
 1 files changed, 32 insertions(+), 33 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue b/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
index 395fa27..5ecf6e8 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
@@ -29,7 +29,6 @@
 						</el-timeline-item>
 					</el-timeline>
 				</div>
-
 			</div>
 
 			<div class="detail-right">
@@ -93,7 +92,8 @@
 				</div>
 
 				<!-- 编辑模式 -->
-				<el-form class="gd-dialog-form" v-else ref="formRef" :model="formData" :rules="rules" label-width="110px">
+				<el-form class="gd-dialog-form" v-else ref="formRef" :model="formData" :rules="rules" label-width="130px">
+					<div class="detail-title">巡查任务详情</div>
 					<el-row>
 						<el-col :span="12">
 							<el-form-item label="巡查任务名称" prop="patrolTaskName">
@@ -122,7 +122,6 @@
 							<el-form-item label="任务执行时间" prop="executeTime">
 								<el-date-picker
 									class="gd-date-picker"
-									popper-class="gd-date-picker-popper"
 									v-model="formData.executeTime"
 									type="datetime"
 									placeholder="请选择"
@@ -251,7 +250,12 @@
 import { computed, ref, onMounted } from 'vue'
 import { ElMessage } from 'element-plus'
 import { fieldRules, flyVisual, getDictLabel } from '@ztzf/utils'
-import { gdPatrolTaskRepublish, gdFlyerPageApi, gdPatrolTaskAuditApi } from './inspectionRequestApi'
+import {
+	gdPatrolTaskRepublish,
+	gdFlyerPageApi,
+	gdPatrolTaskAuditApi,
+	gdPatrolTaskDetailApi,
+} from './inspectionRequestApi'
 import { gdWorkOrderFlowListApi, gdWorkOrderFlowPatrolListApi, gdWorkOrderPageApi } from '../orderManage/orderManageApi'
 import { gdManageDeviceListApi } from '../orderManage/gdManageDeviceApi'
 import { pxToRem } from '@/utils/rem'
@@ -300,10 +304,10 @@
 const getAirName = inject('getAirName')
 
 const gdStatusObj = {
-	'0': { reason: '拒绝原因', operationType: '2',title:'拒绝签收' },
+	'0': { reason: '拒绝原因', operationType: '2', title: '拒绝签收' },
 	'1': { reason: '拒绝原因' },
 	'2': { reason: '' },
-	'3': { reason: '驳回原因', operationType: '5',title:'驳回' },
+	'3': { reason: '驳回原因', operationType: '5', title: '驳回' },
 	'4': { reason: '驳回原因' },
 	'5': { reason: '' },
 	'6': { reason: '拒绝原因' },
@@ -337,7 +341,7 @@
 			row: formData.value,
 			type: gdStatusObj[taskStatus.value].operationType,
 			formLabel: gdStatusObj[taskStatus.value].reason,
-			title: gdStatusObj[taskStatus.value]?.title
+			title: gdStatusObj[taskStatus.value]?.title,
 		})
 	})
 }
@@ -446,48 +450,46 @@
 })
 // 获取航线详情
 function getAirDetails() {
+	const dockHeight = formData.value.height
 	queryAirById(formData.value.patrolRouteUrl).then(res => {
-		const list = res.data.data.airlineWaypoints
+		const {airlineWaypoints,airlineSetting:{globalAirlineHeight,airlineHeightMode}} = res.data.data
+		const relative = airlineHeightMode === 'relativeToStartPoint'
+		const list = airlineWaypoints
 		if (!list.length) return mapRef.value?.flyBoundary()
-		const result = list.map(item => [Number(item.longitude), Number(item.latitude)]).flat()
+		const result = list.map(item => {
+			let height = item?.globalHeight || globalAirlineHeight
+			if (relative){
+				height = height + Number(dockHeight)
+			}
+			return [Number(item.longitude), Number(item.latitude),height || 0]
+		})
 		viewer.entities.add({
 			polyline: {
-				positions: Cesium.Cartesian3.fromDegreesArray(result),
-				clampToGround: true,
+				positions: Cesium.Cartesian3.fromDegreesArrayHeights(result.flat()),
 				width: 4,
 				material: arrowLineMaterialProperty,
 			},
 		})
 		// 渲染起点(蓝色)
-		const startPoint = list[0]
+		const startPoint = result[0]
 		viewer.entities.add({
-			position: Cesium.Cartesian3.fromDegrees(
-				Number(startPoint.longitude),
-				Number(startPoint.latitude),
-				startPoint.height || 0
-			),
+			position: Cesium.Cartesian3.fromDegrees(Number(startPoint[0]), Number(startPoint[1]), startPoint[2]),
 			point: {
 				pixelSize: 12,
 				color: Cesium.Color.BLUE,
 				outlineColor: Cesium.Color.WHITE,
 				outlineWidth: 2,
-				heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
 			},
 		})
 		// 渲染终点(红色)
-		const endPoint = list[list.length - 1]
+		const endPoint = result[result.length - 1]
 		viewer.entities.add({
-			position: Cesium.Cartesian3.fromDegrees(
-				Number(endPoint.longitude),
-				Number(endPoint.latitude),
-				endPoint.height || 0
-			),
+			position: Cesium.Cartesian3.fromDegrees(Number(endPoint[0]), Number(endPoint[1]), endPoint[2]),
 			point: {
 				pixelSize: 12,
 				color: Cesium.Color.RED,
 				outlineColor: Cesium.Color.WHITE,
 				outlineWidth: 2,
-				heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
 			},
 		})
 		flyVisual({
@@ -500,14 +502,11 @@
 // 打开弹框
 async function open({ mode = 'view', row } = {}) {
 	dialogMode.value = mode
-	formData.value = { ...initForm(), ...row }
-	;['6', '7', '8'].includes(row.taskStatus) && getTaskResultList()
+	const res = await gdPatrolTaskDetailApi({ id: row.id })
+	formData.value = { ...initForm(), ...res.data.data }
+	;['6', '7', '8'].includes(row.taskStatus) && await getTaskResultList()
 	loadList()
 	initMap()
-}
-
-const readyMap = () => {
-	// mapRef.value?.flyBoundary()
 	getAirDetails()
 }
 
@@ -565,11 +564,11 @@
 	margin-top: 2px;
 }
 
-.processBox{
+.processBox {
 	display: flex;
 	flex-direction: column;
 
-	.detail-left{
+	.detail-left {
 		height: 100%;
 		overflow: auto;
 	}

--
Gitblit v1.9.3