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
e552be16
Commit
e552be16
authored
Sep 08, 2020
by
Deni Rinaldi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://103.44.149.204/d.arizona/tia-dev
into deni-dev(pc)
parents
9ba71bfb
8d4d3d4e
Changes
21
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
1293 additions
and
301 deletions
+1293
-301
index.js
src/api/index.js
+6
-2
ApprovalMatrix.js
src/container/ApprovalMatrix/ApprovalMatrix.js
+78
-47
PopUpDeleteAM.js
src/container/ApprovalMatrix/PopUpDeleteAM.js
+99
-0
BudgetTahunan.js
src/container/BudgetTahunan.js
+4
-0
EmailVerification.js
src/container/EmailVerification.js
+4
-0
ForgotPassword.js
src/container/ForgotPassword.js
+4
-0
CreatePerusahaan.js
src/container/MasterData/Perusahaan/CreatePerusahaan.js
+25
-11
DeletePerusahaan.js
src/container/MasterData/Perusahaan/DeletePerusahaan.js
+19
-53
Perusahaan.js
src/container/MasterData/Perusahaan/Perusahaan.js
+91
-15
ReportItems.js
src/container/MasterData/ReportItems.js
+215
-71
CreateReportItems.js
...container/MasterData/formReportItems/CreateReportItems.js
+98
-3
EditReportItems.js
src/container/MasterData/formReportItems/EditReportItems.js
+99
-2
User.js
src/container/Otorisasi/User.js
+100
-20
AddUser.js
src/container/Otorisasi/User/AddUser.js
+70
-23
EditUser.js
src/container/Otorisasi/User/EditUser.js
+66
-18
UserRole.js
src/container/Otorisasi/UserRole.js
+76
-2
AddRole.js
src/container/Otorisasi/UserRole/AddRole.js
+121
-15
EditRole.js
src/container/Otorisasi/UserRole/EditRole.js
+114
-15
Profile.js
src/container/Profile.js
+1
-1
ResetPassword.js
src/container/ResetPassword.js
+1
-1
SetPassword.js
src/container/SetPassword.js
+2
-2
No files found.
src/api/index.js
View file @
e552be16
...
...
@@ -104,6 +104,7 @@ const create = (baseURL = 'https://tia.eksad.com/tia-reporting-dev/public/') =>
const
getDetailPerusahaan
=
(
id
)
=>
api
.
get
(
`company/get_company_by_id/
${
id
}
`
)
const
uploadPerusahaan
=
(
body
)
=>
api
.
post
(
'company/import_company'
,
body
)
const
searchPerusahaan
=
(
body
)
=>
api
.
post
(
'company/search_company'
,
body
)
const
deletePerusahaan
=
(
id
)
=>
api
.
post
(
`company/delete_company/
${
id
}
`
)
// APPROVAL MATRIX
const
getAM
=
()
=>
api
.
get
(
'approval_matrix/get_all_approval_matrix'
)
...
...
@@ -125,7 +126,7 @@ const create = (baseURL = 'https://tia.eksad.com/tia-reporting-dev/public/') =>
const
searchUser
=
(
body
)
=>
api
.
post
(
'user/search_user'
,
body
)
const
createUser
=
(
body
)
=>
api
.
post
(
'user/create_user'
,
body
)
const
updateUser
=
(
body
)
=>
api
.
post
(
'user/update_user'
,
body
)
const
deleteUser
=
(
userId
)
=>
api
.
ge
t
(
`user/delete_user/
${
userId
}
`
)
const
deleteUser
=
(
userId
)
=>
api
.
pos
t
(
`user/delete_user/
${
userId
}
`
)
const
changePassword
=
(
body
)
=>
api
.
post
(
'/user/change_password'
,
body
)
const
checkUploadUser
=
(
body
)
=>
api
.
post
(
'/user/check_import'
,
body
)
const
uploadUser
=
(
body
)
=>
api
.
post
(
'/user/import_user'
,
body
)
...
...
@@ -143,6 +144,7 @@ const create = (baseURL = 'https://tia.eksad.com/tia-reporting-dev/public/') =>
const
getItemReportHierarki
=
(
body
)
=>
api
.
post
(
'item_report/get_item_report_hierarki'
,
body
)
const
saveVisualisasiReport
=
(
body
)
=>
api
.
post
(
'item_report/save_visualization'
,
body
)
const
getReportParent
=
(
body
)
=>
api
.
post
(
'item_report/get_parent_item_report'
,
body
)
const
deleteReportItems
=
(
id
)
=>
api
.
post
(
`item_report/delete_item_report/
${
id
}
`
)
//PARAMETER
const
getAllParameter
=
()
=>
api
.
get
(
'/setting/get_all_setting'
)
...
...
@@ -271,7 +273,9 @@ const create = (baseURL = 'https://tia.eksad.com/tia-reporting-dev/public/') =>
deleteAttachment
,
getDetailReportMB
,
deleteUnitBisnis
,
deleteParameter
deleteParameter
,
deletePerusahaan
,
deleteReportItems
}
}
...
...
src/container/ApprovalMatrix/ApprovalMatrix.js
View file @
e552be16
...
...
@@ -11,7 +11,7 @@ import UploadFile from "../../library/Upload";
import
CreateApprovalMatrix
from
"./CreateApprovalMatrix"
;
import
EditApprovalMatrix
from
"./EditApprovalMatrix"
;
import
VisualisasiAM
from
"./VisualisasiAM"
;
import
PopUpDelete
from
"./PopUpDelete
"
;
import
PopUpDelete
AM
from
"./PopUpDeleteAM
"
;
import
PopUpFailedSave
from
"../../library/PopUpFailedSave"
;
import
api
from
"../../api"
;
import
Constant
from
'../../library/Constant'
;
...
...
@@ -55,7 +55,7 @@ export default class ApprovalMatrix extends Component {
fileHandler
=
(
event
)
=>
{
let
fileObj
=
event
ExcelRenderer
(
fileObj
,
(
err
,
resp
)
=>
{
//
console.log(resp)
console
.
log
(
resp
)
if
(
err
)
{
console
.
log
(
err
);
}
...
...
@@ -63,12 +63,14 @@ export default class ApprovalMatrix extends Component {
let
isi
=
resp
.
rows
.
slice
(
3
)
let
payload
=
[]
isi
.
map
((
item
,
index
)
=>
{
console
.
log
(
item
)
if
(
item
.
length
>
0
)
{
payload
.
push
({
id
:
index
+
1
,
approval_type_name
:
item
[
0
]
===
undefined
?
""
:
item
[
0
],
orders
:
item
[
1
]
===
undefined
?
""
:
item
[
1
],
fullname
:
item
[
2
]
===
undefined
?
""
:
item
[
2
],
email
:
item
[
2
]
===
undefined
?
""
:
item
[
2
],
// fullname: item[2] === undefined ? "" : item[2],
operator_type_name
:
item
[
3
]
===
undefined
?
""
:
item
[
3
],
start_date
:
item
[
4
]
===
undefined
?
""
:
item
[
4
],
end_date
:
item
[
5
]
===
undefined
?
""
:
item
[
5
],
...
...
@@ -93,9 +95,9 @@ export default class ApprovalMatrix extends Component {
if
(
response
.
data
.
status
===
"success"
)
{
dataRow
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
return
[
index
+
1
,
item
.
approval_type_name
,
item
.
orders
,
item
.
email
,
item
.
fullname
,
item
.
operator_type_name
,
item
.
start_date
,
...
...
@@ -104,7 +106,6 @@ export default class ApprovalMatrix extends Component {
]
})
let
columns
=
[
"Data"
,
{
name
:
"Approval Type"
,
options
:
{
...
...
@@ -120,9 +121,9 @@ export default class ApprovalMatrix extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
7
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
7
][
check
].
message
}
data
-
for
=
"approvaltype"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"approvaltype"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -145,9 +146,9 @@ export default class ApprovalMatrix extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
7
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
7
][
check
].
message
}
data
-
for
=
"order"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"order"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -155,6 +156,31 @@ export default class ApprovalMatrix extends Component {
}
}
},
{
name
:
"Approver Email"
,
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
7
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
7
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'email'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
7
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
7
][
check
].
message
}
data
-
for
=
"email"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"email"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
);
}
}
},
{
name
:
"Approver Name"
,
options
:
{
...
...
@@ -170,9 +196,9 @@ export default class ApprovalMatrix extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
7
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
7
][
check
].
message
}
data
-
for
=
"fullname"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"fullname"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -195,9 +221,9 @@ export default class ApprovalMatrix extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
7
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
7
][
check
].
message
}
data
-
for
=
"operatorname"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"operatorname"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -220,9 +246,9 @@ export default class ApprovalMatrix extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
7
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
7
][
check
].
message
}
data
-
for
=
"startdate"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"startdate"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -245,9 +271,9 @@ export default class ApprovalMatrix extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
7
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
7
][
check
].
message
}
data
-
for
=
"enddate"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"enddate"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -358,7 +384,6 @@ export default class ApprovalMatrix extends Component {
visibleEdit
:
true
})
}
else
if
(
type
===
'delete'
)
{
console
.
log
(
"berhasil klik btn del"
)
this
.
setState
({
rowData
:
index
,
popupDel
:
true
...
...
@@ -583,35 +608,41 @@ export default class ApprovalMatrix extends Component {
filter
:
false
,
sort
:
false
,
customBodyRender
:
(
val
,
tableMeta
)
=>
{
console
.
log
(
tableMeta
)
return
(
this
.
state
.
btnedit
&&
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
this
.
state
.
btnedit
&&
(
<
a
data
-
tip
=
{
'Edit'
}
data
-
for
=
"edit"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
borderColor
:
'transparent'
,
marginRight
:
15
}}
// onClick={() => console.log(tableMeta)}
onClick
=
{()
=>
this
.
openPopUp
(
tableMeta
.
rowData
,
'edit'
)}
// onClick={() => this.setState({ visibleEdit: true })}
>
<
img
src
=
{
Images
.
editCopy
}
/
>
<
/button
>
)}
{
this
.
state
.
btnedit
&&
(
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"edit"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Delete'
}
data
-
for
=
"delete"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
marginLeft
:
10
}}
// onClick={() => console.log(tableMeta)}
onClick
=
{()
=>
this
.
openPopUp
(
tableMeta
.
rowData
,
'delete'
)}
>
<
img
src
=
{
Images
.
delete
}
/
>
<
/button
>
)}
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"delete"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
)
);
}
}
...
...
@@ -877,7 +908,7 @@ export default class ApprovalMatrix extends Component {
/
>
)}
{
this
.
state
.
popupDel
&&
(
<
PopUpDelete
<
PopUpDelete
AM
type
=
{
"delete"
}
onClickClose
=
{()
=>
this
.
setState
({
popupDel
:
false
})}
data
=
{
this
.
state
.
rowData
}
...
...
src/container/ApprovalMatrix/PopUpDeleteAM.js
0 → 100644
View file @
e552be16
import
React
,
{
Component
}
from
'react'
;
import
Images
from
'../../assets/Images'
;
import
{
Typography
}
from
'@material-ui/core'
;
import
api
from
"../../api"
;
import
Constant
from
'../../library/Constant'
;
export
default
class
PopUpDeleteAM
extends
Component
{
constructor
(
props
)
{
super
(
props
)
this
.
state
=
{
id
:
''
,
getApprovedBy
:
null
,
getTypes
:
null
,
}
}
componentDidMount
()
{
if
(
this
.
props
.
type
===
'delete'
)
{
this
.
getDetailAM
()
}
}
getDetailAM
()
{
api
.
create
().
getDetailAM
(
this
.
props
.
data
[
1
]).
then
(
response
=>
{
console
.
log
(
response
.
data
)
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
===
"success"
)
{
let
data
=
response
.
data
.
data
this
.
setState
({
id
:
data
.
approval_matrix_id
,
getTypes
:
data
.
approval_type_name
,
getApprovedBy
:
data
.
fullname
})
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
},
()
=>
{
if
(
response
.
data
.
message
.
includes
(
"Token"
))
{
setTimeout
(()
=>
{
localStorage
.
removeItem
(
Constant
.
TOKEN
)
window
.
location
.
reload
();
},
1000
);
}
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
problem
,
tipeAlert
:
'error'
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
problem
,
tipeAlert
:
'error'
})
}
})
}
onClickDelete
()
{
if
(
this
.
props
.
type
==
'delete'
)
{
let
payload
=
this
.
state
.
id
this
.
props
.
deleteAM
(
payload
)
}
}
render
()
{
return
(
<
div
className
=
"test app-popup-show"
>
<
div
className
=
"popup-content background-white border-radius"
style
=
{{
borderRadius
:
8
}}
>
<
div
style
=
{{
display
:
'flex'
,
justifyContent
:
'center'
,
paddingTop
:
20
}}
>
<
img
src
=
{
Images
.
failed
}
/
>
<
/div
>
<
div
style
=
{{
display
:
'grid'
,
justifyContent
:
'center'
,
marginTop
:
20
,
paddingBottom
:
20
}}
>
<
span
style
=
{{
textAlign
:
'center'
,
fontSize
:
14
,
fontWeight
:
'bold'
,
fontFamily
:
'Nunito Sans, sans-serif'
}}
>
Delete
{
this
.
state
.
getTypes
}
-
{
this
.
state
.
getApprovedBy
}?
<
/span
>
<
/div
>
<
div
className
=
"border-top grid grid-2x"
style
=
{{
height
:
56
,
backgroundColor
:
'#f5f5f5'
,
paddingLeft
:
20
,
paddingRight
:
20
}}
>
<
div
className
=
"column-1"
style
=
{{
alignSelf
:
'center'
}}
>
<
button
type
=
"button"
onClick
=
{()
=>
this
.
props
.
onClickClose
()}
>
<
div
style
=
{{
width
:
102
,
height
:
30
,
border
:
'solid 1px #354960'
,
borderRadius
:
5
,
alignItems
:
'center'
,
display
:
'flex'
,
justifyContent
:
'center'
}}
>
<
span
style
=
{{
color
:
'#354960'
,
fontSize
:
11
}}
>
Cancel
<
/span
>
<
/div
>
<
/button
>
<
/div
>
<
div
className
=
"column-2"
style
=
{{
display
:
'flex'
,
justifyContent
:
'flex-end'
,
alignItems
:
'center'
}}
>
<
button
type
=
"button"
onClick
=
{()
=>
this
.
onClickDelete
()}
>
<
div
style
=
{{
width
:
102
,
height
:
30
,
backgroundColor
:
'#354960'
,
borderRadius
:
5
,
alignItems
:
'center'
,
display
:
'flex'
,
justifyContent
:
'center'
}}
>
<
span
style
=
{{
color
:
'#fff'
,
fontSize
:
11
}}
>
Delete
<
/span
>
<
/div
>
<
/button
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
);
}
}
src/container/BudgetTahunan.js
View file @
e552be16
...
...
@@ -618,7 +618,11 @@ export default class BudgetTahunan extends Component {
{
this
.
state
.
visibleTP
&&
(
<
TaxPlanning
report_id
=
{
this
.
state
.
report_id
}
height
=
{
this
.
props
.
height
}
width
=
{
this
.
props
.
width
}
company
=
{
this
.
state
.
company
}
revision
=
{
this
.
state
.
revisionTable
}
periode
=
{
this
.
state
.
periode
.
periode
}
onClickClose
=
{()
=>
this
.
setState
({
visibleTP
:
false
,
visibleBudgetTahunan
:
true
})}
/
>
)}
...
...
src/container/EmailVerification.js
View file @
e552be16
...
...
@@ -12,6 +12,10 @@ class EmailVerification extends Component {
}
}
componentDidMount
(){
console
.
log
(
"forgot-password"
)
}
handleChange
(
e
)
{
let
data
=
this
.
state
this
.
setState
({...
data
,
[
e
.
target
.
name
]
:
e
.
target
.
value
})
...
...
src/container/ForgotPassword.js
View file @
e552be16
...
...
@@ -22,6 +22,10 @@ class ForgotPassword extends Component {
}
}
componentDidMount
(){
console
.
log
(
"forgot-password"
)
}
handleChange
(
e
)
{
let
data
=
this
.
state
this
.
setState
({...
data
,
[
e
.
target
.
name
]
:
e
.
target
.
value
})
...
...
src/container/MasterData/Perusahaan/CreatePerusahaan.js
View file @
e552be16
...
...
@@ -53,12 +53,12 @@ export default class CreatePerusahaan extends Component {
}
componentDidMount
()
{
this
.
getCompanyActive
()
this
.
getAllUnitBisnis
()
if
(
this
.
props
.
type
===
'edit'
)
{
this
.
getDetailPerusahaan
()
// console.log(this.props.data);
}
else
{
this
.
getCompanyActive
()
this
.
getAllUnitBisnis
()
let
date
=
format
(
new
Date
,
'yyyy-MM-dd'
)
// console.log(date);
this
.
setState
({
...
...
@@ -86,7 +86,12 @@ export default class CreatePerusahaan extends Component {
totalReport
:
response
.
data
.
data
.
total_report
,
created
:
response
.
data
.
data
.
created
,
updated
:
response
.
data
.
data
.
updated
===
null
?
""
:
response
.
data
.
data
.
updated
},
()
=>
this
.
getAllUnitBisnis
(),
this
.
getCompanyActive
())
},
()
=>
{
// setTimeout(() => {
this
.
getAllUnitBisnis
()
this
.
getCompanyActive
()
// }, 1000);
})
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
},
()
=>
{
if
(
response
.
data
.
message
.
includes
(
"Token"
))
{
...
...
@@ -107,6 +112,7 @@ export default class CreatePerusahaan extends Component {
}
getCompanyActive
()
{
console
.
log
(
this
.
state
.
company
)
if
(
this
.
state
.
company
!==
null
)
{
console
.
log
(
this
.
state
.
company
)
let
payload
=
{
...
...
@@ -118,12 +124,20 @@ export default class CreatePerusahaan extends Component {
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
==
'success'
)
{
let
data
=
response
.
data
.
data
let
perusahaanData
=
data
.
map
((
item
)
=>
{
let
currentIndex
=
null
let
perusahaanData
=
data
.
map
((
item
,
index
)
=>
{
if
(
this
.
state
.
companyID
!==
item
.
company_id
)
{
return
{
company_id
:
item
.
company_id
,
company_name
:
item
.
company_name
}
}
else
{
currentIndex
=
index
}
})
if
(
currentIndex
!==
null
)
{
perusahaanData
.
splice
(
currentIndex
,
1
)
}
let
index
=
perusahaanData
.
sort
((
a
,
b
)
=>
a
.
company_id
-
b
.
company_id
).
findIndex
((
val
)
=>
val
.
company_id
==
this
.
state
.
parentID
)
let
typeProps
=
{
options
:
perusahaanData
,
...
...
@@ -374,7 +388,7 @@ export default class CreatePerusahaan extends Component {
margin
=
"normal"
id
=
"startDate"
label
=
"Valid From"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
value
=
{
this
.
state
.
startDate
}
onChange
=
{(
e
)
=>
this
.
handleChange
(
e
,
'start_date'
)}
KeyboardButtonProps
=
{{
...
...
@@ -477,7 +491,7 @@ export default class CreatePerusahaan extends Component {
margin
=
"normal"
id
=
"endDate"
label
=
"Valid To"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
value
=
{
this
.
state
.
endDate
}
minDate
=
{
this
.
state
.
startDate
}
onChange
=
{(
e
)
=>
this
.
handleChange
(
e
,
'end_date'
)}
...
...
@@ -600,7 +614,7 @@ export default class CreatePerusahaan extends Component {
margin
=
"normal"
id
=
"startDate"
label
=
"Valid From"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
value
=
{
this
.
state
.
startDate
==
""
?
null
:
this
.
state
.
startDate
}
onChange
=
{(
e
)
=>
this
.
handleChange
(
e
,
'start_date'
)}
KeyboardButtonProps
=
{{
...
...
@@ -696,7 +710,7 @@ export default class CreatePerusahaan extends Component {
margin
=
"normal"
id
=
"endDate"
label
=
"Valid To"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
error
=
{
this
.
state
.
errorED
}
helperText
=
{
this
.
state
.
msgErrorED
}
minDate
=
{
this
.
state
.
startDate
}
...
...
src/container/
ApprovalMatrix/PopUpDelete
.js
→
src/container/
MasterData/Perusahaan/DeletePerusahaan
.js
View file @
e552be16
import
React
,
{
Component
}
from
'react'
;
import
Images
from
'../../assets/Images'
;
import
Images
from
'../../
../
assets/Images'
;
import
{
Typography
}
from
'@material-ui/core'
;
import
api
from
"../../api"
;
import
Constant
from
'../../library/Constant'
;
import
api
from
"../../
../
api"
;
import
Constant
from
'../../
../
library/Constant'
;
export
default
class
PopUpDelete
extends
Component
{
export
default
class
DeletePerusahaan
extends
Component
{
constructor
(
props
)
{
super
(
props
)
this
.
state
=
{
id
:
''
,
getApprovedBy
:
null
,
getTypes
:
null
,
companyID
:
''
,
company
:
null
,
}
}
componentDidMount
()
{
if
(
this
.
props
.
type
===
'delete'
)
{
this
.
getDetail
AM
()
this
.
getDetail
Perusahaan
()
}
}
getDetail
AM
()
{
api
.
create
().
getDetail
AM
(
this
.
props
.
data
[
1
]).
then
(
response
=>
{
console
.
log
(
response
.
data
)
getDetail
Perusahaan
()
{
api
.
create
().
getDetail
Perusahaan
(
this
.
props
.
data
[
1
]).
then
(
response
=>
{
console
.
log
(
response
)
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
===
"success"
)
{
let
data
=
response
.
data
.
data
this
.
setState
({
id
:
data
.
approval_matrix_id
,
getTypes
:
data
.
approval_type_name
,
getApprovedBy
:
data
.
fullname
companyID
:
data
.
company_id
,
company
:
data
.
company_name
,
})
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
},
()
=>
{
...
...
@@ -43,7 +41,7 @@ export default class PopUpDelete extends Component {
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
problem
,
tipeAlert
:
'error'
})
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'error'
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
problem
,
tipeAlert
:
'error'
})
...
...
@@ -51,39 +49,10 @@ export default class PopUpDelete extends Component {
})
}
// hapus(){
// this.setState({ popupDel: false })
// api.create().deleteAM(this.state.id).then(response => {
// console.log(response.data)
// if (response.data) {
// if (response.ok) {
// if (response.data.status == 'success') {
// // this.getData()
// this.props.getList()
// this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
// } else {
// this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
// if (response.data.message.includes("Token")) {
// setTimeout(() => {
// localStorage.removeItem(Constant.TOKEN)
// window.location.reload();
// }, 1000);
// }
// })
// }
// } else {
// this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
// }
// } else {
// this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
// }
// })
// }
hapus
()
{
delete
()
{
if
(
this
.
props
.
type
==
'delete'
)
{
let
payload
=
this
.
state
.
id
this
.
props
.
delete
AM
(
payload
)
this
.
props
.
delete
Company
(
payload
)
}
}
...
...
@@ -96,11 +65,8 @@ export default class PopUpDelete extends Component {
<
/div
>
<
div
style
=
{{
display
:
'grid'
,
justifyContent
:
'center'
,
marginTop
:
20
}}
>
<
span
style
=
{{
textAlign
:
'center'
,
fontSize
:
14
,
fontWeight
:
'bold'
}}
>
Delete
{
this
.
state
.
getTypes
}
-
{
this
.
state
.
getApprovedB
y
}
?
Delete
{
this
.
state
.
compan
y
}
?
<
/span
>
{
/* <span style={{ textAlign: 'center', fontSize: 14, fontWeight: 'bold' }}>
{`Please try again later.`}
</span> */
}
<
/div
>
<
div
style
=
{{
display
:
'flex'
,
justifyContent
:
'center'
,
marginTop
:
24
}}
>
<
button
...
...
@@ -112,7 +78,7 @@ export default class PopUpDelete extends Component {
<
button
className
=
{
"btn-save"
}
style
=
{{
marginLeft
:
50
}}
onClick
=
{()
=>
this
.
hapus
()}
onClick
=
{()
=>
this
.
delete
()}
>
<
span
style
=
{{
color
:
'white'
}}
>
Delete
<
/span
>
<
/button
>
...
...
src/container/MasterData/Perusahaan/Perusahaan.js
View file @
e552be16
...
...
@@ -14,7 +14,9 @@ import api from "../../../api";
import
ReactTooltip
from
'react-tooltip'
;
import
MuiAlert
from
'@material-ui/lab/Alert'
;
import
{
TextField
,
InputBase
,
Snackbar
,
withStyles
}
from
"@material-ui/core"
;
// import DeletePerusahaan from "./DeletePerusahaan";
import
PopUpFailedSave
from
'../../../library/PopUpFailedSave'
;
import
PopUpDelete
from
"../../../library/PopUpDelete"
;
import
Constant
from
'../../../library/Constant'
;
var
ct
=
require
(
"../../../library/CustomTable"
);
...
...
@@ -32,6 +34,7 @@ export default class Perusahaan extends Component {
visibleCreate
:
false
,
visibleEdit
:
false
,
visibleVisual
:
false
,
visibleDelete
:
false
,
dataTable
:
[],
listData
:
[],
data
:
[],
...
...
@@ -47,7 +50,10 @@ export default class Perusahaan extends Component {
create
:
false
,
edit
:
false
,
load
:
false
,
judul
:
''
judul
:
''
,
rowData
:
[],
companyName
:
''
}
this
.
fileHandler
=
this
.
fileHandler
.
bind
(
this
);
}
...
...
@@ -85,12 +91,12 @@ export default class Perusahaan extends Component {
checkUpload
()
{
api
.
create
().
checkUploadPerusahaan
(
this
.
state
.
payload
).
then
(
response
=>
{
console
.
log
(
response
);
let
dataRow
=
[]
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
===
"success"
)
{
let
dataRow
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
dataRow
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
return
[
index
+
1
,
item
.
company_name
,
item
.
company_parent
,
item
.
unit_bisnis
,
...
...
@@ -100,7 +106,6 @@ export default class Perusahaan extends Component {
]
})
let
columns
=
[
"Data"
,
{
name
:
"Company Name"
,
options
:
{
...
...
@@ -116,9 +121,9 @@ export default class Perusahaan extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
6
][
check
].
message
}
data
-
for
=
"company_name"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"company_name"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -141,9 +146,9 @@ export default class Perusahaan extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
6
][
check
].
message
}
data
-
for
=
"company_parent"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"company_parent"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -166,9 +171,9 @@ export default class Perusahaan extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
6
][
check
].
message
}
data
-
for
=
"unit_bisnis"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"unit_bisnis"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -191,9 +196,9 @@ export default class Perusahaan extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
6
][
check
].
message
}
data
-
for
=
"startdate"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"startdate"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -216,9 +221,9 @@ export default class Perusahaan extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
6
][
check
].
message
}
data
-
for
=
"enddate"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"Empty"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"enddate"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -323,6 +328,12 @@ export default class Perusahaan extends Component {
rowData
:
rowData
,
visibleEdit
:
true
})
}
else
if
(
type
===
'delete'
)
{
this
.
setState
({
rowData
:
rowData
,
companyName
:
String
(
rowData
[
2
]),
visibleDelete
:
true
})
}
else
{
this
.
setState
({
rowData
:
rowData
,
...
...
@@ -475,6 +486,33 @@ export default class Perusahaan extends Component {
})
}
deleteCompany
=
(
payload
)
=>
{
let
id
=
String
(
payload
[
1
])
api
.
create
().
deletePerusahaan
(
id
).
then
(
response
=>
{
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
==
'success'
)
{
this
.
getData
()
this
.
setState
({
visibleDelete
:
false
,
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'success'
})
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
},
()
=>
{
if
(
response
.
data
.
message
.
includes
(
"Token"
))
{
setTimeout
(()
=>
{
localStorage
.
removeItem
(
Constant
.
TOKEN
)
window
.
location
.
reload
();
},
1000
);
}
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'error'
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
problem
,
tipeAlert
:
'error'
})
}
})
}
closeAlert
()
{
this
.
setState
({
alert
:
false
})
}
...
...
@@ -498,7 +536,26 @@ export default class Perusahaan extends Component {
// onClick={() => this.setState({ visibleEdit: true, data: tableMeta.rowData })}
onClick
=
{()
=>
this
.
openPopUp
(
tableMeta
.
rowData
,
'edit'
)}
>
<
img
src
=
{
Images
.
editCopy
}
/
>
<
div
style
=
{{
display
:
'flex'
}}
>
{
!
tableMeta
.
rowData
[
2
].
includes
(
"TIA"
)
?
<
img
src
=
{
Images
.
editCopy
}
/>
:
null
}
<
/div
>
<
/button
>
)}
{
this
.
state
.
edit
&&
(
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
marginLeft
:
10
}}
// onClick={() => this.setState({ visibleEdit: true, data: tableMeta.rowData })}
onClick
=
{()
=>
this
.
openPopUp
(
tableMeta
.
rowData
,
'delete'
)}
>
<
img
src
=
{
Images
.
delete
}
/
>
<
/button
>
)}
<
/div
>
...
...
@@ -759,6 +816,15 @@ export default class Perusahaan extends Component {
/>
)} */
}
{
/* {this.state.visibleDelete && (
<DeletePerusahaan
type={"delete"}
onClickClose={() => this.setState({ visibleDelete: false })}
data={this.state.rowData}
deleteCompany={this.deleteCompany.bind(this)}
/>
)} */
}
{
this
.
state
.
popupError
&&
(
<
PopUpFailedSave
onClickClose
=
{()
=>
this
.
setState
({
popupError
:
false
})}
/
>
)}
...
...
@@ -800,6 +866,16 @@ export default class Perusahaan extends Component {
<
/div
>
<
/div
>
)}
{
this
.
state
.
visibleDelete
&&
(
<
PopUpDelete
rowData
=
{
this
.
state
.
rowData
}
name
=
{
this
.
state
.
companyName
}
onClickClose
=
{()
=>
this
.
setState
({
visibleDelete
:
false
})}
onClickDelete
=
{
this
.
deleteCompany
.
bind
(
this
)}
/
>
)}
<
/div
>
);
}
...
...
src/container/MasterData/ReportItems.js
View file @
e552be16
...
...
@@ -13,6 +13,7 @@ import api from "../../api";
import
ReactTooltip
from
"react-tooltip"
;
import
PopUpFailedSave
from
"../../library/PopUpFailedSave"
;
import
Constant
from
"../../library/Constant"
;
import
PopUpDelete
from
"../../library/PopUpDelete"
;
var
ct
=
require
(
"../../library/CustomTable"
);
const
getMuiTheme
=
()
=>
createMuiTheme
(
ct
.
customTable
());
...
...
@@ -44,7 +45,9 @@ export default class ReportItems extends Component {
buttonCreate
:
false
,
buttonEdit
:
false
,
load
:
false
,
judul
:
''
judul
:
''
,
reportNameDelete
:
''
,
visibleDelete
:
false
}
this
.
fileHandler
=
this
.
fileHandler
.
bind
(
this
);
...
...
@@ -75,8 +78,11 @@ export default class ReportItems extends Component {
formula
:
item
[
8
],
condition_it_should_be
:
item
[
9
]
===
undefined
?
null
:
item
[
9
],
condition_if_wrong
:
item
[
10
]
===
undefined
?
null
:
item
[
10
],
start_date
:
item
[
11
],
end_date
:
item
[
12
],
kpi_type
:
item
[
11
]
===
undefined
?
""
:
item
[
11
],
max_ach
:
item
[
12
]
===
undefined
?
""
:
item
[
12
],
formula_ytd
:
item
[
13
]
===
undefined
?
""
:
item
[
13
],
start_date
:
item
[
14
],
end_date
:
item
[
15
],
})
}
})
...
...
@@ -110,6 +116,9 @@ export default class ReportItems extends Component {
item
.
formula
,
item
.
condition_it_should_be
,
item
.
condition_if_wrong
,
item
.
kpi_type
,
item
.
max_ach
,
item
.
formula_ytd
,
item
.
start_date
,
item
.
end_date
,
item
.
error
...
...
@@ -121,16 +130,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'report'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'report'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"reportname"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"reportname"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -146,16 +155,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'company'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'company'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"companyname"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"companyname"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -171,16 +180,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'orders'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'orders'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"order"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"order"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -196,16 +205,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'description'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'description'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"desc"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"desc"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -221,16 +230,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'parent'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'parent'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"parents"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"parents"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -246,16 +255,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'uom'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'uom'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"uoms"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"uoms"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -271,16 +280,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'weight'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'weight'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"weights"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"weights"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -296,16 +305,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'type_report'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'type_report'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"datatype"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"datatype"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -321,16 +330,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'formula'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'formula'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"formulas"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"formulas"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -346,16 +355,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'condition_it_should_be'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'condition_it_should_be'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"values"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"values"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -371,16 +380,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'condition_if_wrong'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'condition_if_wrong'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"conditions"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"conditions"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -391,21 +400,96 @@ export default class ReportItems extends Component {
}
}
},
{
name
:
"KPI Type"
,
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
16
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
16
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'kpi_type'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
16
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
16
][
check
].
message
}
data
-
for
=
"kpi_type"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"kpi_type"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
);
}
}
},
{
name
:
"Max Achievement"
,
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
16
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
16
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'max_ach'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
16
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
16
][
check
].
message
}
data
-
for
=
"max_ach"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"max_ach"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
);
}
}
},
{
name
:
"Formula YTD"
,
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
16
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
16
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'formula_ytd'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
16
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
16
][
check
].
message
}
data
-
for
=
"formula_ytd"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"formula_ytd"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
);
}
}
},
{
name
:
"Valid From"
,
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'start_date'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'start_date'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"startdate"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"startdate"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -421,16 +505,16 @@ export default class ReportItems extends Component {
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
1
3
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
3
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'end_date'
))
if
(
tableMeta
.
rowData
[
1
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
1
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'end_date'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
1
3
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
3
][
check
].
message
}
data
-
for
=
"enddate"
>
{
tableMeta
.
rowData
[
1
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
1
6
][
check
].
message
}
data
-
for
=
"enddate"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
===
""
?
"-"
:
val
}
<
/span
>
...
...
@@ -535,12 +619,46 @@ export default class ReportItems extends Component {
})
}
deleteReport
(
payload
)
{
console
.
log
(
payload
);
let
id
=
String
(
payload
[
1
])
api
.
create
().
deleteReportItems
(
id
).
then
(
response
=>
{
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
===
"success"
)
{
this
.
getData
()
this
.
setState
({
visibleDelete
:
false
,
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'success'
})
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
},
()
=>
{
if
(
response
.
data
.
message
.
includes
(
"Token"
))
{
setTimeout
(()
=>
{
localStorage
.
removeItem
(
Constant
.
TOKEN
)
window
.
location
.
reload
();
},
1000
);
}
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'error'
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
problem
,
tipeAlert
:
'error'
})
}
})
}
openPopUp
(
index
,
type
)
{
if
(
type
===
'edit'
)
{
this
.
setState
({
rowData
:
index
,
edit
:
true
})
}
else
if
(
type
===
'delete'
)
{
this
.
setState
({
rowData
:
index
,
reportNameDelete
:
"["
+
String
(
index
[
2
])
+
" - "
+
String
(
index
[
3
])
+
" - "
+
String
(
index
[
5
])
+
"]"
,
visibleDelete
:
true
})
}
else
{
this
.
setState
({
add
:
true
...
...
@@ -704,8 +822,9 @@ export default class ReportItems extends Component {
sort
:
false
,
customBodyRender
:
(
val
,
tableMeta
)
=>
{
return
(
this
.
state
.
buttonEdit
&&
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
this
.
state
.
buttonEdit
&&
(
<
a
data
-
tip
=
{
'Edit'
}
data
-
for
=
"edit"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
...
...
@@ -717,8 +836,25 @@ export default class ReportItems extends Component {
>
<
img
src
=
{
Images
.
editCopy
}
/
>
<
/button
>
)}
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"edit"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Delete'
}
data
-
for
=
"delete"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
marginLeft
:
15
}}
// onClick={() => console.log(tableMeta)}
onClick
=
{()
=>
this
.
openPopUp
(
tableMeta
.
rowData
,
'delete'
)}
>
<
img
src
=
{
Images
.
delete
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"delete"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
)
);
}
}
...
...
@@ -920,7 +1056,7 @@ export default class ReportItems extends Component {
<
img
src
=
{
Images
.
download
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"
visualisasi
"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
ReactTooltip
border
=
{
true
}
id
=
"
download
"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Visualization'
}
data
-
for
=
"visualisasi"
>
<
button
style
=
{{
...
...
@@ -934,7 +1070,7 @@ export default class ReportItems extends Component {
<
img
src
=
{
Images
.
visualisasi
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"
tambah
"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
ReactTooltip
border
=
{
true
}
id
=
"
visualisasi
"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
{
this
.
state
.
buttonCreate
&&
(
<
a
data
-
tip
=
{
'Add New'
}
data
-
for
=
"tambah"
>
<
button
...
...
@@ -1069,6 +1205,14 @@ export default class ReportItems extends Component {
<
/div
>
<
/div
>
)}
{
this
.
state
.
visibleDelete
&&
(
<
PopUpDelete
rowData
=
{
this
.
state
.
rowData
}
name
=
{
this
.
state
.
reportNameDelete
}
onClickClose
=
{()
=>
this
.
setState
({
visibleDelete
:
false
})}
onClickDelete
=
{
this
.
deleteReport
.
bind
(
this
)}
/
>
)}
<
/div
>
);
}
...
...
src/container/MasterData/formReportItems/CreateReportItems.js
View file @
e552be16
...
...
@@ -60,8 +60,13 @@ export default class CreateReportItems extends Component {
options
:
[
'WARNING'
,
'STOPPER'
],
alert
:
false
,
tipeAlert
:
''
,
messageAlert
:
''
messageAlert
:
''
,
kpiType
:
[
'HIG'
,
'HIB'
],
maxAch
:
[
'50%'
,
'100%'
,
'Unlimited'
],
formulaYtd
:
[
'SUM'
,
'AVG'
,
'MIN'
,
'MAX'
],
kpiTypeValue
:
null
,
maxAchValue
:
null
,
formulaYTDValue
:
null
}
}
...
...
@@ -194,6 +199,9 @@ export default class CreateReportItems extends Component {
"weight"
:
this
.
state
.
weight
,
"condition_if_wrong"
:
this
.
state
.
condition
,
"condition_it_should_be"
:
this
.
state
.
realVal
,
"type_kpi"
:
this
.
state
.
kpiTypeValue
,
"max_ach"
:
this
.
state
.
maxAchValue
,
"formula_ytd"
:
this
.
state
.
formulaYTDValue
,
"start_date"
:
this
.
state
.
startDate
,
"end_date"
:
this
.
state
.
endDate
}
...
...
@@ -442,7 +450,10 @@ export default class CreateReportItems extends Component {
<
Autocomplete
{...
this
.
state
.
listReportType
}
id
=
"reportType"
onChange
=
{(
event
,
newInputValue
)
=>
this
.
setState
({
reportType
:
newInputValue
},
()
=>
this
.
clearMessage
())}
onChange
=
{(
event
,
newInputValue
)
=>
this
.
setState
({
reportType
:
newInputValue
},
()
=>
{
newInputValue
==
null
||
(
newInputValue
.
report_name
!==
'CAT'
)
?
this
.
setState
({
kpiTypeValue
:
null
,
maxAchValue
:
null
,
formulaYTDValue
:
null
},
()
=>
this
.
clearMessage
())
:
this
.
clearMessage
();
})}
debug
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
...
...
@@ -778,6 +789,90 @@ export default class CreateReportItems extends Component {
<
/div
>
<
/div
>
{
this
.
state
.
reportType
!==
null
&&
(
this
.
state
.
reportType
.
report_name
===
'CAT'
&&
(
<
div
className
=
"grid grid-2x grid-mobile-none gap-15px"
style
=
{{
paddingLeft
:
20
,
paddingRight
:
20
}}
>
<
div
className
=
"column-1"
>
<
div
className
=
"margin-top-10px"
style
=
{{
padding
:
10
,
borderRadius
:
5
}}
>
<
Autocomplete
value
=
{
this
.
state
.
kpiTypeValue
}
id
=
"kpiType"
onChange
=
{(
event
,
newValue
)
=>
{
this
.
setState
({
kpiTypeValue
:
newValue
},
()
=>
this
.
clearMessage
());
}}
options
=
{
this
.
state
.
kpiType
}
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"KPI Type"
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
}
}}
InputProps
=
{{
...
params
.
InputProps
,
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
}
}}
/>
}
/>
<
/div
>
<
/div
>
<
div
className
=
"column-2"
>
<
div
className
=
"margin-top-10px"
style
=
{{
padding
:
10
,
borderRadius
:
5
}}
>
<
Autocomplete
value
=
{
this
.
state
.
maxAchValue
}
id
=
"maxAch"
onChange
=
{(
event
,
newValue
)
=>
{
this
.
setState
({
maxAchValue
:
newValue
},
()
=>
this
.
clearMessage
());
}}
options
=
{
this
.
state
.
maxAch
}
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"Max Achievement"
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
}
}}
InputProps
=
{{
...
params
.
InputProps
,
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
}
}}
/>
}
/>
<
/div
>
<
/div
>
<
/div
>
))}
{
this
.
state
.
reportType
!==
null
&&
(
this
.
state
.
reportType
.
report_name
===
'CAT'
&&
(
<
div
className
=
"grid grid-2x grid-mobile-none gap-15px"
style
=
{{
paddingLeft
:
20
,
paddingRight
:
20
}}
>
<
div
className
=
"column-1"
>
<
div
className
=
"margin-top-10px"
style
=
{{
padding
:
10
,
borderRadius
:
5
}}
>
<
Autocomplete
value
=
{
this
.
state
.
formulaYTDValue
}
id
=
"formulaYTD"
onChange
=
{(
event
,
newValue
)
=>
{
this
.
setState
({
formulaYTDValue
:
newValue
},
()
=>
this
.
clearMessage
());
}}
options
=
{
this
.
state
.
formulaYtd
}
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"Formula YTD"
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
}
}}
InputProps
=
{{
...
params
.
InputProps
,
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
}
}}
/>
}
/>
<
/div
>
<
/div
>
<
/div
>
))}
<
div
className
=
"grid grid-2x grid-mobile-none gap-15px"
style
=
{{
paddingLeft
:
20
,
paddingRight
:
20
}}
>
<
div
className
=
"column-1"
>
<
div
className
=
"margin-top-10px"
style
=
{{
padding
:
10
,
borderRadius
:
5
}}
>
...
...
src/container/MasterData/formReportItems/EditReportItems.js
View file @
e552be16
...
...
@@ -62,7 +62,13 @@ export default class EditReportItems extends Component {
options
:
[
'WARNING'
,
'STOPPER'
],
alert
:
false
,
tipeAlert
:
''
,
messageAlert
:
''
messageAlert
:
''
,
kpiType
:
[
'HIG'
,
'HIB'
],
maxAch
:
[
'50%'
,
'100%'
,
'Unlimited'
],
formulaYtd
:
[
'SUM'
,
'AVG'
,
'MIN'
,
'MAX'
],
kpiTypeValue
:
null
,
maxAchValue
:
null
,
formulaYTDValue
:
null
}
}
...
...
@@ -169,6 +175,9 @@ export default class EditReportItems extends Component {
"weight"
:
this
.
state
.
tempData
.
weight
==
null
?
""
:
this
.
state
.
tempData
.
weight
,
"condition_if_wrong"
:
this
.
state
.
tempData
.
condition_if_wrong
,
"condition_it_should_be"
:
this
.
state
.
tempData
.
condition_it_should_be
,
"type_kpi"
:
this
.
state
.
tempData
.
kpi_type
,
"max_ach"
:
this
.
state
.
tempData
.
max_ach
,
"formula_ytd"
:
this
.
state
.
tempData
.
formula_ytd
,
"start_date"
:
this
.
state
.
tempData
.
start_date
,
"end_date"
:
this
.
state
.
tempData
.
end_date
}
...
...
@@ -456,7 +465,10 @@ export default class EditReportItems extends Component {
<
Autocomplete
{...
this
.
state
.
listReportType
}
id
=
"reportType"
onChange
=
{(
event
,
newInputValue
)
=>
this
.
setState
({
reportType
:
newInputValue
},
()
=>
this
.
getParent
(),
this
.
clearMessage
()
)}
onChange
=
{(
event
,
newInputValue
)
=>
this
.
setState
({
reportType
:
newInputValue
},
()
=>
newInputValue
==
null
||
(
newInputValue
.
report_name
!==
'CAT'
)
?
this
.
setState
({
tempData
:
{
...
this
.
state
.
tempData
,
kpi_type
:
null
,
max_ach
:
null
,
formula_ytd
:
null
}
},
()
=>
this
.
getParent
(),
this
.
clearMessage
())
:
this
.
getParent
(),
this
.
clearMessage
()
)}
debug
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
...
...
@@ -760,6 +772,91 @@ export default class EditReportItems extends Component {
<
/div
>
<
/div
>
<
/div
>
{
this
.
state
.
reportType
!==
null
&&
(
this
.
state
.
reportType
.
report_name
===
'CAT'
&&
(
<
div
className
=
"grid grid-2x grid-mobile-none gap-15px"
style
=
{{
paddingLeft
:
20
,
paddingRight
:
20
}}
>
<
div
className
=
"column-1"
>
<
div
className
=
"margin-top-10px"
style
=
{{
padding
:
10
,
borderRadius
:
5
}}
>
<
Autocomplete
value
=
{
this
.
state
.
tempData
===
null
?
""
:
this
.
state
.
tempData
.
kpi_type
}
id
=
"kpiType"
onChange
=
{(
event
,
newValue
)
=>
{
this
.
setState
({
tempData
:
{
...
this
.
state
.
tempData
,
kpi_type
:
newValue
}
},
()
=>
this
.
clearMessage
());
}}
options
=
{
this
.
state
.
kpiType
}
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"KPI Type"
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
}
}}
InputProps
=
{{
...
params
.
InputProps
,
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
}
}}
/>
}
/>
<
/div
>
<
/div
>
<
div
className
=
"column-2"
>
<
div
className
=
"margin-top-10px"
style
=
{{
padding
:
10
,
borderRadius
:
5
}}
>
<
Autocomplete
value
=
{
this
.
state
.
tempData
===
null
?
""
:
this
.
state
.
tempData
.
max_ach
}
id
=
"maxAch"
onChange
=
{(
event
,
newValue
)
=>
{
this
.
setState
({
tempData
:
{
...
this
.
state
.
tempData
,
max_ach
:
newValue
}
},
()
=>
this
.
clearMessage
());
}}
options
=
{
this
.
state
.
maxAch
}
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"Max Achievement"
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
}
}}
InputProps
=
{{
...
params
.
InputProps
,
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
}
}}
/>
}
/>
<
/div
>
<
/div
>
<
/div
>
))}
{
this
.
state
.
reportType
!==
null
&&
(
this
.
state
.
reportType
.
report_name
===
'CAT'
&&
(
<
div
className
=
"grid grid-2x grid-mobile-none gap-15px"
style
=
{{
paddingLeft
:
20
,
paddingRight
:
20
}}
>
<
div
className
=
"column-1"
>
<
div
className
=
"margin-top-10px"
style
=
{{
padding
:
10
,
borderRadius
:
5
}}
>
<
Autocomplete
value
=
{
this
.
state
.
tempData
===
null
?
""
:
this
.
state
.
tempData
.
formula_ytd
}
id
=
"kpiType"
onChange
=
{(
event
,
newValue
)
=>
{
this
.
setState
({
tempData
:
{
...
this
.
state
.
tempData
,
formula_ytd
:
newValue
}
},
()
=>
this
.
clearMessage
());
}}
options
=
{
this
.
state
.
formulaYtd
}
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"Formula YTD"
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
}
}}
InputProps
=
{{
...
params
.
InputProps
,
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
}
}}
/>
}
/>
<
/div
>
<
/div
>
<
/div
>
))}
<
div
className
=
"grid grid-2x grid-mobile-none gap-15px"
style
=
{{
paddingLeft
:
20
,
paddingRight
:
20
}}
>
<
div
className
=
"column-1"
>
<
div
className
=
"margin-top-10px"
style
=
{{
padding
:
10
,
borderRadius
:
5
}}
>
...
...
src/container/Otorisasi/User.js
View file @
e552be16
...
...
@@ -15,6 +15,7 @@ import { ExcelRenderer } from 'react-excel-renderer';
import
ReactTooltip
from
"react-tooltip"
;
import
PopUpFailedSave
from
"../../library/PopUpFailedSave"
;
import
Constant
from
"../../library/Constant"
;
import
PopUpDelete
from
"../ApprovalMatrix/PopUpDeleteAM"
;
var
ct
=
require
(
"../../library/CustomTable"
);
const
getMuiTheme
=
()
=>
createMuiTheme
(
ct
.
customTable
());
...
...
@@ -31,6 +32,7 @@ export default class UserRole extends Component {
indexData
:
{},
add
:
false
,
edit
:
false
,
popupDel
:
false
,
visibleUser
:
true
,
buttonError
:
false
,
alert
:
false
,
...
...
@@ -153,11 +155,11 @@ export default class UserRole extends Component {
if
(
item
.
length
>
0
)
{
payload
.
push
({
id
:
index
+
1
,
fullname
:
item
[
0
],
email
:
item
[
1
],
role
:
item
[
2
],
start_date
:
item
[
3
],
end_date
:
item
[
4
],
fullname
:
item
[
0
]
==
undefined
?
''
:
item
[
0
]
,
email
:
item
[
1
]
==
undefined
?
''
:
item
[
1
]
,
role
:
item
[
2
]
==
undefined
?
''
:
item
[
2
]
,
start_date
:
item
[
3
]
==
undefined
?
''
:
item
[
3
]
,
end_date
:
item
[
4
]
==
undefined
?
''
:
item
[
4
]
,
})
}
})
...
...
@@ -170,6 +172,14 @@ export default class UserRole extends Component {
});
}
deleteUser
()
{
let
data
=
this
.
state
.
rowData
api
.
create
().
deleteUser
(
data
[
1
]).
then
((
response
)
=>
{
this
.
setState
({
popupDel
:
false
})
this
.
getUser
()
})
}
checkUpload
(){
api
.
create
().
checkUploadUser
(
this
.
state
.
payload
).
then
(
response
=>
{
console
.
log
(
response
);
...
...
@@ -190,7 +200,31 @@ export default class UserRole extends Component {
let
columns
=
[
"Data"
,
"Full Name"
,
{
name
:
"Full Name"
,
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
let
check
=
null
if
(
tableMeta
.
rowData
[
6
]
!=
null
)
{
check
=
tableMeta
.
rowData
[
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'fullname'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
console
.
log
(
'masuk'
)
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
6
][
check
].
message
}
data
-
for
=
"fullname"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
==
''
?
'Empty'
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
==
''
?
'Empty'
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"fullname"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
);
}
}},
{
name
:
"Email"
,
options
:
{
...
...
@@ -207,9 +241,9 @@ export default class UserRole extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
6
][
check
].
message
}
data
-
for
=
"email"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
==
''
?
'Empty'
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
==
''
?
'Empty'
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"email"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -226,16 +260,16 @@ export default class UserRole extends Component {
check
=
tableMeta
.
rowData
[
6
].
findIndex
((
val
)
=>
val
.
field
.
includes
(
'role'
))
if
(
check
>
-
1
)
{
this
.
setState
({
buttonError
:
true
})
console
.
log
(
'masuk'
)
console
.
log
(
tableMeta
.
rowData
[
6
]
)
}
}
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
6
][
check
].
message
}
data
-
for
=
"role"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
==
''
?
'Empty'
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
==
''
?
'Empty'
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"role"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -259,9 +293,9 @@ export default class UserRole extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
6
][
check
].
message
}
data
-
for
=
"startdate"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
==
''
?
'Empty'
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
==
''
?
'Empty'
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"startdate"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -285,9 +319,9 @@ export default class UserRole extends Component {
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
6
]
!=
null
&&
check
>
-
1
?
<
a
data
-
tip
=
{
tableMeta
.
rowData
[
6
][
check
].
message
}
data
-
for
=
"enddate"
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
==
''
?
'Empty'
:
val
}
<
/span
>
<
/a>
:
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
}
<
/span
>
<
span
style
=
{{
color
:
check
!=
null
&&
check
>
-
1
?
"red"
:
'black'
}}
>
{
val
==
''
?
'Empty'
:
val
}
<
/span
>
}
<
ReactTooltip
border
=
{
true
}
id
=
"enddate"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
...
...
@@ -387,13 +421,14 @@ export default class UserRole extends Component {
}
createUser
(
payload
)
{
console
.
log
(
'Mode Create'
)
api
.
create
().
createUser
(
payload
).
then
((
response
)
=>
{
// console.log(response
)
console
.
log
(
response
.
data
)
// if (String(response.data.status).toLocaleUpperCase === 'Success' || String(response.data.status).toLocaleUpperCase === 'success') {
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
===
'
s
uccess'
)
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'success'
,
create
:
false
})
if
(
response
.
data
.
status
===
'
S
uccess'
)
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'success'
,
add
:
false
})
this
.
getUser
()
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
},
()
=>
{
...
...
@@ -483,6 +518,19 @@ export default class UserRole extends Component {
<
img
src
=
{
Images
.
editCopy
}
/
>
<
/button
>
)}
{
this
.
state
.
buttonEdit
&&
(
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
marginLeft
:
10
}}
onClick
=
{()
=>
this
.
setState
({
popupDel
:
true
,
rowData
:
tableMeta
.
rowData
})}
>
<
img
src
=
{
Images
.
delete
}
/
>
<
/button
>
)}
{
/* :
null
} */
}
...
...
@@ -665,7 +713,7 @@ export default class UserRole extends Component {
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"download"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
{
this
.
state
.
buttonCreate
&&
(
<
a
data
-
tip
=
{
'Add New'
}
data
-
for
=
"
create
"
>
<
a
data
-
tip
=
{
'Add New'
}
data
-
for
=
"
add
"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
...
...
@@ -680,7 +728,7 @@ export default class UserRole extends Component {
<
/button
>
<
/a
>
)}
<
ReactTooltip
border
=
{
true
}
id
=
"
create
"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
ReactTooltip
border
=
{
true
}
id
=
"
add
"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
<
/div
>
)}
...
...
@@ -749,6 +797,38 @@ export default class UserRole extends Component {
data
=
{
this
.
state
.
indexData
}
/
>
)}
{
this
.
state
.
popupDel
&&
(
<
div
className
=
"test app-popup-show"
>
<
div
className
=
"popup-content background-white border-radius"
style
=
{{
borderRadius
:
8
,
padding
:
50
}}
>
<
div
style
=
{{
display
:
'flex'
,
justifyContent
:
'center'
}}
>
<
img
src
=
{
Images
.
failedCopy
}
/
>
<
/div
>
<
div
style
=
{{
display
:
'grid'
,
justifyContent
:
'center'
,
marginTop
:
20
}}
>
<
span
style
=
{{
textAlign
:
'center'
,
fontSize
:
14
,
fontWeight
:
'bold'
}}
>
Delete
{
this
.
state
.
rowData
[
2
]}
?
<
/span
>
{
/* <span style={{ textAlign: 'center', fontSize: 14, fontWeight: 'bold' }}>
{`Please try again later.`}
</span> */
}
<
/div
>
<
div
style
=
{{
display
:
'flex'
,
justifyContent
:
'center'
,
marginTop
:
24
}}
>
<
button
className
=
{
"btn-save"
}
onClick
=
{()
=>
this
.
setState
({
popupDel
:
false
})}
>
<
span
style
=
{{
color
:
'white'
}}
>
Cancel
<
/span
>
<
/button
>
<
button
className
=
{
"btn-save"
}
style
=
{{
marginLeft
:
50
}}
onClick
=
{()
=>
this
.
deleteUser
()}
>
<
span
style
=
{{
color
:
'white'
}}
>
Delete
<
/span
>
<
/button
>
<
/div
>
<
/div
>
<
/div
>
)}
{
this
.
state
.
popupError
&&
(
<
PopUpFailedSave
onClickClose
=
{()
=>
this
.
setState
({
popupError
:
false
})}
/
>
)}
...
...
src/container/Otorisasi/User/AddUser.js
View file @
e552be16
...
...
@@ -139,6 +139,33 @@ export default class AddUser extends Component {
}
clearError
()
{
let
listCompany
=
this
.
state
.
listCompany
let
company
=
this
.
state
.
company
const
handlePushChild
=
(
item
)
=>
{
let
indexIDzz
=
company
.
findIndex
((
val
)
=>
val
===
item
.
id
)
if
(
indexIDzz
===
-
1
)
{
company
.
push
(
item
.
id
)
}
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
item
.
children
.
map
((
items
,
indexs
)
=>
{
handlePushChild
(
items
)
})
}
}
}
listCompany
.
map
((
item
,
index
)
=>
{
company
.
push
(
item
.
id
)
handlePushChild
(
item
)
})
let
uniqueCompany
=
company
.
filter
((
val
,
id
,
array
)
=>
{
return
array
.
indexOf
(
val
)
==
id
;
});
company
=
this
.
state
.
role
.
role_id
===
1
?
uniqueCompany
:
[]
// console.log(uniqueCompany)
this
.
setState
({
errorFullname
:
false
,
errorEmail
:
false
,
...
...
@@ -150,6 +177,9 @@ export default class AddUser extends Component {
msgErrorRN
:
''
,
msgErrorSD
:
''
,
msgErrorED
:
''
,
company
},
()
=>
{
console
.
log
(
this
.
state
.
company
)
})
}
...
...
@@ -262,41 +292,58 @@ export default class AddUser extends Component {
handleItemClick
(
item
)
{
let
indexID
=
this
.
state
.
company
.
findIndex
((
val
)
=>
val
===
item
.
id
)
let
listCompany
=
this
.
state
.
listCompany
let
company
=
this
.
state
.
company
if
(
indexID
===
-
1
)
{
const
handlePushChild
=
(
item
)
=>
{
let
indexIDzz
=
company
.
findIndex
((
val
)
=>
val
===
item
.
id
)
if
(
indexIDzz
===
-
1
)
{
company
.
push
(
item
.
id
)
if
(
item
.
parent
!==
null
)
{
let
indexIDs
=
this
.
state
.
company
.
findIndex
((
val
)
=>
val
===
item
.
parent
)
if
(
indexIDs
===
-
1
)
{
company
.
push
(
item
.
parent
)
}
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
item
.
children
.
map
((
items
,
indexs
)
=>
{
handlePushChild
(
items
)
})
}
}
}
const
handleSpliceChild
=
(
item
)
=>
{
let
indexIDzz
=
company
.
findIndex
((
val
)
=>
val
===
item
.
id
)
if
(
indexIDzz
!==
-
1
)
{
company
.
splice
(
indexIDzz
,
1
)
}
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
item
.
children
.
map
((
items
,
indexs
)
=>
{
this
.
handleItemClick
(
items
)
item
.
children
.
map
((
items
,
indexs
)
=>
{
handleSpliceChild
(
items
)
})
}
}
}
else
{
company
.
splice
(
indexID
,
1
)
if
(
item
.
parent
!==
null
)
{
let
indexIDs
=
this
.
state
.
company
.
findIndex
((
val
)
=>
val
===
item
.
parent
)
if
(
indexIDs
!==
-
1
)
{
company
.
splice
(
indexIDs
,
1
)
}
if
(
indexID
===
-
1
)
{
company
.
push
(
item
.
id
)
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
item
.
children
.
map
((
items
,
indexs
)
=>
{
this
.
handleItemClick
(
items
)
item
.
children
.
map
((
items
,
indexs
)
=>
{
handlePushChild
(
items
)
})
}
}
}
else
{
company
.
splice
(
indexID
,
1
)
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
item
.
children
.
map
((
items
,
indexs
)
=>
{
handleSpliceChild
(
items
)
})
}
}
this
.
setState
({
company
})
}
// console.log(company)
this
.
setState
({
company
})
}
renderChildren
=
(
item
,
pad
)
=>
{
...
...
@@ -570,7 +617,7 @@ export default class AddUser extends Component {
margin
=
"normal"
id
=
"startDate"
label
=
"Valid From"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
value
=
{
this
.
state
.
startDate
}
error
=
{
this
.
state
.
errorStartDate
}
helperText
=
{
this
.
state
.
msgErrorSD
}
...
...
@@ -603,7 +650,7 @@ export default class AddUser extends Component {
margin
=
"normal"
id
=
"endDate"
label
=
"Valid To"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
value
=
{
this
.
state
.
endDate
}
error
=
{
this
.
state
.
errorEndDate
}
helperText
=
{
this
.
state
.
msgErrorED
}
...
...
src/container/Otorisasi/User/EditUser.js
View file @
e552be16
...
...
@@ -123,6 +123,33 @@ export default class EditUser extends Component {
}
clearError
()
{
let
listCompany
=
this
.
state
.
listCompany
let
company
=
this
.
state
.
company
const
handlePushChild
=
(
item
)
=>
{
let
indexIDzz
=
company
.
findIndex
((
val
)
=>
val
===
item
.
id
)
if
(
indexIDzz
===
-
1
)
{
company
.
push
(
item
.
id
)
}
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
item
.
children
.
map
((
items
,
indexs
)
=>
{
handlePushChild
(
items
)
})
}
}
}
listCompany
.
map
((
item
,
index
)
=>
{
company
.
push
(
item
.
id
)
handlePushChild
(
item
)
})
let
uniqueCompany
=
company
.
filter
((
val
,
id
,
array
)
=>
{
return
array
.
indexOf
(
val
)
==
id
;
});
company
=
this
.
state
.
role
.
role_id
===
1
?
uniqueCompany
:
[]
// console.log(uniqueCompany)
this
.
setState
({
errorFullname
:
false
,
errorEmail
:
false
,
...
...
@@ -134,6 +161,7 @@ export default class EditUser extends Component {
msgErrorRN
:
''
,
msgErrorSD
:
''
,
msgErrorED
:
''
,
company
})
}
...
...
@@ -251,7 +279,10 @@ export default class EditUser extends Component {
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
===
'success'
)
{
this
.
setState
({
listCompany
:
response
.
data
.
data
})
let
dataBaru
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
return
{...
item
,
check
:
false
}
})
this
.
setState
({
listCompany
:
dataBaru
})
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
},
()
=>
{
if
(
response
.
data
.
message
.
includes
(
"Token"
))
{
...
...
@@ -279,40 +310,57 @@ export default class EditUser extends Component {
handleItemClick
(
item
)
{
let
indexID
=
this
.
state
.
company
.
findIndex
((
val
)
=>
val
===
item
.
id
)
let
company
=
this
.
state
.
company
if
(
indexID
===
-
1
)
{
const
handlePushChild
=
(
item
)
=>
{
let
indexIDzz
=
company
.
findIndex
((
val
)
=>
val
===
item
.
id
)
if
(
indexIDzz
===
-
1
)
{
company
.
push
(
item
.
id
)
if
(
item
.
parent
!==
null
)
{
let
indexIDs
=
this
.
state
.
company
.
findIndex
((
val
)
=>
val
===
item
.
parent
)
if
(
indexIDs
===
-
1
)
{
company
.
push
(
item
.
parent
)
}
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
item
.
children
.
map
((
items
,
indexs
)
=>
{
handlePushChild
(
items
)
})
}
}
}
const
handleSpliceChild
=
(
item
)
=>
{
let
indexIDzz
=
company
.
findIndex
((
val
)
=>
val
===
item
.
id
)
if
(
indexIDzz
!==
-
1
)
{
company
.
splice
(
indexIDzz
,
1
)
}
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
item
.
children
.
map
((
items
,
indexs
)
=>
{
this
.
handleItemClick
(
items
)
handleSpliceChild
(
items
)
})
}
}
}
else
{
company
.
splice
(
indexID
,
1
)
if
(
item
.
parent
!==
null
)
{
let
indexIDs
=
this
.
state
.
company
.
findIndex
((
val
)
=>
val
===
item
.
parent
)
if
(
indexIDs
!==
-
1
)
{
company
.
splice
(
indexIDs
,
1
)
}
if
(
indexID
===
-
1
)
{
company
.
push
(
item
.
id
)
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
item
.
children
.
map
((
items
,
indexs
)
=>
{
handlePushChild
(
items
)
})
}
}
}
else
{
company
.
splice
(
indexID
,
1
)
if
(
item
.
children
!==
null
)
{
if
(
item
.
children
.
length
>
0
)
{
item
.
children
.
map
((
items
,
indexs
)
=>
{
this
.
handleItemClick
(
items
)
handleSpliceChild
(
items
)
})
}
}
}
this
.
setState
({
company
})
// console.log(company)
this
.
setState
({
company
})
}
renderChildren
=
(
item
,
pad
)
=>
{
...
...
@@ -583,7 +631,7 @@ export default class EditUser extends Component {
margin
=
"normal"
id
=
"startDate"
label
=
"Valid From"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
value
=
{
this
.
state
.
tempData
===
null
?
null
:
this
.
state
.
tempData
.
start_date
}
error
=
{
this
.
state
.
errorStartDate
}
helperText
=
{
this
.
state
.
msgErrorSD
}
...
...
@@ -615,7 +663,7 @@ export default class EditUser extends Component {
margin
=
"normal"
id
=
"endDate"
label
=
"Valid To"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
value
=
{
this
.
state
.
tempData
===
null
?
null
:
this
.
state
.
tempData
.
end_date
}
error
=
{
this
.
state
.
errorEndDate
}
helperText
=
{
this
.
state
.
msgErrorED
}
...
...
src/container/Otorisasi/UserRole.js
View file @
e552be16
...
...
@@ -152,7 +152,7 @@ class UserRole extends Component {
handleChange
(
e
)
{
let
data
=
this
.
state
window
.
requestIdleCallback
((
e
)
=>
this
.
setState
({
...
data
,
[
e
.
target
.
name
]:
e
.
target
.
value
},
()
=>
{
alert
(
'asdk'
)
//
alert('asdk')
}))
}
...
...
@@ -161,6 +161,33 @@ class UserRole extends Component {
this
.
setState
({
alert
:
false
})
}
deleteRole
()
{
let
data
=
this
.
state
.
rowData
api
.
create
().
deleteRole
(
data
[
1
]).
then
((
response
)
=>
{
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
===
'success'
)
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'success'
,
popupDel
:
false
})
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
,
popupDel
:
false
},
()
=>
{
if
(
response
.
data
.
message
.
includes
(
"Token"
))
{
setTimeout
(()
=>
{
localStorage
.
removeItem
(
Constant
.
TOKEN
)
window
.
location
.
reload
();
},
1000
);
}
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'error'
,
popupDel
:
false
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
problem
,
tipeAlert
:
'error'
,
popupDel
:
false
})
}
this
.
getRole
()
})
}
render
()
{
const
columns
=
[{
name
:
"Action"
,
...
...
@@ -186,7 +213,22 @@ class UserRole extends Component {
null
}
<
/div
>
<
/button
>
)}
{
this
.
state
.
buttonEdit
&&
(
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
marginLeft
:
10
}}
onClick
=
{()
=>
this
.
setState
({
popupDel
:
true
,
rowData
:
tableMeta
.
rowData
})}
>
{
tableMeta
.
rowData
[
2
]
!==
"superadmin"
?
<
img
src
=
{
Images
.
delete
}
/>
:
null
}
<
/button
>
)}
<
/div
>
...
...
@@ -317,6 +359,38 @@ class UserRole extends Component {
data
=
{
this
.
state
.
indexData
}
/
>
)}
{
this
.
state
.
popupDel
&&
(
<
div
className
=
"test app-popup-show"
>
<
div
className
=
"popup-content background-white border-radius"
style
=
{{
borderRadius
:
8
,
padding
:
50
}}
>
<
div
style
=
{{
display
:
'flex'
,
justifyContent
:
'center'
}}
>
<
img
src
=
{
Images
.
failedCopy
}
/
>
<
/div
>
<
div
style
=
{{
display
:
'grid'
,
justifyContent
:
'center'
,
marginTop
:
20
}}
>
<
span
style
=
{{
textAlign
:
'center'
,
fontSize
:
14
,
fontWeight
:
'bold'
}}
>
Delete
{
this
.
state
.
rowData
[
2
]}
?
<
/span
>
{
/* <span style={{ textAlign: 'center', fontSize: 14, fontWeight: 'bold' }}>
{`Please try again later.`}
</span> */
}
<
/div
>
<
div
style
=
{{
display
:
'flex'
,
justifyContent
:
'center'
,
marginTop
:
24
}}
>
<
button
className
=
{
"btn-save"
}
onClick
=
{()
=>
this
.
setState
({
popupDel
:
false
})}
>
<
span
style
=
{{
color
:
'white'
}}
>
Cancel
<
/span
>
<
/button
>
<
button
className
=
{
"btn-save"
}
style
=
{{
marginLeft
:
50
}}
onClick
=
{()
=>
this
.
deleteRole
()}
>
<
span
style
=
{{
color
:
'white'
}}
>
Delete
<
/span
>
<
/button
>
<
/div
>
<
/div
>
<
/div
>
)}
<
/div
>
);
}
...
...
src/container/Otorisasi/UserRole/AddRole.js
View file @
e552be16
...
...
@@ -111,7 +111,7 @@ export default class AddRole extends Component {
validasi
()
{
if
(
R
.
isEmpty
(
this
.
state
.
roleName
))
{
this
.
setState
({
errorRoleName
:
true
,
msgErrorRN
:
'
User
Role Cannot be Empty.'
})
this
.
setState
({
errorRoleName
:
true
,
msgErrorRN
:
'Role Cannot be Empty.'
})
}
else
if
(
R
.
isNil
(
this
.
state
.
startDate
))
{
this
.
setState
({
errorStartDate
:
true
,
msgErrorSD
:
'Valid From Cannot be Empty.'
})
}
else
if
(
R
.
isNil
(
this
.
state
.
endDate
))
{
...
...
@@ -225,7 +225,7 @@ export default class AddRole extends Component {
if
(
indexID
===
-
1
)
{
privileges
.
push
({
menu_id
:
item
.
menu_id
,
button_id
:
[
1
,
2
,
3
]
button_id
:
[
1
,
2
,
3
,
4
]
})
if
(
item
.
sub_menu
.
length
>
0
)
{
item
.
sub_menu
.
map
((
items
,
indexs
)
=>
{
...
...
@@ -233,7 +233,7 @@ export default class AddRole extends Component {
if
(
indexIDs
===
-
1
)
{
privileges
.
push
({
menu_id
:
items
.
menu_id
,
button_id
:
[
1
,
2
,
3
]
button_id
:
[
1
,
2
,
3
,
4
]
})
}
})
...
...
@@ -255,7 +255,7 @@ export default class AddRole extends Component {
if
(
indexIDref
==
-
1
)
{
privileges
.
push
({
menu_id
:
item
.
reference
,
button_id
:
[
1
,
2
,
3
]
button_id
:
[
1
,
2
,
3
,
4
]
})
}
else
{
if
(
total
<
1
)
{
...
...
@@ -289,7 +289,7 @@ export default class AddRole extends Component {
if
(
indexIDref
==
-
1
)
{
privileges
.
push
({
menu_id
:
item
.
reference
,
button_id
:
[
1
,
2
,
3
]
button_id
:
[
1
,
2
,
3
,
4
]
})
}
else
{
if
(
total
<
1
)
{
...
...
@@ -298,7 +298,9 @@ export default class AddRole extends Component {
}
}
}
this
.
setState
({
privileges
})
this
.
setState
({
privileges
},
()
=>
{
console
.
log
(
this
.
state
.
privileges
)
})
}
handleSubItemChecked
(
item
,
index
)
{
...
...
@@ -322,16 +324,87 @@ export default class AddRole extends Component {
let
indexButtonID
=
this
.
state
.
privileges
[
indexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
let
privileges
=
this
.
state
.
privileges
let
button_id
=
privileges
[
indexID
].
button_id
if
(
indexButtonID
===
-
1
)
{
button_id
.
push
(
index
)
if
(
item
.
sub_menu
.
length
>
0
)
{
item
.
sub_menu
.
map
((
items
,
indexs
)
=>
{
let
subIndexID
=
privileges
.
findIndex
((
val
)
=>
val
.
menu_id
===
items
.
menu_id
)
if
(
subIndexID
===
-
1
)
{
console
.
log
(
'masuk pa eko'
,
subIndexID
)
privileges
.
push
({
menu_id
:
items
.
menu_id
,
button_id
:
[
index
]
})
}
else
{
let
subIndexButtonID
=
privileges
[
subIndexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
let
subButton_id
=
privileges
[
subIndexID
].
button_id
if
(
subIndexButtonID
===
-
1
)
{
subButton_id
.
push
(
index
)
}
}
})
}
if
(
item
.
reference
!==
null
&&
item
.
reference
!==
13
&&
item
.
reference
!==
1
)
{
let
refIndexID
=
privileges
.
findIndex
((
val
)
=>
val
.
menu_id
===
item
.
reference
)
if
(
refIndexID
!==
-
1
)
{
let
refIndexButtonID
=
privileges
[
refIndexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
let
refButton_id
=
privileges
[
refIndexID
].
button_id
if
(
refIndexButtonID
===
-
1
)
{
refButton_id
.
push
(
index
)
}
privileges
[
refIndexID
].
button_id
=
refButton_id
}
}
}
else
{
button_id
.
splice
(
indexButtonID
,
1
)
if
(
item
.
sub_menu
.
length
>
0
)
{
item
.
sub_menu
.
map
((
items
,
indexs
)
=>
{
let
subIndexID
=
privileges
.
findIndex
((
val
)
=>
val
.
menu_id
===
items
.
menu_id
)
if
(
subIndexID
!==
-
1
)
{
let
subIndexButtonID
=
privileges
[
subIndexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
let
subButton_id
=
privileges
[
subIndexID
].
button_id
if
(
subIndexButtonID
!==
-
1
)
{
subButton_id
.
splice
(
subIndexButtonID
,
1
)
privileges
[
subIndexID
].
button_id
=
subButton_id
if
(
privileges
[
subIndexID
].
button_id
.
length
<
1
)
{
privileges
.
splice
(
subIndexID
,
1
)
}
privileges
[
indexID
].
button_id
=
button_id
}
}
})
}
if
(
item
.
reference
!==
null
&&
item
.
reference
!==
13
&&
item
.
reference
!==
1
)
{
let
refIndexID
=
privileges
.
findIndex
((
val
)
=>
val
.
menu_id
===
item
.
reference
)
if
(
refIndexID
!==
-
1
)
{
let
refIndexButtonID
=
privileges
[
refIndexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
let
refButton_id
=
privileges
[
refIndexID
].
button_id
let
indexIDapp
=
this
.
state
.
application
.
findIndex
((
val
)
=>
val
.
menu_id
===
item
.
reference
)
let
indexIDset
=
this
.
state
.
setting
.
findIndex
((
val
)
=>
val
.
menu_id
===
item
.
reference
)
let
indexIDs
=
indexIDapp
==
-
1
?
indexIDset
:
indexIDapp
let
array
=
indexIDapp
==
-
1
?
this
.
state
.
setting
:
this
.
state
.
application
let
splicer
=
0
array
[
indexIDs
].
sub_menu
.
map
((
refItem
,
refIndex
)
=>
{
let
subIndexID
=
privileges
.
findIndex
((
val
)
=>
val
.
menu_id
===
refItem
.
menu_id
)
if
(
subIndexID
!==
-
1
)
{
let
subIndexButtonID
=
privileges
[
subIndexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
if
(
subIndexButtonID
!==
-
1
)
{
splicer
+=
1
}
}
})
if
(
refIndexButtonID
!==
-
1
&&
splicer
<
1
)
{
refButton_id
.
splice
(
refIndexButtonID
,
1
)
}
privileges
[
refIndexID
].
button_id
=
refButton_id
}
}
}
privileges
[
indexID
].
button_id
=
button_id
.
sort
((
a
,
b
)
=>
a
-
b
)
if
(
button_id
.
length
===
0
)
{
privileges
.
splice
(
indexID
,
1
)
}
this
.
setState
({
privileges
})
this
.
setState
({
privileges
:
privileges
.
sort
((
a
,
b
)
=>
a
.
menu_id
-
b
.
menu_id
)
})
}
handleDate
(
item
)
{
...
...
@@ -456,7 +529,7 @@ export default class AddRole extends Component {
margin
=
"normal"
id
=
"startDate"
label
=
"Valid From"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
value
=
{
this
.
state
.
startDate
}
error
=
{
this
.
state
.
errorStartDate
}
helperText
=
{
this
.
state
.
msgErrorSD
}
...
...
@@ -489,7 +562,7 @@ export default class AddRole extends Component {
margin
=
"normal"
id
=
"endDate"
label
=
"Valid To"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
value
=
{
this
.
state
.
endDate
}
error
=
{
this
.
state
.
errorEndDate
}
helperText
=
{
this
.
state
.
msgErrorED
}
...
...
@@ -564,7 +637,7 @@ export default class AddRole extends Component {
<
div
className
=
"column-1"
>
<
Typography
style
=
{{
fontSize
:
12
,
color
:
'white'
}}
>
Authorization
Module
<
/Typography
>
<
/div
>
<
div
className
=
"column-2 grid grid-
3
x content-center grid-mobile-none gap-15px"
>
<
div
className
=
"column-2 grid grid-
4
x content-center grid-mobile-none gap-15px"
>
<
div
className
=
"column-1"
>
<
Typography
style
=
{{
fontSize
:
12
,
color
:
'white'
}}
>
View
<
/Typography
>
<
/div
>
...
...
@@ -574,6 +647,9 @@ export default class AddRole extends Component {
<
div
className
=
"column 3"
>
<
Typography
style
=
{{
fontSize
:
12
,
color
:
'white'
}}
>
Edit
<
/Typography
>
<
/div
>
<
div
className
=
"column 4"
>
<
Typography
style
=
{{
fontSize
:
12
,
color
:
'white'
}}
>
Delete
<
/Typography
>
<
/div
>
<
/div
>
<
/div
>
...
...
@@ -594,7 +670,7 @@ export default class AddRole extends Component {
<
/span
>
<
Typography
style
=
{{
fontSize
:
12
,
marginLeft
:
5
}}
>
{
item
.
label
}
<
/Typography
>
<
/div
>
<
div
className
=
"column-2 grid grid-
3
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-2 grid grid-
4
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-1"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
item
)}
...
...
@@ -618,6 +694,14 @@ export default class AddRole extends Component {
onChange
=
{()
=>
this
.
handleSubItemClick
(
item
,
3
)}
/
>
<
/div
>
<
div
className
=
"column 4"
>
<
CustomCheckbox
// disabled
disabled
=
{
!
this
.
handleItemChecked
(
item
)}
checked
=
{
this
.
handleSubItemChecked
(
item
,
4
)}
onChange
=
{()
=>
this
.
handleSubItemClick
(
item
,
4
)}
/
>
<
/div
>
<
/div
>
<
/div
>
{
item
.
sub_menu
.
length
>
0
&&
item
.
sub_menu
.
map
((
items
,
indexs
)
=>
{
...
...
@@ -631,7 +715,7 @@ export default class AddRole extends Component {
/
>
<
Typography
style
=
{{
fontSize
:
12
,
maxWidth
:
'100%'
,
marginLeft
:
5
}}
>
{
items
.
label
}
<
/Typography
>
<
/div
>
<
div
className
=
"column-2 grid grid-
3
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-2 grid grid-
4
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-1"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
items
)}
...
...
@@ -653,6 +737,13 @@ export default class AddRole extends Component {
onChange
=
{()
=>
this
.
handleSubItemClick
(
items
,
3
)}
/
>
<
/div
>
<
div
className
=
"column 4"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
items
)}
checked
=
{
this
.
handleSubItemChecked
(
items
,
4
)}
onChange
=
{()
=>
this
.
handleSubItemClick
(
items
,
4
)}
/
>
<
/div
>
<
/div
>
<
/div
>
<
/Collapse
>
...
...
@@ -677,7 +768,7 @@ export default class AddRole extends Component {
<
/span
>
<
Typography
style
=
{{
fontSize
:
12
,
marginLeft
:
5
}}
>
{
item
.
label
}
<
/Typography
>
<
/div
>
<
div
className
=
"column-2 grid grid-
3
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-2 grid grid-
4
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-1"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
item
)}
...
...
@@ -701,6 +792,14 @@ export default class AddRole extends Component {
onChange
=
{()
=>
this
.
handleSubItemClick
(
item
,
3
)}
/
>
<
/div
>
<
div
className
=
"column 4"
>
<
CustomCheckbox
// disabled
disabled
=
{
!
this
.
handleItemChecked
(
item
)}
checked
=
{
this
.
handleSubItemChecked
(
item
,
4
)}
onChange
=
{()
=>
this
.
handleSubItemClick
(
item
,
4
)}
/
>
<
/div
>
<
/div
>
<
/div>
}
{
item
.
sub_menu
.
length
>
0
&&
item
.
sub_menu
.
map
((
items
,
indexs
)
=>
{
...
...
@@ -714,7 +813,7 @@ export default class AddRole extends Component {
/
>
<
Typography
style
=
{{
fontSize
:
12
,
maxWidth
:
'100%'
,
marginLeft
:
5
}}
>
{
items
.
label
}
<
/Typography
>
<
/div
>
<
div
className
=
"column-2 grid grid-
3
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-2 grid grid-
4
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-1"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
items
)}
...
...
@@ -736,6 +835,13 @@ export default class AddRole extends Component {
onChange
=
{()
=>
this
.
handleSubItemClick
(
items
,
3
)}
/
>
<
/div
>
<
div
className
=
"column 4"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
items
)}
checked
=
{
this
.
handleSubItemChecked
(
items
,
4
)}
onChange
=
{()
=>
this
.
handleSubItemClick
(
items
,
4
)}
/
>
<
/div
>
<
/div
>
<
/div
>
<
/Collapse
>
...
...
src/container/Otorisasi/UserRole/EditRole.js
View file @
e552be16
...
...
@@ -124,7 +124,7 @@ export default class EditRole extends Component {
validasi
()
{
if
(
R
.
isEmpty
(
this
.
state
.
tempData
.
role_name
))
{
this
.
setState
({
errorRoleName
:
true
,
msgErrorRN
:
'
User
Role Cannot be Empty.'
})
this
.
setState
({
errorRoleName
:
true
,
msgErrorRN
:
'Role Cannot be Empty.'
})
}
else
if
(
R
.
isNil
(
this
.
state
.
tempData
.
start_date
))
{
this
.
setState
({
errorStartDate
:
true
,
msgErrorSD
:
'Valid From Cannot be Empty.'
})
}
else
if
(
R
.
isNil
(
this
.
state
.
tempData
.
end_date
))
{
...
...
@@ -142,15 +142,15 @@ export default class EditRole extends Component {
let
privileges
=
this
.
state
.
privileges
privileges
.
push
({
menu_id
:
23
,
button_id
:
[
1
,
2
,
3
]
button_id
:
[
1
,
2
,
3
,
4
]
})
privileges
.
push
({
menu_id
:
24
,
button_id
:
[
1
,
2
,
3
]
button_id
:
[
1
,
2
,
3
,
4
]
})
privileges
.
push
({
menu_id
:
25
,
button_id
:
[
1
,
2
,
3
]
button_id
:
[
1
,
2
,
3
,
4
]
})
let
payload
=
{
"role_id"
:
this
.
state
.
tempData
.
role_id
,
...
...
@@ -253,7 +253,7 @@ export default class EditRole extends Component {
if
(
indexID
===
-
1
)
{
privileges
.
push
({
menu_id
:
item
.
menu_id
,
button_id
:
[
1
,
2
,
3
]
button_id
:
[
1
,
2
,
3
,
4
]
})
if
(
item
.
sub_menu
.
length
>
0
)
{
item
.
sub_menu
.
map
((
items
,
indexs
)
=>
{
...
...
@@ -261,7 +261,7 @@ export default class EditRole extends Component {
if
(
indexIDs
===
-
1
)
{
privileges
.
push
({
menu_id
:
items
.
menu_id
,
button_id
:
[
1
,
2
,
3
]
button_id
:
[
1
,
2
,
3
,
4
]
})
}
})
...
...
@@ -299,16 +299,87 @@ export default class EditRole extends Component {
let
indexButtonID
=
this
.
state
.
privileges
[
indexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
let
privileges
=
this
.
state
.
privileges
let
button_id
=
privileges
[
indexID
].
button_id
if
(
indexButtonID
===
-
1
)
{
button_id
.
push
(
index
)
if
(
item
.
sub_menu
.
length
>
0
)
{
item
.
sub_menu
.
map
((
items
,
indexs
)
=>
{
let
subIndexID
=
privileges
.
findIndex
((
val
)
=>
val
.
menu_id
===
items
.
menu_id
)
if
(
subIndexID
===
-
1
)
{
console
.
log
(
'masuk pa eko'
,
subIndexID
)
privileges
.
push
({
menu_id
:
items
.
menu_id
,
button_id
:
[
index
]
})
}
else
{
let
subIndexButtonID
=
privileges
[
subIndexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
let
subButton_id
=
privileges
[
subIndexID
].
button_id
if
(
subIndexButtonID
===
-
1
)
{
subButton_id
.
push
(
index
)
}
}
})
}
if
(
item
.
reference
!==
null
&&
item
.
reference
!==
13
&&
item
.
reference
!==
1
)
{
let
refIndexID
=
privileges
.
findIndex
((
val
)
=>
val
.
menu_id
===
item
.
reference
)
if
(
refIndexID
!==
-
1
)
{
let
refIndexButtonID
=
privileges
[
refIndexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
let
refButton_id
=
privileges
[
refIndexID
].
button_id
if
(
refIndexButtonID
===
-
1
)
{
refButton_id
.
push
(
index
)
}
privileges
[
refIndexID
].
button_id
=
refButton_id
}
}
}
else
{
button_id
.
splice
(
indexButtonID
,
1
)
if
(
item
.
sub_menu
.
length
>
0
)
{
item
.
sub_menu
.
map
((
items
,
indexs
)
=>
{
let
subIndexID
=
privileges
.
findIndex
((
val
)
=>
val
.
menu_id
===
items
.
menu_id
)
if
(
subIndexID
!==
-
1
)
{
let
subIndexButtonID
=
privileges
[
subIndexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
let
subButton_id
=
privileges
[
subIndexID
].
button_id
if
(
subIndexButtonID
!==
-
1
)
{
subButton_id
.
splice
(
subIndexButtonID
,
1
)
privileges
[
subIndexID
].
button_id
=
subButton_id
if
(
privileges
[
subIndexID
].
button_id
.
length
<
1
)
{
privileges
.
splice
(
subIndexID
,
1
)
}
}
}
})
}
if
(
item
.
reference
!==
null
&&
item
.
reference
!==
13
&&
item
.
reference
!==
1
)
{
let
refIndexID
=
privileges
.
findIndex
((
val
)
=>
val
.
menu_id
===
item
.
reference
)
if
(
refIndexID
!==
-
1
)
{
let
refIndexButtonID
=
privileges
[
refIndexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
let
refButton_id
=
privileges
[
refIndexID
].
button_id
let
indexIDapp
=
this
.
state
.
application
.
findIndex
((
val
)
=>
val
.
menu_id
===
item
.
reference
)
let
indexIDset
=
this
.
state
.
setting
.
findIndex
((
val
)
=>
val
.
menu_id
===
item
.
reference
)
let
indexIDs
=
indexIDapp
==
-
1
?
indexIDset
:
indexIDapp
let
array
=
indexIDapp
==
-
1
?
this
.
state
.
setting
:
this
.
state
.
application
let
splicer
=
0
array
[
indexIDs
].
sub_menu
.
map
((
refItem
,
refIndex
)
=>
{
let
subIndexID
=
privileges
.
findIndex
((
val
)
=>
val
.
menu_id
===
refItem
.
menu_id
)
if
(
subIndexID
!==
-
1
)
{
let
subIndexButtonID
=
privileges
[
subIndexID
].
button_id
.
findIndex
((
val
)
=>
val
===
index
)
if
(
subIndexButtonID
!==
-
1
)
{
splicer
+=
1
}
}
privileges
[
indexID
].
button_id
=
button_id
})
if
(
refIndexButtonID
!==
-
1
&&
splicer
<
1
)
{
refButton_id
.
splice
(
refIndexButtonID
,
1
)
}
privileges
[
refIndexID
].
button_id
=
refButton_id
}
}
}
privileges
[
indexID
].
button_id
=
button_id
.
sort
((
a
,
b
)
=>
a
-
b
)
if
(
button_id
.
length
===
0
)
{
privileges
.
splice
(
indexID
,
1
)
}
this
.
setState
({
privileges
})
this
.
setState
({
privileges
:
privileges
.
sort
((
a
,
b
)
=>
a
.
menu_id
-
b
.
menu_id
)
})
}
handleCollapse
(
item
)
{
...
...
@@ -433,7 +504,7 @@ export default class EditRole extends Component {
margin
=
"normal"
id
=
"startDate"
label
=
"Valid From"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
value
=
{
this
.
state
.
tempData
===
null
?
null
:
this
.
state
.
tempData
.
start_date
}
error
=
{
this
.
state
.
errorStartDate
}
helperText
=
{
this
.
state
.
msgErrorSD
}
...
...
@@ -466,7 +537,7 @@ export default class EditRole extends Component {
margin
=
"normal"
id
=
"endDate"
label
=
"Valid To"
format
=
"dd
MMMM
yyyy"
format
=
"dd
-MM-
yyyy"
value
=
{
this
.
state
.
tempData
===
null
?
null
:
this
.
state
.
tempData
.
end_date
}
error
=
{
this
.
state
.
errorEndDate
}
helperText
=
{
this
.
state
.
msgErrorED
}
...
...
@@ -540,7 +611,7 @@ export default class EditRole extends Component {
<
div
className
=
"column-1"
>
<
Typography
style
=
{{
fontSize
:
12
,
color
:
'white'
}}
>
Authorization
Module
<
/Typography
>
<
/div
>
<
div
className
=
"column-2 grid grid-
3
x content-center grid-mobile-none gap-15px"
>
<
div
className
=
"column-2 grid grid-
4
x content-center grid-mobile-none gap-15px"
>
<
div
className
=
"column-1"
>
<
Typography
style
=
{{
fontSize
:
12
,
color
:
'white'
}}
>
View
<
/Typography
>
<
/div
>
...
...
@@ -570,7 +641,7 @@ export default class EditRole extends Component {
<
/span
>
<
Typography
style
=
{{
fontSize
:
12
,
marginLeft
:
5
}}
>
{
item
.
label
}
<
/Typography
>
<
/div
>
<
div
className
=
"column-2 grid grid-
3
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-2 grid grid-
4
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-1"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
item
)}
...
...
@@ -594,6 +665,13 @@ export default class EditRole extends Component {
onChange
=
{()
=>
this
.
handleSubItemClick
(
item
,
3
)}
/
>
<
/div
>
<
div
className
=
"column 4"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
item
)}
checked
=
{
this
.
handleSubItemChecked
(
item
,
4
)}
onChange
=
{()
=>
this
.
handleSubItemClick
(
item
,
4
)}
/
>
<
/div
>
<
/div
>
<
/div
>
{
item
.
sub_menu
.
length
>
0
&&
item
.
sub_menu
.
map
((
items
,
indexs
)
=>
{
...
...
@@ -607,7 +685,7 @@ export default class EditRole extends Component {
/
>
<
Typography
style
=
{{
fontSize
:
12
,
maxWidth
:
'100%'
,
marginLeft
:
5
}}
>
{
items
.
label
}
<
/Typography
>
<
/div
>
<
div
className
=
"column-2 grid grid-
3
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-2 grid grid-
4
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-1"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
items
)}
...
...
@@ -629,6 +707,13 @@ export default class EditRole extends Component {
onChange
=
{()
=>
this
.
handleSubItemClick
(
items
,
3
)}
/
>
<
/div
>
<
div
className
=
"column 4"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
items
)}
checked
=
{
this
.
handleSubItemChecked
(
items
,
4
)}
onChange
=
{()
=>
this
.
handleSubItemClick
(
items
,
4
)}
/
>
<
/div
>
<
/div
>
<
/div
>
<
/Collapse
>
...
...
@@ -653,7 +738,7 @@ export default class EditRole extends Component {
<
/span
>
<
Typography
style
=
{{
fontSize
:
12
,
marginLeft
:
5
}}
>
{
item
.
label
}
<
/Typography
>
<
/div
>
<
div
className
=
"column-2 grid grid-
3
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-2 grid grid-
4
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-1"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
item
)}
...
...
@@ -677,6 +762,13 @@ export default class EditRole extends Component {
onChange
=
{()
=>
this
.
handleSubItemClick
(
item
,
3
)}
/
>
<
/div
>
<
div
className
=
"column 4"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
item
)}
checked
=
{
this
.
handleSubItemChecked
(
item
,
4
)}
onChange
=
{()
=>
this
.
handleSubItemClick
(
item
,
4
)}
/
>
<
/div
>
<
/div
>
<
/div>
}
{
item
.
sub_menu
.
length
>
0
&&
item
.
sub_menu
.
map
((
items
,
indexs
)
=>
{
...
...
@@ -690,7 +782,7 @@ export default class EditRole extends Component {
/
>
<
Typography
style
=
{{
fontSize
:
12
,
maxWidth
:
'100%'
,
marginLeft
:
5
}}
>
{
items
.
label
}
<
/Typography
>
<
/div
>
<
div
className
=
"column-2 grid grid-
3
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-2 grid grid-
4
x content-center grid-mobile-none gap-15px margin-left-10px"
>
<
div
className
=
"column-1"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
items
)}
...
...
@@ -712,6 +804,13 @@ export default class EditRole extends Component {
onChange
=
{()
=>
this
.
handleSubItemClick
(
items
,
3
)}
/
>
<
/div
>
<
div
className
=
"column 4"
>
<
CustomCheckbox
disabled
=
{
!
this
.
handleItemChecked
(
items
)}
checked
=
{
this
.
handleSubItemChecked
(
items
,
4
)}
onChange
=
{()
=>
this
.
handleSubItemClick
(
items
,
4
)}
/
>
<
/div
>
<
/div
>
<
/div
>
<
/Collapse
>
...
...
src/container/Profile.js
View file @
e552be16
...
...
@@ -94,7 +94,7 @@ export default class Profile extends Component {
}
else
if
(
!
this
.
isRegex
(
this
.
state
.
password
))
{
this
.
setState
({
errorPassword
:
true
,
msgPassword
:
'Password Must be a Combination of Characters, Letters and Numbers.'
})
}
else
if
(
this
.
state
.
confirmPassword
.
trim
()
==
""
)
{
this
.
setState
({
errorConfirmPassword
:
true
,
msgConfirmPassword
:
'
Password Confirmation
Cannot be Empty.'
})
this
.
setState
({
errorConfirmPassword
:
true
,
msgConfirmPassword
:
'
Repeat Password
Cannot be Empty.'
})
}
else
if
(
this
.
state
.
password
!==
this
.
state
.
confirmPassword
)
{
this
.
setState
({
errorConfirmPassword
:
true
,
msgConfirmPassword
:
'Password Does Not Match.'
})
}
else
{
...
...
src/container/ResetPassword.js
View file @
e552be16
...
...
@@ -190,7 +190,7 @@ class ResetPassword extends Component {
}}
/
>
<
Button
name
=
"submit"
variant
=
"contained"
disabled
=
{
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
true
:
false
}
onClick
=
{()
=>
this
.
validateReset
()}
style
=
{{
marginTop
:
5
0
,
width
:
'100%'
,
height
:
35
,
borderRadius
:
4
,
color
:
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
'#4b4b4b'
:
'#fff'
,
backgroundColor
:
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
'#d8d8d8'
:
'#51c6ea'
}}
>
<
Button
name
=
"submit"
variant
=
"contained"
disabled
=
{
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
true
:
false
}
onClick
=
{()
=>
this
.
validateReset
()}
style
=
{{
marginTop
:
6
0
,
width
:
'100%'
,
height
:
35
,
borderRadius
:
4
,
color
:
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
'#4b4b4b'
:
'#fff'
,
backgroundColor
:
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
'#d8d8d8'
:
'#51c6ea'
}}
>
<
Typography
style
=
{{
fontSize
:
12
,
fontFamily
:
'Nunito Sans, sans-serif'
}}
>
Reset
Password
<
/Typography
>
<
/Button
>
<
/div
>
...
...
src/container/SetPassword.js
View file @
e552be16
...
...
@@ -76,7 +76,7 @@ class SetPassword extends Component {
}
else
if
(
!
this
.
isRegex
(
this
.
state
.
password
))
{
this
.
setState
({
errorPassword
:
true
,
msgPassword
:
'Invalid password. Must using combination of characters, letters and numbers.'
})
}
else
if
(
this
.
state
.
confirmPassword
.
trim
()
==
""
)
{
this
.
setState
({
errorConfirmPassword
:
true
,
msgConfirmPassword
:
'
Password Confirmation
Cannot be Empty.'
})
this
.
setState
({
errorConfirmPassword
:
true
,
msgConfirmPassword
:
'
Repeat Password
Cannot be Empty.'
})
}
else
if
(
this
.
state
.
password
!==
this
.
state
.
confirmPassword
)
{
this
.
setState
({
errorConfirmPassword
:
true
,
msgConfirmPassword
:
'The password and password confirmation do not match.'
})
}
else
{
...
...
@@ -190,7 +190,7 @@ class SetPassword extends Component {
}}
/
>
<
Button
name
=
"submit"
variant
=
"contained"
disabled
=
{
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
true
:
false
}
onClick
=
{()
=>
this
.
validateReset
()}
style
=
{{
marginTop
:
5
0
,
width
:
'100%'
,
height
:
35
,
borderRadius
:
4
,
color
:
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
'#4b4b4b'
:
'#fff'
,
backgroundColor
:
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
'#d8d8d8'
:
'#51c6ea'
}}
>
<
Button
name
=
"submit"
variant
=
"contained"
disabled
=
{
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
true
:
false
}
onClick
=
{()
=>
this
.
validateReset
()}
style
=
{{
marginTop
:
6
0
,
width
:
'100%'
,
height
:
35
,
borderRadius
:
4
,
color
:
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
'#4b4b4b'
:
'#fff'
,
backgroundColor
:
this
.
state
.
password
.
trim
()
==
''
&&
this
.
state
.
confirmPassword
.
trim
()
==
''
?
'#d8d8d8'
:
'#51c6ea'
}}
>
<
Typography
style
=
{{
fontSize
:
12
,
fontFamily
:
'Nunito Sans, sans-serif'
}}
>
Next
<
/Typography
>
<
/Button
>
<
/div
>
...
...
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