| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- <template>
- <view class="ni" v-if="item">
- <view class="ni-top adfacjb">
- <view class="ni-top-left adfac">
- <image class="avatar" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/12/4bd05666-201c-4016-acb6-09cd1f554524.png"></image>
- <view class="name">{{item?.memberName||''}}</view>
- <image class="sex" v-if="item?.gender==1" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/12/b6d1fcb3-55ba-4104-b8cd-756b963a4da8.png"></image>
- <image class="sex" v-else-if="item?.gender==0" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/12/a1899fd0-c468-48d9-b554-2f17b75a4157.png"></image>
- <view class="age" :class="{'women':item?.gender==1,'man':item?.gender==0}">{{item?.age||0}}岁</view>
- </view>
- <view class="ni-top-right" :class="{'grey':item.signupState==-1||item.signupState==3}">{{statusDict[item?.signupState]||''}}</view>
- </view>
- <view class="ni-info adfacjb">
- <view class="ni-info-left">
- <image :src="item?.coverFile||''"></image>
- </view>
- <view class="ni-info-right">
- <view class="title">{{item?.activityName||''}}</view>
- <view class="tip adf">
- <view class="tip-left adfac">
- <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/11/201a4250-24a4-412d-9ec9-fc58071d10ea.png"></image>
- <text>活动时间:</text>
- </view>
- <view class="tip-right">{{item?.activityStartTime||''}} ~ {{item?.activityEndTime||''}}</view>
- </view>
- <view class="tip adf">
- <view class="tip-left adfac">
- <image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/11/e9025f86-a59e-4f82-92f0-9d22e846193c.png"></image>
- <text>活动地点:</text>
- </view>
- <view class="tip-right">{{item?.provinceName||''}}{{item?.cityName||''}}</view>
- </view>
- <view class="bottom">
- <view class="btn" v-if="item.activeState==1&&item.signupState==1">取消报名</view>
- <view class="btn" v-if="item.activeState==1&&item.signupState==-1">立即报名</view>
- <view class="btn" v-if="item.activeState==2&&item.signupState==1">去签到</view>
- <view class="btn" v-if="item.activeState==3&&item.signupState==2">写档案</view>
- <view class="btn" v-if="item.activeState==3&&item.signupState==3">查看档案</view>
- </view>
- </view>
- </view>
- </view>
- </template>
- <script setup name="NonprofitItem">
- import { ref } from 'vue'
-
- const props = defineProps({
- item:{
- typeof:Object,
- default:null
- }
- })
-
- const statusDict = ref({
- '-1':'已取消',
- 1:'已报名',
- 2:'已签到',
- 3:'已完成'
- })
- const btnTextDict = ref({
- 1:'取消报名',
- 2:'去签到',
- 3:'填写公益档案'
- })
- </script>
- <style scoped lang="scss">
- .ni{
- background: #FFFFFF;
- border-radius: 24rpx;
- padding: 40rpx 24rpx 32rpx;
- margin-top: 20rpx;
-
- &-top{
- &-left{
- .avatar{
- width: 48rpx;
- height: 48rpx;
- }
- .name{
- font-family: PingFang-SC, PingFang-SC;
- font-weight: bold;
- font-size: 32rpx;
- color: #151B29;
- line-height: 32rpx;
- margin-left: 16rpx;
- }
- .sex{
- width: 44rpx;
- height: 32rpx;
- margin-left: 10rpx;
- }
- .age{
- border-radius: 13rpx;
- font-family: PingFangSC, PingFang SC;
- font-weight: 400;
- font-size: 20rpx;
- line-height: 24rpx;
- padding: 4rpx 10rpx;
- margin-left: 13rpx;
- &.women{
- background: rgba(244,101,122,0.14);
- color: #F4657A;
- }
- &.man{
- background: rgba(5,169,254,0.12);
- color: #05A9FE;
- }
- }
- }
- &-right{
- background: rgba(183, 243, 88, .2);
- border-radius: 27rpx;
- padding: 12rpx 18rpx;
- font-family: PingFangSC, PingFang SC;
- font-weight: 400;
- font-size: 24rpx;
- color: #70CF52;
- line-height: 24rpx;
- &.grey{
- background: #F0F2F8;
- color: #646464;
- }
- }
- }
-
- &-info{
- margin-top: 40rpx;
- &-left{
- width: 158rpx;
- height: 214rpx;
- image{
- width: 100%;
- height: 100%;
- }
- }
- &-right{
- width: calc(100% - 158rpx);
- padding-left: 20rpx;
- box-sizing: border-box;
- .title{
- font-family: PingFang-SC, PingFang-SC;
- font-weight: bold;
- font-size: 32rpx;
- color: #151B29;
- line-height: 40rpx;
- margin-bottom: 5rpx;
- }
- .tip{
- align-items: flex-start;
- margin-top: 25rpx;
- &-left{
- width: 160rpx;
- image{
- width: 24rpx;
- height: 24rpx;
- }
- text{
- font-family: PingFangSC, PingFang SC;
- font-weight: 400;
- font-size: 24rpx;
- color: #676775;
- line-height: 24rpx;
- margin-left: 10rpx;
- }
- }
- &-right{
- width: calc(100% - 160rpx);
- font-family: PingFangSC, PingFang SC;
- font-weight: 400;
- font-size: 24rpx;
- color: #676775;
- line-height: 24rpx;
- margin-left: 10rpx;
- }
- }
- .bottom{
- margin-top: 30rpx;
- display: flex;
- justify-content: flex-end;
- }
- .btn{
- background: #B7F358;
- border-radius: 27rpx;
- padding: 12rpx 26rpx;
- font-family: PingFang-SC, PingFang-SC;
- font-weight: bold;
- font-size: 24rpx;
- color: #252525;
- line-height: 30rpx;
- }
- }
- }
- }
- </style>
|