摘要:订单详情页通过页面逻辑.js文件获取订单列表传过来的订单id,将当前订单id传入post接口来请求该订单的详细信息,最后通过数据绑定将订单详细信息动态绑定到订单详情页面结构.wxml文件。只有未支付的订单才显示取消订单按钮和立即支付按钮。取消订单成功后调用API接口wx.navigateBack关闭当前页面,返回上一页面或多级页面。立即支付按钮调用原生微信支付接口实现。.js文件// p
订单详情页通过页面逻辑.js文件获取订单列表传过来的订单id,将当前订单id传入post接口来请求该订单的详细信息,最后通过数据绑定将订单详细信息动态绑定到订单详情页面结构.wxml文件。只有未支付的订单才显示取消订单按钮和立即支付按钮。取消订单成功后调用API接口wx.navigateBack关闭当前页面,返回上一页面或多级页面。立即支付按钮调用原生微信支付接口实现。
.js文件
// pages/my/order_details.js
const app = getApp();
var com = require("../../utils/util.js");
Page({
/**
* 页面的初始数据
*/
data: {
orders : {},
list : {},
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (e) {
com.post('Api/Home/order_details', { id: e.id }, "setContent", this);
},
setContent : function(e){
this.setData({
orders: e.orders,
list: e.product
});
},
/**
* 取消订单,只有未支付的订单才可以取消订单
*/
cancelOrder : function(e){
com.post('Api/Home/cancel_order', { id: e.currentTarget.dataset.id }, "cancelAfter", this);
},
cancelAfter : function(e){
wx.navigateBack({
delta: 2
})
},
/**
* 支付按钮,只有未支付的订单才调用原生微信支付
*/
goPay : function(e){
wx.requestPayment({
'timeStamp': '',
'nonceStr': '',
'package': 'prepay_id=1',
'signType': 'MD5',
'paySign': '',
'success': function (res) {
},
'fail': function (res) {
}
})
}
}).wxml文件
<!--pages/my/order_details.wxml-->
<view class="fui-page order-create-page fui-page-current" style='height:100%;'>
<view class='fui-content navbar'>
<view class="order_detail_header">
<view class="order_detail_ststus">
<view>订单号: {{orders.order_no}}</view>
<view wx:if="{{orders.status == 0}}">等待付款</view>
<view wx:if="{{orders.status == 1}}">已付款 待发送</view>
<view wx:if="{{orders.status == 2}}">已完成</view>
<view>订单金额:¥ {{orders.money}}</view>
</view>
</view>
<!-- 地址 -->
<view class="fui-list-group">
<view class="fui-list">
<view class="fui-list-inner">
<view class="title">
收货人:
<span class="realname">{{orders.name}}</span>
<span class="mobile">{{orders.phone}}</span>
</view>
<view class="title">
<span class="address">{{orders.address}}</span>
</view>
</view>
</view>
</view>
<!-- 地址end -->
<!-- 商品 -->
<view class='fui-shop'>
<view class='fui-shop-list' wx:for="{{list}}" wx:key="">
<view class="fui-shop-list-media">
<image class="img" src="{{item.shop.imgs}}"></image>
</view>
<view class="shops" style='folat:left'>
<view class="subtitle">{{item.shop.title}}</view>
</view>
<view class="fui-list-angle">
<span style="font-size: 0.65rem;color: #000">¥<span class="marketprice">{{item.count}}</span></span>
<view style='color: #999;'>x{{item.price}}</view>
</view>
</view>
</view>
<!-- 商品end -->
<!-- 买家留言 -->
<view class="fui-cell-group">
<view class="fui-cell fui-cell-textarea">
<view class="fui-cell-label">
买家留言
</view>
<view class="fui-cell-info">
<textarea class='textarea' rows="2" disabled="true">{{orders.desc}}</textarea>
</view>
</view>
</view>
<!-- 买家留言end -->
<!-- 按钮 -->
<view class="fui-navbar" wx:if="{{orders.status == 0}}">
<button class="nav-item btn buybtn" style='background:#666;' bindtap="cancelOrder" data-id='{{orders.id}}'>取消订单</button>
<button class="nav-item btn btn-danger buybtn" bindtap="goPay" data-id='{{orders.id}}'>立即支付</button>
</view>
<!-- 按钮end -->
</view>
</view>
批改老师:天蓬老师批改时间:2018-12-31 16:32:15
老师总结:小程序中的这些操作, 考察的就是前端的基本功,别看是微信自定义一些样式,其实还是基于原生css的