From 9af1dbeb37a303e6f415720016424a0e11fa2707 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 21 Apr 2025 11:19:11 +0800
Subject: [PATCH] fix: 跳转集群调度判断

---
 src/views/SignMachineNest/MachineRight/InspectionRaskList.vue                 |   14 ++++++
 src/components/CommonWeather.vue                                              |    5 ++
 src/views/Home/HomeLeft/InspectionRaskDetails/InspectionRaskDetailsDialog.vue |   28 +++++++-------
 src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue      |   16 +++----
 src/hooks/useTaskDetails/useTaskDetails.js                                    |    8 ++--
 src/components/CurrentTaskDetails/CurrentTaskDetails.vue                      |    3 +
 6 files changed, 45 insertions(+), 29 deletions(-)

diff --git a/src/components/CommonWeather.vue b/src/components/CommonWeather.vue
index 96e48f4..abec0ec 100644
--- a/src/components/CommonWeather.vue
+++ b/src/components/CommonWeather.vue
@@ -40,6 +40,11 @@
 		flylevel.value = res.data.data.adcode.replace(/0+$/, "").length
 	})
 }
+
+
+
+
+
 let intervalTime
 onMounted(() => {
 	getWeatherSuggest()
diff --git a/src/components/CurrentTaskDetails/CurrentTaskDetails.vue b/src/components/CurrentTaskDetails/CurrentTaskDetails.vue
index ea92bd8..8a39167 100644
--- a/src/components/CurrentTaskDetails/CurrentTaskDetails.vue
+++ b/src/components/CurrentTaskDetails/CurrentTaskDetails.vue
@@ -158,7 +158,8 @@
 watch(wsInfo, setCurrentLiveUrl, { deep: true })
 
 onMounted(() => {
-	initTaskDetails(props?.id)
+	const params = {wayLineJobInfoId:props.id}
+	initTaskDetails(params)
 	EventBus.on('CurrentTaskDetails-timeStop', changeLineQuality)
 	EventBus.on('CurrentTaskDetails-getAiLiveUrl', getAiLiveUrl)
 	EventBus.on('CurrentTaskDetails-getDroneLiveUrl', getDroneLiveUrl)
diff --git a/src/hooks/useTaskDetails/useTaskDetails.js b/src/hooks/useTaskDetails/useTaskDetails.js
index 1dffb9d..22b88d5 100644
--- a/src/hooks/useTaskDetails/useTaskDetails.js
+++ b/src/hooks/useTaskDetails/useTaskDetails.js
@@ -5,10 +5,10 @@
   const taskDetails = ref({})
   const workspace_id = ref('')
 
-  const getTaskDetails = async (id) => {
-    if (!id) ElMessage.warning('请检查是否传入id')
+  const getTaskDetails = async (params) => {
+    if (!params.wayLineJobInfoId) ElMessage.warning('请检查是否传入id')
     try {
-      const res = await getJobDetails({ wayLineJobInfoId: id })
+      const res = await getJobDetails(params)
       taskDetails.value = res.data.data
       cb && await cb()
       workspace_id.value = taskDetails.value.way_lines[0]?.workspace_id
@@ -24,4 +24,4 @@
     workspace_id,
     getTaskDetails
   }
-}
\ No newline at end of file
+}
diff --git a/src/views/Home/HomeLeft/InspectionRaskDetails/InspectionRaskDetailsDialog.vue b/src/views/Home/HomeLeft/InspectionRaskDetails/InspectionRaskDetailsDialog.vue
index 67c4236..860834d 100644
--- a/src/views/Home/HomeLeft/InspectionRaskDetails/InspectionRaskDetailsDialog.vue
+++ b/src/views/Home/HomeLeft/InspectionRaskDetails/InspectionRaskDetailsDialog.vue
@@ -139,13 +139,13 @@
 	<CurrentTaskDetails
 		v-if="isShowCurrentTaskDetails"
 		v-model:show="isShowCurrentTaskDetails"
-		:id="currentTaskDetailsId"
+		:id="rowData.id"
 	/>
 	<!-- 历史任务详情 -->
 	<DeviceJobDetails
-		v-if="deviceJobDetailsShow"
-		v-model:show="deviceJobDetailsShow"
-		:wayLineJodInfoId="wayLineJodInfoId"
+		v-if="isShowDeviceJobDetails"
+		v-model:show="isShowDeviceJobDetails"
+		:wayLineJodInfoId="rowData.id"
 	/>
 </template>
 <script setup>
@@ -156,6 +156,7 @@
 import { getMultipleDictionary } from '@/api/system/dictbiz'
 import CurrentTaskDetails from '@/components/CurrentTaskDetails/CurrentTaskDetails.vue'
 import DeviceJobDetails from '@/components/DeviceJobDetails/DeviceJobDetails.vue'
+import { ElMessage } from 'element-plus'
 const isShowDetailsDialog = defineModel('show')
 const dateRange = ref('')
 const searchForm = reactive({
@@ -273,17 +274,16 @@
 }
 // 查看
 const isShowCurrentTaskDetails = ref(false)
-const currentTaskDetailsId = ref(null)
-const deviceJobDetailsShow = ref(false)
-const wayLineJodInfoId = ref(null)
+const isShowDeviceJobDetails = ref(false)
+let rowData = ref({});
 const viewDetail = row => {
-	if (row.status === 1 || row.status === 2) {
-		currentTaskDetailsId.value = row.id
-		isShowCurrentTaskDetails.value = true
-	}
-	if (row.status === 3 || row.status === 5) {
-		wayLineJodInfoId.value = row.id
-		deviceJobDetailsShow.value = true
+	if (!row.device_sns.length) return ElMessage.warning('没有device_sns');
+	if (row.device_sns.length !== 1) return ElMessage.success('即将跳转到集群调度');
+	rowData.value = row? row : {};
+	if (row.status === 2 || row.status === 1){
+		isShowCurrentTaskDetails.value = true;
+	} else{
+		isShowDeviceJobDetails.value = true
 	}
 }
 onMounted(() => {
diff --git a/src/views/SignMachineNest/MachineRight/InspectionRaskList.vue b/src/views/SignMachineNest/MachineRight/InspectionRaskList.vue
index 46981de..e8d3f91 100644
--- a/src/views/SignMachineNest/MachineRight/InspectionRaskList.vue
+++ b/src/views/SignMachineNest/MachineRight/InspectionRaskList.vue
@@ -200,6 +200,12 @@
 const taskClick = item => {
 	if (tabIndex.value === 1) {
 		// 展示当前任务详情
+		if (!item?.device_sns.length) return ElMessage.warning('没有device_sns');
+		if (item?.device_sns?.length !== 1) {
+			// todo 后续开发
+			ElMessage.success('即将跳转到集群调度');
+			return
+		}
 		currentInfoId.value = item.wayline_job_info_id
 		isShowCurrentTaskDetails.value = true
 	} else {
@@ -211,7 +217,13 @@
 
 watch([() => tabIndex.value, () => tableList.value], async ([newTabIndex, newTableList]) => {
 	if (newTabIndex == 1 && newTableList.length > 0) {
-		await getTaskDetails(newTableList[0].wayline_job_info_id)
+		const params = {
+			// 航线信息id
+			wayLineJobInfoId:newTableList[0].wayline_job_info_id,
+			// 当前航线id
+			waylineJobId:newTableList[0].id,
+		}
+		await getTaskDetails(params)
 	}
 })
 
diff --git a/src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue b/src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue
index fe788c3..b76722b 100644
--- a/src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue
+++ b/src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue
@@ -111,15 +111,13 @@
 // 查看当前任务详情 如果是一台机则显示详情 如果是多台机则进入集群调度(暂未开发)
 let rowData = ref({});
 const handleDetail = (row) => {
-	if (row.device_sns.length === 1){
-		rowData.value = row? row : {};
-		if (row.status === 2 || row.status === 1){
-			isShowCurrentTaskDetails.value = true;
-		} else{
-			isShowDeviceJobDetails.value = true
-		}
-	}else{
-		ElMessage.warning('即将跳转到集群调度');
+	if (!row.device_sns.length) return ElMessage.warning('没有device_sns');
+	if (row.device_sns.length !== 1) return ElMessage.success('即将跳转到集群调度');
+	rowData.value = row? row : {};
+	if (row.status === 2 || row.status === 1){
+		isShowCurrentTaskDetails.value = true;
+	} else{
+		isShowDeviceJobDetails.value = true
 	}
 };
 

--
Gitblit v1.9.3