|
@@ -0,0 +1,164 @@
|
|
|
+<template>
|
|
|
+ <div class="main">
|
|
|
+ <!-- <div class="head"></div> -->
|
|
|
+ <!-- <Teleport to=".n-tabs-nav"> xxx </Teleport> -->
|
|
|
+
|
|
|
+ <div class="content">
|
|
|
+ <div class="left">
|
|
|
+ <n-tabs type="line">
|
|
|
+ <template #prefix><span class="meta-title">场馆资讯</span> </template>
|
|
|
+ <n-tab-pane name="展览" tab="展览">
|
|
|
+ <!-- <n-scrollbar style="height: 100%" trigger="none"> -->
|
|
|
+ <n-grid x-gap="12" y-gap="12" :cols="3" class="tab-grid">
|
|
|
+ <template v-for="(_, index) in 16">
|
|
|
+ <n-gi>
|
|
|
+ <infoBox
|
|
|
+ :id="index + 1"
|
|
|
+ title="卡片"
|
|
|
+ cover="https://07akioni.oss-cn-beijing.aliyuncs.com/07akioni.jpeg"
|
|
|
+ time="2023-01-02"
|
|
|
+ />
|
|
|
+ </n-gi>
|
|
|
+ </template>
|
|
|
+ </n-grid>
|
|
|
+ </n-tab-pane>
|
|
|
+ <n-tab-pane name="活动" tab="活动">
|
|
|
+ <n-grid x-gap="12" y-gap="12" :cols="3" class="tab-grid">
|
|
|
+ <template v-for="item in 16">
|
|
|
+ <n-gi>
|
|
|
+ <infoBox
|
|
|
+ title="卡片"
|
|
|
+ cover="https://07akioni.oss-cn-beijing.aliyuncs.com/07akioni.jpeg"
|
|
|
+ time="2023-01-02"
|
|
|
+ />
|
|
|
+ </n-gi>
|
|
|
+ </template>
|
|
|
+ </n-grid>
|
|
|
+ </n-tab-pane>
|
|
|
+ <n-tab-pane name="新闻" tab="新闻">
|
|
|
+ <n-grid x-gap="12" y-gap="12" :cols="3" class="tab-grid">
|
|
|
+ <template v-for="item in 16">
|
|
|
+ <n-gi>
|
|
|
+ <infoBox
|
|
|
+ title="卡片"
|
|
|
+ cover="https://07akioni.oss-cn-beijing.aliyuncs.com/07akioni.jpeg"
|
|
|
+ time="2023-01-02"
|
|
|
+ />
|
|
|
+ </n-gi>
|
|
|
+ </template>
|
|
|
+ </n-grid>
|
|
|
+ </n-tab-pane>
|
|
|
+ <n-tab-pane name="通知" tab="通知">
|
|
|
+ <n-grid y-gap="20" :cols="1" class="tab-grid">
|
|
|
+ <template v-for="item in 16">
|
|
|
+ <n-gi>
|
|
|
+ <notice-box
|
|
|
+ title="这是一段标题这是一段标题"
|
|
|
+ content="这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段摘要这是一段..."
|
|
|
+ time="2023-01-02"
|
|
|
+ />
|
|
|
+ </n-gi>
|
|
|
+ </template>
|
|
|
+ </n-grid>
|
|
|
+ </n-tab-pane>
|
|
|
+ </n-tabs>
|
|
|
+ </div>
|
|
|
+ <div class="right">
|
|
|
+ <div class="logo"></div>
|
|
|
+ <div class="back" @click="$router.push('/')"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+import { onMounted } from "vue";
|
|
|
+import { useFullscreen } from "@vueuse/core";
|
|
|
+import infoBox from "../components/infoBox";
|
|
|
+import noticeBox from "../components/noticeBox";
|
|
|
+import { useInfoStore } from "../store/info";
|
|
|
+
|
|
|
+const { isFullscreen, enter, exit, toggle } = useFullscreen();
|
|
|
+const InfoStore = useInfoStore();
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ InfoStore.getData();
|
|
|
+});
|
|
|
+</script>
|
|
|
+
|
|
|
+<style>
|
|
|
+.main {
|
|
|
+ --main-left-background: grey;
|
|
|
+ --main-right-background: rgba(0, 0, 0, 0.8);
|
|
|
+ --logo-width: 100px;
|
|
|
+ --go-home-width: 60px;
|
|
|
+ --logo-background-color: rgba(0, 0, 0, 0.5);
|
|
|
+ --left-content-padding: 50px;
|
|
|
+ --right-content-padding: 50px;
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.main {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ overflow-y: hidden;
|
|
|
+}
|
|
|
+.meta-title {
|
|
|
+ font-size: 34px;
|
|
|
+ padding-right: 50px;
|
|
|
+}
|
|
|
+.head {
|
|
|
+ width: 100%;
|
|
|
+ height: 60px;
|
|
|
+}
|
|
|
+.content {
|
|
|
+ flex: 1;
|
|
|
+ display: flex;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ flex-direction: row;
|
|
|
+ overflow: hidden;
|
|
|
+}
|
|
|
+.left {
|
|
|
+ flex: 1;
|
|
|
+ background-color: var(--main-left-background);
|
|
|
+ padding: var(--left-content-padding);
|
|
|
+ .n-tabs {
|
|
|
+ height: 100%;
|
|
|
+ overflow: hidden;
|
|
|
+ :deep(.n-tab-pane) {
|
|
|
+ overflow-y: scroll;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+.n-tabs {
|
|
|
+ --n-tab-font-size: 26px !important;
|
|
|
+}
|
|
|
+.right {
|
|
|
+ flex: 0 0 10%;
|
|
|
+ min-width: 120px;
|
|
|
+ /* max-width: 120px; */
|
|
|
+ height: calc(100% - var(--right-content-padding) * 2);
|
|
|
+ background-color: var(--main-right-background);
|
|
|
+ display: flex;
|
|
|
+ padding: 50px 0;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ .logo {
|
|
|
+ width: var(--logo-width);
|
|
|
+ height: var(--logo-width);
|
|
|
+ border-radius: 50%;
|
|
|
+ background-color: var(--logo-background-color);
|
|
|
+ }
|
|
|
+ .back {
|
|
|
+ width: var(--go-home-width);
|
|
|
+ height: var(--go-home-width);
|
|
|
+ border-radius: 50%;
|
|
|
+ background-color: var(--logo-background-color);
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|