Showing
5 changed files
with
66 additions
and
26 deletions
@@ -13,6 +13,15 @@ const headerModel = require('../../../doraemon/models/header'); | @@ -13,6 +13,15 @@ const headerModel = require('../../../doraemon/models/header'); | ||
13 | const log = require(`${library}/logger`); | 13 | const log = require(`${library}/logger`); |
14 | const saleModel = require(`${mRoot}/sale`); | 14 | const saleModel = require(`${mRoot}/sale`); |
15 | 15 | ||
16 | +const queryParam = { | ||
17 | + brand: '0', | ||
18 | + gender: '1,2,3', | ||
19 | + sort: '0', | ||
20 | + size: '0', | ||
21 | + price: '0', | ||
22 | + discount: '0.1,0.9' | ||
23 | +}; | ||
24 | + | ||
16 | const saleLogger = (err, res) => { | 25 | const saleLogger = (err, res) => { |
17 | log.error('sale页面渲染错误:' + JSON.stringify(err)); | 26 | log.error('sale页面渲染错误:' + JSON.stringify(err)); |
18 | res.send('error'); | 27 | res.send('error'); |
@@ -32,7 +41,7 @@ exports.index = (req, res) => { | @@ -32,7 +41,7 @@ exports.index = (req, res) => { | ||
32 | }; | 41 | }; |
33 | 42 | ||
34 | saleModel.getSaleData().then((result) => { | 43 | saleModel.getSaleData().then((result) => { |
35 | - res.render('sale', Object.assign(renderData, { | 44 | + res.render('sale', Object.assign(renderData, queryParam, { |
36 | content: result, | 45 | content: result, |
37 | floorHeader: { | 46 | floorHeader: { |
38 | title: { | 47 | title: { |
@@ -58,7 +67,7 @@ exports.breakCode = (req, res) => { | @@ -58,7 +67,7 @@ exports.breakCode = (req, res) => { | ||
58 | }; | 67 | }; |
59 | 68 | ||
60 | saleModel.getBreakCodeData().then((result) => { | 69 | saleModel.getBreakCodeData().then((result) => { |
61 | - res.render('break-code', Object.assign(renderData, result)); | 70 | + res.render('break-code', Object.assign(renderData, queryParam, result)); |
62 | }).catch((err) => { | 71 | }).catch((err) => { |
63 | saleLogger(err, res); | 72 | saleLogger(err, res); |
64 | }); | 73 | }); |
@@ -99,7 +108,7 @@ exports.specialDetail = (req, res) => { | @@ -99,7 +108,7 @@ exports.specialDetail = (req, res) => { | ||
99 | saleModel.getSpecialDetailData(id).then((result) => { | 108 | saleModel.getSpecialDetailData(id).then((result) => { |
100 | headerData.navTitle = result.title; | 109 | headerData.navTitle = result.title; |
101 | renderData.pageHeader = headerData; | 110 | renderData.pageHeader = headerData; |
102 | - res.render('special-detail', Object.assign(renderData, result)); | 111 | + res.render('special-detail', Object.assign(renderData, queryParam, result)); |
103 | }).catch((err) => { | 112 | }).catch((err) => { |
104 | saleLogger(err, res); | 113 | saleLogger(err, res); |
105 | }); | 114 | }); |
@@ -118,7 +127,7 @@ exports.vip = (req, res) => { | @@ -118,7 +127,7 @@ exports.vip = (req, res) => { | ||
118 | }; | 127 | }; |
119 | 128 | ||
120 | saleModel.getVipData().then((result) => { | 129 | saleModel.getVipData().then((result) => { |
121 | - res.render('vip', Object.assign(renderData, { | 130 | + res.render('vip', Object.assign(renderData, queryParam, { |
122 | content: result | 131 | content: result |
123 | })); | 132 | })); |
124 | }).catch((err) => { | 133 | }).catch((err) => { |
@@ -257,49 +257,60 @@ const processFilter = (list, options) => { | @@ -257,49 +257,60 @@ const processFilter = (list, options) => { | ||
257 | name: '所有品牌', | 257 | name: '所有品牌', |
258 | title: '品牌', | 258 | title: '品牌', |
259 | dataId: 'id', | 259 | dataId: 'id', |
260 | - subsName: 'brandName' | 260 | + subsName: 'brandName', |
261 | + firstSub: 0, | ||
262 | + dataType: 'brand' | ||
261 | }, | 263 | }, |
262 | color: { | 264 | color: { |
263 | name: '所有颜色', | 265 | name: '所有颜色', |
264 | title: '颜色', | 266 | title: '颜色', |
265 | dataId: 'colorId', | 267 | dataId: 'colorId', |
266 | - subsName: 'colorName' | 268 | + subsName: 'colorName', |
269 | + firstSub: 0, | ||
270 | + dataType: 'color' | ||
267 | }, | 271 | }, |
268 | discount: { | 272 | discount: { |
269 | name: '所有商品', | 273 | name: '所有商品', |
270 | title: '折扣', | 274 | title: '折扣', |
271 | dataId: 'key', | 275 | dataId: 'key', |
272 | - subsName: 'name' | 276 | + subsName: 'name', |
277 | + firstSub: '0.1,0.9', | ||
278 | + dataType: 'discount' | ||
273 | }, | 279 | }, |
274 | gender: { | 280 | gender: { |
275 | name: '所有性别', | 281 | name: '所有性别', |
276 | title: '性别', | 282 | title: '性别', |
277 | dataId: 'key', | 283 | dataId: 'key', |
278 | - subsName: 'flag' | 284 | + subsName: 'flag', |
285 | + firstSub: '1,2,3', | ||
286 | + dataType: 'gender' | ||
279 | }, | 287 | }, |
280 | groupSort: { | 288 | groupSort: { |
281 | name: '所有品类', | 289 | name: '所有品类', |
282 | title: '品类', | 290 | title: '品类', |
283 | dataId: 'relationParameter', | 291 | dataId: 'relationParameter', |
284 | - subsName: 'categoryName' | 292 | + subsName: 'categoryName', |
293 | + firstSub: 0, | ||
294 | + dataType: 'sort' | ||
285 | }, | 295 | }, |
286 | priceRange: { | 296 | priceRange: { |
287 | name: '所有价格', | 297 | name: '所有价格', |
288 | title: '价格', | 298 | title: '价格', |
289 | dataId: 'key', | 299 | dataId: 'key', |
290 | - subsName: 'flag' | 300 | + subsName: 'flag', |
301 | + firstSub: 0, | ||
302 | + dataType: 'price' | ||
291 | }, | 303 | }, |
292 | size: { | 304 | size: { |
293 | name: '所有尺码', | 305 | name: '所有尺码', |
294 | title: '尺码', | 306 | title: '尺码', |
295 | dataId: 'sizeId', | 307 | dataId: 'sizeId', |
296 | - subsName: 'sizeName' | 308 | + subsName: 'sizeName', |
309 | + firstSub: 0, | ||
310 | + dataType: 'size' | ||
297 | } | 311 | } |
298 | }; | 312 | }; |
299 | 313 | ||
300 | - let subs = {}; | ||
301 | - let classify = {}; | ||
302 | - | ||
303 | options = Object.assign({ | 314 | options = Object.assign({ |
304 | gender: '1,2,3', // 默认选择的性别,默认1,2,3表示所有 | 315 | gender: '1,2,3', // 默认选择的性别,默认1,2,3表示所有 |
305 | exclude: null // 需要排除的字段 | 316 | exclude: null // 需要排除的字段 |
@@ -307,28 +318,45 @@ const processFilter = (list, options) => { | @@ -307,28 +318,45 @@ const processFilter = (list, options) => { | ||
307 | list = camelCase(list); | 318 | list = camelCase(list); |
308 | 319 | ||
309 | _.forEach(list, (item, key) => { | 320 | _.forEach(list, (item, key) => { |
321 | + let classify = { | ||
322 | + subs: [] | ||
323 | + }; | ||
324 | + | ||
310 | if (key === 'group_sort') { | 325 | if (key === 'group_sort') { |
311 | return; | 326 | return; |
312 | } | 327 | } |
313 | - classify.dataType = key; | 328 | + |
329 | + classify.dataType = filtersType[key].dataType; | ||
314 | classify.name = filtersType[key].name; | 330 | classify.name = filtersType[key].name; |
315 | - classify.title = filtersType[key].typeCont; | 331 | + classify.title = filtersType[key].title; |
332 | + | ||
333 | + classify.subs.push({ | ||
334 | + chosed: true, | ||
335 | + dataId: filtersType[key].firstSub, | ||
336 | + name: filtersType[key].name | ||
337 | + }); | ||
316 | 338 | ||
317 | _.forEach(item, (sub, index) => { | 339 | _.forEach(item, (sub, index) => { |
340 | + let subs = {}; | ||
341 | + | ||
318 | if (filtersType[key].dataId === 'key') { | 342 | if (filtersType[key].dataId === 'key') { |
319 | subs.dataId = index; | 343 | subs.dataId = index; |
320 | } else if (filtersType[key].dataId === 'relationParameter') { | 344 | } else if (filtersType[key].dataId === 'relationParameter') { |
321 | - subs.dataId = item.relationParameter.sort; | 345 | + subs.dataId = sub.relationParameter['sort']; // eslint-disable-line |
322 | } else { | 346 | } else { |
323 | - subs.dataId = item[filtersType[key].dataId]; | 347 | + subs.dataId = sub[filtersType[key].dataId]; |
324 | } | 348 | } |
325 | - | 349 | + |
326 | if (filtersType[key].subsName === 'flag') { | 350 | if (filtersType[key].subsName === 'flag') { |
327 | - subs.name = index; | 351 | + subs.name = sub; |
328 | } else { | 352 | } else { |
329 | subs.name = sub[filtersType[key].subsName]; | 353 | subs.name = sub[filtersType[key].subsName]; |
354 | + | ||
355 | + if (key === 'discount') { | ||
356 | + subs.name = subs.name + '折商品'; | ||
357 | + } | ||
330 | } | 358 | } |
331 | - classify.subs.push(subs) | 359 | + classify.subs.push(subs); |
332 | }); | 360 | }); |
333 | 361 | ||
334 | filters.classify.push(classify); | 362 | filters.classify.push(classify); |
@@ -13,7 +13,7 @@ module.exports = { | @@ -13,7 +13,7 @@ module.exports = { | ||
13 | port: 6001, | 13 | port: 6001, |
14 | siteUrl: 'http://m.yohobuy.com', | 14 | siteUrl: 'http://m.yohobuy.com', |
15 | domains: { | 15 | domains: { |
16 | - api: 'http://testapi.yoho.cn:28078/', // http://devapi.yoho.cn:58078/ http://testapi.yoho.cn:28078/ | 16 | + api: 'http://192.168.102.205:8080/gateway/', // http://devapi.yoho.cn:58078/ http://testapi.yoho.cn:28078/ http://192.168.102.205:8080/gateway/ |
17 | service: 'http://testservice.yoho.cn:28077/', | 17 | service: 'http://testservice.yoho.cn:28077/', |
18 | search: 'http://192.168.10.64:8080/yohosearch/' | 18 | search: 'http://192.168.10.64:8080/yohosearch/' |
19 | }, | 19 | }, |
@@ -13,7 +13,9 @@ let camelCase, | @@ -13,7 +13,9 @@ let camelCase, | ||
13 | camelCaseObject = (obj) => { | 13 | camelCaseObject = (obj) => { |
14 | _.forEach(Object.keys(obj), (k) => { | 14 | _.forEach(Object.keys(obj), (k) => { |
15 | obj[k] = camelCase(obj[k]); | 15 | obj[k] = camelCase(obj[k]); |
16 | - obj[_.camelCase(k)] = obj[k]; | 16 | + if (/[_-]/.test(k)) { |
17 | + obj[_.camelCase(k)] = obj[k]; | ||
18 | + } | ||
17 | }); | 19 | }); |
18 | return obj; | 20 | return obj; |
19 | }; | 21 | }; |
1 | -.filter-mask, .filter-body { | 1 | +.filter-mask, |
2 | +.filter-body { | ||
2 | position: absolute; | 3 | position: absolute; |
3 | left: 0; | 4 | left: 0; |
4 | right: 0; | 5 | right: 0; |
@@ -7,7 +8,7 @@ | @@ -7,7 +8,7 @@ | ||
7 | 8 | ||
8 | .filter-mask { | 9 | .filter-mask { |
9 | height: 100%; | 10 | height: 100%; |
10 | - background: rgba(0,0,0,0.1); | 11 | + background: rgba(0, 0, 0, 0.1); |
11 | } | 12 | } |
12 | 13 | ||
13 | .filter-body { | 14 | .filter-body { |
@@ -70,7 +71,7 @@ | @@ -70,7 +71,7 @@ | ||
70 | -webkit-overflow-scrolling: touch; | 71 | -webkit-overflow-scrolling: touch; |
71 | 72 | ||
72 | > li { | 73 | > li { |
73 | - height: 160px; | 74 | + height: 120px; |
74 | line-height: 120px; | 75 | line-height: 120px; |
75 | padding-left: 30px; | 76 | padding-left: 30px; |
76 | border-bottom: 1px solid #e6e6e6; | 77 | border-bottom: 1px solid #e6e6e6; |
-
Please register or login to post a comment