placeActivityInfo.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <template>
  2. <van-nav-bar
  3. fixed
  4. title="场所活动"
  5. left-text=""
  6. left-arrow
  7. @click-left="onClickLeft"
  8. />
  9. <van-loading size="16px" v-if="isLoading">加载中...</van-loading>
  10. <div class="main" v-if="!isLoading">
  11. <div class="banner">
  12. <h2>扎实提升“三力”</h2>
  13. <h2>深入推进“三化”</h2>
  14. <h2>坚持“三个思维”</h2>
  15. </div>
  16. <div class="info">
  17. <p>活动名称:{{ placeActivity.activityName }}</p>
  18. <p>场所名称:{{ placeActivity.siteName.name }}</p>
  19. <p>发起人:{{ placeActivity.reporter.name }}</p>
  20. <p>参会人数:{{ placeActivity.participantsNum }}</p>
  21. <p>已知人员名单:{{ placeActivity.knownList.name }}</p>
  22. <p>活动地点:{{ placeActivity.place }}</p>
  23. <p>详细地址:{{ placeActivity.placeDel }}</p>
  24. <p>活动时间:{{ placeActivity.activityTime }}</p>
  25. <p>安全预案:<span style="color: #6892ff">活动申请书</span></p>
  26. <p>主题内容:{{ placeActivity.subjectContent }}</p>
  27. </div>
  28. <van-button type="primary" class="btn-sub">审核</van-button>
  29. </div>
  30. </template>
  31. <script>
  32. import { ref } from "vue";
  33. import placeActivityServer from "@/api/placeActivity/placeActivityServer";
  34. import UserManage from "@/api/user/UserManage";
  35. import { useRoute } from "vue-router";
  36. export default {
  37. setup() {
  38. const onClickLeft = () => {
  39. history.back();
  40. };
  41. // 加载
  42. let isLoading = ref(true);
  43. // 活动信息
  44. const placeActivity = ref({
  45. id: "",
  46. activityName: "",
  47. siteName: {
  48. id: "",
  49. name: "",
  50. },
  51. activityTime: "",
  52. participantsNum: "",
  53. knownList: {
  54. id: "",
  55. name: "",
  56. },
  57. subjectContent: "",
  58. reporter: {
  59. id: "",
  60. name: "",
  61. },
  62. participation: "",
  63. place: "",
  64. placeDel: "",
  65. sourceFunds: "",
  66. safetyPlan: "",
  67. activityPerson: {
  68. id: "",
  69. name: "",
  70. },
  71. phone: "",
  72. state: "",
  73. assessment: "",
  74. });
  75. let route = useRoute();
  76. new placeActivityServer().queryById(route.query.id).then((data) => {
  77. placeActivity.value = data;
  78. let ids = data.knownList.id.split(",");
  79. placeActivity.value.knownList.name = "";
  80. ids.forEach((item) => {
  81. new UserManage().queryById(item).then((data) => {
  82. placeActivity.value.knownList.name += data.name + ",";
  83. });
  84. });
  85. isLoading.value = false;
  86. });
  87. return {
  88. onClickLeft,
  89. placeActivity,
  90. isLoading,
  91. };
  92. },
  93. };
  94. </script>
  95. <style lang="less">
  96. .main {
  97. background: #fff;
  98. position: relative;
  99. top: 40px;
  100. }
  101. .banner {
  102. background-color: #36a7f3;
  103. padding: 20px 50px 40px 50px;
  104. color: #fff;
  105. h2 {
  106. &:nth-child(1) {
  107. margin-top: 0px;
  108. text-align: left;
  109. }
  110. &:nth-child(2) {
  111. text-align: center;
  112. }
  113. &:nth-child(3) {
  114. text-align: right;
  115. }
  116. }
  117. }
  118. .info {
  119. position: relative;
  120. width: 86vw;
  121. // height: 120px;
  122. margin: 10px auto;
  123. padding: 10px;
  124. background: #fff;
  125. border-radius: 20px;
  126. top: -50px;
  127. font-size: 14px;
  128. }
  129. .btn-sub {
  130. width: 90%;
  131. border-radius: 20px;
  132. margin-left: 5%;
  133. }
  134. .van-loading {
  135. text-align: center;
  136. margin-top: 80px;
  137. }
  138. </style>