@@ -5,15 +5,15 @@ | |||
</view> | |||
<view class="coupons-info"> | |||
<view class="coupons-info-name">{{data.title}}</view> | |||
<view class="coupons-info-name">{{data.subTitle}}</view> | |||
<view class="coupons-info-name subtitle ">{{data.subTitle}}</view> | |||
<view class="coupons-info-price"> | |||
<text class="coupons-info-price-p">¥{{data.salePrice/100}}</text> | |||
<text class="coupons-info-price-o">¥{{data.price/100}}</text> | |||
</view> | |||
<view class="coupons-info-distance"> | |||
<!-- <view class="coupons-info-distance"> | |||
<text class="iconfont icon-dingweib"></text> | |||
{{data.salePrice}} | |||
</view> | |||
</view> --> | |||
<!-- | |||
<view class="coupons-info-address">{{data.}}</view> | |||
--> | |||
@@ -37,6 +37,7 @@ | |||
color: #000000; | |||
letter-spacing: 0; | |||
line-height: 42rpx; | |||
font-weight: bold; | |||
} | |||
.coupons-info-price{ | |||
padding:10rpx 0 15rpx; | |||
@@ -52,7 +53,7 @@ | |||
.coupons-info-price-o { | |||
display: inline-block; | |||
padding-left: 20rpx; | |||
font-size: 24rpx; | |||
font-size: 20rpx; | |||
color: #B4B4B4; | |||
letter-spacing: 0.96rpx; | |||
text-decoration: line-through; | |||
@@ -92,4 +93,9 @@ | |||
height: 50rpx !important; | |||
width: 114rpx !important; | |||
line-height: 50rpx !important; | |||
} | |||
.subtitle{ | |||
font-size: 26rpx; | |||
color: #666; | |||
font-weight:100; | |||
} |
@@ -1,51 +1,51 @@ | |||
<view class='coupons'> | |||
<view class="coupons-body"> | |||
<view class='banner'> | |||
<image src='{{data.coverImg}}'></image> | |||
</view> | |||
<view class='coupons_info'> | |||
<view> | |||
<text>{{data.title}}<text>限购{{data.useLimitQuantity}}件</text></text> | |||
<text>剩余时间:<text>2天12小时25分钟</text></text> | |||
<text>剩余件数:<text>{{data.remainInventory}}件</text></text> | |||
</view> | |||
<view> | |||
<text>¥{{data.salePriceStr}}</text> | |||
<text>¥{{data.priceStr}}</text> | |||
<view class='banner'> | |||
<image src='{{data.coverImg}}'></image> | |||
</view> | |||
</view> | |||
<!-- 未解决 商场的名称 --> | |||
<view class='posi'> | |||
<view class='posi_logo'> | |||
<view class='coupons_info'> | |||
<view> | |||
<image src='http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg'></image> | |||
<text>{{data.title}}<text>限购{{data.useLimitQuantity}}件</text></text> | |||
<text>剩余时间:<text>2天12小时25分钟</text></text> | |||
<text>剩余件数:<text>{{data.remainInventory}}件</text></text> | |||
</view> | |||
<view> | |||
<text>iFORMALL(西单大悦城店)</text> | |||
<text>北京市西城区西单北大街131号</text> | |||
<text>¥{{data.salePriceStr}}</text> | |||
<text>¥{{data.priceStr}}</text> | |||
</view> | |||
</view> | |||
<view> | |||
<!-- 未解决 商场的名称 --> | |||
<view class='posi'> | |||
<view class='posi_logo'> | |||
<view> | |||
<image src='http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg'></image> | |||
</view> | |||
<view> | |||
<text>iFORMALL(西单大悦城店)</text> | |||
<text>北京市西城区西单北大街131号</text> | |||
</view> | |||
</view> | |||
<!-- <view> | |||
<text>更多适用门店</text> | |||
<text class='iconfont icon-right'></text> | |||
</view> --> | |||
</view> | |||
</view> | |||
<view class='notes'> | |||
<view> | |||
<text>购买须知</text> | |||
</view> | |||
<view> | |||
<text><text class='spot'></text>有效期2018.01.16 至 2018.09.20</text> | |||
<text><text class='spot'></text>除特价酒水及特价菜外全场通用</text> | |||
<text><text class='spot'></text>无需预约,消费g高峰时可能需要等位</text> | |||
<text><text class='spot'></text>没人最多购买2张</text> | |||
<text><text class='spot'></text>不可使用包间</text> | |||
<text><text class='spot'></text>堂食外带均可,可免费打包</text> | |||
<text><text class='spot'></text>每桌限用2张</text> | |||
<view class='notes'> | |||
<view> | |||
<text>购买须知</text> | |||
</view> | |||
<view> | |||
<text><text class='spot'></text>有效期2018.01.16 至 2018.09.20</text> | |||
<text><text class='spot'></text>除特价酒水及特价菜外全场通用</text> | |||
<text><text class='spot'></text>无需预约,消费g高峰时可能需要等位</text> | |||
<text><text class='spot'></text>没人最多购买2张</text> | |||
<text><text class='spot'></text>不可使用包间</text> | |||
<text><text class='spot'></text>堂食外带均可,可免费打包</text> | |||
<text><text class='spot'></text>每桌限用2张</text> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="buy-view app-border-top"> | |||
<button bindtap='orderFunc' class='buy'>立即购买</button> | |||
</view> |
@@ -1,4 +1,4 @@ | |||
@import '../../../app.wxss'; | |||
@import "../../../app.wxss"; | |||
.coupons { | |||
width: 100%; | |||
height: 100vh; | |||
@@ -1,14 +1,53 @@ | |||
//index.js | |||
const util = require('../../../utils/util'); | |||
const util = require("../../../utils/util"); | |||
const config = require("../../../config/config.js"); | |||
const Http = require("../../../utils/HttpBasics"); | |||
//券详情页面 | |||
Page({ | |||
data: { | |||
code: "", | |||
data: {}, | |||
createDate:'', | |||
expiredTime:'' | |||
}, | |||
onLoad: function(options) { | |||
console.log(options); | |||
let that = this; | |||
that.setData({ | |||
code: options.quancode | |||
}); | |||
data: { | |||
code: '1234567890123456789' | |||
}, | |||
onLoad: function() { | |||
util.barcode('barcode', '1234567890123456789', 680, 200); | |||
util.qrcode('qrcode', '1234567890123456789', 420, 420); | |||
//获得优惠券的详情 | |||
if ( | |||
options.quancode != null && | |||
(options.quancode != "" && options.quancode) != undefined | |||
) { | |||
Http.get({ | |||
url: config.api.couponOrderDetail, | |||
data: { | |||
couponOrderId: options.quancode | |||
} | |||
}).then(res => { | |||
console.log(res); | |||
that.setData({ | |||
data: res.data.data | |||
}); | |||
that.setData({ | |||
expiredTime:util.fmtDate(that.data.data.expiredTime), | |||
createDate:util.fmtDate(that.data.data.createDate) | |||
}) | |||
}); | |||
} | |||
util.barcode("barcode", options.quancode, 680, 100); | |||
util.qrcode("qrcode", options.quancode, 400, 400); | |||
}, | |||
phone: function() { | |||
let that = this; | |||
console.log(that.data); | |||
if (that.data.data.merchantLinkPhone) { | |||
wx.makePhoneCall({ | |||
phoneNumber: that.data.data.merchantLinkPhone //仅为示例,并非真实的电话号码 | |||
}); | |||
} | |||
}) | |||
} | |||
}); |
@@ -1 +1,3 @@ | |||
{} | |||
{ | |||
"navigationBarTitleText": "使用优惠券" | |||
} |
@@ -1,14 +1,64 @@ | |||
<!--index.wxml--> | |||
<view class="container page"> | |||
<view class="panel"> | |||
<view class="header"> | |||
<view class="coupon_detail clearfix"> | |||
<image class="fl" src="{{data.coverImg}}" mode="widthFix" /> | |||
<view class="fr"> | |||
<text class="title">{{data.title}}</text> | |||
<view class="time">{{data.subTitle}}</view> | |||
<view class="money"> | |||
<text>¥{{data.salePrice/100}}</text> | |||
<del>¥{{data.price/100}}</del> | |||
<text wx:if="data.usePrice=='undefined'" class="manjian">满{{data.usePrice}}元可用</text> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="timevalidity"> | |||
<text>有效期至:</text> | |||
<text>{{expiredTime}}</text> | |||
</view> | |||
<view class="panel"> | |||
<view class="barcode"> | |||
<view class="barnum">{{code}}</view> | |||
<canvas canvas-id="barcode" /> | |||
</view> | |||
<view class="qrcode"> | |||
<canvas canvas-id="qrcode" /> | |||
</view> | |||
<view class="barnum"><text>兑换码:</text>{{code}}</view> | |||
</view> | |||
<view class="posi"> | |||
<view class="tit"> | |||
适用门店 | |||
</view> | |||
<view class='posi_logo'> | |||
<view> | |||
<image src='{{data.merChantImgUrl}}'></image> | |||
</view> | |||
<view> | |||
<text>{{data.merchantName}}</text> | |||
<text>北京市西城区西单北大街131号</text> | |||
</view> | |||
<image bindtap='phone' class="tel" src="../../../../assets/img/tel.gif" mode="widthFix" /> | |||
</view> | |||
</view> | |||
<view class='note'> | |||
<view><text>下单时间</text><text>{{createDate}}</text></view> | |||
<view><text>订单编号</text><text>{{data.orderId}}</text></view> | |||
<!-- <view><text>手机号</text><text>2018.05.25</text></view> --> | |||
<view><text>实付金额</text><text>{{data.couponPrice/100}}元</text></view> | |||
</view> | |||
<view class='notes' style="border-bottom:0"> | |||
<view> | |||
<text>购买须知</text> | |||
</view> | |||
<view> | |||
<text><text class='spot'></text>有效期2018.01.16 至 2018.09.20</text> | |||
<text><text class='spot'></text>除特价酒水及特价菜外全场通用</text> | |||
<text><text class='spot'></text>无需预约,消费g高峰时可能需要等位</text> | |||
<text><text class='spot'></text>没人最多购买2张</text> | |||
<text><text class='spot'></text>不可使用包间</text> | |||
<text><text class='spot'></text>堂食外带均可,可免费打包</text> | |||
<text><text class='spot'></text>每桌限用2张</text> | |||
</view> | |||
</view> | |||
</view> | |||
</view> |
@@ -1,70 +1,264 @@ | |||
/**index.wxss**/ | |||
page { | |||
background-color: #439057; | |||
} | |||
.page { | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: center; | |||
align-items: center; | |||
} | |||
.container { | |||
padding-bottom: 10rpx; | |||
padding-bottom: 10rpx; | |||
} | |||
.panel { | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: space-between; | |||
align-items: stretch; | |||
box-sizing: border-box; | |||
width: 710rpx; | |||
margin-top: 40rpx; | |||
border-radius: 10rpx; | |||
background-color: #fff; | |||
} | |||
.header { | |||
height: 140rpx; | |||
background-color: #f0f0f0; | |||
border-radius: 10rpx 10rpx 0 0; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: space-between; | |||
align-items: stretch; | |||
box-sizing: border-box; | |||
width: 710rpx; | |||
margin-top: 40rpx; | |||
border-radius: 10rpx; | |||
background-color: #fff; | |||
margin: 30rpx auto 0; | |||
} | |||
.barcode { | |||
display: flex; | |||
height: 320rpx; | |||
flex-direction: column; | |||
justify-content: center; | |||
align-items: center; | |||
display: flex; | |||
height: 100rpx; | |||
flex-direction: column; | |||
justify-content: center; | |||
align-items: center; | |||
} | |||
.barnum { | |||
width: 670rpx; | |||
height: 100rpx; | |||
line-height: 100rpx; | |||
font-size: 38rpx; | |||
font-weight: bold; | |||
text-align: center; | |||
letter-spacing: 10rpx; | |||
white-space: nowrap; | |||
width: 670rpx; | |||
height: 46rpx; | |||
line-height: 46rpx; | |||
font-size: 32rpx; | |||
text-align: center; | |||
letter-spacing: 2rpx; | |||
white-space: nowrap; | |||
color: #999; | |||
} | |||
.barnum text { | |||
color: #333; | |||
} | |||
.barcode > canvas { | |||
width: 680rpx; | |||
height: 200rpx; | |||
width: 680rpx; | |||
height: 100rpx; | |||
} | |||
.qrcode { | |||
height: 420rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-end; | |||
align-items: center; | |||
height: 370rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: flex-end; | |||
align-items: center; | |||
} | |||
.qrcode > canvas { | |||
width: 420rpx; | |||
height: 420rpx; | |||
width: 400rpx; | |||
height: 400rpx; | |||
} | |||
.coupon_detail { | |||
padding: 0 20rpx; | |||
} | |||
.fl { | |||
float: left; | |||
} | |||
.fr { | |||
float: right; | |||
} | |||
.coupon_detail image { | |||
display: block; | |||
width: 260rpx; | |||
height: 100rpx; | |||
border-radius: 16rpx; | |||
} | |||
.coupon_detail .fr { | |||
width: 400rpx; | |||
} | |||
.coupon_detail .title { | |||
font-size: 36rpx; | |||
font-weight: bold; | |||
} | |||
.time { | |||
font-size: 26rpx; | |||
color: #999; | |||
} | |||
.time text { | |||
font-size: 26rpx; | |||
color: red; | |||
} | |||
.money text { | |||
color: red; | |||
font-size: 36rpx; | |||
} | |||
.money del { | |||
color: #999; | |||
font-size: 26rpx; | |||
text-decoration: line-through; | |||
margin-left: 20rpx; | |||
} | |||
.clearfix:after { | |||
content: "."; | |||
display: block; | |||
height: 0; | |||
clear: both; | |||
visibility: hidden; | |||
} | |||
.timevalidity { | |||
margin-top: 20rpx; | |||
text-indent: 20rpx; | |||
} | |||
.timevalidity text:nth-of-type(1) { | |||
color: #333; | |||
font-size: 30rpx; | |||
} | |||
.timevalidity text:nth-of-type(2) { | |||
font-size: 30rpx; | |||
color: red; | |||
} | |||
.posi { | |||
width: 100%; | |||
display: flex; | |||
flex-direction: column; | |||
margin-top: 50rpx; | |||
background: #fff; | |||
border-bottom: 20rpx solid #f5f5f5; | |||
border-top: 20rpx solid #f5f5f5; | |||
} | |||
.posi_logo { | |||
width: 92%; | |||
padding: 30rpx 4%; | |||
display: flex; | |||
position: relative; | |||
} | |||
.posi_logo view:nth-child(1) { | |||
width: 126rpx; | |||
height: 126rpx; | |||
border-radius: 50%; | |||
overflow: hidden; | |||
flex: 2; | |||
} | |||
.posi_logo view:nth-child(1) image { | |||
width: 100%; | |||
height: 100%; | |||
} | |||
.posi_logo view:nth-child(2) { | |||
display: flex; | |||
flex-direction: column; | |||
flex: 8; | |||
padding-top: 20rpx; | |||
padding-left: 30rpx; | |||
} | |||
.posi_logo view:nth-child(2) text:nth-child(1) { | |||
font-size: 30rpx; | |||
} | |||
.posi_logo view:nth-child(2) text:nth-child(2) { | |||
font-size: 24rpx; | |||
color: #b8b8b8; | |||
padding-top: 10rpx; | |||
} | |||
.tit { | |||
font-size: 30rpx; | |||
color: #000; | |||
font-weight: bold; | |||
padding: 24rpx 0 33rpx; | |||
border-bottom: 1px solid #eee; | |||
text-indent: 20rpx; | |||
} | |||
.tel { | |||
position: absolute; | |||
right: 50rpx; | |||
top: 0; | |||
bottom: 0; | |||
margin: auto; | |||
width: 50rpx; | |||
height: 50rpx; | |||
} | |||
.notes { | |||
margin-top: 2%; | |||
border-top: 20rpx solid #f5f5f5; | |||
} | |||
.notes view:nth-child(1) { | |||
width: 92%; | |||
height: 87rpx; | |||
padding: 0 4%; | |||
line-height: 87rpx; | |||
background: #fff; | |||
border-bottom: 1rpx solid #f5f5f5; | |||
} | |||
.notes view:nth-child(1) text { | |||
font-size: 30rpx; | |||
font-weight: bold; | |||
} | |||
.notes view:nth-child(2) { | |||
width: 92%; | |||
height: 400rpx; | |||
padding: 0 4%; | |||
background: #fff; | |||
display: flex; | |||
flex-direction: column; | |||
padding-top: 2%; | |||
} | |||
.notes view:nth-child(2) > text { | |||
font-size: 28rpx; | |||
color: #a9a9a9; | |||
line-height: 56rpx; | |||
} | |||
.note view { | |||
height: 94rpx; | |||
line-height: 94rpx; | |||
border-bottom: 2rpx solid #f9f9f9; | |||
} | |||
.note view text { | |||
display: inline-block; | |||
} | |||
.note text:nth-of-type(1) { | |||
width: 30%; | |||
text-indent: 30rpx; | |||
text-align: left; | |||
font-size: 30rpx; | |||
color: #000; | |||
} | |||
.note text:nth-of-type(2) { | |||
width: 67%; | |||
padding-right: 3%; | |||
text-align: right; | |||
color: #bdbdbd; | |||
font-size: 30rpx; | |||
} | |||
.manjian { | |||
margin-left: 26rpx; | |||
color: #666 !important; | |||
font-size: 26rpx !important; | |||
} |
@@ -1,11 +1,12 @@ | |||
let format = require('../../../utils/util.js') | |||
let config = require('../../../config/config.js') | |||
let app = getApp() | |||
const Http = require("../../../utils/HttpBasics") | |||
let format = require("../../../utils/util.js"); | |||
let config = require("../../../config/config.js"); | |||
let app = getApp(); | |||
const Http = require("../../../utils/HttpBasics"); | |||
//1535126400000 | |||
Page({ | |||
data: { | |||
tabs: [{ | |||
tabs: [ | |||
{ | |||
key: 0, | |||
name: "未使用" | |||
}, | |||
@@ -23,45 +24,61 @@ Page({ | |||
} | |||
], | |||
list: [], | |||
current: '', | |||
current_scroll: '1' | |||
current: "", | |||
current_scroll: "1" | |||
}, | |||
onLoad() { | |||
this.getList(0, 1) | |||
this.getList(0, 1); | |||
}, | |||
//点击跳转到券详情页面 | |||
gotouse: function(e) { | |||
console.log(e.currentTarget.dataset.quancode); | |||
console.log("点击跳转到券详情"); | |||
wx.navigateTo({ | |||
url: `/pages/couponorder/detail/index?quancode=${e.currentTarget.dataset.quancode}`, | |||
success: function(res){ | |||
// success | |||
console.log("点击跳转到券详情页面") | |||
}, | |||
fail: function() { | |||
// fail | |||
}, | |||
complete: function() { | |||
// complete | |||
} | |||
}) | |||
}, | |||
getList(key, pageNum) { | |||
var that = this | |||
var that = this; | |||
Http.get({ | |||
url: config.api.couponOrderList, | |||
data: { | |||
pageNum: pageNum, | |||
pageSize: 10, | |||
orderStatus: key | |||
} | |||
}) | |||
.then(res => { | |||
console.log(res) | |||
res.data.list.map(file => { | |||
file.expiredTime = format.formatTime(file.expiredTime, 'yyyy-MM-dddd hh:mm:ss') | |||
}) | |||
that.setData({ | |||
list: res.data.list | |||
}) | |||
}) | |||
url: config.api.couponOrderList, | |||
data: { | |||
pageNum: pageNum, | |||
pageSize: 10, | |||
orderStatus: key | |||
} | |||
}).then(res => { | |||
console.log(res); | |||
res.data.list.map(file => { | |||
file.expiredTime = format.formatTime( | |||
file.expiredTime, | |||
"yyyy-MM-dddd hh:mm:ss" | |||
); | |||
}); | |||
that.setData({ | |||
list: res.data.list | |||
}); | |||
}); | |||
}, | |||
handleChange({ | |||
detail | |||
}) { | |||
handleChange({ detail }) { | |||
this.setData({ | |||
current: detail.key | |||
}); | |||
}, | |||
handleChangeScroll({ | |||
detail | |||
}) { | |||
this.getList(detail.key) | |||
handleChangeScroll({ detail }) { | |||
this.getList(detail.key); | |||
this.setData({ | |||
current_scroll: detail.key | |||
}); | |||
}, | |||
}) | |||
} | |||
}); |
@@ -1,24 +1,22 @@ | |||
<view class="market"> | |||
<!-- 券包 我的优惠券 --> | |||
<i-tabs class='tabs' current="{{ current_scroll }}" scroll bindchange="handleChangeScroll"> | |||
<i-tab class='i-tab' wx:for="{{tabs}}" wx:key="unique" key="{{item.key}}" title="{{item.name}}"></i-tab> | |||
</i-tabs> | |||
<view class='section' wx:for='{{list}}' wx:key='{{index}}'> | |||
<view class='detail_msg'> | |||
<view class='logo'> | |||
<image src='http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg'></image> | |||
<image src='{{item.coverImg}}'></image> | |||
</view> | |||
<view class='info'> | |||
<view> | |||
<text>{{item.title}}</text> | |||
</view> | |||
<view> | |||
<text>{{item.subTitle}}</text> | |||
</view> | |||
<view> | |||
<text class="txt1">有效期至:</text> | |||
<text class="txt2">{{item.expiredTime}}</text> | |||
</view> | |||
<view class="btns">立即使用</view> | |||
<view class="btns" bindtap="gotouse" data-quancode="{{item.id}}">立即使用</view> | |||
</view> | |||
</view> | |||
</view> |
@@ -17,10 +17,13 @@ | |||
.section { | |||
margin-top: 2%; | |||
} | |||
.section:nth-of-type(1){ | |||
margin-top:30rpx; | |||
} | |||
.detail_msg { | |||
width: 92%; | |||
height: 220rpx !important; | |||
height: 202rpx !important; | |||
background: #fff; | |||
display: flex; | |||
padding: 0 4%; | |||
@@ -51,6 +54,7 @@ | |||
.info view:nth-child(1) text { | |||
font-size: 30rpx; | |||
margin-top: 10rpx; | |||
} | |||
.info view:nth-child(2) { | |||
@@ -60,34 +64,29 @@ | |||
margin-top: 1%; | |||
} | |||
.info view:nth-child(2) text { | |||
font-size: 22rpx; | |||
color: #b8b8b8; | |||
} | |||
.info view:nth-child(3) { | |||
display: flex; | |||
justify-content: space-between; | |||
margin-left: 20rpx; | |||
} | |||
.btns{ | |||
.btns { | |||
width: 200rpx; | |||
height: 60rpx; | |||
line-height: 60rpx; | |||
text-align: center; | |||
background: #00C0FF; | |||
background: #00c0ff; | |||
color: #fff; | |||
float: right; | |||
border-radius:15rpx; | |||
font-size: 30rpx; | |||
border-radius: 15rpx; | |||
font-size: 30rpx; | |||
margin-top: 20rpx; | |||
} | |||
.txt1{ | |||
.txt1 { | |||
font-size: 22rpx; | |||
color: #999; | |||
} | |||
.txt2{ | |||
.txt2 { | |||
font-size: 22rpx; | |||
color: red; | |||
} |
@@ -14,6 +14,7 @@ | |||
} | |||
page { | |||
width: 100%; | |||
height: auto; | |||
overflow-x: hidden; | |||
} | |||
.txt{ | |||
@@ -9,6 +9,7 @@ | |||
letter-spacing: 0.75rpx; | |||
padding-top: 20rpx; | |||
padding-left: 30rpx; | |||
padding-bottom: 30rpx | |||
} | |||
.index-scroll-view { | |||
@@ -1,9 +1,11 @@ | |||
<view class="user"> | |||
<view class="user-title"> | |||
<view class="user-avatar"> | |||
<image src="{{user.avatar}}" /> | |||
<open-data class="open" type="userAvatarUrl"></open-data> | |||
</view> | |||
<view class="user-phone"> | |||
<open-data type="userNickName"></open-data> | |||
</view> | |||
<view class="user-phone">电话</view> | |||
</view> | |||
<view class="margin"></view> | |||
<view class="user-btns"> | |||
@@ -1,83 +1,104 @@ | |||
.margin { | |||
background: #f5f5f5; | |||
height: 20rpx; | |||
background: #f5f5f5; | |||
height: 20rpx; | |||
} | |||
.user{ | |||
background: #f5f5f5; | |||
min-height: 100vh; | |||
.user { | |||
background: #f5f5f5; | |||
min-height: 100vh; | |||
} | |||
.user-title { | |||
height: 186rpx; | |||
padding: 30rpx; | |||
display: flex; | |||
flex-direction: row; | |||
box-sizing: border-box; | |||
background: #FFFFFF; | |||
height: 186rpx; | |||
padding: 30rpx; | |||
display: flex; | |||
flex-direction: row; | |||
box-sizing: border-box; | |||
background: #fff; | |||
} | |||
/* | |||
.user-avatar { | |||
padding-right: 30rpx; | |||
width: 126rpx; | |||
height: 126rpx; | |||
} | |||
padding-right: 30rpx; | |||
width: 126rpx; | |||
height: 126rpx; | |||
border-radius: 16rpx; | |||
overflow: hidden; | |||
border: 1px solid red; | |||
} */ | |||
.user-avatar image { | |||
width: 100%; | |||
height: 100%; | |||
border-radius: 100%; | |||
.user-avatar open-data { | |||
display: block; | |||
width: 100%; | |||
height: 100%; | |||
} | |||
.user-phone { | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
font-family: PingFangSC-Regular; | |||
font-size: 30rpx; | |||
color: #000000; | |||
letter-spacing: 0.64rpx; | |||
font-family: PingFangSC-Regular; | |||
font-size: 30rpx; | |||
height: 120rpx; | |||
line-height: 120rpx; | |||
margin-left: 20rpx; | |||
color: #000; | |||
letter-spacing: 0.64rpx; | |||
} | |||
.user-avatar{ | |||
display: block; | |||
width: 120rpx; | |||
height: 120rpx; | |||
border-radius:16rpx; | |||
overflow: hidden; | |||
} | |||
.user-btns{ | |||
background: #FFFFFF; | |||
.open01 { | |||
display: block; | |||
width: 120rpx; | |||
height: 120rpx; | |||
} | |||
.user-btns { | |||
background: #fff; | |||
} | |||
.user-btns .user-btn { | |||
display: flex; | |||
height: 88rpx; | |||
font-size: 30rpx; | |||
color: #000000; | |||
line-height: 88rpx; | |||
display: flex; | |||
height: 88rpx; | |||
font-size: 30rpx; | |||
color: #000; | |||
line-height: 88rpx; | |||
border-bottom: 1rpx solid #eee; | |||
} | |||
.user-btns .user-btn>view { | |||
flex: 1; | |||
padding: 0 10px 0 32rpx; | |||
.user-btns .user-btn > view { | |||
flex: 1; | |||
padding: 0 10px 0 32rpx; | |||
} | |||
.user-btns .user-btn>view:last-child { | |||
text-align: right; | |||
color: #B8B8B8; | |||
font-size: 24rpx; | |||
.user-btns .user-btn > view:last-child { | |||
text-align: right; | |||
color: #b8b8b8; | |||
font-size: 24rpx; | |||
} | |||
.user-btns .user-btn>view:last-child .iconfont { | |||
color: #A8A8A8; | |||
font-size: 44rpx; | |||
.user-btns .user-btn > view:last-child .iconfont { | |||
color: #a8a8a8; | |||
font-size: 44rpx; | |||
} | |||
.user-out-btn { | |||
background-color: #fff; | |||
height: 88rpx; | |||
line-height: 88rpx; | |||
font-family: PingFangSC-Semibold; | |||
font-size: 30rpx; | |||
color: #000000; | |||
text-align: center; | |||
border-radius:0; | |||
border: none; | |||
background-color: #fff; | |||
height: 88rpx; | |||
line-height: 88rpx; | |||
font-family: PingFangSC-Semibold; | |||
font-size: 30rpx; | |||
color: #000; | |||
text-align: center; | |||
border-radius: 0; | |||
border: none; | |||
} | |||
.user-out-btn.button-hover{ | |||
background-color: rgba(237, 237, 237, 1); | |||
.user-out-btn.button-hover { | |||
background-color: rgba(237, 237, 237, 1); | |||
} | |||
.user-out-btn::after { | |||
opacity: 0; | |||
} | |||
.user-out-btn::after{ | |||
opacity: 0; | |||
} |
@@ -1,5 +1,5 @@ | |||
var barcode = require('./barcode'); | |||
var qrcode = require('./qrcode'); | |||
var barcode = require("./barcode"); | |||
var qrcode = require("./qrcode"); | |||
const formatTime = (date, fmt) => { | |||
try { | |||
@@ -17,28 +17,43 @@ const formatTime = (date, fmt) => { | |||
"m+": date.getMinutes(), //分 | |||
"s+": date.getSeconds(), //秒 | |||
"q+": Math.floor((date.getMonth() + 3) / 3), //季度 | |||
"S": date.getMilliseconds() //毫秒 | |||
S: date.getMilliseconds() //毫秒 | |||
}; | |||
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); | |||
if (/(y+)/.test(fmt)) | |||
fmt = fmt.replace( | |||
RegExp.$1, | |||
(date.getFullYear() + "").substr(4 - RegExp.$1.length) | |||
); | |||
for (var k in o) | |||
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); | |||
if (new RegExp("(" + k + ")").test(fmt)) | |||
fmt = fmt.replace( | |||
RegExp.$1, | |||
RegExp.$1.length == 1 | |||
? o[k] | |||
: ("00" + o[k]).substr(("" + o[k]).length) | |||
); | |||
return fmt; | |||
} catch (error) { | |||
return date; | |||
} | |||
} | |||
}; | |||
const formatNumber = n => { | |||
n = n.toString() | |||
return n[1] ? n : '0' + n | |||
} | |||
n = n.toString(); | |||
return n[1] ? n : "0" + n; | |||
}; | |||
function convert_length(length) { | |||
return Math.round(wx.getSystemInfoSync().windowWidth * length / 750); | |||
return Math.round((wx.getSystemInfoSync().windowWidth * length) / 750); | |||
} | |||
function barc(id, code, width, height) { | |||
barcode.code128(wx.createCanvasContext(id), code, convert_length(width), convert_length(height)) | |||
barcode.code128( | |||
wx.createCanvasContext(id), | |||
code, | |||
convert_length(width), | |||
convert_length(height) | |||
); | |||
} | |||
function qrc(id, code, width, height) { | |||
@@ -46,11 +61,24 @@ function qrc(id, code, width, height) { | |||
ctx: wx.createCanvasContext(id), | |||
width: convert_length(width), | |||
height: convert_length(height) | |||
}) | |||
}); | |||
} | |||
function fmtDate(obj) { | |||
var date = new Date(obj); | |||
var y = 1900 + date.getYear(); | |||
var m = "0" + (date.getMonth() + 1); | |||
var d = "0" + date.getDate(); | |||
return ( | |||
y + | |||
"-" + | |||
m.substring(m.length - 2, m.length) + | |||
"-" + | |||
d.substring(d.length - 2, d.length) | |||
); | |||
} | |||
module.exports = { | |||
formatTime: formatTime, | |||
barcode: barc, | |||
qrcode: qrc | |||
} | |||
qrcode: qrc, | |||
fmtDate: fmtDate | |||
}; |