purchase-let/unpackage/dist/dev/mp-weixin/pages/cart/cart.js

280 lines
9.4 KiB
JavaScript

"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const api_cart = require("../../api/cart.js");
const store_cart = require("../../store/cart.js");
require("../../utils/request.js");
require("../../config/app.js");
require("../../store/user.js");
if (!Array) {
const _easycom_up_navbar2 = common_vendor.resolveComponent("up-navbar");
const _easycom_u__icon2 = common_vendor.resolveComponent("u--icon");
const _easycom_up_empty2 = common_vendor.resolveComponent("up-empty");
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
const _easycom_up_transition2 = common_vendor.resolveComponent("up-transition");
(_easycom_up_navbar2 + _easycom_u__icon2 + _easycom_up_empty2 + _easycom_up_button2 + _easycom_up_transition2)();
}
const _easycom_up_navbar = () => "../../uni_modules/uview-plus/components/u-navbar/u-navbar.js";
const _easycom_u__icon = () => "../../uni_modules/uview-plus/components/u-icon/u-icon.js";
const _easycom_up_empty = () => "../../uni_modules/uview-plus/components/u-empty/u-empty.js";
const _easycom_up_button = () => "../../uni_modules/uview-plus/components/u-button/u-button.js";
const _easycom_up_transition = () => "../../uni_modules/uview-plus/components/u-transition/u-transition.js";
if (!Math) {
(_easycom_up_navbar + _easycom_u__icon + _easycom_up_empty + _easycom_up_button + _easycom_up_transition + goodPopup)();
}
const goodPopup = () => "../../components/goodPopup.js";
const _sfc_main = {
__name: "cart",
setup(__props) {
const cartStore = store_cart.useCartStore();
const list = common_vendor.ref(["购物车", "常买"]);
const tabsActive = common_vendor.ref(0);
const changeTab = (e) => {
tabsActive.value = e;
swiperCurrent.value = e;
};
const swiperCurrent = common_vendor.ref(0);
const animationfinish = ({ detail: { current } }) => {
swiperCurrent.value = current;
tabsActive.value = current;
};
const settleAccounts = () => {
let list2 = [];
cartList.value.forEach((item) => {
if (item.check)
list2.push(item.cart_id);
});
cartStore.setCartList(list2);
common_vendor.index.navigateTo({
url: "/pagesOrder/settle/settle"
});
};
const deleteCartList = () => {
let list2 = [];
cartList.value.forEach((item) => {
if (item.check)
list2.push(item.cart_id);
});
api_cart.cartDeleteApi({
cart_id: list2
}).then(() => {
getcartList(false);
});
};
const addCart = (id, cart_num) => {
api_cart.cartCreateApi({
cart_num: +cart_num,
goods_id: id
}).then((res) => {
getcartList();
});
};
const isAdmin = common_vendor.ref(false);
const showGoodPopup = common_vendor.ref(false);
const goodRef = common_vendor.ref(null);
const goodData = common_vendor.ref({});
const openGoodPopup = (item) => {
goodData.value = JSON.parse(JSON.stringify(item));
goodRef.value.setData(goodData.value);
showGoodPopup.value = true;
};
const changeGood = (data) => {
showGoodPopup.value = false;
addCart(data.goods_id || data.id, data.cart_num);
};
const cartList = common_vendor.ref([]);
const cartInfo = common_vendor.ref({});
const getcartList = (check = true) => {
api_cart.cartListApi().then((res) => {
var _a, _b, _c;
if (check) {
res.data.lists = res.data.lists.map((item) => {
item.check = true;
return item;
});
checkAll.value = ((_a = res.data) == null ? void 0 : _a.count) || 0;
} else {
checkAll.value = 0;
}
cartList.value = res.data.lists;
cartInfo.value = {
total_price: ((_b = res.data) == null ? void 0 : _b.extend.total_price) || "0.00",
count: ((_c = res.data) == null ? void 0 : _c.count) || 0
};
});
};
const c_price0 = common_vendor.computed(() => {
let price = cartInfo.value.total_price + "";
return price.split(".")[0] || "0";
});
const c_price1 = common_vendor.computed(() => {
let price = cartInfo.value.total_price + "";
return price.split(".")[1] || "00";
});
let checkAll = common_vendor.ref(0);
const checkItem = (item, type) => {
item.check = type;
let price = Number(cartInfo.value.total_price);
if (type) {
price += item.sell * item.cart_num;
checkAll.value++;
} else {
price -= item.sell * item.cart_num;
checkAll.value--;
}
cartInfo.value.total_price = price.toFixed(2);
};
const changeAll = (flag = false) => {
cartList.value.forEach((item) => {
item.check = !flag;
});
if (!flag)
checkAll.value = cartInfo.value.count;
else
checkAll.value = 0;
};
const frequentlyList = common_vendor.ref([]);
const where = common_vendor.ref({
page_no: 1,
page_size: 25
});
const getFrequentlyPurchase = () => {
api_cart.frequentlyPurchaseApi({
...where.value
}).then((res) => {
frequentlyList.value = res.data;
});
};
getFrequentlyPurchase();
common_vendor.onShow(() => {
getcartList();
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.f(list.value, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: tabsActive.value == index ? 1 : "",
c: index,
d: common_vendor.o(($event) => changeTab(index), index)
};
}),
b: common_vendor.p({
placeholder: true,
autoBack: true
}),
c: common_vendor.t(cartList.value.length),
d: !isAdmin.value
}, !isAdmin.value ? {
e: common_vendor.o(($event) => {
isAdmin.value = true;
})
} : {
f: common_vendor.o(($event) => {
isAdmin.value = false;
})
}, {
g: cartList.value.length > 0
}, cartList.value.length > 0 ? {
h: common_vendor.f(cartList.value, (item, index, i0) => {
return common_vendor.e({
a: !item.check
}, !item.check ? {
b: common_assets._imports_1
} : {
c: common_assets._imports_0
}, {
d: common_vendor.o(($event) => checkItem(item, !item.check), index),
e: item.imgs,
f: common_vendor.t(item.goods_name),
g: common_vendor.t(item.unit_name),
h: common_vendor.t(item.sell),
i: common_vendor.t(item.cart_num),
j: "da603134-1-" + i0,
k: index,
l: common_vendor.o(($event) => openGoodPopup(item), index)
});
}),
i: common_vendor.p({
name: "plus-circle-fill",
size: "20",
color: "#20b128"
})
} : {
j: common_vendor.p({
text: "购物车空空如也",
icon: "https://lihai001.oss-cn-chengdu.aliyuncs.com/def/29955202404260944367594.png"
})
}, {
k: common_vendor.f(frequentlyList.value, (item, index, i0) => {
return {
a: item.imgs,
b: common_vendor.t(item.name),
c: common_vendor.t(item.unit_name),
d: common_vendor.t(item.sell),
e: "da603134-3-" + i0,
f: index,
g: common_vendor.o(($event) => openGoodPopup(item), index)
};
}),
l: common_vendor.p({
size: "small",
plain: true,
color: "#20b128",
shape: "circle"
})
}, {
n: swiperCurrent.value,
o: common_vendor.o(animationfinish),
p: common_vendor.unref(checkAll) != cartInfo.value.count
}, common_vendor.unref(checkAll) != cartInfo.value.count ? {
q: common_assets._imports_1
} : {
r: common_assets._imports_0
}, {
s: common_vendor.unref(checkAll)
}, common_vendor.unref(checkAll) ? {
t: common_vendor.t(common_vendor.unref(checkAll))
} : {}, {
v: common_vendor.o(($event) => changeAll(common_vendor.unref(checkAll) === cartInfo.value.count)),
w: !isAdmin.value
}, !isAdmin.value ? common_vendor.e({
x: common_vendor.t(c_price0.value),
y: common_vendor.t(c_price1.value),
z: common_vendor.unref(checkAll)
}, common_vendor.unref(checkAll) ? {
A: common_vendor.t(common_vendor.unref(checkAll))
} : {}, {
B: common_vendor.o(settleAccounts),
C: common_vendor.p({
color: "#20b128",
shape: "circle",
disabled: !common_vendor.unref(checkAll)
})
}) : {
D: common_vendor.o(($event) => deleteCartList()),
E: common_vendor.p({
size: "small",
plain: true,
color: "#989898",
shape: "circle"
})
}, {
F: common_vendor.p({
show: tabsActive.value == 0
}),
G: common_vendor.sr(goodRef, "da603134-8", {
"k": "goodRef"
}),
H: common_vendor.o(($event) => showGoodPopup.value = false),
I: common_vendor.o(changeGood),
J: common_vendor.p({
show: showGoodPopup.value
})
});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/里海数字乡村/purchase-let/pages/cart/cart.vue"]]);
wx.createPage(MiniProgramPage);