You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
2.5 KiB
JavaScript

/**
* 外卖计算餐盒费
*/
var getBoxFee = function(order) {
var boxFee = 0.0;
if (order) {
for (var key in order.dishes) {
var dish = order.dishes[key];
if (!dish.isSuit) { // 非套餐模式计算餐盒费
if (dish.boxPrice) {
boxFee = parseFloat(boxFee + dish.boxPrice * dish.num);
}
} else { // 套餐模式计算餐盒费
console.log(dish);
var specs = dish.specs;
for (var ckey in specs) {
var cValues = specs[ckey];
var suitDetails = cValues.suitDetails;
for (var i = 0; i < suitDetails.length; i++) {
var tDetail = suitDetails[i];
if (tDetail.boxPrice) {
boxFee = parseFloat(boxFee + dish.boxPrice * dish.num);
}
}
}
}
}
}
return boxFee.toFixed(2);
}
/**
* 外卖计算配送费
*/
var getDeliverFee = function(store) {
var deliverFee = 0.0;
if (store) {
if (store.deliverFee) {
deliverFee = store.deliverFee;
}
}
return deliverFee.toFixed(2);
}
/**
* 订单封装增加餐盒费+配送费
*/
var getTotal = function(order) {
var total = 0.0;
var memberAmount = 0.0;
for (var key in order.dishes) {
var dish = order.dishes[key];
total = total + dish.amount;
console.log("订单总金额:", dish);
memberAmount = memberAmount + dish.memberAmount;
}
console.log("订单总金额:", total);
if (order.busMode == 1) { // 外带
total = total + parseFloat(order.boxFee);
memberAmount = memberAmount + parseFloat(order.boxFee);
} else if (order.busMode == 2) { // 外卖
total = total + parseFloat(order.boxFee) + parseFloat(order.distributionFee);
memberAmount = memberAmount + parseFloat(order.boxFee) + parseFloat(order.distributionFee);
}
console.log("订单总金额:", total);
order.totalCash = parseFloat(total).toFixed(2);
order.totalMemberCash = parseFloat(memberAmount).toFixed(2);
}
/**
* 规则
*/
var getDefaultOrderTicket = function() {
var orderTicket = {};
orderTicket.sumCount = 0;
orderTicket.sumMoney = 0;
orderTicket.storeName = "";
orderTicket.storeId = "";
orderTicket.storeNo = "";
orderTicket.people = 1;
orderTicket.ext2 = "";
orderTicket.discount = 0;
orderTicket.openId = wx.getStorageSync("openId");
orderTicket.orderList = [];
return orderTicket;
}
module.exports = {
getBoxFee: getBoxFee,
getDeliverFee: getDeliverFee,
getTotal: getTotal,
getDefaultOrderTicket: getDefaultOrderTicket
}