You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
2.4 KiB

const district = require('../../utils/address_data.js')
const product = require('../../utils/product.js')
Page({
data: {
deleteModalHidden: true,
wantToDeleteItem: '',
address: null,
cartItems: [],
amount: 0
},
onLoad: function (params) {
},
onShow: function (params) {
var cartItems = wx.getStorageSync("cartItems")
this.setData({cartItems: cartItems})
var detailAddress = wx.getStorageSync('detailAddress')
var receiverName = wx.getStorageSync('receiverName')
var receiverMobile = wx.getStorageSync('receiverMobile')
var address = {detail: detailAddress, name: receiverName, mobile: receiverMobile}
var districtIndex = wx.getStorageSync('currentDistrict') || [0,0,0]
address.province = district.provinces()[districtIndex[0]]
address.city = district.cities(address.province)[districtIndex[1]]
address.county = district.counties(address.province, address.city)[districtIndex[2]]
this.setData({address: address})
},
bindChangeQuantity: function (e) {
var cartItems = this.data.cartItems
var item = cartItems.find(function(ele){
return ele.id === e.currentTarget.dataset.id
})
item.quantity = e.detail.value
this.setData({ cartItems: cartItems })
wx.setStorage({
key: 'cartItems',
data: cartItems
})
},
// tap on item to delete cart item
catchTapOnItem: function (e) {
this.setData({
deleteModalHidden: false,
wantToDeleteItem: e.currentTarget.dataset.id
})
},
deleteModalChange: function (e) {
var that = this
if (e.type === "confirm") {
var cartItems = that.data.cartItems
var index = cartItems.findIndex(function(ele){
return ele.id === that.data.wantToDeleteItem
})
cartItems.splice(index, 1)
this.setData({ cartItems: cartItems })
wx.setStorage({
key: 'cartItems',
data: cartItems
})
}
this.setData({
deleteModalHidden: true
})
},
bindBilling: function () {
var cartItems = wx.getStorageSync('cartItems')
if (cartItems) {
var cartArray = cartItems.map(function(obj){
var rObj = {};
rObj['id'] = obj.id;
rObj['quantity'] = obj.quantity;
return rObj;
});
8 years ago
product.postBilling({
items: cartArray,
address: this.data.address
}, function(result){
8 years ago
})
}
},
bindTapAddress () {
wx.navigateTo({
url: '../address/address'
})
}
})