diff --git a/src/components/Upload/multiUpload.vue b/src/components/Upload/multiUpload.vue new file mode 100644 index 0000000..8bed0ce --- /dev/null +++ b/src/components/Upload/multiUpload.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/components/Upload/singleUpload.vue b/src/components/Upload/singleUpload.vue index fd8df72..875b740 100644 --- a/src/components/Upload/singleUpload.vue +++ b/src/components/Upload/singleUpload.vue @@ -45,7 +45,7 @@ }, showFileList: { get: function () { - return this.value !== null && this.value !== ''; + return this.value !== null && this.value !== ''&& this.value!==undefined; }, set: function (newValue) { } diff --git a/src/views/pms/product/components/addProductAttr.vue b/src/views/pms/product/components/addProductAttr.vue index 0cacb31..7526aef 100644 --- a/src/views/pms/product/components/addProductAttr.vue +++ b/src/views/pms/product/components/addProductAttr.vue @@ -97,10 +97,12 @@ -
- {{item}}: - + +
+ {{item.name}}: +
+
@@ -118,6 +120,19 @@
+ + + + + + + 电脑端详情 + + + 移动端详情 + + + @@ -126,27 +141,35 @@ import {fetchList as fetchProductAttrCateList} from '@/api/productAttrCate' import {fetchList as fetchProductAttrList} from '@/api/productAttr' import SingleUpload from '@/components/Upload/singleUpload' + import MultiUpload from '@/components/Upload/multiUpload' export default { name: "addProductAttr", - components:{SingleUpload}, + components:{SingleUpload,MultiUpload}, props: { value: Object }, data() { return { + //商品属性分类下拉选项 productAttributeCategoryOptions: [], + //选中的商品属性 selectProductAttr: [], + //选中的商品参数 selectProductParam:[], - addProductAttrValue: null + //选中的商品属性图片 + selectProductAttrPics:[], + //可手动添加的商品属性 + addProductAttrValue:'', + //选中的商品图片 + selectProductPics:[], + //商品富文本详情激活类型 + activeHtmlName:'pc' } }, computed: { hasAttrPic() { - if(this.selectProductAttr.length<1){ - return false; - } - if(this.selectProductAttr[0].values.length<1){ + if(this.selectProductAttrPics.length<1){ return false; } return true; @@ -182,8 +205,7 @@ handAddStatus: list[i].handAddStatus, inputList:list[i].inputList, values: [], - options: [], - pics:[] + options: [] }); } } else { @@ -242,6 +264,7 @@ }, handleRefreshProductSkuList() { this.value.skuStockList = []; + this.refreshProductAttrPics(); let skuList = this.value.skuStockList; //只有一个属性时 if (this.selectProductAttr.length === 1) { @@ -254,20 +277,39 @@ } else if (this.selectProductAttr.length === 2) { let values0 = this.selectProductAttr[0].values; let values1 = this.selectProductAttr[1].values; - for (let i = 0; i < values0.length; i++) { - for (let j = 0; j < values1.length; j++) { - skuList.push({ - sp1: values0[i], - sp2: values1[j] - }); - } + for (let i = 0; i < values0.length; i++) { + if(values1.length===0){ + skuList.push({ + sp1: values0[i] + }); + continue; + } + for (let j = 0; j < values1.length; j++) { + skuList.push({ + sp1: values0[i], + sp2: values1[j] + }); + } } } else { let values0 = this.selectProductAttr[0].values; let values1 = this.selectProductAttr[1].values; let values2 = this.selectProductAttr[2].values; for (let i = 0; i < values0.length; i++) { + if(values1.length===0){ + skuList.push({ + sp1: values0[i] + }); + continue; + } for (let j = 0; j < values1.length; j++) { + if(values2.length===0){ + skuList.push({ + sp1: values0[i], + sp2: values1[j] + }); + continue; + } for (let k = 0; k < values2.length; k++) { skuList.push({ sp1: values0[i], @@ -279,6 +321,15 @@ } } }, + refreshProductAttrPics(){ + this.selectProductAttrPics=[]; + if (this.selectProductAttr.length >= 1) { + let values = this.selectProductAttr[0].values; + for(let i=0;i