Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
AppUms_Lecturer
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
tungnq
AppUms_Lecturer
Commits
a7d9962e
Commit
a7d9962e
authored
Sep 11, 2025
by
tungnq
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
UPDATE: Sửa đổi một số phần giao diện
parent
dbcbc48a
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
369 additions
and
266 deletions
+369
-266
TextField.js
src/components/Input/TextField.js
+2
-2
drawerView.js
src/routers/drawer_email/drawerView.js
+65
-85
style.js
src/routers/drawer_email/style.js
+2
-2
drawerView.js
src/routers/drawer_schedule/drawerView.js
+7
-7
style.js
src/screens/academic_advisor/list_student/detail/style.js
+9
-4
view.js
src/screens/academic_advisor/list_student/detail/view.js
+60
-62
style.js
src/screens/academic_advisor/list_student/style.js
+3
-1
view.js
src/screens/academic_advisor/list_student/view.js
+1
-0
view.js
src/screens/compensate/list/view.js
+22
-13
style.js
src/screens/compensate/style.js
+2
-1
view.js
src/screens/compensate/view.js
+4
-4
style.js
src/screens/home/style.js
+4
-2
style.js
src/screens/incoming_document/detail/style.js
+3
-3
view.js
src/screens/incoming_document/detail/view.js
+9
-9
style.js
src/screens/incoming_document/style.js
+1
-1
view.js
src/screens/incoming_document/view.js
+3
-3
view.js
src/screens/list_rest_report/add/view.js
+4
-4
view.js
src/screens/list_rest_report/detail/view.js
+16
-12
style.js
src/screens/list_rest_report/style.js
+2
-2
view.js
src/screens/list_rest_report/view.js
+3
-3
style.js
src/screens/list_send_document/style.js
+1
-1
view.js
src/screens/list_send_document/view.js
+3
-3
index.js
src/screens/notification/index.js
+1
-12
style.js
src/screens/notification/style.js
+3
-2
view.js
src/screens/notification/view.js
+5
-6
view.js
src/screens/roll_call/view.js
+6
-4
view.js
src/screens/sub_teacher/view.js
+128
-18
No files found.
src/components/Input/TextField.js
View file @
a7d9962e
...
...
@@ -26,7 +26,7 @@ const TextField = props => {
containerMarginBottom
,
containerBackgroundColor
,
width
,
fontFamily
=
R
.
fonts
.
font
SemiBold
,
fontFamily
=
R
.
fonts
.
font
Medium
,
}
=
props
;
const
renderMess
=
()
=>
{
if
(
value
&&
value
.
trim
().
length
>
0
)
return
`
${
title
}
không hợp lệ`
;
...
...
@@ -41,7 +41,7 @@ const TextField = props => {
color
:
R
.
colors
.
black
,
marginBottom
:
5
,
fontFamily
:
fontFamily
,
fontWeight
:
'
4
00'
,
fontWeight
:
'
6
00'
,
}}
>
{
title
?
title
:
''
}
...
...
src/routers/drawer_email/drawerView.js
View file @
a7d9962e
import
{
createDrawerNavigator
}
from
"@react-navigation/drawer"
;
import
R
from
"../../assets/R"
;
import
{
useEffect
,
useState
}
from
"react"
;
import
styles
from
"./style"
;
import
{
DeviceEventEmitter
,
Image
,
TouchableOpacity
,
View
}
from
"react-native"
;
import
*
as
ScreenName
from
"../ScreenNames"
;
import
SendEmail
from
"../../screens/email/send"
;
import
DeleteEmail
from
"../../screens/email/delete"
;
import
EmailHome
from
"../../screens/email"
;
import
CustomDrawerMailContent
from
"./itemDrawer"
;
import
{
connect
}
from
"react-redux"
;
import
{
createDrawerNavigator
}
from
'@react-navigation/drawer'
;
import
R
from
'../../assets/R'
;
import
{
useEffect
,
useState
}
from
'react'
;
import
styles
from
'./style'
;
import
{
DeviceEventEmitter
,
Image
,
TouchableOpacity
,
View
}
from
'react-native'
;
import
*
as
ScreenName
from
'../ScreenNames'
;
import
SendEmail
from
'../../screens/email/send'
;
import
DeleteEmail
from
'../../screens/email/delete'
;
import
EmailHome
from
'../../screens/email'
;
import
CustomDrawerMailContent
from
'./itemDrawer'
;
import
{
connect
}
from
'react-redux'
;
const
Drawer
=
createDrawerNavigator
();
const
IconMenu
=
R
.
images
.
icMenu
;
const
DrawerNavigatorEmailView
=
(
props
)
=>
{
const
DrawerNavigatorEmailView
=
props
=>
{
const
[
reload
,
setReload
]
=
useState
(
false
);
const
HeaderBackButton
=
({
onPress
,
canGoBack
})
=>
(
<
TouchableOpacity
style
=
{
styles
.
sizeBox
}
onPress
=
{
onPress
}
>
<
Image
source
=
{
R
.
images
.
icBack
}
style
=
{
styles
.
image
}
/
>
const
HeaderBackButton
=
({
onPress
,
canGoBack
})
=>
(
<
TouchableOpacity
style
=
{
styles
.
sizeBox
}
onPress
=
{
onPress
}
>
<
Image
source
=
{
R
.
images
.
icBack
}
style
=
{
styles
.
image
}
resizeMode
=
"contain"
/>
<
/TouchableOpacity
>
);
const
HeaderTitle
=
({
navigation
,
route
})
=>
{
const
HeaderTitle
=
({
navigation
,
route
})
=>
{
<
View
style
=
{
styles
.
headerTitleContainer
}
>
<
MenuButton
onPress
=
{()
=>
navigation
.
toggleDrawer
()}
/
>
<
View
style
=
{
styles
.
avatar
}
>
<
/View
>
<
/View
>
}
<
MenuButton
onPress
=
{()
=>
navigation
.
toggleDrawer
()}
/
>
<
View
style
=
{
styles
.
avatar
}
><
/View
>
<
/View>
;
};
useEffect
(()
=>
{
useEffect
(()
=>
{
const
setLanguageListener
=
DeviceEventEmitter
.
addListener
(
"setLanguage"
,
(
value
)
=>
{
setReload
(
(
prev
)
=>
!
prev
);
}
'setLanguage'
,
value
=>
{
setReload
(
prev
=>
!
prev
);
},
);
return
()
=>
{
setLanguageListener
.
remove
();};
return
()
=>
{
setLanguageListener
.
remove
();
};
},
[]);
const
MenuButton
=
({
onPress
})
=>
(
<
TouchableOpacity
style
=
{[
styles
.
sizeBox
,
{
marginLeft
:
10
}]}
onPress
=
{
onPress
}
>
<
Image
source
=
{
IconMenu
}
style
=
{
styles
.
iconMenu
}
tintColor
=
{
R
.
colors
.
gray2
}
/
>
const
MenuButton
=
({
onPress
})
=>
(
<
TouchableOpacity
style
=
{[
styles
.
sizeBox
,
{
marginLeft
:
10
}]}
onPress
=
{
onPress
}
>
<
Image
source
=
{
IconMenu
}
style
=
{
styles
.
iconMenu
}
resizeMode
=
"contain"
tintColor
=
{
R
.
colors
.
gray2
}
/
>
<
/TouchableOpacity
>
)
);
return
(
<
Drawer
.
Navigator
drawerContent
=
{(
drawerProps
)
=>
<
CustomDrawerMailContent
{...
drawerProps
}
/>
}
drawerContent
=
{
drawerProps
=>
(
<
CustomDrawerMailContent
{...
drawerProps
}
/
>
)}
initialRouteName
=
{
ScreenName
.
EMAIL
}
screenOptions
=
{({
navigation
,
route
})
=>
({
header
:
()
=>
(
screenOptions
=
{({
navigation
,
route
})
=>
({
header
:
()
=>
(
<
View
style
=
{
styles
.
headerTitleContainer
}
>
<
View
>
<
HeaderBackButton
onPress
=
{
()
=>
{
if
(
navigation
.
canGoBack
()){
onPress
=
{()
=>
{
if
(
navigation
.
canGoBack
())
{
navigation
.
pop
();
}
else
{
}
else
{
navigation
.
toggleDrawer
();
}
}
}
}}
canGoBack
=
{
navigation
.
canGoBack
()}
/
>
<
/View
>
<
View
style
=
{
styles
.
headerRight
}
>
<
MenuButton
onPress
=
{()
=>
navigation
.
toggleDrawer
()}
/
>
<
View
style
=
{
styles
.
avatar
}
><
/View
>
<
MenuButton
onPress
=
{()
=>
navigation
.
toggleDrawer
()}
/
>
<
View
style
=
{
styles
.
avatar
}
><
/View
>
<
/View
>
<
/View
>
),
headerStyle
:
{
backgroundColor
:
R
.
colors
.
blue
,
},
})}
>
})}
>
<
Drawer
.
Screen
name
=
{
ScreenName
.
EMAIL
}
component
=
{
EmailHome
}
options
=
{
{
drawerLabel
:
()
=>
null
,
options
=
{{
drawerLabel
:
()
=>
null
,
drawerIcon
:
()
=>
null
,
drawerItemStyle
:
{
height
:
0
},
}
}
drawerItemStyle
:
{
height
:
0
},
}}
/
>
<
Drawer
.
Screen
name
=
{
ScreenName
.
SENDEDEMAIL
}
component
=
{
SendEmail
}
options
=
{
{
drawerLabel
:
()
=>
null
,
options
=
{{
drawerLabel
:
()
=>
null
,
drawerIcon
:
()
=>
null
,
drawerItemStyle
:
{
height
:
0
},
}
}
drawerItemStyle
:
{
height
:
0
},
}}
/
>
<
Drawer
.
Screen
name
=
{
ScreenName
.
TRASHEMAIL
}
component
=
{
DeleteEmail
}
options
=
{
{
drawerLabel
:
()
=>
null
,
options
=
{{
drawerLabel
:
()
=>
null
,
drawerIcon
:
()
=>
null
,
drawerItemStyle
:
{
height
:
0
},
}
}
drawerItemStyle
:
{
height
:
0
},
}}
/
>
<
/Drawer.Navigator
>
);
};
const
mapStateToProps
=
(
state
)
=>
({
const
mapStateToProps
=
state
=>
({
user
:
state
.
userReducer
,
})
})
;
export
default
connect
(
mapStateToProps
,
{})(
DrawerNavigatorEmailView
);
src/routers/drawer_email/style.js
View file @
a7d9962e
...
...
@@ -6,7 +6,7 @@ const styles = StyleSheet.create({
marginLeft
:
15
},
image
:{
width
:
2
5
,
width
:
2
0
,
height
:
20
},
headerTitleContainer
:{
...
...
@@ -55,7 +55,7 @@ const styles = StyleSheet.create({
flexDirection
:
'row'
,
},
iconMenu
:{
width
:
2
5
,
width
:
2
0
,
height
:
20
,
},
avatar
:{
...
...
src/routers/drawer_schedule/drawerView.js
View file @
a7d9962e
...
...
@@ -30,7 +30,7 @@ const DrawerNavigatorView = (props) => {
style
=
{
styles
.
headerBackButton
}
onPress
=
{
onPress
}
>
<
Image
source
=
{
R
.
images
.
icBack
}
style
=
{{
width
:
25
,
height
:
20
}}
/
>
<
Image
source
=
{
R
.
images
.
icBack
}
resizeMode
=
"contain"
style
=
{{
width
:
20
,
height
:
20
}}
/
>
<
/TouchableOpacity
>
);
...
...
@@ -57,7 +57,7 @@ const DrawerNavigatorView = (props) => {
const
MenuButton
=
({
onPress
})
=>
(
<
TouchableOpacity
style
=
{
styles
.
menuButton
}
onPress
=
{
onPress
}
>
<
Image
source
=
{
IconMenu
}
style
=
{
styles
.
icon
}
tintColor
=
{
R
.
colors
.
white
}
/
>
<
Image
source
=
{
IconMenu
}
style
=
{
styles
.
icon
}
resizeMode
=
"contain"
tintColor
=
{
R
.
colors
.
white
}
/
>
<
/TouchableOpacity
>
);
...
...
@@ -86,7 +86,7 @@ const DrawerNavigatorView = (props) => {
<
Text
style
=
{
styles
.
headerTitleText
}
>
{
getHeaderTitle
()}
<
/Text
>
<
Image
source
=
{
R
.
images
.
icDrop
}
style
=
{{
width
:
25
,
height
:
20
}}
tintColor
=
{
R
.
colors
.
white
}
/
>
<
Image
source
=
{
R
.
images
.
icDrop
}
style
=
{{
width
:
25
,
height
:
20
}}
resizeMode
=
"contain"
tintColor
=
{
R
.
colors
.
white
}
/
>
<
/TouchableOpacity
>
);
};
...
...
@@ -125,7 +125,7 @@ const DrawerNavigatorView = (props) => {
headerRight
:
()
=>
(
<
View
style
=
{
styles
.
headerRightContainer
}
>
<
TouchableOpacity
style
=
{
styles
.
searchButton
}
>
<
Image
source
=
{
IconSearch
}
style
=
{
styles
.
iconSearch
}
tintColor
=
{
R
.
colors
.
white
}
/
>
<
Image
source
=
{
IconSearch
}
style
=
{
styles
.
iconSearch
}
resizeMode
=
"contain"
tintColor
=
{
R
.
colors
.
white
}
/
>
<
/TouchableOpacity
>
<
View
style
=
{
styles
.
avatarButton
}
/
>
<
/View
>
...
...
@@ -217,12 +217,12 @@ const styles = StyleSheet.create({
flexDirection
:
'row'
,
},
icon
:
{
width
:
2
5
,
width
:
2
0
,
height
:
20
,
},
iconSearch
:
{
width
:
2
5
,
height
:
2
5
,
width
:
2
0
,
height
:
2
0
,
},
});
...
...
src/screens/academic_advisor/list_student/detail/style.js
View file @
a7d9962e
...
...
@@ -5,11 +5,16 @@ const styles = StyleSheet.create({
flex
:
1
,
backgroundColor
:
R
.
colors
.
white
,
},
card
:{
borderRadius
:
10
,
padding
:
15
,
marginVertical
:
15
,
containerCard
:{
marginHorizontal
:
15
,
marginVertical
:
5
,
borderRadius
:
10
,
},
card
:{
borderBottomEndRadius
:
10
,
borderBottomStartRadius
:
10
,
paddingHorizontal
:
10
,
paddingVertical
:
5
,
backgroundColor
:
R
.
colors
.
white
,
shadowColor
:
R
.
colors
.
black
,
...
...
src/screens/academic_advisor/list_student/detail/view.js
View file @
a7d9962e
...
...
@@ -27,24 +27,24 @@ const DetailStudentView = props => {
<
View
style
=
{
styles
.
container
}
>
<
Header
title
=
{
'Nguyễn Minh Đức - 2598671'
}
isBack
/>
<
View
style
=
{
styles
.
body
}
>
<
View
style
=
{
styles
.
card
}
>
<
View
style
=
{
[
styles
.
card
,{
marginHorizontal
:
15
,
marginTop
:
10
,
borderRadius
:
10
}]
}
>
<
View
style
=
{
styles
.
containerText
}
>
<
View
style
=
{
styles
.
containerTextItemLeft
}
>
<
Text
style
=
{
styles
.
text
}
>
STC
TL
/
STC
CTDT
23
/
102
<
/Text
>
<
/View
>
<
View
style
=
{
styles
.
sizedBox
}
><
/View
>
<
View
style
=
{
styles
.
containerTextItemRight
}
>
<
Text
style
=
{[
styles
.
text
]}
>
T
ì
nh
tr
ạ
ng
:
<
Text
style
=
{[
styles
.
text
]}
>
T
ì
nh
tr
ạ
ng
:
{
' '
}
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
color
:
statusColor
}]}
>
{
student
.
status
}
<
/Text
>
<
Text
style
=
{[
styles
.
text
,{
color
:
statusColor
}]}
>
{
student
.
status
}
<
/Text
>
<
/View
>
<
/View
>
{
/*Row 2*/
}
<
View
style
=
{
styles
.
containerSubText
}
>
<
View
style
=
{
styles
.
containerSubTextItemLeft
}
>
<
Text
style
=
{[
styles
.
text
]}
>
Ng
à
y
sinh
:
Ng
à
y
sinh
:
{
' '
}
<
Text
style
=
{[
styles
.
text
,
...
...
@@ -57,7 +57,7 @@ const DetailStudentView = props => {
<
View
style
=
{
styles
.
sizedBox
}
><
/View
>
<
View
style
=
{
styles
.
containerSubTextItemRight
}
>
<
Text
style
=
{[
styles
.
text
]}
>
SDT
:
SDT
:
{
' '
}
<
Text
style
=
{[
styles
.
text
,
...
...
@@ -72,7 +72,7 @@ const DetailStudentView = props => {
<
View
style
=
{
styles
.
containerSubText
}
>
<
View
style
=
{
styles
.
containerSubTextItemLeft
}
>
<
Text
style
=
{[
styles
.
text
]}
>
Gi
ớ
i
t
í
nh
:
Gi
ớ
i
t
í
nh
:
{
' '
}
<
Text
style
=
{[
styles
.
text
,
...
...
@@ -85,7 +85,7 @@ const DetailStudentView = props => {
<
View
style
=
{
styles
.
sizedBox
}
><
/View
>
<
View
style
=
{
styles
.
containerSubTextItemRight
}
>
<
Text
style
=
{[
styles
.
text
]}
>
Đ
i
ể
m
trung
b
ì
nh
:
Đ
i
ể
m
trung
b
ì
nh
:
{
' '
}
<
Text
style
=
{[
styles
.
text
,
...
...
@@ -101,7 +101,7 @@ const DetailStudentView = props => {
<
View
style
=
{
styles
.
containerSubText
}
>
<
View
style
=
{
styles
.
containerSubTextItemLeft
}
>
<
Text
style
=
{[
styles
.
text
]}
>
Đ
i
ể
m
TB
h
ọ
c
k
ì
g
ầ
n
nh
ấ
t
:
Đ
i
ể
m
TB
h
ọ
c
k
ì
g
ầ
n
nh
ấ
t
:
{
' '
}
<
Text
style
=
{[
styles
.
text
,
...
...
@@ -116,7 +116,7 @@ const DetailStudentView = props => {
<
View
style
=
{
styles
.
containerSubText
}
>
<
View
style
=
{
styles
.
containerSubTextItemLeft
}
>
<
Text
style
=
{[
styles
.
text
]}
>
Đ
i
ể
m
r
è
n
luy
ệ
n
TB
:
Đ
i
ể
m
r
è
n
luy
ệ
n
TB
:
{
' '
}
<
Text
style
=
{[
styles
.
text
,
...
...
@@ -145,99 +145,97 @@ const DetailStudentView = props => {
<
/View
>
))}
<
/View
>
<
/View
>
<
Text
style
=
{
styles
.
textTitle
}
>
L
ị
ch
s
ử
t
ì
nh
tr
ạ
ng
c
ủ
a
sinh
vi
ê
n
<
/Text
>
<
View
style
=
{
styles
.
card
}
>
<
View
style
=
{
styles
.
containerText
}
>
<
View
style
=
{{
flex
:
4
}}
>
<
Text
style
=
{[
styles
.
textTitle
,{
marginTop
:
10
}]}
>
L
ị
ch
s
ử
t
ì
nh
tr
ạ
ng
c
ủ
a
sinh
vi
ê
n
<
/Text
>
<
View
style
=
{[
styles
.
containerCard
,
{
backgroundColor
:
getStatusColor
(
student
.
status
)}]}
>
<
Text
style
=
{[
{
fontSize
:
R
.
sizes
.
sm
,
fontFamily
:
R
.
fonts
.
fontRegular
,
fontWeight
:
'400'
,
color
:
R
.
colors
.
black
,
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'600'
,
color
:
R
.
colors
.
white
,
marginHorizontal
:
10
,
marginVertical
:
3
},
]}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
h
ọ
c
2024
Tr
ạ
ng
th
á
i
h
ọ
c
t
ậ
p
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
color
:
R
.
colors
.
white
}]}
>
{
student
.
status
}
<
/Text
>
<
/View
>
<
/Text
>
<
View
style
=
{
styles
.
card
}
>
<
View
style
=
{{
flex
:
3
,
flexDirection
:
'row'
}}
>
<
Text
style
=
{[
{
fontSize
:
R
.
sizes
.
sm
,
fontFamily
:
R
.
fonts
.
fontRegular
,
fontWeight
:
'4
00'
,
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'6
00'
,
color
:
R
.
colors
.
black
,
},
]}
>
T
ì
nh
tr
ạ
ng
:
H
ọ
c
k
ỳ
2
,
N
ă
m
h
ọ
c
2024
<
/Text
>
<
Text
style
=
{[
styles
.
text
,{
color
:
statusColor
}]}
>
{
student
.
status
}
<
/Text
>
<
/View
>
<
/View
>
<
View
style
=
{
styles
.
containerText
}
>
<
View
style
=
{{
flex
:
4
}}
>
<
Text
style
=
{[
{
fontSize
:
R
.
sizes
.
sm
,
fontFamily
:
R
.
fonts
.
fontRegular
,
fontWeight
:
'4
00'
,
color
:
R
.
colors
.
black
,
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'6
00'
,
color
:
R
.
colors
.
black
,
},
]}
>
Ng
à
y
quy
ế
t
đị
nh
:
{
student
.
date_student
}
Ng
à
y
quy
ế
t
đị
nh
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
fontFamily
:
R
.
fonts
.
fontRegular
,
fontWeight
:
'400'
},
]}
>
{
student
.
date_student
}
<
/Text
>
<
/Text
>
<
/View
>
<
/View
>
<
View
style
=
{
styles
.
containerText
}
>
<
View
style
=
{{
flex
:
4
}}
>
<
Text
style
=
{[
{
fontSize
:
R
.
sizes
.
sm
,
fontFamily
:
R
.
fonts
.
fontRegular
,
fontWeight
:
'4
00'
,
color
:
R
.
colors
.
black
,
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'6
00'
,
color
:
R
.
colors
.
black
,
},
]}
>
L
ý
do
:
{
student
.
date_student
}
L
ý
do
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
fontFamily
:
R
.
fonts
.
fontRegular
,
fontWeight
:
'400'
},
]}
>
{
student
.
date_student
}
<
/Text
>
<
/Text
>
<
/View
>
<
/View
>
<
View
style
=
{
styles
.
containerText
}
>
<
View
style
=
{{
flex
:
4
}}
>
<
Text
style
=
{[
{
fontSize
:
R
.
sizes
.
sm
,
fontFamily
:
R
.
fonts
.
fontRegular
,
fontWeight
:
'4
00'
,
color
:
R
.
colors
.
black
,
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'6
00'
,
color
:
R
.
colors
.
black
,
},
]}
>
Ghi
ch
ú
:
{
student
.
date_student
}
Ghi
ch
ú
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
fontFamily
:
R
.
fonts
.
fontRegular
,
fontWeight
:
'400'
},
]}
>
{
student
.
date_student
}
<
/Text
>
<
/Text
>
<
/View
>
<
/View
>
<
/View
>
<
/View
>
...
...
src/screens/academic_advisor/list_student/style.js
View file @
a7d9962e
...
...
@@ -14,7 +14,7 @@ const styles = StyleSheet.create({
marginVertical
:
15
,
backgroundColor
:
R
.
colors
.
white
,
flexDirection
:
'row'
,
maxHeight
:
41
,
height
:
35
},
boxIconSearch
:
{
maxWidth
:
35
,
...
...
@@ -28,6 +28,8 @@ const styles = StyleSheet.create({
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'500'
,
flex
:
1
,
margin
:
0
,
padding
:
0
,
},
//Filter
statusContainer
:
{
...
...
src/screens/academic_advisor/list_student/view.js
View file @
a7d9962e
...
...
@@ -139,6 +139,7 @@ const ListStudentView = props => {
vertical
keyExtractor
=
{(
item
,
index
)
=>
`
${
index
}
`
}
showsVerticalScrollIndicator
=
{
false
}
contentContainerStyle
=
{{
paddingTop
:
5
}}
/
>
<
/View
>
<
/View
>
...
...
src/screens/compensate/list/view.js
View file @
a7d9962e
...
...
@@ -40,8 +40,11 @@ const DetailCompensateView = (props) => {
flexDirection
:
'row'
,
}}
>
<
View
style
=
{{
flex
:
1
}}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
11
}]}
>
Ng
à
y
b
á
o
ngh
ỉ
:
{
item
.
date
}
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Ng
à
y
b
á
o
ngh
ỉ
:{
' '
}
<
Text
style
=
{{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
400
,
fontFamily
:
R
.
fonts
.
fontRegular
}}
>
{
item
.
date
}
<
/Text
>
<
/Text
>
<
/View
>
{
/* <View style={{flex: 1}}>
...
...
@@ -52,26 +55,32 @@ const DetailCompensateView = (props) => {
<
/View
>
{
/* Row 2 */
}
<
View
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
11
}]}
>
Th
ờ
i
gian
ngh
ỉ
:
{
item
.
dayOfWeek
}
-
Ti
ế
t
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Th
ờ
i
gian
ngh
ỉ
:{
' '
}
<
Text
style
=
{{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
400
,
fontFamily
:
R
.
fonts
.
fontRegular
}}
>
{
item
.
dayOfWeek
}
-
Ti
ế
t
:{
' '
}
{
item
.
periods
.
map
((
item
,
index
)
=>
{
return
<
Text
key
=
{
index
}
>
{
item
.
time
},
<
/Text>
;
})}{
' '
}
-
Ng
à
y
:{
item
.
dateStudy
}
})}
-
Ng
à
y
:
{
''
}{
item
.
dateStudy
}
<
/Text
>
<
/Text
>
<
/View
>
{
/* Row 3 */
}
<
View
style
=
{{}}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
11
}]}
>
Đị
a
đ
i
ể
m
:
{
item
.
location
}
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Đị
a
đ
i
ể
m
:{
' '
}
<
Text
style
=
{{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
400
,
fontFamily
:
R
.
fonts
.
fontRegular
}}
>
{
item
.
location
}
<
/Text
>
<
/Text
>
<
/View
>
{
/* Row 4 */
}
<
View
style
=
{{}}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
11
}]}
>
Gi
ả
ng
vi
ê
n
thay
th
ế
:
{
item
.
teacher
}
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Gi
ả
ng
vi
ê
n
thay
th
ế
:{
' '
}
<
Text
style
=
{{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
400
,
fontFamily
:
R
.
fonts
.
fontRegular
}}
>
{
item
.
teacher
}
<
/Text
>
<
/Text
>
<
/View
>
{
/* Row 5 */
}
<
View
style
=
{{}}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
11
}]}
>
Ghi
ch
ú
:
{
item
.
note
}
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Ghi
ch
ú
:{
' '
}
<
Text
style
=
{{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
400
,
fontFamily
:
R
.
fonts
.
fontRegular
}}
>
{
item
.
note
}
<
/Text
>
<
/Text
>
<
/View
>
...
...
@@ -81,12 +90,12 @@ const DetailCompensateView = (props) => {
<
Button
title
=
'Huỷ'
onPress
=
{()
=>
{}}
backgroundColor
=
{
R
.
colors
.
brown
}
backgroundColor
=
{
R
.
colors
.
orange
}
textColor
=
{
R
.
colors
.
white
}
height
=
{
25
}
width
=
{
90
}
borderRadius
=
{
15
}
fontSize
=
{
11
}
fontSize
=
{
R
.
fontsize
.
fontSizeContent
}
fontWeight
=
{
'600'
}
fontFamily
=
{
R
.
fonts
.
fontMedium
}
paddingHorizontal
=
{
15
}
...
...
@@ -104,8 +113,8 @@ const DetailCompensateView = (props) => {
<
Header
title
=
{
'ATTT2024.1'
}
isBack
/>
<
View
style
=
{
styles
.
body
}
>
<
View
style
=
{{
alignItems
:
'center'
,
marginTop
:
10
}}
>
<
Text
style
=
{[
styles
.
text
]}
>
Ngh
ỉ
/
B
ù
/
T
ổ
ng
<
/Text
>
<
Text
style
=
{[
styles
.
text
]}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}
]}
>
Ngh
ỉ
/
B
ù
/
T
ổ
ng
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
400
,
fontFamily
:
R
.
fonts
.
fontRegular
}
]}
>
{
itemDetail
?.
rest
}
/ {itemDetail
?
.compensate} /
{
itemDetail
?.
total
}
<
/Text
>
<
/View
>
...
...
src/screens/compensate/style.js
View file @
a7d9962e
...
...
@@ -70,7 +70,8 @@ const styles = StyleSheet.create({
marginVertical
:
10
,
backgroundColor
:
R
.
colors
.
blue
,
borderRadius
:
10
,
padding
:
5
padding
:
5
,
height
:
35
}
})
...
...
src/screens/compensate/view.js
View file @
a7d9962e
...
...
@@ -30,8 +30,8 @@ const CompensateView = (props) => {
<
/View
>
<
View
style
=
{{
alignItems
:
'center'
}}
>
<
Text
style
=
{[
styles
.
text
]}
>
Ngh
ỉ
/
B
ù
/
T
ổ
ng
<
/Text
>
<
Text
style
=
{[
styles
.
text
]}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}
]}
>
Ngh
ỉ
/
B
ù
/
T
ổ
ng
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
400
,
fontFamily
:
R
.
fonts
.
fontRegular
}
]}
>
{
item
.
rest
}
/ {item.compensate} /
{
item
.
total
}
<
/Text
>
<
/View
>
...
...
@@ -39,7 +39,7 @@ const CompensateView = (props) => {
<
View
style
=
{
styles
.
btnRight
}
>
<
Image
source
=
{
R
.
images
.
icNext
}
style
=
{{
width
:
20
,
height
:
20
}}
style
=
{{
width
:
15
,
height
:
15
}}
resizeMode
=
"contain"
tintColor
=
{
R
.
colors
.
black
}
/
>
...
...
@@ -53,7 +53,7 @@ const CompensateView = (props) => {
<
View
style
=
{
styles
.
body
}
>
<
View
style
=
{
styles
.
card
}
>
<
TouchableOpacity
style
=
{
styles
.
btnCard
}
>
<
Text
style
=
{
styles
.
text
}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
Text
style
=
{
[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]
}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
/TouchableOpacity
>
<
/View
>
<
FlatList
...
...
src/screens/home/style.js
View file @
a7d9962e
...
...
@@ -26,16 +26,18 @@ const styles = StyleSheet.create({
borderRadius
:
100
,
borderWidth
:
1
,
paddingHorizontal
:
14
,
maxHeight
:
50
,
height
:
35
},
input
:
{
fontSize
:
R
.
fontsize
.
fontsSize12
,
color
:
R
.
colors
.
white
,
minHeight
:
4
0
,
height
:
3
0
,
flex
:
1
,
fontFamily
:
R
.
fonts
.
InterRegular
,
fontWeight
:
'400'
,
margin
:
0
,
padding
:
0
},
//Home
safeArea
:
{
...
...
src/screens/incoming_document/detail/style.js
View file @
a7d9962e
...
...
@@ -115,11 +115,11 @@ const styles = StyleSheet.create({
paddingHorizontal
:
15
},
inputLabel
:
{
fontSize
:
R
.
fontsize
.
fontSize
SubTitle
,
fontSize
:
R
.
fontsize
.
fontSize
Content
,
color
:
R
.
colors
.
black
,
marginBottom
:
3
,
fontWeight
:
'
4
00'
,
fontFamily
:
R
.
fonts
.
font
Regular
,
fontWeight
:
'
6
00'
,
fontFamily
:
R
.
fonts
.
font
Medium
,
},
textInput
:
{
borderWidth
:
1
,
...
...
src/screens/incoming_document/detail/view.js
View file @
a7d9962e
...
...
@@ -375,8 +375,8 @@ const DetailIncomingDocumentView = props => {
{
marginBottom
:
3
,
fontSize
:
R
.
fontsize
.
fontSizeLabel
,
fontFamily
:
R
.
fonts
.
font
Regular
,
fontWeight
:
'
4
00'
,
fontFamily
:
R
.
fonts
.
font
Medium
,
fontWeight
:
'
6
00'
,
color
:
R
.
colors
.
black
,
},
]}
>
...
...
@@ -389,7 +389,7 @@ const DetailIncomingDocumentView = props => {
onSelect
=
{
item
=>
console
.
log
(
'Bạn đã chọn:'
,
item
)}
/
>
<
/View
>
<
Text
style
=
{[
styles
.
text_2
,
{
marginBottom
:
3
}]}
>
<
Text
style
=
{[
styles
.
text_2
,
{
marginBottom
:
3
,
fontSize
:
R
.
fontsize
.
fontSizeLabel
,
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'600'
,
color
:
R
.
colors
.
black
}]}
>
Danh
s
á
ch
th
ẻ
đã
ch
ọ
n
:
<
/Text
>
<
FlatList
...
...
@@ -420,8 +420,8 @@ const DetailIncomingDocumentView = props => {
{
marginBottom
:
3
,
fontSize
:
R
.
fontsize
.
fontSizeLabel
,
fontFamily
:
R
.
fonts
.
font
Regular
,
fontWeight
:
'
4
00'
,
fontFamily
:
R
.
fonts
.
font
Medium
,
fontWeight
:
'
6
00'
,
color
:
R
.
colors
.
black
,
},
]}
>
...
...
@@ -435,7 +435,7 @@ const DetailIncomingDocumentView = props => {
onSelect
=
{
item
=>
console
.
log
(
'Bạn đã chọn:'
,
item
)}
/
>
<
/View
>
<
Text
style
=
{[
styles
.
text_2
,
{
marginBottom
:
3
}]}
>
<
Text
style
=
{[
styles
.
text_2
,
{
marginBottom
:
3
,
fontSize
:
R
.
fontsize
.
fontSizeLabel
,
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'600'
,
color
:
R
.
colors
.
black
}]}
>
Danh
s
á
ch
ng
ườ
i
theo
d
õ
i
đã
ch
ọ
n
:
<
/Text
>
<
FlatList
...
...
@@ -458,8 +458,8 @@ const DetailIncomingDocumentView = props => {
{
marginBottom
:
3
,
fontSize
:
R
.
fontsize
.
fontSizeLabel
,
fontFamily
:
R
.
fonts
.
font
Regular
,
fontWeight
:
'
4
00'
,
fontFamily
:
R
.
fonts
.
font
Medium
,
fontWeight
:
'
6
00'
,
color
:
R
.
colors
.
black
,
},
]}
>
...
...
@@ -473,7 +473,7 @@ const DetailIncomingDocumentView = props => {
onSelect
=
{
item
=>
console
.
log
(
'Bạn đã chọn:'
,
item
)}
/
>
<
/View
>
<
Text
style
=
{[
styles
.
text_2
,
{
marginBottom
:
3
}]}
>
<
Text
style
=
{[
styles
.
text_2
,
{
marginBottom
:
3
,
fontSize
:
R
.
fontsize
.
fontSizeLabel
,
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'600'
,
color
:
R
.
colors
.
black
}]}
>
Danh
s
á
ch
ng
ườ
i
th
ự
c
hi
ệ
n
c
ô
ng
vi
ệ
c
đã
ch
ọ
n
:
<
/Text
>
<
FlatList
...
...
src/screens/incoming_document/style.js
View file @
a7d9962e
...
...
@@ -86,7 +86,7 @@ const styles = StyleSheet.create({
justifyContent
:
'flex-start'
,
paddingLeft
:
15
,
flexDirection
:
'row'
,
height
:
42
height
:
35
},
boxFilter
:{
flex
:
1
,
...
...
src/screens/incoming_document/view.js
View file @
a7d9962e
...
...
@@ -144,7 +144,7 @@ const IncomingDocumentView = props => {
<
View
style
=
{{
marginBottom
:
15
}}
>
<
View
style
=
{
styles
.
card
}
>
<
TouchableOpacity
style
=
{
styles
.
btnCard
}
>
<
Text
style
=
{
styles
.
text
}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
Text
style
=
{
[
styles
.
text
,{
color
:
R
.
colors
.
black
,
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]
}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
/TouchableOpacity
>
<
/View
>
...
...
@@ -157,7 +157,7 @@ const IncomingDocumentView = props => {
<
View
style
=
{{
flex
:
1
}}
>
<
TextInput
placeholder
=
"Tìm kiếm"
style
=
{
styles
.
text
}
style
=
{
[
styles
.
text
,{
padding
:
0
}]
}
value
=
{
searchQuery
}
onChangeText
=
{
setSearchQuery
}
/
>
...
...
@@ -168,7 +168,7 @@ const IncomingDocumentView = props => {
<
View
style
=
{{
flex
:
0.1
}}
><
/View
>
<
View
style
=
{
styles
.
boxFilter
}
>
<
Dropdown
title
=
{
'Tìm kiếm'
}
height
=
{
40
}
/
>
<
Dropdown
title
=
{
'Tìm kiếm'
}
height
=
{
35
}
/
>
<
/View
>
<
/View
>
<
/View
>
...
...
src/screens/list_rest_report/add/view.js
View file @
a7d9962e
...
...
@@ -61,14 +61,14 @@ const RegisterAbsenceView = props => {
/
>
<
View
style
=
{
styles
.
containerDropDown
}
>
<
View
style
=
{{
flexDirection
:
'row'
}}
>
<
Text
style
=
{[
styles
.
txtSubtitle
,
{
marginBottom
:
5
}]}
>
M
ã
l
ớ
p
<
/Text
>
<
Text
style
=
{[
styles
.
txtSubtitle
,
{
marginBottom
:
5
,
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
M
ã
l
ớ
p
<
/Text
>
<
Text
style
=
{{
color
:
R
.
colors
.
red
}}
>*<
/Text
>
<
/View
>
<
Dropdown
title
=
{
'Mã lớp '
}
/
>
<
/View
>
<
View
style
=
{
styles
.
containerDropDown
}
>
<
View
style
=
{{
flexDirection
:
'row'
}}
>
<
Text
style
=
{[
styles
.
txtSubtitle
,
{
marginBottom
:
5
}]}
>
L
ị
ch
b
á
o
ngh
ỉ
<
/Text
>
<
Text
style
=
{[
styles
.
txtSubtitle
,
{
marginBottom
:
5
,
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
L
ị
ch
b
á
o
ngh
ỉ
<
/Text
>
<
Text
style
=
{{
color
:
R
.
colors
.
red
}}
>*<
/Text
>
<
/View
>
<
Dropdown
title
=
{
'Lịch báo nghỉ '
}
/
>
...
...
@@ -85,14 +85,14 @@ const RegisterAbsenceView = props => {
/
>
<
View
style
=
{
styles
.
containerDropDown
}
>
<
View
style
=
{{
flexDirection
:
'row'
}}
>
<
Text
style
=
{[
styles
.
txtSubtitle
,
{
marginBottom
:
5
}]}
>
Gi
ả
ng
vi
ê
n
thay
th
ế
<
/Text
>
<
Text
style
=
{[
styles
.
txtSubtitle
,
{
marginBottom
:
5
,
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Gi
ả
ng
vi
ê
n
thay
th
ế
<
/Text
>
<
Text
style
=
{{
color
:
R
.
colors
.
red
}}
>*<
/Text
>
<
/View
>
<
Dropdown
title
=
{
'Giảng viên thay thế'
}
/
>
<
/View
>
<
View
style
=
{{
marginTop
:
15
}}
>
<
Text
style
=
{[
styles
.
txtSubtitle
,
{
marginBottom
:
5
}]}
>
Minh
ch
ứ
ng
<
/Text
>
<
Text
style
=
{[
styles
.
txtSubtitle
,
{
marginBottom
:
5
,
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Minh
ch
ứ
ng
<
/Text
>
<
TouchableOpacity
style
=
{
styles
.
cardDocument
}
>
<
Image
source
=
{
R
.
images
.
icDocument
}
...
...
src/screens/list_rest_report/detail/view.js
View file @
a7d9962e
...
...
@@ -41,8 +41,9 @@ const AbsenceListByCourseView = props => {
flexDirection
:
'row'
,
}}
>
<
View
style
=
{{
flex
:
1
}}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
11
}]}
>
Ng
à
y
b
á
o
ngh
ỉ
:
{
item
.
date
}
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Ng
à
y
b
á
o
ngh
ỉ
:
{
''
}
<
Text
style
=
{[
styles
.
text
,{
fontSize
:
R
.
fontsize
.
fontSizeContent
}]}
>
{
item
.
date
}
<
/Text
>
<
/Text
>
<
/View
>
{
/* <View style={{flex: 1}}>
...
...
@@ -53,28 +54,31 @@ const AbsenceListByCourseView = props => {
<
/View
>
{
/* Row 2 */
}
<
View
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
11
}]}
>
Th
ờ
i
gian
ngh
ỉ
:{
item
.
dayOfWeek
}
-
Ti
ế
t
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Th
ờ
i
gian
ngh
ỉ
:{
' '
}
<
Text
style
=
{[
styles
.
text
,{
fontSize
:
R
.
fontsize
.
fontSizeContent
}]}
>
{
item
.
dayOfWeek
}
-
Ti
ế
t
:{
' '
}
{
item
.
periods
.
map
((
item
,
index
)
=>
{
return
<
Text
key
=
{
index
}
>
{
item
.
time
},
<
/Text>
;
})}{
' '
}
-
Ng
à
y
:{
item
.
dateStudy
}
-
Ng
à
y
:{
item
.
dateStudy
}
<
/Text
>
<
/Text
>
<
/View
>
{
/* Row 3 */
}
<
View
style
=
{{}}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
11
}]}
>
Đị
a
đ
i
ể
m
:
{
item
.
location
}
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Đị
a
đ
i
ể
m
:
<
Text
style
=
{[
styles
.
text
,{
fontSize
:
R
.
fontsize
.
fontSizeContent
}]}
>
{
item
.
location
}
<
/Text></
Text
>
<
/View
>
{
/* Row 4 */
}
<
View
style
=
{{}}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
11
}]}
>
Gi
ả
ng
vi
ê
n
thay
th
ế
:
{
item
.
teacher
}
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Gi
ả
ng
vi
ê
n
thay
th
ế
:
<
Text
style
=
{[
styles
.
text
,{
fontSize
:
R
.
fontsize
.
fontSizeContent
}]}
>
{
item
.
teacher
}
<
/Text
>
<
/Text
>
<
/View
>
{
/* Row 5 */
}
<
View
style
=
{{}}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
11
}]}
>
Ghi
ch
ú
:
{
item
.
note
}
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
Ghi
ch
ú
:
<
Text
style
=
{[
styles
.
text
,{
fontSize
:
R
.
fontsize
.
fontSizeContent
}]}
>
{
item
.
note
}
<
/Text></
Text
>
<
/View
>
{
item
.
status
===
'Đã xác nhận'
&&
(
<
View
style
=
{{
alignItems
:
'flex-end'
}}
>
...
...
@@ -100,7 +104,7 @@ const AbsenceListByCourseView = props => {
<
Button
title
=
'Huỷ'
onPress
=
{()
=>
{}}
backgroundColor
=
{
R
.
colors
.
brown
}
backgroundColor
=
{
R
.
colors
.
orange
}
textColor
=
{
R
.
colors
.
white
}
height
=
{
25
}
width
=
{
90
}
...
...
@@ -123,8 +127,8 @@ const AbsenceListByCourseView = props => {
<
Header
title
=
{
'ATTT2024.1'
}
isBack
/>
<
View
style
=
{
styles
.
body
}
>
<
View
style
=
{{
alignItems
:
'center'
,
marginTop
:
10
}}
>
<
Text
style
=
{[
styles
.
text
]}
>
Ngh
ỉ
/
B
ù
/
T
ổ
ng
<
/Text
>
<
Text
style
=
{[
styles
.
text
]}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}
]}
>
Ngh
ỉ
/
B
ù
/
T
ổ
ng
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
11
,
fontWeight
:
400
,
fontFamily
:
R
.
fonts
.
fontRegular
}
]}
>
{
item
.
rest
}
/ {item.compensate} /
{
item
.
total
}
<
/Text
>
<
/View
>
...
...
src/screens/list_rest_report/style.js
View file @
a7d9962e
...
...
@@ -18,7 +18,6 @@ const styles = StyleSheet.create({
marginHorizontal
:
15
,
alignItems
:
'center'
,
justifyContent
:
'center'
,
backgroundColor
:
R
.
colors
.
white
,
shadowColor
:
R
.
colors
.
black
,
shadowOffset
:
{
width
:
0.5
,
height
:
2
},
...
...
@@ -70,7 +69,8 @@ const styles = StyleSheet.create({
marginVertical
:
10
,
backgroundColor
:
R
.
colors
.
blue
,
borderRadius
:
10
,
padding
:
5
padding
:
5
,
height
:
35
}
});
...
...
src/screens/list_rest_report/view.js
View file @
a7d9962e
...
...
@@ -31,7 +31,7 @@ const ListRestReportView = props => {
<
/View
>
<
View
style
=
{{
alignItems
:
'center'
}}
>
<
Text
style
=
{[
styles
.
text
]}
>
Ngh
ỉ
/
B
ù
/
T
ổ
ng
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontWeight
:
'600'
,
fontFamily
:
R
.
fonts
.
fontMedium
}
]}
>
Ngh
ỉ
/
B
ù
/
T
ổ
ng
<
/Text
>
<
Text
style
=
{[
styles
.
text
]}
>
{
item
.
rest
}
/ {item.compensate} /
{
item
.
total
}
<
/Text
>
...
...
@@ -40,7 +40,7 @@ const ListRestReportView = props => {
<
View
style
=
{
styles
.
btnRight
}
>
<
Image
source
=
{
R
.
images
.
icNext
}
style
=
{{
width
:
20
,
height
:
20
}}
style
=
{{
width
:
15
,
height
:
15
}}
resizeMode
=
"contain"
tintColor
=
{
R
.
colors
.
black
}
/
>
...
...
@@ -55,7 +55,7 @@ const ListRestReportView = props => {
<
View
style
=
{
styles
.
body
}
>
<
View
style
=
{
styles
.
card
}
>
<
TouchableOpacity
style
=
{
styles
.
btnCard
}
>
<
Text
style
=
{
styles
.
text
}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
Text
style
=
{
[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]
}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
/TouchableOpacity
>
<
/View
>
<
FlatList
...
...
src/screens/list_send_document/style.js
View file @
a7d9962e
...
...
@@ -85,7 +85,7 @@ const styles = StyleSheet.create({
justifyContent
:
'flex-start'
,
paddingLeft
:
15
,
flexDirection
:
'row'
,
height
:
42
height
:
35
},
boxFilter
:{
flex
:
1
,
...
...
src/screens/list_send_document/view.js
View file @
a7d9962e
...
...
@@ -183,7 +183,7 @@ const ListSendView = (props) => {
<
View
style
=
{{
marginBottom
:
15
}}
>
<
View
style
=
{
styles
.
card
}
>
<
TouchableOpacity
style
=
{
styles
.
btnCard
}
>
<
Text
style
=
{
styles
.
text
}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
Text
style
=
{
[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
'600'
,
fontFamily
:
R
.
fonts
.
fontMedium
,
color
:
R
.
colors
.
black
}]
}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
/TouchableOpacity
>
<
/View
>
...
...
@@ -196,7 +196,7 @@ const ListSendView = (props) => {
<
View
style
=
{{
flex
:
1
}}
>
<
TextInput
placeholder
=
"Tìm kiếm"
style
=
{
styles
.
text
}
style
=
{
[
styles
.
text
,
{
padding
:
0
}]
}
value
=
{
searchQuery
}
onChangeText
=
{
setSearchQuery
}
/
>
...
...
@@ -205,7 +205,7 @@ const ListSendView = (props) => {
<
View
style
=
{{
flex
:
0.1
}}
><
/View
>
<
View
style
=
{
styles
.
boxFilter
}
>
<
Dropdown
title
=
{
'Tìm kiếm'
}
height
=
{
40
}
/
>
<
Dropdown
title
=
{
'Tìm kiếm'
}
height
=
{
35
}
/
>
<
/View
>
<
/View
>
<
/View
>
...
...
src/screens/notification/index.js
View file @
a7d9962e
...
...
@@ -91,18 +91,7 @@ const Notification = (props) => {
],
"Study"
:
[],
"Activity"
:
[
{
"event_title"
:
"Ngày hội việc làm"
,
"description"
:
"Trường tổ chức ngày hội việc làm với hơn 50 doanh nghiệp tham gia"
,
"date"
:
"05/05/2024"
,
"location"
:
"Sân trường cơ sở chính"
},
{
"event_title"
:
"Cuộc thi lập trình ACM"
,
"description"
:
"Các đội đăng ký trước 01/05 để tham gia"
,
"date"
:
"10/05/2024"
,
"location"
:
"Phòng máy B2.12"
}
],
"Tuition"
:
[
{
...
...
src/screens/notification/style.js
View file @
a7d9962e
...
...
@@ -45,7 +45,7 @@ const styles = StyleSheet.create({
marginHorizontal
:
15
,
backgroundColor
:
R
.
colors
.
white
,
flexDirection
:
'row'
,
maxHeight
:
41
,
height
:
35
},
boxIconSearch
:{
maxWidth
:
35
,
...
...
@@ -59,6 +59,7 @@ const styles = StyleSheet.create({
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'500'
,
flex
:
1
,
padding
:
0
,
},
// boxSearch:{
...
...
@@ -125,13 +126,13 @@ const styles = StyleSheet.create({
},
btnFooter
:{
backgroundColor
:
R
.
colors
.
blue
,
paddingVertical
:
10
,
paddingHorizontal
:
20
,
borderRadius
:
10
,
alignItems
:
'center'
,
justifyContent
:
'center'
,
marginHorizontal
:
15
,
marginBottom
:
10
,
height
:
35
},
textBtnFooter
:{
color
:
R
.
colors
.
white
,
...
...
src/screens/notification/view.js
View file @
a7d9962e
...
...
@@ -117,23 +117,22 @@ const NotificationView = props => {
<
TouchableOpacity
style
=
{[
styles
.
cardItem
,
styles
.
cardItemTution
]}
onPress
=
{()
=>
navigate
.
navigate
(
SCREENNAME
.
DETAILNOTIFICATION
)}
>
<
View
style
=
{
styles
.
boxLeft
}
>
<
Text
style
=
{
styles
.
text
}
numberOfLines
=
{
2
}
ellipsizeMode
=
"tail"
>
<
Text
style
=
{
styles
.
text
}
>
Ti
ê
u
đề
:
<
/Text
>
<
Text
style
=
{
[
styles
.
text
,{
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'600'
}]}
>
Ti
ê
u
đề
:
<
/Text>
{
item
.
title_notifi_tuition
}
<
/Text
>
<
Text
style
=
{
styles
.
text
}
numberOfLines
=
{
1
}
ellipsizeMode
=
"tail"
>
<
Text
style
=
{
styles
.
text
}
>
Ng
à
y
t
ạ
o
:
<
/Text
>
<
Text
style
=
{
[
styles
.
text
,{
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'600'
}]
}
>
Ng
à
y
t
ạ
o
:
<
/Text
>
{
item
.
date_create
}
<
/Text
>
<
View
style
=
{
styles
.
boxTimeTution
}
>
<
Text
style
=
{
styles
.
text
}
numberOfLines
=
{
1
}
ellipsizeMode
=
"tail"
>
<
Text
style
=
{
styles
.
text
}
>
Th
ờ
i
gian
g
ử
i
:
<
/Text
>
<
Text
style
=
{
[
styles
.
text
,{
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'600'
}]
}
>
Th
ờ
i
gian
g
ử
i
:
<
/Text
>
{
item
.
time_send
}
<
/Text
>
<
View
style
=
{
styles
.
sizedBox
}
><
/View
>
<
Text
style
=
{[
styles
.
text
,
{
color
:
statusColor
}]}
style
=
{[
styles
.
text
,
{
color
:
statusColor
}
,{
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'600'
}
]}
numberOfLines
=
{
1
}
ellipsizeMode
=
"tail"
>
{
item
.
status
}
...
...
@@ -141,7 +140,7 @@ const NotificationView = props => {
<
/View
>
<
Text
style
=
{
styles
.
text
}
numberOfLines
=
{
1
}
ellipsizeMode
=
"tail"
>
<
Text
style
=
{
styles
.
text
}
>
Lo
ạ
i
th
ô
ng
b
á
o
:
<
/Text
>
<
Text
style
=
{
[
styles
.
text
,{
fontFamily
:
R
.
fonts
.
fontMedium
,
fontWeight
:
'600'
}]
}
>
Lo
ạ
i
th
ô
ng
b
á
o
:
<
/Text
>
{
item
.
style
}
<
/Text
>
<
/View
>
...
...
src/screens/roll_call/view.js
View file @
a7d9962e
...
...
@@ -75,7 +75,7 @@ const ListRollCallView = props => {
<
Button
title
=
"Tạo QR điểm danh"
onPress
=
{()
=>
{}}
backgroundColor
=
{
R
.
colors
.
brown
}
backgroundColor
=
{
R
.
colors
.
orange
}
textColor
=
{
R
.
colors
.
white
}
fontSize
=
{
12
}
containerStyle
=
{{
...
...
@@ -93,7 +93,7 @@ const ListRollCallView = props => {
navigation
.
navigate
(
SCREENNAME
.
LISTSTUDENTROLLCALL
);
}}
containerStyle
=
{{
paddingHorizontal
:
5
,
paddingVertical
:
5
,
borderRadius
:
20
}}
backgroundColor
=
{
R
.
colors
.
brown
}
backgroundColor
=
{
R
.
colors
.
orange
}
textColor
=
{
R
.
colors
.
white
}
fontSize
=
{
12
}
width
=
{
85
}
...
...
@@ -126,8 +126,10 @@ const ListRollCallView = props => {
<
Header
title
=
{
'Danh sách lớp điểm danh'
}
isBack
/>
<
View
style
=
{
styles
.
body
}
>
<
View
style
=
{
styles
.
card
}
>
<
TouchableOpacity
style
=
{
styles
.
btnCard
}
>
<
Text
style
=
{
styles
.
text
}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
TouchableOpacity
style
=
{
styles
.
btnCard
}
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
/TouchableOpacity
>
<
/View
>
<
View
style
=
{
styles
.
searchContainer
}
>
...
...
src/screens/sub_teacher/view.js
View file @
a7d9962e
...
...
@@ -11,25 +11,133 @@ const SubTeacherView = props => {
return
(
<
View
style
=
{
styles
.
containerCard
}
>
<
View
style
=
{
styles
.
containerText
}
>
<
View
style
=
{{
flexDirection
:
'row'
}}
>
<
Text
style
=
{
styles
.
text
}
>
M
ã
l
ớ
p
:
<
/Text
>
<
Text
style
=
{[
styles
.
text
,{
color
:
R
.
colors
.
blue
,
fontWeight
:
'600'
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
{
item
.
classCode
}
<
/Text
>
<
/View
>
<
View
style
=
{{
flexDirection
:
'row'
}}
>
<
Text
style
=
{
styles
.
text
}
>
Tr
ạ
ng
th
á
i
:
<
/Text
>
<
Text
style
=
{[
styles
.
text
,{
color
:
getStatusColor
(
item
.
status
),
fontWeight
:
'600'
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
{
item
.
status
}
<
/Text
>
<
/View
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
,
},
]}
>
M
ã
l
ớ
p
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
color
:
R
.
colors
.
blue
,
fontWeight
:
'600'
,
fontFamily
:
R
.
fonts
.
fontMedium
,
},
]}
>
{
item
.
classCode
}{
' '
}
<
/Text
>
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
,
},
]}
>
Tr
ạ
ng
th
á
i
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
color
:
getStatusColor
(
item
.
status
),
fontWeight
:
'600'
,
fontFamily
:
R
.
fonts
.
fontMedium
,
},
]}
>
{
item
.
status
}
<
/Text
>
<
/Text
>
<
/View
>
<
Text
style
=
{
styles
.
text
}
>
Th
ờ
i
gian
:
{
item
.
time
}
<
/Text
>
<
Text
style
=
{
styles
.
text
}
>
Đị
a
đ
i
ể
m
:
{
item
.
location
}
<
/Text
>
<
Text
style
=
{
styles
.
text
}
>
Gi
ả
ng
vi
ê
n
y
ê
u
c
ầ
u
:
{
item
.
requestedLecturer
}
<
/Text
>
<
Text
style
=
{
styles
.
text
}
>
Ghi
ch
ú
:
{
item
.
note
}
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
,
},
]}
>
Th
ờ
i
gian
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
fontWeight
:
'400'
,
fontFamily
:
R
.
fonts
.
fontRegular
},
]}
>
{
item
.
time
}
<
/Text
>
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
,
},
]}
>
Đị
a
đ
i
ể
m
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
fontWeight
:
'400'
,
fontFamily
:
R
.
fonts
.
fontRegular
},
]}
>
{
item
.
location
}
<
/Text
>
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
,
},
]}
>
Gi
ả
ng
vi
ê
n
y
ê
u
c
ầ
u
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
fontWeight
:
'400'
,
fontFamily
:
R
.
fonts
.
fontRegular
},
]}
>
{
item
.
requestedLecturer
}
<
/Text
>
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
,
},
]}
>
Ghi
ch
ú
:{
' '
}
<
Text
style
=
{[
styles
.
text
,
{
fontWeight
:
'400'
,
fontFamily
:
R
.
fonts
.
fontRegular
},
]}
>
{
item
.
note
}
<
/Text
>
<
/Text
>
{
item
.
status
===
'Chờ xác nhận'
&&
(
<
View
style
=
{
styles
.
containerButton
}
>
<
Button
title
=
"Xác nhận"
onPress
=
{()
=>
{
}}
onPress
=
{()
=>
{}}
backgroundColor
=
{
R
.
colors
.
blue
}
textColor
=
{
R
.
colors
.
white
}
height
=
{
30
}
...
...
@@ -46,7 +154,7 @@ const SubTeacherView = props => {
onPress
=
{()
=>
{
// Xử lý từ chối
}}
backgroundColor
=
{
R
.
colors
.
brown
}
backgroundColor
=
{
R
.
colors
.
orange
}
textColor
=
{
R
.
colors
.
white
}
height
=
{
30
}
borderRadius
=
{
15
}
...
...
@@ -61,14 +169,14 @@ const SubTeacherView = props => {
<
/View
>
);
};
const
getStatusColor
=
(
status
)
=>
{
const
getStatusColor
=
status
=>
{
switch
(
status
)
{
case
'Chờ xác nhận'
:
return
R
.
colors
.
blue
;
case
'Đã xác nhận'
:
return
R
.
colors
.
green
;
case
'Từ chối'
:
return
R
.
colors
.
brown
;
return
R
.
colors
.
orange
;
}
};
return
(
...
...
@@ -77,7 +185,9 @@ const SubTeacherView = props => {
<
View
style
=
{
styles
.
body
}
>
<
View
style
=
{
styles
.
card
}
>
<
TouchableOpacity
style
=
{
styles
.
btnCard
}
>
<
Text
style
=
{
styles
.
text
}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
Text
style
=
{[
styles
.
text
,
{
fontSize
:
R
.
fontsize
.
fontSizeContent
,
fontWeight
:
600
,
fontFamily
:
R
.
fonts
.
fontMedium
}]}
>
H
ọ
c
k
ỳ
2
,
N
ă
m
2025
<
/Text
>
<
/TouchableOpacity
>
<
/View
>
<
FlatList
...
...
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