@@ -96,6 +96,7 @@ App({ | |||
} | |||
}, | |||
requestGet: function(url, data, callBack) { | |||
var that=this; | |||
wx.request({ | |||
url: this.globalData.apiUrl + url, //仅为示例,并非真实的接口地址 | |||
data: data, | |||
@@ -105,11 +106,19 @@ App({ | |||
'content-type': 'application/json' // 默认值 | |||
}, | |||
success(res) { | |||
callBack(res.data) | |||
if(res.data.code==-1003){ | |||
that.globalData.userState=0; | |||
wx.navigateTo({ | |||
url: '/pages/login/login' | |||
}) | |||
}else{ | |||
callBack(res.data) | |||
} | |||
} | |||
}) | |||
}, | |||
requestPost: function(url, data, callBack) { | |||
var that=this; | |||
wx.request({ | |||
url: this.globalData.apiUrl + url, //仅为示例,并非真实的接口地址 | |||
data: data, | |||
@@ -120,7 +129,14 @@ App({ | |||
}, | |||
method: "POST", | |||
success(res) { | |||
callBack(res.data) | |||
if(res.data.code==-1003){ | |||
that.globalData.userState=0; | |||
wx.navigateTo({ | |||
url: '/pages/login/login' | |||
}) | |||
}else{ | |||
callBack(res.data) | |||
} | |||
} | |||
}) | |||
}, |
@@ -4,7 +4,9 @@ | |||
"pages/store/store", | |||
"pages/coupon/coupon", | |||
"pages/record/record", | |||
"pages/home/home" | |||
"pages/home/home", | |||
"pages/personal/personal", | |||
"pages/member/member" | |||
], | |||
"permission": { | |||
"scope.userLocation": { | |||
@@ -25,7 +27,7 @@ | |||
"list": [ | |||
{ | |||
"pagePath": "pages/home/home", | |||
"text": "核销大厅", | |||
"text": "首页", | |||
"iconPath": "static/tabBar/home0.png", | |||
"selectedIconPath": "static/tabBar/home1.png" | |||
}, | |||
@@ -36,10 +38,10 @@ | |||
"selectedIconPath": "static/tabBar/store1.png" | |||
}, | |||
{ | |||
"pagePath": "pages/record/record", | |||
"text": "核销记录", | |||
"iconPath": "static/tabBar/record0.png", | |||
"selectedIconPath": "static/tabBar/record1.png" | |||
"pagePath": "pages/personal/personal", | |||
"text": "我的", | |||
"iconPath": "static/tabBar/personal0.png", | |||
"selectedIconPath": "static/tabBar/personal1.png" | |||
} | |||
] | |||
}, |
@@ -6,111 +6,74 @@ Page({ | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
type: 2, //1券码核销 2手机号核销 | |||
user_phone: '', //手机号 | |||
state: 0, //0核销未完成 1核销中 2核销已完成 | |||
headImgUrl:'',//头图 | |||
totalNums: 1, //总数量 | |||
nums: 1, //核销数量 | |||
coupon_name: '', //优惠券名称 | |||
couponTime: '', //优惠券购买时间 | |||
code_num: '', //核销短信验证码 | |||
couponCode: '', //券号 | |||
duration: '', //券期间 | |||
type_name:'',//券类型 | |||
couponType:1,//1代金券 2菜品券 | |||
coupon_img_large:'',//优惠券图片 | |||
coupon_name_detail:'',//券名称 | |||
coupon_memo:'',//券描述 | |||
totalNums: 0, //总数量 | |||
nums: 0, //核销数量 | |||
writeOffing:false, | |||
original_price:100,//抵消金额 | |||
}, | |||
user_id:null, | |||
coupon_sell_id:null, | |||
/** | |||
* 核销数修改 | |||
*/ | |||
changeNums(event) { | |||
this.setData({ | |||
nums: parseInt(event.detail.value) | |||
}) | |||
}, | |||
/** | |||
* 验证码修改 | |||
*/ | |||
changeCode(event) { | |||
changeNums(e) { | |||
var value=e.detail.value; | |||
var str=parseInt(value); | |||
if(str>this.data.totalNums){ | |||
str=this.data.totalNums | |||
} | |||
this.setData({ | |||
code_num: event.detail.value | |||
nums: str?str:0 | |||
}) | |||
}, | |||
/** | |||
* 核销 | |||
*/ | |||
writeOff: function() { | |||
if (this.data.state == 1) { | |||
return | |||
} | |||
if (this.data.nums>this.data.totalNums){ | |||
wx.showToast({ | |||
title: '券剩余数量不足', | |||
icon: 'none', | |||
duration: 2000 | |||
}) | |||
return | |||
if(!this.data.writeOffing){ | |||
this.setData({ | |||
writeOffing:true | |||
}) | |||
var data={ | |||
user_id:this.user_id, | |||
coupon_sell_id:this.coupon_sell_id, | |||
check_num:this.data.nums | |||
} | |||
var data; | |||
if (this.data.type == 1) { //券核销 | |||
data = { | |||
check_type: 1, | |||
coupon_code: this.data.couponCode, | |||
check_num: 1 | |||
} | |||
} else { //手机号核销 | |||
if (this.data.code_num.length != 6) { | |||
app.requestPost('admin/buy/check',data,res=>{ | |||
if(res.code==200){ | |||
wx.showToast({ | |||
title: '验证码错误', | |||
icon: 'none', | |||
title: '核销成功', | |||
icon: 'success', | |||
duration: 2000 | |||
}) | |||
return | |||
} | |||
data = { | |||
check_type: 2, | |||
user_phone: this.data.user_phone, | |||
code_num: this.data.code_num, | |||
coupon_code: '', | |||
check_num: this.data.nums | |||
} | |||
} | |||
data.coupon_sell_id = app.globalData.couponData.coupon_sell_id; | |||
console.log(data); | |||
this.setData({ | |||
state: 1 | |||
}) | |||
var that = this; | |||
app.requestPost('couponbuy/check', data, res => { | |||
var state; | |||
if (res.code == 200) { | |||
state = 2; | |||
if (that.data.type == 2) { //手机号核销 | |||
this.setData({ | |||
totalNums: this.data.totalNums-this.data.nums | |||
}) | |||
} | |||
} else { | |||
state = 0; | |||
this.getCouponDetails(); | |||
// this.setData({ | |||
// writeOffing:false, | |||
// totalNums:this.data.totalNums-this.data.nums, | |||
// nums:0 | |||
// }) | |||
}else{ | |||
wx.showToast({ | |||
title: res.message, | |||
icon: 'none', | |||
duration: 2000 | |||
}) | |||
this.setData({ | |||
writeOffing:false | |||
}) | |||
} | |||
that.setData({ | |||
state: state | |||
}) | |||
}) | |||
} | |||
}, | |||
/** | |||
* 添加优惠券 | |||
*/ | |||
addCoupon() { | |||
if (isNaN(this.data.nums)) { | |||
this.setData({ | |||
nums: 1 | |||
}) | |||
}else if (this.data.nums + 1 <= this.data.totalNums) { | |||
if (this.data.nums + 1 <= this.data.totalNums) { | |||
this.setData({ | |||
nums: this.data.nums + 1 | |||
}) | |||
@@ -120,23 +83,12 @@ Page({ | |||
* 减少优惠券 | |||
*/ | |||
reduceCoupon() { | |||
if (isNaN(this.data.nums)){ | |||
this.setData({ | |||
nums: 1 | |||
}) | |||
}else if (this.data.nums - 1 > 0) { | |||
if (this.data.nums - 1 > 0) { | |||
this.setData({ | |||
nums: this.data.nums - 1 | |||
}) | |||
} | |||
}, | |||
blueNums(){ | |||
if (isNaN(this.data.nums)) { | |||
this.setData({ | |||
nums: 1 | |||
}) | |||
} | |||
}, | |||
/** | |||
* 返回核销大厅 | |||
*/ | |||
@@ -151,46 +103,26 @@ Page({ | |||
*/ | |||
onLoad: function(options) { | |||
wx.hideShareMenu(); | |||
var code = options.code; | |||
var pohone = options.phone; | |||
var couponData = app.globalData.couponData; | |||
if (code) { //券码查询 | |||
this.setData({ | |||
type: 1, | |||
couponCode: code, | |||
coupon_name: couponData.coupon_name, | |||
type_name: couponData.type_name, | |||
couponTime: couponData.buy_date, | |||
duration: couponData.duration, | |||
headImgUrl: couponData.coupon_img_large | |||
}) | |||
} | |||
if (pohone) { //手机号查询 | |||
this.setData({ | |||
type: 2, | |||
user_phone: pohone, | |||
totalNums: couponData.num, | |||
coupon_name: couponData.coupon_name, | |||
type_name: couponData.type_name, | |||
couponTime: couponData.buy_date, | |||
duration: couponData.duration, | |||
headImgUrl: couponData.coupon_img_large | |||
}) | |||
/** | |||
* 发送验证码 | |||
*/ | |||
app.requestGet('couponbuy/check/smscode', { | |||
user_phone: pohone | |||
}, res => { | |||
if (res.code == 200) {} else { | |||
wx.showToast({ | |||
title: res.message, | |||
icon: 'none', | |||
duration: 2000 | |||
}) | |||
} | |||
}) | |||
} | |||
this.user_id=options.user_id; | |||
this.coupon_sell_id=options.coupon_sell_id; | |||
this.getCouponDetails(); | |||
}, | |||
getCouponDetails(){ | |||
app.requestGet('admin/buy/detail',{user_id:this.user_id,coupon_sell_id:this.coupon_sell_id},res=>{ | |||
if(res.code==200){ | |||
var {coupon_img_large,coupon_name_detail,coupon_memo,num,item_type:couponType,original_price}=res.data; | |||
this.setData({ | |||
couponType, | |||
coupon_img_large, | |||
coupon_name_detail, | |||
coupon_memo, | |||
totalNums:num, | |||
writeOffing:false, | |||
original_price:parseInt(original_price) | |||
}) | |||
app.globalData.couponToken = res.token; | |||
} | |||
}) | |||
}, | |||
/** |
@@ -1,56 +1,23 @@ | |||
<!--pages/coupon/coupon.wxml--> | |||
<view class="container" style="background-color:#f6f6f6;"> | |||
<image class="couponImg" src="{{headImgUrl}}" mode='aspectFill'></image> | |||
<image class="couponImg" src="{{coupon_img_large}}" mode='aspectFill'></image> | |||
<view class="detailsBox shadow"> | |||
<image class="bottomBg" src="../../static/coupon/bottomBg1.png"></image> | |||
<image class="decorate" src="../../static/coupon/01.png"></image> | |||
<view class="detailsInfo"> | |||
<text class="txt1">{{coupon_name+type_name}}</text> | |||
<text class="txt2">购买时间:{{couponTime}}</text> | |||
<text class="txt1" wx:if="{{couponType==1}}">{{original_price+'元代金券'}}</text> | |||
<text class="txt1" wx:else>{{coupon_name_detail}}</text> | |||
<text class="txt2">{{coupon_memo}}</text> | |||
</view> | |||
<view class="detailsRight" wx:if="{{type==2}}"><image class="txt" src="../../static/coupon/txt.png"></image>{{totalNums}}<text class="company">张</text> | |||
<view class="detailsRight"><image class="txt" src="../../static/coupon/txt.png"></image>{{totalNums}}<text class="company">张</text> | |||
</view> | |||
<image class="logo" src="../../static/coupon/logo.png" wx:if="{{type==1}}"></image> | |||
</view> | |||
<view class="middleContent shadow"> | |||
<view id="couponCheck" class="relative clearfix" wx:if="{{type==1&&state!=2}}"> | |||
<image class="couponIcon" src="../../static/coupon/couponIcon.png"></image> | |||
<text class="number">券码:{{couponCode}}</text> | |||
<view class="txt">此券有效</view> | |||
</view> | |||
<view id="couponDetails" class="relative clearfix" wx:if="{{state==2}}"> | |||
<view class="title">核销详情</view> | |||
<view class="detailsItem"> | |||
<view class="sign"></view> | |||
<text class="itemTitle" wx:if="{{type==1}}">券码</text> | |||
<text class="itemTitle" wx:else>数量</text> | |||
<text class="itemContent" wx:if="{{type==1}}">{{couponCode}}</text> | |||
<text class="itemContent" wx:else>{{nums}}</text> | |||
</view> | |||
<view class="detailsItem"> | |||
<view class="sign"></view> | |||
<text class="itemTitle">类型</text> | |||
<text class="itemContent">{{coupon_name+type_name}}</text> | |||
</view> | |||
<view class="detailsItem"> | |||
<view class="sign"></view> | |||
<text class="itemTitle">时间</text> | |||
<text class="itemContent">{{duration}}</text> | |||
</view> | |||
<view class="state">核销成功</view> | |||
</view> | |||
<view id="vCodeBox" wx:if="{{type==2&&state!=2}}"> | |||
<input placeholder="输入短信验证码" placeholder-style="color:#FFFFFF;font-size:30rpx;" value="{{code_num}}" bindinput="changeCode"></input> | |||
<view class="countBox"> | |||
<text>核销</text> | |||
<view class="countContent"> | |||
<input type="number" value="{{nums}}" bindinput="changeNums" bindblur='blueNums'></input> | |||
<image class="symbolBox" src="../../static/coupon/symbolLeft.png" style="left:-5rpx;" bindtap="reduceCoupon"></image> | |||
<image class="symbolBox" src="../../static/coupon/symbolRight.png" style="right:-5rpx;" bindtap="addCoupon"></image> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="writeOffBox">核销 | |||
<view class="writeOffNumsBox"> | |||
<input class="couponsInput" type="number" value="{{nums}}" bindinput="changeNums" /> | |||
<image class="operation" style="left:0;" src="../../static/coupon/symbolLeft.png" catchtap="reduceCoupon"></image> | |||
<image class="operation" style="right:0;" src="../../static/coupon/symbolRight.png" catchtap="addCoupon"></image> | |||
</view> | |||
</view> | |||
<button class="btn shadow {{state==1?'select':''}}" bindtap="writeOff" wx:if="{{state!=2}}">核销</button> | |||
<button class="btn shadow" bindtap="goHome" wx:else>确定</button> | |||
<button class="btn shadow {{writeOffing||totalNums==0?'select':''}}" bindtap="writeOff">核销</button> | |||
</view> |
@@ -77,7 +77,8 @@ | |||
font-size: 100rpx; | |||
font-weight: 550; | |||
} | |||
.detailsBox>.detailsRight>.txt{ | |||
.detailsBox>.detailsRight>.txt { | |||
display: inline-block; | |||
width: 34rpx; | |||
height: 70rpx; | |||
@@ -90,89 +91,47 @@ | |||
margin-left: 5rpx; | |||
} | |||
.detailsBox>.logo { | |||
position: absolute; | |||
right: 52rpx; | |||
top: 40rpx; | |||
width: 155rpx; | |||
height: 110rpx; | |||
} | |||
.middleContent { | |||
width: 750rpx; | |||
background-color: #fff; | |||
border-radius: 30rpx; | |||
margin-top: 20rpx; | |||
padding: 50rpx 0; | |||
} | |||
#couponCheck>.couponIcon { | |||
width: 513rpx; | |||
height: 200rpx; | |||
margin: 0 auto; | |||
} | |||
#couponCheck>.number { | |||
.writeOffBox { | |||
position: relative; | |||
color: #666666; | |||
font-size: 24rpx; | |||
font-weight: 700; | |||
margin-left: 128rpx; | |||
} | |||
#couponCheck>.txt { | |||
width: 100%; | |||
text-align: center; | |||
height: 120rpx; | |||
line-height: 120rpx; | |||
box-sizing: border-box; | |||
padding: 0 30rpx; | |||
color: #333333; | |||
font-size: 40rpx; | |||
font-weight: 550; | |||
margin-top: 20rpx; | |||
} | |||
#couponDetails>.title { | |||
color: #333; | |||
width: 100%; | |||
text-align: center; | |||
font-size: 30rpx; | |||
font-weight: 550; | |||
} | |||
#couponDetails>.detailsItem { | |||
height: 58rpx; | |||
line-height: 58rpx; | |||
padding-left: 32rpx; | |||
} | |||
#couponDetails>.detailsItem>.sign { | |||
width: 20rpx; | |||
height: 20rpx; | |||
border-radius: 50%; | |||
background-color: #eb6100; | |||
display: inline-block; | |||
font-size: 26rpx; | |||
margin-top: 24rpx; | |||
background-color: #ffffff; | |||
border-radius: 30rpx; | |||
font-weight: 600; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
} | |||
#couponDetails>.detailsItem>.itemTitle { | |||
color: #333; | |||
font-size: 26rpx; | |||
font-weight: 500; | |||
padding-left: 17rpx; | |||
.writeOffBox>.writeOffNumsBox { | |||
position: relative; | |||
width: 150rpx; | |||
height: 44rpx; | |||
background-color: #FAFAFA; | |||
} | |||
#couponDetails>.detailsItem>.itemContent { | |||
color: #666; | |||
font-size: 22rpx; | |||
font-weight: 400; | |||
padding-left: 41rpx; | |||
.writeOffNumsBox>.operation { | |||
position: absolute; | |||
display: block; | |||
bottom: 0; | |||
width: 44rpx; | |||
height: 44rpx; | |||
} | |||
#couponDetails>.state { | |||
.couponsInput { | |||
position: absolute; | |||
width: calc(100% - 88rpx); | |||
height: 44rpx; | |||
line-height: 44rpx; | |||
bottom: 0; | |||
left: 44rpx; | |||
text-align: center; | |||
height: 38rpx; | |||
line-height: 38rpx; | |||
color: #eb6100; | |||
font-size: 40rpx; | |||
font-weight: 500; | |||
margin-top: 49rpx; | |||
} | |||
.btn { | |||
@@ -185,54 +144,7 @@ | |||
font-size: 36rpx; | |||
background: linear-gradient(-72deg, rgba(235, 97, 0, 1), rgba(255, 137, 42, 1)); | |||
} | |||
.btn.select{ | |||
background: #cccccc; | |||
} | |||
#vCodeBox>input { | |||
width: 600rpx; | |||
height: 98rpx; | |||
background-color: rgba(0, 0, 0, 0.28); | |||
margin: 0 auto; | |||
border-radius: 49rpx; | |||
padding: 0 41rpx; | |||
box-sizing: border-box; | |||
} | |||
#vCodeBox>.countBox { | |||
margin-top: 40rpx; | |||
height: 44rpx; | |||
font-size: 26rpx; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
} | |||
#vCodeBox>.countBox>.countContent { | |||
position: relative; | |||
text-align: center; | |||
height: 100%; | |||
line-height: 44rpx; | |||
width: 200rpx; | |||
padding: 0 44rpx; | |||
box-sizing: border-box; | |||
background-color: #eee; | |||
border: 2px solid rgba(238, 238, 238, 1); | |||
border-radius: 6px; | |||
display: inline-block; | |||
margin-left: 25rpx; | |||
} | |||
#vCodeBox>.countBox>.countContent>input{ | |||
position: relative; | |||
width: 100%; | |||
height: 100%; | |||
text-align: center; | |||
line-height: 44rpx; | |||
} | |||
#vCodeBox>.countBox>.countContent>.symbolBox{ | |||
position: absolute; | |||
text-align: center; | |||
width: 44rpx; | |||
height: 44rpx; | |||
top: -5rpx; | |||
} | |||
.btn.select { | |||
background: #cccccc; | |||
} |
@@ -29,23 +29,19 @@ Page({ | |||
this.setData({ | |||
isQuerying: true | |||
}) | |||
this.query(data); | |||
this.query({user_phone:data.phone}); | |||
} | |||
}, | |||
query(data) { | |||
app.requestGet('couponbuy/searchbyphone', { | |||
user_phone: data.phone | |||
}, res => { | |||
app.requestGet('admin/buy/userid',data,res=>{ | |||
this.setData({ | |||
isQuerying: false | |||
}) | |||
if (res.code == 200) { | |||
app.globalData.couponData = res.data[0]; | |||
app.globalData.couponToken = res.token; | |||
if(res.code==200){ | |||
wx.navigateTo({ | |||
url: '../coupon/coupon?phone=' + data.phone | |||
url: '../member/member?id=' + res.data.user_id | |||
}) | |||
} else { | |||
}else{ | |||
wx.showToast({ | |||
title: res.message, | |||
icon: 'none', | |||
@@ -58,27 +54,12 @@ Page({ | |||
* 扫码 | |||
*/ | |||
scanCode() { | |||
var that=this; | |||
wx.scanCode({ | |||
onlyFromCamera: true, | |||
success(res) { | |||
var result = res.result; | |||
app.requestGet('couponbuy/searchbycouponcode', { | |||
coupon_code: result | |||
}, res => { | |||
if (res.code == 200) { | |||
app.globalData.couponData = res.data; | |||
app.globalData.couponToken = res.token; | |||
wx.navigateTo({ | |||
url: '../coupon/coupon?code=' + result | |||
}) | |||
} else { | |||
wx.showToast({ | |||
title: res.message, | |||
icon: 'none', | |||
duration: 2000 | |||
}) | |||
} | |||
}) | |||
var id = res.result; | |||
that.query({ user_code: id }); | |||
} | |||
}) | |||
}, |
@@ -33,7 +33,7 @@ | |||
position: absolute; | |||
width: 33rpx; | |||
height: 12rpx; | |||
top: -11rpx; | |||
top: -10rpx; | |||
left: 140rpx; | |||
} | |||
@@ -0,0 +1,288 @@ | |||
// pages/member/member.js | |||
const app = getApp() | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
userInfo: { | |||
avatarUrl: '', | |||
nickName: '', | |||
phone: '', | |||
memberNo: 1, | |||
integral: 0, | |||
level_name:'', | |||
level_cash:0, | |||
level_point:0, | |||
base_exchange:1 | |||
}, | |||
memberLe: ['一', '二', '三', '四', '五', '六','七','八','九','十'], | |||
type:1, | |||
couponList:[], | |||
showCoupon:true, | |||
integralType:1,//1核销积分 2赠送积分 | |||
integralNums:0, | |||
writeOffAmount:0,//核销金额 | |||
multipleList:[1,10,50,300,500], | |||
submiting:false | |||
}, | |||
user_id:null, | |||
/** | |||
* 获取用户信息 | |||
*/ | |||
getUserInfo() { | |||
var that = this; | |||
app.requestGet('admin/buy/userinfo', { | |||
user_id: this.user_id | |||
}, res => { | |||
if (res.code == 200) { | |||
var { | |||
headimgurl, | |||
nickname, | |||
user_phone, | |||
user_level, | |||
user_point_all, | |||
user_point_use, | |||
level_name, | |||
level_cash, | |||
level_point, | |||
base_exchange | |||
} = res.data; | |||
var userInfo = { | |||
avatarUrl: headimgurl, | |||
nickName: nickname, | |||
phone: that.handlePhone(user_phone), | |||
memberNo: user_level, | |||
integral: user_point_all - user_point_use, | |||
level_name, | |||
level_cash, | |||
level_point, | |||
base_exchange | |||
} | |||
this.setData({ | |||
userInfo: userInfo | |||
}) | |||
} else { | |||
wx.showToast({ | |||
title: res.message, | |||
icon: 'none', | |||
duration: 2000 | |||
}) | |||
} | |||
}) | |||
}, | |||
/** | |||
* 手机号隐藏处理 | |||
*/ | |||
handlePhone(phone) { | |||
var str = phone + ''; | |||
return str.slice(0, 3) + '****' + str.slice(-4) | |||
}, | |||
/** | |||
* 切换券类型 | |||
*/ | |||
changeType(e){ | |||
var type = parseInt(e.currentTarget.dataset.type); | |||
if(type!=this.data.type){ | |||
this.setData({ | |||
type: type, | |||
couponList:[] | |||
}) | |||
this.getCouponList(); | |||
} | |||
}, | |||
/** | |||
* 获取核销用户券列表 | |||
*/ | |||
getCouponList(){ | |||
app.requestGet('admin/buy/pendinglist', { user_id:this.user_id, item_type:this.data.type},res=>{ | |||
if(res.code==200){ | |||
this.setData({ | |||
couponList: res.data | |||
}) | |||
}else{ | |||
wx.showToast({ | |||
title: res.message, | |||
icon: 'none', | |||
duration: 2000 | |||
}) | |||
} | |||
}) | |||
}, | |||
/** | |||
* 核销 | |||
*/ | |||
writeOff(e){ | |||
var index=e.currentTarget.dataset.index; | |||
var couponId=this.data.couponList[index].coupon_sell_id; | |||
wx.navigateTo({ | |||
url: '../coupon/coupon?user_id=' + this.user_id+'&coupon_sell_id='+couponId | |||
}) | |||
}, | |||
/** | |||
* 核销或赠送积分 | |||
*/ | |||
changeIntegral(e){ | |||
var type = parseInt(e.currentTarget.dataset.code); | |||
this.setData({ | |||
integralType:type, | |||
showCoupon:false, | |||
integralNums:0, | |||
writeOffAmount:0, | |||
submiting:false | |||
}) | |||
}, | |||
/** | |||
* 修改核销或赠送积分 | |||
*/ | |||
changeIntergral(e){ | |||
var value=e.detail.value; | |||
var str=value.replace(/[^\d]/g,''); | |||
var writeOffAmount=0; | |||
if(this.data.integralType==1){//核销积分 | |||
writeOffAmount=Math.floor(str/this.data.userInfo.base_exchange) | |||
} | |||
this.setData({ | |||
integralNums: str?parseInt(str):0, | |||
writeOffAmount | |||
}) | |||
}, | |||
/** | |||
* 关闭积分页 | |||
*/ | |||
closeIntegral(){ | |||
this.setData({ | |||
showCoupon:true | |||
}) | |||
}, | |||
/** | |||
* 核销或赠送积分 | |||
*/ | |||
confirmIntegral(){ | |||
if(this.data.submiting){ | |||
return | |||
}else{ | |||
var that=this; | |||
wx.showModal({ | |||
title: '提示', | |||
content: that.data.integralType==1?'确认核销积分':'确认赠送积分', | |||
success (res) { | |||
if (res.confirm) { | |||
that.integralRequest() | |||
} | |||
} | |||
}) | |||
} | |||
}, | |||
/** | |||
* 积分请求 | |||
*/ | |||
integralRequest(){ | |||
var that=this; | |||
this.setData({ | |||
submiting:true | |||
}) | |||
var integral=this.data.integralNums; | |||
var type=this.data.integralType==1; | |||
var data,url; | |||
if(type==1){//核销积分 | |||
data={ | |||
user_id:this.user_id, | |||
point_check:integral, | |||
cash_exchange:this.data.writeOffAmount | |||
} | |||
url='admin/point/check'; | |||
}else{//赠送积分 | |||
data={ | |||
user_id:this.user_id, | |||
point_add:integral | |||
} | |||
url="admin/point/add"; | |||
} | |||
app.requestPost(url,data,res=>{ | |||
if(res.code==200){ | |||
that.getUserInfo(); | |||
wx.showToast({ | |||
title: type==1?'积分核销成功':'积分赠送成功', | |||
icon: 'success', | |||
duration: 2000 | |||
}) | |||
}else{ | |||
wx.showToast({ | |||
title: res.message, | |||
icon: 'none', | |||
duration: 2000 | |||
}) | |||
} | |||
this.setData({ | |||
submiting:false | |||
}) | |||
}) | |||
}, | |||
/** | |||
* 快速选择积分 | |||
*/ | |||
choiceIntegral(e){ | |||
var value=e.currentTarget.dataset.value; | |||
this.setData({ | |||
integralNums:value | |||
}) | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad: function(options) { | |||
this.user_id = options.id; | |||
this.getUserInfo(); | |||
}, | |||
/** | |||
* 生命周期函数--监听页面初次渲染完成 | |||
*/ | |||
onReady: function() { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow: function() { | |||
this.getCouponList(); | |||
}, | |||
/** | |||
* 生命周期函数--监听页面隐藏 | |||
*/ | |||
onHide: function() { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面卸载 | |||
*/ | |||
onUnload: function() { | |||
}, | |||
/** | |||
* 页面相关事件处理函数--监听用户下拉动作 | |||
*/ | |||
onPullDownRefresh: function() { | |||
}, | |||
/** | |||
* 页面上拉触底事件的处理函数 | |||
*/ | |||
onReachBottom: function() { | |||
}, | |||
/** | |||
* 用户点击右上角分享 | |||
*/ | |||
onShareAppMessage: function() { | |||
} | |||
}) |
@@ -0,0 +1,5 @@ | |||
{ | |||
"usingComponents": {}, | |||
"navigationBarTitleText": "核销中心", | |||
"disableScroll": true | |||
} |
@@ -0,0 +1,71 @@ | |||
<!--pages/member/member.wxml--> | |||
<view class="container"> | |||
<image class="bg" src="../../static/personal/bg.jpg"></image> | |||
<view class="userContainer"> | |||
<view class="headBox"> | |||
<image src="{{userInfo.avatarUrl}}" mode="aspectFill"></image> | |||
</view> | |||
<view class="userName">{{userInfo.nickName}}</view> | |||
<view class="userPhone">{{userInfo.phone}}</view> | |||
<view class="crown"> | |||
<image style="width:100%;height:100%" src="../../static/member/crown.png"></image> | |||
<view class="memberNo">{{userInfo.memberNo}}</view> | |||
</view> | |||
<text class="memberName">{{userInfo.level_name}}会员</text> | |||
<text class="memberLe">积分级别:{{memberLe[userInfo.memberNo-1]}}级</text> | |||
<text class="ratio">{{userInfo.level_cash+'元='+userInfo.level_point}}积分</text> | |||
</view> | |||
<view class="infoContainer"> | |||
<view class="integralBox"> | |||
<image style="width:100%;height:100%" src="../../static/member/integralBg.png"></image> | |||
<image class="icon" src="../../static/member/iconIntegral.png"></image> | |||
<text class="integral">{{userInfo.integral}}</text> | |||
</view> | |||
<view class="couponContainer" wx:if="{{showCoupon}}"> | |||
<view class="typeBox"> | |||
<view class="item {{type==1?'select':''}}" style="margin-right:50rpx;" data-type="1" bindtap="changeType">代金券</view> | |||
<view class="item {{type==2?'select':''}}" style="margin-left:50rpx;" data-type="2" bindtap="changeType">菜品券</view> | |||
</view> | |||
<scroll-view scroll-y="true" class="couponList"> | |||
<view class="couponBox" wx:for="{{couponList}}" wx:key="id"> | |||
<image class="couponBgImg" src="../../static/member/couponBg.png"></image> | |||
<view class="couponImgBox"> | |||
<image src="{{item.coupon_img_small}}"></image> | |||
</view> | |||
<view class="couponInfoBox"> | |||
<text class="couponTitle">{{'【'+(item.item_type==1?'代金券':'菜品券')+'】'+' '+item.coupon_name_detail}}</text> | |||
<text class="couponMemo">{{item.coupon_memo}}</text> | |||
<view class="couponNums">共计:{{item.num}}张</view> | |||
<view class="btnWriteOff" data-index="{{index}}" bindtap="writeOff">核销</view> | |||
</view> | |||
</view> | |||
</scroll-view> | |||
<view class="btnBox"> | |||
<view class="btnItemBox" data-code="1" bindtap="changeIntegral">核销积分</view> | |||
<view class="btnItemBox btnItemBoxRight" data-code="2" bindtap="changeIntegral">赠送积分</view> | |||
</view> | |||
</view> | |||
<view class="integralContainer" wx:else> | |||
<view class="intergralTitleBox"> | |||
<view class="line"></view> | |||
<text class="title">{{integralType==1?'核销积分':'赠送积分'}}</text> | |||
<view class="line"></view> | |||
</view> | |||
<input class="intergralInput" type="number" value="{{integralNums}}" bindinput="changeIntergral" /> | |||
<view wx:if="{{integralType==1}}" class="writeOffAmount"> | |||
抵消金额:<text style="color:#EB6100;padding:0 20rpx;">{{writeOffAmount}}</text>元 | |||
</view> | |||
<view wx:if="{{integralType==2}}" class="giveChoice">快速选择: | |||
<view wx:key="item" class="item" wx:for="{{5}}" data-value="{{multipleList[item]}}" bindtap="choiceIntegral">{{multipleList[item]}}</view> | |||
</view> | |||
<view wx:if="{{integralType==2}}" class="integraLe"> | |||
<text style="margin-right:15rpx;">积分级别:{{memberLe[userInfo.memberNo-1]}}级</text> | |||
<text style="margin-left:15rpx;">{{userInfo.level_cash+'元='+userInfo.level_point}}积分</text> | |||
</view> | |||
<view class="btnBox"> | |||
<view class="btnItemBox" bindtap="closeIntegral">取消</view> | |||
<view class="btnItemBox btnItemBoxRight" bindtap="confirmIntegral">确定</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> |
@@ -0,0 +1,375 @@ | |||
/* pages/member/member.wxss */ | |||
.bg { | |||
width: 750rpx; | |||
height: 632rpx; | |||
} | |||
.userContainer { | |||
position: absolute; | |||
width: 100%; | |||
height: 346rpx; | |||
left: 0; | |||
top: 0; | |||
color: #fff; | |||
} | |||
.headBox { | |||
position: absolute; | |||
width: 144rpx; | |||
height: 144rpx; | |||
top: 93rpx; | |||
left: 33rpx; | |||
background-color: #fff; | |||
border-radius: 50%; | |||
box-sizing: border-box; | |||
padding: 7rpx; | |||
overflow: hidden; | |||
} | |||
.headBox>image { | |||
width: 100%; | |||
height: 100%; | |||
border-radius: 50%; | |||
} | |||
.userContainer>.userName { | |||
position: absolute; | |||
font-size: 40rpx; | |||
left: 194rpx; | |||
top: 125rpx; | |||
} | |||
.userContainer>.userPhone { | |||
position: absolute; | |||
font-size: 30rpx; | |||
left: 194rpx; | |||
top: 179rpx; | |||
} | |||
.userContainer>.crown { | |||
position: absolute; | |||
width: 46rpx; | |||
height: 36rpx; | |||
left: 32rpx; | |||
bottom: 0; | |||
} | |||
.crown>.memberNo { | |||
position: absolute; | |||
font-size: 20rpx; | |||
left: 0; | |||
bottom: 0; | |||
width: 100%; | |||
height: 76%; | |||
text-align: center; | |||
} | |||
.userContainer>.memberName { | |||
position: absolute; | |||
left: 96rpx; | |||
bottom: 0; | |||
height: 36rpx; | |||
line-height: 36rpx; | |||
font-size: 30rpx; | |||
} | |||
.userContainer>.memberLe { | |||
position: absolute; | |||
left: 309rpx; | |||
bottom: 0; | |||
height: 36rpx; | |||
line-height: 36rpx; | |||
font-size: 30rpx; | |||
} | |||
.userContainer>.ratio { | |||
position: absolute; | |||
left: 546rpx; | |||
bottom: 0; | |||
height: 36rpx; | |||
line-height: 36rpx; | |||
font-size: 30rpx; | |||
} | |||
.infoContainer { | |||
position: absolute; | |||
width: 100%; | |||
height: calc(100vh - 475rpx); | |||
left: 0; | |||
bottom: 0; | |||
background-color: #fff; | |||
border-radius: 42rpx; | |||
box-sizing: border-box; | |||
} | |||
.infoContainer>.integralBox { | |||
position: absolute; | |||
width: 720rpx; | |||
height: 214rpx; | |||
left: 15rpx; | |||
top: -107rpx; | |||
} | |||
.integralBox>.icon { | |||
position: absolute; | |||
width: 108rpx; | |||
height: 86rpx; | |||
left: 55rpx; | |||
top: 65rpx; | |||
} | |||
.integralBox>.integral { | |||
position: absolute; | |||
right: 113rpx; | |||
top: 0; | |||
height: 214rpx; | |||
line-height: 214rpx; | |||
text-align: right; | |||
color: #eb6100; | |||
font-size: 60rpx; | |||
} | |||
.infoContainer>.couponContainer { | |||
position: relative; | |||
width: 100%; | |||
height: 100%; | |||
overflow: hidden; | |||
} | |||
.couponContainer>.typeBox { | |||
display: flex; | |||
margin: 140rpx 0 32rpx 0; | |||
justify-content: center; | |||
} | |||
.typeBox>.item { | |||
font-size: 28rpx; | |||
width: 100rpx; | |||
height: 84rpx; | |||
line-height: 84rpx; | |||
text-align: center; | |||
color: #999; | |||
box-sizing: border-box; | |||
} | |||
.item.select { | |||
color: #333; | |||
font-size: 30rpx; | |||
font-weight: 700; | |||
border-bottom: 8rpx solid #ff7615; | |||
} | |||
.couponList { | |||
position: relative; | |||
display: block; | |||
width: 686rpx; | |||
height: calc(100% - 256rpx - 98rpx); | |||
padding: 0 32rpx; | |||
} | |||
.couponBox { | |||
position: relative; | |||
display: block; | |||
width: 100%; | |||
height: 220rpx; | |||
margin-bottom: 24rpx; | |||
border-radius: 10rpx; | |||
} | |||
.couponBox>.couponBgImg { | |||
position: absolute; | |||
width: 738rpx; | |||
height: 284rpx; | |||
left: -25rpx; | |||
top: -26rpx; | |||
} | |||
.couponBox>.couponImgBox { | |||
position: absolute; | |||
top: 0; | |||
left: 0; | |||
width: 220rpx; | |||
height: 100%; | |||
border-radius: 10rpx; | |||
overflow: hidden; | |||
} | |||
.couponImgBox>image { | |||
width: 100%; | |||
height: 100%; | |||
object-fit: cover; | |||
border-radius: 10rpx; | |||
mask-size: cover; | |||
-webkit-mask-size: contain; | |||
mask-repeat: no-repeat; | |||
-webkit-mask-repeat: no-repeat; | |||
-webkit-mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAADcCAYAAAAbWs+BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFCMDNERkEzQTRBRDExRUE4MjM1ODBEMkRGQkM0RUNDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFCMDNERkE0QTRBRDExRUE4MjM1ODBEMkRGQkM0RUNDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUIwM0RGQTFBNEFEMTFFQTgyMzU4MEQyREZCQzRFQ0MiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUIwM0RGQTJBNEFEMTFFQTgyMzU4MEQyREZCQzRFQ0MiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4wqVPuAAADBUlEQVR42uzYz0pUcRzG4RlNBaWgTdDChSRtAhdSSLQIrQvwHrwA78SCopswiNZBtBIVvAlRWggRZC38l++PjiDijGfmnKLF88CLlGf1hQ/HmW6nt9vZq2wxm87GOkAvd7IfNz1065r/m8w+Zi/dEGq7Xye4kSv/fpr9FBsMbK7OQ5eDe5FtuBsMZbnOQ93q51R26GYwtKPsQbZX5w332b2gkfFs7aaHRjt/vo18617Q2KPsV7+PZiW4d9m8W0ErlrJv2XavPymX3AhaU15ib7L32ezVX5YvTU6qh4B2lS9S1rMP2U62X4L77S7wb4w4AQgOBAcIDgQHCA4EB4IDBAeCAwQHggPBAYIDwQGCA8EBggPBgeAAwYHgAMGB4EBwgOBAcIDgQHCA4EBwIDhAcCA4QHAgOBAcIDgQHCA4EBwgOBAcCA4QHAgOEBwIDgQHCA4EBwgOBAeCAwQHggMEB4IDBAeCA8EBggPBAYIDwYHgAMGB4ADBgeAAwYHgQHCA4EBwgOBAcCA4QHAgOEBwIDhAcCA4EBwgOBAcIDgQHAgOEBwIDhAcCA4EBwgOBAcIDgQHCA4EB4IDBAeCAwQHggPBAYIDwQGCA8EBggPBgeAAwYHgAMGB4EBwgOBAcIDgQHCA4EBwIDhAcCA4QHAgOBAcIDgQHCA4EBwIDhAcCA4QHAgOEBwIDgQHCA4EBwgOBAeCAwQHggMEB4IDBAeCA8EBggPBAYIDwYHgAMGB4ADBgeAAwYHgQHCA4EBwgOBAcCA4QHAgOEBwIDgQHCA4EBwgOBAcIDgQHAgOEBwIDhAcCA4EBwgOBAcIDgQHCA4EB4IDBAeCAwQH/1Nwp84Af8VB9jgbz7plJbg9d4HWLWb3sp3s+PIb7pPbQGsOs7vZl+t+WV5zC9mmO0ErSmzf+32G28p23Qkae9Yvtos3XDFf/a0JDOeg+szW12j182t2Vn3QAwb3vOqoU+cNd2E1e+12MLCJ7GjQ4Iq5bD176IZQW7fpQ0+yleqD4Ew25abQLLhzAQYAMqkvynNUO3sAAAAASUVORK5CYII='); | |||
mask-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAADcCAYAAAAbWs+BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFCMDNERkEzQTRBRDExRUE4MjM1ODBEMkRGQkM0RUNDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFCMDNERkE0QTRBRDExRUE4MjM1ODBEMkRGQkM0RUNDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUIwM0RGQTFBNEFEMTFFQTgyMzU4MEQyREZCQzRFQ0MiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUIwM0RGQTJBNEFEMTFFQTgyMzU4MEQyREZCQzRFQ0MiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4wqVPuAAADBUlEQVR42uzYz0pUcRzG4RlNBaWgTdDChSRtAhdSSLQIrQvwHrwA78SCopswiNZBtBIVvAlRWggRZC38l++PjiDijGfmnKLF88CLlGf1hQ/HmW6nt9vZq2wxm87GOkAvd7IfNz1065r/m8w+Zi/dEGq7Xye4kSv/fpr9FBsMbK7OQ5eDe5FtuBsMZbnOQ93q51R26GYwtKPsQbZX5w332b2gkfFs7aaHRjt/vo18617Q2KPsV7+PZiW4d9m8W0ErlrJv2XavPymX3AhaU15ib7L32ezVX5YvTU6qh4B2lS9S1rMP2U62X4L77S7wb4w4AQgOBAcIDgQHCA4EB4IDBAeCAwQHggPBAYIDwQGCA8EBggPBgeAAwYHgAMGB4EBwgOBAcIDgQHCA4EBwIDhAcCA4QHAgOBAcIDgQHCA4EBwgOBAcCA4QHAgOEBwIDgQHCA4EBwgOBAeCAwQHggMEB4IDBAeCA8EBggPBAYIDwYHgAMGB4ADBgeAAwYHgQHCA4EBwgOBAcCA4QHAgOEBwIDhAcCA4EBwgOBAcIDgQHAgOEBwIDhAcCA4EBwgOBAcIDgQHCA4EB4IDBAeCAwQHggPBAYIDwQGCA8EBggPBgeAAwYHgAMGB4EBwgOBAcIDgQHCA4EBwIDhAcCA4QHAgOBAcIDgQHCA4EBwIDhAcCA4QHAgOEBwIDgQHCA4EBwgOBAeCAwQHggMEB4IDBAeCA8EBggPBAYIDwYHgAMGB4ADBgeAAwYHgQHCA4EBwgOBAcCA4QHAgOEBwIDgQHCA4EBwgOBAcIDgQHAgOEBwIDhAcCA4EBwgOBAcIDgQHCA4EB4IDBAeCAwQH/1Nwp84Af8VB9jgbz7plJbg9d4HWLWb3sp3s+PIb7pPbQGsOs7vZl+t+WV5zC9mmO0ErSmzf+32G28p23Qkae9Yvtos3XDFf/a0JDOeg+szW12j182t2Vn3QAwb3vOqoU+cNd2E1e+12MLCJ7GjQ4Iq5bD176IZQW7fpQ0+yleqD4Ew25abQLLhzAQYAMqkvynNUO3sAAAAASUVORK5CYII='); | |||
} | |||
.couponInfoBox { | |||
position: absolute; | |||
right: 0; | |||
top: 0; | |||
height: 100%; | |||
width: 466rpx; | |||
} | |||
.couponInfoBox>.couponTitle { | |||
position: absolute; | |||
left: 24rpx; | |||
color: #6A0A0E; | |||
font-size: 30rpx; | |||
top: 31rpx; | |||
font-weight: 700; | |||
} | |||
.couponInfoBox>.couponMemo { | |||
position: absolute; | |||
left: 36rpx; | |||
color: #333333; | |||
font-size: 20rpx; | |||
top: 72rpx; | |||
} | |||
.couponInfoBox>.couponNums { | |||
position: absolute; | |||
left: 36rpx; | |||
width: 141rpx; | |||
height: 36rpx; | |||
line-height: 34rpx; | |||
border: 1rpx solid #EB6100; | |||
border-radius: 18rpx; | |||
box-sizing: border-box; | |||
text-align: center; | |||
color: #EB6100; | |||
font-size: 20rpx; | |||
bottom: 44rpx; | |||
} | |||
.couponInfoBox>.btnWriteOff { | |||
position: absolute; | |||
width: 110rpx; | |||
height: 60rpx; | |||
text-align: center; | |||
line-height: 60rpx; | |||
right: 24rpx; | |||
bottom: 32rpx; | |||
border-radius: 30rpx; | |||
background-color: #EB6100; | |||
color: #ffffff; | |||
font-size: 30rpx; | |||
} | |||
.btnBox { | |||
position: absolute; | |||
width: 100%; | |||
height: 98rpx; | |||
left: 0; | |||
bottom: 0; | |||
display: flex; | |||
justify-content: space-between; | |||
background-color: #ffffff; | |||
box-shadow: 0 0 15rpx 5rpx rgba(0, 0, 0, 0.1); | |||
} | |||
.btnBox>.btnItemBox { | |||
width: 50%; | |||
height: 100%; | |||
line-height: 98rpx; | |||
font-size: 36rpx; | |||
color: #EB6100; | |||
text-align: center; | |||
background-color: #ffffff; | |||
} | |||
.btnBox>.btnItemBoxRight { | |||
color: #ffffff; | |||
background-image: linear-gradient(to right, #EB6100, #FF892A); | |||
} | |||
.infoContainer>.integralContainer{ | |||
width: 100%; | |||
height: 100%; | |||
overflow: hidden; | |||
} | |||
.integralContainer>.intergralTitleBox { | |||
position: relative; | |||
width: 609rpx; | |||
margin: 205rpx auto 64rpx auto; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
} | |||
.intergralTitleBox>.line { | |||
width: 173rpx; | |||
height: 1rpx; | |||
background-color: #B7B7B7; | |||
} | |||
.intergralTitleBox>.title { | |||
color: #333333; | |||
font-size: 45rpx; | |||
font-weight: 600; | |||
} | |||
.integralContainer>.intergralInput { | |||
position: relative; | |||
display: block; | |||
width: 600rpx; | |||
height: 98rpx; | |||
line-height: 94rpx; | |||
text-align: center; | |||
color: #333333; | |||
font-size: 60rpx; | |||
font-weight: 600; | |||
padding: 0 35rpx; | |||
margin: 0 auto; | |||
box-sizing: border-box; | |||
background-color: #D8D8D8; | |||
border-radius: 49rpx; | |||
border: 2rpx solid rgba(216, 216, 216, 1); | |||
} | |||
.integralContainer>.writeOffAmount { | |||
position: relative; | |||
width: 100%; | |||
text-align: center; | |||
color: #333333; | |||
font-size: 26rpx; | |||
margin-top: 32rpx; | |||
font-weight: 600; | |||
} | |||
.integralContainer>.giveChoice{ | |||
position: relative; | |||
width: 100%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
color: #333333; | |||
font-size: 26rpx; | |||
margin-top: 16rpx; | |||
font-weight: 600; | |||
} | |||
.giveChoice>.item{ | |||
position: relative; | |||
padding: 9rpx 20rpx; | |||
margin-right: 20rpx; | |||
border:1rpx solid #999999; | |||
box-sizing: border-box; | |||
border-radius: 50rpx; | |||
color: #999999; | |||
font-size: 26rpx; | |||
min-width: 80rpx; | |||
text-align: center; | |||
} | |||
.integralContainer>.integraLe{ | |||
position: relative; | |||
width: 100%; | |||
text-align: center; | |||
margin-top: 40rpx; | |||
color: #333333; | |||
font-size: 26rpx; | |||
font-weight: 600; | |||
} |
@@ -0,0 +1,144 @@ | |||
// pages/personal/personal.js | |||
const app = getApp() | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
userInfo: null, | |||
canIUse: wx.canIUse('button.open-type.getUserInfo'), | |||
hasUserInfo: false, | |||
userNo: '', //员工编号 | |||
record:{ | |||
check_cash:0, | |||
check_dish:0, | |||
sum_check_point:0, | |||
sum_add_point:0 | |||
} | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad: function (options) { | |||
wx.hideShareMenu(); | |||
if (app.globalData.userInfo) { | |||
this.setData({ | |||
userInfo: app.globalData.userInfo, | |||
hasUserInfo: true | |||
}) | |||
} else if (this.data.canIUse) { | |||
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 | |||
// 所以此处加入 callback 以防止这种情况 | |||
app.userInfoReadyCallback = res => { | |||
this.setData({ | |||
userInfo: res.userInfo, | |||
hasUserInfo: true | |||
}) | |||
} | |||
} else { | |||
// 在没有 open-type=getUserInfo 版本的兼容处理 | |||
wx.getUserInfo({ | |||
success: res => { | |||
app.globalData.userInfo = res.userInfo | |||
this.setData({ | |||
userInfo: res.userInfo, | |||
hasUserInfo: true | |||
}) | |||
} | |||
}) | |||
} | |||
this.setData({ | |||
userNo: app.globalData.storeData.account_id | |||
}) | |||
}, | |||
/** | |||
* 获取头像昵称 | |||
*/ | |||
getUserInfo: function (e) { | |||
app.globalData.userInfo = e.detail.userInfo | |||
if (e.detail.userInfo) { | |||
wx.setStorageSync('laomenkuangUserInfo', e.detail.userInfo);//老门框用户信息-头像昵称 | |||
this.setData({ | |||
userInfo: e.detail.userInfo, | |||
hasUserInfo: true | |||
}) | |||
var userInfo = app.setUserInfo(e.detail.userInfo) | |||
app.requestPost('submit', userInfo, res => { | |||
console.log(res) | |||
}) | |||
} | |||
}, | |||
/** | |||
* 显示记录 | |||
*/ | |||
showVecords: function(e){ | |||
var code = e.currentTarget.dataset.index; | |||
wx.navigateTo({ | |||
url: '../record/record?code=' + code | |||
}) | |||
}, | |||
/** | |||
* 获取记录数据 | |||
*/ | |||
getRecordNums(){ | |||
app.requestGet('admin/self/typenum',{},res=>{ | |||
if(res.code==200){ | |||
var {check_cash,check_dish,sum_check_point,sum_add_point}=res.data; | |||
this.setData({ | |||
record:{check_cash,check_dish,sum_check_point,sum_add_point} | |||
}) | |||
} | |||
}) | |||
}, | |||
/** | |||
* 生命周期函数--监听页面初次渲染完成 | |||
*/ | |||
onReady: function () { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow: function () { | |||
this.getRecordNums() | |||
}, | |||
/** | |||
* 生命周期函数--监听页面隐藏 | |||
*/ | |||
onHide: function () { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面卸载 | |||
*/ | |||
onUnload: function () { | |||
}, | |||
/** | |||
* 页面相关事件处理函数--监听用户下拉动作 | |||
*/ | |||
onPullDownRefresh: function () { | |||
}, | |||
/** | |||
* 页面上拉触底事件的处理函数 | |||
*/ | |||
onReachBottom: function () { | |||
}, | |||
/** | |||
* 用户点击右上角分享 | |||
*/ | |||
onShareAppMessage: function () { | |||
} | |||
}) |
@@ -0,0 +1,5 @@ | |||
{ | |||
"usingComponents": {}, | |||
"navigationBarTitleText": "个人中心", | |||
"disableScroll": true | |||
} |
@@ -0,0 +1,30 @@ | |||
<!--pages/personal/personal.wxml--> | |||
<view class="container"> | |||
<image class="bg" src="../../static/personal/bg.jpg"></image> | |||
<view class="userContainer"> | |||
<button class="getUserBtn" wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像</button> | |||
<view class="headBox" wx:else> | |||
<image src="{{userInfo.avatarUrl}}" mode="aspectFill"></image> | |||
</view> | |||
<view class="userName">{{userInfo?userInfo.nickName:'用户昵称'}}</view> | |||
<view class="userNo">{{userNo}}</view> | |||
</view> | |||
<view class="infoContainer"> | |||
<view class="listBox" data-index='1' catchtap='showVecords'> | |||
<text class="listName icon1">核销代金券</text> | |||
<text class="listValue">{{record.check_cash}}</text> | |||
</view> | |||
<view class="listBox" data-index='2' catchtap='showVecords'> | |||
<text class="listName icon2">核销菜品券</text> | |||
<text class="listValue">{{record.check_dish}}</text> | |||
</view> | |||
<view class="listBox" data-index='3' catchtap='showVecords'> | |||
<text class="listName icon3">积分核销</text> | |||
<text class="listValue">{{record.sum_check_point}}</text> | |||
</view> | |||
<view class="listBox" data-index='4' catchtap='showVecords'> | |||
<text class="listName icon4">赠送积分</text> | |||
<text class="listValue">{{record.sum_add_point}}</text> | |||
</view> | |||
</view> | |||
</view> |
@@ -0,0 +1,102 @@ | |||
/* pages/personal/personal.wxss */ | |||
.bg{ | |||
width: 750rpx; | |||
height: 632rpx; | |||
} | |||
.getUserBtn{ | |||
position: absolute; | |||
top: 178rpx; | |||
left: 195rpx; | |||
width: 150rpx; | |||
height: 50rpx; | |||
color: #000000; | |||
font-size:20rpx; | |||
line-height:50rpx; | |||
border-radius:15rpx | |||
} | |||
.userContainer{ | |||
position: absolute; | |||
width: 100%; | |||
height: 337rpx; | |||
left: 0; | |||
top: 0; | |||
} | |||
.headBox{ | |||
position: absolute; | |||
width: 144rpx; | |||
height: 144rpx; | |||
top: 33rpx; | |||
left: 33rpx; | |||
background-color: #ffffff; | |||
border-radius: 50%; | |||
box-sizing: border-box; | |||
padding: 6rpx; | |||
overflow: hidden; | |||
} | |||
.headBox>image { | |||
width: 100%; | |||
height: 100%; | |||
border-radius: 50%; | |||
} | |||
.userContainer>.userName{ | |||
position: absolute; | |||
color: #ffffff; | |||
font-size: 37rpx; | |||
top: 65rpx; | |||
left: 200rpx; | |||
} | |||
.userContainer>.userNo{ | |||
position: absolute; | |||
color: #ffffff; | |||
font-size: 37rpx; | |||
top: 120rpx; | |||
left: 200rpx; | |||
} | |||
.infoContainer{ | |||
position: absolute; | |||
width: 100%; | |||
height: calc(100vh - 337rpx); | |||
left: 0; | |||
bottom: 0; | |||
background-color: #ffffff; | |||
border-radius: 42rpx; | |||
box-sizing: border-box; | |||
padding-top: 25rpx; | |||
} | |||
.infoContainer>.listBox{ | |||
width: 100%; | |||
height: 40rpx; | |||
padding: 25rpx 0; | |||
overflow: hidden; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: center; | |||
} | |||
.listBox>.listName{ | |||
margin-left: 53rpx; | |||
padding-left: 58rpx; | |||
background-size:37rpx 29rpx; | |||
background-position:left center; | |||
background-repeat: no-repeat; | |||
} | |||
.listValue{ | |||
margin-right: 31rpx; | |||
padding-right: 60rpx; | |||
background-size: 11rpx 21rpx; | |||
background-position:right center; | |||
background-repeat: no-repeat; | |||
color: #eb6100; | |||
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAVCAYAAACQcBTNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY3REUxRkMwQTNFNjExRUFBODBEQ0EwQTA0QjRCN0I3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY3REUxRkMxQTNFNjExRUFBODBEQ0EwQTA0QjRCN0I3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjdERTFGQkVBM0U2MTFFQUE4MERDQTBBMDRCNEI3QjciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjdERTFGQkZBM0U2MTFFQUE4MERDQTBBMDRCNEI3QjciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz64puk2AAABGElEQVR42oTSLUiDURTG8TsnBhmbhgUFTYuzaNC6IcyF2QxDFg0Ki4LYLKJ5Qd6y6IogbGy6oFmTyWYZaFpacEEY+D/wxHvvLvx43/BwP845qSRJVpxz97jCu4usBZyhih4K88K36CKPJ32D4RnqukJBJ2RDYVtT1PCFXTxiKRS2Ndbd7VtGG6lQ2Gnnmk46xnUs7HT3ut5ygdNY2Kk6Tf23cBgL27rDDdLo2MNjYVuX6GPZ3jAvvIeS/jOx8LY6ars+4CQULuIZOQxUxpkvbC0fakZecYQ/XzU28IJ1vKlkU1+d17TTJj5wgF9fB/M62q7wiQomvkHK6dVbmo2Khsk7otadHXxjHz+hWi7iHKtoYBTr0L8AAwBIdjV19UZB3gAAAABJRU5ErkJggg=='); | |||
} | |||
.icon1{ | |||
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAdCAYAAAAtt6XDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF7mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNi0wMVQxNzowMjoyMCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDYtMDFUMTc6MDM6NTMrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDYtMDFUMTc6MDM6NTMrMDg6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YWRhMzEzMDItNDQ5NC04YjQyLThkN2EtY2M4ZWZhYTFkZmI1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk5QUQ0RDU4QTNFNjExRUE5NjFFRUNGNkFDMTYxMkZCIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTlBRDRENThBM0U2MTFFQTk2MUVFQ0Y2QUMxNjEyRkIiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5OUFENEQ1NUEzRTYxMUVBOTYxRUVDRjZBQzE2MTJGQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5OUFENEQ1NkEzRTYxMUVBOTYxRUVDRjZBQzE2MTJGQiIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphZGEzMTMwMi00NDk0LThiNDItOGQ3YS1jYzhlZmFhMWRmYjUiIHN0RXZ0OndoZW49IjIwMjAtMDYtMDFUMTc6MDM6NTMrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz63cCiuAAACG0lEQVRYhe3XT4hNYRjH8c+VWGBmg4XYKFHC5lprJpGaGeVfspHZYKHMUg1ixEpZWLCRncXMKMNYWFAkqVv+LpTxZyE0sjBSYnEt3ufmdDsn916GUfOrt+ec933et+953ud9zjmlarVqqmnGvwbI0zRUo5qZvSmXy/8kwSqVSil7P/UjlVGpoP9PK3dnpmSk/iuoK2grGKsqCHsLKslJlXqo8/iEHgzmTfgbqofah7X4iA3Y9htrz8dJPMbXaA9xPMYahoLnOBbXu1sE2ooxHMIqzI62BofxInwahiLlFClqrQANoh3X0Il50Tqjry18csGK6tTbsAubBFqAC1IuHpW2KqtbeCNFbEn43sF41qkoUovCjheMF+mAFIXRHCBYjJsB9D58D9Y7FUH1hK00CVWbdzpnrB3XA+w+9kR/VyNQy3Akri82CbUibAXr8QgrMQuXpaQfQzfuhu/y+kXqc+ocdkpPdQNDTUJl1YvVuIRXUpK/wyZ8wNzw+1Y/sT5SewNoBNs1X7mfhS1jP15L0emRivJGKVL8PNkvfwVV02ZMFIzlvhpCI2H7AmIXhnEbW/Ak49sXdrRRqFZ1VnqYbvTjnvRWWCedupr6w2cCZyYbalzKpSoGcBUdmBOtQ4rmQPj0yik7RcWzla+A2pYOY4dUGLvkHHl8lkrCcN5Ck/U9NYSlOIWn+I4veIATMZYLBKXpn9EGNQ3VqH4AnJBqGAhwlDIAAAAASUVORK5CYII='); | |||
} | |||
.icon2{ | |||
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAdCAYAAAAtt6XDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF7mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNi0wMVQxNzowMjozOSswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDYtMDFUMTc6MDQ6MTErMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDYtMDFUMTc6MDQ6MTErMDg6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YTdjYWNmZGUtNDQzNC0wMDRhLTlhNzAtNTA2ZWE0ZTIxOWI4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1NDJDMjdCQTNFNjExRUE4OTQ2ODdBMURDQzMzOEVGIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6QTU0MkMyN0JBM0U2MTFFQTg5NDY4N0ExRENDMzM4RUYiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBNTQyQzI3OEEzRTYxMUVBODk0Njg3QTFEQ0MzMzhFRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBNTQyQzI3OUEzRTYxMUVBODk0Njg3QTFEQ0MzMzhFRiIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphN2NhY2ZkZS00NDM0LTAwNGEtOWE3MC01MDZlYTRlMjE5YjgiIHN0RXZ0OndoZW49IjIwMjAtMDYtMDFUMTc6MDQ6MTErMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz79b+aGAAACIUlEQVRYhe3XT4hNcRQH8M+TWGBmg4WNEmEhpWetmaJojDJoykImNTbKLNUgRqyUhQUb2VkYyjAphVBWT/6kKENKKSPFSInFs/j9Xm537p13HzNm1PvW6dz7O9/fvd97zrnnvVuqVqtmGmZNt4AsNEUVxezkSblcnpYGq1QqpeT5zM9UAqWc9clGZmVmZKb+K1HX0PIP7l+S0SppUefxBZ24nLGhWscmBWlR+7Een7AJO/7i2gtxEs/wPdoTHI+xwqLgFY7F4z2pWKmO1dCFERzCGsyNthaH8TpyCosi9BQha42iSyh9K26gHQuitce1lsjJFJY3p95Hv7hBQYtwQcjaUaFUSdzFOyF7SyP3AUaTpLxMLYl+NCeehwNCFoYzBNVE34yCPkTuwTQpT1Rn9JUGRdX2nc6IteI2lsfr7ovrHUVErcCReHwxFas3BlZFX0EbHmE15uCqULYRbMG9yF2ZFpDuqXPojk91C4MZoouiF+twCS+EJv+IzdHPj7wf6Y3pTPVGQUPYaXwmJhoD8DL6sjDz3gpjoFsYyhuFTPH7zX5TT1QN2zCWE5sIQ9H34TN2C2W7j+14muD2RT9cVNSf4qzwMFvRj4fCLNqAOwlef+SM4cxUixpFj1D2AVwXGn5etDYhmwOR0yNj7OQNz0Z/XJO9dQW7hMHYIeOVx1fsjdxxmKr/U4NYhlN4jp/4hsc4EWOZgqDU/BgtiKaoovgFMNZ1HHLhwwgAAAAASUVORK5CYII='); | |||
} | |||
.icon3{ | |||
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAdCAYAAAAtt6XDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF7mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNi0wMVQxNzowMjo1OCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDYtMDFUMTc6MDQ6MjkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDYtMDFUMTc6MDQ6MjkrMDg6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OWFjZmY0NjUtMTMyNi1mNDQ0LTk0NWUtMDExMTM5NzM5OTBmIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIwNzY0MUE2QTNFNjExRUFCOTRCODY2OUE3MTJENzY3IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6QjA3NjQxQTZBM0U2MTFFQUI5NEI4NjY5QTcxMkQ3NjciIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMDc2NDFBM0EzRTYxMUVBQjk0Qjg2NjlBNzEyRDc2NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMDc2NDFBNEEzRTYxMUVBQjk0Qjg2NjlBNzEyRDc2NyIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5YWNmZjQ2NS0xMzI2LWY0NDQtOTQ1ZS0wMTExMzk3Mzk5MGYiIHN0RXZ0OndoZW49IjIwMjAtMDYtMDFUMTc6MDQ6MjkrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6vQJFyAAAEXElEQVRYhc2XXUhkZRjHf+NRx2ScXWHTMzCZQn4g4yjO0WguHBARnFoYaPciPy7qQulyuyuKaAu7CGK6EoPqRuuiViLakbypDJTk9aCjaNruGu6CowbmKubojKeLc2YY9cw0zm4ff3h54bzPeZ//ed7n+Z/3sWiaRjYYGBi4PDs72wYoQL3FYnlK0zQn8ARwCdCAh8CfFovlgaZp94ElQHg8nsnh4eE/snIEWDKRUhQl32q1XotGo68APqAw243P4Aj4wWq1fhaNRr8SQsRyIqUoSpskSR/H4/FaAEmScLvdNDQ0UFtbi8PhQJZlioqKsNlsAOzv73N4eEgkEmFjY4OVlRUWFhYIh8PE43GMfVbi8fiAEOLHC5FSFOV54Gsgv6Kigp6eHjo7OykpKckmKuewt7fHxMQEo6OjrK+vA8SAgBDitukLmqadGx6PZ8Pj8WjBYFCLxWLa40IsFtOCwaDm8Xg0w4ep/7w0HycDOJ1OJEnKKTpmkCQJp9N5yocZ0h1f8mFzczO9vb14vV7y8/NzIhOLxZiammJkZARVVU/5F0Kcs8/opaysDFVVUVUVm81Ga2srLpeLmpoaZFlOJnoqEokeiURYXV1lcXGRmZkZ9vf3k3tubW1l/IiMkZqamiIUChEKhZibm+Pk5MR0k+LiYgAODg5M1/Py8mhqasLv9+P3+/F6vUn/F45UYWEhgUCAQCDAzs4O4XCYpaUl1tbWiEQibG5ucnx8nIyC3W6noKCA8vJyZFmmqqqK+vp63G43paWlmVxlTyoVpaWl+Hw+fD5f1pvninTV958it3JKgaIolsdBJBX/y0j9U6SuAINAGDg0xhxw01jLndTY2FguhF4E7gCvAw2A1RiNwFvAXcMmN1KDg4P09/czOTnJ8fFxtoS+RL9ffQu0AyXGaDee2Q2btMQupOgtLS24XC6qq6uTip6CJ4FPAQvwNvpRpeJ74D569J42bH8Czsl7RkWfnp5mfHycUCiEqqrpFD1RfTfRj+c28IKJnQOYBJ4BNoFy4H0hxBsXIpX6C9jd3WV+fv6Uom9tbbG9vZ0gNYeeN+3oUUnFJfSoNAA/A+8AIWBBCOHOmVQ6pOjUIXpC24FngQ+AXuBXYNwgewfwGrYPgSMhhPXsno8snmnwMtAEfAH8ZhB6AHQC24DNsDsyezlj9WXb6Rj4xZgV4FXgHvpxXQV2AT+wZti0GPO9i5C6CzA0NJS88GeBb4z5BvrRvAR8DnwHBICFFNsbxmx6R//bxqGyspLu7m46Ojqw2+1mtomcKkPPHzt6Fb6XhvybwLsG8WohRHaSYDhrAz5BL2EkSaKxsRGXy0VdXR2yLONwOOjq6kr9ISfE04IulB8CM8ZaK3qErqI3rteBW2bFlLEZ7evrK1heXr4OJJpRs8I4e0u4hi6M6fqxPfRCuAXmFZ6RVCoURbkMPIde7vXoqlyBLopncQV4DT0qtehVtoqeQx8BvycMH4nUv4m/AB4cCh5yPoATAAAAAElFTkSuQmCC'); | |||
} | |||
.icon4{ | |||
background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAdCAYAAAAtt6XDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI4NjdBQ0EwQTNFNjExRUFCOEIwREQwMzE5NURBOUY1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI4NjdBQ0ExQTNFNjExRUFCOEIwREQwMzE5NURBOUY1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Qjg2N0FDOUVBM0U2MTFFQUI4QjBERDAzMTk1REE5RjUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Qjg2N0FDOUZBM0U2MTFFQUI4QjBERDAzMTk1REE5RjUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5X3tISAAAFD0lEQVR42sxXWUhkVxCtbtt9G1wjrlFwTcRd/DAG40Ak6IcaBhMENR9GxfwGgoyRETc0gjGYqB+CERHUj3zE4IBhxLghfohbRCVqVNzjvrV26ty8ltYx+rrHQAoO7/a71feeV1W3qq5Co9GQvpKRkWE8Ozv7Hv/36dXVVRi/8mI4M2wklX3GOuMPxpiRkdFLX1/fvpaWlgs56yv0IRUREaFQqVT5l5eXX/H/XG7Pm5mZEdY7Ozt7fSOFYo3JlarV6u9GR0c1b0yKyYgnE/qeF83BmL+cEhISKDg4mDw9Pcne3p6USqXQY+vR9vY2LS4u0vj4OPX09NDc3Jx2jR94jc8xZnJvTopFKNfX11NkZKReLh8ZGaG8vLzrfe8jpSQDZGhoiHZ3d2XrQ3d4eFi2vkGWgpiYmFBMTAyFhYWRt7c3OTs7k6mpqZhDTK2vr9PCwgKNjY3R4OAgnZ+f39j30d3n4+ND8/PzelkXxEFSDimVIe5rb2+nqakpYYHJyUlaXl6mra0tOjg4EPPW1tbk4OBA7u7uFBQUJCwaGBio+3H3ikGkINgE+C9ESf9DkUUKvtf1f3V1Ne3s7MjeBDmrqqrqxnqP7r62tjbq7Oyk6OhoCg0NFUHs5ORElpaWYv7o6Ig2NjauTx9y1K3TZ1hK4KD0xIPxrk5t+1BbTk5PT/X6EFQArpdaSyl4fSseljA+ZZgzXjGKRjEJUqxgxi+yGCEMN4mM00MbITW4uLjQ6uqqcBEsBIHFUHZQfgICAsTpw1Pn9BkxehgfcE1EXRSlCSmO8VTFirB5NyNWd0M3NzexEICNHR0dRXK0sLAQX1xeXi5y1eHhIRUXF8s+7pLkgxC7/KqhoUFhZ2enqK2t1XR0dCD7vlCEh4cX8+C5h4cHZWdni839/f3J1tb23lU3NzepqKhIxAsKMbczlJubi4J7pz5yWkFBAYYX/zQNClVFRYUmPj5eJNKTk5Pz2NhYEx7ugdTvcHlTUxOFhIToFScweWtrqyjQCGRYtaSkRAT93t6eCPSJiQnq7e297hJYEPEmKM4wglaWlpYoJSUFwz/xWW9jhBZE73wiWSgqKooKCwtpenqaUlNT/039UooZi8TERMrKyrox2djYqB3+jDxlrN3AUPHz8yPuKiktLe0+NQS3BQaurq4iuLXS1dVF3d0Ia9pjlMN9GjkJTdidXcRtyCvuCOALNeMvKUYOERaMU3bZAXcJ6uPj413uUNX7+/tcEg9OV1ZWTpqbm3EafuQDYwwSNjY2NDMzI9zIa4PHx8yjk0AKkCM1NTXQ3WB8glRiCPi/v2I/7sk0TFiTlJSkkTh8o9VR6hPUyEcsjoxWTgE/MVwNdTnch9Mrrfkb48vXat/FxcWDQV1ZWUllZWXEeQWvkhiTTOwzXChkXjxQJWKQNgYGBqivr09kF8Yzdts1AcQUujVv1DGcICTKhwTHHQVWCk7RgjMWZfCKYnh6eXmJFMDWx4lMZEIvb1iRSQXx8xepvNwpyOKZmZmUnp5O5ubm1+/7+/uptLRUFF+5gtK0trZGfBDw8zkTenFnQWazvgUFpH4pZm7LE+iim8zJyaHk5GTiO5yYQJnBpUBOW40qgXyEzkEyxEdM6srQHh33qUrG+9p+Oz8/n+Li4vQK7rq6OuK0IBI4I5wJbT3GDTlRIvcOfltZWemVdNHD834oM3FMaOhRru0SMbDIZHzNcDcgG3zBhL69T+FvAQYAZJmQoqUtypEAAAAASUVORK5CYII='); | |||
} |
@@ -0,0 +1,12 @@ | |||
var showCouponName=function(item){ | |||
if(item.item_type==1){//代金券 | |||
return parseInt(item.original_price)+'元代金券' | |||
}else{//菜品券 | |||
return item.coupon_name_detail | |||
} | |||
} | |||
module.exports = { | |||
showCouponName:showCouponName | |||
}; |
@@ -7,77 +7,120 @@ Page({ | |||
*/ | |||
data: { | |||
userInfo: null, | |||
canIUse: wx.canIUse('button.open-type.getUserInfo'), | |||
hasUserInfo: false, | |||
userNo: '', //员工编号 | |||
showIndex: 1, | |||
data: [], | |||
startDate:'', | |||
endDate: '', | |||
code:0, | |||
nameList:['代金券核销记录','菜品券核销记录','积分核销记录','积分赠送记录'], | |||
recordList:[], | |||
recordType:null,//记录类型 | |||
scrollTop:0, | |||
}, | |||
panel: function(e) { | |||
if (e.currentTarget.dataset.index != this.data.showIndex) { | |||
this.setData({ | |||
showIndex: e.currentTarget.dataset.index | |||
}) | |||
} else { | |||
this.setData({ | |||
showIndex: 0 | |||
}) | |||
curPage:1,//当前页 | |||
showNums:10,//每页显示数量 | |||
getIng:false, | |||
getEnd:false, | |||
startTime:'', | |||
endTime:'', | |||
/** | |||
* 获取记录 | |||
*/ | |||
getRecord(){ | |||
this.getIng=true; | |||
var url='',params={}; | |||
var type=this.data.recordType; | |||
if(type==1){//代金券 | |||
url='admin/self/checkcouponlog' | |||
params={item_type:1} | |||
}else if(type==2){//菜品券 | |||
url='admin/self/checkcouponlog' | |||
params={item_type:2} | |||
}else if(type==3){//积分核销 | |||
url='admin/self/checkpointlog' | |||
}else if(type==4){//赠送积分 | |||
url='admin/self/addpointlog' | |||
} | |||
Object.assign(params,{begin_date:this.startTime,end_date:this.endTime,cur_page:this.curPage,show_num:this.showNums}) | |||
app.requestGet(url,params,res=>{ | |||
if(res.code==200){ | |||
var list=[]; | |||
if(this.curPage==1){ | |||
list=res.data | |||
}else{ | |||
list=[...this.data.recordList,...res.data]; | |||
} | |||
if(res.data.length<this.showNums){ | |||
this.getEnd=true; | |||
} | |||
this.setData({ | |||
recordList:list | |||
}) | |||
this.getIng=false; | |||
}else{ | |||
this.getIng=false; | |||
} | |||
}) | |||
}, | |||
/** | |||
* 数据到底 | |||
*/ | |||
downEvent(){ | |||
if(this.getEnd||this.getIng){ | |||
}else{ | |||
console.log('11111') | |||
this.curPage++; | |||
this.getRecord(); | |||
} | |||
}, | |||
/** | |||
* 时间筛选 | |||
*/ | |||
timeScreen(){ | |||
this.curPage=1; | |||
this.getIng=false; | |||
this.getEnd=false; | |||
this.startTime=this.data.startDate; | |||
this.endTime=this.data.endDate; | |||
this.setData({ | |||
scrollTop:0 | |||
}) | |||
this.getRecord() | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad: function(options) { | |||
this.setData({ | |||
recordType:options.code | |||
}) | |||
wx.hideShareMenu(); | |||
if (app.globalData.userInfo) { | |||
this.setData({ | |||
userInfo: app.globalData.userInfo, | |||
hasUserInfo: true | |||
}) | |||
} else if (this.data.canIUse) { | |||
// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 | |||
// 所以此处加入 callback 以防止这种情况 | |||
app.userInfoReadyCallback = res => { | |||
this.setData({ | |||
userInfo: res.userInfo, | |||
hasUserInfo: true | |||
}) | |||
} | |||
} else { | |||
// 在没有 open-type=getUserInfo 版本的兼容处理 | |||
wx.getUserInfo({ | |||
success: res => { | |||
app.globalData.userInfo = res.userInfo | |||
this.setData({ | |||
userInfo: res.userInfo, | |||
hasUserInfo: true | |||
}) | |||
} | |||
userNo: app.globalData.storeData.account_id, | |||
code: options.code-1 | |||
}) | |||
} | |||
this.getRecord() | |||
}, | |||
/** | |||
* 选择开始时间 | |||
*/ | |||
bindStartDateChange: function (e) { | |||
this.setData({ | |||
userNo: app.globalData.storeData.account_id | |||
startDate: e.detail.value | |||
}) | |||
}, | |||
/** | |||
* 获取头像昵称 | |||
* 选择结束时间 | |||
*/ | |||
getUserInfo: function (e) { | |||
app.globalData.userInfo = e.detail.userInfo | |||
if (e.detail.userInfo) { | |||
wx.setStorageSync('laomenkuangUserInfo', e.detail.userInfo);//老门框用户信息-头像昵称 | |||
this.setData({ | |||
userInfo: e.detail.userInfo, | |||
hasUserInfo: true | |||
}) | |||
var userInfo = app.setUserInfo(e.detail.userInfo) | |||
app.requestPost('submit', userInfo, res => { | |||
console.log(res) | |||
}) | |||
} | |||
bindEndDateChange: function (e) { | |||
this.setData({ | |||
endDate: e.detail.value | |||
}) | |||
}, | |||
/** | |||
* 生命周期函数--监听页面初次渲染完成 | |||
*/ | |||
@@ -89,26 +132,7 @@ Page({ | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow: function() { | |||
this.setData({ | |||
data:[] | |||
}) | |||
var data={ | |||
cur_page: 1, | |||
show_num: 99 | |||
} | |||
app.requestGet('couponbuy/checklog', data,res=>{ | |||
if(res.code==200){ | |||
this.setData({ | |||
data: res.data | |||
}) | |||
}else{ | |||
wx.showToast({ | |||
title: res.message, | |||
icon: 'none', | |||
duration: 2000 | |||
}) | |||
} | |||
}) | |||
}, | |||
/** |
@@ -1,5 +1,5 @@ | |||
{ | |||
"usingComponents": {}, | |||
"navigationBarTitleText": "核销记录", | |||
"navigationBarTitleText": "个人中心", | |||
"disableScroll": true | |||
} |
@@ -1,34 +1,47 @@ | |||
<!--pages/record/record.wxml--> | |||
<wxs src="./comm.wxs" module="comm" /> | |||
<view class="container"> | |||
<image class="bg" src="../../static/record/bg.jpg"></image> | |||
<view class="content"> | |||
<image class="bg" src="../../static/personal/bg.jpg"></image> | |||
<view class="userContainer"> | |||
<view class="headBox"> | |||
<button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo" style="width:100%;height:100%;font-size:34rpx;line-height:200rpx;"> 获取头像 </button> | |||
<image wx:else src="{{userInfo.avatarUrl}}" mode="aspectFill"></image> | |||
<image wx:if="{{userInfo}}" src="{{userInfo.avatarUrl}}" mode="aspectFill"></image> | |||
</view> | |||
<view class="userName" wx:if="{{userInfo}}">{{userInfo.nickName}}</view> | |||
<view class="userName" wx:else>用户昵称</view> | |||
<view class="userName">{{userInfo?userInfo.nickName:'用户昵称'}}</view> | |||
<view class="userNo">{{userNo}}</view> | |||
<scroll-view id="collapseBox" scroll-y="true" class="collapseBox"> | |||
<view class="item"> | |||
<view class="title" data-index='1' catchtap='panel'> | |||
<view class="title_0"> | |||
<image style="width:49rpx;height:30rpx;" src="../../static/record/icon1.png"></image> | |||
</view> | |||
<view class='title_1'>核销记录</view> | |||
<view class="title_2"> | |||
<image src="../../static/record/{{showIndex == 1 ? 'up':'down'}}.png"></image> | |||
</view> | |||
</view> | |||
<view wx:if="{{showIndex == 1&&data.length==0}}" style="text-align: center;font-size: 30rpx;">暂无数据</view> | |||
<view class="details" wx:if="{{showIndex == 1}}" wx:for="{{data}}" wx:key="id"> | |||
<text class="time">{{item.check_date}}</text> | |||
<view class="infoBox"> | |||
<text>券码:{{item.coupon_code}}</text> | |||
<text>{{item.coupon_type}}</text> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="infoContainer"> | |||
<view class="timeForm"> | |||
<text class="title">时间范围:</text> | |||
<picker mode="date" value="{{startDate}}" bindchange="bindStartDateChange"> | |||
<view class="datePicker"> | |||
{{startDate}} | |||
</view> | |||
</picker> | |||
<view class="line"></view> | |||
<picker mode="date" value="{{endDate}}" bindchange="bindEndDateChange"> | |||
<view class="datePicker"> | |||
{{endDate}} | |||
</view> | |||
</scroll-view> | |||
</picker> | |||
<view class="btnScreen" bindtap="timeScreen">筛选</view> | |||
</view> | |||
<view class="listName {{'icon'+(code+1)}}">{{nameList[code]}}</view> | |||
<scroll-view scroll-y="true" class="recordList" scroll-top="{{scrollTop}}" lower-threshold="10" bindscrolltolower="downEvent"> | |||
<view class="recordItem" wx:key="id" wx:for="{{recordList}}"> | |||
<text class="cdate">{{item.check_date}}</text> | |||
<block wx:if="{{recordType==1||recordType==2}}"> | |||
<text class="couponName">{{comm.showCouponName(item)}}</text> | |||
<text class="couponNo">券码:{{item.coupon_code}}</text> | |||
<text class="insideCoupon" wx:if="{{item.create_type==1}}">内部券</text> | |||
</block> | |||
<block wx:else> | |||
<block wx:if="{{recordType==3}}"> | |||
<text class="price">{{item.cash_exchange}}元</text> | |||
<text class="integral">{{item.point_check}}分</text> | |||
</block> | |||
<text class="integral" wx:if="{{recordType==4}}">{{item.point_add}}分</text> | |||
<text class="phone">手机号:{{item.user_phone}}</text> | |||
</block> | |||
</view> | |||
</scroll-view> | |||
</view> |
@@ -2,95 +2,172 @@ | |||
.bg { | |||
width: 750rpx; | |||
height: 253rpx; | |||
height: 632rpx; | |||
} | |||
.content { | |||
.userContainer { | |||
position: absolute; | |||
width: 100%; | |||
top: 253rpx; | |||
bottom: 0; | |||
background-color: #fff; | |||
height: 337rpx; | |||
left: 0; | |||
top: 0; | |||
} | |||
.headBox { | |||
position: absolute; | |||
top: -152rpx; | |||
width: 200rpx; | |||
height: 200rpx; | |||
left: 50%; | |||
transform: translateX(-50%); | |||
width: 144rpx; | |||
height: 144rpx; | |||
top: 33rpx; | |||
left: 33rpx; | |||
background-color: #fff; | |||
border-radius: 50%; | |||
box-sizing: border-box; | |||
padding: 6rpx; | |||
overflow: hidden; | |||
background-color: #fff; | |||
} | |||
.headBox>image { | |||
width: 100%; | |||
height: 100%; | |||
border-radius: 50%; | |||
} | |||
.content>.userName { | |||
color: #333; | |||
font-size: 40rpx; | |||
font-weight: bold; | |||
text-align: center; | |||
margin-top: 78rpx; | |||
} | |||
.content>.userNo{ | |||
text-align: center; | |||
color: #666666; | |||
font-size: 30rpx; | |||
margin-top: 10rpx; | |||
.userContainer>.userName { | |||
position: absolute; | |||
color: #fff; | |||
font-size: 37rpx; | |||
top: 65rpx; | |||
left: 200rpx; | |||
} | |||
.content>.collapseBox{ | |||
width: 630rpx; | |||
margin: 49rpx auto 0 auto; | |||
padding-top: 30rpx; | |||
border-top: 1rpx solid #CCCCCC; | |||
height: calc(100vh - 530rpx); | |||
.userContainer>.userNo { | |||
position: absolute; | |||
color: #fff; | |||
font-size: 37rpx; | |||
top: 120rpx; | |||
left: 200rpx; | |||
} | |||
.item{ | |||
margin: 10rpx auto; | |||
.infoContainer { | |||
position: absolute; | |||
width: 100%; | |||
height: calc(100vh - 337rpx); | |||
left: 0; | |||
bottom: 0; | |||
background-color: #fff; | |||
border-radius: 42rpx; | |||
box-sizing: border-box; | |||
padding-top: 25rpx; | |||
} | |||
.item>.title{ | |||
font-size: 30rpx; | |||
height: 60rpx; | |||
line-height: 60rpx; | |||
.timeForm { | |||
width: 100%; | |||
height: 58rpx; | |||
display: flex; | |||
align-items: center; | |||
margin-top: 75rpx; | |||
} | |||
.item>.title>.title_0{ | |||
width: 50rpx; | |||
.timeForm>.title { | |||
color: #000; | |||
font-size: 27rpx; | |||
margin-left: 30rpx; | |||
} | |||
.timeForm>.line { | |||
background-color: #ccc; | |||
height: 4rpx; | |||
width: 22rpx; | |||
margin: 0 7rpx; | |||
} | |||
.datePicker { | |||
width: 200rpx; | |||
height: 56rpx; | |||
line-height: 56rpx; | |||
text-align: center; | |||
display: flex; | |||
align-items: center; | |||
background-color: #e6e6e6; | |||
color: #666; | |||
font-size: 28rpx; | |||
border: 1rpx solid rgba(230, 230, 230, 1); | |||
border-radius: 10rpx; | |||
box-sizing: border-box; | |||
} | |||
.timeForm>.btnScreen { | |||
width: 100rpx; | |||
height: 56rpx; | |||
line-height: 56rpx; | |||
text-align: center; | |||
background-color: #EB6100; | |||
border-radius: 28rpx; | |||
color: #ffffff; | |||
font-size: 28rpx; | |||
margin-left: 17rpx; | |||
} | |||
.item>.title>.title_1{ | |||
width: 520rpx; | |||
.infoContainer>.listName { | |||
color: #333333; | |||
padding-left: 10rpx; | |||
font-size: 30rpx; | |||
margin: 40rpx 0 40rpx 30rpx; | |||
padding-left: 50rpx; | |||
background-size: 37rpx 29rpx; | |||
background-position: left center; | |||
background-repeat: no-repeat; | |||
} | |||
.item>.title>.title_2 { | |||
width: 50rpx; | |||
height: 60rpx; | |||
text-align: center; | |||
.recordList { | |||
width: 100%; | |||
height: calc(100% - 25rpx - 75rpx - 58rpx - 80rpx - 30rpx); | |||
} | |||
.recordItem { | |||
position: relative; | |||
width: 690rpx; | |||
margin: 0 auto 30rpx auto; | |||
height: 75rpx; | |||
} | |||
.item>.title>.title_2>image{ | |||
width: 34rpx; | |||
height: 19rpx; | |||
margin: 20.5rpx auto; | |||
.recordItem>text { | |||
position: absolute; | |||
font-size: 24rpx; | |||
font-weight: 500; | |||
} | |||
.item>.details{ | |||
margin: 10rpx auto; | |||
.recordItem>.cdate { | |||
top: 0; | |||
left: 0; | |||
color: #333333; | |||
} | |||
.item>.details>.time{ | |||
.recordItem>.couponName,.price { | |||
top: 0; | |||
right: 0; | |||
color: #333333; | |||
font-size: 24rpx; | |||
} | |||
.item>.details>.infoBox{ | |||
.recordItem>.couponNo,.phone{ | |||
bottom: 0; | |||
left: 0; | |||
color: #999999; | |||
} | |||
.recordItem>.insideCoupon,.integral{ | |||
bottom: 0; | |||
right: 0; | |||
color: #999999; | |||
font-size: 21rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
margin-top: 5rpx; | |||
} | |||
.icon1 { | |||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAdCAYAAAAtt6XDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF7mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNi0wMVQxNzowMjoyMCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDYtMDFUMTc6MDM6NTMrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDYtMDFUMTc6MDM6NTMrMDg6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YWRhMzEzMDItNDQ5NC04YjQyLThkN2EtY2M4ZWZhYTFkZmI1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk5QUQ0RDU4QTNFNjExRUE5NjFFRUNGNkFDMTYxMkZCIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTlBRDRENThBM0U2MTFFQTk2MUVFQ0Y2QUMxNjEyRkIiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5OUFENEQ1NUEzRTYxMUVBOTYxRUVDRjZBQzE2MTJGQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5OUFENEQ1NkEzRTYxMUVBOTYxRUVDRjZBQzE2MTJGQiIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphZGEzMTMwMi00NDk0LThiNDItOGQ3YS1jYzhlZmFhMWRmYjUiIHN0RXZ0OndoZW49IjIwMjAtMDYtMDFUMTc6MDM6NTMrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz63cCiuAAACG0lEQVRYhe3XT4hNYRjH8c+VWGBmg4XYKFHC5lprJpGaGeVfspHZYKHMUg1ixEpZWLCRncXMKMNYWFAkqVv+LpTxZyE0sjBSYnEt3ufmdDsn916GUfOrt+ec933et+953ud9zjmlarVqqmnGvwbI0zRUo5qZvSmXy/8kwSqVSil7P/UjlVGpoP9PK3dnpmSk/iuoK2grGKsqCHsLKslJlXqo8/iEHgzmTfgbqofah7X4iA3Y9htrz8dJPMbXaA9xPMYahoLnOBbXu1sE2ooxHMIqzI62BofxInwahiLlFClqrQANoh3X0Il50Tqjry18csGK6tTbsAubBFqAC1IuHpW2KqtbeCNFbEn43sF41qkoUovCjheMF+mAFIXRHCBYjJsB9D58D9Y7FUH1hK00CVWbdzpnrB3XA+w+9kR/VyNQy3Akri82CbUibAXr8QgrMQuXpaQfQzfuhu/y+kXqc+ocdkpPdQNDTUJl1YvVuIRXUpK/wyZ8wNzw+1Y/sT5SewNoBNs1X7mfhS1jP15L0emRivJGKVL8PNkvfwVV02ZMFIzlvhpCI2H7AmIXhnEbW/Ak49sXdrRRqFZ1VnqYbvTjnvRWWCedupr6w2cCZyYbalzKpSoGcBUdmBOtQ4rmQPj0yik7RcWzla+A2pYOY4dUGLvkHHl8lkrCcN5Ck/U9NYSlOIWn+I4veIATMZYLBKXpn9EGNQ3VqH4AnJBqGAhwlDIAAAAASUVORK5CYII='); | |||
} | |||
.icon2 { | |||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAdCAYAAAAtt6XDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF7mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNi0wMVQxNzowMjozOSswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDYtMDFUMTc6MDQ6MTErMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDYtMDFUMTc6MDQ6MTErMDg6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YTdjYWNmZGUtNDQzNC0wMDRhLTlhNzAtNTA2ZWE0ZTIxOWI4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE1NDJDMjdCQTNFNjExRUE4OTQ2ODdBMURDQzMzOEVGIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6QTU0MkMyN0JBM0U2MTFFQTg5NDY4N0ExRENDMzM4RUYiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBNTQyQzI3OEEzRTYxMUVBODk0Njg3QTFEQ0MzMzhFRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBNTQyQzI3OUEzRTYxMUVBODk0Njg3QTFEQ0MzMzhFRiIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphN2NhY2ZkZS00NDM0LTAwNGEtOWE3MC01MDZlYTRlMjE5YjgiIHN0RXZ0OndoZW49IjIwMjAtMDYtMDFUMTc6MDQ6MTErMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz79b+aGAAACIUlEQVRYhe3XT4hNcRQH8M+TWGBmg4WNEmEhpWetmaJojDJoykImNTbKLNUgRqyUhQUb2VkYyjAphVBWT/6kKENKKSPFSInFs/j9Xm537p13HzNm1PvW6dz7O9/fvd97zrnnvVuqVqtmGmZNt4AsNEUVxezkSblcnpYGq1QqpeT5zM9UAqWc9clGZmVmZKb+K1HX0PIP7l+S0SppUefxBZ24nLGhWscmBWlR+7Een7AJO/7i2gtxEs/wPdoTHI+xwqLgFY7F4z2pWKmO1dCFERzCGsyNthaH8TpyCosi9BQha42iSyh9K26gHQuitce1lsjJFJY3p95Hv7hBQYtwQcjaUaFUSdzFOyF7SyP3AUaTpLxMLYl+NCeehwNCFoYzBNVE34yCPkTuwTQpT1Rn9JUGRdX2nc6IteI2lsfr7ovrHUVErcCReHwxFas3BlZFX0EbHmE15uCqULYRbMG9yF2ZFpDuqXPojk91C4MZoouiF+twCS+EJv+IzdHPj7wf6Y3pTPVGQUPYaXwmJhoD8DL6sjDz3gpjoFsYyhuFTPH7zX5TT1QN2zCWE5sIQ9H34TN2C2W7j+14muD2RT9cVNSf4qzwMFvRj4fCLNqAOwlef+SM4cxUixpFj1D2AVwXGn5etDYhmwOR0yNj7OQNz0Z/XJO9dQW7hMHYIeOVx1fsjdxxmKr/U4NYhlN4jp/4hsc4EWOZgqDU/BgtiKaoovgFMNZ1HHLhwwgAAAAASUVORK5CYII='); | |||
} | |||
.icon3 { | |||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAdCAYAAAAtt6XDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF7mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNi0wMVQxNzowMjo1OCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDYtMDFUMTc6MDQ6MjkrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDYtMDFUMTc6MDQ6MjkrMDg6MDAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OWFjZmY0NjUtMTMyNi1mNDQ0LTk0NWUtMDExMTM5NzM5OTBmIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIwNzY0MUE2QTNFNjExRUFCOTRCODY2OUE3MTJENzY3IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6QjA3NjQxQTZBM0U2MTFFQUI5NEI4NjY5QTcxMkQ3NjciIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCMDc2NDFBM0EzRTYxMUVBQjk0Qjg2NjlBNzEyRDc2NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCMDc2NDFBNEEzRTYxMUVBQjk0Qjg2NjlBNzEyRDc2NyIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5YWNmZjQ2NS0xMzI2LWY0NDQtOTQ1ZS0wMTExMzk3Mzk5MGYiIHN0RXZ0OndoZW49IjIwMjAtMDYtMDFUMTc6MDQ6MjkrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6vQJFyAAAEXElEQVRYhc2XXUhkZRjHf+NRx2ScXWHTMzCZQn4g4yjO0WguHBARnFoYaPciPy7qQulyuyuKaAu7CGK6EoPqRuuiViLakbypDJTk9aCjaNruGu6CowbmKubojKeLc2YY9cw0zm4ff3h54bzPeZ//ed7n+Z/3sWiaRjYYGBi4PDs72wYoQL3FYnlK0zQn8ARwCdCAh8CfFovlgaZp94ElQHg8nsnh4eE/snIEWDKRUhQl32q1XotGo68APqAw243P4Aj4wWq1fhaNRr8SQsRyIqUoSpskSR/H4/FaAEmScLvdNDQ0UFtbi8PhQJZlioqKsNlsAOzv73N4eEgkEmFjY4OVlRUWFhYIh8PE43GMfVbi8fiAEOLHC5FSFOV54Gsgv6Kigp6eHjo7OykpKckmKuewt7fHxMQEo6OjrK+vA8SAgBDitukLmqadGx6PZ8Pj8WjBYFCLxWLa40IsFtOCwaDm8Xg0w4ep/7w0HycDOJ1OJEnKKTpmkCQJp9N5yocZ0h1f8mFzczO9vb14vV7y8/NzIhOLxZiammJkZARVVU/5F0Kcs8/opaysDFVVUVUVm81Ga2srLpeLmpoaZFlOJnoqEokeiURYXV1lcXGRmZkZ9vf3k3tubW1l/IiMkZqamiIUChEKhZibm+Pk5MR0k+LiYgAODg5M1/Py8mhqasLv9+P3+/F6vUn/F45UYWEhgUCAQCDAzs4O4XCYpaUl1tbWiEQibG5ucnx8nIyC3W6noKCA8vJyZFmmqqqK+vp63G43paWlmVxlTyoVpaWl+Hw+fD5f1pvninTV958it3JKgaIolsdBJBX/y0j9U6SuAINAGDg0xhxw01jLndTY2FguhF4E7gCvAw2A1RiNwFvAXcMmN1KDg4P09/czOTnJ8fFxtoS+RL9ffQu0AyXGaDee2Q2btMQupOgtLS24XC6qq6uTip6CJ4FPAQvwNvpRpeJ74D569J42bH8Czsl7RkWfnp5mfHycUCiEqqrpFD1RfTfRj+c28IKJnQOYBJ4BNoFy4H0hxBsXIpX6C9jd3WV+fv6Uom9tbbG9vZ0gNYeeN+3oUUnFJfSoNAA/A+8AIWBBCOHOmVQ6pOjUIXpC24FngQ+AXuBXYNwgewfwGrYPgSMhhPXsno8snmnwMtAEfAH8ZhB6AHQC24DNsDsyezlj9WXb6Rj4xZgV4FXgHvpxXQV2AT+wZti0GPO9i5C6CzA0NJS88GeBb4z5BvrRvAR8DnwHBICFFNsbxmx6R//bxqGyspLu7m46Ojqw2+1mtomcKkPPHzt6Fb6XhvybwLsG8WohRHaSYDhrAz5BL2EkSaKxsRGXy0VdXR2yLONwOOjq6kr9ISfE04IulB8CM8ZaK3qErqI3rteBW2bFlLEZ7evrK1heXr4OJJpRs8I4e0u4hi6M6fqxPfRCuAXmFZ6RVCoURbkMPIde7vXoqlyBLopncQV4DT0qtehVtoqeQx8BvycMH4nUv4m/AB4cCh5yPoATAAAAAElFTkSuQmCC'); | |||
} | |||
.icon4 { | |||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAdCAYAAAAtt6XDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkI4NjdBQ0EwQTNFNjExRUFCOEIwREQwMzE5NURBOUY1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkI4NjdBQ0ExQTNFNjExRUFCOEIwREQwMzE5NURBOUY1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Qjg2N0FDOUVBM0U2MTFFQUI4QjBERDAzMTk1REE5RjUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Qjg2N0FDOUZBM0U2MTFFQUI4QjBERDAzMTk1REE5RjUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5X3tISAAAFD0lEQVR42sxXWUhkVxCtbtt9G1wjrlFwTcRd/DAG40Ak6IcaBhMENR9GxfwGgoyRETc0gjGYqB+CERHUj3zE4IBhxLghfohbRCVqVNzjvrV26ty8ltYx+rrHQAoO7/a71feeV1W3qq5Co9GQvpKRkWE8Ozv7Hv/36dXVVRi/8mI4M2wklX3GOuMPxpiRkdFLX1/fvpaWlgs56yv0IRUREaFQqVT5l5eXX/H/XG7Pm5mZEdY7Ozt7fSOFYo3JlarV6u9GR0c1b0yKyYgnE/qeF83BmL+cEhISKDg4mDw9Pcne3p6USqXQY+vR9vY2LS4u0vj4OPX09NDc3Jx2jR94jc8xZnJvTopFKNfX11NkZKReLh8ZGaG8vLzrfe8jpSQDZGhoiHZ3d2XrQ3d4eFi2vkGWgpiYmFBMTAyFhYWRt7c3OTs7k6mpqZhDTK2vr9PCwgKNjY3R4OAgnZ+f39j30d3n4+ND8/PzelkXxEFSDimVIe5rb2+nqakpYYHJyUlaXl6mra0tOjg4EPPW1tbk4OBA7u7uFBQUJCwaGBio+3H3ikGkINgE+C9ESf9DkUUKvtf1f3V1Ne3s7MjeBDmrqqrqxnqP7r62tjbq7Oyk6OhoCg0NFUHs5ORElpaWYv7o6Ig2NjauTx9y1K3TZ1hK4KD0xIPxrk5t+1BbTk5PT/X6EFQArpdaSyl4fSseljA+ZZgzXjGKRjEJUqxgxi+yGCEMN4mM00MbITW4uLjQ6uqqcBEsBIHFUHZQfgICAsTpw1Pn9BkxehgfcE1EXRSlCSmO8VTFirB5NyNWd0M3NzexEICNHR0dRXK0sLAQX1xeXi5y1eHhIRUXF8s+7pLkgxC7/KqhoUFhZ2enqK2t1XR0dCD7vlCEh4cX8+C5h4cHZWdni839/f3J1tb23lU3NzepqKhIxAsKMbczlJubi4J7pz5yWkFBAYYX/zQNClVFRYUmPj5eJNKTk5Pz2NhYEx7ugdTvcHlTUxOFhIToFScweWtrqyjQCGRYtaSkRAT93t6eCPSJiQnq7e297hJYEPEmKM4wglaWlpYoJSUFwz/xWW9jhBZE73wiWSgqKooKCwtpenqaUlNT/039UooZi8TERMrKyrox2djYqB3+jDxlrN3AUPHz8yPuKiktLe0+NQS3BQaurq4iuLXS1dVF3d0Ia9pjlMN9GjkJTdidXcRtyCvuCOALNeMvKUYOERaMU3bZAXcJ6uPj413uUNX7+/tcEg9OV1ZWTpqbm3EafuQDYwwSNjY2NDMzI9zIa4PHx8yjk0AKkCM1NTXQ3WB8glRiCPi/v2I/7sk0TFiTlJSkkTh8o9VR6hPUyEcsjoxWTgE/MVwNdTnch9Mrrfkb48vXat/FxcWDQV1ZWUllZWXEeQWvkhiTTOwzXChkXjxQJWKQNgYGBqivr09kF8Yzdts1AcQUujVv1DGcICTKhwTHHQVWCk7RgjMWZfCKYnh6eXmJFMDWx4lMZEIvb1iRSQXx8xepvNwpyOKZmZmUnp5O5ubm1+/7+/uptLRUFF+5gtK0trZGfBDw8zkTenFnQWazvgUFpH4pZm7LE+iim8zJyaHk5GTiO5yYQJnBpUBOW40qgXyEzkEyxEdM6srQHh33qUrG+9p+Oz8/n+Li4vQK7rq6OuK0IBI4I5wJbT3GDTlRIvcOfltZWemVdNHD834oM3FMaOhRru0SMbDIZHzNcDcgG3zBhL69T+FvAQYAZJmQoqUtypEAAAAASUVORK5CYII='); | |||
} |
@@ -20,7 +20,9 @@ | |||
"ignore": [], | |||
"disablePlugins": [], | |||
"outputPath": "" | |||
} | |||
}, | |||
"useCompilerModule": false, | |||
"userConfirmedUseCompilerModuleSwitch": false | |||
}, | |||
"compileType": "miniprogram", | |||
"libVersion": "2.10.2", |