From 89380e6260a75d1d3b94de687ebcc2f50d50659d Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Tue, 03 Feb 2026 15:44:33 +0800
Subject: [PATCH] feat:环境变量配置调整

---
 applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue |  211 ++++++----------------------------------------------
 1 files changed, 27 insertions(+), 184 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
index a04f341..2acc032 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
@@ -9,42 +9,10 @@
 		:close-on-click-modal="false"
 	>
 		<div class="content" style="display: flex">
-			<div class="processBox" v-if="dialogMode !== 'add' && processList.length">
-				<div class="timeline-wrapper">
-					<div v-for="(stage, stageIndex) in processList" :key="stageIndex" class="stage-group">
-						<!-- 大节点 Stage Node -->
-						<div class="stage-node">
-							<div class="stage-icon" :class="{ reached: stage.reached }">
-								<el-icon v-if="stage.reached"><Check /></el-icon>
-								<span v-else class="stage-index">{{ stageIndex + 1 }}</span>
-							</div>
-							<span class="stage-name">{{ stage.stageName }}</span>
-						</div>
-
-						<!-- 小节点 Child Nodes -->
-						<div class="child-list" v-if="stage.child && stage.child.length">
-							<template v-for="(child, childIndex) in stage.child.filter(c => c.reached)">
-								<div v-if="child.reached" :key="childIndex" class="child-node">
-									<div class="child-left">
-										<span class="child-status">{{ child.statusName }}</span>
-									</div>
-									<div class="child-dot"></div>
-									<div class="child-right">
-										<span class="child-operator">{{ child.operator || '-' }}</span>
-										<span class="child-time">{{ child.createTime || '-' }}</span>
-									</div>
-								</div>
-							</template>
-
-						</div>
-
-						<!-- 连接线 -->
-						<div
-							class="connector-line"
-							v-if="stageIndex < processList.length - 1"
-							:class="{ reached: stage.reached }"
-						></div>
-					</div>
+			<div class="processBox" v-if="dialogMode !== 'add'">
+				<div class="detail-title">工单记录</div>
+				<div class="process">
+					<OrderStepBar :processList="processList" />
 				</div>
 			</div>
 			<div class="leftBox">
@@ -140,7 +108,6 @@
 							<el-form-item label="执行时间" prop="executeStartTime">
 								<el-date-picker
 									class="gd-date-picker"
-									popper-class="gd-date-picker-popper"
 									v-model="dateRange"
 									type="daterange"
 									range-separator="至"
@@ -174,7 +141,7 @@
 								<el-input
 									class="gd-input"
 									type="textarea"
-									:rows="4"
+									:rows="3"
 									v-model="formData.remark"
 									placeholder="请输入"
 									clearable
@@ -301,7 +268,7 @@
 import { gdManageDeviceListApi } from './gdManageDeviceApi'
 import { cartesian3Convert } from '@/utils/cesium/mapUtil'
 import * as Cesium from 'cesium'
-import { DrawPolygon } from '@/utils/cesium/DrawPolygon'
+import { DrawPolygon } from '@ztzf/utils'
 import { pxToRem } from '@/utils/rem'
 import dayjs from 'dayjs'
 import RefuseOrderDialog from '@/views/orderView/orderManage/orderManage/RefuseOrderDialog.vue'
@@ -311,6 +278,7 @@
 import droneIcon from '@/assets/images/orderView/orderManage/drone.png'
 import droneActiveIcon from '@/assets/images/orderView/orderManage/droneActive.png'
 import { useStore } from 'vuex'
+import OrderStepBar from '@/views/orderView/orderManage/orderManage/OrderStepBar.vue'
 const store = useStore()
 const permission = computed(() => store.state.user.permission)
 
@@ -545,11 +513,17 @@
 	viewPlane = viewer.entities?.add({
 		customType: 'control_group',
 		position: Cesium.Cartesian3.fromDegrees(result[0], result[1]),
+		polygon: {
+			hierarchy: Cesium.Cartesian3.fromDegreesArray(result),
+			material: Cesium.Color.fromBytes(45, 140, 240, 99),
+			outline: false,
+			heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
+		},
 		polyline: {
 			positions: Cesium.Cartesian3.fromDegreesArray(result),
 			clampToGround: true,
-			width: 3,
-			material: Cesium.Color.RED,
+			width: 2,
+			material: Cesium.Color.fromBytes(45, 140, 240, 255),
 		},
 	})
 	flyVisual({
@@ -580,7 +554,8 @@
 //  渲染
 function renderingAllDevice(list) {
 	list.forEach(item => {
-		const position = Cesium.Cartesian3.fromDegrees(item.longitude || 115.0, item.latitude || 27.11)
+		if (!item.longitude || !item.latitude) return
+		const position = Cesium.Cartesian3.fromDegrees(item.longitude, item.latitude)
 		viewer.entities.add({
 			position: position,
 			billboard: {
@@ -690,7 +665,7 @@
 
 		.gd-cesium {
 			width: 100%;
-			min-height: 380px;
+			min-height: 360px;
 			flex: 1;
 		}
 	}
@@ -707,149 +682,17 @@
 	}
 
 	.processBox {
-		padding: 24px 16px;
-		width: 312px;
-		border: 1px solid #e4e4e4;
-		border-radius: 8px;
-		overflow: auto;
-		background: #fff;
+		display: flex;
+		flex-direction: column;
 
-		.timeline-wrapper {
-			padding-left: 100px;
-			position: relative;
-		}
-
-		.stage-group {
-			position: relative;
-		}
-
-		// 大节点 - Stage Node
-		.stage-node {
-			display: flex;
-			align-items: center;
-			gap: 12px;
-			margin-bottom: 8px;
-
-			.stage-icon {
-				width: 28px;
-				height: 28px;
-				border-radius: 50%;
-				background: #e0e0e0;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				color: #fff;
-				font-size: 14px;
-				font-weight: 600;
-				flex-shrink: 0;
-				position: relative;
-				z-index: 2;
-
-				&.reached {
-					background: #1a1a2e;
-				}
-
-				.el-icon {
-					font-size: 16px;
-				}
-
-				.stage-index {
-					font-size: 12px;
-				}
-			}
-
-			.stage-name {
-				width: 70px;
-				text-align: right;
-				position: absolute;
-				left: -80px;
-				font-family: Roboto, Roboto;
-				font-weight: bold;
-				font-size: 16px;
-				color: rgba(0,0,0,0.85);
-			}
-		}
-
-		// 小节点 - Child Nodes
-		.child-list {
-			position: relative;
-			left: -52px;
-		}
-
-		.child-node {
-			display: flex;
-			align-items: flex-start;
-			position: relative;
-
-
-			&:last-child::before {
-				bottom: 50%;
-			}
-
-			.child-left {
-				width: 100px;
-				flex-shrink: 0;
-				text-align: right;
-				padding-right: 20px;
-				font-family: Source Han Sans CN, Source Han Sans CN;
-				font-weight: 400;
-				font-size: 14px;
-				color: rgba(0,0,0,0.85);
-
-				.child-status {
-					white-space: nowrap;
-				}
-			}
-
-			.child-dot {
-				width: 12px;
-				height: 12px;
-				border-radius: 50%;
-				background: #1a1a2e;
-				flex-shrink: 0;
-				position: relative;
-				z-index: 2;
-				margin-top: 4px;
-			}
-
-			.child-right {
-				flex: 1;
-				padding-left: 12px;
-				display: flex;
-				flex-direction: column;
-				gap: 2px;
-
-				.child-operator {
-					font-family: Source Han Sans CN, Source Han Sans CN;
-					font-weight: 400;
-					font-size: 14px;
-					color: rgba(0,0,0,0.85);
-
-				}
-
-				.child-time {
-					white-space: nowrap;
-					font-family: Source Han Sans CN, Source Han Sans CN;
-					font-weight: 400;
-					font-size: 14px;
-					color: rgba(0,0,0,0.45);
-				}
-			}
-		}
-
-		// 连接线
-		.connector-line {
-			position: absolute;
-			left: 13px;
-			width: 2px;
+		.process {
 			height: 100%;
-			background: #e0e0e0;
-			top: 28px;
-			z-index: 1;
-
-			&.reached {
-				background: #1a1a2e;
-			}
+			padding: 12px 16px 24px 16px;
+			width: 312px;
+			border: 1px solid #e4e4e4;
+			border-radius: 8px;
+			background: #fff;
+			overflow: auto;
 		}
 	}
 }

--
Gitblit v1.9.3