|
|
|
@@ -71,16 +71,21 @@ const HomePricingFilters = ({ t }) => { |
|
|
|
} |
|
|
|
}); |
|
|
|
const vendors = Array.from(vendorSet).sort(); |
|
|
|
const getCount = (v) => { |
|
|
|
const getVendorCount = () => { |
|
|
|
// 计算供应商数量(包含未知供应商) |
|
|
|
const count = vendorSet.size + (hasUnknown ? 1 : 0); |
|
|
|
return count; |
|
|
|
}; |
|
|
|
const getModelCount = (v) => { |
|
|
|
if (v === 'all') return vendorModels.length; |
|
|
|
if (v === 'unknown') return vendorModels.filter((m) => !m.vendor_name).length; |
|
|
|
return vendorModels.filter((m) => m.vendor_name === v).length; |
|
|
|
}; |
|
|
|
const items = [ |
|
|
|
{ value: 'all', label: t('全部供应商'), tagCount: getCount('all'), disabled: (models || []).length === 0 }, |
|
|
|
{ value: 'all', label: t('全部供应商'), tagCount: getVendorCount(), disabled: (models || []).length === 0 }, |
|
|
|
]; |
|
|
|
vendors.forEach((v) => { |
|
|
|
const count = getCount(v); |
|
|
|
const count = getModelCount(v); |
|
|
|
items.push({ |
|
|
|
value: v, |
|
|
|
label: v, |
|
|
|
@@ -93,8 +98,8 @@ const HomePricingFilters = ({ t }) => { |
|
|
|
items.push({ |
|
|
|
value: 'unknown', |
|
|
|
label: t('未知供应商'), |
|
|
|
tagCount: getCount('unknown'), |
|
|
|
disabled: getCount('unknown') === 0, |
|
|
|
tagCount: getModelCount('unknown'), |
|
|
|
disabled: getModelCount('unknown') === 0, |
|
|
|
}); |
|
|
|
} |
|
|
|
return items; |
|
|
|
|