| } | } | ||||
| }, | }, | ||||
| requestGet: function(url, data, callBack) { | requestGet: function(url, data, callBack) { | ||||
| var that=this; | |||||
| wx.request({ | wx.request({ | ||||
| url: this.globalData.apiUrl + url, //仅为示例,并非真实的接口地址 | url: this.globalData.apiUrl + url, //仅为示例,并非真实的接口地址 | ||||
| data: data, | data: data, | ||||
| 'content-type': 'application/json' // 默认值 | 'content-type': 'application/json' // 默认值 | ||||
| }, | }, | ||||
| success(res) { | 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) { | requestPost: function(url, data, callBack) { | ||||
| var that=this; | |||||
| wx.request({ | wx.request({ | ||||
| url: this.globalData.apiUrl + url, //仅为示例,并非真实的接口地址 | url: this.globalData.apiUrl + url, //仅为示例,并非真实的接口地址 | ||||
| data: data, | data: data, | ||||
| }, | }, | ||||
| method: "POST", | method: "POST", | ||||
| success(res) { | success(res) { | ||||
| callBack(res.data) | |||||
| if(res.data.code==-1003){ | |||||
| that.globalData.userState=0; | |||||
| wx.navigateTo({ | |||||
| url: '/pages/login/login' | |||||
| }) | |||||
| }else{ | |||||
| callBack(res.data) | |||||
| } | |||||
| } | } | ||||
| }) | }) | ||||
| }, | }, |
| "pages/store/store", | "pages/store/store", | ||||
| "pages/coupon/coupon", | "pages/coupon/coupon", | ||||
| "pages/record/record", | "pages/record/record", | ||||
| "pages/home/home" | |||||
| "pages/home/home", | |||||
| "pages/personal/personal", | |||||
| "pages/member/member" | |||||
| ], | ], | ||||
| "permission": { | "permission": { | ||||
| "scope.userLocation": { | "scope.userLocation": { | ||||
| "list": [ | "list": [ | ||||
| { | { | ||||
| "pagePath": "pages/home/home", | "pagePath": "pages/home/home", | ||||
| "text": "核销大厅", | |||||
| "text": "首页", | |||||
| "iconPath": "static/tabBar/home0.png", | "iconPath": "static/tabBar/home0.png", | ||||
| "selectedIconPath": "static/tabBar/home1.png" | "selectedIconPath": "static/tabBar/home1.png" | ||||
| }, | }, | ||||
| "selectedIconPath": "static/tabBar/store1.png" | "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" | |||||
| } | } | ||||
| ] | ] | ||||
| }, | }, |
| * 页面的初始数据 | * 页面的初始数据 | ||||
| */ | */ | ||||
| data: { | 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({ | this.setData({ | ||||
| code_num: event.detail.value | |||||
| nums: str?str:0 | |||||
| }) | }) | ||||
| }, | }, | ||||
| /** | /** | ||||
| * 核销 | * 核销 | ||||
| */ | */ | ||||
| writeOff: function() { | 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({ | wx.showToast({ | ||||
| title: '验证码错误', | |||||
| icon: 'none', | |||||
| title: '核销成功', | |||||
| icon: 'success', | |||||
| duration: 2000 | 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({ | wx.showToast({ | ||||
| title: res.message, | title: res.message, | ||||
| icon: 'none', | icon: 'none', | ||||
| duration: 2000 | duration: 2000 | ||||
| }) | }) | ||||
| this.setData({ | |||||
| writeOffing:false | |||||
| }) | |||||
| } | } | ||||
| that.setData({ | |||||
| state: state | |||||
| }) | |||||
| }) | }) | ||||
| } | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 添加优惠券 | * 添加优惠券 | ||||
| */ | */ | ||||
| addCoupon() { | 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({ | this.setData({ | ||||
| nums: this.data.nums + 1 | nums: this.data.nums + 1 | ||||
| }) | }) | ||||
| * 减少优惠券 | * 减少优惠券 | ||||
| */ | */ | ||||
| reduceCoupon() { | 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({ | this.setData({ | ||||
| nums: this.data.nums - 1 | nums: this.data.nums - 1 | ||||
| }) | }) | ||||
| } | } | ||||
| }, | }, | ||||
| blueNums(){ | |||||
| if (isNaN(this.data.nums)) { | |||||
| this.setData({ | |||||
| nums: 1 | |||||
| }) | |||||
| } | |||||
| }, | |||||
| /** | /** | ||||
| * 返回核销大厅 | * 返回核销大厅 | ||||
| */ | */ | ||||
| */ | */ | ||||
| onLoad: function(options) { | onLoad: function(options) { | ||||
| wx.hideShareMenu(); | 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; | |||||
| } | |||||
| }) | |||||
| }, | }, | ||||
| /** | /** |
| <!--pages/coupon/coupon.wxml--> | <!--pages/coupon/coupon.wxml--> | ||||
| <view class="container" style="background-color:#f6f6f6;"> | <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"> | <view class="detailsBox shadow"> | ||||
| <image class="bottomBg" src="../../static/coupon/bottomBg1.png"></image> | <image class="bottomBg" src="../../static/coupon/bottomBg1.png"></image> | ||||
| <image class="decorate" src="../../static/coupon/01.png"></image> | <image class="decorate" src="../../static/coupon/01.png"></image> | ||||
| <view class="detailsInfo"> | <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> | ||||
| <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> | </view> | ||||
| <image class="logo" src="../../static/coupon/logo.png" wx:if="{{type==1}}"></image> | |||||
| </view> | </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> | </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> | </view> |
| font-size: 100rpx; | font-size: 100rpx; | ||||
| font-weight: 550; | font-weight: 550; | ||||
| } | } | ||||
| .detailsBox>.detailsRight>.txt{ | |||||
| .detailsBox>.detailsRight>.txt { | |||||
| display: inline-block; | display: inline-block; | ||||
| width: 34rpx; | width: 34rpx; | ||||
| height: 70rpx; | height: 70rpx; | ||||
| margin-left: 5rpx; | 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; | position: relative; | ||||
| color: #666666; | |||||
| font-size: 24rpx; | |||||
| font-weight: 700; | |||||
| margin-left: 128rpx; | |||||
| } | |||||
| #couponCheck>.txt { | |||||
| width: 100%; | width: 100%; | ||||
| text-align: center; | |||||
| height: 120rpx; | |||||
| line-height: 120rpx; | |||||
| box-sizing: border-box; | |||||
| padding: 0 30rpx; | |||||
| color: #333333; | 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; | text-align: center; | ||||
| height: 38rpx; | |||||
| line-height: 38rpx; | |||||
| color: #eb6100; | |||||
| font-size: 40rpx; | |||||
| font-weight: 500; | |||||
| margin-top: 49rpx; | |||||
| } | } | ||||
| .btn { | .btn { | ||||
| font-size: 36rpx; | font-size: 36rpx; | ||||
| background: linear-gradient(-72deg, rgba(235, 97, 0, 1), rgba(255, 137, 42, 1)); | 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; | |||||
| } |
| this.setData({ | this.setData({ | ||||
| isQuerying: true | isQuerying: true | ||||
| }) | }) | ||||
| this.query(data); | |||||
| this.query({user_phone:data.phone}); | |||||
| } | } | ||||
| }, | }, | ||||
| query(data) { | query(data) { | ||||
| app.requestGet('couponbuy/searchbyphone', { | |||||
| user_phone: data.phone | |||||
| }, res => { | |||||
| app.requestGet('admin/buy/userid',data,res=>{ | |||||
| this.setData({ | this.setData({ | ||||
| isQuerying: false | isQuerying: false | ||||
| }) | }) | ||||
| if (res.code == 200) { | |||||
| app.globalData.couponData = res.data[0]; | |||||
| app.globalData.couponToken = res.token; | |||||
| if(res.code==200){ | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: '../coupon/coupon?phone=' + data.phone | |||||
| url: '../member/member?id=' + res.data.user_id | |||||
| }) | }) | ||||
| } else { | |||||
| }else{ | |||||
| wx.showToast({ | wx.showToast({ | ||||
| title: res.message, | title: res.message, | ||||
| icon: 'none', | icon: 'none', | ||||
| * 扫码 | * 扫码 | ||||
| */ | */ | ||||
| scanCode() { | scanCode() { | ||||
| var that=this; | |||||
| wx.scanCode({ | wx.scanCode({ | ||||
| onlyFromCamera: true, | onlyFromCamera: true, | ||||
| success(res) { | 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 }); | |||||
| } | } | ||||
| }) | }) | ||||
| }, | }, |
| position: absolute; | position: absolute; | ||||
| width: 33rpx; | width: 33rpx; | ||||
| height: 12rpx; | height: 12rpx; | ||||
| top: -11rpx; | |||||
| top: -10rpx; | |||||
| left: 140rpx; | left: 140rpx; | ||||
| } | } | ||||
| // 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() { | |||||
| } | |||||
| }) |
| { | |||||
| "usingComponents": {}, | |||||
| "navigationBarTitleText": "核销中心", | |||||
| "disableScroll": true | |||||
| } |
| <!--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> |
| /* 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; | |||||
| } |
| // 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 () { | |||||
| } | |||||
| }) |
| { | |||||
| "usingComponents": {}, | |||||
| "navigationBarTitleText": "个人中心", | |||||
| "disableScroll": true | |||||
| } |
| <!--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> |
| /* 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='); | |||||
| } |
| var showCouponName=function(item){ | |||||
| if(item.item_type==1){//代金券 | |||||
| return parseInt(item.original_price)+'元代金券' | |||||
| }else{//菜品券 | |||||
| return item.coupon_name_detail | |||||
| } | |||||
| } | |||||
| module.exports = { | |||||
| showCouponName:showCouponName | |||||
| }; |
| */ | */ | ||||
| data: { | data: { | ||||
| userInfo: null, | userInfo: null, | ||||
| canIUse: wx.canIUse('button.open-type.getUserInfo'), | |||||
| hasUserInfo: false, | |||||
| userNo: '', //员工编号 | userNo: '', //员工编号 | ||||
| showIndex: 1, | showIndex: 1, | ||||
| data: [], | 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) { | onLoad: function(options) { | ||||
| this.setData({ | |||||
| recordType:options.code | |||||
| }) | |||||
| wx.hideShareMenu(); | wx.hideShareMenu(); | ||||
| if (app.globalData.userInfo) { | if (app.globalData.userInfo) { | ||||
| this.setData({ | this.setData({ | ||||
| userInfo: app.globalData.userInfo, | 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({ | 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 | |||||
| }) | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 生命周期函数--监听页面初次渲染完成 | * 生命周期函数--监听页面初次渲染完成 | ||||
| */ | */ | ||||
| * 生命周期函数--监听页面显示 | * 生命周期函数--监听页面显示 | ||||
| */ | */ | ||||
| onShow: function() { | 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 | |||||
| }) | |||||
| } | |||||
| }) | |||||
| }, | }, | ||||
| /** | /** |
| { | { | ||||
| "usingComponents": {}, | "usingComponents": {}, | ||||
| "navigationBarTitleText": "核销记录", | |||||
| "navigationBarTitleText": "个人中心", | |||||
| "disableScroll": true | "disableScroll": true | ||||
| } | } |
| <!--pages/record/record.wxml--> | |||||
| <wxs src="./comm.wxs" module="comm" /> | |||||
| <view class="container"> | <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"> | <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> | ||||
| <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> | <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> | </view> | ||||
| </scroll-view> | |||||
| </picker> | |||||
| <view class="btnScreen" bindtap="timeScreen">筛选</view> | |||||
| </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> | </view> |
| .bg { | .bg { | ||||
| width: 750rpx; | width: 750rpx; | ||||
| height: 253rpx; | |||||
| height: 632rpx; | |||||
| } | } | ||||
| .content { | |||||
| .userContainer { | |||||
| position: absolute; | position: absolute; | ||||
| width: 100%; | width: 100%; | ||||
| top: 253rpx; | |||||
| bottom: 0; | |||||
| background-color: #fff; | |||||
| height: 337rpx; | |||||
| left: 0; | |||||
| top: 0; | |||||
| } | } | ||||
| .headBox { | .headBox { | ||||
| position: absolute; | 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%; | border-radius: 50%; | ||||
| box-sizing: border-box; | |||||
| padding: 6rpx; | |||||
| overflow: hidden; | overflow: hidden; | ||||
| background-color: #fff; | |||||
| } | } | ||||
| .headBox>image { | .headBox>image { | ||||
| width: 100%; | width: 100%; | ||||
| height: 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; | 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; | 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; | 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; | 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; | 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='); | |||||
| } |
| "ignore": [], | "ignore": [], | ||||
| "disablePlugins": [], | "disablePlugins": [], | ||||
| "outputPath": "" | "outputPath": "" | ||||
| } | |||||
| }, | |||||
| "useCompilerModule": false, | |||||
| "userConfirmedUseCompilerModuleSwitch": false | |||||
| }, | }, | ||||
| "compileType": "miniprogram", | "compileType": "miniprogram", | ||||
| "libVersion": "2.10.2", | "libVersion": "2.10.2", |