|
@@ -13,19 +13,33 @@
|
|
|
</Carousel>
|
|
|
|
|
|
<!-- 数据统计 -->
|
|
|
- <section class="main-section pb-0">
|
|
|
+ <section class="main-section main-background main-background-type2">
|
|
|
<div class="content">
|
|
|
<div class="title">
|
|
|
<h2>数据统计</h2>
|
|
|
</div>
|
|
|
|
|
|
<SimplePageContentLoader :loader="statsData">
|
|
|
- <div v-for="(stat,key) in statsData.content.value" :key="key" class="main-stats">
|
|
|
- <h4>{{ stat.title }}</h4>
|
|
|
- <div class="descs">
|
|
|
- <div v-for="(data, key2) in stat.datas" :key="key2" @click="data.onClick">
|
|
|
- <h5>{{ data.value }}</h5>
|
|
|
- <p>{{ data.title }}</p>
|
|
|
+ <div class="d-flex row">
|
|
|
+ <div
|
|
|
+ class="col-12 col-md-6 col-lg-4 col-xl-4"
|
|
|
+ v-for="(stat,key) in statsData.content.value"
|
|
|
+ :key="key"
|
|
|
+ >
|
|
|
+ <div :class="`main-card-box type${stat.type}`">
|
|
|
+ <div class="content">
|
|
|
+ <h4>{{ stat.title }}</h4>
|
|
|
+ <div class="descs">
|
|
|
+ <div
|
|
|
+ v-for="(data, key2) in stat.datas"
|
|
|
+ :key="key2"
|
|
|
+ @click="data.onClick"
|
|
|
+ >
|
|
|
+ <h5>{{ data.title }}</h5>
|
|
|
+ <p>{{ data.value }}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -43,11 +57,11 @@
|
|
|
</div>
|
|
|
</section>
|
|
|
|
|
|
- <!-- 文物保护 -->
|
|
|
+ <!-- 重要相关文物古迹 -->
|
|
|
<section class="main-section pb-0">
|
|
|
<div class="content">
|
|
|
<div class="title">
|
|
|
- <h2>文物保护</h2>
|
|
|
+ <h2>重要相关文物古迹</h2>
|
|
|
</div>
|
|
|
<ThreeImageList :list="list2" />
|
|
|
</div>
|
|
@@ -71,56 +85,38 @@
|
|
|
</div>
|
|
|
</section>
|
|
|
|
|
|
- <!-- 重要相关文物古迹 -->
|
|
|
+ <!-- 历史文化街区 -->
|
|
|
<section class="main-section pb-0">
|
|
|
<div class="content">
|
|
|
<div class="title">
|
|
|
- <h2>重要相关文物古迹</h2>
|
|
|
+ <h2>历史文化街区</h2>
|
|
|
</div>
|
|
|
<LeftRightBox
|
|
|
- title="重要相关文物古迹"
|
|
|
+ title="历史文化街区"
|
|
|
:desc="overviewsLoader.content.value?.[1]"
|
|
|
:image="Image11"
|
|
|
:showExpand="false"
|
|
|
left
|
|
|
:rightItems="areaData.content.value"
|
|
|
@rightItemDefaultClick="(item) => navTo('/news/detail', { id: item.id })"
|
|
|
- @moreClick="navTo('/inheritor/area')"
|
|
|
+ @moreClick="navTo('/inheritor/block')"
|
|
|
/>
|
|
|
</div>
|
|
|
</section>
|
|
|
|
|
|
- <!-- 历史文化街区 -->
|
|
|
- <section class="main-section pb-0">
|
|
|
+ <!-- 闽南语 -->
|
|
|
+ <section class="main-section">
|
|
|
<div class="content">
|
|
|
<div class="title">
|
|
|
- <h2>历史文化街区</h2>
|
|
|
+ <h2>闽南语</h2>
|
|
|
</div>
|
|
|
<LeftRightBox
|
|
|
- title="历史文化街区"
|
|
|
- :desc="overviewsLoader.content.value?.[2]"
|
|
|
+ title="闽南语"
|
|
|
:image="Image10"
|
|
|
:showExpand="false"
|
|
|
- :rightItems="blockData.content.value"
|
|
|
+ :rightItems="minnanyuLoader.content.value"
|
|
|
@rightItemDefaultClick="(item) => navTo('/news/detail', { id: item.id })"
|
|
|
- @moreClick="navTo('/village/index')"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </section>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <!-- 申报入口 -->
|
|
|
- <section class="main-section">
|
|
|
- <div class="content">
|
|
|
- <div class="title">
|
|
|
- <h2>申报入口</h2>
|
|
|
- </div>
|
|
|
- <img
|
|
|
- class="main-clickable mt-4 w-100"
|
|
|
- src="@/assets/images/inheritor/SubmitButton.png"
|
|
|
- alt="申报入口按钮"
|
|
|
- @click="navTo('/inheritor/submit')"
|
|
|
+ @moreClick="navTo('/inheritor/language')"
|
|
|
/>
|
|
|
</div>
|
|
|
</section>
|
|
@@ -147,9 +143,11 @@ import { usePageAction } from '@/composeable/PageAction';
|
|
|
import { useSimpleDataLoader } from '@/composeable/SimpleDataLoader';
|
|
|
import CommonContent, { GetColumListParams, GetContentListParams } from '@/api/CommonContent';
|
|
|
import SimplePageContentLoader from '@/components/content/SimplePageContentLoader.vue';
|
|
|
-import { NO_CONTENT_STRING } from '@/common/ConstStrings';
|
|
|
import IndexContent from '@/api/introduction/IndexContent';
|
|
|
+import SeminarContent from '@/api/inheritor/SeminarContent';
|
|
|
+import UnmoveableContent from '@/api/inheritor/UnmoveableContent';
|
|
|
|
|
|
+const NO_CONTENT_STRING = '';
|
|
|
const { navTo } = usePageAction();
|
|
|
|
|
|
const carouselConfig = {
|
|
@@ -232,6 +230,12 @@ const blockData = useSimpleDataLoader(async () =>
|
|
|
.setMainBodyColumnId(286)
|
|
|
, 1, 6)).list
|
|
|
)
|
|
|
+const minnanyuLoader = useSimpleDataLoader(async () =>
|
|
|
+ (await CommonContent.getContentList(new GetContentListParams()
|
|
|
+ .setModelId(5)
|
|
|
+ .setMainBodyColumnId([257,235,237,210])
|
|
|
+ , 1, 6)).list
|
|
|
+)
|
|
|
const overviewsLoader = useSimpleDataLoader(async () => {
|
|
|
return [
|
|
|
(await IndexContent.getColumList(
|
|
@@ -252,27 +256,11 @@ const overviewsLoader = useSimpleDataLoader(async () => {
|
|
|
]
|
|
|
});
|
|
|
|
|
|
-
|
|
|
-const carousel3Config = ref({
|
|
|
- itemsToShow: 4,
|
|
|
- mouseWheel: true,
|
|
|
- wrapAround: true,
|
|
|
- autoplay: 3000,
|
|
|
-});
|
|
|
-
|
|
|
-onMounted(() => {
|
|
|
- if (window.innerWidth <= 435) {
|
|
|
- carousel3Config.value.itemsToShow = 1;
|
|
|
- } else if (window.innerWidth <= 768) {
|
|
|
- carousel3Config.value.itemsToShow = 2;
|
|
|
- }
|
|
|
-})
|
|
|
-
|
|
|
-
|
|
|
const statsData = useSimpleDataLoader(async () => {
|
|
|
const data = (await IndexContent.getStats());
|
|
|
- console.log(data);
|
|
|
-
|
|
|
+ const semiCount = (await SeminarContent.getContentList(new GetContentListParams(), 1, 1)).total;
|
|
|
+ const unmoveableCount = (await UnmoveableContent.getContentList(new GetContentListParams(), 1, 1)).total;
|
|
|
+
|
|
|
return [
|
|
|
{
|
|
|
title: '非遗项目',
|
|
@@ -300,6 +288,26 @@ const statsData = useSimpleDataLoader(async () => {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ {
|
|
|
+ type: '1',
|
|
|
+ datas: [
|
|
|
+ {
|
|
|
+ title: '传习所',
|
|
|
+ value: semiCount,
|
|
|
+ onClick: () => navTo('/inheritor/seminar'),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '传统村落',
|
|
|
+ value: data.villageData[0].total,
|
|
|
+ onClick: () => navTo('/village/index'),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '文物古迹',
|
|
|
+ value: unmoveableCount,
|
|
|
+ onClick: () => navTo('/inheritor/unmoveable'),
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
/* {
|
|
|
title: '不可移动文物',
|
|
|
type: '3',
|
|
@@ -344,6 +352,23 @@ const statsData = useSimpleDataLoader(async () => {
|
|
|
|
|
|
});
|
|
|
|
|
|
+const carousel3Config = ref({
|
|
|
+ itemsToShow: 4,
|
|
|
+ mouseWheel: true,
|
|
|
+ wrapAround: true,
|
|
|
+ autoplay: 3000,
|
|
|
+});
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ if (window.innerWidth <= 435) {
|
|
|
+ carousel3Config.value.itemsToShow = 1;
|
|
|
+ } else if (window.innerWidth <= 768) {
|
|
|
+ carousel3Config.value.itemsToShow = 2;
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|