...
|
...
|
@@ -61,10 +61,11 @@ const handleSaleNewSaleSortData = (params) => { |
|
|
* 处理断码区分类筛选数据
|
|
|
* @return {[type]} [description]
|
|
|
*/
|
|
|
const handleSalebreakingYardsSortData = (origin, params) => {
|
|
|
const handleSalebreakingYardsSortData = (origin, params, seatUrl) => {
|
|
|
let dest = [];
|
|
|
|
|
|
if (!_.isEmpty(params.sort)) {
|
|
|
seatUrl = seatUrl || '';
|
|
|
|
|
|
// 是否有分类筛选参数,如果有
|
|
|
_.forEach(params.sort.split(','), sortParam => {
|
...
|
...
|
@@ -79,9 +80,7 @@ const handleSalebreakingYardsSortData = (origin, params) => { |
|
|
_.forEach(value.sub, subValue => {
|
|
|
dest.push({
|
|
|
checked: +params.size === +subValue.size_id,
|
|
|
href: handleFilterUrl(params, {
|
|
|
size: subValue.size_id
|
|
|
}),
|
|
|
href: seatUrl.replace('{size}', subValue.size_id),
|
|
|
name: subValue.size_name
|
|
|
});
|
|
|
});
|
...
|
...
|
@@ -94,9 +93,7 @@ const handleSalebreakingYardsSortData = (origin, params) => { |
|
|
_.forEach(value.sub, subValue => {
|
|
|
dest.push({
|
|
|
checked: +params.size === +subValue.size_id,
|
|
|
href: handleFilterUrl(params, {
|
|
|
size: subValue.size_id
|
|
|
}),
|
|
|
href: seatUrl.replace('{size}', subValue.size_id),
|
|
|
name: subValue.size_name
|
|
|
});
|
|
|
});
|
...
|
...
|
@@ -113,7 +110,7 @@ const handleSalebreakingYardsSortData = (origin, params) => { |
|
|
* @param {[type]} param [description]
|
|
|
* @return {[type]} [description]
|
|
|
*/
|
|
|
const handleCheckedData = (params, origin, param) => {
|
|
|
const handleCheckedData = (params, origin, param, baseUrl) => {
|
|
|
let dest = [];
|
|
|
|
|
|
// 品牌选中数据
|
...
|
...
|
@@ -126,7 +123,7 @@ const handleCheckedData = (params, origin, param) => { |
|
|
|
|
|
dest.push({
|
|
|
name: value.name,
|
|
|
href: handleFilterUrl(params, tempPatam)
|
|
|
href: handleStaticFilterUrl(baseUrl, params, tempPatam)
|
|
|
});
|
|
|
}
|
|
|
});
|
...
|
...
|
@@ -458,9 +455,11 @@ exports.handleSaleFilterData = (origin, params, baseUrl) => { |
|
|
name: '0~9'
|
|
|
}],
|
|
|
showMore: true,
|
|
|
showMulti: true
|
|
|
showMulti: true,
|
|
|
seatUrl: handleStaticFilterUrl(baseUrl, params, {brand: '{seat}'})
|
|
|
},
|
|
|
price: [],
|
|
|
priceSeatUrl: handleFilterUrl(baseUrl, params, {price: '{seat}'}),
|
|
|
gender: [],
|
|
|
checkedConditions: {
|
|
|
conditions: []
|
...
|
...
|
@@ -486,13 +485,14 @@ exports.handleSaleFilterData = (origin, params, baseUrl) => { |
|
|
|
|
|
if (origin.brand) {
|
|
|
let count = 0;
|
|
|
const brandHref = handleStaticFilterUrl(baseUrl, params, {brand: '{brand}'});
|
|
|
|
|
|
_.forEach(origin.brand, function(value) {
|
|
|
let brand = {
|
|
|
checked: (typeof _.find(intBrands, o => {
|
|
|
return _.isEqual(o, value.id);
|
|
|
}) !== 'undefined'),
|
|
|
href: handleStaticFilterUrl(baseUrl, params, {brand: value.id}),
|
|
|
href: brandHref.replace('{brand}', value.id),
|
|
|
name: value.brand_name,
|
|
|
key: value.brand_domain,
|
|
|
id: value.id
|
...
|
...
|
@@ -529,13 +529,15 @@ exports.handleSaleFilterData = (origin, params, baseUrl) => { |
|
|
let priceRangechecked = false;
|
|
|
|
|
|
if (!_.isEmpty(origin.priceRange)) {
|
|
|
const priceHref = handleStaticFilterUrl(baseUrl, params, {price: '{price}'});
|
|
|
|
|
|
_.forEach(origin.priceRange, (value, key) => {
|
|
|
if (params.price === key) {
|
|
|
priceRangechecked = true;
|
|
|
}
|
|
|
let price = {
|
|
|
checked: params.price === key,
|
|
|
href: handleStaticFilterUrl(baseUrl, params, {price: key}),
|
|
|
href: priceHref.replace('{price}', key),
|
|
|
name: value
|
|
|
};
|
|
|
|
...
|
...
|
@@ -559,14 +561,16 @@ exports.handleSaleFilterData = (origin, params, baseUrl) => { |
|
|
}
|
|
|
}
|
|
|
|
|
|
const genderHref = handleStaticFilterUrl(baseUrl, params, {gender: '{gender}'});
|
|
|
|
|
|
// 处理性别数据
|
|
|
dest.gender = [{
|
|
|
name: 'BOYS',
|
|
|
href: handleStaticFilterUrl(baseUrl, params, {gender: '1,3'}),
|
|
|
href: genderHref.replace('{gender}', '1,3'),
|
|
|
checked: params.gender === '1,3'
|
|
|
}, {
|
|
|
name: 'GIRLS',
|
|
|
href: handleStaticFilterUrl(baseUrl, params, {gender: '2,3'}),
|
|
|
href: genderHref.replace('{gender}', '2,3'),
|
|
|
checked: params.gender === '2,3'
|
|
|
}];
|
|
|
|
...
|
...
|
@@ -576,53 +580,49 @@ exports.handleSaleFilterData = (origin, params, baseUrl) => { |
|
|
|
|
|
// 最新降价筛选数据处理
|
|
|
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
|
|
|
handleCheckedData(params, dest.discount, 'p_d'));
|
|
|
handleCheckedData(params, dest.discount, 'p_d', baseUrl));
|
|
|
}
|
|
|
|
|
|
// 尺码处理
|
|
|
if (!_.isEmpty(origin.size)) {
|
|
|
const sizeHref = handleStaticFilterUrl(baseUrl, params, {size: '{size}'});
|
|
|
|
|
|
if (params.saleType === '5') {
|
|
|
|
|
|
// 断码区尺码处理
|
|
|
dest.size = handleSalebreakingYardsSortData(origin.size, params);
|
|
|
dest.size = handleSalebreakingYardsSortData(origin.size, params, sizeHref);
|
|
|
} else {
|
|
|
dest.size = [];
|
|
|
if (_.isArray(origin.size)) {
|
|
|
_.forEach(origin.size, value => {
|
|
|
dest.size.push({
|
|
|
checked: parseInt(params.size, 10) === parseInt(value.size_id, 10),
|
|
|
href: handleStaticFilterUrl(baseUrl, params, {
|
|
|
size: value.size_id
|
|
|
}),
|
|
|
href: sizeHref.replace('{size}', value.size_id),
|
|
|
name: value.size_name
|
|
|
});
|
|
|
});
|
|
|
} else {
|
|
|
dest.size.push({
|
|
|
checked: parseInt(params.size, 10) === parseInt(origin.size.size_id, 10),
|
|
|
href: handleStaticFilterUrl(baseUrl, params, {
|
|
|
size: origin.size.size_id
|
|
|
}),
|
|
|
href: sizeHref.replace('{size}', origin.size.size_id),
|
|
|
name: origin.size.size_name
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
|
|
|
handleCheckedData(params, dest.size, 'size'));
|
|
|
handleCheckedData(params, dest.size, 'size', baseUrl));
|
|
|
}
|
|
|
|
|
|
// 年龄处理
|
|
|
|
|
|
dest.ageLevel = origin.ageLevel;
|
|
|
|
|
|
_.forEach(dest.ageLevel, item => {
|
|
|
|
|
|
item.href = handleStaticFilterUrl(baseUrl, params, {age_level: item.id});
|
|
|
const ageHref = handleStaticFilterUrl(baseUrl, params, {age_level: '{age}'});
|
|
|
|
|
|
_.forEach(dest.ageLevel, item => {
|
|
|
item.href = ageHref.replace('{age}', item.id);
|
|
|
item.checked = params.age_level === item.id;
|
|
|
|
|
|
});
|
|
|
|
|
|
// 如果年龄就一个,默认选中
|
...
|
...
|
@@ -640,7 +640,7 @@ exports.handleSaleFilterData = (origin, params, baseUrl) => { |
|
|
|
|
|
// 处理频道筛选数据
|
|
|
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
|
|
|
handleCheckedData(params, dest.gender, 'gender'));
|
|
|
handleCheckedData(params, dest.gender, 'gender', baseUrl));
|
|
|
|
|
|
// 处理品牌筛选数据
|
|
|
if (dest.brand.brandsShow) {
|
...
|
...
|
@@ -650,11 +650,11 @@ exports.handleSaleFilterData = (origin, params, baseUrl) => { |
|
|
|
|
|
// 处理价格筛选数据
|
|
|
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
|
|
|
handleCheckedData(params, dest.price, 'price'));
|
|
|
handleCheckedData(params, dest.price, 'price', baseUrl));
|
|
|
|
|
|
// 处理价格筛选数据
|
|
|
dest.checkedConditions.conditions = _.union(dest.checkedConditions.conditions,
|
|
|
handleCheckedData(params, dest.ageLevel, 'age_level'));
|
|
|
handleCheckedData(params, dest.ageLevel, 'age_level', baseUrl));
|
|
|
|
|
|
return dest;
|
|
|
};
|
...
|
...
|
|