pending.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <template>
  2. <view class="common-page" style="padding: 0;">
  3. <PageScroll
  4. requestStr="/app/workOrder/getMyHandleWorkOrder"
  5. @updateList="updateList"
  6. ref="scrollRef"
  7. :otherParams="otherParams"
  8. method="get"
  9. >
  10. <view class="list-con" v-if="dataList.length">
  11. <WorkorderItem
  12. v-for="(cell, idx) in dataList"
  13. :key="idx"
  14. :item="cell"
  15. :showDuration="false"
  16. @click="goDetail(cell)"
  17. class="mt-20"
  18. />
  19. </view>
  20. </PageScroll>
  21. </view>
  22. </template>
  23. <script setup>
  24. import { ref } from 'vue'
  25. import { onShow } from '@dcloudio/uni-app'
  26. import PageScroll from '@/components/pageScroll/index.vue'
  27. import WorkorderItem from '../components/workorder-item.vue'
  28. const dataList = ref([])
  29. const scrollRef = ref(null)
  30. const otherParams = ref({
  31. type: 1 // 工单类型:1-卖书
  32. })
  33. const updateList = (data, page) => {
  34. // 如果data是响应对象,提取rows
  35. const rows = data?.rows || data
  36. dataList.value = Array.isArray(rows) && rows.length ? rows : []
  37. }
  38. const refreshList = () => {
  39. scrollRef.value?.resetUpScroll()
  40. }
  41. const goDetail = (cell) => {
  42. const id = cell?.id || ''
  43. uni.navigateTo({
  44. url: `/pages/order/mall/detail?id=${id}`
  45. })
  46. }
  47. onShow(() => {
  48. refreshList()
  49. })
  50. </script>
  51. <style lang="scss" scoped>
  52. .list-con {
  53. padding: 10rpx 30rpx;
  54. gap: 30rpx;
  55. }
  56. </style>