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