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
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 @@
.tableCenter
td
,
.tableCenter
th
{
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 @@
<div
class=
"content"
>
<el-form
style=
"width:50%"
:model=
"userInfo"
:rules=
"rules"
ref=
"userInfo"
label-width=
"120px"
>
<el-form-item
label=
"选择分类级别"
prop=
"Tier"
>
<
el-radio
:disabled=
"editState"
v-model=
"userInfo.Tier"
:label=
"1"
>
一级分类
</el-radio
>
<div
@
click=
"SelectTier(2)"
style=
"display:inline-block;margin-right:18px"
>
<
template
v-if=
"editState"
>
<el-radio
:disabled=
"editState"
v-model=
"userInfo.Tier"
:label=
"1"
>
一级分类
</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>
</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
v-if=
"userInfo.Parent1Name && (userInfo.Tier==2 || userInfo.Tier==3)"
label=
"一级分类"
>
<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
v-if=
"userInfo.Parent2Name && userInfo.Tier==3"
label=
"二级分类"
>
<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
label=
"分类名称"
prop=
"Name"
>
<el-input
v-model=
"userInfo.Name"
size=
"small"
></el-input>
...
...
@@ -106,7 +116,7 @@
<img
v-if=
"imgDig==2"
style=
"width:280px"
src=
"../../assets/img/userman/example-2.png"
alt=
""
>
</div>
<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>
</el-dialog>
<!-- 选择文件 -->
...
...
@@ -128,9 +138,9 @@
</div>
</div>
<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
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>
</span>
</li>
...
...
@@ -139,7 +149,7 @@
</div>
</ul>
<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>
</li>
<div
v-show=
"tableData2.ChildList && tableData2.ChildList.length==0"
class=
"empty-text"
>
...
...
@@ -148,7 +158,7 @@
</ul>
<div
style=
"text-align:right;margin-top:20px"
slot=
"footer"
class=
"dialog-footer"
>
<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>
</el-dialog>
...
...
@@ -212,6 +222,7 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
active1
:
-
1
,
active2
:
-
1
,
keepData
:{},
tierOk
:
0
,
};
},
created
()
{
...
...
@@ -220,36 +231,52 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
this
.
getData
()
this
.
editState
=
true
;
}
else
{
this
.
keepData
=
this
.
userInfo
;
}
this
.
getList
();
},
methods
:
{
TierOk
(){
this
.
tierDig
=
false
;
this
.
userInfo
.
Tier
=
this
.
tierOk
;
},
ExitTier
(){
this
.
userInfo
.
ParentId
=
0
;
this
.
userInfo
.
ParentId
=
this
.
keepData
.
ParentId
;
this
.
userInfo
.
Parent1Name
=
this
.
keepData
.
Parent1Name
;
this
.
userInfo
.
Parent2Name
=
this
.
keepData
.
Parent2Name
;
this
.
tierDig
=
false
;
},
SelectTier2
(
item
,
index
){
SelectTier2
(
item
,
index
,
num
){
this
.
active2
=
index
;
this
.
userInfo
.
ParentId
=
this
.
tableData2
.
Id
;
this
.
userInfo
.
ParentId
=
item
.
Id
;
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
.
active1
=
index
;
this
.
userInfo
.
ParentId
=
0
;
this
.
userInfo
.
ParentId
=
item
.
Id
;
this
.
userInfo
.
Parent1Name
=
item
.
Name
;
this
.
userInfo
.
Tier
=
2
;
this
.
tierOk
=
num
;
this
.
active2
=-
1
;
this
.
userInfo
.
Parent2Name
=
""
;
},
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
){
this
.
tierDig
=
true
;
this
.
titleDig
=
'选择归属的一级分类'
;
this
.
tierWidth
=
'20%'
}
if
(
num
==
3
){
this
.
tierDig
=
true
;
this
.
titleDig
=
'选择归属的二级分类'
;
this
.
tierWidth
=
'600px'
}
...
...
@@ -306,7 +333,7 @@ import ChooseImg from "@/components/global/ChooseImg.vue";
getData
(){
this
.
apipost
(
"/api/product/GetProductCategoryInfo"
,{
CategoryId
:
this
.
UserId
},
res
=>
{
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 {
},
methods
:{
goUrl
(
item
){
console
.
log
(
"111"
,
item
);
if
(
item
){
this
.
$router
.
push
({
name
:
'addGoodsClass'
,
...
...
src/components/CommodityMan/goodsList.vue
0 → 100644
View file @
b2aba15c
<
template
>
<div
class=
"goodsList"
>
<div
class=
"head-title"
>
商品列表
<el-button
style=
"float:right;margin-top: -5px;margin-left:20px;"
size=
"small"
type=
"primary"
>
商品导出
</el-button>
<el-button
@
click=
"CommonJump('goodsServicesEdit')"
style=
"float:right;margin-top: -5px;margin-left:20px;"
size=
"small"
type=
"primary"
>
添加商品
</el-button>
<el-button
style=
"float:right;margin-top: -5px;margin-left:20px;"
size=
"small"
type=
"primary"
>
更新所有商品销量
</el-button>
</div>
<div
class=
"content"
>
<div>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
:dataId=
"0"
label=
"全部"
name=
"first"
></el-tab-pane>
<el-tab-pane
label=
"上架中"
name=
"second"
></el-tab-pane>
<el-tab-pane
label=
"下架中"
name=
"third"
></el-tab-pane>
<el-tab-pane
label=
"售罄"
name=
"fourth"
></el-tab-pane>
</el-tabs>
</div>
<div>
<el-button
style=
"margin-right:20px;"
size=
"small"
>
分类筛选
</el-button>
<span>
添加时间:
</span>
<el-date-picker
v-model=
"msg.val"
@
change=
"getList"
size=
"small"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
<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>
<span
class=
'blue point'
>
清空筛选条件
</span>
</div>
<div
style=
"margin-top:15px"
>
<el-button
style=
"margin-left:10px;"
size=
"mini"
>
上架
</el-button>
<el-button
style=
"margin-left:10px;"
size=
"mini"
>
下架
</el-button>
<el-button
style=
"margin-left:10px;"
size=
"mini"
>
删除
</el-button>
<el-button
style=
"margin-left:10px;"
size=
"mini"
>
批量设置
</el-button>
</div>
<el-table
:data=
"tableData"
v-loading=
"loading"
border
style=
"width: 100%;margin:20px 0"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
prop=
"Id"
width=
"80"
sortable
label=
"ID"
>
</el-table-column>
<el-table-column
prop=
"address"
sortable
label=
"排序"
>
<template
slot-scope=
"scope"
>
<template
v-if=
"!scope.row.editsort"
>
<span>
{{
scope
.
row
.
Sort
}}
</span>
<img
@
click=
"scope.row.editsort=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.editsort=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=
"Remark"
label=
"分类"
>
<
template
slot-scope=
"scope"
>
<el-tag
size=
"mini"
v-for=
"(item,index) in scope.row.CategoryList"
:key=
"index"
>
{{
item
.
CategoryName
}}
</el-tag>
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
width=
"300"
label=
"商品名称"
>
<
template
slot-scope=
"scope"
>
<div
flex=
"box:first"
>
<img
style=
"width:50px;height:50px;margin-right:1px"
:src=
"domainManager().ImageUrl+scope.row.CoverImage"
alt=
""
>
<template
v-if=
"!scope.row.editname"
>
<div
flex=
"cross:top"
style=
"display:inline-flex"
>
<div
flex=
"dir:left"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"scope.row.Name"
placement=
"top"
>
<div
class=
"vue-line-clamp"
style=
"word-break: break-all; -webkit-line-clamp: 2;"
>
<span>
{{
scope
.
row
.
Name
}}
</span>
</div>
</el-tooltip>
<img
@
click=
"scope.row.editname=true,scope.row.NameNew=scope.row.Name"
style=
"width:15px;height:15px;margin-left:7px"
src=
"../../assets/img/userman/edit1.png"
alt=
""
>
</div>
</div>
</
template
>
<
template
v-else
>
<el-input
v-model=
"scope.row.NameNew"
type=
"number"
min=
"1"
size=
"small"
style=
"display:inline-block;width:150px"
></el-input>
<span
@
click=
"scope.row.editname=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
>
</div>
</template>
</el-table-column>
<el-table-column
prop=
"SellingPrice"
width=
"100"
sortable
label=
"售价"
>
</el-table-column>
<el-table-column
prop=
"InventoryNum"
width=
"100"
sortable
label=
"库存"
>
</el-table-column>
<el-table-column
prop=
"SalesNum"
width=
"105"
sortable
label=
"已出售量"
>
</el-table-column>
<el-table-column
prop=
"UpdateDate"
width=
"110"
label=
"是否加入快速购买"
>
<
template
slot-scope=
"scope"
>
<el-switch
@
change=
"Edit(scope.row,1)"
v-model=
"scope.row.IsQuickBuy"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
>
</el-switch>
</
template
>
</el-table-column>
<el-table-column
prop=
"CreateDate"
width=
"150"
label=
"添加时间"
>
</el-table-column>
<el-table-column
prop=
"UpdateDate"
width=
"100"
label=
"状态"
>
<
template
slot-scope=
"scope"
>
<el-tag
v-if=
"scope.row.GoodsStatus==1"
type=
"success"
>
销售中
</el-tag>
<el-tag
v-if=
"scope.row.GoodsStatus==2"
type=
"warning"
>
下架中
</el-tag>
</
template
>
</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
{
activeName
:
'first'
,
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
:{
handleClick
(
val
){
this
.
msg
.
AuditStatus
=
val
.
$attrs
.
dataId
;
},
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/GetProductGoodsPageList"
,
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
.
NameNew
=
item
.
Name
;
item
.
editsort
=
false
;
item
.
editname
=
false
;
})
this
.
tableData
=
pageData
;
}
})
},
},
};
</
script
>
<
style
>
.goodsList
.vue-line-clamp
{
display
:
block
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
.goodsList
.content
{
background
:
#fff
;
margin-top
:
10px
;
padding
:
20px
;
box-sizing
:
border-box
;
}
</
style
>
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
<
template
>
<div
class=
"quickBuy"
>
<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>
<span
class=
"f12"
style=
"padding:8px 15px;color:#909399;background-color: #f4f4f5;"
>
温馨提示:商品分类修改至“
<span
@
click=
"CommonJump('goodsClassification')"
class=
"blue f14 point"
>
商品管理-分类
</span>
”修改
</span>
</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=
"CategoryName"
width=
"300"
label=
"分类名称"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"图标"
>
<template
slot-scope=
"scope"
>
<img
v-if=
"scope.row.IconPath!=''"
style=
"width:50px;height:50px"
:src=
"domainManager().ImageUrl+scope.row.IconPath"
alt=
""
>
<img
v-else
style=
"width:50px;height:50px"
src=
"../../assets/img/default.png"
alt=
""
>
</
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:200px"
></el-input>
<span
@
click=
"scope.row.editState=false"
class=
"el-icon-error"
style=
"color: rgb(245, 108, 108);"
></span>
<span
@
click=
"Edit(scope.row)"
class=
"el-icon-success"
style=
"color:#67c23a"
></span>
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"CreateDate"
width=
"220"
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/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
title=
"新增"
:visible
.
sync=
"ggmbDig"
width=
"960px"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"100px"
>
<el-form-item
label=
"分类"
prop=
"CategoryIdNew"
>
<el-cascader
size=
"small"
:show-all-levels=
"false"
v-model=
"addMsg.CategoryIdNew"
:options=
"options"
:props=
"props"
></el-cascader>
</el-form-item>
<el-form-item
label=
"排序"
prop=
"Sort"
>
<el-input
size=
"small"
v-model=
"addMsg.Sort"
style=
"width:330px"
></el-input>
</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
:
"quickBuy"
,
data
(){
return
{
editState
:
false
,
ggmbDig
:
false
,
msg
:{
pageIndex
:
1
,
pageSize
:
15
,
Name
:
''
,
Id
:
0
,
Content
:
''
,
},
total
:
0
,
tableData
:[],
loading
:
false
,
addMsg
:{
Id
:
0
,
Sort
:
''
,
CategoryIdNew
:[],
CategoryId
:
-
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
,
},
props
:{
checkStrictly
:
true
,
label
:
'Name'
,
value
:
'Id'
,
children
:
'ChildList'
},
options
:[],
}
},
created
(){
this
.
getList
();
this
.
getTreeList
();
},
methods
:{
Delete
(
item
){
let
that
=
this
;
that
.
$confirm
(
'是否删除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'/api/product/DelProductQuickBuyInfo'
,{
QuickBuyId
:
item
.
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
)
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}).
catch
(()
=>
{
});
},
getTreeList
(
num
){
this
.
loading
=
true
;
this
.
apipost
(
"/api/product/GetProductCategoryTreeList"
,
this
.
msg1
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
let
pageData
=
res
.
data
.
data
;
this
.
options
=
pageData
;
}
})
},
Edit
(
row
){
let
addMsg
=
row
;
addMsg
.
Sort
=
addMsg
.
SortNew
;
this
.
apipost
(
'/api/product/SetProductQuickBuyInfo'
,
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
)
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
deleteGgz
(
item
,
index
){
this
.
SpecList
.
splice
(
index
,
1
);
},
addGgz
(){
let
obj
=
{
num
:
''
}
this
.
SpecList
.
push
(
obj
);
},
openDig
(){
this
.
addMsg
=
{
Id
:
0
,
Sort
:
''
,
CategoryIdNew
:[],
CategoryId
:
-
1
,
}
this
.
ggmbDig
=
true
;
},
submitForm
(
formName
){
let
index
=
this
.
addMsg
.
CategoryIdNew
.
length
-
1
;
this
.
addMsg
.
CategoryId
=
this
.
addMsg
.
CategoryIdNew
[
index
];
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
apipost
(
'/api/product/SetProductQuickBuyInfo'
,
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/GetProductQuickBuyPageList"
,
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/UserMan/usersListEdit.vue
View file @
b2aba15c
...
...
@@ -163,7 +163,6 @@
getData
(){
this
.
apipost
(
"/api/user/GetMemberUserInfo"
,{
UserId
:
this
.
UserId
},
res
=>
{
console
.
log
(
"res,res"
,
res
);
this
.
userInfo
=
res
.
data
.
data
;
})
},
...
...
src/router/index.js
View file @
b2aba15c
...
...
@@ -176,6 +176,44 @@ export default new Router({
name
:
'addGoodsClass'
,
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'
,
...
...
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