shop.vue 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <template>
  2. <!-- 组件模板只能包含一个根元素,除非使用v-if 和 v-if-else -->
  3. <div>
  4. <!-- 轮播及店铺推荐 -->
  5. <recommend-store/>
  6. <recommendStore-show/>
  7. </div>
  8. </template>
  9. <script>
  10. import { RecommendStore, RecommendStoreShow } from '~components/provider'
  11. export default {
  12. layout: 'main',
  13. fetch ({ store, route }) {
  14. return Promise.all([
  15. // 计数器
  16. store.dispatch('loadCounterData'),
  17. store.commit('provider/stores/SET_STORETYPE', 'origin'),
  18. // 店铺
  19. store.dispatch('loadBanners', {type: 'factory_banner_carousel'}),
  20. store.dispatch('provider/loadSalesStore', { isOriginal: true }),
  21. store.dispatch('provider/loadNewStores', { types: 'ORIGINAL_FACTORY', size: 5 }),
  22. store.dispatch('provider/loadRecommendOriginal', { types: 'ORIGINAL_FACTORY', num: 5 }),
  23. store.dispatch('provider/findSimilarStoreList', { page: 1, count: 10, type: 'ORIGINAL_FACTORY' }),
  24. store.dispatch('provider/loadHotComponents'),
  25. store.dispatch('provider/loadFactoriesCount'),
  26. store.dispatch('provider/loadAgencyCount'),
  27. store.dispatch('loadStoreStatus', { op: 'check' }),
  28. // 供应商
  29. store.dispatch('supplier/loadVendorList', {page: 1, size: 10}),
  30. store.dispatch('supplier/loadVendorAll', {page: 1, size: 20}),
  31. store.dispatch('supplier/loadNewMerchant', {filter: 'page', size: 10}),
  32. store.dispatch('supplier/loadRecommend', {size: 19}),
  33. // 品牌
  34. store.dispatch('loadFloors'),
  35. store.dispatch('loadBanners', {type: 'Brand-v3'}),
  36. store.dispatch('loadBrandCarousel'),
  37. store.dispatch('loadBrandBanner'),
  38. store.dispatch('product/loadRecommends'),
  39. store.dispatch('product/loadBrandsPager', {'initial': route.params.initial, 'page': 1, 'count': 60, 'keyword': ''})
  40. ])
  41. },
  42. components: {
  43. RecommendStore,
  44. RecommendStoreShow
  45. },
  46. data () {
  47. return {
  48. msg: 'hello vue'
  49. }
  50. }
  51. }
  52. </script>
  53. <style scoped lang="scss">
  54. div{
  55. background: #f2f1f1;
  56. }
  57. </style>