无人机管理后台前端(已迁走)
chenyao
2025-09-16 6127f9b5df355703ef6af449def53e5ab7a51afe
src/views/flightLog/flightLog.vue
@@ -42,8 +42,8 @@
               <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="handleStart"><el-icon><Star /></el-icon>收藏</el-button>
            <el-button type="text" @click="handleExport"><el-icon><Download /></el-icon>导出</el-button>
            <el-button type="text" @click="handleStar(scope.row)"><el-icon><Star /></el-icon>收藏</el-button>
            <el-button type="text" @click="handleExport(scope.row)"><el-icon><Download /></el-icon>导出</el-button>
               </template>
            </el-table-column>
         </el-table>
@@ -84,11 +84,12 @@
   </el-dialog> -->
</template>
<script setup>
import { getHistoryTrack } from '@/api/logs';
import { getHistoryTrack, exportFlyLog, addStar } from '@/api/logs';
import { downloadXls } from '@/utils/util';
const total = ref(0)
const params = ref({
  workspaceId: '6566662f-17c5-44f1-89d2-f09b37b81794',
  // workspaceId: '6566662f-17c5-44f1-89d2-f09b37b81794',
  page: '1',
  page_size: '10',
});
@@ -111,47 +112,6 @@
  event_type: '',
  remark: ''
})
const rules = reactive({
  qua_rate: [
    { required: true, message: '请输入最低准确率', trigger: 'blur' },
    {
      validator: (rule, value, callback) => {
        if (!/^\d+(\.\d+)?$/.test(value)) {
          callback(new Error('请输入有效的数字(整数或小数)'));
        } else if (parseFloat(value) < 0.4) {
          callback(new Error('最低准确率不能小于0.4'));
        } else if (parseFloat(value) >= parseFloat(editParams.value.pass_rate)) {
          callback(new Error('最低准确率必须小于最高准确率'));
        } else {
          callback();
        }
      },
      trigger: 'blur'
    }
  ],
  pass_rate: [
    { required: true, message: '请输入最低准确率', trigger: 'blur' },
    {
      validator: (rule, value, callback) => {
        if (!/^\d+(\.\d+)?$/.test(value)) {
          callback(new Error('请输入有效的数字(整数或小数)'));
        } else if (parseFloat(value) > 0.8) {
          callback(new Error('最高准确率不能大于0.8'));
        } else {
          callback();
        }
      },
      trigger: 'blur'
    }
  ],
  event_type: [
    {
      required: true,
      message: '请选择事件生成类型',
      trigger: 'change',
    },
  ],
})
function timeFormatConvert(time) {
  const date = new Date(time);
@@ -173,17 +133,17 @@
    total.value = res.data.data.pagination.total || 0
  })
}
function handleDetail(row) {
  isShowView.value = true
  rowView.value = row
}
function handleDelete(row) {
  console.log(row)
}
function handleAdd(row) {
  isShowEditView.value = true
  // editParams.value = { ...row }
}
// function handleDetail(row) {
//   isShowView.value = true
//   rowView.value = row
// }
// function handleDelete(row) {
//   console.log(row)
// }
// function handleAdd(row) {
//   isShowEditView.value = true
//   // editParams.value = { ...row }
// }
function handleAll() {
  tabType.value = '全部'
@@ -205,6 +165,21 @@
  })
}
// 收藏
function handleStar(row) {
  addStar({ flight_log_id: row.id }).then(res => {
    getList()
  })
}
// 导出
function handleExport(row) {
  exportFlyLog({ flight_id: row.id }).then(res => {
    console.log(res)
    downloadXls(res.data.data, `${row.job_name}.xls`);
  })
}
function handleSizeChange(val) {
  params.value.page_size = val
  getList()