| @@ -4,7 +4,6 @@ | |||||
| "pages/passCar/choiceCar/choiceCar", | "pages/passCar/choiceCar/choiceCar", | ||||
| "pages/bannerdetail/index", | "pages/bannerdetail/index", | ||||
| "pages/getuserinfo/index", | "pages/getuserinfo/index", | ||||
| "pages/getphoneInfo/index", | |||||
| "pages/phoneinput/phoneinput", | "pages/phoneinput/phoneinput", | ||||
| "pages/market/index", | "pages/market/index", | ||||
| "pages/user/index", | "pages/user/index", | ||||
| @@ -20,8 +19,9 @@ | |||||
| "pages/login/index", | "pages/login/index", | ||||
| "pages/park/park", | "pages/park/park", | ||||
| "pages/passCar/passCar", | "pages/passCar/passCar", | ||||
| "pages/getphoneInfo/index", | |||||
| "pages/addPark/addPark", | "pages/addPark/addPark", | ||||
| "pages/youhuiquanma/index", | |||||
| "pages/orderquanma/index", | |||||
| "pages/passCar/couponList/couponList" | "pages/passCar/couponList/couponList" | ||||
| ], | ], | ||||
| "tabBar": { | "tabBar": { | ||||
| @@ -1,97 +1,105 @@ | |||||
| @import 'weui.wxss'; | |||||
| @import "weui.wxss"; | |||||
| @font-face { | @font-face { | ||||
| font-family: 'iconfont'; /* project id 777313 */ | |||||
| src: url('//at.alicdn.com/t/font_777313_jq7td4d3uab.eot'); | |||||
| src: url('//at.alicdn.com/t/font_777313_jq7td4d3uab.eot?#iefix') format('embedded-opentype'), | |||||
| url('//at.alicdn.com/t/font_777313_jq7td4d3uab.woff') format('woff'), | |||||
| url('//at.alicdn.com/t/font_777313_jq7td4d3uab.ttf') format('truetype'), | |||||
| url('//at.alicdn.com/t/font_777313_jq7td4d3uab.svg#iconfont') format('svg'); | |||||
| } | |||||
| font-family: "iconfont"; /* project id 777313 */ | |||||
| src: url("//at.alicdn.com/t/font_777313_jq7td4d3uab.eot"); | |||||
| src: url("//at.alicdn.com/t/font_777313_jq7td4d3uab.eot?#iefix") | |||||
| format("embedded-opentype"), | |||||
| url("//at.alicdn.com/t/font_777313_jq7td4d3uab.woff") format("woff"), | |||||
| url("//at.alicdn.com/t/font_777313_jq7td4d3uab.ttf") format("truetype"), | |||||
| url("//at.alicdn.com/t/font_777313_jq7td4d3uab.svg#iconfont") format("svg"); | |||||
| } | |||||
| .iconfont { | .iconfont { | ||||
| font-family: "iconfont" !important; | |||||
| font-size: 36rpx; | |||||
| font-style: normal; | |||||
| -webkit-font-smoothing: antialiased; | |||||
| -webkit-text-stroke-width: 0.2rpx; | |||||
| -moz-osx-font-smoothing: grayscale; | |||||
| font-family: "iconfont" !important; | |||||
| font-size: 36rpx; | |||||
| font-style: normal; | |||||
| -webkit-font-smoothing: antialiased; | |||||
| -webkit-text-stroke-width: 0.2rpx; | |||||
| -moz-osx-font-smoothing: grayscale; | |||||
| } | } | ||||
| /* 定位 */ | /* 定位 */ | ||||
| .icon-dingweib:before { content: "\e652"; } | |||||
| .icon-dingweib:before { | |||||
| content: "\e652"; | |||||
| } | |||||
| /* 三角 */ | /* 三角 */ | ||||
| .icon-choose:before { content: "\e601"; } | |||||
| .icon-choose:before { | |||||
| content: "\e601"; | |||||
| } | |||||
| /* 右箭头 */ | /* 右箭头 */ | ||||
| .icon-right:before { content: "\e612"; } | |||||
| .icon-right:before { | |||||
| content: "\e612"; | |||||
| } | |||||
| /* 边框 */ | /* 边框 */ | ||||
| .app-border-top, | .app-border-top, | ||||
| .app-border-bottom { | .app-border-bottom { | ||||
| position: relative; | |||||
| width: 100%; | |||||
| position: relative; | |||||
| width: 100%; | |||||
| } | } | ||||
| .app-border-top::after, | .app-border-top::after, | ||||
| .app-border-bottom::after { | .app-border-bottom::after { | ||||
| content: ''; | |||||
| position: absolute; | |||||
| background-color: #ddd; | |||||
| display: block !important; | |||||
| z-index: 1; | |||||
| top: auto; | |||||
| right: auto; | |||||
| width: 100%; | |||||
| height: 1rpx; | |||||
| transform-origin: 50% 100%; | |||||
| transform: scaleY(0.5); | |||||
| content: ""; | |||||
| position: absolute; | |||||
| background-color: #ddd; | |||||
| display: block !important; | |||||
| z-index: 1; | |||||
| top: auto; | |||||
| right: auto; | |||||
| width: 100%; | |||||
| height: 1rpx; | |||||
| transform-origin: 50% 100%; | |||||
| transform: scaleY(0.5); | |||||
| } | } | ||||
| .app-border-top:last-child:after, | .app-border-top:last-child:after, | ||||
| .app-border-bottom:last-child::after { | .app-border-bottom:last-child::after { | ||||
| display: none !important; | |||||
| display: none !important; | |||||
| } | } | ||||
| .app-border-top::after { | .app-border-top::after { | ||||
| top: 0; | |||||
| top: 0; | |||||
| } | } | ||||
| .app-border-bottom::after { | .app-border-bottom::after { | ||||
| bottom: 0; | |||||
| bottom: 0; | |||||
| } | } | ||||
| .app-border-left, | .app-border-left, | ||||
| .app-border-right { | .app-border-right { | ||||
| position: relative; | |||||
| height: 100%; | |||||
| position: relative; | |||||
| height: 100%; | |||||
| } | } | ||||
| .app-border-left::before, | .app-border-left::before, | ||||
| .app-border-right::before { | .app-border-right::before { | ||||
| content: ''; | |||||
| position: absolute; | |||||
| background-color: #ddd; | |||||
| display: block; | |||||
| z-index: 1; | |||||
| top: 0; | |||||
| bottom: 0; | |||||
| height: 100%; | |||||
| width: 1rpx; | |||||
| transform-origin: 50% 100%; | |||||
| transform: scaleX(0.5); | |||||
| content: ""; | |||||
| position: absolute; | |||||
| background-color: #ddd; | |||||
| display: block; | |||||
| z-index: 1; | |||||
| top: 0; | |||||
| bottom: 0; | |||||
| height: 100%; | |||||
| width: 1rpx; | |||||
| transform-origin: 50% 100%; | |||||
| transform: scaleX(0.5); | |||||
| } | } | ||||
| .app-border-left::before { | .app-border-left::before { | ||||
| left: 0; | |||||
| left: 0; | |||||
| } | } | ||||
| .app-border-right::before { | .app-border-right::before { | ||||
| right: 0; | |||||
| right: 0; | |||||
| } | } | ||||
| view{ | |||||
| font-family: PingFangSC-Semibold; | |||||
| view, | |||||
| text { | |||||
| font-family: PingFangSC-Semibold; | |||||
| } | } | ||||
| page{ | |||||
| page { | |||||
| width: 100%; | width: 100%; | ||||
| height: 100%; | height: 100%; | ||||
| font-weight: 400; | |||||
| } | } | ||||
| @@ -1 +0,0 @@ | |||||
| <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#cbc8c2" d="M22.311657 420.524612c-10.023284 8.991792-17.588587 22.285562-17.588587 37.752836 0 27.185152 22.001083 49.212842 49.155537 49.212842l98.397031 0 0 467.197608c0 27.213805 22.00006 49.15656 49.155537 49.15656l163.104775 0c27.127847 0 49.15349-21.971407 49.15349-49.15656l0-196.72857 196.708104 0 0 196.72857c0 27.185152 21.912056 49.15656 49.127907 49.15656l163.073052 0c27.158547 0 49.157583-21.942755 49.157583-49.15656l0-467.197608 98.367355 0c27.211758 0 49.154513-22.026666 49.154513-49.212842 0-15.46625-7.504928-28.760021-18.822694-37.752836-168.776961-142.224212-488.427118-420.36907-488.427118-420.36907S192.293049 278.3004 22.311657 420.524612zM432.279842 64.149019" /></svg> | |||||
| @@ -1 +0,0 @@ | |||||
| <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#0ac4ff" d="M22.311657 420.524612c-10.023284 8.991792-17.588587 22.285562-17.588587 37.752836 0 27.185152 22.001083 49.212842 49.155537 49.212842l98.397031 0 0 467.197608c0 27.213805 22.00006 49.15656 49.155537 49.15656l163.104775 0c27.127847 0 49.15349-21.971407 49.15349-49.15656l0-196.72857 196.708104 0 0 196.72857c0 27.185152 21.912056 49.15656 49.127907 49.15656l163.073052 0c27.158547 0 49.157583-21.942755 49.157583-49.15656l0-467.197608 98.367355 0c27.211758 0 49.154513-22.026666 49.154513-49.212842 0-15.46625-7.504928-28.760021-18.822694-37.752836-168.776961-142.224212-488.427118-420.36907-488.427118-420.36907S192.293049 278.3004 22.311657 420.524612zM432.279842 64.149019" /></svg> | |||||
| @@ -1 +0,0 @@ | |||||
| <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#cbc8c2" d="M512 535.272727c141.963636 0 256-114.036364 256-256S730.763636 0 512 0c-214.109091 0-256 137.309091-256 279.272727s114.036364 256 256 256z m232.727273 23.272728H279.272727C151.272727 558.545455 46.545455 663.272727 46.545455 791.272727s104.727273 232.727273 232.727272 232.727273h465.454546c128 0 232.727273-104.727273 232.727272-232.727273s-104.727273-232.727273-232.727272-232.727272z" /></svg> | |||||
| @@ -1 +0,0 @@ | |||||
| <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#0ac4ff" d="M512 535.272727c141.963636 0 256-114.036364 256-256S730.763636 0 512 0c-214.109091 0-256 137.309091-256 279.272727s114.036364 256 256 256z m232.727273 23.272728H279.272727C151.272727 558.545455 46.545455 663.272727 46.545455 791.272727s104.727273 232.727273 232.727272 232.727273h465.454546c128 0 232.727273-104.727273 232.727272-232.727273s-104.727273-232.727273-232.727272-232.727272z" /></svg> | |||||
| @@ -6,35 +6,33 @@ Component({ | |||||
| properties: { | properties: { | ||||
| list: { | list: { | ||||
| value: [], | value: [], | ||||
| type: Array, | |||||
| }, | |||||
| type: Array | |||||
| } | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 组件的初始数据 | * 组件的初始数据 | ||||
| */ | */ | ||||
| data: { | data: { | ||||
| swiperCurrent: 0, | |||||
| swiperCurrent: 0 | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 组件的方法列表 | * 组件的方法列表 | ||||
| */ | */ | ||||
| ready(){ | |||||
| }, | |||||
| ready() {}, | |||||
| methods: { | methods: { | ||||
| swiperChange: function (e) { | |||||
| swiperChange: function(e) { | |||||
| this.setData({ | this.setData({ | ||||
| swiperCurrent: e.detail.current | swiperCurrent: e.detail.current | ||||
| }) | |||||
| }); | |||||
| }, | }, | ||||
| gotobannerdetail:function(e){ | |||||
| console.log("我要点击进入banner详情页面") | |||||
| gotobannerdetail: function(e) { | |||||
| console.log("我要点击进入banner详情页面"); | |||||
| console.log(e.currentTarget.dataset.id); | console.log(e.currentTarget.dataset.id); | ||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: `/pages/bannerdetail/index?id=${e.currentTarget.dataset.id}`, | |||||
| }) | |||||
| url: `/pages/bannerdetail/index?id=${e.currentTarget.dataset.id}` | |||||
| }); | |||||
| } | } | ||||
| } | } | ||||
| }) | |||||
| }); | |||||
| @@ -20,11 +20,12 @@ | |||||
| <view class="coupons-btn"> | <view class="coupons-btn"> | ||||
| <!-- 优惠券价格 --> | <!-- 优惠券价格 --> | ||||
| <view class="coupons-info-price"> | <view class="coupons-info-price"> | ||||
| <view class="coupons-info-name subtitle sy">剩余: {{data.remainInventory}}</view> | |||||
| <view class="coupons-info-name sy">剩余: {{data.remainInventory}}</view> | |||||
| <!-- <text class="coupons-info-price-o"><text class='i'>¥</text>{{data.priceStr}}</text> --> | <!-- <text class="coupons-info-price-o"><text class='i'>¥</text>{{data.priceStr}}</text> --> | ||||
| </view> | </view> | ||||
| <i-button i-class="coupons-btn-gm" wx:if="{{data.salePriceStr==0}}" data-date='{{data}}'>领取</i-button> | |||||
| <i-button i-class="coupons-btn-gm" wx:elif="{{data.salePriceStr!=0}}" data-date='{{data}}'>购买</i-button> | |||||
| <i-button i-class="coupons-btn-gm" wx:if="{{data.salePriceStr==0&&data.remainInventory!=0}}" data-date='{{data}}'>领取</i-button> | |||||
| <i-button i-class="coupons-btn-gm" wx:if="{{data.salePriceStr!=0&&data.remainInventory!=0}}" data-date='{{data}}'>购买</i-button> | |||||
| <i-button i-class="coupons-btn-gms" wx:if="{{data.remainInventory==0}}" data-date='{{data}}'>已售罄</i-button> | |||||
| </view> | </view> | ||||
| <view class="coupons-border"></view> | <view class="coupons-border"></view> | ||||
| </view> | </view> | ||||
| @@ -1,4 +1,5 @@ | |||||
| @import "../../app.wxss"; | @import "../../app.wxss"; | ||||
| .coupons { | .coupons { | ||||
| flex-direction: row; | flex-direction: row; | ||||
| display: flex; | display: flex; | ||||
| @@ -6,6 +7,7 @@ | |||||
| position: relative; | position: relative; | ||||
| height: 184rpx; | height: 184rpx; | ||||
| } | } | ||||
| .coupons-border { | .coupons-border { | ||||
| height: 1rpx; | height: 1rpx; | ||||
| /* width: 100%; */ | /* width: 100%; */ | ||||
| @@ -15,16 +17,19 @@ | |||||
| position: absolute; | position: absolute; | ||||
| bottom: 0; | bottom: 0; | ||||
| } | } | ||||
| .coupons-img { | .coupons-img { | ||||
| width: 248rpx; | width: 248rpx; | ||||
| height: 184rpx; | height: 184rpx; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| border: 1px solid #f8f8f8; | |||||
| border-radius: 10rpx; | border-radius: 10rpx; | ||||
| } | } | ||||
| .coupons-img image { | .coupons-img image { | ||||
| width: 100%; | width: 100%; | ||||
| height: 100%; | height: 100%; | ||||
| border-radius: 10rpx; | |||||
| } | } | ||||
| .coupons-info { | .coupons-info { | ||||
| @@ -32,27 +37,40 @@ | |||||
| } | } | ||||
| .coupons-info-name { | .coupons-info-name { | ||||
| font-size: 28rpx; | |||||
| color: #000000; | |||||
| font-size: 30rpx; | |||||
| color: #343434; | |||||
| letter-spacing: 0; | letter-spacing: 0; | ||||
| line-height: 38rpx; | line-height: 38rpx; | ||||
| } | } | ||||
| .coupons-info-price { | .coupons-info-price { | ||||
| padding: 32rpx 0 0; | padding: 32rpx 0 0; | ||||
| } | } | ||||
| .i{ | |||||
| font-size: 20rpx; | |||||
| .i { | |||||
| font-size: 24rpx; | |||||
| font-style: normal; | font-style: normal; | ||||
| } | } | ||||
| .coupons-info-price-p { | .coupons-info-price-p { | ||||
| display: inline-block; | display: inline-block; | ||||
| font-size: 36rpx; | font-size: 36rpx; | ||||
| color: #f96563; | color: #f96563; | ||||
| line-height: 50rpx; | line-height: 50rpx; | ||||
| font-weight: 600; | |||||
| } | } | ||||
| .tit{ | |||||
| margin-top: 32rpx; | |||||
| .tit { | |||||
| margin-top: 14rpx; | |||||
| overflow: hidden; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; | |||||
| width: 300rpx; | |||||
| height: 40rpx; | |||||
| font-weight: 600; | |||||
| font-size: 30rpx; | |||||
| } | } | ||||
| .coupons-info-price-o { | .coupons-info-price-o { | ||||
| display: block; | display: block; | ||||
| text-align: center; | text-align: center; | ||||
| @@ -91,26 +109,48 @@ | |||||
| padding: 0 !important; | padding: 0 !important; | ||||
| font-family: PingFangSC-Semibold; | font-family: PingFangSC-Semibold; | ||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| color: #ffffff !important; | |||||
| color: #fff !important; | |||||
| letter-spacing: 0; | |||||
| height: 50rpx !important; | |||||
| width: 138rpx !important; | |||||
| line-height: 50rpx !important; | |||||
| } | |||||
| .coupons-btn-gms { | |||||
| background: #999!important; | |||||
| border-radius: 10rpx !important; | |||||
| opacity: .6; | |||||
| margin: 0 !important; | |||||
| padding: 0 !important; | |||||
| font-family: PingFangSC-Semibold; | |||||
| font-size: 28rpx; | |||||
| color: #fff !important; | |||||
| letter-spacing: 0; | letter-spacing: 0; | ||||
| height: 50rpx !important; | height: 50rpx !important; | ||||
| width: 138rpx !important; | width: 138rpx !important; | ||||
| line-height: 50rpx !important; | line-height: 50rpx !important; | ||||
| } | } | ||||
| .subtitle { | .subtitle { | ||||
| font-size: 22rpx; | |||||
| color: #333; | |||||
| font-weight: 100; | |||||
| font-size: 24rpx; | |||||
| color: #6f6f6f; | |||||
| text-align: left; | text-align: left; | ||||
| overflow: hidden; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; | |||||
| width: 300rpx; | |||||
| height: 40rpx; | |||||
| margin-top: 8rpx; | |||||
| } | } | ||||
| .coupons-info-manjian { | .coupons-info-manjian { | ||||
| color: #fa7c7a; | |||||
| color: #6f6f6f !important; | |||||
| font-weight: normal; | |||||
| font-size: 20rpx; | font-size: 20rpx; | ||||
| line-height: 34rpx; | line-height: 34rpx; | ||||
| display: inline-block; | display: inline-block; | ||||
| } | } | ||||
| /**上拉加载更多**/ | /**上拉加载更多**/ | ||||
| .userinfo { | .userinfo { | ||||
| display: flex; | display: flex; | ||||
| flex-direction: column; | flex-direction: column; | ||||
| @@ -127,16 +167,21 @@ | |||||
| .userinfo-nickname { | .userinfo-nickname { | ||||
| color: #aaa; | color: #aaa; | ||||
| } | } | ||||
| .sy{ | |||||
| .sy { | |||||
| display: block; | display: block; | ||||
| text-align: center; | |||||
| text-align: left; | |||||
| width: 136rpx; | |||||
| font-size: 24rpx; | |||||
| color: #6f6f6f; | |||||
| height: 40rpx; | |||||
| margin-top: 8rpx; | |||||
| } | } | ||||
| .usermotto { | .usermotto { | ||||
| margin-top: 200px; | margin-top: 200px; | ||||
| } | } | ||||
| /**/ | |||||
| scroll-view { | scroll-view { | ||||
| width: 100%; | width: 100%; | ||||
| } | } | ||||
| @@ -1,7 +1,7 @@ | |||||
| var config = { | var config = { | ||||
| name: "富茂", | |||||
| name: "富茂科技", | |||||
| url: "https://ciformall.youlane.cn/C/api", | url: "https://ciformall.youlane.cn/C/api", | ||||
| //url: "http://fd1a0cab.ngrok.io/C/api", | |||||
| // url: "http://fd1a0cab.ngrok.io/C/api", | |||||
| api: { | api: { | ||||
| /** | /** | ||||
| * 接口用途:login | * 接口用途:login | ||||
| @@ -23,14 +23,11 @@ var config = { | |||||
| * 检查用户手机授权状态 | * 检查用户手机授权状态 | ||||
| */ | */ | ||||
| checkPhoneStatus: "/user/checkPhoneStatus", | checkPhoneStatus: "/user/checkPhoneStatus", | ||||
| /** | |||||
| * 优惠券查询 | |||||
| */ | |||||
| couponList: "/wxCoupon/list", | |||||
| /** | /** | ||||
| * 优惠券详情 | * 优惠券详情 | ||||
| */ | */ | ||||
| couponDetail: "/wxCoupon/detail", | couponDetail: "/wxCoupon/detail", | ||||
| /** | /** | ||||
| * 业态查询 | * 业态查询 | ||||
| */ | */ | ||||
| @@ -119,7 +116,14 @@ var config = { | |||||
| /** | /** | ||||
| * banner详情页面 | * banner详情页面 | ||||
| */ | */ | ||||
| bannerDetail: "/wxCampaign/findById" | |||||
| bannerDetail: "/wxCampaign/findById", | |||||
| /** | |||||
| * 授权个人信息 | |||||
| * 和授权手机号 | |||||
| * 和login页面 | |||||
| * 页面的图标 | |||||
| */ | |||||
| marketicon:'/mall/getAppIcon' | |||||
| }, | }, | ||||
| weapp: { | weapp: { | ||||
| @@ -37,7 +37,7 @@ | |||||
| </view> --> | </view> --> | ||||
| <!-- 优惠券 --> | <!-- 优惠券 --> | ||||
| <navigator wx:for="{{data.coupons}}" wx:key="{{index}}" url="/pages/coupon/detail/index?couponChannelId=iambannercoupon&couponId={{item.couponId}}"> | |||||
| <navigator wx:for="{{data.coupons}}" wx:key="{{index}}" url="/pages/coupon/detail/index?couponChannelId={{item.id}}&couponId={{item.couponId}}"> | |||||
| <!-- 首页优惠券列表页面 --> | <!-- 首页优惠券列表页面 --> | ||||
| <view class="coupons1"> | <view class="coupons1"> | ||||
| <view class="coupons1-img"> | <view class="coupons1-img"> | ||||
| @@ -1,4 +1,5 @@ | |||||
| @import "../../app.wxss"; | @import "../../app.wxss"; | ||||
| .coupons { | .coupons { | ||||
| width: 100%; | width: 100%; | ||||
| background: #f6f6f6; | background: #f6f6f6; | ||||
| @@ -25,7 +26,7 @@ | |||||
| height: 120rpx; | height: 120rpx; | ||||
| display: flex; | display: flex; | ||||
| justify-content: space-between; | justify-content: space-between; | ||||
| padding: 0 4%; | |||||
| padding: 0 4% 4%; | |||||
| background: #fff; | background: #fff; | ||||
| } | } | ||||
| @@ -36,7 +37,7 @@ | |||||
| .coupons_info view:nth-child(1) text { | .coupons_info view:nth-child(1) text { | ||||
| font-size: 30rpx; | font-size: 30rpx; | ||||
| margin-top: 3%; | |||||
| margin-top: 10%; | |||||
| } | } | ||||
| .coupons_info view:nth-child(1) text:nth-child(1) text { | .coupons_info view:nth-child(1) text:nth-child(1) text { | ||||
| @@ -141,14 +142,14 @@ | |||||
| color: #b8b8b8; | color: #b8b8b8; | ||||
| padding-top: 10rpx; | padding-top: 10rpx; | ||||
| } | } | ||||
| .notes view:nth-child(1) { | .notes view:nth-child(1) { | ||||
| width: 92%; | width: 92%; | ||||
| height: 87rpx; | height: 87rpx; | ||||
| padding: 0 4%; | padding: 0 4%; | ||||
| line-height: 87rpx; | line-height: 87rpx; | ||||
| background: #fff; | background: #fff; | ||||
| border-bottom: 1rpx solid #f5f5f5; | |||||
| border-top: 1rpx solid #f5f5f5; | |||||
| /* border-top: 1rpx solid #f5f5f5; */ | |||||
| } | } | ||||
| .notes view:nth-child(1) text { | .notes view:nth-child(1) text { | ||||
| @@ -159,7 +160,7 @@ | |||||
| .notes view:nth-child(2) { | .notes view:nth-child(2) { | ||||
| width: 92%; | width: 92%; | ||||
| height: auto; | height: auto; | ||||
| padding:4%; | |||||
| padding: 0 4% 4%; | |||||
| background: #fff; | background: #fff; | ||||
| border-bottom: 1rpx solid #f5f5f5; | border-bottom: 1rpx solid #f5f5f5; | ||||
| display: flex; | display: flex; | ||||
| @@ -187,7 +188,7 @@ | |||||
| background: #fff; | background: #fff; | ||||
| position: fixed; | position: fixed; | ||||
| padding-top: 10rpx; | padding-top: 10rpx; | ||||
| height:98rpx; | |||||
| height: 98rpx; | |||||
| bottom: 0rpx; | bottom: 0rpx; | ||||
| left: 0; | left: 0; | ||||
| right: 0; | right: 0; | ||||
| @@ -205,6 +206,7 @@ | |||||
| text-align: center; | text-align: center; | ||||
| border-radius: 6rpx; | border-radius: 6rpx; | ||||
| } | } | ||||
| .coupons1-btn-gm { | .coupons1-btn-gm { | ||||
| background: #00c0ff !important; | background: #00c0ff !important; | ||||
| border-radius: 10rpx !important; | border-radius: 10rpx !important; | ||||
| @@ -212,20 +214,22 @@ | |||||
| padding: 0 !important; | padding: 0 !important; | ||||
| font-family: PingFangSC-Semibold; | font-family: PingFangSC-Semibold; | ||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| color: #ffffff !important; | |||||
| color: #fff !important; | |||||
| letter-spacing: 0; | letter-spacing: 0; | ||||
| height: 50rpx !important; | height: 50rpx !important; | ||||
| width: 138rpx !important; | width: 138rpx !important; | ||||
| line-height: 50rpx !important; | line-height: 50rpx !important; | ||||
| } | } | ||||
| .coupons1 { | .coupons1 { | ||||
| flex-direction: row; | flex-direction: row; | ||||
| display: flex; | display: flex; | ||||
| padding: 30rpx; | padding: 30rpx; | ||||
| position: relative; | position: relative; | ||||
| height: 184rpx; | height: 184rpx; | ||||
| border:1px solid #eee; | |||||
| border: 1px solid #eee; | |||||
| } | } | ||||
| .coupons1-border { | .coupons1-border { | ||||
| height: 1rpx; | height: 1rpx; | ||||
| /* width: 100%; */ | /* width: 100%; */ | ||||
| @@ -235,6 +239,7 @@ | |||||
| position: absolute; | position: absolute; | ||||
| bottom: 0; | bottom: 0; | ||||
| } | } | ||||
| .coupons1-img { | .coupons1-img { | ||||
| width: 248rpx; | width: 248rpx; | ||||
| height: 184rpx; | height: 184rpx; | ||||
| @@ -253,26 +258,31 @@ | |||||
| .coupons1-info-name { | .coupons1-info-name { | ||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| color: #000000; | |||||
| color: #000; | |||||
| letter-spacing: 0; | letter-spacing: 0; | ||||
| line-height: 38rpx; | line-height: 38rpx; | ||||
| } | } | ||||
| .coupons1-info-price { | .coupons1-info-price { | ||||
| padding: 32rpx 0 0; | padding: 32rpx 0 0; | ||||
| } | } | ||||
| .i{ | |||||
| .i { | |||||
| font-size: 20rpx; | font-size: 20rpx; | ||||
| font-style: normal; | font-style: normal; | ||||
| } | } | ||||
| .coupons1-info-price-p { | .coupons1-info-price-p { | ||||
| display: inline-block; | display: inline-block; | ||||
| font-size: 36rpx; | font-size: 36rpx; | ||||
| color: #f96563; | color: #f96563; | ||||
| line-height: 50rpx; | line-height: 50rpx; | ||||
| } | } | ||||
| .tit{ | |||||
| .tit { | |||||
| margin-top: 32rpx; | margin-top: 32rpx; | ||||
| } | } | ||||
| .coupons1-info-price-o { | .coupons1-info-price-o { | ||||
| display: block; | display: block; | ||||
| text-align: center; | text-align: center; | ||||
| @@ -300,6 +310,7 @@ | |||||
| .coupons1-btn { | .coupons1-btn { | ||||
| position: absolute; | position: absolute; | ||||
| width: 120rpx; | |||||
| top: 40rpx; | top: 40rpx; | ||||
| right: 30rpx; | right: 30rpx; | ||||
| } | } | ||||
| @@ -311,18 +322,25 @@ | |||||
| padding: 0 !important; | padding: 0 !important; | ||||
| font-family: PingFangSC-Semibold; | font-family: PingFangSC-Semibold; | ||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| color: #ffffff !important; | |||||
| color: #fff !important; | |||||
| letter-spacing: 0; | letter-spacing: 0; | ||||
| height: 50rpx !important; | height: 50rpx !important; | ||||
| width: 138rpx !important; | width: 138rpx !important; | ||||
| line-height: 50rpx !important; | line-height: 50rpx !important; | ||||
| } | } | ||||
| .subtitle { | .subtitle { | ||||
| font-size: 22rpx; | font-size: 22rpx; | ||||
| color: #333; | color: #333; | ||||
| font-weight: 100; | font-weight: 100; | ||||
| text-align: left; | text-align: left; | ||||
| overflow: hidden; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; | |||||
| width: 300rpx; | |||||
| height: 40rpx; | |||||
| } | } | ||||
| .coupons1-info-manjian { | .coupons1-info-manjian { | ||||
| color: #fa7c7a; | color: #fa7c7a; | ||||
| font-size: 20rpx; | font-size: 20rpx; | ||||
| @@ -331,6 +349,7 @@ | |||||
| } | } | ||||
| /**上拉加载更多**/ | /**上拉加载更多**/ | ||||
| .userinfo { | .userinfo { | ||||
| display: flex; | display: flex; | ||||
| flex-direction: column; | flex-direction: column; | ||||
| @@ -347,10 +366,13 @@ | |||||
| .userinfo-nickname { | .userinfo-nickname { | ||||
| color: #aaa; | color: #aaa; | ||||
| } | } | ||||
| .sy{ | |||||
| .sy { | |||||
| display: block; | display: block; | ||||
| text-align: center; | text-align: center; | ||||
| width: 120rpx!important; | |||||
| } | } | ||||
| .usermotto { | .usermotto { | ||||
| margin-top: 200px; | margin-top: 200px; | ||||
| } | } | ||||
| @@ -13,81 +13,59 @@ Page({ | |||||
| hour: "", | hour: "", | ||||
| minute: "" | minute: "" | ||||
| }, | }, | ||||
| phone: function() { | |||||
| let that = this; | |||||
| console.log(that.data); | |||||
| if (that.data.data.merchantLinkPhone) { | |||||
| wx.makePhoneCall({ | |||||
| phoneNumber: that.data.data.merchantLinkPhone | |||||
| }); | |||||
| } | |||||
| }, | |||||
| onLoad(options) { | onLoad(options) { | ||||
| let that = this; | let that = this; | ||||
| console.log(options.couponChannelId); | |||||
| console.log(options.couponId); | |||||
| that.init(); | |||||
| console.log(options); | |||||
| console.log("couponChannelId" + options.couponChannelId); | |||||
| console.log("couponId" + options.couponId); | |||||
| console.log("传的变量的名字叫couponId"); | |||||
| wx.showLoading({ | |||||
| title: "加载中..." | |||||
| }); | |||||
| /** | /** | ||||
| * 首页banner detail couponlist传过来的值 | |||||
| * iambannercoupon | |||||
| * 暂时注销 | |||||
| * this.orderFunc() | |||||
| */ | */ | ||||
| // if (options.flag) { | |||||
| // // this.orderFunc(); | |||||
| // } | |||||
| // else { | |||||
| // } | |||||
| that.setData({ | that.setData({ | ||||
| couponChannelId: options.couponChannelId, | couponChannelId: options.couponChannelId, | ||||
| couponId: options.couponId | couponId: options.couponId | ||||
| }); | }); | ||||
| wx.showLoading({ | |||||
| title: "加载中..." | |||||
| }); | |||||
| if (options.flag) { | |||||
| console.log('111111111111111'+JSON.stringify(options)) | |||||
| this.orderFunc(); | |||||
| } else { | |||||
| if(options.couponChannelId=='iambannercoupon'){ | |||||
| /** | |||||
| * 待解决 | |||||
| */ | |||||
| var details ={ | |||||
| couponChannelId: options.couponId | |||||
| } | |||||
| }else{ | |||||
| var details ={ | |||||
| couponChannelId: options.couponChannelId | |||||
| } | |||||
| var parmer = { | |||||
| url: config.api.couponDetail, | |||||
| data: { | |||||
| couponChannelId: options.couponChannelId | |||||
| } | } | ||||
| Http.get({ | |||||
| url: config.api.couponDetail, | |||||
| data: details | |||||
| }).then(res => { | |||||
| console.log(res); | |||||
| console.log("details") | |||||
| //当前时间与优惠券下架时间做计算 | |||||
| var startTime = util.fmtDate(res.data.endTime); | |||||
| console.log(startTime); | |||||
| var s1 = new Date(startTime.replace(/-/g, "/")); | |||||
| var s2 = new Date(); | |||||
| var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000); | |||||
| var year = Math.floor(runTime / 86400 / 365); | |||||
| var runTime = runTime % (86400 * 365); | |||||
| var month = Math.floor(runTime / 86400 / 30); | |||||
| var runTime = runTime % (86400 * 30); | |||||
| var day = Math.floor(runTime / 86400); | |||||
| var runTime = runTime % 86400; | |||||
| var hour = Math.floor(runTime / 3600); | |||||
| var runTime = runTime % 3600; | |||||
| var minute = Math.floor(runTime / 60); | |||||
| var runTime = runTime % 60; | |||||
| var second = runTime; | |||||
| console.log(year, month, day, hour, minute, second); | |||||
| that.setData({ | |||||
| year: year, | |||||
| month: month, | |||||
| day: day, | |||||
| hour: hour, | |||||
| minute: minute | |||||
| }); | |||||
| console.log(that.data.day); | |||||
| wx.hideLoading(); | |||||
| that.setData({ | |||||
| data: res.data | |||||
| }); | |||||
| }; | |||||
| Http.get(parmer).then(res => { | |||||
| console.log(res); | |||||
| console.log("details"); | |||||
| //当前时间与优惠券下架时间做计算 | |||||
| var endTime = util.fmtDate(res.data.endTime); | |||||
| util.timechuo(endTime); | |||||
| that.setData({ | |||||
| endtime: util.timechuo(endTime) | |||||
| }); | }); | ||||
| } | |||||
| wx.hideLoading(); | |||||
| that.setData({ | |||||
| data: res.data | |||||
| }); | |||||
| }); | |||||
| // } | |||||
| }, | }, | ||||
| /** | /** | ||||
| * 支付订单更新 | * 支付订单更新 | ||||
| @@ -193,7 +171,7 @@ Page({ | |||||
| this.initUsrCarList() | this.initUsrCarList() | ||||
| // 领取 5.停车券 | // 领取 5.停车券 | ||||
| // TODO 选取用户下的车牌 | // TODO 选取用户下的车牌 | ||||
| console.log(11111111111111111111111111111111) | |||||
| console.log(1111111111111) | |||||
| } else { | } else { | ||||
| Http.post({ | Http.post({ | ||||
| url: config.api.checkPhoneStatus, | url: config.api.checkPhoneStatus, | ||||
| @@ -201,24 +179,88 @@ Page({ | |||||
| }) | }) | ||||
| .then(res => { | .then(res => { | ||||
| console.log(res); | console.log(res); | ||||
| console.log("姐姐在检查手机号是否授权的情况"); | |||||
| var data = { | |||||
| couponChannelId: "" + that.data.couponChannelId, | |||||
| couponId: "" + that.data.couponId | |||||
| }; | |||||
| if (that.data.couponChannelId == null) { | |||||
| var data = { | |||||
| couponId: "" + that.data.couponId | |||||
| }; | |||||
| } | |||||
| /** | /** | ||||
| * orderSave 下单 | * orderSave 下单 | ||||
| */ | */ | ||||
| return Http.post({ | return Http.post({ | ||||
| url: config.api.orderSave, | url: config.api.orderSave, | ||||
| data: { | |||||
| couponChannelId: "" + that.data.couponChannelId, | |||||
| couponId: "" + that.data.couponId | |||||
| } | |||||
| data: data | |||||
| }); | }); | ||||
| }) | }) | ||||
| .catch(err => { | .catch(err => { | ||||
| console.log(err); | console.log(err); | ||||
| console.log(that.data.couponChannelId); | |||||
| console.log(that.data.couponId); | |||||
| console.log("我即将要跳转到用户手机号授权的页面"); | |||||
| if (err.code == "3000") { | |||||
| wx.showToast({ | |||||
| title: "库存不足", | |||||
| image: "./../../../assets/img/fail.png", | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| if (err.code == "3001") { | |||||
| wx.showToast({ | |||||
| title: "领取达到上限", | |||||
| image: "./../../../assets/img/fail.png", | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| if (err.code == "3002") { | |||||
| wx.showToast({ | |||||
| title: "订单失败", | |||||
| image: "./../../../assets/img/fail.png", | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| if (err.code == "3003") { | |||||
| wx.showToast({ | |||||
| title: "订单不存在", | |||||
| image: "./../../../assets/img/fail.png", | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| if (err.code == "3004") { | |||||
| wx.showToast({ | |||||
| title: "订单不存在", | |||||
| image: "./../../../assets/img/fail.png", | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| if (err.code == "4003") { | |||||
| wx.showToast({ | |||||
| title: "卡券已作废", | |||||
| image: "./../../../assets/img/fail.png", | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| if (err.code == 11005) { | if (err.code == 11005) { | ||||
| // 用户手机未授权 | // 用户手机未授权 | ||||
| /** | |||||
| * 将值传到用户手机号授权的页面 | |||||
| * | |||||
| */ | |||||
| wx.redirectTo({ | wx.redirectTo({ | ||||
| url: | url: | ||||
| "../../getphoneInfo/index?couponChannelId=" + | |||||
| "/pages/getphoneInfo/index?couponChannelId=" + | |||||
| that.data.couponChannelId + | that.data.couponChannelId + | ||||
| "&couponId=" + | "&couponId=" + | ||||
| that.data.couponId | that.data.couponId | ||||
| @@ -228,9 +270,9 @@ Page({ | |||||
| // 用户手机已加密 | // 用户手机已加密 | ||||
| wx.redirectTo({ | wx.redirectTo({ | ||||
| url: | url: | ||||
| "../../phoneinput/phoneinput?couponChannelId=" + | |||||
| "/pages/phoneinput/phoneinput?couponChannelId=" + | |||||
| that.data.couponChannelId + | that.data.couponChannelId + | ||||
| "& couponId=" + | |||||
| "&couponId=" + | |||||
| that.data.couponId | that.data.couponId | ||||
| }); | }); | ||||
| } | } | ||||
| @@ -239,7 +281,8 @@ Page({ | |||||
| console.log(res); | console.log(res); | ||||
| console.log("点击领取卡券一直在loading"); | console.log("点击领取卡券一直在loading"); | ||||
| if (res != "undefined") { | if (res != "undefined") { | ||||
| const orderId = "" + res.data.id; | |||||
| console.log(res); | |||||
| let orderId = "" + res.data.id; | |||||
| that.setData({ | that.setData({ | ||||
| orderId: orderId | orderId: orderId | ||||
| }); | }); | ||||
| @@ -255,7 +298,6 @@ Page({ | |||||
| } | } | ||||
| }).then(res => { | }).then(res => { | ||||
| console.log(res); | console.log(res); | ||||
| /// Begin payment ---- | /// Begin payment ---- | ||||
| var payOrderId = "" + res.data.payOrderId; | var payOrderId = "" + res.data.payOrderId; | ||||
| wx.hideLoading(); | wx.hideLoading(); | ||||
| @@ -266,20 +308,36 @@ Page({ | |||||
| signType: "MD5", | signType: "MD5", | ||||
| paySign: res.data.paySign, | paySign: res.data.paySign, | ||||
| success: res => { | success: res => { | ||||
| console.log(res); | |||||
| console.log("姐在检查付款异常"); | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1); // 支付成功 | that.payOrderUpdate(that.data.orderId, payOrderId, 1); // 支付成功 | ||||
| console.log(res); | console.log(res); | ||||
| if (res.errMsg == "requestPayment:ok") { | if (res.errMsg == "requestPayment:ok") { | ||||
| wx.showToast({ | wx.showToast({ | ||||
| title: "购买成功", | title: "购买成功", | ||||
| duration: 2500 | |||||
| image: "./../../../assets/img/success.png", | |||||
| duration: 2000, | |||||
| mask: false, | |||||
| success: function() { | |||||
| wx.showLoading({ | |||||
| title: "加载中..." | |||||
| }); | |||||
| setTimeout(function() { | |||||
| wx.hideLoading(); | |||||
| }, 1600); | |||||
| setTimeout(() => { | |||||
| wx.redirectTo({ | |||||
| url: `/pages/order/detail/index?orderId=${ | |||||
| that.data.orderId | |||||
| }` | |||||
| }); | |||||
| }, 1600); | |||||
| } | |||||
| }); | }); | ||||
| } | |||||
| wx.navigateBack({ | |||||
| delta: 2 | |||||
| }); | |||||
| /** | |||||
| * 用户支付成功以后跳转到券包列表 | |||||
| */ | |||||
| } | |||||
| }, | }, | ||||
| fail: res => { | fail: res => { | ||||
| @@ -290,29 +348,12 @@ Page({ | |||||
| complete: res => { | complete: res => { | ||||
| console.log(res); | console.log(res); | ||||
| console.log("支付完成"); | console.log("支付完成"); | ||||
| // var url = res.data.url; | |||||
| // console.log("get url", url); | |||||
| if (res.errMsg == "requestPayment:ok") { | if (res.errMsg == "requestPayment:ok") { | ||||
| wx.showModal({ | |||||
| title: "提示", | |||||
| content: "支付成功" | |||||
| }); | |||||
| // if (url) { | |||||
| // setTimeout(function () { | |||||
| // wx.redirectTo({ | |||||
| // url: "/pages" + url | |||||
| // }); | |||||
| // }, 2000); | |||||
| // } else { | |||||
| // setTimeout(() => { | |||||
| // wx.navigateBack(); | |||||
| // }, 2000); | |||||
| // } | |||||
| } else { | } else { | ||||
| wx.showToast({ | wx.showToast({ | ||||
| title: "支付失败", | title: "支付失败", | ||||
| image: "./../../../assets/img/fail.png", | image: "./../../../assets/img/fail.png", | ||||
| duration: 1500, | |||||
| duration: 2000, | |||||
| mask: false | mask: false | ||||
| }); | }); | ||||
| } | } | ||||
| @@ -331,7 +372,8 @@ Page({ | |||||
| that.payOrderUpdate(orderId, "0", 1); | that.payOrderUpdate(orderId, "0", 1); | ||||
| wx.showToast({ | wx.showToast({ | ||||
| title: "领取成功", | title: "领取成功", | ||||
| duration: 3000 | |||||
| duration: 3000, | |||||
| image: "./../../../assets/img/success.png" | |||||
| }); | }); | ||||
| } | } | ||||
| } | } | ||||
| @@ -7,7 +7,8 @@ | |||||
| <view class='coupons_info'> | <view class='coupons_info'> | ||||
| <view> | <view> | ||||
| <text>{{data.title}}<text>限购{{data.useLimitQuantity}}件</text></text> | <text>{{data.title}}<text>限购{{data.useLimitQuantity}}件</text></text> | ||||
| <text>剩余时间:<text>{{day}}天</text><text>{{hour}}小时</text><text>{{minute}}分钟</text></text> | |||||
| <text wx:if="{{data.endTime!=undefined&&data.type!=5}}">剩余时间:<text>{{endtime}}</text></text> | |||||
| <text wx:if="{{data.type==5}}"><text>当次有效</text></text> | |||||
| <text>剩余件数:<text>{{data.remainInventory}}件</text></text> | <text>剩余件数:<text>{{data.remainInventory}}件</text></text> | ||||
| </view> | </view> | ||||
| <view> | <view> | ||||
| @@ -25,6 +26,7 @@ | |||||
| <text>{{data.merchantName}}</text> | <text>{{data.merchantName}}</text> | ||||
| <text>{{data.addr}}{{data.buildingName}}{{data.floorName}}</text> | <text>{{data.addr}}{{data.buildingName}}{{data.floorName}}</text> | ||||
| </view> | </view> | ||||
| <image bindtap='phone' class="tel" src="./../../../assets/img/tel.jpg" mode="widthFix" /> | |||||
| </view> | </view> | ||||
| <!-- <view> | <!-- <view> | ||||
| <text>更多适用门店</text> | <text>更多适用门店</text> | ||||
| @@ -41,7 +43,8 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="buy-view app-border-top"> | <view class="buy-view app-border-top"> | ||||
| <button bindtap='orderFunc' class='buy' wx:if="{{data.salePriceStr!=0}}">立即购买</button> | |||||
| <button bindtap='orderFunc' class='buy' wx:elif="{{data.salePriceStr==0}}">免费领取</button> | |||||
| <button bindtap='orderFunc' class='buy' wx:if="{{data.salePriceStr!=0&&data.remainInventory!=0}}">立即支付</button> | |||||
| <button bindtap='orderFunc' class='buy' wx:elif="{{data.salePriceStr==0&&data.remainInventory!=0}}">免费领取</button> | |||||
| <button class='buy' wx:elif="{{data.remainInventory==0}}" style="background:#999;color: #fff;">免费领取</button> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -8,11 +8,6 @@ | |||||
| padding-bottom: 120rpx; | padding-bottom: 120rpx; | ||||
| } | } | ||||
| .coupons-body { | |||||
| flex: 1; | |||||
| /* overflow: auto; */ | |||||
| } | |||||
| .banner { | .banner { | ||||
| width: 100%; | width: 100%; | ||||
| height: 465rpx; | height: 465rpx; | ||||
| @@ -39,7 +34,7 @@ | |||||
| .coupons_info view:nth-child(1) text { | .coupons_info view:nth-child(1) text { | ||||
| font-size: 30rpx; | font-size: 30rpx; | ||||
| margin-top: 3%; | |||||
| margin-top: 6%; | |||||
| } | } | ||||
| .coupons_info view:nth-child(1) text:nth-child(1) text { | .coupons_info view:nth-child(1) text:nth-child(1) text { | ||||
| @@ -80,6 +75,7 @@ | |||||
| } | } | ||||
| .posi { | .posi { | ||||
| position: relative; | |||||
| width: 92%; | width: 92%; | ||||
| display: flex; | display: flex; | ||||
| flex-direction: column; | flex-direction: column; | ||||
| @@ -166,19 +162,17 @@ | |||||
| .notes view:nth-child(2) { | .notes view:nth-child(2) { | ||||
| width: 92%; | width: 92%; | ||||
| height: 400rpx; | |||||
| padding: 0 4%; | |||||
| padding: 2% 4%; | |||||
| background: #fff; | background: #fff; | ||||
| border-bottom: 1rpx solid #f5f5f5; | border-bottom: 1rpx solid #f5f5f5; | ||||
| display: flex; | display: flex; | ||||
| flex-direction: column; | flex-direction: column; | ||||
| padding-top: 2%; | |||||
| } | } | ||||
| .notes view:nth-child(2)>text { | .notes view:nth-child(2)>text { | ||||
| font-size: 28rpx; | |||||
| font-size: 26rpx; | |||||
| color: #a9a9a9; | color: #a9a9a9; | ||||
| line-height: 56rpx; | |||||
| line-height: 45rpx; | |||||
| } | } | ||||
| .spot { | .spot { | ||||
| @@ -196,7 +190,7 @@ | |||||
| background: #fff; | background: #fff; | ||||
| position: fixed; | position: fixed; | ||||
| padding-top: 10rpx; | padding-top: 10rpx; | ||||
| height:98rpx; | |||||
| height: 98rpx; | |||||
| bottom: 0rpx; | bottom: 0rpx; | ||||
| left: 0; | left: 0; | ||||
| right: 0; | right: 0; | ||||
| @@ -212,3 +206,13 @@ | |||||
| line-height: 88rpx; | line-height: 88rpx; | ||||
| border-radius: 6rpx; | border-radius: 6rpx; | ||||
| } | } | ||||
| .tel { | |||||
| position: absolute; | |||||
| right: 50rpx; | |||||
| top: 0; | |||||
| bottom: 0; | |||||
| margin: auto; | |||||
| width: 50rpx; | |||||
| height: 50rpx; | |||||
| z-index:1000000; | |||||
| } | |||||
| @@ -40,15 +40,15 @@ Page({ | |||||
| }); | }); | ||||
| }); | }); | ||||
| } | } | ||||
| util.barcode("barcode", options.quancode, 680, 100); | |||||
| util.qrcode("qrcode", options.quancode, 400, 400); | |||||
| util.barcode("barcode", options.quancode, 510, 100); | |||||
| util.qrcode("qrcode", options.quancode,350, 350); | |||||
| }, | }, | ||||
| phone: function() { | phone: function() { | ||||
| let that = this; | let that = this; | ||||
| console.log(that.data); | console.log(that.data); | ||||
| if (that.data.data.merchantLinkPhone) { | if (that.data.data.merchantLinkPhone) { | ||||
| wx.makePhoneCall({ | wx.makePhoneCall({ | ||||
| phoneNumber: that.data.data.merchantLinkPhone //仅为示例,并非真实的电话号码 | |||||
| phoneNumber: that.data.data.merchantLinkPhone | |||||
| }); | }); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1,6 +1,8 @@ | |||||
| <view class="container page"> | <view class="container page"> | ||||
| <view class="coupon_detail clearfix"> | <view class="coupon_detail clearfix"> | ||||
| <image class="fl" src="{{data.coverImg}}" mode="widthFix" /> | |||||
| <view class="fl wmfl"> | |||||
| <image src="{{data.coverImg}}" /> | |||||
| </view> | |||||
| <view class="fr"> | <view class="fr"> | ||||
| <text class="title">{{data.title}}</text> | <text class="title">{{data.title}}</text> | ||||
| <view class="time">{{data.subTitle}}</view> | <view class="time">{{data.subTitle}}</view> | ||||
| @@ -16,24 +18,21 @@ | |||||
| <text>有效期至:</text> | <text>有效期至:</text> | ||||
| <text>{{expiredTime}}</text> | <text>{{expiredTime}}</text> | ||||
| </view> | </view> | ||||
| <view class="pane2" wx:if="{{data.couponOrderStatus==1}}"> | |||||
| <image src="./../../../assets/img/shiyong.jpg" mode="widthFix"></image> | |||||
| </view> | |||||
| <view class="pane2" wx:if="{{data.couponOrderStatus==2}}"> | |||||
| <image src="./../../../assets/img/guoqi.jpg" mode="widthFix"></image> | |||||
| </view> | |||||
| <view class="pane2" wx:if="{{data.couponOrderStatus==3}}"> | |||||
| <image src="./../../../assets/img/tui.jpg" mode="widthFix"></image> | |||||
| </view> | |||||
| <view class="panel" wx:if="{{data.couponOrderStatus==0}}"> | |||||
| <view class="barcode"> | |||||
| <canvas canvas-id="barcode" /> | |||||
| </view> | |||||
| <view class="qrcode"> | |||||
| <canvas canvas-id="qrcode" /> | |||||
| <view class="zhuangtai"> | |||||
| <image wx:if="{{data.couponOrderStatus==1}}" src="./../../../assets/img/wm01.jpg"></image> | |||||
| <image wx:if="{{data.couponOrderStatus==2}}" src="./../../../assets/img/wm02.jpg"></image> | |||||
| <image wx:if="{{data.couponOrderStatus==3}}" src="./../../../assets/img/wm03.jpg"></image> | |||||
| <view class="panel" wx:if="{{data.couponOrderStatus==0}}"> | |||||
| <view class="barcode"> | |||||
| <canvas canvas-id="barcode" /> | |||||
| </view> | |||||
| <view class="qrcode"> | |||||
| <canvas canvas-id="qrcode" /> | |||||
| </view> | |||||
| <view class="barnum buy"><text>兑换码:</text>{{code}}</view> | |||||
| </view> | </view> | ||||
| <view class="barnum"><text>兑换码:</text>{{code}}</view> | |||||
| </view> | </view> | ||||
| <view class="posi"> | <view class="posi"> | ||||
| <view class="tit"> | <view class="tit"> | ||||
| 适用门店 | 适用门店 | ||||
| @@ -46,7 +45,7 @@ | |||||
| <text>{{data.merchantName}}</text> | <text>{{data.merchantName}}</text> | ||||
| <text>{{data.addr}}{{data.buildingName}}{{data.floorName}}</text> | <text>{{data.addr}}{{data.buildingName}}{{data.floorName}}</text> | ||||
| </view> | </view> | ||||
| <image bindtap='phone' class="tel" src="../../../../assets/img/tel.gif" mode="widthFix" /> | |||||
| <image bindtap='phone' class="tel" src="./../../../assets/img/tel.jpg" mode="widthFix" /> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class='note'> | <view class='note'> | ||||
| @@ -57,7 +56,7 @@ | |||||
| <view wx:if="{{data.couponOrderStatus==3}}"><text>退款时间</text><text>{{updateDate}}</text></view> | <view wx:if="{{data.couponOrderStatus==3}}"><text>退款时间</text><text>{{updateDate}}</text></view> | ||||
| <view><text>订单编号</text><text>{{data.orderId}}</text></view> | <view><text>订单编号</text><text>{{data.orderId}}</text></view> | ||||
| <view><text>手机号</text><text>2018.05.25</text></view> | |||||
| <!-- <view><text>手机号</text><text>2018.05.25</text></view> --> | |||||
| <view><text>实付金额</text><text>{{data.couponPrice/100}}元</text></view> | <view><text>实付金额</text><text>{{data.couponPrice/100}}元</text></view> | ||||
| </view> | </view> | ||||
| <view class='notes' style="border-bottom:0"> | <view class='notes' style="border-bottom:0"> | ||||
| @@ -65,13 +64,7 @@ | |||||
| <text>购买须知</text> | <text>购买须知</text> | ||||
| </view> | </view> | ||||
| <view> | <view> | ||||
| <text><text class='spot'></text>有效期2018.01.16 至 2018.09.20</text> | |||||
| <text><text class='spot'></text>除特价酒水及特价菜外全场通用</text> | |||||
| <text><text class='spot'></text>无需预约,消费g高峰时可能需要等位</text> | |||||
| <text><text class='spot'></text>没人最多购买2张</text> | |||||
| <text><text class='spot'></text>不可使用包间</text> | |||||
| <text><text class='spot'></text>堂食外带均可,可免费打包</text> | |||||
| <text><text class='spot'></text>每桌限用2张</text> | |||||
| <text><text class='spot'></text>{{data.remark}}</text> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -2,17 +2,16 @@ | |||||
| padding-bottom: 10rpx; | padding-bottom: 10rpx; | ||||
| } | } | ||||
| .panel { | |||||
| display: flex; | |||||
| flex-direction: column; | |||||
| justify-content: space-between; | |||||
| align-items: stretch; | |||||
| box-sizing: border-box; | |||||
| width: 710rpx; | |||||
| margin-top: 40rpx; | |||||
| .panel,.zhuangtai image{ | |||||
| position: relative; | |||||
| width: 510rpx; | |||||
| height: 581rpx; | |||||
| display: block; | |||||
| border-radius: 10rpx; | border-radius: 10rpx; | ||||
| background-color: #fff; | background-color: #fff; | ||||
| margin: 30rpx auto 0; | |||||
| margin: 22rpx auto 0; | |||||
| padding: 30rpx 0 0; | |||||
| z-index: 10000000000; | |||||
| } | } | ||||
| .pane2{ | .pane2{ | ||||
| background: #fff; | background: #fff; | ||||
| @@ -24,47 +23,54 @@ | |||||
| margin: 40rpx auto 0; | margin: 40rpx auto 0; | ||||
| } | } | ||||
| .buy { | |||||
| background: #fff; | |||||
| height: 88rpx; | |||||
| width: 98%; | |||||
| color: #7e7e7e; | |||||
| line-height: 88rpx; | |||||
| border-radius: 16rpx; | |||||
| border: 1px solid #eee; | |||||
| } | |||||
| .barcode { | .barcode { | ||||
| display: flex; | |||||
| height: 100rpx; | height: 100rpx; | ||||
| flex-direction: column; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| width: 510rpx; | |||||
| margin: 0 auto; | |||||
| } | } | ||||
| .barnum { | .barnum { | ||||
| width: 670rpx; | |||||
| height: 46rpx; | |||||
| line-height: 46rpx; | |||||
| font-size: 32rpx; | |||||
| font-size: 24rpx; | |||||
| text-align: center; | text-align: center; | ||||
| letter-spacing: 2rpx; | letter-spacing: 2rpx; | ||||
| white-space: nowrap; | white-space: nowrap; | ||||
| color: #999; | |||||
| color: #7f7f7f; | |||||
| } | } | ||||
| .barnum text { | .barnum text { | ||||
| color: #333; | |||||
| color: #767676; | |||||
| } | } | ||||
| .barcode > canvas { | .barcode > canvas { | ||||
| width: 680rpx; | |||||
| width: 510rpx; | |||||
| height: 100rpx; | height: 100rpx; | ||||
| } | } | ||||
| .qrcode { | .qrcode { | ||||
| height: 370rpx; | |||||
| position: relative; | |||||
| height: 350rpx; | |||||
| width: 350rpx; | |||||
| display: flex; | display: flex; | ||||
| flex-direction: column; | flex-direction: column; | ||||
| justify-content: flex-end; | justify-content: flex-end; | ||||
| align-items: center; | align-items: center; | ||||
| margin: 0 auto; | |||||
| } | } | ||||
| .qrcode > canvas { | .qrcode > canvas { | ||||
| width: 400rpx; | |||||
| height: 400rpx; | |||||
| width: 350rpx; | |||||
| height: 350rpx; | |||||
| } | } | ||||
| .coupon_detail { | .coupon_detail { | ||||
| padding: 0 20rpx; | padding: 0 20rpx; | ||||
| } | } | ||||
| @@ -77,11 +83,17 @@ | |||||
| float: right; | float: right; | ||||
| } | } | ||||
| .coupon_detail image { | |||||
| .coupon_detail .wmfl{ | |||||
| display: block; | display: block; | ||||
| width: 260rpx; | |||||
| height: 100rpx; | |||||
| width: 255rpx; | |||||
| height: 184rpx; | |||||
| border-radius: 16rpx; | border-radius: 16rpx; | ||||
| overflow: hidden; | |||||
| } | |||||
| .coupon_detail image { | |||||
| display: block; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | } | ||||
| .coupon_detail .fr { | .coupon_detail .fr { | ||||
| @@ -141,10 +153,10 @@ | |||||
| width: 100%; | width: 100%; | ||||
| display: flex; | display: flex; | ||||
| flex-direction: column; | flex-direction: column; | ||||
| margin-top: 50rpx; | |||||
| background: #fff; | background: #fff; | ||||
| border-bottom: 20rpx solid #f5f5f5; | border-bottom: 20rpx solid #f5f5f5; | ||||
| border-top: 20rpx solid #f5f5f5; | border-top: 20rpx solid #f5f5f5; | ||||
| position: relative; | |||||
| } | } | ||||
| .posi_logo { | .posi_logo { | ||||
| @@ -152,6 +164,7 @@ | |||||
| padding: 30rpx 4%; | padding: 30rpx 4%; | ||||
| display: flex; | display: flex; | ||||
| position: relative; | position: relative; | ||||
| z-index: 100; | |||||
| } | } | ||||
| .posi_logo view:nth-child(1) { | .posi_logo view:nth-child(1) { | ||||
| @@ -168,6 +181,8 @@ | |||||
| } | } | ||||
| .posi_logo view:nth-child(2) { | .posi_logo view:nth-child(2) { | ||||
| position: relative; | |||||
| z-index: 100; | |||||
| display: flex; | display: flex; | ||||
| flex-direction: column; | flex-direction: column; | ||||
| flex: 8; | flex: 8; | ||||
| @@ -202,10 +217,10 @@ | |||||
| margin: auto; | margin: auto; | ||||
| width: 50rpx; | width: 50rpx; | ||||
| height: 50rpx; | height: 50rpx; | ||||
| z-index:1000000; | |||||
| } | } | ||||
| .notes { | .notes { | ||||
| margin-top: 2%; | |||||
| border-top: 20rpx solid #f5f5f5; | border-top: 20rpx solid #f5f5f5; | ||||
| } | } | ||||
| @@ -225,7 +240,6 @@ | |||||
| .notes view:nth-child(2) { | .notes view:nth-child(2) { | ||||
| width: 92%; | width: 92%; | ||||
| height: 400rpx; | |||||
| padding: 0 4%; | padding: 0 4%; | ||||
| background: #fff; | background: #fff; | ||||
| display: flex; | display: flex; | ||||
| @@ -1,6 +1,5 @@ | |||||
| const format = require("../../../utils/util.js"); | |||||
| const util = require("../../../utils/util.js"); | |||||
| const config = require("../../../config/config.js"); | const config = require("../../../config/config.js"); | ||||
| const app = getApp(); | |||||
| const Http = require("../../../utils/HttpBasics"); | const Http = require("../../../utils/HttpBasics"); | ||||
| Page({ | Page({ | ||||
| data: { | data: { | ||||
| @@ -26,7 +25,9 @@ Page({ | |||||
| current: "0", | current: "0", | ||||
| current_scroll: "0", | current_scroll: "0", | ||||
| page: 1, | page: 1, | ||||
| allow_load: true | |||||
| allow_load: true, | |||||
| loading: true, //"上拉加载"的变量,默认false,隐藏 | |||||
| content: "" | |||||
| }, | }, | ||||
| onLoad() { | onLoad() { | ||||
| this.getList(0, 0); | this.getList(0, 0); | ||||
| @@ -39,17 +40,7 @@ Page({ | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: `/pages/couponorder/detail/index?quancode=${ | url: `/pages/couponorder/detail/index?quancode=${ | ||||
| e.currentTarget.dataset.quancode | e.currentTarget.dataset.quancode | ||||
| }`, | |||||
| success: function(res) { | |||||
| // success | |||||
| console.log("点击跳转到券详情页面"); | |||||
| }, | |||||
| fail: function() { | |||||
| // fail | |||||
| }, | |||||
| complete: function() { | |||||
| // complete | |||||
| } | |||||
| }` | |||||
| }); | }); | ||||
| }, | }, | ||||
| getList(key, pageNum) { | getList(key, pageNum) { | ||||
| @@ -57,32 +48,36 @@ Page({ | |||||
| console.log(key); | console.log(key); | ||||
| console.log(pageNum); | console.log(pageNum); | ||||
| if (that.data.allow_load) { | if (that.data.allow_load) { | ||||
| wx.showLoading({ | |||||
| title: "加载中" | |||||
| that.setData({ | |||||
| loading: true, | |||||
| content: "小主,我在玩命加载中..." | |||||
| }); | }); | ||||
| Http.get({ | Http.get({ | ||||
| url: config.api.couponOrderList, | url: config.api.couponOrderList, | ||||
| data: { | data: { | ||||
| pageNum: pageNum, | pageNum: pageNum, | ||||
| pageSize: 8, | |||||
| pageSize: 6, | |||||
| couponOrderStatus: key | couponOrderStatus: key | ||||
| } | } | ||||
| }).then(res => { | }).then(res => { | ||||
| console.log(res); | console.log(res); | ||||
| res.data.list.map(file => { | res.data.list.map(file => { | ||||
| file.expiredTime = format.formatTime( | |||||
| file.expiredTime, | |||||
| "yyyy-MM-dddd hh:mm:ss" | |||||
| ); | |||||
| file.expiredTime = util.fmtDate(file.expiredTime); | |||||
| }); | }); | ||||
| console.log("姐姐的订单列表"); | |||||
| setTimeout(function() { | setTimeout(function() { | ||||
| wx.hideLoading(); | |||||
| }, 1200); | |||||
| that.setData({ | |||||
| loading: false | |||||
| }); | |||||
| }, 1400); | |||||
| if (pageNum >= res.data.pages) { | if (pageNum >= res.data.pages) { | ||||
| that.setData({ | that.setData({ | ||||
| allow_load: false | allow_load: false | ||||
| }); | }); | ||||
| setTimeout(function() { | |||||
| that.setData({ | |||||
| loading: false | |||||
| }); | |||||
| }, 1400); | |||||
| } | } | ||||
| /** | /** | ||||
| * 先赋值后渲染页面 | * 先赋值后渲染页面 | ||||
| @@ -96,6 +91,15 @@ Page({ | |||||
| }); | }); | ||||
| } else { | } else { | ||||
| console.log("加载完成allow_load设置成false"); | console.log("加载完成allow_load设置成false"); | ||||
| that.setData({ | |||||
| loading: true, | |||||
| content: "^_^再拉裤子就掉啦ʅ(´◔౪◔)ʃ" | |||||
| }); | |||||
| setTimeout(function() { | |||||
| that.setData({ | |||||
| loading: false | |||||
| }); | |||||
| }, 1400); | |||||
| } | } | ||||
| }, | }, | ||||
| handleChange({ detail }) { | handleChange({ detail }) { | ||||
| @@ -6,12 +6,12 @@ | |||||
| <view> | <view> | ||||
| <view class="nocoupon" wx:if="{{list.length==0}}"> | <view class="nocoupon" wx:if="{{list.length==0}}"> | ||||
| <image src="./../../../assets/img/cou.png" mode="widthFix" /> | <image src="./../../../assets/img/cou.png" mode="widthFix" /> | ||||
| <text>暂无优惠券可用</text> | |||||
| <text>暂无优惠券哦</text> | |||||
| <navigator url="/pages/index/index" open-type="switchTab" hover-class="other-navigator-hover"> | <navigator url="/pages/index/index" open-type="switchTab" hover-class="other-navigator-hover"> | ||||
| <button>去领券</button> | <button>去领券</button> | ||||
| </navigator> | </navigator> | ||||
| </view> | </view> | ||||
| <view class='section' wx:for='{{list}}' wx:key='{{index}}' bindtap="gotouse" data-quancode="{{item.id}}"> | <view class='section' wx:for='{{list}}' wx:key='{{index}}' bindtap="gotouse" data-quancode="{{item.id}}"> | ||||
| <view class='detail_msg'> | <view class='detail_msg'> | ||||
| <view class='logo'> | <view class='logo'> | ||||
| @@ -30,5 +30,8 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="loading" wx:if="{{loading}}"> | |||||
| <image src="./../../../assets/img/loading.gif" mode="widthFix"></image>{{content}} | |||||
| </view> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -15,25 +15,23 @@ | |||||
| } | } | ||||
| .section { | .section { | ||||
| margin-top: 2%; | |||||
| } | |||||
| .section:nth-of-type(1) { | |||||
| margin-top: 30rpx; | |||||
| position: relative; | |||||
| } | } | ||||
| .detail_msg { | .detail_msg { | ||||
| width: 92%; | width: 92%; | ||||
| height: 202rpx !important; | |||||
| height: 186rpx !important; | |||||
| background: #fff; | background: #fff; | ||||
| display: flex; | display: flex; | ||||
| padding: 0 4%; | |||||
| margin-top: 2%; | |||||
| padding: 30rpx 4%; | |||||
| border-bottom: 1px solid #ededed; | border-bottom: 1px solid #ededed; | ||||
| } | } | ||||
| .logo { | .logo { | ||||
| width: 348rpx; | width: 348rpx; | ||||
| height: 184rpx; | height: 184rpx; | ||||
| border: 1px solid #f8f8f8; | |||||
| border-radius: 15rpx; | |||||
| } | } | ||||
| .logo image { | .logo image { | ||||
| @@ -70,16 +68,19 @@ | |||||
| } | } | ||||
| .btns { | .btns { | ||||
| width: 200rpx; | |||||
| position: absolute; | |||||
| top: 0; | |||||
| right: 20rpx; | |||||
| bottom: 0; | |||||
| margin: auto; | |||||
| width: 180rpx; | |||||
| height: 60rpx; | height: 60rpx; | ||||
| line-height: 60rpx; | line-height: 60rpx; | ||||
| text-align: center; | text-align: center; | ||||
| background: #00c0ff; | background: #00c0ff; | ||||
| color: #fff; | color: #fff; | ||||
| float: right; | |||||
| border-radius: 15rpx; | border-radius: 15rpx; | ||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| margin-top: 20rpx; | |||||
| } | } | ||||
| .txt1 { | .txt1 { | ||||
| @@ -92,21 +93,38 @@ | |||||
| color: #f96563; | color: #f96563; | ||||
| } | } | ||||
| .nocoupon image{ | |||||
| .nocoupon image { | |||||
| width: 203rpx; | width: 203rpx; | ||||
| display: block; | display: block; | ||||
| margin: 200rpx auto 0; | margin: 200rpx auto 0; | ||||
| } | } | ||||
| .nocoupon text{ | |||||
| .nocoupon text { | |||||
| display: block; | display: block; | ||||
| text-align: center; | text-align: center; | ||||
| font-size:30rpx; | |||||
| color: #00C0FF; | |||||
| font-size: 30rpx; | |||||
| color: #00c0ff; | |||||
| } | } | ||||
| .nocoupon button{ | |||||
| background: #00C0FF; | |||||
| .nocoupon button { | |||||
| background: #00c0ff; | |||||
| color: #fff; | color: #fff; | ||||
| font-style: 30rpx; | font-style: 30rpx; | ||||
| width: 70%; | width: 70%; | ||||
| margin: 30rpx auto 0; | margin: 30rpx auto 0; | ||||
| } | } | ||||
| .loading { | |||||
| text-align: center; | |||||
| height: 80rpx; | |||||
| line-height: 80rpx; | |||||
| font-size: 26rpx; | |||||
| color: #999; | |||||
| } | |||||
| .loading image { | |||||
| width: 40rpx; | |||||
| height: 40rpx; | |||||
| vertical-align: middle; | |||||
| margin-right: 10rpx; | |||||
| } | |||||
| @@ -1,11 +1,11 @@ | |||||
| var config = require('../../config/config.js'); | |||||
| var config = require("../../config/config.js"); | |||||
| const Http = require("../../utils/HttpBasics"); | const Http = require("../../utils/HttpBasics"); | ||||
| var app = getApp(); | var app = getApp(); | ||||
| Page({ | Page({ | ||||
| data: { | data: { | ||||
| canIUse: wx.canIUse('button.open-type.getPhoneNumber'), | |||||
| couponChannelId: null, | |||||
| couponId: null | |||||
| canIUse: wx.canIUse("button.open-type.getPhoneNumber"), | |||||
| couponChannelId: "", | |||||
| couponId: "" | |||||
| }, | }, | ||||
| onLoad: function(options) { | onLoad: function(options) { | ||||
| var that = this; | var that = this; | ||||
| @@ -13,37 +13,59 @@ Page({ | |||||
| that.setData({ | that.setData({ | ||||
| couponChannelId: options.couponChannelId, | couponChannelId: options.couponChannelId, | ||||
| couponId: options.couponId | couponId: options.couponId | ||||
| }) | |||||
| }); | |||||
| Http.get({ | |||||
| url: config.api.marketicon, | |||||
| data: { | |||||
| appId: config.weapp.AppId | |||||
| } | |||||
| }).then(res => { | |||||
| console.log(res.data.mallImgUrl); | |||||
| that.setData({ | |||||
| mallImgUrl: res.data.mallImgUrl | |||||
| }); | |||||
| }); | |||||
| }, | }, | ||||
| getPhoneNumber: function(e) { | getPhoneNumber: function(e) { | ||||
| var that = this; | var that = this; | ||||
| var iv = e.detail.iv; | var iv = e.detail.iv; | ||||
| var encryptedData = e.detail.encryptedData; | var encryptedData = e.detail.encryptedData; | ||||
| Http.post({ | Http.post({ | ||||
| url: config.api.getUserPhone, | |||||
| data: { | |||||
| encryptedData: encryptedData, | |||||
| iv: iv, | |||||
| } | |||||
| }) | |||||
| .then(function(res) { | |||||
| console.log(res); | |||||
| app.globalData.phone = res.data.phone; | |||||
| wx.showToast({ | |||||
| title: res.data.msg, | |||||
| icon: "success", | |||||
| success: function(res) { | |||||
| wx.redirectTo({ | |||||
| url: '/pages/coupon/detail/index?couponChannelId='+ that.data.couponChannelId + '&couponId='+ that.data.couponId +'&flag=pay' | |||||
| }) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| function(error) { | |||||
| wx.showToast({ | |||||
| title: '请重新授权手机号', | |||||
| icon: "none", | |||||
| }) | |||||
| }) | |||||
| url: config.api.getUserPhone, | |||||
| data: { | |||||
| encryptedData: encryptedData, | |||||
| iv: iv | |||||
| } | |||||
| }).then( | |||||
| function(res) { | |||||
| console.log(res); | |||||
| console.log("这是用户授权手机号的结果"); | |||||
| console.log(that.data.couponChannelId); | |||||
| console.log(that.data.couponId); | |||||
| console.log("这是从立即支付传回来的值 因为用户没有授权手机号"); | |||||
| app.globalData.phone = res.data.phone; | |||||
| wx.showToast({ | |||||
| title: res.data.msg, | |||||
| icon: "success", | |||||
| success: function(res) { | |||||
| wx.redirectTo({ | |||||
| url: | |||||
| "/pages/coupon/detail/index?couponChannelId=" + | |||||
| that.data.couponChannelId + | |||||
| "&couponId=" + | |||||
| that.data.couponId + | |||||
| "&flag=pay" | |||||
| }); | |||||
| } | |||||
| }); | |||||
| }, | |||||
| function(error) { | |||||
| wx.showToast({ | |||||
| title: "请重新授权手机号", | |||||
| icon: "none" | |||||
| }); | |||||
| } | |||||
| ); | |||||
| } | } | ||||
| }) | |||||
| }); | |||||
| @@ -1,5 +1,10 @@ | |||||
| <view class='registerd'> | |||||
| <image src='http://f.cdn.cloudolphin.com/banner_logo.jpg' mode='widthFix'></image> | |||||
| <button class="btn" hover-class='bg_color' wx:if="{{canIUse}}" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">授权手机号</button> | |||||
| <view wx:else>请升级微信版本</view> | |||||
| <view class="login-body"> | |||||
| <view class="login-logo"> | |||||
| <image src="{{mallImgUrl}}"></image> | |||||
| </view> | |||||
| <view class="login-btn"> | |||||
| <!-- <i-button i-class="login-btn-login" bind:click="getPhoneNumber">微信登陆</i-button> --> | |||||
| <button open-type="getPhoneNumber" wx:if="{{canIUse}}" class="login-btn-login" bindgetphonenumber="getPhoneNumber">授权手机号</button> | |||||
| <view wx:else>请升级微信版本</view> | |||||
| </view> | |||||
| </view> | </view> | ||||
| @@ -1,19 +1,35 @@ | |||||
| .registerd image { | |||||
| display: block; | |||||
| width: 100%; | |||||
| .login-body { | |||||
| padding-top: 200rpx; | |||||
| display: flex; | |||||
| flex-direction: column; | |||||
| align-items: center; | |||||
| justify-content: center; | |||||
| } | } | ||||
| .registerd button { | |||||
| background: #9d285c; | |||||
| border-radius: 10rpx; | |||||
| color: #fff; | |||||
| height: 84rpx; | |||||
| line-height: 84rpx; | |||||
| margin: 30rpx auto 0; | |||||
| width: 93%; | |||||
| font-size: 28rpx; | |||||
| .login-logo { | |||||
| width: 283rpx; | |||||
| height: 326rpx; | |||||
| } | } | ||||
| .bg_color { | |||||
| opacity: 0.6; | |||||
| .login-logo>image { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | } | ||||
| .login-btn { | |||||
| padding-top: 120rpx; | |||||
| width: 504rpx; | |||||
| } | |||||
| .login-btn .login-btn-login { | |||||
| background: #00C0FF !important; | |||||
| border-radius: 10rpx !important; | |||||
| height: 88rpx !important; | |||||
| margin: 0 !important; | |||||
| padding: 0 !important; | |||||
| font-family: PingFangSC-Semibold !important; | |||||
| font-size: 36rpx !important; | |||||
| color: #FFFFFF !important; | |||||
| letter-spacing: 0.75rpx !important; | |||||
| text-align: center; | |||||
| } | |||||
| @@ -1,38 +1,51 @@ | |||||
| var config = require('../../config/config.js'); | |||||
| var config = require("../../config/config.js"); | |||||
| var app = getApp(); | var app = getApp(); | ||||
| const Http = require("../../utils/HttpBasics"); | const Http = require("../../utils/HttpBasics"); | ||||
| Page({ | Page({ | ||||
| data: { | data: { | ||||
| canIUse: wx.canIUse('button.open-type.getUserInfo') | |||||
| canIUse: wx.canIUse("button.open-type.getUserInfo") | |||||
| }, | }, | ||||
| onLoad: function(options) { | onLoad: function(options) { | ||||
| var that = this; | var that = this; | ||||
| Http.get({ | |||||
| url: config.api.marketicon, | |||||
| data: { | |||||
| appId: config.weapp.AppId | |||||
| } | |||||
| }).then(res => { | |||||
| console.log(res.data.mallImgUrl); | |||||
| that.setData({ | |||||
| mallImgUrl: res.data.mallImgUrl | |||||
| }); | |||||
| }); | |||||
| }, | }, | ||||
| bindGetUserInfo: function(e) { | bindGetUserInfo: function(e) { | ||||
| console.log(e); | console.log(e); | ||||
| var iv = e.detail.iv; | var iv = e.detail.iv; | ||||
| var encryptedData = e.detail.encryptedData; | var encryptedData = e.detail.encryptedData; | ||||
| console.log(iv) | |||||
| console.log(encryptedData) | |||||
| console.log(iv); | |||||
| console.log(encryptedData); | |||||
| Http.post({ | Http.post({ | ||||
| url: config.api.getUserInfo, | |||||
| data: { | |||||
| encryptedData: encryptedData, | |||||
| iv: iv, | |||||
| } | |||||
| }) | |||||
| .then(function(res) { | |||||
| url: config.api.getUserInfo, | |||||
| data: { | |||||
| encryptedData: encryptedData, | |||||
| iv: iv | |||||
| } | |||||
| }).then( | |||||
| function(res) { | |||||
| console.log(res); | console.log(res); | ||||
| //返回主页 | //返回主页 | ||||
| wx.switchTab({ | wx.switchTab({ | ||||
| url: '/pages/index/index', | |||||
| }) | |||||
| }, function(error) { | |||||
| url: "/pages/index/index" | |||||
| }); | |||||
| }, | |||||
| function(error) { | |||||
| wx.showToast({ | wx.showToast({ | ||||
| title: '请授权个人信息', | |||||
| title: "请授权个人信息", | |||||
| icon: "none" | icon: "none" | ||||
| }) | |||||
| }) | |||||
| }, | |||||
| }) | |||||
| }); | |||||
| } | |||||
| ); | |||||
| } | |||||
| }); | |||||
| @@ -1,15 +1,6 @@ | |||||
| <!-- <view class='userinfo'> | |||||
| <image src='http://f.cdn.cloudolphin.com/banner_logo.jpg' mode='widthFix'></image> | |||||
| <button class="weui-btn" hover-class='bg_color' wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">头像昵称授权登录</button> | |||||
| <view wx:else>请升级微信版本</view> | |||||
| </view> --> | |||||
| <view class="login-body"> | <view class="login-body"> | ||||
| <view class="login-logo"> | <view class="login-logo"> | ||||
| <image src="../../assets/img/logo.png"></image> | |||||
| <image src="{{mallImgUrl}}"></image> | |||||
| </view> | </view> | ||||
| <view class="login-btn"> | <view class="login-btn"> | ||||
| <!-- <i-button i-class="login-btn-login" bind:click="getPhoneNumber">微信登陆</i-button> --> | <!-- <i-button i-class="login-btn-login" bind:click="getPhoneNumber">微信登陆</i-button> --> | ||||
| @@ -16,12 +16,13 @@ Component({ | |||||
| tabs: [], | tabs: [], | ||||
| list: [], | list: [], | ||||
| flag: "", | flag: "", | ||||
| loading: true, //"上拉加载"的变量,默认false,隐藏 | |||||
| content:"", | |||||
| return_list: [], | return_list: [], | ||||
| current: 0, | current: 0, | ||||
| current_scroll: 0, | current_scroll: 0, | ||||
| pageNum: 1, // 设置加载的第几次,默认是第一次 | pageNum: 1, // 设置加载的第几次,默认是第一次 | ||||
| pageSize: 10, //返回数据的个数 | pageSize: 10, //返回数据的个数 | ||||
| searchLoading: false, //"上拉加载"的变量,默认false,隐藏 | |||||
| searchLoadingComplete: false, //“没有数据”的变量,默认false,隐藏 | searchLoadingComplete: false, //“没有数据”的变量,默认false,隐藏 | ||||
| allow_load: true // 是否允许继续加载标识 默认 true 允许,false 加载完成 | allow_load: true // 是否允许继续加载标识 默认 true 允许,false 加载完成 | ||||
| }, | }, | ||||
| @@ -67,21 +68,21 @@ Component({ | |||||
| // 券list获取 | // 券list获取 | ||||
| if (that.data.allow_load) { | if (that.data.allow_load) { | ||||
| wx.showLoading({ | |||||
| title: "飞速加载中" | |||||
| }); | |||||
| that.setData({ | |||||
| loading:true, | |||||
| content:'小主,我在玩命加载中...' | |||||
| }) | |||||
| // 根据 key == 0 区分全部或其它tab,决定是否传参数 business | // 根据 key == 0 区分全部或其它tab,决定是否传参数 business | ||||
| if (key == 0) { | if (key == 0) { | ||||
| var param = { | var param = { | ||||
| pageNum: pageNum, | pageNum: pageNum, | ||||
| pageSize: 8, | |||||
| pageSize: 16, | |||||
| targetAd: 1 | targetAd: 1 | ||||
| }; | }; | ||||
| } else { | } else { | ||||
| var param = { | var param = { | ||||
| pageNum: pageNum, | pageNum: pageNum, | ||||
| pageSize: 8, | |||||
| pageSize: 16, | |||||
| business: key, | business: key, | ||||
| targetAd: 1 | targetAd: 1 | ||||
| }; | }; | ||||
| @@ -92,11 +93,10 @@ Component({ | |||||
| data: param | data: param | ||||
| }).then(res => { | }).then(res => { | ||||
| console.log(res); | console.log(res); | ||||
| /** | |||||
| * 加载完成 | |||||
| */ | |||||
| if (pageNum >= res.data.pages) { | if (pageNum >= res.data.pages) { | ||||
| // wx.showToast({ | |||||
| // title: "加载完成喽", | |||||
| // icon: "success" | |||||
| // }); | |||||
| that.setData({ | that.setData({ | ||||
| allow_load: false | allow_load: false | ||||
| }); | }); | ||||
| @@ -113,10 +113,21 @@ Component({ | |||||
| }); | }); | ||||
| }); | }); | ||||
| setTimeout(function() { | setTimeout(function() { | ||||
| wx.hideLoading(); | |||||
| }, 1000); | |||||
| that.setData({ | |||||
| loading:false, | |||||
| }) | |||||
| }, 1400); | |||||
| } else { | } else { | ||||
| console.info("allow_load==false 已禁止加载"); | console.info("allow_load==false 已禁止加载"); | ||||
| that.setData({ | |||||
| loading:true, | |||||
| content:"^_^再拉裤子就掉啦ʅ(´◔౪◔)ʃ" | |||||
| }) | |||||
| setTimeout(function(){ | |||||
| that.setData({ | |||||
| loading:false, | |||||
| }) | |||||
| },1400) | |||||
| } | } | ||||
| }; | }; | ||||
| @@ -134,7 +145,7 @@ Component({ | |||||
| url: config.api.businessList, | url: config.api.businessList, | ||||
| data: { | data: { | ||||
| pageNum: 1, | pageNum: 1, | ||||
| pageSize: 10, | |||||
| pageSize: 15, | |||||
| type: 1 | type: 1 | ||||
| } | } | ||||
| }).then(res => { | }).then(res => { | ||||
| @@ -2,5 +2,6 @@ | |||||
| <i-tabs current="{{current_scroll}}" scroll bindchange="handleChangeScroll"> | <i-tabs current="{{current_scroll}}" scroll bindchange="handleChangeScroll"> | ||||
| <i-tab wx:for="{{tabs}}" wx:key="unique" key="{{item.id}}" title="{{item.title}}"></i-tab> | <i-tab wx:for="{{tabs}}" wx:key="unique" key="{{item.id}}" title="{{item.title}}"></i-tab> | ||||
| </i-tabs> | </i-tabs> | ||||
| <c-coupons wx:for="{{list}}" paramAtoB="{{scrollHeight}}" wx:key="unique" data="{{item}}" /> | |||||
| <c-coupons wx:for="{{list}}" paramAtoB="{{loading}}" wx:key="unique" data="{{item}}" /> | |||||
| <view class="loading" wx:if="{{loading}}"><image src="./../../../assets/img/loading.gif" mode="widthFix"></image>{{content}}</view> | |||||
| </view> | </view> | ||||
| @@ -0,0 +1,16 @@ | |||||
| .index-coupons{ | |||||
| height:820rpx; | |||||
| } | |||||
| .loading{ | |||||
| text-align: center; | |||||
| height: 80rpx; | |||||
| line-height: 80rpx; | |||||
| font-size: 26rpx; | |||||
| color: #999; | |||||
| } | |||||
| .loading image{ | |||||
| width: 40rpx; | |||||
| height: 40rpx; | |||||
| vertical-align: middle; | |||||
| margin-right: 10rpx; | |||||
| } | |||||
| @@ -20,10 +20,12 @@ Page({ | |||||
| onLoad: function(options) { | onLoad: function(options) { | ||||
| var that = this; | var that = this; | ||||
| var scene = decodeURIComponent(options.scene); | var scene = decodeURIComponent(options.scene); | ||||
| }, | |||||
| onShow:function(){ | |||||
| let that = this; | |||||
| if (app.globalData.token && app.globalData.token != null) { | if (app.globalData.token && app.globalData.token != null) { | ||||
| } else { | } else { | ||||
| // 由于是网络请求,可能会在 Page.onLoad 之后才返回 | |||||
| // 所以此处加入 callback 以防止这种情况 | |||||
| wx.login({ | wx.login({ | ||||
| success: ({ code }) => { | success: ({ code }) => { | ||||
| console.log(code); | console.log(code); | ||||
| @@ -43,7 +45,7 @@ Page({ | |||||
| url: config.api.bannerlist, | url: config.api.bannerlist, | ||||
| data: { | data: { | ||||
| pageNum: 1, | pageNum: 1, | ||||
| pageSize: 10 | |||||
| pageSize: 5 | |||||
| } | } | ||||
| }).then(res => { | }).then(res => { | ||||
| that.setData({ | that.setData({ | ||||
| @@ -36,13 +36,15 @@ Component({ | |||||
| gotodetail: function(e) { | gotodetail: function(e) { | ||||
| console.log(e); | console.log(e); | ||||
| console.log("出错啦 大哥"); | console.log("出错啦 大哥"); | ||||
| console.log(e.currentTarget.dataset.id); | |||||
| console.log(e.currentTarget.dataset.targetad); | |||||
| console.log(e.currentTarget.dataset); | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: `/pages/coupon/detail/index?couponChannelId=${ | url: `/pages/coupon/detail/index?couponChannelId=${ | ||||
| e.currentTarget.dataset.id | |||||
| }&couponId=${e.currentTarget.dataset.couponId} | |||||
| }&targetAd=${e.currentTarget.dataset.targetad}` | |||||
| e.currentTarget.dataset.couponchannelid | |||||
| }&couponId=${ | |||||
| e.currentTarget.dataset.couponid | |||||
| }&targetAd=${ | |||||
| e.currentTarget.dataset.targetad | |||||
| }` | |||||
| }); | }); | ||||
| } | } | ||||
| }, | }, | ||||
| @@ -1,8 +1,8 @@ | |||||
| <view class="index-rushToBuy"> | <view class="index-rushToBuy"> | ||||
| <view class="index-rushToBuy-title">限时抢购<text bindtap="gotomore">查看更多></text></view> | |||||
| <view class="index-rushToBuy-title">限时抢购<text bindtap="gotomore">查看更多</text></view> | |||||
| <scroll-view scroll-x class="index-scroll-view"> | <scroll-view scroll-x class="index-scroll-view"> | ||||
| <view class="commodity" wx:for="{{list}}" wx:key="unique"> | <view class="commodity" wx:for="{{list}}" wx:key="unique"> | ||||
| <view bindtap="gotodetail" data-id="{{item.id}}" data-targetAd="{{item.targetAd}}"> | |||||
| <view bindtap="gotodetail" data-couponChannelId="{{item.id}}" data-couponId="{{item.couponId}}" data-targetAd="{{item.targetAd}}"> | |||||
| <image class="commodity-img" src="{{item.coverImg}}" /> | <image class="commodity-img" src="{{item.coverImg}}" /> | ||||
| <view class="commodity-info"> | <view class="commodity-info"> | ||||
| <view class="commodity-info-name">{{item.title}}</view> | <view class="commodity-info-name">{{item.title}}</view> | ||||
| @@ -14,7 +14,7 @@ | |||||
| .index-rushToBuy-title text{ | .index-rushToBuy-title text{ | ||||
| float: right; | float: right; | ||||
| margin-right: 20rpx; | margin-right: 20rpx; | ||||
| color: #f96563; | |||||
| color: #a8adb4; | |||||
| font-size: 26rpx; | font-size: 26rpx; | ||||
| } | } | ||||
| .index-scroll-view { | .index-scroll-view { | ||||
| @@ -37,12 +37,10 @@ | |||||
| .index-scroll-view .commodity:last-child{ | .index-scroll-view .commodity:last-child{ | ||||
| margin-right: 30rpx; | margin-right: 30rpx; | ||||
| } | } | ||||
| .index-scroll-view .commodity-img { | |||||
| height: 213rpx; | |||||
| } | |||||
| .index-scroll-view .commodity-img image{ | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| .commodity-img{ | |||||
| display: block; | |||||
| width: 355rpx; | |||||
| height: 213rpx; | |||||
| } | } | ||||
| .index-scroll-view .commodity-info { | .index-scroll-view .commodity-info { | ||||
| @@ -1,21 +1,28 @@ | |||||
| let app = getApp() | |||||
| var config = require("../../config/config.js"); | |||||
| const Http = require("../../utils/HttpBasics"); | |||||
| Page({ | Page({ | ||||
| data: { | |||||
| }, | |||||
| getPhoneNumber: function (e) { | |||||
| console.log(e.detail.errMsg) | |||||
| console.log(e.detail.iv) | |||||
| console.log(e.detail.encryptedData) | |||||
| data: {}, | |||||
| getPhoneNumber: function(e) { | |||||
| console.log(e.detail.errMsg); | |||||
| console.log(e.detail.iv); | |||||
| console.log(e.detail.encryptedData); | |||||
| wx.navigateBack({ | wx.navigateBack({ | ||||
| delta: 1 | delta: 1 | ||||
| }) | |||||
| }); | |||||
| }, | }, | ||||
| onLoad() { | onLoad() { | ||||
| }, | |||||
| onLogin: function () { | |||||
| console.log("登陆"); | |||||
| let that = this; | |||||
| console.log(config.weapp.AppId) | |||||
| Http.get({ | |||||
| url: config.api.marketicon, | |||||
| data: { | |||||
| appId: config.weapp.AppId | |||||
| } | |||||
| }).then(res=>{ | |||||
| console.log(res.data.mallImgUrl); | |||||
| that.setData({ | |||||
| mallImgUrl: res.data.mallImgUrl | |||||
| }); | |||||
| }) | |||||
| } | } | ||||
| }) | |||||
| }); | |||||
| @@ -1,6 +1,6 @@ | |||||
| <view class="login-body"> | <view class="login-body"> | ||||
| <view class="login-logo"> | <view class="login-logo"> | ||||
| <image src="../../assets/img/logo.png"></image> | |||||
| <image src="{{mallImgUrl}}"></image> | |||||
| </view> | </view> | ||||
| <view class="login-btn"> | <view class="login-btn"> | ||||
| <!-- <i-button i-class="login-btn-login" bind:click="getPhoneNumber">微信登陆</i-button> --> | <!-- <i-button i-class="login-btn-login" bind:click="getPhoneNumber">微信登陆</i-button> --> | ||||
| @@ -14,6 +14,7 @@ | |||||
| .login-logo>image { | .login-logo>image { | ||||
| width: 100%; | width: 100%; | ||||
| height: 100%; | height: 100%; | ||||
| border-radius: 16rpx; | |||||
| } | } | ||||
| .login-btn { | .login-btn { | ||||
| @@ -19,57 +19,25 @@ Page({ | |||||
| */ | */ | ||||
| powerDrawer: function(e) { | powerDrawer: function(e) { | ||||
| // var currentStatu = e.currentTarget.dataset.statu; | |||||
| // couponOrderStatus | |||||
| // 0 未使用 | |||||
| // 1 已使用 | |||||
| // 2 已过期 | |||||
| // 3 已经退款 | |||||
| console.log(e); | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: `/pages/youhuiquanma/index?quancode=${e.currentTarget.dataset.quancode}&title=${e.currentTarget.dataset.title}&subtitle=${e.currentTarget.dataset.subtitle}&remark=${e.currentTarget.dataset.remark}`, | |||||
| }) | |||||
| // console.log(e.currentTarget.dataset.statu); | |||||
| url: `/pages/orderquanma/index?quancode=${ | |||||
| e.currentTarget.dataset.quancode | |||||
| }&title=${e.currentTarget.dataset.title}&subtitle=${ | |||||
| e.currentTarget.dataset.subtitle | |||||
| }&remark=${e.currentTarget.dataset.remark}&couponorderstatus=${ | |||||
| e.currentTarget.dataset.couponorderstatus | |||||
| }` | |||||
| }); | |||||
| console.log(e.currentTarget.dataset.quancode); | console.log(e.currentTarget.dataset.quancode); | ||||
| // this.utils(currentStatu, e.currentTarget.dataset.quancode); | |||||
| console.log(e.currentTarget.dataset.couponorderstatus); | |||||
| }, | }, | ||||
| // utils: function(currentStatu, quancode) { | |||||
| // /* 动画部分 */ | |||||
| // // 第1步:创建动画实例 | |||||
| // var animation = wx.createAnimation({ | |||||
| // duration: 200, //动画时长 | |||||
| // timingFunction: "linear", //线性 | |||||
| // delay: 0 //0则不延迟 | |||||
| // }); // 第2步:这个动画实例赋给当前的动画实例 | |||||
| // this.animation = animation; // 第3步:执行第一组动画 | |||||
| // animation.opacity(0).step(); // 第4步:导出动画对象赋给数据对象储存 | |||||
| // this.setData({ | |||||
| // animationData: animation.export() | |||||
| // }); // 第5步:设置定时器到指定时候后,执行第二组动画 | |||||
| // setTimeout( | |||||
| // function() { | |||||
| // // 执行第二组动画 | |||||
| // animation.opacity(1).step(); // 给数据对象储存的第一组动画,更替为执行完第二组动画的动画对象 | |||||
| // this.setData({ | |||||
| // animationData: animation | |||||
| // }); //关闭 | |||||
| // if (currentStatu == "close") { | |||||
| // this.setData({ | |||||
| // showModalStatus: false | |||||
| // }); | |||||
| // } | |||||
| // }.bind(this), | |||||
| // 20 | |||||
| // ); | |||||
| // // 显示 | |||||
| // if (currentStatu == "open") { | |||||
| // this.setData({ | |||||
| // showModalStatus: true | |||||
| // }); | |||||
| // this.data.flag++; | |||||
| // console.log(this.data.flag); | |||||
| // util.barcode("barcode" + this.data.flag, quancode, 500, 100); | |||||
| // util.qrcode("qrcode" + this.data.flag, quancode, 350, 350); | |||||
| // this.setData({ | |||||
| // flag: this.data.flag | |||||
| // }); | |||||
| // } | |||||
| // }, | |||||
| /** | /** | ||||
| * 生命周期函数--监听页面加载 | * 生命周期函数--监听页面加载 | ||||
| */ | */ | ||||
| @@ -80,7 +48,7 @@ Page({ | |||||
| this.setData({ | this.setData({ | ||||
| orderId: options.orderId | orderId: options.orderId | ||||
| }) | |||||
| }); | |||||
| Http.get({ | Http.get({ | ||||
| url: config.api.orderDetail, | url: config.api.orderDetail, | ||||
| @@ -140,12 +108,27 @@ Page({ | |||||
| if (res.errMsg == "requestPayment:ok") { | if (res.errMsg == "requestPayment:ok") { | ||||
| wx.showToast({ | wx.showToast({ | ||||
| title: "购买成功", | title: "购买成功", | ||||
| duration: 2500 | |||||
| duration: 2000, | |||||
| image: "./../../../assets/img/success.png", | |||||
| mask: false, | |||||
| success: function() { | |||||
| wx.showLoading({ | |||||
| title: "加载中..." | |||||
| }); | |||||
| setTimeout(function() { | |||||
| wx.hideLoading(); | |||||
| }, 1600); | |||||
| setTimeout(() => { | |||||
| wx.redirectTo({ | |||||
| url: `/pages/order/detail/index?orderId=${ | |||||
| that.data.orderId | |||||
| }` | |||||
| }); | |||||
| }, 1600); | |||||
| } | |||||
| }); | }); | ||||
| } | } | ||||
| wx.navigateBack({ | |||||
| delta: 2 | |||||
| }); | |||||
| }, | }, | ||||
| fail: res => { | fail: res => { | ||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 2); // 支付失败 | that.payOrderUpdate(that.data.orderId, payOrderId, 2); // 支付失败 | ||||
| @@ -154,30 +137,12 @@ Page({ | |||||
| }, | }, | ||||
| complete: res => { | complete: res => { | ||||
| console.log(res); | console.log(res); | ||||
| console.log("支付完成"); | |||||
| // var url = res.data.url; | |||||
| // console.log("get url", url); | |||||
| if (res.errMsg == "requestPayment:ok") { | if (res.errMsg == "requestPayment:ok") { | ||||
| wx.showModal({ | |||||
| title: "提示", | |||||
| content: "支付成功" | |||||
| }); | |||||
| // if (url) { | |||||
| // setTimeout(function () { | |||||
| // wx.redirectTo({ | |||||
| // url: "/pages" + url | |||||
| // }); | |||||
| // }, 2000); | |||||
| // } else { | |||||
| // setTimeout(() => { | |||||
| // wx.navigateBack(); | |||||
| // }, 2000); | |||||
| // } | |||||
| } else { | } else { | ||||
| wx.showToast({ | wx.showToast({ | ||||
| title: "支付失败", | title: "支付失败", | ||||
| image: "./../../../assets/img/fail.png", | image: "./../../../assets/img/fail.png", | ||||
| duration: 1500, | |||||
| duration: 2000, | |||||
| mask: false | mask: false | ||||
| }); | }); | ||||
| } | } | ||||
| @@ -188,11 +153,13 @@ Page({ | |||||
| }); | }); | ||||
| } else { | } else { | ||||
| // 免费券 | // 免费券 | ||||
| that.payOrderUpdate(orderId, "0", 1) // 支付成功 | |||||
| that | |||||
| .payOrderUpdate(orderId, "0", 1) // 支付成功 | |||||
| .then(res => { | .then(res => { | ||||
| wx.showToast({ | wx.showToast({ | ||||
| title: "支付成功", | title: "支付成功", | ||||
| duration: 3000 | |||||
| duration: 2000, | |||||
| image: "./../../../assets/img/success.png" | |||||
| }); | }); | ||||
| }); | }); | ||||
| } | } | ||||
| @@ -203,14 +170,14 @@ Page({ | |||||
| payOrderUpdate: (orderId, payOrderId, status, reason) => { | payOrderUpdate: (orderId, payOrderId, status, reason) => { | ||||
| // 支付成功 | // 支付成功 | ||||
| Http.post({ | Http.post({ | ||||
| url: config.api.payOrderUpdate, | |||||
| data: { | |||||
| payOrderId: payOrderId, | |||||
| orderId: orderId, | |||||
| status: status, | |||||
| reason: reason | |||||
| } | |||||
| }) | |||||
| url: config.api.payOrderUpdate, | |||||
| data: { | |||||
| payOrderId: payOrderId, | |||||
| orderId: orderId, | |||||
| status: status, | |||||
| reason: reason | |||||
| } | |||||
| }) | |||||
| .then(res => { | .then(res => { | ||||
| console.log("payOrderUpdate then", res); | console.log("payOrderUpdate then", res); | ||||
| // wx.showToast({ | // wx.showToast({ | ||||
| @@ -257,4 +224,4 @@ Page({ | |||||
| * 用户点击右上角分享 | * 用户点击右上角分享 | ||||
| */ | */ | ||||
| onShareAppMessage: function() {} | onShareAppMessage: function() {} | ||||
| }); | |||||
| }); | |||||
| @@ -29,10 +29,23 @@ | |||||
| <text>适用门店</text> | <text>适用门店</text> | ||||
| <text class="fr">{{order.merchantName}}</text> | <text class="fr">{{order.merchantName}}</text> | ||||
| </view> | </view> | ||||
| <view wx:if="{{order.orderStatus==1}}" data-title="{{order.title}}" data-subtitle="{{order.subTitle}}" data-remark="{{order.remark}}" data-quancode="{{order.id}}" bindtap="powerDrawer" data-statu="open"> | |||||
| <view> | |||||
| <text>兑换码:</text> | |||||
| <text>{{order.id}}</text> | |||||
| <!-- | |||||
| couponOrderStatus | |||||
| 0 未使用 | |||||
| 1 已使用 | |||||
| 2 已过期 | |||||
| 3 已经退款 | |||||
| --> | |||||
| <!-- | |||||
| orderStatus | |||||
| 1 | |||||
| 只有支付完成的时 | |||||
| 才显示兑换码 | |||||
| --> | |||||
| <view wx:if="{{order.orderStatus==1}}" data-couponOrderStatus="{{order.couponOrderStatus}}" data-title="{{order.title}}" data-subtitle="{{order.subTitle}}" data-remark="{{order.remark}}" data-quancode="{{order.couponOrderId}}" bindtap="powerDrawer"> | |||||
| <view style="width:86%;clear: both;"> | |||||
| <text>兑换码</text> | |||||
| <text class="fr">{{order.couponOrderId}}</text> | |||||
| </view> | </view> | ||||
| <view> | <view> | ||||
| <image class="spcode" src="./../../../assets/img/spcode.png" mode="widthFix"></image> | <image class="spcode" src="./../../../assets/img/spcode.png" mode="widthFix"></image> | ||||
| @@ -56,18 +69,3 @@ | |||||
| <button bindtap='orderFunc' data-couponChannelId="{{order.id}}" class='buy'>立即支付</button> | <button bindtap='orderFunc' data-couponChannelId="{{order.id}}" class='buy'>立即支付</button> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <!--mask--> | |||||
| <view class="drawer_screen" data-title="{{order.title}}" data-subtitle="{{order.subTile}}}" data-remark="{{order.remark}}" data-quancode="{{order.id}}" wx:if="{{showModalStatus}}" bindtap="powerDrawer" data-statu="close"></view> | |||||
| <view animation="{{animationData}}" class="drawer_box" wx:if="{{showModalStatus}}"> | |||||
| <view class="panel"> | |||||
| <view class="barcode"> | |||||
| <canvas canvas-id="barcode{{flag+1}}" /> | |||||
| </view> | |||||
| <view class="qrcode"> | |||||
| <canvas canvas-id="qrcode{{flag+1}}" /> | |||||
| </view> | |||||
| <view class="barnum"><text>兑换码:</text>{{data.id}}</view> | |||||
| </view> | |||||
| </view> | |||||
| @@ -287,6 +287,7 @@ radio { | |||||
| } | } | ||||
| .barnum { | .barnum { | ||||
| width: 88%; | |||||
| height: 46rpx; | height: 46rpx; | ||||
| line-height: 46rpx; | line-height: 46rpx; | ||||
| font-size: 32rpx; | font-size: 32rpx; | ||||
| @@ -23,7 +23,9 @@ Page({ | |||||
| current: "", | current: "", | ||||
| current_scroll: "1", | current_scroll: "1", | ||||
| page: 1, | page: 1, | ||||
| allow_load: true | |||||
| allow_load: true, | |||||
| loading: true, //"上拉加载"的变量,默认false,隐藏 | |||||
| content:"", | |||||
| }, | }, | ||||
| onLoad(e) { | onLoad(e) { | ||||
| this.getList(e.id, 1); | this.getList(e.id, 1); | ||||
| @@ -35,23 +37,11 @@ Page({ | |||||
| gotopay:function(e){ | gotopay:function(e){ | ||||
| console.log("orderId"+e.currentTarget.dataset.id); | console.log("orderId"+e.currentTarget.dataset.id); | ||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: `/pages/order/detail/index?orderId=${e.currentTarget.dataset.id}&flag='pay'`, | |||||
| success: function(res){ | |||||
| // success | |||||
| }, | |||||
| fail: function() { | |||||
| // fail | |||||
| }, | |||||
| complete: function() { | |||||
| // complete | |||||
| } | |||||
| }) | |||||
| url: `/pages/order/detail/index?orderId=${e.currentTarget.dataset.id}&flag='pay'`}) | |||||
| }, | }, | ||||
| getList(key, pageNum) { | getList(key, pageNum) { | ||||
| let that = this; | let that = this; | ||||
| console.log(key); | console.log(key); | ||||
| /** | /** | ||||
| * key==0 | * key==0 | ||||
| * 不发送该字段 | * 不发送该字段 | ||||
| @@ -72,23 +62,31 @@ Page({ | |||||
| } | } | ||||
| if (that.data.allow_load) { | if (that.data.allow_load) { | ||||
| wx.showLoading({ | |||||
| title: "加载中" | |||||
| }); | |||||
| that.setData({ | |||||
| loading:true, | |||||
| content:'小主,我在玩命加载中...' | |||||
| }) | |||||
| Http.get({ | Http.get({ | ||||
| url: config.api.orderList, | url: config.api.orderList, | ||||
| data: variable | data: variable | ||||
| }).then(res => { | }).then(res => { | ||||
| console.log(res); | console.log(res); | ||||
| console.log("姐姐的订单列表"); | |||||
| setTimeout(function() { | |||||
| wx.hideLoading(); | |||||
| }, 1200); | |||||
| if (pageNum >= res.data.pages) { | if (pageNum >= res.data.pages) { | ||||
| that.setData({ | that.setData({ | ||||
| allow_load: false | allow_load: false | ||||
| }); | }); | ||||
| setTimeout(function() { | |||||
| that.setData({ | |||||
| loading:false, | |||||
| }) | |||||
| }, 1400); | |||||
| } | } | ||||
| setTimeout(function() { | |||||
| that.setData({ | |||||
| loading:false, | |||||
| }) | |||||
| }, 1400); | |||||
| /** | /** | ||||
| * 先赋值后渲染页面 | * 先赋值后渲染页面 | ||||
| * concat 不会改变原数组值 | * concat 不会改变原数组值 | ||||
| @@ -99,7 +97,6 @@ Page({ | |||||
| list: that.data.list | list: that.data.list | ||||
| }); | }); | ||||
| for(let i=0; i<that.data.list.length; i++){ | for(let i=0; i<that.data.list.length; i++){ | ||||
| console.log(i); | |||||
| that.setData({ | that.setData({ | ||||
| createDate:util.fmtDate(that.data.list[i].createDate) | createDate:util.fmtDate(that.data.list[i].createDate) | ||||
| }) | }) | ||||
| @@ -107,6 +104,15 @@ Page({ | |||||
| }); | }); | ||||
| } else { | } else { | ||||
| console.log("加载完成allow_load设置成false"); | console.log("加载完成allow_load设置成false"); | ||||
| that.setData({ | |||||
| loading:true, | |||||
| content:"^_^再拉裤子就掉啦ʅ(´◔౪◔)ʃ" | |||||
| }) | |||||
| setTimeout(function(){ | |||||
| that.setData({ | |||||
| loading:false, | |||||
| }) | |||||
| },1400) | |||||
| } | } | ||||
| }, | }, | ||||
| handleChange({ detail }) { | handleChange({ detail }) { | ||||
| @@ -124,13 +130,10 @@ Page({ | |||||
| }, | }, | ||||
| onReachBottom: function() { | onReachBottom: function() { | ||||
| var that = this; | var that = this; | ||||
| console.log(that.data.page); | |||||
| that.data.page++; | that.data.page++; | ||||
| console.log(that.data.page); | |||||
| that.setData({ | that.setData({ | ||||
| page: that.data.page | page: that.data.page | ||||
| }); | }); | ||||
| console.info("after++ " + that.data.page); | |||||
| that.getList(that.data.current_scroll, that.data.page); | that.getList(that.data.current_scroll, that.data.page); | ||||
| } | } | ||||
| }); | }); | ||||
| @@ -11,9 +11,9 @@ | |||||
| <view class='info'> | <view class='info'> | ||||
| <view> | <view> | ||||
| <text>{{item.title}}</text> | <text>{{item.title}}</text> | ||||
| <text wx:if="{{item.orderStatus==0}}">等待付款</text> | |||||
| <text wx:if="{{item.orderStatus==0}}">待付款</text> | |||||
| <text wx:if="{{item.orderStatus==1}}">已付款</text> | <text wx:if="{{item.orderStatus==1}}">已付款</text> | ||||
| <text wx:if="{{item.orderStatus==2}}">订单取消</text> | |||||
| <text wx:if="{{item.orderStatus==2}}">已过期</text> | |||||
| </view> | </view> | ||||
| <view>{{item.subTitle}}</view> | <view>{{item.subTitle}}</view> | ||||
| <view> | <view> | ||||
| @@ -26,11 +26,22 @@ | |||||
| <text>¥{{item.salePrice/100}}</text> | <text>¥{{item.salePrice/100}}</text> | ||||
| <text>¥{{item.price/100}}</text> | <text>¥{{item.price/100}}</text> | ||||
| </view> | </view> | ||||
| <view class="btn" data-id="{{item.id}}" bindtap="gotopay"> | |||||
| <text wx:if="{{item.orderStatus==1}}">查看详情</text> | |||||
| <text wx:if="{{item.orderStatus==0}}">支付</text> | |||||
| <text wx:if="{{item.orderStatus==2}}">支付</text> | |||||
| <!-- | |||||
| orderStatus | |||||
| 0待付款 | |||||
| 1完成 | |||||
| 2取消 | |||||
| --> | |||||
| <view wx:if="{{item.orderStatus==1}}" class="btn" data-id="{{item.id}}" bindtap="gotopay"> | |||||
| <text>查看详情</text> | |||||
| </view> | </view> | ||||
| <view wx:if="{{item.orderStatus==0}}" class="btn" data-id="{{item.id}}" bindtap="gotopay"> | |||||
| <text>支付</text> | |||||
| </view> | |||||
| <view wx:if="{{item.orderStatus==2}}" style="background:#999;opacity: .6;" class="btn"> | |||||
| <text>已过期</text> | |||||
| </view> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="dingdan" wx:if="{{list.length==0}}"> | <view class="dingdan" wx:if="{{list.length==0}}"> | ||||
| @@ -38,4 +49,7 @@ | |||||
| <text>暂无订单</text> | <text>暂无订单</text> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="loading" wx:if="{{loading}}"> | |||||
| <image src="./../../../assets/img/loading.gif" mode="widthFix"></image>{{content}} | |||||
| </view> | |||||
| </view> | </view> | ||||
| @@ -20,7 +20,7 @@ | |||||
| .detail_msg { | .detail_msg { | ||||
| width: 92%; | width: 92%; | ||||
| height: 220rpx !important; | |||||
| height: 200rpx !important; | |||||
| background: #fff; | background: #fff; | ||||
| display: flex; | display: flex; | ||||
| margin: 0 4%; | margin: 0 4%; | ||||
| @@ -29,9 +29,11 @@ | |||||
| } | } | ||||
| .logo { | .logo { | ||||
| width: 248rpx; | |||||
| width: 350rpx; | |||||
| height: 184rpx; | height: 184rpx; | ||||
| border-radius: 30rpx; | |||||
| border: 1px solid #f8f8f8; | |||||
| border-radius: 16rpx; | |||||
| overflow: hidden; | |||||
| } | } | ||||
| .logo image { | .logo image { | ||||
| @@ -43,6 +45,7 @@ | |||||
| display: flex; | display: flex; | ||||
| justify-content: space-between; | justify-content: space-between; | ||||
| padding: 0 4%; | padding: 0 4%; | ||||
| margin-top: 8rpx; | |||||
| } | } | ||||
| .info { | .info { | ||||
| @@ -50,28 +53,33 @@ | |||||
| } | } | ||||
| .info view:nth-child(1) { | .info view:nth-child(1) { | ||||
| margin-top: 20rpx; | |||||
| margin-bottom: 15rpx; | margin-bottom: 15rpx; | ||||
| } | } | ||||
| .info view:nth-child(1) text { | .info view:nth-child(1) text { | ||||
| font-size: 30rpx; | font-size: 30rpx; | ||||
| /* width: 340rpx; | |||||
| overflow: hidden; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; */ | |||||
| } | } | ||||
| .info view:nth-child(1) text:nth-child(2) { | .info view:nth-child(1) text:nth-child(2) { | ||||
| color: #ffae00; | |||||
| color: #f96563; | |||||
| font-size: 24rpx; | font-size: 24rpx; | ||||
| /* width: 340rpx; | |||||
| overflow: hidden; | |||||
| white-space: nowrap; | |||||
| text-overflow: ellipsis; */ | |||||
| } | } | ||||
| .info view:nth-child(2), | |||||
| .info view:nth-child(3) { | |||||
| .info view:nth-child(2), .info view:nth-child(3) { | |||||
| color: #f96563; | color: #f96563; | ||||
| font-size: 24rpx; | font-size: 24rpx; | ||||
| padding-left: 4%; | padding-left: 4%; | ||||
| } | } | ||||
| .info view:nth-child(2) text, | |||||
| .info view:nth-child(3) text { | |||||
| .info view:nth-child(2) text, .info view:nth-child(3) text { | |||||
| font-size: 22rpx; | font-size: 22rpx; | ||||
| color: #b8b8b8; | color: #b8b8b8; | ||||
| } | } | ||||
| @@ -109,7 +117,7 @@ | |||||
| bottom: 0; | bottom: 0; | ||||
| margin: auto; | margin: auto; | ||||
| right: 20rpx; | right: 20rpx; | ||||
| width: 200rpx; | |||||
| width: 180rpx; | |||||
| height: 60rpx; | height: 60rpx; | ||||
| line-height: 60rpx; | line-height: 60rpx; | ||||
| text-align: center; | text-align: center; | ||||
| @@ -124,17 +132,35 @@ | |||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| color: #fff; | color: #fff; | ||||
| } | } | ||||
| .dingdan{ | |||||
| .dingdan { | |||||
| margin-top: 200rpx; | margin-top: 200rpx; | ||||
| } | } | ||||
| .dingdan text { | .dingdan text { | ||||
| display: block; | display: block; | ||||
| text-align: center; | text-align: center; | ||||
| font-size: 30rpx; | font-size: 30rpx; | ||||
| color: #999; | |||||
| color: #00c0ff; | |||||
| } | } | ||||
| .dingdan image { | .dingdan image { | ||||
| display: block; | display: block; | ||||
| width: 100rpx; | width: 100rpx; | ||||
| margin: 0 auto 16rpx; | margin: 0 auto 16rpx; | ||||
| } | } | ||||
| .loading { | |||||
| text-align: center; | |||||
| height: 80rpx; | |||||
| line-height: 80rpx; | |||||
| font-size: 26rpx; | |||||
| color: #999; | |||||
| } | |||||
| .loading image { | |||||
| width: 40rpx; | |||||
| height: 40rpx; | |||||
| vertical-align: middle; | |||||
| margin-right: 10rpx; | |||||
| } | |||||
| @@ -22,7 +22,8 @@ Page({ | |||||
| code:options.quancode, | code:options.quancode, | ||||
| title:options.title, | title:options.title, | ||||
| subtitle:options.subtitle, | subtitle:options.subtitle, | ||||
| remark:options.remark | |||||
| remark:options.remark, | |||||
| couponorderstatus:options.couponorderstatus | |||||
| }) | }) | ||||
| }, | }, | ||||
| @@ -0,0 +1,32 @@ | |||||
| <view class="couponbg"> | |||||
| <image src="./../../assets/img/bg.png"></image> | |||||
| <view class="title">{{title}}</view> | |||||
| <view class="subtitle">{{subtitle}}</view> | |||||
| <!-- | |||||
| couponorderstatus | |||||
| 0 未使用 | |||||
| 1 已使用 | |||||
| 2 已过期 | |||||
| 3 已经退款 | |||||
| --> | |||||
| <view class="zhuangtai"> | |||||
| <image wx:if="{{couponorderstatus==1}}" src="./../../assets/img/wm01.jpg"></image> | |||||
| <image wx:if="{{couponorderstatus==2}}" src="./../../assets/img/wm02.jpg"></image> | |||||
| <image wx:if="{{couponorderstatus==3}}" src="./../../assets/img/wm03.jpg"></image> | |||||
| <view class="panel" wx:if="{{couponorderstatus==0}}"> | |||||
| <view class="barcode"> | |||||
| <canvas canvas-id="barcode" /> | |||||
| </view> | |||||
| <view class="qrcode"> | |||||
| <canvas canvas-id="qrcode" /> | |||||
| </view> | |||||
| <view class="barnum buy"><text>兑换码:</text>{{code}}</view> | |||||
| </view> | |||||
| </view> | |||||
| <view class="gou"> | |||||
| <view class="mai">购买须知:</view> | |||||
| <view class="remark">{{remark}}</view> | |||||
| </view> | |||||
| </view> | |||||
| @@ -3,7 +3,6 @@ page { | |||||
| } | } | ||||
| .couponbg { | .couponbg { | ||||
| position: relative; | position: relative; | ||||
| height: 100%; | |||||
| width: 100%; | width: 100%; | ||||
| } | } | ||||
| .couponbg image { | .couponbg image { | ||||
| @@ -17,7 +16,7 @@ page { | |||||
| right: 0; | right: 0; | ||||
| margin: auto; | margin: auto; | ||||
| z-index: -19999; | z-index: -19999; | ||||
| border-radius: 20rpx; | |||||
| border-radius: 26rpx; | |||||
| } | } | ||||
| .title { | .title { | ||||
| font-size: 33rpx; | font-size: 33rpx; | ||||
| @@ -33,15 +32,17 @@ page { | |||||
| margin-top: 16rpx; | margin-top: 16rpx; | ||||
| text-align: center; | text-align: center; | ||||
| } | } | ||||
| .panel { | |||||
| width: 600rpx; | |||||
| .panel,.zhuangtai image{ | |||||
| width: 510rpx; | |||||
| height: 581rpx; | |||||
| border-radius: 10rpx; | border-radius: 10rpx; | ||||
| background-color: #fff; | background-color: #fff; | ||||
| margin: 30rpx auto 0; | |||||
| margin: 22rpx auto 0; | |||||
| padding: 30rpx 0; | padding: 30rpx 0; | ||||
| position: relative; | position: relative; | ||||
| z-index: 10000000000; | z-index: 10000000000; | ||||
| } | } | ||||
| .pane2 { | .pane2 { | ||||
| background: #fff; | background: #fff; | ||||
| opacity: 0.6; | opacity: 0.6; | ||||
| @@ -78,7 +79,8 @@ page { | |||||
| } | } | ||||
| .qrcode { | .qrcode { | ||||
| height: 380rpx; | |||||
| position: relative; | |||||
| height: 360rpx; | |||||
| display: flex; | display: flex; | ||||
| flex-direction: column; | flex-direction: column; | ||||
| justify-content: flex-end; | justify-content: flex-end; | ||||
| @@ -113,17 +115,17 @@ page { | |||||
| line-height: 88rpx; | line-height: 88rpx; | ||||
| border-radius: 16rpx; | border-radius: 16rpx; | ||||
| border: 1px solid #eee; | border: 1px solid #eee; | ||||
| margin-top:40rpx; | |||||
| } | } | ||||
| .gou{ | .gou{ | ||||
| padding-left: 80rpx; | |||||
| color: #878d95; | |||||
| padding-top:30rpx; | |||||
| font-size: 30rpx; | |||||
| width: 87%; | |||||
| margin: 0 auto; | |||||
| color: #878d95; | |||||
| font-size: 26rpx; | |||||
| padding-bottom:74rpx; | |||||
| } | } | ||||
| .mai{ | .mai{ | ||||
| color: #666; | |||||
| color: #333; | |||||
| } | } | ||||
| .remark{ | .remark{ | ||||
| padding-top: 37rpx; | |||||
| padding-top: 17rpx; | |||||
| } | } | ||||
| @@ -26,9 +26,9 @@ | |||||
| </view> | </view> | ||||
| <button class='deleteButton' bindtap='unbindCarBtn' data-car='{{item.carNumber}}'>解绑</button> | <button class='deleteButton' bindtap='unbindCarBtn' data-car='{{item.carNumber}}'>解绑</button> | ||||
| </view> | </view> | ||||
| <view class='orderBox' wx:if='{{item.remainingFee}}'> | |||||
| <view class='orderBox' wx:if='{{item.stopFee.remainingFee}}'> | |||||
| <view class='priceBox'> | <view class='priceBox'> | ||||
| <text>{{'待支付金额:¥'+item.remainingFee}}</text> | |||||
| <text>待缴金额:¥{{item.stopFee.remainingFee}}</text> | |||||
| </view> | </view> | ||||
| <view class='payBox'> | <view class='payBox'> | ||||
| <navigator target="miniProgram" open-type="navigate" app-id="wx192b7d2e8dcbefd0" path="" extra-data="{{item.extraData}}" version="release"> | <navigator target="miniProgram" open-type="navigate" app-id="wx192b7d2e8dcbefd0" path="" extra-data="{{item.extraData}}" version="release"> | ||||
| @@ -92,7 +92,7 @@ color: transparent; | |||||
| } | } | ||||
| .bottonBox{ | .bottonBox{ | ||||
| width: 750rpx; | width: 750rpx; | ||||
| margin-top: 75rpx; | |||||
| margin-top: 26rpx; | |||||
| } | } | ||||
| .textStyle{ | .textStyle{ | ||||
| background-color: white; | background-color: white; | ||||
| @@ -153,7 +153,7 @@ color: transparent; | |||||
| .detail{ | .detail{ | ||||
| width: 32rpx; | width: 32rpx; | ||||
| height: 32rpx; | height: 32rpx; | ||||
| right: 50rpx; | |||||
| right: 34rpx; | |||||
| top: 32rpx; | top: 32rpx; | ||||
| position: absolute; | position: absolute; | ||||
| } | } | ||||
| @@ -13,7 +13,9 @@ Page({ | |||||
| allow_load: true, | allow_load: true, | ||||
| day: "", | day: "", | ||||
| hour: "", | hour: "", | ||||
| minute: "" | |||||
| minute: "", | |||||
| loading: true, //"上拉加载"的变量,默认false,隐藏 | |||||
| content:"", | |||||
| }, | }, | ||||
| /** | /** | ||||
| @@ -30,13 +32,17 @@ Page({ | |||||
| * 判断用户是否加载完成 | * 判断用户是否加载完成 | ||||
| */ | */ | ||||
| if (that.data.allow_load) { | if (that.data.allow_load) { | ||||
| wx.showLoading({ | |||||
| title: "加载中" | |||||
| }); | |||||
| // wx.showLoading({ | |||||
| // title: "加载中" | |||||
| // }); | |||||
| that.setData({ | |||||
| loading:true, | |||||
| content:'小主,我在玩命加载中...' | |||||
| }) | |||||
| setTimeout(function() { | |||||
| wx.hideLoading(); | |||||
| }, 1200); | |||||
| // setTimeout(function() { | |||||
| // wx.hideLoading(); | |||||
| // }, 1200); | |||||
| Http.get({ | Http.get({ | ||||
| url: config.api.couponChannelList, | url: config.api.couponChannelList, | ||||
| data: { | data: { | ||||
| @@ -45,56 +51,58 @@ Page({ | |||||
| targetAd: 2 | targetAd: 2 | ||||
| } | } | ||||
| }).then(res => { | }).then(res => { | ||||
| console.log(res); | |||||
| //当前时间与优惠券下架时间做计算 | //当前时间与优惠券下架时间做计算 | ||||
| console.log(that.data.day); | console.log(that.data.day); | ||||
| if (page >= res.data.pages) { | if (page >= res.data.pages) { | ||||
| // wx.showToast({ | |||||
| // title: "加载完成喽", | |||||
| // icon: "success" | |||||
| // }); | |||||
| that.setData({ | that.setData({ | ||||
| allow_load: false | allow_load: false | ||||
| }); | }); | ||||
| } | |||||
| that.data.list = that.data.list.concat(res.data.list); | |||||
| that.setData({ | |||||
| list: that.data.list | |||||
| }); | |||||
| /** | |||||
| * 页面上显示的时间 | |||||
| */ | |||||
| console.log(that.data.list); | |||||
| for (let i = 0; i < that.data.list.length; i++) { | |||||
| console.log(that.data.list[i].endTime); | |||||
| var startTime = util.fmtDate(that.data.list[i].endTime); | |||||
| console.log(startTime); | |||||
| var s1 = new Date(startTime.replace(/-/g, "/")); | |||||
| var s2 = new Date(); | |||||
| var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000); | |||||
| var year = Math.floor(runTime / 86400 / 365); | |||||
| var runTime = runTime % (86400 * 365); | |||||
| var month = Math.floor(runTime / 86400 / 30); | |||||
| var runTime = runTime % (86400 * 30); | |||||
| var day = Math.floor(runTime / 86400); | |||||
| var runTime = runTime % 86400; | |||||
| var hour = Math.floor(runTime / 3600); | |||||
| var runTime = runTime % 3600; | |||||
| var minute = Math.floor(runTime / 60); | |||||
| var runTime = runTime % 60; | |||||
| var second = runTime; | |||||
| console.log(month, day, hour, minute, second); | |||||
| setTimeout(function() { | |||||
| that.setData({ | |||||
| loading:false, | |||||
| }) | |||||
| }, 1400); | |||||
| } else { | |||||
| setTimeout(function() { | |||||
| that.setData({ | |||||
| loading:false, | |||||
| }) | |||||
| }, 1400); | |||||
| /** | |||||
| * 页面上显示的时间 | |||||
| */ | |||||
| that.data.list = that.data.list.concat(res.data.list); | |||||
| that.setData({ | that.setData({ | ||||
| month: month, | |||||
| day: day, | |||||
| hour: hour, | |||||
| minute: minute | |||||
| list: that.data.list | |||||
| }); | }); | ||||
| console.log(that.data.list); | |||||
| for (let i = 0; i < that.data.list.length; i++) { | |||||
| var startTime = util.fmtDate(that.data.list[i].endTime); | |||||
| util.timechuo(startTime); | |||||
| console.log(util.timechuo(startTime)); | |||||
| /** | |||||
| * 修改list的endtime | |||||
| * 渲染到页面 | |||||
| */ | |||||
| var endtime = 'list[' + i + '].endtime' | |||||
| that.setData({ | |||||
| [endtime]: util.timechuo(startTime) | |||||
| }); | |||||
| } | |||||
| } | } | ||||
| }); | }); | ||||
| } else { | } else { | ||||
| console.info("allow_load==false 已禁止加载"); | console.info("allow_load==false 已禁止加载"); | ||||
| that.setData({ | |||||
| loading:true, | |||||
| content:"^_^再拉裤子就掉啦ʅ(´◔౪◔)ʃ" | |||||
| }) | |||||
| setTimeout(function(){ | |||||
| that.setData({ | |||||
| loading:false, | |||||
| }) | |||||
| },1400) | |||||
| } | } | ||||
| }; | }; | ||||
| if (app.globalData.token && app.globalData.token != null) { | if (app.globalData.token && app.globalData.token != null) { | ||||
| @@ -118,16 +126,7 @@ Page({ | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: `/pages/coupon/detail/index?couponChannelId=${ | url: `/pages/coupon/detail/index?couponChannelId=${ | ||||
| e.currentTarget.dataset.couponchannelid | e.currentTarget.dataset.couponchannelid | ||||
| }&couponId=${e.currentTarget.dataset.couponId}`, | |||||
| success: function(res) { | |||||
| // success | |||||
| }, | |||||
| fail: function() { | |||||
| // fail | |||||
| }, | |||||
| complete: function() { | |||||
| // complete | |||||
| } | |||||
| }&couponId=${e.currentTarget.dataset.couponid}` | |||||
| }); | }); | ||||
| }, | }, | ||||
| /** | /** | ||||
| @@ -1,7 +1,7 @@ | |||||
| <!-- 限时抢购 查看更多对应的页面 --> | <!-- 限时抢购 查看更多对应的页面 --> | ||||
| <view class='flashSale'> | <view class='flashSale'> | ||||
| <view wx:for="{{list}}" class='flashSaleItemWrap' data-couponId="{{item.couponId}}" data-couponChannelId="{{item.id}}" data-targetAd="{{item.targetAd}}" bindtap="gotodetail" | |||||
| wx:key="index"> | |||||
| <view wx:for="{{list}}" class='flashSaleItemWrap' data-couponId="{{item.couponId}}" data-couponChannelId="{{item.id}}" data-targetAd="{{item.targetAd}}" | |||||
| bindtap="gotodetail" wx:key="index"> | |||||
| <view class='flashSaleItem'> | <view class='flashSaleItem'> | ||||
| <view class='flashSaleItemTop'> | <view class='flashSaleItemTop'> | ||||
| <view class='flashSaleItemTopL'> | <view class='flashSaleItemTopL'> | ||||
| @@ -19,14 +19,17 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class='flashSaleItemBottom'> | <view class='flashSaleItemBottom'> | ||||
| <view class='flashSaleItemBottomTop'><text class='remainingTime'>剩余时间:</text><text class='realRemainingTime'>{{day}}天 {{hour}}小时{{minute}}分钟</text></view> | |||||
| <view class='flashSaleItemBottomTop'> | |||||
| <text class='remainingTime'>剩余时间:</text> | |||||
| <text class='realRemainingTime'>{{item.endtime}}</text> | |||||
| </view> | |||||
| <view class='flashSaleItemBottomBottm'> | <view class='flashSaleItemBottomBottm'> | ||||
| <view class="view1"><text class="remainingNumber">剩余件数:</text><text class='realnumber'>{{item.remainInventory}}件</text></view> | <view class="view1"><text class="remainingNumber">剩余件数:</text><text class='realnumber'>{{item.remainInventory}}件</text></view> | ||||
| <view class='buy' wx:if="{{item.priceStr!=0}}">购买</view> | |||||
| <view class='buy' wx:if="{{item.priceStr!=0}}">领取</view> | |||||
| <view class='buy' wx:if="{{item.salePriceStr!=0}}">购买</view> | |||||
| <view class='buy' wx:if="{{item.salePriceStr==0}}">领取</view> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="loading" wx:if="{{loading}}"><image src="./../../assets/img/loading.gif" mode="widthFix"></image>{{content}}</view> | |||||
| </view> | </view> | ||||
| @@ -1,49 +1,69 @@ | |||||
| .flashSale{ | |||||
| .flashSale { | |||||
| width: 100%; | width: 100%; | ||||
| height: 100%; | height: 100%; | ||||
| background: #fff; | background: #fff; | ||||
| } | } | ||||
| .flashSaleItemWrap{ | |||||
| .loading { | |||||
| text-align: center; | |||||
| height: 80rpx; | |||||
| line-height: 80rpx; | |||||
| font-size: 26rpx; | |||||
| color: #999; | |||||
| } | |||||
| .loading image { | |||||
| width: 40rpx; | |||||
| height: 40rpx; | |||||
| vertical-align: middle; | |||||
| margin-right: 10rpx; | |||||
| } | |||||
| .flashSaleItemWrap { | |||||
| width: 100%; | width: 100%; | ||||
| height: 410rpx; | height: 410rpx; | ||||
| border-top: 1rpx solid #ededed; | |||||
| border-bottom: 10rpx solid #f8f8f8; | |||||
| } | } | ||||
| .flashSaleItem{ | |||||
| .flashSaleItem { | |||||
| width: 90%; | width: 90%; | ||||
| height: 410rpx; | height: 410rpx; | ||||
| display: flex; | display: flex; | ||||
| flex-direction: column; | |||||
| background: #fff; | |||||
| margin: 0 auto; | |||||
| flex-direction: column; | |||||
| background: #fff; | |||||
| margin: 0 auto; | |||||
| } | } | ||||
| .flashSaleItemTop{ | |||||
| .flashSaleItemTop { | |||||
| display: flex; | display: flex; | ||||
| padding-top: 28rpx; | padding-top: 28rpx; | ||||
| flex-direction:row; | |||||
| flex-direction: row; | |||||
| padding-bottom: 25rpx; | padding-bottom: 25rpx; | ||||
| border-bottom: 1rpx solid #ededed; | border-bottom: 1rpx solid #ededed; | ||||
| } | } | ||||
| .flashSaleItemTopL{ | |||||
| .flashSaleItemTopL { | |||||
| flex: 1; | flex: 1; | ||||
| } | } | ||||
| .food{ | |||||
| .food { | |||||
| width: 248rpx; | width: 248rpx; | ||||
| border-radius: 10rpx; | |||||
| height: 184rpx; | height: 184rpx; | ||||
| } | } | ||||
| .flashSaleItemTopR{ | |||||
| .flashSaleItemTopR { | |||||
| flex: 2; | flex: 2; | ||||
| flex-direction: column; | flex-direction: column; | ||||
| margin-left: 20rpx; | margin-left: 20rpx; | ||||
| } | } | ||||
| .flashSaleItemTopRTop{ | |||||
| .flashSaleItemTopRTop { | |||||
| display: flex; | display: flex; | ||||
| flex-direction: column; | flex-direction: column; | ||||
| } | } | ||||
| .foodname{ | |||||
| .foodname { | |||||
| font-size: 32rpx; | font-size: 32rpx; | ||||
| height: 40rpx; | height: 40rpx; | ||||
| line-height: 40rpx; | line-height: 40rpx; | ||||
| @@ -52,65 +72,77 @@ | |||||
| width: 406rpx; | width: 406rpx; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| } | } | ||||
| .small{ | |||||
| .small { | |||||
| font-size: 24rpx; | font-size: 24rpx; | ||||
| color: #00C0FF; | |||||
| color: #00c0ff; | |||||
| margin-top: 15rpx; | margin-top: 15rpx; | ||||
| } | } | ||||
| .flashSaleItemTopRBottom{ | |||||
| .flashSaleItemTopRBottom { | |||||
| margin-top: 24rpx; | margin-top: 24rpx; | ||||
| } | } | ||||
| .presentPrice{ | |||||
| .presentPrice { | |||||
| font-size: 36rpx; | font-size: 36rpx; | ||||
| color: #f96563; | color: #f96563; | ||||
| } | } | ||||
| .originalPrice{ | |||||
| .originalPrice { | |||||
| margin-left: 20rpx; | margin-left: 20rpx; | ||||
| color:#B4B4B4; | |||||
| color: #b4b4b4; | |||||
| text-decoration: line-through; | text-decoration: line-through; | ||||
| font-size: 24rpx; | font-size: 24rpx; | ||||
| } | } | ||||
| .flashSaleItemBottom{ | |||||
| margin-top: 20rpx; | |||||
| position: relative; | |||||
| .flashSaleItemBottom { | |||||
| margin-top: 20rpx; | |||||
| position: relative; | |||||
| } | } | ||||
| .remainingTime{ | |||||
| .remainingTime { | |||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| color: #B4B4B4; | |||||
| color: #b4b4b4; | |||||
| } | } | ||||
| .realRemainingTime{ | |||||
| .realRemainingTime { | |||||
| margin-left: 10rpx; | margin-left: 10rpx; | ||||
| color:#f96563; | |||||
| color: #f96563; | |||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| } | } | ||||
| .flashSaleItemBottomBottm{ | |||||
| .flashSaleItemBottomBottm { | |||||
| display: flex; | display: flex; | ||||
| flex-direction: row; | flex-direction: row; | ||||
| } | } | ||||
| .view1{ | |||||
| .view1 { | |||||
| width: 550rpx; | width: 550rpx; | ||||
| display: block; | display: block; | ||||
| } | } | ||||
| .remainingNumber{ | |||||
| .remainingNumber { | |||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| color: #B4B4B4; | |||||
| color: #b4b4b4; | |||||
| } | } | ||||
| .realnumber{ | |||||
| .realnumber { | |||||
| margin-left: 10rpx; | margin-left: 10rpx; | ||||
| color: #f96563; | color: #f96563; | ||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| } | } | ||||
| .buy{ | |||||
| .buy { | |||||
| position: absolute; | position: absolute; | ||||
| top: 34rpx; | top: 34rpx; | ||||
| bottom: 0; | bottom: 0; | ||||
| right: 20rpx; | right: 20rpx; | ||||
| width:114rpx; | |||||
| width: 114rpx; | |||||
| height: 50rpx; | height: 50rpx; | ||||
| line-height: 50rpx; | line-height: 50rpx; | ||||
| text-align: center; | text-align: center; | ||||
| background: #00C0FF; | |||||
| background: #00c0ff; | |||||
| color: #fff; | color: #fff; | ||||
| border-radius: 10rpx; | border-radius: 10rpx; | ||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| } | |||||
| } | |||||
| @@ -3,13 +3,12 @@ Page({ | |||||
| * 页面的初始数据 | * 页面的初始数据 | ||||
| */ | */ | ||||
| data: { | data: { | ||||
| user: { | |||||
| avatar: | |||||
| "http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg" | |||||
| } | |||||
| // user: { | |||||
| // avatar: | |||||
| // "http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg" | |||||
| // } | |||||
| }, | }, | ||||
| navigateTo() { | navigateTo() { | ||||
| console.log("object"); | |||||
| wx.navigateTo({ | wx.navigateTo({ | ||||
| url: `/pages/login/index` | url: `/pages/login/index` | ||||
| }); | }); | ||||
| @@ -1,18 +0,0 @@ | |||||
| <view class="couponbg"> | |||||
| <image src="./../../assets/img/bg.png"></image> | |||||
| <view class="title">{{title}}</view> | |||||
| <view class="subtitle">{{subtitle}}</view> | |||||
| <view class="panel"> | |||||
| <view class="barcode"> | |||||
| <canvas canvas-id="barcode" /> | |||||
| </view> | |||||
| <view class="qrcode"> | |||||
| <canvas canvas-id="qrcode" /> | |||||
| </view> | |||||
| <view class="barnum buy"><text>兑换码:</text>{{code}}</view> | |||||
| </view> | |||||
| <view class="gou"> | |||||
| <view class="mai">购买须知:</view> | |||||
| <view class="remark">{{remark}}</view> | |||||
| </view> | |||||
| </view> | |||||
| @@ -97,9 +97,9 @@ class HttpBasics { | |||||
| resolve(res.data); | resolve(res.data); | ||||
| } else { | } else { | ||||
| wx.hideLoading(); | wx.hideLoading(); | ||||
| wx.showToast({ | |||||
| title: res.data.message | |||||
| }); | |||||
| // wx.showToast({ | |||||
| // title: res.data.message | |||||
| // }); | |||||
| reject(res.data); | reject(res.data); | ||||
| } | } | ||||
| } else { | } else { | ||||