...
|
...
|
@@ -2,7 +2,7 @@ |
|
|
* @Author: Targaryen
|
|
|
* @Date: 2016-05-25 18:16:59
|
|
|
* @Last Modified by: Targaryen
|
|
|
* @Last Modified time: 2016-05-31 14:50:37
|
|
|
* @Last Modified time: 2016-05-31 16:55:37
|
|
|
*/
|
|
|
|
|
|
'use strict';
|
...
|
...
|
@@ -112,11 +112,115 @@ const handleFilterUrl = (originParam, newParam) => { |
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 处理最新降价折扣信息
|
|
|
* @return {[type]} [description]
|
|
|
*/
|
|
|
const handleSaleNewSaleSortData = (params) => {
|
|
|
var dest;
|
|
|
|
|
|
dest = [{
|
|
|
name: '1~3折',
|
|
|
href: handleFilterUrl(params, { p_d: '0.1,0.3' }),
|
|
|
checked: (params.p_d === '0.1,0.3') ? true : false
|
|
|
}, {
|
|
|
name: '4~6折',
|
|
|
href: handleFilterUrl(params, { p_d: '0.4,0.6' }),
|
|
|
checked: (params.p_d === '0.4,0.6') ? true : false
|
|
|
}, {
|
|
|
name: '7折以上',
|
|
|
href: handleFilterUrl(params, { p_d: '0.7,1' }),
|
|
|
checked: (params.p_d === '0.7,1') ? true : false
|
|
|
}];
|
|
|
|
|
|
return dest;
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 处理选中数据
|
|
|
* @param {[type]} origin [description]
|
|
|
* @return {[type]} [description]
|
|
|
*/
|
|
|
const handleCheckedData = (params, origin, param) => {
|
|
|
var dest = [];
|
|
|
|
|
|
// 品牌选中数据
|
|
|
if (!_.isEmpty(origin)) {
|
|
|
_.forEach(origin, (value) => {
|
|
|
if (value.checked) {
|
|
|
let checked = {};
|
|
|
|
|
|
checked.name = value.name;
|
|
|
|
|
|
let tempParam = {};
|
|
|
|
|
|
tempParam[param] = '';
|
|
|
checked.href = handleFilterUrl(params, tempParam);
|
|
|
|
|
|
dest.push(checked);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
return dest;
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 处理断码区分类筛选数据
|
|
|
* @return {[type]} [description]
|
|
|
*/
|
|
|
const handleSalebreakingYardsSortData = (origin, params) => {
|
|
|
var dest = [];
|
|
|
|
|
|
if (!_.isEmpty(params.sort)) {
|
|
|
|
|
|
// 是否有分类筛选参数,如果有
|
|
|
_.forEach(params.sort.split(','), function(sortParam) {
|
|
|
_.forEach(origin, function(value) {
|
|
|
|
|
|
// 判断是否在这组数据里面
|
|
|
if (!_.isEmpty(_.find(value.sort_id.split(','), o => {
|
|
|
return o === sortParam;
|
|
|
}))) {
|
|
|
|
|
|
// 如果在某组数据里面,组合数据退出循环
|
|
|
_.forEach(value.sub, function(subValue) {
|
|
|
let size = {};
|
|
|
|
|
|
size.checked =
|
|
|
(parseInt(params.size, 10) === parseInt(subValue.size_id, 10)) ? true : false;
|
|
|
size.href = handleFilterUrl(params, { size: subValue.size_id });
|
|
|
size.name = subValue.size_name;
|
|
|
|
|
|
dest.push(size);
|
|
|
});
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
} else { // 如果没有筛选参数,返回所有分类
|
|
|
_.forEach(origin, function(value) {
|
|
|
_.forEach(value.sub, function(subValue) {
|
|
|
let size = {};
|
|
|
|
|
|
size.checked = (parseInt(params.size, 10) === parseInt(subValue.size_id, 10)) ? true : false;
|
|
|
size.href = handleFilterUrl(params, { size: subValue.size_id });
|
|
|
size.name = subValue.size_name;
|
|
|
|
|
|
dest.push(size);
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
|
|
|
return _.uniqWith(dest, _.isEqual);
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 处理筛选数据
|
|
|
* @param {[type]} origin [description]
|
|
|
* @return {[type]} [description]
|
|
|
*/
|
|
|
exports.handleSaleFilterData = (origin, params) => {
|
|
|
|
|
|
var dest = {};
|
|
|
|
|
|
dest.brand = {};
|
...
|
...
|
@@ -131,6 +235,10 @@ exports.handleSaleFilterData = (origin, params) => { |
|
|
dest.brand.showMore = true;
|
|
|
dest.brand.showMulti = true;
|
|
|
|
|
|
dest.checkedConditions = {};
|
|
|
dest.checkedConditions.conditions = [];
|
|
|
|
|
|
|
|
|
// 品牌索引数据处理
|
|
|
dest.brand.brandIndex = [];
|
|
|
|
...
|
...
|
@@ -158,7 +266,7 @@ exports.handleSaleFilterData = (origin, params) => { |
|
|
_.forEach(origin.brand, function(value) {
|
|
|
let brand = {};
|
|
|
|
|
|
brand.checked = false;
|
|
|
brand.checked = (parseInt(params.brand, 10) === parseInt(value.id, 10)) ? true : false;
|
|
|
brand.href = handleFilterUrl(params, { brand: value.id });
|
|
|
brand.name = value.brand_name;
|
|
|
brand.key = value.brand_domain;
|
...
|
...
|
@@ -189,7 +297,7 @@ exports.handleSaleFilterData = (origin, params) => { |
|
|
if (!_.isEmpty(origin.priceRange)) {
|
|
|
_.forEach(origin.priceRange, function(value, key) {
|
|
|
let price = {
|
|
|
checked: false,
|
|
|
checked: (params.price === key) ? true : false,
|
|
|
href: handleFilterUrl(params, { price: key }),
|
|
|
name: value
|
|
|
};
|
...
|
...
|
@@ -207,8 +315,43 @@ exports.handleSaleFilterData = (origin, params) => { |
|
|
|
|
|
dest.channel[0].name = '男生';
|
|
|
dest.channel[0].href = handleFilterUrl(params, { gender: '1,3' });
|
|
|
dest.channel[0].checked = (params.gender === '1,3') ? true : false;
|
|
|
dest.channel[1].name = '女生';
|
|
|
dest.channel[1].href = handleFilterUrl(params, { gender: '2,3' });
|
|
|
dest.channel[1].checked = (params.gender === '2,3') ? true : false;
|
|
|
|
|
|
// 最新降价数据处理
|
|
|
if (parseInt(params.saleType, 10) === 3) {
|
|
|
dest.discount = handleSaleNewSaleSortData(params);
|
|
|
|
|
|
// 最新降价筛选数据处理
|
|
|
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
|
|
|
handleCheckedData(params, dest.discount, 'p_d'));
|
|
|
}
|
|
|
|
|
|
// 断码区尺码数据处理
|
|
|
if (!_.isEmpty(origin.size)) {
|
|
|
dest.size = handleSalebreakingYardsSortData(origin.size, params);
|
|
|
|
|
|
// 最新降价筛选数据处理
|
|
|
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
|
|
|
handleCheckedData(params, dest.size, 'size'));
|
|
|
}
|
|
|
|
|
|
// 清除所有选中数据
|
|
|
dest.checkedConditions.clearUrl = '?';
|
|
|
|
|
|
// 处理频道筛选数据
|
|
|
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
|
|
|
handleCheckedData(params, dest.channel, 'gender'));
|
|
|
|
|
|
// 处理品牌筛选数据
|
|
|
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
|
|
|
handleCheckedData(params, dest.brand.brandsShow, 'brand'));
|
|
|
|
|
|
// 处理价格筛选数据
|
|
|
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
|
|
|
handleCheckedData(params, dest.price, 'price'));
|
|
|
|
|
|
return dest;
|
|
|
};
|
...
|
...
|
@@ -320,78 +463,6 @@ exports.handleSaleSortData = (origin, params) => { |
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 处理断码区分类筛选数据
|
|
|
* @return {[type]} [description]
|
|
|
*/
|
|
|
exports.handleSalebreakingYardsSortData = (origin, params) => {
|
|
|
var dest = [];
|
|
|
|
|
|
if (!_.isEmpty(params.sort)) {
|
|
|
|
|
|
// 是否有分类筛选参数,如果有
|
|
|
_.forEach(params.sort.split(','), function(sortParam) {
|
|
|
_.forEach(origin, function(value) {
|
|
|
|
|
|
// 判断是否在这组数据里面
|
|
|
if (!_.isEmpty(_.find(value.sort_id.split(','), o => {
|
|
|
return o === sortParam;
|
|
|
}))) {
|
|
|
|
|
|
// 如果在某组数据里面,组合数据退出循环
|
|
|
_.forEach(value.sub, function(subValue) {
|
|
|
let size = {};
|
|
|
|
|
|
size.checked = false;
|
|
|
size.href = handleFilterUrl(params, { size: subValue.size_id });
|
|
|
size.name = subValue.size_name;
|
|
|
|
|
|
dest.push(size);
|
|
|
});
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
} else { // 如果没有筛选参数,返回所有分类
|
|
|
_.forEach(origin, function(value) {
|
|
|
_.forEach(value.sub, function(subValue) {
|
|
|
let size = {};
|
|
|
|
|
|
size.checked = false;
|
|
|
size.href = handleFilterUrl(params, { size: subValue.size_id });
|
|
|
size.name = subValue.size_name;
|
|
|
|
|
|
dest.push(size);
|
|
|
});
|
|
|
});
|
|
|
}
|
|
|
return _.uniqWith(dest, _.isEqual);
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 处理最新降价折扣信息
|
|
|
* @return {[type]} [description]
|
|
|
*/
|
|
|
exports.handleSaleNewSaleSortData = (params) => {
|
|
|
var dest;
|
|
|
|
|
|
dest = [{
|
|
|
name: '1~3折',
|
|
|
href: handleFilterUrl(params, { p_d: '0.1,0.3' }),
|
|
|
checked: false
|
|
|
}, {
|
|
|
name: '4~6折',
|
|
|
href: handleFilterUrl(params, { p_d: '0.4,0.6' }),
|
|
|
checked: false
|
|
|
}, {
|
|
|
name: '7折以上',
|
|
|
href: handleFilterUrl(params, { p_d: '0.7,1' }),
|
|
|
checked: false
|
|
|
}];
|
|
|
|
|
|
return dest;
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 处理折扣专区活动数据
|
|
|
* @param {[type]} origin [description]
|
|
|
* @return {[type]} [description]
|
...
|
...
|
|