无人机管理后台前端(已迁走)
张含笑
2025-12-09 5808f76456ca0d40de5074f132b73a5a488e3e13
src/views/dataCenter/components/searchData.vue
@@ -1,9 +1,10 @@
<template>
  <div class="search-box-test">
    <el-form :model="searchForm" inline>
      <div class="search-first">
      <el-row :gutter="24">
        <el-col :span="4">
        <el-form-item label="行政区划:" >
          <el-tree-select
          <el-tree-select
          :disabled="viewDetailsDisabled"
            popper-class="custom-tree-select"
            v-model="searchForm.areaCode"
@@ -15,6 +16,8 @@
            @node-click="handleNodeClick"
          />
        </el-form-item>
        </el-col>
          <el-col :span="4">
        <el-form-item label="所属机巢:">
          <el-select
          :disabled="viewDetailsDisabled"
@@ -32,10 +35,14 @@
            />
          </el-select>
        </el-form-item>
          </el-col>
        <el-col :span="4">
        <el-form-item label="任务名称:">
          <el-input  :disabled="viewDetailsDisabled" v-model="searchForm.jobName" placeholder="请输入" clearable />
        </el-form-item>
        <el-form-item>
        </el-col>
        <el-col :span="8">
        <el-form-item label="选择日期:">
          <el-date-picker
           :disabled="viewDetailsDisabled"
            popper-class="custom-date-picker"
@@ -60,6 +67,8 @@
            }"
          />
        </el-form-item>
        </el-col>
        <el-col :span="4">
        <el-form-item label="文件格式:">
          <el-select
          :disabled="foldersDisabled || viewDetailsDisabled"
@@ -78,9 +87,11 @@
            />
          </el-select>
        </el-form-item>
        </el-col>
        <el-col :span="4">
        <el-form-item label="文件类别:">
          <el-select
            :disabled="disabled || foldersDisabled || viewDetailsDisabled"
            :teleported="false"
            v-model="searchForm.photoType"
@@ -97,16 +108,17 @@
            />
          </el-select>
        </el-form-item>
      </div>
      <div class="search-first">
        </el-col>
        <el-col :span="4">
        <el-form-item label="文件名称:">
          <el-input :disabled="foldersDisabled || viewDetailsDisabled" v-model="searchForm.name" placeholder="请输入" clearable />
        </el-form-item>
        <div class="search-btn">
          <el-button  type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
          <el-button  icon="el-icon-refresh" @click="handleReset">清空</el-button>
        </div>
      </div>
        </el-col>
        <el-col :span="4">
          <el-button :disabled="viewDetailsDisabled" type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
          <el-button :disabled="viewDetailsDisabled" icon="el-icon-refresh" @click="handleReset">清空</el-button>
        </el-col>
      </el-row>
      <div class="search-first">
        <div class="search-btn">
<!--          <el-button type="primary" icon="el-icon-download" @click="allDownloadFun"-->
@@ -142,7 +154,7 @@
const userAreaCode = computed(() => store.getters.userInfo.detail.areaCode);
const selectedAreaCode = computed(() => store.state.user.selectedAreaCode);
const htsjzx = computed(() => store.state.common.downloadProgress?.htsjzx || 100)
const emit = defineEmits(['search', 'downFun', 'allDownFun','handleswitchFolders','handleBack']);
const emit = defineEmits(['search', 'Reset','downFun', 'allDownFun','handleswitchFolders','handleBack']);
const startTime = dayjs().subtract(6, 'day').startOf('day');
const endTime = dayjs().endOf('day');
const timeRange = [startTime.format('YYYY-MM-DD HH:mm:ss'), endTime.format('YYYY-MM-DD HH:mm:ss')];
@@ -283,7 +295,7 @@
  machineData.value = '';
  const droneList = await getDeviceRegion({ areaCode: data.id });
  machineData.value = droneList?.data?.data;
  // 默认选中值
  if (signDevice_sn.value) {
    searchForm.deviceSn = signDevice_sn.value;
@@ -292,7 +304,7 @@
  deptData.value = [];
  getDeptsByAreaCode();
  handleSearch();
};
// 所属部门信息
const getDeptsByAreaCode = () => {
@@ -333,6 +345,7 @@
  searchForm.wayLineJobId=''
  handleNodeClick({ id: userAreaCode.value });
  handleSearch();
   emit('Reset', searchForm);
};
// 下载
const downloadFun = () => {
@@ -346,26 +359,30 @@
function cancelDownload() {
  cancelDownloadApi({ type:'htsjzx' }).then(res =>{
    ElMessage.success('取消成功')
  }).catch(e =>{
    EventBus.emit('useGlobalWS-messageHandler', {biz_code: 'DOWNLOAD_PROGRESS',data:{status: 'CANCELLED',type:'htsjzx'}})
  })
}
// 切换文件夹
const handleswitchFolders =()=>{
  emit('handleswitchFolders');
  emit('handleswitchFolders');
}
// 返回按钮
const handleBack = ()=>{
  emit('handleBack');
  emit('handleBack');
}
onMounted(() => {
  requestDockInfo();
  getDownloadStatusApi({type: 'htsjzx'}).then(res =>{
    if (!['CANCELLED','COMPLETED'].includes(res.data.data?.status || 'COMPLETED')){
      EventBus.emit('useDownloadWs-messageHandler',res.data.data)
      EventBus.emit('useGlobalWS-messageHandler',res.data.data)
    }
  })
});
defineExpose({
  handleReset,
});
</script>
<style scoped lang="scss">
@@ -464,12 +481,17 @@
    }
    .el-form-item {
      margin-bottom: 0;
      width: 233px;
      //margin-bottom: 0;
      width: 100%;
      .el-form-item__label {
        color: #363636;
        line-height: 32px;
        width: 80px;
      }
      .el-form-item__content {
        display: flex;
        flex: 1;
      }
    }
  }