Commit 486955e2 by yuananting

Merge branch 'feature/yuananting/20210801/task-center' into dev

parents 5314960e 65495721
......@@ -2,7 +2,7 @@
* @Author: yuananting
* @Date: 2021-07-29 13:57:03
* @LastEditors: yuananting
* @LastEditTime: 2021-08-14 14:30:11
* @LastEditTime: 2021-08-16 17:03:17
* @Description: 任务中心-培训任务-新建页面
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
......@@ -22,8 +22,6 @@ import TaskCenterService from '@/domains/task-center-domain/TaskCenterService';
import Bus from '@/core/bus';
import $ from 'jquery';
function AddTrainTask() {
const type = getParameterByName('type');
const taskId = getParameterByName('taskId');
......@@ -52,16 +50,12 @@ function AddTrainTask() {
},
];
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);
const [finishStandard, setFinishStandard] = useState(DEFAULT_FINISH_STANDARD); // 完成百分比
const [percentCompleteLive, setPercentCompleteLive] = useState(80); // 完成百分比
const [percentCompleteVideo, setPercentCompleteVideo] = useState(80); // 完成百分比
const [percentCompletePicture, setPercentCompletePicture] = useState(80); // 完成百分比
const [expiredCourseList, setExpiredCourseList] = useState([]); // 失效课程
const [startCheck, setStartCheck] = useState(false); // 是否启动校验
const basicInfoRef = useRef(null);
......@@ -97,7 +91,7 @@ function AddTrainTask() {
trainingStageList,
},
} = res;
const _assignList = assignList
? assignList.map((item) => {
item.checkedId = item.assignId;
......@@ -106,17 +100,17 @@ function AddTrainTask() {
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,
......@@ -129,28 +123,25 @@ function AddTrainTask() {
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,
});
setPercentCompleteLive(percentCompleteLive);
setPercentCompleteVideo(percentCompleteVideo);
setPercentCompletePicture(percentCompletePicture);
setStageList(_stageList);
introduceInfo && getTextDetail('introduce', introduceInfo);
});
}
// 获取培训任务失效的课程
function getTrainingCourseAutoCancel() {
TaskCenterService.getTrainingCourseAutoCancel({ taskId }).then((res) => {
......@@ -159,7 +150,7 @@ function AddTrainTask() {
}
}
}, [taskId, type]);
// 获取培训目的内容
function getTextDetail(key, info) {
if (info.mediaType === 'RESOURCE_ID') {
......@@ -216,8 +207,6 @@ function AddTrainTask() {
function submitRemote(introduceId, issue) {
const { assignList, endTime, helpStoreUserIds, learnType, startTime, taskName, timeType, coverId } = basicInfo;
const { percentCompleteLive, percentCompletePicture, percentCompleteVideo } = finishStandard;
let _scheduleMediaRequests = [];
if (coverId) {
......@@ -294,7 +283,6 @@ function AddTrainTask() {
function handleSubmit(issue) {
setStartCheck(true);
const { taskName, assignList } = basicInfo;
const { percentCompleteLive, percentCompleteVideo, percentCompletePicture } = finishStandard;
if (!taskName) {
activeStep === 'TRAIN_CONTENT' && setActiveStep('BASIC_INFO');
......@@ -382,7 +370,19 @@ function AddTrainTask() {
if (field === 'stageList') {
setStageList(value);
} else {
setFinishStandard(value);
switch (field) {
case 'percentCompleteLive':
setPercentCompleteLive(value);
break;
case 'percentCompleteVideo':
setPercentCompleteVideo(value);
break;
case 'percentCompletePicture':
setPercentCompletePicture(value);
break;
default:
break;
}
}
}
......@@ -417,7 +417,9 @@ function AddTrainTask() {
basicInfo={basicInfo}
expiredCourseList={expiredCourseList}
startCheck={startCheck}
finishStandard={finishStandard}
percentCompleteLive={percentCompleteLive}
percentCompleteVideo={percentCompleteVideo}
percentCompletePicture={percentCompletePicture}
onChange={handleChangeStageInfo}
/>
)}
......
......@@ -2,7 +2,7 @@
* @Author: yuananting
* @Date: 2021-07-30 16:33:58
* @LastEditors: yuananting
* @LastEditTime: 2021-08-14 15:21:50
* @LastEditTime: 2021-08-16 17:06:01
* @Description: 任务中心-培训任务-新建-培训内容
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
......@@ -52,7 +52,9 @@ class TrainContent extends Component {
this.state = {
basicInfo: props.basicInfo,
stageList: props.stageList,
finishStandard: props.finishStandard,
percentCompleteLive: props.percentCompleteLive,
percentCompleteVideo: props.percentCompleteVideo,
percentCompletePicture: props.percentCompletePicture,
showCourseDrawer: false,
showExamDrawer: false,
selectedStageIndex: 0,
......@@ -423,7 +425,6 @@ class TrainContent extends Component {
};
changePercentComplete = (e, field) => {
const { finishStandard } = this.state;
let _percentComplete = 0;
const value = e.target.value.replace(/\D/g, '');
if (value > 100) {
......@@ -437,21 +438,27 @@ class TrainContent extends Component {
}
this.setState(
{
finishStandard: {
...finishStandard,
[field]: _percentComplete,
},
[field]: _percentComplete,
},
() => {
this.props.onChange('finishStandard', this.state.finishStandard);
this.props.onChange(field, _percentComplete);
}
);
};
render() {
const { stageList, showCourseDrawer, showExamDrawer, expiredCourseList, showStandardDetail, finishStandard, basicInfo, selectedStageIndex } = this.state;
console.log('finishStandard==================>', finishStandard);
const { percentCompleteLive, percentCompleteVideo, percentCompletePicture } = finishStandard;
const {
stageList,
showCourseDrawer,
showExamDrawer,
expiredCourseList,
showStandardDetail,
basicInfo,
selectedStageIndex,
percentCompleteLive,
percentCompleteVideo,
percentCompletePicture,
} = this.state;
const { startCheck } = this.props;
......
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