微信小程序> 从实战学习微信小程序-电商我的订单前端(三)

从实战学习微信小程序-电商我的订单前端(三)

浏览量:3177 时间: 来源:快乐树上快乐果

电商系统的我的订单功能难点就在如何切换tab,其他的技术点就是平常操作。

源码链接下载:https://download.csdn.net/download/qq_39404258/11141525 (积分是csdn默认设置的,我也没办法)

先上效果图:

       

如图所示选中会有红色实现标注,并切换到相应页签,下面订单有两种显示方式,单件商品右侧显示商品描述,多件商品只显示商品图片。

在app.json中先配置该页面,不必多说。   "pages/my/order/order" 多了一级目录

js

Page({  /**   * 页面的初始数据   */  data: {    currentTab: '0',    indicatorDots: true,    indicatorColor: "#000000",    indicatorActiveColor: "#e91e56",    autoplay: true,    interval: 3000,    duration: 500,    circular: true,    items: [      {        id: 0,        title: '红裙子',        money: '¥200',        imgUrl: '../../img/shop1.jpg',        sale: '¥199',        evaluation: '23',        sell: '33',        abstract: '红裙子,物美价廉!',        spec: 'L',              },               ],  },  /**   * 生命周期函数--监听页面加载   */  onLoad: function (options) {  },  /**   * 生命周期函数--监听页面初次渲染完成   */  onReady: function () {  },  /**   * 生命周期函数--监听页面显示   */  onShow: function () {  },  /**   * 生命周期函数--监听页面隐藏   */  onHide: function () {  },  /**   * 生命周期函数--监听页面卸载   */  onUnload: function () {  },  /**   * 页面相关事件处理函数--监听用户下拉动作   */  onPullDownRefresh: function () {    console.log('3333')  },  /**   * 页面上拉触底事件的处理函数   */  onReachBottom: function () {      },  /**   * 用户点击右上角分享   */  onShareAppMessage: function () {  },      // tab切换  clickTab: function (e) {    var that = this;    console.log("-1", this.data.currentTab)    console.log("-2", e.currentTarget.dataset.current)    if (this.data.currentTab == e.currentTarget.dataset.current) {      return false;    } else {      that.setData({        currentTab: e.currentTarget.dataset.current,      })    }  },  comment:function(e) {    wx.navigateTo({      url: 'comment/comment',    })  },  orderdetail: function (e) {    wx.navigateTo({      url: 'orderdetail/orderdetail',    })  },})

2.json省略(同前文)

3.wxml

<!--pages/news/news.wxml--><view style='background:#FFF;'>  <view class="topbar"><view class="topbar top">    <view class="topbar top text" bindtap="clickTab"  data-current="0">      <view class="topbar top text tab "  >待付款</view>      <view class="topbar top text status {{currentTab=='0'?'active':''}}"           style="{{currentTab=='0'?'background-color:#F1393A':'background-color:#FFF'}}"></view></view>    <view class="topbar top text" bindtap="clickTab" data-current="1">      <view class="topbar top text tab "  >待发货</view>      <view class="topbar top text status {{currentTab=='1'?'active':''}}"            style="{{currentTab=='1'?'background-color:#F1393A':'background-color:#FFF'}}"></view>    </view>      <view class="topbar top text" bindtap="clickTab" data-current="2">      <view class="topbar top text tab "  >待收货</view>      <view class="topbar top text status {{currentTab=='2'?'active':''}}"            style="{{currentTab=='2'?'background-color:#F1393A':'background-color:#FFF'}}"></view>    </view>      <view class="topbar top text" bindtap="clickTab" data-current="3">      <view class="topbar top text tab "  >交易完成</view>      <view class="topbar top text status {{currentTab=='3'?'active':''}}"            style="{{currentTab=='3'?'background-color:#F1393A':'background-color:#FFF'}}"></view>    </view>      </view></view>  <view class='content'>    <view class="{{currentTab == 0 ? 'show':'hidden'}}" style='padding: 0 20rpx;'>      <scroll-view>        <view class='lists'> <!--bindtap绑定事件--> <view class='list-order' bindtap='orderdetail'>    <view class='order'>      <view class='ordernum'>订单号:12345674342354</view>      <view class='status'>待付款</view>    </view>    <view class='list'  wx:key="" wx:for="{{items}}" wx:for-index="index" wx:for-item="item" data-obj='{{item}}'>      <image class='list-left' src='{{item.imgUrl}}'></image>      <view class='list-right'>         <view class='right-text'>{{item.title}}</view>         <view class='spec'>{{item.spec}}</view>      </view>    </view>    <view class='order'>      <image class='del' src='../../img/del.png'></image>      <view class='pay'>共1件商品 实付款: <label style='color:#e91e56'>¥853</label></view>    </view>    <view class='downline'></view>  </view>   <view class='list-order'>    <view class='order'>      <view class='ordernum'>订单号:12345674342354</view>      <view class='status'>待付款</view>    </view>    <view class='list' wx:key="" wx:for="{{items}}" wx:for-index="index" wx:for-item="item" data-obj='{{item}}'>      <image class='list-left' src='{{item.imgUrl}}'></image>       <image class='list-left' src='{{item.imgUrl}}'></image>        <image class='list-left' src='{{item.imgUrl}}'></image>    </view>    <view class='order'>      <image class='del' src='../../img/del.png'></image>      <view class='pay'>共1件商品 实付款: <label style='color:#e91e56'>¥853</label></view>    </view>      </view></view>       </scroll-view>    </view>    <view class="{{currentTab == 1 ? 'show':'hidden'}}" style='padding: 0 20rpx;'>      <scroll-view>        <view class='lists'> <!--bindtap绑定事件-->  <view class='list' bindtap='toDetail' wx:key="" wx:for="{{items}}" wx:for-index="index" wx:for-item="item" data-obj='{{item}}'>      <image class='list-left' src='{{item.imgUrl}}'></image>    <view class='list-right'>      <view class='right-text'>{{item.title}}</view>     <view>      <view class='spec'>{{item.spec}}</view>            <view class='column'>     <view class='sale'>{{item.sale}}</view>      <view class='total'>{{item.evaluation}}人评价</view>                         </view>     </view>         </view>  </view>  </view>                              </scroll-view>    </view>    <view class="{{currentTab == 2 ? 'show':'hidden'}}" style='padding: 0 20rpx;'>      <scroll-view>        <view class='lists'> <!--bindtap绑定事件-->  <view class='list' bindtap='toDetail' wx:key="" wx:for="{{items}}" wx:for-index="index" wx:for-item="item" data-obj='{{item}}'>       <image class='list-left' src='{{item.imgUrl}}'></image>    <view class='list-right'>      <view class='right-text'>{{item.title}}</view>     <view>      <view class='spec'>{{item.spec}}</view>            <view class='column'>     <view class='sale'>{{item.sale}}</view>      <view class='total'>{{item.evaluation}}人评价</view>                         </view>     </view>         </view>  </view></view>                              </scroll-view>    </view>    <view class="{{currentTab == 3 ? 'show':'hidden'}}" style='padding: 0 20rpx;'>      <scroll-view>        <view class='lists'> <!--bindtap绑定事件--> <view class='list-order'>    <view class='order'>      <view class='ordernum'>订单号:12345674342354</view>      <view class='status'>交易完成</view>    </view>    <view class='list' bindtap='toDetail' wx:key="" wx:for="{{items}}" wx:for-index="index" wx:for-item="item" data-obj='{{item}}'>      <image class='list-left' src='{{item.imgUrl}}'></image>      <view class='list-right'>         <view class='right-text'>{{item.title}}</view>         <view class='column1'>          <view class='spec'>{{item.spec}}</view>          <view class='status' bindtap='comment'>立即评论</view>         </view>              </view>    </view>    <view class='order'>      <image class='del' src='../../img/del.png'></image>      <view class='pay'>共1件商品 实付款: <label style='color:#e91e56'>¥853</label></view>    </view>    <view class='downline'></view>  </view>   <view class='list-order'>    <view class='order'>      <view class='ordernum'>订单号:12345674342354</view>      <view class='status'>交易完成</view>    </view>    <view class='list' bindtap='toDetail' wx:key="" wx:for="{{items}}" wx:for-index="index" wx:for-item="item" data-obj='{{item}}'>      <image class='list-left' src='{{item.imgUrl}}'></image>       <image class='list-left' src='{{item.imgUrl}}'></image>        <image class='list-left' src='{{item.imgUrl}}'></image>    </view>    <view class='order'>      <image class='del' src='../../img/del.png'></image>      <view class='pay'>共1件商品 实付款: <label style='color:#e91e56'>¥853</label></view>    </view>      </view></view>       </scroll-view>    </view>      </view></view>

4.wxss

/* pages/news/news.wxss */.swiper-tab {  width: 100%;  text-align: center;  height: 100rpx;  line-height: 100rpx;  display: flex;  flex-flow: row;  justify-content: space-between;  color: #ccc;  font-size: 18px;  }.swiper-tab-item {  width: 50%;  color: #434343;  background: #ccc;}.active {  background-color:#F1393A;}.content {  margin-top: 70rpx;}.show {  display: block;}.hidden {  display: none;}.bottom{  padding-top:30rpx;  display: flex;  justify-content: space-between; }/* pages/home/home.wxss */.lists{  padding: 10rpx 0rpx;  box-sizing: border-box;}.list{   padding: 30rpx 10rpx;   background: #FFF;   box-sizing: border-box;   display: flex;   flex-direction: row;   margin-top: 20rpx;}.list-order{  width:100%;   padding: 30rpx 10rpx;   background: #FFF;   box-sizing: border-box;   display: flex;   flex-direction: column;}.column{  margin-top: 30rpx;   background: #FFF;   display: flex;   flex-direction: row;   justify-content: space-between;}.column1{   background: #FFF;   display: flex;   flex-direction: row;   justify-content: space-between;}.radio-group{margin-top: 7%;transform:scale(0.7);}.radio-total{transform:scale(0.7);}.list-left{  width:15%;  height:60px}.list-right{  width:85%;  height:100%;  padding-left:36rpx;  display: flex;  flex-direction: column;}.right-text{  display: -webkit-box;  -webkit-box-orient: vertical;  -webkit-line-clamp: 1;  overflow: hidden;}.order{height: 30rpx;display: flex;justify-content: space-between;}.del{width: 30rpx;height: 30rpx;}.status{  color:#e91e56;  font-weight:bold;  font-size:10px;}.pay{  font-size:10px;}.ordernum{  font-size: 10px;  color:#808080;}.sale{  color:#e91e56;  font-weight:bold;  font-size:16px;  width: 80px;}.spec{  padding-top: 20rpx;  font-size: 10px;  color:#808080;}.total{  display: flex;  align-items: center;  font-size: 10px;  color:#808080;  width: 80px;}.item image{  margin-left: 15rpx;  margin-right: 15rpx;  width: 50rpx;  height: 50rpx;}/*细线*/.downline{  margin-top: 3px;  position: relative;  height: 1rpx;  width: 90%;  margin-left: 5%;  background-color: #ddd;  z-index: 10;}/* 顶部三大功能按钮,固定样式,显示于顶部而不被覆盖  */.topbar{width: 100%;height: 91rpx;position: fixed;z-index: 1;top: 0;}.topbar .top {  width: 100%;  height: 90rpx;  background-color: #FFF;  display: flex;  flex-direction: row;  justify-content: space-around;  align-items: center;  margin-bottom: 20rpx;  position: static;  }.topbar .top .text {  margin: 0;  padding: 0;  width: 250rpx;  height: 90rpx;  display: flex;  flex-direction: column;  justify-content: space-between;}.topbar .top .text .tab {  width: auto;  flex-basis: 90%;  text-align: center;  font-size: 35rpx;  color: grey;  padding-top: 20rpx;}.topbar .top .text .status {  width: 130rpx;  height: 10%;}.topbar .top .text .status .active {  background-color:#F1393A;}

实现页签切换就是控制下面内容的显示与隐藏,也就是这句class="{{currentTab == 0 ? 'show':'hidden'}}"

 源码链接下载:https://download.csdn.net/download/qq_39404258/11141525 (积分是csdn默认设置的,我也没办法)

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎