提交 2701c41e authored 作者: 王天霸's avatar 王天霸

Merge branch 'dev_hxz' of http://120.27.146.32:8888/wangfulong/shop-new into dev_hxz

# Conflicts:
#	src/views/system/goodsimport/goodsgement.vue
......@@ -79,7 +79,8 @@
},
mounted() {
this.getFreightData();
//console.log('售后数据:',this.goodsaftersale);
//debugger
console.log('售后数据:',this.goodsaftersale);
if(this.goodsaftersale && this.goodsaftersale.stags.length > 0) {
this.goodsAfterSaleForm = this.goodsaftersale;
}
......
......@@ -447,7 +447,7 @@
for (let i = 0; i < this.goodsImgFileList.length; i++) {
if (file.uid === this.goodsImgFileList[i].uid) {
this.goodsImgFileList.splice(i, 1)
this.goodsImgFileList.imgs.splice(i, 1);
this.goodsInfoForm.imgs.splice(i, 1);
}
}
if(this.goodsImgFileList.length === 0) {
......
<template>
<div class="goods-parameter">
<p class="tip-p">
<el-link class="edit-type-span el-icon-search" type="primary" :underline="false">查看各类价格说明</el-link>
<el-link class="edit-type-span el-icon-search" type="primary" :underline="false" @click="viewPriceExp">查看各类价格说明
</el-link>
<span class="tip-span">所有商品价格均为含税价,必须开具发票</span>
</p>
......@@ -19,8 +20,9 @@
</el-table-column>
<el-table-column align="center" prop="sl_price" label="结算价">
<template slot-scope="scope">
<!-- <el-input size="mini" style="width:90%" v-model="scope.row.sl_price" :disabled="true" placeholder="根据结算价自动计算"></el-input>-->
<span class="sl-price-span-input">{{ scope.row.sl_price = scope.row.js_price ? scope.row.js_price : '' }}</span>
<!-- <el-input size="mini" style="width:90%" v-model="scope.row.sl_price" :disabled="true" placeholder="根据结算价自动计算"></el-input>-->
<span
class="sl-price-span-input">{{ scope.row.sl_price = scope.row.js_price ? scope.row.js_price : '' }}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="price" label="指导价">
......@@ -45,26 +47,27 @@
</template>
</el-table-column>
<!-- <el-table-column align="center" prop="imgs9" label="图片">-->
<!-- <template slot-scope="scope">-->
<!-- &lt;!&ndash;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&ndash;&gt;-->
<!-- <el-upload-->
<!-- action="/"-->
<!-- class="uploadData50"-->
<!-- list-type="picture-card"-->
<!-- :limit="5"-->
<!-- :on-exceed="limit5"-->
<!-- :file-list="singleSpecImgList"-->
<!-- :http-request="(file)=> { return upLoadSingleSpecImg(file,scope.row) }"-->
<!-- :on-remove=" (file) => { return removeSingleSpeImg(file,scope.row)}"-->
<!-- ></el-upload>-->
<!-- &lt;!&ndash;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&ndash;&gt;-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" prop="imgs9" label="图片">-->
<!-- <template slot-scope="scope">-->
<!-- &lt;!&ndash;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&ndash;&gt;-->
<!-- <el-upload-->
<!-- action="/"-->
<!-- class="uploadData50"-->
<!-- list-type="picture-card"-->
<!-- :limit="5"-->
<!-- :on-exceed="limit5"-->
<!-- :file-list="singleSpecImgList"-->
<!-- :http-request="(file)=> { return upLoadSingleSpecImg(file,scope.row) }"-->
<!-- :on-remove=" (file) => { return removeSingleSpeImg(file,scope.row)}"-->
<!-- ></el-upload>-->
<!-- &lt;!&ndash;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&ndash;&gt;-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</div>
<div v-show="orgGoodsPam.pamTableList.length > 0" v-for="(item,index) in orgGoodsPam.pamTableList" :key="index" class="single-spe-con">
<div v-show="orgGoodsPam.pamTableList.length > 0" v-for="(item,index) in orgGoodsPam.pamTableList" :key="index"
class="single-spe-con">
<p style="margin: 10px 0;color: #333;font-size: 14px;font-weight: 400;">
<span v-show="orgGoodsPam.pamNameList.length === 1">
{{ orgGoodsPam.pamNameList[0].spec_name }} <span></span>{{ orgGoodsPam.pamDataList[index]}}
......@@ -88,8 +91,9 @@
</el-table-column>
<el-table-column align="center" prop="sl_price" label="结算价">
<template slot-scope="scope">
<!-- <el-input size="mini" style="width:90%" v-model="scope.row.hh2" :disabled="true" placeholder="根据结算价自动计算"></el-input>-->
<span class="sl-price-span-input">{{ scope.row.sl_price = scope.row.js_price ? scope.row.js_price : '' }}</span>
<!-- <el-input size="mini" style="width:90%" v-model="scope.row.hh2" :disabled="true" placeholder="根据结算价自动计算"></el-input>-->
<span
class="sl-price-span-input">{{ scope.row.sl_price = scope.row.js_price ? scope.row.js_price : '' }}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="price" label="指导价">
......@@ -126,15 +130,54 @@
alt=""
@click="changeSpeImg(index,scope.row)"
/>
<span class="span-img-del el-icon-delete del-span-block" @click="hxz"></span>
<span class="span-img-del el-icon-delete del-span-block" @click="delSingleSpecImg(index,scope.row)"></span>
</span>
<input type="file" style="display: none;" :ref=" 'hxz' + index " accept="image/*" @change="changeIMG(index,scope.row)">
<input type="file" style="display: none;" :ref=" 'hxz' + index " accept="image/*"
@change="changeIMG(index,scope.row)">
</template>
</el-table-column>
</el-table>
</div>
<!-- 查看各类价格说明 -->
<el-dialog
v-loading="loading"
title="各类价格说明"
:visible.sync="isViewPriceExp"
width="40%"
center
append-to-body
>
<el-form ref="workOrderForm" size="small" label-width="150px">
<el-form-item label="协议价:">
<span>指您供货给下游的价格</span>
</el-form-item>
<el-form-item label="结算价:">
<span>与云仓平台结算的价格,根据协议价自动计算</span>
</el-form-item>
<el-form-item label="指导售价:">
<span>指导下游商户制定销售的价格</span>
</el-form-item>
<el-form-item label="市场价:">
<span>市场售价,参考京东、天猫等平台的售价</span>
</el-form-item>
<el-form-item>
<span class="pre-price-tip">商品价格均为含税价,必须开具发票。请准确填写并更新商品实际库存,超卖导致的虚假及延迟发货会引起用户投诉与平台判罚。</span>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="isViewPriceExp = false" size="mini">取 消</el-button>
</span>
</el-dialog>
</div>
</template>
......@@ -165,25 +208,32 @@ export default {
}
],
singleSpecImgList: [],
isViewPriceExp: false
} // return end
},
watch:{
'parameterdata': function(val) {
//debugger
this.orgGoodsPam = val;
console.log("监听",this.orgGoodsPam);
//console.log("监听",this.orgGoodsPam);
},
},
created() {
//this.orgGoodsPam = this.parameterdata;
},
mounted() {
console.log("加载后,",this.parameterdata);
if(this.parameterdata.singleSpecTable && this.parameterdata.singleSpecTable.length > 0) {
this.singleSpecTable = this.parameterdata.singleSpecTable;
//console.log("加载后,",this.parameterdata);
if(this.parameterdata.pamTableList && this.parameterdata.pamTableList.length > 0) {
this.orgGoodsPam = this.parameterdata;
}else {
this.singleSpecTable = this.parameterdata.singleSpecTable
}
},
methods: {
// 查看各类价格说明
viewPriceExp() {
this.isViewPriceExp = true;
},
// ------ 无规格,上传图片相关 ------
limit5() {
this.$message({type: 'warning',message: '只能上传5张图片'});
......@@ -270,8 +320,12 @@ export default {
//console.log(3333,file);
},
hxz() {
// 删除 单个规格的图片
delSingleSpecImg(index,row) {
if( row.thumb ) {
row.thumb = '';
this.$message({type: 'success',message: '删除成功'});
}
},
speImgHover(index,row) {
this.isHoverSpeImg = true;
......@@ -406,6 +460,11 @@ p {
font-size: 12px;
}
.pre-price-tip {
color: #F56C6C;
font-size: 12px;
}
// 上传图片样式
.uploadData50 {
display: inline-block;
......
......@@ -56,6 +56,7 @@
:before-close="cancelSpec"
width="500px"
center
append-to-body
>
<div>
<p class="add-spec-dialog-con">
......
......@@ -173,8 +173,8 @@
goods_des: res.data.goods_des, // 关键词
goods_name: res.data.goods_name, // 商品标题
category_id: res.data.category_id,
producing_area: res.data.producing_area, // 产地
deliver_area: res.data.deliver_area, // 发货地
producing_area: Number(res.data.producing_area), // 产地
deliver_area: Number(res.data.deliver_area), // 发货地
unit: res.data.unit, // 单位
goods_brand: res.data.goods_brand, // 品牌
web_url: res.data.web_url, // 外部链接
......@@ -194,18 +194,29 @@
}
// 商品售价
// debugger
if(res.data.specs_group && res.data.specs_group.length > 0) {
//this.parameterdata
let prePriceArr = [];
this.parameterdata.pamTableList = [];
res.data.specs_group.forEach((item,index)=> {
this.parameterdata.pamDataList = [];
res.data.specs_group.forEach((item)=> {
//
item.js_price = item.js_price / 100;
item.sl_price = item.js_price / 100;
item.price = item.price / 100;
item.sc_price = item.sc_price / 100;
// item.stock = item.stock;
// item.weight = item.weight;
prePriceArr = [];
prePriceArr.push(item);
this.parameterdata.pamTableList[index] = prePriceArr.push(item);
this.parameterdata.pamTableList.push( prePriceArr );
this.parameterdata.pamDataList.push(item.spec_values);
})
this.parameterdata.pamNameList = res.data.specs;
}else {
this.parameterdata.pamTableList = [];
let singleSpecObj = {
js_price:'',
sl_price:'',
......@@ -215,17 +226,15 @@
weight:'',
}
this.parameterdata.singleSpecTable = [];
singleSpecObj.js_price = res.data.js_price * 100;
singleSpecObj.sl_price = res.data.js_price * 100;
singleSpecObj.price = res.data.price * 100;
singleSpecObj.sc_price = res.data.sc_price * 100;
singleSpecObj.js_price = res.data.js_price / 100;
singleSpecObj.sl_price = res.data.js_price / 100;
singleSpecObj.price = res.data.price / 100;
singleSpecObj.sc_price = res.data.sc_price / 100;
singleSpecObj.stock = res.data.stock;
singleSpecObj.weight = res.data.weight;
this.parameterdata.singleSpecTable.push(singleSpecObj);
}
// 商品详情
this.imgdata.description = res.data.description;
//this.goodsinfodata = res.data;
......@@ -233,10 +242,6 @@
//this.goodsaftersale = res.data;
// 售后服务
// stags: [],
// freight_id: 310,
// delay_compensate: 24,
// aftersale_time: 7
this.goodsaftersale.freight_id = res.data.freight_id;
this.goodsaftersale.delay_compensate = res.data.delay_compensate;
this.goodsaftersale.aftersale_time = res.data.aftersale_time;
......@@ -251,9 +256,8 @@
}
})
}else {
stagArr.push( Number(res.data.stags) )
this.goodsaftersale.stags.push( Number(res.data.stags) )
}
}else {
this.goodsaftersale.stags = [];
}
......@@ -383,14 +387,8 @@
this.goodsinfodata.categoryStr = ssqLabelList[0] + '/' + ssqLabelList[1] + '/' + ssqLabelList[2];
this.isShowGoodsDetails = true;
// console.log(232,this.goodsinfodata.categoryStr,this.goodsinfodata.categoryList);
},
//
// getGoodsAfterSaleData(data) {
// console.log("售后子组件给的:",data);
// },
//
save() {
// let spxxDataId = this.$refs.goodsInfo.goodsInfoForm.goods_id;
......@@ -399,6 +397,7 @@
//
// }
debugger
// 此处变量 有顺序 校验时,电梯至某处
// 商品信息 是否填写完整
......@@ -414,19 +413,23 @@
//debugger
// 如果有,则说明有规格组合数据
if ( spsjData2.pamTableList && spsjData2.pamTableList.length > 0 ) {
//console.log(25522,spsjData2);
for(let i = 0; i < spsjData2.pamTableList.length; i++) {
//console.log("外",spsjData2.pamTableList[i]);
let itemObj = spsjData2.pamTableList[i][0];
for (let itemKey in itemObj) {
// 长度判断,可以校验规格是否上传了图片
// if ( !itemObj[itemKey] || itemObj[itemKey].length === 0) {
if ( !itemObj[itemKey] && itemKey !== 'thumb') {
//----------------
// 有多余字段,可能为空,需要对有效字段单独判断
if ( !itemObj['js_price'] || !itemObj['sl_price'] || !itemObj['price'] || !itemObj['sc_price'] || !itemObj['stock'] || !itemObj['weight']) {
isGoodsPrice = false;
break
} else {
// 所有校验通过,对价格进行处理,*100
if ( itemKey === 'js_price' || itemKey === 'sl_price' || itemKey === 'price' || itemKey === 'sc_price') {
itemObj[itemKey] = itemObj[itemKey] * 100;
}
isGoodsPrice = true;
}
// ---------------
}
if (!isGoodsPrice) {
break
......@@ -436,12 +439,14 @@
// 无规格组合数据
let slingleSpeObj = spsjData1[0];
for (let key in slingleSpeObj) {
// 长度判断,可以校验规格是否上传了图片
// if ( !slingleSpeObj[key] || (slingleSpeObj[key].length === 0) ) {
if ( !slingleSpeObj[key] && ( key !== 'imgs') ) {
if ( !slingleSpeObj[key] ) {
isGoodsPrice = false;
break
} else {
// 所有校验通过,对价格进行处理,*100
if ( key === 'js_price' || key === 'sl_price' || key === 'price' || key === 'sc_price') {
slingleSpeObj[key] = slingleSpeObj[key] * 100;
}
isGoodsPrice = true;
}
}
......
......@@ -98,9 +98,9 @@ export default {
let urlarr
if (this.form.desc) {
urlarr = this.form.desc.split(',')
//debugger
debugger
if (urlarr.length > 0 && urlarr.length <= 10) {
if( Number(urlarr) > Number(this.collect_num)) {
if( Number(urlarr.length) > Number(this.collect_num)) {
this.$message({type: 'warning',message:'您好,准备导入的商品条数过多,当前剩余次数不足,请重新输入'});
return;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论