|
|
@@ -0,0 +1,257 @@
|
|
|
+<template>
|
|
|
+ <div class="gxsjjc-index">
|
|
|
+ <div class="gxsjjc-left">
|
|
|
+ <div class="left-title">
|
|
|
+ 共享数据监测站点列表
|
|
|
+ </div>
|
|
|
+ <div class="left-input">
|
|
|
+ <el-input
|
|
|
+ v-model="stnm"
|
|
|
+ style="width: 100%;"
|
|
|
+ placeholder="请输入测站名称"
|
|
|
+ size="small"
|
|
|
+ >
|
|
|
+ <template #append>
|
|
|
+ <el-button icon="Search" size="small"/>
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ <tree :treeData="treeData" @sendNodeData="getNodeData"/>
|
|
|
+ </div>
|
|
|
+ <div class="gxsjjc-right">
|
|
|
+ <el-form ref="gxsjjcFormRef" :model="gxsjjcForm" :inline="true" size="small" class="gxsjjc-form">
|
|
|
+ <el-form-item label="日期:">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="gxsjjcForm.daterange"
|
|
|
+ type="daterange"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" size="small" @click="handleSearch">查询</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div class="right-content">
|
|
|
+ <div id="gxsjjcLineChart"></div>
|
|
|
+ <el-table
|
|
|
+ :data="gxsjjcTableData"
|
|
|
+ border
|
|
|
+ stripe
|
|
|
+ style="width: 100%"
|
|
|
+ :height="heightAll"
|
|
|
+ :header-cell-style="{
|
|
|
+ background: '#d2eafa !important',
|
|
|
+ fontSize: '12px'
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <el-table-column type="index" width="60" fixed="left" align="center"/>
|
|
|
+ <el-table-column prop="tm" label="时间" align="center"/>
|
|
|
+ <el-table-column prop="tm" label="溶解氧" align="center"/>
|
|
|
+ <el-table-column prop="tm" label="高锰酸盐指数" align="center"/>
|
|
|
+ <el-table-column prop="tm" label="氨氮" align="center"/>
|
|
|
+ <el-table-column prop="tm" label="总氮" align="center"/>
|
|
|
+ <el-table-column prop="tm" label="总磷" align="center"/>
|
|
|
+ <el-table-column prop="tm" label="锑" align="center"/>
|
|
|
+ <el-table-column prop="tm" label="温度" align="center"/>
|
|
|
+ <el-table-column prop="tm" label="PH值" align="center"/>
|
|
|
+ <el-table-column prop="tm" label="电导率" align="center"/>
|
|
|
+ </el-table>
|
|
|
+ <el-pagination
|
|
|
+ v-model:current-page="pagination.currentPage"
|
|
|
+ v-model:page-size="pagination.pageSize"
|
|
|
+ :size="pagination.size"
|
|
|
+ :total="pagination.totalCount"
|
|
|
+ :disabled=false
|
|
|
+ background
|
|
|
+ layout="total, prev, pager, next, jumper"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+import * as echarts from "echarts";
|
|
|
+import tree from "@/components/FolderTree.vue";
|
|
|
+import { onMounted } from "vue";
|
|
|
+
|
|
|
+const stnm = ref("");
|
|
|
+const treeData = ref([
|
|
|
+ {
|
|
|
+ id: '1',
|
|
|
+ label: '共享站点监测站列表',
|
|
|
+ type: 'folder',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ id: '1-1',
|
|
|
+ label: '新孟河-江苏水质共享',
|
|
|
+ type: 'folder',
|
|
|
+ children: [
|
|
|
+ {
|
|
|
+ id: '1-1-1',
|
|
|
+ label: '340省道大桥',
|
|
|
+ type: 'file',
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ },
|
|
|
+])
|
|
|
+const gxsjjcForm = ref({
|
|
|
+ daterange:[],
|
|
|
+});
|
|
|
+const gxsjjcLineChart = ref(null);
|
|
|
+const heightAll = 40.3 + 'vh';
|
|
|
+const gxsjjcTableData = ref([])
|
|
|
+const pagination = ref({
|
|
|
+ currentPage: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ totalCount: 0,
|
|
|
+});
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ initChart();
|
|
|
+})
|
|
|
+
|
|
|
+const handleSearch = () => {};
|
|
|
+// 过程线
|
|
|
+const initChart = () => {
|
|
|
+ const option = {
|
|
|
+ title: {
|
|
|
+ text: '【望亭立交闸下】监测指标过程线',
|
|
|
+ subtext: '时段:2025-10-30 至 2025-10-31',
|
|
|
+ left: 'center'
|
|
|
+ },
|
|
|
+ tooltip: {
|
|
|
+ trigger: 'axis'
|
|
|
+ },
|
|
|
+ legend: {
|
|
|
+ x:'center', //可设定图例在左、右、居中
|
|
|
+ y:'bottom', //可设定图例在上、下、居中
|
|
|
+ data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine']
|
|
|
+ },
|
|
|
+ grid: {
|
|
|
+ left: '3%',
|
|
|
+ right: '4%',
|
|
|
+ bottom: '8%',
|
|
|
+ containLabel: true
|
|
|
+ },
|
|
|
+ toolbox: {
|
|
|
+ feature: {
|
|
|
+ saveAsImage: {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ xAxis: {
|
|
|
+ type: 'category',
|
|
|
+ boundaryGap: false,
|
|
|
+ data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
|
|
|
+ },
|
|
|
+ yAxis: {
|
|
|
+ type: 'value'
|
|
|
+ },
|
|
|
+ series: [
|
|
|
+ {
|
|
|
+ name: 'Email',
|
|
|
+ type: 'line',
|
|
|
+ stack: 'Total',
|
|
|
+ data: [120, 132, 101, 134, 90, 230, 210]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'Union Ads',
|
|
|
+ type: 'line',
|
|
|
+ stack: 'Total',
|
|
|
+ data: [220, 182, 191, 234, 290, 330, 310]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'Video Ads',
|
|
|
+ type: 'line',
|
|
|
+ stack: 'Total',
|
|
|
+ data: [150, 232, 201, 154, 190, 330, 410]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'Direct',
|
|
|
+ type: 'line',
|
|
|
+ stack: 'Total',
|
|
|
+ data: [320, 332, 301, 334, 390, 330, 320]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: 'Search Engine',
|
|
|
+ type: 'line',
|
|
|
+ stack: 'Total',
|
|
|
+ data: [820, 932, 901, 934, 1290, 1330, 1320]
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ };
|
|
|
+ gxsjjcLineChart.value = echarts.init(document.getElementById('gxsjjcLineChart'));
|
|
|
+ gxsjjcLineChart.value.setOption(option);
|
|
|
+};
|
|
|
+
|
|
|
+// 获取树控件节点数据
|
|
|
+const getNodeData = (data,node) => {
|
|
|
+ console.log('getnnode',data,node);
|
|
|
+};
|
|
|
+
|
|
|
+const handleSizeChange = (val) => {
|
|
|
+ pagination.value.pageSize = val;
|
|
|
+}
|
|
|
+const handleCurrentChange = (val) => {
|
|
|
+ pagination.value.currentPage = val;
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.gxsjjc-index{
|
|
|
+ width: 99%;
|
|
|
+ height: 100%;
|
|
|
+ margin: auto;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ .gxsjjc-left{
|
|
|
+ width: 15%;
|
|
|
+ height: 92vh;
|
|
|
+ border: 1px solid #DCDFE6;
|
|
|
+ .left-title{
|
|
|
+ width: 100%;
|
|
|
+ height: 30px;
|
|
|
+ background: linear-gradient(to right, #a8d2fa, #fff);
|
|
|
+ box-shadow: 0 5px 5px #b2d3f9;
|
|
|
+ font-size: 16px;
|
|
|
+ font-family: 'ALIMAMASHUHEITI';
|
|
|
+ color: #4a93f5;
|
|
|
+ line-height: 30px;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ .left-input{
|
|
|
+ width: 90%;
|
|
|
+ margin: 8px auto;
|
|
|
+ .input-demo{
|
|
|
+ .el-input-group__append{
|
|
|
+ background-color: #409eff !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .gxsjjc-right{
|
|
|
+ width:84%;
|
|
|
+ .gxsjjc-form{
|
|
|
+ width: 100%;
|
|
|
+ padding: 5px 0;
|
|
|
+ .el-form-item{
|
|
|
+ margin-bottom: 0 !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .right-content{
|
|
|
+ width: 100%;
|
|
|
+ border: 1px solid #DCDFE6;
|
|
|
+ #gxsjjcLineChart{
|
|
|
+ width: 100%;
|
|
|
+ height: 45vh;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|