Showing
5 changed files
with
103 additions
and
41 deletions
@@ -62,14 +62,19 @@ module.exports = { | @@ -62,14 +62,19 @@ module.exports = { | ||
62 | 62 | ||
63 | /* 全部分类 */ | 63 | /* 全部分类 */ |
64 | cate: (req, res) => { | 64 | cate: (req, res) => { |
65 | + res.render('brand/cate', { | ||
66 | + module: 'channel', | ||
67 | + page: 'cate' | ||
68 | + }); | ||
69 | + }, | ||
70 | + | ||
71 | + // 全部分类api | ||
72 | + getCateList: (req, res) => { | ||
65 | let params = req.query; | 73 | let params = req.query; |
66 | 74 | ||
67 | - brandModel.getCateListData(params).then(result => { | ||
68 | - res.render('brand/cate', { | ||
69 | - module: 'channel', | ||
70 | - page: 'cate', | ||
71 | - result: result | 75 | + brandModel.getCateListData(params) |
76 | + .then(result => { | ||
77 | + res.json(result); | ||
72 | }); | 78 | }); |
73 | - }); | ||
74 | } | 79 | } |
75 | }; | 80 | }; |
@@ -57,8 +57,9 @@ module.exports = { | @@ -57,8 +57,9 @@ module.exports = { | ||
57 | * @returns {*} | 57 | * @returns {*} |
58 | */ | 58 | */ |
59 | getCateListData(params) { | 59 | getCateListData(params) { |
60 | - return api.get('', { | ||
61 | - method: '' | ||
62 | - }); | 60 | + return api.get('', Object.assign(params, { |
61 | + method: 'app.sort.get' | ||
62 | + }) | ||
63 | + ); | ||
63 | } | 64 | } |
64 | }; | 65 | }; |
@@ -108,17 +108,69 @@ const getBrandListData = params => { | @@ -108,17 +108,69 @@ const getBrandListData = params => { | ||
108 | * @returns {*|Promise.<TResult>} | 108 | * @returns {*|Promise.<TResult>} |
109 | */ | 109 | */ |
110 | const getCateListData = params => { | 110 | const getCateListData = params => { |
111 | - let finalResult = {}; | 111 | + let finalResult = []; |
112 | + let item = {}; | ||
113 | + let oneClass = []; | ||
114 | + let subitem = {}; | ||
115 | + let genderArr = {boy: '1,3', girl: '2,3', kids: '1,2,3', lifestyle: '1,2,3'}; | ||
112 | 116 | ||
113 | - return api.all([brandApi.getCateListData(params)]).then(result => { | 117 | + return brandApi.getCateListData(params).then(result => { |
114 | 118 | ||
115 | - // 待处理,拼接输出模拟数据 | ||
116 | - Object.assign(finalResult, { | ||
117 | - brandBg: 'http://7xwj52.com1.z0.glb.clouddn.com/brandbg.jpg', | ||
118 | - brandLogo: '', | ||
119 | - brandName: 'A.Dorad', | ||
120 | - brandIntro: 'Dora毕业于中国美术学院的珠宝设计专业。毕业之后,Dora便开始游走于各国,吸收各地首饰设计的精髓,之后又在首尔修学了3年,A.Dorad饰品系列诞生于首尔, 设计师Dora将首尔设为起点并逐步推向国际。2013年,A.Dorad将旗下主力设计师带领进军广州,并以此为基地,以国际化的标准,设计出全新概念饰品。A.Dorad给人们提供高品质的服务,并且拥有独有的工艺。多样的珠宝首饰产品造型更衬托出其前卫、高雅的设计理念。珍贵的矿石搭配流行的创意理念,启迪了人类艺术。A.Dorad饰品符合现代年轻人对珠宝的追求与热爱,充满个性与时尚.它可以满足不同人的需求独家定制专属于自己的水晶饰品。A.Dorad将继续发挥无与伦比的创造力并开启通往浪漫梦幻的大门。', | ||
121 | - showMore: false | 119 | + if (result.code !== 200) { |
120 | + return []; | ||
121 | + } | ||
122 | + | ||
123 | + _.forEach(result.data, (category, categorykey) => { | ||
124 | + oneClass = {name: categorykey, ca: []}; | ||
125 | + | ||
126 | + _.forEach(category, (cate) => { | ||
127 | + item = { | ||
128 | + id: cate.category_id, | ||
129 | + name: cate.category_name, | ||
130 | + sort: cate.relation_parameter.sort, | ||
131 | + sub: [] | ||
132 | + }; | ||
133 | + if (_.isEmpty(cate.sub)) { | ||
134 | + item.url = helpers.urlFormat('/', { | ||
135 | + sort: item.sort, | ||
136 | + sort_name: item.name, | ||
137 | + gender: genderArr[categorykey] | ||
138 | + }, 'list'); | ||
139 | + oneClass.ca.push(item); | ||
140 | + return true;// equal continue; | ||
141 | + } | ||
142 | + | ||
143 | + // 有子分类的,首先添加一级分类 | ||
144 | + item.sub.push({ | ||
145 | + name: '全部' + item.name, | ||
146 | + id: item.sort, | ||
147 | + url: helpers.urlFormat('/', { | ||
148 | + sort: item.sort, | ||
149 | + sort_name: item.name, | ||
150 | + gender: genderArr[categorykey] | ||
151 | + }, 'list'), | ||
152 | + sub: [] | ||
153 | + }); | ||
154 | + | ||
155 | + _.forEach(cate.sub, (sub) => { | ||
156 | + subitem = { | ||
157 | + id: sub.category_id, | ||
158 | + name: sub.category_name, | ||
159 | + sort: sub.relation_parameter.sort, | ||
160 | + url: '' | ||
161 | + }; | ||
162 | + subitem.url = helpers.urlFormat('/', { | ||
163 | + sort: subitem.sort, | ||
164 | + sort_name: subitem.name, | ||
165 | + gender: genderArr[categorykey] | ||
166 | + }, 'list'); | ||
167 | + item.sub.push(subitem); | ||
168 | + }); | ||
169 | + | ||
170 | + oneClass.ca.push(item); | ||
171 | + }); | ||
172 | + | ||
173 | + finalResult.push(oneClass); | ||
122 | }); | 174 | }); |
123 | 175 | ||
124 | return finalResult; | 176 | return finalResult; |
@@ -21,6 +21,7 @@ router.get('/get-brand-shop-goods', brand.getBrandShopGoods); // 店铺介绍 | @@ -21,6 +21,7 @@ router.get('/get-brand-shop-goods', brand.getBrandShopGoods); // 店铺介绍 | ||
21 | router.get('/brand-list', brand.brandList); // 品牌列表页 | 21 | router.get('/brand-list', brand.brandList); // 品牌列表页 |
22 | router.get('/get-brand-list', brand.getBrandList); // 获取品牌列表数据 | 22 | router.get('/get-brand-list', brand.getBrandList); // 获取品牌列表数据 |
23 | router.get('/cate', brand.cate); // 全部分类 | 23 | router.get('/cate', brand.cate); // 全部分类 |
24 | +router.get('/get-cate-list', brand.getCateList); // 全部分类数据列表 | ||
24 | 25 | ||
25 | 26 | ||
26 | router.get('/sidebar', channel.sidebar); // 资源位接口 | 27 | router.get('/sidebar', channel.sidebar); // 资源位接口 |
@@ -1275,6 +1275,18 @@ | @@ -1275,6 +1275,18 @@ | ||
1275 | 1275 | ||
1276 | &.focus { | 1276 | &.focus { |
1277 | background-color: #fff; | 1277 | background-color: #fff; |
1278 | + | ||
1279 | + &:after { | ||
1280 | + content: ""; | ||
1281 | + width: 0; | ||
1282 | + height: 0; | ||
1283 | + border-top: 20px solid transparent; | ||
1284 | + border-bottom: 20px solid transparent; | ||
1285 | + border-right: 20px solid #efefef; | ||
1286 | + position: absolute; | ||
1287 | + margin-top: 32px; | ||
1288 | + right: 55%; | ||
1289 | + } | ||
1278 | } | 1290 | } |
1279 | 1291 | ||
1280 | &.highlight { | 1292 | &.highlight { |
@@ -1286,7 +1298,7 @@ | @@ -1286,7 +1298,7 @@ | ||
1286 | .sub-level-container { | 1298 | .sub-level-container { |
1287 | float: left; | 1299 | float: left; |
1288 | box-sizing: border-box; | 1300 | box-sizing: border-box; |
1289 | - background: #fff; | 1301 | + background: #f6f6f6; |
1290 | width: 55%; | 1302 | width: 55%; |
1291 | height: 100%; | 1303 | height: 100%; |
1292 | } | 1304 | } |
@@ -1311,25 +1323,9 @@ | @@ -1311,25 +1323,9 @@ | ||
1311 | background: #eee; | 1323 | background: #eee; |
1312 | } | 1324 | } |
1313 | 1325 | ||
1314 | - &:last-child { | ||
1315 | - border-bottom: none; | ||
1316 | - } | ||
1317 | - | ||
1318 | &:hover { | 1326 | &:hover { |
1319 | background-color: #efefef; | 1327 | background-color: #efefef; |
1320 | } | 1328 | } |
1321 | - | ||
1322 | - &:first-child:before { | ||
1323 | - content: ""; | ||
1324 | - width: 0; | ||
1325 | - height: 0; | ||
1326 | - border-top: 20px solid transparent; | ||
1327 | - border-bottom: 20px solid transparent; | ||
1328 | - border-right: 20px solid #efefef; | ||
1329 | - position: absolute; | ||
1330 | - margin-top: 32px; | ||
1331 | - margin-left: -40px; | ||
1332 | - } | ||
1333 | } | 1329 | } |
1334 | 1330 | ||
1335 | a { | 1331 | a { |
@@ -1356,8 +1352,19 @@ | @@ -1356,8 +1352,19 @@ | ||
1356 | 1352 | ||
1357 | }, | 1353 | }, |
1358 | methods: { | 1354 | methods: { |
1359 | - getBrandList() { | 1355 | + getCateList() { |
1356 | + let data = { | ||
1357 | + channel: '' | ||
1358 | + }; | ||
1360 | 1359 | ||
1360 | + $.ajax({ | ||
1361 | + url: '/get-cate-list', | ||
1362 | + data: data | ||
1363 | + }).then(result => { | ||
1364 | + console.log(result, '===='); | ||
1365 | + }).fail(() => { | ||
1366 | + tip('网络错误'); | ||
1367 | + }); | ||
1361 | }, | 1368 | }, |
1362 | cateNavTopFun(e) { | 1369 | cateNavTopFun(e) { |
1363 | var $this = $(e.target).closest('li'), | 1370 | var $this = $(e.target).closest('li'), |
@@ -1396,15 +1403,11 @@ | @@ -1396,15 +1403,11 @@ | ||
1396 | 1403 | ||
1397 | $subLevel.not('.hide').addClass('hide'); | 1404 | $subLevel.not('.hide').addClass('hide'); |
1398 | $subLevel.eq(index).removeClass('hide'); | 1405 | $subLevel.eq(index).removeClass('hide'); |
1399 | - | ||
1400 | - $subLevel.css({ | ||
1401 | - top: $cur.offset().top - 60 | ||
1402 | - }); | ||
1403 | } | 1406 | } |
1404 | } | 1407 | } |
1405 | }, | 1408 | }, |
1406 | created() { | 1409 | created() { |
1407 | - | 1410 | + this.getCateList(); |
1408 | } | 1411 | } |
1409 | }; | 1412 | }; |
1410 | </script> | 1413 | </script> |
-
Please register or login to post a comment