From 1fc366e055f051c5818cd3fbea63fec16f8195ba Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Wed, 17 Sep 2025 11:36:53 +0800
Subject: [PATCH] feat:更新

---
 src/api/airspace/airspace.js              |    5 
 src/views/flightLog/flightLog.vue         |   92 ++++++++++--------
 src/views/tagManagement/tagManagement.vue |  144 ++++++++--------------------
 3 files changed, 93 insertions(+), 148 deletions(-)

diff --git a/src/api/airspace/airspace.js b/src/api/airspace/airspace.js
index 327974f..45d5732 100644
--- a/src/api/airspace/airspace.js
+++ b/src/api/airspace/airspace.js
@@ -154,8 +154,7 @@
 }
 export const flightLogDelete = data => {
   return request({
-    url: '/drone-device-core/flight/log/remove' + data,
-    method: 'post',
-    data: data
+    url: '/drone-device-core/flight/log/remove?ids=' + data,
+    method: 'post'
   })
 }
\ No newline at end of file
diff --git a/src/views/flightLog/flightLog.vue b/src/views/flightLog/flightLog.vue
index 8aeea44..942effc 100644
--- a/src/views/flightLog/flightLog.vue
+++ b/src/views/flightLog/flightLog.vue
@@ -10,6 +10,8 @@
             range-separator="至"
             start-placeholder="开始日期"
             end-placeholder="结束日期"
+            clearable
+            @change="changeselect"
           />
         </el-form-item>
         <el-form-item>
@@ -39,12 +41,12 @@
         </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">
+            <el-select v-model="scope.row.label_id" @change="handleUpdateLabel(scope.row)">
               <el-option
-                v-for="item in labelList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
+                v-for="item in tagList"
+                :key="item.id"
+                :label="item.label_name"
+                :value="item.id"
               ></el-option>
             </el-select>
           </template>
@@ -96,53 +98,42 @@
 </template>
 <script setup>
 import { getHistoryTrack, exportFlyLog, addStar, updateDroneFlight } from '@/api/logs';
+import { flightLogPage } from '@/api/airspace/airspace';
 import { downloadXls } from '@/utils/util';
+import { exportBlob } from '@/api/common'
+import { ElMessage, ElMessageBox, ElLoading } from 'element-plus';
 
 const total = ref(0)
 let rangTime = ref([])
 const params = ref({
   isFavorite: false,
-  page: '1',
-  page_size: '10',
+  page: 1,
+  page_size: 10,
   startTime: '',
   endTime: '',
 });
 
 let tableList = ref([])
 
-let isShowView = ref(false)
+// let isShowView = ref(false)
 
-let rowView = ref({})
+// let rowView = ref({})
 
-let isShowEditView = ref(false)
+// let isShowEditView = ref(false)
 
 let tabType = ref('全部')
-const ruleFormRef = ref()
-let editParams = ref({
-  model_name: '',
-  alg_type: '',
-  qua_rate: '',
-  pass_rate: '',
-  event_type: '',
-  remark: ''
-})
-
-let labelList = ref([
-  {
-    value: '1',
-    label: '标签1'
-  },
-  {
-    value: '2',
-    label: '标签2'
-  },
-  {
-    value: '3',
-    label: '标签3'
-  },
-])
+// const ruleFormRef = ref()
+// let editParams = ref({
+//   model_name: '',
+//   alg_type: '',
+//   qua_rate: '',
+//   pass_rate: '',
+//   event_type: '',
+//   remark: ''
+// })
 
 function timeFormatConvert(time) {
+  if (!time) return '/'
   const date = new Date(time);
   return date.toLocaleString();
 }
@@ -157,8 +148,9 @@
 }
 
 function getList() {
-  params.value.startTime = rangTime.value[0] ? rangTime.value[0].getTime() : ''
-  params.value.endTime = rangTime.value[1]? rangTime.value[1].getTime() : ''
+  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() : ''
   getHistoryTrack(params.value).then(res => {
     tableList.value = res.data.data.list || []
     total.value = res.data.data.pagination.total || 0
@@ -197,18 +189,27 @@
 
 // 打标签
 function handleUpdateLabel(row) {
-  updateDroneFlight({ flight_log_id: row.id, states: row.states }).then(res => {
-    getList()
+  updateDroneFlight({ id: row.id, label_id: row.label_id }).then(res => {
+    // getList()
+    ElMessage.success('标签成功')
   })
 }
 
 // 导出
 function handleExport(row) {
-  exportFlyLog({ flight_id: row.id }).then(res => {
-    console.log(res)
-    downloadXls(res.data.data, `${row.job_name}.xls`);
-  })
+  exportBlob(
+        `/drone-device-core/log/droneFlightLogInfo/export/${row.id}`
+      ).then(res => {
+        downloadXls(res.data, `${row.job_name}.xlsx`)
+      })
 }
+
+// 日期选择
+// const changeselect = () => {
+//   params.value.startTime = rangTime.value[0] ? rangTime.value[0].getTime() : ''
+//   params.value.endTime = rangTime.value[1]? rangTime.value[1].getTime() : ''
+//   getList()
+// };
 
 function handleSizeChange(val) {
   params.value.page_size = val
@@ -218,8 +219,15 @@
   params.value.page = val
   getList()
 }
+let tagList = ref([])
+function tagManageList() {
+  flightLogPage({ current:1, size: 99 }).then(res => {
+    tagList.value = res.data.data.records || []
+  })
+}
 
 onMounted(() => {
+  tagManageList()
   getList()
 })
 </script>
diff --git a/src/views/tagManagement/tagManagement.vue b/src/views/tagManagement/tagManagement.vue
index 333b93a..265c196 100644
--- a/src/views/tagManagement/tagManagement.vue
+++ b/src/views/tagManagement/tagManagement.vue
@@ -2,29 +2,31 @@
 <template>
   <div class="tagManagement">
     <div class="search-box">
-      <!-- <el-form :model="params" inline>
-        <el-form-item label="空域名称:">
-          <el-input v-model="params.algName" placeholder="请输入空域名称" clearable />
-        </el-form-item>
-        <el-form-item>
-          <el-button type="primary" @click="getList">搜索</el-button>
-          <el-button @click="cancelSearch">取消</el-button>
-        </el-form-item>
-      </el-form> -->
+      <el-form :model="params" inline>
+        <div style="display: flex;justify-content: space-between">
+         <div>
+          <el-form-item label="标签名称:">
+            <el-input v-model="params.label_name" placeholder="请输入标签名称" clearable />
+          </el-form-item>
+         </div>
+         <div>
+          <el-form-item>
+            <el-button type="primary" @click="getList">搜索</el-button>
+            <el-button @click="cancelSearch">取消</el-button>
+          </el-form-item>
+         </div>
+        </div>
+      </el-form>
       <div>
-        <el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
+        <el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增标签</el-button>
       </div>
     </div>
     <div class="mange-table">
 			<el-table border :data="tableList" class="custom-header">
 				<el-table-column label="序号" type="index" width="60"></el-table-column>
-        <el-table-column prop="operating_income" label="营业收入" align="center"></el-table-column>
-        <el-table-column prop="total_cost" label="综合总成本费用" align="center"></el-table-column>
-        <el-table-column prop="net_profit" label="净利润" align="center"></el-table-column>
-        <el-table-column prop="financial_irr" label="财务内部收益率" align="center"></el-table-column>
-        <el-table-column prop="market_space" label="市场空间" align="center" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="label_name" label="标签名称" align="center"></el-table-column>
         <el-table-column prop="create_time" label="创建时间" align="center"></el-table-column>
-        <el-table-column prop="nick_name" label="创建人" align="center"></el-table-column>
+        <el-table-column prop="create_user_name" label="创建人" align="center"></el-table-column>
 				<el-table-column label="操作" width="180" align="center">
 					<template #default="scope">
             <!-- <el-button icon="el-icon-view" type="text" @click="handleDetail(scope.row)">查看</el-button> -->
@@ -45,20 +47,8 @@
 		:width="pxToRem(800)" :close-on-click-modal="false" :destroy-on-close="true" @close="handleClose">
 		<div class="content-edit">
       <el-form ref="ruleFormRef" :model="editParams" :rules="rules" inline>
-        <el-form-item label="营业收入" prop="operating_income">
-          <el-input v-model="editParams.operating_income" />
-        </el-form-item>
-        <el-form-item label="综合总成本费用" prop="total_cost">
-          <el-input v-model="editParams.total_cost" />
-        </el-form-item>
-        <el-form-item label="净利润" prop="net_profit">
-          <el-input v-model="editParams.net_profit" />
-        </el-form-item>
-        <el-form-item label="财务内部收益率" prop="financial_irr">
-          <el-input v-model="editParams.financial_irr" />
-        </el-form-item>
-        <el-form-item label="市场空间" prop="market_space" style="width: 716px;">
-          <el-input v-model="editParams.market_space"  />
+        <el-form-item label="标签名称" prop="label_name">
+          <el-input v-model="editParams.label_name" />
         </el-form-item>
         <div class="btns">
           <el-button v-if="titleTxt === '新增'" type="primary" @click="submit(ruleFormRef)"><el-icon><CirclePlus /></el-icon>确认</el-button>
@@ -76,6 +66,7 @@
 let titleTxt = ref('新增')
 const total = ref(0)
 const params = ref({
+  label_name: '',
   current: 1,
   size: 10,
 });
@@ -87,72 +78,15 @@
 const ruleFormRef = ref()
 let editParams = ref({
   id: '',
-  operating_income: '',
-  total_cost: '',
-  net_profit: '',
-  financial_irr: '',
-  market_space: '',
+  label_name: '',
 })
 const rules = reactive({
-  operating_income: [
-    { required: true, message: '请输入营业收入', trigger: 'blur' },
-    {
-      validator: (rule, value, callback) => {
-        if (!/^\d+(\.\d+)?$/.test(value)) {
-          callback(new Error('请输入有效的数字(整数或小数)'));
-        } else {
-          callback();
-        }
-      },
-      trigger: 'blur'
-    }
-  ],
-  total_cost: [
-    { required: true, message: '请输入综合总成本费用', trigger: 'blur' },
-    {
-      validator: (rule, value, callback) => {
-        if (!/^\d+(\.\d+)?$/.test(value)) {
-          callback(new Error('请输入有效的数字(整数或小数)'));
-        } else {
-          callback();
-        }
-      },
-      trigger: 'blur'
-    }
-  ],
-  net_profit: [
-    { required: true, message: '请输入净利润', trigger: 'blur' },
-    {
-      validator: (rule, value, callback) => {
-        if (!/^\d+(\.\d+)?$/.test(value)) {
-          callback(new Error('请输入有效的数字(整数或小数)'));
-        } else {
-          callback();
-        }
-      },
-      trigger: 'blur'
-    }
-  ],
-  financial_irr: [
-    { required: true, message: '请输入财务内部收益率', trigger: 'blur' },
-    {
-      validator: (rule, value, callback) => {
-        if (!/^\d+(\.\d+)?$/.test(value)) {
-          callback(new Error('请输入有效的数字(整数或小数)'));
-        } else {
-          callback();
-        }
-      },
-      trigger: 'blur'
-    }
-  ],
-  market_space: [
-    { required: true, message: '请输入市场空间', trigger: 'blur' },
+  label_name: [
+    { required: true, message: '请输入标签名称', trigger: 'blur' },
   ],
 })
 
 function getList() {
-  console.log('4444')
   flightLogPage(params.value).then(res => {
     tableList.value = res.data.data.records || []
     total.value = res.data.data.total || 0
@@ -164,6 +98,7 @@
   editParams.value = { ...row }
 }
 function handleDelete (row) {
+  console.log(row, '444')
   ElMessageBox.confirm('确定删除吗?', '提示', {
     confirmButtonText: '确定',
     cancelButtonText: '取消',
@@ -205,7 +140,7 @@
   await formValidate.validate((valid, fields) => {
     if (valid) {
       if (titleTxt.value === '新增') {
-        operatingIncomeAdd(editParams.value).then(res => {
+        flightLogAddEdit(editParams.value).then(res => {
           isShowEditView.value = false
           ElMessage.success('新增成功')
           getList()
@@ -222,15 +157,20 @@
   })
 }
 
+function cancelSearch() {
+  params.value = {
+    label_name: '',
+    current: 1,
+    size: 10,
+  }
+  getList()
+}
+
 function handleClose() {
   // 清除表单内容
   editParams.value = {
     id: '',
-    operating_income: '',
-    total_cost: '',
-    net_profit: '',
-    financial_irr: '',
-    market_space: '',
+    label_name: '',
   }
 }
 
@@ -251,7 +191,7 @@
     flex-direction: column;
     .search-box {
       margin-top: 20px;
-      height: 40px;
+      height: 80px;
     }
 
     :deep(.el-input) {
@@ -318,17 +258,15 @@
 .content-edit {
   .el-form {
     .el-form-item {
-      width: 320px;
+      width: 500px;
       :deep(.el-form-item__label) {
-        width: 140px;
+        width: 220px;
       }
+      
     }
-    // .el-form-item:last-child {
-    //   width: 640px;
-    // }
     .btns {
         display: flex;
-        justify-content: center
+        justify-content: flex-end;
       }
   }
 }

--
Gitblit v1.9.3