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
31a08f4f
Commit
31a08f4f
authored
Aug 18, 2021
by
yuananting
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:新增取消返回弹窗提示
parent
720ddc60
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
75 additions
and
5 deletions
+75
-5
src/modules/task-center/train-task/AddTrainTask.jsx
+70
-5
src/modules/task-center/train-task/components/TrainList.less
+5
-0
No files found.
src/modules/task-center/train-task/AddTrainTask.jsx
View file @
31a08f4f
...
...
@@ -2,13 +2,13 @@
* @Author: yuananting
* @Date: 2021-07-29 13:57:03
* @LastEditors: yuananting
* @LastEditTime: 2021-08-1
7 19:14:5
5
* @LastEditTime: 2021-08-1
8 10:53:4
5
* @Description: 任务中心-培训任务-新建页面
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
import
React
,
{
useEffect
,
useState
,
useRef
}
from
'react'
;
import
{
Button
,
message
}
from
'antd'
;
import
{
Button
,
message
,
Modal
}
from
'antd'
;
import
ShowTips
from
'@/components/ShowTips'
;
import
Breadcrumbs
from
'@/components/Breadcrumbs'
;
import
BasicInfo
from
'./components/BasicInfo'
;
...
...
@@ -37,7 +37,7 @@ function AddTrainTask() {
helpStoreUserIds
:
[
{
checkedId
:
User
.
getStoreUserId
(),
checkedName
:
User
.
getStoreUserName
()
checkedName
:
User
.
getStoreUserName
()
,
},
],
// 指定协同者id
timeType
:
'FOREVER'
,
// 培训时间,默认永久有效
...
...
@@ -58,6 +58,15 @@ function AddTrainTask() {
},
];
const
DEFAULT_ORIGIN_STAGE_LIST
=
[
{
stageName
:
'阶段一'
,
contentList
:
[],
check
:
false
,
sequence
:
1
,
},
];
const
[
activeStep
,
setActiveStep
]
=
useState
(
'BASIC_INFO'
);
const
[
basicInfo
,
setBasicInfo
]
=
useState
(
DEFAULT_BASIC_INFO
);
const
[
stageList
,
setStageList
]
=
useState
(
DEFAULT_STAGE_LIST
);
...
...
@@ -67,6 +76,14 @@ function AddTrainTask() {
const
[
startCheck
,
setStartCheck
]
=
useState
(
false
);
// 是否启动校验
const
basicInfoRef
=
useRef
(
null
);
const
[
originBasicInfo
,
setOriginBasicInfo
]
=
useState
(
DEFAULT_BASIC_INFO
);
const
[
originStageList
,
setOriginStageList
]
=
useState
(
DEFAULT_ORIGIN_STAGE_LIST
);
const
[
originPercentCompleteLive
,
setOriginPercentCompleteLive
]
=
useState
(
80
);
// 完成百分比
const
[
originPercentCompleteVideo
,
setOriginPercentCompleteVideo
]
=
useState
(
80
);
// 完成百分比
const
[
originPercentCompletePicture
,
setOriginPercentCompletePicture
]
=
useState
(
80
);
// 完成百分比
useEffect
(()
=>
{
basicInfoRef
.
current
=
basicInfo
;
},
[
basicInfo
]);
...
...
@@ -137,13 +154,19 @@ function AddTrainTask() {
return
item
;
});
const
_originStageList
=
_stageList
.
map
((
item
)
=>
Object
.
assign
({},
item
));
const
introduceInfo
=
courseMediaVOS
.
filter
((
item
)
=>
item
.
contentType
===
'INTRO'
)[
0
];
setBasicInfo
({
...
basicInfoRef
.
current
,
...
ITEM_BASIC_INFO
,
loadintroduce
:
!
introduceInfo
});
setOriginBasicInfo
({
...
basicInfoRef
.
current
,
...
ITEM_BASIC_INFO
,
loadintroduce
:
!
introduceInfo
});
setPercentCompleteLive
(
percentCompleteLive
);
setPercentCompleteVideo
(
percentCompleteVideo
);
setPercentCompletePicture
(
percentCompletePicture
);
setOriginPercentCompleteLive
(
percentCompleteLive
);
setOriginPercentCompleteVideo
(
percentCompleteVideo
);
setOriginPercentCompletePicture
(
percentCompletePicture
);
setStageList
(
_stageList
);
setOriginStageList
(
_originStageList
);
introduceInfo
&&
getTextDetail
(
'introduce'
,
introduceInfo
);
});
...
...
@@ -165,6 +188,11 @@ function AddTrainTask() {
[
key
]:
res
,
[
`load
${
key
}
`
]:
true
,
});
setOriginBasicInfo
({
...
basicInfoRef
.
current
,
[
key
]:
res
,
[
`load
${
key
}
`
]:
true
,
});
},
});
}
else
if
(
info
.
mediaType
===
'TEXT'
)
{
...
...
@@ -173,6 +201,11 @@ function AddTrainTask() {
[
key
]:
info
.
mediaContent
,
[
`load
${
key
}
`
]:
true
,
});
setOriginBasicInfo
({
...
basicInfoRef
.
current
,
[
key
]:
info
.
mediaContent
,
[
`load
${
key
}
`
]:
true
,
});
}
}
...
...
@@ -348,9 +381,41 @@ function AddTrainTask() {
}
}
// 判断基本信息是否修改
function
isEqualBasicInfo
()
{
return
Object
.
entries
(
originBasicInfo
).
toString
()
===
Object
.
entries
(
basicInfo
).
toString
();
}
// 判断培训内容是否修改
function
isEqualStageList
()
{
return
JSON
.
stringify
(
originStageList
)
===
JSON
.
stringify
(
stageList
);
}
// 判断完成标准是否修改
function
isFinishedStandard
()
{
return
(
percentCompleteLive
===
originPercentCompleteLive
&&
percentCompleteVideo
===
originPercentCompleteVideo
&&
percentCompletePicture
===
originPercentCompletePicture
);
}
// 返回、取消
function
handleGoBack
()
{
window
.
RCHistory
.
goBack
();
if
(
!
isEqualBasicInfo
()
||
!
isEqualStageList
()
||
!
isFinishedStandard
())
{
Modal
.
confirm
({
title
:
'确认要返回吗?'
,
content
:
'返回后,本次编辑的内容将不被保存。'
,
okText
:
'确认返回'
,
cancelText
:
'留在本页'
,
icon
:
<
span
className=
'icon iconfont default-confirm-icon'
>

</
span
>,
onOk
:
()
=>
{
window
.
RCHistory
.
goBack
();
},
});
}
else
{
window
.
RCHistory
.
goBack
();
}
}
function
handleChangeBasicInfo
(
field
,
value
)
{
...
...
src/modules/task-center/train-task/components/TrainList.less
View file @
31a08f4f
...
...
@@ -71,6 +71,11 @@
cursor: pointer;
}
}
.disabled {
color: #ccc !important;
cursor: not-allowed !important;
pointer-events: none !important;
}
}
.tip {
...
...
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