快乐的梦鱼 1 неделя назад
Родитель
Сommit
fda5a98cdf

+ 37 - 29
src/pages/article/data/CommonCategoryList.vue

@@ -1,7 +1,8 @@
 <template>
   <FlexCol>
     <Result v-if="errorMessage" status="error" :description="errorMessage" />
-    <CommonListPage 
+    <LoadingPage v-else-if="!loadState" />
+    <CommonListPage
       v-else-if="currentCommonCategoryDefine && loadState"
       :startTabIndex="pageStartTab"
       v-bind="currentCommonCategoryDefine.content.props as any || undefined"
@@ -19,6 +20,7 @@
         />
       </template>
     </CommonListPage>
+
     <Footer text="我也是有底线的~" />
   </FlexCol>
 </template>
@@ -31,6 +33,7 @@ import { doLoadDynamicCategoryDataMergeTypeGetColumns, doLoadDynamicDropdownData
 import { CommonCategoryListTabNestCategoryDataToContent, type IHomeCommonCategoryDefine, type IHomeCommonCategoryListDefine, type IHomeCommonCategoryListTabDefine } from './CommonCategoryDefine';
 import { resolveCommonContentSolveProps } from '../common/CommonContent';
 import { waitTimeOut } from '@imengyu/imengyu-utils';
+import { formatError } from '@/common/composeabe/ErrorDisplay';
 import type { SimpleDropDownPickerItem } from '@/common/components/SimpleDropDownPicker.vue';
 import type { CommonListPageProps, DropDownNames } from '../common/CommonListPage.vue';
 import CommonListPage from '../common/CommonListPage.vue';
@@ -38,6 +41,7 @@ import Result from '@/components/feedback/Result.vue';
 import CommonCategoryBlocks, { type CategoryDefine } from './CommonCategoryBlocks.vue';
 import Footer from '@/components/display/Footer.vue';
 import FlexCol from '@/components/layout/FlexCol.vue';
+import LoadingPage from '@/components/display/loading/LoadingPage.vue';
 
 /**
  * 动态通用内容 - 通用列表页
@@ -135,34 +139,38 @@ type RenderTabDefine = IHomeCommonCategoryListTabDefine & {
 const tabDefines = computed(() => currentCommonCategoryContentDefine.value?.props.tabs || []);
 const tabRenderDefines = computed(() => {
   const result = {} as Record<number, RenderTabDefine>;
-  tabDefines.value.forEach((item, i) => {
-    const renderItem : RenderTabDefine = {
-      ...item,
-    };
-    switch (item.type) {
-      default:
-      case 'list':
-        break;
-      case 'jump':
-        break;
-      case 'nestCategory':
-        renderItem.categoryDefine = item.categorys
-          .filter((item) => item.visible !== false)
-          .map((item) => {
-            return {
-              ...item,
-              showTitle: item.showTitle !== false,
-              title: item.text,
-              content: CommonCategoryListTabNestCategoryDataToContent(
-                item.data, item
-              ),
-              type: item.type as CategoryDefine['type'],
-            }
-          });
-        break;
-    }
-    result[i] = renderItem;
-  });
+  try {
+    tabDefines.value.forEach((item, i) => {
+      const renderItem : RenderTabDefine = {
+        ...item,
+      };
+      switch (item.type) {
+        default:
+        case 'list':
+          break;
+        case 'jump':
+          break;
+        case 'nestCategory':
+          renderItem.categoryDefine = item.categorys
+            .filter((item) => item.visible !== false)
+            .map((item) => {
+              return {
+                ...item,
+                showTitle: item.showTitle !== false,
+                title: item.text,
+                content: CommonCategoryListTabNestCategoryDataToContent(
+                  item.data, item
+                ),
+                type: item.type as CategoryDefine['type'],
+              }
+            });
+          break;
+      }
+      result[i] = renderItem;
+    });
+  } catch (error) {
+    errorMessage.value = formatError(error);
+  }
   return result;
 });
 const showListTabIds = computed(() => {

+ 2 - 0
src/pages/article/data/DefaultCategory.json

@@ -735,6 +735,7 @@
               "dataSolve": [ "ich" ],
               "detailsPage": "/pages/inhert/artifact/details",
               "itemType": "image-large-2",
+              "showTotal": true,
               "dropdownDefines": [
                 {
                   "key": "crType",
@@ -750,6 +751,7 @@
                   "key": "level",
                   "text": "级别",
                   "defaultValue": 0,
+                  "formQueryKey": "level",
                   "addAll": "全部级别",
                   "data": {
                     "type": "commonContent",

+ 2 - 1
src/pages/home/index.vue

@@ -104,7 +104,7 @@ const indexAudioPlayer = useSimpleListAudioPlayer(async () => {
   return (await CommonContent.getContentList(new GetContentListParams()
     .setModelId(5)
     .setMainBodyColumnId(321)
-  , 1, 10)).list.sort((a, b) => -1).map((p) => {
+  , 1, 10)).list.map((p) => {
     return {
       id: p.id,
       title: p.title,
@@ -192,6 +192,7 @@ onShareAppMessage(() => {
     > view {
       display: flex;
       flex-direction: column;
+      margin-left: -20rpx;
     }
 
     .logo {

+ 6 - 1
src/pages/inhert/map/index.vue

@@ -58,18 +58,23 @@ const {
 } = useTabControl({
   tabs: [
     {
+      id: 0,
       text: '非遗项目'
     },
     {
+      id: 1,
       text: '非遗传习所'
     },
     {
+      id: 2,
       text: '文物古迹'
     },
     {
+      id: 3,
       text: '传统村落'
     },
     {
+      id: 4,
       text: '闽南文化景区'
     },
   ],
@@ -248,7 +253,7 @@ onLoad((query) => {
       clear: false,
     });
   })
-  tabCurrentIndex.value = Number(query?.tab || 0) - 1;
+  tabCurrentIndex.value = Number(query?.tab || 0);
   listLoader.loadData(undefined, true);
 })
 </script>