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
fc15d202
Commit
fc15d202
authored
May 27, 2021
by
guomingpang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:外部课程相关模块提交
parent
556c0d4e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
166 additions
and
112 deletions
+166
-112
src/modules/course-manage/video-course/components/VideoCourseFilter.jsx
+23
-22
src/modules/course-manage/video-course/components/VideoCourseList.jsx
+71
-21
src/modules/course-manage/video-course/index.jsx
+23
-9
src/modules/knowledge-base/index.jsx
+48
-57
src/modules/plan-manage/components/UserLearningData.jsx
+1
-3
No files found.
src/modules/course-manage/video-course/components/VideoCourseFilter.jsx
View file @
fc15d202
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Author: 吴文洁
* @Date: 2020-08-05 10:11:57
* @Date: 2020-08-05 10:11:57
* @LastEditors: fusanqiasng
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-2
5 10:53:11
* @LastEditTime: 2021-05-2
7 15:42:08
* @Description: 视频课-搜索模块
* @Description: 视频课-搜索模块
* @Copyright: 杭州杰竞科技有限公司 版权所有
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -27,12 +27,12 @@ const DEFAULT_QUERY = {
...
@@ -27,12 +27,12 @@ const DEFAULT_QUERY = {
beginTime
:
null
,
// 开始日期
beginTime
:
null
,
// 开始日期
endTime
:
null
,
// 结束日期
endTime
:
null
,
// 结束日期
shelfState
:
null
,
shelfState
:
null
,
categoryId
:
null
categoryId
:
null
,
}
}
const
defaultTeacherQuery
=
{
const
defaultTeacherQuery
=
{
size
:
10
,
size
:
10
,
current
:
1
,
current
:
1
,
nickName
:
null
nickName
:
null
,
}
}
class
VideoCourseFilter
extends
React
.
Component
{
class
VideoCourseFilter
extends
React
.
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
...
@@ -42,7 +42,7 @@ class VideoCourseFilter extends React.Component {
...
@@ -42,7 +42,7 @@ class VideoCourseFilter extends React.Component {
teacherQuery
:
defaultTeacherQuery
,
teacherQuery
:
defaultTeacherQuery
,
teacherList
:
[],
teacherList
:
[],
expandFilter
:
false
,
expandFilter
:
false
,
categoryList
:
[]
categoryList
:
[]
,
}
}
}
}
shouldComponentUpdate
(
nextProps
)
{
shouldComponentUpdate
(
nextProps
)
{
...
@@ -63,12 +63,12 @@ class VideoCourseFilter extends React.Component {
...
@@ -63,12 +63,12 @@ class VideoCourseFilter extends React.Component {
source
:
2
,
source
:
2
,
tenantId
:
User
.
getStoreId
(),
tenantId
:
User
.
getStoreId
(),
userId
:
User
.
getStoreUserId
(),
userId
:
User
.
getStoreUserId
(),
count
:
false
count
:
false
,
}
}
AidToolService
.
queryExternalCategoryTree
(
query
).
then
((
res
)
=>
{
AidToolService
.
queryExternalCategoryTree
(
query
).
then
((
res
)
=>
{
const
{
categoryList
=
[]
}
=
res
.
result
const
{
categoryList
=
[]
}
=
res
.
result
this
.
setState
({
this
.
setState
({
categoryList
:
this
.
renderTreeNodes
(
categoryList
)
categoryList
:
this
.
renderTreeNodes
(
categoryList
)
,
})
})
})
})
}
}
...
@@ -97,7 +97,7 @@ class VideoCourseFilter extends React.Component {
...
@@ -97,7 +97,7 @@ class VideoCourseFilter extends React.Component {
const
_query
=
{
const
_query
=
{
...
teacherQuery
,
...
teacherQuery
,
current
,
current
,
size
:
10
size
:
10
,
}
}
StoreService
.
getStoreUserBasicPage
(
_query
).
then
((
res
)
=>
{
StoreService
.
getStoreUserBasicPage
(
_query
).
then
((
res
)
=>
{
const
{
result
=
{}
}
=
res
const
{
result
=
{}
}
=
res
...
@@ -105,7 +105,7 @@ class VideoCourseFilter extends React.Component {
...
@@ -105,7 +105,7 @@ class VideoCourseFilter extends React.Component {
const
list
=
current
>
1
?
teacherList
.
concat
(
records
)
:
records
const
list
=
current
>
1
?
teacherList
.
concat
(
records
)
:
records
this
.
setState
({
this
.
setState
({
hasNext
,
hasNext
,
teacherList
:
list
teacherList
:
list
,
})
})
})
})
}
}
...
@@ -120,7 +120,7 @@ class VideoCourseFilter extends React.Component {
...
@@ -120,7 +120,7 @@ class VideoCourseFilter extends React.Component {
_teacherQuery
.
current
=
_teacherQuery
.
current
+
1
_teacherQuery
.
current
=
_teacherQuery
.
current
+
1
this
.
setState
(
this
.
setState
(
{
{
teacherQuery
:
{
...
_teacherQuery
}
teacherQuery
:
{
...
_teacherQuery
}
,
},
},
()
=>
{
()
=>
{
this
.
getTeacherList
(
_teacherQuery
.
current
)
this
.
getTeacherList
(
_teacherQuery
.
current
)
...
@@ -136,8 +136,8 @@ class VideoCourseFilter extends React.Component {
...
@@ -136,8 +136,8 @@ class VideoCourseFilter extends React.Component {
...
this
.
state
.
query
,
...
this
.
state
.
query
,
[
field
]:
value
,
[
field
]:
value
,
current
:
1
current
:
1
,
}
}
,
},
},
()
=>
{
()
=>
{
if
(
field
===
'courseName'
)
return
if
(
field
===
'courseName'
)
return
...
@@ -147,20 +147,21 @@ class VideoCourseFilter extends React.Component {
...
@@ -147,20 +147,21 @@ class VideoCourseFilter extends React.Component {
}
}
handleChangeDates
=
(
dates
)
=>
{
handleChangeDates
=
(
dates
)
=>
{
console
.
log
(
dates
)
const
query
=
_
.
clone
(
this
.
state
.
query
)
const
query
=
_
.
clone
(
this
.
state
.
query
)
if
(
_
.
isEmpty
(
dates
))
{
if
(
_
.
isEmpty
(
dates
))
{
delete
query
.
beginTime
delete
query
.
beginTime
delete
query
.
endTime
delete
query
.
endTime
}
else
{
}
else
{
query
.
beginTime
=
dates
[
0
].
valueOf
()
query
.
beginTime
=
dates
[
0
]
?.
startOf
(
'day'
)
.
valueOf
()
query
.
endTime
=
dates
[
1
].
valueOf
()
query
.
endTime
=
dates
[
1
]
?.
endOf
(
'day'
)
.
valueOf
()
}
}
this
.
setState
(
this
.
setState
(
{
{
query
:
{
query
:
{
...
query
,
...
query
,
current
:
1
current
:
1
,
}
}
,
},
},
()
=>
{
()
=>
{
this
.
props
.
onChange
(
this
.
state
.
query
)
this
.
props
.
onChange
(
this
.
state
.
query
)
...
@@ -172,7 +173,7 @@ class VideoCourseFilter extends React.Component {
...
@@ -172,7 +173,7 @@ class VideoCourseFilter extends React.Component {
handleReset
=
()
=>
{
handleReset
=
()
=>
{
this
.
setState
(
this
.
setState
(
{
{
query
:
DEFAULT_QUERY
query
:
DEFAULT_QUERY
,
},
},
()
=>
{
()
=>
{
this
.
props
.
onChange
(
this
.
state
.
query
)
this
.
props
.
onChange
(
this
.
state
.
query
)
...
@@ -183,11 +184,11 @@ class VideoCourseFilter extends React.Component {
...
@@ -183,11 +184,11 @@ class VideoCourseFilter extends React.Component {
render
()
{
render
()
{
const
{
currentTabKey
}
=
this
.
props
const
{
currentTabKey
}
=
this
.
props
const
{
const
{
query
:
{
courseName
,
beginTime
,
endTime
,
operatorId
,
shelfState
},
query
:
{
courseName
,
beginTime
,
endTime
,
operatorId
,
shelfState
,
categoryId
},
expandFilter
,
expandFilter
,
teacherList
,
teacherList
,
teacherQuery
,
teacherQuery
,
categoryList
categoryList
,
}
=
this
.
state
}
=
this
.
state
return
(
return
(
...
@@ -233,7 +234,7 @@ class VideoCourseFilter extends React.Component {
...
@@ -233,7 +234,7 @@ class VideoCourseFilter extends React.Component {
teacherQuery
.
nickName
=
value
teacherQuery
.
nickName
=
value
this
.
setState
(
this
.
setState
(
{
{
teacherQuery
teacherQuery
,
},
},
()
=>
{
()
=>
{
this
.
getTeacherList
()
this
.
getTeacherList
()
...
@@ -246,8 +247,8 @@ class VideoCourseFilter extends React.Component {
...
@@ -246,8 +247,8 @@ class VideoCourseFilter extends React.Component {
teacherQuery
:
{
teacherQuery
:
{
size
:
10
,
size
:
10
,
current
:
1
,
current
:
1
,
nickName
:
null
nickName
:
null
,
}
}
,
},
},
()
=>
{
()
=>
{
this
.
getTeacherList
()
this
.
getTeacherList
()
...
@@ -268,7 +269,7 @@ class VideoCourseFilter extends React.Component {
...
@@ -268,7 +269,7 @@ class VideoCourseFilter extends React.Component {
<
div
className=
'search-condition__item'
>
<
div
className=
'search-condition__item'
>
<
span
className=
'shelf-status'
>
课程分类:
</
span
>
<
span
className=
'shelf-status'
>
课程分类:
</
span
>
<
TreeSelect
<
TreeSelect
// value={
}
value=
{
categoryId
||
null
}
style=
{
{
width
:
'calc(100% - 75px)'
}
}
style=
{
{
width
:
'calc(100% - 75px)'
}
}
dropdownStyle=
{
{
maxHeight
:
400
,
overflow
:
'auto'
}
}
dropdownStyle=
{
{
maxHeight
:
400
,
overflow
:
'auto'
}
}
treeData=
{
categoryList
}
treeData=
{
categoryList
}
...
...
src/modules/course-manage/video-course/components/VideoCourseList.jsx
View file @
fc15d202
<<
<
<<<<
HEAD
=======
/*
* @Author: 吴文洁
* @Date: 2020-08-05 10:12:45
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-28 13:32:59
* @Description: 视频课-列表模块
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
>
>>>>>>
4399d60 (fix:修复外部课程相关模块bug)
import React from 'react'
import React from 'react'
import
{
Table
,
Modal
,
message
,
Tooltip
,
Switch
,
Dropdown
}
from 'antd'
import
{
Table
,
Modal
,
message
,
Tooltip
,
Switch
,
Dropdown
}
from 'antd'
import _ from 'underscore'
import
{
PageControl
}
from '@/components'
import
{
PageControl
}
from '@/components'
import
{
LIVE_SHARE
}
from '@/domains/course-domain/constants'
import
{
LIVE_SHARE
}
from '@/domains/course-domain/constants'
...
@@ -20,8 +31,18 @@ class VideoCourseList extends React.Component {
...
@@ -20,8 +31,18 @@ class VideoCourseList extends React.Component {
studentIds
:
[],
studentIds
:
[],
RelatedPlanModalVisible
:
false
,
RelatedPlanModalVisible
:
false
,
selectPlanList
:
{},
selectPlanList
:
{},
ShelfLoading
:
false
,
// dataSource: [],
}
}
}
}
// static getDerivedStateFromProps(props, state)
{
// const
{
dataSource
:
propsDataSource
}
=
props
,{
dataSource
:
stateDataSource
}
=
state
// const istrue = _.isEqual(propsDataSource, stateDataSource)
// if (!istrue)
{
// state.dataSource = propsDataSource
//
}
// console.log(istrue, 'istrue')
//
}
componentDidMount
()
{
componentDidMount
()
{
const
videoCourseItem
=
localStorage
.
getItem
(
'videoCourseItem'
)
const
videoCourseItem
=
localStorage
.
getItem
(
'videoCourseItem'
)
...
@@ -33,8 +54,6 @@ class VideoCourseList extends React.Component {
...
@@ -33,8 +54,6 @@ class VideoCourseList extends React.Component {
// 观看数据弹窗
// 观看数据弹窗
handleShowWatchDataModal
=
(
record
)
=>
{
handleShowWatchDataModal
=
(
record
)
=>
{
console
.
log
(
'111'
)
console
.
log
(
'record'
,
record
)
const
watchDataModal
=
(
const
watchDataModal
=
(
<
WatchDataModal
<
WatchDataModal
type=
'videoCourseList'
type=
'videoCourseList'
...
@@ -52,6 +71,7 @@ class VideoCourseList extends React.Component {
...
@@ -52,6 +71,7 @@ class VideoCourseList extends React.Component {
// 请求表头
// 请求表头
parseColumns
=
()
=>
{
parseColumns
=
()
=>
{
const
{
type
}
=
this
.
props
const
{
type
}
=
this
.
props
const
{
ShelfLoading
}
=
this
.
state
const
columns
=
[
const
columns
=
[
{
{
title
:
'视频课'
,
title
:
'视频课'
,
...
@@ -88,7 +108,18 @@ class VideoCourseList extends React.Component {
...
@@ -88,7 +108,18 @@ class VideoCourseList extends React.Component {
},
},
},
},
{
{
title
:
'课程分类'
,
title
:
(
<
span
>
<
span
>
课程分类
</
span
>
<
If
condition=
{
type
!==
'internal'
}
>
<
Tooltip
title=
{
<
div
>
外部课程的分类由系统提供,不影响企业课程分类。
</
div
>
}
>
<
i
className=
'icon iconfont'
style=
{
{
marginLeft
:
'5px'
,
cursor
:
'pointer'
,
color
:
'#bfbfbf'
,
fontSize
:
'14px'
}
}
>

</
i
>
</
Tooltip
>
</
If
>
</
span
>
),
key
:
'categoryName'
,
key
:
'categoryName'
,
dataIndex
:
'categoryName'
,
dataIndex
:
'categoryName'
,
width
:
200
,
width
:
200
,
...
@@ -102,7 +133,7 @@ class VideoCourseList extends React.Component {
...
@@ -102,7 +133,7 @@ class VideoCourseList extends React.Component {
</
div
>
</
div
>
</
When
>
</
When
>
<
Otherwise
>
<
Otherwise
>
<
div
className=
'record__item'
>
{
record
.
categoryName
}
</
div
>
<
div
className=
'record__item'
>
{
record
.
category
Son
Name
}
</
div
>
</
Otherwise
>
</
Otherwise
>
</
Choose
>
</
Choose
>
)
)
...
@@ -144,9 +175,31 @@ class VideoCourseList extends React.Component {
...
@@ -144,9 +175,31 @@ class VideoCourseList extends React.Component {
</
span
>
</
span
>
),
),
width
:
120
,
width
:
120
,
dataIndex
:
'courseware'
,
key
:
'shelfState'
,
dataIndex
:
'shelfState'
,
// shouldCellUpdate: (record, prevRecord) =>
{
// // console.log(record.shelfState, prevRecord.shelfState)
// return true
//
},
render
:
(
val
,
item
,
index
)
=>
{
render
:
(
val
,
item
,
index
)
=>
{
return
<
Switch
defaultChecked=
{
item
.
shelfState
===
'YES'
?
true
:
false
}
onChange=
{
()
=>
this
.
changeShelfState
(
item
)
}
/>
console
.
log
(
val
,
item
.
shelfState
===
'YES'
,
'aaa'
)
return
(
<
Switch
loading=
{
ShelfLoading
}
checkedChildren=
'ON'
unCheckedChildren=
'OFF'
checked=
{
item
.
shelfState
===
'YES'
}
defaultChecked=
{
item
.
shelfState
}
onClick=
{
(
checked
)
=>
{
console
.
log
(
'checked'
,
checked
)
this
.
changeShelfState
(
checked
,
item
,
index
)
}
}
// onChange=
{()
=
>
{
// return false
// this.changeShelfState(item)
//
}
}
/
>
)
},
},
},
},
{
{
...
@@ -155,7 +208,7 @@ class VideoCourseList extends React.Component {
...
@@ -155,7 +208,7 @@ class VideoCourseList extends React.Component {
key
:
'watchUserCount'
,
key
:
'watchUserCount'
,
dataIndex
:
'watchUserCount'
,
dataIndex
:
'watchUserCount'
,
render
:
(
val
,
item
)
=>
{
render
:
(
val
,
item
)
=>
{
return
<
div
className=
'watchUserCount'
>
{
val
}
</
div
>
return
<
div
className=
'watchUserCount'
>
{
val
||
0
}
</
div
>
},
},
}
,
}
,
{
{
...
@@ -226,7 +279,7 @@ class VideoCourseList extends React.Component {
...
@@ -226,7 +279,7 @@ class VideoCourseList extends React.Component {
<
Dropdown
overlay=
{
this
.
renderMoreOperate
(
record
)
}
>
<
Dropdown
overlay=
{
this
.
renderMoreOperate
(
record
)
}
>
<
span
className=
'more-operate'
>
<
span
className=
'more-operate'
>
<
span
className=
'operate-text'
>
更多
</
span
>
<
span
className=
'operate-text'
>
更多
</
span
>
<
span
className=
'iconfont icon'
style=
{
{
color
:
'#
5289FA
'
}
}
>
<
span
className=
'iconfont icon'
style=
{
{
color
:
'#
2966FF
'
}
}
>


</
span
>
</
span
>
</
span
>
</
span
>
...
@@ -278,27 +331,24 @@ class VideoCourseList extends React.Component {
...
@@ -278,27 +331,24 @@ class VideoCourseList extends React.Component {
return
planStr
return
planStr
}
}
//改变上架状态
//改变上架状态
changeShelfState
=
(
item
)
=>
{
changeShelfState = (
checked, item, index
) =
>
{
let
_shelfState
=
item
.
shelfState
let
_shelfState
=
checked
?
'YES'
:
'NO'
if
(
_shelfState
===
'NO'
)
{
if
(
checked
)
{
_shelfState
=
'YES'
_shelfState
=
'YES'
item
.
shelfState
=
'YES'
}
else
{
}
else
{
_shelfState
=
'NO'
_shelfState
=
'NO'
item
.
shelfState
=
'NO'
}
}
const
params
=
{
const
params
=
{
courseId
:
item
.
id
,
courseId
:
item
.
id
,
shelfState
:
_shelfState
,
shelfState
:
_shelfState
,
}
}
CourseService
.
changeVideoShelfState
(
params
).
then
((
res
)
=>
{
CourseService
.
changeVideoShelfState
(
params
).
then
(()
=>
{
if
(
res
.
success
)
{
if
(
_shelfState
===
'YES'
)
{
if
(
_shelfState
===
'YES'
)
{
message
.
success
(
'已开启展示'
)
message
.
success
(
'已开启展示'
)
}
else
{
}
else
{
message
.
success
(
'已取消展示'
)
message
.
success
(
'已取消展示'
)
}
}
}
this
.
props
.
changeShelfState
(
index
,
_shelfState
)
})
})
}
}
...
...
src/modules/course-manage/video-course/index.jsx
View file @
fc15d202
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Author: 吴文洁
* @Date: 2020-08-05 10:08:06
* @Date: 2020-08-05 10:08:06
* @LastEditors: fusanqiasng
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-2
5 20:36:46
* @LastEditTime: 2021-05-2
7 17:32:07
* @Description: 云课堂-视频课入口页面
* @Description: 云课堂-视频课入口页面
* @Copyright: 杭州杰竞科技有限公司 版权所有
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
*/
...
@@ -22,11 +22,11 @@ class VideoCourse extends React.Component {
...
@@ -22,11 +22,11 @@ class VideoCourse extends React.Component {
query
:
{
query
:
{
size
:
10
,
size
:
10
,
current
:
1
,
current
:
1
,
storeId
:
User
.
getStoreId
()
storeId
:
User
.
getStoreId
()
,
},
},
dataSource
:
[],
// 视频课列表
dataSource
:
[],
// 视频课列表
totalCount
:
0
,
// 视频课数据总条数
totalCount
:
0
,
// 视频课数据总条数
currentTabKey
:
'internal'
currentTabKey
:
'internal'
,
}
}
}
}
...
@@ -42,7 +42,7 @@ class VideoCourse extends React.Component {
...
@@ -42,7 +42,7 @@ class VideoCourse extends React.Component {
...
this
.
state
.
query
,
...
this
.
state
.
query
,
...
_query
,
...
_query
,
courseDivision
:
currentTabKey
===
'external'
?
1
:
null
courseDivision
:
currentTabKey
===
'external'
?
1
:
null
,
}
}
// 更新请求参数
// 更新请求参数
...
@@ -54,13 +54,13 @@ class VideoCourse extends React.Component {
...
@@ -54,13 +54,13 @@ class VideoCourse extends React.Component {
if
(
Number
(
total
)
&&
query
.
size
*
(
query
.
current
-
1
)
>=
Number
(
total
))
{
if
(
Number
(
total
)
&&
query
.
size
*
(
query
.
current
-
1
)
>=
Number
(
total
))
{
this
.
handleFetchScheduleList
({
this
.
handleFetchScheduleList
({
...
query
,
...
query
,
current
:
1
current
:
1
,
})
})
return
return
}
}
this
.
setState
({
this
.
setState
({
dataSource
:
records
,
dataSource
:
records
,
totalCount
:
Number
(
total
)
totalCount
:
Number
(
total
)
,
})
})
})
})
}
}
...
@@ -71,14 +71,21 @@ class VideoCourse extends React.Component {
...
@@ -71,14 +71,21 @@ class VideoCourse extends React.Component {
currentTabKey
,
currentTabKey
,
query
:
{
query
:
{
...
query
,
...
query
,
current
:
1
current
:
1
,
}
}
,
},
},
()
=>
{
()
=>
{
this
.
handleFetchScheduleList
()
this
.
handleFetchScheduleList
()
}
}
)
)
}
}
changeShelfState
=
(
index
,
shelfState
)
=>
{
const
{
dataSource
}
=
this
.
state
dataSource
[
index
].
shelfState
=
shelfState
this
.
setState
({
dataSource
,
})
}
render
()
{
render
()
{
const
{
dataSource
,
totalCount
,
query
,
currentTabKey
}
=
this
.
state
const
{
dataSource
,
totalCount
,
query
,
currentTabKey
}
=
this
.
state
...
@@ -99,7 +106,14 @@ class VideoCourse extends React.Component {
...
@@ -99,7 +106,14 @@ class VideoCourse extends React.Component {
<
VideoCourseOpt
/>
<
VideoCourseOpt
/>
</
If
>
</
If
>
{
/* 视频课列表模块 */
}
{
/* 视频课列表模块 */
}
<
VideoCourseList
type=
{
currentTabKey
}
query=
{
query
}
dataSource=
{
dataSource
}
totalCount=
{
totalCount
}
onChange=
{
this
.
handleFetchScheduleList
}
/>
<
VideoCourseList
type=
{
currentTabKey
}
query=
{
query
}
dataSource=
{
dataSource
}
totalCount=
{
totalCount
}
onChange=
{
this
.
handleFetchScheduleList
}
changeShelfState=
{
this
.
changeShelfState
}
/>
</
div
>
</
div
>
</
div
>
</
div
>
)
)
...
...
src/modules/knowledge-base/index.jsx
View file @
fc15d202
...
@@ -2,23 +2,28 @@
...
@@ -2,23 +2,28 @@
* @Description:
* @Description:
* @Author: zangsuyun
* @Author: zangsuyun
* @Date: 2021-03-12 10:43:10
* @Date: 2021-03-12 10:43:10
* @LastEditors: zangsuyun
<<<<<<< HEAD
* @LastEditTime: 2021-04-10 16:39:30
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-28 13:33:07
=======
* @LastEditors: fusanqiasng
* @LastEditTime: 2021-05-27 13:51:42
>>>>>>> 4399d60 (fix:修复外部课程相关模块bug)
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
*/
import
React
from
"react"
;
import
React
from
'react'
import
KnowledgeBaseFilter
from
"./components/KnowledgeBaseFilter"
;
import
KnowledgeBaseFilter
from
'./components/KnowledgeBaseFilter'
import
KnowledgeBaseOpt
from
"./components/KnowledgeBaseOpt"
;
import
KnowledgeBaseOpt
from
'./components/KnowledgeBaseOpt'
import
KnowledgeBaseList
from
"./components/KnowledgeBaseList"
;
import
KnowledgeBaseList
from
'./components/KnowledgeBaseList'
import
Classification
from
"./components/Classification"
;
import
Classification
from
'./components/Classification'
import
KnowledgeAPI
from
"@/data-source/knowledge/request-api"
;
import
KnowledgeAPI
from
'@/data-source/knowledge/request-api'
import
User
from
"@/common/js/user"
;
import
User
from
'@/common/js/user'
export
default
class
KnowledgeBase
extends
React
.
Component
{
export
default
class
KnowledgeBase
extends
React
.
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
)
;
super
(
props
)
this
.
state
=
{
this
.
state
=
{
query
:
{
query
:
{
size
:
10
,
size
:
10
,
...
@@ -30,82 +35,68 @@ export default class KnowledgeBase extends React.Component {
...
@@ -30,82 +35,68 @@ export default class KnowledgeBase extends React.Component {
totalCount
:
0
,
// 知识库数据总条数
totalCount
:
0
,
// 知识库数据总条数
categoryId
:
'0'
,
categoryId
:
'0'
,
updateCategoryFlag
:
false
,
updateCategoryFlag
:
false
,
}
;
}
}
}
componentWillMount
()
{
componentWillMount
()
{
// 获取知识库列表
// 获取知识库列表
this
.
handleFetchScheduleList
()
;
this
.
handleFetchScheduleList
()
// this.getCategoryTree()
// this.getCategoryTree()
}
}
getSelectedCategoryId
=
(
categoryId
)
=>
{
getSelectedCategoryId
=
(
categoryId
)
=>
{
this
.
setState
({
this
.
setState
({
categoryId
,
categoryId
,
})
;
})
this
.
handleFetchScheduleList
({
categoryId
,
current
:
1
});
this
.
handleFetchScheduleList
({
categoryId
,
current
:
1
})
}
;
}
// 更新分类树
// 更新分类树
updateCategoryTree
=
()
=>
{
updateCategoryTree
=
()
=>
{
this
.
setState
({
this
.
setState
({
updateCategoryFlag
:
!
this
.
state
.
updateCategoryFlag
,
updateCategoryFlag
:
!
this
.
state
.
updateCategoryFlag
,
})
;
})
}
;
}
// 获取知识库列表
// 获取知识库列表
handleFetchScheduleList
=
(
_query
=
{},
flag
=
true
)
=>
{
handleFetchScheduleList
=
(
_query
=
{},
flag
=
true
)
=>
{
const
query
=
{
const
query
=
{
...
this
.
state
.
query
,
...
this
.
state
.
query
,
...
_query
,
...
_query
,
}
;
}
// 更新请求参数
// 更新请求参数
this
.
setState
({
query
})
;
this
.
setState
({
query
})
flag
&&
KnowledgeAPI
.
queryPageKnowledgeForManager
(
query
).
then
((
res
)
=>
{
flag
&&
// KnowledgeAPI.videoSchedulePage(query).then((res) => {
KnowledgeAPI
.
queryPageKnowledgeForManager
(
query
).
then
((
res
)
=>
{
const
{
result
=
{}
}
=
res
||
{};
// KnowledgeAPI.videoSchedulePage(query).then((res) => {
const
{
records
=
[],
total
=
0
}
=
result
;
const
{
result
=
{}
}
=
res
||
{}
this
.
setState
({
const
{
records
=
[],
total
=
0
}
=
result
dataSource
:
records
,
this
.
setState
({
totalCount
:
Number
(
total
),
dataSource
:
records
,
});
totalCount
:
Number
(
total
),
});
})
};
})
}
render
()
{
render
()
{
const
{
const
{
dataSource
,
totalCount
,
query
,
categoryId
,
updateCategoryFlag
}
=
this
.
state
dataSource
,
totalCount
,
query
,
categoryId
,
updateCategoryFlag
,
}
=
this
.
state
;
return
(
return
(
<
div
className=
"page"
>
<
div
className=
'page'
>
<
div
className=
"content-header"
>
知识库
</
div
>
<
div
className=
'content-header'
>
知识库
</
div
>
<
div
className=
"box"
style=
{
{
display
:
"flex"
}
}
>
<
div
className=
'box'
style=
{
{
display
:
'flex'
}
}
>
{
/* 搜索模块 */
}
{
/* 搜索模块 */
}
<
div
className=
"left"
style=
{
{
width
:
245
}
}
>
<
div
className=
'left'
style=
{
{
width
:
245
}
}
>
<
Classification
<
Classification
updateCategoryFlag=
{
updateCategoryFlag
}
categoryId=
{
categoryId
}
getSelectedCategoryId=
{
this
.
getSelectedCategoryId
}
/>
updateCategoryFlag=
{
updateCategoryFlag
}
categoryId=
{
categoryId
}
getSelectedCategoryId=
{
this
.
getSelectedCategoryId
}
/>
</
div
>
</
div
>
<
div
<
div
className=
'liner'
style=
{
{
backgroundColor
:
'rgb(238, 238, 238)'
,
width
:
0.5
,
margin
:
'1px 16px 1px 2px'
}
}
></
div
>
className=
"liner"
<
div
className=
'right'
style=
{
{
width
:
'calc(100% - 285px)'
}
}
>
style=
{
{
backgroundColor
:
"rgb(238, 238, 238)"
,
width
:
0.5
,
margin
:
"1px 16px 1px 2px"
}
}
></
div
>
<
div
className=
"right"
style=
{
{
width
:
"calc(100% - 285px)"
}
}
>
<
KnowledgeBaseFilter
onChange=
{
this
.
handleFetchScheduleList
}
/>
<
KnowledgeBaseFilter
onChange=
{
this
.
handleFetchScheduleList
}
/>
{
/* 操作模块 */
}
{
/* 操作模块 */
}
{
categoryId
!=
0
&&
<
KnowledgeBaseOpt
{
categoryId
!==
'0'
&&
(
onChange=
{
this
.
handleFetchScheduleList
}
<
KnowledgeBaseOpt
onChange=
{
this
.
handleFetchScheduleList
}
updateCategoryTree=
{
this
.
updateCategoryTree
}
categoryId=
{
categoryId
}
/>
updateCategoryTree=
{
this
.
updateCategoryTree
}
)
}
categoryId=
{
categoryId
}
/>
}
{
/* 知识库列表模块 */
}
{
/* 知识库列表模块 */
}
<
KnowledgeBaseList
<
KnowledgeBaseList
...
@@ -119,6 +110,6 @@ export default class KnowledgeBase extends React.Component {
...
@@ -119,6 +110,6 @@ export default class KnowledgeBase extends React.Component {
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
</
div
>
)
;
)
}
}
}
}
src/modules/plan-manage/components/UserLearningData.jsx
View file @
fc15d202
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
,
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'
...
@@ -8,8 +8,6 @@ import UserLearnDetailModal from '../modal/UserLearnDetailModal'
...
@@ -8,8 +8,6 @@ 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
{
Search
}
=
Input
const
{
confirm
}
=
Modal
const
{
confirm
}
=
Modal
const
LearnState
=
{
const
LearnState
=
{
UN_PLAY
:
{
UN_PLAY
:
{
...
...
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