Showing
18 changed files
with
632 additions
and
358 deletions
@@ -15,7 +15,7 @@ const orderModel = require('../models/order'); | @@ -15,7 +15,7 @@ const orderModel = require('../models/order'); | ||
15 | const index = (req, res) => { | 15 | const index = (req, res) => { |
16 | const type = req.query.type; | 16 | const type = req.query.type; |
17 | const page = req.query.page; | 17 | const page = req.query.page; |
18 | - const uid = global.yoho.uid || '13549567'; | 18 | + const uid = req.user.uid || '10931021'; |
19 | 19 | ||
20 | orderModel.getOrderData(uid, type, page).then(result => { | 20 | orderModel.getOrderData(uid, type, page).then(result => { |
21 | res.display('index', { | 21 | res.display('index', { |
@@ -32,7 +32,7 @@ const index = (req, res) => { | @@ -32,7 +32,7 @@ const index = (req, res) => { | ||
32 | 32 | ||
33 | const detail = (req, res) => { | 33 | const detail = (req, res) => { |
34 | const code = req.query.code; | 34 | const code = req.query.code; |
35 | - const uid = global.yoho.uid || '7394907'; | 35 | + const uid = req.user.uid || '10931021'; |
36 | 36 | ||
37 | orderModel.getOrderDetail(uid, code).then(result => { | 37 | orderModel.getOrderDetail(uid, code).then(result => { |
38 | res.display('index', { | 38 | res.display('index', { |
@@ -50,7 +50,7 @@ const detail = (req, res) => { | @@ -50,7 +50,7 @@ const detail = (req, res) => { | ||
50 | const getOrderList = (req, res) => { | 50 | const getOrderList = (req, res) => { |
51 | const type = req.query.type; | 51 | const type = req.query.type; |
52 | const page = req.query.page; | 52 | const page = req.query.page; |
53 | - const uid = global.yoho.uid || '7394907'; | 53 | + const uid = req.user.uid || '10931021'; |
54 | 54 | ||
55 | orderModel.getOrderData(uid, type, page).then(result => { | 55 | orderModel.getOrderData(uid, type, page).then(result => { |
56 | res.display('order-table', { | 56 | res.display('order-table', { |
@@ -65,7 +65,7 @@ const getOrderList = (req, res) => { | @@ -65,7 +65,7 @@ const getOrderList = (req, res) => { | ||
65 | 65 | ||
66 | const getOrderTotal = (req, res) => { | 66 | const getOrderTotal = (req, res) => { |
67 | const type = req.query.type; | 67 | const type = req.query.type; |
68 | - const uid = global.yoho.uid || '7394907'; | 68 | + const uid = req.user.uid || '10931021'; |
69 | 69 | ||
70 | 70 | ||
71 | orderModel.getOrderData(uid, type).then(result => { | 71 | orderModel.getOrderData(uid, type).then(result => { |
@@ -78,7 +78,7 @@ const getOrderTotal = (req, res) => { | @@ -78,7 +78,7 @@ const getOrderTotal = (req, res) => { | ||
78 | }; | 78 | }; |
79 | 79 | ||
80 | const cancelOrder = (req, res) => { | 80 | const cancelOrder = (req, res) => { |
81 | - const uid = global.yoho.uid || '7394907'; | 81 | + const uid = req.user.uid || '10931021'; |
82 | const code = req.query.orderCode; | 82 | const code = req.query.orderCode; |
83 | 83 | ||
84 | orderModel.cancelOrder(uid, code).then(result => { | 84 | orderModel.cancelOrder(uid, code).then(result => { |
@@ -87,7 +87,7 @@ const cancelOrder = (req, res) => { | @@ -87,7 +87,7 @@ const cancelOrder = (req, res) => { | ||
87 | }; | 87 | }; |
88 | 88 | ||
89 | const deleteOrder = (req, res) => { | 89 | const deleteOrder = (req, res) => { |
90 | - const uid = global.yoho.uid || '7394907'; | 90 | + const uid = req.user.uid || '10931021'; |
91 | const code = req.query.orderCode; | 91 | const code = req.query.orderCode; |
92 | 92 | ||
93 | orderModel.deleteOrder(uid, code).then(result => { | 93 | orderModel.deleteOrder(uid, code).then(result => { |
@@ -96,7 +96,7 @@ const deleteOrder = (req, res) => { | @@ -96,7 +96,7 @@ const deleteOrder = (req, res) => { | ||
96 | }; | 96 | }; |
97 | 97 | ||
98 | const getExpressInfo = (req, res) => { | 98 | const getExpressInfo = (req, res) => { |
99 | - const uid = global.yoho.uid || '7394907'; | 99 | + const uid = req.user.uid || '10931021'; |
100 | const code = req.query.orderCode; | 100 | const code = req.query.orderCode; |
101 | 101 | ||
102 | orderModel.getExpressInfo(uid, code).then(result => { | 102 | orderModel.getExpressInfo(uid, code).then(result => { |
@@ -111,7 +111,7 @@ const getCancelOrderReason = (req, res) => { | @@ -111,7 +111,7 @@ const getCancelOrderReason = (req, res) => { | ||
111 | }; | 111 | }; |
112 | 112 | ||
113 | const editOrder = (req, res) => { | 113 | const editOrder = (req, res) => { |
114 | - const uid = global.yoho.uid || '7394907'; | 114 | + const uid = req.user.uid || '10931021'; |
115 | const query = req.query; | 115 | const query = req.query; |
116 | 116 | ||
117 | query.uid = uid; | 117 | query.uid = uid; |
@@ -11,7 +11,7 @@ const _ = require('lodash'); | @@ -11,7 +11,7 @@ const _ = require('lodash'); | ||
11 | 11 | ||
12 | 12 | ||
13 | const index = (req, res, next) => { | 13 | const index = (req, res, next) => { |
14 | - const uid = global.yoho.uid || '8050560'; | 14 | + const uid = global.yoho.uid || '8050882'; |
15 | const page = req.query.page; | 15 | const page = req.query.page; |
16 | 16 | ||
17 | returns.getUserReturn(uid, page).then(result => { | 17 | returns.getUserReturn(uid, page).then(result => { |
@@ -32,7 +32,7 @@ const detail = (req, res, next) => { | @@ -32,7 +32,7 @@ const detail = (req, res, next) => { | ||
32 | }; | 32 | }; |
33 | 33 | ||
34 | const refund = (req, res, next) => { | 34 | const refund = (req, res, next) => { |
35 | - let uid = req.user.uid || '8050560'; | 35 | + let uid = req.user.uid || '8050882'; |
36 | let code = parseInt(req.params.orderCode, 10) || '160192757'; | 36 | let code = parseInt(req.params.orderCode, 10) || '160192757'; |
37 | 37 | ||
38 | if (!uid || !code) { | 38 | if (!uid || !code) { |
@@ -68,7 +68,7 @@ const refundApply = (req, res, next) => { | @@ -68,7 +68,7 @@ const refundApply = (req, res, next) => { | ||
68 | 68 | ||
69 | const refundDetail = (req, res, next) => { | 69 | const refundDetail = (req, res, next) => { |
70 | let applyId = parseInt(req.params.applyId, 10) || '429528', | 70 | let applyId = parseInt(req.params.applyId, 10) || '429528', |
71 | - uid = req.user.uid || '8050560'; | 71 | + uid = req.user.uid || '8050882'; |
72 | 72 | ||
73 | if (!uid || !applyId) { | 73 | if (!uid || !applyId) { |
74 | return next(); | 74 | return next(); |
@@ -76,7 +76,7 @@ const refundDetail = (req, res, next) => { | @@ -76,7 +76,7 @@ const refundDetail = (req, res, next) => { | ||
76 | 76 | ||
77 | returns.getRefundDetailData(applyId, uid).then(result => { | 77 | returns.getRefundDetailData(applyId, uid).then(result => { |
78 | res.display('index', { | 78 | res.display('index', { |
79 | - page: 'returns-refund', | 79 | + page: 'refund', |
80 | content: result | 80 | content: result |
81 | }); | 81 | }); |
82 | }).catch(next); | 82 | }).catch(next); |
@@ -84,11 +84,11 @@ const refundDetail = (req, res, next) => { | @@ -84,11 +84,11 @@ const refundDetail = (req, res, next) => { | ||
84 | 84 | ||
85 | const exchange = (req, res, next) => { | 85 | const exchange = (req, res, next) => { |
86 | const code = req.params.orderCode; | 86 | const code = req.params.orderCode; |
87 | - const uid = req.user.uid || '8050560'; | 87 | + const uid = req.user.uid || '8050882'; |
88 | 88 | ||
89 | returns.getChangeGoodsList(code, uid).then(result => { | 89 | returns.getChangeGoodsList(code, uid).then(result => { |
90 | res.display('index', { | 90 | res.display('index', { |
91 | - page: 'returns-change', | 91 | + page: 'exchange', |
92 | isMe: true, | 92 | isMe: true, |
93 | content: Object.assign({ | 93 | content: Object.assign({ |
94 | nav: mcHandler.getMeCrumb('我的退/换货'), | 94 | nav: mcHandler.getMeCrumb('我的退/换货'), |
@@ -18,19 +18,19 @@ const helpers = global.yoho.helpers; | @@ -18,19 +18,19 @@ const helpers = global.yoho.helpers; | ||
18 | 18 | ||
19 | const pageSize = 10; | 19 | const pageSize = 10; |
20 | 20 | ||
21 | -const _reduceArrByProductSku = data => { | ||
22 | - const d = []; | ||
23 | - | ||
24 | - d.push(data[0]); | ||
25 | - | ||
26 | - data.reduce((p, c) => { //eslint-disable-line | ||
27 | - if (p && c && p.productSku !== c.productSku) { | ||
28 | - d.push[c]; | ||
29 | - } | ||
30 | - }); | ||
31 | - | ||
32 | - return d; | ||
33 | -}; | 21 | +// const _reduceArrByProductSku = data => { |
22 | +// const d = []; | ||
23 | +// | ||
24 | +// d.push(data[0]); | ||
25 | +// | ||
26 | +// data.reduce((p, c) => { //eslint-disable-line | ||
27 | +// if (p && c && p.productSku !== c.productSku) { | ||
28 | +// d.push[c]; | ||
29 | +// } | ||
30 | +// }); | ||
31 | +// | ||
32 | +// return d; | ||
33 | +// }; | ||
34 | 34 | ||
35 | const getUserReturn = (uid, page) => { | 35 | const getUserReturn = (uid, page) => { |
36 | 36 | ||
@@ -190,7 +190,9 @@ const _setRefundGoodList = (data) => { | @@ -190,7 +190,9 @@ const _setRefundGoodList = (data) => { | ||
190 | }; | 190 | }; |
191 | 191 | ||
192 | const _setRefundDetailData = (data) => { | 192 | const _setRefundDetailData = (data) => { |
193 | - let resData = {}; | 193 | + let resData = { |
194 | + id: data.id || 0 | ||
195 | + }; | ||
194 | 196 | ||
195 | switch (data.status) { | 197 | switch (data.status) { |
196 | case 10: | 198 | case 10: |
@@ -212,6 +214,27 @@ const _setRefundDetailData = (data) => { | @@ -212,6 +214,27 @@ const _setRefundDetailData = (data) => { | ||
212 | break; | 214 | break; |
213 | } | 215 | } |
214 | 216 | ||
217 | + let goods = []; | ||
218 | + | ||
219 | + _.forEach(data.goods_list, value => { | ||
220 | + let cnAlphabet = value.cn_alphabet ? value.cn_alphabet : ''; | ||
221 | + | ||
222 | + goods.push({ | ||
223 | + href: helpers.urlFormat(`/product/pro_${value.product_id}_${value.goods_id}/${cnAlphabet}.html`), | ||
224 | + img: value.goods_image, | ||
225 | + name: value.product_name, | ||
226 | + size: value.size_name, | ||
227 | + color: value.color_name, | ||
228 | + num: 1, // 接口目前不支持 | ||
229 | + reason: value.reason_name || '--', | ||
230 | + price: value.sales_price, | ||
231 | + remark: value.remark, | ||
232 | + evidence: value.evidence_images | ||
233 | + }); | ||
234 | + }); | ||
235 | + | ||
236 | + resData.goods = goods; | ||
237 | + | ||
215 | return resData; | 238 | return resData; |
216 | }; | 239 | }; |
217 | 240 | ||
@@ -266,18 +289,19 @@ const getRefundDetailData = (applyId, uid) => { | @@ -266,18 +289,19 @@ const getRefundDetailData = (applyId, uid) => { | ||
266 | return returnsAPI.getRefundDetailAsync(applyId, uid).then(result => { | 289 | return returnsAPI.getRefundDetailAsync(applyId, uid).then(result => { |
267 | let resData = {}; | 290 | let resData = {}; |
268 | 291 | ||
269 | - Object.assign(resData, _setSideMenu('我的退/换货')); | ||
270 | resData = { | 292 | resData = { |
271 | title: '退货申请', | 293 | title: '退货申请', |
272 | refundDetail: {} | 294 | refundDetail: {} |
273 | }; | 295 | }; |
296 | + Object.assign(resData, _setSideMenu('我的退/换货')); | ||
274 | 297 | ||
275 | if (result.data) { | 298 | if (result.data) { |
276 | - // console.log(_setRefundDetailData(result.data)); | 299 | + let data = result.data; |
277 | 300 | ||
278 | - Object.assign(resData.refundDetail, _setReturnStatus(result.data.statusList));// 头部 | 301 | + // console.log(_setRefundDetailData(result.data)); |
302 | + Object.assign(resData.refundDetail, _setReturnStatus(data.statusList, !data.status)); | ||
279 | 303 | ||
280 | - Object.assign(resData.refundDetail, _setRefundDetailData(result.data)); | 304 | + Object.assign(resData.refundDetail, _setRefundDetailData(data)); |
281 | } | 305 | } |
282 | 306 | ||
283 | return {returns: resData}; | 307 | return {returns: resData}; |
@@ -319,23 +343,24 @@ const getProductInfo = (productId, productSkn) => { | @@ -319,23 +343,24 @@ const getProductInfo = (productId, productSkn) => { | ||
319 | const getChangeGoodsList = (orderCode, uid) => { | 343 | const getChangeGoodsList = (orderCode, uid) => { |
320 | return returnsAPI.getChangeGoodsListAsync(orderCode, uid).then(result => { | 344 | return returnsAPI.getChangeGoodsListAsync(orderCode, uid).then(result => { |
321 | const basicData = { | 345 | const basicData = { |
322 | - title: '申请退货' | 346 | + title: '申请换货' |
323 | }; | 347 | }; |
324 | let data; | 348 | let data; |
325 | 349 | ||
326 | - console.log(result); | ||
327 | 350 | ||
328 | if (result && result.data) { | 351 | if (result && result.data) { |
329 | data = camelCase(result.data); | 352 | data = camelCase(result.data); |
330 | 353 | ||
331 | 354 | ||
332 | - data.goodsList = _reduceArrByProductSku(data.goodsList); | 355 | + // data.goodsList = _reduceArrByProductSku(data.goodsList); |
333 | data.hidePrice = true; | 356 | data.hidePrice = true; |
334 | 357 | ||
335 | data.goodsList.forEach(good => { | 358 | data.goodsList.forEach(good => { |
336 | good.showCheckbox = true; | 359 | good.showCheckbox = true; |
337 | good.hidePrice = true; | 360 | good.hidePrice = true; |
338 | - good.buyNumber = good.num; | 361 | + |
362 | + // good.buyNumber = good.num; | ||
363 | + good.buyNumber = 1; | ||
339 | }); | 364 | }); |
340 | } | 365 | } |
341 | 366 |
@@ -27,8 +27,10 @@ | @@ -27,8 +27,10 @@ | ||
27 | {{/if}} | 27 | {{/if}} |
28 | {{#if showEditOption}} | 28 | {{#if showEditOption}} |
29 | <p class="subtext">评价晒单</p> | 29 | <p class="subtext">评价晒单</p> |
30 | - <p class="subtext">申请退货</p> | ||
31 | - <a href="/return/exchange?code={{orderCode}}&id={{productId}}&skn={{productSkn}}"> | 30 | + <a href="/me/return/refund/{{orderCode}}"> |
31 | + <p class="subtext">申请退货</p> | ||
32 | + </a> | ||
33 | + <a href="/me/return/exchange/{{orderCode}}"> | ||
32 | <p class="subtext">申请换货</p> | 34 | <p class="subtext">申请换货</p> |
33 | </a> | 35 | </a> |
34 | <p class="subtext delete">删除订单</p> | 36 | <p class="subtext delete">删除订单</p> |
1 | {{# refundDetail}} | 1 | {{# refundDetail}} |
2 | - <div class="refund-datail-wrap"> | 2 | + <div class="refund-datail-wrap" data-id="{{id}}"> |
3 | {{> returns/returns-status}} | 3 | {{> returns/returns-status}} |
4 | 4 | ||
5 | {{# orderReview}} | 5 | {{# orderReview}} |
6 | <div class="top-tip"> | 6 | <div class="top-tip"> |
7 | - {{#if pass}} | ||
8 | - <p class="tip-status"> | ||
9 | - <span class="iconfont blue"></span> | ||
10 | - <span class="blue">退货申请已通过</span> | ||
11 | - </p> | ||
12 | - {{^}} | ||
13 | - <p class="tip-status"> | ||
14 | - <span class="iconfont blue"></span> | ||
15 | - <span class="blue">退货申请审核中</span> | ||
16 | - </p> | ||
17 | - {{/if}} | 7 | + {{#if pass}} |
8 | + <p class="tip-status"> | ||
9 | + <span class="iconfont blue"></span> | ||
10 | + <span class="blue">退货申请已通过</span> | ||
11 | + </p> | ||
12 | + {{^}} | ||
13 | + <p class="tip-status"> | ||
14 | + <span class="iconfont blue"></span> | ||
15 | + <span class="blue">退货申请审核中</span> | ||
16 | + </p> | ||
17 | + {{/if}} | ||
18 | <p class="tip-text"> | 18 | <p class="tip-text"> |
19 | 请将商品连同吊牌、包装、发货单(如无发货单,您可找张白纸上注明订单编号,收货人姓名及手机号码)、发票(如有)、 赠品(如有)一并寄回,如有 遗漏将影响您的退换货进度,敬请谅解<br> | 19 | 请将商品连同吊牌、包装、发货单(如无发货单,您可找张白纸上注明订单编号,收货人姓名及手机号码)、发票(如有)、 赠品(如有)一并寄回,如有 遗漏将影响您的退换货进度,敬请谅解<br> |
20 | 非我司原因的退换货,寄回运费由您承担。商品客观问题的退换货,请您先行垫付运费,邮费会在退款中补贴给您, | 20 | 非我司原因的退换货,寄回运费由您承担。商品客观问题的退换货,请您先行垫付运费,邮费会在退款中补贴给您, |
@@ -31,7 +31,7 @@ | @@ -31,7 +31,7 @@ | ||
31 | {{# backStorage}} | 31 | {{# backStorage}} |
32 | <div class="storage-tip top-tip"> | 32 | <div class="storage-tip top-tip"> |
33 | <p class="tip-status"> | 33 | <p class="tip-status"> |
34 | - <span class="iconfont blue"></span> | 34 | + <span class="iconfont blue"></span> |
35 | <span class="blue">您寄回的商品已收到</span> | 35 | <span class="blue">您寄回的商品已收到</span> |
36 | </p> | 36 | </p> |
37 | <p> | 37 | <p> |
@@ -44,7 +44,7 @@ | @@ -44,7 +44,7 @@ | ||
44 | {{# refundSure}} | 44 | {{# refundSure}} |
45 | <div class="success-tip top-tip"> | 45 | <div class="success-tip top-tip"> |
46 | <p class="tip-status"> | 46 | <p class="tip-status"> |
47 | - <span class="iconfont blue"></span> | 47 | + <span class="iconfont blue"></span> |
48 | <span class="blue">退款完成</span> | 48 | <span class="blue">退款完成</span> |
49 | </p> | 49 | </p> |
50 | <p>退款方式:<em>由于银行内部处理流程的差异,储蓄卡需要3-7个工作日到账,信用卡需要7-15个工作日到账</em></p> | 50 | <p>退款方式:<em>由于银行内部处理流程的差异,储蓄卡需要3-7个工作日到账,信用卡需要7-15个工作日到账</em></p> |
@@ -103,12 +103,27 @@ | @@ -103,12 +103,27 @@ | ||
103 | <p>颜色:{{color}} 尺码:{{size}}</p> | 103 | <p>颜色:{{color}} 尺码:{{size}}</p> |
104 | <p>×{{num}}</p> | 104 | <p>×{{num}}</p> |
105 | </div> | 105 | </div> |
106 | - <div class="reason">dsa{{reason}}</div> | ||
107 | - <div class="num">dasd{{num}}</div> | ||
108 | - <dl class="special-info hide"> | ||
109 | - <dd>问题描述:</dd> | ||
110 | - <dd>照片凭证:</dd> | ||
111 | - </dl> | 106 | + <div class="reason">{{reason}}</div> |
107 | + <div class="num">{{num}}</div> | ||
108 | + {{#if remark}} | ||
109 | + <dl class="special-info"> | ||
110 | + <dd class="remark"> | ||
111 | + <label>问题描述:</label> | ||
112 | + {{remark}} | ||
113 | + </dd> | ||
114 | + | ||
115 | + {{#if evidence}} | ||
116 | + <dd> | ||
117 | + <label>照片凭证:</label> | ||
118 | + {{# evidence}} | ||
119 | + <div class="evidence-img"> | ||
120 | + <img class="lazy" data-original="{{image . 70 90}}"> | ||
121 | + </div> | ||
122 | + {{/ evidence}} | ||
123 | + </dd> | ||
124 | + {{/if}} | ||
125 | + </dl> | ||
126 | + {{/if}} | ||
112 | </div> | 127 | </div> |
113 | {{/ goods}} | 128 | {{/ goods}} |
114 | </div> | 129 | </div> |
1 | {{# refund}} | 1 | {{# refund}} |
2 | - {{> returns/returns-status}} | 2 | + <div class="refund-wrap"> |
3 | + {{> returns/returns-status}} | ||
3 | 4 | ||
4 | - <h4 class="third-title">选择退货商品</h4> | ||
5 | - <div class="refund-goods clearfix" {{# speclialReason}} data-{{id}}="{{@index}}"{{/ speclialReason}}> | ||
6 | - <input id="order-code" type="hidden" value="{{orderCode}}"> | ||
7 | - <ul class="goods-header"> | ||
8 | - <li class="info">商品信息</li> | ||
9 | - <li class="reason">退货原因</li> | ||
10 | - <li class="num">退货数量</li> | ||
11 | - <li class="price">单价</li> | ||
12 | - </ul> | 5 | + <h4 class="third-title">选择退货商品</h4> |
6 | + <div class="refund-goods clearfix" {{# speclialReason}} data-{{id}}="{{@index}}"{{/ speclialReason}}> | ||
7 | + <input id="order-code" type="hidden" value="{{orderCode}}"> | ||
8 | + <ul class="goods-header"> | ||
9 | + <li class="info">商品信息</li> | ||
10 | + <li class="reason">退货原因</li> | ||
11 | + <li class="num">退货数量</li> | ||
12 | + <li class="price">单价</li> | ||
13 | + </ul> | ||
13 | 14 | ||
14 | - {{# goods}} | ||
15 | - <div class="goods-item clearfix"> | ||
16 | - <div class="check" data-skn="{{skn}}" data-skc="{{skc}}" data-sku="{{sku}}" data-price="{{price}}" data-type="{{typeId}}">{{> icon/checkbox}}</div> | ||
17 | - <div class="img"> | ||
18 | - <img class="lazy" data-original="{{image img 70 90}}"> | 15 | + {{# goods}} |
16 | + <div class="goods-item clearfix"> | ||
17 | + <div class="check" data-skn="{{skn}}" data-skc="{{skc}}" data-sku="{{sku}}" data-price="{{price}}" data-type="{{typeId}}">{{> icon/checkbox}}</div> | ||
18 | + <div class="img"> | ||
19 | + <img class="lazy" data-original="{{image img 70 90}}"> | ||
20 | + </div> | ||
21 | + <div class="info"> | ||
22 | + <p>{{name}}</p> | ||
23 | + <p>颜色:{{color}} 尺码:{{size}}</p> | ||
24 | + <p>×{{num}}</p> | ||
25 | + </div> | ||
26 | + <div class="reason"> | ||
27 | + <select class="refund-reason"> | ||
28 | + <option>选择退款原因</option> | ||
29 | + {{# reasonList}} | ||
30 | + <option value="{{id}}">{{name}}</option> | ||
31 | + {{/ reasonList}} | ||
32 | + </select> | ||
33 | + </div> | ||
34 | + <div class="num"> | ||
35 | + <span class="iconfont"></span> | ||
36 | + <input type="text" value="{{num}}" readonly="readonly"> | ||
37 | + <span class="iconfont"></span> | ||
38 | + </div> | ||
39 | + <div class="price">¥{{round price 2}}</div> | ||
40 | + {{> returns/special-reason}} | ||
19 | </div> | 41 | </div> |
20 | - <div class="info"> | ||
21 | - <p>{{name}}</p> | ||
22 | - <p>颜色:{{color}} 尺码:{{size}}</p> | ||
23 | - <p>×{{num}}</p> | ||
24 | - </div> | ||
25 | - <div class="reason"> | ||
26 | - <select class="refund-reason"> | ||
27 | - <option>选择退款原因</option> | ||
28 | - {{# reasonList}} | ||
29 | - <option value="{{id}}">{{name}}</option> | ||
30 | - {{/ reasonList}} | ||
31 | - </select> | ||
32 | - </div> | ||
33 | - <div class="num"> | ||
34 | - <span class="iconfont"></span> | ||
35 | - <input type="text" value="{{num}}" readonly="readonly"> | ||
36 | - <span class="iconfont"></span> | ||
37 | - </div> | ||
38 | - <div class="price">¥{{round price 2}}</div> | ||
39 | - {{> returns/special-reason}} | ||
40 | - </div> | ||
41 | - {{/ goods}} | ||
42 | - </div> | 42 | + {{/ goods}} |
43 | + </div> | ||
43 | 44 | ||
44 | - <h4 class="third-title">退款方式</h4> | 45 | + <h4 class="third-title">退款方式</h4> |
45 | 46 | ||
46 | - <div class="refund-type"> | ||
47 | - <div> | ||
48 | - <label class="type-item ali-item cur" title="支付宝"></label> | ||
49 | - <label class="type-item union-item" title="银行卡"></label> | 47 | + <div class="refund-type"> |
48 | + <div> | ||
49 | + <label class="type-item ali-item cur" title="支付宝"></label> | ||
50 | + <label class="type-item union-item" title="银行卡"></label> | ||
51 | + </div> | ||
52 | + <dl class="alipay"> | ||
53 | + <dd>账号:<input type="text" class="name" placeholder="收款人支付宝账号"></dd> | ||
54 | + <dd>姓名:<input type="text" class="account" placeholder="姓名"></dd> | ||
55 | + </dl> | ||
56 | + <dl class="unionpay hide"> | ||
57 | + <dd> | ||
58 | + 银行: | ||
59 | + <select class="bank"> | ||
60 | + <option>中国银行</option> | ||
61 | + <option>中国农业银行</option> | ||
62 | + <option>中国工商银行</option> | ||
63 | + <option>中国建设银行</option> | ||
64 | + </select> | ||
65 | + <input type="text" placeholder="开户支行"> | ||
66 | + <span class="blue" class="area">例:江苏省南京市奥体支行</span> | ||
67 | + </dd> | ||
68 | + <dd>账号:<input type="text" class="account" placeholder="收款人银行卡号"></dd> | ||
69 | + <dd>姓名:<input type="text" class="name" placeholder="姓名"></dd> | ||
70 | + </dl> | ||
71 | + </div> | ||
72 | + <div class="opt-btn"> | ||
73 | + <span class="apply-tip blue hide">请填写完整</span> | ||
74 | + <div id="apply-btn" class="btn disable">提交申请</div> | ||
50 | </div> | 75 | </div> |
51 | - <dl class="alipay"> | ||
52 | - <dd>账号:<input type="text" class="name" placeholder="收款人支付宝账号"></dd> | ||
53 | - <dd>姓名:<input type="text" class="account" placeholder="姓名"></dd> | ||
54 | - </dl> | ||
55 | - <dl class="unionpay hide"> | ||
56 | - <dd> | ||
57 | - 银行: | ||
58 | - <select class="bank"> | ||
59 | - <option>中国银行</option> | ||
60 | - <option>中国农业银行</option> | ||
61 | - <option>中国工商银行</option> | ||
62 | - <option>中国建设银行</option> | ||
63 | - </select> | ||
64 | - <input type="text" placeholder="开户支行"> | ||
65 | - <span class="blue" class="area">例:江苏省南京市奥体支行</span> | ||
66 | - </dd> | ||
67 | - <dd>账号:<input type="text" class="account" placeholder="收款人银行卡号"></dd> | ||
68 | - <dd>姓名:<input type="text" class="name" placeholder="姓名"></dd> | ||
69 | - </dl> | ||
70 | - </div> | ||
71 | - <div class="opt-btn"> | ||
72 | - <span class="apply-tip blue hide">请填写完整</span> | ||
73 | - <div id="apply-btn" class="btn disable">提交申请</div> | ||
74 | </div> | 76 | </div> |
75 | {{/ refund}} | 77 | {{/ refund}} |
@@ -9,35 +9,41 @@ | @@ -9,35 +9,41 @@ | ||
9 | <li class="change-num">换货数量</li> | 9 | <li class="change-num">换货数量</li> |
10 | </ul> | 10 | </ul> |
11 | {{#goodsList}} | 11 | {{#goodsList}} |
12 | - <div class="table-body"> | ||
13 | - <div class="goods-container no-price" data-id="{{productId}}" data-skn="{{productSkn}}"> | ||
14 | - {{# showCheckbox}} | ||
15 | - {{> icon/checkbox}} | ||
16 | - <!-- | ||
17 | - <span class="iconfont checkbox {{#if checked}}checked{{/if}}">{{#if checked}}{{^}}{{/if}}</span> | ||
18 | - --> | ||
19 | - {{/ showCheckbox}} | ||
20 | - {{> order/good-info}} | ||
21 | - <div class="sub-column"> | ||
22 | - 退货原因 | 12 | + <div class="change-info-box"> |
13 | + <div class="table-body"> | ||
14 | + <div class="goods-container no-price" data-id="{{productId}}" data-skn="{{productSkn}}"> | ||
15 | + {{# showCheckbox}} | ||
16 | + {{> icon/checkbox}} | ||
17 | + <!-- | ||
18 | + <span class="iconfont checkbox {{#if checked}}checked{{/if}}">{{#if checked}}{{^}}{{/if}}</span> | ||
19 | + --> | ||
20 | + {{/ showCheckbox}} | ||
21 | + {{> order/good-info}} | ||
22 | + <div class="sub-column"> | ||
23 | + {{# ../this}} | ||
24 | + {{> returns/change-reason}} | ||
25 | + {{/ ../this}} | ||
26 | + </div> | ||
27 | + <div class="sub-column number"> | ||
28 | + <span class="minus">-</span> | ||
29 | + <span class="value">{{changeNum}}</span> | ||
30 | + <span class="plus">+</span> | ||
31 | + </div> | ||
23 | </div> | 32 | </div> |
24 | - <div class="sub-column"> | ||
25 | - 数量 | ||
26 | - </div> | ||
27 | - </div> | ||
28 | - </div> | ||
29 | - <div class="form"> | ||
30 | - <div class="group color"> | ||
31 | - <span class="title"> | ||
32 | - <span class="artirisk">*</span> | ||
33 | - 换货Color: <span class="color-text" data-color={{colorId}}>{{colorName}}</span> | ||
34 | - </span> | ||
35 | </div> | 33 | </div> |
36 | - <div class="group size"> | ||
37 | - <span class="title"> | ||
38 | - <span class="artirisk">*</span> | ||
39 | - 换货Size: <span class="size-text" data-size="{{sizeId}}">{{sizeName}}</span> | ||
40 | - </span> | 34 | + <div class="form"> |
35 | + <div class="group color"> | ||
36 | + <span class="title"> | ||
37 | + <span class="asterisk">*</span> | ||
38 | + 换货Color: <span class="color-text" data-color={{colorId}}>{{colorName}}</span> | ||
39 | + </span> | ||
40 | + </div> | ||
41 | + <div class="group size"> | ||
42 | + <span class="title"> | ||
43 | + <span class="asterisk">*</span> | ||
44 | + 换货Size: <span class="size-text" data-size="{{sizeId}}">{{sizeName}}</span> | ||
45 | + </span> | ||
46 | + </div> | ||
41 | </div> | 47 | </div> |
42 | </div> | 48 | </div> |
43 | {{/goodsList}} | 49 | {{/goodsList}} |
public/js/me/exchange.page.js
0 → 100644
1 | +var colorTpl = require('../../tpl/me/color-list.hbs'); | ||
2 | +var sizeTpl = require('../../tpl/me/size-list.hbs'); | ||
3 | + | ||
4 | +// var numCtrl = { | ||
5 | +// valueEl: $('.number .value'), | ||
6 | +// btn: { | ||
7 | +// minus: $('.number .minus'), | ||
8 | +// plus: $('.number .plus') | ||
9 | +// }, | ||
10 | +// scope: { | ||
11 | +// 1: { | ||
12 | +// min: true, | ||
13 | +// do: function(t) { | ||
14 | +// t.btn.minus.addClass('disable'); | ||
15 | +// } | ||
16 | +// } | ||
17 | +// }, | ||
18 | +// initNumberScope: function() { | ||
19 | +// var maxValue = this.valueEl.text(); | ||
20 | +// | ||
21 | +// this.btn.plus.addClass('disable'); | ||
22 | +// | ||
23 | +// this.scope[maxValue] = { | ||
24 | +// max: true, | ||
25 | +// do: function(t) { | ||
26 | +// t.btn.plus.addClass('disable'); | ||
27 | +// } | ||
28 | +// }; | ||
29 | +// }, | ||
30 | +// bindNumberEvent: function() { | ||
31 | +// var $val = this.valueEl; | ||
32 | +// var val = parseInt($val.text(), 10); | ||
33 | +// var scope = this.scope; | ||
34 | +// var that = this; | ||
35 | +// | ||
36 | +// | ||
37 | +// this.btn.minus.on('click', function() { | ||
38 | +// if ($(this).hasClass('disable')) { | ||
39 | +// return; | ||
40 | +// } | ||
41 | +// | ||
42 | +// if (that.btn.plus.hasClass('disable')) { | ||
43 | +// that.btn.plus.removeClass('disable'); | ||
44 | +// } | ||
45 | +// | ||
46 | +// val -= 1; | ||
47 | +// $val.text(val); | ||
48 | +// | ||
49 | +// if (scope[val] && scope[val].min) { | ||
50 | +// scope[val].do(that); | ||
51 | +// } | ||
52 | +// }); | ||
53 | +// | ||
54 | +// this.btn.plus.on('click', function() { | ||
55 | +// if ($(this).hasClass('disable')) { | ||
56 | +// return; | ||
57 | +// } | ||
58 | +// | ||
59 | +// if (that.btn.minus.hasClass('disable')) { | ||
60 | +// that.btn.minus.removeClass('disable'); | ||
61 | +// } | ||
62 | +// | ||
63 | +// val += 1; | ||
64 | +// $val.text(val); | ||
65 | +// | ||
66 | +// if (scope[val] && scope[val].max) { | ||
67 | +// scope[val].do(that); | ||
68 | +// } | ||
69 | +// }); | ||
70 | +// }, | ||
71 | +// init: function() { | ||
72 | +// this.initNumberScope(); | ||
73 | +// this.bindNumberEvent(); | ||
74 | +// } | ||
75 | +// }; | ||
76 | + | ||
77 | +function setActive($item) { | ||
78 | + var color = $item.find('.color-text').data('color'); | ||
79 | + var size = $item.find('.size-text').data('size'); | ||
80 | + | ||
81 | + var $colorList = $item.find('.color-list'); | ||
82 | + var $sizeList = $item.find('.size-list'); | ||
83 | + | ||
84 | + $colorList.find('.img-box').each(function(i, box) { | ||
85 | + var $box = $(box); | ||
86 | + | ||
87 | + if ($box.find('img').data('color') === color) { | ||
88 | + $colorList.find('.img-box').eq(i).addClass('active'); | ||
89 | + | ||
90 | + return false; | ||
91 | + } | ||
92 | + }); | ||
93 | + | ||
94 | + $sizeList.find('span').each(function(i, s) { | ||
95 | + var $size = $(s); | ||
96 | + | ||
97 | + if ($size.data('size') === size) { | ||
98 | + $sizeList.find('span').eq(i).addClass('active'); | ||
99 | + } | ||
100 | + }); | ||
101 | +} | ||
102 | + | ||
103 | +function renderList(data) { | ||
104 | + var cTpl; | ||
105 | + var sTpl; | ||
106 | + var $el = $('.goods-container'); | ||
107 | + var resultId; | ||
108 | + var resultSkn; | ||
109 | + | ||
110 | + if (data) { | ||
111 | + resultId = data.productId; | ||
112 | + resultSkn = data.productSkn; | ||
113 | + | ||
114 | + $el.each(function(index, item) { | ||
115 | + var $item = $(item); | ||
116 | + var id = $item.data('id'); | ||
117 | + var skn = $item.data('skn'); | ||
118 | + var $form; | ||
119 | + | ||
120 | + if (id === resultId && skn === resultSkn) { | ||
121 | + $form = $item.closest('.table-body').next('.form'); | ||
122 | + | ||
123 | + if (!$form.find('.color-list').length) { | ||
124 | + cTpl = colorTpl(data); | ||
125 | + sTpl = sizeTpl(data); | ||
126 | + $form.find('.group.color').append(cTpl); | ||
127 | + $form.find('.group.size').append(sTpl); | ||
128 | + setActive($form); | ||
129 | + } | ||
130 | + } | ||
131 | + }); | ||
132 | + } | ||
133 | +} | ||
134 | + | ||
135 | +function bindColorEvent() { | ||
136 | + $('.color-list img').off('clice').on('click', function() { | ||
137 | + var $this = $(this); | ||
138 | + var $sizeList = $this.closest('.group').next('.group').find('.size-list'); | ||
139 | + var index = $this.data('index'); | ||
140 | + var colorId = $this.data('color'); | ||
141 | + var colorText = $this.attr('alt'); | ||
142 | + var $c = $this.closest('.group.color').find('.color-text'); | ||
143 | + | ||
144 | + $c.text(colorText); | ||
145 | + $c.attr('data-color', colorId); | ||
146 | + | ||
147 | + $this.closest('.color-list').find('.active').removeClass('active'); | ||
148 | + $this.parent().addClass('active'); | ||
149 | + | ||
150 | + $sizeList.removeClass('hide'); | ||
151 | + $sizeList.addClass('hide'); | ||
152 | + | ||
153 | + $sizeList.eq(index).removeClass('hide'); | ||
154 | + }); | ||
155 | +} | ||
156 | + | ||
157 | +function initSizeId() { | ||
158 | + var s = $('.size-list:not("hide")').find('span').eq(0).data('size'); | ||
159 | + | ||
160 | + $('.group.size .size-text').eq(0).attr('data-size', s); | ||
161 | +} | ||
162 | + | ||
163 | +function bindSizeEvent() { | ||
164 | + $('.size-list span').off('click').on('click', function() { | ||
165 | + var $this = $(this); | ||
166 | + var s = $this.text(); | ||
167 | + var id = $this.data('size'); | ||
168 | + var $s = $this.closest('.group.size').find('.size-text'); | ||
169 | + | ||
170 | + $this.parent().find('.active').removeClass('active'); | ||
171 | + $this.addClass('active'); | ||
172 | + | ||
173 | + $s.text(s); | ||
174 | + $s.attr('data-size', id); | ||
175 | + }); | ||
176 | +} | ||
177 | + | ||
178 | +function getProductInfo() { | ||
179 | + var $el = $('.goods-container'); | ||
180 | + | ||
181 | + $el.each(function(index, item) { | ||
182 | + var id = $(item).data('id'); | ||
183 | + var skn = $(item).data('skn'); | ||
184 | + | ||
185 | + if (id && skn) { | ||
186 | + $.ajax({ | ||
187 | + url: '/me/return/getProductInfo', | ||
188 | + data: { | ||
189 | + productId: id, | ||
190 | + productSkn: skn | ||
191 | + } | ||
192 | + }).done(function(result) { | ||
193 | + if (result.code === 200) { | ||
194 | + renderList(result.data); | ||
195 | + initSizeId(); | ||
196 | + bindColorEvent(); | ||
197 | + bindSizeEvent(); | ||
198 | + } | ||
199 | + }); | ||
200 | + } | ||
201 | + }); | ||
202 | +} | ||
203 | + | ||
204 | +getProductInfo(); | ||
205 | + | ||
206 | +// numCtrl.init(); |
public/js/me/returns-change.page.js
deleted
100644 → 0
1 | -var colorTpl = require('../../tpl/me/color-list.hbs'); | ||
2 | -var sizeTpl = require('../../tpl/me/size-list.hbs'); | ||
3 | - | ||
4 | -// var scope = { | ||
5 | -// 1: { | ||
6 | -// min: true, | ||
7 | -// do: function() { | ||
8 | -// console.log('min'); | ||
9 | -// } | ||
10 | -// } | ||
11 | -// } | ||
12 | - | ||
13 | -function renderList(data) { | ||
14 | - var cTpl; | ||
15 | - var sTpl; | ||
16 | - var $c = $('.group.color'); | ||
17 | - var $s = $('.group.size'); | ||
18 | - | ||
19 | - if (data) { | ||
20 | - cTpl = colorTpl(data); | ||
21 | - sTpl = sizeTpl(data); | ||
22 | - $c.append(cTpl); | ||
23 | - $s.append(sTpl); | ||
24 | - } | ||
25 | -} | ||
26 | - | ||
27 | -function bindColorEvent() { | ||
28 | - $('.color-list img').on('click', function() { | ||
29 | - var $this = $(this); | ||
30 | - var $sizeList = $('.size-list'); | ||
31 | - var index = $this.data('index'); | ||
32 | - var colorId = $this.data('color'); | ||
33 | - var colorText = $this.attr('alt'); | ||
34 | - var $c = $('.group.color .color-text'); | ||
35 | - | ||
36 | - $c.text(colorText); | ||
37 | - $c.attr('data-color', colorId); | ||
38 | - | ||
39 | - | ||
40 | - $sizeList.removeClass('hide'); | ||
41 | - $sizeList.addClass('hide'); | ||
42 | - | ||
43 | - $sizeList.eq(index).removeClass('hide'); | ||
44 | - }); | ||
45 | -} | ||
46 | - | ||
47 | -function initSizeId() { | ||
48 | - var s = $('.size-list:not("hide")').find('span').eq(0).data('size'); | ||
49 | - | ||
50 | - $('.group.size .size-text').eq(0).attr('data-size', s); | ||
51 | -} | ||
52 | - | ||
53 | -function bindSizeEvent() { | ||
54 | - $('.size-list span').on('click', function() { | ||
55 | - var $this = $(this); | ||
56 | - var s = $this.text(); | ||
57 | - var id = $this.data('size'); | ||
58 | - var $s = $('.group.size .size-text'); | ||
59 | - | ||
60 | - $s.text(s); | ||
61 | - $s.attr('data-size', id); | ||
62 | - }); | ||
63 | -} | ||
64 | - | ||
65 | -// function bindNumberEvent() { | ||
66 | -// $('.number .minus').on('click', function() { | ||
67 | -// var val = $('.number .value').text(); | ||
68 | -// | ||
69 | -// if (scope[val].min) { | ||
70 | -// scope[val].do(); | ||
71 | -// } | ||
72 | -// }); | ||
73 | -// } | ||
74 | - | ||
75 | -function getProductInfo() { | ||
76 | - var $el = $('.goods-container'); | ||
77 | - var id = $el.data('id'); | ||
78 | - var skn = $el.data('skn'); | ||
79 | - | ||
80 | - if (id && skn) { | ||
81 | - $.ajax({ | ||
82 | - url: '/me/return/getProductInfo', | ||
83 | - data: { | ||
84 | - productId: id, | ||
85 | - productSkn: skn | ||
86 | - } | ||
87 | - }).done(function(result) { | ||
88 | - console.log(result); | ||
89 | - if (result.code === 200) { | ||
90 | - renderList(result.data); | ||
91 | - initSizeId(); | ||
92 | - bindColorEvent(); | ||
93 | - bindSizeEvent(); | ||
94 | - } | ||
95 | - }); | ||
96 | - } | ||
97 | -} | ||
98 | - | ||
99 | -getProductInfo(); |
@@ -99,11 +99,18 @@ | @@ -99,11 +99,18 @@ | ||
99 | font-size: 12px; | 99 | font-size: 12px; |
100 | } | 100 | } |
101 | } | 101 | } |
102 | + | ||
103 | + /* 表单必填项提示符 */ | ||
104 | + .asterisk { | ||
105 | + position: relative; | ||
106 | + top: 2px; | ||
107 | + margin-right: 5px; | ||
108 | + color: #c71814 !important; | ||
109 | + } | ||
102 | } | 110 | } |
103 | 111 | ||
104 | @import "address"; | 112 | @import "address"; |
105 | @import "order/index"; | 113 | @import "order/index"; |
106 | @import "return/index"; | 114 | @import "return/index"; |
107 | @import "currency"; | 115 | @import "currency"; |
108 | -@import "returns"; | ||
109 | @import "exchange"; | 116 | @import "exchange"; |
@@ -18,13 +18,6 @@ | @@ -18,13 +18,6 @@ | ||
18 | text-align: center !important; | 18 | text-align: center !important; |
19 | } | 19 | } |
20 | 20 | ||
21 | - .asterisk { | ||
22 | - position: relative; | ||
23 | - top: 2px; | ||
24 | - margin-right: 5px; | ||
25 | - color: #c71814 !important; | ||
26 | - } | ||
27 | - | ||
28 | .dialog-title { | 21 | .dialog-title { |
29 | padding-bottom: $space; | 22 | padding-bottom: $space; |
30 | border-bottom: 1px solid #f1f1f1; | 23 | border-bottom: 1px solid #f1f1f1; |
public/scss/me/return/_change.css
0 → 100644
1 | +.return-wrap { | ||
2 | + &.change { | ||
3 | + .sub-column { | ||
4 | + margin-top: 30px; | ||
5 | + } | ||
6 | + | ||
7 | + .color-list { | ||
8 | + height: 70px; | ||
9 | + line-height: 70px; | ||
10 | + box-sizing: border-box; | ||
11 | + | ||
12 | + .img-box { | ||
13 | + display: inline-block; | ||
14 | + width: 24px; | ||
15 | + height: 24px; | ||
16 | + line-height: 24px; | ||
17 | + box-sizing: border-box; | ||
18 | + margin-right: 10px; | ||
19 | + text-align: center; | ||
20 | + cursor: pointer; | ||
21 | + | ||
22 | + img { | ||
23 | + width: 20px; | ||
24 | + height: 20px; | ||
25 | + } | ||
26 | + | ||
27 | + &.active { | ||
28 | + border: 2px solid #ccc; | ||
29 | + position: relative; | ||
30 | + top: -2px; | ||
31 | + } | ||
32 | + } | ||
33 | + } | ||
34 | + | ||
35 | + .asterisk { | ||
36 | + margin-right: 0; | ||
37 | + } | ||
38 | + | ||
39 | + .group { | ||
40 | + &.color { | ||
41 | + min-height: 70px; | ||
42 | + } | ||
43 | + | ||
44 | + &.size { | ||
45 | + min-height: 65px; | ||
46 | + } | ||
47 | + | ||
48 | + .title { | ||
49 | + font-size: 14px; | ||
50 | + color: #1b1b1b; | ||
51 | + } | ||
52 | + } | ||
53 | + | ||
54 | + .size-list { | ||
55 | + height: 65px; | ||
56 | + line-height: 65px; | ||
57 | + | ||
58 | + span { | ||
59 | + min-width: 25px; | ||
60 | + height: 20px; | ||
61 | + line-height: 20px; | ||
62 | + padding: 0 5px; | ||
63 | + box-sizing: border-box; | ||
64 | + margin-right: 10px; | ||
65 | + border: 1px solid #ccc; | ||
66 | + display: inline-block; | ||
67 | + text-align: center; | ||
68 | + font-size: 12px; | ||
69 | + cursor: pointer; | ||
70 | + | ||
71 | + &.active { | ||
72 | + background-color: #1b1b1b; | ||
73 | + color: #fff; | ||
74 | + border-color: #1b1b1b; | ||
75 | + } | ||
76 | + } | ||
77 | + } | ||
78 | + } | ||
79 | + | ||
80 | + .iconfont { | ||
81 | + &.checkbox { | ||
82 | + position: relative; | ||
83 | + top: -70px; | ||
84 | + margin-right: 10px; | ||
85 | + font-size: 14px; | ||
86 | + cursor: pointer; | ||
87 | + } | ||
88 | + } | ||
89 | +} |
1 | .returns-wrap { | 1 | .returns-wrap { |
2 | + font-size: 14px; | ||
3 | + | ||
2 | .returns-status { | 4 | .returns-status { |
3 | padding: 30px 0 80px; | 5 | padding: 30px 0 80px; |
4 | 6 | ||
@@ -49,7 +51,106 @@ | @@ -49,7 +51,106 @@ | ||
49 | } | 51 | } |
50 | } | 52 | } |
51 | } | 53 | } |
54 | + | ||
55 | + .third-title { | ||
56 | + font-size: 16px; | ||
57 | + font-weight: bold; | ||
58 | + padding-bottom: 20px; | ||
59 | + } | ||
60 | + | ||
61 | + .special-reason { | ||
62 | + padding-top: 20px; | ||
63 | + display: none; | ||
64 | + | ||
65 | + .left-title { | ||
66 | + width: 150px; | ||
67 | + padding-left: 54px; | ||
68 | + | ||
69 | + .red { | ||
70 | + color: #d93549; | ||
71 | + margin-right: 3px; | ||
72 | + } | ||
73 | + } | ||
74 | + | ||
75 | + .right-content { | ||
76 | + width: 570px; | ||
77 | + } | ||
78 | + | ||
79 | + .mark-text { | ||
80 | + width: 570px; | ||
81 | + height: 120px; | ||
82 | + resize: none; | ||
83 | + border-color: #eee; | ||
84 | + } | ||
85 | + | ||
86 | + .img-wrap, | ||
87 | + .img-upload { | ||
88 | + width: 60px; | ||
89 | + height: 60px; | ||
90 | + border: 1px dashed #eee; | ||
91 | + float: left; | ||
92 | + margin-right: 10px; | ||
93 | + } | ||
94 | + | ||
95 | + .img-upload { | ||
96 | + line-height: 60px; | ||
97 | + text-align: center; | ||
98 | + color: #dfdfdf; | ||
99 | + cursor: pointer; | ||
100 | + | ||
101 | + .iconfont { | ||
102 | + font-size: 34px; | ||
103 | + } | ||
104 | + } | ||
105 | + | ||
106 | + .img-wrap { | ||
107 | + position: relative; | ||
108 | + } | ||
109 | + | ||
110 | + .img-wrap:hover .img-opt { | ||
111 | + display: block; | ||
112 | + } | ||
113 | + | ||
114 | + .img-opt { | ||
115 | + width: 100%; | ||
116 | + height: 20px; | ||
117 | + line-height: 20px; | ||
118 | + background: #555; | ||
119 | + font-size: 12px; | ||
120 | + color: #fff; | ||
121 | + opacity: 0.7; | ||
122 | + position: absolute; | ||
123 | + text-align: center; | ||
124 | + display: none; | ||
125 | + | ||
126 | + > * { | ||
127 | + display: inline-block; | ||
128 | + cursor: pointer; | ||
129 | + } | ||
130 | + } | ||
131 | + } | ||
132 | + | ||
133 | + .opt-btn { | ||
134 | + padding-top: 40px; | ||
135 | + line-height: 40px; | ||
136 | + text-align: right; | ||
137 | + | ||
138 | + .blue { | ||
139 | + margin-right: 10px; | ||
140 | + font-size: 12px; | ||
141 | + } | ||
142 | + | ||
143 | + .btn { | ||
144 | + width: 130px; | ||
145 | + height: 40px; | ||
146 | + line-height: 40px; | ||
147 | + font-size: 16px; | ||
148 | + display: inline-block; | ||
149 | + } | ||
150 | + } | ||
52 | } | 151 | } |
53 | 152 | ||
54 | @import "list"; | 153 | @import "list"; |
154 | +@import "change"; | ||
155 | +@import "refund"; | ||
55 | @import "refund-detail"; | 156 | @import "refund-detail"; |
@@ -110,14 +110,32 @@ | @@ -110,14 +110,32 @@ | ||
110 | .info { | 110 | .info { |
111 | width: 284px; | 111 | width: 284px; |
112 | text-align: left; | 112 | text-align: left; |
113 | + line-height: 2; | ||
114 | + } | ||
115 | + | ||
116 | + .reason, | ||
117 | + .num { | ||
118 | + line-height: 90px; | ||
113 | } | 119 | } |
114 | 120 | ||
115 | .special-info { | 121 | .special-info { |
116 | width: 100%; | 122 | width: 100%; |
117 | height: auto; | 123 | height: auto; |
124 | + padding-left: 15px; | ||
118 | padding-top: 30px; | 125 | padding-top: 30px; |
119 | text-align: left; | 126 | text-align: left; |
120 | } | 127 | } |
128 | + | ||
129 | + .remark { | ||
130 | + padding-bottom: 15px; | ||
131 | + } | ||
132 | + | ||
133 | + .evidence-img { | ||
134 | + width: 70px; | ||
135 | + height: 90px; | ||
136 | + display: inline-block; | ||
137 | + vertical-align: top; | ||
138 | + } | ||
121 | } | 139 | } |
122 | } | 140 | } |
123 | } | 141 | } |
1 | -.returns-wrap { | ||
2 | - font-size: 14px; | ||
3 | - | ||
4 | - .third-title { | ||
5 | - font-size: 16px; | ||
6 | - font-weight: bold; | ||
7 | - padding-bottom: 20px; | ||
8 | - } | ||
9 | - | ||
10 | - .special-reason { | ||
11 | - padding-top: 20px; | ||
12 | - display: none; | ||
13 | - | ||
14 | - .left-title { | ||
15 | - width: 150px; | ||
16 | - padding-left: 54px; | ||
17 | - | ||
18 | - .red { | ||
19 | - color: #d93549; | ||
20 | - margin-right: 3px; | ||
21 | - } | ||
22 | - } | ||
23 | - | ||
24 | - .right-content { | ||
25 | - width: 570px; | ||
26 | - } | ||
27 | - | ||
28 | - .mark-text { | ||
29 | - width: 570px; | ||
30 | - height: 120px; | ||
31 | - resize: none; | ||
32 | - border-color: #eee; | ||
33 | - } | ||
34 | - | ||
35 | - .img-wrap, | ||
36 | - .img-upload { | ||
37 | - width: 60px; | ||
38 | - height: 60px; | ||
39 | - border: 1px dashed #eee; | ||
40 | - float: left; | ||
41 | - margin-right: 10px; | ||
42 | - } | ||
43 | - | ||
44 | - .img-upload { | ||
45 | - line-height: 60px; | ||
46 | - text-align: center; | ||
47 | - color: #dfdfdf; | ||
48 | - cursor: pointer; | ||
49 | - | ||
50 | - .iconfont { | ||
51 | - font-size: 34px; | ||
52 | - } | ||
53 | - } | ||
54 | - | ||
55 | - .img-wrap { | ||
56 | - position: relative; | ||
57 | - } | ||
58 | - | ||
59 | - .img-wrap:hover .img-opt { | ||
60 | - display: block; | ||
61 | - } | ||
62 | - | ||
63 | - .img-opt { | ||
64 | - width: 100%; | ||
65 | - height: 20px; | ||
66 | - line-height: 20px; | ||
67 | - background: #555; | ||
68 | - font-size: 12px; | ||
69 | - color: #fff; | ||
70 | - opacity: 0.7; | ||
71 | - position: absolute; | ||
72 | - text-align: center; | ||
73 | - display: none; | ||
74 | - | ||
75 | - > * { | ||
76 | - display: inline-block; | ||
77 | - cursor: pointer; | ||
78 | - } | ||
79 | - } | ||
80 | - } | ||
81 | - | ||
82 | - .opt-btn { | ||
83 | - padding-top: 40px; | ||
84 | - line-height: 40px; | ||
85 | - text-align: right; | ||
86 | - | ||
87 | - .blue { | ||
88 | - margin-right: 10px; | ||
89 | - font-size: 12px; | ||
90 | - } | ||
91 | - | ||
92 | - .btn { | ||
93 | - width: 130px; | ||
94 | - height: 40px; | ||
95 | - line-height: 40px; | ||
96 | - font-size: 16px; | ||
97 | - display: inline-block; | ||
98 | - } | ||
99 | - } | ||
100 | - | 1 | +.refund-wrap { |
101 | .refund-goods { | 2 | .refund-goods { |
102 | margin-bottom: 40px; | 3 | margin-bottom: 40px; |
103 | 4 |
1 | <div class="color-list"> | 1 | <div class="color-list"> |
2 | {{#goodsList}} | 2 | {{#goodsList}} |
3 | + <div class="img-box {{#if isActive}}active{{/if}}" > | ||
3 | <img src="{{colorImage}}" alt="{{colorName}}" data-index="{{@index}}" data-color={{colorId}}> | 4 | <img src="{{colorImage}}" alt="{{colorName}}" data-index="{{@index}}" data-color={{colorId}}> |
5 | + </div> | ||
4 | {{/goodsList}} | 6 | {{/goodsList}} |
5 | </div> | 7 | </div> |
6 | 8 |
-
Please register or login to post a comment