123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- <template>
- <div class="tsyg-page">
- <div class="yg-bg">
- <div class="name">态势预估</div>
- <div class="progress">
- <img class="arrow" src="@/assets/img/znxy/tsyg_arrow.png" />
- <div class="line">
- <div :class="['yse-events',{'active':active===0}]" @click="handleActive(0)"> 当前 </div>
- <div :class="['blue','yse-events',{'active':active===5}]" @click="handleActive(5)">未来5天</div>
- <div :class="['red','yse-events',{'active':active===7}]" @click="handleActive(7)">未来7天</div>
- <!-- <div :class="['red','yse-events',{'active':active===15}]" @click="handleActive(15)">未来15天</div> -->
- <!-- <div :class="['red','yse-events',{'active':active===30}]" @click="handleActive(30)">未来30天</div> -->
- <img :style="{left:iconLeft(active)}" class="orientation" src="@/assets/img/znxy/orientation.png" />
- </div>
- </div>
- </div>
- </div>
- </template>
- <script setup>
- import {ref} from 'vue'
- let emits = defineEmits(["selectDay"])
- const active = ref(0)
- const handleActive = (e) =>{
- active.value = e
- emits("selectDay",e)
- }
- const iconLeft = (e) =>{
- let left = '40'
- if(e===5){
- left = '62.4'
- }
- if(e===7){
- left = '84.6'
- }
- if(e===15){
- left = '74.3'
- }
- if(e===30){
- left = '89.3'
- }
- return left + '%'
- }
- </script>
- <style lang="scss" scoped>
- .tsyg-page {
- .yg-bg {
- background-image: url("@/assets/img/znxy/tsyg_bg.png");
- background-repeat: no-repeat;
- background-size: 100% 100%;
- width: 480px;
- height: 60px;
- position: absolute;
- bottom: 19px;
- display: flex;
- align-items: center;
- .name {
- font-size: 15px;
- color: #ffffff;
- margin-left: 17px;
- }
- .progress {
- display: flex;
- align-items: center;
- .line {
- width: 320px;
- height: 1px;
- margin-left: -2px;
- background: linear-gradient(90deg, #29f19c 0%, #02a1f9 100%);
- display: flex;
- // color: #fde16f;
- color: #44d6e9;
- div {
- padding-top: 7px;
- position: relative;
- width: 30%;
- display: flex;
- justify-content: flex-end;
- margin-right: -20px;
- cursor: pointer;
- margin-left: 10%;
- &::before {
- content: "";
- position: absolute;
- top: -6px;
- right: 20px;
- width: 8px;
- height: 8px;
- background: #112325;
- border-radius: 50%;
- border: 2px solid #51e9f0;
- }
- }
- .active {
- color: #fde16f;
- &::before {
- background: #027278;
- }
- }
- // .blue {
- // color: #44d6e9;
- // }
- // .red {
- // color: #fd696a;
- // }
- .orientation {
- width: 26px;
- height: 32px;
- position: absolute;
- top: -8px;
- left: 29.4%;
- }
- }
- }
- }
- }
- </style>
|