|
@@ -3,60 +3,65 @@
|
|
<div class="title">新增商品</div>
|
|
<div class="title">新增商品</div>
|
|
<el-form class="form" ref="form" :model="form" label-width="80px">
|
|
<el-form class="form" ref="form" :model="form" label-width="80px">
|
|
<el-form-item class="single" label="商品名:" label-width="100px">
|
|
<el-form-item class="single" label="商品名:" label-width="100px">
|
|
- <el-input class="pr-50" placeholder="请输入" v-model="form.title" maxlength="60" show-word-limit>
|
|
|
|
|
|
+ <el-input class="pr-50" placeholder="请输入" v-model="form.title" maxlength="60" :disabled="isdisable"
|
|
|
|
+ show-word-limit>
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="类目:" label-width="100px">
|
|
<el-form-item label="类目:" label-width="100px">
|
|
- <el-select v-model="form.third_cat_audit" placeholder="请选择" clearable filterable>
|
|
|
|
|
|
+ <el-select v-model="form.third_cat_audit" placeholder="请选择" :disabled="isdisable" clearable filterable>
|
|
<el-option label="申请通过的类目" value="1"></el-option>
|
|
<el-option label="申请通过的类目" value="1"></el-option>
|
|
<el-option label="无需审核类目" value="0"></el-option>
|
|
<el-option label="无需审核类目" value="0"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="商品ID:" label-width="100px">
|
|
<el-form-item label="商品ID:" label-width="100px">
|
|
- <el-input placeholder="请输入" v-model="form.out_product_id" maxlength="25">
|
|
|
|
|
|
+ <el-input placeholder="请输入" :disabled="isdisable" v-model="form.out_product_id" maxlength="25">
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="品牌:" label-width="100px">
|
|
<el-form-item label="品牌:" label-width="100px">
|
|
- <el-select v-model="form.has_brand" placeholder="请选择" clearable filterable>
|
|
|
|
|
|
+ <el-select v-model="form.has_brand" :disabled="isdisable" placeholder="请选择" clearable filterable>
|
|
<el-option label="申请通过的品牌" value="1"></el-option>
|
|
<el-option label="申请通过的品牌" value="1"></el-option>
|
|
<el-option label="无品牌" value="0"></el-option>
|
|
<el-option label="无品牌" value="0"></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="商品库存:" label-width="100px">
|
|
<el-form-item label="商品库存:" label-width="100px">
|
|
- <el-input placeholder="请输入" type='number' maxlength="25" v-model="form.stock_num">
|
|
|
|
|
|
+ <el-input placeholder="请输入" :disabled="isdisable" type='number' maxlength="25" v-model="form.stock_num">
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="售卖价格:" label-width="100px">
|
|
<el-form-item label="售卖价格:" label-width="100px">
|
|
- <el-input placeholder="请输入" type='number' maxlength="25" v-model="form.sale_price">
|
|
|
|
|
|
+ <el-input placeholder="请输入" :disabled="isdisable" type='number' maxlength="25"
|
|
|
|
+ v-model="form.sale_price">
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="市场价格:" label-width="100px">
|
|
<el-form-item label="市场价格:" label-width="100px">
|
|
- <el-input placeholder="请输入" type='number' maxlength="25" v-model="form.market_price">
|
|
|
|
|
|
+ <el-input placeholder="请输入" :disabled="isdisable" type='number' maxlength="25"
|
|
|
|
+ v-model="form.market_price">
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item class="single" label="小程序链接:" label-width="100px">
|
|
<el-form-item class="single" label="小程序链接:" label-width="100px">
|
|
- <el-input class="pr-50" placeholder="请输入" v-model="form.path" maxlength="100">
|
|
|
|
|
|
+ <el-input class="pr-50" :disabled="isdisable" placeholder="请输入" v-model="form.path" maxlength="100">
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="一级类目:" v-if="false" label-width="100px">
|
|
<el-form-item label="一级类目:" v-if="false" label-width="100px">
|
|
- <el-input placeholder="请输入" maxlength="25">
|
|
|
|
|
|
+ <el-input placeholder="请输入" :disabled="isdisable" maxlength="25">
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="二级类目:" v-if="false" label-width="100px">
|
|
<el-form-item label="二级类目:" v-if="false" label-width="100px">
|
|
- <el-input placeholder="请输入" maxlength="25">
|
|
|
|
|
|
+ <el-input placeholder="请输入" :disabled="isdisable" maxlength="25">
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="三级类目:" v-if="form.third_cat_audit=='0'" label-width="100px">
|
|
<el-form-item label="三级类目:" v-if="form.third_cat_audit=='0'" label-width="100px">
|
|
- <el-input placeholder="请输入" maxlength="25" v-model="form.third_cat_id">
|
|
|
|
|
|
+ <el-input placeholder="请输入" :disabled="isdisable" maxlength="25" v-model="form.third_cat_id">
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item class="single" label="商品图片:" label-width="100px">
|
|
<el-form-item class="single" label="商品图片:" label-width="100px">
|
|
- <upload ref="upload_goods" :file="goodsList" limitNum="1"></upload>
|
|
|
|
|
|
+ <upload v-if="updatePic" :disabled="isdisable" ref="upload_goods" :file="goodsList" limitNum="1">
|
|
|
|
+ </upload>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item class="single" label="商品资质图片:" label-width="100px">
|
|
|
|
- <upload ref="upload_zizhi" :file="goodszizhiList" limitNum="10"></upload>
|
|
|
|
|
|
+ <el-form-item class="single" label="商品类目图片:" label-width="100px">
|
|
|
|
+ <upload v-if="updatePic" :disabled="isdisable" ref="upload_zizhi" :file="goodszizhiList" limitNum="10">
|
|
|
|
+ </upload>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item class="commit">
|
|
|
|
|
|
+ <el-form-item class="commit" v-if="!isdisable">
|
|
<el-button class="blackbtn" :loading="loading" @click.native.prevent="commit">提交
|
|
<el-button class="blackbtn" :loading="loading" @click.native.prevent="commit">提交
|
|
</el-button>
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -70,7 +75,9 @@
|
|
import upload from '@/components/upload'
|
|
import upload from '@/components/upload'
|
|
import {
|
|
import {
|
|
add,
|
|
add,
|
|
- editDetail,edit
|
|
|
|
|
|
+ editDetail,
|
|
|
|
+ edit,
|
|
|
|
+ authDetail
|
|
} from "@/api/goods";
|
|
} from "@/api/goods";
|
|
export default {
|
|
export default {
|
|
name: 'addGoods',
|
|
name: 'addGoods',
|
|
@@ -83,7 +90,9 @@
|
|
goodsList: [],
|
|
goodsList: [],
|
|
goodszizhiList: [],
|
|
goodszizhiList: [],
|
|
outProductId: 0,
|
|
outProductId: 0,
|
|
- commodity_id:0,
|
|
|
|
|
|
+ updatePic: true,
|
|
|
|
+ commodity_id: 0,
|
|
|
|
+ isdisable: false,
|
|
form: {
|
|
form: {
|
|
title: '',
|
|
title: '',
|
|
third_cat_audit: '',
|
|
third_cat_audit: '',
|
|
@@ -106,17 +115,17 @@
|
|
this.$message.error('请选择至少一张商品图片');
|
|
this.$message.error('请选择至少一张商品图片');
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- let zizhiarray=[]
|
|
|
|
- this.goodszizhiList.forEach(element => {
|
|
|
|
|
|
+ let zizhiarray = []
|
|
|
|
+ this.goodszizhiList.forEach(element => {
|
|
zizhiarray.push(element.url)
|
|
zizhiarray.push(element.url)
|
|
- });
|
|
|
|
|
|
+ });
|
|
let params = {
|
|
let params = {
|
|
brand_id: '2100000000',
|
|
brand_id: '2100000000',
|
|
has_brand: this.form.has_brand,
|
|
has_brand: this.form.has_brand,
|
|
market_price: this.form.market_price,
|
|
market_price: this.form.market_price,
|
|
out_product_id: this.form.out_product_id,
|
|
out_product_id: this.form.out_product_id,
|
|
path: this.form.path,
|
|
path: this.form.path,
|
|
- qualificationImgs:zizhiarray.join(","),
|
|
|
|
|
|
+ qualificationImgs: zizhiarray.join(","),
|
|
sale_price: this.form.sale_price,
|
|
sale_price: this.form.sale_price,
|
|
stock_num: this.form.stock_num,
|
|
stock_num: this.form.stock_num,
|
|
third_cat_audit: this.form.third_cat_audit,
|
|
third_cat_audit: this.form.third_cat_audit,
|
|
@@ -124,21 +133,26 @@
|
|
thumb_img: this.goodsList[0].url,
|
|
thumb_img: this.goodsList[0].url,
|
|
title: this.form.title
|
|
title: this.form.title
|
|
}
|
|
}
|
|
- if(this.outProductId==0){ //新增
|
|
|
|
|
|
+ this.loading = true
|
|
|
|
+ if (this.outProductId == 0) { //新增
|
|
add(params).then(() => {
|
|
add(params).then(() => {
|
|
this.$message.success('添加成功');
|
|
this.$message.success('添加成功');
|
|
store.commit('REMOVETAB', '新增商品')
|
|
store.commit('REMOVETAB', '新增商品')
|
|
this.$router.go(-1)
|
|
this.$router.go(-1)
|
|
- })
|
|
|
|
- }else{ //修改
|
|
|
|
- params.commodity_id=this.commodity_id
|
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
+ this.loading = false
|
|
|
|
+ });
|
|
|
|
+ } else { //修改
|
|
|
|
+ params.commodity_id = this.commodity_id
|
|
edit(params).then(() => {
|
|
edit(params).then(() => {
|
|
this.$message.success('修改成功');
|
|
this.$message.success('修改成功');
|
|
store.commit('REMOVETAB', '新增商品')
|
|
store.commit('REMOVETAB', '新增商品')
|
|
this.$router.go(-1)
|
|
this.$router.go(-1)
|
|
- })
|
|
|
|
|
|
+ }).catch(() => {
|
|
|
|
+ this.loading = false
|
|
|
|
+ });
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
},
|
|
},
|
|
handlePictureCardPreview(file) {
|
|
handlePictureCardPreview(file) {
|
|
this.dialogImageUrl = file.url;
|
|
this.dialogImageUrl = file.url;
|
|
@@ -146,7 +160,7 @@
|
|
},
|
|
},
|
|
getDetail() {
|
|
getDetail() {
|
|
if (this.outProductId != 0) {
|
|
if (this.outProductId != 0) {
|
|
- editDetail({
|
|
|
|
|
|
+ authDetail({
|
|
outProductId: this.outProductId
|
|
outProductId: this.outProductId
|
|
}).then(res => {
|
|
}).then(res => {
|
|
this.form.title = res.data.title
|
|
this.form.title = res.data.title
|
|
@@ -158,10 +172,11 @@
|
|
this.form.market_price = res.data.market_price
|
|
this.form.market_price = res.data.market_price
|
|
this.form.path = res.data.path
|
|
this.form.path = res.data.path
|
|
this.form.third_cat_id = res.data.third_cat_id
|
|
this.form.third_cat_id = res.data.third_cat_id
|
|
- this.commodity_id=res.data.commodity_id
|
|
|
|
- this.goodsList.push({
|
|
|
|
|
|
+ this.commodity_id = res.data.commodity_id
|
|
|
|
+ this.goodsList = [{
|
|
url: res.data.thumb_img
|
|
url: res.data.thumb_img
|
|
- })
|
|
|
|
|
|
+ }]
|
|
|
|
+ this.goodszizhiList = []
|
|
if (res.data.qualificationImgs.length > 0) {
|
|
if (res.data.qualificationImgs.length > 0) {
|
|
res.data.qualificationImgs.forEach(element => {
|
|
res.data.qualificationImgs.forEach(element => {
|
|
this.goodszizhiList.push({
|
|
this.goodszizhiList.push({
|
|
@@ -169,19 +184,53 @@
|
|
})
|
|
})
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
+ //刷新子组件
|
|
|
|
+ this.updatePic = false
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
+ this.updatePic = true
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ initPage() {
|
|
|
|
+ this.loading = false
|
|
|
|
+ this.isdisable = false
|
|
|
|
+ if (this.$route.params.outProductId) { //新增获取详情
|
|
|
|
+ this.outProductId = this.$route.params.outProductId
|
|
|
|
+ this.getDetail()
|
|
|
|
+ if (this.$route.params.isDisable) {
|
|
|
|
+ this.isdisable = true
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (this.$route.params.isNew) { //新增清空
|
|
|
|
+ this.outProductId = 0
|
|
|
|
+ this.form = {
|
|
|
|
+ title: '',
|
|
|
|
+ third_cat_audit: '',
|
|
|
|
+ out_product_id: '',
|
|
|
|
+ has_brand: '',
|
|
|
|
+ stock_num: '',
|
|
|
|
+ sale_price: '',
|
|
|
|
+ market_price: '',
|
|
|
|
+ path: '',
|
|
|
|
+ third_cat_id: '',
|
|
|
|
+ }
|
|
|
|
+ this.goodsList = []
|
|
|
|
+ this.goodszizhiList = []
|
|
|
|
+ //刷新子组件
|
|
|
|
+ this.updatePic = false
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
+ this.updatePic = true
|
|
})
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {},
|
|
created() {},
|
|
|
|
+ activated() {
|
|
|
|
+ this.initPage()
|
|
|
|
+ },
|
|
mounted() {
|
|
mounted() {
|
|
- if (this.$route.params.outProductId) {
|
|
|
|
- this.outProductId = this.$route.params.outProductId
|
|
|
|
- store.commit('SER_ADDOUTPRODUCTID', this.outProductId)
|
|
|
|
- } else {
|
|
|
|
- this.outProductId = store.getters.getAddOutProductId
|
|
|
|
- }
|
|
|
|
- this.getDetail()
|
|
|
|
}
|
|
}
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|