|
@@ -176,7 +176,7 @@ import { checkSelectedNode, defaultProps, handleTree, treeToString } from '@/uti
|
|
|
import { createImageViewer } from '@/components/ImageViewer'
|
|
|
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
|
|
import { UploadImg, UploadImgs } from '@/components/UploadFile'
|
|
|
-import { ProductAttributes, ProductPropertyAddForm, SkuList } from './index'
|
|
|
+import { getPropertyList, ProductAttributes, ProductPropertyAddForm, SkuList } from './index'
|
|
|
import { basicInfoSchema } from './spu.data'
|
|
|
import type { Spu } from '@/api/mall/product/spu'
|
|
|
import * as ProductCategoryApi from '@/api/mall/product/category'
|
|
@@ -242,7 +242,7 @@ const rules = reactive({
|
|
|
introduction: [required],
|
|
|
picUrl: [required],
|
|
|
sliderPicUrls: [required],
|
|
|
- // deliveryTemplateId: [required],
|
|
|
+ deliveryTemplateId: [required],
|
|
|
brandId: [required],
|
|
|
specType: [required],
|
|
|
subCommissionType: [required]
|
|
@@ -261,26 +261,7 @@ watch(
|
|
|
formData.sliderPicUrls = data['sliderPicUrls']?.map((item) => ({
|
|
|
url: item
|
|
|
}))
|
|
|
- // 只有是多规格才处理
|
|
|
- if (!formData.specType) {
|
|
|
- return
|
|
|
- }
|
|
|
- // 直接拿返回的 skus 属性逆向生成出 propertyList
|
|
|
- const properties = []
|
|
|
- formData.skus?.forEach((sku) => {
|
|
|
- sku.properties?.forEach(({ propertyId, propertyName, valueId, valueName }) => {
|
|
|
- // 添加属性
|
|
|
- if (!properties?.some((item) => item.id === propertyId)) {
|
|
|
- properties.push({ id: propertyId, name: propertyName, values: [] })
|
|
|
- }
|
|
|
- // 添加属性值
|
|
|
- const index = properties?.findIndex((item) => item.id === propertyId)
|
|
|
- if (!properties[index].values?.some((value) => value.id === valueId)) {
|
|
|
- properties[index].values?.push({ id: valueId, name: valueName })
|
|
|
- }
|
|
|
- })
|
|
|
- })
|
|
|
- propertyList.value = properties
|
|
|
+ propertyList.value = getPropertyList(data)
|
|
|
},
|
|
|
{
|
|
|
immediate: true
|