Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xiaomai-cloud-class-web
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiaomai-cloud-class
xiaomai-cloud-class-web
Commits
75cf6b8c
Commit
75cf6b8c
authored
May 26, 2021
by
guomingpang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:外部课程相关模块提交
parent
ca32bda3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
269 additions
and
231 deletions
+269
-231
src/modules/knowledge-base/modal/LiveList.less
+5
-5
src/modules/plan-manage/components/UserLearningData.jsx
+264
-226
No files found.
src/modules/knowledge-base/modal/LiveList.less
View file @
75cf6b8c
...
@@ -71,13 +71,13 @@
...
@@ -71,13 +71,13 @@
}
}
.courseware {
.courseware {
font-size: 14px;
font-size: 14px;
color: #
5289fa
;
color: #
2966ff
;
line-height: 20px;
line-height: 20px;
text-align: right;
text-align: right;
cursor: pointer;
cursor: pointer;
}
}
.quota-icon {
.quota-icon {
color: #
5289fa
;
color: #
2966ff
;
cursor: pointer;
cursor: pointer;
}
}
.operate {
.operate {
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
align-items: center;
align-items: center;
flex-wrap: wrap;
flex-wrap: wrap;
.operate__item {
.operate__item {
color: #
5289fa
;
color: #
2966ff
;
cursor: pointer;
cursor: pointer;
&.split {
&.split {
margin: 0 8px;
margin: 0 8px;
...
@@ -94,7 +94,7 @@
...
@@ -94,7 +94,7 @@
}
}
}
}
.operate-text {
.operate-text {
color: #
5289fa
;
color: #
2966ff
;
cursor: pointer;
cursor: pointer;
}
}
.course-start-end {
.course-start-end {
...
@@ -126,7 +126,7 @@
...
@@ -126,7 +126,7 @@
}
}
.add-course-modal {
.add-course-modal {
.ant-tabs-nav .ant-tabs-tab-active {
.ant-tabs-nav .ant-tabs-tab-active {
color: #
ffb714
;
color: #
2966ff
;
}
}
.ant-modal-content tr > td {
.ant-modal-content tr > td {
padding: 12px 8px !important;
padding: 12px 8px !important;
...
...
src/modules/plan-manage/components/UserLearningData.jsx
View file @
75cf6b8c
import
React
from
'react'
;
import
React
from
'react'
import
{
withRouter
}
from
"react-router-dom"
;
import
{
withRouter
}
from
'react-router-dom'
import
{
Table
,
Modal
,
Input
,
message
,
Tooltip
}
from
'antd'
;
import
{
Table
,
Modal
,
Input
,
message
,
Tooltip
}
from
'antd'
import
{
PageControl
}
from
"@/components"
;
import
{
PageControl
}
from
'@/components'
import
UserLearningDataFilter
from
'./UserLearningDataFilter'
;
import
UserLearningDataFilter
from
'./UserLearningDataFilter'
import
PlanService
from
'@/domains/plan-domain/planService'
;
import
PlanService
from
'@/domains/plan-domain/planService'
import
UserLearnDetailModal
from
"../modal/UserLearnDetailModal"
;
import
UserLearnDetailModal
from
'../modal/UserLearnDetailModal'
import
UnbundEmployeeModal
from
'../modal/UnbundEmployeeModal'
import
UnbundEmployeeModal
from
'../modal/UnbundEmployeeModal'
import
User
from
'@/common/js/user'
;
import
User
from
'@/common/js/user'
import
'./UserLearningData.less'
;
import
'./UserLearningData.less'
const
userRole
=
User
.
getUserRole
();
const
userRole
=
User
.
getUserRole
()
const
{
Search
}
=
Input
;
const
{
Search
}
=
Input
const
{
confirm
}
=
Modal
;
const
{
confirm
}
=
Modal
const
LearnState
=
{
const
LearnState
=
{
UN_PLAY
:
{
UN_PLAY
:
{
text
:
"未开始"
text
:
'未开始'
,
},
},
UNDER_WAY
:
{
UNDER_WAY
:
{
text
:
"进行中"
text
:
'进行中'
,
},
},
FINISH
:
{
FINISH
:
{
text
:
'已完成'
text
:
'已完成'
,
}
}
,
}
;
}
class
UserLearningData
extends
React
.
Component
{
class
UserLearningData
extends
React
.
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
)
;
super
(
props
)
const
id
=
getParameterByName
(
"id"
);
const
id
=
getParameterByName
(
'id'
)
this
.
state
=
{
this
.
state
=
{
id
,
id
,
dataSource
:[],
dataSource
:
[],
size
:
10
,
size
:
10
,
query
:
{
query
:
{
current
:
1
,
current
:
1
,
},
},
totalCount
:
0
,
totalCount
:
0
,
userLearnDetailModalSHow
:
false
,
userLearnDetailModalSHow
:
false
,
unbundEmployeeModalVisible
:
false
,
unbundEmployeeModalVisible
:
false
,
}
}
}
}
componentDidMount
(){
componentDidMount
()
{
this
.
handleFetchDataList
()
;
this
.
handleFetchDataList
()
}
}
handleFetchDataList
=
(
_query
)
=>
{
handleFetchDataList
=
(
_query
)
=>
{
const
{
query
,
size
,
id
}
=
this
.
state
;
const
{
query
,
size
,
id
}
=
this
.
state
const
params
=
{
const
params
=
{
...
query
,
...
query
,
...
_query
,
...
_query
,
size
,
size
,
planId
:
id
,
planId
:
id
,
storeId
:
User
.
getStoreId
(),
storeId
:
User
.
getStoreId
(),
storeUserId
:
User
.
getStoreUserId
(),
storeUserId
:
User
.
getStoreUserId
(),
}
}
this
.
setState
({
query
:
params
})
;
this
.
setState
({
query
:
params
})
PlanService
.
getPlanCustomerRecordPage
(
params
).
then
((
res
)
=>
{
PlanService
.
getPlanCustomerRecordPage
(
params
).
then
((
res
)
=>
{
const
{
result
=
{}
}
=
res
;
const
{
result
=
{}
}
=
res
const
{
records
=
[],
total
=
0
}
=
result
;
const
{
records
=
[],
total
=
0
}
=
result
this
.
setState
({
this
.
setState
({
dataSource
:
records
,
dataSource
:
records
,
totalCount
:
Number
(
total
)
totalCount
:
Number
(
total
),
})
;
})
})
;
})
}
}
onShowSizeChange
=
(
current
,
size
)
=>
{
onShowSizeChange
=
(
current
,
size
)
=>
{
if
(
current
==
size
)
{
if
(
current
==
size
)
{
return
return
}
}
this
.
setState
({
this
.
setState
(
size
{
},()
=>
{
this
.
handleFetchDataList
()})
size
,
},
()
=>
{
this
.
handleFetchDataList
()
}
)
}
}
handleChangeTable
=
(
pagination
,
filters
,
sorter
)
=>
{
handleChangeTable
=
(
pagination
,
filters
,
sorter
)
=>
{
const
{
columnKey
,
order
}
=
sorter
;
const
{
columnKey
,
order
}
=
sorter
const
{
query
}
=
this
.
state
;
const
{
query
}
=
this
.
state
let
_columnKey
;
let
_columnKey
let
_order
;
let
_order
if
(
columnKey
===
'latelyLearnTime'
&&
order
===
'ascend'
)
{
_columnKey
=
"LATE_LEARN_TIME"
;
_order
=
'SORT_ASC'
;
}
if
(
columnKey
===
'latelyLearnTime'
&&
order
===
'ascend'
)
{
_columnKey
=
'LATE_LEARN_TIME'
_order
=
'SORT_ASC'
}
if
(
columnKey
===
'latelyLearnTime'
&&
order
===
'descend'
)
{
_columnKey
=
'LATE_LEARN_TIME'
_order
=
'SORT_DESC'
}
if
(
columnKey
===
'startLearnTime'
&&
order
===
'ascend'
)
{
_columnKey
=
'START_LEARN_TIME'
_order
=
'SORT_ASC'
}
if
(
columnKey
===
'startLearnTime'
&&
order
===
'descend'
)
{
_columnKey
=
'START_LEARN_TIME'
_order
=
'SORT_DESC'
}
if
(
columnKey
===
'learnNum'
&&
order
===
'ascend'
)
{
_columnKey
=
'LEARN_NUM'
_order
=
'SORT_ASC'
}
if
(
columnKey
===
'latelyLearnTime'
&&
order
===
'descend'
)
{
_columnKey
=
"LATE_LEARN_TIME"
;
_order
=
'SORT_DESC'
;}
if
(
columnKey
===
'learnNum'
&&
order
===
'descend'
)
{
_columnKey
=
'LEARN_NUM'
if
(
columnKey
===
'startLearnTime'
&&
order
===
'ascend'
)
{
_columnKey
=
"START_LEARN_TIME"
;
_order
=
'SORT_ASC'
;
}
_order
=
'SORT_DESC'
}
if
(
columnKey
===
'startLearnTime'
&&
order
===
'descend'
)
{
_columnKey
=
"START_LEARN_TIME"
;
_order
=
'SORT_DESC'
;
}
if
(
columnKey
===
'learnNum'
&&
order
===
'ascend'
)
{
_columnKey
=
"LEARN_NUM"
;
_order
=
'SORT_ASC'
;
}
if
(
columnKey
===
'learnNum'
&&
order
===
'descend'
)
{
_columnKey
=
"LEARN_NUM"
;
_order
=
'SORT_DESC'
;
}
const
_query
=
{
const
_query
=
{
...
query
,
...
query
,
sortMap
:{}
sortMap
:
{},
};
}
_query
.
sortMap
[
_columnKey
]
=
_order
;
_query
.
sortMap
[
_columnKey
]
=
_order
this
.
setState
({
this
.
setState
(
query
:
_query
{
},
()
=>
this
.
handleFetchDataList
())
query
:
_query
,
},
()
=>
this
.
handleFetchDataList
()
)
}
}
watchDetail
=
(
record
)
=>
{
watchDetail
=
(
record
)
=>
{
this
.
setState
({
this
.
setState
({
userLearnDetailModalSHow
:
true
,
userLearnDetailModalSHow
:
true
,
storeCustomerId
:
record
.
storeCustomerId
,
storeCustomerId
:
record
.
storeCustomerId
,
planId
:
record
.
planId
planId
:
record
.
planId
,
})
})
}
}
closeUserLearnDetailModal
=
()
=>
{
closeUserLearnDetailModal
=
()
=>
{
this
.
setState
({
this
.
setState
({
userLearnDetailModalSHow
:
false
,
userLearnDetailModalSHow
:
false
,
})
})
}
}
UnbundEmployee
=
(
record
)
=>
{
UnbundEmployee
=
(
record
)
=>
{
if
(
User
.
getUserRole
()
===
'CloudOperator'
)
{
if
(
User
.
getUserRole
()
===
'CloudOperator'
)
{
return
confirm
({
return
confirm
({
title
:
"你确定要解绑与学员的关系吗?"
,
title
:
'你确定要解绑与学员的关系吗?'
,
content
:
"解绑后,学员该培训计划的学习数据将同步移出"
,
content
:
'解绑后,学员该培训计划的学习数据将同步移出'
,
icon
:
(
icon
:
<
span
className=
'icon iconfont default-confirm-icon'
>

</
span
>,
<
span
className=
"icon iconfont default-confirm-icon"
>

</
span
>
okText
:
'删除'
,
),
okType
:
'danger'
,
okText
:
"删除"
,
cancelText
:
'取消'
,
okType
:
"danger"
,
cancelText
:
"取消"
,
onOk
:
()
=>
{
onOk
:
()
=>
{
this
.
handleConfirmUnbundEmployee
(
record
.
storeCustomerId
)
;
this
.
handleConfirmUnbundEmployee
(
record
.
storeCustomerId
)
},
},
})
;
})
}
else
{
}
else
{
this
.
setState
({
this
.
setState
({
unbundEmployeeModalVisible
:
true
,
unbundEmployeeModalVisible
:
true
,
storeCustomerId
:
record
.
storeCustomerId
storeCustomerId
:
record
.
storeCustomerId
,
})
})
}
}
}
}
handleConfirmUnbundEmployee
=
(
storeCustomerId
)
=>
{
handleConfirmUnbundEmployee
=
(
storeCustomerId
)
=>
{
let
removeUserIds
=
[]
;
let
removeUserIds
=
[]
removeUserIds
.
push
(
storeCustomerId
)
removeUserIds
.
push
(
storeCustomerId
)
const
params
=
{
const
params
=
{
planId
:
getParameterByName
(
"id"
),
planId
:
getParameterByName
(
'id'
),
removeUserIds
,
removeUserIds
,
storeCustomerId
:
storeCustomerId
,
storeCustomerId
:
storeCustomerId
,
storeId
:
User
.
getStoreId
(),
storeId
:
User
.
getStoreId
(),
storeUserId
:
User
.
getStoreUserId
()
storeUserId
:
User
.
getStoreUserId
(),
}
}
PlanService
.
removePlanCustomer
(
params
).
then
((
res
)
=>
{
PlanService
.
removePlanCustomer
(
params
).
then
((
res
)
=>
{
this
.
handleFetchDataList
()
;
this
.
handleFetchDataList
()
message
.
success
(
'解绑成功'
)
;
message
.
success
(
'解绑成功'
)
})
;
})
}
}
handleCloseUnbundEmployeeModal
=
()
=>
{
handleCloseUnbundEmployeeModal
=
()
=>
{
this
.
setState
({
this
.
setState
({
unbundEmployeeModalVisible
:
false
,
unbundEmployeeModalVisible
:
false
,
})
})
}
}
// 请求表头
// 请求表头
parselumns
=
()
=>
{
parselumns
=
()
=>
{
let
columns
;
let
columns
if
(
User
.
getUserRole
()
===
"CloudManager"
||
User
.
getUserRole
()
===
"StoreManager"
)
{
if
(
User
.
getUserRole
()
===
'CloudManager'
||
User
.
getUserRole
()
===
'StoreManager'
)
{
columns
=
[
columns
=
[
{
{
title
:
'学员'
,
title
:
'学员'
,
key
:
'storeCustomerName'
,
key
:
'storeCustomerName'
,
dataIndex
:
'storeCustomerName'
,
dataIndex
:
'storeCustomerName'
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
<
div
>
{
val
}
</
div
>
<
div
>
},
{
val
}
</
div
>
)
}
},
},
{
{
title
:
'学习状态'
,
title
:
'学习状态'
,
key
:
'learnState'
,
key
:
'learnState'
,
dataIndex
:
'learnState'
,
dataIndex
:
'learnState'
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
<
div
>
{
LearnState
[
val
].
text
}
</
div
>
<
div
>
},
{
LearnState
[
val
].
text
}
</
div
>
)
}
},
},
{
{
title
:
<
span
>
title
:
(
<
span
>
负责人
</
span
>
<
span
>
<
Tooltip
title=
"培训计划的分享者/跟进人"
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
></
Tooltip
>
<
span
>
负责人
</
span
>
</
span
>,
<
Tooltip
title=
'培训计划的分享者/跟进人'
>
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
>
</
Tooltip
>
</
span
>
),
key
:
'userNameList'
,
key
:
'userNameList'
,
dataIndex
:
'userNameList'
,
dataIndex
:
'userNameList'
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
(
<
div
>
<
div
>
{
record
.
userNameList
.
map
((
item
,
index
)
=>
{
{
record
.
userNameList
.
map
((
item
,
index
)
=>
{
return
<
span
>
{
item
}
{
(
index
<
record
.
userNameList
.
length
-
1
)
&&
(<
span
>
、
</
span
>)
}
</
span
>
return
(
<
span
>
{
item
}
{
index
<
record
.
userNameList
.
length
-
1
&&
<
span
>
、
</
span
>
}{
' '
}
</
span
>
)
})
}
})
}
</
div
>
</
div
>
)
)
}
}
,
},
},
{
{
title
:
'最近学习时间'
,
title
:
'最近学习时间'
,
key
:
'latelyLearnTime'
,
key
:
'latelyLearnTime'
,
dataIndex
:
'latelyLearnTime'
,
dataIndex
:
'latelyLearnTime'
,
sorter
:
true
,
sorter
:
true
,
width
:
240
,
width
:
240
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
`
${
formatDate
(
'YYYY-MM-DD H:i'
,
parseInt
(
record
.
latelyLearnTime
))}
`
`
${
formatDate
(
'YYYY-MM-DD H:i'
,
parseInt
(
record
.
latelyLearnTime
))}
`
},
)
}
},
},
{
{
title
:
'开始学习时间'
,
title
:
'开始学习时间'
,
key
:
'startLearnTime'
,
key
:
'startLearnTime'
,
dataIndex
:
'startLearnTime'
,
dataIndex
:
'startLearnTime'
,
width
:
240
,
width
:
240
,
sorter
:
true
,
sorter
:
true
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
<
div
>
{
formatDate
(
'YYYY-MM-DD H:i'
,
val
)
}
</
div
>
<
div
>
},
{
formatDate
(
'YYYY-MM-DD H:i'
,
val
)
}
</
div
>
)
}
},
},
{
{
title
:
<
span
>
title
:
(
<
span
>
学习进度
</
span
>
<
span
>
<
Tooltip
title=
"学员培训计划中达到“已完成”状态的课程数/总课程数"
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
></
Tooltip
>
<
span
>
学习进度
</
span
>
</
span
>,
<
Tooltip
title=
'学员培训计划中达到“已完成”状态的课程数/总课程数'
>
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
>
</
Tooltip
>
</
span
>
),
key
:
'learnNum'
,
key
:
'learnNum'
,
dataIndex
:
'learnNum'
,
dataIndex
:
'learnNum'
,
width
:
130
,
width
:
130
,
sorter
:
true
,
sorter
:
true
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
(
<
div
className=
"learn-num"
>
<
div
className=
'learn-num'
>
<
span
>
{
record
.
courseFinishNum
}
</
span
>
<
span
>
{
record
.
courseFinishNum
}
</
span
>
<
span
>
/
</
span
>
<
span
>
/
</
span
>
<
span
>
{
record
.
courseNum
}
</
span
>
<
span
>
{
record
.
courseNum
}
</
span
>
</
div
>
</
div
>
)
)
}
}
,
},
},
{
{
title
:
'操作'
,
title
:
'操作'
,
...
@@ -247,75 +274,73 @@ class UserLearningData extends React.Component {
...
@@ -247,75 +274,73 @@ class UserLearningData extends React.Component {
dataIndex
:
'operate'
,
dataIndex
:
'operate'
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
(
<
div
className=
"operate-area"
>
<
div
className=
'operate-area'
>
<
span
className=
"operate-item"
onClick=
{
()
=>
this
.
watchDetail
(
record
)
}
>
学习详情
</
span
>
<
span
className=
'operate-item'
onClick=
{
()
=>
this
.
watchDetail
(
record
)
}
>
<
span
className=
"split"
>
|
</
span
>
学习详情
<
span
className=
"operate-item"
onClick=
{
()
=>
{
this
.
UnbundEmployee
(
record
)}
}
>
解绑
</
span
>
</
span
>
<
span
className=
'split'
>
|
</
span
>
<
span
className=
'operate-item'
onClick=
{
()
=>
{
this
.
UnbundEmployee
(
record
)
}
}
>
解绑
</
span
>
</
div
>
</
div
>
)
)
}
}
,
}
}
,
]
;
]
}
else
{
}
else
{
columns
=
[
columns
=
[
{
{
title
:
'学员'
,
title
:
'学员'
,
key
:
'storeCustomerName'
,
key
:
'storeCustomerName'
,
dataIndex
:
'storeCustomerName'
,
dataIndex
:
'storeCustomerName'
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
<
div
>
{
val
}
</
div
>
<
div
>
},
{
val
}
</
div
>
)
}
},
},
{
{
title
:
'学习状态'
,
title
:
'学习状态'
,
key
:
'learnState'
,
key
:
'learnState'
,
dataIndex
:
'learnState'
,
dataIndex
:
'learnState'
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
<
div
>
{
LearnState
[
val
].
text
}
</
div
>
<
div
>
},
{
LearnState
[
val
].
text
}
</
div
>
)
}
},
},
{
{
title
:
'最近学习时间'
,
title
:
'最近学习时间'
,
key
:
'latelyLearnTime'
,
key
:
'latelyLearnTime'
,
dataIndex
:
'latelyLearnTime'
,
dataIndex
:
'latelyLearnTime'
,
sorter
:
true
,
sorter
:
true
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
<
div
>
{
formatDate
(
'YYYY-MM-DD H:i'
,
val
)
}
</
div
>
<
div
>
},
{
formatDate
(
'YYYY-MM-DD H:i'
,
val
)
}
</
div
>
)
}
},
},
{
{
title
:
'开始学习时间'
,
title
:
'开始学习时间'
,
key
:
'startLearnTime'
,
key
:
'startLearnTime'
,
dataIndex
:
'startLearnTime'
,
dataIndex
:
'startLearnTime'
,
sorter
:
true
,
sorter
:
true
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
<
div
>
{
formatDate
(
'YYYY-MM-DD H:i'
,
val
)
}
</
div
>
<
div
>
},
{
formatDate
(
'YYYY-MM-DD H:i'
,
val
)
}
</
div
>
)
}
},
},
{
{
title
:
<
span
>
title
:
(
<
span
>
学习进度
</
span
>
<
span
>
<
Tooltip
title=
"学员培训计划中达到“已完成”状态的课程数/总课程数"
><
i
className=
"icon iconfont"
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
></
Tooltip
>
<
span
>
学习进度
</
span
>
</
span
>,
<
Tooltip
title=
'学员培训计划中达到“已完成”状态的课程数/总课程数'
>
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
>
</
Tooltip
>
</
span
>
),
key
:
'learnNum'
,
key
:
'learnNum'
,
dataIndex
:
'learnNum'
,
dataIndex
:
'learnNum'
,
sorter
:
true
,
sorter
:
true
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
(
<
div
>
<
div
>
...
@@ -324,7 +349,7 @@ class UserLearningData extends React.Component {
...
@@ -324,7 +349,7 @@ class UserLearningData extends React.Component {
<
span
>
{
record
.
courseNum
}
</
span
>
<
span
>
{
record
.
courseNum
}
</
span
>
</
div
>
</
div
>
)
)
}
}
,
},
},
{
{
title
:
'操作'
,
title
:
'操作'
,
...
@@ -332,70 +357,84 @@ class UserLearningData extends React.Component {
...
@@ -332,70 +357,84 @@ class UserLearningData extends React.Component {
dataIndex
:
'operate'
,
dataIndex
:
'operate'
,
render
:
(
val
,
record
)
=>
{
render
:
(
val
,
record
)
=>
{
return
(
return
(
<
div
className=
"operate-area"
>
<
div
className=
'operate-area'
>
<
span
className=
"operate-item"
onClick=
{
()
=>
this
.
watchDetail
(
record
)
}
>
学习详情
</
span
>
<
span
className=
'operate-item'
onClick=
{
()
=>
this
.
watchDetail
(
record
)
}
>
<
span
className=
"split"
>
|
</
span
>
学习详情
<
span
className=
"operate-item"
onClick=
{
()
=>
{
this
.
UnbundEmployee
(
record
)}
}
>
解绑
</
span
>
</
span
>
<
span
className=
'split'
>
|
</
span
>
<
span
className=
'operate-item'
onClick=
{
()
=>
{
this
.
UnbundEmployee
(
record
)
}
}
>
解绑
</
span
>
</
div
>
</
div
>
)
)
}
}
,
}
}
,
]
;
]
}
}
return
columns
;
return
columns
}
}
render
()
{
render
()
{
const
{
dataSource
,
query
,
size
,
totalCount
,
userLearnDetailModalSHow
,
storeCustomerId
,
planId
,
unbundEmployeeModalVisible
}
=
this
.
state
;
const
{
dataSource
,
query
,
size
,
totalCount
,
userLearnDetailModalSHow
,
storeCustomerId
,
planId
,
unbundEmployeeModalVisible
}
=
this
.
state
return
(
return
(
<
div
className=
"user-learning-data"
>
<
div
className=
'user-learning-data'
>
<
div
className=
"search-container"
>
<
div
className=
'search-container'
>
<
UserLearningDataFilter
onChange=
{
this
.
handleFetchDataList
}
/>
<
UserLearningDataFilter
onChange=
{
this
.
handleFetchDataList
}
/>
</
div
>
</
div
>
<
div
>
<
div
>
<
Table
<
Table
rowKey=
{
record
=>
record
.
storeCustomerId
}
rowKey=
{
(
record
)
=>
record
.
storeCustomerId
}
dataSource=
{
dataSource
}
dataSource=
{
dataSource
}
columns=
{
this
.
parselumns
()
}
columns=
{
this
.
parselumns
()
}
pagination=
{
false
}
pagination=
{
false
}
className=
"user-learning-table"
className=
'user-learning-table'
onChange=
{
this
.
handleChangeTable
}
onChange=
{
this
.
handleChangeTable
}
showSorterTooltip=
{
false
}
showSorterTooltip=
{
false
}
bordered
bordered
/>
{
dataSource
.
length
>
0
&&
(
<
div
className=
'box-footer'
>
<
PageControl
current=
{
query
.
current
-
1
}
pageSize=
{
size
}
total=
{
totalCount
}
toPage=
{
(
page
)
=>
{
const
_query
=
{
...
query
,
current
:
page
+
1
}
this
.
setState
(
{
query
:
_query
,
},
()
=>
{
this
.
handleFetchDataList
()
}
)
}
}
onShowSizeChange=
{
this
.
onShowSizeChange
}
/>
/>
{
dataSource
.
length
>
0
&&
</
div
>
<
div
className=
"box-footer"
>
)
}
<
PageControl
current=
{
query
.
current
-
1
}
pageSize=
{
size
}
total=
{
totalCount
}
toPage=
{
(
page
)
=>
{
const
_query
=
{...
query
,
current
:
page
+
1
};
this
.
setState
({
query
:
_query
},()
=>
{
this
.
handleFetchDataList
()})
}
}
onShowSizeChange=
{
this
.
onShowSizeChange
}
/>
</
div
>
}
</
div
>
</
div
>
{
userLearnDetailModalSHow
&&
{
userLearnDetailModalSHow
&&
(
<
UserLearnDetailModal
storeCustomerId=
{
storeCustomerId
}
planId=
{
planId
}
visible=
{
userLearnDetailModalSHow
}
onClose=
{
this
.
closeUserLearnDetailModal
}
/>
<
UserLearnDetailModal
storeCustomerId=
{
storeCustomerId
}
planId=
{
planId
}
visible=
{
userLearnDetailModalSHow
}
onClose=
{
this
.
closeUserLearnDetailModal
}
/>
}
)
}
{
unbundEmployeeModalVisible
&&
{
unbundEmployeeModalVisible
&&
(
<
UnbundEmployeeModal
<
UnbundEmployeeModal
visible=
{
unbundEmployeeModalVisible
}
visible=
{
unbundEmployeeModalVisible
}
onClose=
{
this
.
handleCloseUnbundEmployeeModal
}
onClose=
{
this
.
handleCloseUnbundEmployeeModal
}
storeCustomerId=
{
storeCustomerId
}
storeCustomerId=
{
storeCustomerId
}
onConfirm=
{
()
=>
{
this
.
handleFetchDataList
();
this
.
handleCloseUnbundEmployeeModal
();}
}
onConfirm=
{
()
=>
{
this
.
handleFetchDataList
()
this
.
handleCloseUnbundEmployeeModal
()
}
}
/>
/>
}
)
}
</
div
>
</
div
>
)
)
}
}
}
}
export
default
withRouter
(
UserLearningData
);
export
default
withRouter
(
UserLearningData
)
\ No newline at end of file
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