Commit 64128ee33546daacf0fafd16c6c05475d8501167
1 parent
eef50d4a
会员权益免费领取
Showing
7 changed files
with
158 additions
and
116 deletions
components/qr_code/qr_code.js
pages/user/index/index.js
| ... | ... | @@ -652,7 +652,8 @@ Page({ |
| 652 | 652 | getApp().goto("/pages/user/user_fw/user_fw?gradeId=" + th.data.gradeId + "&FormId=" + item.Id); |
| 653 | 653 | break; |
| 654 | 654 | case "03": |
| 655 | - getApp().goto("/pages/user/user_spsy/user_spsy"); | |
| 655 | + getApp().goto("/pages/user/user_spsy/user_spsy?img=" + | |
| 656 | + url + "&gradeId=" + th.data.gradeId + "&FormId=" + item.Id); | |
| 656 | 657 | break; |
| 657 | 658 | case "10": |
| 658 | 659 | getApp().request.get("/api/weshop/users/grade/vipprivilegelist/other/get", { | ... | ... |
pages/user/user_spsy/user_spsy.js
| 1 | 1 | // pages/user/usersy/usersy.js |
| 2 | -var e = getApp(),os = e.globalData.setting; | |
| 3 | -var utils = require('../../../utils/util.js'); | |
| 2 | +var e = getApp(), | |
| 3 | + os = e.globalData.setting; | |
| 4 | +var ut = require('../../../utils/util'); | |
| 4 | 5 | var regeneratorRuntime = require('../../../utils/runtime.js'); |
| 5 | 6 | |
| 6 | 7 | Page({ |
| ... | ... | @@ -8,27 +9,100 @@ Page({ |
| 8 | 9 | * 页面的初始数据 |
| 9 | 10 | */ |
| 10 | 11 | data: { |
| 11 | - qr_code_object:{val:"12121",content:"请将二维码展示给核销员,取货更快捷!"}, | |
| 12 | - xp_list:null, | |
| 13 | - iurl:os.imghost, | |
| 12 | + qr_code_object: {}, | |
| 13 | + xp_list: null, | |
| 14 | + iurl: os.imghost, | |
| 15 | + page: 1, | |
| 16 | + isLoading: 0, | |
| 17 | + no_more: 0, | |
| 18 | + is_use:0 //领取状态 | |
| 14 | 19 | }, |
| 15 | 20 | /** |
| 16 | 21 | * 生命周期函数--监听页面加载 |
| 17 | 22 | */ |
| 18 | - onLoad: function (options) { }, | |
| 23 | + onLoad: function (options) { | |
| 24 | + var h_pic = options.img; | |
| 25 | + if (h_pic.indexOf("http") == -1) { | |
| 26 | + h_pic = os.imghost + h_pic; | |
| 27 | + } | |
| 28 | + var FormId = options.FormId; | |
| 29 | + var GradeId = options.gradeId; | |
| 30 | + var now = ut.gettimestamp(); | |
| 31 | + this.setData({ | |
| 32 | + h_pic, | |
| 33 | + GradeId, | |
| 34 | + FormId, | |
| 35 | + now, | |
| 36 | + }); | |
| 37 | + this.requestData() | |
| 38 | + this.getQrCode(FormId) | |
| 39 | + }, | |
| 19 | 40 | /** |
| 20 | 41 | * 生命周期函数--监听页面显示 |
| 21 | 42 | */ |
| 22 | - onShow:async function () { | |
| 23 | - var th = this; | |
| 24 | - var xp_list=null; | |
| 25 | - //--获取列表-- | |
| 26 | - await getApp().request.promiseGet("http://172.20.3.102:8080/api/user_qy/xp_list", { | |
| 27 | - 1: 1 | |
| 28 | - }).then(res => { | |
| 29 | - xp_list = res.data; | |
| 30 | - }) | |
| 31 | - th.setData({xp_list:xp_list}); | |
| 43 | + onShow: function () { | |
| 44 | + | |
| 45 | + | |
| 46 | + }, | |
| 47 | + async getQrCode(id) { | |
| 48 | + const res = await getApp().request.promiseGet("/api/weshop/users/grade/wares/code/get", { | |
| 49 | + data: { | |
| 50 | + privilegeId: id, | |
| 51 | + storeId: os.stoid, | |
| 52 | + userId: getApp().globalData.user_id, | |
| 53 | + }, | |
| 54 | + }); | |
| 55 | + if (res.data.code == 0 && res.data.data) { | |
| 56 | + if(res.data.data.VerifyDate || res.data.data.VerifyNo){ | |
| 57 | + this.setData({ | |
| 58 | + is_use:1 | |
| 59 | + }) | |
| 60 | + }else{ | |
| 61 | + this.setData({ | |
| 62 | + qr_code_object: res.data.data, | |
| 63 | + }) | |
| 64 | + } | |
| 65 | + } | |
| 66 | + }, | |
| 67 | + async requestData() { | |
| 68 | + if (this.data.no_more) return false; | |
| 69 | + if (this.data.isLoading) return false; | |
| 70 | + this.data.isLoading = 1; | |
| 71 | + let { | |
| 72 | + GradeId, | |
| 73 | + FormId, | |
| 74 | + page, | |
| 75 | + xp_list | |
| 76 | + } = this.data; | |
| 77 | + let req_data = { | |
| 78 | + page, | |
| 79 | + GradeId, | |
| 80 | + FormId, | |
| 81 | + storeId: os.stoid, | |
| 82 | + userId: getApp().globalData.user_id, | |
| 83 | + } | |
| 84 | + const res = await getApp().request.promiseGet("/api/weshop/users/grade/wechat/wares/page", { | |
| 85 | + data: req_data | |
| 86 | + }); | |
| 87 | + | |
| 88 | + if (ut.ajax_ok(res)) { | |
| 89 | + if (res.data.data.page > 1) { | |
| 90 | + xp_list = xp_list.concat(res.data.data.pageData); | |
| 91 | + } else { | |
| 92 | + xp_list = res.data.data.pageData; | |
| 93 | + } | |
| 94 | + this.setData({ | |
| 95 | + xp_list, | |
| 96 | + isLoading: 0, | |
| 97 | + no_more: 0, | |
| 98 | + }) | |
| 99 | + } else { | |
| 100 | + this.setData({ | |
| 101 | + xp_list: [], | |
| 102 | + isLoading: 0, | |
| 103 | + no_more: 0, | |
| 104 | + }) | |
| 105 | + } | |
| 32 | 106 | }, |
| 33 | 107 | /** |
| 34 | 108 | * 页面上拉触底事件的处理函数 |
| ... | ... | @@ -46,26 +120,36 @@ Page({ |
| 46 | 120 | |
| 47 | 121 | |
| 48 | 122 | /*-- 打开服务项目 --*/ |
| 49 | - open_xp:function (e) { | |
| 50 | - var th=this; | |
| 123 | + open_xp: function (e) { | |
| 124 | + var th = this; | |
| 51 | 125 | var qc_com = this.selectComponent("#qc_com"); //组件的id |
| 52 | 126 | qc_com.open(th.data.qr_code_object) |
| 53 | 127 | }, |
| 54 | 128 | |
| 55 | 129 | //--领取商品-- |
| 56 | - get_xp:function (e) { | |
| 57 | - var th=this,index=e.currentTarget.dataset.ind; | |
| 58 | - getApp().request.post("http://172.20.3.102:8080/api/user_qy/get_gd",{ | |
| 59 | - data:{}, | |
| 60 | - success:function (e) { | |
| 61 | - if(e.data.code==0){ | |
| 62 | - var txt="xp_list["+index+"].is_get" | |
| 63 | - var obj={};obj[txt]=1; | |
| 64 | - th.setData(obj); | |
| 65 | - } | |
| 66 | - } | |
| 130 | + async show_hxm(e) { | |
| 131 | + let qr_code_object = this.data.qr_code_object; | |
| 132 | + if (qr_code_object !== {}) { | |
| 133 | + let { Number: val, BeginDate, EndDate} = qr_code_object; | |
| 134 | + let qr_code = this.selectComponent("#qc_com"); | |
| 135 | + let obj = { | |
| 136 | + val, | |
| 137 | + content: "请将二维码展示给核销员,抵券更快捷", | |
| 138 | + now: BeginDate, | |
| 139 | + validay: EndDate, | |
| 140 | + is_quan: 1, | |
| 141 | + }; | |
| 142 | + qr_code.open(obj) | |
| 143 | + }else{ | |
| 144 | + wx.showToast({ | |
| 145 | + title: "获取失败", | |
| 146 | + icon: 'none', | |
| 147 | + duration: 1000 | |
| 67 | 148 | }) |
| 68 | - } | |
| 69 | - | |
| 149 | + } | |
| 150 | + }, | |
| 70 | 151 | |
| 152 | + close:function (){ | |
| 153 | + this.getQrCode(this.data.FormId) | |
| 154 | + } | |
| 71 | 155 | }) |
| 72 | 156 | \ No newline at end of file | ... | ... |
pages/user/user_spsy/user_spsy.json
pages/user/user_spsy/user_spsy.wxml
| 1 | -<view class="xc-page" > | |
| 2 | - <view class="items" wx:for="{{xp_list}}"> | |
| 3 | - <view class="rel"> | |
| 4 | - <image class="new-product" src="{{iurl+item.img}}"></image> | |
| 5 | - <image wx:if="{{item.is_get}}" class="abs zimg" src="{{iurl}}/miniapp//images/userqy/isgeted.png"></image> | |
| 6 | - </view> | |
| 7 | - | |
| 8 | - <view class="product-explain three-level-word">{{item.goods_name}}</view> | |
| 9 | - <view class="xc-bottom flex"> | |
| 10 | - <view class="xc-goods-money three-level-word ">¥ | |
| 11 | - </view> | |
| 12 | - <view class="xc-money"> | |
| 13 | - {{item.goods_price}} | |
| 14 | - </view> | |
| 15 | - <view class="xc-clike-get t-c white" data-ind="{{index}}" bindtap="open_xp" wx:if="{{item.is_get}}">立即使用</view> | |
| 16 | - <view class="xc-clike-get t-c white" data-ind="{{index}}" bindtap="get_xp" wx:else>免费领取</view> | |
| 17 | - </view> | |
| 18 | -</view> | |
| 1 | +<view> | |
| 2 | + <image class="xc-coupon-img" src="{{h_pic}}"></image> | |
| 3 | + <view class="flex pd20 jc_sb fs28"> | |
| 4 | + <view>单品名称</view> | |
| 5 | + <view>数量</view> | |
| 6 | + </view> | |
| 7 | + <view class="flex pd20 jc_sb fs26" wx:for="{{xp_list}}" wx:key="id"> | |
| 8 | + <view>{{item.PrivilegeName}}</view> | |
| 9 | + <view class="c-a4">x{{item.SecondNo}}</view> | |
| 10 | + </view> | |
| 11 | + <view class="btn-container"> | |
| 12 | + <!-- <view wx:if="{{details.isget}}" data-type="1" class="btn" style="background-color:#aaa;color: #fff"> | |
| 13 | + 已使用{{list[0].freebh}} | |
| 14 | + </view> --> | |
| 15 | + <view wx:if="{{is_use}}" class="btn">已使用</view> | |
| 16 | + <view wx:else bindtap="show_hxm" data-type="1" class="btn">立即使用</view> | |
| 17 | + <!-- <view bindtap="right_use" class="btn">立即使用</view></view> --> | |
| 18 | + </view> | |
| 19 | 19 | </view> |
| 20 | 20 | |
| 21 | 21 | <!-- 弹出框扫描 --> |
| 22 | -<qr_code id="qc_com"></qr_code> | |
| 23 | - | |
| 24 | - | |
| 25 | - | |
| 26 | - | |
| 27 | - | |
| 28 | - | |
| 22 | +<qr_code id="qc_com" bindclose="close"></qr_code> | |
| 29 | 23 | \ No newline at end of file | ... | ... |
pages/user/user_spsy/user_spsy.wxss
| ... | ... | @@ -3,66 +3,28 @@ page{ |
| 3 | 3 | height: 100%; |
| 4 | 4 | background:#f4f5fa; |
| 5 | 5 | } |
| 6 | -.xc-page{ | |
| 7 | - width: 100%; | |
| 8 | - height: 100%; | |
| 9 | - background: #f4f5fa; | |
| 10 | -} | |
| 11 | -.xc-page .items{ | |
| 12 | - display: inline-block; | |
| 13 | - width: 345rpx; | |
| 14 | - height:450rpx; | |
| 15 | - margin-left:20rpx; | |
| 16 | - margin-top: 25rpx; | |
| 17 | - border-radius: 15rpx; | |
| 18 | - background:#fff; | |
| 19 | -} | |
| 20 | - | |
| 21 | -.xc-page .items .zimg{ | |
| 22 | - width: 120rpx; | |
| 23 | - height: 120rpx; | |
| 24 | - left:50%; top:50%; | |
| 25 | - margin-left: -60rpx; margin-top: -60rpx; | |
| 26 | -} | |
| 27 | - | |
| 28 | 6 | |
| 29 | -.new-product{ | |
| 30 | - width:345rpx; | |
| 31 | - height:325rpx; | |
| 32 | - border-radius:15rpx 15rpx 0 0; | |
| 33 | -} | |
| 34 | -.product-explain{ | |
| 35 | - width: 90%; | |
| 36 | - word-break:break-all; | |
| 37 | - height: 40rpx; | |
| 38 | - margin-left:15rpx; | |
| 39 | - | |
| 40 | -} | |
| 41 | -.xc-bottom{ | |
| 42 | - margin-top: 13rpx; | |
| 7 | +.xc-coupon-img{ | |
| 43 | 8 | width: 100%; |
| 44 | - margin-left: 15rpx; | |
| 45 | -} | |
| 46 | - | |
| 47 | -.xc-bottom .xc-goods-money{ | |
| 48 | -color: #ca4e59; | |
| 49 | - padding-top: 12rpx; | |
| 50 | -} | |
| 51 | -.xc-bottom .xc-money{ | |
| 52 | - color: #ca4e59; | |
| 53 | - font-size: 40rpx; | |
| 54 | - height: 100%; | |
| 55 | - line-height:50rpx | |
| 9 | + height: 330rpx; | |
| 10 | +} | |
| 11 | +.btn-container { | |
| 12 | + position: fixed; | |
| 13 | + left: 0; | |
| 14 | + bottom: 0; | |
| 15 | + width: 100%; | |
| 16 | + /* padding: 20rpx 30rpx; */ | |
| 17 | + box-sizing: border-box; | |
| 18 | + background-color: white; | |
| 19 | + border-top: 2rpx solid #f2f2f2; | |
| 20 | + z-index: 1; | |
| 56 | 21 | } |
| 57 | 22 | |
| 58 | -.xc-clike-get{ | |
| 59 | - width: 120rpx; | |
| 60 | - height: 36rpx; | |
| 61 | - border-radius: 20rpx; | |
| 62 | - background: #ca4e59; | |
| 63 | - line-height:28rpx; | |
| 64 | - font-size:27rpx; | |
| 65 | - margin-left: 120rpx; | |
| 66 | -padding-top: 10rpx | |
| 23 | +.btn { | |
| 24 | + background-color: #FF6768; | |
| 25 | + color: white; | |
| 26 | + padding: 26rpx; | |
| 27 | + text-align: center; | |
| 28 | + /* border-radius: 8rpx; */ | |
| 67 | 29 | } |
| 68 | 30 | ... | ... |
pages/user/userqy/userqy.js
| ... | ... | @@ -197,7 +197,7 @@ Page({ |
| 197 | 197 | getApp().goto("/pages/user/user_fw/user_fw?gradeId="+th.data.gradeId+"&FormId="+item.Id); |
| 198 | 198 | break; |
| 199 | 199 | case "03": |
| 200 | - getApp().goto("/pages/user/user_spsy/user_spsy"); | |
| 200 | + getApp().goto("/pages/user/user_spsy/user_spsy?img="+url+"&gradeId="+th.data.gradeId+"&FormId="+item.Id); | |
| 201 | 201 | break; |
| 202 | 202 | case "10": |
| 203 | 203 | getApp().request.get("/api/weshop/users/grade/vipprivilegelist/other/get",{ | ... | ... |