From 187582e2b3cb7f90a220cb25266e90c67fcfba23 Mon Sep 17 00:00:00 2001 From: zhh Date: Tue, 5 Jun 2018 17:08:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=93=81=E4=BF=AE=E6=94=B9=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/product.js | 7 ++ .../product/components/ProductAttrDetail.vue | 66 ++++++++++++++++++- .../pms/product/components/ProductDetail.vue | 14 ++-- .../product/components/ProductInfoDetail.vue | 20 +++++- .../product/components/ProductSaleDetail.vue | 20 +++++- src/views/pms/product/index.vue | 2 +- 6 files changed, 114 insertions(+), 15 deletions(-) diff --git a/src/api/product.js b/src/api/product.js index 5f3da13..50da24b 100644 --- a/src/api/product.js +++ b/src/api/product.js @@ -47,3 +47,10 @@ export function createProduct(data) { }) } +export function getProduct(id) { + return request({ + url:'/product/updateInfo/'+id, + method:'get', + }) +} + diff --git a/src/views/pms/product/components/ProductAttrDetail.vue b/src/views/pms/product/components/ProductAttrDetail.vue index 1c5a427..9f7da97 100644 --- a/src/views/pms/product/components/ProductAttrDetail.vue +++ b/src/views/pms/product/components/ProductAttrDetail.vue @@ -153,7 +153,11 @@ name: "ProductAttrDetail", components: {SingleUpload, MultiUpload, Tinymce}, props: { - value: Object + value: Object, + isEdit: { + type: Boolean, + default: false + } }, data() { return { @@ -182,6 +186,9 @@ } }, created() { + if(this.isEdit){ + this.handleEditCreated(); + } this.getProductAttrCateList(); if (this.value.productAttributeCategoryId != null) { this.handleProductAttrChange(this.value.productAttributeCategoryId); @@ -207,6 +214,9 @@ } }, methods: { + handleEditCreated(){ + + }, getProductAttrCateList() { let param = {pageNum: 1, pageSize: 100}; fetchProductAttrCateList(param).then(response => { @@ -224,13 +234,21 @@ if (type === 0) { this.selectProductAttr = []; for (let i = 0; i < list.length; i++) { + let options = []; + let values=[]; + if(this.isEdit){ + if(list[i].handAddStatus===1){ + options = this.getEditAttrOptions(list[i].id); + } + // values = this.getEditAttrValues(i); + } this.selectProductAttr.push({ id: list[i].id, name: list[i].name, handAddStatus: list[i].handAddStatus, inputList: list[i].inputList, - values: [], - options: [] + values: values, + options: options }); } } else { @@ -247,6 +265,48 @@ } }); }, + //获取设置的可手动添加属性值 + getEditAttrOptions(id){ + let options=[]; + for(let i=0;i-1){ + values.push(sku.sp1); + } + } + }else if(index===1){ + for(let i=0;i-1){ + values.push(sku.sp2); + } + } + }else{ + for(let i=0;i-1){ + values.push(sku.sp3); + } + } + } + return values; + }, handleProductAttrChange(value) { this.getProductAttrList(0, value); this.getProductAttrList(1, value); diff --git a/src/views/pms/product/components/ProductDetail.vue b/src/views/pms/product/components/ProductDetail.vue index 9f3990d..9c594e5 100644 --- a/src/views/pms/product/components/ProductDetail.vue +++ b/src/views/pms/product/components/ProductDetail.vue @@ -9,28 +9,28 @@ + @prevStep="prevStep"> + @prevStep="prevStep"> + @finishCommit="finishCommit"> @@ -39,7 +39,7 @@ import ProductSaleDetail from './ProductSaleDetail'; import ProductAttrDetail from './ProductAttrDetail'; import ProductRelationDetail from './ProductRelationDetail'; - import {createProduct} from '@/api/product'; + import {createProduct,getProduct} from '@/api/product'; const defaultProductParam = { albumPics: '', diff --git a/src/views/pms/product/components/ProductInfoDetail.vue b/src/views/pms/product/components/ProductInfoDetail.vue index 3a92bd0..d70bfa3 100644 --- a/src/views/pms/product/components/ProductInfoDetail.vue +++ b/src/views/pms/product/components/ProductInfoDetail.vue @@ -62,11 +62,16 @@