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