Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
S
shop-new
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
王天霸
shop-new
Commits
97222c8e
提交
97222c8e
authored
5月 12, 2022
作者:
huaxinzhu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
3.1添加商品
上级
b49200a2
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
1108 行增加
和
448 行删除
+1108
-448
goods.js
src/api/module/goods.js
+9
-0
mockTest.js
src/api/module/mockTest.js
+9
-0
main.js
src/main.js
+4
-1
goodsaftersale.vue
src/views/system/goods/add/components/goodsaftersale.vue
+58
-81
goodsinfomation.vue
src/views/system/goods/add/components/goodsinfomation.vue
+368
-76
goodsparameter.vue
src/views/system/goods/add/components/goodsparameter.vue
+344
-95
goodsspecifications.vue
...views/system/goods/add/components/goodsspecifications.vue
+47
-22
index.vue
src/views/system/goods/add/index.vue
+269
-173
没有找到文件。
src/api/module/goods.js
浏览文件 @
97222c8e
...
...
@@ -147,3 +147,12 @@ export function getByCategoryData(query) {
params
:
query
})
}
// 综合列表-仓库-供应商-计量单位。。。
export
function
synthesisList
(
data
)
{
return
request
({
url
:
'/system/goodsNew/synthesisList'
,
method
:
'post'
,
data
:
data
})
}
src/api/module/mockTest.js
0 → 100644
浏览文件 @
97222c8e
import
request
from
'@/utils/request'
export
function
warehouseList
(
data
)
{
return
request
({
url
:
'/local/warehouse/list'
,
method
:
'post'
,
data
:
data
})
}
src/main.js
浏览文件 @
97222c8e
...
...
@@ -115,5 +115,8 @@ new Vue({
el
:
'#app'
,
router
,
store
,
render
:
h
=>
h
(
App
)
render
:
h
=>
h
(
App
),
beforeCreate
()
{
Vue
.
prototype
.
$bus
=
this
}
})
src/views/system/goods/add/components/goodsaftersale.vue
浏览文件 @
97222c8e
...
...
@@ -44,7 +44,7 @@
<div
slot=
"header"
class=
"clearfix"
>
<span>
售后及服务
</span>
</div>
<el-form-item
label=
"服务标签:"
prop=
"stags"
>
<el-checkbox-group
v-model=
"goodsAfterSaleForm.stags"
>
...
...
@@ -74,62 +74,61 @@
</el-select>
</el-form-item>
</el-card>
<el-card
class=
"box-card"
ref=
"outhervalue"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
其他设置
</span>
</div>
<el-form-item
label=
'商品关键词:'
prop=
"goods_des"
>
<el-input
v-model
.
trim=
"goodsAfterSaleForm.goods_des"
placeholder=
"请输入商品关键词"
style=
"width:420px;"
></el-input
>
<span
class=
"tip-span ml20"
>
关键词之间用
<strong>
英文逗号
</strong>
分开,最多可以添加5个
</span
>
</el-form-item
>
<el-form-item
label=
"商品产地:"
prop=
"producing_area"
>
<el-select
v-model
.
trim=
"goodsAfterSaleForm.producing_area"
placeholder=
"请选择商品产地"
style=
"width: 420px;"
>
<el-option
v-for=
"item in areaOptions"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option
>
</el-select
>
</el-form-item
>
<el-form-item
label=
"商品发货地:"
prop=
"deliver_area"
>
<el-select
v-model
.
trim=
"goodsAfterSaleForm.deliver_area"
placeholder=
"请选择商品发货地"
style=
"width: 420px;"
>
<el-option
v-for=
"item in areaOptions"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option
>
</el-select
>
</el-form-item
>
<el-form-item
label=
'商品单位:'
prop=
"unit"
>
<el-input
v-model
.
trim=
"goodsAfterSaleForm.unit"
placeholder=
"请输入商品单位"
style=
"width:420px;"
></el-input
>
<!--
<span
class=
"tip-span ml20"
>
关键词之间用逗号分开,最多可以添加5个
</span>
-->
</el-form-item
>
<el-form-item
label=
'市场参考价链接:'
prop=
"web_url"
>
<el-input
v-model
.
trim=
"goodsAfterSaleForm.web_url"
placeholder=
"请输入京东或者淘宝的商品链接"
style=
"width:420px;"
></el-input
>
</el-form-item
>
<el-form-item
label=
'商品编码:'
prop=
"out_goods_id"
>
<el-input
v-model
.
trim=
"goodsAfterSaleForm.out_goods_id"
placeholder=
"请输入商品编码(非必须)"
style=
"width:420px;"
></el-input
>
</el-form-item
>
</el-card
>
<!--
<el-card
class=
"box-card"
ref=
"outhervalue"
>
--
>
<!--
<div
slot=
"header"
class=
"clearfix"
>
--
>
<!--
<span>
其他设置
</span>
-->
<!--
</div>
-->
<!--<!–
<el-form-item
label=
'商品关键词:'
prop=
"goods_des"
>
–>
--
>
<!--<!–
<el-input
v-model
.
trim=
"goodsAfterSaleForm.goods_des"
placeholder=
"请输入商品关键词"
style=
"width:420px;"
></el-input>
–>
--
>
<!--<!–
<span
class=
"tip-span ml20"
>
关键词之间用
<strong>
英文逗号
</strong>
分开,最多可以添加5个
</span>
–>
--
>
<!--<!–
</el-form-item>
–>
--
>
<!--
<el-form-item
label=
"商品产地:"
prop=
"producing_area"
>
--
>
<!--
<el-select
v-model
.
trim=
"goodsAfterSaleForm.producing_area"
placeholder=
"请选择商品产地"
style=
"width: 420px;"
>
--
>
<!--
<el-option-->
<!-- v-for="item in areaOptions"-->
<!-- :key="item.id"-->
<!-- :label="item.name"-->
<!-- :value="item.id"-->
<!-- >
</el-option>
--
>
<!--
</el-select>
--
>
<!--
</el-form-item>
--
>
<!--
<el-form-item
label=
"商品发货地:"
prop=
"deliver_area"
>
--
>
<!--
<el-select
v-model
.
trim=
"goodsAfterSaleForm.deliver_area"
placeholder=
"请选择商品发货地"
style=
"width: 420px;"
>
--
>
<!--
<el-option-->
<!-- v-for="item in areaOptions"-->
<!-- :key="item.id"-->
<!-- :label="item.name"-->
<!-- :value="item.id"-->
<!-- >
</el-option>
--
>
<!--
</el-select>
--
>
<!--
</el-form-item>
--
>
<!--
<el-form-item
label=
'商品单位:'
prop=
"unit"
>
--
>
<!--
<el-input
v-model
.
trim=
"goodsAfterSaleForm.unit"
placeholder=
"请输入商品单位"
style=
"width:420px;"
></el-input>
--
>
<!-- <!–
<span
class=
"tip-span ml20"
>
关键词之间用逗号分开,最多可以添加5个
</span>
–>
-->
<!--
</el-form-item>
--
>
<!--<!–
<el-form-item
label=
'市场参考价链接:'
prop=
"web_url"
>
–>
--
>
<!--<!–
<el-input
v-model
.
trim=
"goodsAfterSaleForm.web_url"
placeholder=
"请输入京东或者淘宝的商品链接"
style=
"width:420px;"
></el-input>
–>
--
>
<!--<!–
</el-form-item>
–>
--
>
<!--
<el-form-item
label=
'商品编码:'
prop=
"out_goods_id"
>
--
>
<!--
<el-input
v-model
.
trim=
"goodsAfterSaleForm.out_goods_id"
placeholder=
"请输入商品编码(非必须)"
style=
"width:420px;"
></el-input>
--
>
<!--
</el-form-item>
--
>
<!--
</el-card>
--
>
</el-form>
</div>
</
template
>
<
script
>
import
{
GetFreight
}
from
'@/api/module/goods'
import
{
getAreaList
}
from
'@/api/module/retreat/address'
import
draggable
from
'vuedraggable'
export
default
{
name
:
"goodsaftersale"
,
...
...
@@ -175,28 +174,19 @@
freight_id
:
310
,
delay_compensate
:
24
,
aftersale_time
:
7
,
// 参数
params
:[
{
'title'
:
''
,
'value'
:
''
}
],
//参数
goods_des
:
''
,
//关键词
producing_area
:
''
,
//产地
deliver_area
:
''
,
//发货地
unit
:
''
,
//单位
web_url
:
''
,
//外部市场链接
out_goods_id
:
''
//商品编码
],
},
goodsAfterSaleRules
:
{
stags
:
[{
type
:
'array'
,
required
:
true
,
message
:
'请选择至少一个服务标签'
,
trigger
:
'change'
}],
freight_id
:
[{
required
:
true
,
message
:
'请选择邮费模板'
,
trigger
:
'change'
}],
delay_compensate
:
[{
required
:
true
,
message
:
'请选择发货时效'
,
trigger
:
'change'
}],
aftersale_time
:
[{
required
:
true
,
message
:
'请选择售后时长'
,
trigger
:
'change'
}],
producing_area
:[{
required
:
true
,
message
:
'请选择商品产地'
,
trigger
:
'change'
}],
deliver_area
:
[{
required
:
true
,
message
:
'请选择商品发货地'
,
trigger
:
'change'
}],
unit
:
[{
required
:
true
,
message
:
'商品单位不能为空'
,
trigger
:
'blur'
}],
goods_brand
:
[{
required
:
true
,
message
:
'请选择商品品牌'
,
trigger
:
'change'
}]
},
tagOptions
:
[
{
id
:
2
,
tag
:
"假一赔十"
},
...
...
@@ -211,30 +201,17 @@
components
:
{
draggable
},
mounted
()
{
this
.
getFreightData
();
debugger
console
.
log
(
'售后数据:'
,
this
.
goodsaftersale
);
//
debugger
//
console.log('售后数据:',this.goodsaftersale);
if
(
this
.
goodsaftersale
)
{
this
.
goodsAfterSaleForm
=
this
.
goodsaftersale
;
}
},
created
()
{
// 获取 省
this
.
getArea
();
//
this.getArea();
},
methods
:
{
// 获取 省
getArea
()
{
let
limboNode
=
{
pid
:
0
};
getAreaList
(
limboNode
).
then
(
res
=>
{
if
(
res
.
data
&&
res
.
data
.
length
>
0
)
{
this
.
areaOptions
=
res
.
data
;
}
else
{
this
.
areaOptions
=
[];
}
});
},
// 添加参数
addparameter
(){
let
obj
=
{
...
...
@@ -283,11 +260,11 @@
flag
=
true
}
else
{
flag
=
false
if
(
this
.
goodsAfterSaleForm
.
producing_area
==
''
||
this
.
goodsAfterSaleForm
.
deliver_area
==
''
||
this
.
goodsAfterSaleForm
.
unit
==
''
){
sessionStorage
.
setItem
(
'clickbtm'
,
1
)
}
else
{
sessionStorage
.
setItem
(
'clickbtm'
,
2
)
}
//
if(this.goodsAfterSaleForm.producing_area==''||this.goodsAfterSaleForm.deliver_area==''||this.goodsAfterSaleForm.unit==''){
//
sessionStorage.setItem('clickbtm',1)
//
}else{
//
sessionStorage.setItem('clickbtm',2)
//
}
}
})
return
flag
...
...
src/views/system/goods/add/components/goodsinfomation.vue
浏览文件 @
97222c8e
差异被折叠。
点击展开。
src/views/system/goods/add/components/goodsparameter.vue
浏览文件 @
97222c8e
差异被折叠。
点击展开。
src/views/system/goods/add/components/goodsspecifications.vue
浏览文件 @
97222c8e
...
...
@@ -46,8 +46,10 @@
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
@
click=
"deleteSpe(index)"
>
删除该规格
</el-button>
</div>
</div>
<el-button
@
click=
"addSpe"
class=
"el-icon-plus"
size=
"mini"
>
添加规格
</el-button>
<div>
<el-checkbox
v-model=
"isCustomPriceSpec"
class=
"custom-price-check"
@
change=
"switchCustomPriceSpec"
>
启用阶梯定价
</el-checkbox>
<el-button
@
click=
"addSpe"
class=
"el-icon-plus"
size=
"mini"
>
添加规格
</el-button>
</div>
<!-- 添加 规格名称 -->
<el-dialog
...
...
@@ -88,6 +90,7 @@ export default {
},
data
()
{
return
{
isCustomPriceSpec
:
false
,
// 是否启用 阶梯定价
tableData7
:{},
speData
:
[],
// 商品规格总数据
specsGroup
:
{
...
...
@@ -113,7 +116,7 @@ export default {
/** 先获取 本地存储的localStorage **/
this
.
getLocalSpecNameOption
();
// 先判断是新增还是修改
//
console.log(123
,this.specificationsdata)
//
console.log(44444
,this.specificationsdata)
if
(
this
.
specificationsdata
.
length
===
0
)
{
this
.
$set
(
this
.
specsGroup
.
spec_value
,
this
.
specsGroup
.
spec_value
.
length
,
this
.
speParamName
);
this
.
speData
=
[];
...
...
@@ -132,6 +135,12 @@ export default {
// }
},
methods
:
{
switchCustomPriceSpec
()
{
this
.
$bus
.
$emit
(
"customPriceSpec"
,
this
.
isCustomPriceSpec
)
if
(
!
this
.
isCustomPriceSpec
)
{
console
.
log
(
151
,
this
.
specificationsdata
)
}
},
/** 初始化 商品规格数据 */
initInfo
()
{
// debugger
...
...
@@ -346,7 +355,7 @@ export default {
if
(
proSpeData
.
length
===
0
)
{
let
goodsPam
=
{
specs
:[],
isradioguide
:
1
isradioguide
:
2
};
this
.
$emit
(
'calcSpeTable'
,
goodsPam
);
}
else
{
...
...
@@ -358,43 +367,55 @@ export default {
}
// goodsParametersList newList
let
goodsParametersList
=
this
.
cartesian
(
proSpeData
);
debugger
//
debugger
for
(
let
index
=
0
;
index
<
goodsParametersList
.
length
;
index
++
)
{
var
listobj
=
{};
listobj
[
"js_price"
]
=
""
;
listobj
[
"sl_price"
]
=
""
;
listobj
[
"price"
]
=
""
;
listobj
[
"sc_price"
]
=
""
;
listobj
[
"stock"
]
=
""
;
listobj
[
"weight"
]
=
""
;
listobj
[
"thumb"
]
=
""
;
listobj
[
"spec_values"
]
=
goodsParametersList
[
index
]
listobj
[
"sc_price"
]
=
""
;
listobj
[
"price"
]
=
""
;
listobj
[
"js_price"
]
=
""
;
listobj
[
"prime_cost"
]
=
""
;
listobj
[
"stock"
]
=
""
;
listobj
[
"stock_warning"
]
=
""
;
listobj
[
"weight"
]
=
""
;
listobj
[
"volume"
]
=
""
;
listobj
[
"goods_code"
]
=
""
;
listobj
[
"bar_code"
]
=
""
;
listobj
[
"thumb"
]
=
""
;
listobj
[
"spec_values"
]
=
goodsParametersList
[
index
]
for
(
let
i
=
0
;
i
<
this
.
speData
.
length
;
i
++
)
{
debugger
if
(
this
.
speData
.
length
>
1
){
listobj
[
this
.
speData
[
i
].
spec_name
]
=
goodsParametersList
[
index
][
i
];
}
if
(
this
.
speData
.
length
==
1
){
debugger
listobj
[
this
.
speData
[
0
].
spec_name
]
=
goodsParametersList
[
index
];
}
}
specs_group
.
push
(
listobj
);
}
// goodsParametersList.forEach((item,index)=> {
// goodsPam.pamTableList.push(prePamTable)
// });
this
.
tableData7
[
'specs_group'
]
=
specs_group
this
.
tableData7
[
'specs'
]
=
this
.
speData
this
.
tableData7
[
'shopTypes'
]
=
this
.
cartesian
(
proSpeData
)
this
.
tableData7
[
'isradioguide'
]
=
2
if
(
this
.
isCustomPriceSpec
)
{
this
.
tableData7
.
specs_group
.
forEach
((
item
,
index
)
=>
{
item
[
'ladder'
]
=
[]
let
obj
=
{
quantity
:
1
,
money
:
0
}
item
[
'ladder'
].
push
(
obj
)
})
}
this
.
$emit
(
'calcSpeTable'
,
this
.
tableData7
);
console
.
log
(
this
.
tableData7
)
// this.switchCustomPriceSpec()
// if (this.tableData7.is_ladder_spec !== undefined) {
// this.tableData7.is_ladder_spec = this.isCustomPriceSpec
// }
console
.
log
(
399
,
this
.
tableData7
)
}
},
...
...
@@ -475,7 +496,7 @@ export default {
res
.
push
(
t
);
});
});
return
res
});
}
...
...
@@ -551,4 +572,8 @@ export default {
justify-content
:
center
;
align-items
:
center
;
}
.custom-price-check
{
margin
:
0
20px
0
0
;
}
</
style
>
src/views/system/goods/add/index.vue
浏览文件 @
97222c8e
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论