index.sjs 880 B

123456789101112131415161718192021222324252627282930313233343536
  1. // 获得购物车中对应skuId商品总数
  2. const getQuantity = (carList = [], skuId = 0) => {
  3. const carIndex = carList.findIndex(v => v.skuId === skuId);
  4. return carIndex !== -1 ? carList[carIndex].quantity : 0;
  5. };
  6. // 是否可买
  7. // 参数 在售状态,库存状态,库存数量 限购
  8. // params { status, stockStatus, stock }
  9. const isActive = (goodsItem) => {
  10. const {
  11. status, // 是否停售
  12. stockStatus = 'N', // 是否有库存
  13. stock = 0,
  14. buyLimitCount = 1,
  15. quantity = 0,
  16. buyLimitType = '', // 是否限购
  17. } = goodsItem;
  18. // 不在售
  19. if (status === 'N') {
  20. return false;
  21. }
  22. // 库存为 0 不能买
  23. if (stockStatus === 'Y' && !stock) {
  24. return false;
  25. }
  26. // 限购了
  27. if (buyLimitType === 'GENERAL' && quantity >= buyLimitCount) {
  28. return false;
  29. }
  30. return true;
  31. };
  32. export default {
  33. isActive,
  34. getQuantity,
  35. };