|
|
@@ -1,132 +1,154 @@
|
|
|
<template>
|
|
|
- <FlexCol :padding="30" backgroundColor="background.page">
|
|
|
+ <FlexCol :padding="[0, 30]" backgroundColor="background.page">
|
|
|
|
|
|
- <!-- 非遗项目 -->
|
|
|
- <HomeTitle title="非遗项目" showMore @clickMore="navTo('/pages/inhert/intangible/list')" />
|
|
|
- <SimplePageContentLoader :loader="intangibleData" >
|
|
|
- <scroll-view scroll-x>
|
|
|
- <FlexRow>
|
|
|
- <Box2LineLargeImageUserShadow
|
|
|
- v-for="(item, i) in intangibleData.content.value"
|
|
|
- classNames="width-2-3 mr-2"
|
|
|
+ <Tabs
|
|
|
+ v-model:currentIndex="activeIndex"
|
|
|
+ :width="690"
|
|
|
+ :tabs="[
|
|
|
+ {
|
|
|
+ text: '非物质文化遗产',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: '物质文化遗产',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ />
|
|
|
+
|
|
|
+ <template v-if="activeIndex === 0">
|
|
|
+ <HomeTitle title="非物质文化遗产" showMore @clickMore="navTo('/pages/inhert/intangible/list')" />
|
|
|
+ <!-- 非遗项目 -->
|
|
|
+ <SimplePageContentLoader :loader="intangibleData" >
|
|
|
+ <scroll-view scroll-x>
|
|
|
+ <FlexRow>
|
|
|
+ <Box2LineLargeImageUserShadow
|
|
|
+ v-for="(item, i) in intangibleData.content.value"
|
|
|
+ classNames="width-2-3 mr-2"
|
|
|
+ titleColor="title-text"
|
|
|
+ fixSize
|
|
|
+ title1
|
|
|
+ :key="i"
|
|
|
+ :title="item.title"
|
|
|
+ :desc="item.desc"
|
|
|
+ :image="item.image"
|
|
|
+ :tags="item.bottomTags"
|
|
|
+ @click="navTo('/pages/inhert/intangible/details', { id: item.id })"
|
|
|
+ />
|
|
|
+ </FlexRow>
|
|
|
+ </scroll-view>
|
|
|
+ </SimplePageContentLoader>
|
|
|
+
|
|
|
+ <!-- 非遗传承人 -->
|
|
|
+ <HomeTitle title="非遗传承人" showMore @clickMore="navTo('/pages/inhert/inheritor/list')" />
|
|
|
+ <SimplePageContentLoader :loader="inheritorData">
|
|
|
+ <FlexCol>
|
|
|
+ <Box2LineImageRightShadow
|
|
|
+ v-for="(item, i) in inheritorData.content.value"
|
|
|
titleColor="title-text"
|
|
|
fixSize
|
|
|
- title1
|
|
|
:key="i"
|
|
|
:title="item.title"
|
|
|
:desc="item.desc"
|
|
|
:image="item.image"
|
|
|
:tags="item.bottomTags"
|
|
|
- @click="navTo('/pages/inhert/intangible/details', { id: item.id })"
|
|
|
+ @click="navTo('/pages/inhert/inheritor/details', { id: item.id })"
|
|
|
/>
|
|
|
- </FlexRow>
|
|
|
- </scroll-view>
|
|
|
- </SimplePageContentLoader>
|
|
|
-
|
|
|
- <!-- 非遗传承人 -->
|
|
|
- <HomeTitle title="非遗传承人" showMore @clickMore="navTo('/pages/inhert/inheritor/list')" />
|
|
|
- <SimplePageContentLoader :loader="inheritorData">
|
|
|
- <FlexCol>
|
|
|
- <Box2LineImageRightShadow
|
|
|
- v-for="(item, i) in inheritorData.content.value"
|
|
|
- titleColor="title-text"
|
|
|
- fixSize
|
|
|
- :key="i"
|
|
|
- :title="item.title"
|
|
|
- :desc="item.desc"
|
|
|
- :image="item.image"
|
|
|
- :tags="item.bottomTags"
|
|
|
- @click="navTo('/pages/inhert/inheritor/details', { id: item.id })"
|
|
|
- />
|
|
|
- </FlexCol>
|
|
|
- </SimplePageContentLoader>
|
|
|
+ </FlexCol>
|
|
|
+ </SimplePageContentLoader>
|
|
|
|
|
|
- <!-- 保护单位 -->
|
|
|
- <HomeTitle title="保护单位" showMore @clickMore="navTo('/pages/inhert/unit/list')" />
|
|
|
- <SimplePageContentLoader :loader="unitData">
|
|
|
- <FlexCol>
|
|
|
- <Box2LineImageRightShadow
|
|
|
- v-for="(item, i) in unitData.content.value"
|
|
|
- titleColor="title-text"
|
|
|
- :border="false"
|
|
|
- fixSize
|
|
|
- :key="i"
|
|
|
- :title="item.title"
|
|
|
- :desc="item.desc"
|
|
|
- :showImage="false"
|
|
|
- :tags="item.bottomTags"
|
|
|
- />
|
|
|
- </FlexCol>
|
|
|
- </SimplePageContentLoader>
|
|
|
-
|
|
|
- <!-- 非遗传习所 -->
|
|
|
- <HomeTitle title="非遗传习所" showMore @clickMore="navHomePageMiniCommonListGo({
|
|
|
- title: '非遗传习所',
|
|
|
- modelId: SeminarContent.modelId,
|
|
|
- mainBodyColumnId: SeminarContent.mainBodyColumnId,
|
|
|
- detailsPage: '/pages/inhert/seminar/details',
|
|
|
- })" />
|
|
|
- <SimplePageContentLoader :loader="seminarData">
|
|
|
- <FlexCol overflow="visible">
|
|
|
- <Box2LineImageRightShadow
|
|
|
- v-for="(item, i) in seminarData.content.value"
|
|
|
- titleColor="title-text"
|
|
|
- fixSize
|
|
|
- :key="i"
|
|
|
- :title="item.title"
|
|
|
- :desc="item.desc"
|
|
|
- :image="item.image"
|
|
|
- :tags="item.bottomTags"
|
|
|
- @click="navTo('/pages/inhert/seminar/details', { id: item.id })"
|
|
|
- />
|
|
|
- </FlexCol>
|
|
|
- </SimplePageContentLoader>
|
|
|
+ <!-- 保护单位 -->
|
|
|
+ <HomeTitle title="保护单位" showMore @clickMore="navTo('/pages/inhert/unit/list')" />
|
|
|
+ <SimplePageContentLoader :loader="unitData">
|
|
|
+ <FlexCol>
|
|
|
+ <Box2LineImageRightShadow
|
|
|
+ v-for="(item, i) in unitData.content.value"
|
|
|
+ titleColor="title-text"
|
|
|
+ :border="false"
|
|
|
+ fixSize
|
|
|
+ :key="i"
|
|
|
+ :title="item.title"
|
|
|
+ :desc="item.desc"
|
|
|
+ :showImage="false"
|
|
|
+ :tags="item.bottomTags"
|
|
|
+ />
|
|
|
+ </FlexCol>
|
|
|
+ </SimplePageContentLoader>
|
|
|
|
|
|
- <!-- 非遗活动 -->
|
|
|
- <HomeTitle title="非遗活动" showMore @clickMore="goActivityList" />
|
|
|
- <SimplePageContentLoader :loader="activityData">
|
|
|
- <FlexRow wrap align="stretch" justify="space-between" overflow="visible">
|
|
|
- <Box2LineLargeImageUserShadow
|
|
|
- v-for="(item, i) in activityData.content.value"
|
|
|
- titleColor="title-text"
|
|
|
- width="calc(50% - 10rpx)"
|
|
|
- fixSize
|
|
|
- :key="i"
|
|
|
- :title="item.title"
|
|
|
- :desc="item.desc"
|
|
|
- :image="item.image"
|
|
|
- @click="goActivityDetail(item.id)"
|
|
|
- />
|
|
|
- </FlexRow>
|
|
|
- </SimplePageContentLoader>
|
|
|
+ <!-- 非遗传习所 -->
|
|
|
+ <HomeTitle title="非遗传习所" showMore @clickMore="navHomePageMiniCommonListGo({
|
|
|
+ title: '非遗传习所',
|
|
|
+ modelId: SeminarContent.modelId,
|
|
|
+ mainBodyColumnId: SeminarContent.mainBodyColumnId,
|
|
|
+ detailsPage: '/pages/inhert/seminar/details',
|
|
|
+ })" />
|
|
|
+ <SimplePageContentLoader :loader="seminarData">
|
|
|
+ <FlexCol overflow="visible">
|
|
|
+ <Box2LineImageRightShadow
|
|
|
+ v-for="(item, i) in seminarData.content.value"
|
|
|
+ titleColor="title-text"
|
|
|
+ fixSize
|
|
|
+ :key="i"
|
|
|
+ :title="item.title"
|
|
|
+ :desc="item.desc"
|
|
|
+ :image="item.image"
|
|
|
+ :tags="item.bottomTags"
|
|
|
+ @click="navTo('/pages/inhert/seminar/details', { id: item.id })"
|
|
|
+ />
|
|
|
+ </FlexCol>
|
|
|
+ </SimplePageContentLoader>
|
|
|
|
|
|
- <!-- 文物 -->
|
|
|
- <HomeTitle title="文物古迹" showMore @clickMore="navTo('/pages/inhert/artifact/list')" />
|
|
|
- <SimplePageContentLoader :loader="artifactData">
|
|
|
- <FlexRow wrap align="stretch" justify="space-between" overflow="visible">
|
|
|
- <Box2LineLargeImageUserShadow
|
|
|
- v-for="(item, i) in artifactData.content.value"
|
|
|
- width="calc(50% - 10rpx)"
|
|
|
- titleColor="title-text"
|
|
|
- fixSize
|
|
|
- :key="i"
|
|
|
- :title="item.title"
|
|
|
- :image="item.image"
|
|
|
- :tags="item.tags"
|
|
|
- title1
|
|
|
- @click="navTo('/pages/inhert/artifact/details', { id: item.id })"
|
|
|
- />
|
|
|
- </FlexRow>
|
|
|
- </SimplePageContentLoader>
|
|
|
+ <!-- 非遗活动 -->
|
|
|
+ <HomeTitle title="非遗活动" showMore @clickMore="goActivityList" />
|
|
|
+ <SimplePageContentLoader :loader="activityData">
|
|
|
+ <FlexRow wrap align="stretch" justify="space-between" overflow="visible">
|
|
|
+ <Box2LineLargeImageUserShadow
|
|
|
+ v-for="(item, i) in activityData.content.value"
|
|
|
+ titleColor="title-text"
|
|
|
+ width="calc(50% - 10rpx)"
|
|
|
+ fixSize
|
|
|
+ :key="i"
|
|
|
+ :title="item.title"
|
|
|
+ :desc="item.desc"
|
|
|
+ :image="item.image"
|
|
|
+ @click="goActivityDetail(item.id)"
|
|
|
+ />
|
|
|
+ </FlexRow>
|
|
|
+ </SimplePageContentLoader>
|
|
|
+ </template>
|
|
|
+ <template v-else-if="activeIndex === 1">
|
|
|
+ <!-- 文物 -->
|
|
|
+ <HomeTitle title="物质文化遗产" showMore @clickMore="navTo('/pages/inhert/artifact/list')" />
|
|
|
+ <SimplePageContentLoader :loader="artifactData">
|
|
|
+ <FlexRow wrap align="stretch" justify="space-between" overflow="visible">
|
|
|
+ <Box2LineLargeImageUserShadow
|
|
|
+ v-for="(item, i) in artifactData.content.value"
|
|
|
+ width="calc(50% - 10rpx)"
|
|
|
+ titleColor="title-text"
|
|
|
+ fixSize
|
|
|
+ :key="i"
|
|
|
+ :title="item.title"
|
|
|
+ :image="item.image"
|
|
|
+ :tags="item.tags"
|
|
|
+ title1
|
|
|
+ @click="navTo('/pages/inhert/artifact/details', { id: item.id })"
|
|
|
+ />
|
|
|
+ </FlexRow>
|
|
|
+ <Touchable direction="row" center :padding="10" :gap="20" @click="navTo('/pages/inhert/artifact/list')">
|
|
|
+ <text>查看全部</text>
|
|
|
+ <Icon name="arrow-right" />
|
|
|
+ </Touchable>
|
|
|
+ </SimplePageContentLoader>
|
|
|
+ </template>
|
|
|
|
|
|
- <Footer text="我也是有底线的~" />
|
|
|
+ <Footer text="到底了~" />
|
|
|
</FlexCol>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
+import { ref } from 'vue';
|
|
|
import { navTo } from '@/components/utils/PageAction';
|
|
|
import { useSimpleDataLoader } from '@/common/composeabe/SimpleDataLoader';
|
|
|
import { GetContentListParams } from '@/api/CommonContent';
|
|
|
+import { navHomePageMiniCommonListGo, useHomePageMiniCommonListGoMoreAndGoDetail } from '../article/common/CommonContent';
|
|
|
import SimplePageContentLoader from '@/common/components/SimplePageContentLoader.vue';
|
|
|
import FlexCol from '@/components/layout/FlexCol.vue';
|
|
|
import HomeTitle from '../parts/HomeTitle.vue';
|
|
|
@@ -136,10 +158,14 @@ import InheritorContent from '@/api/inheritor/InheritorContent';
|
|
|
import ProjectsContent from '@/api/inheritor/ProjectsContent';
|
|
|
import UnitContent from '@/api/inheritor/UnitContent';
|
|
|
import SeminarContent from '@/api/inheritor/SeminarContent';
|
|
|
-import { navHomePageMiniCommonListGo, useHomePageMiniCommonListGoMoreAndGoDetail } from '../article/common/CommonContent';
|
|
|
import FlexRow from '@/components/layout/FlexRow.vue';
|
|
|
import UnmoveableContent from '@/api/inheritor/UnmoveableContent';
|
|
|
import Footer from '@/components/display/Footer.vue';
|
|
|
+import Tabs from '@/components/nav/Tabs.vue';
|
|
|
+import Touchable from '@/components/feedback/Touchable.vue';
|
|
|
+import Icon from '@/components/basic/Icon.vue';
|
|
|
+
|
|
|
+const activeIndex = ref(0);
|
|
|
|
|
|
const intangibleData = useSimpleDataLoader(async () =>
|
|
|
(await ProjectsContent.getContentList(new GetContentListParams(), 1, 4)).list.map(p => ({
|
|
|
@@ -198,7 +224,7 @@ const seminarData = useSimpleDataLoader(async () =>
|
|
|
}))
|
|
|
);
|
|
|
const artifactData = useSimpleDataLoader(async () =>
|
|
|
- (await UnmoveableContent.getContentList(new GetContentListParams(), 1, 4)).list.map(p => ({
|
|
|
+ (await UnmoveableContent.getContentList(new GetContentListParams(), 1, 16)).list.map(p => ({
|
|
|
id: p.id,
|
|
|
title: p.title,
|
|
|
desc: '',
|