
<!-- 新建任务 -->
<view class="add-page">
<view class="mod-a">
<!-- 任务名称 -->
<view class="mod t-name">
<text class="key">任务名称</text>
<input bindinput="bindKeyInput" class="input" maxlength="100" placeholder="请输入任务名称" />
<image class="arrow-r" src="../../image/arrow-r-0.png"></image>
</view>
</view>
<view class="mod-a mt20">
<!-- 任务地点 -->
<view class="mod t-address" bindtap="chooseLocation">
<text class="key">任务地点</text>
<text class="value">{{task.address}}</text>
<image class="arrow-r" src="../../image/arrow-r-0.png"></image>
</view>
<!-- 打卡时间 -->
<view class="mod t-sign-time">
<text class="key">打卡时间</text>
<picker mode="time" value="{{task.signTime}}" bindchange="setSignTime">
<view class="value">{{task.signTime}}<image class="arrow-r" src="../../image/arrow-r-0.png"></image></view>
</picker>
</view>
<!-- 最早打卡时间 -->
<view class="mod t-early">
<text class="key">最早可打卡时间</text>
<text class="value">{{task.signEarlyTime}}</text>
</view>
</view>
<view class="mod-a mt20">
<!-- 起始时间 -->
<view class="mod t-time">
<view class="start">
<text class="key">开始于</text>
<picker mode="date" value="{{task.startDay}}" start="{{task.startDay}}" bindchange="startDateChange">
<view class="date">{{task.startDay}}<image class="arrow-d" src="../../image/arrow-d-0.png"></image></view>
</picker>
</view>
<view class="pipe"></view>
<view class="end">
<text class="key">结束于</text>
<picker mode="date" value="{{task.endDay}}" start="{{task.endDay}}" bindchange="endDateChange">
<view class="date">{{task.endDay}}<image class="arrow-d" src="../../image/arrow-d-0.png"></image></view>
</picker>
</view>
</view>
<!-- 重复日 -->
<view class="mod days">
<view class="key">
<text>重复日</text>
</view>
<view class="week">
<text id="monday" bindtap="changeMonday" class="d {{task.repeat.monday ? 'on' : ''}}">一</text>
<text id="tuesday" bindtap="changeTuesday" class="d {{task.repeat.tuesday ? 'on' : ''}}">二</text>
<text id="wednesday" bindtap="changeWednesday" class="d {{task.repeat.wednesday ? 'on' : ''}}">三</text>
<text id="thursday" bindtap="changeThursday" class="d {{task.repeat.thursday ? 'on' : ''}}">四</text>
<text id="friday" bindtap="changeFriday" class="d {{task.repeat.friday ? 'on' : ''}}">五</text>
<text id="saturday" bindtap="changeSaturday" class="d {{task.repeat.saturday ? 'on' : ''}}">六</text>
<text id="sunday" bindtap="changeSunday" class="d {{task.repeat.sunday ? 'on' : ''}}">日</text>
</view>
</view>
</view>
<!-- 我的昵称 -->
<view class="mod-a mt20">
<view class="mod my-nick">
<text>我的昵称</text>
<text>{{userInfo.nickName}}</text>
</view>
</view>
<!-- 创建按钮 -->
<view class="create">
<button class="btn {{creating ? 'disabled' : ''}}" bindtap="bindSubmit">{{button.txt}}</button>
</view>
<!-- 提示信息 -->
<modal confirm-text="确定"no-confirm no-cancel hidden="{{modalHidden}}" mask bindconfirm="modalChange">
请完善新建任务信息
</modal>
</view>
|
.mt20{
margin-top: 20rpx;
}
.add-page{
display: flex;
flex-direction: column;
font-size: 32rpx;
color: #676767;
padding: 30rpx 0;
}
.mod-a{
padding: 0 20rpx;
border: 1px solid #f0f0f0;
background-color: #fff;
}
.mod{
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
height: 90rpx;
padding: 0 20rpx;
}
.arrow-r{
width: 9rpx;
height: 17rpx;
margin-left: 10rpx;
}
.arrow-d{
width: 17rpx;
height: 9rpx;
margin-left: 10rpx;
}
.value{
color: #b2b2b2;
}
.t-sign-time .value{
display: flex;
flex-direction: row;
align-items: center;
}
.t-early .value{
padding-right: 20rpx;
}
.t-name .input, .t-address .value{
text-align: right;
width: 510rpx;
overflow: hidden;
color: #b2b2b2;
height: 44rpx;
}
.t-address, .t-sign-time, .t-time{
border-bottom: 1px solid #f0f0f0;
}
.t-time{
justify-content:space-around;
}
.start, .end{
display: flex;
flex-direction: row;
align-items: center;
}
.pipe{
height: 48rpx;
border-left: 1px solid #f0f0f0;
}
.date{
display: flex;
flex-direction: row;
align-items: center;
padding-left: 10rpx;
color: #2fcc85;
}
.week{
display: flex;
flex-direction: row;
justify-content:space-around;
align-items: center;
}
.week .d{
display: flex;
flex-direction: row;
justify-content: center;
width: 48rpx;
height: 48rpx;
border-radius: 50%;
background-color: #b2b2b2;
text-align: center;
color: #fff;
margin: 0 15rpx;
}
.week .on{
background-color: #2fcc85;
}
.create{
margin-top: 80rpx;
padding: 0 26rpx;
}
.create .btn{
height: 80rpx;
line-height: 80rpx;
background-color: #2fcc85;
color: #fff;
}
.create .button-hover{
background-color: #2caf6d;
color: #aadfc4;
}
.create .disabled{
opacity: 0.4
}
|
var util = require('../../utils/util.js');
var app = getApp();
Page({
data: {
task: {
name: '',
address: '点击选择地点',
signTime: '00:00',
signEarlyTime: '00:00',
startDay: '2016-11-00',
endDay: '2016-11-00',
repeat: {
'monday': 1,
'tuesday': 1,
'wednesday': 1,
'thursday': 1,
'friday': 1,
'saturday': 0,
'sunday': 0
}
},
openId: '',
userInfo: {},
creating: false,
button: {
txt: '新建'
},
modalHidden: true
},
// 设置任务名称
bindKeyInput: function (e) {
this.setData({
'task.name': e.detail.value
});
},
// 设置任务地点
chooseLocation: function () {
var that = this;
wx.chooseLocation({
success: function(res){
that.setData({
'task.address': res.address,
'task.latitude': res.latitude,
'task.longitude': res.longitude
})
},
fail: function() {
// fail
},
complete: function() {
// complete
}
})
},
// 设置打卡时间
setSignTime: function (e) {
var that = this;
var hour = ((+e.detail.value.slice(0, 2) + 24 - 2) % 24).toString();
that.setData({
'task.signTime': e.detail.value,
'task.signEarlyTime': (hour[1] ? hour : '0' + hour) + ':' + e.detail.value.slice(3, 5)
});
},
// 设置开始日期
startDateChange: function (e) {
this.setData({
'task.startDay': e.detail.value
})
},
// 设置结束日期
endDateChange: function (e) {
this.setData({
'task.endDay': e.detail.value
})
},
// 设置重复日
changeMonday: function (e) {
var state = this.data.task.repeat.monday;
this.setData({
'task.repeat.monday': (state == 1 ? 0 : 1)
});
},
changeTuesday: function (e) {
var state = this.data.task.repeat.tuesday;
this.setData({
'task.repeat.tuesday': (state == 1 ? 0 : 1)
});
},
changeWednesday: function (e) {
var state = this.data.task.repeat.wednesday;
this.setData({
'task.repeat.wednesday': (state == 1 ? 0 : 1)
});
},
changeThursday: function (e) {
var state = this.data.task.repeat.thursday;
this.setData({
'task.repeat.thursday': (state == 1 ? 0 : 1)
});
},
changeFriday: function (e) {
var state = this.data.task.repeat.friday;
this.setData({
'task.repeat.friday': (state == 1 ? 0 : 1)
});
},
changeSaturday: function (e) {
var state = this.data.task.repeat.saturday;
this.setData({
'task.repeat.saturday': (state == 1 ? 0 : 1)
});
},
changeSunday: function (e) {
var state = this.data.task.repeat.sunday;
this.setData({
'task.repeat.sunday': (state == 1 ? 0 : 1)
});
},
// 隐藏提示弹层
modalChange: function (e) {
this.setData({
modalHidden: true
})
},
// 创建任务
createTask: function () {
var that = this;
var task = this.data.task;
var openId = this.data.openId;
var userInfo = this.data.userInfo;
wx.showToast({
title: '新建中',
icon: 'loading',
duration: 10000
});
wx.request({
url: 'https://www.cpcsign.com/api/task',
data: {
name: task.name,
address: task.address,
startTime: task.startDay,
endTime: task.endDay,
signTime: task.signTime,
latitude: task.latitude,
longitude: task.longitude,
repeat: {
'monday': task.repeat.monday,
'tuesday': task.repeat.tuesday,
'wednesday': task.repeat.wednesday,
'thursday': task.repeat.thursday,
'friday': task.repeat.friday,
'saturday': task.repeat.saturday,
'sunday': task.repeat.sunday
},
userInfo: {
openId: openId,
nickName: userInfo.nickName,
avatarUrl: userInfo.avatarUrl
}
},
method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
header: {
'Content-Type': 'application/json'
}, // 设置请求的 header
success: function(res){
// success
wx.hideToast();
var command = res.data.taskID;
wx.navigateTo({
url: '/pages/new/success/success?command=' + command,
success: function(res){
// success
},
fail: function() {
// fail
},
complete: function() {
// complete
}
})
},
fail: function() {
// fail
},
complete: function() {
// complete
}
})
},
// 提交、检验
bindSubmit: function (e) {
var that = this;
var task = this.data.task;
var creating = this.data.creating;
if (task.name == '' || task.address == '点击选择地点' ) {
this.setData({
modalHidden: false
});
} else {
if (!creating) {
this.setData({
'creating': true
});
that.createTask();
}
}
},
onShow: function () {
// 恢复新建按钮状态
this.setData({
'creating': false
});
},
onHide: function () {
},
// 初始化设置
onLoad: function () {
var that = this;
var now = new Date();
var openId = wx.getStorageSync('openId');
// 初始化打卡时间
that.setData({
'task.signTime': util.getHM(now),
'task.signEarlyTime': util.getHM(new Date(now.getTime() - 1000 * 3600 * 2))
});
// 初始化日期
that.setData({
'task.startDay': util.getYMD(now),
'task.endDay': util.getYMD(now)
});
// 初始化昵称
app.getUserInfo(function(userInfo){
//更新数据
that.setData({
userInfo:userInfo
});
that.setData({
openId: openId
})
});
}
})
|
模板简介:该模板名称为【微信小程序新建打卡任务详细页面样式模板制作设计下载】,大小是,文档格式为.,推荐使用打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【小程序教程】栏目查找您需要的精美模板。