无人机管理后台前端(已迁走)
张含笑
2025-08-11 0a5af224384ead6609263c49a1f10c9995fb695c
feat:文件夹预览
2 files modified
65 ■■■■■ changed files
src/views/dataCenter/components/searchData.vue 5 ●●●●● patch | view | raw | blame | history
src/views/dataCenter/dataCenter.vue 60 ●●●●● patch | view | raw | blame | history
src/views/dataCenter/components/searchData.vue
@@ -144,6 +144,7 @@
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(['jobName'])
const searchForm = reactive({
  jobName: '', //任务名称
  name: '', //文件名称
@@ -209,6 +210,10 @@
  },
  { deep: true }
);
watch(() => props.jobName, (newVal) => {
  searchForm.jobName = newVal;
  handleSearch()
});
const changePhotoType =(val)=>{
if(val === undefined){
  searchForm.photoType = ''
src/views/dataCenter/dataCenter.vue
@@ -4,13 +4,29 @@
  >
    <div class="dataCenter-table">
      <searchData
      :jobName ="jobName"
        @search="searchClick"
        @downFun="downloadFile"
        @allDownFun="aLLDownloadFile"
        @handleswitchFolders="handleswitchFolders"
      ></searchData>
      <!-- 文件夹 -->
      <div class="fileshow" v-if="switchFolders"   v-loading="loadings "   element-loading-text="加载中">
          <div
                class="filePackage"
                v-for="(folderItem, fileIndex) in folderList"
                :key="fileIndex"
                @click.stop="foldersOpen(folderItem)"
              >
                <img :src="fileimg" alt="" />
                <el-checkbox v-model="folderItem.checked" @click.stop />
                <div class="itemName" :title="folderItem.name">
                  <div>{{ folderItem.name }}</div>
                    </div>
          </div>
      </div>
      <!-- 表格部分 -->
      <div class="dataTable" v-if="!switchFolders" >
      <div class="dataTable" v-else v-loading="loadings"   element-loading-text="加载中">
        <el-table
        border
         stripe
@@ -123,21 +139,7 @@
          </el-table-column>
        </el-table>
      </div>
      <!-- 文件夹 -->
      <div class="fileshow" v-else v-loading="loadings ">
          <div
                class="filePackage"
                v-for="(folderItem, fileIndex) in folderList"
                :key="fileIndex"
                @click.stop="foldersOpen(folderItem)"
              >
                <img :src="fileimg" alt="" />
                <el-checkbox v-model="folderItem.checked" @click.stop />
                <div class="itemName" :title="folderItem.name">
                  <div>{{ folderItem.name }}</div>
                    </div>
          </div>
      </div>
    
      <!-- 分页 -->
      <div class="pagination">
@@ -419,7 +421,7 @@
const FolderListParams = reactive({
  page: 1,
  page_size: 30,
startTime: jobListParams.searchParams.startTime?.slice(0, 10),
    startTime: jobListParams.searchParams.startTime?.slice(0, 10),
    endTime: jobListParams.searchParams.endTime?.slice(0, 10),
   waylineName:'',
   
@@ -458,6 +460,7 @@
const folderList = ref([])
// 获取文件夹数据
const getFolderList=()=>{
 loadings.value = true;
 const apiParams = {
    ...FolderListParams, 
  };
@@ -470,12 +473,23 @@
          loadings.value = false; 
        })
}
const jobName = ref('')
const foldersOpen = (val)=>{
loadings.value = true;
tableData.value=[]
jobName.value = val.name
switchFolders.value = false
}
// 获取数据时使用各自的分页参数
const fetchData = () => {
 loadings.value = true;
  if (switchFolders.value) {
    getFolderList();
  } else {
    getaiImagesPage();
  }
};
// 切换文件夹
@@ -491,20 +505,23 @@
  total.value = 0;    
  if (switchFolders.value) {
    // 文件夹逻辑
    // 文件夹
    FolderListParams.page = 1;
    FolderListParams.page_size = 30;
    FolderListParams.startTime = params.startTime?.slice(0, 10); 
    FolderListParams.endTime = params.endTime?.slice(0, 10);
    FolderListParams.waylineName=params.jobName,
    // FolderListParams.deviceSn = params.deviceSn
    await getFolderList(); 
  } else {
    // 表格逻辑
    // 表格
    jobListParams.current = 1;
    jobListParams.size = 10;
    jobListParams.searchParams = params;
     jobListParams.searchParams = {
      ...jobListParams.searchParams,
      ...params
    };
    await getaiImagesPage(); 
  }
  
  loadings.value = false; 
@@ -823,7 +840,6 @@
}
onMounted(() => {
  getaiImagesPage();
  getFolderList()
  // 监听打开全景事件
  EventBus.on('open-panorama', params => {
    panoramaParamsShow.value = params.show;