nonprofitDetail.vue 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. <template>
  2. <view class="common_page" :style="{'min-height':h+'px', 'padding-top':mt+'px'}">
  3. <cus-header title="公益活动详情" bgColor="transparent"></cus-header>
  4. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/19/54b75bc8-d926-449b-95a5-1126f700b481.png" class="top_bg_img" mode="widthFix"></image>
  5. <div class="top">
  6. <div class="top-status adfacjb">
  7. <div class="left">{{'已报名'}}</div>
  8. <div class="right"><span>{{200}}</span>爱心值</div>
  9. </div>
  10. <div class="top-no">善行少年编号:{{'Pinan202501'}}</div>
  11. </div>
  12. <div class="box box1 adf" style="margin-top: 30rpx;">
  13. <div class="box1-left">
  14. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/23/b3a3b866-e31c-4c33-bbce-a61f8689354c.png"></image>
  15. </div>
  16. <div class="box1-right">
  17. <div class="title">{{'环保知识知多少?让孩子成为大自然的守护者!'}}</div>
  18. <div class="memo">{{'每200爱心值守护一条河流,让河流恢复往日的清澈模样'}}</div>
  19. </div>
  20. </div>
  21. <div class="box box2">
  22. <div class="box-title">活动信息</div>
  23. <div class="box2-item adfacjb">
  24. <div class="left">报名时间</div>
  25. <div class="right">{{'2025-06-01 ~ 2025-06-02'}}</div>
  26. </div>
  27. <div class="box2-item adfacjb">
  28. <div class="left">活动时间</div>
  29. <div class="right">{{'2025-06-01 ~ 2025-06-02'}}</div>
  30. </div>
  31. <div class="box2-item adfacjb">
  32. <div class="left">活动地点</div>
  33. <div class="right">{{'广东省深圳市'}}</div>
  34. </div>
  35. <div class="box2-item adfacjb">
  36. <div class="left">招募人数</div>
  37. <div class="right">{{40}}/{{50}}</div>
  38. </div>
  39. <div class="box2-item adfacjb">
  40. <div class="left">联系人</div>
  41. <div class="right">{{'周小瑾'}}/{{'13111987666'}}</div>
  42. </div>
  43. <div class="box2-item adfacjb">
  44. <div class="left">公益支持</div>
  45. <div class="right">{{'深圳慈善会公益基金'}}</div>
  46. </div>
  47. </div>
  48. <div class="box box3">
  49. <div class="box-title">报名信息</div>
  50. <div class="box3-list">
  51. <div class="box3-list-item adfacjb" v-for="(user,index) in userList" :key="index">
  52. <div class="left">
  53. <div class="top adfac">
  54. <div class="name">{{'张琳琳'}}</div>
  55. <image class="sex" v-if="user.sex==2" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/12/b6d1fcb3-55ba-4104-b8cd-756b963a4da8.png"></image>
  56. <image class="sex" v-else-if="user.sex==1" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/12/a1899fd0-c468-48d9-b554-2f17b75a4157.png"></image>
  57. <div class="age" :class="{'women':user.sex==2,'man':user.sex==1}">{{46}}岁</div>
  58. </div>
  59. <div class="bottom">身份证 {{'340123**********09'}}</div>
  60. </div>
  61. <div class="right">
  62. <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/23/ebdf1327-3eeb-4797-8840-cb1ec4840d9a.png"></image>
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. <div class="box box4">
  68. <div class="box-title">活动详情</div>
  69. <div class="box4-detail">
  70. <up-read-more :toggle="true" showHeight="374rpx" color="#989998" fontSize="24rpx" openText="收起更多信息" closeText="展开更多信息">
  71. <rich-text :nodes="detail"></rich-text>
  72. </up-read-more>
  73. </div>
  74. </div>
  75. <div class="bottom adfacjb">
  76. <div class="left adffcacjc" @tap="handleShare">
  77. <up-icon name="share-square" color="#252525" size="48rpx"></up-icon>
  78. <text>分享</text>
  79. </div>
  80. <div class="right">取消报名</div>
  81. </div>
  82. </view>
  83. </template>
  84. <script setup name="">
  85. import { onShareAppMessage } from '@dcloudio/uni-app';
  86. import CusHeader from '@/components/CusHeader/index.vue'
  87. import { ref } from 'vue'
  88. const userList = ref([{sex:2},{sex:1}])
  89. const detail = ref(`山不在高,有仙则名。水不在深,有龙则灵。斯是陋室,惟吾德馨。
  90. 苔痕上阶绿,草色入帘青。谈笑有鸿儒,往来无白丁。可以调素琴,阅金经。
  91. 无丝竹之乱耳,无案牍之劳形。南阳诸葛庐,西蜀子云亭。孔子云:何陋之有?<br>山不在高,有仙则名。水不在深,有龙则灵。斯是陋室,惟吾德馨。
  92. 苔痕上阶绿,草色入帘青。谈笑有鸿儒,往来无白丁。可以调素琴,阅金经。
  93. 无丝竹之乱耳,无案牍之劳形。南阳诸葛庐,西蜀子云亭。孔子云:何陋之有?`)
  94. const handleShare = () => {
  95. uni.showToast({
  96. title: '请点击右上角进行分享',
  97. icon: 'none'
  98. });
  99. };
  100. onShareAppMessage(() => {
  101. return {
  102. title: '公益活动详情',
  103. path: '/pagesNonprofit/detail'
  104. };
  105. });
  106. </script>
  107. <style scoped lang="scss">
  108. .common_page{
  109. padding-bottom: 211rpx;
  110. box-sizing: border-box;
  111. .top{
  112. position: relative;
  113. margin-top: 39rpx;
  114. &-status{
  115. .left{
  116. font-family: PingFang-SC, PingFang-SC;
  117. font-weight: bold;
  118. font-size: 40rpx;
  119. color: #252525;
  120. line-height: 48rpx;
  121. }
  122. .right{
  123. font-family: PingFangSC, PingFang SC;
  124. font-weight: 400;
  125. font-size: 24rpx;
  126. color: #676775;
  127. line-height: 24rpx;
  128. label{
  129. font-family: PingFang-SC, PingFang-SC;
  130. font-weight: bold;
  131. font-size: 40rpx;
  132. color: #252525;
  133. line-height: 48rpx;
  134. margin-right: 6rpx;
  135. }
  136. }
  137. }
  138. &-no{
  139. font-family: PingFangSC, PingFang SC;
  140. font-weight: 400;
  141. font-size: 28rpx;
  142. color: #676775;
  143. line-height: 28rpx;
  144. margin-top: 30rpx;
  145. }
  146. }
  147. .box{
  148. background: #FFFFFF;
  149. border-radius: 24rpx;
  150. padding: 36rpx 24rpx;
  151. margin-top: 20rpx;
  152. position: relative;
  153. &-title{
  154. width: 170rpx;
  155. height: 44rpx;
  156. padding-left: 2rpx;
  157. font-family: PingFang-SC, PingFang-SC;
  158. font-weight: 800;
  159. font-size: 36rpx;
  160. color: #151B29;
  161. line-height: 36rpx;
  162. background-image: url('https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/11/6ec1f999-fcbb-4a0b-a1a5-d0b5e1374bb1.png');
  163. background-size: 170rpx 31rpx;
  164. background-position: 0 20rpx;
  165. background-repeat: no-repeat;
  166. }
  167. }
  168. .box1{
  169. &-left{
  170. width: 158rpx;
  171. height: 214rpx;
  172. image{
  173. width: 100%;
  174. height: 100%;
  175. }
  176. }
  177. &-right{
  178. width: calc(100% - 158rpx);
  179. padding-left: 20rpx;
  180. box-sizing: border-box;
  181. .title{
  182. font-family: PingFang-SC, PingFang-SC;
  183. font-weight: bold;
  184. font-size: 32rpx;
  185. color: #151B29;
  186. line-height: 40rpx;
  187. }
  188. .memo{
  189. font-family: PingFangSC, PingFang SC;
  190. font-weight: 400;
  191. font-size: 24rpx;
  192. color: #C9A771;
  193. line-height: 37rpx;
  194. margin-top: 27rpx;
  195. }
  196. }
  197. }
  198. .box2{
  199. &-item{
  200. margin-top: 40rpx;
  201. .left{
  202. font-family: PingFangSC, PingFang SC;
  203. font-weight: 400;
  204. font-size: 28rpx;
  205. color: #676775;
  206. line-height: 28rpx;
  207. }
  208. .right{
  209. font-family: PingFangSC, PingFang SC;
  210. font-weight: 400;
  211. font-size: 28rpx;
  212. color: #252525;
  213. line-height: 28rpx;
  214. text-align: right;
  215. }
  216. }
  217. }
  218. .box3{
  219. &-list{
  220. margin-top: 15rpx;
  221. &-item{
  222. margin-top: 25rpx;
  223. .left{
  224. .top{
  225. .name{
  226. font-family: PingFang-SC, PingFang-SC;
  227. font-weight: bold;
  228. font-size: 32rpx;
  229. color: #151B29;
  230. line-height: 32rpx;
  231. }
  232. .sex{
  233. width: 44rpx;
  234. height: 32rpx;
  235. margin-left: 10rpx;
  236. }
  237. .age{
  238. border-radius: 13rpx;
  239. font-family: PingFangSC, PingFang SC;
  240. font-weight: 400;
  241. font-size: 20rpx;
  242. line-height: 24rpx;
  243. padding: 4rpx 10rpx;
  244. margin-left: 13rpx;
  245. &.women{
  246. background: rgba(244,101,122,0.14);
  247. color: #F4657A;
  248. }
  249. &.man{
  250. background: rgba(5,169,254,0.12);
  251. color: #05A9FE;
  252. }
  253. }
  254. }
  255. .bottom{
  256. font-family: PingFangSC, PingFang SC;
  257. font-weight: 400;
  258. font-size: 24rpx;
  259. color: #989998;
  260. line-height: 24rpx;
  261. margin-top: 24rpx;
  262. }
  263. }
  264. .right{
  265. image{
  266. width: 36rpx;
  267. height: 36rpx;
  268. }
  269. }
  270. }
  271. }
  272. }
  273. .box4{
  274. &-detail{
  275. margin-top: 40rpx;
  276. }
  277. }
  278. .bottom{
  279. width: 100%;
  280. height: 191rpx;
  281. background: #FFFFFF;
  282. box-shadow: 0rpx -2rpx 8rpx 0rpx rgba(178,178,178,0.1);
  283. padding: 0 30rpx 0 54rpx;
  284. box-sizing: border-box;
  285. position: fixed;
  286. left: 0;
  287. bottom: 0;
  288. .left{
  289. text{
  290. font-family: PingFangSC, PingFang SC;
  291. font-weight: 400;
  292. font-size: 26rpx;
  293. color: #151B29;
  294. line-height: 26rpx;
  295. margin-top: 17rpx;
  296. }
  297. }
  298. .right{
  299. width: 540rpx;
  300. height: 90rpx;
  301. background: #B7F358;
  302. border-radius: 45rpx;
  303. font-family: PingFang-SC, PingFang-SC;
  304. font-weight: bold;
  305. font-size: 32rpx;
  306. color: #151B29;
  307. line-height: 90rpx;
  308. text-align: center;
  309. letter-spacing: 2rpx;
  310. }
  311. }
  312. }
  313. </style>