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
fe74061b
Commit
fe74061b
authored
Aug 20, 2025
by
tungnq
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
TODO: Đã hoàn thiện được header lịch học
parent
5c465c38
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
184 additions
and
7 deletions
+184
-7
index.js
src/screens/compensate/register/index.js
+123
-1
style.js
src/screens/compensate/register/style.js
+35
-1
view.js
src/screens/compensate/register/view.js
+26
-5
No files found.
src/screens/compensate/register/index.js
View file @
fe74061b
...
...
@@ -5,7 +5,128 @@ import CompensateRegisterView from './view';
const
CompensateRegister
=
(
props
)
=>
{
const
[
isShow
,
setShowSchedule
]
=
useState
(
false
);
const
scheduleData
=
[
{
date
:
'Thứ 2
\
n28/07/2025'
,
periods
:
[
{
period
:
1
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
2
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
3
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
4
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
5
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
6
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
7
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
8
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
9
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
10
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
11
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
12
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
13
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
14
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
15
,
percent
:
'100%'
,
code
:
'(24/24)'
}
]
},
{
date
:
'Thứ 3
\
n29/07/2025'
,
periods
:
[
{
period
:
1
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
2
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
3
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
4
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
5
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
6
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
7
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
8
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
9
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
10
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
11
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
12
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
13
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
14
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
15
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
}
]
},
{
date
:
'Thứ 4
\
n30/07/2025'
,
periods
:
[
{
period
:
1
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
2
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
3
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
4
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
5
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
6
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
7
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
8
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
9
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
10
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
11
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
12
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
13
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
14
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
15
,
percent
:
'100%'
,
code
:
'(24/24)'
}
]
},
{
date
:
'Thứ 5
\
n31/07/2025'
,
periods
:
[
{
period
:
1
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
2
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
3
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
4
,
percent
:
'0%'
,
code
:
'(0/24)'
,
available
:
true
},
{
period
:
5
,
percent
:
'0%'
,
code
:
'(0/24)'
,
available
:
true
},
{
period
:
6
,
percent
:
'0%'
,
code
:
'(0/24)'
,
available
:
true
},
{
period
:
7
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
8
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
9
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
10
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
11
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
12
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
13
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
14
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
},
{
period
:
15
,
percent
:
'100%'
,
code
:
'(24/24)'
,
available
:
true
}
]
},
{
date
:
'Thứ 6
\
n01/08/2025'
,
periods
:
[
{
period
:
1
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
2
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
3
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
4
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
5
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
6
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
7
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
8
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
9
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
10
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
11
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
12
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
13
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
14
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
15
,
percent
:
'100%'
,
code
:
'(24/24)'
}
]
},
{
date
:
'Thứ 7
\
n02/08/2025'
,
periods
:
[
{
period
:
1
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
2
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
3
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
4
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
5
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
6
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
7
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
8
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
9
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
10
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
11
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
12
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
13
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
14
,
percent
:
'100%'
,
code
:
'(24/24)'
},
{
period
:
15
,
percent
:
'100%'
,
code
:
'(24/24)'
}
]
}
];
...
...
@@ -14,6 +135,7 @@ const CompensateRegister = (props) => {
<
CompensateRegisterView
isShow
=
{
isShow
}
setShowSchedule
=
{
setShowSchedule
}
scheduleData
=
{
scheduleData
}
/
>
);
};
...
...
src/screens/compensate/register/style.js
View file @
fe74061b
...
...
@@ -26,6 +26,39 @@ container:{
},
btnRegister
:{
alignItems
:
'flex-end'
,
}
},
//Header bảng lịch
headerRow
:
{
flexDirection
:
'row'
,
backgroundColor
:
R
.
colors
.
white
,
borderBottomWidth
:
1
,
borderBottomColor
:
R
.
colors
.
gray
,
},
headerText
:
{
fontSize
:
R
.
sizes
.
sm
,
fontWeight
:
'500'
,
fontFamily
:
R
.
fonts
.
fontMedium
,
color
:
R
.
colors
.
black
,
},
dateColumn
:
{
minHeight
:
40
,
paddingHorizontal
:
10
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
backgroundColor
:
R
.
colors
.
blue2
,
borderRightWidth
:
1
,
borderRightColor
:
R
.
colors
.
gray
,
},
periodColumn
:
{
minHeight
:
40
,
paddingHorizontal
:
10
,
justifyContent
:
'center'
,
alignItems
:
'center'
,
backgroundColor
:
R
.
colors
.
blue2
,
borderRightWidth
:
1
,
borderRightColor
:
R
.
colors
.
gray
,
},
})
export
default
styles
\ No newline at end of file
src/screens/compensate/register/view.js
View file @
fe74061b
import
React
from
'react'
;
import
{
Text
,
View
,
TouchableOpacity
,
StyleSheet
}
from
'react-native'
;
import
{
Text
,
View
,
TouchableOpacity
,
StyleSheet
,
ScrollView
}
from
'react-native'
;
import
styles
from
'./style'
;
import
Header
from
'../../../components/Header/Header'
;
import
TextField
from
'../../../components/Input/TextField'
;
...
...
@@ -11,23 +11,43 @@ const CompensateRegisterView = props => {
const
{
isShow
,
setShowSchedule
,
scheduleData
,
}
=
props
;
const
handleToggleSchedule
=
()
=>
{
setShowSchedule
(
prevState
=>
!
prevState
);
};
//Header Lịch học
const
renderHeaderSchedule
=
()
=>
{
return
(
<
View
style
=
{
styles
.
headerRow
}
>
<
View
style
=
{
styles
.
dateColumn
}
>
<
Text
style
=
{
styles
.
headerText
}
>
Th
ứ
/
Ti
ế
t
<
/Text
>
<
/View
>
{
Array
.
from
({
length
:
15
},
(
_
,
i
)
=>
(
<
View
key
=
{
i
}
style
=
{
styles
.
periodColumn
}
>
<
Text
style
=
{
styles
.
headerText
}
>
Ti
ế
t
{
i
+
1
}
<
/Text
>
<
/View
>
))}
<
/View
>
)
}
const
renderSchedule
=
(
item
)
=>
{
if
(
!
isShow
)
return
null
;
return
(
<
View
>
<
Text
>
hi
<
/Text
>
<
/View
>
<
ScrollView
horizontal
style
=
{{
marginTop
:
15
}}
>
{
renderHeaderSchedule
()}
<
/
Scroll
View
>
)
}
return
(
<
View
style
=
{
styles
.
container
}
>
<
Header
title
=
{
'Đăng kí báo bù'
}
isBack
/>
<
View
style
=
{
styles
.
body
}
>
<
ScrollView
>
<
View
style
=
{
styles
.
body
}
>
<
View
style
=
{
styles
.
containerInput
}
>
<
TextField
title
=
{
'Học kì'
}
...
...
@@ -123,6 +143,7 @@ const CompensateRegisterView = props => {
{
renderSchedule
()}
<
/View
>
<
/ScrollView
>
<
/View
>
);
};
...
...
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