cartMixins.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. // 统计数据
  2. // 统计类型 1:首页banner;2:直播模块;3:最新活动;4:热门文章;5:新品橱窗;6:活动列表
  3. import Vue from 'vue'
  4. const cartMixins = {
  5. data() {
  6. return {
  7. }
  8. },
  9. methods: {
  10. hanldlerToConfirm() {
  11. //跳转确认订单页面
  12. let skuIds = ''
  13. this.isNoConfim = false
  14. this.goodsList.forEach(supper => {
  15. supper.cartList.forEach(pros => {
  16. if (pros.isChecked) {
  17. // 获取勾选的商品ID拼接字符串逗号隔开,最后一个逗号去掉
  18. skuIds += pros.skuId + ','
  19. // 有商品的购买量没达到最小起订量
  20. if (pros.number < pros.min) {
  21. this.isNoConfim = true
  22. }
  23. }
  24. })
  25. })
  26. if (skuIds === '') {
  27. this.$util.msg('请先选择结算商品~', 2000)
  28. return
  29. }
  30. if (this.isNoConfim) {
  31. this.$util.modal(
  32. '',
  33. '有商品的购买量没达到最小起订量,请修改数量后再次提交结算',
  34. '去修改',
  35. '',
  36. false,
  37. () => {}
  38. )
  39. return
  40. }
  41. // 友盟埋点购物车去结算点击事件
  42. if (process.env.NODE_ENV != 'development') {
  43. this.$uma.trackEvent('Um_Event_shoppingCartConfirmOrder', {
  44. Um_Key_PageName: '去结算',
  45. Um_Key_SourcePage: '底部菜单购物车'
  46. })
  47. }
  48. let cartSkuIds = { skuIds: skuIds.substring(0, skuIds.lastIndexOf(',')) }
  49. this.$api.navigateTo(
  50. `/pages/user/order/create-order?type=2&data=${JSON.stringify({ data: cartSkuIds })}`
  51. )
  52. },
  53. handleBtnConfirm(data) {
  54. console.log('data', data)
  55. // 确认重选规格调用 apisMixins -> apiQueryShoppingCartList
  56. this.apiUserClubCheckSku(data)
  57. },
  58. updateShoppogNum(pros) {
  59. const params = {
  60. userId: this.userId,
  61. skuId: pros.skuId,
  62. productCount: pros.number,
  63. source: 2
  64. }
  65. // 更新购物车调用 apisMixins -> apiQueryShoppingCartList
  66. this.apiShoppingCartUpdate(params)
  67. },
  68. handleDeleteCart() { //删除购物车商品
  69. let delSkuIds = ''
  70. this.goodsList.forEach(delitem => {
  71. delitem.cartList.forEach(pros => {
  72. if (pros.isChecked) {
  73. delSkuIds += pros.skuId + ','
  74. }
  75. })
  76. })
  77. this.failureList.forEach(failure => {
  78. if (failure.isChecked) {
  79. delSkuIds += failure.skuId + ','
  80. }
  81. })
  82. if (delSkuIds.length == 0) {
  83. this.$util.msg('请选择要删除的商品~', 2000)
  84. return
  85. }
  86. this.$util.modal('', '确定删除选中的商品吗?', '确定', '取消', true, () => {
  87. this.shoppingCartDelete({ userId: this.userId, skuIds: delSkuIds })
  88. })
  89. },
  90. handleDeletefailures() { // 一键清楚所有失效商品
  91. let delSkuIds = ''
  92. this.failureList.forEach(failure => {
  93. delSkuIds += failure.skuId + ','
  94. })
  95. this.$util.modal('', '确定清空全部失效商品吗?', '确定', '取消', true, () => {
  96. this.shoppingCartDelete({ userId: this.userId, skuIds: delSkuIds })
  97. })
  98. }
  99. }
  100. }
  101. export default cartMixins