Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
ElectricitySheep
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄媛媛
ElectricitySheep
Commits
b2aba15c
Commit
b2aba15c
authored
May 07, 2020
by
黄媛媛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
cf189581
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1612 additions
and
24 deletions
+1612
-24
common.css
src/assets/css/common.css
+18
-0
edit1.png
src/assets/img/userman/edit1.png
+0
-0
RecSettings.vue
src/components/CommodityMan/RecSettings.vue
+274
-0
SpecificationTemplate.vue
src/components/CommodityMan/SpecificationTemplate.vue
+260
-0
addGoodsClass.vue
src/components/CommodityMan/addGoodsClass.vue
+49
-22
goodsClassification.vue
src/components/CommodityMan/goodsClassification.vue
+0
-1
goodsList.vue
src/components/CommodityMan/goodsList.vue
+317
-0
goodsServices.vue
src/components/CommodityMan/goodsServices.vue
+238
-0
goodsServicesEdit.vue
src/components/CommodityMan/goodsServicesEdit.vue
+112
-0
quickBuy.vue
src/components/CommodityMan/quickBuy.vue
+306
-0
usersListEdit.vue
src/components/UserMan/usersListEdit.vue
+0
-1
index.js
src/router/index.js
+38
-0
No files found.
src/assets/css/common.css
View file @
b2aba15c
...
@@ -97,3 +97,21 @@
...
@@ -97,3 +97,21 @@
.tableCenter
td
,
.tableCenter
th
{
.tableCenter
td
,
.tableCenter
th
{
text-align
:
center
;
text-align
:
center
;
}
}
.searchInput
{
border
:
1px
solid
#DCDFE6
;
border-radius
:
4px
;
}
.searchInput
.el-input__inner
{
border
:
none
;
outline
:
none
;
height
:
30px
;
line-height
:
30px
;
}
.searchInput
{
line-height
:
normal
;
display
:
inline-table
;
width
:
100%
;
border-collapse
:
separate
;
border-spacing
:
0
;
width
:
250px
;
margin-right
:
20px
;
}
\ No newline at end of file
src/assets/img/userman/edit1.png
0 → 100644
View file @
b2aba15c
1.13 KB
src/components/CommodityMan/RecSettings.vue
0 → 100644
View file @
b2aba15c
<
template
>
<div
v-loading=
"pageloading"
class=
"RecSettings"
>
<div
class=
"head-title"
>
推荐设置
</div>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"150px"
>
<el-card
style=
"margin-top:10px"
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
商品详情页推荐设置
</span>
</div>
<el-form-item
label=
"推荐商品状态"
>
<el-switch
v-model=
"addMsg.DetailRecommendStatus"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
>
</el-switch>
</el-form-item>
<el-form-item
label=
"推荐商品显示数量"
>
<el-input
v-model=
"addMsg.DetailRecommendNum"
style=
"width:635px"
size=
"small"
>
<el-button
slot=
"append"
>
个
</el-button>
</el-input>
</el-form-item>
</el-card>
<el-card
shadow=
"never"
style=
"margin-top:10px"
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
订单完成后推荐设置
</span>
</div>
<el-form-item
label=
"推荐商品状态"
>
<el-switch
v-model=
"addMsg.OrderCompleteStatus"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
>
</el-switch>
</el-form-item>
<el-form-item
label=
"自定义推荐商品"
>
<el-switch
v-model=
"addMsg.IsOrderRecommend"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
>
</el-switch>
<span>
按商品列表排序显示前10件商品
</span>
<template
v-if=
"addMsg.IsOrderRecommend==1"
>
<div>
<div
v-for=
"(item,index) in addMsg.OrderProductList"
:key=
"index"
class=
"goods-item"
>
<div
:style=
"
{backgroundImage:'url(' +domainManager().ImageUrl+ item.Image + ')'}" class="goods-pic">
</div>
<el-button
@
click=
"spliceImg(1,index)"
class=
"deleteBtn"
size=
"mini"
type=
"danger"
icon=
"el-icon-close"
circle
></el-button>
</div>
</div>
<div
@
click=
"toggleCheck(1)"
class=
"goods-add"
>
<el-button
icon=
"el-icon-plus"
></el-button>
</div>
</
template
>
</el-form-item>
</el-card>
<el-card
shadow=
"never"
style=
"margin-top:10px"
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
评论后推荐设置
</span>
</div>
<el-form-item
label=
"推荐商品状态"
>
<el-switch
v-model=
"addMsg.CommentRecommentStatus"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
>
</el-switch>
</el-form-item>
<el-form-item
label=
"自定义推荐商品"
>
<el-switch
v-model=
"addMsg.IsCommentRecommend"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
>
</el-switch>
<span>
按商品列表排序显示前10件商品
</span>
<
template
v-if=
"addMsg.IsCommentRecommend==1"
>
<div>
<div
v-for=
"(item,index) in addMsg.CommentProductList"
:key=
"index"
class=
"goods-item"
>
<div
:style=
"
{backgroundImage:'url(' +domainManager().ImageUrl+ item.Image + ')'}" class="goods-pic">
</div>
<el-button
@
click=
"spliceImg(2,index)"
class=
"deleteBtn"
size=
"mini"
type=
"danger"
icon=
"el-icon-close"
circle
></el-button>
</div>
</div>
<div
@
click=
"toggleCheck(2)"
class=
"goods-add"
>
<el-button
icon=
"el-icon-plus"
></el-button>
</div>
</
template
>
</el-form-item>
</el-card>
</el-form>
<div
style=
"padding:20px;background:#fff;margin-top:10px"
>
<el-button
@
click=
"Save"
size=
"small"
type=
"primary"
>
保存
</el-button>
</div>
<!-- 新增规格模板 -->
<el-dialog
title=
"充值"
:visible
.
sync=
"ggmbDig"
width=
"960px"
>
<div
class=
"searchInput"
style=
"width:250px"
>
<el-input
style=
"display:inline-block;width:225px;height:30px"
placeholder=
"请输入商品名称搜索"
v-model=
"msg.Name"
size=
"small"
@
clear=
"getList"
clearable
>
</el-input>
<span
@
click=
"getList"
class=
"el-icon-search"
style=
"color:#979dad;font-size:14px;position:relative;top:1px"
></span>
</div>
<el-table
ref=
"tableData"
:data=
"tableData"
v-loading=
"loading"
@
selection-change=
"selectionChange"
style=
"width: 100%;margin:20px 0"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
prop=
"Id"
width=
"100"
label=
"ID"
>
</el-table-column>
<el-table-column
prop=
"Name"
label=
"名称"
>
</el-table-column>
</el-table>
<el-pagination
style=
"text-align:right"
background
@
current-change=
"handleCurrentChange"
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"ggmbDig = false"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
export
default
{
name
:
"RecSettings"
,
data
(){
return
{
pageloading
:
false
,
addMsg
:{},
rules
:{},
ggmbDig
:
false
,
msg
:{
pageIndex
:
1
,
pageSize
:
15
,
Name
:
''
,
},
total
:
0
,
loading
:
false
,
tableData
:[],
commonList
:[],
listType
:
1
,
}
},
created
(){
this
.
getData
();
this
.
getList
();
},
methods
:{
Save
(){
this
.
apipost
(
"/api/product/SetProductRecommendSetInfo"
,
this
.
addMsg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
getData
();
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
})
},
spliceImg
(
num
,
index
){
if
(
num
==
1
){
this
.
addMsg
.
OrderProductList
.
splice
(
index
,
1
)
}
else
{
this
.
addMsg
.
CommentProductList
.
splice
(
index
,
1
)
}
},
toggleCheck
(
num
){
this
.
listType
=
num
;
this
.
ggmbDig
=
true
;
this
.
$nextTick
(()
=>
{
this
.
$refs
.
tableData
.
clearSelection
();
})
},
submitForm
(){
this
.
commonList
.
forEach
(
item
=>
{
item
.
Image
=
item
.
CoverImage
;
})
if
(
this
.
listType
==
1
){
this
.
addMsg
.
OrderProductList
=
this
.
commonList
}
else
{
this
.
addMsg
.
CommentProductList
=
this
.
commonList
}
this
.
ggmbDig
=
false
;
},
selectionChange
(
val
){
this
.
commonList
=
val
;
},
getList
(){
this
.
loading
=
true
;
this
.
apipost
(
"/api/product/GetProductGoodsDialogList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
total
=
res
.
data
.
data
.
count
;
let
pageData
=
res
.
data
.
data
.
pageData
;
this
.
tableData
=
pageData
;
}
})
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getData
(){
this
.
pageloading
=
true
;
this
.
apipost
(
"/api/product/GetProductRecommendSetInfo"
,{},
res
=>
{
this
.
pageloading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
addMsg
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
})
},
},
};
</
script
>
<
style
>
.RecSettings
.goods-add
.el-button
{
width
:
100%
;
height
:
100%
;
border
:
none
;
border-radius
:
0
;
padding
:
0
;
}
.RecSettings
.el-button--mini.is-circle
{
padding
:
4px
!important
;
}
.RecSettings
.deleteBtn
{
position
:
absolute
;
top
:
-6px
;
right
:
-6px
;
}
.RecSettings
.goods-item
,
.RecSettings
.goods-add
{
width
:
50px
;
height
:
50px
;
position
:
relative
;
border
:
1px
solid
#e2e2e2
;
margin-right
:
15px
;
margin-bottom
:
15px
;
display
:
inline-block
;
}
.RecSettings
.goods-pic
{
background-size
:
cover
;
background-position
:
center
;
width
:
100%
;
height
:
100%
;
background-color
:
#f6f6f6
;
background-repeat
:
no-repeat
;
}
</
style
>
src/components/CommodityMan/SpecificationTemplate.vue
0 → 100644
View file @
b2aba15c
<
template
>
<div
class=
"SpeTemplate"
>
<div
class=
"head-title"
>
规格模板
<el-button
@
click=
"openDig"
style=
"float:right;margin-top: -5px;margin-left:20px;"
size=
"small"
type=
"primary"
>
新增模板管理
</el-button>
</div>
<div
class=
"content"
>
<div>
<div
class=
"searchInput"
style=
"width:250px"
>
<el-input
style=
"display:inline-block;width:225px;height:30px"
placeholder=
"请输入规格名搜索"
v-model=
"msg.Name"
@
clear=
"getList"
size=
"small"
clearable
>
</el-input>
<span
@
click=
"getList"
class=
"el-icon-search"
style=
"color:#979dad;font-size:14px;position:relative;top:1px"
></span>
</div>
</div>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width: 100%;margin:20px 0"
>
<el-table-column
prop=
"Name"
width=
"300"
label=
"规格名"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"规格值"
>
<template
slot-scope=
"scope"
>
<el-tag
size=
"small"
v-for=
"(item,index) in scope.row.SpecList"
:key=
"index"
style=
"margin:0 5px"
type=
"info"
>
{{
item
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
width=
"200"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<img
@
click=
"Edit(scope.row)"
style=
"width:32px;height:32px"
src=
"../../assets/img/userman/edit.png"
alt=
""
>
<img
@
click=
"Delete(scope.row)"
style=
"width:32px;height:32px;margin:0 10px"
src=
"../../assets/img/userman/del.png"
alt=
""
>
</
template
>
</el-table-column>
</el-table>
<el-pagination
style=
"text-align:right"
background
@
current-change=
"handleCurrentChange"
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
<!-- 新增规格模板 -->
<el-dialog
custom-class=
"attr-template"
title=
"充值"
:visible
.
sync=
"ggmbDig"
width=
"960px"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"100px"
>
<el-form-item
label=
"规格名"
prop=
"Name"
>
<el-input
size=
"small"
v-model=
"addMsg.Name"
style=
"width:330px"
></el-input>
</el-form-item>
<el-form-item
label=
"规格值"
prop=
"SpecList"
>
<div
flex=
"dir:left"
style=
"flex-wrap: wrap;"
>
<div
v-for=
"(item,index) in SpecList"
:key=
"index"
class=
"attr-list"
>
<el-input
size=
"small"
v-model=
"item.num"
style=
"width:152px"
></el-input>
<i
@
click=
"deleteGgz(item,index)"
class=
"el-icon-error close"
></i>
</div>
<span
@
click=
"addGgz"
class=
"point blue"
>
添加规格值
</span>
</div>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"ggmbDig = false"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"submitForm('addMsg')"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
export
default
{
name
:
"SpeTemplate"
,
data
(){
return
{
ggmbDig
:
false
,
msg
:{
pageIndex
:
1
,
pageSize
:
15
,
Name
:
''
,
Id
:
0
,
Content
:
''
,
},
total
:
0
,
tableData
:[
{
Name
:
'11'
}
],
loading
:
false
,
addMsg
:{
Id
:
0
,
Name
:
''
,
SpecList
:[],
},
rules
:{
SpecList
:
[],
Name
:
[
{
required
:
true
,
message
:
'规格名不能为空'
,
trigger
:
'blur'
}
],
},
SpecList
:[],
}
},
created
(){
this
.
getList
();
},
methods
:{
Delete
(
item
){
let
that
=
this
;
that
.
$confirm
(
'是否删除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'/api/product/DelProductSpecificationInfo'
,{
SpecificationId
:
item
.
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
)
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}).
catch
(()
=>
{
});
},
Edit
(
row
){
this
.
addMsg
=
row
;
this
.
SpecList
=
[];
row
.
SpecList
.
forEach
(
item
=>
{
let
obj
=
{
num
:
item
}
this
.
SpecList
.
push
(
obj
)
})
this
.
ggmbDig
=
true
;
},
deleteGgz
(
item
,
index
){
this
.
SpecList
.
splice
(
index
,
1
);
},
addGgz
(){
let
obj
=
{
num
:
''
}
this
.
SpecList
.
push
(
obj
);
},
openDig
(){
this
.
addMsg
=
{
Id
:
0
,
Name
:
''
,
SpecList
:[],
}
this
.
SpecList
=
[];
this
.
ggmbDig
=
true
;
},
submitForm
(
formName
){
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
for
(
let
i
=
0
;
i
<
this
.
SpecList
.
length
;
i
++
){
if
(
this
.
SpecList
[
i
].
num
==
""
){
this
.
Error
(
"规格值不能为空"
);
return
;
}
}
this
.
addMsg
.
SpecList
=
[];
this
.
SpecList
.
forEach
(
item
=>
{
this
.
addMsg
.
SpecList
.
push
(
item
.
num
);
})
this
.
apipost
(
'/api/product/SetProductSpecificationInfo'
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
)
this
.
ggmbDig
=
false
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}
else
{
return
false
;
}
});
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getList
(){
this
.
loading
=
true
;
this
.
apipost
(
"/api/product/GetProductSpecificationPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
total
=
res
.
data
.
data
.
count
;
let
pageData
=
res
.
data
.
data
.
pageData
;
this
.
tableData
=
pageData
;
}
})
},
},
};
</
script
>
<
style
>
.attr-template
.attr-list
{
display
:
inline-block
;
margin-right
:
10px
;
margin-bottom
:
10px
;
position
:
relative
;
cursor
:
move
;
}
.attr-template
.close
{
position
:
absolute
;
top
:
-4px
;
right
:
-4px
;
font-size
:
16px
;
cursor
:
pointer
;
background
:
#ffffff
;
}
.SpeTemplate
.content
.searchInput
{
border
:
1px
solid
#DCDFE6
;
border-radius
:
4px
;
}
.SpeTemplate
.content
.searchInput
.el-input__inner
{
border
:
none
;
outline
:
none
;
height
:
30px
;
line-height
:
30px
;
}
.SpeTemplate
.content
.searchInput
{
line-height
:
normal
;
display
:
inline-table
;
width
:
100%
;
border-collapse
:
separate
;
border-spacing
:
0
;
width
:
250px
;
margin-right
:
20px
;
}
.SpeTemplate
.content
{
background
:
#fff
;
margin-top
:
10px
;
padding
:
20px
;
box-sizing
:
border-box
;
}
</
style
>
src/components/CommodityMan/addGoodsClass.vue
View file @
b2aba15c
...
@@ -7,21 +7,31 @@
...
@@ -7,21 +7,31 @@
<div
class=
"content"
>
<div
class=
"content"
>
<el-form
style=
"width:50%"
:model=
"userInfo"
:rules=
"rules"
ref=
"userInfo"
label-width=
"120px"
>
<el-form
style=
"width:50%"
:model=
"userInfo"
:rules=
"rules"
ref=
"userInfo"
label-width=
"120px"
>
<el-form-item
label=
"选择分类级别"
prop=
"Tier"
>
<el-form-item
label=
"选择分类级别"
prop=
"Tier"
>
<
el-radio
:disabled=
"editState"
v-model=
"userInfo.Tier"
:label=
"1"
>
一级分类
</el-radio
>
<
template
v-if=
"editState"
>
<div
@
click=
"SelectTier(2)"
style=
"display:inline-block;margin-right:18px"
>
<el-radio
:disabled=
"editState"
v-model=
"userInfo.Tier"
:label=
"1"
>
一级分类
</el-radio
>
<el-radio
:disabled=
"editState"
v-model=
"userInfo.Tier"
:label=
"2"
>
二级分类
</el-radio>
<el-radio
:disabled=
"editState"
v-model=
"userInfo.Tier"
:label=
"2"
>
二级分类
</el-radio>
</div>
<div
@
click=
"SelectTier(3)"
style=
"display:inline-block"
>
<el-radio
:disabled=
"editState"
v-model=
"userInfo.Tier"
:label=
"3"
>
三级分类
</el-radio>
<el-radio
:disabled=
"editState"
v-model=
"userInfo.Tier"
:label=
"3"
>
三级分类
</el-radio>
</div>
</
template
>
<
template
v-else
>
<div
@
click=
"SelectTier(1)"
style=
"display:inline-block;margin-right:18px"
>
<el-radio
:disabled=
"editState"
v-model=
"userInfo.Tier"
:label=
"1"
>
一级分类
</el-radio>
</div>
<div
@
click=
"SelectTier(2)"
style=
"display:inline-block;margin-right:18px"
>
<el-radio
:disabled=
"editState"
v-model=
"userInfo.Tier"
:label=
"2"
>
二级分类
</el-radio>
</div>
<div
@
click=
"SelectTier(3)"
style=
"display:inline-block"
>
<el-radio
:disabled=
"editState"
v-model=
"userInfo.Tier"
:label=
"3"
>
三级分类
</el-radio>
</div>
</
template
>
</el-form-item>
</el-form-item>
<el-form-item
v-if=
"userInfo.Parent1Name && (userInfo.Tier==2 || userInfo.Tier==3)"
label=
"一级分类"
>
<el-form-item
v-if=
"userInfo.Parent1Name && (userInfo.Tier==2 || userInfo.Tier==3)"
label=
"一级分类"
>
<span>
{{userInfo.Parent1Name}}
</span>
<span>
{{userInfo.Parent1Name}}
</span>
<span
@
click=
"SelectTier(2)"
v-if=
"userInfo.Tier==2"
style=
"margin-left:10px"
class=
"blue point"
>
修改
</span>
<span
@
click=
"SelectTier(2)"
v-if=
"userInfo.Tier==2
&& !editState
"
style=
"margin-left:10px"
class=
"blue point"
>
修改
</span>
</el-form-item>
</el-form-item>
<el-form-item
v-if=
"userInfo.Parent2Name && userInfo.Tier==3"
label=
"二级分类"
>
<el-form-item
v-if=
"userInfo.Parent2Name && userInfo.Tier==3"
label=
"二级分类"
>
<span>
{{userInfo.Parent2Name}}
</span>
<span>
{{userInfo.Parent2Name}}
</span>
<span
@
click=
"SelectTier(3)"
style=
"margin-left:10px"
class=
"blue point"
>
修改
</span>
<span
v-if=
"!editState"
@
click=
"SelectTier(3)"
style=
"margin-left:10px"
class=
"blue point"
>
修改
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"分类名称"
prop=
"Name"
>
<el-form-item
label=
"分类名称"
prop=
"Name"
>
<el-input
v-model=
"userInfo.Name"
size=
"small"
></el-input>
<el-input
v-model=
"userInfo.Name"
size=
"small"
></el-input>
...
@@ -106,7 +116,7 @@
...
@@ -106,7 +116,7 @@
<img
v-if=
"imgDig==2"
style=
"width:280px"
src=
"../../assets/img/userman/example-2.png"
alt=
""
>
<img
v-if=
"imgDig==2"
style=
"width:280px"
src=
"../../assets/img/userman/example-2.png"
alt=
""
>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"czjfDig = false"
>
我知道了
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"czjfDig = false"
>
确定
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
<!-- 选择文件 -->
<!-- 选择文件 -->
...
@@ -128,9 +138,9 @@
...
@@ -128,9 +138,9 @@
</div>
</div>
</div>
</div>
<ul
class=
"tierUl"
>
<ul
class=
"tierUl"
>
<li
:class=
"active1==index ? 'SelectLi' :''"
@
click=
"SelectTier1(item,index)
"
v-for=
"(item,index) in tableData"
:key=
"index"
>
<li
@
click=
"SelectTier1(item,index,2)"
:class=
"active1==index ? 'SelectLi' :''
"
v-for=
"(item,index) in tableData"
:key=
"index"
>
<span>
{{item.Name}}
</span>
<span>
{{item.Name}}
</span>
<span
v-if=
"item.ChildList.length>0"
style=
"float:right"
>
<span
v-if=
"
userInfo.Tier==3 &&
item.ChildList.length>0"
style=
"float:right"
>
<i
class=
"el-icon-arrow-right"
></i>
<i
class=
"el-icon-arrow-right"
></i>
</span>
</span>
</li>
</li>
...
@@ -139,7 +149,7 @@
...
@@ -139,7 +149,7 @@
</div>
</div>
</ul>
</ul>
<ul
v-if=
"userInfo.Tier==3"
class=
"tierUl"
style=
"margin-left:10px"
>
<ul
v-if=
"userInfo.Tier==3"
class=
"tierUl"
style=
"margin-left:10px"
>
<li
:class=
"active2==index ? 'SelectLi' :''"
v-show=
"tableData2 && tableData2.ChildList"
@
click=
"SelectTier2(item,index)
"
v-for=
"(item,index) in tableData2.ChildList"
:key=
"index"
>
<li
@
click=
"SelectTier2(item,index,3)"
:class=
"active2==index ? 'SelectLi' :''"
v-show=
"tableData2 && tableData2.ChildList
"
v-for=
"(item,index) in tableData2.ChildList"
:key=
"index"
>
<span>
{{item.Name}}
</span>
<span>
{{item.Name}}
</span>
</li>
</li>
<div
v-show=
"tableData2.ChildList && tableData2.ChildList.length==0"
class=
"empty-text"
>
<div
v-show=
"tableData2.ChildList && tableData2.ChildList.length==0"
class=
"empty-text"
>
...
@@ -148,7 +158,7 @@
...
@@ -148,7 +158,7 @@
</ul>
</ul>
<div
style=
"text-align:right;margin-top:20px"
slot=
"footer"
class=
"dialog-footer"
>
<div
style=
"text-align:right;margin-top:20px"
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"ExitTier"
>
取消
</el-button>
<el-button
size=
"small"
@
click=
"ExitTier"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"
tierDig = false"
>
我知道了
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"
TierOk"
>
确定
</el-button>
</div>
</div>
</div>
</div>
</el-dialog>
</el-dialog>
...
@@ -212,6 +222,7 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
...
@@ -212,6 +222,7 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
active1
:
-
1
,
active1
:
-
1
,
active2
:
-
1
,
active2
:
-
1
,
keepData
:{},
keepData
:{},
tierOk
:
0
,
};
};
},
},
created
()
{
created
()
{
...
@@ -220,36 +231,52 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
...
@@ -220,36 +231,52 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
this
.
getData
()
this
.
getData
()
this
.
editState
=
true
;
this
.
editState
=
true
;
}
}
else
{
this
.
keepData
=
this
.
userInfo
;
}
this
.
getList
();
this
.
getList
();
},
},
methods
:
{
methods
:
{
TierOk
(){
this
.
tierDig
=
false
;
this
.
userInfo
.
Tier
=
this
.
tierOk
;
},
ExitTier
(){
ExitTier
(){
this
.
userInfo
.
ParentId
=
0
;
this
.
userInfo
.
ParentId
=
this
.
keepData
.
ParentId
;
this
.
userInfo
.
Parent1Name
=
this
.
keepData
.
Parent1Name
;
this
.
userInfo
.
Parent1Name
=
this
.
keepData
.
Parent1Name
;
this
.
userInfo
.
Parent2Name
=
this
.
keepData
.
Parent2Name
;
this
.
userInfo
.
Parent2Name
=
this
.
keepData
.
Parent2Name
;
this
.
tierDig
=
false
;
this
.
tierDig
=
false
;
},
},
SelectTier2
(
item
,
index
){
SelectTier2
(
item
,
index
,
num
){
this
.
active2
=
index
;
this
.
active2
=
index
;
this
.
userInfo
.
ParentId
=
this
.
tableData2
.
Id
;
this
.
userInfo
.
ParentId
=
item
.
Id
;
this
.
userInfo
.
Parent2Name
=
item
.
Name
;
this
.
userInfo
.
Parent2Name
=
item
.
Name
;
this
.
userInfo
.
Tier
=
3
;
this
.
tierOk
=
num
;
},
},
SelectTier1
(
item
,
index
){
SelectTier1
(
item
,
index
,
num
){
this
.
tableData2
=
this
.
tableData
[
index
];
this
.
tableData2
=
this
.
tableData
[
index
];
this
.
active1
=
index
;
this
.
active1
=
index
;
this
.
userInfo
.
ParentId
=
0
;
this
.
userInfo
.
ParentId
=
item
.
Id
;
this
.
userInfo
.
Parent1Name
=
item
.
Name
;
this
.
userInfo
.
Parent1Name
=
item
.
Name
;
this
.
userInfo
.
Tier
=
2
;
this
.
tierOk
=
num
;
this
.
active2
=-
1
;
this
.
userInfo
.
Parent2Name
=
""
;
},
},
SelectTier
(
num
){
SelectTier
(
num
){
this
.
tierDig
=
true
;
if
(
num
==
1
){
this
.
active1
=-
1
;
this
.
active2
=-
1
;
this
.
userInfo
.
ParentId
=
this
.
keepData
.
ParentId
;
this
.
userInfo
.
Parent1Name
=
this
.
keepData
.
Parent1Name
;
this
.
userInfo
.
Parent2Name
=
this
.
keepData
.
Parent2Name
;
}
if
(
num
==
2
){
if
(
num
==
2
){
this
.
tierDig
=
true
;
this
.
titleDig
=
'选择归属的一级分类'
;
this
.
titleDig
=
'选择归属的一级分类'
;
this
.
tierWidth
=
'20%'
this
.
tierWidth
=
'20%'
}
}
if
(
num
==
3
){
if
(
num
==
3
){
this
.
tierDig
=
true
;
this
.
titleDig
=
'选择归属的二级分类'
;
this
.
titleDig
=
'选择归属的二级分类'
;
this
.
tierWidth
=
'600px'
this
.
tierWidth
=
'600px'
}
}
...
@@ -306,7 +333,7 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
...
@@ -306,7 +333,7 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
getData
(){
getData
(){
this
.
apipost
(
"/api/product/GetProductCategoryInfo"
,{
CategoryId
:
this
.
UserId
},
res
=>
{
this
.
apipost
(
"/api/product/GetProductCategoryInfo"
,{
CategoryId
:
this
.
UserId
},
res
=>
{
this
.
userInfo
=
res
.
data
.
data
;
this
.
userInfo
=
res
.
data
.
data
;
this
.
keepData
=
re
.
data
.
data
;
this
.
keepData
=
re
s
.
data
.
data
;
})
})
},
},
...
...
src/components/CommodityMan/goodsClassification.vue
View file @
b2aba15c
...
@@ -490,7 +490,6 @@ export default {
...
@@ -490,7 +490,6 @@ export default {
},
},
methods
:{
methods
:{
goUrl
(
item
){
goUrl
(
item
){
console
.
log
(
"111"
,
item
);
if
(
item
){
if
(
item
){
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
'addGoodsClass'
,
name
:
'addGoodsClass'
,
...
...
src/components/CommodityMan/goodsList.vue
0 → 100644
View file @
b2aba15c
This diff is collapsed.
Click to expand it.
src/components/CommodityMan/goodsServices.vue
0 → 100644
View file @
b2aba15c
<
template
>
<div
class=
"quickBuy"
>
<div
class=
"head-title"
>
服务列表
<el-button
@
click=
"CommonJump('goodsServicesEdit')"
style=
"float:right;margin-top: -5px;margin-left:20px;"
size=
"small"
type=
"primary"
>
添加服务
</el-button>
</div>
<div
class=
"content"
>
<div>
<div
class=
"searchInput"
style=
"width:250px"
>
<el-input
style=
"display:inline-block;width:225px;height:30px"
placeholder=
"请输入规格名搜索"
v-model=
"msg.Name"
@
clear=
"getList"
size=
"small"
clearable
>
</el-input>
<span
@
click=
"getList"
class=
"el-icon-search"
style=
"color:#979dad;font-size:14px;position:relative;top:1px"
></span>
</div>
<el-select
size=
"small"
@
change=
"getList"
v-model=
"msg.IsDefault"
placeholder=
"请选择"
>
<el-option
label=
"不限"
:value=
"0"
></el-option>
<el-option
label=
"是"
:value=
"1"
></el-option>
<el-option
label=
"否"
:value=
"2"
></el-option>
</el-select>
</div>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width: 100%;margin:20px 0"
>
<el-table-column
prop=
"Id"
width=
"80"
label=
"ID"
>
</el-table-column>
<el-table-column
prop=
"Name"
label=
"服务名称"
>
</el-table-column>
<el-table-column
prop=
"Remark"
label=
"备注"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"是否默认"
>
<template
slot-scope=
"scope"
>
<el-switch
@
change=
"Edit(scope.row,1)"
v-model=
"scope.row.IsDefault"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
>
</el-switch>
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"排序"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"!scope.row.editState"
>
<span>
{{
scope
.
row
.
Sort
}}
</span>
<img
@
click=
"scope.row.editState=true,scope.row.SortNew=scope.row.Sort"
style=
"width:15px;height:15px;margin-left:7px"
src=
"../../assets/img/userman/edit1.png"
alt=
""
>
</
template
>
<
template
v-else
>
<el-input
v-model=
"scope.row.SortNew"
type=
"number"
min=
"1"
size=
"small"
style=
"display:inline-block;width:150px"
></el-input>
<span
@
click=
"scope.row.editState=false"
class=
"el-icon-error"
style=
"color: rgb(245, 108, 108);"
></span>
<span
@
click=
"Edit(scope.row,2)"
class=
"el-icon-success"
style=
"color:#67c23a"
></span>
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"UpdateDate"
width=
"150"
label=
"添加日期"
>
</el-table-column>
<el-table-column
prop=
"address"
width=
"200"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<img
@
click=
"Delete(scope.row)"
style=
"width:32px;height:32px;margin:0 10px"
src=
"../../assets/img/userman/edit.png"
alt=
""
>
<img
@
click=
"Delete(scope.row)"
style=
"width:32px;height:32px;margin:0 10px"
src=
"../../assets/img/userman/del.png"
alt=
""
>
</
template
>
</el-table-column>
</el-table>
<el-pagination
style=
"text-align:right"
background
@
current-change=
"handleCurrentChange"
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"total"
>
</el-pagination>
</div>
</div>
</template>
<
script
>
export
default
{
name
:
"quickBuy"
,
data
(){
return
{
editState
:
false
,
msg
:{
pageIndex
:
1
,
pageSize
:
15
,
Name
:
''
,
IsDefault
:
0
,
},
total
:
0
,
tableData
:[],
loading
:
false
,
addMsg
:{
Id
:
0
,
Sort
:
''
,
Name
:
''
,
IsDefault
:
1
,
Remark
:
''
,
UpdateType
:
1
,
},
rules
:{
CategoryIdNew
:
[
{
required
:
true
,
message
:
'分类不能为空'
,
trigger
:
'change'
}
],
Sort
:
[
{
required
:
true
,
message
:
'请输入排序'
,
trigger
:
'blur'
}
],
},
msg1
:{
Id
:
0
,
Name
:
''
,
Tier
:
0
,
ParentId
:
0
,
Enabled
:
1
,
IsShow
:
1
,
},
}
},
created
(){
this
.
getList
();
},
methods
:{
Delete
(
item
){
let
that
=
this
;
that
.
$confirm
(
'是否删除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'/api/product/DelProductServiceInfo'
,{
ServiceId
:
item
.
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
)
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}).
catch
(()
=>
{
});
},
Edit
(
row
,
num
){
let
addMsg
=
row
;
addMsg
.
Sort
=
addMsg
.
SortNew
;
addMsg
.
UpdateType
=
num
;
this
.
apipost
(
'/api/product/SetProductServiceInfo'
,
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
)
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getList
(){
this
.
loading
=
true
;
this
.
apipost
(
"/api/product/GetProductServicePageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
total
=
res
.
data
.
data
.
count
;
let
pageData
=
res
.
data
.
data
.
pageData
;
pageData
.
forEach
(
item
=>
{
item
.
SortNew
=
item
.
Sort
;
item
.
editState
=
false
;
})
this
.
tableData
=
pageData
;
}
})
},
},
};
</
script
>
<
style
>
.quickBuy
.content
.searchInput
{
border
:
1px
solid
#DCDFE6
;
border-radius
:
4px
;
}
.quickBuy
.content
.searchInput
.el-input__inner
{
border
:
none
;
outline
:
none
;
height
:
30px
;
line-height
:
30px
;
}
.quickBuy
.content
.searchInput
{
line-height
:
normal
;
display
:
inline-table
;
width
:
100%
;
border-collapse
:
separate
;
border-spacing
:
0
;
width
:
250px
;
margin-right
:
20px
;
}
.quickBuy
.content
{
background
:
#fff
;
margin-top
:
10px
;
padding
:
20px
;
box-sizing
:
border-box
;
}
</
style
>
src/components/CommodityMan/goodsServicesEdit.vue
0 → 100644
View file @
b2aba15c
<
template
>
<div
v-loading=
"pageloading"
class=
"goodsServicesEdit"
>
<div
class=
"head-title"
>
<span
@
click=
"CommonJump('goodsServices')"
class=
"blue point"
>
服务
</span>
/ 服务编辑
</div>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"150px"
>
<el-card
shadow=
"never"
style=
"margin-top:10px"
class=
"box-card"
>
<el-form-item
class=
"commonLabel discount"
label=
"服务名称"
prop=
"Name"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"例如:正品保障|极速发货|7天退换货"
placement=
"top-start"
>
<i
class=
" elzk el-tooltip el-icon-info"
></i>
</el-tooltip>
<el-input
v-model=
"addMsg.Name"
style=
"width:690px"
size=
"small"
>
</el-input>
</el-form-item>
<el-form-item
label=
"排序"
prop=
"Sort"
>
<el-input
type=
"number"
min=
"1"
size=
"small"
style=
"width:690px"
placeholder=
"请输入"
v-model=
"addMsg.Sort"
>
</el-input>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
:row=
"2"
style=
"width:690px"
placeholder=
"请输入"
v-model=
"addMsg.Remark"
>
</el-input>
</el-form-item>
<el-form-item
label=
"是否默认"
>
<el-switch
v-model=
"addMsg.IsDefault"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
>
</el-switch>
</el-form-item>
</el-card>
</el-form>
<div
style=
"padding:20px;background:#fff;margin-top:10px"
>
<el-button
@
click=
"Save('addMsg')"
size=
"small"
type=
"primary"
>
保存
</el-button>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
"goodsServicesEdit"
,
data
(){
return
{
pageloading
:
false
,
addMsg
:{
Id
:
0
,
Name
:
''
,
Sort
:
100
,
IsDefault
:
0
,
Remark
:
''
,
UpdateType
:
0
,
},
rules
:{
Name
:
[
{
required
:
true
,
message
:
'请输入服务名称'
,
trigger
:
'blur'
},
],
Sort
:[
{
required
:
true
,
message
:
'请输入排序'
,
trigger
:
'blur'
},
],
},
}
},
created
(){
// this.getData()
},
methods
:{
Save
(
formName
){
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
apipost
(
'/api/product/SetProductServiceInfo'
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
CommonJump
(
'goodsServices'
)
this
.
Success
(
res
.
data
.
message
)
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}
else
{
return
false
;
}
});
},
getData
(){
this
.
pageloading
=
true
;
this
.
apipost
(
"/api/product/GetProductRecommendSetInfo"
,{},
res
=>
{
this
.
pageloading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
addMsg
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
})
},
},
};
</
script
>
<
style
>
.goodsServicesEdit
.discount
.el-form-item__label
{
padding-right
:
30px
;
}
.goodsServicesEdit
.el-form-item
.elzk
{
position
:
absolute
;
left
:
-25px
;
top
:
12px
;
}
</
style
>
src/components/CommodityMan/quickBuy.vue
0 → 100644
View file @
b2aba15c
This diff is collapsed.
Click to expand it.
src/components/UserMan/usersListEdit.vue
View file @
b2aba15c
...
@@ -163,7 +163,6 @@
...
@@ -163,7 +163,6 @@
getData
(){
getData
(){
this
.
apipost
(
"/api/user/GetMemberUserInfo"
,{
UserId
:
this
.
UserId
},
res
=>
{
this
.
apipost
(
"/api/user/GetMemberUserInfo"
,{
UserId
:
this
.
UserId
},
res
=>
{
console
.
log
(
"res,res"
,
res
);
this
.
userInfo
=
res
.
data
.
data
;
this
.
userInfo
=
res
.
data
.
data
;
})
})
},
},
...
...
src/router/index.js
View file @
b2aba15c
...
@@ -176,6 +176,44 @@ export default new Router({
...
@@ -176,6 +176,44 @@ export default new Router({
name
:
'addGoodsClass'
,
name
:
'addGoodsClass'
,
component
:
resolve
=>
require
([
'@/components/CommodityMan/addGoodsClass'
],
resolve
),
component
:
resolve
=>
require
([
'@/components/CommodityMan/addGoodsClass'
],
resolve
),
},
},
// 商品管理 规格模板
{
path
:
'/SpecificationTemplate'
,
name
:
'SpecificationTemplate'
,
component
:
resolve
=>
require
([
'@/components/CommodityMan/SpecificationTemplate'
],
resolve
),
},
// 商品管理 快速购买
{
path
:
'/quickBuy'
,
name
:
'quickBuy'
,
component
:
resolve
=>
require
([
'@/components/CommodityMan/quickBuy'
],
resolve
),
},
// 商品管理 推荐设置
{
path
:
'/RecSettings'
,
name
:
'RecSettings'
,
component
:
resolve
=>
require
([
'@/components/CommodityMan/RecSettings'
],
resolve
),
},
// 商品管理 商品服务
{
path
:
'/goodsServices'
,
name
:
'goodsServices'
,
component
:
resolve
=>
require
([
'@/components/CommodityMan/goodsServices'
],
resolve
),
},
// 商品管理 商品服务新增或修改
{
path
:
'/goodsServicesEdit'
,
name
:
'goodsServicesEdit'
,
component
:
resolve
=>
require
([
'@/components/CommodityMan/goodsServicesEdit'
],
resolve
),
},
// 商品管理 商品列表
{
path
:
'/goodsList'
,
name
:
'goodsList'
,
component
:
resolve
=>
require
([
'@/components/CommodityMan/goodsList'
],
resolve
),
},
//设置 基础设置
//设置 基础设置
{
{
path
:
'/basicSetUp'
,
path
:
'/basicSetUp'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment