无人机管理后台前端(已迁走)
罗广辉
2025-08-13 d516e08ace187d792b99440223dcf5eaf3f6f36b
src/views/dataCenter/components/searchData.vue
@@ -2,8 +2,9 @@
  <div class="search-box-test">
    <el-form :model="searchForm" inline>
      <div class="search-first">
        <el-form-item label="行政区划:">
        <el-form-item label="行政区划:" >
          <el-tree-select
          :disabled="foldersDisabled"
            popper-class="custom-tree-select"
            v-model="searchForm.areaCode"
            :data="deptTreeData"
@@ -16,6 +17,7 @@
        </el-form-item>
        <el-form-item label="所属机巢:">
          <el-select
          :disabled="foldersDisabled"
            :teleported="false"
            v-model="searchForm.deviceSn"
            placeholder="请选择"
@@ -59,6 +61,7 @@
        </el-form-item>
        <el-form-item label="文件格式:">
          <el-select
          :disabled="foldersDisabled"
            :teleported="false"
            v-model="searchForm.resultType"
            placeholder="请选择"
@@ -76,7 +79,8 @@
        </el-form-item>
        <el-form-item label="文件类别:">
          <el-select
            :disabled="disabled"
            :disabled="disabled || foldersDisabled"
            :teleported="false"
            v-model="searchForm.photoType"
            placeholder="请选择"
@@ -95,7 +99,7 @@
      </div>
      <div class="search-first">
        <el-form-item label="文件名称:">
          <el-input v-model="searchForm.name" placeholder="请输入" clearable />
          <el-input :disabled="foldersDisabled" 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>
@@ -107,6 +111,7 @@
<!--          <el-button type="primary" icon="el-icon-download" @click="allDownloadFun"-->
<!--            >全部下载</el-button-->
<!--          >-->
        <el-button type="primary" plain  @click="handleswitchFolders" ><el-icon><FolderOpened /></el-icon></el-button>
          <div class="downloadBtn" @click="htsjzx === 100 && downloadFun()">
            <el-progress v-if="htsjzx !== 100" :percentage="htsjzx" :show-text="false" striped striped-flow :duration="1" />
            <div class="downloadBtnText">
@@ -135,13 +140,13 @@
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']);
const emit = defineEmits(['search', 'downFun', 'allDownFun','handleswitchFolders']);
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')];
const dateRange = ref(timeRange);
const timeFormat = 'YYYY-MM-DD HH:mm:ss';
const props = defineProps(['searchjobId','switchFolders'])
const searchForm = reactive({
  jobName: '', //任务名称
  name: '', //文件名称
@@ -151,6 +156,7 @@
  deviceSn: '', // 所属机巢
  resultType: '', //文件格式
  photoType: '', //文件类别
  wayLineJobId:''
});
const disabled = ref(false);
const treeProps = {
@@ -207,6 +213,18 @@
  },
  { deep: true }
);
watch(() => props.searchjobId, (newVal) => {
  searchForm.wayLineJobId = newVal;
  handleSearch()
});
const foldersDisabled  = ref(false)
watch(() => props.switchFolders, (newVal) => {
if(newVal === true){
  foldersDisabled.value = true
}else{
   foldersDisabled.value = false
}
});
const changePhotoType =(val)=>{
if(val === undefined){
  searchForm.photoType = ''
@@ -322,7 +340,10 @@
    ElMessage.success('取消成功')
  })
}
// 切换文件夹
const handleswitchFolders =()=>{
  emit('handleswitchFolders');
}
onMounted(() => {
  requestDockInfo();
  getDownloadStatusApi({type: 'htsjzx'}).then(res =>{
@@ -346,9 +367,12 @@
    justify-content: space-between;
    .search-btn {
    display: flex;
    align-items: center;
      margin-right: 32px;
      .downloadBtn{
      margin-left: 10px;
        position: relative;
        display: flex;
        align-items: center;