无人机管理后台前端(已迁走)
张含笑
2025-08-16 66fc87a4d5feb79953fb87f458d207af598b3d0e
feat:文件夹添加参数
2 files modified
64 ■■■■ changed files
src/views/dataCenter/components/searchData.vue 41 ●●●●● patch | view | raw | blame | history
src/views/dataCenter/dataCenter.vue 23 ●●●● patch | view | raw | blame | history
src/views/dataCenter/components/searchData.vue
@@ -3,8 +3,8 @@
    <el-form :model="searchForm" inline>
      <div class="search-first">
        <el-form-item label="行政区划:" >
          <el-tree-select
          :disabled="foldersDisabled"
          <el-tree-select
          :disabled="viewDetailsDisabled"
            popper-class="custom-tree-select"
            v-model="searchForm.areaCode"
            :data="deptTreeData"
@@ -17,7 +17,7 @@
        </el-form-item>
        <el-form-item label="所属机巢:">
          <el-select
          :disabled="foldersDisabled"
          :disabled="viewDetailsDisabled"
            :teleported="false"
            v-model="searchForm.deviceSn"
            placeholder="请选择"
@@ -33,10 +33,11 @@
          </el-select>
        </el-form-item>
        <el-form-item label="任务名称:">
          <el-input v-model="searchForm.jobName" placeholder="请输入" clearable />
          <el-input  :disabled="viewDetailsDisabled" v-model="searchForm.jobName" placeholder="请输入" clearable />
        </el-form-item>
        <el-form-item>
          <el-date-picker
           :disabled="viewDetailsDisabled"
            popper-class="custom-date-picker"
            v-model="dateRange"
            type="daterange"
@@ -61,7 +62,7 @@
        </el-form-item>
        <el-form-item label="文件格式:">
          <el-select
          :disabled="foldersDisabled"
          :disabled="foldersDisabled || viewDetailsDisabled"
            :teleported="false"
            v-model="searchForm.resultType"
            placeholder="请选择"
@@ -80,7 +81,7 @@
        <el-form-item label="文件类别:">
          <el-select
          
            :disabled="disabled || foldersDisabled"
            :disabled="disabled || foldersDisabled || viewDetailsDisabled"
            :teleported="false"
            v-model="searchForm.photoType"
            placeholder="请选择"
@@ -99,11 +100,11 @@
      </div>
      <div class="search-first">
        <el-form-item label="文件名称:">
          <el-input :disabled="foldersDisabled" v-model="searchForm.name" placeholder="请输入" clearable />
          <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>
          <el-button  type="primary" icon="el-icon-search" @click="handleSearch">搜索</el-button>
          <el-button  icon="el-icon-refresh" @click="handleReset">清空</el-button>
        </div>
      </div>
      <div class="search-first">
@@ -111,7 +112,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>
        <el-button v-if="!viewDetailsDisabled" 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">
@@ -121,6 +122,7 @@
              </template>
            </div>
          </div>
           <el-button v-if="viewDetailsDisabled" type="primary" plain  @click="handleBack" >返回</el-button>
        </div>
      </div>
    </el-form>
@@ -140,13 +142,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','handleswitchFolders']);
const emit = defineEmits(['search', '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')];
const dateRange = ref(timeRange);
const timeFormat = 'YYYY-MM-DD HH:mm:ss';
const props = defineProps(['searchjobId','switchFolders'])
const props = defineProps(['searchjobId','switchFolders','viewDetails'])
const searchForm = reactive({
  jobName: '', //任务名称
  name: '', //文件名称
@@ -223,6 +225,14 @@
  foldersDisabled.value = true
}else{
   foldersDisabled.value = false
}
});
const viewDetailsDisabled  = ref(false)
watch(() => props.viewDetails, (newVal) => {
if(newVal === true){
  viewDetailsDisabled.value = true
}else{
   viewDetailsDisabled.value = false
}
});
const changePhotoType =(val)=>{
@@ -342,7 +352,10 @@
const handleswitchFolders =()=>{
  emit('handleswitchFolders'); 
}
// 返回按钮
const handleBack = ()=>{
  emit('handleBack');
}
onMounted(() => {
  requestDockInfo();
  getDownloadStatusApi({type: 'htsjzx'}).then(res =>{
@@ -373,7 +386,7 @@
      margin-right: 32px;
      .downloadBtn{
      margin-left: 10px;
      margin:0 10px;
        position: relative;
        display: flex;
        align-items: center;
src/views/dataCenter/dataCenter.vue
@@ -10,7 +10,8 @@
        @downFun="downloadFile"
        @allDownFun="aLLDownloadFile"
        @handleswitchFolders="handleswitchFolders"
        @handleBack ="handleBack"
       :viewDetails ="viewDetails"
      ></searchData>
      <!-- 文件夹 -->
      <div v-if="switchFolders" class="dataTable">
@@ -445,7 +446,8 @@
    startTime: jobListParams.searchParams.startTime?.slice(0, 10),
    endTime: jobListParams.searchParams.endTime?.slice(0, 10),
     waylineName:'',
    dockSn:'',
    areaCode:''
});
const tableData = ref([]);
// 获取列表数据
@@ -486,7 +488,7 @@
const getFolderList=()=>{
 loadings.value = true;
 const apiParams = {
    ...FolderListParams,
  ...FolderListParams,
  };
  getJobIdsBySnApi(apiParams)
        .then(res => {
@@ -498,12 +500,14 @@
        })
}
const searchjobId = ref('')
const viewDetails = ref('')
// 文件夹查看
const foldersOpen = (val)=>{
    loadings.value = true;
    tableData.value=[]
    searchjobId.value = val.job_id
    switchFolders.value = false
    viewDetails.value = true
}
// 获取数据时使用各自的分页参数
const fetchData = () => {
@@ -514,7 +518,7 @@
  }
};
// 切换文件夹
 const handleswitchFolders = (val) => {
 const handleswitchFolders = () => {
 searchjobId.value = ''
     switchFolders.value = !switchFolders.value;
     jobListParams.current = 1;
@@ -522,6 +526,15 @@
     fetchData();  
     
   };
   const handleBack =()=>{
    searchjobId.value = ''
    switchFolders.value = true
    viewDetails.value = false
    jobListParams.current = 1;
     FolderListParams.page = 1;
     fetchData();
   }
// 查询
const searchClick = params => {
  if(switchFolders.value){
@@ -530,6 +543,8 @@
    FolderListParams.startTime = params?.startTime?.slice(0, 10); 
    FolderListParams.endTime = params?.endTime?.slice(0, 10);
    FolderListParams.waylineName=params?.jobName,
   FolderListParams.dockSn = params?.deviceSn
   FolderListParams.areaCode = params?.areaCode
    getFolderList()
  }else{
     jobListParams.current = 1;