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
e2c3c866
Commit
e2c3c866
authored
May 30, 2021
by
guomingpang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:修复知识库课程分类搜索bug
parent
f9dc5153
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
181 additions
and
183 deletions
+181
-183
src/modules/knowledge-base/modal/AddCourse.jsx
+181
-183
No files found.
src/modules/knowledge-base/modal/AddCourse.jsx
View file @
e2c3c866
...
...
@@ -2,22 +2,22 @@
* @Description:
* @Author: zangsuyun
* @Date: 2021-03-13 09:54:26
* @LastEditors:
wufan
* @LastEditTime: 2021-05-30 2
0:38:03
* @LastEditors:
fusanqiasng
* @LastEditTime: 2021-05-30 2
3:52:25
* @Copyright: © 2020 杭州杰竞科技有限公司 版权所有
*/
import
React
from
'react'
import
{
Row
,
Modal
,
Button
,
message
,
Radio
,
Table
,
Input
,
Tabs
,
Tooltip
,
TreeSelect
}
from
'antd'
import
{
PageControl
}
from
'@/components'
import
TableSelectedData
from
'@/components/TableSelectedData'
import
KnowledgeAPI
from
'@/data-source/knowledge/request-api'
import
AidToolService
from
'@/domains/aid-tool-domain/AidToolService'
import
User
from
'@/common/js/user'
import
'./LiveList.less'
import
React
from
"react"
import
{
Row
,
Modal
,
Button
,
message
,
Radio
,
Table
,
Input
,
Tabs
,
Tooltip
,
TreeSelect
}
from
"antd"
import
{
PageControl
}
from
"@/components"
import
TableSelectedData
from
"@/components/TableSelectedData"
import
KnowledgeAPI
from
"@/data-source/knowledge/request-api"
import
AidToolService
from
"@/domains/aid-tool-domain/AidToolService"
import
User
from
"@/common/js/user"
import
"./LiveList.less"
import
_
from
'underscore'
import
dealTimeDuration
from
'../../course-manage/utils/dealTimeDuration'
import
_
from
"underscore"
import
dealTimeDuration
from
"../../course-manage/utils/dealTimeDuration"
const
{
Search
}
=
Input
const
{
TabPane
}
=
Tabs
...
...
@@ -25,23 +25,23 @@ const courseStateShow = {
UN_START
:
{
code
:
1
,
title
:
"待开课"
,
color
:
"#FFB129"
,
color
:
"#FFB129"
},
STARTING
:
{
code
:
2
,
title
:
'上课中'
,
color
:
'#238FFF'
,
title
:
"上课中"
,
color
:
"#238FFF"
},
FINISH
:
{
code
:
3
,
title
:
'已完成'
,
color
:
'#3BBDAA'
,
title
:
"已完成"
,
color
:
"#3BBDAA"
},
EXPIRED
:
{
code
:
4
,
title
:
'未成功开课'
,
color
:
'#999'
,
}
,
title
:
"未成功开课"
,
color
:
"#999"
}
}
class
AddCourse
extends
React
.
Component
{
...
...
@@ -53,64 +53,64 @@ class AddCourse extends React.Component {
liveQuery
:
{
current
:
1
,
excludeUsed
:
true
,
courseType
:
'LIVE'
,
courseType
:
"LIVE"
,
storeId
:
User
.
getStoreId
(),
toRefKnowledgeCategoryId
:
this
.
props
.
categoryId
,
toRefKnowledgeCategoryId
:
this
.
props
.
categoryId
},
liveTotalCount
:
0
,
selectLive
:
[],
//弹窗内已选择的直播课程
videoCourseDivision
:
'internal'
,
videoCourseDivision
:
"internal"
,
videoDataSource
:
{
external
:
[],
internal
:
[]
,
internal
:
[]
},
videoSize
:
{
external
:
10
,
internal
:
10
,
internal
:
10
},
videoSearchDefalt
:
{
external
:
{
categoryId
:
''
,
courseName
:
''
,
categoryId
:
""
,
courseName
:
""
},
internal
:
{
categoryId
:
''
,
courseName
:
''
,
}
,
categoryId
:
""
,
courseName
:
""
}
},
videoQuery
:
{
external
:
{
categoryId
:
''
,
courseName
:
''
,
categoryId
:
""
,
courseName
:
""
,
current
:
1
,
courseType
:
'VOICE'
,
courseType
:
"VOICE"
,
excludeUsed
:
true
,
storeId
:
User
.
getStoreId
(),
toRefKnowledgeCategoryId
:
this
.
props
.
categoryId
,
toRefKnowledgeCategoryId
:
this
.
props
.
categoryId
},
internal
:
{
categoryId
:
''
,
courseName
:
''
,
categoryId
:
""
,
courseName
:
""
,
current
:
1
,
courseType
:
'VOICE'
,
courseType
:
"VOICE"
,
excludeUsed
:
true
,
storeId
:
User
.
getStoreId
(),
toRefKnowledgeCategoryId
:
this
.
props
.
categoryId
,
}
,
toRefKnowledgeCategoryId
:
this
.
props
.
categoryId
}
},
videoTotalCount
:
{
external
:
0
,
internal
:
0
,
internal
:
0
},
selectVideo
:
{
external
:
[],
internal
:
[]
,
internal
:
[]
},
//弹窗内已选择的视频课程
currentVideoCourseListData
:
{
external
:
[],
internal
:
[]
,
internal
:
[]
},
//页面中已关联的视频课程
pictureDataSource
:
[],
...
...
@@ -118,14 +118,14 @@ class AddCourse extends React.Component {
pictureQuery
:
{
current
:
1
,
excludeUsed
:
true
,
courseType
:
'PICTURE'
,
courseType
:
"PICTURE"
,
storeId
:
User
.
getStoreId
(),
toRefKnowledgeCategoryId
:
this
.
props
.
categoryId
,
toRefKnowledgeCategoryId
:
this
.
props
.
categoryId
},
pictureTotalCount
:
0
,
selectPicture
:
[],
//弹窗内已选择的图文课程
categoryList
:
[],
//内部分类列表
categoryListExternal
:
[]
,
//外部分类列表
categoryListExternal
:
[]
//外部分类列表
}
}
componentDidMount
()
{
...
...
@@ -139,25 +139,25 @@ class AddCourse extends React.Component {
queryCategoryTree
=
(
categoryName
)
=>
{
let
query
=
{
storeId
:
User
.
getStoreId
(),
withCount
:
false
,
withCount
:
false
}
let
queryInternal
=
{
bizType
:
'QUESTION'
,
bizType
:
"QUESTION"
,
source
:
2
,
tenantId
:
User
.
getStoreId
(),
userId
:
User
.
getStoreUserId
(),
count
:
false
,
count
:
false
}
AidToolService
.
queryExternalCategoryTree
(
queryInternal
).
then
((
res
)
=>
{
const
{
categoryList
=
[]
}
=
res
.
result
this
.
setState
({
categoryListExternal
:
this
.
renderTreeNodes
(
categoryList
)
,
categoryListExternal
:
this
.
renderTreeNodes
(
categoryList
)
})
})
KnowledgeAPI
.
getCategoryTree
(
query
).
then
((
res
)
=>
{
const
{
categoryList
=
[]
}
=
res
.
result
this
.
setState
({
categoryList
:
this
.
renderTreeNodes
(
categoryList
)
,
categoryList
:
this
.
renderTreeNodes
(
categoryList
)
})
})
}
...
...
@@ -166,7 +166,7 @@ class AddCourse extends React.Component {
let
newTreeData
=
data
.
map
((
item
)
=>
{
item
.
title
=
(
<
span
>
<
span
className=
'icon iconfont'
style=
{
{
color
:
'#FBD140'
}
}
>
<
span
className=
'icon iconfont'
style=
{
{
color
:
"#FBD140"
}
}
>

</
span
>
{
item
.
categoryName
}
...
...
@@ -187,7 +187,7 @@ class AddCourse extends React.Component {
const
params
=
{
...
liveQuery
,
size
:
liveSize
,
size
:
liveSize
}
// CourseService.getLiveCloudCoursePage(params).then((res) => {
...
...
@@ -196,7 +196,7 @@ class AddCourse extends React.Component {
const
{
records
=
[],
total
=
0
}
=
result
this
.
setState
({
liveDataSource
:
records
,
liveTotalCount
:
Number
(
total
)
,
liveTotalCount
:
Number
(
total
)
})
})
}
...
...
@@ -208,7 +208,7 @@ class AddCourse extends React.Component {
const
params
=
{
...
videoQuery
[
videoCourseDivision
],
size
:
videoSize
[
videoCourseDivision
],
courseDivision
:
videoCourseDivision
===
'internal'
?
'INTERNAL'
:
'EXTERNAL'
,
courseDivision
:
videoCourseDivision
===
"internal"
?
"INTERNAL"
:
"EXTERNAL"
}
// CourseService.videoSchedulePage(query).then((res) => {
...
...
@@ -218,12 +218,12 @@ class AddCourse extends React.Component {
this
.
setState
({
videoDataSource
:
{
...
videoDataSource
,
[
videoCourseDivision
]:
records
,
[
videoCourseDivision
]:
records
},
videoTotalCount
:
{
...
videoTotalCount
,
[
videoCourseDivision
]:
Number
(
total
)
,
}
,
[
videoCourseDivision
]:
Number
(
total
)
}
})
})
}
...
...
@@ -234,7 +234,7 @@ class AddCourse extends React.Component {
const
params
=
{
...
pictureQuery
,
size
:
pictureSize
,
size
:
pictureSize
}
// CourseService.pictureSchedulePage(query).then((res) => {
...
...
@@ -243,7 +243,7 @@ class AddCourse extends React.Component {
const
{
records
=
[],
total
=
0
}
=
result
this
.
setState
({
pictureDataSource
:
records
,
pictureTotalCount
:
Number
(
total
)
,
pictureTotalCount
:
Number
(
total
)
})
})
}
...
...
@@ -254,7 +254,7 @@ class AddCourse extends React.Component {
}
this
.
setState
(
{
liveSize
:
size
,
liveSize
:
size
},
()
=>
{
this
.
handleFetchLiveList
()
...
...
@@ -268,7 +268,7 @@ class AddCourse extends React.Component {
}
this
.
setState
(
{
videoSize
:
size
,
videoSize
:
size
},
()
=>
{
this
.
handleFetchVideoList
()
...
...
@@ -282,7 +282,7 @@ class AddCourse extends React.Component {
}
this
.
setState
(
{
pictureSize
:
size
,
pictureSize
:
size
},
()
=>
{
this
.
handleFetchPictureList
()
...
...
@@ -304,28 +304,27 @@ class AddCourse extends React.Component {
cursor
:
"pointer"
,
color
:
"#bfbfbf"
,
fontSize
:
"14px"
,
fontWeight
:
"400"
}
}
>
fontWeight
:
"400"
}
}
>

</
i
>
</
Tooltip
>
</
span
>
),
width
:
371
,
key
:
'course'
,
dataIndex
:
'courseName'
,
key
:
"course"
,
dataIndex
:
"courseName"
,
render
:
(
val
,
record
)
=>
{
let
hasCover
=
false
return
(
<
div
className=
'record__item'
>
{
record
.
courseMediaVOS
.
map
((
item
)
=>
{
if
(
item
.
contentType
===
'COVER'
)
{
if
(
item
.
contentType
===
"COVER"
)
{
hasCover
=
true
return
<
img
className=
'course-cover'
src=
{
item
.
mediaUrl
}
alt=
''
/>
}
})
}
{
!
hasCover
&&
<
img
className=
'course-cover'
src=
{
'https://image.xiaomaiketang.com/xm/YNfi45JwFA.png'
}
alt=
''
/>
}
{
!
hasCover
&&
<
img
className=
'course-cover'
src=
{
"https://image.xiaomaiketang.com/xm/YNfi45JwFA.png"
}
alt=
''
/>
}
<
div
>
<
Choose
>
<
When
condition=
{
record
.
courseName
.
length
>
17
}
>
...
...
@@ -342,7 +341,7 @@ class AddCourse extends React.Component {
className=
'course-status'
style=
{
{
color
:
courseStateShow
[
record
.
courseState
].
color
,
border
:
`1px solid ${courseStateShow[record.courseState].color}`
,
border
:
`1px solid ${courseStateShow[record.courseState].color}`
}
}
>
{
courseStateShow
[
record
.
courseState
].
title
}
</
span
>
...
...
@@ -350,37 +349,37 @@ class AddCourse extends React.Component {
</
div
>
</
div
>
)
}
,
}
},
{
title
:
'上课时间'
,
title
:
"上课时间"
,
width
:
110
,
key
:
'couseCatalog'
,
dataIndex
:
'couseCatalog'
,
key
:
"couseCatalog"
,
dataIndex
:
"couseCatalog"
,
render
:
(
val
,
item
)
=>
{
return
(
<
span
className=
'course-time'
>
{
formatDate
(
'YYYY-MM-DD'
,
parseInt
(
item
.
startTime
))
}
<
br
></
br
>
{
formatDate
(
'H:i'
,
parseInt
(
item
.
startTime
))
}
~
{
formatDate
(
'H:i'
,
parseInt
(
item
.
endTime
))
}
{
formatDate
(
"YYYY-MM-DD"
,
parseInt
(
item
.
startTime
))
}
<
br
></
br
>
{
formatDate
(
"H:i"
,
parseInt
(
item
.
startTime
))
}
~
{
formatDate
(
"H:i"
,
parseInt
(
item
.
endTime
))
}
</
span
>
)
}
,
}
},
{
title
:
'课程分类'
,
title
:
"课程分类"
,
// width: "10%",
key
:
'couseCatalog'
,
dataIndex
:
'couseCatalog'
,
key
:
"couseCatalog"
,
dataIndex
:
"couseCatalog"
,
render
:
(
val
,
record
)
=>
{
return
(
<
div
className=
'categoryName'
>
{
record
.
categoryOneName
}
{
record
.
categoryTwoName
?
`-${record.categoryTwoName}`
:
''
}
{
record
.
categoryTwoName
?
`-${record.categoryTwoName}`
:
""
}
</
div
>
)
}
,
}
,
}
}
]
return
columns
...
...
@@ -401,16 +400,15 @@ class AddCourse extends React.Component {
cursor
:
"pointer"
,
color
:
"#bfbfbf"
,
fontSize
:
"14px"
,
fontWeight
:
"400"
}
}
>
fontWeight
:
"400"
}
}
>

</
i
>
</
Tooltip
>
</
span
>
),
key
:
'scheduleName'
,
dataIndex
:
'scheduleName'
,
key
:
"scheduleName"
,
dataIndex
:
"scheduleName"
,
width
:
300
,
render
:
(
val
,
record
)
=>
{
const
{
coverUrl
,
mediaCourseUrl
}
=
record
...
...
@@ -421,9 +419,9 @@ class AddCourse extends React.Component {
className=
'course-cover'
src=
{
coverUrl
||
(
videoCourseDivision
===
'internal'
(
videoCourseDivision
===
"internal"
?
`${mediaCourseUrl}?x-oss-process=video/snapshot,t_0,m_fast`
:
'https://image.xiaomaiketang.com/xm/mt3ZQRxGKB.png'
)
:
"https://image.xiaomaiketang.com/xm/mt3ZQRxGKB.png"
)
}
alt=
''
/>
...
...
@@ -439,29 +437,29 @@ class AddCourse extends React.Component {
</
Choose
>
</
div
>
)
}
,
}
},
{
title
:
'课程时长'
,
key
:
'videoDuration'
,
title
:
"课程时长"
,
key
:
"videoDuration"
,
width
:
80
,
dataIndex
:
'videoDuration'
,
dataIndex
:
"videoDuration"
,
render
:
(
text
,
item
)
=>
{
return
<
span
>
{
text
?
dealTimeDuration
(
text
)
:
'-'
}
</
span
>
}
,
return
<
span
>
{
text
?
dealTimeDuration
(
text
)
:
"-"
}
</
span
>
}
},
{
title
:
'课程分类'
,
key
:
'categoryName'
,
dataIndex
:
'categoryName'
,
title
:
"课程分类"
,
key
:
"categoryName"
,
dataIndex
:
"categoryName"
,
render
:
(
val
,
record
)
=>
{
return
(
<
Choose
>
<
When
condition=
{
videoCourseDivision
===
'internal'
}
>
<
When
condition=
{
videoCourseDivision
===
"internal"
}
>
<
div
className=
'record__item'
>
{
record
.
categoryOneName
}
{
record
.
categoryTwoName
?
`-${record.categoryTwoName}`
:
''
}
{
record
.
categoryTwoName
?
`-${record.categoryTwoName}`
:
""
}
</
div
>
</
When
>
<
Otherwise
>
...
...
@@ -469,8 +467,8 @@ class AddCourse extends React.Component {
</
Otherwise
>
</
Choose
>
)
}
,
}
,
}
}
]
return
columns
}
...
...
@@ -489,23 +487,22 @@ class AddCourse extends React.Component {
cursor
:
"pointer"
,
color
:
"#bfbfbf"
,
fontSize
:
"14px"
,
fontWeight
:
"400"
}
}
>
fontWeight
:
"400"
}
}
>

</
i
>
</
Tooltip
>
</
span
>
),
key
:
'scheduleName'
,
dataIndex
:
'scheduleName'
,
key
:
"scheduleName"
,
dataIndex
:
"scheduleName"
,
width
:
371
,
render
:
(
val
,
record
)
=>
{
const
{
coverUrl
}
=
record
return
(
<
div
className=
'record__item'
>
{
/* 上传了封面的话就用上传的封面, 没有的话就取视频的第一帧 */
}
<
img
className=
'course-cover'
src=
{
coverUrl
||
'https://image.xiaomaiketang.com/xm/YNfi45JwFA.png'
}
alt=
''
/>
<
img
className=
'course-cover'
src=
{
coverUrl
||
"https://image.xiaomaiketang.com/xm/YNfi45JwFA.png"
}
alt=
''
/>
<
Choose
>
<
When
condition=
{
record
.
courseName
.
length
>
25
}
>
<
Tooltip
title=
{
record
.
courseName
}
>
...
...
@@ -518,21 +515,21 @@ class AddCourse extends React.Component {
</
Choose
>
</
div
>
)
}
,
}
},
{
title
:
'课程分类'
,
key
:
'categoryName'
,
dataIndex
:
'categoryName'
,
title
:
"课程分类"
,
key
:
"categoryName"
,
dataIndex
:
"categoryName"
,
render
:
(
val
,
record
)
=>
{
return
(
<
div
className=
'record__item'
>
{
record
.
categoryOneName
}
{
record
.
categoryTwoName
?
`-${record.categoryTwoName}`
:
''
}
{
record
.
categoryTwoName
?
`-${record.categoryTwoName}`
:
""
}
</
div
>
)
}
,
}
,
}
}
]
return
columns
}
...
...
@@ -563,8 +560,8 @@ class AddCourse extends React.Component {
this
.
setState
({
selectVideo
:
{
...
selectVideo
,
[
videoCourseDivision
]:
_list
,
}
,
[
videoCourseDivision
]:
_list
}
})
}
...
...
@@ -592,7 +589,7 @@ class AddCourse extends React.Component {
this
.
setState
(
{
videoQuery
,
videoSearchDefalt
,
videoSearchDefalt
},
()
=>
{
this
.
handleFetchVideoList
()
...
...
@@ -604,7 +601,7 @@ class AddCourse extends React.Component {
const
{
videoSearchDefalt
,
videoCourseDivision
}
=
this
.
state
videoSearchDefalt
[
videoCourseDivision
].
courseName
=
e
.
target
.
value
this
.
setState
({
videoSearchDefalt
,
videoSearchDefalt
})
}
...
...
@@ -614,7 +611,7 @@ class AddCourse extends React.Component {
liveQuery
.
current
=
1
this
.
setState
(
{
liveQuery
,
liveQuery
},
()
=>
{
this
.
handleFetchLiveList
()
...
...
@@ -628,7 +625,7 @@ class AddCourse extends React.Component {
pictureQuery
.
current
=
1
this
.
setState
(
{
pictureQuery
,
pictureQuery
},
()
=>
{
this
.
handleFetchPictureList
()
...
...
@@ -641,43 +638,43 @@ class AddCourse extends React.Component {
if
(
selectVideo
.
external
.
length
)
{
batchAddList
.
push
({
categoryId
:
this
.
props
.
categoryId
,
refIds
:
_
.
pluck
(
selectVideo
.
external
,
'id'
),
refIds
:
_
.
pluck
(
selectVideo
.
external
,
"id"
),
storeId
:
User
.
getStoreId
(),
type
:
'VOICE'
,
createId
:
User
.
getStoreUserId
()
,
type
:
"VOICE"
,
createId
:
User
.
getStoreUserId
()
})
}
if
(
selectVideo
.
internal
.
length
)
{
batchAddList
.
push
({
categoryId
:
this
.
props
.
categoryId
,
refIds
:
_
.
pluck
(
selectVideo
.
internal
,
'id'
),
refIds
:
_
.
pluck
(
selectVideo
.
internal
,
"id"
),
storeId
:
User
.
getStoreId
(),
type
:
'VOICE'
,
createId
:
User
.
getStoreUserId
()
,
type
:
"VOICE"
,
createId
:
User
.
getStoreUserId
()
})
}
if
(
selectLive
.
length
)
{
batchAddList
.
push
({
categoryId
:
this
.
props
.
categoryId
,
refIds
:
_
.
pluck
(
selectLive
,
'liveCourseId'
),
refIds
:
_
.
pluck
(
selectLive
,
"liveCourseId"
),
storeId
:
User
.
getStoreId
(),
type
:
'LIVE'
,
createId
:
User
.
getStoreUserId
()
,
type
:
"LIVE"
,
createId
:
User
.
getStoreUserId
()
})
}
if
(
selectPicture
.
length
)
{
batchAddList
.
push
({
categoryId
:
this
.
props
.
categoryId
,
refIds
:
_
.
pluck
(
selectPicture
,
'id'
),
refIds
:
_
.
pluck
(
selectPicture
,
"id"
),
storeId
:
User
.
getStoreId
(),
type
:
'PICTURE'
,
createId
:
User
.
getStoreUserId
()
,
type
:
"PICTURE"
,
createId
:
User
.
getStoreUserId
()
})
}
KnowledgeAPI
.
addDifTypeKnowledge
({
batchAddList
}).
then
(({
success
})
=>
{
if
(
success
)
{
message
.
success
(
'新增成功'
)
message
.
success
(
"新增成功"
)
this
.
props
.
onClose
()
this
.
props
.
onChange
()
this
.
props
.
updateCategoryTree
()
...
...
@@ -693,9 +690,9 @@ class AddCourse extends React.Component {
...
videoSearchDefalt
,
[
e
.
target
.
value
]:
{
courseName
:
videoQuery
[
e
.
target
.
value
].
courseName
,
categoryId
:
videoQuery
[
e
.
target
.
value
].
categoryId
,
}
,
}
,
categoryId
:
videoQuery
[
e
.
target
.
value
].
categoryId
}
}
},
()
=>
{
this
.
handleFetchVideoList
()
...
...
@@ -738,11 +735,11 @@ class AddCourse extends React.Component {
selectPicture
,
videoSearchDefalt
,
categoryList
,
categoryListExternal
,
categoryListExternal
}
=
this
.
state
const
LiveSelection
=
{
selectedRowKeys
:
_
.
pluck
(
selectLive
,
'liveCourseId'
),
selectedRowKeys
:
_
.
pluck
(
selectLive
,
"liveCourseId"
),
onSelect
:
this
.
selectLiveList
,
onSelectAll
:
(
selected
,
_selectedRows
,
changeRows
)
=>
{
let
_list
=
[]
...
...
@@ -752,11 +749,11 @@ class AddCourse extends React.Component {
_list
=
_
.
reject
(
selectLive
,
(
item
)
=>
_
.
find
(
changeRows
,
(
data
)
=>
data
.
liveCourseId
===
item
.
liveCourseId
))
}
this
.
setState
({
selectLive
:
_list
})
}
,
}
}
const
VideoSelection
=
{
selectedRowKeys
:
_
.
pluck
(
selectVideo
[
videoCourseDivision
],
'id'
),
selectedRowKeys
:
_
.
pluck
(
selectVideo
[
videoCourseDivision
],
"id"
),
onSelect
:
this
.
selectVideoList
,
onSelectAll
:
(
selected
,
_selectedRows
,
changeRows
)
=>
{
let
_list
=
[]
...
...
@@ -768,14 +765,14 @@ class AddCourse extends React.Component {
this
.
setState
({
selectVideo
:
{
...
selectVideo
,
[
videoCourseDivision
]:
_list
,
}
,
[
videoCourseDivision
]:
_list
}
})
}
,
}
}
const
PictureSelection
=
{
selectedRowKeys
:
_
.
pluck
(
selectPicture
,
'id'
),
selectedRowKeys
:
_
.
pluck
(
selectPicture
,
"id"
),
onSelect
:
this
.
selectPictureList
,
onSelectAll
:
(
selected
,
_selectedRows
,
changeRows
)
=>
{
let
_list
=
[]
...
...
@@ -785,7 +782,7 @@ class AddCourse extends React.Component {
_list
=
_
.
reject
(
selectPicture
,
(
item
)
=>
_
.
find
(
changeRows
,
(
data
)
=>
data
.
id
===
item
.
id
))
}
this
.
setState
({
selectPicture
:
_list
})
}
,
}
}
return
(
...
...
@@ -796,28 +793,28 @@ class AddCourse extends React.Component {
<
div
>
<
Row
type=
'flex'
justify=
'space-between'
align=
'top'
>
<
div
>
<
span
style=
{
{
lineHeight
:
'32px'
}
}
>
课程名称:
</
span
>
<
span
style=
{
{
lineHeight
:
"32px"
}
}
>
课程名称:
</
span
>
<
Search
style=
{
{
width
:
'calc(100% - 75px)'
}
}
style=
{
{
width
:
"calc(100% - 75px)"
}
}
placeholder=
'搜索课程名称'
onSearch=
{
(
value
)
=>
{
this
.
handleChangLiveFilter
(
'courseName'
,
value
)
this
.
handleChangLiveFilter
(
"courseName"
,
value
)
}
}
enterButton=
{
<
span
className=
'icon iconfont'
>

</
span
>
}
/>
</
div
>
<
div
style=
{
{
width
:
'50%'
}
}
>
<
div
style=
{
{
width
:
"50%"
}
}
>
<
span
className=
'shelf-status'
>
课程分类:
</
span
>
<
TreeSelect
treeNodeFilterProp=
'categoryName'
showSearch
style=
{
{
width
:
'calc(100% - 75px)'
}
}
dropdownStyle=
{
{
maxHeight
:
400
,
overflow
:
'auto'
}
}
style=
{
{
width
:
"calc(100% - 75px)"
}
}
dropdownStyle=
{
{
maxHeight
:
400
,
overflow
:
"auto"
}
}
treeData=
{
categoryList
}
placeholder=
'请选择课程类型'
allowClear
onChange=
{
(
value
)
=>
{
this
.
handleChangLiveFilter
(
'categoryId'
,
value
)
this
.
handleChangLiveFilter
(
"categoryId"
,
value
)
}
}
/>
</
div
>
...
...
@@ -829,10 +826,10 @@ class AddCourse extends React.Component {
this
.
setState
({
selectVideo
:
{
internal
:
[],
external
:
[]
,
external
:
[]
},
selectLive
:
[],
selectPicture
:
[]
,
selectPicture
:
[]
})
}
}
/>
...
...
@@ -844,7 +841,7 @@ class AddCourse extends React.Component {
rowSelection=
{
LiveSelection
}
// loading={loading}
dataSource=
{
liveDataSource
}
style=
{
{
maxHeight
:
359
,
overflow
:
'scroll'
}
}
style=
{
{
maxHeight
:
359
,
overflow
:
"scroll"
}
}
rowKey=
{
(
row
)
=>
row
.
liveCourseId
}
/>
{
liveTotalCount
>
0
&&
(
...
...
@@ -857,7 +854,7 @@ class AddCourse extends React.Component {
const
_query
=
{
...
liveQuery
,
current
:
page
+
1
}
this
.
setState
(
{
liveQuery
:
_query
,
liveQuery
:
_query
},
()
=>
{
this
.
handleFetchLiveList
()
...
...
@@ -879,31 +876,32 @@ class AddCourse extends React.Component {
<
div
>
<
Row
type=
'flex'
justify=
'space-between'
align=
'top'
>
<
div
>
<
span
style=
{
{
lineHeight
:
'32px'
}
}
>
课程名称:
</
span
>
<
span
style=
{
{
lineHeight
:
"32px"
}
}
>
课程名称:
</
span
>
<
Search
value=
{
videoSearchDefalt
[
videoCourseDivision
].
courseName
}
style=
{
{
width
:
'calc(100% - 75px)'
}
}
style=
{
{
width
:
"calc(100% - 75px)"
}
}
placeholder=
'搜索课程名称'
onChange=
{
this
.
handleChangVideoCourseName
}
onSearch=
{
(
value
)
=>
{
this
.
handleChangVideoFilter
(
'courseName'
,
value
)
this
.
handleChangVideoFilter
(
"courseName"
,
value
)
}
}
enterButton=
{
<
span
className=
'icon iconfont'
>

</
span
>
}
/>
</
div
>
<
div
style=
{
{
width
:
'50%'
}
}
>
<
div
style=
{
{
width
:
"50%"
}
}
>
<
span
className=
'shelf-status'
>
课程分类:
</
span
>
<
TreeSelect
treeNodeFilterProp=
'categoryName'
showSearch
style=
{
{
minWidth
:
'calc(100% - 75px)'
}
}
value=
{
videoQuery
[
videoCourseDivision
].
categoryId
}
style=
{
{
minWidth
:
"calc(100% - 75px)"
}
}
dropdownMatchSelectWidth=
{
false
}
dropdownStyle=
{
{
maxHeight
:
400
,
overflow
:
'auto'
}
}
treeData=
{
videoCourseDivision
===
'internal'
?
categoryList
:
categoryListExternal
}
dropdownStyle=
{
{
maxHeight
:
400
,
overflow
:
"auto"
}
}
treeData=
{
videoCourseDivision
===
"internal"
?
categoryList
:
categoryListExternal
}
placeholder=
'请选择课程类型'
allowClear
onChange=
{
(
value
)
=>
{
this
.
handleChangVideoFilter
(
'categoryId'
,
value
)
this
.
handleChangVideoFilter
(
"categoryId"
,
value
)
}
}
/>
</
div
>
...
...
@@ -915,10 +913,10 @@ class AddCourse extends React.Component {
this
.
setState
({
selectVideo
:
{
internal
:
[],
external
:
[]
,
external
:
[]
},
selectLive
:
[],
selectPicture
:
[]
,
selectPicture
:
[]
})
}
}
/>
...
...
@@ -931,7 +929,7 @@ class AddCourse extends React.Component {
pagination=
{
false
}
bordered
className=
'video-list-table'
style=
{
{
maxHeight
:
359
,
overflow
:
'scroll'
}
}
style=
{
{
maxHeight
:
359
,
overflow
:
"scroll"
}
}
/>
<
div
className=
'box-footer'
>
...
...
@@ -942,13 +940,13 @@ class AddCourse extends React.Component {
total=
{
videoTotalCount
[
videoCourseDivision
]
}
toPage=
{
(
page
)
=>
{
const
_query
=
{
...
videoQuery
[
videoCourseDivision
],
current
:
page
+
1
}
console
.
log
(
'_query'
,
_query
)
console
.
log
(
"_query"
,
_query
)
this
.
setState
(
{
videoQuery
:
{
...
videoQuery
,
[
videoCourseDivision
]:
_query
,
}
,
[
videoCourseDivision
]:
_query
}
},
()
=>
{
this
.
handleFetchVideoList
()
...
...
@@ -967,28 +965,28 @@ class AddCourse extends React.Component {
<
div
>
<
Row
type=
'flex'
justify=
'space-between'
align=
'top'
>
<
div
>
<
span
style=
{
{
lineHeight
:
'32px'
}
}
>
课程名称:
</
span
>
<
span
style=
{
{
lineHeight
:
"32px"
}
}
>
课程名称:
</
span
>
<
Search
style=
{
{
width
:
'calc(100% - 75px)'
}
}
style=
{
{
width
:
"calc(100% - 75px)"
}
}
placeholder=
'搜索课程名称'
onSearch=
{
(
value
)
=>
{
this
.
handleChangPictureFilter
(
'courseName'
,
value
)
this
.
handleChangPictureFilter
(
"courseName"
,
value
)
}
}
enterButton=
{
<
span
className=
'icon iconfont'
>

</
span
>
}
/>
</
div
>
<
div
style=
{
{
width
:
'50%'
}
}
>
<
div
style=
{
{
width
:
"50%"
}
}
>
<
span
className=
'shelf-status'
>
课程分类:
</
span
>
<
TreeSelect
treeNodeFilterProp=
'categoryName'
showSearch
style=
{
{
width
:
'calc(100% - 75px)'
}
}
dropdownStyle=
{
{
maxHeight
:
400
,
overflow
:
'auto'
}
}
style=
{
{
width
:
"calc(100% - 75px)"
}
}
dropdownStyle=
{
{
maxHeight
:
400
,
overflow
:
"auto"
}
}
treeData=
{
categoryList
}
placeholder=
'请选择课程类型'
allowClear
onChange=
{
(
value
)
=>
{
this
.
handleChangPictureFilter
(
'categoryId'
,
value
)
this
.
handleChangPictureFilter
(
"categoryId"
,
value
)
}
}
/>
</
div
>
...
...
@@ -1000,10 +998,10 @@ class AddCourse extends React.Component {
this
.
setState
({
selectVideo
:
{
internal
:
[],
external
:
[]
,
external
:
[]
},
selectLive
:
[],
selectPicture
:
[]
,
selectPicture
:
[]
})
}
}
/>
...
...
@@ -1015,7 +1013,7 @@ class AddCourse extends React.Component {
rowSelection=
{
PictureSelection
}
// loading={loading}
dataSource=
{
pictureDataSource
}
style=
{
{
maxHeight
:
359
,
overflow
:
'scroll'
}
}
style=
{
{
maxHeight
:
359
,
overflow
:
"scroll"
}
}
rowKey=
{
(
row
)
=>
row
.
id
}
/>
{
pictureTotalCount
>
0
&&
(
...
...
@@ -1028,7 +1026,7 @@ class AddCourse extends React.Component {
const
_query
=
{
...
pictureQuery
,
current
:
page
+
1
}
this
.
setState
(
{
pictureQuery
:
_query
,
pictureQuery
:
_query
},
()
=>
{
this
.
handleFetchPictureList
()
...
...
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