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
59917b0d
Commit
59917b0d
authored
Sep 16, 2019
by
赵茹林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
格式化
parent
c8a450eb
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
824 additions
and
760 deletions
+824
-760
userList.vue
src/components/class/userList.vue
+776
-742
role.vue
src/components/system/role.vue
+48
-18
No files found.
src/components/class/userList.vue
View file @
59917b0d
<
template
>
<
template
>
<div>
<div>
<el-dialog
:title=
"userObj.title"
:visible
.
sync=
"userObj.show"
:modal=
"false"
:fullscreen=
"true"
>
<el-dialog
:title=
"userObj.title"
:visible
.
sync=
"userObj.show"
:modal=
"false"
:fullscreen=
"true"
>
<div>
<div>
<el-form
label-width=
"120px"
inline
>
<el-form
label-width=
"120px"
inline
>
...
@@ -57,7 +57,7 @@
...
@@ -57,7 +57,7 @@
<el-button
type=
"success"
@
click=
"onAddUser(false)"
v-if=
"$store.state.classTakeUnlimited&&userObj.type==1"
>
+添加用户
</el-button>
<el-button
type=
"success"
@
click=
"onAddUser(false)"
v-if=
"$store.state.classTakeUnlimited&&userObj.type==1"
>
+添加用户
</el-button>
<el-button
type=
"success"
@
click=
"onAddUser(false)"
v-if=
"$store.state.classManageUnlimited&&userObj.type==2"
>
+添加用户
</el-button>
<el-button
type=
"success"
@
click=
"onAddUser(false)"
v-if=
"$store.state.classManageUnlimited&&userObj.type==2"
>
+添加用户
</el-button>
<el-button
type=
"primary"
@
click=
"exportTable(userTable)"
v-if=
"$store.state.export"
>
导出
</el-button>
<el-button
type=
"primary"
@
click=
"exportTable(userTable)"
v-if=
"$store.state.export"
>
导出
</el-button>
<el-button
type=
"success"
@
click=
"onRank()"
>
看课排行
</el-button>
<el-button
type=
"success"
@
click=
"onRank()"
>
看课排行
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-table
<el-table
...
@@ -133,26 +133,22 @@
...
@@ -133,26 +133,22 @@
<br>
Tel:
{{
scope
.
row
.
mobile
}}
<br>
Tel:
{{
scope
.
row
.
mobile
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
label=
"看课权限"
v-if=
"!userObj.classPage"
>
label=
"看课权限"
v-if=
"!userObj.classPage"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.is_view_course"
size=
"mini"
@
change=
"changeView(scope.row)"
>
<el-select
v-model=
"scope.row.is_view_course"
size=
"mini"
@
change=
"changeView(scope.row)"
>
<el-option
label=
"否"
:value=
"0"
>
<el-option
label=
"否"
:value=
"0"
></el-option>
</el-option>
<el-option
label=
"是"
:value=
"1"
></el-option>
<el-option
label=
"是"
:value=
"1"
>
</el-option>
</el-select>
</el-select>
</
template
>
</
template
>
<!-- classPage -->
<!-- classPage -->
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
label=
"看课权限"
v-if=
"userObj.classPage"
>
label=
"看课权限"
v-if=
"userObj.classPage"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
is_view_course
==
1
?
'是'
:
'否'
}}
{{
scope
.
row
.
is_view_course
==
1
?
'是'
:
'否'
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
label=
"时间"
sortable
min-width=
"200"
prop=
"last_login_at"
>
label=
"时间"
sortable
min-width=
"200"
prop=
"last_login_at"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
最后登录:
{{
scope
.
row
.
last_login_at
}}
最后登录:
{{
scope
.
row
.
last_login_at
}}
<br>
<br>
...
@@ -237,7 +233,7 @@
...
@@ -237,7 +233,7 @@
<el-button
type=
"primary"
size=
"mini"
plain
@
click=
"showSourceByDate(scope.row)"
>
看课情况
</el-button>
<el-button
type=
"primary"
size=
"mini"
plain
@
click=
"showSourceByDate(scope.row)"
>
看课情况
</el-button>
<el-button
type=
"danger"
size=
"mini"
plain
@
click=
"onDel(scope.row)"
v-if=
"$store.state.deletePermission && !$store.state.readonly"
>
删除
</el-button>
<el-button
type=
"danger"
size=
"mini"
plain
@
click=
"onDel(scope.row)"
v-if=
"$store.state.deletePermission && !$store.state.readonly"
>
删除
</el-button>
</div>
</div>
<el-button
slot=
"reference"
size=
"mini"
type=
"text"
>
操作
</el-button>
<el-button
slot=
"reference"
size=
"mini"
type=
"text"
>
操作
</el-button>
</el-popover>
</el-popover>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -523,12 +519,34 @@
...
@@ -523,12 +519,34 @@
<!--
<
page
-
desc
:
nowPage
=
"descDialog.nowPage"
:
total
=
"descDialog.total"
:
limit
=
"descDialog.limit"
@
pageChange
=
"onDescDialogPageChange"
@
sizeChange
=
"onDescDialogSizeChange"
/>-->
<!--
<
page
-
desc
:
nowPage
=
"descDialog.nowPage"
:
total
=
"descDialog.total"
:
limit
=
"descDialog.limit"
@
pageChange
=
"onDescDialogPageChange"
@
sizeChange
=
"onDescDialogSizeChange"
/>-->
<!--
<
/el-dialog>--
>
<!--
<
/el-dialog>--
>
<
/el-dialog
>
<
/el-dialog
>
<
sourceByDateDialog
:
dialogObj
=
sourceByDateDialogJson
ref
=
"sourceByDateDialogDom"
><
/sourceByDateDialog
>
<
sourceByDateDialog
:
dialogObj
=
sourceByDateDialogJson
ref
=
"sourceByDateDialogDom"
><
/sourceByDateDialog
>
<
/div
>
<
/div
>
<
/template
>
<
/template
>
<
script
>
<
script
>
import
{
getLookRankApi
,
addClassUesrApi
,
editUserViewCourseApi
,
editUserWeightApi
,
changeAddTeacherApi
,
getClassUserApi
,
changeUserApi
,
delClassUserApi
,
getUserListApi
,
addPeriodsClassUserDescApi
,
getClassStatisticsApi
,
userLookApi
,
getPeriodsApi
,
changeClassApi
,
getClassListApi
,
addUserTeacherApi
,
getUserDescListApi
,
updateUserPrivilegeApi
,
teacherBindUserApi
,
getJoinNumApi
,
exportExcelApi
}
from
"../../service/api"
;
import
{
getLookRankApi
,
addClassUesrApi
,
editUserViewCourseApi
,
editUserWeightApi
,
changeAddTeacherApi
,
getClassUserApi
,
changeUserApi
,
delClassUserApi
,
getUserListApi
,
addPeriodsClassUserDescApi
,
getClassStatisticsApi
,
userLookApi
,
getPeriodsApi
,
changeClassApi
,
getClassListApi
,
addUserTeacherApi
,
getUserDescListApi
,
updateUserPrivilegeApi
,
teacherBindUserApi
,
getJoinNumApi
,
exportExcelApi
}
from
"../../service/api"
;
import
page
from
'../framework/page'
import
page
from
'../framework/page'
import
page2
from
'../framework/page'
import
page2
from
'../framework/page'
import
pageDesc
from
'../framework/page'
import
pageDesc
from
'../framework/page'
...
@@ -536,75 +554,76 @@
...
@@ -536,75 +554,76 @@
import
teacherDesc
from
'../framework/teacherDesc'
import
teacherDesc
from
'../framework/teacherDesc'
import
userWeight
from
'../framework/userWeight'
import
userWeight
from
'../framework/userWeight'
import
sourceByDateDialog
from
'../teacherDetail/sourceByDateDialog'
import
sourceByDateDialog
from
'../teacherDetail/sourceByDateDialog'
import
{
tipArr
}
from
"../../util/tipArr"
;
import
{
tipArr
}
from
"../../util/tipArr"
;
export
default
{
export
default
{
name
:
"userList"
,
name
:
"userList"
,
props
:[
props
:
[
'userObj'
'userObj'
],
],
data
(){
data
()
{
let
nowDate
=
this
.
formatTime
(
new
Date
());
let
nowDate
=
this
.
formatTime
(
new
Date
());
return
{
return
{
nowDate
:
nowDate
,
nowDate
:
nowDate
,
rank
:{
rank
:
{
show
:
false
,
show
:
false
,
list
:[]
list
:
[]
}
,
}
,
rankParams
:{
rankParams
:
{
type
:
'time'
,
type
:
'time'
,
start_date
:
''
,
start_date
:
''
,
end_date
:
''
,
end_date
:
''
,
limit
:
10
limit
:
10
}
,
}
,
sourceByDateDialogJson
:{
}
,
sourceByDateDialogJson
:
{
}
,
userTable
:[],
userTable
:
[],
addId
:
''
,
addId
:
''
,
loadingFlag
:
false
,
loadingFlag
:
false
,
statistics
:{
statistics
:
{
arrive_course_rate
:
0
,
arrive_course_rate
:
0
,
clock_rate
:
0
,
clock_rate
:
0
,
over_clock_rate
:
0
,
over_clock_rate
:
0
,
over_course_rate
:
0
,
over_course_rate
:
0
,
over_work_rate
:
0
,
over_work_rate
:
0
,
transform_rate
:
0
,
transform_rate
:
0
,
watch_course_rate
:
0
,
watch_course_rate
:
0
,
work_rate
:
0
,
work_rate
:
0
,
teacher_add_user_num
:
0
,
teacher_add_user_num
:
0
,
user_add_teacher_num
:
0
user_add_teacher_num
:
0
}
,
}
,
lookDetail
:{
lookDetail
:
{
show
:
false
,
show
:
false
,
loading
:
false
,
loading
:
false
,
list
:[],
list
:
[],
nowPage
:
1
,
nowPage
:
1
,
limit
:
5
,
limit
:
5
,
total
:
0
total
:
0
}
,
}
,
classUserLimit
:
20
,
classUserLimit
:
20
,
classUserTotal
:
0
,
classUserTotal
:
0
,
classUserNowPage
:
1
,
classUserNowPage
:
1
,
changeClassObj
:{
changeClassObj
:
{
show
:
false
,
show
:
false
,
new_periods_id
:
''
,
new_periods_id
:
''
,
new_class_id
:
''
,
new_class_id
:
''
,
periods_user_class_id
:
''
,
periods_user_class_id
:
''
,
periods_list
:[],
periods_list
:
[],
selectedGoods
:[]
selectedGoods
:
[]
}
,
}
,
selectUserList
:[],
selectUserList
:
[],
addShow
:
false
,
addShow
:
false
,
userList
:
[],
userList
:
[],
nowPage
:
1
,
nowPage
:
1
,
limit
:
1000
,
limit
:
1000
,
total
:
0
,
total
:
0
,
timeLang
:[],
timeLang
:
[],
timerank
:[],
timerank
:
[],
searchFrom
:
{
searchFrom
:
{
user_id
:
''
,
user_id
:
''
,
is_add_teacher
:
''
,
is_add_teacher
:
''
,
is_view_course
:
''
,
is_view_course
:
''
,
start_at
:
''
,
start_at
:
''
,
end_at
:
''
end_at
:
''
}
,
}
,
multipleSelection
:
[],
multipleSelection
:
[],
descDialog
:
{
descDialog
:
{
...
@@ -612,7 +631,7 @@
...
@@ -612,7 +631,7 @@
descList
:
[],
descList
:
[],
nowPage
:
1
,
nowPage
:
1
,
limit
:
10
,
limit
:
10
,
total
:
0
,
total
:
0
,
userInfo
:
null
userInfo
:
null
}
,
}
,
privilegeDialog
:
{
privilegeDialog
:
{
...
@@ -651,7 +670,7 @@
...
@@ -651,7 +670,7 @@
isBindUser
:
false
isBindUser
:
false
}
}
}
,
}
,
components
:{
components
:
{
page
,
page
,
page2
,
page2
,
teacherDesc
,
teacherDesc
,
...
@@ -659,47 +678,47 @@
...
@@ -659,47 +678,47 @@
pageDesc
,
pageDesc
,
sourceByDateDialog
sourceByDateDialog
}
,
}
,
filters
:{
filters
:
{
isOrNot
(
value
){
isOrNot
(
value
)
{
return
ISORNOT
[
value
]
return
ISORNOT
[
value
]
}
,
}
,
percent
(
val
){
percent
(
val
)
{
return
(
val
*
100
).
toFixed
(
2
)
+
'%'
return
(
val
*
100
).
toFixed
(
2
)
+
'%'
}
,
}
,
isteacher
(
val
){
isteacher
(
val
)
{
// console.log(val)
// console.log(val)
// debugger
// debugger
if
(
val
==
1
)
{
if
(
val
==
1
)
{
return
'老师主动添加'
return
'老师主动添加'
}
else
if
(
val
==
2
)
{
}
else
if
(
val
==
2
)
{
return
'用户主动添加'
return
'用户主动添加'
}
else
if
(
val
==
3
)
{
}
else
if
(
val
==
3
)
{
return
'待通过'
return
'待通过'
}
else
if
(
val
==
4
)
{
}
else
if
(
val
==
4
)
{
return
'手机号不是微信号'
return
'手机号不是微信号'
}
else
if
(
val
==
5
)
{
}
else
if
(
val
==
5
)
{
return
'用户已拒绝'
return
'用户已拒绝'
}
else
if
(
val
==
0
)
{
}
else
if
(
val
==
0
)
{
return
'暂未处理'
return
'暂未处理'
}
}
}
,
}
,
userWeightf
(
val
){
userWeightf
(
val
)
{
console
.
log
(
val
)
console
.
log
(
val
)
if
(
val
==
1
)
{
if
(
val
==
1
)
{
return
'1'
return
'1'
}
else
if
(
val
==
2
)
{
}
else
if
(
val
==
2
)
{
return
'2'
return
'2'
}
else
if
(
val
==
3
)
{
}
else
if
(
val
==
3
)
{
return
'3'
return
'3'
}
else
if
(
val
==
100
)
{
}
else
if
(
val
==
100
)
{
return
'无法成为意向'
return
'无法成为意向'
}
else
{
}
else
{
return
'默认'
return
'默认'
}
}
}
}
}
,
}
,
methods
:{
methods
:
{
rendertip
(
h
,
{
column
}
)
{
rendertip
(
h
,
{
column
}
)
{
// common.tipFilter(h,column,tipArr2)
// common.tipFilter(h,column,tipArr2)
return
h
(
"span"
,
[
return
h
(
"span"
,
[
h
(
"span"
,
column
.
label
),
h
(
"span"
,
column
.
label
),
...
@@ -721,116 +740,118 @@
...
@@ -721,116 +740,118 @@
)
)
]);
]);
}
,
}
,
onRank
(){
onRank
()
{
console
.
log
(
this
.
timerank
)
console
.
log
(
this
.
timerank
)
let
json
=
{
}
let
json
=
{
}
if
(
this
.
timerank
&&
this
.
timerank
.
length
>
1
)
{
if
(
this
.
timerank
&&
this
.
timerank
.
length
>
1
)
{
json
.
start_at
=
this
.
timerank
[
0
];
json
.
start_at
=
this
.
timerank
[
0
];
json
.
end_at
=
this
.
timerank
[
1
];
json
.
end_at
=
this
.
timerank
[
1
];
}
}
if
(
this
.
rankParams
.
type
)
{
if
(
this
.
rankParams
.
type
)
{
json
.
type
=
this
.
rankParams
.
type
json
.
type
=
this
.
rankParams
.
type
}
}
if
(
this
.
rankParams
.
start_date
)
{
if
(
this
.
rankParams
.
start_date
)
{
json
.
start_date
=
this
.
rankParams
.
start_date
json
.
start_date
=
this
.
rankParams
.
start_date
}
}
if
(
this
.
rankParams
.
end_date
)
{
if
(
this
.
rankParams
.
end_date
)
{
json
.
end_date
=
this
.
rankParams
.
end_date
json
.
end_date
=
this
.
rankParams
.
end_date
}
}
if
(
this
.
rankParams
.
limit
)
{
if
(
this
.
rankParams
.
limit
)
{
json
.
limit
=
this
.
rankParams
.
limit
json
.
limit
=
this
.
rankParams
.
limit
}
}
getLookRankApi
(
this
.
userObj
.
classId
,
json
).
then
(
res
=>
{
getLookRankApi
(
this
.
userObj
.
classId
,
json
).
then
(
res
=>
{
this
.
rank
.
show
=
true
this
.
rank
.
show
=
true
this
.
rank
.
list
=
res
this
.
rank
.
list
=
res
// console.log(res)
// console.log(res)
}
)
}
)
}
,
}
,
showSourceByDate
(
row
){
showSourceByDate
(
row
)
{
this
.
sourceByDateDialogJson
=
{
this
.
sourceByDateDialogJson
=
{
"periods_id"
:
row
.
periods_id
,
"periods_id"
:
row
.
periods_id
,
"user_id"
:
row
.
user_id
,
"user_id"
:
row
.
user_id
,
json
:{
json
:
{
limit
:
10
,
limit
:
10
,
page
:
0
page
:
0
}
}
}
}
this
.
$refs
.
sourceByDateDialogDom
.
dialogShow
=
true
this
.
$refs
.
sourceByDateDialogDom
.
dialogShow
=
true
//
//
}
,
}
,
changeView
(
data
){
changeView
(
data
)
{
editUserViewCourseApi
(
data
.
id
,
data
.
is_view_course
).
then
(()
=>
{
editUserViewCourseApi
(
data
.
id
,
data
.
is_view_course
).
then
(()
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
'数据更改成功'
message
:
'数据更改成功'
}
);
}
);
this
.
searchList
()
this
.
searchList
()
}
)
}
)
}
,
}
,
changeWeight
(
data
){
changeWeight
(
data
)
{
editUserWeightApi
(
data
.
id
,
data
.
weight
).
then
(()
=>
{
editUserWeightApi
(
data
.
id
,
data
.
weight
).
then
(()
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
'数据更改成功'
message
:
'数据更改成功'
}
);
}
);
this
.
searchList
()
this
.
searchList
()
}
)
}
)
}
,
}
,
changeAddTeacher
(
data
){
changeAddTeacher
(
data
)
{
changeAddTeacherApi
(
data
.
id
,
data
.
is_add_teacher
).
then
(()
=>
{
changeAddTeacherApi
(
data
.
id
,
data
.
is_add_teacher
).
then
(()
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
'数据更改成功'
message
:
'数据更改成功'
}
);
}
);
this
.
searchList
()
this
.
searchList
()
}
)
}
)
}
,
}
,
handleItemChange
(
value
){
handleItemChange
(
value
)
{
console
.
log
(
this
.
userObj
)
console
.
log
(
this
.
userObj
)
// debugger
// debugger
getClassListApi
(
value
[
0
],
{
limit
:
999
,
type
:
this
.
userObj
.
type
}
).
then
(
res
=>
{
getClassListApi
(
value
[
0
],
{
limit
:
999
,
type
:
this
.
userObj
.
type
}
).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
title
=
i
.
class_name
i
.
title
=
i
.
class_name
}
);
}
);
this
.
changeClassObj
.
periods_list
.
find
(
i
=>
{
return
i
.
id
===
value
[
0
]
}
).
children
=
res
.
list
this
.
changeClassObj
.
periods_list
.
find
(
i
=>
{
return
i
.
id
===
value
[
0
]
}
).
children
=
res
.
list
}
)
}
)
// debugger
// debugger
}
,
}
,
changeClassSub
(){
changeClassSub
()
{
this
.
changeClassObj
.
periods_user_class_id
=
[]
this
.
changeClassObj
.
periods_user_class_id
=
[]
this
.
selectUserList
.
forEach
(
i
=>
{
this
.
selectUserList
.
forEach
(
i
=>
{
this
.
changeClassObj
.
periods_user_class_id
.
push
(
i
.
id
)
this
.
changeClassObj
.
periods_user_class_id
.
push
(
i
.
id
)
}
);
}
);
let
json
=
{
let
json
=
{
new_periods_id
:
this
.
changeClassObj
.
new_periods_id
,
new_periods_id
:
this
.
changeClassObj
.
new_periods_id
,
new_class_id
:
this
.
changeClassObj
.
new_class_id
,
new_class_id
:
this
.
changeClassObj
.
new_class_id
,
periods_user_class_id
:
this
.
changeClassObj
.
periods_user_class_id
.
toString
()
periods_user_class_id
:
this
.
changeClassObj
.
periods_user_class_id
.
toString
()
}
;
}
;
changeClassApi
(
json
).
then
(
res
=>
{
changeClassApi
(
json
).
then
(
res
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
res
message
:
res
}
);
}
);
this
.
userObj
.
show
=
false
;
this
.
userObj
.
show
=
false
;
this
.
$emit
(
'reflash'
)
this
.
$emit
(
'reflash'
)
}
)
}
)
}
,
}
,
changePeriods
(
data
){
changePeriods
(
data
)
{
if
(
data
.
length
>
1
)
{
if
(
data
.
length
>
1
)
{
this
.
changeClassObj
.
new_periods_id
=
data
[
0
];
this
.
changeClassObj
.
new_periods_id
=
data
[
0
];
this
.
changeClassObj
.
new_class_id
=
data
[
1
];
this
.
changeClassObj
.
new_class_id
=
data
[
1
];
}
}
}
,
}
,
changeClass
(){
changeClass
()
{
if
(
this
.
selectUserList
.
length
<
1
)
{
if
(
this
.
selectUserList
.
length
<
1
)
{
this
.
$message
({
this
.
$message
({
type
:
'error'
,
type
:
'error'
,
message
:
'请先选择用户'
message
:
'请先选择用户'
}
)
}
)
}
else
{
}
else
{
let
goods_id
=
this
.
selectUserList
[
0
].
goods_id
;
let
goods_id
=
this
.
selectUserList
[
0
].
goods_id
;
getPeriodsApi
({
goods_id
:
goods_id
,
limit
:
999
}
).
then
(
res
=>
{
getPeriodsApi
({
goods_id
:
goods_id
,
limit
:
999
}
).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
children
=
[]
i
.
children
=
[]
}
);
}
);
this
.
changeClassObj
.
periods_list
=
res
.
list
;
this
.
changeClassObj
.
periods_list
=
res
.
list
;
...
@@ -838,24 +859,33 @@
...
@@ -838,24 +859,33 @@
}
);
}
);
}
}
}
,
}
,
defaultClass
()
{
defaultClass
()
{
this
.
changeClassObj
.
selectedGoods
=
[
parseInt
(
this
.
userObj
.
periods_id
),
parseInt
(
this
.
userObj
.
classId
)];
this
.
changeClassObj
.
selectedGoods
=
[
parseInt
(
this
.
userObj
.
periods_id
),
parseInt
(
this
.
userObj
.
classId
)];
getClassListApi
(
this
.
changeClassObj
.
selectedGoods
[
0
],{
limit
:
999
,
type
:
this
.
userObj
.
type
}
,
this
.
userObj
.
type
).
then
(
res
=>
{
getClassListApi
(
this
.
changeClassObj
.
selectedGoods
[
0
],
{
res
.
list
.
forEach
(
i
=>
{
limit
:
999
,
type
:
this
.
userObj
.
type
}
,
this
.
userObj
.
type
).
then
(
res
=>
{
res
.
list
.
forEach
(
i
=>
{
i
.
title
=
i
.
class_name
;
i
.
title
=
i
.
class_name
;
}
);
}
);
this
.
changeClassObj
.
periods_list
.
find
(
i
=>
{
return
i
.
id
===
this
.
changeClassObj
.
selectedGoods
[
0
]
}
).
children
=
res
.
list
this
.
changeClassObj
.
periods_list
.
find
(
i
=>
{
let
nowGoods
=
this
.
changeClassObj
.
periods_list
.
find
(
i
=>
{
return
i
.
id
===
this
.
changeClassObj
.
selectedGoods
[
0
]
}
);
return
i
.
id
===
this
.
changeClassObj
.
selectedGoods
[
0
]
this
.
periods
=
nowGoods
.
children
.
find
(
i
=>
{
return
i
.
id
===
this
.
changeClassObj
.
selectedGoods
[
1
]
}
);
}
).
children
=
res
.
list
this
.
changeClassObj
.
new_class_id
=
this
.
userObj
.
classId
;
let
nowGoods
=
this
.
changeClassObj
.
periods_list
.
find
(
i
=>
{
this
.
changeClassObj
.
new_periods_id
=
this
.
userObj
.
periods_id
;
return
i
.
id
===
this
.
changeClassObj
.
selectedGoods
[
0
]
}
);
this
.
periods
=
nowGoods
.
children
.
find
(
i
=>
{
return
i
.
id
===
this
.
changeClassObj
.
selectedGoods
[
1
]
}
);
this
.
changeClassObj
.
new_class_id
=
this
.
userObj
.
classId
;
this
.
changeClassObj
.
new_periods_id
=
this
.
userObj
.
periods_id
;
}
)
}
)
}
,
}
,
handleSelectionChange123
(
a
){
handleSelectionChange123
(
a
)
{
this
.
selectUserList
=
a
this
.
selectUserList
=
a
}
,
}
,
userLook
(
data
){
userLook
(
data
)
{
this
.
lookDetail
.
show
=
true
;
this
.
lookDetail
.
show
=
true
;
this
.
lookDetail
.
loading
=
true
;
this
.
lookDetail
.
loading
=
true
;
let
json
=
{
let
json
=
{
...
@@ -863,17 +893,17 @@
...
@@ -863,17 +893,17 @@
page
:
this
.
lookDetail
.
nowPage
page
:
this
.
lookDetail
.
nowPage
}
}
this
.
lookDetail
.
data
=
{
this
.
lookDetail
.
data
=
{
periods_id
:
data
.
periods_id
,
periods_id
:
data
.
periods_id
,
user_id
:
data
.
user_id
user_id
:
data
.
user_id
}
}
userLookApi
(
data
.
periods_id
,
data
.
user_id
,
json
).
then
(
res
=>
{
userLookApi
(
data
.
periods_id
,
data
.
user_id
,
json
).
then
(
res
=>
{
this
.
lookDetail
.
list
=
res
.
list
;
this
.
lookDetail
.
list
=
res
.
list
;
this
.
lookDetail
.
loading
=
false
;
this
.
lookDetail
.
loading
=
false
;
this
.
lookDetail
.
total
=
res
.
total
;
this
.
lookDetail
.
total
=
res
.
total
;
}
)
}
)
}
,
}
,
getUserLook
(){
getUserLook
()
{
if
(
!
this
.
lookDetail
.
data
)
return
;
if
(
!
this
.
lookDetail
.
data
)
return
;
this
.
lookDetail
.
show
=
true
;
this
.
lookDetail
.
show
=
true
;
this
.
lookDetail
.
loading
=
true
;
this
.
lookDetail
.
loading
=
true
;
let
json
=
{
let
json
=
{
...
@@ -881,26 +911,26 @@
...
@@ -881,26 +911,26 @@
page
:
this
.
lookDetail
.
nowPage
page
:
this
.
lookDetail
.
nowPage
}
}
let
data
=
this
.
lookDetail
.
data
;
let
data
=
this
.
lookDetail
.
data
;
userLookApi
(
data
.
periods_id
,
data
.
user_id
,
json
).
then
(
res
=>
{
userLookApi
(
data
.
periods_id
,
data
.
user_id
,
json
).
then
(
res
=>
{
this
.
lookDetail
.
list
=
res
.
list
;
this
.
lookDetail
.
list
=
res
.
list
;
this
.
lookDetail
.
loading
=
false
;
this
.
lookDetail
.
loading
=
false
;
this
.
lookDetail
.
total
=
res
.
total
;
this
.
lookDetail
.
total
=
res
.
total
;
}
)
}
)
}
,
}
,
onLookDetailPageChange
(
val
){
onLookDetailPageChange
(
val
)
{
this
.
lookDetail
.
nowPage
=
val
this
.
lookDetail
.
nowPage
=
val
this
.
getUserLook
();
this
.
getUserLook
();
}
,
}
,
onLookDetailSizeChange
(
val
){
onLookDetailSizeChange
(
val
)
{
this
.
lookDetail
.
limit
=
val
this
.
lookDetail
.
limit
=
val
this
.
lookDetail
.
nowPage
=
1
;
this
.
lookDetail
.
nowPage
=
1
;
this
.
getUserLook
();
this
.
getUserLook
();
}
,
}
,
searchList2
(){
searchList2
()
{
this
.
classUserNowPage
=
1
this
.
classUserNowPage
=
1
this
.
searchList
()
this
.
searchList
()
}
,
}
,
searchList
(
value
){
searchList
(
value
)
{
console
.
log
(
value
)
console
.
log
(
value
)
if
(
value
)
{
if
(
value
)
{
this
.
classUserLimit
=
value
;
this
.
classUserLimit
=
value
;
...
@@ -908,26 +938,26 @@
...
@@ -908,26 +938,26 @@
}
}
this
.
loadingFlag
=
true
;
this
.
loadingFlag
=
true
;
let
json
=
{
let
json
=
{
page
:
this
.
classUserNowPage
,
page
:
this
.
classUserNowPage
,
limit
:
this
.
classUserLimit
limit
:
this
.
classUserLimit
}
;
}
;
let
json2
=
{
}
;
let
json2
=
{
}
;
if
(
this
.
timeLang
&&
this
.
timeLang
.
length
>
1
)
{
if
(
this
.
timeLang
&&
this
.
timeLang
.
length
>
1
)
{
json
.
start_at
=
this
.
timeLang
[
0
];
json
.
start_at
=
this
.
timeLang
[
0
];
json
.
end_at
=
this
.
timeLang
[
1
];
json
.
end_at
=
this
.
timeLang
[
1
];
json2
.
start_at
=
this
.
timeLang
[
0
];
json2
.
start_at
=
this
.
timeLang
[
0
];
json2
.
end_at
=
this
.
timeLang
[
1
];
json2
.
end_at
=
this
.
timeLang
[
1
];
}
}
if
(
this
.
searchFrom
.
user_id
)
{
if
(
this
.
searchFrom
.
user_id
)
{
json
.
user_id
=
this
.
searchFrom
.
user_id
json
.
user_id
=
this
.
searchFrom
.
user_id
}
}
if
(
this
.
searchFrom
.
is_add_teacher
||
this
.
searchFrom
.
is_add_teacher
===
0
)
{
if
(
this
.
searchFrom
.
is_add_teacher
||
this
.
searchFrom
.
is_add_teacher
===
0
)
{
json
.
is_add_teacher
=
this
.
searchFrom
.
is_add_teacher
json
.
is_add_teacher
=
this
.
searchFrom
.
is_add_teacher
}
}
if
(
this
.
searchFrom
.
is_view_course
)
{
if
(
this
.
searchFrom
.
is_view_course
)
{
json
.
is_view_course
=
this
.
searchFrom
.
is_view_course
json
.
is_view_course
=
this
.
searchFrom
.
is_view_course
}
}
getClassStatisticsApi
(
this
.
userObj
.
periods_id
,
this
.
userObj
.
classId
,
json2
).
then
(
res
=>
{
getClassStatisticsApi
(
this
.
userObj
.
periods_id
,
this
.
userObj
.
classId
,
json2
).
then
(
res
=>
{
this
.
statistics
.
arrive_course_rate
=
res
.
arrive_course_rate
;
this
.
statistics
.
arrive_course_rate
=
res
.
arrive_course_rate
;
this
.
statistics
.
clock_rate
=
res
.
clock_rate
;
this
.
statistics
.
clock_rate
=
res
.
clock_rate
;
...
@@ -938,7 +968,7 @@
...
@@ -938,7 +968,7 @@
this
.
statistics
.
watch_course_rate
=
res
.
watch_course_rate
;
this
.
statistics
.
watch_course_rate
=
res
.
watch_course_rate
;
this
.
statistics
.
work_rate
=
res
.
work_rate
;
this
.
statistics
.
work_rate
=
res
.
work_rate
;
}
);
}
);
getClassListApi
(
this
.
userObj
.
periods_id
,
{
page
:
1
,
limit
:
100
}
).
then
(
res
=>
{
getClassListApi
(
this
.
userObj
.
periods_id
,
{
page
:
1
,
limit
:
100
}
).
then
(
res
=>
{
// console.log(res)
// console.log(res)
this
.
userObj
.
watch_num
=
res
.
periods
.
watch_num
this
.
userObj
.
watch_num
=
res
.
periods
.
watch_num
...
@@ -946,71 +976,71 @@
...
@@ -946,71 +976,71 @@
console
.
log
(
this
.
userObj
)
console
.
log
(
this
.
userObj
)
// debugger
// debugger
}
)
}
)
getJoinNumApi
(
this
.
userObj
.
classId
).
then
(
res
=>
{
getJoinNumApi
(
this
.
userObj
.
classId
).
then
(
res
=>
{
let
_list
=
res
||
[];
let
_list
=
res
||
[];
_list
.
forEach
((
_data
)
=>
{
_list
.
forEach
((
_data
)
=>
{
if
(
_data
.
is_add_teacher
===
1
)
{
if
(
_data
.
is_add_teacher
===
1
)
{
this
.
statistics
.
teacher_add_user_num
=
_data
.
num
this
.
statistics
.
teacher_add_user_num
=
_data
.
num
}
else
if
(
_data
.
is_add_teacher
===
2
)
{
}
else
if
(
_data
.
is_add_teacher
===
2
)
{
this
.
statistics
.
user_add_teacher_num
=
_data
.
num
this
.
statistics
.
user_add_teacher_num
=
_data
.
num
}
}
}
)
}
)
}
);
}
);
getClassUserApi
(
this
.
userObj
.
classId
,
json
).
then
(
res
=>
{
getClassUserApi
(
this
.
userObj
.
classId
,
json
).
then
(
res
=>
{
this
.
classUserTotal
=
res
.
total
;
this
.
classUserTotal
=
res
.
total
;
this
.
userTable
=
res
.
list
;
this
.
userTable
=
res
.
list
;
this
.
loadingFlag
=
false
;
this
.
loadingFlag
=
false
;
}
);
}
);
this
.
changeClassObj
=
{
this
.
changeClassObj
=
{
show
:
false
,
show
:
false
,
new_periods_id
:
''
,
new_periods_id
:
''
,
new_class_id
:
''
,
new_class_id
:
''
,
periods_user_class_id
:
''
,
periods_user_class_id
:
''
,
periods_list
:[],
periods_list
:
[],
selectedGoods
:[]
selectedGoods
:
[]
}
}
}
,
}
,
initPage
(){
initPage
()
{
console
.
log
(
this
.
userObj
)
console
.
log
(
this
.
userObj
)
this
.
timerank
[
0
]
=
this
.
nowDate
this
.
timerank
[
0
]
=
this
.
nowDate
this
.
timerank
[
1
]
=
this
.
nowDate
this
.
timerank
[
1
]
=
this
.
nowDate
// this.timeLang[0]='2019-04-17'
// this.timeLang[0]='2019-04-17'
console
.
log
(
this
.
timerank
)
console
.
log
(
this
.
timerank
)
// debugger
// debugger
this
.
searchFrom
=
{
this
.
searchFrom
=
{
user_id
:
''
,
user_id
:
''
,
is_add_teacher
:
''
,
is_add_teacher
:
''
,
is_view_course
:
''
,
is_view_course
:
''
,
start_at
:
''
,
start_at
:
''
,
end_at
:
''
,
end_at
:
''
,
}
;
}
;
this
.
statistics
=
{
this
.
statistics
=
{
arrive_course_rate
:
0
,
arrive_course_rate
:
0
,
clock_rate
:
0
,
clock_rate
:
0
,
over_clock_rate
:
0
,
over_clock_rate
:
0
,
over_course_rate
:
0
,
over_course_rate
:
0
,
over_work_rate
:
0
,
over_work_rate
:
0
,
transform_rate
:
0
,
transform_rate
:
0
,
watch_course_rate
:
0
,
watch_course_rate
:
0
,
work_rate
:
0
,
work_rate
:
0
,
teacher_add_user_num
:
0
,
teacher_add_user_num
:
0
,
user_add_teacher_num
:
0
user_add_teacher_num
:
0
}
;
}
;
this
.
classUserLimit
=
20
;
this
.
classUserLimit
=
20
;
this
.
classUserTotal
=
0
;
this
.
classUserTotal
=
0
;
this
.
classUserNowPage
=
1
;
this
.
classUserNowPage
=
1
;
this
.
searchList
()
this
.
searchList
()
}
,
}
,
changeUser
(
data
){
changeUser
(
data
)
{
this
.
$confirm
(
'此操作将修改成员看课权限?'
,
'提示'
,
{
this
.
$confirm
(
'此操作将修改成员看课权限?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}
).
then
(()
=>
{
}
).
then
(()
=>
{
changeUserApi
(
data
.
id
,
{
is_view_course
:
data
.
is_view_course
===
0
?
1
:
0
}
).
then
(
res
=>
{
changeUserApi
(
data
.
id
,
{
is_view_course
:
data
.
is_view_course
===
0
?
1
:
0
}
).
then
(
res
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
'修改成功!'
message
:
'修改成功!'
...
@@ -1019,13 +1049,13 @@
...
@@ -1019,13 +1049,13 @@
}
);
}
);
}
);
}
);
}
,
}
,
addTeacher
(
data
){
addTeacher
(
data
)
{
this
.
$confirm
(
'此操作将修改是否添加老师权限?'
,
'提示'
,
{
this
.
$confirm
(
'此操作将修改是否添加老师权限?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}
).
then
(()
=>
{
}
).
then
(()
=>
{
addUserTeacherApi
(
data
.
id
,
{
is_add_teacher
:
data
.
is_add_teacher
===
0
?
1
:
0
}
).
then
(
res
=>
{
addUserTeacherApi
(
data
.
id
,
{
is_add_teacher
:
data
.
is_add_teacher
===
0
?
1
:
0
}
).
then
(
res
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
'修改成功!'
message
:
'修改成功!'
...
@@ -1034,13 +1064,13 @@
...
@@ -1034,13 +1064,13 @@
}
);
}
);
}
);
}
);
}
,
}
,
onDel
(
data
){
onDel
(
data
)
{
this
.
$confirm
(
'此操作将删除该成员?'
,
'提示'
,
{
this
.
$confirm
(
'此操作将删除该成员?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}
).
then
(()
=>
{
}
).
then
(()
=>
{
delClassUserApi
(
data
.
id
).
then
(
res
=>
{
delClassUserApi
(
data
.
id
).
then
(
res
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
'删除成功!'
message
:
'删除成功!'
...
@@ -1049,17 +1079,17 @@
...
@@ -1049,17 +1079,17 @@
}
);
}
);
}
);
}
);
}
,
}
,
onAdd
(){
onAdd
()
{
let
json
=
{
let
json
=
{
is_buy
:
0
is_buy
:
0
}
}
if
(
this
.
multipleSelection
.
length
===
0
)
{
if
(
this
.
multipleSelection
.
length
===
0
)
{
this
.
$message
({
this
.
$message
({
type
:
'error'
,
type
:
'error'
,
message
:
'请选择用户!'
message
:
'请选择用户!'
}
);
}
);
return
return
}
else
if
(
this
.
multipleSelection
.
length
!==
1
){
}
else
if
(
this
.
multipleSelection
.
length
!==
1
)
{
this
.
$message
({
this
.
$message
({
type
:
'error'
,
type
:
'error'
,
message
:
'只能选择一个用户!'
message
:
'只能选择一个用户!'
...
@@ -1071,7 +1101,7 @@
...
@@ -1071,7 +1101,7 @@
return
return
}
}
if
(
!
this
.
isBindUser
)
{
if
(
!
this
.
isBindUser
)
{
addClassUesrApi
(
this
.
userObj
.
classId
,
this
.
addId
,
json
).
then
(
res
=>
{
addClassUesrApi
(
this
.
userObj
.
classId
,
this
.
addId
,
json
).
then
(
res
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
'添加成功!'
message
:
'添加成功!'
...
@@ -1080,7 +1110,7 @@
...
@@ -1080,7 +1110,7 @@
this
.
searchList
()
this
.
searchList
()
}
)
}
)
}
else
{
}
else
{
teacherBindUserApi
(
this
.
userObj
.
teacherId
,
{
user_id
:
this
.
addId
}
).
then
(
res
=>
{
teacherBindUserApi
(
this
.
userObj
.
teacherId
,
{
user_id
:
this
.
addId
}
).
then
(
res
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
'绑定成功!'
message
:
'绑定成功!'
...
@@ -1090,12 +1120,12 @@
...
@@ -1090,12 +1120,12 @@
}
}
}
,
}
,
onAddUser
(
flag
){
onAddUser
(
flag
)
{
this
.
isBindUser
=
flag
;
this
.
isBindUser
=
flag
;
this
.
addShow
=
true
;
this
.
addShow
=
true
;
this
.
getUser
();
this
.
getUser
();
}
,
}
,
getUser
(){
getUser
()
{
let
json
=
{
let
json
=
{
page
:
this
.
nowPage
,
page
:
this
.
nowPage
,
limit
:
5
limit
:
5
...
@@ -1109,16 +1139,16 @@
...
@@ -1109,16 +1139,16 @@
if
(
this
.
searchFrom
.
mobile
)
{
if
(
this
.
searchFrom
.
mobile
)
{
json
.
mobile
=
this
.
searchFrom
.
mobile
json
.
mobile
=
this
.
searchFrom
.
mobile
}
}
getUserListApi
(
json
).
then
(
res
=>
{
getUserListApi
(
json
).
then
(
res
=>
{
this
.
userList
=
res
.
list
;
this
.
userList
=
res
.
list
;
this
.
total
=
res
.
total
;
this
.
total
=
res
.
total
;
}
)
}
)
}
,
}
,
onPageChange
(
val
){
onPageChange
(
val
)
{
this
.
nowPage
=
val
this
.
nowPage
=
val
this
.
getUser
()
this
.
getUser
()
}
,
}
,
onSizeChange
(
val
){
onSizeChange
(
val
)
{
this
.
limit
=
val
this
.
limit
=
val
this
.
nowPage
=
1
;
this
.
nowPage
=
1
;
this
.
getUser
()
this
.
getUser
()
...
@@ -1131,8 +1161,8 @@
...
@@ -1131,8 +1161,8 @@
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
inputValue
:
''
inputValue
:
''
}
).
then
(({
value
}
)
=>
{
}
).
then
(({
value
}
)
=>
{
addPeriodsClassUserDescApi
(
id
,
{
desc
:
value
}
).
then
(
res
=>
{
addPeriodsClassUserDescApi
(
id
,
{
desc
:
value
}
).
then
(
res
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
'编辑沟通情况成功'
message
:
'编辑沟通情况成功'
...
@@ -1142,7 +1172,7 @@
...
@@ -1142,7 +1172,7 @@
}
);
}
);
}
)
}
)
}
,
}
,
onGetUserDescList
(
val
){
onGetUserDescList
(
val
)
{
this
.
descDialog
.
show
=
true
;
this
.
descDialog
.
show
=
true
;
this
.
descDialog
.
userInfo
=
{
this
.
descDialog
.
userInfo
=
{
user_id
:
val
.
user_id
,
user_id
:
val
.
user_id
,
...
@@ -1152,26 +1182,26 @@
...
@@ -1152,26 +1182,26 @@
this
.
descDialog
.
id
=
val
.
id
;
this
.
descDialog
.
id
=
val
.
id
;
this
.
getUserDescList
();
this
.
getUserDescList
();
}
,
}
,
getUserDescList
(){
getUserDescList
()
{
let
json
=
{
let
json
=
{
page
:
this
.
descDialog
.
nowPage
,
page
:
this
.
descDialog
.
nowPage
,
limit
:
this
.
descDialog
.
limit
limit
:
this
.
descDialog
.
limit
}
;
}
;
getUserDescListApi
(
this
.
descDialog
.
id
,
json
).
then
(
res
=>
{
getUserDescListApi
(
this
.
descDialog
.
id
,
json
).
then
(
res
=>
{
this
.
descDialog
.
descList
=
res
.
list
;
this
.
descDialog
.
descList
=
res
.
list
;
this
.
descDialog
.
total
=
res
.
total
;
this
.
descDialog
.
total
=
res
.
total
;
}
)
}
)
}
,
}
,
onDescDialogPageChange
(
val
){
onDescDialogPageChange
(
val
)
{
this
.
descDialog
.
nowPage
=
val
this
.
descDialog
.
nowPage
=
val
this
.
getUserDescList
()
this
.
getUserDescList
()
}
,
}
,
onDescDialogSizeChange
(
val
){
onDescDialogSizeChange
(
val
)
{
this
.
descDialog
.
limit
=
val
this
.
descDialog
.
limit
=
val
this
.
descDialog
.
nowPage
=
1
;
this
.
descDialog
.
nowPage
=
1
;
this
.
getUserDescList
()
this
.
getUserDescList
()
}
,
}
,
editPrivilege
(
val
){
editPrivilege
(
val
)
{
this
.
privilegeDialog
=
{
this
.
privilegeDialog
=
{
id
:
val
.
id
,
id
:
val
.
id
,
isAllowView
:
val
.
is_view_course
===
1
,
isAllowView
:
val
.
is_view_course
===
1
,
...
@@ -1180,7 +1210,7 @@
...
@@ -1180,7 +1210,7 @@
show
:
true
show
:
true
}
}
}
,
}
,
changePrivilegeSub
(){
changePrivilegeSub
()
{
this
.
$confirm
(
'此操作将修改用户权限?'
,
'提示'
,
{
this
.
$confirm
(
'此操作将修改用户权限?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
...
@@ -1191,7 +1221,7 @@
...
@@ -1191,7 +1221,7 @@
is_add_teacher
:
this
.
privilegeDialog
.
is_add_teacher
,
is_add_teacher
:
this
.
privilegeDialog
.
is_add_teacher
,
weight
:
this
.
privilegeDialog
.
weight
weight
:
this
.
privilegeDialog
.
weight
}
}
updateUserPrivilegeApi
(
this
.
privilegeDialog
.
id
,
_json
).
then
(
res
=>
{
updateUserPrivilegeApi
(
this
.
privilegeDialog
.
id
,
_json
).
then
(
res
=>
{
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
'修改成功!'
message
:
'修改成功!'
...
@@ -1201,8 +1231,8 @@
...
@@ -1201,8 +1231,8 @@
}
);
}
);
}
);
}
);
}
,
}
,
exportTable
(
data
){
exportTable
(
data
)
{
if
(
data
.
length
>
0
)
{
if
(
data
.
length
>
0
)
{
let
json
=
{
}
;
let
json
=
{
}
;
if
(
this
.
searchFrom
.
user_id
)
{
if
(
this
.
searchFrom
.
user_id
)
{
json
.
user_id
=
this
.
searchFrom
.
user_id
json
.
user_id
=
this
.
searchFrom
.
user_id
...
@@ -1213,35 +1243,35 @@
...
@@ -1213,35 +1243,35 @@
if
(
this
.
searchFrom
.
is_view_course
)
{
if
(
this
.
searchFrom
.
is_view_course
)
{
json
.
is_view_course
=
this
.
searchFrom
.
is_view_course
json
.
is_view_course
=
this
.
searchFrom
.
is_view_course
}
}
if
(
this
.
timeLang
&&
this
.
timeLang
.
length
>
0
)
{
if
(
this
.
timeLang
&&
this
.
timeLang
.
length
>
0
)
{
json
.
pay_start_at
=
this
.
timeLang
[
0
];
json
.
pay_start_at
=
this
.
timeLang
[
0
];
json
.
pay_end_at
=
this
.
timeLang
[
1
]
json
.
pay_end_at
=
this
.
timeLang
[
1
]
}
}
exportExcelApi
(
`api/admin/class/user/export/${this.userObj.classId
}
`
,
json
,
'用户列表'
);
exportExcelApi
(
`api/admin/class/user/export/${this.userObj.classId
}
`
,
json
,
'用户列表'
);
}
}
}
,
}
,
formatTime
(
date
){
formatTime
(
date
)
{
let
year
=
date
.
getFullYear
();
let
year
=
date
.
getFullYear
();
let
Month
=
date
.
getMonth
()
+
1
;
let
Month
=
date
.
getMonth
()
+
1
;
if
(
Month
<
10
)
{
if
(
Month
<
10
)
{
Month
=
`0${Month
}
`
Month
=
`0${Month
}
`
}
}
let
Day
=
date
.
getDate
();
let
Day
=
date
.
getDate
();
if
(
Day
<
10
)
Day
=
`0${Day
}
`
;
if
(
Day
<
10
)
Day
=
`0${Day
}
`
;
return
`${year
}
-${Month
}
-${Day
}
`
;
return
`${year
}
-${Month
}
-${Day
}
`
;
}
,
}
,
}
,
}
,
watch
:{
watch
:
{
'userObj.show'
(
value
){
'userObj.show'
(
value
)
{
if
(
value
)
{
if
(
value
)
{
this
.
initPage
()
this
.
initPage
()
}
}
}
,
}
,
'classUserNowPage'
(
value
){
'classUserNowPage'
(
value
)
{
this
.
searchList
()
this
.
searchList
()
}
,
}
,
"changeClassObj.show"
(
val
){
"changeClassObj.show"
(
val
)
{
if
(
val
)
{
if
(
val
)
{
this
.
defaultClass
()
this
.
defaultClass
()
}
}
}
}
...
@@ -1249,21 +1279,25 @@
...
@@ -1249,21 +1279,25 @@
}
}
<
/script
>
<
/script
>
<
style
scoped
lang
=
"less"
>
<
style
scoped
lang
=
"less"
>
@
import
"../../util/public"
;
@
import
"../../util/public"
;
.
avatar
{
.
avatar
{
width
:
50
px
;
width
:
50
px
;
margin
-
right
:
5
px
;
margin
-
right
:
5
px
;
border
-
radius
:
50
%
;
border
-
radius
:
50
%
;
height
:
50
px
;
height
:
50
px
;
}
}
.
user
{
.
user
{
/*height: 100%;*/
/*height: 100%;*/
overflow
:
auto
;
overflow
:
auto
;
padding
:
20
px
0
;
padding
:
20
px
0
;
.
btn
-
content
{
.
btn
-
content
{
text
-
align
:
center
;
text
-
align
:
center
;
}
}
}
}
.
flexRow
{
.
flexRow
{
display
:
flex
;
display
:
flex
;
flex
-
flow
:
row
;
flex
-
flow
:
row
;
...
@@ -1273,7 +1307,7 @@
...
@@ -1273,7 +1307,7 @@
<
/style
>
<
/style
>
<
style
>
<
style
>
.
f
-
c
>
div
{
.
f
-
c
>
div
{
display
:
flex
;
display
:
flex
;
flex
-
flow
:
row
nowrap
;
flex
-
flow
:
row
nowrap
;
justify
-
content
:
flex
-
start
;
justify
-
content
:
flex
-
start
;
...
...
src/components/system/role.vue
View file @
59917b0d
...
@@ -13,8 +13,14 @@
...
@@ -13,8 +13,14 @@
<el-table-column
prop=
"created_at"
label=
"创建时间"
sortable
></el-table-column>
<el-table-column
prop=
"created_at"
label=
"创建时间"
sortable
></el-table-column>
<el-table-column
v-if=
"!$store.state.readonly"
label=
"操作"
>
<el-table-column
v-if=
"!$store.state.readonly"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
plain
type=
"primary"
v-if=
"!$store.state.readonly"
@
click=
"edit(scope.row)"
>
编辑
</el-button>
<el-button
<el-button
size=
"mini"
type=
"danger"
plain
@
click=
"del(scope.row)"
v-if=
"$store.state.deletePermission && !$store.state.readonly"
>
删除
</el-button>
size=
"mini"
plain
type=
"primary"
@
click=
"edit(scope.row)"
v-if=
"!$store.state.readonly"
>
编辑
</el-button>
<el-button
size=
"mini"
type=
"danger"
plain
@
click=
"del(scope.row)"
v-if=
"$store.state.deletePermission && !$store.state.readonly"
>
删除
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -39,19 +45,43 @@
...
@@ -39,19 +45,43 @@
<span
class=
"custom-tree-node"
slot-scope=
"{ node, data }"
>
<span
class=
"custom-tree-node"
slot-scope=
"{ node, data }"
>
<span>
{{ node.label }}
</span>
<span>
{{ node.label }}
</span>
<span
v-if=
"data.pid !== 0"
>
<span
v-if=
"data.pid !== 0"
>
<el-checkbox
v-model=
"data.refund"
v-if=
"data.cover ==='5-1'|| data.cover=== '5-10'|| data.cover=== '5-9'"
>
退款
</el-checkbox>
<el-checkbox
<el-checkbox
v-model=
"data.refund"
v-if=
"data.cover ==='10-1' "
>
类别管理
</el-checkbox>
v-model=
"data.refund"
<el-checkbox
v-model=
"data.promoter"
v-if=
"data.cover ==='5-1' "
>
编辑推广人
</el-checkbox>
v-if=
"data.cover ==='5-1'|| data.cover=== '5-10'|| data.cover=== '5-9'"
>
退款
</el-checkbox>
<el-checkbox
v-model=
"data.refund"
v-if=
"data.cover ==='2-3'|| data.cover=== '3-1'|| data.cover=== '3-2' || data.cover=== '3-6' || data.cover=== '3-7' "
>
添加观摩班用户
</el-checkbox>
<el-checkbox
<el-checkbox
v-model=
"data.classManage"
v-if=
"data.cover ==='2-3'|| data.cover=== '3-1'|| data.cover=== '3-2' || data.cover=== '3-6' || data.cover=== '3-7' "
>
添加带班班用户
</el-checkbox>
v-model=
"data.refund"
<el-checkbox
v-model=
"data.classManageUnlimited"
v-if=
"data.cover ==='2-3'|| data.cover=== '3-1'|| data.cover=== '3-2' || data.cover=== '3-6' || data.cover=== '3-7' "
>
添加观摩班(无限制)
</el-checkbox>
v-if=
"data.cover ==='10-1' "
>
类别管理
</el-checkbox>
<el-checkbox
v-model=
"data.classTakeUnlimited"
v-if=
"data.cover ==='2-3'|| data.cover=== '3-1'|| data.cover=== '3-2' || data.cover=== '3-6' || data.cover=== '3-7' "
>
添加带班班(无限制)
</el-checkbox>
<el-checkbox
<el-checkbox
v-model=
"data.distribution"
v-if=
"data.cover ==='5-9'||data.cover ==='7-9'"
@
change=
"distribution"
>
批量分配
</el-checkbox>
v-model=
"data.promoter"
<el-checkbox
v-model=
"data.exportFinish"
v-if=
"data.cover === '2-3'"
>
导出完课用户
</el-checkbox>
v-if=
"data.cover ==='5-1' "
>
编辑推广人
</el-checkbox>
<el-checkbox
v-model=
"data.import"
v-if=
"data.cover ==='6-3'||data.cover ==='5-3'||data.cover ==='5-9'||data.cover ==='6-4'"
>
导入
</el-checkbox>
<el-checkbox
<el-checkbox
v-model=
"data.export"
v-if=
"exportMenuList.indexOf(data.cover) >-1"
>
导出
</el-checkbox>
v-model=
"data.refund"
<el-checkbox
v-model=
"data.readonly"
>
只读
</el-checkbox>
v-if=
"data.cover ==='2-3'|| data.cover=== '3-1'|| data.cover=== '3-2' || data.cover=== '3-6' || data.cover=== '3-7' "
>
添加观摩班用户
</el-checkbox>
<el-checkbox
v-model=
"data.delete"
>
删除
</el-checkbox>
<el-checkbox
v-model=
"data.classManage"
v-if=
"data.cover ==='2-3'|| data.cover=== '3-1'|| data.cover=== '3-2' || data.cover=== '3-6' || data.cover=== '3-7' "
>
添加带班班用户
</el-checkbox>
<el-checkbox
v-model=
"data.classManageUnlimited"
v-if=
"data.cover ==='2-3'|| data.cover=== '3-1'|| data.cover=== '3-2' || data.cover=== '3-6' || data.cover=== '3-7' "
>
添加观摩班(无限制)
</el-checkbox>
<el-checkbox
v-model=
"data.classTakeUnlimited"
v-if=
"data.cover ==='2-3'|| data.cover=== '3-1'|| data.cover=== '3-2' || data.cover=== '3-6' || data.cover=== '3-7' "
>
添加带班班(无限制)
</el-checkbox>
<el-checkbox
v-model=
"data.distribution"
v-if=
"data.cover ==='5-9'||data.cover ==='7-9'"
@
change=
"distribution"
>
批量分配
</el-checkbox>
<el-checkbox
v-model=
"data.exportFinish"
v-if=
"data.cover === '2-3'"
>
导出完课用户
</el-checkbox>
<el-checkbox
v-model=
"data.import"
v-if=
"data.cover ==='6-3'||data.cover ==='5-3'||data.cover ==='5-9'||data.cover ==='6-4'"
>
导入
</el-checkbox>
<el-checkbox
v-model=
"data.export"
v-if=
"exportMenuList.indexOf(data.cover) >-1"
>
导出
</el-checkbox>
<el-checkbox
v-model=
"data.readonly"
>
只读
</el-checkbox>
<el-checkbox
v-model=
"data.delete"
>
删除
</el-checkbox>
</span>
</span>
</span>
</span>
</el-tree>
</el-tree>
...
@@ -128,7 +158,7 @@
...
@@ -128,7 +158,7 @@
j
.
delete
=
false
;
j
.
delete
=
false
;
if
(
this
.
exportMenuList
.
indexOf
(
j
.
cover
)
>
-
1
)
j
.
export
=
false
;
if
(
this
.
exportMenuList
.
indexOf
(
j
.
cover
)
>
-
1
)
j
.
export
=
false
;
if
(
j
.
cover
===
"5-9"
||
j
.
cover
===
"7-9"
)
j
.
distribution
=
false
;
if
(
j
.
cover
===
"5-9"
||
j
.
cover
===
"7-9"
)
j
.
distribution
=
false
;
if
(
j
.
cover
===
"6-3"
||
j
.
cover
===
"5-3"
||
j
.
cover
===
"5-9"
||
j
.
cover
===
"6-4"
)
j
.
import
=
false
;
if
(
j
.
cover
===
"6-3"
||
j
.
cover
===
"5-3"
||
j
.
cover
===
"5-9"
||
j
.
cover
===
"6-4"
)
j
.
import
=
false
;
if
(
j
.
name
===
'月课订单列表'
||
j
.
name
===
'日课订单列表'
||
j
.
name
===
"来源码管理"
if
(
j
.
name
===
'月课订单列表'
||
j
.
name
===
'日课订单列表'
||
j
.
name
===
"来源码管理"
||
j
.
cover
===
"5-9"
||
j
.
cover
===
"2-3"
||
j
.
cover
===
"3-1"
||
j
.
cover
===
'3-2'
||
j
.
cover
===
"3-6"
||
j
.
cover
===
"3-7"
)
j
.
refund
=
false
;
||
j
.
cover
===
"5-9"
||
j
.
cover
===
"2-3"
||
j
.
cover
===
"3-1"
||
j
.
cover
===
'3-2'
||
j
.
cover
===
"3-6"
||
j
.
cover
===
"3-7"
)
j
.
refund
=
false
;
if
(
j
.
cover
===
"2-3"
||
j
.
cover
===
"3-1"
||
j
.
cover
===
'3-2'
||
j
.
cover
===
"3-6"
||
j
.
cover
===
"3-7"
)
{
if
(
j
.
cover
===
"2-3"
||
j
.
cover
===
"3-1"
||
j
.
cover
===
'3-2'
||
j
.
cover
===
"3-6"
||
j
.
cover
===
"3-7"
)
{
...
@@ -179,7 +209,7 @@
...
@@ -179,7 +209,7 @@
j
.
delete
=
false
;
j
.
delete
=
false
;
if
(
this
.
exportMenuList
.
indexOf
(
j
.
cover
)
>
-
1
)
j
.
export
=
false
;
if
(
this
.
exportMenuList
.
indexOf
(
j
.
cover
)
>
-
1
)
j
.
export
=
false
;
if
(
j
.
cover
===
"5-9"
||
j
.
cover
===
"7-9"
)
j
.
distribution
=
false
;
if
(
j
.
cover
===
"5-9"
||
j
.
cover
===
"7-9"
)
j
.
distribution
=
false
;
if
(
j
.
cover
===
"6-3"
||
j
.
cover
===
"5-3"
||
j
.
cover
===
"5-9"
||
j
.
cover
===
"6-4"
)
j
.
import
=
false
;
if
(
j
.
cover
===
"6-3"
||
j
.
cover
===
"5-3"
||
j
.
cover
===
"5-9"
||
j
.
cover
===
"6-4"
)
j
.
import
=
false
;
if
(
j
.
name
===
'月课订单列表'
||
j
.
name
===
'日课订单列表'
||
j
.
name
===
"来源码管理"
if
(
j
.
name
===
'月课订单列表'
||
j
.
name
===
'日课订单列表'
||
j
.
name
===
"来源码管理"
||
j
.
cover
===
"5-9"
||
j
.
cover
===
"2-3"
||
j
.
cover
===
"3-1"
||
j
.
cover
===
'3-2'
||
j
.
cover
===
"3-6"
||
j
.
cover
===
"3-7"
)
j
.
refund
=
false
;
||
j
.
cover
===
"5-9"
||
j
.
cover
===
"2-3"
||
j
.
cover
===
"3-1"
||
j
.
cover
===
'3-2'
||
j
.
cover
===
"3-6"
||
j
.
cover
===
"3-7"
)
j
.
refund
=
false
;
if
(
j
.
cover
===
"2-3"
||
j
.
cover
===
"3-1"
||
j
.
cover
===
'3-2'
||
j
.
cover
===
"3-6"
||
j
.
cover
===
"3-7"
)
{
if
(
j
.
cover
===
"2-3"
||
j
.
cover
===
"3-1"
||
j
.
cover
===
'3-2'
||
j
.
cover
===
"3-6"
||
j
.
cover
===
"3-7"
)
{
...
@@ -219,7 +249,7 @@
...
@@ -219,7 +249,7 @@
x
.
classManageUnlimited
=
!!
i
.
classManageUnlimited
;
x
.
classManageUnlimited
=
!!
i
.
classManageUnlimited
;
x
.
classTakeUnlimited
=
!!
i
.
classTakeUnlimited
;
x
.
classTakeUnlimited
=
!!
i
.
classTakeUnlimited
;
}
}
if
(
i
.
cover
===
"6-3"
||
i
.
cover
===
"5-3"
||
i
.
cover
===
"5-9"
||
i
.
cover
===
"6-4"
)
{
if
(
i
.
cover
===
"6-3"
||
i
.
cover
===
"5-3"
||
i
.
cover
===
"5-9"
||
i
.
cover
===
"6-4"
)
{
x
.
import
=
!!
i
.
import
;
x
.
import
=
!!
i
.
import
;
}
}
if
(
i
.
cover
===
"5-9"
||
i
.
cover
===
"7-9"
)
{
if
(
i
.
cover
===
"5-9"
||
i
.
cover
===
"7-9"
)
{
...
...
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