From 98247bb0b4da9a322c97867262c1a76c53ace520 Mon Sep 17 00:00:00 2001 From: web <candymxq888@outlook.com> Date: 星期三, 26 三月 2025 17:05:18 +0800 Subject: [PATCH] fix: 生态报表 --- src/views/screen/temperature/report/index.vue | 102 +++++++++++++++++++++++++------------------------- 1 files changed, 51 insertions(+), 51 deletions(-) diff --git a/src/views/screen/temperature/report/index.vue b/src/views/screen/temperature/report/index.vue index 061c394..47c0271 100644 --- a/src/views/screen/temperature/report/index.vue +++ b/src/views/screen/temperature/report/index.vue @@ -1,91 +1,91 @@ <script setup> -import {ref} from "vue"; +import {ref, onMounted} from "vue"; +import {getTemperaturePointList} from "@/api/screen/index.js"; +import {getFlowReportList} from "@/api/screen/report/index.js"; import Table from '@/components/Table/index.vue' -const selectType = ref(1); -const typeOption = ref([ - { label: '水电站流量监测点', value: 1 }, - { label: '新扎口流量监测点', value: 2 }, +const cascaderOption = { label: 'pointName', value: 'id', children: 'childrenList', checkStrictly: true, expandTrigger: 'hover', emitPath: false }; //级联选择器配置 +const typeOption = ref([]) +const timeOption = ref([ + { label: '小时', value: 1 }, + { label: '日', value: 2 }, + { label: '月', value: 3 }, + { label: '季度', value: 4 }, + { label: '年', value: 5 }, ]) -const time = ref() +const timeVal = ref([]) +const searchData = reactive({ + pointId: '', + dateType: 2, + createTimeRange: '' +}) +const tableRef = ref(null); //表格实例 let tableHead = [ - { prop: 'code', label: '流速 (m/s)' }, - { prop: 'shebei', label: '瞬时流量 (m³/h)', }, - { prop: 'content', label: '累计流量 (m³)' }, - { prop: 'sure', label: '采集点' }, - { prop: 'time', label: '采集时间' }, + { prop: 'flowVelocity', label: '流速 (m/s)' }, + { prop: 'newFlow', label: '瞬时流量 (m³/h)', }, + { prop: 'totalFlow', label: '累计流量 (m³)' }, + { prop: 'pointName', label: '采集点' }, + { prop: 'uploadTimeView', label: '采集时间' }, ] -const getTableData = () => { - return new Promise(resolve => { - let arr = { - data:{ - list: [ - { code: '201', shebei: '雷达水位计', content: '设备离线', time: '2025-02-08', sure: 1 }, - { code: '202', shebei: '雷达水位计', content: '设备离线', time: '2025-02-08', sure: 2 }, - { code: '203', shebei: '雷达水位计', content: '设备离线', time: '2025-02-08', sure: 3 }, - { code: '204', shebei: '雷达水位计', content: '设备离线', time: '2025-02-08', sure: 1 }, - { code: '205', shebei: '雷达水位计', content: '设备离线', time: '2025-02-08', sure: 1 }, - { code: '206', shebei: '雷达水位计', content: '设备离线', time: '2025-02-08', sure: 1 }, - { code: '207', shebei: '雷达水位计', content: '设备离线', time: '2025-02-08', sure: 1 }, - { code: '208', shebei: '雷达水位计', content: '设备离线', time: '2025-02-08', sure: 2 }, - { code: '209', shebei: '雷达水位计', content: '设备离线', time: '2025-02-08', sure: 3 }, - { code: '2010', shebei: '雷达水位计', content: '设备离线', time: '2025-02-08', sure: 3 }, - ] - }, - total: 30, - } - resolve(arr) +// 获取监测点 +const getPoint = () => { + getTemperaturePointList().then(res => { + typeOption.value = res.data }) } +// 搜索数据 +const searchTable = () => { + if(timeVal.value && timeVal.value.length > 0) { + searchData.createTimeRange = timeVal.value[0] + '~' + timeVal.value[1] + } else { + searchData.createTimeRange = '' + } + tableRef.value.getData() +} + +onMounted(() => { + getPoint() +}) </script> <template> <div class="report"> <div class="report-tool"> + <el-cascader size="large" v-model="searchData.pointId" :options="typeOption" :show-all-levels="false" :props="cascaderOption" clearable /> <el-select - v-model="selectType" + v-model="searchData.dateType" class="tool-select" size="large" - placeholder="Select" - style="width: 20rem" + placeholder="请选择" + clearable + style="width: 15rem" > <el-option - v-for="item in typeOption" - :key="item.value" - :label="item.label" - :value="item.value" - /> - </el-select> - <el-select - v-model="selectType" - class="tool-select" - size="large" - placeholder="Select" - style="width: 20rem" - > - <el-option - v-for="item in typeOption" + v-for="item in timeOption" :key="item.value" :label="item.label" :value="item.value" /> </el-select> <el-date-picker - v-model="time" + v-model="timeVal" type="datetimerange" format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" size="large" style="width: 30rem" + clearable range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" /> + <el-button type="primary" size="large" style="width: 6rem" @click="searchTable">搜索</el-button> <el-button type="success" size="large" style="width: 6rem">一键导出</el-button> </div> <div class="report-table"> - <Table :getList="getTableData" :headList="tableHead"></Table> + <Table ref="tableRef" :getList="getFlowReportList" :headList="tableHead" :searchData="searchData"></Table> </div> </div> </template> -- Gitblit v1.9.3