index.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <template>
  2. <view class="about-container">
  3. <u-navbar :titleStyle="{ color: '#000' }" :autoBack="true" title="会议详情" :placeholder="true" :safeAreaInsetTop="true" bgColor="#fff">
  4. <template #left>
  5. <view class="u-navbar__content__left__item">
  6. <u-icon name="arrow-left" size="20" color="#000"></u-icon>
  7. </view>
  8. </template>
  9. </u-navbar>
  10. <view class="oa-header-section text-center"> </view>
  11. <view class="oa-content-section">
  12. <view class="menu-list mt10 mlr0">
  13. <view class="list-cell">
  14. <view class="menu-item">
  15. <view>会议室名称</view>
  16. <view class="ml-auto text-right">{{ detailsData.roomName || "" }}</view>
  17. </view>
  18. </view>
  19. <view class="list-cell">
  20. <view class="menu-item">
  21. <view>所在楼层</view>
  22. <view class="ml-auto text-right">{{ detailsData.meetingFloor.floorName || "" }}</view>
  23. </view>
  24. </view>
  25. <view class="list-cell">
  26. <view class="menu-item">
  27. <view>容纳人数</view>
  28. <view class="ml-auto text-right">{{ detailsData.capacity || "" }}</view>
  29. </view>
  30. </view>
  31. <view class="list-cell">
  32. <view class="menu-item">
  33. <view>创建时间</view>
  34. <view class="ml-auto text-right">{{ detailsData.createTime ? detailsData.createTime.replace("T", " ") : detailsData.createTime || "" }}</view>
  35. </view>
  36. </view>
  37. </view>
  38. <view class="menu-list mt10 mlr0">
  39. <view class="list-cell">
  40. <view class="menu-item">
  41. <view>会议室设施</view>
  42. </view>
  43. <view class="menu-item mt10">
  44. <view class="text-right" v-for="dev in detailsData.meetingDevice" :key="dev">{{ dev.deviceName || "" }}</view>
  45. </view>
  46. </view>
  47. </view>
  48. </view>
  49. <view class="oa-footer-section"> </view>
  50. </view>
  51. </template>
  52. <script setup>
  53. /*----------------------------------依赖引入-----------------------------------*/
  54. import { onReady, onLoad, onShow, onNavigationBarButtonTap } from "@dcloudio/uni-app";
  55. import { ref, reactive, computed, getCurrentInstance, toRefs, inject } from "vue";
  56. /*----------------------------------接口引入-----------------------------------*/
  57. import { meetingRoomDetails } from "@/api/business/meeting.js";
  58. /*----------------------------------组件引入-----------------------------------*/
  59. /*----------------------------------store引入-----------------------------------*/
  60. /*----------------------------------公共方法引入-----------------------------------*/
  61. /*----------------------------------公共变量-----------------------------------*/
  62. const { proxy } = getCurrentInstance();
  63. /*----------------------------------变量声明-----------------------------------*/
  64. const state = reactive({
  65. detailsData: {
  66. meetingFloor: {
  67. floorName: "",
  68. },
  69. },
  70. });
  71. const { detailsData } = toRefs(state);
  72. //会议详情接口调用
  73. function meetingDetailsApi(roomId) {
  74. meetingRoomDetails({
  75. roomId: roomId,
  76. }).then((res) => {
  77. console.log(res);
  78. state.detailsData = res.data;
  79. });
  80. }
  81. onShow(() => {
  82. //调用系统主题颜色
  83. proxy.$settingStore.systemThemeColor([1]);
  84. });
  85. onLoad((options) => {
  86. if ("roomId" in options) {
  87. meetingDetailsApi(options.roomId);
  88. }
  89. });
  90. </script>
  91. <style lang="scss" scoped>
  92. .about-container {
  93. .oa-header-section {
  94. display: flex;
  95. flex-direction: column;
  96. align-items: center;
  97. }
  98. .oa-footer-section {
  99. margin-top: 25px;
  100. text-align: center;
  101. line-height: 30px;
  102. color: #999;
  103. font-size: 12px;
  104. :deep(.u-text__value) {
  105. justify-content: center;
  106. }
  107. }
  108. }
  109. </style>