版本提交
Showing
36 changed files
with
768 additions
and
34 deletions
| 1 | let app = getApp(); | ||
| 2 | Component({ | ||
| 3 | properties: { | ||
| 4 | // 这里定义了innerText属性,属性值可以在组件使用时指定 | ||
| 5 | innerText: { | ||
| 6 | type: String, | ||
| 7 | value: 'default value', | ||
| 8 | } | ||
| 9 | }, | ||
| 10 | data: { | ||
| 11 | // 这里是一些组件内部数据 | ||
| 12 | someData: {} | ||
| 13 | }, | ||
| 14 | methods: { | ||
| 15 | // 这里是一个自定义方法 | ||
| 16 | customMethod() { | ||
| 17 | this.triggerEvent('evtcomp', { | ||
| 18 | name: "_evt_custom" | ||
| 19 | }) | ||
| 20 | }, | ||
| 21 | // 隐藏蒙层 | ||
| 22 | hideMask() { | ||
| 23 | this.triggerEvent('evtcomp', { | ||
| 24 | name: "_evt_hide_mask" | ||
| 25 | }); | ||
| 26 | }, | ||
| 27 | // 打电话 | ||
| 28 | onPlayTooHandler() { | ||
| 29 | app.router.push({ | ||
| 30 | openType: "reLaunch", | ||
| 31 | path: "index", | ||
| 32 | }) | ||
| 33 | } | ||
| 34 | } | ||
| 35 | }) |
| 1 | @import '../../assets/scss/mixins'; | ||
| 2 | @import '../../assets/scss/utils'; | ||
| 3 | |||
| 4 | .comp-item { | ||
| 5 | position: relative; | ||
| 6 | width: 654px; | ||
| 7 | height: 588px; | ||
| 8 | |||
| 9 | // background-color: wheat; | ||
| 10 | .bg { | ||
| 11 | position: absolute; | ||
| 12 | width: 654px; | ||
| 13 | height: 588px; | ||
| 14 | } | ||
| 15 | |||
| 16 | .space1 { | ||
| 17 | height: 400px; | ||
| 18 | } | ||
| 19 | |||
| 20 | .btn { | ||
| 21 | position: relative; | ||
| 22 | margin: 0 auto; | ||
| 23 | @include cb(300px, 80px); | ||
| 24 | } | ||
| 25 | |||
| 26 | .call{ | ||
| 27 | width: 170px; | ||
| 28 | height: 40px; | ||
| 29 | position: absolute; | ||
| 30 | // background-color: wheat; | ||
| 31 | left: 300px; | ||
| 32 | top: 294px; | ||
| 33 | } | ||
| 34 | } |
| 1 | Component({ | ||
| 2 | properties: { | ||
| 3 | // 这里定义了innerText属性,属性值可以在组件使用时指定 | ||
| 4 | innerText: { | ||
| 5 | type: String, | ||
| 6 | value: 'default value', | ||
| 7 | } | ||
| 8 | }, | ||
| 9 | data: { | ||
| 10 | // 这里是一些组件内部数据 | ||
| 11 | someData: {} | ||
| 12 | }, | ||
| 13 | methods: { | ||
| 14 | // 这里是一个自定义方法 | ||
| 15 | customMethod() { | ||
| 16 | this.triggerEvent('evtcomp', { | ||
| 17 | name: "_evt_custom" | ||
| 18 | }) | ||
| 19 | }, | ||
| 20 | // 隐藏蒙层 | ||
| 21 | hideMask() { | ||
| 22 | this.triggerEvent('evtcomp', { | ||
| 23 | name: "_evt_hide_mask" | ||
| 24 | }); | ||
| 25 | } | ||
| 26 | } | ||
| 27 | }) |
| 1 | @import '../../assets/scss/mixins'; | ||
| 2 | @import '../../assets/scss/utils'; | ||
| 3 | |||
| 4 | $contentWidth:690px; | ||
| 5 | |||
| 6 | .comp-item { | ||
| 7 | @include border-top-radius(32px); | ||
| 8 | position: relative; | ||
| 9 | background-color: #fff; | ||
| 10 | // width: 750px; | ||
| 11 | max-height: 860px; | ||
| 12 | |||
| 13 | .cont { | ||
| 14 | // width: 750px; | ||
| 15 | |||
| 16 | |||
| 17 | .nav { | ||
| 18 | width: 690px; | ||
| 19 | height: 108px; | ||
| 20 | margin: 0 auto; | ||
| 21 | border-bottom: solid 1px #e0e0e0; | ||
| 22 | display: flex; | ||
| 23 | justify-content: space-between; | ||
| 24 | align-items: center; | ||
| 25 | |||
| 26 | .place { | ||
| 27 | padding: 0 12px 0 12px; | ||
| 28 | color: #333333; | ||
| 29 | font-size: 28px; | ||
| 30 | |||
| 31 | .city { | ||
| 32 | color: #b83138; | ||
| 33 | } | ||
| 34 | } | ||
| 35 | |||
| 36 | .area { | ||
| 37 | |||
| 38 | display: flex; | ||
| 39 | align-items: center; | ||
| 40 | |||
| 41 | &-item { | ||
| 42 | @include ellipsis(1); | ||
| 43 | display: flex; | ||
| 44 | justify-content: space-between; | ||
| 45 | align-items: center; | ||
| 46 | width: 168px; | ||
| 47 | height: 62px; | ||
| 48 | border-radius: 10px; | ||
| 49 | border: solid 1px #b83138; | ||
| 50 | color: #b93138; | ||
| 51 | font-size: 24px; | ||
| 52 | @extend .bb; | ||
| 53 | padding: 0 20px; | ||
| 54 | margin-right: 10px; | ||
| 55 | |||
| 56 | .icon { | ||
| 57 | width: 30px; | ||
| 58 | height: 17px; | ||
| 59 | } | ||
| 60 | } | ||
| 61 | } | ||
| 62 | |||
| 63 | .btn { | ||
| 64 | height: 42px; | ||
| 65 | line-height: 42px; | ||
| 66 | border-radius: 21px; | ||
| 67 | background-color: #f7eaeb; | ||
| 68 | color: #b83138; | ||
| 69 | padding: 0 20px; | ||
| 70 | font-size: 26px; | ||
| 71 | @extend .bb; | ||
| 72 | } | ||
| 73 | } | ||
| 74 | |||
| 75 | .nav1 {} | ||
| 76 | |||
| 77 | .nav2 {} | ||
| 78 | |||
| 79 | // 门店坐标 | ||
| 80 | .pos { | ||
| 81 | max-height: 600px; | ||
| 82 | |||
| 83 | &-item { | ||
| 84 | margin: 0 auto; | ||
| 85 | padding: 0 30px; | ||
| 86 | @extend .bb; | ||
| 87 | min-height: 196px; | ||
| 88 | display: flex; | ||
| 89 | justify-content: space-between; | ||
| 90 | align-items: center; | ||
| 91 | border-bottom: solid 1px #e0e0e0; | ||
| 92 | |||
| 93 | .check { | ||
| 94 | width: 26px; | ||
| 95 | height: 20px; | ||
| 96 | padding-right: 24px; | ||
| 97 | @extend .fcc; | ||
| 98 | // @extend .bb; | ||
| 99 | |||
| 100 | .icon { | ||
| 101 | width: 26px; | ||
| 102 | height: 20px; | ||
| 103 | } | ||
| 104 | } | ||
| 105 | |||
| 106 | .info { | ||
| 107 | flex: 1; | ||
| 108 | @extend .bb; | ||
| 109 | padding: 0 40px 0 20px; | ||
| 110 | |||
| 111 | .tit { | ||
| 112 | display: flex; | ||
| 113 | align-items: center; | ||
| 114 | font-size: 32px; | ||
| 115 | color: #333333; | ||
| 116 | |||
| 117 | .name {} | ||
| 118 | |||
| 119 | .distance { | ||
| 120 | margin-left: 16px; | ||
| 121 | color: #999999; | ||
| 122 | font-size: 24px; | ||
| 123 | } | ||
| 124 | } | ||
| 125 | |||
| 126 | .address { | ||
| 127 | font-size: 20px; | ||
| 128 | color: #999999; | ||
| 129 | margin-top: 10px; | ||
| 130 | font-size: 28px; | ||
| 131 | } | ||
| 132 | } | ||
| 133 | |||
| 134 | .loc { | ||
| 135 | width: 80px; | ||
| 136 | text-align: center; | ||
| 137 | color: #b83138; | ||
| 138 | font-size: 24px; | ||
| 139 | |||
| 140 | .icon { | ||
| 141 | width: 40px; | ||
| 142 | height: 49px; | ||
| 143 | } | ||
| 144 | } | ||
| 145 | |||
| 146 | |||
| 147 | } | ||
| 148 | } | ||
| 149 | |||
| 150 | .btn-wrap { | ||
| 151 | padding: 36px 0; | ||
| 152 | |||
| 153 | // 按钮 | ||
| 154 | .store-btn { | ||
| 155 | margin: 0 auto; | ||
| 156 | @include cb(); | ||
| 157 | } | ||
| 158 | } | ||
| 159 | |||
| 160 | } | ||
| 161 | } |
| 1 | <view class="comp-item"> | ||
| 2 | <view class="cont"> | ||
| 3 | <!-- 导航 --> | ||
| 4 | <view wx:if="{{1>10}}" class="nav nav1"> | ||
| 5 | <view class="place"> | ||
| 6 | 您当前所在城市: | ||
| 7 | <span class="city">深圳市</span> | ||
| 8 | </view> | ||
| 9 | <view class="btn">切换城市</view> | ||
| 10 | </view> | ||
| 11 | <view wx:else class="nav nav2"> | ||
| 12 | <view class="area"> | ||
| 13 | <view class="area-item"> | ||
| 14 | 省 | ||
| 15 | <image class="icon" mode="widthFix" src="../../image/oss/icon/icon-drow-down.png" /> | ||
| 16 | </view> | ||
| 17 | <view class="area-item"> | ||
| 18 | 市 | ||
| 19 | <image class="icon" mode="widthFix" src="../../image/oss/icon/icon-drow-down.png" /> | ||
| 20 | </view> | ||
| 21 | <view class="area-item"> | ||
| 22 | 区 | ||
| 23 | <image class="icon" mode="widthFix" src="../../image/oss/icon/icon-drow-down.png" /> | ||
| 24 | </view> | ||
| 25 | </view> | ||
| 26 | <view class="btn">切换城市</view> | ||
| 27 | </view> | ||
| 28 | <!-- 门店列表 --> | ||
| 29 | <scroll-view scroll-y="{{true}}" class="pos"> | ||
| 30 | <view class="pos-item"> | ||
| 31 | <view wx:if="{{1>10}}" class="check"> | ||
| 32 | <image class="icon" mode="widthFix" src="../../image/oss/icon/icon-check.png" /> | ||
| 33 | </view> | ||
| 34 | <view class="info"> | ||
| 35 | <view class="tit"> | ||
| 36 | <view class="name">坂田天虹店</view> | ||
| 37 | <view class="distance">距您1.2公里</view> | ||
| 38 | </view> | ||
| 39 | <view class="address">地址:安徽省安庆市大观区集贤南路43号八佰伴购物中心一楼</view> | ||
| 40 | </view> | ||
| 41 | <view class="loc"> | ||
| 42 | <image class="icon" mode="widthFix" src="../../image/oss/icon/icon-loc.png" /> | ||
| 43 | <view class="txt">导航</view> | ||
| 44 | </view> | ||
| 45 | </view> | ||
| 46 | <view class="pos-item"> | ||
| 47 | <view class="check"> | ||
| 48 | <image class="icon" mode="widthFix" src="../../image/oss/icon/icon-check.png" /> | ||
| 49 | </view> | ||
| 50 | <view class="info"> | ||
| 51 | <view class="tit"> | ||
| 52 | <view class="name">坂田天虹店</view> | ||
| 53 | <view class="distance">距您1.2公里</view> | ||
| 54 | </view> | ||
| 55 | <view class="address">地址:安徽省安庆市大观区集贤南路43号八佰伴购物中心一楼</view> | ||
| 56 | </view> | ||
| 57 | <view class="loc"> | ||
| 58 | <image class="icon" mode="widthFix" src="../../image/oss/icon/icon-loc.png" /> | ||
| 59 | <view class="txt">导航</view> | ||
| 60 | </view> | ||
| 61 | </view> | ||
| 62 | </scroll-view> | ||
| 63 | <!-- 按钮 --> | ||
| 64 | <view wx:if="{{1>10}}" class="btn-wrap"> | ||
| 65 | <view bindtap="onSelectHandler" class="store-btn">选择门店</view> | ||
| 66 | </view> | ||
| 67 | </view> | ||
| 68 | </view> |
| 1 | let app = getApp(); | ||
| 2 | Component({ | ||
| 3 | properties: { | ||
| 4 | // 这里定义了innerText属性,属性值可以在组件使用时指定 | ||
| 5 | innerText: { | ||
| 6 | type: String, | ||
| 7 | value: 'default value', | ||
| 8 | }, | ||
| 9 | eleList: { | ||
| 10 | type: Object, | ||
| 11 | value: [], | ||
| 12 | }, | ||
| 13 | eleVal: { | ||
| 14 | type: Number, | ||
| 15 | value: 0, | ||
| 16 | }, | ||
| 17 | wishBillInfo: { | ||
| 18 | type: Object, | ||
| 19 | value: {}, | ||
| 20 | }, | ||
| 21 | wishInfo: { | ||
| 22 | type: Object, | ||
| 23 | value: {}, | ||
| 24 | }, | ||
| 25 | wishList: { | ||
| 26 | type: Object, | ||
| 27 | value: [], | ||
| 28 | }, | ||
| 29 | // 1正常(有库存) 2无库存 | ||
| 30 | status: { | ||
| 31 | type: Number, | ||
| 32 | status: 2 | ||
| 33 | } | ||
| 34 | }, | ||
| 35 | data: { | ||
| 36 | // 这里是一些组件内部数据 | ||
| 37 | someData: {} | ||
| 38 | }, | ||
| 39 | methods: { | ||
| 40 | // 这里是一个自定义方法 | ||
| 41 | customMethod() { | ||
| 42 | this.triggerEvent('evtcomp', { | ||
| 43 | name: "_evt_custom" | ||
| 44 | }) | ||
| 45 | }, | ||
| 46 | // 隐藏蒙层 | ||
| 47 | hideMask() { | ||
| 48 | this.triggerEvent('evtcomp', { | ||
| 49 | name: "_evt_hide_mask" | ||
| 50 | }); | ||
| 51 | }, | ||
| 52 | // 自提 要带上参数 | ||
| 53 | toSelfLiftHandler() { | ||
| 54 | this.hideMask(); | ||
| 55 | app.router.push({ | ||
| 56 | path: "prizeDetail", | ||
| 57 | query: this.properties.wishInfo | ||
| 58 | }) | ||
| 59 | }, | ||
| 60 | // 邮寄 | ||
| 61 | toUserTableHandler() { | ||
| 62 | this.hideMask(); | ||
| 63 | app.router.push({ | ||
| 64 | path: "userTable", | ||
| 65 | }) | ||
| 66 | }, | ||
| 67 | |||
| 68 | } | ||
| 69 | }) |
| 1 | @import '../../assets/scss/mixins'; | ||
| 2 | @import '../../assets/scss/utils'; | ||
| 3 | |||
| 4 | .comp-item { | ||
| 5 | position: relative; | ||
| 6 | width: 654px; | ||
| 7 | height: 732px; | ||
| 8 | |||
| 9 | font-weight: 300; | ||
| 10 | |||
| 11 | // background-color: wheat; | ||
| 12 | .bg { | ||
| 13 | position: absolute; | ||
| 14 | width: 654px; | ||
| 15 | height: 732px; | ||
| 16 | } | ||
| 17 | |||
| 18 | .cont { | ||
| 19 | position: relative; | ||
| 20 | text-align: center; | ||
| 21 | color: #333333; | ||
| 22 | |||
| 23 | .space1 { | ||
| 24 | height: 80px; | ||
| 25 | } | ||
| 26 | |||
| 27 | .tit { | ||
| 28 | color: #ba3038; | ||
| 29 | font-size: 36px; | ||
| 30 | } | ||
| 31 | |||
| 32 | .name { | ||
| 33 | margin-top: 8px; | ||
| 34 | font-size: 28px; | ||
| 35 | color: #333333; | ||
| 36 | } | ||
| 37 | |||
| 38 | .stock { | ||
| 39 | text-align: center; | ||
| 40 | margin-top: 24px; | ||
| 41 | } | ||
| 42 | |||
| 43 | // 有库存 | ||
| 44 | .stock1 { | ||
| 45 | margin: 22px auto 0; | ||
| 46 | font-size: 24px; | ||
| 47 | width: 410px; | ||
| 48 | .tips { | ||
| 49 | color: #333333; | ||
| 50 | } | ||
| 51 | |||
| 52 | .tips2 { | ||
| 53 | color: #999999; | ||
| 54 | margin-top: 16px; | ||
| 55 | } | ||
| 56 | } | ||
| 57 | |||
| 58 | // 无库存 | ||
| 59 | .stock2 { | ||
| 60 | .tips { | ||
| 61 | height: auto; | ||
| 62 | color: #999999; | ||
| 63 | font-size: 24px; | ||
| 64 | } | ||
| 65 | } | ||
| 66 | |||
| 67 | } | ||
| 68 | |||
| 69 | |||
| 70 | .btn-wrap { | ||
| 71 | position: absolute; | ||
| 72 | left: 0; | ||
| 73 | right: 0; | ||
| 74 | bottom: 100px; | ||
| 75 | display: flex; | ||
| 76 | justify-content: center; | ||
| 77 | padding: 0 50px; | ||
| 78 | @extend .bb; | ||
| 79 | |||
| 80 | .btn { | ||
| 81 | margin: 0 auto; | ||
| 82 | @include cb(234px, 64px); | ||
| 83 | } | ||
| 84 | |||
| 85 | .btn2 { | ||
| 86 | border: solid 1px #b83138; | ||
| 87 | background: transparent; | ||
| 88 | color: #ba3039; | ||
| 89 | } | ||
| 90 | } | ||
| 91 | } | ||
| 92 | |||
| 93 | // 心愿 | ||
| 94 | .wish { | ||
| 95 | position: relative; | ||
| 96 | margin: 0 auto 0; | ||
| 97 | display: flex; | ||
| 98 | // justify-content: space-between; | ||
| 99 | justify-content: center; | ||
| 100 | @extend .bb; | ||
| 101 | // padding-top: 116px; | ||
| 102 | padding: 40px 80px 0; | ||
| 103 | |||
| 104 | &-item { | ||
| 105 | position: relative; | ||
| 106 | text-align: center; | ||
| 107 | |||
| 108 | .display { | ||
| 109 | position: relative; | ||
| 110 | height: 180px; | ||
| 111 | height: 180px; | ||
| 112 | border-radius: 90px; | ||
| 113 | background-image: radial-gradient(circle at 0 0, #ffffff, #f2e6e6); | ||
| 114 | @extend .fcc; | ||
| 115 | |||
| 116 | .prod { | ||
| 117 | max-width: 200px; | ||
| 118 | max-height: 200px; | ||
| 119 | // margin-bottom: 10px; | ||
| 120 | } | ||
| 121 | |||
| 122 | .close { | ||
| 123 | width: 30px; | ||
| 124 | height: 30px; | ||
| 125 | position: absolute; | ||
| 126 | bottom: 0; | ||
| 127 | right: 0; | ||
| 128 | } | ||
| 129 | } | ||
| 130 | |||
| 131 | .name { | ||
| 132 | width: 160px; | ||
| 133 | margin: 8px auto 0; | ||
| 134 | color: #333333; | ||
| 135 | font-size: 20px; | ||
| 136 | // font-weight: 300; | ||
| 137 | } | ||
| 138 | |||
| 139 | .val { | ||
| 140 | @extend .fcc; | ||
| 141 | color: #b93138; | ||
| 142 | font-size: 20px; | ||
| 143 | margin-top: 12px; | ||
| 144 | |||
| 145 | .icon { | ||
| 146 | margin-left: 6px; | ||
| 147 | width: 11px; | ||
| 148 | height: 18px; | ||
| 149 | } | ||
| 150 | } | ||
| 151 | } | ||
| 152 | } |
| 1 | <view class="comp-item"> | ||
| 2 | <image class="bg" src="../../image/oss/tips/tips-border-big.png" mode="widthFix" /> | ||
| 3 | <view class="cont"> | ||
| 4 | <view class="space1"></view> | ||
| 5 | <view class="tit">· 恭喜获得 ·</view> | ||
| 6 | <view class="name">{{wishInfo.prizeName}}</view> | ||
| 7 | <!-- 心愿容器 --> | ||
| 8 | <view wx:if="{{wishInfo}}" class="wish"> | ||
| 9 | <view class="wish-item"> | ||
| 10 | <view class="display"> | ||
| 11 | <image wx:if="{{wishInfo.tag}}" class="prod" mode="aspectFit" src="../../image/prize/prize-{{wishInfo.tag}}.png" /> | ||
| 12 | </view> | ||
| 13 | </view> | ||
| 14 | </view> | ||
| 15 | <!-- 有库存 --> | ||
| 16 | <view wx:if="{{status == 1}}" class="stock stock1"> | ||
| 17 | <view class="tips">您可选择直接邮寄到家,或到附近丸美柜台自提</view> | ||
| 18 | <view class="tips2">ps:选择之后不可修改哦!</view> | ||
| 19 | </view> | ||
| 20 | <!-- 无库存 --> | ||
| 21 | <view wx:else class="stock stock2"> | ||
| 22 | <text class="tips">目前线上库存已不足\n需要女神亲自到丸美柜台领取哦!</text> | ||
| 23 | </view> | ||
| 24 | </view> | ||
| 25 | <view class="btn-wrap"> | ||
| 26 | <view bindtap="toSelfLiftHandler" class="btn">门店自提</view> | ||
| 27 | <view bindtap="toUserTableHandler" wx:if="{{status == 1}}" class="btn">直接邮寄</view> | ||
| 28 | </view> | ||
| 29 | </view> |
src/image/draw/draw-c2.png
0 → 100644
21 KB
src/image/oss/coupon-detail/cd-c22.png
0 → 100644
2.99 KB
src/image/oss/icon/icon-check.png
0 → 100644
431 Bytes
src/image/oss/icon/icon-close.png
0 → 100644
382 Bytes
src/image/oss/icon/icon-loc.png
0 → 100644
791 Bytes
57.3 KB
src/image/oss/tips/tips-prize.png
0 → 100644
39.9 KB
| ... | @@ -5,6 +5,7 @@ import Date from '../../utils/date'; | ... | @@ -5,6 +5,7 @@ import Date from '../../utils/date'; |
| 5 | let app = getApp(); | 5 | let app = getApp(); |
| 6 | Page({ | 6 | Page({ |
| 7 | data: { | 7 | data: { |
| 8 | nearbyStoreVisible: true, | ||
| 8 | userInfo: {}, | 9 | userInfo: {}, |
| 9 | used: false, //优惠券已使用,另外的样式 | 10 | used: false, //优惠券已使用,另外的样式 |
| 10 | couponInfo: { | 11 | couponInfo: { |
| ... | @@ -31,7 +32,6 @@ Page({ | ... | @@ -31,7 +32,6 @@ Page({ |
| 31 | }) | 32 | }) |
| 32 | this.initData(); | 33 | this.initData(); |
| 33 | }) | 34 | }) |
| 34 | |||
| 35 | }, | 35 | }, |
| 36 | initData() { | 36 | initData() { |
| 37 | // this.setData({ | 37 | // this.setData({ |
| ... | @@ -42,6 +42,11 @@ Page({ | ... | @@ -42,6 +42,11 @@ Page({ |
| 42 | onNearbyStoreHandler() { | 42 | onNearbyStoreHandler() { |
| 43 | 43 | ||
| 44 | }, | 44 | }, |
| 45 | hideMask() { | ||
| 46 | this.setData({ | ||
| 47 | nearbyStoreVisible: false | ||
| 48 | }) | ||
| 49 | }, | ||
| 45 | // 子组件事件 | 50 | // 子组件事件 |
| 46 | evtcomp(evt) { | 51 | evtcomp(evt) { |
| 47 | let { | 52 | let { | ... | ... |
| 1 | { | 1 | { |
| 2 | "navigationBarTitleText": "券详情", | 2 | "navigationBarTitleText": "券详情", |
| 3 | "usingComponents": { | 3 | "usingComponents": { |
| 4 | "use-notice-comp": "../../component/use-notice-comp/use-notice-comp" | 4 | "use-notice-comp": "../../component/use-notice-comp/use-notice-comp", |
| 5 | "tips-nearby-store-comp": "../../component/tips-nearby-store-comp/tips-nearby-store-comp", | ||
| 6 | "van-popup": "../../ui/vant-weapp/popup/index" | ||
| 5 | } | 7 | } |
| 6 | } | 8 | } | ... | ... |
| ... | @@ -35,3 +35,6 @@ | ... | @@ -35,3 +35,6 @@ |
| 35 | </view> | 35 | </view> |
| 36 | </view> | 36 | </view> |
| 37 | </view> | 37 | </view> |
| 38 | <van-popup show="{{ nearbyStoreVisible }}" position="bottom" bind:click-overlay="hideMask"> | ||
| 39 | <tips-nearby-store-comp bind:evtcomp="evtcomp" wish-info="{{curWish}}" status="{{status}}"></tips-nearby-store-comp> | ||
| 40 | </van-popup> | ... | ... |
| ... | @@ -17,7 +17,7 @@ Page({ | ... | @@ -17,7 +17,7 @@ Page({ |
| 17 | tipsWishVisible: false, | 17 | tipsWishVisible: false, |
| 18 | tipsShakeVisible: false, | 18 | tipsShakeVisible: false, |
| 19 | tipsCommonVisible: false, | 19 | tipsCommonVisible: false, |
| 20 | tipsCreateCompleteVisible: true, | 20 | tipsCreateCompleteVisible: false, |
| 21 | tipsInnerText: "", | 21 | tipsInnerText: "", |
| 22 | curStatus: 1, // 当前场景 | 22 | curStatus: 1, // 当前场景 |
| 23 | candidate: [], // 心愿候选列表 | 23 | candidate: [], // 心愿候选列表 | ... | ... |
| ... | @@ -21,26 +21,25 @@ Page({ | ... | @@ -21,26 +21,25 @@ Page({ |
| 21 | }, | 21 | }, |
| 22 | onShareAppMessage() {}, | 22 | onShareAppMessage() {}, |
| 23 | onLoad(options) { | 23 | onLoad(options) { |
| 24 | app.queryIndex().then((result) => { | 24 | let couponInfo = options; |
| 25 | let couponInfo = this.data.couponInfo; | ||
| 26 | couponInfo.startDateStr = new Date(couponInfo.startDate).toString("yyyy.MM.dd"); | 25 | couponInfo.startDateStr = new Date(couponInfo.startDate).toString("yyyy.MM.dd"); |
| 27 | couponInfo.endDateStr = new Date(couponInfo.endDate).toString("yyyy.MM.dd"); | 26 | couponInfo.endDateStr = new Date(couponInfo.endDate).toString("yyyy.MM.dd"); |
| 28 | this.setData({ | 27 | this.setData({ |
| 29 | userInfo: app.globalData.userInfo, | ||
| 30 | couponInfo: couponInfo | 28 | couponInfo: couponInfo |
| 31 | }) | 29 | }) |
| 30 | console.log("couponInfo:", couponInfo); | ||
| 32 | this.initData(); | 31 | this.initData(); |
| 33 | }) | ||
| 34 | |||
| 35 | }, | 32 | }, |
| 36 | initData() { | 33 | initData() { |
| 37 | // this.setData({ | 34 | app.queryIndex().then((result) => { |
| 38 | // couponInfo: app.globalData.curCoupon | 35 | this.setData({ |
| 39 | // }) | 36 | userInfo: app.globalData.userInfo |
| 37 | }) | ||
| 38 | }) | ||
| 40 | }, | 39 | }, |
| 41 | // 查看可用门店 | 40 | // 查看可用门店 |
| 42 | onNearbyStoreHandler() { | 41 | onNearbyStoreHandler(evt) { |
| 43 | 42 | console.log("onNearbyStoreHandler couponInfo:", this.data.couponInfo); | |
| 44 | }, | 43 | }, |
| 45 | // 子组件事件 | 44 | // 子组件事件 |
| 46 | evtcomp(evt) { | 45 | evtcomp(evt) { | ... | ... |
| ... | @@ -41,7 +41,7 @@ | ... | @@ -41,7 +41,7 @@ |
| 41 | 41 | ||
| 42 | .main { | 42 | .main { |
| 43 | .top-space { | 43 | .top-space { |
| 44 | height: 52px; | 44 | height: 40px; |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | .content { | 47 | .content { |
| ... | @@ -59,7 +59,7 @@ | ... | @@ -59,7 +59,7 @@ |
| 59 | position: relative; | 59 | position: relative; |
| 60 | margin: 32px auto 0; | 60 | margin: 32px auto 0; |
| 61 | width: 620px; | 61 | width: 620px; |
| 62 | height: 722px; | 62 | height: 859px; |
| 63 | 63 | ||
| 64 | .ebg { | 64 | .ebg { |
| 65 | position: absolute; | 65 | position: absolute; |
| ... | @@ -68,7 +68,7 @@ | ... | @@ -68,7 +68,7 @@ |
| 68 | top: 0; | 68 | top: 0; |
| 69 | margin: 0 auto; | 69 | margin: 0 auto; |
| 70 | width: 620px; | 70 | width: 620px; |
| 71 | height: 722px; | 71 | height: 859px; |
| 72 | } | 72 | } |
| 73 | 73 | ||
| 74 | .cont { | 74 | .cont { |
| ... | @@ -80,12 +80,13 @@ | ... | @@ -80,12 +80,13 @@ |
| 80 | 80 | ||
| 81 | // 二维码 | 81 | // 二维码 |
| 82 | .qrcode { | 82 | .qrcode { |
| 83 | width: 340px; | 83 | width: 300px; |
| 84 | height: 340px; | 84 | height: 300px; |
| 85 | background-color: wheat; | 85 | background-color: wheat; |
| 86 | margin: 0 auto; | 86 | margin: 0 auto; |
| 87 | } | 87 | } |
| 88 | 88 | ||
| 89 | // 数字码 | ||
| 89 | .code { | 90 | .code { |
| 90 | margin: 24px auto 0; | 91 | margin: 24px auto 0; |
| 91 | border-radius: 30px; | 92 | border-radius: 30px; |
| ... | @@ -95,6 +96,76 @@ | ... | @@ -95,6 +96,76 @@ |
| 95 | font-size: 38px; | 96 | font-size: 38px; |
| 96 | } | 97 | } |
| 97 | 98 | ||
| 99 | // 预约按钮 | ||
| 100 | .reservation-btn { | ||
| 101 | @include cb(300px, 80px); | ||
| 102 | margin: 74px auto 0; | ||
| 103 | font-size: 32px; | ||
| 104 | } | ||
| 105 | |||
| 106 | // 预约成功 | ||
| 107 | .reservation-complete { | ||
| 108 | position: relative; | ||
| 109 | width: 520px; | ||
| 110 | margin: 32px auto 0; | ||
| 111 | |||
| 112 | .tips { | ||
| 113 | text-align: center; | ||
| 114 | font-size: 24px; | ||
| 115 | color: #ba373e; | ||
| 116 | } | ||
| 117 | |||
| 118 | .line { | ||
| 119 | margin: 24px auto 0; | ||
| 120 | width: 100%; | ||
| 121 | height: 1px; | ||
| 122 | background-color: #f0d6d7; | ||
| 123 | } | ||
| 124 | |||
| 125 | .pos { | ||
| 126 | margin: 20px auto 0; | ||
| 127 | display: flex; | ||
| 128 | justify-content: space-between; | ||
| 129 | |||
| 130 | .info { | ||
| 131 | @extend .bb; | ||
| 132 | padding: 0 40px 0 20px; | ||
| 133 | |||
| 134 | .tit { | ||
| 135 | display: flex; | ||
| 136 | align-items: center; | ||
| 137 | font-size: 24px; | ||
| 138 | color: #333333; | ||
| 139 | |||
| 140 | .name {} | ||
| 141 | |||
| 142 | .distance { | ||
| 143 | margin-left: 16px; | ||
| 144 | color: #999999; | ||
| 145 | } | ||
| 146 | } | ||
| 147 | |||
| 148 | .address { | ||
| 149 | font-size: 20px; | ||
| 150 | color: #999999; | ||
| 151 | margin-top: 10px; | ||
| 152 | } | ||
| 153 | } | ||
| 154 | |||
| 155 | .loc { | ||
| 156 | width: 80px; | ||
| 157 | text-align: center; | ||
| 158 | color: #b83138; | ||
| 159 | font-size: 24px; | ||
| 160 | |||
| 161 | .icon { | ||
| 162 | width: 40px; | ||
| 163 | height: 49px; | ||
| 164 | } | ||
| 165 | } | ||
| 166 | } | ||
| 167 | } | ||
| 168 | |||
| 98 | .top { | 169 | .top { |
| 99 | display: flex; | 170 | display: flex; |
| 100 | margin: 0 auto 36px; | 171 | margin: 0 auto 36px; | ... | ... |
| ... | @@ -11,7 +11,7 @@ | ... | @@ -11,7 +11,7 @@ |
| 11 | <view class="content"> | 11 | <view class="content"> |
| 12 | <!-- 奖品 --> | 12 | <!-- 奖品 --> |
| 13 | <view class="prize"> | 13 | <view class="prize"> |
| 14 | <image class="ebg" mode="widthFix" src="../../image/oss/coupon-detail/cd-c1.png" /> | 14 | <image class="ebg" mode="widthFix" src="../../image/oss/coupon-detail/cd-c2.png" /> |
| 15 | <view class="cont {{used?'used':''}}"> | 15 | <view class="cont {{used?'used':''}}"> |
| 16 | <view class="space1"></view> | 16 | <view class="space1"></view> |
| 17 | <view class="top"> | 17 | <view class="top"> |
| ... | @@ -28,14 +28,32 @@ | ... | @@ -28,14 +28,32 @@ |
| 28 | <!-- 二维码 --> | 28 | <!-- 二维码 --> |
| 29 | <view class="qrcode"></view> | 29 | <view class="qrcode"></view> |
| 30 | <view class="code">{{couponInfo.couponCode}}</view> | 30 | <view class="code">{{couponInfo.couponCode}}</view> |
| 31 | <!-- 预约自提按钮 --> | ||
| 32 | <view wx:if="{{1<10}}" bindtap="onNearbyStoreHandler" class="reservation-btn">预约自提门店</view> | ||
| 33 | <!-- 预约成功 --> | ||
| 34 | <view wx:else class="reservation-complete"> | ||
| 35 | <view class="tips">您已成功预约,请在有效期内前往领取</view> | ||
| 36 | <view class="line"></view> | ||
| 37 | <view class="pos"> | ||
| 38 | <view class="info"> | ||
| 39 | <view class="tit"> | ||
| 40 | <view class="name">坂田天虹店</view> | ||
| 41 | <view class="distance">距您1.2公里</view> | ||
| 42 | </view> | ||
| 43 | <view class="address">地址:安徽省安庆市大观区集贤南路43号八佰伴购物中心一楼</view> | ||
| 44 | </view> | ||
| 45 | <view class="loc"> | ||
| 46 | <image class="icon" mode="widthFix" src="../../image/oss/icon/icon-loc.png" /> | ||
| 47 | <view class="txt">导航</view> | ||
| 48 | </view> | ||
| 49 | </view> | ||
| 50 | </view> | ||
| 31 | </view> | 51 | </view> |
| 32 | </view> | 52 | </view> |
| 33 | <!-- 使用说明 --> | 53 | <!-- 使用说明 --> |
| 34 | <view class="use-notice"> | 54 | <view class="use-notice"> |
| 35 | <use-notice-comp></use-notice-comp> | 55 | <use-notice-comp></use-notice-comp> |
| 36 | </view> | 56 | </view> |
| 37 | <!-- 查看门店 --> | ||
| 38 | <view bindtap="onNearbyStoreHandler" class="store-btn">查看可用门店</view> | ||
| 39 | </view> | 57 | </view> |
| 40 | </view> | 58 | </view> |
| 41 | </view> | 59 | </view> | ... | ... |
| 1 | let app = getApp(); | 1 | let app = getApp(); |
| 2 | Page({ | 2 | Page({ |
| 3 | data: {}, | 3 | data: { |
| 4 | tableIndex: 0, //0填写 1回显 | ||
| 5 | receiverName: "", | ||
| 6 | receiverMobile: "", | ||
| 7 | receiverAddress: "", | ||
| 8 | region: [], | ||
| 9 | regionStr: "", | ||
| 10 | prize: {} | ||
| 11 | }, | ||
| 4 | onShareAppMessage() {}, | 12 | onShareAppMessage() {}, |
| 5 | onLoad(options) {}, | 13 | onLoad(options) {}, |
| 6 | |||
| 7 | /** | 14 | /** |
| 8 | * 提交表单 | 15 | * 提交表单 |
| 9 | * @param {*} evt | 16 | * @param {*} evt |
| 10 | */ | 17 | */ |
| 11 | onSubmitHandler(evt) { | 18 | onSubmitHandler(evt) {}, |
| 12 | |||
| 13 | }, | ||
| 14 | /** | 19 | /** |
| 15 | * 返回心愿单页面 | 20 | * 返回心愿单页面 |
| 16 | * @param {*} evt | 21 | * @param {*} evt |
| ... | @@ -21,6 +26,17 @@ Page({ | ... | @@ -21,6 +26,17 @@ Page({ |
| 21 | path: "wish" | 26 | path: "wish" |
| 22 | }) | 27 | }) |
| 23 | }, | 28 | }, |
| 29 | bindRegionChange(e) { | ||
| 30 | let region = e.detail.value; | ||
| 31 | let regionStr = ""; | ||
| 32 | if (region.length > 0) { | ||
| 33 | regionStr = region.join(","); | ||
| 34 | } | ||
| 35 | this.setData({ | ||
| 36 | region, | ||
| 37 | regionStr | ||
| 38 | }) | ||
| 39 | }, | ||
| 24 | // 子组件事件 | 40 | // 子组件事件 |
| 25 | evtcomp(evt) { | 41 | evtcomp(evt) { |
| 26 | let { | 42 | let { | ... | ... |
| ... | @@ -163,7 +163,7 @@ $iptHeight:80px; | ... | @@ -163,7 +163,7 @@ $iptHeight:80px; |
| 163 | display: flex; | 163 | display: flex; |
| 164 | justify-content: center; | 164 | justify-content: center; |
| 165 | align-items: center; | 165 | align-items: center; |
| 166 | width: 150px; | 166 | width: 140px; |
| 167 | @extend .bb; | 167 | @extend .bb; |
| 168 | padding: 0 20px; | 168 | padding: 0 20px; |
| 169 | 169 | ... | ... |
| ... | @@ -22,7 +22,7 @@ | ... | @@ -22,7 +22,7 @@ |
| 22 | <view class="table"> | 22 | <view class="table"> |
| 23 | <image class="ebg" mode="widthFix" src="../../image/oss/user-table/user-table-c2.png" /> | 23 | <image class="ebg" mode="widthFix" src="../../image/oss/user-table/user-table-c2.png" /> |
| 24 | <!-- 编辑框 --> | 24 | <!-- 编辑框 --> |
| 25 | <view wx:if="{{1>10}}" class="border edit"> | 25 | <view wx:if="{{tableIndex == 0}}" class="border edit"> |
| 26 | <view class="space1"></view> | 26 | <view class="space1"></view> |
| 27 | <view class="tips">*请填写您的邮寄地址,我们将为您送出以上礼品</view> | 27 | <view class="tips">*请填写您的邮寄地址,我们将为您送出以上礼品</view> |
| 28 | <view class="form"> | 28 | <view class="form"> |
| ... | @@ -36,6 +36,7 @@ | ... | @@ -36,6 +36,7 @@ |
| 36 | </view> | 36 | </view> |
| 37 | <view class="ipt"> | 37 | <view class="ipt"> |
| 38 | <view class="label">区域</view> | 38 | <view class="label">区域</view> |
| 39 | <picker class="form-detail-item-label" mode="region" bindchange="bindRegionChange" value="{{region}}"> | ||
| 39 | <view class="input area"> | 40 | <view class="input area"> |
| 40 | <view class="area-item area-item2"> | 41 | <view class="area-item area-item2"> |
| 41 | 省 | 42 | 省 |
| ... | @@ -52,6 +53,7 @@ | ... | @@ -52,6 +53,7 @@ |
| 52 | <image class="icon" mode="widthFix" src="../../image/oss/icon/icon-drow-down.png" /> | 53 | <image class="icon" mode="widthFix" src="../../image/oss/icon/icon-drow-down.png" /> |
| 53 | </view> | 54 | </view> |
| 54 | </view> | 55 | </view> |
| 56 | </picker> | ||
| 55 | </view> | 57 | </view> |
| 56 | <view class="ipt ipt2"> | 58 | <view class="ipt ipt2"> |
| 57 | <view class="label">地址</view> | 59 | <view class="label">地址</view> | ... | ... |
| ... | @@ -11,10 +11,13 @@ let app = getApp(); | ... | @@ -11,10 +11,13 @@ let app = getApp(); |
| 11 | Page({ | 11 | Page({ |
| 12 | data: { | 12 | data: { |
| 13 | tipsRuleVisible: false, | 13 | tipsRuleVisible: false, |
| 14 | tipsPirzeVisible: false, | ||
| 14 | userInfo: {}, | 15 | userInfo: {}, |
| 15 | wishInfo: {}, | 16 | wishInfo: {}, |
| 16 | wishList: [], | 17 | wishList: [], |
| 17 | helperInfo: {} | 18 | helperInfo: {}, |
| 19 | curWish: {}, | ||
| 20 | status: 1, // 1正常(有库存) 2无库存 | ||
| 18 | }, | 21 | }, |
| 19 | onShareAppMessage() {}, | 22 | onShareAppMessage() {}, |
| 20 | onLoad(options) { | 23 | onLoad(options) { |
| ... | @@ -35,11 +38,20 @@ Page({ | ... | @@ -35,11 +38,20 @@ Page({ |
| 35 | onGetGiftHandler(evt) { | 38 | onGetGiftHandler(evt) { |
| 36 | let curData = getBindtapData(evt); | 39 | let curData = getBindtapData(evt); |
| 37 | console.log("curData:", curData); | 40 | console.log("curData:", curData); |
| 41 | this.setData({ | ||
| 42 | curWish: curData, | ||
| 43 | tipsPirzeVisible: true, | ||
| 44 | }) | ||
| 45 | return; | ||
| 38 | app.poster({ | 46 | app.poster({ |
| 39 | url: app.api.wishbillGiftAccept, | 47 | url: app.api.wishbillGiftAccept, |
| 40 | data: curData | 48 | data: curData |
| 41 | }).then((result) => { | 49 | }).then((result) => { |
| 42 | // let curData | 50 | // let curData |
| 51 | this.setData({ | ||
| 52 | curWish: curData, | ||
| 53 | tipsPirzeVisible: true, | ||
| 54 | }) | ||
| 43 | }); | 55 | }); |
| 44 | }, | 56 | }, |
| 45 | /** | 57 | /** |
| ... | @@ -121,6 +133,12 @@ Page({ | ... | @@ -121,6 +133,12 @@ Page({ |
| 121 | }) | 133 | }) |
| 122 | }); | 134 | }); |
| 123 | }, | 135 | }, |
| 136 | hideMask() { | ||
| 137 | this.setData({ | ||
| 138 | tipsRuleVisible: false, | ||
| 139 | tipsPirzeVisible: false, | ||
| 140 | }) | ||
| 141 | }, | ||
| 124 | // 子组件事件 | 142 | // 子组件事件 |
| 125 | evtcomp(evt) { | 143 | evtcomp(evt) { |
| 126 | let { | 144 | let { |
| ... | @@ -130,9 +148,7 @@ Page({ | ... | @@ -130,9 +148,7 @@ Page({ |
| 130 | switch (name) { | 148 | switch (name) { |
| 131 | 149 | ||
| 132 | case "_evt_hide_mask": | 150 | case "_evt_hide_mask": |
| 133 | this.setData({ | 151 | this.hideMask(); |
| 134 | tipsRuleVisible: false | ||
| 135 | }) | ||
| 136 | break; | 152 | break; |
| 137 | 153 | ||
| 138 | default: | 154 | default: | ... | ... |
| ... | @@ -3,6 +3,7 @@ | ... | @@ -3,6 +3,7 @@ |
| 3 | "usingComponents": { | 3 | "usingComponents": { |
| 4 | "authorize-comp": "../../component/authorize-comp/authorize-comp", | 4 | "authorize-comp": "../../component/authorize-comp/authorize-comp", |
| 5 | "tips-rule-comp": "../../component/tips-rule-comp/tips-rule-comp", | 5 | "tips-rule-comp": "../../component/tips-rule-comp/tips-rule-comp", |
| 6 | "tips-prize-comp": "../../component/tips-prize-comp/tips-prize-comp", | ||
| 6 | "van-popup": "../../ui/vant-weapp/popup/index" | 7 | "van-popup": "../../ui/vant-weapp/popup/index" |
| 7 | } | 8 | } |
| 8 | } | 9 | } | ... | ... |
| ... | @@ -20,7 +20,7 @@ | ... | @@ -20,7 +20,7 @@ |
| 20 | <view class="number">{{wishInfo.member.mobile}}</view> | 20 | <view class="number">{{wishInfo.member.mobile}}</view> |
| 21 | <view bindtap="onMyCardHandler" class="mycard">我的卡券</view> | 21 | <view bindtap="onMyCardHandler" class="mycard">我的卡券</view> |
| 22 | </view> | 22 | </view> |
| 23 | <!-- jiangp1 --> | 23 | <!-- 奖品 --> |
| 24 | <view class="wish"> | 24 | <view class="wish"> |
| 25 | <view wx:for="{{wishList}}" wx:key="{{index}}" class="wish-item"> | 25 | <view wx:for="{{wishList}}" wx:key="{{index}}" class="wish-item"> |
| 26 | <view class="display"> | 26 | <view class="display"> |
| ... | @@ -88,3 +88,6 @@ | ... | @@ -88,3 +88,6 @@ |
| 88 | <van-popup show="{{ tipsRuleVisible }}"> | 88 | <van-popup show="{{ tipsRuleVisible }}"> |
| 89 | <tips-rule-comp bind:evtcomp="evtcomp"></tips-rule-comp> | 89 | <tips-rule-comp bind:evtcomp="evtcomp"></tips-rule-comp> |
| 90 | </van-popup> | 90 | </van-popup> |
| 91 | <van-popup show="{{ tipsPirzeVisible }}"> | ||
| 92 | <tips-prize-comp bind:evtcomp="evtcomp" wish-info="{{curWish}}" status="{{status}}"></tips-prize-comp> | ||
| 93 | </van-popup> | ... | ... |
-
Please register or sign in to post a comment