无人机管理后台前端(已迁走)
张含笑
2025-06-11 876dabc17c09c7c03d05f1f749d5be0a4c6eab99
src/views/dataCenter/components/searchData.vue
@@ -5,9 +5,9 @@
        <el-form-item label="行政区划:">
          <el-tree-select
            popper-class="custom-tree-select"
            v-model="searchForm.area_code"
            v-model="searchForm.areaCode"
            :data="deptTreeData"
            :default-expanded-keys="[searchForm.area_code]"
            :default-expanded-keys="[searchForm.areaCode]"
            check-strictly
            node-key="id"
            :props="treeProps"
@@ -17,7 +17,7 @@
        <el-form-item label="所属机巢:">
          <el-select
            :teleported="false"
            v-model="searchForm.device_sn"
            v-model="searchForm.deviceSn"
            placeholder="请选择"
            clearable
          >
@@ -30,7 +30,7 @@
          </el-select>
        </el-form-item>
        <el-form-item label="任务名称:">
          <el-input v-model="searchForm.taskName" placeholder="请输入" clearable />
          <el-input v-model="searchForm.jobName" placeholder="请输入" clearable />
        </el-form-item>
        <el-form-item>
          <el-date-picker
@@ -58,7 +58,7 @@
        <el-form-item label="文件格式:">
          <el-select
            :teleported="false"
            v-model="searchForm.formatValue"
            v-model="searchForm.resultType"
            placeholder="请选择"
            clearable
          >
@@ -73,7 +73,7 @@
        <el-form-item label="文件类别:">
          <el-select
            :teleported="false"
            v-model="searchForm.categoryValue"
            v-model="searchForm.photoType"
            placeholder="请选择"
            clearable
          >
@@ -88,7 +88,7 @@
      </div>
      <div class="search-first">
        <el-form-item label="文件名称:">
          <el-input v-model="searchForm.fileName" placeholder="请输入" clearable />
          <el-input v-model="searchForm.nickName" placeholder="请输入" clearable />
        </el-form-item>
        <div class="search-btn">
          <el-button type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
@@ -122,47 +122,48 @@
};
const fileFormatOption = [
  {
    value: '照片',
    value: '0',
    label: '照片',
  },
  {
    value: '视频',
    value: '1',
    label: '视频',
  },
  {
    value: 'AI识别',
    value: '2',
    label: 'AI识别',
  },
  {
    value: '全景',
    value: '3',
    label: '全景',
  },
  {
    value: '正射',
    value: '4',
    label: '正射',
  },
];
const CategoryOption = [
  {
    value: '可见光',
    value: 'visible',
    label: '可见光',
  },
  {
    value: '红外',
    value: 'ir',
    label: '红外',
  },
];
const searchForm = reactive({
  taskName: '', //任务名称
  fileName: '', //文件名称
  area_code: userAreaCode.value, // 区域code
  create_dept: '', // 创建部门
  end_date: null, // 结束时间
  start_date: null, // 开始时间
  device_sn: '', // 所属机巢
  formatValue: '', //文件格式
  categoryValue: '', //文件类别
  jobName: '', //任务名称
  nickName: '', //文件名称
  areaCode: userAreaCode.value, // 区域code
  endTime: null, // 结束时间
  startTime: null, // 开始时间
  deviceSn: '', // 所属机巢
  resultType: '', //文件格式
  photoType: '', //文件类别
});
const dateRange = ref([]);
const timeFormat = 'YYYY-MM-DD HH:mm:ss';
// 部门
@@ -197,7 +198,7 @@
};
const handleNodeClick = async data => {
  // 处理机巢数据
  searchForm.device_sn = '';
  searchForm.deviceSn = '';
  machineData.value = '';
  const droneList = await getDeviceRegion({ areaCode: data.id });
@@ -205,7 +206,7 @@
  machineData.value = droneList?.data?.data;
  // 默认选中值
  if (signDevice_sn.value) {
    searchForm.device_sn = signDevice_sn.value;
    searchForm.deviceSn = signDevice_sn.value;
  }
  // 所属部门重新请求值
  searchForm.create_dept = '';
@@ -214,7 +215,7 @@
};
// 所属部门信息
const getDeptsByAreaCode = () => {
  deptsByAreaCode(searchForm.area_code).then(res => {
  deptsByAreaCode(searchForm.areaCode).then(res => {
    if (res.code !== 0) {
      deptData.value = res.data.data;
    }
@@ -227,10 +228,10 @@
  }
  let params = {
    ...searchForm,
    start_date: dateRange.value.length
    startTime: dateRange.value.length
      ? dayjs(dateRange?.value[0]).startOf('day').format(timeFormat)
      : null,
    end_date: dateRange.value.length
    endTime: dateRange.value.length
      ? dayjs(dateRange?.value[1]).endOf('day').format(timeFormat)
      : null,
  };
@@ -238,7 +239,7 @@
  // 调用父组件方法
  emit('search', params);
};
// 重置
// 清空
const handleReset = () => {
  dateRange.value = [];
  Object.keys(searchForm).forEach(key => {