Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
S
shop-new
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
王天霸
shop-new
Commits
215210cd
提交
215210cd
authored
7月 30, 2021
作者:
huaxinzhu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
云仓bug修改01
上级
33c53405
全部展开
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
516 行增加
和
456 行删除
+516
-456
goodsaftersale.vue
src/views/system/goods/add/components/goodsaftersale.vue
+2
-1
goodsinfomation.vue
src/views/system/goods/add/components/goodsinfomation.vue
+1
-1
goodsparameter.vue
src/views/system/goods/add/components/goodsparameter.vue
+134
-75
goodsspecifications.vue
...views/system/goods/add/components/goodsspecifications.vue
+1
-0
index.vue
src/views/system/goods/add/index.vue
+36
-31
goodsgement.vue
src/views/system/goodsimport/goodsgement.vue
+340
-346
index.vue
src/views/system/goodsimport/index.vue
+2
-2
没有找到文件。
src/views/system/goods/add/components/goodsaftersale.vue
浏览文件 @
215210cd
...
...
@@ -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
;
}
...
...
src/views/system/goods/add/components/goodsinfomation.vue
浏览文件 @
215210cd
...
...
@@ -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
.
goodsI
mgFileList
.
imgs
.
splice
(
i
,
1
);
this
.
goodsI
nfoForm
.
imgs
.
splice
(
i
,
1
);
}
}
if
(
this
.
goodsImgFileList
.
length
===
0
)
{
...
...
src/views/system/goods/add/components/goodsparameter.vue
浏览文件 @
215210cd
<
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">-->
<!-- <!–----------–>-->
<!-- <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>-->
<!-- <!–----------–>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" prop="imgs9" label="图片">-->
<!-- <template slot-scope="scope">-->
<!-- <!–----------–>-->
<!-- <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>-->
<!-- <!–----------–>-->
<!-- </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
;
...
...
src/views/system/goods/add/components/goodsspecifications.vue
浏览文件 @
215210cd
...
...
@@ -56,6 +56,7 @@
:before-close=
"cancelSpec"
width=
"500px"
center
append-to-body
>
<div>
<p
class=
"add-spec-dialog-con"
>
...
...
src/views/system/goods/add/index.vue
浏览文件 @
215210cd
...
...
@@ -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
;
}
}
...
...
src/views/system/goodsimport/goodsgement.vue
浏览文件 @
215210cd
差异被折叠。
点击展开。
src/views/system/goodsimport/index.vue
浏览文件 @
215210cd
...
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论