Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
A
admin-base
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
new-sing
admin-base
Commits
c2d134b5
Commit
c2d134b5
authored
Sep 17, 2019
by
赵茹林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
班级成员列表 [新增] 手机号、昵称搜索 [优化] 部分页面细节
parent
38520c69
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
76 additions
and
67 deletions
+76
-67
userList.vue
src/components/class/userList.vue
+76
-67
No files found.
src/components/class/userList.vue
View file @
c2d134b5
...
...
@@ -5,16 +5,18 @@
<el-form
label-width=
"120px"
inline
>
<el-form-item
label=
"课程开课时间"
>
<el-date-picker
type=
"daterange"
v-model=
"timeLang"
range-separator=
"至"
value-format=
"yyyy-MM-dd"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
type=
"daterange"
v-model=
"timeLang"
value-format=
"yyyy-MM-dd"
start-placeholder=
"开始日期"
range-separator=
"至"
end-placeholder=
"结束日期"
@
change=
"searchList2()"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"用户ID"
>
<el-input
v-model=
"searchFrom.user_id"
/>
<el-input
v-model=
"searchFrom.user_id"
clearable
@
change=
"searchList2()"
/>
</el-form-item>
<el-form-item
label=
"手机号"
>
<el-input
v-model=
"searchFrom.mobile"
clearable
@
change=
"searchList2()"
/>
</el-form-item>
<el-form-item
label=
"昵称"
>
<el-input
v-model=
"searchFrom.nickname"
clearable
@
change=
"searchList2()"
/>
</el-form-item>
<el-form-item
label=
"是否添加老师"
>
<el-select
v-model=
"searchFrom.is_add_teacher"
placeholder=
"请选择"
@
change=
"searchList2()"
clearable
>
...
...
@@ -34,7 +36,7 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"searchList2(
classUserLimit
)"
>
搜索
</el-button>
<el-button
type=
"primary"
@
click=
"searchList2()"
>
搜索
</el-button>
<el-button
type=
"success"
@
click=
"changeClass"
v-if=
"!$store.state.readonly"
>
切换班级
</el-button>
<el-button
type=
"success"
@
click=
"onAddUser(false)"
v-if=
"$store.state.orderRefund&&userObj.type==2&&userObj.watch_num
<60
&&!$
store
.
state
.
classManageUnlimited
"
>
+添加用户
</el-button>
<el-button
type=
"success"
@
click=
"onAddUser(false)"
v-if=
"$store.state.classManage&&userObj.type==1&&userObj.watch_num
<60
&&!$
store
.
state
.
classTakeUnlimited
"
>
+添加用户
</el-button>
...
...
@@ -44,39 +46,34 @@
<el-button
type=
"success"
@
click=
"onRank()"
>
看课排行
</el-button>
</el-form-item>
</el-form>
<el-table
:data=
"[statistics]"
border
size=
"mini"
style=
"width: 100%;margin: 20px 0"
>
<el-table-column
label=
"到课率"
:render-header=
"rendertip"
>
<el-table-column
label=
"到课率"
:render-header=
"rendertip"
>
<template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
arrive_course_rate
|
percent
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"看课率"
:render-header=
"rendertip"
>
<el-table-column
label=
"看课率"
:render-header=
"rendertip"
>
<
template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
watch_course_rate
|
percent
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"完课率"
:render-header=
"rendertip"
>
<el-table-column
label=
"完课率"
:render-header=
"rendertip"
>
<
template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
over_course_rate
|
percent
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"打卡率"
:render-header=
"rendertip"
>
<el-table-column
label=
"打卡率"
:render-header=
"rendertip"
>
<
template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
clock_rate
|
percent
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"全勤打卡率"
:render-header=
"rendertip"
>
<el-table-column
label=
"全勤打卡率"
:render-header=
"rendertip"
>
<
template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
over_clock_rate
|
percent
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"转化率"
:render-header=
"rendertip"
>
<el-table-column
label=
"转化率"
:render-header=
"rendertip"
>
<
template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
transform_rate
|
percent
}}
</span>
</
template
>
...
...
@@ -84,10 +81,11 @@
<el-table-column
label=
"老师主动添加用户数"
prop=
"teacher_add_user_num"
></el-table-column>
<el-table-column
label=
"用户主动添加老师数"
prop=
"user_add_teacher_num"
></el-table-column>
</el-table>
<el-table
:data=
"userTable"
v-loading=
"loadingFlag"
size=
"mini"
:data=
"userTable"
v-loading=
"loadingFlag"
size=
"mini"
border
@
selection-change=
"handleSelectionChange123"
style=
"width: 100%"
fixed
>
<el-table-column
type=
"selection"
width=
"
3
0"
></el-table-column>
<el-table-column
type=
"selection"
width=
"
4
0"
></el-table-column>
<el-table-column
width=
"120"
label=
"沟通情况"
>
<
template
slot-scope=
"scope"
>
<teacher-desc
:row=
"scope.row"
:typeFlag=
"true"
:descType=
"2"
@
onSuccess=
"searchList()"
></teacher-desc>
...
...
@@ -95,7 +93,7 @@
</el-table-column>
<el-table-column
label=
"用户"
className=
"f-c"
min-width=
"180"
sortable
prop=
"user_id"
>
<
template
slot-scope=
"scope"
>
<img
:src=
"scope.row.avatar"
style=
"width: 40px;min-width:40px;height: 40px;border-radius: 50px"
>
{{
scope
.
row
.
nickname
}}
(ID:
{{
scope
.
row
.
user_id
}}
)
<img
:src=
"scope.row.avatar"
style=
"
margin-right: 8px;
width: 40px;min-width:40px;height: 40px;border-radius: 50px"
>
{{
scope
.
row
.
nickname
}}
(ID:
{{
scope
.
row
.
user_id
}}
)
<br>
Tel:
{{
scope
.
row
.
mobile
}}
</
template
>
</el-table-column>
...
...
@@ -126,16 +124,14 @@
</template>
</el-table-column>-->
<el-table-column
label=
"时间"
sortable
min-width=
"200"
prop=
"last_login_at"
>
<el-table-column
label=
"时间"
sortable
min-width=
"200"
prop=
"last_login_at"
>
<
template
slot-scope=
"scope"
>
最后登录:
{{
scope
.
row
.
last_login_at
}}
<br>
进班时间:
{{
scope
.
row
.
created_at
}}
</
template
>
</el-table-column>
<el-table-column
label=
"看课率"
sortable
prop=
"watch_course_rate"
>
<el-table-column
label=
"看课率"
sortable
prop=
"watch_course_rate"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
watch_course_rate
|
percent
}}
</
template
>
...
...
@@ -158,8 +154,7 @@
{{
scope
.
row
.
clock_rate
|
percent
}}
</
template
>
</el-table-column>
<el-table-column
label=
"续费情况"
sortable
prop=
"is_continue_buy"
>
<el-table-column
label=
"续费情况"
sortable
prop=
"is_continue_buy"
width=
"100"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
is_continue_buy
|
isOrNot
}}
</
template
>
...
...
@@ -206,7 +201,7 @@
</
template
>
</el-table-column>
</el-table>
<div
style=
"text-align: center"
>
<div
style=
"text-align: center
; padding-top: 20px;
"
>
<el-pagination
@
size-change=
"searchList"
:page-sizes=
"[20,50,100,200,500,1000]"
...
...
@@ -217,37 +212,26 @@
</el-pagination>
</div>
</div>
<el-dialog
:modal=
"false"
:visible
.
sync=
"addShow"
>
<el-form
label-width=
"90px"
>
<el-dialog
:modal=
"false"
:visible
.
sync=
"addShow"
append-to-body
>
<el-form
label-width=
""
inline
>
<!--<el-form-item label="用户id">-->
<!--<el-input v-model="addId"></el-input>-->
<!--</el-form-item>-->
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"ID"
>
<el-input
v-model=
"searchFrom.userId"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"昵称"
>
<el-input
v-model=
"searchFrom.nickName"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"电话"
>
<el-input
v-model=
"searchFrom.mobile"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
:offset=
"16"
>
<el-form-item>
<el-button
style=
"float: right"
type=
"primary"
plain
@
click=
"getUser"
>
搜索
</el-button>
</el-form-item>
</el-col>
</el-row>
<el-form-item
label=
""
>
<el-input
v-model=
"searchFrom.dialog_userid"
placeholder=
"ID"
clearable
@
change=
"getUser"
></el-input>
</el-form-item>
<el-form-item
label=
""
>
<el-input
v-model=
"searchFrom.dialog_nickname"
placeholder=
"昵称"
clearable
@
change=
"getUser"
></el-input>
</el-form-item>
<el-form-item
label=
""
>
<el-input
v-model=
"searchFrom.dialog_mobile"
placeholder=
"电话"
clearable
@
change=
"getUser"
></el-input>
</el-form-item>
<el-form-item>
<el-button
style=
"float: right"
type=
"primary"
plain
@
click=
"getUser"
>
搜索
</el-button>
</el-form-item>
</el-form>
<el-table
:data=
"userList"
ref=
"multipleTable"
@
selection-change=
"handleSelectionChange"
style=
"width: 100%"
>
<el-table
border
:data=
"userList"
ref=
"multipleTable"
@
selection-change=
"handleSelectionChange"
style=
"width: 100%"
>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
className=
"f-c"
label=
"用户"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -257,10 +241,10 @@
<el-table-column
prop=
"mobile"
label=
"手机号"
></el-table-column>
</el-table>
<page
:total=
"total"
:limit=
"limit"
@
pageChange=
"onPageChange"
@
sizeChange=
"onSizeChange"
/>
<
span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"addShow = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"onAdd"
>
确 定
</el-button>
</span
>
<
div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"addShow = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"onAdd"
>
确 定
</el-button>
</div
>
</el-dialog>
<el-dialog
:modal=
"false"
:visible
.
sync=
"lookDetail.show"
>
<el-table
v-loading=
"lookDetail.loading"
:data=
"lookDetail.list"
style=
"width: 100%"
>
...
...
@@ -537,7 +521,12 @@
is_add_teacher
:
''
,
is_view_course
:
''
,
start_at
:
''
,
end_at
:
''
end_at
:
''
,
mobile
:
''
,
nickname
:
''
,
dialog_userid
:
''
,
dialog_nickname
:
''
,
dialog_mobile
:
''
,
}
,
multipleSelection
:
[],
descDialog
:
{
...
...
@@ -853,6 +842,12 @@
if
(
this
.
searchFrom
.
user_id
)
{
json
.
user_id
=
this
.
searchFrom
.
user_id
}
if
(
this
.
searchFrom
.
mobile
)
{
json
.
mobile
=
this
.
searchFrom
.
mobile
}
if
(
this
.
searchFrom
.
nickname
)
{
json
.
nickname
=
this
.
searchFrom
.
nickname
}
if
(
this
.
searchFrom
.
is_add_teacher
||
this
.
searchFrom
.
is_add_teacher
===
0
)
{
json
.
is_add_teacher
=
this
.
searchFrom
.
is_add_teacher
}
...
...
@@ -913,6 +908,11 @@
is_view_course
:
''
,
start_at
:
''
,
end_at
:
''
,
nickname
:
''
,
mobile
:
''
,
dialog_userid
:
''
,
dialog_nickname
:
''
,
dialog_mobile
:
''
,
}
;
this
.
statistics
=
{
...
...
@@ -1029,14 +1029,17 @@
page
:
this
.
nowPage
,
limit
:
5
}
;
if
(
this
.
searchFrom
.
userI
d
)
{
json
.
user_id
=
this
.
searchFrom
.
userI
d
if
(
this
.
searchFrom
.
dialog_useri
d
)
{
json
.
user_id
=
this
.
searchFrom
.
dialog_useri
d
}
if
(
this
.
searchFrom
.
nickName
)
{
/*if (this.searchFrom.nickName) { // 不动旧的代码
json.nickname = this.searchFrom.nickName
}
*/
if
(
this
.
searchFrom
.
dialog_nickname
)
{
json
.
nickname
=
this
.
searchFrom
.
dialog_nickname
}
if
(
this
.
searchFrom
.
mobile
)
{
json
.
mobile
=
this
.
searchFrom
.
mobile
if
(
this
.
searchFrom
.
dialog_
mobile
)
{
json
.
mobile
=
this
.
searchFrom
.
dialog_
mobile
}
getUserListApi
(
json
).
then
(
res
=>
{
this
.
userList
=
res
.
list
;
...
...
@@ -1142,6 +1145,12 @@
if
(
this
.
searchFrom
.
is_view_course
)
{
json
.
is_view_course
=
this
.
searchFrom
.
is_view_course
}
if
(
this
.
searchFrom
.
nickname
)
{
json
.
nickname
=
this
.
searchFrom
.
nickname
}
if
(
this
.
searchFrom
.
mobile
)
{
json
.
mobile
=
this
.
searchFrom
.
mobile
}
if
(
this
.
timeLang
&&
this
.
timeLang
.
length
>
0
)
{
json
.
pay_start_at
=
this
.
timeLang
[
0
];
json
.
pay_end_at
=
this
.
timeLang
[
1
]
...
...
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