acdr-ui/dist/dev/mp-weixin/modules/mall/order/confirm.js

324 lines
14 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const common_vendor = require("../../../common/vendor.js");
const sheep_index = require("../../../sheep/index.js");
const sheep_api_trade_order = require("../../../sheep/api/trade/order.js");
const sheep_api_promotion_coupon = require("../../../sheep/api/promotion/coupon.js");
const sheep_hooks_useGoods = require("../../../sheep/hooks/useGoods.js");
if (!Array) {
const _easycom_s_goods_item2 = common_vendor.resolveComponent("s-goods-item");
const _easycom_uni_easyinput2 = common_vendor.resolveComponent("uni-easyinput");
const _easycom_s_coupon_select2 = common_vendor.resolveComponent("s-coupon-select");
const _easycom_s_discount_list2 = common_vendor.resolveComponent("s-discount-list");
const _easycom_su_fixed2 = common_vendor.resolveComponent("su-fixed");
const _easycom_s_layout2 = common_vendor.resolveComponent("s-layout");
const _component_layout_default_uni = common_vendor.resolveComponent("layout-default-uni");
(_easycom_s_goods_item2 + _easycom_uni_easyinput2 + _easycom_s_coupon_select2 + _easycom_s_discount_list2 + _easycom_su_fixed2 + _easycom_s_layout2 + _component_layout_default_uni)();
}
const _easycom_s_goods_item = () => "../../../sheep/components/s-goods-item/s-goods-item.js";
const _easycom_uni_easyinput = () => "../../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js";
const _easycom_s_coupon_select = () => "../../../sheep/components/s-coupon-select/s-coupon-select.js";
const _easycom_s_discount_list = () => "../../../sheep/components/s-discount-list/s-discount-list.js";
const _easycom_su_fixed = () => "../../../sheep/ui/su-fixed/su-fixed.js";
const _easycom_s_layout = () => "../../../sheep/components/s-layout/s-layout.js";
if (!Math) {
(AddressSelection + _easycom_s_goods_item + _easycom_uni_easyinput + _easycom_s_coupon_select + _easycom_s_discount_list + _easycom_su_fixed + _easycom_s_layout)();
}
const AddressSelection = () => "./addressSelection.js";
const _sfc_main = {
__name: "confirm",
setup(__props) {
const state = common_vendor.reactive({
orderPayload: {},
orderInfo: {
items: [],
// 商品项列表
price: {}
// 价格信息
},
showCoupon: false,
// 是否展示优惠劵
couponInfo: [],
// 优惠劵列表
showDiscount: false,
// 是否展示营销活动
// ========== 积分 ==========
pointStatus: false
// 是否使用积分
});
const addressState = common_vendor.ref({
addressInfo: {},
// 选择的收货地址
deliveryType: 1,
// 收货方式1-快递配送2-门店自提
isPickUp: true,
// 门店自提是否开启 TODO puhui999: 默认开启,看看后端有开关的话接入
pickUpInfo: {},
// 选择的自提门店信息
receiverName: "",
// 收件人名称
receiverMobile: ""
// 收件人手机
});
const changeIntegral = () => __async(this, null, function* () {
state.pointStatus = !state.pointStatus;
yield getOrderInfo();
});
function onSelectCoupon(couponId) {
return __async(this, null, function* () {
state.orderPayload.couponId = couponId;
yield getOrderInfo();
state.showCoupon = false;
});
}
function onConfirm() {
if (addressState.value.deliveryType === 1 && !addressState.value.addressInfo.id) {
sheep_index.sheep.$helper.toast("请选择收货地址");
return;
}
if (addressState.value.deliveryType === 2) {
if (!addressState.value.pickUpInfo.id) {
sheep_index.sheep.$helper.toast("请选择自提门店地址");
return;
}
if (addressState.value.receiverName === "" || addressState.value.receiverMobile === "") {
sheep_index.sheep.$helper.toast("请填写联系人或联系人电话");
return;
}
if (!/^[\u4e00-\u9fa5\w]{2,16}$/.test(addressState.value.receiverName)) {
sheep_index.sheep.$helper.toast("请填写您的真实姓名");
return;
}
if (!/^1(3|4|5|7|8|9|6)\d{9}$/.test(addressState.value.receiverMobile)) {
sheep_index.sheep.$helper.toast("请填写正确的手机号");
return;
}
}
submitOrder();
}
function submitOrder() {
return __async(this, null, function* () {
const { code, data } = yield sheep_api_trade_order.OrderApi.createOrder({
items: state.orderPayload.items,
couponId: state.orderPayload.couponId,
remark: state.orderPayload.remark,
deliveryType: addressState.value.deliveryType,
addressId: addressState.value.addressInfo.id,
// 收件地址编号
pickUpStoreId: addressState.value.pickUpInfo.id,
// 自提门店编号
receiverName: addressState.value.receiverName,
// 选择门店自提时,该字段为联系人名
receiverMobile: addressState.value.receiverMobile,
// 选择门店自提时,该字段为联系人手机
pointStatus: state.pointStatus,
combinationActivityId: state.orderPayload.combinationActivityId,
combinationHeadId: state.orderPayload.combinationHeadId,
seckillActivityId: state.orderPayload.seckillActivityId
});
if (code !== 0) {
return;
}
if (state.orderPayload.items[0].cartId > 0) {
sheep_index.sheep.$store("cart").getList();
}
sheep_index.sheep.$router.redirect("/modules/mall/pay/index", {
id: data.payOrderId
});
});
}
function getOrderInfo() {
return __async(this, null, function* () {
const { data, code } = yield sheep_api_trade_order.OrderApi.settlementOrder({
items: state.orderPayload.items,
couponId: state.orderPayload.couponId,
deliveryType: addressState.value.deliveryType,
addressId: addressState.value.addressInfo.id,
// 收件地址编号
pickUpStoreId: addressState.value.pickUpInfo.id,
// 自提门店编号
receiverName: addressState.value.receiverName,
// 选择门店自提时,该字段为联系人名
receiverMobile: addressState.value.receiverMobile,
// 选择门店自提时,该字段为联系人手机
pointStatus: state.pointStatus,
combinationActivityId: state.orderPayload.combinationActivityId,
combinationHeadId: state.orderPayload.combinationHeadId,
seckillActivityId: state.orderPayload.seckillActivityId
});
if (code !== 0) {
return;
}
state.orderInfo = data;
if (state.orderInfo.address) {
addressState.value.addressInfo = state.orderInfo.address;
}
});
}
function getCoupons() {
return __async(this, null, function* () {
const { code, data } = yield sheep_api_promotion_coupon.CouponApi.getMatchCouponList(
state.orderInfo.price.payPrice,
state.orderInfo.items.map((item) => item.spuId),
state.orderPayload.items.map((item) => item.skuId),
state.orderPayload.items.map((item) => item.categoryId)
);
if (code === 0) {
state.couponInfo = data;
}
});
}
common_vendor.onLoad((options) => __async(this, null, function* () {
if (!options.data) {
sheep_index.sheep.$helper.toast("参数不正确,请检查!");
return;
}
state.orderPayload = JSON.parse(options.data);
yield getOrderInfo();
yield getCoupons();
}));
common_vendor.watch(addressState, (newAddress, oldAddress) => __async(this, null, function* () {
if (newAddress.addressInfo.id !== oldAddress.addressInfo.id || newAddress.deliveryType !== oldAddress.deliveryType) {
yield getOrderInfo();
}
}));
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.o(($event) => addressState.value = $event),
b: common_vendor.p({
modelValue: addressState.value
}),
c: common_vendor.f(state.orderInfo.items, (item, k0, i0) => {
return {
a: item.skuId,
b: "f69e72ea-3-" + i0 + ",f69e72ea-1",
c: common_vendor.p({
img: item.picUrl,
title: item.spuName,
skuText: item.properties.map((property) => property.valueName).join(" "),
price: item.price,
num: item.count,
marginBottom: "10"
})
};
}),
d: common_vendor.o(($event) => state.orderPayload.remark = $event),
e: common_vendor.p({
maxlength: "20",
placeholder: "建议留言前先与商家沟通",
inputBorder: false,
clearable: false,
modelValue: state.orderPayload.remark
}),
f: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.totalPrice)),
g: state.orderInfo.type === 0
}, state.orderInfo.type === 0 ? {
h: common_vendor.t(state.pointStatus ? "剩余积分" : "当前积分"),
i: common_vendor.unref(sheep_index.sheep).$url.static("/static/img/shop/goods/score1.svg"),
j: common_vendor.t(state.pointStatus ? state.orderInfo.totalPoint - state.orderInfo.usePoint : state.orderInfo.totalPoint || 0),
k: state.pointStatus,
l: !state.orderInfo.totalPoint || state.orderInfo.totalPoint <= 0,
m: common_vendor.o(changeIntegral)
} : {}, {
n: addressState.value.deliveryType === 1
}, addressState.value.deliveryType === 1 ? common_vendor.e({
o: state.orderInfo.price.deliveryPrice > 0
}, state.orderInfo.price.deliveryPrice > 0 ? {
p: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.deliveryPrice))
} : {}) : {}, {
q: addressState.value.deliveryType === 2
}, addressState.value.deliveryType === 2 ? {
r: common_vendor.o(($event) => addressState.value.receiverName = $event),
s: common_vendor.p({
maxlength: "20",
placeholder: "请填写您的联系姓名",
inputBorder: false,
clearable: false,
modelValue: addressState.value.receiverName
})
} : {}, {
t: addressState.value.deliveryType === 2
}, addressState.value.deliveryType === 2 ? {
v: common_vendor.o(($event) => addressState.value.receiverMobile = $event),
w: common_vendor.p({
maxlength: "20",
placeholder: "请填写您的联系电话",
inputBorder: false,
clearable: false,
modelValue: addressState.value.receiverMobile
})
} : {}, {
x: state.orderInfo.type === 0
}, state.orderInfo.type === 0 ? common_vendor.e({
y: state.orderPayload.couponId > 0
}, state.orderPayload.couponId > 0 ? {
z: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.couponPrice))
} : {
A: common_vendor.t(state.couponInfo.length > 0 ? state.couponInfo.length + " 张可用" : "暂无可用优惠券"),
B: common_vendor.n(state.couponInfo.length > 0 ? "text-red" : "text-disabled")
}, {
C: common_vendor.o(($event) => state.showCoupon = true)
}) : {}, {
D: state.orderInfo.price.discountPrice > 0
}, state.orderInfo.price.discountPrice > 0 ? {
E: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.discountPrice))
} : {}, {
F: state.orderInfo.price.vipPrice > 0
}, state.orderInfo.price.vipPrice > 0 ? {
G: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.vipPrice))
} : {}, {
H: common_vendor.t(state.orderInfo.items.reduce((acc, item) => acc + item.count, 0)),
I: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.payPrice)),
J: common_vendor.o(onSelectCoupon),
K: common_vendor.o(($event) => state.showCoupon = false),
L: common_vendor.o(($event) => state.couponInfo = $event),
M: common_vendor.p({
show: state.showCoupon,
modelValue: state.couponInfo
}),
N: common_vendor.o(($event) => state.showDiscount = false),
O: common_vendor.o(($event) => state.orderInfo = $event),
P: common_vendor.p({
show: state.showDiscount,
modelValue: state.orderInfo
}),
Q: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.payPrice)),
R: common_vendor.o(onConfirm),
S: common_vendor.p({
bottom: true,
opacity: false,
bg: "bg-white",
placeholder: true,
noFixed: false,
index: 200
}),
T: common_vendor.p({
title: "确认订单"
})
});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-f69e72ea"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=confirm.js.map