8 changed files with 355 additions and 74 deletions
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 686 B |
@ -0,0 +1,184 @@ |
|||
<template> |
|||
<div class="tabs"> |
|||
<div class="tab-item" @click="onTabClick('垂直廓线')" :class="{'active': currentTab === '垂直廓线'}"> |
|||
垂直廓线 |
|||
<img src="/images/line.png" v-if="currentTab === '垂直廓线'" /> |
|||
</div> |
|||
<div class="tab-item" @click="onTabClick('对流指数')" :class="{'active': currentTab === '对流指数'}"> |
|||
对流指数 |
|||
<img src="/images/line.png" v-if="currentTab === '对流指数'" /> |
|||
</div> |
|||
<div class="tab-item" @click="onTabClick('T-logP图')" :class="{'active': currentTab === 'T-logP图'}"> |
|||
T-logP图 |
|||
<img src="/images/line.png" v-if="currentTab === 'T-logP图'" /> |
|||
</div> |
|||
<div class="tab-item" @click="onTabClick('BP反演产品')" :class="{'active': currentTab === 'BP反演产品'}"> |
|||
BP反演产品 |
|||
<img src="/images/line.png" v-if="currentTab === 'BP反演产品'" /> |
|||
</div> |
|||
</div> |
|||
<div class="main"> |
|||
<div class="menu panel"> |
|||
<div class="menu-item"> |
|||
<h2 class="tip">区域选择</h2> |
|||
<el-row :gutter="12"> |
|||
<el-col :span="8"><span @click="onRegionClick('江宁')" :class="{'active': currentRegion === '江宁'}">江宁</span></el-col> |
|||
<el-col :span="8"><span @click="onRegionClick('六合')" :class="{'active': currentRegion === '六合'}">六合</span></el-col> |
|||
<el-col :span="8"><span @click="onRegionClick('浦口')" :class="{'active': currentRegion === '浦口'}">浦口</span></el-col> |
|||
<el-col :span="8"><span @click="onRegionClick('高淳')" :class="{'active': currentRegion === '高淳'}">高淳</span></el-col> |
|||
<el-col :span="8"><span @click="onRegionClick('溧水')" :class="{'active': currentRegion === '溧水'}">溧水</span></el-col> |
|||
</el-row> |
|||
</div> |
|||
<div class="menu-item" v-if="currentTab === '垂直廓线'"> |
|||
<h2 class="tip">要素选择</h2> |
|||
<el-row :gutter="12"> |
|||
<el-col :span="8"><span @click="onElementClick('温度')" :class="{'active': currentElement === '温度'}">温度</span></el-col> |
|||
<el-col :span="8"><span @click="onElementClick('湿度')" :class="{'active': currentElement === '湿度'}">湿度</span></el-col> |
|||
</el-row> |
|||
</div> |
|||
<div class="menu-item" v-if="currentTab === '对流指数'"> |
|||
<h2 class="tip">要素选择</h2> |
|||
<el-row :gutter="12"> |
|||
<el-col :span="8"><span @click="onCategoryClick('CAPE')" :class="{'active': currentCategory === 'CAPE'}">CAPE</span></el-col> |
|||
<el-col :span="8"><span @click="onCategoryClick('CIN')" :class="{'active': currentCategory === 'CIN'}">CIN</span></el-col> |
|||
</el-row> |
|||
</div> |
|||
</div> |
|||
<div class="container panel"> |
|||
<div class="toolbar"> |
|||
<div class="times"> |
|||
<div class="time-item" v-for="(time, index) in times" :key="index" :class="{'active': currentTime === time.date, 'first-hour': time.minute === '00'}"> |
|||
<span class="hour">{{time.hour}}</span> |
|||
<span class="minute" @click="onTimeClick(time)">{{time.minute}}</span> |
|||
</div> |
|||
</div> |
|||
<el-date-picker v-model="date" type="date" placeholder="请选择" :clearable="false" :editable="false" class="date-picker"> |
|||
</el-date-picker> |
|||
<div class="control-btn"> |
|||
<span><img src="/images/prev.png" /></span> |
|||
<span><img src="/images/next.png" /></span> |
|||
</div> |
|||
<el-select v-model="currentHour" placeholder=""> |
|||
<el-option |
|||
v-for="item in hours" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
> |
|||
</el-option> |
|||
</el-select> |
|||
<p class="unit">时</p> |
|||
<div class="refresh-btn"> |
|||
<img src="/images/refresh.png" /> |
|||
</div> |
|||
<div class="btns-group"> |
|||
<span>播放动画</span> |
|||
<span>下载动画</span> |
|||
</div> |
|||
</div> |
|||
<div class="picture-view"> |
|||
<span class="arrow arrow-prev"><img src="/images/prev-btn.png" /></span> |
|||
<span class="arrow arrow-next"><img src="/images/next-btn.png" /></span> |
|||
<span class="save-btn"><img src="/images/save.png" /></span> |
|||
<h2 class="title">2021.11.21 10:42 Temperature</h2> |
|||
<div class="picture"> |
|||
<el-image |
|||
src="/images/picture.png" |
|||
:preview-src-list="srcList" |
|||
:initial-index="1" |
|||
fit="contain" |
|||
> |
|||
</el-image> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script lang="ts"> |
|||
import { onMounted, reactive, toRefs } from 'vue'; |
|||
import moment from "moment"; |
|||
|
|||
export default { |
|||
name: 'RamanLidar', |
|||
setup() { |
|||
let options = reactive({ |
|||
currentTab: '垂直廓线', |
|||
currentRegion: '江宁', |
|||
currentElement: '温度', |
|||
currentCategory: 'CAPE', |
|||
date: new Date(), |
|||
currentHour: '10', |
|||
hours: [{ |
|||
value: '10', |
|||
label: '10' |
|||
}, { |
|||
value: '11', |
|||
label: '11' |
|||
}], |
|||
times: [], |
|||
currentTime: null, |
|||
srcList: ['/images/picture.png'] |
|||
}) |
|||
|
|||
onMounted(() => { |
|||
initTimes(); |
|||
}) |
|||
|
|||
const onTabClick = (name) => { |
|||
options.currentTab = name; |
|||
} |
|||
|
|||
const onRegionClick = (region) => { |
|||
options.currentRegion = region; |
|||
} |
|||
|
|||
const onElementClick = (element) => { |
|||
options.currentElement = element; |
|||
} |
|||
|
|||
const onCategoryClick = (category) => { |
|||
options.currentCategory = category; |
|||
} |
|||
|
|||
const initTimes = () => { |
|||
let now = moment(); |
|||
let minute = now.minute(); |
|||
const remainder = minute % 6; |
|||
if (remainder > 0){ |
|||
now.minute(minute + (6 - remainder)); |
|||
} |
|||
|
|||
options.currentTime = now.format('YYYY-MM-DD HH:mm'); |
|||
now.minute(now.minute() - 6); |
|||
|
|||
for (let i = 0; i < 20 ; i++) { |
|||
options.times.push({ |
|||
hour: now.add(6, 'minute').format('HH时'), |
|||
minute: now.format('mm'), |
|||
date: now.format('YYYY-MM-DD HH:mm'), |
|||
name: 'hour' + now.format('HH') |
|||
}); |
|||
} |
|||
} |
|||
|
|||
const onTimeClick = (time) => { |
|||
console.log(time.date) |
|||
options.currentTime = time.date; |
|||
console.log(options.currentTime) |
|||
} |
|||
|
|||
return { |
|||
...toRefs(options), |
|||
onTabClick, |
|||
onRegionClick, |
|||
onElementClick, |
|||
onCategoryClick, |
|||
onTimeClick |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="less" scoped> |
|||
|
|||
</style> |
Loading…
Reference in new issue