This commit is contained in:
parent
02afa160c8
commit
f789951d23
|
|
@ -109,32 +109,62 @@ const queryParams = ref({
|
|||
pageSize: 5,
|
||||
})
|
||||
// 获列表数据
|
||||
// const getTableList = async (isTap = false) => {
|
||||
// console.log(queryParams.value)
|
||||
// try {
|
||||
// const { data: res } = await getPurchaseList(queryParams.value)
|
||||
// console.log('res列表数据', res)
|
||||
// // 更新总数
|
||||
// total.value = res.total
|
||||
// // 处理数据
|
||||
// if (isTap) {
|
||||
// // 点击搜索时,直接替换数据
|
||||
// tableList.value = res.rows || []
|
||||
// // 重置页码
|
||||
// queryParams.value.pageNum = 1
|
||||
// } else {
|
||||
// // 下拉加载时,追加数据
|
||||
// if (res.rows && res.rows.length > 0) {
|
||||
// tableList.value = [...tableList.value, ...res.rows]
|
||||
// }
|
||||
// }
|
||||
// } catch (error) {
|
||||
// console.error('获取列表数据失败:', error)
|
||||
// // 发生错误时重置数据
|
||||
// if (isTap) {
|
||||
// tableList.value = []
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
const getTableList = async (isTap = false) => {
|
||||
console.log(queryParams.value)
|
||||
try {
|
||||
const { data: res } = await getPurchaseList(queryParams.value)
|
||||
console.log('res列表数据', res)
|
||||
// 更新总数
|
||||
total.value = res.total
|
||||
// 处理数据
|
||||
|
||||
if (isTap) {
|
||||
// 点击搜索时,直接替换数据
|
||||
tableList.value = res.rows || []
|
||||
// 重置页码
|
||||
queryParams.value.pageNum = 1
|
||||
} else {
|
||||
// 下拉加载时,追加数据
|
||||
if (res.rows && res.rows.length > 0) {
|
||||
if (res.rows?.length) {
|
||||
tableList.value = [...tableList.value, ...res.rows]
|
||||
}
|
||||
}
|
||||
return res // 返回数据,供后续使用
|
||||
} catch (error) {
|
||||
console.error('获取列表数据失败:', error)
|
||||
// 发生错误时重置数据
|
||||
if (isTap) {
|
||||
tableList.value = []
|
||||
if (isTap) tableList.value = []
|
||||
throw error // 抛出错误,让外层捕获
|
||||
}
|
||||
}
|
||||
|
||||
// 滚动到指定位置
|
||||
const scrollToPosition = (position) => {
|
||||
const savedScrollTop = uni.getStorageSync('scrollTop') || 0
|
||||
console.log('🚀 ~ scrollToPosition ~ savedScrollTop:', savedScrollTop)
|
||||
scrollTop.value = 0
|
||||
setTimeout(() => {
|
||||
scrollTop.value = savedScrollTop
|
||||
}, 1000)
|
||||
}
|
||||
// 滚动触底事件
|
||||
const onScrollTolower = debounce(() => {
|
||||
|
|
@ -193,24 +223,36 @@ const handleItem = (item) => {
|
|||
})
|
||||
return
|
||||
}
|
||||
uni.navigateTo({
|
||||
uni.redirectTo({
|
||||
url: `/pages/new-purchase/accept/acceptDetails?id=${item.id}&taskId=${item.taskId}&isFinished=${isFinished}`,
|
||||
})
|
||||
}
|
||||
|
||||
const scrollTop = ref(0)
|
||||
onShow((options) => {
|
||||
|
||||
// 页面加载完毕时触发
|
||||
onShow(async (options) => {
|
||||
const currentPage = uni.getStorageSync('currentPage')
|
||||
if (currentPage && currentPage > 1) {
|
||||
const promises = []
|
||||
for (let i = 1; i <= currentPage; i++) {
|
||||
queryParams.value.pageNum = i
|
||||
promises.push(getTableList(true)) // 静默加载(isTap=true 替换数据)
|
||||
}
|
||||
Promise.all(promises).then(() => {
|
||||
scrollToPosition()
|
||||
})
|
||||
} else {
|
||||
getTableList(true)
|
||||
const savedScrollTop = uni.getStorageSync('scrollTop') || 0
|
||||
scrollTop.value = 0
|
||||
setTimeout(() => {
|
||||
scrollTop.value = savedScrollTop
|
||||
}, 500)
|
||||
scrollToPosition()
|
||||
}
|
||||
})
|
||||
|
||||
// scroll容器滚动时事件
|
||||
const onScrollChange = (e) => {
|
||||
console.log('🚀 ~ onScrollChange ~ e:', e)
|
||||
uni.setStorageSync('scrollTop', e.detail.scrollTop)
|
||||
uni.setStorageSync('currentPage', queryParams.value.pageNum)
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
@ -369,7 +411,7 @@ const onScrollChange = (e) => {
|
|||
|
||||
.scroll-container {
|
||||
padding: 0 2rpx;
|
||||
|
||||
// height: 60vh;
|
||||
.table-list-item {
|
||||
margin: 24rpx 0;
|
||||
padding: 32rpx;
|
||||
|
|
|
|||
|
|
@ -307,6 +307,7 @@ const boxList = ref([
|
|||
|
||||
const onNavigateTo = (url) => {
|
||||
uni.setStorageSync('scrollTop', null)
|
||||
uni.setStorageSync('currentPage', 1)
|
||||
uni.navigateTo({ url })
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue