修改订单详情取件码重复问题,优化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;
|
||||
overflow: hidden;
|
||||
}
|
||||
.scroll-view-top-margin{
|
||||
height:1rpx;
|
||||
}
|
||||
.bottom-bar-v2{
|
||||
padding:24rpx;
|
||||
background-color: #fff;
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
<scroll-view scroll-y refresher-enabled bindrefresherrefresh="refreshList"
|
||||
refresher-triggered="{{refresherTriggered}}" style="{{heightStyle}}" bindscroll="scrolling"
|
||||
class="scroll-view" id="scrollView" enhanced show-scrollbar="{{false}}">
|
||||
<view class="scroll-view-content">
|
||||
<view class="scroll-view-top-margin"></view>
|
||||
<slot/>
|
||||
</view>
|
||||
|
||||
<view class="load-more" wx:if="{{showLoadMore}}">
|
||||
<label class="text" wx:if="{{loadAll}}">{{loadMoreText}}</label>
|
||||
<label class="text" wx:else>加载中...</label>
|
||||
|
||||
@ -169,6 +169,11 @@ Page({
|
||||
this.loadList();
|
||||
})
|
||||
},
|
||||
refreshCurrentList(){
|
||||
this.data.pager.pageIndex = 0;
|
||||
this.data.pager.loadAll = false;
|
||||
this.loadList();
|
||||
},
|
||||
async loadStatusDetail(){
|
||||
const data = await orderApi.statusDetail(this.data.userInfo.community_id);
|
||||
this.data.statusDetail.created.value = 0;
|
||||
@ -412,6 +417,10 @@ Page({
|
||||
wx.removeStorage({
|
||||
key: item.orderid,
|
||||
})
|
||||
}).catch(()=>{
|
||||
this.setData({
|
||||
[`list[${index}].receiving`]:false
|
||||
})
|
||||
})
|
||||
},
|
||||
//完成配送 选择图片
|
||||
@ -545,6 +554,7 @@ Page({
|
||||
},
|
||||
emptyFun(){},
|
||||
onShow(){
|
||||
console.log('onshow');
|
||||
if(this.data.statusDetailKey==this.data.statusDetail.received.key.toLowerCase()){
|
||||
let needRefreshData = {}
|
||||
this.data.list.map((item,index)=>{
|
||||
@ -565,7 +575,11 @@ Page({
|
||||
getPackageReceiveStatus(orderId,pkg){
|
||||
let receivedInfo = wx.getStorageSync(orderId);
|
||||
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 false;
|
||||
|
||||
@ -48,7 +48,10 @@
|
||||
</view>
|
||||
<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="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}}">
|
||||
{{
|
||||
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/>
|
||||
|
||||
<mark-up id="markupView" class="mark-up"/>
|
||||
<mark-up id="markupView" class="mark-up" bind:success="refreshCurrentList"/>
|
||||
|
||||
<background-notice bind:onTrigger="findNewOrder" id="orderBackgroundNotice"
|
||||
start="{{isStartLoopOrder}}" bind:initSuccess="bgNoticeSuccess"
|
||||
|
||||
@ -165,6 +165,14 @@
|
||||
font-size: 40rpx;
|
||||
font-weight: 600;
|
||||
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{
|
||||
border-left: 1rpx solid #999999;
|
||||
|
||||
@ -48,15 +48,7 @@ Component({
|
||||
photo_urls:urls,
|
||||
additional_fee_amount:this.data.money
|
||||
}).then(()=>{
|
||||
this.setData({
|
||||
reason:'',
|
||||
money:0,
|
||||
isShowMarkup:false
|
||||
});
|
||||
this.imgUploader.setUploadedImgs([]);
|
||||
wx.showToast({
|
||||
title: '保存成功',
|
||||
})
|
||||
this._updateSuccessAction();
|
||||
});
|
||||
}else{
|
||||
orderApi.markUp.add({
|
||||
@ -65,6 +57,12 @@ Component({
|
||||
photo_urls:urls,
|
||||
additional_fee_amount:this.data.money
|
||||
}).then((data)=>{
|
||||
this._updateSuccessAction();
|
||||
})
|
||||
}
|
||||
},
|
||||
_updateSuccessAction(){
|
||||
this.triggerEvent('success');
|
||||
this.setData({
|
||||
reason:'',
|
||||
money:0,
|
||||
@ -74,8 +72,6 @@ Component({
|
||||
wx.showToast({
|
||||
title: '保存成功',
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
show(order){
|
||||
this.setData({
|
||||
|
||||
@ -45,16 +45,26 @@ Page({
|
||||
data.pickup_time = this.formatTime(data.pickup_time);
|
||||
data.received_time = this.formatTime(data.received_time);
|
||||
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(item.pickup_codes.length==(receivedStatusCode[item.id]||[]).length){
|
||||
if(Object.keys(item.formattedCode).length==(receivedStatusCode[item.id]||[]).length){
|
||||
item.receivedAll = true;
|
||||
}
|
||||
(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){
|
||||
data.address_phone = hidePhoneNumber(data.address_phone);
|
||||
}
|
||||
@ -64,7 +74,6 @@ Page({
|
||||
orderStep
|
||||
})
|
||||
}).catch((res)=>{
|
||||
console.log(res);
|
||||
this.setData({
|
||||
refreshTrigger:false
|
||||
})
|
||||
@ -97,11 +106,11 @@ Page({
|
||||
const item = this.data.orderDetail.packages[index];
|
||||
let receviedStatus = wx.getStorageSync(item.orderid)||{};
|
||||
const checkedCode = event.detail.value;
|
||||
item.pickup_codes.map((code)=>{
|
||||
item[code] = !!checkedCode.find((c)=>c==code);
|
||||
})
|
||||
let receivedAll = item.pickup_codes.length==checkedCode.length;
|
||||
item.receivedAll = receivedAll
|
||||
for(let key in item.formattedCode){
|
||||
item.formattedCode[key].checked = !!checkedCode.find((code)=>code==key);
|
||||
}
|
||||
let receivedAll = Object.keys(item.formattedCode).length==checkedCode.length;
|
||||
item.receivedAll = receivedAll;
|
||||
this.setData({
|
||||
[`orderDetail.packages[${index}]`]:item
|
||||
});
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<scroll-view refresher-triggered="{{refreshTrigger}}" bindrefresherrefresh="getOrderDetail"
|
||||
refresher-enabled scroll-y class="order-detail {{orderDetail.is_first_order?'is-new-order':''}}"
|
||||
enhanced show-scrollbar="{{false}}">
|
||||
<view class="content">
|
||||
<view class="scroll-view-top-margin"></view>
|
||||
<view class="page-container address-info">
|
||||
<view class="title">
|
||||
{{orderDetail.community_name}}
|
||||
@ -12,7 +12,7 @@
|
||||
{{orderDetail.address_name}}{{genderKV[orderDetail.address_gender]}}:{{orderDetail.address_phone}}丨{{deliverStatusKV[orderDetail.delivery_method]}}
|
||||
</view>
|
||||
<view class="deliver-time">
|
||||
期望送达 <label class="time">{{orderDetail.delivery_time}}</label>
|
||||
期望送达<label class="time">{{orderDetail.delivery_time}}</label>
|
||||
</view>
|
||||
</view>
|
||||
<view class="page-container station-info" wx:for="{{orderDetail.packages}}" wx:key="index">
|
||||
@ -27,13 +27,18 @@
|
||||
}}
|
||||
</view>
|
||||
</view>
|
||||
<checkbox-group value="{{receivedCodes}}" bindchange="selectPackageCode"
|
||||
<checkbox-group bindchange="selectPackageCode"
|
||||
data-index="{{index}}">
|
||||
<label class="code-item" wx:for="{{item.pickup_codes}}" wx:key="index" wx:for-item="code">
|
||||
<view class="code {{orderDetail.status==orderStatus.created||(orderDetail.status==orderStatus.received&&!item[code])?'':'checked'}}">
|
||||
<label class="code-item" wx:for="{{item.formattedCode}}" wx:key="cIndex"
|
||||
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}}
|
||||
|
||||
<view wx:if="{{item.formattedCode[code].sameCount>1}}" class="same-count">
|
||||
x {{item.formattedCode[code].sameCount}} 重复的取件码
|
||||
</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>
|
||||
</checkbox-group>
|
||||
</view>
|
||||
@ -100,7 +105,7 @@
|
||||
<view class="key">取件数量</view>
|
||||
<view class="value">{{orderDetail.package_count}}</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="row" wx:if="{{orderDetail.additional_fee_amount}}">
|
||||
<view class="key">加价金额</view>
|
||||
<view class="value money money-normal">{{orderDetail.additional_fee_amount}}</view>
|
||||
</view>
|
||||
@ -110,6 +115,5 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="scroll-view-dispatch"></view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
.order-detail{
|
||||
height:100vh;
|
||||
}
|
||||
.order-detail .content{
|
||||
overflow: auto;
|
||||
}
|
||||
.address-info .title{
|
||||
font-size: 40rpx;
|
||||
font-weight: 600;
|
||||
@ -29,6 +26,7 @@
|
||||
.address-info .deliver-time .time{
|
||||
color: #ff0000;
|
||||
font-weight: 500;
|
||||
margin-left: 16rpx;
|
||||
}
|
||||
|
||||
.station-info{
|
||||
@ -69,6 +67,14 @@
|
||||
font-weight: 600;
|
||||
flex:1;
|
||||
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{
|
||||
color:var(--main-font-color);
|
||||
|
||||
@ -14,7 +14,6 @@
|
||||
margin-top:40rpx;
|
||||
}
|
||||
.income-list{
|
||||
height:100vh;
|
||||
margin: 0 20rpx;
|
||||
}
|
||||
.income-list .item{
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
</view>
|
||||
<scroll-view scroll-y class="scroll-view" refresher-enabled enhanced show-scrollbar="{{false}}"
|
||||
bindrefresherrefresh="refreshSummary" refresher-triggered="{{refreshTrigger}}">
|
||||
<view class="scroll-view-top-margin"></view>
|
||||
<view class="page-container user-info">
|
||||
<view class="title">账户余额 (元)</view>
|
||||
<view class="_money">{{summary.balance}}</view>
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
.withdraw-list{
|
||||
height:100vh;
|
||||
}
|
||||
.withdraw-list .scroll-view-content{
|
||||
padding-top:20rpx;
|
||||
margin-top:20rpx;
|
||||
height: 100vh;
|
||||
}
|
||||
.withdraw-list .item{
|
||||
padding:40rpx 30rpx;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user