|
@@ -5,29 +5,36 @@
|
|
|
<div class="left">
|
|
|
<hero-sub-title />
|
|
|
<div class="detail">
|
|
|
- <!-- {{ detail }} -->
|
|
|
<div class="detail-wrapper">
|
|
|
+ <!-- {{ detail }} -->
|
|
|
<div class="back" @click="$router.go(-1)"></div>
|
|
|
<div class="info">
|
|
|
- <div class="show-case"></div>
|
|
|
- <h3 class="title">湘鄂赣省工农银行洋银叁角纸币</h3>
|
|
|
- <div class="label-list">
|
|
|
+ <div class="show-case" v-if="detail.video">
|
|
|
+ <video
|
|
|
+ :src="domain + detail.video"
|
|
|
+ playsinline
|
|
|
+ controls
|
|
|
+ ></video>
|
|
|
+ </div>
|
|
|
+ <h3 class="title">{{ detail.name }}</h3>
|
|
|
+
|
|
|
+ <!-- <div class="label-list">
|
|
|
<span>时代:土地革命时期</span>
|
|
|
<span>来源:澄潭三星</span>
|
|
|
<span>质地:纸质</span>
|
|
|
<span>级别:二级</span>
|
|
|
+ </div> -->
|
|
|
+ <div class="time-container">
|
|
|
+ <div class="time">
|
|
|
+ <span>{{ detail.publishDate }}</span>
|
|
|
+ <span>{{ typeLabel(detail.type) }} </span>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="text">
|
|
|
- 这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简
|
|
|
- 这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简
|
|
|
- 这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简
|
|
|
- 这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简
|
|
|
- 这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简
|
|
|
- 这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简
|
|
|
- 这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简
|
|
|
- 这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简
|
|
|
- 这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简
|
|
|
- 这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简介这是一段简
|
|
|
+
|
|
|
+ <div class="text" v-html="detail.richText"></div>
|
|
|
+
|
|
|
+ <div class="show-case" v-if="detail.thumb">
|
|
|
+ <img :src="domain + detail.thumb" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -40,15 +47,27 @@
|
|
|
|
|
|
<script setup>
|
|
|
import { watchEffect, ref, onMounted, computed } from "vue";
|
|
|
-import { useFullscreen } from "@vueuse/core";
|
|
|
import subHeader from "../components/subHeader";
|
|
|
import sideMenu from "../components/sideMenu";
|
|
|
import heroSubTitle from "../components/heroSubTitle";
|
|
|
import { useInfoStore } from "../store/info";
|
|
|
-const title = ref("detail");
|
|
|
+
|
|
|
const infoStore = useInfoStore();
|
|
|
const detail = computed(() => infoStore.detail);
|
|
|
+const domain = ref(import.meta.env.VITE_DOMAIN_URL);
|
|
|
|
|
|
+const typeLabel = computed(() => (type) => {
|
|
|
+ switch (type) {
|
|
|
+ case "exhibition":
|
|
|
+ return "展览";
|
|
|
+ case "news":
|
|
|
+ return "新闻";
|
|
|
+ case "activity":
|
|
|
+ return "活动";
|
|
|
+ case "notice":
|
|
|
+ return "通知";
|
|
|
+ }
|
|
|
+});
|
|
|
const props = defineProps({
|
|
|
id: {
|
|
|
type: [String, Number],
|
|
@@ -56,11 +75,13 @@ const props = defineProps({
|
|
|
required: true,
|
|
|
},
|
|
|
});
|
|
|
-watchEffect(() => {
|
|
|
- document.title = title.value;
|
|
|
+onMounted(() => {
|
|
|
if (props.id) {
|
|
|
infoStore.getDetail(props.id);
|
|
|
}
|
|
|
+ if (unref(detail)) {
|
|
|
+ document.title = unref(detail).name;
|
|
|
+ }
|
|
|
});
|
|
|
</script>
|
|
|
|
|
@@ -106,11 +127,27 @@ watchEffect(() => {
|
|
|
max-width: 66.8125rem;
|
|
|
margin: 0 auto;
|
|
|
font-size: 1.25rem;
|
|
|
- padding-bottom:5rem;
|
|
|
+ padding-bottom: 5rem;
|
|
|
.title {
|
|
|
font-size: 1.875rem;
|
|
|
line-height: 3.75rem;
|
|
|
margin: 1.2rem 0;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ .time-container {
|
|
|
+ display: inline-flex;
|
|
|
+ width: 100%;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+ .time {
|
|
|
+ display: inline-flex;
|
|
|
+ font-size: var(--base-font-size);
|
|
|
+ width: 250px;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ margin: 0 auto;
|
|
|
}
|
|
|
.label-list {
|
|
|
margin-bottom: 1.5rem;
|
|
@@ -137,6 +174,14 @@ watchEffect(() => {
|
|
|
max-width: 66.8125rem;
|
|
|
height: 34.1875rem;
|
|
|
background: var(--main-show-case-background);
|
|
|
+ border-radius: 1.3125rem;
|
|
|
+ video,
|
|
|
+ img {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ object-fit: cover;
|
|
|
+ border-radius: 1.3125rem;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|