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
92688bbd
Commit
92688bbd
authored
May 17, 2021
by
chenshu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:初始化
parent
92a4c2c1
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
57 additions
and
17 deletions
+57
-17
src/modules/course-manage/offline-course/AddOfflineCourse.jsx
+11
-4
src/modules/course-manage/offline-course/components/OfflineCourseList.jsx
+40
-7
src/modules/course-manage/offline-course/modal/QRCodeModal.jsx
+6
-6
No files found.
src/modules/course-manage/offline-course/AddOfflineCourse.jsx
View file @
92688bbd
...
...
@@ -19,6 +19,7 @@ import {
Switch
,
TimePicker
,
InputNumber
,
Tooltip
,
}
from
'antd'
;
import
$
from
'jquery'
;
...
...
@@ -86,7 +87,7 @@ class AddOfflineCourse extends React.Component {
nickName
:
null
},
calendarTime
:
[],
offlineCourseType
:
'A
NY_DAY_P
OFFLINE'
,
offlineCourseType
:
'A
LL_DAY_
OFFLINE'
,
signInType
:
'START_AGO'
,
signOutType
:
'START_LATER'
,
oldQuta
:
null
,
...
...
@@ -993,10 +994,10 @@ class AddOfflineCourse extends React.Component {
className=
"mt5"
disabled=
{
isEditDisablie
}
>
<
Radio
value=
"A
NY_DAY_P
OFFLINE"
className=
"mr-16"
>
<
Radio
value=
"A
LL_DAY_
OFFLINE"
className=
"mr-16"
>
<
span
style=
{
{
color
:
"#333"
}
}
>
所选日期都要上课
</
span
>
</
Radio
>
<
Radio
value=
"A
LL_DAY_
OFFLINE"
className=
"mr-16"
>
<
Radio
value=
"A
NY_DAY_P
OFFLINE"
className=
"mr-16"
>
<
span
style=
{
{
color
:
"#333"
}
}
>
选择任意1天上课
</
span
>
</
Radio
>
</
Radio
.
Group
>
...
...
@@ -1025,7 +1026,13 @@ class AddOfflineCourse extends React.Component {
/>
</
div
>
}
{
whetherSetApply
===
'YES'
&&
<
div
className=
"switch-item"
key=
"3"
>
<
span
className=
"switch-label"
>
报名人数:最多
</
span
>
<
span
className=
"switch-label"
>
报名人数
<
Tooltip
title=
"报名一旦开始,报名人数不支持减少"
>
<
span
style=
{
{
margin
:
'0 4px'
,
color
:
'#999'
}
}
className=
"icon iconfont"
>

</
span
>
</
Tooltip
>
:最多
</
span
>
<
InputNumber
value=
{
quota
}
min=
{
oldQuta
||
1
}
...
...
src/modules/course-manage/offline-course/components/OfflineCourseList.jsx
View file @
92688bbd
...
...
@@ -9,6 +9,8 @@
import
React
from
'react'
;
import
{
Table
,
Modal
,
message
,
Tooltip
,
Switch
,
Dropdown
}
from
'antd'
;
import
{
Route
,
withRouter
}
from
'react-router-dom'
;
import
moment
from
'moment'
;
import
$
from
'jquery'
;
import
{
PageControl
}
from
"@/components"
;
import
{
appId
,
shareUrl
,
LIVE_SHARE
}
from
'@/domains/course-domain/constants'
;
import
OfflineCourseData
from
'@/modules/course-manage/offline-course/OfflineCourseData'
;
...
...
@@ -21,7 +23,6 @@ import ENUM from "../../../knowledge-base/ENUM.js";
import
User
from
'@/common/js/user'
import
QRCodeModal
from
'../modal/QRCodeModal'
;
import
'./OfflineCourseList.less'
;
import
moment
from
'moment'
;
const
ENV
=
process
.
env
.
DEPLOY_ENV
||
'dev'
;
const
defaultCoverUrl
=
'https://image.xiaomaiketang.com/xm/YNfi45JwFA.png'
;
...
...
@@ -122,7 +123,10 @@ class OfflineCourseList extends React.Component {
dataIndex
:
"courseware"
,
render
:
(
val
,
item
,
index
)
=>
{
return
(
<
Switch
defaultChecked=
{
item
.
shelfState
===
"YES"
}
onChange=
{
()
=>
this
.
changeShelfState
(
item
)
}
/>
<
Switch
defaultChecked=
{
item
.
shelfState
===
"YES"
}
onChange=
{
()
=>
this
.
changeShelfState
(
item
)
}
/>
)
},
},
...
...
@@ -140,8 +144,8 @@ class OfflineCourseList extends React.Component {
{
title
:
'报名时间'
,
width
:
181
,
key
:
'
updated
'
,
dataIndex
:
'
updated
'
,
key
:
'
apply
'
,
dataIndex
:
'
apply
'
,
sorter
:
true
,
render
:
(
val
,
item
)
=>
{
return
item
.
startTimeApply
?
`
${
formatDate
(
'MM-DD H:i'
,
item
.
startTimeApply
)}
~
${
formatDate
(
'MM-DD H:i'
,
item
.
endTimeApply
)}
`
:
'-'
...
...
@@ -192,14 +196,29 @@ class OfflineCourseList extends React.Component {
// 显示预览弹窗
handleShowPreviewModal
=
(
query
)
=>
{
const
{
coverUrl
,
courseName
,
startTime
,
endTime
,
introduce
,
categoryName
,
offlinePlace
,
courseMediaVOS
,
}
=
query
;
let
coverUrl
=
''
;
courseMediaVOS
.
map
((
item
)
=>
{
switch
(
item
.
contentType
){
case
"COVER"
:
coverUrl
=
item
.
mediaUrl
;
break
;
case
"INTRO"
:
this
.
getTextDetail
(
'introduce'
,
item
.
mediaUrl
);
break
;
default
:
break
;
}
return
item
;
})
setTimeout
(()
=>
{
const
{
introduce
}
=
this
.
state
;
const
data
=
{
coverUrl
,
...
...
@@ -220,8 +239,20 @@ class OfflineCourseList extends React.Component {
}
}
/>
);
this
.
setState
({
previewOfflineModal
});
},
500
)
}
getTextDetail
=
(
key
,
url
)
=>
{
$
.
ajax
({
data
:
{},
type
:
'GET'
,
url
,
contentType
:
'application/x-www-form-urlencoded; charset=UTF-8'
,
success
:
(
res
)
=>
{
this
.
setState
({
[
key
]:
res
,
[
`load
${
key
}
`
]:
true
});
}
})
}
renderMoreOperate
=
(
item
)
=>
{
...
...
@@ -367,8 +398,10 @@ class OfflineCourseList extends React.Component {
let
_columnKey
;
let
_order
;
// 按创建时间升序排序
if
(
columnKey
===
'apply'
&&
order
===
'ascend'
)
{
_columnKey
=
"START_APPLY_DESC"
;
_order
=
'SORT_ASC'
;
}
if
(
columnKey
===
'created'
&&
order
===
'ascend'
)
{
_columnKey
=
"CREATED"
;
_order
=
'SORT_ASC'
;
}
// 按创建时间降序排序
if
(
columnKey
===
'apply'
&&
order
===
'descend'
)
{
_columnKey
=
"START_APPLY_DESC"
;
_order
=
'SORT_DESC'
;}
if
(
columnKey
===
'created'
&&
order
===
'descend'
)
{
_columnKey
=
"CREATED"
;
_order
=
'SORT_DESC'
;}
const
_query
=
{
...
query
,
...
...
src/modules/course-manage/offline-course/modal/QRCodeModal.jsx
View file @
92688bbd
...
...
@@ -100,20 +100,20 @@ export default class QRCodeModal extends React.Component {
render
()
{
const
{
visible
,
onCancel
}
=
this
.
props
;
const
{
selectedDate
,
data
=
{}
}
=
this
.
state
;
const
{
startTime
,
endTime
,
courseName
,
whetherSetSignIn
,
whetherSetSignOut
,
signInType
,
signOutType
}
=
data
;
const
{
courseName
,
whetherSetSignIn
,
whetherSetSignOut
}
=
data
;
const
date
=
moment
(
selectedDate
).
format
(
'YYYY-MM-DD'
);
const
unit
=
(
data
.
signInTimeUnit
||
''
).
toLocaleLowerCase
()
+
's'
;
const
time
=
moment
(
data
.
signInType
==
'START_AGO'
?
data
.
startTime
:
data
.
endTime
).
subtract
(
data
.
signInTimeNum
,
unit
);
const
signInTime
=
data
.
signInType
==
'START_AGO'
?
`
${
date
}
${
moment
(
time
).
format
(
'HH:mm'
)}
~
${
date
}
${
moment
(
data
.
startTime
).
format
(
'HH:mm'
)}
`
:
`
${
date
}
${
moment
(
data
.
startTime
).
format
(
'HH:mm'
)}
~
${
date
}
${
moment
(
time
).
format
(
'
HH:mm'
)}
`
;
const
time
=
moment
(
`
${
date
}
${
moment
(
data
.
signInType
==
'START_AGO'
?
data
.
startTime
:
data
.
endTime
).
format
(
'HH:mm'
)}
`
).
subtract
(
data
.
signInTimeNum
,
unit
);
const
signInTime
=
`
${
moment
(
time
).
format
(
'YYYY-MM-DD HH:mm'
)}
~
${
moment
(
data
.
signInType
==
'START_AGO'
?
data
.
startTime
:
data
.
endTime
).
format
(
'YYYY-MM-DD
HH:mm'
)}
`
;
const
endUnit
=
(
data
.
signOutEndTimeUnit
||
''
).
toLocaleLowerCase
()
+
's'
;
const
end
=
moment
(
data
.
endTime
).
add
(
data
.
signOutEndTimeNum
,
endUnit
);
const
end
=
moment
(
`
${
date
}
${
moment
(
data
.
endTime
).
format
(
'HH:mm'
)}
`
).
add
(
data
.
signOutEndTimeNum
,
endUnit
);
let
startUnit
=
''
;
let
start
=
''
;
if
(
data
.
signOutType
===
'START_LATER'
)
{
startUnit
=
(
data
.
signOutStartTimeUnit
||
''
).
toLocaleLowerCase
()
+
's'
;
start
=
moment
(
data
.
startTime
).
add
(
data
.
signOutStartTimeNum
,
startUnit
);
start
=
moment
(
`
${
date
}
${
moment
(
data
.
startTime
).
format
(
'HH:mm'
)}
`
).
add
(
data
.
signOutStartTimeNum
,
startUnit
);
}
const
signOutTime
=
data
.
signOutType
===
'START_LATER'
?
`
${
date
}
${
moment
(
start
).
format
(
'HH:mm'
)}
~
${
date
}
${
moment
(
end
).
format
(
'HH:mm'
)}
`
:
`
${
date
}
${
moment
(
data
.
endTime
).
format
(
'HH:mm'
)}
~
${
date
}
${
moment
(
end
).
format
(
'
HH:mm'
)}
`
;
const
signOutTime
=
data
.
signOutType
===
'START_LATER'
?
`
${
moment
(
start
).
format
(
'YYYY-MM-DD HH:mm'
)}
~
${
moment
(
end
).
format
(
'YYYY-MM-DD HH:mm'
)}
`
:
`
${
moment
(
data
.
endTime
).
format
(
'YYYY-MM-DD HH:mm'
)}
~
${
moment
(
end
).
format
(
'YYYY-MM-DD
HH:mm'
)}
`
;
return
(
<
Modal
title=
"考勤二维码"
...
...
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