若干 bug

This commit is contained in:
2025-02-15 02:27:33 +08:00
parent 7242ac3709
commit 1ef11ac83a
21 changed files with 292 additions and 68 deletions

View File

@ -48,10 +48,10 @@ export default {
status:{
unused:'UNUSED',used:'USED',expired:'EXPIRED'
},
list:(status)=>request.get('/api/coupon/user/list',status?{status}:{})
list:(data)=>request.get('/api/coupon/user/list',data)
},
point:{
list:()=>request.get('/api/point/records')
list:(data)=>request.get('/api/point/records',data)
},
friend:{
list:()=>request.get('/api/user/referrals')

View File

@ -42,7 +42,6 @@ Component({
signType:data.payment_params.signType,
paySign:data.payment_params.paySign,
success:(res)=>{
console.log(res);
wx.navigateTo({
url: '/pages/shop/success/index',
})

View File

@ -91,15 +91,15 @@
<view class="spliter"></view>
<view class="kv-item">
<view class="key">服务费</view>
<view class="value">{{preOrder.price_info.original_amount}}</view>
<view class="value money money-normal">{{preOrder.price_info.original_amount}}</view>
</view>
<view class="kv-item" wx:if="{{preOrder.price_info.coupon_discount_amount}}">
<view class="key">跑腿券</view>
<view class="value yellow">- {{preOrder.price_info.coupon_discount_amount}}</view>
</view>
<view class="kv-item" wx:if="{{preOrder.price_info.points_used}}">
<view class="kv-item" wx:if="{{preOrder.used_points}}">
<view class="key">蜂蜜抵</view>
<view class="value yellow">- {{preOrder.price_info.points_used}}克</view>
<view class="value yellow">- {{preOrder.used_points}}克</view>
</view>
<view class="kv-item">
<view class="key">

View File

@ -7,27 +7,76 @@ Page({
*/
data: {
tabIndex:0,
list:[]
tab1List:[],
tab2List:[],
tab3List:[],
listViewHeight:0,
pager:{
tab1:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false},
tab2:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false},
tab3:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false}
}
},
changeTab(event){
const tabIndex = event.currentTarget.dataset.index;
const tabIndex = parseInt(event.currentTarget.dataset.index);
this.setData({tabIndex})
this.loadList();
this.loadList(`tab${tabIndex+1}`);
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.loadList();
const windowInfo = wx.getWindowInfo();
console.log(windowInfo);
this.setData({
listViewHeight:windowInfo.windowHeight-57
})
this.loadList('tab1');
},
loadList(){
refreshList(){
let tab = `tab${this.data.tabIndex+1}`
this.data.pager[tab].pageIndex = 0;
this.data.pager[tab].loadAll = false;
this.setData({
pager:this.data.pager
});
this.loadList(tab);
},
loadMore(){
this.loadList(`tab${this.data.tabIndex+1}`);
},
loadList(tabName){
console.log(tabName);
if(this.data.pager[tabName].loading||this.data.pager[tabName].loadAll){
return;
}
this.data.pager[tabName].loading = true;
this.setData({
pager:this.data.pager
});
const status = [userApi.coupon.status.unused,userApi.coupon.status.used,userApi.coupon.status.expired];
userApi.coupon.list(status[this.data.tabIndex]).then((data)=>{
userApi.coupon.list({
status:status[this.data.tabIndex],
skip:this.data.pager[tabName].limit*this.data.pager[tabName].pageIndex,
limit:this.data.pager[tabName].limit
}).then((data)=>{
if(this.data.pager[tabName].pageIndex==0){
this.data[tabName+'List'] = data;
}else{
this.data[tabName+'List'] = this.data[tabName+'List'].concat(data);
}
this.data.pager[tabName].loading = false;
this.data.pager[tabName].pageIndex++;
if(data.length<this.data.pager[tabName].limit){
this.data.pager[tabName].loadAll = true;
}
this.setData({
list:data
[tabName+'List']:this.data[tabName+'List'],
pager:this.data.pager
});
console.log(this.data.pager,this.data.tab1List,this.data[tabName+'List']);
})
},

View File

@ -1,4 +1,6 @@
{
"usingComponents": {},
"usingComponents": {
"list-view":"/components/listView"
},
"navigationBarTitleText": "跑腿券"
}

View File

@ -10,17 +10,58 @@
</view>
</view>
<view class="coupon-list" wx:if="{{list.length>0}}">
<view class="item {{tabIndex==0?'':'used'}}" wx:for="{{list}}" wx:key="index">
<list-view class="coupon-list" wx:if="{{tabIndex==0}}"
height="{{listViewHeight}}" bind:refresh="refreshList"
bind:loadMore="loadMore" refresher-triggered="{{pager.tab1.refreshTrigger}}"
show-load-more="{{!(tab1List.length==0&&pager.tab1.loadAll)}}"
loading="{{pager.tab1.loading}}" load-all="{{pager.tab1.loadAll}}">
<view class="item {{tabIndex==0?'':'used'}}" wx:for="{{tab1List}}" wx:key="index">
<view class="left">
<view class="name">{{item.coupon_name}}</view>
<view class="desc">有效期至 {{item.expire_time}}</view>
</view>
<view class="right money money-yellow">{{item.coupon_amount}}</view>
</view>
</view>
<view class="list-empty" wx:if="{{tab1List.length==0&&pager.tab1.loadAll}}">
<image class="icon" src="/assets/icon/shop/coupon-empty@2x.png"/>
<view class="title">暂无跑腿券</view>
</view>
</list-view>
<view class="list-empty" wx:else>
<image class="icon" src="/assets/icon/shop/coupon-empty@2x.png"/>
<view class="title">暂无跑腿券</view>
</view>
<list-view class="coupon-list" wx:if="{{tabIndex==1}}"
height="{{listViewHeight}}" bind:refresh="refreshList"
bind:loadMore="loadMore" refresher-triggered="{{pager.tab2.refreshTrigger}}"
show-load-more="{{!(tab2List.length==0&&pager.tab2.loadAll)}}"
loading="{{pager.tab2.loading}}" load-all="{{pager.tab2.loadAll}}">
<view class="item {{tabIndex==0?'':'used'}}" wx:for="{{tab2List}}" wx:key="index">
<view class="left">
<view class="name">{{item.coupon_name}}</view>
<view class="desc">有效期至 {{item.expire_time}}</view>
</view>
<view class="right money money-yellow">{{item.coupon_amount}}</view>
</view>
<view class="list-empty" wx:if="{{tab2List.length==0&&pager.tab2.loadAll}}">
<image class="icon" src="/assets/icon/shop/coupon-empty@2x.png"/>
<view class="title">暂无跑腿券</view>
</view>
</list-view>
<list-view class="coupon-list" wx:if="{{tabIndex==2}}"
height="{{listViewHeight}}" bind:refresh="refreshList"
bind:loadMore="loadMore" refresher-triggered="{{pager.tab3.refreshTrigger}}"
show-load-more="{{!(tab3List.length==0&&pager.tab3.loadAll)}}"
loading="{{pager.tab3.loading}}" load-all="{{pager.tab3.loadAll}}">
<view class="item {{tabIndex==0?'':'used'}}" wx:for="{{tab3List}}" wx:key="index">
<view class="left">
<view class="name">{{item.coupon_name}}</view>
<view class="desc">有效期至 {{item.expire_time}}</view>
</view>
<view class="right money money-yellow">{{item.coupon_amount}}</view>
</view>
<view class="list-empty" wx:if="{{tab3List.length==0&&pager.tab3.loadAll}}">
<image class="icon" src="/assets/icon/shop/coupon-empty@2x.png"/>
<view class="title">暂无跑腿券</view>
</view>
</list-view>

View File

@ -1,6 +1,3 @@
.coupon-list{
}
.coupon-list .item{
display: flex;
margin:20rpx;

View File

@ -6,16 +6,44 @@ Page({
* 页面的初始数据
*/
data: {
list:[]
list:[],
scrollViewHeight:0,
pager:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
const windowInfo = wx.getWindowInfo();
this.setData({
scrollViewHeight:windowInfo.windowHeight
});
this.loadList();
},
refreshList(){
this.data.pager.pageIndex = 0;
this.data.pager.loadAll = false;
this.setData({
pager:this.data.pager
});
this.loadList();
},
loadList(){
if(this.data.pager.loading||this.data.pager.loadAll){
return;
}
this.data.pager.loading = true;
this.setData({
pager:this.data.pager
});
userApi.friend.list().then((data)=>{
this.data.pager.loading = false;
this.data.pager.loadAll = true;
this.data.pager.refreshTrigger = false;
this.setData({
list:data
list:data,
pager:this.data.pager
})
})
},

View File

@ -1,4 +1,6 @@
{
"usingComponents": {},
"usingComponents": {
"list-view":"/components/listView"
},
"navigationBarTitleText": "我的邻友"
}

View File

@ -1,4 +1,8 @@
<view class="firend-list" wx:if="{{list.length>0}}">
<list-view class="firend-list" height="{{scrollViewHeight}}"
bind:refresh="refreshList" bind:loadMore="loadList"
refresher-triggered="{{pager.refreshTrigger}}"
show-load-more="{{!(list.length==0&&pager.loadAll)}}"
loading="{{pager.loading}}" load-all="{{pager.loadAll}}">
<view class="item" wx:for="{{list}}" wx:key="index">
<view class="left">
<view class="name">跑腿订单返现</view>
@ -9,7 +13,7 @@
<view class="desc">2023.04.06 17:00</view>
</view>
</view>
</view>
<view class="list-empty">
<view class="sub-title">暂无邻友</view>
</view>
<view class="list-empty" wx:if="{{list.length==0&&pager.loadAll}}">
<view class="sub-title">暂无邻友</view>
</view>
</list-view>

View File

@ -8,25 +8,66 @@ Page({
*/
data: {
list:[],
userInfo:{}
userInfo:{},
scrollViewHeight:0,
pager:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
userApi.point.list().then((data)=>{
this.setData({
list:data.items
})
});
const windowInfo = wx.getWindowInfo();
this.setData({
scrollViewHeight:windowInfo.windowHeight-131
})
app.getUserInfo().then((data)=>{
this.setData({
userInfo:data
})
})
});
this.loadList();
},
refreshList(){
this.data.pager.pageIndex = 0;
this.data.pager.loadAll = false;
this.setData({
pager:this.data.pager
});
this.loadList();
},
loadList(){
if(this.data.pager.loading||this.data.pager.loadAll){
return;
}
this.data.pager.loading = true;
this.setData({
pager:this.data.pager
});
userApi.point.list({
skip:this.data.pager.pageIndex*this.data.pager.limit,
limit:this.data.pager.limit
}).then((data)=>{
if(this.data.pager.pageIndex==0){
this.data.list = data.items;
}else{
this.data.list = this.data.list.concat(data.items);
}
this.data.pager.loading = false;
this.data.pager.pageIndex++;
this.data.pager.refreshTrigger = false;
if(data.items.length<this.data.pager.limit){
this.data.pager.loadAll = true;
}
this.setData({
list:this.data.list,
pager:this.data.pager
})
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/

View File

@ -1,4 +1,6 @@
{
"usingComponents": {},
"usingComponents": {
"list-view":"/components/listView"
},
"navigationBarTitleText": "蜂蜜"
}

View File

@ -4,7 +4,11 @@
<view class="tips">取包裹自动抵扣</view>
</view>
<view class="money-list" wx:if="{{list.length>0}}">
<list-view class="money-list" bind:refresh="refreshList"
bind:loadMore="loadList" height="{{scrollViewHeight}}"
refresher-triggered="{{pager.refreshTrigger}}"
show-load-more="{{!(list.length==0&&pager.loadAll)}}"
loading="{{pager.loading}}" load-all="{{pager.loadAll}}">
<view class="item" wx:for="{{list}}" wx:key="index">
<view class="left">
<view class="name">{{item.description}}</view>
@ -12,8 +16,9 @@
</view>
<view class="points">{{item.points}}</view>
</view>
</view>
<view class="list-empty" wx:else>
<image class="icon" src="/assets/icon/shop/point-empty@2x.png"/>
<view class="sub-title">暂无蜂蜜</view>
</view>
<view class="list-empty" wx:if="{{list.length==0&&pager.loadAll}}">
<image class="icon" src="/assets/icon/shop/point-empty@2x.png"/>
<view class="sub-title">暂无蜂蜜</view>
</view>
</list-view>

View File

@ -27,7 +27,7 @@ Page({
pager:{
tab1:{limit:10,loading:false,loadAll:false,pageIndex:0},
tab2:{limit:10,loading:false,loadAll:false,pageIndex:0},
tab3:{limit:4,loading:false,loadAll:false,pageIndex:0}
tab3:{limit:10,loading:false,loadAll:false,pageIndex:0}
}
},
changeTab(event){

View File

@ -14,7 +14,7 @@
<list-view class="order-list" wx:if="{{tabIndex==0}}"
bind:refresh="refreshList" bind:loadMore="loadMore" height="{{scrollViewHeight}}"
refresher-triggered="{{refreshTriggered.tab1}}"
load-more-text="仅展示最近一年的订单" show-load-more="{{orderList.length!=0}}"
load-more-text="仅展示最近一年的订单" show-load-more="{{!(orderList.length==0&&pager.tab1.loadAll)}}"
loading="{{pager.tab1.loading}}" load-all="{{pager.tab1.loadAll}}">
<view class="item" wx:for="{{orderList}}" wx:key="index" bind:tap="goToDetail" data-id="{{item.orderid}}">
<view class="head">
@ -41,7 +41,7 @@
</view>
<view class="list-empty" wx:if="{{orderList.length==0}}">
<view class="list-empty" wx:if="{{orderList.length==0&&pager.tab1.loadAll}}">
<image class="icon" src="/assets/icon/order/empty@2x.png"/>
<view class="text">暂无相关订单</view>
</view>
@ -49,8 +49,8 @@
<list-view class="bill-list" wx:if="{{tabIndex==1}}"
bind:refresh="refreshList" bind:loadMore="loadMore" height="{{scrollViewHeight}}"
refresher-triggered="{{refreshTriggered.tab2}}"
load-more-text="仅展示最近一年的订单" show-load-more="{{merchantOrderList.length!=0}}"
refresher-triggered="{{refreshTriggered.tab2}}" load-more-text="仅展示最近一年的订单"
show-load-more="{{!(merchantOrderList.length==0&&pager.tab2.loadAll)}}"
loading="{{pager.tab2.loading}}" load-all="{{pager.tab2.loadAll}}">
<view class="item" wx:for="{{merchantOrderList}}" wx:key="index">
<image class="image" src="{{item.merchant_image}}"/>
@ -82,7 +82,7 @@
</view>
</view>
<view class="list-empty" wx:if="{{merchantOrderList.length==0}}">
<view class="list-empty" wx:if="{{merchantOrderList.length==0&&pager.tab2.loadAll}}">
<image class="icon" src="/assets/icon/order/empty@2x.png"/>
<view class="text">暂无相关订单</view>
</view>
@ -90,8 +90,8 @@
<list-view class="group-list" wx:if="{{tabIndex==2}}"
bind:refresh="refreshList" bind:loadMore="loadMore" height="{{scrollViewHeight}}"
refresher-triggered="{{refreshTriggered.tab3}}"
load-more-text="仅展示最近一年的订单" show-load-more="{{couponList.length!=0}}"
refresher-triggered="{{refreshTriggered.tab3}}" load-more-text="仅展示最近一年的订单"
show-load-more="{{!(couponList.length==0&&pager.tab3.loadAll)}}"
loading="{{pager.tab3.loading}}" load-all="{{pager.tab3.loadAll}}">
<view class="item" wx:for="{{couponList}}" wx:key="index" bind:tap="goToCouponDetail" data-id="{{item.order_id}}">
<view class="head">
@ -116,7 +116,7 @@
</view>
</view>
<view class="list-empty" wx:if="{{couponList.length==0}}">
<view class="list-empty" wx:if="{{couponList.length==0&&pager.tab3.loadAll}}">
<image class="icon" src="/assets/icon/order/empty@2x.png"/>
<view class="text">暂无相关订单</view>
</view>

View File

@ -48,7 +48,6 @@ Page({
data.items.map((item)=>{
item.tags = item.tags.split(',')
})
data.items = data.items;
this.setData({
productList:data.items
});

View File

@ -5,7 +5,7 @@
<view class="name">{{detail.name}}</view>
<view class="time">营业时间 {{detail.business_hours}}</view>
</view>
<image class="image" wx:if="{{detail.images.length>0}}" src="{{detail.images[0].image_url}}"/>
<image class="image" src="{{detail.optimized_brand_image_url}}"/>
</view>
<view class="spliter"></view>
<view class="address">

View File

@ -42,6 +42,7 @@
}
.shop-info .head .image{
width:180rpx;height:180rpx;
margin-left:20rpx;
}
.shop-info .address{
display: flex;
@ -49,11 +50,11 @@
.shop-info .name{
font-weight: 600;
font-size: 40rpx;
margin-top:10rpx;
line-height: 50rpx;
}
.shop-info .time{
font: 25rpx;
margin-top:24rpx;
margin-top:19rpx;
}
.shop-info .spliter{
margin:20rpx 0 24rpx 0;

View File

@ -7,21 +7,69 @@ Page({
* 页面的初始数据
*/
data: {
shopList:[]
shopList:[],
lng:0,
lat:0,
scrollViewHeight:0,
pager:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
const windowInfo = wx.getWindowInfo();
console.log(windowInfo);
this.setData({
scrollViewHeight:windowInfo.screenHeight-372
})
app.getLocation().then((res)=>{
this.getProductList(res.longitude,res.latitude);
this.setData({
lng:res.longitude,
lat:res.latitude
});
this.getProductList();
}).catch(()=>{
this.getProductList();
})
},
getProductList(lng,lat){
shopApi.list(null,lng,lat).then((data)=>{
refreshList(){
this.data.pager.pageIndex = 0;
this.data.pager.loadAll = false;
this.setData({
pager:this.data.pager
});
this.getProductList();
},
getProductList(){
if(this.data.pager.loading||this.data.pager.loadAll){
return;
}
this.data.pager.loading = true;
this.setData({
pager:this.data.pager
});
const data = {
skip:this.data.pager.pageIndex*this.data.pager.limit,
limit:this.data.pager.limit
}
if(this.data.lng&&this.data.lat){
data.longitude = this.data.lng;
data.latitude = this.data.lat;
}
shopApi.list(data).then((data)=>{
if(this.data.pager.pageIndex==0){
this.data.shopList = data.items;
}else{
this.data.shopList = this.data.shopList.concat(data.items);
}
this.data.pager.loading = false;
this.data.pager.pageIndex++;
this.data.pager.refreshTrigger = false;
if(data.items.length<this.data.pager.limit){
this.data.pager.loadAll = true;
}
data.items.map((item)=>{
if(item.distance){
if(item.distance>=1000){
@ -32,7 +80,8 @@ Page({
}
});
this.setData({
shopList:data.items
shopList:this.data.shopList,
pager:this.data.pager
});
})
},

View File

@ -1,6 +1,7 @@
{
"usingComponents": {
"shop-item":"/components/shopItem"
"shop-item":"/components/shopItem",
"list-view":"/components/listView"
},
"navigationStyle": "custom"
}

View File

@ -3,8 +3,12 @@
<view class="text">支付成功</view>
<button class="button" plain bind:tap="back">前往查看订单</button>
</view>
<view class="shop-list">
<list-view class="shop-list" bind:refresh="refreshList"
bind:loadMore="getProductList" height="{{scrollViewHeight}}"
refresher-triggered="{{pager.refreshTrigger}}"
show-load-more="{{!(shopList.length==0&&pager.loadAll)}}"
loading="{{pager.loading}}" load-all="{{pager.loadAll}}">
<shop-item wx:for="{{shopList}}" shop="{{item}}" data-item="{{item}}" wx:key="index">
</shop-item>
</view>
</list-view>