club-detail.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. <template>
  2. <div class="club-detail page">
  3. <div class="page-top"></div>
  4. <div class="page-content">
  5. <div class="title">机构认证信息</div>
  6. <template v-if="!isAuth">
  7. <div class="tip">抱歉,您暂未认证机构</div>
  8. <div class="btn" @click="toAuth">去认证</div>
  9. </template>
  10. <template v-else>
  11. <div class="row">
  12. <div class="col label">机构名称:</div>
  13. <div class="col content">{{ clubInfo.authParty }}</div>
  14. </div>
  15. <div class="row">
  16. <div class="col label">联系电话:</div>
  17. <div class="col content">{{ clubInfo.mobile }}</div>
  18. </div>
  19. <div class="row">
  20. <div class="col label">运营联系人:</div>
  21. <div class="col content">{{ clubInfo.linkMan }}</div>
  22. </div>
  23. <div class="row">
  24. <div class="col label">运营联系人手机号:</div>
  25. <div class="col content">{{ clubInfo.linkMobile }}</div>
  26. </div>
  27. <div class="row">
  28. <div class="col label">所在地区:</div>
  29. <div class="col content">{{ clubInfo.area }}</div>
  30. </div>
  31. <div class="row">
  32. <div class="col label">所在位置:</div>
  33. <div class="col content">{{ clubInfo.address }}</div>
  34. </div>
  35. <div class="row block">
  36. <div class="col label">logo:</div>
  37. <div class="col content">
  38. <el-image :src="clubInfo.logo" v-if="clubInfo.logo"></el-image>
  39. </div>
  40. </div>
  41. <div class="row block">
  42. <div class="col label">门头照:</div>
  43. <div class="col content">
  44. <template v-for="(image, index) in clubInfo.bannerList">
  45. <el-image :src="image" :key="index"></el-image>
  46. </template>
  47. </div>
  48. </div>
  49. <div class="row">
  50. <div class="col label">机构类型:</div>
  51. <div class="col content">{{ firstClubTypeName }}</div>
  52. </div>
  53. <div class="row">
  54. <div class="col label">医美类型:</div>
  55. <div class="col content">{{ secondClubTypeName }}</div>
  56. </div>
  57. <div class="row block">
  58. <div class="col label">医疗许可证:</div>
  59. <div class="col content">
  60. <el-image
  61. :src="clubInfo.medicalLicenseImage"
  62. v-if="clubInfo.medicalLicenseImage"
  63. ></el-image>
  64. </div>
  65. </div>
  66. <div class="row">
  67. <div class="col label">员工人数:</div>
  68. <div class="col content">{{ clubInfo.empNum }}</div>
  69. </div>
  70. </template>
  71. </div>
  72. </div>
  73. </template>
  74. <script>
  75. import { mapGetters } from 'vuex'
  76. export default {
  77. layout: 'app-ross',
  78. data() {
  79. return {
  80. clubInfo: {},
  81. }
  82. },
  83. computed: {
  84. ...mapGetters(['userInfo', 'routePrefix']),
  85. isAuth() {
  86. return this.userInfo && this.userInfo.authId
  87. },
  88. firstClubTypeName() {
  89. if (!this.clubInfo.firstClubType) return '其他'
  90. return ['医美', '生美', '项目公司', '个人', '其他'][
  91. this.clubInfo.firstClubType - 1
  92. ]
  93. },
  94. secondClubTypeName() {
  95. if (!this.clubInfo.secondClubType) return '其他'
  96. return ['诊所', '门诊', '医院', '其他', '美容院', '养生馆', '其他'][
  97. this.clubInfo.secondClubType - 1
  98. ]
  99. },
  100. },
  101. created() {
  102. this.fetchClubDetail()
  103. },
  104. methods: {
  105. async fetchClubDetail() {
  106. try {
  107. const authId = this.userInfo.authId
  108. if (!authId) return
  109. const res = await this.$http.api.getAuthClubDetail({ authId })
  110. this.clubInfo = res.data
  111. } catch (error) {
  112. console.log(error)
  113. }
  114. },
  115. // 去认证
  116. toAuth() {
  117. this.$router.push(`${this.routePrefix}/form/club-register`)
  118. },
  119. },
  120. }
  121. </script>
  122. <style lang="scss" scoped>
  123. @media screen and (min-width: 768px) {
  124. .page {
  125. display: flex;
  126. justify-content: center;
  127. }
  128. .page-content {
  129. max-width: 760px;
  130. padding-bottom: 167px;
  131. .title {
  132. font-size: 24px;
  133. color: #282828;
  134. font-weight: bold;
  135. text-align: center;
  136. padding: 60px 0;
  137. }
  138. .tip {
  139. font-size: 16px;
  140. color: #b2b2b2;
  141. margin-top: 200px;
  142. margin-bottom: 24px;
  143. text-align: center;
  144. }
  145. .btn {
  146. width: 98px;
  147. height: 36px;
  148. background: #f3920d;
  149. border-radius: 4px;
  150. text-align: center;
  151. line-height: 36px;
  152. color: #fff;
  153. font-size: 16px;
  154. margin: 0 auto;
  155. cursor: pointer;
  156. }
  157. .row {
  158. display: flex;
  159. align-items: flex-start;
  160. margin: 32px 0;
  161. .col {
  162. font-size: 16px;
  163. }
  164. .label {
  165. color: #666666;
  166. min-width: 100px;
  167. }
  168. .content {
  169. color: #282828;
  170. .el-image {
  171. width: 106px;
  172. height: 106px;
  173. border: 1px solid #dcdcdc;
  174. margin-right: 4px;
  175. &:last-child {
  176. margin-right: 0;
  177. }
  178. }
  179. }
  180. }
  181. }
  182. }
  183. @media screen and (max-width: 768px) {
  184. .page {
  185. display: flex;
  186. justify-content: center;
  187. }
  188. .page-content {
  189. padding: 0 4vw;
  190. .title {
  191. font-size: 4.2vw;
  192. color: #282828;
  193. font-weight: bold;
  194. text-align: center;
  195. padding: 8vw 0;
  196. }
  197. .tip {
  198. font-size: 3vw;
  199. color: #b2b2b2;
  200. margin-top: 60vw;
  201. margin-bottom: 4.8vw;
  202. text-align: center;
  203. }
  204. .btn {
  205. width: 36vw;
  206. height: 8.8vw;
  207. background: #f3920d;
  208. border-radius: 0.4vw;
  209. text-align: center;
  210. line-height: 8.8vw;
  211. color: #fff;
  212. font-size: 3.4vw;
  213. margin: 0 auto;
  214. }
  215. .row {
  216. display: flex;
  217. align-items: flex-start;
  218. margin: 5.6vw 0;
  219. &.block {
  220. display: block;
  221. .label {
  222. margin-bottom: 2.4vw;
  223. }
  224. }
  225. .col {
  226. font-size: 3.4vw;
  227. }
  228. .label {
  229. color: #666666;
  230. min-width: 20.4vw;
  231. }
  232. .content {
  233. color: #282828;
  234. .el-image {
  235. width: 26vw;
  236. height: 26vw;
  237. border: 0.1vw solid #dcdcdc;
  238. margin-right: 0.6vw;
  239. &:last-child {
  240. margin-right: 0;
  241. }
  242. }
  243. }
  244. }
  245. }
  246. }
  247. </style>