修改订单详情取件码重复问题,优化scroll-view
This commit is contained in:
parent
26069d6f4d
commit
f0b511d9f5
3
app.wxss
3
app.wxss
@ -227,6 +227,9 @@ page-container .content{
|
|||||||
flex:1;
|
flex:1;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
.scroll-view-top-margin{
|
||||||
|
height:1rpx;
|
||||||
|
}
|
||||||
.bottom-bar-v2{
|
.bottom-bar-v2{
|
||||||
padding:24rpx;
|
padding:24rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
<scroll-view scroll-y refresher-enabled bindrefresherrefresh="refreshList"
|
<scroll-view scroll-y refresher-enabled bindrefresherrefresh="refreshList"
|
||||||
refresher-triggered="{{refresherTriggered}}" style="{{heightStyle}}" bindscroll="scrolling"
|
refresher-triggered="{{refresherTriggered}}" style="{{heightStyle}}" bindscroll="scrolling"
|
||||||
class="scroll-view" id="scrollView" enhanced show-scrollbar="{{false}}">
|
class="scroll-view" id="scrollView" enhanced show-scrollbar="{{false}}">
|
||||||
<view class="scroll-view-content">
|
<view class="scroll-view-top-margin"></view>
|
||||||
<slot/>
|
<slot/>
|
||||||
</view>
|
|
||||||
<view class="load-more" wx:if="{{showLoadMore}}">
|
<view class="load-more" wx:if="{{showLoadMore}}">
|
||||||
<label class="text" wx:if="{{loadAll}}">{{loadMoreText}}</label>
|
<label class="text" wx:if="{{loadAll}}">{{loadMoreText}}</label>
|
||||||
<label class="text" wx:else>加载中...</label>
|
<label class="text" wx:else>加载中...</label>
|
||||||
|
|||||||
@ -169,6 +169,11 @@ Page({
|
|||||||
this.loadList();
|
this.loadList();
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
refreshCurrentList(){
|
||||||
|
this.data.pager.pageIndex = 0;
|
||||||
|
this.data.pager.loadAll = false;
|
||||||
|
this.loadList();
|
||||||
|
},
|
||||||
async loadStatusDetail(){
|
async loadStatusDetail(){
|
||||||
const data = await orderApi.statusDetail(this.data.userInfo.community_id);
|
const data = await orderApi.statusDetail(this.data.userInfo.community_id);
|
||||||
this.data.statusDetail.created.value = 0;
|
this.data.statusDetail.created.value = 0;
|
||||||
@ -412,6 +417,10 @@ Page({
|
|||||||
wx.removeStorage({
|
wx.removeStorage({
|
||||||
key: item.orderid,
|
key: item.orderid,
|
||||||
})
|
})
|
||||||
|
}).catch(()=>{
|
||||||
|
this.setData({
|
||||||
|
[`list[${index}].receiving`]:false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
//完成配送 选择图片
|
//完成配送 选择图片
|
||||||
@ -545,6 +554,7 @@ Page({
|
|||||||
},
|
},
|
||||||
emptyFun(){},
|
emptyFun(){},
|
||||||
onShow(){
|
onShow(){
|
||||||
|
console.log('onshow');
|
||||||
if(this.data.statusDetailKey==this.data.statusDetail.received.key.toLowerCase()){
|
if(this.data.statusDetailKey==this.data.statusDetail.received.key.toLowerCase()){
|
||||||
let needRefreshData = {}
|
let needRefreshData = {}
|
||||||
this.data.list.map((item,index)=>{
|
this.data.list.map((item,index)=>{
|
||||||
@ -565,7 +575,11 @@ Page({
|
|||||||
getPackageReceiveStatus(orderId,pkg){
|
getPackageReceiveStatus(orderId,pkg){
|
||||||
let receivedInfo = wx.getStorageSync(orderId);
|
let receivedInfo = wx.getStorageSync(orderId);
|
||||||
let codes = receivedInfo[pkg.id];
|
let codes = receivedInfo[pkg.id];
|
||||||
if(codes&&pkg.pickup_codes.length==codes.length){
|
let tempVar = {};
|
||||||
|
pkg.pickup_codes.map((code)=>{
|
||||||
|
tempVar[code] = 1;
|
||||||
|
})
|
||||||
|
if(codes&&Object.keys(tempVar).length==codes.length){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@ -48,7 +48,10 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="station-list">
|
<view class="station-list">
|
||||||
<view class="sl-item" wx:for="{{item.packages}}" wx:key="index" wx:for-item="pItem" wx:for-index="pIndex">
|
<view class="sl-item" wx:for="{{item.packages}}" wx:key="index" wx:for-item="pItem" wx:for-index="pIndex">
|
||||||
<view class="name">{{pItem.station_name}} {{pItem.pickup_codes.length}} 件</view>
|
<view class="name">
|
||||||
|
<view class="text">{{pItem.station_name}}</view>
|
||||||
|
<view class="count">{{pItem.pickup_codes.length}} 件</view>
|
||||||
|
</view>
|
||||||
<view class="received-status {{item.status==orderStatus.received&&!pItem.receivedAll?'done':''}}" wx:if="{{item.status!=orderStatus.created}}">
|
<view class="received-status {{item.status==orderStatus.received&&!pItem.receivedAll?'done':''}}" wx:if="{{item.status!=orderStatus.created}}">
|
||||||
{{
|
{{
|
||||||
item.status==orderStatus.received?(pItem.receivedAll?'已取件':'待取件'):
|
item.status==orderStatus.received?(pItem.receivedAll?'已取件':'待取件'):
|
||||||
@ -215,7 +218,7 @@
|
|||||||
|
|
||||||
<modal-view titleText="取消订单需联系客户说明原因" editable content-placeholder="请输入退单原因" bind:ok="refund" model:show="{{isShowRefundConfirm}}" titleTextCenter="{{false}}" editRequired/>
|
<modal-view titleText="取消订单需联系客户说明原因" editable content-placeholder="请输入退单原因" bind:ok="refund" model:show="{{isShowRefundConfirm}}" titleTextCenter="{{false}}" editRequired/>
|
||||||
|
|
||||||
<mark-up id="markupView" class="mark-up"/>
|
<mark-up id="markupView" class="mark-up" bind:success="refreshCurrentList"/>
|
||||||
|
|
||||||
<background-notice bind:onTrigger="findNewOrder" id="orderBackgroundNotice"
|
<background-notice bind:onTrigger="findNewOrder" id="orderBackgroundNotice"
|
||||||
start="{{isStartLoopOrder}}" bind:initSuccess="bgNoticeSuccess"
|
start="{{isStartLoopOrder}}" bind:initSuccess="bgNoticeSuccess"
|
||||||
|
|||||||
@ -165,6 +165,14 @@
|
|||||||
font-size: 40rpx;
|
font-size: 40rpx;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
gap: 16rpx;
|
||||||
|
min-width: 0;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.package-list .item .name .text{
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
.package-list .item .received-status{
|
.package-list .item .received-status{
|
||||||
border-left: 1rpx solid #999999;
|
border-left: 1rpx solid #999999;
|
||||||
|
|||||||
@ -48,15 +48,7 @@ Component({
|
|||||||
photo_urls:urls,
|
photo_urls:urls,
|
||||||
additional_fee_amount:this.data.money
|
additional_fee_amount:this.data.money
|
||||||
}).then(()=>{
|
}).then(()=>{
|
||||||
this.setData({
|
this._updateSuccessAction();
|
||||||
reason:'',
|
|
||||||
money:0,
|
|
||||||
isShowMarkup:false
|
|
||||||
});
|
|
||||||
this.imgUploader.setUploadedImgs([]);
|
|
||||||
wx.showToast({
|
|
||||||
title: '保存成功',
|
|
||||||
})
|
|
||||||
});
|
});
|
||||||
}else{
|
}else{
|
||||||
orderApi.markUp.add({
|
orderApi.markUp.add({
|
||||||
@ -65,6 +57,12 @@ Component({
|
|||||||
photo_urls:urls,
|
photo_urls:urls,
|
||||||
additional_fee_amount:this.data.money
|
additional_fee_amount:this.data.money
|
||||||
}).then((data)=>{
|
}).then((data)=>{
|
||||||
|
this._updateSuccessAction();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
_updateSuccessAction(){
|
||||||
|
this.triggerEvent('success');
|
||||||
this.setData({
|
this.setData({
|
||||||
reason:'',
|
reason:'',
|
||||||
money:0,
|
money:0,
|
||||||
@ -74,8 +72,6 @@ Component({
|
|||||||
wx.showToast({
|
wx.showToast({
|
||||||
title: '保存成功',
|
title: '保存成功',
|
||||||
})
|
})
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
show(order){
|
show(order){
|
||||||
this.setData({
|
this.setData({
|
||||||
|
|||||||
@ -45,16 +45,26 @@ Page({
|
|||||||
data.pickup_time = this.formatTime(data.pickup_time);
|
data.pickup_time = this.formatTime(data.pickup_time);
|
||||||
data.received_time = this.formatTime(data.received_time);
|
data.received_time = this.formatTime(data.received_time);
|
||||||
const receivedStatusCode = wx.getStorageSync(data.orderid);
|
const receivedStatusCode = wx.getStorageSync(data.orderid);
|
||||||
data.packages.map((item)=>{
|
data.packages.map((item,index)=>{
|
||||||
|
//formattedCode 预防有重复 code,造成选中问题,如果code全部显示出来,可能跑腿的在取了快递之后,后面遇到重复的这个,会找不到包裹,因为已经取了~
|
||||||
|
item.formattedCode = {};
|
||||||
|
item.pickup_codes.map((code)=>{
|
||||||
|
if(!item.formattedCode[code]){
|
||||||
|
item.formattedCode[code] = {
|
||||||
|
sameCount:item.pickup_codes.filter((c)=>c==code).length
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
if(receivedStatusCode){
|
if(receivedStatusCode){
|
||||||
if(item.pickup_codes.length==(receivedStatusCode[item.id]||[]).length){
|
if(Object.keys(item.formattedCode).length==(receivedStatusCode[item.id]||[]).length){
|
||||||
item.receivedAll = true;
|
item.receivedAll = true;
|
||||||
}
|
}
|
||||||
(receivedStatusCode[item.id]||[]).map((code)=>{
|
(receivedStatusCode[item.id]||[]).map((code)=>{
|
||||||
item[code] = true;
|
item.formattedCode[code].checked = true;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
console.log(data.packages);
|
||||||
if(data.status==this.data.orderStatus.created||data.status==this.data.orderStatus.completed||data.status==this.data.orderStatus.unpaid){
|
if(data.status==this.data.orderStatus.created||data.status==this.data.orderStatus.completed||data.status==this.data.orderStatus.unpaid){
|
||||||
data.address_phone = hidePhoneNumber(data.address_phone);
|
data.address_phone = hidePhoneNumber(data.address_phone);
|
||||||
}
|
}
|
||||||
@ -64,7 +74,6 @@ Page({
|
|||||||
orderStep
|
orderStep
|
||||||
})
|
})
|
||||||
}).catch((res)=>{
|
}).catch((res)=>{
|
||||||
console.log(res);
|
|
||||||
this.setData({
|
this.setData({
|
||||||
refreshTrigger:false
|
refreshTrigger:false
|
||||||
})
|
})
|
||||||
@ -97,11 +106,11 @@ Page({
|
|||||||
const item = this.data.orderDetail.packages[index];
|
const item = this.data.orderDetail.packages[index];
|
||||||
let receviedStatus = wx.getStorageSync(item.orderid)||{};
|
let receviedStatus = wx.getStorageSync(item.orderid)||{};
|
||||||
const checkedCode = event.detail.value;
|
const checkedCode = event.detail.value;
|
||||||
item.pickup_codes.map((code)=>{
|
for(let key in item.formattedCode){
|
||||||
item[code] = !!checkedCode.find((c)=>c==code);
|
item.formattedCode[key].checked = !!checkedCode.find((code)=>code==key);
|
||||||
})
|
}
|
||||||
let receivedAll = item.pickup_codes.length==checkedCode.length;
|
let receivedAll = Object.keys(item.formattedCode).length==checkedCode.length;
|
||||||
item.receivedAll = receivedAll
|
item.receivedAll = receivedAll;
|
||||||
this.setData({
|
this.setData({
|
||||||
[`orderDetail.packages[${index}]`]:item
|
[`orderDetail.packages[${index}]`]:item
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<scroll-view refresher-triggered="{{refreshTrigger}}" bindrefresherrefresh="getOrderDetail"
|
<scroll-view refresher-triggered="{{refreshTrigger}}" bindrefresherrefresh="getOrderDetail"
|
||||||
refresher-enabled scroll-y class="order-detail {{orderDetail.is_first_order?'is-new-order':''}}"
|
refresher-enabled scroll-y class="order-detail {{orderDetail.is_first_order?'is-new-order':''}}"
|
||||||
enhanced show-scrollbar="{{false}}">
|
enhanced show-scrollbar="{{false}}">
|
||||||
<view class="content">
|
<view class="scroll-view-top-margin"></view>
|
||||||
<view class="page-container address-info">
|
<view class="page-container address-info">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
{{orderDetail.community_name}}
|
{{orderDetail.community_name}}
|
||||||
@ -12,7 +12,7 @@
|
|||||||
{{orderDetail.address_name}}{{genderKV[orderDetail.address_gender]}}:{{orderDetail.address_phone}}丨{{deliverStatusKV[orderDetail.delivery_method]}}
|
{{orderDetail.address_name}}{{genderKV[orderDetail.address_gender]}}:{{orderDetail.address_phone}}丨{{deliverStatusKV[orderDetail.delivery_method]}}
|
||||||
</view>
|
</view>
|
||||||
<view class="deliver-time">
|
<view class="deliver-time">
|
||||||
期望送达 <label class="time">{{orderDetail.delivery_time}}</label>
|
期望送达<label class="time">{{orderDetail.delivery_time}}</label>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="page-container station-info" wx:for="{{orderDetail.packages}}" wx:key="index">
|
<view class="page-container station-info" wx:for="{{orderDetail.packages}}" wx:key="index">
|
||||||
@ -27,13 +27,18 @@
|
|||||||
}}
|
}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<checkbox-group value="{{receivedCodes}}" bindchange="selectPackageCode"
|
<checkbox-group bindchange="selectPackageCode"
|
||||||
data-index="{{index}}">
|
data-index="{{index}}">
|
||||||
<label class="code-item" wx:for="{{item.pickup_codes}}" wx:key="index" wx:for-item="code">
|
<label class="code-item" wx:for="{{item.formattedCode}}" wx:key="cIndex"
|
||||||
<view class="code {{orderDetail.status==orderStatus.created||(orderDetail.status==orderStatus.received&&!item[code])?'':'checked'}}">
|
wx:for-item="formattedItem" wx:for-index="code">
|
||||||
|
<view class="code {{orderDetail.status==orderStatus.created||(orderDetail.status==orderStatus.received&&!item.formattedCode[code].checked)?'':'checked'}}">
|
||||||
{{orderDetail.status==orderStatus.created?'*********':code}}
|
{{orderDetail.status==orderStatus.created?'*********':code}}
|
||||||
|
|
||||||
|
<view wx:if="{{item.formattedCode[code].sameCount>1}}" class="same-count">
|
||||||
|
x {{item.formattedCode[code].sameCount}} 重复的取件码
|
||||||
</view>
|
</view>
|
||||||
<checkbox checked="{{!!item[code]}}" value="{{code}}" wx:if="{{orderDetail.status==orderStatus.received}}"/>
|
</view>
|
||||||
|
<checkbox checked="{{!!item.formattedCode[code].checked}}" value="{{code}}" wx:if="{{orderDetail.status==orderStatus.received}}"/>
|
||||||
</label>
|
</label>
|
||||||
</checkbox-group>
|
</checkbox-group>
|
||||||
</view>
|
</view>
|
||||||
@ -100,7 +105,7 @@
|
|||||||
<view class="key">取件数量</view>
|
<view class="key">取件数量</view>
|
||||||
<view class="value">{{orderDetail.package_count}}</view>
|
<view class="value">{{orderDetail.package_count}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="row">
|
<view class="row" wx:if="{{orderDetail.additional_fee_amount}}">
|
||||||
<view class="key">加价金额</view>
|
<view class="key">加价金额</view>
|
||||||
<view class="value money money-normal">{{orderDetail.additional_fee_amount}}</view>
|
<view class="value money money-normal">{{orderDetail.additional_fee_amount}}</view>
|
||||||
</view>
|
</view>
|
||||||
@ -110,6 +115,5 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="scroll-view-dispatch"></view>
|
<view class="scroll-view-dispatch"></view>
|
||||||
</view>
|
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
|
|
||||||
|
|||||||
@ -1,9 +1,6 @@
|
|||||||
.order-detail{
|
.order-detail{
|
||||||
height:100vh;
|
height:100vh;
|
||||||
}
|
}
|
||||||
.order-detail .content{
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
.address-info .title{
|
.address-info .title{
|
||||||
font-size: 40rpx;
|
font-size: 40rpx;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@ -29,6 +26,7 @@
|
|||||||
.address-info .deliver-time .time{
|
.address-info .deliver-time .time{
|
||||||
color: #ff0000;
|
color: #ff0000;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
margin-left: 16rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.station-info{
|
.station-info{
|
||||||
@ -69,6 +67,14 @@
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
flex:1;
|
flex:1;
|
||||||
color: #888888;
|
color: #888888;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 20rpx;
|
||||||
|
}
|
||||||
|
.station-info .code-item .same-count{
|
||||||
|
font-size: 24rpx;
|
||||||
|
color:#999;
|
||||||
}
|
}
|
||||||
.station-info .code-item .code.checked{
|
.station-info .code-item .code.checked{
|
||||||
color:var(--main-font-color);
|
color:var(--main-font-color);
|
||||||
|
|||||||
@ -14,7 +14,6 @@
|
|||||||
margin-top:40rpx;
|
margin-top:40rpx;
|
||||||
}
|
}
|
||||||
.income-list{
|
.income-list{
|
||||||
height:100vh;
|
|
||||||
margin: 0 20rpx;
|
margin: 0 20rpx;
|
||||||
}
|
}
|
||||||
.income-list .item{
|
.income-list .item{
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<scroll-view scroll-y class="scroll-view" refresher-enabled enhanced show-scrollbar="{{false}}"
|
<scroll-view scroll-y class="scroll-view" refresher-enabled enhanced show-scrollbar="{{false}}"
|
||||||
bindrefresherrefresh="refreshSummary" refresher-triggered="{{refreshTrigger}}">
|
bindrefresherrefresh="refreshSummary" refresher-triggered="{{refreshTrigger}}">
|
||||||
|
<view class="scroll-view-top-margin"></view>
|
||||||
<view class="page-container user-info">
|
<view class="page-container user-info">
|
||||||
<view class="title">账户余额 (元)</view>
|
<view class="title">账户余额 (元)</view>
|
||||||
<view class="_money">{{summary.balance}}</view>
|
<view class="_money">{{summary.balance}}</view>
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
.withdraw-list{
|
.withdraw-list{
|
||||||
height:100vh;
|
margin-top:20rpx;
|
||||||
}
|
height: 100vh;
|
||||||
.withdraw-list .scroll-view-content{
|
|
||||||
padding-top:20rpx;
|
|
||||||
}
|
}
|
||||||
.withdraw-list .item{
|
.withdraw-list .item{
|
||||||
padding:40rpx 30rpx;
|
padding:40rpx 30rpx;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user