|
@@ -201,16 +201,19 @@ export default {
|
|
|
buildSpecsAndSkus(draft) {
|
|
buildSpecsAndSkus(draft) {
|
|
|
const specs = [];
|
|
const specs = [];
|
|
|
(draft.specs || []).forEach((spec, si) => {
|
|
(draft.specs || []).forEach((spec, si) => {
|
|
|
- (spec.values || [])
|
|
|
|
|
- .filter((v) => v.selected)
|
|
|
|
|
- .forEach((v, oi) => {
|
|
|
|
|
- specs.push({
|
|
|
|
|
- specName: spec.name,
|
|
|
|
|
- optionName: v.name,
|
|
|
|
|
- specSort: si,
|
|
|
|
|
- optionSort: oi
|
|
|
|
|
- });
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ // 选中/未选中都提交,isSelected: 1 选中,0 未选中
|
|
|
|
|
+ (spec.values || []).forEach((v, oi) => {
|
|
|
|
|
+ const row = {
|
|
|
|
|
+ specName: spec.name,
|
|
|
|
|
+ optionName: v.name,
|
|
|
|
|
+ specSort: si,
|
|
|
|
|
+ optionSort: oi,
|
|
|
|
|
+ isSelected: v.selected ? 1 : 0
|
|
|
|
|
+ };
|
|
|
|
|
+ // 编辑时回传后端规格选项 id
|
|
|
|
|
+ if (v.persistId) row.id = v.persistId;
|
|
|
|
|
+ specs.push(row);
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
const skus = (draft.combos || []).map((c, i) => ({
|
|
const skus = (draft.combos || []).map((c, i) => ({
|
|
|
specOptionNames: (c.label || '').replace(/\s*\|\s*/g, '/'),
|
|
specOptionNames: (c.label || '').replace(/\s*\|\s*/g, '/'),
|