快乐的梦鱼 1 неделя назад
Родитель
Сommit
9aedd33691
2 измененных файлов с 41 добавлено и 33 удалено
  1. 40 32
      src/pages/article/data/CommonCategoryList.vue
  2. 1 1
      src/pages/inhert/language/list.vue

+ 40 - 32
src/pages/article/data/CommonCategoryList.vue

@@ -1,6 +1,9 @@
 <template>
   <FlexCol>
-    <Result v-if="errorMessage" status="error" :description="errorMessage" />
+    <FlexCol v-if="errorMessage" :padding="30" :gap="30" center height="100%">
+      <Result status="error" :description="errorMessage" />
+      <Button type="primary" @click="loadPageConfig">重新加载</Button>
+    </FlexCol>
     <LoadingPage v-else-if="!loadState" />
     <CommonListPage
       v-else-if="currentCommonCategoryDefine && loadState"
@@ -42,6 +45,7 @@ import CommonCategoryBlocks, { type CategoryDefine } from './CommonCategoryBlock
 import Footer from '@/components/display/Footer.vue';
 import FlexCol from '@/components/layout/FlexCol.vue';
 import LoadingPage from '@/components/display/loading/LoadingPage.vue';
+import Button from '@/components/basic/Button.vue';
 
 /**
  * 动态通用内容 - 通用列表页
@@ -91,42 +95,46 @@ async function loadPageConfig() {
 
   await waitTimeOut(200);
   
-  //特殊处理
-  for (const [_, tab] of Object.entries(tabRenderDefines.value)) {
-    if (tab.type === 'nestCategory')
-      await doLoadDynamicCategoryDataMergeTypeGetColumns(tab.categorys)
-  }
+  try {
+    //特殊处理
+    for (const [_, tab] of Object.entries(tabRenderDefines.value)) {
+      if (tab.type === 'nestCategory')
+        await doLoadDynamicCategoryDataMergeTypeGetColumns(tab.categorys)
+    }
 
-  //加载下拉列表
-  const result = [] as DropDownNames[];
-  for (const [key, tab] of Object.entries(tabRenderDefines.value)) {
-    if (tab.type !== 'list')
-      continue;
-    if (tab.dropdownDefines) {
-      for (const dropdown of tab.dropdownDefines) {    
-        const data : SimpleDropDownPickerItem[] = (dropdown.addAll ? [{
-          id: 0, 
-          name: dropdown.addAll
-        }] : []);
-        if (dropdown.data) {
-          data.push(...(await doLoadDynamicDropdownData(dropdown.data)).map((item) => ({
-            id: item[dropdown.data.idKey || 'id'],
-            name: item[dropdown.data.nameKey || 'title'],
-          })))
+    //加载下拉列表
+    const result = [] as DropDownNames[];
+    for (const [key, tab] of Object.entries(tabRenderDefines.value)) {
+      if (tab.type !== 'list')
+        continue;
+      if (tab.dropdownDefines) {
+        for (const dropdown of tab.dropdownDefines) {    
+          const data : SimpleDropDownPickerItem[] = (dropdown.addAll ? [{
+            id: 0, 
+            name: dropdown.addAll
+          }] : []);
+          if (dropdown.data) {
+            data.push(...(await doLoadDynamicDropdownData(dropdown.data)).map((item) => ({
+              id: item[dropdown.data.idKey || 'id'],
+              name: item[dropdown.data.nameKey || 'title'],
+            })))
+          }
+          result.push({
+            options: data,
+            activeTab: [Number(key)],
+            defaultSelectedValue: dropdown.formQueryKey ? (
+              props.pageQuerys[dropdown.formQueryKey] as number || 0
+            ) : dropdown.defaultValue || 0,
+          })
         }
-        result.push({
-          options: data,
-          activeTab: [Number(key)],
-          defaultSelectedValue: dropdown.formQueryKey ? (
-            props.pageQuerys[dropdown.formQueryKey] as number || 0
-          ) : dropdown.defaultValue || 0,
-        })
       }
     }
+    loadState.value = true;
+    dropdownNames.value = result;
+  } catch (error) {
+    loadState.value = false;
+    errorMessage.value = formatError(error);
   }
-  loadState.value = true;
-  dropdownNames.value = result;
-
 }
 
 watch(() => props.pageConfigName, loadPageConfig);

+ 1 - 1
src/pages/inhert/language/list.vue

@@ -81,7 +81,7 @@ import Tabs from '@/components/nav/Tabs.vue';
 import SearchBar from '@/components/form/SearchBar.vue';
 
 const tabs = useSimpleDataLoader(async () => {
-  const res = await CommonContent.getModelColumList(5, 1, 50);
+  const res = await CommonContent.getModelColumList(5, undefined, 1, 50);
   setTimeout(() => {
     tab.value = 0
   }, 200);