下单立即付款,积分文案,等

This commit is contained in:
2025-04-01 21:17:55 +08:00
parent 75f1e6ad96
commit e7cb743ba4
31 changed files with 159 additions and 95 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 436 KiB

After

Width:  |  Height:  |  Size: 404 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 244 KiB

View File

@ -63,7 +63,7 @@ Component({
}
},
fail:(res)=>{
console.log(res);
this.triggerEvent('payError');
}
})
});

View File

@ -1,4 +1,4 @@
<page-container show="{{isShowConfirm}}" round close-on-slide-down>
<page-container show="{{isShowConfirm}}" wx:if="{{isShowConfirm}}" round close-on-slide-down>
<view class="content pc-content">
<view class="title">{{product.name}}</view>
<view class="tags">
@ -12,8 +12,8 @@
<label class="money">{{calculatedPrice.amount}}</label>
</view>
<view class="right">
<label class="key">赠送蜂蜜</label>
<label class="weight">{{calculatedPrice.gift_points}}</label>
<label class="key">赠送积分</label>
<label class="weight">{{calculatedPrice.gift_points}}</label>
</view>
</view>

View File

@ -1,5 +1,5 @@
.pc-content{
padding:60rpx 30rpx 0 30rpx;
padding:20rpx 30rpx 0 30rpx;
}
.pc-content .title{
font-size: 40rpx;

View File

@ -22,6 +22,7 @@ Page({
isShowOrderConfirm:false,
preOrder:{},
order:{},
preOrderUnPayId:'',
manuallyChangedCommunity:false,
@ -33,7 +34,9 @@ Page({
navBarHeight:0,
isShowPayModal:false,
appConfig:{}
appConfig:{},
orderStatus:userApi.order.status
},
/**
@ -267,19 +270,22 @@ Page({
userApi.order.real(res.data).then((data)=>{
this.setData({
isShowOrderConfirm:false,
ordering:false
ordering:false,
order:data
});
wx.removeStorage({
key: 'pre-order',
});
wx.showTabBar({
success(){
wx.navigateTo({
url: `/pages/help/success/index?id=${data.order.orderid}&success_text=${data.delivery_time}`,
})
}
});
if(data.order.status==this.data.orderStatus.created){
//创建成功并且不需要支付
this.paySuccess();
}else{
//需要支付
const merchantPay = this.selectComponent('#merchantOrderComponent');
merchantPay.createPayment(data.order.orderid,true);
}
}).catch((e)=>{
console.log(e);
this.setData({
ordering:false
});
@ -287,10 +293,32 @@ Page({
}
});
},
paySuccess(){
wx.showTabBar({
success:()=>{
wx.navigateTo({
url: `/pages/help/success/index?id=${this.data.order.order.orderid}&success_text=${this.data.order.delivery_time}`,
})
}
});
},
payError(){
//订单创建成功,但是支付错误,还是要刷新
app.globalData.needRefreshOrderList = true;
wx.showTabBar({
success:()=>{
wx.navigateTo({
url: `/pages/order/detail/index?id=${this.data.order.order.orderid}`,
})
}
});
},
enterPageContainer(){
console.log('enterPageContainer');
// wx.hideTabBar();
},
leavePageContainer(){
console.log('leavePageContainer');
wx.showTabBar();
},
/**
@ -306,7 +334,6 @@ Page({
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/

View File

@ -1,7 +1,8 @@
{
"usingComponents": {
"nav-bar":"/components/navbar",
"modal-view":"/components/modalView"
"modal-view":"/components/modalView",
"merchant-order":"/components/merchantOrder"
},
"navigationStyle": "custom"
}

View File

@ -55,11 +55,11 @@
</view>
<view class="item">
<image class="icon" src="/assets/icon/help/icon2.png"/>
<view class="text">先享后付</view>
<view class="text">平价亲民</view>
</view>
<view class="item">
<image class="icon" src="/assets/icon/help/icon3.png"/>
<view class="text">安全保障</view>
<view class="text">准时送达</view>
</view>
</view>
</view>
@ -134,15 +134,12 @@ bind:enter="enterPageContainer" bind:leave="leavePageContainer" wx:if="{{isShowO
<view class="value money yellow">{{preOrder.price_info.coupon_discount_amount}}</view>
</view>
<view class="kv-item" wx:if="{{preOrder.price_info.points_discount_amount}}">
<view class="key">蜂蜜抵</view>
<view class="key">积分抵</view>
<view class="value money yellow">{{preOrder.price_info.points_discount_amount}}</view>
</view>
<view class="kv-item">
<view class="key">
<view>应支付</view>
<view class="tags">
<view class="tag yellow">先享后付</view>
</view>
</view>
<view class="value money">{{preOrder.price_info.final_amount}}</view>
</view>
@ -151,5 +148,8 @@ bind:enter="enterPageContainer" bind:leave="leavePageContainer" wx:if="{{isShowO
<button class="button" type="primary" bind:tap="getOrder" loading="{{ordering}}">确认下单</button>
</view>
</page-container>
<modal-view titleText="你有订单未支付!" okButtonText="去支付" model:show="{{isShowPayModal}}" wx:if="{{isShowPayModal}}" bind:ok="navToUnPayOrder"/>
<modal-view titleText="你有订单未支付!" okButtonText="去支付" show="{{isShowPayModal}}"
bind:ok="navToUnPayOrder"/>
<merchant-order id="merchantOrderComponent" bind:paySuccess="paySuccess" bind:payError="payError"/>

View File

@ -103,7 +103,7 @@
}
.address-panel .bottom .text{
color: #999999;
font-size: 24rpx;
font-size: 26rpx;
margin-left: 8rpx;
display: inline-block;
vertical-align: middle;

View File

@ -69,7 +69,8 @@ Page({
//录入了有效取件码 或者 上传了取件图片||this.data.tempImgs.length>0
if(data.length>0){
let priceRequest = {
packages:data
packages:data,
pickup_images:data[0].imgUrl
};
if(this.data.timePeriodsIndex==-1){
wx.showToast({

View File

@ -11,7 +11,7 @@ Page({
},
onLoad(options){
this.setData({
userCode:options.shared_user_code||''
userCode:options.shared_user_code||app.globalData.shared_user_code||''
});
app.getAppConfig().then((data)=>{

View File

@ -1,24 +1,28 @@
<view class="login">
<view class="custom-scroll-view login">
<nav-bar>
<label class="title">登录</label>
</nav-bar>
<image src="/assets/imgs/login/text1.png" class="text1"/>
<image src="/assets/imgs/login/text2.png" class="text2"/>
<image src="/assets/imgs/login/main.png" class="main"/>
<button class="button" type="primary" wx:if="{{isAgree}}" loading="{{loging}}" disabled="{{loging}}"
open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">手机号快捷登录</button>
<button class="button" type="primary" bindtap="preLogin" wx:else>
手机号快捷登录
</button>
<view class="agree">
<radio-group bindchange="radioChange">
<label class="policy" animation="{{animation}}">
<radio class="radio" value="agree"></radio>
<label>我已阅读并同意</label>
<label class="yellow" capture-catch:tap="navToAgreement">《用户协议》</label>与
<label class="yellow" capture-catch:tap="navToDeliveryContract">《配送服务协议》</label>
</label>
</radio-group>
<view class="main">
<view class="main-scroll">
<image src="/assets/imgs/login/text1.png" class="text1"/>
<image src="/assets/imgs/login/text2.png" class="text2"/>
<image src="/assets/imgs/login/main.png" class="main-img" mode="widthFix"/>
<button class="button" type="primary" wx:if="{{isAgree}}" loading="{{loging}}" disabled="{{loging}}"
open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">手机号快捷登录</button>
<button class="button" type="primary" bindtap="preLogin" wx:else>
手机号快捷登录
</button>
<view class="agree">
<radio-group bindchange="radioChange">
<label class="policy" animation="{{animation}}">
<radio class="radio" value="agree"></radio>
<label>我已阅读并同意</label>
<label class="yellow" capture-catch:tap="navToAgreement">《用户协议》</label>与
<label class="yellow" capture-catch:tap="navToDeliveryContract">《配送服务协议》</label>
</label>
</radio-group>
</view>
</view>
</view>
<view class="btn-no-login" bind:tap="goBack">暂不登录</view>
<view class="user-code">{{userCode}}</view>

View File

@ -4,7 +4,7 @@
height:100vh;
}
.text1{
margin-top:120rpx;
/* margin-top:90rpx; */
width:590rpx;
height:56rpx;
}
@ -13,10 +13,9 @@
height:40rpx;
margin-top:40rpx;
}
.main{
width:418rpx;
height:448rpx;
margin-top:122rpx;
.main-img{
width:60vw;
margin:70rpx 0;
}
.agree .yellow{
color:#FEC400;
@ -31,7 +30,7 @@
margin-right:10rpx;
}
.button{
margin:30rpx 64rpx 60rpx 64rpx!important;
margin:0 64rpx 60rpx 64rpx!important;
}
.button[disabled]{
background-color:#e4e4e4!important;
@ -49,9 +48,20 @@
.btn-no-login{
position: absolute;
bottom:60rpx;
bottom:calc(var(--safe-bottom) + 20rpx);
left:0;
width:100%;
text-align: center;
color: #999999;
}
.custom-scroll-view .main{
display:flex;
align-items: center;
padding-bottom:calc(var(--safe-bottom) + 20rpx + 34rpx);
overflow: hidden;
}
.custom-scroll-view .main-scroll{
flex:1;
max-height: 100%;
overflow: auto;
}

View File

@ -41,7 +41,8 @@
<view class="item {{tabIndex==0?'':'used'}}" wx:for="{{tab2List}}" wx:key="id">
<view class="left">
<view class="name">{{item.coupon_name}}</view>
<view class="desc">有效期至 {{item.expire_time}}</view>
<view class="desc" wx:if="{{item.status=='USED'}}">使用时间 {{item.used_time}}</view>
<view class="desc" wx:else>有效期至 {{item.expire_time}}</view>
</view>
<view class="btn-area">
<button class="use-btn" disabled type="primary" size="mini"

View File

@ -20,7 +20,7 @@
</view>
<view class="item" bind:tap="goToMoney">
<view class="value">{{userInfo.points||0}}</view>
<view class="key">蜂蜜(克)</view>
<view class="key">积分</view>
</view>
</view>

View File

@ -2,5 +2,5 @@
"usingComponents": {
"list-view":"/components/listView"
},
"navigationBarTitleText": "蜂蜜"
"navigationBarTitleText": "积分"
}

View File

@ -1,6 +1,6 @@
<view class="custom-scroll-view">
<view class="consume">
<view class="title">蜂蜜 (克)</view>
<view class="title">积分</view>
<view class="point">{{userInfo.points}}</view>
<view class="tips">取快递自动抵扣</view>
</view>
@ -19,7 +19,7 @@
<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 class="sub-title">暂无积分</view>
</view>
</list-view>
</view>

View File

@ -26,7 +26,7 @@
<button disabled="{{getting}}" loading="{{getting}}" type="primary"
class="button get" bind:tap="getActivity">一键领取</button>
</view>
<image src="/assets/imgs/login/main.png" class="bottom-img"/>
<image src="/assets/imgs/login/main.png" class="bottom-img" mode="widthFix"/>
<modal-view titleText="{{errorMsg}}"
okButtonText="{{hasProduct&&reveivedSuccess?'去兑换':'回到首页'}}"

View File

@ -62,8 +62,7 @@ page{
.bottom-img{
position: fixed;
bottom:0;
width:500rpx;
height:540rpx;
left:calc(50vw - 250rpx);
width:70vw;
left:15vw;
z-index: 0;
}

View File

@ -2,7 +2,9 @@
<view class="fixed">
<view class="top-bg">
<nav-bar back black/>
<image src="/assets/imgs/login/main.png" class="image"/>
<view class="img-wrapper">
<image src="/assets/imgs/login/main.png" class="image" mode="widthFix"/>
</view>
<view class="hive"></view>
</view>
<view class="community-info">

View File

@ -11,9 +11,12 @@ page{
text-align: center;
position: relative;
}
.top-bg .image{
width:448rpx;
.top-bg .img-wrapper{
height:480rpx;
overflow: hidden;
}
.top-bg .image{
width:500rpx;
position: relative;
z-index: 1;
}

View File

@ -45,10 +45,10 @@
期望送达<label class="time">{{orderDetail.delivery_time}}</label>
</view>
</view>
<block wx:if="{{orderDetail.pickup_images&&orderDetail.pickup_images.length>0}}">
<block wx:if="{{false&&orderDetail.pickup_images&&orderDetail.pickup_images.length>0}}">
<view class="spliter"></view>
<view class="package">
<view class="p-title">图片取件 共 {{orderDetail.pickup_images_count}} 件包裹</view>
<view class="p-title">原始图片信息</view>
<view class="img-list">
<image class="item" src="{{item}}" wx:for="{{orderDetail.pickup_images}}"
wx:key="index" bind:tap="viewPackageImg" data-item="{{item}}"/>
@ -58,7 +58,11 @@
<block wx:for="{{orderDetail.packages}}" wx:key="index">
<view class="spliter"></view>
<view class="package">
<view class="p-title">{{item.station_name}} 共{{item.pickup_codes.length}}件包裹</view>
<view class="p-title">
<view>{{item.station_name}} 共{{item.pickup_codes.length}}件包裹</view>
<image wx:if="{{!item.station_id}}" src="/assets/icon/help/images.png" class="img-icon"
bind:tap="viewPackageImg" data-item="{{orderDetail.pickup_images}}"/>
</view>
<view class="code-list">
<view class="item" wx:for="{{item.pickup_codes}}"
wx:for-item="package" wx:for-index="pIndex" wx:key="pIndex">{{package}}</view>
@ -120,7 +124,7 @@
</view>
</view>
<view class="kv" wx:if="{{orderDetail.point_discount_amount>0}}">
<view class="key">蜂蜜抵扣</view>
<view class="key">积分抵扣</view>
<view class="value">
<label class="money minus money-normal">
{{orderDetail.point_discount_amount}}
@ -145,7 +149,6 @@
<view class="key">支付金额</view>
<view class="value">
<label class="money">{{orderDetail.final_amount}}</label>
<view class="tag">先享后付</view>
</view>
</view>
</view>
@ -153,10 +156,10 @@
</scroll-view>
<view class="bottom-bar-v2">
<view class="btns">
<button class="button button1" plain size="mini" bind:tap="showCancelModal"
wx:if="{{orderDetail.status==orderStatus.created}}" loading="{{cancelling}}"
disabled="{{cancelling}}">取消订单</button>
<button class="pay" type="primary" wx:if="{{orderDetail.status==orderStatus.unpaid}}"
<button class="button button1" plain size="mini" bind:tap="showCancelModal"
wx:if="{{orderDetail.status==orderStatus.created||orderDetail.status==orderStatus.unpaid}}"
loading="{{cancelling}}" disabled="{{cancelling}}">取消订单</button>
<button class="button pay" type="primary" wx:if="{{orderDetail.status==orderStatus.unpaid}}"
bind:tap="pay">去支付</button>
<block wx:else>
<button class="button button1" plain size="mini" bind:tap="orderAgain"
@ -169,6 +172,6 @@
</view>
<merchant-order id="merchantOrderComponent" bind:paySuccess="paySuccess" wx:if="{{orderDetail.status==orderStatus.unpaid}}"/>
<merchant-order id="merchantOrderComponent" bind:paySuccess="paySuccess"/>
<modal-view titleText="你确定取消此订单吗?" model:show="{{isShowCancelView}}"
bind:ok="cancelOrder" wx:if="{{orderDetail.status==orderStatus.created}}"></modal-view>
bind:ok="cancelOrder" wx:if="{{isShowCancelView}}"></modal-view>

View File

@ -54,7 +54,7 @@
font-weight: 500;
}
.page-container .spliter{
margin:24rpx 0 40rpx 0;
margin:24rpx 0 30rpx 0;
}
.sender .info{
display: flex;
@ -103,6 +103,14 @@
.package-info .package .p-title{
font-size: 30rpx;
color: #888888;
display: flex;
justify-content:space-between;
align-items: center;
line-height: 50rpx;
}
.package-info .package .img-icon{
padding:10rpx;
width:40rpx;height:40rpx;
}
.package-info .package .code-list{
font-size: 34rpx;
@ -110,7 +118,7 @@
flex-wrap: wrap;
row-gap: 30rpx;
column-gap: 84rpx;
margin-top: 30rpx;
margin-top: 20rpx;
font-weight: bold;
}
.package-info .package .img-list{
@ -180,7 +188,7 @@
justify-content:flex-end;
}
.bottom-bar-v2 .pay{
flex:1
/* flex:1 */
}
.bottom-bar-v2 .button{
line-height: 72rpx;

View File

@ -80,7 +80,7 @@
<view class="value kv-amount">-{{item.amount}}</view>
</view>
<view class="kv">
<view class="key">赠送蜂蜜</view>
<view class="key">赠送积分</view>
<view class="value kv-point">+{{item.gift_points}}</view>
</view>
<view class="kv">

View File

@ -37,16 +37,18 @@ Page({
})
},
acceptRequest(){
userApi.order.markup.accept(this.data.applyDetail.id).then((data)=>{
wx.navigateBack({
success(){
wx.showToast({
title: '加价成功',
})
}
});
this.updatePrePage();
})
const merchantPay = this.selectComponent('#merchantPay');
merchantPay.createPayment(this.data.applyDetail.fee_order_id,true);
},
paySuccess(){
wx.navigateBack({
success(){
wx.showToast({
title: '加价已同意',
})
}
});
this.updatePrePage();
},
cancel(){

View File

@ -1,5 +1,6 @@
{
"usingComponents": {
"modal-view":"/components/modalView"
"modal-view":"/components/modalView",
"merchant-order":"/components/merchantOrder"
}
}

View File

@ -2,7 +2,7 @@
<scroll-view class="main" bindrefresherrefresh="getDetail" refresher-enabled
refresher-triggered="{{refresherTriggered}}" scroll-y>
<view class="scroll-view-top-margin"></view>
<view class="page-container right-arrow order-info">
<view class="page-container order-info">
<view>
<label>订单编号</label>
<label class="value">{{applyDetail.orderid}}</label>
@ -54,4 +54,6 @@
<modal-view titleText="你确定同意此次加价吗?" wx:if="{{isShowAcceptView}}"
model:show="{{isShowAcceptView}}" bind:ok="acceptRequest"></modal-view>
model:show="{{isShowAcceptView}}" bind:ok="acceptRequest"></modal-view>
<merchant-order id="merchantPay" bind:paySuccess="paySuccess"/>

View File

@ -5,7 +5,7 @@
bindinput="inputAmount" model:value="{{amount}}"/>
</view>
<view class="bottom">
<label class="key">蜂蜜 (克)</label>
<label class="key">积分</label>
<label class="value">{{checkedAmount.gift_points||0}}</label>
</view>
</view>

View File

@ -80,7 +80,7 @@
<view class="bottom-bar float">
<view class="money">{{detail.sale_price}}</view>
<view class="tips">赠蜂蜜{{detail.gift_points}}克</view>
<view class="tips">赠积分{{detail.gift_points}}</view>
<button type="primary" class="button" bind:tap="buy" loading="{{buying}}">立即下单</button>
</view>

View File

@ -26,7 +26,7 @@
</view>
<view class="desc-line">
<view class="tag">小时达</view>
<view class="desc">已售100丨赠蜂蜜丨自配送</view>
<view class="desc">已售100丨赠积分丨自配送</view>
<view class="promotion">新人专享</view>
</view>
</navigator>

View File

@ -1,6 +1,6 @@
<view class="success">
<icon class="icon" type="success" size="120rpx" color="#FFC300"/>
<view class="text">下单成功</view>
<view class="tips">交易完成后,赠送蜂蜜赠哟~</view>
<view class="tips">交易完成后,赠送积分赠哟~</view>
<button class="button" plain bind:tap="back">前往查看订单</button>
</view>