From 92af1d75c0e194bbe52faeb3eca3ca79ccca5b2a Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Wed, 17 Sep 2025 18:40:23 +0800
Subject: [PATCH] feat:更新名称

---
 src/views/flightLog/flightLog.vue |  190 +++++++++++++++++++++++++++++++----------------
 1 files changed, 125 insertions(+), 65 deletions(-)

diff --git a/src/views/flightLog/flightLog.vue b/src/views/flightLog/flightLog.vue
index ecaf5a1..deed221 100644
--- a/src/views/flightLog/flightLog.vue
+++ b/src/views/flightLog/flightLog.vue
@@ -3,6 +3,14 @@
   <div class="flight">
     <div class="search-box">
       <el-form :model="params" inline>
+        <div style="display: flex;justify-content: space-between">
+          <div>
+            <el-form-item label="任务名称:">
+            <el-input v-model="params.job_name" placeholder="请输入任务名称" clearable />
+          </el-form-item>
+          <el-form-item label="任务编号:">
+            <el-input v-model="params.jobInfoNum" placeholder="请输入任务编号" clearable />
+          </el-form-item>
         <el-form-item label="日期:">
           <el-date-picker
             v-model="rangTime"
@@ -14,19 +22,28 @@
             @change="changeselect"
           />
         </el-form-item>
+      </div>
+      <div>
         <el-form-item>
           <el-button type="primary" @click="getList">搜索</el-button>
-          <el-button @click="cancelSearch">取消</el-button>
+          <el-button @click="cancelSearch">清空</el-button>
         </el-form-item>
+      </div>
+      </div>
       </el-form>
-      <div>
+      <!-- <div>
         <el-button :type="tabType === '全部'?'primary':'default'" @click="handleAll"><el-icon><Folder /></el-icon>全部</el-button>
         <el-button :type="tabType === '收藏'?'primary':'default'" @click="handleStartList"><el-icon><Star /></el-icon>我的收藏</el-button>
-      </div>
+      </div> -->
     </div>
     <div class="mange-table">
+      <el-tabs v-model="tabType" class="demo-tabs" @tab-click="handleTabClick">
+        <el-tab-pane label="全部" name="全部"></el-tab-pane>
+        <el-tab-pane label="我的收藏" name="收藏"></el-tab-pane>
 			<el-table border :data="tableList" class="custom-header">
 				<el-table-column label="序号" type="index" width="60"></el-table-column>
+        <el-table-column prop="job_name" label="任务名称" align="center" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="job_info_num" label="任务编号" align="center" show-overflow-tooltip></el-table-column>
         <el-table-column prop="title" label="飞行类型" align="center" show-overflow-tooltip></el-table-column>
         <el-table-column prop="device_name" label="无人机" align="center"></el-table-column>
         <el-table-column prop="start_time" label="开始时间" align="center">
@@ -41,7 +58,7 @@
         </el-table-column>
         <el-table-column prop="end_time" label="标签" align="center">
           <template #default="scope">
-            <el-select v-model="scope.row.label_id" @change="handleUpdateLabel(scope.row)">
+            <el-select v-model="scope.row.label_id" @change="handleUpdateLabel(scope.row)" clearable>
               <el-option
                 v-for="item in tagList"
                 :key="item.id"
@@ -51,16 +68,20 @@
             </el-select>
           </template>
         </el-table-column>
-				<el-table-column label="操作" width="200" align="center">
+				<el-table-column label="操作" width="300" align="center">
 					<template #default="scope">
-            <!-- <el-button icon="el-icon-view" type="text" @click="handleDetail(scope.row)">查看</el-button> -->
-						<!-- <el-button icon="el-icon-delete" type="text" @click="handleDelete">删除</el-button> --> 
-            <el-button type="text" @click="handleStar(scope.row)"><el-icon><Star /></el-icon>{{ scope.row.is_favorite ? '取消收藏':'收藏' }}</el-button>
+            <el-button icon="el-icon-view" type="text" @click="handleDetail(scope.row)">查看</el-button>
+						<el-button icon="el-icon-delete" type="text" @click="handleDelete(scope.row)">删除</el-button> 
+            <el-button type="text" @click="handleStar(scope.row)">
+              <el-icon><Star /></el-icon>
+              {{ scope.row.is_favorite ? '取消收藏':'收藏' }}</el-button>
             <el-button type="text" @click="handleExport(scope.row)"><el-icon><Download /></el-icon>导出</el-button>
 					</template>
 				</el-table-column>
 			</el-table>
+    </el-tabs>
 		</div>
+  
 		<div class="pagination">
 			<el-pagination class="ztzf-pagination" popper-class="custom-pagination-dropdown" background
 				:page-sizes="[10, 20, 30, 40, 50, 100]" :size="size" v-model:current-page="params.page"
@@ -68,36 +89,28 @@
 				@size-change="handleSizeChange" @current-change="handleCurrentChange" />
 		</div>
   </div>
-  <!-- <el-dialog class="ztzf-dialog" append-to-body v-model="isShowView" title="查看"
-		:width="pxToRem(600)" :close-on-click-modal="false" :destroy-on-close="true">
-		<div class="content">
-      <table class="view-table" border>
-        <tr>
-          <td class="label">空域类型</td>
-          <td class="value">{{ rowView.model_name }}</td>
-          <td class="label">创建时间</td>
-          <td class="value">{{ rowView.alg_type }}</td>
-        </tr>
-      </table>
+  <el-dialog class="ztzf-dialog" append-to-body v-model="isShowView" title="查看"
+		:width="pxToRem(1000)" :close-on-click-modal="false" :destroy-on-close="true">
+		<!-- <div class="content"> -->
+      <el-table border :data="tableDataDetails" height="466">
+        <el-table-column label="序号" type="index" width="60"></el-table-column>
+        <el-table-column prop="flight_type" label="飞行类型" align="center" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="latitude" label="经度" align="center"></el-table-column>
+        <el-table-column prop="longitude" label="纬度" align="center"></el-table-column>
+        <el-table-column prop="height" label="高度" align="center"></el-table-column>
+        <el-table-column prop="elevation" label="海拔高度" align="center"></el-table-column>
+      </el-table>
+      <div class="pagination" style="display: flex;justify-content: end;margin-top: 10px;">
+        <el-pagination class="ztzf-pagination" popper-class="custom-pagination-dropdown" background
+          :page-sizes="[10, 20, 30, 40, 50, 100]" :size="size" v-model:current-page="detailParams.current"
+          v-model:page-size="detailParams.size" layout="total, sizes, prev, pager, next, jumper" :total="detailTotal"
+          @size-change="handleSizeChangeDetails" @current-change="handleCurrentChangeDetails" />
+    <!-- </div> -->
     </div>
 	</el-dialog>
-  <el-dialog class="ztzf-dialog" append-to-body v-model="isShowEditView" title="新增"
-		:width="pxToRem(800)" :close-on-click-modal="false" :destroy-on-close="true">
-		<div class="content-edit">
-      <el-form ref="ruleFormRef" :model="editParams" :rules="rules" inline>
-        <el-form-item label="空域名称">
-          <el-input v-model="editParams.model_name" />
-        </el-form-item>
-        <div class="btns">
-          <el-button type="primary" @click="submit(ruleFormRef)">确认</el-button>
-          <el-button @click="isShowEditView = false">取消</el-button>
-        </div>
-      </el-form>
-    </div>
-	</el-dialog> -->
 </template>
 <script setup>
-import { getHistoryTrack, cancelStar, addStar, updateDroneFlight } from '@/api/logs';
+import { getHistoryTrack, cancelStar, addStar, updateDroneFlight, droneFlightLogInfoPage } from '@/api/logs';
 import { flightLogPage } from '@/api/airspace/airspace';
 import { downloadXls } from '@/utils/util';
 import { exportBlob } from '@/api/common'
@@ -111,26 +124,15 @@
   page_size: 10,
   startTime: '',
   endTime: '',
+  job_name: '',
+  jobInfoNum: '',
 });
 
 let tableList = ref([])
 
-// let isShowView = ref(false)
-
-// let rowView = ref({})
-
-// let isShowEditView = ref(false)
+let isShowView = ref(false)
 
 let tabType = ref('全部')
-// const ruleFormRef = ref()
-// let editParams = ref({
-//   model_name: '',
-//   alg_type: '',
-//   qua_rate: '',
-//   pass_rate: '',
-//   event_type: '',
-//   remark: ''
-// })
 
 function timeFormatConvert(time) {
   if (!time) return '/'
@@ -139,18 +141,27 @@
 }
 
 function cancelSearch() {
+  rangTime.value = []
   params.value = {
-    isFavorite: false,
+    startTime: '',
+    endTime: '',
+    isFavorite: tabType.value === '收藏' ? true : false,
     page: '1',
     page_size: '10',
+    job_name: '',
+    jobInfoNum: '',
   }
   getList()
 }
 
 function getList() {
-  console.log(rangTime.value, '333')
   params.value.startTime = rangTime.value?.length ? rangTime.value[0].getTime() : ''
-  params.value.endTime = rangTime.value?.length? rangTime.value[1].getTime() : ''
+  params.value.endTime = rangTime.value?.length? new Date(
+    rangTime.value[1].getFullYear(),
+    rangTime.value[1].getMonth(),
+    rangTime.value[1].getDate(),
+    23, 59, 59
+  ).getTime() : ''
   getHistoryTrack(params.value).then(res => {
     tableList.value = res.data.data.list || []
     total.value = res.data.data.pagination.total || 0
@@ -163,6 +174,41 @@
   tabType.value = '全部'
   getList()
 }
+// 查看
+let tableDataDetails = ref([])
+let detailTotal = ref(0)
+let detailParams = ref({
+  current: 1,
+  size: 10,
+  flightId: ''
+})
+function handleDetail(row) {
+  isShowView.value = true
+  detailParams.value.current = 1
+  detailParams.value.flightId = row.id
+  detailTotal.value = 0
+  droneFlightLogInfoPage(detailParams.value).then(res => {
+    tableDataDetails.value = res.data.data.records
+    detailTotal.value = res.data.data.total
+  })
+}
+// 分页
+function handleSizeChangeDetails(val) {
+  detailParams.value.size = val
+  detailParams.value.current = 1
+  droneFlightLogInfoPage(detailParams.value).then(res => {
+    tableDataDetails.value = res.data.data.records
+    detailTotal.value = res.data.data.total
+  })
+}
+function handleCurrentChangeDetails(val) {
+  detailParams.value.current = val
+  droneFlightLogInfoPage(detailParams.value).then(res => {
+    tableDataDetails.value = res.data.data.records
+    detailTotal.value = res.data.data.total
+  })
+}
+
 
 function handleStartList() {
   params.value.isFavorite = true
@@ -171,21 +217,16 @@
   getList()
 }
 
-// async function submit(formValidate) {
-//   if (!formValidate) return
-//   await formValidate.validate((valid, fields) => {
-//     if (valid) {
-//       algorithmManageEdit(editParams.value).then(res => {
-//         isShowEditView.value = false
-//         getList()
-//       })
-//     } 
-//   })
-// }
+function handleTabClick() {
+  if (tabType.value === '全部') {
+    handleAll()
+  } else if (tabType.value === '收藏') {
+    handleStartList()
+  }
+}
 
 // 收藏
 function handleStar(row) {
-  console.log(row, '5555')
   if (row.is_favorite) {
     cancelStar(row.id).then(res => {
       ElMessage.success('取消收藏成功')
@@ -203,7 +244,26 @@
 function handleUpdateLabel(row) {
   updateDroneFlight({ id: row.id, label_id: row.label_id }).then(res => {
     // getList()
-    ElMessage.success('标签成功')
+    ElMessage.success('设置标签成功')
+  })
+}
+
+// 删除
+function handleDelete(row) {
+  ElMessageBox.confirm('确定删除该条数据?', '提示', {
+    confirmButtonText: '确定',
+    cancelButtonText: '取消',
+    type: 'warning',
+  }).then(() => {
+    updateDroneFlight({ is_deleted: 1, id: row.id }).then(res => {
+      ElMessage.success('删除成功')
+      getList()
+    })
+  }).catch(() => {
+    ElMessage({
+      type: 'info',
+      message: '已取消删除'
+    })
   })
 }
 
@@ -255,7 +315,7 @@
     display: flex;
     flex-direction: column;
     .search-box {
-      height: 80px;
+      height: 30px;
     }
 
     :deep(.el-input) {

--
Gitblit v1.9.3