|
@@ -0,0 +1,364 @@
|
|
|
+<template>
|
|
|
+ <div class="page">
|
|
|
+ <div class="page-top">
|
|
|
+ <img class="logo" src="~/assets/theme-images/ross/ross-logo.png" />
|
|
|
+ <span></span>
|
|
|
+ <div class="name mt-2">来自西班牙殿堂级创新技术</div>
|
|
|
+ </div>
|
|
|
+ <div class="page-content">
|
|
|
+ <keep-alive>
|
|
|
+ <div class="list">
|
|
|
+ <div
|
|
|
+ class="section flex flex-col justify-center items-center"
|
|
|
+ v-for="item in list"
|
|
|
+ :key="item.id"
|
|
|
+ @click="toDetail(item)"
|
|
|
+ @mouseover="onMouseover(item)"
|
|
|
+ @mouseleave="onMouselevel(item)"
|
|
|
+ >
|
|
|
+ <div class="icon-image" :class="'item' + item.id"></div>
|
|
|
+ <div class="name mt-4" v-text="item.name"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </keep-alive>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { mapGetters } from 'vuex'
|
|
|
+import { toAuthorization } from '~/utils'
|
|
|
+import { isWeChat } from '~/utils/validator'
|
|
|
+export default {
|
|
|
+ name: 'RossHomePage',
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ list: [],
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters([
|
|
|
+ 'supplierInfo',
|
|
|
+ 'authUserId',
|
|
|
+ 'appId',
|
|
|
+ 'routePrefix',
|
|
|
+ 'accountType',
|
|
|
+ ]),
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.initEntryItems()
|
|
|
+ },
|
|
|
+ beforeDestroy() {
|
|
|
+ this.$removeStorage(this.routePrefix, 'login_redicret')
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 初始化入口图标
|
|
|
+ initEntryItems() {
|
|
|
+ this.list = [
|
|
|
+ {
|
|
|
+ id: 0,
|
|
|
+ name: '正品授权申请入口',
|
|
|
+ path: '/form/club-register',
|
|
|
+ active: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 1,
|
|
|
+ name: '正品授权',
|
|
|
+ path: '/approve',
|
|
|
+ active: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 2,
|
|
|
+ name: '资料库',
|
|
|
+ path: '/database/article',
|
|
|
+ active: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 3,
|
|
|
+ name: '意见反馈',
|
|
|
+ path: '/feedback',
|
|
|
+ active: false,
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ },
|
|
|
+
|
|
|
+ toDetail(item) {
|
|
|
+ const hasLogin = this.$store.getters.accessToken
|
|
|
+ // 保存登录重定向路由
|
|
|
+ this.$setStorage(
|
|
|
+ this.routePrefix,
|
|
|
+ 'login_redicret',
|
|
|
+ this.routePrefix + item.path
|
|
|
+ )
|
|
|
+ if (item.id > 1 && !hasLogin) {
|
|
|
+ // 在微信浏览器中使用微信授权登录
|
|
|
+ if (isWeChat() && this.appId && this.accountType === 2) {
|
|
|
+ const payload = {
|
|
|
+ authUserId: this.authUserId,
|
|
|
+ routePrefix: this.routePrefix,
|
|
|
+ }
|
|
|
+ return toAuthorization(this.appId, payload)
|
|
|
+ }
|
|
|
+ this.$toast({ message: '请先登录', duration: 1000 })
|
|
|
+ this.$store.commit('app/SHOW_LOGIN')
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if (item.id === 0) {
|
|
|
+ const url = this.routePrefix + item.path
|
|
|
+ this.$router.push(url)
|
|
|
+ } else {
|
|
|
+ const url = this.routePrefix + item.path
|
|
|
+ this.$router.push(url)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onMouseover(item) {
|
|
|
+ const isPc = this.$store.getters.isPc
|
|
|
+ if (!isPc) return
|
|
|
+ item.active = true
|
|
|
+ },
|
|
|
+ onMouselevel(item) {
|
|
|
+ const isPc = this.$store.getters.isPc
|
|
|
+ if (!isPc) return
|
|
|
+ item.active = false
|
|
|
+ },
|
|
|
+ },
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+// pc 端
|
|
|
+@media screen and (min-width: 768px) {
|
|
|
+ .page {
|
|
|
+ min-height: calc(100vh - 160px);
|
|
|
+ @include themify($themes) {
|
|
|
+ background-size: auto 100%;
|
|
|
+ background: themed('pc-banner-home') no-repeat center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .page-top {
|
|
|
+ width: 1200px;
|
|
|
+ margin: 0 auto;
|
|
|
+ padding: 75px 0 129px;
|
|
|
+ .logo {
|
|
|
+ display: block;
|
|
|
+ width: 119px;
|
|
|
+ }
|
|
|
+
|
|
|
+ span {
|
|
|
+ display: block;
|
|
|
+ width: 46px;
|
|
|
+ height: 3px;
|
|
|
+ margin: 40px 0 32px;
|
|
|
+ @include themify($themes) {
|
|
|
+ background: themed('color');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .name {
|
|
|
+ color: #fff;
|
|
|
+ font-size: 34px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .page-content {
|
|
|
+ width: 1200px;
|
|
|
+ margin: 0 auto;
|
|
|
+
|
|
|
+ .list {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .section {
|
|
|
+ width: 284px;
|
|
|
+ height: 260px;
|
|
|
+ margin-left: auto;
|
|
|
+ margin-right: auto;
|
|
|
+ background: rgba(255, 255, 255, 0.69);
|
|
|
+ cursor: pointer;
|
|
|
+ border-radius: 4px;
|
|
|
+ transition: all 0.4s;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ transform: translateY(-10px);
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(2n-1) {
|
|
|
+ transform: translateY(60px);
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ transform: translateY(50px);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .icon-image {
|
|
|
+ width: 86px;
|
|
|
+ height: 86px;
|
|
|
+ background-size: 86px 86px;
|
|
|
+ background-repeat: no-repeat;
|
|
|
+ background-position: center;
|
|
|
+
|
|
|
+ &.item0 {
|
|
|
+ @include themify($themes) {
|
|
|
+ background-image: themed('pc-icon-home-edit');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.item1 {
|
|
|
+ @include themify($themes) {
|
|
|
+ background-image: themed('pc-icon-home-approve');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.item2 {
|
|
|
+ @include themify($themes) {
|
|
|
+ background-image: themed('pc-icon-home-doc');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.item3 {
|
|
|
+ @include themify($themes) {
|
|
|
+ background-image: themed('pc-icon-home-feedback');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ @include themify($themes) {
|
|
|
+ background: url(~assets/theme-images/ross/pc-icon-approve-hover.png)
|
|
|
+ no-repeat center;
|
|
|
+ background-size: 100% auto;
|
|
|
+ }
|
|
|
+
|
|
|
+ .icon-image {
|
|
|
+ &.item0 {
|
|
|
+ background-image: url(~assets/theme-images/common/pc-icon-edit-active.png) !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.item1 {
|
|
|
+ background-image: url(~assets/theme-images/common/pc-icon-approve-active.png) !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.item2 {
|
|
|
+ background-image: url(~assets/theme-images/common/pc-icon-doc-active.png) !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.item3 {
|
|
|
+ background-image: url(~assets/theme-images/common/pc-icon-feedback-active.png) !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .name {
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .icon {
|
|
|
+ width: 86px;
|
|
|
+ height: 86px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .name {
|
|
|
+ font-size: 24px;
|
|
|
+ color: #404040;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 移动 端
|
|
|
+@media screen and (max-width: 768px) {
|
|
|
+ .page {
|
|
|
+ min-height: calc(100vh - 12.8vw - 12.4vw);
|
|
|
+ @include themify($themes) {
|
|
|
+ background: themed('h5-banner-home') no-repeat center;
|
|
|
+ background-size: cover;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .page-top {
|
|
|
+ padding: 11.5vw 7.2vw 15.5vw;
|
|
|
+ .logo {
|
|
|
+ display: block;
|
|
|
+ width: 14.3vw;
|
|
|
+ }
|
|
|
+
|
|
|
+ span {
|
|
|
+ display: block;
|
|
|
+ width: 7.2vw;
|
|
|
+ height: 0.5vw;
|
|
|
+ background: #fff;
|
|
|
+ margin: 6.2vw 0 4vw;
|
|
|
+ }
|
|
|
+
|
|
|
+ .name {
|
|
|
+ font-size: 4.8vw;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .page-content {
|
|
|
+ .list {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ padding: 0 7.2vw;
|
|
|
+ }
|
|
|
+
|
|
|
+ .section {
|
|
|
+ width: 41vw;
|
|
|
+ height: 38vw;
|
|
|
+ box-shadow: 0px 0.4vw 2vw rgba(0, 6, 32, 0.08);
|
|
|
+ margin-bottom: 8.8vw;
|
|
|
+ border-radius: 4px;
|
|
|
+
|
|
|
+ &:nth-child(2n-1) {
|
|
|
+ transform: translateY(16vw);
|
|
|
+ }
|
|
|
+
|
|
|
+ .icon {
|
|
|
+ width: 16vw;
|
|
|
+ height: 16vw;
|
|
|
+ }
|
|
|
+
|
|
|
+ .name {
|
|
|
+ font-size: 4vw;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+
|
|
|
+ .icon-image {
|
|
|
+ width: 16vw;
|
|
|
+ height: 16vw;
|
|
|
+ background-size: 16vw 16vw;
|
|
|
+ background-repeat: no-repeat;
|
|
|
+ background-position: center;
|
|
|
+
|
|
|
+ &.item0 {
|
|
|
+ background-image: url(~assets/theme-images/common/pc-icon-edit-active.png) !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.item1 {
|
|
|
+ background-image: url(~assets/theme-images/common/pc-icon-approve-active.png) !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.item2 {
|
|
|
+ background-image: url(~assets/theme-images/common/pc-icon-doc-active.png) !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.item3 {
|
|
|
+ background-image: url(~assets/theme-images/common/pc-icon-feedback-active.png) !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @include themify($themes) {
|
|
|
+ background: url(~assets/theme-images/ross/h5-icon-approve-hover.png)
|
|
|
+ no-repeat center;
|
|
|
+ background-size: 100% auto;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|