Commit 87dec267 by yuananting

fix:修复新建培训任务高级设置数据问题

parent f7cf0109
...@@ -22,40 +22,42 @@ import TaskCenterService from '@/domains/task-center-domain/TaskCenterService'; ...@@ -22,40 +22,42 @@ import TaskCenterService from '@/domains/task-center-domain/TaskCenterService';
import Bus from '@/core/bus'; import Bus from '@/core/bus';
import $ from 'jquery'; 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() { function AddTrainTask() {
const type = getParameterByName('type'); const type = getParameterByName('type');
const taskId = getParameterByName('taskId'); 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 [activeStep, setActiveStep] = useState('BASIC_INFO');
const [basicInfo, setBasicInfo] = useState(DEFAULT_BASIC_INFO); const [basicInfo, setBasicInfo] = useState(DEFAULT_BASIC_INFO);
const [stageList, setStageList] = useState(DEFAULT_STAGE_LIST); const [stageList, setStageList] = useState(DEFAULT_STAGE_LIST);
...@@ -72,91 +74,92 @@ function AddTrainTask() { ...@@ -72,91 +74,92 @@ function AddTrainTask() {
if (type === 'edit') { if (type === 'edit') {
initTaskData(); initTaskData();
getTrainingCourseAutoCancel(); 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) => { function initTaskData() {
item.checkedId = item.assignId; TaskCenterService.getTrainingTaskDetail({
item.checkedName = item.assignName; taskId,
item.checkedType = item.assignType; }).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; return item;
}) });
: [];
const ITEM_BASIC_INFO = {
const coverInfo = courseMediaVOS.filter((item) => item.contentType === 'COVER')[0]; createId,
const coverUrl = coverInfo ? coverInfo.mediaUrl : defaultCover; assignList: _assignList,
const coverId = coverInfo ? coverInfo.mediaContent : null; taskName,
coverUrl,
const _helpStoreUserIds = helpStoreUsers.map((item) => { coverId,
item.checkedName = item.storeUserName; helpStoreUserIds: _helpStoreUserIds,
item.checkedId = item.storeUserId; timeType,
return item; startTime,
}); endTime,
learnType,
const ITEM_BASIC_INFO = { };
createId,
assignList: _assignList, const _stageList = trainingStageList.map((item) => {
taskName, item.contentList = item.contentVOList;
coverUrl, item.type = 'text';
coverId, return item;
helpStoreUserIds: _helpStoreUserIds, });
timeType,
startTime, const introduceInfo = courseMediaVOS.filter((item) => item.contentType === 'INTRO')[0];
endTime, setBasicInfo({ ...basicInfoRef.current, ...ITEM_BASIC_INFO, loadintroduce: !introduceInfo });
learnType,
}; setFinishStandard({
percentCompleteLive,
const _stageList = trainingStageList.map((item) => { percentCompletePicture,
item.contentList = item.contentVOList; percentCompleteVideo,
item.type = 'text'; });
return item;
}); setStageList(_stageList);
const introduceInfo = courseMediaVOS.filter((item) => item.contentType === 'INTRO')[0]; introduceInfo && getTextDetail('introduce', introduceInfo);
setBasicInfo({ ...basicInfoRef.current, ...ITEM_BASIC_INFO, loadintroduce: !introduceInfo }); });
}
setFinishStandard({
percentCompleteLive, // 获取培训任务失效的课程
percentCompletePicture, function getTrainingCourseAutoCancel() {
percentCompleteVideo, TaskCenterService.getTrainingCourseAutoCancel({ taskId }).then((res) => {
}); setExpiredCourseList(res.result);
});
setStageList(_stageList); }
}
introduceInfo && getTextDetail('introduce', introduceInfo); }, [taskId, type]);
});
}
// 获取培训任务失效的课程
function getTrainingCourseAutoCancel() {
TaskCenterService.getTrainingCourseAutoCancel({ taskId }).then((res) => {
setExpiredCourseList(res.result);
});
}
// 获取培训目的内容 // 获取培训目的内容
function getTextDetail(key, info) { function getTextDetail(key, info) {
if (info.mediaType === 'RESOURCE_ID') { if (info.mediaType === 'RESOURCE_ID') {
...@@ -193,7 +196,6 @@ function AddTrainTask() { ...@@ -193,7 +196,6 @@ function AddTrainTask() {
<Button type='primary' onClick={() => setActiveStep('TRAIN_CONTENT')}> <Button type='primary' onClick={() => setActiveStep('TRAIN_CONTENT')}>
下一步 下一步
</Button> </Button>
{/* disabled={submitDisabled} */}
</div> </div>
</When> </When>
<Otherwise> <Otherwise>
...@@ -204,7 +206,6 @@ function AddTrainTask() { ...@@ -204,7 +206,6 @@ function AddTrainTask() {
<Button type='primary' onClick={() => handleSubmit('YES')}> <Button type='primary' onClick={() => handleSubmit('YES')}>
保存并发布 保存并发布
</Button> </Button>
{/* disabled={submitDisabled} */}
</div> </div>
</Otherwise> </Otherwise>
</Choose> </Choose>
...@@ -387,7 +388,7 @@ function AddTrainTask() { ...@@ -387,7 +388,7 @@ function AddTrainTask() {
return ( return (
<div className='page add-train-task'> <div className='page add-train-task'>
<Breadcrumbs navList={type == 'add' ? '新建培训任务' : '编辑培训任务'} goBack={handleGoBack} /> <Breadcrumbs navList={type === 'add' ? '新建培训任务' : '编辑培训任务'} goBack={handleGoBack} />
<div className='box'> <div className='box'>
<div className='show-tips'> <div className='show-tips'>
<ShowTips message='请遵守国家相关规定,切勿上传低俗色情、暴力恐怖、谣言诈骗、侵权盗版等相关内容,小麦企学院保有依据国家规定及平台规则进行处理的权利' /> <ShowTips message='请遵守国家相关规定,切勿上传低俗色情、暴力恐怖、谣言诈骗、侵权盗版等相关内容,小麦企学院保有依据国家规定及平台规则进行处理的权利' />
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
} }
.finish-standard__warp { .finish-standard__warp {
margin-top: 24px; margin-top: 24px;
margin-bottom: 60px;
.module-title { .module-title {
height: 22px; height: 22px;
......
...@@ -441,7 +441,7 @@ function TrainList(props) { ...@@ -441,7 +441,7 @@ function TrainList(props) {
props.onChange(_query); props.onChange(_query);
} }
function handleCreatePlan() { function handleCreateTask() {
window.RCHistory.push({ window.RCHistory.push({
pathname: '/create-train-task?type=add', pathname: '/create-train-task?type=add',
}); });
...@@ -451,7 +451,7 @@ function TrainList(props) { ...@@ -451,7 +451,7 @@ function TrainList(props) {
<div className='train-list-page'> <div className='train-list-page'>
<div className='header-line'> <div className='header-line'>
{(User.getUserRole() === 'CloudManager' || User.getUserRole() === 'StoreManager') && ( {(User.getUserRole() === 'CloudManager' || User.getUserRole() === 'StoreManager') && (
<Button type='primary' className='mr12' onClick={handleCreatePlan}> <Button type='primary' className='mr12' onClick={handleCreateTask}>
新建培训任务 新建培训任务
</Button> </Button>
)} )}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment