2024-09-19 07:20:14 +08:00
|
|
|
|
"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");
|
2024-10-01 09:15:35 +08:00
|
|
|
|
const modules_mall_sheep_index = require("../sheep/index.js");
|
|
|
|
|
const modules_mall_sheep_api_trade_order = require("../sheep/api/trade/order.js");
|
|
|
|
|
const modules_mall_sheep_api_promotion_coupon = require("../sheep/api/promotion/coupon.js");
|
|
|
|
|
const modules_mall_sheep_hooks_useGoods = require("../sheep/hooks/useGoods.js");
|
2024-09-19 07:20:14 +08:00
|
|
|
|
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)();
|
|
|
|
|
}
|
2024-10-01 09:15:35 +08:00
|
|
|
|
const _easycom_s_goods_item = () => "../sheep/components/s-goods-item/s-goods-item.js";
|
2024-09-19 07:20:14 +08:00
|
|
|
|
const _easycom_uni_easyinput = () => "../../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js";
|
2024-10-01 09:15:35 +08:00
|
|
|
|
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";
|
2024-09-19 07:20:14 +08:00
|
|
|
|
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) {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_index.sheep.$helper.toast("请选择收货地址");
|
2024-09-19 07:20:14 +08:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (addressState.value.deliveryType === 2) {
|
|
|
|
|
if (!addressState.value.pickUpInfo.id) {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_index.sheep.$helper.toast("请选择自提门店地址");
|
2024-09-19 07:20:14 +08:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (addressState.value.receiverName === "" || addressState.value.receiverMobile === "") {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_index.sheep.$helper.toast("请填写联系人或联系人电话");
|
2024-09-19 07:20:14 +08:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (!/^[\u4e00-\u9fa5\w]{2,16}$/.test(addressState.value.receiverName)) {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_index.sheep.$helper.toast("请填写您的真实姓名");
|
2024-09-19 07:20:14 +08:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (!/^1(3|4|5|7|8|9|6)\d{9}$/.test(addressState.value.receiverMobile)) {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_index.sheep.$helper.toast("请填写正确的手机号");
|
2024-09-19 07:20:14 +08:00
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
submitOrder();
|
|
|
|
|
}
|
|
|
|
|
function submitOrder() {
|
|
|
|
|
return __async(this, null, function* () {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
const { code, data } = yield modules_mall_sheep_api_trade_order.OrderApi.createOrder({
|
2024-09-19 07:20:14 +08:00
|
|
|
|
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) {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_index.sheep.$store("cart").getList();
|
2024-09-19 07:20:14 +08:00
|
|
|
|
}
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_index.sheep.$router.redirect("/modules/mall/pay/index", {
|
2024-09-19 07:20:14 +08:00
|
|
|
|
id: data.payOrderId
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
function getOrderInfo() {
|
|
|
|
|
return __async(this, null, function* () {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
const { data, code } = yield modules_mall_sheep_api_trade_order.OrderApi.settlementOrder({
|
2024-09-19 07:20:14 +08:00
|
|
|
|
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* () {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
const { code, data } = yield modules_mall_sheep_api_promotion_coupon.CouponApi.getMatchCouponList(
|
2024-09-19 07:20:14 +08:00
|
|
|
|
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) {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
modules_mall_sheep_index.sheep.$helper.toast("参数不正确,请检查!");
|
2024-09-19 07:20:14 +08:00
|
|
|
|
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
|
|
|
|
|
}),
|
2024-10-01 09:15:35 +08:00
|
|
|
|
f: common_vendor.t(common_vendor.unref(modules_mall_sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.totalPrice)),
|
2024-09-19 07:20:14 +08:00
|
|
|
|
g: state.orderInfo.type === 0
|
|
|
|
|
}, state.orderInfo.type === 0 ? {
|
|
|
|
|
h: common_vendor.t(state.pointStatus ? "剩余积分" : "当前积分"),
|
2024-10-01 09:15:35 +08:00
|
|
|
|
i: common_vendor.unref(modules_mall_sheep_index.sheep).$url.static("/static/img/shop/goods/score1.svg"),
|
2024-09-19 07:20:14 +08:00
|
|
|
|
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 ? {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
p: common_vendor.t(common_vendor.unref(modules_mall_sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.deliveryPrice))
|
2024-09-19 07:20:14 +08:00
|
|
|
|
} : {}) : {}, {
|
|
|
|
|
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 ? {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
z: common_vendor.t(common_vendor.unref(modules_mall_sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.couponPrice))
|
2024-09-19 07:20:14 +08:00
|
|
|
|
} : {
|
|
|
|
|
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 ? {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
E: common_vendor.t(common_vendor.unref(modules_mall_sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.discountPrice))
|
2024-09-19 07:20:14 +08:00
|
|
|
|
} : {}, {
|
|
|
|
|
F: state.orderInfo.price.vipPrice > 0
|
|
|
|
|
}, state.orderInfo.price.vipPrice > 0 ? {
|
2024-10-01 09:15:35 +08:00
|
|
|
|
G: common_vendor.t(common_vendor.unref(modules_mall_sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.vipPrice))
|
2024-09-19 07:20:14 +08:00
|
|
|
|
} : {}, {
|
|
|
|
|
H: common_vendor.t(state.orderInfo.items.reduce((acc, item) => acc + item.count, 0)),
|
2024-10-01 09:15:35 +08:00
|
|
|
|
I: common_vendor.t(common_vendor.unref(modules_mall_sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.payPrice)),
|
2024-09-19 07:20:14 +08:00
|
|
|
|
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
|
|
|
|
|
}),
|
2024-10-01 09:15:35 +08:00
|
|
|
|
Q: common_vendor.t(common_vendor.unref(modules_mall_sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.payPrice)),
|
2024-09-19 07:20:14 +08:00
|
|
|
|
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);
|