123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401 |
- "use strict";
- const common_vendor = require("../../common/vendor.js");
- const common_assets = require("../../common/assets.js");
- const sheep_index = require("../../sheep/index.js");
- const sheep_api_trade_order = require("../../sheep/api/trade/order.js");
- require("../../sheep/request/index.js");
- const sheep_hooks_useGoods = require("../../sheep/hooks/useGoods.js");
- require("../../sheep/api/index.js");
- require("../../sheep/api/distri/score.js");
- require("../../sheep/api/distri/share.js");
- require("../../sheep/api/distri/team.js");
- require("../../sheep/api/infra/file.js");
- require("../../sheep/config/index.js");
- require("../../sheep/api/member/address.js");
- require("../../sheep/api/member/auth.js");
- require("../../sheep/api/member/point.js");
- require("../../sheep/api/member/signin.js");
- require("../../sheep/api/member/social.js");
- require("../../sheep/api/member/user.js");
- require("../../sheep/api/migration/app.js");
- require("../../sheep/api/migration/chat.js");
- require("../../sheep/api/migration/index.js");
- require("../../sheep/api/migration/third.js");
- require("../../sheep/api/pay/channel.js");
- require("../../sheep/api/pay/order.js");
- require("../../sheep/api/pay/wallet.js");
- require("../../sheep/api/product/category.js");
- require("../../sheep/api/product/comment.js");
- require("../../sheep/api/product/favorite.js");
- require("../../sheep/api/product/history.js");
- require("../../sheep/api/product/spu.js");
- require("../../sheep/api/promotion/activity.js");
- require("../../sheep/api/promotion/article.js");
- require("../../sheep/api/promotion/bargain.js");
- require("../../sheep/api/promotion/combination.js");
- require("../../sheep/api/promotion/coupon.js");
- require("../../sheep/api/promotion/diy.js");
- require("../../sheep/api/promotion/rewardActivity.js");
- require("../../sheep/api/promotion/seckill.js");
- require("../../sheep/api/system/area.js");
- require("../../sheep/api/system/voice.js");
- require("../../sheep/api/trade/afterSale.js");
- require("../../sheep/api/trade/brokerage.js");
- require("../../sheep/api/trade/cart.js");
- require("../../sheep/api/trade/config.js");
- require("../../sheep/api/trade/delivery.js");
- require("../../sheep/url/index.js");
- require("../../sheep/store/index.js");
- require("../../sheep/store/app.js");
- require("../../sheep/platform/index.js");
- require("../../sheep/platform/provider/wechat/index.js");
- require("../../sheep/platform/provider/wechat/miniProgram.js");
- require("../../sheep/platform/provider/apple/index.js");
- require("../../sheep/platform/share.js");
- require("../../sheep/router/index.js");
- require("../../sheep/hooks/useModal.js");
- require("../../sheep/helper/index.js");
- require("../../sheep/helper/test.js");
- require("../../sheep/helper/digit.js");
- require("../../sheep/helper/throttle.js");
- require("../../sheep/platform/pay.js");
- require("../../sheep/store/user.js");
- require("../../sheep/store/cart.js");
- require("../../sheep/store/sys.js");
- require("../../sheep/store/modal.js");
- require("../../sheep/config/zIndex.js");
- require("../../sheep/util/index.js");
- if (!Array) {
- const _easycom_s_address_item2 = common_vendor.resolveComponent("s-address-item");
- const _easycom_s_goods_item2 = common_vendor.resolveComponent("s-goods-item");
- const _easycom_uni_easyinput2 = common_vendor.resolveComponent("uni-easyinput");
- const _easycom_s_points_pop2 = common_vendor.resolveComponent("s-points-pop");
- const _easycom_su_fixed2 = common_vendor.resolveComponent("su-fixed");
- const _easycom_s_layout2 = common_vendor.resolveComponent("s-layout");
- (_easycom_s_address_item2 + _easycom_s_goods_item2 + _easycom_uni_easyinput2 + _easycom_s_points_pop2 + _easycom_su_fixed2 + _easycom_s_layout2)();
- }
- const _easycom_s_address_item = () => "../../sheep/components/s-address-item/s-address-item.js";
- 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_points_pop = () => "../../sheep/components/s-points-pop/s-points-pop.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) {
- (_easycom_s_address_item + _easycom_s_goods_item + _easycom_uni_easyinput + _easycom_s_points_pop + _easycom_su_fixed + _easycom_s_layout)();
- }
- const _sfc_main = {
- __name: "confirm",
- setup(__props) {
- const state = common_vendor.reactive({
- orderPayload: {},
- orderInfo: {
- items: [],
- // 商品项列表
- price: {}
- // 价格信息
- },
- addressInfo: {},
- // 选择的收货地址
- showPoints: false,
- // 是否积分抵扣
- couponInfo: [],
- // 优惠劵列表
- showDiscount: false,
- // 是否展示营销活动
- currentMemberPoints: 0,
- //用户当前可用积分
- usedPoint: 0,
- //用户使用的积分
- currentTotalPrice: 0,
- //当前的整个订单的总价格
- currentDeliveryPrice: 0
- // 当前订单的总运费
- });
- const shopsByNames = common_vendor.computed(() => {
- const shops = {};
- try {
- Object.keys(state.orderInfo.shopRespVOMap).forEach((shopId) => {
- const shopName = state.orderInfo.shopNameMap[shopId];
- if (shopName) {
- shops[shopName] = state.orderInfo.shopRespVOMap[shopId];
- shops[shopName].remark = "";
- shops[shopName].shopId = shopId;
- }
- });
- } catch (e) {
- }
- return shops;
- });
- const totalItemCount = common_vendor.computed(() => {
- let totalCount = 0;
- Object.values(shopsByNames.value).forEach((shop) => {
- shop.items.forEach((item) => {
- totalCount += item.count;
- });
- });
- return totalCount;
- });
- function onSelectAddress() {
- common_vendor.index.$once("SELECT_ADDRESS", (e) => {
- changeConsignee(e.addressInfo);
- });
- console.log(state.orderPayload.spuType);
- if (state.orderPayload.spuType) {
- sheep_index.sheep.$router.go("/pages/user/address/list");
- } else {
- sheep_index.sheep.$router.go("/pages/user/dummyAddress/list");
- }
- }
- async function changeConsignee(addressInfo = {}) {
- if (!common_vendor.lodashExports.isEmpty(addressInfo)) {
- state.addressInfo = addressInfo;
- }
- await getOrderInfo();
- }
- async function onInputPoints(points) {
- if (points == void 0) {
- points = 0;
- }
- const payprice = state.currentTotalPrice;
- state.orderInfo.price.payPrice = (payprice - points) * 100;
- state.usedPoint = points;
- state.showPoints = false;
- }
- function onConfirm() {
- if (!state.addressInfo.id) {
- sheep_index.sheep.$helper.toast("请选择收货地址");
- return;
- }
- if (state.usedPoint > state.currentMemberPoints) {
- sheep_index.sheep.$helper.toast("可用积分不足");
- return;
- }
- submitOrder();
- }
- function customRound(number, decimals) {
- let factor = Math.pow(10, decimals);
- let tempNumber = Math.floor(number * factor) / factor;
- return tempNumber.toFixed(decimals);
- }
- async function submitOrder() {
- const shops = shopsByNames.value;
- const shopRemarks = {};
- Object.keys(shops).forEach((shopName) => {
- const shop = shops[shopName];
- shopRemarks[shop.shopId] = shop.remark;
- });
- const usedPoint = state.orderPayload.highPrecision ? customRound(state.orderInfo.price.virtualPayPrice / 100, 2) : state.usedPoint;
- const {
- code,
- data
- } = await sheep_api_trade_order.OrderApi.createOrder({
- items: state.orderPayload.items,
- couponId: state.orderPayload.couponId,
- addressId: state.addressInfo.id,
- deliveryType: state.orderPayload.spuType == 1 ? 1 : 3,
- // TODO 非繁人:需要支持【门店自提】
- pointStatus: false,
- // TODO 非繁人:需要支持【积分选择】
- combinationActivityId: state.orderPayload.combinationActivityId,
- combinationHeadId: state.orderPayload.combinationHeadId,
- seckillActivityId: state.orderPayload.seckillActivityId,
- payIntegral: usedPoint,
- // payIntegral: 0.95,
- shopRemarks
- });
- if (code !== 0) {
- return;
- }
- if (state.orderPayload.items[0].cartId > 0) {
- sheep_index.sheep.$store("cart").getList();
- }
- sheep_index.sheep.$router.redirect("/pages/pay/index", {
- id: data.payOrderId
- });
- }
- async function getOrderInfo() {
- const shops = shopsByNames.value;
- let shopRemarks = {};
- if (Object.keys(shops).length !== 0) {
- Object.keys(shops).forEach((shopName) => {
- const shop = shops[shopName];
- shopRemarks[shopName] = shop.remark;
- });
- }
- const {
- data,
- code
- } = await sheep_api_trade_order.OrderApi.settlementOrder({
- items: state.orderPayload.items,
- couponId: state.orderPayload.couponId,
- addressId: state.addressInfo.id,
- deliveryType: state.orderPayload.spuType == 1 ? 1 : 3,
- // TODO 非繁人:需要支持【门店自提】
- pointStatus: false,
- // TODO 非繁人:需要支持【积分选择】
- combinationActivityId: state.orderPayload.combinationActivityId,
- combinationHeadId: state.orderPayload.combinationHeadId,
- seckillActivityId: state.orderPayload.seckillActivityId,
- usedPoint: state.usedPoint,
- addressType: state.orderPayload.spuType == 1 ? 1 : 2
- //如果是虚拟产品
- });
- if (code !== 0) {
- return;
- }
- state.orderInfo = data;
- if (Object.keys(shopRemarks).length !== 0) {
- Object.keys(shopRemarks).forEach((shopName) => {
- shopsByNames.value[shopName].remark = shopRemarks[shopName];
- });
- }
- if (state.orderInfo.address) {
- state.addressInfo = state.orderInfo.address;
- }
- state.currentMemberPoints = sheep_hooks_useGoods.points2point(state.orderInfo.currentQuota);
- state.currentTotalPrice = sheep_hooks_useGoods.fen2yuan(state.orderInfo.price.payPrice);
- state.currentDeliveryPrice = sheep_hooks_useGoods.fen2yuan(state.orderInfo.price.deliveryPrice);
- if (state.orderPayload.spuPayType == 2) {
- state.usedPoint = state.currentTotalPrice - 0.01;
- console.log(state.spuType);
- }
- }
- common_vendor.onLoad(async (options) => {
- if (!options.data) {
- sheep_index.sheep.$helper.toast("参数不正确,请检查!");
- return;
- }
- state.orderPayload = JSON.parse(options.data);
- console.log(state.orderPayload);
- await getOrderInfo();
- });
- return (_ctx, _cache) => {
- return common_vendor.e({
- a: common_vendor.p({
- item: state.addressInfo,
- spuType: state.orderPayload.spuType,
- hasBorderBottom: false
- }),
- b: common_vendor.o(onSelectAddress),
- c: common_vendor.f(shopsByNames.value, (items, name, i0) => {
- return common_vendor.e({
- a: common_vendor.t(name),
- b: common_vendor.f(items.items, (item, k1, i1) => {
- var _a;
- return {
- a: item == null ? void 0 : item.skuId,
- b: "324e7894-2-" + i0 + "-" + i1 + ",324e7894-0",
- c: common_vendor.p({
- img: item == null ? void 0 : item.picUrl,
- title: item == null ? void 0 : item.spuName,
- skuText: (_a = item == null ? void 0 : item.properties) == null ? void 0 : _a.map((property) => property.valueName).join(" "),
- price: item.highPrecisionPrice ? item == null ? void 0 : item.highPrecisionPrice : item == null ? void 0 : item.price,
- num: item == null ? void 0 : item.count,
- virtualPirce: item.highPrecisionPrice ? true : false
- })
- };
- }),
- c: common_vendor.t(items.price.deliveryPrice ? "¥" + common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(items.price.deliveryPrice) : "包邮"),
- d: "324e7894-3-" + i0 + ",324e7894-0",
- e: common_vendor.o(($event) => items.remark = $event, name),
- f: common_vendor.p({
- maxlength: "20",
- placeholder: "建议留言前先与商家沟通",
- inputBorder: false,
- clearable: false,
- modelValue: items.remark
- })
- }, state.orderPayload.spuType == 0 ? {
- g: common_vendor.t(totalItemCount.value)
- } : common_vendor.e({
- h: state.orderPayload.spuPayType == 2
- }, state.orderPayload.spuPayType == 2 ? {
- i: common_assets._imports_0
- } : {}, {
- j: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(items.price.payPrice))
- }), {
- k: name
- });
- }),
- d: state.orderPayload.spuType == 0,
- e: common_vendor.t(totalItemCount.value),
- f: state.orderPayload.spuPayType == 2
- }, state.orderPayload.spuPayType == 2 ? {
- g: common_assets._imports_0
- } : {}, {
- h: state.orderPayload.highPrecision
- }, state.orderPayload.highPrecision ? {
- i: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan6)(state.orderInfo.price.virtualTotalPrice))
- } : {
- j: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.totalPrice))
- }, {
- k: state.orderPayload.spuPayType == 2
- }, state.orderPayload.spuPayType == 2 ? {
- l: common_assets._imports_0
- } : {}, {
- m: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.deliveryPrice)),
- n: state.orderPayload.spuPayType != 2
- }, state.orderPayload.spuPayType != 2 ? {
- o: common_vendor.t(state.usedPoint > 0 ? " 可抵扣" + state.usedPoint + "元" : "不使用积分"),
- p: common_vendor.n(state.usedPoint > 0 ? "text-red" : "text-disabled"),
- q: common_vendor.o(($event) => state.showPoints = true)
- } : {}, {
- r: common_vendor.t(totalItemCount.value),
- s: state.orderPayload.spuPayType == 2
- }, state.orderPayload.spuPayType == 2 ? {
- t: common_assets._imports_0
- } : {}, {
- v: state.orderPayload.highPrecision
- }, state.orderPayload.highPrecision ? {
- w: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan6)(state.orderInfo.price.virtualTotalPrice))
- } : state.orderPayload.spuPayType == 2 ? {
- y: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.payPrice) - 0.01)
- } : {
- z: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.payPrice))
- }, {
- x: state.orderPayload.spuPayType == 2,
- A: common_vendor.o(onInputPoints),
- B: common_vendor.o(($event) => state.showPoints = false),
- C: common_vendor.o(($event) => state.couponInfo = $event),
- D: common_vendor.p({
- currentMemberPoints: state.currentMemberPoints,
- currentTotalPrice: state.currentTotalPrice,
- currentDeliveryPrice: state.currentDeliveryPrice,
- show: state.showPoints,
- modelValue: state.couponInfo
- }),
- E: state.orderPayload.highPrecision
- }, state.orderPayload.highPrecision ? common_vendor.e({
- F: state.orderPayload.spuPayType == 2
- }, state.orderPayload.spuPayType == 2 ? {
- G: common_assets._imports_0
- } : {}, {
- H: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan6)(state.orderInfo.price.virtualPayPrice) - 0.01)
- }) : state.orderPayload.spuPayType == 2 ? common_vendor.e({
- J: state.orderPayload.spuPayType == 2
- }, state.orderPayload.spuPayType == 2 ? {
- K: common_assets._imports_0
- } : {}, {
- L: common_vendor.t(state.usedPoint)
- }) : {
- M: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.orderInfo.price.payPrice))
- }, {
- I: state.orderPayload.spuPayType == 2,
- N: common_vendor.o(onConfirm),
- O: common_vendor.p({
- bottom: true,
- opacity: false,
- bg: "bg-white",
- placeholder: true,
- noFixed: false,
- index: 200
- }),
- P: common_vendor.p({
- title: "确认订单"
- })
- });
- };
- }
- };
- const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-324e7894"], ["__file", "D:/zx/mall-front-app/pages/order/confirm.vue"]]);
- wx.createPage(MiniProgramPage);
|