menuShop.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <template>
  2. <view class="order-list">
  3. <z-paging ref="paging" v-model="dataList" @query="queryList">
  4. <view class="page-box">
  5. <uv-list>
  6. <uv-list-item v-for="(item,index) in dataList" :key="item.id" border>
  7. <template #body>
  8. <view style="width: 100%;">
  9. <good-item :item="item"></good-item>
  10. </view>
  11. </template>
  12. </uv-list-item>
  13. </uv-list>
  14. </view>
  15. </z-paging>
  16. </view>
  17. </template>
  18. <script>
  19. import {
  20. getGoodByQuery
  21. } from '@/request/api/shop.js'
  22. import goodItem from '@/components/common/goodItem.vue';
  23. export default {
  24. data() {
  25. return {
  26. idCategory: '',
  27. dataList: []
  28. };
  29. },
  30. components: {
  31. goodItem
  32. },
  33. onLoad(body) {
  34. this.idCategory = body.idCategory;
  35. },
  36. computed: {},
  37. methods: {
  38. async queryList(index, size) {
  39. let filterOption = {
  40. page: index,
  41. limit: size,
  42. idCategory: this.idCategory
  43. };
  44. uni.showLoading()
  45. let orderData = await getGoodByQuery(filterOption);
  46. if (orderData.state) {
  47. uni.hideLoading();
  48. this.$refs.paging.complete(orderData.data.records);
  49. return
  50. }
  51. this.$refs.paging.complete(false);
  52. }
  53. }
  54. };
  55. </script>
  56. <style lang="scss" scoped>
  57. .page-box {
  58. padding-top: 30rpx;
  59. }
  60. </style>