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
fb8a622e
Commit
fb8a622e
authored
Dec 30, 2019
by
wangxuelai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
''
parent
66e9983a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
350 additions
and
151 deletions
+350
-151
index.html
index.html
+1
-1
constants.js
src/common/constants.js
+2
-2
CourseChart.js
src/components/CourseChart.js
+91
-77
HdqrHeader.js
src/components/HdqrHeader.js
+147
-0
SjdHeader.js
src/components/SjdHeader.js
+1
-3
schoollist.js
src/models/schoollist.js
+2
-0
webapp.js
src/models/webapp.js
+1
-0
HdqrsPage.js
src/pages/HdqrsPage.js
+2
-2
index.js
src/pages/classmgt/index.js
+17
-9
index.js
src/pages/classrecord/index.js
+10
-1
index.js
src/pages/index/index.js
+47
-43
index.less
src/pages/index/index.less
+4
-4
index.js
src/pages/institutions/personmanage/index.js
+11
-3
index.js
src/pages/student/index.js
+2
-3
index.js
src/pages/teacherinfo/index.js
+10
-1
index.js
src/utils/index.js
+2
-2
No files found.
index.html
View file @
fb8a622e
...
...
@@ -18,6 +18,6 @@
</head>
<body>
<div
id=
"root"
></div>
<script
src=
"dist/main.js?15776
78431815
"
charset=
"utf-8"
></script>
<script
src=
"dist/main.js?15776
84940782
"
charset=
"utf-8"
></script>
</body>
</html>
\ No newline at end of file
src/common/constants.js
View file @
fb8a622e
export
default
{
rootMap
:
{
'sjd/indexstaic'
:
[
'planSchedule'
],
// 首页: 一键排课
'sjd/student'
:
[
'addStudent'
,
'enrolCode'
,
'bundlingCode'
,
'checkClass'
,
'addCourseHours'
,
'removeCourseHours'
],
// 学员管理: 添加,自助报名二维码,自助绑定二维码,选班,续课,消课
'sjd/student'
:
[
'addStudent'
,
'enrolCode'
,
'bundlingCode'
,
'checkClass'
,
'addCourseHours'
,
'removeCourseHours'
,
'delstudent'
],
// 学员管理: 添加,自助报名二维码,自助绑定二维码,选班,续课,消课
'sjd/studentinfo'
:
[
'editStudent'
,
'addCourseHours'
,
'changeCourse'
,
'quitCourse'
],
// 学生详情: 续课,转课,退课
'sjd/classmgt'
:
[
'addClass'
,
'allWindingUp'
,
'callStudent'
,
'singleWindingUp'
],
// 班级管理: 添加班级,批量结业,点名,结业
'sjd/classmgt'
:
[
'addClass'
,
'allWindingUp'
,
'callStudent'
,
'singleWindingUp'
,
'classjoin'
,
'thememgt'
,
'delclass'
],
// 班级管理: 添加班级,批量结业,点名,结业
'sjd/classdetail'
:
[
'editClass'
,
'planAllSchedule'
,
'removeAllPlans'
,
'editPlan'
,
'removePlan'
,
'addClassStudent'
,
'changeClass'
,
'removeClass'
,
'removeStudent'
,
'noPlanCallStudent'
,
'callStudnet'
,
'changeCourse'
,
'removeSchedule'
],
// 班级详情: 编辑班级,一键排课,批量删除,编辑,删除,添加学员,调班,移除,未排课直接点评,点名,调课,删除点名
'sjd/teacher'
:
[
'addTeacher'
,
'onOroff'
],
// 老师管理: 添加,启动状态
'sjd/teacherinfo'
:
[
'editTeacher'
,
'callStudnet'
,
'changeCourse'
,
'removePlan'
],
// 老师详情: 编辑,点名,调课,删除
...
...
src/components/CourseChart.js
View file @
fb8a622e
This diff is collapsed.
Click to expand it.
src/components/HdqrHeader.js
0 → 100644
View file @
fb8a622e
import
React
from
'react'
;
import
{
connect
}
from
'dva'
;
import
{
Icon
,
Layout
,
Menu
,
Dropdown
,
Modal
,
Breadcrumb
,
Divider
}
from
'antd'
;
import
SjdHeaderStyle
from
'./SjdHeader.less'
;
import
{
LocalStorage
,
imagify
}
from
'../../src/utils/index'
;
const
{
Header
}
=
Layout
;
class
HdqrHeader
extends
React
.
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
// teachername: LocalStorage.getItem('schoolinfo') ? LocalStorage.getItem('schoolinfo').school_teacher.nickname : '',
// role: LocalStorage.getItem('role'),
};
}
componentWillMount
()
{
}
toggle
=
()
=>
{
const
{
dispatch
,
collapsed
,
screenIsBig
}
=
this
.
props
;
dispatch
({
type
:
'webapp/menucollapse'
,
payload
:
{
collapsed
:
!
collapsed
,
},
});
}
signOut
=
({
item
,
key
,
keyPath
})
=>
{
const
{
dispatch
}
=
this
.
props
;
switch
(
key
)
{
case
'1'
:
dispatch
({
type
:
'webapp/signout'
,
payload
:
{
dispatch
,
},
});
break
;
case
'0'
:
dispatch
({
type
:
'webapp/shiftSchool'
,
});
break
;
default
:
console
.
log
(
'default'
);
break
;
}
}
routeChange
=
(
path
)
=>
{
const
{
dispatch
}
=
this
.
props
;
if
(
window
.
location
.
hash
.
indexOf
(
path
)
==
1
)
{
return
;
}
dispatch
({
type
:
'webapp/changeRoute'
,
payload
:
{
path
,
},
});
}
render
()
{
const
{
collapsed
,
schoolUserInfo
,
screenIsBig
,
breadcrumbList
,
isDepartment
,
userInfo
,
departMentInfo
,
}
=
this
.
props
;
// const { teachername, role } = this.state;
const
menu
=
(
<
Menu
onClick
=
{
this
.
signOut
}
>
<
Menu
.
Item
key
=
"0"
>
<
span
>
切换校区
<
/span
>
<
/Menu.Item
>
<
Menu
.
Item
key
=
"1"
>
<
span
>
退出
<
/span
>
<
/Menu.Item
>
<
/Menu
>
);
let
headerPdl
=
0
;
if
(
screenIsBig
)
{
headerPdl
=
!
collapsed
?
224
:
104
;
}
else
{
headerPdl
=
20
;
}
return
(
<
Header
className
=
{
SjdHeaderStyle
.
header
}
style
=
{{
background
:
'#fff'
,
padding
:
0
,
paddingLeft
:
headerPdl
,
paddingRight
:
24
,
position
:
'fixed'
,
width
:
'100%'
,
left
:
0
,
top
:
0
,
zIndex
:
99
,
height
:
'60px'
,
lineHeight
:
'60px'
,
}}
>
<
Icon
className
=
{
SjdHeaderStyle
.
trigger
}
type
=
{
collapsed
?
'menu-unfold'
:
'menu-fold'
}
onClick
=
{
this
.
toggle
}
/
>
{
breadcrumbList
.
length
==
1
&&
<
div
className
=
{
SjdHeaderStyle
.
breadbox
}
>
<
div
className
=
{
`
${
SjdHeaderStyle
.
breaditembold
}
${
SjdHeaderStyle
.
breaditem
}
`
}
onClick
=
{()
=>
{
this
.
routeChange
(
breadcrumbList
[
0
].
path
);
}}
>
{
breadcrumbList
[
0
].
name
}
<
/div
>
<
/div
>
}
{
breadcrumbList
.
length
>
1
&&
<
div
className
=
{
SjdHeaderStyle
.
breadbox
}
>
{
breadcrumbList
.
map
((
ele
,
index
)
=>
(
<
div
key
=
{
index
}
className
=
{
`
${(
index
+
1
)
==
breadcrumbList
.
length
?
SjdHeaderStyle
.
breaditembold
:
''
}
${
SjdHeaderStyle
.
breaditem
}
`
}
onClick
=
{()
=>
{
this
.
routeChange
(
ele
.
path
);
}}
>
{
ele
.
name
}
&
nbsp
;
&
nbsp
;{
index
<
breadcrumbList
.
length
-
1
?
'/'
:
''
}
&
nbsp
;
&
nbsp
;
<
/div
>
))}
<
/div
>
}
<
div
className
=
{
SjdHeaderStyle
.
accountoperate
}
>
<
Dropdown
overlay
=
{
menu
}
>
<
div
className
=
{
SjdHeaderStyle
.
accountoperate
}
>
<
div
className
=
{
SjdHeaderStyle
.
useraccount
}
>
<
span
className
=
{
SjdHeaderStyle
.
usermobile
}
>
{(
departMentInfo
&&
departMentInfo
.
title
)
||
''
}
(总部)
<
/span
>
<
Icon
type
=
"caret-down"
className
=
{
SjdHeaderStyle
.
caretDown
}
/
>
<
/div
>
<
/div
>
<
/Dropdown
>
<
/div
>
<
/Header
>
);
}
}
HdqrHeader
.
propTypes
=
{
};
function
mapStateToProps
(
state
)
{
const
{
collapsed
,
departMentInfo
,
screenIsBig
,
breadcrumbList
,
isDepartment
,
userInfo
,
}
=
state
.
webapp
;
return
{
collapsed
,
departMentInfo
,
screenIsBig
,
breadcrumbList
,
isDepartment
,
userInfo
,
};
}
export
default
connect
(
mapStateToProps
)(
HdqrHeader
);
src/components/SjdHeader.js
View file @
fb8a622e
...
...
@@ -8,8 +8,6 @@ class SjdMenu extends React.Component {
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
teachername
:
LocalStorage
.
getItem
(
'schoolinfo'
)
?
LocalStorage
.
getItem
(
'schoolinfo'
).
school_teacher
.
nickname
:
''
,
role
:
LocalStorage
.
getItem
(
'role'
),
};
}
componentWillMount
()
{
...
...
@@ -60,7 +58,6 @@ class SjdMenu extends React.Component {
const
{
collapsed
,
schoolUserInfo
,
screenIsBig
,
breadcrumbList
,
isDepartment
,
userInfo
,
}
=
this
.
props
;
const
{
teachername
,
role
}
=
this
.
state
;
const
menu
=
(
<
Menu
onClick
=
{
this
.
signOut
}
>
<
Menu
.
Item
key
=
"0"
>
...
...
@@ -77,6 +74,7 @@ class SjdMenu extends React.Component {
}
else
{
headerPdl
=
20
;
}
console
.
log
(
isDepartment
,
'isDepartment'
);
return
(
<
Header
className
=
{
SjdHeaderStyle
.
header
}
...
...
src/models/schoollist.js
View file @
fb8a622e
...
...
@@ -184,10 +184,12 @@ export default {
*
goDepartmentSystem
({
payload
},
{
call
,
put
,
select
})
{
const
{
department
,
type
}
=
payload
;
LocalStorage
.
setItem
(
'departmentid'
,
department
.
id
);
LocalStorage
.
setItem
(
'departMentInfo'
,
department
);
yield
put
({
type
:
'webapp/updateState'
,
payload
:
{
departmentid
:
department
.
id
,
departMentInfo
:
department
,
},
});
yield
call
(
commonAjax
.
schoolLoginTime
,
{
...
...
src/models/webapp.js
View file @
fb8a622e
...
...
@@ -28,6 +28,7 @@ export default {
locationQuery
:
{},
userInfo
:
LocalStorage
.
getItem
(
'user'
)
||
{},
// 登录状态的缓存 判断是否登录
schoolUserInfo
:
{},
// 在校区中展示的在该校区下的老师信息
departMentInfo
:
LocalStorage
.
getItem
(
'departMentInfo'
)
||
{},
sid
:
LocalStorage
.
getItem
(
'sid'
)
||
0
,
departmentid
:
LocalStorage
.
getItem
(
'departmentid'
)
||
0
,
numberToChinese
:
[
'一'
,
'二'
,
'三'
,
'四'
,
'五'
,
'六'
,
'七'
,
'八'
,
'九'
,
'十'
,
'十一'
],
...
...
src/pages/HdqrsPage.js
View file @
fb8a622e
...
...
@@ -4,7 +4,7 @@ import { Layout, Modal, Button, Drawer, Icon } from 'antd';
import
{
Redirect
}
from
'dva/router'
;
import
SjdIndexStyle
from
'./SjdIndex.less'
;
import
HdqrsMenu
from
'../components/HdqrsMenu'
;
import
SjdHeader
from
'../components/Sjd
Header'
;
import
HdqrHeader
from
'../components/Hdqr
Header'
;
import
{
LocalStorage
,
SessionStorage
,
...
...
@@ -90,7 +90,7 @@ class SjdIndex extends React.Component {
<
/Sider
>
}
<
Layout
>
<
Sjd
Header
/>
<
Hdqr
Header
/>
<
Content
className
=
{
SjdIndexStyle
.
content
}
style
=
{{
...
...
src/pages/classmgt/index.js
View file @
fb8a622e
...
...
@@ -632,14 +632,20 @@ class ClassMgtForm extends React.Component {
render
:
(
text
,
record
,
index
)
=>
{
return
(
<
div
className
=
{
pageStyle
.
tableoperatebox
}
>
<
span
className
=
"hreflink"
onClick
=
{()
=>
this
.
goClassInvite
(
record
)}
>
班级报名
<
/span
>
<
span
className
=
{
pageStyle
.
divideline
}
>|<
/span
>
{
hasBtnPower
(
'sjd/classmgt'
,
'classjoin'
)
&&
<
span
>
<
span
className
=
"hreflink"
onClick
=
{()
=>
this
.
goClassInvite
(
record
)}
>
班级报名
<
/span
>
<
span
className
=
{
pageStyle
.
divideline
}
>|<
/span
>
<
/span
>
}
<
span
className
=
"hreflink"
onClick
=
{()
=>
this
.
goClassDetail
(
record
,
2
)}
>
学员管理
<
/span
>
<
span
className
=
{
pageStyle
.
divideline
}
>|<
/span
>
<
BtnPermission
btnId
=
"30002"
>
<
span
className
=
"hreflink"
onClick
=
{()
=>
this
.
goThemeMgt
(
record
)}
>
主题管理
<
/span
>
<
span
className
=
{
pageStyle
.
divideline
}
>|<
/span
>
<
/BtnPermission
>
{
hasBtnPower
(
'sjd/classmgt'
,
'thememgt'
)
&&
<
BtnPermission
btnId
=
"30002"
>
<
span
className
=
"hreflink"
onClick
=
{()
=>
this
.
goThemeMgt
(
record
)}
>
主题管理
<
/span
>
<
span
className
=
{
pageStyle
.
divideline
}
>|<
/span
>
<
/BtnPermission
>
}
{
hasBtnPower
(
'sjd/classmgt'
,
'callStudent'
)
&&
<
span
>
<
span
className
=
"hreflink"
onClick
=
{()
=>
this
.
goClassDetail
(
record
,
3
)}
>
点名
<
/span
>
...
...
@@ -658,9 +664,11 @@ class ClassMgtForm extends React.Component {
<
span
className
=
{
pageStyle
.
divideline
}
>|<
/span
>
<
/BtnPermission
>
}
<
BtnPermission
btnId
=
"30005"
>
<
span
className
=
"hreflink"
onClick
=
{()
=>
this
.
deleteClass
(
record
)}
>
删除
<
/span
>
<
/BtnPermission
>
{
hasBtnPower
(
'sjd/classmgt'
,
'delclass'
)
&&
<
BtnPermission
btnId
=
"30005"
>
<
span
className
=
"hreflink"
onClick
=
{()
=>
this
.
deleteClass
(
record
)}
>
删除
<
/span
>
<
/BtnPermission
>
}
<
/div
>
);
},
...
...
src/pages/classrecord/index.js
View file @
fb8a622e
...
...
@@ -348,7 +348,16 @@ class StaticCenter extends React.Component {
render
:
(
text
,
record
,
index
)
=>
{
return
(
<
div
className
=
{
pageStyle
.
tableoperatebox
}
>
{
!
record
.
call_time
?
<
div
className
=
{
pageStyle
.
sizeColor1
}
onClick
=
{()
=>
this
.
toCallStudents
(
record
)}
><
Badge
color
=
"#FF3434"
/>
未点名
<
/div> : <div className={pageStyle.sizeColor2} onClick={
()
=> this.toEditCallStudents
(
record
)
}><Badge color="#7BD762" /
>
已点名
<
/div>
}
{
hasBtnPower
(
'sjd/teacherinfo'
,
'callStudnet'
)
&&
<
span
>
{
!
record
.
call_time
?
<
div
className
=
{
pageStyle
.
sizeColor1
}
onClick
=
{()
=>
this
.
toCallStudents
(
record
)}
><
Badge
color
=
"#FF3434"
/>
未点名
<
/div> : <div className={pageStyle.sizeColor2} onClick={
()
=> this.toEditCallStudents
(
record
)
}><Badge color="#7BD762" /
>
已点名
<
/div>
}
<
/span
>
}
{
!
hasBtnPower
(
'sjd/teacherinfo'
,
'callStudnet'
)
&&
<
span
>
{
!
record
.
call_time
?
<
div
className
=
{
pageStyle
.
sizeColor1
}
><
Badge
color
=
"#FF3434"
/>
未点名
<
/div> : <div className={pageStyle.sizeColor2}><Badge color="#7BD762" /
>
已点名
<
/div>
}
<
/span
>
}
<
/div
>
);
},
...
...
src/pages/index/index.js
View file @
fb8a622e
...
...
@@ -1042,64 +1042,67 @@ class StaticCenter extends React.Component {
<
/div
>
<
/div
>
<
/Col
>
<
Col
xs
=
{{
span
:
24
}}
sm
=
{{
span
:
24
}}
lg
=
{{
span
:
24
}}
xl
=
{{
span
:
8
}}
md
=
{{
span
:
24
}}
>
<
div
className
=
{
pageStyle
.
makebox
}
>
<
div
className
=
{
pageStyle
.
cardtitle
}
>
<
span
>
工作台
<
/span
>
<
/div
>
<
div
className
=
{
pageStyle
.
makeitembox
}
>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{
this
.
createTheme
}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeiconb
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_1.png`
}
alt
=
""
/>
{
hasBtnPower
(
'sjd/indexstaic'
,
'planSchedule'
)
&&
<
Col
xs
=
{{
span
:
24
}}
sm
=
{{
span
:
24
}}
lg
=
{{
span
:
24
}}
xl
=
{{
span
:
8
}}
md
=
{{
span
:
24
}}
>
<
div
className
=
{
pageStyle
.
makebox
}
>
<
div
className
=
{
pageStyle
.
cardtitle
}
>
<
span
>
工作台
<
/span
>
<
/div
>
<
div
className
=
{
pageStyle
.
makeitembox
}
>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{
this
.
createTheme
}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeiconb
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_1.png`
}
alt
=
""
/>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
新建作业打卡
<
/div
>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
新建作业打卡
<
/div
>
<
/div
>
<
/div
>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{
this
.
createCalendarTheme
}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeicona
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_2.png`
}
alt
=
""
/>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{
this
.
createCalendarTheme
}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeicona
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_2.png`
}
alt
=
""
/>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
新建日历打卡
<
/div
>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
新建日历打卡
<
/div
>
<
/div
>
<
/div
>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{
this
.
createUnlockTheme
}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeiconc
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_3.png`
}
alt
=
""
/>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{
this
.
createUnlockTheme
}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeiconc
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_3.png`
}
alt
=
""
/>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
新建闯关打卡
<
/div
>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
新建闯关打卡
<
/div
>
<
/div
>
<
/div
>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{()
=>
this
.
setModal1Visible
(
true
)}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeiconc
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_4.png`
}
alt
=
""
/>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{()
=>
this
.
setModal1Visible
(
true
)}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeiconc
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_4.png`
}
alt
=
""
/>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
学员报名
<
/div
>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
学员报名
<
/div
>
<
/div
>
<
/div
>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{
this
.
createClass
}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeiconc
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_5.png`
}
alt
=
""
/>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{
this
.
createClass
}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeiconc
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_5.png`
}
alt
=
""
/>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
新建班级
<
/div
>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
新建班级
<
/div
>
<
/div
>
<
/div
>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{
this
.
createCourse
}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeiconc
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_6.png`
}
alt
=
""
/>
<
div
className
=
{
pageStyle
.
makeitem
}
onClick
=
{
this
.
createCourse
}
>
<
div
className
=
{
pageStyle
.
makeitemLeft
}
>
<
div
className
=
{
`
${
pageStyle
.
themeicon
}
${
pageStyle
.
themeiconc
}
`
}
>
<
img
src
=
{
`
${
__IMGCDN__
}
index/theme_6.png`
}
alt
=
""
/>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
新建课程
<
/div
>
<
/div
>
<
div
className
=
{
pageStyle
.
themetypename
}
>
新建课程
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/
div
>
<
/Col
>
<
/
Col
>
}
<
/Row
>
{
hasBtnPower
(
'sjd/indexstaic'
,
'planSchedule'
)
&&
<
Card
className
=
{
pageStyle
.
informList
}
bodyStyle
=
{{
borderRadius
:
6
,
padding
:
'36px 0'
}}
bordered
=
{
false
}
>
<
Row
gutter
=
{
24
}
>
<
Col
xs
=
{{
span
:
8
,
offset
:
0
}}
sm
=
{{
span
:
8
,
offset
:
0
}}
md
=
{{
span
:
4
,
offset
:
1
}}
lg
=
{{
span
:
4
,
offset
:
0
}}
xl
=
{{
span
:
4
,
offset
:
0
}}
>
...
...
@@ -1155,6 +1158,7 @@ class StaticCenter extends React.Component {
}
<
/Row
>
<
/Card
>
}
<
/div
>
<
Row
gutter
=
{
24
}
>
<
Col
span
=
{
24
}
>
...
...
src/pages/index/index.less
View file @
fb8a622e
...
...
@@ -13,9 +13,9 @@
height: 147px;
background-color: #fff;
border-radius: 6px;
&:nth-child(1) {
margin-bottom: 14px;
}
margin-bottom: 14px;
// &:nth-child(1) {
//
}
&:nth-child(2) {
.staticitembox {
.staticitem {
...
...
@@ -206,7 +206,7 @@
}
.informList {
border-radius: 6px;
margin
: 14px 0
;
margin
-bottom: 14px
;
.informItem {
cursor: pointer;
text-align: center;
...
...
src/pages/institutions/personmanage/index.js
View file @
fb8a622e
...
...
@@ -284,7 +284,16 @@ class PersonManageForm extends React.Component {
render
:
(
text
,
record
,
index
)
=>
{
return
(
<
div
>
<
Switch
disabled
=
{(
!
btnPermission
(
userPermission
,
70002
))
||
record
.
type
===
2
}
checked
=
{
text
===
1
}
onChange
=
{()
=>
this
.
changeStatus
(
record
)}
/> {text === 1
?
'启用' : '禁用'
}
{
hasBtnPower
(
'sjd/institutions'
,
'editInstitutions'
)
&&
<
div
>
<
Switch
disabled
=
{(
!
btnPermission
(
userPermission
,
70002
))
||
record
.
type
===
2
}
checked
=
{
text
===
1
}
onChange
=
{()
=>
this
.
changeStatus
(
record
)}
/> {text === 1
?
'启用' : '禁用'
}
<
/div
>
}
{
!
hasBtnPower
(
'sjd/institutions'
,
'editInstitutions'
)
&&
<
div
>
<
Switch
disabled
checked
=
{
text
===
1
}
/> {text === 1
?
'启用' : '禁用'
}
<
/div
>
}
<
/div
>
);
},
...
...
@@ -297,7 +306,7 @@ class PersonManageForm extends React.Component {
return
(
<
div
>
{
record
.
type
===
1
?
hasBtnPower
(
'sjd/institutions'
,
'editInstitutions'
)
&&
record
.
type
===
1
?
<
div
>
<
BtnPermission
btnId
=
"70001"
>
<
span
className
=
"hreflink"
onClick
=
{()
=>
this
.
editPeople
(
record
)}
>
编辑
<
/span
>
...
...
@@ -308,7 +317,6 @@ class PersonManageForm extends React.Component {
<
/BtnPermission
>
<
/div> : '-
'
}
<
/div
>
);
},
...
...
src/pages/student/index.js
View file @
fb8a622e
...
...
@@ -940,14 +940,13 @@ class StudentMgt extends React.Component {
<
/BtnPermission
>
}
{
record
.
status
===
1
&&
hasBtnPower
(
'sjd/student'
,
'delstudent'
)
&&
record
.
status
===
1
&&
<
BtnPermission
btnId
=
"20004"
>
<
span
className
=
"hreflink"
onClick
=
{()
=>
this
.
toDeleteModal
(
record
)}
>
删除
<
/span
>
<
span
className
=
{
pageStyle
.
divideline
}
>|<
/span
>
<
/BtnPermission
>
}
{
record
.
status
===
2
&&
hasBtnPower
(
'sjd/student'
,
'delstudent'
)
&&
record
.
status
===
2
&&
<
span
>
<
span
className
=
"hreflink"
onClick
=
{()
=>
this
.
toInSchoolStudent
(
record
)}
>
转为在读学员
<
/span
>
<
span
className
=
{
pageStyle
.
divideline
}
>|<
/span
>
...
...
src/pages/teacherinfo/index.js
View file @
fb8a622e
...
...
@@ -610,7 +610,16 @@ class teachersForm extends React.Component {
render
:
(
text
,
record
,
index
)
=>
{
return
(
<
div
className
=
{
pageStyle
.
tableoperatebox
}
>
{
!
record
.
call_time
?
<
div
className
=
{
pageStyle
.
sizeColor1
}
onClick
=
{()
=>
this
.
toCallStudents
(
record
)}
><
Badge
color
=
"#FF3434"
/>
未点名
<
/div> : <div className={pageStyle.sizeColor2} onClick={
()
=> this.toEditCallStudents
(
record
)
}><Badge color="#7BD762" /
>
已点名
<
/div>
}
{
hasBtnPower
(
'sjd/teacherinfo'
,
'callStudnet'
)
&&
<
span
>
{
!
record
.
call_time
?
<
div
className
=
{
pageStyle
.
sizeColor1
}
onClick
=
{()
=>
this
.
toCallStudents
(
record
)}
><
Badge
color
=
"#FF3434"
/>
未点名
<
/div> : <div className={pageStyle.sizeColor2} onClick={
()
=> this.toEditCallStudents
(
record
)
}><Badge color="#7BD762" /
>
已点名
<
/div>
}
<
/span
>
}
{
!
hasBtnPower
(
'sjd/teacherinfo'
,
'callStudnet'
)
&&
<
span
>
{
!
record
.
call_time
?
<
div
className
=
{
pageStyle
.
sizeColor1
}
><
Badge
color
=
"#FF3434"
/>
未点名
<
/div> : <div className={pageStyle.sizeColor2}><Badge color="#7BD762" /
>
已点名
<
/div>
}
<
/span
>
}
{
/* {!record.call_time ? <div>未点名</div> : <span className="hreflink" >sss已点名</span>} */
}
<
/div
>
);
...
...
src/utils/index.js
View file @
fb8a622e
...
...
@@ -936,10 +936,10 @@ function btnPermission(menus, btnId) {
const
role
=
LocalStorage
.
getItem
(
'role'
);
if
(
role
==
2
)
{
flag
=
true
;
}
if
(
role
==
5
)
{
flag
=
true
;
}
else
if
(
menus
.
indexOf
(
btnId
)
==
-
1
)
{
flag
=
false
;
}
else
{
flag
=
true
;
}
return
flag
;
}
...
...
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