|
|
@@ -478,19 +478,22 @@ export default {
|
|
|
mapSpecsFromApi(specs) {
|
|
|
if (!specs || !specs.length) return JSON.parse(JSON.stringify(DEFAULT_SPECS));
|
|
|
const groupMap = {};
|
|
|
- specs.forEach((s) => {
|
|
|
+ specs.forEach((s, idx) => {
|
|
|
const key = s.specName || '规格';
|
|
|
if (!groupMap[key]) {
|
|
|
groupMap[key] = {
|
|
|
- id: s.id || key,
|
|
|
+ id: `g_${key}`,
|
|
|
name: key,
|
|
|
values: []
|
|
|
};
|
|
|
}
|
|
|
+ // isSelected: 1 选中,0 未选中;兼容旧数据无该字段时视为选中
|
|
|
+ const selected = s.isSelected == null ? true : Number(s.isSelected) === 1;
|
|
|
groupMap[key].values.push({
|
|
|
- id: s.id || `${key}_${s.optionName}`,
|
|
|
+ id: s.id || `${key}_${s.optionName || idx}`,
|
|
|
+ persistId: s.id || null,
|
|
|
name: s.optionName,
|
|
|
- selected: true
|
|
|
+ selected
|
|
|
});
|
|
|
});
|
|
|
return Object.values(groupMap);
|