index.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <script setup>
  2. import { getElevatorLargeScreenListApi } from '@/api/elevator'
  3. import { usePaging } from '@/composables/use-paging'
  4. const webView = '/pages/views/web-view/index'
  5. const toDetail = (item) => {
  6. console.log('toDetail =>', item)
  7. const { name, areaCode, address } = item
  8. const domain = address.replace(
  9. 'http://111.172.230.93:7001',
  10. 'https://h5.hbrja.com'
  11. )
  12. let codeList = []
  13. try {
  14. codeList = JSON.parse(areaCode)
  15. } catch (error) {
  16. console.log('获取区域码失败', error)
  17. }
  18. const code = codeList[codeList.length - 1]
  19. const link = `${domain}?areaCode=${code}&name=${name}`
  20. const url = `${webView}?url=${encodeURIComponent(link)}&hasBack=1`
  21. uni.navigateTo({
  22. url
  23. })
  24. }
  25. const query = ref({})
  26. const { paging, dataList, queryHandler } = usePaging({
  27. apiFn: getElevatorLargeScreenListApi,
  28. query
  29. })
  30. const options = ref({})
  31. onLoad(async (e) => {
  32. dataList.value = []
  33. options.value = e
  34. })
  35. </script>
  36. <template>
  37. <view class="passenger-feedback" w-full h-100vh flex-col f-s-c bg="#F8F8F8">
  38. <view w-full flex-auto overflow-hidden mt-8 bg-white>
  39. <z-paging
  40. ref="paging"
  41. v-model="dataList"
  42. :fixed="false"
  43. @query="queryHandler"
  44. >
  45. <up-card
  46. v-for="(item, index) in dataList"
  47. :key="index"
  48. :title="item.name"
  49. @click="toDetail(item)"
  50. >
  51. <template #body>
  52. <view>
  53. <up-cell title="名称" :value="item.address" />
  54. <up-cell title="备注" :value="item.remark" />
  55. </view>
  56. </template>
  57. </up-card>
  58. </z-paging>
  59. </view>
  60. </view>
  61. </template>