From cc6ed9d9f2aa4d07e5f900843779a094e7a4dbab Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Mon, 21 Jul 2025 11:16:26 +0800
Subject: [PATCH] feat:优化任务管理搜索操作

---
 src/views/job/components/TaskIntermediateContent/TaskIntermediateContent.vue |   48 ++++++++++++++++++++++++++++++------------------
 1 files changed, 30 insertions(+), 18 deletions(-)

diff --git a/src/views/job/components/TaskIntermediateContent/TaskIntermediateContent.vue b/src/views/job/components/TaskIntermediateContent/TaskIntermediateContent.vue
index ec6ddd4..38d6221 100644
--- a/src/views/job/components/TaskIntermediateContent/TaskIntermediateContent.vue
+++ b/src/views/job/components/TaskIntermediateContent/TaskIntermediateContent.vue
@@ -17,6 +17,7 @@
 				<el-table-column prop="ai_type_str" label="关联算法" show-overflow-tooltip align="center" />
 				<el-table-column label="任务状态" align="center">
 					<template #default="scope">
+						<div class="base_f_c_c">
 						<span :style="{
 							color:
 								scope.row.status === 1
@@ -33,6 +34,16 @@
 						}">
 							{{ scope.row.status ? getStatusText(scope.row.status) : '' }}
 						</span>
+						<el-tooltip
+								class="item"
+								effect="dark"
+								:content="scope.row.reason"
+								placement="top"
+								popper-class="reasonNotFly ztzf-tooltip-box1"
+							>
+								<el-icon v-if="scope.row.status === 5 && scope.row.reason" color="#FF4848"><QuestionFilled /></el-icon>
+							</el-tooltip>
+						</div>
 					</template>
 				</el-table-column>
 				<el-table-column prop="is_circle_job" label="任务类型" align="center">
@@ -50,7 +61,6 @@
 				<el-table-column prop="creator_name" label="创建人" align="center" show-overflow-tooltip />
 				<el-table-column label="操作" width="200" align="center">
 					<template #default="scope">
-<<<<<<< HEAD
 						<div
 							v-if="scope.row.status === 2"
 							class="btnItem"
@@ -67,14 +77,6 @@
 							type="primary"
 							@click="cancelTask(scope.row)"
 						>
-=======
-						<div v-if="scope.row.status === 2" class="btnItem turnBack" link type="primary"
-							@click="turnBack(scope.row)">
-							返航
-						</div>
-						<div v-if="scope.row.status === 1" class="btnItem cancelTask" link type="primary"
-							@click="cancelTask(scope.row)">
->>>>>>> 28c246747fe4214c22f3df73ad62b3cd2668dc3c
 							取消任务
 						</div>
 						<div class="btnItem" link type="primary" @click="handleDetail(scope.row)">查看</div>
@@ -87,7 +89,7 @@
 				class="ztzf-pagination"
 				popper-class="custom-pagination-dropdown"
 				background
-				:page-sizes="[10, 20, 30, 40]"
+				:page-sizes="[10, 20, 30, 40,50,100]"
 				:size="size"
 				v-model:current-page="jobListParams.current"
 				v-model:page-size="jobListParams.size"
@@ -117,11 +119,12 @@
 import SearchBox from '../SearchBox.vue'
 import AddTask from './AddTask.vue'
 // import CurrentTaskDetails from '@/components/CurrentTaskDetails/CurrentTaskDetails.vue'
-import { jobList, cancelJobs, taskReturnLines } from '@/api/job/task'
+import { jobList, cancelJobs, taskReturnLines, returnHomeCluster } from '@/api/job/task'
 import { ElMessage } from 'element-plus'
 import DeviceJobDetails from '../DeviceJobDetails.vue'
 import CancelTaskDialog from '../CancelTaskDialog.vue'
 import { useStore } from 'vuex'
+import { cloneDeep } from 'lodash';
 const store = useStore()
 const singleUavHome = computed(() => store.state.home.singleUavHome)
 const jobListParams = reactive({
@@ -138,7 +141,15 @@
 
 // 获取任务列表
 const getJobList = () => {
-	jobList(jobListParams).then(res => {
+  const apiParams = {
+    ...cloneDeep(jobListParams),
+    searchParams: {
+      ...cloneDeep(jobListParams.searchParams),
+      status_list: jobListParams.searchParams.status || undefined,
+      status: undefined,
+    },
+  }
+	jobList(apiParams).then(res => {
 		if (res.data.code !== 0) return
 		jobListData.value = res.data.data.records
 		total.value = res.data.data.total
@@ -224,7 +235,12 @@
 }
 // 返航
 const turnBack = row => {
-	taskReturnLines(row.device_sns).then(res => {
+	if (row.returnStatus === '待机') return
+
+	if (row.returnStatus === '自动返航') return ElMessage.success('无人机返航中')
+
+	if (row.returnStatus === '自动降落') return ElMessage.success('无人机降落中')
+	returnHomeCluster(row.device_sns).then(res => {
 		if (res.data.code !== 0) return
 		ElMessage.success('返航操作成功')
 		getJobList()
@@ -242,7 +258,7 @@
 	flex: 1;
 	margin: 0 10px 10px 10px;
 	background-color: #ffffff;
-	padding: 20px;
+	padding: 10px 20px;
 	border-radius: 5px;
 	display: flex;
 	flex-direction: column;
@@ -299,11 +315,7 @@
 
 	:deep(.el-pagination) {
 		display: flex;
-<<<<<<< HEAD
 		justify-content: right;
-=======
-		justify-content: flex-end;
->>>>>>> 28c246747fe4214c22f3df73ad62b3cd2668dc3c
 	}
 
 	:deep(.el-pagination button) {

--
Gitblit v1.9.3