无人机管理后台前端(已迁走)
张含笑
2025-06-14 74f3a7dcedba7e9aeac99287c3daf666a726d1d6
src/views/dataCenter/dataCenter.vue
@@ -8,7 +8,7 @@
    <!-- 表格部分 -->
    <div class="dataTable">
      <el-table
        v-loading="loading"
        v-loading="loadings"
        element-loading-text="加载中"
        stripe
        :data="tableData"
@@ -98,7 +98,7 @@
    <el-dialog v-model="dialogVisible" width="60%" append-to-body>
      <template #header="{ titleId, titleClass }">
        <div class="my-header">
          <h4 :id="titleId" :class="titleClass">{{ dialogDetailList?.nickName }}</h4>
          <h4 :id="titleId" :class="titleClass">{{ detailTitle}}</h4>
         
        </div>
      </template>
@@ -191,6 +191,7 @@
      ref="mapComponent"
      v-model:show="dataCenterMapVisible"
      :jobId="jobId"
      @lookDetail="lookDetail"
      :dotData="mapList"
    ></dataCenterMap>
@@ -198,6 +199,7 @@
</template>
<script setup>
import EventBus from '@/utils/eventBus';
import dataCenterMap from '@/views/dataCenter/components/dataCenterMap.vue';
import PanoramaPopup from '@/components/PanoramaPopup/PanoramaPopup.vue'; //全景
import { ElMessage, ElMessageBox, ElLoading } from 'element-plus';
@@ -235,7 +237,8 @@
  visible: '可见光',
  ir: '红外',
};
const loading = ref(true);
const loadings = ref(true);
let loading
const total = ref(0);
const startTime = dayjs().subtract(6, 'day').startOf('day');
const endTime = dayjs().endOf('day');
@@ -266,13 +269,14 @@
// 获取列表数据
const getaiImagesPage = () => {
loadings.value = true;
  const params = {
    orderByCreateTime: jobListParams.orderByCreateTime,
    ...jobListParams.searchParams,
  };
  getaiImagesPageAPI(params, { current: jobListParams.current, size: jobListParams.size }).then(
    res => {
      loading.value = true;
      total.value = res.data.data.total;
      tableData.value = res.data.data.records.map(i => ({
        ...i,
@@ -283,7 +287,7 @@
        file_name: i.name.split('/').pop(),
      }));
      // console.log('res', tableData.value);
      loading.value = false;
      loadings.value = false;
    }
  );
};
@@ -351,7 +355,7 @@
      }, index * 500); // 每个文件下载间隔50毫秒
    });
  } else {
    // loading = ElLoading.service({ background: 'rgba(0, 0, 0, 0.5)', text: '打包中,请稍等...' })
    loading = ElLoading.service({ background: 'rgba(0, 0, 0, 0.5)', text: '打包中,请稍等...' })
    const fileIds = list.map(i =>i.id);
    console.log('fileIds', fileIds, list);
    let aaa = {
@@ -370,7 +374,7 @@
    downloadApi(aaa).then(res => {
      console.log('res.data.data', res.data.data);
      aLinkDownload(res.data.data, `sjzx-file-pack-${dayjs().format('YYYYMMDDHHmmss')}.zip`);
      // loading.close()
      loading.close()
    });
  }
};
@@ -387,10 +391,10 @@
   const params = {
    ...jobListParams.searchParams,
  };
  console.log('params',params);
  // console.log('params',params);
  
    downloadApi(params).then(res => {
      console.log('res.data.data', res.data.data);
      // console.log('res.data.data', res.data.data);
      aLinkDownload(res.data.data, `sjzx-file-pack-${dayjs().format('YYYYMMDDHHmmss')}.zip`);
     
    });
@@ -399,9 +403,10 @@
// 查看弹框
const dialogVisible = ref(false);
const dialogDetailList = ref(null);
const detailTitle = ref('')
const lookDetail = val => {
  getAttachInfoAPI(val.id).then(res => {
  detailTitle.value =  res.data.data.nickName
    dialogDetailList.value = res.data.data;
    dialogDetailList.value = { ...res.data.data, checkedinput: false };
  });
@@ -411,7 +416,6 @@
const fileNameedit = ref('');
// 编辑文件名
const editTitle = val => {
  val.checkedinput = true;
  fileNameedit.value = val?.nickName;
};
@@ -444,6 +448,7 @@
  // 验证并提示
  if (!validateNickname(updateparams.nickName, '名称')) return;
  item.checkedinput = false;
  detailTitle.value = item.nickName
  updataTitleApi(updateparams)
    .then(res => {
      if (res.status === 200) {
@@ -463,8 +468,12 @@
const mapList = ref(null);
const dataCenterMapVisible = ref(false);
const jobId = ref('');
const statusType = ref(null)
const positionDetail = val => {
// console.log('地图',val);
  jobId.value = val.wayLineJobId;
  // console.log('statusType.value',statusType.value);
  mapList.value = val;
  dataCenterMapVisible.value = true;
  // 确保地图组件加载完成
@@ -478,7 +487,18 @@
onMounted(() => {
  getaiImagesPage();
  // 监听打开全景事件
  EventBus.on('open-panorama', params => {
    // console.log('收到全景事件:', params);
    panoramaParamsShow.value = params.show;
    panoramaParamsUrl.value = params.url;
  });
});
onBeforeUnmount(() => {
  // 组件卸载时移除事件监听,防止内存泄漏
  EventBus.off('open-panorama');
});
</script>
<style scoped lang="scss">
@@ -576,6 +596,7 @@
.my-header :deep(.el-dialog__title) {
  margin: 0 !important;
  height: 19px;
}
.my-header {
  display: flex;