Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
S
sun
Project
Project
Details
Activity
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
钟尚武
sun
Commits
149d0a36
Commit
149d0a36
authored
6 years ago
by
Davve
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
跳转
parent
89443bb1
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
230 additions
and
198 deletions
+230
-198
account.py
api/account.py
+3
-3
group.py
api/group.py
+8
-0
tag.py
api/tag.py
+11
-12
topic.py
api/topic.py
+6
-0
urls.py
api/urls.py
+1
-1
user.py
api/user.py
+10
-7
index.js
vu/src/router/index.js
+0
-1
AccountDetail.vue
vu/src/views/account/components/AccountDetail.vue
+4
-4
list.vue
vu/src/views/account/list.vue
+5
-5
GroupDetail.vue
vu/src/views/group/components/GroupDetail.vue
+2
-3
list.vue
vu/src/views/group/list.vue
+5
-3
index.vue
vu/src/views/login/index.vue
+3
-4
list.vue
vu/src/views/pick/list.vue
+0
-1
list.vue
vu/src/views/star/list.vue
+1
-1
TagDetail.vue
vu/src/views/tag/components/TagDetail.vue
+11
-11
list.vue
vu/src/views/tag/list.vue
+0
-1
list.vue
vu/src/views/topic/list.vue
+2
-0
UserDetail.vue
vu/src/views/user/components/UserDetail.vue
+3
-3
list.vue
vu/src/views/user/list.vue
+155
-138
No files found.
api/account.py
View file @
149d0a36
...
@@ -13,7 +13,7 @@ class AccountList(APIView):
...
@@ -13,7 +13,7 @@ class AccountList(APIView):
limit
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
limit
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
filter
=
self
.
handle_filter
(
request
.
GET
.
get
(
'filter'
,
""
))
filter
=
self
.
handle_filter
(
request
.
GET
.
get
(
'filter'
,
""
))
try
:
try
:
data
=
self
.
rpc
[
'venus/
community/account/ge
t'
](
offset
=
page
,
limit
=
limit
,
filters
=
filter
)
.
unwrap
()
data
=
self
.
rpc
[
'venus/
sun/account/lis
t'
](
offset
=
page
,
limit
=
limit
,
filters
=
filter
)
.
unwrap
()
except
Exception
as
e
:
except
Exception
as
e
:
raise
e
raise
e
return
data
return
data
...
@@ -46,10 +46,10 @@ class AccountUpdateOrCreateView(APIView):
...
@@ -46,10 +46,10 @@ class AccountUpdateOrCreateView(APIView):
'email'
:
request
.
POST
.
get
(
'email'
),
'email'
:
request
.
POST
.
get
(
'email'
),
'password'
:
request
.
POST
.
get
(
'password'
),
'password'
:
request
.
POST
.
get
(
'password'
),
'phone'
:
request
.
POST
.
get
(
'phone'
),
'phone'
:
request
.
POST
.
get
(
'phone'
),
'nick
name'
:
request
.
POST
.
get
(
'nick
name'
),
'nick
_name'
:
request
.
POST
.
get
(
'nick_
name'
),
}
}
try
:
try
:
self
.
rpc
[
'venus/
community/account/create
'
](
id
=
id
,
data
=
data
)
.
unwrap
()
self
.
rpc
[
'venus/
sun/account/edit
'
](
id
=
id
,
data
=
data
)
.
unwrap
()
except
Exception
as
e
:
except
Exception
as
e
:
raise
e
raise
e
return
{
return
{
...
...
This diff is collapsed.
Click to expand it.
api/group.py
View file @
149d0a36
...
@@ -9,9 +9,15 @@ from utils.base import APIView
...
@@ -9,9 +9,15 @@ from utils.base import APIView
class
GroupListView
(
APIView
):
class
GroupListView
(
APIView
):
def
get
(
self
,
request
):
def
get
(
self
,
request
):
star_id
=
request
.
GET
.
get
(
'star_id'
)
user_id
=
request
.
GET
.
get
(
'user_id'
)
offset
=
int
(
request
.
GET
.
get
(
'page'
,
0
))
offset
=
int
(
request
.
GET
.
get
(
'page'
,
0
))
limit
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
limit
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
filters
=
self
.
handle_filter
(
request
.
GET
.
get
(
'filter'
,
""
))
filters
=
self
.
handle_filter
(
request
.
GET
.
get
(
'filter'
,
""
))
if
star_id
:
filters
.
update
({
'star_id'
:
star_id
})
if
user_id
:
filters
.
update
({
'user_id'
:
user_id
})
try
:
try
:
data
=
self
.
rpc
[
'venus/sun/group/list'
](
filters
=
filters
,
offset
=
(
offset
-
1
)
*
limit
,
limit
=
limit
)
.
unwrap
()
data
=
self
.
rpc
[
'venus/sun/group/list'
](
filters
=
filters
,
offset
=
(
offset
-
1
)
*
limit
,
limit
=
limit
)
.
unwrap
()
except
Exception
as
e
:
except
Exception
as
e
:
...
@@ -68,12 +74,14 @@ class GroupUpdateOrCreate(APIView):
...
@@ -68,12 +74,14 @@ class GroupUpdateOrCreate(APIView):
class
GroupRelatedUser
(
APIView
):
class
GroupRelatedUser
(
APIView
):
def
get
(
self
,
request
):
def
get
(
self
,
request
):
print
(
request
.
GET
)
id
=
request
.
GET
.
get
(
'id'
)
id
=
request
.
GET
.
get
(
'id'
)
offset
=
int
(
request
.
GET
.
get
(
'page'
,
0
))
offset
=
int
(
request
.
GET
.
get
(
'page'
,
0
))
count
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
count
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
filters
=
{
'group_id'
:
id
}
filters
=
{
'group_id'
:
id
}
try
:
try
:
data
=
self
.
rpc
[
'venus/sun/group/user/list'
](
filters
=
filters
,
offset
=
offset
,
limit
=
count
)
.
unwrap
()
data
=
self
.
rpc
[
'venus/sun/group/user/list'
](
filters
=
filters
,
offset
=
offset
,
limit
=
count
)
.
unwrap
()
print
(
data
,
'--------------'
)
except
Exception
as
e
:
except
Exception
as
e
:
raise
e
raise
e
return
data
return
data
...
...
This diff is collapsed.
Click to expand it.
api/tag.py
View file @
149d0a36
...
@@ -12,7 +12,7 @@ class TagListView(APIView):
...
@@ -12,7 +12,7 @@ class TagListView(APIView):
limit
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
limit
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
filter
=
self
.
handle_filter
(
request
.
GET
.
get
(
'filter'
,
""
))
filter
=
self
.
handle_filter
(
request
.
GET
.
get
(
'filter'
,
""
))
try
:
try
:
data
=
self
.
rpc
[
'venus/
community/tag/ge
t'
](
offset
=
offset
,
limit
=
limit
,
filters
=
filter
)
.
unwrap
()
data
=
self
.
rpc
[
'venus/
sun/tag/lis
t'
](
offset
=
offset
,
limit
=
limit
,
filters
=
filter
)
.
unwrap
()
except
Exception
as
e
:
except
Exception
as
e
:
raise
e
raise
e
return
data
return
data
...
@@ -20,13 +20,13 @@ class TagListView(APIView):
...
@@ -20,13 +20,13 @@ class TagListView(APIView):
def
post
(
self
,
request
):
def
post
(
self
,
request
):
ids
=
request
.
POST
.
get
(
'ids'
,
''
)
.
split
()
ids
=
request
.
POST
.
get
(
'ids'
,
''
)
.
split
()
type
=
request
.
POST
.
get
(
'type'
,
''
)
type
=
request
.
POST
.
get
(
'type'
,
''
)
filter
s
=
{}
update
s
=
{}
if
type
==
'offline'
:
if
type
==
'offline'
:
filter
s
[
'is_online'
]
=
False
update
s
[
'is_online'
]
=
False
else
:
else
:
filter
s
[
'is_online'
]
=
True
update
s
[
'is_online'
]
=
True
try
:
try
:
self
.
rpc
[
'venus/
community/tag/batch/update'
](
filters
=
filters
,
tag_
ids
=
ids
)
.
unwrap
()
self
.
rpc
[
'venus/
sun/tag/batch/update'
](
updates
=
updates
,
ids
=
ids
)
.
unwrap
()
except
Exception
as
e
:
except
Exception
as
e
:
raise
e
raise
e
return
{
return
{
...
@@ -38,26 +38,25 @@ class TagUpdateOrCreateView(APIView):
...
@@ -38,26 +38,25 @@ class TagUpdateOrCreateView(APIView):
def
get
(
self
,
request
):
def
get
(
self
,
request
):
id
=
request
.
GET
.
get
(
'id'
)
id
=
request
.
GET
.
get
(
'id'
)
try
:
try
:
data
=
self
.
rpc
[
'venus/
community
/tag/get'
](
id
=
id
)
.
unwrap
()
data
=
self
.
rpc
[
'venus/
sun
/tag/get'
](
id
=
id
)
.
unwrap
()
except
Exception
as
e
:
except
Exception
as
e
:
raise
e
raise
e
if
not
data
:
if
not
data
:
data
=
{}
data
=
{}
else
:
else
:
data
=
data
[
'data'
][
0
]
pass
return
{
'data'
:
data
}
return
{
'data'
:
data
}
def
post
(
self
,
request
):
def
post
(
self
,
request
):
id
=
request
.
POST
.
get
(
'id'
)
data
=
{
data
=
{
'name'
:
request
.
POST
.
get
(
'name'
),
'name'
:
request
.
POST
.
get
(
'name'
),
'level'
:
request
.
POST
.
get
(
'level'
),
'type'
:
request
.
POST
.
get
(
'type'
),
'description'
:
request
.
POST
.
get
(
'description'
),
'description'
:
request
.
POST
.
get
(
'description'
),
'down_tag'
:
list
(
set
(
request
.
POST
.
get
(
'down_tag'
,
''
)
.
split
(
','
))),
'down_tag'
:
list
(
set
(
request
.
POST
.
get
(
'down_tag
s
'
,
''
)
.
split
(
','
))),
'up_tag'
:
list
(
set
(
request
.
POST
.
get
(
'
up_tag
'
,
''
)
.
split
(
','
))),
'up_tag'
:
list
(
set
(
request
.
POST
.
get
(
'
down_tags
'
,
''
)
.
split
(
','
))),
}
}
try
:
try
:
self
.
rpc
[
'venus/
community/tag/update_or_create'
](
data
=
data
)
.
unwrap
()
self
.
rpc
[
'venus/
sun/tag/edit'
](
id
=
id
,
data
=
data
)
.
unwrap
()
except
Exception
as
e
:
except
Exception
as
e
:
raise
e
raise
e
return
{
return
{
...
...
This diff is collapsed.
Click to expand it.
api/topic.py
View file @
149d0a36
...
@@ -10,9 +10,15 @@ from utils.time_utils import analysis_time
...
@@ -10,9 +10,15 @@ from utils.time_utils import analysis_time
class
TopicListView
(
APIView
):
class
TopicListView
(
APIView
):
def
get
(
self
,
request
):
def
get
(
self
,
request
):
user_id
=
request
.
GET
.
get
(
'user_id'
,
''
)
group_id
=
request
.
GET
.
get
(
'group_id'
,
''
)
offset
=
int
(
request
.
GET
.
get
(
'page'
,
0
))
offset
=
int
(
request
.
GET
.
get
(
'page'
,
0
))
limit
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
limit
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
filter
=
self
.
handle_filter
(
request
.
GET
.
get
(
'filter'
,
""
))
filter
=
self
.
handle_filter
(
request
.
GET
.
get
(
'filter'
,
""
))
if
user_id
:
filter
.
update
({
'user_id'
:
user_id
})
if
group_id
:
filter
.
update
({
'group_id'
:
group_id
})
try
:
try
:
data
=
self
.
rpc
[
'venus/sun/topic/list'
](
offset
=
(
offset
-
1
)
*
limit
,
limit
=
limit
,
filters
=
filter
)
.
unwrap
()
data
=
self
.
rpc
[
'venus/sun/topic/list'
](
offset
=
(
offset
-
1
)
*
limit
,
limit
=
limit
,
filters
=
filter
)
.
unwrap
()
except
Exception
as
e
:
except
Exception
as
e
:
...
...
This diff is collapsed.
Click to expand it.
api/urls.py
View file @
149d0a36
...
@@ -38,7 +38,7 @@ urlpatterns = [
...
@@ -38,7 +38,7 @@ urlpatterns = [
url
(
r'^group/list$'
,
GroupListView
.
as_view
()),
url
(
r'^group/list$'
,
GroupListView
.
as_view
()),
url
(
r'^group/list/update$'
,
GroupListView
.
as_view
()),
url
(
r'^group/list/update$'
,
GroupListView
.
as_view
()),
url
(
r'^group/get$'
,
GroupUpdateOrCreate
.
as_view
()),
url
(
r'^group/get$'
,
GroupUpdateOrCreate
.
as_view
()),
url
(
r'group/create$'
,
GroupUpdateOrCreate
.
as_view
()),
url
(
r'
^
group/create$'
,
GroupUpdateOrCreate
.
as_view
()),
url
(
r'^group/user/list$'
,
GroupRelatedUser
.
as_view
()),
url
(
r'^group/user/list$'
,
GroupRelatedUser
.
as_view
()),
url
(
r'^group/user/get$'
,
GroupRelatedUserGET
.
as_view
()),
url
(
r'^group/user/get$'
,
GroupRelatedUserGET
.
as_view
()),
...
...
This diff is collapsed.
Click to expand it.
api/user.py
View file @
149d0a36
...
@@ -10,9 +10,12 @@ from utils.time_utils import analysis_time
...
@@ -10,9 +10,12 @@ from utils.time_utils import analysis_time
class
UserListView
(
APIView
):
class
UserListView
(
APIView
):
def
get
(
self
,
request
):
def
get
(
self
,
request
):
group_id
=
request
.
GET
.
get
(
'group_id'
,
''
)
page
=
int
(
request
.
GET
.
get
(
'page'
,
1
))
page
=
int
(
request
.
GET
.
get
(
'page'
,
1
))
limit
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
limit
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
filter
=
self
.
handle_filter
(
request
.
GET
.
get
(
'filter'
,
""
))
filter
=
self
.
handle_filter
(
request
.
GET
.
get
(
'filter'
,
""
))
if
group_id
:
filter
.
update
({
'group_id'
:
group_id
})
try
:
try
:
data
=
self
.
rpc
[
'venus/sun/user/list'
](
offset
=
(
page
-
1
)
*
limit
,
limit
=
limit
,
filters
=
filter
)
.
unwrap
()
data
=
self
.
rpc
[
'venus/sun/user/list'
](
offset
=
(
page
-
1
)
*
limit
,
limit
=
limit
,
filters
=
filter
)
.
unwrap
()
except
Exception
as
e
:
except
Exception
as
e
:
...
@@ -35,7 +38,7 @@ class UserUpdateOrCreate(APIView):
...
@@ -35,7 +38,7 @@ class UserUpdateOrCreate(APIView):
data
=
{
data
=
{
'is_recommend'
:
request
.
POST
.
get
(
'is_recommend'
),
'is_recommend'
:
request
.
POST
.
get
(
'is_recommend'
),
'
avatar'
:
request
.
POST
.
get
(
'avatar'
)
,
'
profile_pic'
:
request
.
POST
.
get
(
'avatar'
)[:
-
2
]
,
'nick_name'
:
request
.
POST
.
get
(
'nick_name'
),
'nick_name'
:
request
.
POST
.
get
(
'nick_name'
),
'tag_ids'
:
request
.
POST
.
get
(
'tag_ids'
),
'tag_ids'
:
request
.
POST
.
get
(
'tag_ids'
),
'is_puppet'
:
request
.
POST
.
get
(
'is_puppet'
),
'is_puppet'
:
request
.
POST
.
get
(
'is_puppet'
),
...
@@ -59,11 +62,11 @@ class UserUpdateOrCreate(APIView):
...
@@ -59,11 +62,11 @@ class UserUpdateOrCreate(APIView):
class
UserGroupView
(
APIView
):
class
UserGroupView
(
APIView
):
def
get
(
self
,
request
):
def
get
(
self
,
request
):
user_id
=
request
.
GET
.
get
(
'id'
)
user_id
=
request
.
GET
.
get
(
'id'
)
offset
=
int
(
request
.
GET
.
get
(
'page'
,
0
))
count
=
int
(
request
.
GET
.
get
(
'limit'
,
10
))
filters
=
{
'user_id'
:
user_id
}
try
:
try
:
data
=
self
.
rpc
[
'venus/sun/
user/group/list'
](
user_id
=
user_id
)
.
unwrap
()
data
=
self
.
rpc
[
'venus/sun/
group/user/list'
](
filters
=
filters
,
offset
=
(
offset
-
1
)
*
count
,
limit
=
count
)
.
unwrap
()
except
Exception
as
e
:
except
Exception
as
e
:
raise
e
raise
e
return
{
return
data
'total'
:
1
,
\ No newline at end of file
'data'
:
data
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
vu/src/router/index.js
View file @
149d0a36
...
@@ -91,7 +91,6 @@ export default new Router({
...
@@ -91,7 +91,6 @@ export default new Router({
export
const
asyncRouterMap
=
[
export
const
asyncRouterMap
=
[
/** When your routing table is too long, you can split it into small modules**/
/** When your routing table is too long, you can split it into small modules**/
componentsRouter
,
AccountRouter
,
AccountRouter
,
UserRouter
,
UserRouter
,
GroupRouter
,
GroupRouter
,
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/account/components/AccountDetail.vue
View file @
149d0a36
...
@@ -43,8 +43,8 @@
...
@@ -43,8 +43,8 @@
<el-row>
<el-row>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
style=
"margin-bottom: 40px;"
prop=
"nickname"
>
<el-form-item
style=
"margin-bottom: 40px;"
prop=
"nick
_
name"
>
<MDinput
v-model=
"postForm.nick
name"
:maxlength=
"100"
name=
"nick
name"
required
>
<MDinput
v-model=
"postForm.nick
_name"
:maxlength=
"100"
name=
"nick_
name"
required
>
姓名
姓名
</MDinput>
</MDinput>
</el-form-item>
</el-form-item>
...
@@ -82,7 +82,7 @@ const defaultForm = {
...
@@ -82,7 +82,7 @@ const defaultForm = {
password
:
''
,
password
:
''
,
email
:
''
,
email
:
''
,
phone
:
''
,
phone
:
''
,
nickname
:
''
nick
_
name
:
''
}
}
export
default
{
export
default
{
...
@@ -112,7 +112,7 @@ export default {
...
@@ -112,7 +112,7 @@ export default {
userListOptions
:
[],
userListOptions
:
[],
rules
:
{
rules
:
{
username
:
[{
validator
:
validateRequire
}],
username
:
[{
validator
:
validateRequire
}],
nickname
:
[{
validator
:
validateRequire
}],
nick
_
name
:
[{
validator
:
validateRequire
}],
email
:
[{
validator
:
validateRequire
}],
email
:
[{
validator
:
validateRequire
}],
password
:
[{
validator
:
validateRequire
}],
password
:
[{
validator
:
validateRequire
}],
phone
:
[{
validator
:
validateRequire
}],
phone
:
[{
validator
:
validateRequire
}],
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/account/list.vue
View file @
149d0a36
...
@@ -11,8 +11,8 @@
...
@@ -11,8 +11,8 @@
<el-button
class=
"filter-item"
style=
"margin-left: 10px;"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"handleOfflineOrOnline('online')"
>
上线
</el-button>
<el-button
class=
"filter-item"
style=
"margin-left: 10px;"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"handleOfflineOrOnline('online')"
>
上线
</el-button>
</div>
</div>
<el-table
v-loading=
"listLoading"
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%"
ref=
"multipleTable"
@
selection-change=
"handleSelectionChange"
>
<el-table
v-loading=
"listLoading"
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%"
ref=
"multipleTable"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
></el-table-column>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
align=
"center"
label=
"账号ID"
width=
"180"
>
<el-table-column
align=
"center"
label=
"账号ID"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<router-link
:to=
"'/account/edit/'+scope.row.id"
class=
"link-type"
>
<router-link
:to=
"'/account/edit/'+scope.row.id"
class=
"link-type"
>
<span>
{{
scope
.
row
.
id
}}
</span>
<span>
{{
scope
.
row
.
id
}}
</span>
...
@@ -20,20 +20,20 @@
...
@@ -20,20 +20,20 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"307px"
align=
"center"
label=
"用户名"
>
<el-table-column
align=
"center"
label=
"用户名"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
username
}}
</span>
<span>
{{
scope
.
row
.
username
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"280px"
align=
"center"
label=
"密码"
>
<el-table-column
align=
"center"
label=
"密码"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
password
}}
</span>
<span>
{{
scope
.
row
.
password
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"380px"
align=
"center"
label=
"邮箱"
>
<el-table-column
align=
"center"
label=
"邮箱"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
email
}}
</span>
<span>
{{
scope
.
row
.
email
}}
</span>
</
template
>
</
template
>
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/group/components/GroupDetail.vue
View file @
149d0a36
...
@@ -147,7 +147,7 @@
...
@@ -147,7 +147,7 @@
</el-table>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"listQuery.page"
:limit
.
sync
=
"listQuery.limit"
<pagination
v-show=
"total>0"
:total=
"total"
:page
=
"listQuery.page"
:limit
=
"listQuery.limit"
style=
"margin-left: 250px;"
@
pagination=
"getList"
/>
style=
"margin-left: 250px;"
@
pagination=
"getList"
/>
</div>
</div>
</el-card>
</el-card>
...
@@ -383,9 +383,8 @@
...
@@ -383,9 +383,8 @@
},
},
getList
()
{
getList
()
{
this
.
listLoading
=
true
this
.
listLoading
=
true
let
id
=
this
.
$route
.
params
&&
this
.
$route
.
params
.
id
;
this
.
listQuery
.
id
=
this
.
$route
.
params
&&
this
.
$route
.
params
.
id
this
.
listQuery
.
id
=
this
.
$route
.
params
&&
this
.
$route
.
params
.
id
fetchGroupRelateduser
(
this
.
list
.
list
Query
).
then
(
response
=>
{
fetchGroupRelateduser
(
this
.
listQuery
).
then
(
response
=>
{
let
rep
=
response
.
data
.
data
.
data
let
rep
=
response
.
data
.
data
.
data
this
.
tableData
=
response
.
data
.
data
.
data
this
.
tableData
=
response
.
data
.
data
.
data
this
.
total
=
response
.
data
.
data
.
total
this
.
total
=
response
.
data
.
data
.
total
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/group/list.vue
View file @
149d0a36
...
@@ -48,15 +48,15 @@
...
@@ -48,15 +48,15 @@
<el-table-column
align=
"center"
label=
"用户数"
>
<el-table-column
align=
"center"
label=
"用户数"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"
'/user/edit/'+scope.row.id
"
class=
"link-type"
>
<router-link
:to=
"
{path: '/user/list/', query: {group_id: scope.row.id}}
" class="link-type">
<span>
{{
scope
.
row
.
user_nums
}}
</span>
<span>
{{
scope
.
row
.
user_nums
}}
</span>
</router-link>
</router-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"帖子数"
>
<el-table-column
align=
"center"
label=
"帖子数"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"
'/topic/list/'+scope.row.id
"
class=
"link-type"
>
<router-link
:to=
"
{path: '/topic/list/', query: {group_id: scope.row.id}}
" class="link-type">
<span>
{{
scope
.
row
.
topic_nums
}}
</span>
<span>
{{
scope
.
row
.
topic_nums
}}
</span>
</router-link>
</router-link>
</
template
>
</
template
>
...
@@ -151,6 +151,8 @@ export default {
...
@@ -151,6 +151,8 @@ export default {
methods
:
{
methods
:
{
getList
()
{
getList
()
{
this
.
listLoading
=
true
this
.
listLoading
=
true
this
.
listQuery
.
star_id
=
this
.
$route
.
query
.
star_id
||
''
this
.
listQuery
.
user_id
=
this
.
$route
.
query
.
user_id
||
''
fetchList
(
this
.
listQuery
).
then
(
response
=>
{
fetchList
(
this
.
listQuery
).
then
(
response
=>
{
console
.
log
(
response
.
data
.
data
.
data
)
console
.
log
(
response
.
data
.
data
.
data
)
this
.
list
=
response
.
data
.
data
.
data
this
.
list
=
response
.
data
.
data
.
data
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/login/index.vue
View file @
149d0a36
...
@@ -42,13 +42,12 @@
...
@@ -42,13 +42,12 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
isvalidUsername
}
from
'@/utils/validate'
export
default
{
export
default
{
name
:
'Login'
,
name
:
'Login'
,
data
()
{
data
()
{
const
validateUsername
=
(
rule
,
value
,
callback
)
=>
{
const
validateUsername
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
isvalidUsername
(
value
)
)
{
if
(
!
value
)
{
callback
(
new
Error
(
'Please enter the correct user name'
))
callback
(
new
Error
(
'Please enter the correct user name'
))
}
else
{
}
else
{
callback
()
callback
()
...
@@ -63,8 +62,8 @@ export default {
...
@@ -63,8 +62,8 @@ export default {
}
}
return
{
return
{
loginForm
:
{
loginForm
:
{
username
:
'
admin
'
,
username
:
''
,
password
:
'
admin
'
password
:
''
},
},
loginRules
:
{
loginRules
:
{
username
:
[{
required
:
true
,
trigger
:
'blur'
,
validator
:
validateUsername
}],
username
:
[{
required
:
true
,
trigger
:
'blur'
,
validator
:
validateUsername
}],
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/pick/list.vue
View file @
149d0a36
...
@@ -167,7 +167,6 @@ export default {
...
@@ -167,7 +167,6 @@ export default {
}
}
OffLineOrOnLine
({
type
:
val
,
ids
:
str
}).
then
(
response
=>
{
OffLineOrOnLine
({
type
:
val
,
ids
:
str
}).
then
(
response
=>
{
this
.
multipleSelection
=
[];
this
.
multipleSelection
=
[];
response
.
data
.
data
.
message
this
.
$message
.
success
(
response
.
data
.
data
.
message
);
this
.
$message
.
success
(
response
.
data
.
data
.
message
);
})
})
},
},
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/star/list.vue
View file @
149d0a36
...
@@ -46,7 +46,7 @@
...
@@ -46,7 +46,7 @@
<el-table-column
align=
"center"
label=
"小组数量"
>
<el-table-column
align=
"center"
label=
"小组数量"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<router-link
:to=
"
'/group/edit/'+scope.row.id
"
class=
"link-type"
>
<router-link
:to=
"
{path: '/group/list/', query: {star_id: scope.row.id}}
" class="link-type">
<span>
{{
scope
.
row
.
group_nums
}}
</span>
<span>
{{
scope
.
row
.
group_nums
}}
</span>
</router-link>
</router-link>
</
template
>
</
template
>
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/tag/components/TagDetail.vue
View file @
149d0a36
...
@@ -22,13 +22,13 @@
...
@@ -22,13 +22,13 @@
<div
class=
"postInfo-container"
>
<div
class=
"postInfo-container"
>
<el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
style=
"margin-bottom: 20px;"
label-width=
"75px"
label=
"标签ID:"
prop=
"position"
>
<el-form-item
style=
"margin-bottom: 20px;"
label-width=
"75px"
label=
"标签ID:"
prop=
"position"
v-if=
"isEdit"
>
<el-input
:rows=
"1"
v-model=
"postForm.id"
type=
"number"
class=
"article-textarea"
style=
"width: 300px"
readonly
v-if=
"isEdit"
/>
<el-input
:rows=
"1"
v-model=
"postForm.id"
type=
"number"
class=
"article-textarea"
style=
"width: 300px"
disabled
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
style=
"margin-bottom: 20px;"
label-width=
"75px"
label=
"创建时间:"
prop=
"position"
>
<el-form-item
style=
"margin-bottom: 20px;"
label-width=
"75px"
label=
"创建时间:"
prop=
"position"
v-if=
"isEdit"
>
<el-input
:rows=
"1"
v-model=
"postForm.create_time"
type=
"text"
class=
"article-textarea"
style=
"width: 300px"
readonly
v-if=
"isEdit"
/>
<el-input
:rows=
"1"
v-model=
"postForm.create_time"
type=
"text"
class=
"article-textarea"
style=
"width: 300px"
disabled
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
<el-form-item
label-width=
"75px"
label=
"上级标签:"
class=
"postInfo-container-item"
>
<el-form-item
label-width=
"75px"
label=
"上级标签:"
class=
"postInfo-container-item"
>
<el-select
v-model=
"postForm.up_tags"
:remote-method=
"getRemoteTagList"
filterable
remote
multiple
value-key=
"id"
<el-select
v-model=
"postForm.up_tags"
:remote-method=
"getRemoteTagList"
filterable
remote
multiple
value-key=
"id"
placeholder=
"搜索标签"
style=
"width: 70%"
>
placeholder=
"搜索标签"
style=
"width: 70%"
>
<el-option
v-for=
"(item,index) in
up
TagListOptions"
:key=
"item+index"
:label=
"item.name"
:value=
"item.id"
/>
<el-option
v-for=
"(item,index) in TagListOptions"
:key=
"item+index"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
:loading=
"loading"
:loading=
"loading"
value-key=
"id"
value-key=
"id"
>
>
<el-option
v-for=
"(item, index) in
group
ListOptions"
:key=
"item+index"
:label=
"item.name"
:value=
"item.id"
/>
<el-option
v-for=
"(item, index) in
Tag
ListOptions"
:key=
"item+index"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -126,8 +126,7 @@
...
@@ -126,8 +126,7 @@
return
{
return
{
postForm
:
Object
.
assign
({},
defaultForm
),
postForm
:
Object
.
assign
({},
defaultForm
),
loading
:
false
,
loading
:
false
,
upTagListOptions
:
[],
TagListOptions
:
[],
groupListOptions
:
[],
rules
:
{
rules
:
{
name
:
[{
validator
:
validateRequire
,
trigger
:
'blur'
}],
name
:
[{
validator
:
validateRequire
,
trigger
:
'blur'
}],
},
},
...
@@ -160,10 +159,12 @@
...
@@ -160,10 +159,12 @@
let
rep
=
response
.
data
.
data
.
data
;
let
rep
=
response
.
data
.
data
.
data
;
let
up_temp
=
[]
let
up_temp
=
[]
let
down_temp
=
[]
let
down_temp
=
[]
console
.
log
(
rep
.
up_tags
,
'-========='
,
rep
.
up_tags
.
length
)
for
(
let
i
=
0
;
i
<
rep
.
up_tags
.
length
;
i
++
){
for
(
let
i
=
0
;
i
<
rep
.
up_tags
.
length
;
i
++
){
up_temp
.
push
(
rep
.
up_tags
[
i
][
'name'
]);
up_temp
.
push
(
rep
.
up_tags
[
i
][
'name'
]);
this
.
temparray
[
'up_tags'
].
push
(
rep
.
up_tags
[
i
])
this
.
temparray
[
'up_tags'
].
push
(
rep
.
up_tags
[
i
])
}
}
console
.
log
(
rep
.
down_tags
.
length
)
for
(
let
i
=
0
;
i
<
rep
.
down_tags
.
length
;
i
++
){
for
(
let
i
=
0
;
i
<
rep
.
down_tags
.
length
;
i
++
){
down_temp
.
push
(
rep
.
down_tags
[
i
][
'name'
]);
down_temp
.
push
(
rep
.
down_tags
[
i
][
'name'
]);
this
.
temparray
[
'down_tags'
].
push
(
rep
.
down_tags
[
i
])
this
.
temparray
[
'down_tags'
].
push
(
rep
.
down_tags
[
i
])
...
@@ -171,7 +172,7 @@
...
@@ -171,7 +172,7 @@
rep
.
down_tags
=
down_temp
rep
.
down_tags
=
down_temp
rep
.
up_tags
=
up_temp
rep
.
up_tags
=
up_temp
this
.
postForm
=
rep
this
.
postForm
=
rep
console
.
log
(
this
.
postForm
)
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
console
.
log
(
err
)
console
.
log
(
err
)
})
})
...
@@ -184,7 +185,6 @@
...
@@ -184,7 +185,6 @@
this
.
postForm
.
up_tags
=
Assembledata
(
this
.
temparray
[
'up_tags'
],
this
.
postForm
.
up_tags
);
this
.
postForm
.
up_tags
=
Assembledata
(
this
.
temparray
[
'up_tags'
],
this
.
postForm
.
up_tags
);
this
.
postForm
.
down_tags
=
Assembledata
(
this
.
temparray
[
'down_tags'
],
this
.
postForm
.
down_tags
);
this
.
postForm
.
down_tags
=
Assembledata
(
this
.
temparray
[
'down_tags'
],
this
.
postForm
.
down_tags
);
}
else
{
}
else
{
this
.
postForm
.
up_tags
=
this
.
postForm
.
up_tags
.
join
(
','
)
this
.
postForm
.
up_tags
=
this
.
postForm
.
up_tags
.
join
(
','
)
this
.
postForm
.
down_tags
=
this
.
postForm
.
down_tags
.
join
(
','
)
this
.
postForm
.
down_tags
=
this
.
postForm
.
down_tags
.
join
(
','
)
}
}
...
@@ -221,7 +221,7 @@
...
@@ -221,7 +221,7 @@
getRemoteTagList
(
query
)
{
getRemoteTagList
(
query
)
{
tagSearch
(
query
).
then
(
response
=>
{
tagSearch
(
query
).
then
(
response
=>
{
if
(
!
response
.
data
.
data
.
data
)
return
if
(
!
response
.
data
.
data
.
data
)
return
this
.
up
TagListOptions
=
response
.
data
.
data
.
data
this
.
TagListOptions
=
response
.
data
.
data
.
data
})
})
},
},
}
}
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/tag/list.vue
View file @
149d0a36
...
@@ -126,7 +126,6 @@ export default {
...
@@ -126,7 +126,6 @@ export default {
}
}
OffLineOrOnLine
({
type
:
val
,
ids
:
str
}).
then
(
response
=>
{
OffLineOrOnLine
({
type
:
val
,
ids
:
str
}).
then
(
response
=>
{
this
.
multipleSelection
=
[];
this
.
multipleSelection
=
[];
response
.
data
.
data
.
message
this
.
$message
.
success
(
response
.
data
.
data
.
message
);
this
.
$message
.
success
(
response
.
data
.
data
.
message
);
})
})
},
},
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/topic/list.vue
View file @
149d0a36
...
@@ -162,6 +162,8 @@ export default {
...
@@ -162,6 +162,8 @@ export default {
methods
:
{
methods
:
{
getList
()
{
getList
()
{
this
.
listLoading
=
true
this
.
listLoading
=
true
this
.
listQuery
.
user_id
=
this
.
$route
.
query
.
user_id
||
''
this
.
listQuery
.
group_id
=
this
.
$route
.
query
.
group_id
||
''
fetchList
(
this
.
listQuery
).
then
(
response
=>
{
fetchList
(
this
.
listQuery
).
then
(
response
=>
{
console
.
log
(
response
.
data
.
data
)
console
.
log
(
response
.
data
.
data
)
this
.
list
=
response
.
data
.
data
.
data
this
.
list
=
response
.
data
.
data
.
data
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/user/components/UserDetail.vue
View file @
149d0a36
...
@@ -156,17 +156,17 @@
...
@@ -156,17 +156,17 @@
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"小组名称"
>
<el-table-column
align=
"center"
label=
"小组名称"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
<span>
{{
scope
.
row
.
group_
name
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"小组简介"
>
<el-table-column
align=
"center"
label=
"小组简介"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
description
}}
</span>
<span>
{{
scope
.
row
.
group_desc
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"组长"
>
<el-table-column
align=
"center"
label=
"组长"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
creator
.
name
}}
</span>
<span>
{{
scope
.
row
.
nick_
name
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"帖子数"
>
<el-table-column
align=
"center"
label=
"帖子数"
>
...
...
This diff is collapsed.
Click to expand it.
vu/src/views/user/list.vue
View file @
149d0a36
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<div
class=
"filter-container"
>
<div
class=
"filter-container"
>
<el-input
:placeholder=
"'搜素'"
v-model=
"listQuery.filter.value"
style=
"width: 180px;"
class=
"filter-item"
@
keyup
.
enter
.
native=
"handleFilter"
/>
<el-input
:placeholder=
"'搜素'"
v-model=
"listQuery.filter.value"
style=
"width: 180px;"
class=
"filter-item"
<el-select
v-model=
"listQuery.filter.key"
:placeholder=
"'搜索字段'"
clearable
class=
"filter-item"
style=
"width: 110px"
>
@
keyup
.
enter
.
native=
"handleFilter"
/>
<el-select
v-model=
"listQuery.filter.key"
:placeholder=
"'搜索字段'"
clearable
class=
"filter-item"
style=
"width: 110px"
>
<el-option
v-for=
"item in SearchTypeOptions"
:key=
"item.key"
:label=
"item.display_name"
:value=
"item.key"
/>
<el-option
v-for=
"item in SearchTypeOptions"
:key=
"item.key"
:label=
"item.display_name"
:value=
"item.key"
/>
</el-select>
</el-select>
<el-select
v-model=
"listQuery.filter.user_type"
:placeholder=
"'用户身份'"
clearable
class=
"filter-item"
style=
"width: 110px"
>
<el-select
v-model=
"listQuery.filter.user_type"
:placeholder=
"'用户身份'"
clearable
class=
"filter-item"
style=
"width: 110px"
>
<el-option
v-for=
"item in UserTypeOptions"
:key=
"item.key"
:label=
"item.display_name"
:value=
"item.key"
/>
<el-option
v-for=
"item in UserTypeOptions"
:key=
"item.key"
:label=
"item.display_name"
:value=
"item.key"
/>
</el-select>
</el-select>
<!--
<el-select
v-model=
"listQuery.filter.group_type"
:placeholder=
"'组内身份'"
clearable
class=
"filter-item"
style=
"width: 110px"
>
-->
<!--
<el-select
v-model=
"listQuery.filter.group_type"
:placeholder=
"'组内身份'"
clearable
class=
"filter-item"
style=
"width: 110px"
>
-->
<!--
<el-option
v-for=
"item in IdentifyTypeOptions"
:key=
"item.key"
:label=
"item.display_name"
:value=
"item.key"
/>
-->
<!--
<el-option
v-for=
"item in IdentifyTypeOptions"
:key=
"item.key"
:label=
"item.display_name"
:value=
"item.key"
/>
-->
<!--
</el-select>
-->
<!--
</el-select>
-->
<el-select
v-model=
"listQuery.filter.is_recommend"
:placeholder=
"'推荐'"
clearable
class=
"filter-item"
style=
"width: 100px"
>
<el-select
v-model=
"listQuery.filter.is_recommend"
:placeholder=
"'推荐'"
clearable
class=
"filter-item"
style=
"width: 100px"
>
<el-option
v-for=
"item in ReBooleanTypeOptions"
:key=
"item.key"
:label=
"item.display_name"
:value=
"item.key"
/>
<el-option
v-for=
"item in ReBooleanTypeOptions"
:key=
"item.key"
:label=
"item.display_name"
:value=
"item.key"
/>
</el-select>
</el-select>
<el-button
v-waves
class=
"filter-item"
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
v-waves
class=
"filter-item"
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
style=
"margin-left: 10px;"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"handleCreate"
>
创建
</el-button>
<el-button
class=
"filter-item"
style=
"margin-left: 10px;"
type=
"primary"
icon=
"el-icon-edit"
<el-button
class=
"filter-item"
style=
"margin-left: 10px;"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"handleOfflineOrOnline('recommend')"
>
推荐
</el-button>
@
click=
"handleCreate"
>
创建
</el-button>
<el-button
class=
"filter-item"
style=
"margin-left: 10px;"
type=
"primary"
icon=
"el-icon-edit"
@
click=
"handleOfflineOrOnline('recommend')"
>
推荐
</el-button>
</div>
</div>
<el-table
v-loading=
"listLoading"
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%"
ref=
"multipleTable"
@
selection-change=
"handleSelectionChange"
>
<el-table
v-loading=
"listLoading"
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%"
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
ref=
"multipleTable"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
align=
"center"
label=
"用户ID "
width=
"80"
>
<el-table-column
align=
"center"
label=
"用户ID "
width=
"80"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<router-link
:to=
"'/user/edit/'+scope.row.user_id"
class=
"link-type"
>
<router-link
:to=
"'/user/edit/'+scope.row.user_id"
class=
"link-type"
>
<span>
{{
scope
.
row
.
user_id
}}
</span>
<span>
{{
scope
.
row
.
user_id
}}
</span>
</router-link>
</router-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"用户名"
>
<el-table-column
align=
"center"
label=
"用户名"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
nick_name
}}
</span>
<span>
{{
scope
.
row
.
nick_name
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"联系电话"
>
<el-table-column
align=
"center"
label=
"联系电话"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
phone
}}
</span>
<span>
{{
scope
.
row
.
phone
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"邮箱"
>
<el-table-column
align=
"center"
label=
"邮箱"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
email
}}
</span>
<span>
{{
scope
.
row
.
email
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"关注小组"
>
<el-table-column
align=
"center"
label=
"关注小组"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
group_nums
}}
</span>
<router-link
:to=
"
{path: '/group/list/', query: {user_id: scope.row.user_id}}" class="link-type">
<span>
{{
scope
.
row
.
group_nums
}}
</span>
</router-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"帖子数"
>
<el-table-column
align=
"center"
label=
"帖子数"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
topic_nums
}}
</span>
<router-link
:to=
"
{path: '/topic/list/', query: {user_id: scope.row.user_id}}" class="link-type">
<span>
{{
scope
.
row
.
topic_nums
}}
</span>
</router-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<!--<el-table-column width="150px" align="center" label="组内身份">-->
<!--<el-table-column width="150px" align="center" label="组内身份">-->
<!--<template slot-scope="scope">-->
<!--<template slot-scope="scope">-->
<!--<span>{{ scope.row.group_identify }}</span>-->
<!--<span>{{ scope.row.group_identify }}</span>-->
<!--</template>-->
<!--</template>-->
<!--</el-table-column>-->
<!--</el-table-column>-->
<el-table-column
align=
"center"
label=
"用户身份"
>
<el-table-column
align=
"center"
label=
"用户身份"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
user_identify
}}
</span>
<span>
{{
scope
.
row
.
user_identify
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"推荐"
>
<el-table-column
align=
"center"
label=
"推荐"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-tag
:type=
"scope.row.is_recommend | isOnlineFilter"
>
{{
scope
.
row
.
is_recommend
==
1
?
'是'
:
'否'
}}
</el-tag>
<el-tag
:type=
"scope.row.is_recommend | isOnlineFilter"
>
{{
scope
.
row
.
is_recommend
==
1
?
'是'
:
'否'
}}
</el-tag>
</
template
>
</
template
>
</el-table-column>
is_recommend
</el-table-column>
is_recommend
</el-table>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"listQuery.page"
:limit
.
sync=
"listQuery.limit"
style=
"margin-left: 150px;"
@
pagination=
"getList"
/>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"listQuery.page"
:limit
.
sync=
"listQuery.limit"
style=
"margin-left: 150px;"
@
pagination=
"getList"
/>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
fetchList
,
OffLineOrOnLine
}
from
'@/api/user'
import
{
fetchList
,
OffLineOrOnLine
}
from
'@/api/user'
import
Pagination
from
'@/components/Pagination'
// Secondary package based on el-pagination
import
Pagination
from
'@/components/Pagination'
// Secondary package based on el-pagination
import
waves
from
'@/directive/waves'
import
waves
from
'@/directive/waves'
export
default
{
export
default
{
name
:
'UserList'
,
name
:
'UserList'
,
components
:
{
Pagination
},
components
:
{
Pagination
},
filters
:
{
filters
:
{
isOnlineFilter
(
status
)
{
isOnlineFilter
(
status
)
{
const
statusMap
=
{
const
statusMap
=
{
1
:
'success'
,
1
:
'success'
,
0
:
'info'
,
0
:
'info'
,
}
}
return
statusMap
[
status
]
return
statusMap
[
status
]
},
},
genderFilter
(
status
)
{
genderFilter
(
status
)
{
const
statusMap
=
{
const
statusMap
=
{
'男'
:
'success'
,
'男'
:
'success'
,
'女'
:
'info'
,
'女'
:
'info'
,
'全部'
:
'danger'
'全部'
:
'danger'
}
}
return
statusMap
[
status
]
return
statusMap
[
status
]
},
},
directives
:
{
waves
},
data
()
{
return
{
list
:
null
,
total
:
0
,
listLoading
:
true
,
multipleSelection
:
[],
del_list
:
[],
listQuery
:
{
page
:
1
,
limit
:
10
,
filter
:
{
value
:
''
,
key
:
''
,
is_online
:
''
,
is_recommend
:
''
,
},
},
},
BooleanTypeOptions
:
[
{
'key'
:
1
,
'display_name'
:
'是'
},
{
'key'
:
0
,
'display_name'
:
'否'
}
],
ReBooleanTypeOptions
:
[
{
'key'
:
1
,
'display_name'
:
'是'
},
{
'key'
:
0
,
'display_name'
:
'否'
}
],
IdentifyTypeOptions
:
[
{
'key'
:
1
,
'display_name'
:
'组长'
},
{
'key'
:
2
,
'display_name'
:
'管理员'
},
{
'key'
:
3
,
'display_name'
:
'长老'
},
{
'key'
:
4
,
'display_name'
:
'普通群员'
},
],
UserTypeOptions
:
[
{
'key'
:
0
,
'display_name'
:
'普通用户'
},
{
'key'
:
1
,
'display_name'
:
'马甲用户'
}
],
SearchTypeOptions
:[
{
'key'
:
'id'
,
'display_name'
:
'用户ID'
},
{
'key'
:
'name'
,
'display_name'
:
'用户名'
},
{
'key'
:
'phone'
,
'display_name'
:
'联系电话'
},
]
}
},
created
()
{
this
.
getList
()
},
methods
:
{
getList
()
{
this
.
listLoading
=
true
fetchList
(
this
.
listQuery
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
data
.
data
this
.
total
=
response
.
data
.
data
.
total
this
.
listLoading
=
false
})
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
},
handleSizeChange
(
val
)
{
directives
:
{
waves
},
this
.
listQuery
.
limit
=
val
data
()
{
this
.
getList
()
return
{
list
:
null
,
total
:
0
,
listLoading
:
true
,
multipleSelection
:
[],
del_list
:
[],
listQuery
:
{
page
:
1
,
limit
:
10
,
filter
:
{
value
:
''
,
key
:
''
,
is_online
:
''
,
is_recommend
:
''
,
},
},
BooleanTypeOptions
:
[
{
'key'
:
1
,
'display_name'
:
'是'
},
{
'key'
:
0
,
'display_name'
:
'否'
}
],
ReBooleanTypeOptions
:
[
{
'key'
:
1
,
'display_name'
:
'是'
},
{
'key'
:
0
,
'display_name'
:
'否'
}
],
IdentifyTypeOptions
:
[
{
'key'
:
1
,
'display_name'
:
'组长'
},
{
'key'
:
2
,
'display_name'
:
'管理员'
},
{
'key'
:
3
,
'display_name'
:
'长老'
},
{
'key'
:
4
,
'display_name'
:
'普通群员'
},
],
UserTypeOptions
:
[
{
'key'
:
0
,
'display_name'
:
'普通用户'
},
{
'key'
:
1
,
'display_name'
:
'马甲用户'
}
],
SearchTypeOptions
:
[
{
'key'
:
'id'
,
'display_name'
:
'用户ID'
},
{
'key'
:
'name'
,
'display_name'
:
'用户名'
},
{
'key'
:
'phone'
,
'display_name'
:
'联系电话'
},
]
}
},
},
handleCurrentChange
(
val
)
{
created
()
{
this
.
listQuery
.
page
=
val
this
.
getList
()
this
.
getList
()
},
},
handleOfflineOrOnline
(
val
){
methods
:
{
const
length
=
this
.
multipleSelection
.
length
;
getList
()
{
let
str
=
''
;
this
.
listLoading
=
true
this
.
del_list
=
this
.
del_list
.
concat
(
this
.
multipleSelection
);
this
.
listQuery
.
group_id
=
this
.
$route
.
query
.
group_id
for
(
let
i
=
0
;
i
<
length
;
i
++
)
{
fetchList
(
this
.
listQuery
).
then
(
response
=>
{
if
(
val
===
'offline'
){
this
.
list
=
response
.
data
.
data
.
data
this
.
total
=
response
.
data
.
data
.
total
this
.
listLoading
=
false
})
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
this
.
getList
()
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
this
.
getList
()
},
handleOfflineOrOnline
(
val
)
{
const
length
=
this
.
multipleSelection
.
length
;
let
str
=
''
;
this
.
del_list
=
this
.
del_list
.
concat
(
this
.
multipleSelection
);
for
(
let
i
=
0
;
i
<
length
;
i
++
)
{
if
(
val
===
'offline'
)
{
this
.
multipleSelection
[
i
].
is_online
=
0
this
.
multipleSelection
[
i
].
is_online
=
0
}
else
if
(
val
===
'recommend'
)
{
}
else
if
(
val
===
'recommend'
)
{
this
.
multipleSelection
[
i
].
is_recommend
=
0
this
.
multipleSelection
[
i
].
is_recommend
=
0
}
else
{
}
else
{
this
.
multipleSelection
[
i
].
is_online
=
1
this
.
multipleSelection
[
i
].
is_online
=
1
}
}
str
+=
this
.
multipleSelection
[
i
].
id
+
' '
;
str
+=
this
.
multipleSelection
[
i
].
id
+
' '
;
}
OffLineOrOnLine
({
type
:
val
,
ids
:
str
}).
then
(
response
=>
{
this
.
multipleSelection
=
[];
this
.
$message
.
success
(
response
.
data
.
data
.
message
);
})
},
handleFilter
()
{
this
.
listQuery
.
page
=
1
this
.
getList
()
},
handleCreate
()
{
this
.
$router
.
push
(
'/pick/create'
)
}
}
OffLineOrOnLine
({
type
:
val
,
ids
:
str
}).
then
(
response
=>
{
this
.
multipleSelection
=
[];
this
.
$message
.
success
(
response
.
data
.
data
.
message
);
})
},
handleFilter
()
{
this
.
listQuery
.
page
=
1
this
.
getList
()
},
handleCreate
()
{
this
.
$router
.
push
(
'/pick/create'
)
}
}
}
}
}
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.edit-input
{
.edit-input
{
padding-right
:
100px
;
padding-right
:
100px
;
}
}
.cancel-btn
{
position
:
absolute
;
.cancel-btn
{
right
:
15px
;
position
:
absolute
;
top
:
10px
;
right
:
15px
;
}
top
:
10px
;
}
</
style
>
</
style
>
This diff is collapsed.
Click to expand it.
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