Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
Tia-dev
Project
Project
Details
Activity
Releases
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
Dida Adams Arizona
Tia-dev
Commits
0927f96b
Commit
0927f96b
authored
Aug 17, 2020
by
Dida Adams Arizona
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'didam' into 'master'
Didam See merge request
!102
parents
70b55e0b
a88981d1
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
234 additions
and
21 deletions
+234
-21
index.js
src/api/index.js
+5
-1
Home.js
src/container/Home.js
+172
-4
VisualReportItems.js
...container/MasterData/formReportItems/VisualReportItems.js
+23
-11
EditUser.js
src/container/Otorisasi/User/EditUser.js
+34
-5
No files found.
src/api/index.js
View file @
0927f96b
...
...
@@ -78,6 +78,7 @@ const create = (baseURL = 'https://tia.eksad.com/tia-reporting-dev/public/') =>
//Menu
const
getMenu
=
()
=>
api
.
get
(
'menu/get_menu_hierarki'
)
const
getMenuByRole
=
()
=>
api
.
get
(
'menu/get_menu_hierarki_by_role'
)
//UNIT BISNIS
const
getUnitBisnis
=
()
=>
api
.
get
(
'business_unit/get_all_business_unit'
)
...
...
@@ -120,6 +121,7 @@ const create = (baseURL = 'https://tia.eksad.com/tia-reporting-dev/public/') =>
const
getReportType
=
()
=>
api
.
get
(
'report/get_all_report'
)
const
searchReportItems
=
(
body
)
=>
api
.
post
(
'/item_report/search_item_report'
,
body
)
const
createReportItems
=
(
body
)
=>
api
.
post
(
'/item_report/create_item_report'
,
body
)
const
getItemReportHierarki
=
()
=>
api
.
get
(
'item_report/get_item_report_hierarki'
)
//PARAMETER
const
getAllParameter
=
()
=>
api
.
get
(
'/setting/get_all_setting'
)
...
...
@@ -200,7 +202,9 @@ const create = (baseURL = 'https://tia.eksad.com/tia-reporting-dev/public/') =>
getPerusahaanActive
,
getRoleActive
,
checkUploadParameter
,
uploadParameter
uploadParameter
,
getItemReportHierarki
,
getMenuByRole
}
}
...
...
src/container/Home.js
View file @
0927f96b
...
...
@@ -126,13 +126,174 @@ export default function MiniDrawer() {
const
[
selectedSubIndex
,
setSelectSub
]
=
React
.
useState
([]);
const
[
userFullname
,
setUserFullname
]
=
React
.
useState
(
""
)
const
[
userEmail
,
setUserEmail
]
=
React
.
useState
(
""
)
const
[
data
,
setData
]
=
React
.
useState
({
array
:
[
{
img
:
Images
.
Home
,
label
:
'Home'
,
path
:
'beranda'
,
subItem
:
null
,
collapse
:
false
,
},
{
img
:
Images
.
budgetTahunan
,
label
:
'Master Budget & CAT'
,
path
:
'budget-tahunan'
,
subItem
:
null
,
collapse
:
false
,
},
{
img
:
Images
.
laporanBulanan
,
label
:
'Monthly Report'
,
path
:
'beranda'
,
subItem
:
null
,
collapse
:
false
,
},
{
img
:
Images
.
rolling
,
label
:
'Rolling Outlook & CAT Revision'
,
path
:
'beranda'
,
subItem
:
null
,
collapse
:
false
,
},
{
img
:
Images
.
outlookperformance
,
label
:
'Outlook Performance Appraisal'
,
path
:
'beranda'
,
subItem
:
null
,
collapse
:
false
,
},
{
img
:
Images
.
operatingindicator
,
label
:
'Operating Indicator'
,
path
:
'beranda'
,
subItem
:
null
,
collapse
:
false
,
},
{
img
:
Images
.
manajemenDokumen
,
label
:
'Document Management'
,
path
:
'beranda'
,
subItem
:
null
,
collapse
:
false
,
},
{
img
:
Images
.
laporan
,
label
:
'Reports'
,
path
:
''
,
subItem
:
[
{
img
:
'beranda'
,
label
:
'CAT Dashboard'
,
path
:
'dashboard-cat'
,
},
{
img
:
'beranda'
,
label
:
'Summary of Triputra Group'
,
path
:
'beranda'
,
},
{
img
:
''
,
label
:
'Sub Holding'
,
path
:
'beranda'
,
}
],
collapse
:
false
,
},
{
img
:
''
,
label
:
'Settings'
,
path
:
'beranda'
,
subItem
:
null
,
collapse
:
false
,
},
{
img
:
Images
.
masterdata
,
label
:
'Master Data'
,
path
:
''
,
subItem
:
[
{
img
:
''
,
label
:
'Business Unit'
,
path
:
'unit-bisnis'
,
},
{
img
:
''
,
label
:
'Company'
,
path
:
'perusahaan'
,
},
{
img
:
''
,
label
:
'Report Items'
,
path
:
'report-items'
,
},
{
img
:
''
,
label
:
'Parameters'
,
path
:
'parameter'
,
},
],
collapse
:
false
,
},
{
img
:
Images
.
otorisasi
,
label
:
'Authorization'
,
path
:
''
,
subItem
:
[
{
img
:
''
,
label
:
'User Role'
,
path
:
'userrole'
,
},
{
img
:
''
,
label
:
'User'
,
path
:
'user'
,
}
],
collapse
:
false
,
},
{
img
:
Images
.
approvalmatrix
,
label
:
'Approval Matrix'
,
path
:
'approval-matrix'
,
subItem
:
null
,
collapse
:
false
,
},
{
img
:
Images
.
otorisasi
,
label
:
'User Management'
,
path
:
''
,
subItem
:
[
{
img
:
''
,
label
:
'Profile'
,
path
:
'profile'
,
},
{
img
:
''
,
label
:
'Logout'
,
path
:
''
,
},
],
collapse
:
false
,
}
]
})
React
.
useEffect
(()
=>
{
if
(
userFullname
==
""
&&
userEmail
==
""
)
{
getUserData
()
getMenuHierarki
()
}
})
const
getMenuHierarki
=
()
=>
{
api
.
create
().
getMenuByRole
().
then
((
response
)
=>
{
console
.
log
(
response
.
data
.
data
)
})
}
const
getUserData
=
()
=>
{
let
userId
=
localStorage
.
getItem
(
Constant
.
USER
)
api
.
create
().
getDetailUser
(
userId
).
then
((
response
)
=>
{
...
...
@@ -176,6 +337,13 @@ export default function MiniDrawer() {
const
{
height
,
width
}
=
UseWindowDimensions
();
function
handleCollapse
(
item
){
let
arr
=
data
.
array
let
index
=
arr
.
findIndex
((
val
)
=>
val
.
label
===
item
.
label
)
arr
[
index
].
collapse
=
!
arr
[
index
].
collapse
setData
({...
data
,
array
:
arr
})
}
return
(
<
div
className
=
{
classes
.
root
}
>
<
CssBaseline
/>
...
...
@@ -250,15 +418,15 @@ export default function MiniDrawer() {
<
/div
>
}
<
List
>
{
ArraySide
.
map
((
item
,
index
)
=>
(
{
data
.
array
.
map
((
item
,
index
)
=>
(
<
div
style
=
{{
marginTop
:
index
===
0
?
null
:
5
}}
>
{
item
.
subItem
!=
null
?
<
div
style
=
{{
justifyContent
:
'space-between'
,
flexDirection
:
'row'
,
display
:
'flex'
,
paddingLeft
:
5
,
paddingRight
:
10
}}
onClick
=
{()
=>
selectedIndexs
==
null
?
setSelectedIndexs
(
item
.
label
)
:
setSelectedIndexs
(
null
)
}
>
<
div
style
=
{{
justifyContent
:
'space-between'
,
flexDirection
:
'row'
,
display
:
'flex'
,
paddingLeft
:
5
,
paddingRight
:
10
}}
onClick
=
{()
=>
{
handleCollapse
(
item
)}
}
>
<
ListItem
key
=
{
item
.
label
}
>
<
ListItemIcon
style
=
{{
minWidth
:
open
?
40
:
56
}}
><
img
src
=
{
item
.
img
}
/></
ListItemIcon
>
<
Typography
style
=
{{
fontFamily
:
'nunito'
,
color
:
'#525355'
,
fontSize
:
14
}}
>
{
item
.
label
}
<
/Typography
>
<
/ListItem
>
{
item
.
subItem
!=
null
?
(
item
.
label
===
selectedIndex
?
<
ExpandLess
style
=
{{
color
:
"#525355"
,
marginLeft
:
50
,
alignSelf
:
'center'
}}
/> : <ExpandMore style={{ color: "#525355", marginLeft: 50, alignSelf: 'center' }} /
>
)
:
null
}
{
item
.
subItem
!=
null
?
(
item
.
collapse
?
<
ExpandLess
style
=
{{
color
:
"#525355"
,
marginLeft
:
50
,
alignSelf
:
'center'
}}
/> : <ExpandMore style={{ color: "#525355", marginLeft: 50, alignSelf: 'center' }} /
>
)
:
null
}
<
/div
>
:
item
.
label
===
'Settings'
?
...
...
@@ -280,7 +448,7 @@ export default function MiniDrawer() {
}
{
item
.
subItem
!=
null
&&
<
div
>
<
Collapse
in
=
{
item
.
label
===
selectedIndexs
}
timeout
=
"auto"
unmountOnExit
>
<
Collapse
in
=
{
item
.
collapse
}
timeout
=
"auto"
unmountOnExit
>
<
List
component
=
"div"
disablePadding
>
{
item
.
subItem
.
map
((
sub
,
indexs
)
=>
{
return
(
...
...
src/container/MasterData/formReportItems/VisualReportItems.js
View file @
0927f96b
...
...
@@ -5,6 +5,7 @@ import MinimizeIcon from '@material-ui/icons/Minimize';
import
AddIcon
from
'@material-ui/icons/Add'
;
import
RemoveIcon
from
'@material-ui/icons/Remove'
;
import
Nestable
from
'react-nestable'
;
import
api
from
'../../../api'
;
const
useStyles
=
makeStyles
((
theme
)
=>
({
root
:
{
...
...
@@ -50,24 +51,24 @@ export default class VisualReportItems extends Component {
this
.
state
=
{
open
:
false
,
items
:
[
{
id
:
0
,
text
:
'Accumulated Depreciation (negative value)'
,
collapse
:
false
,
{
id
:
0
,
GG
:
'Accumulated Depreciation (negative value)'
,
collapse
:
false
,
children
:
[
{
id
:
3
,
text
:
'Beginning Balance'
,
collapse
:
false
},
{
id
:
4
,
text
:
'Depreciation expense MTD (please fill in, if any)'
,
collapse
:
false
},
{
id
:
5
,
text
:
'Depreciation expense MTD (please fill in, if any)'
,
collapse
:
false
}
{
id
:
3
,
GG
:
'Beginning Balance'
,
collapse
:
false
},
{
id
:
4
,
GG
:
'Depreciation expense MTD (please fill in, if any)'
,
collapse
:
false
},
{
id
:
5
,
GG
:
'Depreciation expense MTD (please fill in, if any)'
,
collapse
:
false
}
]
},{
id
:
1
,
text
:
'Control Gain/(Loss) on Fixed Assets'
,
collapse
:
false
id
:
1
,
GG
:
'Control Gain/(Loss) on Fixed Assets'
,
collapse
:
false
},{
id
:
2
,
text
:
'Gain/(Loss) on Fixed Assets'
,
collapse
:
false
,
id
:
2
,
GG
:
'Gain/(Loss) on Fixed Assets'
,
collapse
:
false
,
children
:
[
{
id
:
6
,
text
:
'NBV'
,
collapse
:
false
,
{
id
:
6
,
GG
:
'NBV'
,
collapse
:
false
,
children
:
[
{
id
:
8
,
text
:
'Cost'
,
collapse
:
false
},
{
id
:
9
,
text
:
'Accm. Depreciation'
,
collapse
:
false
},
{
id
:
8
,
GG
:
'Cost'
,
collapse
:
false
},
{
id
:
9
,
GG
:
'Accm. Depreciation'
,
collapse
:
false
},
]
},
{
id
:
7
,
text
:
'Proceed from sale or disposal of Fixed Assets (please fill in, if any)'
,
collapse
:
false
},
{
id
:
7
,
GG
:
'Proceed from sale or disposal of Fixed Assets (please fill in, if any)'
,
collapse
:
false
},
]
},
],
...
...
@@ -78,6 +79,15 @@ export default class VisualReportItems extends Component {
componentDidMount
()
{
console
.
log
(
this
.
props
.
height
)
this
.
getItemHierarki
()
}
getItemHierarki
()
{
api
.
create
().
getItemReportHierarki
().
then
((
response
)
=>
{
if
(
response
.
data
.
status
==
'success'
)
{
this
.
setState
({
items
:
response
.
data
.
data
})
}
})
}
handleCollapse
(
item
)
{
...
...
@@ -114,11 +124,13 @@ export default class VisualReportItems extends Component {
return
(
<
div
>
{
collapseIcon
?
(
this
.
state
.
arrayCollapse
.
includes
(
item
.
id
)?
<
AddIcon
/>
:
<
RemoveIcon
/>
)
:
null
}
<
button
type
=
"button"
onClick
=
{()
=>
this
.
collapse
(
item
.
id
)}
>
{
item
.
text
}
<
/button>
<
button
type
=
"button"
onClick
=
{()
=>
this
.
collapse
(
item
.
id
)}
>
{
item
.
report_name
}
<
/button>
<
/div
>
)
};
render
()
{
return
(
...
...
src/container/Otorisasi/User/EditUser.js
View file @
0927f96b
...
...
@@ -183,7 +183,7 @@ export default class EditUser extends Component {
api
.
create
().
getPerusahaanHierarki
().
then
((
response
)
=>
{
if
(
response
.
data
.
status
===
'success'
)
{
this
.
setState
({
listCompany
:
response
.
data
.
data
})
console
.
log
(
response
.
data
.
data
)
//
console.log(response.data.data)
}
})
}
...
...
@@ -216,7 +216,7 @@ export default class EditUser extends Component {
{
item
.
child
.
map
((
data
,
index
)
=>
{
return
(
<
li
>
{
/* <Collapse timeout="auto" unmountOnExit in={data.company_id === this.state.selectedIndex}> */
}
<
Collapse
timeout
=
"auto"
unmountOnExit
in
=
{
item
.
collapse
}
>
<
div
style
=
{{
display
:
'flex'
,
flexDirection
:
'row'
,
alignItems
:
'center'
,
justifyContent
:
'flex-start'
,
paddingLeft
:
R
.
isNil
(
data
.
child
)
?
(
padding
+
20
)
:
padding
}}
>
{
!
R
.
isNil
(
data
.
child
)
&&
<
span
onClick
=
{()
=>
this
.
setState
({
selectedIndex
:
data
.
company_id
===
this
.
state
.
selectedIndex
?
0
:
data
.
company_id
})}
style
=
{{
marginLeft
:
7
,
marginRight
:
2
}}
>
{
data
.
company_id
===
this
.
state
.
selectedIndex
?
<
RemoveIcon
color
=
{
'action'
}
fontSize
=
{
'small'
}
/> : <AddIcon color={'action'} fontSize={'small'} /
>
}
...
...
@@ -230,7 +230,7 @@ export default class EditUser extends Component {
<
Typography
style
=
{{
fontSize
:
12
}}
>
{
titleCase
(
data
.
company_name
)}
<
/Typography
>
<
/div
>
{
!
R
.
isNil
(
data
.
child
)
&&
this
.
renderChildren
(
data
,
padding
+
20
)}
{
/* </Collapse> */
}
<
/Collapse
>
<
/li
>
)
})}
...
...
@@ -262,6 +262,35 @@ export default class EditUser extends Component {
})
)
}
handleCollapse
(
item
,
index
)
{
let
result
=
this
.
findIndexNested
(
this
.
state
.
listCompany
,
index
);
console
.
log
(
"Found index "
+
index
+
" via these child indexes: "
+
result
);
}
// handleCollapseChildren(item,index) {
// let listCompany = this.state.listCompany[index]
// let index = listCompany.findIndex((val) => val.company_id === item.company_id)
// if (index == -1 ) {
// item.child.map((item,index) => this.handleCollapseChildren(item,index))
// } else {
// listCompany[index].collapse = !listCompany[index].collapse
// }
// }
findIndexNested
(
data
,
index
)
{
if
(
data
.
index
===
index
)
return
[];
let
result
;
const
i
=
(
data
.
children
||
[]).
findIndex
(
child
=>
{
return
result
=
this
.
findIndexNested
(
child
,
index
)
});
if
(
result
)
return
[
i
,
...
result
];
}
findByPath
(
data
,
path
)
{
for
(
let
i
of
path
)
data
=
data
.
children
[
i
];
return
data
}
render
()
{
return
(
<
div
className
=
"test app-popup-show"
>
...
...
@@ -451,7 +480,7 @@ export default class EditUser extends Component {
<
ul
>
<
li
>
<
div
style
=
{{
display
:
'flex'
,
flexDirection
:
'row'
,
alignItems
:
'center'
,
justifyContent
:
'flex-start'
}}
>
{
item
.
child
.
length
>
0
&&
<
span
onClick
=
{()
=>
this
.
setState
({
selectedIndex
:
index
===
this
.
state
.
selectedIndex
?
0
:
index
}
)}
style
=
{{
marginLeft
:
7
,
marginRight
:
2
}}
>
{
item
.
child
.
length
>
0
&&
<
span
onClick
=
{()
=>
this
.
handleCollapse
(
item
,
index
)}
style
=
{{
marginLeft
:
7
,
marginRight
:
2
}}
>
{
index
===
this
.
state
.
selectedIndex
?
<
RemoveIcon
color
=
{
'action'
}
fontSize
=
{
'small'
}
/> : <AddIcon color={'action'} fontSize={'small'} /
>
}
<
/span>
}
<
span
>
...
...
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