-
2. 首页 3. 批量预约
-
2、 订单列表 3、 商品详情
-
2、项目剩余多次时,多次预约直至预约次数结束时,提示当前项目预约次数已超出项目剩余数请先修改?
-
2、 商品的参团列表的修改
-
2. 商品的多规格
Showing
141 changed files
Too many changes.
To preserve performance only 100 of 141 files are displayed.
app.js
| @@ -72,7 +72,7 @@ App({ | @@ -72,7 +72,7 @@ App({ | ||
| 72 | 72 | ||
| 73 | room_id:null, //直播间分享的房间ID | 73 | room_id:null, //直播间分享的房间ID |
| 74 | room_goods_id:null, //直播间分享的商品ID | 74 | room_goods_id:null, //直播间分享的商品ID |
| 75 | - | 75 | + |
| 76 | }, | 76 | }, |
| 77 | auth: o, | 77 | auth: o, |
| 78 | request: a, | 78 | request: a, |
| @@ -106,7 +106,12 @@ App({ | @@ -106,7 +106,12 @@ App({ | ||
| 106 | app.globalData.user_id= user.user_id; | 106 | app.globalData.user_id= user.user_id; |
| 107 | } | 107 | } |
| 108 | wx.setStorageSync("userinfo",user); | 108 | wx.setStorageSync("userinfo",user); |
| 109 | - } | 109 | + }else{ |
| 110 | + user=null; | ||
| 111 | + app.globalData.userInfo=null; | ||
| 112 | + app.globalData.user_id= 0; | ||
| 113 | + wx.setStorageSync("userinfo",null); | ||
| 114 | + } | ||
| 110 | }) | 115 | }) |
| 111 | } | 116 | } |
| 112 | } | 117 | } |
| @@ -246,6 +251,7 @@ App({ | @@ -246,6 +251,7 @@ App({ | ||
| 246 | 251 | ||
| 247 | //----------------获取商家开启的物流-------------------- | 252 | //----------------获取商家开启的物流-------------------- |
| 248 | getwuliu: function (t, o){ | 253 | getwuliu: function (t, o){ |
| 254 | + this.globalData.wuliu=null; | ||
| 249 | var th = this, st = this.globalData.setting; | 255 | var th = this, st = this.globalData.setting; |
| 250 | this.globalData.wuliu && !o ? | 256 | this.globalData.wuliu && !o ? |
| 251 | "function" == typeof t && t(this.globalData.wuliu) : a.get("/api/weshop/storeshipping/list", { | 257 | "function" == typeof t && t(this.globalData.wuliu) : a.get("/api/weshop/storeshipping/list", { |
| @@ -612,9 +618,7 @@ App({ | @@ -612,9 +618,7 @@ App({ | ||
| 612 | this.globalData.config2=null; //清除config2的缓存 | 618 | this.globalData.config2=null; //清除config2的缓存 |
| 613 | this.globalData.config=null; //清除config的缓存 | 619 | this.globalData.config=null; //清除config的缓存 |
| 614 | this.globalData.gr_index=0; //商品分组的序列 | 620 | this.globalData.gr_index=0; //商品分组的序列 |
| 615 | - for(var i = 1; i < 50; i++) { | ||
| 616 | - clearInterval(i); | ||
| 617 | - } | 621 | + |
| 618 | }, | 622 | }, |
| 619 | 623 | ||
| 620 | clear_word:function (word) { | 624 | clear_word:function (word) { |
| @@ -716,7 +720,7 @@ App({ | @@ -716,7 +720,7 @@ App({ | ||
| 716 | }); | 720 | }); |
| 717 | }, | 721 | }, |
| 718 | 722 | ||
| 719 | - | 723 | + |
| 720 | 724 | ||
| 721 | 725 | ||
| 722 | }); | 726 | }); |
app.json
| @@ -154,7 +154,11 @@ | @@ -154,7 +154,11 @@ | ||
| 154 | "pages/user/view_comment/view_comment", | 154 | "pages/user/view_comment/view_comment", |
| 155 | "pages/user/add_comment/add_comment", | 155 | "pages/user/add_comment/add_comment", |
| 156 | "pages/user/user_coupon/user_coupon", | 156 | "pages/user/user_coupon/user_coupon", |
| 157 | - "pages/user/buyDetails/buyDetails" | 157 | + "pages/user/buyDetails/buyDetails", |
| 158 | + "pages/evaluate/evaluate", | ||
| 159 | + "pages/evaluate_list/evaluate_list", | ||
| 160 | + "pages/luckactivity/luckinfo/luckinfo", | ||
| 161 | + "pages/luckactivity/index/index" | ||
| 158 | ] | 162 | ] |
| 159 | 163 | ||
| 160 | } | 164 | } |
app.wxss
| @@ -16,6 +16,12 @@ | @@ -16,6 +16,12 @@ | ||
| 16 | .pdt20 { | 16 | .pdt20 { |
| 17 | padding-top: 20rpx; | 17 | padding-top: 20rpx; |
| 18 | } | 18 | } |
| 19 | +.pdt30 { | ||
| 20 | + padding-top: 30rpx; | ||
| 21 | +} | ||
| 22 | +.pdt40 { | ||
| 23 | + padding-top: 40rpx; | ||
| 24 | +} | ||
| 19 | .pdb0 { | 25 | .pdb0 { |
| 20 | padding-bottom: 0 !important; | 26 | padding-bottom: 0 !important; |
| 21 | } | 27 | } |
| @@ -25,6 +31,9 @@ | @@ -25,6 +31,9 @@ | ||
| 25 | .pdt10 { | 31 | .pdt10 { |
| 26 | padding-top: 10rpx; | 32 | padding-top: 10rpx; |
| 27 | } | 33 | } |
| 34 | +.pdt12 { | ||
| 35 | + padding-top: 12rpx; | ||
| 36 | +} | ||
| 28 | .pdb10 { | 37 | .pdb10 { |
| 29 | padding-bottom: 10rpx; | 38 | padding-bottom: 10rpx; |
| 30 | } | 39 | } |
| @@ -84,6 +93,11 @@ | @@ -84,6 +93,11 @@ | ||
| 84 | padding-right: 40rpx; | 93 | padding-right: 40rpx; |
| 85 | } | 94 | } |
| 86 | 95 | ||
| 96 | +.w20 { | ||
| 97 | + width: 20%; | ||
| 98 | + box-sizing: border-box; | ||
| 99 | +} | ||
| 100 | + | ||
| 87 | .w25 { | 101 | .w25 { |
| 88 | width: 25%; | 102 | width: 25%; |
| 89 | box-sizing: border-box; | 103 | box-sizing: border-box; |
| @@ -117,6 +131,10 @@ | @@ -117,6 +131,10 @@ | ||
| 117 | color: #c7c7c7; | 131 | color: #c7c7c7; |
| 118 | } | 132 | } |
| 119 | 133 | ||
| 134 | +.c-7b { | ||
| 135 | + color: #7b7b7b; | ||
| 136 | +} | ||
| 137 | + | ||
| 120 | .c-d { | 138 | .c-d { |
| 121 | color: #ddd; | 139 | color: #ddd; |
| 122 | } | 140 | } |
| @@ -129,7 +147,7 @@ | @@ -129,7 +147,7 @@ | ||
| 129 | color: #555; | 147 | color: #555; |
| 130 | } | 148 | } |
| 131 | 149 | ||
| 132 | -.c7b { | 150 | +.c-7b { |
| 133 | color: #7b7b7b; | 151 | color: #7b7b7b; |
| 134 | } | 152 | } |
| 135 | 153 | ||
| @@ -165,6 +183,7 @@ | @@ -165,6 +183,7 @@ | ||
| 165 | margin-left: 20rpx; | 183 | margin-left: 20rpx; |
| 166 | } | 184 | } |
| 167 | 185 | ||
| 186 | + | ||
| 168 | .mgb20 { | 187 | .mgb20 { |
| 169 | margin-bottom: 20rpx; | 188 | margin-bottom: 20rpx; |
| 170 | } | 189 | } |
| @@ -179,6 +198,10 @@ | @@ -179,6 +198,10 @@ | ||
| 179 | margin-right: 20rpx; | 198 | margin-right: 20rpx; |
| 180 | } | 199 | } |
| 181 | 200 | ||
| 201 | +.mgt30 { | ||
| 202 | + margin-top: 30rpx; | ||
| 203 | +} | ||
| 204 | + | ||
| 182 | .h68 { | 205 | .h68 { |
| 183 | height: 68rpx; | 206 | height: 68rpx; |
| 184 | } | 207 | } |
| @@ -282,10 +305,18 @@ button { | @@ -282,10 +305,18 @@ button { | ||
| 282 | .t-c { | 305 | .t-c { |
| 283 | text-align: center; | 306 | text-align: center; |
| 284 | } | 307 | } |
| 308 | +.img-block { | ||
| 309 | + width: 100%; | ||
| 310 | + height: 100%; | ||
| 311 | + display: block; | ||
| 312 | +} | ||
| 285 | 313 | ||
| 286 | .ai_and{ | 314 | .ai_and{ |
| 287 | align-items: flex-end; | 315 | align-items: flex-end; |
| 288 | } | 316 | } |
| 317 | +.ai_end{ | ||
| 318 | + align-items: flex-end; | ||
| 319 | +} | ||
| 289 | .cover-layer { | 320 | .cover-layer { |
| 290 | position: fixed; | 321 | position: fixed; |
| 291 | left: 0; | 322 | left: 0; |
| @@ -561,9 +592,7 @@ background: #b9b9b9; | @@ -561,9 +592,7 @@ background: #b9b9b9; | ||
| 561 | color: #333; | 592 | color: #333; |
| 562 | } | 593 | } |
| 563 | 594 | ||
| 564 | -.xc-black3{ | ||
| 565 | -color: #333; | ||
| 566 | -} | 595 | + |
| 567 | 596 | ||
| 568 | .xc-fixed{ | 597 | .xc-fixed{ |
| 569 | position: fixed; | 598 | position: fixed; |
| @@ -598,7 +627,7 @@ background: #ffe3e2; | @@ -598,7 +627,7 @@ background: #ffe3e2; | ||
| 598 | font-size: 22rpx; | 627 | font-size: 22rpx; |
| 599 | } | 628 | } |
| 600 | .fs24{ | 629 | .fs24{ |
| 601 | - font-size: 24rpx; | 630 | + font-size: 24rpx !important; |
| 602 | } | 631 | } |
| 603 | 632 | ||
| 604 | .fs26{ | 633 | .fs26{ |
| @@ -627,6 +656,9 @@ background: #ffe3e2; | @@ -627,6 +656,9 @@ background: #ffe3e2; | ||
| 627 | .fs40 { | 656 | .fs40 { |
| 628 | font-size: 40rpx !important; | 657 | font-size: 40rpx !important; |
| 629 | } | 658 | } |
| 659 | +.fs50 { | ||
| 660 | + font-size: 50rpx !important; | ||
| 661 | +} | ||
| 630 | .ai_c { | 662 | .ai_c { |
| 631 | align-items: center; | 663 | align-items: center; |
| 632 | } | 664 | } |
| @@ -634,12 +666,12 @@ background: #ffe3e2; | @@ -634,12 +666,12 @@ background: #ffe3e2; | ||
| 634 | align-items: flex-end; | 666 | align-items: flex-end; |
| 635 | } | 667 | } |
| 636 | .fs45{ | 668 | .fs45{ |
| 637 | - font-size: 45rpx; | 669 | + font-size: 45rpx !important; |
| 638 | } | 670 | } |
| 639 | .fs50{ | 671 | .fs50{ |
| 640 | - font-size: 50rpx; | 672 | + font-size: 50rpx !important; |
| 641 | } | 673 | } |
| 642 | -.fs60{ font-size:60rpx;} | 674 | +.fs60{ font-size:60rpx !important;} |
| 643 | .fs80 {font-size: 80rpx;} | 675 | .fs80 {font-size: 80rpx;} |
| 644 | .flex-wrap, | 676 | .flex-wrap, |
| 645 | .wrap { | 677 | .wrap { |
| @@ -671,9 +703,9 @@ background: #ffe3e2; | @@ -671,9 +703,9 @@ background: #ffe3e2; | ||
| 671 | /* 图标字体(ty) */ | 703 | /* 图标字体(ty) */ |
| 672 | @font-face { | 704 | @font-face { |
| 673 | font-family: 'iconfont'; /* Project id 2054717 */ | 705 | font-family: 'iconfont'; /* Project id 2054717 */ |
| 674 | - src: url('//at.alicdn.com/t/font_2054717_vx6pr6zmhth.woff2?t=1623117016358') format('woff2'), | ||
| 675 | - url('//at.alicdn.com/t/font_2054717_vx6pr6zmhth.woff?t=1623117016358') format('woff'), | ||
| 676 | - url('//at.alicdn.com/t/font_2054717_vx6pr6zmhth.ttf?t=1623117016358') format('truetype'); | 706 | + src: url('//at.alicdn.com/t/font_2054717_nzwl8grylfi.woff2?t=1627287108388') format('woff2'), |
| 707 | + url('//at.alicdn.com/t/font_2054717_nzwl8grylfi.woff?t=1627287108388') format('woff'), | ||
| 708 | + url('//at.alicdn.com/t/font_2054717_nzwl8grylfi.ttf?t=1627287108388') format('truetype'); | ||
| 677 | } | 709 | } |
| 678 | 710 | ||
| 679 | .iconfont { | 711 | .iconfont { |
| @@ -684,6 +716,40 @@ background: #ffe3e2; | @@ -684,6 +716,40 @@ background: #ffe3e2; | ||
| 684 | -moz-osx-font-smoothing: grayscale; | 716 | -moz-osx-font-smoothing: grayscale; |
| 685 | } | 717 | } |
| 686 | 718 | ||
| 719 | +.icon-guan:before { | ||
| 720 | + content: "\e612"; | ||
| 721 | +} | ||
| 722 | + | ||
| 723 | +.icon-gouwuche:before { | ||
| 724 | + content: "\e617"; | ||
| 725 | +} | ||
| 726 | + | ||
| 727 | +.icon-zhuanfa:before { | ||
| 728 | + content: "\e611"; | ||
| 729 | +} | ||
| 730 | + | ||
| 731 | + | ||
| 732 | + | ||
| 733 | +.icon-zhuanpan:before { | ||
| 734 | + content: "\e642"; | ||
| 735 | +} | ||
| 736 | + | ||
| 737 | +.icon-tel:before { | ||
| 738 | + content: "\e610"; | ||
| 739 | +} | ||
| 740 | + | ||
| 741 | +.icon-liwu:before { | ||
| 742 | + content: "\e64e"; | ||
| 743 | +} | ||
| 744 | + | ||
| 745 | +.icon-share:before { | ||
| 746 | + content: "\e785"; | ||
| 747 | +} | ||
| 748 | + | ||
| 749 | +.icon-shuangjiantouxia:before { | ||
| 750 | + content: "\e660"; | ||
| 751 | +} | ||
| 752 | + | ||
| 687 | .icon-plyy:before { | 753 | .icon-plyy:before { |
| 688 | content: "\e729"; | 754 | content: "\e729"; |
| 689 | } | 755 | } |
components/diy_notice/diy_notice.wxml
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | <block wx:if="{{g_filter.has_char(object.wxapp_url,'plugin')>=0}}"> | 3 | <block wx:if="{{g_filter.has_char(object.wxapp_url,'plugin')>=0}}"> |
| 4 | <navigator url="{{object.wxapp_url}}" class="s1_gk_a1 pd_top10" style="background-color: {{object.notice_bgcolor}}"> | 4 | <navigator url="{{object.wxapp_url}}" class="s1_gk_a1 pd_top10" style="background-color: {{object.notice_bgcolor}}"> |
| 5 | <view class="big_border"> | 5 | <view class="big_border"> |
| 6 | - <image class="image_c" src="/public/static/images/model/notice.png"></image> | 6 | + <image class="image_c" src="{{imghost}}/miniapp/images/notice.png"></image> |
| 7 | <view class="marquee"> | 7 | <view class="marquee"> |
| 8 | <view class="content"> | 8 | <view class="content"> |
| 9 | <text style="color: {{object.notice_color}}">{{object.noticetxt}}</text> <text style="display: inline-block; width: 590rpx;line-height:30rpx;"></text> | 9 | <text style="color: {{object.notice_color}}">{{object.noticetxt}}</text> <text style="display: inline-block; width: 590rpx;line-height:30rpx;"></text> |
| @@ -18,7 +18,7 @@ | @@ -18,7 +18,7 @@ | ||
| 18 | <block wx:else> | 18 | <block wx:else> |
| 19 | <view data-url="{{object.wxapp_url}}" class="s1_gk_a1 pd_top10" bindtap="go_url" style="background-color: {{object.notice_bgcolor}}"> | 19 | <view data-url="{{object.wxapp_url}}" class="s1_gk_a1 pd_top10" bindtap="go_url" style="background-color: {{object.notice_bgcolor}}"> |
| 20 | <view class="big_border"> | 20 | <view class="big_border"> |
| 21 | - <image class="image_c" src="/public/static/images/model/notice.png"></image> | 21 | + <image class="image_c" src="{{imghost}}/miniapp/images/notice.png"></image> |
| 22 | <view class="marquee"> | 22 | <view class="marquee"> |
| 23 | <view class="content"> | 23 | <view class="content"> |
| 24 | <text style="color: {{object.notice_color}}">{{object.noticetxt}}</text> <text style="display: inline-block; width: 590rpx;line-height:30rpx;"></text> | 24 | <text style="color: {{object.notice_color}}">{{object.noticetxt}}</text> <text style="display: inline-block; width: 590rpx;line-height:30rpx;"></text> |
components/diy_pingd_buy/diy_pingd_buy.wxml
| @@ -94,7 +94,7 @@ | @@ -94,7 +94,7 @@ | ||
| 94 | <view class='sp_jgx_p'>¥{{aitem.market_price}}</view> | 94 | <view class='sp_jgx_p'>¥{{aitem.market_price}}</view> |
| 95 | </view> | 95 | </view> |
| 96 | <view class="o1_sj_p" wx:if="{{aitem.end_time>newTime}}"> | 96 | <view class="o1_sj_p" wx:if="{{aitem.end_time>newTime}}"> |
| 97 | - <image class="time_img" src="/public/static/images/model/time.png"></image> | 97 | + <image class="time_img" src="{{iurl}}/miniapp/images/time.png"></image> |
| 98 | <block wx:if="{{aitem.djs.day>0 }}">{{aitem.djs.day}}天</block>{{aitem.djs.hou}}时{{aitem.djs.min}}分{{aitem.djs.sec}}秒 | 98 | <block wx:if="{{aitem.djs.day>0 }}">{{aitem.djs.day}}天</block>{{aitem.djs.hou}}时{{aitem.djs.min}}分{{aitem.djs.sec}}秒 |
| 99 | </view> | 99 | </view> |
| 100 | 100 |
components/diy_store_select/diy_store_select.wxss
| 1 | -.store_sele{width: 100%;z-index: 8; height: 88rpx; padding: 0 15rpx;position: fixed; color: white; | ||
| 2 | - top: 0; left: 0; background-color: #ff7295; font-size: 30rpx; } | ||
| 3 | - | ||
| 4 | - .store_sele1{ height: 100rpx; padding: 0 15rpx; color: #666;background-color: #fff; font-size: 32rpx;} | ||
| 5 | - | ||
| 6 | - | ||
| 7 | -.logo_box{ width: 64rpx; height:64rpx;margin-right: 15rpx; } | 1 | +.store_sele { |
| 2 | + width: 100%; | ||
| 3 | + z-index: 8; | ||
| 4 | + height: 60rpx; | ||
| 5 | + padding: 0 15rpx; | ||
| 6 | + /* position: fixed; */ | ||
| 7 | + color: white; | ||
| 8 | + /* top: 0; | ||
| 9 | + left: 0; */ | ||
| 10 | + background-color: #ff7295; | ||
| 11 | + font-size: 26rpx; | ||
| 12 | + box-sizing: border-box; | ||
| 13 | +} | ||
| 14 | + | ||
| 15 | +.store_sele1 { | ||
| 16 | + height: 100rpx; | ||
| 17 | + padding: 0 15rpx; | ||
| 18 | + color: #666; | ||
| 19 | + background-color: #fff; | ||
| 20 | + font-size: 32rpx; | ||
| 21 | +} | ||
| 22 | + | ||
| 23 | + | ||
| 24 | +.logo_box { | ||
| 25 | + width: 48rpx; | ||
| 26 | + height: 48rpx; | ||
| 27 | + margin-right: 10rpx; | ||
| 28 | +} | ||
| 29 | + | ||
| 8 | .pd-view { | 30 | .pd-view { |
| 9 | - height: 80rpx; | 31 | + /* height: 80rpx; */ |
| 32 | +} | ||
| 33 | + | ||
| 34 | +.circle { | ||
| 35 | + border-radius: 50%; | ||
| 10 | } | 36 | } |
| 11 | 37 | ||
| 12 | -.circle{ border-radius: 50%;} | ||
| 13 | /*-- 门店选择 --*/ | 38 | /*-- 门店选择 --*/ |
| 14 | /* 选择门店的弹窗 */ | 39 | /* 选择门店的弹窗 */ |
| 15 | -.mongolia-layer{ | ||
| 16 | -position: fixed; | ||
| 17 | -left: 0; | ||
| 18 | -top: 0; | ||
| 19 | -right: 0; | ||
| 20 | -bottom: 0; | ||
| 21 | -z-index: 11; | ||
| 22 | -background: rgba(0,0,0,0.4); | ||
| 23 | -width: 100%; | ||
| 24 | -height: 91.9%; | ||
| 25 | - | ||
| 26 | -} | ||
| 27 | - | ||
| 28 | -.popup-frame{ | ||
| 29 | -position: fixed; | ||
| 30 | -bottom:110rpx; | ||
| 31 | -z-index: 20; | ||
| 32 | -background: white; | ||
| 33 | -width: 100%; | ||
| 34 | -border-radius: 20rpx 20rpx 0 0; | ||
| 35 | -height: 72%; | ||
| 36 | - | ||
| 37 | -} | ||
| 38 | -.popup-top{ | ||
| 39 | - border-bottom: 1rpx solid #eee; | ||
| 40 | - height: 155rpx; | ||
| 41 | - width: 95%; | ||
| 42 | - margin: auto; | ||
| 43 | - line-height: 155rpx; | ||
| 44 | - | ||
| 45 | -} | ||
| 46 | -.bg_rights{ | ||
| 47 | - border-top: 2rpx solid ; | ||
| 48 | - border-right: 2rpx solid ; | ||
| 49 | - transform: rotate(45deg); | ||
| 50 | - display:inline-block; | ||
| 51 | - width:15rpx;height:15rpx; | ||
| 52 | - border-color:#da0b31; | 40 | +.mongolia-layer { |
| 41 | + position: fixed; | ||
| 42 | + left: 0; | ||
| 43 | + top: 0; | ||
| 44 | + right: 0; | ||
| 45 | + bottom: 0; | ||
| 46 | + z-index: 11; | ||
| 47 | + background: rgba(0, 0, 0, 0.4); | ||
| 48 | + width: 100%; | ||
| 49 | + height: 91.9%; | ||
| 50 | + | ||
| 51 | +} | ||
| 52 | + | ||
| 53 | +.popup-frame { | ||
| 54 | + position: fixed; | ||
| 55 | + bottom: 110rpx; | ||
| 56 | + z-index: 20; | ||
| 57 | + background: white; | ||
| 58 | + width: 100%; | ||
| 59 | + border-radius: 20rpx 20rpx 0 0; | ||
| 60 | + height: auto; | ||
| 61 | + | ||
| 62 | +} | ||
| 63 | + | ||
| 64 | +.popup-top { | ||
| 65 | + border-bottom: 1rpx solid #eee; | ||
| 66 | + height: 155rpx; | ||
| 67 | + width: 95%; | ||
| 68 | + margin: auto; | ||
| 69 | + line-height: 155rpx; | ||
| 70 | + | ||
| 71 | +} | ||
| 72 | + | ||
| 73 | +.bg_rights { | ||
| 74 | + border-top: 2rpx solid; | ||
| 75 | + border-right: 2rpx solid; | ||
| 76 | + transform: rotate(45deg); | ||
| 77 | + display: inline-block; | ||
| 78 | + width: 15rpx; | ||
| 79 | + height: 15rpx; | ||
| 80 | + border-color: #da0b31; | ||
| 53 | } | 81 | } |
| 82 | + | ||
| 54 | .modal-closes { | 83 | .modal-closes { |
| 55 | - position: absolute; | ||
| 56 | - right: 30rpx; | ||
| 57 | - top: -15rpx; | ||
| 58 | - height: 25rpx; | ||
| 59 | - | ||
| 60 | -} | ||
| 61 | -.choose_more{ | ||
| 62 | - margin-top: 40rpx; | ||
| 63 | - margin-right: 20rpx; | ||
| 64 | - | ||
| 65 | -} | ||
| 66 | -.choose_mores{ | ||
| 67 | - margin-top: 30rpx; | ||
| 68 | - margin-right: 15rpx; | ||
| 69 | - | ||
| 70 | -} | ||
| 71 | -.store-list{ | ||
| 72 | - width: 95%; | ||
| 73 | - height: 72%; | ||
| 74 | - overflow-y: scroll; | ||
| 75 | - margin: auto; | ||
| 76 | -} | ||
| 77 | -.store-list .store_choose{ | ||
| 78 | - width: 100%; | ||
| 79 | - height: 120rpx; | ||
| 80 | - line-height: 125rpx; | ||
| 81 | - border-bottom: 1rpx solid #eee; | ||
| 82 | - | ||
| 83 | -} | ||
| 84 | -.store-list .store_choose .store{ | ||
| 85 | -width: 100%; | ||
| 86 | -margin: auto; | ||
| 87 | -line-height: 37rpx; | ||
| 88 | -padding-left: 20rpx; | ||
| 89 | - | ||
| 90 | -} | ||
| 91 | -.xc-hook{ | ||
| 92 | - width: 35rpx; | ||
| 93 | - height: 35rpx; | ||
| 94 | - transform: rotate(-145deg); | ||
| 95 | -line-height: 37rpx; | ||
| 96 | -text-align: center; | ||
| 97 | -} | ||
| 98 | - .xc-hooks{ | ||
| 99 | - width: 30rpx; | ||
| 100 | - height: 30rpx; | ||
| 101 | - border: 1rpx solid #999; | ||
| 102 | - } | ||
| 103 | - .address-frame{ | ||
| 104 | - width: 93%; | ||
| 105 | -margin-left: 7rpx; | ||
| 106 | - | ||
| 107 | - } | ||
| 108 | - .nearby_store{ | ||
| 109 | -margin-left: 17rpx; | ||
| 110 | - } | ||
| 111 | - .address_name{ | ||
| 112 | - margin-right: 10rpx; | ||
| 113 | - | ||
| 114 | - } | ||
| 115 | - .address-val{ | ||
| 116 | - height: 38rpx; | ||
| 117 | -line-height: 38rpx; | ||
| 118 | - | ||
| 119 | - } | ||
| 120 | - .store-bottom{ | ||
| 121 | - width: 85%; | ||
| 122 | - margin: auto; | ||
| 123 | - height: 70rpx; | ||
| 124 | - } | ||
| 125 | - .determine{ | ||
| 126 | - width: 260rpx; | ||
| 127 | - height: 55rpx; | ||
| 128 | - border-radius: 50rpx; | ||
| 129 | - line-height: 55rpx; | ||
| 130 | - } | ||
| 131 | - .default{ | ||
| 132 | - width: 260rpx; | ||
| 133 | - height: 55rpx; | ||
| 134 | - border:3rpx solid #c8c8c8; | ||
| 135 | - border-radius: 50rpx; | ||
| 136 | - line-height: 55rpx; | ||
| 137 | - } | ||
| 138 | - .store-bottom-frame{ | ||
| 139 | - width: 95%; | ||
| 140 | - margin: auto; | ||
| 141 | - } | ||
| 142 | - | ||
| 143 | - | ||
| 144 | - /* 门店分类列表 */ | ||
| 145 | - .sort_store_list{ | ||
| 146 | - height: 82%; | ||
| 147 | - overflow: hidden; | ||
| 148 | - overflow-y: scroll; | ||
| 149 | - width: 95%; | ||
| 150 | - margin: auto; | ||
| 151 | - } | ||
| 152 | - .sort_store_list .sort-store-frame{ | ||
| 153 | - width: 100%; | ||
| 154 | - height: 100rpx; | ||
| 155 | - line-height:100rpx; | ||
| 156 | - border-bottom: 1rpx solid #eee; | ||
| 157 | - | ||
| 158 | - } | ||
| 159 | - .sort_store_list .sort-store-frame .sort-store{ | ||
| 160 | - width: 94.5%; | ||
| 161 | - margin: auto; | ||
| 162 | - } | ||
| 163 | - .ai_center{ align-items: center;} | ||
| 164 | \ No newline at end of file | 84 | \ No newline at end of file |
| 85 | + position: absolute; | ||
| 86 | + right: 30rpx; | ||
| 87 | + top: -15rpx; | ||
| 88 | + height: 25rpx; | ||
| 89 | + | ||
| 90 | +} | ||
| 91 | + | ||
| 92 | +.choose_more { | ||
| 93 | + margin-top: 40rpx; | ||
| 94 | + margin-right: 20rpx; | ||
| 95 | + | ||
| 96 | +} | ||
| 97 | + | ||
| 98 | +.choose_mores { | ||
| 99 | + margin-top: 30rpx; | ||
| 100 | + margin-right: 15rpx; | ||
| 101 | + | ||
| 102 | +} | ||
| 103 | + | ||
| 104 | +.store-list { | ||
| 105 | + width: 95%; | ||
| 106 | + max-height: 610rpx; | ||
| 107 | + overflow-y: scroll; | ||
| 108 | + margin: auto; | ||
| 109 | + min-height: 300rpx; | ||
| 110 | +} | ||
| 111 | + | ||
| 112 | +.store-list .store_choose { | ||
| 113 | + width: 100%; | ||
| 114 | + height: 120rpx; | ||
| 115 | + line-height: 125rpx; | ||
| 116 | + border-bottom: 1rpx solid #eee; | ||
| 117 | + | ||
| 118 | +} | ||
| 119 | + | ||
| 120 | +.store-list .store_choose .store { | ||
| 121 | + width: 100%; | ||
| 122 | + margin: auto; | ||
| 123 | + line-height: 37rpx; | ||
| 124 | + padding-left: 20rpx; | ||
| 125 | + | ||
| 126 | +} | ||
| 127 | + | ||
| 128 | +.xc-hook { | ||
| 129 | + width: 35rpx; | ||
| 130 | + height: 35rpx; | ||
| 131 | + transform: rotate(-145deg); | ||
| 132 | + line-height: 37rpx; | ||
| 133 | + text-align: center; | ||
| 134 | +} | ||
| 135 | + | ||
| 136 | +.xc-hooks { | ||
| 137 | + width: 30rpx; | ||
| 138 | + height: 30rpx; | ||
| 139 | + border: 1rpx solid #999; | ||
| 140 | +} | ||
| 141 | + | ||
| 142 | +.address-frame { | ||
| 143 | + width: 93%; | ||
| 144 | + margin-left: 7rpx; | ||
| 145 | + | ||
| 146 | +} | ||
| 147 | + | ||
| 148 | +.nearby_store { | ||
| 149 | + margin-left: 17rpx; | ||
| 150 | +} | ||
| 151 | + | ||
| 152 | +.address_name { | ||
| 153 | + margin-right: 10rpx; | ||
| 154 | + | ||
| 155 | +} | ||
| 156 | + | ||
| 157 | +.address-val { | ||
| 158 | + height: 38rpx; | ||
| 159 | + line-height: 38rpx; | ||
| 160 | + | ||
| 161 | +} | ||
| 162 | + | ||
| 163 | +.store-bottom { | ||
| 164 | + width: 85%; | ||
| 165 | + margin: auto; | ||
| 166 | + height: 90rpx; | ||
| 167 | +} | ||
| 168 | + | ||
| 169 | +.determine { | ||
| 170 | + width: 260rpx; | ||
| 171 | + height: 55rpx; | ||
| 172 | + border-radius: 50rpx; | ||
| 173 | + line-height: 55rpx; | ||
| 174 | +} | ||
| 175 | + | ||
| 176 | +.default { | ||
| 177 | + width: 260rpx; | ||
| 178 | + height: 55rpx; | ||
| 179 | + border: 3rpx solid #c8c8c8; | ||
| 180 | + border-radius: 50rpx; | ||
| 181 | + line-height: 55rpx; | ||
| 182 | +} | ||
| 183 | + | ||
| 184 | +.store-bottom-frame { | ||
| 185 | + width: 95%; | ||
| 186 | + margin: auto; | ||
| 187 | +} | ||
| 188 | + | ||
| 189 | + | ||
| 190 | +/* 门店分类列表 */ | ||
| 191 | +.sort_store_list { | ||
| 192 | + height: 82%; | ||
| 193 | + overflow: hidden; | ||
| 194 | + overflow-y: scroll; | ||
| 195 | + width: 95%; | ||
| 196 | + margin: auto; | ||
| 197 | +} | ||
| 198 | + | ||
| 199 | +.sort_store_list .sort-store-frame { | ||
| 200 | + width: 100%; | ||
| 201 | + height: 100rpx; | ||
| 202 | + line-height: 100rpx; | ||
| 203 | + border-bottom: 1rpx solid #eee; | ||
| 204 | + | ||
| 205 | +} | ||
| 206 | + | ||
| 207 | +.sort_store_list .sort-store-frame .sort-store { | ||
| 208 | + width: 94.5%; | ||
| 209 | + margin: auto; | ||
| 210 | +} | ||
| 211 | + | ||
| 212 | +.ai_center { | ||
| 213 | + align-items: center; | ||
| 214 | +} |
components/goods_list/goods_list.wxml
| @@ -4,31 +4,34 @@ | @@ -4,31 +4,34 @@ | ||
| 4 | <view class="collects"> | 4 | <view class="collects"> |
| 5 | <view class="hang "> | 5 | <view class="hang "> |
| 6 | <!-- 商品详情 --> | 6 | <!-- 商品详情 --> |
| 7 | - <view class="collect ib" wx:for="{{recommend}}" bindtap="go_url" data-url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}"> | ||
| 8 | - <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}"> | 7 | + <view class="collect ib" wx:for="{{recommend}}" bindtap="go_url" data-url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}&title={{item.goods_name}}"> |
| 8 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}&title={{item.goods_name}}" hover-class="none"> | ||
| 9 | <!-- 商品图⽚ --> | 9 | <!-- 商品图⽚ --> |
| 10 | - <image class="sp" src="{{url+item.original_img}}" mode="scaleToFill" binderror="bind_bnerr_xc" data-url="{{url+item.original_img}}" data-errorimg="recommend[{{index}}].original_img"></image> | 10 | + <image class="sp" src="{{url+item.original_img}}" mode="aspectFill" binderror="bind_bnerr_xc" data-url="{{url+item.original_img}}" data-errorimg="recommend[{{index}}].original_img"></image> |
| 11 | <view class="bottom"> | 11 | <view class="bottom"> |
| 12 | <!-- 商品名称 --> | 12 | <!-- 商品名称 --> |
| 13 | <view class="goods_name ellipsis-2 fs28">{{item.goods_name}}</view> | 13 | <view class="goods_name ellipsis-2 fs28">{{item.goods_name}}</view> |
| 14 | <!-- 判断是否有活动价 --> | 14 | <!-- 判断是否有活动价 --> |
| 15 | <block wx:if="{{item.prom_price>0 || item.prom_integral>0}}"> | 15 | <block wx:if="{{item.prom_price>0 || item.prom_integral>0}}"> |
| 16 | - <view class="money flex xc-wc" > | ||
| 17 | - <text wx:if="{{item.prom_integral}}"><text class="fs35" style="font-weight: bold;">{{item.prom_integral}}</text>积分</text> | ||
| 18 | - <text wx:if="{{item.prom_integral && item.prom_price}}">+</text> | ||
| 19 | - <!-- 活动价 --> | ||
| 20 | - <view class="flex xc-wc" wx:if="{{item.prom_price}}"> | ||
| 21 | - <view class="fs24">¥</view> | ||
| 22 | - <view class="fs35">{{item.prom_price}}</view> | ||
| 23 | - </view> | ||
| 24 | - </view> | ||
| 25 | - <view class="flex" style="line-height: 28rpx;"> | ||
| 26 | - <!-- 原价 --> | ||
| 27 | - <view class="price flex xc-ash line_th"> | ||
| 28 | - <view class="fs22">¥</view> | ||
| 29 | - <view class="fs22">{{item.market_price}}</view> | ||
| 30 | - </view> | ||
| 31 | - </view> | 16 | + <view class="pdt10"> |
| 17 | + <view class="money flex xc-wc" > | ||
| 18 | + <text wx:if="{{item.prom_integral}}"><text class="fs35" style="font-weight: bold;">{{item.prom_integral}}</text>积分</text> | ||
| 19 | + <text wx:if="{{item.prom_integral && item.prom_price}}">+</text> | ||
| 20 | + <!-- 活动价 --> | ||
| 21 | + <view class="flex xc-wc" wx:if="{{item.prom_price}}"> | ||
| 22 | + <view class="fs24">¥</view> | ||
| 23 | + <view class="fs35">{{item.prom_price}}</view> | ||
| 24 | + </view> | ||
| 25 | + </view> | ||
| 26 | + <view class="flex"> | ||
| 27 | + <!-- 原价 --> | ||
| 28 | + <view class="price flex xc-ash line_th"> | ||
| 29 | + <view class="fs22">¥</view> | ||
| 30 | + <view class="fs22">{{item.market_price}}</view> | ||
| 31 | + </view> | ||
| 32 | + </view> | ||
| 33 | + </view> | ||
| 34 | + | ||
| 32 | </block> | 35 | </block> |
| 33 | <block wx:else> | 36 | <block wx:else> |
| 34 | <!-- 商品价格,先判断下是后⼜等级价--> | 37 | <!-- 商品价格,先判断下是后⼜等级价--> |
| @@ -48,7 +51,7 @@ | @@ -48,7 +51,7 @@ | ||
| 48 | </view> | 51 | </view> |
| 49 | </view> | 52 | </view> |
| 50 | </view> | 53 | </view> |
| 51 | - <view class="flex" style="line-height: 28rpx;"> | 54 | + <view class="flex"> |
| 52 | <!-- 原价 --> | 55 | <!-- 原价 --> |
| 53 | <view class="price flex xc-ash line_th"> | 56 | <view class="price flex xc-ash line_th"> |
| 54 | <view class="fs22">¥</view> | 57 | <view class="fs22">¥</view> |
| @@ -64,7 +67,7 @@ | @@ -64,7 +67,7 @@ | ||
| 64 | <view class="fs35">{{filter.toFix(item.shop_price,2)}}</view> | 67 | <view class="fs35">{{filter.toFix(item.shop_price,2)}}</view> |
| 65 | </view> | 68 | </view> |
| 66 | </view> | 69 | </view> |
| 67 | - <view class="flex" style="line-height: 28rpx;"> | 70 | + <view class="flex"> |
| 68 | <!-- 原价 --> | 71 | <!-- 原价 --> |
| 69 | <view class="price flex xc-ash line_th"> | 72 | <view class="price flex xc-ash line_th"> |
| 70 | <view class="fs22">¥</view> | 73 | <view class="fs22">¥</view> |
| @@ -108,7 +111,7 @@ | @@ -108,7 +111,7 @@ | ||
| 108 | <view class="fs35">{{filter.toFix(item.shop_price,2)}}</view> | 111 | <view class="fs35">{{filter.toFix(item.shop_price,2)}}</view> |
| 109 | </view> | 112 | </view> |
| 110 | </view> | 113 | </view> |
| 111 | - <view class="flex" style="line-height: 28rpx;"> | 114 | + <view class="flex"> |
| 112 | <!-- 原价 --> | 115 | <!-- 原价 --> |
| 113 | <view class="price flex xc-ash line_th"> | 116 | <view class="price flex xc-ash line_th"> |
| 114 | <view class="fs22">¥</view> | 117 | <view class="fs22">¥</view> |
| @@ -119,7 +122,7 @@ | @@ -119,7 +122,7 @@ | ||
| 119 | </block> | 122 | </block> |
| 120 | </block> | 123 | </block> |
| 121 | <!-- 商品压根就没有等级价 --> | 124 | <!-- 商品压根就没有等级价 --> |
| 122 | - <block wx:else> | 125 | + <view class="pdt10" wx:else> |
| 123 | <view class="money flex"> | 126 | <view class="money flex"> |
| 124 | <!-- 办卡价 --> | 127 | <!-- 办卡价 --> |
| 125 | <view class="flex xc-wc"> | 128 | <view class="flex xc-wc"> |
| @@ -127,14 +130,14 @@ | @@ -127,14 +130,14 @@ | ||
| 127 | <view class="fs35">{{filter.toFix(item.shop_price,2)}}</view> | 130 | <view class="fs35">{{filter.toFix(item.shop_price,2)}}</view> |
| 128 | </view> | 131 | </view> |
| 129 | </view> | 132 | </view> |
| 130 | - <view class="flex" style="line-height: 28rpx;"> | 133 | + <view class="flex" style=""> |
| 131 | <!-- 原价 --> | 134 | <!-- 原价 --> |
| 132 | <view class="price flex xc-ash line_th"> | 135 | <view class="price flex xc-ash line_th"> |
| 133 | <view class="fs22">¥</view> | 136 | <view class="fs22">¥</view> |
| 134 | <view class="fs22">{{item.market_price}}</view> | 137 | <view class="fs22">{{item.market_price}}</view> |
| 135 | </view> | 138 | </view> |
| 136 | </view> | 139 | </view> |
| 137 | - </block> | 140 | + </view> |
| 138 | </block> | 141 | </block> |
| 139 | </view> | 142 | </view> |
| 140 | </navigator> | 143 | </navigator> |
components/goods_list/goods_list.wxss
| 1 | .collects { | 1 | .collects { |
| 2 | - margin-top: 40rpx; | ||
| 3 | - margin-bottom: 40rpx; | 2 | + /* margin-top: 40rpx; */ |
| 3 | + /* margin-bottom: 40rpx; */ | ||
| 4 | +} | ||
| 5 | + | ||
| 6 | +.pdt10 { | ||
| 7 | + padding-top: 10rpx; | ||
| 4 | } | 8 | } |
| 5 | 9 | ||
| 6 | .ai-center{ | 10 | .ai-center{ |
| @@ -82,40 +86,54 @@ | @@ -82,40 +86,54 @@ | ||
| 82 | 86 | ||
| 83 | .goods_name { | 87 | .goods_name { |
| 84 | height: 62rpx; | 88 | height: 62rpx; |
| 85 | - margin-top: 6rpx; | ||
| 86 | - line-height: 30rpx; | 89 | + /* margin-top: 6rpx; */ |
| 90 | + line-height: 1.2; | ||
| 91 | + margin-bottom: 10rpx; | ||
| 87 | } | 92 | } |
| 88 | 93 | ||
| 89 | .hang { | 94 | .hang { |
| 90 | - width: 100%; | ||
| 91 | - margin: auto; | ||
| 92 | - padding-left: 21rpx; | 95 | + /* width: 100%; */ |
| 96 | + /* margin: auto; | ||
| 97 | + padding-left: 21rpx; */ | ||
| 98 | + display: flex; | ||
| 99 | + flex-wrap: wrap; | ||
| 100 | + /* margin: 0 auto; */ | ||
| 101 | + padding: 0 20rpx; | ||
| 102 | + box-sizing: border-box; | ||
| 103 | + /* justify-content: space-evenly; */ | ||
| 93 | } | 104 | } |
| 94 | 105 | ||
| 95 | .hang .collect { | 106 | .hang .collect { |
| 96 | - width: 347rpx; | ||
| 97 | - height: 520rpx; | 107 | + width: calc((100% - 20rpx) / 2); |
| 108 | + /* height: 520rpx; */ | ||
| 98 | border-radius: 25rpx; | 109 | border-radius: 25rpx; |
| 99 | - border: 1rpx solid rgb(214, 214, 214); | 110 | + border: 2rpx solid #ebedf0; |
| 100 | overflow: hidden; | 111 | overflow: hidden; |
| 101 | - margin-right: 14rpx; | ||
| 102 | - margin-bottom: 5rpx; | 112 | + box-sizing: border-box; |
| 113 | + margin-top: 20rpx; | ||
| 114 | + /* margin-right: 14rpx; | ||
| 115 | + margin-bottom: 5rpx; */ | ||
| 116 | +} | ||
| 117 | + | ||
| 118 | +.hang .collect:nth-child(2n+1) { | ||
| 119 | + margin-right: 20rpx; | ||
| 103 | } | 120 | } |
| 104 | 121 | ||
| 105 | .collect .bottom { | 122 | .collect .bottom { |
| 106 | - padding: 0rpx 20rpx; | 123 | + padding: 20rpx; |
| 107 | } | 124 | } |
| 108 | 125 | ||
| 109 | .collect .sp { | 126 | .collect .sp { |
| 110 | width: 100%; | 127 | width: 100%; |
| 111 | - height: 326rpx; | 128 | + height: 340rpx; |
| 129 | + display: block; | ||
| 112 | } | 130 | } |
| 113 | 131 | ||
| 114 | .collect .money { | 132 | .collect .money { |
| 115 | - margin-top: 28rpx; | 133 | + /* margin-top: 28rpx; |
| 116 | margin-bottom: 8rpx; | 134 | margin-bottom: 8rpx; |
| 117 | line-height: 28rpx; | 135 | line-height: 28rpx; |
| 118 | - align-items: baseline; | 136 | + align-items: baseline; */ |
| 119 | } | 137 | } |
| 120 | 138 | ||
| 121 | .collect .money view { | 139 | .collect .money view { |
| @@ -177,7 +195,7 @@ | @@ -177,7 +195,7 @@ | ||
| 177 | .nothing .Foil { | 195 | .nothing .Foil { |
| 178 | width: 80rpx; | 196 | width: 80rpx; |
| 179 | height: 2rpx; | 197 | height: 2rpx; |
| 180 | - background-color: rgb(138, 138, 138); | 198 | + background-color: #ebedf0; |
| 181 | } | 199 | } |
| 182 | 200 | ||
| 183 | .line_th { | 201 | .line_th { |
components/my-qrcode/my-qrcode.js
0 → 100644
| 1 | +// pages/user/yhq/qr_code/qr_code.js | ||
| 2 | +const { | ||
| 3 | + barcode, | ||
| 4 | + qrcode | ||
| 5 | +} = require('../../utils/index.js') | ||
| 6 | + | ||
| 7 | +Component({ | ||
| 8 | + data: { | ||
| 9 | + q_show:0, | ||
| 10 | + object:null, | ||
| 11 | + index:0, | ||
| 12 | + is_fw:0, | ||
| 13 | + | ||
| 14 | + barcode_canvas:null, | ||
| 15 | + qrcode_canvas:null, | ||
| 16 | + }, | ||
| 17 | + properties: { | ||
| 18 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | ||
| 19 | + }, | ||
| 20 | + ready: function () { | ||
| 21 | + }, | ||
| 22 | + | ||
| 23 | + methods: { | ||
| 24 | + //关闭 | ||
| 25 | + close: function (e) { | ||
| 26 | + this.setData({q_show: 0,barcode_canvas:null,qrcode_canvas:null }); | ||
| 27 | + this.triggerEvent('close',{},{bubbles: true}); | ||
| 28 | + }, | ||
| 29 | + | ||
| 30 | + //打开 | ||
| 31 | + open:function (e) { | ||
| 32 | + this.data.index++; | ||
| 33 | + var list=[{index:this.data.index }]; | ||
| 34 | + | ||
| 35 | + this.setData({q_show: 1,object:e,barcode_canvas:list,qrcode_canvas:list,is_fw:e.is_fw }); | ||
| 36 | + var val=e.val; | ||
| 37 | + | ||
| 38 | + // barcode('barcode'+this.data.index,val, 620, 160,this); | ||
| 39 | + qrcode('qrcode'+this.data.index, val, 520, 520,this); | ||
| 40 | + } | ||
| 41 | + }, | ||
| 42 | + | ||
| 43 | + | ||
| 44 | + | ||
| 45 | + | ||
| 46 | +}) | ||
| 0 | \ No newline at end of file | 47 | \ No newline at end of file |
components/full_screen/full_screen.json renamed to components/my-qrcode/my-qrcode.json
components/my-qrcode/my-qrcode.wxml
0 → 100644
| 1 | +<view class="xc-pop-up" wx:if="{{q_show}}" catchtouchmove='true'> | ||
| 2 | + <view class="shut"><text class="iconfont icon-close" bindtap="close"></text></view> | ||
| 3 | + <view class="barqrcode"> | ||
| 4 | + <canvas class="qrcode" canvas-id="qrcode{{item.index}}" wx:for="{{barcode_canvas}}"/> | ||
| 5 | + <view class="q_code fs28">兑换码:{{object.val}}</view> | ||
| 6 | + <view class="c-9 pdt10">请向店员出示二维码核销兑换</view> | ||
| 7 | + </view> | ||
| 8 | +</view> | ||
| 9 | + |
components/my-qrcode/my-qrcode.wxss
0 → 100644
| 1 | +@import '../../app.wxss'; | ||
| 2 | + | ||
| 3 | +.xc-pop-up{ | ||
| 4 | + position:fixed; | ||
| 5 | + z-index:5; | ||
| 6 | + top: 50%; | ||
| 7 | + left: 50%; | ||
| 8 | + transform: translate(-50%, -50%); | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +.xc-obscuration{ | ||
| 13 | + position: fixed; | ||
| 14 | + left: 0; | ||
| 15 | + top: 0; | ||
| 16 | + right: 0; | ||
| 17 | + bottom: 0; | ||
| 18 | + z-index: 11; | ||
| 19 | + background: rgba(0,0,0,0.4); | ||
| 20 | + width: 100%; | ||
| 21 | + height: 100%; | ||
| 22 | + | ||
| 23 | + | ||
| 24 | + | ||
| 25 | +} | ||
| 26 | + | ||
| 27 | + /* Y */ | ||
| 28 | +.xc-qr-frame{ | ||
| 29 | + /* width:90%; | ||
| 30 | + min-height: 696rpx; | ||
| 31 | + background: #fff; | ||
| 32 | + z-index: 55; | ||
| 33 | + position: fixed; | ||
| 34 | + top:180rpx; */ | ||
| 35 | + /* height: auto; */ | ||
| 36 | + /* padding-bottom:20rpx; */ | ||
| 37 | + /* left:35rpx; */ | ||
| 38 | + /* overflow: hidden; | ||
| 39 | + border-radius: 16rpx; */ | ||
| 40 | +} | ||
| 41 | + | ||
| 42 | +/* 二维码和条形码的边框Y */ | ||
| 43 | +.barqrcode{ | ||
| 44 | + background-color: white; | ||
| 45 | + border-radius: 16rpx; | ||
| 46 | + padding: 0 40rpx 40rpx; | ||
| 47 | + text-align: center; | ||
| 48 | +} | ||
| 49 | +/* 点击条形Y */ | ||
| 50 | +.barcode { | ||
| 51 | + /* background-color: white; | ||
| 52 | + border-radius: 12rpx; */ | ||
| 53 | +} | ||
| 54 | +canvas{ | ||
| 55 | + width:100%; | ||
| 56 | + height:55px; | ||
| 57 | +display:block; | ||
| 58 | + | ||
| 59 | +} | ||
| 60 | +.q_code{ | ||
| 61 | + color: #333; | ||
| 62 | +} | ||
| 63 | + | ||
| 64 | + | ||
| 65 | +/* 二维码边框Y*/ | ||
| 66 | +.qrcode_rim { | ||
| 67 | + width: 550rpx; | ||
| 68 | + height:544rpx; | ||
| 69 | +display:flex; | ||
| 70 | +flex-direction:column; | ||
| 71 | +position: absolute; | ||
| 72 | +left: 75rpx; | ||
| 73 | +top: 5rpx; | ||
| 74 | + | ||
| 75 | +} | ||
| 76 | +.qrcode{ | ||
| 77 | + width: 520rpx; | ||
| 78 | + height: 520rpx; | ||
| 79 | +} | ||
| 80 | +.r-code{ | ||
| 81 | + /* font-size:28rpx; | ||
| 82 | + padding-left: 25rpx; */ | ||
| 83 | + /* margin-top: -5.5rpx; */ | ||
| 84 | + | ||
| 85 | +} | ||
| 86 | + | ||
| 87 | +.shut{ | ||
| 88 | + color: white; | ||
| 89 | + text-align: right; | ||
| 90 | + padding-bottom: 30rpx; | ||
| 91 | + position: relative; | ||
| 92 | +} | ||
| 93 | + | ||
| 94 | + | ||
| 95 | +.icon-close { | ||
| 96 | + font-size: 48rpx; | ||
| 97 | +} | ||
| 98 | + | ||
| 99 | +.shut::after { | ||
| 100 | + content: ''; | ||
| 101 | + width: 2rpx; | ||
| 102 | + height: 32rpx; | ||
| 103 | + background-color: white; | ||
| 104 | + position: absolute; | ||
| 105 | + bottom: 0; | ||
| 106 | + right: 24rpx; | ||
| 107 | +} | ||
| 108 | + | ||
| 109 | +.mt{ margin-top:130rpx} | ||
| 110 | +.mts{ margin-top:70rpx} | ||
| 111 | +.flex{ | ||
| 112 | + display: flex; | ||
| 113 | + justify-content:center; | ||
| 114 | +} | ||
| 115 | + | ||
| 116 | +.code_show{ | ||
| 117 | + text-align: center;position: relative; left: -20rpx; | ||
| 118 | +} | ||
| 119 | + | ||
| 120 | +.c-9 { | ||
| 121 | + color: #999; | ||
| 122 | +} | ||
| 0 | \ No newline at end of file | 123 | \ No newline at end of file |
components/share/share.js
| @@ -12,7 +12,10 @@ Component({ | @@ -12,7 +12,10 @@ Component({ | ||
| 12 | }, | 12 | }, |
| 13 | set_type(type){ | 13 | set_type(type){ |
| 14 | this.setData({type:type}) | 14 | this.setData({type:type}) |
| 15 | - } | 15 | + }, |
| 16 | + send() { | ||
| 17 | + this.triggerEvent('send',{},{bubbles: true}); | ||
| 18 | + }, | ||
| 16 | 19 | ||
| 17 | } | 20 | } |
| 18 | }) | 21 | }) |
| 19 | \ No newline at end of file | 22 | \ No newline at end of file |
components/share/share.wxml
| @@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
| 2 | <view class="container-wrap animated slideInUp"> | 2 | <view class="container-wrap animated slideInUp"> |
| 3 | <view class="flex"> | 3 | <view class="flex"> |
| 4 | <block wx:if="{{type==0}}"> | 4 | <block wx:if="{{type==0}}"> |
| 5 | - <button open-type="share" class="btn"> | 5 | + <button open-type="share" class="btn" bindtap="send"> |
| 6 | <view class="icon-container bg-green"><view class="iconfont icon-weixin"></view></view> | 6 | <view class="icon-container bg-green"><view class="iconfont icon-weixin"></view></view> |
| 7 | <view class="title">发送给好友</view> | 7 | <view class="title">发送给好友</view> |
| 8 | </button> | 8 | </button> |
custom-tab-bar/index.wxss
| 1 | -.main_bar{ | ||
| 2 | - width:100%; border-top: 1rpx solid #ebebeb; position: fixed; bottom: 0; left: 0; z-index: 10000; | ||
| 3 | - display: flex; justify-content: space-around; | 1 | +.main_bar { |
| 2 | + width: 100%; | ||
| 3 | + border-top: 1rpx solid #ebebeb; | ||
| 4 | + position: fixed; | ||
| 5 | + bottom: 0; | ||
| 6 | + left: 0; | ||
| 7 | + z-index: 10000; | ||
| 8 | + display: flex; | ||
| 9 | + justify-content: space-around; | ||
| 4 | } | 10 | } |
| 5 | -.tabbar_item{ | ||
| 6 | - position:relative;height:100%;float:left;text-align:center;padding:0px 0; | 11 | + |
| 12 | +.tabbar_item { | ||
| 13 | + position: relative; | ||
| 14 | + height: 100%; | ||
| 15 | + float: left; | ||
| 16 | + text-align: center; | ||
| 17 | + padding: 0px 0; | ||
| 7 | } | 18 | } |
| 8 | -.tab_img{display: flex; justify-content: center;align-items: center} | ||
| 9 | -.nav_imgage{ | ||
| 10 | - height: 58rpx; width: 58rpx;background-position: center;background-repeat: no-repeat;background-size: auto 92%; | 19 | + |
| 20 | +.tab_img { | ||
| 21 | + display: flex; | ||
| 22 | + justify-content: center; | ||
| 23 | + align-items: center | ||
| 24 | +} | ||
| 25 | + | ||
| 26 | +.nav_imgage { | ||
| 27 | + height: 52rpx; | ||
| 28 | + width: 52rpx; | ||
| 29 | + background-position: center; | ||
| 30 | + background-repeat: no-repeat; | ||
| 31 | + background-size: 100%; | ||
| 32 | +} | ||
| 33 | + | ||
| 34 | +.cart_num { | ||
| 35 | + top: 0; | ||
| 36 | + background-color: red; | ||
| 37 | + color: #fff; | ||
| 38 | + font-size: 20rpx; | ||
| 39 | + border-radius: 50%; | ||
| 40 | + width: 40rpx; | ||
| 41 | + line-height: 40rpx; | ||
| 42 | + height: 40rpx; | ||
| 43 | + position: absolute; | ||
| 44 | + z-index: 100; | ||
| 45 | + right: 30rpx; | ||
| 11 | } | 46 | } |
| 12 | -.cart_num{ | ||
| 13 | - top:0;background-color: red;color: #fff;font-size: 20rpx;border-radius: 50%;width: 40rpx;line-height:40rpx;height: 40rpx;position: absolute;z-index: 100;right:30rpx; | ||
| 14 | -} | ||
| 15 | \ No newline at end of file | 47 | \ No newline at end of file |
packageA/images/1.jpg deleted
181 KB
packageA/images/cloud.jpg deleted
12 KB
packageA/pages/goodsInfo/goodsInfo.js
| @@ -199,8 +199,10 @@ Page({ | @@ -199,8 +199,10 @@ Page({ | ||
| 199 | //------初始化加载---------- | 199 | //------初始化加载---------- |
| 200 | onLoad: function(t) { | 200 | onLoad: function(t) { |
| 201 | 201 | ||
| 202 | - console.log("--服务卡项--"); | ||
| 203 | - console.log(t); | 202 | + // console.log("--服务卡项--"); |
| 203 | + // console.log('fdsfasfasf111111111111111====================',t); | ||
| 204 | + | ||
| 205 | + | ||
| 204 | 206 | ||
| 205 | var ee = this, | 207 | var ee = this, |
| 206 | that = ee, | 208 | that = ee, |
| @@ -320,7 +322,7 @@ Page({ | @@ -320,7 +322,7 @@ Page({ | ||
| 320 | //如果有开启近距离的话,同时距离优不一样了 | 322 | //如果有开启近距离的话,同时距离优不一样了 |
| 321 | if (that.data.lat != null) { | 323 | if (that.data.lat != null) { |
| 322 | //如果经纬度有变化的话 | 324 | //如果经纬度有变化的话 |
| 323 | - if( appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){ | 325 | + if(e && appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){ |
| 324 | that.data.fir_def_store=e; | 326 | that.data.fir_def_store=e; |
| 325 | that.setData({ | 327 | that.setData({ |
| 326 | def_pick_store: e, | 328 | def_pick_store: e, |
| @@ -884,7 +886,7 @@ Page({ | @@ -884,7 +886,7 @@ Page({ | ||
| 884 | data: dd, | 886 | data: dd, |
| 885 | }).then(res => { | 887 | }).then(res => { |
| 886 | var e = res; | 888 | var e = res; |
| 887 | - if (e.data.code == 0) { | 889 | + if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length>0) { |
| 888 | //--普通门店排版-- | 890 | //--普通门店排版-- |
| 889 | setTimeout(function(){ | 891 | setTimeout(function(){ |
| 890 | var sto_list=th.data.data.storageId; | 892 | var sto_list=th.data.data.storageId; |
| @@ -1078,12 +1080,16 @@ Page({ | @@ -1078,12 +1080,16 @@ Page({ | ||
| 1078 | }); | 1080 | }); |
| 1079 | //-----如果没有默认门店,要取第一个门店作为默认店------ | 1081 | //-----如果没有默认门店,要取第一个门店作为默认店------ |
| 1080 | if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) { | 1082 | if (!th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage) { |
| 1081 | - th.setData({ | ||
| 1082 | - def_pick_store:e.data.data.pageData[0], | ||
| 1083 | - sto_sele_name: e.data.data.pageData[0].pickup_name, | ||
| 1084 | - sto_sele_id: e.data.data.pageData[0].pickup_id, | ||
| 1085 | - sto_sele_distr: e.data.data.pageData[0].distr_type | ||
| 1086 | - }) | 1083 | + |
| 1084 | + if(e.data.data && e.data.data.pageData && e.data.data.pageData.length>0){ | ||
| 1085 | + th.setData({ | ||
| 1086 | + def_pick_store:e.data.data.pageData[0], | ||
| 1087 | + sto_sele_name: e.data.data.pageData[0].pickup_name, | ||
| 1088 | + sto_sele_id: e.data.data.pageData[0].pickup_id, | ||
| 1089 | + sto_sele_distr: e.data.data.pageData[0].distr_type | ||
| 1090 | + }) | ||
| 1091 | + } | ||
| 1092 | + | ||
| 1087 | } | 1093 | } |
| 1088 | } | 1094 | } |
| 1089 | }, | 1095 | }, |
| @@ -1857,7 +1863,8 @@ Page({ | @@ -1857,7 +1863,8 @@ Page({ | ||
| 1857 | }); | 1863 | }); |
| 1858 | return false; | 1864 | return false; |
| 1859 | } | 1865 | } |
| 1860 | - | 1866 | + |
| 1867 | + if(!item) return false; | ||
| 1861 | 1868 | ||
| 1862 | th.setData({ | 1869 | th.setData({ |
| 1863 | def_pick_store: item, | 1870 | def_pick_store: item, |
| @@ -1961,6 +1968,9 @@ Page({ | @@ -1961,6 +1968,9 @@ Page({ | ||
| 1961 | } | 1968 | } |
| 1962 | }); | 1969 | }); |
| 1963 | 1970 | ||
| 1971 | + | ||
| 1972 | + if(!item) return false; | ||
| 1973 | + | ||
| 1964 | th.setData({ | 1974 | th.setData({ |
| 1965 | def_pick_store: item, | 1975 | def_pick_store: item, |
| 1966 | sto_sele_name: item.pickup_name, | 1976 | sto_sele_name: item.pickup_name, |
| @@ -2175,6 +2185,14 @@ Page({ | @@ -2175,6 +2185,14 @@ Page({ | ||
| 2175 | imageUrl:this.data.gallery[0].image_url, | 2185 | imageUrl:this.data.gallery[0].image_url, |
| 2176 | } | 2186 | } |
| 2177 | }, | 2187 | }, |
| 2188 | + | ||
| 2189 | + | ||
| 2190 | + | ||
| 2191 | + clickCollapse() { | ||
| 2192 | + this.setData({ | ||
| 2193 | + flag: !this.data.flag, | ||
| 2194 | + }) | ||
| 2195 | + }, | ||
| 2178 | 2196 | ||
| 2179 | 2197 | ||
| 2180 | 2198 |
packageA/pages/goodsInfo/goodsInfo.wxml
| @@ -39,7 +39,7 @@ | @@ -39,7 +39,7 @@ | ||
| 39 | <view class="goods-title"> <view class="goods-name elli">{{data.goods_name}}</view></view> | 39 | <view class="goods-title"> <view class="goods-name elli">{{data.goods_name}}</view></view> |
| 40 | </view> | 40 | </view> |
| 41 | 41 | ||
| 42 | - <view class="goods-num" style="margin-bottom: 10rpx;"> | 42 | + <view class="goods-num"> |
| 43 | <view class="sales">销量:{{data.sales_sum}}</view> | 43 | <view class="sales">销量:{{data.sales_sum}}</view> |
| 44 | <view class="sales">有效天数:{{data.validDays?data.validDays:'不限'}}</view> | 44 | <view class="sales">有效天数:{{data.validDays?data.validDays:'不限'}}</view> |
| 45 | </view> | 45 | </view> |
| @@ -55,7 +55,7 @@ | @@ -55,7 +55,7 @@ | ||
| 55 | <image class="stores-img" src="{{iurl}}/miniapp/images/stores.png"></image> | 55 | <image class="stores-img" src="{{iurl}}/miniapp/images/stores.png"></image> |
| 56 | <view class="fs30" style="color:black;">选择门店</view> | 56 | <view class="fs30" style="color:black;">选择门店</view> |
| 57 | </view> | 57 | </view> |
| 58 | - <view class="red_bb fs30"> | 58 | + <view class="red_bb fs26"> |
| 59 | 更多门店 | 59 | 更多门店 |
| 60 | <text class="bg_jj"></text> | 60 | <text class="bg_jj"></text> |
| 61 | </view> | 61 | </view> |
| @@ -86,28 +86,42 @@ | @@ -86,28 +86,42 @@ | ||
| 86 | 86 | ||
| 87 | </view> | 87 | </view> |
| 88 | 88 | ||
| 89 | - <view class="bz_view flex ai-center bdt16" wx:if="{{store_config}}" style="line-height: 36rpx"> | ||
| 90 | - <image class="bzfu_img" src="{{iurl}}/miniapp/images/bzfu_w.png"></image> | ||
| 91 | - <view class="bz-content">{{store_config.service_bz}}</view> | ||
| 92 | - </view> | 89 | + <view class="bz_view flex bdt16" wx:if="{{store_config}}"> |
| 90 | + <image class="bzfu_img" src="{{iurl}}/miniapp/images/bzfu_w.png"></image> | ||
| 91 | + <view class="flex f1 ai_c rel"> | ||
| 92 | + <view class="bz-content {{flag ? '':'ellipsis-1'}} f1">{{store_config.service_bz}}</view> | ||
| 93 | + <view bindtap="clickCollapse" class="cx-obtain-coupon wsize arrow"> | ||
| 94 | + <text class="bg_jj {{flag?'down1':''}}"></text> | ||
| 95 | + </view> | ||
| 96 | + <!-- <text class="bg_jj" bindtap="clickCollapse"></text> --> | ||
| 97 | + <!-- <text class="iconfont icon-shuangjiantouxia c-db"></text> --> | ||
| 98 | + </view> | ||
| 99 | + </view> | ||
| 100 | + | ||
| 101 | + | ||
| 102 | + | ||
| 103 | + | ||
| 104 | + | ||
| 105 | + | ||
| 106 | + | ||
| 93 | <!-- 图文详情 --> | 107 | <!-- 图文详情 --> |
| 94 | - <view> | ||
| 95 | - <view class="tuwen_title"> | 108 | + <view class="pd20"> |
| 109 | + <!-- <view class="tuwen_title"> | ||
| 96 | <view class="g_line"></view> | 110 | <view class="g_line"></view> |
| 97 | <view class="center_s"> | 111 | <view class="center_s"> |
| 98 | <image src="{{iurl}}/miniapp/images/tuwen_c.png"></image><text>详情</text> | 112 | <image src="{{iurl}}/miniapp/images/tuwen_c.png"></image><text>详情</text> |
| 99 | </view> | 113 | </view> |
| 100 | - </view> | 114 | + </view> --> |
| 101 | 115 | ||
| 102 | <view wx:if="{{service_list}}"> | 116 | <view wx:if="{{service_list}}"> |
| 103 | - <view class="goods-num" style="font-size: 26rpx; background-color: #f6f5f4;"> | 117 | + <view class="goods-num pdv20 t-c" style="font-size: 26rpx; background-color: #f6f5f4;"> |
| 104 | <view class="stock">项目名称</view> | 118 | <view class="stock">项目名称</view> |
| 105 | <view class="stock">耗时(分)</view> | 119 | <view class="stock">耗时(分)</view> |
| 106 | <view class="stock">手工费</view> | 120 | <view class="stock">手工费</view> |
| 107 | <view class="stock">次数</view> | 121 | <view class="stock">次数</view> |
| 108 | </view> | 122 | </view> |
| 109 | <block wx:for="{{service_list}}"> | 123 | <block wx:for="{{service_list}}"> |
| 110 | - <view class="goods-num" style="margin-bottom: 10rpx;font-size: 22rpx;"> | 124 | + <view class="goods-num pdv20 t-c" style="margin-bottom: 10rpx;font-size: 22rpx;"> |
| 111 | <view class="stock">{{item.projectName}}</view> | 125 | <view class="stock">{{item.projectName}}</view> |
| 112 | <view class="stock">{{item.timeConsuming}}</view> | 126 | <view class="stock">{{item.timeConsuming}}</view> |
| 113 | <view class="stock">{{item.money}}</view> | 127 | <view class="stock">{{item.money}}</view> |
| @@ -143,29 +157,33 @@ | @@ -143,29 +157,33 @@ | ||
| 143 | </view> | 157 | </view> |
| 144 | 158 | ||
| 145 | <!-- 底部按钮 --> | 159 | <!-- 底部按钮 --> |
| 146 | - <view class="join-cart"> | ||
| 147 | - <!-- bindtap="contactService" --> | ||
| 148 | - <button wx:if="{{sys_switch.weapp_customertype}}" class="custom-service cart-ico new_split" open-type="contact" session-from="wechat|{{userInfo.user_id}}|{{userInfo.nickname}}|{{userInfo.head_pic}}"> | ||
| 149 | - <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image> | ||
| 150 | - <view>客服</view> | ||
| 151 | - </button> | ||
| 152 | - <view wx:else class="custom-service cart-ico new_split" bindtap="contactService"> | ||
| 153 | - <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image> | ||
| 154 | - <view>客服</view> | ||
| 155 | - </view> | ||
| 156 | - | ||
| 157 | - <view class="shopping-cart cart-ico new_split"> | ||
| 158 | - <navigator open-type="switchTab" url="/pages/cart/cart/cart"> | ||
| 159 | - <image class="sc-img" src="{{iurl}}/miniapp/images/shopping-cart.png"></image> | ||
| 160 | - <view class="cart-num ellipsis-1"> {{cartGoodsNum}} </view> | ||
| 161 | - <view>购物车</view> | ||
| 162 | - </navigator> | ||
| 163 | - </view> | 160 | + <view class="join-cart jc_sb"> |
| 161 | + <!-- bindtap="contactService" --> | ||
| 162 | + <view class="flex"> | ||
| 163 | + <button wx:if="{{sys_switch.weapp_customertype}}" class="custom-service cart-ico new_split" open-type="contact" session-from="wechat|{{userInfo.user_id}}|{{userInfo.nickname}}|{{userInfo.head_pic}}"> | ||
| 164 | + <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image> | ||
| 165 | + <view>客服</view> | ||
| 166 | + </button> | ||
| 167 | + <view wx:else class="custom-service cart-ico new_split" bindtap="contactService"> | ||
| 168 | + <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image> | ||
| 169 | + <view>客服</view> | ||
| 170 | + </view> | ||
| 171 | + | ||
| 172 | + <view class="shopping-cart cart-ico new_split"> | ||
| 173 | + <navigator open-type="switchTab" url="/pages/cart/cart/cart"> | ||
| 174 | + <image class="sc-img" src="{{iurl}}/miniapp/images/shopping-cart.png"></image> | ||
| 175 | + <view class="cart-num ellipsis-1"> {{cartGoodsNum}} </view> | ||
| 176 | + <view>购物车</view> | ||
| 177 | + </navigator> | ||
| 178 | + </view> | ||
| 179 | + </view> | ||
| 180 | + | ||
| 164 | 181 | ||
| 165 | - <block> | ||
| 166 | - <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn">加入购物车</view> | ||
| 167 | - <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn">立即购买</view> | ||
| 168 | - </block> | 182 | + <view class="flex f1 pdh20"> |
| 183 | + | ||
| 184 | + <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn f1">加入购物车</view> | ||
| 185 | + <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn f1">立即购买</view> | ||
| 186 | + </view> | ||
| 169 | 187 | ||
| 170 | </view> | 188 | </view> |
| 171 | 189 | ||
| @@ -227,7 +245,7 @@ | @@ -227,7 +245,7 @@ | ||
| 227 | <view class="b_num"> | 245 | <view class="b_num"> |
| 228 | <view>购买数量</view> | 246 | <view>购买数量</view> |
| 229 | <view class="count"> | 247 | <view class="count"> |
| 230 | - <view bindtap="subCartNum" class="sub">-</view> | 248 | + <view bindtap="subCartNum" class="sub {{goodsInputNum <= 1 ? 'active':''}}">-</view> |
| 231 | <input bindblur="inputCartNum" type="number" value="{{goodsInputNum}}"></input> | 249 | <input bindblur="inputCartNum" type="number" value="{{goodsInputNum}}"></input> |
| 232 | <view bindtap="addCartNum" class="add">+</view> | 250 | <view bindtap="addCartNum" class="add">+</view> |
| 233 | </view> | 251 | </view> |
packageA/pages/goodsInfo/goodsInfo.wxss
| @@ -9,15 +9,19 @@ image { | @@ -9,15 +9,19 @@ image { | ||
| 9 | display: flex; | 9 | display: flex; |
| 10 | justify-content: center; | 10 | justify-content: center; |
| 11 | width: 100%; | 11 | width: 100%; |
| 12 | + position: fixed; | ||
| 13 | + top: 0; | ||
| 14 | + z-index: 999; | ||
| 12 | /* height: 80rpx; */ | 15 | /* height: 80rpx; */ |
| 13 | /* margin-bottom: 20rpx; */ | 16 | /* margin-bottom: 20rpx; */ |
| 14 | background-color: #fff; | 17 | background-color: #fff; |
| 18 | + border-top: 2rpx solid #ebedf0; | ||
| 15 | /* border-bottom: 1rpx #fafafa solid; */ | 19 | /* border-bottom: 1rpx #fafafa solid; */ |
| 16 | } | 20 | } |
| 17 | .type-box { | 21 | .type-box { |
| 18 | width: 25%; | 22 | width: 25%; |
| 19 | box-sizing: border-box; | 23 | box-sizing: border-box; |
| 20 | - font-size: 28rpx; | 24 | + font-size: 32rpx; |
| 21 | line-height: 76rpx; | 25 | line-height: 76rpx; |
| 22 | padding: 0 20rpx; | 26 | padding: 0 20rpx; |
| 23 | text-align: center; | 27 | text-align: center; |
| @@ -29,12 +33,14 @@ image { | @@ -29,12 +33,14 @@ image { | ||
| 29 | display: flex; | 33 | display: flex; |
| 30 | justify-content: center; | 34 | justify-content: center; |
| 31 | width: 100%; | 35 | width: 100%; |
| 36 | + font-size: 26rpx; | ||
| 32 | } | 37 | } |
| 33 | .type-item-on { | 38 | .type-item-on { |
| 34 | color: #F95D74; | 39 | color: #F95D74; |
| 35 | font-weight: bold; | 40 | font-weight: bold; |
| 36 | /* border-bottom: 4rpx solid #F95D74; */ | 41 | /* border-bottom: 4rpx solid #F95D74; */ |
| 37 | position: relative; | 42 | position: relative; |
| 43 | + font-size: 30rpx; | ||
| 38 | } | 44 | } |
| 39 | .type-item-on:after { | 45 | .type-item-on:after { |
| 40 | content: ''; | 46 | content: ''; |
| @@ -53,19 +59,21 @@ image { | @@ -53,19 +59,21 @@ image { | ||
| 53 | } | 59 | } |
| 54 | .goods-title { | 60 | .goods-title { |
| 55 | display: flex; | 61 | display: flex; |
| 56 | - justify-content: space-between; overflow: hidden; | 62 | + justify-content: space-between; |
| 63 | + /* overflow: hidden; */ | ||
| 57 | /* height: 108rpx; */ | 64 | /* height: 108rpx; */ |
| 58 | } | 65 | } |
| 59 | .goods-name { | 66 | .goods-name { |
| 60 | - width: 560rpx; | ||
| 61 | - line-height: 46rpx; | 67 | + /* width: 560rpx; */ |
| 68 | + /* line-height: 46rpx; */ | ||
| 62 | font-size: 32rpx; | 69 | font-size: 32rpx; |
| 63 | font-weight: bold; | 70 | font-weight: bold; |
| 64 | color: #333; | 71 | color: #333; |
| 65 | - margin-top: 30rpx; | ||
| 66 | - margin-bottom:30rpx; | 72 | + /* margin-top: 30rpx; |
| 73 | + margin-bottom:30rpx; */ | ||
| 67 | flex: 1; | 74 | flex: 1; |
| 68 | text-align: justify; | 75 | text-align: justify; |
| 76 | + margin: 10rpx 0 20rpx; | ||
| 69 | } | 77 | } |
| 70 | 78 | ||
| 71 | .goods-collect { | 79 | .goods-collect { |
| @@ -89,13 +97,13 @@ image { | @@ -89,13 +97,13 @@ image { | ||
| 89 | .goods-price { | 97 | .goods-price { |
| 90 | font-size: 60rpx; | 98 | font-size: 60rpx; |
| 91 | /* padding: 20rpx 34rpx; */ | 99 | /* padding: 20rpx 34rpx; */ |
| 92 | - padding:0rpx 34rpx; | 100 | + /* padding:0rpx 34rpx; */ |
| 93 | /* line-height: 60rpx; */ | 101 | /* line-height: 60rpx; */ |
| 94 | color: #999; | 102 | color: #999; |
| 95 | - | 103 | + padding: 20rpx; |
| 96 | /* margin-top: 46rpx; */ | 104 | /* margin-top: 46rpx; */ |
| 97 | - margin-top:26rpx; | ||
| 98 | - padding-bottom:20rpx; | 105 | + /* margin-top:26rpx; |
| 106 | + padding-bottom:20rpx; */ | ||
| 99 | } | 107 | } |
| 100 | 108 | ||
| 101 | .prom-info { | 109 | .prom-info { |
| @@ -111,13 +119,13 @@ image { | @@ -111,13 +119,13 @@ image { | ||
| 111 | border-radius: 4rpx; | 119 | border-radius: 4rpx; |
| 112 | } | 120 | } |
| 113 | .market-price { | 121 | .market-price { |
| 114 | - display: flex; | ||
| 115 | - margin-left: -5rpx; | 122 | + /* display: flex; |
| 123 | + margin-left: -5rpx; */ | ||
| 116 | } | 124 | } |
| 117 | 125 | ||
| 118 | .market-price .yuan{ | 126 | .market-price .yuan{ |
| 119 | - top:24rpx; | ||
| 120 | - font-size: 36rpx | 127 | + /* top:24rpx; */ |
| 128 | + font-size: 30rpx | ||
| 121 | } | 129 | } |
| 122 | 130 | ||
| 123 | .market-price>view>text { | 131 | .market-price>view>text { |
| @@ -125,7 +133,8 @@ image { | @@ -125,7 +133,8 @@ image { | ||
| 125 | } | 133 | } |
| 126 | 134 | ||
| 127 | .market-price>.yj{ | 135 | .market-price>.yj{ |
| 128 | - color: #999999; font-size: 26rpx;margin-left: 16rpx;position: relative;top:30rpx; | 136 | + color: #999999; font-size: 24rpx;/* margin-left: 16rpx;position: relative;top:30rpx; */ |
| 137 | + display: inline-block; | ||
| 129 | } | 138 | } |
| 130 | 139 | ||
| 131 | .goods-price>.tm{ color: #999999; font-size: 26rpx;margin-top: 10rpx;} | 140 | .goods-price>.tm{ color: #999999; font-size: 26rpx;margin-top: 10rpx;} |
| @@ -134,6 +143,7 @@ image { | @@ -134,6 +143,7 @@ image { | ||
| 134 | display: flex; | 143 | display: flex; |
| 135 | font-size: 24rpx; | 144 | font-size: 24rpx; |
| 136 | justify-content: space-between; | 145 | justify-content: space-between; |
| 146 | + | ||
| 137 | } | 147 | } |
| 138 | 148 | ||
| 139 | .goods-detail .twen{ | 149 | .goods-detail .twen{ |
| @@ -348,11 +358,11 @@ image { | @@ -348,11 +358,11 @@ image { | ||
| 348 | } | 358 | } |
| 349 | 359 | ||
| 350 | .join-cart>view { | 360 | .join-cart>view { |
| 351 | - width: 32%; | 361 | + width: 29%; |
| 352 | } | 362 | } |
| 353 | 363 | ||
| 354 | .join-cart>.new_split { | 364 | .join-cart>.new_split { |
| 355 | - width: 17%; | 365 | + width: 13%; |
| 356 | text-align: center; | 366 | text-align: center; |
| 357 | padding: 0; | 367 | padding: 0; |
| 358 | margin: 0; | 368 | margin: 0; |
| @@ -551,29 +561,28 @@ border-radius: 0 56rpx 55rpx 0; | @@ -551,29 +561,28 @@ border-radius: 0 56rpx 55rpx 0; | ||
| 551 | /* padding: 0 30rpx; */ | 561 | /* padding: 0 30rpx; */ |
| 552 | font-size: 32rpx; | 562 | font-size: 32rpx; |
| 553 | box-sizing: border-box; | 563 | box-sizing: border-box; |
| 554 | - border-radius: 20rpx; | 564 | + border-radius: 20rpx 20rpx 0 0; |
| 555 | /* height: 72%; */ | 565 | /* height: 72%; */ |
| 556 | } | 566 | } |
| 557 | 567 | ||
| 558 | -.spec-model .pding{padding: 0 30rpx;} | 568 | +.spec-model .pding{padding: 0 20rpx;} |
| 559 | 569 | ||
| 560 | .spec-goods { | 570 | .spec-goods { |
| 561 | padding: 30rpx 0 20rpx; | 571 | padding: 30rpx 0 20rpx; |
| 562 | /* float: left; */ | 572 | /* float: left; */ |
| 563 | - display: flex; | ||
| 564 | width: 100%; | 573 | width: 100%; |
| 565 | - border-bottom:2rpx solid #eee; | 574 | + /* border-bottom:2rpx solid #eee; */ |
| 566 | } | 575 | } |
| 567 | 576 | ||
| 568 | .spec-img { | 577 | .spec-img { |
| 569 | - /* float: left; */ | 578 | + float: left; |
| 570 | height: 186rpx; | 579 | height: 186rpx; |
| 571 | width: 186rpx; | 580 | width: 186rpx; |
| 572 | border: 4rpx solid #eee | 581 | border: 4rpx solid #eee |
| 573 | } | 582 | } |
| 574 | 583 | ||
| 575 | .spec-goods-info { | 584 | .spec-goods-info { |
| 576 | - /* float: left; */ | 585 | + float: left; |
| 577 | padding: 0 25rpx; | 586 | padding: 0 25rpx; |
| 578 | width: 400rpx; | 587 | width: 400rpx; |
| 579 | } | 588 | } |
| @@ -608,17 +617,17 @@ border-radius: 0 56rpx 55rpx 0; | @@ -608,17 +617,17 @@ border-radius: 0 56rpx 55rpx 0; | ||
| 608 | 617 | ||
| 609 | .quhuo{font-size: 30rpx; color: #000} | 618 | .quhuo{font-size: 30rpx; color: #000} |
| 610 | .b_num{ | 619 | .b_num{ |
| 611 | - display: flex; | ||
| 612 | - font-size: 30rpx; | ||
| 613 | - color: #333; | 620 | + display: flex;font-size: 30rpx; color: #333; |
| 621 | + justify-content: space-between; | ||
| 622 | + align-items: center; | ||
| 614 | padding: 20rpx; | 623 | padding: 20rpx; |
| 615 | } | 624 | } |
| 616 | 625 | ||
| 617 | .count { | 626 | .count { |
| 618 | - position: fixed; | 627 | + /* position: fixed; */ |
| 619 | display: flex; | 628 | display: flex; |
| 620 | height: 50rpx; | 629 | height: 50rpx; |
| 621 | - border: 1rpx solid #000; | 630 | + /* border: 1rpx solid #000; */ |
| 622 | font-size: 28rpx; | 631 | font-size: 28rpx; |
| 623 | right: 30rpx; | 632 | right: 30rpx; |
| 624 | } | 633 | } |
| @@ -636,11 +645,29 @@ border-radius: 0 56rpx 55rpx 0; | @@ -636,11 +645,29 @@ border-radius: 0 56rpx 55rpx 0; | ||
| 636 | } | 645 | } |
| 637 | .spec_bt.act{background: #d60021;color: #fff;border: 1rpx solid #d60021;} | 646 | .spec_bt.act{background: #d60021;color: #fff;border: 1rpx solid #d60021;} |
| 638 | .sub { | 647 | .sub { |
| 639 | - border-right: 1px solid #000; | 648 | + /* border-right: 1px solid #000; */ |
| 649 | +} | ||
| 650 | +.sub.active { | ||
| 651 | + /* background-color: #ddd; */ | ||
| 652 | + color: #ccc; | ||
| 653 | +} | ||
| 654 | + | ||
| 655 | +.sub, .add, .count>input { | ||
| 656 | + /* border-right: 1px solid #000; */ | ||
| 657 | + background-color: #f8f8f8; | ||
| 658 | + border-radius: 8rpx; | ||
| 659 | +} | ||
| 660 | +.sub.active { | ||
| 661 | + /* background-color: #ddd; */ | ||
| 662 | + color: #ccc; | ||
| 663 | +} | ||
| 664 | +.count>input { | ||
| 665 | + margin: 0 10rpx; | ||
| 666 | + line-height: normal; | ||
| 640 | } | 667 | } |
| 641 | 668 | ||
| 642 | .add { | 669 | .add { |
| 643 | - border-left: 1px solid #000; | 670 | + /* border-left: 1px solid #000; */ |
| 644 | } | 671 | } |
| 645 | 672 | ||
| 646 | .spec-btn { | 673 | .spec-btn { |
| @@ -662,14 +689,15 @@ border-radius: 0 56rpx 55rpx 0; | @@ -662,14 +689,15 @@ border-radius: 0 56rpx 55rpx 0; | ||
| 662 | } | 689 | } |
| 663 | 690 | ||
| 664 | .spec-cart-btns { | 691 | .spec-cart-btns { |
| 665 | - width: 92%; | 692 | + /* width: 92%; */ |
| 666 | line-height: 70rpx; | 693 | line-height: 70rpx; |
| 667 | - margin: 20rpx auto; | ||
| 668 | - /* margin-top: 160rpx; */ | ||
| 669 | - border-radius: 20rpx; | ||
| 670 | -/* position: fixed; | ||
| 671 | -bottom: 50rpx; | ||
| 672 | -left: 4%; */ | 694 | + /* margin: 0rpx auto; |
| 695 | + margin-top: 160rpx; */ | ||
| 696 | + /* border-radius: 20rpx; */ | ||
| 697 | +/* position: fixed; */ | ||
| 698 | +/* bottom: 50rpx; */ | ||
| 699 | +/* left: 4%; */ | ||
| 700 | + padding: 20rpx; | ||
| 673 | } | 701 | } |
| 674 | 702 | ||
| 675 | .spec-cart-btn { | 703 | .spec-cart-btn { |
| @@ -763,8 +791,8 @@ left:31rpx;} | @@ -763,8 +791,8 @@ left:31rpx;} | ||
| 763 | /*------拼单------*/ | 791 | /*------拼单------*/ |
| 764 | .pt_view{ text-align: center; width: 100%; height: 100rpx; line-height: 100rpx; font-size: 26rpx} | 792 | .pt_view{ text-align: center; width: 100%; height: 100rpx; line-height: 100rpx; font-size: 26rpx} |
| 765 | .pt_view .secondkill-img{width: 100%;height: 100%;} | 793 | .pt_view .secondkill-img{width: 100%;height: 100%;} |
| 766 | -.pt_fir{ background: #fff;margin-bottom: 10rpx; } | ||
| 767 | -.pt_fir .pt_fir_title{display: flex; align-items: center; margin-left: 10rpx; margin-top: 20rpx; font-size: 28rpx; position: relative;} | 794 | +.pt_fir{ background: #fff;/* margin-bottom: 10rpx; */} |
| 795 | +.pt_fir .pt_fir_title{display: flex; align-items: center; /* margin-left: 10rpx; margin-top: 20rpx; */ font-size: 28rpx; position: relative;} | ||
| 768 | .pt_fir .pt_fir_title .kt_type{ color: #fff;background:#e9030d; width: 100rpx; line-height: 40rpx; border-radius: 6rpx; margin: 0 10rpx; | 796 | .pt_fir .pt_fir_title .kt_type{ color: #fff;background:#e9030d; width: 100rpx; line-height: 40rpx; border-radius: 6rpx; margin: 0 10rpx; |
| 769 | height: 40rpx; font-size: 24rpx; text-align: center;} | 797 | height: 40rpx; font-size: 24rpx; text-align: center;} |
| 770 | .pt_fir .pt_fir_title .price{color: #e9030d;font-size: 26rpx;} | 798 | .pt_fir .pt_fir_title .price{color: #e9030d;font-size: 26rpx;} |
| @@ -786,7 +814,7 @@ left:31rpx;} | @@ -786,7 +814,7 @@ left:31rpx;} | ||
| 786 | .t_gz{padding: 10rpx 20rpx; font-size:28rpx } | 814 | .t_gz{padding: 10rpx 20rpx; font-size:28rpx } |
| 787 | 815 | ||
| 788 | .pt_fir.se1{height: auto; margin: 0} | 816 | .pt_fir.se1{height: auto; margin: 0} |
| 789 | -.pt_fir.se2{height: auto; margin: 0;border-top:6rpx solid #eeeeee;border-bottom:2rpx solid #eeeeee;} | 817 | +.pt_fir.se2{height: auto; margin: 0;/* border-top:6rpx solid #eeeeee;border-bottom:2rpx solid #eeeeee; */} |
| 790 | 818 | ||
| 791 | .pt_hb{height:78rpx; line-height: 75rpx; position: relative; font-size: 32rpx;overflow: hidden;width:695rpx;margin-left:28rpx; | 819 | .pt_hb{height:78rpx; line-height: 75rpx; position: relative; font-size: 32rpx;overflow: hidden;width:695rpx;margin-left:28rpx; |
| 792 | border-bottom: 1rpx solid #E5E5E5 } | 820 | border-bottom: 1rpx solid #E5E5E5 } |
| @@ -808,14 +836,14 @@ left:31rpx;} | @@ -808,14 +836,14 @@ left:31rpx;} | ||
| 808 | .pt_fir .pt_fir_title.no-mar-b{margin-bottom: 0;padding-bottom: 10rpx; margin-left: 20rpx} | 836 | .pt_fir .pt_fir_title.no-mar-b{margin-bottom: 0;padding-bottom: 10rpx; margin-left: 20rpx} |
| 809 | .pt_fir .pt_fir_title.boder-1{border-bottom: 1rpx #e7e7e7 solid} | 837 | .pt_fir .pt_fir_title.boder-1{border-bottom: 1rpx #e7e7e7 solid} |
| 810 | 838 | ||
| 811 | -.jie_price{padding: 10rpx 30rpx;} | 839 | +.jie_price{/* padding: 10rpx 30rpx; */} |
| 812 | .jie_price_title{font-size: 30rpx; color: #a26270; margin-bottom: 10rpx} | 840 | .jie_price_title{font-size: 30rpx; color: #a26270; margin-bottom: 10rpx} |
| 813 | .price_list{display: flex; width: 100%;} | 841 | .price_list{display: flex; width: 100%;} |
| 814 | .price_item{width: 25%;font-size: 28rpx; color: #4c336c} | 842 | .price_item{width: 25%;font-size: 28rpx; color: #4c336c} |
| 815 | 843 | ||
| 816 | -.pt_fir.se2 .zzk-1{margin-top: 23rpx; font-size: 30rpx;position: relative; margin-bottom: 30rpx; border-left:4rpx solid red;margin-left:14rpx;height:30rpx;line-height:30rpx;padding-left:5rpx;} | ||
| 817 | -.ckgd{position: absolute;top:0;right:57rpx; color:#d70025; font-size: 32rpx;} | ||
| 818 | -.ckgd .arrow-one{width:18rpx;height:18rpx;border-color:#da0b31;margin-top:5rpx;} | 844 | +.pt_fir.se2 .zzk-1{/* margin-top: 23rpx; */ font-size: 30rpx;position: relative; /* margin-bottom: 30rpx; */ border-left:4rpx solid red;/* margin-left:14rpx; */height:30rpx;line-height:30rpx;/* padding-left:5rpx; */} |
| 845 | +.ckgd{/* position: absolute;top:0;right:57rpx; */ color:#d70025; font-size: 26rpx;} | ||
| 846 | +.ckgd .arrow-one{width:14rpx;height:14rpx;border-color:#da0b31;/* margin-top:5rpx; */ margin:auto;} | ||
| 819 | .bview{ | 847 | .bview{ |
| 820 | position: fixed; top:0; left:0; width: 100%; height: 100%; | 848 | position: fixed; top:0; left:0; width: 100%; height: 100%; |
| 821 | background-color: rgba(0, 0, 0, 0.5); | 849 | background-color: rgba(0, 0, 0, 0.5); |
| @@ -842,65 +870,71 @@ left:31rpx;} | @@ -842,65 +870,71 @@ left:31rpx;} | ||
| 842 | 870 | ||
| 843 | /*---多少人参加团--*/ | 871 | /*---多少人参加团--*/ |
| 844 | .group { | 872 | .group { |
| 845 | - padding-top:25rpx; | ||
| 846 | - width: 91%; | ||
| 847 | - min-height: 92rpx; | ||
| 848 | - border-bottom:2rpx solid #eee; | ||
| 849 | - padding-bottom:25rpx; | 873 | + padding-top:20rpx; |
| 874 | + padding-bottom:20rpx; | ||
| 875 | + width: 100%; | ||
| 876 | + /* min-height: 92rpx; */ | ||
| 877 | + border-bottom: 2rpx solid #ebedf0; | ||
| 850 | 878 | ||
| 851 | } | 879 | } |
| 852 | 880 | ||
| 853 | .group .group-list { | 881 | .group .group-list { |
| 854 | - | ||
| 855 | - height: 90rpx; | ||
| 856 | - padding: 0 130rpx 0 100rpx; | ||
| 857 | - width: 470rpx; | 882 | + display: flex; |
| 883 | + align-items: center; | ||
| 884 | + justify-content: space-around; | ||
| 885 | + /* height: 90rpx; */ | ||
| 886 | + /* padding: 0 130rpx 0 100rpx; */ | ||
| 887 | + /* width: 470rpx; | ||
| 858 | 888 | ||
| 859 | - position: absolute; | 889 | + position: absolute; */ |
| 860 | } | 890 | } |
| 861 | 891 | ||
| 862 | .group .group-list .gtou { | 892 | .group .group-list .gtou { |
| 863 | - width: 80rpx; | ||
| 864 | - height: 80rpx; | ||
| 865 | - float: left; | 893 | + width: 70rpx; |
| 894 | + height: 70rpx; | ||
| 895 | + /* float: left; | ||
| 866 | position: relative; | 896 | position: relative; |
| 867 | top: 6rpx; | 897 | top: 6rpx; |
| 868 | - left: -96rpx; | 898 | + left: -96rpx; */ |
| 869 | } | 899 | } |
| 870 | 900 | ||
| 871 | .group .group-list .gtou image { | 901 | .group .group-list .gtou image { |
| 872 | - width: 80rpx; | ||
| 873 | - height: 80rpx; | ||
| 874 | - border-radius: 200rpx; | ||
| 875 | - background-color: green; | 902 | + display: block; |
| 903 | + width: 100%; | ||
| 904 | + height: 100%; | ||
| 905 | + border-radius: 50%; | ||
| 906 | + background-color: #f0f0f0; | ||
| 876 | } | 907 | } |
| 877 | 908 | ||
| 878 | .group .group-list .gdn { | 909 | .group .group-list .gdn { |
| 879 | - float: left; | 910 | + width: 140rpx; |
| 911 | + text-align: center; | ||
| 912 | + /* float: left; */ | ||
| 880 | font-size: 26rpx; | 913 | font-size: 26rpx; |
| 881 | - line-height: 48rpx; | 914 | + /* padding-left: 20rpx; */ |
| 915 | + /* line-height: 48rpx; | ||
| 882 | height: 48rpx; | 916 | height: 48rpx; |
| 883 | width: 168rpx; | 917 | width: 168rpx; |
| 884 | position: relative; | 918 | position: relative; |
| 885 | left: -80rpx; | 919 | left: -80rpx; |
| 886 | - top:20rpx; | ||
| 887 | - font-weight:600; | 920 | + top:20rpx; */ |
| 921 | + font-weight:bold; | ||
| 888 | } | 922 | } |
| 889 | 923 | ||
| 890 | .group .group-list .ghaicha { | 924 | .group .group-list .ghaicha { |
| 891 | - width:300rpx; | 925 | + /* width:300rpx; */ |
| 892 | font-size: 27rpx; | 926 | font-size: 27rpx; |
| 893 | - margin-left:180rpx; | 927 | + /* margin-left:180rpx; |
| 894 | top:13rpx; | 928 | top:13rpx; |
| 895 | - left:-3rpx; | ||
| 896 | - font-weight:600; | 929 | + left:-3rpx; */ |
| 930 | + font-weight: bold; | ||
| 897 | 931 | ||
| 898 | 932 | ||
| 899 | } | 933 | } |
| 900 | 934 | ||
| 901 | .group .group-list .ghaicha .gred { | 935 | .group .group-list .ghaicha .gred { |
| 902 | - height: 48rpx; | ||
| 903 | - width: 300rpx; | 936 | + /* height: 48rpx; |
| 937 | + width: 300rpx; */ | ||
| 904 | } | 938 | } |
| 905 | 939 | ||
| 906 | .gsj { | 940 | .gsj { |
| @@ -911,9 +945,9 @@ left:31rpx;} | @@ -911,9 +945,9 @@ left:31rpx;} | ||
| 911 | .group .group-list .cjt { | 945 | .group .group-list .cjt { |
| 912 | height:42rpx; | 946 | height:42rpx; |
| 913 | width: 137rpx; | 947 | width: 137rpx; |
| 914 | - position: absolute; | 948 | + /* position: absolute; |
| 915 | right: 4rpx; | 949 | right: 4rpx; |
| 916 | - top:25rpx; | 950 | + top:25rpx; */ |
| 917 | line-height: 42rpx; | 951 | line-height: 42rpx; |
| 918 | font-size: 24rpx; | 952 | font-size: 24rpx; |
| 919 | color: #fff; | 953 | color: #fff; |
| @@ -926,7 +960,7 @@ left:31rpx;} | @@ -926,7 +960,7 @@ left:31rpx;} | ||
| 926 | .gbody { | 960 | .gbody { |
| 927 | background-color: white; | 961 | background-color: white; |
| 928 | } | 962 | } |
| 929 | -.t_show{overflow: hidden; display: flex; width: 300rpx; color: #292929; line-height: 36rpx;font-size:26rpx; | 963 | +.t_show{/* overflow: hidden; */ display: flex; /* width: 300rpx; */ color: #292929; /* line-height: 36rpx; */font-size:26rpx; |
| 930 | } | 964 | } |
| 931 | .join-cart>view.set_width { | 965 | .join-cart>view.set_width { |
| 932 | width:58%; | 966 | width:58%; |
| @@ -955,8 +989,8 @@ left:31rpx;} | @@ -955,8 +989,8 @@ left:31rpx;} | ||
| 955 | white-space:nowrap; | 989 | white-space:nowrap; |
| 956 | } | 990 | } |
| 957 | 991 | ||
| 958 | -.tuwen_title{ height: 86rpx; background-color:#eeeeee; margin-bottom: 32rpx; position: relative; | ||
| 959 | - display: flex; justify-content: center;align-items: center; } | 992 | +.tuwen_title{ /* height: 86rpx; */ background-color:#eeeeee; /* margin-bottom: 32rpx; */ position: relative; |
| 993 | + display: flex; justify-content: center;align-items: center; padding: 20rpx;} | ||
| 960 | 994 | ||
| 961 | .tuwen_title .g_line{ | 995 | .tuwen_title .g_line{ |
| 962 | width:496rpx; | 996 | width:496rpx; |
| @@ -968,27 +1002,28 @@ left:31rpx;} | @@ -968,27 +1002,28 @@ left:31rpx;} | ||
| 968 | overflow: hidden; justify-content: center;align-items: center; | 1002 | overflow: hidden; justify-content: center;align-items: center; |
| 969 | } | 1003 | } |
| 970 | .tuwen_title .center_s image{ width: 34rpx; height: 26rpx; margin-right: 10rpx} | 1004 | .tuwen_title .center_s image{ width: 34rpx; height: 26rpx; margin-right: 10rpx} |
| 971 | -.t_g_info{ margin: 0 34rpx;margin-bottom: 20rpx; display: flex; align-items: center } | 1005 | +.t_g_info{ /* margin: 0 34rpx;margin-bottom: 20rpx; */ display: flex; align-items: center;padding: 20rpx; } |
| 972 | .red_shu{ width: 10rpx; height: 36rpx; background-color:#da0035; margin-right: 8rpx; } | 1006 | .red_shu{ width: 10rpx; height: 36rpx; background-color:#da0035; margin-right: 8rpx; } |
| 973 | 1007 | ||
| 974 | -.tb-l{ line-height: 96rpx;} | ||
| 975 | -.table_s{ border:#e4e4e4 1rpx solid; width: 682rpx; margin: 0 34rpx;font-size: 30rpx;} | ||
| 976 | -.tb_item{display: flex; height: 96rpx; border-bottom: 1rpx solid #e4e4e4 } | ||
| 977 | -.item_left{width: 214rpx; height: 100%; background: #f9f9f9 ;border-right:1rpx solid #e4e4e4} .item_left text{ margin-left: 44rpx;} | ||
| 978 | -.item_right{width: 468rpx; height: 100%; overflow : hidden;white-space:nowrap; | ||
| 979 | - text-overflow: ellipsis;} | ||
| 980 | -.item_right text{ margin-left: 66rpx;} | 1008 | +.tb-l{ /* line-height: 96rpx; */} |
| 1009 | +.table_s{ border:#e4e4e4 1rpx solid; box-sizing: border-box;font-size: 26rpx;} | ||
| 1010 | +.tb_item{display: flex; /* height: 96rpx; */ border-bottom: 1rpx solid #e4e4e4 } | ||
| 1011 | +.item_left{width: 210rpx; height: 100%; box-sizing:border-box; text-align: center;padding: 20rpx; background: #f9f9f9 ;border-right:2rpx solid #e4e4e4} .item_left text{ /* margin-left: 44rpx; */} | ||
| 1012 | +.item_right{flex:1; height: 100%; overflow : hidden;white-space:nowrap;text-overflow: ellipsis; padding: 20rpx;} | ||
| 1013 | +.item_right text{ /* margin-left: 66rpx; */} | ||
| 981 | 1014 | ||
| 982 | -.bzfu_img{ width: 164rpx; height:34rpx; margin-right: 18rpx; margin-left: 12rpx } | ||
| 983 | - .bz_view{ height:100rpx; padding: 0 34rpx 0 13rpx; color: #333; font-size: 28rpx; | 1015 | +.table_s .tb-l:last-child {border-bottom: none;} |
| 1016 | + | ||
| 1017 | +.bzfu_img{ width: 164rpx; height:34rpx; /* margin-right: 18rpx; margin-left: 12rpx */ } | ||
| 1018 | + .bz_view{ /* height:100rpx; padding: 0 34rpx 0 13rpx; */ color: #333; font-size: 28rpx; padding: 20rpx 20rpx 20rpx 10rpx; | ||
| 984 | /* border-bottom: 3rpx solid #eee; */ | 1019 | /* border-bottom: 3rpx solid #eee; */ |
| 985 | /* border-top: 3rpx solid #eee; */} | 1020 | /* border-top: 3rpx solid #eee; */} |
| 986 | - .bz_view view{ width: 460rpx; max-height: 70rpx; overflow: hidden;} | 1021 | + .bz_view view{ width: 460rpx; /* max-height: 70rpx; */ /* overflow: hidden; */} |
| 987 | 1022 | ||
| 988 | -.bb_view{ display: flex;align-items: center;justify-content: space-between; padding: 0 34rpx; color: #333; | ||
| 989 | - font-size: 30rpx; height: 104rpx; line-height: 104rpx; overflow: hidden; padding-right:26rpx } | ||
| 990 | -.red_bb{ color: #d70026; min-width:158rpx;width: auto;} | ||
| 991 | -.bg_jj{ width: 18rpx; height:18rpx; | 1023 | +.bb_view{ display: flex;align-items: center;justify-content: space-between; padding: 20rpx; color: #333; |
| 1024 | + font-size: 30rpx; /* height: 104rpx; line-height: 104rpx; overflow: hidden; padding-right:26rpx */ } | ||
| 1025 | +.red_bb{ color: #d70026; /* min-width:158rpx;width: auto; */} | ||
| 1026 | +.bg_jj{ width: 14rpx; height:14rpx; | ||
| 992 | border-top: 2rpx solid #d70026; | 1027 | border-top: 2rpx solid #d70026; |
| 993 | border-right: 2rpx solid #d70026; | 1028 | border-right: 2rpx solid #d70026; |
| 994 | transform: rotate(45deg);display:inline-block; | 1029 | transform: rotate(45deg);display:inline-block; |
| @@ -999,6 +1034,7 @@ left:31rpx;} | @@ -999,6 +1034,7 @@ left:31rpx;} | ||
| 999 | .bz-content { | 1034 | .bz-content { |
| 1000 | flex-grow: 1; | 1035 | flex-grow: 1; |
| 1001 | text-align: justify; | 1036 | text-align: justify; |
| 1037 | + padding: 0 30rpx 0 20rpx; | ||
| 1002 | } | 1038 | } |
| 1003 | 1039 | ||
| 1004 | /* 顶部边框 */ | 1040 | /* 顶部边框 */ |
| @@ -1199,20 +1235,23 @@ left:31rpx;} | @@ -1199,20 +1235,23 @@ left:31rpx;} | ||
| 1199 | 1235 | ||
| 1200 | .xc_comment{ | 1236 | .xc_comment{ |
| 1201 | display: flex; | 1237 | display: flex; |
| 1238 | + justify-content: space-around; | ||
| 1202 | width: 100%; | 1239 | width: 100%; |
| 1203 | - height: 42rpx; | ||
| 1204 | - padding-left: 34rpx; | 1240 | + box-sizing: border-box; |
| 1241 | + padding: 10rpx 20rpx; | ||
| 1242 | + /* height: 42rpx; | ||
| 1243 | + padding-left: 34rpx; */ | ||
| 1205 | color: #333; | 1244 | color: #333; |
| 1206 | 1245 | ||
| 1207 | } | 1246 | } |
| 1208 | .xc_comment-have-pictures{ | 1247 | .xc_comment-have-pictures{ |
| 1209 | width: 153rpx; | 1248 | width: 153rpx; |
| 1210 | - height: 42rpx; | 1249 | + /* height: 42rpx; */ |
| 1211 | line-height: 42rpx; | 1250 | line-height: 42rpx; |
| 1212 | text-align: center; | 1251 | text-align: center; |
| 1213 | background: #ffe3e2; | 1252 | background: #ffe3e2; |
| 1214 | color: 28rpx; | 1253 | color: 28rpx; |
| 1215 | - border-radius:20rpx; | 1254 | + border-radius:21rpx; |
| 1216 | font-size: 24rpx; | 1255 | font-size: 24rpx; |
| 1217 | } | 1256 | } |
| 1218 | .xc_comment-discuss{ | 1257 | .xc_comment-discuss{ |
| @@ -1229,22 +1268,25 @@ left:31rpx;} | @@ -1229,22 +1268,25 @@ left:31rpx;} | ||
| 1229 | 1268 | ||
| 1230 | .xc_comment-detail{ | 1269 | .xc_comment-detail{ |
| 1231 | display: flex; | 1270 | display: flex; |
| 1232 | - margin-top: 40rpx; | ||
| 1233 | - width: 524rpx; | ||
| 1234 | - margin-left: 34rpx; | ||
| 1235 | - border-radius: 25rpx; | ||
| 1236 | - border: 2rpx solid #d6d4d5; | ||
| 1237 | - overflow: hidden; | 1271 | + /* margin-top: 40rpx; */ |
| 1272 | + /* width: 524rpx; */ | ||
| 1273 | + /* margin-left: 34rpx; */ | ||
| 1274 | + border-radius: 24rpx; | ||
| 1275 | + border: 2rpx solid #ebedf0; | ||
| 1276 | + margin-left: 20rpx; | ||
| 1277 | + box-sizing: border-box; | ||
| 1278 | + /* overflow: hidden; */ | ||
| 1238 | } | 1279 | } |
| 1239 | 1280 | ||
| 1240 | .xc_user-img{ | 1281 | .xc_user-img{ |
| 1241 | - border-radius:50%; | 1282 | + border-radius:50%; |
| 1283 | + margin: auto 0; | ||
| 1242 | } | 1284 | } |
| 1243 | 1285 | ||
| 1244 | .xc_comment-user{ | 1286 | .xc_comment-user{ |
| 1245 | display: flex; | 1287 | display: flex; |
| 1246 | - margin-top: 22rpx; | ||
| 1247 | - margin-left: 22rpx; | 1288 | + /* margin-top: 22rpx; |
| 1289 | + margin-left: 22rpx; */ | ||
| 1248 | } | 1290 | } |
| 1249 | .xc_user{ | 1291 | .xc_user{ |
| 1250 | width: 170rpx; | 1292 | width: 170rpx; |
| @@ -1252,34 +1294,34 @@ left:31rpx;} | @@ -1252,34 +1294,34 @@ left:31rpx;} | ||
| 1252 | margin-left: 6rpx; | 1294 | margin-left: 6rpx; |
| 1253 | overflow: hidden; | 1295 | overflow: hidden; |
| 1254 | } | 1296 | } |
| 1255 | -.xc_user-name{ height: 25rpx;} | 1297 | +.xc_user-name{ /* height: 25rpx; */} |
| 1256 | .xc_comment-img{ | 1298 | .xc_comment-img{ |
| 1257 | width: 22rpx; | 1299 | width: 22rpx; |
| 1258 | height: 22rpx; | 1300 | height: 22rpx; |
| 1259 | - margin-top: 14rpx; | 1301 | + /* margin-top: 14rpx; */ |
| 1260 | margin-right: 5rpx | 1302 | margin-right: 5rpx |
| 1261 | } | 1303 | } |
| 1262 | .xc_comment-font{ | 1304 | .xc_comment-font{ |
| 1263 | - height: 75rpx; | ||
| 1264 | - margin-left: 22rpx; | 1305 | + /* height: 75rpx; */ |
| 1306 | + /* margin-left: 22rpx; */ | ||
| 1265 | white-space:normal; | 1307 | white-space:normal; |
| 1266 | overflow: hidden; | 1308 | overflow: hidden; |
| 1267 | - margin-top: 8rpx; | ||
| 1268 | - line-height: 38rpx; | 1309 | + /* margin-top: 8rpx; |
| 1310 | + line-height: 38rpx; */ | ||
| 1269 | 1311 | ||
| 1270 | } | 1312 | } |
| 1271 | .xc_comment-val{ | 1313 | .xc_comment-val{ |
| 1272 | - width: 88%; | 1314 | + /* width: 88%; |
| 1273 | height: 30rpx; | 1315 | height: 30rpx; |
| 1274 | margin-left: 22rpx; | 1316 | margin-left: 22rpx; |
| 1275 | display: flex; | 1317 | display: flex; |
| 1276 | margin-top: 15rpx; | 1318 | margin-top: 15rpx; |
| 1277 | - margin-bottom:15rpx; | 1319 | + margin-bottom:15rpx; */ |
| 1278 | } | 1320 | } |
| 1279 | 1321 | ||
| 1280 | .xc_comment-time{ | 1322 | .xc_comment-time{ |
| 1281 | - height: 30rpx; | ||
| 1282 | - font-size: 24rpx; | 1323 | + /* height: 30rpx; */ |
| 1324 | + font-size: 22rpx; | ||
| 1283 | color: #a5a5a5; | 1325 | color: #a5a5a5; |
| 1284 | overflow: hidden; | 1326 | overflow: hidden; |
| 1285 | } | 1327 | } |
| @@ -1290,14 +1332,17 @@ left:31rpx;} | @@ -1290,14 +1332,17 @@ left:31rpx;} | ||
| 1290 | .xc_comment-left{ | 1332 | .xc_comment-left{ |
| 1291 | display:inline-block; | 1333 | display:inline-block; |
| 1292 | width: 312rpx; | 1334 | width: 312rpx; |
| 1335 | + padding: 20rpx; | ||
| 1293 | } | 1336 | } |
| 1294 | .xc_goods-img-frame{ | 1337 | .xc_goods-img-frame{ |
| 1295 | - display:inline-block; | ||
| 1296 | - width: 40%; | 1338 | + border-radius: 0 22rpx 22rpx 0; |
| 1339 | + overflow: hidden; | ||
| 1340 | + /* display:inline-block; */ | ||
| 1341 | + /* width: 40%; | ||
| 1297 | height: 90%; | 1342 | height: 90%; |
| 1298 | text-align: center; | 1343 | text-align: center; |
| 1299 | padding-top: 30rpx; | 1344 | padding-top: 30rpx; |
| 1300 | - vertical-align: top; | 1345 | + vertical-align: top; */ |
| 1301 | } | 1346 | } |
| 1302 | .xc_imgs{ | 1347 | .xc_imgs{ |
| 1303 | width: 50rpx; | 1348 | width: 50rpx; |
| @@ -1308,11 +1353,13 @@ left:31rpx;} | @@ -1308,11 +1353,13 @@ left:31rpx;} | ||
| 1308 | 1353 | ||
| 1309 | .pj_word_size{ font-size: 28rpx} | 1354 | .pj_word_size{ font-size: 28rpx} |
| 1310 | .pj_scroll{ | 1355 | .pj_scroll{ |
| 1311 | - white-space: nowrap; | 1356 | + /* white-space: nowrap; */ |
| 1312 | /* height: 324rpx; */ | 1357 | /* height: 324rpx; */ |
| 1313 | - margin-bottom: 50rpx; | 1358 | + /* margin-bottom: 50rpx; */ |
| 1314 | display: flex; | 1359 | display: flex; |
| 1315 | align-items: center; | 1360 | align-items: center; |
| 1361 | + padding: 20rpx 0; | ||
| 1362 | + /* box-sizing: border-box; */ | ||
| 1316 | /* box-shadow: 0 8px 12px #e7e9eb; */ | 1363 | /* box-shadow: 0 8px 12px #e7e9eb; */ |
| 1317 | } | 1364 | } |
| 1318 | 1365 | ||
| @@ -1326,57 +1373,61 @@ left:31rpx;} | @@ -1326,57 +1373,61 @@ left:31rpx;} | ||
| 1326 | } | 1373 | } |
| 1327 | .cx-frame{ | 1374 | .cx-frame{ |
| 1328 | /* border-top:3rpx solid #eee; */ | 1375 | /* border-top:3rpx solid #eee; */ |
| 1329 | - width:99%; | 1376 | + /* width:99%; |
| 1330 | height: 95rpx; | 1377 | height: 95rpx; |
| 1331 | line-height: 95rpx; | 1378 | line-height: 95rpx; |
| 1332 | - padding-left:24rpx; | ||
| 1333 | - | ||
| 1334 | - | 1379 | + padding-left:24rpx; */ |
| 1380 | + padding: 20rpx; | ||
| 1335 | } | 1381 | } |
| 1336 | .cx-frame .cx-sizs{ | 1382 | .cx-frame .cx-sizs{ |
| 1337 | - width: 68rpx; | ||
| 1338 | - height: 100%; | ||
| 1339 | - line-height: 100rpx; | ||
| 1340 | - overflow: hidden; | ||
| 1341 | - margin-left: 10rpx; | 1383 | + /* width: 68rpx; */ |
| 1384 | + /* height: 100%; */ | ||
| 1385 | + /* line-height: 100rpx; */ | ||
| 1386 | + /* overflow: hidden; */ | ||
| 1387 | + /* margin-left: 10rpx; */ | ||
| 1342 | } | 1388 | } |
| 1343 | .xc-coupon-fram{ | 1389 | .xc-coupon-fram{ |
| 1344 | position: relative; | 1390 | position: relative; |
| 1345 | - width:200rpx; | ||
| 1346 | - padding-top:30rpx; | 1391 | + margin-right: 16rpx; |
| 1392 | + /* width:200rpx; */ | ||
| 1393 | + /* padding-top:30rpx; */ | ||
| 1347 | 1394 | ||
| 1348 | } | 1395 | } |
| 1349 | .xc-coupon-fram .xc-coupon{ | 1396 | .xc-coupon-fram .xc-coupon{ |
| 1350 | - width:175rpx ; | 1397 | + /* width:175rpx ; |
| 1351 | height: 40rpx; | 1398 | height: 40rpx; |
| 1352 | - line-height: 40rpx; | 1399 | + line-height: 40rpx; */ |
| 1353 | background-color:#d60021 ; | 1400 | background-color:#d60021 ; |
| 1354 | - margin:0 auto; | 1401 | + /* margin:0 auto; */ |
| 1355 | color:#fff; | 1402 | color:#fff; |
| 1356 | - | 1403 | + padding: 6rpx 20rpx; |
| 1357 | 1404 | ||
| 1358 | } | 1405 | } |
| 1359 | .xc-coupon-fram .xc-circular{ | 1406 | .xc-coupon-fram .xc-circular{ |
| 1360 | - width: 22rpx; | ||
| 1361 | - height:22rpx; | ||
| 1362 | - background-color:#fff; | 1407 | + width: 16rpx; |
| 1408 | + height:16rpx; | ||
| 1409 | + background-color: white; | ||
| 1363 | position:absolute; | 1410 | position:absolute; |
| 1364 | - top: 40rpx; | 1411 | + top: 50%; |
| 1412 | + /* left: -10rpx; */ | ||
| 1413 | + transform: translateY(-50%); | ||
| 1365 | } | 1414 | } |
| 1366 | .xc-coupon-fram .xc-one{ | 1415 | .xc-coupon-fram .xc-one{ |
| 1367 | - left:3rpx; | 1416 | + left: -8rpx; |
| 1368 | } | 1417 | } |
| 1369 | .xc-coupon-fram .xc-two{ | 1418 | .xc-coupon-fram .xc-two{ |
| 1370 | - left: 178rpx; | 1419 | + right: -8rpx; |
| 1371 | } | 1420 | } |
| 1372 | 1421 | ||
| 1373 | .cx-obtain-coupon{ | 1422 | .cx-obtain-coupon{ |
| 1374 | - width: 65rpx; | 1423 | + /* width: 65rpx; |
| 1375 | height: 100%; | 1424 | height: 100%; |
| 1376 | - padding-left:15rpx; | 1425 | + padding-left:15rpx; */ |
| 1377 | color: #d70025; | 1426 | color: #d70025; |
| 1378 | - position: absolute; | ||
| 1379 | - right: 5rpx; | 1427 | + display: flex; |
| 1428 | + align-items: center; | ||
| 1429 | + /* position: absolute; | ||
| 1430 | + right: 5rpx; */ | ||
| 1380 | } | 1431 | } |
| 1381 | 1432 | ||
| 1382 | /* 自定义弹出窗口 */ | 1433 | /* 自定义弹出窗口 */ |
| @@ -1391,18 +1442,20 @@ left:31rpx;} | @@ -1391,18 +1442,20 @@ left:31rpx;} | ||
| 1391 | } | 1442 | } |
| 1392 | 1443 | ||
| 1393 | .cx-popup .top{ | 1444 | .cx-popup .top{ |
| 1394 | - width: 90%; | ||
| 1395 | - height:85rpx; | ||
| 1396 | - border-bottom: 4rpx solid #d5d5d5; | ||
| 1397 | - padding-top: 50rpx; | ||
| 1398 | - font-weight:600; | 1445 | + /* width: 90%; |
| 1446 | + height:85rpx; */ | ||
| 1447 | + font-size: 32rpx; | ||
| 1448 | + padding: 20rpx 0; | ||
| 1449 | + border-bottom: 2rpx solid #ebedf0; | ||
| 1450 | + /* padding-top: 50rpx; | ||
| 1451 | + font-weight:600; */ | ||
| 1399 | 1452 | ||
| 1400 | } | 1453 | } |
| 1401 | .cx-popup .top-frame{ | 1454 | .cx-popup .top-frame{ |
| 1402 | - width: 100%; | 1455 | + /* width: 100%; |
| 1403 | display: flex; | 1456 | display: flex; |
| 1404 | justify-content: center; | 1457 | justify-content: center; |
| 1405 | - overflow: hidden; | 1458 | + overflow: hidden; */ |
| 1406 | } | 1459 | } |
| 1407 | .xc-valid-coupon{ | 1460 | .xc-valid-coupon{ |
| 1408 | width: 90%; | 1461 | width: 90%; |
| @@ -1413,41 +1466,52 @@ left:31rpx;} | @@ -1413,41 +1466,52 @@ left:31rpx;} | ||
| 1413 | .xc-frame{ | 1466 | .xc-frame{ |
| 1414 | position: relative; | 1467 | position: relative; |
| 1415 | } | 1468 | } |
| 1416 | -.xc-coupon-frame{ | ||
| 1417 | - width: 90%; | 1469 | +.xc-coupon-frame { |
| 1470 | + width: 100%; | ||
| 1418 | max-height: 560rpx; | 1471 | max-height: 560rpx; |
| 1419 | overflow: auto; | 1472 | overflow: auto; |
| 1420 | 1473 | ||
| 1421 | } | 1474 | } |
| 1422 | -.xc-coupon-frame .coupon{ | ||
| 1423 | - width:99%; | 1475 | +.xc-coupon-frame .rel:not(:first-child) { |
| 1476 | + margin-top: 20rpx; | ||
| 1477 | +} | ||
| 1478 | +.xc-coupon-frame .coupon { | ||
| 1479 | + width:100%; | ||
| 1424 | height: 168rpx; | 1480 | height: 168rpx; |
| 1425 | border-radius: 25rpx; | 1481 | border-radius: 25rpx; |
| 1426 | - border:3rpx solid #ffdcdc; | 1482 | + border:2rpx solid #ffdcdc; |
| 1427 | overflow: hidden; | 1483 | overflow: hidden; |
| 1428 | - margin-top:16rpx; | 1484 | + /* margin-top:16rpx; */ |
| 1485 | + box-sizing: border-box; | ||
| 1429 | 1486 | ||
| 1430 | } | 1487 | } |
| 1488 | +/* .xc-coupon-frame .coupon ~ .coupon { | ||
| 1489 | + margin-top:16rpx; | ||
| 1490 | +} */ | ||
| 1431 | .xc-coupon-left{ | 1491 | .xc-coupon-left{ |
| 1432 | width: 216rpx; | 1492 | width: 216rpx; |
| 1433 | - height: 100%; | 1493 | + /* height: 100%; */ |
| 1434 | background-color: #ffeeef; | 1494 | background-color: #ffeeef; |
| 1435 | border-right: 4rpx dashed #ffdbd9; | 1495 | border-right: 4rpx dashed #ffdbd9; |
| 1436 | overflow: hidden; | 1496 | overflow: hidden; |
| 1437 | - line-height: 100%; | ||
| 1438 | - | 1497 | + /* line-height: 100%; */ |
| 1498 | + display: flex; | ||
| 1499 | + flex-direction: column; | ||
| 1500 | + justify-content: center; | ||
| 1501 | + align-items: center; | ||
| 1502 | + flex-shrink: 0; | ||
| 1439 | } | 1503 | } |
| 1440 | .xc-money{ | 1504 | .xc-money{ |
| 1441 | color: #f30026; | 1505 | color: #f30026; |
| 1442 | text-align:center; | 1506 | text-align:center; |
| 1443 | } | 1507 | } |
| 1444 | .xc-rmb{ | 1508 | .xc-rmb{ |
| 1445 | - width:44rpx; | ||
| 1446 | - padding-top:7rpx; | 1509 | + /* width:44rpx; |
| 1510 | + padding-top:7rpx; */ | ||
| 1447 | } | 1511 | } |
| 1448 | .xc-money-frame{ | 1512 | .xc-money-frame{ |
| 1449 | - margin-left:35rpx; | ||
| 1450 | - margin-top:48rpx; | 1513 | + /* margin-left:35rpx; |
| 1514 | + margin-top:48rpx; */ | ||
| 1451 | 1515 | ||
| 1452 | } | 1516 | } |
| 1453 | .xc-spacing{ | 1517 | .xc-spacing{ |
| @@ -1455,45 +1519,52 @@ left:31rpx;} | @@ -1455,45 +1519,52 @@ left:31rpx;} | ||
| 1455 | } | 1519 | } |
| 1456 | .xc-circular-one{ | 1520 | .xc-circular-one{ |
| 1457 | position: absolute; | 1521 | position: absolute; |
| 1458 | - top:-8rpx; | ||
| 1459 | - left:208rpx; | ||
| 1460 | - width: 27rpx; | 1522 | + top:-15rpx; |
| 1523 | + left:205rpx; | ||
| 1524 | + width: 30rpx; | ||
| 1461 | height: 30rpx; | 1525 | height: 30rpx; |
| 1462 | background: #fff; | 1526 | background: #fff; |
| 1463 | overflow: hidden; | 1527 | overflow: hidden; |
| 1464 | } | 1528 | } |
| 1465 | .xc-circular-two{ | 1529 | .xc-circular-two{ |
| 1466 | position: absolute; | 1530 | position: absolute; |
| 1467 | - top:150rpx; | ||
| 1468 | - left:207rpx; | ||
| 1469 | - width: 27rpx; | 1531 | + bottom: -15rpx; |
| 1532 | + /* top:150rpx; */ | ||
| 1533 | + left:205rpx; | ||
| 1534 | + width: 30rpx; | ||
| 1470 | height:30rpx; | 1535 | height:30rpx; |
| 1471 | background: #fff; | 1536 | background: #fff; |
| 1472 | } | 1537 | } |
| 1473 | .xc-detail-coupon{ | 1538 | .xc-detail-coupon{ |
| 1474 | - margin-left: 22rpx; | 1539 | + /* margin-left: 22rpx; |
| 1475 | overflow: hidden; | 1540 | overflow: hidden; |
| 1476 | - padding-top: 43rpx; | ||
| 1477 | - | 1541 | + padding-top: 43rpx; */ |
| 1542 | + /* display: flex; | ||
| 1543 | + align-items: center; */ | ||
| 1478 | } | 1544 | } |
| 1479 | .xc-coupon-right{ | 1545 | .xc-coupon-right{ |
| 1480 | - width: 455rpx; | ||
| 1481 | - height: 100%; | 1546 | + /* width: 455rpx; |
| 1547 | + height: 100%; */ | ||
| 1482 | background: #fffaf9; | 1548 | background: #fffaf9; |
| 1549 | + padding: 20rpx; | ||
| 1550 | + box-sizing: border-box; | ||
| 1551 | + width: 100%; | ||
| 1552 | + justify-content: space-between; | ||
| 1553 | + align-items: center; | ||
| 1483 | } | 1554 | } |
| 1484 | .xc-below{ | 1555 | .xc-below{ |
| 1485 | - margin-top:22rpx; | 1556 | + margin-top:20rpx; |
| 1486 | 1557 | ||
| 1487 | } | 1558 | } |
| 1488 | .xc-get{ | 1559 | .xc-get{ |
| 1489 | 1560 | ||
| 1490 | - width: 132rpx; | ||
| 1491 | - height: 48rpx; | 1561 | + width: 140rpx; |
| 1562 | + /* height: 48rpx; */ | ||
| 1492 | color: #fff; | 1563 | color: #fff; |
| 1493 | text-align: center; | 1564 | text-align: center; |
| 1494 | - border-radius:20rpx; | ||
| 1495 | - line-height:48rpx; | ||
| 1496 | - margin-left:20rpx; | 1565 | + border-radius:27rpx; |
| 1566 | + line-height:54rpx; | ||
| 1567 | + /* margin-left:20rpx; */ | ||
| 1497 | } | 1568 | } |
| 1498 | 1569 | ||
| 1499 | .background{ | 1570 | .background{ |
| @@ -1511,16 +1582,19 @@ left:31rpx;} | @@ -1511,16 +1582,19 @@ left:31rpx;} | ||
| 1511 | 1582 | ||
| 1512 | .cx-confirm{ | 1583 | .cx-confirm{ |
| 1513 | width: 100%; | 1584 | width: 100%; |
| 1514 | - height: 160rpx; | 1585 | + padding: 20rpx; |
| 1586 | + box-sizing: border-box; | ||
| 1587 | + /* height: 160rpx; */ | ||
| 1515 | 1588 | ||
| 1516 | } | 1589 | } |
| 1517 | .cx-confirm .confirm{ | 1590 | .cx-confirm .confirm{ |
| 1518 | - width: 372rpx; | ||
| 1519 | - height: 60rpx; | ||
| 1520 | - background: #f40026; | 1591 | + /* width: 372rpx; |
| 1592 | + height: 60rpx; */ | ||
| 1593 | + background-color: #f40026; | ||
| 1521 | color: #fff; | 1594 | color: #fff; |
| 1522 | - border-radius:20rpx; | ||
| 1523 | - line-height:60rpx; | 1595 | + border-radius:10rpx; |
| 1596 | + line-height: 80rpx; | ||
| 1597 | + font-size: 28rpx; | ||
| 1524 | 1598 | ||
| 1525 | } | 1599 | } |
| 1526 | 1600 | ||
| @@ -1531,17 +1605,21 @@ left:31rpx;} | @@ -1531,17 +1605,21 @@ left:31rpx;} | ||
| 1531 | 1605 | ||
| 1532 | 1606 | ||
| 1533 | /* 分享 */ | 1607 | /* 分享 */ |
| 1608 | +.icon-share { | ||
| 1609 | + font-size: 46rpx; | ||
| 1610 | + color: #d60021; | ||
| 1611 | +} | ||
| 1534 | .xc-share-frame{ | 1612 | .xc-share-frame{ |
| 1535 | - width: 129rpx; | 1613 | + /* width: 129rpx; |
| 1536 | height: 48rpx; | 1614 | height: 48rpx; |
| 1537 | border-top-left-radius: 18rpx; | 1615 | border-top-left-radius: 18rpx; |
| 1538 | - border-bottom-left-radius: 18rpx; | ||
| 1539 | - background: #d60021; | ||
| 1540 | - position:absolute; | 1616 | + border-bottom-left-radius: 18rpx; */ |
| 1617 | + /* background: #d60021; */ | ||
| 1618 | + /* position:absolute; | ||
| 1541 | left:622rpx; | 1619 | left:622rpx; |
| 1542 | top:-37rpx; | 1620 | top:-37rpx; |
| 1543 | line-height:50rpx; | 1621 | line-height:50rpx; |
| 1544 | - margin-top:52rpx; | 1622 | + margin-top:52rpx; */ |
| 1545 | } | 1623 | } |
| 1546 | .xc-share-frame-jieti{ | 1624 | .xc-share-frame-jieti{ |
| 1547 | width: 129rpx; | 1625 | width: 129rpx; |
| @@ -1559,6 +1637,7 @@ left:31rpx;} | @@ -1559,6 +1637,7 @@ left:31rpx;} | ||
| 1559 | 1637 | ||
| 1560 | } | 1638 | } |
| 1561 | 1639 | ||
| 1640 | + | ||
| 1562 | .xc-share-frame .share-frame,.xc-share-frame-jieti .share-frame{ | 1641 | .xc-share-frame .share-frame,.xc-share-frame-jieti .share-frame{ |
| 1563 | width: 30rpx; | 1642 | width: 30rpx; |
| 1564 | height: 30rpx; | 1643 | height: 30rpx; |
| @@ -1779,10 +1858,10 @@ xc-ensure-div{ | @@ -1779,10 +1858,10 @@ xc-ensure-div{ | ||
| 1779 | padding-top: 24rpx; | 1858 | padding-top: 24rpx; |
| 1780 | overflow: hidden; | 1859 | overflow: hidden; |
| 1781 | } | 1860 | } |
| 1782 | -.xc-frame{ | ||
| 1783 | - width: 100%; | ||
| 1784 | - margin-top:20rpx; | ||
| 1785 | - | 1861 | +.xc-frame { |
| 1862 | + /* width: 100%; | ||
| 1863 | + margin-top:20rpx; */ | ||
| 1864 | + padding: 20rpx; | ||
| 1786 | } | 1865 | } |
| 1787 | 1866 | ||
| 1788 | .xc-frame .list-frame{ | 1867 | .xc-frame .list-frame{ |
| @@ -1817,7 +1896,7 @@ xc-ensure-div{ | @@ -1817,7 +1896,7 @@ xc-ensure-div{ | ||
| 1817 | } | 1896 | } |
| 1818 | 1897 | ||
| 1819 | .xc-money-frame{ | 1898 | .xc-money-frame{ |
| 1820 | - margin-left:35rpx; | 1899 | + /* margin-left:35rpx; */ |
| 1821 | 1900 | ||
| 1822 | } | 1901 | } |
| 1823 | .xc-coupon-effect{ | 1902 | .xc-coupon-effect{ |
| @@ -1952,11 +2031,11 @@ xc-ensure-div{ | @@ -1952,11 +2031,11 @@ xc-ensure-div{ | ||
| 1952 | } | 2031 | } |
| 1953 | 2032 | ||
| 1954 | .xc-video{ | 2033 | .xc-video{ |
| 1955 | - width:100rpx; | ||
| 1956 | - height: 50rpx; | ||
| 1957 | - line-height: 50rpx; | 2034 | + /* width:100rpx; */ |
| 2035 | + /* height: 50rpx; | ||
| 2036 | + line-height: 50rpx; */ | ||
| 1958 | text-align: center; | 2037 | text-align: center; |
| 1959 | - margin-left:-30rpx; | 2038 | + /* margin-left:-30rpx; */ |
| 1960 | 2039 | ||
| 1961 | 2040 | ||
| 1962 | } | 2041 | } |
| @@ -2030,7 +2109,7 @@ xc-ensure-div{ | @@ -2030,7 +2109,7 @@ xc-ensure-div{ | ||
| 2030 | 2109 | ||
| 2031 | 2110 | ||
| 2032 | .wsize{font-size: 32rpx} | 2111 | .wsize{font-size: 32rpx} |
| 2033 | -.five-level-word{font-size: 28rpx;} | 2112 | +.five-level-word{font-size: 24rpx;} |
| 2034 | 2113 | ||
| 2035 | 2114 | ||
| 2036 | /*-- 推荐商品 --*/ | 2115 | /*-- 推荐商品 --*/ |
| @@ -2103,13 +2182,13 @@ padding-left:24rpx; | @@ -2103,13 +2182,13 @@ padding-left:24rpx; | ||
| 2103 | 2182 | ||
| 2104 | .xc-linellae-frame{ | 2183 | .xc-linellae-frame{ |
| 2105 | width: 100%; | 2184 | width: 100%; |
| 2106 | - height: 60rpx; | 2185 | + height: 80rpx; |
| 2107 | background: #f2f2f2; | 2186 | background: #f2f2f2; |
| 2108 | } | 2187 | } |
| 2109 | .xc-linellae-frame .xc-linellae{ | 2188 | .xc-linellae-frame .xc-linellae{ |
| 2110 | width: 386rpx; | 2189 | width: 386rpx; |
| 2111 | height: 1rpx; | 2190 | height: 1rpx; |
| 2112 | - border-bottom: 1rpx solid #a5a5a5; | 2191 | + border-bottom: 1rpx solid #ebedf0; |
| 2113 | } | 2192 | } |
| 2114 | .xc-recommend-frame{ | 2193 | .xc-recommend-frame{ |
| 2115 | background:#f2f2f2; | 2194 | background:#f2f2f2; |
| @@ -2132,7 +2211,8 @@ margin-top: 1rpx; | @@ -2132,7 +2211,8 @@ margin-top: 1rpx; | ||
| 2132 | } | 2211 | } |
| 2133 | .xc-price-frame{ | 2212 | .xc-price-frame{ |
| 2134 | color: #ec0022; | 2213 | color: #ec0022; |
| 2135 | -height:44rpx; | 2214 | + align-items: baseline; |
| 2215 | +/* height:44rpx; */ | ||
| 2136 | } | 2216 | } |
| 2137 | .xc-price-frame .sign{ | 2217 | .xc-price-frame .sign{ |
| 2138 | margin-top:19rpx; | 2218 | margin-top:19rpx; |
| @@ -2163,6 +2243,9 @@ padding-left:-4rpx; | @@ -2163,6 +2243,9 @@ padding-left:-4rpx; | ||
| 2163 | .xc-explain{ | 2243 | .xc-explain{ |
| 2164 | color:#292929; | 2244 | color:#292929; |
| 2165 | width:542rpx; | 2245 | width:542rpx; |
| 2246 | + margin: 10rpx 0 20rpx; | ||
| 2247 | + width: 100%; | ||
| 2248 | + font-weight: bold; | ||
| 2166 | } | 2249 | } |
| 2167 | .xc-item{width: 16%; font-size: 26rpx; color: #666;margin-right:5rpx;} | 2250 | .xc-item{width: 16%; font-size: 26rpx; color: #666;margin-right:5rpx;} |
| 2168 | .xc-item .yuan{ | 2251 | .xc-item .yuan{ |
| @@ -2268,15 +2351,16 @@ margin-top:5rpx; | @@ -2268,15 +2351,16 @@ margin-top:5rpx; | ||
| 2268 | } | 2351 | } |
| 2269 | .xc-goods-explain{ | 2352 | .xc-goods-explain{ |
| 2270 | width:100%; | 2353 | width:100%; |
| 2271 | - padding-left:30rpx; | 2354 | + /* padding-left:30rpx; |
| 2272 | margin-left:-9rpx; | 2355 | margin-left:-9rpx; |
| 2273 | - height: 150rpx | 2356 | + height: 150rpx */ |
| 2274 | } | 2357 | } |
| 2275 | .xc-partner-frame{ | 2358 | .xc-partner-frame{ |
| 2276 | border-bottom:2rpx solid #eee; | 2359 | border-bottom:2rpx solid #eee; |
| 2277 | width:100%; | 2360 | width:100%; |
| 2278 | -padding:0 20rpx; | ||
| 2279 | -height:56rpx; | 2361 | +padding:20rpx; |
| 2362 | +/* height:56rpx; */ | ||
| 2363 | +box-sizing: border-box; | ||
| 2280 | } | 2364 | } |
| 2281 | .xc-person-number{ | 2365 | .xc-person-number{ |
| 2282 | width:120rpx; | 2366 | width:120rpx; |
| @@ -2298,41 +2382,43 @@ right:17rpx; top:55rpx; | @@ -2298,41 +2382,43 @@ right:17rpx; top:55rpx; | ||
| 2298 | /* border-top:1rpx solid #eee; */ | 2382 | /* border-top:1rpx solid #eee; */ |
| 2299 | width: 100%; | 2383 | width: 100%; |
| 2300 | height: auto; | 2384 | height: auto; |
| 2385 | + padding: 20rpx; | ||
| 2386 | + box-sizing: border-box; | ||
| 2301 | } | 2387 | } |
| 2302 | .on_height{ | 2388 | .on_height{ |
| 2303 | height: 90rpx; | 2389 | height: 90rpx; |
| 2304 | } | 2390 | } |
| 2305 | .sn_height{ | 2391 | .sn_height{ |
| 2306 | - min-height: 170rpx; height: auto;padding: 10rpx 0; | 2392 | + /* min-height: 170rpx; height: auto;padding: 10rpx 0; */ |
| 2307 | } | 2393 | } |
| 2308 | .xc-address_frame .address_frame{ | 2394 | .xc-address_frame .address_frame{ |
| 2309 | - width: 92%; | ||
| 2310 | -padding-left: 10rpx; | ||
| 2311 | -margin: auto; | 2395 | + width: 100%; |
| 2396 | +/* padding-left: 10rpx; | ||
| 2397 | +margin: auto; */ | ||
| 2312 | 2398 | ||
| 2313 | } | 2399 | } |
| 2314 | .shop_name{ | 2400 | .shop_name{ |
| 2315 | 2401 | ||
| 2316 | } | 2402 | } |
| 2317 | .stores-img{ | 2403 | .stores-img{ |
| 2318 | -width: 40rpx; | ||
| 2319 | - height: 35rpx; | 2404 | + width: 28rpx; |
| 2405 | + height: 28rpx; | ||
| 2320 | margin-right: 10rpx; | 2406 | margin-right: 10rpx; |
| 2321 | } | 2407 | } |
| 2322 | .shop_name{ | 2408 | .shop_name{ |
| 2323 | margin-right: 10rpx; | 2409 | margin-right: 10rpx; |
| 2324 | } | 2410 | } |
| 2325 | .address{ | 2411 | .address{ |
| 2326 | - width: 87%; | 2412 | + /* width: 100%; |
| 2327 | margin-top: 5rpx; | 2413 | margin-top: 5rpx; |
| 2328 | - margin-bottom: 5rpx; | 2414 | + margin-bottom: 5rpx; */ |
| 2329 | } | 2415 | } |
| 2330 | .distance{ | 2416 | .distance{ |
| 2331 | - padding-left: 15rpx; | ||
| 2332 | - padding-right: 15rpx; | 2417 | + padding-left: 20rpx; |
| 2418 | + padding-right: 20rpx; | ||
| 2333 | background: #eee; | 2419 | background: #eee; |
| 2334 | border-radius: 20rpx; | 2420 | border-radius: 20rpx; |
| 2335 | - margin-right: 5rpx; | 2421 | + /* margin-right: 5rpx; */ |
| 2336 | color: #999; | 2422 | color: #999; |
| 2337 | height: 38rpx; | 2423 | height: 38rpx; |
| 2338 | line-height: 38rpx; | 2424 | line-height: 38rpx; |
| @@ -2518,8 +2604,8 @@ margin-top: 10rpx; | @@ -2518,8 +2604,8 @@ margin-top: 10rpx; | ||
| 2518 | } | 2604 | } |
| 2519 | .xc-goods-attribute{ | 2605 | .xc-goods-attribute{ |
| 2520 | border-bottom: 1px solid #eee; | 2606 | border-bottom: 1px solid #eee; |
| 2521 | -padding-bottom: 15px; | ||
| 2522 | -margin-bottom:40rpx; | 2607 | +padding-bottom: 20rpx; |
| 2608 | +/* margin-bottom:40rpx; */ | ||
| 2523 | } | 2609 | } |
| 2524 | .xc-val-fream{ | 2610 | .xc-val-fream{ |
| 2525 | width: 105rpx; | 2611 | width: 105rpx; |
| @@ -2546,11 +2632,11 @@ border-radius: 55rpx; | @@ -2546,11 +2632,11 @@ border-radius: 55rpx; | ||
| 2546 | .s_btn{ margin-top: 25rpx; } | 2632 | .s_btn{ margin-top: 25rpx; } |
| 2547 | /* 美妆价的样式 */ | 2633 | /* 美妆价的样式 */ |
| 2548 | .beauty-makeup-frame{ | 2634 | .beauty-makeup-frame{ |
| 2549 | - width: 101.5%; | ||
| 2550 | - margin: auto; | 2635 | + /* width: 101.5%; |
| 2636 | + margin: auto; */ | ||
| 2551 | height: 120rpx; | 2637 | height: 120rpx; |
| 2552 | border-radius: 15rpx; | 2638 | border-radius: 15rpx; |
| 2553 | - margin-top: 18px; | 2639 | + margin-top: 10px; |
| 2554 | 2640 | ||
| 2555 | } | 2641 | } |
| 2556 | .beauty-makeup-frame .left{ | 2642 | .beauty-makeup-frame .left{ |
| @@ -2558,11 +2644,12 @@ border-radius: 55rpx; | @@ -2558,11 +2644,12 @@ border-radius: 55rpx; | ||
| 2558 | height: 100%; | 2644 | height: 100%; |
| 2559 | background:#f7f7f7; | 2645 | background:#f7f7f7; |
| 2560 | border-radius: 20rpx 0rpx 0rpx 20rpx; | 2646 | border-radius: 20rpx 0rpx 0rpx 20rpx; |
| 2561 | - padding-left: 20rpx; | 2647 | + /* padding: 0 10rpx; */ |
| 2562 | } | 2648 | } |
| 2563 | .card-frame{ | 2649 | .card-frame{ |
| 2564 | - margin-top: 0rpx; padding-right: 23rpx; | ||
| 2565 | - margin-right: 15rpx; | 2650 | + margin-top: 0rpx; |
| 2651 | + /* padding-right: 23rpx; | ||
| 2652 | + margin-right: 15rpx; */ | ||
| 2566 | } | 2653 | } |
| 2567 | .advert-card{ | 2654 | .advert-card{ |
| 2568 | margin-top: 0rpx!important; | 2655 | margin-top: 0rpx!important; |
| @@ -2576,13 +2663,13 @@ border-radius: 55rpx; | @@ -2576,13 +2663,13 @@ border-radius: 55rpx; | ||
| 2576 | } | 2663 | } |
| 2577 | .grade-card-frame{ | 2664 | .grade-card-frame{ |
| 2578 | 2665 | ||
| 2579 | - height:45rpx ; | 2666 | + /* height:45rpx ; */ |
| 2580 | background: #3c300a; | 2667 | background: #3c300a; |
| 2581 | border-radius: 20rpx; | 2668 | border-radius: 20rpx; |
| 2582 | - margin-top: 10px; | ||
| 2583 | - margin-left: 7rpx; | 2669 | + /* margin-top: 10px; |
| 2670 | + margin-left: 7rpx; */ | ||
| 2584 | justify-content: center; | 2671 | justify-content: center; |
| 2585 | - padding: 0 15rpx; | 2672 | + padding: 4rpx 12rpx; |
| 2586 | } | 2673 | } |
| 2587 | .grade-card-frame .img{ | 2674 | .grade-card-frame .img{ |
| 2588 | width: 24rpx; | 2675 | width: 24rpx; |
| @@ -2596,7 +2683,7 @@ border-radius: 55rpx; | @@ -2596,7 +2683,7 @@ border-radius: 55rpx; | ||
| 2596 | max-width: 165rpx; | 2683 | max-width: 165rpx; |
| 2597 | } | 2684 | } |
| 2598 | .card-effect{ | 2685 | .card-effect{ |
| 2599 | - margin-left: 15rpx; | 2686 | + /* margin-left: 15rpx; */ |
| 2600 | } | 2687 | } |
| 2601 | .at_once_carde{ | 2688 | .at_once_carde{ |
| 2602 | width:65rpx; | 2689 | width:65rpx; |
| @@ -2620,22 +2707,23 @@ button.custom-service::after{ | @@ -2620,22 +2707,23 @@ button.custom-service::after{ | ||
| 2620 | border: 0; | 2707 | border: 0; |
| 2621 | } | 2708 | } |
| 2622 | .no_store{color:#d60021; font-size: 26rpx;} | 2709 | .no_store{color:#d60021; font-size: 26rpx;} |
| 2623 | -.cx_show_view{ width: 580rpx; line-height: 30rpx; margin-bottom: 6rpx; } | 2710 | +.cx_show_view{ width: 580rpx; /* line-height: 30rpx; margin-bottom: 6rpx; */ } |
| 2624 | .cx_show_view .word{ width: 400rpx} | 2711 | .cx_show_view .word{ width: 400rpx} |
| 2625 | .prom_condition { | 2712 | .prom_condition { |
| 2626 | color: #d60021; | 2713 | color: #d60021; |
| 2627 | - width: 180rpx; | ||
| 2628 | - height: 30rpx; | 2714 | + /* width: 180rpx; */ |
| 2715 | + /* height: 30rpx; */ | ||
| 2629 | font-size: 20rpx; | 2716 | font-size: 20rpx; |
| 2630 | - padding-top: 0.01rpx; | ||
| 2631 | - display: flex; | 2717 | + /* padding-top: 0.01rpx; */ |
| 2718 | + /* display: flex; | ||
| 2632 | justify-content: center; | 2719 | justify-content: center; |
| 2633 | - align-items: center; | ||
| 2634 | - border: #d60021 solid 1rpx; | 2720 | + align-items: center; */ |
| 2721 | + border: 2rpx solid #d60021; | ||
| 2635 | border-radius: 10rpx; | 2722 | border-radius: 10rpx; |
| 2636 | margin-right:10rpx ; | 2723 | margin-right:10rpx ; |
| 2637 | - margin-left: 10rpx; | ||
| 2638 | - | 2724 | + /* margin-left: 10rpx; */ |
| 2725 | + font-size: 24rpx; | ||
| 2726 | + padding: 0 10rpx; | ||
| 2639 | } | 2727 | } |
| 2640 | .hui_img{ width: 44rpx; height: 44rpx; margin-right: 8rpx} | 2728 | .hui_img{ width: 44rpx; height: 44rpx; margin-right: 8rpx} |
| 2641 | .order_hui{color: #444; width: 420rpx} | 2729 | .order_hui{color: #444; width: 420rpx} |
| @@ -2733,4 +2821,25 @@ button.custom-service::after{ | @@ -2733,4 +2821,25 @@ button.custom-service::after{ | ||
| 2733 | .quan_price{ | 2821 | .quan_price{ |
| 2734 | background-color: #ff4700; color: #fff; padding: 10rpx 25rpx; margin-left: 10rpx; border-radius: 30rpx; | 2822 | background-color: #ff4700; color: #fff; padding: 10rpx 25rpx; margin-left: 10rpx; border-radius: 30rpx; |
| 2735 | } | 2823 | } |
| 2736 | -.stock{ width: 25%; height: 60rpx; border: 1rpx solid #eee; text-align: center; line-height: 60rpx;} | ||
| 2737 | \ No newline at end of file | 2824 | \ No newline at end of file |
| 2825 | + | ||
| 2826 | +/*--闪白屏--*/ | ||
| 2827 | +.g_img_box{ | ||
| 2828 | + background-position: center center; | ||
| 2829 | + background-repeat: no-repeat; | ||
| 2830 | + -webkit-background-size: cover; | ||
| 2831 | + -moz-background-size: cover; | ||
| 2832 | + background-size: cover; | ||
| 2833 | +} | ||
| 2834 | + | ||
| 2835 | + | ||
| 2836 | + | ||
| 2837 | +.arrow { | ||
| 2838 | + width: auto !important; | ||
| 2839 | + position: absolute; | ||
| 2840 | + right: 0; | ||
| 2841 | + top: 10rpx; | ||
| 2842 | +} | ||
| 2843 | + | ||
| 2844 | +.stock { | ||
| 2845 | + flex: 1; | ||
| 2846 | +} | ||
| 2738 | \ No newline at end of file | 2847 | \ No newline at end of file |
packageA/pages/jfbuy/jfbuy.js
| @@ -416,7 +416,7 @@ Page({ | @@ -416,7 +416,7 @@ Page({ | ||
| 416 | viewItemDetails:function(e){ | 416 | viewItemDetails:function(e){ |
| 417 | var index=e.currentTarget.dataset.index; | 417 | var index=e.currentTarget.dataset.index; |
| 418 | var item=this.data.list2[index]; | 418 | var item=this.data.list2[index]; |
| 419 | - var url="/pages/goods/goodsInfo/goodsInfo?goods_id="+item.goods_id; | 419 | + var url="/pages/goods/goodsInfo/goodsInfo?goods_id="+item.goods_id+"&title="+item.goods_name; |
| 420 | getApp().goto(url); | 420 | getApp().goto(url); |
| 421 | }, | 421 | }, |
| 422 | 422 |
packageA/pages/jfbuy/jfbuy.wxml
| @@ -51,8 +51,8 @@ | @@ -51,8 +51,8 @@ | ||
| 51 | <text>{{item.integral}}积分 + ¥{{item.addmoney}}</text> | 51 | <text>{{item.integral}}积分 + ¥{{item.addmoney}}</text> |
| 52 | </view> | 52 | </view> |
| 53 | <view class="pdt14 fs22 gray flex jc_sb"> | 53 | <view class="pdt14 fs22 gray flex jc_sb"> |
| 54 | - <view>零售价:¥{{item.shop_price}}</view> | ||
| 55 | - <view>销量:{{item.sales_sum}}</view> | 54 | + <view>零售价:¥{{item.market_price}}</view> |
| 55 | + <view>销量:{{item.buy_num}}</view> | ||
| 56 | </view> | 56 | </view> |
| 57 | </view> | 57 | </view> |
| 58 | </view> | 58 | </view> |
packageA/pages/myGift/myGift.wxml
| @@ -15,8 +15,20 @@ | @@ -15,8 +15,20 @@ | ||
| 15 | <!-- 价格 --> | 15 | <!-- 价格 --> |
| 16 | <view class="flex jc_sb ai-center pdb10"> | 16 | <view class="flex jc_sb ai-center pdb10"> |
| 17 | <view class="flex ai-center"> | 17 | <view class="flex ai-center"> |
| 18 | - <view class="c-red fs28"><text class="rmb">{{item.lbprice}}</text>/{{item.lbintegral}}积分</view> | ||
| 19 | - <view class="fs22 c-a4 line-through mgl10">零售价{{item.oldprice}}</view> | 18 | + <view class="c-red fs28"> |
| 19 | + <block wx:if="{{item.lbprice>0 && item.lbintegral}}"> | ||
| 20 | + <text class="rmb">{{filter.toFix(item.lbprice,2)}}</text>/{{item.lbintegral}}积分 | ||
| 21 | + </block> | ||
| 22 | + <block wx:elif="{{item.lbprice>0 || item.lbintegral}}"> | ||
| 23 | + <block wx:if="{{item.lbprice>0}}" > | ||
| 24 | + <text class="rmb">{{filter.toFix(item.lbprice,2) }}</text> | ||
| 25 | + </block> | ||
| 26 | + <block wx:if="{{item.lbintegral>0}}"> | ||
| 27 | + {{item.lbintegral}}积分 | ||
| 28 | + </block> | ||
| 29 | + </block> | ||
| 30 | + </view> | ||
| 31 | + <view class="fs22 c-a4 line-through mgl10">零售价{{filter.toFix(item.oldprice,2)}}</view> | ||
| 20 | </view> | 32 | </view> |
| 21 | <view class="fs24 c-a4">已售{{item.salenum}}件</view> | 33 | <view class="fs24 c-a4">已售{{item.salenum}}件</view> |
| 22 | </view> | 34 | </view> |
| @@ -26,8 +38,8 @@ | @@ -26,8 +38,8 @@ | ||
| 26 | </view> | 38 | </view> |
| 27 | </view> | 39 | </view> |
| 28 | <view class="btn-container pd20"> | 40 | <view class="btn-container pd20"> |
| 29 | - <view bindtap="GetBuyIntegral" data-index="{{index}}" class="btn red">立即兑换</view> | ||
| 30 | - <view bindtap="GetBuyPrice" data-index="{{index}}" class="btn pink">立即购买</view> | 41 | + <view wx:if="{{item.lbintegral>0}}" bindtap="GetBuyIntegral" data-index="{{index}}" class="btn red">立即兑换</view> |
| 42 | + <view wx:if="{{item.lbprice>0}}" bindtap="GetBuyPrice" data-index="{{index}}" class="btn pink">立即购买</view> | ||
| 31 | </view> | 43 | </view> |
| 32 | </view> | 44 | </view> |
| 33 | </block> | 45 | </block> |
packageA/pages/myGift/myGift.wxss
| @@ -138,7 +138,7 @@ page { | @@ -138,7 +138,7 @@ page { | ||
| 138 | 138 | ||
| 139 | .btn-container { | 139 | .btn-container { |
| 140 | display: flex; | 140 | display: flex; |
| 141 | - justify-content: space-around; | 141 | + /*justify-content: space-around;*/ |
| 142 | font-size: 26rpx; | 142 | font-size: 26rpx; |
| 143 | } | 143 | } |
| 144 | 144 | ||
| @@ -146,6 +146,7 @@ page { | @@ -146,6 +146,7 @@ page { | ||
| 146 | padding: 20rpx; | 146 | padding: 20rpx; |
| 147 | flex: 1; | 147 | flex: 1; |
| 148 | text-align: center; | 148 | text-align: center; |
| 149 | + max-width: 50%; | ||
| 149 | } | 150 | } |
| 150 | 151 | ||
| 151 | .btn.red { | 152 | .btn.red { |
packageA/pages/myGiftDetails/myGiftDetails.js
| @@ -57,7 +57,7 @@ Page({ | @@ -57,7 +57,7 @@ Page({ | ||
| 57 | // store_id: app.globalData.setting.stoid, | 57 | // store_id: app.globalData.setting.stoid, |
| 58 | // user_id: app.globalData.user_id, | 58 | // user_id: app.globalData.user_id, |
| 59 | // }; | 59 | // }; |
| 60 | - | 60 | + //购买的时候是0,购买后是1 |
| 61 | if(this.data.index == 0) { | 61 | if(this.data.index == 0) { |
| 62 | // data.lbid = this.data.id; | 62 | // data.lbid = this.data.id; |
| 63 | // 请求数据 | 63 | // 请求数据 |
| @@ -68,60 +68,100 @@ Page({ | @@ -68,60 +68,100 @@ Page({ | ||
| 68 | }, | 68 | }, |
| 69 | isShowLoading: true, | 69 | isShowLoading: true, |
| 70 | }).then(function(res) { | 70 | }).then(function(res) { |
| 71 | - self.setData({ | ||
| 72 | - details: res.data.data.pageData[0], | ||
| 73 | - }); | ||
| 74 | - }); | ||
| 75 | - | ||
| 76 | - app.request.promiseGet('/api/weshop/libao/libaoList/page', { | ||
| 77 | - data: { | ||
| 78 | - store_id: app.globalData.setting.stoid, | ||
| 79 | - lbid: this.data.id, | ||
| 80 | - }, | ||
| 81 | - isShowLoading: true, | ||
| 82 | - }).then(function(res) { | ||
| 83 | - self.setData({ | ||
| 84 | - list: res.data.data.pageData, | ||
| 85 | - }); | 71 | + |
| 72 | + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
| 73 | + var da= res.data.data.pageData[0] | ||
| 74 | + self.setData({ details:da, }); | ||
| 75 | + | ||
| 76 | + //礼包有俩种类型 | ||
| 77 | + if(da.lbtype==1){ | ||
| 78 | + app.request.promiseGet('/api/weshop/libao/libaoList/page', { | ||
| 79 | + data: { | ||
| 80 | + store_id: app.globalData.setting.stoid, | ||
| 81 | + lbid: self.data.id,pageSize:500 | ||
| 82 | + }, | ||
| 83 | + isShowLoading: true, | ||
| 84 | + }).then(function(res) { | ||
| 85 | + self.setData({ | ||
| 86 | + list: res.data.data.pageData, | ||
| 87 | + }); | ||
| 88 | + }); | ||
| 89 | + }else{ | ||
| 90 | + app.request.promiseGet('/api/weshop/libao/libaoList/listLQ', { | ||
| 91 | + data: { | ||
| 92 | + store_id: app.globalData.setting.stoid, | ||
| 93 | + lbid: self.data.id, | ||
| 94 | + }, | ||
| 95 | + isShowLoading: true, | ||
| 96 | + }).then(function(res) { | ||
| 97 | + if(res.data.code==0){ | ||
| 98 | + self.setData({ | ||
| 99 | + list: res.data.data, | ||
| 100 | + }); | ||
| 101 | + } | ||
| 102 | + }); | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + } | ||
| 86 | }); | 106 | }); |
| 107 | + | ||
| 87 | } else if(this.data.index == 1) { | 108 | } else if(this.data.index == 1) { |
| 88 | app.request.promiseGet('/api/weshop/libao/libaoFormvip/page', { | 109 | app.request.promiseGet('/api/weshop/libao/libaoFormvip/page', { |
| 89 | data: { | 110 | data: { |
| 90 | store_id: app.globalData.setting.stoid, | 111 | store_id: app.globalData.setting.stoid, |
| 91 | user_id: app.globalData.user_id, | 112 | user_id: app.globalData.user_id, |
| 92 | - id: this.data.id, | 113 | + id: this.data.id |
| 93 | }, | 114 | }, |
| 94 | isShowLoading: true, | 115 | isShowLoading: true, |
| 95 | }).then(function(res) { | 116 | }).then(function(res) { |
| 96 | // console.log('res3-->', res); | 117 | // console.log('res3-->', res); |
| 97 | if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ | 118 | if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ |
| 119 | + | ||
| 120 | + var da= res.data.data.pageData[0] | ||
| 98 | self.setData({ | 121 | self.setData({ |
| 99 | - details: res.data.data.pageData[0], | 122 | + details:da, |
| 100 | }); | 123 | }); |
| 101 | - } | ||
| 102 | - }); | ||
| 103 | - | ||
| 104 | - app.request.promiseGet('/api/weshop/libao/libaoListvip/page', { | ||
| 105 | - data: { | ||
| 106 | - store_id: app.globalData.setting.stoid, | ||
| 107 | - lbvipid: this.data.id, | ||
| 108 | - }, | ||
| 109 | - isShowLoading: true, | ||
| 110 | - }).then(function(res) { | ||
| 111 | - // console.log('res4-->', res); | ||
| 112 | - if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0) { | ||
| 113 | - var list_arr=res.data.data.pageData; | ||
| 114 | - for(var i in list_arr){ | ||
| 115 | - list_arr[i].alsonum= list_arr[i]['goods_num'] - list_arr[i]['usenum'];//剩余次数 | 124 | + |
| 125 | + if(da.lbtype==1){ | ||
| 126 | + app.request.promiseGet('/api/weshop/libao/libaoListvip/page', { | ||
| 127 | + data: { | ||
| 128 | + store_id: app.globalData.setting.stoid, | ||
| 129 | + lbvipid: self.data.id,pageSize:500 | ||
| 130 | + }, | ||
| 131 | + isShowLoading: true, | ||
| 132 | + }).then(function(res) { | ||
| 133 | + // console.log('res4-->', res); | ||
| 134 | + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0) { | ||
| 135 | + var list_arr=res.data.data.pageData; | ||
| 136 | + for(var i in list_arr){ | ||
| 137 | + list_arr[i].alsonum= list_arr[i]['goods_num'] - list_arr[i]['usenum'];//剩余次数 | ||
| 138 | + } | ||
| 139 | + self.setData({ | ||
| 140 | + list: res.data.data.pageData, | ||
| 141 | + }); | ||
| 142 | + } | ||
| 143 | + }); | ||
| 144 | + }else{ | ||
| 145 | + app.request.promiseGet('/api/weshop/libao/libaoListvip/listLQ', { | ||
| 146 | + data: { | ||
| 147 | + store_id: app.globalData.setting.stoid, | ||
| 148 | + lbvipid: self.data.id, | ||
| 149 | + user_id:app.globalData.user_id | ||
| 150 | + }, | ||
| 151 | + isShowLoading: true, | ||
| 152 | + }).then(function(res) { | ||
| 153 | + // console.log('res4-->', res); | ||
| 154 | + if(res.data.code==0 && res.data.data) { | ||
| 155 | + self.setData({ | ||
| 156 | + list: res.data.data, | ||
| 157 | + }); | ||
| 158 | + } | ||
| 159 | + }); | ||
| 116 | } | 160 | } |
| 117 | - self.setData({ | ||
| 118 | - list: res.data.data.pageData, | ||
| 119 | - }); | 161 | + |
| 120 | } | 162 | } |
| 121 | }); | 163 | }); |
| 122 | }; | 164 | }; |
| 123 | - | ||
| 124 | - | ||
| 125 | }; | 165 | }; |
| 126 | }; | 166 | }; |
| 127 | }, | 167 | }, |
| @@ -260,14 +300,38 @@ Page({ | @@ -260,14 +300,38 @@ Page({ | ||
| 260 | icon: 'none', | 300 | icon: 'none', |
| 261 | duration: 2000 | 301 | duration: 2000 |
| 262 | }) | 302 | }) |
| 263 | - | ||
| 264 | - | ||
| 265 | - | 303 | + |
| 266 | } | 304 | } |
| 267 | } | 305 | } |
| 268 | }) | 306 | }) |
| 269 | 307 | ||
| 270 | - } | 308 | + }, |
| 309 | + | ||
| 310 | + //一键领取券 | ||
| 311 | + show_get_quan:function (e) { | ||
| 312 | + var th=this; | ||
| 313 | + var json = { | ||
| 314 | + store_id:os.stoid, | ||
| 315 | + user_id:getApp().globalData.user_id, | ||
| 316 | + id:this.data.id | ||
| 317 | + }; | ||
| 318 | + var url = "/api/weshop/libao/libaoFormvip/saveLibaoQuan"; | ||
| 319 | + getApp().request.post(url,{ | ||
| 320 | + data:json, | ||
| 321 | + success:function(res) { | ||
| 322 | + if (res.data.code == 0) { | ||
| 323 | + th.setData({'details.isget':1}); | ||
| 324 | + } else { | ||
| 325 | + wx.showToast({ | ||
| 326 | + title: res.data.msg, | ||
| 327 | + icon: 'none', | ||
| 328 | + duration: 2000 | ||
| 329 | + }) | ||
| 330 | + } | ||
| 331 | + }, | ||
| 332 | + }) | ||
| 333 | + | ||
| 334 | + } | ||
| 271 | 335 | ||
| 272 | 336 | ||
| 273 | }) | 337 | }) |
| 274 | \ No newline at end of file | 338 | \ No newline at end of file |
packageA/pages/myGiftDetails/myGiftDetails.wxml
| @@ -2,6 +2,8 @@ | @@ -2,6 +2,8 @@ | ||
| 2 | <view class="pdb80"> | 2 | <view class="pdb80"> |
| 3 | <!-- 图片 --> | 3 | <!-- 图片 --> |
| 4 | <view><image src="{{imghost + (details.lburl ? details.lburl:'miniapp/images/default_g_img.gif')}}" class="img" mode="widthFix"/></view> | 4 | <view><image src="{{imghost + (details.lburl ? details.lburl:'miniapp/images/default_g_img.gif')}}" class="img" mode="widthFix"/></view> |
| 5 | + | ||
| 6 | + <view wx:if="{{index==1}}" class="fs26 exp_title">兑换结束时间:{{filter.format_time(details.expdate,1)}}</view> | ||
| 5 | <!-- 描述--> | 7 | <!-- 描述--> |
| 6 | <view class="desc-container"> | 8 | <view class="desc-container"> |
| 7 | <!-- 标题 --> | 9 | <!-- 标题 --> |
| @@ -9,16 +11,32 @@ | @@ -9,16 +11,32 @@ | ||
| 9 | <!-- 价格 --> | 11 | <!-- 价格 --> |
| 10 | <view class="flex jc_sb ai-center pdb10"> | 12 | <view class="flex jc_sb ai-center pdb10"> |
| 11 | <view class="flex ai-center"> | 13 | <view class="flex ai-center"> |
| 12 | - <view class="c-red fs36"><text class="rmb">{{details.lbprice}}</text>/{{details.lbintegral}}积分</view> | ||
| 13 | - <view class="fs22 c-a4 line-through mgl10">零售价{{details.oldprice}}</view> | 14 | + <view class="c-red fs36"> |
| 15 | + <block wx:if="{{details.lbprice>0 && details.lbintegral>0 }}"> | ||
| 16 | + <text class="rmb">{{filter.toFix(details.lbprice,2)}}</text>/{{details.lbintegral}}积分 | ||
| 17 | + </block> | ||
| 18 | + <block wx:elif="{{details.lbprice>0 || details.lbintegral>0 }}"> | ||
| 19 | + <block wx:if="{{details.lbprice>0}}" > | ||
| 20 | + <text class="rmb">{{filter.toFix(details.lbprice,2)}}</text> | ||
| 21 | + </block> | ||
| 22 | + <block wx:if="{{details.lbintegral>0}}" > | ||
| 23 | + {{details.lbintegral}}积分 | ||
| 24 | + </block> | ||
| 25 | + </block> | ||
| 26 | + | ||
| 27 | + </view> | ||
| 28 | + <view class="fs22 c-a4 line-through mgl10">零售价{{filter.toFix(details.oldprice,2)}}</view> | ||
| 14 | </view> | 29 | </view> |
| 15 | <view class="fs24 c-a4">已售{{details.salenum}}件</view> | 30 | <view class="fs24 c-a4">已售{{details.salenum}}件</view> |
| 16 | </view> | 31 | </view> |
| 17 | <!-- 时间 --> | 32 | <!-- 时间 --> |
| 18 | <view class="date">活动截止日期 {{details.expdate ? filter.format_time(details.expdate):filter.format_time(details.endtime)}}</view> | 33 | <view class="date">活动截止日期 {{details.expdate ? filter.format_time(details.expdate):filter.format_time(details.endtime)}}</view> |
| 19 | </view> | 34 | </view> |
| 35 | + | ||
| 36 | + | ||
| 37 | + <!-- 领券和兑换商品 --> | ||
| 20 | <!-- 单品 --> | 38 | <!-- 单品 --> |
| 21 | - <view class="goods-container"> | 39 | + <view class="goods-container" wx:if="{{details.lbtype==1}}"> |
| 22 | <view class="pd20 bold bdb">可到线下门店兑换以下单品</view> | 40 | <view class="pd20 bold bdb">可到线下门店兑换以下单品</view> |
| 23 | <view wx:if="{{index==1 && details.codetype==1}}" class=""> | 41 | <view wx:if="{{index==1 && details.codetype==1}}" class=""> |
| 24 | <view class="flex pd20 jc_sb"> | 42 | <view class="flex pd20 jc_sb"> |
| @@ -40,7 +58,6 @@ | @@ -40,7 +58,6 @@ | ||
| 40 | </view> | 58 | </view> |
| 41 | </view> | 59 | </view> |
| 42 | 60 | ||
| 43 | - | ||
| 44 | <view wx:else class=""> | 61 | <view wx:else class=""> |
| 45 | <view class="flex pd20 jc_sb"> | 62 | <view class="flex pd20 jc_sb"> |
| 46 | <view>单品名称</view> | 63 | <view>单品名称</view> |
| @@ -52,15 +69,48 @@ | @@ -52,15 +69,48 @@ | ||
| 52 | </view> | 69 | </view> |
| 53 | </view> | 70 | </view> |
| 54 | </view> | 71 | </view> |
| 55 | - | 72 | + |
| 73 | + <view wx:if="{{details.lbtype==2}}" class="flex" style="flex-wrap: wrap;"> | ||
| 74 | + <block wx:for="{{list}}"> | ||
| 75 | + <block wx:for="{{item.goods_num-0}}" wx:for-item="nitem" wx:for-index="idx"> | ||
| 76 | + <view class="lb_quan" style="background-image: url({{imghost}}/miniapp/images/yhq_{{index%2+1}}.png)"> | ||
| 77 | + <view class="flex fs28 fir_view"> | ||
| 78 | + <view>满1000.00使用</view> | ||
| 79 | + <view class="fs38" style="text-align: right">¥1000</view> | ||
| 80 | + </view> | ||
| 81 | + <view style="font-size: 16rpx; text-align: center">活动结束日期: 2022-06-02 00:00:00 </view> | ||
| 82 | + </view> | ||
| 83 | + </block> | ||
| 84 | + </block> | ||
| 85 | + </view> | ||
| 86 | + | ||
| 87 | + <view style="height: 20rpx"></view> | ||
| 56 | <!-- 按钮 --> | 88 | <!-- 按钮 --> |
| 57 | - <view class="btn-container"> | 89 | + <view class="btn-container" wx:if="{{details.lbtype==1}}"> |
| 58 | <block wx:if="{{index == 0}}"> | 90 | <block wx:if="{{index == 0}}"> |
| 59 | - <view bindtap="GetBuyIntegral" class="btn red">立即兑换</view> | ||
| 60 | - <view bindtap="GetBuyPrice" class="btn pink">立即购买</view> | 91 | + <view wx:if="{{details.lbintegral>0}}" bindtap="GetBuyIntegral" class="btn red">立即兑换</view> |
| 92 | + <view wx:if="{{details.lbprice>0}}" bindtap="GetBuyPrice" class="btn pink">立即购买</view> | ||
| 93 | + </block> | ||
| 94 | + | ||
| 95 | + <block wx:else> | ||
| 96 | + <view wx:if="{{details.isget}}" data-type="1" class="btn" style="background-color:#aaa;color: #fff"> | ||
| 97 | + 已领取{{list[0].freebh}} | ||
| 98 | + </view> | ||
| 99 | + <view wx:elif="{{details.codetype!=1}}" bindtap="show_hxm" data-type="1" class="btn red">立即使用</view> | ||
| 61 | </block> | 100 | </block> |
| 62 | - <view wx:else bindtap="show_hxm" data-type="1" class="btn red">立即使用</view> | ||
| 63 | </view> | 101 | </view> |
| 102 | + | ||
| 103 | + <view class="btn-container" wx:if="{{details.lbtype==2}}"> | ||
| 104 | + <block wx:if="{{index == 0}}"> | ||
| 105 | + <view wx:if="{{details.lbintegral>0}}" bindtap="GetBuyIntegral" class="btn red">立即兑换</view> | ||
| 106 | + <view wx:if="{{details.lbprice>0}}" bindtap="GetBuyPrice" class="btn pink">立即购买</view> | ||
| 107 | + </block> | ||
| 108 | + <block wx:else> | ||
| 109 | + <view wx:if="{{details.isget}}" data-type="1" class="btn" style="background-color:#aaa;color: #fff">已领</view> | ||
| 110 | + <view wx:else bindtap="show_get_quan" data-type="1" class="btn red">一键领取优惠券→</view> | ||
| 111 | + </block> | ||
| 112 | + </view> | ||
| 113 | + | ||
| 64 | </view> | 114 | </view> |
| 65 | 115 | ||
| 66 | <!-- 引入提示组件 --> | 116 | <!-- 引入提示组件 --> |
packageA/pages/myGiftDetails/myGiftDetails.wxss
| @@ -81,4 +81,21 @@ page { | @@ -81,4 +81,21 @@ page { | ||
| 81 | .ling_btn{ background: #c0283a; color: #fff; width: 100rpx; height: 50rpx; | 81 | .ling_btn{ background: #c0283a; color: #fff; width: 100rpx; height: 50rpx; |
| 82 | display: inline-block; line-height: 50rpx; border-radius: 10rpx} | 82 | display: inline-block; line-height: 50rpx; border-radius: 10rpx} |
| 83 | 83 | ||
| 84 | -.ling_btn.c_a{ background: darkgrey} | ||
| 85 | \ No newline at end of file | 84 | \ No newline at end of file |
| 85 | +.ling_btn.c_a{ background: darkgrey} | ||
| 86 | + | ||
| 87 | +.lb_quan{ | ||
| 88 | + width: 48%; | ||
| 89 | + height: 120rpx; | ||
| 90 | + background-size: 100% 100%; | ||
| 91 | + background-position: center; | ||
| 92 | + background-repeat: no-repeat; | ||
| 93 | + color: #fff; | ||
| 94 | + font-size: 22rpx; | ||
| 95 | + text-align: center; | ||
| 96 | + margin-top:20rpx; | ||
| 97 | + margin-left:10rpx; | ||
| 98 | +} | ||
| 99 | +.fir_view{ | ||
| 100 | + justify-content: space-between; height: 98rpx; line-height: 98rpx; padding: 0 8rpx; | ||
| 101 | +} | ||
| 102 | +.exp_title{text-align: center;height: 60rpx; line-height: 60rpx;background-color: #cccdce;color: #c0283a} | ||
| 86 | \ No newline at end of file | 103 | \ No newline at end of file |
packageA/pages/my_service2/appment_main.js
| @@ -3,6 +3,8 @@ var e = getApp(), | @@ -3,6 +3,8 @@ var e = getApp(), | ||
| 3 | os = a, | 3 | os = a, |
| 4 | t = e.request, | 4 | t = e.request, |
| 5 | d = e.globalData; | 5 | d = e.globalData; |
| 6 | + var ut = require("../../../utils/util.js"); | ||
| 7 | + | ||
| 6 | Page({ | 8 | Page({ |
| 7 | /** | 9 | /** |
| 8 | * 页面的初始数据 | 10 | * 页面的初始数据 |
| @@ -11,21 +13,17 @@ Page({ | @@ -11,21 +13,17 @@ Page({ | ||
| 11 | inurl: a.url, //接口网址 | 13 | inurl: a.url, //接口网址 |
| 12 | iurl: a.imghost, //服务器网址 | 14 | iurl: a.imghost, //服务器网址 |
| 13 | store: 0, //是否显示服务门店列表 | 15 | store: 0, //是否显示服务门店列表 |
| 14 | - beautician: 0, //是否显示美容师列表 | ||
| 15 | - beautician_name: "", //选中的美容师名称 | ||
| 16 | - beauticianID: "", //美容师id | ||
| 17 | - bea_index: "", //美容师列表下标 | 16 | + |
| 18 | placeholder: "填写备注", //备注为空的placeholder | 17 | placeholder: "填写备注", //备注为空的placeholder |
| 19 | store_list: [], //门店列表 | 18 | store_list: [], //门店列表 |
| 20 | - beautician_list: [], //美容师列表 | ||
| 21 | - store_name: "", //选择的服务门店 | 19 | + |
| 20 | + store_name: "", //选择的服务门店 | ||
| 22 | fir_pick_index: 0, //选择的门店下标 | 21 | fir_pick_index: 0, //选择的门店下标 |
| 23 | curpage: 1, //当前分页数 | 22 | curpage: 1, //当前分页数 |
| 24 | pageSize: 8, //页大小 | 23 | pageSize: 8, //页大小 |
| 25 | total: 0, | 24 | total: 0, |
| 26 | ismore: 0, //是否加载完毕 | 25 | ismore: 0, //是否加载完毕 |
| 27 | - itemId: "", //服务id | ||
| 28 | - project_id: "", //项目id | 26 | + |
| 29 | isScroll: true, //scroll-y是否可以滑动 | 27 | isScroll: true, //scroll-y是否可以滑动 |
| 30 | key_word: "", //是否按门店文字查询 | 28 | key_word: "", //是否按门店文字查询 |
| 31 | is_service_read: 0, //是否调用过门店接口 | 29 | is_service_read: 0, //是否调用过门店接口 |
| @@ -34,8 +32,7 @@ Page({ | @@ -34,8 +32,7 @@ Page({ | ||
| 34 | remarks: "", //备注 | 32 | remarks: "", //备注 |
| 35 | storageId: "", //线下门店id | 33 | storageId: "", //线下门店id |
| 36 | url: "/packageA/pages/my_service/appment_main", //本页面地址路径用于选择时间页面跳转回来 | 34 | url: "/packageA/pages/my_service/appment_main", //本页面地址路径用于选择时间页面跳转回来 |
| 37 | - buyType: "", //项目类型 | ||
| 38 | - time: "", //选择预约时间 | 35 | + |
| 39 | tment_count: "", //可预约人数 | 36 | tment_count: "", //可预约人数 |
| 40 | lat: "", //纬度坐标 | 37 | lat: "", //纬度坐标 |
| 41 | lon: "", //经度坐标 | 38 | lon: "", //经度坐标 |
| @@ -44,19 +41,22 @@ Page({ | @@ -44,19 +41,22 @@ Page({ | ||
| 44 | is_sub: 0, //判断是否重复提交 | 41 | is_sub: 0, //判断是否重复提交 |
| 45 | is_textea: 1, //备注是否是可输入 | 42 | is_textea: 1, //备注是否是可输入 |
| 46 | 43 | ||
| 47 | - // 拖拽参数 | ||
| 48 | - writePosition: [], //默认定位参数 | ||
| 49 | - writesize: [0, 0],// X Y 定位 | ||
| 50 | - window: [0, 0], //屏幕尺寸 | ||
| 51 | - write: [0, 0], //定位参数 | ||
| 52 | - scrolltop: 0,//据顶部距离 | ||
| 53 | - v:{}, | ||
| 54 | - | ||
| 55 | - project: ['项目1', '项目2', '项目3', '项目4', '项目5', '项目6', '项目7'], | ||
| 56 | - md: [{name:'美导1',time:'08:30-22:00'},{name:'美导2',time:'09:30-18:00'},], | ||
| 57 | - timeList: [], | ||
| 58 | - deltaX: 0, | ||
| 59 | - col_arr:[], | 44 | + write: [0, 0], //定位参数 |
| 45 | + scrolltop: 0,//据顶部距离 | ||
| 46 | + v:{}, | ||
| 47 | + | ||
| 48 | + //project: ['项目1', '项目2', '项目3', '项目4', '项目5', '项目6', '项目7'], | ||
| 49 | + //md: [{name:'美导1',time:'08:30-22:00'},{name:'美导2',time:'09:30-18:00'},], | ||
| 50 | + timeList: [], | ||
| 51 | + deltaX: 0, | ||
| 52 | + col_arr:[], | ||
| 53 | + wp:[], | ||
| 54 | + datet:null, | ||
| 55 | + s_top:0, | ||
| 56 | + | ||
| 57 | + cur_sele_i:-1, | ||
| 58 | + cur_sele_j:-1 | ||
| 59 | + | ||
| 60 | }, | 60 | }, |
| 61 | //控制备注输入 | 61 | //控制备注输入 |
| 62 | check_text: function() { | 62 | check_text: function() { |
| @@ -67,6 +67,7 @@ Page({ | @@ -67,6 +67,7 @@ Page({ | ||
| 67 | beautician: 0 | 67 | beautician: 0 |
| 68 | }) | 68 | }) |
| 69 | }, | 69 | }, |
| 70 | + | ||
| 70 | onclickstore: function() { | 71 | onclickstore: function() { |
| 71 | var th = this; | 72 | var th = this; |
| 72 | var store = th.data.store; | 73 | var store = th.data.store; |
| @@ -85,6 +86,8 @@ Page({ | @@ -85,6 +86,8 @@ Page({ | ||
| 85 | wx.showLoading({ | 86 | wx.showLoading({ |
| 86 | title: '加载中', | 87 | title: '加载中', |
| 87 | }) | 88 | }) |
| 89 | + | ||
| 90 | + //获取门店 | ||
| 88 | th.query_store(); | 91 | th.query_store(); |
| 89 | } | 92 | } |
| 90 | } | 93 | } |
| @@ -96,104 +99,82 @@ Page({ | @@ -96,104 +99,82 @@ Page({ | ||
| 96 | remarks: remarks | 99 | remarks: remarks |
| 97 | }) | 100 | }) |
| 98 | }, | 101 | }, |
| 99 | - //提交成功及发送模版代码 | 102 | + |
| 103 | + | ||
| 104 | + //单个预约的提交成功及发送模版代码 | ||
| 100 | success: function() { | 105 | success: function() { |
| 106 | + var user_id=getApp().globalData.userInfo.user_id; | ||
| 107 | + wx.showLoading({ title: '加载中', }); | ||
| 101 | var th = this; | 108 | var th = this; |
| 102 | var store = th.data.store_name; //门店名称 | 109 | var store = th.data.store_name; //门店名称 |
| 103 | - var bea_name = th.data.beautician_name; //美容师名称 | ||
| 104 | - var time = th.data.time; //预约时间 | ||
| 105 | - var is_sub = th.data.is_sub; //是否重复提交 | ||
| 106 | - var url = th.data.inurl + "/api/weshop/marketing/reservation/reservation/insert"; //接口路径 | ||
| 107 | - var serviceId = th.data.itemId; //服务id | ||
| 108 | - var beauticianID = th.data.beauticianID; //美容师id | ||
| 109 | - var buyType = th.data.buyType; //服务项目类型 | ||
| 110 | - var storeId = a.stoid; //商家id | ||
| 111 | - var storageId = th.data.storageId; //门店id | ||
| 112 | - var userId = th.data.options.userid; //用户id | ||
| 113 | - var remarks = th.data.remarks; //用户备注 | ||
| 114 | - var project_id = th.data.project_id; //项目id | ||
| 115 | - var validay = th.data.validay; | ||
| 116 | - var json = { | ||
| 117 | - "arrangeTime": time + ":00", | ||
| 118 | - "beauticianId": beauticianID, | ||
| 119 | - "buyType": buyType, | ||
| 120 | - "effectiveDay": "", | ||
| 121 | - "number": "", | ||
| 122 | - "projectId": project_id, | ||
| 123 | - "remark": remarks, | ||
| 124 | - "serviceId": serviceId, | ||
| 125 | - "states": 0, | ||
| 126 | - "storageId": storageId, | ||
| 127 | - "storeId": storeId, | ||
| 128 | - "userId": userId, | ||
| 129 | - "validay": validay, | ||
| 130 | - "isxz": 1 | ||
| 131 | - | ||
| 132 | - } | ||
| 133 | - var data = JSON.stringify(json); | 110 | + var datet = th.data.datet; //预约时间 |
| 111 | + //接口路径 | ||
| 112 | + var url = th.data.inurl + "/api/weshop/marketing/reservation/reservation/batchinsert"; | ||
| 113 | + var req_arr={ | ||
| 114 | + "storageId": th.data.storageId, | ||
| 115 | + "storeId": a.stoid, | ||
| 116 | + "userId": user_id, | ||
| 117 | + "remark": '', | ||
| 118 | + "isxz": 1, | ||
| 119 | + "states": 0, | ||
| 120 | + "list":[] | ||
| 121 | + }; | ||
| 122 | + for(var i in this.data.v){ | ||
| 123 | + for(var j in this.data.v[i]){ | ||
| 124 | + var item=this.data.v[i][j]; | ||
| 125 | + var md=this.data.md[i]; | ||
| 126 | + var tn=this.data.timeArr[j]; | ||
| 127 | + var json = { | ||
| 128 | + "arrangeTime":datet+' '+ tn + ":00", | ||
| 129 | + "beauticianId":encodeURIComponent(md.staffid) , | ||
| 130 | + "buyType": item.BuyType, | ||
| 131 | + //"effectiveDay": "", | ||
| 132 | + //"number": "", | ||
| 133 | + "projectId": item.ProjectID, | ||
| 134 | + "serviceId": item.ServiceID, | ||
| 135 | + "validay": item.Validay, | ||
| 136 | + } | ||
| 137 | + req_arr.list.push(json); | ||
| 138 | + } | ||
| 139 | + } | ||
| 140 | + console.log(req_arr); | ||
| 141 | + //return false; | ||
| 142 | + var js_data = JSON.stringify(req_arr); | ||
| 134 | wx.request({ | 143 | wx.request({ |
| 135 | url: url, | 144 | url: url, |
| 136 | - data: json, | 145 | + data: js_data, |
| 137 | method: 'post', | 146 | method: 'post', |
| 138 | header: { | 147 | header: { |
| 139 | 'content-type': 'application/json' | 148 | 'content-type': 'application/json' |
| 140 | }, // 设置请求的 header | 149 | }, // 设置请求的 header |
| 141 | success: function(res) { | 150 | success: function(res) { |
| 142 | - th.setData({ | ||
| 143 | - is_sub: 0 | ||
| 144 | - }) | 151 | + th.setData({ is_sub: 0}) |
| 145 | wx.hideLoading(); | 152 | wx.hideLoading(); |
| 146 | if (res.data.code == 0) { | 153 | if (res.data.code == 0) { |
| 147 | - getApp().my_warnning("预约成功", 1, th); | ||
| 148 | - // var store_name = th.data.store_name; //预约门店 | ||
| 149 | - var number = res.data.data.Number; | ||
| 150 | - // var temp_url = "/api/wx/open/app/user/sendSubscribeMsg"; //模版接口 | ||
| 151 | - //var userinfo = getApp().globalData.userInfo; | ||
| 152 | - //var name = d.userInfo.nickname; | ||
| 153 | - // var json = { | ||
| 154 | - // // "formId": formid, | ||
| 155 | - // "keyWord": [{ | ||
| 156 | - // "keyword": res.data.data.ServiceName | ||
| 157 | - // }, | ||
| 158 | - // { | ||
| 159 | - // "keyword": time.substring(0, 16) | ||
| 160 | - // }, { | ||
| 161 | - // "keyword": res.data.data.BeauticianName | ||
| 162 | - // }, { | ||
| 163 | - // "keyword": res.data.data.StorageName | ||
| 164 | - // }, { | ||
| 165 | - // "keyword": res.data.data.Address | ||
| 166 | - // } | ||
| 167 | - // ], | ||
| 168 | - // "page": "/packageA/pages/my_service/tment_details?number=" + number+"&userid="+th.data.options.userid, | ||
| 169 | - // "storeId": a.stoid, | ||
| 170 | - // "typeId": "1011", | ||
| 171 | - // "userId": th.data.options.userid | ||
| 172 | - // }; | ||
| 173 | - // var data = JSON.stringify(json); | ||
| 174 | - // //调用发送预约成功模版接口 | ||
| 175 | - // wx.request({ | ||
| 176 | - // url: th.data.inurl + temp_url, | ||
| 177 | - // data: data, | ||
| 178 | - // method: 'post', | ||
| 179 | - // header: { | ||
| 180 | - // 'content-type': 'application/json' | ||
| 181 | - // }, // 设置请求的 header | ||
| 182 | - // success: function(data) {} | ||
| 183 | - // }) | ||
| 184 | - | ||
| 185 | - wx.redirectTo({ | ||
| 186 | - url: "/packageA/pages/my_service/tment_details?number=" + number+"&userid="+th.data.options.userid, | ||
| 187 | - }); | ||
| 188 | - | 154 | + getApp().my_warnning("预约成功", 1, th); |
| 155 | + | ||
| 156 | + if(res.data.data.length>1){ | ||
| 157 | + var number = res.data.data[0].Number; | ||
| 158 | + wx.redirectTo({ | ||
| 159 | + url: "/packageA/pages/my_service/tment_order_list?number=" + number+"&userid="+user_id, | ||
| 160 | + }); | ||
| 161 | + | ||
| 162 | + }else{ | ||
| 163 | + var number = res.data.data[0].Number; | ||
| 164 | + wx.redirectTo({ | ||
| 165 | + url: "/packageA/pages/my_service/tment_details?number=" + number+"&userid="+user_id, | ||
| 166 | + }); | ||
| 167 | + } | ||
| 168 | + | ||
| 189 | } else { | 169 | } else { |
| 190 | getApp().my_warnning(res.data.msg, 0, th); | 170 | getApp().my_warnning(res.data.msg, 0, th); |
| 191 | th.settime(); | 171 | th.settime(); |
| 192 | } | 172 | } |
| 193 | } | 173 | } |
| 194 | }) | 174 | }) |
| 195 | - | ||
| 196 | }, | 175 | }, |
| 176 | + | ||
| 177 | + | ||
| 197 | //定时显示texteat | 178 | //定时显示texteat |
| 198 | settime: function() { | 179 | settime: function() { |
| 199 | var th = this; | 180 | var th = this; |
| @@ -203,141 +184,59 @@ Page({ | @@ -203,141 +184,59 @@ Page({ | ||
| 203 | }) | 184 | }) |
| 204 | }, 2000); | 185 | }, 2000); |
| 205 | }, | 186 | }, |
| 206 | - //提交预约 | 187 | + |
| 188 | + | ||
| 189 | + //-- 提交预约 -- | ||
| 207 | sub_success: function(e) { | 190 | sub_success: function(e) { |
| 208 | var th = this; | 191 | var th = this; |
| 209 | - var temp_url = th.data.inurl + "/api/wx/weappSendlist/page"; | 192 | + //和推送消息有关系 |
| 193 | + var temp_url = th.data.inurl + "/api/wx/weappSendlist/page"; | ||
| 210 | var template_id = ""; | 194 | var template_id = ""; |
| 211 | - if (th.data.is_sub == 1) { | ||
| 212 | - return false; | ||
| 213 | - } | ||
| 214 | - var store = th.data.store_name; //门店名称 | ||
| 215 | - var bea_name = th.data.beautician_name; //美容师名称 | ||
| 216 | - var time = th.data.time; //预约时间 | ||
| 217 | - var is_sub = th.data.is_sub; //是否重复提交 | ||
| 218 | - th.setData({ | ||
| 219 | - is_textea: 0, | ||
| 220 | - is_sub: 1 | ||
| 221 | - }) | 195 | + |
| 196 | + //门店名称 | ||
| 197 | + var store = th.data.store_name; | ||
| 222 | //提交预约前的判断 | 198 | //提交预约前的判断 |
| 223 | if (store == "") { | 199 | if (store == "") { |
| 224 | - getApp().my_warnning("请选择服务门店", 0, th); | ||
| 225 | - th.setData({ | ||
| 226 | - is_sub: 0 | ||
| 227 | - }) | ||
| 228 | - th.settime(); | ||
| 229 | - return false; | ||
| 230 | - } else if (bea_name == "") { | ||
| 231 | - getApp().my_warnning("请选择美容师", 0, th); | ||
| 232 | - th.setData({ | ||
| 233 | - is_sub: 0 | ||
| 234 | - }) | ||
| 235 | - th.settime(); | ||
| 236 | - return false; | ||
| 237 | - } else if (time == undefined || time == '') { | ||
| 238 | - getApp().my_warnning("请选择预约时间", 0, th); | ||
| 239 | - th.setData({ | ||
| 240 | - is_sub: 0 | ||
| 241 | - }) | ||
| 242 | - th.settime(); | ||
| 243 | - return false; | ||
| 244 | - } else { | ||
| 245 | - var version =""; | ||
| 246 | - //判断微信版本是否达到预约成功订阅的要求 | ||
| 247 | - wx.getSystemInfo({ | ||
| 248 | - success(res) { | ||
| 249 | - version = res.version; | ||
| 250 | - } | ||
| 251 | - }) | ||
| 252 | - wx.showLoading({ | ||
| 253 | - title: '加载中', | ||
| 254 | - }) | ||
| 255 | - | ||
| 256 | - th.success(); | ||
| 257 | - // if (th.ver(version, '7.0.4') >= 0) { | ||
| 258 | - // //获取模版id | ||
| 259 | - // getApp().request.promiseGet(temp_url, { | ||
| 260 | - // data: { | ||
| 261 | - // store_id: a.stoid, | ||
| 262 | - // typeid: "1011" | ||
| 263 | - // } | ||
| 264 | - // }).then(res => { | ||
| 265 | - // if (res.data.code == 0 && res.data.data.pageData.length > 0) { | ||
| 266 | - // template_id = res.data.data.pageData[0].template_id; | ||
| 267 | - // // //授权订阅 | ||
| 268 | - // wx.requestSubscribeMessage({ | ||
| 269 | - // tmplIds: [template_id], | ||
| 270 | - // success(res) { | ||
| 271 | - // th.success(); | ||
| 272 | - // }, | ||
| 273 | - // fail(res) { | ||
| 274 | - // th.success(); | ||
| 275 | - // } | ||
| 276 | - // }) | ||
| 277 | - // } else { | ||
| 278 | - // th.success(); | ||
| 279 | - // } | ||
| 280 | - // }) | ||
| 281 | - // } else { | ||
| 282 | - // // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示 | ||
| 283 | - // wx.showModal({ | ||
| 284 | - // title: '提示', | ||
| 285 | - // content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。' | ||
| 286 | - // }) | ||
| 287 | - // th.setData({ | ||
| 288 | - // is_sub: 0 | ||
| 289 | - // }) | ||
| 290 | - // } | ||
| 291 | - | ||
| 292 | - } | ||
| 293 | - }, | ||
| 294 | - //版本判断 | ||
| 295 | - ver:function(v1,v2){ | ||
| 296 | - v1 = v1.split('.') | ||
| 297 | - v2 = v2.split('.') | ||
| 298 | - var num1 = "" ; | ||
| 299 | - var num2 = ""; | ||
| 300 | - var len = Math.max(v1.length, v2.length) | ||
| 301 | - | ||
| 302 | - while (v1.length < len) { | ||
| 303 | - v1.push('0') | ||
| 304 | - } | ||
| 305 | - while (v2.length < len) { | ||
| 306 | - v2.push('0') | ||
| 307 | - } | ||
| 308 | - | ||
| 309 | - for (let i = 0; i < len; i++) { | ||
| 310 | - num1 = parseInt(v1[i]) | ||
| 311 | - num2 = parseInt(v2[i]) | ||
| 312 | - | ||
| 313 | - if (num1 > num2) { | ||
| 314 | - return 1 | ||
| 315 | - } else if (num1 < num2) { | ||
| 316 | - return -1 | ||
| 317 | - } | ||
| 318 | - } | ||
| 319 | - return 0 | ||
| 320 | - }, | ||
| 321 | - goto: function(e) { | ||
| 322 | - var th = this; | ||
| 323 | - th.setData({ | ||
| 324 | - beautician: 0, | ||
| 325 | - is_textea: 0 | ||
| 326 | - }) | ||
| 327 | - if (th.data.store_name == "") { | ||
| 328 | - getApp().my_warnning("请选择服务门店", 0, th); | ||
| 329 | - th.settime(); | ||
| 330 | - } else if (th.data.beautician_name == "") { | ||
| 331 | - getApp().my_warnning("请选择美容师", 0, th); | ||
| 332 | - th.settime(); | ||
| 333 | - } else { | ||
| 334 | - th.setData({ | ||
| 335 | - is_textea: 1 | ||
| 336 | - }) | ||
| 337 | - var url = e.currentTarget.dataset.url; | ||
| 338 | - getApp().goto(url); | ||
| 339 | - } | 200 | + getApp().my_warnning("请选择服务门店", 0, th); |
| 201 | + return false; | ||
| 202 | + } | ||
| 203 | + | ||
| 204 | + if(Object.keys(th.data.v).length === 0){ | ||
| 205 | + getApp().my_warnning("请选择美导和预约时间", 0, th); | ||
| 206 | + return false; | ||
| 207 | + } | ||
| 208 | + | ||
| 209 | + if(th.data.is_sub) return false; | ||
| 210 | + th.setData({ is_sub: 1}); | ||
| 211 | + | ||
| 212 | + | ||
| 213 | + //获取模版id | ||
| 214 | + getApp().request.get(temp_url, { | ||
| 215 | + data: { | ||
| 216 | + store_id: a.stoid, | ||
| 217 | + typeid: "1011" | ||
| 218 | + }, | ||
| 219 | + success:function(res){ | ||
| 220 | + if (res.data.code == 0 && res.data.data.pageData.length > 0) { | ||
| 221 | + template_id = res.data.data.pageData[0].template_id; | ||
| 222 | + // //授权订阅 | ||
| 223 | + wx.requestSubscribeMessage({ | ||
| 224 | + tmplIds: [template_id], | ||
| 225 | + success(res) { | ||
| 226 | + th.success(); | ||
| 227 | + }, | ||
| 228 | + fail(res) { | ||
| 229 | + th.success(); | ||
| 230 | + } | ||
| 231 | + }) | ||
| 232 | + } else { | ||
| 233 | + th.success(); | ||
| 234 | + } | ||
| 235 | + } | ||
| 236 | + }) | ||
| 237 | + | ||
| 340 | }, | 238 | }, |
| 239 | + | ||
| 341 | //点击选择门店 | 240 | //点击选择门店 |
| 342 | choose_for_store: function(e) { | 241 | choose_for_store: function(e) { |
| 343 | var th = this; | 242 | var th = this; |
| @@ -355,6 +254,7 @@ Page({ | @@ -355,6 +254,7 @@ Page({ | ||
| 355 | }) | 254 | }) |
| 356 | } | 255 | } |
| 357 | }, | 256 | }, |
| 257 | + | ||
| 358 | //确认选择门店 | 258 | //确认选择门店 |
| 359 | choice_store: function() { | 259 | choice_store: function() { |
| 360 | var th = this; | 260 | var th = this; |
| @@ -367,8 +267,51 @@ Page({ | @@ -367,8 +267,51 @@ Page({ | ||
| 367 | storageId: Id, | 267 | storageId: Id, |
| 368 | is_textea: 1 | 268 | is_textea: 1 |
| 369 | }) | 269 | }) |
| 270 | + | ||
| 271 | + th.get_project_guide(); | ||
| 272 | + | ||
| 370 | }, | 273 | }, |
| 371 | - onReachBottom: function() { | 274 | + |
| 275 | + //获取美导和项目 | ||
| 276 | + get_project_guide(){ | ||
| 277 | + var th=this,user=getApp().globalData.userInfo; | ||
| 278 | + var req={ | ||
| 279 | + storeId:os.stoid, | ||
| 280 | + userId:user.user_id, | ||
| 281 | + StorageId:encodeURIComponent(this.data.storageId), | ||
| 282 | + } | ||
| 283 | + getApp().request.get("/api/weshop/marketing/reservation/sm/pageNew",{ | ||
| 284 | + data:req, | ||
| 285 | + success:function(res){ | ||
| 286 | + if(ut.ajax_ok(res)){ | ||
| 287 | + th.setData({project:res.data.data.pageData}) | ||
| 288 | + } | ||
| 289 | + } | ||
| 290 | + }) | ||
| 291 | + | ||
| 292 | + req.SeekTime=this.data.datet; | ||
| 293 | + getApp().request.get("/api/weshop/marketing/reservation/listStaffAndTime",{ | ||
| 294 | + data:req, | ||
| 295 | + success:function(res){ | ||
| 296 | + if(ut.ajax_ok2(res)){ | ||
| 297 | + th.setData({v:{},col_arr:[]}) | ||
| 298 | + //-- 有些时间是全部没有的 -- | ||
| 299 | + th.setTimeShow(res.data.data) | ||
| 300 | + }else{ | ||
| 301 | + th.setData({md:[]}); | ||
| 302 | + } | ||
| 303 | + } | ||
| 304 | + }) | ||
| 305 | + | ||
| 306 | + //获取第一个元素的位置 | ||
| 307 | + setTimeout(function(){ | ||
| 308 | + th.queryMultipleNodes(); | ||
| 309 | + },1000) | ||
| 310 | + | ||
| 311 | + }, | ||
| 312 | + | ||
| 313 | + | ||
| 314 | + onGetBottom: function() { | ||
| 372 | var th = this; | 315 | var th = this; |
| 373 | if (this.data.total <= th.data.pageSize) return; | 316 | if (this.data.total <= th.data.pageSize) return; |
| 374 | if (this.data.ismore) return; | 317 | if (this.data.ismore) return; |
| @@ -378,6 +321,7 @@ Page({ | @@ -378,6 +321,7 @@ Page({ | ||
| 378 | }) | 321 | }) |
| 379 | th.query_store(); | 322 | th.query_store(); |
| 380 | }, | 323 | }, |
| 324 | + | ||
| 381 | //分页查询门店信息 | 325 | //分页查询门店信息 |
| 382 | query_store: function() { | 326 | query_store: function() { |
| 383 | var th = this; | 327 | var th = this; |
| @@ -385,14 +329,13 @@ Page({ | @@ -385,14 +329,13 @@ Page({ | ||
| 385 | is_textea: 0 | 329 | is_textea: 0 |
| 386 | }) | 330 | }) |
| 387 | var itemId = th.data.itemId; //服务id | 331 | var itemId = th.data.itemId; //服务id |
| 388 | - var url = "/api/weshop/marketing/reservation/storage/pagenew"; | 332 | + var url = "/api/weshop/marketing/reservation/service/storage/page"; |
| 389 | var key_word = th.data.key_word; | 333 | var key_word = th.data.key_word; |
| 390 | key_word = key_word.replace(/\s+/g, ""); | 334 | key_word = key_word.replace(/\s+/g, ""); |
| 391 | getApp().request.promiseGet(url, { | 335 | getApp().request.promiseGet(url, { |
| 392 | data: { | 336 | data: { |
| 393 | - userId: th.data.options.userid, | 337 | + userId: getApp().globalData.user_id, |
| 394 | storeId: a.stoid, | 338 | storeId: a.stoid, |
| 395 | - serviceId: itemId, | ||
| 396 | latitude: th.data.lat, | 339 | latitude: th.data.lat, |
| 397 | longitude: th.data.lon, | 340 | longitude: th.data.lon, |
| 398 | page: th.data.curpage, | 341 | page: th.data.curpage, |
| @@ -401,7 +344,7 @@ Page({ | @@ -401,7 +344,7 @@ Page({ | ||
| 401 | } | 344 | } |
| 402 | }).then(res => { | 345 | }).then(res => { |
| 403 | wx.hideLoading(); | 346 | wx.hideLoading(); |
| 404 | - if (res.data.code == 0) { | 347 | + if (res.data.code == 0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0) { |
| 405 | th.data.curpage++; | 348 | th.data.curpage++; |
| 406 | var arr1 = th.data.store_list; | 349 | var arr1 = th.data.store_list; |
| 407 | var arr2 = res.data.data.pageData; | 350 | var arr2 = res.data.data.pageData; |
| @@ -534,8 +477,9 @@ Page({ | @@ -534,8 +477,9 @@ Page({ | ||
| 534 | th.setData({ | 477 | th.setData({ |
| 535 | is_textea: 1 | 478 | is_textea: 1 |
| 536 | }) | 479 | }) |
| 537 | - console.log('optionsxxx===>', this.data.options); | ||
| 538 | - // console.log('1-->', "/pages/user/my_service/cosmetology_list?userid=" + th.data.options.userid + 'storageId=' + storageId + '&' + 'itemId=' + itemId + '&' + "projectId=" + project_id); | 480 | + |
| 481 | + console.log('optionsxxx===>', this.data.options); | ||
| 482 | + // console.log('1-->', "/pages/user/my_service/cosmetology_list?userid=" + th.data.options.userid + 'storageId=' + storageId + '&' + 'itemId=' + itemId + '&' + "projectId=" + project_id); | ||
| 539 | wx.navigateTo({ | 483 | wx.navigateTo({ |
| 540 | url: "/packageA/pages/my_service/cosmetology_list?userid=" + this.data.options.userid + '&storageId=' + storageId + '&itemId=' + itemId + "&projectId=" + project_id | 484 | url: "/packageA/pages/my_service/cosmetology_list?userid=" + this.data.options.userid + '&storageId=' + storageId + '&itemId=' + itemId + "&projectId=" + project_id |
| 541 | }); | 485 | }); |
| @@ -546,15 +490,30 @@ Page({ | @@ -546,15 +490,30 @@ Page({ | ||
| 546 | * 生命周期函数--监听页面加载 | 490 | * 生命周期函数--监听页面加载 |
| 547 | */ | 491 | */ |
| 548 | onLoad: function(options) { | 492 | onLoad: function(options) { |
| 493 | + | ||
| 494 | + | ||
| 495 | + // 如果数值位数为1,则补0 | ||
| 496 | + function appendZero(obj) { | ||
| 497 | + if (obj < 10) { | ||
| 498 | + return "0" + "" + obj; | ||
| 499 | + } else { | ||
| 500 | + return obj; | ||
| 501 | + } | ||
| 502 | + }; | ||
| 549 | 503 | ||
| 550 | this.getTimeList(23, 30); | 504 | this.getTimeList(23, 30); |
| 551 | var th = this; | 505 | var th = this; |
| 506 | + var now_date = new Date(); | ||
| 507 | + var md = now_date.getFullYear()+"-"+appendZero(now_date.getMonth() + 1) + "-" + appendZero(now_date.getDate()); | ||
| 508 | + | ||
| 552 | th.setData({ | 509 | th.setData({ |
| 553 | - options, | 510 | + options, |
| 554 | itemId: options.service_id, | 511 | itemId: options.service_id, |
| 555 | buyType: options.BuyType, | 512 | buyType: options.BuyType, |
| 556 | project_id: options.ProjectID, | 513 | project_id: options.ProjectID, |
| 557 | - validay: options.Validay | 514 | + validay: options.Validay, |
| 515 | + datet:md, | ||
| 516 | + nowDate:md | ||
| 558 | }); | 517 | }); |
| 559 | wx.getLocation({ | 518 | wx.getLocation({ |
| 560 | type: 'gcj02', | 519 | type: 'gcj02', |
| @@ -584,87 +543,30 @@ Page({ | @@ -584,87 +543,30 @@ Page({ | ||
| 584 | th.data.is_get_local_ok = 1; | 543 | th.data.is_get_local_ok = 1; |
| 585 | } | 544 | } |
| 586 | }); | 545 | }); |
| 587 | - | ||
| 588 | - // 获取当前默认导购信息及归属门店信息 | ||
| 589 | - if(options.firstleader) { | ||
| 590 | - getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+a.stoid+"/"+options.firstleader,{}).then(res=>{ | ||
| 591 | - if(res.data.code==0){ | ||
| 592 | - getApp().globalData.guide_id=res.data.data.id; | ||
| 593 | - | ||
| 594 | - getApp().request.promiseGet('/api/weshop/shoppingGuide/geIdStaffInfo', { | ||
| 595 | - data: { | ||
| 596 | - store_id: a.stoid, | ||
| 597 | - guide_id: e.globalData.guide_id, | ||
| 598 | - UserCode: th.data.options.usercode, | ||
| 599 | - } | ||
| 600 | - }).then(res => { | ||
| 601 | - console.log('res==>', a.stoid, e.globalData.guide_id, th.data.options.usercode); | ||
| 602 | - if(res.data.data.Tech) { | ||
| 603 | - | ||
| 604 | - var data={ | ||
| 605 | - store_name: res.data.data.StorageName, | ||
| 606 | - beautician_name: res.data.data.StaffName, | ||
| 607 | - beauticianID: res.data.data.StaffId, | ||
| 608 | - StorageId: res.data.data.StorageId, | ||
| 609 | - } | ||
| 610 | - th.check_firleader(data); | ||
| 611 | - } | ||
| 612 | - }); | ||
| 613 | - | ||
| 614 | - | ||
| 615 | - }; | ||
| 616 | - }); | ||
| 617 | - }; | ||
| 618 | - | ||
| 619 | - | 546 | + |
| 547 | + //--先判断会员状态-- | ||
| 548 | + var user_info = getApp().globalData.userInfo; | ||
| 549 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
| 550 | + wx.navigateTo({ | ||
| 551 | + url: '/pages/togoin/togoin', | ||
| 552 | + }) | ||
| 553 | + return false; | ||
| 554 | + } | ||
| 620 | }, | 555 | }, |
| 621 | - //查询剩下可预约人数 | ||
| 622 | - query_more: function() { | ||
| 623 | - var th = this; | ||
| 624 | - var url = "/api/weshop/marketing/reservation/can/reservation/countnew"; | ||
| 625 | - var beauticianID = th.data.beauticianID; //美容师id | ||
| 626 | - var projectID = th.data.itemId; //服务id | ||
| 627 | - var seekTime = th.data.time; //预约日期 | ||
| 628 | - var storageId = th.data.storageId; //门店id | ||
| 629 | - var storeId = a.stoid; //商家id | ||
| 630 | - getApp().request.promiseGet(url, { | ||
| 631 | - data: { | ||
| 632 | - beauticianId: beauticianID, | ||
| 633 | - seekTime: seekTime, | ||
| 634 | - serviceId: projectID, | ||
| 635 | - storageId: storageId, | ||
| 636 | - storeId: storeId | ||
| 637 | - } | ||
| 638 | - }).then(res => { | ||
| 639 | - if (res.data.code == 0) { | ||
| 640 | - var tment_count = res.data.data.CanReservation; | ||
| 641 | - th.setData({ | ||
| 642 | - tment_count: tment_count | ||
| 643 | - }) | ||
| 644 | - } else { | ||
| 645 | - getApp().my_warnning(res.data.msg, 0, th); | ||
| 646 | - th.settime(); | ||
| 647 | - } | ||
| 648 | - }) | 556 | + |
| 649 | 557 | ||
| 650 | - }, | ||
| 651 | /** | 558 | /** |
| 652 | * 生命周期函数--监听页面显示 | 559 | * 生命周期函数--监听页面显示 |
| 653 | */ | 560 | */ |
| 654 | onShow: function() { | 561 | onShow: function() { |
| 655 | var th = this; | 562 | var th = this; |
| 656 | - var seekTime = th.data.time; //预约日期 | ||
| 657 | - if (seekTime != "") { | ||
| 658 | - th.query_more(); | ||
| 659 | - } | ||
| 660 | th.setData({ | 563 | th.setData({ |
| 661 | - time: th.data.time.substring(0, 16), | ||
| 662 | is_textea: 1 | 564 | is_textea: 1 |
| 663 | }) | 565 | }) |
| 664 | - th.query_project(); | ||
| 665 | - | ||
| 666 | - th.queryMultipleNodes(); | 566 | + |
| 667 | }, | 567 | }, |
| 568 | + | ||
| 569 | + | ||
| 668 | //获取单个服务项目信息 | 570 | //获取单个服务项目信息 |
| 669 | query_project: function() { | 571 | query_project: function() { |
| 670 | var th = this; | 572 | var th = this; |
| @@ -687,81 +589,17 @@ Page({ | @@ -687,81 +589,17 @@ Page({ | ||
| 687 | } | 589 | } |
| 688 | }) | 590 | }) |
| 689 | }, | 591 | }, |
| 690 | - //关闭导航 | ||
| 691 | - // close: function() { | ||
| 692 | - // var th = this; | ||
| 693 | - // var nav_b = th.selectComponent("#nav_b"); //组件的id | ||
| 694 | - // nav_b.close_box(); | ||
| 695 | - // } | ||
| 696 | - | ||
| 697 | - //判断分享的导购是不是有门店,是不是该门店下又该会员 | ||
| 698 | - check_firleader(data){ | ||
| 699 | - var th=this; | ||
| 700 | - var itemId = this.data.itemId; //服务id | ||
| 701 | - var url = "/api/weshop/marketing/reservation/storage/pagenew"; | ||
| 702 | - var key_word = data.store_name; | ||
| 703 | - key_word = key_word.replace(/\s+/g, ""); | ||
| 704 | - getApp().request.promiseGet(url, { | ||
| 705 | - data: { | ||
| 706 | - userId: th.data.options.userid, | ||
| 707 | - storeId: os.stoid, | ||
| 708 | - serviceId: itemId, | ||
| 709 | - latitude: th.data.lat, | ||
| 710 | - longitude: th.data.lon, | ||
| 711 | - page: 1, | ||
| 712 | - pageSize: 1000, | ||
| 713 | - keyWord: key_word | ||
| 714 | - } | ||
| 715 | - }).then(res => { | ||
| 716 | - //-- 如果是门店的话 -- | ||
| 717 | - if (res.data.code == 0 && res.data.data && res.data.data.pageData) { | ||
| 718 | - var store_data=null; | ||
| 719 | - for(var i in res.data.data.pageData){ | ||
| 720 | - var it=res.data.data.pageData[i]; | ||
| 721 | - if(it.Id==data.StorageId){ | ||
| 722 | - store_data={ | ||
| 723 | - store_name: data.store_name, | ||
| 724 | - StorageId: data.StorageId, | ||
| 725 | - }; | ||
| 726 | - break; | ||
| 727 | - } | ||
| 728 | - } | ||
| 729 | - if(!store_data) return false; | ||
| 730 | - th.setData(store_data) | ||
| 731 | - | ||
| 732 | - }else{ | ||
| 733 | - return false; | ||
| 734 | - } | ||
| 735 | - | ||
| 736 | - //导购接口地址 | ||
| 737 | - var url = "/api/weshop/marketing/reservation/staff/pagenew"; | ||
| 738 | - return getApp().request.promiseGet(url, { | ||
| 739 | - isShowLoading:1, | ||
| 740 | - data: { | ||
| 741 | - storeId: os.stoid, | ||
| 742 | - userId: th.data.options.userid, | ||
| 743 | - serviceId: itemId, | ||
| 744 | - storageId: data.StorageId | ||
| 745 | - } | ||
| 746 | - }) | ||
| 747 | - }).then(res=>{ | ||
| 748 | - if (res && res.data && res.data.code == 0) { | ||
| 749 | - var beautician_list=res.data.data; | ||
| 750 | - for(var i in beautician_list){ | ||
| 751 | - var item=beautician_list[i]; | ||
| 752 | - if(item.staffid==data.beauticianID){ | ||
| 753 | - th.setData({ | ||
| 754 | - beautician_name:data.beautician_name, | ||
| 755 | - beauticianID:data.beauticianID, | ||
| 756 | - }) | ||
| 757 | - break; | ||
| 758 | - } | ||
| 759 | - } | ||
| 760 | - | ||
| 761 | - } | ||
| 762 | - }) | ||
| 763 | - }, | 592 | + |
| 764 | 593 | ||
| 594 | + | ||
| 595 | + //开始拖拽项目列表 | ||
| 596 | + touchmove1: function (e) { | ||
| 597 | + var that = this; | ||
| 598 | + var position = [e.touches[0].pageX-15, e.touches[0].pageY-that.data.s_top]; | ||
| 599 | + that.setData({ | ||
| 600 | + wp: position | ||
| 601 | + }); | ||
| 602 | + }, | ||
| 765 | 603 | ||
| 766 | //开始拖拽 | 604 | //开始拖拽 |
| 767 | touchmove: function (e) { | 605 | touchmove: function (e) { |
| @@ -772,59 +610,233 @@ Page({ | @@ -772,59 +610,233 @@ Page({ | ||
| 772 | write: position | 610 | write: position |
| 773 | }); | 611 | }); |
| 774 | }, | 612 | }, |
| 775 | - touchend:function(e){ | ||
| 776 | - var that = this,th=that; | ||
| 777 | - if(!that.data.copy_btn) return false; | ||
| 778 | - var position =th.data.write; | ||
| 779 | - var arr=th.data.col_arr; | ||
| 780 | - for(var i=0;i<this.data.md.length;i++){//i是列 | ||
| 781 | - var item=this.data.md[i]; | ||
| 782 | - var nd=new Date(); | ||
| 783 | - var d_str=nd.getFullYear()+"-"+(nd.getMonth()+1)+"-"+nd.getDate()+" "; | ||
| 784 | - var d_arr=item.time.split("-"); | ||
| 785 | - var t1=new Date(d_str+d_arr[0]) | ||
| 786 | - var t2=d_arr.length>1?new Date(d_str+d_arr[1]):0; | ||
| 787 | - | ||
| 788 | - for(var j=0; j<this.data.timeArr.length;j++){//j是行 | ||
| 789 | - if(arr.indexOf(j)!=-1) continue; | ||
| 790 | - var tn=new Date(d_str+this.data.timeArr[j]); | ||
| 791 | - //小于开始时间 | ||
| 792 | - if(tn<t1) continue; | ||
| 793 | - //大于结束时间 | ||
| 794 | - if(tn>t2 && t2>0) continue; | ||
| 795 | - //如果坐标在网格内 | ||
| 796 | - if( position[0]>th.data.f_x+i*th.data.f_width && position[0]<th.data.f_x+ (i+1)*th.data.f_width && | ||
| 797 | - position[1]>th.data.f_y +j*th.data.f_hei && position[1]<th.data.f_y+(j+1)*th.data.f_hei){ | ||
| 798 | - | ||
| 799 | - var txt="v["+i+"]["+j+"]"; | 613 | + |
| 614 | + //-- 点击空格选择 -- | ||
| 615 | + sele_tab:function(e){ | ||
| 616 | + if(!this.data.sele_project){ | ||
| 617 | + wx.showToast({ | ||
| 618 | + title: "请选择要预约的项目", | ||
| 619 | + icon: 'none', | ||
| 620 | + duration: 2000 | ||
| 621 | + }) | ||
| 622 | + return false; | ||
| 623 | + } | ||
| 624 | + | ||
| 625 | + var th=this; | ||
| 626 | + var arr=this.data.col_arr; | ||
| 627 | + var i=e.currentTarget.dataset.index; | ||
| 628 | + var j=e.currentTarget.dataset.subindex; | ||
| 629 | + | ||
| 630 | + var item=this.data.md[i]; //获得美导 | ||
| 631 | + var tn=this.data.timeArr[j]; //获得时间 | ||
| 632 | + | ||
| 633 | + //查看时间段能不能预约 | ||
| 634 | + if(!item.listtime[j].iskyy){ | ||
| 635 | + wx.showToast({ | ||
| 636 | + title: "该时间不可以预约", | ||
| 637 | + icon: 'none', | ||
| 638 | + duration: 2000 | ||
| 639 | + }) | ||
| 640 | + return false; | ||
| 641 | + } | ||
| 642 | + //查看时间有没有被预约了 | ||
| 643 | + if(this.data.v && this.data.v[i] && this.data.v[i][j]){ | ||
| 644 | + wx.showToast({ | ||
| 645 | + title: "该时间已被预约", | ||
| 646 | + icon: 'none', | ||
| 647 | + duration: 2000 | ||
| 648 | + }) | ||
| 649 | + return false; | ||
| 650 | + } | ||
| 651 | + | ||
| 652 | + if(!item.listtime[j].itemids){ | ||
| 653 | + wx.showToast({ | ||
| 654 | + title: "该时间不可预约该项目", | ||
| 655 | + icon: 'none', | ||
| 656 | + duration: 1500 | ||
| 657 | + }) | ||
| 658 | + return false; | ||
| 659 | + } | ||
| 660 | + | ||
| 661 | + var project_arr=item.listtime[j].itemids.split(','); | ||
| 662 | + | ||
| 663 | + if(project_arr.indexOf(this.data.sele_project.ServiceID)==-1){ | ||
| 664 | + wx.showToast({ | ||
| 665 | + title: "该时间不可预约该项目", | ||
| 666 | + icon: 'none', | ||
| 667 | + duration: 1500 | ||
| 668 | + }) | ||
| 669 | + return false; | ||
| 670 | + } | ||
| 671 | + | ||
| 672 | + //同一美导同一项目,能选择两次,只要时间段不重复 | ||
| 673 | + if(this.data.v[i] && Object.keys(this.data.v[i]).length){ | ||
| 674 | + for(var sj in this.data.v[i]){ | ||
| 675 | + if(this.data.v[i][sj] && this.data.v[i][sj].ProjectID==this.data.sele_project.ProjectID){ | ||
| 676 | + th.checK_is_can_yy(item,tn,function(res){ | ||
| 677 | + if(res){ | ||
| 678 | + if(res>1){ | ||
| 679 | + wx.showToast({ | ||
| 680 | + title: '当前项目预约次数已超出项目剩余数,请先修改', icon: 'none', duration: 2000 | ||
| 681 | + }); | ||
| 682 | + return false; | ||
| 683 | + } | ||
| 684 | + wx.showModal({ | ||
| 685 | + title: "当前项目已有预约是否修改?", | ||
| 686 | + success: function (res) { | ||
| 687 | + if(res.confirm){ | ||
| 688 | + delete th.data.v[i][sj]; | ||
| 689 | + if(!th.data.v[i]) | ||
| 690 | + th.data.v[i]={} | ||
| 691 | + th.data.v[i][j]=th.data.sele_project; | ||
| 692 | + var ind=arr.indexOf(sj); | ||
| 693 | + arr.splice(ind, 1); | ||
| 694 | + arr.push(j); | ||
| 695 | + th.setData({ | ||
| 696 | + v: th.data.v,col_arr:arr | ||
| 697 | + }); | ||
| 698 | + | ||
| 699 | + } | ||
| 700 | + } | ||
| 701 | + }) | ||
| 702 | + return false; | ||
| 703 | + }else{ | ||
| 704 | + var txt="v["+i+"]["+j+"]"; | ||
| 800 | arr.push(j); | 705 | arr.push(j); |
| 801 | th.setData({ | 706 | th.setData({ |
| 802 | - [txt]: th.data.projectName, | 707 | + [txt]: th.data.sele_project, |
| 803 | col_arr:arr | 708 | col_arr:arr |
| 804 | - }); | ||
| 805 | - break; | ||
| 806 | - } | 709 | + }); |
| 710 | + return false; | ||
| 711 | + } | ||
| 712 | + }) | ||
| 713 | + | ||
| 714 | + } | ||
| 715 | + } | ||
| 716 | + | ||
| 717 | + } | ||
| 718 | + | ||
| 719 | + th.checK_is_can_yy(item,tn,function(res){ | ||
| 720 | + if(res){ | ||
| 721 | + if(res>1){ | ||
| 722 | + wx.showToast({ | ||
| 723 | + title: '当前项目预约次数已超出项目剩余数,请先修改', icon: 'none', duration: 2000 | ||
| 724 | + }); | ||
| 725 | + return false; | ||
| 726 | + } | ||
| 727 | + | ||
| 728 | + wx.showModal({ | ||
| 729 | + title: "当前项目已有预约是否修改?", | ||
| 730 | + success: function (res) { | ||
| 731 | + if(res.confirm){ | ||
| 732 | + | ||
| 733 | + var ii=th.data.cur_sele_i; | ||
| 734 | + var jj=th.data.cur_sele_j; | ||
| 735 | + delete th.data.v[ii][jj]; | ||
| 736 | + if(!th.data.v[i]) | ||
| 737 | + th.data.v[i]={} | ||
| 738 | + th.data.v[i][j]=th.data.sele_project; | ||
| 739 | + var ind=arr.indexOf(jj); | ||
| 740 | + arr.splice(ind, 1); | ||
| 741 | + arr.push(j); | ||
| 742 | + th.setData({ | ||
| 743 | + v: th.data.v,col_arr:arr | ||
| 744 | + }); | ||
| 745 | + } | ||
| 746 | + } | ||
| 747 | + }) | ||
| 748 | + | ||
| 749 | + }else{ | ||
| 750 | + var txt="v["+i+"]["+j+"]"; | ||
| 751 | + arr.push(j); | ||
| 752 | + th.setData({ | ||
| 753 | + [txt]: th.data.sele_project, | ||
| 754 | + col_arr:arr | ||
| 755 | + }); | ||
| 756 | + } | ||
| 757 | + | ||
| 807 | 758 | ||
| 808 | - } | ||
| 809 | - } | ||
| 810 | - th.setData({copy_btn:0}) | 759 | + |
| 760 | + }); | ||
| 811 | }, | 761 | }, |
| 812 | 762 | ||
| 813 | 763 | ||
| 764 | + | ||
| 765 | + | ||
| 766 | + | ||
| 767 | + //删除响应的预约 | ||
| 814 | close_this:function (e){ | 768 | close_this:function (e){ |
| 815 | var txt=e.currentTarget.dataset.txt; | 769 | var txt=e.currentTarget.dataset.txt; |
| 816 | var sindex=parseInt(e.currentTarget.dataset.sindex); | 770 | var sindex=parseInt(e.currentTarget.dataset.sindex); |
| 817 | - var arr=this.data.col_arr; | ||
| 818 | - var ind=arr.indexOf(sindex); | 771 | + var arr=this.data.col_arr; |
| 772 | + var ind=arr.indexOf(sindex); | ||
| 819 | arr.splice(ind,1) | 773 | arr.splice(ind,1) |
| 820 | this.setData({[txt]:null,col_arr:arr}) | 774 | this.setData({[txt]:null,col_arr:arr}) |
| 821 | }, | 775 | }, |
| 822 | 776 | ||
| 823 | - onPageScroll(e) { | ||
| 824 | - // console.log('滚动距离', e); | ||
| 825 | - this.data.scrolltop = e.scrollTop; | ||
| 826 | - }, | 777 | + //计算滚蛋的距离 |
| 778 | + onPageScroll(e) { this.data.scrolltop = e.scrollTop;}, | ||
| 779 | + | ||
| 780 | + //确认有没有预约 | ||
| 781 | + checK_is_can_yy(item, tn, back) { | ||
| 782 | + var th = this; | ||
| 783 | + var req = { | ||
| 784 | + beauticianId: encodeURIComponent(item.staffid), | ||
| 785 | + seekTime: this.data.datet + " " + tn + ":00", | ||
| 786 | + serviceId: encodeURIComponent(this.data.sele_project.ServiceID), | ||
| 787 | + storageId: encodeURIComponent(this.data.storageId), | ||
| 788 | + storeId: os.stoid | ||
| 789 | + } | ||
| 790 | + getApp().request.get("/api/weshop/marketing/reservation/can/reservation/countnew", { | ||
| 791 | + data: req, | ||
| 792 | + success: function (res) { | ||
| 793 | + th.setData({ copy_btn: 0 }); | ||
| 794 | + if (res.data.code == 0) { | ||
| 795 | + if (!res.data.data.CanReservation && parseInt(res.data.data.canReservation) <= 0) { | ||
| 796 | + wx.showToast({ | ||
| 797 | + title: '该项目不可以预约', icon: 'none', duration: 2000 | ||
| 798 | + }); | ||
| 799 | + return false; | ||
| 800 | + } | ||
| 801 | + | ||
| 802 | + if (!th.data.v) { back(); return false; } | ||
| 803 | + | ||
| 804 | + var arr = Object.keys(th.data.v); | ||
| 805 | + if (arr.length == 0) { back(); return false; } | ||
| 806 | + | ||
| 807 | + var num = 0; | ||
| 808 | + var sele_arr=[]; | ||
| 809 | + for (var i in th.data.v) { | ||
| 810 | + if (!th.data.v[i]) continue; | ||
| 811 | + for (var j in th.data.v[i]) { | ||
| 812 | + if (th.data.v[i][j] && th.data.v[i][j].ServiceID == th.data.sele_project.ServiceID) { | ||
| 813 | + num++; | ||
| 814 | + th.data.cur_sele_i=i; | ||
| 815 | + th.data.cur_sele_j=j; | ||
| 816 | + } | ||
| 817 | + } | ||
| 818 | + } | ||
| 819 | + | ||
| 820 | + if (!num) { back(); return false; } | ||
| 827 | 821 | ||
| 822 | + //如果已经超出次数的时候,就不能预约了 | ||
| 823 | + if (num >= parseInt(res.data.data.CanReservation)) { | ||
| 824 | + | ||
| 825 | + back(num); | ||
| 826 | + return false; | ||
| 827 | + } | ||
| 828 | + back(); | ||
| 829 | + | ||
| 830 | + } else { | ||
| 831 | + wx.showToast({ | ||
| 832 | + title: res.data.msg, | ||
| 833 | + icon: 'none', | ||
| 834 | + duration: 2000 | ||
| 835 | + }) | ||
| 836 | + } | ||
| 837 | + } | ||
| 838 | + }) | ||
| 839 | + }, | ||
| 828 | 840 | ||
| 829 | //声明节点查询的方法 | 841 | //声明节点查询的方法 |
| 830 | queryMultipleNodes: function() { | 842 | queryMultipleNodes: function() { |
| @@ -833,16 +845,24 @@ Page({ | @@ -833,16 +845,24 @@ Page({ | ||
| 833 | query.select('.content_view').boundingClientRect() // 这段代码的意思是选择Id=productServe的节点,获取节点位置信息的查询请求 | 845 | query.select('.content_view').boundingClientRect() // 这段代码的意思是选择Id=productServe的节点,获取节点位置信息的查询请求 |
| 834 | query.selectViewport().scrollOffset() // 这段代码的意思是获取页面滑动位置的查询请求 | 846 | query.selectViewport().scrollOffset() // 这段代码的意思是获取页面滑动位置的查询请求 |
| 835 | query.exec(res => { | 847 | query.exec(res => { |
| 848 | + if(!res || res.length==0) return false; | ||
| 849 | + if(!res[0]) return false; | ||
| 850 | + | ||
| 836 | console.log(res); | 851 | console.log(res); |
| 837 | th.data.f_x=res[0].left; | 852 | th.data.f_x=res[0].left; |
| 838 | th.data.f_y=res[0].top; | 853 | th.data.f_y=res[0].top; |
| 839 | th.data.f_hei=res[0].height; | 854 | th.data.f_hei=res[0].height; |
| 840 | th.data.f_width=res[0].width; | 855 | th.data.f_width=res[0].width; |
| 841 | - | ||
| 842 | }) | 856 | }) |
| 857 | + | ||
| 843 | }, | 858 | }, |
| 844 | 859 | ||
| 860 | + /*-- | ||
| 845 | getcopy(e) { | 861 | getcopy(e) { |
| 862 | + | ||
| 863 | + },--*/ | ||
| 864 | + //项目元素点击后的效果 | ||
| 865 | + getName(e) { | ||
| 846 | var that=this; | 866 | var that=this; |
| 847 | console.log('e', e); | 867 | console.log('e', e); |
| 848 | var x=e.currentTarget.dataset.offsetLeft; | 868 | var x=e.currentTarget.dataset.offsetLeft; |
| @@ -850,52 +870,74 @@ Page({ | @@ -850,52 +870,74 @@ Page({ | ||
| 850 | var position = [x, y]; | 870 | var position = [x, y]; |
| 851 | that.setData({ | 871 | that.setData({ |
| 852 | write: position,copy_btn:1 | 872 | write: position,copy_btn:1 |
| 853 | - }); | ||
| 854 | - | ||
| 855 | - }, | ||
| 856 | - | ||
| 857 | - getName(e) { | ||
| 858 | - // console.log('e1', e); | ||
| 859 | - let name = e.currentTarget.dataset.name; | 873 | + }); |
| 874 | + // console.log('e1', e); | ||
| 875 | + let index = e.currentTarget.dataset.index; | ||
| 876 | + let name = this.data.project[index]; | ||
| 877 | + | ||
| 878 | + | ||
| 860 | this.setData({ | 879 | this.setData({ |
| 861 | - projectName: name, | 880 | + sele_project: name,prj_index:index |
| 862 | }); | 881 | }); |
| 882 | + | ||
| 883 | + }, | ||
| 884 | + | ||
| 885 | + //-- 项目列表长按 -- | ||
| 886 | + setmove1(){ | ||
| 887 | + this.setData({move1:1}); | ||
| 863 | }, | 888 | }, |
| 864 | 889 | ||
| 865 | - | ||
| 866 | - // 生成时间段 | ||
| 867 | - getTimeList(hours,step) { | ||
| 868 | - var minutes=60; | 890 | + //-- 生成时间段 -- |
| 891 | + getTimeList(hours,step) { | ||
| 892 | + var minutes=60; | ||
| 869 | var timeArr = []; | 893 | var timeArr = []; |
| 870 | hours = hours; | 894 | hours = hours; |
| 871 | step = step; | 895 | step = step; |
| 896 | + | ||
| 897 | + // 如果数值位数为1,则补0 | ||
| 898 | + function appendZero(obj) { | ||
| 899 | + if (obj < 10) { | ||
| 900 | + return "0" + "" + obj; | ||
| 901 | + } else { | ||
| 902 | + return obj; | ||
| 903 | + } | ||
| 904 | + }; | ||
| 905 | + | ||
| 906 | + var now_date=new Date(); | ||
| 907 | + var md = now_date.getFullYear()+"-"+appendZero(now_date.getMonth() + 1) + "-" + appendZero(now_date.getDate()); | ||
| 872 | 908 | ||
| 873 | - for(var i = 8; i < hours; i++){ | ||
| 874 | - var str = ''; | ||
| 875 | - if(i < 10) { | ||
| 876 | - str = 0 + '' + i; | ||
| 877 | - } else { | ||
| 878 | - str = '' + i; | ||
| 879 | - }; | ||
| 880 | - | ||
| 881 | - for(var j = 0; j < minutes; j++) { | ||
| 882 | - if(j % step == 0){ | ||
| 883 | - var s = j < 10 ? ':' + 0 + '' + j : ':' + j; | ||
| 884 | - s = str + s; | ||
| 885 | - timeArr.push(s); | ||
| 886 | - }; | ||
| 887 | - }; | ||
| 888 | - }; | ||
| 889 | - | ||
| 890 | - // console.log('timeArr', timeArr); | ||
| 891 | - this.setData({ | ||
| 892 | - timeArr, | ||
| 893 | - }); | 909 | + for(var i = 8; i < hours; i++){ |
| 910 | + var str = ''; | ||
| 911 | + if(i < 10) { | ||
| 912 | + str = 0 + '' + i; | ||
| 913 | + } else { | ||
| 914 | + str = '' + i; | ||
| 915 | + }; | ||
| 916 | + | ||
| 917 | + for(var j = 0; j < minutes; j++) { | ||
| 918 | + if(j % step == 0){ | ||
| 919 | + var s = ':' + appendZero(j); | ||
| 920 | + s = str + s; | ||
| 921 | + //-- 不是当天 -- | ||
| 922 | + if(this.data.datet && this.data.datet!=md){ | ||
| 923 | + timeArr.push(s); | ||
| 924 | + }else{ | ||
| 925 | + var d1=md+" "+s; | ||
| 926 | + var date1=new Date(d1); | ||
| 927 | + //必须是大于 | ||
| 928 | + if(date1.getTime()>now_date.getTime()){ | ||
| 929 | + timeArr.push(s); | ||
| 930 | + } | ||
| 931 | + } | ||
| 932 | + | ||
| 933 | + }; | ||
| 934 | + }; | ||
| 935 | + }; | ||
| 936 | + | ||
| 937 | + this.setData({timeArr,}); | ||
| 894 | 938 | ||
| 895 | }, | 939 | }, |
| 896 | - | ||
| 897 | - | ||
| 898 | - | 940 | + |
| 899 | scroll(e) { | 941 | scroll(e) { |
| 900 | // console.log('e', e.detail.deltaX); | 942 | // console.log('e', e.detail.deltaX); |
| 901 | let deltaX = e.detail.deltaX; | 943 | let deltaX = e.detail.deltaX; |
| @@ -904,8 +946,104 @@ Page({ | @@ -904,8 +946,104 @@ Page({ | ||
| 904 | // }; | 946 | // }; |
| 905 | this.data.deltaX = -deltaX; | 947 | this.data.deltaX = -deltaX; |
| 906 | }, | 948 | }, |
| 907 | - | 949 | + |
| 950 | + pickerTap:function() { | ||
| 951 | + var date = new Date(); | ||
| 952 | + var monthDay = ['今天','明天']; | ||
| 953 | + // 月-日 | ||
| 954 | + for (var i = 2; i <= 14; i++) { | ||
| 955 | + var date1 = new Date(date); | ||
| 956 | + date1.setDate(date.getDate() + i); | ||
| 957 | + var md = (date1.getFullYear()+"-"+date1.getMonth() + 1) + "-" + date1.getDate(); | ||
| 958 | + monthDay.push(md); | ||
| 959 | + } | ||
| 960 | + this.setData(monthDay); | ||
| 961 | + }, | ||
| 962 | + | ||
| 963 | + | ||
| 964 | + //-- 选择时间的时候 -- | ||
| 965 | + bindDateChenge: function(e) { | ||
| 966 | + var th=this; | ||
| 967 | + var nd=new Date(this.data.nowDate); | ||
| 968 | + var nd1=new Date(e.detail.value); | ||
| 969 | + if(nd1.getTime()<nd.getTime()){ | ||
| 970 | + wx.showToast({ | ||
| 971 | + title: "选择的日期不能小于今天", | ||
| 972 | + icon: 'none', | ||
| 973 | + duration: 2000 | ||
| 974 | + }) | ||
| 975 | + return false; | ||
| 976 | + } | ||
| 977 | + | ||
| 978 | + this.setData({ | ||
| 979 | + datet: e.detail.value | ||
| 980 | + }); | ||
| 981 | + this.getTimeList(23, 30); | ||
| 982 | + //当时间变化的时候 | ||
| 983 | + if(this.data.storageId){ | ||
| 984 | + var req={ | ||
| 985 | + storeId:os.stoid, | ||
| 986 | + userId:getApp().globalData.userInfo.user_id, | ||
| 987 | + StorageId:encodeURIComponent(this.data.storageId), | ||
| 988 | + } | ||
| 989 | + req.SeekTime=this.data.datet; | ||
| 990 | + getApp().request.get("/api/weshop/marketing/reservation/listStaffAndTime",{ | ||
| 991 | + data:req, | ||
| 992 | + success:function(res){ | ||
| 993 | + if(ut.ajax_ok2(res)){ | ||
| 994 | + th.setData({v:{},col_arr:[]}) | ||
| 995 | + //-- 有些时间是全部没有的 -- | ||
| 996 | + th.setTimeShow(res.data.data) | ||
| 997 | + }else{ | ||
| 998 | + th.setData({md:[]}); | ||
| 999 | + } | ||
| 1000 | + } | ||
| 1001 | + }) | ||
| 1002 | + } | ||
| 1003 | + }, | ||
| 908 | 1004 | ||
| 909 | - | ||
| 910 | - | 1005 | + onPageScroll: function(e) { |
| 1006 | + this.data.s_top=e.scrollTop; | ||
| 1007 | + }, | ||
| 1008 | + | ||
| 1009 | + //-- 时间段有些不显示,出来的时间和显示的对应 -- | ||
| 1010 | + setTimeShow:function(data){ | ||
| 1011 | + // 如果数值位数为1,则补0 | ||
| 1012 | + function appendZero(obj) { | ||
| 1013 | + if (obj < 10) { | ||
| 1014 | + return "0" + "" + obj; | ||
| 1015 | + } else { | ||
| 1016 | + return obj; | ||
| 1017 | + } | ||
| 1018 | + }; | ||
| 1019 | + | ||
| 1020 | + var now_date=new Date(); | ||
| 1021 | + var md = now_date.getFullYear()+"-"+appendZero(now_date.getMonth() + 1)+ "-" + appendZero(now_date.getDate()); | ||
| 1022 | + | ||
| 1023 | + if(this.data.datet && this.data.datet!=md){ | ||
| 1024 | + this.setData({md:data}); | ||
| 1025 | + return false; | ||
| 1026 | + } | ||
| 1027 | + | ||
| 1028 | + for (var i in data) { | ||
| 1029 | + var ti_time_arr = data[i].listtime; | ||
| 1030 | + var arr = []; | ||
| 1031 | + for (var j in ti_time_arr) { | ||
| 1032 | + var d1 = md + " " + ti_time_arr[j].stime; | ||
| 1033 | + var date1 = new Date(d1); | ||
| 1034 | + //必须是大于 | ||
| 1035 | + if (date1.getTime() > now_date.getTime()) { | ||
| 1036 | + arr.push(ti_time_arr[j]); | ||
| 1037 | + } | ||
| 1038 | + } | ||
| 1039 | + data[i].listtime = arr; | ||
| 1040 | + } | ||
| 1041 | + this.setData({md:data}); | ||
| 1042 | + | ||
| 1043 | + | ||
| 1044 | + | ||
| 1045 | + }, | ||
| 1046 | + | ||
| 1047 | + | ||
| 1048 | + | ||
| 911 | }) | 1049 | }) |
| 912 | \ No newline at end of file | 1050 | \ No newline at end of file |
packageA/pages/my_service2/appment_main.json
| @@ -3,6 +3,8 @@ | @@ -3,6 +3,8 @@ | ||
| 3 | "enablePullDownRefresh": false, | 3 | "enablePullDownRefresh": false, |
| 4 | "usingComponents": { | 4 | "usingComponents": { |
| 5 | "warn": "/components/long_warn/long_warn", | 5 | "warn": "/components/long_warn/long_warn", |
| 6 | - "nav_b": "/components/nav_b/nav_b" | 6 | + "nav_b": "/components/nav_b/nav_b", |
| 7 | + "nodata": "/components/nodata/nodata" | ||
| 8 | + | ||
| 7 | } | 9 | } |
| 8 | } | 10 | } |
| 9 | \ No newline at end of file | 11 | \ No newline at end of file |
packageA/pages/my_service2/appment_main.wxml
| 1 | <wxs module="filters" src="../../../utils/filter.wxs"></wxs> | 1 | <wxs module="filters" src="../../../utils/filter.wxs"></wxs> |
| 2 | <wxs module="fil" src="g_filter.wxs"></wxs> | 2 | <wxs module="fil" src="g_filter.wxs"></wxs> |
| 3 | 3 | ||
| 4 | -<!-- <view class="btn-container"> | ||
| 5 | - <navigator class="btn" url="/pages/user/my_service/tment_order_list"> | ||
| 6 | - <view>我的预约</view> | ||
| 7 | - </navigator> | ||
| 8 | - <form report-submit='true' bindtap="sub_success"> | ||
| 9 | - <button form-type="submit" class="btn"> | ||
| 10 | - <view>提交预约</view> | ||
| 11 | - </button> | ||
| 12 | - </form> | ||
| 13 | - </view> --> | ||
| 14 | - | ||
| 15 | -<view class="card" bindlongtap="getcopy"> | ||
| 16 | - <view class="t-c c-c7"> | ||
| 17 | - <text class="iconfont icon-sandian"></text> | 4 | + |
| 5 | +<!-- 项目的拖动 --> | ||
| 6 | +<view wx:if="{{!store && project && md && md.length>0}}" class="card" catchtouchmove='true' style="left:{{wp[0]}}px;top:{{wp[1]}}px;"> | ||
| 7 | + <view class="cp_btn t-c c-c7" bindtouchend="touchend1" bindtouchmove="touchmove1" catch:touchmove1 style="padding: 15rpx 0;" > | ||
| 8 | + <text class="iconfont icon-sandian" style="font-size: 40rpx;"></text> | ||
| 18 | </view> | 9 | </view> |
| 19 | - <block wx:for="{{project}}"> | ||
| 20 | - <view class="t-c pd20" hover-class="hover" bindtouchmove="touchmove" bindtouchend="touchend" catch:touchmove data-name="{{item}}" bindlongtap="getName"> | ||
| 21 | - <text class="iconfont icon-meirong fs40"></text> | ||
| 22 | - <view class="fs24">{{item}}</view> | ||
| 23 | - </view> | 10 | + <view style="overflow-y: auto; max-height:600rpx;"> |
| 11 | + <block wx:for="{{project}}"> | ||
| 12 | + <view class="t-c pd20 {{prj_index==index?'hover':''}}" data-index="{{index}}" catchtap="getName"> | ||
| 13 | + <text class="iconfont icon-meirong fs40"></text> | ||
| 14 | + <view class="fs24">{{item.ServiceName}}</view> | ||
| 15 | + </view> | ||
| 16 | + | ||
| 24 | </block> | 17 | </block> |
| 18 | + </view> | ||
| 25 | </view> | 19 | </view> |
| 26 | 20 | ||
| 27 | <image class="main" src="{{iurl}}/miniapp/images/yyservice/main.png"></image> | 21 | <image class="main" src="{{iurl}}/miniapp/images/yyservice/main.png"></image> |
| 28 | - | ||
| 29 | <view class="pdb100"> | 22 | <view class="pdb100"> |
| 30 | - <!-- 选择门店 --> | 23 | + |
| 24 | + <!-- 选择日期 --> | ||
| 25 | + <picker class='pi' mode="date" value='{{datet}}' start="2019-1-1" bindchange='bindDateChenge'> | ||
| 26 | + <view class="flex-vertical pdv20 jc-center"> | ||
| 27 | + <!-- 门店 --> | ||
| 28 | + <view class="flex-vertical-between head fs30"> | ||
| 29 | + <view>日</view> | ||
| 30 | + <view>期</view> | ||
| 31 | + </view> | ||
| 32 | + | ||
| 33 | + <view class="flex-vertical-between fs26 select"> | ||
| 34 | + <view class="{{datet==''?'color':''}} value ellipsis-1">{{datet==""?'选择日期':datet}}</view> | ||
| 35 | + <view class="angle">∟</view> | ||
| 36 | + </view> | ||
| 37 | + | ||
| 38 | + </view> | ||
| 39 | + </picker> | ||
| 40 | + <!-- 选择门店 --> | ||
| 31 | <view class="flex-vertical pdv20 jc-center"> | 41 | <view class="flex-vertical pdv20 jc-center"> |
| 32 | <!-- 门店 --> | 42 | <!-- 门店 --> |
| 33 | <view class="flex-vertical-between head fs30"> | 43 | <view class="flex-vertical-between head fs30"> |
| @@ -40,8 +50,11 @@ | @@ -40,8 +50,11 @@ | ||
| 40 | <view class="{{store_name==''?'color':''}} value ellipsis-1">{{store_name==""?'选择服务门店':store_name}}</view> | 50 | <view class="{{store_name==''?'color':''}} value ellipsis-1">{{store_name==""?'选择服务门店':store_name}}</view> |
| 41 | <view class="angle">∟</view> | 51 | <view class="angle">∟</view> |
| 42 | </view> | 52 | </view> |
| 43 | - </view> | ||
| 44 | - <view class="table flex fs26" style="width: 100%;height: 100%;"> | 53 | + </view> |
| 54 | + | ||
| 55 | + | ||
| 56 | + <!-- 拖入的田框,主内容 --> | ||
| 57 | + <view wx:if="{{md && md.length>0}}" class="table flex fs26" style="width: 100%;height: auto; overflow: hidden; margin-bottom: 10rpx;"> | ||
| 45 | <view class="left t-c"> | 58 | <view class="left t-c"> |
| 46 | <view class="td pr" style="width: 120rpx"> | 59 | <view class="td pr" style="width: 120rpx"> |
| 47 | <view class="time-box" bindtap="pickTime"><view class="time">时间</view></view> | 60 | <view class="time-box" bindtap="pickTime"><view class="time">时间</view></view> |
| @@ -56,89 +69,21 @@ | @@ -56,89 +69,21 @@ | ||
| 56 | <view class="td" wx:for="{{timeArr.length}}"></view> | 69 | <view class="td" wx:for="{{timeArr.length}}"></view> |
| 57 | </view> --> | 70 | </view> --> |
| 58 | <view wx:for="{{md}}"> | 71 | <view wx:for="{{md}}"> |
| 59 | - <view class="td bg-pink">{{item.name}}</view> | 72 | + <view class="td bg-pink">{{item.StaffName}}</view> |
| 60 | <!-- <view class="td content_view {{v[0][0]?'121':''}}">{{v[0][0]}}</view> --> | 73 | <!-- <view class="td content_view {{v[0][0]?'121':''}}">{{v[0][0]}}</view> --> |
| 61 | <block wx:for="{{timeArr.length}}" wx:for-item="subitem" wx:for-index="subindex"> | 74 | <block wx:for="{{timeArr.length}}" wx:for-item="subitem" wx:for-index="subindex"> |
| 62 | - <view class="td content_view {{v[index][subindex] && v[index][subindex]? 'active':''}} {{filters.in_arr(subindex,col_arr) || fil.is_no_time(item,subindex,timeArr) ?'notactive':''}}"> | ||
| 63 | - {{v[index][subindex]?v[index][subindex]:''}} | ||
| 64 | - <text wx:if="{{v[index][subindex]}}" catchtap="close_this" data-txt="v[{{index}}][{{subindex}}]" data-sindex="{{subindex}}" class="close_this">×</text> | 75 | + <view bindtap="sele_tab" data-index="{{index}}" data-subindex="{{subindex}}" |
| 76 | + class="td content_view {{v[index][subindex] && v[index][subindex]? 'active':''}} {{fil.is_no_time(item,subindex,timeArr,sele_project) ?'notactive':''}}"> | ||
| 77 | + <!-- 当项目是当前选中的项目的时候 --> | ||
| 78 | + <block wx:if="{{v[index][subindex] && v[index][subindex].ProjectID==sele_project.ProjectID}}"> | ||
| 79 | + <text>{{v[index][subindex]?v[index][subindex].ServiceName:''}}</text> | ||
| 80 | + <text catchtap="close_this" data-txt="v[{{index}}][{{subindex}}]" data-sindex="{{subindex}}" class="close_this">×</text> | ||
| 81 | + </block> | ||
| 65 | </view> | 82 | </view> |
| 66 | </block> | 83 | </block> |
| 67 | </view> | 84 | </view> |
| 68 | </view> | 85 | </view> |
| 69 | - </scroll-view> | ||
| 70 | - | ||
| 71 | - | ||
| 72 | - | ||
| 73 | - | ||
| 74 | - | ||
| 75 | - <!-- 选择美容师 --> | ||
| 76 | - <!-- <view class="flex-vertical mabot"> --> | ||
| 77 | - <!-- 门店 --> | ||
| 78 | - <!-- <view class="flex-vertical-between head fs30"> | ||
| 79 | - <view>美</view> | ||
| 80 | - <view>容</view> | ||
| 81 | - <view>师</view> | ||
| 82 | - </view> --> | ||
| 83 | - | ||
| 84 | - <!-- 选择美容师 --> | ||
| 85 | - <!-- <view class="rel fs26"> --> | ||
| 86 | - <!-- <view class="flex-vertical-between Cosmetology" bindtap="query_beautician"> | ||
| 87 | - <view class="{{beautician_name==''?'color':''}} value ellipsis-1">{{beautician_name==''?'选择美容师':beautician_name}}</view> | ||
| 88 | - <view class="angle">∟</view> | ||
| 89 | - </view> --> | ||
| 90 | - <!-- 美容师下拉列表 --> | ||
| 91 | - <!-- <view class="beauticians abs" wx:if="{{beautician}}"> --> | ||
| 92 | - <!-- 到时候要做判断如果是index==循环的最后一个则把下边线去掉:(beaclone去掉的css) --> | ||
| 93 | - <!-- <view class="beautician flex-vertical fs26" wx:for="{{beautician_list}}" bindtap="choice_beautician" data-baaindex="{{key}}" wx:for-index="key"> | ||
| 94 | - <view class="StaffName ellipsis-1">{{item.StaffName}}</view> | ||
| 95 | - </view> | ||
| 96 | - <view> | ||
| 97 | - </view> | ||
| 98 | - </view> --> | ||
| 99 | - <!-- </view> --> | ||
| 100 | - <!-- <view class="flex-center users" bindtap="nav_bea"> | ||
| 101 | - <image class="user" src="{{iurl}}/miniapp/images/yyservice/user.png"></image> | ||
| 102 | - </view> --> | ||
| 103 | - <!-- </view> --> | ||
| 104 | - | ||
| 105 | - <!-- 选择时间 --> | ||
| 106 | - <!-- <view class="flex-vertical mabot"> --> | ||
| 107 | - <!-- 门店 --> | ||
| 108 | - <!-- <view class="head fs30"> | ||
| 109 | - <view>预约时间</view> | ||
| 110 | - </view> --> | ||
| 111 | - | ||
| 112 | - <!-- 选择时间 --> | ||
| 113 | - <!-- <view class="flex-vertical-between fs26 select" data-url="/packageA/pages/my_service/beauty_deta?url={{url}}&StorageId={{StorageId}}&BeauticianID={{beauticianID}}&itemId={{itemId}}&modify=0&projectId={{project_id}}" bindtap="goto"> | ||
| 114 | - <view class="{{time==''?'color':''}}">{{time==""?'选择时间':time}}</view> | ||
| 115 | - <view class="angle angler">∟</view> | ||
| 116 | - </view> --> | ||
| 117 | - <!-- </view> --> | ||
| 118 | - | ||
| 119 | - <!-- 备注 --> | ||
| 120 | - <!-- <view class="flex Remarks"> --> | ||
| 121 | - <!-- 门店 --> | ||
| 122 | - <!-- <view class="flex-space-between head fs30"> | ||
| 123 | - <view>备</view> | ||
| 124 | - <view>注</view> | ||
| 125 | - </view> | ||
| 126 | - <view class="flex fs26"> | ||
| 127 | - <block wx:if="{{is_textea==1}}"> | ||
| 128 | - <textarea class="textarea" placeholder="{{remarks==''?'填写备注':remarks}}" placeholder-class="fs26 color" value="{{remarks}}" bindinput="input_remarks" maxlength="100"> | ||
| 129 | - </textarea> | ||
| 130 | - </block> | ||
| 131 | - <block wx:else> | ||
| 132 | - <view class="textarea {{remarks==''?'color':''}}" bindtap="check_text">{{remarks==''?'填写备注':remarks}} | ||
| 133 | - </view> | ||
| 134 | - </block> | ||
| 135 | - </view> --> | ||
| 136 | - <!-- </view> | ||
| 137 | - <view wx:if="{{tment_count!=''}}" class="notes flex-level-right fs24 color"> | ||
| 138 | - <view>注:剩余可预约人数{{tment_count}}人</view> | ||
| 139 | - </view> --> | ||
| 140 | - | ||
| 141 | - | 86 | + </scroll-view> |
| 142 | </view> | 87 | </view> |
| 143 | </view> | 88 | </view> |
| 144 | 89 | ||
| @@ -146,9 +91,10 @@ | @@ -146,9 +91,10 @@ | ||
| 146 | <navigator class="appment flex-center" url="/pages/user/my_service/tment_order_list"> | 91 | <navigator class="appment flex-center" url="/pages/user/my_service/tment_order_list"> |
| 147 | <view>我的预约</view> | 92 | <view>我的预约</view> |
| 148 | </navigator> | 93 | </navigator> |
| 149 | - <form report-submit='true' bindtap="sub_success"> | ||
| 150 | - <button form-type="submit" class="sub_appment flex-center">帮你预约</button> | ||
| 151 | - </form> | 94 | + <form report-submit='true' bindtap="sub_success"> |
| 95 | + <button wx:if="{{is_sub}}" class="sub_appment flex-center">预约中..</button> | ||
| 96 | + <button wx:else form-type="submit" class="sub_appment flex-center">提交预约</button> | ||
| 97 | + </form> | ||
| 152 | </view> | 98 | </view> |
| 153 | 99 | ||
| 154 | 100 | ||
| @@ -165,7 +111,7 @@ | @@ -165,7 +111,7 @@ | ||
| 165 | </view> | 111 | </view> |
| 166 | </view> | 112 | </view> |
| 167 | <!-- 选择门店 --> | 113 | <!-- 选择门店 --> |
| 168 | - <scroll-view class="stores" scroll-y="{{isScroll}}" enable-back-to-top="true" bindscrolltolower="onReachBottom"> | 114 | + <scroll-view class="stores" scroll-y="{{isScroll}}" enable-back-to-top="true" bindscrolltolower="onGetBottom"> |
| 169 | <view class="store flex-vertical" wx:for="{{store_list}}" bindtap="choose_for_store" data-ind="{{index}}"> | 115 | <view class="store flex-vertical" wx:for="{{store_list}}" bindtap="choose_for_store" data-ind="{{index}}"> |
| 170 | <block wx:if="{{index==fir_pick_index}}"> | 116 | <block wx:if="{{index==fir_pick_index}}"> |
| 171 | <icon class="icon" type="success" color="red" size="20"></icon> | 117 | <icon class="icon" type="success" color="red" size="20"></icon> |
| @@ -206,8 +152,11 @@ | @@ -206,8 +152,11 @@ | ||
| 206 | 152 | ||
| 207 | <!-- 制作一个圆球导航 --> | 153 | <!-- 制作一个圆球导航 --> |
| 208 | <!-- <nav_b id="nav_b"></nav_b> --> | 154 | <!-- <nav_b id="nav_b"></nav_b> --> |
| 209 | - | 155 | +<!-- |
| 210 | <view class="copy" wx:if="{{copy_btn}}" style="position:absolute;left:{{write[0]}}px;top:{{write[1]}}px;"> | 156 | <view class="copy" wx:if="{{copy_btn}}" style="position:absolute;left:{{write[0]}}px;top:{{write[1]}}px;"> |
| 211 | <text class="iconfont icon-meirong fs40"></text> | 157 | <text class="iconfont icon-meirong fs40"></text> |
| 212 | - <view class="fs24">{{projectName}}</view> | 158 | + <view class="fs24">{{sele_project.ServiceName}}</view> |
| 159 | +</view>--> | ||
| 160 | +<view class="flex ai-center jc-center"> | ||
| 161 | + <nodata wx:if="{{md && md.length==0}}" /> | ||
| 213 | </view> | 162 | </view> |
| 214 | \ No newline at end of file | 163 | \ No newline at end of file |
packageA/pages/my_service2/appment_main.wxss
| 1 | page, | 1 | page, |
| 2 | .area { | 2 | .area { |
| 3 | width: 100%; | 3 | width: 100%; |
| 4 | - height: 100%; | 4 | + height: 100%; |
| 5 | + position: relative; | ||
| 5 | } | 6 | } |
| 6 | 7 | ||
| 7 | - | ||
| 8 | - | ||
| 9 | - | ||
| 10 | /* .container { | 8 | /* .container { |
| 11 | border-top: 7rpx solid rgb(245, 245, 245); | 9 | border-top: 7rpx solid rgb(245, 245, 245); |
| 12 | justify-content: baseline; | 10 | justify-content: baseline; |
| @@ -188,7 +186,7 @@ button { | @@ -188,7 +186,7 @@ button { | ||
| 188 | } | 186 | } |
| 189 | 187 | ||
| 190 | .storeList { | 188 | .storeList { |
| 191 | - z-index: 5; | 189 | + z-index: 1500; |
| 192 | left: 0rpx; | 190 | left: 0rpx; |
| 193 | border-top-left-radius: 25rpx; | 191 | border-top-left-radius: 25rpx; |
| 194 | border-top-right-radius: 25rpx; | 192 | border-top-right-radius: 25rpx; |
| @@ -301,7 +299,8 @@ button { | @@ -301,7 +299,8 @@ button { | ||
| 301 | .table { | 299 | .table { |
| 302 | background-color: white; | 300 | background-color: white; |
| 303 | /* border-top: 2rpx solid rgba(218, 217, 217, 1); | 301 | /* border-top: 2rpx solid rgba(218, 217, 217, 1); |
| 304 | - border-left: 2rpx solid rgba(218, 217, 217, 1); */ | 302 | + border-left: 2rpx solid rgba(218, 217, 217, 1); */ |
| 303 | + width: 100%;height: auto; overflow: hidden; margin-bottom: 20rpx; | ||
| 305 | } | 304 | } |
| 306 | .blue { | 305 | .blue { |
| 307 | background: rgba(241, 252, 255, 1); | 306 | background: rgba(241, 252, 255, 1); |
| @@ -339,17 +338,17 @@ button { | @@ -339,17 +338,17 @@ button { | ||
| 339 | 338 | ||
| 340 | .card { | 339 | .card { |
| 341 | position: fixed; | 340 | position: fixed; |
| 342 | - width: 110rpx; | ||
| 343 | - top: 50%; | 341 | + width: 130rpx; |
| 342 | + /* top: 50%; */ | ||
| 344 | right: 0; | 343 | right: 0; |
| 345 | /* min-height: 400rpx; */ | 344 | /* min-height: 400rpx; */ |
| 346 | - max-height: 700rpx; | ||
| 347 | - overflow-y: auto; | ||
| 348 | - transform: translateY(-50%); | 345 | + /* max-height: 700rpx; */ |
| 346 | + /* transform: translateY(-50%); */ | ||
| 349 | background-color: white; | 347 | background-color: white; |
| 350 | border-radius: 10rpx; | 348 | border-radius: 10rpx; |
| 351 | box-shadow: -2px 0px 6px #aaa; | 349 | box-shadow: -2px 0px 6px #aaa; |
| 352 | - z-index: 1000; | 350 | + z-index: 1000; |
| 351 | + top:160rpx | ||
| 353 | } | 352 | } |
| 354 | 353 | ||
| 355 | .icon-meirong { | 354 | .icon-meirong { |
| @@ -443,3 +442,6 @@ button { | @@ -443,3 +442,6 @@ button { | ||
| 443 | } | 442 | } |
| 444 | 443 | ||
| 445 | 444 | ||
| 445 | + | ||
| 446 | + | ||
| 447 | + |
packageA/pages/my_service2/g_filter.wxs
| 1 | var g_filters = { | 1 | var g_filters = { |
| 2 | - is_no_time:function(item,subindex,timeArr){ | 2 | + is_no_time:function(item,subindex,timeArr,sele_project){ |
| 3 | + if(!sele_project || !sele_project.ServiceID) return false; | ||
| 3 | var t_time=timeArr[subindex]; | 4 | var t_time=timeArr[subindex]; |
| 4 | - var time_arr=item.time.split("-"); | ||
| 5 | - | ||
| 6 | - var t_date=getDate(); | ||
| 7 | - var t_date_str=t_date.getFullYear()+"-"+(t_date.getMonth() + 1)+"-"+t_date.getDate()+" " | ||
| 8 | - | ||
| 9 | - var this_time =t_date_str+t_time.substring(0, 19); | ||
| 10 | - var reg = getRegExp("-", "g"); | ||
| 11 | - this_time = this_time.replace(reg, '/'); | ||
| 12 | - var t1 = getDate(this_time); | ||
| 13 | - | ||
| 14 | - var fmt1 =t_date_str+time_arr[0].substring(0, 19); | ||
| 15 | - var reg = getRegExp("-", "g"); | ||
| 16 | - var fmt2 = fmt1.replace(reg, '/'); | ||
| 17 | - var t2 = getDate(fmt2); | ||
| 18 | - | ||
| 19 | - if(t1<t2) return true; | ||
| 20 | - if(time_arr.length>1){ | ||
| 21 | - var ft1 =t_date_str+time_arr[1].substring(0, 19); | ||
| 22 | - var reg = getRegExp("-", "g"); | ||
| 23 | - var ft2 = ft1.replace(reg, '/'); | ||
| 24 | - var t3 = getDate(ft2); | ||
| 25 | - if(t1>t3) return true; | ||
| 26 | - } | ||
| 27 | - return false; | 5 | + var time_arr=item.listtime; |
| 6 | + | ||
| 7 | + for(var i=0;i<time_arr.length;i++){ | ||
| 8 | + if(t_time==time_arr[i].stime && time_arr[i].iskyy==true){ | ||
| 9 | + //如果没有项目的话 | ||
| 10 | + if(time_arr[i].itemids){ | ||
| 11 | + var project_arr=time_arr[i].itemids.split(','); | ||
| 12 | + //如果没有相应的项目的话 | ||
| 13 | + if(project_arr && project_arr.indexOf(sele_project.ServiceID)!=-1) return false; | ||
| 14 | + | ||
| 15 | + } | ||
| 16 | + } | ||
| 17 | + } | ||
| 18 | + | ||
| 19 | + return true; | ||
| 28 | }, | 20 | }, |
| 29 | 21 | ||
| 30 | } | 22 | } |
packageA/pages/parseHtml/parseHtml.js
| 1 | var WxParse = require('../../../utils/wxParse/wxParse.js'); | 1 | var WxParse = require('../../../utils/wxParse/wxParse.js'); |
| 2 | 2 | ||
| 3 | -const app = getApp(); | 3 | +const app = getApp(); |
| 4 | let self = null; | 4 | let self = null; |
| 5 | let content_privacy = `<div> | 5 | let content_privacy = `<div> |
| 6 | <p class="tac font16"><b>隐私政策</b><br /><br /></p> | 6 | <p class="tac font16"><b>隐私政策</b><br /><br /></p> |
| @@ -235,117 +235,126 @@ let content_use = `<div> | @@ -235,117 +235,126 @@ let content_use = `<div> | ||
| 235 | 235 | ||
| 236 | Page({ | 236 | Page({ |
| 237 | 237 | ||
| 238 | - /** | ||
| 239 | - * 页面的初始数据 | ||
| 240 | - */ | ||
| 241 | - data: { | ||
| 242 | - list: null, | ||
| 243 | - isLoading: false, // 检测是否已经发送请求,防止重复发送请求 | ||
| 244 | - noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据 | ||
| 245 | - pageNum: 1, // 当前页数 | ||
| 246 | - }, | 238 | + /** |
| 239 | + * 页面的初始数据 | ||
| 240 | + */ | ||
| 241 | + data: { | ||
| 242 | + list: null, | ||
| 243 | + isLoading: false, // 检测是否已经发送请求,防止重复发送请求 | ||
| 244 | + noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据 | ||
| 245 | + pageNum: 1, // 当前页数 | ||
| 246 | + }, | ||
| 247 | 247 | ||
| 248 | - /** | ||
| 249 | - * 生命周期函数--监听页面加载 | ||
| 250 | - */ | ||
| 251 | - onLoad: function (options) { | ||
| 252 | - self = this; | ||
| 253 | - let title = ''; | ||
| 254 | - let content = ''; | ||
| 255 | - if(options.t == 0) { | ||
| 256 | - title = '用户使用协议'; | ||
| 257 | - content = content_use; | ||
| 258 | - } else if(options.t == 1) { | ||
| 259 | - title = '隐私政策'; | ||
| 260 | - content = content_privacy; | ||
| 261 | - }; | ||
| 262 | - wx.setNavigationBarTitle({ | ||
| 263 | - title: title, | ||
| 264 | - }); | 248 | + /** |
| 249 | + * 生命周期函数--监听页面加载 | ||
| 250 | + */ | ||
| 251 | + onLoad: function (options) { | ||
| 252 | + self = this; | ||
| 253 | + //-- 获取一下基础参数 -- | ||
| 254 | + getApp().getConfig2(function (res) { | ||
| 255 | + if(res.reg_rule){ content_use=res.reg_rule; } | ||
| 256 | + if(res.reg_privacy){ content_privacy=res.reg_privacy; } | ||
| 265 | 257 | ||
| 266 | - WxParse.wxParse('content', 'html', content, self); | ||
| 267 | - | ||
| 268 | - }, | 258 | + let title = ''; |
| 259 | + let content = ''; | ||
| 260 | + if (options.t == 0) { | ||
| 261 | + title = '用户使用协议'; | ||
| 262 | + content = content_use; | ||
| 263 | + } else if (options.t == 1) { | ||
| 264 | + title = '隐私政策'; | ||
| 265 | + content = content_privacy; | ||
| 266 | + } | ||
| 267 | + ; | ||
| 268 | + wx.setNavigationBarTitle({ | ||
| 269 | + title: title, | ||
| 270 | + }); | ||
| 269 | 271 | ||
| 270 | - /** | ||
| 271 | - * 生命周期函数--监听页面初次渲染完成 | ||
| 272 | - */ | ||
| 273 | - onReady: function () { | 272 | + WxParse.wxParse('content', 'html', content, self); |
| 274 | 273 | ||
| 275 | - }, | 274 | + }, 1) |
| 276 | 275 | ||
| 277 | - /** | ||
| 278 | - * 生命周期函数--监听页面显示 | ||
| 279 | - */ | ||
| 280 | - onShow: function () { | 276 | + }, |
| 281 | 277 | ||
| 282 | - }, | 278 | + /** |
| 279 | + * 生命周期函数--监听页面初次渲染完成 | ||
| 280 | + */ | ||
| 281 | + onReady: function () { | ||
| 283 | 282 | ||
| 284 | - /** | ||
| 285 | - * 生命周期函数--监听页面隐藏 | ||
| 286 | - */ | ||
| 287 | - onHide: function () { | 283 | + }, |
| 288 | 284 | ||
| 289 | - }, | 285 | + /** |
| 286 | + * 生命周期函数--监听页面显示 | ||
| 287 | + */ | ||
| 288 | + onShow: function () { | ||
| 290 | 289 | ||
| 291 | - /** | ||
| 292 | - * 生命周期函数--监听页面卸载 | ||
| 293 | - */ | ||
| 294 | - onUnload: function () { | 290 | + }, |
| 295 | 291 | ||
| 296 | - }, | 292 | + /** |
| 293 | + * 生命周期函数--监听页面隐藏 | ||
| 294 | + */ | ||
| 295 | + onHide: function () { | ||
| 297 | 296 | ||
| 298 | - /** | ||
| 299 | - * 页面相关事件处理函数--监听用户下拉动作 | ||
| 300 | - */ | ||
| 301 | - onPullDownRefresh: function () { | 297 | + }, |
| 302 | 298 | ||
| 303 | - }, | 299 | + /** |
| 300 | + * 生命周期函数--监听页面卸载 | ||
| 301 | + */ | ||
| 302 | + onUnload: function () { | ||
| 304 | 303 | ||
| 305 | - /** | ||
| 306 | - * 页面上拉触底事件的处理函数 | ||
| 307 | - */ | ||
| 308 | - onReachBottom: function () { | 304 | + }, |
| 309 | 305 | ||
| 310 | - }, | 306 | + /** |
| 307 | + * 页面相关事件处理函数--监听用户下拉动作 | ||
| 308 | + */ | ||
| 309 | + onPullDownRefresh: function () { | ||
| 311 | 310 | ||
| 312 | - /** | ||
| 313 | - * 用户点击右上角分享 | ||
| 314 | - */ | ||
| 315 | - onShareAppMessage: function () { | 311 | + }, |
| 312 | + | ||
| 313 | + /** | ||
| 314 | + * 页面上拉触底事件的处理函数 | ||
| 315 | + */ | ||
| 316 | + onReachBottom: function () { | ||
| 317 | + | ||
| 318 | + }, | ||
| 319 | + | ||
| 320 | + /** | ||
| 321 | + * 用户点击右上角分享 | ||
| 322 | + */ | ||
| 323 | + onShareAppMessage: function () { | ||
| 324 | + | ||
| 325 | + }, | ||
| 326 | + | ||
| 327 | + /** | ||
| 328 | + * get请求数据 | ||
| 329 | + */ | ||
| 330 | + get(url, data) { | ||
| 331 | + app.request.get(url + '/' + data.store_id, { | ||
| 332 | + success: function (res) { | ||
| 333 | + if (res.data.code == 0) { | ||
| 334 | + console.log('success~~~~~~~~~~~', res); | ||
| 335 | + self.setData({ | ||
| 336 | + content: res.data.data.distriRule, | ||
| 337 | + }); | ||
| 338 | + /** | ||
| 339 | + * WxParse.wxParse(bindName , type, data, target,imagePadding) | ||
| 340 | + * 1.bindName绑定的数据名(必填) | ||
| 341 | + * 2.type可以为html或者md(必填) | ||
| 342 | + * 3.data为传入的具体数据(必填) | ||
| 343 | + * 4.target为Page对象,一般为this(必填) | ||
| 344 | + * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选) | ||
| 345 | + */ | ||
| 346 | + WxParse.wxParse('content', 'html', self.data.content, self); | ||
| 347 | + } else { | ||
| 348 | + wx.showToast({ | ||
| 349 | + title: "网络繁忙,请重试", | ||
| 350 | + icon: 'none', | ||
| 351 | + duration: 2000 | ||
| 352 | + }) | ||
| 353 | + } | ||
| 354 | + }, | ||
| 355 | + fail: function () { | ||
| 356 | + }, | ||
| 357 | + }); | ||
| 358 | + }, | ||
| 316 | 359 | ||
| 317 | - }, | ||
| 318 | - | ||
| 319 | - /** | ||
| 320 | - * get请求数据 | ||
| 321 | - */ | ||
| 322 | - get(url, data) { | ||
| 323 | - app.request.get(url + '/' + data.store_id, { | ||
| 324 | - success: function(res) { | ||
| 325 | - if(res.data.code == 0){ | ||
| 326 | - console.log('success~~~~~~~~~~~',res); | ||
| 327 | - self.setData({ | ||
| 328 | - content: res.data.data.distriRule, | ||
| 329 | - }); | ||
| 330 | - /** | ||
| 331 | - * WxParse.wxParse(bindName , type, data, target,imagePadding) | ||
| 332 | - * 1.bindName绑定的数据名(必填) | ||
| 333 | - * 2.type可以为html或者md(必填) | ||
| 334 | - * 3.data为传入的具体数据(必填) | ||
| 335 | - * 4.target为Page对象,一般为this(必填) | ||
| 336 | - * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选) | ||
| 337 | - */ | ||
| 338 | - WxParse.wxParse('content', 'html', self.data.content, self); | ||
| 339 | - }else{ | ||
| 340 | - wx.showToast({ | ||
| 341 | - title: "网络繁忙,请重试", | ||
| 342 | - icon: 'none', | ||
| 343 | - duration: 2000 | ||
| 344 | - }) | ||
| 345 | - } | ||
| 346 | - }, | ||
| 347 | - fail: function() {}, | ||
| 348 | - }); | ||
| 349 | - }, | ||
| 350 | - | ||
| 351 | }) | 360 | }) |
| 352 | \ No newline at end of file | 361 | \ No newline at end of file |
packageA/pages/profile/profile.js
| @@ -169,6 +169,8 @@ Page({ | @@ -169,6 +169,8 @@ Page({ | ||
| 169 | var index = th.data.sec_pick_index; | 169 | var index = th.data.sec_pick_index; |
| 170 | item = th.data.sec_sto.s_arr[index]; | 170 | item = th.data.sec_sto.s_arr[index]; |
| 171 | } | 171 | } |
| 172 | + | ||
| 173 | + if(!item) return false; | ||
| 172 | th.setData({ | 174 | th.setData({ |
| 173 | def_pick_store: item, | 175 | def_pick_store: item, |
| 174 | stoname: item.pickup_name, | 176 | stoname: item.pickup_name, |
| @@ -255,7 +257,7 @@ Page({ | @@ -255,7 +257,7 @@ Page({ | ||
| 255 | data: dd, | 257 | data: dd, |
| 256 | success:function(res){ | 258 | success:function(res){ |
| 257 | var e = res; | 259 | var e = res; |
| 258 | - if (e.data.code == 0) { | 260 | + if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length>0) { |
| 259 | //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- | 261 | //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- |
| 260 | if (th.data.def_pick_store) { | 262 | if (th.data.def_pick_store) { |
| 261 | for (var k = 0; k < e.data.data.pageData.length; k++) { | 263 | for (var k = 0; k < e.data.data.pageData.length; k++) { |
packageA/pages/profile/profile.wxss
| @@ -411,7 +411,6 @@ input { | @@ -411,7 +411,6 @@ input { | ||
| 411 | background: white; | 411 | background: white; |
| 412 | width: 100%; | 412 | width: 100%; |
| 413 | border-radius: 20rpx 20rpx 0 0; | 413 | border-radius: 20rpx 20rpx 0 0; |
| 414 | - height: 72%; | ||
| 415 | } | 414 | } |
| 416 | 415 | ||
| 417 | .popup-top { | 416 | .popup-top { |
| @@ -452,7 +451,8 @@ input { | @@ -452,7 +451,8 @@ input { | ||
| 452 | 451 | ||
| 453 | .store-list { | 452 | .store-list { |
| 454 | width: 95%; | 453 | width: 95%; |
| 455 | - height: 72%; | 454 | + min-height: 300rpx; |
| 455 | + max-height: 610rpx; | ||
| 456 | overflow-y: scroll; | 456 | overflow-y: scroll; |
| 457 | margin: auto; | 457 | margin: auto; |
| 458 | } | 458 | } |
| @@ -506,7 +506,7 @@ input { | @@ -506,7 +506,7 @@ input { | ||
| 506 | .store-bottom { | 506 | .store-bottom { |
| 507 | width: 85%; | 507 | width: 85%; |
| 508 | margin: auto; | 508 | margin: auto; |
| 509 | - height: 70rpx; | 509 | + height: 90rpx; |
| 510 | } | 510 | } |
| 511 | 511 | ||
| 512 | .determine { | 512 | .determine { |
packageA/pages/prom_list/prom_list.js
| @@ -722,7 +722,9 @@ Page({ | @@ -722,7 +722,9 @@ Page({ | ||
| 722 | get_sto(e) { | 722 | get_sto(e) { |
| 723 | var th = this,that=this; | 723 | var th = this,that=this; |
| 724 | var timer_get = setInterval(function() { | 724 | var timer_get = setInterval(function() { |
| 725 | - if (th.data.is_get_local_ok == 0) return false; | 725 | + if (th.data.is_get_local_ok == 0) return false; |
| 726 | + if(!th.data.data) return false; | ||
| 727 | + | ||
| 726 | var dd = null, | 728 | var dd = null, |
| 727 | c_list=th.data.collocationList, | 729 | c_list=th.data.collocationList, |
| 728 | i = getApp().request; | 730 | i = getApp().request; |
packageA/pages/prom_list/prom_list.wxml
| @@ -137,7 +137,7 @@ | @@ -137,7 +137,7 @@ | ||
| 137 | <view class="b_num"> | 137 | <view class="b_num"> |
| 138 | <view>购买数量</view> | 138 | <view>购买数量</view> |
| 139 | <view class="count"> | 139 | <view class="count"> |
| 140 | - <view bindtap="subCartNum" class="sub">-</view> | 140 | + <view bindtap="subCartNum" class="sub {{goodsInputNum<=1?'gray':''}}">-</view> |
| 141 | <input bindblur="inputCartNum" type="number" value="{{goodsInputNum}}"></input> | 141 | <input bindblur="inputCartNum" type="number" value="{{goodsInputNum}}"></input> |
| 142 | <view bindtap="addCartNum" class="add">+</view> | 142 | <view bindtap="addCartNum" class="add">+</view> |
| 143 | </view> | 143 | </view> |
packageA/pages/prom_list/prom_list.wxss
| @@ -30,7 +30,6 @@ | @@ -30,7 +30,6 @@ | ||
| 30 | font-size: 32rpx; | 30 | font-size: 32rpx; |
| 31 | box-sizing: border-box; | 31 | box-sizing: border-box; |
| 32 | border-radius: 20rpx; | 32 | border-radius: 20rpx; |
| 33 | - height: 72%; | ||
| 34 | } | 33 | } |
| 35 | 34 | ||
| 36 | .spec-model .pding{padding: 0 30rpx;} | 35 | .spec-model .pding{padding: 0 30rpx;} |
| @@ -138,12 +137,10 @@ | @@ -138,12 +137,10 @@ | ||
| 138 | .spec-cart-btns { | 137 | .spec-cart-btns { |
| 139 | width: 92%; | 138 | width: 92%; |
| 140 | line-height: 70rpx; | 139 | line-height: 70rpx; |
| 141 | - margin: 0rpx auto; | ||
| 142 | - margin-top: 160rpx; | 140 | + margin-top: 40rpx; |
| 141 | + margin-bottom: 20rpx; | ||
| 143 | border-radius: 20rpx; | 142 | border-radius: 20rpx; |
| 144 | - position: fixed; | ||
| 145 | - bottom: 50rpx; | ||
| 146 | - left: 4%; | 143 | + margin-left: 4%; |
| 147 | } | 144 | } |
| 148 | 145 | ||
| 149 | .spec-cart-btn { | 146 | .spec-cart-btn { |
| @@ -362,4 +359,5 @@ | @@ -362,4 +359,5 @@ | ||
| 362 | .join-cart>view.no_store { | 359 | .join-cart>view.no_store { |
| 363 | width: 58%; background-color: #adadad; | 360 | width: 58%; background-color: #adadad; |
| 364 | } | 361 | } |
| 365 | -.no_store{color:#d60021; font-size: 26rpx;} | ||
| 366 | \ No newline at end of file | 362 | \ No newline at end of file |
| 363 | +.no_store{color:#d60021; font-size: 26rpx;} | ||
| 364 | +.gray{color: #ccc;} | ||
| 367 | \ No newline at end of file | 365 | \ No newline at end of file |
packageB/images/luckDraw/badge.png
0 → 100644
2.86 KB
packageB/images/luckDraw/bg.png
0 → 100644
739 KB
packageB/images/luckDraw/coupon.png
0 → 100644
4.83 KB
packageB/images/luckDraw/czz.png
0 → 100644
7.21 KB
packageB/images/luckDraw/gift.png
0 → 100644
14.1 KB
packageB/images/luckDraw/jf.png
0 → 100644
23.8 KB
packageB/images/luckDraw/lb.png
0 → 100644
60 KB
packageB/images/luckDraw/logo.png
0 → 100644
1.51 KB
packageB/images/luckDraw/money.png
0 → 100644
6.63 KB
packageB/images/luckDraw/mr.png
0 → 100644
27.7 KB
packageB/images/luckDraw/mr1.png
0 → 100644
18.5 KB
packageB/images/luckDraw/pointer.png
0 → 100644
23.3 KB
packageB/images/luckDraw/weel.png
0 → 100644
69.5 KB
packageB/images/luckDraw/yhq.png
0 → 100644
19.1 KB
packageB/images/luckDraw/zp.png
0 → 100644
33.2 KB
packageB/miniprogram_npm/lucky-canvas/index.js
0 → 100644
| 1 | +module.exports = (function() { | ||
| 2 | +var __MODS__ = {}; | ||
| 3 | +var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexports: {} }; __MODS__[modId] = { status: 0, func: func, req: req, m: m }; }; | ||
| 4 | +var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; }; | ||
| 5 | +var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } }; | ||
| 6 | +var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; }; | ||
| 7 | +__DEFINE__(1625793648862, function(require, module, exports) { | ||
| 8 | +module.exports = require('./dist/lucky-canvas.cjs.min.js') | ||
| 9 | + | ||
| 10 | +}, function(modId) {var map = {"./dist/lucky-canvas.cjs.min.js":1625793648863}; return __REQUIRE__(map[modId], modId); }) | ||
| 11 | +__DEFINE__(1625793648863, function(require, module, exports) { | ||
| 12 | +Object.defineProperty(exports,"__esModule",{value:!0}); | ||
| 13 | +/*! ***************************************************************************** | ||
| 14 | +Copyright (c) Microsoft Corporation. | ||
| 15 | + | ||
| 16 | +Permission to use, copy, modify, and/or distribute this software for any | ||
| 17 | +purpose with or without fee is hereby granted. | ||
| 18 | + | ||
| 19 | +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH | ||
| 20 | +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY | ||
| 21 | +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, | ||
| 22 | +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM | ||
| 23 | +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR | ||
| 24 | +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR | ||
| 25 | +PERFORMANCE OF THIS SOFTWARE. | ||
| 26 | +***************************************************************************** */ | ||
| 27 | +var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(e,i)};function e(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}var i=function(){return(i=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function n(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))}function r(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function o(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t}String.prototype.includes||(String.prototype.includes=function(t,e){return"number"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(t){if(null==this)throw new TypeError('"this" is null or not defined');var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var n=arguments[1],r=0;r<i;){var o=e[r];if(t.call(n,o,r,e))return o;r++}}});var s=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];return e.some((function(e){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()===e}))},a=function(t){return[].filter.call(t,(function(t){return"\n"!==t})).join("")},u=function(t){if("string"!=typeof t)return!1;if("transparent"===(t=t.toLocaleLowerCase().trim()))return!1;if(/^rgba/.test(t)){var e=/([^\s,]+)\)$/.exec(t);if(0===(null===(i=e)?0:"object"==typeof i?NaN:"number"==typeof i?i:"string"==typeof i?"%"===i[i.length-1]?Number(i.slice(0,-1))/100:Number(i):NaN))return!1}var i;return!0},h=function(){function t(){this.subs=[]}return t.prototype.addSub=function(t){this.subs.includes(t)||this.subs.push(t)},t.prototype.notify=function(){this.subs.forEach((function(t){t.update()}))},t}(),c="__proto__"in{};function l(t,e,i,n){Object.defineProperty(t,e,{value:i,enumerable:!!n,writable:!0,configurable:!0})}var f=Array.prototype,d=Object.create(f);["push","pop","shift","unshift","sort","splice","reverse"].forEach((function(t){d[t]=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];var n=f[t].apply(this,e),r=this.__luckyOb__;return["push","unshift","splice"].includes(t)&&r.walk(this),r.dep.notify(),n}}));var p=function(){function t(t){this.dep=new h,l(t,"__luckyOb__",this),Array.isArray(t)&&(c?t.__proto__=d:Object.getOwnPropertyNames(d).forEach((function(e){l(t,e,d[e])}))),this.walk(t)}return t.prototype.walk=function(t){Object.keys(t).forEach((function(e){m(t,e,t[e])}))},t}();function g(t){if(t&&"object"==typeof t)return"__luckyOb__"in t?t.__luckyOb__:new p(t)}function m(t,e,i){var n=new h,r=Object.getOwnPropertyDescriptor(t,e);if(!r||!1!==r.configurable){var o=r&&r.get,s=r&&r.set;o&&!s||2!==arguments.length||(i=t[e]);var a=g(i);Object.defineProperty(t,e,{get:function(){var e=o?o.call(t):i;return h.target&&(n.addSub(h.target),a&&a.dep.addSub(h.target)),e},set:function(e){e!==i&&(i=e,o&&!s||(s?s.call(t,e):i=e,a=g(e),n.notify()))}})}}var v=0,b=function(){function t(t,e,i,n){void 0===n&&(n={}),this.id=v++,this.$lucky=t,this.expr=e,this.deep=!!n.deep,this.getter="function"==typeof e?e:function(t){t+=".";for(var e=[],i="",n=0;n<t.length;n++){var r=t[n];if(/\[|\./.test(r))e.push(i),i="";else{if(/\W/.test(r))continue;i+=r}}return function(t){return e.reduce((function(t,e){return t[e]}),t)}}(e),this.cb=i,this.value=this.get()}return t.prototype.get=function(){h.target=this;var t=this.getter.call(this.$lucky,this.$lucky);return this.deep&&function(t){var e=function(t){s(t,"array","object")&&Object.keys(t).forEach((function(i){var n=t[i];e(n)}))};e(t)}(t),h.target=null,t},t.prototype.update=function(){var t=this.get(),e=this.value;this.value=t,this.cb.call(this.$lucky,t,e)},t}(),y=function(){function t(t){var e=this;this.htmlFontSize=16,this.rAF=function(){},this.boxWidth=0,this.boxHeight=0,this.setHTMLFontSize(),"string"==typeof t?t={el:t}:1===t.nodeType&&(t={el:"",divElement:t}),t=t,this.config=t,this.setDpr(),this.initWindowFunction(),t.flag||(t.flag="WEB"),Object.prototype.hasOwnProperty.call(t,"ob")||(t.ob=!0),t.el&&(t.divElement=document.querySelector(t.el)),t.divElement&&(t.canvasElement=document.createElement("canvas"),t.divElement.appendChild(t.canvasElement)),this.resetWidthAndHeight(),t.canvasElement&&(t.ctx=t.canvasElement.getContext("2d"),t.canvasElement.setAttribute("package","lucky-canvas@1.5.4"),t.canvasElement.addEventListener("click",(function(t){return e.handleClick(t)})),t.canvasElement.addEventListener("mousemove",(function(t){return e.handleMouseMove(t)})),t.canvasElement.addEventListener("mousedown",(function(t){return e.handleMouseDown(t)})),t.canvasElement.addEventListener("mouseup",(function(t){return e.handleMouseUp(t)}))),this.ctx=t.ctx,t.ctx?this.boxWidth&&this.boxHeight||console.error("无法获取到宽度或高度"):console.error("无法获取到 CanvasContext2D")}return t.prototype.init=function(t){this.setDpr(),this.setHTMLFontSize(),this.resetWidthAndHeight(),this.zoomCanvas()},t.prototype.handleClick=function(t){},t.prototype.handleMouseDown=function(t){},t.prototype.handleMouseUp=function(t){},t.prototype.handleMouseMove=function(t){},t.prototype.conversionAxis=function(t,e){return[0,0]},t.prototype.setDpr=function(){var t=this.config;t.dpr||(window?window.dpr=t.dpr=window.devicePixelRatio||1:t.dpr||console.error(t,"未传入 dpr 可能会导致绘制异常"))},t.prototype.setHTMLFontSize=function(){window&&(this.htmlFontSize=+window.getComputedStyle(document.documentElement).fontSize.slice(0,-2))},t.prototype.resetWidthAndHeight=function(){var t=this.config,e=0,i=0;t.divElement&&(e=t.divElement.offsetWidth,i=t.divElement.offsetHeight),this.boxWidth=this.getLength(t.width)||e,this.boxHeight=this.getLength(t.height)||i,t.divElement&&(t.divElement.style.overflow="hidden",t.divElement.style.width=this.boxWidth+"px",t.divElement.style.height=this.boxHeight+"px")},t.prototype.initWindowFunction=function(){var t=this.config;if(window)return this.rAF=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)},t.setTimeout=window.setTimeout,t.setInterval=window.setInterval,t.clearTimeout=window.clearTimeout,void(t.clearInterval=window.clearInterval);if(t.rAF)this.rAF=t.rAF;else if(t.setTimeout){var e=t.setTimeout;this.rAF=function(t){return e(t,16.7)}}else this.rAF=function(t){return setTimeout(t,16.7)}},t.prototype.zoomCanvas=function(){var t=this.config,e=this.ctx,i=t.canvasElement,n=t.dpr,r=[this.boxWidth*n,this.boxHeight*n],o=r[0],s=r[1],a=function(t){return(t*n-t)/(t*n)*(n/2)*100};i&&(i.width=o,i.height=s,i.style.width=o+"px",i.style.height=s+"px",i.style.transform="scale("+1/n+") translate("+-a(o)+"%, "+-a(s)+"%)",e.scale(n,n))},t.prototype.loadImg=function(t,e,i){var n=this;return void 0===i&&(i="$resolve"),new Promise((function(r,o){if(t||o("=> '"+e.src+"' 不能为空或不合法"),"WEB"===n.config.flag){var s=new Image;s.src=t,s.onload=function(){return r(s)},s.onerror=function(){return o("=> '"+e.src+"' 图片加载失败")}}else e[i]=r}))},t.prototype.drawImage=function(t,e,i,n,r){var o,s=this.config,a=this.ctx;return["WEB","MP-WX"].includes(s.flag)?o=t:["UNI-H5","UNI-MP","TARO-H5","TARO-MP"].includes(s.flag)&&(o=t.path),a.drawImage(o,e,i,n,r)},t.prototype.getLength=function(t){return s(t,"number")?t:s(t,"string")?this.changeUnits(t):0},t.prototype.changeUnits=function(t,e){var i=this;return void 0===e&&(e=1),Number(t.replace(/^([-]*[0-9.]*)([a-z%]*)$/,(function(t,n,r){var o={"%":function(t){return t*(e/100)},px:function(t){return 1*t},rem:function(t){return t*i.htmlFontSize}}[r];if(o)return o(n);var s=i.config.unitFunc;return s?s(n,r):n})))},t.prototype.$set=function(t,e,i){t&&"object"==typeof t&&m(t,e,i)},t.prototype.$computed=function(t,e,i){var n=this;Object.defineProperty(t,e,{get:function(){return i.call(n)}})},t.prototype.$watch=function(t,e,i){void 0===i&&(i={}),"object"==typeof e&&(e=(i=e).handler);var n=new b(this,t,e,i);return i.immediate&&e.call(this,n.value),function(){}},t}(),w=function(t){return Math.PI/180*t},x=function(t,e){return[+(Math.cos(t)*e).toFixed(8),+(Math.sin(t)*e).toFixed(8)]},z=function(t,e){var i=-t/e;return[i,-i*t+e]},I=function(t,e,i,n,r,o){var s;if(void 0===o&&(o=!0),Math.abs(r-n).toFixed(8)>=w(180).toFixed(8)){var a=(r+n)/2;return o?(I(t,e,i,n,a,o),I(t,e,i,a,r,o)):(I(t,e,i,a,r,o),I(t,e,i,n,a,o)),!1}o||(n=(s=[r,n])[0],r=s[1]);var u=x(n,i),h=u[0],c=u[1],l=x(r,i),f=l[0],d=l[1],p=z(h,c),g=p[0],m=p[1],v=z(f,d),b=v[0],y=v[1],k=(y-m)/(g-b),S=(b*m-g*y)/(b-g);isNaN(k)&&(Math.abs(h)===+i.toFixed(8)&&(k=h),Math.abs(f)===+i.toFixed(8)&&(k=f)),g===1/0||g===-1/0?S=b*k+y:b!==1/0&&b!==-1/0||(S=g*k+m),e.lineTo(h,c),t.indexOf("MP")>0?e.quadraticCurveTo(k,S,f,d):e.arcTo(k,S,f,d,i)},k=function(t,e,i,n,r,o,s,a){i||(i=s);var u=w(90/Math.PI/n*s),h=w(90/Math.PI/i*s),c=r+u,l=o-u,f=r+h,d=o-h;e.beginPath(),e.fillStyle=a,e.moveTo.apply(e,x(c,n)),I(t,e,n,c,l,!0),d>f?I(t,e,i,f,d,!1):e.lineTo.apply(e,x((r+o)/2,s/2/Math.abs(Math.sin((r-o)/2)))),e.closePath(),e.fill()},S=function(t,e,i,n,r,o,s){var a=Math.min(n,r);o>a/2&&(o=a/2),t.beginPath(),t.fillStyle=s,t.moveTo(e+o,i),t.lineTo(e+o,i),t.lineTo(e+n-o,i),t.quadraticCurveTo(e+n,i,e+n,i+o),t.lineTo(e+n,i+r-o),t.quadraticCurveTo(e+n,i+r,e+n-o,i+r),t.lineTo(e+o,i+r),t.quadraticCurveTo(e,i+r,e,i+r-o),t.lineTo(e,i+o),t.quadraticCurveTo(e,i,e+o,i),t.closePath(),t.fill()},C={easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),-i*(t/=n)*(t-2)+e}},T={easeIn:function(t,e,i,n){return t>=n&&(t=n),-i*Math.cos(t/n*(Math.PI/2))+i+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*Math.sin(t/n*(Math.PI/2))+e}},W={easeIn:function(t,e,i,n){return t>=n&&(t=n),0==t?e:i*Math.pow(2,10*(t/n-1))+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),t==n?e+i:i*(1-Math.pow(2,-10*t/n))+e}},O={easeIn:function(t,e,i,n){return t>=n&&(t=n),-i*(Math.sqrt(1-(t/=n)*t)-1)+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*Math.sqrt(1-(t=t/n-1)*t)+e}},_=Object.freeze({__proto__:null,quad:C,cubic:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*((t=t/n-1)*t*t+1)+e}},quart:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),-i*((t=t/n-1)*t*t*t-1)+e}},quint:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*((t=t/n-1)*t*t*t*t+1)+e}},sine:T,expo:W,circ:O}),E=function(t){function o(e,i){var n;void 0===i&&(i={});var r=t.call(this,e)||this;return r.blocks=[],r.prizes=[],r.buttons=[],r.defaultConfig={},r._defaultConfig={gutter:"0px",offsetDegree:0,speed:20,speedFunction:"quad",accelerationTime:2500,decelerationTime:2500,stopRange:.8},r.defaultStyle={},r._defaultStyle={fontSize:"18px",fontColor:"#000",fontStyle:"sans-serif",fontWeight:"400",lineHeight:"",background:"rgba(0,0,0,0)",wordWrap:!0,lengthLimit:"90%"},r.Radius=0,r.prizeRadius=0,r.prizeDeg=0,r.prizeRadian=0,r.rotateDeg=0,r.maxBtnRadius=0,r.startTime=0,r.endTime=0,r.stopDeg=0,r.endDeg=0,r.FPS=16.6,r.blockImgs=[[]],r.prizeImgs=[[]],r.btnImgs=[[]],e.ob&&(r.initData(i),r.initWatch()),r.initComputed(),null===(n=e.beforeCreate)||void 0===n||n.call(r),r.init({blockImgs:r.blocks.map((function(t){return t.imgs})),prizeImgs:r.prizes.map((function(t){return t.imgs})),btnImgs:r.buttons.map((function(t){return t.imgs}))}),r}return e(o,t),o.prototype.initData=function(t){this.$set(this,"blocks",t.blocks||[]),this.$set(this,"prizes",t.prizes||[]),this.$set(this,"buttons",t.buttons||[]),this.$set(this,"defaultConfig",t.defaultConfig||{}),this.$set(this,"defaultStyle",t.defaultStyle||{}),this.$set(this,"startCallback",t.start),this.$set(this,"endCallback",t.end)},o.prototype.initComputed=function(){var t=this;this.$computed(this,"_defaultConfig",(function(){return i({gutter:"0px",offsetDegree:0,speed:20,speedFunction:"quad",accelerationTime:2500,decelerationTime:2500,stopRange:.8},t.defaultConfig)})),this.$computed(this,"_defaultStyle",(function(){return i({fontSize:"18px",fontColor:"#000",fontStyle:"sans-serif",fontWeight:"400",background:"rgba(0,0,0,0)",wordWrap:!0,lengthLimit:"90%"},t.defaultStyle)}))},o.prototype.initWatch=function(){var t=this;this.$watch("blocks",(function(e){return t.init({blockImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch("prizes",(function(e){return t.init({prizeImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch("buttons",(function(e){return t.init({btnImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch("defaultConfig",(function(){return t.draw()}),{deep:!0}),this.$watch("defaultStyle",(function(){return t.draw()}),{deep:!0}),this.$watch("startCallback",(function(){return t.init({})})),this.$watch("endCallback",(function(){return t.init({})}))},o.prototype.init=function(e){var i,n,r=this;t.prototype.init.call(this);var o=this.config,s=this.ctx;this.Radius=Math.min(this.boxWidth,this.boxHeight)/2,null===(i=o.beforeInit)||void 0===i||i.call(this),s.translate(this.Radius,this.Radius),this.draw(),this.draw(),Object.keys(e).forEach((function(t){var i=t,n={blockImgs:"blocks",prizeImgs:"prizes",btnImgs:"buttons"}[i],o=e[i];o&&o.forEach((function(t,e){t&&t.forEach((function(t,o){r.loadAndCacheImg(n,e,i,o,(function(){r.draw()}))}))}))})),null===(n=o.afterInit)||void 0===n||n.call(this)},o.prototype.handleClick=function(t){var e,i=this.ctx;i.beginPath(),i.arc(0,0,this.maxBtnRadius,0,2*Math.PI,!1),i.isPointInPath(t.offsetX,t.offsetY)&&(this.startTime||null===(e=this.startCallback)||void 0===e||e.call(this,t))},o.prototype.loadAndCacheImg=function(t,e,i,o,s){return n(this,void 0,void 0,(function(){var n,a,u=this;return r(this,(function(r){return(n=this[t][e])&&n.imgs&&(a=n.imgs[o])?(this[i][e]||(this[i][e]=[]),this.loadImg(a.src,a).then((function(t){u[i][e][o]=t,s.call(u)})).catch((function(i){console.error(t+"["+e+"].imgs["+o+"] "+i)})),[2]):[2]}))}))},o.prototype.computedWidthAndHeight=function(t,e,i,n){if(!e.width&&!e.height)return[t.width,t.height];if(e.width&&!e.height){var r=this.getWidth(e.width,i);return[r,t.height*(r/t.width)]}if(!e.width&&e.height){var o=this.getHeight(e.height,n);return[t.width*(o/t.height),o]}return[this.getWidth(e.width,i),this.getHeight(e.height,n)]},o.prototype.draw=function(){var t,e,i=this,n=this,r=n.config,o=n.ctx,s=n._defaultConfig,h=n._defaultStyle;null===(t=r.beforeDraw)||void 0===t||t.call(this,o),o.clearRect(-this.Radius,-this.Radius,2*this.Radius,2*this.Radius),this.prizeRadius=this.blocks.reduce((function(t,e,n){return u(e.background)&&(o.beginPath(),o.fillStyle=e.background,o.arc(0,0,t,0,2*Math.PI,!1),o.fill()),e.imgs&&e.imgs.forEach((function(e,r){if(i.blockImgs[n]){var s=i.blockImgs[n][r];if(s){var a=i.computedWidthAndHeight(s,e,2*t,2*t),u=a[0],h=a[1],c=[i.getOffsetX(u),i.getHeight(e.top,2*t)-t],l=c[0],f=c[1];o.save(),e.rotate&&o.rotate(w(i.rotateDeg)),i.drawImage(s,l,f,u,h),o.restore()}}})),t-i.getLength(e.padding&&e.padding.split(" ")[0])}),this.Radius),this.prizeDeg=360/this.prizes.length,this.prizeRadian=w(this.prizeDeg);var c=w(-90+this.rotateDeg+s.offsetDegree),l=function(t){return i.getOffsetX(o.measureText(t).width)},f=function(t,e,n){var r=t.lineHeight||h.lineHeight||t.fontSize||h.fontSize;return i.getHeight(t.top,e)+(n+1)*i.getLength(r)};o.save(),this.prizes.forEach((function(t,e){var n=c+e*i.prizeRadian,d=i.prizeRadius-i.maxBtnRadius,p=t.background||h.background;u(p)&&function(t,e,i,n,r,o,s,a){s?k(t,e,i,n,r,o,s,a):(e.beginPath(),e.fillStyle=a,e.moveTo(0,0),e.arc(0,0,n,r,o,!1),e.closePath(),e.fill())}(r.flag,o,i.maxBtnRadius,i.prizeRadius,n-i.prizeRadian/2,n+i.prizeRadian/2,i.getLength(s.gutter),p);var g=Math.cos(n)*i.prizeRadius,m=Math.sin(n)*i.prizeRadius;o.translate(g,m),o.rotate(n+w(90)),t.imgs&&t.imgs.forEach((function(t,n){if(i.prizeImgs[e]){var r=i.prizeImgs[e][n];if(r){var o=i.computedWidthAndHeight(r,t,i.prizeRadian*i.prizeRadius,d),s=o[0],a=o[1],u=[i.getOffsetX(s),i.getHeight(t.top,d)],h=u[0],c=u[1];i.drawImage(r,h,c,s,a)}}})),t.fonts&&t.fonts.forEach((function(t){var e=t.fontColor||h.fontColor,n=t.fontWeight||h.fontWeight,r=i.getLength(t.fontSize||h.fontSize),u=t.fontStyle||h.fontStyle;o.fillStyle=e,o.font=n+" "+(r>>0)+"px "+u;var c=[],p=String(t.text);if(Object.prototype.hasOwnProperty.call(t,"wordWrap")?t.wordWrap:h.wordWrap){p=a(p);for(var g="",m=0;m<p.length;m++){g+=p[m];var v=o.measureText(g).width,b=(i.prizeRadius-f(t,d,c.length))*Math.tan(i.prizeRadian/2)*2-i.getLength(s.gutter);v>i.getWidth(t.lengthLimit||h.lengthLimit,b)&&(c.push(g.slice(0,-1)),g=p[m])}g&&c.push(g),c.length||c.push(p)}else c=p.split("\n");c.filter((function(t){return!!t})).forEach((function(e,i){o.fillText(e,l(e),f(t,d,i))}))})),o.rotate(w(360)-n-w(90)),o.translate(-g,-m)})),o.restore(),this.buttons.forEach((function(t,e){var n=i.getHeight(t.radius);i.maxBtnRadius=Math.max(i.maxBtnRadius,n),u(t.background)&&(o.beginPath(),o.fillStyle=t.background,o.arc(0,0,n,0,2*Math.PI,!1),o.fill()),t.pointer&&u(t.background)&&(o.beginPath(),o.fillStyle=t.background,o.moveTo(-n,0),o.lineTo(n,0),o.lineTo(0,2*-n),o.closePath(),o.fill()),t.imgs&&t.imgs.forEach((function(t,r){if(i.btnImgs[e]){var o=i.btnImgs[e][r];if(o){var s=i.computedWidthAndHeight(o,t,2*n,2*n),a=s[0],u=s[1],h=[i.getOffsetX(a),i.getHeight(t.top,n)],c=h[0],l=h[1];i.drawImage(o,c,l,a,u)}}})),t.fonts&&t.fonts.forEach((function(t){var e=t.fontColor||h.fontColor,r=t.fontWeight||h.fontWeight,s=i.getLength(t.fontSize||h.fontSize),a=t.fontStyle||h.fontStyle;o.fillStyle=e,o.font=r+" "+(s>>0)+"px "+a,String(t.text).split("\n").forEach((function(e,i){o.fillText(e,l(e),f(t,n,i))}))}))})),null===(e=r.afterDraw)||void 0===e||e.call(this,o)},o.prototype.play=function(){this.startTime||(this.startTime=Date.now(),this.prizeFlag=void 0,this.run())},o.prototype.stop=function(t){this.prizeFlag=t<0?-1:t%this.prizes.length,-1===this.prizeFlag&&(this.rotateDeg=this.prizeDeg/2-this._defaultConfig.offsetDegree,this.draw())},o.prototype.run=function(t){void 0===t&&(t=0);var e=this,i=e.rAF,n=e.prizeFlag,r=e.prizeDeg,o=e.rotateDeg,s=e._defaultConfig,a=Date.now()-this.startTime;if(a>=s.accelerationTime&&void 0!==n){this.FPS=a/t,this.endTime=Date.now(),this.stopDeg=o;for(var u=(Math.random()*r-r/2)*this.getLength(s.stopRange),h=0;++h;){var c=360*h-n*r-o-s.offsetDegree+u;if(_[s.speedFunction].easeOut(this.FPS,this.stopDeg,c,s.decelerationTime)-this.stopDeg>s.speed){this.endDeg=c;break}}return this.slowDown()}this.rotateDeg=(o+_[s.speedFunction].easeIn(a,0,s.speed,s.accelerationTime))%360,this.draw(),i(this.run.bind(this,t+1))},o.prototype.slowDown=function(){var t,e=this,n=e.rAF,r=e.prizes,o=e.prizeFlag,s=e.stopDeg,a=e.endDeg,u=e._defaultConfig,h=Date.now()-this.endTime;if(-1!==o){if(h>=u.decelerationTime)return this.startTime=0,void(null===(t=this.endCallback)||void 0===t||t.call(this,i({},r.find((function(t,e){return e===o})))));this.rotateDeg=_[u.speedFunction].easeOut(h,s,a,u.decelerationTime)%360,this.draw(),n(this.slowDown.bind(this))}else this.startTime=0},o.prototype.getWidth=function(t,e){return void 0===e&&(e=this.prizeRadian*this.prizeRadius),s(t,"number")?t:s(t,"string")?this.changeUnits(t,e):0},o.prototype.getHeight=function(t,e){return void 0===e&&(e=this.prizeRadius),s(t,"number")?t:s(t,"string")?this.changeUnits(t,e):0},o.prototype.getOffsetX=function(t){return-t/2},o.prototype.conversionAxis=function(t,e){var i=this.config;return[t/i.dpr-this.Radius,e/i.dpr-this.Radius]},o}(y),P=function(t){function h(e,i){var n;void 0===i&&(i={});var r=t.call(this,e)||this;r.rows=3,r.cols=3,r.blocks=[],r.prizes=[],r.buttons=[],r.defaultConfig={},r._defaultConfig={gutter:5,speed:20,accelerationTime:2500,decelerationTime:2500},r.defaultStyle={},r._defaultStyle={borderRadius:20,fontColor:"#000",fontSize:"18px",fontStyle:"sans-serif",fontWeight:"400",lineHeight:"",background:"rgba(0,0,0,0)",shadow:"",wordWrap:!0,lengthLimit:"90%"},r.activeStyle={},r._activeStyle={background:"#ffce98",shadow:"",fontStyle:"",fontWeight:"",fontSize:"",lineHeight:"",fontColor:""},r.cellWidth=0,r.cellHeight=0,r.startTime=0,r.endTime=0,r.currIndex=0,r.stopIndex=0,r.endIndex=0,r.demo=!1,r.timer=0,r.FPS=16.6,r.prizeFlag=-1,r.cells=[],r.blockImgs=[[]],r.btnImgs=[[]],r.prizeImgs=[],e.ob&&(r.initData(i),r.initWatch()),r.initComputed(),null===(n=e.beforeCreate)||void 0===n||n.call(r);var o=r.buttons.map((function(t){return t.imgs}));return r.button&&o.push(r.button.imgs),r.init({blockImgs:r.blocks.map((function(t){return t.imgs})),prizeImgs:r.prizes.map((function(t){return t.imgs})),btnImgs:o}),r}return e(h,t),h.prototype.initData=function(t){this.$set(this,"rows",Number(t.rows)||3),this.$set(this,"cols",Number(t.cols)||3),this.$set(this,"blocks",t.blocks||[]),this.$set(this,"prizes",t.prizes||[]),this.$set(this,"buttons",t.buttons||[]),this.$set(this,"button",t.button),this.$set(this,"defaultConfig",t.defaultConfig||{}),this.$set(this,"defaultStyle",t.defaultStyle||{}),this.$set(this,"activeStyle",t.activeStyle||{}),this.$set(this,"startCallback",t.start),this.$set(this,"endCallback",t.end)},h.prototype.initComputed=function(){var t=this;this.$computed(this,"_defaultConfig",(function(){var e=i({gutter:5,speed:20,accelerationTime:2500,decelerationTime:2500},t.defaultConfig);return e.gutter=t.getLength(e.gutter),e.speed=e.speed/40,e})),this.$computed(this,"_defaultStyle",(function(){return i({borderRadius:20,fontColor:"#000",fontSize:"18px",fontStyle:"sans-serif",fontWeight:"400",background:"rgba(0,0,0,0)",shadow:"",wordWrap:!0,lengthLimit:"90%"},t.defaultStyle)})),this.$computed(this,"_activeStyle",(function(){return i({background:"#ffce98",shadow:""},t.activeStyle)}))},h.prototype.initWatch=function(){var t=this;this.$watch("blocks",(function(e){return t.init({blockImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch("prizes",(function(e){return t.init({prizeImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch("buttons",(function(e){var i=e.map((function(t){return t.imgs}));return t.button&&i.push(t.button.imgs),t.init({btnImgs:i})}),{deep:!0}),this.$watch("button",(function(){var e=t.buttons.map((function(t){return t.imgs}));return t.button&&e.push(t.button.imgs),t.init({btnImgs:e})}),{deep:!0}),this.$watch("rows",(function(){return t.init({})})),this.$watch("cols",(function(){return t.init({})})),this.$watch("defaultConfig",(function(){return t.draw()}),{deep:!0}),this.$watch("defaultStyle",(function(){return t.draw()}),{deep:!0}),this.$watch("activeStyle",(function(){return t.draw()}),{deep:!0}),this.$watch("startCallback",(function(){return t.init({})})),this.$watch("endCallback",(function(){return t.init({})}))},h.prototype.init=function(e){var i,n,r=this;t.prototype.init.call(this);var o=this,s=o.config;o.ctx,o.button,null===(i=s.beforeInit)||void 0===i||i.call(this),this.draw(),Object.keys(e).forEach((function(t){var i=t,n=e[i],o={blockImgs:"blocks",prizeImgs:"prizes",btnImgs:"buttons"}[i];n&&n.forEach((function(t,e){t&&t.forEach((function(t,n){r.loadAndCacheImg(o,e,i,n,(function(){r.draw()}))}))}))})),null===(n=s.afterInit)||void 0===n||n.call(this)},h.prototype.handleClick=function(t){var e=this,i=this.ctx;o(o([],this.buttons),[this.button]).forEach((function(n){var r;if(n){var o=e.getGeometricProperty([n.x,n.y,n.col||1,n.row||1]),s=o[0],a=o[1],u=o[2],h=o[3];i.beginPath(),i.rect(s,a,u,h),i.isPointInPath(t.offsetX,t.offsetY)&&(e.startTime||("function"==typeof n.callback&&n.callback.call(e,n),null===(r=e.startCallback)||void 0===r||r.call(e,t,n)))}}))},h.prototype.loadAndCacheImg=function(t,e,i,o,s){return n(this,void 0,void 0,(function(){var n,a,u,h=this;return r(this,(function(r){return n=this[t][e],"buttons"===t&&!this.buttons.length&&this.button&&(n=this.button),n&&n.imgs&&(a=n.imgs[o])?(this[i][e]||(this[i][e]=[]),u=[this.loadImg(a.src,a),a.activeSrc&&this.loadImg(a.activeSrc,a,"$activeResolve")],Promise.all(u).then((function(t){var n=t[0],r=t[1];h[i][e][o]={defaultImg:n,activeImg:r},s.call(h)})).catch((function(i){console.error(t+"["+e+"].imgs["+o+"] "+i)})),[2]):[2]}))}))},h.prototype.computedWidthAndHeight=function(t,e,i){if(!e.width&&!e.height)return[t.width,t.height];if(e.width&&!e.height){var n=this.getWidth(e.width,i.col);return[n,t.height*(n/t.width)]}if(!e.width&&e.height){var r=this.getHeight(e.height,i.row);return[t.width*(r/t.height),r]}return[this.getWidth(e.width,i.col),this.getHeight(e.height,i.row)]},h.prototype.draw=function(){var t,e,i=this,n=this,r=n.config,h=n.ctx,c=n._defaultConfig,l=n._defaultStyle,f=n._activeStyle;null===(t=r.beforeDraw)||void 0===t||t.call(this,h),h.clearRect(0,0,this.boxWidth,this.boxHeight),this.cells=o(o([],this.prizes),this.buttons),this.button&&this.cells.push(this.button),this.cells.forEach((function(t){t.col=t.col||1,t.row=t.row||1})),this.prizeArea=this.blocks.reduce((function(t,e){var n=t.x,r=t.y,o=t.w,a=t.h,c=function(t){var e,i=(null===(e=t.padding)||void 0===e?void 0:e.replace(/px/g,"").split(" ").map((function(t){return~~t})))||[0],n=0,r=0,o=0,a=0;switch(i.length){case 1:n=r=o=a=i[0];break;case 2:n=r=i[0],o=a=i[1];break;case 3:n=i[0],o=a=i[1],r=i[2];break;default:n=i[0],r=i[1],o=i[2],a=i[3]}var u={paddingTop:n,paddingBottom:r,paddingLeft:o,paddingRight:a};for(var h in u)u[h]=Object.prototype.hasOwnProperty.call(t,h)&&s(t[h],"string","number")?~~String(t[h]).replace(/px/g,""):u[h];return[n,r,o,a]}(e),f=c[0],d=c[1],p=c[2],g=c[3],m=e.borderRadius?i.getLength(e.borderRadius):0,v=e.background||l.background;return u(v)&&S(h,n,r,o,a,m,i.handleBackground(n,r,o,a,v)),{x:n+p,y:r+f,w:o-p-g,h:a-f-d}}),{x:0,y:0,w:this.boxWidth,h:this.boxHeight}),this.cellWidth=(this.prizeArea.w-c.gutter*(this.cols-1))/this.cols,this.cellHeight=(this.prizeArea.h-c.gutter*(this.rows-1))/this.rows,this.cells.forEach((function(t,e){var n=i.getGeometricProperty([t.x,t.y,t.col,t.row]),o=n[0],s=n[1],c=n[2],d=n[3],p=!1;(void 0===i.prizeFlag||i.prizeFlag>-1)&&(p=e===i.currIndex%i.prizes.length>>0);var g=p?f.background:t.background||l.background;if(u(g)){var m=(p?f.shadow:t.shadow||l.shadow).replace(/px/g,"").split(",")[0].split(" ").map((function(t,e){return e<3?Number(t):t}));4===m.length&&(h.shadowColor=m[3],h.shadowOffsetX=m[0]*r.dpr,h.shadowOffsetY=m[1]*r.dpr,h.shadowBlur=m[2],m[0]>0?c-=m[0]:(c+=m[0],o-=m[0]),m[1]>0?d-=m[1]:(d+=m[1],s-=m[1])),S(h,o,s,c,d,i.getLength(t.borderRadius?t.borderRadius:l.borderRadius),i.handleBackground(o,s,c,d,g)),h.shadowColor="rgba(0, 0, 0, 0)",h.shadowOffsetX=0,h.shadowOffsetY=0,h.shadowBlur=0}var v="prizeImgs";e>=i.prizes.length&&(v="btnImgs",e-=i.prizes.length),t.imgs&&t.imgs.forEach((function(n,r){if(i[v][e]){var a=i[v][e][r];if(a){var u=p&&a.activeImg||a.defaultImg;if(u){var h=i.computedWidthAndHeight(u,n,t),c=h[0],l=h[1],f=[o+i.getOffsetX(c,t.col),s+i.getHeight(n.top,t.row)],d=f[0],g=f[1];i.drawImage(u,d,g,c,l)}}}})),t.fonts&&t.fonts.forEach((function(e){var n=p&&f.fontStyle?f.fontStyle:e.fontStyle||l.fontStyle,r=p&&f.fontWeight?f.fontWeight:e.fontWeight||l.fontWeight,u=p&&f.fontSize?i.getLength(f.fontSize):i.getLength(e.fontSize||l.fontSize),c=p&&f.lineHeight?f.lineHeight:e.lineHeight||l.lineHeight||e.fontSize||l.fontSize;h.font=r+" "+(u>>0)+"px "+n,h.fillStyle=p&&f.fontColor?f.fontColor:e.fontColor||l.fontColor;var d=[],g=String(e.text);if(Object.prototype.hasOwnProperty.call(e,"wordWrap")?e.wordWrap:l.wordWrap){g=a(g);for(var m="",v=0;v<g.length;v++){m+=g[v],h.measureText(m).width>i.getWidth(e.lengthLimit||l.lengthLimit,t.col)&&(d.push(m.slice(0,-1)),m=g[v])}m&&d.push(m),d.length||d.push(g)}else d=g.split("\n");d.forEach((function(n,r){h.fillText(n,o+i.getOffsetX(h.measureText(n).width,t.col),s+i.getHeight(e.top,t.row)+(r+1)*i.getLength(c))}))}))})),null===(e=r.afterDraw)||void 0===e||e.call(this,h)},h.prototype.handleBackground=function(t,e,i,n,r){var o=this.ctx;return r.includes("linear-gradient")&&(r=function(t,e,i,n,r,o){var s=/linear-gradient\((.+)\)/.exec(o)[1].split(",").map((function(t){return t.trim()})),a=s.shift(),u=[0,0,0,0];if(a.includes("deg")){var h=function(t){return Math.tan(t/180*Math.PI)};(a=a.slice(0,-3)%360)>=0&&a<45?u=[e,i+r,e+n,i+r-n*h(a-0)]:a>=45&&a<90?u=[e,i+r,e+n-r*h(a-45),i]:a>=90&&a<135?u=[e+n,i+r,e+n-r*h(a-90),i]:a>=135&&a<180?u=[e+n,i+r,e,i+n*h(a-135)]:a>=180&&a<225?u=[e+n,i,e,i+n*h(a-180)]:a>=225&&a<270?u=[e+n,i,e+r*h(a-225),i+r]:a>=270&&a<315?u=[e,i,e+r*h(a-270),i+r]:a>=315&&a<360&&(u=[e,i,e+n,i+r-n*h(a-315)])}else a.includes("top")?u=[e,i+r,e,i]:a.includes("bottom")?u=[e,i,e,i+r]:a.includes("left")?u=[e+n,i,e,i]:a.includes("right")&&(u=[e,i,e+n,i]);var c=t.createLinearGradient.apply(t,u.map((function(t){return t>>0})));return s.reduce((function(t,e,i){var n=e.split(" ");return 1===n.length?t.addColorStop(i,n[0]):2===n.length&&t.addColorStop.apply(t,n),t}),c)}(o,t,e,i,n,r)),r},h.prototype.play=function(){var t=this.config.clearInterval;this.startTime||(t(this.timer),this.startTime=Date.now(),this.prizeFlag=void 0,this.run())},h.prototype.stop=function(t){this.prizeFlag=t<0?-1:t%this.prizes.length,-1===this.prizeFlag&&(this.currIndex=0,this.draw())},h.prototype.run=function(t){void 0===t&&(t=0);var e=this,i=e.rAF,n=e.currIndex,r=e.prizes,o=e.prizeFlag,s=e.startTime,a=e._defaultConfig,u=Date.now()-s;if(u>=a.accelerationTime&&void 0!==o){this.FPS=u/t,this.endTime=Date.now(),this.stopIndex=n;for(var h=0;++h;){var c=r.length*h+o-(n>>0);if(C.easeOut(this.FPS,this.stopIndex,c,a.decelerationTime)-this.stopIndex>a.speed){this.endIndex=c;break}}return this.slowDown()}this.currIndex=(n+C.easeIn(u,.1,a.speed,a.accelerationTime))%r.length,this.draw(),i(this.run.bind(this,t+1))},h.prototype.slowDown=function(){var t,e=this,n=e.rAF,r=e.prizes,o=e.prizeFlag,s=e.stopIndex,a=e.endIndex,u=e._defaultConfig,h=Date.now()-this.endTime;if(-1!==o){if(h>u.decelerationTime)return this.startTime=0,void(null===(t=this.endCallback)||void 0===t||t.call(this,i({},r.find((function(t,e){return e===o})))));this.currIndex=C.easeOut(h,s,a,u.decelerationTime)%r.length,this.draw(),n(this.slowDown.bind(this))}else this.startTime=0},h.prototype.walk=function(){var t=this,e=this.config,i=e.setInterval;(0,e.clearInterval)(this.timer),this.timer=i((function(){t.currIndex+=1,t.draw()}),1300)},h.prototype.getGeometricProperty=function(t){var e=t[0],i=t[1],n=t[2],r=t[3],o=this.cellWidth,s=this.cellHeight,a=this._defaultConfig.gutter,u=[this.prizeArea.x+(o+a)*e,this.prizeArea.y+(s+a)*i];return n&&r&&u.push(o*n+a*(n-1),s*r+a*(r-1)),u},h.prototype.getWidth=function(t,e){return void 0===e&&(e=1),s(t,"number")?t:s(t,"string")?this.changeUnits(t,this.cellWidth*e+this._defaultConfig.gutter*(e-1)):0},h.prototype.getHeight=function(t,e){return void 0===e&&(e=1),s(t,"number")?t:s(t,"string")?this.changeUnits(t,this.cellHeight*e+this._defaultConfig.gutter*(e-1)):0},h.prototype.getOffsetX=function(t,e){return void 0===e&&(e=1),(this.cellWidth*e+this._defaultConfig.gutter*(e-1)-t)/2},h.prototype.conversionAxis=function(t,e){var i=this.config;return[t/i.dpr,e/i.dpr]},h}(y);exports.LuckyGrid=P,exports.LuckyWheel=E; | ||
| 28 | + | ||
| 29 | +}, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); }) | ||
| 30 | +return __REQUIRE__(1625793648862); | ||
| 31 | +})() | ||
| 32 | +//miniprogram-npm-outsideDeps=[] | ||
| 33 | +//# sourceMappingURL=index.js.map | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
packageB/miniprogram_npm/lucky-canvas/index.js.map
0 → 100644
| 1 | +{"version":3,"sources":["index.js","dist/lucky-canvas.cjs.min.js"],"names":[],"mappings":";;;;;;;AAAA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.js","sourcesContent":["module.exports = require('./dist/lucky-canvas.cjs.min.js')\r\n","Object.defineProperty(exports,\"__esModule\",{value:!0});\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(e,i)};function e(e,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}var i=function(){return(i=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function n(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))}function r(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function o(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t}String.prototype.includes||(String.prototype.includes=function(t,e){return\"number\"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)}),Array.prototype.find||Object.defineProperty(Array.prototype,\"find\",{value:function(t){if(null==this)throw new TypeError('\"this\" is null or not defined');var e=Object(this),i=e.length>>>0;if(\"function\"!=typeof t)throw new TypeError(\"predicate must be a function\");for(var n=arguments[1],r=0;r<i;){var o=e[r];if(t.call(n,o,r,e))return o;r++}}});var s=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];return e.some((function(e){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()===e}))},a=function(t){return[].filter.call(t,(function(t){return\"\\n\"!==t})).join(\"\")},u=function(t){if(\"string\"!=typeof t)return!1;if(\"transparent\"===(t=t.toLocaleLowerCase().trim()))return!1;if(/^rgba/.test(t)){var e=/([^\\s,]+)\\)$/.exec(t);if(0===(null===(i=e)?0:\"object\"==typeof i?NaN:\"number\"==typeof i?i:\"string\"==typeof i?\"%\"===i[i.length-1]?Number(i.slice(0,-1))/100:Number(i):NaN))return!1}var i;return!0},h=function(){function t(){this.subs=[]}return t.prototype.addSub=function(t){this.subs.includes(t)||this.subs.push(t)},t.prototype.notify=function(){this.subs.forEach((function(t){t.update()}))},t}(),c=\"__proto__\"in{};function l(t,e,i,n){Object.defineProperty(t,e,{value:i,enumerable:!!n,writable:!0,configurable:!0})}var f=Array.prototype,d=Object.create(f);[\"push\",\"pop\",\"shift\",\"unshift\",\"sort\",\"splice\",\"reverse\"].forEach((function(t){d[t]=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];var n=f[t].apply(this,e),r=this.__luckyOb__;return[\"push\",\"unshift\",\"splice\"].includes(t)&&r.walk(this),r.dep.notify(),n}}));var p=function(){function t(t){this.dep=new h,l(t,\"__luckyOb__\",this),Array.isArray(t)&&(c?t.__proto__=d:Object.getOwnPropertyNames(d).forEach((function(e){l(t,e,d[e])}))),this.walk(t)}return t.prototype.walk=function(t){Object.keys(t).forEach((function(e){m(t,e,t[e])}))},t}();function g(t){if(t&&\"object\"==typeof t)return\"__luckyOb__\"in t?t.__luckyOb__:new p(t)}function m(t,e,i){var n=new h,r=Object.getOwnPropertyDescriptor(t,e);if(!r||!1!==r.configurable){var o=r&&r.get,s=r&&r.set;o&&!s||2!==arguments.length||(i=t[e]);var a=g(i);Object.defineProperty(t,e,{get:function(){var e=o?o.call(t):i;return h.target&&(n.addSub(h.target),a&&a.dep.addSub(h.target)),e},set:function(e){e!==i&&(i=e,o&&!s||(s?s.call(t,e):i=e,a=g(e),n.notify()))}})}}var v=0,b=function(){function t(t,e,i,n){void 0===n&&(n={}),this.id=v++,this.$lucky=t,this.expr=e,this.deep=!!n.deep,this.getter=\"function\"==typeof e?e:function(t){t+=\".\";for(var e=[],i=\"\",n=0;n<t.length;n++){var r=t[n];if(/\\[|\\./.test(r))e.push(i),i=\"\";else{if(/\\W/.test(r))continue;i+=r}}return function(t){return e.reduce((function(t,e){return t[e]}),t)}}(e),this.cb=i,this.value=this.get()}return t.prototype.get=function(){h.target=this;var t=this.getter.call(this.$lucky,this.$lucky);return this.deep&&function(t){var e=function(t){s(t,\"array\",\"object\")&&Object.keys(t).forEach((function(i){var n=t[i];e(n)}))};e(t)}(t),h.target=null,t},t.prototype.update=function(){var t=this.get(),e=this.value;this.value=t,this.cb.call(this.$lucky,t,e)},t}(),y=function(){function t(t){var e=this;this.htmlFontSize=16,this.rAF=function(){},this.boxWidth=0,this.boxHeight=0,this.setHTMLFontSize(),\"string\"==typeof t?t={el:t}:1===t.nodeType&&(t={el:\"\",divElement:t}),t=t,this.config=t,this.setDpr(),this.initWindowFunction(),t.flag||(t.flag=\"WEB\"),Object.prototype.hasOwnProperty.call(t,\"ob\")||(t.ob=!0),t.el&&(t.divElement=document.querySelector(t.el)),t.divElement&&(t.canvasElement=document.createElement(\"canvas\"),t.divElement.appendChild(t.canvasElement)),this.resetWidthAndHeight(),t.canvasElement&&(t.ctx=t.canvasElement.getContext(\"2d\"),t.canvasElement.setAttribute(\"package\",\"lucky-canvas@1.5.4\"),t.canvasElement.addEventListener(\"click\",(function(t){return e.handleClick(t)})),t.canvasElement.addEventListener(\"mousemove\",(function(t){return e.handleMouseMove(t)})),t.canvasElement.addEventListener(\"mousedown\",(function(t){return e.handleMouseDown(t)})),t.canvasElement.addEventListener(\"mouseup\",(function(t){return e.handleMouseUp(t)}))),this.ctx=t.ctx,t.ctx?this.boxWidth&&this.boxHeight||console.error(\"无法获取到宽度或高度\"):console.error(\"无法获取到 CanvasContext2D\")}return t.prototype.init=function(t){this.setDpr(),this.setHTMLFontSize(),this.resetWidthAndHeight(),this.zoomCanvas()},t.prototype.handleClick=function(t){},t.prototype.handleMouseDown=function(t){},t.prototype.handleMouseUp=function(t){},t.prototype.handleMouseMove=function(t){},t.prototype.conversionAxis=function(t,e){return[0,0]},t.prototype.setDpr=function(){var t=this.config;t.dpr||(window?window.dpr=t.dpr=window.devicePixelRatio||1:t.dpr||console.error(t,\"未传入 dpr 可能会导致绘制异常\"))},t.prototype.setHTMLFontSize=function(){window&&(this.htmlFontSize=+window.getComputedStyle(document.documentElement).fontSize.slice(0,-2))},t.prototype.resetWidthAndHeight=function(){var t=this.config,e=0,i=0;t.divElement&&(e=t.divElement.offsetWidth,i=t.divElement.offsetHeight),this.boxWidth=this.getLength(t.width)||e,this.boxHeight=this.getLength(t.height)||i,t.divElement&&(t.divElement.style.overflow=\"hidden\",t.divElement.style.width=this.boxWidth+\"px\",t.divElement.style.height=this.boxHeight+\"px\")},t.prototype.initWindowFunction=function(){var t=this.config;if(window)return this.rAF=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)},t.setTimeout=window.setTimeout,t.setInterval=window.setInterval,t.clearTimeout=window.clearTimeout,void(t.clearInterval=window.clearInterval);if(t.rAF)this.rAF=t.rAF;else if(t.setTimeout){var e=t.setTimeout;this.rAF=function(t){return e(t,16.7)}}else this.rAF=function(t){return setTimeout(t,16.7)}},t.prototype.zoomCanvas=function(){var t=this.config,e=this.ctx,i=t.canvasElement,n=t.dpr,r=[this.boxWidth*n,this.boxHeight*n],o=r[0],s=r[1],a=function(t){return(t*n-t)/(t*n)*(n/2)*100};i&&(i.width=o,i.height=s,i.style.width=o+\"px\",i.style.height=s+\"px\",i.style.transform=\"scale(\"+1/n+\") translate(\"+-a(o)+\"%, \"+-a(s)+\"%)\",e.scale(n,n))},t.prototype.loadImg=function(t,e,i){var n=this;return void 0===i&&(i=\"$resolve\"),new Promise((function(r,o){if(t||o(\"=> '\"+e.src+\"' 不能为空或不合法\"),\"WEB\"===n.config.flag){var s=new Image;s.src=t,s.onload=function(){return r(s)},s.onerror=function(){return o(\"=> '\"+e.src+\"' 图片加载失败\")}}else e[i]=r}))},t.prototype.drawImage=function(t,e,i,n,r){var o,s=this.config,a=this.ctx;return[\"WEB\",\"MP-WX\"].includes(s.flag)?o=t:[\"UNI-H5\",\"UNI-MP\",\"TARO-H5\",\"TARO-MP\"].includes(s.flag)&&(o=t.path),a.drawImage(o,e,i,n,r)},t.prototype.getLength=function(t){return s(t,\"number\")?t:s(t,\"string\")?this.changeUnits(t):0},t.prototype.changeUnits=function(t,e){var i=this;return void 0===e&&(e=1),Number(t.replace(/^([-]*[0-9.]*)([a-z%]*)$/,(function(t,n,r){var o={\"%\":function(t){return t*(e/100)},px:function(t){return 1*t},rem:function(t){return t*i.htmlFontSize}}[r];if(o)return o(n);var s=i.config.unitFunc;return s?s(n,r):n})))},t.prototype.$set=function(t,e,i){t&&\"object\"==typeof t&&m(t,e,i)},t.prototype.$computed=function(t,e,i){var n=this;Object.defineProperty(t,e,{get:function(){return i.call(n)}})},t.prototype.$watch=function(t,e,i){void 0===i&&(i={}),\"object\"==typeof e&&(e=(i=e).handler);var n=new b(this,t,e,i);return i.immediate&&e.call(this,n.value),function(){}},t}(),w=function(t){return Math.PI/180*t},x=function(t,e){return[+(Math.cos(t)*e).toFixed(8),+(Math.sin(t)*e).toFixed(8)]},z=function(t,e){var i=-t/e;return[i,-i*t+e]},I=function(t,e,i,n,r,o){var s;if(void 0===o&&(o=!0),Math.abs(r-n).toFixed(8)>=w(180).toFixed(8)){var a=(r+n)/2;return o?(I(t,e,i,n,a,o),I(t,e,i,a,r,o)):(I(t,e,i,a,r,o),I(t,e,i,n,a,o)),!1}o||(n=(s=[r,n])[0],r=s[1]);var u=x(n,i),h=u[0],c=u[1],l=x(r,i),f=l[0],d=l[1],p=z(h,c),g=p[0],m=p[1],v=z(f,d),b=v[0],y=v[1],k=(y-m)/(g-b),S=(b*m-g*y)/(b-g);isNaN(k)&&(Math.abs(h)===+i.toFixed(8)&&(k=h),Math.abs(f)===+i.toFixed(8)&&(k=f)),g===1/0||g===-1/0?S=b*k+y:b!==1/0&&b!==-1/0||(S=g*k+m),e.lineTo(h,c),t.indexOf(\"MP\")>0?e.quadraticCurveTo(k,S,f,d):e.arcTo(k,S,f,d,i)},k=function(t,e,i,n,r,o,s,a){i||(i=s);var u=w(90/Math.PI/n*s),h=w(90/Math.PI/i*s),c=r+u,l=o-u,f=r+h,d=o-h;e.beginPath(),e.fillStyle=a,e.moveTo.apply(e,x(c,n)),I(t,e,n,c,l,!0),d>f?I(t,e,i,f,d,!1):e.lineTo.apply(e,x((r+o)/2,s/2/Math.abs(Math.sin((r-o)/2)))),e.closePath(),e.fill()},S=function(t,e,i,n,r,o,s){var a=Math.min(n,r);o>a/2&&(o=a/2),t.beginPath(),t.fillStyle=s,t.moveTo(e+o,i),t.lineTo(e+o,i),t.lineTo(e+n-o,i),t.quadraticCurveTo(e+n,i,e+n,i+o),t.lineTo(e+n,i+r-o),t.quadraticCurveTo(e+n,i+r,e+n-o,i+r),t.lineTo(e+o,i+r),t.quadraticCurveTo(e,i+r,e,i+r-o),t.lineTo(e,i+o),t.quadraticCurveTo(e,i,e+o,i),t.closePath(),t.fill()},C={easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),-i*(t/=n)*(t-2)+e}},T={easeIn:function(t,e,i,n){return t>=n&&(t=n),-i*Math.cos(t/n*(Math.PI/2))+i+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*Math.sin(t/n*(Math.PI/2))+e}},W={easeIn:function(t,e,i,n){return t>=n&&(t=n),0==t?e:i*Math.pow(2,10*(t/n-1))+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),t==n?e+i:i*(1-Math.pow(2,-10*t/n))+e}},O={easeIn:function(t,e,i,n){return t>=n&&(t=n),-i*(Math.sqrt(1-(t/=n)*t)-1)+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*Math.sqrt(1-(t=t/n-1)*t)+e}},_=Object.freeze({__proto__:null,quad:C,cubic:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*((t=t/n-1)*t*t+1)+e}},quart:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),-i*((t=t/n-1)*t*t*t-1)+e}},quint:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*((t=t/n-1)*t*t*t*t+1)+e}},sine:T,expo:W,circ:O}),E=function(t){function o(e,i){var n;void 0===i&&(i={});var r=t.call(this,e)||this;return r.blocks=[],r.prizes=[],r.buttons=[],r.defaultConfig={},r._defaultConfig={gutter:\"0px\",offsetDegree:0,speed:20,speedFunction:\"quad\",accelerationTime:2500,decelerationTime:2500,stopRange:.8},r.defaultStyle={},r._defaultStyle={fontSize:\"18px\",fontColor:\"#000\",fontStyle:\"sans-serif\",fontWeight:\"400\",lineHeight:\"\",background:\"rgba(0,0,0,0)\",wordWrap:!0,lengthLimit:\"90%\"},r.Radius=0,r.prizeRadius=0,r.prizeDeg=0,r.prizeRadian=0,r.rotateDeg=0,r.maxBtnRadius=0,r.startTime=0,r.endTime=0,r.stopDeg=0,r.endDeg=0,r.FPS=16.6,r.blockImgs=[[]],r.prizeImgs=[[]],r.btnImgs=[[]],e.ob&&(r.initData(i),r.initWatch()),r.initComputed(),null===(n=e.beforeCreate)||void 0===n||n.call(r),r.init({blockImgs:r.blocks.map((function(t){return t.imgs})),prizeImgs:r.prizes.map((function(t){return t.imgs})),btnImgs:r.buttons.map((function(t){return t.imgs}))}),r}return e(o,t),o.prototype.initData=function(t){this.$set(this,\"blocks\",t.blocks||[]),this.$set(this,\"prizes\",t.prizes||[]),this.$set(this,\"buttons\",t.buttons||[]),this.$set(this,\"defaultConfig\",t.defaultConfig||{}),this.$set(this,\"defaultStyle\",t.defaultStyle||{}),this.$set(this,\"startCallback\",t.start),this.$set(this,\"endCallback\",t.end)},o.prototype.initComputed=function(){var t=this;this.$computed(this,\"_defaultConfig\",(function(){return i({gutter:\"0px\",offsetDegree:0,speed:20,speedFunction:\"quad\",accelerationTime:2500,decelerationTime:2500,stopRange:.8},t.defaultConfig)})),this.$computed(this,\"_defaultStyle\",(function(){return i({fontSize:\"18px\",fontColor:\"#000\",fontStyle:\"sans-serif\",fontWeight:\"400\",background:\"rgba(0,0,0,0)\",wordWrap:!0,lengthLimit:\"90%\"},t.defaultStyle)}))},o.prototype.initWatch=function(){var t=this;this.$watch(\"blocks\",(function(e){return t.init({blockImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch(\"prizes\",(function(e){return t.init({prizeImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch(\"buttons\",(function(e){return t.init({btnImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch(\"defaultConfig\",(function(){return t.draw()}),{deep:!0}),this.$watch(\"defaultStyle\",(function(){return t.draw()}),{deep:!0}),this.$watch(\"startCallback\",(function(){return t.init({})})),this.$watch(\"endCallback\",(function(){return t.init({})}))},o.prototype.init=function(e){var i,n,r=this;t.prototype.init.call(this);var o=this.config,s=this.ctx;this.Radius=Math.min(this.boxWidth,this.boxHeight)/2,null===(i=o.beforeInit)||void 0===i||i.call(this),s.translate(this.Radius,this.Radius),this.draw(),this.draw(),Object.keys(e).forEach((function(t){var i=t,n={blockImgs:\"blocks\",prizeImgs:\"prizes\",btnImgs:\"buttons\"}[i],o=e[i];o&&o.forEach((function(t,e){t&&t.forEach((function(t,o){r.loadAndCacheImg(n,e,i,o,(function(){r.draw()}))}))}))})),null===(n=o.afterInit)||void 0===n||n.call(this)},o.prototype.handleClick=function(t){var e,i=this.ctx;i.beginPath(),i.arc(0,0,this.maxBtnRadius,0,2*Math.PI,!1),i.isPointInPath(t.offsetX,t.offsetY)&&(this.startTime||null===(e=this.startCallback)||void 0===e||e.call(this,t))},o.prototype.loadAndCacheImg=function(t,e,i,o,s){return n(this,void 0,void 0,(function(){var n,a,u=this;return r(this,(function(r){return(n=this[t][e])&&n.imgs&&(a=n.imgs[o])?(this[i][e]||(this[i][e]=[]),this.loadImg(a.src,a).then((function(t){u[i][e][o]=t,s.call(u)})).catch((function(i){console.error(t+\"[\"+e+\"].imgs[\"+o+\"] \"+i)})),[2]):[2]}))}))},o.prototype.computedWidthAndHeight=function(t,e,i,n){if(!e.width&&!e.height)return[t.width,t.height];if(e.width&&!e.height){var r=this.getWidth(e.width,i);return[r,t.height*(r/t.width)]}if(!e.width&&e.height){var o=this.getHeight(e.height,n);return[t.width*(o/t.height),o]}return[this.getWidth(e.width,i),this.getHeight(e.height,n)]},o.prototype.draw=function(){var t,e,i=this,n=this,r=n.config,o=n.ctx,s=n._defaultConfig,h=n._defaultStyle;null===(t=r.beforeDraw)||void 0===t||t.call(this,o),o.clearRect(-this.Radius,-this.Radius,2*this.Radius,2*this.Radius),this.prizeRadius=this.blocks.reduce((function(t,e,n){return u(e.background)&&(o.beginPath(),o.fillStyle=e.background,o.arc(0,0,t,0,2*Math.PI,!1),o.fill()),e.imgs&&e.imgs.forEach((function(e,r){if(i.blockImgs[n]){var s=i.blockImgs[n][r];if(s){var a=i.computedWidthAndHeight(s,e,2*t,2*t),u=a[0],h=a[1],c=[i.getOffsetX(u),i.getHeight(e.top,2*t)-t],l=c[0],f=c[1];o.save(),e.rotate&&o.rotate(w(i.rotateDeg)),i.drawImage(s,l,f,u,h),o.restore()}}})),t-i.getLength(e.padding&&e.padding.split(\" \")[0])}),this.Radius),this.prizeDeg=360/this.prizes.length,this.prizeRadian=w(this.prizeDeg);var c=w(-90+this.rotateDeg+s.offsetDegree),l=function(t){return i.getOffsetX(o.measureText(t).width)},f=function(t,e,n){var r=t.lineHeight||h.lineHeight||t.fontSize||h.fontSize;return i.getHeight(t.top,e)+(n+1)*i.getLength(r)};o.save(),this.prizes.forEach((function(t,e){var n=c+e*i.prizeRadian,d=i.prizeRadius-i.maxBtnRadius,p=t.background||h.background;u(p)&&function(t,e,i,n,r,o,s,a){s?k(t,e,i,n,r,o,s,a):(e.beginPath(),e.fillStyle=a,e.moveTo(0,0),e.arc(0,0,n,r,o,!1),e.closePath(),e.fill())}(r.flag,o,i.maxBtnRadius,i.prizeRadius,n-i.prizeRadian/2,n+i.prizeRadian/2,i.getLength(s.gutter),p);var g=Math.cos(n)*i.prizeRadius,m=Math.sin(n)*i.prizeRadius;o.translate(g,m),o.rotate(n+w(90)),t.imgs&&t.imgs.forEach((function(t,n){if(i.prizeImgs[e]){var r=i.prizeImgs[e][n];if(r){var o=i.computedWidthAndHeight(r,t,i.prizeRadian*i.prizeRadius,d),s=o[0],a=o[1],u=[i.getOffsetX(s),i.getHeight(t.top,d)],h=u[0],c=u[1];i.drawImage(r,h,c,s,a)}}})),t.fonts&&t.fonts.forEach((function(t){var e=t.fontColor||h.fontColor,n=t.fontWeight||h.fontWeight,r=i.getLength(t.fontSize||h.fontSize),u=t.fontStyle||h.fontStyle;o.fillStyle=e,o.font=n+\" \"+(r>>0)+\"px \"+u;var c=[],p=String(t.text);if(Object.prototype.hasOwnProperty.call(t,\"wordWrap\")?t.wordWrap:h.wordWrap){p=a(p);for(var g=\"\",m=0;m<p.length;m++){g+=p[m];var v=o.measureText(g).width,b=(i.prizeRadius-f(t,d,c.length))*Math.tan(i.prizeRadian/2)*2-i.getLength(s.gutter);v>i.getWidth(t.lengthLimit||h.lengthLimit,b)&&(c.push(g.slice(0,-1)),g=p[m])}g&&c.push(g),c.length||c.push(p)}else c=p.split(\"\\n\");c.filter((function(t){return!!t})).forEach((function(e,i){o.fillText(e,l(e),f(t,d,i))}))})),o.rotate(w(360)-n-w(90)),o.translate(-g,-m)})),o.restore(),this.buttons.forEach((function(t,e){var n=i.getHeight(t.radius);i.maxBtnRadius=Math.max(i.maxBtnRadius,n),u(t.background)&&(o.beginPath(),o.fillStyle=t.background,o.arc(0,0,n,0,2*Math.PI,!1),o.fill()),t.pointer&&u(t.background)&&(o.beginPath(),o.fillStyle=t.background,o.moveTo(-n,0),o.lineTo(n,0),o.lineTo(0,2*-n),o.closePath(),o.fill()),t.imgs&&t.imgs.forEach((function(t,r){if(i.btnImgs[e]){var o=i.btnImgs[e][r];if(o){var s=i.computedWidthAndHeight(o,t,2*n,2*n),a=s[0],u=s[1],h=[i.getOffsetX(a),i.getHeight(t.top,n)],c=h[0],l=h[1];i.drawImage(o,c,l,a,u)}}})),t.fonts&&t.fonts.forEach((function(t){var e=t.fontColor||h.fontColor,r=t.fontWeight||h.fontWeight,s=i.getLength(t.fontSize||h.fontSize),a=t.fontStyle||h.fontStyle;o.fillStyle=e,o.font=r+\" \"+(s>>0)+\"px \"+a,String(t.text).split(\"\\n\").forEach((function(e,i){o.fillText(e,l(e),f(t,n,i))}))}))})),null===(e=r.afterDraw)||void 0===e||e.call(this,o)},o.prototype.play=function(){this.startTime||(this.startTime=Date.now(),this.prizeFlag=void 0,this.run())},o.prototype.stop=function(t){this.prizeFlag=t<0?-1:t%this.prizes.length,-1===this.prizeFlag&&(this.rotateDeg=this.prizeDeg/2-this._defaultConfig.offsetDegree,this.draw())},o.prototype.run=function(t){void 0===t&&(t=0);var e=this,i=e.rAF,n=e.prizeFlag,r=e.prizeDeg,o=e.rotateDeg,s=e._defaultConfig,a=Date.now()-this.startTime;if(a>=s.accelerationTime&&void 0!==n){this.FPS=a/t,this.endTime=Date.now(),this.stopDeg=o;for(var u=(Math.random()*r-r/2)*this.getLength(s.stopRange),h=0;++h;){var c=360*h-n*r-o-s.offsetDegree+u;if(_[s.speedFunction].easeOut(this.FPS,this.stopDeg,c,s.decelerationTime)-this.stopDeg>s.speed){this.endDeg=c;break}}return this.slowDown()}this.rotateDeg=(o+_[s.speedFunction].easeIn(a,0,s.speed,s.accelerationTime))%360,this.draw(),i(this.run.bind(this,t+1))},o.prototype.slowDown=function(){var t,e=this,n=e.rAF,r=e.prizes,o=e.prizeFlag,s=e.stopDeg,a=e.endDeg,u=e._defaultConfig,h=Date.now()-this.endTime;if(-1!==o){if(h>=u.decelerationTime)return this.startTime=0,void(null===(t=this.endCallback)||void 0===t||t.call(this,i({},r.find((function(t,e){return e===o})))));this.rotateDeg=_[u.speedFunction].easeOut(h,s,a,u.decelerationTime)%360,this.draw(),n(this.slowDown.bind(this))}else this.startTime=0},o.prototype.getWidth=function(t,e){return void 0===e&&(e=this.prizeRadian*this.prizeRadius),s(t,\"number\")?t:s(t,\"string\")?this.changeUnits(t,e):0},o.prototype.getHeight=function(t,e){return void 0===e&&(e=this.prizeRadius),s(t,\"number\")?t:s(t,\"string\")?this.changeUnits(t,e):0},o.prototype.getOffsetX=function(t){return-t/2},o.prototype.conversionAxis=function(t,e){var i=this.config;return[t/i.dpr-this.Radius,e/i.dpr-this.Radius]},o}(y),P=function(t){function h(e,i){var n;void 0===i&&(i={});var r=t.call(this,e)||this;r.rows=3,r.cols=3,r.blocks=[],r.prizes=[],r.buttons=[],r.defaultConfig={},r._defaultConfig={gutter:5,speed:20,accelerationTime:2500,decelerationTime:2500},r.defaultStyle={},r._defaultStyle={borderRadius:20,fontColor:\"#000\",fontSize:\"18px\",fontStyle:\"sans-serif\",fontWeight:\"400\",lineHeight:\"\",background:\"rgba(0,0,0,0)\",shadow:\"\",wordWrap:!0,lengthLimit:\"90%\"},r.activeStyle={},r._activeStyle={background:\"#ffce98\",shadow:\"\",fontStyle:\"\",fontWeight:\"\",fontSize:\"\",lineHeight:\"\",fontColor:\"\"},r.cellWidth=0,r.cellHeight=0,r.startTime=0,r.endTime=0,r.currIndex=0,r.stopIndex=0,r.endIndex=0,r.demo=!1,r.timer=0,r.FPS=16.6,r.prizeFlag=-1,r.cells=[],r.blockImgs=[[]],r.btnImgs=[[]],r.prizeImgs=[],e.ob&&(r.initData(i),r.initWatch()),r.initComputed(),null===(n=e.beforeCreate)||void 0===n||n.call(r);var o=r.buttons.map((function(t){return t.imgs}));return r.button&&o.push(r.button.imgs),r.init({blockImgs:r.blocks.map((function(t){return t.imgs})),prizeImgs:r.prizes.map((function(t){return t.imgs})),btnImgs:o}),r}return e(h,t),h.prototype.initData=function(t){this.$set(this,\"rows\",Number(t.rows)||3),this.$set(this,\"cols\",Number(t.cols)||3),this.$set(this,\"blocks\",t.blocks||[]),this.$set(this,\"prizes\",t.prizes||[]),this.$set(this,\"buttons\",t.buttons||[]),this.$set(this,\"button\",t.button),this.$set(this,\"defaultConfig\",t.defaultConfig||{}),this.$set(this,\"defaultStyle\",t.defaultStyle||{}),this.$set(this,\"activeStyle\",t.activeStyle||{}),this.$set(this,\"startCallback\",t.start),this.$set(this,\"endCallback\",t.end)},h.prototype.initComputed=function(){var t=this;this.$computed(this,\"_defaultConfig\",(function(){var e=i({gutter:5,speed:20,accelerationTime:2500,decelerationTime:2500},t.defaultConfig);return e.gutter=t.getLength(e.gutter),e.speed=e.speed/40,e})),this.$computed(this,\"_defaultStyle\",(function(){return i({borderRadius:20,fontColor:\"#000\",fontSize:\"18px\",fontStyle:\"sans-serif\",fontWeight:\"400\",background:\"rgba(0,0,0,0)\",shadow:\"\",wordWrap:!0,lengthLimit:\"90%\"},t.defaultStyle)})),this.$computed(this,\"_activeStyle\",(function(){return i({background:\"#ffce98\",shadow:\"\"},t.activeStyle)}))},h.prototype.initWatch=function(){var t=this;this.$watch(\"blocks\",(function(e){return t.init({blockImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch(\"prizes\",(function(e){return t.init({prizeImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch(\"buttons\",(function(e){var i=e.map((function(t){return t.imgs}));return t.button&&i.push(t.button.imgs),t.init({btnImgs:i})}),{deep:!0}),this.$watch(\"button\",(function(){var e=t.buttons.map((function(t){return t.imgs}));return t.button&&e.push(t.button.imgs),t.init({btnImgs:e})}),{deep:!0}),this.$watch(\"rows\",(function(){return t.init({})})),this.$watch(\"cols\",(function(){return t.init({})})),this.$watch(\"defaultConfig\",(function(){return t.draw()}),{deep:!0}),this.$watch(\"defaultStyle\",(function(){return t.draw()}),{deep:!0}),this.$watch(\"activeStyle\",(function(){return t.draw()}),{deep:!0}),this.$watch(\"startCallback\",(function(){return t.init({})})),this.$watch(\"endCallback\",(function(){return t.init({})}))},h.prototype.init=function(e){var i,n,r=this;t.prototype.init.call(this);var o=this,s=o.config;o.ctx,o.button,null===(i=s.beforeInit)||void 0===i||i.call(this),this.draw(),Object.keys(e).forEach((function(t){var i=t,n=e[i],o={blockImgs:\"blocks\",prizeImgs:\"prizes\",btnImgs:\"buttons\"}[i];n&&n.forEach((function(t,e){t&&t.forEach((function(t,n){r.loadAndCacheImg(o,e,i,n,(function(){r.draw()}))}))}))})),null===(n=s.afterInit)||void 0===n||n.call(this)},h.prototype.handleClick=function(t){var e=this,i=this.ctx;o(o([],this.buttons),[this.button]).forEach((function(n){var r;if(n){var o=e.getGeometricProperty([n.x,n.y,n.col||1,n.row||1]),s=o[0],a=o[1],u=o[2],h=o[3];i.beginPath(),i.rect(s,a,u,h),i.isPointInPath(t.offsetX,t.offsetY)&&(e.startTime||(\"function\"==typeof n.callback&&n.callback.call(e,n),null===(r=e.startCallback)||void 0===r||r.call(e,t,n)))}}))},h.prototype.loadAndCacheImg=function(t,e,i,o,s){return n(this,void 0,void 0,(function(){var n,a,u,h=this;return r(this,(function(r){return n=this[t][e],\"buttons\"===t&&!this.buttons.length&&this.button&&(n=this.button),n&&n.imgs&&(a=n.imgs[o])?(this[i][e]||(this[i][e]=[]),u=[this.loadImg(a.src,a),a.activeSrc&&this.loadImg(a.activeSrc,a,\"$activeResolve\")],Promise.all(u).then((function(t){var n=t[0],r=t[1];h[i][e][o]={defaultImg:n,activeImg:r},s.call(h)})).catch((function(i){console.error(t+\"[\"+e+\"].imgs[\"+o+\"] \"+i)})),[2]):[2]}))}))},h.prototype.computedWidthAndHeight=function(t,e,i){if(!e.width&&!e.height)return[t.width,t.height];if(e.width&&!e.height){var n=this.getWidth(e.width,i.col);return[n,t.height*(n/t.width)]}if(!e.width&&e.height){var r=this.getHeight(e.height,i.row);return[t.width*(r/t.height),r]}return[this.getWidth(e.width,i.col),this.getHeight(e.height,i.row)]},h.prototype.draw=function(){var t,e,i=this,n=this,r=n.config,h=n.ctx,c=n._defaultConfig,l=n._defaultStyle,f=n._activeStyle;null===(t=r.beforeDraw)||void 0===t||t.call(this,h),h.clearRect(0,0,this.boxWidth,this.boxHeight),this.cells=o(o([],this.prizes),this.buttons),this.button&&this.cells.push(this.button),this.cells.forEach((function(t){t.col=t.col||1,t.row=t.row||1})),this.prizeArea=this.blocks.reduce((function(t,e){var n=t.x,r=t.y,o=t.w,a=t.h,c=function(t){var e,i=(null===(e=t.padding)||void 0===e?void 0:e.replace(/px/g,\"\").split(\" \").map((function(t){return~~t})))||[0],n=0,r=0,o=0,a=0;switch(i.length){case 1:n=r=o=a=i[0];break;case 2:n=r=i[0],o=a=i[1];break;case 3:n=i[0],o=a=i[1],r=i[2];break;default:n=i[0],r=i[1],o=i[2],a=i[3]}var u={paddingTop:n,paddingBottom:r,paddingLeft:o,paddingRight:a};for(var h in u)u[h]=Object.prototype.hasOwnProperty.call(t,h)&&s(t[h],\"string\",\"number\")?~~String(t[h]).replace(/px/g,\"\"):u[h];return[n,r,o,a]}(e),f=c[0],d=c[1],p=c[2],g=c[3],m=e.borderRadius?i.getLength(e.borderRadius):0,v=e.background||l.background;return u(v)&&S(h,n,r,o,a,m,i.handleBackground(n,r,o,a,v)),{x:n+p,y:r+f,w:o-p-g,h:a-f-d}}),{x:0,y:0,w:this.boxWidth,h:this.boxHeight}),this.cellWidth=(this.prizeArea.w-c.gutter*(this.cols-1))/this.cols,this.cellHeight=(this.prizeArea.h-c.gutter*(this.rows-1))/this.rows,this.cells.forEach((function(t,e){var n=i.getGeometricProperty([t.x,t.y,t.col,t.row]),o=n[0],s=n[1],c=n[2],d=n[3],p=!1;(void 0===i.prizeFlag||i.prizeFlag>-1)&&(p=e===i.currIndex%i.prizes.length>>0);var g=p?f.background:t.background||l.background;if(u(g)){var m=(p?f.shadow:t.shadow||l.shadow).replace(/px/g,\"\").split(\",\")[0].split(\" \").map((function(t,e){return e<3?Number(t):t}));4===m.length&&(h.shadowColor=m[3],h.shadowOffsetX=m[0]*r.dpr,h.shadowOffsetY=m[1]*r.dpr,h.shadowBlur=m[2],m[0]>0?c-=m[0]:(c+=m[0],o-=m[0]),m[1]>0?d-=m[1]:(d+=m[1],s-=m[1])),S(h,o,s,c,d,i.getLength(t.borderRadius?t.borderRadius:l.borderRadius),i.handleBackground(o,s,c,d,g)),h.shadowColor=\"rgba(0, 0, 0, 0)\",h.shadowOffsetX=0,h.shadowOffsetY=0,h.shadowBlur=0}var v=\"prizeImgs\";e>=i.prizes.length&&(v=\"btnImgs\",e-=i.prizes.length),t.imgs&&t.imgs.forEach((function(n,r){if(i[v][e]){var a=i[v][e][r];if(a){var u=p&&a.activeImg||a.defaultImg;if(u){var h=i.computedWidthAndHeight(u,n,t),c=h[0],l=h[1],f=[o+i.getOffsetX(c,t.col),s+i.getHeight(n.top,t.row)],d=f[0],g=f[1];i.drawImage(u,d,g,c,l)}}}})),t.fonts&&t.fonts.forEach((function(e){var n=p&&f.fontStyle?f.fontStyle:e.fontStyle||l.fontStyle,r=p&&f.fontWeight?f.fontWeight:e.fontWeight||l.fontWeight,u=p&&f.fontSize?i.getLength(f.fontSize):i.getLength(e.fontSize||l.fontSize),c=p&&f.lineHeight?f.lineHeight:e.lineHeight||l.lineHeight||e.fontSize||l.fontSize;h.font=r+\" \"+(u>>0)+\"px \"+n,h.fillStyle=p&&f.fontColor?f.fontColor:e.fontColor||l.fontColor;var d=[],g=String(e.text);if(Object.prototype.hasOwnProperty.call(e,\"wordWrap\")?e.wordWrap:l.wordWrap){g=a(g);for(var m=\"\",v=0;v<g.length;v++){m+=g[v],h.measureText(m).width>i.getWidth(e.lengthLimit||l.lengthLimit,t.col)&&(d.push(m.slice(0,-1)),m=g[v])}m&&d.push(m),d.length||d.push(g)}else d=g.split(\"\\n\");d.forEach((function(n,r){h.fillText(n,o+i.getOffsetX(h.measureText(n).width,t.col),s+i.getHeight(e.top,t.row)+(r+1)*i.getLength(c))}))}))})),null===(e=r.afterDraw)||void 0===e||e.call(this,h)},h.prototype.handleBackground=function(t,e,i,n,r){var o=this.ctx;return r.includes(\"linear-gradient\")&&(r=function(t,e,i,n,r,o){var s=/linear-gradient\\((.+)\\)/.exec(o)[1].split(\",\").map((function(t){return t.trim()})),a=s.shift(),u=[0,0,0,0];if(a.includes(\"deg\")){var h=function(t){return Math.tan(t/180*Math.PI)};(a=a.slice(0,-3)%360)>=0&&a<45?u=[e,i+r,e+n,i+r-n*h(a-0)]:a>=45&&a<90?u=[e,i+r,e+n-r*h(a-45),i]:a>=90&&a<135?u=[e+n,i+r,e+n-r*h(a-90),i]:a>=135&&a<180?u=[e+n,i+r,e,i+n*h(a-135)]:a>=180&&a<225?u=[e+n,i,e,i+n*h(a-180)]:a>=225&&a<270?u=[e+n,i,e+r*h(a-225),i+r]:a>=270&&a<315?u=[e,i,e+r*h(a-270),i+r]:a>=315&&a<360&&(u=[e,i,e+n,i+r-n*h(a-315)])}else a.includes(\"top\")?u=[e,i+r,e,i]:a.includes(\"bottom\")?u=[e,i,e,i+r]:a.includes(\"left\")?u=[e+n,i,e,i]:a.includes(\"right\")&&(u=[e,i,e+n,i]);var c=t.createLinearGradient.apply(t,u.map((function(t){return t>>0})));return s.reduce((function(t,e,i){var n=e.split(\" \");return 1===n.length?t.addColorStop(i,n[0]):2===n.length&&t.addColorStop.apply(t,n),t}),c)}(o,t,e,i,n,r)),r},h.prototype.play=function(){var t=this.config.clearInterval;this.startTime||(t(this.timer),this.startTime=Date.now(),this.prizeFlag=void 0,this.run())},h.prototype.stop=function(t){this.prizeFlag=t<0?-1:t%this.prizes.length,-1===this.prizeFlag&&(this.currIndex=0,this.draw())},h.prototype.run=function(t){void 0===t&&(t=0);var e=this,i=e.rAF,n=e.currIndex,r=e.prizes,o=e.prizeFlag,s=e.startTime,a=e._defaultConfig,u=Date.now()-s;if(u>=a.accelerationTime&&void 0!==o){this.FPS=u/t,this.endTime=Date.now(),this.stopIndex=n;for(var h=0;++h;){var c=r.length*h+o-(n>>0);if(C.easeOut(this.FPS,this.stopIndex,c,a.decelerationTime)-this.stopIndex>a.speed){this.endIndex=c;break}}return this.slowDown()}this.currIndex=(n+C.easeIn(u,.1,a.speed,a.accelerationTime))%r.length,this.draw(),i(this.run.bind(this,t+1))},h.prototype.slowDown=function(){var t,e=this,n=e.rAF,r=e.prizes,o=e.prizeFlag,s=e.stopIndex,a=e.endIndex,u=e._defaultConfig,h=Date.now()-this.endTime;if(-1!==o){if(h>u.decelerationTime)return this.startTime=0,void(null===(t=this.endCallback)||void 0===t||t.call(this,i({},r.find((function(t,e){return e===o})))));this.currIndex=C.easeOut(h,s,a,u.decelerationTime)%r.length,this.draw(),n(this.slowDown.bind(this))}else this.startTime=0},h.prototype.walk=function(){var t=this,e=this.config,i=e.setInterval;(0,e.clearInterval)(this.timer),this.timer=i((function(){t.currIndex+=1,t.draw()}),1300)},h.prototype.getGeometricProperty=function(t){var e=t[0],i=t[1],n=t[2],r=t[3],o=this.cellWidth,s=this.cellHeight,a=this._defaultConfig.gutter,u=[this.prizeArea.x+(o+a)*e,this.prizeArea.y+(s+a)*i];return n&&r&&u.push(o*n+a*(n-1),s*r+a*(r-1)),u},h.prototype.getWidth=function(t,e){return void 0===e&&(e=1),s(t,\"number\")?t:s(t,\"string\")?this.changeUnits(t,this.cellWidth*e+this._defaultConfig.gutter*(e-1)):0},h.prototype.getHeight=function(t,e){return void 0===e&&(e=1),s(t,\"number\")?t:s(t,\"string\")?this.changeUnits(t,this.cellHeight*e+this._defaultConfig.gutter*(e-1)):0},h.prototype.getOffsetX=function(t,e){return void 0===e&&(e=1),(this.cellWidth*e+this._defaultConfig.gutter*(e-1)-t)/2},h.prototype.conversionAxis=function(t,e){var i=this.config;return[t/i.dpr,e/i.dpr]},h}(y);exports.LuckyGrid=P,exports.LuckyWheel=E;\n"]} | ||
| 0 | \ No newline at end of file | 2 | \ No newline at end of file |
packageB/miniprogram_npm/mini-luck-draw/lucky-wheel/index.js
0 → 100644
| 1 | +module.exports = | ||
| 2 | +/******/ (function(modules) { // webpackBootstrap | ||
| 3 | +/******/ // The module cache | ||
| 4 | +/******/ var installedModules = {}; | ||
| 5 | +/******/ | ||
| 6 | +/******/ // The require function | ||
| 7 | +/******/ function __webpack_require__(moduleId) { | ||
| 8 | +/******/ | ||
| 9 | +/******/ // Check if module is in cache | ||
| 10 | +/******/ if(installedModules[moduleId]) { | ||
| 11 | +/******/ return installedModules[moduleId].exports; | ||
| 12 | +/******/ } | ||
| 13 | +/******/ // Create a new module (and put it into the cache) | ||
| 14 | +/******/ var module = installedModules[moduleId] = { | ||
| 15 | +/******/ i: moduleId, | ||
| 16 | +/******/ l: false, | ||
| 17 | +/******/ exports: {} | ||
| 18 | +/******/ }; | ||
| 19 | +/******/ | ||
| 20 | +/******/ // Execute the module function | ||
| 21 | +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); | ||
| 22 | +/******/ | ||
| 23 | +/******/ // Flag the module as loaded | ||
| 24 | +/******/ module.l = true; | ||
| 25 | +/******/ | ||
| 26 | +/******/ // Return the exports of the module | ||
| 27 | +/******/ return module.exports; | ||
| 28 | +/******/ } | ||
| 29 | +/******/ | ||
| 30 | +/******/ | ||
| 31 | +/******/ // expose the modules object (__webpack_modules__) | ||
| 32 | +/******/ __webpack_require__.m = modules; | ||
| 33 | +/******/ | ||
| 34 | +/******/ // expose the module cache | ||
| 35 | +/******/ __webpack_require__.c = installedModules; | ||
| 36 | +/******/ | ||
| 37 | +/******/ // define getter function for harmony exports | ||
| 38 | +/******/ __webpack_require__.d = function(exports, name, getter) { | ||
| 39 | +/******/ if(!__webpack_require__.o(exports, name)) { | ||
| 40 | +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); | ||
| 41 | +/******/ } | ||
| 42 | +/******/ }; | ||
| 43 | +/******/ | ||
| 44 | +/******/ // define __esModule on exports | ||
| 45 | +/******/ __webpack_require__.r = function(exports) { | ||
| 46 | +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | ||
| 47 | +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
| 48 | +/******/ } | ||
| 49 | +/******/ Object.defineProperty(exports, '__esModule', { value: true }); | ||
| 50 | +/******/ }; | ||
| 51 | +/******/ | ||
| 52 | +/******/ // create a fake namespace object | ||
| 53 | +/******/ // mode & 1: value is a module id, require it | ||
| 54 | +/******/ // mode & 2: merge all properties of value into the ns | ||
| 55 | +/******/ // mode & 4: return value when already ns object | ||
| 56 | +/******/ // mode & 8|1: behave like require | ||
| 57 | +/******/ __webpack_require__.t = function(value, mode) { | ||
| 58 | +/******/ if(mode & 1) value = __webpack_require__(value); | ||
| 59 | +/******/ if(mode & 8) return value; | ||
| 60 | +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; | ||
| 61 | +/******/ var ns = Object.create(null); | ||
| 62 | +/******/ __webpack_require__.r(ns); | ||
| 63 | +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); | ||
| 64 | +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); | ||
| 65 | +/******/ return ns; | ||
| 66 | +/******/ }; | ||
| 67 | +/******/ | ||
| 68 | +/******/ // getDefaultExport function for compatibility with non-harmony modules | ||
| 69 | +/******/ __webpack_require__.n = function(module) { | ||
| 70 | +/******/ var getter = module && module.__esModule ? | ||
| 71 | +/******/ function getDefault() { return module['default']; } : | ||
| 72 | +/******/ function getModuleExports() { return module; }; | ||
| 73 | +/******/ __webpack_require__.d(getter, 'a', getter); | ||
| 74 | +/******/ return getter; | ||
| 75 | +/******/ }; | ||
| 76 | +/******/ | ||
| 77 | +/******/ // Object.prototype.hasOwnProperty.call | ||
| 78 | +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; | ||
| 79 | +/******/ | ||
| 80 | +/******/ // __webpack_public_path__ | ||
| 81 | +/******/ __webpack_require__.p = ""; | ||
| 82 | +/******/ | ||
| 83 | +/******/ | ||
| 84 | +/******/ // Load entry module and return exports | ||
| 85 | +/******/ return __webpack_require__(__webpack_require__.s = 2); | ||
| 86 | +/******/ }) | ||
| 87 | +/************************************************************************/ | ||
| 88 | +/******/ ([ | ||
| 89 | +/* 0 */ | ||
| 90 | +/***/ (function(module, exports, __webpack_require__) { | ||
| 91 | + | ||
| 92 | +"use strict"; | ||
| 93 | +Object.defineProperty(exports,"__esModule",{value:!0}); | ||
| 94 | +/*! ***************************************************************************** | ||
| 95 | +Copyright (c) Microsoft Corporation. | ||
| 96 | + | ||
| 97 | +Permission to use, copy, modify, and/or distribute this software for any | ||
| 98 | +purpose with or without fee is hereby granted. | ||
| 99 | + | ||
| 100 | +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH | ||
| 101 | +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY | ||
| 102 | +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, | ||
| 103 | +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM | ||
| 104 | +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR | ||
| 105 | +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR | ||
| 106 | +PERFORMANCE OF THIS SOFTWARE. | ||
| 107 | +***************************************************************************** */ | ||
| 108 | +var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(e,i)};function e(e,i){if("function"!=typeof i&&null!==i)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}var i=function(){return(i=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function n(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))}function r(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function o(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t}String.prototype.includes||(String.prototype.includes=function(t,e){return"number"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)}),Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(t){if(null==this)throw new TypeError('"this" is null or not defined');var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var n=arguments[1],r=0;r<i;){var o=e[r];if(t.call(n,o,r,e))return o;r++}}});var s=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];return e.some((function(e){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()===e}))},a=function(t){return[].filter.call(t,(function(t){return"\n"!==t})).join("")},u=function(t){if("string"!=typeof t)return!1;if("transparent"===(t=t.toLocaleLowerCase().trim()))return!1;if(/^rgba/.test(t)){var e=/([^\s,]+)\)$/.exec(t);if(0===(null===(i=e)?0:"object"==typeof i?NaN:"number"==typeof i?i:"string"==typeof i?"%"===i[i.length-1]?Number(i.slice(0,-1))/100:Number(i):NaN))return!1}var i;return!0},h=function(){function t(){this.subs=[]}return t.prototype.addSub=function(t){this.subs.includes(t)||this.subs.push(t)},t.prototype.notify=function(){this.subs.forEach((function(t){t.update()}))},t}(),c="__proto__"in{};function l(t,e,i,n){Object.defineProperty(t,e,{value:i,enumerable:!!n,writable:!0,configurable:!0})}var f=Array.prototype,d=Object.create(f);["push","pop","shift","unshift","sort","splice","reverse"].forEach((function(t){d[t]=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];var n=f[t].apply(this,e),r=this.__luckyOb__;return["push","unshift","splice"].includes(t)&&r.walk(this),r.dep.notify(),n}}));var p=function(){function t(t){this.dep=new h,l(t,"__luckyOb__",this),Array.isArray(t)&&(c?t.__proto__=d:Object.getOwnPropertyNames(d).forEach((function(e){l(t,e,d[e])}))),this.walk(t)}return t.prototype.walk=function(t){Object.keys(t).forEach((function(e){m(t,e,t[e])}))},t}();function g(t){if(t&&"object"==typeof t)return"__luckyOb__"in t?t.__luckyOb__:new p(t)}function m(t,e,i){var n=new h,r=Object.getOwnPropertyDescriptor(t,e);if(!r||!1!==r.configurable){var o=r&&r.get,s=r&&r.set;o&&!s||2!==arguments.length||(i=t[e]);var a=g(i);Object.defineProperty(t,e,{get:function(){var e=o?o.call(t):i;return h.target&&(n.addSub(h.target),a&&a.dep.addSub(h.target)),e},set:function(e){e!==i&&(i=e,o&&!s||(s?s.call(t,e):i=e,a=g(e),n.notify()))}})}}var v=0,b=function(){function t(t,e,i,n){void 0===n&&(n={}),this.id=v++,this.$lucky=t,this.expr=e,this.deep=!!n.deep,this.getter="function"==typeof e?e:function(t){t+=".";for(var e=[],i="",n=0;n<t.length;n++){var r=t[n];if(/\[|\./.test(r))e.push(i),i="";else{if(/\W/.test(r))continue;i+=r}}return function(t){return e.reduce((function(t,e){return t[e]}),t)}}(e),this.cb=i,this.value=this.get()}return t.prototype.get=function(){h.target=this;var t=this.getter.call(this.$lucky,this.$lucky);return this.deep&&function(t){var e=function(t){s(t,"array","object")&&Object.keys(t).forEach((function(i){var n=t[i];e(n)}))};e(t)}(t),h.target=null,t},t.prototype.update=function(){var t=this.get(),e=this.value;this.value=t,this.cb.call(this.$lucky,t,e)},t}(),y=function(){function t(t){var e=this;this.htmlFontSize=16,this.rAF=function(){},this.boxWidth=0,this.boxHeight=0,this.setHTMLFontSize(),"string"==typeof t?t={el:t}:1===t.nodeType&&(t={el:"",divElement:t}),t=t,this.config=t,this.setDpr(),this.initWindowFunction(),t.flag||(t.flag="WEB"),Object.prototype.hasOwnProperty.call(t,"ob")||(t.ob=!0),t.el&&(t.divElement=document.querySelector(t.el)),t.divElement&&(t.canvasElement=document.createElement("canvas"),t.divElement.appendChild(t.canvasElement)),this.resetWidthAndHeight(),t.canvasElement&&(t.ctx=t.canvasElement.getContext("2d"),t.canvasElement.setAttribute("package","lucky-canvas@1.5.4"),t.canvasElement.addEventListener("click",(function(t){return e.handleClick(t)})),t.canvasElement.addEventListener("mousemove",(function(t){return e.handleMouseMove(t)})),t.canvasElement.addEventListener("mousedown",(function(t){return e.handleMouseDown(t)})),t.canvasElement.addEventListener("mouseup",(function(t){return e.handleMouseUp(t)}))),this.ctx=t.ctx,t.ctx?this.boxWidth&&this.boxHeight||console.error("无法获取到宽度或高度"):console.error("无法获取到 CanvasContext2D")}return t.prototype.init=function(t){this.setDpr(),this.setHTMLFontSize(),this.resetWidthAndHeight(),this.zoomCanvas()},t.prototype.handleClick=function(t){},t.prototype.handleMouseDown=function(t){},t.prototype.handleMouseUp=function(t){},t.prototype.handleMouseMove=function(t){},t.prototype.conversionAxis=function(t,e){return[0,0]},t.prototype.setDpr=function(){var t=this.config;t.dpr||(window?window.dpr=t.dpr=window.devicePixelRatio||1:t.dpr||console.error(t,"未传入 dpr 可能会导致绘制异常"))},t.prototype.setHTMLFontSize=function(){window&&(this.htmlFontSize=+window.getComputedStyle(document.documentElement).fontSize.slice(0,-2))},t.prototype.resetWidthAndHeight=function(){var t=this.config,e=0,i=0;t.divElement&&(e=t.divElement.offsetWidth,i=t.divElement.offsetHeight),this.boxWidth=this.getLength(t.width)||e,this.boxHeight=this.getLength(t.height)||i,t.divElement&&(t.divElement.style.overflow="hidden",t.divElement.style.width=this.boxWidth+"px",t.divElement.style.height=this.boxHeight+"px")},t.prototype.initWindowFunction=function(){var t=this.config;if(window)return this.rAF=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)},t.setTimeout=window.setTimeout,t.setInterval=window.setInterval,t.clearTimeout=window.clearTimeout,void(t.clearInterval=window.clearInterval);if(t.rAF)this.rAF=t.rAF;else if(t.setTimeout){var e=t.setTimeout;this.rAF=function(t){return e(t,16.7)}}else this.rAF=function(t){return setTimeout(t,16.7)}},t.prototype.zoomCanvas=function(){var t=this.config,e=this.ctx,i=t.canvasElement,n=t.dpr,r=[this.boxWidth*n,this.boxHeight*n],o=r[0],s=r[1],a=function(t){return(t*n-t)/(t*n)*(n/2)*100};i&&(i.width=o,i.height=s,i.style.width=o+"px",i.style.height=s+"px",i.style.transform="scale("+1/n+") translate("+-a(o)+"%, "+-a(s)+"%)",e.scale(n,n))},t.prototype.loadImg=function(t,e,i){var n=this;return void 0===i&&(i="$resolve"),new Promise((function(r,o){if(t||o("=> '"+e.src+"' 不能为空或不合法"),"WEB"===n.config.flag){var s=new Image;s.src=t,s.onload=function(){return r(s)},s.onerror=function(){return o("=> '"+e.src+"' 图片加载失败")}}else e[i]=r}))},t.prototype.drawImage=function(t,e,i,n,r){var o,s=this.config,a=this.ctx;return["WEB","MP-WX"].includes(s.flag)?o=t:["UNI-H5","UNI-MP","TARO-H5","TARO-MP"].includes(s.flag)&&(o=t.path),a.drawImage(o,e,i,n,r)},t.prototype.getLength=function(t){return s(t,"number")?t:s(t,"string")?this.changeUnits(t):0},t.prototype.changeUnits=function(t,e){var i=this;return void 0===e&&(e=1),Number(t.replace(/^([-]*[0-9.]*)([a-z%]*)$/,(function(t,n,r){var o={"%":function(t){return t*(e/100)},px:function(t){return 1*t},rem:function(t){return t*i.htmlFontSize}}[r];if(o)return o(n);var s=i.config.unitFunc;return s?s(n,r):n})))},t.prototype.$set=function(t,e,i){t&&"object"==typeof t&&m(t,e,i)},t.prototype.$computed=function(t,e,i){var n=this;Object.defineProperty(t,e,{get:function(){return i.call(n)}})},t.prototype.$watch=function(t,e,i){void 0===i&&(i={}),"object"==typeof e&&(e=(i=e).handler);var n=new b(this,t,e,i);return i.immediate&&e.call(this,n.value),function(){}},t}(),w=function(t){return Math.PI/180*t},x=function(t,e){return[+(Math.cos(t)*e).toFixed(8),+(Math.sin(t)*e).toFixed(8)]},z=function(t,e){var i=-t/e;return[i,-i*t+e]},I=function(t,e,i,n,r,o){var s;if(void 0===o&&(o=!0),Math.abs(r-n).toFixed(8)>=w(180).toFixed(8)){var a=(r+n)/2;return o?(I(t,e,i,n,a,o),I(t,e,i,a,r,o)):(I(t,e,i,a,r,o),I(t,e,i,n,a,o)),!1}o||(n=(s=[r,n])[0],r=s[1]);var u=x(n,i),h=u[0],c=u[1],l=x(r,i),f=l[0],d=l[1],p=z(h,c),g=p[0],m=p[1],v=z(f,d),b=v[0],y=v[1],k=(y-m)/(g-b),S=(b*m-g*y)/(b-g);isNaN(k)&&(Math.abs(h)===+i.toFixed(8)&&(k=h),Math.abs(f)===+i.toFixed(8)&&(k=f)),g===1/0||g===-1/0?S=b*k+y:b!==1/0&&b!==-1/0||(S=g*k+m),e.lineTo(h,c),t.indexOf("MP")>0?e.quadraticCurveTo(k,S,f,d):e.arcTo(k,S,f,d,i)},k=function(t,e,i,n,r,o,s,a){i||(i=s);var u=w(90/Math.PI/n*s),h=w(90/Math.PI/i*s),c=r+u,l=o-u,f=r+h,d=o-h;e.beginPath(),e.fillStyle=a,e.moveTo.apply(e,x(c,n)),I(t,e,n,c,l,!0),d>f?I(t,e,i,f,d,!1):e.lineTo.apply(e,x((r+o)/2,s/2/Math.abs(Math.sin((r-o)/2)))),e.closePath(),e.fill()},S=function(t,e,i,n,r,o,s){var a=Math.min(n,r);o>a/2&&(o=a/2),t.beginPath(),t.fillStyle=s,t.moveTo(e+o,i),t.lineTo(e+o,i),t.lineTo(e+n-o,i),t.quadraticCurveTo(e+n,i,e+n,i+o),t.lineTo(e+n,i+r-o),t.quadraticCurveTo(e+n,i+r,e+n-o,i+r),t.lineTo(e+o,i+r),t.quadraticCurveTo(e,i+r,e,i+r-o),t.lineTo(e,i+o),t.quadraticCurveTo(e,i,e+o,i),t.closePath(),t.fill()},C={easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),-i*(t/=n)*(t-2)+e}},T={easeIn:function(t,e,i,n){return t>=n&&(t=n),-i*Math.cos(t/n*(Math.PI/2))+i+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*Math.sin(t/n*(Math.PI/2))+e}},W={easeIn:function(t,e,i,n){return t>=n&&(t=n),0==t?e:i*Math.pow(2,10*(t/n-1))+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),t==n?e+i:i*(1-Math.pow(2,-10*t/n))+e}},O={easeIn:function(t,e,i,n){return t>=n&&(t=n),-i*(Math.sqrt(1-(t/=n)*t)-1)+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*Math.sqrt(1-(t=t/n-1)*t)+e}},_=Object.freeze({__proto__:null,quad:C,cubic:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*((t=t/n-1)*t*t+1)+e}},quart:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),-i*((t=t/n-1)*t*t*t-1)+e}},quint:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*((t=t/n-1)*t*t*t*t+1)+e}},sine:T,expo:W,circ:O}),E=function(t){function o(e,i){var n;void 0===i&&(i={});var r=t.call(this,e)||this;return r.blocks=[],r.prizes=[],r.buttons=[],r.defaultConfig={},r._defaultConfig={gutter:"0px",offsetDegree:0,speed:20,speedFunction:"quad",accelerationTime:2500,decelerationTime:2500,stopRange:.8},r.defaultStyle={},r._defaultStyle={fontSize:"18px",fontColor:"#000",fontStyle:"sans-serif",fontWeight:"400",lineHeight:"",background:"rgba(0,0,0,0)",wordWrap:!0,lengthLimit:"90%"},r.Radius=0,r.prizeRadius=0,r.prizeDeg=0,r.prizeRadian=0,r.rotateDeg=0,r.maxBtnRadius=0,r.startTime=0,r.endTime=0,r.stopDeg=0,r.endDeg=0,r.FPS=16.6,r.blockImgs=[[]],r.prizeImgs=[[]],r.btnImgs=[[]],e.ob&&(r.initData(i),r.initWatch()),r.initComputed(),null===(n=e.beforeCreate)||void 0===n||n.call(r),r.init({blockImgs:r.blocks.map((function(t){return t.imgs})),prizeImgs:r.prizes.map((function(t){return t.imgs})),btnImgs:r.buttons.map((function(t){return t.imgs}))}),r}return e(o,t),o.prototype.initData=function(t){this.$set(this,"blocks",t.blocks||[]),this.$set(this,"prizes",t.prizes||[]),this.$set(this,"buttons",t.buttons||[]),this.$set(this,"defaultConfig",t.defaultConfig||{}),this.$set(this,"defaultStyle",t.defaultStyle||{}),this.$set(this,"startCallback",t.start),this.$set(this,"endCallback",t.end)},o.prototype.initComputed=function(){var t=this;this.$computed(this,"_defaultConfig",(function(){return i({gutter:"0px",offsetDegree:0,speed:20,speedFunction:"quad",accelerationTime:2500,decelerationTime:2500,stopRange:.8},t.defaultConfig)})),this.$computed(this,"_defaultStyle",(function(){return i({fontSize:"18px",fontColor:"#000",fontStyle:"sans-serif",fontWeight:"400",background:"rgba(0,0,0,0)",wordWrap:!0,lengthLimit:"90%"},t.defaultStyle)}))},o.prototype.initWatch=function(){var t=this;this.$watch("blocks",(function(e){return t.init({blockImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch("prizes",(function(e){return t.init({prizeImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch("buttons",(function(e){return t.init({btnImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch("defaultConfig",(function(){return t.draw()}),{deep:!0}),this.$watch("defaultStyle",(function(){return t.draw()}),{deep:!0}),this.$watch("startCallback",(function(){return t.init({})})),this.$watch("endCallback",(function(){return t.init({})}))},o.prototype.init=function(e){var i,n,r=this;t.prototype.init.call(this);var o=this.config,s=this.ctx;this.Radius=Math.min(this.boxWidth,this.boxHeight)/2,null===(i=o.beforeInit)||void 0===i||i.call(this),s.translate(this.Radius,this.Radius),this.draw(),this.draw(),Object.keys(e).forEach((function(t){var i=t,n={blockImgs:"blocks",prizeImgs:"prizes",btnImgs:"buttons"}[i],o=e[i];o&&o.forEach((function(t,e){t&&t.forEach((function(t,o){r.loadAndCacheImg(n,e,i,o,(function(){r.draw()}))}))}))})),null===(n=o.afterInit)||void 0===n||n.call(this)},o.prototype.handleClick=function(t){var e,i=this.ctx;i.beginPath(),i.arc(0,0,this.maxBtnRadius,0,2*Math.PI,!1),i.isPointInPath(t.offsetX,t.offsetY)&&(this.startTime||null===(e=this.startCallback)||void 0===e||e.call(this,t))},o.prototype.loadAndCacheImg=function(t,e,i,o,s){return n(this,void 0,void 0,(function(){var n,a,u=this;return r(this,(function(r){return(n=this[t][e])&&n.imgs&&(a=n.imgs[o])?(this[i][e]||(this[i][e]=[]),this.loadImg(a.src,a).then((function(t){u[i][e][o]=t,s.call(u)})).catch((function(i){console.error(t+"["+e+"].imgs["+o+"] "+i)})),[2]):[2]}))}))},o.prototype.computedWidthAndHeight=function(t,e,i,n){if(!e.width&&!e.height)return[t.width,t.height];if(e.width&&!e.height){var r=this.getWidth(e.width,i);return[r,t.height*(r/t.width)]}if(!e.width&&e.height){var o=this.getHeight(e.height,n);return[t.width*(o/t.height),o]}return[this.getWidth(e.width,i),this.getHeight(e.height,n)]},o.prototype.draw=function(){var t,e,i=this,n=this,r=n.config,o=n.ctx,s=n._defaultConfig,h=n._defaultStyle;null===(t=r.beforeDraw)||void 0===t||t.call(this,o),o.clearRect(-this.Radius,-this.Radius,2*this.Radius,2*this.Radius),this.prizeRadius=this.blocks.reduce((function(t,e,n){return u(e.background)&&(o.beginPath(),o.fillStyle=e.background,o.arc(0,0,t,0,2*Math.PI,!1),o.fill()),e.imgs&&e.imgs.forEach((function(e,r){if(i.blockImgs[n]){var s=i.blockImgs[n][r];if(s){var a=i.computedWidthAndHeight(s,e,2*t,2*t),u=a[0],h=a[1],c=[i.getOffsetX(u),i.getHeight(e.top,2*t)-t],l=c[0],f=c[1];o.save(),e.rotate&&o.rotate(w(i.rotateDeg)),i.drawImage(s,l,f,u,h),o.restore()}}})),t-i.getLength(e.padding&&e.padding.split(" ")[0])}),this.Radius),this.prizeDeg=360/this.prizes.length,this.prizeRadian=w(this.prizeDeg);var c=w(-90+this.rotateDeg+s.offsetDegree),l=function(t){return i.getOffsetX(o.measureText(t).width)},f=function(t,e,n){var r=t.lineHeight||h.lineHeight||t.fontSize||h.fontSize;return i.getHeight(t.top,e)+(n+1)*i.getLength(r)};o.save(),this.prizes.forEach((function(t,e){var n=c+e*i.prizeRadian,d=i.prizeRadius-i.maxBtnRadius,p=t.background||h.background;u(p)&&function(t,e,i,n,r,o,s,a){s?k(t,e,i,n,r,o,s,a):(e.beginPath(),e.fillStyle=a,e.moveTo(0,0),e.arc(0,0,n,r,o,!1),e.closePath(),e.fill())}(r.flag,o,i.maxBtnRadius,i.prizeRadius,n-i.prizeRadian/2,n+i.prizeRadian/2,i.getLength(s.gutter),p);var g=Math.cos(n)*i.prizeRadius,m=Math.sin(n)*i.prizeRadius;o.translate(g,m),o.rotate(n+w(90)),t.imgs&&t.imgs.forEach((function(t,n){if(i.prizeImgs[e]){var r=i.prizeImgs[e][n];if(r){var o=i.computedWidthAndHeight(r,t,i.prizeRadian*i.prizeRadius,d),s=o[0],a=o[1],u=[i.getOffsetX(s),i.getHeight(t.top,d)],h=u[0],c=u[1];i.drawImage(r,h,c,s,a)}}})),t.fonts&&t.fonts.forEach((function(t){var e=t.fontColor||h.fontColor,n=t.fontWeight||h.fontWeight,r=i.getLength(t.fontSize||h.fontSize),u=t.fontStyle||h.fontStyle;o.fillStyle=e,o.font=n+" "+(r>>0)+"px "+u;var c=[],p=String(t.text);if(Object.prototype.hasOwnProperty.call(t,"wordWrap")?t.wordWrap:h.wordWrap){p=a(p);for(var g="",m=0;m<p.length;m++){g+=p[m];var v=o.measureText(g).width,b=(i.prizeRadius-f(t,d,c.length))*Math.tan(i.prizeRadian/2)*2-i.getLength(s.gutter);v>i.getWidth(t.lengthLimit||h.lengthLimit,b)&&(c.push(g.slice(0,-1)),g=p[m])}g&&c.push(g),c.length||c.push(p)}else c=p.split("\n");c.filter((function(t){return!!t})).forEach((function(e,i){o.fillText(e,l(e),f(t,d,i))}))})),o.rotate(w(360)-n-w(90)),o.translate(-g,-m)})),o.restore(),this.buttons.forEach((function(t,e){var n=i.getHeight(t.radius);i.maxBtnRadius=Math.max(i.maxBtnRadius,n),u(t.background)&&(o.beginPath(),o.fillStyle=t.background,o.arc(0,0,n,0,2*Math.PI,!1),o.fill()),t.pointer&&u(t.background)&&(o.beginPath(),o.fillStyle=t.background,o.moveTo(-n,0),o.lineTo(n,0),o.lineTo(0,2*-n),o.closePath(),o.fill()),t.imgs&&t.imgs.forEach((function(t,r){if(i.btnImgs[e]){var o=i.btnImgs[e][r];if(o){var s=i.computedWidthAndHeight(o,t,2*n,2*n),a=s[0],u=s[1],h=[i.getOffsetX(a),i.getHeight(t.top,n)],c=h[0],l=h[1];i.drawImage(o,c,l,a,u)}}})),t.fonts&&t.fonts.forEach((function(t){var e=t.fontColor||h.fontColor,r=t.fontWeight||h.fontWeight,s=i.getLength(t.fontSize||h.fontSize),a=t.fontStyle||h.fontStyle;o.fillStyle=e,o.font=r+" "+(s>>0)+"px "+a,String(t.text).split("\n").forEach((function(e,i){o.fillText(e,l(e),f(t,n,i))}))}))})),null===(e=r.afterDraw)||void 0===e||e.call(this,o)},o.prototype.play=function(){this.startTime||(this.startTime=Date.now(),this.prizeFlag=void 0,this.run())},o.prototype.stop=function(t){this.prizeFlag=t<0?-1:t%this.prizes.length,-1===this.prizeFlag&&(this.rotateDeg=this.prizeDeg/2-this._defaultConfig.offsetDegree,this.draw())},o.prototype.run=function(t){void 0===t&&(t=0);var e=this,i=e.rAF,n=e.prizeFlag,r=e.prizeDeg,o=e.rotateDeg,s=e._defaultConfig,a=Date.now()-this.startTime;if(a>=s.accelerationTime&&void 0!==n){this.FPS=a/t,this.endTime=Date.now(),this.stopDeg=o;for(var u=(Math.random()*r-r/2)*this.getLength(s.stopRange),h=0;++h;){var c=360*h-n*r-o-s.offsetDegree+u;if(_[s.speedFunction].easeOut(this.FPS,this.stopDeg,c,s.decelerationTime)-this.stopDeg>s.speed){this.endDeg=c;break}}return this.slowDown()}this.rotateDeg=(o+_[s.speedFunction].easeIn(a,0,s.speed,s.accelerationTime))%360,this.draw(),i(this.run.bind(this,t+1))},o.prototype.slowDown=function(){var t,e=this,n=e.rAF,r=e.prizes,o=e.prizeFlag,s=e.stopDeg,a=e.endDeg,u=e._defaultConfig,h=Date.now()-this.endTime;if(-1!==o){if(h>=u.decelerationTime)return this.startTime=0,void(null===(t=this.endCallback)||void 0===t||t.call(this,i({},r.find((function(t,e){return e===o})))));this.rotateDeg=_[u.speedFunction].easeOut(h,s,a,u.decelerationTime)%360,this.draw(),n(this.slowDown.bind(this))}else this.startTime=0},o.prototype.getWidth=function(t,e){return void 0===e&&(e=this.prizeRadian*this.prizeRadius),s(t,"number")?t:s(t,"string")?this.changeUnits(t,e):0},o.prototype.getHeight=function(t,e){return void 0===e&&(e=this.prizeRadius),s(t,"number")?t:s(t,"string")?this.changeUnits(t,e):0},o.prototype.getOffsetX=function(t){return-t/2},o.prototype.conversionAxis=function(t,e){var i=this.config;return[t/i.dpr-this.Radius,e/i.dpr-this.Radius]},o}(y),P=function(t){function h(e,i){var n;void 0===i&&(i={});var r=t.call(this,e)||this;r.rows=3,r.cols=3,r.blocks=[],r.prizes=[],r.buttons=[],r.defaultConfig={},r._defaultConfig={gutter:5,speed:20,accelerationTime:2500,decelerationTime:2500},r.defaultStyle={},r._defaultStyle={borderRadius:20,fontColor:"#000",fontSize:"18px",fontStyle:"sans-serif",fontWeight:"400",lineHeight:"",background:"rgba(0,0,0,0)",shadow:"",wordWrap:!0,lengthLimit:"90%"},r.activeStyle={},r._activeStyle={background:"#ffce98",shadow:"",fontStyle:"",fontWeight:"",fontSize:"",lineHeight:"",fontColor:""},r.cellWidth=0,r.cellHeight=0,r.startTime=0,r.endTime=0,r.currIndex=0,r.stopIndex=0,r.endIndex=0,r.demo=!1,r.timer=0,r.FPS=16.6,r.prizeFlag=-1,r.cells=[],r.blockImgs=[[]],r.btnImgs=[[]],r.prizeImgs=[],e.ob&&(r.initData(i),r.initWatch()),r.initComputed(),null===(n=e.beforeCreate)||void 0===n||n.call(r);var o=r.buttons.map((function(t){return t.imgs}));return r.button&&o.push(r.button.imgs),r.init({blockImgs:r.blocks.map((function(t){return t.imgs})),prizeImgs:r.prizes.map((function(t){return t.imgs})),btnImgs:o}),r}return e(h,t),h.prototype.initData=function(t){this.$set(this,"rows",Number(t.rows)||3),this.$set(this,"cols",Number(t.cols)||3),this.$set(this,"blocks",t.blocks||[]),this.$set(this,"prizes",t.prizes||[]),this.$set(this,"buttons",t.buttons||[]),this.$set(this,"button",t.button),this.$set(this,"defaultConfig",t.defaultConfig||{}),this.$set(this,"defaultStyle",t.defaultStyle||{}),this.$set(this,"activeStyle",t.activeStyle||{}),this.$set(this,"startCallback",t.start),this.$set(this,"endCallback",t.end)},h.prototype.initComputed=function(){var t=this;this.$computed(this,"_defaultConfig",(function(){var e=i({gutter:5,speed:20,accelerationTime:2500,decelerationTime:2500},t.defaultConfig);return e.gutter=t.getLength(e.gutter),e.speed=e.speed/40,e})),this.$computed(this,"_defaultStyle",(function(){return i({borderRadius:20,fontColor:"#000",fontSize:"18px",fontStyle:"sans-serif",fontWeight:"400",background:"rgba(0,0,0,0)",shadow:"",wordWrap:!0,lengthLimit:"90%"},t.defaultStyle)})),this.$computed(this,"_activeStyle",(function(){return i({background:"#ffce98",shadow:""},t.activeStyle)}))},h.prototype.initWatch=function(){var t=this;this.$watch("blocks",(function(e){return t.init({blockImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch("prizes",(function(e){return t.init({prizeImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch("buttons",(function(e){var i=e.map((function(t){return t.imgs}));return t.button&&i.push(t.button.imgs),t.init({btnImgs:i})}),{deep:!0}),this.$watch("button",(function(){var e=t.buttons.map((function(t){return t.imgs}));return t.button&&e.push(t.button.imgs),t.init({btnImgs:e})}),{deep:!0}),this.$watch("rows",(function(){return t.init({})})),this.$watch("cols",(function(){return t.init({})})),this.$watch("defaultConfig",(function(){return t.draw()}),{deep:!0}),this.$watch("defaultStyle",(function(){return t.draw()}),{deep:!0}),this.$watch("activeStyle",(function(){return t.draw()}),{deep:!0}),this.$watch("startCallback",(function(){return t.init({})})),this.$watch("endCallback",(function(){return t.init({})}))},h.prototype.init=function(e){var i,n,r=this;t.prototype.init.call(this);var o=this,s=o.config;o.ctx,o.button,null===(i=s.beforeInit)||void 0===i||i.call(this),this.draw(),Object.keys(e).forEach((function(t){var i=t,n=e[i],o={blockImgs:"blocks",prizeImgs:"prizes",btnImgs:"buttons"}[i];n&&n.forEach((function(t,e){t&&t.forEach((function(t,n){r.loadAndCacheImg(o,e,i,n,(function(){r.draw()}))}))}))})),null===(n=s.afterInit)||void 0===n||n.call(this)},h.prototype.handleClick=function(t){var e=this,i=this.ctx;o(o([],this.buttons),[this.button]).forEach((function(n){var r;if(n){var o=e.getGeometricProperty([n.x,n.y,n.col||1,n.row||1]),s=o[0],a=o[1],u=o[2],h=o[3];i.beginPath(),i.rect(s,a,u,h),i.isPointInPath(t.offsetX,t.offsetY)&&(e.startTime||("function"==typeof n.callback&&n.callback.call(e,n),null===(r=e.startCallback)||void 0===r||r.call(e,t,n)))}}))},h.prototype.loadAndCacheImg=function(t,e,i,o,s){return n(this,void 0,void 0,(function(){var n,a,u,h=this;return r(this,(function(r){return n=this[t][e],"buttons"===t&&!this.buttons.length&&this.button&&(n=this.button),n&&n.imgs&&(a=n.imgs[o])?(this[i][e]||(this[i][e]=[]),u=[this.loadImg(a.src,a),a.activeSrc&&this.loadImg(a.activeSrc,a,"$activeResolve")],Promise.all(u).then((function(t){var n=t[0],r=t[1];h[i][e][o]={defaultImg:n,activeImg:r},s.call(h)})).catch((function(i){console.error(t+"["+e+"].imgs["+o+"] "+i)})),[2]):[2]}))}))},h.prototype.computedWidthAndHeight=function(t,e,i){if(!e.width&&!e.height)return[t.width,t.height];if(e.width&&!e.height){var n=this.getWidth(e.width,i.col);return[n,t.height*(n/t.width)]}if(!e.width&&e.height){var r=this.getHeight(e.height,i.row);return[t.width*(r/t.height),r]}return[this.getWidth(e.width,i.col),this.getHeight(e.height,i.row)]},h.prototype.draw=function(){var t,e,i=this,n=this,r=n.config,h=n.ctx,c=n._defaultConfig,l=n._defaultStyle,f=n._activeStyle;null===(t=r.beforeDraw)||void 0===t||t.call(this,h),h.clearRect(0,0,this.boxWidth,this.boxHeight),this.cells=o(o([],this.prizes),this.buttons),this.button&&this.cells.push(this.button),this.cells.forEach((function(t){t.col=t.col||1,t.row=t.row||1})),this.prizeArea=this.blocks.reduce((function(t,e){var n=t.x,r=t.y,o=t.w,a=t.h,c=function(t){var e,i=(null===(e=t.padding)||void 0===e?void 0:e.replace(/px/g,"").split(" ").map((function(t){return~~t})))||[0],n=0,r=0,o=0,a=0;switch(i.length){case 1:n=r=o=a=i[0];break;case 2:n=r=i[0],o=a=i[1];break;case 3:n=i[0],o=a=i[1],r=i[2];break;default:n=i[0],r=i[1],o=i[2],a=i[3]}var u={paddingTop:n,paddingBottom:r,paddingLeft:o,paddingRight:a};for(var h in u)u[h]=Object.prototype.hasOwnProperty.call(t,h)&&s(t[h],"string","number")?~~String(t[h]).replace(/px/g,""):u[h];return[n,r,o,a]}(e),f=c[0],d=c[1],p=c[2],g=c[3],m=e.borderRadius?i.getLength(e.borderRadius):0,v=e.background||l.background;return u(v)&&S(h,n,r,o,a,m,i.handleBackground(n,r,o,a,v)),{x:n+p,y:r+f,w:o-p-g,h:a-f-d}}),{x:0,y:0,w:this.boxWidth,h:this.boxHeight}),this.cellWidth=(this.prizeArea.w-c.gutter*(this.cols-1))/this.cols,this.cellHeight=(this.prizeArea.h-c.gutter*(this.rows-1))/this.rows,this.cells.forEach((function(t,e){var n=i.getGeometricProperty([t.x,t.y,t.col,t.row]),o=n[0],s=n[1],c=n[2],d=n[3],p=!1;(void 0===i.prizeFlag||i.prizeFlag>-1)&&(p=e===i.currIndex%i.prizes.length>>0);var g=p?f.background:t.background||l.background;if(u(g)){var m=(p?f.shadow:t.shadow||l.shadow).replace(/px/g,"").split(",")[0].split(" ").map((function(t,e){return e<3?Number(t):t}));4===m.length&&(h.shadowColor=m[3],h.shadowOffsetX=m[0]*r.dpr,h.shadowOffsetY=m[1]*r.dpr,h.shadowBlur=m[2],m[0]>0?c-=m[0]:(c+=m[0],o-=m[0]),m[1]>0?d-=m[1]:(d+=m[1],s-=m[1])),S(h,o,s,c,d,i.getLength(t.borderRadius?t.borderRadius:l.borderRadius),i.handleBackground(o,s,c,d,g)),h.shadowColor="rgba(0, 0, 0, 0)",h.shadowOffsetX=0,h.shadowOffsetY=0,h.shadowBlur=0}var v="prizeImgs";e>=i.prizes.length&&(v="btnImgs",e-=i.prizes.length),t.imgs&&t.imgs.forEach((function(n,r){if(i[v][e]){var a=i[v][e][r];if(a){var u=p&&a.activeImg||a.defaultImg;if(u){var h=i.computedWidthAndHeight(u,n,t),c=h[0],l=h[1],f=[o+i.getOffsetX(c,t.col),s+i.getHeight(n.top,t.row)],d=f[0],g=f[1];i.drawImage(u,d,g,c,l)}}}})),t.fonts&&t.fonts.forEach((function(e){var n=p&&f.fontStyle?f.fontStyle:e.fontStyle||l.fontStyle,r=p&&f.fontWeight?f.fontWeight:e.fontWeight||l.fontWeight,u=p&&f.fontSize?i.getLength(f.fontSize):i.getLength(e.fontSize||l.fontSize),c=p&&f.lineHeight?f.lineHeight:e.lineHeight||l.lineHeight||e.fontSize||l.fontSize;h.font=r+" "+(u>>0)+"px "+n,h.fillStyle=p&&f.fontColor?f.fontColor:e.fontColor||l.fontColor;var d=[],g=String(e.text);if(Object.prototype.hasOwnProperty.call(e,"wordWrap")?e.wordWrap:l.wordWrap){g=a(g);for(var m="",v=0;v<g.length;v++){m+=g[v],h.measureText(m).width>i.getWidth(e.lengthLimit||l.lengthLimit,t.col)&&(d.push(m.slice(0,-1)),m=g[v])}m&&d.push(m),d.length||d.push(g)}else d=g.split("\n");d.forEach((function(n,r){h.fillText(n,o+i.getOffsetX(h.measureText(n).width,t.col),s+i.getHeight(e.top,t.row)+(r+1)*i.getLength(c))}))}))})),null===(e=r.afterDraw)||void 0===e||e.call(this,h)},h.prototype.handleBackground=function(t,e,i,n,r){var o=this.ctx;return r.includes("linear-gradient")&&(r=function(t,e,i,n,r,o){var s=/linear-gradient\((.+)\)/.exec(o)[1].split(",").map((function(t){return t.trim()})),a=s.shift(),u=[0,0,0,0];if(a.includes("deg")){var h=function(t){return Math.tan(t/180*Math.PI)};(a=a.slice(0,-3)%360)>=0&&a<45?u=[e,i+r,e+n,i+r-n*h(a-0)]:a>=45&&a<90?u=[e,i+r,e+n-r*h(a-45),i]:a>=90&&a<135?u=[e+n,i+r,e+n-r*h(a-90),i]:a>=135&&a<180?u=[e+n,i+r,e,i+n*h(a-135)]:a>=180&&a<225?u=[e+n,i,e,i+n*h(a-180)]:a>=225&&a<270?u=[e+n,i,e+r*h(a-225),i+r]:a>=270&&a<315?u=[e,i,e+r*h(a-270),i+r]:a>=315&&a<360&&(u=[e,i,e+n,i+r-n*h(a-315)])}else a.includes("top")?u=[e,i+r,e,i]:a.includes("bottom")?u=[e,i,e,i+r]:a.includes("left")?u=[e+n,i,e,i]:a.includes("right")&&(u=[e,i,e+n,i]);var c=t.createLinearGradient.apply(t,u.map((function(t){return t>>0})));return s.reduce((function(t,e,i){var n=e.split(" ");return 1===n.length?t.addColorStop(i,n[0]):2===n.length&&t.addColorStop.apply(t,n),t}),c)}(o,t,e,i,n,r)),r},h.prototype.play=function(){var t=this.config.clearInterval;this.startTime||(t(this.timer),this.startTime=Date.now(),this.prizeFlag=void 0,this.run())},h.prototype.stop=function(t){this.prizeFlag=t<0?-1:t%this.prizes.length,-1===this.prizeFlag&&(this.currIndex=0,this.draw())},h.prototype.run=function(t){void 0===t&&(t=0);var e=this,i=e.rAF,n=e.currIndex,r=e.prizes,o=e.prizeFlag,s=e.startTime,a=e._defaultConfig,u=Date.now()-s;if(u>=a.accelerationTime&&void 0!==o){this.FPS=u/t,this.endTime=Date.now(),this.stopIndex=n;for(var h=0;++h;){var c=r.length*h+o-(n>>0);if(C.easeOut(this.FPS,this.stopIndex,c,a.decelerationTime)-this.stopIndex>a.speed){this.endIndex=c;break}}return this.slowDown()}this.currIndex=(n+C.easeIn(u,.1,a.speed,a.accelerationTime))%r.length,this.draw(),i(this.run.bind(this,t+1))},h.prototype.slowDown=function(){var t,e=this,n=e.rAF,r=e.prizes,o=e.prizeFlag,s=e.stopIndex,a=e.endIndex,u=e._defaultConfig,h=Date.now()-this.endTime;if(-1!==o){if(h>u.decelerationTime)return this.startTime=0,void(null===(t=this.endCallback)||void 0===t||t.call(this,i({},r.find((function(t,e){return e===o})))));this.currIndex=C.easeOut(h,s,a,u.decelerationTime)%r.length,this.draw(),n(this.slowDown.bind(this))}else this.startTime=0},h.prototype.walk=function(){var t=this,e=this.config,i=e.setInterval;(0,e.clearInterval)(this.timer),this.timer=i((function(){t.currIndex+=1,t.draw()}),1300)},h.prototype.getGeometricProperty=function(t){var e=t[0],i=t[1],n=t[2],r=t[3],o=this.cellWidth,s=this.cellHeight,a=this._defaultConfig.gutter,u=[this.prizeArea.x+(o+a)*e,this.prizeArea.y+(s+a)*i];return n&&r&&u.push(o*n+a*(n-1),s*r+a*(r-1)),u},h.prototype.getWidth=function(t,e){return void 0===e&&(e=1),s(t,"number")?t:s(t,"string")?this.changeUnits(t,this.cellWidth*e+this._defaultConfig.gutter*(e-1)):0},h.prototype.getHeight=function(t,e){return void 0===e&&(e=1),s(t,"number")?t:s(t,"string")?this.changeUnits(t,this.cellHeight*e+this._defaultConfig.gutter*(e-1)):0},h.prototype.getOffsetX=function(t,e){return void 0===e&&(e=1),(this.cellWidth*e+this._defaultConfig.gutter*(e-1)-t)/2},h.prototype.conversionAxis=function(t,e){var i=this.config;return[t/i.dpr,e/i.dpr]},h}(y);exports.LuckyGrid=P,exports.LuckyWheel=E; | ||
| 109 | + | ||
| 110 | + | ||
| 111 | +/***/ }), | ||
| 112 | +/* 1 */ | ||
| 113 | +/***/ (function(module, exports, __webpack_require__) { | ||
| 114 | + | ||
| 115 | +"use strict"; | ||
| 116 | + | ||
| 117 | + | ||
| 118 | +exports.__esModule = true; | ||
| 119 | +exports.getImage = getImage; | ||
| 120 | +var windowWidth = wx.getSystemInfoSync().windowWidth; | ||
| 121 | + | ||
| 122 | +var rpx2px = exports.rpx2px = function rpx2px(value) { | ||
| 123 | + if (typeof value === 'string') value = Number(value.replace(/[a-z]*/g, '')); | ||
| 124 | + return windowWidth / 750 * value; | ||
| 125 | +}; | ||
| 126 | + | ||
| 127 | +var changeUnits = exports.changeUnits = function changeUnits(value) { | ||
| 128 | + return Number(value.replace(/^(\-*[0-9.]*)([a-z%]*)$/, function (value, num, unit) { | ||
| 129 | + switch (unit) { | ||
| 130 | + case 'px': | ||
| 131 | + num *= 1; | ||
| 132 | + break; | ||
| 133 | + case 'rpx': | ||
| 134 | + num = rpx2px(num); | ||
| 135 | + break; | ||
| 136 | + default: | ||
| 137 | + num *= 1; | ||
| 138 | + break; | ||
| 139 | + } | ||
| 140 | + return num; | ||
| 141 | + })); | ||
| 142 | +}; | ||
| 143 | + | ||
| 144 | +var resolveImage = exports.resolveImage = function resolveImage(e, img, canvas) { | ||
| 145 | + var srcName = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'src'; | ||
| 146 | + var resolveName = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '$resolve'; | ||
| 147 | + | ||
| 148 | + var imgObj = canvas.createImage(); | ||
| 149 | + imgObj.onload = function () { | ||
| 150 | + img[resolveName](imgObj); | ||
| 151 | + }; | ||
| 152 | + imgObj.src = img[srcName]; | ||
| 153 | +}; | ||
| 154 | + | ||
| 155 | +function getImage() { | ||
| 156 | + var _this = this; | ||
| 157 | + | ||
| 158 | + return new Promise(function (resolve, reject) { | ||
| 159 | + wx.canvasToTempFilePath({ | ||
| 160 | + canvas: _this.canvas, | ||
| 161 | + success: function success(res) { | ||
| 162 | + return resolve(res); | ||
| 163 | + }, | ||
| 164 | + fail: function fail(err) { | ||
| 165 | + return reject(err); | ||
| 166 | + } | ||
| 167 | + }); | ||
| 168 | + }); | ||
| 169 | +} | ||
| 170 | + | ||
| 171 | +/***/ }), | ||
| 172 | +/* 2 */ | ||
| 173 | +/***/ (function(module, exports, __webpack_require__) { | ||
| 174 | + | ||
| 175 | +"use strict"; | ||
| 176 | + | ||
| 177 | + | ||
| 178 | +var _luckyCanvasCjs = __webpack_require__(0); | ||
| 179 | + | ||
| 180 | +var _utils = __webpack_require__(1); | ||
| 181 | + | ||
| 182 | +Component({ | ||
| 183 | + properties: { | ||
| 184 | + hiddenCanvas: { type: Boolean, value: false}, | ||
| 185 | + width: { type: String, value: '600rpx' }, | ||
| 186 | + height: { type: String, value: '600rpx' }, | ||
| 187 | + blocks: { type: Array, value: [] }, | ||
| 188 | + prizes: { type: Array, value: [] }, | ||
| 189 | + buttons: { type: Array, value: [] }, | ||
| 190 | + defaultConfig: { type: Object, value: {} }, | ||
| 191 | + defaultStyle: { type: Object, value: {} }, | ||
| 192 | + start: { type: Function, value: function value() {} }, | ||
| 193 | + end: { type: Function, value: function value() {} } | ||
| 194 | + }, | ||
| 195 | + data: { | ||
| 196 | + isShow: false, | ||
| 197 | + luckyImg: '', | ||
| 198 | + showCanvas: true | ||
| 199 | + }, | ||
| 200 | + observers: { | ||
| 201 | + 'blocks.**': function blocks(newData, oldData) { | ||
| 202 | + this.$lucky && (this.$lucky.blocks = newData); | ||
| 203 | + }, | ||
| 204 | + 'prizes.**': function prizes(newData, oldData) { | ||
| 205 | + this.$lucky && (this.$lucky.prizes = newData); | ||
| 206 | + }, | ||
| 207 | + 'buttons.**': function buttons(newData, oldData) { | ||
| 208 | + this.$lucky && (this.$lucky.buttons = newData); | ||
| 209 | + } | ||
| 210 | + }, | ||
| 211 | + ready: function ready() { | ||
| 212 | + var _this = this; | ||
| 213 | + | ||
| 214 | + wx.createSelectorQuery().in(this).select('#lucky-wheel').fields({ | ||
| 215 | + node: true, size: true | ||
| 216 | + }).exec(function (res) { | ||
| 217 | + if (!res[0] || !res[0].node) { | ||
| 218 | + return console.error('lucky-canvas 获取不到 canvas 标签'); | ||
| 219 | + } | ||
| 220 | + var canvas = _this.canvas = res[0].node; | ||
| 221 | + var dpr = _this.dpr = wx.getSystemInfoSync().pixelRatio; | ||
| 222 | + var ctx = _this.ctx = canvas.getContext('2d'); | ||
| 223 | + var data = _this.data; | ||
| 224 | + canvas.width = res[0].width * dpr; | ||
| 225 | + canvas.height = res[0].height * dpr; | ||
| 226 | + ctx.scale(dpr, dpr); | ||
| 227 | + _this.$lucky = new _luckyCanvasCjs.LuckyWheel({ | ||
| 228 | + flag: 'MP-WX', | ||
| 229 | + ctx: ctx, | ||
| 230 | + dpr: dpr, | ||
| 231 | + width: res[0].width, | ||
| 232 | + height: res[0].height, | ||
| 233 | + // rAF: canvas.requestAnimationFrame, // 帧动画真机调试会报错! | ||
| 234 | + setTimeout: setTimeout, | ||
| 235 | + clearTimeout: clearTimeout, | ||
| 236 | + setInterval: setInterval, | ||
| 237 | + clearInterval: clearInterval, | ||
| 238 | + beforeCreate: function beforeCreate() { | ||
| 239 | + var Radius = Math.min(this.config.width, this.config.height) / 2; | ||
| 240 | + // 设置坐标轴 | ||
| 241 | + ctx.translate(Radius, Radius); | ||
| 242 | + }, | ||
| 243 | + beforeInit: function beforeInit() { | ||
| 244 | + // 重置坐标轴 | ||
| 245 | + ctx.translate(-this.Radius, -this.Radius); | ||
| 246 | + }, | ||
| 247 | + unitFunc: function unitFunc(num, unit) { | ||
| 248 | + return (0, _utils.changeUnits)(num + unit); | ||
| 249 | + } | ||
| 250 | + }, { | ||
| 251 | + blocks: data.blocks, | ||
| 252 | + prizes: data.prizes, | ||
| 253 | + buttons: data.buttons, | ||
| 254 | + defaultConfig: data.defaultConfig, | ||
| 255 | + defaultStyle: data.defaultStyle, | ||
| 256 | + start: function start() { | ||
| 257 | + for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) { | ||
| 258 | + rest[_key] = arguments[_key]; | ||
| 259 | + } | ||
| 260 | + | ||
| 261 | + _this.triggerEvent.apply(_this, ['start'].concat(rest)); | ||
| 262 | + }, | ||
| 263 | + end: function end() { | ||
| 264 | + for (var _len2 = arguments.length, rest = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { | ||
| 265 | + rest[_key2] = arguments[_key2]; | ||
| 266 | + } | ||
| 267 | + | ||
| 268 | + _this.triggerEvent.apply(_this, ['end'].concat(rest)); | ||
| 269 | + _utils.getImage.call(_this).then(function (res) { | ||
| 270 | + _this.setData({ luckyImg: res.tempFilePath }); | ||
| 271 | + }); | ||
| 272 | + } | ||
| 273 | + }); | ||
| 274 | + // 为了保证 onload 回调准确 | ||
| 275 | + _this.setData({ isShow: true }); | ||
| 276 | + }); | ||
| 277 | + }, | ||
| 278 | + | ||
| 279 | + methods: { | ||
| 280 | + imgBindload: function imgBindload(e) { | ||
| 281 | + var _e$currentTarget$data = e.currentTarget.dataset, | ||
| 282 | + name = _e$currentTarget$data.name, | ||
| 283 | + index = _e$currentTarget$data.index, | ||
| 284 | + i = _e$currentTarget$data.i; | ||
| 285 | + | ||
| 286 | + var img = this.data[name][index].imgs[i]; | ||
| 287 | + (0, _utils.resolveImage)(e, img, this.canvas); | ||
| 288 | + }, | ||
| 289 | + luckyImgLoad: function luckyImgLoad() { | ||
| 290 | + this.showCanvas = false; | ||
| 291 | + }, | ||
| 292 | + handleClickOfImg: function handleClickOfImg(e) { | ||
| 293 | + var _this2 = this; | ||
| 294 | + | ||
| 295 | + var _e$changedTouches$ = e.changedTouches[0], | ||
| 296 | + x = _e$changedTouches$.clientX, | ||
| 297 | + y = _e$changedTouches$.clientY; | ||
| 298 | + | ||
| 299 | + wx.createSelectorQuery().in(this).select('.lucky-img').fields({ | ||
| 300 | + rect: true | ||
| 301 | + }).exec(function (res) { | ||
| 302 | + var _res$ = res[0], | ||
| 303 | + left = _res$.left, | ||
| 304 | + top = _res$.top; | ||
| 305 | + | ||
| 306 | + _this2.toPlay(x - left, y - top); | ||
| 307 | + }); | ||
| 308 | + }, | ||
| 309 | + handleClickOfCanvas: function handleClickOfCanvas(e) { | ||
| 310 | + var _e$changedTouches$2 = e.changedTouches[0], | ||
| 311 | + x = _e$changedTouches$2.x, | ||
| 312 | + y = _e$changedTouches$2.y; | ||
| 313 | + | ||
| 314 | + this.toPlay(x, y); | ||
| 315 | + }, | ||
| 316 | + toPlay: function toPlay(x, y) { | ||
| 317 | + var ctx = this.ctx; | ||
| 318 | + ctx.beginPath(); | ||
| 319 | + ctx.arc(0, 0, this.$lucky.maxBtnRadius, 0, Math.PI * 2, false); | ||
| 320 | + if (!ctx.isPointInPath(x * this.dpr, y * this.dpr)) return; | ||
| 321 | + // 隐藏图片并显示canvas | ||
| 322 | + this.showCanvas = true; | ||
| 323 | + this.setData({ luckyImg: '' }); | ||
| 324 | + // 触发 lucky-canvas 的抽奖逻辑 | ||
| 325 | + this.$lucky.startCallback(); | ||
| 326 | + }, | ||
| 327 | + play: function play() { | ||
| 328 | + var _$lucky; | ||
| 329 | + | ||
| 330 | + (_$lucky = this.$lucky).play.apply(_$lucky, arguments); | ||
| 331 | + }, | ||
| 332 | + stop: function stop() { | ||
| 333 | + var _$lucky2; | ||
| 334 | + | ||
| 335 | + (_$lucky2 = this.$lucky).stop.apply(_$lucky2, arguments); | ||
| 336 | + } | ||
| 337 | + } | ||
| 338 | +}); | ||
| 339 | + | ||
| 340 | +/***/ }) | ||
| 341 | +/******/ ]); | ||
| 342 | +//# sourceMappingURL=index.js.map | ||
| 0 | \ No newline at end of file | 343 | \ No newline at end of file |
packageB/miniprogram_npm/mini-luck-draw/lucky-wheel/index.js.map
0 → 100644
| 1 | +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/lucky-canvas/dist/lucky-canvas.cjs.min.js","webpack:///./src/utils.js","webpack:///./src/lucky-wheel/index.js"],"names":["getImage","windowWidth","wx","getSystemInfoSync","rpx2px","value","Number","replace","changeUnits","num","unit","resolveImage","e","img","canvas","srcName","resolveName","imgObj","createImage","onload","src","Promise","resolve","reject","canvasToTempFilePath","success","res","fail","err","Component","properties","width","type","String","height","blocks","Array","prizes","buttons","defaultConfig","Object","defaultStyle","start","Function","end","data","isShow","luckyImg","showCanvas","observers","newData","oldData","$lucky","ready","createSelectorQuery","in","select","fields","node","size","exec","console","error","dpr","pixelRatio","ctx","getContext","scale","LuckyWheel","flag","setTimeout","clearTimeout","setInterval","clearInterval","beforeCreate","Radius","Math","min","config","translate","beforeInit","unitFunc","rest","triggerEvent","call","then","setData","tempFilePath","methods","imgBindload","currentTarget","dataset","name","index","i","imgs","luckyImgLoad","handleClickOfImg","changedTouches","x","clientX","y","clientY","rect","left","top","toPlay","handleClickOfCanvas","beginPath","arc","maxBtnRadius","PI","isPointInPath","startCallback","play","stop"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFa,4CAA4C,SAAS;AAClE;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iCAAiC,aAAa,gCAAgC,cAAc,gBAAgB,sEAAsE,QAAQ,gBAAgB,wHAAwH,aAAa,mBAAmB,6EAA6E,iBAAiB,oCAAoC,iCAAiC,IAAI,uFAAuF,SAAS,yBAAyB,oBAAoB,0CAA0C,cAAc,IAAI,aAAa,SAAS,MAAM,cAAc,IAAI,cAAc,SAAS,MAAM,cAAc,MAAM,iEAAiE,KAAK,cAAc,+BAA+B,GAAG,gBAAgB,eAAe,wBAAwB,qBAAqB,YAAY,iBAAiB,UAAU,iCAAiC,2DAA2D,YAAY,IAAI,cAAc,mBAAmB,mBAAmB,4DAA4D,KAAK,EAAE,KAAK,kHAAkH,yCAAyC,kBAAkB,MAAM,yBAAyB,oBAAoB,8BAA8B,SAAS,kCAAkC,SAAS,0EAA0E,IAAI,SAAS,yCAAyC,aAAa,MAAM,2BAA2B,iBAAiB,MAAM,oBAAoB,2BAA2B,MAAM,+BAA+B,SAAS,cAAc,SAAS,YAAY,QAAQ,MAAM,qBAAqB,OAAO,gCAAgC,UAAU,gBAAgB,kCAAkC,IAAI,kBAAkB,SAAS,oEAAoE,kFAAkF,sEAAsE,kBAAkB,mEAAmE,kCAAkC,4EAA4E,2BAA2B,IAAI,EAAE,WAAW,4BAA4B,MAAM,EAAE,kBAAkB,iBAAiB,mBAAmB,wBAAwB,2BAA2B,uEAAuE,GAAG,eAAe,oCAAoC,eAAe,YAAY,eAAe,+BAA+B,6DAA6D,oBAAoB,6BAA6B,4JAA4J,MAAM,SAAS,cAAc,aAAa,aAAa,sCAAsC,yCAAyC,+BAA+B,+BAA+B,WAAW,GAAG,GAAG,qBAAqB,oBAAoB,2BAA2B,mDAAmD,EAAE,yCAAyC,gFAAgF,gBAAgB,iBAAiB,mBAAmB,sBAAsB,4CAA4C,8EAA8E,GAAG,iBAAiB,cAAc,6HAA6H,YAAY,iBAAiB,oCAAoC,oCAAoC,YAAY,GAAG,GAAG,GAAG,cAAc,wEAAwE,kBAAkB,mDAAmD,4BAA4B,0BAA0B,sCAAsC,WAAW,2BAA2B,eAAe,oBAAoB,kEAAkE,iBAAiB,2DAA2D,GAAG,qBAAqB,oBAAoB,iBAAiB,0GAA0G,OAAO,sBAAsB,WAAW,KAAK,WAAW,kCAAkC,KAAK,yBAAyB,MAAM,mBAAmB,+BAA+B,YAAY,MAAM,oCAAoC,kCAAkC,cAAc,gDAAgD,8BAA8B,kBAAkB,2DAA2D,WAAW,KAAK,IAAI,KAAK,oBAAoB,+BAA+B,8BAA8B,2CAA2C,GAAG,gBAAgB,cAAc,WAAW,0CAA0C,+EAA+E,KAAK,qBAAqB,mBAAmB,+eAA+e,wBAAwB,6DAA6D,4BAA4B,6DAA6D,4BAA4B,2DAA2D,0BAA0B,2HAA2H,oCAAoC,kFAAkF,sCAAsC,0CAA0C,wCAAwC,0CAA0C,0CAA0C,YAAY,+BAA+B,kBAAkB,wGAAwG,wCAAwC,oGAAoG,4CAA4C,0BAA0B,0SAA0S,2CAA2C,kBAAkB,yIAAyI,4BAA4B,+IAA+I,wBAAwB,sBAAsB,mBAAmB,qBAAqB,kBAAkB,0BAA0B,2BAA2B,mCAAmC,wHAAwH,+BAA+B,uJAAuJ,qCAAqC,WAAW,6DAA6D,0DAA0D,gBAAgB,4BAA4B,YAAY,sBAAsB,mCAAmC,YAAY,GAAG,2CAA2C,+BAA+B,uIAAuI,mCAAmC,2DAA2D,uCAAuC,WAAW,sFAAsF,OAAO,gBAAgB,iBAAiB,gBAAgB,WAAW,iBAAiB,yBAAyB,IAAI,iBAAiB,wBAAwB,kBAAkB,IAAI,kCAAkC,gCAAgC,uCAAuC,WAAW,2BAA2B,eAAe,kBAAkB,EAAE,oCAAoC,iBAAiB,wCAAwC,wBAAwB,sDAAsD,GAAG,iBAAiB,qBAAqB,iBAAiB,gEAAgE,iBAAiB,WAAW,iBAAiB,yBAAyB,MAAM,mEAAmE,cAAc,4EAA4E,2BAA2B,gIAAgI,wNAAwN,6BAA6B,SAAS,oEAAoE,6KAA6K,2BAA2B,oBAAoB,kTAAkT,IAAI,yBAAyB,gCAAgC,2BAA2B,sCAAsC,IAAI,yBAAyB,oDAAoD,2BAA2B,kDAAkD,IAAI,yBAAyB,qDAAqD,2BAA2B,yDAAyD,IAAI,yBAAyB,kDAAkD,2BAA2B,iDAAiD,kBAAkB,6BAA6B,yBAAyB,kCAAkC,2BAA2B,0CAA0C,QAAQ,yBAAyB,oCAAoC,2BAA2B,6CAA6C,QAAQ,yBAAyB,sCAAsC,2BAA2B,8CAA8C,sBAAsB,gBAAgB,gBAAgB,MAAM,iBAAiB,EAAE,2BAA2B,8DAA8D,mBAAmB,mHAAmH,kBAAkB,kBAAkB,gJAAgJ,mTAAmT,oCAAoC,cAAc,uCAAuC,cAAc,sCAAsC,cAAc,GAAG,IAAI,+CAA+C,sKAAsK,kDAAkD,8EAA8E,qCAAqC,WAAW,iDAAiD,UAAU,mHAAmH,kBAAkB,mDAAmD,UAAU,kIAAkI,iBAAiB,GAAG,kCAAkC,WAAW,kCAAkC,eAAe,6BAA6B,cAAc,GAAG,EAAE,GAAG,QAAQ,oCAAoC,eAAe,6BAA6B,cAAc,GAAG,EAAE,GAAG,QAAQ,qCAAqC,eAAe,2BAA2B,cAAc,GAAG,EAAE,GAAG,QAAQ,0CAA0C,gBAAgB,GAAG,QAAQ,yCAAyC,gBAAgB,GAAG,QAAQ,0CAA0C,gBAAgB,EAAE,yCAAyC,gBAAgB,EAAE,GAAG,8BAA8B,eAAe,4BAA4B,6BAA6B,wMAAwM,WAAW,wDAAwD,WAAW,4BAA4B,4BAA4B,sCAAsC,SAAS,GAAG,GAAG,GAAG,oDAAoD,qCAAqC,iBAAiB,4KAA4K,iDAAiD,wCAAwC,eAAe,2BAA2B,iHAAiH,uBAAuB,sBAAsB,0CAA0C,YAAY,GAAG,GAAG,sDAAsD,gDAAgD,uBAAuB,+BAA+B,+BAA+B,uBAAuB,iCAAiC,+BAA+B,4DAA4D,6BAA6B,8EAA8E,4KAA4K,4IAA4I,mBAAmB,wBAAwB,MAAM,qHAAqH,iFAAiF,qDAAqD,sFAAsF,yDAAyD,4CAA4C,mBAAmB,yDAAyD,kDAAkD,4CAA4C,oFAAoF,gCAAgC,4GAA4G,oGAAoG,4DAA4D,yEAAyE,mBAAmB,wBAAwB,MAAM,uIAAuI,yBAAyB,yCAAyC,6HAA6H,0CAA0C,0BAA0B,6EAA6E,OAAO,iBAAiB,WAAW,KAAK,QAAQ,iHAAiH,6EAA6E,iCAAiC,qBAAqB,sBAAsB,UAAU,0BAA0B,4BAA4B,GAAG,+CAA+C,mDAAmD,4BAA4B,yTAAyT,iBAAiB,sBAAsB,MAAM,iHAAiH,yBAAyB,yCAAyC,6HAA6H,4FAA4F,4BAA4B,GAAG,GAAG,sDAAsD,6BAA6B,6EAA6E,8BAA8B,8IAA8I,6BAA6B,kBAAkB,2GAA2G,sCAAsC,oDAAoD,gEAAgE,IAAI,EAAE,mCAAmC,gGAAgG,cAAc,OAAO,uBAAuB,wHAAwH,iCAAiC,kHAAkH,WAAW,+GAA+G,uBAAuB,aAAa,MAAM,gHAAgH,sBAAsB,oCAAoC,+GAA+G,qCAAqC,8FAA8F,oCAAoC,WAAW,0CAA0C,kBAAkB,gDAAgD,GAAG,kBAAkB,gBAAgB,MAAM,iBAAiB,EAAE,2BAA2B,yEAAyE,mBAAmB,8DAA8D,kBAAkB,kBAAkB,0KAA0K,iBAAiB,iBAAiB,iGAAiG,+SAA+S,iCAAiC,cAAc,GAAG,+CAA+C,oCAAoC,cAAc,uCAAuC,cAAc,aAAa,IAAI,+CAA+C,0RAA0R,kDAAkD,gDAAgD,8EAA8E,qCAAqC,WAAW,iDAAiD,SAAS,8DAA8D,kBAAkB,2DAA2D,mDAAmD,UAAU,4JAA4J,iBAAiB,kDAAkD,UAAU,+BAA+B,gBAAgB,GAAG,kCAAkC,WAAW,kCAAkC,eAAe,6BAA6B,cAAc,GAAG,EAAE,GAAG,QAAQ,oCAAoC,eAAe,6BAA6B,cAAc,GAAG,EAAE,GAAG,QAAQ,qCAAqC,yBAAyB,cAAc,GAAG,+CAA+C,UAAU,EAAE,GAAG,QAAQ,mCAAmC,iCAAiC,cAAc,GAAG,+CAA+C,UAAU,EAAE,GAAG,QAAQ,iCAAiC,gBAAgB,EAAE,kCAAkC,gBAAgB,EAAE,2CAA2C,gBAAgB,GAAG,QAAQ,yCAAyC,gBAAgB,GAAG,QAAQ,wCAAwC,gBAAgB,GAAG,QAAQ,0CAA0C,gBAAgB,EAAE,yCAAyC,gBAAgB,EAAE,GAAG,8BAA8B,eAAe,4BAA4B,sBAAsB,iHAAiH,kBAAkB,wDAAwD,IAAI,4BAA4B,4BAA4B,sCAAsC,SAAS,GAAG,GAAG,GAAG,oDAAoD,qCAAqC,sBAAsB,yDAAyD,MAAM,MAAM,sFAAsF,gMAAgM,GAAG,iDAAiD,wCAAwC,iBAAiB,2BAA2B,iQAAiQ,kBAAkB,YAAY,yBAAyB,WAAW,sBAAsB,0CAA0C,YAAY,GAAG,GAAG,oDAAoD,gDAAgD,uBAAuB,mCAAmC,+BAA+B,uBAAuB,qCAAqC,+BAA+B,oEAAoE,6BAA6B,+FAA+F,yNAAyN,8BAA8B,oDAAoD,0CAA0C,iGAAiG,UAAU,yBAAyB,iBAAiB,oBAAoB,MAAM,yBAAyB,MAAM,8BAA8B,MAAM,oCAAoC,OAAO,2DAA2D,+HAA+H,gBAAgB,4GAA4G,2DAA2D,6BAA6B,GAAG,yCAAyC,2KAA2K,qFAAqF,+EAA+E,gDAAgD,SAAS,oGAAoG,uBAAuB,GAAG,sWAAsW,kBAAkB,2FAA2F,YAAY,iBAAiB,MAAM,mCAAmC,MAAM,yHAAyH,0BAA0B,yCAAyC,kRAAkR,4FAA4F,0BAA0B,6EAA6E,OAAO,iBAAiB,WAAW,KAAK,8GAA8G,iCAAiC,qBAAqB,yBAAyB,2GAA2G,GAAG,GAAG,sDAAsD,kDAAkD,eAAe,+DAA+D,uEAAuE,gBAAgB,2BAA2B,sBAAsB,kBAAkB,gCAAgC,qVAAqV,8IAA8I,wDAAwD,YAAY,IAAI,iCAAiC,mBAAmB,qFAAqF,KAAK,iBAAiB,6BAA6B,gCAAgC,2FAA2F,8BAA8B,+FAA+F,6BAA6B,kBAAkB,0GAA0G,sCAAsC,sDAAsD,YAAY,IAAI,EAAE,0BAA0B,mFAAmF,gBAAgB,OAAO,uBAAuB,6GAA6G,iCAAiC,sHAAsH,WAAW,8GAA8G,uBAAuB,aAAa,MAAM,oGAAoG,sBAAsB,6BAA6B,yCAAyC,yDAAyD,wBAAwB,QAAQ,8CAA8C,sJAAsJ,+CAA+C,oCAAoC,+HAA+H,qCAAqC,gIAAgI,sCAAsC,iFAAiF,0CAA0C,kBAAkB,wBAAwB,GAAG,IAAI;;;;;;;;;;;QCiBpo/BA,Q,GAAAA,Q;AAhChB,IAAMC,cAAcC,GAAGC,iBAAH,GAAuBF,WAA3C;;AAEO,IAAMG,0BAAS,SAATA,MAAS,CAACC,KAAD,EAAW;AAC/B,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+BA,QAAQC,OAAOD,MAAME,OAAN,CAAc,SAAd,EAAyB,EAAzB,CAAP,CAAR;AAC/B,SAAON,cAAc,GAAd,GAAoBI,KAA3B;AACD,CAHM;;AAKA,IAAMG,oCAAc,SAAdA,WAAc,CAACH,KAAD,EAAW;AACpC,SAAOC,OAAOD,MAAME,OAAN,CAAc,yBAAd,EAAyC,UAACF,KAAD,EAAQI,GAAR,EAAaC,IAAb,EAAsB;AAC3E,YAAQA,IAAR;AACE,WAAK,IAAL;AACED,eAAO,CAAP;AACA;AACF,WAAK,KAAL;AACEA,cAAML,OAAOK,GAAP,CAAN;AACA;AACF;AACEA,eAAO,CAAP;AACA;AATJ;AAWA,WAAOA,GAAP;AACD,GAba,CAAP,CAAP;AAcD,CAfM;;AAiBA,IAAME,sCAAe,SAAfA,YAAe,CAACC,CAAD,EAAIC,GAAJ,EAASC,MAAT,EAA+D;AAAA,MAA9CC,OAA8C,uEAApC,KAAoC;AAAA,MAA7BC,WAA6B,uEAAf,UAAe;;AACzF,MAAIC,SAASH,OAAOI,WAAP,EAAb;AACAD,SAAOE,MAAP,GAAgB,YAAM;AACpBN,QAAIG,WAAJ,EAAiBC,MAAjB;AACD,GAFD;AAGAA,SAAOG,GAAP,GAAaP,IAAIE,OAAJ,CAAb;AACD,CANM;;AAQA,SAASf,QAAT,GAAqB;AAAA;;AAC1B,SAAO,IAAIqB,OAAJ,CAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AACtCrB,OAAGsB,oBAAH,CAAwB;AACtBV,cAAQ,MAAKA,MADS;AAEtBW,eAAS;AAAA,eAAOH,QAAQI,GAAR,CAAP;AAAA,OAFa;AAGtBC,YAAM;AAAA,eAAOJ,OAAOK,GAAP,CAAP;AAAA;AAHgB,KAAxB;AAKD,GANM,CAAP;AAOD,C;;;;;;;;;ACxCD;;AACA;;AAEAC,UAAU;AACRC,cAAY;AACVC,WAAO,EAAEC,MAAMC,MAAR,EAAgB5B,OAAO,QAAvB,EADG;AAEV6B,YAAQ,EAAEF,MAAMC,MAAR,EAAgB5B,OAAO,QAAvB,EAFE;AAGV8B,YAAQ,EAAEH,MAAMI,KAAR,EAAe/B,OAAO,EAAtB,EAHE;AAIVgC,YAAQ,EAAEL,MAAMI,KAAR,EAAe/B,OAAO,EAAtB,EAJE;AAKViC,aAAS,EAAEN,MAAMI,KAAR,EAAe/B,OAAO,EAAtB,EALC;AAMVkC,mBAAe,EAAEP,MAAMQ,MAAR,EAAgBnC,OAAO,EAAvB,EANL;AAOVoC,kBAAc,EAAET,MAAMQ,MAAR,EAAgBnC,OAAO,EAAvB,EAPJ;AAQVqC,WAAO,EAAEV,MAAMW,QAAR,EAAkBtC,OAAO,iBAAM,CAAE,CAAjC,EARG;AASVuC,SAAK,EAAEZ,MAAMW,QAAR,EAAkBtC,OAAO,iBAAM,CAAE,CAAjC;AATK,GADJ;AAYRwC,QAAM;AACJC,YAAQ,KADJ;AAEJC,cAAU,EAFN;AAGJC,gBAAY;AAHR,GAZE;AAiBRC,aAAW;AACT,iBAAa,gBAASC,OAAT,EAAkBC,OAAlB,EAA2B;AACtC,WAAKC,MAAL,KAAgB,KAAKA,MAAL,CAAYjB,MAAZ,GAAqBe,OAArC;AACD,KAHQ;AAIT,iBAAa,gBAASA,OAAT,EAAkBC,OAAlB,EAA2B;AACtC,WAAKC,MAAL,KAAgB,KAAKA,MAAL,CAAYf,MAAZ,GAAqBa,OAArC;AACD,KANQ;AAOT,kBAAc,iBAASA,OAAT,EAAkBC,OAAlB,EAA2B;AACvC,WAAKC,MAAL,KAAgB,KAAKA,MAAL,CAAYd,OAAZ,GAAsBY,OAAtC;AACD;AATQ,GAjBH;AA4BRG,OA5BQ,mBA4BA;AAAA;;AACNnD,OAAGoD,mBAAH,GAAyBC,EAAzB,CAA4B,IAA5B,EAAkCC,MAAlC,CAAyC,cAAzC,EAAyDC,MAAzD,CAAgE;AAC9DC,YAAM,IADwD,EAClDC,MAAM;AAD4C,KAAhE,EAEGC,IAFH,CAEQ,UAAClC,GAAD,EAAS;AACf,UAAI,CAACA,IAAI,CAAJ,CAAD,IAAW,CAACA,IAAI,CAAJ,EAAOgC,IAAvB,EAA6B;AAC3B,eAAOG,QAAQC,KAAR,CAAc,6BAAd,CAAP;AACD;AACD,UAAMhD,SAAS,MAAKA,MAAL,GAAcY,IAAI,CAAJ,EAAOgC,IAApC;AACA,UAAMK,MAAM,MAAKA,GAAL,GAAW7D,GAAGC,iBAAH,GAAuB6D,UAA9C;AACA,UAAMC,MAAM,MAAKA,GAAL,GAAWnD,OAAOoD,UAAP,CAAkB,IAAlB,CAAvB;AACA,UAAMrB,OAAO,MAAKA,IAAlB;AACA/B,aAAOiB,KAAP,GAAeL,IAAI,CAAJ,EAAOK,KAAP,GAAegC,GAA9B;AACAjD,aAAOoB,MAAP,GAAgBR,IAAI,CAAJ,EAAOQ,MAAP,GAAgB6B,GAAhC;AACAE,UAAIE,KAAJ,CAAUJ,GAAV,EAAeA,GAAf;AACA,YAAKX,MAAL,GAAc,IAAIgB,0BAAJ,CAAe;AAC3BC,cAAM,OADqB;AAE3BJ,gBAF2B;AAG3BF,gBAH2B;AAI3BhC,eAAOL,IAAI,CAAJ,EAAOK,KAJa;AAK3BG,gBAAQR,IAAI,CAAJ,EAAOQ,MALY;AAM3B;AACAoC,8BAP2B;AAQ3BC,kCAR2B;AAS3BC,gCAT2B;AAU3BC,oCAV2B;AAW3BC,sBAAc,wBAAY;AACxB,cAAMC,SAASC,KAAKC,GAAL,CAAS,KAAKC,MAAL,CAAY/C,KAArB,EAA4B,KAAK+C,MAAL,CAAY5C,MAAxC,IAAkD,CAAjE;AACA;AACA+B,cAAIc,SAAJ,CAAcJ,MAAd,EAAsBA,MAAtB;AACD,SAf0B;AAgB3BK,oBAAY,sBAAY;AACtB;AACAf,cAAIc,SAAJ,CAAc,CAAC,KAAKJ,MAApB,EAA4B,CAAC,KAAKA,MAAlC;AACD,SAnB0B;AAoB3BM,kBAAU,kBAACxE,GAAD,EAAMC,IAAN;AAAA,iBAAe,wBAAYD,MAAMC,IAAlB,CAAf;AAAA;AApBiB,OAAf,EAqBX;AACDyB,gBAAQU,KAAKV,MADZ;AAEDE,gBAAQQ,KAAKR,MAFZ;AAGDC,iBAASO,KAAKP,OAHb;AAIDC,uBAAeM,KAAKN,aAJnB;AAKDE,sBAAcI,KAAKJ,YALlB;AAMDC,eAAO,iBAAa;AAAA,4CAATwC,IAAS;AAATA,gBAAS;AAAA;;AAClB,gBAAKC,YAAL,eAAkB,OAAlB,SAA8BD,IAA9B;AACD,SARA;AASDtC,aAAK,eAAa;AAAA,6CAATsC,IAAS;AAATA,gBAAS;AAAA;;AAChB,gBAAKC,YAAL,eAAkB,KAAlB,SAA4BD,IAA5B;AACAlF,0BAASoF,IAAT,CAAc,KAAd,EAAoBC,IAApB,CAAyB,eAAO;AAC9B,kBAAKC,OAAL,CAAa,EAAEvC,UAAUrB,IAAI6D,YAAhB,EAAb;AACD,WAFD;AAGD;AAdA,OArBW,CAAd;AAqCA;AACA,YAAKD,OAAL,CAAa,EAAExC,QAAQ,IAAV,EAAb;AACD,KApDD;AAqDD,GAlFO;;AAmFR0C,WAAS;AACPC,eADO,uBACM7E,CADN,EACS;AAAA,kCACaA,EAAE8E,aAAF,CAAgBC,OAD7B;AAAA,UACNC,IADM,yBACNA,IADM;AAAA,UACAC,KADA,yBACAA,KADA;AAAA,UACOC,CADP,yBACOA,CADP;;AAEd,UAAMjF,MAAM,KAAKgC,IAAL,CAAU+C,IAAV,EAAgBC,KAAhB,EAAuBE,IAAvB,CAA4BD,CAA5B,CAAZ;AACA,+BAAalF,CAAb,EAAgBC,GAAhB,EAAqB,KAAKC,MAA1B;AACD,KALM;AAMPkF,gBANO,0BAMS;AACd,WAAKhD,UAAL,GAAkB,KAAlB;AACD,KARM;AASPiD,oBATO,4BASWrF,CATX,EASc;AAAA;;AAAA,+BACgBA,EAAEsF,cAAF,CAAiB,CAAjB,CADhB;AAAA,UACFC,CADE,sBACXC,OADW;AAAA,UACUC,CADV,sBACCC,OADD;;AAEnBpG,SAAGoD,mBAAH,GAAyBC,EAAzB,CAA4B,IAA5B,EAAkCC,MAAlC,CAAyC,YAAzC,EAAuDC,MAAvD,CAA8D;AAC5D8C,cAAM;AADsD,OAA9D,EAEG3C,IAFH,CAEQ,UAAClC,GAAD,EAAS;AAAA,oBACOA,IAAI,CAAJ,CADP;AAAA,YACP8E,IADO,SACPA,IADO;AAAA,YACDC,GADC,SACDA,GADC;;AAEf,eAAKC,MAAL,CAAYP,IAAIK,IAAhB,EAAsBH,IAAII,GAA1B;AACD,OALD;AAMD,KAjBM;AAkBPE,uBAlBO,+BAkBc/F,CAlBd,EAkBiB;AAAA,gCACLA,EAAEsF,cAAF,CAAiB,CAAjB,CADK;AAAA,UACdC,CADc,uBACdA,CADc;AAAA,UACXE,CADW,uBACXA,CADW;;AAEtB,WAAKK,MAAL,CAAYP,CAAZ,EAAeE,CAAf;AACD,KArBM;AAsBPK,UAtBO,kBAsBCP,CAtBD,EAsBIE,CAtBJ,EAsBO;AACZ,UAAMpC,MAAM,KAAKA,GAAjB;AACAA,UAAI2C,SAAJ;AACA3C,UAAI4C,GAAJ,CAAQ,CAAR,EAAW,CAAX,EAAc,KAAKzD,MAAL,CAAY0D,YAA1B,EAAwC,CAAxC,EAA2ClC,KAAKmC,EAAL,GAAU,CAArD,EAAwD,KAAxD;AACA,UAAI,CAAC9C,IAAI+C,aAAJ,CAAkBb,IAAI,KAAKpC,GAA3B,EAAgCsC,IAAI,KAAKtC,GAAzC,CAAL,EAAoD;AACpD;AACA,WAAKf,UAAL,GAAkB,IAAlB;AACA,WAAKsC,OAAL,CAAa,EAAEvC,UAAU,EAAZ,EAAb;AACA;AACA,WAAKK,MAAL,CAAY6D,aAAZ;AACD,KAhCM;AAiCPC,QAjCO,kBAiCO;AAAA;;AACZ,sBAAK9D,MAAL,EAAY8D,IAAZ;AACD,KAnCM;AAoCPC,QApCO,kBAoCO;AAAA;;AACZ,uBAAK/D,MAAL,EAAY+D,IAAZ;AACD;AAtCM;AAnFD,CAAV,E","file":"lucky-wheel\\index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nvar t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(e,i)};function e(e,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}var i=function(){return(i=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function n(t,e,i,n){return new(i||(i=Promise))((function(r,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))}function r(t,e){var i,n,r,o,s={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(i)throw new TypeError(\"Generator is already executing.\");for(;s;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(r=s.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){s.label=o[1];break}if(6===o[0]&&s.label<r[1]){s.label=r[1],r=o;break}if(r&&s.label<r[2]){s.label=r[2],s.ops.push(o);break}r[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],n=0}finally{i=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function o(t,e){for(var i=0,n=e.length,r=t.length;i<n;i++,r++)t[r]=e[i];return t}String.prototype.includes||(String.prototype.includes=function(t,e){return\"number\"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)}),Array.prototype.find||Object.defineProperty(Array.prototype,\"find\",{value:function(t){if(null==this)throw new TypeError('\"this\" is null or not defined');var e=Object(this),i=e.length>>>0;if(\"function\"!=typeof t)throw new TypeError(\"predicate must be a function\");for(var n=arguments[1],r=0;r<i;){var o=e[r];if(t.call(n,o,r,e))return o;r++}}});var s=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];return e.some((function(e){return Object.prototype.toString.call(t).slice(8,-1).toLowerCase()===e}))},a=function(t){return[].filter.call(t,(function(t){return\"\\n\"!==t})).join(\"\")},u=function(t){if(\"string\"!=typeof t)return!1;if(\"transparent\"===(t=t.toLocaleLowerCase().trim()))return!1;if(/^rgba/.test(t)){var e=/([^\\s,]+)\\)$/.exec(t);if(0===(null===(i=e)?0:\"object\"==typeof i?NaN:\"number\"==typeof i?i:\"string\"==typeof i?\"%\"===i[i.length-1]?Number(i.slice(0,-1))/100:Number(i):NaN))return!1}var i;return!0},h=function(){function t(){this.subs=[]}return t.prototype.addSub=function(t){this.subs.includes(t)||this.subs.push(t)},t.prototype.notify=function(){this.subs.forEach((function(t){t.update()}))},t}(),c=\"__proto__\"in{};function l(t,e,i,n){Object.defineProperty(t,e,{value:i,enumerable:!!n,writable:!0,configurable:!0})}var f=Array.prototype,d=Object.create(f);[\"push\",\"pop\",\"shift\",\"unshift\",\"sort\",\"splice\",\"reverse\"].forEach((function(t){d[t]=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];var n=f[t].apply(this,e),r=this.__luckyOb__;return[\"push\",\"unshift\",\"splice\"].includes(t)&&r.walk(this),r.dep.notify(),n}}));var p=function(){function t(t){this.dep=new h,l(t,\"__luckyOb__\",this),Array.isArray(t)&&(c?t.__proto__=d:Object.getOwnPropertyNames(d).forEach((function(e){l(t,e,d[e])}))),this.walk(t)}return t.prototype.walk=function(t){Object.keys(t).forEach((function(e){m(t,e,t[e])}))},t}();function g(t){if(t&&\"object\"==typeof t)return\"__luckyOb__\"in t?t.__luckyOb__:new p(t)}function m(t,e,i){var n=new h,r=Object.getOwnPropertyDescriptor(t,e);if(!r||!1!==r.configurable){var o=r&&r.get,s=r&&r.set;o&&!s||2!==arguments.length||(i=t[e]);var a=g(i);Object.defineProperty(t,e,{get:function(){var e=o?o.call(t):i;return h.target&&(n.addSub(h.target),a&&a.dep.addSub(h.target)),e},set:function(e){e!==i&&(i=e,o&&!s||(s?s.call(t,e):i=e,a=g(e),n.notify()))}})}}var v=0,b=function(){function t(t,e,i,n){void 0===n&&(n={}),this.id=v++,this.$lucky=t,this.expr=e,this.deep=!!n.deep,this.getter=\"function\"==typeof e?e:function(t){t+=\".\";for(var e=[],i=\"\",n=0;n<t.length;n++){var r=t[n];if(/\\[|\\./.test(r))e.push(i),i=\"\";else{if(/\\W/.test(r))continue;i+=r}}return function(t){return e.reduce((function(t,e){return t[e]}),t)}}(e),this.cb=i,this.value=this.get()}return t.prototype.get=function(){h.target=this;var t=this.getter.call(this.$lucky,this.$lucky);return this.deep&&function(t){var e=function(t){s(t,\"array\",\"object\")&&Object.keys(t).forEach((function(i){var n=t[i];e(n)}))};e(t)}(t),h.target=null,t},t.prototype.update=function(){var t=this.get(),e=this.value;this.value=t,this.cb.call(this.$lucky,t,e)},t}(),y=function(){function t(t){var e=this;this.htmlFontSize=16,this.rAF=function(){},this.boxWidth=0,this.boxHeight=0,this.setHTMLFontSize(),\"string\"==typeof t?t={el:t}:1===t.nodeType&&(t={el:\"\",divElement:t}),t=t,this.config=t,this.setDpr(),this.initWindowFunction(),t.flag||(t.flag=\"WEB\"),Object.prototype.hasOwnProperty.call(t,\"ob\")||(t.ob=!0),t.el&&(t.divElement=document.querySelector(t.el)),t.divElement&&(t.canvasElement=document.createElement(\"canvas\"),t.divElement.appendChild(t.canvasElement)),this.resetWidthAndHeight(),t.canvasElement&&(t.ctx=t.canvasElement.getContext(\"2d\"),t.canvasElement.setAttribute(\"package\",\"lucky-canvas@1.5.4\"),t.canvasElement.addEventListener(\"click\",(function(t){return e.handleClick(t)})),t.canvasElement.addEventListener(\"mousemove\",(function(t){return e.handleMouseMove(t)})),t.canvasElement.addEventListener(\"mousedown\",(function(t){return e.handleMouseDown(t)})),t.canvasElement.addEventListener(\"mouseup\",(function(t){return e.handleMouseUp(t)}))),this.ctx=t.ctx,t.ctx?this.boxWidth&&this.boxHeight||console.error(\"无法获取到宽度或高度\"):console.error(\"无法获取到 CanvasContext2D\")}return t.prototype.init=function(t){this.setDpr(),this.setHTMLFontSize(),this.resetWidthAndHeight(),this.zoomCanvas()},t.prototype.handleClick=function(t){},t.prototype.handleMouseDown=function(t){},t.prototype.handleMouseUp=function(t){},t.prototype.handleMouseMove=function(t){},t.prototype.conversionAxis=function(t,e){return[0,0]},t.prototype.setDpr=function(){var t=this.config;t.dpr||(window?window.dpr=t.dpr=window.devicePixelRatio||1:t.dpr||console.error(t,\"未传入 dpr 可能会导致绘制异常\"))},t.prototype.setHTMLFontSize=function(){window&&(this.htmlFontSize=+window.getComputedStyle(document.documentElement).fontSize.slice(0,-2))},t.prototype.resetWidthAndHeight=function(){var t=this.config,e=0,i=0;t.divElement&&(e=t.divElement.offsetWidth,i=t.divElement.offsetHeight),this.boxWidth=this.getLength(t.width)||e,this.boxHeight=this.getLength(t.height)||i,t.divElement&&(t.divElement.style.overflow=\"hidden\",t.divElement.style.width=this.boxWidth+\"px\",t.divElement.style.height=this.boxHeight+\"px\")},t.prototype.initWindowFunction=function(){var t=this.config;if(window)return this.rAF=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)},t.setTimeout=window.setTimeout,t.setInterval=window.setInterval,t.clearTimeout=window.clearTimeout,void(t.clearInterval=window.clearInterval);if(t.rAF)this.rAF=t.rAF;else if(t.setTimeout){var e=t.setTimeout;this.rAF=function(t){return e(t,16.7)}}else this.rAF=function(t){return setTimeout(t,16.7)}},t.prototype.zoomCanvas=function(){var t=this.config,e=this.ctx,i=t.canvasElement,n=t.dpr,r=[this.boxWidth*n,this.boxHeight*n],o=r[0],s=r[1],a=function(t){return(t*n-t)/(t*n)*(n/2)*100};i&&(i.width=o,i.height=s,i.style.width=o+\"px\",i.style.height=s+\"px\",i.style.transform=\"scale(\"+1/n+\") translate(\"+-a(o)+\"%, \"+-a(s)+\"%)\",e.scale(n,n))},t.prototype.loadImg=function(t,e,i){var n=this;return void 0===i&&(i=\"$resolve\"),new Promise((function(r,o){if(t||o(\"=> '\"+e.src+\"' 不能为空或不合法\"),\"WEB\"===n.config.flag){var s=new Image;s.src=t,s.onload=function(){return r(s)},s.onerror=function(){return o(\"=> '\"+e.src+\"' 图片加载失败\")}}else e[i]=r}))},t.prototype.drawImage=function(t,e,i,n,r){var o,s=this.config,a=this.ctx;return[\"WEB\",\"MP-WX\"].includes(s.flag)?o=t:[\"UNI-H5\",\"UNI-MP\",\"TARO-H5\",\"TARO-MP\"].includes(s.flag)&&(o=t.path),a.drawImage(o,e,i,n,r)},t.prototype.getLength=function(t){return s(t,\"number\")?t:s(t,\"string\")?this.changeUnits(t):0},t.prototype.changeUnits=function(t,e){var i=this;return void 0===e&&(e=1),Number(t.replace(/^([-]*[0-9.]*)([a-z%]*)$/,(function(t,n,r){var o={\"%\":function(t){return t*(e/100)},px:function(t){return 1*t},rem:function(t){return t*i.htmlFontSize}}[r];if(o)return o(n);var s=i.config.unitFunc;return s?s(n,r):n})))},t.prototype.$set=function(t,e,i){t&&\"object\"==typeof t&&m(t,e,i)},t.prototype.$computed=function(t,e,i){var n=this;Object.defineProperty(t,e,{get:function(){return i.call(n)}})},t.prototype.$watch=function(t,e,i){void 0===i&&(i={}),\"object\"==typeof e&&(e=(i=e).handler);var n=new b(this,t,e,i);return i.immediate&&e.call(this,n.value),function(){}},t}(),w=function(t){return Math.PI/180*t},x=function(t,e){return[+(Math.cos(t)*e).toFixed(8),+(Math.sin(t)*e).toFixed(8)]},z=function(t,e){var i=-t/e;return[i,-i*t+e]},I=function(t,e,i,n,r,o){var s;if(void 0===o&&(o=!0),Math.abs(r-n).toFixed(8)>=w(180).toFixed(8)){var a=(r+n)/2;return o?(I(t,e,i,n,a,o),I(t,e,i,a,r,o)):(I(t,e,i,a,r,o),I(t,e,i,n,a,o)),!1}o||(n=(s=[r,n])[0],r=s[1]);var u=x(n,i),h=u[0],c=u[1],l=x(r,i),f=l[0],d=l[1],p=z(h,c),g=p[0],m=p[1],v=z(f,d),b=v[0],y=v[1],k=(y-m)/(g-b),S=(b*m-g*y)/(b-g);isNaN(k)&&(Math.abs(h)===+i.toFixed(8)&&(k=h),Math.abs(f)===+i.toFixed(8)&&(k=f)),g===1/0||g===-1/0?S=b*k+y:b!==1/0&&b!==-1/0||(S=g*k+m),e.lineTo(h,c),t.indexOf(\"MP\")>0?e.quadraticCurveTo(k,S,f,d):e.arcTo(k,S,f,d,i)},k=function(t,e,i,n,r,o,s,a){i||(i=s);var u=w(90/Math.PI/n*s),h=w(90/Math.PI/i*s),c=r+u,l=o-u,f=r+h,d=o-h;e.beginPath(),e.fillStyle=a,e.moveTo.apply(e,x(c,n)),I(t,e,n,c,l,!0),d>f?I(t,e,i,f,d,!1):e.lineTo.apply(e,x((r+o)/2,s/2/Math.abs(Math.sin((r-o)/2)))),e.closePath(),e.fill()},S=function(t,e,i,n,r,o,s){var a=Math.min(n,r);o>a/2&&(o=a/2),t.beginPath(),t.fillStyle=s,t.moveTo(e+o,i),t.lineTo(e+o,i),t.lineTo(e+n-o,i),t.quadraticCurveTo(e+n,i,e+n,i+o),t.lineTo(e+n,i+r-o),t.quadraticCurveTo(e+n,i+r,e+n-o,i+r),t.lineTo(e+o,i+r),t.quadraticCurveTo(e,i+r,e,i+r-o),t.lineTo(e,i+o),t.quadraticCurveTo(e,i,e+o,i),t.closePath(),t.fill()},C={easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),-i*(t/=n)*(t-2)+e}},T={easeIn:function(t,e,i,n){return t>=n&&(t=n),-i*Math.cos(t/n*(Math.PI/2))+i+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*Math.sin(t/n*(Math.PI/2))+e}},W={easeIn:function(t,e,i,n){return t>=n&&(t=n),0==t?e:i*Math.pow(2,10*(t/n-1))+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),t==n?e+i:i*(1-Math.pow(2,-10*t/n))+e}},O={easeIn:function(t,e,i,n){return t>=n&&(t=n),-i*(Math.sqrt(1-(t/=n)*t)-1)+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*Math.sqrt(1-(t=t/n-1)*t)+e}},_=Object.freeze({__proto__:null,quad:C,cubic:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*((t=t/n-1)*t*t+1)+e}},quart:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),-i*((t=t/n-1)*t*t*t-1)+e}},quint:{easeIn:function(t,e,i,n){return t>=n&&(t=n),i*(t/=n)*t*t*t*t+e},easeOut:function(t,e,i,n){return t>=n&&(t=n),i*((t=t/n-1)*t*t*t*t+1)+e}},sine:T,expo:W,circ:O}),E=function(t){function o(e,i){var n;void 0===i&&(i={});var r=t.call(this,e)||this;return r.blocks=[],r.prizes=[],r.buttons=[],r.defaultConfig={},r._defaultConfig={gutter:\"0px\",offsetDegree:0,speed:20,speedFunction:\"quad\",accelerationTime:2500,decelerationTime:2500,stopRange:.8},r.defaultStyle={},r._defaultStyle={fontSize:\"18px\",fontColor:\"#000\",fontStyle:\"sans-serif\",fontWeight:\"400\",lineHeight:\"\",background:\"rgba(0,0,0,0)\",wordWrap:!0,lengthLimit:\"90%\"},r.Radius=0,r.prizeRadius=0,r.prizeDeg=0,r.prizeRadian=0,r.rotateDeg=0,r.maxBtnRadius=0,r.startTime=0,r.endTime=0,r.stopDeg=0,r.endDeg=0,r.FPS=16.6,r.blockImgs=[[]],r.prizeImgs=[[]],r.btnImgs=[[]],e.ob&&(r.initData(i),r.initWatch()),r.initComputed(),null===(n=e.beforeCreate)||void 0===n||n.call(r),r.init({blockImgs:r.blocks.map((function(t){return t.imgs})),prizeImgs:r.prizes.map((function(t){return t.imgs})),btnImgs:r.buttons.map((function(t){return t.imgs}))}),r}return e(o,t),o.prototype.initData=function(t){this.$set(this,\"blocks\",t.blocks||[]),this.$set(this,\"prizes\",t.prizes||[]),this.$set(this,\"buttons\",t.buttons||[]),this.$set(this,\"defaultConfig\",t.defaultConfig||{}),this.$set(this,\"defaultStyle\",t.defaultStyle||{}),this.$set(this,\"startCallback\",t.start),this.$set(this,\"endCallback\",t.end)},o.prototype.initComputed=function(){var t=this;this.$computed(this,\"_defaultConfig\",(function(){return i({gutter:\"0px\",offsetDegree:0,speed:20,speedFunction:\"quad\",accelerationTime:2500,decelerationTime:2500,stopRange:.8},t.defaultConfig)})),this.$computed(this,\"_defaultStyle\",(function(){return i({fontSize:\"18px\",fontColor:\"#000\",fontStyle:\"sans-serif\",fontWeight:\"400\",background:\"rgba(0,0,0,0)\",wordWrap:!0,lengthLimit:\"90%\"},t.defaultStyle)}))},o.prototype.initWatch=function(){var t=this;this.$watch(\"blocks\",(function(e){return t.init({blockImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch(\"prizes\",(function(e){return t.init({prizeImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch(\"buttons\",(function(e){return t.init({btnImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch(\"defaultConfig\",(function(){return t.draw()}),{deep:!0}),this.$watch(\"defaultStyle\",(function(){return t.draw()}),{deep:!0}),this.$watch(\"startCallback\",(function(){return t.init({})})),this.$watch(\"endCallback\",(function(){return t.init({})}))},o.prototype.init=function(e){var i,n,r=this;t.prototype.init.call(this);var o=this.config,s=this.ctx;this.Radius=Math.min(this.boxWidth,this.boxHeight)/2,null===(i=o.beforeInit)||void 0===i||i.call(this),s.translate(this.Radius,this.Radius),this.draw(),this.draw(),Object.keys(e).forEach((function(t){var i=t,n={blockImgs:\"blocks\",prizeImgs:\"prizes\",btnImgs:\"buttons\"}[i],o=e[i];o&&o.forEach((function(t,e){t&&t.forEach((function(t,o){r.loadAndCacheImg(n,e,i,o,(function(){r.draw()}))}))}))})),null===(n=o.afterInit)||void 0===n||n.call(this)},o.prototype.handleClick=function(t){var e,i=this.ctx;i.beginPath(),i.arc(0,0,this.maxBtnRadius,0,2*Math.PI,!1),i.isPointInPath(t.offsetX,t.offsetY)&&(this.startTime||null===(e=this.startCallback)||void 0===e||e.call(this,t))},o.prototype.loadAndCacheImg=function(t,e,i,o,s){return n(this,void 0,void 0,(function(){var n,a,u=this;return r(this,(function(r){return(n=this[t][e])&&n.imgs&&(a=n.imgs[o])?(this[i][e]||(this[i][e]=[]),this.loadImg(a.src,a).then((function(t){u[i][e][o]=t,s.call(u)})).catch((function(i){console.error(t+\"[\"+e+\"].imgs[\"+o+\"] \"+i)})),[2]):[2]}))}))},o.prototype.computedWidthAndHeight=function(t,e,i,n){if(!e.width&&!e.height)return[t.width,t.height];if(e.width&&!e.height){var r=this.getWidth(e.width,i);return[r,t.height*(r/t.width)]}if(!e.width&&e.height){var o=this.getHeight(e.height,n);return[t.width*(o/t.height),o]}return[this.getWidth(e.width,i),this.getHeight(e.height,n)]},o.prototype.draw=function(){var t,e,i=this,n=this,r=n.config,o=n.ctx,s=n._defaultConfig,h=n._defaultStyle;null===(t=r.beforeDraw)||void 0===t||t.call(this,o),o.clearRect(-this.Radius,-this.Radius,2*this.Radius,2*this.Radius),this.prizeRadius=this.blocks.reduce((function(t,e,n){return u(e.background)&&(o.beginPath(),o.fillStyle=e.background,o.arc(0,0,t,0,2*Math.PI,!1),o.fill()),e.imgs&&e.imgs.forEach((function(e,r){if(i.blockImgs[n]){var s=i.blockImgs[n][r];if(s){var a=i.computedWidthAndHeight(s,e,2*t,2*t),u=a[0],h=a[1],c=[i.getOffsetX(u),i.getHeight(e.top,2*t)-t],l=c[0],f=c[1];o.save(),e.rotate&&o.rotate(w(i.rotateDeg)),i.drawImage(s,l,f,u,h),o.restore()}}})),t-i.getLength(e.padding&&e.padding.split(\" \")[0])}),this.Radius),this.prizeDeg=360/this.prizes.length,this.prizeRadian=w(this.prizeDeg);var c=w(-90+this.rotateDeg+s.offsetDegree),l=function(t){return i.getOffsetX(o.measureText(t).width)},f=function(t,e,n){var r=t.lineHeight||h.lineHeight||t.fontSize||h.fontSize;return i.getHeight(t.top,e)+(n+1)*i.getLength(r)};o.save(),this.prizes.forEach((function(t,e){var n=c+e*i.prizeRadian,d=i.prizeRadius-i.maxBtnRadius,p=t.background||h.background;u(p)&&function(t,e,i,n,r,o,s,a){s?k(t,e,i,n,r,o,s,a):(e.beginPath(),e.fillStyle=a,e.moveTo(0,0),e.arc(0,0,n,r,o,!1),e.closePath(),e.fill())}(r.flag,o,i.maxBtnRadius,i.prizeRadius,n-i.prizeRadian/2,n+i.prizeRadian/2,i.getLength(s.gutter),p);var g=Math.cos(n)*i.prizeRadius,m=Math.sin(n)*i.prizeRadius;o.translate(g,m),o.rotate(n+w(90)),t.imgs&&t.imgs.forEach((function(t,n){if(i.prizeImgs[e]){var r=i.prizeImgs[e][n];if(r){var o=i.computedWidthAndHeight(r,t,i.prizeRadian*i.prizeRadius,d),s=o[0],a=o[1],u=[i.getOffsetX(s),i.getHeight(t.top,d)],h=u[0],c=u[1];i.drawImage(r,h,c,s,a)}}})),t.fonts&&t.fonts.forEach((function(t){var e=t.fontColor||h.fontColor,n=t.fontWeight||h.fontWeight,r=i.getLength(t.fontSize||h.fontSize),u=t.fontStyle||h.fontStyle;o.fillStyle=e,o.font=n+\" \"+(r>>0)+\"px \"+u;var c=[],p=String(t.text);if(Object.prototype.hasOwnProperty.call(t,\"wordWrap\")?t.wordWrap:h.wordWrap){p=a(p);for(var g=\"\",m=0;m<p.length;m++){g+=p[m];var v=o.measureText(g).width,b=(i.prizeRadius-f(t,d,c.length))*Math.tan(i.prizeRadian/2)*2-i.getLength(s.gutter);v>i.getWidth(t.lengthLimit||h.lengthLimit,b)&&(c.push(g.slice(0,-1)),g=p[m])}g&&c.push(g),c.length||c.push(p)}else c=p.split(\"\\n\");c.filter((function(t){return!!t})).forEach((function(e,i){o.fillText(e,l(e),f(t,d,i))}))})),o.rotate(w(360)-n-w(90)),o.translate(-g,-m)})),o.restore(),this.buttons.forEach((function(t,e){var n=i.getHeight(t.radius);i.maxBtnRadius=Math.max(i.maxBtnRadius,n),u(t.background)&&(o.beginPath(),o.fillStyle=t.background,o.arc(0,0,n,0,2*Math.PI,!1),o.fill()),t.pointer&&u(t.background)&&(o.beginPath(),o.fillStyle=t.background,o.moveTo(-n,0),o.lineTo(n,0),o.lineTo(0,2*-n),o.closePath(),o.fill()),t.imgs&&t.imgs.forEach((function(t,r){if(i.btnImgs[e]){var o=i.btnImgs[e][r];if(o){var s=i.computedWidthAndHeight(o,t,2*n,2*n),a=s[0],u=s[1],h=[i.getOffsetX(a),i.getHeight(t.top,n)],c=h[0],l=h[1];i.drawImage(o,c,l,a,u)}}})),t.fonts&&t.fonts.forEach((function(t){var e=t.fontColor||h.fontColor,r=t.fontWeight||h.fontWeight,s=i.getLength(t.fontSize||h.fontSize),a=t.fontStyle||h.fontStyle;o.fillStyle=e,o.font=r+\" \"+(s>>0)+\"px \"+a,String(t.text).split(\"\\n\").forEach((function(e,i){o.fillText(e,l(e),f(t,n,i))}))}))})),null===(e=r.afterDraw)||void 0===e||e.call(this,o)},o.prototype.play=function(){this.startTime||(this.startTime=Date.now(),this.prizeFlag=void 0,this.run())},o.prototype.stop=function(t){this.prizeFlag=t<0?-1:t%this.prizes.length,-1===this.prizeFlag&&(this.rotateDeg=this.prizeDeg/2-this._defaultConfig.offsetDegree,this.draw())},o.prototype.run=function(t){void 0===t&&(t=0);var e=this,i=e.rAF,n=e.prizeFlag,r=e.prizeDeg,o=e.rotateDeg,s=e._defaultConfig,a=Date.now()-this.startTime;if(a>=s.accelerationTime&&void 0!==n){this.FPS=a/t,this.endTime=Date.now(),this.stopDeg=o;for(var u=(Math.random()*r-r/2)*this.getLength(s.stopRange),h=0;++h;){var c=360*h-n*r-o-s.offsetDegree+u;if(_[s.speedFunction].easeOut(this.FPS,this.stopDeg,c,s.decelerationTime)-this.stopDeg>s.speed){this.endDeg=c;break}}return this.slowDown()}this.rotateDeg=(o+_[s.speedFunction].easeIn(a,0,s.speed,s.accelerationTime))%360,this.draw(),i(this.run.bind(this,t+1))},o.prototype.slowDown=function(){var t,e=this,n=e.rAF,r=e.prizes,o=e.prizeFlag,s=e.stopDeg,a=e.endDeg,u=e._defaultConfig,h=Date.now()-this.endTime;if(-1!==o){if(h>=u.decelerationTime)return this.startTime=0,void(null===(t=this.endCallback)||void 0===t||t.call(this,i({},r.find((function(t,e){return e===o})))));this.rotateDeg=_[u.speedFunction].easeOut(h,s,a,u.decelerationTime)%360,this.draw(),n(this.slowDown.bind(this))}else this.startTime=0},o.prototype.getWidth=function(t,e){return void 0===e&&(e=this.prizeRadian*this.prizeRadius),s(t,\"number\")?t:s(t,\"string\")?this.changeUnits(t,e):0},o.prototype.getHeight=function(t,e){return void 0===e&&(e=this.prizeRadius),s(t,\"number\")?t:s(t,\"string\")?this.changeUnits(t,e):0},o.prototype.getOffsetX=function(t){return-t/2},o.prototype.conversionAxis=function(t,e){var i=this.config;return[t/i.dpr-this.Radius,e/i.dpr-this.Radius]},o}(y),P=function(t){function h(e,i){var n;void 0===i&&(i={});var r=t.call(this,e)||this;r.rows=3,r.cols=3,r.blocks=[],r.prizes=[],r.buttons=[],r.defaultConfig={},r._defaultConfig={gutter:5,speed:20,accelerationTime:2500,decelerationTime:2500},r.defaultStyle={},r._defaultStyle={borderRadius:20,fontColor:\"#000\",fontSize:\"18px\",fontStyle:\"sans-serif\",fontWeight:\"400\",lineHeight:\"\",background:\"rgba(0,0,0,0)\",shadow:\"\",wordWrap:!0,lengthLimit:\"90%\"},r.activeStyle={},r._activeStyle={background:\"#ffce98\",shadow:\"\",fontStyle:\"\",fontWeight:\"\",fontSize:\"\",lineHeight:\"\",fontColor:\"\"},r.cellWidth=0,r.cellHeight=0,r.startTime=0,r.endTime=0,r.currIndex=0,r.stopIndex=0,r.endIndex=0,r.demo=!1,r.timer=0,r.FPS=16.6,r.prizeFlag=-1,r.cells=[],r.blockImgs=[[]],r.btnImgs=[[]],r.prizeImgs=[],e.ob&&(r.initData(i),r.initWatch()),r.initComputed(),null===(n=e.beforeCreate)||void 0===n||n.call(r);var o=r.buttons.map((function(t){return t.imgs}));return r.button&&o.push(r.button.imgs),r.init({blockImgs:r.blocks.map((function(t){return t.imgs})),prizeImgs:r.prizes.map((function(t){return t.imgs})),btnImgs:o}),r}return e(h,t),h.prototype.initData=function(t){this.$set(this,\"rows\",Number(t.rows)||3),this.$set(this,\"cols\",Number(t.cols)||3),this.$set(this,\"blocks\",t.blocks||[]),this.$set(this,\"prizes\",t.prizes||[]),this.$set(this,\"buttons\",t.buttons||[]),this.$set(this,\"button\",t.button),this.$set(this,\"defaultConfig\",t.defaultConfig||{}),this.$set(this,\"defaultStyle\",t.defaultStyle||{}),this.$set(this,\"activeStyle\",t.activeStyle||{}),this.$set(this,\"startCallback\",t.start),this.$set(this,\"endCallback\",t.end)},h.prototype.initComputed=function(){var t=this;this.$computed(this,\"_defaultConfig\",(function(){var e=i({gutter:5,speed:20,accelerationTime:2500,decelerationTime:2500},t.defaultConfig);return e.gutter=t.getLength(e.gutter),e.speed=e.speed/40,e})),this.$computed(this,\"_defaultStyle\",(function(){return i({borderRadius:20,fontColor:\"#000\",fontSize:\"18px\",fontStyle:\"sans-serif\",fontWeight:\"400\",background:\"rgba(0,0,0,0)\",shadow:\"\",wordWrap:!0,lengthLimit:\"90%\"},t.defaultStyle)})),this.$computed(this,\"_activeStyle\",(function(){return i({background:\"#ffce98\",shadow:\"\"},t.activeStyle)}))},h.prototype.initWatch=function(){var t=this;this.$watch(\"blocks\",(function(e){return t.init({blockImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch(\"prizes\",(function(e){return t.init({prizeImgs:e.map((function(t){return t.imgs}))})}),{deep:!0}),this.$watch(\"buttons\",(function(e){var i=e.map((function(t){return t.imgs}));return t.button&&i.push(t.button.imgs),t.init({btnImgs:i})}),{deep:!0}),this.$watch(\"button\",(function(){var e=t.buttons.map((function(t){return t.imgs}));return t.button&&e.push(t.button.imgs),t.init({btnImgs:e})}),{deep:!0}),this.$watch(\"rows\",(function(){return t.init({})})),this.$watch(\"cols\",(function(){return t.init({})})),this.$watch(\"defaultConfig\",(function(){return t.draw()}),{deep:!0}),this.$watch(\"defaultStyle\",(function(){return t.draw()}),{deep:!0}),this.$watch(\"activeStyle\",(function(){return t.draw()}),{deep:!0}),this.$watch(\"startCallback\",(function(){return t.init({})})),this.$watch(\"endCallback\",(function(){return t.init({})}))},h.prototype.init=function(e){var i,n,r=this;t.prototype.init.call(this);var o=this,s=o.config;o.ctx,o.button,null===(i=s.beforeInit)||void 0===i||i.call(this),this.draw(),Object.keys(e).forEach((function(t){var i=t,n=e[i],o={blockImgs:\"blocks\",prizeImgs:\"prizes\",btnImgs:\"buttons\"}[i];n&&n.forEach((function(t,e){t&&t.forEach((function(t,n){r.loadAndCacheImg(o,e,i,n,(function(){r.draw()}))}))}))})),null===(n=s.afterInit)||void 0===n||n.call(this)},h.prototype.handleClick=function(t){var e=this,i=this.ctx;o(o([],this.buttons),[this.button]).forEach((function(n){var r;if(n){var o=e.getGeometricProperty([n.x,n.y,n.col||1,n.row||1]),s=o[0],a=o[1],u=o[2],h=o[3];i.beginPath(),i.rect(s,a,u,h),i.isPointInPath(t.offsetX,t.offsetY)&&(e.startTime||(\"function\"==typeof n.callback&&n.callback.call(e,n),null===(r=e.startCallback)||void 0===r||r.call(e,t,n)))}}))},h.prototype.loadAndCacheImg=function(t,e,i,o,s){return n(this,void 0,void 0,(function(){var n,a,u,h=this;return r(this,(function(r){return n=this[t][e],\"buttons\"===t&&!this.buttons.length&&this.button&&(n=this.button),n&&n.imgs&&(a=n.imgs[o])?(this[i][e]||(this[i][e]=[]),u=[this.loadImg(a.src,a),a.activeSrc&&this.loadImg(a.activeSrc,a,\"$activeResolve\")],Promise.all(u).then((function(t){var n=t[0],r=t[1];h[i][e][o]={defaultImg:n,activeImg:r},s.call(h)})).catch((function(i){console.error(t+\"[\"+e+\"].imgs[\"+o+\"] \"+i)})),[2]):[2]}))}))},h.prototype.computedWidthAndHeight=function(t,e,i){if(!e.width&&!e.height)return[t.width,t.height];if(e.width&&!e.height){var n=this.getWidth(e.width,i.col);return[n,t.height*(n/t.width)]}if(!e.width&&e.height){var r=this.getHeight(e.height,i.row);return[t.width*(r/t.height),r]}return[this.getWidth(e.width,i.col),this.getHeight(e.height,i.row)]},h.prototype.draw=function(){var t,e,i=this,n=this,r=n.config,h=n.ctx,c=n._defaultConfig,l=n._defaultStyle,f=n._activeStyle;null===(t=r.beforeDraw)||void 0===t||t.call(this,h),h.clearRect(0,0,this.boxWidth,this.boxHeight),this.cells=o(o([],this.prizes),this.buttons),this.button&&this.cells.push(this.button),this.cells.forEach((function(t){t.col=t.col||1,t.row=t.row||1})),this.prizeArea=this.blocks.reduce((function(t,e){var n=t.x,r=t.y,o=t.w,a=t.h,c=function(t){var e,i=(null===(e=t.padding)||void 0===e?void 0:e.replace(/px/g,\"\").split(\" \").map((function(t){return~~t})))||[0],n=0,r=0,o=0,a=0;switch(i.length){case 1:n=r=o=a=i[0];break;case 2:n=r=i[0],o=a=i[1];break;case 3:n=i[0],o=a=i[1],r=i[2];break;default:n=i[0],r=i[1],o=i[2],a=i[3]}var u={paddingTop:n,paddingBottom:r,paddingLeft:o,paddingRight:a};for(var h in u)u[h]=Object.prototype.hasOwnProperty.call(t,h)&&s(t[h],\"string\",\"number\")?~~String(t[h]).replace(/px/g,\"\"):u[h];return[n,r,o,a]}(e),f=c[0],d=c[1],p=c[2],g=c[3],m=e.borderRadius?i.getLength(e.borderRadius):0,v=e.background||l.background;return u(v)&&S(h,n,r,o,a,m,i.handleBackground(n,r,o,a,v)),{x:n+p,y:r+f,w:o-p-g,h:a-f-d}}),{x:0,y:0,w:this.boxWidth,h:this.boxHeight}),this.cellWidth=(this.prizeArea.w-c.gutter*(this.cols-1))/this.cols,this.cellHeight=(this.prizeArea.h-c.gutter*(this.rows-1))/this.rows,this.cells.forEach((function(t,e){var n=i.getGeometricProperty([t.x,t.y,t.col,t.row]),o=n[0],s=n[1],c=n[2],d=n[3],p=!1;(void 0===i.prizeFlag||i.prizeFlag>-1)&&(p=e===i.currIndex%i.prizes.length>>0);var g=p?f.background:t.background||l.background;if(u(g)){var m=(p?f.shadow:t.shadow||l.shadow).replace(/px/g,\"\").split(\",\")[0].split(\" \").map((function(t,e){return e<3?Number(t):t}));4===m.length&&(h.shadowColor=m[3],h.shadowOffsetX=m[0]*r.dpr,h.shadowOffsetY=m[1]*r.dpr,h.shadowBlur=m[2],m[0]>0?c-=m[0]:(c+=m[0],o-=m[0]),m[1]>0?d-=m[1]:(d+=m[1],s-=m[1])),S(h,o,s,c,d,i.getLength(t.borderRadius?t.borderRadius:l.borderRadius),i.handleBackground(o,s,c,d,g)),h.shadowColor=\"rgba(0, 0, 0, 0)\",h.shadowOffsetX=0,h.shadowOffsetY=0,h.shadowBlur=0}var v=\"prizeImgs\";e>=i.prizes.length&&(v=\"btnImgs\",e-=i.prizes.length),t.imgs&&t.imgs.forEach((function(n,r){if(i[v][e]){var a=i[v][e][r];if(a){var u=p&&a.activeImg||a.defaultImg;if(u){var h=i.computedWidthAndHeight(u,n,t),c=h[0],l=h[1],f=[o+i.getOffsetX(c,t.col),s+i.getHeight(n.top,t.row)],d=f[0],g=f[1];i.drawImage(u,d,g,c,l)}}}})),t.fonts&&t.fonts.forEach((function(e){var n=p&&f.fontStyle?f.fontStyle:e.fontStyle||l.fontStyle,r=p&&f.fontWeight?f.fontWeight:e.fontWeight||l.fontWeight,u=p&&f.fontSize?i.getLength(f.fontSize):i.getLength(e.fontSize||l.fontSize),c=p&&f.lineHeight?f.lineHeight:e.lineHeight||l.lineHeight||e.fontSize||l.fontSize;h.font=r+\" \"+(u>>0)+\"px \"+n,h.fillStyle=p&&f.fontColor?f.fontColor:e.fontColor||l.fontColor;var d=[],g=String(e.text);if(Object.prototype.hasOwnProperty.call(e,\"wordWrap\")?e.wordWrap:l.wordWrap){g=a(g);for(var m=\"\",v=0;v<g.length;v++){m+=g[v],h.measureText(m).width>i.getWidth(e.lengthLimit||l.lengthLimit,t.col)&&(d.push(m.slice(0,-1)),m=g[v])}m&&d.push(m),d.length||d.push(g)}else d=g.split(\"\\n\");d.forEach((function(n,r){h.fillText(n,o+i.getOffsetX(h.measureText(n).width,t.col),s+i.getHeight(e.top,t.row)+(r+1)*i.getLength(c))}))}))})),null===(e=r.afterDraw)||void 0===e||e.call(this,h)},h.prototype.handleBackground=function(t,e,i,n,r){var o=this.ctx;return r.includes(\"linear-gradient\")&&(r=function(t,e,i,n,r,o){var s=/linear-gradient\\((.+)\\)/.exec(o)[1].split(\",\").map((function(t){return t.trim()})),a=s.shift(),u=[0,0,0,0];if(a.includes(\"deg\")){var h=function(t){return Math.tan(t/180*Math.PI)};(a=a.slice(0,-3)%360)>=0&&a<45?u=[e,i+r,e+n,i+r-n*h(a-0)]:a>=45&&a<90?u=[e,i+r,e+n-r*h(a-45),i]:a>=90&&a<135?u=[e+n,i+r,e+n-r*h(a-90),i]:a>=135&&a<180?u=[e+n,i+r,e,i+n*h(a-135)]:a>=180&&a<225?u=[e+n,i,e,i+n*h(a-180)]:a>=225&&a<270?u=[e+n,i,e+r*h(a-225),i+r]:a>=270&&a<315?u=[e,i,e+r*h(a-270),i+r]:a>=315&&a<360&&(u=[e,i,e+n,i+r-n*h(a-315)])}else a.includes(\"top\")?u=[e,i+r,e,i]:a.includes(\"bottom\")?u=[e,i,e,i+r]:a.includes(\"left\")?u=[e+n,i,e,i]:a.includes(\"right\")&&(u=[e,i,e+n,i]);var c=t.createLinearGradient.apply(t,u.map((function(t){return t>>0})));return s.reduce((function(t,e,i){var n=e.split(\" \");return 1===n.length?t.addColorStop(i,n[0]):2===n.length&&t.addColorStop.apply(t,n),t}),c)}(o,t,e,i,n,r)),r},h.prototype.play=function(){var t=this.config.clearInterval;this.startTime||(t(this.timer),this.startTime=Date.now(),this.prizeFlag=void 0,this.run())},h.prototype.stop=function(t){this.prizeFlag=t<0?-1:t%this.prizes.length,-1===this.prizeFlag&&(this.currIndex=0,this.draw())},h.prototype.run=function(t){void 0===t&&(t=0);var e=this,i=e.rAF,n=e.currIndex,r=e.prizes,o=e.prizeFlag,s=e.startTime,a=e._defaultConfig,u=Date.now()-s;if(u>=a.accelerationTime&&void 0!==o){this.FPS=u/t,this.endTime=Date.now(),this.stopIndex=n;for(var h=0;++h;){var c=r.length*h+o-(n>>0);if(C.easeOut(this.FPS,this.stopIndex,c,a.decelerationTime)-this.stopIndex>a.speed){this.endIndex=c;break}}return this.slowDown()}this.currIndex=(n+C.easeIn(u,.1,a.speed,a.accelerationTime))%r.length,this.draw(),i(this.run.bind(this,t+1))},h.prototype.slowDown=function(){var t,e=this,n=e.rAF,r=e.prizes,o=e.prizeFlag,s=e.stopIndex,a=e.endIndex,u=e._defaultConfig,h=Date.now()-this.endTime;if(-1!==o){if(h>u.decelerationTime)return this.startTime=0,void(null===(t=this.endCallback)||void 0===t||t.call(this,i({},r.find((function(t,e){return e===o})))));this.currIndex=C.easeOut(h,s,a,u.decelerationTime)%r.length,this.draw(),n(this.slowDown.bind(this))}else this.startTime=0},h.prototype.walk=function(){var t=this,e=this.config,i=e.setInterval;(0,e.clearInterval)(this.timer),this.timer=i((function(){t.currIndex+=1,t.draw()}),1300)},h.prototype.getGeometricProperty=function(t){var e=t[0],i=t[1],n=t[2],r=t[3],o=this.cellWidth,s=this.cellHeight,a=this._defaultConfig.gutter,u=[this.prizeArea.x+(o+a)*e,this.prizeArea.y+(s+a)*i];return n&&r&&u.push(o*n+a*(n-1),s*r+a*(r-1)),u},h.prototype.getWidth=function(t,e){return void 0===e&&(e=1),s(t,\"number\")?t:s(t,\"string\")?this.changeUnits(t,this.cellWidth*e+this._defaultConfig.gutter*(e-1)):0},h.prototype.getHeight=function(t,e){return void 0===e&&(e=1),s(t,\"number\")?t:s(t,\"string\")?this.changeUnits(t,this.cellHeight*e+this._defaultConfig.gutter*(e-1)):0},h.prototype.getOffsetX=function(t,e){return void 0===e&&(e=1),(this.cellWidth*e+this._defaultConfig.gutter*(e-1)-t)/2},h.prototype.conversionAxis=function(t,e){var i=this.config;return[t/i.dpr,e/i.dpr]},h}(y);exports.LuckyGrid=P,exports.LuckyWheel=E;\n","const windowWidth = wx.getSystemInfoSync().windowWidth\r\n\r\nexport const rpx2px = (value) => {\r\n if (typeof value === 'string') value = Number(value.replace(/[a-z]*/g, ''))\r\n return windowWidth / 750 * value\r\n}\r\n\r\nexport const changeUnits = (value) => {\r\n return Number(value.replace(/^(\\-*[0-9.]*)([a-z%]*)$/, (value, num, unit) => {\r\n switch (unit) {\r\n case 'px':\r\n num *= 1\r\n break\r\n case 'rpx':\r\n num = rpx2px(num)\r\n break\r\n default:\r\n num *= 1\r\n break\r\n }\r\n return num\r\n }))\r\n}\r\n\r\nexport const resolveImage = (e, img, canvas, srcName = 'src', resolveName = '$resolve') => {\r\n let imgObj = canvas.createImage()\r\n imgObj.onload = () => {\r\n img[resolveName](imgObj)\r\n }\r\n imgObj.src = img[srcName]\r\n}\r\n\r\nexport function getImage () {\r\n return new Promise((resolve, reject) => {\r\n wx.canvasToTempFilePath({\r\n canvas: this.canvas,\r\n success: res => resolve(res),\r\n fail: err => reject(err)\r\n });\r\n })\r\n}\r\n","import { LuckyWheel } from '../../node_modules/lucky-canvas/dist/lucky-canvas.cjs.min'\r\nimport { changeUnits, resolveImage, getImage } from '../utils'\r\n\r\nComponent({\r\n properties: {\r\n width: { type: String, value: '600rpx' },\r\n height: { type: String, value: '600rpx' },\r\n blocks: { type: Array, value: [] },\r\n prizes: { type: Array, value: [] },\r\n buttons: { type: Array, value: [] },\r\n defaultConfig: { type: Object, value: {} },\r\n defaultStyle: { type: Object, value: {} },\r\n start: { type: Function, value: () => {} },\r\n end: { type: Function, value: () => {} },\r\n },\r\n data: {\r\n isShow: false,\r\n luckyImg: '',\r\n showCanvas: true,\r\n },\r\n observers: {\r\n 'blocks.**': function(newData, oldData) {\r\n this.$lucky && (this.$lucky.blocks = newData)\r\n },\r\n 'prizes.**': function(newData, oldData) {\r\n this.$lucky && (this.$lucky.prizes = newData)\r\n },\r\n 'buttons.**': function(newData, oldData) {\r\n this.$lucky && (this.$lucky.buttons = newData)\r\n },\r\n },\r\n ready() {\r\n wx.createSelectorQuery().in(this).select('#lucky-wheel').fields({\r\n node: true, size: true\r\n }).exec((res) => {\r\n if (!res[0] || !res[0].node) {\r\n return console.error('lucky-canvas 获取不到 canvas 标签')\r\n }\r\n const canvas = this.canvas = res[0].node\r\n const dpr = this.dpr = wx.getSystemInfoSync().pixelRatio\r\n const ctx = this.ctx = canvas.getContext('2d')\r\n const data = this.data\r\n canvas.width = res[0].width * dpr\r\n canvas.height = res[0].height * dpr\r\n ctx.scale(dpr, dpr)\r\n this.$lucky = new LuckyWheel({\r\n flag: 'MP-WX',\r\n ctx,\r\n dpr,\r\n width: res[0].width,\r\n height: res[0].height,\r\n // rAF: canvas.requestAnimationFrame, // 帧动画真机调试会报错!\r\n setTimeout,\r\n clearTimeout,\r\n setInterval,\r\n clearInterval,\r\n beforeCreate: function () {\r\n const Radius = Math.min(this.config.width, this.config.height) / 2\r\n // 设置坐标轴\r\n ctx.translate(Radius, Radius)\r\n },\r\n beforeInit: function () {\r\n // 重置坐标轴\r\n ctx.translate(-this.Radius, -this.Radius)\r\n },\r\n unitFunc: (num, unit) => changeUnits(num + unit),\r\n }, {\r\n blocks: data.blocks,\r\n prizes: data.prizes,\r\n buttons: data.buttons,\r\n defaultConfig: data.defaultConfig,\r\n defaultStyle: data.defaultStyle,\r\n start: (...rest) => {\r\n this.triggerEvent('start', ...rest)\r\n },\r\n end: (...rest) => {\r\n this.triggerEvent('end', ...rest)\r\n getImage.call(this).then(res => {\r\n this.setData({ luckyImg: res.tempFilePath })\r\n })\r\n },\r\n })\r\n // 为了保证 onload 回调准确\r\n this.setData({ isShow: true })\r\n })\r\n },\r\n methods: {\r\n imgBindload (e) {\r\n const { name, index, i } = e.currentTarget.dataset\r\n const img = this.data[name][index].imgs[i]\r\n resolveImage(e, img, this.canvas)\r\n },\r\n luckyImgLoad () {\r\n this.showCanvas = false\r\n },\r\n handleClickOfImg (e) {\r\n const { clientX: x, clientY: y } = e.changedTouches[0]\r\n wx.createSelectorQuery().in(this).select('.lucky-img').fields({\r\n rect: true\r\n }).exec((res) => {\r\n const { left, top } = res[0]\r\n this.toPlay(x - left, y - top)\r\n })\r\n },\r\n handleClickOfCanvas (e) {\r\n const { x, y } = e.changedTouches[0]\r\n this.toPlay(x, y)\r\n },\r\n toPlay (x, y) {\r\n const ctx = this.ctx\r\n ctx.beginPath()\r\n ctx.arc(0, 0, this.$lucky.maxBtnRadius, 0, Math.PI * 2, false)\r\n if (!ctx.isPointInPath(x * this.dpr, y * this.dpr)) return\r\n // 隐藏图片并显示canvas\r\n this.showCanvas = true\r\n this.setData({ luckyImg: '' })\r\n // 触发 lucky-canvas 的抽奖逻辑\r\n this.$lucky.startCallback()\r\n },\r\n play(...rest) {\r\n this.$lucky.play(...rest)\r\n },\r\n stop(...rest) {\r\n this.$lucky.stop(...rest)\r\n },\r\n },\r\n})\r\n"],"sourceRoot":""} | ||
| 0 | \ No newline at end of file | 2 | \ No newline at end of file |
packageB/miniprogram_npm/mini-luck-draw/lucky-wheel/index.json
0 → 100644
packageB/miniprogram_npm/mini-luck-draw/lucky-wheel/index.wxml
0 → 100644
| 1 | +<view class="lucky-box" style="width: {{width}}; height: {{height}}"> | ||
| 2 | + | ||
| 3 | + <canvas | ||
| 4 | + hidden="{{hiddenCanvas}}" | ||
| 5 | + type="2d" | ||
| 6 | + id="lucky-wheel" | ||
| 7 | + canvas-id="lucky-wheel" | ||
| 8 | + bindtouchstart="handleClickOfCanvas" | ||
| 9 | + style="width: {{width}}; height: {{height}}; visibility: {{showCanvas ? 'visible' : 'hidden'}}; " | ||
| 10 | + ></canvas> | ||
| 11 | + <image | ||
| 12 | + wx:if="{{luckyImg}}" | ||
| 13 | + src="{{luckyImg}}" | ||
| 14 | + class="lucky-img" | ||
| 15 | + mode="scaleToFill" | ||
| 16 | + bindload="luckyImgLoad" | ||
| 17 | + bindtouchstart="handleClickOfImg" | ||
| 18 | + style="width: {{width}}; height: {{height}}" | ||
| 19 | + ></image> | ||
| 20 | + | ||
| 21 | + | ||
| 22 | + <view> | ||
| 23 | + <view wx:if="{{isShow}}" wx:for="{{blocks}}" wx:key="index" wx:for-index="index" wx:for-item="block" style="visibility: hidden; height: 0"> | ||
| 24 | + <view wx:for="{{block.imgs}}" wx:key="i" wx:for-index="i" wx:for-item="img"> | ||
| 25 | + <image src="{{img.src}}" data-name="blocks" data-index="{{index}}" data-i="{{i}}" bindload="imgBindload"></image> | ||
| 26 | + </view> | ||
| 27 | + </view> | ||
| 28 | + </view> | ||
| 29 | + <view> | ||
| 30 | + <view wx:if="{{isShow}}" wx:for="{{prizes}}" wx:key="index" wx:for-index="index" wx:for-item="prize" style="visibility: hidden; height: 0"> | ||
| 31 | + <view wx:for="{{prize.imgs}}" wx:key="i" wx:for-index="i" wx:for-item="img"> | ||
| 32 | + <image src="{{img.src}}" data-name="prizes" data-index="{{index}}" data-i="{{i}}" bindload="imgBindload"></image> | ||
| 33 | + </view> | ||
| 34 | + </view> | ||
| 35 | + </view> | ||
| 36 | + <view> | ||
| 37 | + <view wx:if="{{isShow}}" wx:for="{{buttons}}" wx:key="index" wx:for-index="index" wx:for-item="button" style="visibility: hidden; height: 0"> | ||
| 38 | + <view wx:for="{{button.imgs}}" wx:key="i" wx:for-index="i" wx:for-item="img"> | ||
| 39 | + <image src="{{img.src}}" data-name="buttons" data-index="{{index}}" data-i="{{i}}" bindload="imgBindload"></image> | ||
| 40 | + </view> | ||
| 41 | + </view> | ||
| 42 | + </view> | ||
| 43 | +</view> |
packageB/miniprogram_npm/mini-luck-draw/lucky-wheel/index.wxss
0 → 100644
| 1 | +/* mini-luck-draw/lucky-wheel/index.wxss */ | ||
| 2 | +.lucky-box { | ||
| 3 | + position: relative; | ||
| 4 | + /* overflow: hidden; */ | ||
| 5 | + margin: 0 auto; | ||
| 6 | +} | ||
| 7 | +.lucky-img { | ||
| 8 | + position: absolute; | ||
| 9 | + left: 0; | ||
| 10 | + top: 0; | ||
| 11 | + z-index: 0; | ||
| 12 | +} | ||
| 13 | +#lucky-wheel { | ||
| 14 | + /* position: relative; | ||
| 15 | + z-index: 99; */ | ||
| 16 | +} |
packageB/pages/evaluate/evaluate.js
0 → 100644
| 1 | + var e = getApp(), | ||
| 2 | + a = e.globalData.setting, | ||
| 3 | + os = a, | ||
| 4 | + t = e.request, | ||
| 5 | + d = e.globalData; | ||
| 6 | +Page({ | ||
| 7 | + | ||
| 8 | + /** | ||
| 9 | + * 页面的初始数据 | ||
| 10 | + */ | ||
| 11 | + data: { | ||
| 12 | + url: a.url, //接口网址 | ||
| 13 | + iurl: a.imghost, | ||
| 14 | + defimgurl: "/miniapp/images/no-head.jpg", | ||
| 15 | + stars_index: -1, //当前点击的星星下标 | ||
| 16 | + labels: [], //星级标签数组 | ||
| 17 | + sub_evaluate: 0, //是否评价成功 | ||
| 18 | + proposal: "", //用户输入的建议 | ||
| 19 | + proposal_size: 100, //评价意见和建议限定字数 | ||
| 20 | + number: "", //订单单号 | ||
| 21 | + beautician: "", //美容师信息 | ||
| 22 | + fromType: "服务评价", //评价来源 | ||
| 23 | + arrangeTime: "", //服务日期 | ||
| 24 | + is_evaluate: 0, //是否评价 | ||
| 25 | + EvaluateDatetime: "", //评价时间 | ||
| 26 | + is_act:0, //是否能购获取图片 | ||
| 27 | + actId:0, //活动ID | ||
| 28 | + giftBagId:0, //礼包ID | ||
| 29 | + | ||
| 30 | + }, | ||
| 31 | + //点击星级 | ||
| 32 | + check_stars: function(e) { | ||
| 33 | + var th = this; | ||
| 34 | + var is_evaluate = th.data.is_evaluate; //0可点击 | ||
| 35 | + if (is_evaluate == 0) { | ||
| 36 | + var index = e.currentTarget.dataset.index; | ||
| 37 | + var stars_index = th.data.stars_index; | ||
| 38 | + if (index != stars_index) { | ||
| 39 | + var url = "/api/weshop/marketing/reservation/star/label/list"; | ||
| 40 | + getApp().request.promiseGet(url, { | ||
| 41 | + data: { | ||
| 42 | + Star: index + 1, | ||
| 43 | + storeId: a.stoid | ||
| 44 | + } | ||
| 45 | + }).then(res => { | ||
| 46 | + if (res.data.code == 0) { | ||
| 47 | + th.setData({ | ||
| 48 | + labels: res.data.data | ||
| 49 | + }) | ||
| 50 | + } else { | ||
| 51 | + getApp().my_warnning(res.data.msg, 0, th); | ||
| 52 | + return; | ||
| 53 | + } | ||
| 54 | + }) | ||
| 55 | + th.setData({ | ||
| 56 | + stars_index: index | ||
| 57 | + }) | ||
| 58 | + } | ||
| 59 | + } | ||
| 60 | + }, | ||
| 61 | + //输入评价意见和建议 | ||
| 62 | + input_proposal: function(e) { | ||
| 63 | + var th = this; | ||
| 64 | + var value = e.detail.value; | ||
| 65 | + th.setData({ | ||
| 66 | + proposal: value | ||
| 67 | + }) | ||
| 68 | + }, | ||
| 69 | + //图片失败,默认图片 | ||
| 70 | + bind_bnerr1: function (e) { | ||
| 71 | + var th = this; | ||
| 72 | + var _errImg = e.target.dataset.errorimg; | ||
| 73 | + var _Img = e.target.dataset.img; | ||
| 74 | + if (_Img != undefined) { | ||
| 75 | + var _errObj = {}; | ||
| 76 | + _errObj[_errImg] = "/miniapp/images/no-head.jpg"; | ||
| 77 | + th.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | ||
| 78 | + } | ||
| 79 | + }, | ||
| 80 | + //选择标签 | ||
| 81 | + check_label: function(e) { | ||
| 82 | + var th = this; | ||
| 83 | + var evaluate = th.data.is_evaluate; //0为未评价,未评价才可点击标签 | ||
| 84 | + if (evaluate == 0) { | ||
| 85 | + var index = e.currentTarget.dataset.index; | ||
| 86 | + var label_id = th.data.labels[index].check; | ||
| 87 | + var labels = 'labels[' + index + '].check'; | ||
| 88 | + if (label_id) { | ||
| 89 | + label_id = 0 | ||
| 90 | + } else { | ||
| 91 | + label_id = 1 | ||
| 92 | + } | ||
| 93 | + th.setData({ | ||
| 94 | + [labels]: label_id | ||
| 95 | + }) | ||
| 96 | + } | ||
| 97 | + }, | ||
| 98 | + | ||
| 99 | + //查询美导信息 | ||
| 100 | + query_bea: function() { | ||
| 101 | + var th = this; | ||
| 102 | + var url = "/api/weshop/order/pagePosOrder"; | ||
| 103 | + var number = th.data.number; //订单编号 | ||
| 104 | + getApp().request.promiseGet(url, { | ||
| 105 | + data: { | ||
| 106 | + store_id: a.stoid, | ||
| 107 | + user_id: d.user_id, | ||
| 108 | + No: number | ||
| 109 | + } | ||
| 110 | + }).then(res => { | ||
| 111 | + if (res.data.code == 0) { | ||
| 112 | + var data = res.data.data.pageData; | ||
| 113 | + var arrangeTime = data[0].ArrangeTime; | ||
| 114 | + th.setData({ | ||
| 115 | + beautician: data, | ||
| 116 | + arrangeTime: arrangeTime | ||
| 117 | + }) | ||
| 118 | + } else { | ||
| 119 | + getApp().my_warnning(res.data.msg, 0, th); | ||
| 120 | + } | ||
| 121 | + }) | ||
| 122 | + }, | ||
| 123 | + | ||
| 124 | + //获取预约评价 | ||
| 125 | + evaluate_get: function() { | ||
| 126 | + var th = this; | ||
| 127 | + var url = "/api/weshop/evaluation/evaluate/get"; | ||
| 128 | + getApp().request.promiseGet(url, { | ||
| 129 | + data: { | ||
| 130 | + number: th.data.number, | ||
| 131 | + storeId: a.stoid | ||
| 132 | + } | ||
| 133 | + }).then(res => { | ||
| 134 | + if (res.data.code == 0) { | ||
| 135 | + var list=[]; | ||
| 136 | + res.data.data.BillDate=res.data.data.BillDate.replace(".0",''); | ||
| 137 | + list.push(res.data.data); | ||
| 138 | + | ||
| 139 | + th.setData({ | ||
| 140 | + stars_index: res.data.data.Star-1, | ||
| 141 | + labels: res.data.data.EvaluationList, | ||
| 142 | + proposal: res.data.data.Remark, | ||
| 143 | + EvaluateDatetime: res.data.data.EvaluateDatetime.substring(0, 19), | ||
| 144 | + beautician:list, | ||
| 145 | + }) | ||
| 146 | + } else { | ||
| 147 | + getApp().my_warnning(res.data.msg, 0, th); | ||
| 148 | + } | ||
| 149 | + }) | ||
| 150 | + }, | ||
| 151 | + //提交评价 | ||
| 152 | + evaluate_save: function() { | ||
| 153 | + var th = this; | ||
| 154 | + var stars = th.data.stars_index; //评价星级 | ||
| 155 | + var proposal = th.data.proposal; | ||
| 156 | + //判断是否评级 | ||
| 157 | + if (stars < 0) { | ||
| 158 | + getApp().my_warnning("请进行评分", 0, th); | ||
| 159 | + return false; | ||
| 160 | + } else if (proposal == "") { | ||
| 161 | + getApp().my_warnning("给点建议呗", 0, th); | ||
| 162 | + return false; | ||
| 163 | + } | ||
| 164 | + wx.showLoading({ | ||
| 165 | + title: '加载中', | ||
| 166 | + }) | ||
| 167 | + var labels = th.data.labels; //星级标签数组 | ||
| 168 | + var evaLabList = []; //用户选择的评价标签 | ||
| 169 | + // 查询评价标签 | ||
| 170 | + for (var i = 0; i < labels.length; i++) { | ||
| 171 | + if (labels[i].check) { | ||
| 172 | + evaLabList.push(labels[i].LabelName); | ||
| 173 | + } | ||
| 174 | + } | ||
| 175 | + var url = th.data.url + "/api/weshop/evaluation/evaluate/insert"; | ||
| 176 | + var posNo = th.data.number; //收银单号 | ||
| 177 | + var proposal = th.data.proposal; //用户建议内容 | ||
| 178 | + var fromType = th.data.fromType; //评价来源 | ||
| 179 | + var json = { | ||
| 180 | + "evaLabList": evaLabList, | ||
| 181 | + "fromType": 1, | ||
| 182 | + "number": posNo, | ||
| 183 | + "remark": proposal, | ||
| 184 | + "star": stars + 1, | ||
| 185 | + "storeId": a.stoid | ||
| 186 | + }; | ||
| 187 | + var data = JSON.stringify(json); //转换成json格式 | ||
| 188 | + wx.request({ | ||
| 189 | + url: url, | ||
| 190 | + data: data, | ||
| 191 | + method: 'POST', | ||
| 192 | + header: { | ||
| 193 | + 'content-type': 'application/json' | ||
| 194 | + }, // 设置请求的 header | ||
| 195 | + success: function(res) { | ||
| 196 | + wx.hideLoading(); | ||
| 197 | + if (res.data.code == 0) { | ||
| 198 | + getApp().my_warnning("评价成功", 1, th); | ||
| 199 | + var namber=th.data.number; | ||
| 200 | + setTimeout(function() { | ||
| 201 | + wx.redirectTo({ | ||
| 202 | + url: "/packageB/pages/evaluate_list/evaluate_list?IsEvaluate=1" | ||
| 203 | + }); | ||
| 204 | + }, 2000); | ||
| 205 | + } else { | ||
| 206 | + getApp().my_warnning(res.data.msg, 0, th); | ||
| 207 | + } | ||
| 208 | + } | ||
| 209 | + }) | ||
| 210 | + }, | ||
| 211 | + | ||
| 212 | + /** | ||
| 213 | + * 生命周期函数--监听页面加载 | ||
| 214 | + */ | ||
| 215 | + onLoad: function(options) { | ||
| 216 | + var th = this; | ||
| 217 | + th.setData({ | ||
| 218 | + number: options.number, | ||
| 219 | + //is_evaluate: options.evaluate | ||
| 220 | + }) | ||
| 221 | + //th.query_bea(); | ||
| 222 | + //th.judge_act(); | ||
| 223 | + var userinfo=getApp().globalData.userInfo; | ||
| 224 | + console.log("userinfo",userinfo) | ||
| 225 | + | ||
| 226 | + if(!userinfo){ | ||
| 227 | + getApp().goto("/pages/togoin/togoin"); | ||
| 228 | + } | ||
| 229 | + | ||
| 230 | + | ||
| 231 | + }, | ||
| 232 | + | ||
| 233 | + /** | ||
| 234 | + * 生命周期函数--监听页面显示 | ||
| 235 | + */ | ||
| 236 | + onShow: function() { | ||
| 237 | + //var th = this; | ||
| 238 | + //var is_evaluate = th.data.is_evaluate; | ||
| 239 | + //if (is_evaluate == 1) { | ||
| 240 | + // th.evaluate_get(); | ||
| 241 | + //} | ||
| 242 | + //判断有没有评价 | ||
| 243 | + this.check_is_pj(); | ||
| 244 | + }, | ||
| 245 | + | ||
| 246 | + | ||
| 247 | + //评价其他跳转 | ||
| 248 | + evaluate_qt:function(e){ | ||
| 249 | + var status=e.currentTarget.dataset.status; | ||
| 250 | + if(!status) status=0; | ||
| 251 | + wx.redirectTo({ | ||
| 252 | + url: "/packageB/pages/evaluate_list/evaluate_list?IsEvaluate="+status | ||
| 253 | + }); | ||
| 254 | + }, | ||
| 255 | + | ||
| 256 | + | ||
| 257 | + | ||
| 258 | + //点击领取礼包 | ||
| 259 | + clike_lb:function(){ | ||
| 260 | + | ||
| 261 | + var id=this.data.actId; | ||
| 262 | + var gifbagid = this.data.gifbagid; | ||
| 263 | + console.log(id,"订单", this.data.number), | ||
| 264 | + wx.redirectTo({ | ||
| 265 | + url: "/pages/giftpack/evaluategift/evaluategift?actId="+id+ "&orderType=2&orderNumber="+this.data.number | ||
| 266 | + }); | ||
| 267 | + | ||
| 268 | + }, | ||
| 269 | + | ||
| 270 | + //--评价有礼判断--- | ||
| 271 | + judge_act: function () { | ||
| 272 | + var th = this; | ||
| 273 | + var url = "/api/weshop/marketing/comment/act/judge"; | ||
| 274 | + getApp().request.promiseGet(url, { | ||
| 275 | + data: { | ||
| 276 | + orderNumber: th.data.number, | ||
| 277 | + orderType: 2, | ||
| 278 | + storeId: a.stoid, | ||
| 279 | + userId: d.user_id | ||
| 280 | + } | ||
| 281 | + }).then(res => { | ||
| 282 | + if (res.data.code == 0) { | ||
| 283 | + var id = res.data.data.id; | ||
| 284 | + var giftbagid = res.data.data.giftbagid; | ||
| 285 | + th.setData({ | ||
| 286 | + is_act: 1, | ||
| 287 | + actId: id, | ||
| 288 | + giftBagId: giftbagid | ||
| 289 | + }) | ||
| 290 | + } else{ | ||
| 291 | + th.setData({ | ||
| 292 | + is_act:0 | ||
| 293 | + }) | ||
| 294 | + } | ||
| 295 | + }) | ||
| 296 | + }, | ||
| 297 | + | ||
| 298 | + //判断是不是已经评价了 | ||
| 299 | + check_is_pj:function(){ | ||
| 300 | + var th=this; | ||
| 301 | + var chekc_data={}; | ||
| 302 | + chekc_data['storeId'] = a.stoid; | ||
| 303 | + chekc_data['number'] =this.data.number; | ||
| 304 | + getApp().request.get("/api/weshop/evaluation/evaluate/check",{ | ||
| 305 | + data:chekc_data, | ||
| 306 | + success:function(res){ | ||
| 307 | + if(res.data.code==0){ | ||
| 308 | + //没有评价的情况下 | ||
| 309 | + if(res.data.data==='0'){ | ||
| 310 | + th.query_bea(); | ||
| 311 | + th.setData({is_get:1}) | ||
| 312 | + }else if(res.data.data==="1"){ | ||
| 313 | + th.evaluate_get(); | ||
| 314 | + th.setData({is_evaluate:1,is_get:1}) | ||
| 315 | + } | ||
| 316 | + }else{ | ||
| 317 | + getApp().my_warnning(res.data.msg, 0, th); | ||
| 318 | + } | ||
| 319 | + } | ||
| 320 | + }) | ||
| 321 | + | ||
| 322 | + }, | ||
| 323 | + | ||
| 324 | + //跳转到链接地址 | ||
| 325 | + goto:function(e){ | ||
| 326 | + var url=e.currentTarget.dataset.url; | ||
| 327 | + getApp().goto(url); | ||
| 328 | + }, | ||
| 329 | + | ||
| 330 | + //弹出显示商品 | ||
| 331 | + show_goods:function(e){ | ||
| 332 | + var index=e.currentTarget.dataset.index; | ||
| 333 | + var item=this.data.beautician[index]; | ||
| 334 | + var show_goods_list=item.list; | ||
| 335 | + this.setData({ | ||
| 336 | + show_goods_list:show_goods_list, | ||
| 337 | + sh_pop:1 | ||
| 338 | + }) | ||
| 339 | + }, | ||
| 340 | + | ||
| 341 | + //关闭弹出 | ||
| 342 | + close_pop:function(){ | ||
| 343 | + this.setData({ | ||
| 344 | + show_goods_list:null,sh_pop:0 | ||
| 345 | + }) | ||
| 346 | + } | ||
| 347 | + | ||
| 348 | +}) | ||
| 0 | \ No newline at end of file | 349 | \ No newline at end of file |
packageB/pages/evaluate/evaluate.json
0 → 100644
packageB/pages/evaluate/evaluate.wxml
0 → 100644
| 1 | +<view class="container" wx:for="{{beautician}}" wx:if="{{index<1}}" wx:for-item="it"> | ||
| 2 | + <!-- 头像 --> | ||
| 3 | + <view class="flex-center head"> | ||
| 4 | + <image class="headimg" src="{{!it.PhotoUrl || it.PhotoUrl==''?iurl+defimgurl:it.PhotoUrl}}" lazy-load="true" | ||
| 5 | + data-errorimg="beautician[{{index}}].PhotoUrl" | ||
| 6 | + binderror="bind_bnerr1" data-img="beautician[{{index}}].PhotoUrl"></image> | ||
| 7 | + </view> | ||
| 8 | + | ||
| 9 | + <!-- 姓名 --> | ||
| 10 | + <view class="flex-level item"> | ||
| 11 | + <view class="itemlf flex-level-right"> | ||
| 12 | + <view class="fs32">导购名称:</view> | ||
| 13 | + </view> | ||
| 14 | + <view class="itemlr fs30 ellipsis-1">{{it.StaffName?it.StaffName:'无'}}</view> | ||
| 15 | + </view> | ||
| 16 | + | ||
| 17 | + <!-- 项目 --> | ||
| 18 | + <view class="flex-center item" bindtap="show_goods" data-index="{{index}}"> | ||
| 19 | + <view class="itemlf fs32 flex-level-right">购买商品:</view> | ||
| 20 | + <view class="itemlr fs30 ellipsis-1 go_right">{{it.list[0].WareName}}</view> | ||
| 21 | + </view> | ||
| 22 | + | ||
| 23 | + <!-- 时间 --> | ||
| 24 | + <view class="flex-center item"> | ||
| 25 | + <view class="itemlf fs32 flex-level-right">购买时间:</view> | ||
| 26 | + <view class="itemlr fs30">{{it.BillDate}}</view> | ||
| 27 | + </view> | ||
| 28 | + | ||
| 29 | + <!-- 评价时间 --> | ||
| 30 | + <view class="flex-center" wx:if="{{is_evaluate==1}}"> | ||
| 31 | + <view class="itemlf fs32 flex-level-right">评价时间:</view> | ||
| 32 | + <view class="itemlr fs30">{{EvaluateDatetime}}</view> | ||
| 33 | + </view> | ||
| 34 | + | ||
| 35 | + <!-- 设置虚线 --> | ||
| 36 | + <view class="flex-center"> | ||
| 37 | + <view class="starss"> | ||
| 38 | + <image class="stars" src="{{iurl}}{{key<=stars_index?'/miniapp/images/StarsredCk.png':'/miniapp/images/StarswhiteUnCk.png'}}" wx:for="{{5}}" bindtap="check_stars" data-index="{{key}}" wx:for-index="key"></image> | ||
| 39 | + </view> | ||
| 40 | + </view> | ||
| 41 | + <view class="tea_labs"> | ||
| 42 | + <view class="flex-center fs26"> | ||
| 43 | + <block wx:if="{{is_evaluate==0}}"> | ||
| 44 | + <textarea class="rel textarea" placeholder="写其他意见和建议" placeholder-class="fs24" maxlength="{{proposal_size}}" bindinput="input_proposal" value="{{proposal}}"> | ||
| 45 | + <!-- 提示已输入多少数字 --> | ||
| 46 | + <view if="{{is_evaluate==0}}" class="proposal abs">{{proposal.length}}/{{proposal_size}}</view> | ||
| 47 | + </textarea> | ||
| 48 | + </block> | ||
| 49 | + <block wx:else> | ||
| 50 | + <view wx:if="{{proposal!=''}}" class="textarea"> | ||
| 51 | + {{proposal}} | ||
| 52 | + </view> | ||
| 53 | + </block> | ||
| 54 | + </view> | ||
| 55 | + | ||
| 56 | + <view wx:if="{{labels.length>0 && is_evaluate==0}}" class="labels flex fs24 ellipsis-3"> | ||
| 57 | + <view class="label {{item.check==1?'checklabel':''}} flex-center" wx:for="{{labels}}" bindtap="check_label" data-index="{{key}}" wx:for-index="key"> | ||
| 58 | + <view class="ellipsis-1">{{item.LabelName}}</view> | ||
| 59 | + </view> | ||
| 60 | + | ||
| 61 | + </view> | ||
| 62 | + <view wx:if="{{labels.length>0 && is_evaluate==1}}" class="{{labels.length==1 || labels.length==2?'flex-center':''}}" style="width:100%;"> | ||
| 63 | + <view class="labels flex fs24 ellipsis-3"> | ||
| 64 | + <view class="label checklabel flex-center" wx:for="{{labels}}" bindtap="check_label" data-index="{{key}}" wx:for-index="key"> | ||
| 65 | + <view class="ellipsis-1">{{item.LabelName}}</view> | ||
| 66 | + </view> | ||
| 67 | + | ||
| 68 | + </view> | ||
| 69 | + </view> | ||
| 70 | + | ||
| 71 | + </view> | ||
| 72 | + | ||
| 73 | + <view wx:if="{{is_evaluate==0}}" class="feedback flex-center fs28"> | ||
| 74 | + <view>满意的话请打五星噢,谢谢您的支持!</view> | ||
| 75 | + </view> | ||
| 76 | + | ||
| 77 | + <block wx:if="{{sub_evaluate}}"> | ||
| 78 | + <view class="subSuccess"> | ||
| 79 | + <view class="flex-center"> | ||
| 80 | + <image class="Success" src="{{iurl}}/miniapp/images/yyservice/Success.png"></image> | ||
| 81 | + </view> | ||
| 82 | + <view class="fs36 flex-center"> | ||
| 83 | + <view>评价成功</view> | ||
| 84 | + </view> | ||
| 85 | + </view> | ||
| 86 | + </block> | ||
| 87 | +</view> | ||
| 88 | + | ||
| 89 | +<block wx:if="{{is_get}}"> | ||
| 90 | +<navigator wx:if="{{is_evaluate==0}}" class="Subs fs32 flex-center"> | ||
| 91 | + <view class="Submission flex-center" bindtap="evaluate_save"> | ||
| 92 | + <view>确认提交</view> | ||
| 93 | + </view> | ||
| 94 | +</navigator> | ||
| 95 | +<view wx:else> | ||
| 96 | + | ||
| 97 | + | ||
| 98 | + <view style="margin: auto;margin-bottom: 30rpx;" class="Submission flex-center" bindtap="evaluate_qt"> | ||
| 99 | + <view>评价其他</view> | ||
| 100 | + </view> | ||
| 101 | + <view style="margin: auto;margin-bottom: 30rpx;" class="Submission flex-center" bindtap="evaluate_qt" data-status="1"> | ||
| 102 | + <view>查看已评价的订单</view> | ||
| 103 | + </view> | ||
| 104 | + | ||
| 105 | + <!-- 显示来个图标 --> | ||
| 106 | + <view class="show_icon" style="margin-top: 60rpx;"> | ||
| 107 | + <view class="icon_item" bindtap="goto" data-url="/pages/index/index/index"> | ||
| 108 | + <view> | ||
| 109 | + <image style="width: 60rpx; height: 50rpx;" src="{{iurl}}/miniapp/images/evaluate/store.png"></image> | ||
| 110 | + <view>溜街</view> | ||
| 111 | + </view> | ||
| 112 | + </view> | ||
| 113 | + <view class="icon_item" bindtap="goto" data-url="/packageA/pages/quan_list/quan_list"> | ||
| 114 | + <view> | ||
| 115 | + <image style="width: 70rpx; height: 50rpx;" src="{{iurl}}/miniapp/images/evaluate/lq.png"></image> | ||
| 116 | + <view>领券</view> | ||
| 117 | + </view> | ||
| 118 | + </view> | ||
| 119 | + </view> | ||
| 120 | + | ||
| 121 | + <view style="height: 60rpx;"></view> | ||
| 122 | + <view wx:if="{{is_act==1}}" style="margin: auto;margin-bottom: 30rpx;" class="Submission flex-center yellow-b" bindtap="clike_lb"> | ||
| 123 | + <view>点击领取礼品</view> | ||
| 124 | + </view> | ||
| 125 | + </view> | ||
| 126 | +<warn id="warn"></warn> | ||
| 127 | +</block> | ||
| 128 | + | ||
| 129 | + | ||
| 130 | +<view hidden="{{!sh_pop}}"> | ||
| 131 | + <view class="cover-layer" bindtap="close_pop"></view> | ||
| 132 | + <view class="show_pop_div"> | ||
| 133 | + <view class="title">商品详情</view> | ||
| 134 | + <view style="padding: 0 20rpx;"> | ||
| 135 | + <view class="flex jc_sb fs30" style="margin-top: 20rpx;" wx:for="{{show_goods_list}}"> | ||
| 136 | + <view>{{item.WareName}}</view> | ||
| 137 | + <view>{{item.Qty}}</view> | ||
| 138 | + </view> | ||
| 139 | + </view> | ||
| 140 | + </view> | ||
| 141 | +</view> | ||
| 142 | + |
packageB/pages/evaluate/evaluate.wxss
0 → 100644
| 1 | +.container { | ||
| 2 | + border-top: 7rpx solid rgb(245, 245, 245); | ||
| 3 | + padding-bottom: 100rpx; | ||
| 4 | + background-color: rgb(255, 255, 255); | ||
| 5 | +} | ||
| 6 | + | ||
| 7 | +.head { | ||
| 8 | + height: 270rpx; | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +.headimg { | ||
| 12 | + width: 190rpx; | ||
| 13 | + height: 190rpx; | ||
| 14 | + border-radius: 50%; | ||
| 15 | +} | ||
| 16 | + | ||
| 17 | +.item { | ||
| 18 | + margin-bottom: 20rpx; | ||
| 19 | +} | ||
| 20 | + | ||
| 21 | +.itemlf { | ||
| 22 | + width: 195rpx; | ||
| 23 | +} | ||
| 24 | + | ||
| 25 | +.itemlr { | ||
| 26 | + width: 360rpx; | ||
| 27 | +} | ||
| 28 | + | ||
| 29 | +.starss { | ||
| 30 | + margin-top: 15rpx; | ||
| 31 | + border-top: 3rpx dashed rgb(203, 203, 203); | ||
| 32 | + padding-top: 25rpx; | ||
| 33 | + padding-left: 15rpx; | ||
| 34 | +} | ||
| 35 | + | ||
| 36 | +.stars { | ||
| 37 | + width: 50rpx; | ||
| 38 | + height: 50rpx; | ||
| 39 | + margin-right: 20rpx; | ||
| 40 | +} | ||
| 41 | + | ||
| 42 | +.datetime { | ||
| 43 | + width: 190rpx; | ||
| 44 | +} | ||
| 45 | + | ||
| 46 | +.tea_labs { | ||
| 47 | + padding: 0rpx 56rpx; | ||
| 48 | + margin-top: 20rpx; | ||
| 49 | +} | ||
| 50 | + | ||
| 51 | +.proposal { | ||
| 52 | + right: 20rpx; | ||
| 53 | + bottom: 20rpx; | ||
| 54 | + color: rgb(152, 152, 152); | ||
| 55 | +} | ||
| 56 | + | ||
| 57 | +.textarea { | ||
| 58 | + width: 100%; | ||
| 59 | + height: 200rpx; | ||
| 60 | + margin-top: 70rpx; | ||
| 61 | + border: 2rpx solid rgb(203, 203, 203); | ||
| 62 | + border-radius: 13rpx; | ||
| 63 | + padding-top: 25rpx; | ||
| 64 | + padding-left: 30rpx; | ||
| 65 | + margin-bottom: 30rpx; | ||
| 66 | + padding-right: 15rpx; | ||
| 67 | + padding-bottom: 20rpx; | ||
| 68 | +} | ||
| 69 | + | ||
| 70 | +.labels { | ||
| 71 | + display: inline-block; | ||
| 72 | + max-height: 240rxp; | ||
| 73 | + line-height: 50rpx; | ||
| 74 | + padding-left: 15rpx; | ||
| 75 | +} | ||
| 76 | + | ||
| 77 | +.label { | ||
| 78 | + padding: 0rpx 10rpx; | ||
| 79 | + height: 48rpx; | ||
| 80 | + line-height: 48rpx; | ||
| 81 | + border: 2rpx solid rgb(218, 218, 218); | ||
| 82 | + color: rgb(152, 152, 152); | ||
| 83 | + border-radius: 5rpx; | ||
| 84 | + margin-right: 20rpx; | ||
| 85 | + width: 165rpx; | ||
| 86 | + display: inline-block; | ||
| 87 | + text-align: center; | ||
| 88 | + margin-bottom: 10rpx; | ||
| 89 | +} | ||
| 90 | + | ||
| 91 | +/* 选择标签的样式 */ | ||
| 92 | + | ||
| 93 | +.checklabel { | ||
| 94 | + border: 2rpx solid rgb(214, 1, 33); | ||
| 95 | + background-color: rgb(255, 231, 235); | ||
| 96 | + color: rgb(214, 1, 33); | ||
| 97 | +} | ||
| 98 | + | ||
| 99 | +.feedback { | ||
| 100 | + color: rgb(152, 152, 152); | ||
| 101 | + margin-bottom: 70rpx; | ||
| 102 | +} | ||
| 103 | + | ||
| 104 | +.Subs { | ||
| 105 | + background-color: rgb(255, 255, 255); | ||
| 106 | + position: fixed; | ||
| 107 | + width: 100%; | ||
| 108 | + bottom: 40rpx; | ||
| 109 | +} | ||
| 110 | + | ||
| 111 | +.Submission { | ||
| 112 | + width: 400rpx; | ||
| 113 | + height: 65rpx; | ||
| 114 | + border-radius: 60rpx; | ||
| 115 | + background-color: rgb(214, 1, 33); | ||
| 116 | + color: rgb(255, 255, 255); | ||
| 117 | +} | ||
| 118 | +.Submission.yellow-b{ | ||
| 119 | + background-color: #ffb03f; | ||
| 120 | + | ||
| 121 | +} | ||
| 122 | + | ||
| 123 | +.clonri { | ||
| 124 | + margin: 0rpx; | ||
| 125 | +} | ||
| 126 | + | ||
| 127 | +.subSuccess { | ||
| 128 | + position: fixed; | ||
| 129 | + z-index: 3; | ||
| 130 | + top: 435rpx; | ||
| 131 | + left: 66rpx; | ||
| 132 | + background-color: #a6a6a6a4; | ||
| 133 | + width: 615rpx; | ||
| 134 | + height: 315rpx; | ||
| 135 | + border-radius: 20rpx; | ||
| 136 | + color: rgb(255, 255, 255); | ||
| 137 | +} | ||
| 138 | + | ||
| 139 | +.Success { | ||
| 140 | + width: 110rpx; | ||
| 141 | + height: 110rpx; | ||
| 142 | + margin-top: 50rpx; | ||
| 143 | + margin-bottom: 45rpx; | ||
| 144 | +} | ||
| 145 | + | ||
| 146 | +.show_icon{ | ||
| 147 | + width: 50%; | ||
| 148 | + margin: 0 auto; | ||
| 149 | + display: flex; justify-content: space-between; | ||
| 150 | +} | ||
| 151 | + | ||
| 152 | +.icon_item{ | ||
| 153 | + display: flex;align-items: center; justify-content: center; font-size: 26rpx; text-align: center; | ||
| 154 | + width: 140rpx; height: 140rpx; border: 1rpx solid #eee; border-radius: 50%; line-height: 34rpx; | ||
| 155 | +} | ||
| 156 | + | ||
| 157 | +.go_right::after{ | ||
| 158 | + content: ''; | ||
| 159 | + display: inline-block; | ||
| 160 | + width: 20rpx; | ||
| 161 | + height: 20rpx; | ||
| 162 | + border-top:1rpx solid #999 ; | ||
| 163 | + border-right: 1rpx solid #999; | ||
| 164 | + transform: rotate(45deg); | ||
| 165 | +} | ||
| 166 | + | ||
| 167 | +.show_pop_div{ | ||
| 168 | + position: fixed; max-height:50%; left: 0;top:50%; transform: translateY(-50%); overflow-y: auto; | ||
| 169 | + background-color: #fff; text-align: center; z-index: 100000; width: 100%; min-height: 300rpx; | ||
| 170 | +} | ||
| 171 | + | ||
| 172 | +.show_pop_div .title{ | ||
| 173 | + height: 100rpx; line-height: 100rpx; border-bottom: 1rpx solid #eee; font-size: 34rpx; | ||
| 174 | +} |
packageB/pages/evaluate_list/evaluate_list.js
0 → 100644
| 1 | + var e = getApp(), | ||
| 2 | + os = e.globalData.setting, | ||
| 3 | + t = e.request, | ||
| 4 | + d = e.globalData; | ||
| 5 | +Page({ | ||
| 6 | + /** | ||
| 7 | + * 页面的初始数据 | ||
| 8 | + */ | ||
| 9 | + data: { | ||
| 10 | + url: os.url, //接口网址 | ||
| 11 | + iurl: os.imghost, | ||
| 12 | + defimgurl: "/miniapp/images/no-head.jpg", | ||
| 13 | + list:[], | ||
| 14 | + }, | ||
| 15 | + | ||
| 16 | + //图片失败,默认图片 | ||
| 17 | + bind_bnerr1: function (e) { | ||
| 18 | + var th = this; | ||
| 19 | + var _errImg = e.target.dataset.errorimg; | ||
| 20 | + var _Img = e.target.dataset.img; | ||
| 21 | + if (_Img != undefined) { | ||
| 22 | + var _errObj = {}; | ||
| 23 | + _errObj[_errImg] = "/miniapp/images/no-head.jpg"; | ||
| 24 | + th.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | ||
| 25 | + } | ||
| 26 | + }, | ||
| 27 | + | ||
| 28 | + /** | ||
| 29 | + * 生命周期函数--监听页面加载 | ||
| 30 | + */ | ||
| 31 | + onLoad: function(options) { | ||
| 32 | + var th=this; | ||
| 33 | + getApp().getConfig(function(e){ | ||
| 34 | + th.setData({img:e.store_logo}); | ||
| 35 | + }) | ||
| 36 | + | ||
| 37 | + var IsEvaluate=options.IsEvaluate?options.IsEvaluate:0; | ||
| 38 | + this.setData({IsEvaluate:parseInt(IsEvaluate) }); | ||
| 39 | + this.get_list(); | ||
| 40 | + }, | ||
| 41 | + | ||
| 42 | + /** | ||
| 43 | + * 生命周期函数--监听页面显示 | ||
| 44 | + */ | ||
| 45 | + onShow: function() { | ||
| 46 | + | ||
| 47 | + }, | ||
| 48 | + | ||
| 49 | + get_list:function(){ | ||
| 50 | + var th=this; | ||
| 51 | + var req={ | ||
| 52 | + storeId:os.stoid, | ||
| 53 | + VIPId:getApp().globalData.userInfo.erpvipid, | ||
| 54 | + IsEvaluate:0 | ||
| 55 | + } | ||
| 56 | + if(parseInt(this.data.IsEvaluate)){ | ||
| 57 | + req.IsEvaluate=1; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + var url="/api/weshop/evaluation/FormListNew/page"; //获取评价列表 | ||
| 61 | + getApp().request.get(url,{ | ||
| 62 | + data:req, | ||
| 63 | + success:function(res){ | ||
| 64 | + console.log(res); | ||
| 65 | + th.setData({is_get:1}); | ||
| 66 | + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
| 67 | + th.setData({list:res.data.data.pageData}); | ||
| 68 | + } | ||
| 69 | + }, | ||
| 70 | + }) | ||
| 71 | + }, | ||
| 72 | + | ||
| 73 | + go_evaluate(e){ | ||
| 74 | + var idx=e.currentTarget.dataset.index; | ||
| 75 | + var item=this.data.list[idx]; | ||
| 76 | + var posno=item.PosNo; | ||
| 77 | + getApp().goto("/packageB/pages/evaluate/evaluate?number="+posno); | ||
| 78 | + }, | ||
| 79 | + | ||
| 80 | + //弹出显示商品详情 | ||
| 81 | + show_pop:function(e){ | ||
| 82 | + var idx=e.currentTarget.dataset.index; | ||
| 83 | + var item=this.data.list[idx]; | ||
| 84 | + var posno=item.PosNo; | ||
| 85 | + var th=this; | ||
| 86 | + //获取商品详情 | ||
| 87 | + var url="/api/weshop/evaluation/Evaluatewares/page"; | ||
| 88 | + getApp().request.get(url,{ | ||
| 89 | + isShowLoading:true, | ||
| 90 | + data:{storeId:os.stoid,POSNo:posno}, | ||
| 91 | + success:function(res){ | ||
| 92 | + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
| 93 | + th.setData({show_goods_list:res.data.data.pageData,sh_pop:1}); | ||
| 94 | + } | ||
| 95 | + } | ||
| 96 | + }) | ||
| 97 | + }, | ||
| 98 | + | ||
| 99 | + //关闭弹出 | ||
| 100 | + close_pop:function(){ | ||
| 101 | + this.setData({ | ||
| 102 | + show_goods_list:null,sh_pop:0 | ||
| 103 | + }) | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + | ||
| 107 | + | ||
| 108 | + | ||
| 109 | + | ||
| 110 | +}) | ||
| 0 | \ No newline at end of file | 111 | \ No newline at end of file |
packageB/pages/evaluate_list/evaluate_list.json
0 → 100644
packageB/pages/evaluate_list/evaluate_list.wxml
0 → 100644
| 1 | + | ||
| 2 | +<block wx:if="{{list.length==0 && is_get}}"> | ||
| 3 | + <view class="fs30" style="text-align: center;"> | ||
| 4 | + <image mode="widthFix" style="width: 360rpx;" src="{{iurl}}/miniapp/images/user/nodistribut.png"></image> | ||
| 5 | + <view style="margin-top: 30rpx;">暂无订单或未设置评价信息</view> | ||
| 6 | + </view> | ||
| 7 | +</block> | ||
| 8 | +<block wx:else> | ||
| 9 | + <view class="item flex fs26 ai-center" style="line-height: 34rpx;" wx:for="{{list}}"> | ||
| 10 | + <view class="show_img" style="width: 26%; text-align: center;"> | ||
| 11 | + <image class="logo" mode="aspectFit" src="{{iurl+img}}"></image> | ||
| 12 | + </view> | ||
| 13 | + <view style="width: 74%; padding-right: 6rpx;padding-left: 18rpx;"> | ||
| 14 | + <view> | ||
| 15 | + <view class="line_item flex ai-center fs28"> | ||
| 16 | + <image style="width: 60rpx;" mode="widthFix" src="{{iurl}}/miniapp/images/evaluate/idcard.png"></image> | ||
| 17 | + <image style="width: 30rpx; height: 30rpx; margin-left: 20rpx; margin-right: 10rpx;" src="{{iurl}}/miniapp/images/evaluate/starlit.png"></image>4.9 | ||
| 18 | + </view> | ||
| 19 | + <view class="line_item flex jc_sb ai-center" style="margin-top: 18rpx;"> | ||
| 20 | + <view class="ellipsis-1" style="max-width: 90%;">{{item.WareName}}</view> | ||
| 21 | + <view bindtap="show_pop" data-index="{{index}}" class="go_right"></view> | ||
| 22 | + </view> | ||
| 23 | + <view class="line_item flex jc_sb ai-center" style="margin-top: 14rpx;"> | ||
| 24 | + <view class="fs24" style="color: #999;">消费时间:{{item.BillDate}}</view> | ||
| 25 | + <view bindtap="go_evaluate" data-index="{{index}}" wx:if="{{IsEvaluate}}" class="btn">查看评价</view> | ||
| 26 | + <view bindtap="go_evaluate" data-index="{{index}}" wx:else class="btn">去评价</view> | ||
| 27 | + </view> | ||
| 28 | + | ||
| 29 | + </view> | ||
| 30 | + </view> | ||
| 31 | + </view> | ||
| 32 | + | ||
| 33 | + | ||
| 34 | +</block> | ||
| 35 | + | ||
| 36 | + | ||
| 37 | +<warn id="warn"></warn> | ||
| 38 | +<!-- 显示商品列表 --> | ||
| 39 | +<view hidden="{{!sh_pop}}"> | ||
| 40 | + <view class="cover-layer" bindtap="close_pop"></view> | ||
| 41 | + <view class="show_pop_div"> | ||
| 42 | + <view class="title">商品详情</view> | ||
| 43 | + <view style="padding: 0 20rpx;"> | ||
| 44 | + <view class="flex jc_sb fs30" style="margin-top: 20rpx;" wx:for="{{show_goods_list}}"> | ||
| 45 | + <view>{{item.WareName}}</view> | ||
| 46 | + <view>{{item.Qty}}</view> | ||
| 47 | + </view> | ||
| 48 | + </view> | ||
| 49 | + </view> | ||
| 50 | +</view> | ||
| 51 | + |
packageB/pages/evaluate_list/evaluate_list.wxss
0 → 100644
| 1 | +.item{ padding:10rpx 20rpx; border-bottom: 20rpx solid #ebeced} | ||
| 2 | +.line_item{ height: 36rpx;} | ||
| 3 | +.logo{ | ||
| 4 | + width: 160rpx; height: 160rpx; border-radius: 50%; border: 1rpx solid #eee; | ||
| 5 | +} | ||
| 6 | +.go_right{position: relative;top:-10rpx;right: 10rpx;} | ||
| 7 | +.go_right::after{ | ||
| 8 | + content: ''; | ||
| 9 | + display: inline-block; | ||
| 10 | + width: 20rpx; | ||
| 11 | + height: 20rpx; | ||
| 12 | + border-top:1rpx solid #333 ; | ||
| 13 | + border-right: 1rpx solid #333; | ||
| 14 | + transform: rotate(45deg); | ||
| 15 | +} | ||
| 16 | +.btn{ | ||
| 17 | + padding: 10rpx 16rpx; border: 1rpx solid #c4182e; color: #c4182e; border-radius: 8rpx; | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | + | ||
| 21 | +.show_pop_div{ | ||
| 22 | + width: 96%; margin-left: 2%; position: fixed; max-height:50%; left: 0;top:50%; transform: translateY(-50%); overflow-y: auto; | ||
| 23 | + background-color: #fff; text-align: center; z-index: 100000; min-height: 300rpx; | ||
| 24 | +} | ||
| 25 | + | ||
| 26 | +.show_pop_div .title{ | ||
| 27 | + height: 100rpx; line-height: 100rpx; border-bottom: 1rpx solid #eee; font-size: 34rpx; | ||
| 28 | +} |
packageB/pages/luckactivity/index/g_filter.wxs
0 → 100644
| 1 | +var g_filters = { | ||
| 2 | + has_char:function(url,key){ | ||
| 3 | + if(!url) return -1; | ||
| 4 | + return url.indexOf(key); | ||
| 5 | + }, | ||
| 6 | + beg_time:function(beg_date){ | ||
| 7 | + var fmt1 = beg_date.substring(0, 19); | ||
| 8 | + var reg = getRegExp("-", "g"); | ||
| 9 | + var fmt2 = fmt1.replace(reg, '/'); | ||
| 10 | + var t1 = getDate(fmt2); | ||
| 11 | + var tnow=getDate(); | ||
| 12 | + if(t1<=tnow) return 1; | ||
| 13 | + return 0; | ||
| 14 | + }, | ||
| 15 | + end_time:function(end_date){ | ||
| 16 | + var fmt1 = end_date.substring(0, 19); | ||
| 17 | + var reg = getRegExp("-", "g"); | ||
| 18 | + var fmt2 = fmt1.replace(reg, '/'); | ||
| 19 | + var t1 = getDate(fmt2); | ||
| 20 | + var tnow=getDate(); | ||
| 21 | + if(t1>=tnow) return 1; | ||
| 22 | + return 0; | ||
| 23 | + }, | ||
| 24 | + btnText: function(userlbtype) { | ||
| 25 | + switch(userlbtype) { | ||
| 26 | + case 1: { | ||
| 27 | + return '去兑换'; | ||
| 28 | + }; | ||
| 29 | + case 2: { | ||
| 30 | + return '已兑换'; | ||
| 31 | + }; | ||
| 32 | + case 3: { | ||
| 33 | + return '已到期'; | ||
| 34 | + }; | ||
| 35 | + case 4: { | ||
| 36 | + return '查看'; | ||
| 37 | + }; | ||
| 38 | + }; | ||
| 39 | + }, | ||
| 40 | +} | ||
| 41 | +module.exports = { | ||
| 42 | + has_char: g_filters.has_char, | ||
| 43 | + beg_time: g_filters.beg_time, | ||
| 44 | + end_time: g_filters.end_time, | ||
| 45 | + btnText: g_filters.btnText, | ||
| 46 | +} | ||
| 0 | \ No newline at end of file | 47 | \ No newline at end of file |
packageB/pages/luckactivity/index/index.js
0 → 100644
| 1 | +// packageA//pages/myGift/myGift.js | ||
| 2 | +const app = getApp(); | ||
| 3 | +let self = null; | ||
| 4 | +var os = app.globalData.setting; | ||
| 5 | + | ||
| 6 | +Page({ | ||
| 7 | + | ||
| 8 | + /** | ||
| 9 | + * 页面的初始数据 | ||
| 10 | + */ | ||
| 11 | + data: { | ||
| 12 | + tabArr: ['抽奖列表', '历史抽奖'], | ||
| 13 | + currentIndex: 0, | ||
| 14 | + | ||
| 15 | + list: null, | ||
| 16 | + isLoading: false, // 检测是否已经发送请求,防止重复发送请求 | ||
| 17 | + noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据 | ||
| 18 | + pageNum: 1, // 当前页数 | ||
| 19 | + }, | ||
| 20 | + | ||
| 21 | + clickTab(e) { | ||
| 22 | + let index = e.target.dataset.index; | ||
| 23 | + let url = '/api/weshop/marketing/marketingLuckForm/page'; | ||
| 24 | + let data = { | ||
| 25 | + store_id: app.globalData.setting.stoid, | ||
| 26 | + user_id: app.globalData.userInfo.user_id, | ||
| 27 | + }; | ||
| 28 | + | ||
| 29 | + this.setData({ | ||
| 30 | + list: null, | ||
| 31 | + pageNum: 1, | ||
| 32 | + noMore: false, | ||
| 33 | + currentIndex: index, | ||
| 34 | + }); | ||
| 35 | + | ||
| 36 | + if(index == 0) { | ||
| 37 | + data.is_end = 0; | ||
| 38 | + } else if(index == 1) { | ||
| 39 | + data.is_end = 1; | ||
| 40 | + }; | ||
| 41 | + | ||
| 42 | + this.getData(true, url, data).then(function() { | ||
| 43 | + self.setData({ | ||
| 44 | + currentData: data, | ||
| 45 | + }); | ||
| 46 | + }); | ||
| 47 | + }, | ||
| 48 | + | ||
| 49 | + /** | ||
| 50 | + * 生命周期函数--监听页面加载 | ||
| 51 | + */ | ||
| 52 | + onLoad: function (options) { | ||
| 53 | + self = this; | ||
| 54 | + | ||
| 55 | + app.isLogin().then(function(data) {//进入页面前已经授权登录成功 | ||
| 56 | + self.setData({ | ||
| 57 | + userInfo: data, | ||
| 58 | + }); | ||
| 59 | + }); | ||
| 60 | + }, | ||
| 61 | + | ||
| 62 | + /** | ||
| 63 | + * 生命周期函数--监听页面初次渲染完成 | ||
| 64 | + */ | ||
| 65 | + onReady: function () {}, | ||
| 66 | + | ||
| 67 | + /** | ||
| 68 | + * 生命周期函数--监听页面显示 | ||
| 69 | + */ | ||
| 70 | + onShow: function () { | ||
| 71 | + if(app.globalData.userInfo) { | ||
| 72 | + if(!this.data.isLogin) { | ||
| 73 | + this.setData({ | ||
| 74 | + userInfo: app.globalData.userInfo, | ||
| 75 | + imghost: app.globalData.setting.imghost, | ||
| 76 | + isLogin: true, | ||
| 77 | + }); | ||
| 78 | + | ||
| 79 | + | ||
| 80 | + let url = '/api/weshop/marketing/marketingLuckForm/page'; | ||
| 81 | + let data = { | ||
| 82 | + store_id: app.globalData.setting.stoid, | ||
| 83 | + user_id: app.globalData.userInfo.user_id, | ||
| 84 | + is_end: 0, | ||
| 85 | + }; | ||
| 86 | + | ||
| 87 | + this.setData({ | ||
| 88 | + list: null, | ||
| 89 | + pageNum: 1, | ||
| 90 | + noMore: false, | ||
| 91 | + }); | ||
| 92 | + | ||
| 93 | + this.getData(true, url, data).then(function() { | ||
| 94 | + self.setData({ | ||
| 95 | + currentData: data, | ||
| 96 | + }); | ||
| 97 | + }); | ||
| 98 | + | ||
| 99 | + // 获取广告 | ||
| 100 | + app.request.promiseGet("/api/weshop/ad/page", { | ||
| 101 | + data: { | ||
| 102 | + pid: 1201, | ||
| 103 | + store_id: app.globalData.setting.stoid, | ||
| 104 | + enabled: 1 | ||
| 105 | + } | ||
| 106 | + }).then(res => { | ||
| 107 | + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
| 108 | + var a = res.data.data.pageData; | ||
| 109 | + var narr=[]; | ||
| 110 | + for(var i in a){ | ||
| 111 | + var tt = { | ||
| 112 | + 'ad_code': os.imghost + a[i].ad_code, | ||
| 113 | + 'media_link': '', | ||
| 114 | + 'ad_weapplink':a[i].ad_weapplink | ||
| 115 | + }; | ||
| 116 | + narr.push(tt); | ||
| 117 | + } | ||
| 118 | + | ||
| 119 | + self.setData({ | ||
| 120 | + ad_data: narr, | ||
| 121 | + }); | ||
| 122 | + } | ||
| 123 | + }) | ||
| 124 | + | ||
| 125 | + | ||
| 126 | + }; | ||
| 127 | + }; | ||
| 128 | + | ||
| 129 | + | ||
| 130 | + | ||
| 131 | + | ||
| 132 | + }, | ||
| 133 | + | ||
| 134 | + /** | ||
| 135 | + * 生命周期函数--监听页面隐藏 | ||
| 136 | + */ | ||
| 137 | + onHide: function () { | ||
| 138 | + | ||
| 139 | + }, | ||
| 140 | + | ||
| 141 | + /** | ||
| 142 | + * 生命周期函数--监听页面卸载 | ||
| 143 | + */ | ||
| 144 | + onUnload: function () { | ||
| 145 | + | ||
| 146 | + }, | ||
| 147 | + | ||
| 148 | + /** | ||
| 149 | + * 页面相关事件处理函数--监听用户下拉动作 | ||
| 150 | + */ | ||
| 151 | + onPullDownRefresh: function () { | ||
| 152 | + | ||
| 153 | + }, | ||
| 154 | + | ||
| 155 | + /** | ||
| 156 | + * 页面上拉触底事件的处理函数 | ||
| 157 | + */ | ||
| 158 | + onReachBottom: function () { | ||
| 159 | + let data = this.data.currentData; | ||
| 160 | + console.log('触底!', data); | ||
| 161 | + this.scrollToLower('/api/weshop/marketing/marketingLuckForm/page', data); | ||
| 162 | + }, | ||
| 163 | + | ||
| 164 | + /** | ||
| 165 | + * 用户点击右上角分享 | ||
| 166 | + */ | ||
| 167 | + onShareAppMessage: function () { | ||
| 168 | + | ||
| 169 | + }, | ||
| 170 | + | ||
| 171 | + /** | ||
| 172 | + * 请求数据 | ||
| 173 | + */ | ||
| 174 | + getData: function(isInit, url, data) { | ||
| 175 | + let p = app.request.promiseGet(url, { | ||
| 176 | + data: data, | ||
| 177 | + isShowLoading: true, | ||
| 178 | + }) | ||
| 179 | + .then(function(res) { | ||
| 180 | + if(res.data.code == 0) { | ||
| 181 | + | ||
| 182 | + self.setData({ | ||
| 183 | + isLoading: false | ||
| 184 | + }); | ||
| 185 | + | ||
| 186 | + if(isInit) {// 第一次加载 | ||
| 187 | + self.setData({ | ||
| 188 | + list: res.data.data | ||
| 189 | + }); | ||
| 190 | + } else { | ||
| 191 | + self.setData({ | ||
| 192 | + 'list.pageData': self.data.list.pageData.concat(res.data.data.pageData) | ||
| 193 | + }); | ||
| 194 | + }; | ||
| 195 | + | ||
| 196 | + if((res.data.data.pageData.length == 0) || (res.data.data.pageSize * res.data.data.page >= res.data.data.total)) { | ||
| 197 | + self.setData({ | ||
| 198 | + noMore: true | ||
| 199 | + }); | ||
| 200 | + }; | ||
| 201 | + | ||
| 202 | + } else { | ||
| 203 | + self.setData({ | ||
| 204 | + 'list.pageData': [] | ||
| 205 | + }); | ||
| 206 | + }; | ||
| 207 | + | ||
| 208 | + }); | ||
| 209 | + | ||
| 210 | + return p; | ||
| 211 | + }, | ||
| 212 | + | ||
| 213 | + | ||
| 214 | + /** | ||
| 215 | + * 上拉加载 | ||
| 216 | + */ | ||
| 217 | + scrollToLower(url, requestData) { | ||
| 218 | + // 数据总量 | ||
| 219 | + let total = this.data.list.total; | ||
| 220 | + // 单页最大数据量 | ||
| 221 | + let pageSize = this.data.list.pageSize; | ||
| 222 | + // 如果数据总量不为0且小于或等于单页最大数据量,说明数据已全部加载,显示‘没有更多了’ | ||
| 223 | + if((total != 0)&&(total <= pageSize)) { | ||
| 224 | + this.setData({ | ||
| 225 | + noMore: true | ||
| 226 | + }); | ||
| 227 | + }; | ||
| 228 | + | ||
| 229 | + if(!this.data.isLoading && !this.data.noMore) { | ||
| 230 | + this.setData({ | ||
| 231 | + isLoading: true, | ||
| 232 | + pageNum: this.data.pageNum + 1 | ||
| 233 | + }); | ||
| 234 | + requestData.page = this.data.pageNum; | ||
| 235 | + this.getData(false, url, requestData); | ||
| 236 | + }; | ||
| 237 | + }, | ||
| 238 | + | ||
| 239 | + /** | ||
| 240 | + * 点击跳转 | ||
| 241 | + */ | ||
| 242 | + goto(e) { | ||
| 243 | + // let url = ''; | ||
| 244 | + // if(e.target.dataset.url) { | ||
| 245 | + // url = e.target.dataset.url; | ||
| 246 | + // } else { | ||
| 247 | + // url = e.currentTarget.dataset.url; | ||
| 248 | + // } | ||
| 249 | + let id = e.currentTarget.dataset.id; | ||
| 250 | + let title = e.currentTarget.dataset.title; | ||
| 251 | + let url = `/packageB/pages/luckactivity/luckinfo/luckinfo?id=${id}&title=${title}`; | ||
| 252 | + app.goto(url); | ||
| 253 | + }, | ||
| 254 | + | ||
| 255 | + | ||
| 256 | + | ||
| 257 | +}) | ||
| 0 | \ No newline at end of file | 258 | \ No newline at end of file |
packageB/pages/luckactivity/index/index.json
0 → 100644
| 1 | +{ | ||
| 2 | + "navigationBarTitleText": "幸运大转盘", | ||
| 3 | + "enablePullDownRefresh": false, | ||
| 4 | + "usingComponents": { | ||
| 5 | + "warn": "/components/long_warn/long_warn", | ||
| 6 | + "nav_b": "/components/nav_b/nav_b", | ||
| 7 | + "my_confirm": "/components/my_confirm/my_confirm", | ||
| 8 | + "nodata": "/components/nodata/nodata" | ||
| 9 | + } | ||
| 10 | +} | ||
| 0 | \ No newline at end of file | 11 | \ No newline at end of file |
packageB/pages/luckactivity/index/index.wxml
0 → 100644
| 1 | +<wxs module="filter" src="../../../../utils/filter.wxs"></wxs> | ||
| 2 | +<wxs module="g_filter" src="g_filter.wxs"></wxs> | ||
| 3 | +<view> | ||
| 4 | + <swiper class="swiper" circular="true" autoplay="true" indicator-dots="true" interval="2500" wx:if="{{ad_data}}" indicator-active-color="rgba(255,255,255,.8)"> | ||
| 5 | + <!-- <swiper class="swiper" circular="true" autoplay="true" indicator-dots="true" interval="2500"> --> | ||
| 6 | + <block wx:for="{{ad_data}}"> | ||
| 7 | + <swiper-item> | ||
| 8 | + <!-- <navigator url="{{item.ad_weapplink}}" class="s1_gk_a1" wx:if="{{g_filter.has_char(item.ad_weapplink,'plugin')>=0}}"> --> | ||
| 9 | + <navigator url="{{item.ad_weapplink}}" style="height: 100%;" hover-class="none" open-type="reLaunch"> | ||
| 10 | + <image src="{{item.ad_code}}" class="img" bindload="imageLoad" data-index="{{index}}" mode="scaleToFill" lazy-load="true"/> | ||
| 11 | + </navigator> | ||
| 12 | + </swiper-item> | ||
| 13 | + </block> | ||
| 14 | + </swiper> | ||
| 15 | + <view class="tab-title" bindtap="clickTab"> | ||
| 16 | + <view class="tab-title-item {{currentIndex == index ? 'active':''}}" wx:for="{{tabArr}}" data-index="{{index}}">{{item}}</view> | ||
| 17 | + </view> | ||
| 18 | + <view class="tab-content"> | ||
| 19 | + | ||
| 20 | + <block wx:for="{{list.pageData}}"> | ||
| 21 | + <view class="tab-item" bindtap="goto" data-id="{{item.id}}" data-title="{{item.act_name}}"> | ||
| 22 | + <view class="img-container"> | ||
| 23 | + <image wx:if="{{item.imageurl}}" src="{{imghost + item.imageurl}}" class="img"></image> | ||
| 24 | + <text class="iconfont icon-zhuanpan" wx:else></text> | ||
| 25 | + </view> | ||
| 26 | + <view class="desc-container"> | ||
| 27 | + <view class=""> | ||
| 28 | + <!-- 标题 --> | ||
| 29 | + <view class="ellipsis-1x taj fs28">{{item.act_name}}</view> | ||
| 30 | + <!-- 时间 --> | ||
| 31 | + <view class="date pdt10 pdb20" wx:if="{{currentIndex == 0}}">活动时间:{{filter.format_time(item.begindate) + ' 至 ' + filter.format_time(item.enddate)}}</view> | ||
| 32 | + <view class="date pdt10 pdb20" wx:else>兑换时间:{{filter.format_time(item.begindate) + ' 至 ' + filter.format_time(item.enddate)}}</view> | ||
| 33 | + </view> | ||
| 34 | + <!-- 按钮 --> | ||
| 35 | + <view class="btn-container"> | ||
| 36 | + <view class="btn red" wx:if="{{currentIndex == 0}}">立即参与</view> | ||
| 37 | + <view class="btn {{item.userlbtype == 1 ? 'red':'gray'}}" wx:else>{{g_filter.btnText(item.userlbtype)}}</view> | ||
| 38 | + </view> | ||
| 39 | + </view> | ||
| 40 | + </view> | ||
| 41 | + </block> | ||
| 42 | + | ||
| 43 | + | ||
| 44 | + | ||
| 45 | + <nodata nodataContainer="t-c" wx:if="{{list.pageData.length == 0}}"></nodata> | ||
| 46 | + <view class="noMore" hidden="{{!noMore}}" wx:if="{{list.pageData.length !== 0}}">—— 已经到底了 ——</view> | ||
| 47 | + </view> | ||
| 48 | +</view> | ||
| 49 | + | ||
| 50 | +<!-- 引入提示组件 --> | ||
| 51 | +<warn id="warn"></warn> | ||
| 52 | +<my_confirm id="my_confirm"></my_confirm> |
packageB/pages/luckactivity/index/index.wxss
0 → 100644
| 1 | +@charset "utf-8"; | ||
| 2 | + | ||
| 3 | +.c-a4 { | ||
| 4 | + color: #a4a4a4; | ||
| 5 | +} | ||
| 6 | + | ||
| 7 | +.c-red { | ||
| 8 | + color: #FF6768; | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +.h88 { | ||
| 12 | + height: 88rpx; | ||
| 13 | +} | ||
| 14 | + | ||
| 15 | + | ||
| 16 | +page { | ||
| 17 | + background-color: #f0f0f0; | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +.tab-title { | ||
| 21 | + display: flex; | ||
| 22 | + position: sticky; | ||
| 23 | + background-color: white; | ||
| 24 | + top: 0; | ||
| 25 | + font-size: 30rpx; | ||
| 26 | + z-index: 999; | ||
| 27 | +} | ||
| 28 | + | ||
| 29 | +.tab-title::after { | ||
| 30 | + position: absolute; | ||
| 31 | + content: ''; | ||
| 32 | + width: 2rpx; | ||
| 33 | + height: 40%; | ||
| 34 | + background-color: #f0f0f0; | ||
| 35 | + top: 0; | ||
| 36 | + bottom: 0; | ||
| 37 | + left: 0; | ||
| 38 | + right: 0; | ||
| 39 | + margin: auto; | ||
| 40 | +} | ||
| 41 | + | ||
| 42 | +.tab-title-item { | ||
| 43 | + flex: 1; | ||
| 44 | + text-align: center; | ||
| 45 | + padding-top: 20rpx; | ||
| 46 | + padding-bottom: 20rpx; | ||
| 47 | + position: relative; | ||
| 48 | +} | ||
| 49 | + | ||
| 50 | +.tab-title-item.active { | ||
| 51 | + color: #FF6768; | ||
| 52 | + font-weight: bold; | ||
| 53 | + | ||
| 54 | +} | ||
| 55 | + | ||
| 56 | +.tab-title-item::after { | ||
| 57 | + position: absolute; | ||
| 58 | + content: ''; | ||
| 59 | + left: 100%; | ||
| 60 | + bottom: 0; | ||
| 61 | + width: 0; | ||
| 62 | + border-bottom: 2rpx solid #FF6768; | ||
| 63 | + /* height: 3rpx; */ | ||
| 64 | + transition: 0.2s all linear; | ||
| 65 | +} | ||
| 66 | + | ||
| 67 | +.tab-title-item.active::after { | ||
| 68 | + /* left: 100%; */ | ||
| 69 | + width: 100%; | ||
| 70 | + left: 0; | ||
| 71 | + /* background-color: #FF6768; */ | ||
| 72 | + /* transition-delay: 0.1s; */ | ||
| 73 | +} | ||
| 74 | + | ||
| 75 | +.tab-title-item.active ~ .tab-title-item::after { | ||
| 76 | + /* width: 100%; */ | ||
| 77 | + left: 0; | ||
| 78 | +} | ||
| 79 | + | ||
| 80 | +.tab-content { | ||
| 81 | + padding-top: 20rpx; | ||
| 82 | + padding-left: 20rpx; | ||
| 83 | + padding-right: 20rpx; | ||
| 84 | +} | ||
| 85 | + | ||
| 86 | +.tab-item { | ||
| 87 | + padding: 20rpx; | ||
| 88 | + background-color: white; | ||
| 89 | + border-radius: 10rpx; | ||
| 90 | + overflow: hidden; | ||
| 91 | + display: flex; | ||
| 92 | + align-items: center; | ||
| 93 | +} | ||
| 94 | + | ||
| 95 | +.tab-item ~ .tab-item { | ||
| 96 | + margin-top: 20rpx; | ||
| 97 | +} | ||
| 98 | + | ||
| 99 | +.icon-zhuanpan { | ||
| 100 | + font-size: 120rpx; | ||
| 101 | + color: #FF6768; | ||
| 102 | +} | ||
| 103 | + | ||
| 104 | +.img-container { | ||
| 105 | + /* background-color: #dedede; */ | ||
| 106 | + /* height: 300rpx; */ | ||
| 107 | + width: 160rpx; | ||
| 108 | + height: 160rpx; | ||
| 109 | + line-height: 160rpx; | ||
| 110 | + text-align: center; | ||
| 111 | +} | ||
| 112 | + | ||
| 113 | +.img-container2 { | ||
| 114 | + /* width: 200rpx; | ||
| 115 | + height: 200rpx; | ||
| 116 | + background-color: #dedede; | ||
| 117 | + margin-right: 20rpx; | ||
| 118 | + flex-shrink: 0; | ||
| 119 | + display: flex; | ||
| 120 | + align-items: center; | ||
| 121 | + justify-content: center; | ||
| 122 | + position: relative; */ | ||
| 123 | +} | ||
| 124 | + | ||
| 125 | +.img-container2.error::before { | ||
| 126 | + /* font-family: iconfont; | ||
| 127 | + position: absolute; | ||
| 128 | + content: '\e8c1'; */ | ||
| 129 | +} | ||
| 130 | + | ||
| 131 | +.img { | ||
| 132 | + display: block; | ||
| 133 | + width: 100%; | ||
| 134 | + height: 100%; | ||
| 135 | +} | ||
| 136 | + | ||
| 137 | +.desc-container { | ||
| 138 | + /* padding: 20rpx; */ | ||
| 139 | + padding-left: 20rpx; | ||
| 140 | + flex: 1; | ||
| 141 | +} | ||
| 142 | + | ||
| 143 | + | ||
| 144 | + | ||
| 145 | +.rmb::before { | ||
| 146 | + content: '¥'; | ||
| 147 | +} | ||
| 148 | + | ||
| 149 | +.date { | ||
| 150 | + color: #a4a4a4; | ||
| 151 | + font-size: 24rpx; | ||
| 152 | +} | ||
| 153 | + | ||
| 154 | +.btn-container { | ||
| 155 | + display: flex; | ||
| 156 | + justify-content: flex-end; | ||
| 157 | + font-size: 26rpx; | ||
| 158 | +} | ||
| 159 | + | ||
| 160 | +.btn { | ||
| 161 | + font-size: 28rpx; | ||
| 162 | + padding: 12rpx 30rpx; | ||
| 163 | + border-radius: 8rpx; | ||
| 164 | + text-align: center; | ||
| 165 | + display: inline-block; | ||
| 166 | + text-align: right; | ||
| 167 | +} | ||
| 168 | + | ||
| 169 | +.btn.red { | ||
| 170 | + background-color: #FF6768; | ||
| 171 | + color: white; | ||
| 172 | +} | ||
| 173 | + | ||
| 174 | +.btn.pink { | ||
| 175 | + background-color: #FACAD6; | ||
| 176 | + color: #FF6768; | ||
| 177 | +} | ||
| 178 | + | ||
| 179 | +.noMore { | ||
| 180 | + padding: 20rpx; | ||
| 181 | + color: #bbb; | ||
| 182 | + text-align: center; | ||
| 183 | + font-size: 22rpx; | ||
| 184 | +} | ||
| 185 | + | ||
| 186 | +.btn.gray { | ||
| 187 | + background-color: #aaa; | ||
| 188 | + color: white; | ||
| 189 | +} | ||
| 0 | \ No newline at end of file | 190 | \ No newline at end of file |
packageB/pages/luckactivity/luckinfo/luckinfo.js
0 → 100644
| 1 | +var WxParse = require('../../../../utils/wxParse/wxParse.js'); | ||
| 2 | +const app = getApp(); | ||
| 3 | +let imghost = app.globalData.setting.imghost; | ||
| 4 | +let self = null; | ||
| 5 | + | ||
| 6 | +Page({ | ||
| 7 | + data: { | ||
| 8 | + start: false, | ||
| 9 | + list: null, | ||
| 10 | + isLoading: false, // 检测是否已经发送请求,防止重复发送请求 | ||
| 11 | + noMore: false, // 检测是否有更多数据,true为没有更多数据,false为还有数据 | ||
| 12 | + pageNum: 1, // 当前页数 | ||
| 13 | + imghost: imghost, | ||
| 14 | + num: 3, | ||
| 15 | + | ||
| 16 | + prizes: [], | ||
| 17 | + defaultConfig: { | ||
| 18 | + offsetDegree: 22.5, | ||
| 19 | + }, | ||
| 20 | + // defaultStyle: { | ||
| 21 | + // fontColor: '#d64737', | ||
| 22 | + // fontSize: '14px' | ||
| 23 | + // }, | ||
| 24 | + blocks: [ //背景图 | ||
| 25 | + // { padding: '13px', background: '#d64737', top: '20rpx' } | ||
| 26 | + { | ||
| 27 | + padding: '76rpx', | ||
| 28 | + // background: 'pink', | ||
| 29 | + imgs: [{ | ||
| 30 | + src: imghost + 'miniapp/images/luckDraw/weel.png', | ||
| 31 | + width: '700rpx', | ||
| 32 | + height: '700rpx', | ||
| 33 | + rotate: true, | ||
| 34 | + }] | ||
| 35 | + } | ||
| 36 | + ], | ||
| 37 | + buttons: [ | ||
| 38 | + // { radius: '50px', background: '#d64737' }, | ||
| 39 | + // { radius: '45px', background: '#fff' }, | ||
| 40 | + // { radius: '41px', background: '#f6c66f', pointer: true }, | ||
| 41 | + // { | ||
| 42 | + // radius: '35px', background: '#ffdea0', | ||
| 43 | + // fonts: [{ text: '开始\n抽奖', fontSize: '18px', top: -18 }] | ||
| 44 | + // } | ||
| 45 | + { | ||
| 46 | + radius: '60rpx', | ||
| 47 | + // background: 'black', | ||
| 48 | + // pointer: true, | ||
| 49 | + imgs: [{ | ||
| 50 | + src: imghost + 'miniapp/images/luckDraw/pointer.png', | ||
| 51 | + width: '188rpx', | ||
| 52 | + height: '230rpx', | ||
| 53 | + top: '-130rpx', | ||
| 54 | + }], | ||
| 55 | + } | ||
| 56 | + ], | ||
| 57 | + }, | ||
| 58 | + | ||
| 59 | + onLoad(options) { | ||
| 60 | + // console.log('imghost+++++', imghost); | ||
| 61 | + self = this; | ||
| 62 | + this.data.options = options; | ||
| 63 | + // this.setData({ | ||
| 64 | + // options, | ||
| 65 | + // imghost, | ||
| 66 | + // }); | ||
| 67 | + // console.log('this data', this.data.imghost); | ||
| 68 | + wx.setNavigationBarTitle({ | ||
| 69 | + title: options.title, | ||
| 70 | + }); | ||
| 71 | + app.isLogin().then(function(data) {//进入页面前已经授权登录成功 | ||
| 72 | + self.setData({ | ||
| 73 | + userInfo: data, | ||
| 74 | + // imghost, | ||
| 75 | + }); | ||
| 76 | + }); | ||
| 77 | + }, | ||
| 78 | + | ||
| 79 | + onShow() { | ||
| 80 | + if(app.globalData.userInfo) { | ||
| 81 | + if(!this.data.isLogin) { | ||
| 82 | + | ||
| 83 | + this.setData({ | ||
| 84 | + userInfo: app.globalData.userInfo, | ||
| 85 | + isLogin: true, | ||
| 86 | + }); | ||
| 87 | + | ||
| 88 | + // console.log('imghost', this.data.imghost); | ||
| 89 | + let user_id = app.globalData.userInfo.user_id; | ||
| 90 | + let store_id = app.globalData.setting.stoid; | ||
| 91 | + let id = this.data.options.id; | ||
| 92 | + let url = `/api/weshop/marketing/marketingLuckForm/getLuckInfo/${store_id}/${id}/${user_id}`; | ||
| 93 | + | ||
| 94 | + | ||
| 95 | + app.request.get(url, { | ||
| 96 | + success: function(res) { | ||
| 97 | + if(res.data.code == 0) { | ||
| 98 | + self.setData({ | ||
| 99 | + luckInfo: res.data.data, | ||
| 100 | + }); | ||
| 101 | + WxParse.wxParse('content', 'html', self.data.luckInfo.remark, self); | ||
| 102 | + } else { | ||
| 103 | + wx.showToast({ | ||
| 104 | + title: res.data.msg, | ||
| 105 | + icon: 'none', | ||
| 106 | + }); | ||
| 107 | + self.data.msg = res.data.msg; | ||
| 108 | + }; | ||
| 109 | + | ||
| 110 | + // console.log('luckInfo', res.data.data); | ||
| 111 | + let luckInfo = res.data.data; | ||
| 112 | + | ||
| 113 | + | ||
| 114 | + if(luckInfo && luckInfo.template_type != null && luckInfo.template_type == 1) { //获取模板 | ||
| 115 | + let url = `/api/weshop/marketing/marketingLuckTemplate/get/${store_id}/${luckInfo.template_id}`; | ||
| 116 | + app.request.get(url, { | ||
| 117 | + success: function(res) { | ||
| 118 | + // console.log('prizes//////', res.data.data); | ||
| 119 | + self.setData({ | ||
| 120 | + template: res.data.data, | ||
| 121 | + bannerUrl: imghost + (res.data.data.bannerUrl ? res.data.data.bannerUrl:'miniapp/images/luckDraw/bg.png'), //背景图 | ||
| 122 | + 'blocks[0].imgs[0].src': imghost + (res.data.data.wheelBaseUrl ? res.data.data.wheelBaseUrl:'miniapp/images/luckDraw/weel.png'), //转盘 | ||
| 123 | + 'buttons[0].imgs[0].src': imghost + (res.data.data.wheelPointerUrl ? res.data.data.wheelPointerUrl:'miniapp/images/luckDraw/pointer.png'), //指针 | ||
| 124 | + }); | ||
| 125 | + }, | ||
| 126 | + }); | ||
| 127 | + } else { | ||
| 128 | + if(luckInfo && luckInfo.store_bannerUrl) { | ||
| 129 | + self.setData({ | ||
| 130 | + bannerUrl: imghost + luckInfo.store_bannerUrl, | ||
| 131 | + }); | ||
| 132 | + }; | ||
| 133 | + | ||
| 134 | + }; | ||
| 135 | + | ||
| 136 | + | ||
| 137 | + if(self.data.luckInfo.msgInfo) { | ||
| 138 | + wx.showToast({ | ||
| 139 | + title: self.data.luckInfo.msgInfo, | ||
| 140 | + icon: 'none', | ||
| 141 | + }); | ||
| 142 | + // return; | ||
| 143 | + }; | ||
| 144 | + | ||
| 145 | + }, | ||
| 146 | + }); | ||
| 147 | + | ||
| 148 | + // 获取奖品展示的奖品 | ||
| 149 | + app.request.get('/api/weshop/marketing/marketingLuckList/page', { | ||
| 150 | + data: { | ||
| 151 | + store_id, | ||
| 152 | + luck_formid: id, | ||
| 153 | + }, | ||
| 154 | + success: function(res) { | ||
| 155 | + | ||
| 156 | + let award = res.data.data.pageData; | ||
| 157 | + self.setData({ | ||
| 158 | + award, | ||
| 159 | + }); | ||
| 160 | + console.log('award', award); | ||
| 161 | + self.prizeLayout(award); | ||
| 162 | + | ||
| 163 | + }, | ||
| 164 | + }); | ||
| 165 | + | ||
| 166 | + | ||
| 167 | + //获取兑奖记录 | ||
| 168 | + app.request.get('/api/weshop/marketing/marketingLuckRecord/page', { | ||
| 169 | + isShowLoading: false, | ||
| 170 | + data: { | ||
| 171 | + store_id: app.globalData.setting.stoid, | ||
| 172 | + user_id: app.globalData.userInfo.user_id, | ||
| 173 | + luck_formid: this.data.options.id, | ||
| 174 | + luck_state: 1 | ||
| 175 | + }, | ||
| 176 | + success: function(res) { | ||
| 177 | + if(res.data.code == 0) { | ||
| 178 | + self.setData({ | ||
| 179 | + record: res.data.data.pageData, | ||
| 180 | + }); | ||
| 181 | + }; | ||
| 182 | + }, | ||
| 183 | + }); | ||
| 184 | + | ||
| 185 | + | ||
| 186 | + //获取中奖人员名单 | ||
| 187 | + app.request.get('/api/weshop/marketing/marketingLuckRecord/page', { | ||
| 188 | + isShowLoading: false, | ||
| 189 | + data: { | ||
| 190 | + store_id: app.globalData.setting.stoid, | ||
| 191 | + luck_formid: this.data.options.id, | ||
| 192 | + luck_state: 1, | ||
| 193 | + pageSize: 20, | ||
| 194 | + }, | ||
| 195 | + success: function(res) { | ||
| 196 | + if(res.data.code == 0) { | ||
| 197 | + self.setData({ | ||
| 198 | + nameList: res.data.data.pageData, | ||
| 199 | + }); | ||
| 200 | + }; | ||
| 201 | + }, | ||
| 202 | + }); | ||
| 203 | + | ||
| 204 | + }; | ||
| 205 | + }; | ||
| 206 | + }, | ||
| 207 | + | ||
| 208 | + // 设置转盘奖品布局 | ||
| 209 | + prizeLayout(award) { | ||
| 210 | + let prizes = []; | ||
| 211 | + // let length = award.length; | ||
| 212 | + if(award) { | ||
| 213 | + var length = award.length; | ||
| 214 | + } else { | ||
| 215 | + wx.showToast({ | ||
| 216 | + title: '请设置奖品', | ||
| 217 | + icon: 'none', | ||
| 218 | + }); | ||
| 219 | + return; | ||
| 220 | + }; | ||
| 221 | + | ||
| 222 | + let thx = {fonts: [{ text: '谢谢\n参与', top: '18%', wordWrap:false, fontColor: 'rgba(255,255,255,.6)'}]}; | ||
| 223 | + | ||
| 224 | + if(length == 1) { | ||
| 225 | + [0,2,4,6].map(function(item, index) { | ||
| 226 | + prizes[item] = { | ||
| 227 | + id: award[0].id, | ||
| 228 | + lbtype: award[0].lbtype, | ||
| 229 | + fonts: [{ text: award[0].luck_goods_name + ' x' + award[0].num, top: '18%', wordWrap:false, fontColor: 'transparent'}], | ||
| 230 | + imgs: [ | ||
| 231 | + { | ||
| 232 | + src: self.prizeSrc(award[0].lbtype) ? self.prizeSrc(award[0].lbtype): (imghost + 'miniapp/images/luckDraw/lb.png'), | ||
| 233 | + width: '135rpx', | ||
| 234 | + height: '107rpx', | ||
| 235 | + top: '12%', | ||
| 236 | + } | ||
| 237 | + ], | ||
| 238 | + }; | ||
| 239 | + }); | ||
| 240 | + | ||
| 241 | + [1,3,5,7].map(function(item, index) { | ||
| 242 | + prizes[item] = thx; | ||
| 243 | + }); | ||
| 244 | + | ||
| 245 | + this.data.thxIndexArr = [1,3,5,7]; | ||
| 246 | + }; | ||
| 247 | + | ||
| 248 | + if(length == 2) { | ||
| 249 | + [0,4].map(function(item, index) { | ||
| 250 | + prizes[item] = { | ||
| 251 | + id: award[0].id, | ||
| 252 | + lbtype: award[0].lbtype, | ||
| 253 | + fonts: [{ text: award[0].luck_goods_name + ' x' + award[0].num, top: '18%', wordWrap:false, fontColor: 'transparent'}], | ||
| 254 | + imgs: [ | ||
| 255 | + { | ||
| 256 | + src: self.prizeSrc(award[0].lbtype) ? self.prizeSrc(award[0].lbtype): (imghost + 'miniapp/images/luckDraw/lb.png'), | ||
| 257 | + width: '135rpx', | ||
| 258 | + height: '107rpx', | ||
| 259 | + top: '12%', | ||
| 260 | + } | ||
| 261 | + ], | ||
| 262 | + }; | ||
| 263 | + }); | ||
| 264 | + | ||
| 265 | + [2,6].map(function(item, index) { | ||
| 266 | + prizes[item] = { | ||
| 267 | + id: award[1].id, | ||
| 268 | + lbtype: award[1].lbtype, | ||
| 269 | + fonts: [{ text: award[1].luck_goods_name + ' x' + award[1].num, top: '18%', wordWrap:false, fontColor: 'transparent'}], | ||
| 270 | + imgs: [ | ||
| 271 | + { | ||
| 272 | + src: self.prizeSrc(award[1].lbtype) ? self.prizeSrc(award[1].lbtype): (imghost + 'miniapp/images/luckDraw/lb.png'), | ||
| 273 | + width: '135rpx', | ||
| 274 | + height: '107rpx', | ||
| 275 | + top: '12%', | ||
| 276 | + } | ||
| 277 | + ], | ||
| 278 | + }; | ||
| 279 | + }); | ||
| 280 | + | ||
| 281 | + [1,3,5,7].map(function(item, index) { | ||
| 282 | + prizes[item] = thx; | ||
| 283 | + }); | ||
| 284 | + this.data.thxIndexArr = [1,3,5,7]; | ||
| 285 | + }; | ||
| 286 | + | ||
| 287 | + | ||
| 288 | + if(length == 3) { | ||
| 289 | + [0,4].map(function(item, index) { | ||
| 290 | + prizes[item] = { | ||
| 291 | + id: award[0].id, | ||
| 292 | + lbtype: award[0].lbtype, | ||
| 293 | + fonts: [{ text: award[0].luck_goods_name + ' x' + award[0].num, top: '18%', wordWrap:false, fontColor: 'transparent'}], | ||
| 294 | + imgs: [ | ||
| 295 | + { | ||
| 296 | + src: self.prizeSrc(award[0].lbtype) ? self.prizeSrc(award[0].lbtype): (imghost + 'miniapp/images/luckDraw/lb.png'), | ||
| 297 | + width: '135rpx', | ||
| 298 | + height: '107rpx', | ||
| 299 | + top: '12%', | ||
| 300 | + } | ||
| 301 | + ], | ||
| 302 | + }; | ||
| 303 | + }); | ||
| 304 | + | ||
| 305 | + [1,5].map(function(item, index) { | ||
| 306 | + prizes[item] = { | ||
| 307 | + id: award[1].id, | ||
| 308 | + lbtype: award[1].lbtype, | ||
| 309 | + fonts: [{ text: award[1].luck_goods_name + ' x' + award[1].num, top: '18%', wordWrap:false, fontColor: 'transparent'}], | ||
| 310 | + imgs: [ | ||
| 311 | + { | ||
| 312 | + src: self.prizeSrc(award[1].lbtype) ? self.prizeSrc(award[1].lbtype): (imghost + 'miniapp/images/luckDraw/lb.png'), | ||
| 313 | + width: '135rpx', | ||
| 314 | + height: '107rpx', | ||
| 315 | + top: '12%', | ||
| 316 | + } | ||
| 317 | + ], | ||
| 318 | + }; | ||
| 319 | + }); | ||
| 320 | + | ||
| 321 | + [2,6].map(function(item, index) { | ||
| 322 | + prizes[item] = { | ||
| 323 | + id: award[2].id, | ||
| 324 | + lbtype: award[2].lbtype, | ||
| 325 | + fonts: [{ text: award[2].luck_goods_name + ' x' + award[2].num, top: '18%', wordWrap:false, fontColor: 'transparent'}], | ||
| 326 | + imgs: [ | ||
| 327 | + { | ||
| 328 | + src: self.prizeSrc(award[2].lbtype) ? self.prizeSrc(award[2].lbtype): (imghost + 'miniapp/images/luckDraw/lb.png'), | ||
| 329 | + width: '135rpx', | ||
| 330 | + height: '107rpx', | ||
| 331 | + top: '12%', | ||
| 332 | + } | ||
| 333 | + ], | ||
| 334 | + }; | ||
| 335 | + }); | ||
| 336 | + | ||
| 337 | + [3,7].map(function(item, index) { | ||
| 338 | + prizes[item] = thx; | ||
| 339 | + }); | ||
| 340 | + | ||
| 341 | + this.data.thxIndexArr = [3,7]; | ||
| 342 | + }; | ||
| 343 | + | ||
| 344 | + | ||
| 345 | + if(length == 4) { | ||
| 346 | + [0,2,4,6].map(function(item, index) { | ||
| 347 | + prizes[item] = { | ||
| 348 | + id: award[index].id, | ||
| 349 | + lbtype: award[index].lbtype, | ||
| 350 | + fonts: [{ text: award[index].luck_goods_name + ' x' + award[index].num, top: '18%', wordWrap:false, fontColor: 'transparent'}], | ||
| 351 | + imgs: [ | ||
| 352 | + { | ||
| 353 | + src: self.prizeSrc(award[index].lbtype) ? self.prizeSrc(award[index].lbtype): (imghost + 'miniapp/images/luckDraw/lb.png'), | ||
| 354 | + width: '135rpx', | ||
| 355 | + height: '107rpx', | ||
| 356 | + top: '12%', | ||
| 357 | + } | ||
| 358 | + ], | ||
| 359 | + }; | ||
| 360 | + }); | ||
| 361 | + | ||
| 362 | + [1,3,5,7].map(function(item, index) { | ||
| 363 | + prizes[item] = thx; | ||
| 364 | + }); | ||
| 365 | + | ||
| 366 | + this.data.thxIndexArr = [1,3,5,7]; | ||
| 367 | + }; | ||
| 368 | + | ||
| 369 | + if(length == 5) { | ||
| 370 | + [0,2,3,5,6].map(function(item, index) { | ||
| 371 | + prizes[item] = { | ||
| 372 | + id: award[index].id, | ||
| 373 | + lbtype: award[index].lbtype, | ||
| 374 | + fonts: [{ text: award[index].luck_goods_name + ' x' + award[index].num, top: '18%', wordWrap:false, fontColor: 'transparent'}], | ||
| 375 | + imgs: [ | ||
| 376 | + { | ||
| 377 | + src: self.prizeSrc(award[index].lbtype) ? self.prizeSrc(award[index].lbtype): (imghost + 'miniapp/images/luckDraw/lb.png'), | ||
| 378 | + width: '135rpx', | ||
| 379 | + height: '107rpx', | ||
| 380 | + top: '12%', | ||
| 381 | + } | ||
| 382 | + ], | ||
| 383 | + }; | ||
| 384 | + }); | ||
| 385 | + | ||
| 386 | + [1,4,7].map(function(item, index) { | ||
| 387 | + prizes[item] = thx; | ||
| 388 | + }); | ||
| 389 | + | ||
| 390 | + this.data.thxIndexArr = [1,4,7]; | ||
| 391 | + }; | ||
| 392 | + | ||
| 393 | + if(length == 6) { | ||
| 394 | + prizes = award.map(function(item, index) { | ||
| 395 | + return { | ||
| 396 | + id: item.id, | ||
| 397 | + lbtype: item.lbtype, | ||
| 398 | + fonts: [{ text: item.luck_goods_name + ' x' + item.num, top: '18%', wordWrap:false, fontColor: 'transparent'}], | ||
| 399 | + imgs: [ | ||
| 400 | + { | ||
| 401 | + src: self.prizeSrc(item.lbtype) ? self.prizeSrc(item.lbtype): (imghost + 'miniapp/images/luckDraw/lb.png'), | ||
| 402 | + width: '135rpx', | ||
| 403 | + height: '107rpx', | ||
| 404 | + top: '12%', | ||
| 405 | + } | ||
| 406 | + ], | ||
| 407 | + }; | ||
| 408 | + }); | ||
| 409 | + | ||
| 410 | + prizes.push(thx); | ||
| 411 | + prizes.splice(3, 0, thx); | ||
| 412 | + | ||
| 413 | + this.data.thxIndexArr = [3,7]; | ||
| 414 | + }; | ||
| 415 | + | ||
| 416 | + // console.log('prizes', prizes); | ||
| 417 | + | ||
| 418 | + this.setData({ | ||
| 419 | + prizes, | ||
| 420 | + }); | ||
| 421 | + }, | ||
| 422 | + | ||
| 423 | + // 根据lbtype指定奖品类别图标 | ||
| 424 | + prizeSrc(lbtype) { | ||
| 425 | + let src = ''; | ||
| 426 | + // let imghost = this.data.imghost; | ||
| 427 | + switch(lbtype) { | ||
| 428 | + case 1: { //积分 | ||
| 429 | + src = imghost + 'miniapp/images/luckDraw/jf.png'; | ||
| 430 | + break; | ||
| 431 | + }; | ||
| 432 | + case 2: { //成长值 | ||
| 433 | + src = imghost + 'miniapp/images/luckDraw/czz.png'; | ||
| 434 | + break; | ||
| 435 | + }; | ||
| 436 | + case 3: { //优惠券 | ||
| 437 | + src = imghost + 'miniapp/images/luckDraw/yhq.png'; | ||
| 438 | + break; | ||
| 439 | + }; | ||
| 440 | + case 4: { //服务项目 | ||
| 441 | + src = imghost + 'miniapp/images/luckDraw/fw.png'; | ||
| 442 | + break; | ||
| 443 | + }; | ||
| 444 | + case 5: { //赠品 | ||
| 445 | + src = imghost + 'miniapp/images/luckDraw/zp.png'; | ||
| 446 | + break; | ||
| 447 | + }; | ||
| 448 | + case 6: { //礼包 | ||
| 449 | + src = imghost + 'miniapp/images/luckDraw/lb.png'; | ||
| 450 | + break; | ||
| 451 | + }; | ||
| 452 | + }; | ||
| 453 | + return src; | ||
| 454 | + }, | ||
| 455 | + | ||
| 456 | + // 获取抽奖结果匹配对应奖品在奖品列表里的所有索引号 | ||
| 457 | + luckyIndex(arr, target) { | ||
| 458 | + var results=[], | ||
| 459 | + len = arr.length, | ||
| 460 | + pos = 0; | ||
| 461 | + while(pos < len){ | ||
| 462 | + // pos = arr[pos].indexOf(target, pos); | ||
| 463 | + if(arr[pos].id == target) { | ||
| 464 | + results.push(pos);//找到就存储索引 | ||
| 465 | + | ||
| 466 | + }; | ||
| 467 | + pos += 1;//并从下个位置开始搜索 | ||
| 468 | + // if(pos === -1){//未找到就退出循环完成搜索 | ||
| 469 | + // break; | ||
| 470 | + // }; | ||
| 471 | + | ||
| 472 | + } | ||
| 473 | + // console.log('当前奖品列表', this.data.prizes); | ||
| 474 | + // console.log('中奖结果在当前奖品列表中的索引', results); | ||
| 475 | + | ||
| 476 | + return results; | ||
| 477 | + }, | ||
| 478 | + | ||
| 479 | + start () { | ||
| 480 | + if(!this.data.luckInfo) { | ||
| 481 | + wx.showToast({ | ||
| 482 | + title: this.data.msg, | ||
| 483 | + icon: 'none', | ||
| 484 | + }); | ||
| 485 | + return; | ||
| 486 | + }; | ||
| 487 | + | ||
| 488 | + if(self.data.luckInfo.msgInfo) { | ||
| 489 | + wx.showToast({ | ||
| 490 | + title: self.data.luckInfo.msgInfo, | ||
| 491 | + icon: 'none', | ||
| 492 | + }); | ||
| 493 | + return; | ||
| 494 | + }; | ||
| 495 | + | ||
| 496 | + | ||
| 497 | + if(this.data.luckInfo.user_LuckNumDay > 0 || this.data.luckInfo.vip_act_num == 0) { | ||
| 498 | + // console.log('start choujiang'); | ||
| 499 | + // let start = false; | ||
| 500 | + if(!this.data.start) { | ||
| 501 | + this.data.start = true; | ||
| 502 | + // 获取抽奖组件实例 | ||
| 503 | + const $lucky = this.selectComponent('#myLucky'); | ||
| 504 | + // 调用play方法开始旋转 | ||
| 505 | + $lucky.play(); | ||
| 506 | + | ||
| 507 | + // 获取抽奖结果 | ||
| 508 | + app.request.post('/api/weshop/marketing/marketingLuckForm/startLuck', { | ||
| 509 | + isShowLoading: false, | ||
| 510 | + data: { | ||
| 511 | + storeId: app.globalData.setting.stoid, | ||
| 512 | + userId: app.globalData.userInfo.user_id, | ||
| 513 | + LuckId: this.data.options.id, | ||
| 514 | + }, | ||
| 515 | + success: function(res) { | ||
| 516 | + | ||
| 517 | + if(res.data.code == 0) { | ||
| 518 | + console.log('开始摇奖', res.data.data); | ||
| 519 | + if(self.data.luckInfo.vip_act_num != 0) { | ||
| 520 | + self.setData({ | ||
| 521 | + 'luckInfo.user_LuckNumDay': self.data.luckInfo.user_LuckNumDay - 1, | ||
| 522 | + // isActive: true, | ||
| 523 | + }); | ||
| 524 | + }; | ||
| 525 | + | ||
| 526 | + self.setData({ | ||
| 527 | + // 'luckInfo.user_LuckNumDay': self.data.luckInfo.user_LuckNumDay - 1, | ||
| 528 | + isActive: true, | ||
| 529 | + }); | ||
| 530 | + // console.log('请求成功', res.data.data); | ||
| 531 | + let luckyId = res.data.data.id; | ||
| 532 | + let indexArr = self.luckyIndex(self.data.prizes, luckyId); | ||
| 533 | + // console.log('抽奖奖品id', luckyId); | ||
| 534 | + // console.log('奖品列表', self.data.prizes); | ||
| 535 | + // console.log('奖品对应的索引数组', indexArr); | ||
| 536 | + let random = Math.random() * indexArr.length >> 0; | ||
| 537 | + // console.log('random', random); | ||
| 538 | + let index = indexArr[random]; | ||
| 539 | + setTimeout(() => { | ||
| 540 | + $lucky.stop(index); | ||
| 541 | + self.data.start = false; | ||
| 542 | + }, 3000); | ||
| 543 | + | ||
| 544 | + | ||
| 545 | + //获取兑奖记录 | ||
| 546 | + // app.request.get('/api/weshop/marketing/marketingLuckRecord/page', { | ||
| 547 | + // isShowLoading: false, | ||
| 548 | + // data: { | ||
| 549 | + // store_id: app.globalData.setting.stoid, | ||
| 550 | + // user_id: app.globalData.userInfo.user_id, | ||
| 551 | + // luck_formid: self.data.options.id, | ||
| 552 | + // luck_state: 1 | ||
| 553 | + // }, | ||
| 554 | + // success: function(res) { | ||
| 555 | + // if(res.data.code == 0) { | ||
| 556 | + // // console.log('res===>', res.data.data.pageData); | ||
| 557 | + // self.setData({ | ||
| 558 | + // record: res.data.data.pageData, | ||
| 559 | + // }); | ||
| 560 | + // }; | ||
| 561 | + // }, | ||
| 562 | + // }); | ||
| 563 | + | ||
| 564 | + | ||
| 565 | + } else { | ||
| 566 | + // console.log('请求出错'); | ||
| 567 | + if(self.data.luckInfo.vip_act_num != 0) { | ||
| 568 | + self.setData({ | ||
| 569 | + 'luckInfo.user_LuckNumDay': self.data.luckInfo.user_LuckNumDay - 1, | ||
| 570 | + }); | ||
| 571 | + }; | ||
| 572 | + | ||
| 573 | + let thxIndexArr = self.data.thxIndexArr; | ||
| 574 | + const random = Math.random() * thxIndexArr.length >> 0; | ||
| 575 | + const index = thxIndexArr[random]; | ||
| 576 | + // console.log('谢谢参与数组', thxIndexArr); | ||
| 577 | + // console.log('请求出错产生谢谢参与的随机数', index); | ||
| 578 | + setTimeout(() => { | ||
| 579 | + $lucky.stop(index); | ||
| 580 | + self.data.start = false; | ||
| 581 | + }, 3000); | ||
| 582 | + }; | ||
| 583 | + }, | ||
| 584 | + | ||
| 585 | + fail: function(res) { | ||
| 586 | + // console.log('出错'); | ||
| 587 | + wx.showToast({ | ||
| 588 | + title: '数据请求失败', | ||
| 589 | + icon: 'error', | ||
| 590 | + }); | ||
| 591 | + let thxIndexArr = self.data.thxIndexArr; | ||
| 592 | + const random = Math.random() * thxIndexArr.length >> 0; | ||
| 593 | + const index = thxIndexArr[random]; | ||
| 594 | + setTimeout(() => { | ||
| 595 | + $lucky.stop(index); | ||
| 596 | + self.data.start = false; | ||
| 597 | + }, 3000); | ||
| 598 | + }, | ||
| 599 | + | ||
| 600 | + }); | ||
| 601 | + | ||
| 602 | + } | ||
| 603 | + | ||
| 604 | + | ||
| 605 | + } else { | ||
| 606 | + wx.showToast({ | ||
| 607 | + title: '你今天的抽奖次数已用完啦!~', | ||
| 608 | + icon: 'none', | ||
| 609 | + }); | ||
| 610 | + }; | ||
| 611 | + | ||
| 612 | + }, | ||
| 613 | + end (event) { | ||
| 614 | + // 中奖奖品详情 | ||
| 615 | + // console.log('zjiangla~~',event.detail.lbtype); | ||
| 616 | + let no_luck_urltype = this.data.luckInfo.no_luck_urltype; | ||
| 617 | + let lbtype; | ||
| 618 | + let resultTitle = event.detail.fonts[0].text.replace('\n',''); | ||
| 619 | + if(event.detail.lbtype == 5) { | ||
| 620 | + lbtype = 5; | ||
| 621 | + } else { | ||
| 622 | + lbtype = -1; | ||
| 623 | + }; | ||
| 624 | + this.setData({ | ||
| 625 | + num: 3, | ||
| 626 | + hiddenCanvas: true, | ||
| 627 | + showResult: true, | ||
| 628 | + showMask: true, | ||
| 629 | + resultTitle, | ||
| 630 | + currentLbtype: lbtype, | ||
| 631 | + }); | ||
| 632 | + | ||
| 633 | + | ||
| 634 | + | ||
| 635 | + | ||
| 636 | + if(no_luck_urltype == 1) { | ||
| 637 | + if(this.data.luckInfo.no_luck_weappurl) { | ||
| 638 | + let num = this.data.num; | ||
| 639 | + let url = this.data.luckInfo.no_luck_weappurl; | ||
| 640 | + self.timer = setInterval(function() { | ||
| 641 | + if(num == 0) { | ||
| 642 | + clearInterval(self.timer); | ||
| 643 | + app.goto(url); | ||
| 644 | + } else { | ||
| 645 | + self.setData({ | ||
| 646 | + num: --num, | ||
| 647 | + }); | ||
| 648 | + } | ||
| 649 | + }, 1000); | ||
| 650 | + | ||
| 651 | + }; | ||
| 652 | + }; | ||
| 653 | + | ||
| 654 | + }, | ||
| 655 | + | ||
| 656 | + showPopup() { | ||
| 657 | + this.setData({ | ||
| 658 | + list: null, | ||
| 659 | + pageNum: 1, | ||
| 660 | + noMore: false, | ||
| 661 | + }); | ||
| 662 | + this.getData(true, '/api/weshop/marketing/marketingLuckRecord/page', { | ||
| 663 | + store_id: app.globalData.setting.stoid, | ||
| 664 | + user_id: app.globalData.userInfo.user_id, | ||
| 665 | + luck_formid: this.data.options.id, | ||
| 666 | + luck_state: 1, | ||
| 667 | + }).then(function(res) { | ||
| 668 | + self.setData({ | ||
| 669 | + showPopup: true, | ||
| 670 | + showMask: true, | ||
| 671 | + hiddenCanvas: true, | ||
| 672 | + }); | ||
| 673 | + }); | ||
| 674 | + | ||
| 675 | + // this.setData({ | ||
| 676 | + // showPopup: true, | ||
| 677 | + // showMask: true, | ||
| 678 | + // hiddenCanvas: true, | ||
| 679 | + // 'list.pageData': this.data.record, | ||
| 680 | + // // record: self.data.list.pageData, | ||
| 681 | + // }); | ||
| 682 | + | ||
| 683 | + | ||
| 684 | + }, | ||
| 685 | + | ||
| 686 | + closePopup() { | ||
| 687 | + this.setData({ | ||
| 688 | + showPopup: false, | ||
| 689 | + showMask: false, | ||
| 690 | + hiddenCanvas: false, | ||
| 691 | + }); | ||
| 692 | + }, | ||
| 693 | + | ||
| 694 | + /** | ||
| 695 | + * 关闭中奖结果 | ||
| 696 | + */ | ||
| 697 | + closeResult() { | ||
| 698 | + clearInterval(this.timer); | ||
| 699 | + this.setData({ | ||
| 700 | + num: 3, | ||
| 701 | + showResult: false, | ||
| 702 | + showMask: false, | ||
| 703 | + hiddenCanvas: false, | ||
| 704 | + }); | ||
| 705 | + }, | ||
| 706 | + | ||
| 707 | + loadmore() { | ||
| 708 | + this.scrollToLower('/api/weshop/marketing/marketingLuckRecord/page', { | ||
| 709 | + store_id: app.globalData.setting.stoid, | ||
| 710 | + user_id: app.globalData.userInfo.user_id, | ||
| 711 | + luck_formid: this.data.options.id, | ||
| 712 | + luck_state: 1, | ||
| 713 | + }); | ||
| 714 | + }, | ||
| 715 | + | ||
| 716 | + | ||
| 717 | + /** | ||
| 718 | + * 请求数据 | ||
| 719 | + */ | ||
| 720 | + getData: function(isInit, url, data) { | ||
| 721 | + let p = app.request.promiseGet(url, { | ||
| 722 | + data: data, | ||
| 723 | + isShowLoading: true, | ||
| 724 | + }) | ||
| 725 | + .then(function(res) { | ||
| 726 | + if(res.data.code == 0) { | ||
| 727 | + | ||
| 728 | + self.setData({ | ||
| 729 | + isLoading: false | ||
| 730 | + }); | ||
| 731 | + | ||
| 732 | + if(isInit) {// 第一次加载 | ||
| 733 | + self.setData({ | ||
| 734 | + list: res.data.data | ||
| 735 | + }); | ||
| 736 | + } else { | ||
| 737 | + self.setData({ | ||
| 738 | + 'list.pageData': self.data.list.pageData.concat(res.data.data.pageData) | ||
| 739 | + }); | ||
| 740 | + }; | ||
| 741 | + | ||
| 742 | + if((res.data.data.pageData.length == 0) || (res.data.data.pageSize * res.data.data.page >= res.data.data.total)) { | ||
| 743 | + self.setData({ | ||
| 744 | + noMore: true | ||
| 745 | + }); | ||
| 746 | + }; | ||
| 747 | + | ||
| 748 | + } else { | ||
| 749 | + self.setData({ | ||
| 750 | + 'list.pageData': [] | ||
| 751 | + }); | ||
| 752 | + }; | ||
| 753 | + | ||
| 754 | + }); | ||
| 755 | + | ||
| 756 | + return p; | ||
| 757 | + }, | ||
| 758 | + | ||
| 759 | + | ||
| 760 | + /** | ||
| 761 | + * 上拉加载 | ||
| 762 | + */ | ||
| 763 | + scrollToLower(url, requestData) { | ||
| 764 | + // 数据总量 | ||
| 765 | + let total = this.data.list.total; | ||
| 766 | + // 单页最大数据量 | ||
| 767 | + let pageSize = this.data.list.pageSize; | ||
| 768 | + // 如果数据总量不为0且小于或等于单页最大数据量,说明数据已全部加载,显示‘没有更多了’ | ||
| 769 | + if((total != 0)&&(total <= pageSize)) { | ||
| 770 | + this.setData({ | ||
| 771 | + noMore: true | ||
| 772 | + }); | ||
| 773 | + }; | ||
| 774 | + | ||
| 775 | + if(!this.data.isLoading && !this.data.noMore) { | ||
| 776 | + this.setData({ | ||
| 777 | + isLoading: true, | ||
| 778 | + pageNum: this.data.pageNum + 1 | ||
| 779 | + }); | ||
| 780 | + requestData.page = this.data.pageNum; | ||
| 781 | + this.getData(false, url, requestData); | ||
| 782 | + }; | ||
| 783 | + }, | ||
| 784 | + | ||
| 785 | + | ||
| 786 | + goto(e) { | ||
| 787 | + let url = ''; | ||
| 788 | + let type = e.currentTarget.dataset.type; | ||
| 789 | + switch(type) { | ||
| 790 | + case 1: { | ||
| 791 | + url = '/pages/user/integral/integral'; | ||
| 792 | + break; | ||
| 793 | + }; | ||
| 794 | + case 2: { | ||
| 795 | + url = '/pages/user/grow_value/grow_value'; | ||
| 796 | + break; | ||
| 797 | + }; | ||
| 798 | + case 3: { | ||
| 799 | + url = '/pages/user/coupons/coupons'; | ||
| 800 | + break; | ||
| 801 | + }; | ||
| 802 | + case 4: { | ||
| 803 | + url = '/pages/user/my_service/i_service'; | ||
| 804 | + break; | ||
| 805 | + }; | ||
| 806 | + case 6: { | ||
| 807 | + url = '/packageA/pages/myGift/myGift'; | ||
| 808 | + break; | ||
| 809 | + }; | ||
| 810 | + }; | ||
| 811 | + app.goto(url); | ||
| 812 | + }, | ||
| 813 | + | ||
| 814 | + showQr(e) { | ||
| 815 | + let store_id = app.globalData.setting.stoid; | ||
| 816 | + let id = e.currentTarget.dataset.id; | ||
| 817 | + let url = `/api/weshop/marketing/marketingLuckList/updateGoodsVerifyCode/${store_id}/${id}`; | ||
| 818 | + app.request.put(url, { | ||
| 819 | + success: function(res) { | ||
| 820 | + if(res.data.code == 0) { | ||
| 821 | + let data = res.data.data; | ||
| 822 | + console.log('data!!!!', data); | ||
| 823 | + let barcode = self.selectComponent("#qrcode"); | ||
| 824 | + barcode.open({val: data}); | ||
| 825 | + self.setData({ | ||
| 826 | + hiddenCanvas: true, | ||
| 827 | + showPopup: false, | ||
| 828 | + }); | ||
| 829 | + }; | ||
| 830 | + }, | ||
| 831 | + | ||
| 832 | + }); | ||
| 833 | + }, | ||
| 834 | + | ||
| 835 | + closeQr() { | ||
| 836 | + this.setData({ | ||
| 837 | + hiddenCanvas: false, | ||
| 838 | + showMask: false, | ||
| 839 | + }); | ||
| 840 | + }, | ||
| 841 | + | ||
| 842 | + clickReceive() { | ||
| 843 | + this.setData({ | ||
| 844 | + showResult: false, | ||
| 845 | + }); | ||
| 846 | + this.showPopup(); | ||
| 847 | + }, | ||
| 848 | +}) | ||
| 0 | \ No newline at end of file | 849 | \ No newline at end of file |
packageB/pages/luckactivity/luckinfo/luckinfo.json
0 → 100644
| 1 | +{ | ||
| 2 | + "usingComponents": { | ||
| 3 | + "lucky-wheel":"/packageB/miniprogram_npm/mini-luck-draw/lucky-wheel/index", | ||
| 4 | + "qrcode": "/components/my-qrcode/my-qrcode", | ||
| 5 | + "nodata": "/components/nodata/nodata" | ||
| 6 | + }, | ||
| 7 | + "enablePullDownRefresh": false, | ||
| 8 | + "navigationBarTitleText": "幸运大转盘" | ||
| 9 | +} | ||
| 0 | \ No newline at end of file | 10 | \ No newline at end of file |
packageB/pages/luckactivity/luckinfo/luckinfo.wxml
0 → 100644
| 1 | +<wxs module="filter" src="../../../../utils/filter.wxs"></wxs> | ||
| 2 | +<wxs module="tool" src="./tool.wxs"></wxs> | ||
| 3 | +<view class="luck-container" style="background: {{template.colorCode ? template.colorCode:'#8102FD'}} url({{bannerUrl ? bannerUrl:(imghost + 'miniapp/images/luckDraw/bg.png')}}) no-repeat;"> | ||
| 4 | +<!-- <view class="luck-container" style="background: url({{ bannerUrl}}) no-repeat;"> --> | ||
| 5 | + <!-- 中奖人员 --> | ||
| 6 | + <view class="swiper-container" wx:if="{{nameList && nameList.length != 0}}"> | ||
| 7 | + <swiper class="swiper" autoplay="true" circular="true" vertical="true" interval="3000"> | ||
| 8 | + <swiper-item class="swiper-item" wx:for="{{nameList}}"> | ||
| 9 | + <view class="item"> | ||
| 10 | + <view class="avatar-container"> | ||
| 11 | + <image src="{{item.head_pic}}" class="img-block"></image> | ||
| 12 | + </view> | ||
| 13 | + <view class="flex ai_c pdr10"> | ||
| 14 | + <view class="nickname ellipsis-1x">{{item.nickname}}</view> | ||
| 15 | + <view style="flex-shrink: 0;">获得了"{{item.luck_goods_name}}"</view> | ||
| 16 | + </view> | ||
| 17 | + </view> | ||
| 18 | + </swiper-item> | ||
| 19 | + </swiper> | ||
| 20 | + </view> | ||
| 21 | + <!-- 大转盘 --> | ||
| 22 | + <view class="weel-container"> | ||
| 23 | + <view> | ||
| 24 | + <lucky-wheel | ||
| 25 | + class="myLucky" | ||
| 26 | + id="myLucky" | ||
| 27 | + width="700rpx" | ||
| 28 | + height="700rpx" | ||
| 29 | + blocks="{{blocks}}" | ||
| 30 | + prizes="{{prizes}}" | ||
| 31 | + buttons="{{buttons}}" | ||
| 32 | + defaultConfig="{{defaultConfig}}" | ||
| 33 | + defaultStyle="{{defaultStyle}}" | ||
| 34 | + bindstart="start" | ||
| 35 | + bindend="end" | ||
| 36 | + hiddenCanvas="{{hiddenCanvas}}" | ||
| 37 | + /> | ||
| 38 | + </view> | ||
| 39 | + <view class="fs28 white t-c pdt10" wx:if="{{luckInfo.vip_act_num == 0}}">今天你有 <text class="fs50 c-yellow">不限次</text> 抽奖机会</view> | ||
| 40 | + <view class="fs28 white t-c pdt10" wx:else>今天你还有 <text class="fs50 c-yellow">{{filter.show_default(luckInfo.user_LuckNumDay, '0')}}</text> 次抽奖机会</view> | ||
| 41 | + <view class="tip-to-down expand-transition"> | ||
| 42 | + <text></text> | ||
| 43 | + <text></text> | ||
| 44 | + </view> | ||
| 45 | + </view> | ||
| 46 | + <!-- 奖品展示 --> | ||
| 47 | + <view wx:if="{{award}}"> | ||
| 48 | + <view class="badge-container"><image src="{{imghost + 'miniapp/images/luckDraw/badge.png'}}" class="badge prizes" lazy-load></image></view> | ||
| 49 | + <view class="list br12 bg-white"> | ||
| 50 | + <view class="list-item" wx:for="{{award}}"> | ||
| 51 | + <view class="img-container"> | ||
| 52 | + <image wx:if="{{item.luck_goods_img}}" src="{{imghost + item.luck_goods_img}}" class="img" mode="aspectFit"></image> | ||
| 53 | + <image src="{{imghost + tool.showDefaultImg(item.lbtype)}}" class="img" mode="aspectFit" wx:else></image> | ||
| 54 | + </view> | ||
| 55 | + <view class="item-r"> | ||
| 56 | + <view class="fs28">{{item.luck_goods_name}}</view> | ||
| 57 | + <view class="flex jc_sb fs26 c9"> | ||
| 58 | + <view>价值:<text class="rmb">{{item.luck_goods_price}}</text></view> | ||
| 59 | + <view>数量:{{item.num}}</view> | ||
| 60 | + </view> | ||
| 61 | + </view> | ||
| 62 | + </view> | ||
| 63 | + </view> | ||
| 64 | + </view> | ||
| 65 | + <!-- 活动展示 --> | ||
| 66 | + <view wx:if="{{luckInfo.remark}}"> | ||
| 67 | + <view class="badge-container"><image src="{{imghost + 'miniapp/images/luckDraw/badge.png'}}" class="badge activity" lazy-load></image></view> | ||
| 68 | + <view class="bg-white br12 pd20 fs28"> | ||
| 69 | + <!-- {{luckInfo.remark}} --> | ||
| 70 | + <import src="../../../../utils/wxParse/wxParse.wxml"/> | ||
| 71 | + <template is="wxParse" data="{{wxParseData:content.nodes}}"/> | ||
| 72 | + <!-- 时间 --> | ||
| 73 | + <!-- <view class="bdb"> | ||
| 74 | + <view class=""> | ||
| 75 | + <view class="txt-red">活动时间:</view> | ||
| 76 | + <view class="fs28 pdv20">187606546456</view> | ||
| 77 | + </view> | ||
| 78 | + <view> | ||
| 79 | + <view class="txt-red">兑换时间:</view> | ||
| 80 | + <view class="fs28 pdv20">-</view> | ||
| 81 | + </view> | ||
| 82 | + </view> --> | ||
| 83 | + <!-- 规则 --> | ||
| 84 | + <!-- <view class="bdb"> | ||
| 85 | + <view class="txt-red pdt20">活动规则:</view> | ||
| 86 | + <view class="fs28 pdv20">-</view> | ||
| 87 | + </view> --> | ||
| 88 | + <!-- 电话 --> | ||
| 89 | + <!-- <view class="bdb"> | ||
| 90 | + <view class="txt-red pdt20">联系电话:</view> | ||
| 91 | + <view class="fs28 pdv20">-</view> | ||
| 92 | + </view> --> | ||
| 93 | + <!-- 地址 --> | ||
| 94 | + <!-- <view> | ||
| 95 | + <view class="txt-red pdv20">门店兑换地址:</view> | ||
| 96 | + <view class="pdv20"> | ||
| 97 | + <view class="fs28">化妆门店2(芊婕化妆品)</view> | ||
| 98 | + <view class="pdt10 fs24">福建泉州市田安北路明鑫花苑110号</view> | ||
| 99 | + <view class="tel pdt10"> | ||
| 100 | + <text class="iconfont icon-tel"></text> | ||
| 101 | + <text class="text-underline">1380000000</text> | ||
| 102 | + </view> | ||
| 103 | + </view> | ||
| 104 | + <view class="pdv20"> | ||
| 105 | + <view class="fs28">化妆门店2(芊婕化妆品)</view> | ||
| 106 | + <view class="pdt10 fs24">福建泉州市田安北路明鑫花苑110号</view> | ||
| 107 | + <view class="tel pdt10"> | ||
| 108 | + <text class="iconfont icon-tel"></text> | ||
| 109 | + <text class="text-underline">1380000000</text> | ||
| 110 | + </view> | ||
| 111 | + </view> | ||
| 112 | + </view> --> | ||
| 113 | + </view> | ||
| 114 | + </view> | ||
| 115 | + <!-- 二维码 --> | ||
| 116 | + <!-- <view class="qrcode-container"> | ||
| 117 | + <image src="../../../images/luckDraw/badge.png" class="qrcode"></image> | ||
| 118 | + <view class="pdt20 fs24 c-7b"> | ||
| 119 | + <view>长按二维码关注我们订阅更多优惠</view> | ||
| 120 | + <view>信息更多优惠等你来拿哦</view> | ||
| 121 | + </view> | ||
| 122 | + </view> --> | ||
| 123 | + <!-- 技术支持 --> | ||
| 124 | + <view class="t-c"> | ||
| 125 | + <!-- <view class="pdt20 fs26 text-underline">帮美店免费开通这个玩法</view> --> | ||
| 126 | + <view class="flex ai_c fs24 jc-center pdv20 white"><image src="{{imghost + 'miniapp/images/luckDraw/logo.png'}}" class="logo" lazy-load></image>提供技术支持</view> | ||
| 127 | + </view> | ||
| 128 | +</view> | ||
| 129 | + | ||
| 130 | +<!-- 悬浮按钮 --> | ||
| 131 | +<view class="gift-container {{((record && record.length != 0) || isActive) ? 'active':''}}" bindtap="showPopup"><text class="iconfont icon-liwu"></text></view> | ||
| 132 | + | ||
| 133 | +<!-- 弹窗 --> | ||
| 134 | +<view class="popup-container" wx:if="{{showPopup}}"> | ||
| 135 | + <scroll-view class="popup-list" scroll-y bindscrolltolower="loadmore"> | ||
| 136 | + <view class="popup-item" wx:for="{{list.pageData}}"> | ||
| 137 | + <view class="img-container"> | ||
| 138 | + <image wx:if="{{item.luck_goods_img}}" src="{{imghost + item.luck_goods_img}}" class="img" mode="aspectFit"></image> | ||
| 139 | + <image wx:else src="{{imghost + tool.showDefaultImg(item.luck_type)}}" class="img" mode="aspectFit"></image> | ||
| 140 | + </view> | ||
| 141 | + <view class="flex fdc f1"> | ||
| 142 | + <view class="ellipsis-2 fs28">{{item.luck_name}}</view> | ||
| 143 | + <view class="pdt20"> | ||
| 144 | + <view class="fs26 xc-black3">价值:<text class="rmb">{{item.luck_goods_price}}</text></view> | ||
| 145 | + <view class="flex ai_c jc_fe fs26 xc-black3 "> | ||
| 146 | + <!-- <view style="visibility: {{item.luck_type == 5 ? 'visible':'hidden'}};">兑换状态:{{item.state == 0 ? '未兑换':'已兑换'}}</view> --> | ||
| 147 | + <!-- <view style="">兑换状态:{{item.state == 0 ? '未兑换':'已兑换'}}</view> --> | ||
| 148 | + <view class="btn" bindtap="{{item.luck_type == 5 ? (item.state == 0 ? 'showQr':''):'goto'}}" data-type="{{item.luck_type}}" data-id="{{item.id}}">{{item.luck_type == 5 ? (item.state == 1 ? '已兑换':'兑换'):'查看'}}</view> | ||
| 149 | + </view> | ||
| 150 | + </view> | ||
| 151 | + </view> | ||
| 152 | + </view> | ||
| 153 | + <nodata nodataContainer="t-c" wx:if="{{list.pageData.length == 0}}"></nodata> | ||
| 154 | + <view class="noMore" hidden="{{!noMore}}" wx:if="{{list.pageData.length !== 0}}">—— 已经到底了 ——</view> | ||
| 155 | + </scroll-view> | ||
| 156 | + <view class="close-container" bindtap="closePopup"><text class="iconfont icon-close"></text></view> | ||
| 157 | +</view> | ||
| 158 | + | ||
| 159 | + | ||
| 160 | +<view class="popup-container2" wx:if="{{showResult}}"> | ||
| 161 | + <view class="t-r"><text class="iconfont icon-close white" bindtap="closeResult"></text></view> | ||
| 162 | + <view class="popup"> | ||
| 163 | + <view class="t-c"> | ||
| 164 | + <block wx:if="{{resultTitle == '谢谢参与'}}"> | ||
| 165 | + <view class="bold c-tb fs40">{{luckInfo.no_luck_name}}</view> | ||
| 166 | + <view class="pdt10">{{luckInfo.no_luck_remark}}</view> | ||
| 167 | + <view class="img-container2"><image src="{{imghost + (luckInfo.no_luck_img ? luckInfo.no_luck_img:'miniapp/images/luckDraw/gift.png')}}" class="img" mode="aspectFit"></image></view> | ||
| 168 | + <view class="pdt40 fs26 c9" wx:if="{{luckInfo.no_luck_urltype == 1 && luckInfo.no_luck_weappurl}}">{{num}}s后自动跳转...</view> | ||
| 169 | + </block> | ||
| 170 | + <block wx:else> | ||
| 171 | + <view class="bold c-tb fs40">恭喜你获得</view> | ||
| 172 | + <view class="pdt10">{{resultTitle}} </view> | ||
| 173 | + <view class="img-container2"><image src="{{imghost + 'miniapp/images/luckDraw/gift.png'}}" class="img" mode="aspectFit"></image></view> | ||
| 174 | + </block> | ||
| 175 | + </view> | ||
| 176 | + | ||
| 177 | + <view class="pdt40" wx:if="{{currentLbtype == 5}}"> | ||
| 178 | + <view class="btn btn2" bindtap="clickReceive">立即领取</view> | ||
| 179 | + </view> | ||
| 180 | + <!-- <view class="note">注:未领取就关闭弹窗视为主动放弃奖品。</view> --> | ||
| 181 | + </view> | ||
| 182 | +</view> | ||
| 183 | + | ||
| 184 | + | ||
| 185 | +<!-- 遮罩层 --> | ||
| 186 | +<view class="mask" wx:if="{{showMask}}"></view> | ||
| 187 | + | ||
| 188 | +<qrcode id="qrcode" bind:close="closeQr"></qrcode> | ||
| 0 | \ No newline at end of file | 189 | \ No newline at end of file |
packageB/pages/luckactivity/luckinfo/luckinfo.wxss
0 → 100644
| 1 | +/* packageB//pages/luckactivity/index/index.wxss */ | ||
| 2 | + | ||
| 3 | +page { | ||
| 4 | + /* background-color: rgb(129, 2, 253); */ | ||
| 5 | +} | ||
| 6 | + | ||
| 7 | +page, | ||
| 8 | +.luck-container { | ||
| 9 | + /* height: 100%; */ | ||
| 10 | +} | ||
| 11 | + | ||
| 12 | + | ||
| 13 | + | ||
| 14 | +.luck-container { | ||
| 15 | + background-size: 100% auto !important; | ||
| 16 | + padding: 50% 20rpx 0; | ||
| 17 | +} | ||
| 18 | + | ||
| 19 | +.weel-container { | ||
| 20 | + padding-bottom: 80rpx; | ||
| 21 | +} | ||
| 22 | + | ||
| 23 | +.badge { | ||
| 24 | + display: block; | ||
| 25 | + width: 362rpx; | ||
| 26 | + height: 57rpx; | ||
| 27 | + margin: 30rpx auto; | ||
| 28 | + position: relative; | ||
| 29 | + font-size: 26rpx; | ||
| 30 | + color: white; | ||
| 31 | +} | ||
| 32 | + | ||
| 33 | +.badge::before { | ||
| 34 | + position: absolute; | ||
| 35 | + top: 50%; | ||
| 36 | + left: 50%; | ||
| 37 | + transform: translate(-50%, -50%); | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | +.badge.prizes::before { | ||
| 41 | + content: '奖品展示'; | ||
| 42 | +} | ||
| 43 | + | ||
| 44 | +.badge.activity::before { | ||
| 45 | + content: '活动展示'; | ||
| 46 | +} | ||
| 47 | + | ||
| 48 | +.prize-container { | ||
| 49 | + width: 62rpx; | ||
| 50 | + height: 64rpx; | ||
| 51 | + border: 2rpx solid #eeedf0; | ||
| 52 | +} | ||
| 53 | + | ||
| 54 | +.list { | ||
| 55 | + /* padding: 0 20rpx; */ | ||
| 56 | +} | ||
| 57 | + | ||
| 58 | +.list-item { | ||
| 59 | + display: flex; | ||
| 60 | + padding: 20rpx; | ||
| 61 | +} | ||
| 62 | + | ||
| 63 | +.list-item ~ .list-item { | ||
| 64 | + border-top: 2rpx solid #ebedf0; | ||
| 65 | +} | ||
| 66 | + | ||
| 67 | +.img-container { | ||
| 68 | + width: 140rpx; | ||
| 69 | + height: 140rpx; | ||
| 70 | + margin-right: 20rpx; | ||
| 71 | + background-color: #f5f5f5; | ||
| 72 | +} | ||
| 73 | + | ||
| 74 | +.img { | ||
| 75 | + display: block; | ||
| 76 | + width: 100%; | ||
| 77 | + height: 100%; | ||
| 78 | +} | ||
| 79 | + | ||
| 80 | +.item-r { | ||
| 81 | + display: flex; | ||
| 82 | + flex-direction: column; | ||
| 83 | + justify-content: space-between; | ||
| 84 | + flex: 1; | ||
| 85 | +} | ||
| 86 | + | ||
| 87 | +.tel { | ||
| 88 | + display: flex; | ||
| 89 | + align-items: center; | ||
| 90 | + color: #00a0e0; | ||
| 91 | + font-size: 28rpx; | ||
| 92 | +} | ||
| 93 | +.icon-tel { | ||
| 94 | + font-size: 28rpx; | ||
| 95 | + margin-right: 6rpx; | ||
| 96 | +} | ||
| 97 | + | ||
| 98 | +.qrcode-container { | ||
| 99 | + background-color: white; | ||
| 100 | + border-radius: 12rpx; | ||
| 101 | + margin-top: 40rpx; | ||
| 102 | + padding: 20rpx; | ||
| 103 | + text-align: center; | ||
| 104 | + /* display: block; | ||
| 105 | + width: 100%; | ||
| 106 | + height: 100%; */ | ||
| 107 | +} | ||
| 108 | + | ||
| 109 | +.qrcode { | ||
| 110 | + width: 200rpx; | ||
| 111 | + height: 200rpx; | ||
| 112 | + background-color: gray; | ||
| 113 | +} | ||
| 114 | + | ||
| 115 | +.logo { | ||
| 116 | + width: 120rpx; | ||
| 117 | + height: 40rpx; | ||
| 118 | + margin-right: 10rpx; | ||
| 119 | +} | ||
| 120 | + | ||
| 121 | +.gift-container { | ||
| 122 | + background-color: rgba(44, 44, 44, 0.2); | ||
| 123 | + width: 100rpx; | ||
| 124 | + height: 100rpx; | ||
| 125 | + border-radius: 50%; | ||
| 126 | + color: white; | ||
| 127 | + position: fixed; | ||
| 128 | + right: 20rpx; | ||
| 129 | + bottom: 20rpx; | ||
| 130 | + display: flex; | ||
| 131 | + justify-content: center; | ||
| 132 | + align-items: center; | ||
| 133 | + z-index: 1; | ||
| 134 | +} | ||
| 135 | + | ||
| 136 | +.gift-container.active::after { | ||
| 137 | + content: ''; | ||
| 138 | + position: absolute; | ||
| 139 | + width: 14rpx; | ||
| 140 | + height: 14rpx; | ||
| 141 | + background-color: #f74c31; | ||
| 142 | + border: 2rpx solid #fff; | ||
| 143 | + border-radius: 50%; | ||
| 144 | + top: 6rpx; | ||
| 145 | + right: 10rpx; | ||
| 146 | +} | ||
| 147 | + | ||
| 148 | +.icon-liwu { | ||
| 149 | + font-size: 40rpx; | ||
| 150 | +} | ||
| 151 | + | ||
| 152 | + | ||
| 153 | + | ||
| 154 | + | ||
| 155 | +.tip-to-down { | ||
| 156 | + position: relative; | ||
| 157 | + /* display: block; | ||
| 158 | + text-align: center; | ||
| 159 | + margin: auto; | ||
| 160 | + margin-top: .4rem; | ||
| 161 | + width: 6rem; | ||
| 162 | + z-index: 2; | ||
| 163 | + -webkit-transform: translate(0, -50%); */ | ||
| 164 | + transform: translate(0, -50%); | ||
| 165 | + /* color: #fff; | ||
| 166 | + font: normal 400 20px/1 'Josefin Sans', sans-serif; | ||
| 167 | + letter-spacing: .1em; | ||
| 168 | + text-decoration: none; | ||
| 169 | + -webkit-transition: opacity .3s; */ | ||
| 170 | + transition: opacity .3s; | ||
| 171 | +} | ||
| 172 | +.tip-to-down text { | ||
| 173 | + position: absolute; | ||
| 174 | + top: 0; | ||
| 175 | + left: 50%; | ||
| 176 | + width: 1rem; | ||
| 177 | + height: 1rem; | ||
| 178 | + margin-left: -12px; | ||
| 179 | + border-left: 1px solid #fff; | ||
| 180 | + border-bottom: 1px solid #fff; | ||
| 181 | + -webkit-transform: rotate(-45deg); | ||
| 182 | + transform: rotate(-45deg); | ||
| 183 | + -webkit-animation: sdb07 2s infinite; | ||
| 184 | + animation: sdb07 2s infinite; | ||
| 185 | + opacity: 0; | ||
| 186 | + box-sizing: border-box; | ||
| 187 | +} | ||
| 188 | +.tip-to-down text:nth-of-type(1) { | ||
| 189 | + -webkit-animation-delay: 0s; | ||
| 190 | + animation-delay: 0s; | ||
| 191 | +} | ||
| 192 | +.tip-to-down text:nth-of-type(2) { | ||
| 193 | + top: 16px; | ||
| 194 | + -webkit-animation-delay: .15s; | ||
| 195 | + animation-delay: .15s; | ||
| 196 | +} | ||
| 197 | + | ||
| 198 | +@-webkit-keyframes sdb07 { | ||
| 199 | + 0% { | ||
| 200 | + opacity: 0; | ||
| 201 | + } | ||
| 202 | + 50% { | ||
| 203 | + opacity: 1; | ||
| 204 | + } | ||
| 205 | + 100% { | ||
| 206 | + opacity: 0; | ||
| 207 | + } | ||
| 208 | +} | ||
| 209 | +@keyframes sdb07 { | ||
| 210 | + 0% { | ||
| 211 | + opacity: 0; | ||
| 212 | + } | ||
| 213 | + 50% { | ||
| 214 | + opacity: 1; | ||
| 215 | + } | ||
| 216 | + 100% { | ||
| 217 | + opacity: 0; | ||
| 218 | + } | ||
| 219 | +} | ||
| 220 | + | ||
| 221 | + | ||
| 222 | +.popup-container { | ||
| 223 | + position: fixed; | ||
| 224 | + width: 100%; | ||
| 225 | + bottom: 0; | ||
| 226 | + background-color: white; | ||
| 227 | + z-index: 1; | ||
| 228 | + padding: 0 20rpx; | ||
| 229 | + box-sizing: border-box; | ||
| 230 | + z-index: 998; | ||
| 231 | +} | ||
| 232 | + | ||
| 233 | +.popup-container .img-container { | ||
| 234 | + width: 140rpx; | ||
| 235 | + height: 140rpx; | ||
| 236 | + flex-shrink: 0; | ||
| 237 | +} | ||
| 238 | + | ||
| 239 | +.popup-list { | ||
| 240 | + max-height: 79vh; | ||
| 241 | + overflow: auto; | ||
| 242 | +} | ||
| 243 | + | ||
| 244 | +.popup-item { | ||
| 245 | + padding: 20rpx 0; | ||
| 246 | + display: flex; | ||
| 247 | + align-items: center; | ||
| 248 | + /* flex: 1; */ | ||
| 249 | +} | ||
| 250 | + | ||
| 251 | +.popup-item ~ .popup-item { | ||
| 252 | + border-top: 2rpx solid #ebedf0; | ||
| 253 | +} | ||
| 254 | + | ||
| 255 | +.rmb::before { | ||
| 256 | + content: '¥'; | ||
| 257 | + font-size: 24rpx; | ||
| 258 | +} | ||
| 259 | + | ||
| 260 | +.btn { | ||
| 261 | + color: #ff2d4b; | ||
| 262 | + border: 2rpx solid #ff2d4b; | ||
| 263 | + border-radius: 8rpx; | ||
| 264 | + padding: 6rpx 20rpx; | ||
| 265 | +} | ||
| 266 | + | ||
| 267 | +.btn2 { | ||
| 268 | + font-size: 26rpx; | ||
| 269 | + color: white; | ||
| 270 | + background-color: #ff2d4b; | ||
| 271 | + padding: 20rpx 40rpx; | ||
| 272 | + text-align: center; | ||
| 273 | +} | ||
| 274 | + | ||
| 275 | +.close-container { | ||
| 276 | + color: white; | ||
| 277 | + position: absolute; | ||
| 278 | + right: 20rpx; | ||
| 279 | + top: -80rpx; | ||
| 280 | +} | ||
| 281 | +.icon-close { | ||
| 282 | + font-size: 40rpx; | ||
| 283 | +} | ||
| 284 | + | ||
| 285 | +.close-container::after { | ||
| 286 | + content: ''; | ||
| 287 | + position: absolute; | ||
| 288 | + width: 2rpx; | ||
| 289 | + height: 40rpx; | ||
| 290 | + background-color: white; | ||
| 291 | + left: 50%; | ||
| 292 | + top: 42rpx; | ||
| 293 | + transform: translateX(-50%); | ||
| 294 | +} | ||
| 295 | + | ||
| 296 | + | ||
| 297 | + | ||
| 298 | + | ||
| 299 | + | ||
| 300 | + | ||
| 301 | + | ||
| 302 | +.br12 { | ||
| 303 | + border-radius: 12rpx; | ||
| 304 | +} | ||
| 305 | + | ||
| 306 | +.text-underline { | ||
| 307 | + text-decoration:underline; | ||
| 308 | +} | ||
| 309 | + | ||
| 310 | +.txt-red { | ||
| 311 | + color: #ff2d4b; | ||
| 312 | +} | ||
| 313 | + | ||
| 314 | +.bdb { | ||
| 315 | + border-bottom: 2rpx solid #ebedf0; | ||
| 316 | +} | ||
| 317 | + | ||
| 318 | +.c-yellow { | ||
| 319 | + color: yellow; | ||
| 320 | +} | ||
| 321 | + | ||
| 322 | + | ||
| 323 | + | ||
| 324 | + | ||
| 325 | +.mask { | ||
| 326 | + position: fixed; | ||
| 327 | + width: 100%; | ||
| 328 | + height: 100%; | ||
| 329 | + top: 0; | ||
| 330 | + background-color: rgba(0,0,0,.5); | ||
| 331 | + z-index: 1; | ||
| 332 | +} | ||
| 333 | + | ||
| 334 | + | ||
| 335 | +.popup-container2 { | ||
| 336 | + position: fixed; | ||
| 337 | + top: 50%; | ||
| 338 | + left: 50%; | ||
| 339 | + transform: translate(-50%, -50%); | ||
| 340 | + z-index: 999; | ||
| 341 | + width: 85%; | ||
| 342 | +} | ||
| 343 | + | ||
| 344 | +.popup { | ||
| 345 | + background-color: white; | ||
| 346 | + border-radius: 12rpx; | ||
| 347 | + padding: 60rpx; | ||
| 348 | + margin-top: 20rpx; | ||
| 349 | +} | ||
| 350 | + | ||
| 351 | +.block { | ||
| 352 | + display: block; | ||
| 353 | +} | ||
| 354 | + | ||
| 355 | +.img-container2 { | ||
| 356 | + width: 300rpx; | ||
| 357 | + height: 200rpx; | ||
| 358 | + margin: 60rpx auto 0; | ||
| 359 | +} | ||
| 360 | + | ||
| 361 | +.note { | ||
| 362 | + font-size: 24rpx; | ||
| 363 | + white-space: nowrap; | ||
| 364 | + color: #7b7b7b; | ||
| 365 | +} | ||
| 366 | + | ||
| 367 | +.c-tb { | ||
| 368 | + color: #ff6200; | ||
| 369 | +} | ||
| 370 | + | ||
| 371 | +.noMore { | ||
| 372 | + padding: 20rpx; | ||
| 373 | + color: #bbb; | ||
| 374 | + text-align: center; | ||
| 375 | + font-size: 22rpx; | ||
| 376 | +} | ||
| 377 | + | ||
| 378 | +.my-qrcode { | ||
| 379 | + /* background-color: red; */ | ||
| 380 | +} | ||
| 381 | + | ||
| 382 | +.swiper-container { | ||
| 383 | + position: absolute; | ||
| 384 | + top: 0; | ||
| 385 | + left: 0; | ||
| 386 | + padding: 20rpx 10rpx; | ||
| 387 | + width: 100%; | ||
| 388 | + box-sizing: border-box; | ||
| 389 | +} | ||
| 390 | + | ||
| 391 | +.swiper { | ||
| 392 | + height: 60rpx; | ||
| 393 | + color: white; | ||
| 394 | + font-size: 26rpx; | ||
| 395 | +} | ||
| 396 | + | ||
| 397 | +.swiper-item { | ||
| 398 | + /* width: auto !important; | ||
| 399 | + background-color: rgba(0,0,0,.4); | ||
| 400 | + border-radius: 60rpx; */ | ||
| 401 | + position: relative; | ||
| 402 | +} | ||
| 403 | + | ||
| 404 | +.item { | ||
| 405 | + position: absolute; | ||
| 406 | + display: flex; | ||
| 407 | + align-items: center; | ||
| 408 | + border-radius: 60rpx; | ||
| 409 | + background-color: rgba(0,0,0,.4); | ||
| 410 | +} | ||
| 411 | + | ||
| 412 | +.avatar-container { | ||
| 413 | + width: 60rpx; | ||
| 414 | + height: 60rpx; | ||
| 415 | + border-radius: 50%; | ||
| 416 | + overflow: hidden; | ||
| 417 | + flex-shrink: 0; | ||
| 418 | +} | ||
| 419 | + | ||
| 420 | +.img-block { | ||
| 421 | + width: 100%; | ||
| 422 | + height: 100%; | ||
| 423 | + display: block; | ||
| 424 | +} | ||
| 425 | + | ||
| 426 | +.nickname { | ||
| 427 | + color: #FFE12F; | ||
| 428 | + padding: 0 10rpx; | ||
| 429 | +} | ||
| 430 | + |
packageB/pages/luckactivity/luckinfo/tool.wxs
0 → 100644
| 1 | +var tools = { | ||
| 2 | + showDefaultImg: function(type) { | ||
| 3 | + var src = ''; | ||
| 4 | + switch(type) { | ||
| 5 | + case 1: { //积分 | ||
| 6 | + src = 'miniapp/images/luckDraw/jf.png'; | ||
| 7 | + break; | ||
| 8 | + }; | ||
| 9 | + case 2: { //成长值 | ||
| 10 | + src = 'miniapp/images/luckDraw/czz.png'; | ||
| 11 | + break; | ||
| 12 | + }; | ||
| 13 | + case 3: { //优惠券 | ||
| 14 | + src = 'miniapp/images/luckDraw/yhq.png'; | ||
| 15 | + break; | ||
| 16 | + }; | ||
| 17 | + case 4: { //服务项目 | ||
| 18 | + src = 'miniapp/images/luckDraw/fw.png'; | ||
| 19 | + break; | ||
| 20 | + }; | ||
| 21 | + case 5: { //赠品 | ||
| 22 | + src = 'miniapp/images/luckDraw/zp.png'; | ||
| 23 | + break; | ||
| 24 | + }; | ||
| 25 | + case 6: { //礼包 | ||
| 26 | + src = 'miniapp/images/luckDraw/lb.png'; | ||
| 27 | + break; | ||
| 28 | + }; | ||
| 29 | + }; | ||
| 30 | + return src; | ||
| 31 | + }, | ||
| 32 | +}; | ||
| 33 | + | ||
| 34 | +module.exports = { | ||
| 35 | + showDefaultImg: tools.showDefaultImg, | ||
| 36 | +} | ||
| 0 | \ No newline at end of file | 37 | \ No newline at end of file |
pages/user/Change_phone/Change_phone.js renamed to packageB/pages/user/Change_phone/Change_phone.js
| @@ -2,8 +2,8 @@ var a = getApp(), | @@ -2,8 +2,8 @@ var a = getApp(), | ||
| 2 | o = a.globalData, | 2 | o = a.globalData, |
| 3 | r = a.globalData.setting, | 3 | r = a.globalData.setting, |
| 4 | t = a.request, | 4 | t = a.request, |
| 5 | - s = require("../../../utils/common.js"), | ||
| 6 | - util = require("../../../utils/util.js"); | 5 | + s = require("../../../../utils/common.js"), |
| 6 | + util = require("../../../../utils/util.js"); | ||
| 7 | Page({ | 7 | Page({ |
| 8 | 8 | ||
| 9 | /** | 9 | /** |
pages/user/Change_phone/Change_phone.json renamed to packageB/pages/user/Change_phone/Change_phone.json
pages/user/Change_phone/Change_phone.wxml renamed to packageB/pages/user/Change_phone/Change_phone.wxml
pages/user/Change_phone/Change_phone.wxss renamed to packageB/pages/user/Change_phone/Change_phone.wxss
packageB/pages/user/collect_list/collect_list.wxml
| @@ -5,7 +5,7 @@ | @@ -5,7 +5,7 @@ | ||
| 5 | </view> | 5 | </view> |
| 6 | <view class="flex-level fs30 xc-ash">当前暂无收藏</view> | 6 | <view class="flex-level fs30 xc-ash">当前暂无收藏</view> |
| 7 | <view class="flex-level"> | 7 | <view class="flex-level"> |
| 8 | - <navigator url="/pages/index/index/index" bindtap="goto"> | 8 | + <navigator bindtap="go_to" data-url="/pages/index/index/index" bindtap="goto"> |
| 9 | <view class="flex-center fs28 white">去首页逛逛</view> | 9 | <view class="flex-center fs28 white">去首页逛逛</view> |
| 10 | </navigator> | 10 | </navigator> |
| 11 | </view> | 11 | </view> |
packageB/pages/user/comment/comment.js
| @@ -154,5 +154,9 @@ Page({ | @@ -154,5 +154,9 @@ Page({ | ||
| 154 | url: '/pages/index/index/index', | 154 | url: '/pages/index/index/index', |
| 155 | }) | 155 | }) |
| 156 | }, | 156 | }, |
| 157 | + go_url(e){ | ||
| 158 | + var url=e.currentTarget.dataset.url; | ||
| 159 | + getApp().goto(url); | ||
| 160 | + } | ||
| 157 | 161 | ||
| 158 | }); | 162 | }); |
| 159 | \ No newline at end of file | 163 | \ No newline at end of file |
packageB/pages/user/comment/comment.wxml
| @@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
| 14 | </view> | 14 | </view> |
| 15 | <view class="flex-level fs30 xc-ash">当前暂无评价</view> | 15 | <view class="flex-level fs30 xc-ash">当前暂无评价</view> |
| 16 | <view class="flex-level"> | 16 | <view class="flex-level"> |
| 17 | - <navigator url="/pages/index/index/index" bindtap="goto"> | 17 | + <navigator bindtap="go_url" data-url="/pages/index/index/index"> |
| 18 | <view class="flex-center fs28 white">去首页逛逛</view> | 18 | <view class="flex-center fs28 white">去首页逛逛</view> |
| 19 | </navigator> | 19 | </navigator> |
| 20 | </view> | 20 | </view> |
pages/cart/cart/cart.js
| @@ -2066,5 +2066,10 @@ Page({ | @@ -2066,5 +2066,10 @@ Page({ | ||
| 2066 | if (hei< viewHeight) { | 2066 | if (hei< viewHeight) { |
| 2067 | this.setData({ max_sw_height: viewHeight }); | 2067 | this.setData({ max_sw_height: viewHeight }); |
| 2068 | } | 2068 | } |
| 2069 | - } | 2069 | + }, |
| 2070 | + | ||
| 2071 | + go_url(e){ | ||
| 2072 | + var url=e.currentTarget.dataset.url; | ||
| 2073 | + getApp().goto(url); | ||
| 2074 | + } | ||
| 2070 | }); | 2075 | }); |
| 2071 | \ No newline at end of file | 2076 | \ No newline at end of file |
pages/cart/cart/cart.wxml
| @@ -114,7 +114,7 @@ | @@ -114,7 +114,7 @@ | ||
| 114 | 114 | ||
| 115 | </view> | 115 | </view> |
| 116 | <view class="count"> | 116 | <view class="count"> |
| 117 | - <view bindtap="subNum" class="sub fs28" data-pitems="{{pidx}}" data-item="{{idx}}">一</view> | 117 | + <view bindtap="{{items.goods_num <= 1 ? '':'subNum'}}" class="sub fs28 {{items.goods_num <= 1 ? 'active':''}}" data-pitems="{{pidx}}" data-item="{{idx}}">一</view> |
| 118 | <input class="goodadd" bindblur="valueToNum" data-pitems="{{pidx}}" data-item="{{idx}}" | 118 | <input class="goodadd" bindblur="valueToNum" data-pitems="{{pidx}}" data-item="{{idx}}" |
| 119 | bindinput="refresh_input" | 119 | bindinput="refresh_input" |
| 120 | type="number" value="{{items.goods_num}}"></input> | 120 | type="number" value="{{items.goods_num}}"></input> |
| @@ -252,7 +252,7 @@ | @@ -252,7 +252,7 @@ | ||
| 252 | </view> | 252 | </view> |
| 253 | <view class="flex-level fs32 xc-ash">购物车竟然是空的</view> | 253 | <view class="flex-level fs32 xc-ash">购物车竟然是空的</view> |
| 254 | <view class="flex-level"> | 254 | <view class="flex-level"> |
| 255 | - <navigator url="/pages/index/index/index" bindtap="goto"> | 255 | + <navigator bindtap="go_url" data-url="/pages/index/index/index" bindtap="goto"> |
| 256 | <view class="flex-center fs30 white">去首页逛逛</view> | 256 | <view class="flex-center fs30 white">去首页逛逛</view> |
| 257 | </navigator> | 257 | </navigator> |
| 258 | </view> | 258 | </view> |
pages/cart/cart/cart.wxss
| @@ -104,7 +104,7 @@ radio { | @@ -104,7 +104,7 @@ radio { | ||
| 104 | .count { | 104 | .count { |
| 105 | display: flex; | 105 | display: flex; |
| 106 | bottom: 5rpx; | 106 | bottom: 5rpx; |
| 107 | - border: 2rpx solid rgb(236, 236, 236); | 107 | + /* border: 2rpx solid rgb(236, 236, 236); */ |
| 108 | margin-bottom: 3rpx; | 108 | margin-bottom: 3rpx; |
| 109 | } | 109 | } |
| 110 | 110 | ||
| @@ -129,12 +129,23 @@ radio { | @@ -129,12 +129,23 @@ radio { | ||
| 129 | font-size: 32rpx; | 129 | font-size: 32rpx; |
| 130 | } | 130 | } |
| 131 | 131 | ||
| 132 | -.sub { | ||
| 133 | - border-right: 2rpx solid rgb(236, 236, 236); | 132 | +.sub, .add, .count>input { |
| 133 | + /* border-right: 1px solid #000; */ | ||
| 134 | + background-color: #f8f8f8; | ||
| 135 | + border-radius: 8rpx; | ||
| 136 | +} | ||
| 137 | +.sub.active { | ||
| 138 | + /* background-color: #ddd; */ | ||
| 139 | + color: #ccc; | ||
| 140 | +} | ||
| 141 | +.count>input { | ||
| 142 | + margin: 0 10rpx; | ||
| 143 | + line-height: normal; | ||
| 134 | } | 144 | } |
| 135 | 145 | ||
| 136 | .add { | 146 | .add { |
| 137 | - border-left: 2rpx solid rgb(236, 236, 236); | 147 | + /* background-color: #f8f8f8; */ |
| 148 | + /* border-left: 1px solid #000; */ | ||
| 138 | } | 149 | } |
| 139 | 150 | ||
| 140 | .pay-for { | 151 | .pay-for { |
| @@ -362,3 +373,8 @@ page { | @@ -362,3 +373,8 @@ page { | ||
| 362 | padding: 0; | 373 | padding: 0; |
| 363 | vertical-align: top; | 374 | vertical-align: top; |
| 364 | } | 375 | } |
| 376 | + | ||
| 377 | +.sub.active { | ||
| 378 | + /* background-color: #ddd; */ | ||
| 379 | + color: #ccc; | ||
| 380 | +} |
pages/cart/cart2/c_filter.wxs
pages/cart/cart2/cart2.js
| @@ -108,14 +108,17 @@ Page({ | @@ -108,14 +108,17 @@ Page({ | ||
| 108 | order_prom_list_cart:null, | 108 | order_prom_list_cart:null, |
| 109 | 109 | ||
| 110 | ispt_goods:0, //是否平摊至单品,0要平摊 1不平摊 | 110 | ispt_goods:0, //是否平摊至单品,0要平摊 1不平摊 |
| 111 | - rank_switch:0, //是不是开同等级卡 | ||
| 112 | - show_card:null, //显示的等级卡 | ||
| 113 | - card_name:'', //显示的卡的名称 | ||
| 114 | - card_cut_price:null,//减价多少钱 | ||
| 115 | - | ||
| 116 | - show_submit:0, //提交按钮变正常显示 | ||
| 117 | - is_get_offline:1, | 111 | + |
| 112 | + rank_switch:0, //是不是开同等级卡 | ||
| 113 | + show_card:null, //显示的等级卡 | ||
| 114 | + card_name:'', //显示的卡的名称 | ||
| 115 | + card_cut_price:null,//减价多少钱 | ||
| 116 | + | ||
| 117 | + show_submit:0, //提交按钮变正常显示 | ||
| 118 | + is_get_offline:1, | ||
| 118 | 119 | ||
| 120 | + tabs: ['门店自提','快递邮寄'], | ||
| 121 | + currentTabIndex: 1, | ||
| 119 | }, | 122 | }, |
| 120 | onLoad: function(t) { | 123 | onLoad: function(t) { |
| 121 | wx.setNavigationBarTitle({ title: "填写订单",}) | 124 | wx.setNavigationBarTitle({ title: "填写订单",}) |
| @@ -223,8 +226,10 @@ Page({ | @@ -223,8 +226,10 @@ Page({ | ||
| 223 | getApp().getConfig2(function (ee) { | 226 | getApp().getConfig2(function (ee) { |
| 224 | var json_d = JSON.parse(ee.switch_list); | 227 | var json_d = JSON.parse(ee.switch_list); |
| 225 | th.data.json_d=json_d; | 228 | th.data.json_d=json_d; |
| 226 | - th.data.ispt_goods=json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 | ||
| 227 | - th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules,rank_switch:json_d.rank_switch}); | 229 | + th.data.ispt_goods=json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 |
| 230 | + var is_default_logistics=json_d.is_default_logistics; | ||
| 231 | + | ||
| 232 | + th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules,rank_switch:json_d.rank_switch,is_default_logistics:is_default_logistics}); | ||
| 228 | 233 | ||
| 229 | var rank_switch=json_d.rank_switch; | 234 | var rank_switch=json_d.rank_switch; |
| 230 | var max_price=-1; | 235 | var max_price=-1; |
| @@ -276,8 +281,15 @@ Page({ | @@ -276,8 +281,15 @@ Page({ | ||
| 276 | //-------------------获取物流--------------- | 281 | //-------------------获取物流--------------- |
| 277 | get_wuliu(func) { | 282 | get_wuliu(func) { |
| 278 | var th = this; | 283 | var th = this; |
| 279 | - to.getwuliu(function (e) { | ||
| 280 | - th.setData({ wu_arr: e }) | 284 | + to.getwuliu(function (e) { |
| 285 | + //系统是是否开启了默认的物流 | ||
| 286 | + if(th.data.is_default_logistics){ | ||
| 287 | + //如果第一个不是开启默认,说明要让用户自己选 | ||
| 288 | + if(!e[0].is_default){ | ||
| 289 | + th.setData({is_default_logistics:0}); | ||
| 290 | + } | ||
| 291 | + } | ||
| 292 | + th.setData({ wu_arr: e }) | ||
| 281 | typeof func == "function" && func(); | 293 | typeof func == "function" && func(); |
| 282 | }) | 294 | }) |
| 283 | }, | 295 | }, |
| @@ -489,9 +501,9 @@ Page({ | @@ -489,9 +501,9 @@ Page({ | ||
| 489 | 501 | ||
| 490 | var narr = new Array(); narr.push(item); | 502 | var narr = new Array(); narr.push(item); |
| 491 | 503 | ||
| 492 | - //-----------拼装购物车结算的数组,如果有默认物流时要用默认物流编号----------------- | 504 | + //-----------拼装购物车结算的数组,如果有默认物流时要用默认物流编号,计算默认的物流,不管是不是自提都算一下----------------- |
| 493 | var m_wind=0,def_exp_code=getApp().globalData.userInfo.def_exp_code; | 505 | var m_wind=0,def_exp_code=getApp().globalData.userInfo.def_exp_code; |
| 494 | - if(e_t==0 && def_exp_code){ | 506 | + if(def_exp_code){ |
| 495 | for(var k=0;k<th.data.wu_arr.length;k++){ | 507 | for(var k=0;k<th.data.wu_arr.length;k++){ |
| 496 | var item=th.data.wu_arr[k]; if(def_exp_code==item.code){ m_wind=k; } | 508 | var item=th.data.wu_arr[k]; if(def_exp_code==item.code){ m_wind=k; } |
| 497 | } | 509 | } |
| @@ -571,6 +583,8 @@ Page({ | @@ -571,6 +583,8 @@ Page({ | ||
| 571 | a.get("/api/weshop/goods/get/" + oo.stoid+"/"+e, { | 583 | a.get("/api/weshop/goods/get/" + oo.stoid+"/"+e, { |
| 572 | success:async function (t) { | 584 | success:async function (t) { |
| 573 | var gd = t.data.data; | 585 | var gd = t.data.data; |
| 586 | + if(!gd) return false; | ||
| 587 | + | ||
| 574 | t.data.data.original_img = oo.imghost + t.data.data.original_img; | 588 | t.data.data.original_img = oo.imghost + t.data.data.original_img; |
| 575 | t.data.data['buynum'] = gg.goods_num; | 589 | t.data.data['buynum'] = gg.goods_num; |
| 576 | var distr_t=0,et=0 | 590 | var distr_t=0,et=0 |
| @@ -734,7 +748,13 @@ Page({ | @@ -734,7 +748,13 @@ Page({ | ||
| 734 | distr_t=dis_t; | 748 | distr_t=dis_t; |
| 735 | } | 749 | } |
| 736 | } | 750 | } |
| 737 | - | 751 | + |
| 752 | + //自选的时候,系统配置了默认的配送方式是物流的时候 | ||
| 753 | + if(distr_t==0 && th.data.json_d.pickupway && th.data.json_d.pickupway==1 ){ | ||
| 754 | + et=0; | ||
| 755 | + } | ||
| 756 | + | ||
| 757 | + | ||
| 738 | var ie = { | 758 | var ie = { |
| 739 | pickup_id: gg.pick_id, pname: gg.pick_name, goods: narr, exp_type: et, wind: m_wind, distr_t: distr_t,bn_t_exp_t: distr_t, | 759 | pickup_id: gg.pick_id, pname: gg.pick_name, goods: narr, exp_type: et, wind: m_wind, distr_t: distr_t,bn_t_exp_t: distr_t, |
| 740 | goods_price: 0, shipping_price: 0, user_money: 0, total_amount: 0, order_amount: 0, user_note:0}; | 760 | goods_price: 0, shipping_price: 0, user_money: 0, total_amount: 0, order_amount: 0, user_note:0}; |
| @@ -1624,6 +1644,10 @@ Page({ | @@ -1624,6 +1644,10 @@ Page({ | ||
| 1624 | 1644 | ||
| 1625 | total_m= parseFloat( total_m)+ parseFloat( th.data.formData.shipping_price); | 1645 | total_m= parseFloat( total_m)+ parseFloat( th.data.formData.shipping_price); |
| 1626 | order_m = parseFloat(order_m)+ parseFloat( th.data.formData.shipping_price); | 1646 | order_m = parseFloat(order_m)+ parseFloat( th.data.formData.shipping_price); |
| 1647 | + | ||
| 1648 | + total_m=total_m.toFixed(2); | ||
| 1649 | + order_m=order_m.toFixed(2); | ||
| 1650 | + | ||
| 1627 | var atxt= "formData.total_amount"; | 1651 | var atxt= "formData.total_amount"; |
| 1628 | th.setData({ [atxt]: total_m, }) | 1652 | th.setData({ [atxt]: total_m, }) |
| 1629 | 1653 | ||
| @@ -1634,10 +1658,10 @@ Page({ | @@ -1634,10 +1658,10 @@ Page({ | ||
| 1634 | //--------------如果使用余额--------------------- | 1658 | //--------------如果使用余额--------------------- |
| 1635 | if (th.data.bn_use_money == 1) { | 1659 | if (th.data.bn_use_money == 1) { |
| 1636 | if (amoney> order_m) { | 1660 | if (amoney> order_m) { |
| 1637 | - order_m = order_m.toFixed(2); | 1661 | + order_m = parseFloat(order_m).toFixed(2); |
| 1638 | th.setData({ [txt]: order_m, [txt2]:0,[txt3]:coupon_price,show_submit:1 }) | 1662 | th.setData({ [txt]: order_m, [txt2]:0,[txt3]:coupon_price,show_submit:1 }) |
| 1639 | }else{ | 1663 | }else{ |
| 1640 | - order_m =parseFloat(order_m - amoney); | 1664 | + order_m =parseFloat(order_m) - parseFloat(amoney); |
| 1641 | order_m = order_m.toFixed(2); | 1665 | order_m = order_m.toFixed(2); |
| 1642 | th.setData({ [txt]: amoney, [txt2]: order_m,[txt3]:coupon_price,show_submit:1 }) | 1666 | th.setData({ [txt]: amoney, [txt2]: order_m,[txt3]:coupon_price,show_submit:1 }) |
| 1643 | } | 1667 | } |
| @@ -1672,6 +1696,10 @@ Page({ | @@ -1672,6 +1696,10 @@ Page({ | ||
| 1672 | total_m= parseFloat( total_m)+ parseFloat( th.data.formData.shipping_price); | 1696 | total_m= parseFloat( total_m)+ parseFloat( th.data.formData.shipping_price); |
| 1673 | order_m = parseFloat(order_m)+ parseFloat( th.data.formData.shipping_price); | 1697 | order_m = parseFloat(order_m)+ parseFloat( th.data.formData.shipping_price); |
| 1674 | var atxt= "formData.total_amount"; | 1698 | var atxt= "formData.total_amount"; |
| 1699 | + | ||
| 1700 | + total_m=total_m.toFixed(2); | ||
| 1701 | + order_m=order_m.toFixed(2); | ||
| 1702 | + | ||
| 1675 | th.setData({ [atxt]: total_m, }) | 1703 | th.setData({ [atxt]: total_m, }) |
| 1676 | 1704 | ||
| 1677 | var txt = "formData.user_money"; | 1705 | var txt = "formData.user_money"; |
| @@ -1681,10 +1709,10 @@ Page({ | @@ -1681,10 +1709,10 @@ Page({ | ||
| 1681 | //--------------如果使用余额--------------------- | 1709 | //--------------如果使用余额--------------------- |
| 1682 | if (th.data.bn_use_money == 1) { | 1710 | if (th.data.bn_use_money == 1) { |
| 1683 | if (amoney> order_m) { | 1711 | if (amoney> order_m) { |
| 1684 | - order_m = order_m.toFixed(2); | 1712 | + order_m = parseFloat(order_m).toFixed(2); |
| 1685 | th.setData({ [txt]: order_m, [txt2]:0,[txt3]:coupon_price,show_submit:1 }) | 1713 | th.setData({ [txt]: order_m, [txt2]:0,[txt3]:coupon_price,show_submit:1 }) |
| 1686 | }else{ | 1714 | }else{ |
| 1687 | - order_m =parseFloat(order_m - amoney); | 1715 | + order_m =parseFloat(order_m) - parseFloat(amoney); |
| 1688 | order_m = order_m.toFixed(2); | 1716 | order_m = order_m.toFixed(2); |
| 1689 | th.setData({ [txt]: amoney, [txt2]: order_m,[txt3]:coupon_price,show_submit:1 }) | 1717 | th.setData({ [txt]: amoney, [txt2]: order_m,[txt3]:coupon_price,show_submit:1 }) |
| 1690 | } | 1718 | } |
| @@ -1868,7 +1896,10 @@ Page({ | @@ -1868,7 +1896,10 @@ Page({ | ||
| 1868 | 1896 | ||
| 1869 | //积分购,先要带is_integral_normal=1 | 1897 | //积分购,先要带is_integral_normal=1 |
| 1870 | if(gg.is_integral_normal) goods.is_integral_normal=1; | 1898 | if(gg.is_integral_normal) goods.is_integral_normal=1; |
| 1871 | - | 1899 | + |
| 1900 | + //先要带is_pd_normal=1 | ||
| 1901 | + if(gg.is_pd_normal) goods.is_pd_normal=1; | ||
| 1902 | + | ||
| 1872 | //如果不立即购买或者秒杀,如果是线下库存购买的时候 | 1903 | //如果不立即购买或者秒杀,如果是线下库存购买的时候 |
| 1873 | if(goods.prom_type!=1 && goods.prom_type!=6 && th.data.sales_rules==2){ | 1904 | if(goods.prom_type!=1 && goods.prom_type!=6 && th.data.sales_rules==2){ |
| 1874 | var isok=1; | 1905 | var isok=1; |
| @@ -3423,7 +3454,9 @@ Page({ | @@ -3423,7 +3454,9 @@ Page({ | ||
| 3423 | //是不是线下 | 3454 | //是不是线下 |
| 3424 | var is_get_offline=item.is_offline; | 3455 | var is_get_offline=item.is_offline; |
| 3425 | this.setData({pop_offline_index:index,is_offline_show:1,show_off_price:off_price.toFixed(2),is_get_offline:is_get_offline}); | 3456 | this.setData({pop_offline_index:index,is_offline_show:1,show_off_price:off_price.toFixed(2),is_get_offline:is_get_offline}); |
| 3426 | - } | 3457 | + }, |
| 3458 | + | ||
| 3459 | + | ||
| 3427 | 3460 | ||
| 3428 | 3461 | ||
| 3429 | 3462 |
pages/cart/cart2/cart2.wxml
| @@ -4,18 +4,52 @@ | @@ -4,18 +4,52 @@ | ||
| 4 | 4 | ||
| 5 | <form bindsubmit="submitForm"> | 5 | <form bindsubmit="submitForm"> |
| 6 | <view class="container"> | 6 | <view class="container"> |
| 7 | + | ||
| 8 | + <!-- 立即购买的时候 --> | ||
| 9 | + <block wx:if="{{is_b_now==1}}"> | ||
| 10 | + <view class="tab-container"> | ||
| 11 | + <view class="tab-wrapper"> | ||
| 12 | + <view hidden="{{bn_t_exp_t==2}}" bindtap='setexptype' data-t='1' class="tab {{bn_exp_type == 1? 'active':''}}" | ||
| 13 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >门店自提</view> | ||
| 14 | + | ||
| 15 | + <view hidden="{{bn_t_exp_t==1}}" bindtap='setexptype' data-t='0' class="tab {{bn_exp_type== 0 ? 'active':''}}" | ||
| 16 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >快递邮寄</view> | ||
| 17 | + | ||
| 18 | + </view> | ||
| 19 | + </view> | ||
| 20 | + </block> | ||
| 21 | + <!-- 购物购买只有一单的时候 --> | ||
| 22 | + <block wx:if="{{is_b_now==0 && cartlist.length==1}}"> | ||
| 23 | + <view class="tab-container"> | ||
| 24 | + <view class="tab-wrapper"> | ||
| 25 | + <view hidden="{{cartlist[0].distr_t==2}}" bindtap='setexptype_w' data-ind="0" data-t='1' class="tab {{cartlist[0].exp_type == 1? 'active':''}}" | ||
| 26 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >门店自提</view> | ||
| 27 | + | ||
| 28 | + <view hidden="{{cartlist[0].distr_t==1}}" bindtap='setexptype_w' data-ind="0" data-t='0' class="tab {{cartlist[0].exp_type== 0 ? 'active':''}}" | ||
| 29 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >快递邮寄</view> | ||
| 30 | + | ||
| 31 | + </view> | ||
| 32 | + </view> | ||
| 33 | + </block> | ||
| 34 | + | ||
| 35 | + | ||
| 7 | <!--要进行判断地址是否显示----> | 36 | <!--要进行判断地址是否显示----> |
| 8 | <view bindtap="enterAddressPage" class="user-mes mgt20" hidden='{{(bn_exp_type==1 && is_b_now==1) || (is_all_zt==1 && is_b_now==0)}}'> | 37 | <view bindtap="enterAddressPage" class="user-mes mgt20" hidden='{{(bn_exp_type==1 && is_b_now==1) || (is_all_zt==1 && is_b_now==0)}}'> |
| 9 | <!---默认地址显示------> | 38 | <!---默认地址显示------> |
| 10 | <block wx:if="{{user_addr!=null}}"> | 39 | <block wx:if="{{user_addr!=null}}"> |
| 11 | 40 | ||
| 12 | <view class="user-contact"> | 41 | <view class="user-contact"> |
| 13 | - <text>收货人:</text>{{user_addr.consignee}}{{' '}}{{user_addr.mobile}}</view> | 42 | + <text class="bold fs36 pdr20">{{user_addr.consignee}}</text> |
| 43 | + <text class="fs28">{{user_addr.mobile}}</text> | ||
| 44 | + </view> | ||
| 14 | <view class="location"> | 45 | <view class="location"> |
| 15 | - <view class="address">{{user_addr.more_address}}{{' '}}{{user_addr.address}}</view> | ||
| 16 | - <view class="pos-icon"> | ||
| 17 | - <image class="wh100 bdr14" src="{{imgUrl}}/miniapp/images/goodscategory/new_position.png"></image> | 46 | + <view class="address fs26 pdt20"> |
| 47 | + <view class="pos-icon"> | ||
| 48 | + <image class="wh100 bdr14" src="{{imgUrl}}/miniapp/images/goodscategory/new_position.png"></image> | ||
| 49 | + </view> | ||
| 50 | + {{user_addr.more_address}}{{' '}}{{user_addr.address}} | ||
| 18 | </view> | 51 | </view> |
| 52 | + | ||
| 19 | </view> | 53 | </view> |
| 20 | <view class="update-logistics"> | 54 | <view class="update-logistics"> |
| 21 | <!-- <image class="arrow-rigth" src="{{imgUrl}}/miniapp/images/new_position.png"></image> --> | 55 | <!-- <image class="arrow-rigth" src="{{imgUrl}}/miniapp/images/new_position.png"></image> --> |
| @@ -33,7 +67,7 @@ | @@ -33,7 +67,7 @@ | ||
| 33 | </view> --> | 67 | </view> --> |
| 34 | </view> | 68 | </view> |
| 35 | 69 | ||
| 36 | - <!---------------------购物车进来,有可能多单----------------------> | 70 | + <!-- -------------------购物车进来,有可能多单-------------------- --> |
| 37 | <block wx:if="{{is_b_now==0}}"> | 71 | <block wx:if="{{is_b_now==0}}"> |
| 38 | <!-- <view class="xc-border main-top"></view> --> | 72 | <!-- <view class="xc-border main-top"></view> --> |
| 39 | <view wx:for="{{cartlist}}" wx:for-index="pidx"> | 73 | <view wx:for="{{cartlist}}" wx:for-index="pidx"> |
| @@ -112,13 +146,14 @@ | @@ -112,13 +146,14 @@ | ||
| 112 | <icon color="#f23030" size="16" type="info"></icon> | 146 | <icon color="#f23030" size="16" type="info"></icon> |
| 113 | {{order.store_prom}} | 147 | {{order.store_prom}} |
| 114 | </view> | 148 | </view> |
| 115 | - <view class="use-item flex-space-between"> | ||
| 116 | - <view class="flex-vertical"> | ||
| 117 | - <view bindtap='setexptype_w' data-ind="{{pidx}}" data-t='1' data-txt='cartlist[{{pidx}}].exp_type' style="padding-right:26rpx;display:{{item.distr_t==2?'none':'flex;align-items: center'}};"> | 149 | + |
| 150 | + <!-- 当是物流很多单的时候 --> | ||
| 151 | + <view class="use-item flex-space-between" wx:if="{{cartlist.length>1}}"> | ||
| 152 | + <view class="flex-vertical" > | ||
| 153 | + <view bindtap='setexptype_w' data-ind="{{pidx}}" data-t='1' data-txt='cartlist[{{pidx}}].exp_type' | ||
| 154 | + style="padding-right:26rpx;display:{{item.distr_t==2?'none':'flex;align-items: center'}};"> | ||
| 118 | <!-- <icon bindtap='setexptype_w' data-t='1' data-txt='cartlist[{{pidx}}].exp_type' color="{{item.exp_type==1?'red':'gray'}}" size="16" type="success"></icon> --> | 155 | <!-- <icon bindtap='setexptype_w' data-t='1' data-txt='cartlist[{{pidx}}].exp_type' color="{{item.exp_type==1?'red':'gray'}}" size="16" type="success"></icon> --> |
| 119 | - | ||
| 120 | - | ||
| 121 | - | 156 | + |
| 122 | <block wx:if="{{item.exp_type==1}}"> | 157 | <block wx:if="{{item.exp_type==1}}"> |
| 123 | <!-- <view class="circle white xc-hookt fs20 red-b sn"><text>Γ</text></view> --> | 158 | <!-- <view class="circle white xc-hookt fs20 red-b sn"><text>Γ</text></view> --> |
| 124 | <icon data-t='0' data-txt='cartlist[{{pidx}}].exp_type' color="red" size="16" type="success"></icon> | 159 | <icon data-t='0' data-txt='cartlist[{{pidx}}].exp_type' color="red" size="16" type="success"></icon> |
| @@ -128,7 +163,7 @@ | @@ -128,7 +163,7 @@ | ||
| 128 | </block> | 163 | </block> |
| 129 | <view bindtap='setexptype_w' data-ind="{{pidx}}" data-t='1' data-txt='cartlist[{{pidx}}].exp_type' class="yu_er">门店自提</view> | 164 | <view bindtap='setexptype_w' data-ind="{{pidx}}" data-t='1' data-txt='cartlist[{{pidx}}].exp_type' class="yu_er">门店自提</view> |
| 130 | </view> | 165 | </view> |
| 131 | - | 166 | + |
| 132 | <view data-t='0' data-txt='cartlist[{{pidx}}].exp_type' data-ind="{{pidx}}" bindtap="setexptype_w" style="display:{{item.distr_t==1?'none':'flex;align-items: center'}};"> | 167 | <view data-t='0' data-txt='cartlist[{{pidx}}].exp_type' data-ind="{{pidx}}" bindtap="setexptype_w" style="display:{{item.distr_t==1?'none':'flex;align-items: center'}};"> |
| 133 | <!-- <icon bindtap='setexptype_w' data-t='0' data-txt='cartlist[{{pidx}}].exp_type' color="{{item.exp_type==0?'red':'gray'}}" size="16" type="success"></icon> --> | 168 | <!-- <icon bindtap='setexptype_w' data-t='0' data-txt='cartlist[{{pidx}}].exp_type' color="{{item.exp_type==0?'red':'gray'}}" size="16" type="success"></icon> --> |
| 134 | <block wx:if="{{item.exp_type==0}}"> | 169 | <block wx:if="{{item.exp_type==0}}"> |
| @@ -138,26 +173,35 @@ | @@ -138,26 +173,35 @@ | ||
| 138 | <block wx:else> | 173 | <block wx:else> |
| 139 | <view class="circle xc-hookts on"></view> | 174 | <view class="circle xc-hookts on"></view> |
| 140 | </block> | 175 | </block> |
| 141 | - | 176 | + |
| 142 | <view bindtap='setexptype_w' data-t='0' data-ind="{{pidx}}" data-txt='cartlist[{{pidx}}].exp_type' data-wl_txt='cartlist[{{pidx}}].wind' | 177 | <view bindtap='setexptype_w' data-t='0' data-ind="{{pidx}}" data-txt='cartlist[{{pidx}}].exp_type' data-wl_txt='cartlist[{{pidx}}].wind' |
| 143 | class="yu_er">快递邮寄</view> | 178 | class="yu_er">快递邮寄</view> |
| 144 | </view> | 179 | </view> |
| 145 | </view> | 180 | </view> |
| 146 | - <block wx:if="{{item.exp_type==0}}"> | ||
| 147 | - <!-- 点击显示物流选择 --> | 181 | + |
| 182 | + | ||
| 183 | + <!-- 点击显示物流选择,如果是默认使用的情况不成立 --> | ||
| 184 | + <view wx:if="{{!is_default_logistics && item.exp_type!=1}}" class="flex-vertical" bindtap="show_wu_arr" data-txt='cartlist[{{pidx}}].wind' data-w_sele_index="{{pidx}}" style="padding-right:6rpx;"> | ||
| 185 | + <view>{{wu_arr[item.wind].name}}</view> | ||
| 186 | + <view class="xc-right"></view> | ||
| 187 | + </view> | ||
| 188 | + | ||
| 189 | + </view> | ||
| 190 | + | ||
| 191 | + <!-- 当是物流,只有一单的时候 --> | ||
| 192 | + <block wx:else > | ||
| 193 | + <view class="use-item flex-space-between" wx:if="{{item.exp_type==0 && !is_default_logistics}}"> | ||
| 194 | + <view class="flex jc_sb" style="width: 100%; padding: 0 13rpx;"> | ||
| 195 | + <view>选择物流</view> | ||
| 148 | <view class="flex-vertical" bindtap="show_wu_arr" data-txt='cartlist[{{pidx}}].wind' data-w_sele_index="{{pidx}}" style="padding-right:6rpx;"> | 196 | <view class="flex-vertical" bindtap="show_wu_arr" data-txt='cartlist[{{pidx}}].wind' data-w_sele_index="{{pidx}}" style="padding-right:6rpx;"> |
| 149 | <view>{{wu_arr[item.wind].name}}</view> | 197 | <view>{{wu_arr[item.wind].name}}</view> |
| 150 | <view class="xc-right"></view> | 198 | <view class="xc-right"></view> |
| 151 | </view> | 199 | </view> |
| 152 | - </block> | ||
| 153 | - </view> | ||
| 154 | - | ||
| 155 | - <!-- <view bindtap="express_name" class="use-item" hidden='{{item.exp_type==1}}'> | ||
| 156 | - <view>选择物流:</view> --> | ||
| 157 | - <!-- <picker bindchange="bindPickerChange_w" data-txt='cartlist[{{pidx}}].wind' value="{{item.wind}}" range="{{wu_arr}}" range-key="name"> | ||
| 158 | - <view >{{wu_arr[item.wind].name}}</view> | ||
| 159 | - </picker> --> | ||
| 160 | - <!-- </view> --> | 200 | + </view> |
| 201 | + </view> | ||
| 202 | + </block> | ||
| 203 | + | ||
| 204 | + | ||
| 161 | </view> | 205 | </view> |
| 162 | 206 | ||
| 163 | <!-- 留言 --> | 207 | <!-- 留言 --> |
| @@ -188,7 +232,7 @@ | @@ -188,7 +232,7 @@ | ||
| 188 | 232 | ||
| 189 | </view> | 233 | </view> |
| 190 | 234 | ||
| 191 | - <!-----使用余额------> | 235 | + <!-- ---使用余额---- --> |
| 192 | <view class="set-mes bdr_t-14" wx:if="{{yuer>0}}"> | 236 | <view class="set-mes bdr_t-14" wx:if="{{yuer>0}}"> |
| 193 | <view class="use-item" bindtap='set_js_useyuer'> | 237 | <view class="use-item" bindtap='set_js_useyuer'> |
| 194 | <icon color="{{js_use_money?'red':'gray'}}" size="16" type="success"></icon> | 238 | <icon color="{{js_use_money?'red':'gray'}}" size="16" type="success"></icon> |
| @@ -198,7 +242,7 @@ | @@ -198,7 +242,7 @@ | ||
| 198 | 242 | ||
| 199 | </block> | 243 | </block> |
| 200 | 244 | ||
| 201 | - <!------立即购买--------> | 245 | + <!-- ----立即购买------ --> |
| 202 | <!-- <view class="xc-border xc-border"></view> --> | 246 | <!-- <view class="xc-border xc-border"></view> --> |
| 203 | <block wx:if="{{is_b_now==1}}"> | 247 | <block wx:if="{{is_b_now==1}}"> |
| 204 | <view class="use-item bfff bdr_t-14 mgt20"> | 248 | <view class="use-item bfff bdr_t-14 mgt20"> |
| @@ -224,7 +268,7 @@ | @@ -224,7 +268,7 @@ | ||
| 224 | </view> | 268 | </view> |
| 225 | </view> | 269 | </view> |
| 226 | 270 | ||
| 227 | - <!-----商品名称规格------> | 271 | + <!-- ---商品名称规格---- --> |
| 228 | <view class="order-num flex-space-between"> | 272 | <view class="order-num flex-space-between"> |
| 229 | <view class="co-red">¥<text class="fs36">{{filters.toFix(bn_goods.shop_price,2)}}</text></view> | 273 | <view class="co-red">¥<text class="fs36">{{filters.toFix(bn_goods.shop_price,2)}}</text></view> |
| 230 | <view class="goods-num">x{{bn_goods.buynum}}</view> | 274 | <view class="goods-num">x{{bn_goods.buynum}}</view> |
| @@ -247,7 +291,7 @@ | @@ -247,7 +291,7 @@ | ||
| 247 | <block><text>{{filters.show_gui_ge(buy_now_gift_goods.goods_spec,buy_now_gift_goods.goods_color)}}</text></block> | 291 | <block><text>{{filters.show_gui_ge(buy_now_gift_goods.goods_spec,buy_now_gift_goods.goods_color)}}</text></block> |
| 248 | </view> | 292 | </view> |
| 249 | </view> | 293 | </view> |
| 250 | - <!-----商品名称规格------> | 294 | + <!-- ---商品名称规格---- --> |
| 251 | <view class="order-num flex-space-between"> | 295 | <view class="order-num flex-space-between"> |
| 252 | <view class="co-red">¥<text class="fs36">0</text></view> | 296 | <view class="co-red">¥<text class="fs36">0</text></view> |
| 253 | <view class="goods-num">x{{buy_now_gift_goods.buynum}}</view> | 297 | <view class="goods-num">x{{buy_now_gift_goods.buynum}}</view> |
| @@ -270,7 +314,7 @@ | @@ -270,7 +314,7 @@ | ||
| 270 | <block><text>{{filters.show_gui_ge(item.goods_spec,item.goods_color)}}</text></block> | 314 | <block><text>{{filters.show_gui_ge(item.goods_spec,item.goods_color)}}</text></block> |
| 271 | </view> | 315 | </view> |
| 272 | </view> | 316 | </view> |
| 273 | - <!-----商品名称规格------> | 317 | + <!-- ---商品名称规格---- --> |
| 274 | <view class="order-num flex-space-between"> | 318 | <view class="order-num flex-space-between"> |
| 275 | <view class="co-red">¥<text class="fs36">{{item.price}}</text></view> | 319 | <view class="co-red">¥<text class="fs36">{{item.price}}</text></view> |
| 276 | <view class="goods-num">x{{item.goods_num}}</view> | 320 | <view class="goods-num">x{{item.goods_num}}</view> |
| @@ -319,23 +363,14 @@ | @@ -319,23 +363,14 @@ | ||
| 319 | </view> | 363 | </view> |
| 320 | </view> | 364 | </view> |
| 321 | 365 | ||
| 322 | - <view class="use-item flex-space-between"> | ||
| 323 | - <view class="flex"> | ||
| 324 | - <view bindtap='setexptype' data-t='1' data-txt='cartlist[{{pidx}}].exp_type' style="padding-right:26rpx;display:{{bn_t_exp_t==2?'none':'flex;align-items:center;'}};"> | ||
| 325 | - <icon color="{{bn_exp_type==1?'red':'gray'}}" size="16" type="success"></icon> | ||
| 326 | - <view class="yu_er">门店自提</view> | ||
| 327 | - </view> | ||
| 328 | - <view bindtap='setexptype' data-t='0' data-txt='cartlist[{{pidx}}].exp_type' style="display:{{bn_t_exp_t==1?'none':'flex;align-items:center;'}};"> | ||
| 329 | - <icon color="{{bn_exp_type==0?'red':'gray'}}" size="16" type="success"></icon> | ||
| 330 | - <view class="yu_er">快递邮寄</view> | ||
| 331 | - </view> | ||
| 332 | - </view> | ||
| 333 | - <block wx:if="{{bn_exp_type==0}}"> | ||
| 334 | - <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index'> | ||
| 335 | - <view class="logistics-name">{{wu_arr[index].name}}</view> | ||
| 336 | - <view class="xc-right"></view> | 366 | + <view class="xc-coupon-frame" wx:if="{{bn_exp_type==0 && !is_default_logistics}}"> |
| 367 | + <view class="flex-space-between" style="padding: 20rpx 25rpx; font-size: 30rpx;"> | ||
| 368 | + <view>选择物流</view> | ||
| 369 | + <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index' style="margin-right: 12rpx;"> | ||
| 370 | + <view class="logistics-name">{{wu_arr[index].name}}</view> | ||
| 371 | + <view class="xc-right"></view> | ||
| 337 | </view> | 372 | </view> |
| 338 | - </block> | 373 | + </view> |
| 339 | </view> | 374 | </view> |
| 340 | </view> | 375 | </view> |
| 341 | <!-- 留言 --> | 376 | <!-- 留言 --> |
| @@ -406,7 +441,7 @@ | @@ -406,7 +441,7 @@ | ||
| 406 | 441 | ||
| 407 | <view class="btn-wrap shadow-1" wx:if="{{show_submit}}"> | 442 | <view class="btn-wrap shadow-1" wx:if="{{show_submit}}"> |
| 408 | <view class="pay-amount"> | 443 | <view class="pay-amount"> |
| 409 | - <view class="payable">应付金额:<text class="co-red">¥{{formData.order_amount}}</text></view> | 444 | + <view class="payable">应付金额:<text class="co-red"><text class="fs24">¥</text>{{formData.order_amount}}</text></view> |
| 410 | <!-- <view class="co-red big"></view> --> | 445 | <!-- <view class="co-red big"></view> --> |
| 411 | </view> | 446 | </view> |
| 412 | <button class="tips-btn" formType="submit" id="submitOrder">提交订单</button> | 447 | <button class="tips-btn" formType="submit" id="submitOrder">提交订单</button> |
pages/cart/cart2/cart2.wxss
| @@ -20,6 +20,8 @@ | @@ -20,6 +20,8 @@ | ||
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | 22 | ||
| 23 | + | ||
| 24 | + | ||
| 23 | page { | 25 | page { |
| 24 | /* background-color: #FAFAFA; */ | 26 | /* background-color: #FAFAFA; */ |
| 25 | background-color: #F0F0F0; | 27 | background-color: #F0F0F0; |
| @@ -31,6 +33,32 @@ page { | @@ -31,6 +33,32 @@ page { | ||
| 31 | /* padding-top: 28rpx; */ | 33 | /* padding-top: 28rpx; */ |
| 32 | padding-bottom: 120rpx; | 34 | padding-bottom: 120rpx; |
| 33 | } | 35 | } |
| 36 | + | ||
| 37 | +.tab-container { | ||
| 38 | + font-size: 28rpx; | ||
| 39 | + margin-top: 20rpx; | ||
| 40 | + display: flex; | ||
| 41 | +} | ||
| 42 | + | ||
| 43 | +.tab-wrapper { | ||
| 44 | + background-color: #ccc; | ||
| 45 | + display: flex; | ||
| 46 | + border-radius: 40rpx; | ||
| 47 | + overflow: hidden; | ||
| 48 | +} | ||
| 49 | + | ||
| 50 | +.tab { | ||
| 51 | + padding: 20rpx 30rpx; | ||
| 52 | + | ||
| 53 | +} | ||
| 54 | + | ||
| 55 | + | ||
| 56 | +.tab.active { | ||
| 57 | + background-color: white; | ||
| 58 | + border-radius: 40rpx; | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | + | ||
| 34 | .user-mes { | 62 | .user-mes { |
| 35 | position: relative; | 63 | position: relative; |
| 36 | background-color: #fff; | 64 | background-color: #fff; |
| @@ -38,23 +66,25 @@ page { | @@ -38,23 +66,25 @@ page { | ||
| 38 | color: #444; | 66 | color: #444; |
| 39 | /* margin-top: 28rpx; */ | 67 | /* margin-top: 28rpx; */ |
| 40 | border-radius: 14rpx; | 68 | border-radius: 14rpx; |
| 69 | + padding: 20rpx 70rpx 20rpx 20rpx; | ||
| 41 | } | 70 | } |
| 42 | .user-contact { | 71 | .user-contact { |
| 43 | - padding: 24rpx 26rpx; | ||
| 44 | - font-weight: 600; | 72 | + /* padding: 24rpx 26rpx; |
| 73 | + font-weight: 600; */ | ||
| 45 | } | 74 | } |
| 46 | 75 | ||
| 47 | .location { | 76 | .location { |
| 48 | position: relative; | 77 | position: relative; |
| 49 | - padding: 0 70rpx 24rpx; | 78 | + /* padding: 0 70rpx 24rpx; */ |
| 50 | } | 79 | } |
| 51 | 80 | ||
| 52 | .pos-icon { | 81 | .pos-icon { |
| 53 | - position: absolute; | ||
| 54 | - left: 28rpx; | ||
| 55 | - top: 6rpx; | ||
| 56 | - width: 30rpx; | ||
| 57 | - height: 36rpx; | 82 | + /* position: absolute; */ |
| 83 | + /* left: 28rpx; | ||
| 84 | + top: 6rpx; */ | ||
| 85 | + width: 20rpx; | ||
| 86 | + height: 24rpx; | ||
| 87 | + display: inline-block; | ||
| 58 | } | 88 | } |
| 59 | 89 | ||
| 60 | .border-img { | 90 | .border-img { |
| @@ -132,12 +162,12 @@ page { | @@ -132,12 +162,12 @@ page { | ||
| 132 | .use-item{ | 162 | .use-item{ |
| 133 | display: flex; | 163 | display: flex; |
| 134 | align-items: center; | 164 | align-items: center; |
| 135 | - height: 80rpx; | 165 | + /* height: 80rpx; */ |
| 136 | /* border-bottom: 1px solid #ddd; */ | 166 | /* border-bottom: 1px solid #ddd; */ |
| 137 | - font-size: 30rpx; | 167 | + font-size: 26rpx; |
| 138 | /* width:95%; | 168 | /* width:95%; |
| 139 | margin:auto; */ | 169 | margin:auto; */ |
| 140 | - padding: 0 26rpx; | 170 | + padding: 20rpx; |
| 141 | } | 171 | } |
| 142 | .use-item>view{ | 172 | .use-item>view{ |
| 143 | display: flex; | 173 | display: flex; |
| @@ -148,9 +178,9 @@ margin:auto; */ | @@ -148,9 +178,9 @@ margin:auto; */ | ||
| 148 | } | 178 | } |
| 149 | .use-item .dp{ | 179 | .use-item .dp{ |
| 150 | display: block; | 180 | display: block; |
| 151 | - width: 50rpx; | ||
| 152 | - height: 50rpx; | ||
| 153 | - margin-left: -6rpx; | 181 | + width: 40rpx; |
| 182 | + height: 40rpx; | ||
| 183 | + /* margin-left: -6rpx; */ | ||
| 154 | } | 184 | } |
| 155 | 185 | ||
| 156 | .set-item { | 186 | .set-item { |
| @@ -182,11 +212,11 @@ margin:auto; */ | @@ -182,11 +212,11 @@ margin:auto; */ | ||
| 182 | 212 | ||
| 183 | .coupon-mes { | 213 | .coupon-mes { |
| 184 | /* box-sizing: border-box; */ | 214 | /* box-sizing: border-box; */ |
| 185 | - height:95rpx; | ||
| 186 | - padding: 0 26rpx; | 215 | + /* height:95rpx; */ |
| 216 | + padding: 20rpx; | ||
| 187 | background-color: #fff; | 217 | background-color: #fff; |
| 188 | font-size: 30rpx; | 218 | font-size: 30rpx; |
| 189 | - color: #444; | 219 | + /* color: #444; */ |
| 190 | /* width: 100%; */ | 220 | /* width: 100%; */ |
| 191 | border-radius: 14rpx; | 221 | border-radius: 14rpx; |
| 192 | margin-top: 20rpx; | 222 | margin-top: 20rpx; |
| @@ -225,9 +255,9 @@ margin:auto; */ | @@ -225,9 +255,9 @@ margin:auto; */ | ||
| 225 | .word-box { | 255 | .word-box { |
| 226 | font-size: 26rpx; | 256 | font-size: 26rpx; |
| 227 | /* width: 600rpx; */ | 257 | /* width: 600rpx; */ |
| 228 | - padding: 10rpx; | 258 | + /* padding: 10rpx; |
| 229 | height: 28rpx; | 259 | height: 28rpx; |
| 230 | - line-height: 40rpx; | 260 | + line-height: 40rpx; */ |
| 231 | } | 261 | } |
| 232 | 262 | ||
| 233 | .max-word { | 263 | .max-word { |
| @@ -237,7 +267,7 @@ margin:auto; */ | @@ -237,7 +267,7 @@ margin:auto; */ | ||
| 237 | } | 267 | } |
| 238 | 268 | ||
| 239 | .information { | 269 | .information { |
| 240 | - padding: 0 26rpx; | 270 | + /* padding: 20rpx; */ |
| 241 | background-color: #fff; | 271 | background-color: #fff; |
| 242 | /* margin-bottom: 120rpx; */ | 272 | /* margin-bottom: 120rpx; */ |
| 243 | } | 273 | } |
| @@ -245,10 +275,11 @@ margin:auto; */ | @@ -245,10 +275,11 @@ margin:auto; */ | ||
| 245 | .information .item { | 275 | .information .item { |
| 246 | display: flex; | 276 | display: flex; |
| 247 | justify-content: space-between; | 277 | justify-content: space-between; |
| 248 | - height: 60rpx; | ||
| 249 | - line-height: 60rpx; | ||
| 250 | - font-size: 26rpx; | ||
| 251 | - color: #777; | 278 | + /* height: 60rpx; |
| 279 | + line-height: 60rpx; */ | ||
| 280 | + font-size: 24rpx; | ||
| 281 | + /* color: #333; */ | ||
| 282 | + padding: 20rpx; | ||
| 252 | } | 283 | } |
| 253 | 284 | ||
| 254 | .btn-wrap { | 285 | .btn-wrap { |
| @@ -364,12 +395,13 @@ margin:auto; */ | @@ -364,12 +395,13 @@ margin:auto; */ | ||
| 364 | background-color: white; | 395 | background-color: white; |
| 365 | } | 396 | } |
| 366 | .xc-right{ | 397 | .xc-right{ |
| 367 | - width:20rpx; | ||
| 368 | - height:20rpx; | 398 | + width:12rpx; |
| 399 | + height:12rpx; | ||
| 369 | border-top:2rpx solid #000; | 400 | border-top:2rpx solid #000; |
| 370 | border-right:2rpx solid #000; | 401 | border-right:2rpx solid #000; |
| 371 | transform:rotate(45deg); | 402 | transform:rotate(45deg); |
| 372 | display:inline-block; | 403 | display:inline-block; |
| 404 | + margin-left: 10rpx; | ||
| 373 | } | 405 | } |
| 374 | 406 | ||
| 375 | .xc-coupon-frame .work-frame .work{ font-size: 30rpx; line-height: 92rpx; } | 407 | .xc-coupon-frame .work-frame .work{ font-size: 30rpx; line-height: 92rpx; } |
| @@ -904,7 +936,7 @@ margin-left: 20rpx; | @@ -904,7 +936,7 @@ margin-left: 20rpx; | ||
| 904 | .plus_buy{ | 936 | .plus_buy{ |
| 905 | background-color: #fff; | 937 | background-color: #fff; |
| 906 | margin:15rpx 0; | 938 | margin:15rpx 0; |
| 907 | - padding: 20rpx 10rpx; | 939 | + padding: 20rpx; |
| 908 | position: relative; | 940 | position: relative; |
| 909 | } | 941 | } |
| 910 | 942 |
pages/cart/cart2_inte/cart2_inte.js
| @@ -93,8 +93,9 @@ Page({ | @@ -93,8 +93,9 @@ Page({ | ||
| 93 | getApp().getConfig2(function (ee) { | 93 | getApp().getConfig2(function (ee) { |
| 94 | var json_d = JSON.parse(ee.switch_list); | 94 | var json_d = JSON.parse(ee.switch_list); |
| 95 | th.data.json_d=json_d; | 95 | th.data.json_d=json_d; |
| 96 | - th.data.ispt_goods=json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 | ||
| 97 | - th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules,rank_switch:json_d.rank_switch}); | 96 | + th.data.ispt_goods=json_d.ispt_goods; //是不是平摊到单品的控制参数赋值 |
| 97 | + var is_default_logistics=json_d.is_default_logistics; | ||
| 98 | + th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules,rank_switch:json_d.rank_switch,is_default_logistics:is_default_logistics}); | ||
| 98 | 99 | ||
| 99 | var rank_switch=json_d.rank_switch; | 100 | var rank_switch=json_d.rank_switch; |
| 100 | var max_price=-1; | 101 | var max_price=-1; |
| @@ -204,8 +205,14 @@ Page({ | @@ -204,8 +205,14 @@ Page({ | ||
| 204 | get_wuliu(func) { | 205 | get_wuliu(func) { |
| 205 | var th = this; | 206 | var th = this; |
| 206 | to.getwuliu(function (e) { | 207 | to.getwuliu(function (e) { |
| 207 | - th.setData({ wu_arr: e }) | ||
| 208 | - typeof func == "function" && func(); | 208 | + if(th.data.is_default_logistics){ |
| 209 | + //如果第一个不是开启默认,说明要让用户自己选 | ||
| 210 | + if(!e[0].is_default){ | ||
| 211 | + th.setData({is_default_logistics:0}); | ||
| 212 | + } | ||
| 213 | + } | ||
| 214 | + th.setData({ wu_arr: e }) | ||
| 215 | + typeof func == "function" && func(); | ||
| 209 | }) | 216 | }) |
| 210 | }, | 217 | }, |
| 211 | //------获取会员信息-----先获取用户信息,在进行下一步--- | 218 | //------获取会员信息-----先获取用户信息,在进行下一步--- |
| @@ -294,6 +301,8 @@ Page({ | @@ -294,6 +301,8 @@ Page({ | ||
| 294 | a.get("/api/weshop/goods/get/" + oo.stoid+"/"+e, { | 301 | a.get("/api/weshop/goods/get/" + oo.stoid+"/"+e, { |
| 295 | success:async function (t) { | 302 | success:async function (t) { |
| 296 | var gd = t.data.data; | 303 | var gd = t.data.data; |
| 304 | + if(!gd) return false; | ||
| 305 | + | ||
| 297 | t.data.data.original_img = oo.imghost + t.data.data.original_img; | 306 | t.data.data.original_img = oo.imghost + t.data.data.original_img; |
| 298 | t.data.data['buynum'] = gg.goods_num; | 307 | t.data.data['buynum'] = gg.goods_num; |
| 299 | var distr_t=0,et=0 | 308 | var distr_t=0,et=0 |
| @@ -1030,9 +1039,10 @@ Page({ | @@ -1030,9 +1039,10 @@ Page({ | ||
| 1030 | if (rse.data.code==0){ | 1039 | if (rse.data.code==0){ |
| 1031 | getApp().globalData.userInfo.def_exp_code=is_shipping_code; | 1040 | getApp().globalData.userInfo.def_exp_code=is_shipping_code; |
| 1032 | th.setData({ open_express: 0 }); | 1041 | th.setData({ open_express: 0 }); |
| 1033 | - //----计算此时购物车的价格---- | ||
| 1034 | - if(th.data.is_b_now==1) th.calculatePrice2(); | ||
| 1035 | - else th.calculatePrice(); | 1042 | + //----计算此时购物车的价格,这个页面没有calculatePrice(),2021.7.19-------- |
| 1043 | + //if(th.data.is_b_now==1) th.calculatePrice2(); | ||
| 1044 | + //else th.calculatePrice(); | ||
| 1045 | + th.calculatePrice2(); | ||
| 1036 | } | 1046 | } |
| 1037 | } | 1047 | } |
| 1038 | }) | 1048 | }) |
pages/cart/cart2_inte/cart2_inte.wxml
| @@ -4,6 +4,19 @@ | @@ -4,6 +4,19 @@ | ||
| 4 | 4 | ||
| 5 | <form bindsubmit="submitForm"> | 5 | <form bindsubmit="submitForm"> |
| 6 | <view class="container"> | 6 | <view class="container"> |
| 7 | + | ||
| 8 | + <view class="tab-container"> | ||
| 9 | + <view class="tab-wrapper"> | ||
| 10 | + <view hidden="{{bn_t_exp_t==2}}" bindtap='setexptype' data-t='1' class="tab {{bn_exp_type == 1? 'active':''}}" | ||
| 11 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >门店自提</view> | ||
| 12 | + | ||
| 13 | + <view hidden="{{bn_t_exp_t==1}}" bindtap='setexptype' data-t='0' class="tab {{bn_exp_type== 0 ? 'active':''}}" | ||
| 14 | + data-txt='cartlist[0].exp_type' data-wl_txt='cartlist[0].wind' data-index="{{index}}" >快递邮寄</view> | ||
| 15 | + | ||
| 16 | + </view> | ||
| 17 | + </view> | ||
| 18 | + | ||
| 19 | + | ||
| 7 | <!--要进行判断地址是否显示----> | 20 | <!--要进行判断地址是否显示----> |
| 8 | <view bindtap="enterAddressPage" class="user-mes mgt20" hidden='{{(bn_exp_type==1 && is_b_now==1) || (is_all_zt==1 && is_b_now==0)}}'> | 21 | <view bindtap="enterAddressPage" class="user-mes mgt20" hidden='{{(bn_exp_type==1 && is_b_now==1) || (is_all_zt==1 && is_b_now==0)}}'> |
| 9 | <!---默认地址显示------> | 22 | <!---默认地址显示------> |
| @@ -90,24 +103,18 @@ | @@ -90,24 +103,18 @@ | ||
| 90 | </view> | 103 | </view> |
| 91 | </view> | 104 | </view> |
| 92 | 105 | ||
| 93 | - <view class="use-item flex-space-between"> | ||
| 94 | - <view class="flex"> | ||
| 95 | - <view bindtap='setexptype' data-t='1' data-txt='cartlist[{{pidx}}].exp_type' style="padding-right:26rpx;display:{{bn_t_exp_t==2?'none':'flex;align-items:center;'}};"> | ||
| 96 | - <icon color="{{bn_exp_type==1?'red':'gray'}}" size="16" type="success"></icon> | ||
| 97 | - <view class="yu_er">门店自提</view> | ||
| 98 | - </view> | ||
| 99 | - <view bindtap='setexptype' data-t='0' data-txt='cartlist[{{pidx}}].exp_type' style="display:{{bn_t_exp_t==1?'none':'flex;align-items:center;'}};"> | ||
| 100 | - <icon color="{{bn_exp_type==0?'red':'gray'}}" size="16" type="success"></icon> | ||
| 101 | - <view class="yu_er">快递邮寄</view> | ||
| 102 | - </view> | ||
| 103 | - </view> | ||
| 104 | - <block wx:if="{{bn_exp_type==0}}"> | ||
| 105 | - <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index'> | ||
| 106 | - <view class="logistics-name">{{wu_arr[index].name}}</view> | ||
| 107 | - <view class="xc-right"></view> | 106 | + |
| 107 | + | ||
| 108 | + <block wx:if="{{bn_exp_type==0 && !is_default_logistics}}"> | ||
| 109 | + <view class="use-item flex-space-between"> | ||
| 110 | + <view>选择物流</view> | ||
| 111 | + <view class="flex-vertical" bindtap="show_wu_arr" data-txt='index' style="margin-right: 8rpx;"> | ||
| 112 | + <view class="logistics-name">{{wu_arr[index].name}}</view> | ||
| 113 | + <view class="xc-right"></view> | ||
| 114 | + </view> | ||
| 108 | </view> | 115 | </view> |
| 109 | </block> | 116 | </block> |
| 110 | - </view> | 117 | + |
| 111 | </view> | 118 | </view> |
| 112 | 119 | ||
| 113 | <view class="coupon-mes flex-vertical"> | 120 | <view class="coupon-mes flex-vertical"> |