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.

556 lines
20 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

// /***
// * 购物车js
// * 使用storage 存放购物车商品信息
// */
// const app = getApp();
// const utils = require("utils");
// var digits = 2; // 小数位数
// var storeKey = "store";
// var cartKey = "cartKey";
// var loadedDishKey = "currentLoadedDishs";
// var tableKey = "tableKey";
// /* 获取当前操作门店 */
// var getStore = function() {
// return wx.getStorageSync(storeKey);
// };
// /* 压入当前操作门店 */
// var setStore = function(options) {
// wx.setStorageSync(storeKey, options);
// };
// /* 获取当前桌号 */
// var getTable = function() {
// return wx.getStorageSync(storeKey);
// };
// /* 压入当前桌号 */
// var setTable = function(options) {
// wx.setStorageSync(tableKey, options);
// };
// /* 获取对应门店购物车数据 */
// var getStoreCartMap = function(options) {
// var storeId = getStore().id;
// var cartMap = getCartMap();
// if (null != cartMap && undefined != cartMap && cartMap != "") {
// return cartMap[storeId];
// } else {
// cartMap = {};
// setStoreCartMap(cartMap);
// return cartMap;
// }
// };
// /* 压入对应门店购物车数据 */
// var setStoreCartMap = function(option) {
// var storeId = getStore().id;
// var storeCartMap = option.storeCartMap;
// var cartMap = getCartMap();
// if (cartMap == null || cartMap == undefined || cartMap == "") {
// cartMap = new Object();
// }
// cartMap[storeId] = storeCartMap;
// setCartMap(cartMap);
// return true;
// };
// /* 压入购物车数据 并返回当前购物车数据*/
// var setCartMap = function(cartMap) {
// wx.setStorageSync(cartKey, cartMap);
// return getCartMap();
// };
// /* 获取购物车数据 */
// var getCartMap = function() {
// var cartMap = wx.getStorageSync(cartKey);
// if (null == cartMap || undefined == cartMap || cartMap == "") {
// cartMap = {};
// }
// return cartMap;
// };
// /* 压入购物车门店数据 */
// var putCartMap = function(options) {
// var store = getStore();
// var storeId = store.id;
// var boxPrice = options.boxPrice;
// var uniqueId = options.uniqueId; // 规格商品Id+做法Id
// var productId = options.productId;
// var productNo = options.productNo;
// var goodsId = options.goodsId; // 商品Id
// var goodsName = options.goodsName;
// var unitId = options.unitId;
// var categoryId = options.categoryId;
// var price = options.price;
// var memberPrice = options.memberPrice;
// var num = options.num;
// var specId = options.specId == undefined ? '' : options.specId; // 规格Id
// var specName = options.specName == undefined ? '' : options.specName; // 规格名称
// var makeId = options.makeId == undefined ? '' : options.makeId;
// var makeName = options.makeName == undefined ? '' : options.makeName;
// var makePrice = options.makePrice == undefined ? '' : options.makePrice;
// var makeAmount = options.makeAmount == undefined ? 0 : options.makeAmount;
// var addAmount = options.addAmount == undefined ? 0 : options.addAmount; // 套餐加价
// var isSuit = options.isSuit; // true 套餐商品、非套餐商品
// var suitDetails = options.suitDetails;
// var cartMap = getCartMap();
// if (cartMap != null) {
// var storeCartMap = this.getStoreCartMap({
// storeId: storeId
// });
// if (utils.isBlank(storeCartMap)) {
// storeCartMap = new Object();
// storeCartMap.totalCash = 0;
// storeCartMap.totalNum = 0;
// storeCartMap.categories = {};
// storeCartMap.createTime = (new Date()).valueOf();
// }
// var dishes = storeCartMap.dishes;
// if (utils.isBlank(dishes)) {
// dishes = new Object();
// }
// var dishObject = dishes[productId];
// if (utils.isNotBlank(dishObject)) {
// var specs = dishObject.specs;
// var specObject = {};
// if (num <= 0) {
// specObject = undefined;
// } else {
// specObject = specs[uniqueId];
// if (utils.isNotBlank(specObject)) {
// specObject.num = num;
// } else {
// specObject = new Object();
// specObject.categoryId = categoryId;
// specObject.productId = productId;
// specObject.productNo = productNo;
// specObject.unitId = unitId;
// specObject.goodsId = goodsId;
// specObject.name = goodsName;
// specObject.specId = specId;
// specObject.specName = specName;
// // specObject.makeCount = makeCount;
// specObject.num = num;
// specObject.price = price;
// specObject.memberPrice = memberPrice;
// //做法信息
// specObject.makeId = makeId;
// specObject.makeName = makeName;
// specObject.makePrice = makePrice;
// specObject.makeAmount = makeAmount;
// specObject.suitDetails = suitDetails;
// specObject.isSuit = isSuit;
// specObject.uniqueId = uniqueId;
// specObject.addAmount = addAmount;
// }
// }
// specs[uniqueId] = specObject;
// dishObject.specs = specs;
// } else {
// // 购物车中不存在此菜品 新增dish和下属spec
// var amount = utils.numMulti(num, price);
// var memberAmount = utils.numMulti(num, memberPrice);
// dishObject = new Object();
// dishObject.name = goodsName;
// dishObject.isSuit = isSuit;
// dishObject.addAmount = addAmount;
// dishObject.totalPrice = amount;
// dishObject.totalMemberPrice = memberAmount;
// dishObject.totalMakeAmount = makeAmount;
// dishObject.amount = utils.numAdd(utils.numAdd(dishObject.totalPrice, dishObject.totalMakeAmount), addAmount);
// var specs = new Object();
// var specObject = new Object();
// specObject.categoryId = categoryId;
// specObject.productId = productId;
// specObject.productNo = productNo;
// specObject.unitId = unitId;
// specObject.goodsId = goodsId;
// specObject.name = goodsName;
// specObject.specId = specId;
// specObject.specName = specName;
// // specObject.makeCount = makeCount;
// specObject.num = num;
// specObject.price = Number(price).toFixed(2);
// specObject.memberPrice = Number(memberPrice).toFixed(2);
// specObject.makeId = makeId;
// specObject.makeName = makeName;
// specObject.makePrice = makePrice;
// specObject.makeAmount = makeAmount;
// specObject.suitDetails = suitDetails;
// specObject.isSuit = isSuit;
// specObject.uniqueId = uniqueId;
// specObject.addAmount = addAmount;
// specObject.totalPrice = amount;
// specObject.totalMemberPrice = memberAmount;
// specObject.totalMakeAmount = makeAmount;
// /* 消费金额 = 商品消费金额 + 商品做法金额 + 套餐明细加价金额 */
// specObject.amount = utils.numAdd(utils.numAdd(specObject.totalPrice, specObject.totalMakeAmount), addAmount);
// specObject.memberAmount = utils.numAdd(utils.numAdd(specObject.totalMemberPrice, specObject.totalMakeAmount), addAmount);
// specs[uniqueId] = specObject;
// dishObject.specs = specs;
// }
// /* 商品数量变动结束 重新计算dishObject金额数量 */
// dishObject.num = 0;
// dishObject.totalPrice = 0;
// dishObject.totalMemberPrice = 0;
// dishObject.totalMakeAmount = 0;
// dishObject.amount = 0;
// dishObject.memberAmount = 0;
// var dishAddAmount = 0;
// var specs = dishObject.specs;
// for (var key in specs) {
// var spec = specs[key];
// if (null != spec && undefined != spec) {
// var suitAddAmount = 0.00; /* 套餐明细加价汇总 */
// var suitMakeAmount = 0.00; /* 套餐明细做法汇总 */
// var totalMakeAmount = 0.00; /* spec做法最终 */
// console.log("is suit:" + spec.isSuit);
// if (spec.isSuit) {
// var suits = spec.suitDetails; /* 套餐明细 */
// if (undefined != suits && suits.length > 0) {
// suits.forEach(function(suitItem, inx) {
// suitAddAmount = utils.numAdd(suitAddAmount, suitItem.addPrice);
// suitMakeAmount = utils.numAdd(suitMakeAmount, utils.numMulti(suitItem.quantity, suitItem.makeAmount));
// });
// }
// totalMakeAmount = utils.numMulti(spec.num, suitMakeAmount);
// } else {
// totalMakeAmount = utils.numMulti(spec.num, spec.makeAmount);
// }
// //
// var amount = utils.numMulti(spec.num, spec.price);
// var memberAmount = utils.numMulti(spec.num, spec.memberPrice);
// // 商品加价金额
// spec.addAmount = utils.numMulti(spec.num, suitAddAmount);
// dishAddAmount = utils.numAdd(dishAddAmount, spec.addAmount);
// // spec.makeAmount = makeAmount;
// spec.totalMakeAmount = totalMakeAmount;
// spec.totalPrice = amount;
// spec.totalMemberPrice = memberAmount;
// //商品总金额 = 商品金额 + 商品加价总额 + 商品做法总额
// spec.amount = utils.numAdd(utils.numAdd(amount, spec.addAmount), totalMakeAmount);
// spec.memberAmount = utils.numAdd(utils.numAdd(memberAmount, spec.addAmount), totalMakeAmount);
// specs[key] = spec;
// dishObject.boxPrice = boxPrice;
// dishObject.num += spec.num;
// dishObject.totalPrice = utils.numAdd(dishObject.totalPrice, spec.totalPrice);
// dishObject.totalMemberPrice = utils.numAdd(dishObject.totalMemberPrice, spec.totalMemberPrice);
// dishObject.totalMakeAmount = utils.numAdd(dishObject.totalMakeAmount, spec.totalMakeAmount);
// dishObject.amount = utils.numAdd(dishObject.amount, spec.amount);
// dishObject.memberAmount = utils.numAdd(dishObject.memberAmount, spec.memberAmount);
// }
// }
// //
// dishObject.specs = specs;
// dishObject.addAmount = dishAddAmount;
// /* dishObject数量非法 设置为undefined */
// if (dishObject.num <= 0) {
// dishObject = undefined;
// }
// dishes[productId] = dishObject;
// storeCartMap.dishes = dishes;
// /*dishObj 变动结束 重新计算storeCartMap金额数量*/
// storeCartMap.totalNum = 0;
// storeCartMap.totalCash = 0;
// storeCartMap.totalMemberCash = 0;
// storeCartMap.totalMakeAmount = 0;
// for (var key in dishes) {
// var dish = dishes[key];
// if (null != dish && undefined != dish) {
// var cash = utils.numAdd(utils.numAdd(dish.totalPrice, dish.totalMakeAmount), dish.addAmount);
// var memberCash = utils.numAdd(utils.numAdd(dish.totalMemberPrice, dish.totalMakeAmount), dish.addAmount);
// storeCartMap.totalNum += dish.num;
// storeCartMap.totalCash = utils.numAdd(storeCartMap.totalCash, cash);
// storeCartMap.totalMemberCash = utils.numAdd(storeCartMap.totalMemberCash, memberCash);
// storeCartMap.totalMakeAmount = utils.numAdd(storeCartMap.totalMakeAmount, dish.totalMakeAmount);
// }
// }
// if (storeCartMap.totalNum <= 0) {
// storeCartMap = undefined;
// }
// cartMap[storeId] = storeCartMap;
// this.setStoreCartMap({
// storeId: storeId,
// storeCartMap: storeCartMap
// });
// } else {
// var amount = utils.numMulti(num, price);
// var memberAmount = utils.numMulti(num, memberPrice);
// cartMap = new Object();
// storeCartMap = new Object();
// storeCartMap.totalNum = num;
// storeCartMap.totalMakeAmount = makeAmount;
// storeCartMap.totalCash = utils.numAdd(utils.numAdd(amount, makeAmount), addAmount);
// storeCartMap.totalMemberCash = utils.numAdd(utils.numAdd(memberAmount, makeAmount), addAmount);
// /*-------菜品-------*/
// var dishes = new Object();
// var dishObject = new Object();
// dishObject.boxPrice = boxPrice;
// dishObject.name = goodsName;
// dishObject.num = num;
// dishObject.memberPrice = utils.Number(memberPrice).toFixed(2);
// dishObject.isSuit = isSuit;
// dishObject.addAmount = addAmount;
// dishObject.totalPrice = amount;
// dishObject.totalMemberPrice = memberAmount;
// dishObject.totalMakeAmount = makeAmount;
// dishObject.amount = utils.numAdd(utils.numAdd(dishObject.totalPrice, dishObject.totalMakeAmount), addAmount);
// dishObject.memberAmount = utils.numAdd(utils.numAdd(dishObject.totalMemberPrice, dishObject.totalMakeAmount), addAmount);
// /*-------菜品规格-------*/
// var specs = new Object();
// var specObject = new Object();
// specObject.categoryId = categoryId;
// specObject.productId = productId;
// specObject.productNo = productNo;
// specObject.unitId = unitId;
// specObject.goodsId = goodsId;
// specObject.name = goodsName;
// specObject.specId = specId;
// specObject.specName = specName;
// // specObject.makeCount = makeCount;
// specObject.num = num;
// specObject.price = Number(price).toFixed(2);
// specObject.memberPrice = Number(memberPrice).toFixed(2);
// //做法信息
// specObject.makeId = makeId;
// specObject.makeName = makeName;
// specObject.makePrice = makePrice;
// specObject.makeAmount = makeAmount;
// specObject.suitDetails = suitDetails;
// specObject.isSuit = isSuit;
// specObject.uniqueId = uniqueId;
// specObject.addAmount = addAmount;
// specObject.totalPrice = amount;
// specObject.totalMemberPrice = memberAmount;
// specObject.totalMakeAmount = makeAmount;
// specObject.amount = utils.numAdd(utils.numAdd(specObject.totalPrice, specObject.totalMakeAmount), addAmount);
// specObject.memberAmount = utils.numAdd(utils.numAdd(specObject.totalMemberPrice, specObject.totalMakeAmount), addAmount);
// specs[uniqueId] = specObject;
// dishObject.specs = specs;
// dishes[productId] = dishObject;
// storeCartMap.dishes = dishes;
// cartMap[storeId] = storeCartMap;
// this.setstoreCartMap({
// storeId: storeId,
// storeCartMap: storeCartMap
// });
// }
// return cartMap;
// };
// var editCartMap = function() {
// };
// var addCardMap = function() {
// };
// /* 清除指定门店购物车 */
// var clearStoreCartMap = function(option) {
// var storeId = this.getStore().id;
// var cartMap = this.getCartMap();
// if (cartMap != null) {
// cartMap[storeId] = undefined;
// }
// return this.setCartMap(cartMap);
// };
// /* 从购物车获取已购买商品map */
// var getSpecMapByCart = function() {
// var specMap = {};
// var cartStoreMap = this.getStoreCartMap(this.getStore().id);
// if (null != cartStoreMap && undefined != cartStoreMap) {
// var dishes = cartStoreMap.dishes;
// if (utils.isNotBlank(dishes)) {
// for (var productId in dishes) {
// var dishObj = dishes[productId];
// var goodsName = dishObj.name;
// var specName = dishObj.specName;
// var specs = dishObj.specs;
// if (utils.isNotBlank(specs)) {
// for (var uniqueId in specs) {
// specs[uniqueId].name = goodsName;
// // 为了保证唯一 key=规格商品Id + 做法字符串
// specMap[uniqueId] = specs[uniqueId];
// }
// }
// }
// }
// }
// return specMap;
// };
// /* 从购物车获取已购买商品map */
// var getDishMapByCart = function() {
// var dishMap = {};
// var cartStoreMap = this.getStoreCartMap(this.getStore().id);
// if (null != cartStoreMap && undefined != cartStoreMap) {
// var dishes = cartStoreMap.dishes;
// if (utils.isNotBlank(dishes)) {
// for (var key in dishes) {
// var dishObj = dishes[key];
// var goodsName = dishObj.name;
// var specName = dishObj.specName;
// var num = 0;
// // 计算商品数量和金额合计
// var specs = dishObj.specs;
// if (utils.isNotBlank(specs)) {
// for (var jkey in specs) {
// var specObj = specs[jkey];
// num = utils.numAdd(num, specObj.num);
// }
// }
// dishObj.num = num;
// dishMap[key] = dishObj;
// }
// }
// }
// return dishMap;
// };
// /* 从购物车获取已购买商品list */
// var getDishListByCart = function() {
// var dishList = [];
// var cartStoreMap = this.getStoreCartMap(this.getStore().id);
// if (null != cartStoreMap && undefined != cartStoreMap) {
// var dishes = cartStoreMap.dishes;
// if (null != dishes && undefined != dishes) {
// for (var key in dishes) {
// var dishObj = dishes[key];
// var goodsName = dishObj.name;
// var specName = dishObj.specName;
// var specs = dishObj.specs;
// if (null != specs && undefined != specs) {
// for (var jkey in specs) {
// if (undefined != specName && specName != '') {
// specs[jkey].name = "(" + specName + ") " + goodsName;
// } else {
// specs[jkey].name = goodsName;
// }
// dishList.push(specs[jkey]);
// }
// }
// }
// }
// }
// return dishList;
// };
// /* 获取门店菜单点菜统计 */
// var getCartTotal = function() {
// var storeId = getStore().id;
// var storeCartMap = this.getStoreCartMap(storeId);
// // console.log(storeCartMap);
// var data = {};
// var totalNum = 0;
// var totalCash = 0.00;
// var totalMemberCash = 0.00;
// if (utils.isNotBlank(storeCartMap)) {
// totalNum = storeCartMap.totalNum;
// totalCash = storeCartMap.totalCash;
// totalMemberCash = storeCartMap.totalMemberCash;
// }
// data.totalNum = totalNum;
// data.totalCash = Number(totalCash).toFixed(digits);
// data.totalMemberCash = Number(totalMemberCash).toFixed(digits);
// return data;
// };
// /* 清除购物车 */
// var clearStoreCartMap = function(option) {
// app.takeMethod = "";
// app.table = {};
// var storeId = getStore().id;
// var cartMap = this.getCartMap();
// if (cartMap != null) {
// cartMap[storeId] = undefined;
// }
// return this.setCartMap(cartMap);
// };
// /**
// * 营业模式
// */
// var getStoreBusMode = function(index) {
// var map;
// if (index == 0) {
// map = {
// name: "堂食",
// sign: "0",
// icon: "icon-tangshi-1"
// }
// }
// if (index == 1) {
// map = {
// name: "外带",
// sign: "1",
// icon: "icon-waidai"
// }
// }
// if (index == 2) {
// map = {
// name: "外卖",
// sign: "2",
// icon: "icon-yunshuzhongwuliu-xianxing"
// }
// }
// return map;
// };
// /**输出函数 */
// module.exports = {
// setStore: setStore,
// getStore: getStore,
// setCartMap: setCartMap,
// getCartMap: getCartMap,
// setStoreCartMap: setStoreCartMap,
// getStoreCartMap: getStoreCartMap,
// putCartMap: putCartMap,
// getSpecMapByCart: getSpecMapByCart,
// getDishMapByCart: getDishMapByCart,
// getCartTotal: getCartTotal,
// getDishListByCart: getDishListByCart,
// clearStoreCartMap: clearStoreCartMap,
// getStoreBusMode: getStoreBusMode,
// }