无人机管理后台前端(已迁走)
张含笑
2025-06-27 697e6bb603416f2b636c66a32e9baf4ab7d11d37
src/views/dataCenter/dataCenter.vue
@@ -294,7 +294,7 @@
import dayjs from 'dayjs';
function bytesToMB(bytes, decimalPlaces = 2) {
  if (typeof bytes !== 'number' || bytes < 0) return '--';
  if (typeof bytes !== 'number' || bytes < 0) return '无效输入';
  return (bytes / 1048576).toFixed(decimalPlaces) + ' MB';
}
// 视频一帧
@@ -328,24 +328,20 @@
// 处理区域名称的函数
function processAddress(str) {
  if (!str) return '';
  const parts = str.split(',');
  // 省级账号:显示市和区(去除省级)
  if (isProvinceLevel.value) {
    return parts.filter(part => !part.endsWith('省')).join(',');
  }
  // 市级账号:只显示区(去除省和市)
  if (isCityLevel.value) {
    return parts.filter(part => !part.endsWith('省') && !part.endsWith('市')).join(',');
  }
  // 区县级账号:不显示区域信息(在模板中已隐藏该列)
  return '';
}
const showRegionColumn = computed(() => {
  // 检查表格数据中是否有任何行的 regionName 处理后不为空
  // 是否显示列
  return tableData.value.some(row => {
    const processed = processAddress(row.regionName || '');
    return processed !== '';
@@ -388,8 +384,12 @@
    orderByCreateTime: jobListParams.orderByCreateTime,
    ...jobListParams.searchParams,
  };
  getaiImagesPageAPI(params, { current: jobListParams.current, size: jobListParams.size }).then(
    res => {
  getaiImagesPageAPI(params, {
    current: jobListParams.current,
    size: jobListParams.size
  })
    .then(res => {
      total.value = res.data.data.total;
      tableData.value = res.data.data.records.map(i => ({
        ...i,
@@ -399,10 +399,14 @@
        showUrl: getShowImg(i?.link),
        file_name: i.name.split('/').pop(),
      }));
      loadings.value = false;
    }
  );
    })
    .catch(error => {
      // 可选:这里可以添加错误处理逻辑
      console.error("获取数据失败:", error);
    })
    .finally(() => {
      loadings.value = false; // 无论成功失败都会执行
    });
};
// 查询
const searchClick = params => {
@@ -461,13 +465,12 @@
const fileDownload = () => {
  const list = selectedRows.value.filter(i => i.checked);
  if (!list?.length) return ElMessage.warning('请选择文件');
  if (list.length === 1) {
    list.forEach((item, index) => {
      setTimeout(() => {
        aLinkDownload(item.url, item?.nickName);
      }, index * 500); // 每个文件下载间隔50毫秒
    });
  } else {
    if (list.length === 1) {
      list.forEach((item, index) => {
         const suffix = item.url.split('.').pop()
         aLinkDownload(item.url, item.nickName + '.' + suffix)
      })
   } else {
    loading = ElLoading.service({ background: 'rgba(0, 0, 0, 0.5)', text: '打包中,请稍等...' });
    const fileIds = list.map(i => i.id);
    let aaa = {
@@ -494,7 +497,8 @@
  fileDownload();
};
const detailDownLoad = val => {
  aLinkDownload(val.link, val?.nickName);
   const suffix = val.url?.split('.').pop()
  aLinkDownload(val.link, val?.nickName + '.' + suffix);
};
// 全部下载
const aLLDownloadFile = () => {
@@ -625,13 +629,14 @@
const positiongeom = ref('');
const odmToken = ref(null);
const lookDetail = val => {
   console.log('查看',val)
  if (val.resultType === 4) {
    // 正射
    getOrthoimageInfo(val.wayLineJobId).then(async res => {
      dialogVisible.value = true;
      detailTitle.value = val.nickName;
      dialogDetailList.value = val;
      console.log('3333', detailTitle.value, dialogDetailList.value);
      await nextTick();
      initMap();
      positiongeom.value = res.data.data.geom;
@@ -675,8 +680,6 @@
  } else {
    getAttachInfoAPI(val.id).then(res => {
      detailTitle.value = res.data.data.nickName.split('.jpeg')[0];
   ;
      dialogDetailList.value = {
        ...res.data.data,
        checkedinput: false,