diff --git a/app.json b/app.json
index 2486bdc..3e49e54 100644
--- a/app.json
+++ b/app.json
@@ -68,7 +68,8 @@
"pages/volunteerTeam/volunteerTeam",
"pages/teamIntroduction/teamIntroduction",
"pages/allianceDetail/allianceDetail",
- "pages/leaderboardDetail/leaderboardDetail"
+ "pages/leaderboardDetail/leaderboardDetail",
+ "pages/allianceActDetail/allianceActDetail"
]
},
{
diff --git a/subpages/heart/pages/allianceActDetail/allianceActDetail.js b/subpages/heart/pages/allianceActDetail/allianceActDetail.js
new file mode 100644
index 0000000..8bf7f69
--- /dev/null
+++ b/subpages/heart/pages/allianceActDetail/allianceActDetail.js
@@ -0,0 +1,48 @@
+const api = require("../../utils/api")
+import util from "../../../../utils/util"
+Page({
+ data: {
+ activeDetail: {},
+ activeDetailContent: '',
+ id: '',
+ actStartTime: '',
+ actEndTime: '',
+ imageList: [], // 精彩瞬间
+ },
+ onLoad: function (options) {
+ if (options.id) {
+ this.setData({
+ id: options.id
+ })
+ this.getVolunteerUnionActDetail(options.id)
+ }
+ },
+ // 获取
+ getVolunteerUnionActDetail (id) {
+ api.getVolunteerUnionActDetail(id).then(res => {
+ let startTime = res.data.actStartTime.replace(/-/g, '.')
+ let endTime = res.data.actEndTime.replace(/-/g, '.')
+ // let arr = res.data.images.sort(util.compare('imgSort'))
+ // console.log(arr)
+ let imageList = []
+ res.data.images.forEach(item => {
+ imageList.push(item.url)
+ })
+ this.setData({
+ activeDetail: res.data,
+ actStartTime: startTime.substring(0, startTime.length - 3),
+ actEndTime: endTime.substring(0, endTime.length - 3),
+ activeDetailContent: util.formatRichText(res.data.content),
+ imageList
+ })
+ }).catch(err => {
+ console.log(err)
+ })
+ },
+ preViewImage (e) {
+ wx.previewImage({
+ urls: this.data.imageList,
+ current: e.currentTarget.dataset.src
+ })
+ },
+})
\ No newline at end of file
diff --git a/subpages/heart/pages/allianceActDetail/allianceActDetail.json b/subpages/heart/pages/allianceActDetail/allianceActDetail.json
new file mode 100644
index 0000000..d4e2f89
--- /dev/null
+++ b/subpages/heart/pages/allianceActDetail/allianceActDetail.json
@@ -0,0 +1,6 @@
+{
+ "navigationBarTitleText": "活动详情",
+ "usingComponents": {
+ "parser": "../../../../components/parser/parser"
+ }
+}
\ No newline at end of file
diff --git a/subpages/heart/pages/allianceActDetail/allianceActDetail.wxml b/subpages/heart/pages/allianceActDetail/allianceActDetail.wxml
new file mode 100644
index 0000000..a93db00
--- /dev/null
+++ b/subpages/heart/pages/allianceActDetail/allianceActDetail.wxml
@@ -0,0 +1,14 @@
+
+
+ {{activeDetail.title}}
+ 活动时间: {{actStartTime}}-{{actEndTime}}
+ 活动简介:
+
+
+
+ 精彩瞬间
+
+
+
+
+
diff --git a/subpages/heart/pages/allianceActDetail/allianceActDetail.wxss b/subpages/heart/pages/allianceActDetail/allianceActDetail.wxss
new file mode 100644
index 0000000..2d71e75
--- /dev/null
+++ b/subpages/heart/pages/allianceActDetail/allianceActDetail.wxss
@@ -0,0 +1,42 @@
+page {
+ background-color: #f7f7f7;
+}
+.alliance-act-detail {
+ width: 100%;
+ overflow: hidden;
+ background: #fff;
+ padding: 20rpx;
+ box-sizing: border-box;
+}
+.alliance-act {
+ width: 100%;
+ margin-bottom: 100rpx;
+}
+.alliance-act .title{
+ font-size: 40rpx;
+ margin-bottom: 30rpx;
+ text-align: center;
+}
+.alliance-act .time{
+ font-size: 32rpx;
+ margin-bottom: 30rpx;
+}
+.alliance-act .intro{
+ font-size: 32rpx;
+ margin-bottom: 30rpx;
+}
+.wonderful-title {
+ font-size: 32rpx;
+ margin-bottom: 30rpx;
+}
+.wonderful-list {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: flex-start;
+}
+.wonderful-list .wonderful-image {
+ width: 320rpx;
+ height: 240rpx;
+ margin: 0 15rpx;
+ margin-bottom: 20rpx;
+}
\ No newline at end of file
diff --git a/subpages/heart/pages/allianceDetail/allianceDetail.js b/subpages/heart/pages/allianceDetail/allianceDetail.js
index c62caaa..68e588a 100644
--- a/subpages/heart/pages/allianceDetail/allianceDetail.js
+++ b/subpages/heart/pages/allianceDetail/allianceDetail.js
@@ -3,21 +3,95 @@ import util from "../../../../utils/util"
Page({
data: {
noticeObj: '',
- noticeObjContent: ''
+ noticeObjContent: '
项目位于合作社院内,紧邻220国道,距离济菏高速平阴县出入口不到2公里, 交通方便、地理位置优越。
↵项目位于平阴县城西部前阮二村盆三津区内,西临龙桥洼区,东临博士注区。
三个洼区都属于黄河淤积平原,土地肥沃,是平阴县主要小麦、玉米、大豆等粮食主产区,项目资源丰富。
项目位于合作社院内,紧邻220国道,距离济菏高速平阴县出入口不到2公里, 交通方便、地理位置优越。
↵项目位于平阴县城西部前阮二村盆三津区内,西临龙桥洼区,东临博士注区。三个洼区都属于黄河淤积平原,土地肥沃,是平阴县主要小麦、玉米、大豆等粮食主产区,项目资源丰富。
项目位于合作社院内,紧邻220国道,距离济菏高速平阴县出入口不到2公里, 交通方便、地理位置优越。
↵项目位于平阴县城西部前阮二村盆三津区内,西临龙桥洼区,东临博士注区。三个洼区都属于黄河淤积平原,土地肥沃,是平阴县主要小麦、玉米、大豆等粮食主产区,项目资源丰富。
项目位于合作社院内,紧邻220国道,距离济菏高速平阴县出入口不到2公里, 交通方便、地理位置优越。
↵项目位于平阴县城西部前阮二村盆三津区内,西临龙桥洼区,东临博士注区。三个洼区都属于黄河淤积平原,土地肥沃,是平阴县主要小麦、玉米、大豆等粮食主产区,项目资源丰富。
',
+ isShow: false,
+ isShowBtn: false, // 是否显示 展开-收起
+ pageIndex: 1,
+ pageSize: 10,
+ loadMoreType: 'none',
+ loadMoreVisible: false,
+ activeList: [],
+ id: '',
},
onLoad: function (options) {
if (options.id) {
+ this.setData({
+ id: options.id
+ })
this.getVolunteerUnionDetail(options.id)
+ this.getVolunteerUnionActiveList()
}
},
+ onReachBottom: function () {
+ this.setData({
+ loadMoreVisible: true
+ })
+ if (this.data.loadMoreType === "loading") {
+ this.setData({
+ pageIndex: this.data.pageIndex + 1
+ })
+ this.getVolunteerUnionActiveList()
+ }
+ },
+ // 获取
getVolunteerUnionDetail (id) {
api.getVolunteerUnionDetail({ id }).then(res => {
this.setData({
noticeObj: res.data,
noticeObjContent: util.formatRichText(res.data.content)
})
+ let query = wx.createSelectorQuery().in(this)
+ query.select('.alliance-introduce').boundingClientRect()
+ query.exec(res => {
+ console.log(res[0].height)
+ if (res[0].height > 100) {
+ this.setData({
+ isShowBtn: true
+ })
+ }
+ })
+ }).catch(err => {
+ console.log(err)
+ })
+ },
+ getVolunteerUnionActiveList () {
+ const para = {
+ pageIndex: this.data.pageIndex,
+ pageSize: this.data.pageSize,
+ unionActId: this.data.id
+ }
+ api.getVolunteerUnionActList(para).then(res => {
+ console.log(res)
+ this.setData({
+ activeList: [...this.data.activeList,...res.data],
+ loadMoreType: res.data.length === this.data.pageSize ? 'loading' : 'none',
+ loadMoreVisible: res.data.length === this.data.pageSize ? false : true
+ })
+ if (this.data.activeList.length == 0) {
+ this.setData({
+ loadMoreType: 'none',
+ loadMoreVisible: false,
+ })
+ }
}).catch(err => {
+ this.setData({
+ activeList: [],
+ loadMoreType: 'none',
+ loadMoreVisible: false,
+ })
console.log(err)
})
+ },
+ // 展开和收起 富文本内容
+ isShowOrHide () {
+ this.setData({
+ isShow: !this.data.isShow
+ })
+ },
+ // 前往活动详情
+ navigateToActDetail (e) {
+ wx.navigateTo({
+ url: `../allianceActDetail/allianceActDetail?id=${e.currentTarget.dataset.id}`
+ })
}
})
\ No newline at end of file
diff --git a/subpages/heart/pages/allianceDetail/allianceDetail.json b/subpages/heart/pages/allianceDetail/allianceDetail.json
index 1a0bac0..2109bd4 100644
--- a/subpages/heart/pages/allianceDetail/allianceDetail.json
+++ b/subpages/heart/pages/allianceDetail/allianceDetail.json
@@ -1,6 +1,7 @@
{
"navigationBarTitleText": "详情",
"usingComponents": {
+ "load-more": "/components/loadMore/loadMore",
"parser": "../../../../components/parser/parser"
}
}
\ No newline at end of file
diff --git a/subpages/heart/pages/allianceDetail/allianceDetail.wxml b/subpages/heart/pages/allianceDetail/allianceDetail.wxml
index f4f67c1..7da5e15 100644
--- a/subpages/heart/pages/allianceDetail/allianceDetail.wxml
+++ b/subpages/heart/pages/allianceDetail/allianceDetail.wxml
@@ -1,3 +1,40 @@
-
+
+
+
+
+
+ {{noticeObj.unionName}}
+ {{noticeObj.contacts}}
+ {{noticeObj.phone}}
+
+
+
+ 联盟简介
+
+ {{isShow ? '收起' : '展开'}}
+
+
+
+ 共建活动
+
+
+
+
+ {{item.title}}
+
+ 时间:
+
+ {{item.actStartTime}} 至
+ {{item.actEndTime}}
+
+
+
+
+
+
+
+
+
diff --git a/subpages/heart/pages/allianceDetail/allianceDetail.wxss b/subpages/heart/pages/allianceDetail/allianceDetail.wxss
index 67a8f9a..fb835b7 100644
--- a/subpages/heart/pages/allianceDetail/allianceDetail.wxss
+++ b/subpages/heart/pages/allianceDetail/allianceDetail.wxss
@@ -1,4 +1,105 @@
+page {
+ background-color: #f7f7f7;
+}
.alliance-detail {
padding: 20rpx;
box-sizing: border-box;
+}
+.alliance-detail-card {
+ width: 690rpx;
+ overflow: hidden;
+ margin: 20rpx auto;
+ background: #fff;
+ box-shadow: 0rpx 5rpx 32rpx 0rpx hsla(0,0%,78%,.56);
+ border-radius: 14rpx;
+ padding: 20rpx 20rpx 0 20rpx;
+ box-sizing: border-box;
+}
+.alliance-info {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ margin-bottom: 40rpx;
+}
+.alliance-info .info-head-img {
+ width: 180rpx;
+ height: 180rpx;
+}
+.alliance-info .info-head-img image{
+ width: 100%;
+ height: 100%;
+}
+.alliance-info .info-content {
+ width: 400rpx;
+}
+.alliance-introduce {
+ width: 100%;
+ position: relative;
+ padding-bottom: 84rpx;
+}
+.intro-show {
+ height: auto;
+ padding-bottom: 80rpx;
+}
+.intro-hide {
+ max-height: 350rpx;
+}
+.alliance-introduce .title{
+ font-size: 34rpx;
+ margin-bottom: 20rpx;
+}
+.alliance-introduce .bottom {
+ position: absolute;
+ bottom: 0;
+ background: rgba(255, 255, 255, 1);
+ color: royalblue;
+ width: 100%;
+ text-align: center;
+ padding: 20rpx;
+ box-sizing: border-box;
+}
+.alliance-detail-card .active-list {
+
+}
+.active-list .title {
+ font-size: 34rpx;
+ margin-bottom: 20rpx;
+}
+.active-list .active-item {
+ display: flex;
+ align-items: center;
+ margin: 20rpx;
+}
+.active-list .active-item .active-img {
+ width: 150rpx;
+ height: 120rpx;
+ margin-right: 20rpx;
+}
+.active-img image {
+ width: 100%;
+ height: 100%;
+}
+.active-list .active-item .active-content {
+
+}
+.active-list .active-item .active-content .active-contacts {
+ margin-bottom: 10rpx;
+}
+.time-box {
+ display: flex;
+}
+.time-box .time-label {
+ font-size: 24rpx;
+ color: silver;
+ margin-right: 10rpx;
+}
+.active-list .active-item .active-content .active-time {
+ font-size: 24rpx;
+ color: silver;
+}
+.active-list .active-line {
+ width: 95%;
+ height: 1px;
+ background: #eeeeee;
+ margin: 20rpx auto;
}
\ No newline at end of file
diff --git a/subpages/heart/pages/allianceList/allianceList.js b/subpages/heart/pages/allianceList/allianceList.js
index 6e3fe56..d0c8daa 100644
--- a/subpages/heart/pages/allianceList/allianceList.js
+++ b/subpages/heart/pages/allianceList/allianceList.js
@@ -10,8 +10,7 @@ Page({
},
onLoad: function (options) {
this.setData({
- pageIndex: 1,
- dropbylist: []
+ pageIndex: 1
})
this.getVolunteerUnionList()
},
diff --git a/subpages/heart/pages/allianceList/allianceList.wxml b/subpages/heart/pages/allianceList/allianceList.wxml
index cdf8679..7f22a80 100644
--- a/subpages/heart/pages/allianceList/allianceList.wxml
+++ b/subpages/heart/pages/allianceList/allianceList.wxml
@@ -1,8 +1,12 @@
- {{item.unionName}}
-
+
+
+ 名称: {{item.unionName}}
+ 联系人: {{item.contacts}}
+ 电话: {{item.phone}}
+
diff --git a/subpages/heart/pages/allianceList/allianceList.wxss b/subpages/heart/pages/allianceList/allianceList.wxss
index 95c4eab..533011e 100644
--- a/subpages/heart/pages/allianceList/allianceList.wxss
+++ b/subpages/heart/pages/allianceList/allianceList.wxss
@@ -11,23 +11,28 @@ page {
}
.alliance-list .alliance-item {
width: 690rpx;
- height: 110rpx;
display: flex;
align-items: center;
- justify-content: space-between;
+ justify-content: space-around;
+ padding: 20rpx 0;
+ box-sizing: border-box;
}
-.alliance-list .alliance-item .alliance-title {
- width: 650rpx;
+.alliance-item .headpic {
+ width: 180rpx;
+ height: 180rpx;
+}
+.alliance-item .alliance-info {
+
+}
+.alliance-list .alliance-item .title {
+ width: 450rpx;
+ margin: 10rpx 0;
font-size: 34rpx;
color: #333333;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
-.alliance-list .alliance-item .alliance-icon {
- width: 22rpx;
- height: 22rpx;
-}
.alliance-list .list-line {
width: 690rpx;
height: 1px;
diff --git a/subpages/heart/utils/api.js b/subpages/heart/utils/api.js
index 7c3bf6a..c027848 100644
--- a/subpages/heart/utils/api.js
+++ b/subpages/heart/utils/api.js
@@ -29,7 +29,9 @@ module.exports = {
getAppTeamListByType,
getAppTeamDetail,
getTeamVolunteerList,
- joinTeam
+ joinTeam,
+ getVolunteerUnionActList,
+ getVolunteerUnionActDetail
}
//顺道捎-首页列表
@@ -179,6 +181,19 @@ function getVolunteerUnionDetail ({ id }) {
id
})
}
+// 共建联盟-下属活动-列表
+function getVolunteerUnionActList ({ pageIndex, pageSize, unionActId }) {
+ return fly.get("heart/volunteer/getVolunteerUnionActList", {
+ pageIndex,
+ pageSize,
+ unionActId
+ })
+}
+// 共建联盟-下属活动-详情
+function getVolunteerUnionActDetail (id) {
+ return fly.get(`heart/volunteer/getVolunteerUnionActDetail/${id}`)
+}
+
// 志愿团队类别-列表
function getTeamTypeList ({ pageIndex, pageSize, teamId }) {
return fly.get("heart/volunteer/getTeamTypeList", {
diff --git a/utils/util.js b/utils/util.js
index 6eba77f..1df442c 100644
--- a/utils/util.js
+++ b/utils/util.js
@@ -18,8 +18,16 @@ const formatRichText = html => {
let newContent= html.replace(/
{
+ return function (a, b) {
+ var value1 = a[property]
+ var value2 = b[property]
+ return value1 - value2
+ }
+}
module.exports = {
formatTime: formatTime,
- formatRichText: formatRichText
+ formatRichText: formatRichText,
+ compare
}