无人机管理后台前端(已迁走)
chenyao
2025-09-17 1fc366e055f051c5818cd3fbea63fec16f8195ba
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>