From 7c291a812e980917bc9f64a3f251f2a08ae7f157 Mon Sep 17 00:00:00 2001 From: Mila <Mila@pollex.com.tw> Date: 星期三, 10 十一月 2021 18:05:34 +0800 Subject: [PATCH] TODO#130020 [快速篩選] API 串接 --- PAMapp/layouts/default.vue | 81 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 80 insertions(+), 1 deletions(-) diff --git a/PAMapp/layouts/default.vue b/PAMapp/layouts/default.vue index 34d8fd1..72f1566 100644 --- a/PAMapp/layouts/default.vue +++ b/PAMapp/layouts/default.vue @@ -1,9 +1,49 @@ <template> <div class="pam-background"> + <UiGoToTop></UiGoToTop> <BackActionBar></BackActionBar> - <Nuxt class="page-container"></Nuxt> + <div class="banner" :class="bannerClassName"></div> + <Nuxt class="page-container" :style="{ height: pageHieght}" ref="pageContainer"></Nuxt> + <Footer ref="defaultLayoutFooter"></Footer> </div> </template> + +<script lang="ts"> +import { Vue, Component } from 'vue-property-decorator'; + +@Component +export default class DefaultLayout extends Vue { + pageHieght = ''; + + get bannerClassName() { + if (this.$route.name) { + return this.noBanner(this.$route.name) ? 'noBanner' : this.$route.name.split('-')[0] + } else { + return ''; + } + } + + noBanner(routerName : string) { + return routerName.match('questionnaire') || routerName.match('agentInfo'); + } + + mounted() { + window.addEventListener('resize', this.handleResize); + this.handleResize(); + } + + handleResize(): void { + const pageContainer: any = this.$refs.pageContainer; + const footer: any = this.$refs.defaultLayoutFooter; + const pageAlignPadding = 80; + const deviceExtraHeight = 36; + if ((pageContainer.$el.clientHeight + footer.$el.clientHeight) < window.innerHeight) { + this.pageHieght = (window.innerHeight - footer.$el.clientHeight - pageAlignPadding - deviceExtraHeight) + 'px'; + } + } + +} +</script> <style lang="scss" scoped> .pam-background { @@ -22,4 +62,43 @@ } } + .banner { + width: 100%; + height: 120px; + background-size: cover; + background-repeat: no-repeat; + background-position: center; + } + + .noBanner { + display: none; + } + + .quickFilter { + background-image: url('~/assets/images/quickFilter/banner_mob.svg'); + } + + .recommendConsultant { + background-image: url('~/assets/images/recommendConsultant/banner_mob.svg'); + } + + .myConsultantList { + background-image: url('~/assets/images/myConsultantList/banner_mob.svg'); + } + + @media (min-width: 768px) { + + .quickFilter { + background-image: url('~/assets/images/quickFilter/banner_web.svg'); + } + + .recommendConsultant { + background-image: url('~/assets/images/recommendConsultant/banner_web.svg'); + } + + .myConsultantList { + background-image: url('~/assets/images/myConsultantList/banner_web.svg'); + } + } + </style> -- Gitblit v1.8.0