<template>
<div class="map">
<img class="background" :src="imgUrl.bg"/>
<div v-for="(data,index) in lessonList" :class="'island-block land20'+(index+1)" :key="index" :id="index === lessonList.length-2? 'nowLesson' :''">
<div :class="{today:index === lessonList.length-1}" @click="showDia(data)">
<img :src="imgUrl.day[index]" class="land"/>
<img :src="imgUrl.shadow" class="shadow"/>
<div class="star-block">
<img :src="imgUrl.starDefault" v-if="!starNum(data,2)"/>
<img :src="imgUrl.star" v-if="starNum(data,2)"/>
<img :src="imgUrl.starDefault" v-if="!starNum(data,3)"/>
<img :src="imgUrl.star" v-if="starNum(data,3)"/>
<img :src="imgUrl.starDefault" v-if="!starNum(data,5)"/>
<img :src="imgUrl.star" v-if="starNum(data,5)"/>
</div>
</div>
</div>
<div v-for="i in (20 - lessonList.length) " :class="'island-block land20'+(20-i+1)">
<img :src="imgUrl.dayDefault[total-i]" class="land"/>
<img :src="imgUrl.shadow" class="shadow"/>
<div class="star-block">
<img :src="imgUrl.starDefault"/>
<img :src="imgUrl.starDefault"/>
<img :src="imgUrl.starDefault"/>
</div>
</div>
</div>
</template>
<script>
import {mapNumber} from "../../util/imgUrl";
export default {
name: "numberMap",
data(){
return {
imgUrl:mapNumber
}
},
props:[
'total',
'lessonList',
'shuoming'
],
methods:{
starNum(data,page_id){
let ret = false;
data.ele_list.forEach(i=>{
if(i.watch_list && i.watch_list.find(i=>{return i.page_id === page_id })){
ret = true
}
});
return ret
},
showDia(data){
this.$emit('showDia',data)
}
}
}
</script>
<style scoped lang="less">
@import "../../util/public";
.map{
padding-bottom: 45 * @toVw;
.background{
width: 375*@toVw;
}
.go20{
position: absolute;
width: 134 * @toVw;
top: 196 * @toVw;
left: 42 * @toVw;
}
.title-d{
font-size: 12 * @toVw;
width:100 * @toVw ;
height: 30 * @toVw;
color: #3c2700;
position: absolute;
top: 0;
overflow : hidden;
text-overflow: ellipsis;
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient: vertical;
&.title-d-name1{
top: 525 *@toVw;
right:40 * @toVw ;
}
&.title-d-name6{
top: 1210 *@toVw;
left:26 * @toVw ;
}
&.title-d-name11{
top: 1865 *@toVw;
right:32 * @toVw ;
}
&.title-d-name16{
top: 2598 *@toVw;
right:39 * @toVw ;
}
}
.island-block{
position: absolute;
width: 105*@toVw;
text-align: center;
.land{
width: 70 * @toVw;
position: relative;
z-index: 1;
}
.shadow{
width: 100%;
left: 0;
bottom: -20 * @toVw;
z-index: 0;
position: absolute;
}
.star-block{
position: absolute;
left: 22*@toVw;
z-index: 1;
bottom: -20*@toVw;
img{
&:nth-child(2){
width: 30 * @toVw;
margin: 0 -5*@toVw;
}
width: 20*@toVw;
}
}
.today{
animation: dodge 1s infinite;
}
&.land201{
top: 287 * @toVw;
right: 90 * @toVw;
.land{
width: 52 * @toVw;
}
}
&.land202{
top: 407 * @toVw;
left: 19 * @toVw;
.land{
width: 66 * @toVw;
}
}
&.land203{
top: 564 * @toVw;
right: 188 * @toVw;
.land{
width: 55 * @toVw;
}
}
&.land204{
top: 666 * @toVw;
right: 54 * @toVw;
.land{
width: 54 * @toVw;
}
}
&.land205{
top: 775 * @toVw;
left: 15 * @toVw;
.land{
width: 64 * @toVw;
}
}
&.land206{
top: 910 * @toVw;
right: 31 * @toVw;
.land{
width: 61 * @toVw;
}
}
&.land207{
top: 993 * @toVw;
left: 4 * @toVw;
.land{
width: 70 * @toVw;
}
}
&.land208{
top: 1131 * @toVw;
right: 142 * @toVw;
.land{
width: 57 * @toVw;
}
}
&.land209{
top: 1301 * @toVw;
right: 61 * @toVw;
.land{
width: 56 * @toVw;
}
}
&.land2010{
top: 1420 * @toVw;
right: 169 * @toVw;
.land{
width: 103 * @toVw;
}
}
&.land2011{
top: 1602 * @toVw;
right: 50 * @toVw;
}
&.land2012{
top: 1765 * @toVw;
left: 48 * @toVw;
}
&.land2013{
top: 1908 * @toVw;
right: 78 * @toVw;
}
&.land2014{
top: 2095 * @toVw;
right: 38 * @toVw;
}
&.land2015{
top: 2208 * @toVw;
left: 46 * @toVw;
}
&.land2016{
top: 2381 * @toVw;
right: 81 * @toVw;
}
&.land2017{
top: 2549 * @toVw;
left: 33 * @toVw;
}
&.land2018{
top: 2646 * @toVw;
right: 69 * @toVw;
}
&.land2019{
top: 2799 * @toVw;
right: 200 * @toVw;
}
&.land2020{
top: 2959 * @toVw;
right: 47 * @toVw;
}
}
@keyframes dodge
{
0%{
transform:scale(0.9,0.9)
}
50%{
transform:scale(1.1,1.1)
}
100%{
transform:scale(0.9,0.9)
}
}
}
</style>