9 changed files with 2166 additions and 2028 deletions
@ -1,292 +1,320 @@ |
|||
import { getTimestamp } from "../../../../utils/common" |
|||
const api = require("../../../../utils/api") |
|||
var api_banner = require("../../../../utils/activity.js") |
|||
const app = getApp() |
|||
Page({ |
|||
|
|||
/** |
|||
* 页面的初始数据 |
|||
*/ |
|||
data: { |
|||
selectTab: "tab1", |
|||
selectedTab_B: "tab0", |
|||
typeList: [{ //排名方式:0-周,1-月
|
|||
type: "tab0", |
|||
name: "审核中", |
|||
select: true |
|||
}, |
|||
{ |
|||
type: "tab1", |
|||
name: "已通过", |
|||
select: false |
|||
}, |
|||
{ |
|||
type: "tab4", |
|||
name: "未通过", |
|||
select: false |
|||
}, { |
|||
type: "tab5", |
|||
name: "已结束", |
|||
select: false |
|||
} |
|||
], |
|||
// 积分排行榜相关
|
|||
datalenght: null, |
|||
loveRankingList: [], |
|||
preloadVisible: true, |
|||
// 列表相关
|
|||
loadMoreVisible: false, |
|||
loadMoreType: "none", |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
signedList: [], |
|||
timer: "", |
|||
timestamp: getTimestamp(), |
|||
jilu: true, |
|||
banner:[] |
|||
}, |
|||
// tab 切换
|
|||
onTabChange (e) { |
|||
this.setData({ |
|||
selectTab: e.currentTarget.dataset.tab, |
|||
pageNo: 1 |
|||
}) |
|||
|
|||
if (e.currentTarget.dataset.tab == "tab2") { |
|||
this.setData({ |
|||
jilu: false, |
|||
}) |
|||
this.getSignedList() |
|||
} else { |
|||
this.setData({ |
|||
jilu: true, |
|||
loveRankingList: [], |
|||
}) |
|||
this.loadLoveRanking() |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面加载 |
|||
*/ |
|||
onLoad: function () { |
|||
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[e.currentTarget.dataset.listIndex].bannerImg) |
|||
console.log(list) |
|||
if (e.currentTarget.dataset.listIndex+1 < this.data.banner.length) { |
|||
list.push(this.data.banner[e.currentTarget.dataset.listIndex+1].bannerImg) |
|||
} |
|||
wx.previewImage({ |
|||
urls: list, |
|||
current: e.currentTarget.dataset.src |
|||
}) |
|||
}, |
|||
// 加载 爱心互助排行榜
|
|||
loadLoveRanking () { |
|||
this.setData({ |
|||
// loveRankingList: [],
|
|||
preloadVisible: true |
|||
}) |
|||
const para = { |
|||
pageIndex: this.data.pageNo, |
|||
pageSize: this.data.pageSize |
|||
} |
|||
api.leaderboard(para).then(res => { |
|||
this.setData({ |
|||
datalenght: res.data.length |
|||
}) |
|||
// res.data.forEach((item) => {
|
|||
// this.data.loveRankingList.push(item)
|
|||
// })
|
|||
this.setData({ |
|||
loveRankingList: [ ...this.data.loveRankingList, ...res.data ], |
|||
loadMoreType: res.data.length === 10 ? "loading" : "none", |
|||
preloadVisible: false |
|||
}) |
|||
}).catch(() => { |
|||
this.setData({ |
|||
datalenght:0, |
|||
loveRankingList: [], |
|||
loadMoreType: "none", |
|||
preloadVisible: false |
|||
}) |
|||
}) |
|||
}, |
|||
|
|||
|
|||
/** |
|||
* 生命周期函数--监听页面显示 |
|||
*/ |
|||
onShow: function () { |
|||
if(this.data.selectTab == "tab2"){ |
|||
this.pulldownRefresh() |
|||
} |
|||
if (!app.globalData.previewImage) { |
|||
console.log("过滤previewImage引起的onShow") |
|||
} |
|||
app.globalData.previewImage = false |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面隐藏 |
|||
*/ |
|||
onHide: function () { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面卸载 |
|||
*/ |
|||
onUnload: function () { |
|||
|
|||
}, |
|||
|
|||
// 参与记录切换
|
|||
onButtonChange: function (e) { |
|||
const list = this.data.typeList |
|||
let that = this; |
|||
list.forEach(item => { |
|||
if (item.type === e.currentTarget.dataset.type) { |
|||
item.select = true |
|||
} else { |
|||
item.select = false |
|||
} |
|||
}) |
|||
that.setData({ |
|||
typeList: list, |
|||
selectedTab_B: e.currentTarget.dataset.type |
|||
}) |
|||
|
|||
this.pulldownRefresh() |
|||
}, |
|||
/** |
|||
* 生命周期函数--监听页面初次渲染完成 |
|||
*/ |
|||
onReady: function () { |
|||
this.pullDownRefresh = this.selectComponent("#pulldown-refresh") |
|||
}, |
|||
onPageScroll (e) { |
|||
this.pullDownRefresh.onPageScroll(e) |
|||
}, |
|||
/** |
|||
* 页面上拉触底事件的处理函数 |
|||
*/ |
|||
onReachBottom: function () { |
|||
this.setData({ |
|||
loadMoreVisible: true |
|||
}) |
|||
if (this.data.loadMoreType === "loading") { |
|||
this.setData({ |
|||
pageNo: this.data.pageNo + 1 |
|||
}) |
|||
} |
|||
if(this.data.selectTab == "tab2"){ |
|||
this.getSignedList() |
|||
} else { |
|||
this.loadLoveRanking() |
|||
} |
|||
}, |
|||
// 列表 下拉刷新, 初始化加载
|
|||
pulldownRefresh () { |
|||
this.setData({ |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
loadMoreVisible: false, |
|||
loadMoreType: "none", |
|||
preloadVisible: true, |
|||
signedList: [], |
|||
timestamp: getTimestamp() |
|||
}) |
|||
const para = { |
|||
pageIndex: this.data.pageNo, |
|||
pageSize: this.data.pageSize, |
|||
timestamp: this.data.timestamp, |
|||
actType: this.data.selectedTab_B.substr(3, 1) |
|||
} |
|||
api.getSignedList(para).then(res => { |
|||
this.pullDownRefresh.stopRefresh() |
|||
// console.log('已报名活动', res)
|
|||
this.setData({ |
|||
signedList: [...res.data], |
|||
loadMoreType: res.data.length === 10 ? "loading" : "none", |
|||
preloadVisible: false |
|||
}) |
|||
}).catch(err => { |
|||
this.pullDownRefresh.stopRefresh() |
|||
this.setData({ |
|||
signedList: [], |
|||
loadMoreType: "none", |
|||
preloadVisible: false |
|||
}) |
|||
console.log(err) |
|||
}) |
|||
}, |
|||
// 列表 上拉加载
|
|||
getSignedList () { |
|||
const para = { |
|||
pageIndex: this.data.pageNo, |
|||
pageSize: this.data.pageSize, |
|||
timestamp: this.data.timestamp, |
|||
actType: this.data.selectedTab_B.substr(3, 1) |
|||
} |
|||
api.getSignedList(para).then(res => { |
|||
// console.log('已报名活动', res.data.length)
|
|||
this.setData({ |
|||
signedList: [...this.data.signedList, ...res.data], |
|||
loadMoreType: res.data.length === 10 ? "loading" : "none", |
|||
preloadVisible: false |
|||
}) |
|||
}).catch(err => { |
|||
this.setData({ |
|||
signedList: [], |
|||
loadMoreType: "none", |
|||
preloadVisible: false |
|||
}) |
|||
console.log(err) |
|||
}).finally(() => { |
|||
this.pullDownRefresh.stopRefresh() |
|||
}) |
|||
}, |
|||
|
|||
// 查看详情
|
|||
toDetail (e) { |
|||
if (this.data.selectedTab === "tab4") { |
|||
wx.navigateTo({ |
|||
url: `/subpages/heart/pages/refusedOrEndedDetail/refusedOrEndedDetail?id=${e.detail.detailId}` |
|||
}) |
|||
} else if (e.detail.actCurrentState == 5) { |
|||
wx.navigateTo({ |
|||
url: `/subpages/heart/pages/cancelDetail/cancelDetail?id=${e.detail.detailId}` |
|||
}) |
|||
} else { |
|||
wx.navigateTo({ |
|||
url: `/subpages/heart/pages/heartDetail/heartDetail?id=${e.detail.detailId}` |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 用户点击右上角分享 |
|||
*/ |
|||
onShareAppMessage: function () { |
|||
|
|||
} |
|||
import { getTimestamp } from "../../../../utils/common" |
|||
const api = require("../../../../utils/api") |
|||
var api_banner = require("../../../../utils/activity.js") |
|||
const app = getApp() |
|||
Page({ |
|||
|
|||
/** |
|||
* 页面的初始数据 |
|||
*/ |
|||
data: { |
|||
selectTab: "tab1", |
|||
selectedTab_B: "tab0", |
|||
typeList: [{ //排名方式:0-周,1-月
|
|||
type: "tab0", |
|||
name: "审核中", |
|||
select: true |
|||
}, |
|||
{ |
|||
type: "tab1", |
|||
name: "已通过", |
|||
select: false |
|||
}, |
|||
{ |
|||
type: "tab4", |
|||
name: "未通过", |
|||
select: false |
|||
}, { |
|||
type: "tab5", |
|||
name: "已结束", |
|||
select: false |
|||
} |
|||
], |
|||
// 积分排行榜相关
|
|||
datalenght: null, |
|||
loveRankingList: [], |
|||
preloadVisible: true, |
|||
// 列表相关
|
|||
loadMoreVisible: false, |
|||
loadMoreType: "none", |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
signedList: [], |
|||
timer: "", |
|||
timestamp: getTimestamp(), |
|||
jilu: true, |
|||
banner:[], |
|||
rankId: '0', |
|||
rankTabList: [ |
|||
{ |
|||
id: '0', |
|||
label: '爱心时长' |
|||
}, |
|||
{ |
|||
id: '1', |
|||
label: '参与次数' |
|||
}, |
|||
{ |
|||
id: '2', |
|||
label: '公益积分' |
|||
} |
|||
] |
|||
}, |
|||
// tab 切换
|
|||
onTabChange (e) { |
|||
this.setData({ |
|||
selectTab: e.currentTarget.dataset.tab, |
|||
pageNo: 1 |
|||
}) |
|||
|
|||
if (e.currentTarget.dataset.tab == "tab2") { |
|||
this.setData({ |
|||
jilu: false, |
|||
signedList: [] |
|||
}) |
|||
this.getSignedList() |
|||
} else { |
|||
this.setData({ |
|||
jilu: true, |
|||
loveRankingList: [], |
|||
}) |
|||
this.loadLoveRanking() |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面加载 |
|||
*/ |
|||
onLoad: function () { |
|||
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[e.currentTarget.dataset.listIndex].bannerImg) |
|||
console.log(list) |
|||
if (e.currentTarget.dataset.listIndex+1 < this.data.banner.length) { |
|||
list.push(this.data.banner[e.currentTarget.dataset.listIndex+1].bannerImg) |
|||
} |
|||
wx.previewImage({ |
|||
urls: list, |
|||
current: e.currentTarget.dataset.src |
|||
}) |
|||
}, |
|||
// 加载 爱心互助排行榜
|
|||
loadLoveRanking () { |
|||
this.setData({ |
|||
// loveRankingList: [],
|
|||
preloadVisible: true |
|||
}) |
|||
const para = { |
|||
pageIndex: this.data.pageNo, |
|||
pageSize: this.data.pageSize, |
|||
type: this.data.rankId |
|||
} |
|||
api.leaderboard(para).then(res => { |
|||
this.setData({ |
|||
datalenght: res.data.length |
|||
}) |
|||
// res.data.forEach((item) => {
|
|||
// this.data.loveRankingList.push(item)
|
|||
// })
|
|||
this.setData({ |
|||
loveRankingList: [ ...this.data.loveRankingList, ...res.data ], |
|||
loadMoreType: res.data.length === 10 ? "loading" : "none", |
|||
preloadVisible: false |
|||
}) |
|||
}).catch(() => { |
|||
this.setData({ |
|||
datalenght:0, |
|||
loveRankingList: [], |
|||
loadMoreType: "none", |
|||
preloadVisible: false |
|||
}) |
|||
}) |
|||
}, |
|||
|
|||
|
|||
/** |
|||
* 生命周期函数--监听页面显示 |
|||
*/ |
|||
onShow: function () { |
|||
if(this.data.selectTab == "tab2"){ |
|||
this.pulldownRefresh() |
|||
} |
|||
if (!app.globalData.previewImage) { |
|||
console.log("过滤previewImage引起的onShow") |
|||
} |
|||
app.globalData.previewImage = false |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面隐藏 |
|||
*/ |
|||
onHide: function () { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面卸载 |
|||
*/ |
|||
onUnload: function () { |
|||
|
|||
}, |
|||
|
|||
// 参与记录切换
|
|||
onButtonChange: function (e) { |
|||
const list = this.data.typeList |
|||
let that = this; |
|||
list.forEach(item => { |
|||
if (item.type === e.currentTarget.dataset.type) { |
|||
item.select = true |
|||
} else { |
|||
item.select = false |
|||
} |
|||
}) |
|||
that.setData({ |
|||
typeList: list, |
|||
selectedTab_B: e.currentTarget.dataset.type |
|||
}) |
|||
|
|||
this.pulldownRefresh() |
|||
}, |
|||
/** |
|||
* 生命周期函数--监听页面初次渲染完成 |
|||
*/ |
|||
onReady: function () { |
|||
this.pullDownRefresh = this.selectComponent("#pulldown-refresh") |
|||
}, |
|||
onPageScroll (e) { |
|||
this.pullDownRefresh.onPageScroll(e) |
|||
}, |
|||
/** |
|||
* 页面上拉触底事件的处理函数 |
|||
*/ |
|||
onReachBottom: function () { |
|||
this.setData({ |
|||
loadMoreVisible: true |
|||
}) |
|||
if (this.data.loadMoreType === "loading") { |
|||
this.setData({ |
|||
pageNo: this.data.pageNo + 1 |
|||
}) |
|||
if(this.data.selectTab == "tab2"){ |
|||
this.getSignedList() |
|||
} else { |
|||
this.loadLoveRanking() |
|||
} |
|||
} |
|||
}, |
|||
// 列表 下拉刷新, 初始化加载
|
|||
pulldownRefresh () { |
|||
this.setData({ |
|||
pageNo: 1, |
|||
pageSize: 10, |
|||
loadMoreVisible: false, |
|||
loadMoreType: "none", |
|||
preloadVisible: true, |
|||
signedList: [], |
|||
timestamp: getTimestamp() |
|||
}) |
|||
const para = { |
|||
pageIndex: this.data.pageNo, |
|||
pageSize: this.data.pageSize, |
|||
timestamp: this.data.timestamp, |
|||
actType: this.data.selectedTab_B.substr(3, 1) |
|||
} |
|||
api.getSignedList(para).then(res => { |
|||
this.pullDownRefresh.stopRefresh() |
|||
// console.log('已报名活动', res)
|
|||
this.setData({ |
|||
signedList: [...res.data], |
|||
loadMoreType: res.data.length === 10 ? "loading" : "none", |
|||
preloadVisible: false |
|||
}) |
|||
}).catch(err => { |
|||
this.pullDownRefresh.stopRefresh() |
|||
this.setData({ |
|||
signedList: [], |
|||
loadMoreType: "none", |
|||
preloadVisible: false |
|||
}) |
|||
console.log(err) |
|||
}) |
|||
}, |
|||
// 列表 上拉加载
|
|||
getSignedList () { |
|||
const para = { |
|||
pageIndex: this.data.pageNo, |
|||
pageSize: this.data.pageSize, |
|||
timestamp: this.data.timestamp, |
|||
actType: this.data.selectedTab_B.substr(3, 1) |
|||
} |
|||
api.getSignedList(para).then(res => { |
|||
// console.log('已报名活动', res.data.length)
|
|||
this.setData({ |
|||
signedList: [...this.data.signedList, ...res.data], |
|||
loadMoreType: res.data.length === 10 ? "loading" : "none", |
|||
preloadVisible: false |
|||
}) |
|||
}).catch(err => { |
|||
this.setData({ |
|||
signedList: [], |
|||
loadMoreType: "none", |
|||
preloadVisible: false |
|||
}) |
|||
console.log(err) |
|||
}).finally(() => { |
|||
this.pullDownRefresh.stopRefresh() |
|||
}) |
|||
}, |
|||
|
|||
// 查看详情
|
|||
toDetail (e) { |
|||
if (this.data.selectedTab === "tab4") { |
|||
wx.navigateTo({ |
|||
url: `/subpages/heart/pages/refusedOrEndedDetail/refusedOrEndedDetail?id=${e.detail.detailId}` |
|||
}) |
|||
} else if (e.detail.actCurrentState == 5) { |
|||
wx.navigateTo({ |
|||
url: `/subpages/heart/pages/cancelDetail/cancelDetail?id=${e.detail.detailId}` |
|||
}) |
|||
} else { |
|||
wx.navigateTo({ |
|||
url: `/subpages/heart/pages/heartDetail/heartDetail?id=${e.detail.detailId}` |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 用户点击右上角分享 |
|||
*/ |
|||
onShareAppMessage: function () { |
|||
|
|||
}, |
|||
|
|||
//选择排序列
|
|||
changeTag (e) { |
|||
const id = e.currentTarget.dataset.id |
|||
this.setData({ |
|||
rankId: id, |
|||
loveRankingList: [], |
|||
pageNo: 1 |
|||
}) |
|||
this.loadLoveRanking() |
|||
}, |
|||
}) |
@ -1,76 +1,89 @@ |
|||
<view class="banner" wx:if="{{banner.length > 0}}"> |
|||
<swiper class="swiper"> |
|||
<swiper-item class="swiper-item" wx:for="{{banner}}" wx:for-item="item" wx:for-index="index" wx:key="index" wx:if="{{index%2==0&&(index+1)%2==1}}"> |
|||
<image data-src="{{banner[index].bannerImg}}" data-list-index="{{index}}" bindtap="preViewImage" src="{{banner[index].bannerImg}}"></image> |
|||
<image data-src="{{banner[index+1].bannerImg}}" data-list-index="{{index}}" bindtap="preViewImage" src="{{banner[index+1].bannerImg}}" wx:if="{{banner[index+1].bannerImg!=undefined}}"></image> |
|||
</swiper-item> |
|||
</swiper> |
|||
</view> |
|||
<!-- tabbar --> |
|||
<view class="tab-bar"> |
|||
<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> |
|||
<view class="select-bar {{selectTab === 'tab1' ? 'tab1' : 'tab2'}}"></view> |
|||
</view> |
|||
<!-- 积分排行 --> |
|||
<block wx:if="{{selectTab === 'tab1'}}"> |
|||
<view class="bottom padding"> |
|||
<block wx:if="{{loveRankingList.length === 0 && preloadVisible}}"> |
|||
<preload-loveranking-item wx:for="{{[1,2,3,4]}}" wx:for-index="index" wx:key="index"> |
|||
</preload-loveranking-item> |
|||
</block> |
|||
<block wx:elif="{{loveRankingList.length > 0}}"> |
|||
<view class="list-item" wx:for-item="item" wx:key="index" wx:for-index="index" wx:for="{{loveRankingList}}"> |
|||
<view class="num {{index === 0 ? 'color1' : index === 1 ? 'color2' : index === 2 ? 'color3' : ''}}"> |
|||
{{index + 1}}</view> |
|||
<image class="avatar" src="{{item.faceImg}}" /> |
|||
<view class="info"> |
|||
<view class="name"><view>{{item.nickname}}</view><image src="../../images/ic_dangbiaoqian.png" wx:if="{{item.partyFlag == '1'}}"/></view> |
|||
<view class="info-detail"> |
|||
<image class="heart-time" src="../../images/aixin.png"></image> |
|||
<view> 爱心时长 {{item.kindnessTime}}小时</view> |
|||
<image class="enter-times" src="../../images/bofangcishu.png"></image> |
|||
<view> 参加次数 {{item.participationNum}}次</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</block> |
|||
|
|||
<block wx:if="{{datalenght == 0}}"> |
|||
<view class="project-nodata"> |
|||
<image class="nodata-image" src="../../../../images/mine/project-nodata.png" /> |
|||
<view class="nodata-tip">暂无排名</view> |
|||
<view class="nodata-tip">快来参加吧</view> |
|||
</view> |
|||
</block> |
|||
</view> |
|||
</block> |
|||
|
|||
<!-- 参与记录 --> |
|||
<view hidden="{{jilu}}"> |
|||
<view class="tab-item"> |
|||
<button wx:for="{{typeList}}" wx:key="index" wx:for-index="index" bindtap="onButtonChange" hover-class="hover-btn" |
|||
data-type="{{item.type}}" id="item-{{ item.type }}" class="{{item.select ? 'font-w' : 'font-b'}}"> |
|||
{{item.name}} |
|||
</button> |
|||
</view> |
|||
|
|||
<pulldown-refresh id="pulldown-refresh" bind:pullDownRefresh="pulldownRefresh"> |
|||
<view class="activity-list" slot="content"> |
|||
<block wx:if="{{preloadVisible}}"> |
|||
<preload-activity-item wx:for="{{[1,2]}}" wx:for-index="index" wx:for-item="item" wx:key="index"> |
|||
</preload-activity-item> |
|||
</block> |
|||
<block wx:elif="{{signedList.length > 0 && !preloadVisible}}"> |
|||
<activity-item wx:for="{{signedList}}" activityItemObj="{{item}}" wx:for-index="index" wx:for-item="item" |
|||
bind:toDetail="toDetail" actType="{{selectedTab}}" wx:key="{{index}}"> |
|||
</activity-item> |
|||
</block> |
|||
<view class="no-data" wx:elif="{{signedList.length === 0 && !preloadVisible}}">暂无数据</view> |
|||
</view> |
|||
</pulldown-refresh> |
|||
|
|||
<load-more loadMoreVisible="{{loadMoreVisible}}" loadMoreType="{{loadMoreType}}"></load-more> |
|||
</view> |
|||
<view class="banner" wx:if="{{banner.length > 0}}"> |
|||
<swiper class="swiper"> |
|||
<swiper-item class="swiper-item" wx:for="{{banner}}" wx:for-item="item" wx:for-index="index" wx:key="index" wx:if="{{index%2==0&&(index+1)%2==1}}"> |
|||
<image data-src="{{banner[index].bannerImg}}" data-list-index="{{index}}" bindtap="preViewImage" src="{{banner[index].bannerImg}}"></image> |
|||
<image data-src="{{banner[index+1].bannerImg}}" data-list-index="{{index}}" bindtap="preViewImage" src="{{banner[index+1].bannerImg}}" wx:if="{{banner[index+1].bannerImg!=undefined}}"></image> |
|||
</swiper-item> |
|||
</swiper> |
|||
</view> |
|||
<!-- tabbar --> |
|||
<view class="tab-bar"> |
|||
<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> |
|||
<view class="select-bar {{selectTab === 'tab1' ? 'tab1' : 'tab2'}}"></view> |
|||
</view> |
|||
<!-- 积分排行 --> |
|||
<block wx:if="{{selectTab === 'tab1'}}"> |
|||
<view class="bottom padding"> |
|||
<block wx:if="{{loveRankingList.length === 0 && preloadVisible}}"> |
|||
<preload-loveranking-item wx:for="{{[1,2,3,4]}}" wx:for-index="index" wx:key="index"> |
|||
</preload-loveranking-item> |
|||
</block> |
|||
<block wx:elif="{{loveRankingList.length > 0}}"> |
|||
<scroll-view scroll-x="{{true}}" class="scroll-tag"> |
|||
<view class="volunteer-tag"> |
|||
<view class="tag {{rankId == item.id ? 'sel' : ''}}" wx:for="{{rankTabList}}" wx:key="index" data-id="{{item.id}}" bindtap="changeTag">{{item.label}}</view> |
|||
</view> |
|||
</scroll-view> |
|||
<view class="list-item" wx:for-item="item" wx:key="index" wx:for-index="index" wx:for="{{loveRankingList}}"> |
|||
<view class="num {{index === 0 ? 'color1' : index === 1 ? 'color2' : index === 2 ? 'color3' : ''}}"> |
|||
{{index + 1}}</view> |
|||
<image class="avatar" src="{{item.faceImg}}" /> |
|||
<view class="info"> |
|||
<view class="name"><view>{{item.nickname}}</view><image src="../../images/ic_dangbiaoqian.png" wx:if="{{item.partyFlag == '1'}}"/></view> |
|||
<view class="info-detail"> |
|||
<block wx:if="{{rankId == '0'}}"> |
|||
<image class="heart-time" src="../../images/aixin.png"></image> |
|||
<view> 爱心时长 {{item.kindnessTime}}小时</view> |
|||
</block> |
|||
<block wx:elif="{{rankId == '1'}}"> |
|||
<image class="enter-times" src="../../images/bofangcishu.png"></image> |
|||
<view> 参加次数 {{item.participationNum}}次</view> |
|||
</block> |
|||
<block wx:elif="{{rankId == '2'}}"> |
|||
<image class="enter-times" src="../../images/aixin.png"></image> |
|||
<view> 公益积分 {{item.volunteerPoints}}分</view> |
|||
</block> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</block> |
|||
|
|||
<block wx:if="{{datalenght == 0}}"> |
|||
<view class="project-nodata"> |
|||
<image class="nodata-image" src="../../../../images/mine/project-nodata.png" /> |
|||
<view class="nodata-tip">暂无排名</view> |
|||
<view class="nodata-tip">快来参加吧</view> |
|||
</view> |
|||
</block> |
|||
</view> |
|||
</block> |
|||
|
|||
<!-- 参与记录 --> |
|||
<view hidden="{{jilu}}"> |
|||
<view class="tab-item"> |
|||
<button wx:for="{{typeList}}" wx:key="index" wx:for-index="index" bindtap="onButtonChange" hover-class="hover-btn" |
|||
data-type="{{item.type}}" id="item-{{ item.type }}" class="{{item.select ? 'font-w' : 'font-b'}}"> |
|||
{{item.name}} |
|||
</button> |
|||
</view> |
|||
|
|||
<pulldown-refresh id="pulldown-refresh" bind:pullDownRefresh="pulldownRefresh"> |
|||
<view class="activity-list" slot="content"> |
|||
<block wx:if="{{preloadVisible}}"> |
|||
<preload-activity-item wx:for="{{[1,2]}}" wx:for-index="index" wx:for-item="item" wx:key="index"> |
|||
</preload-activity-item> |
|||
</block> |
|||
<block wx:elif="{{signedList.length > 0 && !preloadVisible}}"> |
|||
<activity-item wx:for="{{signedList}}" activityItemObj="{{item}}" wx:for-index="index" wx:for-item="item" |
|||
bind:toDetail="toDetail" actType="{{selectedTab}}" wx:key="{{index}}"> |
|||
</activity-item> |
|||
</block> |
|||
<view class="no-data" wx:elif="{{signedList.length === 0 && !preloadVisible}}">暂无数据</view> |
|||
</view> |
|||
</pulldown-refresh> |
|||
|
|||
<load-more loadMoreVisible="{{loadMoreVisible}}" loadMoreType="{{loadMoreType}}"></load-more> |
|||
</view> |
|||
|
@ -1,269 +1,308 @@ |
|||
page { |
|||
background: #f7f7f7; |
|||
} |
|||
|
|||
.tab-bar { |
|||
margin-top: 16rpx; |
|||
width: 100%; |
|||
height: 90rpx; |
|||
background: #fff; |
|||
display: flex; |
|||
justify-content: space-around; |
|||
position: relative; |
|||
} |
|||
|
|||
.tab-bar .tab { |
|||
flex: 1; |
|||
height: 90rpx; |
|||
line-height: 90rpx; |
|||
text-align: center; |
|||
width: 50%; |
|||
font-size: 32rpx; |
|||
font-weight: 500; |
|||
color: rgba(153, 153, 153, 1); |
|||
} |
|||
|
|||
.tab-bar .select-tab { |
|||
color: #E50F00; |
|||
font-size: 32rpx; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.tab-bar .select-bar { |
|||
width: 40rpx; |
|||
height: 8rpx; |
|||
border-radius: 5rpx; |
|||
background: #E50F00; |
|||
position: absolute; |
|||
bottom: 0rpx; |
|||
} |
|||
|
|||
.tab-bar .select-bar.tab1 { |
|||
left: calc(25% - 15rpx); |
|||
transition: left linear 0.4s; |
|||
} |
|||
|
|||
.tab-bar .select-bar.tab2 { |
|||
left: calc(75% - 15rpx); |
|||
transition: left linear 0.4s; |
|||
} |
|||
|
|||
/* 参与记录 */ |
|||
.tab-item { |
|||
background: #fff; |
|||
height: 80rpx; |
|||
width: calc(100% - 60rpx); |
|||
padding: 0 30rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
|
|||
.tab-item button { |
|||
position: relative; |
|||
display: inline-block; |
|||
/* margin: 0 42rpx 0 0; */ |
|||
flex-shrink: 0; |
|||
/* width: auto !important; */ |
|||
width: 164rpx; |
|||
height: 52rpx; |
|||
min-height: 52rpx !important; |
|||
line-height: 52rpx; |
|||
border-radius: 30rpx; |
|||
padding: 0 20rpx; |
|||
} |
|||
|
|||
button::after { |
|||
border: 0rpx; |
|||
} |
|||
|
|||
.tab-item .font-w { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #fff; |
|||
background: linear-gradient(to right, #e95027, #db1a1f); |
|||
} |
|||
|
|||
.tab-item .font-b { |
|||
background: #fff; |
|||
font-size: 30rpx; |
|||
font-weight: 500; |
|||
color: #333; |
|||
border: 1rpx solid #dbdbdb; |
|||
} |
|||
|
|||
.tab-item .hover-btn { |
|||
box-shadow: 0px 0px 10px 0px rgba(188, 0, 5, 0.22); |
|||
} |
|||
|
|||
|
|||
/* 爱心排行 */ |
|||
.bottom { |
|||
width: 100%; |
|||
box-sizing: border-box; |
|||
background: #fff; |
|||
margin-top: 4rpx; |
|||
/* padding: 0 30rpx; */ |
|||
} |
|||
.padding{ |
|||
padding: 0 30rpx; |
|||
} |
|||
|
|||
|
|||
.bottom .love-ranking-list { |
|||
width: 100%; |
|||
background: #fff; |
|||
border-radius: 16rpx; |
|||
box-sizing: border-box; |
|||
padding: 0 20rpx; |
|||
position: relative; |
|||
top: -10rpx; |
|||
} |
|||
|
|||
.bottom .list-item { |
|||
width: 100%; |
|||
height: 140rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
|
|||
.bottom .list-item+.list-item { |
|||
border-top: 1rpx solid #e5e5e5; |
|||
} |
|||
|
|||
.bottom .list-item .num { |
|||
font-size: 36rpx; |
|||
color: #333; |
|||
font-weight: bolder; |
|||
width: 60rpx; |
|||
text-indent: 6rpx; |
|||
} |
|||
|
|||
.bottom .list-item .num.color1 { |
|||
color: #D42E31; |
|||
} |
|||
|
|||
.bottom .list-item .num.color2 { |
|||
color: #DD5800; |
|||
} |
|||
|
|||
.bottom .list-item .num.color3 { |
|||
color: #FFA800; |
|||
} |
|||
|
|||
.bottom .list-item .avatar { |
|||
width: 90rpx; |
|||
height: 90rpx; |
|||
object-fit: cover; |
|||
border-radius: 50%; |
|||
margin-right: 15rpx; |
|||
} |
|||
|
|||
.bottom .list-item .info { |
|||
width: calc(100% - 105rpx); |
|||
} |
|||
|
|||
.bottom .list-item .info .name { |
|||
font-size: 32rpx; |
|||
color: #333; |
|||
line-height: 52rpx; |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
display: -webkit-box; |
|||
-webkit-line-clamp: 1; |
|||
-webkit-box-orient: vertical; |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
.bottom .list-item .info .name image { |
|||
width: 30rpx; |
|||
height: 30rpx; |
|||
margin-left: 10rpx; |
|||
} |
|||
|
|||
.bottom .list-item .info .info-detail { |
|||
font-size: 24rpx; |
|||
color: #999; |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
|
|||
.bottom .list-item .info .info-detail .heart-time { |
|||
width: 24rpx; |
|||
height: 24rpx; |
|||
object-fit: cover; |
|||
margin-right: 6rpx; |
|||
} |
|||
|
|||
.bottom .list-item .info .info-detail .enter-times { |
|||
width: 24rpx; |
|||
height: 24rpx; |
|||
object-fit: cover; |
|||
margin-right: 6rpx; |
|||
margin-left: 20rpx; |
|||
} |
|||
|
|||
.project-nodata { |
|||
width: 100%; |
|||
height: calc(100vh - 300rpx); |
|||
background: #f7f7f7; |
|||
display: flex; |
|||
flex-direction: column; |
|||
align-items: center; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.project-nodata .nodata-image { |
|||
width: 256rpx; |
|||
height: 245rpx; |
|||
object-fit: cover; |
|||
} |
|||
|
|||
.project-nodata .nodata-tip { |
|||
font-size: 28rpx; |
|||
color: #bcbcbc; |
|||
height: 50rpx; |
|||
line-height: 50rpx; |
|||
} |
|||
|
|||
|
|||
/* 参与记录样式 */ |
|||
|
|||
.activity-list { |
|||
width: 100%; |
|||
min-height: calc(100vh - 500rpx); |
|||
box-sizing: border-box; |
|||
padding: 15rpx 20rpx; |
|||
} |
|||
.activity-list .no-data { |
|||
width:100%; |
|||
height: calc(100vh - 538rpx); |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
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; |
|||
} |
|||
|
|||
.banner .swiper { |
|||
width: 100%; |
|||
height: 100%; |
|||
} |
|||
.banner .swiper .swiper-item { |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
page { |
|||
background: #f7f7f7; |
|||
} |
|||
|
|||
.tab-bar { |
|||
margin-top: 16rpx; |
|||
width: 100%; |
|||
height: 90rpx; |
|||
background: #fff; |
|||
display: flex; |
|||
justify-content: space-around; |
|||
position: relative; |
|||
} |
|||
|
|||
.tab-bar .tab { |
|||
flex: 1; |
|||
height: 90rpx; |
|||
line-height: 90rpx; |
|||
text-align: center; |
|||
width: 50%; |
|||
font-size: 32rpx; |
|||
font-weight: 500; |
|||
color: rgba(153, 153, 153, 1); |
|||
} |
|||
|
|||
.tab-bar .select-tab { |
|||
color: #E50F00; |
|||
font-size: 32rpx; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.tab-bar .select-bar { |
|||
width: 40rpx; |
|||
height: 8rpx; |
|||
border-radius: 5rpx; |
|||
background: #E50F00; |
|||
position: absolute; |
|||
bottom: 0rpx; |
|||
} |
|||
|
|||
.tab-bar .select-bar.tab1 { |
|||
left: calc(25% - 15rpx); |
|||
transition: left linear 0.4s; |
|||
} |
|||
|
|||
.tab-bar .select-bar.tab2 { |
|||
left: calc(75% - 15rpx); |
|||
transition: left linear 0.4s; |
|||
} |
|||
|
|||
/* 参与记录 */ |
|||
.tab-item { |
|||
background: #fff; |
|||
height: 80rpx; |
|||
width: calc(100% - 60rpx); |
|||
padding: 0 30rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
|
|||
.tab-item button { |
|||
position: relative; |
|||
display: inline-block; |
|||
/* margin: 0 42rpx 0 0; */ |
|||
flex-shrink: 0; |
|||
/* width: auto !important; */ |
|||
width: 164rpx; |
|||
height: 52rpx; |
|||
min-height: 52rpx !important; |
|||
line-height: 52rpx; |
|||
border-radius: 30rpx; |
|||
padding: 0 20rpx; |
|||
} |
|||
|
|||
button::after { |
|||
border: 0rpx; |
|||
} |
|||
|
|||
.tab-item .font-w { |
|||
font-size: 30rpx; |
|||
font-weight: bold; |
|||
color: #fff; |
|||
background: linear-gradient(to right, #e95027, #db1a1f); |
|||
} |
|||
|
|||
.tab-item .font-b { |
|||
background: #fff; |
|||
font-size: 30rpx; |
|||
font-weight: 500; |
|||
color: #333; |
|||
border: 1rpx solid #dbdbdb; |
|||
} |
|||
|
|||
.tab-item .hover-btn { |
|||
box-shadow: 0px 0px 10px 0px rgba(188, 0, 5, 0.22); |
|||
} |
|||
|
|||
|
|||
/* 爱心排行 */ |
|||
.bottom { |
|||
width: 100%; |
|||
box-sizing: border-box; |
|||
background: #f7f7f7; |
|||
/* margin-top: 4rpx; */ |
|||
/* padding: 0 30rpx; */ |
|||
} |
|||
.padding{ |
|||
/* padding: 0 30rpx; */ |
|||
} |
|||
|
|||
|
|||
.bottom .love-ranking-list { |
|||
width: 100%; |
|||
background: #fff; |
|||
border-radius: 16rpx; |
|||
box-sizing: border-box; |
|||
padding: 0 20rpx; |
|||
position: relative; |
|||
top: -10rpx; |
|||
} |
|||
|
|||
.bottom .list-item { |
|||
width: 100%; |
|||
height: 140rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
background-color: #fff; |
|||
box-sizing: border-box; |
|||
padding: 0 30rpx; |
|||
} |
|||
|
|||
.bottom .list-item+.list-item { |
|||
border-top: 1rpx solid #e5e5e5; |
|||
} |
|||
|
|||
.bottom .list-item .num { |
|||
font-size: 36rpx; |
|||
color: #333; |
|||
font-weight: bolder; |
|||
width: 60rpx; |
|||
text-indent: 6rpx; |
|||
} |
|||
|
|||
.bottom .list-item .num.color1 { |
|||
color: #D42E31; |
|||
} |
|||
|
|||
.bottom .list-item .num.color2 { |
|||
color: #DD5800; |
|||
} |
|||
|
|||
.bottom .list-item .num.color3 { |
|||
color: #FFA800; |
|||
} |
|||
|
|||
.bottom .list-item .avatar { |
|||
width: 90rpx; |
|||
height: 90rpx; |
|||
object-fit: cover; |
|||
border-radius: 50%; |
|||
margin-right: 15rpx; |
|||
} |
|||
|
|||
.bottom .list-item .info { |
|||
width: calc(100% - 105rpx); |
|||
} |
|||
|
|||
.bottom .list-item .info .name { |
|||
font-size: 32rpx; |
|||
color: #333; |
|||
line-height: 52rpx; |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
display: -webkit-box; |
|||
-webkit-line-clamp: 1; |
|||
-webkit-box-orient: vertical; |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
.bottom .list-item .info .name image { |
|||
width: 30rpx; |
|||
height: 30rpx; |
|||
margin-left: 10rpx; |
|||
} |
|||
|
|||
.bottom .list-item .info .info-detail { |
|||
font-size: 24rpx; |
|||
color: #999; |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
|
|||
.bottom .list-item .info .info-detail .heart-time { |
|||
width: 24rpx; |
|||
height: 24rpx; |
|||
object-fit: cover; |
|||
margin-right: 6rpx; |
|||
} |
|||
|
|||
.bottom .list-item .info .info-detail .enter-times { |
|||
width: 24rpx; |
|||
height: 24rpx; |
|||
object-fit: cover; |
|||
margin-right: 6rpx; |
|||
/* margin-left: 20rpx; */ |
|||
} |
|||
|
|||
.project-nodata { |
|||
width: 100%; |
|||
height: calc(100vh - 300rpx); |
|||
background: #f7f7f7; |
|||
display: flex; |
|||
flex-direction: column; |
|||
align-items: center; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.project-nodata .nodata-image { |
|||
width: 256rpx; |
|||
height: 245rpx; |
|||
object-fit: cover; |
|||
} |
|||
|
|||
.project-nodata .nodata-tip { |
|||
font-size: 28rpx; |
|||
color: #bcbcbc; |
|||
height: 50rpx; |
|||
line-height: 50rpx; |
|||
} |
|||
|
|||
|
|||
/* 参与记录样式 */ |
|||
|
|||
.activity-list { |
|||
width: 100%; |
|||
min-height: calc(100vh - 500rpx); |
|||
box-sizing: border-box; |
|||
padding: 15rpx 20rpx; |
|||
} |
|||
.activity-list .no-data { |
|||
width:100%; |
|||
height: calc(100vh - 538rpx); |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
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; |
|||
} |
|||
|
|||
.banner .swiper { |
|||
width: 100%; |
|||
height: 100%; |
|||
} |
|||
.banner .swiper .swiper-item { |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
|
|||
.scroll-tag { |
|||
height: 80rpx; |
|||
display: flex; |
|||
align-items: center; |
|||
margin-bottom: 10rpx; |
|||
} |
|||
.volunteer-tag { |
|||
background: rgba(255, 255, 255, 1); |
|||
display: flex; |
|||
white-space: nowrap; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
justify-content: center; |
|||
height: 80rpx; |
|||
} |
|||
.volunteer-tag .tag { |
|||
border: 1px solid #999999; |
|||
border-radius: 32rpx; |
|||
padding: 0 10rpx; |
|||
margin: 0 10rpx; |
|||
font-size: 28rpx; |
|||
font-family: PingFang SC; |
|||
font-weight: 500; |
|||
color: #333333; |
|||
min-width: 140rpx; |
|||
text-align: center; |
|||
height: 52rpx; |
|||
line-height: 52rpx; |
|||
} |
|||
.volunteer-tag .sel { |
|||
border: 1px solid #da433d; |
|||
background-color: #da433d; |
|||
color: #fff; |
|||
font-weight: bold; |
|||
} |
File diff suppressed because it is too large
@ -1,185 +1,194 @@ |
|||
<wux-dialog id="wux-dialog" /> |
|||
<view class="header" style="height: {{statusHeight + navigationHeight}}px;"> |
|||
<image class="header-bg" src="https://epdc-kongcun.elinkit.com.cn/epdcFile/M00/00/49/rBAB71-aUhaAXIyeAADY71bhqjs551.png" /> |
|||
<view class="navigation" style="height: {{navigationHeight}}px; top: {{statusHeight}}px;"> |
|||
<view class="goback" bindtap="goback"> |
|||
<image src="../../images/goback.png" /> |
|||
</view> |
|||
<view class="title" bindtap="goback"> |
|||
<view class="title-right">志愿者去哪儿</view> |
|||
</view> |
|||
<!-- 志愿者去哪儿 --> |
|||
</view> |
|||
</view> |
|||
<view class="container" style="margin-top: {{statusHeight + navigationHeight}}px"> |
|||
<view class="top-bg"> |
|||
<image src="{{getImgUrl.imgUrl}}" /> |
|||
</view> |
|||
<view class="position-absolute"> |
|||
<!-- 基本信息 --> |
|||
<view class="basic-info"> |
|||
<view class="info-box"> |
|||
<view class="info-left header-title"> |
|||
基本信息 |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> |
|||
<view class="list-item real-name"> |
|||
<view class="left"> |
|||
<text class="must">*</text> |
|||
<view class="title">姓名</view> |
|||
</view> |
|||
<view class="right"> |
|||
<input maxlength="20" confirm-type="next" bindblur="bindRealNameInput" bindinput="bindRealNameInput" value="{{realName}}" placeholder-class="placeholder-style" placeholder="请输入姓名" /> |
|||
</view> |
|||
</view> |
|||
<view class="list-item identity-no"> |
|||
<view class="left"> |
|||
<text class="must">*</text> |
|||
<view class="title">身份证号</view> |
|||
</view> |
|||
<view class="right"> |
|||
<input type="idcard" bindblur="bindIdentityNoInput" bindinput="bindIdentityNoInput" value="{{identityNo}}" placeholder-class="placeholder-style" placeholder="实名认证请输入身份证" /> |
|||
</view> |
|||
</view> |
|||
<view class="list-item mobile" wx:if="{{getMobileType === 'wx'}}"> |
|||
<view class="left"> |
|||
<text class="must">*</text> |
|||
<view class="title">手机号</view> |
|||
</view> |
|||
<view class="right"> |
|||
<input wx:if="{{mobile}}" disabled="{{true}}" type="number" bindblur="bindMobileInput" bindinput="bindMobileInput" value="{{mobile}}" placeholder-class="placeholder-style" placeholder="请获取手机号" /> |
|||
<button hover-class="button-hover" class="get-code" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">{{mobile ? '重新获取' : '获取手机号'}}</button> |
|||
</view> |
|||
</view> |
|||
<view class="list-item mobile" wx:if="{{getMobileType === 'self'}}"> |
|||
<view class="left"> |
|||
<text class="must">*</text> |
|||
<view class="title">手机号</view> |
|||
</view> |
|||
<view class="right"> |
|||
<input type="number" bindblur="bindMobileInput" bindinput="bindMobileInput" value="{{mobile}}" placeholder-class="placeholder-style" placeholder="请输入手机号" /> |
|||
</view> |
|||
</view> |
|||
<view class="list-item sms-code" wx:if="{{getMobileType === 'self'}}"> |
|||
<view class="left"> |
|||
<text class="must">*</text> |
|||
<view class="title">验证码</view> |
|||
</view> |
|||
<view class="right code"> |
|||
<input bindblur="bindSmsCodeInput" bindinput="bindSmsCodeInput" value="{{smsCode}}" placeholder-class="placeholder-style" placeholder="请输入验证码" /> |
|||
<button disabled="{{smsCodeText !== '获取验证码'}}" bindtap="getSmsCode" hover-class="button-hover" class="get-code">{{smsCodeText}}</button> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="note" bindtap="changeGetMobileType">{{getMobileType === 'wx' ? '*如若获取手机号异常,请点击切换至手机号/验证码注册方式' : '*点击可切回至从微信获取手机号注册方式'}}</view> |
|||
<!-- 头像 --> |
|||
<view class="my-info magin-top"> |
|||
<view class="head-portrait"> |
|||
<view class="head-portrait-name"><text class="must">*</text>头像</view> |
|||
<view class="head-portrait-image" bindtap="chooseImage"> |
|||
<image class="photo" src="{{volunteerFaceImg}}"></image> |
|||
<image class="photo-right" src="../../images/ic_jinruxiayiye@2x.png"></image> |
|||
</view> |
|||
</view> |
|||
<view class="head-portrait"> |
|||
<view class="head-portrait-name"><text class="must">*</text>昵称</view> |
|||
<view class="nickname"> |
|||
<input class="nicknameinput" bindblur="nickname" bindinput="nickname" value="{{volunteerNickname}}" placeholder-class="placeholder-style" placeholder="请输入您的昵称" /> |
|||
</view> |
|||
</view> |
|||
<view class="head-portrait"> |
|||
<view class="head-portrait-name">选择小组</view> |
|||
<!-- <view class="time">{{volunteerTag.tag}}</view> --> |
|||
<picker bindchange="choosePicker" value="{{tagIndex}}" range="{{tagList}}" range-key="tagName"> |
|||
<view class="picker"> |
|||
{{tagList[tagIndex].tagName}} |
|||
</view> |
|||
</picker> |
|||
</view> |
|||
<view class="head-portrait-last"> |
|||
<view class="head-portrait-name-last">格言</view> |
|||
</view> |
|||
<view class="info-box-last-v2"> |
|||
<view class="introduce"> |
|||
<textarea disabled= '{{disabled}}' placeholder-class="placeholder-style" value="{{volunteerSignature}}" placeholder="请输入您的格言" bindblur="volunteerSignature" bindinput="volunteerSignature" maxlength="20"></textarea> |
|||
</view> |
|||
</view> |
|||
|
|||
|
|||
</view> |
|||
|
|||
<!-- 居住地址 --> |
|||
<view class="info magin-top"> |
|||
<view class="info-box"> |
|||
<view class="info-left header-title"> |
|||
居住地址 |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> |
|||
|
|||
<view class="info-box"> |
|||
<view class="address name"> |
|||
{{gridName}} |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="info-box"> |
|||
<view class="address name"> |
|||
<input placeholder-class="placeholder-style" placeholder="请输入所在小区或所在道路" controlled value="{{road}}" bind:change="adInputStreet"></input> |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> |
|||
|
|||
<!-- <view class="info-box"> |
|||
<view class="address name"> |
|||
<input placeholder="小区名称" controlled value="{{villageName}}" bind:change="adInputCommunity"></input> |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> --> |
|||
|
|||
<!-- <view class="info-box-last"> |
|||
<view class="address name"> |
|||
<input placeholder="详细地址 (楼栋号/单元/室)" controlled value="{{dwellingPlace}}" bind:change="adInputBuilding"></input> |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> --> |
|||
</view> |
|||
|
|||
<!-- 居住地址 --> |
|||
<!-- <view class="info magin-top"> |
|||
<view class="info-box"> |
|||
<view class="info-left header"> |
|||
自我介绍 |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> |
|||
|
|||
<view class="info-box-last"> |
|||
<view class="introduce"> |
|||
<textarea disabled= '{{disabled}}' placeholder-class="placeholder-style" value="{{introduce}}" placeholder="请输入自我介绍、是否参加过公益活动、参加了哪些公益活动" bindblur="adInputIntroduce" bindinput="adInputIntroduce" maxlength="500"></textarea> |
|||
</view> |
|||
</view> |
|||
</view> --> |
|||
|
|||
<view class="submit-btn" wx:if="{{unionIdStatus === '1'}}"> |
|||
<button hover-class="hover-button" bindtap="submission" disabled="{{lock}}"> |
|||
<image src="../../images/submit-bk.png" /> |
|||
<text >提交认证</text> |
|||
</button> |
|||
</view> |
|||
|
|||
<view class="submit-btn" wx:elif="{{unionIdStatus === '0'}}"> |
|||
<button hover-class="hover-button" open-type="getUserInfo" bindgetuserinfo="getUserInfo" disabled="{{lock}}"> |
|||
<image src="../../images/submit-bk.png" /> |
|||
<text >提交认证</text> |
|||
</button> |
|||
</view> |
|||
|
|||
</view> |
|||
</view> |
|||
|
|||
<coverview-dialog bind:close="confirmDialog" bind:confirm="confirmDialog" dialogVisible="{{dialogVisible}}" title="{{dialogTitle}}" content="{{dialogContent}}" confirmText="{{dialogConfirmText}}" cancelText="{{dialogCancelText}}"> |
|||
</coverview-dialog> |
|||
<wux-dialog id="wux-dialog" /> |
|||
<view class="header" style="height: {{statusHeight + navigationHeight}}px;"> |
|||
<image class="header-bg" src="https://epdc-kongcun.elinkit.com.cn/epdcFile/M00/00/49/rBAB71-aUhaAXIyeAADY71bhqjs551.png" /> |
|||
<view class="navigation" style="height: {{navigationHeight}}px; top: {{statusHeight}}px;"> |
|||
<view class="goback" bindtap="goback"> |
|||
<image src="../../images/goback.png" /> |
|||
</view> |
|||
<view class="title" bindtap="goback"> |
|||
<view class="title-right">志愿者去哪儿</view> |
|||
</view> |
|||
<!-- 志愿者去哪儿 --> |
|||
</view> |
|||
</view> |
|||
<view class="container" style="margin-top: {{statusHeight + navigationHeight}}px"> |
|||
<view class="top-bg"> |
|||
<image src="{{getImgUrl.imgUrl}}" /> |
|||
</view> |
|||
<view class="position-absolute"> |
|||
<!-- 基本信息 --> |
|||
<view class="basic-info"> |
|||
<view class="info-box"> |
|||
<view class="info-left header-title"> |
|||
基本信息 |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> |
|||
<view class="list-item real-name"> |
|||
<view class="left"> |
|||
<text class="must">*</text> |
|||
<view class="title">姓名</view> |
|||
</view> |
|||
<view class="right"> |
|||
<input maxlength="20" confirm-type="next" bindblur="bindRealNameInput" bindinput="bindRealNameInput" value="{{realName}}" placeholder-class="placeholder-style" placeholder="请输入姓名" /> |
|||
</view> |
|||
</view> |
|||
<view class="list-item identity-no"> |
|||
<view class="left"> |
|||
<text class="must">*</text> |
|||
<view class="title">身份证号</view> |
|||
</view> |
|||
<view class="right"> |
|||
<input type="idcard" bindblur="bindIdentityNoInput" bindinput="bindIdentityNoInput" value="{{identityNo}}" placeholder-class="placeholder-style" placeholder="实名认证请输入身份证" /> |
|||
</view> |
|||
</view> |
|||
<view class="list-item mobile" wx:if="{{getMobileType === 'wx'}}"> |
|||
<view class="left"> |
|||
<text class="must">*</text> |
|||
<view class="title">手机号</view> |
|||
</view> |
|||
<view class="right"> |
|||
<input wx:if="{{mobile}}" disabled="{{true}}" type="number" bindblur="bindMobileInput" bindinput="bindMobileInput" value="{{mobile}}" placeholder-class="placeholder-style" placeholder="请获取手机号" /> |
|||
<button hover-class="button-hover" class="get-code" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">{{mobile ? '重新获取' : '获取手机号'}}</button> |
|||
</view> |
|||
</view> |
|||
<view class="list-item mobile" wx:if="{{getMobileType === 'self'}}"> |
|||
<view class="left"> |
|||
<text class="must">*</text> |
|||
<view class="title">手机号</view> |
|||
</view> |
|||
<view class="right"> |
|||
<input type="number" bindblur="bindMobileInput" bindinput="bindMobileInput" value="{{mobile}}" placeholder-class="placeholder-style" placeholder="请输入手机号" /> |
|||
</view> |
|||
</view> |
|||
<view class="list-item sms-code" wx:if="{{getMobileType === 'self'}}"> |
|||
<view class="left"> |
|||
<text class="must">*</text> |
|||
<view class="title">验证码</view> |
|||
</view> |
|||
<view class="right code"> |
|||
<input bindblur="bindSmsCodeInput" bindinput="bindSmsCodeInput" value="{{smsCode}}" placeholder-class="placeholder-style" placeholder="请输入验证码" /> |
|||
<button disabled="{{smsCodeText !== '获取验证码'}}" bindtap="getSmsCode" hover-class="button-hover" class="get-code">{{smsCodeText}}</button> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="note" bindtap="changeGetMobileType">{{getMobileType === 'wx' ? '*如若获取手机号异常,请点击切换至手机号/验证码注册方式' : '*点击可切回至从微信获取手机号注册方式'}}</view> |
|||
<!-- 头像 --> |
|||
<view class="my-info magin-top"> |
|||
<view class="head-portrait"> |
|||
<view class="head-portrait-name"><text class="must">*</text>头像</view> |
|||
<view class="head-portrait-image" bindtap="chooseImage"> |
|||
<image class="photo" src="{{volunteerFaceImg}}"></image> |
|||
<image class="photo-right" src="../../images/ic_jinruxiayiye@2x.png"></image> |
|||
</view> |
|||
</view> |
|||
<view class="head-portrait"> |
|||
<view class="head-portrait-name"><text class="must">*</text>昵称</view> |
|||
<view class="nickname"> |
|||
<input class="nicknameinput" bindblur="nickname" bindinput="nickname" value="{{volunteerNickname}}" placeholder-class="placeholder-style" placeholder="请输入您的昵称" /> |
|||
</view> |
|||
</view> |
|||
<view class="head-portrait"> |
|||
<view class="head-portrait-name">选择小组</view> |
|||
<!-- <view class="time">{{volunteerTag.tag}}</view> --> |
|||
<picker bindchange="choosePicker" value="{{tagIndex}}" range="{{tagList}}" range-key="tagName"> |
|||
<view class="picker"> |
|||
{{tagList[tagIndex].tagName}} |
|||
</view> |
|||
</picker> |
|||
</view> |
|||
<view class="head-portrait"> |
|||
<view class="head-portrait-name">选择部门</view> |
|||
<!-- <view class="time">{{volunteerTag.tag}}</view> --> |
|||
<picker bindchange="choosePicker2" value="{{deptIndex}}" range="{{deptList}}" range-key="deptName"> |
|||
<view class="picker"> |
|||
{{deptList[deptIndex].deptName}} |
|||
</view> |
|||
</picker> |
|||
</view> |
|||
<view class="head-portrait-last"> |
|||
<view class="head-portrait-name-last">格言</view> |
|||
</view> |
|||
<view class="info-box-last-v2"> |
|||
<view class="introduce"> |
|||
<textarea disabled= '{{disabled}}' placeholder-class="placeholder-style" value="{{volunteerSignature}}" placeholder="请输入您的格言" bindblur="volunteerSignature" bindinput="volunteerSignature" maxlength="20"></textarea> |
|||
</view> |
|||
</view> |
|||
|
|||
|
|||
</view> |
|||
|
|||
<!-- 居住地址 --> |
|||
<view class="info magin-top"> |
|||
<view class="info-box"> |
|||
<view class="info-left header-title"> |
|||
居住地址 |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> |
|||
|
|||
<!-- <view class="info-box"> |
|||
<view class="address name"> |
|||
{{gridName}} |
|||
</view> |
|||
</view> --> |
|||
|
|||
<view class="info-box"> |
|||
<view class="address name"> |
|||
<input placeholder-class="placeholder-style" placeholder="请输入所在小区或所在道路" controlled value="{{road}}" bind:change="adInputStreet"></input> |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> |
|||
|
|||
<!-- <view class="info-box"> |
|||
<view class="address name"> |
|||
<input placeholder="小区名称" controlled value="{{villageName}}" bind:change="adInputCommunity"></input> |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> --> |
|||
|
|||
<!-- <view class="info-box-last"> |
|||
<view class="address name"> |
|||
<input placeholder="详细地址 (楼栋号/单元/室)" controlled value="{{dwellingPlace}}" bind:change="adInputBuilding"></input> |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> --> |
|||
</view> |
|||
|
|||
<!-- 居住地址 --> |
|||
<!-- <view class="info magin-top"> |
|||
<view class="info-box"> |
|||
<view class="info-left header"> |
|||
自我介绍 |
|||
</view> |
|||
<view class="clear"></view> |
|||
</view> |
|||
|
|||
<view class="info-box-last"> |
|||
<view class="introduce"> |
|||
<textarea disabled= '{{disabled}}' placeholder-class="placeholder-style" value="{{introduce}}" placeholder="请输入自我介绍、是否参加过公益活动、参加了哪些公益活动" bindblur="adInputIntroduce" bindinput="adInputIntroduce" maxlength="500"></textarea> |
|||
</view> |
|||
</view> |
|||
</view> --> |
|||
|
|||
<view class="submit-btn" wx:if="{{unionIdStatus === '1'}}"> |
|||
<button hover-class="hover-button" bindtap="submission" disabled="{{lock}}"> |
|||
<image src="../../images/submit-bk.png" /> |
|||
<text >提交认证</text> |
|||
</button> |
|||
</view> |
|||
|
|||
<view class="submit-btn" wx:elif="{{unionIdStatus === '0'}}"> |
|||
<button hover-class="hover-button" open-type="getUserInfo" bindgetuserinfo="getUserInfo" disabled="{{lock}}"> |
|||
<image src="../../images/submit-bk.png" /> |
|||
<text >提交认证</text> |
|||
</button> |
|||
</view> |
|||
|
|||
</view> |
|||
</view> |
|||
|
|||
<coverview-dialog bind:close="confirmDialog" bind:confirm="confirmDialog" dialogVisible="{{dialogVisible}}" title="{{dialogTitle}}" content="{{dialogContent}}" confirmText="{{dialogConfirmText}}" cancelText="{{dialogCancelText}}"> |
|||
</coverview-dialog> |
|||
<wux-actionsheet id="wux-actionsheet" /> |
File diff suppressed because it is too large
Loading…
Reference in new issue