diff --git a/pages/institutionalStructure/components/status-display.vue b/components/status-display/status-display.vue
similarity index 67%
rename from pages/institutionalStructure/components/status-display.vue
rename to components/status-display/status-display.vue
index d1c2fb1..3cd9911 100644
--- a/pages/institutionalStructure/components/status-display.vue
+++ b/components/status-display/status-display.vue
@@ -8,6 +8,10 @@
{{ emptyText }}
+
+
+ {{ errorText }}
+
@@ -15,11 +19,12 @@
export default {
name: 'StatusDisplay',
props: {
- // 状态类型:loading, empty
+ // 状态类型:loading, empty, error
type: {
type: String,
required: true,
- validator: value => ['loading', 'empty'].includes(value)
+ validator: value => ['loading', 'empty', 'error'].includes(value),
+ default: 'loading'
},
// 加载文本
loadingText: {
@@ -30,6 +35,11 @@ export default {
emptyText: {
type: String,
default: '暂无数据'
+ },
+ // 错误文本
+ errorText: {
+ type: String,
+ default: '加载失败'
}
}
}
@@ -41,9 +51,10 @@ export default {
display: flex;
justify-content: center;
align-items: center;
+ min-height: 200rpx;
}
-.loading, .empty {
+.loading, .empty, .error {
display: flex;
justify-content: center;
align-items: center;
@@ -51,5 +62,10 @@ export default {
font-size: 28rpx;
background-color: #FFFBF5;
padding: 40rpx 0;
+ border-radius: 8rpx;
+}
+
+.error {
+ color: #ff6b6b;
}
\ No newline at end of file
diff --git a/pages.json b/pages.json
index ad79ead..5727054 100644
--- a/pages.json
+++ b/pages.json
@@ -101,6 +101,14 @@
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
+ },
+ {
+ "path": "pages/basePage/basePage",
+ "style": {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
}
],
diff --git a/pages/basePage/basePage.vue b/pages/basePage/basePage.vue
new file mode 100644
index 0000000..99fd5aa
--- /dev/null
+++ b/pages/basePage/basePage.vue
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/institutionalStructure/donationRecord.vue b/pages/institutionalStructure/donationRecord.vue
index 488295c..bcd45c7 100644
--- a/pages/institutionalStructure/donationRecord.vue
+++ b/pages/institutionalStructure/donationRecord.vue
@@ -20,7 +20,7 @@ import { tilesImageEnum } from '@/enum/institutionalStructure.js';
import CustomNavbar from "../../components/custom-navbar/custom-navbar.vue";
import TileGrid from "../../components/tile-grid/tile-grid.vue";
import CommonEnum from "../../enum/common";
-import StatusDisplay from "./components/status-display.vue";
+import StatusDisplay from "../../components/status-display/status-display.vue";
export default {
components: {
diff --git a/pages/institutionalStructure/institutionalStructure.vue b/pages/institutionalStructure/institutionalStructure.vue
index 4289074..0b0c3b5 100644
--- a/pages/institutionalStructure/institutionalStructure.vue
+++ b/pages/institutionalStructure/institutionalStructure.vue
@@ -34,7 +34,7 @@ import { getInstitutionalList } from '@/api/institutionalStructure.js';
import CustomNavbar from "../../components/custom-navbar/custom-navbar.vue";
import TileGrid from "../../components/tile-grid/tile-grid.vue";
import InstitutionalItem from "./components/institutional-item.vue";
-import StatusDisplay from "./components/status-display.vue";
+import StatusDisplay from "../../components/status-display/status-display.vue";
import { InstitutionalDataFormatter } from "./utils/data-formatter.js";
import { dataManagerMixin } from "./mixins/data-manager.js";
import CommonEnum from "../../enum/common";