@@ -1,6 +1,7 @@ | |||
{ | |||
"pages": [ | |||
"pages/index/index", | |||
"pages/edit/edit", | |||
"pages/cartest/cartest", | |||
"pages/actdetail/actdetail", | |||
"pages/bannerdetail/index", | |||
@@ -16,7 +16,13 @@ Page({ | |||
tempFilePaths: '', | |||
userInfo: {}, | |||
hasUserInfo: false, | |||
canIUse: wx.canIUse('button.open-type.getUserInfo') | |||
canIUse: wx.canIUse('button.open-type.getUserInfo'), | |||
id: '', | |||
result: [], | |||
end_time: '', | |||
clock: '' | |||
}, | |||
phone: function () { | |||
@@ -29,6 +35,48 @@ Page({ | |||
} | |||
}, | |||
countdown(end_time) { | |||
let that = this; | |||
var EndTime = end_time; | |||
var NowTime = new Date().getTime(); | |||
var total_micro_second = EndTime - NowTime || []; | |||
// 渲染倒计时时钟 | |||
let obj = that.dateformat(total_micro_second); | |||
that.setData({ | |||
clock: obj, | |||
day: obj.a1, | |||
hour: obj.b1, | |||
min: obj.c1, | |||
sec: obj.d1, | |||
}); | |||
if (total_micro_second <= 0) { | |||
that.setData({ | |||
clock: "已经截止" | |||
}); | |||
//return; | |||
} | |||
setTimeout(function () { | |||
total_micro_second -= 1000; | |||
that.countdown(end_time); | |||
}, 1000) | |||
}, | |||
// 时间格式化输出,如11:03 25:19 每1s都会调用一次 | |||
dateformat(micro_second) { | |||
// 总秒数 | |||
var second = Math.floor(micro_second / 1000); | |||
// 天数 | |||
var day = Math.floor(second / 3600 / 24) < 10 ? "0" + Math.floor(second / 3600 / 24) : Math.floor(second / 3600 / 24); | |||
// 小时 | |||
var hr = Math.floor(second / 3600 % 24) < 10 ? "0" + Math.floor(second / 3600 % 24) : Math.floor(second / 3600 % 24); | |||
// 分钟 | |||
var min = Math.floor(second / 60 % 60) < 10 ? "0" + Math.floor(second / 60 % 60) : Math.floor(second / 60 % 60); | |||
// 秒 | |||
var sec = Math.floor(second % 60) < 10 ? "0" + Math.floor(second % 60): Math.floor(second % 60); | |||
// return day + "天" + hr + "小时" + min + "分钟" + sec + "秒"; | |||
return { a1: day, b1: hr, c1: min, d1: sec} | |||
}, | |||
onLoad(options) { | |||
let that = this; | |||
wx.showLoading({ | |||
@@ -50,17 +98,21 @@ Page({ | |||
}; | |||
Http.get(parmer).then(res => { | |||
console.log(res.data); | |||
//当前时间与优惠券下架时间做计算 | |||
var endTime = util.fmtDate(res.data.endTime); | |||
if (util.timechuo(endTime).indexOf('-') == 0) { | |||
that.setData({ | |||
endtime: "活动已结束", | |||
}); | |||
} else { | |||
that.setData({ | |||
endtime: util.timechuo(endTime) | |||
}); | |||
if (res.data.endTime){ | |||
that.countdown(res.data.endTime); | |||
//当前时间与优惠券下架时间做计算 | |||
var endTime = util.formatTime(res.data.endTime, "yyyy-MM-dddd hh:mm:ss"); | |||
if (util.timechuo(endTime).indexOf('-') == 0) { | |||
that.setData({ | |||
endtime: "活动已结束", | |||
}); | |||
} else { | |||
that.setData({ | |||
endtime: util.timechuo(endTime) | |||
}); | |||
} | |||
} | |||
wx.hideLoading(); | |||
that.setData({ | |||
data: res.data | |||
@@ -10,6 +10,22 @@ | |||
<button class='share user-motto' data-id='{{data.id}}' data-couponId='{{data.couponId}}' data-title='{{data.title}}' id="shareBtn" open-type="share" hover-class="other-button-hover"></button> | |||
</view> | |||
<view> | |||
<view class='distance' wx:if="{{data.targetAd==2&&data.endTime!=undefined&&data.type!=5}}"> | |||
<view style='text-align:center;display:inline-block;'> | |||
<image class='clock' src='./../../../assets/img/clock.png' mode='widthFix'></image> | |||
<text class="qiang">距结束还剩 :</text> | |||
</view> | |||
<view wx:if="{{total_micro_second<=0||data.remainInventory==0}}" class='times'> <text>00</text>天 | |||
<text>00</text>: | |||
<text>00</text>: | |||
<text>00</text></view> | |||
<view wx:if="{{clock!='已经截止'&&data.remainInventory!=0}}" class='times'> | |||
<text>{{day}}</text>天 | |||
<text>{{hour}}</text>: | |||
<text>{{min}}</text>: | |||
<text>{{sec}}</text> | |||
</view> | |||
</view> | |||
<text class='title'>{{data.title}}</text> | |||
<text class="subTitle">{{data.subTitle}}</text> | |||
<view class='salePriceStr clearfix'> | |||
@@ -21,10 +37,6 @@ | |||
<text class="restNum fr">剩余<text>{{data.remainInventory}}件</text></text> | |||
</view> | |||
<view class='rest' wx:if="{{data.targetAd==2&&data.endTime!=undefined&&data.type!=5}}"> | |||
<text class='txt01'>距结束:</text> | |||
<text class='time'>{{endtime}}</text> | |||
</view> | |||
<view class='rest' wx:if="{{data.validType==2}}">有效期:自领取之日起 | |||
<text class='time'>{{validDays}}</text>天内有效</view> | |||
@@ -44,7 +56,6 @@ | |||
</view> | |||
</view> | |||
</view> | |||
<view class='posi'> | |||
<view class='posi_logo'> | |||
<view> | |||
@@ -72,5 +83,6 @@ | |||
<button bindtap='orderFunc' class='buy' wx:if="{{data.salePriceStr==0&&data.remainInventory!=0&&endtime!='活动已结束'}}">免费领取</button> | |||
<button class='buy' wx:if="{{data.remainInventory==0&&endtime!='活动已结束'}}" style="background:#999;color: #fff;">已售罄</button> | |||
<button class='buy' wx:if="{{endtime=='活动已结束'}}" style="background:#999;color: #fff;">活动已结束</button> | |||
<button class='buy' wx:if="{{total_micro_second<=0}}" style="background:#999;color: #fff;">活动已结束</button> | |||
</view> | |||
</view> |
@@ -12,6 +12,7 @@ page { | |||
} | |||
.banner { | |||
position: relative; | |||
width: 750rpx; | |||
height: 534.5rpx; | |||
} | |||
@@ -40,7 +41,7 @@ page { | |||
} | |||
.fenxiang image { | |||
width: 60rpx; | |||
width: 50rpx; | |||
position: absolute; | |||
top: 0; | |||
right: 0; | |||
@@ -298,3 +299,50 @@ page { | |||
.txt { | |||
margin-right: 30rpx; | |||
} | |||
.distance{ | |||
border: none; | |||
border-radius:16rpx; | |||
width: 600rpx; | |||
padding: 16rpx 6rpx 0 0; | |||
} | |||
.distance .txt01{ | |||
display: block; | |||
font-size: 26rpx; | |||
color: #ff4949; | |||
} | |||
.clock{ | |||
width: 116rpx!important; | |||
vertical-align: middle; | |||
margin-right: 10rpx; | |||
margin-top: -4rpx; | |||
} | |||
.qiang{ | |||
position: inline-block; | |||
width: 60rpx; | |||
height: 40rpx; | |||
line-height: 40rpx; | |||
color: #ff4949; | |||
text-align: center; | |||
font-size: 28rpx; | |||
margin-right: 10rpx; | |||
} | |||
.times{ | |||
display: inline-block; | |||
color: #ff4949; | |||
font-weight:bold; | |||
font-size: 26rpx; | |||
text-align:center; | |||
} | |||
.times text{ | |||
display: inline-block; | |||
margin: 6rpx; | |||
width: 46rpx; | |||
height: 56rpx; | |||
text-align: center; | |||
font-size: 28rpx; | |||
line-height: 60rpx; | |||
border-radius:12rpx; | |||
color: #fff; | |||
font-weight:bold; | |||
background: #ff4949; | |||
} |
@@ -0,0 +1,100 @@ | |||
const app = getApp(); | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
date: '1988-03-12', | |||
flag:1, | |||
items: [ | |||
{ name: 'male', value: '男' }, | |||
{ name: 'famale', value: '女' }, | |||
] | |||
}, | |||
/** | |||
* 获得生日 | |||
*/ | |||
bindDateChange: function (e) { | |||
console.log('picker发送选择改变,携带值为', e.detail.value); | |||
this.setData({ | |||
date: e.detail.value, | |||
flag:2 | |||
}) | |||
}, | |||
address: function () { | |||
let that = this; | |||
wx.chooseLocation({ | |||
success:function(res){ | |||
console.log(res); | |||
that.setData({ | |||
name: res.name | |||
}) | |||
}, | |||
fail:function(error){ | |||
console.log(error) | |||
}, | |||
complete:function(data){ | |||
console.log(data); | |||
} | |||
}) | |||
}, | |||
radioChange: function (e) { | |||
console.log('radio发生change事件,携带value值为:', e.detail.value) | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad: function (options) { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面初次渲染完成 | |||
*/ | |||
onReady: function () { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow: function () { | |||
let that = this; | |||
}, | |||
/** | |||
* 生命周期函数--监听页面隐藏 | |||
*/ | |||
onHide: function () { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面卸载 | |||
*/ | |||
onUnload: function () { | |||
}, | |||
/** | |||
* 页面相关事件处理函数--监听用户下拉动作 | |||
*/ | |||
onPullDownRefresh: function () { | |||
}, | |||
/** | |||
* 页面上拉触底事件的处理函数 | |||
*/ | |||
onReachBottom: function () { | |||
}, | |||
/** | |||
* 用户点击右上角分享 | |||
*/ | |||
onShareAppMessage: function () { | |||
} | |||
}) |
@@ -0,0 +1,3 @@ | |||
{ | |||
"navigationBarTitleText": "编辑资料" | |||
} |
@@ -0,0 +1,28 @@ | |||
<form bindsubmit="formSubmit"> | |||
<view class='section'> | |||
<text>姓名</text> | |||
<input 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='section' bindtap='address'> | |||
<text>地址</text> | |||
<input wx:if="{{name}}" type="text" placeholder='{{name}}' disabled/> | |||
<input wx:if="{{!name}}" type="text" placeholder='请输入地址' disabled/> | |||
</view> | |||
<button class='btn' formType="submit" hover-class='active'>修改会员资料</button> | |||
</form> |
@@ -0,0 +1,66 @@ | |||
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; | |||
} | |||
.radio{ | |||
margin-right: 30rpx; | |||
} | |||
.section__title, .picker, picker { | |||
display: inline-block; | |||
font-size: 32rpx; | |||
} | |||
radio { | |||
transform:scale(0.8); | |||
} | |||
.section__title { | |||
color: #999; | |||
} | |||
.section > text:nth-of-type(1) { | |||
font-size: 32rpx; | |||
display: inline-block; | |||
margin-right: 20rpx; | |||
} | |||
.btn{ | |||
width: 360rpx; | |||
color: #fff; | |||
margin-top: 60rpx; | |||
height: 86rpx; | |||
line-height: 86rpx; | |||
text-align: center; | |||
border-radius:60rpx; | |||
background: #d95f5a; | |||
font-size: 32rpx; | |||
} | |||
.active{ | |||
background: #f38580; | |||
} | |||
.sec{ | |||
position: relative; | |||
} | |||
.input{ | |||
position: absolute; | |||
left: 84rpx; | |||
z-index: 1000; | |||
top: 0; | |||
bottom: 0; | |||
margin: auto; | |||
background: #fff; | |||
} |
@@ -34,13 +34,13 @@ | |||
display: inline-block; | |||
margin: 16rpx 30rpx 16rpx; | |||
margin-right: 0; | |||
/* overflow: hidden; */ | |||
position: relative; | |||
background: #fff; | |||
/* border: 1rpx solid #dddee1; */ | |||
width: 355rpx; | |||
box-shadow: 0 0 10px 0 rgba(211,211,211,0.30); | |||
border-radius: 10rpx; | |||
overflow: hidden; | |||
} | |||
.index-scroll-view .commodity:last-child{ | |||
margin-right: 30rpx; | |||
@@ -59,35 +59,34 @@ Page({ | |||
loading: false, | |||
}) | |||
}, 1400); | |||
// if (pageNum == 2) { | |||
// that.setData({ | |||
// list: [] | |||
// }) | |||
// } | |||
var tmpArr = that.data.list; | |||
tmpArr.push.apply(tmpArr, res.data.list); | |||
that.setData({ | |||
list: tmpArr | |||
}) | |||
for (let i = 0; i < that.data.list.length; i++) { | |||
var startTime = util.fmtDate(that.data.list[i].endTime); | |||
var startTime = util.formatTime(that.data.list[i].endTime, "yyyy-MM-dddd hh:mm:ss"); | |||
var alsell = Math.floor((that.data.list[i].inventory - (that.data.list[i].remainInventory))/(that.data.list[i].inventory)*100); | |||
util.timechuo(startTime); | |||
console.log(util.timechuo(startTime)); | |||
console.log(alsell); | |||
/** | |||
* 修改list的endtime | |||
* 渲染到页面 | |||
*/ | |||
var endtime = 'list[' + i + '].endtime'; | |||
var flags = 'list[' + i + '].flags'; | |||
var alsells = 'list[' + i + '].alsells'; | |||
if (util.timechuo(startTime).indexOf('-')==0){ | |||
that.setData({ | |||
[flags]: "end", | |||
[endtime]: util.timechuo(startTime) | |||
[endtime]: util.timechuo(startTime), | |||
[alsells]: alsell | |||
}); | |||
} | |||
else{ | |||
that.setData({ | |||
[endtime]: util.timechuo(startTime) | |||
[endtime]: util.timechuo(startTime), | |||
[alsells]: alsell | |||
}); | |||
} | |||
} | |||
@@ -1,6 +1,6 @@ | |||
<!-- 限时抢购 查看更多对应的页面 --> | |||
<view class='flashSale'> | |||
<view wx:for="{{list}}" wx:if="{{item.targetA!='end'}}" class='flashSaleItemWrap' wx:key="index"> | |||
<view wx:for="{{list}}" wx:if="{{item.targetA!='end'}}" class='flashSaleItemWrap' wx:key="index"> | |||
<view class='flashSaleItem'> | |||
<view class='flashSaleItemTop'> | |||
<view class='flashSaleItemTopL'> | |||
@@ -16,7 +16,7 @@ | |||
</view> | |||
</view> | |||
</view> | |||
<image class='lines' src='./../../assets/img/lines.png' mode='widthFix'></image> | |||
<image class='lines' src='./../../assets/img/lines.png' mode='widthFix'></image> | |||
<view class='flashSaleItemBottom'> | |||
<view class='flashSaleItemBottomTop'> | |||
<text class='remainingTime'>距结束:</text> | |||
@@ -25,11 +25,12 @@ | |||
</view> | |||
<view class='flashSaleItemBottomBottm'> | |||
<view class="view1"> | |||
<text class="remainingNumber">剩余:</text> | |||
<text class='realnumber'>{{item.remainInventory}}张</text> | |||
<text class="remainingNumber">已售{{item.alsells}}%</text> | |||
<progress percent="{{(item.inventory-item.remainInventory)/item.inventory*100}}" stroke-width="6" activeColor="#ff4949" /> | |||
</view> | |||
<view class='buy' data-couponId="{{item.couponId}}" data-couponChannelId="{{item.id}}" data-targetAd="{{item.targetAd}}" bindtap="gotodetail" hover-class='active' wx:if="{{item.salePriceStr!=0}}">购买</view> | |||
<view class='buy' data-couponId="{{item.couponId}}" data-couponChannelId="{{item.id}}" data-targetAd="{{item.targetAd}}" bindtap="gotodetail" hover-class='active' wx:if="{{item.salePriceStr==0}}">领取</view> | |||
<view class='buy' data-couponId="{{item.couponId}}" data-couponChannelId="{{item.id}}" data-targetAd="{{item.targetAd}}" bindtap="gotodetail" hover-class='active' wx:if="{{item.salePriceStr!=0}}">马上购</view> | |||
<view class='buy' data-couponId="{{item.couponId}}" data-couponChannelId="{{item.id}}" data-targetAd="{{item.targetAd}}" bindtap="gotodetail" hover-class='active' wx:if="{{item.salePriceStr==0&&item.remainInventory!=0}}">立即领</view> | |||
<view class='buy' data-couponId="{{item.couponId}}" data-couponChannelId="{{item.id}}" data-targetAd="{{item.targetAd}}" bindtap="gotodetail" hover-class='active' style='background:#999;color:#fff;border:1px solid #999;' wx:if="{{item.salePriceStr==0&&item.remainInventory==0}}">已售罄</view> | |||
<view class='buy' wx:if="{{item.flags=='end'}}" style='background:#999;color:#fff;border:1px solid #999;'>已结束</view> | |||
</view> | |||
</view> | |||
@@ -120,14 +120,15 @@ | |||
} | |||
.view1 { | |||
width: 550rpx; | |||
width: 350rpx; | |||
display: block; | |||
line-height: 33rpx; | |||
} | |||
.remainingNumber { | |||
font-size: 28rpx; | |||
font-size: 26rpx; | |||
color: #b4b4b4; | |||
margin-right: 10rpx; | |||
} | |||
.realnumber { | |||
@@ -174,3 +175,9 @@ | |||
color: #ff4949; | |||
border: 2rpx solid #ff4949; | |||
} | |||
progress{ | |||
display: inline-block; | |||
width: 200rpx; | |||
border-radius:60rpx; | |||
overflow: hidden; | |||
} |
@@ -65,6 +65,11 @@ Page({ | |||
} | |||
console.log(that.data.flag) | |||
}, | |||
gotoedit:function(){ | |||
wx.navigateTo({ | |||
url: '/pages/edit/edit', | |||
}) | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
@@ -6,15 +6,16 @@ | |||
<view class="user-avatar"> | |||
<open-data class="open" type="userAvatarUrl"></open-data> | |||
</view> | |||
<view class="user-phone"> | |||
<view class="user-phone" bindtap='gotoedit'> | |||
<open-data type="userNickName"></open-data> | |||
<view class='chengzhang'>等级:{{levelName}}</view> | |||
<view class='chengzhang'>点击编辑资料</view> | |||
</view> | |||
<view class='chengzhang1' bindtap='gotograde'> | |||
<text style="color:#01bffe;">当前成长值</text> | |||
<view class="view">{{score}} | |||
<image src='./../../assets/img/shang.png' mode="widthFix"></image> | |||
</view> | |||
<text>成长值</text> | |||
<text>{{levelName}}</text> | |||
</view> | |||
</view> | |||
<view class="user-btns"> | |||
@@ -67,7 +68,7 @@ | |||
<view class="margin"></view> | |||
<!-- <button bindtap="navigateTo" class="user-out-btn">退出登陆</button> --> | |||
<view bindlongtap='showVersion' class='version'> | |||
<view wx:if="{{flag=='show'}}">版本号:2.1.4</view> | |||
<view wx:if="{{flag=='show'}}">版本号:2.1.8</view> | |||
<view wx:if="{{flag=='hidden'}}"></view> | |||
</view> | |||
</view> | |||
@@ -87,7 +87,7 @@ | |||
} | |||
.chengzhang { | |||
font-size: 28rpx; | |||
font-size: 22rpx; | |||
color: #999; | |||
line-height: 40rpx; | |||
} | |||
@@ -96,7 +96,7 @@ | |||
position: absolute; | |||
right: 24rpx; | |||
bottom: 0; | |||
top: 32rpx; | |||
top: 19rpx; | |||
} | |||
.chengzhang1 text { | |||