fix: 修复网络超时loading提示不隐藏的问题

fix: 修复页面高度适配问题
This commit is contained in:
wangzhuo
2025-09-12 16:57:00 +08:00
parent 19fa062229
commit d36cadd06f
7 changed files with 155 additions and 153 deletions

View File

@@ -24,7 +24,7 @@
</view>
<!-- 分页部分 top="68rpx" -->
<mescroll-uni ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
<mescroll-uni ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
:up="upOption" :down="downOption" :fixed="false" textColor="#ffffff" bgColor="#ffffff"
class="scroll-h" :class="{'loading-scroll':cssFlag}"
>
@@ -126,7 +126,7 @@ let list = ref([]);
const upOption = ref({
page: {num: 0, size: 10},
noMoreSize: 5,
empty: {
empty: {
tip: '~ 空空如也 ~',
icon: "../../../../static/images/mescroll-empty.png"
},
@@ -149,44 +149,31 @@ const mescrollInit = (mescroll) => {
// 下拉刷新
const downCallback = async (mescroll) => {
try {
uni.showLoading();
cssFlag.value = true;
setTimeout(async () => {
// 重置页码为第一页
const res = await getList(1, mescroll.size || upOption.page.size);
list.value = res.list;
cssFlag.value = false;
// 正确传递 total 参数
mescroll.endSuccess(res.list.length, res.total >= mescroll.size);
uni.hideLoading();
}, 500);
} catch (error) {
console.log(error)
mescroll.endErr();
}
uni.showLoading();
cssFlag.value = true;
setTimeout(async () => {
// 重置页码为第一页
const res = await getList(1, mescroll.size || upOption.page.size);
cssFlag.value = false;
list.value = res.list;
// 正确传递 total 参数
mescroll.endSuccess(res.list.length, res.total >= mescroll.size);
}, 500);
}
// 上拉加载更多
const upCallback = async (mescroll) => {
try {
uni.showLoading();
setTimeout(async () => {
// 使用 mescroll 提供的页码和大小参数
const res = await getList(mescroll.num, mescroll.size);
if (mescroll.num === 1) {
list.value = res.list;
} else {
list.value.push(...res.list);
}
// 正确判断是否还有更多数据
mescroll.endSuccess(res.list.length, res.total >= mescroll.size);
uni.hideLoading();
}, 500);
} catch (error) {
console.log(error)
mescroll.endErr();
}
uni.showLoading();
setTimeout(async () => {
// 使用 mescroll 提供的页码和大小参数
const res = await getList(mescroll.num, mescroll.size);
if (mescroll.num === 1) {
list.value = res.list;
} else {
list.value.push(...res.list);
}
// 正确判断是否还有更多数据
mescroll.endSuccess(res.list.length, res.total >= mescroll.size);
}, 500);
}
// 获取数据列表
@@ -197,12 +184,17 @@ const getList = (pageIndex, pageSize) => {
pageSize,
searchContent: searchValue.value
}
let res = await SearchForAllPerson(param);
resolve({
list: res.rows,
total: res.total
});
try {
let res = await SearchForAllPerson(param);
resolve({
list: res.rows,
total: res.total
});
} catch (e) {
console.log(e, '数据获取失败');
} finally {
uni.hideLoading();
}
});
}
@@ -306,16 +298,14 @@ let handleCopyInfo = (item) => {
<style lang="scss" scoped>
.all-body {
/* #ifdef APP-PLUS */
top: 150rpx;
height: calc(100vh - 75px);
top: 160rpx;
height: calc(100vh - 160rpx);
/* #endif */
/* #ifndef APP-PLUS */
top: 120rpx;
height: calc(100vh);
top: 116rpx;
height: calc(100vh - 116rpx);
/* #endif */
}
.search .btn-search {
border: none;
background: none;
@@ -331,15 +321,6 @@ let handleCopyInfo = (item) => {
display: none;
}
.scroll-h {
/* #ifdef APP-PLUS */
height: calc(100vh - 120px);
/* #endif */
/* #ifndef APP-PLUS */
height: calc(100vh - 110px);
/* #endif */
}
.white-bg {
padding-bottom: 10rpx;
@@ -348,10 +329,4 @@ let handleCopyInfo = (item) => {
}
}
.white-bg:hover {
//background-color: #f1f1f1;
background-color: #f1f1f1; /* Chrome, Safari, Opera */
box-shadow: 0px 0px 5rpx white;
//filter: rgba(237, 242, 250, 0.5);
}
</style>

View File

@@ -134,7 +134,7 @@ const upOption = ref({
noMoreSize: 5,
empty: {
tip: '~ 空空如也 ~',
icon: "../../static/images/mescroll-empty.png"
icon: "../../../../static/images/mescroll-empty.png"
},
textLoading: '加载中...',
textNoMore: '已经到底了'
@@ -155,27 +155,27 @@ const mescrollInit = (mescroll) => {
// 下拉刷新
const downCallback = async (mescroll) => {
try {
cssFlag.value = true;
uni.showLoading();
setTimeout(async () => {
cssFlag.value = true;
uni.showLoading();
setTimeout(async () => {
try {
// 重置页码为第一页
const res = await getList(1, mescroll.size || upOption.page.size);
cssFlag.value = false;
list.value = res.list;
// 正确传递 total 参数
mescroll.endSuccess(res.list.length, res.total > (mescroll.size || upOption.page.size));
uni.hideLoading();
}, 500);
} catch (error) {
console.log(error)
mescroll.endErr();
}
} catch (error) {
mescroll.endErr();
} finally {
cssFlag.value = false;
}
}, 500);
}
// 上拉加载更多
const upCallback = async (mescroll) => {
try {
setTimeout(async () => {
setTimeout(async () => {
try {
// 使用 mescroll 提供的页码和大小参数
const res = await getList(mescroll.num, mescroll.size);
if (mescroll.num === 1) {
@@ -186,11 +186,10 @@ const upCallback = async (mescroll) => {
// 正确判断是否还有更多数据
mescroll.endBySize(res.list.length, res.total)
// mescroll.endSuccess(res.list.length, res.total > mescroll.num * mescroll.size);
}, 500);
} catch (error) {
console.log(error)
mescroll.endErr();
}
} catch (error) {
mescroll.endErr();
}
}, 500);
}
// 获取数据列表
@@ -201,12 +200,18 @@ const getList = (pageIndex, pageSize) => {
pageSize,
searchContent: searchValue.value
}
try {
let res = await SearchForAllCustomersSalesperson(param);
resolve({
list: res.rows,
total: res.total
});
} catch (e) {
console.log(e, "获取所有客户人员所属失败");
} finally {
uni.hideLoading();
}
let res = await SearchForAllCustomersSalesperson(param);
resolve({
list: res.rows,
total: res.total
});
});
}
@@ -224,7 +229,7 @@ let handleDetail = (item) => {
res.eventChannel.emit('editCusData', {param: item, isAdd: false})
}
})
}else{
} else {
uni.showToast({
title: '已完成审核,不可修改',
icon: 'none'
@@ -278,16 +283,15 @@ let handleDelete = async (item) => {
<style lang="scss" scoped>
.all-body {
/* #ifdef APP-PLUS */
top: 150rpx;
height: calc(100vh - 75px);
top: 160rpx;
height: calc(100vh - 160rpx);
/* #endif */
/* #ifndef APP-PLUS */
top: 120rpx;
height: calc(100vh);
top: 116rpx;
height: calc(100vh - 116rpx);
/* #endif */
}
.search .btn-search {
border: none;
background: none;

View File

@@ -80,9 +80,9 @@ let cssFlag=ref(false);//控制样式
const upOption = ref({
page: { num: 0, size: 10 },
noMoreSize: 5,
empty: {
tip: '~ 空空如也 ~',
icon: "../../static/images/mescroll-empty.png"
empty: {
tip: '~ 空空如也 ~',
icon: "../../../../static/images/mescroll-empty.png"
},
textLoading: '加载中...',
textNoMore: '已经到底了'
@@ -195,15 +195,14 @@ const radioChange = (e) => {
<style lang="scss" scoped>
.all-body {
/* #ifdef APP-PLUS */
top: 150rpx;
height: calc(100vh - 75px);
top: 160rpx;
height: calc(100vh - 160rpx);
/* #endif */
/* #ifndef APP-PLUS */
top: 120rpx;
height: calc(100vh);
top: 116rpx;
height: calc(100vh - 116rpx);
/* #endif */
}
.search .btn-search {
border: none;
background: none;