From 461992a5e769b5415ee67d8e6fada37a933d03ca Mon Sep 17 00:00:00 2001
From: huangchenhao <123673748@qq.com>
Date: Wed, 6 May 2026 09:42:33 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=81=A2=E5=A4=8D=E9=87=8D=E5=BB=BA=20?=
=?UTF-8?q?=E5=88=86=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/mobile/src/views/Rebuild/Rebuild.vue | 67 ++++++++++++++-----
1 file changed, 49 insertions(+), 18 deletions(-)
diff --git a/packages/mobile/src/views/Rebuild/Rebuild.vue b/packages/mobile/src/views/Rebuild/Rebuild.vue
index 8fb51ce..e9408e1 100644
--- a/packages/mobile/src/views/Rebuild/Rebuild.vue
+++ b/packages/mobile/src/views/Rebuild/Rebuild.vue
@@ -5,7 +5,7 @@
-
+
审批通过
@@ -57,29 +57,55 @@ import { request } from '../../../../shared/utils/request'
const router = useRouter()
const loading = ref(false)
const finished = ref(false)
+const loaded = ref(false)
+
+const pageNum = ref(1)
+const pageSize = 10
onMounted(() => {
- getData()
+ getData({ reset: true })
})
-const getData = async () => {
- const params = {
- pageNum: 1,
- pageSize: 999,
- }
- if (searchValue.value) {
- params.districtName = searchValue.value
+const getData = async ({ reset = false } = {}) => {
+ if (loading.value) return
+
+ if (reset) {
+ pageNum.value = 1
+ finished.value = false
+ loaded.value = false
+ list.value = []
}
+
+ if (finished.value) return
+
loading.value = true
- const res = await request({
- url: '/snow-ops-platform/recovery/list',
- method: 'GET',
- params,
- })
- if (res.code === '00000') {
- list.value = res.data.records
+
+ try {
+ const params = {
+ pageNum: pageNum.value,
+ pageSize,
+ }
+ if (searchValue.value) {
+ params.districtName = searchValue.value.trim()
+ }
+ const res = await request({
+ url: '/snow-ops-platform/recovery/list',
+ method: 'GET',
+ params,
+ })
+ if (res.code === '00000' && res.data?.records) {
+ list.value = reset ? res.data.records : [...list.value, ...res.data.records]
+ const total = Number(res.data.total || 0)
+ finished.value = list.value.length >= total || res.data.records.length < pageSize
+ pageNum.value += 1
+ }
+ } catch (error) {
+ console.error('获取列表失败:', error)
+ finished.value = true
+ } finally {
+ loading.value = false
+ loaded.value = true
}
- loading.value = false
}
// 搜索关键词
@@ -111,10 +137,15 @@ const handleAddDevice = () => {
// });
}
+const handleLoadMore = () => {
+ if (!loaded.value) return
+ getData()
+}
+
watch(
() => searchValue.value,
() => {
- getData()
+ getData({ reset: true })
},
)