| @@ -22,6 +22,8 @@ | |||
| "pages/edit/edit", | |||
| "pages/actdetail/actdetail", | |||
| "pages/radetail/index", | |||
| "pages/radetail/success/index", | |||
| "pages/radetail/joinActivity/edit", | |||
| "pages/bannerdetail/index", | |||
| "pages/getuserinfo/index", | |||
| "pages/phoneinput/phoneinput", | |||
| @@ -299,7 +299,9 @@ var config = { | |||
| */ | |||
| printHtmlById:"/wxCampaign/printHtmlById", | |||
| acfindById:"/wxActivity/findById", | |||
| acPrintHtmlById:"/wxActivity/printHtmlById" | |||
| acPrintHtmlById:"/wxActivity/printHtmlById", | |||
| //参与活动 | |||
| activityJoin:"/wxActivityJoin/join" | |||
| }, | |||
| weapp: { | |||
| AppId: weappId | |||
| @@ -7,43 +7,55 @@ const imgurl = require("../../utils/imgurl"); | |||
| Page({ | |||
| data: { | |||
| data: {}, | |||
| status:1, | |||
| couponId: null, | |||
| orderId: "", | |||
| day: "", | |||
| hour: "", | |||
| activityId:"", | |||
| wmhome: imgurl.wmhome.url, | |||
| minute: "", | |||
| nodes: '' | |||
| }, | |||
| onLoad(options) { | |||
| let that = this; | |||
| console.log(options) | |||
| if (options.id){ | |||
| that.setData({ | |||
| activityId: options.id | |||
| }) | |||
| Http.get({ | |||
| url: config.api.acfindById, | |||
| data: { | |||
| id: options.id | |||
| } | |||
| }).then(res => { | |||
| that.setData({ | |||
| data: res.data.activity | |||
| }); | |||
| if (res.data.activity.type == 2 ){ | |||
| wx.request({ | |||
| url: 'https://ciformall.youlane.cn/C/api' + config.api.acPrintHtmlById, | |||
| data: { | |||
| id: options.id, | |||
| date: new Date(), | |||
| token: app.globalData.token, | |||
| }, | |||
| header: { | |||
| 'content-type': 'application/html' | |||
| }, | |||
| success: function (res) { | |||
| var temp = WxParse.wxParse('article', 'html', res.data, that, 5); | |||
| } | |||
| if (res && res.data && res.data.activity){ | |||
| that.setData({ | |||
| data: res.data.activity | |||
| }) | |||
| if (res.data.activity.type == 2) { | |||
| wx.request({ | |||
| url: 'https://ciformall.youlane.cn/C/api' + config.api.acPrintHtmlById, | |||
| data: { | |||
| id: options.id, | |||
| date: new Date(), | |||
| token: app.globalData.token, | |||
| }, | |||
| header: { | |||
| 'content-type': 'application/html' | |||
| }, | |||
| success: function (res) { | |||
| var temp = WxParse.wxParse('article', 'html', res.data, that, 5); | |||
| } | |||
| }) | |||
| } | |||
| } | |||
| if (res && res.data && res.data.status) { | |||
| that.setData({ | |||
| status: res.data.status | |||
| }); | |||
| } | |||
| }).catch(err => { | |||
| wx.showToast({ | |||
| title: err.errMsg, | |||
| @@ -54,6 +66,13 @@ Page({ | |||
| }) | |||
| } | |||
| }, | |||
| //跳转到报名详情页 | |||
| goSignUp(e){ | |||
| let activityId = e.currentTarget.dataset.activityid; | |||
| wx.navigateTo({ | |||
| url: `/pages/radetail/joinActivity/edit?activityId=${activityId}`, | |||
| }) | |||
| }, | |||
| goback: function () { | |||
| wx.switchTab({ | |||
| url: '/pages/main/index', | |||
| @@ -15,6 +15,11 @@ | |||
| <text>活动说明</text> | |||
| <text>{{data.detail}}</text> | |||
| </view> | |||
| <view class='member'>活动人数:30人</view> | |||
| <view class='time'>活动开始时间:2019.06.11 08:11:30</view> | |||
| <view class='time'>活动结束时间:2019.06.11 08:11:30</view> | |||
| <view class='time'>报名开始时间:2019.06.11 08:11:30</view> | |||
| <view class='time'>报名结束时间:2019.06.11 08:11:30</view> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| @@ -23,4 +28,8 @@ | |||
| <view class="content"> | |||
| <template is="wxParse" data="{{wxParseData:article.nodes}}" /> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <button wx:if="{{status == 0}}" disabled class='signUp' hover-class='opacity'>报名未开始</button> | |||
| <button wx:if="{{status == 1}}" class='signUp'data-activityId="{{activityId}}" bindtap='goSignUp' hover-class='opacity'>我要报名</button> | |||
| <button wx:if="{{status == 2}}" disabled class='signUp' hover-class='opacity'>活动已结束</button> | |||
| @@ -1,4 +1,5 @@ | |||
| @import "../../app.wxss"; | |||
| @import "../../wxParse/wxParse.wxss"; | |||
| .coupons { | |||
| width: 100%; | |||
| position: relative; | |||
| @@ -607,6 +608,10 @@ button::after{ border: none; } | |||
| text-align: left; | |||
| line-height: 48rpx; | |||
| padding-top: 3.2%; | |||
| font-weight: bold; | |||
| } | |||
| .member{ | |||
| font-size: 32rpx; | |||
| } | |||
| .txt002 { | |||
| @@ -1112,4 +1117,27 @@ button::after{ border: none; } | |||
| top: 0; | |||
| bottom: 0; | |||
| margin: auto; | |||
| } | |||
| .signUp{ | |||
| position: fixed; | |||
| bottom: 30rpx; | |||
| left: 0; | |||
| right: 0; | |||
| margin: auto; | |||
| width: 430rpx; | |||
| height: 90rpx; | |||
| line-height: 90rpx; | |||
| border-radius: 60rpx; | |||
| background: orange; | |||
| color: #fff; | |||
| font-size: 30rpx; | |||
| text-align: center; | |||
| box-shadow: 0 0 10px 0 rgba(211,211,211,0.50); | |||
| } | |||
| .opacity{ | |||
| opacity: .8; | |||
| } | |||
| .time{ | |||
| font-size: 30rpx; | |||
| line-height: 50rpx; | |||
| } | |||
| @@ -0,0 +1,151 @@ | |||
| const util = require("../../../utils/util.js"); | |||
| const Http = require("../../../utils/HttpBasics"); | |||
| const config = require("../../../config/config"); | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| date: '1988-03-12', | |||
| flag: 1, | |||
| flagsex: 0, | |||
| items: [ | |||
| { name: 1, value: '男', checked: false }, | |||
| { name: 2, value: '女', checked: false }, | |||
| ], | |||
| username: "", | |||
| array: ['上班族', '学生', '企业高管', '个体户', '自由职业', '其他'], | |||
| array1: ['附近住户', '距离2km', '距离3km', '更远'], | |||
| index: 0, | |||
| index1: 0, | |||
| showPage:false | |||
| }, | |||
| /** | |||
| * 获得生日 | |||
| */ | |||
| bindDateChange: function (e) { | |||
| this.setData({ | |||
| date: e.detail.value, | |||
| flag: 2 | |||
| }) | |||
| }, | |||
| /** | |||
| * 职业 | |||
| */ | |||
| bindPickerChange: function (e) { | |||
| this.setData({ | |||
| index: e.detail.value | |||
| }) | |||
| }, | |||
| /** | |||
| * 生活半径 | |||
| */ | |||
| bindPickerChange1: function (e) { | |||
| this.setData({ | |||
| index1: e.detail.value | |||
| }) | |||
| }, | |||
| address: function () { | |||
| let that = this; | |||
| wx.chooseLocation({ | |||
| success: function (res) { | |||
| that.setData({ | |||
| address: res.name + '(' + res.address + ')', | |||
| addressStr: JSON.stringify(res) | |||
| }) | |||
| }, | |||
| fail: function (error) { | |||
| console.log(error) | |||
| }, | |||
| complete: function (data) { | |||
| } | |||
| }) | |||
| }, | |||
| formSubmit: function (e) { | |||
| let that = this; | |||
| /** | |||
| * sex | |||
| * 0 保密 | |||
| * 1 男 | |||
| * 2 女 | |||
| */ | |||
| if (that.data.flagsex == 0) { | |||
| var sex = 0; | |||
| } else { | |||
| var sex = that.data.sex; | |||
| } | |||
| if (that.data.addressStr) { | |||
| var address = that.data.addressStr; | |||
| } | |||
| else { | |||
| var address = null; | |||
| } | |||
| if (e.detail.value.username) { | |||
| var username = e.detail.value.username; | |||
| } | |||
| else if (that.data.username) { | |||
| var username = that.data.username; | |||
| } | |||
| else { | |||
| var username = null; | |||
| } | |||
| if (that.data.flag == 2 && that.data.date) { | |||
| var birthdate = new Date(that.data.date).getTime(); | |||
| } else { | |||
| var birthdate = null; | |||
| } | |||
| if (username == null || address == null || sex == 0 || birthdate == null) { | |||
| wx.showToast({ | |||
| title: '请输入完整的用户信息', | |||
| icon:"none" | |||
| }) | |||
| } else { | |||
| Http.post({ | |||
| url: config.api.activityJoin, | |||
| data: { | |||
| sex: sex, | |||
| address: address, | |||
| name: username, | |||
| birthdate: birthdate, | |||
| activityId: that.data.activityId | |||
| } | |||
| }) | |||
| .then(res => { | |||
| wx.showToast({ | |||
| title: "提交成功", | |||
| icon: 'none', | |||
| duration: 2000, | |||
| mask: false | |||
| }) | |||
| wx.navigateTo({ | |||
| url: '/pages/radetail/success/index', | |||
| }) | |||
| }) | |||
| .catch(err => { | |||
| wx.showToast({ | |||
| title: err.message, | |||
| icon: 'none', | |||
| duration: 2000, | |||
| mask: false | |||
| }) | |||
| }) | |||
| } | |||
| }, | |||
| radioChange: function (e) { | |||
| this.setData({ | |||
| sex: e.detail.value, | |||
| flagsex: 1 | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| let that = this; | |||
| if (options && options.activityId){ | |||
| that.setData({ | |||
| activityId: options.activityId | |||
| }) | |||
| } | |||
| } | |||
| }) | |||
| @@ -0,0 +1,3 @@ | |||
| { | |||
| "navigationBarTitleText": "活动调查" | |||
| } | |||
| @@ -0,0 +1,28 @@ | |||
| <form bindsubmit="formSubmit"> | |||
| <view class='section'> | |||
| <text>姓名</text> | |||
| <input wx:if="{{username}}" name="username" type="text" placeholder='{{username}}' /> | |||
| <input wx:if="{{!username}}" name="username" type="text" placeholder='请填写名字' /> | |||
| </view> | |||
| <view class="section sec"> | |||
| <text>生日</text> | |||
| <picker mode="date" value="{{date}}" start="1930-09-01" end="2017-09-01" bindchange="bindDateChange"> | |||
| <input wx:if="{{flag==1}}" class='input' placeholder='请输入生日' disabled/> | |||
| <view wx:if="{{flag==2}}" class="picker"> {{date}}</view> | |||
| </picker> | |||
| </view> | |||
| <view class="section section_gap"> | |||
| <text>性别</text> | |||
| <radio-group class="radio-group" bindchange="radioChange"> | |||
| <radio class="radio" wx:for-items="{{items}}" wx:key="name" value="{{item.name}}" checked="{{item.checked}}"> | |||
| <text>{{item.value}}</text> | |||
| </radio> | |||
| </radio-group> | |||
| </view> | |||
| <view class='address' bindtap='address'> | |||
| <text>住址</text> | |||
| <view class='names' wx:if="{{address}}">{{address}}</view> | |||
| <view class='names' wx:if="{{!address}}">请选择地址</view> | |||
| </view> | |||
| <button class='btn' formType="submit" hover-class='active'>提交</button> | |||
| </form> | |||
| @@ -0,0 +1,87 @@ | |||
| input { | |||
| width:600rpx; | |||
| display: inline-block; | |||
| font-size: 32rpx; | |||
| vertical-align: middle; | |||
| margin-top: -3rpx; | |||
| } | |||
| .radio-group { | |||
| display: inline-block; | |||
| } | |||
| .section { | |||
| height: 100rpx; | |||
| line-height: 100rpx; | |||
| width: 710rpx; | |||
| margin: 0 auto; | |||
| border-bottom: 1px solid #eee; | |||
| } | |||
| .address{ | |||
| width: 710rpx; | |||
| margin: 0 auto; | |||
| border-bottom: 1px solid #eee; | |||
| padding-bottom: 10rpx; | |||
| } | |||
| .radio{ | |||
| margin-right: 30rpx; | |||
| } | |||
| .section__title, .picker, picker { | |||
| display: inline-block; | |||
| font-size: 32rpx; | |||
| color: #999; | |||
| } | |||
| radio { | |||
| transform:scale(0.8); | |||
| } | |||
| .section__title { | |||
| color: #999; | |||
| } | |||
| .section > text:nth-of-type(1) { | |||
| font-size: 32rpx; | |||
| display: inline-block; | |||
| margin-right: 20rpx; | |||
| } | |||
| .address > text:nth-of-type(1) { | |||
| font-size: 32rpx; | |||
| display: inline-block; | |||
| margin-right: 20rpx; | |||
| } | |||
| .btn{ | |||
| position: fixed; | |||
| bottom: 30rpx; | |||
| left: 0; | |||
| right: 0; | |||
| margin: auto; | |||
| width: 600rpx; | |||
| color: #fff; | |||
| height: 86rpx; | |||
| line-height: 86rpx; | |||
| text-align: center; | |||
| border-radius:60rpx; | |||
| background: orange; | |||
| font-size: 32rpx; | |||
| } | |||
| .active{ | |||
| opacity: .6; | |||
| } | |||
| .sec{ | |||
| position: relative; | |||
| } | |||
| .input{ | |||
| position: absolute; | |||
| left: 84rpx; | |||
| z-index: 1000; | |||
| top: 0; | |||
| bottom: 0; | |||
| margin: auto; | |||
| background: #fff; | |||
| } | |||
| .names{ | |||
| font-size: 26rpx; | |||
| line-height: 46rpx; | |||
| color: #999; | |||
| } | |||
| @@ -0,0 +1,66 @@ | |||
| // pages/radetail/sc/edit.js | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面初次渲染完成 | |||
| */ | |||
| onReady: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面显示 | |||
| */ | |||
| onShow: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面隐藏 | |||
| */ | |||
| onHide: function () { | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面卸载 | |||
| */ | |||
| onUnload: function () { | |||
| }, | |||
| /** | |||
| * 页面相关事件处理函数--监听用户下拉动作 | |||
| */ | |||
| onPullDownRefresh: function () { | |||
| }, | |||
| /** | |||
| * 页面上拉触底事件的处理函数 | |||
| */ | |||
| onReachBottom: function () { | |||
| }, | |||
| /** | |||
| * 用户点击右上角分享 | |||
| */ | |||
| onShareAppMessage: function () { | |||
| } | |||
| }) | |||
| @@ -0,0 +1,3 @@ | |||
| { | |||
| "usingComponents": {} | |||
| } | |||
| @@ -0,0 +1,2 @@ | |||
| <!--pages/radetail/sc/edit.wxml--> | |||
| <text>pages/radetail/sc/edit.wxml</text> | |||
| @@ -0,0 +1 @@ | |||
| /* pages/radetail/sc/edit.wxss */ | |||
| @@ -0,0 +1,153 @@ | |||
| const util = require("../../../utils/util.js"); | |||
| const Http = require("../../../utils/HttpBasics"); | |||
| const config = require("../../../config/config"); | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| date: '1988-03-12', | |||
| flag: 1, | |||
| flagsex: 0, | |||
| items: [ | |||
| { name: 1, value: '男', checked: false }, | |||
| { name: 2, value: '女', checked: false }, | |||
| ], | |||
| username: "", | |||
| array: ['上班族', '学生', '企业高管', '个体户', '自由职业', '其他'], | |||
| array1: ['附近住户', '距离2km', '距离3km', '更远'], | |||
| index: 0, | |||
| index1: 0, | |||
| showPage:false | |||
| }, | |||
| /** | |||
| * 获得生日 | |||
| */ | |||
| bindDateChange: function (e) { | |||
| this.setData({ | |||
| date: e.detail.value, | |||
| flag: 2 | |||
| }) | |||
| }, | |||
| goback: function () { | |||
| wx.switchTab({ | |||
| url: '/pages/main/index', | |||
| }) | |||
| }, | |||
| /** | |||
| * 职业 | |||
| */ | |||
| bindPickerChange: function (e) { | |||
| this.setData({ | |||
| index: e.detail.value | |||
| }) | |||
| }, | |||
| /** | |||
| * 生活半径 | |||
| */ | |||
| bindPickerChange1: function (e) { | |||
| this.setData({ | |||
| index1: e.detail.value | |||
| }) | |||
| }, | |||
| address: function () { | |||
| let that = this; | |||
| wx.chooseLocation({ | |||
| success: function (res) { | |||
| that.setData({ | |||
| address: res.name + '(' + res.address + ')', | |||
| addressStr: JSON.stringify(res) | |||
| }) | |||
| }, | |||
| fail: function (error) { | |||
| console.log(error) | |||
| }, | |||
| complete: function (data) { | |||
| } | |||
| }) | |||
| }, | |||
| formSubmit: function (e) { | |||
| let that = this; | |||
| /** | |||
| * sex | |||
| * 0 保密 | |||
| * 1 男 | |||
| * 2 女 | |||
| */ | |||
| if (that.data.flagsex == 0) { | |||
| var sex = 0; | |||
| } else { | |||
| var sex = that.data.sex; | |||
| } | |||
| if (that.data.addressStr) { | |||
| var address = that.data.addressStr; | |||
| } | |||
| else { | |||
| var address = null; | |||
| } | |||
| if (e.detail.value.username) { | |||
| var username = e.detail.value.username; | |||
| } | |||
| else if (that.data.username) { | |||
| var username = that.data.username; | |||
| } | |||
| else { | |||
| var username = null; | |||
| } | |||
| if (that.data.flag == 2 && that.data.date) { | |||
| var birthdate = new Date(that.data.date).getTime(); | |||
| } else { | |||
| var birthdate = null; | |||
| } | |||
| if (username == null || address == null || sex == 0 || birthdate == null) { | |||
| wx.showToast({ | |||
| title: '请输入完整的用户信息', | |||
| icon:"none" | |||
| }) | |||
| } else { | |||
| Http.post({ | |||
| url: config.api.activityJoin, | |||
| data: { | |||
| sex: sex, | |||
| address: address, | |||
| name: username, | |||
| birthdate: birthdate, | |||
| activityId: that.data.activityId | |||
| } | |||
| }) | |||
| .then(res => { | |||
| wx.showToast({ | |||
| title: "修改成功", | |||
| icon: 'none', | |||
| duration: 2000, | |||
| mask: false | |||
| }) | |||
| }) | |||
| .catch(err => { | |||
| wx.showToast({ | |||
| title: err.message, | |||
| icon: 'none', | |||
| duration: 2000, | |||
| mask: false | |||
| }) | |||
| }) | |||
| } | |||
| }, | |||
| radioChange: function (e) { | |||
| this.setData({ | |||
| sex: e.detail.value, | |||
| flagsex: 1 | |||
| }) | |||
| }, | |||
| /** | |||
| * 生命周期函数--监听页面加载 | |||
| */ | |||
| onLoad: function (options) { | |||
| let that = this; | |||
| if (options && options.activityId){ | |||
| that.setData({ | |||
| activityId: options.activityId | |||
| }) | |||
| } | |||
| } | |||
| }) | |||
| @@ -0,0 +1,3 @@ | |||
| { | |||
| "navigationBarTitleText": "报名成功" | |||
| } | |||
| @@ -0,0 +1,13 @@ | |||
| <view class='success'> | |||
| <text class='tit'>报名成功</text> | |||
| <text class='mess'>请您在我的活动中查看您的报名状态</text> | |||
| </view> | |||
| <view class="btns clearfix" hover-class="none" hover-stop-propagation="false"> | |||
| <button class="fl" bindtap='goback'> | |||
| 返回首页 | |||
| </button> | |||
| <button class="fr"> | |||
| 我的活动 | |||
| </button> | |||
| </view> | |||
| @@ -0,0 +1,63 @@ | |||
| .success text{ | |||
| display: block; | |||
| text-align: center; | |||
| } | |||
| .tit{ | |||
| font-size: 40rpx; | |||
| font-weight:bold; | |||
| } | |||
| .mess{ | |||
| margin-top: 40rpx; | |||
| font-size: 30rpx; | |||
| } | |||
| .fl{ | |||
| float: left; | |||
| } | |||
| .fr{ | |||
| float: right; | |||
| } | |||
| .btns { | |||
| padding-bottom: 37rpx; | |||
| padding-top: 37rpx; | |||
| z-index: 100; | |||
| background: #fff; | |||
| width: 625rpx; | |||
| margin:100rpx auto 0; | |||
| } | |||
| .success{ | |||
| margin-top: 200rpx; | |||
| } | |||
| .btns > button { | |||
| width: 277rpx; | |||
| height: 95rpx; | |||
| border-radius: 10rpx; | |||
| text-align: center; | |||
| } | |||
| .btns .fl { | |||
| margin-left: 20rpx; | |||
| color: #fff; | |||
| background: rgba(255, 169, 2, 1); | |||
| box-shadow: 0px 8px 8px 1px rgba(255, 169, 2, 0.32); | |||
| } | |||
| .btns .fl text { | |||
| display: block; | |||
| font-size: 30rpx; | |||
| line-height: 34rpx; | |||
| } | |||
| .btns .fl text:nth-of-type(1) { | |||
| margin-top: 12rpx; | |||
| } | |||
| .btns .fr { | |||
| font-size: 30rpx; | |||
| color: #fff; | |||
| margin-right: 20rpx; | |||
| line-height: 95rpx; | |||
| background: rgba(236, 59, 45, 1); | |||
| box-shadow: 0px 8px 8px 1px rgba(246, 93, 51, 0.32); | |||
| } | |||