首页 > 小程序教程 > 微信小程序待付款收货订单列表页样式设计制作开发教程

微信小程序待付款收货订单列表页样式设计制作开发教程

上一篇 下一篇
本文给大家带来的是微信小程序待付款收货订单列表页样式设计制作开发教程,制作好以后效果图如下:
一、wxml页面代码如下:
<view class="container">
    <view class="status-box">
        <view bindtap="statusTap" class="status-label {{index == currentType ? 'active' : ''}}" wx:for-items="{{statusType}}" wx:key="{{index}}" data-index="{{index}}">
            {{item}}
            <view class="{{tabClass[index]}}"></view>
        </view>
    </view>
    <view class="no-order" hidden="{{orderList ? true : false}}">
        <image src="/images/no-order.png" class="no-order-img"></image>
        <view class="text">暂无订单</view>
    </view>
    <view class="order-list" hidden="{{orderList ? false : true}}">
        <view class="a-order" wx:for-items="{{orderList}}" wx:key="{{index}}">
            <view class="order-date">
                <view class="date-box">下单时间:{{item.dateAdd}}</view>
                <view class="status {{(item.status==-1 || item.status==4) ? '':'red'}}">{{item.statusStr}}</view>
            </view>
            <view class="goods-info" bindtap="orderDetail" data-id="{{item.id}}">
                <view class="goods-des">
                   <view>订单号:{{item.orderNumber}} </view>
                   <view wx:if="{{item.remark && item.remark != ''}}">备注: {{item.remark}}</view>
                </view>
            </view>
            <view >
                <scroll-view class="goods-img-container" scroll-x="true">
                    <view class="img-box" wx:for-items="{{goodsMap[item.id]}}" wx:key="{{index}}">
                        <image src="{{item.pic}}" class="goods-img"></image>
                    </view>
                </scroll-view>
            </view>
            <view class="price-box">
                <view class="total-price">合计:¥ {{item.amountReal}}</view>
                <view class="btn cancel-btn" hidden="{{item.status==0? fslse : true}}" bindtap="cancelOrderTap"  data-id="{{item.id}}">取消订单</view>
                <view class="btn topay-btn" hidden="{{item.status==0? fslse : true}}" bindtap="toPayTap" data-id="{{item.id}}" data-money="{{item.amountReal}}">马上付款</view>        
            </view>  
        </view>

    </view>
</view>
 
二、wxss样式文件代码如下:
.container{
    width: 100%;
    background-color: #F2f2f2;
}
.status-box{
    width:100%;
    height: 88rpx;
    line-height: 88rpx;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
}
.status-box .status-label{
    width: 150rpx;
    height: 100%;
    text-align: center;
    font-size:28rpx;
    color:#353535;
    box-sizing: border-box;
    position: relative;
}
.status-box .status-label.active{
    color:#e64340;
    border-bottom: 6rpx solid #e64340;
}
.status-box .status-label .red-dot{
    width: 16rpx;
    height: 16rpx;
    position: absolute;
    left: 116rpx;
    top:23rpx;
    background-color: #f43530;
    border-radius: 50%;
}
.no-order{
    width: 100%;
    position: absolute;
    bottom: 0;
    top: 88rpx;
    left: 0;
    right: 0;
    text-align: center;
    padding-top: 203rpx;
    background-color: #F2f2f2;
}
.no-order-img{
    width: 81rpx;
    height: 96rpx;
    margin-bottom: 31rpx;
}
.no-order .text{
    font-size:28rpx;
    color:#999999;
    text-align: center
}
.order-list{
    width: 100%;
}
.order-list .a-order{
    width: 100%;
    background-color: #fff;
    margin-top: 20rpx;
}
.order-list .a-order .order-date{
    padding: 0 30rpx;
    height: 88rpx;
    display: flex;
    justify-content: space-between;
    font-size:26rpx;
    color:#000000;
    align-items: center;
}
.order-list .a-order .order-date .red{
    font-size:26rpx;
    color:#e64340;
}
.a-order  .goods-info,
.goods-img-container{
    width: 720rpx;
    margin-left: 30rpx;
    border-top: 1rpx solid #eee;
    border-bottom: 1rpx solid #eee;
    padding: 30rpx 0;
    display: flex;
    align-items: center;
}
.goods-info .img-box{
    width: 120rpx;
    height: 120rpx;
    overflow: hidden;
    margin-right: 30rpx;
    background-color: #f7f7f7;
}
.goods-info .img-box .goods-img,
.goods-img-container .img-box .goods-img{
    width: 120rpx;
    height: 120rpx;
}
.goods-info  .goods-des{
    width: 540rpx;
    height: 78rpx;
    line-height: 39rpx;
    font-size:26rpx;
    color:#000000;
    overflow: hidden;
}
.goods-img-container{
    height: 180rpx;
    box-sizing: border-box;
    white-space: nowrap;
}
.goods-img-container .img-box{
    width: 120rpx;
    height: 120rpx;
    overflow: hidden;
    margin-right: 20rpx;
    background-color: #f7f7f7;
    display: inline-block;
}
.order-list .a-order .price-box{
    position: relative;
    width: 720rpx;
    height: 100rpx;
    margin-left: 30rpx;
    box-sizing: border-box;
    padding: 20rpx 30rpx 20rpx 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size:26rpx;
}
.order-list .a-order .price-box .total-price{
    font-size:26rpx;
    color:#e64340;
}
.a-order .price-box .btn{
    width: 166rpx;
    height: 60rpx;
    box-sizing: border-box;
    text-align: center;
    line-height: 60rpx;
    border-radius: 6rpx;
    margin-left: 20rpx;
}
.a-order .price-box .cancel-btn{
    border: 1rpx solid #ccc;
    position: absolute;
    right: 216rpx;
    top:20rpx;
}
.a-order .price-box .topay-btn{
    border:1px solid #e64340;
    color: #e64340;
}
三、js页面代码如下:
var wxpay = require('../../utils/pay.js')
var app = getApp()
Page({
  data:{
    statusType: ["待付款", "待发货", "待收货", "待评价", "已完成"],
    currentType:0,
    tabClass: ["", "", "", "", ""]
  },
  statusTap:function(e){
     var curType =  e.currentTarget.dataset.index;
     this.data.currentType = curType
     this.setData({
       currentType:curType
     });
     this.onShow();
  },
  orderDetail : function (e) {
    var orderId = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: "/pages/order-details/index?id=" + orderId
    })
  },
  cancelOrderTap:function(e){
    var that = this;
    var orderId = e.currentTarget.dataset.id;
     wx.showModal({
      title: '确定要取消该订单吗?',
      content: '',
      success: function(res) {
        if (res.confirm) {
          wx.showLoading();
          wx.request({
            url: 'https://api.it120.cc/' + app.globalData.subDomain + '/order/close',
            data: {
              token: app.globalData.token,
              orderId: orderId
            },
            success: (res) => {
              wx.hideLoading();
              if (res.data.code == 0) {
                that.onShow();
              }
            }
          })
        }
      }
    })
  },
  toPayTap:function(e){
    var that = this;
    var orderId = e.currentTarget.dataset.id;
    var money = e.currentTarget.dataset.money;
    wx.request({
      url: 'https://api.it120.cc/' + app.globalData.subDomain + '/user/amount',
      data: {
        token: app.globalData.token
      },
      success: function (res) {
        if (res.data.code == 0) {
          // res.data.data.balance
          money = money - res.data.data.balance;
          if (money <= 0) {
            // 直接使用余额支付
            wx.request({
              url: 'https://api.it120.cc/' + app.globalData.subDomain + '/order/pay',
              method:'POST',
              header: {
                'content-type': 'application/x-www-form-urlencoded'
              },
              data: {
                token: app.globalData.token,
                orderId: orderId
              },
              success: function (res2) {
                wx.reLaunch({
                  url: "/pages/order-list/index"
                });
              }
            })
          } else {
            wxpay.wxpay(app, money, orderId, "/pages/order-list/index");
          }
        } else {
          wx.showModal({
            title: '错误',
            content: '无法获取用户资金信息',
            showCancel: false
          })
        }
      }
    })    
  },
  onLoad:function(options){
    // 生命周期函数--监听页面加载
   
  },
  onReady:function(){
    // 生命周期函数--监听页面初次渲染完成
 
  },
  getOrderStatistics : function () {
    var that = this;
    wx.request({
      url: 'https://api.it120.cc/' + app.globalData.subDomain + '/order/statistics',
      data: { token: app.globalData.token },
      success: (res) => {
        wx.hideLoading();
        if (res.data.code == 0) {
          var tabClass = that.data.tabClass;
          if (res.data.data.count_id_no_pay > 0) {
            tabClass[0] = "red-dot"
          } else {
            tabClass[0] = ""
          }
          if (res.data.data.count_id_no_transfer > 0) {
            tabClass[1] = "red-dot"
          } else {
            tabClass[1] = ""
          }
          if (res.data.data.count_id_no_confirm > 0) {
            tabClass[2] = "red-dot"
          } else {
            tabClass[2] = ""
          }
          if (res.data.data.count_id_no_reputation > 0) {
            tabClass[3] = "red-dot"
          } else {
            tabClass[3] = ""
          }
          if (res.data.data.count_id_success > 0) {
            //tabClass[4] = "red-dot"
          } else {
            //tabClass[4] = ""
          }

          that.setData({
            tabClass: tabClass,
          });
        }
      }
    })
  },
  onShow:function(){
    // 获取订单列表
    wx.showLoading();
    var that = this;
    var postData = {
      token: app.globalData.token
    };
    postData.status = that.data.currentType;
    this.getOrderStatistics();
    wx.request({
      url: 'https://api.it120.cc/' + app.globalData.subDomain + '/order/list',
      data: postData,
      success: (res) => {
        wx.hideLoading();
        if (res.data.code == 0) {
          that.setData({
            orderList: res.data.data.orderList,
            logisticsMap : res.data.data.logisticsMap,
            goodsMap : res.data.data.goodsMap
          });
        } else {
          this.setData({
            orderList: null,
            logisticsMap: {},
            goodsMap: {}
          });
        }
      }
    })
    
  },
  onHide:function(){
    // 生命周期函数--监听页面隐藏
 
  },
  onUnload:function(){
    // 生命周期函数--监听页面卸载
 
  },
  onPullDownRefresh: function() {
    // 页面相关事件处理函数--监听用户下拉动作
   
  },
  onReachBottom: function() {
    // 页面上拉触底事件的处理函数
  
  }
})

模板简介:该模板名称为【微信小程序待付款收货订单列表页样式设计制作开发教程】,大小是,文档格式为.,推荐使用打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【小程序教程】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 40,295次
  • 使用软件
  • 文件格式
  • 文件大小
  • 上传时间 07-05
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信图片 微信文章 微信模板 微信素材 自适应 html5 企业网站 单页式简历模板 微信公众平台 响应式
您可能会喜欢的其他模板