Quellcode durchsuchen

📦 文化概况数据统计和其他细节修改

imengyu vor 3 Tagen
Ursprung
Commit
9435891798

+ 3 - 1
src/assets/scss/news.scss

@@ -8,9 +8,11 @@
   position: relative;
   display: flex;
   flex-direction: column;
-
+  row-gap: 20px;
 
   &.grid {
+    row-gap: 0;
+
     .list {
       flex-direction: row;
       flex-wrap: wrap;

Datei-Diff unterdrückt, da er zu groß ist
+ 17 - 2
src/views/HomeView.vue


+ 115 - 0
src/views/InheritorView.vue

@@ -12,6 +12,34 @@
       </template>
     </Carousel>
 
+    <!-- 数据统计 -->
+    <section class="main-section pb-0">
+      <div class="content">
+        <div class="title">
+          <h2>数据统计</h2>
+        </div>
+
+        <SimplePageContentLoader :loader="statsData">
+          <Carousel ref="carousel3Ref" v-bind="carousel3Config">
+            <Slide v-for="(stat,key) in statsData.content.value" :key="key">
+              <div :class="`main-card-box type${stat.type}`">
+                <h4>{{ stat.title }}</h4>
+                <div class="descs">
+                  <div v-for="(data, key2) in stat.datas" :key="key2">
+                    <h5>{{ data.title }}</h5>
+                    <p>{{ data.value }}</p>
+                  </div>
+                </div>
+              </div>
+            </Slide>
+            <template #addons>
+              <Navigation />
+            </template>
+          </Carousel>
+        </SimplePageContentLoader>
+      </div>
+    </section>
+
     <!-- 非遗传承 -->
     <section class="main-section pb-0">
       <div class="content">
@@ -238,6 +266,93 @@ const overviewsLoader = useSimpleDataLoader(async () => {
   ]
 });
 
+
+const carousel3Config = ref({
+  itemsToShow: 4,
+  mouseWheel: true,
+  wrapAround: true,
+  autoplay: 3000,
+});
+const carousel3Ref = ref<any>(null);
+
+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);
+  
+  return [
+    {
+      title: '非遗项目',
+      type: '1',
+      datas: data.ichData.map((item: any) => {
+        return {
+          title: item.level_text,
+          value: item.total
+        }
+      })
+    },
+    {
+      title: '传承人',
+      type: '2',
+      datas: data.inheritorData.map((item: any) => {
+        return {
+          title: item.title,
+          value: item.total
+        }
+      })
+    },
+    {
+      title: '不可移动文物',
+      type: '3',
+      datas: data.crData.map((item: any) => {
+        return {
+          title: item.title,
+          value: item.total
+        }
+      })
+    },
+    {
+      title: '闽南文化重要相关文物古迹',
+      type: '2',
+      datas: data.minnanCr.map((item: any) => {
+        return {
+          title: item.title,
+          value: item.total
+        }
+      })
+    },
+    {
+      title: '重要相关历史风貌区',
+      type: '1',
+      datas: data.historyData.map((item: any) => {
+        return {
+          title: item.title,
+          value: item.total
+        }
+      })
+    },
+    {
+      title: '传习中心',
+      type: '3',
+      datas: data.ichCenter.map((item: any) => {
+        return {
+          title: item.title,
+          value: item.total
+        }
+      })
+    },
+  ]
+
+});
+
 </script>
 
 <style lang="scss">

+ 1 - 1
src/views/NewsDetailView.vue

@@ -36,7 +36,7 @@
           </Carousel>
 
           <SimpleRichHtml 
-            class="news-content"
+            class="news-content mt-3"
             :contents="[
               newsLoader.content.value.intro,
               newsLoader.content.value.value,

+ 1 - 1
src/views/NewsView.vue

@@ -17,7 +17,7 @@
         <div class="col-md-12 col-lg-8 col-xl-6">
           <div class="main-header-title d-flex flex-column">
             <h1 class="mt-3">闽南文化保护区资讯动态</h1>
-            <p>祝您在三星堆获得足够丰富的精神体验</p>
+            <p>查看最新相关资讯</p>
             <div class="d-flex flex-column flex-sm-row flex-md-row flex-lg-row">
               <Dropdown 
                 v-model:selectedValue="searchRegion"

+ 1 - 0
src/views/village/index.vue

@@ -2,6 +2,7 @@
   <!-- 传统村落 -->
    <CommonListPage
     :title="'传统村落'"
+    :prevPage="{ title: '保护传承' }"
     :dropDownNames="[]"
     :pageSize="8"
     :rowCount="2"