index.jsx 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import React, { useState, useEffect } from 'react'
  2. import Taro, { Current } from '@tarojs/taro'
  3. import { RichText, Button } from '@tarojs/components'
  4. import request, { apis } from '@/utils/request'
  5. import { useModel } from '@/store'
  6. import GetUserPhone from '@/components/GetUserPhone/index'
  7. import '@/assets/css/reset.less'
  8. import '@/assets/css/iconfont.less'
  9. import './index.less'
  10. export default function HuoDongDetail (props) {
  11. const { user } = useModel('user')
  12. const [ShowGetUserPhoneLayer, setShowGetUserPhoneLayer] = useState(false)
  13. const [CurrnetHuoDongId] = useState(Current.router.params.id) // 当前活动id
  14. const [ActivityDetail, setActivityDetail] = useState(null) // 活动详情
  15. useEffect(() => {
  16. GetActivityDetail()
  17. }, [CurrnetHuoDongId])
  18. const GetActivityDetail = () => { // 获取活动详情
  19. request({ ...apis.getActivityDetail, args: { id: CurrnetHuoDongId } }).then((res) => {
  20. setActivityDetail(res)
  21. })
  22. }
  23. const ToJoin = () => { // 去报名
  24. const { personId, phone } = user
  25. const { dynamicId } = ActivityDetail
  26. console.log(personId, phone, dynamicId)
  27. }
  28. return (
  29. <view className='HuoDongDetail'>
  30. {
  31. ShowGetUserPhoneLayer &&
  32. <GetUserPhone></GetUserPhone>
  33. }
  34. <view className='BannerLayer'></view>
  35. {
  36. ActivityDetail !== null &&
  37. <view className='Banner'>
  38. <image mode='aspectFill' src={ActivityDetail.bannerListImg} className='centerLabel'></image>
  39. </view>
  40. }
  41. {
  42. ActivityDetail !== null &&
  43. <view className='Info'>
  44. <view className='MainInfo'>
  45. <text className='Name'>{ActivityDetail.title}</text>
  46. <text className='Tips'>{ActivityDetail.enlisted}人已报名</text>
  47. <view className='flex-h'>
  48. <text>活动时间:</text>
  49. <view className='flex-item'>{ActivityDetail.startDate}<text>限{ActivityDetail.enlistNum}人</text></view>
  50. </view>
  51. <view className='flex-h'>
  52. <text>活动地址:</text>
  53. <view className='flex-item'>{ActivityDetail.address}</view>
  54. </view>
  55. <view className='flex-h'>
  56. <text>报名截止:</text>
  57. <view className='flex-item'>{ActivityDetail.enlistEnd}</view>
  58. </view>
  59. </view>
  60. <view className='Desc'>
  61. <text>活动介绍</text>
  62. <RichText nodes={ActivityDetail.desc}></RichText>
  63. </view>
  64. <text className='BottomBtn' onClick={ToJoin}>立即参加</text>
  65. </view>
  66. }
  67. </view>
  68. )
  69. }