diff --git a/model/order/orderConfirm.js b/model/order/orderConfirm.js
index 7170492..dc4e9e1 100644
--- a/model/order/orderConfirm.js
+++ b/model/order/orderConfirm.js
@@ -1,4 +1,7 @@
-import { mockIp, mockReqId } from '../../utils/mock';
+import {
+ mockIp,
+ mockReqId
+} from '../../utils/mock';
export const transformGoodsDataToConfirmData = (goodsDataList) => {
const list = [];
@@ -6,10 +9,11 @@ export const transformGoodsDataToConfirmData = (goodsDataList) => {
goodsDataList.forEach((goodsData) => {
list.push({
storeId: goodsData.storeId,
+ storeName: goodsData?.storeName,
spuId: goodsData.spuId,
skuId: goodsData.skuId,
goodsName: goodsData.title,
- image: goodsData.primaryImage,
+ image: goodsData.thumb,
reminderStock: 119,
quantity: goodsData.quantity,
payPrice: goodsData.price,
@@ -37,18 +41,22 @@ export const transformGoodsDataToConfirmData = (goodsDataList) => {
/** 生成结算数据 */
export function genSettleDetail(params) {
- const { userAddressReq, couponList, goodsRequestList } = params;
+ const {
+ userAddressReq,
+ couponList,
+ goodsRequestList
+ } = params;
const resp = {
data: {
settleType: 0,
userAddress: null,
- totalGoodsCount: 3,
- packageCount: 1,
+ totalGoodsCount: 0,
+ packageCount: 0,
totalAmount: '289997',
totalPayAmount: '',
totalDiscountAmount: '110000',
- totalPromotionAmount: '1100',
+ totalPromotionAmount: '0',
totalCouponAmount: '0',
totalSalePrice: '289997',
totalGoodsAmount: '289997',
@@ -56,27 +64,23 @@ export function genSettleDetail(params) {
invoiceRequest: null,
skuImages: null,
deliveryFeeList: null,
- storeGoodsList: [
- {
+ storeGoodsList: [{
+ storeId: '1000',
+ storeName: '云Mall深圳旗舰店',
+ remark: null,
+ goodsCount: 1,
+ deliveryFee: '0',
+ deliveryWords: null,
+ storeTotalAmount: '0',
+ storeTotalPayAmount: '179997',
+ storeTotalDiscountAmount: '110000',
+ storeTotalCouponAmount: '0',
+ skuDetailVos: [],
+ couponList: [{
+ couponId: 11,
storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- remark: null,
- goodsCount: 1,
- deliveryFee: '0',
- deliveryWords: null,
- storeTotalAmount: '0',
- storeTotalPayAmount: '179997',
- storeTotalDiscountAmount: '110000',
- storeTotalCouponAmount: '0',
- skuDetailVos: [],
- couponList: [
- {
- couponId: 11,
- storeId: '1000',
- },
- ],
- },
- ],
+ }, ],
+ }, ],
inValidGoodsList: null,
outOfStockGoodsList: null,
limitGoodsList: null,
@@ -92,7 +96,7 @@ export function genSettleDetail(params) {
};
const list = transformGoodsDataToConfirmData(goodsRequestList);
-
+ console.log(list, '看看list');
// 获取购物车传递的商品数据
resp.data.storeGoodsList[0].skuDetailVos = list;
@@ -119,18 +123,18 @@ export function genSettleDetail(params) {
// 计算折扣
const totalDiscountPrice =
- discountPrice.length > 0
- ? discountPrice.reduce((pre, cur) => {
- if (cur.type === 1) {
- return pre + cur.value;
- }
- if (cur.type === 2) {
- return pre + (Number(totalPrice) * cur.value) / 10;
- }
+ discountPrice.length > 0 ?
+ discountPrice.reduce((pre, cur) => {
+ if (cur.type === 1) {
+ return pre + cur.value;
+ }
+ if (cur.type === 2) {
+ return pre + (Number(totalPrice) * cur.value) / 10;
+ }
- return pre + cur;
- }, 0)
- : 0;
+ return pre + cur;
+ }, 0) :
+ 0;
resp.data.totalSalePrice = totalPrice;
@@ -139,9 +143,13 @@ export function genSettleDetail(params) {
resp.data.totalPayAmount =
totalPrice - totalDiscountPrice - Number(resp.data.totalPromotionAmount);
+ list.forEach(item => {
+ resp.data.totalGoodsCount += item.quantity
+ });
+
if (userAddressReq) {
resp.data.settleType = 1;
resp.data.userAddress = userAddressReq;
}
return resp;
-}
+}
\ No newline at end of file
diff --git a/pages/goods/details/components/goods-specs-popup/index.wxss b/pages/goods/details/components/goods-specs-popup/index.wxss
index 7898c0c..4e86630 100644
--- a/pages/goods/details/components/goods-specs-popup/index.wxss
+++ b/pages/goods/details/components/goods-specs-popup/index.wxss
@@ -259,7 +259,7 @@
}
.popup-sku-actions .sku-operate .sku-operate-addCart {
- background-color: #ffece9;
+ background-color: #f8f8f8;
color: #1989fa;
border-radius: 48rpx 0 0 48rpx;
}
diff --git a/pages/goods/details/index.wxml b/pages/goods/details/index.wxml
index a6b8904..40fd59a 100644
--- a/pages/goods/details/index.wxml
+++ b/pages/goods/details/index.wxml
@@ -39,7 +39,8 @@
已售{{soldNum}}
-
+ {{ details.goodsSellingPoint }}
+
{{details.title}}
diff --git a/pages/goods/details/index.wxss b/pages/goods/details/index.wxss
index 7e0a4da..d876903 100644
--- a/pages/goods/details/index.wxss
+++ b/pages/goods/details/index.wxss
@@ -377,13 +377,14 @@ page {
width: 180rpx;
overflow: hidden;
margin-right: 20rpx;
+ border-radius: 50%;
+ border: 1rpx solid rgb(204, 204, 204);
}
.shop-left-img {
height: 100%;
width: 100%;
object-fit: cover;
- border: 1rpx solid rgb(204, 204, 204);
}
.shop-left-box {
diff --git a/pages/order/components/selectCoupons/selectCoupons.js b/pages/order/components/selectCoupons/selectCoupons.js
index 235ffba..6f941f9 100644
--- a/pages/order/components/selectCoupons/selectCoupons.js
+++ b/pages/order/components/selectCoupons/selectCoupons.js
@@ -1,6 +1,10 @@
import dayjs from 'dayjs';
-import { couponsData } from './mock';
-
+import {
+ couponsData
+} from './mock';
+import {
+ fetchCouponList
+} from '~/services/coupon/index';
const emptyCouponImg = `https://cdn-we-retail.ym.tencent.com/miniapp/coupon/ordersure-coupon-newempty.png`;
Component({
@@ -19,8 +23,12 @@ Component({
value: false,
observer(couponsShow) {
if (couponsShow) {
- const { promotionGoodsList, orderSureCouponList, storeId } =
- this.data;
+ const {
+ promotionGoodsList,
+ orderSureCouponList,
+ storeId
+ } =
+ this.data;
const products =
promotionGoodsList &&
promotionGoodsList.map((goods) => {
@@ -53,6 +61,7 @@ Component({
selectedCoupons,
storeId,
}).then((res) => {
+ console.log(res,'res来咯');
this.initData(res);
});
}
@@ -69,41 +78,32 @@ Component({
},
methods: {
initData(data = {}) {
- const { couponResultList = [], reduce = 0 } = data;
+ const {
+ couponResultList = [], reduce = 0
+ } = data;
+ console.log(data,'data来咯');
const selectedList = [];
let selectedNum = 0;
const couponsList =
couponResultList &&
couponResultList.map((coupon) => {
- const { status, couponVO } = coupon;
- const {
- couponId,
- condition = '',
- endTime = 0,
- name = '',
- startTime = 0,
- value,
- type,
- } = couponVO;
- if (status === 1) {
+ console.log(coupon,'优惠价');
+ if (coupon.status === 1) {
selectedNum++;
selectedList.push({
- couponId,
+ couponId: coupon.key,
promotionId: ruleId,
storeId: this.storeId,
});
}
- const val = type === 2 ? value / 100 : value / 10;
return {
- key: couponId,
- title: name,
+ key: coupon.key,
+ title: coupon.title,
isSelected: false,
- timeLimit: `${dayjs(+startTime).format('YYYY-MM-DD')}-${dayjs(
- +endTime,
- ).format('YYYY-MM-DD')}`,
- value: val,
- status: status === -1 ? 'useless' : 'default',
- desc: condition,
+ timeLimit: coupon.timeLimit,
+ value: coupon.value,
+ status: coupon.status === 1 ? 'default' : 'useless',
+ desc: coupon.desc,
type,
tag: '',
};
@@ -116,8 +116,13 @@ Component({
});
},
selectCoupon(e) {
- const { key } = e.currentTarget.dataset;
- const { couponsList, selectedList } = this.data;
+ const {
+ key
+ } = e.currentTarget.dataset;
+ const {
+ couponsList,
+ selectedList
+ } = this.data;
couponsList.forEach((coupon) => {
if (coupon.key === key) {
coupon.isSelected = !coupon.isSelected;
@@ -144,10 +149,16 @@ Component({
},
coupons(coupon = {}) {
return new Promise((resolve, reject) => {
+ console.log(coupon,'coupon里有什么');
if (coupon?.selectedCoupons) {
- resolve({
- couponResultList: couponsData.couponResultList,
- reduce: couponsData.reduce,
+ // 优惠券接口
+ fetchCouponList({
+ status: 1
+ }).then((res) => {
+ resolve({
+ couponResultList: res,
+ reduce: 1000,
+ });
});
}
return reject({
@@ -157,4 +168,4 @@ Component({
});
},
},
-});
+});
\ No newline at end of file
diff --git a/pages/order/order-confirm/components/address-card/index.wxml b/pages/order/order-confirm/components/address-card/index.wxml
index 9cf86f4..d3583d0 100644
--- a/pages/order/order-confirm/components/address-card/index.wxml
+++ b/pages/order/order-confirm/components/address-card/index.wxml
@@ -10,19 +10,19 @@
-
+
-
- {{addressData.addressTag}}
+
+ 默认
{{addressData.provinceName}} {{addressData.cityName}} {{addressData.districtName}}
- {{addressData.detailAddress}}
+ {{addressData.detaiaddresslAddress}}
- {{addressData.name}} {{utils.hidePhoneNum(addressData.phone)}}
+ {{addressData.name}} {{utils.hidePhoneNum(addressData.phoneNumber)}}
s.specValue), // 规格列表 string[]
+ specs: item.skuSpecLst?.map((s) => s.specValue), // 规格列表 string[]
price: item.tagPrice || item.settlePrice || '0', // 优先取限时活动价
settlePrice: item.settlePrice,
titlePrefixTags: item.tagText ? [{ text: item.tagText }] : [],
@@ -242,6 +243,7 @@ Page({
storeName: ele.storeName,
remark: '',
});
+
submitCouponList.push({
storeId: ele.storeId,
couponList: ele.couponList || [],
@@ -251,6 +253,9 @@ Page({
orderCardList.push(orderCard);
});
+
+
+
this.setData({ orderCardList, storeInfoList, submitCouponList });
return data;
},
@@ -393,15 +398,18 @@ Page({
if (invoiceData && invoiceData.email) {
params.invoiceRequest = invoiceData;
}
+ /** 提交订单方法(接口) */
commitPay(params).then(
(res) => {
this.payLock = false;
const { data } = res;
+ console.log(res,'后端接口返回调起微信支付的参数');
// 提交出现 失效 不在配送范围 限购的商品 提示弹窗
if (this.isInvalidOrder(data)) {
return;
}
if (res.code === 'Success') {
+ console.log("正在调起支付");
this.handlePay(data, settleDetailData);
} else {
Toast({
@@ -484,6 +492,7 @@ Page({
tradeNo: tradeNo,
transactionId: transactionId,
};
+ console.log(payOrderInfo,'支付信息');
if (channel === 'wechat') {
wechatPayOrder(payOrderInfo);
diff --git a/pages/order/order-confirm/index.wxml b/pages/order/order-confirm/index.wxml
index 6d909e6..c6d6832 100644
--- a/pages/order/order-confirm/index.wxml
+++ b/pages/order/order-confirm/index.wxml
@@ -11,10 +11,10 @@
wx:for-index="storeIndex"
wx:key="storeIndex"
>
-
+
-
+
{{goods.title}}
{{goods.specs}}
-
+
x{{goods.num}}
@@ -38,6 +38,7 @@
商品总额
+
-
+
免运费
-
+
+
+
订单备注
@@ -99,12 +100,12 @@
共{{settleDetailData.totalGoodsCount}}件
小计
-
+
-
+
提交订单
diff --git a/pages/order/order-confirm/pay.js b/pages/order/order-confirm/pay.js
index 0c27c3c..1d4cc22 100644
--- a/pages/order/order-confirm/pay.js
+++ b/pages/order/order-confirm/pay.js
@@ -1,7 +1,9 @@
import Dialog from 'tdesign-miniprogram/dialog/index';
import Toast from 'tdesign-miniprogram/toast/index';
-import { dispatchCommitPay } from '../../../services/order/orderConfirm';
+import {
+ dispatchCommitPay
+} from '../../../services/order/orderConfirm';
// 真实的提交支付
export const commitPay = (params) => {
@@ -26,7 +28,12 @@ export const commitPay = (params) => {
};
export const paySuccess = (payOrderInfo) => {
- const { payAmt, tradeNo, groupId, promotionId } = payOrderInfo;
+ const {
+ payAmt,
+ tradeNo,
+ groupId,
+ promotionId
+ } = payOrderInfo;
// 支付成功
Toast({
context: this,
@@ -50,7 +57,9 @@ export const paySuccess = (payOrderInfo) => {
.map((k) => `${k}=${params[k]}`)
.join('&');
// 跳转支付结果页面
- wx.redirectTo({ url: `/pages/order/pay-result/index?${paramsStr}` });
+ wx.redirectTo({
+ url: `/pages/order/pay-result/index?${paramsStr}`
+ });
};
export const payFail = (payOrderInfo, resultMsg) => {
@@ -63,7 +72,9 @@ export const payFail = (payOrderInfo, resultMsg) => {
confirmBtn: '放弃',
cancelBtn: '继续付款',
}).then(() => {
- wx.redirectTo({ url: '/pages/order/order-list/index' });
+ wx.redirectTo({
+ url: '/pages/order/order-list/index'
+ });
});
} else {
//订单列表页,订单详情页,取消付款,toast提示
@@ -83,21 +94,24 @@ export const payFail = (payOrderInfo, resultMsg) => {
duration: 2000,
icon: 'close-circle',
});
- setTimeout(() => {
- wx.redirectTo({ url: '/pages/order/order-list/index' });
- }, 2000);
+ console.log(resultMsg,'错误信息');
+ // setTimeout(() => {
+ // wx.redirectTo({
+ // url: '/pages/order/order-list/index'
+ // });
+ // }, 2000);
}
};
// 微信支付方式
export const wechatPayOrder = (payOrderInfo) => {
- // const payInfo = JSON.parse(payOrderInfo.payInfo);
- // const { timeStamp, nonceStr, signType, paySign } = payInfo;
+ const payInfo = JSON.parse(payOrderInfo.payInfo);
+ const { timeStamp, nonceStr, signType, paySign } = payInfo;
return new Promise((resolve) => {
// demo 中直接走支付成功
- paySuccess(payOrderInfo);
- resolve();
- /* wx.requestPayment({
+ // paySuccess(payOrderInfo);
+ // resolve();
+ wx.requestPayment({
timeStamp,
nonceStr,
package: payInfo.package,
@@ -110,6 +124,6 @@ export const wechatPayOrder = (payOrderInfo) => {
fail: function (err) {
payFail(payOrderInfo, err.errMsg);
},
- }); */
+ });
});
-};
+};
\ No newline at end of file
diff --git a/pages/usercenter/address/list/util.js b/pages/usercenter/address/list/util.js
index e6dcc21..32d6a49 100644
--- a/pages/usercenter/address/list/util.js
+++ b/pages/usercenter/address/list/util.js
@@ -16,10 +16,10 @@ export const getAddressPromise = () => {
/** 用户选择了一个地址 */
export const resolveAddress = (allAddress,address) => {
- allAddress.forEach(({ resolver }) => resolver(address));
+ addressPromise.forEach(({ resolver }) => resolver(address));
};
/** 用户没有选择任何地址只是返回上一页了 */
export const rejectAddress = (allAddress) => {
- allAddress.forEach(({ rejecter }) => rejecter(new Error('cancel')));
+ addressPromise.forEach(({ rejecter }) => rejecter(new Error('cancel')));
};
diff --git a/project.config.json b/project.config.json
index 8ef4e1c..f191a40 100644
--- a/project.config.json
+++ b/project.config.json
@@ -1,5 +1,5 @@
{
- "description": "项目配置文件,详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
+ "description": "Project configuration file, more information: https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"packOptions": {
"ignore": [],
"include": []