|
@@ -17,7 +17,7 @@
|
|
|
</div>
|
|
|
<div class="header-button-ri">
|
|
|
<slot name="toolButton">
|
|
|
- <img class="setting" src="@/assets/images/setting2.png" @click="handleSetting" />
|
|
|
+ <img class="setting" src="@/assets/images/setting2.png" @click="handleSetting" />
|
|
|
</slot>
|
|
|
</div>
|
|
|
|
|
@@ -25,12 +25,12 @@
|
|
|
<div class="main_list">
|
|
|
<el-row :gutter="15">
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="8" :xl="4">
|
|
|
- <div class="chart_item">
|
|
|
+ <div class="chart_item zhuti">
|
|
|
<div style="font-weight: bold;">天气现象</div>
|
|
|
<div class="mt15">
|
|
|
<div style="height: 200px;">
|
|
|
<div
|
|
|
- style="text-align: center;margin-bottom: 40px;padding-top: 10px;font-weight: bold;color: #000;">
|
|
|
+ style="text-align: center;margin-bottom: 40px;padding-top: 10px;font-weight: bold;">
|
|
|
无明显天气现象</div>
|
|
|
<div style="font-weight: bold;">危险天气</div>
|
|
|
<div style="text-align: center;margin-top: 25px;color: red;font-weight: bold;">无</div>
|
|
@@ -40,7 +40,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="8" :xl="4">
|
|
|
- <div class="chart_item">
|
|
|
+ <div class="chart_item zhuti">
|
|
|
<div style="font-weight: bold;">瞬时风 ( m/s )</div>
|
|
|
<div class="mt15 box1">
|
|
|
<div ref="windSpeed" class="ve-ring" style="height: 200px"></div>
|
|
@@ -50,7 +50,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="8" :xl="4">
|
|
|
- <div class="chart_item">
|
|
|
+ <div class="chart_item zhuti">
|
|
|
|
|
|
<div style="font-weight: bold;">温度 ( ℃ )</div>
|
|
|
<div class="mt15">
|
|
@@ -61,7 +61,7 @@
|
|
|
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="8" :xl="4">
|
|
|
- <div class="chart_item">
|
|
|
+ <div class="chart_item zhuti">
|
|
|
|
|
|
<div style="font-weight: bold;">相对湿度 ( % )</div>
|
|
|
<div class="mt15">
|
|
@@ -74,7 +74,7 @@
|
|
|
|
|
|
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="8" :xl="4">
|
|
|
- <div class="chart_item">
|
|
|
+ <div class="chart_item zhuti">
|
|
|
|
|
|
<div style="font-weight: bold;">本站气压 ( hPa )</div>
|
|
|
<div class="mt15">
|
|
@@ -85,7 +85,7 @@
|
|
|
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="8" :xl="4">
|
|
|
- <div class="chart_item">
|
|
|
+ <div class="chart_item zhuti">
|
|
|
<div style="font-weight: bold;">小时/分钟雨量 ( mm )</div>
|
|
|
<div class="mt15">
|
|
|
<div style="height: 200px">
|
|
@@ -126,7 +126,7 @@
|
|
|
|
|
|
<el-row :gutter="15">
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">瞬时风速 ( m/s )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content">
|
|
@@ -136,7 +136,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">瞬时风向 ( ° )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content">
|
|
@@ -146,7 +146,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">气温 ( ℃ )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content">
|
|
@@ -156,7 +156,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">相对湿度 ( % )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content">
|
|
@@ -166,7 +166,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">露点温度 ( ℃ )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content">
|
|
@@ -176,7 +176,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">地面温度 ( ℃ )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content">
|
|
@@ -186,7 +186,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">云底高度 ( m )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content">
|
|
@@ -196,7 +196,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">静电场强度 ( kV/m )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content" style="color:red ;">
|
|
@@ -206,7 +206,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">总云量 ( 成 )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content">
|
|
@@ -216,7 +216,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">低云云量 ( 成 )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content">
|
|
@@ -226,7 +226,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">光照度 ( lx )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content">
|
|
@@ -236,7 +236,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="4" :xl="4">
|
|
|
- <div class="chart_item info_box">
|
|
|
+ <div class="chart_item info_box zhuti">
|
|
|
<div class="info_title">小时累计日照时数 ( min )</div>
|
|
|
<div class="mt15 ">
|
|
|
<div class="info_content">
|
|
@@ -249,7 +249,7 @@
|
|
|
|
|
|
<el-row :gutter="15">
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="8">
|
|
|
- <div class="chart_item">
|
|
|
+ <div class="chart_item zhuti">
|
|
|
<div style="font-weight: bold;" class="item_title">
|
|
|
<span>风向 / 风速 ( m/s )</span>
|
|
|
<el-select v-model="value" placeholder="请选择" size="small" style="width: 150px;">
|
|
@@ -264,7 +264,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="8">
|
|
|
- <div class="chart_item">
|
|
|
+ <div class="chart_item zhuti">
|
|
|
<div style="font-weight: bold;" class="item_title">
|
|
|
<span>气温 ( ℃ ) / 相对湿度 ( % )</span>
|
|
|
<el-select v-model="value" placeholder="请选择" size="small" style="width: 150px;">
|
|
@@ -279,7 +279,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="8" :md="8" :lg="8">
|
|
|
- <div class="chart_item">
|
|
|
+ <div class="chart_item zhuti">
|
|
|
<div style="font-weight: bold;" class="item_title">
|
|
|
<span>本站气压 ( hPa )</span>
|
|
|
<el-select v-model="value" placeholder="请选择" size="small" style="width: 150px;">
|
|
@@ -296,49 +296,50 @@
|
|
|
</el-row>
|
|
|
</div>
|
|
|
<!-- 添加或修改岗位对话框 -->
|
|
|
- <el-dialog :title="dialog.title" v-model="dialog.visible" width="940px" append-to-body>
|
|
|
- <div style="height: 500px">
|
|
|
- <el-tabs tab-position="left" class="demo-tabs" style="height: 100%">
|
|
|
- <el-tab-pane label="风">
|
|
|
- <div class="container-tag">
|
|
|
- <div class="item-tag">2分钟平均风速</div>
|
|
|
- <div class="item-tag-active">2分钟平均风向</div>
|
|
|
- <div class="item-tag">10分钟平均风速</div>
|
|
|
- <div class="item-tag">10分钟平均风向</div>
|
|
|
- <div class="item-tag">小时最大风速</div>
|
|
|
- <div class="item-tag-active">小时最大风速的风向</div>
|
|
|
- <div class="item-tag">小时极大风速出现时间</div>
|
|
|
- </div>
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="温湿度">Config</el-tab-pane>
|
|
|
- <el-tab-pane label="气压">Role</el-tab-pane>
|
|
|
- <el-tab-pane label="降水">Task</el-tab-pane>
|
|
|
- <el-tab-pane label="云">Task</el-tab-pane>
|
|
|
- <el-tab-pane label="能见度">Task</el-tab-pane>
|
|
|
- <el-tab-pane label="天气现象">Task</el-tab-pane>
|
|
|
- <el-tab-pane label="积雪">Task</el-tab-pane>
|
|
|
- <el-tab-pane label="地面温度">Task</el-tab-pane>
|
|
|
- <el-tab-pane label="大气电场">Task</el-tab-pane>
|
|
|
- <el-tab-pane label="闪电">Task</el-tab-pane>
|
|
|
- <el-tab-pane label="日照">Task</el-tab-pane>
|
|
|
- <el-tab-pane label="总辐射">Task</el-tab-pane>
|
|
|
- </el-tabs>
|
|
|
- </div>
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button @click="cancel">取 消</el-button>
|
|
|
- <el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
+ <el-dialog :title="dialog.title" v-model="dialog.visible" width="940px" append-to-body>
|
|
|
+ <div style="height: 500px">
|
|
|
+ <el-tabs tab-position="left" class="demo-tabs" style="height: 100%">
|
|
|
+ <el-tab-pane label="风">
|
|
|
+ <div class="container-tag">
|
|
|
+ <div class="item-tag">2分钟平均风速</div>
|
|
|
+ <div class="item-tag-active">2分钟平均风向</div>
|
|
|
+ <div class="item-tag">10分钟平均风速</div>
|
|
|
+ <div class="item-tag">10分钟平均风向</div>
|
|
|
+ <div class="item-tag">小时最大风速</div>
|
|
|
+ <div class="item-tag-active">小时最大风速的风向</div>
|
|
|
+ <div class="item-tag">小时极大风速出现时间</div>
|
|
|
+ </div>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="温湿度">Config</el-tab-pane>
|
|
|
+ <el-tab-pane label="气压">Role</el-tab-pane>
|
|
|
+ <el-tab-pane label="降水">Task</el-tab-pane>
|
|
|
+ <el-tab-pane label="云">Task</el-tab-pane>
|
|
|
+ <el-tab-pane label="能见度">Task</el-tab-pane>
|
|
|
+ <el-tab-pane label="天气现象">Task</el-tab-pane>
|
|
|
+ <el-tab-pane label="积雪">Task</el-tab-pane>
|
|
|
+ <el-tab-pane label="地面温度">Task</el-tab-pane>
|
|
|
+ <el-tab-pane label="大气电场">Task</el-tab-pane>
|
|
|
+ <el-tab-pane label="闪电">Task</el-tab-pane>
|
|
|
+ <el-tab-pane label="日照">Task</el-tab-pane>
|
|
|
+ <el-tab-pane label="总辐射">Task</el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ </div>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button @click="cancel">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="tsx" name="singleData">
|
|
|
|
|
|
import * as echarts from 'echarts';
|
|
|
-import { ref, computed, onMounted,reactive } from "vue";
|
|
|
+import { ref, computed, onMounted, reactive, watch } from "vue";
|
|
|
+import { useGlobalStore } from "@/stores/modules/global";
|
|
|
|
|
|
const queryInfo = ref(0)
|
|
|
|
|
@@ -350,13 +351,15 @@ const pie = ref()
|
|
|
const tempLine = ref()
|
|
|
const pressureLine = ref()
|
|
|
const dialog = reactive<any>({
|
|
|
- visible: false,
|
|
|
- title: ''
|
|
|
+ visible: false,
|
|
|
+ title: ''
|
|
|
});
|
|
|
+const globalStore = useGlobalStore();
|
|
|
+const isDark = computed(() => globalStore.isDark);
|
|
|
|
|
|
const handleSetting = () => {
|
|
|
- dialog.title = "列表字段设置"
|
|
|
- dialog.visible = true;
|
|
|
+ dialog.title = "列表字段设置"
|
|
|
+ dialog.visible = true;
|
|
|
}
|
|
|
|
|
|
const submitForm = () => {
|
|
@@ -364,7 +367,7 @@ const submitForm = () => {
|
|
|
}
|
|
|
|
|
|
const cancel = () => {
|
|
|
- dialog.visible = false;
|
|
|
+ dialog.visible = false;
|
|
|
}
|
|
|
|
|
|
//chart 数据
|
|
@@ -524,7 +527,7 @@ const showPressure = () => {
|
|
|
}
|
|
|
},
|
|
|
axisLabel: {
|
|
|
- color: '#666666',
|
|
|
+ color: isDark.value ? '#fff' : "#666",
|
|
|
distance: 8,
|
|
|
fontSize: 10
|
|
|
},
|
|
@@ -532,7 +535,7 @@ const showPressure = () => {
|
|
|
offsetCenter: [0, 0],
|
|
|
valueAnimation: true,
|
|
|
formatter: '{value}',
|
|
|
- color: 'black',
|
|
|
+ color: isDark.value ? '#fff' : "#000",
|
|
|
fontSize: 30,
|
|
|
},
|
|
|
data: [
|
|
@@ -663,7 +666,7 @@ const showHumidity = () => {
|
|
|
}
|
|
|
},
|
|
|
axisLabel: {
|
|
|
- color: '#666666',
|
|
|
+ color: isDark.value ? '#fff' : "#666",
|
|
|
distance: 8,
|
|
|
fontSize: 10
|
|
|
},
|
|
@@ -671,7 +674,7 @@ const showHumidity = () => {
|
|
|
offsetCenter: [0, 0],
|
|
|
valueAnimation: true,
|
|
|
formatter: '{value}',
|
|
|
- color: 'black',
|
|
|
+ color: isDark.value ? '#fff' : "#000",
|
|
|
fontSize: 30,
|
|
|
},
|
|
|
data: [
|
|
@@ -732,7 +735,7 @@ const showWindSpeed = () => {
|
|
|
show: true,
|
|
|
offsetCenter: [0, '-0%'], // x, y,单位px
|
|
|
textStyle: {
|
|
|
- color: 'black',
|
|
|
+ color: isDark.value ? '#fff' : "#000",
|
|
|
fontSize: 30
|
|
|
}
|
|
|
},
|
|
@@ -790,6 +793,7 @@ const showWindSpeed = () => {
|
|
|
axisLabel: {
|
|
|
fontSize: 10,
|
|
|
distance: 10,
|
|
|
+ color: isDark.value ? '#fff' : "#666",
|
|
|
formatter: function (value) {
|
|
|
if (value === 0) {
|
|
|
return '北';
|
|
@@ -821,7 +825,7 @@ const showWindSpeed = () => {
|
|
|
offsetCenter: [-12, 5],
|
|
|
valueAnimation: true,
|
|
|
formatter: '2',
|
|
|
- color: 'black'
|
|
|
+ color: isDark.value ? '#fff' : "#000",
|
|
|
|
|
|
// fontSize: 10,
|
|
|
},
|
|
@@ -1160,7 +1164,7 @@ const showTemp = () => {
|
|
|
}
|
|
|
},
|
|
|
axisLabel: {
|
|
|
- color: '#666666',
|
|
|
+ color: isDark.value ? '#fff' : "#666",
|
|
|
distance: 8,
|
|
|
fontSize: 10
|
|
|
},
|
|
@@ -1168,7 +1172,7 @@ const showTemp = () => {
|
|
|
offsetCenter: [0, 0],
|
|
|
valueAnimation: true,
|
|
|
formatter: '{value}',
|
|
|
- color: 'black',
|
|
|
+ color: isDark.value ? '#fff' : "#000",
|
|
|
fontSize: 30,
|
|
|
},
|
|
|
data: [
|
|
@@ -1227,7 +1231,10 @@ const showTempLine = () => {
|
|
|
legend: {
|
|
|
data: ['气温', '相对湿度'],
|
|
|
// left: 10
|
|
|
- top: 0
|
|
|
+ top: 0,
|
|
|
+ textStyle: {//图例文字的样式
|
|
|
+ color: isDark.value ? '#fff' : "#000",
|
|
|
+ }
|
|
|
|
|
|
},
|
|
|
// X轴
|
|
@@ -1416,6 +1423,16 @@ const showPressureLine = () => {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+watch(isDark, () => {
|
|
|
+ showTemp()
|
|
|
+ showWind()
|
|
|
+ showWindSpeed()
|
|
|
+ showHumidity()
|
|
|
+ showPressure()
|
|
|
+ showTempLine()
|
|
|
+ showPressureLine()
|
|
|
+
|
|
|
+});
|
|
|
|
|
|
onMounted(() => {
|
|
|
showTemp()
|
|
@@ -1459,6 +1476,9 @@ onMounted(() => {
|
|
|
border-radius: 10px;
|
|
|
padding: 10px;
|
|
|
background-color: #fff;
|
|
|
+ // background-color: var(--el-bg-color) !important;
|
|
|
+ // border: 1px solid var(--el-border-color-light);
|
|
|
+
|
|
|
// height: 100%;
|
|
|
// margin-bottom: 15px;
|
|
|
|
|
@@ -1479,7 +1499,7 @@ onMounted(() => {
|
|
|
.info_content {
|
|
|
height: 40px;
|
|
|
font-weight: bold;
|
|
|
- color: #000;
|
|
|
+ // color: #000;
|
|
|
font-size: 26px;
|
|
|
}
|
|
|
}
|
|
@@ -1490,13 +1510,13 @@ onMounted(() => {
|
|
|
position: relative;
|
|
|
|
|
|
.icon {
|
|
|
- color: #000;
|
|
|
+ // color: #000;
|
|
|
font-weight: bold;
|
|
|
position: absolute;
|
|
|
|
|
|
span {
|
|
|
|
|
|
- color: #666;
|
|
|
+ // color: #666;
|
|
|
font-weight: normal;
|
|
|
}
|
|
|
|