仿互站小程序
This commit is contained in:
223
pages/member/cart.js
Normal file
223
pages/member/cart.js
Normal file
@@ -0,0 +1,223 @@
|
||||
function t(t, a, e) {
|
||||
return a in t ? Object.defineProperty(t, a, {
|
||||
value: e,
|
||||
enumerable: !0,
|
||||
configurable: !0,
|
||||
writable: !0
|
||||
}) : t[a] = e, t;
|
||||
}
|
||||
|
||||
var a = require("../../common/common.js");
|
||||
|
||||
Page({
|
||||
data: {
|
||||
loading: !1,
|
||||
Form: {},
|
||||
ListSh: {},
|
||||
getdata: "",
|
||||
listdata: {},
|
||||
popup: [],
|
||||
title: "",
|
||||
tabCurrent: 0,
|
||||
MyJifen: 0,
|
||||
CartMoney: 0,
|
||||
CartCount: 0,
|
||||
CartTotal: 0,
|
||||
CartPost: {},
|
||||
Allchecked: !0,
|
||||
spin: !0,
|
||||
timestamp: 0,
|
||||
previewList: []
|
||||
},
|
||||
onReachBottom: function() {
|
||||
var t = this, e = this.data.listdata;
|
||||
!t.data.loading && e.CurPage < e.TotalPage && (t.setData({
|
||||
"getdata.page": 1 * t.data.getdata.page + 1,
|
||||
spin: !0,
|
||||
timestamp: a.timestamp()
|
||||
}), a.GetList(function(a) {
|
||||
t.create_cartList("init");
|
||||
}));
|
||||
},
|
||||
create_cartList: function(t) {
|
||||
var e = this, o = e.data.listdata.list, i = [], n = [], s = [], d = [], r = 0, c = 0, g = 0, l = {};
|
||||
for (var h in o) {
|
||||
var u = o[h];
|
||||
for (var f in u.goods) {
|
||||
var m = u.goods[f];
|
||||
m.gchecked && (i[r] = m.bh, n[r] = m.yjifen, s[r] = m.type, d[r] = m.achecked ? 1 : 0,
|
||||
c += Number(m.money), m.achecked && (c += Number(m.amoney)), m.yjifen > 0 && (c -= Number((.1 * m.yjifen).toFixed(2))),
|
||||
"init" != t && m["m_" + m.bh] && (l["m_" + m.bh] = m["m_" + m.bh], l["z_" + m.bh] = m["z_" + m.bh]),
|
||||
r++), m.gdisabled || g++;
|
||||
}
|
||||
}
|
||||
var y = {
|
||||
id: i.join("|"),
|
||||
jf: n.join("|"),
|
||||
ty: s.join("|"),
|
||||
az: d.join("|")
|
||||
};
|
||||
"init" == t ? e.setData({
|
||||
CartMoney: c,
|
||||
CartCount: r,
|
||||
CartTotal: g,
|
||||
CartPost: y,
|
||||
spin: !1
|
||||
}) : (e.setData({
|
||||
postIng: !0
|
||||
}), a.HttpMember({
|
||||
url: "post/cart",
|
||||
data: Object.assign(y, l)
|
||||
}, function(t) {
|
||||
e.setData({
|
||||
postIng: !1
|
||||
}), "url" == t.action && a.Lay(t);
|
||||
}));
|
||||
},
|
||||
AllChange: function(a) {
|
||||
if (a.detail && (a.detail.checked || this.data.CartTotal == this.data.CartCount && this.data.CartCount > 0)) {
|
||||
var e = this, o = a.detail.checked, i = e.data.listdata.list;
|
||||
for (var n in i) for (var s in i[n].goods) o !== i[n].goods[s].gchecked && e.goodChange({
|
||||
detail: {
|
||||
name: "good_" + n + "_" + i[n].goods[s].bh,
|
||||
checked: o
|
||||
}
|
||||
});
|
||||
e.setData(t({
|
||||
ListSh: {},
|
||||
Allchecked: o
|
||||
}, "listdata.list", i));
|
||||
}
|
||||
},
|
||||
ListSh: function(a) {
|
||||
var e = this, o = a.currentTarget.id, i = "ListSh." + o, n = wx.createAnimation({
|
||||
duration: 200,
|
||||
timingFunction: "ease",
|
||||
delay: 0
|
||||
});
|
||||
e.data.ListSh[o] ? (n.translateX("100%").step(), setTimeout(function() {
|
||||
e.setData(t({}, i, !1));
|
||||
}, 201)) : (e.setData(t({}, i, !0)), n.translateX("0").step()), this.setData(t({}, i, n.export()));
|
||||
},
|
||||
action: function(e) {
|
||||
var o = this, i = o.data.listdata.list, n = e.currentTarget.dataset, s = n.action, d = n.id, r = n.gid, c = i[d].goods, g = c[r], l = i[d].sell, h = c.length <= 1;
|
||||
a.PostMember("post/" + s, {
|
||||
action: s,
|
||||
bh: g.bh,
|
||||
tab: g.type
|
||||
}, function(a) {
|
||||
if (1 != a.state) return !1;
|
||||
var e = wx.createAnimation({
|
||||
duration: 300,
|
||||
timingFunction: "ease",
|
||||
delay: 0
|
||||
});
|
||||
e.translateX("120%").step(), o.setData(t({}, "delAnimation." + (h ? l : g.bh), e.export())),
|
||||
setTimeout(function() {
|
||||
h ? i.splice(d, 1) : i[d].goods.splice(r, 1);
|
||||
var a = t({
|
||||
delAnimation: {}
|
||||
}, "listdata.list", i);
|
||||
h && (a.ListSh = {}), o.setData(a), o.create_cartList("init");
|
||||
}, 301);
|
||||
});
|
||||
},
|
||||
goodChange: function(a) {
|
||||
if (a.detail) {
|
||||
var e = this, o = a.detail.checked, i = a.detail.name.split("_"), n = i[0], s = i[1], d = i[2], r = e.data.listdata.list[s], c = {
|
||||
no: 0,
|
||||
ok: 0
|
||||
}, g = "listdata.list[" + s + "]";
|
||||
if ("install" == n || "jifen" == n) for (var l in r.goods) r.goods[l].bh != d || r.goods[l].gdisabled || (o && !r.goods[l].gchecked && e.goodChange({
|
||||
detail: {
|
||||
name: "good_" + s + "_" + d,
|
||||
checked: o
|
||||
}
|
||||
}), "install" == n ? (r.goods[l].achecked = o, e.setData({
|
||||
CartMoney: e.data.CartMoney + Number(o ? r.goods[l].amoney : -1 * r.goods[l].amoney)
|
||||
})) : (r.goods[l].jchecked = o, o ? (r.goods[l].yjifen = e.data.MyJifen <= r.goods[l].kjifen ? e.data.MyJifen : r.goods[l].kjifen,
|
||||
e.setData({
|
||||
MyJifen: e.data.MyJifen - r.goods[l].yjifen,
|
||||
CartMoney: e.data.CartMoney - Number((.1 * r.goods[l].yjifen).toFixed(2))
|
||||
})) : (e.setData({
|
||||
MyJifen: e.data.MyJifen + r.goods[l].yjifen,
|
||||
CartMoney: e.data.CartMoney + Number((.1 * r.goods[l].yjifen).toFixed(2))
|
||||
}), r.goods[l].yjifen = 0))); else if ("good" == n) {
|
||||
for (var l in r.goods) if (!r.goods[l].gdisabled) {
|
||||
if (r.goods[l].bh == d) {
|
||||
var h = r.goods[l].achecked, u = r.goods[l].jchecked;
|
||||
r.goods[l].gchecked = o, o ? (e.setData({
|
||||
CartCount: e.data.CartCount + 1,
|
||||
CartMoney: e.data.CartMoney + Number(r.goods[l].money)
|
||||
}), r.goods[l].achecked || (r.goods[l].achecked = r.goods[l].amoney <= 0)) : (e.setData({
|
||||
CartCount: e.data.CartCount - 1,
|
||||
CartMoney: e.data.CartMoney - Number(r.goods[l].money)
|
||||
}), r.goods[l].achecked = !1, r.goods[l].jchecked = !1), r.goods[l].achecked !== h && e.goodChange({
|
||||
detail: {
|
||||
name: "install_" + s + "_" + d,
|
||||
checked: r.goods[l].achecked
|
||||
}
|
||||
}), r.goods[l].jchecked !== u && e.goodChange({
|
||||
detail: {
|
||||
name: "jifen_" + s + "_" + d,
|
||||
checked: r.goods[l].jchecked
|
||||
}
|
||||
});
|
||||
}
|
||||
r.goods[l].gchecked ? c.ok++ : c.no++;
|
||||
}
|
||||
e.data.CartTotal > e.data.CartCount && e.data.Allchecked && e.setData({
|
||||
Allchecked: !1
|
||||
}), e.data.CartTotal != e.data.CartCount || e.data.Allchecked || e.setData({
|
||||
Allchecked: !0
|
||||
}), 0 != c.ok && 0 != c.no || (r.schecked = 0 === c.no);
|
||||
} else if ("shop" == n) {
|
||||
for (var l in r.goods) r.goods[l].gdisabled || r.goods[l].gchecked === o || (e.goodChange({
|
||||
detail: {
|
||||
name: "good_" + s + "_" + r.goods[l].bh,
|
||||
checked: o
|
||||
}
|
||||
}), r.goods[l].gchecked = o);
|
||||
r.schecked !== o && (r.schecked = o);
|
||||
}
|
||||
e.setData(t({}, g, r));
|
||||
}
|
||||
},
|
||||
initialize: function() {
|
||||
var t = this;
|
||||
t.setData({
|
||||
spin: !0,
|
||||
postIng: !1
|
||||
}), a.HttpMember("get/member/cart?islogin=0", function(e) {
|
||||
a.initializeRefresh(e), t.setData({
|
||||
"getdata.page": 1,
|
||||
MyJifen: e.Myjifen,
|
||||
timestamp: a.timestamp()
|
||||
}), wx.stopPullDownRefresh(), a.GetList(function(a) {
|
||||
t.create_cartList("init");
|
||||
});
|
||||
});
|
||||
},
|
||||
Lay: function(t) {
|
||||
a.Lay(JSON.parse(JSON.stringify(t)));
|
||||
},
|
||||
Commom: function(t) {
|
||||
var e = JSON.parse(JSON.stringify((t.currentTarget, t))), o = t.currentTarget ? e.currentTarget.dataset.action : e.action;
|
||||
a[o](e);
|
||||
},
|
||||
Popup: function(t) {
|
||||
a.Popup(t.currentTarget.dataset);
|
||||
},
|
||||
onLoad: function() {
|
||||
a.init(this);
|
||||
},
|
||||
onShow: function() {
|
||||
a.init(this);
|
||||
var t = a.timestamp();
|
||||
(!wx.getStorageSync("sessionid") || t - this.data.timestamp >= 30) && this.initialize();
|
||||
},
|
||||
onPullDownRefresh: function() {
|
||||
this.initialize();
|
||||
},
|
||||
onShareAppMessage: function() {}
|
||||
});
|
Reference in New Issue
Block a user