120 lines
2.8 KiB
Vue
120 lines
2.8 KiB
Vue
<template>
|
|
<section class="fengduHead">
|
|
<div class="content flex">
|
|
<ai-area class="fill" v-model="current" :mask="false" :root="currentRoot">
|
|
<template slot-scope="{areaname}">
|
|
<el-input class="areaPicker" :value="areaname" readonly suffix-icon="el-icon-arrow-down"/>
|
|
</template>
|
|
</ai-area>
|
|
<div class="headerTitle" v-text="title"/>
|
|
<div class="rightPane fill" flex>
|
|
<div class="item" v-text="currentTime"/>
|
|
<div class="item setting mar-l24" @click.stop="$emit('setting',true)"/>
|
|
<div class="item fullscreen mar-l14" @click.stop="$emit('fullscreen')"/>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</template>
|
|
|
|
<script>
|
|
import {mapState} from "vuex";
|
|
|
|
export default {
|
|
name: "fengduHead",
|
|
model: {
|
|
prop: "active",
|
|
event: "change"
|
|
},
|
|
props: {
|
|
title: String,
|
|
views: {default: () => []},
|
|
active: String,
|
|
currentTime: {default: null}
|
|
},
|
|
computed: {
|
|
...mapState(['user']),
|
|
currentRoot: v => v.user.info.areaId.substr(0, 6).padEnd(12, '0'),
|
|
tabs: v => [...v.views]
|
|
},
|
|
data() {
|
|
return {
|
|
current: ""
|
|
}
|
|
},
|
|
watch: {
|
|
active: {
|
|
immediate: true,
|
|
handler(v) {
|
|
if (v && v != this.current) this.current = this.$copy(this.active)
|
|
}
|
|
},
|
|
current(v) {
|
|
v != this.active && this.$emit("change", v)
|
|
}
|
|
},
|
|
created() {
|
|
this.current = this.$copy(this.user.info.areaId)
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
@font-face {
|
|
font-family: YouSheBiaoTiHei;
|
|
src: url("https://cdn.cunwuyun.cn/fonts/YouSheBiaoTiHei-2.ttf");
|
|
}
|
|
|
|
.fengduHead {
|
|
width: 100%;
|
|
height: 96px;
|
|
padding: 0 24px;
|
|
box-sizing: border-box;
|
|
color: #fff;
|
|
position: relative;
|
|
background-repeat: no-repeat;
|
|
background-image: url("../assets/bg-lighting.png");
|
|
background-position: top center;
|
|
|
|
.content {
|
|
height: 100%;
|
|
background-repeat: no-repeat;
|
|
background-position: left bottom, right bottom;
|
|
font-family: PingFang-SC;
|
|
|
|
.headerTitle {
|
|
font-family: YouSheBiaoTiHei;
|
|
font-size: 44px;
|
|
letter-spacing: 4px;
|
|
line-height: 48px;
|
|
background-image: linear-gradient(to bottom, #fff, rgba(122, 232, 254, 1));
|
|
background-size: 100% 100%;
|
|
background-repeat: no-repeat;
|
|
background-clip: text;
|
|
color: transparent;
|
|
}
|
|
}
|
|
|
|
.rightPane {
|
|
padding: 0 11px 0 0;
|
|
justify-content: flex-end;
|
|
|
|
.item {
|
|
padding-left: 30px;
|
|
height: 30px;
|
|
line-height: 30px;
|
|
background-image: url("../assets/timeIcon.png");
|
|
background-repeat: no-repeat;
|
|
background-position: left center;
|
|
|
|
&.setting {
|
|
background-image: url("../assets/settingIcon.png") !important;
|
|
}
|
|
|
|
&.fullscreen {
|
|
background-image: url("../assets/fullscreenIcon.png") !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|