helper.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import { navbarButtonGroup } from '../config/config.js'
  2. // 获取产品活动类型 (拼团 活动价 限时特价)
  3. export function generateActivityType(productData) {
  4. const { collageStatus = 0, activeStatus = 0, discountStatus = 0 } = productData
  5. // 拼团价
  6. if (collageStatus > 0) {
  7. return 'group' // 拼团价
  8. }
  9. // 限时活动
  10. else if (discountStatus > 0) {
  11. return 'time-limit'
  12. }
  13. // 普通活动价
  14. else if (activeStatus > 0) {
  15. return 'activity'
  16. }
  17. // 普通商品
  18. return 'normal' // 普通价
  19. }
  20. // 获取产品价格类型
  21. export function generatePriceType(productData) {
  22. const { couponStatus = 0, collageStatus = 0, activeStatus = 0, discountStatus = 0 } = productData
  23. // 拼团价
  24. if (collageStatus > 0) {
  25. if (couponStatus === 1) {
  26. return 'groupWithCoupon' // 拼团券后价
  27. } else {
  28. return 'group' // 拼团价
  29. }
  30. }
  31. // 限时活动
  32. else if (discountStatus > 0 || activeStatus > 0) {
  33. if (couponStatus === 1) {
  34. return 'activityWithCoupon' // 券后价
  35. } else {
  36. return 'normal' // 限时活动价格
  37. }
  38. }
  39. // 无活动价
  40. else {
  41. if (couponStatus === 1) {
  42. return 'normalWithCoupon' // 普通券后价
  43. } else {
  44. return 'normal' // 普通价
  45. }
  46. }
  47. }
  48. export function generateNavbarButtonText(productData) {
  49. const { priceType } = productData
  50. const navbarButton = navbarButtonGroup[priceType]
  51. // 拼团券后价购买
  52. if (priceType === 'groupWithCoupon') {
  53. navbarButton.left[1] = `¥${productData.normalCouponPrice.toFixed(2)}`
  54. navbarButton.right[1] = `¥${productData.couponPrice.toFixed(2)}`
  55. }
  56. // 拼团价购买
  57. else if (priceType === 'group') {
  58. navbarButton.left[1] = `¥${productData.normalPrice.toFixed(2)}`
  59. navbarButton.right[1] = `¥${productData.price.toFixed(2)}`
  60. }
  61. // 活动价券后价购买(限时特价|普通活动)
  62. else if (priceType === 'activityWithCoupon') {
  63. navbarButton.right[1] = `¥${productData.couponPrice.toFixed(2)}`
  64. }
  65. // 普通价券后价购买
  66. else if (priceType === 'normalWithCoupon') {
  67. navbarButton.right[1] = `¥${productData.couponPrice.toFixed(2)}`
  68. } else {
  69. navbarButton.right[1] = ''
  70. }
  71. return navbarButton
  72. }