Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
B
biz.qingxiao.com
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangxuelai
biz.qingxiao.com
Commits
7a32c8d5
Commit
7a32c8d5
authored
Oct 11, 2019
by
wangxuelai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
'最新代码提交'
parent
30e3b286
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1065 additions
and
167 deletions
+1065
-167
index.html
index.html
+2
-2
menuconfig.js
src/common/menuconfig.js
+1
-1
clockmgt.js
src/models/clockmgt.js
+350
-53
webapp.js
src/models/webapp.js
+22
-0
clockitem.js
src/pages/clockmgt/clockitem.js
+15
-15
clockitem.less
src/pages/clockmgt/clockitem.less
+48
-2
commenteditorbox.js
src/pages/clockmgt/commenteditorbox.js
+44
-8
commenteditorbox.less
src/pages/clockmgt/commenteditorbox.less
+20
-1
drawimg.js
src/pages/clockmgt/drawimg.js
+422
-52
drawimg.less
src/pages/clockmgt/drawimg.less
+32
-10
index.js
src/pages/clockmgt/index.js
+102
-18
GoodsAddModal.less
src/pages/integralmanage/storesetting/GoodsAddModal.less
+7
-5
No files found.
index.html
View file @
7a32c8d5
...
...
@@ -11,7 +11,7 @@
<script src="js/console-polyfill.js"></script>
<![endif]-->
<script
charset=
"utf-8"
src=
"https://map.qq.com/api/js?v=2.exp&key=XSZBZ-5LHCV-5I2P7-UQHPW-6456F-JBB3B"
></script>
<link
href=
"/dist/index.css?1570
61837219
4"
rel=
"stylesheet"
>
<link
href=
"/dist/index.css?1570
80472656
4"
rel=
"stylesheet"
>
<script
src=
"/lib/vendor.dll.js?3"
charset=
"utf-8"
></script>
<script
src=
"https://cdn.img.shangjiadao.cn/qingxiao/biz/js/console-polyfill.js?3"
charset=
"utf-8"
></script>
<script
src=
"https://cdn.img.shangjiadao.cn/qingxiao/biz/js/es6-shim.min.js?3"
charset=
"utf-8"
></script>
...
...
@@ -24,7 +24,7 @@
<body>
<div
id=
"root"
></div>
<script
src=
"/dist/index.js?1570
61837219
4"
charset=
"utf-8"
></script>
<script
src=
"/dist/index.js?1570
80472656
4"
charset=
"utf-8"
></script>
</body>
</html>
\ No newline at end of file
src/common/menuconfig.js
View file @
7a32c8d5
...
...
@@ -37,7 +37,7 @@ export default {
activeurl
:
`
${
__IMGCDN__
}
menu/classactive.png`
,
notactiveurl
:
`
${
__IMGCDN__
}
menu/class.png`
,
path
:
'/sjd/classmgt'
,
relativePath
:
[
'/sjd/classmgt'
,
'/sjd/classdetail/:classid'
,
'/sjd/newtheme/jobclock/:id'
,
'/sjd/newtheme/calendarclock/:id'
,
'/sjd/newtheme/jobclock/:id/:isCopy'
,
'/sjd/newtheme/calendarclock/:id/:isCopy'
,
'/sjd/thememgt/:classid'
],
relativePath
:
[
'/sjd/classmgt'
,
'/sjd/classdetail/:classid'
,
'/sjd/newtheme/jobclock/:id'
,
'/sjd/newtheme/calendarclock/:id'
,
'/sjd/newtheme/jobclock/:id/:isCopy'
,
'/sjd/newtheme/calendarclock/:id/:isCopy'
,
'/sjd/thememgt/:classid'
,
'/sjd/clockmgt/:themetype/:classid/:themeid'
],
},
{
id
:
'4'
,
...
...
src/models/clockmgt.js
View file @
7a32c8d5
This diff is collapsed.
Click to expand it.
src/models/webapp.js
View file @
7a32c8d5
...
...
@@ -460,6 +460,9 @@ export default {
}
const
thememgtactive
=
pathToRegexp
(
'/sjd/thememgt/:classid'
).
exec
(
pathname
);
if
(
thememgtactive
)
{
dispatch
({
type
:
'clockmgt/pageInit'
,
});
dispatch
({
type
:
'thememgt/querythemelist'
,
payload
:
{
...
...
@@ -655,6 +658,25 @@ export default {
}
const
clockmgtactive
=
pathToRegexp
(
'/sjd/clockmgt/:themetype/:classid/:themeid'
).
exec
(
pathname
);
if
(
clockmgtactive
)
{
dispatch
({
type
:
'webapp/updateState'
,
payload
:
{
breadcrumbList
:
[
{
path
:
'sjd/classmgt'
,
name
:
'班级管理'
,
},
{
path
:
pathname
,
name
:
'主题管理'
,
},
{
path
:
pathname
,
name
:
'点评'
,
},
],
},
});
dispatch
({
type
:
'clockmgt/enterclockmgt'
,
payload
:
{
...
...
src/pages/clockmgt/clockitem.js
View file @
7a32c8d5
...
...
@@ -128,21 +128,27 @@ class ClockItem extends React.Component {
<
div
className
=
{
pageStyle
.
teacherassesmenttext
}
>
<
span
className
=
{
pageStyle
.
teacherassesment
}
dangerouslySetInnerHTML
=
{{
__html
:
formatTextB
(
clock
.
review
[
1
].
content
)
}}
/
>
<
/div
>
{
clock
.
review
[
1
].
audio
&&
clock
.
review
[
1
].
audio
.
length
>
0
&&
{
((
clock
.
review
[
1
].
audio
&&
clock
.
review
[
1
].
audio
.
length
>
0
)
||
clock
.
review
[
1
].
audio
.
src
)
&&
<
div
className
=
{
pageStyle
.
teacheraudiobox
}
>
{
/*
<div className={pageStyle.teacheraudio} onClick={() => playAudio(clock.review[1].audio)}>
<span>播放</span>
<span>{voiceTimeFormat(clock.review[1].audio.duration)}</span>
</div>
*/
}
<
audio
controls
id
=
{
clock
.
review
[
1
].
audio
.
src
}
src
=
{
audioorigin
(
clock
.
review
[
1
].
audio
.
src
)}
/
>
<
/div
>
}
{
clock
.
review
[
1
].
img
&&
clock
.
review
[
1
].
img
.
length
>
0
&&
<
div
className
=
{
pageStyle
.
teacherimgbox
}
>
{
clock
.
review
[
1
].
img
.
map
((
ele
,
index
)
=>
(
<
img
className
=
{
pageStyle
.
teacherimg
}
onClick
=
{()
=>
imgPreview
(
index
,
clock
.
review
[
1
].
img
.
filter
(
ele
=>
ele
.
type
==
'image'
))}
src
=
{
imagify
(
ele
.
src
,
'image/resize,w_320/format,jpg/quality,q_50'
)}
alt
=
""
/>
<
div
>
{
ele
.
type
==
'image'
&&
<
img
className
=
{
pageStyle
.
teacherimg
}
onClick
=
{()
=>
imgPreview
(
index
-
clock
.
review
[
1
].
img
.
filter
(
ele
=>
ele
.
type
==
'video'
).
length
,
clock
.
review
[
1
].
img
.
filter
(
ele
=>
ele
.
type
==
'image'
))}
src
=
{
imagify
(
ele
.
src
,
'image/resize,w_320/format,jpg/quality,q_50'
)}
alt
=
""
/>
}
{
ele
.
type
==
'video'
&&
<
div
className
=
{
pageStyle
.
teachervideoitem
}
onClick
=
{()
=>
playVideo
(
ele
.
src
)}
>
<
img
className
=
{
pageStyle
.
teachervideoposter
}
src
=
{
videoPoster
(
ele
.
src
,
'image/resize,w_320/format,jpg/quality,q_50'
)}
alt
=
{
ele
.
src
}
/
>
<
div
className
=
{
pageStyle
.
playbox
}
>
<
Icon
type
=
"caret-right"
className
=
{
pageStyle
.
playbtn
}
/
>
<
/div
>
<
/div
>
}
<
/div
>
))}
<
/div
>
}
...
...
@@ -154,14 +160,8 @@ class ClockItem extends React.Component {
<
span
className
=
{
pageStyle
.
teachername
}
>
私密点评:
<
/span
>
<
span
className
=
{
pageStyle
.
teacherassesment
}
dangerouslySetInnerHTML
=
{{
__html
:
formatTextB
(
clock
.
review
[
2
].
content
)
}}
/
>
<
/div
>
{
clock
.
review
[
2
].
audio
&&
clock
.
review
[
2
].
audio
.
length
>
0
&&
{
((
clock
.
review
[
2
].
audio
&&
clock
.
review
[
2
].
audio
.
length
>
0
)
||
clock
.
review
[
2
].
audio
.
src
)
&&
<
div
className
=
{
pageStyle
.
teacheraudiobox
}
>
{
/*
<div className={pageStyle.teacheraudio} onClick={() => playAudio(clock.review[2].audio)}>
<span>播放</span>
<span>{voiceTimeFormat(clock.review[2].audio.duration)}</span>
</div>
*/
}
<
audio
controls
id
=
{
clock
.
review
[
2
].
audio
.
src
}
src
=
{
audioorigin
(
clock
.
review
[
2
].
audio
.
src
)}
/
>
<
/div
>
}
...
...
src/pages/clockmgt/clockitem.less
View file @
7a32c8d5
.clockitem {
padding: 21px 0 20px 0;
position: relative;
audio {
&:focus {
outline: none;
}
}
.flagstamp {
width: 80px;
height: 80px;
...
...
@@ -102,18 +107,21 @@
.audioitem {
width: 284px;
height: 38px;
background:linear-gradient(270deg,rgba(24,144,255,1) 0%,rgba(75,169,255,1) 100%);
//
background:linear-gradient(270deg,rgba(24,144,255,1) 0%,rgba(75,169,255,1) 100%);
border-radius: 19px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 28px 0 15px;
//
padding: 0 28px 0 15px;
line-height: 1;
color: #fff;
margin-bottom: 24px;
&:last-child {
margin-bottom: 0;
}
&:focus {
border: none;
}
}
}
.operatebox {
...
...
@@ -205,6 +213,44 @@
}
}
.teacherimgbox {
display: flex;
align-items: center;
flex-wrap: nowrap;
.teachervideoitem {
margin: 0 10px 10px 0;
width: 70px;
height: 70px;
border-radius: 4px;
position: relative;
cursor: pointer;
overflow: hidden;
.playbox {
position: absolute;
top: 50%;
left: 50%;
z-index: 2;
color: #fff;
text-align: center;
width: 40px;
height: 40px;
border-radius: 50%;
background-color: rgba(0,0,0,0.5);
display: flex;
align-items: center;
justify-content: center;
margin-left: -20px;
margin-top: -20px;
.playbtn {
color:#fff;
font-size: 24px;
}
}
.teachervideoposter {
width: 70px;
height: 70px;
display: block;
}
}
.teacherimg {
// display: block;
margin: 0 10px 10px 0;
...
...
src/pages/clockmgt/commenteditorbox.js
View file @
7a32c8d5
...
...
@@ -2,7 +2,7 @@ import React from 'react';
import
{
connect
}
from
'dva'
;
import
{
Table
,
Button
,
Rate
,
Input
,
Switch
,
Modal
,
Icon
}
from
'antd'
;
import
pageStyle
from
'./commenteditorbox.less'
;
import
{
imagify
}
from
'../../utils/index'
;
import
{
imagify
,
videoPoster
,
audioorigin
}
from
'../../utils/index'
;
import
{
addShortWords
}
from
'../../services/clockmgt'
;
const
{
TextArea
}
=
Input
;
...
...
@@ -23,6 +23,9 @@ class CommentEditorBox extends React.Component {
const
{
goDrawImage
}
=
this
.
props
;
goDrawImage
(
clockDetail
);
}
imageError
=
(
e
)
=>
{
e
.
target
.
src
=
'https://cdn.img.shangjiadao.cn/qingxiao/daka/images/2c/common/videodefault.png'
;
}
render
()
{
const
{
commentParams
,
...
...
@@ -52,6 +55,11 @@ class CommentEditorBox extends React.Component {
gobackDraw
,
delTeacherCommentImage
,
clockdetail
,
imgPreview
,
playVideo
,
commentuploadVideo
,
delPriviteAudio
,
delCommonAudio
,
}
=
this
.
props
;
return
(
<
div
className
=
{
pageStyle
.
commenteditorbox
}
id
=
"commenteditorbox"
style
=
{
style
}
>
...
...
@@ -109,14 +117,34 @@ class CommentEditorBox extends React.Component {
<
div
className
=
{
pageStyle
.
uploadimgbox
}
>
<
div
className
=
{
pageStyle
.
uploadimglist
}
>
{
commentParams
.
common
.
img
.
map
((
ele
,
index
)
=>
(
<
div
className
=
{
pageStyle
.
uploadimgitem
}
>
<
img
alt
=
{
ele
.
src
}
className
=
{
pageStyle
.
teacheruploadimg
}
src
=
{
imagify
(
ele
.
src
)}
/
>
<
div
className
=
{
pageStyle
.
delmask
}
onClick
=
{()
=>
delTeacherCommentImage
(
index
)}
>
删除
<
/div
>
<
div
>
{
ele
.
type
==
'image'
&&
<
div
className
=
{
pageStyle
.
uploadimgitem
}
>
<
img
alt
=
{
ele
.
src
}
onClick
=
{()
=>
imgPreview
(
index
-
commentParams
.
common
.
img
.
filter
(
ele
=>
ele
.
type
==
'video'
).
length
,
commentParams
.
common
.
img
.
filter
(
ele
=>
ele
.
type
==
'image'
))}
className
=
{
pageStyle
.
teacheruploadimg
}
src
=
{
imagify
(
ele
.
src
)}
/
>
<
div
className
=
{
pageStyle
.
delmask
}
onClick
=
{()
=>
delTeacherCommentImage
(
index
)}
>
删除
<
/div
>
<
/div
>
}
{
ele
.
type
==
'video'
&&
<
div
className
=
{
pageStyle
.
uploadimgitem
}
>
<
div
className
=
{
pageStyle
.
playbox
}
onClick
=
{()
=>
playVideo
(
ele
.
src
)}
>
<
Icon
type
=
"caret-right"
className
=
{
pageStyle
.
playbtn
}
/
>
<
/div
>
<
img
onError
=
{
this
.
imageError
}
alt
=
{
ele
.
src
}
className
=
{
pageStyle
.
teacheruploadimg
}
src
=
{
videoPoster
(
ele
.
src
,
'image/resize,w_320/format,jpg/quality,q_50'
)}
/
>
<
div
className
=
{
pageStyle
.
delmask
}
onClick
=
{()
=>
delTeacherCommentImage
(
index
)}
>
删除
<
/div
>
<
/div
>
}
<
/div
>
))}
<
/div
>
{((
commentParams
.
common
.
audio
&&
commentParams
.
common
.
audio
.
length
>
0
)
||
commentParams
.
common
.
audio
.
src
)
&&
<
div
className
=
{
pageStyle
.
teacheraudiobox
}
style
=
{{
display
:
'flex'
,
alignItems
:
'center'
,
marginBottom
:
'12px'
}}
>
<
audio
controls
id
=
{
commentParams
.
privite
.
audio
.
src
}
src
=
{
audioorigin
(
commentParams
.
privite
.
audio
.
src
)}
/
>
<
a
style
=
{{
marginLeft
:
'10px'
}}
href
=
"javascript:;"
onClick
=
{
delCommonAudio
}
>
删除
<
/a
>
<
/div
>
}
<
div
className
=
{
pageStyle
.
operatebox
}
>
<
div
className
=
{
pageStyle
.
uploadimg
}
><
input
type
=
"file"
id
=
"teachercommentupload"
className
=
{
pageStyle
.
fileuploadinput
}
onChange
=
{
commentuploadImg
}
accept
=
"image/*"
/>
添加图片
<
/div
>
<
div
className
=
{
pageStyle
.
uploadimg
}
><
input
type
=
"file"
id
=
"teachervideoupload"
className
=
{
pageStyle
.
fileuploadinput
}
onChange
=
{
commentuploadVideo
}
accept
=
"video/*"
/>
添加视频
<
/div
>
{
commentBoxtype
==
1
&&
clockdetail
&&
JSON
.
parse
(
clockdetail
.
video
).
length
>
0
&&
JSON
.
parse
(
clockdetail
.
video
).
filter
(
ele
=>
ele
.
type
==
'image'
).
length
>
0
&&
<
div
className
=
{
pageStyle
.
uploadimg
}
onClick
=
{()
=>
this
.
goDrawImage
(
clockdetail
)}
>
标记
<
/div
>
}
...
...
@@ -140,9 +168,17 @@ class CommentEditorBox extends React.Component {
<
div
className
=
{
pageStyle
.
privitetitletext
}
>
悄悄话
<
/div
>
<
/div
>
{
privitecommentOpen
&&
<
div
className
=
{
pageStyle
.
textareabox
}
>
<
TextArea
maxlength
=
{
500
}
autosize
=
{()
=>
true
}
value
=
{
commentParams
.
privite
.
content
}
className
=
{
pageStyle
.
textareabox
}
onChange
=
{
priviteContentChange
}
style
=
{{
minHeight
:
'100px'
}}
/
>
<
div
className
=
{
pageStyle
.
wordcount
}
>
{
commentParams
.
privite
.
content
.
length
}
/500</
div
>
<
div
>
<
div
className
=
{
pageStyle
.
textareabox
}
>
<
TextArea
maxlength
=
{
500
}
autosize
=
{()
=>
true
}
value
=
{
commentParams
.
privite
.
content
}
className
=
{
pageStyle
.
textareabox
}
onChange
=
{
priviteContentChange
}
style
=
{{
minHeight
:
'100px'
}}
/
>
<
div
className
=
{
pageStyle
.
wordcount
}
>
{
commentParams
.
privite
.
content
.
length
}
/500</
div
>
<
/div
>
{((
commentParams
.
privite
.
audio
&&
commentParams
.
privite
.
audio
.
length
>
0
)
||
commentParams
.
privite
.
audio
.
src
)
&&
<
div
className
=
{
pageStyle
.
teacheraudiobox
}
style
=
{{
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
audio
controls
id
=
{
commentParams
.
privite
.
audio
.
src
}
src
=
{
audioorigin
(
commentParams
.
privite
.
audio
.
src
)}
/
>
<
a
style
=
{{
marginLeft
:
'10px'
}}
href
=
"javascript:;"
onClick
=
{
delPriviteAudio
}
>
删除
<
/a
>
<
/div
>
}
<
/div
>
}
<
/div
>
...
...
@@ -153,7 +189,7 @@ class CommentEditorBox extends React.Component {
width
=
{
337
}
onCancel
=
{
closeTempUpdate
}
>
{
copyTempArr
.
map
(
ele
=>
<
Input
onChange
=
{
e
=>
tempTitleChange
(
e
,
ele
.
id
)}
className
=
{
pageStyle
.
tempTitleInput
}
value
=
{
ele
.
title
}
/>
)
}
{
copyTempArr
.
map
(
ele
=>
<
Input
maxLength
=
{
4
}
onChange
=
{
e
=>
tempTitleChange
(
e
,
ele
.
id
)}
className
=
{
pageStyle
.
tempTitleInput
}
value
=
{
ele
.
title
}
/>
)
}
<
Button
type
=
"primary"
className
=
{
pageStyle
.
singlesave
}
onClick
=
{()
=>
saveSubjectReviewTemplate
(
1
)}
>
保存应用到当前班级
<
/Button
>
<
Button
className
=
{
pageStyle
.
allsave
}
onClick
=
{()
=>
saveSubjectReviewTemplate
(
2
)}
>
保存应用到所有班级
<
/Button
>
<
/Modal
>
...
...
src/pages/clockmgt/commenteditorbox.less
View file @
7a32c8d5
.commenteditorbox {
// border-left: 1px solid rgba(0,0,0,0.05);
// border-bottom: 1px solid rgba(0,0,0,0.05);
audio {
outline: none;
}
.gobackdraw {
display: flex;
justify-content: space-between;
...
...
@@ -96,7 +99,7 @@
.uploadimglist {
margin-bottom: 10px;
display: flex;
flex-wrap:
no
wrap;
flex-wrap: wrap;
}
.uploadimgitem {
width: 100px;
...
...
@@ -105,6 +108,7 @@
margin: 0 10px 10px 0;
overflow: hidden;
position: relative;
cursor: pointer;
&:hover {
.delmask {
bottom: 0;
...
...
@@ -128,6 +132,21 @@
transition: 0.2s;
cursor: pointer;
}
.playbox {
width: 43px;
height: 43px;
background-color: rgba(0,0,0,0.3);
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 20px;
}
}
.operatebox {
display: flex;
...
...
src/pages/clockmgt/drawimg.js
View file @
7a32c8d5
This diff is collapsed.
Click to expand it.
src/pages/clockmgt/drawimg.less
View file @
7a32c8d5
...
...
@@ -3,15 +3,18 @@
.drawModalContent {
position: relative;
margin: 0 auto 40px;
.textconfirmbtnbox {
position: absolute;
z-index: 6;
top: 0;
right: 0;
}
.canvastextFloat {
position: absolute;
z-index: 5;
z-index: 15;
.textconfirmbtnbox {
position: absolute;
z-index: 6;
left: 0;
bottom: -24px;
width: 100%;
display: flex;
justify-content: space-around;
}
.textsizechange {
width: 10px;
height: 10px;
...
...
@@ -49,7 +52,7 @@
border: 1px dashed red;
word-break: break-all;
padding: 10px;
background-color:
transparent
;
background-color:
rgba(255, 255, 255, 0.6)
;
// position: fixed;
// top: 0;
// left: 0;
...
...
@@ -63,6 +66,24 @@
}
.drawimgcanvas {
position: relative;
z-index: 10;
}
.drawcirclecanvas {
position: absolute;
left: 0;
top: 0;
z-index: 3;
}
.drawrectcanvas {
position: absolute;
left: 0;
top: 0;
z-index: 4;
}
.drawarrowcanvas {
position: absolute;
left: 0;
top: 0;
z-index: 2;
}
.imageLoading {
...
...
@@ -79,8 +100,9 @@
.imagegallery {
display: flex;
align-items: flex-end;
margin-bottom: 24px;
padding-left: 24px;
margin: 24px 24px 0;
// padding-left: 24px;
overflow-x: scroll;
.imageitembox {
position: relative;
width: 64px;
...
...
src/pages/clockmgt/index.js
View file @
7a32c8d5
...
...
@@ -247,6 +247,36 @@ class ClockMgt extends React.Component {
},
});
}
singlecommentuploadVideo
=
(
e
)
=>
{
const
{
dispatch
}
=
this
.
props
;
dispatch
({
type
:
'clockmgt/queryvideosignature'
,
payload
:
{
files
:
e
.
target
,
uploadtype
:
'singlecommentuploadVideo'
,
},
});
}
quickcommentuploadVideo
=
(
e
)
=>
{
const
{
dispatch
}
=
this
.
props
;
dispatch
({
type
:
'clockmgt/queryvideosignature'
,
payload
:
{
files
:
e
.
target
,
uploadtype
:
'quickcommentuploadVideo'
,
},
});
}
batchcommentuploadVideo
=
(
e
)
=>
{
const
{
dispatch
}
=
this
.
props
;
dispatch
({
type
:
'clockmgt/queryvideosignature'
,
payload
:
{
files
:
e
.
target
,
uploadtype
:
'batchcommentuploadVideo'
,
},
});
}
quickcommentuploadImg
=
(
e
)
=>
{
const
{
dispatch
}
=
this
.
props
;
dispatch
({
...
...
@@ -622,23 +652,43 @@ class ClockMgt extends React.Component {
saveSubjectReviewTemplate
=
(
type
)
=>
{
// type 1应用到当前班级 2 应用到所有班级
const
{
dispatch
}
=
this
.
props
;
Modal
.
confirm
({
title
:
'将覆盖原有打分维度'
,
content
:
'您确定这样做吗?'
,
onOk
()
{
dispatch
({
type
:
'clockmgt/saveSubjectReviewTemplate'
,
payload
:
{
type
,
callBack
()
{
dispatch
({
type
:
'clockmgt/tempApplyAllClass'
,
});
if
(
type
==
1
)
{
Modal
.
confirm
({
title
:
'将覆盖原有打分维度'
,
content
:
'您确定这样做吗?'
,
onOk
()
{
dispatch
({
type
:
'clockmgt/saveSubjectReviewTemplate'
,
payload
:
{
type
,
callBack
()
{
dispatch
({
type
:
'clockmgt/tempApplyAllClass'
,
});
},
},
},
});
},
});
});
},
});
}
else
if
(
type
==
2
)
{
Modal
.
confirm
({
title
:
'是否将该模板应用到该校区的所有班级'
,
content
:
'您确定这样做吗?'
,
onOk
()
{
dispatch
({
type
:
'clockmgt/saveSubjectReviewTemplate'
,
payload
:
{
type
,
callBack
()
{
dispatch
({
type
:
'clockmgt/tempApplyAllClass'
,
});
},
},
});
},
});
}
}
closeDrawImageModal
=
()
=>
{
const
{
dispatch
,
tabIndex
}
=
this
.
props
;
...
...
@@ -712,6 +762,24 @@ class ClockMgt extends React.Component {
},
});
}
delPriviteAudio
=
(
type
)
=>
{
const
{
tabIndex
,
dispatch
}
=
this
.
props
;
dispatch
({
type
:
'clockmgt/delPriviteAudio'
,
payload
:
{
type
,
},
});
}
delCommonAudio
=
(
type
)
=>
{
const
{
tabIndex
,
dispatch
}
=
this
.
props
;
dispatch
({
type
:
'clockmgt/delCommonAudio'
,
payload
:
{
type
,
},
});
}
render
()
{
const
{
themetype
,
...
...
@@ -759,6 +827,7 @@ class ClockMgt extends React.Component {
commentBoxtype
,
batchCommentImgObj
,
singleClock
,
quicktempScoreArr
,
}
=
this
.
props
;
return
(
<
div
className
=
{
`
${
pageStyle
.
classmgtcontainer
}
clockmgtcontainer`
}
>
...
...
@@ -801,7 +870,7 @@ class ClockMgt extends React.Component {
}
<
Col
span
=
{
20
}
>
{
themetype
==
1
&&
<
div
className
=
{
pageStyle
.
selectthemetitle
}
>
{
themeDetail
.
title
}
<
/div>
}
{
themetype
==
3
&&
<
div
className
=
{
pageStyle
.
selectthemetitle
}
>
第
{
unlockSubjectLocks
.
length
>
0
&&
unlockSubjectLocks
.
findIndex
(
ele
=>
ele
.
id
==
selectId
)
+
1
}
关:
{
unlockSubjectLocks
.
length
>
0
&&
unlockSubjectLocks
.
find
(
ele
=>
ele
.
id
==
selectId
).
title
}
<
/div>
}
{
themetype
==
3
&&
<
div
className
=
{
pageStyle
.
selectthemetitle
}
>
第
{
unlockSubjectLocks
.
length
>
0
&&
unlockSubjectLocks
.
findIndex
(
ele
=>
ele
.
id
==
selectId
)
+
1
}
关:
{
unlockSubjectLocks
.
length
>
0
&&
unlockSubjectLocks
.
find
(
ele
=>
ele
.
id
==
selectId
)
&&
unlockSubjectLocks
.
find
(
ele
=>
ele
.
id
==
selectId
)
.
title
}
<
/div>
}
{
themetype
==
2
&&
<
div
className
=
{
pageStyle
.
selectthemetitle
}
>
{
themeDetail
.
title
}
<
/div>
}
{
tabAClockCount
>
0
&&
<
div
className
=
{
pageStyle
.
clocklistbox
}
>
...
...
@@ -970,11 +1039,16 @@ class ClockMgt extends React.Component {
totempUpdate
=
{
this
.
totempUpdate
}
closeTempUpdate
=
{
this
.
closeTempUpdate
}
saveSubjectReviewTemplate
=
{
this
.
saveSubjectReviewTemplate
}
tempScoreArr
=
{
tempScoreArr
}
tempScoreArr
=
{
quick
tempScoreArr
}
commentBoxtype
=
{
commentBoxtype
}
delTeacherCommentImage
=
{
this
.
delQuickTeacherCommentImage
}
clockdetail
=
{
tabCClockDetail
}
goDrawImage
=
{
this
.
goDrawImage
}
imgPreview
=
{
this
.
imgPreview
}
playVideo
=
{
this
.
playVideo
}
commentuploadVideo
=
{
this
.
quickcommentuploadVideo
}
delPriviteAudio
=
{()
=>
this
.
delPriviteAudio
(
'quick'
)}
delCommonAudio
=
{()
=>
this
.
delCommonAudio
(
'quick'
)}
/
>
<
Row
type
=
"flex"
justify
=
"end"
className
=
{
pageStyle
.
quickcommentbox
}
>
<
Button
type
=
"primary"
style
=
{{
marginRight
:
'15px'
}}
onClick
=
{
this
.
quickCommentPost
}
>
{
quickCommentSubmiting
?
'点评中...'
:
'提交点评'
}
<
/Button
>
...
...
@@ -1024,6 +1098,11 @@ class ClockMgt extends React.Component {
delTeacherCommentImage
=
{
this
.
delSingleTeacherCommentImage
}
clockdetail
=
{
singleClock
}
goDrawImage
=
{
this
.
goDrawImage
}
imgPreview
=
{
this
.
imgPreview
}
playVideo
=
{
this
.
playVideo
}
commentuploadVideo
=
{
this
.
singlecommentuploadVideo
}
delPriviteAudio
=
{()
=>
this
.
delPriviteAudio
(
'single'
)}
delCommonAudio
=
{()
=>
this
.
delCommonAudio
(
'single'
)}
/
>
<
Row
type
=
"flex"
justify
=
"end"
className
=
{
pageStyle
.
quickcommentbox
}
>
<
Button
type
=
"primary"
style
=
{{
marginRight
:
'15px'
}}
onClick
=
{
this
.
singleCommentPost
}
loading
=
{
singleCommentSubmiting
}
>
{
singleCommentSubmiting
?
'点评中...'
:
'提交点评'
}
<
/Button
>
...
...
@@ -1068,6 +1147,9 @@ class ClockMgt extends React.Component {
batchCommentImgObj
=
{
batchCommentImgObj
}
gobackDraw
=
{
this
.
gobackDraw
}
delTeacherCommentImage
=
{
this
.
delBatchTeacherCommentImage
}
imgPreview
=
{
this
.
imgPreview
}
playVideo
=
{
this
.
playVideo
}
commentuploadVideo
=
{
this
.
batchcommentuploadVideo
}
/
>
<
Row
type
=
"flex"
justify
=
"end"
className
=
{
pageStyle
.
quickcommentbox
}
>
<
Button
type
=
"primary"
style
=
{{
marginRight
:
'15px'
}}
onClick
=
{
this
.
batchCommentPost
}
>
{
batchCommentSubmiting
?
'点评中...'
:
'提交点评'
}
<
/Button
>
...
...
@@ -1154,6 +1236,7 @@ function mapStateToProps(state) {
batchCommentImgObj
,
drawImageShow
,
commentBoxtype
,
quicktempScoreArr
,
}
=
state
.
clockmgt
;
const
{
audio
,
...
...
@@ -1206,6 +1289,7 @@ function mapStateToProps(state) {
batchCommentImgObj
,
drawImageShow
,
commentBoxtype
,
quicktempScoreArr
,
};
}
export
default
connect
(
mapStateToProps
)(
ClockMgt
);
...
...
src/pages/integralmanage/storesetting/GoodsAddModal.less
View file @
7a32c8d5
...
...
@@ -89,11 +89,13 @@
margin-bottom: 20px;
}
}
.ant-carousel .slick-slide {
text-align: center;
height: 92px;
overflow: hidden;
background-color: #D8D8D8;
.goodsaddModal {
.ant-carousel .slick-slide {
text-align: center;
height: 92px;
overflow: hidden;
background-color: #D8D8D8;
}
}
.ant-modal-body {
padding: 10px 24px;
...
...
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