From 02300099f56c2435cf519af7efa052485985ebdd Mon Sep 17 00:00:00 2001 From: pushuo <229102104@qq.com> Date: Fri, 22 Jul 2022 10:00:21 +0800 Subject: [PATCH] wip --- .../views/pages/products/form/form.blade.php | 44 ++++++++++++++----- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/resources/beike/admin/views/pages/products/form/form.blade.php b/resources/beike/admin/views/pages/products/form/form.blade.php index ccbdfd12..1eb7ddbf 100644 --- a/resources/beike/admin/views/pages/products/form/form.blade.php +++ b/resources/beike/admin/views/pages/products/form/form.blade.php @@ -74,9 +74,11 @@ -{{-- --}} @@ -252,7 +252,6 @@ - skus[0]['model'] ?? ''), price: @json($product->skus[0]['price'] ?? ''), @@ -344,7 +344,9 @@ watch: { 'source.variables': { deep: true, - handler: function() { + handler: function(val) { + if (this.isMove) return; + // 原始规格数据变动,过滤有效规格并同步至 form.variables let variants = []; const sourceVariants = JSON.parse(JSON.stringify(this.source.variables)); @@ -355,6 +357,7 @@ variants.push(sourceVariant); } } + this.form.variables = variants; this.remakeSkus(); } @@ -368,6 +371,10 @@ // }); // }, + // datadragEnd(e) { + // console.log(e); + // }, + dialogVariablesFormSubmit(form) { const name = JSON.parse(JSON.stringify(this.dialogVariables.form.name)); const variantIndex = this.dialogVariables.variantIndex; @@ -398,7 +405,19 @@ }, swapSourceVariantValue(e, variantIndex) { - console.log(e, variantIndex) + // console.log(e, variantIndex); + // console.log(e.oldIndex, e.newIndex, variantIndex) + // 将 sku.variants[variantIndex] == e.oldIndex 的 sku[0] 与 sku.variants[variantIndex] == e.newIndex 的 sku[1] 交换顺序 + // this.form.skus 数组顺序调换 + + + + this.form.skus.forEach(function(sku) { + const oldIndex = sku.variants[variantIndex]; + const newIndex = sku.variants[variantIndex] == e.oldIndex ? e.newIndex.toString() : e.oldIndex.toString() + sku.variants[variantIndex] = newIndex; + }); + this.remakeSkus() }, closedialogVariablesFormDialog(form) { @@ -477,12 +496,15 @@ }); } } + // 第一个子商品用主商品的值 - skus[0].model = this.form.model; - skus[0].sku = this.form.sku; - skus[0].price = this.form.price; - skus[0].quantity = this.form.quantity; - skus[0].status = this.form.status; + if (!this.isMove) { + skus[0].model = this.form.model; + skus[0].sku = this.form.sku; + skus[0].price = this.form.price; + skus[0].quantity = this.form.quantity; + skus[0].status = this.form.status; + } this.form.skus = skus; },