Commit 4cafd66026209bfd525de81d44899bb5214ac711
Exists in
master
Merge branch 'master' of 121.40.31.31:jp/gulu-vue
Showing
7 changed files
Show diff stats
src/pages.json
| 1 | { | 1 | { |
| 2 | "pages": [ | 2 | "pages": [ |
| 3 | { | 3 | { |
| 4 | "path": "pages/index/index", | 4 | "path": "pages/index/index", |
| 5 | "style": { | 5 | "style": { |
| 6 | "navigationBarTitleText": "商城一览" | 6 | "navigationBarTitleText": "商城一览" |
| 7 | } | 7 | } |
| 8 | }, | 8 | }, |
| 9 | { | 9 | { |
| 10 | "path": "pages/user/user", | 10 | "path": "pages/user/user", |
| 11 | "style": { | 11 | "style": { |
| 12 | "navigationBarTitleText": "我的" | 12 | "navigationBarTitleText": "我的" |
| 13 | } | 13 | } |
| 14 | }, | 14 | }, |
| 15 | { | 15 | { |
| 16 | "path": "pages/addOpticsData/addOpticsData", | 16 | "path": "pages/addOpticsData/addOpticsData", |
| 17 | "style": { | 17 | "style": { |
| 18 | "navigationBarTitleText": "验光数据" | 18 | "navigationBarTitleText": "验光数据" |
| 19 | } | 19 | } |
| 20 | }, | 20 | }, |
| 21 | { | 21 | { |
| 22 | "path": "pages/detailsChoiceArgs/detailsChoiceArgs", | 22 | "path": "pages/detailsChoiceArgs/detailsChoiceArgs", |
| 23 | "style": { | 23 | "style": { |
| 24 | "navigationBarTitleText": "镜片名称名称" | 24 | "navigationBarTitleText": "镜片名称名称" |
| 25 | } | 25 | } |
| 26 | }, | 26 | }, |
| 27 | { | 27 | { |
| 28 | "path": "pages/purchaseLenses/purchaseLenses", | 28 | "path": "pages/purchaseLenses/purchaseLenses", |
| 29 | "style": { | 29 | "style": { |
| 30 | "navigationBarTitleText": "产品选购" | 30 | "navigationBarTitleText": "参数选择" |
| 31 | } | 31 | } |
| 32 | }, | 32 | }, |
| 33 | { | 33 | { |
| 34 | "path": "pages/lensDetails/lensDetails", | 34 | "path": "pages/lensDetails/lensDetails", |
| 35 | "style": { | 35 | "style": { |
| 36 | "navigationBarTitleText": "产品详情" | 36 | "navigationBarTitleText": "产品详情" |
| 37 | } | 37 | } |
| 38 | }, | 38 | }, |
| 39 | { | 39 | { |
| 40 | "path": "pages/myOrderPaying/myOrderPaying", | 40 | "path": "pages/myOrderPaying/myOrderPaying", |
| 41 | "style": { | 41 | "style": { |
| 42 | "navigationBarTitleText": "我的订单" | 42 | "navigationBarTitleText": "我的订单" |
| 43 | } | 43 | } |
| 44 | }, | 44 | }, |
| 45 | { | 45 | { |
| 46 | "path": "pages/myOrder/myOrder", | 46 | "path": "pages/myOrder/myOrder", |
| 47 | "style": { | 47 | "style": { |
| 48 | "navigationBarTitleText": "我的订单" | 48 | "navigationBarTitleText": "我的订单" |
| 49 | } | 49 | } |
| 50 | }, | 50 | }, |
| 51 | { | 51 | { |
| 52 | "path": "pages/cart/cart", | 52 | "path": "pages/cart/cart", |
| 53 | "style": { | 53 | "style": { |
| 54 | "navigationBarTitleText": "购物车" | 54 | "navigationBarTitleText": "购物车" |
| 55 | } | 55 | } |
| 56 | }, | 56 | }, |
| 57 | { | 57 | { |
| 58 | "path": "pages/frameDetail/frameDetail", | 58 | "path": "pages/frameDetail/frameDetail", |
| 59 | "style": { | 59 | "style": { |
| 60 | "navigationBarTitleText": "产品详情" | 60 | "navigationBarTitleText": "产品详情" |
| 61 | } | 61 | } |
| 62 | }, | 62 | }, |
| 63 | { | 63 | { |
| 64 | "path": "pages/refundProgress/refundProgress", | 64 | "path": "pages/refundProgress/refundProgress", |
| 65 | "style": { | 65 | "style": { |
| 66 | "navigationBarTitleText": "申请退款" | 66 | "navigationBarTitleText": "申请退款" |
| 67 | } | 67 | } |
| 68 | }, | 68 | }, |
| 69 | { | 69 | { |
| 70 | "path": "pages/address/addAddress", | 70 | "path": "pages/address/addAddress", |
| 71 | "style": { | 71 | "style": { |
| 72 | "navigationBarTitleText": "新增地址" | 72 | "navigationBarTitleText": "新增地址" |
| 73 | } | 73 | } |
| 74 | }, | 74 | }, |
| 75 | { | 75 | { |
| 76 | "path": "pages/address/addressList", | 76 | "path": "pages/address/addressList", |
| 77 | "style": { | 77 | "style": { |
| 78 | "navigationBarTitleText": "地址管理" | 78 | "navigationBarTitleText": "地址管理" |
| 79 | } | 79 | } |
| 80 | }, | 80 | }, |
| 81 | { | 81 | { |
| 82 | "path": "pages/confirmOrder/confirmOrder", | 82 | "path": "pages/confirmOrder/confirmOrder", |
| 83 | "style": { | 83 | "style": { |
| 84 | "navigationBarTitleText": "确认订单" | 84 | "navigationBarTitleText": "确认订单" |
| 85 | } | 85 | } |
| 86 | }, | 86 | }, |
| 87 | { | 87 | { |
| 88 | "path": "pages/refundment/refundWays", | 88 | "path": "pages/refundment/refundWays", |
| 89 | "style": { | 89 | "style": { |
| 90 | "navigationBarTitleText": "退款方式" | 90 | "navigationBarTitleText": "退款方式" |
| 91 | } | 91 | } |
| 92 | }, | 92 | }, |
| 93 | { | 93 | { |
| 94 | "path": "pages/refundment/refundment", | 94 | "path": "pages/refundment/refundment", |
| 95 | "style": { | 95 | "style": { |
| 96 | "navigationBarTitleText": "申请退款" | 96 | "navigationBarTitleText": "申请退款" |
| 97 | } | 97 | } |
| 98 | }, | 98 | }, |
| 99 | { | 99 | { |
| 100 | "path": "pages/predelivery/predelivery", | 100 | "path": "pages/predelivery/predelivery", |
| 101 | "style": { | 101 | "style": { |
| 102 | "navigationBarTitleText": "待发货" | 102 | "navigationBarTitleText": "待发货" |
| 103 | } | 103 | } |
| 104 | }, | 104 | }, |
| 105 | { | 105 | { |
| 106 | "path": "pages/customerService/customerService", | 106 | "path": "pages/customerService/customerService", |
| 107 | "style": { | 107 | "style": { |
| 108 | "navigationBarTitleText": "在线客服" | 108 | "navigationBarTitleText": "在线客服" |
| 109 | } | 109 | } |
| 110 | }, | 110 | }, |
| 111 | { | 111 | { |
| 112 | "path": "pages/detailStandard/detailStandard_sun", | 112 | "path": "pages/detailStandard/detailStandard_sun", |
| 113 | "style": { | 113 | "style": { |
| 114 | "navigationBarTitleText": "太阳镜选购页" | 114 | "navigationBarTitleText": "太阳镜选购页" |
| 115 | } | 115 | } |
| 116 | }, | 116 | }, |
| 117 | { | 117 | { |
| 118 | "path": "pages/detailStandard/detailStandard_k", | 118 | "path": "pages/detailStandard/detailStandard_k", |
| 119 | "style": { | 119 | "style": { |
| 120 | "navigationBarTitleText": "镜框选购页" | 120 | "navigationBarTitleText": "镜框选购页" |
| 121 | } | 121 | } |
| 122 | }, | 122 | }, |
| 123 | { | 123 | { |
| 124 | "path": "pages/newOpticsData/newOpticsData", | 124 | "path": "pages/newOpticsData/newOpticsData", |
| 125 | "style": { | 125 | "style": { |
| 126 | "navigationBarTitleText": "验光数据" | 126 | "navigationBarTitleText": "验光数据" |
| 127 | } | 127 | } |
| 128 | } | 128 | } |
| 129 | ], | 129 | ], |
| 130 | "globalStyle": { | 130 | "globalStyle": { |
| 131 | "navigationBarTextStyle": "black", | 131 | "navigationBarTextStyle": "black", |
| 132 | "navigationBarTitleText": "uni-app", | 132 | "navigationBarTitleText": "uni-app", |
| 133 | "navigationBarBackgroundColor": "#F8F8F8", | 133 | "navigationBarBackgroundColor": "#F8F8F8", |
| 134 | "backgroundColor": "#F8F8F8" | 134 | "backgroundColor": "#F8F8F8" |
| 135 | }, | 135 | }, |
| 136 | "tabBar": { | 136 | "tabBar": { |
| 137 | "color": "#C0C4CC", | 137 | "color": "#C0C4CC", |
| 138 | "selectedColor": "#fa436a", | 138 | "selectedColor": "#fa436a", |
| 139 | "borderStyle": "black", | 139 | "borderStyle": "black", |
| 140 | "backgroundColor": "#ffffff", | 140 | "backgroundColor": "#ffffff", |
| 141 | "list": [ | 141 | "list": [ |
| 142 | { | 142 | { |
| 143 | "pagePath": "pages/index/index", | 143 | "pagePath": "pages/index/index", |
| 144 | "iconPath": "static/tab-home.png", | 144 | "iconPath": "static/tab-home.png", |
| 145 | "selectedIconPath": "static/tab-home-current.png", | 145 | "selectedIconPath": "static/tab-home-current.png", |
| 146 | "text": "首页" | 146 | "text": "首页" |
| 147 | }, | 147 | }, |
| 148 | { | 148 | { |
| 149 | "pagePath": "pages/cart/cart", | 149 | "pagePath": "pages/cart/cart", |
| 150 | "iconPath": "static/tab-cart.png", | 150 | "iconPath": "static/tab-cart.png", |
| 151 | "selectedIconPath": "static/tab-cart-current.png", | 151 | "selectedIconPath": "static/tab-cart-current.png", |
| 152 | "text": "购物车" | 152 | "text": "购物车" |
| 153 | }, | 153 | }, |
| 154 | { | 154 | { |
| 155 | "pagePath": "pages/user/user", | 155 | "pagePath": "pages/user/user", |
| 156 | "iconPath": "static/tab-my.png", | 156 | "iconPath": "static/tab-my.png", |
| 157 | "selectedIconPath": "static/tab-my-current.png", | 157 | "selectedIconPath": "static/tab-my-current.png", |
| 158 | "text": "我的" | 158 | "text": "我的" |
| 159 | } | 159 | } |
| 160 | ] | 160 | ] |
| 161 | }, | 161 | }, |
| 162 | "condition": { | 162 | "condition": { |
| 163 | "current": 0, | 163 | "current": 0, |
| 164 | "list": [ | 164 | "list": [ |
| 165 | { | 165 | { |
| 166 | "name": "首页", | 166 | "name": "首页", |
| 167 | "path": "pages/index/index", | 167 | "path": "pages/index/index", |
| 168 | "query": "" | 168 | "query": "" |
| 169 | }, | 169 | }, |
| 170 | { | 170 | { |
| 171 | "name": "产品详情", | 171 | "name": "产品详情", |
| 172 | "path": "pages/frameDetail/frameDetail", | 172 | "path": "pages/frameDetail/frameDetail", |
| 173 | "query": "" | 173 | "query": "" |
| 174 | }, | 174 | }, |
| 175 | { | 175 | { |
| 176 | "name": "镜片、美瞳参数选择", | 176 | "name": "镜片、美瞳参数选择", |
| 177 | "path": "pages/purchaseLenses/purchaseLenses", | 177 | "path": "pages/purchaseLenses/purchaseLenses", |
| 178 | "query": "" | 178 | "query": "" |
| 179 | }, | 179 | }, |
| 180 | { | 180 | { |
| 181 | "name": "确认订单", | 181 | "name": "确认订单", |
| 182 | "path": "pages/confirmOrder/confirmOrder", | 182 | "path": "pages/confirmOrder/confirmOrder", |
| 183 | "query": "" | 183 | "query": "" |
| 184 | }, | 184 | }, |
| 185 | { | 185 | { |
| 186 | "name": "新增地址", | 186 | "name": "新增地址", |
| 187 | "path": "pages/address/addAddress", | 187 | "path": "pages/address/addAddress", |
| 188 | "query": "" | 188 | "query": "" |
| 189 | }, | 189 | }, |
| 190 | { | 190 | { |
| 191 | "name": "地址管理", | 191 | "name": "地址管理", |
| 192 | "path": "pages/address/addressList", | 192 | "path": "pages/address/addressList", |
| 193 | "query": "" | 193 | "query": "" |
| 194 | }, | 194 | }, |
| 195 | { | 195 | { |
| 196 | "name": "我的订单", | 196 | "name": "我的订单", |
| 197 | "path": "pages/myOrder/myOrder", | 197 | "path": "pages/myOrder/myOrder", |
| 198 | "query": "" | 198 | "query": "" |
| 199 | }, | 199 | }, |
| 200 | { | 200 | { |
| 201 | "name": "待付款订单详情", | 201 | "name": "待付款订单详情", |
| 202 | "path": "pages/myOrderPaying/myOrderPaying", | 202 | "path": "pages/myOrderPaying/myOrderPaying", |
| 203 | "query": "" | 203 | "query": "" |
| 204 | }, | 204 | }, |
| 205 | { | 205 | { |
| 206 | "name": "我的", | 206 | "name": "我的", |
| 207 | "path": "pages/user/user", | 207 | "path": "pages/user/user", |
| 208 | "query": "" | 208 | "query": "" |
| 209 | } | 209 | } |
| 210 | ] | 210 | ] |
| 211 | } | 211 | } |
| 212 | } | 212 | } |
src/pages/confirmOrder/confirmOrder.vue
| 1 | <template> | 1 | <template> |
| 2 | <view class="wrap"> | 2 | <view class="wrap"> |
| 3 | <view></view> | 3 | <view></view> |
| 4 | <view | 4 | <view |
| 5 | class="addAddress" | 5 | class="addAddress" |
| 6 | @tap="toaddAddress" | 6 | @tap="toaddAddress" |
| 7 | v-if="this.showAddress" | 7 | v-if="this.showAddress" |
| 8 | > | 8 | > |
| 9 | <view class="addIcon"> | 9 | <view class="addIcon"> |
| 10 | <image | 10 | <image |
| 11 | src="../../static/add.png" | 11 | src="../../static/add.png" |
| 12 | mode="aspectFill" | 12 | mode="aspectFill" |
| 13 | ></image> | 13 | ></image> |
| 14 | </view> | 14 | </view> |
| 15 | <view class="addressText">{{addAddress}}</view> | 15 | <view class="addressText">{{addAddress}}</view> |
| 16 | <image | 16 | <image |
| 17 | src="../../static/right.png" | 17 | src="../../static/right.png" |
| 18 | mode="aspectFill" | 18 | mode="aspectFill" |
| 19 | ></image> | 19 | ></image> |
| 20 | </view> | 20 | </view> |
| 21 | <view | 21 | <view |
| 22 | v-else | 22 | v-else |
| 23 | @tap="toaddAddress" | 23 | @tap="toaddAddress" |
| 24 | class="list order-user" | 24 | class="list order-user" |
| 25 | > | 25 | > |
| 26 | <view class="order-user-head"> | 26 | <view class="order-user-head"> |
| 27 | <view class="name"> | 27 | <view class="name"> |
| 28 | <view | 28 | <view |
| 29 | v-if="addressInfo.default === '1'" | 29 | v-if="addressInfo.default === '1'" |
| 30 | class="default" | 30 | class="default" |
| 31 | ><text>默认</text></view>{{addressInfo.name}} | 31 | ><text>默认</text></view>{{addressInfo.name}} |
| 32 | </view> | 32 | </view> |
| 33 | <text class="mobile">{{addressInfo.mobile}}</text> | 33 | <text class="mobile">{{addressInfo.mobile}}</text> |
| 34 | </view> | 34 | </view> |
| 35 | <view class="order-user-body"> | 35 | <view class="order-user-body"> |
| 36 | <image src="../../static/myorder-paying-location.png"></image> | 36 | <image src="../../static/myorder-paying-location.png"></image> |
| 37 | <text class="address">{{addressInfo.address.replace(/[-]/g,' ')}}\n{{addressInfo.add_detail}}</text> | 37 | <text class="address">{{addressInfo.address.replace(/[-]/g,' ')}}\n{{addressInfo.add_detail}}</text> |
| 38 | </view> | 38 | </view> |
| 39 | <image | 39 | <image |
| 40 | class="arrow" | 40 | class="arrow" |
| 41 | src="../../static/right.png" | 41 | src="../../static/right.png" |
| 42 | ></image> | 42 | ></image> |
| 43 | </view> | 43 | </view> |
| 44 | <view class="content"> | 44 | <view class="content"> |
| 45 | <view class="orderInfo"> | 45 | <view class="orderInfo"> |
| 46 | <view class="title"> | 46 | <view class="title"> |
| 47 | <image | 47 | <image |
| 48 | src="../../static/store.png" | 48 | src="../../static/store.png" |
| 49 | mode="aspectFill" | 49 | mode="aspectFill" |
| 50 | style="width: 40rpx;height: 40rpx;" | 50 | style="width: 40rpx;height: 40rpx;" |
| 51 | ></image> | 51 | ></image> |
| 52 | <text>非常戴镜</text> | 52 | <text>非常戴镜</text> |
| 53 | </view> | 53 | </view> |
| 54 | <view class="infoBox"> | 54 | <view class="infoBox"> |
| 55 | <view class="infoTop"> | 55 | <view class="infoTop"> |
| 56 | <image | 56 | <image |
| 57 | :src="goodInfo.img_index_url" | 57 | :src="goodInfo.img_index_url" |
| 58 | mode="aspectFill" | 58 | mode="aspectFill" |
| 59 | ></image> | 59 | ></image> |
| 60 | <view class="infoRight"> | 60 | <view class="infoRight"> |
| 61 | <text class="goodName">商品名称商品名称商品名称名称名称</text> | 61 | <text class="goodName">商品名称商品名称商品名称名称名称</text> |
| 62 | <text class="remarks">支持7天无理由退货 顺丰发货</text> | 62 | <text class="remarks">支持7天无理由退货 顺丰发货</text> |
| 63 | <view class="priceBox"> | 63 | <view class="priceBox"> |
| 64 | <view class="price">¥198</view> | 64 | <view class="price">¥198</view> |
| 65 | <view class="counter"> | 65 | <view class="counter"> |
| 66 | <view | 66 | <view |
| 67 | class="btn" | 67 | class="btn" |
| 68 | disabled="this.disabled" | 68 | disabled="this.disabled" |
| 69 | type="default" | 69 | type="default" |
| 70 | @click="counter(false)" | 70 | @click="counter(false)" |
| 71 | >-</view> | 71 | >-</view> |
| 72 | <text>{{count}}</text> | 72 | <text>{{count}}</text> |
| 73 | <view | 73 | <view |
| 74 | class="btn" | 74 | class="btn" |
| 75 | type="default" | 75 | type="default" |
| 76 | @click="counter(true)" | 76 | @click="counter(true)" |
| 77 | >+</view> | 77 | >+</view> |
| 78 | </view> | 78 | </view> |
| 79 | </view> | 79 | </view> |
| 80 | </view> | 80 | </view> |
| 81 | </view> | 81 | </view> |
| 82 | <view class="infoBottom"> | 82 | <view class="infoBottom"> |
| 83 | <view class="norm">规格 <text>玫瑰金/钛合金</text></view> | 83 | <view class="norm">规格 <text>玫瑰金/钛合金</text></view> |
| 84 | <view class="shippingMethod">配送方式 <text>快递</text></view> | 84 | <view class="shippingMethod">配送方式 <text>快递</text></view> |
| 85 | <view class="message">买家留言 | 85 | <view class="message">买家留言 |
| 86 | <input | 86 | <input |
| 87 | type="text" | 87 | type="text" |
| 88 | :value="note" | 88 | :value="note" |
| 89 | placeholder="建议提前协商(50字以内)" | 89 | placeholder="建议提前协商(50字以内)" |
| 90 | /> | 90 | /> |
| 91 | </view> | 91 | </view> |
| 92 | </view> | 92 | </view> |
| 93 | </view> | 93 | </view> |
| 94 | </view> | 94 | </view> |
| 95 | <view class="payWay"> | 95 | <view class="payWay"> |
| 96 | <view class="item"> | 96 | <view class="item"> |
| 97 | <text>支付方式</text> | 97 | <text>支付方式</text> |
| 98 | <view class="itemRight"> | 98 | <view class="itemRight"> |
| 99 | <view class="rightText"> | 99 | <view class="rightText"> |
| 100 | <view class="choosePayWay"> | 100 | <view class="choosePayWay"> |
| 101 | <image | 101 | <image |
| 102 | src="../../static/store.png" | 102 | src="../../static/store.png" |
| 103 | mode="aspectFill" | 103 | mode="aspectFill" |
| 104 | ></image> | 104 | ></image> |
| 105 | <text>微信支付</text> | 105 | <text>微信支付</text> |
| 106 | </view> | 106 | </view> |
| 107 | <view class="randomSubstraction">最高随机立减¥99</view> | 107 | <!-- <view class="randomSubstraction">最高随机立减¥99</view> --> |
| 108 | </view> | 108 | </view> |
| 109 | <image | 109 | <!-- <image |
| 110 | src="../../static/right.png" | 110 | src="../../static/right.png" |
| 111 | mode="aspectFill" | 111 | mode="aspectFill" |
| 112 | ></image> | 112 | ></image> --> |
| 113 | </view> | 113 | </view> |
| 114 | </view> | 114 | </view> |
| 115 | <view class="item"> | 115 | <!-- <view class="item"> |
| 116 | <text>优惠券</text> | 116 | <text>优惠券</text> |
| 117 | <view class="itemRight"> | 117 | <view class="itemRight"> |
| 118 | <view class="rightText"> | 118 | <view class="rightText"> |
| 119 | <view class="chooseOffers"> | 119 | <view class="chooseOffers"> |
| 120 | <text>-¥70.00</text> | 120 | <text>-¥70.00</text> |
| 121 | </view> | 121 | </view> |
| 122 | <view class="preferentialWay">最大优惠</view> | 122 | <view class="preferentialWay">最大优惠</view> |
| 123 | </view> | 123 | </view> |
| 124 | <image | 124 | <image |
| 125 | src="../../static/right.png" | 125 | src="../../static/right.png" |
| 126 | mode="aspectFill" | 126 | mode="aspectFill" |
| 127 | ></image> | 127 | ></image> |
| 128 | </view> | 128 | </view> |
| 129 | </view> | 129 | </view> --> |
| 130 | <view class="item"> | 130 | <view class="item"> |
| 131 | <text>运费</text> | 131 | <text>运费</text> |
| 132 | <view class="itemRight"> | 132 | <view class="itemRight"> |
| 133 | <view class="freight">¥{{freight}}</view> | 133 | <view class="freight">免运费</view> |
| 134 | </view> | 134 | </view> |
| 135 | </view> | 135 | </view> |
| 136 | <view class="item"> | 136 | <view class="item"> |
| 137 | <text>合计</text> | 137 | <text>合计</text> |
| 138 | <view class="itemRight"> | 138 | <view class="itemRight"> |
| 139 | <view class="total">¥{{total}}</view> | 139 | <view class="total">¥{{total}}</view> |
| 140 | </view> | 140 | </view> |
| 141 | </view> | 141 | </view> |
| 142 | </view> | 142 | </view> |
| 143 | <!-- | 143 | <!-- |
| 144 | <view class="checkBox"> | 144 | <view class="checkBox"> |
| 145 | <checkbox-group> | 145 | <checkbox-group> |
| 146 | <label> | 146 | <label> |
| 147 | <checkbox color="#FF6B4A" value="isAnonymous" checked="true" />匿名购买 | 147 | <checkbox color="#FF6B4A" value="isAnonymous" checked="true" />匿名购买 |
| 148 | </label> | 148 | </label> |
| 149 | </checkbox-group> | 149 | </checkbox-group> |
| 150 | </view> --> | 150 | </view> --> |
| 151 | </view> | 151 | </view> |
| 152 | <view class="footer"> | 152 | <view class="footer"> |
| 153 | <view class="footerLeft">实付金额:<text>¥{{total}}</text></view> | 153 | <view class="footerLeft">实付金额:<text>¥{{total}}</text></view> |
| 154 | <view class="footerRight"> | 154 | <view class="footerRight"> |
| 155 | <view | 155 | <view |
| 156 | class="paybtn" | 156 | class="paybtn" |
| 157 | @tap="orderBuild" | 157 | @tap="orderBuild" |
| 158 | >立即支付</view> | 158 | >立即支付</view> |
| 159 | </view> | 159 | </view> |
| 160 | </view> | 160 | </view> |
| 161 | </view> | 161 | </view> |
| 162 | </template> | 162 | </template> |
| 163 | 163 | ||
| 164 | <script> | 164 | <script> |
| 165 | import store from '@/store' | 165 | import store from '@/store' |
| 166 | 166 | ||
| 167 | export default { | 167 | export default { |
| 168 | data() { | 168 | data() { |
| 169 | return { | 169 | return { |
| 170 | addAddress: '添加收货地址', | 170 | addAddress: '添加收货地址', |
| 171 | count: 1, | 171 | count: 1, |
| 172 | pid: 0, | 172 | pid: 0, |
| 173 | disabled: false, | 173 | disabled: false, |
| 174 | total: 120, | 174 | total: 120, |
| 175 | freight: 0.00, | 175 | freight: 0.00, |
| 176 | showAddress: false, | 176 | showAddress: false, |
| 177 | note: '', | 177 | note: '', |
| 178 | addressInfo: { | 178 | addressInfo: { |
| 179 | address: '' | 179 | address: '' |
| 180 | } | 180 | } |
| 181 | // isAnonymous: | 181 | // isAnonymous: |
| 182 | } | 182 | } |
| 183 | }, | 183 | }, |
| 184 | onLoad({ pid, addressId }) { | 184 | onLoad({ pid, addressId }) { |
| 185 | this.pid = pid | 185 | this.pid = pid |
| 186 | // 若已经选择地址 | 186 | // 若已经选择地址 |
| 187 | if (addressId) { | 187 | if (addressId) { |
| 188 | store.dispatch('address/details', { | 188 | store.dispatch('address/details', { |
| 189 | add_id: addressId | 189 | add_id: addressId |
| 190 | }).then(({ code, data }) => { | 190 | }).then(({ code, data }) => { |
| 191 | if (code === 1) { | 191 | if (code === 1) { |
| 192 | console.log('code', code, data) | 192 | console.log('code', code, data) |
| 193 | this.showAddress = true | 193 | this.showAddress = true |
| 194 | this.addressInfo = data | 194 | this.addressInfo = data |
| 195 | } | 195 | } |
| 196 | }) | 196 | }) |
| 197 | } else { | 197 | } else { |
| 198 | store.dispatch('address/default').then(({ code, data }) => { | 198 | store.dispatch('address/default').then(({ code, data }) => { |
| 199 | if (code === 1) { | 199 | if (code === 1) { |
| 200 | console.log('code', code, data) | 200 | console.log('code', code, data) |
| 201 | this.showAddress = true | 201 | this.showAddress = true |
| 202 | this.addressInfo = data | 202 | this.addressInfo = data |
| 203 | } | 203 | } |
| 204 | }) | 204 | }) |
| 205 | } | 205 | } |
| 206 | store.dispatch('read/fetch', { | 206 | store.dispatch('read/fetch', { |
| 207 | pid | 207 | pid |
| 208 | }) | 208 | }) |
| 209 | }, | 209 | }, |
| 210 | computed: { | 210 | computed: { |
| 211 | goodInfo () { | 211 | goodInfo () { |
| 212 | console.log(this.$store.state.read.goodInfo) | 212 | console.log(this.$store.state.read.goodInfo) |
| 213 | return this.$store.state.read.goodInfo | 213 | return this.$store.state.read.goodInfo |
| 214 | } | 214 | } |
| 215 | }, | 215 | }, |
| 216 | methods: { | 216 | methods: { |
| 217 | counter(isadd) { | 217 | counter(isadd) { |
| 218 | if (isadd) { | 218 | if (isadd) { |
| 219 | this.count++ | 219 | this.count++ |
| 220 | } else { | 220 | } else { |
| 221 | this.count <= 1 ? this.disabled = true : this.count-- | 221 | this.count <= 1 ? this.disabled = true : this.count-- |
| 222 | } | 222 | } |
| 223 | }, | 223 | }, |
| 224 | toaddAddress() { | 224 | toaddAddress() { |
| 225 | uni.navigateTo({ | 225 | uni.navigateTo({ |
| 226 | url: `../address/addressList?edit=${1}`, | 226 | url: `../address/addressList?edit=${1}`, |
| 227 | success: res => {}, | 227 | success: res => {}, |
| 228 | fail: (error) => { console.log('跳转到地址列表页面失败====>', error) }, | 228 | fail: (error) => { console.log('跳转到地址列表页面失败====>', error) }, |
| 229 | complete: () => {} | 229 | complete: () => {} |
| 230 | }) | 230 | }) |
| 231 | }, | 231 | }, |
| 232 | // 加入购物车 | ||
| 233 | addCart() { | ||
| 234 | console.log('this', this.$store.state) | ||
| 235 | store.dispatch('cart/') | ||
| 236 | }, | ||
| 237 | // 下单 | ||
| 232 | orderBuild() { | 238 | orderBuild() { |
| 233 | console.log('this', this.$store.state) | 239 | console.log('this', this.$store.state) |
| 234 | // store.dispatch('order/build', { | 240 | // store.dispatch('order/build', { |
| 235 | // address: this.addressInfo, | 241 | // address: this.addressInfo, |
| 236 | // checkedGoods: [], | 242 | // checkedGoods: [], |
| 237 | // sk_id_arr: [], | 243 | // sk_id_arr: [], |
| 238 | // totalPrice: 101 | 244 | // totalPrice: 101 |
| 239 | // }) | 245 | // }) |
| 240 | } | 246 | } |
| 247 | // 支付 | ||
| 241 | // pay() { | 248 | // pay() { |
| 242 | // const openId = uni.getStorageSync('openid') | 249 | // const openId = uni.getStorageSync('openid') |
| 243 | // const fieldSet = { | 250 | // const fieldSet = { |
| 244 | // 'openid': this.$store.state.user.userInfo.openid, | 251 | // 'openid': this.$store.state.user.userInfo.openid, |
| 245 | // 'uid': this.$store.state.user.userInfo.uid, | 252 | // 'uid': this.$store.state.user.userInfo.uid, |
| 246 | // 'shopid': 0, | 253 | // 'shopid': 0, |
| 247 | // 'payCate': 2020, | 254 | // 'payCate': 2020, |
| 248 | // 'payMoney': , | 255 | // 'payMoney': , |
| 249 | // '' | 256 | // '' |
| 250 | // } | 257 | // } |
| 251 | // } | 258 | // } |
| 252 | } | 259 | } |
| 253 | } | 260 | } |
| 254 | </script> | 261 | </script> |
| 255 | 262 | ||
| 256 | <style lang="scss"> | 263 | <style lang="scss"> |
| 257 | .wrap { | 264 | .wrap { |
| 258 | height: 100vh; | 265 | height: 100vh; |
| 259 | background-color: #f2f2f2; | 266 | background-color: #f2f2f2; |
| 260 | font-family: PingFangSC-Regular; | 267 | font-family: PingFangSC-Regular; |
| 261 | letter-spacing: -0.23px; | 268 | letter-spacing: -0.23px; |
| 262 | position: absolute; | 269 | position: absolute; |
| 263 | } | 270 | } |
| 264 | .addAddress { | 271 | .addAddress { |
| 265 | background-color: #ffffff; | 272 | background-color: #ffffff; |
| 266 | box-sizing: border-box; | 273 | box-sizing: border-box; |
| 267 | height: 124rpx; | 274 | height: 124rpx; |
| 268 | width: 100%; | 275 | width: 100%; |
| 269 | display: flex; | 276 | display: flex; |
| 270 | align-items: center; | 277 | align-items: center; |
| 271 | padding: 0 40rpx; | 278 | padding: 0 40rpx; |
| 272 | .addIcon { | 279 | .addIcon { |
| 273 | background-color: #f2f2f2; | 280 | background-color: #f2f2f2; |
| 274 | height: 56rpx; | 281 | height: 56rpx; |
| 275 | width: 60rpx; | 282 | width: 60rpx; |
| 276 | border-radius: 4rpx; | 283 | border-radius: 4rpx; |
| 277 | display: flex; | 284 | display: flex; |
| 278 | justify-content: center; | 285 | justify-content: center; |
| 279 | align-items: center; | 286 | align-items: center; |
| 280 | margin-right: 40rpx; | 287 | margin-right: 40rpx; |
| 281 | } | 288 | } |
| 282 | image { | 289 | image { |
| 283 | height: 28rpx; | 290 | height: 28rpx; |
| 284 | width: 28rpx; | 291 | width: 28rpx; |
| 285 | } | 292 | } |
| 286 | .addressText { | 293 | .addressText { |
| 287 | font-size: 28rpx; | 294 | font-size: 28rpx; |
| 288 | color: #333333; | 295 | color: #333333; |
| 289 | margin-right: 364rpx; | 296 | margin-right: 364rpx; |
| 290 | } | 297 | } |
| 291 | } | 298 | } |
| 292 | .content { | 299 | .content { |
| 293 | background-color: #f2f2f2; | 300 | background-color: #f2f2f2; |
| 294 | width: 100%; | 301 | width: 100%; |
| 295 | display: flex; | 302 | display: flex; |
| 296 | flex-direction: column; | 303 | flex-direction: column; |
| 297 | justify-content: center; | 304 | justify-content: center; |
| 298 | align-items: center; | 305 | align-items: center; |
| 299 | padding: 40rpx; | 306 | padding: 40rpx; |
| 300 | box-sizing: border-box; | 307 | box-sizing: border-box; |
| 301 | .orderInfo { | 308 | .orderInfo { |
| 302 | width: 670rpx; | 309 | width: 670rpx; |
| 303 | height: 488rpx; | 310 | height: 488rpx; |
| 304 | background-color: #ffffff; | 311 | background-color: #ffffff; |
| 305 | border-radius: 20rpx; | 312 | border-radius: 20rpx; |
| 306 | box-sizing: border-box; | 313 | box-sizing: border-box; |
| 307 | padding: 0 40rpx 40rpx 40rpx; | 314 | padding: 0 40rpx 40rpx 40rpx; |
| 308 | .title { | 315 | .title { |
| 309 | display: flex; | 316 | display: flex; |
| 310 | align-items: center; | 317 | align-items: center; |
| 311 | font-size: 28rpx; | 318 | font-size: 28rpx; |
| 312 | color: #333333; | 319 | color: #333333; |
| 313 | height: 60rpx; | 320 | height: 60rpx; |
| 314 | line-height: 40rpx; | 321 | line-height: 40rpx; |
| 315 | padding: 10rpx 10rpx 10rpx 0rpx; | 322 | padding: 10rpx 10rpx 10rpx 0rpx; |
| 316 | image { | 323 | image { |
| 317 | margin-right: 20rpx; | 324 | margin-right: 20rpx; |
| 318 | } | 325 | } |
| 319 | } | 326 | } |
| 320 | .infoBox { | 327 | .infoBox { |
| 321 | margin-top: 42rpx; | 328 | margin-top: 42rpx; |
| 322 | .infoTop { | 329 | .infoTop { |
| 323 | display: flex; | 330 | display: flex; |
| 324 | flex-direction: row; | 331 | flex-direction: row; |
| 325 | image { | 332 | image { |
| 326 | height: 188rpx; | 333 | height: 188rpx; |
| 327 | width: 188rpx; | 334 | width: 188rpx; |
| 328 | margin-right: 24rpx; | 335 | margin-right: 24rpx; |
| 329 | } | 336 | } |
| 330 | .infoRight { | 337 | .infoRight { |
| 331 | width: 374rpx; | 338 | width: 374rpx; |
| 332 | display: flex; | 339 | display: flex; |
| 333 | flex-direction: column; | 340 | flex-direction: column; |
| 334 | align-items: flex-start; | 341 | align-items: flex-start; |
| 335 | justify-content: space-between; | 342 | justify-content: space-between; |
| 336 | .goodName { | 343 | .goodName { |
| 337 | font-size: 28rpx; | 344 | font-size: 28rpx; |
| 338 | color: #333333; | 345 | color: #333333; |
| 339 | } | 346 | } |
| 340 | .remarks { | 347 | .remarks { |
| 341 | font-size: 20rpx; | 348 | font-size: 20rpx; |
| 342 | color: #999999; | 349 | color: #999999; |
| 343 | } | 350 | } |
| 344 | .priceBox { | 351 | .priceBox { |
| 345 | display: flex; | 352 | display: flex; |
| 346 | justify-content: space-between; | 353 | justify-content: space-between; |
| 347 | align-items: center; | 354 | align-items: center; |
| 348 | width: 100%; | 355 | width: 100%; |
| 349 | .price { | 356 | .price { |
| 350 | color: #ff6b4a; | 357 | color: #ff6b4a; |
| 351 | font-size: 28rpx; | 358 | font-size: 28rpx; |
| 352 | } | 359 | } |
| 353 | .counter { | 360 | .counter { |
| 354 | display: flex; | 361 | display: flex; |
| 355 | flex-direction: row; | 362 | flex-direction: row; |
| 356 | justify-content: space-between; | 363 | justify-content: space-between; |
| 357 | font-size: 28rpx; | 364 | font-size: 28rpx; |
| 358 | color: #333333; | 365 | color: #333333; |
| 359 | width: 122rpx; | 366 | width: 122rpx; |
| 360 | .btn { | 367 | .btn { |
| 361 | display: flex; | 368 | display: flex; |
| 362 | justify-content: center; | 369 | justify-content: center; |
| 363 | line-height: 32rpx; | 370 | line-height: 32rpx; |
| 364 | height: 32rpx; | 371 | height: 32rpx; |
| 365 | width: 32rpx; | 372 | width: 32rpx; |
| 366 | background-color: #f2f2f2; | 373 | background-color: #f2f2f2; |
| 367 | color: #cfcfcf; | 374 | color: #cfcfcf; |
| 368 | } | 375 | } |
| 369 | } | 376 | } |
| 370 | } | 377 | } |
| 371 | } | 378 | } |
| 372 | } | 379 | } |
| 373 | .infoBottom { | 380 | .infoBottom { |
| 374 | display: flex; | 381 | display: flex; |
| 375 | flex-direction: column; | 382 | flex-direction: column; |
| 376 | justify-content: flex-start; | 383 | justify-content: flex-start; |
| 377 | font-size: 24rpx; | 384 | font-size: 24rpx; |
| 378 | color: #333333; | 385 | color: #333333; |
| 379 | text { | 386 | text { |
| 380 | color: #999999; | 387 | color: #999999; |
| 381 | margin-left: 20rpx; | 388 | margin-left: 20rpx; |
| 382 | } | 389 | } |
| 383 | 390 | ||
| 384 | .norm { | 391 | .norm { |
| 385 | margin-top: 28rpx; | 392 | margin-top: 28rpx; |
| 386 | } | 393 | } |
| 387 | .shippingMethod { | 394 | .shippingMethod { |
| 388 | margin-top: 12rpx; | 395 | margin-top: 12rpx; |
| 389 | } | 396 | } |
| 390 | .message { | 397 | .message { |
| 391 | display: flex; | 398 | display: flex; |
| 392 | flex-direction: row; | 399 | flex-direction: row; |
| 393 | align-items: center; | 400 | align-items: center; |
| 394 | margin-top: 18rpx; | 401 | margin-top: 18rpx; |
| 395 | input { | 402 | input { |
| 396 | margin-left: 20rpx; | 403 | margin-left: 20rpx; |
| 397 | width: 75%; | 404 | width: 75%; |
| 398 | } | 405 | } |
| 399 | } | 406 | } |
| 400 | } | 407 | } |
| 401 | } | 408 | } |
| 402 | } | 409 | } |
| 403 | .payWay { | 410 | .payWay { |
| 404 | height: 464rpx; | 411 | height: 464rpx; |
| 405 | width: 670rpx; | 412 | width: 670rpx; |
| 406 | background-color: #ffffff; | 413 | background-color: #ffffff; |
| 407 | color: #333333; | 414 | color: #333333; |
| 408 | font-size: 24rpx; | 415 | font-size: 24rpx; |
| 409 | border-radius: 20rpx; | 416 | border-radius: 20rpx; |
| 410 | box-sizing: border-box; | 417 | box-sizing: border-box; |
| 411 | padding: 0 52rpx 0rpx 40rpx; | 418 | padding: 0 52rpx 0rpx 40rpx; |
| 412 | margin-top: 20rpx; | 419 | margin-top: 20rpx; |
| 413 | display: flex; | 420 | display: flex; |
| 414 | flex-direction: column; | 421 | flex-direction: column; |
| 415 | justify-content: center; | 422 | justify-content: center; |
| 416 | align-items: flex-start; | 423 | align-items: flex-start; |
| 417 | .item { | 424 | .item { |
| 418 | display: flex; | 425 | display: flex; |
| 419 | flex-direction: row; | 426 | flex-direction: row; |
| 420 | justify-content: space-between; | 427 | justify-content: space-between; |
| 421 | align-items: center; | 428 | align-items: center; |
| 422 | width: 100%; | 429 | width: 100%; |
| 423 | height: 115rpx; | 430 | height: 115rpx; |
| 424 | .itemRight { | 431 | .itemRight { |
| 425 | display: flex; | 432 | display: flex; |
| 426 | flex-direction: row; | 433 | flex-direction: row; |
| 427 | justify-content: space-between; | 434 | justify-content: space-between; |
| 428 | align-items: center; | 435 | align-items: center; |
| 429 | image { | 436 | image { |
| 430 | height: 24rpx; | 437 | height: 24rpx; |
| 431 | width: 12rpx; | 438 | width: 12rpx; |
| 432 | } | 439 | } |
| 433 | .rightText { | 440 | .rightText { |
| 434 | margin-right: 20rpx; | 441 | margin-right: 20rpx; |
| 435 | text-align: right; | 442 | text-align: right; |
| 436 | .choosePayWay { | 443 | .choosePayWay { |
| 437 | text { | 444 | text { |
| 438 | color: #333333; | 445 | color: #333333; |
| 439 | } | 446 | } |
| 440 | image { | 447 | image { |
| 441 | height: 26rpx; | 448 | height: 26rpx; |
| 442 | width: 30rpx; | 449 | width: 30rpx; |
| 443 | margin-right: 20px; | 450 | margin-right: 20px; |
| 444 | } | 451 | } |
| 445 | } | 452 | } |
| 446 | .randomSubstraction { | 453 | .randomSubstraction { |
| 447 | color: #ff6b4a; | 454 | color: #ff6b4a; |
| 448 | } | 455 | } |
| 449 | .preferentialWay { | 456 | .preferentialWay { |
| 450 | color: #999999; | 457 | color: #999999; |
| 451 | } | 458 | } |
| 452 | } | 459 | } |
| 453 | .freight, | 460 | .freight, |
| 454 | .total { | 461 | .total { |
| 455 | margin-right: 32rpx; | 462 | margin-right: 32rpx; |
| 456 | } | 463 | } |
| 457 | text { | 464 | text { |
| 458 | color: #ff6b4a; | 465 | color: #ff6b4a; |
| 459 | } | 466 | } |
| 460 | } | 467 | } |
| 461 | } | 468 | } |
| 462 | } | 469 | } |
| 463 | // .checkBox { | 470 | // .checkBox { |
| 464 | // height: 58rpx; | 471 | // height: 58rpx; |
| 465 | // line-height: 58rpx; | 472 | // line-height: 58rpx; |
| 466 | // width: 100%; | 473 | // width: 100%; |
| 467 | // margin-top: 36rpx; | 474 | // margin-top: 36rpx; |
| 468 | // margin-left: 40rpx; | 475 | // margin-left: 40rpx; |
| 469 | // font-size: 12px; | 476 | // font-size: 12px; |
| 470 | // color: #999999; | 477 | // color: #999999; |
| 471 | // } | 478 | // } |
| 472 | } | 479 | } |
| 473 | .footer { | 480 | .footer { |
| 474 | height: 112rpx; | 481 | height: 112rpx; |
| 475 | width: 100%; | 482 | width: 100%; |
| 476 | background-color: #fff; | 483 | background-color: #fff; |
| 477 | font-size: 16px; | 484 | font-size: 16px; |
| 478 | display: flex; | 485 | display: flex; |
| 479 | justify-content: space-between; | 486 | justify-content: space-between; |
| 480 | align-items: center; | 487 | align-items: center; |
| 481 | position: fixed; | 488 | position: fixed; |
| 482 | bottom: 0; | 489 | bottom: 0; |
| 483 | .footerLeft { | 490 | .footerLeft { |
| 484 | display: flex; | 491 | display: flex; |
| 485 | justify-content: center; | 492 | justify-content: center; |
| 486 | align-items: center; | 493 | align-items: center; |
| 487 | width: 50%; | 494 | width: 50%; |
| 488 | color: #333333; | 495 | color: #333333; |
| 489 | text { | 496 | text { |
| 490 | color: #ff6b4a; | 497 | color: #ff6b4a; |
| 491 | } | 498 | } |
| 492 | } | 499 | } |
| 493 | .footerRight { | 500 | .footerRight { |
| 494 | display: flex; | 501 | display: flex; |
| 495 | justify-content: flex-end; | 502 | justify-content: flex-end; |
| 496 | align-items: center; | 503 | align-items: center; |
| 497 | width: 50%; | 504 | width: 50%; |
| 498 | margin-right: 26rpx; | 505 | margin-right: 26rpx; |
| 499 | .paybtn { | 506 | .paybtn { |
| 500 | display: flex; | 507 | display: flex; |
| 501 | justify-content: center; | 508 | justify-content: center; |
| 502 | align-items: center; | 509 | align-items: center; |
| 503 | background: #ff6b4a; | 510 | background: #ff6b4a; |
| 504 | border-radius: 20px; | 511 | border-radius: 20px; |
| 505 | border-radius: 20px; | 512 | border-radius: 20px; |
| 506 | color: #ffffff; | 513 | color: #ffffff; |
| 507 | width: 204rpx; | 514 | width: 204rpx; |
| 508 | height: 80rpx; | 515 | height: 80rpx; |
| 509 | } | 516 | } |
| 510 | } | 517 | } |
| 511 | } | 518 | } |
| 512 | // 地址信息样式 | 519 | // 地址信息样式 |
| 513 | .order-user { | 520 | .order-user { |
| 514 | width: 670rpx; | 521 | width: 670rpx; |
| 515 | height: 228rpx; | 522 | height: 228rpx; |
| 516 | background: #ffffff; | 523 | background: #ffffff; |
| 517 | border-radius: 14rpx; | 524 | border-radius: 14rpx; |
| 518 | margin: 0 auto; | 525 | margin: 0 auto; |
| 519 | margin-top: 20rpx; | 526 | margin-top: 20rpx; |
| 520 | position: relative; | 527 | position: relative; |
| 521 | .order-user-head { | 528 | .order-user-head { |
| 522 | display: flex; | 529 | display: flex; |
| 523 | height: 108rpx; | 530 | height: 108rpx; |
| 524 | width: 100%; | 531 | width: 100%; |
| 525 | align-items: center; | 532 | align-items: center; |
| 526 | margin-left: 126rpx; | 533 | margin-left: 126rpx; |
| 527 | .name { | 534 | .name { |
| 528 | display: flex; | 535 | display: flex; |
| 529 | justify-content: space-between; | 536 | justify-content: space-between; |
| 530 | font-size: 14px; | 537 | font-size: 14px; |
| 531 | color: #333333; | 538 | color: #333333; |
| 532 | letter-spacing: -0.26px; | 539 | letter-spacing: -0.26px; |
| 533 | margin-right: 20rpx; | 540 | margin-right: 20rpx; |
| 534 | .default { | 541 | .default { |
| 535 | height: 40rpx; | 542 | height: 40rpx; |
| 536 | width: 80rpx; | 543 | width: 80rpx; |
| 537 | background-color: #4a90e2; | 544 | background-color: #4a90e2; |
| 538 | border-radius: 13px; | 545 | border-radius: 13px; |
| 539 | border-radius: 13px; | 546 | border-radius: 13px; |
| 540 | text-align: center; | 547 | text-align: center; |
| 541 | margin-right: 20rpx; | 548 | margin-right: 20rpx; |
| 542 | text { | 549 | text { |
| 543 | font-size: 12px; | 550 | font-size: 12px; |
| 544 | color: #ffffff; | 551 | color: #ffffff; |
| 545 | letter-spacing: -0.23px; | 552 | letter-spacing: -0.23px; |
| 546 | } | 553 | } |
| 547 | } | 554 | } |
| 548 | } | 555 | } |
| 549 | .mobile { | 556 | .mobile { |
| 550 | font-size: 14px; | 557 | font-size: 14px; |
| 551 | color: #999999; | 558 | color: #999999; |
| 552 | letter-spacing: -0.26px; | 559 | letter-spacing: -0.26px; |
| 553 | } | 560 | } |
| 554 | } | 561 | } |
| 555 | .order-user-body { | 562 | .order-user-body { |
| 556 | display: flex; | 563 | display: flex; |
| 557 | width: 100%; | 564 | width: 100%; |
| 558 | image { | 565 | image { |
| 559 | width: 24px; | 566 | width: 24px; |
| 560 | height: 26px; | 567 | height: 26px; |
| 561 | margin: 12rpx 32rpx 0 40rpx; | 568 | margin: 12rpx 32rpx 0 40rpx; |
| 562 | } | 569 | } |
| 563 | .address { | 570 | .address { |
| 564 | font-weight: bold; | 571 | font-weight: bold; |
| 565 | font-size: 14px; | 572 | font-size: 14px; |
| 566 | color: #333333; | 573 | color: #333333; |
| 567 | letter-spacing: -0.26px; | 574 | letter-spacing: -0.26px; |
| 568 | } | 575 | } |
| 569 | } | 576 | } |
| 570 | .arrow { | 577 | .arrow { |
| 571 | width: 6px; | 578 | width: 6px; |
| 572 | height: 12px; | 579 | height: 12px; |
| 573 | position: absolute; | 580 | position: absolute; |
| 574 | right: 40rpx; | 581 | right: 40rpx; |
| 575 | bottom: 104rpx; | 582 | bottom: 104rpx; |
| 576 | } | 583 | } |
| 577 | } | 584 | } |
| 578 | </style> | 585 | </style> |
| 579 | 586 |
src/pages/myOrderPaying/myOrderPaying.vue
| 1 | <!-- 订单待付款 待收货 --> | 1 | <!-- 订单待付款 待收货 --> |
| 2 | <template> | 2 | <template> |
| 3 | <view class="content"> | 3 | <view class="content"> |
| 4 | <!-- 待付款 --> | 4 | <!-- 待付款 --> |
| 5 | <view | 5 | <view |
| 6 | class="order-time" | 6 | class="order-time" |
| 7 | v-if="status == '0'" | 7 | v-if="status == '0'" |
| 8 | > | 8 | > |
| 9 | <text>请在</text> | 9 | <text>请在</text> |
| 10 | <uni-countdown | 10 | <uni-countdown |
| 11 | color="#EC5D3B" | 11 | color="#EC5D3B" |
| 12 | splitor-color="#EC5D3B" | 12 | splitor-color="#EC5D3B" |
| 13 | :show-day="false" | 13 | :show-day="false" |
| 14 | :hour="0" | 14 | :hour="0" |
| 15 | :second="getTime" | 15 | :second="getTime" |
| 16 | @timeup=timeup | 16 | @timeup=timeup |
| 17 | ></uni-countdown> | 17 | ></uni-countdown> |
| 18 | <text>内完成付款</text> | 18 | <text>内完成付款</text> |
| 19 | </view> | 19 | </view> |
| 20 | <!-- 待收货 --> | 20 | <!-- 待收货 --> |
| 21 | <view | 21 | <view |
| 22 | class="headerBanner" | 22 | class="headerBanner" |
| 23 | v-if="status == '1'" | 23 | v-if="status == '1'" |
| 24 | > | 24 | > |
| 25 | <view class="bannerLeft"> | 25 | <view class="bannerLeft"> |
| 26 | <view class="T1">卖家已发货</view> | 26 | <view class="T1">卖家已发货</view> |
| 27 | <view class="T2">还剩 确认收货</view> | 27 | <view class="T2">还剩 确认收货</view> |
| 28 | </view> | 28 | </view> |
| 29 | <image | 29 | <image |
| 30 | src="../../static/car.png" | 30 | src="../../static/car.png" |
| 31 | mode="aspectFill" | 31 | mode="aspectFill" |
| 32 | ></image> | 32 | ></image> |
| 33 | </view> | 33 | </view> |
| 34 | <view class="order"> | 34 | <view class="order"> |
| 35 | <view class="order-user"> | 35 | <view class="order-user"> |
| 36 | <view class="order-user-head"> | 36 | <view class="order-user-head"> |
| 37 | <text class="p1">{{orderAddressInfo.userName}}</text> | 37 | <text class="p1">{{orderAddressInfo.userName}}</text> |
| 38 | <text class="p2">{{orderAddressInfo.telNumber}}</text> | 38 | <text class="p2">{{orderAddressInfo.telNumber}}</text> |
| 39 | </view> | 39 | </view> |
| 40 | <view class="order-user-body"> | 40 | <view class="order-user-body"> |
| 41 | <image src="../../static/myorder-paying-location.png"></image> | 41 | <image src="../../static/myorder-paying-location.png"></image> |
| 42 | <text class="p3">{{orderAddressInfo.provinceName}} {{orderAddressInfo.cityName}} {{orderAddressInfo.countyName}}\n{{orderAddressInfo.detailInfo}}</text> | 42 | <text class="p3">{{orderAddressInfo.provinceName}} {{orderAddressInfo.cityName}} {{orderAddressInfo.countyName}}\n{{orderAddressInfo.detailInfo}}</text> |
| 43 | </view> | 43 | </view> |
| 44 | </view> | 44 | </view> |
| 45 | <view class="order-info"> | 45 | <view class="order-info"> |
| 46 | <view | 46 | <view |
| 47 | class="order-info-head" | 47 | class="order-info-head" |
| 48 | v-for="(orderInfoListItem,index) in orderInfoList" | 48 | v-for="(orderInfoListItem,index) in orderInfoList" |
| 49 | :key="index" | 49 | :key="index" |
| 50 | > | 50 | > |
| 51 | <image | 51 | <image |
| 52 | :src="orderInfoListItem.imgUrl" | 52 | :src="orderInfoListItem.imgUrl" |
| 53 | mode="aspectFill" | 53 | mode="aspectFill" |
| 54 | ></image> | 54 | ></image> |
| 55 | <view class="order-info-head-r"> | 55 | <view class="order-info-head-r"> |
| 56 | <text class="p1">{{orderInfoListItem.p_name}}</text> | 56 | <text class="p1">{{orderInfoListItem.p_name}}</text> |
| 57 | <view | 57 | <view |
| 58 | class="p2" | 58 | class="p2" |
| 59 | style="margin: 0;" | 59 | style="margin: 0;" |
| 60 | > | 60 | > |
| 61 | 规格:玫瑰金 / 钛合金 / 防日光防紫外线 / 超薄超轻 | 61 | 规格:玫瑰金 / 钛合金 / 防日光防紫外线 / 超薄超轻 |
| 62 | <!-- <view class="arrow"></view> --> | 62 | <!-- <view class="arrow"></view> --> |
| 63 | </view> | 63 | </view> |
| 64 | <view class="infoText-bottom"> | 64 | <view class="infoText-bottom"> |
| 65 | <view class="markPrice">{{orderInfoListItem.nowPrice}}</view> | 65 | <view class="markPrice">{{orderInfoListItem.nowPrice}}</view> |
| 66 | <view class="buy-num">X {{orderInfoListItem.num}}</view> | 66 | <view class="buy-num">X {{orderInfoListItem.num}}</view> |
| 67 | </view> | 67 | </view> |
| 68 | </view> | 68 | </view> |
| 69 | </view> | 69 | </view> |
| 70 | <!-- <view class="order-info-goodsnum"> | 70 | <!-- <view class="order-info-goodsnum"> |
| 71 | <text>X1</text> | 71 | <text>X1</text> |
| 72 | </view> --> | 72 | </view> --> |
| 73 | <text class="order-info-freight"> | 73 | <text class="order-info-freight"> |
| 74 | <text class="p1">运费</text> | 74 | <text class="p1">运费</text> |
| 75 | <text class="p2">{{orderInfo.trans_price}}</text> | 75 | <text class="p2">{{orderInfo.trans_price}}</text> |
| 76 | </text> | 76 | </text> |
| 77 | <text class="order-info-discount"> | 77 | <text class="order-info-discount"> |
| 78 | <text class="p1">优惠</text> | 78 | <text class="p1">优惠</text> |
| 79 | <text class="p2">-¥{{totalDiscount}}</text> | 79 | <text class="p2">-¥{{totalDiscount}}</text> |
| 80 | </text> | 80 | </text> |
| 81 | <text class="order-info-price"> | 81 | <text class="order-info-price"> |
| 82 | <text class="p1">实付</text> | 82 | <text class="p1">实付</text> |
| 83 | <text class="p2">¥{{orderInfo.order_info[0].total_fee}}</text> | 83 | <text class="p2">¥{{orderInfo.order_info[0].total_fee}}</text> |
| 84 | </text> | 84 | </text> |
| 85 | <text class="order-info-num"> | 85 | <text class="order-info-num"> |
| 86 | <text>订单号:{{payId}}</text> | 86 | <text>订单号:{{payId}}</text> |
| 87 | </text> | 87 | </text> |
| 88 | <text class="order-info-time"> | 88 | <text class="order-info-time"> |
| 89 | <text>下单时间:{{orderInfo.order_info[0].pay_time | timerChange}}</text> | 89 | <text>下单时间:{{orderInfo.order_info[0].pay_time | timerChange}}</text> |
| 90 | </text> | 90 | </text> |
| 91 | <view class="order-info-hr"></view> | 91 | <view class="order-info-hr"></view> |
| 92 | <view class="order-info-contact"> | 92 | <view class="order-info-contact"> |
| 93 | <image src="../../static/myorder-paying-contact.png"></image> | 93 | <image src="../../static/myorder-paying-contact.png"></image> |
| 94 | <text>联系客服</text> | 94 | <text>联系客服</text> |
| 95 | </view> | 95 | </view> |
| 96 | </view> | 96 | </view> |
| 97 | </view> | 97 | </view> |
| 98 | <view | 98 | <view |
| 99 | class="order-confim" | 99 | class="order-confim" |
| 100 | v-if="status == '0'" | 100 | v-if="status == '0'" |
| 101 | > | 101 | > |
| 102 | <button | 102 | <button |
| 103 | class="b1" | 103 | class="b1" |
| 104 | @click="cancleOrder" | 104 | @click="cancleOrder" |
| 105 | >取消订单</button> | 105 | >取消订单</button> |
| 106 | <button | 106 | <button |
| 107 | class="b2" | 107 | class="b2" |
| 108 | @click="paylog" | 108 | @click="paylog" |
| 109 | >立即支付</button> | 109 | >立即支付</button> |
| 110 | </view> | 110 | </view> |
| 111 | 111 | ||
| 112 | <view | 112 | <view |
| 113 | class="order-confim" | 113 | class="order-confim" |
| 114 | v-if="status == '1'" | 114 | v-if="status == '1'" |
| 115 | > | 115 | > |
| 116 | <!-- <button class="b1">取消订单</button> --> | 116 | <!-- <button class="b1">取消订单</button> --> |
| 117 | <button | 117 | <button |
| 118 | class="b2" | 118 | class="b2" |
| 119 | @click="confirmOrder" | 119 | @click="confirmOrder" |
| 120 | >确认收货</button> | 120 | >确认收货</button> |
| 121 | </view> | 121 | </view> |
| 122 | </view> | 122 | </view> |
| 123 | </template> | 123 | </template> |
| 124 | 124 | ||
| 125 | <script> | 125 | <script> |
| 126 | import store from '@/store' | 126 | import store from '@/store' |
| 127 | import UniCountdown from '../../components/UniCountdown/UniCountdown.vue' | 127 | import UniCountdown from '../../components/UniCountdown/UniCountdown.vue' |
| 128 | export default { | 128 | export default { |
| 129 | components: { | 129 | components: { |
| 130 | UniCountdown | 130 | UniCountdown |
| 131 | }, | 131 | }, |
| 132 | data () { | 132 | data () { |
| 133 | return { | 133 | return { |
| 134 | // orderInfo:{}, | ||
| 135 | payId: '', | 134 | payId: '', |
| 136 | payTime: '', | 135 | payTime: '', |
| 137 | status: '', | 136 | status: '', |
| 138 | uid: '', | 137 | uid: '', |
| 139 | openid: '', | 138 | openid: '', |
| 140 | lefttime: 0 | 139 | lefttime: 0 |
| 141 | |||
| 142 | } | 140 | } |
| 143 | }, | 141 | }, |
| 144 | onLoad: function (option) { | 142 | onLoad: function (option) { |
| 145 | console.log(option) | 143 | console.log(option) |
| 146 | this.payId = option.payId | 144 | this.payId = option.payId |
| 147 | this.status = option.status | 145 | this.status = option.status |
| 148 | const openid = uni.getStorageSync('openid') | 146 | const openid = uni.getStorageSync('openid') |
| 149 | const uid = this.$store.state.user.uid | 147 | const uid = this.$store.state.user.uid |
| 150 | this.uid = uid | 148 | this.uid = uid |
| 151 | this.openid = openid | 149 | this.openid = openid |
| 152 | store.dispatch('orderRead/getOrderInfo', { | 150 | store.dispatch('orderRead/getOrderInfo', { |
| 153 | pay_id: this.payId, | 151 | pay_id: this.payId, |
| 154 | uid: '1', | 152 | uid: '1', |
| 155 | openid: openid | 153 | openid: openid |
| 156 | }) | 154 | }) |
| 157 | 155 | ||
| 158 | // this.orderInfo = this.$store.state.orderRead.orderInfo | 156 | // this.orderInfo = this.$store.state.orderRead.orderInfo |
| 159 | }, | 157 | }, |
| 160 | computed: { | 158 | computed: { |
| 161 | // 获取订单详细信息 | 159 | // 获取订单详细信息 |
| 162 | orderInfo () { | 160 | orderInfo () { |
| 163 | console.log(this.$store.state.orderRead.orderInfo) | 161 | console.log('orderInfo', this.$store.state.orderRead.orderInfo) |
| 164 | return this.$store.state.orderRead.orderInfo || {} | 162 | return this.$store.state.orderRead.orderInfo || {} |
| 165 | }, | 163 | }, |
| 166 | orderInfoList () { | 164 | orderInfoList () { |
| 167 | const orderInfoList = this.orderInfo.order_info[0].list | 165 | const orderInfoList = this.orderInfo.order_info[0].list |
| 168 | return orderInfoList | 166 | return orderInfoList |
| 169 | }, | 167 | }, |
| 170 | // 获取订单地址信息 | 168 | // 获取订单地址信息 |
| 171 | orderAddressInfo () { | 169 | orderAddressInfo () { |
| 172 | return this.orderInfo.order_info[0].address | 170 | return this.orderInfo.order_info[0].address |
| 173 | }, | 171 | }, |
| 174 | // 订单付款时间 | 172 | // 订单付款时间 |
| 175 | getTime () { | 173 | getTime () { |
| 176 | return this.orderInfo.order_info[0].lefttime | 174 | return this.orderInfo.order_info[0].lefttime |
| 177 | }, | 175 | }, |
| 178 | // 计算总优惠额 | 176 | // 计算总优惠额 |
| 179 | totalDiscount () { | 177 | totalDiscount () { |
| 180 | const discountInfoList = this.orderInfo.discount_info | 178 | const discountInfoList = this.orderInfo.discount_info |
| 181 | let totalDiscount = 0 | 179 | let totalDiscount = 0 |
| 182 | if (discountInfoList) { | 180 | if (discountInfoList) { |
| 183 | discountInfoList.map((discountItem, index) => { | 181 | discountInfoList.map((discountItem, index) => { |
| 184 | totalDiscount += Number(discountItem.value) | 182 | totalDiscount += Number(discountItem.value) |
| 185 | }) | 183 | }) |
| 186 | } | 184 | } |
| 187 | // console.log(totalDiscount) | 185 | // console.log(totalDiscount) |
| 188 | return totalDiscount | 186 | return totalDiscount |
| 189 | } | 187 | } |
| 190 | }, | 188 | }, |
| 191 | methods: { | 189 | methods: { |
| 192 | // 取消订单 | 190 | // 取消订单 |
| 193 | timeup () { | 191 | timeup () { |
| 194 | this.cancleOrder() | 192 | this.cancleOrder() |
| 195 | }, | 193 | }, |
| 196 | cancleOrder () { | 194 | cancleOrder () { |
| 197 | const uid = this.uid | 195 | const uid = this.uid |
| 198 | const openid = this.openid | 196 | const openid = this.openid |
| 199 | uni.showModal({ | 197 | uni.showModal({ |
| 200 | title: '提示', | 198 | title: '提示', |
| 201 | content: '现在取消,订单不可恢复哦,确认取消吗?', | 199 | content: '现在取消,订单不可恢复哦,确认取消吗?', |
| 202 | success: function (res) { | 200 | success: function (res) { |
| 203 | if (res.confirm) { | 201 | if (res.confirm) { |
| 204 | store.dispatch('cancelOrder/cancel', { | 202 | store.dispatch('cancelOrder/cancel', { |
| 205 | keyname: '1', | 203 | keyname: '1', |
| 206 | uid: uid, | 204 | uid: uid, |
| 207 | openid: openid | 205 | openid: openid |
| 208 | }) | 206 | }) |
| 209 | } else if (res.cancel) { | 207 | } else if (res.cancel) { |
| 210 | console.log('用户点击取消') | 208 | console.log('用户点击取消') |
| 211 | } | 209 | } |
| 212 | } | 210 | } |
| 213 | }) | 211 | }) |
| 214 | }, | 212 | }, |
| 215 | paylog () { | 213 | paylog () { |
| 216 | 214 | ||
| 217 | }, | 215 | }, |
| 218 | confirmOrder () { | 216 | confirmOrder () { |
| 219 | store.dispatch('statusConfirm/confirm', { | 217 | store.dispatch('statusConfirm/confirm', { |
| 220 | uid: this.uid, | 218 | uid: this.uid, |
| 221 | openid: this.openid, | 219 | openid: this.openid, |
| 222 | oldway: '1', | 220 | oldway: '1', |
| 223 | way: '2', | 221 | way: '2', |
| 224 | pay_id: this.payId, | 222 | pay_id: this.payId, |
| 225 | judgeContent: '', | 223 | judgeContent: '', |
| 226 | orderInfo: this.orderInfo.order_info | 224 | orderInfo: this.orderInfo.order_info |
| 227 | }).then( | 225 | }).then( |
| 228 | setTimeout(() => { | 226 | setTimeout(() => { |
| 229 | uni.navigateBack() | 227 | uni.navigateBack() |
| 230 | }, 1500) | 228 | }, 1500) |
| 231 | ) | 229 | ) |
| 232 | } | 230 | } |
| 233 | }, | 231 | }, |
| 234 | filters: { | 232 | filters: { |
| 235 | timerChange: function(value) { | 233 | timerChange: function(value) { |
| 236 | var newDate = new Date() | 234 | var newDate = new Date() |
| 237 | newDate.setTime(value * 1000) | 235 | newDate.setTime(value * 1000) |
| 238 | return newDate.toLocaleString() | 236 | return newDate.toLocaleString() |
| 239 | } | 237 | } |
| 240 | } | 238 | } |
| 241 | } | 239 | } |
| 242 | </script> | 240 | </script> |
| 243 | 241 | ||
| 244 | <style lang="scss" scoped> | 242 | <style lang="scss" scoped> |
| 245 | .content { | 243 | .content { |
| 246 | min-height: 100vh; | 244 | min-height: 100vh; |
| 247 | display: flex; | 245 | display: flex; |
| 248 | flex-direction: column; | 246 | flex-direction: column; |
| 249 | justify-content: flex-start; | 247 | justify-content: flex-start; |
| 250 | align-items: center; | 248 | align-items: center; |
| 251 | background-color: #f2f2f2; | 249 | background-color: #f2f2f2; |
| 252 | } | 250 | } |
| 253 | 251 | ||
| 254 | .order { | 252 | .order { |
| 255 | margin-bottom: 112rpx; | 253 | margin-bottom: 112rpx; |
| 256 | background: #f2f2f2; | 254 | background: #f2f2f2; |
| 257 | margin-top: 140rpx; | 255 | margin-top: 140rpx; |
| 258 | width: 670rpx; | 256 | width: 670rpx; |
| 259 | } | 257 | } |
| 260 | 258 | ||
| 261 | .order-time { | 259 | .order-time { |
| 262 | width: 100%; | 260 | width: 100%; |
| 263 | height: 140rpx; | 261 | height: 140rpx; |
| 264 | background-color: #fff; | 262 | background-color: #fff; |
| 265 | display: flex; | 263 | display: flex; |
| 266 | justify-content: center; | 264 | justify-content: center; |
| 267 | align-items: center; | 265 | align-items: center; |
| 268 | position: fixed; | 266 | position: fixed; |
| 269 | top: 0; | 267 | top: 0; |
| 270 | left: 0; | 268 | left: 0; |
| 271 | text { | 269 | text { |
| 272 | // font-family: PingFangSC-Regular; | 270 | // font-family: PingFangSC-Regular; |
| 273 | // margin-top: 48rpx; | 271 | // margin-top: 48rpx; |
| 274 | font-size: 14px; | 272 | font-size: 14px; |
| 275 | color: #333333; | 273 | color: #333333; |
| 276 | letter-spacing: -0.26px; | 274 | letter-spacing: -0.26px; |
| 277 | } | 275 | } |
| 278 | .p2 { | 276 | .p2 { |
| 279 | // font-family: DINAlternate-Bold; | 277 | // font-family: DINAlternate-Bold; |
| 280 | margin: 42rpx 20rpx 0 20rpx; | 278 | margin: 42rpx 20rpx 0 20rpx; |
| 281 | font-size: 18px; | 279 | font-size: 18px; |
| 282 | color: #ec5d3b; | 280 | color: #ec5d3b; |
| 283 | letter-spacing: -0.34px; | 281 | letter-spacing: -0.34px; |
| 284 | } | 282 | } |
| 285 | } | 283 | } |
| 286 | .headerBanner { | 284 | .headerBanner { |
| 287 | width: 100%; | 285 | width: 100%; |
| 288 | height: 140rpx; | 286 | height: 140rpx; |
| 289 | background: #4a90e2; | 287 | background: #4a90e2; |
| 290 | padding: 26rpx 60rpx 24rpx 60rpx; | 288 | padding: 26rpx 60rpx 24rpx 60rpx; |
| 291 | box-sizing: border-box; | 289 | box-sizing: border-box; |
| 292 | color: #ffffff; | 290 | color: #ffffff; |
| 293 | display: flex; | 291 | display: flex; |
| 294 | justify-content: space-between; | 292 | justify-content: space-between; |
| 295 | align-items: center; | 293 | align-items: center; |
| 296 | position: fixed; | 294 | position: fixed; |
| 297 | top: 0; | 295 | top: 0; |
| 298 | left: 0; | 296 | left: 0; |
| 299 | .bannerLeft { | 297 | .bannerLeft { |
| 300 | font-size: 36rpx; | 298 | font-size: 36rpx; |
| 301 | display: flex; | 299 | display: flex; |
| 302 | flex-direction: column; | 300 | flex-direction: column; |
| 303 | justify-content: center; | 301 | justify-content: center; |
| 304 | align-items: center; | 302 | align-items: center; |
| 305 | .T2 { | 303 | .T2 { |
| 306 | font-size: 24rpx; | 304 | font-size: 24rpx; |
| 307 | } | 305 | } |
| 308 | } | 306 | } |
| 309 | image { | 307 | image { |
| 310 | height: 56rpx; | 308 | height: 56rpx; |
| 311 | width: 72rpx; | 309 | width: 72rpx; |
| 312 | } | 310 | } |
| 313 | } | 311 | } |
| 314 | 312 | ||
| 315 | .order-user { | 313 | .order-user { |
| 316 | height: 228rpx; | 314 | height: 228rpx; |
| 317 | background: #ffffff; | 315 | background: #ffffff; |
| 318 | border-radius: 14rpx; | 316 | border-radius: 14rpx; |
| 319 | margin: 0 auto; | 317 | margin: 0 auto; |
| 320 | margin-top: 20rpx; | 318 | margin-top: 20rpx; |
| 321 | margin-bottom: 20rpx; | 319 | margin-bottom: 20rpx; |
| 322 | .order-user-head { | 320 | .order-user-head { |
| 323 | display: flex; | 321 | display: flex; |
| 324 | height: 108rpx; | 322 | height: 108rpx; |
| 325 | align-items: center; | 323 | align-items: center; |
| 326 | margin-left: 126rpx; | 324 | margin-left: 126rpx; |
| 327 | .p1 { | 325 | .p1 { |
| 328 | // font-family: PingFangSC-Regular; | 326 | // font-family: PingFangSC-Regular; |
| 329 | font-size: 14px; | 327 | font-size: 14px; |
| 330 | color: #333333; | 328 | color: #333333; |
| 331 | letter-spacing: -0.26px; | 329 | letter-spacing: -0.26px; |
| 332 | margin-right: 20rpx; | 330 | margin-right: 20rpx; |
| 333 | } | 331 | } |
| 334 | .p2 { | 332 | .p2 { |
| 335 | // font-family: PingFangSC-Regular; | 333 | // font-family: PingFangSC-Regular; |
| 336 | font-size: 14px; | 334 | font-size: 14px; |
| 337 | color: #999999; | 335 | color: #999999; |
| 338 | letter-spacing: -0.26px; | 336 | letter-spacing: -0.26px; |
| 339 | } | 337 | } |
| 340 | } | 338 | } |
| 341 | .order-user-body { | 339 | .order-user-body { |
| 342 | display: flex; | 340 | display: flex; |
| 343 | width: 100%; | 341 | width: 100%; |
| 344 | image { | 342 | image { |
| 345 | width: 24px; | 343 | width: 24px; |
| 346 | height: 26px; | 344 | height: 26px; |
| 347 | margin: 12rpx 32rpx 0 40rpx; | 345 | margin: 12rpx 32rpx 0 40rpx; |
| 348 | } | 346 | } |
| 349 | .p3 { | 347 | .p3 { |
| 350 | // font-family: PingFangSC-Semibold; | 348 | // font-family: PingFangSC-Semibold; |
| 351 | font-size: 14px; | 349 | font-size: 14px; |
| 352 | color: #333333; | 350 | color: #333333; |
| 353 | letter-spacing: -0.26px; | 351 | letter-spacing: -0.26px; |
| 354 | } | 352 | } |
| 355 | } | 353 | } |
| 356 | } | 354 | } |
| 357 | 355 | ||
| 358 | .order-info { | 356 | .order-info { |
| 359 | background-color: #fff; | 357 | background-color: #fff; |
| 360 | box-shadow: 0 0 20rpx 0 rgba(177, 128, 128, 0.06); | 358 | box-shadow: 0 0 20rpx 0 rgba(177, 128, 128, 0.06); |
| 361 | border-radius: 16rpx; | 359 | border-radius: 16rpx; |
| 362 | margin: 0 auto; | 360 | margin: 0 auto; |
| 363 | view { | 361 | view { |
| 364 | margin-left: 40rpx; | 362 | margin-left: 40rpx; |
| 365 | } | 363 | } |
| 366 | text { | 364 | text { |
| 367 | font-size: 14px; | 365 | font-size: 14px; |
| 368 | } | 366 | } |
| 369 | .order-info-head { | 367 | .order-info-head { |
| 370 | display: flex; | 368 | display: flex; |
| 371 | padding-top: 40rpx; | 369 | padding-top: 40rpx; |
| 372 | image { | 370 | image { |
| 373 | height: 188rpx; | 371 | height: 188rpx; |
| 374 | width: 188rpx; | 372 | width: 188rpx; |
| 375 | } | 373 | } |
| 376 | .order-info-head-r { | 374 | .order-info-head-r { |
| 377 | margin: 0; | 375 | margin: 0; |
| 378 | width: 368rpx; | 376 | width: 368rpx; |
| 379 | margin-left: 24rpx; | 377 | margin-left: 24rpx; |
| 380 | // margin-top: 40rpx; | 378 | // margin-top: 40rpx; |
| 381 | text { | 379 | text { |
| 382 | display: block; | 380 | display: block; |
| 383 | } | 381 | } |
| 384 | // .arrow{ | 382 | // .arrow{ |
| 385 | // width: 0; | 383 | // width: 0; |
| 386 | // height: 0; | 384 | // height: 0; |
| 387 | // border-left: 5px transparent; | 385 | // border-left: 5px transparent; |
| 388 | // border-right: 5px transparent; | 386 | // border-right: 5px transparent; |
| 389 | // border-top: 5px #979797; | 387 | // border-top: 5px #979797; |
| 390 | // border-bottom: 0 transparent; | 388 | // border-bottom: 0 transparent; |
| 391 | // border-style: solid; | 389 | // border-style: solid; |
| 392 | // position: relative; | 390 | // position: relative; |
| 393 | // // transform: scaleY(-1); | 391 | // // transform: scaleY(-1); |
| 394 | // } | 392 | // } |
| 395 | // .arrow::after{ | 393 | // .arrow::after{ |
| 396 | // content: ''; | 394 | // content: ''; |
| 397 | // position: absolute; | 395 | // position: absolute; |
| 398 | // top: -6.5px; | 396 | // top: -6.5px; |
| 399 | // left: -5px; | 397 | // left: -5px; |
| 400 | // border-left: 5px transparent; | 398 | // border-left: 5px transparent; |
| 401 | // border-right: 5px transparent; | 399 | // border-right: 5px transparent; |
| 402 | // border-top: 5px #FFFFFF; | 400 | // border-top: 5px #FFFFFF; |
| 403 | // border-bottom: 0 transparent; | 401 | // border-bottom: 0 transparent; |
| 404 | // border-style: solid; | 402 | // border-style: solid; |
| 405 | // } | 403 | // } |
| 406 | .p1 { | 404 | .p1 { |
| 407 | min-height: 40px; | 405 | min-height: 40px; |
| 408 | // font-family: PingFangSC-Regular; | 406 | // font-family: PingFangSC-Regular; |
| 409 | font-size: 14px; | 407 | font-size: 14px; |
| 410 | color: #333333; | 408 | color: #333333; |
| 411 | letter-spacing: -0.26px; | 409 | letter-spacing: -0.26px; |
| 412 | line-height: 18px; | 410 | line-height: 18px; |
| 413 | // line-height: 20px; | 411 | // line-height: 20px; |
| 414 | } | 412 | } |
| 415 | .p2 { | 413 | .p2 { |
| 416 | height: 34px; | 414 | height: 34px; |
| 417 | padding: 1px 0 3px 0; | 415 | padding: 1px 0 3px 0; |
| 418 | // font-family: PingFangSC-Regular; | 416 | // font-family: PingFangSC-Regular; |
| 419 | font-size: 12px; | 417 | font-size: 12px; |
| 420 | color: #999999; | 418 | color: #999999; |
| 421 | letter-spacing: -0.23px; | 419 | letter-spacing: -0.23px; |
| 422 | } | 420 | } |
| 423 | .infoText-bottom { | 421 | .infoText-bottom { |
| 424 | display: flex; | 422 | display: flex; |
| 425 | flex-direction: row; | 423 | flex-direction: row; |
| 426 | justify-content: flex-start; | 424 | justify-content: flex-start; |
| 427 | align-items: center; | 425 | align-items: center; |
| 428 | width: 100%; | 426 | width: 100%; |
| 429 | margin-left: 0; | 427 | margin-left: 0; |
| 430 | .markPrice { | 428 | .markPrice { |
| 431 | font-size: 14px; | 429 | font-size: 14px; |
| 432 | color: #ff6b4a; | 430 | color: #ff6b4a; |
| 433 | margin-right: 20rpx; | 431 | margin-right: 20rpx; |
| 434 | margin-left: 0rpx; | 432 | margin-left: 0rpx; |
| 435 | } | 433 | } |
| 436 | .buy-num { | 434 | .buy-num { |
| 437 | font-size: 12px; | 435 | font-size: 12px; |
| 438 | color: #999999; | 436 | color: #999999; |
| 439 | } | 437 | } |
| 440 | } | 438 | } |
| 441 | } | 439 | } |
| 442 | } | 440 | } |
| 443 | // .order-info-goodsnum { | 441 | // .order-info-goodsnum { |
| 444 | // display: flex; | 442 | // display: flex; |
| 445 | // align-items: center; | 443 | // align-items: center; |
| 446 | // justify-content: flex-end; | 444 | // justify-content: flex-end; |
| 447 | // text { | 445 | // text { |
| 448 | // margin-right: 44rpx; | 446 | // margin-right: 44rpx; |
| 449 | // // ont-family: PingFangSC-Regular; | 447 | // // ont-family: PingFangSC-Regular; |
| 450 | // font-size: 12px; | 448 | // font-size: 12px; |
| 451 | // color: #999999; | 449 | // color: #999999; |
| 452 | // letter-spacing: -0.23px; | 450 | // letter-spacing: -0.23px; |
| 453 | // } | 451 | // } |
| 454 | // } | 452 | // } |
| 455 | .order-info-freight { | 453 | .order-info-freight { |
| 456 | display: block; | 454 | display: block; |
| 457 | margin-left: 40rpx; | 455 | margin-left: 40rpx; |
| 458 | margin-top: 22rpx; | 456 | margin-top: 22rpx; |
| 459 | .p1 { | 457 | .p1 { |
| 460 | // font-family: PingFangSC-Regular; | 458 | // font-family: PingFangSC-Regular; |
| 461 | font-size: 14px; | 459 | font-size: 14px; |
| 462 | color: #333333; | 460 | color: #333333; |
| 463 | letter-spacing: -0.26px; | 461 | letter-spacing: -0.26px; |
| 464 | line-height: 18px; | 462 | line-height: 18px; |
| 465 | margin-right: 24px; | 463 | margin-right: 24px; |
| 466 | } | 464 | } |
| 467 | .p2 { | 465 | .p2 { |
| 468 | // font-family: PingFangSC-Regular; | 466 | // font-family: PingFangSC-Regular; |
| 469 | font-size: 14px; | 467 | font-size: 14px; |
| 470 | color: #ff6b4a; | 468 | color: #ff6b4a; |
| 471 | letter-spacing: -0.26px; | 469 | letter-spacing: -0.26px; |
| 472 | } | 470 | } |
| 473 | } | 471 | } |
| 474 | .order-info-discount { | 472 | .order-info-discount { |
| 475 | display: block; | 473 | display: block; |
| 476 | margin-left: 40rpx; | 474 | margin-left: 40rpx; |
| 477 | margin-top: 24rpx; | 475 | margin-top: 24rpx; |
| 478 | .p1 { | 476 | .p1 { |
| 479 | // font-family: PingFangSC-Regular; | 477 | // font-family: PingFangSC-Regular; |
| 480 | font-size: 14px; | 478 | font-size: 14px; |
| 481 | color: #333333; | 479 | color: #333333; |
| 482 | letter-spacing: -0.26px; | 480 | letter-spacing: -0.26px; |
| 483 | line-height: 18px; | 481 | line-height: 18px; |
| 484 | margin-right: 24px; | 482 | margin-right: 24px; |
| 485 | } | 483 | } |
| 486 | .p2 { | 484 | .p2 { |
| 487 | // font-family: PingFangSC-Regular; | 485 | // font-family: PingFangSC-Regular; |
| 488 | font-size: 14px; | 486 | font-size: 14px; |
| 489 | color: #ff6b4a; | 487 | color: #ff6b4a; |
| 490 | letter-spacing: -0.26px; | 488 | letter-spacing: -0.26px; |
| 491 | } | 489 | } |
| 492 | } | 490 | } |
| 493 | .order-info-price { | 491 | .order-info-price { |
| 494 | display: block; | 492 | display: block; |
| 495 | margin-left: 40rpx; | 493 | margin-left: 40rpx; |
| 496 | margin-top: 24rpx; | 494 | margin-top: 24rpx; |
| 497 | .p1 { | 495 | .p1 { |
| 498 | // font-family: PingFangSC-Semibold; | 496 | // font-family: PingFangSC-Semibold; |
| 499 | font-size: 14px; | 497 | font-size: 14px; |
| 500 | color: #333333; | 498 | color: #333333; |
| 501 | letter-spacing: -0.26px; | 499 | letter-spacing: -0.26px; |
| 502 | line-height: 18px; | 500 | line-height: 18px; |
| 503 | margin-right: 24px; | 501 | margin-right: 24px; |
| 504 | } | 502 | } |
| 505 | .p2 { | 503 | .p2 { |
| 506 | // font-family: PingFangSC-Semibold; | 504 | // font-family: PingFangSC-Semibold; |
| 507 | font-size: 14px; | 505 | font-size: 14px; |
| 508 | color: #ff6b4a; | 506 | color: #ff6b4a; |
| 509 | letter-spacing: -0.26px; | 507 | letter-spacing: -0.26px; |
| 510 | } | 508 | } |
| 511 | } | 509 | } |
| 512 | .order-info-num { | 510 | .order-info-num { |
| 513 | display: block; | 511 | display: block; |
| 514 | margin-left: 40rpx; | 512 | margin-left: 40rpx; |
| 515 | margin-top: 44rpx; | 513 | margin-top: 44rpx; |
| 516 | text { | 514 | text { |
| 517 | // font-family: PingFangSC-Regular; | 515 | // font-family: PingFangSC-Regular; |
| 518 | font-size: 12px; | 516 | font-size: 12px; |
| 519 | color: #999999; | 517 | color: #999999; |
| 520 | letter-spacing: -0.23px; | 518 | letter-spacing: -0.23px; |
| 521 | } | 519 | } |
| 522 | } | 520 | } |
| 523 | .order-info-time { | 521 | .order-info-time { |
| 524 | display: block; | 522 | display: block; |
| 525 | margin: 8rpx 0 48rpx 40rpx; | 523 | margin: 8rpx 0 48rpx 40rpx; |
| 526 | text { | 524 | text { |
| 527 | // font-family: PingFangSC-Regular; | 525 | // font-family: PingFangSC-Regular; |
| 528 | font-size: 12px; | 526 | font-size: 12px; |
| 529 | color: #999999; | 527 | color: #999999; |
| 530 | letter-spacing: -0.23px; | 528 | letter-spacing: -0.23px; |
| 531 | } | 529 | } |
| 532 | } | 530 | } |
| 533 | .order-info-hr { | 531 | .order-info-hr { |
| 534 | width: 520rpx; | 532 | width: 520rpx; |
| 535 | height: 1px; | 533 | height: 1px; |
| 536 | background-color: #e9e9e9; | 534 | background-color: #e9e9e9; |
| 537 | margin-bottom: 20rpx; | 535 | margin-bottom: 20rpx; |
| 538 | } | 536 | } |
| 539 | .order-info-contact { | 537 | .order-info-contact { |
| 540 | display: flex; | 538 | display: flex; |
| 541 | padding-bottom: 28rpx; | 539 | padding-bottom: 28rpx; |
| 542 | image { | 540 | image { |
| 543 | width: 19px; | 541 | width: 19px; |
| 544 | height: 16px; | 542 | height: 16px; |
| 545 | } | 543 | } |
| 546 | text { | 544 | text { |
| 547 | // font-family: PingFangSC-Regular; | 545 | // font-family: PingFangSC-Regular; |
| 548 | margin-left: 20rpx; | 546 | margin-left: 20rpx; |
| 549 | font-size: 14px; | 547 | font-size: 14px; |
| 550 | color: #333333; | 548 | color: #333333; |
| 551 | letter-spacing: -0.26px; | 549 | letter-spacing: -0.26px; |
| 552 | line-height: 18px; | 550 | line-height: 18px; |
| 553 | } | 551 | } |
| 554 | } | 552 | } |
| 555 | } | 553 | } |
| 556 | 554 | ||
| 557 | .order-confim { | 555 | .order-confim { |
| 558 | display: flex; | 556 | display: flex; |
| 559 | align-items: center; | 557 | align-items: center; |
| 560 | justify-content: flex-end; | 558 | justify-content: flex-end; |
| 561 | // z-index: 999; | 559 | // z-index: 999; |
| 562 | width: 100%; | 560 | width: 100%; |
| 563 | height: 112rpx; | 561 | height: 112rpx; |
| 564 | position: fixed; | 562 | position: fixed; |
| 565 | bottom: 0; | 563 | bottom: 0; |
| 566 | background: #ffffff; | 564 | background: #ffffff; |
| 567 | button { | 565 | button { |
| 568 | width: 204rpx; | 566 | width: 204rpx; |
| 569 | height: 80rpx; | 567 | height: 80rpx; |
| 570 | border: 1px solid #ff6b4a; | 568 | border: 1px solid #ff6b4a; |
| 571 | border-radius: 40rpx; | 569 | border-radius: 40rpx; |
| 572 | font-size: 32rpx; | 570 | font-size: 32rpx; |
| 573 | letter-spacing: -0.3px; | 571 | letter-spacing: -0.3px; |
| 574 | margin-right: 0; | 572 | margin-right: 0; |
| 575 | } | 573 | } |
| 576 | .b1 { | 574 | .b1 { |
| 577 | // font-family: PingFangSC-Regular; | 575 | // font-family: PingFangSC-Regular; |
| 578 | color: #ff6b4a; | 576 | color: #ff6b4a; |
| 579 | background-color: #ffffff; | 577 | background-color: #ffffff; |
| 580 | } | 578 | } |
| 581 | .b2 { | 579 | .b2 { |
| 582 | // font-family: PingFangSC-Regular; | 580 | // font-family: PingFangSC-Regular; |
| 583 | background-color: #ff6b4a; | 581 | background-color: #ff6b4a; |
| 584 | color: #ffffff; | 582 | color: #ffffff; |
| 585 | margin: 0 26rpx 0 20rpx; | 583 | margin: 0 26rpx 0 20rpx; |
| 586 | } | 584 | } |
| 587 | } | 585 | } |
| 588 | </style> | 586 | </style> |
| 589 | 587 |
src/pages/purchaseLenses/purchaseLenses.vue
| 1 | <template> | 1 | <template> |
| 2 | <view class="content"> | 2 | <view class="content"> |
| 3 | <view class="goodInfo"> | 3 | <view class="goodInfo"> |
| 4 | <view class="imageWrap"> | 4 | <view class="imageWrap"> |
| 5 | <image | 5 | <image |
| 6 | src="../../static/img/detail/d1.png" | 6 | src="../../static/img/detail/d1.png" |
| 7 | mode="aspectFill" | 7 | mode="aspectFill" |
| 8 | style="width: 188rpx;height: 168rpx;" | 8 | style="width: 188rpx;height: 168rpx;" |
| 9 | ></image> | 9 | ></image> |
| 10 | </view> | 10 | </view> |
| 11 | <view class="infoRight"> | 11 | <view class="infoRight"> |
| 12 | <text class="goodName">商品名称商品名称商品名称名称名称商品名称名商品名称名</text> | 12 | <text class="goodName">商品名称商品名称商品名称名称名称商品名称名商品名称名</text> |
| 13 | <text class="remarks">支持7天无理由退货 顺丰发货</text> | 13 | <text class="remarks">支持7天无理由退货 顺丰发货</text> |
| 14 | <view class="priceBox"> | 14 | <view class="priceBox"> |
| 15 | <view class="price">¥198</view> | 15 | <view class="price">¥198</view> |
| 16 | <text>(限购{{maxCount}}副)</text> | 16 | <text>(限购{{maxCount}}副)</text> |
| 17 | <view class="counter"> | 17 | <view class="counter"> |
| 18 | <view | 18 | <view |
| 19 | class="btn" | 19 | class="btn" |
| 20 | disabled="this.addDisabled" | 20 | disabled="this.addDisabled" |
| 21 | type="default" | 21 | type="default" |
| 22 | @click="counter(false)" | 22 | @click="counter(false)" |
| 23 | >-</view> | 23 | >-</view> |
| 24 | <text>{{count}}</text> | 24 | <text>{{count}}</text> |
| 25 | <view | 25 | <view |
| 26 | class="btn" | 26 | class="btn" |
| 27 | disabled="this.desDisabled" | 27 | disabled="this.desDisabled" |
| 28 | type="default" | 28 | type="default" |
| 29 | @click="counter(true)" | 29 | @click="counter(true)" |
| 30 | >+</view> | 30 | >+</view> |
| 31 | </view> | 31 | </view> |
| 32 | </view> | 32 | </view> |
| 33 | </view> | 33 | </view> |
| 34 | </view> | 34 | </view> |
| 35 | <view class="goods-data"> | 35 | <view class="goods-data"> |
| 36 | <view class="opCollapse"> | 36 | <view class="opCollapse"> |
| 37 | <view class="body"> | 37 | <view class="body"> |
| 38 | <template v-if="opIsOpen"> | 38 | <template v-if="opIsOpen"> |
| 39 | <view class="goods-form"> | 39 | <view class="goods-form"> |
| 40 | <view class="data-title"> | 40 | <view class="data-title"> |
| 41 | <image src="../../static/icon-data.png"></image> | 41 | <image src="../../static/icon-data.png"></image> |
| 42 | <text class="p1">填写验光数据</text> | 42 | <text class="p1">填写验光数据</text> |
| 43 | </view> | 43 | </view> |
| 44 | <text class="p2">没有验光数据?请到线下眼镜店验光哦~</text> | 44 | <text class="p2">没有验光数据?请到线下眼镜店验光哦~</text> |
| 45 | <view class="picker"> | 45 | <view class="picker"> |
| 46 | <view class="picker-choice"> | 46 | <view class="picker-choice"> |
| 47 | <view class="choice-left"> | 47 | <view class="choice-left"> |
| 48 | <text class="p11">验光单取名:</text> | 48 | <text class="p11">验光单取名:</text> |
| 49 | </view> | 49 | </view> |
| 50 | <input | 50 | <input |
| 51 | class="choice-name uni-input" | 51 | class="choice-name uni-input" |
| 52 | :value="dataName" | ||
| 53 | @blur="fillData" | ||
| 52 | placeholder="下系" | 54 | placeholder="下系" |
| 53 | /> | 55 | /> |
| 54 | </view> | 56 | </view> |
| 55 | </view> | 57 | </view> |
| 56 | <view class="picker"> | 58 | <view class="picker"> |
| 57 | <view class="picker-choice"> | 59 | <view class="picker-choice"> |
| 58 | <view class="choice-left"> | 60 | <view class="choice-left"> |
| 59 | <text class="p11">{{pickerInfoList[0].nameC}}</text> | 61 | <text class="p11">{{pickerInfoList[0].nameC}}</text> |
| 60 | <text class="p12">{{pickerInfoList[0].nameE}}</text> | 62 | <text class="p12">{{pickerInfoList[0].nameE}}</text> |
| 61 | </view> | 63 | </view> |
| 62 | <text class="p13">左 (OD)</text> | 64 | <text class="p13">左 (OD)</text> |
| 63 | <text class="p14">{{pickerInfoList[0].nameArray1[pickerInfoList[0].nameIndex1]}}</text> | 65 | <text class="p14">{{pickerInfoList[0].nameArray1[pickerInfoList[0].nameIndex1]}}</text> |
| 64 | <picker | 66 | <picker |
| 65 | @change="bindPickerChange01" | 67 | @change="bindPickerChange01" |
| 66 | :value="pickerInfoList[0].nameIndex1" | 68 | :value="pickerInfoList[0].nameIndex1" |
| 67 | :range="pickerInfoList[0].nameArray1" | 69 | :range="pickerInfoList[0].nameArray1" |
| 68 | > | 70 | > |
| 69 | <image src="../../static/detail-tabicon.png"></image> | 71 | <image src="../../static/detail-tabicon.png"></image> |
| 70 | </picker> | 72 | </picker> |
| 71 | <text class="p13">右 (OS)</text> | 73 | <text class="p13">右 (OS)</text> |
| 72 | <text class="p14">{{pickerInfoList[0].nameArray2[pickerInfoList[0].nameIndex2]}}</text> | 74 | <text class="p14">{{pickerInfoList[0].nameArray2[pickerInfoList[0].nameIndex2]}}</text> |
| 73 | <picker | 75 | <picker |
| 74 | @change="bindPickerChange02" | 76 | @change="bindPickerChange02" |
| 75 | :value="pickerInfoList[0].nameIndex2" | 77 | :value="pickerInfoList[0].nameIndex2" |
| 76 | :range="pickerInfoList[0].nameArray2" | 78 | :range="pickerInfoList[0].nameArray2" |
| 77 | > | 79 | > |
| 78 | <image src="../../static/detail-tabicon.png"></image> | 80 | <image src="../../static/detail-tabicon.png"></image> |
| 79 | </picker> | 81 | </picker> |
| 80 | </view> | 82 | </view> |
| 81 | </view> | 83 | </view> |
| 82 | <view class="picker"> | 84 | <view class="picker"> |
| 83 | <view class="picker-choice"> | 85 | <view class="picker-choice"> |
| 84 | <view class="choice-left"> | 86 | <view class="choice-left"> |
| 85 | <text class="p11">{{pickerInfoList[1].nameC}}</text> | 87 | <text class="p11">{{pickerInfoList[1].nameC}}</text> |
| 86 | <text class="p12">{{pickerInfoList[1].nameE}}</text> | 88 | <text class="p12">{{pickerInfoList[1].nameE}}</text> |
| 87 | </view> | 89 | </view> |
| 88 | <text class="p13">左 (OD)</text> | 90 | <text class="p13">左 (OD)</text> |
| 89 | <text class="p14">{{pickerInfoList[1].nameArray1[pickerInfoList[1].nameIndex1]}}</text> | 91 | <text class="p14">{{pickerInfoList[1].nameArray1[pickerInfoList[1].nameIndex1]}}</text> |
| 90 | <picker | 92 | <picker |
| 91 | @change="bindPickerChange11" | 93 | @change="bindPickerChange11" |
| 92 | :value="pickerInfoList[1].nameIndex1" | 94 | :value="pickerInfoList[1].nameIndex1" |
| 93 | :range="pickerInfoList[1].nameArray1" | 95 | :range="pickerInfoList[1].nameArray1" |
| 94 | > | 96 | > |
| 95 | <image src="../../static/detail-tabicon.png"></image> | 97 | <image src="../../static/detail-tabicon.png"></image> |
| 96 | </picker> | 98 | </picker> |
| 97 | <text class="p13">右 (OS)</text> | 99 | <text class="p13">右 (OS)</text> |
| 98 | <text class="p14">{{pickerInfoList[1].nameArray2[pickerInfoList[1].nameIndex2]}}</text> | 100 | <text class="p14">{{pickerInfoList[1].nameArray2[pickerInfoList[1].nameIndex2]}}</text> |
| 99 | <picker | 101 | <picker |
| 100 | @change="bindPickerChange12" | 102 | @change="bindPickerChange12" |
| 101 | :value="pickerInfoList[1].nameIndex2" | 103 | :value="pickerInfoList[1].nameIndex2" |
| 102 | :range="pickerInfoList[1].nameArray2" | 104 | :range="pickerInfoList[1].nameArray2" |
| 103 | > | 105 | > |
| 104 | <image src="../../static/detail-tabicon.png"></image> | 106 | <image src="../../static/detail-tabicon.png"></image> |
| 105 | </picker> | 107 | </picker> |
| 106 | </view> | 108 | </view> |
| 107 | </view> | 109 | </view> |
| 108 | <view class="picker"> | 110 | <view class="picker"> |
| 109 | <view class="picker-choice"> | 111 | <view class="picker-choice"> |
| 110 | <view class="choice-left"> | 112 | <view class="choice-left"> |
| 111 | <text class="p11">{{pickerInfoList[2].nameC}}</text> | 113 | <text class="p11">{{pickerInfoList[2].nameC}}</text> |
| 112 | <text class="p12">{{pickerInfoList[2].nameE}}</text> | 114 | <text class="p12">{{pickerInfoList[2].nameE}}</text> |
| 113 | </view> | 115 | </view> |
| 114 | <text class="p13">左 (OD)</text> | 116 | <text class="p13">左 (OD)</text> |
| 115 | <text class="p14">{{pickerInfoList[2].nameArray1[pickerInfoList[2].nameIndex1]}}</text> | 117 | <text class="p14">{{pickerInfoList[2].nameArray1[pickerInfoList[2].nameIndex1]}}</text> |
| 116 | <picker | 118 | <picker |
| 117 | @change="bindPickerChange21" | 119 | @change="bindPickerChange21" |
| 118 | :value="pickerInfoList[2].nameIndex1" | 120 | :value="pickerInfoList[2].nameIndex1" |
| 119 | :range="pickerInfoList[2].nameArray1" | 121 | :range="pickerInfoList[2].nameArray1" |
| 120 | > | 122 | > |
| 121 | <image src="../../static/detail-tabicon.png"></image> | 123 | <image src="../../static/detail-tabicon.png"></image> |
| 122 | </picker> | 124 | </picker> |
| 123 | <text class="p13">右 (OS)</text> | 125 | <text class="p13">右 (OS)</text> |
| 124 | <text class="p14">{{pickerInfoList[2].nameArray2[pickerInfoList[2].nameIndex2]}}</text> | 126 | <text class="p14">{{pickerInfoList[2].nameArray2[pickerInfoList[2].nameIndex2]}}</text> |
| 125 | <picker | 127 | <picker |
| 126 | @change="bindPickerChange22" | 128 | @change="bindPickerChange22" |
| 127 | :value="pickerInfoList[2].nameIndex2" | 129 | :value="pickerInfoList[2].nameIndex2" |
| 128 | :range="pickerInfoList[2].nameArray2" | 130 | :range="pickerInfoList[2].nameArray2" |
| 129 | > | 131 | > |
| 130 | <image src="../../static/detail-tabicon.png"></image> | 132 | <image src="../../static/detail-tabicon.png"></image> |
| 131 | </picker> | 133 | </picker> |
| 132 | </view> | 134 | </view> |
| 133 | </view> | 135 | </view> |
| 134 | <view class="picker"> | 136 | <view class="picker"> |
| 135 | <view class="picker-choice"> | 137 | <view class="picker-choice"> |
| 136 | <view class="choice-left"> | 138 | <view class="choice-left"> |
| 137 | <text class="p11">{{pickerInfoList[3].nameC}}</text> | 139 | <text class="p11">{{pickerInfoList[3].nameC}}</text> |
| 138 | <text class="p12">{{pickerInfoList[3].nameE}}</text> | 140 | <text class="p12">{{pickerInfoList[3].nameE}}</text> |
| 139 | </view> | 141 | </view> |
| 140 | <text class="p13">左 (OD)</text> | 142 | <text class="p13">左 (OD)</text> |
| 141 | <text class="p14">{{pickerInfoList[3].nameArray1[pickerInfoList[3].nameIndex1]}}</text> | 143 | <text class="p14">{{pickerInfoList[3].nameArray1[pickerInfoList[3].nameIndex1]}}</text> |
| 142 | <picker | 144 | <picker |
| 143 | @change="bindPickerChange31" | 145 | @change="bindPickerChange31" |
| 144 | :value="pickerInfoList[3].nameIndex1" | 146 | :value="pickerInfoList[3].nameIndex1" |
| 145 | :range="pickerInfoList[3].nameArray1" | 147 | :range="pickerInfoList[3].nameArray1" |
| 146 | > | 148 | > |
| 147 | <image src="../../static/detail-tabicon.png"></image> | 149 | <image src="../../static/detail-tabicon.png"></image> |
| 148 | </picker> | 150 | </picker> |
| 149 | <text class="p13">右 (OS)</text> | 151 | <text class="p13">右 (OS)</text> |
| 150 | <text class="p14">{{pickerInfoList[3].nameArray2[pickerInfoList[3].nameIndex2]}}</text> | 152 | <text class="p14">{{pickerInfoList[3].nameArray2[pickerInfoList[3].nameIndex2]}}</text> |
| 151 | <picker | 153 | <picker |
| 152 | @change="bindPickerChange32" | 154 | @change="bindPickerChange32" |
| 153 | :value="pickerInfoList[3].nameIndex2" | 155 | :value="pickerInfoList[3].nameIndex2" |
| 154 | :range="pickerInfoList[3].nameArray2" | 156 | :range="pickerInfoList[3].nameArray2" |
| 155 | > | 157 | > |
| 156 | <image src="../../static/detail-tabicon.png"></image> | 158 | <image src="../../static/detail-tabicon.png"></image> |
| 157 | </picker> | 159 | </picker> |
| 158 | </view> | 160 | </view> |
| 159 | </view> | 161 | </view> |
| 160 | <view class="picker"> | 162 | <view class="picker"> |
| 161 | <view class="picker-choice"> | 163 | <view class="picker-choice"> |
| 162 | <view class="choice-left"> | 164 | <view class="choice-left"> |
| 163 | <text class="p11">{{pickerInfoList[4].nameC}}</text> | 165 | <text class="p11">{{pickerInfoList[4].nameC}}</text> |
| 164 | </view> | 166 | </view> |
| 165 | <text class="p13-date">年 (Y)</text> | 167 | <text class="p13-date">年 (Y)</text> |
| 166 | <text | 168 | <text |
| 167 | class="p14" | 169 | class="p14" |
| 168 | style="width: 34px;" | 170 | style="width: 34px;" |
| 169 | >{{pickerInfoList[4].nameArray1[pickerInfoList[4].nameIndex1]}}</text> | 171 | >{{pickerInfoList[4].nameArray1[pickerInfoList[4].nameIndex1]}}</text> |
| 170 | <picker | 172 | <picker |
| 171 | @change="bindPickerChange41" | 173 | @change="bindPickerChange41" |
| 172 | :value="pickerInfoList[4].nameIndex1" | 174 | :value="pickerInfoList[4].nameIndex1" |
| 173 | :range="pickerInfoList[4].nameArray1" | 175 | :range="pickerInfoList[4].nameArray1" |
| 174 | > | 176 | > |
| 175 | <image src="../../static/detail-tabicon.png"></image> | 177 | <image src="../../static/detail-tabicon.png"></image> |
| 176 | </picker> | 178 | </picker> |
| 177 | <text class="p13-date">月 (M)</text> | 179 | <text class="p13-date">月 (M)</text> |
| 178 | <text | 180 | <text |
| 179 | class="p14" | 181 | class="p14" |
| 180 | style="width: 30px;" | 182 | style="width: 30px;" |
| 181 | >{{pickerInfoList[4].nameArray2[pickerInfoList[4].nameIndex2]}}</text> | 183 | >{{pickerInfoList[4].nameArray2[pickerInfoList[4].nameIndex2]}}</text> |
| 182 | <picker | 184 | <picker |
| 183 | @change="bindPickerChange42" | 185 | @change="bindPickerChange42" |
| 184 | :value="pickerInfoList[4].nameIndex2" | 186 | :value="pickerInfoList[4].nameIndex2" |
| 185 | :range="pickerInfoList[4].nameArray2" | 187 | :range="pickerInfoList[4].nameArray2" |
| 186 | > | 188 | > |
| 187 | <image src="../../static/detail-tabicon.png"></image> | 189 | <image src="../../static/detail-tabicon.png"></image> |
| 188 | </picker> | 190 | </picker> |
| 189 | <text class="p13-date">日 (D)</text> | 191 | <text class="p13-date">日 (D)</text> |
| 190 | <text | 192 | <text |
| 191 | class="p14" | 193 | class="p14" |
| 192 | style="width: 30px;" | 194 | style="width: 30px;" |
| 193 | >{{pickerInfoList[4].nameArray3[pickerInfoList[4].nameIndex3]}}</text> | 195 | >{{pickerInfoList[4].nameArray3[pickerInfoList[4].nameIndex3]}}</text> |
| 194 | <picker | 196 | <picker |
| 195 | @change="bindPickerChange43" | 197 | @change="bindPickerChange43" |
| 196 | :value="pickerInfoList[4].nameIndex3" | 198 | :value="pickerInfoList[4].nameIndex3" |
| 197 | :range="pickerInfoList[4].nameArray3" | 199 | :range="pickerInfoList[4].nameArray3" |
| 198 | > | 200 | > |
| 199 | <image src="../../static/detail-tabicon.png"></image> | 201 | <image src="../../static/detail-tabicon.png"></image> |
| 200 | </picker> | 202 | </picker> |
| 201 | </view> | 203 | </view> |
| 202 | </view> | 204 | </view> |
| 203 | <view class="confirm"> | 205 | <view class="confirm"> |
| 204 | <image | 206 | <image |
| 205 | :src="tablist.confirm ? tabicon[0] : tabicon[1]" | 207 | :src="tablist.confirm ? tabicon[0] : tabicon[1]" |
| 206 | @click="changeConfirm" | 208 | @click="changeConfirm" |
| 207 | ></image> | 209 | ></image> |
| 208 | <text>确认以上输入信息来源于我的验光数据!</text> | 210 | <text>确认以上输入信息来源于我的验光数据!</text> |
| 209 | </view> | 211 | </view> |
| 210 | </view> | 212 | </view> |
| 211 | 213 | ||
| 212 | </template> | 214 | </template> |
| 213 | <template v-else> | 215 | <template v-else> |
| 214 | <view | 216 | <view |
| 215 | v-for="item in pickerInfoList" | 217 | v-for="item in pickerInfoList" |
| 216 | :key="item.key" | 218 | :key="item.key" |
| 217 | class="bodyBox" | 219 | class="bodyBox" |
| 218 | > | 220 | > |
| 219 | <template v-if="item.nameC==='验光日期'"> | 221 | <template v-if="item.nameC==='验光日期'"> |
| 220 | <text class="names">{{item.nameC}}</text> | 222 | <text class="names">{{item.nameC}}</text> |
| 221 | <text style="margin-right: 5px;">{{item.nameArray1[item.nameIndex1]}}年</text> | 223 | <text style="margin-right: 5px;">{{item.nameArray1[item.nameIndex1]}}年</text> |
| 222 | <text style="margin-right: 5px;">{{item.nameArray2[item.nameIndex2]}}月</text> | 224 | <text style="margin-right: 5px;">{{item.nameArray2[item.nameIndex2]}}月</text> |
| 223 | <text>{{item.nameArray3[item.nameIndex2]}}日</text> | 225 | <text>{{item.nameArray3[item.nameIndex2]}}日</text> |
| 224 | </template> | 226 | </template> |
| 225 | <template v-else> | 227 | <template v-else> |
| 226 | <template v-if="item.nameC==='度数'"> | 228 | <template v-if="item.nameC==='度数'"> |
| 227 | <text style="display: inline;">*</text> | 229 | <text style="display: inline;">*</text> |
| 228 | </template> | 230 | </template> |
| 229 | 231 | ||
| 230 | <text class="names">{{item.nameC}}</text> | 232 | <text class="names">{{item.nameC}}</text> |
| 231 | <text style="margin-right: 10px;">左 {{item.nameArray1[item.nameIndex1]}}</text> | 233 | <text style="margin-right: 10px;">左 {{item.nameArray1[item.nameIndex1]}}</text> |
| 232 | <text>右 {{item.nameArray2[item.nameIndex2]}}</text> | 234 | <text>右 {{item.nameArray2[item.nameIndex2]}}</text> |
| 233 | </template> | 235 | </template> |
| 234 | </view> | 236 | </view> |
| 235 | </template> | 237 | </template> |
| 236 | </view> | 238 | </view> |
| 237 | </view> | 239 | </view> |
| 238 | </view> | 240 | </view> |
| 239 | <view class="choose"> | 241 | <view class="choose"> |
| 240 | <view | 242 | <view |
| 241 | class="chooseItem_1_content" | 243 | class="chooseItem_1_content" |
| 242 | v-for="(item,index) in attrList" | 244 | v-for="(item,index) in attrList" |
| 243 | :key="index" | 245 | :key="index" |
| 244 | > | 246 | > |
| 245 | <UniCollapse @change="change(index)"> | 247 | <UniCollapse @change="change(index)"> |
| 246 | <UniCollapseItem | 248 | <UniCollapseItem |
| 247 | :open="show[index]" | 249 | :open="show[index]" |
| 248 | :title="item.meta_name" | 250 | :title="item.meta_name" |
| 249 | showAnimation=false | 251 | showAnimation=false |
| 250 | > | 252 | > |
| 251 | <view class="chooseItem_1_content"> | 253 | <view class="chooseItem_1_content"> |
| 252 | <view class="itemsWrap"> | 254 | <view class="itemsWrap"> |
| 253 | <view | 255 | <view |
| 254 | class="item2" | 256 | class="item2" |
| 255 | v-for="(one,i) in item.attr" | 257 | v-for="(one,i) in item.attr" |
| 256 | :key="i" | 258 | :key="i" |
| 257 | :class="{ active2: current[index] === i }" | 259 | :class="{ active2: current[index] === i }" |
| 258 | @click="onClickItem(index, i)" | 260 | @click="onClickItem(index, i)" |
| 259 | >{{one.name}}</view> | 261 | >{{one.name}}</view> |
| 260 | </view> | 262 | </view> |
| 261 | </view> | 263 | </view> |
| 262 | </UniCollapseItem> | 264 | </UniCollapseItem> |
| 263 | </UniCollapse> | 265 | </UniCollapse> |
| 264 | <view | 266 | <view |
| 265 | class="chooseRes" | 267 | class="chooseRes" |
| 266 | v-show="!show[index]" | 268 | v-show="!show[index]" |
| 267 | >* {{attrList[index].attr[current[index]].name}}</view> | 269 | >* {{attrList[index].attr[current[index]].name}}</view> |
| 268 | </view> | 270 | </view> |
| 269 | <!-- <view class="chooseItem_1 chooseItem"> | 271 | <!-- <view class="chooseItem_1 chooseItem"> |
| 270 | <UniCollapse @change="change(1)"> | 272 | <UniCollapse @change="change(1)"> |
| 271 | <UniCollapseItem | 273 | <UniCollapseItem |
| 272 | open=true | 274 | open=true |
| 273 | title="款式挑选" | 275 | title="款式挑选" |
| 274 | showAnimation=false | 276 | showAnimation=false |
| 275 | > | 277 | > |
| 276 | <view | 278 | <view |
| 277 | class="chooseRes" | 279 | class="chooseRes" |
| 278 | v-show="show[1]" | 280 | v-show="show[1]" |
| 279 | >* {{chooseRes1}}</view> | 281 | >* {{chooseRes1}}</view> |
| 280 | <view class="chooseItem_1_content"> | 282 | <view class="chooseItem_1_content"> |
| 281 | <view class="itemsWrap"> | 283 | <view class="itemsWrap"> |
| 282 | <view | 284 | <view |
| 283 | class="item1" | 285 | class="item1" |
| 284 | v-for="(item,index) in chooseItem1" | 286 | v-for="(item,index) in chooseItem1" |
| 285 | :key="index" | 287 | :key="index" |
| 286 | :style="item.style" | 288 | :style="item.style" |
| 287 | :class="{ active1: current1 === index }" | 289 | :class="{ active1: current1 === index }" |
| 288 | @click="onClickItem1(index)" | 290 | @click="onClickItem1(index)" |
| 289 | ></view> | 291 | ></view> |
| 290 | </view> | 292 | </view> |
| 291 | </view> | 293 | </view> |
| 292 | </UniCollapseItem> | 294 | </UniCollapseItem> |
| 293 | </UniCollapse> | 295 | </UniCollapse> |
| 294 | <view | 296 | <view |
| 295 | class="chooseRes" | 297 | class="chooseRes" |
| 296 | v-show="show[1]" | 298 | v-show="show[1]" |
| 297 | >* {{chooseRes1}}</view> | 299 | >* {{chooseRes1}}</view> |
| 298 | </view> | 300 | </view> |
| 299 | <view class="chooseItem_2 chooseItem "> | 301 | <view class="chooseItem_2 chooseItem "> |
| 300 | <UniCollapse @change="change(2)"> | 302 | <UniCollapse @change="change(2)"> |
| 301 | <UniCollapseItem | 303 | <UniCollapseItem |
| 302 | open=true | 304 | open=true |
| 303 | title="直径" | 305 | title="直径" |
| 304 | showAnimation=false | 306 | showAnimation=false |
| 305 | > | 307 | > |
| 306 | <view class="chooseItem_1_content"> | 308 | <view class="chooseItem_1_content"> |
| 307 | <view class="itemsWrap"> | 309 | <view class="itemsWrap"> |
| 308 | <view | 310 | <view |
| 309 | class="item2" | 311 | class="item2" |
| 310 | v-for="(item,index) in chooseItem2" | 312 | v-for="(item,index) in chooseItem2" |
| 311 | :key="index" | 313 | :key="index" |
| 312 | :class="{ active2: current2 === index }" | 314 | :class="{ active2: current2 === index }" |
| 313 | @click="onClickItem2(index)" | 315 | @click="onClickItem2(index)" |
| 314 | >{{item.num}}</view> | 316 | >{{item.num}}</view> |
| 315 | </view> | 317 | </view> |
| 316 | </view> | 318 | </view> |
| 317 | </UniCollapseItem> | 319 | </UniCollapseItem> |
| 318 | </UniCollapse> | 320 | </UniCollapse> |
| 319 | <view | 321 | <view |
| 320 | class="chooseRes" | 322 | class="chooseRes" |
| 321 | v-show="show[2]" | 323 | v-show="show[2]" |
| 322 | >* {{chooseRes2}}</view> | 324 | >* {{chooseRes2}}</view> |
| 323 | </view> | 325 | </view> |
| 324 | <view class="chooseItem_3 chooseItem"> | 326 | <view class="chooseItem_3 chooseItem"> |
| 325 | <UniCollapse @change="change(3)"> | 327 | <UniCollapse @change="change(3)"> |
| 326 | <UniCollapseItem | 328 | <UniCollapseItem |
| 327 | open=true | 329 | open=true |
| 328 | title="度数" | 330 | title="度数" |
| 329 | showAnimation=false | 331 | showAnimation=false |
| 330 | > | 332 | > |
| 331 | <view class="chooseItem_1_content"> | 333 | <view class="chooseItem_1_content"> |
| 332 | <view class="itemsWrap"> | 334 | <view class="itemsWrap"> |
| 333 | <view | 335 | <view |
| 334 | class="item2" | 336 | class="item2" |
| 335 | v-for="(item,index) in chooseItem3" | 337 | v-for="(item,index) in chooseItem3" |
| 336 | :key="index" | 338 | :key="index" |
| 337 | :class="{ active2: current3 === index }" | 339 | :class="{ active2: current3 === index }" |
| 338 | @click="onClickItem3(index)" | 340 | @click="onClickItem3(index)" |
| 339 | >{{item}}</view> | 341 | >{{item}}</view> |
| 340 | </view> | 342 | </view> |
| 341 | </view> | 343 | </view> |
| 342 | </UniCollapseItem> | 344 | </UniCollapseItem> |
| 343 | </UniCollapse> | 345 | </UniCollapse> |
| 344 | <view | 346 | <view |
| 345 | class="chooseRes" | 347 | class="chooseRes" |
| 346 | v-show="show[3]" | 348 | v-show="show[3]" |
| 347 | >* {{chooseRes3}}</view> | 349 | >* {{chooseRes3}}</view> |
| 348 | </view> --> | 350 | </view> --> |
| 349 | </view> | 351 | </view> |
| 350 | <view | 352 | <view |
| 351 | class="button" | 353 | class="button" |
| 352 | @click="toComfirmOrder" | 354 | @click="toComfirmOrder" |
| 353 | > | 355 | > |
| 354 | 立即结算 | 356 | 立即结算 |
| 355 | </view> | 357 | </view> |
| 356 | </view> | 358 | </view> |
| 357 | </template> | 359 | </template> |
| 358 | 360 | ||
| 359 | <script> | 361 | <script> |
| 360 | import UniCollapse from '@/components/UniCollapse/UniCollapse.vue' | 362 | import UniCollapse from '@/components/UniCollapse/UniCollapse.vue' |
| 361 | import UniCollapseItem from '@/components/UniCollapseItem/UniCollapseItem.vue' | 363 | import UniCollapseItem from '@/components/UniCollapseItem/UniCollapseItem.vue' |
| 362 | import store from '@/store' | 364 | import store from '@/store' |
| 363 | 365 | ||
| 364 | export default { | 366 | export default { |
| 365 | components: { | 367 | components: { |
| 366 | UniCollapse, | 368 | UniCollapse, |
| 367 | UniCollapseItem | 369 | UniCollapseItem |
| 368 | }, | 370 | }, |
| 369 | data() { | 371 | data() { |
| 370 | return { | 372 | return { |
| 371 | count: 1, | 373 | count: 1, |
| 372 | pid: 0, | 374 | pid: 0, |
| 373 | maxCount: 20, | 375 | maxCount: 20, |
| 374 | isShow: true, | 376 | dataName: '', // 验光数据人员名称 |
| 377 | isDataName: false, | ||
| 375 | opIsOpen: true, | 378 | opIsOpen: true, |
| 376 | addDisabled: false, | 379 | addDisabled: false, |
| 377 | desDisabled: false, | 380 | desDisabled: false, |
| 378 | current1: 0, | 381 | current1: 0, |
| 379 | current2: 0, | 382 | current2: 0, |
| 380 | current3: 0, | 383 | current3: 0, |
| 381 | current: [], | 384 | current: [], |
| 382 | show: [], | 385 | show: [], |
| 383 | chooseRes1: { | 386 | chooseRes1: { |
| 384 | sku_name: 'Miss 黑二代【减龄自然】', | 387 | sku_name: 'Miss 黑二代【减龄自然】', |
| 385 | sk_id: '128' | 388 | sk_id: '128' |
| 386 | }, | 389 | }, |
| 390 | checkedData: { | ||
| 391 | |||
| 392 | }, | ||
| 387 | chooseRes2: '14.0', | 393 | chooseRes2: '14.0', |
| 388 | chooseRes3: 0, | 394 | chooseRes3: 0, |
| 389 | chooseItem1: [ | 395 | chooseItem1: [ |
| 390 | { style: 'opacity: 0.7;background-image: radial-gradient(50% 148%, #ECEAEA 50%, #8D8C8C 100%);', describ: 'Miss 黑1代【减龄自然】' }, | 396 | { style: 'opacity: 0.7;background-image: radial-gradient(50% 148%, #ECEAEA 50%, #8D8C8C 100%);', describ: 'Miss 黑1代【减龄自然】' }, |
| 391 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);', describ: 'Miss 黑二代【防紫外线】' }, | 397 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);', describ: 'Miss 黑二代【防紫外线】' }, |
| 392 | { style: 'background-image: radial-gradient(50% 148%, #FDF8F6 50%, #94380B 100%);', describ: 'Miss 黑3代【防紫外线】' }, | 398 | { style: 'background-image: radial-gradient(50% 148%, #FDF8F6 50%, #94380B 100%);', describ: 'Miss 黑3代【防紫外线】' }, |
| 393 | { style: 'background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);', describ: 'Miss 黑4代【防紫外线】' }, | 399 | { style: 'background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);', describ: 'Miss 黑4代【防紫外线】' }, |
| 394 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);', describ: 'Miss 黑5代【防紫外线】' }, | 400 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);', describ: 'Miss 黑5代【防紫外线】' }, |
| 395 | { style: 'opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);', describ: 'Miss 黑6代【防紫外线】' }, | 401 | { style: 'opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);', describ: 'Miss 黑6代【防紫外线】' }, |
| 396 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);', describ: 'Miss 黑7代【防紫外线】' }, | 402 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);', describ: 'Miss 黑7代【防紫外线】' }, |
| 397 | { style: 'background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);', describ: 'Miss 黑4代【防紫外线】' }, | 403 | { style: 'background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);', describ: 'Miss 黑4代【防紫外线】' }, |
| 398 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);', describ: 'Miss 黑5代【防紫外线】' }, | 404 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);', describ: 'Miss 黑5代【防紫外线】' }, |
| 399 | { style: 'opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);', describ: 'Miss 黑6代【防紫外线】' }, | 405 | { style: 'opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);', describ: 'Miss 黑6代【防紫外线】' }, |
| 400 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);', describ: 'Miss 黑7代【防紫外线】' }, | 406 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);', describ: 'Miss 黑7代【防紫外线】' }, |
| 401 | { style: 'background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);', describ: 'Miss 黑4代【防紫外线】' }, | 407 | { style: 'background-image: radial-gradient(50% 148%, #FFFFFF 50%, #324A05 100%);', describ: 'Miss 黑4代【防紫外线】' }, |
| 402 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);', describ: 'Miss 黑5代【防紫外线】' }, | 408 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #624B3F 100%);', describ: 'Miss 黑5代【防紫外线】' }, |
| 403 | { style: 'opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);', describ: 'Miss 黑6代【防紫外线】' }, | 409 | { style: 'opacity: 0.7;background-image: radial-gradient(50% 150%, #F0EEE7 50%, #6F0838 100%);', describ: 'Miss 黑6代【防紫外线】' }, |
| 404 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);', describ: 'Miss 黑7代【防紫外线】' } | 410 | { style: 'background-image: radial-gradient(50% 143%, #AEA8A8 45%, #370B4E 100%);', describ: 'Miss 黑7代【防紫外线】' } |
| 405 | ], | 411 | ], |
| 406 | chooseItem2: [ | 412 | chooseItem2: [ |
| 407 | { num: '14.0' }, | 413 | { num: '14.0' }, |
| 408 | { num: '14.2' }, | 414 | { num: '14.2' }, |
| 409 | { num: '14.4' }, | 415 | { num: '14.4' }, |
| 410 | { num: '14.5' } | 416 | { num: '14.5' } |
| 411 | ], | 417 | ], |
| 412 | chooseItem3: [0, 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, 450, 470, 500, 525, 550, 575, 600, 1000], | 418 | chooseItem3: [0, 100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, 450, 470, 500, 525, 550, 575, 600, 1000], |
| 413 | // 度数相关数据 | 419 | // 度数相关数据 |
| 414 | pickerInfoList: [ | 420 | pickerInfoList: [ |
| 415 | { nameC: '度数', nameE: '(SPH)', nameArray1: [1.5, 2.5, 3.5, 4.5], nameIndex1: 0, nameArray2: [1.5, 2.5, 3.5, 4.5], nameIndex2: 0, key: 0 }, | 421 | { nameC: '度数', nameE: '(SPH)', nameArray1: [1.5, 2.5, 3.5, 4.5], nameIndex1: 0, nameArray2: [1.5, 2.5, 3.5, 4.5], nameIndex2: 0, key: 0 }, |
| 416 | { nameC: '散光', nameE: '(CYL)', nameArray1: [1.5, 2.5, 3.5, 4.5], nameIndex1: 0, nameArray2: [1.5, 2.5, 3.5, 4.5], nameIndex2: 0, key: 1 }, | 422 | { nameC: '散光', nameE: '(CYL)', nameArray1: [1.5, 2.5, 3.5, 4.5], nameIndex1: 0, nameArray2: [1.5, 2.5, 3.5, 4.5], nameIndex2: 0, key: 1 }, |
| 417 | { nameC: '散光轴位', nameE: '(AXI)', nameArray1: [1.5, 2.5, 3.5, 4.5], nameIndex1: 0, nameArray2: [1.5, 2.5, 3.5, 4.5], nameIndex2: 0, key: 2 }, | 423 | { nameC: '散光轴位', nameE: '(AXI)', nameArray1: [1.5, 2.5, 3.5, 4.5], nameIndex1: 0, nameArray2: [1.5, 2.5, 3.5, 4.5], nameIndex2: 0, key: 2 }, |
| 418 | { nameC: '双眼瞳距', nameE: '(PD)', nameArray1: [1.5, 2.5, 3.5, 4.5], nameIndex1: 0, nameArray2: [1.5, 2.5, 3.5, 4.5], nameIndex2: 0, key: 3 }, | 424 | { nameC: '双眼瞳距', nameE: '(PD)', nameArray1: [1.5, 2.5, 3.5, 4.5], nameIndex1: 0, nameArray2: [1.5, 2.5, 3.5, 4.5], nameIndex2: 0, key: 3 }, |
| 419 | { nameC: '验光日期', nameE: '', nameArray1: [2017, 2018, 2019, 2020, 2021], nameIndex1: 0, nameArray2: [1, 2, 3, 4, 5, 6, 7], nameIndex2: 0, nameArray3: [1, 2, 3, 4, 5, 6], nameIndex3: 0 } | 425 | { nameC: '验光日期', nameE: '', nameArray1: [2017, 2018, 2019, 2020, 2021], nameIndex1: 0, nameArray2: [1, 2, 3, 4, 5, 6, 7], nameIndex2: 0, nameArray3: [1, 2, 3, 4, 5, 6], nameIndex3: 0 } |
| 420 | ] | 426 | ] |
| 421 | } | 427 | } |
| 422 | }, | 428 | }, |
| 423 | computed: { | 429 | computed: { |
| 424 | attrList() { | 430 | attrList() { |
| 425 | return this.$store.state.read.goodInfo.attrList | 431 | return this.$store.state.read.goodInfo.attrList |
| 426 | }, | 432 | }, |
| 427 | skuList() { | 433 | skuList() { |
| 428 | return this.$store.state.read.goodInfo.skuList | 434 | return this.$store.state.read.goodInfo.skuList |
| 435 | }, | ||
| 436 | mpList() { | ||
| 437 | return this.$store.state.myLoveList.loveList | ||
| 429 | } | 438 | } |
| 430 | }, | 439 | }, |
| 431 | onLoad({ pid }) { | 440 | onLoad({ pid }) { |
| 432 | this.pid = pid | 441 | this.pid = pid |
| 433 | store.dispatch('read/fetch', { | 442 | store.dispatch('read/fetch', { |
| 434 | pid | 443 | pid |
| 435 | }).then(() => { | 444 | }).then(() => { |
| 436 | const current = [] | 445 | const current = [] |
| 437 | const show = [] | 446 | const show = [] |
| 438 | for (let index = 0; index < this.attrList.length; index++) { | 447 | for (let index = 0; index < this.attrList.length; index++) { |
| 439 | current.push(0) | 448 | current.push(0) |
| 440 | show.push(true) | 449 | show.push(true) |
| 441 | } | 450 | } |
| 442 | this.current = current | 451 | this.current = current |
| 443 | this.show = show | 452 | this.show = show |
| 444 | }) | 453 | }) |
| 454 | store.dispatch('myLoveList/getLoveList') | ||
| 445 | }, | 455 | }, |
| 446 | methods: { | 456 | methods: { |
| 457 | // 是否填充人员数据 | ||
| 458 | fillData(e) { | ||
| 459 | this.isDataName = false | ||
| 460 | console.log('e---->', e) | ||
| 461 | const mpList = this.mpList | ||
| 462 | |||
| 463 | for (let index = 0; index < mpList.length; index++) { | ||
| 464 | if (e.detail.value === mpList[index].name) { | ||
| 465 | this.isDataName = true | ||
| 466 | uni.showModal({ | ||
| 467 | title: '提示', | ||
| 468 | content: `是否填充已有的${e.detail.value}的数据`, | ||
| 469 | success: ({ confirm }) => { | ||
| 470 | if (confirm) { | ||
| 471 | this.checkedData = mpList[index] | ||
| 472 | console.log('checkedData', this.checkedData) | ||
| 473 | } | ||
| 474 | } | ||
| 475 | }) | ||
| 476 | } | ||
| 477 | } | ||
| 478 | }, | ||
| 447 | change(num) { | 479 | change(num) { |
| 448 | this.show[num] = !this.show[num] | 480 | this.show[num] = !this.show[num] |
| 449 | this.$forceUpdate() | 481 | this.$forceUpdate() |
| 450 | }, | 482 | }, |
| 451 | onClickItem(index, i) { | 483 | onClickItem(index, i) { |
| 452 | if (this.current[index] !== i) { | 484 | if (this.current[index] !== i) { |
| 453 | this.current[index] = i | 485 | this.current[index] = i |
| 454 | } | 486 | } |
| 455 | this.$forceUpdate() | 487 | this.$forceUpdate() |
| 456 | }, | 488 | }, |
| 457 | onClickItem1(index) { | 489 | onClickItem1(index) { |
| 458 | if (this.current1 !== index) { | 490 | if (this.current1 !== index) { |
| 459 | this.current1 = index | 491 | this.current1 = index |
| 460 | this.chooseRes1 = this.chooseItem1[index].describ | 492 | this.chooseRes1 = this.chooseItem1[index].describ |
| 461 | } | 493 | } |
| 462 | }, | 494 | }, |
| 463 | onClickItem2(index) { | 495 | onClickItem2(index) { |
| 464 | if (this.current2 !== index) { | 496 | if (this.current2 !== index) { |
| 465 | this.current2 = index | 497 | this.current2 = index |
| 466 | this.chooseRes2 = this.chooseItem2[index].num | 498 | this.chooseRes2 = this.chooseItem2[index].num |
| 467 | } | 499 | } |
| 468 | }, | 500 | }, |
| 469 | onClickItem3(index) { | 501 | onClickItem3(index) { |
| 470 | if (this.current3 !== index) { | 502 | if (this.current3 !== index) { |
| 471 | this.current3 = index | 503 | this.current3 = index |
| 472 | this.chooseRes3 = this.chooseItem3[index] | 504 | this.chooseRes3 = this.chooseItem3[index] |
| 473 | } | 505 | } |
| 474 | }, | 506 | }, |
| 475 | counter(isadd) { | 507 | counter(isadd) { |
| 476 | if (isadd) { | 508 | if (isadd) { |
| 477 | this.count >= this.maxCount ? this.addDisabled = true : this.count++ | 509 | this.count >= this.maxCount ? this.addDisabled = true : this.count++ |
| 478 | } else { | 510 | } else { |
| 479 | this.count <= 1 ? this.desDisabled = true : this.count-- | 511 | this.count <= 1 ? this.desDisabled = true : this.count-- |
| 480 | } | 512 | } |
| 481 | }, | 513 | }, |
| 482 | toComfirmOrder() { | 514 | toComfirmOrder() { |
| 515 | let i = 0 | ||
| 516 | // 判断出是哪一个sku被选中 | ||
| 517 | for (let index = 0; index < this.current.length; index++) { | ||
| 518 | console.log('index', index, i, index !== this.current.length - 1) | ||
| 519 | if (index !== this.current.length - 1) { | ||
| 520 | console.log('----', this.current[index], this.attrList[1].attr.length, this.attrList) | ||
| 521 | i = this.current[index] * this.attrList[1].attr.length | ||
| 522 | } else { | ||
| 523 | i += this.current[index] | ||
| 524 | } | ||
| 525 | console.log('i', i) | ||
| 526 | } | ||
| 527 | console.log('i------>', i) | ||
| 528 | // 判断是否其输入的人员数据是否已存在 | ||
| 483 | store.dispatch('order/saveParams', { | 529 | store.dispatch('order/saveParams', { |
| 530 | sk_id_arr: this.skuList[i], | ||
| 484 | current: this.current | 531 | current: this.current |
| 485 | }) | 532 | }) |
| 533 | |||
| 486 | uni.navigateTo({ | 534 | uni.navigateTo({ |
| 487 | url: `../confirmOrder/confirmOrder?pid=${this.pid}` | 535 | url: `../confirmOrder/confirmOrder?pid=${this.pid}` |
| 488 | }) | 536 | }) |
| 489 | } | 537 | } |
| 490 | } | 538 | } |
| 491 | } | 539 | } |
| 492 | </script> | 540 | </script> |
| 493 | 541 | ||
| 494 | <style lang="scss"> | 542 | <style lang="scss"> |
| 495 | .content { | 543 | .content { |
| 496 | min-height: 100vh; | 544 | min-height: 100vh; |
| 497 | background-color: #f2f2f2; | 545 | background-color: #f2f2f2; |
| 498 | // padding-top: 20rpx; | 546 | // padding-top: 20rpx; |
| 499 | .goodInfo { | 547 | .goodInfo { |
| 500 | width: 100%; | 548 | width: 100%; |
| 501 | height: 272rpx; | 549 | height: 272rpx; |
| 502 | border-radius: 16rpx; | 550 | border-radius: 16rpx; |
| 503 | background-color: #ffffff; | 551 | background-color: #ffffff; |
| 504 | box-sizing: border-box; | 552 | box-sizing: border-box; |
| 505 | padding: 36rpx; | 553 | padding: 36rpx; |
| 506 | display: flex; | 554 | display: flex; |
| 507 | flex-direction: row; | 555 | flex-direction: row; |
| 508 | justify-content: flex-start; | 556 | justify-content: flex-start; |
| 509 | .imageWrap { | 557 | .imageWrap { |
| 510 | height: 188rpx; | 558 | height: 188rpx; |
| 511 | width: 188rpx; | 559 | width: 188rpx; |
| 512 | margin-right: 28rpx; | 560 | margin-right: 28rpx; |
| 513 | image { | 561 | image { |
| 514 | height: 188rpx; | 562 | height: 188rpx; |
| 515 | width: 188rpx; | 563 | width: 188rpx; |
| 516 | } | 564 | } |
| 517 | } | 565 | } |
| 518 | .infoRight { | 566 | .infoRight { |
| 519 | display: flex; | 567 | display: flex; |
| 520 | flex-direction: column; | 568 | flex-direction: column; |
| 521 | align-items: flex-start; | 569 | align-items: flex-start; |
| 522 | justify-content: space-between; | 570 | justify-content: space-between; |
| 523 | .goodName { | 571 | .goodName { |
| 524 | font-size: 28rpx; | 572 | font-size: 28rpx; |
| 525 | color: #333333; | 573 | color: #333333; |
| 526 | } | 574 | } |
| 527 | .remarks { | 575 | .remarks { |
| 528 | font-size: 20rpx; | 576 | font-size: 20rpx; |
| 529 | color: #999999; | 577 | color: #999999; |
| 530 | } | 578 | } |
| 531 | .priceBox { | 579 | .priceBox { |
| 532 | display: flex; | 580 | display: flex; |
| 533 | justify-content: space-between; | 581 | justify-content: space-between; |
| 534 | align-items: center; | 582 | align-items: center; |
| 535 | width: 100%; | 583 | width: 100%; |
| 536 | font-size: 14px; | 584 | font-size: 14px; |
| 537 | color: #999999; | 585 | color: #999999; |
| 538 | .price { | 586 | .price { |
| 539 | color: #ff6b4a; | 587 | color: #ff6b4a; |
| 540 | font-size: 28rpx; | 588 | font-size: 28rpx; |
| 541 | } | 589 | } |
| 542 | .counter { | 590 | .counter { |
| 543 | display: flex; | 591 | display: flex; |
| 544 | flex-direction: row; | 592 | flex-direction: row; |
| 545 | justify-content: space-between; | 593 | justify-content: space-between; |
| 546 | align-items: center; | 594 | align-items: center; |
| 547 | font-size: 28rpx; | 595 | font-size: 28rpx; |
| 548 | color: #333333; | 596 | color: #333333; |
| 549 | width: 122rpx; | 597 | width: 122rpx; |
| 550 | .btn { | 598 | .btn { |
| 551 | display: flex; | 599 | display: flex; |
| 552 | justify-content: center; | 600 | justify-content: center; |
| 553 | line-height: 32rpx; | 601 | line-height: 32rpx; |
| 554 | height: 32rpx; | 602 | height: 32rpx; |
| 555 | width: 32rpx; | 603 | width: 32rpx; |
| 556 | background-color: #f2f2f2; | 604 | background-color: #f2f2f2; |
| 557 | color: #cfcfcf; | 605 | color: #cfcfcf; |
| 558 | } | 606 | } |
| 559 | } | 607 | } |
| 560 | } | 608 | } |
| 561 | } | 609 | } |
| 562 | } | 610 | } |
| 563 | .goods-data { | 611 | .goods-data { |
| 564 | width: 100%; | 612 | width: 100%; |
| 565 | box-sizing: border-box; | 613 | box-sizing: border-box; |
| 566 | padding: 37rpx 40rpx 0 40rpx; | 614 | padding: 37rpx 40rpx 0 40rpx; |
| 567 | background: #ffffff; | 615 | background: #ffffff; |
| 568 | border-radius: 12rpx; | 616 | border-radius: 12rpx; |
| 569 | .opCollapse { | 617 | .opCollapse { |
| 570 | width: 100%; | 618 | width: 100%; |
| 571 | padding-bottom: 28rpx; | 619 | padding-bottom: 28rpx; |
| 572 | margin-top: 7px; | 620 | margin-top: 7px; |
| 573 | border-bottom: 1px solid #e9e9e9; | 621 | border-bottom: 1px solid #e9e9e9; |
| 574 | .head { | 622 | .head { |
| 575 | display: flex; | 623 | display: flex; |
| 576 | justify-content: space-between; | 624 | justify-content: space-between; |
| 577 | height: 24px; | 625 | height: 24px; |
| 578 | // font-family: PingFangSC-Medium; | 626 | // font-family: PingFangSC-Medium; |
| 579 | font-size: 16px; | 627 | font-size: 16px; |
| 580 | color: #333333; | 628 | color: #333333; |
| 581 | letter-spacing: -0.3px; | 629 | letter-spacing: -0.3px; |
| 582 | text-align: justify; | 630 | text-align: justify; |
| 583 | line-height: 24px; | 631 | line-height: 24px; |
| 584 | margin-bottom: 18rpx; | 632 | margin-bottom: 18rpx; |
| 585 | .headRighted { | 633 | .headRighted { |
| 586 | width: 0; | 634 | width: 0; |
| 587 | height: 0; | 635 | height: 0; |
| 588 | border-left: 4px solid transparent; | 636 | border-left: 4px solid transparent; |
| 589 | border-right: 4px solid transparent; | 637 | border-right: 4px solid transparent; |
| 590 | border-bottom: 4px solid #cfcfcf; | 638 | border-bottom: 4px solid #cfcfcf; |
| 591 | transform: scaleY(-1); | 639 | transform: scaleY(-1); |
| 592 | margin-top: 10px; | 640 | margin-top: 10px; |
| 593 | } | 641 | } |
| 594 | .headMid { | 642 | .headMid { |
| 595 | // font-family: PingFangSC-Regular; | 643 | // font-family: PingFangSC-Regular; |
| 596 | font-size: 10px; | 644 | font-size: 10px; |
| 597 | color: #999999; | 645 | color: #999999; |
| 598 | letter-spacing: -0.19px; | 646 | letter-spacing: -0.19px; |
| 599 | margin-left: -120rpx; | 647 | margin-left: -120rpx; |
| 600 | } | 648 | } |
| 601 | .headRight { | 649 | .headRight { |
| 602 | width: 0; | 650 | width: 0; |
| 603 | height: 0; | 651 | height: 0; |
| 604 | border-left: 4px solid transparent; | 652 | border-left: 4px solid transparent; |
| 605 | border-right: 4px solid transparent; | 653 | border-right: 4px solid transparent; |
| 606 | border-bottom: 4px solid #cfcfcf; | 654 | border-bottom: 4px solid #cfcfcf; |
| 607 | margin-top: 10px; | 655 | margin-top: 10px; |
| 608 | } | 656 | } |
| 609 | } | 657 | } |
| 610 | .body { | 658 | .body { |
| 611 | // font-family: PingFangSC-Regular; | 659 | // font-family: PingFangSC-Regular; |
| 612 | font-size: 12px; | 660 | font-size: 12px; |
| 613 | color: #666666; | 661 | color: #666666; |
| 614 | letter-spacing: 0; | 662 | letter-spacing: 0; |
| 615 | .bodyBox { | 663 | .bodyBox { |
| 616 | margin-top: 15px; | 664 | margin-top: 15px; |
| 617 | .names { | 665 | .names { |
| 618 | // font-family: PingFangSC-Regular; | 666 | // font-family: PingFangSC-Regular; |
| 619 | font-size: 12px; | 667 | font-size: 12px; |
| 620 | color: #151515; | 668 | color: #151515; |
| 621 | letter-spacing: 0; | 669 | letter-spacing: 0; |
| 622 | text-align: justify; | 670 | text-align: justify; |
| 623 | line-height: 17px; | 671 | line-height: 17px; |
| 624 | margin-left: 5px; | 672 | margin-left: 5px; |
| 625 | margin-right: 10px; | 673 | margin-right: 10px; |
| 626 | } | 674 | } |
| 627 | text { | 675 | text { |
| 628 | // font-family: PingFangSC-Regular; | 676 | // font-family: PingFangSC-Regular; |
| 629 | font-size: 12px; | 677 | font-size: 12px; |
| 630 | color: #666666; | 678 | color: #666666; |
| 631 | letter-spacing: 0; | 679 | letter-spacing: 0; |
| 632 | text-align: justify; | 680 | text-align: justify; |
| 633 | } | 681 | } |
| 634 | } | 682 | } |
| 635 | } | 683 | } |
| 636 | .goods-form { | 684 | .goods-form { |
| 637 | display: flex; | 685 | display: flex; |
| 638 | flex-direction: column; | 686 | flex-direction: column; |
| 639 | align-items: center; | 687 | align-items: center; |
| 640 | justify-content: center; | 688 | justify-content: center; |
| 641 | background-color: #fff; | 689 | background-color: #fff; |
| 642 | width: 100%; | 690 | width: 100%; |
| 643 | .p1 { | 691 | .p1 { |
| 644 | font-size: 16px; | 692 | font-size: 16px; |
| 645 | color: #333333; | 693 | color: #333333; |
| 646 | letter-spacing: -0.3px; | 694 | letter-spacing: -0.3px; |
| 647 | text-align: justify; | 695 | text-align: justify; |
| 648 | line-height: 24px; | 696 | line-height: 24px; |
| 649 | margin: 4px 0; | 697 | margin: 4px 0; |
| 650 | } | 698 | } |
| 651 | .p2 { | 699 | .p2 { |
| 652 | font-size: 12px; | 700 | font-size: 12px; |
| 653 | color: #999999; | 701 | color: #999999; |
| 654 | letter-spacing: -0.23px; | 702 | letter-spacing: -0.23px; |
| 655 | margin-bottom: 18rpx; | 703 | margin-bottom: 18rpx; |
| 656 | } | 704 | } |
| 657 | image { | 705 | image { |
| 658 | width: 28rpx; | 706 | width: 28rpx; |
| 659 | height: 26rpx; | 707 | height: 26rpx; |
| 660 | } | 708 | } |
| 661 | .confirm { | 709 | .confirm { |
| 662 | display: flex; | 710 | display: flex; |
| 663 | align-items: center; | 711 | align-items: center; |
| 664 | font-size: 12px; | 712 | font-size: 12px; |
| 665 | color: #666666; | 713 | color: #666666; |
| 666 | letter-spacing: -0.23px; | 714 | letter-spacing: -0.23px; |
| 667 | width: 684rpx; | 715 | width: 684rpx; |
| 668 | image { | 716 | image { |
| 669 | margin-right: 25rpx; | 717 | margin-right: 25rpx; |
| 670 | } | 718 | } |
| 671 | } | 719 | } |
| 672 | .picker { | 720 | .picker { |
| 673 | display: flex; | 721 | display: flex; |
| 674 | flex-direction: column; | 722 | flex-direction: column; |
| 675 | justify-content: center; | 723 | justify-content: center; |
| 676 | align-items: center; | 724 | align-items: center; |
| 677 | width: 100%; | 725 | width: 100%; |
| 678 | image { | 726 | image { |
| 679 | width: 10px; | 727 | width: 10px; |
| 680 | height: 10px; | 728 | height: 10px; |
| 681 | margin-right: 5px; | 729 | margin-right: 5px; |
| 682 | } | 730 | } |
| 683 | .picker-choice { | 731 | .picker-choice { |
| 684 | display: flex; | 732 | display: flex; |
| 685 | width: 684rpx; | 733 | width: 684rpx; |
| 686 | align-items: center; | 734 | align-items: center; |
| 687 | margin-bottom: 40rpx; | 735 | margin-bottom: 40rpx; |
| 688 | .choice-left { | 736 | .choice-left { |
| 689 | width: 210rpx; | 737 | width: 210rpx; |
| 690 | .p11 { | 738 | .p11 { |
| 691 | font-size: 14px; | 739 | font-size: 14px; |
| 692 | color: #333333; | 740 | color: #333333; |
| 693 | letter-spacing: -0.26px; | 741 | letter-spacing: -0.26px; |
| 694 | text-align: justify; | 742 | text-align: justify; |
| 695 | line-height: 24px; | 743 | line-height: 24px; |
| 696 | } | 744 | } |
| 697 | .p12 { | 745 | .p12 { |
| 698 | font-size: 10px; | 746 | font-size: 10px; |
| 699 | color: #3f3f3f; | 747 | color: #3f3f3f; |
| 700 | letter-spacing: -0.19px; | 748 | letter-spacing: -0.19px; |
| 701 | text-align: justify; | 749 | text-align: justify; |
| 702 | line-height: 24px; | 750 | line-height: 24px; |
| 703 | } | 751 | } |
| 704 | } | 752 | } |
| 705 | .p13 { | 753 | .p13 { |
| 706 | font-size: 10px; | 754 | font-size: 10px; |
| 707 | color: #999999; | 755 | color: #999999; |
| 708 | letter-spacing: -0.19px; | 756 | letter-spacing: -0.19px; |
| 709 | margin-right: 10px; | 757 | margin-right: 10px; |
| 710 | } | 758 | } |
| 711 | .p13-date { | 759 | .p13-date { |
| 712 | font-size: 10px; | 760 | font-size: 10px; |
| 713 | color: #999999; | 761 | color: #999999; |
| 714 | letter-spacing: -0.19px; | 762 | letter-spacing: -0.19px; |
| 715 | margin-right: 5px; | 763 | margin-right: 5px; |
| 716 | } | 764 | } |
| 717 | .p14 { | 765 | .p14 { |
| 718 | font-size: 14px; | 766 | font-size: 14px; |
| 719 | color: #666666; | 767 | color: #666666; |
| 720 | letter-spacing: -0.26px; | 768 | letter-spacing: -0.26px; |
| 721 | text-align: center; | 769 | text-align: center; |
| 722 | width: 124rpx; | 770 | width: 124rpx; |
| 723 | border-bottom: 1px solid #cfcfcf; | 771 | border-bottom: 1px solid #cfcfcf; |
| 724 | } | 772 | } |
| 725 | } | 773 | } |
| 726 | } | 774 | } |
| 727 | } | 775 | } |
| 728 | } | 776 | } |
| 729 | } | 777 | } |
| 730 | .choose { | 778 | .choose { |
| 731 | width: 100%; | 779 | width: 100%; |
| 732 | background: #ffffff; | 780 | background: #ffffff; |
| 733 | border-radius: 12rpx; | 781 | border-radius: 12rpx; |
| 734 | margin-top: 20rpx; | 782 | margin-top: 20rpx; |
| 735 | padding: 40rpx 40rpx 112rpx 40rpx; | 783 | padding: 40rpx 40rpx 112rpx 40rpx; |
| 736 | box-sizing: border-box; | 784 | box-sizing: border-box; |
| 737 | .chooseItem { | 785 | .chooseItem { |
| 738 | width: 100%; | 786 | width: 100%; |
| 739 | padding-bottom: 32rpx; | 787 | padding-bottom: 32rpx; |
| 740 | border-bottom: 1px solid #e9e9e9; | 788 | border-bottom: 1px solid #e9e9e9; |
| 741 | margin-bottom: 28rpx; | 789 | margin-bottom: 28rpx; |
| 742 | } | 790 | } |
| 743 | .chooseRes { | 791 | .chooseRes { |
| 744 | font-size: 12px; | 792 | font-size: 12px; |
| 745 | color: #666666; | 793 | color: #666666; |
| 746 | } | 794 | } |
| 747 | .itemsWrap { | 795 | .itemsWrap { |
| 748 | display: flex; | 796 | display: flex; |
| 749 | flex-direction: row; | 797 | flex-direction: row; |
| 750 | flex-wrap: wrap; | 798 | flex-wrap: wrap; |
| 751 | justify-content: flex-start; | 799 | justify-content: flex-start; |
| 752 | align-items: center; | 800 | align-items: center; |
| 753 | padding-top: 24rpx; | 801 | padding-top: 24rpx; |
| 754 | .item1 { | 802 | .item1 { |
| 755 | width: 64rpx; | 803 | width: 64rpx; |
| 756 | height: 64rpx; | 804 | height: 64rpx; |
| 757 | border-radius: 32rpx; | 805 | border-radius: 32rpx; |
| 758 | margin: 0 36rpx 24rpx 0; | 806 | margin: 0 36rpx 24rpx 0; |
| 759 | transition: all 0.3s; | 807 | transition: all 0.3s; |
| 760 | border: 1px solid #ffffff; | 808 | border: 1px solid #ffffff; |
| 761 | } | 809 | } |
| 762 | .item2 { | 810 | .item2 { |
| 763 | // width: 100rpx; | 811 | // width: 100rpx; |
| 764 | padding: 0 30rpx; | 812 | padding: 0 30rpx; |
| 765 | height: 60rpx; | 813 | height: 60rpx; |
| 766 | margin: 0 20rpx 20rpx 0; | 814 | margin: 0 20rpx 20rpx 0; |
| 767 | transition: all 0.3s; | 815 | transition: all 0.3s; |
| 768 | background: #f2f2f2; | 816 | background: #f2f2f2; |
| 769 | border-radius: 2px; | 817 | border-radius: 2px; |
| 770 | border-radius: 2px; | 818 | border-radius: 2px; |
| 771 | line-height: 60rpx; | 819 | line-height: 60rpx; |
| 772 | text-align: center; | 820 | text-align: center; |
| 773 | color: #666666; | 821 | color: #666666; |
| 774 | font-size: 12px; | 822 | font-size: 12px; |
| 775 | } | 823 | } |
| 776 | .active1 { | 824 | .active1 { |
| 777 | opacity: 0.7; | 825 | opacity: 0.7; |
| 778 | border: 1px solid #ff6b4a; | 826 | border: 1px solid #ff6b4a; |
| 779 | } | 827 | } |
| 780 | .active2 { | 828 | .active2 { |
| 781 | background: rgba(255, 107, 74, 0.15); | 829 | background: rgba(255, 107, 74, 0.15); |
| 782 | color: #ff6b4a; | 830 | color: #ff6b4a; |
| 783 | } | 831 | } |
| 784 | } | 832 | } |
| 785 | } | 833 | } |
| 786 | .button { | 834 | .button { |
| 787 | width: 100%; | 835 | width: 100%; |
| 788 | height: 112rpx; | 836 | height: 112rpx; |
| 789 | background-color: #ff6b4a; | 837 | background-color: #ff6b4a; |
| 790 | font-size: 16px; | 838 | font-size: 16px; |
| 791 | color: #ffffff; | 839 | color: #ffffff; |
| 792 | line-height: 112rpx; | 840 | line-height: 112rpx; |
| 793 | text-align: center; | 841 | text-align: center; |
| 794 | position: fixed; | 842 | position: fixed; |
| 795 | bottom: 0; | 843 | bottom: 0; |
| 796 | left: 0; | 844 | left: 0; |
| 797 | } | 845 | } |
| 798 | } | 846 | } |
| 799 | </style> | 847 | </style> |
| 800 | 848 |
src/store/modules/myLoveList.js
| 1 | import urlAlias from '../url'; | 1 | import urlAlias from '../url' |
| 2 | import request from '../request'; | 2 | import request from '../request' |
| 3 | 3 | ||
| 4 | const { | 4 | const { |
| 5 | mylovelist, | 5 | mylovelist, |
| 6 | myloveadd, | 6 | myloveadd, |
| 7 | myloveupdate | 7 | myloveupdate |
| 8 | } = urlAlias; | 8 | } = urlAlias |
| 9 | 9 | ||
| 10 | const state = { | 10 | const state = { |
| 11 | loveList: [], | 11 | loveList: [] |
| 12 | }; | 12 | } |
| 13 | 13 | ||
| 14 | const mutations = { | 14 | const mutations = { |
| 15 | INIT: (state, data) => { | 15 | INIT: (state, data) => { |
| 16 | state.loveList = data; | 16 | state.loveList = data |
| 17 | }, | 17 | }, |
| 18 | // 更新关心人验光单 | 18 | // 更新关心人验光单 |
| 19 | UPDATE:(state, data) => { | 19 | UPDATE: (state, data) => { |
| 20 | // state.loveList.push(data) | 20 | // state.loveList.push(data) |
| 21 | // console.log('UPDATA=====>',data) | 21 | // console.log('UPDATA=====>',data) |
| 22 | } | 22 | } |
| 23 | }; | 23 | } |
| 24 | 24 | ||
| 25 | const actions = { | 25 | const actions = { |
| 26 | getLoveList({ commit }, param) { | 26 | getLoveList({ commit }, param) { |
| 27 | request({ | 27 | request({ |
| 28 | url: mylovelist, | 28 | url: mylovelist, |
| 29 | data: param, | 29 | data: param, |
| 30 | success: (res) => { | 30 | success: (res) => { |
| 31 | // console.log(res.data); | 31 | // console.log(res.data); |
| 32 | commit("INIT", res.data.data); | 32 | commit('INIT', res.data.data) |
| 33 | }, | 33 | } |
| 34 | }) | 34 | }) |
| 35 | }, | 35 | }, |
| 36 | addMylove({ commit }, param) { | 36 | addMylove({ commit }, param) { |
| 37 | 37 | console.log('myloveupdate-parm====>', param) | |
| 38 | console.log('myloveupdate-parm====>',param) | 38 | request({ |
| 39 | request({ | 39 | url: myloveadd, |
| 40 | url: myloveadd, | 40 | data: param, |
| 41 | data: param, | 41 | success: (res) => { |
| 42 | success: (res) => { | 42 | console.log('addMylove-parm====>', param) |
| 43 | console.log('addMylove-parm====>',param) | 43 | console.log(res.data) |
| 44 | console.log(res.data); | 44 | // commit("ADD", args); |
| 45 | // commit("ADD", args); | 45 | } |
| 46 | }, | ||
| 47 | }) | 46 | }) |
| 48 | }, | 47 | }, |
| 49 | updateMylove({ commit }, param) { | 48 | updateMylove({ commit }, param) { |
| 50 | request({ | 49 | request({ |
| 51 | url: myloveupdate, | 50 | url: myloveupdate, |
| 52 | data: param, | 51 | data: param, |
| 53 | success: (res) => { | 52 | success: (res) => { |
| 54 | console.log('myloveupdate-parm====>',param) | 53 | console.log('myloveupdate-parm====>', param) |
| 55 | console.log(res); | 54 | console.log(res) |
| 56 | // commit("UPDATE", param); | 55 | // commit("UPDATE", param); |
| 57 | }, | 56 | } |
| 58 | }) | 57 | }) |
| 59 | }, | ||
| 60 | |||
| 61 | } | ||
| 62 | |||
| 63 | export default { | ||
| 64 | namespaced: true, | ||
| 65 | state, | ||
| 66 | mutations, | ||
| 67 | actions, | ||
| 68 | } |
src/store/modules/order.js
| 1 | import urlAlias from '../url' | 1 | import urlAlias from '../url' |
| 2 | import request from '../request' | 2 | import request from '../request' |
| 3 | 3 | ||
| 4 | const { orderBuild } = urlAlias | 4 | const { orderBuild } = urlAlias |
| 5 | 5 | ||
| 6 | const state = { list: [], param: [] } | 6 | const state = { list: [], param: {} } |
| 7 | 7 | ||
| 8 | const mutations = { | 8 | const mutations = { |
| 9 | LIST: (state, list) => { | 9 | LIST: (state, list) => { |
| 10 | state.list = list | 10 | state.list = list |
| 11 | }, | 11 | }, |
| 12 | SAVE: (state, param) => { | 12 | SAVE: (state, param) => { |
| 13 | state.param = param | 13 | state.param = param |
| 14 | } | 14 | } |
| 15 | } | 15 | } |
| 16 | 16 | ||
| 17 | const actions = { | 17 | const actions = { |
| 18 | build({ commit }, param) { | 18 | build({ commit }, param) { |
| 19 | return new Promise((resolve, reject) => request({ | 19 | return new Promise((resolve, reject) => request({ |
| 20 | url: orderBuild, | 20 | url: orderBuild, |
| 21 | data: param, | 21 | data: param, |
| 22 | success: (res) => { | 22 | success: (res) => { |
| 23 | resolve() | 23 | resolve() |
| 24 | }, | 24 | }, |
| 25 | fail: () => { | 25 | fail: () => { |
| 26 | uni.showModal({ | 26 | uni.showModal({ |
| 27 | content: '订单生成失败', | 27 | content: '订单生成失败', |
| 28 | showCancel: false | 28 | showCancel: false |
| 29 | }) | 29 | }) |
| 30 | } | 30 | } |
| 31 | })) | 31 | })) |
| 32 | }, | 32 | }, |
| 33 | saveParams({ commit }, param) { | 33 | saveParams({ commit }, param) { |
| 34 | console.log('save', param) | 34 | console.log('save', param) |
| 35 | commit('SAVE', param) | 35 | commit('SAVE', param) |
| 36 | } | 36 | } |
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | export default { | 39 | export default { |
| 40 | namespaced: true, | 40 | namespaced: true, |
| 41 | state, | 41 | state, |
| 42 | mutations, | 42 | mutations, |
| 43 | actions | 43 | actions |
| 44 | } | 44 | } |
| 45 | 45 |
src/store/request.js
| 1 | const DOMAIN = 'https://api.glass.xiuyetang.com'; | 1 | const DOMAIN = 'https://api.glass.xiuyetang.com' |
| 2 | 2 | ||
| 3 | export default async function request({ | 3 | export default async function request({ |
| 4 | url, | 4 | url, |
| 5 | method = "post", | 5 | method = 'post', |
| 6 | data = {}, | 6 | data = {}, |
| 7 | header = { | 7 | header = { |
| 8 | "Content-Type": "application/x-www-form-urlencoded", | 8 | 'Content-Type': 'application/x-www-form-urlencoded' |
| 9 | }, | 9 | }, |
| 10 | timeout = 3000, | 10 | timeout = 3000, |
| 11 | withCredentials = false, // 跨域请求时是否携带凭证(cookies) | 11 | withCredentials = false, // 跨域请求时是否携带凭证(cookies) |
| 12 | // sslVerify: true, // 验证 ssl 证书 | 12 | // sslVerify: true, // 验证 ssl 证书 |
| 13 | success, | 13 | success, |
| 14 | fail = (res) => { | 14 | fail = (res) => { |
| 15 | console.log("fail status === > ", res); | 15 | console.log('fail status === > ', res) |
| 16 | }, | 16 | }, |
| 17 | complete = (res) => { | 17 | complete = (res) => { |
| 18 | console.log("complete status === > ", res); | 18 | console.log('complete status === > ', res) |
| 19 | }, | 19 | } |
| 20 | }) { | 20 | }) { |
| 21 | const uid = uni.getStorageSync('uid'); | ||
| 22 | data = { | ||
| 23 | uid, | ||
| 24 | ...data, | ||
| 25 | }; | ||
| 26 | uni | ||
| 27 | .request({ | ||
| 28 | url: DOMAIN + url, | ||
| 29 | method, | ||
| 30 | data, | ||
| 31 | header, | ||
| 32 | timeout, | ||
| 33 | withCredentials, | ||
| 34 | success, | ||
| 35 | fail, | ||
| 36 | complete, | ||
| 37 | }) | ||
| 38 | } | ||
| 21 | const uid = uni.getStorageSync('uid') | ||
| 22 | const openid = uni.getStorageSync('uid') | ||
| 23 | data = { |