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