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
68e170c4
Commit
68e170c4
authored
Aug 15, 2021
by
yuananting
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/yuananting/20210801/task-center' into dev
parents
92c14429
87dec267
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
119 additions
and
117 deletions
+119
-117
src/modules/task-center/train-task/AddTrainTask.jsx
+116
-115
src/modules/task-center/train-task/components/TrainContent.less
+1
-0
src/modules/task-center/train-task/components/TrainList.jsx
+2
-2
No files found.
src/modules/task-center/train-task/AddTrainTask.jsx
View file @
68e170c4
...
...
@@ -22,40 +22,42 @@ import TaskCenterService from '@/domains/task-center-domain/TaskCenterService';
import
Bus
from
'@/core/bus'
;
import
$
from
'jquery'
;
const
defaultCover
=
'https://image.xiaomaiketang.com/xm/rEAetaTEh3.png'
;
const
DEFAULT_BASIC_INFO
=
{
taskName
:
''
,
// 培训任务名称
coverUrl
:
defaultCover
,
coverId
:
null
,
helpStoreUserIds
:
[],
// 指定协同者id
timeType
:
'FOREVER'
,
// 培训时间,默认永久有效
startTime
:
null
,
// 固定时间段-开始时间
endTime
:
null
,
// 固定时间段-结束时间
learnType
:
'FREEDOM'
,
// 学习模式,默认自由学习
assignList
:
[],
// 指派列表-assignId assignType
introduce
:
null
,
// 培训目的
loadintroduce
:
false
,
};
const
DEFAULT_STAGE_LIST
=
[
{
stageName
:
'阶段一'
,
contentList
:
[],
check
:
false
,
},
];
const
DEFAULT_FINISH_STANDARD
=
{
percentCompleteLive
:
80
,
percentCompleteVideo
:
80
,
// 线上课完成百分比
percentCompletePicture
:
80
,
// 图文课完成百分比
};
function
AddTrainTask
()
{
const
type
=
getParameterByName
(
'type'
);
const
taskId
=
getParameterByName
(
'taskId'
);
const
defaultCover
=
'https://image.xiaomaiketang.com/xm/rEAetaTEh3.png'
;
const
DEFAULT_BASIC_INFO
=
{
taskName
:
''
,
// 培训任务名称
coverUrl
:
defaultCover
,
coverId
:
null
,
helpStoreUserIds
:
[],
// 指定协同者id
timeType
:
'FOREVER'
,
// 培训时间,默认永久有效
startTime
:
null
,
// 固定时间段-开始时间
endTime
:
null
,
// 固定时间段-结束时间
learnType
:
'FREEDOM'
,
// 学习模式,默认自由学习
assignList
:
[],
// 指派列表-assignId assignType
introduce
:
null
,
// 培训目的
loadintroduce
:
false
,
};
const
DEFAULT_STAGE_LIST
=
[
{
stageName
:
'阶段一'
,
contentList
:
[],
check
:
false
,
},
];
const
DEFAULT_FINISH_STANDARD
=
{
percentCompleteLive
:
80
,
percentCompleteVideo
:
80
,
// 线上课完成百分比
percentCompletePicture
:
80
,
// 图文课完成百分比
};
const
[
activeStep
,
setActiveStep
]
=
useState
(
'BASIC_INFO'
);
const
[
basicInfo
,
setBasicInfo
]
=
useState
(
DEFAULT_BASIC_INFO
);
const
[
stageList
,
setStageList
]
=
useState
(
DEFAULT_STAGE_LIST
);
...
...
@@ -72,91 +74,92 @@ function AddTrainTask() {
if
(
type
===
'edit'
)
{
initTaskData
();
getTrainingCourseAutoCancel
();
}
},
[]);
// 编辑回显数据详情
function
initTaskData
()
{
TaskCenterService
.
getTrainingTaskDetail
({
taskId
,
}).
then
((
res
)
=>
{
const
{
result
:
{
createId
,
taskName
,
courseMediaVOS
,
helpStoreUsers
,
timeType
,
startTime
,
endTime
,
learnType
,
assignList
,
percentCompleteLive
,
percentCompletePicture
,
percentCompleteVideo
,
trainingStageList
,
},
}
=
res
;
const
_assignList
=
assignList
?
assignList
.
map
((
item
)
=>
{
item
.
checkedId
=
item
.
assignId
;
item
.
checkedName
=
item
.
assignName
;
item
.
checkedType
=
item
.
assignType
;
// 编辑回显数据详情
function
initTaskData
()
{
TaskCenterService
.
getTrainingTaskDetail
({
taskId
,
}).
then
((
res
)
=>
{
const
{
result
:
{
createId
,
taskName
,
courseMediaVOS
,
helpStoreUsers
,
timeType
,
startTime
,
endTime
,
learnType
,
assignList
,
percentCompleteLive
,
percentCompletePicture
,
percentCompleteVideo
,
trainingStageList
,
},
}
=
res
;
const
_assignList
=
assignList
?
assignList
.
map
((
item
)
=>
{
item
.
checkedId
=
item
.
assignId
;
item
.
checkedName
=
item
.
assignName
;
item
.
checkedType
=
item
.
assignType
;
return
item
;
})
:
[];
const
coverInfo
=
courseMediaVOS
.
filter
((
item
)
=>
item
.
contentType
===
'COVER'
)[
0
];
const
coverUrl
=
coverInfo
?
coverInfo
.
mediaUrl
:
defaultCover
;
const
coverId
=
coverInfo
?
coverInfo
.
mediaContent
:
null
;
const
_helpStoreUserIds
=
helpStoreUsers
.
map
((
item
)
=>
{
item
.
checkedName
=
item
.
storeUserName
;
item
.
checkedId
=
item
.
storeUserId
;
return
item
;
})
:
[];
const
coverInfo
=
courseMediaVOS
.
filter
((
item
)
=>
item
.
contentType
===
'COVER'
)[
0
];
const
coverUrl
=
coverInfo
?
coverInfo
.
mediaUrl
:
defaultCover
;
const
coverId
=
coverInfo
?
coverInfo
.
mediaContent
:
null
;
const
_helpStoreUserIds
=
helpStoreUsers
.
map
((
item
)
=>
{
item
.
checkedName
=
item
.
storeUserName
;
item
.
checkedId
=
item
.
storeUserId
;
return
item
;
});
const
ITEM_BASIC_INFO
=
{
createId
,
assignList
:
_assignList
,
taskName
,
coverUrl
,
coverId
,
helpStoreUserIds
:
_helpStoreUserIds
,
timeType
,
startTime
,
endTime
,
learnType
,
};
const
_stageList
=
trainingStageList
.
map
((
item
)
=>
{
item
.
contentList
=
item
.
contentVOList
;
item
.
type
=
'text'
;
return
item
;
});
const
introduceInfo
=
courseMediaVOS
.
filter
((
item
)
=>
item
.
contentType
===
'INTRO'
)[
0
];
setBasicInfo
({
...
basicInfoRef
.
current
,
...
ITEM_BASIC_INFO
,
loadintroduce
:
!
introduceInfo
});
setFinishStandard
({
percentCompleteLive
,
percentCompletePicture
,
percentCompleteVideo
,
});
setStageList
(
_stageList
);
introduceInfo
&&
getTextDetail
(
'introduce'
,
introduceInfo
);
});
}
// 获取培训任务失效的课程
function
getTrainingCourseAutoCancel
()
{
TaskCenterService
.
getTrainingCourseAutoCancel
({
taskId
}).
then
((
res
)
=>
{
setExpiredCourseList
(
res
.
result
);
});
}
});
const
ITEM_BASIC_INFO
=
{
createId
,
assignList
:
_assignList
,
taskName
,
coverUrl
,
coverId
,
helpStoreUserIds
:
_helpStoreUserIds
,
timeType
,
startTime
,
endTime
,
learnType
,
};
const
_stageList
=
trainingStageList
.
map
((
item
)
=>
{
item
.
contentList
=
item
.
contentVOList
;
item
.
type
=
'text'
;
return
item
;
});
const
introduceInfo
=
courseMediaVOS
.
filter
((
item
)
=>
item
.
contentType
===
'INTRO'
)[
0
];
setBasicInfo
({
...
basicInfoRef
.
current
,
...
ITEM_BASIC_INFO
,
loadintroduce
:
!
introduceInfo
});
setFinishStandard
({
percentCompleteLive
,
percentCompletePicture
,
percentCompleteVideo
,
});
setStageList
(
_stageList
);
introduceInfo
&&
getTextDetail
(
'introduce'
,
introduceInfo
);
});
}
// 获取培训任务失效的课程
function
getTrainingCourseAutoCancel
()
{
TaskCenterService
.
getTrainingCourseAutoCancel
({
taskId
}).
then
((
res
)
=>
{
setExpiredCourseList
(
res
.
result
);
});
}
}
},
[
taskId
,
type
]);
// 获取培训目的内容
function
getTextDetail
(
key
,
info
)
{
if
(
info
.
mediaType
===
'RESOURCE_ID'
)
{
...
...
@@ -193,7 +196,6 @@ function AddTrainTask() {
<
Button
type=
'primary'
onClick=
{
()
=>
setActiveStep
(
'TRAIN_CONTENT'
)
}
>
下一步
</
Button
>
{
/* disabled={submitDisabled} */
}
</
div
>
</
When
>
<
Otherwise
>
...
...
@@ -204,7 +206,6 @@ function AddTrainTask() {
<
Button
type=
'primary'
onClick=
{
()
=>
handleSubmit
(
'YES'
)
}
>
保存并发布
</
Button
>
{
/* disabled={submitDisabled} */
}
</
div
>
</
Otherwise
>
</
Choose
>
...
...
@@ -387,7 +388,7 @@ function AddTrainTask() {
return
(
<
div
className=
'page add-train-task'
>
<
Breadcrumbs
navList=
{
type
==
'add'
?
'新建培训任务'
:
'编辑培训任务'
}
goBack=
{
handleGoBack
}
/>
<
Breadcrumbs
navList=
{
type
==
=
'add'
?
'新建培训任务'
:
'编辑培训任务'
}
goBack=
{
handleGoBack
}
/>
<
div
className=
'box'
>
<
div
className=
'show-tips'
>
<
ShowTips
message=
'请遵守国家相关规定,切勿上传低俗色情、暴力恐怖、谣言诈骗、侵权盗版等相关内容,小麦企学院保有依据国家规定及平台规则进行处理的权利'
/>
...
...
src/modules/task-center/train-task/components/TrainContent.less
View file @
68e170c4
...
...
@@ -23,6 +23,7 @@
}
.finish-standard__warp {
margin-top: 24px;
margin-bottom: 60px;
.module-title {
height: 22px;
...
...
src/modules/task-center/train-task/components/TrainList.jsx
View file @
68e170c4
...
...
@@ -441,7 +441,7 @@ function TrainList(props) {
props
.
onChange
(
_query
);
}
function
handleCreate
Plan
()
{
function
handleCreate
Task
()
{
window
.
RCHistory
.
push
({
pathname
:
'/create-train-task?type=add'
,
});
...
...
@@ -451,7 +451,7 @@ function TrainList(props) {
<
div
className=
'train-list-page'
>
<
div
className=
'header-line'
>
{
(
User
.
getUserRole
()
===
'CloudManager'
||
User
.
getUserRole
()
===
'StoreManager'
)
&&
(
<
Button
type=
'primary'
className=
'mr12'
onClick=
{
handleCreate
Plan
}
>
<
Button
type=
'primary'
className=
'mr12'
onClick=
{
handleCreate
Task
}
>
新建培训任务
</
Button
>
)
}
...
...
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