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. 11
      pages/heartNew/components/volunteer/volunteer.js
  4. 2
      pages/heartNew/components/volunteer/volunteer.wxml
  5. 49
      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. 138
      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. 6
      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: { methods: {
getActivityList(params) { getActivityList(params) {
let that = this let that = this
that.setData({
selectedTab: params.selectedTab
})
if (params.qkdat == true) { if (params.qkdat == true) {
console.log('清空') console.log('清空')
that.setData({ that.setData({
@ -45,6 +48,7 @@ Component({
}, },
toActDetail(e) { toActDetail(e) {
console.log('selectedTab::::'+this.data.selectedTab)
const id = e.currentTarget.dataset.id const id = e.currentTarget.dataset.id
const actcurrentstate = e.currentTarget.dataset.actcurrentstate const actcurrentstate = e.currentTarget.dataset.actcurrentstate
const signupflag = e.currentTarget.dataset.signupflag const signupflag = e.currentTarget.dataset.signupflag
@ -52,7 +56,7 @@ Component({
actId: id actId: id
}) })
wx.navigateTo({ 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) { 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=='2'}}">未开始</view>
<view class="user-state" wx:if="{{item.actCurrentState=='3'}}">进行中</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=='4'}}">已结束</view>
<view class="user-state" wx:if="{{item.actCurrentState=='5'}}">已取消</view>
</view> </view>
<view class="infos"> <view class="infos">
<view class="infos_title">{{item.title}}</view> <view class="infos_title">{{item.title}}</view>

11
pages/heartNew/components/volunteer/volunteer.js

@ -1,4 +1,5 @@
// pages/indexNew/components/volunteer/volunteer.js // pages/indexNew/components/volunteer/volunteer.js
const app = getApp()
Component({ Component({
/** /**
* 组件的属性列表 * 组件的属性列表
@ -14,13 +15,19 @@ Component({
* 组件的初始数据 * 组件的初始数据
*/ */
data: { data: {
ifclick:true
}, },
/** /**
* 组件的方法列表 * 组件的方法列表
*/ */
methods: { 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"> <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="name">{{volunteerItemObj.nickname}}</view>
<view class="autograph">{{volunteerItemObj.volunteerSignature}}</view> <view class="autograph">{{volunteerItemObj.volunteerSignature}}</view>
</view> </view>

49
pages/heartNew/heartNew.js

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

2
pages/heartNew/heartNew.wxml

@ -78,7 +78,7 @@
<block wx:if="{{ selectedTab == 'tab1' }}"> <block wx:if="{{ selectedTab == 'tab1' }}">
<view class="details-top"> <view class="details-top">
<view class="volunteer-box"> <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>
<!-- <view class="show">*按姓氏拼音排序</view> --> <!-- <view class="show">*按姓氏拼音排序</view> -->
</view> </view>

4
pages/heartNew/heartNew.wxss

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

8
pages/mine/mine.js

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

3
pages/mine/mine.wxml

@ -20,7 +20,8 @@
<view class="complete-info" bindtap="navigateToComplete"> <view class="complete-info" bindtap="navigateToComplete">
<image class="complete-image" src="../../images/mine/wanshanxinxi.png" /> <image class="complete-image" src="../../images/mine/wanshanxinxi.png" />
<view class="complete-content"> <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" /> <image class="rightsword" src="../../images/mine/mine-rightsword.png" />
</view> </view>
</view> </view>

2
pages/mine/mine.wxss

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

2
pages/toRegister/toRegister.js

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

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

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

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

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

138
subpages/heart/pages/heartDetail/heartDetail.wxml

@ -1,11 +1,14 @@
<wux-dialog id="wux-dialog" /> <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"> <view class="top-bg">
<image src="../../images/heartDetail-bg.png" /> <image src="../../images/heartDetail-bg.png" />
</view> </view>
<view class="top-font">{{detail.title}}</view> <view class="top-font">{{detail.title}}</view>
<view class="{{detail.title.length < 32 ? 'position-absolute-top1' : 'position-absolute-top2'}} position-absolute"> <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">
<view class="info-box"> <view class="info-box">
@ -16,7 +19,6 @@
<view class="info-right color"> <view class="info-right color">
{{signupEndTime}} {{signupEndTime}}
</view> </view>
<view class="clear"></view>
</view> </view>
<view class="info-box"> <view class="info-box">
<view class="info-left"> <view class="info-left">
@ -27,7 +29,6 @@
<view>{{actStartTime}}至</view> <view>{{actStartTime}}至</view>
<view>{{actEndTime}}</view> <view>{{actEndTime}}</view>
</view> </view>
<view class="clear"></view>
</view> </view>
<view class="info-box"> <view class="info-box">
@ -38,7 +39,6 @@
<view class="info-right color"> <view class="info-right color">
{{detail.actAddress}} {{detail.actAddress}}
</view> </view>
<view class="clear"></view>
</view> </view>
<view class="info-box"> <view class="info-box">
@ -46,16 +46,12 @@
<image src="../../images/mdsz.png"></image> <image src="../../images/mdsz.png"></image>
<view class="info-font display-inline">活动名额</view> <view class="info-font display-inline">活动名额</view>
</view> </view>
<!-- <view class="info-right color">
{{ detail.actQuotaCategory === 0 ? '不限名额' : detail.actQuota + '人'}}
</view> -->
<view class="info-right color" wx:if="{{detail.actQuotaCategory === 0}}"> <view class="info-right color" wx:if="{{detail.actQuotaCategory === 0}}">
不限名额 不限名额
</view> </view>
<view class="info-right color" wx:else> <view class="info-right color" wx:else>
{{detail.actQuota}}人 {{detail.actQuota}}人
</view> </view>
<view class="clear"></view>
</view> </view>
<view class="info-box"> <view class="info-box">
@ -66,7 +62,6 @@
<view class="info-right color"> <view class="info-right color">
{{detail.contacts}} {{detail.contacts}}
</view> </view>
<view class="clear"></view>
</view> </view>
<view class="info-box"> <view class="info-box">
@ -77,7 +72,6 @@
<view class="info-right color"> <view class="info-right color">
{{detail.tel}} {{detail.tel}}
</view> </view>
<view class="clear"></view>
</view> </view>
<view class="info-box-last"> <view class="info-box-last">
@ -88,7 +82,6 @@
<view class="info-right color"> <view class="info-right color">
{{detail.reward}} {{detail.reward}}
</view> </view>
<view class="clear"></view>
</view> </view>
</view> </view>
<!-- 招募要求 --> <!-- 招募要求 -->
@ -98,7 +91,6 @@
<image src="../../images/dingdan.png"></image> <image src="../../images/dingdan.png"></image>
<view class="info-font-zhaomu display-inline">招募要求</view> <view class="info-font-zhaomu display-inline">招募要求</view>
</view> </view>
<view class="clear"></view>
</view> </view>
<view class="info-box-last-require"> <view class="info-box-last-require">
{{detail.requirement}} {{detail.requirement}}
@ -112,20 +104,37 @@
</view> --> </view> -->
</view> </view>
<!-- 活动详情 --> <!-- 活动详情 -->
<view class="require {{detail.currentUserStatus == 0||detail.currentUserStatus == 1||detail.currentUserStatus == 2||detail.currentUserStatus == 3? '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-box-title">
<view class="info-left"> <view class="info-left">
<image src="../../images/xiangqing.png"></image> <image src="../../images/xiangqing.png"></image>
<view class="info-font-zhaomu display-inline">活动详情</view> <view class="info-font-zhaomu display-inline">活动详情</view>
</view> </view>
<view class="clear"></view>
</view> </view>
<view class="info-box-last-require"> <view class="info-box-last-require">
<rich-text space="nbsp" nodes="{{actContent}}"></rich-text> <rich-text space="nbsp" nodes="{{actContent}}"></rich-text>
</view> </view>
</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>
<!-- 志愿者打卡 --> <!-- 志愿者打卡 -->
<block wx:if="{{detail.currentUserStatus == 4 || detail.currentUserStatus == 5 || detail.currentUserStatus == 6 || detail.currentUserStatus == 7 || detail.currentUserStatus == 8 || detail.currentUserStatus == 9}}"> <!-- 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="require {{detail.currentUserStatus == 4||detail.currentUserStatus == 5? 'margin-bottom':''}}">
<view class="info-box-title"> <view class="info-box-title">
<view class="info-left"> <view class="info-left">
@ -135,7 +144,6 @@
<view class="info-right volunteer"> <view class="info-right volunteer">
{{clockNum}}次 {{clockNum}}次
</view> </view>
<view class="clear"></view>
</view> </view>
@ -161,18 +169,22 @@
<view class="photo"> <view class="photo">
<!-- 只有一张图片的时候 --> <!-- 只有一张图片的时候 -->
<block wx:if='{{item.images.length == 1 }}'> <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> <image data-src="{{item.images[0]}}" data-list="{{item.images}}" bindtap="preViewImage"
src="{{item.images[0]}}" class="photo-one"></image>
</block> </block>
<!-- 有两张图片时的布局 --> <!-- 有两张图片时的布局 -->
<block wx:if='{{item.images.length == 2 }}'> <block wx:if='{{item.images.length == 2 }}'>
<block wx:for="{{item.images}}" wx:key="index" wx:for-index="index" wx:for-item="val"> <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> <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> </block>
<!-- 有三张图片时的布局 --> <!-- 有三张图片时的布局 -->
<block wx:if='{{item.images.length == 3 }}'> <block wx:if='{{item.images.length == 3 }}'>
<block wx:for="{{item.images}}" wx:key="index" wx:for-index="index" wx:for-item="val"> <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> <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>
</block> </block>
@ -181,17 +193,92 @@
</view> </view>
</block> </block>
<!-- 志愿者打卡列表循环**********end*************** --> <!-- 志愿者打卡列表循环**********end*************** -->
</view> </view>
<!-- 志愿者打卡 *************** end **************** --> <!-- 志愿者打卡 *************** end **************** -->
</block> </block>
</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>
<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> <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}}人 已报名 {{detail.signupNum}}人
</view> </view>
</block> </block>
@ -257,7 +344,8 @@
<block wx:elif="{{detail.currentUserStatus == 4 || detail.currentUserStatus == 5}}"> <block wx:elif="{{detail.currentUserStatus == 4 || detail.currentUserStatus == 5}}">
<!-- 4-我要打卡 5-更新打卡 6-已结束 bindtap="goClockIn" --> <!-- 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> <image class='header-bg' src="../../images/yuanjiao-red.png"></image>
<view wx:if="{{detail.currentUserStatus == 4}}" class="font"> 我要打卡 </view> <view wx:if="{{detail.currentUserStatus == 4}}" class="font"> 我要打卡 </view>
<view wx:elif="{{detail.currentUserStatus == 5}}" class="font"> 更新打卡 </view> <view wx:elif="{{detail.currentUserStatus == 5}}" class="font"> 更新打卡 </view>
@ -266,8 +354,10 @@
</view> </view>
</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> </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> </cancel-signup-dialog>

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

@ -1,3 +1,6 @@
page{
background: #f7f7f7;
}
.container { .container {
width: 100%; width: 100%;
} }
@ -47,6 +50,8 @@
border-bottom: 1rpx solid #e7eeee; border-bottom: 1rpx solid #e7eeee;
padding: 20rpx 0rpx; padding: 20rpx 0rpx;
margin: 0rpx 20rpx; margin: 0rpx 20rpx;
display: flex;
justify-content: space-between;
} }
.info-box-title { .info-box-title {
@ -55,6 +60,8 @@
border-bottom: 1rpx solid #e7eeee; border-bottom: 1rpx solid #e7eeee;
padding: 35rpx 0rpx; padding: 35rpx 0rpx;
margin: 0rpx 20rpx; margin: 0rpx 20rpx;
display: flex;
justify-content: space-between;
} }
.display-inline { .display-inline {
@ -63,18 +70,20 @@
.info-left { .info-left {
width: 40%; width: 40%;
float: left; /* float: left; */
display: flex;
align-items: center;
word-wrap: break-word; word-wrap: break-word;
} }
.info-right { .info-right {
width: 60%; width: 60%;
float: left; /* float: left; */
font-size: 32rpx; font-size: 32rpx;
text-align: right; text-align: right;
word-wrap: break-word; word-wrap: break-word;
position: relative; /* position: relative;
top: 5rpx; top: 5rpx; */
} }
.info-right .color { .info-right .color {
@ -85,16 +94,18 @@
.info-left image { .info-left image {
width: 34rpx; width: 34rpx;
height: 34rpx; height: 34rpx;
position: relative; /* position: relative; */
top: 5rpx; /* top: 5rpx; */
} }
.info-font { .info-font {
font-size: 32rpx; font-size: 32rpx;
line-height: 32rpx;
color: #999; color: #999;
padding: 5rpx; margin-left: 5rpx;
top: -4rpx; /* padding: 5rpx; */
position: relative; /* top: -4rpx;
position: relative; */
} }
.info-box-last { .info-box-last {
@ -102,6 +113,8 @@
height: auto; height: auto;
padding: 25rpx 0rpx; padding: 25rpx 0rpx;
margin: 0rpx 20rpx; margin: 0rpx 20rpx;
display: flex;
justify-content: space-between;
} }
.clear { .clear {
@ -143,6 +156,7 @@
font-weight: 500; font-weight: 500;
color: rgba(51, 51, 51, 1); color: rgba(51, 51, 51, 1);
line-height: 54rpx; line-height: 54rpx;
word-break: break-all;
} }
.bottom { .bottom {
@ -231,7 +245,6 @@
color: rgba(153, 153, 153, 1); color: rgba(153, 153, 153, 1);
margin-top: 10rpx; margin-top: 10rpx;
} }
.info-box-volunteer { .info-box-volunteer {
width: 100wh; width: 100wh;
height: auto; height: auto;
@ -239,6 +252,9 @@
padding: 26rpx 0rpx; padding: 26rpx 0rpx;
margin: 0rpx 22rpx; margin: 0rpx 22rpx;
} }
.info-box-volunteer:last-child {
border: none;
}
.info-box-volunteer-last { .info-box-volunteer-last {
width: 100wh; width: 100wh;
@ -343,3 +359,6 @@
margin-left: 1%; margin-left: 1%;
border-radius: 15rpx; 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' import { getTimestamp } from '../../../../utils/common'
const api = require('../../../../utils/api') const api = require('../../../../utils/api')
var api_banner = require('../../../../utils/activity.js')
const app = getApp() const app = getApp()
Page({ Page({
@ -41,7 +42,8 @@ Page({
signedList: [], signedList: [],
timer: '', timer: '',
timestamp: getTimestamp(), timestamp: getTimestamp(),
jilu: true jilu: true,
banner:[]
}, },
// tab 切换 // tab 切换
onTabChange(e) { onTabChange(e) {
@ -67,10 +69,31 @@ Page({
*/ */
onLoad: function (options) { onLoad: function (options) {
this.loadLoveRanking() this.loadLoveRanking()
this.bannerListV2()
this.setData({ this.setData({
timestamp: getTimestamp(), 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() { loadLoveRanking() {
this.setData({ this.setData({
@ -187,7 +210,7 @@ Page({
} }
api.getSignedList(para).then(res => { api.getSignedList(para).then(res => {
this.pullDownRefresh.stopRefresh() this.pullDownRefresh.stopRefresh()
console.log('已报名活动', res) // console.log('已报名活动', res)
this.setData({ this.setData({
signedList: [...res.data], signedList: [...res.data],
loadMoreType: res.data.length === 10 ? 'loading' : 'none', loadMoreType: res.data.length === 10 ? 'loading' : 'none',
@ -205,7 +228,6 @@ Page({
}, },
// 列表 上拉加载 // 列表 上拉加载
getSignedList() { getSignedList() {
console.log('+++++++++++++++++++++++++')
const para = { const para = {
pageIndex: this.data.pageNo, pageIndex: this.data.pageNo,
pageSize: this.data.pageSize, pageSize: this.data.pageSize,
@ -213,7 +235,7 @@ Page({
actType: this.data.selectedTab_B.substr(3, 1) actType: this.data.selectedTab_B.substr(3, 1)
} }
api.getSignedList(para).then(res => { api.getSignedList(para).then(res => {
console.log('已报名活动', res.data.length) // console.log('已报名活动', res.data.length)
this.setData({ this.setData({
signedList: [...this.data.signedList, ...res.data], signedList: [...this.data.signedList, ...res.data],
loadMoreType: res.data.length === 10 ? 'loading' : 'none', loadMoreType: res.data.length === 10 ? 'loading' : 'none',

6
subpages/heart/pages/leaderboardNew/leaderboardNew.wxml

@ -1,6 +1,10 @@
<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 --> <!-- tabbar -->
<view class="tab-bar"> <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>
<view class="tab tab2 {{selectTab === 'tab2' ? 'select-tab' : ''}}" data-tab="tab2" bindtap="onTabChange">参与记录 <view class="tab tab2 {{selectTab === 'tab2' ? 'select-tab' : ''}}" data-tab="tab2" bindtap="onTabChange">参与记录
</view> </view>

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

@ -3,6 +3,7 @@ page {
} }
.tab-bar { .tab-bar {
margin-top: 16rpx;
width: 100%; width: 100%;
height: 90rpx; height: 90rpx;
background: #fff; background: #fff;
@ -236,3 +237,15 @@ button::after {
color: #999; color: #999;
background: #f7f7f7; 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) return fly.get('heart/act/list', params)
} }
function bannerList() { function bannerList(params) {
return fly.get('heart/act/banner/list') return fly.get('heart/act/banner/list',params)
} }
function bannerListV2() { function bannerListV2() {

Loading…
Cancel
Save