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
9846cf15
Commit
9846cf15
authored
Apr 23, 2020
by
黄媛媛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
111
parent
721a1426
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1089 additions
and
142 deletions
+1089
-142
common.css
src/assets/css/common.css
+42
-0
materialMan.vue
src/components/CommodityMan/materialMan.vue
+478
-0
MembershipGrade.vue
src/components/UserMan/MembershipGrade.vue
+19
-1
baseSet.vue
src/components/UserMan/baseSet.vue
+212
-0
setMember.vue
src/components/UserMan/setMember.vue
+8
-115
usersList.vue
src/components/UserMan/usersList.vue
+112
-5
usersListEdit.vue
src/components/UserMan/usersListEdit.vue
+180
-0
index.js
src/router/index.js
+38
-21
No files found.
src/assets/css/common.css
View file @
9846cf15
...
...
@@ -40,3 +40,45 @@
.el-table
img
{
cursor
:
pointer
;
}
.point
{
cursor
:
pointer
;
}
/*! https://github.com/lzxb/flex.css */
[
flex
]
{
display
:
-webkit-box
;
display
:
-webkit-flex
;
display
:
-ms-flexbox
;
display
:
flex
}
[
flex
]>*
{
display
:
block
}
[
flex
]>[
flex
]
{
display
:
-webkit-box
;
display
:
-webkit-flex
;
display
:
-ms-flexbox
;
display
:
flex
}
[
flex
~=
"dir:left"
]
{
-webkit-box-orient
:
horizontal
;
-webkit-box-direction
:
normal
;
-webkit-flex-direction
:
row
;
-ms-flex-direction
:
row
;
flex-direction
:
row
}
[
flex
~=
"dir:right"
]
{
-webkit-box-orient
:
horizontal
;
-webkit-box-direction
:
reverse
;
-webkit-flex-direction
:
row-reverse
;
-ms-flex-direction
:
row-reverse
;
flex-direction
:
row-reverse
;
-webkit-box-pack
:
end
}
[
flex
~=
"dir:top"
]
{
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
-webkit-flex-direction
:
column
;
-ms-flex-direction
:
column
;
flex-direction
:
column
}
[
flex
~=
"dir:bottom"
]
{
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
reverse
;
-webkit-flex-direction
:
column-reverse
;
-ms-flex-direction
:
column-reverse
;
flex-direction
:
column-reverse
;
-webkit-box-pack
:
end
}
[
flex
~=
"main:left"
]
{
-webkit-box-pack
:
start
;
-webkit-justify-content
:
flex-start
;
-ms-flex-pack
:
start
;
justify-content
:
flex-start
}
[
flex
~=
"main:right"
]
{
-webkit-box-pack
:
end
;
-webkit-justify-content
:
flex-end
;
-ms-flex-pack
:
end
;
justify-content
:
flex-end
}
[
flex
~=
"main:justify"
]
{
-webkit-box-pack
:
justify
;
-webkit-justify-content
:
space-between
;
-ms-flex-pack
:
justify
;
justify-content
:
space-between
}
[
flex
~=
"main:center"
]
{
-webkit-box-pack
:
center
;
-webkit-justify-content
:
center
;
-ms-flex-pack
:
center
;
justify-content
:
center
}
[
flex
~=
"cross:top"
]
{
-webkit-box-align
:
start
;
-webkit-align-items
:
flex-start
;
-ms-flex-align
:
start
;
align-items
:
flex-start
}
[
flex
~=
"cross:bottom"
]
{
-webkit-box-align
:
end
;
-webkit-align-items
:
flex-end
;
-ms-flex-align
:
end
;
align-items
:
flex-end
}
[
flex
~=
"cross:center"
]
{
-webkit-box-align
:
center
;
-webkit-align-items
:
center
;
-ms-flex-align
:
center
;
align-items
:
center
}
[
flex
~=
"cross:baseline"
]
{
-webkit-box-align
:
baseline
;
-webkit-align-items
:
baseline
;
-ms-flex-align
:
baseline
;
align-items
:
baseline
}
[
flex
~=
"cross:stretch"
]
{
-webkit-box-align
:
stretch
;
-webkit-align-items
:
stretch
;
-ms-flex-align
:
stretch
;
align-items
:
stretch
}
[
flex
~=
"box:mean"
]>*,[
flex
~=
"box:first"
]>*,[
flex
~=
"box:last"
]>*,[
flex
~=
"box:justify"
]>*
{
width
:
0
;
height
:
auto
;
-webkit-box-flex
:
1
;
-webkit-flex-grow
:
1
;
-ms-flex-positive
:
1
;
flex-grow
:
1
;
-webkit-flex-shrink
:
1
;
-ms-flex-negative
:
1
;
flex-shrink
:
1
}
[
flex
~=
"box:first"
]>
:first-child
,[
flex
~=
"box:last"
]>
:last-child
,[
flex
~=
"box:justify"
]>
:first-child
,[
flex
~=
"box:justify"
]>
:last-child
{
width
:
auto
;
-webkit-box-flex
:
0
;
-webkit-flex-grow
:
0
;
-ms-flex-positive
:
0
;
flex-grow
:
0
;
-webkit-flex-shrink
:
0
;
-ms-flex-negative
:
0
;
flex-shrink
:
0
}
[
flex
~=
"dir:top"
][
flex
~=
"box:mean"
]>*,[
flex
~=
"dir:top"
][
flex
~=
"box:first"
]>*,[
flex
~=
"dir:top"
][
flex
~=
"box:last"
]>*,[
flex
~=
"dir:top"
][
flex
~=
"box:justify"
]>*,[
flex
~=
"dir:bottom"
][
flex
~=
"box:mean"
]>*,[
flex
~=
"dir:bottom"
][
flex
~=
"box:first"
]>*,[
flex
~=
"dir:bottom"
][
flex
~=
"box:last"
]>*,[
flex
~=
"dir:bottom"
][
flex
~=
"box:justify"
]>*
{
width
:
auto
;
height
:
0
;
-webkit-box-flex
:
1
;
-webkit-flex-grow
:
1
;
-ms-flex-positive
:
1
;
flex-grow
:
1
;
-webkit-flex-shrink
:
1
;
-ms-flex-negative
:
1
;
flex-shrink
:
1
}
[
flex
~=
"dir:top"
][
flex
~=
"box:first"
]>
:first-child
,[
flex
~=
"dir:top"
][
flex
~=
"box:last"
]>
:last-child
,[
flex
~=
"dir:top"
][
flex
~=
"box:justify"
]>
:first-child
,[
flex
~=
"dir:top"
][
flex
~=
"box:justify"
]>
:last-child
,[
flex
~=
"dir:bottom"
][
flex
~=
"box:first"
]>
:first-child
,[
flex
~=
"dir:bottom"
][
flex
~=
"box:last"
]>
:last-child
,[
flex
~=
"dir:bottom"
][
flex
~=
"box:justify"
]>
:first-child
[
flex
~=
"dir:bottom"
][
flex
~=
"box:justify"
]>
:last-child
{
height
:
auto
;
-webkit-box-flex
:
0
;
-webkit-flex-grow
:
0
;
-ms-flex-positive
:
0
;
flex-grow
:
0
;
-webkit-flex-shrink
:
0
;
-ms-flex-negative
:
0
;
flex-shrink
:
0
}
[
flex-box
=
"0"
]
{
-webkit-box-flex
:
0
;
-webkit-flex-grow
:
0
;
-ms-flex-positive
:
0
;
flex-grow
:
0
;
-webkit-flex-shrink
:
0
;
-ms-flex-negative
:
0
;
flex-shrink
:
0
}
[
flex-box
=
"1"
]
{
-webkit-box-flex
:
1
;
-webkit-flex-grow
:
1
;
-ms-flex-positive
:
1
;
flex-grow
:
1
;
-webkit-flex-shrink
:
1
;
-ms-flex-negative
:
1
;
flex-shrink
:
1
}
[
flex-box
=
"2"
]
{
-webkit-box-flex
:
2
;
-webkit-flex-grow
:
2
;
-ms-flex-positive
:
2
;
flex-grow
:
2
;
-webkit-flex-shrink
:
2
;
-ms-flex-negative
:
2
;
flex-shrink
:
2
}
[
flex-box
=
"3"
]
{
-webkit-box-flex
:
3
;
-webkit-flex-grow
:
3
;
-ms-flex-positive
:
3
;
flex-grow
:
3
;
-webkit-flex-shrink
:
3
;
-ms-flex-negative
:
3
;
flex-shrink
:
3
}
[
flex-box
=
"4"
]
{
-webkit-box-flex
:
4
;
-webkit-flex-grow
:
4
;
-ms-flex-positive
:
4
;
flex-grow
:
4
;
-webkit-flex-shrink
:
4
;
-ms-flex-negative
:
4
;
flex-shrink
:
4
}
[
flex-box
=
"5"
]
{
-webkit-box-flex
:
5
;
-webkit-flex-grow
:
5
;
-ms-flex-positive
:
5
;
flex-grow
:
5
;
-webkit-flex-shrink
:
5
;
-ms-flex-negative
:
5
;
flex-shrink
:
5
}
[
flex-box
=
"6"
]
{
-webkit-box-flex
:
6
;
-webkit-flex-grow
:
6
;
-ms-flex-positive
:
6
;
flex-grow
:
6
;
-webkit-flex-shrink
:
6
;
-ms-flex-negative
:
6
;
flex-shrink
:
6
}
[
flex-box
=
"7"
]
{
-webkit-box-flex
:
7
;
-webkit-flex-grow
:
7
;
-ms-flex-positive
:
7
;
flex-grow
:
7
;
-webkit-flex-shrink
:
7
;
-ms-flex-negative
:
7
;
flex-shrink
:
7
}
[
flex-box
=
"8"
]
{
-webkit-box-flex
:
8
;
-webkit-flex-grow
:
8
;
-ms-flex-positive
:
8
;
flex-grow
:
8
;
-webkit-flex-shrink
:
8
;
-ms-flex-negative
:
8
;
flex-shrink
:
8
}
[
flex-box
=
"9"
]
{
-webkit-box-flex
:
9
;
-webkit-flex-grow
:
9
;
-ms-flex-positive
:
9
;
flex-grow
:
9
;
-webkit-flex-shrink
:
9
;
-ms-flex-negative
:
9
;
flex-shrink
:
9
}
[
flex-box
=
"10"
]
{
-webkit-box-flex
:
10
;
-webkit-flex-grow
:
10
;
-ms-flex-positive
:
10
;
flex-grow
:
10
;
-webkit-flex-shrink
:
10
;
-ms-flex-negative
:
10
;
flex-shrink
:
10
}
[
flex
~=
"wrap:nowrap"
]
{
flex-wrap
:
nowrap
}
[
flex
~=
"wrap:wrap"
]
{
flex-wrap
:
wrap
}
[
flex
~=
"wrap:wrap-reverse"
]
{
flex-wrap
:
wrap-reverse
}
.blue
{
color
:
#409EFF
;
}
src/components/CommodityMan/materialMan.vue
0 → 100644
View file @
9846cf15
This diff is collapsed.
Click to expand it.
src/components/UserMan/MembershipGrade.vue
View file @
9846cf15
...
...
@@ -65,7 +65,7 @@
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<img
style=
"width:32px;height:32px"
src=
"../../assets/img/userman/edit.png"
alt=
""
>
<img
style=
"width:32px;height:32px;margin:0 10px"
src=
"../../assets/img/userman/del.png"
alt=
""
>
<img
@
click=
"Delete(scope.row)"
style=
"width:32px;height:32px;margin:0 10px"
src=
"../../assets/img/userman/del.png"
alt=
""
>
<!--
<img
style=
"width:32px;height:32px"
src=
"../../assets/img/userman/balance.png"
alt=
""
>
-->
</
template
>
</el-table-column>
...
...
@@ -110,6 +110,24 @@
this
.
getList
();
},
methods
:
{
Delete
(
row
){
let
that
=
this
;
that
.
Confirm
(
"是否删除?"
,
function
()
{
that
.
apipost
(
"/api/user/DelMemberGradeInfo"
,
{
GradeId
:
row
.
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
that
.
getList
();
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
null
);
});
},
getList
(){
this
.
loading
=
true
;
this
.
apipost
(
"/api/user/GetMemberGradePageList"
,
this
.
msg
,
res
=>
{
...
...
src/components/UserMan/baseSet.vue
0 → 100644
View file @
9846cf15
<
template
>
<div
class=
"baseSet"
>
<div
class=
"head-title"
>
<span
@
click=
"goUrl"
class=
"blue point"
>
会员等级
</span>
/ 会员设置
</div>
<div
class=
"content"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"150px"
>
<el-form-item
label=
"会员等级"
prop=
"name"
>
<el-select
style=
"width:293px;"
size=
"small"
v-model=
"addMsg.name"
placeholder=
"请选择活动区域"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"等级名称"
prop=
"name"
>
<el-input
style=
"width:293px;"
size=
"small"
v-model=
"addMsg.name"
></el-input>
</el-form-item>
<el-form-item
class=
"discount commonLabel"
label=
"折扣"
prop=
"name"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"请输入0.1~10之间的数字"
placement=
"top-start"
>
<i
class=
"elzk el-tooltip el-icon-info"
></i>
</el-tooltip>
<el-input
style=
"width:293px;"
type=
"number"
min=
"0.1"
size=
"small"
placeholder=
"请输入内容"
v-model=
"addMsg.name"
class=
"input-with-select"
>
<el-button
slot=
"append"
>
折
</el-button>
</el-input>
</el-form-item>
<el-form-item
label=
"会员状态"
prop=
"name"
>
<el-switch
v-model=
"addMsg.name"
active-color=
"#409EFF"
active-value=
"100"
inactive-value=
"0"
>
</el-switch>
</el-form-item>
<el-form-item
label=
"会员图标"
prop=
"name"
>
<el-button
@
click=
"openChangeDig"
size=
"small"
>
选择文件
</el-button>
<div><img
style=
"width:80px;height:80px"
src=
"../../assets/img/default.png"
alt=
""
></div>
</el-form-item>
<el-form-item
label=
"会员背景色"
prop=
"name"
>
<el-button
@
click=
"openChangeDig"
size=
"small"
>
选择文件
</el-button>
<div><img
style=
"width:80px;height:80px"
src=
"../../assets/img/default.png"
alt=
""
></div>
</el-form-item>
<el-form-item
label=
"累计金额自动升级"
>
<el-switch
v-model=
"addMsg.name"
active-color=
"#409EFF"
active-value=
"100"
inactive-value=
"0"
>
</el-switch>
</el-form-item>
<el-form-item
class=
"commonLabel"
label=
"升级条件"
prop=
"name"
>
<el-input
style=
"width:293px;"
type=
"number"
min=
"0.1"
size=
"small"
placeholder=
"请输入内容"
v-model=
"addMsg.name"
class=
"input-with-select"
>
<template
slot=
"prepend"
>
累计完成订单金额满
</
template
>
<el-button
slot=
"append"
>
元
</el-button>
</el-input>
</el-form-item>
<el-form-item
label=
"会员是否可购买"
>
<el-switch
v-model=
"addMsg.name"
active-color=
"#409EFF"
active-value=
"100"
inactive-value=
"0"
>
</el-switch>
</el-form-item>
<el-form-item
class=
"commonLabel"
label=
"购买价格"
prop=
"name"
>
<el-input
style=
"width:293px;"
type=
"number"
min=
"0.1"
size=
"small"
placeholder=
"请输入购买价格"
v-model=
"addMsg.name"
class=
"input-with-select"
>
<el-button
slot=
"append"
>
元
</el-button>
</el-input>
</el-form-item>
<el-form-item
label=
"h会员权益(多条)"
>
<div
style=
"width:700px;"
>
<el-table
class=
"setTable"
:data=
"tableData"
border
style=
"margin-bottom:20px"
>
<el-table-column
prop=
"ID"
width=
"180px"
label=
"权益标题"
>
<
template
slot-scope=
"scope"
>
<el-input
style=
"width:159px"
size=
"small"
v-model=
"val"
placeholder=
"请输入内容"
></el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
width=
"180px"
label=
"权益图标"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"openChangeDig"
size=
"small"
>
选择图片
</el-button>
<img
style=
"margin-left: 10px;width:50px;height:50px"
src=
"../../assets/img/default.png"
alt=
""
>
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
width=
"500px"
label=
"权益内容"
>
<
template
slot-scope=
"scope"
>
<el-input
type=
"textarea"
:rows=
"2"
placeholder=
"请输入内容"
v-model=
"val"
>
</el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
width=
"80px"
label=
"操作"
>
<
template
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"删除"
placement=
"top-start"
>
<img
style=
"width:32px;height:32px"
src=
"../../assets/img/userman/del.png"
alt=
""
>
</el-tooltip>
</
template
>
</el-table-column>
</el-table>
</div>
<div>
<i
class=
"el-icon-plus"
style=
"font-weight: bolder;margin-left:5px;color:#409EFF"
></i>
<span
style=
"color: rgb(53, 53, 53);font-size: 14px;"
>
新增权益
</span>
</div>
</el-form-item>
<el-form-item
label=
"会员规则"
prop=
"name"
>
</el-form-item>
</el-form>
</div>
<div
style=
"margin-top:20px"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogVisible = false"
>
保存
</el-button>
</div>
<!-- 选择文件 -->
<el-dialog
title=
"选择文件"
:visible
.
sync=
"changeState"
width=
"1240px"
>
<ChooseImg></ChooseImg>
</el-dialog>
</div>
</template>
<
script
>
import
ChooseImg
from
"@/components/global/ChooseImg.vue"
;
export
default
{
components
:
{
ChooseImg
},
data
()
{
return
{
currentPage4
:
3
,
changeState
:
false
,
val
:
''
,
addMsg
:{},
dialogVisible
:
false
,
value
:
''
,
options
:[],
tableData
:[
{
ID
:
'111'
}
],
msg
:{
pageIndex
:
1
,
pageSize
:
15
,
},
total
:
0
,
rules
:
{
name
:
[
{
required
:
true
,
message
:
'新手机号'
,
trigger
:
'blur'
}
],
},
};
},
created
()
{
},
methods
:
{
openChangeDig
(){
this
.
changeState
=
true
;
},
goUrl
(){
this
.
$router
.
push
({
name
:
'MembershipGrade'
,
query
:
{
blank
:
"y"
}
});
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getList
(){
},
},
mounted
()
{
}
};
</
script
>
<
style
>
.baseSet
.blue
{
color
:
#409EFF
;
}
.baseSet
.content
{
background
:
#fff
;
margin-top
:
10px
;
padding
:
20px
;
box-sizing
:
border-box
;
}
</
style
>
src/components/UserMan/setMember.vue
View file @
9846cf15
...
...
@@ -2,7 +2,7 @@
<
template
>
<div
class=
"setMember usersList"
>
<div
class=
"head-title"
>
<span
@
click=
"goUrl"
class=
"blue"
>
会员等级
</span>
/ 会员设置
<span
@
click=
"goUrl"
class=
"blue
point
"
>
会员等级
</span>
/ 会员设置
</div>
<div
class=
"content"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"150px"
>
...
...
@@ -77,7 +77,7 @@
width=
"180px"
label=
"权益标题"
>
<
template
slot-scope=
"scope"
>
<el-input
style=
"width:159px"
size=
"small"
v-model=
"
input
"
placeholder=
"请输入内容"
></el-input>
<el-input
style=
"width:159px"
size=
"small"
v-model=
"
val
"
placeholder=
"请输入内容"
></el-input>
</
template
>
</el-table-column>
<el-table-column
...
...
@@ -98,7 +98,7 @@
type=
"textarea"
:rows=
"2"
placeholder=
"请输入内容"
v-model=
"
textarea
"
>
v-model=
"
val
"
>
</el-input>
</
template
>
...
...
@@ -131,75 +131,16 @@
</div>
<!-- 选择文件 -->
<el-dialog
title=
"选择文件"
:visible
.
sync=
"changeState"
width=
"1240px"
>
<el-row
style=
"border: 1px solid rgb(227, 227, 227);"
>
<el-col
:span=
"6"
style=
"border-right: 1px solid rgb(227, 227, 227);"
>
<el-button
style=
"margin-top: 12px;margin-left: 5%;"
type=
"primary"
size=
"small"
>
添加分组
</el-button>
<div
style=
"margin:20px 0"
>
<el-input
v-model=
"val"
style=
"width:90%;margin:0 5%"
placeholder=
"请输入分类名称搜索"
size=
"small"
></el-input>
</div>
<div
class=
"el-scrollbar"
style=
"height: 450px; width: 100%;"
>
<div
class=
"el-scrollbar__wrap"
style=
"margin-bottom: -8px; margin-right: -8px;"
>
<div
class=
"el-scrollbar__view"
>
<li
class=
"el-menu-item"
style=
"padding-left: 10px;padding-right: 10px;"
>
<i
class=
"el-icon-tickets"
></i>
<span>
全部
</span>
</li>
<li
v-for=
"item in 9"
class=
"el-menu-item"
style=
"padding-left: 10px;padding-right: 10px;"
>
<div
flex=
"dir:left box:last"
>
<el-col
:span=
"18"
style=
"overflow: hidden; text-overflow: ellipsis;"
>
<i
class=
"el-icon-tickets"
></i>
<span>
羊肚菌
</span>
</el-col>
<el-col
class=
"blue"
:span=
"6"
>
<span>
编辑
</span>
|
<span>
删除
</span>
</el-col>
</div>
</li>
</div>
</div>
</div>
</el-col>
<el-col
:span=
"18"
>
<div
style=
"margin-top: 10px;margin-left: 20px;"
class=
"appendInput"
>
<el-input
size=
"small"
style=
"width:250px"
placeholder=
"请输入内容"
v-model=
"val"
>
<el-button
slot=
"append"
icon=
"el-icon-search"
></el-button>
</el-input>
</div>
<div
class=
"basefix app-attachment-list"
>
<div
class=
"app-attachment-item app-attachment-upload"
>
<div
class=
"app-upload"
flex=
"main:center cross:center"
style=
"width: 100px; height: 100px;"
>
<i
class=
"el-icon-upload"
></i>
<input
type=
"file"
accept=
"image/*"
multiple=
"multiple"
style=
"display: none;"
>
</div>
</div>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"Top Left 提示文字"
placement=
"top-start"
>
<div
class=
"el-tooltip item app-attachment-item"
>
<img
src=
"https://cdnimg.iotweixin.com/uploads/mall1285/20200422/58aac71950e2d86e6d7138484a3f7f7e.jpg"
class=
"app-attachment-img"
style=
"width: 100px; height: 100px;"
>
<div
class=
"app-attachment-name"
>
微信图片_20200422125658.jpg
</div>
</div>
</el-tooltip>
</div>
<div>
<el-pagination
style=
"text-align:right"
background
:current-page=
"currentPage4"
@
current-change=
"handleCurrentChange"
:page-size=
"msg.pageSize"
layout=
"prev, pager, next,jumper"
:total=
"total"
>
</el-pagination>
</div>
</el-col>
</el-row>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"changeState = false"
>
选定
</el-button>
</span>
<ChooseImg></ChooseImg>
</el-dialog>
</div>
</template>
<
script
>
import
ChooseImg
from
"@/components/global/ChooseImg.vue"
;
export
default
{
components
:
{
ChooseImg
},
data
()
{
return
{
currentPage4
:
3
,
...
...
@@ -257,55 +198,7 @@
</
script
>
<
style
>
.setMember
.app-attachment-name
{
color
:
#666666
;
margin-top
:
5px
;
font-size
:
13px
;
word-break
:
break-all
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
1
;
overflow
:
hidden
;
}
.setMember
.app-attachment-item
.app-attachment-img
{
display
:
block
;
}
.setMember
.app-attachment-upload
i
{
font-size
:
30px
;
color
:
#909399
;
}
.setMember
.app-attachment-item
{
display
:
inline-block
;
cursor
:
pointer
;
position
:
relative
;
float
:
left
;
width
:
120px
;
height
:
140px
;
margin
:
7.5px
;
text-align
:
center
;
padding
:
10px
10px
0
;
}
.setMember
.app-attachment-upload
{
box-shadow
:
none
;
border
:
1px
dashed
#b2b6bd
;
height
:
100px
;
width
:
100px
;
margin
:
17.5px
;
padding
:
0
;
}
.setMember
.app-attachment-list
{
padding
:
5px
;
}
.setMember
.appendInput
.el-input__inner
{
border-right
:
none
;
}
.setMember
.appendInput
.el-input-group__append
{
background-color
:
#fff
!important
;
border-left
:
none
;
padding
:
0
15px
;
}
.setMember
.setTable
.el-table__body
.cell
{
display
:
flex
;
align-items
:
center
;
...
...
src/components/UserMan/usersList.vue
View file @
9846cf15
...
...
@@ -129,9 +129,9 @@
width=
"200"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<img
style=
"width:32px;height:32px"
src=
"../../assets/img/userman/edit.png"
alt=
""
>
<img
style=
"width:32px;height:32px;margin:0 10px"
src=
"../../assets/img/userman/integral.png"
alt=
""
>
<img
style=
"width:32px;height:32px"
src=
"../../assets/img/userman/balance.png"
alt=
""
>
<img
@
click=
"EditgoUrl(scope.row)"
style=
"width:32px;height:32px"
src=
"../../assets/img/userman/edit.png"
alt=
""
>
<img
@
click=
"OpenczjfDig(scope.row,1)"
style=
"width:32px;height:32px;margin:0 10px"
src=
"../../assets/img/userman/integral.png"
alt=
""
>
<img
@
click=
"OpenczjfDig(scope.row,2)"
style=
"width:32px;height:32px"
src=
"../../assets/img/userman/balance.png"
alt=
""
>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -164,12 +164,52 @@
<el-button
size=
"small"
type=
"primary"
@
click=
"Export"
>
导出
</el-button>
</div>
</el-dialog>
<!-- 选择文件 -->
<el-dialog
title=
"选择文件"
:visible
.
sync=
"changeState"
width=
"1240px"
>
<ChooseImg></ChooseImg>
</el-dialog>
<!-- 充值积分 -->
<el-dialog
title=
"充值"
:visible
.
sync=
"czjfDig"
width=
"600px"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"100px"
>
<el-form-item
label=
"操作"
prop=
"Type"
>
<el-radio
v-model=
"addMsg.Type"
:label=
"1"
>
充值
</el-radio>
<el-radio
v-model=
"addMsg.Type"
:label=
"2"
>
扣除
</el-radio>
</el-form-item>
<el-form-item
v-if=
"czType==1"
label=
"积分数"
prop=
"Integral"
>
<el-input
@
keyup
.
native=
"checkInteger(addMsg,'Integral')"
size=
"small"
v-model=
"addMsg.Integral"
></el-input>
</el-form-item>
<el-form-item
v-if=
"czType==2"
label=
"充值金额"
prop=
"Balance"
>
<el-input
@
keyup
.
native=
"checkInteger(addMsg,'Balance')"
size=
"small"
v-model=
"addMsg.Balance"
></el-input>
</el-form-item>
<el-form-item
label=
"充值图片"
>
<el-button
@
click=
"openChangeDig"
size=
"small"
>
选择文件
</el-button>
<div>
<img
style=
"width:80px;height:80px"
src=
"../../assets/img/default.png"
alt=
""
>
<img
style=
"width:80px;height:80px"
:src=
"addMsg.Image"
alt=
""
>
</div>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
size=
"small"
v-model=
"addMsg.Description"
></el-input>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"czsubmitForm('addMsg')"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
ChooseImg
from
"@/components/global/ChooseImg.vue"
;
export
default
{
components
:
{
ChooseImg
},
data
()
{
return
{
czType
:
1
,
czjfDig
:
false
,
changeState
:
false
,
loading
:
false
,
checkAll
:
false
,
checkedCities
:
[],
...
...
@@ -177,7 +217,7 @@
cityOptions
:
[],
isIndeterminate
:
true
,
addMsg
:{},
dialogVisible
:
tru
e
,
dialogVisible
:
fals
e
,
value
:
''
,
options
:[],
tableData
:[],
...
...
@@ -193,6 +233,22 @@
total
:
0
,
platList
:[],
memberGradeList
:[],
rules
:{
Type
:
[
{
required
:
true
,
message
:
'请选择类型'
,
trigger
:
'change'
}
],
Integral
:
[
{
required
:
true
,
message
:
'请输入积分'
,
trigger
:
'blur'
}
],
},
addMsg
:{
MallBaseId
:
0
,
Type
:
1
,
UserId
:
0
,
Integral
:
0
,
Image
:
''
,
Description
:
''
,
},
};
},
...
...
@@ -203,6 +259,57 @@
this
.
GetMemberGradeList
();
},
methods
:
{
EditgoUrl
(
row
){
this
.
$router
.
push
({
name
:
'usersListEdit'
,
query
:
{
blank
:
"y"
}
});
},
czsubmitForm
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
let
cmd
=
""
;
if
(
this
.
czType
==
1
){
cmd
=
"/api/user/SetMemberIntegralInfo"
;
}
else
{
cmd
=
"/api/user/SetMemberBalanceInfo"
;
}
this
.
apipost
(
cmd
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
)
this
.
czjfDig
=
false
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
}
else
{
return
false
;
}
});
},
OpenczjfDig
(
row
,
index
){
this
.
czType
=
index
;
this
.
czjfDig
=
true
;
this
.
addMsg
=
{
MallBaseId
:
0
,
Type
:
1
,
UserId
:
row
.
Id
,
Integral
:
''
,
Image
:
''
,
Description
:
''
,
Balance
:
''
,
}
},
openChangeDig
(){
this
.
changeState
=
true
;
},
Export
(){
this
.
msg
.
ExcelEnumIds
=
this
.
checkedCities
;
console
.
log
(
"this.msg"
,
this
.
msg
)
...
...
@@ -248,7 +355,7 @@
Name
:
''
,
Enabled
:
0
,
};
this
.
apipost
(
"/api/user/GetMemberGradeList"
,
{
msg
}
,
res
=>
{
this
.
apipost
(
"/api/user/GetMemberGradeList"
,
msg
,
res
=>
{
this
.
memberGradeList
=
res
.
data
.
data
;
})
},
...
...
src/components/UserMan/usersListEdit.vue
0 → 100644
View file @
9846cf15
<
template
>
<div
class=
"setMember usersList usersListEdit"
>
<div
class=
"head-title"
>
<span
@
click=
"goUrl"
class=
"blue point"
>
用户管理
</span>
/ 用户编辑
</div>
<div
class=
"content"
>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"150px"
>
<el-form-item
label=
"用户"
>
<div
class=
"app-image"
style=
"background-image: url(https://wx.qlogo.cn/mmopen/vi_32/oGIVrPVN31icEqGbm2lHxwnutS3mD9xx40ZRx2E7U8cFicdY2YFAlZtfSXwjYvQicA9ggpSf5BtdPfoIreCialklKg/132); "
></div>
</el-form-item>
<el-form-item
label=
"会员等级"
>
<el-select
style=
"width:293px;"
size=
"small"
v-model=
"addMsg.name"
placeholder=
"请选择活动区域"
>
<el-option
label=
"区域一"
value=
"shanghai"
></el-option>
<el-option
label=
"区域二"
value=
"beijing"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"上级"
>
<el-autocomplete
size=
"small"
v-model=
"val"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入内容"
@
select=
"handleSelect"
></el-autocomplete>
</el-form-item>
<el-form-item
label=
"加入黑名单"
>
<el-switch
v-model=
"addMsg.name"
active-color=
"#409EFF"
active-value=
"100"
inactive-value=
"0"
>
</el-switch>
<span
class=
"tip"
>
加入黑名单后,用户将无法下单
</span>
</el-form-item>
<el-form-item
label=
"联系方式"
>
<el-input
v-model=
"val"
style=
"width:478px"
size=
"small"
></el-input>
</el-form-item>
<el-form-item
label=
"手机号"
>
<el-input
v-model=
"val"
style=
"width:478px"
size=
"small"
></el-input>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
v-model=
"val"
style=
"width:478px"
size=
"small"
></el-input>
</el-form-item>
<el-form-item
label=
"修改备注名"
>
<el-input
v-model=
"val"
style=
"width:478px"
size=
"small"
></el-input>
</el-form-item>
<el-form-item
label=
"注册时间"
>
<span>
2020-04-23 13:37:53
</span>
</el-form-item>
</el-form>
</div>
<div
style=
"margin-top:20px"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogVisible = false"
>
保存
</el-button>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
currentPage4
:
3
,
changeState
:
false
,
val
:
''
,
addMsg
:{},
dialogVisible
:
false
,
value
:
''
,
options
:[],
tableData
:[
{
ID
:
'111'
}
],
msg
:{
pageIndex
:
1
,
pageSize
:
15
,
},
total
:
0
,
rules
:
{
name
:
[
{
required
:
true
,
message
:
'新手机号'
,
trigger
:
'blur'
}
],
},
restaurants
:
[
{
"value"
:
"三全鲜食(北新泾店)"
,
"address"
:
"长宁区新渔路144号"
},
{
"value"
:
"Hot honey 首尔炸鸡(仙霞路)"
,
"address"
:
"上海市长宁区淞虹路661号"
},
{
"value"
:
"新旺角茶餐厅"
,
"address"
:
"上海市普陀区真北路988号创邑金沙谷6号楼113"
},
{
"value"
:
"泷千家(天山西路店)"
,
"address"
:
"天山西路438号"
},
{
"value"
:
"胖仙女纸杯蛋糕(上海凌空店)"
,
"address"
:
"上海市长宁区金钟路968号1幢18号楼一层商铺18-101"
},
{
"value"
:
"贡茶"
,
"address"
:
"上海市长宁区金钟路633号"
},
{
"value"
:
"豪大大香鸡排超级奶爸"
,
"address"
:
"上海市嘉定区曹安公路曹安路1685号"
},
],
};
},
created
()
{
},
methods
:
{
handleSelect
(
item
)
{
console
.
log
(
item
);
},
querySearch
(
queryString
,
cb
)
{
var
restaurants
=
this
.
restaurants
;
var
results
=
queryString
?
restaurants
.
filter
(
this
.
createFilter
(
queryString
))
:
restaurants
;
// 调用 callback 返回建议列表的数据
cb
(
results
);
},
openChangeDig
(){
this
.
changeState
=
true
;
},
goUrl
(){
this
.
$router
.
push
({
name
:
'usersList'
,
query
:
{
blank
:
"y"
}
});
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getList
(){
},
},
mounted
()
{
}
};
</
script
>
<
style
>
.usersListEdit
.tip
{
margin-left
:
10px
;
display
:
inline-block
;
height
:
30px
;
line-height
:
30px
;
color
:
#ff4544
;
background-color
:
#FEF0F0
;
padding
:
0
20px
;
border-radius
:
5px
;
}
.usersListEdit
.app-image
{
background-size
:
cover
;
background-position
:
center
center
;
width
:
80px
;
height
:
80px
;
border-radius
:
0%
;
}
.setMember
.setTable
.el-table__body
.cell
{
display
:
flex
;
align-items
:
center
;
}
.setMember
.commonLabel
.el-form-item__label
{
margin-top
:
-4px
;
}
.setMember
.discount
.el-form-item__label
{
padding-right
:
30px
;
margin-top
:
-4px
;
}
.setMember
.el-form-item
.elzk
{
position
:
absolute
;
left
:
-25px
;
top
:
8px
;
}
.setMember
.el-form-item
{
position
:
relative
;
}
.usersList
.blue
{
color
:
#409EFF
;
}
.usersList
.content
{
background
:
#fff
;
margin-top
:
10px
;
padding
:
20px
;
box-sizing
:
border-box
;
}
</
style
>
src/router/index.js
View file @
9846cf15
...
...
@@ -55,33 +55,50 @@ export default new Router({
path
:
'/usersList'
,
name
:
'usersList'
,
component
:
resolve
=>
require
([
'@/components/UserMan/usersList'
],
resolve
),
},
// 用户管理 核销员
{
},
// 用户管理 用户列表编辑
{
path
:
'/usersListEdit'
,
name
:
'usersListEdit'
,
component
:
resolve
=>
require
([
'@/components/UserMan/usersListEdit'
],
resolve
),
},
// 用户管理 核销员
{
path
:
'/verificationMember'
,
name
:
'verificationMember'
,
component
:
resolve
=>
require
([
'@/components/UserMan/verificationMember'
],
resolve
),
},
// 用户管理 会员等级
{
path
:
'/MembershipGrade'
,
name
:
'MembershipGrade'
,
component
:
resolve
=>
require
([
'@/components/UserMan/MembershipGrade'
],
resolve
),
},
// 用户管理 会员等级/会员设置
{
path
:
'/setMember'
,
name
:
'setMember'
,
component
:
resolve
=>
require
([
'@/components/UserMan/setMember'
],
resolve
),
},
// 用户管理 会员等级/会员购买
{
},
// 用户管理 会员等级
{
path
:
'/MembershipGrade'
,
name
:
'MembershipGrade'
,
component
:
resolve
=>
require
([
'@/components/UserMan/MembershipGrade'
],
resolve
),
},
// 用户管理 会员等级/会员设置
{
path
:
'/setMember'
,
name
:
'setMember'
,
component
:
resolve
=>
require
([
'@/components/UserMan/setMember'
],
resolve
),
},
// 用户管理 会员等级/会员购买
{
path
:
'/MembersBuy'
,
name
:
'MembersBuy'
,
component
:
resolve
=>
require
([
'@/components/UserMan/MembersBuy'
],
resolve
),
},
},
// 用户管理 分销商管理 基础设置
{
path
:
'/baseSet'
,
name
:
'baseSet'
,
component
:
resolve
=>
require
([
'@/components/UserMan/baseSet'
],
resolve
),
},
// 商品管理 素材管理
{
path
:
'/materialMan'
,
name
:
'materialMan'
,
component
:
resolve
=>
require
([
'@/components/CommodityMan/materialMan'
],
resolve
),
},
]
},
...
...
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