ソースを参照

🎨 按要求修改细节问题

快乐的梦鱼 2 ヶ月 前
コミット
128d87bf5f
共有7 個のファイルを変更した44 個の追加86 個の削除を含む
  1. 2 2
      src/pages.json
  2. 2 0
      src/pages/article/common/CommonListPage.vue
  3. 6 65
      src/pages/discover.vue
  4. 25 16
      src/pages/home.vue
  5. 5 1
      src/pages/inhert/intangible/list.vue
  6. 2 1
      src/pages/inhert/old/list.vue
  7. 2 1
      src/pages/parts/StatsText.vue

+ 2 - 2
src/pages.json

@@ -92,7 +92,7 @@
     {
       "path": "pages/inhert/artifact/list",
       "style": {
-        "navigationBarTitleText": "文物古迹",
+        "navigationBarTitleText": "相关文物古迹",
         "enablePullDownRefresh": true
       }
     },
@@ -149,7 +149,7 @@
     {
       "path": "pages/inhert/old/list",
       "style": {
-        "navigationBarTitleText": "老字号",
+        "navigationBarTitleText": "重要相关老字号",
         "enablePullDownRefresh": true
       }
     },

+ 2 - 0
src/pages/article/common/CommonListPage.vue

@@ -12,6 +12,8 @@
         :width="700"
         v-model:currentIndex="tabCurrentIndex"
         :autoScroll="false"
+        :defaultItemWidth="180"
+        :autoItemWidth="tabsScrollable ? false : true"
         @click="handleTabClick"
       />
     </view>

+ 6 - 65
src/pages/discover.vue

@@ -53,24 +53,6 @@
         <Button :radius="40" type="primary" size="small" @click="goAnswer">立即报名</Button>
       </Box2LineRightSlot> -->
 
-      <!-- 文化社区 -->
-      <!-- <HomeTitle title="文化社区" />
-      <SimplePageContentLoader :loader="communityData">
-        <view class="d-flex w-100 flex-row flex-wrap align-stretch justify-between">
-          <Box2LineLargeImageUserShadow 
-            v-for="(item, i) in communityData.content.value"
-            :key="i"
-            :title="item.title"
-            :desc="item.desc"
-            :image="item.thumbnail || item.image"
-            :userName="item.userName"
-            :userHead="item.userHead"
-            :likes="item.likes"
-            :comment="item.comment"
-          />
-        </view>
-      </SimplePageContentLoader> -->
-
       <!-- 老照片 -->
       <HomeTitle title="老照片" showMore @clickMore="goImagesList" />
       <SimplePageContentLoader :loader="imagesData">
@@ -159,21 +141,21 @@ const ImageTest5 = 'https://mncdn.wenlvti.net/app_static/minnan/images/home/Imag
 const UserHead = 'https://mncdn.wenlvti.net/app_static/minnan/images/home/UserHead.png';
 const categories = [
   { 
-    name: '建筑遗产', 
+    name: '建筑文化', 
     icon: CategoryIcon2  , 
     onClick: () => navTo('/pages/article/common/list', {
-      title: '建筑遗产',
+      title: '建筑文化',
       mainBodyColumnId: 252,
       modelId: 3,
       itemType: 'article-common',
       detailsPage: '/pages/article/details',
     }) 
   },
-  /* { 
+  { 
     name: '闽南美食', 
     icon: CategoryIcon4 , 
     onClick: () => navTo('/pages/introduction/food/list')
-  }, */
+  },
   { 
     name: '戏剧曲艺', 
     icon: 'https://mncdn.wenlvti.net/app_static/minnan/images/discover/CategoryIcon6.png', 
@@ -207,11 +189,11 @@ const categories = [
       detailsPage: '/pages/article/details',
     }) 
   },
-  /* { 
+  { 
     name: '闽南民俗', 
     icon: CategoryIcon1  , 
     onClick: () => navTo('/pages/introduction/custom/list') 
-  }, */
+  },
   { 
     name: '海洋文化', 
     icon: CategoryIcon5  , 
@@ -224,47 +206,6 @@ const categories = [
     }) 
   },
 ];
-const communityData = useSimpleDataLoader(async () => {
-  return [
-    { 
-      title: '茶艺传承作坊', 
-      desc: '',
-      image: ImageTest4,
-      likes: 123,
-      comment: 66,
-      userHead: UserHead,
-      userName: 'Regular',
-    },
-    { 
-      title: '茶艺传承作坊', 
-      desc: '', 
-      image: ImageTest2,
-      likes: 123,
-      comment: 66,
-      userHead: UserHead,
-      userName: 'Regular',
-    },
-    { 
-      title: '茶艺传承作坊',  
-      desc: '',
-      image: ImageTest3,
-      likes: 123,
-      comment: 66,
-      userHead: UserHead,
-      userName: 'Regular',
-    },
-    { 
-      title: '茶艺传承作坊',  
-      desc: '',
-      image: ImageTest5,
-      likes: 123,
-      comment: 66,
-      userHead: UserHead,
-      userName: 'Regular',
-    },
-  ]
-});
-
 const {
   loader: cultureData,
   goDetail: goCultureDetail,

+ 25 - 16
src/pages/home.vue

@@ -203,25 +203,16 @@ const subTabs = [
     icon: MainBoxIcon1, 
     onClick: () => navTo('/pages/inhert/language/list') 
   },
-  /* { 
+  { 
     name: '闽南美食', 
     icon: MainBoxIcon2, 
     onClick: () => navTo('/pages/introduction/food/list') 
-  }, */
+  },
   { name: '历史人物', icon: MainBoxIcon3, onClick: () => navTo('/pages/introduction/character/list') },
-  /* { 
+  { 
     name: '闽南民俗', 
     icon: MainBoxIcon4, 
     onClick: () => navTo('/pages/introduction/custom/list')
-  }, */
-  { 
-    name: '保护单位', 
-    icon: MainBoxIcon4, 
-    onClick: () => navTo('/pages/inhert/unit/list')
-  },
-  { 
-    name: '', 
-    icon: '',
   },
 ];
 
@@ -317,22 +308,34 @@ const statsLoader = useSimpleDataLoader(async () => {
   const semiCount = (await SeminarContent.getContentList(new GetContentListParams(), 1, 6)).total;
   const unmoveableCount = (await UnmoveableContent.getContentList(new GetContentListParams(), 1, 6)).total;
   
+  let sumInheritor = 0;
+  let sumProject = 0;
+  const topLevelProject = data.ichData.find((p: any) => p.level_text == '人类非遗')?.total || 0;
   return [
     {
       title: '非遗项目',
       type: '1',
-      datas: data.ichData.filter((p: any) => [ '人类非遗', '国家级', '省级', '市级' ].includes(p.level_text)).map((item: any) => {
+      datas: data.ichData.filter((p: any) => [ '国家级', '省级', '市级' ].includes(p.level_text)).map((item: any) => {
+        sumProject += item.total;
         return {
-          title: item.level_text,
+          title: item.level_text + (item.level_text == '国家级' ? `(其中含${topLevelProject}项为人类非遗)` : ''),
           value: item.total,
+          long: item.level_text == '国家级',
           onClick: () => navTo('/pages/inhert/intangible/list', { tab: 0, level: item.level }),
         }
-      })
+      }).concat([
+        {
+          title: `目前厦门市非遗项目市级以上共有${sumProject}项`,
+          value: '',
+          long: true,
+        }
+      ])
     },
     {
       title: '非遗传承人',
       type: '2',
       datas: data.inheritorData.filter((p: any) => [ '国家级', '省级', '市级' ].includes(p.title)).map((item: any) => {
+        sumInheritor += item.total;
         return {
           title: item.title,
           value: item.total,
@@ -343,12 +346,18 @@ const statsLoader = useSimpleDataLoader(async () => {
           title: '',
           value: '',
         }
+      ], [
+        {
+          title:  `目前厦门市非遗传承人市级以上共有${sumInheritor}人`,
+          value: '',
+          long: true,
+        }
       ]),
     },
     {
       datas: [
         {
-          title: '传习所',
+          title: '非遗传习所',
           value: semiCount,
           onClick: () => navTo('/pages/inhert/map/index', { tab: 2 }),
         },

+ 5 - 1
src/pages/inhert/intangible/list.vue

@@ -9,6 +9,7 @@
       '/pages/inhert/product/details',
       '',
       '/pages/inhert/seminar/details',
+      'disabled',
     ]"
     :dropDownNames="dropdownNames"
     :tabs="[
@@ -16,7 +17,8 @@
       { id: 1, text: '非遗作品' },
       { id: 2, text: '非遗传承人', jump: () => navTo('/pages/inhert/inheritor/list'), onlyJump: true },
       { id: 3, text: '非遗传习所' },
-    ]"text
+      { id: 4, text: '保护单位' },
+    ]"
     :tabsScrollable="true"
     :startTabIndex="startTab"
     :load="loadData" 
@@ -29,6 +31,7 @@ import CommonContent, { GetContentListParams } from '@/api/CommonContent';
 import ProductsContent from '@/api/inheritor/ProductsContent';
 import ProjectsContent from '@/api/inheritor/ProjectsContent';
 import SeminarContent from '@/api/inheritor/SeminarContent';
+import UnitContent from '@/api/inheritor/UnitContent';
 import { navTo } from '@/components/utils/PageAction';
 import CommonListPage, { type DropDownNames } from '@/pages/article/common/CommonListPage.vue';
 import { onLoad } from '@dcloudio/uni-app';
@@ -51,6 +54,7 @@ async function loadData(
     default:
     case 1: api = ProductsContent; break;
     case 3: api = SeminarContent; break;
+    case 4: api = UnitContent; break;
   }
   const res = (await api.getContentList(new GetContentListParams().setSelfValues({
     ichType: tabSelect !== 0 || dropDownValues[0] == 0 ? undefined: dropDownValues[0],

+ 2 - 1
src/pages/inhert/old/list.vue

@@ -3,12 +3,13 @@
     title="老字号"
     itemType="article-common"
     detailsPage="/pages/inhert/intangible/details"
-    showTotal
+    :showTotal="false"
     :dropDownNames="dropdownNames"
     :detailsParams="{
       mainBodyColumnId: 312,
       modelId: 17,
     }"
+
     :load="loadData" 
   />
 </template>

+ 2 - 1
src/pages/parts/StatsText.vue

@@ -11,7 +11,7 @@
         v-for="(item, i) in data"
         :key="i"
         class="item"
-        :style="{ width }"
+        :style="{ width: item.long ? 'calc(100%)' : width }"
         @click="item.onClick"
       >
         <text class="number">{{ item.value }}</text>
@@ -33,6 +33,7 @@ defineProps({
     type: Object as PropType<{
       title: string,
       value: string,
+      long?: boolean,
       onClick?: () => void
     }[]>,
     default: () => ([])