吉安感知网项目-前端
shuishen
2026-02-03 89380e6260a75d1d3b94de687ebcc2f50d50659d
applications/drone-command/src/views/recordManage/alarmRecords/index.vue
@@ -1,9 +1,9 @@
<template>
   <basic-container>
      <el-form ref="queryParamsRef" :model="searchParams" class="ztzf-page-history-search">
      <el-form ref="queryParamsRef" :model="searchParams" class="command-page-history-search">
         <el-form-item label="无人机名称" prop="droneName">
            <el-input
               class="ztzf-data-cockpit-search-input"
               class="command-input"
               v-model="searchParams.droneName"
               placeholder="请输入"
               clearable
@@ -12,7 +12,7 @@
         </el-form-item>
         <el-form-item label="区域" prop="areaName">
            <el-input
               class="ztzf-data-cockpit-search-input"
               class="command-input"
               v-model="searchParams.areaName"
               placeholder="请输入"
               clearable
@@ -21,8 +21,8 @@
         </el-form-item>
         <el-form-item label="设备类型" prop="droneType">
            <el-select
               class="ztzf-data-cockpit-select"
               popper-class="ztzf-data-cockpit-select-popper"
               class="command-select"
               popper-class="command-select-popper"
               v-model="searchParams.droneType"
               placeholder="请选择"
               clearable
@@ -38,8 +38,8 @@
         </el-form-item>
         <el-form-item label="告警时间">
            <el-date-picker
               popper-class="ztzf-data-cockpit-date-picker-popper"
               class="ztzf-data-cockpit-date-picker"
               popper-class="command-date-picker-popper"
               class="command-date-picker"
               v-model="dateRange"
               type="daterange"
               range-separator="至"
@@ -55,13 +55,16 @@
         </el-form-item>
      </el-form>
      <div class="ztzf-table-toolbar">
         <el-button :icon="Download" color="#1A2652" type="primary" @click="exportFile" :loading="exportLoading">导出</el-button>
      <div class="command-table-toolbar">
         <el-button :icon="Download" color="#1A2652" type="primary" @click="exportFile" :loading="exportLoading">
            导出
         </el-button>
      </div>
      <div class="ztzf-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)">
         <div class="ztzf-table-content ztzf-table-content-bg">
            <el-table class="ztzf-data-cockpit-table" :data="list">
      <div class="command-table-container" v-loading="loading" element-loading-background="rgba(5, 5, 15, 0.6)">
         <div class="command-table-content command-table-content-bg">
            <el-table class="command-table" :data="list" @selection-change="handleSelectionChange">
               <el-table-column type="selection" width="46" />
               <el-table-column type="index" show-overflow-tooltip width="64" label="序号" />
               <el-table-column prop="droneName" show-overflow-tooltip width="140" label="无人机名称" />
               <el-table-column prop="droneSerialNo" show-overflow-tooltip label="无人机序列号" />
@@ -83,9 +86,9 @@
            </el-table>
         </div>
         <div class="ztzf-table-pagination">
         <div class="command-table-pagination">
            <el-pagination
               popper-class="ztzf-data-cockpit-select-popper"
               popper-class="command-select-popper"
               v-model:current-page="searchParams.current"
               v-model:page-size="searchParams.size"
               layout="total, prev, pager, next, sizes"
@@ -106,6 +109,8 @@
import { exportFwDroneAlarmRecordApi, fwDroneAlarmRecordPageApi } from './fwDroneAlarmRecord'
import FormDiaLog from './FormDiaLog.vue'
import { blobDownload, dateRangeFormat, getDictLabel } from '@ztzf/utils'
import { saveOperationLog } from '@ztzf/apis'
import { useRoute } from 'vue-router'
const initSearchParams = () => ({
   droneName: '', // 无人机名称
@@ -126,6 +131,7 @@
})
const dateRange = ref([])
const exportLoading = ref(false)
const route = useRoute()
const deviceTypeMap = computed(() => {
   const map = new Map()
   dictObj.value.deviceType.forEach(item => {
@@ -148,6 +154,12 @@
   }
}
const selectedIds = ref([]) // 勾选的ID列表
// 勾选值设置
function handleSelectionChange(rows) {
   selectedIds.value = rows.map(item => item.id)
}
// 查询
function handleSearch() {
   searchParams.value.current = 1
@@ -164,8 +176,13 @@
function exportFile() {
   exportLoading.value = true
   exportFwDroneAlarmRecordApi()
   exportFwDroneAlarmRecordApi({ ids: selectedIds.value.join(',') })
      .then(res => {
         saveOperationLog({
            requestUri: route.path,
            title: `${route.name || '报警记录'}-导出`,
            type: 1,
         })
         blobDownload(res)
      })
      .finally(() => {