view.vue 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <template>
  2. <uni-drawer ref="drawerRightRef" mode="right" :mask-click="false" @change="change($event,'drawerRightRef')">
  3. <z-paging class="page-nopadding" ref="paging" style="top: 0px;" v-model="dataList" @query="queryList">
  4. <!-- z-paging默认铺满全屏,此时页面所有view都应放在z-paging标签内,否则会被盖住 -->
  5. <!-- 需要固定在页面顶部的view请通过slot="top"插入,包括自定义的导航栏 -->
  6. <template #top>
  7. <view class="page-top justify-center">
  8. {{$t('workOrder.materialDetails')}}
  9. </view>
  10. </template>
  11. <view class="page-list">
  12. <view class="item" v-for="(item,index) in dataList" :key="index">
  13. <view class="item-content flex-row align-center justify-between bold">
  14. <view class="item-title flex-row align-center">
  15. <span>{{$t('operationRecordFilling.belongToTeam')}}:</span>
  16. <span>{{item.orgName}}</span>
  17. </view>
  18. </view>
  19. </view>
  20. </view>
  21. <!-- 如果需要使用页脚,请使用slot="bottom"slot节点不支持通过v-if或v-show动态显示/隐藏,若需要动态控制,可将v-if添加在其子节点上 -->
  22. <template #bottom>
  23. <button style="border-radius: 0;" type="primary"
  24. @click="closeDrawer('drawerRightRef')">{{$t('operation.back')}}</button>
  25. </template>
  26. </z-paging>
  27. </uni-drawer>
  28. </template>
  29. <script setup>
  30. import {
  31. ref,
  32. reactive
  33. } from 'vue'
  34. import dayjs from 'dayjs'
  35. import {
  36. getMaterialDetail,
  37. } from '@/api/material.js';
  38. import {
  39. getUserId,
  40. getDeptId
  41. } from "@/utils/auth.js"
  42. const paging = ref(null)
  43. // v-model绑定的这个变量不要在分页请求结束中自己赋值,直接使用即可
  44. const dataList = ref([])
  45. // @query所绑定的方法不要自己调用!!需要刷新列表数据时,只需要调用paging.value.reload()即可
  46. const queryList = (pageNo, pageSize) => {
  47. // 此处请求仅为演示,请替换为自己项目中的请求
  48. getMaterialDetail({
  49. pageNo,
  50. pageSize,
  51. workOrderId: workOrderId,
  52. bomNodeId: bomNodeId
  53. }).then(res => {
  54. // 将请求结果通过complete传给z-paging处理,同时也代表请求结束,这一行必须调用
  55. paging.value.complete(res.data.list);
  56. }).catch(res => {
  57. // 如果请求失败写paging.value.complete(false);
  58. // 注意,每次都需要在catch中写这句话很麻烦,z-paging提供了方案可以全局统一处理
  59. // 在底层的网络请求抛出异常时,写uni.$emit('z-paging-error-emit');即可
  60. paging.value.complete(false);
  61. })
  62. }
  63. const drawerRightRef = ref(null)
  64. const change = (e, ref) => {
  65. console.log(e, ref)
  66. }
  67. const openDrawer = (ref) => {
  68. drawerRightRef.value.open()
  69. }
  70. const closeDrawer = (ref) => {
  71. drawerRightRef.value.close()
  72. }
  73. defineExpose({
  74. openDrawer,
  75. closeDrawer
  76. })
  77. </script>
  78. <style lang="scss" scoped>
  79. :deep(.uni-drawer__content) {
  80. width: 100% !important;
  81. min-width: 375px !important;
  82. }
  83. </style>