From 2a02d981f6d5ed2ef3b3a09d5a3b5bc0d07cf742 Mon Sep 17 00:00:00 2001
From: wangjuncheng <1>
Date: 星期三, 09 七月 2025 17:07:01 +0800
Subject: [PATCH] 提交断面

---
 src/components/menu/CrossSectionalAnalysis.vue |   41 +++++++++++++++++++++++++++++++++++++----
 src/api/trApi.js                               |   14 ++++++++++++++
 2 files changed, 51 insertions(+), 4 deletions(-)

diff --git a/src/api/trApi.js b/src/api/trApi.js
index f826b82..836ec2b 100644
--- a/src/api/trApi.js
+++ b/src/api/trApi.js
@@ -191,4 +191,18 @@
     throw error; // 鎶涘嚭閿欒锛岃璋冪敤鏂瑰彲浠ユ崟鑾�
   }
 }
+
+export async function getCrossSection(data) {
+  // console.log(data,'鍙戦�佺殑鏁版嵁锛�');
+
+  try {
+    const res = await instance.get("/simu/crossSection", {
+      params: data
+    });
+    return res.data; // 杩斿洖瀹為檯鏁版嵁锛堥�氬父 res.data 鎵嶆槸鎺ュ彛杩斿洖鐨勫唴瀹癸級
+  } catch (error) {
+    console.error("Error fetching data:", error);
+    throw error; // 鎶涘嚭閿欒锛岃璋冪敤鏂瑰彲浠ユ崟鑾�
+  }
+}
 // **************************************************************************************************************
diff --git a/src/components/menu/CrossSectionalAnalysis.vue b/src/components/menu/CrossSectionalAnalysis.vue
index 44bc677..83102b7 100644
--- a/src/components/menu/CrossSectionalAnalysis.vue
+++ b/src/components/menu/CrossSectionalAnalysis.vue
@@ -75,8 +75,13 @@
 <script setup>
 import { ElMessage } from 'element-plus';
 import { ref, onMounted, defineExpose } from "vue";
-
+import { getCrossSection } from '@/api/trApi.js'; // 鍋囪浣犳湁鐪熷疄鎺ュ彛
+import { useSimStore } from '@/store/simulation';
+import { storeToRefs } from 'pinia';
+const simStore = useSimStore();
+const { selectedScheme } = storeToRefs(simStore);
 const viewer = window.viewer;
+let selectedSchemeId = selectedScheme.value.id
 
 let pickedPointsCross = ref([]);
 let pickHandlerCross = null;
@@ -229,6 +234,8 @@
 		pickHandlerCross = null;
 	}
 	isPicking.value = false;
+	console.log('杩欓噷鍙戦�佽姹傦紝娓呯┖閮鐨別charts2');
+	
 }
 function initPickHandler() {
 	if (isPicking.value) {
@@ -260,7 +267,9 @@
 
 	pickHandlerCross.setInputAction(clickAction, Cesium.ScreenSpaceEventType.LEFT_CLICK);
 }
-function confirmPoints() {
+async function confirmPoints() {
+	console.log(selectedSchemeId,'杩欓噷鎷跨殑鏄柟妗堢殑鏁版嵁');
+	
 	if (pickedPointsCross.value.length < 2) {
 		ElMessage.warning('璇峰厛閫夋嫨涓や釜鐐瑰悗鍐嶈繘琛岀‘璁わ紒');
 		return;
@@ -268,6 +277,7 @@
 
 	const point1 = pickedPointsCross.value[0];
 	const point2 = pickedPointsCross.value[1];
+console.log(point1,point2);
 
 	console.log('绗竴涓偣淇℃伅锛�', {
 		longitude: point1.longitude,
@@ -280,11 +290,34 @@
 		latitude: point2.latitude,
 		cartesian: point2.cartesian
 	});
-
+	const startPoint = `${point1.longitude},${point1.latitude}`;
+	const endPoint = `${point2.longitude},${point2.latitude}`;
+	const result = await getCrossSectionInfo(startPoint, endPoint);
+	console.log(result,'杩欓噷鏄儹妤犻渶瑕佺殑鏂潰鏁版嵁');
+	
 	isUploaded.value = true;
 	ElMessage.success('姝e湪杩涜--鏂潰鎴潰--鏁版嵁鍒嗘瀽涓婁紶锛岃绋嶇瓑...');
+	
 }
-
+  // 鑾峰彇鐪熷疄鏁版嵁
+function getCrossSectionInfo(a, b) {
+  const params = {
+    startPoint: a,
+    endPoint: b,
+    id: selectedSchemeId
+  };
+  return getCrossSection(params).then(data => {
+    if (data && data.code === 200) {
+      return data.data; // 杩斿洖鍘熷鏁版嵁鏁扮粍
+    } else {
+      return [];
+    }
+  }).catch(error => {
+    console.error('鑾峰彇鏁版嵁鏃跺彂鐢熼敊璇�:', error);
+    ElMessage.warning('鏁版嵁鏈夎锛岃鑱旂郴绠$悊鍛樻垨閲嶆柊杩涜妯℃嫙锛�');
+    return [];
+  });
+}
 defineExpose({
 	clearPoints
 });

--
Gitblit v1.9.3