|
@@ -8,7 +8,7 @@ const active = ref(0)
|
|
|
|
|
|
const router = useRouter()
|
|
|
|
|
|
-const data = ref([] as any)
|
|
|
+const data = ref([] as DynamicType[])
|
|
|
|
|
|
const searchParames = ref({
|
|
|
pageNum: 0,
|
|
@@ -20,6 +20,26 @@ const searchParames = ref({
|
|
|
searchKey: string
|
|
|
})
|
|
|
|
|
|
+export type DynamicType = {
|
|
|
+ createTime: string,
|
|
|
+ creatorId: number,
|
|
|
+ creatorName: string,
|
|
|
+ description: string,
|
|
|
+ dirCode: string,
|
|
|
+ fileIds: string,
|
|
|
+ files: any,
|
|
|
+ id: number,
|
|
|
+ name: string,
|
|
|
+ publishDate: string,
|
|
|
+ rtf: string,
|
|
|
+ thumb: string,
|
|
|
+ type: string,
|
|
|
+ updateTime: string
|
|
|
+}
|
|
|
+
|
|
|
+const typeList = ref([] as any)
|
|
|
+const allData = ref([] as DynamicType[])
|
|
|
+
|
|
|
const goDetai = (id: number) => {
|
|
|
router.push({ name: 'dynamicDetail', params: { id } });
|
|
|
}
|
|
@@ -27,213 +47,50 @@ const goDetai = (id: number) => {
|
|
|
const getList = async () => {
|
|
|
const res: any = await DynamicApi.getDynamicList(searchParames.value)
|
|
|
if (res.code == 0) {
|
|
|
- data.value = res.data
|
|
|
+ allData.value = res.data.records
|
|
|
+ const types = res.data.records.map((item: any) => {
|
|
|
+ return item.type
|
|
|
+ })
|
|
|
+ typeList.value = [...new Set(types)]
|
|
|
+ typeList.value.unshift('全部')
|
|
|
+ data.value = allData.value
|
|
|
} else {
|
|
|
- showToast('活动信息获取失败')
|
|
|
+ showToast(res.msg)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-onBeforeMount(() => {
|
|
|
- // getList()
|
|
|
- data.value = [
|
|
|
- {
|
|
|
- type: '全部',
|
|
|
- activitys: [
|
|
|
- {
|
|
|
- id: 0,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: 'https://n.sinaimg.cn/sinakd20112/0/w2048h1152/20220428/03e8-399a8decd0e38baf901f375ef9a4c050.jpg',
|
|
|
- abstract: '这是摘要这是摘要',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 1,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: '',
|
|
|
- abstract: '这是摘要这是摘要',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 2,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: '',
|
|
|
- abstract: '',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 3,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: 'https://n.sinaimg.cn/sinakd20112/0/w2048h1152/20220428/03e8-399a8decd0e38baf901f375ef9a4c050.jpg',
|
|
|
- abstract: '这是摘要这是摘要',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- type: '展览开放',
|
|
|
- activitys: [
|
|
|
- {
|
|
|
- id: 4,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: 'https://n.sinaimg.cn/sinakd20112/0/w2048h1152/20220428/03e8-399a8decd0e38baf901f375ef9a4c050.jpg',
|
|
|
- abstract: '这是摘要这是摘要',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- type: '展览开放',
|
|
|
- activitys: [
|
|
|
- {
|
|
|
- id: 5,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: 'https://n.sinaimg.cn/sinakd20112/0/w2048h1152/20220428/03e8-399a8decd0e38baf901f375ef9a4c050.jpg',
|
|
|
- abstract: '这是摘要这是摘要',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- type: '展览开放',
|
|
|
- activitys: [
|
|
|
- {
|
|
|
- id: 6,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: 'https://n.sinaimg.cn/sinakd20112/0/w2048h1152/20220428/03e8-399a8decd0e38baf901f375ef9a4c050.jpg',
|
|
|
- abstract: '这是摘要这是摘要',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- type: '展览开放',
|
|
|
- activitys: [
|
|
|
- {
|
|
|
- id: 7,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: 'https://n.sinaimg.cn/sinakd20112/0/w2048h1152/20220428/03e8-399a8decd0e38baf901f375ef9a4c050.jpg',
|
|
|
- abstract: '这是摘要这是摘要',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- type: '展览开放',
|
|
|
- activitys: [
|
|
|
- {
|
|
|
- id: 7,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: 'https://n.sinaimg.cn/sinakd20112/0/w2048h1152/20220428/03e8-399a8decd0e38baf901f375ef9a4c050.jpg',
|
|
|
- abstract: '这是摘要这是摘要',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- ]
|
|
|
- }, {
|
|
|
- type: '展览开放',
|
|
|
- activitys: [
|
|
|
- {
|
|
|
- id: 7,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: 'https://n.sinaimg.cn/sinakd20112/0/w2048h1152/20220428/03e8-399a8decd0e38baf901f375ef9a4c050.jpg',
|
|
|
- abstract: '这是摘要这是摘要',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- ]
|
|
|
- }, {
|
|
|
- type: '展览开放',
|
|
|
- activitys: [
|
|
|
- {
|
|
|
- id: 7,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: 'https://n.sinaimg.cn/sinakd20112/0/w2048h1152/20220428/03e8-399a8decd0e38baf901f375ef9a4c050.jpg',
|
|
|
- abstract: '这是摘要这是摘要',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- ]
|
|
|
- }, {
|
|
|
- type: '展览开放',
|
|
|
- activitys: [
|
|
|
- {
|
|
|
- id: 7,
|
|
|
- title: '宁国博物馆开放日',
|
|
|
- thebm: 'https://n.sinaimg.cn/sinakd20112/0/w2048h1152/20220428/03e8-399a8decd0e38baf901f375ef9a4c050.jpg',
|
|
|
- abstract: '这是摘要这是摘要',
|
|
|
- mainBody: '这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文这是正文',
|
|
|
- videos: [
|
|
|
- 'https://wxfalangchang.4dage.com/national/1687243969660/thumb/20230710_094753323140.mp4'
|
|
|
- ],
|
|
|
- releaseTime: '2023-12-27'
|
|
|
- },
|
|
|
- ]
|
|
|
- }
|
|
|
- ]
|
|
|
+watch(active, () => {
|
|
|
+ if (active.value == 0) {
|
|
|
+ data.value = allData.value
|
|
|
+ } else {
|
|
|
+ data.value = allData.value.filter((item: any) => {
|
|
|
+ return item.type == typeList.value[active.value]
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+})
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ getList()
|
|
|
})
|
|
|
+
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
<div class='dynamic'>
|
|
|
- <!-- <van-tabs v-model:active="active" id="tabs">
|
|
|
- <van-tab v-for="(item, index) in data" :key="index" :title="item.type">
|
|
|
-
|
|
|
- </van-tab>
|
|
|
- </van-tabs> -->
|
|
|
|
|
|
<div class="tabs">
|
|
|
- <div class="tab-item" :class="{ active: index === active }" v-for="(item, index) in data" :key="item"
|
|
|
- @click="active = index">{{ item.type }}</div>
|
|
|
+ <div class="tab-item" :class="{ active: index === active }" v-for="(item, index) in typeList" :key="item"
|
|
|
+ @click="active = index">{{ item }}</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="tab-content">
|
|
|
- <div class="activity-card" v-for="(item, index) in data[active].activitys" :key="index" @click="goDetai(item.id)">
|
|
|
- <img v-show="item.thebm != ''" class="thebm" :src="item.thebm" alt="">
|
|
|
- <div class="title">{{ item.title }}</div>
|
|
|
- <div v-show="item.abstract != ''" class="abstract">{{ item.abstract }}</div>
|
|
|
+ <div class="activity-card" v-for="(item, index) in data" :key="index" @click="goDetai(item.id)">
|
|
|
+ <img v-show="item.thumb != ''" class="thumb" :src="item.thumb" alt="">
|
|
|
+ <div class="title">{{ item.name }}</div>
|
|
|
+ <div v-show="item.description != ''" class="abstract">{{ item.description }}</div>
|
|
|
<div class="time">
|
|
|
- 发布时间:{{ item.releaseTime }}
|
|
|
+ 发布时间:{{ item.publishDate }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -304,12 +161,12 @@ onBeforeMount(() => {
|
|
|
// background: rgba(177, 177, 177, 0.226);
|
|
|
border-radius: 15px;
|
|
|
// padding: 20px;
|
|
|
- margin-bottom: 20px;
|
|
|
+ margin-bottom: 30px;
|
|
|
|
|
|
- .thebm {
|
|
|
+ .thumb {
|
|
|
width: 100%;
|
|
|
border-radius: 5px;
|
|
|
- margin-bottom: 20px;
|
|
|
+ margin-bottom: 5px;
|
|
|
}
|
|
|
|
|
|
.title {
|