Browse Source

Merge refs/heads/release into refs/heads/feature/v2.0

master
zhaoyongnian 5 years ago
parent
commit
75dc2c28d6
  1. 6
      components/activity/activity.js
  2. 1
      components/activity/activity.wxml
  3. 13
      pages/heartNew/components/volunteer/volunteer.js
  4. 2
      pages/heartNew/components/volunteer/volunteer.wxml
  5. 77
      pages/heartNew/heartNew.js
  6. 2
      pages/heartNew/heartNew.wxml
  7. 4
      pages/heartNew/heartNew.wxss
  8. 8
      pages/mine/mine.js
  9. 3
      pages/mine/mine.wxml
  10. 2
      pages/mine/mine.wxss
  11. 2
      pages/toRegister/toRegister.js
  12. 13
      subpages/heart/pages/heartDetail/heartDetail.js
  13. 1
      subpages/heart/pages/heartDetail/heartDetail.json
  14. 404
      subpages/heart/pages/heartDetail/heartDetail.wxml
  15. 39
      subpages/heart/pages/heartDetail/heartDetail.wxss
  16. 23
      subpages/heart/pages/heartDetail/preloadDetailItem/preloadDetailItem.js
  17. 4
      subpages/heart/pages/heartDetail/preloadDetailItem/preloadDetailItem.json
  18. 35
      subpages/heart/pages/heartDetail/preloadDetailItem/preloadDetailItem.wxml
  19. 84
      subpages/heart/pages/heartDetail/preloadDetailItem/preloadDetailItem.wxss
  20. 30
      subpages/heart/pages/leaderboardNew/leaderboardNew.js
  21. 8
      subpages/heart/pages/leaderboardNew/leaderboardNew.wxml
  22. 13
      subpages/heart/pages/leaderboardNew/leaderboardNew.wxss
  23. 4
      utils/activity.js

6
components/activity/activity.js

@ -17,6 +17,9 @@ Component({
methods: {
getActivityList(params) {
let that = this
that.setData({
selectedTab: params.selectedTab
})
if (params.qkdat == true) {
console.log('清空')
that.setData({
@ -45,6 +48,7 @@ Component({
},
toActDetail(e) {
console.log('selectedTab::::'+this.data.selectedTab)
const id = e.currentTarget.dataset.id
const actcurrentstate = e.currentTarget.dataset.actcurrentstate
const signupflag = e.currentTarget.dataset.signupflag
@ -52,7 +56,7 @@ Component({
actId: id
})
wx.navigateTo({
url: `/subpages/heart/pages/heartDetail/heartDetail?id=${id}&actcurrentstate=${actcurrentstate}&signupflag=${signupflag}`
url: `/subpages/heart/pages/heartDetail/heartDetail?id=${id}&actcurrentstate=${actcurrentstate}&signupflag=${signupflag}&selectedTab=${this.data.selectedTab}`
})
},
updateActivityList(params) {

1
components/activity/activity.wxml

@ -10,6 +10,7 @@
<view class="user-state" wx:if="{{item.actCurrentState=='2'}}">未开始</view>
<view class="user-state" wx:if="{{item.actCurrentState=='3'}}">进行中</view>
<view class="user-state" wx:if="{{item.actCurrentState=='4'}}">已结束</view>
<view class="user-state" wx:if="{{item.actCurrentState=='5'}}">已取消</view>
</view>
<view class="infos">
<view class="infos_title">{{item.title}}</view>

13
pages/heartNew/components/volunteer/volunteer.js

@ -1,4 +1,5 @@
// pages/indexNew/components/volunteer/volunteer.js
const app = getApp()
Component({
/**
* 组件的属性列表
@ -14,13 +15,19 @@ Component({
* 组件的初始数据
*/
data: {
ifclick:true
},
/**
* 组件的方法列表
*/
methods: {
}
preViewImage(e) {
this.triggerEvent('clickImage', this.data.ifclick)
wx.previewImage({
urls: [e.currentTarget.dataset.src],
current: e.currentTarget.dataset.src
})
}
},
})

2
pages/heartNew/components/volunteer/volunteer.wxml

@ -1,5 +1,5 @@
<view class="item">
<image src="{{volunteerItemObj.faceImg}}" />
<image data-src="{{volunteerItemObj.faceImg}}" bindtap="preViewImage" src="{{volunteerItemObj.faceImg}}" />
<view class="name">{{volunteerItemObj.nickname}}</view>
<view class="autograph">{{volunteerItemObj.volunteerSignature}}</view>
</view>

77
pages/heartNew/heartNew.js

@ -33,7 +33,8 @@ Page({
actId: '',//判断返回以后是否需要刷新列表
volunteerlist:[],//志愿者列表
listLength:0,//数据长度判断是否需要加载
getImgUrl:''
getImgUrl:'',
ifClickImage:false,//因为志友多多点击图片查看大图,会出现列表刷新的bug,所以加这个字段进行控制
},
/**
@ -52,7 +53,8 @@ Page({
pageSize: this.data.pageSize,
timestamp: getTimestamp(),
actType: 0,
qkdat: true
qkdat: true,
selectedTab:this.data.selectedTab
}
this.selectComponent("#state-0").getActivityList(parms)
},
@ -67,25 +69,36 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.setData({
loadMoreVisible: false,
loadMoreType: 'none',
indexPage: 1,
})
if(this.data.selectedTab == 'tab1'){//刷新志友
this.setData({
dingdan: true,
jingcai: true,
volunteerlist:[],//列表置空
listLength:0
})
let parms = {
pageIndex: this.data.indexPage,
pageSize: this.data.pageSize,
if(this.data.ifClickImage){//如果为true就不可以刷新,判断完成以后重新置为false
this.setData({
ifClickImage: false
})
}else{
this.setData({
loadMoreVisible: false,
loadMoreType: 'none',
indexPage: 1,
})
this.setData({
dingdan: true,
jingcai: true,
volunteerlist:[],//列表置空
listLength:0
})
let parms = {
pageIndex: this.data.indexPage,
pageSize: this.data.pageSize,
}
this.volunteerlist(parms)
}
this.volunteerlist(parms)
}
if (this.data.actId) {
this.setData({
loadMoreVisible: false,
loadMoreType: 'none',
indexPage: 1,
})
this.updateActivityList()
}
},
@ -106,7 +119,8 @@ Page({
pageSize: this.data.pageSize,
timestamp: getTimestamp(),
actType: 0,//活动列表类型(0-招募令,1-精彩活动)
qkdat: true
qkdat: true,
selectedTab:e.currentTarget.dataset.tab
}
this.selectComponent("#state-0").getActivityList(parms)
} else if (e.currentTarget.dataset.tab == 'tab1') {
@ -120,7 +134,6 @@ Page({
pageIndex: this.data.indexPage,
pageSize: this.data.pageSize,
}
console.log('志愿者列表传值:'+JSON.stringify(parms))
this.volunteerlist(parms)
} else if (e.currentTarget.dataset.tab == 'tab2') {
this.setData({
@ -132,7 +145,8 @@ Page({
pageSize: this.data.pageSize,
timestamp: getTimestamp(),
actType: 1,//活动列表类型(0-招募令,1-精彩活动)
qkdat: true
qkdat: true,
selectedTab:e.currentTarget.dataset.tab
}
this.selectComponent("#state-2").getActivityList(parms)
} else if (e.currentTarget.dataset.tab == 'tab3') {
@ -157,7 +171,8 @@ Page({
pageSize: 10,
timestamp: getTimestamp(),
actType: 0,
actId: this.data.actId
actId: this.data.actId,
selectedTab:this.data.selectedTab
}
this.selectComponent("#state-0").updateActivityList(params)
} else if (this.data.selectedTab === 'tab2') {
@ -166,7 +181,8 @@ Page({
pageSize: 10,
timestamp: getTimestamp(),
actType: 1,
actId: this.data.actId
actId: this.data.actId,
selectedTab:this.data.selectedTab
}
this.selectComponent("#state-2").updateActivityList(params)
}
@ -217,6 +233,12 @@ Page({
})
},
clickImage(e){
this.setData({
ifClickImage: e.detail,
})
},
/**
* 生命周期函数--监听页面隐藏
@ -240,7 +262,10 @@ Page({
},
bannerListV2: function () {
let that = this
api.bannerList().then(function (res) {
let params = {
bannerType:"0"
}
api.bannerList(params).then(function (res) {
that.setData({
banner: res.data
})
@ -279,7 +304,8 @@ Page({
pageIndex: this.data.indexPage,
pageSize: this.data.pageSize,
timestamp: getTimestamp(),
actType: 0
actType: 0,
selectedTab:this.data.selectedTab
}
this.selectComponent("#state-0").getActivityList(parms)
}else if(this.data.selectedTab == 'tab1'){
@ -299,7 +325,8 @@ Page({
pageIndex: this.data.indexPage,
pageSize: this.data.pageSize,
timestamp: getTimestamp(),
actType: 1
actType: 1,
selectedTab:this.data.selectedTab
}
this.selectComponent("#state-2").getActivityList(parms)
}

2
pages/heartNew/heartNew.wxml

@ -78,7 +78,7 @@
<block wx:if="{{ selectedTab == 'tab1' }}">
<view class="details-top">
<view class="volunteer-box">
<volunteer-list wx:for="{{volunteerlist}}" volunteerItemObj="{{item}}" wx:for-index="index" wx:for-item="item" wx:key="{{index}}"></volunteer-list>
<volunteer-list bind:clickImage="clickImage" wx:for="{{volunteerlist}}" volunteerItemObj="{{item}}" wx:for-index="index" wx:for-item="item" wx:key="{{index}}"></volunteer-list>
</view>
<!-- <view class="show">*按姓氏拼音排序</view> -->
</view>

4
pages/heartNew/heartNew.wxss

@ -309,7 +309,7 @@ button:last-child {
}
.tab-bar .tab {
font-size: 30rpx;
font-size: 34rpx;
font-weight: 500;
color: rgba(171, 171, 171, 1);
width: 25%;
@ -322,7 +322,7 @@ button:last-child {
}
.tab-bar .tab.select {
font-size: 32rpx;
font-size: 36rpx;
font-weight: bold;
color: rgba(229, 15, 0, 1);
}

8
pages/mine/mine.js

@ -24,9 +24,15 @@ Page({
grade: 0
},
completeInfoDialogVisible: false,
infoCompleted: 0
infoCompleted: 0,
changeName:false
},
onLoad() {
if(app.globalData.infoCompleted == 0 || app.globalData.infoCompleted == 4){//当状态为0 或者 4 的时候 显示完善个人信息其余状态为更改个人信息
this.setData({
changeName: true
})
}
this.getUserInfo()
this.setData({
infoCompleted: app.globalData.infoCompleted

3
pages/mine/mine.wxml

@ -20,7 +20,8 @@
<view class="complete-info" bindtap="navigateToComplete">
<image class="complete-image" src="../../images/mine/wanshanxinxi.png" />
<view class="complete-content">
<view class="tip">完善信息</view>
<view wx:if="{{changeName}}" class="tip">完善个人信息</view>
<view wx:else class="tip">更改个人信息</view>
<image class="rightsword" src="../../images/mine/mine-rightsword.png" />
</view>
</view>

2
pages/mine/mine.wxss

@ -112,7 +112,7 @@ page {
object-fit: cover;
}
.personal-info .box .content .top .complete-info {
width: 130rpx;
width: 190rpx;
height: 46rpx;
position: relative;
}

2
pages/toRegister/toRegister.js

@ -21,7 +21,7 @@ Page({
// }
// })
let that = this
const versionNum = '1.2.0'
const versionNum = '1.2.2'
api.getScanSwitch(versionNum).then(function (res) {
console.log(res.data)
let state = res.data.scanFlag

13
subpages/heart/pages/heartDetail/heartDetail.js

@ -13,6 +13,7 @@ Page({
clocks: [], //打卡列表
clockNum: 0, //打卡人次
actContent: '', //富文本
actNewsContent:'',//新闻稿
dialogTitle: '',
dialogContent: '',
dialogConfirmText: '',
@ -20,13 +21,18 @@ Page({
uservolunteerflag: '',
cancelSignupVisible: false,
cancelSignupTipValue: '',
cancelSignupTipVisible: false
cancelSignupTipVisible: false,
selectedTab:'',//用来判断详情是否显示志愿者打卡
preloadVisible: true,
timeJudge:false,//根据当前时间比较活动结束时间,判断活动是否已经结束,用以判断显示订单多多里面的志愿者
},
onLoad: function(options) {
console.log("当前时间"+getTimestamp())
this.setData({
id: options.id,
actCurrentState: options.actcurrentstate,
signupFlag: options.signupflag
signupFlag: options.signupflag,
selectedTab:options.selectedTab,
})
// this.getDetail();//活动详情
// this.clockList();//打卡列表
@ -42,9 +48,12 @@ Page({
this.setData({
detail: res.data,
actContent: res.data.actContent.replace(/\<img/gi, '<img style="max-width:100%;height:auto"'),
actNewsContent:res.data.actNewsContent.replace(/\<img/gi, '<img style="max-width:100%;height:auto"'),
actStartTime: res.data.actStartTime.substring(0, 16),
actEndTime: res.data.actEndTime.substring(0, 16),
signupEndTime: res.data.signupEndTime.substring(0, 16),
timeJudge: getTimestamp() > res.data.actEndTime.substring(0, 16) ? true : false,
preloadVisible:false
})
}
}).catch(err => {

1
subpages/heart/pages/heartDetail/heartDetail.json

@ -1,6 +1,7 @@
{
"navigationBarTitleText": "详情",
"usingComponents": {
"preload-detail-item": "./preloadDetailItem/preloadDetailItem",
"wux-dialog": "../../../../dist/dialog/index",
"coverview-dialog": "../../components/coverViewDialog/coverViewDialog",
"cancel-signup-dialog": "../../components/cancelSignupDialog/cancelSignupDialog"

404
subpages/heart/pages/heartDetail/heartDetail.wxml

@ -1,197 +1,284 @@
<wux-dialog id="wux-dialog" />
<view class="container">
<preload-detail-item wx:if= "{{preloadVisible}}"></preload-detail-item>
<view wx:else class="container">
<view class="top-bg">
<image src="../../images/heartDetail-bg.png" />
</view>
<view class="top-font">{{detail.title}}</view>
<view class="{{detail.title.length < 32 ? 'position-absolute-top1' : 'position-absolute-top2'}} position-absolute">
<!-- 点击进入活动页面详情只显示志愿者打卡内容,志愿者打卡以上的内容去掉,用新闻稿替代。 -->
<block wx:if="{{selectedTab != 'tab2'}}">
<!-- 详细内容 -->
<view class="info">
<view class="info-box">
<view class="info-left">
<image src="../../images/rili.png"></image>
<view class="info-font display-inline">报名截止时间</view>
</view>
<view class="info-right color">
{{signupEndTime}}
</view>
<view class="clear"></view>
</view>
<view class="info-box">
<view class="info-left">
<image src="../../images/shijian.png"></image>
<view class="info-font display-inline">活动时间</view>
<view class="info">
<view class="info-box">
<view class="info-left">
<image src="../../images/rili.png"></image>
<view class="info-font display-inline">报名截止时间</view>
</view>
<view class="info-right color">
{{signupEndTime}}
</view>
</view>
<view class="info-right color">
<view>{{actStartTime}}至</view>
<view>{{actEndTime}}</view>
<view class="info-box">
<view class="info-left">
<image src="../../images/shijian.png"></image>
<view class="info-font display-inline">活动时间</view>
</view>
<view class="info-right color">
<view>{{actStartTime}}至</view>
<view>{{actEndTime}}</view>
</view>
</view>
<view class="clear"></view>
</view>
<view class="info-box">
<view class="info-left">
<image src="../../images/didian.png"></image>
<view class="info-font display-inline">活动地点</view>
</view>
<view class="info-right color">
{{detail.actAddress}}
<view class="info-box">
<view class="info-left">
<image src="../../images/didian.png"></image>
<view class="info-font display-inline">活动地点</view>
</view>
<view class="info-right color">
{{detail.actAddress}}
</view>
</view>
<view class="clear"></view>
</view>
<view class="info-box">
<view class="info-left">
<image src="../../images/mdsz.png"></image>
<view class="info-font display-inline">活动名额</view>
</view>
<!-- <view class="info-right color">
{{ detail.actQuotaCategory === 0 ? '不限名额' : detail.actQuota + '人'}}
</view> -->
<view class="info-right color" wx:if="{{detail.actQuotaCategory === 0}}">
不限名额
</view>
<view class="info-right color" wx:else>
{{detail.actQuota}}人
<view class="info-box">
<view class="info-left">
<image src="../../images/mdsz.png"></image>
<view class="info-font display-inline">活动名额</view>
</view>
<view class="info-right color" wx:if="{{detail.actQuotaCategory === 0}}">
不限名额
</view>
<view class="info-right color" wx:else>
{{detail.actQuota}}人
</view>
</view>
<view class="clear"></view>
</view>
<view class="info-box">
<view class="info-left">
<image src="../../images/ren.png"></image>
<view class="info-font display-inline">联系人</view>
</view>
<view class="info-right color">
{{detail.contacts}}
<view class="info-box">
<view class="info-left">
<image src="../../images/ren.png"></image>
<view class="info-font display-inline">联系人</view>
</view>
<view class="info-right color">
{{detail.contacts}}
</view>
</view>
<view class="clear"></view>
</view>
<view class="info-box">
<view class="info-left">
<image src="../../images/dianhua.png"></image>
<view class="info-font display-inline">联系电话</view>
</view>
<view class="info-right color">
{{detail.tel}}
<view class="info-box">
<view class="info-left">
<image src="../../images/dianhua.png"></image>
<view class="info-font display-inline">联系电话</view>
</view>
<view class="info-right color">
{{detail.tel}}
</view>
</view>
<view class="clear"></view>
</view>
<view class="info-box-last">
<view class="info-left">
<image src="../../images/jifen.png"></image>
<view class="info-font display-inline">积分奖励</view>
</view>
<view class="info-right color">
{{detail.reward}}
<view class="info-box-last">
<view class="info-left">
<image src="../../images/jifen.png"></image>
<view class="info-font display-inline">积分奖励</view>
</view>
<view class="info-right color">
{{detail.reward}}
</view>
</view>
<view class="clear"></view>
</view>
</view>
<!-- 招募要求 -->
<view class="require">
<view class="info-box-title">
<view class="info-left">
<image src="../../images/dingdan.png"></image>
<view class="info-font-zhaomu display-inline">招募要求</view>
<!-- 招募要求 -->
<view class="require">
<view class="info-box-title">
<view class="info-left">
<image src="../../images/dingdan.png"></image>
<view class="info-font-zhaomu display-inline">招募要求</view>
</view>
</view>
<view class="clear"></view>
</view>
<view class="info-box-last-require">
{{detail.requirement}}
<!-- 1. 年满18周岁,具有独立民事行为能力的年满18周岁,具有独立民事行为能力的 -->
</view>
<!-- <view class="info-box-last-require">
2. 认同志愿者精神,热爱生活,心态阳光,具 有较强的创新能力,影响他人能力,良好的组 织能力,解决能力。
</view>
<view class="info-box-last-require">
3. 专业不限,具有美术教育者优先。
</view> -->
</view>
<!-- 活动详情 -->
<view class="require {{detail.currentUserStatus == 0||detail.currentUserStatus == 1||detail.currentUserStatus == 2||detail.currentUserStatus == 3? 'margin-bottom':''}}">
<view class="info-box-title">
<view class="info-left">
<image src="../../images/xiangqing.png"></image>
<view class="info-font-zhaomu display-inline">活动详情</view>
<view class="info-box-last-require">
{{detail.requirement}}
<!-- 1. 年满18周岁,具有独立民事行为能力的年满18周岁,具有独立民事行为能力的 -->
</view>
<view class="clear"></view>
</view>
<view class="info-box-last-require">
<rich-text space="nbsp" nodes="{{actContent}}"></rich-text>
<!-- <view class="info-box-last-require">
2. 认同志愿者精神,热爱生活,心态阳光,具 有较强的创新能力,影响他人能力,良好的组 织能力,解决能力。
</view>
<view class="info-box-last-require">
3. 专业不限,具有美术教育者优先。
</view> -->
</view>
</view>
<!-- 志愿者打卡 -->
<block wx:if="{{detail.currentUserStatus == 4 || detail.currentUserStatus == 5 || detail.currentUserStatus == 6 || detail.currentUserStatus == 7 || detail.currentUserStatus == 8 || detail.currentUserStatus == 9}}">
<view class="require {{detail.currentUserStatus == 4||detail.currentUserStatus == 5? 'margin-bottom':''}}">
<!-- 活动详情 -->
<view
class="require {{selectedTab == 'tab0' && detail.currentUserStatus != 6 && timeJudge ? 'margin-bottom' : ''}} {{detail.currentUserStatus == 0||detail.currentUserStatus == 1||detail.currentUserStatus == 2||detail.currentUserStatus == 3? 'margin-bottom':''}}">
<view class="info-box-title">
<view class="info-left">
<image src="../../images/ren_red.png"></image>
<view class="info-font-zhaomu display-inline">志愿者打卡</view>
<image src="../../images/xiangqing.png"></image>
<view class="info-font-zhaomu display-inline">活动详情</view>
</view>
<view class="info-right volunteer">
{{clockNum}}次
</view>
<view class="clear"></view>
</view>
<view class="info-box-last-require">
<rich-text space="nbsp" nodes="{{actContent}}"></rich-text>
</view>
</view>
</block>
<block wx:else>
<!-- 新闻稿 -->
<view class="require">
<view class="info-box-last-require">
<rich-text space="nbsp" nodes="{{actNewsContent}}"></rich-text>
</view>
</view>
</block>
<!-- 志愿者打卡 -->
<!-- selectedTab==tab0 说明从订单多多列表跳转过来的,对于已经结束的活动,页面不显示志愿者打卡的内容,其他内容保留留 -->
<block wx:if="{{selectedTab == 'tab0'}}">
<!-- tab==6肯定不显示 -->
<block wx:if = "{{detail.currentUserStatus != 6}}">
<!-- timeJudge 为true 说明当前时间大于活动结束时间 -->
<block wx:if="{{!timeJudge}}">
<block
wx:if="{{detail.currentUserStatus == 4 || detail.currentUserStatus == 5 || detail.currentUserStatus == 6 || detail.currentUserStatus == 7 || detail.currentUserStatus == 8 || detail.currentUserStatus == 9}}">
<view class="require {{detail.currentUserStatus == 4||detail.currentUserStatus == 5? 'margin-bottom':''}}">
<view class="info-box-title">
<view class="info-left">
<image src="../../images/ren_red.png"></image>
<view class="info-font-zhaomu display-inline">志愿者打卡</view>
</view>
<view class="info-right volunteer">
{{clockNum}}次
</view>
</view>
<!-- 志愿者打卡列表循环 -->
<!-- info-box-volunteer-last -->
<block wx:for="{{clocks}}" wx:key="index">
<view class="info-box-volunteer">
<!-- <view class="info-box-volunteer-ph"></view> -->
<image class="info-box-volunteer-ph" src="{{item.faceImg}}"></image>
<view class="info-box-volunteer-name">
<view class="info-box-volunteer-name-t">{{item.nickname}}</view>
<view class="info-box-volunteer-name-b">{{item.createdTime}}</view>
</view>
<view class="info-box-volunteer-content">
<text>{{item.clockDesc}}</text>
</view>
<!-- <view wx:if='{{item.images.length > 0 }}' class="photo">
<block wx:for="{{item.images}}" wx:key="index" wx:for-index="index" wx:for-item="val">
<image data-src="{{val}}" data-list="{{item.images}}" bindtap="preViewImage" class="image-a" src="{{val}}"></image>
</block>
</view> -->
<!-- 志愿者打卡列表循环 -->
<!-- info-box-volunteer-last -->
<block wx:for="{{clocks}}" wx:key="index">
<view class="info-box-volunteer">
<!-- <view class="info-box-volunteer-ph"></view> -->
<image class="info-box-volunteer-ph" src="{{item.faceImg}}"></image>
<view class="info-box-volunteer-name">
<view class="info-box-volunteer-name-t">{{item.nickname}}</view>
<view class="info-box-volunteer-name-b">{{item.createdTime}}</view>
</view>
<view class="info-box-volunteer-content">
<text>{{item.clockDesc}}</text>
</view>
<!-- <view wx:if='{{item.images.length > 0 }}' class="photo">
<block wx:for="{{item.images}}" wx:key="index" wx:for-index="index" wx:for-item="val">
<image data-src="{{val}}" data-list="{{item.images}}" bindtap="preViewImage" class="image-a" src="{{val}}"></image>
</block>
</view> -->
<view class="photo">
<!-- 只有一张图片的时候 -->
<block wx:if='{{item.images.length == 1 }}'>
<image data-src="{{item.images[0]}}" data-list="{{item.images}}" bindtap="preViewImage" src="{{item.images[0]}}" class="photo-one"></image>
</block>
<!-- 有两张图片时的布局 -->
<block wx:if='{{item.images.length == 2 }}'>
<block wx:for="{{item.images}}" wx:key="index" wx:for-index="index" wx:for-item="val">
<image data-src="{{val}}" data-list="{{item.images}}" bindtap="preViewImage" src="{{val}}" class="{{index==0 ? 'photo-two-left' : 'photo-two-right'}}"></image>
</block>
</block>
<!-- 有三张图片时的布局 -->
<block wx:if='{{item.images.length == 3 }}'>
<block wx:for="{{item.images}}" wx:key="index" wx:for-index="index" wx:for-item="val">
<image data-src="{{val}}" data-list="{{item.images}}" bindtap="preViewImage" src="{{val}}" class="{{index==0 ? 'photo-three-left' : index==1 ? 'photo-three-center' : index==2 ? 'photo-three-right' : ''}}"></image>
<view class="photo">
<!-- 只有一张图片的时候 -->
<block wx:if='{{item.images.length == 1 }}'>
<image data-src="{{item.images[0]}}" data-list="{{item.images}}" bindtap="preViewImage"
src="{{item.images[0]}}" class="photo-one"></image>
</block>
<!-- 有两张图片时的布局 -->
<block wx:if='{{item.images.length == 2 }}'>
<block wx:for="{{item.images}}" wx:key="index" wx:for-index="index" wx:for-item="val">
<image data-src="{{val}}" data-list="{{item.images}}" bindtap="preViewImage" src="{{val}}"
class="{{index==0 ? 'photo-two-left' : 'photo-two-right'}}"></image>
</block>
</block>
<!-- 有三张图片时的布局 -->
<block wx:if='{{item.images.length == 3 }}'>
<block wx:for="{{item.images}}" wx:key="index" wx:for-index="index" wx:for-item="val">
<image data-src="{{val}}" data-list="{{item.images}}" bindtap="preViewImage" src="{{val}}"
class="{{index==0 ? 'photo-three-left' : index==1 ? 'photo-three-center' : index==2 ? 'photo-three-right' : ''}}">
</image>
</block>
</block>
</view>
<view class="clear"></view>
</block>
</block>
</view>
<view class="clear"></view>
</view>
</block>
<!-- 志愿者打卡列表循环**********end*************** -->
</view>
<!-- 志愿者打卡 *************** end **************** -->
</block>
<!-- 志愿者打卡列表循环**********end*************** -->
</view>
<!-- 志愿者打卡 *************** end **************** -->
</block>
</block>
</block>
<!-- 精彩说说的情况下 -->
<block wx:else>
<block
wx:if="{{detail.currentUserStatus == 4 || detail.currentUserStatus == 5 || detail.currentUserStatus == 6 || detail.currentUserStatus == 7 || detail.currentUserStatus == 8 || detail.currentUserStatus == 9}}">
<view class="require {{detail.currentUserStatus == 4||detail.currentUserStatus == 5? 'margin-bottom':''}}">
<view class="info-box-title">
<view class="info-left">
<image src="../../images/ren_red.png"></image>
<view class="info-font-zhaomu display-inline">志愿者打卡</view>
</view>
<view class="info-right volunteer">
{{clockNum}}次
</view>
</view>
<!-- 志愿者打卡列表循环 -->
<!-- info-box-volunteer-last -->
<block wx:for="{{clocks}}" wx:key="index">
<view class="info-box-volunteer">
<!-- <view class="info-box-volunteer-ph"></view> -->
<image class="info-box-volunteer-ph" src="{{item.faceImg}}"></image>
<view class="info-box-volunteer-name">
<view class="info-box-volunteer-name-t">{{item.nickname}}</view>
<view class="info-box-volunteer-name-b">{{item.createdTime}}</view>
</view>
<view class="info-box-volunteer-content">
<text>{{item.clockDesc}}</text>
</view>
<!-- <view wx:if='{{item.images.length > 0 }}' class="photo">
<block wx:for="{{item.images}}" wx:key="index" wx:for-index="index" wx:for-item="val">
<image data-src="{{val}}" data-list="{{item.images}}" bindtap="preViewImage" class="image-a" src="{{val}}"></image>
</block>
</view> -->
<view class="photo">
<!-- 只有一张图片的时候 -->
<block wx:if='{{item.images.length == 1 }}'>
<image data-src="{{item.images[0]}}" data-list="{{item.images}}" bindtap="preViewImage"
src="{{item.images[0]}}" class="photo-one"></image>
</block>
<!-- 有两张图片时的布局 -->
<block wx:if='{{item.images.length == 2 }}'>
<block wx:for="{{item.images}}" wx:key="index" wx:for-index="index" wx:for-item="val">
<image data-src="{{val}}" data-list="{{item.images}}" bindtap="preViewImage" src="{{val}}"
class="{{index==0 ? 'photo-two-left' : 'photo-two-right'}}"></image>
</block>
</block>
<!-- 有三张图片时的布局 -->
<block wx:if='{{item.images.length == 3 }}'>
<block wx:for="{{item.images}}" wx:key="index" wx:for-index="index" wx:for-item="val">
<image data-src="{{val}}" data-list="{{item.images}}" bindtap="preViewImage" src="{{val}}"
class="{{index==0 ? 'photo-three-left' : index==1 ? 'photo-three-center' : index==2 ? 'photo-three-right' : ''}}">
</image>
</block>
</block>
</view>
<view class="clear"></view>
</view>
</block>
<!-- 志愿者打卡列表循环**********end*************** -->
</view>
<!-- 志愿者打卡 *************** end **************** -->
</block>
</block>
</view>
<view class="bottom" wx:if="{{detail.currentUserStatus != 6 && detail.currentUserStatus != 7 &&detail.currentUserStatus != 8 && detail.currentUserStatus != 9}}">
<view class="bottom"
wx:if="{{detail.currentUserStatus != 6 && detail.currentUserStatus != 7 &&detail.currentUserStatus != 8 && detail.currentUserStatus != 9}}">
<block>
<view class="button-left" wx:if="{{detail.currentUserStatus == 0 || detail.currentUserStatus == 1 || detail.currentUserStatus == 2 || detail.currentUserStatus == 3 }}">
<view class="button-left"
wx:if="{{detail.currentUserStatus == 0 || detail.currentUserStatus == 1 || detail.currentUserStatus == 2 || detail.currentUserStatus == 3 }}">
已报名 {{detail.signupNum}}人
</view>
</block>
@ -257,7 +344,8 @@
<block wx:elif="{{detail.currentUserStatus == 4 || detail.currentUserStatus == 5}}">
<!-- 4-我要打卡 5-更新打卡 6-已结束 bindtap="goClockIn" -->
<view class="button1 button2" bindtap="goClockIn" data-id="{{detail.id}}" data-currentUserStatus="{{detail.currentUserStatus}}">
<view class="button1 button2" bindtap="goClockIn" data-id="{{detail.id}}"
data-currentUserStatus="{{detail.currentUserStatus}}">
<image class='header-bg' src="../../images/yuanjiao-red.png"></image>
<view wx:if="{{detail.currentUserStatus == 4}}" class="font"> 我要打卡 </view>
<view wx:elif="{{detail.currentUserStatus == 5}}" class="font"> 更新打卡 </view>
@ -266,8 +354,10 @@
</view>
</view>
<coverview-dialog bind:confirm="confirmDialog" dialogVisible="{{dialogVisible}}" title="{{dialogTitle}}" content="{{dialogContent}}" confirmText="{{dialogConfirmText}}" cancelText="{{dialogCancelText}}">
<coverview-dialog bind:confirm="confirmDialog" dialogVisible="{{dialogVisible}}" title="{{dialogTitle}}"
content="{{dialogContent}}" confirmText="{{dialogConfirmText}}" cancelText="{{dialogCancelText}}">
</coverview-dialog>
<cancel-signup-dialog title="取消报名" cancelText="否" confirmText="是" tipVisible="{{cancelSignupTipVisible}}" tipValue="{{cancelSignupTipValue}}" bind:confirm="cancelSignupCallback" cancelSignupVisible="{{cancelSignupVisible}}">
<cancel-signup-dialog title="取消报名" cancelText="否" confirmText="是" tipVisible="{{cancelSignupTipVisible}}"
tipValue="{{cancelSignupTipValue}}" bind:confirm="cancelSignupCallback" cancelSignupVisible="{{cancelSignupVisible}}">
</cancel-signup-dialog>

39
subpages/heart/pages/heartDetail/heartDetail.wxss

@ -1,3 +1,6 @@
page{
background: #f7f7f7;
}
.container {
width: 100%;
}
@ -47,6 +50,8 @@
border-bottom: 1rpx solid #e7eeee;
padding: 20rpx 0rpx;
margin: 0rpx 20rpx;
display: flex;
justify-content: space-between;
}
.info-box-title {
@ -55,6 +60,8 @@
border-bottom: 1rpx solid #e7eeee;
padding: 35rpx 0rpx;
margin: 0rpx 20rpx;
display: flex;
justify-content: space-between;
}
.display-inline {
@ -63,18 +70,20 @@
.info-left {
width: 40%;
float: left;
/* float: left; */
display: flex;
align-items: center;
word-wrap: break-word;
}
.info-right {
width: 60%;
float: left;
/* float: left; */
font-size: 32rpx;
text-align: right;
word-wrap: break-word;
position: relative;
top: 5rpx;
/* position: relative;
top: 5rpx; */
}
.info-right .color {
@ -85,16 +94,18 @@
.info-left image {
width: 34rpx;
height: 34rpx;
position: relative;
top: 5rpx;
/* position: relative; */
/* top: 5rpx; */
}
.info-font {
font-size: 32rpx;
line-height: 32rpx;
color: #999;
padding: 5rpx;
top: -4rpx;
position: relative;
margin-left: 5rpx;
/* padding: 5rpx; */
/* top: -4rpx;
position: relative; */
}
.info-box-last {
@ -102,6 +113,8 @@
height: auto;
padding: 25rpx 0rpx;
margin: 0rpx 20rpx;
display: flex;
justify-content: space-between;
}
.clear {
@ -143,6 +156,7 @@
font-weight: 500;
color: rgba(51, 51, 51, 1);
line-height: 54rpx;
word-break: break-all;
}
.bottom {
@ -231,7 +245,6 @@
color: rgba(153, 153, 153, 1);
margin-top: 10rpx;
}
.info-box-volunteer {
width: 100wh;
height: auto;
@ -239,6 +252,9 @@
padding: 26rpx 0rpx;
margin: 0rpx 22rpx;
}
.info-box-volunteer:last-child {
border: none;
}
.info-box-volunteer-last {
width: 100wh;
@ -343,3 +359,6 @@
margin-left: 1%;
border-radius: 15rpx;
}
rich-text{
line-height: 75rpx;
}

23
subpages/heart/pages/heartDetail/preloadDetailItem/preloadDetailItem.js

@ -0,0 +1,23 @@
// subpages/heart/pages/heartDetail/preloadDetailItem/preloadDetailItem.js
Component({
/**
* 组件的属性列表
*/
properties: {
},
/**
* 组件的初始数据
*/
data: {
},
/**
* 组件的方法列表
*/
methods: {
}
})

4
subpages/heart/pages/heartDetail/preloadDetailItem/preloadDetailItem.json

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

35
subpages/heart/pages/heartDetail/preloadDetailItem/preloadDetailItem.wxml

@ -0,0 +1,35 @@
<view class="preload-project-item">
<view class="item-list">
<view class="left"></view>
<view class="right"></view>
</view>
<view class="item-list">
<view class="left"></view>
<view class="right"></view>
</view>
<view class="item-list">
<view class="left"></view>
<view class="right"></view>
</view>
</view>
<view class="preload-project-item">
<view class="item-list">
<view class="left"></view>
<view class="right"></view>
</view>
<view class="item-list">
<view class="left"></view>
<view class="right"></view>
</view>
</view>
<view class="preload-project-item paddingBottom">
<view class="item-list-last">
<view class="left"></view>
</view>
<view class="bottom">
<view class="bottom-every"></view>
<view class="bottom-every"></view>
<view class="bottom-every"></view>
</view>
</view>

84
subpages/heart/pages/heartDetail/preloadDetailItem/preloadDetailItem.wxss

@ -0,0 +1,84 @@
page {
background: #f7f7f7;
}
.preload-project-item {
margin-top: 20rpx;
margin-left: 20rpx;
width: calc(100% - 40rpx);
background: #fff;
box-sizing: border-box;
border-radius: 16rpx;
padding: 0rpx 22rpx;
overflow: hidden;
}
.preload-project-item .item-list {
height: 100rpx;
width: 100%;
border-bottom: 1rpx solid #EAEAEA;
display: flex;
justify-content: space-between;
align-items: center;
}
.preload-project-item .item-list:last-child {
border: none;
}
.preload-project-item .left {
height: 30rpx;
width: 190rpx;
border-radius: 8rpx;
background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%);
animation: loading 1.4s ease infinite;
background-size: 400% 100%;
}
.preload-project-item .right {
height: 30rpx;
width: 325rpx;
border-radius: 8rpx;
background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%);
animation: loading 1.4s ease infinite;
background-size: 400% 100%;
}
.item-list-last {
height: 100rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.bottom {
width: 100%;
height: 160rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.bottom .bottom-every {
width: 220rpx;
height: 160rpx;
border-radius: 8rpx;
background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%);
animation: loading 1.4s ease infinite;
background-size: 400% 100%;
}
.paddingBottom {
padding-bottom: 35rpx;
}
@keyframes loading {
0% {
background-position: 100% 50%
}
100% {
background-position: 0 50%
}
}

30
subpages/heart/pages/leaderboardNew/leaderboardNew.js

@ -1,5 +1,6 @@
import { getTimestamp } from '../../../../utils/common'
const api = require('../../../../utils/api')
var api_banner = require('../../../../utils/activity.js')
const app = getApp()
Page({
@ -41,7 +42,8 @@ Page({
signedList: [],
timer: '',
timestamp: getTimestamp(),
jilu: true
jilu: true,
banner:[]
},
// tab 切换
onTabChange(e) {
@ -67,10 +69,31 @@ Page({
*/
onLoad: function (options) {
this.loadLoveRanking()
this.bannerListV2()
this.setData({
timestamp: getTimestamp(),
})
},
bannerListV2: function () {
let that = this
let params = {
bannerType:"2"
}
api_banner.bannerList(params).then(function (res) {
that.setData({
banner: res.data
})
})
},
preViewImage(e) {
let list = [];
list.push(this.data.banner[0].bannerImg)
list.push(this.data.banner[1].bannerImg)
wx.previewImage({
urls: list,
current: e.currentTarget.dataset.src
})
},
// 加载 爱心互助排行榜
loadLoveRanking() {
this.setData({
@ -187,7 +210,7 @@ Page({
}
api.getSignedList(para).then(res => {
this.pullDownRefresh.stopRefresh()
console.log('已报名活动', res)
// console.log('已报名活动', res)
this.setData({
signedList: [...res.data],
loadMoreType: res.data.length === 10 ? 'loading' : 'none',
@ -205,7 +228,6 @@ Page({
},
// 列表 上拉加载
getSignedList() {
console.log('+++++++++++++++++++++++++')
const para = {
pageIndex: this.data.pageNo,
pageSize: this.data.pageSize,
@ -213,7 +235,7 @@ Page({
actType: this.data.selectedTab_B.substr(3, 1)
}
api.getSignedList(para).then(res => {
console.log('已报名活动', res.data.length)
// console.log('已报名活动', res.data.length)
this.setData({
signedList: [...this.data.signedList, ...res.data],
loadMoreType: res.data.length === 10 ? 'loading' : 'none',

8
subpages/heart/pages/leaderboardNew/leaderboardNew.wxml

@ -1,6 +1,10 @@
<!-- tabbar -->
<view class="banner" wx:if="{{banner.length > 0}}">
<image data-src="{{banner[0].bannerImg}}" data-list="{{banner}}" bindtap="preViewImage" src="{{banner[0].bannerImg}}"></image>
<image data-src="{{banner[1].bannerImg}}" data-list="{{banner}}" bindtap="preViewImage" src="{{banner[1].bannerImg}}"></image>
</view>
<!-- tabbar -->
<view class="tab-bar">
<view class="tab tab1 {{selectTab === 'tab1' ? 'select-tab' : ''}}" data-tab="tab1" bindtap="onTabChange">排行榜
<view class="tab tab1 {{selectTab === 'tab1' ? 'select-tab' : ''}}" data-tab="tab1" bindtap="onTabChange">志愿者银行
</view>
<view class="tab tab2 {{selectTab === 'tab2' ? 'select-tab' : ''}}" data-tab="tab2" bindtap="onTabChange">参与记录
</view>

13
subpages/heart/pages/leaderboardNew/leaderboardNew.wxss

@ -3,6 +3,7 @@ page {
}
.tab-bar {
margin-top: 16rpx;
width: 100%;
height: 90rpx;
background: #fff;
@ -235,4 +236,16 @@ button::after {
font-size: 30rpx;
color: #999;
background: #f7f7f7;
}
.banner{
width: 100%;
height: 500rpx;
background: #fff;
display: flex;
align-items: center;
justify-content: space-around;
}
.banner image{
width: 310rpx;
height: 440rpx;
}

4
utils/activity.js

@ -11,8 +11,8 @@ function getActivityList(params) {
return fly.get('heart/act/list', params)
}
function bannerList() {
return fly.get('heart/act/banner/list')
function bannerList(params) {
return fly.get('heart/act/banner/list',params)
}
function bannerListV2() {

Loading…
Cancel
Save