数据管理页面菜单改名,tabs分类

This commit is contained in:
王兴凯 2026-09-02 10:42:57 +08:00
parent 95812fe6fc
commit 209d2cf4d5
5 changed files with 90 additions and 41 deletions

View File

@ -1,5 +1,5 @@
<template>
<div class="w-full h-full flex flex-col">
<div class="w-full h-full flex flex-col body_one" >
<!-- 搜索组件 -->
<ApprovalSearch
@export-btn="exportBtn"
@ -346,5 +346,12 @@ onMounted(() => {
});
});
</script>
<style scoped lang="scss"></style>
<style scoped lang="scss">
.body_one {
padding: 20px 0px 0px 20px ;
position: relative;
z-index: 200;
pointer-events: all;
background-color: #fff;
}
</style>

View File

@ -97,7 +97,11 @@
/>
</a-form-item>
<a-form-item label="数据来源" name="dataSource" v-if="formData.timeDimension === 'month'">
<a-form-item
label="数据来源"
name="dataSource"
v-if="formData.timeDimension === 'month'"
>
<a-radio-group v-model:value="formData.dataSource">
<a-radio value="true">日统计表</a-radio>
<a-radio value="false">小时表</a-radio>
@ -361,7 +365,7 @@ const loadStationOptions = async (rvcds?: string[]) => {
const initDone = ref(false);
watch(
() => JidiSelectEventStore.jidiData,
(val) => {
val => {
if (initDone.value) return;
const data = (val || []).filter((item: any) => item.wbsCode !== 'all');
if (data.length === 0) return;
@ -403,6 +407,12 @@ const loadLyOptions = async () => {
lyLoading.value = false;
}
};
const dataOptions = ref([
{ itemCode: 'month', dictName: '月度报表' },
{ itemCode: 'year', dictName: '年度报表' },
{ itemCode: 'day', dictName: '日度报表' },
{ itemCode: 'hour', dictName: '小时报表' }
]);
const getExstatus = async (taskId, exportParams) => {
let res1: any = await qgcExportstatus({ taskId: taskId });
if (res1.status == 'PROCESSING') {
@ -410,12 +420,16 @@ const getExstatus = async (taskId, exportParams) => {
getExstatus(taskId, exportParams);
}, 5000);
} else if (res1.status == 'DONE') {
const blob = await qgcExportdownload({ taskId: taskId, ...exportParams });
const blob: any = await qgcExportdownload({
taskId: taskId,
...exportParams
});
//
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = `export_${taskId}.zip`;
const matched = dataOptions.value.find((item:any) => item.itemCode == formData.timeDimension);
a.download =`${matched.dictName}.zip`;
a.click();
window.URL.revokeObjectURL(url);
exportLoading.value = false;
@ -474,7 +488,7 @@ const handleExport = async () => {
} catch (e) {
message.error('导出失败');
} finally {
exportLoading.value = false;
// exportLoading.value = false;
}
};
const dataFieldOption = ref([]);

View File

@ -11,12 +11,6 @@
<a-tab-pane tab="水质站" key="shuiZhiJianCe">
<shuiZhiJianCe />
</a-tab-pane>
<a-tab-pane tab="生态流量设防设施" key="shengTaiLiuLiang">
<shengTaiLiuLiang />
</a-tab-pane>
<a-tab-pane tab="低温水减缓措施" key="tempMit">
<tempMit />
</a-tab-pane>
<a-tab-pane tab="栖息地" key="qiXiDi">
<qiXiDi />
</a-tab-pane>
@ -26,9 +20,6 @@
<a-tab-pane tab="动物救助站" key="rescueStation">
<rescueStation />
</a-tab-pane>
<a-tab-pane tab="过鱼设施" key="guoYuSheShi">
<guoYuSheShi />
</a-tab-pane>
<a-tab-pane tab="水生生态调查断面" key="shuiShengShengTaiDiaoCha">
<shuiShengShengTaiDiaoCha />
</a-tab-pane>
@ -41,27 +32,12 @@
<a-tab-pane tab="其他陆生生态保护工程" key="terrEco">
<terrEco />
</a-tab-pane>
<a-tab-pane tab="视频站" key="shiPinJianKong">
<shiPinJianKong />
</a-tab-pane>
<a-tab-pane tab="鱼类资源" key="FishResource">
<FishResource />
</a-tab-pane>
<a-tab-pane tab="鱼类增殖站" key="zengZhiFangLiu">
<zengZhiFangLiu />
</a-tab-pane>
<a-tab-pane tab="声纳及水下摄像头" key="sonarCam">
<sonarCam />
</a-tab-pane>
<a-tab-pane tab="AI智能监测装置" key="fishSurvey">
<fishSurvey />
</a-tab-pane>
<a-tab-pane tab="AI边缘计算盒子" key="aiBox">
<aiBox />
</a-tab-pane>
<a-tab-pane tab="批复文件" key="Approval">
<Approval />
</a-tab-pane>
</a-tabs>
</div>
</template>
@ -69,23 +45,15 @@
import BasicData from './components/conventionalHydropower/BasicData/index.vue';
import shuiWenJianCe from './components/conventionalHydropower/shuiWenJianCe/index.vue';
import shuiZhiJianCe from './components/conventionalHydropower/shuiZhiJianCe/index.vue';
import shengTaiLiuLiang from './components/conventionalHydropower/shengTaiLiuLiang/index.vue';
import tempMit from './components/conventionalHydropower/tempMit/index.vue';
import qiXiDi from './components/conventionalHydropower/qiXiDi/index.vue';
import zhenXIZhiWuYuan from './components/conventionalHydropower/zhenXIZhiWuYuan/index.vue';
import rescueStation from './components/conventionalHydropower/rescueStation/index.vue';
import guoYuSheShi from './components/conventionalHydropower/guoYuSheShi/index.vue';
import shuiShengShengTaiDiaoCha from './components/conventionalHydropower/shuiShengShengTaiDiaoCha/index.vue';
import aquaEco from './components/conventionalHydropower/aquaEco/index.vue';
import luShengShengTaiDiaoCha from './components/conventionalHydropower/luShengShengTaiDiaoCha/index.vue';
import terrEco from './components/conventionalHydropower/terrEco/index.vue';
import shiPinJianKong from './components/conventionalHydropower/shiPinJianKong/index.vue';
import FishResource from './components/conventionalHydropower/FishResource/index.vue';
import zengZhiFangLiu from './components/conventionalHydropower/zengZhiFangLiu/index.vue';
import sonarCam from './components/conventionalHydropower/sonarCam/index.vue';
import fishSurvey from './components/conventionalHydropower/fishSurvey/index.vue';
import aiBox from './components/conventionalHydropower/aiBox/index.vue';
import Approval from './components/conventionalHydropower/Approval/index.vue';
import { ref } from 'vue';
const activeTab = ref('BasicData');
</script>

View File

@ -0,0 +1,60 @@
<template>
<div class="conventionalHydropower-page">
<!-- 1. 排序 -->
<a-tabs v-model:activeKey="activeTab" class="conventionalHydropower-tabs">
<a-tab-pane tab="生态流量泄放设施" key="shengTaiLiuLiang">
<shengTaiLiuLiang />
</a-tab-pane>
<a-tab-pane tab="低温水减缓设施" key="tempMit">
<tempMit />
</a-tab-pane>
<a-tab-pane tab="过鱼设施" key="guoYuSheShi">
<guoYuSheShi />
</a-tab-pane>
<a-tab-pane tab="视频站" key="shiPinJianKong">
<shiPinJianKong />
</a-tab-pane>
<a-tab-pane tab="声纳及水下摄像头" key="sonarCam">
<sonarCam />
</a-tab-pane>
<a-tab-pane tab="AI智能监测装置" key="fishSurvey">
<fishSurvey />
</a-tab-pane>
<a-tab-pane tab="AI边缘计算盒子" key="aiBox">
<aiBox />
</a-tab-pane>
</a-tabs>
</div>
</template>
<script setup lang="ts">
import shengTaiLiuLiang from './components/conventionalHydropower/shengTaiLiuLiang/index.vue';
import tempMit from './components/conventionalHydropower/tempMit/index.vue';
import guoYuSheShi from './components/conventionalHydropower/guoYuSheShi/index.vue';
import shiPinJianKong from './components/conventionalHydropower/shiPinJianKong/index.vue';
import sonarCam from './components/conventionalHydropower/sonarCam/index.vue';
import fishSurvey from './components/conventionalHydropower/fishSurvey/index.vue';
import aiBox from './components/conventionalHydropower/aiBox/index.vue';
import { ref } from 'vue';
const activeTab = ref('shengTaiLiuLiang');
</script>
<style scoped lang="scss">
.conventionalHydropower-page {
position: relative;
z-index: 900;
pointer-events: all;
width: 100%;
height: 100%;
background-color: #ffffff;
box-sizing: border-box;
overflow: hidden;
}
.conventionalHydropower-tabs {
padding-left: 20px;
width: calc(100% - 20px);
height: calc(100% - 20px);
:deep(.ant-tabs-content) {
height: 100%;
}
}
</style>