微商城订单详情开发

Original 2018-12-14 16:41:35 237
abstract:// pages/goods/details.jsconst app = getApp();var com = require("../../utils/util.js");Page({  /**   * 页面的初始数据   */  data: {    goodList : {},  &

// pages/goods/details.js

const app = getApp();

var com = require("../../utils/util.js");

Page({

  /**

   * 页面的初始数据

   */

  data: {

    goodList : {},

    goods : false,

    checkAll : false,

    totalCount: '0',

    totalPrice: '0.00'

  },

  /**

   * 生命周期函数--监听页面加载

   */

  onLoad: function (e) {


  },

  /**

   * 显示页面,执行一次

   */

  onShow: function () {

    if (app.globalData.userInfo) {

      com.post('Api/Home/car_list', { uid: app.globalData.userInfo.uid}, "setContent", this);

    } else {

      wx.switchTab({

        url: '../my/index'

      })

    }

  },

  setContent : function(e){

    var car_list = e.list;

    if (!car_list){

      return {};

    }

    for (var j = 0; j < car_list.length; ++j) {

      car_list[j].checked = false;

    }

    this.setData({

      goodList: car_list,

      goods : true

    });

  },

  /**

   * 用户选择购物车商品

   */

  checkboxChange: function (e) {

    var checkboxItems = this.data.goodList;

    var values = e.detail.value;

    for (var i = 0; i < checkboxItems.length; ++i) {

      checkboxItems[i].checked = false;

      for (var j = 0; j < values.length; ++j) {

        if (checkboxItems[i].id == values[j]) {

          checkboxItems[i].checked = true;

          break;

        }

      }

    }

    var checkAll = false;

    if (checkboxItems.length == values.length) {

      checkAll = true;

    }

    this.setData({

      'goodList': checkboxItems,

      'checkAll': checkAll

    });

    this.calculateTotal();

  },

  /**

 * 计算商品总数

 */

  calculateTotal: function () {

    var goodList = this.data.goodList;

    var totalCount = 0;

    var totalPrice = 0;

    for (var i = 0; i < goodList.length; i++) {

      var good = goodList[i];

      if (good.checked) {

        totalCount += good.count;

        totalPrice += good.count * good.shop.price;

      }

    }

    totalPrice = totalPrice.toFixed(2);

    this.setData({

      'totalCount': totalCount,

      'totalPrice': totalPrice

    })

  },

  /**

  * 用户点击商品减1

  */

  subtracttap: function (e) {

    var index = e.target.dataset.index;

    var goodList = this.data.goodList;

    var count = goodList[index].count;

    if (count <= 1) {

      return;

    } else {

      goodList[index].count--;

      this.setData({

        'goodList': goodList

      });

      this.calculateTotal();

    }

    com.post('Api/Home/car_count', { id: goodList[index].id, count: goodList[index].count }, "setCount", this);

  },

  /**

   * 用户点击商品加1

   */

  addtap: function (e) {

    var index = e.target.dataset.index;

    var goodList = this.data.goodList;

    var count = goodList[index].count;

    goodList[index].count++;

    this.setData({

      'goodList': goodList

    });

    this.calculateTotal();

    com.post('Api/Home/car_count', { id : goodList[index].id,count: goodList[index].count }, "setCount", this);

  },  

  /**

   * 用户点击全选

   */

  selectalltap: function (e) {

    var value = e.detail.value;

    var checkAll = false;

    if (value && value[0]) {

      checkAll = true;

    }

    var goodList = this.data.goodList;

    for (var i = 0; i < goodList.length; i++) {

      goodList[i]['checked'] = checkAll;

    }

    this.setData({

      'checkAll': checkAll,

      'goodList': goodList

    });

    this.calculateTotal();

  },

  /**

   * 更新商品数量

   */

  setCount: function () {


  },

  /**

   * 下单页面

   */

  goOrder: function () {

    var shop_id = '';

    var goodList = this.data.goodList;

    for (var i = 0; i < goodList.length; i++) {

      if (goodList[i].checked == true){

        shop_id = shop_id + ',' + goodList[i].id;

      }

    }

    if (!shop_id){

      return {};

    }

    wx.navigateTo({

      url: "order?id=" + shop_id,

    })

  },

  /**

   * 跳转到商品分类

   */

  goShop : function(){

    wx.switchTab({

      url: '../goods/index'

    })

  }

})


Correcting teacher:韦小宝Correction time:2018-12-14 17:11:48
Teacher's summary:写的很不错哦!开发小程序要记得没事的时候多看看开发文档哦!

Release Notes

Popular Entries