index.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <template>
  2. <auth-wrap ref="authWrap">
  3. <view class="regmeeting-content-info-container" slot="content">
  4. <u-cell-group :border="false">
  5. <u-cell title="姓名" :label="meetingInfo.usrName">
  6. </u-cell>
  7. </u-cell-group>
  8. <u-cell-group :border="false">
  9. <u-cell title="单位名称" :label="meetingInfo.orgUnitName">
  10. </u-cell>
  11. </u-cell-group>
  12. <u-cell-group :border="false">
  13. <u-cell title="职务" :label="meetingInfo.uniLevel">
  14. </u-cell>
  15. </u-cell-group>
  16. <u-cell-group :border="false">
  17. <u-cell title="联系电话" :label="meetingInfo.tel">
  18. </u-cell>
  19. </u-cell-group>
  20. <u-cell-group :border="false">
  21. <u-cell title="邮箱" :label="meetingInfo.email">
  22. </u-cell>
  23. </u-cell-group>
  24. <u-cell-group :border="false">
  25. <u-cell title="人员类型" :label="USR_TYPE[meetingInfo.usrType].name">
  26. </u-cell>
  27. </u-cell-group>
  28. <template v-if="meetingInfo.applyType == MEETING_TYPE.meeting.value">
  29. <u-cell-group :border="false">
  30. <u-cell title="是否参加现场调研">
  31. <view
  32. slot="label"
  33. >
  34. <u-tag
  35. plain
  36. :text="SYS_YES_NO[meetingInfo.conferenceFlag].name"
  37. :type="meetingInfo.conferenceFlag == SYS_YES_NO['0'].value ? 'success' : 'warning'">
  38. </u-tag>
  39. </view>
  40. </u-cell>
  41. </u-cell-group>
  42. <u-cell-group :border="false" v-if="meetingInfo.conferenceFlag == SYS_YES_NO['0'].value">
  43. <u-cell title="调研会场" :label="meetingInfo.contentTitle">
  44. </u-cell>
  45. </u-cell-group>
  46. </template>
  47. <template v-else>
  48. <u-cell-group :border="false">
  49. <u-cell title="会议类型" :label="MEETING_TYPE[meetingInfo.applyType].name">
  50. </u-cell>
  51. </u-cell-group>
  52. <u-cell-group :border="false">
  53. <u-cell title="会议信息" :label="meetingInfo.contentTitle">
  54. </u-cell>
  55. </u-cell-group>
  56. </template>
  57. <u-cell-group :border="false">
  58. <u-cell title="来程交通方式" :label="TFC_TYPE[meetingInfo.wayComing].name">
  59. </u-cell>
  60. </u-cell-group>
  61. <u-cell-group :border="false">
  62. <u-cell :title="TFC_INFO[meetingInfo.wayComing].name" :label="meetingInfo.comInfo">
  63. </u-cell>
  64. </u-cell-group>
  65. <u-cell-group :border="false">
  66. <u-cell title="回程交通方式" :label="TFC_TYPE[meetingInfo.wayBack].name">
  67. </u-cell>
  68. </u-cell-group>
  69. <u-cell-group :border="false">
  70. <u-cell :title="TFC_INFO[meetingInfo.wayBack].name" :label="meetingInfo.backInfo">
  71. </u-cell>
  72. </u-cell-group>
  73. <u-cell-group :border="false">
  74. <u-cell title="备注" :label="meetingInfo.remark">
  75. </u-cell>
  76. </u-cell-group>
  77. <u-cell-group :border="false">
  78. <u-cell title="审核状态">
  79. <view
  80. slot="label"
  81. >
  82. <u-tag
  83. plain
  84. :text="REVIEW_STATUS[meetingInfo.reviewState].name"
  85. :type="REVIEW_STATUS[meetingInfo.reviewState].tag">
  86. </u-tag>
  87. </view>
  88. </u-cell>
  89. </u-cell-group>
  90. <u-cell-group :border="false" v-if="REVIEW_STATUS.noPass.value == meetingInfo.reviewState">
  91. <u-cell title="不通过原因" :label="meetingInfo.reviewMsg">
  92. </u-cell>
  93. </u-cell-group>
  94. <view style="margin-top: 20px">
  95. <rich-text
  96. v-if="REVIEW_STATUS[meetingInfo.reviewState]"
  97. :content="tips[REVIEW_STATUS[meetingInfo.reviewState].tip].content">
  98. </rich-text>
  99. </view>
  100. <view class="u-page__button-item">
  101. <u-button
  102. :disabled="[REVIEW_STATUS.pass.value].includes(meetingInfo.reviewState)"
  103. text="重新申请"
  104. size="normal"
  105. type="primary"
  106. ></u-button>
  107. </view>
  108. </view>
  109. </auth-wrap>
  110. </template>
  111. <script>
  112. import { fetchMeetingTips, fetchUsrApplyDetail } from '@/common/api';
  113. import { MEETING_TYPE, REVIEW_STATUS, SYS_YES_NO, TFC_INFO, TFC_TYPE, USR_TYPE } from '@/common/EnumConst';
  114. import AuthWrap from '@/components/AuthComp/index.vue';
  115. import RichText from '@/components/RichText/index.vue';
  116. export default {
  117. name: 'content',
  118. components: {
  119. RichText,
  120. AuthWrap,
  121. },
  122. props: {},
  123. data() {
  124. return {
  125. SYS_YES_NO,
  126. REVIEW_STATUS,
  127. USR_TYPE,
  128. MEETING_TYPE,
  129. TFC_INFO,
  130. TFC_TYPE,
  131. meetingInfo: {},
  132. tips: {},
  133. };
  134. },
  135. created() {
  136. },
  137. onLoad(res) {
  138. // 登录返回之后的页面
  139. if (res) {
  140. this.queryParams = res;
  141. }
  142. this.getUsrMeetingInfo();
  143. this.getTips();
  144. },
  145. methods: {
  146. async getUsrMeetingInfo() {
  147. const { data } = await fetchUsrApplyDetail(this.queryParams.id);
  148. if (!data) {
  149. return;
  150. }
  151. this.meetingInfo = data;
  152. },
  153. async getTips() {
  154. const { data } = await fetchMeetingTips();
  155. if (!data) {
  156. return;
  157. }
  158. const result = {};
  159. data.forEach((item) => {
  160. result[item.id] = item;
  161. });
  162. this.tips = result;
  163. },
  164. },
  165. };
  166. </script>
  167. <style lang="scss" src="./index.scss" />;