Merge remote-tracking branch 'origin/develop' into develop
Showing
37 changed files
with
2156 additions
and
139 deletions
1 | -| | | | | ||
2 | -|---|---|---| | ||
3 | -|Name | Path| Note| | ||
4 | -|首页| /| | ||
5 | -|侧边栏| /sidebar| 只有 app 使用| | ||
6 | -|品牌列表| /brands| | | ||
7 | -|品类| /cate| | | ||
8 | -|全部分类| /cate-all| | | ||
9 | -|品牌店铺| /product/shop?domain=sctest1| | | ||
10 | -|品牌店铺分享页面| /product/brand-share?domain=colormad| | | ||
11 | -|商品详情| /product/{productId}| | | ||
12 | -|资讯列表| /news| | | 1 | +Name | Path | Note |
2 | +-------- | ------------------------------------ | --------- | ||
3 | +首页 | / | | ||
4 | +侧边栏 | /sidebar | 只有 app 使用 | ||
5 | +品牌列表 | /brands | | ||
6 | +品类 | /cate | | ||
7 | +全部分类 | /cate-all | | ||
8 | +品牌店铺 | /product/shop?domain=sctest1 | | ||
9 | +品牌店铺分享页面 | /product/brand-share?domain=colormad | | ||
10 | +商品详情 | /product/{productId} | | ||
11 | +资讯列表 | /news | |
@@ -30,8 +30,8 @@ const component = { | @@ -30,8 +30,8 @@ const component = { | ||
30 | module: 'home', | 30 | module: 'home', |
31 | page: 'index', | 31 | page: 'index', |
32 | head_ico: proData && proData.head_ico ? helpers.image(proData.head_ico, 200, 200) : '', | 32 | head_ico: proData && proData.head_ico ? helpers.image(proData.head_ico, 200, 200) : '', |
33 | - profile_name: uid && proData ? proData.profile_name : '登录/注册', | ||
34 | - userinfourl: uid ? '/home/mydetails' : helpers.urlFormat('/signin.html', { | 33 | + profile_name: proData ? proData.profile_name : '登录/注册', |
34 | + userinfourl: proData ? '/home/mydetails' : helpers.urlFormat('/signin.html', { | ||
35 | refer: req.originalUrl | 35 | refer: req.originalUrl |
36 | }), | 36 | }), |
37 | }; | 37 | }; |
@@ -40,10 +40,20 @@ const component = { | @@ -40,10 +40,20 @@ const component = { | ||
40 | }).catch(next); | 40 | }).catch(next); |
41 | }, | 41 | }, |
42 | mydetails: (req, res) => { | 42 | mydetails: (req, res) => { |
43 | + let uid = req.user.uid; | ||
44 | + | ||
45 | + uid = 14459668; // 测试uid | ||
46 | + | ||
47 | + homeModel.getUserProfileData(uid).then(data => { | ||
43 | res.render('mydetails', { | 48 | res.render('mydetails', { |
44 | module: 'home', | 49 | module: 'home', |
45 | - page: 'mydetails' | 50 | + page: 'mydetails', |
51 | + head_ico: data && data.head_ico ? helpers.image(data.head_ico, 92, 92) : '', | ||
52 | + nickname: '', | ||
53 | + gender: data.gender === '1' ? 'men' : 'women', | ||
54 | + birthday: data.birthday | ||
46 | }); | 55 | }); |
56 | + }) | ||
47 | }, | 57 | }, |
48 | help: (req, res, next) => { | 58 | help: (req, res, next) => { |
49 | homeModel.getHelpInfo().then(helpList => { | 59 | homeModel.getHelpInfo().then(helpList => { |
@@ -119,10 +119,43 @@ const order = { | @@ -119,10 +119,43 @@ const order = { | ||
119 | return res.json(result); | 119 | return res.json(result); |
120 | }); | 120 | }); |
121 | }, | 121 | }, |
122 | - coin: (req, res) => { | 122 | + coin: (req, res, next) => { |
123 | + let uid = req.user.id; | ||
124 | + | ||
125 | + orderModel.getCoins(uid).then(result => { | ||
123 | res.render('coin', { | 126 | res.render('coin', { |
124 | module: 'home', | 127 | module: 'home', |
125 | - page: 'order' | 128 | + page: 'coin', |
129 | + coin: result | ||
130 | + }); | ||
131 | + }).catch(next); | ||
132 | + }, | ||
133 | + | ||
134 | + /** | ||
135 | + * 获取yoho币明细 | ||
136 | + * @param req | ||
137 | + * @param res | ||
138 | + * @returns {*|{read, write}} | ||
139 | + */ | ||
140 | + getCoinDetail: (req, res) => { | ||
141 | + let uid = req.user.id; | ||
142 | + let page = req.query.page; | ||
143 | + let limit = req.query.limit; | ||
144 | + let isend = true; | ||
145 | + | ||
146 | + uid = testUid; | ||
147 | + if (!uid && req.xhr) { | ||
148 | + return res.json({ | ||
149 | + code: notLoginCode, | ||
150 | + message: notLoginTip | ||
151 | + }); | ||
152 | + } | ||
153 | + | ||
154 | + orderModel.getCoinDetail(uid, page, limit).then(result => { | ||
155 | + if (result && page < result.page_total) { | ||
156 | + isend = false; | ||
157 | + } | ||
158 | + return res.json(Object.assign({isEnd: isend}, result)); | ||
126 | }); | 159 | }); |
127 | }, | 160 | }, |
128 | 161 |
@@ -4,6 +4,10 @@ | @@ -4,6 +4,10 @@ | ||
4 | */ | 4 | */ |
5 | 'use strict'; | 5 | 'use strict'; |
6 | const refundModel = require('../models/refund'); | 6 | const refundModel = require('../models/refund'); |
7 | +const notLoginCode = 400; | ||
8 | +const notLoginTip = '抱歉,您暂未登录!'; | ||
9 | +const testUid = 8050378;// 测试uid | ||
10 | +const isBLK = 1; | ||
7 | 11 | ||
8 | const refund = { | 12 | const refund = { |
9 | refund(req, res) { | 13 | refund(req, res) { |
@@ -45,6 +49,51 @@ const refund = { | @@ -45,6 +49,51 @@ const refund = { | ||
45 | res.json({ | 49 | res.json({ |
46 | code: 200 | 50 | code: 200 |
47 | }); | 51 | }); |
52 | + }, | ||
53 | + exchangeGoods(req, res) { | ||
54 | + // let orderCode = req.query.orderCode; | ||
55 | + | ||
56 | + res.render('exchange-status'); | ||
57 | + }, | ||
58 | + refundOrders(req, res) { | ||
59 | + res.render('refund-order', { | ||
60 | + module: 'home', | ||
61 | + page: 'refund-order' | ||
62 | + }); | ||
63 | + }, | ||
64 | + | ||
65 | + /** | ||
66 | + * 获取退换货订单 | ||
67 | + * @param req | ||
68 | + * @param res | ||
69 | + * @returns {*|{read, write}} | ||
70 | + */ | ||
71 | + getRefundOrders(req, res) { | ||
72 | + let uid = req.query.id; | ||
73 | + let page = req.query.page; | ||
74 | + let limit = req.query.limit; | ||
75 | + let isend = true; | ||
76 | + | ||
77 | + uid = testUid; | ||
78 | + if (!uid && req.xhr) { | ||
79 | + return res.json({ | ||
80 | + code: notLoginCode, | ||
81 | + message: notLoginTip | ||
82 | + }); | ||
83 | + } | ||
84 | + let param = { | ||
85 | + uid: uid, | ||
86 | + page: page, | ||
87 | + limit: limit, | ||
88 | + app_type: isBLK | ||
89 | + }; | ||
90 | + | ||
91 | + refundModel.getRefundOrders(param).then(result => { | ||
92 | + if (result && page < result.page_total) { | ||
93 | + isend = false; | ||
94 | + } | ||
95 | + return res.json(Object.assign({isend: isend}, result)); | ||
96 | + }); | ||
48 | } | 97 | } |
49 | }; | 98 | }; |
50 | 99 |
@@ -11,7 +11,7 @@ const helpers = global.yoho.helpers; | @@ -11,7 +11,7 @@ const helpers = global.yoho.helpers; | ||
11 | * @param int uid 用户ID | 11 | * @param int uid 用户ID |
12 | * @return Object 个人详情数据 | 12 | * @return Object 个人详情数据 |
13 | */ | 13 | */ |
14 | -const _getUserProfileData = (uid) => { | 14 | +const _getUserProfileData = exports.getUserProfileData = (uid) => { |
15 | return api.get('', { | 15 | return api.get('', { |
16 | uid: uid, | 16 | uid: uid, |
17 | method: 'app.passport.profile' | 17 | method: 'app.passport.profile' |
@@ -120,3 +120,31 @@ exports.getOrderLogisticdate = (params) => { | @@ -120,3 +120,31 @@ exports.getOrderLogisticdate = (params) => { | ||
120 | return []; | 120 | return []; |
121 | }); | 121 | }); |
122 | }; | 122 | }; |
123 | + | ||
124 | +/** | ||
125 | + * 获取yoho币数量 | ||
126 | + * @param uid | ||
127 | + * @returns {*|Promise.<T>} | ||
128 | + */ | ||
129 | +exports.getCoins = (uid) => { | ||
130 | + return api.get('978c6bad6c379086.json', { | ||
131 | + uid: uid, | ||
132 | + app_type: 'app.yohocoin.total' | ||
133 | + }).then(camelCase); | ||
134 | +}; | ||
135 | + | ||
136 | +/** | ||
137 | + * 获取yoho币明细 | ||
138 | + * @param uid | ||
139 | + * @param page | ||
140 | + * @param limit | ||
141 | + * @returns {*|Promise.<T>} | ||
142 | + */ | ||
143 | +exports.getCoinDetail = (uid, page, limit) => { | ||
144 | + return api.get('26573a88a2958702.json', { | ||
145 | + uid: uid, | ||
146 | + page: page, | ||
147 | + limit: limit, | ||
148 | + method: 'app.yohocoin.lists' | ||
149 | + }).then(camelCase); | ||
150 | +}; |
@@ -29,6 +29,25 @@ const refund = { | @@ -29,6 +29,25 @@ const refund = { | ||
29 | return api.get('', { | 29 | return api.get('', { |
30 | method: 'app.express.getExpressCompany' | 30 | method: 'app.express.getExpressCompany' |
31 | }); | 31 | }); |
32 | + }, | ||
33 | + | ||
34 | + /** | ||
35 | + * 获取退换货列表 | ||
36 | + * @param param | ||
37 | + * method | ||
38 | + * uid | ||
39 | + * page | ||
40 | + * limit | ||
41 | + * app_type | ||
42 | + * @returns {Promise.<T>|*} | ||
43 | + */ | ||
44 | + getRefundOrders(param) { | ||
45 | + param = Object.assign({method: 'app.refund.getList'}, param); | ||
46 | + | ||
47 | + return api.get('16303b76a9aa7b9b.json', param, { | ||
48 | + cache: true, | ||
49 | + code: 200 | ||
50 | + }).then(global.yoho.camelCase); | ||
32 | } | 51 | } |
33 | }; | 52 | }; |
34 | 53 |
@@ -21,6 +21,7 @@ const router = expressRouter(); | @@ -21,6 +21,7 @@ const router = expressRouter(); | ||
21 | router.get('/', home.index); // 个人中心主页 | 21 | router.get('/', home.index); // 个人中心主页 |
22 | router.get('/orders', order.orders); // 订单 | 22 | router.get('/orders', order.orders); // 订单 |
23 | router.get('/mycurrency', order.coin); // yoho币 | 23 | router.get('/mycurrency', order.coin); // yoho币 |
24 | +router.get('/coin-detail', order.getCoinDetail); // yoho币明细 | ||
24 | router.get('/order-detail', order.orderDetail); // 订单详情 | 25 | router.get('/order-detail', order.orderDetail); // 订单详情 |
25 | router.get('/get-orders', order.getOrderData); // 获取订单数据 | 26 | router.get('/get-orders', order.getOrderData); // 获取订单数据 |
26 | router.get('/get-order', order.getOrderDetailData); // 获取订单详情数据 | 27 | router.get('/get-order', order.getOrderDetailData); // 获取订单详情数据 |
@@ -44,6 +45,9 @@ router.get('/refund/order', refund.order); // 查询订单数据 | @@ -44,6 +45,9 @@ router.get('/refund/order', refund.order); // 查询订单数据 | ||
44 | router.post('/refund/submit', refund.submit); // 提交信息 | 45 | router.post('/refund/submit', refund.submit); // 提交信息 |
45 | router.get('/refund/logistics', refund.logistics); // 退换货 - 商品寄回信息 | 46 | router.get('/refund/logistics', refund.logistics); // 退换货 - 商品寄回信息 |
46 | router.post('/save-logistics', refund.saveLogistics); // 退换货 - 添加寄回物流信息 | 47 | router.post('/save-logistics', refund.saveLogistics); // 退换货 - 添加寄回物流信息 |
48 | +router.get('/exchange-status', refund.exchangeGoods); // 退换货 - 换货状态 | ||
49 | +router.get('/refund/orders', refund.refundOrders); // 退换货 - 订单列表 | ||
50 | +router.get('/refund/get-orders', refund.getRefundOrders); // 退换货 - 获取订单列表数据 | ||
47 | 51 | ||
48 | // 换货 | 52 | // 换货 |
49 | router.get('/exchange', exchange.exchange); | 53 | router.get('/exchange', exchange.exchange); |
1 | -<div class="yoho-coin"> | 1 | +<div class="yoho-coin" id="coin-detail-list"> |
2 | <div class="coin-total"> | 2 | <div class="coin-total"> |
3 | <p>您目前拥有</p> | 3 | <p>您目前拥有</p> |
4 | - <p><b>123</b></p> | 4 | + <p><b>{{coin.data.total}}</b></p> |
5 | <p>个有货币</p> | 5 | <p>个有货币</p> |
6 | </div> | 6 | </div> |
7 | - <div class="coin-detail"> | ||
8 | - <p>明细列表</p> | ||
9 | - <ul class="coin-detail-list"> | ||
10 | - <li> | ||
11 | - <div class="coin-source"> | ||
12 | - <p>签到奖励</p> | ||
13 | - <time>2016.1.23 12:31:00</time> | ||
14 | - </div> | ||
15 | - <div class="coin-num">+5</div> | ||
16 | - </li> | ||
17 | - <li> | ||
18 | - <div class="coin-source"> | ||
19 | - <p>签到奖励</p> | ||
20 | - <time>2016.1.23 12:31:00</time> | ||
21 | - </div> | ||
22 | - <div class="coin-num">+118</div> | ||
23 | - </li> | ||
24 | - </ul> | ||
25 | - </div> | 7 | + <coin-detail></coin-detail> |
26 | </div> | 8 | </div> |
apps/home/views/action/exchange-status.hbs
0 → 100644
1 | +<section class="exchange-status" id="exchange-goods-status"> | ||
2 | + <div class="status-desc"> | ||
3 | + <p>审核通过</p> | ||
4 | + <p>申请时间: 2016.1.23 23:00:00</p> | ||
5 | + </div> | ||
6 | + <div class="exchange-progress"> | ||
7 | + <ul> | ||
8 | + <li class="passed"> | ||
9 | + <div class="progress-desc"> | ||
10 | + <p>提交申请</p> | ||
11 | + <time>2016-1-23 23:00:00</time> | ||
12 | + </div> | ||
13 | + </li> | ||
14 | + <li> | ||
15 | + <div class="progress-desc"> | ||
16 | + <p>审核通过</p> | ||
17 | + </div> | ||
18 | + </li> | ||
19 | + <li> | ||
20 | + <div class="progress-desc"> | ||
21 | + <p>商品寄回</p> | ||
22 | + </div> | ||
23 | + </li> | ||
24 | + <li> | ||
25 | + <div class="progress-desc"> | ||
26 | + <p>商品入库</p> | ||
27 | + </div> | ||
28 | + </li> | ||
29 | + <li> | ||
30 | + <div class="progress-desc"> | ||
31 | + <p>换货完成</p> | ||
32 | + </div> | ||
33 | + </li> | ||
34 | + </ul> | ||
35 | + <div class="progress-todo"> | ||
36 | + <p>您的换货申请已<b>成功提交</b>!</p> | ||
37 | + <p class="phone">请您耐心等待审核,审核过后我们会将换货信息发送至您的手机<br>客服电话:400-889-9646</p> | ||
38 | + </div> | ||
39 | + </div> | ||
40 | + <div class="exchange-details"> | ||
41 | + <h2>换货详情 <i>EXCHANGE DETAILS</i></h2> | ||
42 | + <div class="exchange-product-wrapper"> | ||
43 | + <div class="exchange-product"> | ||
44 | + <div class="goods-info" v-for="goods in order.orderGoods"> | ||
45 | + <div class="img-box"> | ||
46 | + <img v-bind:src="goods.goodsImage | resize 49 65" alt="{{goods.productName}}"> | ||
47 | + </div> | ||
48 | + <div class="goods-detail"> | ||
49 | + <p class="name">{{goods.productName}}</p> | ||
50 | + <p class="size"> | ||
51 | + <span>颜色:{{goods.colorName}}</span> | ||
52 | + <span>尺码:{{goods.sizeName}}</span> | ||
53 | + </p> | ||
54 | + </div> | ||
55 | + <div class="goods-price"> | ||
56 | + <p>¥ {{goods.goodsPrice}}</p> | ||
57 | + <p>×{{goods.buyNumber}}</p> | ||
58 | + </div> | ||
59 | + </div> | ||
60 | + <div class="exchange-reason"> | ||
61 | + <p>换货颜色尺码: 黄色 M码</p> | ||
62 | + <p>换货原因: 质量瑕疵</p> | ||
63 | + <blockquote>收到货品后发现不是自己想要的,不是非常的喜欢, 而且存在一低昂的质量问题的呢,少了一个扣子的, 颜色与实际的有点不太符合的哈。</blockquote> | ||
64 | + <ul class="exchange-img"> | ||
65 | + <li> | ||
66 | + <img src="" alt=""> | ||
67 | + </li> | ||
68 | + <li> | ||
69 | + <img src="" alt=""> | ||
70 | + </li> | ||
71 | + <li> | ||
72 | + <img src="" alt=""> | ||
73 | + </li> | ||
74 | + </ul> | ||
75 | + </div> | ||
76 | + </div> | ||
77 | + <div class="exchange-product"> | ||
78 | + <div class="goods-info" v-for="goods in order.orderGoods"> | ||
79 | + <div class="img-box"> | ||
80 | + <img v-bind:src="goods.goodsImage | resize 49 65" alt="{{goods.productName}}"> | ||
81 | + </div> | ||
82 | + <div class="goods-detail"> | ||
83 | + <p class="name">{{goods.productName}}</p> | ||
84 | + <p class="size"> | ||
85 | + <span>颜色:{{goods.colorName}}</span> | ||
86 | + <span>尺码:{{goods.sizeName}}</span> | ||
87 | + </p> | ||
88 | + </div> | ||
89 | + <div class="goods-price"> | ||
90 | + <p>¥ {{goods.goodsPrice}}</p> | ||
91 | + <p>×{{goods.buyNumber}}</p> | ||
92 | + </div> | ||
93 | + </div> | ||
94 | + </div> | ||
95 | + <div class="exchange-product"> | ||
96 | + <div class="goods-info" v-for="goods in order.orderGoods"> | ||
97 | + <div class="img-box"> | ||
98 | + <img v-bind:src="goods.goodsImage | resize 49 65" alt="{{goods.productName}}"> | ||
99 | + </div> | ||
100 | + <div class="goods-detail"> | ||
101 | + <p class="name">{{goods.productName}}</p> | ||
102 | + <p class="size"> | ||
103 | + <span>颜色:{{goods.colorName}}</span> | ||
104 | + <span>尺码:{{goods.sizeName}}</span> | ||
105 | + </p> | ||
106 | + </div> | ||
107 | + <div class="goods-price"> | ||
108 | + <p>¥ {{goods.goodsPrice}}</p> | ||
109 | + <p>×{{goods.buyNumber}}</p> | ||
110 | + </div> | ||
111 | + </div> | ||
112 | + <div class="exchange-reason"> | ||
113 | + <p>换货原因: 尺寸不合适</p> | ||
114 | + </div> | ||
115 | + </div> | ||
116 | + </div> | ||
117 | + </div> | ||
118 | + | ||
119 | + <div class="exchange-express"> | ||
120 | + <div class="exchange-address"> | ||
121 | + <p><span>{{order.userName}}</span><span>{{order.phone}}</span></p> | ||
122 | + <p>{{order.area}} <br>{{order.address}}</p> | ||
123 | + </div> | ||
124 | + <div class="exchange-type"> | ||
125 | + <a href=""> | ||
126 | + <div class="primary">换货方式:</div> | ||
127 | + <div class="cell-ft">寄回换货</div> | ||
128 | + </a> | ||
129 | + </div> | ||
130 | + </div> | ||
131 | + <div class="exchange-order"> | ||
132 | + <a href=""> | ||
133 | + <div class="primary">原订单详情</div> | ||
134 | + <div class="cell-ft"></div> | ||
135 | + </a> | ||
136 | + </div> | ||
137 | + <div class="exchange-options"> | ||
138 | + <button>取消申请</button> | ||
139 | + </div> | ||
140 | +</section> |
1 | <div class="yoho-favorite-brand-page"> | 1 | <div class="yoho-favorite-brand-page"> |
2 | <div class="fav-content" id="fav-content"> | 2 | <div class="fav-content" id="fav-content"> |
3 | - <fav-brand-list brand-url={{brandUrl}}></fav-brand-list> | 3 | + <fav-brand-list brand-url='{{brandUrl}}'></fav-brand-list> |
4 | </div> | 4 | </div> |
5 | </div> | 5 | </div> |
1 | <div class="yoho-favorite-page"> | 1 | <div class="yoho-favorite-page"> |
2 | <div class="fav-content" id="fav-content"> | 2 | <div class="fav-content" id="fav-content"> |
3 | - <fav-product-list product-url={{productUrl}}></fav-product-list> | 3 | + <fav-product-list product-url='{{productUrl}}'></fav-product-list> |
4 | </div> | 4 | </div> |
5 | </div> | 5 | </div> |
1 | <div class="logistics-page" id="logistics"> | 1 | <div class="logistics-page" id="logistics"> |
2 | - <components :is="currentView" :company_id="company_id" :company_name="company_name" company_list={{company_list}} keep-alive></components> | 2 | + <components :is="currentView" :company_id="company_id" :company_name="company_name" company_list='{{company_list}}' keep-alive></components> |
3 | </div> | 3 | </div> |
1 | -<div class="order-wrapper return-goods"> | ||
2 | - <ul> | ||
3 | - <li class="order-item"> | ||
4 | - <div class="order-detail"> | ||
5 | - <div class="order-code"> | ||
6 | - <div class="code-time"> | ||
7 | - <p>订单号:523243435</p> | ||
8 | - <p>申请时间:2016.1.23 12:31:00</p> | ||
9 | - </div> | ||
10 | - <p>通过审核</p> | ||
11 | - </div> | ||
12 | - <div class="order-goods"> | ||
13 | - <div class="goods-info"> | ||
14 | - <div class="img-box"> | ||
15 | - <img src="//img01.static.yohobuy.com/cms/2016/05/30/15/019bb70cdee6e05ee51eb062c009d49796.jpg" alt=""> | ||
16 | - </div> | ||
17 | - <div class="goods-detail"> | ||
18 | - <p class="name">Supreme Mendini work jacket 2016年新品黑色手枪图案短2016年新品黑色手枪图案短</p> | ||
19 | - <p class="size"> | ||
20 | - <span>颜色:黑色</span> | ||
21 | - <span>尺码:XL</span> | ||
22 | - </p> | ||
23 | - </div> | ||
24 | - <div class="goods-price"> | ||
25 | - <p>¥6289.00</p> | ||
26 | - <p>×1</p> | ||
27 | - </div> | ||
28 | - </div> | ||
29 | - <div class="goods-info"> | ||
30 | - <div class="img-box"> | ||
31 | - <img src="//img01.static.yohobuy.com/cms/2016/05/30/15/019bb70cdee6e05ee51eb062c009d49796.jpg" alt=""> | ||
32 | - </div> | ||
33 | - <div class="goods-detail"> | ||
34 | - <p class="name">Supreme Mendini work jacket 2016年新品黑色手枪图案短2016年新品黑色手枪图案短</p> | ||
35 | - <p class="size"> | ||
36 | - <span>颜色:黑色</span> | ||
37 | - <span>尺码:XL</span> | ||
38 | - </p> | ||
39 | - </div> | ||
40 | - <div class="goods-price"> | ||
41 | - <p>¥6289.00</p> | ||
42 | - <p>×1</p> | ||
43 | - </div> | ||
44 | - </div> | ||
45 | - </div> | ||
46 | - <div class="order-option"> | ||
47 | - <div class="goods-total"></div> | ||
48 | - <div class="options"> | ||
49 | - <button class="normal">取消申请</button> | ||
50 | - </div> | ||
51 | - </div> | ||
52 | - </div> | ||
53 | - </li> | ||
54 | - <li class="order-item"> | ||
55 | - <div class="order-detail"> | ||
56 | - <div class="order-code"> | ||
57 | - <div class="code-time"> | ||
58 | - <p>订单号:523243435</p> | ||
59 | - <p>申请时间:2016.1.23 12:31:00</p> | ||
60 | - </div> | ||
61 | - <p>商品寄回</p> | ||
62 | - </div> | ||
63 | - <div class="order-goods"> | ||
64 | - <div class="goods-info"> | ||
65 | - <div class="img-box"> | ||
66 | - <img src="//img01.static.yohobuy.com/cms/2016/05/30/15/019bb70cdee6e05ee51eb062c009d49796.jpg" alt=""> | ||
67 | - </div> | ||
68 | - <div class="goods-detail"> | ||
69 | - <p class="name">Supreme Mendini work jacket 2016年新品黑色手枪图案短2016年新品黑色手枪图案短</p> | ||
70 | - <p class="size"> | ||
71 | - <span>颜色:黑色</span> | ||
72 | - <span>尺码:XL</span> | ||
73 | - </p> | ||
74 | - </div> | ||
75 | - <div class="goods-price"> | ||
76 | - <p>¥6289.00</p> | ||
77 | - <p>×1</p> | ||
78 | - </div> | ||
79 | - </div> | ||
80 | - </div> | ||
81 | - </div> | ||
82 | - </li> | ||
83 | - </ul> | ||
84 | -</div> |
apps/home/views/action/refund-order.hbs
0 → 100644
public/hbs/components/select.hbs
0 → 100644
public/js/common/anypicker.js
0 → 100644
This diff could not be displayed because it is too large.
public/js/common/intercept-click.js
0 → 100644
public/js/common/select.js
0 → 100644
1 | +/** | ||
2 | + * 选择框组件 | ||
3 | + * | ||
4 | + * @author: shenzm<zhimin.shen@yoho.cn> | ||
5 | + * @date: 2016/07/26 | ||
6 | + */ | ||
7 | + | ||
8 | +'use strict'; | ||
9 | + | ||
10 | +const $ = require('yoho-jquery'); | ||
11 | +const template = require('components/select.hbs'); | ||
12 | +const Overlay = require('./overlay'); | ||
13 | + | ||
14 | +function Select(items) { | ||
15 | + if (!$.isArray(items) || items.length === 0) { | ||
16 | + return; | ||
17 | + } | ||
18 | + | ||
19 | + // 初始化参数 | ||
20 | + const tpl = template({ | ||
21 | + items: items | ||
22 | + }); | ||
23 | + | ||
24 | + // 生成模版 | ||
25 | + const elem = $(tpl); | ||
26 | + const del = elem.find('.item-del'); | ||
27 | + $(del).click(function() { | ||
28 | + overlay.hide(); | ||
29 | + elem.hide(); | ||
30 | + }); | ||
31 | + | ||
32 | + // 覆盖层 | ||
33 | + const overlay = new Overlay({ | ||
34 | + onClose: function() { | ||
35 | + elem.hide(); | ||
36 | + } | ||
37 | + }); | ||
38 | + | ||
39 | + return { | ||
40 | + show: function(cb) { | ||
41 | + if (elem.parent().length === 0) { | ||
42 | + const lis = elem.find('.item-li'); | ||
43 | + lis.each(function(index) { | ||
44 | + $(this).click(function(e) { | ||
45 | + cb(e.target.innerHTML); | ||
46 | + overlay.hide(); | ||
47 | + elem.hide(); | ||
48 | + }); | ||
49 | + }); | ||
50 | + elem.appendTo('body').addClass('animation-target'); | ||
51 | + } | ||
52 | + | ||
53 | + overlay.show(); | ||
54 | + elem.show(); | ||
55 | + }, | ||
56 | + hide: function() { | ||
57 | + overlay.hide(); | ||
58 | + elem.hide(); | ||
59 | + } | ||
60 | + } | ||
61 | +} | ||
62 | + | ||
63 | +module.exports = Select; |
public/js/home/coin.page.js
0 → 100644
1 | +/** | ||
2 | + * coin.page.js. | ||
3 | + * @author hgwang | ||
4 | + * @date 2016-07-27 | ||
5 | + */ | ||
6 | +'use strict'; | ||
7 | + | ||
8 | + | ||
9 | +const Vue = require('yoho-vue'); | ||
10 | +const coin = require('home/coin-detail.vue'); | ||
11 | +const infiniteScroll = require('yoho-vue-infinite-scroll'); | ||
12 | + | ||
13 | +Vue.use(infiniteScroll); | ||
14 | + | ||
15 | +require('common/vue-filter'); | ||
16 | + | ||
17 | +new Vue({ | ||
18 | + el: '#coin-detail-list', | ||
19 | + components: { | ||
20 | + 'coin-detail': coin | ||
21 | + } | ||
22 | +}); |
public/js/home/exchange-status.page.js
0 → 100644
public/js/home/refund-order.page.js
0 → 100644
1 | +/** | ||
2 | + * refund-order.page. | ||
3 | + * @author hgwang | ||
4 | + * @date 2016-07-26 | ||
5 | + */ | ||
6 | +'use strict'; | ||
7 | + | ||
8 | +const Vue = require('yoho-vue'); | ||
9 | +const refundOrder = require('home/refund-order.vue'); | ||
10 | +const infiniteScroll = require('yoho-vue-infinite-scroll'); | ||
11 | + | ||
12 | +Vue.use(infiniteScroll); | ||
13 | + | ||
14 | +require('common/vue-filter'); | ||
15 | + | ||
16 | +new Vue({ | ||
17 | + el: '#refund-order-list', | ||
18 | + data: {}, | ||
19 | + components: { | ||
20 | + refundOrder | ||
21 | + } | ||
22 | +}); |
public/scss/common/_anypicker-ios.css
0 → 100644
1 | +/* ----------------------------------------------------------------------------- | ||
2 | + | ||
3 | + AnyPicker - Customizable Picker for Mobile OS | ||
4 | + Version 2.0.5 | ||
5 | + Copyright (c)2016 Curious Solutions LLP | ||
6 | + https://curioussolutions.in/libraries/anypicker/content/license.htm | ||
7 | + See License Information in LICENSE file. | ||
8 | + | ||
9 | + ----------------------------------------------------------------------------- */ | ||
10 | + | ||
11 | +.ap-theme-ios.ap-layout-popup .ap-cont, | ||
12 | +.ap-theme-ios.ap-layout-popover .ap-cont | ||
13 | +{ | ||
14 | + border: 1px solid #e0e0e0; | ||
15 | +} | ||
16 | + | ||
17 | +.ap-theme-ios.ap-layout-popup, | ||
18 | +.ap-theme-ios.ap-layout-fixed, | ||
19 | +.ap-theme-ios.ap-layout-popover | ||
20 | +{ | ||
21 | + background: rgba(0, 0, 0, 0.4); | ||
22 | +} | ||
23 | + | ||
24 | +.ap-theme-ios .ap-tooltip, | ||
25 | +.ap-theme-ios .ap-tooltip:after | ||
26 | +{ | ||
27 | + display: inline-block; | ||
28 | + width: 0; | ||
29 | + height: 0; | ||
30 | + | ||
31 | + position: absolute; | ||
32 | + | ||
33 | + border-width: 11px; | ||
34 | + border-style: solid; | ||
35 | + z-index: 6; | ||
36 | +} | ||
37 | + | ||
38 | +.ap-theme-ios .ap-tooltip:after | ||
39 | +{ | ||
40 | + content: " "; | ||
41 | + border-width: 10px; | ||
42 | +} | ||
43 | + | ||
44 | +.ap-theme-ios .ap-tooltip-bottom | ||
45 | +{ | ||
46 | + top: -22px; | ||
47 | + left: 10px; | ||
48 | + border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #D7D7D7 rgba(0, 0, 0, 0); | ||
49 | +} | ||
50 | + | ||
51 | +.ap-dir-rtl.ap-theme-ios .ap-tooltip-bottom | ||
52 | +{ | ||
53 | + right: 10px; | ||
54 | +} | ||
55 | + | ||
56 | +.ap-theme-ios .ap-tooltip-bottom:after | ||
57 | +{ | ||
58 | + top: -8px; | ||
59 | + left: -10px; | ||
60 | + border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #FFFFFF rgba(0, 0, 0, 0); | ||
61 | +} | ||
62 | + | ||
63 | +.ap-theme-ios .ap-tooltip-top | ||
64 | +{ | ||
65 | + bottom: -21px; | ||
66 | + left: 16px; | ||
67 | + border-color: #e0e0e0 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0); | ||
68 | +} | ||
69 | + | ||
70 | +.ap-dir-rtl.ap-theme-ios .ap-tooltip-top | ||
71 | +{ | ||
72 | + right: 16px; | ||
73 | +} | ||
74 | + | ||
75 | +.ap-theme-ios .ap-tooltip-top:after | ||
76 | +{ | ||
77 | + bottom: -8px; | ||
78 | + left: -10px; | ||
79 | + border-color: #FFFFFF rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0); | ||
80 | +} | ||
81 | + | ||
82 | +.ap-theme-ios .ap-tooltip-left | ||
83 | +{ | ||
84 | + top: 50%; | ||
85 | + left: -22px; | ||
86 | + border-color: rgba(0, 0, 0, 0) #e0e0e0 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0); | ||
87 | + | ||
88 | + -webkit-transform: translateY(-50%); | ||
89 | + -moz-transform: translateY(-50%); | ||
90 | + -o-transform: translateY(-50%); | ||
91 | + -ms-transform: translateY(-50%); | ||
92 | + transform: translateY(-50%); | ||
93 | +} | ||
94 | + | ||
95 | +.ap-theme-ios .ap-tooltip-left:after | ||
96 | +{ | ||
97 | + top: -10px; | ||
98 | + left: -9px; | ||
99 | + border-color: rgba(0, 0, 0, 0) #FFFFFF rgba(0, 0, 0, 0) rgba(0, 0, 0, 0); | ||
100 | +} | ||
101 | + | ||
102 | +.ap-theme-ios .ap-tooltip-right | ||
103 | +{ | ||
104 | + top: 50%; | ||
105 | + right: -22px; | ||
106 | + border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #e0e0e0; | ||
107 | + | ||
108 | + -webkit-transform: translateY(-50%); | ||
109 | + -moz-transform: translateY(-50%); | ||
110 | + -o-transform: translateY(-50%); | ||
111 | + -ms-transform: translateY(-50%); | ||
112 | + transform: translateY(-50%); | ||
113 | +} | ||
114 | + | ||
115 | +.ap-theme-ios .ap-tooltip-right:after | ||
116 | +{ | ||
117 | + top: -10px; | ||
118 | + left: -11px; | ||
119 | + border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #FFFFFF; | ||
120 | +} | ||
121 | + | ||
122 | +.ap-theme-ios .ap-bg | ||
123 | +{ | ||
124 | + font-size: 18px; | ||
125 | +} | ||
126 | + | ||
127 | +.ap-theme-ios .ap-header | ||
128 | +{ | ||
129 | + height: 85px; | ||
130 | + line-height: 85px; | ||
131 | + text-align: center; | ||
132 | + border-bottom: 1px solid #e0e0e0; | ||
133 | +} | ||
134 | + | ||
135 | +.ap-theme-ios .ap-header__title | ||
136 | +{ | ||
137 | + font-size: 30px; | ||
138 | +} | ||
139 | + | ||
140 | +.ap-theme-ios .ap-button | ||
141 | +{ | ||
142 | + display: inline-block; | ||
143 | + cursor: pointer; | ||
144 | + | ||
145 | + letter-spacing: 0; | ||
146 | + text-align: center; | ||
147 | + font-size: 30px; | ||
148 | + | ||
149 | + height: 43px; | ||
150 | + background: rgba(255, 255, 255, 1); | ||
151 | +} | ||
152 | + | ||
153 | +.ap-theme-ios .ap-content-top, | ||
154 | +.ap-theme-ios .ap-content-bottom | ||
155 | +{ | ||
156 | + font-size: 0.9em; | ||
157 | +} | ||
158 | + | ||
159 | +.ap-theme-ios .ap-footer | ||
160 | +{ | ||
161 | + padding: 0 16px; | ||
162 | +} | ||
163 | + | ||
164 | +.ap-theme-ios .ap-footer-top .ap-button | ||
165 | +{ | ||
166 | + display: inline-block; | ||
167 | +} | ||
168 | + | ||
169 | +.ap-theme-ios .ap-button:last-child | ||
170 | +{ | ||
171 | + float: right; | ||
172 | + padding: 0 0 0 16px; | ||
173 | + | ||
174 | + color: #4a90e2; | ||
175 | +} | ||
176 | + | ||
177 | +.ap-dir-rtl.ap-theme-ios .ap-button:last-child | ||
178 | +{ | ||
179 | + float: left; | ||
180 | + padding: 0 16px 0 0; | ||
181 | +} | ||
182 | + | ||
183 | +.ap-theme-ios .ap-button:not(:last-child) | ||
184 | +{ | ||
185 | + float: left; | ||
186 | + padding: 0 16px 0 0; | ||
187 | + | ||
188 | + color: #4a90e2; | ||
189 | +} | ||
190 | + | ||
191 | +.ap-dir-rtl.ap-theme-ios .ap-button:not(:last-child) | ||
192 | +{ | ||
193 | + float: right; | ||
194 | + padding: 0 0 0 16px; | ||
195 | +} | ||
196 | + | ||
197 | +.ap-theme-ios .ap-component-gradient | ||
198 | +{ | ||
199 | + /* | ||
200 | + http://www.cssmatic.com/gradient-generator#'\-moz\-linear\-gradient\%28top\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\.7\%29\%200\%25\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\.7\%29\%2040\%25\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\%29\%2045\%25\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\%29\%2055\%25\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\.7\%29\%2060\%25\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\.7\%29\%20100\%25\%29\%3B' | ||
201 | + */ | ||
202 | + | ||
203 | + background: rgba(255,255,255,0.7); | ||
204 | + background: -moz-linear-gradient(top, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.7) 40%, rgba(255,255,255,0) 45%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.7) 60%, rgba(255,255,255,0.7) 100%); | ||
205 | + background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,0.7)), color-stop(40%, rgba(255,255,255,0.7)), color-stop(45%, rgba(255,255,255,0)), color-stop(55%, rgba(255,255,255,0)), color-stop(60%, rgba(255,255,255,0.7)), color-stop(100%, rgba(255,255,255,0.7))); | ||
206 | + background: -webkit-linear-gradient(top, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.7) 40%, rgba(255,255,255,0) 45%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.7) 60%, rgba(255,255,255,0.7) 100%); | ||
207 | + background: -o-linear-gradient(top, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.7) 40%, rgba(255,255,255,0) 45%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.7) 60%, rgba(255,255,255,0.7) 100%); | ||
208 | + background: -ms-linear-gradient(top, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.7) 40%, rgba(255,255,255,0) 45%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.7) 60%, rgba(255,255,255,0.7) 100%); | ||
209 | + background: linear-gradient(to bottom, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.7) 40%, rgba(255,255,255,0) 45%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.7) 60%, rgba(255,255,255,0.7) 100%); | ||
210 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff', GradientType=0 ); | ||
211 | +} | ||
212 | + | ||
213 | +.ap-theme-ios .ap-content-middle | ||
214 | +{ | ||
215 | + padding: 10px 0; | ||
216 | +} | ||
217 | + | ||
218 | +.ap-theme-ios .ap-content-switch-tab | ||
219 | +{ | ||
220 | + border: 1px solid #007AFF; | ||
221 | + font-size: 0.7em; | ||
222 | + color: #007AFF; | ||
223 | +} | ||
224 | + | ||
225 | +.ap-dir-ltr.ap-theme-ios .ap-content-switch-date | ||
226 | +{ | ||
227 | + border-top-left-radius: 5px; | ||
228 | + border-bottom-left-radius: 5px; | ||
229 | +} | ||
230 | + | ||
231 | +.ap-dir-rtl.ap-theme-ios .ap-content-switch-date | ||
232 | +{ | ||
233 | + border-top-right-radius: 5px; | ||
234 | + border-bottom-right-radius: 5px; | ||
235 | + margin-left: -1px; | ||
236 | +} | ||
237 | + | ||
238 | +.ap-dir-ltr.ap-theme-ios .ap-content-switch-time | ||
239 | +{ | ||
240 | + border-top-right-radius: 5px; | ||
241 | + border-bottom-right-radius: 5px; | ||
242 | + margin-left: -1px; | ||
243 | +} | ||
244 | + | ||
245 | +.ap-dir-rtl.ap-theme-ios .ap-content-switch-time | ||
246 | +{ | ||
247 | + border-top-left-radius: 5px; | ||
248 | + border-bottom-left-radius: 5px; | ||
249 | +} | ||
250 | + | ||
251 | +.ap-theme-ios .ap-content-switch-selected | ||
252 | +{ | ||
253 | + background: #007AFF; | ||
254 | + color: #FFFFFF; | ||
255 | +} | ||
256 | + | ||
257 | +.ap-theme-ios .ap-component-plus, | ||
258 | +.ap-theme-ios .ap-component-minus | ||
259 | +{ | ||
260 | + color: #BDBDBD; | ||
261 | +} | ||
262 | + | ||
263 | +.ap-theme-ios .ap-component-label | ||
264 | +{ | ||
265 | + color: #007AFF; | ||
266 | +} | ||
267 | + | ||
268 | +.ap-theme-ios .ap-row | ||
269 | +{ | ||
270 | + color: #000000; | ||
271 | + font-size: 40px; | ||
272 | + height: 60px; | ||
273 | + line-height: 60px; | ||
274 | +} | ||
275 | + | ||
276 | +.ap-theme-ios .ap-row-disabled | ||
277 | +{ | ||
278 | + color: #9E9E9E; | ||
279 | +} | ||
280 | + | ||
281 | +.ap-theme-ios .ap-component-selector | ||
282 | +{ | ||
283 | + left: 0; | ||
284 | + width: 100%; | ||
285 | + border-top: 1px solid #e0e0e0; | ||
286 | + border-bottom: 1px solid #e0e0e0; | ||
287 | +} |
public/scss/common/_anypicker.css
0 → 100644
1 | +/* ----------------------------------------------------------------------------- | ||
2 | + | ||
3 | + AnyPicker - Customizable Picker for Mobile OS | ||
4 | + Version 2.0.5 | ||
5 | + Copyright (c)2016 Curious Solutions LLP | ||
6 | + https://curioussolutions.in/libraries/anypicker/content/license.htm | ||
7 | + See License Information in LICENSE file. | ||
8 | + | ||
9 | + ----------------------------------------------------------------------------- */ | ||
10 | + | ||
11 | +/* ------------------------- Basic Layout Start ---------------------------------- */ | ||
12 | + | ||
13 | +body.noscroll | ||
14 | +{ | ||
15 | + overflow: hidden; | ||
16 | +} | ||
17 | + | ||
18 | +.ap-overlay | ||
19 | +{ | ||
20 | + display: none; | ||
21 | + z-index: 2000; | ||
22 | + min-width: 250px; | ||
23 | + | ||
24 | + -webkit-touch-callout: none; | ||
25 | + -webkit-user-select: none; | ||
26 | + -khtml-user-select: none; | ||
27 | + -moz-user-select: none; | ||
28 | + -ms-user-select: none; | ||
29 | + user-select: none; | ||
30 | + | ||
31 | + -webkit-backface-visibility: hidden; | ||
32 | + -moz-backface-visibility: hidden; | ||
33 | + backface-visibility: hidden; | ||
34 | + | ||
35 | + -webkit-transform-style: preserve-3d; | ||
36 | + -moz-transform-style: preserve-3d; | ||
37 | + transform-style: preserve-3d; | ||
38 | + | ||
39 | + -webkit-perspective: 1000px; | ||
40 | + -moz-perspective: 1000px; | ||
41 | + perspective: 1000px; | ||
42 | +} | ||
43 | + | ||
44 | +.ap-layout-popup | ||
45 | +{ | ||
46 | + position: fixed; | ||
47 | + top: 0; | ||
48 | + left: 0; | ||
49 | + | ||
50 | + width: 100%; | ||
51 | + height: 100%; | ||
52 | + | ||
53 | + background: rgba(0, 0, 0, 0.5); | ||
54 | +} | ||
55 | + | ||
56 | +.ap-layout-fixed, | ||
57 | +.ap-layout-popover | ||
58 | +{ | ||
59 | + position: fixed; | ||
60 | + top: 0; | ||
61 | + left: 0; | ||
62 | + | ||
63 | + width: 100%; | ||
64 | + height: 100%; | ||
65 | + | ||
66 | + background: rgba(0, 0, 0, 0.5); | ||
67 | +} | ||
68 | +/* | ||
69 | +.ap-layout-relative, .ap-layout-inline | ||
70 | +{ | ||
71 | + height: auto; | ||
72 | +} | ||
73 | +*/ | ||
74 | + | ||
75 | +.ap-layout-relative, .ap-layout-inline | ||
76 | +{ | ||
77 | + position: fixed; | ||
78 | + top: 0; | ||
79 | + left: 0; | ||
80 | + | ||
81 | + width: 100%; | ||
82 | + height: 100%; | ||
83 | +} | ||
84 | + | ||
85 | +.ap-overlay * | ||
86 | +{ | ||
87 | + -webkit-box-sizing: border-box; | ||
88 | + -moz-box-sizing: border-box; | ||
89 | + -ms-box-sizing: border-box; | ||
90 | + box-sizing: border-box; | ||
91 | + | ||
92 | + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); | ||
93 | +} | ||
94 | + | ||
95 | +.ap-bg | ||
96 | +{ | ||
97 | + width: 100%; | ||
98 | + height: 100%; | ||
99 | + | ||
100 | + font-size: 22px; | ||
101 | +} | ||
102 | + | ||
103 | +.ap-cont | ||
104 | +{ | ||
105 | + background: #FFFFFF; | ||
106 | +} | ||
107 | + | ||
108 | +.ap-theme-default:not(.ap-layout-inline):not(.ap-layout-relative) .ap-cont | ||
109 | +{ | ||
110 | + -webkit-box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21); | ||
111 | + -moz-box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21); | ||
112 | + box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21); | ||
113 | +} | ||
114 | + | ||
115 | +.ap-layout-popup .ap-cont | ||
116 | +{ | ||
117 | + position: fixed; | ||
118 | + bottom: 0px; | ||
119 | + width: 100%; | ||
120 | +} | ||
121 | + | ||
122 | +.ap-layout-relative .ap-cont | ||
123 | +{ | ||
124 | + max-width: 500px; | ||
125 | + width: 97%; | ||
126 | + border: 1px solid #ECF0F1; | ||
127 | +} | ||
128 | + | ||
129 | +.ap-layout-inline .ap-cont | ||
130 | +{ | ||
131 | + border: 1px solid #ECF0F1; | ||
132 | +} | ||
133 | + | ||
134 | +.ap-layout-fixed .ap-cont | ||
135 | +{ | ||
136 | + width: 100%; | ||
137 | + position: fixed; | ||
138 | +} | ||
139 | + | ||
140 | +/* ------------------------- Basic Layout End ---------------------------------- */ | ||
141 | + | ||
142 | +/* ------------------------- View Sections Start ---------------------------------- */ | ||
143 | + | ||
144 | +.ap-header | ||
145 | +{ | ||
146 | + height: 50px; | ||
147 | + line-height: 50px; | ||
148 | + | ||
149 | + text-align: left; | ||
150 | + font-size: 0.9em; | ||
151 | + | ||
152 | + padding: 0 16px; | ||
153 | +} | ||
154 | + | ||
155 | +.ap-dir-rtl .ap-header | ||
156 | +{ | ||
157 | + text-align: right; | ||
158 | +} | ||
159 | + | ||
160 | +.ap-theme-default .ap-header | ||
161 | +{ | ||
162 | + height: 60px; | ||
163 | + line-height: 60px; | ||
164 | +} | ||
165 | + | ||
166 | +.ap-content | ||
167 | +{ | ||
168 | + max-width: 480px; | ||
169 | + margin: 0 auto; | ||
170 | + font-size: 40px; | ||
171 | +} | ||
172 | + | ||
173 | +.ap-content-top | ||
174 | +{ | ||
175 | + height: 50px; | ||
176 | + padding: 8px 16px; | ||
177 | + color:#555; | ||
178 | + text-align:center; | ||
179 | +} | ||
180 | + | ||
181 | +.ap-content-switch | ||
182 | +{ | ||
183 | + margin-top: 8px; | ||
184 | + margin-bottom: 8px; | ||
185 | + | ||
186 | + text-align: center; | ||
187 | +} | ||
188 | + | ||
189 | +.ap-content-switch-tab | ||
190 | +{ | ||
191 | + border: 1px solid #009688; | ||
192 | + padding: 5px 16px; | ||
193 | + | ||
194 | + cursor: pointer; | ||
195 | + font-size: 0.6em; | ||
196 | + color: #009688; | ||
197 | +} | ||
198 | + | ||
199 | +.ap-dir-ltr .ap-content-switch-date | ||
200 | +{ | ||
201 | + border-top-left-radius: 2px; | ||
202 | + border-bottom-left-radius: 2px; | ||
203 | +} | ||
204 | + | ||
205 | +.ap-dir-rtl .ap-content-switch-date | ||
206 | +{ | ||
207 | + border-top-right-radius: 2px; | ||
208 | + border-bottom-right-radius: 2px; | ||
209 | + margin-left: -1px; | ||
210 | +} | ||
211 | + | ||
212 | +.ap-dir-ltr .ap-content-switch-time | ||
213 | +{ | ||
214 | + border-top-right-radius: 2px; | ||
215 | + border-bottom-right-radius: 2px; | ||
216 | + margin-left: -1px; | ||
217 | +} | ||
218 | + | ||
219 | +.ap-dir-rtl .ap-content-switch-time | ||
220 | +{ | ||
221 | + border-top-left-radius: 2px; | ||
222 | + border-bottom-left-radius: 2px; | ||
223 | +} | ||
224 | + | ||
225 | +.ap-content-switch-selected | ||
226 | +{ | ||
227 | + background: #009688; | ||
228 | + color: #FFFFFF; | ||
229 | +} | ||
230 | + | ||
231 | +.ap-content-middle | ||
232 | +{ | ||
233 | + min-height: 120px; | ||
234 | + | ||
235 | + padding-top: 20px; | ||
236 | + padding-bottom: 20px; | ||
237 | +} | ||
238 | + | ||
239 | +.ap-content-bottom | ||
240 | +{ | ||
241 | + height: 50px; | ||
242 | + padding: 8px 16px; | ||
243 | + color:#555; | ||
244 | + text-align:center; | ||
245 | +} | ||
246 | + | ||
247 | +.ap-theme-default .ap-content-top, | ||
248 | +.ap-theme-default .ap-content-bottom | ||
249 | +{ | ||
250 | + font-size: 0.7em; | ||
251 | +} | ||
252 | + | ||
253 | +.ap-footer | ||
254 | +{ | ||
255 | + display: table; | ||
256 | + table-layout: fixed; | ||
257 | + width: 100%; | ||
258 | + | ||
259 | + height: 50px; | ||
260 | +} | ||
261 | + | ||
262 | +.ap-theme-default .ap-footer | ||
263 | +{ | ||
264 | + padding: 0 16px; | ||
265 | +} | ||
266 | + | ||
267 | +.ap-theme-default .ap-footer-top | ||
268 | +{ | ||
269 | + line-height: 55px; | ||
270 | +} | ||
271 | + | ||
272 | +.ap-theme-default .ap-footer-bottom | ||
273 | +{ | ||
274 | + line-height: 45px; | ||
275 | +} | ||
276 | + | ||
277 | + .ap-header__title | ||
278 | +{ | ||
279 | + color: #000000; | ||
280 | + font-size: 1.2em; | ||
281 | +} | ||
282 | + | ||
283 | + /* ------------------------- Buttons Start ---------------------------------- */ | ||
284 | + | ||
285 | +.ap-theme-default .ap-button | ||
286 | +{ | ||
287 | + cursor: pointer; | ||
288 | + | ||
289 | + letter-spacing: 0; | ||
290 | + text-align: center; | ||
291 | + font-size: 0.8em; | ||
292 | + | ||
293 | + padding: 8px 12px; | ||
294 | + margin: 8px; | ||
295 | + | ||
296 | + color: #009688; | ||
297 | + background: rgba(255, 255, 255, 1); | ||
298 | + | ||
299 | + text-transform: uppercase; | ||
300 | +} | ||
301 | + | ||
302 | +.ap-theme-default .ap-button-cont | ||
303 | +{ | ||
304 | + float: right; | ||
305 | +} | ||
306 | + | ||
307 | +.ap-theme-default.ap-dir-rtl .ap-button-cont | ||
308 | +{ | ||
309 | + float: left; | ||
310 | +} | ||
311 | + | ||
312 | + /* ------------------------- Buttons End ---------------------------------- */ | ||
313 | + | ||
314 | +/* ------------------------- View Sections End ---------------------------------- */ | ||
315 | + | ||
316 | + | ||
317 | +/* ------------------------- Animations Start ---------------------------------- */ | ||
318 | + | ||
319 | +/* ------------------------------------------------------------------------------ */ | ||
320 | + | ||
321 | +.ap-show | ||
322 | +{ | ||
323 | + opacity: 0; | ||
324 | + | ||
325 | + animation: ap-anim-show ease 0.5s; | ||
326 | + animation-iteration-count: 1; | ||
327 | + | ||
328 | + -webkit-animation: ap-anim-show ease 0.5s; | ||
329 | + -webkit-animation-iteration-count: 1; | ||
330 | + | ||
331 | + -moz-animation: ap-anim-show ease 0.5s; | ||
332 | + -moz-animation-iteration-count: 1; | ||
333 | + | ||
334 | + -o-animation: ap-anim-show ease 0.5s; | ||
335 | + -o-animation-iteration-count: 1; | ||
336 | + | ||
337 | + -ms-animation: ap-anim-show ease 0.5s; | ||
338 | + -ms-animation-iteration-count: 1; | ||
339 | + | ||
340 | + -moz-animation-fill-mode: forwards; | ||
341 | + -webkit-animation-fill-mode: forwards; /* Chrome, Safari, Opera */ | ||
342 | + animation-fill-mode: forwards; | ||
343 | +} | ||
344 | + | ||
345 | +@keyframes ap-anim-show | ||
346 | +{ | ||
347 | + 0% { opacity:0; } | ||
348 | + 100% { opacity:1; } | ||
349 | +} | ||
350 | + | ||
351 | +@-moz-keyframes ap-anim-show | ||
352 | +{ | ||
353 | + 0% { opacity:0; } | ||
354 | + 100% { opacity:1; } | ||
355 | +} | ||
356 | + | ||
357 | +@-webkit-keyframes ap-anim-show | ||
358 | +{ | ||
359 | + 0% { opacity:0; } | ||
360 | + 100% { opacity:1; } | ||
361 | +} | ||
362 | + | ||
363 | +@-o-keyframes ap-anim-show | ||
364 | +{ | ||
365 | + 0% { opacity:0; } | ||
366 | + 100% { opacity:1; } | ||
367 | +} | ||
368 | + | ||
369 | +/* ------------------------------------------------------------------------------ */ | ||
370 | + | ||
371 | +.ap-hide | ||
372 | +{ | ||
373 | + animation: ap-anim-hide ease 0.5s; | ||
374 | + animation-iteration-count: 1; | ||
375 | + | ||
376 | + -moz-animation-fill-mode: forwards; | ||
377 | + -webkit-animation-fill-mode: forwards; /* Chrome, Safari, Opera */ | ||
378 | + animation-fill-mode: forwards; | ||
379 | + | ||
380 | + -webkit-animation: ap-anim-hide ease 0.5s; | ||
381 | + -webkit-animation-iteration-count: 1; | ||
382 | + | ||
383 | + -moz-animation: ap-anim-hide ease 0.5s; | ||
384 | + -moz-animation-iteration-count: 1; | ||
385 | + | ||
386 | + -o-animation: ap-anim-hide ease 0.5s; | ||
387 | + -o-animation-iteration-count: 1; | ||
388 | + | ||
389 | + -ms-animation: ap-anim-hide ease 0.5s; | ||
390 | + -ms-animation-iteration-count: 1; | ||
391 | +} | ||
392 | + | ||
393 | +@keyframes ap-anim-hide | ||
394 | +{ | ||
395 | + 0% { opacity:1; } | ||
396 | + 100% { opacity:0; } | ||
397 | +} | ||
398 | + | ||
399 | +@-moz-keyframes ap-anim-hide | ||
400 | +{ | ||
401 | + 0% { opacity:1; } | ||
402 | + 100% { opacity:0; } | ||
403 | +} | ||
404 | + | ||
405 | +@-webkit-keyframes ap-anim-hide | ||
406 | +{ | ||
407 | + 0% { opacity:1; } | ||
408 | + 100% { opacity:0; } | ||
409 | +} | ||
410 | + | ||
411 | +@-o-keyframes ap-anim-hide | ||
412 | +{ | ||
413 | + 0% { opacity:1; } | ||
414 | + 100% { opacity:0; } | ||
415 | +} | ||
416 | + | ||
417 | +/* ------------------------------------------------------------------------------ */ | ||
418 | + | ||
419 | +.ap-bottom-slide-up | ||
420 | +{ | ||
421 | + opacity: 0; | ||
422 | + | ||
423 | + animation: ap-anim-bottom-slide-up ease 0.5s; | ||
424 | + animation-iteration-count: 1; | ||
425 | + | ||
426 | + -webkit-animation: ap-anim-bottom-slide-up ease 0.5s; | ||
427 | + -webkit-animation-iteration-count: 1; | ||
428 | + | ||
429 | + -moz-animation: ap-anim-bottom-slide-up ease 0.5s; | ||
430 | + -moz-animation-iteration-count: 1; | ||
431 | + | ||
432 | + -o-animation: ap-anim-bottom-slide-up ease 0.5s; | ||
433 | + -o-animation-iteration-count: 1; | ||
434 | + | ||
435 | + -ms-animation: ap-anim-bottom-slide-up ease 0.5s; | ||
436 | + -ms-animation-iteration-count: 1; | ||
437 | + | ||
438 | + -moz-animation-fill-mode: forwards; | ||
439 | + -webkit-animation-fill-mode: forwards; /* Chrome, Safari, Opera */ | ||
440 | + animation-fill-mode: forwards; | ||
441 | +} | ||
442 | + | ||
443 | +@keyframes ap-anim-bottom-slide-up | ||
444 | +{ | ||
445 | + 100% { opacity: 1; bottom: 0; } | ||
446 | +} | ||
447 | + | ||
448 | +@-moz-keyframes ap-anim-bottom-slide-up | ||
449 | +{ | ||
450 | + 100% { opacity: 1; bottom: 0; } | ||
451 | +} | ||
452 | + | ||
453 | +@-webkit-keyframes ap-anim-bottom-slide-up | ||
454 | +{ | ||
455 | + 100% { opacity: 1; bottom: 0; } | ||
456 | +} | ||
457 | + | ||
458 | +@-o-keyframes ap-anim-bottom-slide-up | ||
459 | +{ | ||
460 | + 100% { opacity: 1; bottom: 0; } | ||
461 | +} | ||
462 | + | ||
463 | +/* ------------------------------------------------------------------------------ */ | ||
464 | + | ||
465 | +.ap-bottom-slide-down | ||
466 | +{ | ||
467 | + opacity: 1; | ||
468 | + | ||
469 | + animation: ap-anim-bottom-slide-down ease 0.5s; | ||
470 | + animation-iteration-count: 1; | ||
471 | + | ||
472 | + -webkit-animation: ap-anim-bottom-slide-down ease 0.5s; | ||
473 | + -webkit-animation-iteration-count: 1; | ||
474 | + | ||
475 | + -moz-animation: ap-anim-bottom-slide-down ease 0.5s; | ||
476 | + -moz-animation-iteration-count: 1; | ||
477 | + | ||
478 | + -o-animation: ap-anim-bottom-slide-down ease 0.5s; | ||
479 | + -o-animation-iteration-count: 1; | ||
480 | + | ||
481 | + -ms-animation: ap-anim-bottom-slide-down ease 0.5s; | ||
482 | + -ms-animation-iteration-count: 1; | ||
483 | + | ||
484 | + -moz-animation-fill-mode: forwards; | ||
485 | + -webkit-animation-fill-mode: forwards; /* Chrome, Safari, Opera */ | ||
486 | + animation-fill-mode: forwards; | ||
487 | +} | ||
488 | + | ||
489 | +@keyframes ap-anim-bottom-slide-down | ||
490 | +{ | ||
491 | + 100% { opacity: 0; bottom: -1000px; } | ||
492 | +} | ||
493 | + | ||
494 | +@-moz-keyframes ap-anim-bottom-slide-down | ||
495 | +{ | ||
496 | + 100% { opacity: 0; bottom: -1000px; } | ||
497 | +} | ||
498 | + | ||
499 | +@-webkit-keyframes ap-anim-bottom-slide-down | ||
500 | +{ | ||
501 | + 100% { opacity: 0; bottom: -1000px; } | ||
502 | +} | ||
503 | + | ||
504 | +@-o-keyframes ap-anim-bottom-slide-down | ||
505 | +{ | ||
506 | + 100% { opacity: 0; bottom: -1000px; } | ||
507 | +} | ||
508 | + | ||
509 | +/* ------------------------------------------------------------------------------ */ | ||
510 | + | ||
511 | +.ap-top-slide-down | ||
512 | +{ | ||
513 | + opacity: 0; | ||
514 | + | ||
515 | + animation: ap-anim-top-slide-down ease 0.5s; | ||
516 | + animation-iteration-count: 1; | ||
517 | + | ||
518 | + -webkit-animation: ap-anim-top-slide-down ease 0.5s; | ||
519 | + -webkit-animation-iteration-count: 1; | ||
520 | + | ||
521 | + -moz-animation: ap-anim-top-slide-down ease 0.5s; | ||
522 | + -moz-animation-iteration-count: 1; | ||
523 | + | ||
524 | + -o-animation: ap-anim-top-slide-down ease 0.5s; | ||
525 | + -o-animation-iteration-count: 1; | ||
526 | + | ||
527 | + -ms-animation: ap-anim-top-slide-down ease 0.5s; | ||
528 | + -ms-animation-iteration-count: 1; | ||
529 | + | ||
530 | + -moz-animation-fill-mode: forwards; | ||
531 | + -webkit-animation-fill-mode: forwards; /* Chrome, Safari, Opera */ | ||
532 | + animation-fill-mode: forwards; | ||
533 | +} | ||
534 | + | ||
535 | +@keyframes ap-anim-top-slide-down | ||
536 | +{ | ||
537 | + 100% { opacity: 1; top: 0; } | ||
538 | +} | ||
539 | + | ||
540 | +@-moz-keyframes ap-anim-top-slide-down | ||
541 | +{ | ||
542 | + 100% { opacity: 1; top: 0; } | ||
543 | +} | ||
544 | + | ||
545 | +@-webkit-keyframes ap-anim-top-slide-down | ||
546 | +{ | ||
547 | + 100% { opacity: 1; top: 0; } | ||
548 | +} | ||
549 | + | ||
550 | +@-o-keyframes ap-anim-top-slide-down | ||
551 | +{ | ||
552 | + 100% { opacity: 1; top: 0; } | ||
553 | +} | ||
554 | + | ||
555 | +/* ------------------------------------------------------------------------------ */ | ||
556 | + | ||
557 | +.ap-top-slide-up | ||
558 | +{ | ||
559 | + opacity: 1; | ||
560 | + | ||
561 | + animation: ap-anim-top-slide-up ease 0.5s; | ||
562 | + animation-iteration-count: 1; | ||
563 | + | ||
564 | + -webkit-animation: ap-anim-top-slide-up ease 0.5s; | ||
565 | + -webkit-animation-iteration-count: 1; | ||
566 | + | ||
567 | + -moz-animation: ap-anim-top-slide-up ease 0.5s; | ||
568 | + -moz-animation-iteration-count: 1; | ||
569 | + | ||
570 | + -o-animation: ap-anim-top-slide-up ease 0.5s; | ||
571 | + -o-animation-iteration-count: 1; | ||
572 | + | ||
573 | + -ms-animation: ap-anim-top-slide-up ease 0.5s; | ||
574 | + -ms-animation-iteration-count: 1; | ||
575 | + | ||
576 | + -moz-animation-fill-mode: forwards; | ||
577 | + -webkit-animation-fill-mode: forwards; /* Chrome, Safari, Opera */ | ||
578 | + animation-fill-mode: forwards; | ||
579 | +} | ||
580 | + | ||
581 | +@keyframes ap-anim-top-slide-up | ||
582 | +{ | ||
583 | + 100% { opacity: 0; top: -1000px; } | ||
584 | +} | ||
585 | + | ||
586 | +@-moz-keyframes ap-anim-top-slide-up | ||
587 | +{ | ||
588 | + 100% { opacity: 0; top: -1000px; } | ||
589 | +} | ||
590 | + | ||
591 | +@-webkit-keyframes ap-anim-top-slide-up | ||
592 | +{ | ||
593 | + 100% { opacity: 0; top: -1000px; } | ||
594 | +} | ||
595 | + | ||
596 | +@-o-keyframes ap-anim-top-slide-up | ||
597 | +{ | ||
598 | + 100% { opacity: 0; top: -1000px; } | ||
599 | +} | ||
600 | + | ||
601 | +/* ------------------------------------------------------------------------------ */ | ||
602 | + | ||
603 | +.ap-theme-default .ap-button-active | ||
604 | +{ | ||
605 | + animation: ap-anim-default-button-active ease 0.5s; | ||
606 | + animation-iteration-count: 1; | ||
607 | + animation-fill-mode:forwards; | ||
608 | + | ||
609 | + -webkit-animation: ap-anim-default-button-active ease 0.5s; | ||
610 | + -webkit-animation-iteration-count: 1; | ||
611 | + -webkit-animation-fill-mode:forwards; | ||
612 | + | ||
613 | + -moz-animation: ap-anim-default-button-active ease 0.5s; | ||
614 | + -moz-animation-iteration-count: 1; | ||
615 | + -moz-animation-fill-mode:forwards; | ||
616 | + | ||
617 | + -o-animation: ap-anim-default-button-active ease 0.5s; | ||
618 | + -o-animation-iteration-count: 1; | ||
619 | + -o-animation-fill-mode:forwards; | ||
620 | + | ||
621 | + -ms-animation: ap-anim-default-button-active ease 0.5s; | ||
622 | + -ms-animation-iteration-count: 1; | ||
623 | + -ms-animation-fill-mode:forwards; | ||
624 | +} | ||
625 | + | ||
626 | +@keyframes ap-anim-default-button-active | ||
627 | +{ | ||
628 | + 100% { background: #E0F2F1; } | ||
629 | +} | ||
630 | + | ||
631 | +@-moz-keyframes ap-anim-default-button-active | ||
632 | +{ | ||
633 | + 100% { background: #E0F2F1; } | ||
634 | +} | ||
635 | + | ||
636 | +@-webkit-keyframes ap-anim-default-button-active | ||
637 | +{ | ||
638 | + 100% { background: #E0F2F1; } | ||
639 | +} | ||
640 | + | ||
641 | +@-o-keyframes ap-anim-default-button-active | ||
642 | +{ | ||
643 | + 100% { background: #E0F2F1; } | ||
644 | +} | ||
645 | + | ||
646 | +/* ------------------------------------------------------------------------------ */ | ||
647 | + | ||
648 | + | ||
649 | + | ||
650 | +/* ------------------------- Animations End ---------------------------------- */ | ||
651 | + | ||
652 | + | ||
653 | + | ||
654 | + | ||
655 | +/* ------------------------- Picker Component Start ---------------------------------- */ | ||
656 | + | ||
657 | +.ap-component-section | ||
658 | +{ | ||
659 | + display: table; | ||
660 | + table-layout: fixed; | ||
661 | + width: 100%; | ||
662 | + | ||
663 | + background: #FFFFFF; | ||
664 | +} | ||
665 | + | ||
666 | +.ap-loading | ||
667 | +{ | ||
668 | + width: 100%; | ||
669 | + height: 100%; | ||
670 | + | ||
671 | + z-index: 2; | ||
672 | + background: #FFFFFF; | ||
673 | +} | ||
674 | + | ||
675 | +.ap-component-section, ap-component-section * | ||
676 | +{ | ||
677 | + -webkit-box-sizing: border-box; | ||
678 | + -moz-box-sizing: border-box; | ||
679 | + box-sizing: border-box; | ||
680 | + | ||
681 | + -webkit-touch-callout: none; | ||
682 | + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); | ||
683 | + | ||
684 | + -webkit-user-select: none; | ||
685 | + -khtml-user-select: none; | ||
686 | + -moz-user-select: none; | ||
687 | + -ms-user-select: none; | ||
688 | + user-select: none; | ||
689 | + | ||
690 | + -ms-touch-select: none; | ||
691 | + -ms-touch-action: none; | ||
692 | + touch-action: none; | ||
693 | +} | ||
694 | + | ||
695 | +.ap-component | ||
696 | +{ | ||
697 | + display: table-cell; | ||
698 | +} | ||
699 | + | ||
700 | +.ap-component-label | ||
701 | +{ | ||
702 | + text-align: center; | ||
703 | + font-size: 0.7em; | ||
704 | +} | ||
705 | + | ||
706 | +.ap-theme-default | ||
707 | +{ | ||
708 | + color: #009688; | ||
709 | +} | ||
710 | + | ||
711 | +.ap-component-plus, .ap-component-minus | ||
712 | +{ | ||
713 | + background: #FFFFFF; | ||
714 | + color: #BDBDBD; | ||
715 | + | ||
716 | + width: 100%; | ||
717 | + height: 40px; | ||
718 | + line-height: 40px; | ||
719 | + | ||
720 | + text-align: center; | ||
721 | + font-size: 15px; | ||
722 | + | ||
723 | + cursor: pointer; | ||
724 | +} | ||
725 | + | ||
726 | +.ap-component-cont | ||
727 | +{ | ||
728 | + position: relative; | ||
729 | + /*height: 200px;*/ | ||
730 | + overflow: hidden; | ||
731 | +} | ||
732 | + | ||
733 | +.ap-component-data | ||
734 | +{ | ||
735 | + position: absolute; | ||
736 | + left: 0; | ||
737 | + top: 0; | ||
738 | + width: 100%; | ||
739 | + | ||
740 | + -webkit-backface-visibility: hidden; | ||
741 | + -moz-backface-visibility: hidden; | ||
742 | + backface-visibility: hidden; | ||
743 | + | ||
744 | + -webkit-transform-style: preserve-3d; | ||
745 | + -moz-transform-style: preserve-3d; | ||
746 | + transform-style: preserve-3d; | ||
747 | + | ||
748 | + -webkit-transform: translate3d(0, 0, 0); | ||
749 | + -moz-transform: translate3d(0, 0, 0); | ||
750 | + -o-transform: translate3d(0, 0, 0); | ||
751 | + -ms-transform: translate3d(0, 0, 0); | ||
752 | + transform: translate3d(0, 0, 0); | ||
753 | + | ||
754 | + -webkit-perspective: 1000px; | ||
755 | + -moz-perspective: 1000px; | ||
756 | + perspective: 1000px; | ||
757 | +} | ||
758 | + | ||
759 | +.ap-row | ||
760 | +{ | ||
761 | + height: 40px; | ||
762 | + line-height: 40px; | ||
763 | + | ||
764 | + text-align: center; | ||
765 | + | ||
766 | + overflow: hidden; | ||
767 | + text-overflow: clip; | ||
768 | + white-space:nowrap; | ||
769 | + | ||
770 | + cursor: pointer; | ||
771 | + | ||
772 | + color: #000000; | ||
773 | +} | ||
774 | + | ||
775 | +.ap-row-invalid | ||
776 | +{ | ||
777 | + color: #FFCDD2; | ||
778 | +} | ||
779 | + | ||
780 | +.ap-row-hidden | ||
781 | +{ | ||
782 | + opacity: 0; | ||
783 | +} | ||
784 | + | ||
785 | +.ap-component-selector | ||
786 | +{ | ||
787 | + position: absolute; | ||
788 | + left: 0; | ||
789 | + top: 50%; | ||
790 | + -webkit-transform: translateY(-50%); | ||
791 | + -moz-transform: translateY(-50%); | ||
792 | + -o-transform: translateY(-50%); | ||
793 | + -ms-transform: translateY(-50%); | ||
794 | + transform: translateY(-50%); | ||
795 | + | ||
796 | + width: 100%; | ||
797 | + height: 40px; | ||
798 | + | ||
799 | + border-top: 1px solid #009688; | ||
800 | + border-bottom: 1px solid #009688; | ||
801 | +} | ||
802 | + | ||
803 | +.ap-theme-default .ap-component-selector | ||
804 | +{ | ||
805 | + left: 10%; | ||
806 | + width: 80%; | ||
807 | +} | ||
808 | + | ||
809 | +.ap-component-gradient | ||
810 | +{ | ||
811 | + position: absolute; | ||
812 | + top: -1px; | ||
813 | + left: 0; | ||
814 | + | ||
815 | + width: 100%; | ||
816 | + height: 102%; | ||
817 | + | ||
818 | + cursor: pointer; | ||
819 | + | ||
820 | + /* | ||
821 | + http://www.cssmatic.com/gradient-generator#'\-moz\-linear\-gradient\%28top\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\.8\%29\%200\%25\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\.8\%29\%2030\%25\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\%29\%2045\%25\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\%29\%2055\%25\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\.8\%29\%2070\%25\%2C\%20rgba\%28255\%2C255\%2C255\%2C0\.8\%29\%20100\%25\%29\%3B' | ||
822 | + */ | ||
823 | + | ||
824 | + background: rgba(255,255,255,0.8); | ||
825 | + background: -moz-linear-gradient(top, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.8) 30%, rgba(255,255,255,0) 45%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.8) 70%, rgba(255,255,255,0.8) 100%); | ||
826 | + background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,0.8)), color-stop(30%, rgba(255,255,255,0.8)), color-stop(45%, rgba(255,255,255,0)), color-stop(55%, rgba(255,255,255,0)), color-stop(70%, rgba(255,255,255,0.8)), color-stop(100%, rgba(255,255,255,0.8))); | ||
827 | + background: -webkit-linear-gradient(top, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.8) 30%, rgba(255,255,255,0) 45%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.8) 70%, rgba(255,255,255,0.8) 100%); | ||
828 | + background: -o-linear-gradient(top, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.8) 30%, rgba(255,255,255,0) 45%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.8) 70%, rgba(255,255,255,0.8) 100%); | ||
829 | + background: -ms-linear-gradient(top, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.8) 30%, rgba(255,255,255,0) 45%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.8) 70%, rgba(255,255,255,0.8) 100%); | ||
830 | + background: linear-gradient(to bottom, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.8) 30%, rgba(255,255,255,0) 45%, rgba(255,255,255,0) 55%, rgba(255,255,255,0.8) 70%, rgba(255,255,255,0.8) 100%); | ||
831 | + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff', GradientType=0 ); | ||
832 | +} | ||
833 | + | ||
834 | +/* ------------------------- Picker Component End ---------------------------------- */ | ||
835 | + |
public/scss/common/_select.css
0 → 100644
1 | +.select { | ||
2 | + position: fixed; | ||
3 | + bottom: 0px; | ||
4 | + width: 100%; | ||
5 | + background: #fff; | ||
6 | + z-index: 1001; | ||
7 | + | ||
8 | + ul { | ||
9 | + font-size: 34px; | ||
10 | + text-align: center; | ||
11 | + | ||
12 | + li { | ||
13 | + height: 100px; | ||
14 | + line-height: 100px; | ||
15 | + border-bottom: 1px solid #e0e0e0; | ||
16 | + } | ||
17 | + | ||
18 | + .item-del { | ||
19 | + margin-top: 10px; | ||
20 | + border-top: 1px solid #e0e0e0; | ||
21 | + color: #5c99e4 | ||
22 | + } | ||
23 | + } | ||
24 | +} |
@@ -10,11 +10,13 @@ | @@ -10,11 +10,13 @@ | ||
10 | p:first-child { | 10 | p:first-child { |
11 | font-size: 34px; | 11 | font-size: 34px; |
12 | } | 12 | } |
13 | + | ||
13 | p:nth-child(2) { | 14 | p:nth-child(2) { |
14 | font-size: 78px; | 15 | font-size: 78px; |
15 | color: #4a90e2; | 16 | color: #4a90e2; |
16 | line-height: 80px; | 17 | line-height: 80px; |
17 | } | 18 | } |
19 | + | ||
18 | p:last-child { | 20 | p:last-child { |
19 | color: #b0b0b0; | 21 | color: #b0b0b0; |
20 | font-size: 28px; | 22 | font-size: 28px; |
@@ -28,6 +30,7 @@ | @@ -28,6 +30,7 @@ | ||
28 | font-size: 28px; | 30 | font-size: 28px; |
29 | color: #b0b0b0; | 31 | color: #b0b0b0; |
30 | } | 32 | } |
33 | + | ||
31 | .coin-detail-list { | 34 | .coin-detail-list { |
32 | padding: 0 30px; | 35 | padding: 0 30px; |
33 | background: $white; | 36 | background: $white; |
@@ -69,6 +72,10 @@ | @@ -69,6 +72,10 @@ | ||
69 | .coin-num { | 72 | .coin-num { |
70 | font-size: 34px; | 73 | font-size: 34px; |
71 | line-height: 92px; | 74 | line-height: 92px; |
75 | + | ||
76 | + i { | ||
77 | + font-style: normal; | ||
78 | + } | ||
72 | } | 79 | } |
73 | } | 80 | } |
74 | } | 81 | } |
@@ -13,16 +13,16 @@ | @@ -13,16 +13,16 @@ | ||
13 | 13 | ||
14 | li { | 14 | li { |
15 | &:first-of-type { | 15 | &:first-of-type { |
16 | - height: 100px; | ||
17 | - line-height: 100px; | 16 | + height: 130px; |
17 | + line-height: 130px; | ||
18 | } | 18 | } |
19 | 19 | ||
20 | - height: 80px; | 20 | + height: 90px; |
21 | border-bottom: 1px solid #e0e0e0; | 21 | border-bottom: 1px solid #e0e0e0; |
22 | 22 | ||
23 | .details-icon { | 23 | .details-icon { |
24 | float: right; | 24 | float: right; |
25 | - height: 90px; | 25 | + height: 100%; |
26 | margin-right: 15px; | 26 | margin-right: 15px; |
27 | 27 | ||
28 | .icon { | 28 | .icon { |
@@ -40,8 +40,8 @@ | @@ -40,8 +40,8 @@ | ||
40 | } | 40 | } |
41 | 41 | ||
42 | .head-portrait { | 42 | .head-portrait { |
43 | - width: 90px; | ||
44 | - height: 90px; | 43 | + width: 92px; |
44 | + height: 92px; | ||
45 | overflow: hidden; | 45 | overflow: hidden; |
46 | border-radius: 50%; | 46 | border-radius: 50%; |
47 | border: 1px solid #eee; | 47 | border: 1px solid #eee; |
@@ -51,8 +51,8 @@ | @@ -51,8 +51,8 @@ | ||
51 | > label { | 51 | > label { |
52 | width: 100%; | 52 | width: 100%; |
53 | height: 100%; | 53 | height: 100%; |
54 | - line-height: 80px; | ||
55 | - font-size: 32px; | 54 | + line-height: 90px; |
55 | + font-size: 34px; | ||
56 | margin-right: 8%; | 56 | margin-right: 8%; |
57 | text-overflow: ellipsis; | 57 | text-overflow: ellipsis; |
58 | white-space: nowrap; | 58 | white-space: nowrap; |
public/scss/home/_exchange-status.css
0 → 100644
1 | +.exchange-status { | ||
2 | + background: #f6f6f6; | ||
3 | + padding-bottom: 170px; | ||
4 | + | ||
5 | + > div { | ||
6 | + padding: 0 30px; | ||
7 | + background: #fff; | ||
8 | + } | ||
9 | + .status-desc { | ||
10 | + display: flex; | ||
11 | + height: 80px; | ||
12 | + line-height: 80px; | ||
13 | + color: $white; | ||
14 | + background: $black; | ||
15 | + p:first-of-type { | ||
16 | + flex: 1; | ||
17 | + font-size: 34px; | ||
18 | + } | ||
19 | + } | ||
20 | + .exchange-progress { | ||
21 | + border-bottom: 1px solid #eee; | ||
22 | + | ||
23 | + li { | ||
24 | + position: relative; | ||
25 | + padding-left: 55px; | ||
26 | + | ||
27 | + .progress-desc { | ||
28 | + padding: 30px 0; | ||
29 | + border-bottom: 1px solid #eee; | ||
30 | + } | ||
31 | + | ||
32 | + &:before { | ||
33 | + content: ""; | ||
34 | + position: absolute; | ||
35 | + left: 0; | ||
36 | + top: 50%; | ||
37 | + width: 17px; | ||
38 | + height: 17px; | ||
39 | + margin-top: -8px; | ||
40 | + background: #b0b0b0; | ||
41 | + border-radius: 50%; | ||
42 | + z-index: 1; | ||
43 | + } | ||
44 | + | ||
45 | + &:after { | ||
46 | + content: ""; | ||
47 | + position: absolute; | ||
48 | + left: 8px; | ||
49 | + top: 0; | ||
50 | + width: 1px; | ||
51 | + height: 100%; | ||
52 | + background: #eee; | ||
53 | + } | ||
54 | + | ||
55 | + &.passed { | ||
56 | + &:before { | ||
57 | + background: #000; | ||
58 | + } | ||
59 | + } | ||
60 | + | ||
61 | + p:first-of-type { | ||
62 | + flex: 1; | ||
63 | + font-size: 34px; | ||
64 | + } | ||
65 | + | ||
66 | + time { | ||
67 | + color: #b0b0b0; | ||
68 | + } | ||
69 | + } | ||
70 | + .progress-todo { | ||
71 | + padding: 25px 0; | ||
72 | + text-align: center; | ||
73 | + p:first-of-type { | ||
74 | + font-size: 34px; | ||
75 | + | ||
76 | + b { | ||
77 | + color: #4a90e2; | ||
78 | + } | ||
79 | + } | ||
80 | + | ||
81 | + .phone { | ||
82 | + color: #b0b0b0; | ||
83 | + } | ||
84 | + } | ||
85 | + } | ||
86 | + .exchange-details { | ||
87 | + margin-top: 20px; | ||
88 | + border-top: 1px solid #eee; | ||
89 | + border-bottom: 1px solid #eee; | ||
90 | + | ||
91 | + h2 { | ||
92 | + height: 88px; | ||
93 | + font-size: 32px; | ||
94 | + line-height: 88px; | ||
95 | + | ||
96 | + i { | ||
97 | + display: inline-block; | ||
98 | + font-size: 16px; | ||
99 | + font-style: normal; | ||
100 | + font-weight: normal; | ||
101 | + color: #b0b0b0; | ||
102 | + } | ||
103 | + } | ||
104 | + | ||
105 | + } | ||
106 | + .exchange-product { | ||
107 | + border-top: 1px solid #eee; | ||
108 | + border-bottom: 1px solid #eee; | ||
109 | + | ||
110 | + .goods-info { | ||
111 | + display: flex; | ||
112 | + padding: 20px 0; | ||
113 | + border-bottom: 1px solid #eee; | ||
114 | + | ||
115 | + &:last-child { | ||
116 | + border-bottom: 0 none; | ||
117 | + } | ||
118 | + } | ||
119 | + .img-box { | ||
120 | + position: relative; | ||
121 | + width: 98px; | ||
122 | + height: 130px; | ||
123 | + overflow: hidden; | ||
124 | + | ||
125 | + label { | ||
126 | + position: absolute; | ||
127 | + left: 0; | ||
128 | + bottom: 0; | ||
129 | + width: 100%; | ||
130 | + height: 30px; | ||
131 | + line-height: 30px; | ||
132 | + background: rgba(0, 0, 0, 0.2); | ||
133 | + color: $white; | ||
134 | + text-align: center; | ||
135 | + } | ||
136 | + img { | ||
137 | + width: 100%; | ||
138 | + height: 100%; | ||
139 | + } | ||
140 | + } | ||
141 | + .goods-detail { | ||
142 | + flex: 1; | ||
143 | + margin: 0 20px; | ||
144 | + font-size: 24px; | ||
145 | + | ||
146 | + span { | ||
147 | + margin-right: 40px; | ||
148 | + } | ||
149 | + .name { | ||
150 | + display: -webkit-box; | ||
151 | + -webkit-line-clamp: 2; | ||
152 | + -webkit-box-orient: vertical; | ||
153 | + text-overflow: ellipsis; | ||
154 | + height: 2.4em; | ||
155 | + line-height: 1.25; | ||
156 | + overflow: hidden; | ||
157 | + font-size: 28px; | ||
158 | + } | ||
159 | + .size { | ||
160 | + color: #b0b0b0; | ||
161 | + } | ||
162 | + } | ||
163 | + .goods-price { | ||
164 | + text-align: right; | ||
165 | + | ||
166 | + p:first-of-type { | ||
167 | + font-size: 28px; | ||
168 | + } | ||
169 | + p:last-of-type { | ||
170 | + font-size: 30px; | ||
171 | + color: #b0b0b0; | ||
172 | + } | ||
173 | + } | ||
174 | + } | ||
175 | + .exchange-reason { | ||
176 | + padding: 20px 0; | ||
177 | + font-size: 28px; | ||
178 | + blockquote { | ||
179 | + margin-top: 20px; | ||
180 | + color: #b0b0b0; | ||
181 | + } | ||
182 | + } | ||
183 | + .exchange-img { | ||
184 | + display: flex; | ||
185 | + margin-top: 25px; | ||
186 | + margin-bottom: 10px; | ||
187 | + | ||
188 | + li { | ||
189 | + width: 154px; | ||
190 | + height: 154px; | ||
191 | + margin-right: 25px; | ||
192 | + | ||
193 | + img { | ||
194 | + width: 154px; | ||
195 | + height: 154px; | ||
196 | + } | ||
197 | + } | ||
198 | + } | ||
199 | + .exchange-address { | ||
200 | + position: relative; | ||
201 | + padding: 20px 30px 27px; | ||
202 | + margin-bottom: 20px; | ||
203 | + border-top: 1px solid #eee; | ||
204 | + word-wrap: break-word; | ||
205 | + | ||
206 | + p:first-of-type { | ||
207 | + font-size: 32px; | ||
208 | + font-weight: 700; | ||
209 | + | ||
210 | + span { | ||
211 | + margin-right: 40px; | ||
212 | + } | ||
213 | + } | ||
214 | + p:last-of-type { | ||
215 | + font-size: 28px; | ||
216 | + color: #b0b0b0; | ||
217 | + } | ||
218 | + } | ||
219 | + .exchange-express { | ||
220 | + margin-top: 20px; | ||
221 | + } | ||
222 | + .exchange-order, | ||
223 | + .exchange-type { | ||
224 | + display: flex; | ||
225 | + position: relative; | ||
226 | + height: 88px; | ||
227 | + margin-top: 20px; | ||
228 | + line-height: 88px; | ||
229 | + font-size: 34px; | ||
230 | + border-top: 1px solid #eee; | ||
231 | + border-bottom: 1px solid #eee; | ||
232 | + | ||
233 | + .primary { | ||
234 | + flex: 1; | ||
235 | + } | ||
236 | + .cell-ft { | ||
237 | + color: #b0b0b0; | ||
238 | + &:after { | ||
239 | + content: "\e607"; | ||
240 | + display: inline-block; | ||
241 | + font-size: 15px; | ||
242 | + margin-left: 5px; | ||
243 | + font-family: iconfont; | ||
244 | + -webkit-transform: rotate(-90deg); | ||
245 | + transform: rotate(-90deg); | ||
246 | + margin-right: -5px; | ||
247 | + color: #999; | ||
248 | + } | ||
249 | + } | ||
250 | + } | ||
251 | + .exchange-options { | ||
252 | + position: fixed; | ||
253 | + left: 0; | ||
254 | + right: 0; | ||
255 | + bottom: 0; | ||
256 | + z-index: 10; | ||
257 | + padding: 30px 20px; | ||
258 | + border-top: 1px solid #eee; | ||
259 | + text-align: right; | ||
260 | + background: #fff; | ||
261 | + | ||
262 | + button { | ||
263 | + padding: 0 20px; | ||
264 | + height: 68px; | ||
265 | + line-height: 68px; | ||
266 | + color: $black; | ||
267 | + text-align: center; | ||
268 | + -webkit-appearance: none; | ||
269 | + border: 0 none; | ||
270 | + background: $white; | ||
271 | + font-size: 28px; | ||
272 | + | ||
273 | + &.black { | ||
274 | + width: 192px; | ||
275 | + color: $white; | ||
276 | + background: $black; | ||
277 | + } | ||
278 | + &.countdown { | ||
279 | + color: $white; | ||
280 | + background: $black; | ||
281 | + } | ||
282 | + &.normal { | ||
283 | + width: 188px; | ||
284 | + padding: 0; | ||
285 | + border: 1px solid $black; | ||
286 | + color: $black; | ||
287 | + } | ||
288 | + &:focus { | ||
289 | + outline: none; | ||
290 | + } | ||
291 | + } | ||
292 | + } | ||
293 | +} |
@@ -59,10 +59,23 @@ $white: #fff; | @@ -59,10 +59,23 @@ $white: #fff; | ||
59 | } | 59 | } |
60 | } | 60 | } |
61 | .img-box { | 61 | .img-box { |
62 | + position: relative; | ||
62 | width: 98px; | 63 | width: 98px; |
63 | height: 130px; | 64 | height: 130px; |
64 | overflow: hidden; | 65 | overflow: hidden; |
65 | 66 | ||
67 | + label { | ||
68 | + position: absolute; | ||
69 | + left: 0; | ||
70 | + bottom: 0; | ||
71 | + width: 100%; | ||
72 | + height: 30px; | ||
73 | + line-height: 30px; | ||
74 | + background: rgba(0, 0, 0, 0.2); | ||
75 | + color: $white; | ||
76 | + text-align: center; | ||
77 | + } | ||
78 | + | ||
66 | img { | 79 | img { |
67 | width: 100%; | 80 | width: 100%; |
68 | height: 100%; | 81 | height: 100%; |
public/scss/home/_refund-order.css
0 → 100644
@@ -27,6 +27,7 @@ | @@ -27,6 +27,7 @@ | ||
27 | const $ = require('yoho-jquery'); | 27 | const $ = require('yoho-jquery'); |
28 | const tip = require('common/tip'); | 28 | const tip = require('common/tip'); |
29 | const bus = require('common/vue-bus'); | 29 | const bus = require('common/vue-bus'); |
30 | + const interceptClick = require('common/intercept-click'); | ||
30 | const contentCode = require('content-code'); | 31 | const contentCode = require('content-code'); |
31 | 32 | ||
32 | const focus = require('./focus.vue'); | 33 | const focus = require('./focus.vue'); |
@@ -98,6 +99,12 @@ | @@ -98,6 +99,12 @@ | ||
98 | bus.$on('channel.change', (page, channel) => { | 99 | bus.$on('channel.change', (page, channel) => { |
99 | this.contentCode = contentCode[page][channel]; | 100 | this.contentCode = contentCode[page][channel]; |
100 | }); | 101 | }); |
102 | + }, | ||
103 | + attached() { | ||
104 | + $('.resources').on('click', 'a', function() { | ||
105 | + interceptClick($(this).attr('href')); | ||
106 | + return false; | ||
107 | + }); | ||
101 | } | 108 | } |
102 | }; | 109 | }; |
103 | </script> | 110 | </script> |
public/vue/home/coin-detail.vue
0 → 100644
1 | +<template> | ||
2 | + <div class="coin-detail"> | ||
3 | + <p>明细列表</p> | ||
4 | + <ul class="coin-detail-list"> | ||
5 | + <li v-for="coin in coinList"> | ||
6 | + <div class="coin-source"> | ||
7 | + <p>{{coin.message}}</p> | ||
8 | + <time>{{coin.date}}</time> | ||
9 | + </div> | ||
10 | + <div class="coin-num"><i v-if="coin.num>0">+</i>{{coin.num}}</div> | ||
11 | + </li> | ||
12 | + </ul> | ||
13 | + </div> | ||
14 | +</template> | ||
15 | +<script> | ||
16 | + 'use strict'; | ||
17 | + | ||
18 | + const $ = require('yoho-jquery'); | ||
19 | + const tip = require('common/tip'); | ||
20 | + | ||
21 | + // const Modal = require('common/modal'); | ||
22 | + | ||
23 | + module.exports = { | ||
24 | + data() { | ||
25 | + return { | ||
26 | + page: 0, | ||
27 | + limit: 15, | ||
28 | + coinList: [], | ||
29 | + busy: false, | ||
30 | + }; | ||
31 | + }, | ||
32 | + | ||
33 | + ready() { | ||
34 | + this.getCoinData(); | ||
35 | + }, | ||
36 | + | ||
37 | + methods: { | ||
38 | + getCoinData() { | ||
39 | + let _that = this; | ||
40 | + | ||
41 | + this.busy = true; | ||
42 | + $.ajax({ | ||
43 | + url: '/home/coin-detail', | ||
44 | + data: { | ||
45 | + page: ++this.page, | ||
46 | + limit: this.limit | ||
47 | + } | ||
48 | + }).then(result => { | ||
49 | + if (result.code === 200) { | ||
50 | + if (result.isend) { | ||
51 | + _that.busy = true; | ||
52 | + } else { | ||
53 | + _that.busy = false; | ||
54 | + } | ||
55 | + if (result.data.coinlist.length > 0) { | ||
56 | + this.$set('coinList', result.data.coinlist); | ||
57 | + } | ||
58 | + } | ||
59 | + }).fail(() => { | ||
60 | + tip('网络错误'); | ||
61 | + }); | ||
62 | + } | ||
63 | + } | ||
64 | + }; | ||
65 | +</script> |
1 | <template> | 1 | <template> |
2 | <ul> | 2 | <ul> |
3 | <li> | 3 | <li> |
4 | - <label>头像 | 4 | + <label @click="selicon">头像 |
5 | <span class="details-icon"> | 5 | <span class="details-icon"> |
6 | - <span class="head-portrait user-avatar" data-avatar="{{head_ico}}"></span> | 6 | + <span class="head-portrait user-avatar" :style='icoStyle'></span> |
7 | <span class="icon icon-right"></span> | 7 | <span class="icon icon-right"></span> |
8 | </span> | 8 | </span> |
9 | </label> | 9 | </label> |
@@ -12,20 +12,55 @@ | @@ -12,20 +12,55 @@ | ||
12 | <label>昵称<input class="details-nickname" v-model='nickname'></label> | 12 | <label>昵称<input class="details-nickname" v-model='nickname'></label> |
13 | </li> | 13 | </li> |
14 | <li> | 14 | <li> |
15 | - <label>性别<span class="details-gender">{{ gender }}</span></label> | 15 | + <label @click="selgender">性别<span class="details-gender">{{ gender }}</span></label> |
16 | </li> | 16 | </li> |
17 | <li> | 17 | <li> |
18 | - <label>生日<span class="details-birthday">{{ birthday }}</span></label> | 18 | + <label>生日<input id="birthday" class="details-birthday" type="text" v-model='birthday' readonly></input> |
19 | </li> | 19 | </li> |
20 | </ul> | 20 | </ul> |
21 | </template> | 21 | </template> |
22 | 22 | ||
23 | <script> | 23 | <script> |
24 | + const $ = require('yoho-jquery'); | ||
25 | + const dtpicker = require('common/anypicker'); | ||
26 | + const Select = require('common/select'); | ||
27 | + const iconSel = Select(['拍照','从相册选择']); | ||
28 | + const genderSel = Select(['MEN', 'WOMEN']); | ||
29 | + | ||
24 | module.exports = { | 30 | module.exports = { |
25 | props: ['head_ico', 'nickname', 'gender', 'birthday'], | 31 | props: ['head_ico', 'nickname', 'gender', 'birthday'], |
26 | data() { | 32 | data() { |
27 | return { | 33 | return { |
34 | + icoStyle: this.head_ico ? 'background-image:url(' + this.head_ico + ');' : '' | ||
28 | }; | 35 | }; |
36 | + }, | ||
37 | + methods: { | ||
38 | + selicon: function(){ | ||
39 | + iconSel.show(function(item) { | ||
40 | + if (item === '拍照') { | ||
41 | + console.log('拍照'); | ||
42 | + } | ||
43 | + | ||
44 | + if (item === '从相册选择') { | ||
45 | + console.log('从相册选择'); | ||
29 | } | 46 | } |
47 | + }); | ||
48 | + }, | ||
49 | + selgender: function(){ | ||
50 | + let _this = this; | ||
51 | + | ||
52 | + genderSel.show(function(item) { | ||
53 | + _this.gender = item.toLowerCase(); | ||
54 | + }) | ||
55 | + } | ||
56 | + }, | ||
57 | + ready: function(){ | ||
58 | + $("#birthday").AnyPicker({ | ||
59 | + mode: "datetime", | ||
60 | + dateTimeFormat: "yyyy. MM. dd", | ||
61 | + theme: "iOS" | ||
62 | + }); | ||
63 | + } | ||
64 | + | ||
30 | }; | 65 | }; |
31 | </script> | 66 | </script> |
public/vue/home/refund-order.vue
0 → 100644
1 | +<template> | ||
2 | + <ul v-infinite-scroll="getOrderData()" infinite-scroll-disabled="busy" infinite-scroll-distance="10"> | ||
3 | + <li class="order-item" v-for="(index, order) in orderList"> | ||
4 | + <div class="order-detail"> | ||
5 | + <div class="order-code"> | ||
6 | + <div class="code-time"> | ||
7 | + <p>订单号:{{order.orderCode}}</p> | ||
8 | + <p>申请时间:{{order.orderCreateTime}}</p> | ||
9 | + </div> | ||
10 | + <p>{{order.statusName}}</p> | ||
11 | + </div> | ||
12 | + <div class="order-goods"> | ||
13 | + <div class="goods-info" v-for="product in order.goods"> | ||
14 | + <div class="img-box"> | ||
15 | + <img v-bind:src="product.goodsImage | resize 49 65" alt="{{product.productName}}"> | ||
16 | + <label v-if="product.goodsType == 'gift'">赠品</label> | ||
17 | + </div> | ||
18 | + <div class="goods-detail"> | ||
19 | + <p class="name">{{product.productName}}</p> | ||
20 | + <p class="size"> | ||
21 | + <span>颜色: {{product.colorName}}</span> | ||
22 | + <span>尺码: {{product.sizeName}}</span> | ||
23 | + </p> | ||
24 | + </div> | ||
25 | + <div class="goods-price"> | ||
26 | + <p>¥{{product.salesPrice}}</p> | ||
27 | + <p>×1</p> | ||
28 | + </div> | ||
29 | + </div> | ||
30 | + </div> | ||
31 | + <div class="order-option"> | ||
32 | + <div class="goods-total"></div> | ||
33 | + <div class="options" v-show="order.canCancel == 'Y'"> | ||
34 | + <button v-if="order.canCancel == 'Y'" class="normal">取消申请</button> | ||
35 | + </div> | ||
36 | + </div> | ||
37 | + </div> | ||
38 | + </li> | ||
39 | + </ul> | ||
40 | +</template> | ||
41 | +<script> | ||
42 | + 'use strict'; | ||
43 | + | ||
44 | + const $ = require('yoho-jquery'); | ||
45 | + const tip = require('common/tip'); | ||
46 | + | ||
47 | + //const Modal = require('common/modal'); | ||
48 | + | ||
49 | + module.exports = { | ||
50 | + data() { | ||
51 | + return { | ||
52 | + page: 0, | ||
53 | + limit: 10, | ||
54 | + orderList: [], | ||
55 | + busy: false, | ||
56 | + }; | ||
57 | + }, | ||
58 | + | ||
59 | + ready() { | ||
60 | + this.getOrderData(); | ||
61 | + }, | ||
62 | + | ||
63 | + methods: { | ||
64 | + getOrderData() { | ||
65 | + let _that = this; | ||
66 | + | ||
67 | + this.busy = true; | ||
68 | + $.ajax({ | ||
69 | + url: '/home/refund/get-orders', | ||
70 | + data: { | ||
71 | + page: ++this.page, | ||
72 | + limit: this.limit | ||
73 | + } | ||
74 | + }).then(result => { | ||
75 | + if (result.isend) { | ||
76 | + _that.busy = true; | ||
77 | + } else { | ||
78 | + _that.busy = false; | ||
79 | + } | ||
80 | + if (result.data.list.length > 0) { | ||
81 | + this.$set('orderList', result.data.list); | ||
82 | + } | ||
83 | + }).fail(() => { | ||
84 | + tip('网络错误'); | ||
85 | + }); | ||
86 | + }, | ||
87 | + cancelApply(code) { | ||
88 | + $.ajax({ | ||
89 | + url: '/home/cancel-apply', | ||
90 | + type: 'post', | ||
91 | + data: { | ||
92 | + orderCode: code | ||
93 | + } | ||
94 | + }).then(result => { | ||
95 | + if (result.code === 200) { | ||
96 | + location.reload(); | ||
97 | + } else { | ||
98 | + tip(result.message); | ||
99 | + } | ||
100 | + }).fail(() => { | ||
101 | + tip('操作失敗'); | ||
102 | + }); | ||
103 | + } | ||
104 | + } | ||
105 | + }; | ||
106 | +</script> | ||
107 | +<style> | ||
108 | + html, | ||
109 | + body { | ||
110 | + height: 100%; | ||
111 | + } | ||
112 | + | ||
113 | + @import "../../scss/home/_order.css"; | ||
114 | + | ||
115 | + .order-wrapper { | ||
116 | + height: 100%; | ||
117 | + | ||
118 | + ul { | ||
119 | + height: 100%; | ||
120 | + overflow-y: auto; | ||
121 | + -webkit-overflow-scrolling: touch; | ||
122 | + } | ||
123 | + } | ||
124 | +</style> |
-
Please register or login to post a comment