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