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
842274e1
Commit
842274e1
authored
Sep 22, 2020
by
Dida Adams Arizona
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'didam' into 'master'
Didam See merge request
!358
parents
f45c11fc
7c8b1201
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
230 additions
and
98 deletions
+230
-98
CorporateAnnualTarget.js
src/container/BudgetTahunan/CorporateAnnualTarget.js
+175
-93
ProfitLoss.js
src/container/BudgetTahunan/ProfitLoss.js
+55
-5
No files found.
src/container/BudgetTahunan/CorporateAnnualTarget.js
View file @
842274e1
import
React
,
{
Component
}
from
'react'
;
import
React
,
{
Component
}
from
'react'
;
import
{
Typography
,
Paper
,
createMuiTheme
,
MuiThemeProvider
,
TableCell
,
FormControlLabel
,
TextField
,
Input
,
withStyles
,
makeStyles
,
Snackbar
}
from
'@material-ui/core'
;
import
{
Typography
,
Paper
,
createMuiTheme
,
ThemeProvider
,
MuiThemeProvider
,
TableCell
,
FormControlLabel
,
TextField
,
Input
,
withStyles
,
makeStyles
,
Snackbar
}
from
'@material-ui/core'
;
import
MUIDataTable
from
'mui-datatables'
;
import
MUIDataTable
from
'mui-datatables'
;
import
NumberFormat
from
'react-number-format'
;
import
NumberFormat
from
'react-number-format'
;
import
api
from
'../../api'
;
import
api
from
'../../api'
;
...
@@ -38,7 +38,18 @@ const style2 = {
...
@@ -38,7 +38,18 @@ const style2 = {
background
:
"white"
,
background
:
"white"
,
zIndex
:
100
zIndex
:
100
};
};
const
theme
=
createMuiTheme
({
overrides
:
{
// Style sheet name ⚛️
MuiInputBase
:
{
input
:
{
color
:
'#5198ea'
}
}
},
});
export
default
class
CorporateAnnualTarget
extends
Component
{
export
default
class
CorporateAnnualTarget
extends
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
)
super
(
props
)
...
@@ -54,7 +65,7 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -54,7 +65,7 @@ export default class CorporateAnnualTarget extends Component {
loading
:
false
,
loading
:
false
,
uomList
:
[],
uomList
:
[],
formulaYtdList
:
{
formulaYtdList
:
{
options
:
[{
value
:
'SUM'
},
{
value
:
'AVG'
},
{
value
:
'
MIN'
},
{
value
:
'MAX
'
}],
options
:
[{
value
:
'SUM'
},
{
value
:
'AVG'
},
{
value
:
'
LAST
'
}],
getOptionLabel
:
(
option
)
=>
titleCase
(
option
.
value
),
getOptionLabel
:
(
option
)
=>
titleCase
(
option
.
value
),
},
},
kpiTypeList
:
[],
kpiTypeList
:
[],
...
@@ -62,7 +73,8 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -62,7 +73,8 @@ export default class CorporateAnnualTarget extends Component {
visibleCAT
:
true
,
visibleCAT
:
true
,
buttonError
:
true
,
buttonError
:
true
,
// formulaYTDList: null,,
// formulaYTDList: null,,
dataDelete
:
[]
dataDelete
:
[],
dataReal
:
[]
}
}
this
.
fileHandler
=
this
.
fileHandler
.
bind
(
this
);
this
.
fileHandler
=
this
.
fileHandler
.
bind
(
this
);
...
@@ -101,7 +113,7 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -101,7 +113,7 @@ export default class CorporateAnnualTarget extends Component {
item
.
level
,
item
.
level
,
""
,
""
,
item
.
description
,
item
.
description
,
item
.
cat
.
weight
,
item
.
type_report_id
==
1
?
`
${
Number
(
item
.
weight
)
*
100
}
%`
:
(
String
(
item
.
cat
.
weight
).
includes
(
'%'
)?
`
${
Number
(
String
(
item
.
cat
.
weight
).
replace
(
'%'
,
''
))
*
100
}
%`
:
`
${
Number
(
item
.
cat
.
weight
)
*
100
}
%`
)
,
item
.
cat
.
uom
,
item
.
cat
.
uom
,
item
.
cat
.
kpi_type
==
""
?
null
:
{
value
:
item
.
cat
.
kpi_type
},
item
.
cat
.
kpi_type
==
""
?
null
:
{
value
:
item
.
cat
.
kpi_type
},
item
.
cat
.
max_ach
==
""
?
null
:
{
value
:
item
.
cat
.
max_ach
},
item
.
cat
.
max_ach
==
""
?
null
:
{
value
:
item
.
cat
.
max_ach
},
...
@@ -143,7 +155,7 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -143,7 +155,7 @@ export default class CorporateAnnualTarget extends Component {
item
.
level
,
item
.
level
,
""
,
""
,
item
.
description
,
item
.
description
,
item
.
cat
.
weight
,
item
.
type_report_id
==
1
?
`
${
Number
(
item
.
weight
)
*
100
}
%`
:
(
String
(
item
.
cat
.
weight
).
includes
(
'%'
)?
`
${
Number
(
String
(
item
.
cat
.
weight
).
replace
(
'%'
,
''
))
*
100
}
%`
:
`
${
Number
(
item
.
cat
.
weight
)
*
100
}
%`
)
,
item
.
cat
.
uom
,
item
.
cat
.
uom
,
item
.
cat
.
kpi_type
==
""
?
null
:
{
value
:
item
.
cat
.
kpi_type
},
item
.
cat
.
kpi_type
==
""
?
null
:
{
value
:
item
.
cat
.
kpi_type
},
item
.
cat
.
max_ach
==
""
?
null
:
{
value
:
item
.
cat
.
max_ach
},
item
.
cat
.
max_ach
==
""
?
null
:
{
value
:
item
.
cat
.
max_ach
},
...
@@ -175,7 +187,7 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -175,7 +187,7 @@ export default class CorporateAnnualTarget extends Component {
}
}
}
}
})
})
this
.
setState
({
dataTable
,
loading
:
false
})
this
.
setState
({
dataTable
,
loading
:
false
,
dataReal
:
res
})
})
})
}
}
...
@@ -189,7 +201,7 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -189,7 +201,7 @@ export default class CorporateAnnualTarget extends Component {
let
url
=
window
.
URL
.
createObjectURL
(
res
);
let
url
=
window
.
URL
.
createObjectURL
(
res
);
let
a
=
document
.
createElement
(
'a'
);
let
a
=
document
.
createElement
(
'a'
);
a
.
href
=
url
;
a
.
href
=
url
;
a
.
download
=
'Template
Balance Sheet
.xlsx'
;
a
.
download
=
'Template
Master Budget CAT
.xlsx'
;
a
.
click
();
a
.
click
();
}
}
}
}
...
@@ -427,14 +439,26 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -427,14 +439,26 @@ export default class CorporateAnnualTarget extends Component {
"status"
:
"submitted"
,
"status"
:
"submitted"
,
"cat"
:
data
"cat"
:
data
}
}
api
.
create
().
validateSubmitReport
(
payload
).
then
((
response
)
=>
{
let
totalWeight
=
0
console
.
log
(
response
)
this
.
state
.
dataTable
.
map
((
items
,
indexs
)
=>
{
if
(
response
.
data
.
data
.
result
)
{
if
(
items
[
0
]
==
3
)
{
this
.
setState
({
loading
:
false
,
buttonError
:
false
,
editable
:
true
})
console
.
log
(
items
[
7
])
}
else
{
totalWeight
+=
Number
(
items
[
7
].
replace
(
'%'
,
''
))
this
.
setState
({
loading
:
false
,
buttonError
:
true
,
editable
:
true
})
}
}
})
})
console
.
log
(
totalWeight
)
if
(
totalWeight
<
100
)
{
this
.
setState
({
alert
:
true
,
messageAlert
:
'Total weight less than 100%'
,
tipeAlert
:
'warning'
,
loading
:
false
,
buttonError
:
true
,
editable
:
true
})
}
else
{
api
.
create
().
validateSubmitReport
(
payload
).
then
((
response
)
=>
{
console
.
log
(
response
)
if
(
response
.
data
.
data
.
result
)
{
this
.
setState
({
loading
:
false
,
buttonError
:
false
,
editable
:
true
})
}
else
{
this
.
setState
({
loading
:
false
,
buttonError
:
true
,
editable
:
true
})
}
})
}
}
}
closeAlert
()
{
closeAlert
()
{
...
@@ -608,23 +632,72 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -608,23 +632,72 @@ export default class CorporateAnnualTarget extends Component {
const
handleChange
=
(
value
,
tableMeta
)
=>
{
const
handleChange
=
(
value
,
tableMeta
)
=>
{
let
val
=
String
(
value
).
split
(
","
).
join
(
""
)
let
val
=
String
(
value
).
split
(
","
).
join
(
""
)
let
total
=
0
let
total
=
0
let
lastValz
=
0
dataTable2
[
tableMeta
.
rowIndex
][
tableMeta
.
columnIndex
]
=
Number
(
val
)
dataTable2
[
tableMeta
.
rowIndex
][
tableMeta
.
columnIndex
]
=
Number
(
val
)
dataTable2
[
tableMeta
.
rowIndex
].
map
((
item
,
index
)
=>
{
dataTable2
[
tableMeta
.
rowIndex
].
map
((
item
,
index
)
=>
{
if
(
index
>=
13
&&
index
<=
24
)
{
if
(
index
>=
13
&&
index
<=
24
)
{
let
valItem
=
item
==
undefined
||
item
==
""
?
0
:
item
let
valItem
=
item
==
undefined
||
item
==
""
?
0
:
item
total
+=
Number
(
valItem
)
total
+=
Number
(
valItem
)
if
(
index
==
24
)
{
lastValz
+=
Number
(
valItem
)
}
}
}
})
})
dataTable2
[
tableMeta
.
rowIndex
][
25
]
=
total
let
valz
=
dataTable2
[
tableMeta
.
rowIndex
][
11
]
==
null
?
'SUM'
:
dataTable2
[
tableMeta
.
rowIndex
][
11
].
value
dataTable2
[
tableMeta
.
rowIndex
][
25
]
=
(
valz
==
'SUM'
?
total
:
(
valz
==
'AVG'
?
(
total
/
12
)
:
lastValz
))
console
.
log
(
dataTable2
[
tableMeta
.
rowIndex
])
console
.
log
(
dataTable2
[
tableMeta
.
rowIndex
])
}
}
const
handleChangeDropdown
=
(
value
,
tableMeta
)
=>
{
const
handleChangeDropdown
=
(
value
,
tableMeta
)
=>
{
dataTable2
[
tableMeta
.
rowIndex
][
tableMeta
.
columnIndex
]
=
value
dataTable2
[
tableMeta
.
rowIndex
][
tableMeta
.
columnIndex
]
=
value
let
valz
=
value
.
value
let
total
=
0
let
lastValz
=
0
if
(
valz
==
'SUM'
||
valz
==
'AVG'
||
valz
==
'LAST'
)
{
dataTable2
[
tableMeta
.
rowIndex
].
map
((
item
,
index
)
=>
{
if
(
index
>=
13
&&
index
<=
24
)
{
let
valItem
=
item
==
undefined
||
item
==
""
?
0
:
item
total
+=
Number
(
valItem
)
if
(
index
==
24
)
{
lastValz
+=
Number
(
valItem
)
}
}
})
dataTable2
[
tableMeta
.
rowIndex
][
25
]
=
(
valz
==
'SUM'
?
total
:
(
valz
==
'AVG'
?
(
total
/
12
)
:
lastValz
))
}
}
}
const
handleChangePercentage
=
(
value
,
tableMeta
)
=>
{
const
handleChangePercentage
=
(
value
,
tableMeta
)
=>
{
dataTable2
[
tableMeta
.
rowIndex
][
tableMeta
.
columnIndex
]
=
value
let
valueReal
=
value
.
replace
(
'%'
,
''
)
let
indexParentDatatable
=
dataTable2
.
findIndex
((
val
)
=>
val
[
1
]
==
tableMeta
.
rowData
[
2
])
let
indexParentReal
=
this
.
state
.
dataReal
.
findIndex
((
val
)
=>
val
.
id
==
tableMeta
.
rowData
[
2
])
// console.log(indexParentDatatable)
// console.log(indexParentReal)
let
valParent
=
dataTable2
[
indexParentDatatable
][
7
]
valParent
.
replace
(
'%'
,
''
)
let
valChild
=
0
dataTable2
.
map
((
item
,
index
)
=>
{
if
(
item
[
2
]
==
dataTable2
[
indexParentDatatable
][
1
]
&&
item
[
1
]
!==
tableMeta
.
rowData
[
1
])
{
let
weightItem
=
item
[
7
]
==
""
?
0
:
item
[
7
].
replace
(
'%'
,
''
)
console
.
log
(
weightItem
)
valChild
+=
Number
(
weightItem
)
}
})
let
endVal
=
''
// console.log(Number(valueReal) + Number(valChild))
// console.log(valueReal)
// console.log(Number(valParent.replace('%', '')))
if
((
Number
(
valueReal
)
+
Number
(
valChild
))
>
Number
(
valParent
.
replace
(
'%'
,
''
)))
{
endVal
=
`
${
Number
(
valParent
.
replace
(
'%'
,
''
))
-
(
Number
(
valChild
))}
%`
console
.
log
(
endVal
)
}
else
{
endVal
=
`
${
Number
(
valueReal
)}
%`
console
.
log
(
endVal
)
}
// console.log(endVal)
dataTable2
[
tableMeta
.
rowIndex
][
tableMeta
.
columnIndex
]
=
endVal
}
}
const
handleChangeText
=
(
value
,
tableMeta
)
=>
{
const
handleChangeText
=
(
value
,
tableMeta
)
=>
{
...
@@ -681,6 +754,7 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -681,6 +754,7 @@ export default class CorporateAnnualTarget extends Component {
""
,
""
,
""
,
""
,
""
,
""
,
""
,
""
""
])
])
...
@@ -872,37 +946,32 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -872,37 +946,32 @@ export default class CorporateAnnualTarget extends Component {
customBodyRender
:
(
value
,
tableMeta
,
updateValue
)
=>
{
customBodyRender
:
(
value
,
tableMeta
,
updateValue
)
=>
{
return
(
return
(
<
div
style
=
{{
textAlign
:
'right'
}}
>
<
div
style
=
{{
textAlign
:
'right'
}}
>
{
tableMeta
.
rowData
[
0
]
===
1
||
tableMeta
.
rowData
[
0
]
===
2
||
tableMeta
.
rowData
[
0
]
===
4
?
{
tableMeta
.
rowData
[
0
]
===
2
||
tableMeta
.
rowData
[
0
]
===
4
?
null
:
null
:
<
div
style
=
{{
flex
:
1
}}
>
tableMeta
.
rowData
[
0
]
===
1
?
<
FormControlLabel
value
style
=
{{
margin
:
0
}}
:
value
=
{
value
}
<
div
style
=
{{
flex
:
1
}}
>
control
=
{
<
FormControlLabel
<
NumberFormat
style
=
{{
margin
:
0
}}
thousandSeparator
=
{
true
}
value
=
{
value
}
suffix
=
"%"
control
=
{
style
=
{{
color
:
"#5198ea"
,
fontSize
:
12
,
textAlign
:
'right'
,
borderColor
:
'transparent'
,
margin
:
0
,
width
:
96
,
backgroundColor
:
'transparent'
}}
<
NumberFormat
type
=
"text"
thousandSeparator
=
{
true
}
placeholder
=
""
suffix
=
"%"
value
=
{
value
}
style
=
{{
color
:
"#5198ea"
,
fontSize
:
12
,
textAlign
:
'right'
,
borderColor
:
'transparent'
,
margin
:
0
,
width
:
96
,
backgroundColor
:
'transparent'
}}
maxLength
=
{
4
}
type
=
"text"
onBlur
=
{(
event
)
=>
{
placeholder
=
""
let
valueReal
=
event
.
target
.
value
.
replace
(
'%'
,
''
)
value
=
{
value
}
let
some
=
''
maxLength
=
{
4
}
console
.
log
(
Number
(
valueReal
)
>
100
)
onBlur
=
{(
event
)
=>
{
if
(
Number
(
valueReal
)
>
100
)
{
// updateValue(some)
some
=
'100%'
handleChangePercentage
(
event
.
target
.
value
,
tableMeta
)
}
else
{
}}
some
=
event
.
target
.
value
/
>
}
}
// updateValue(some)
/
>
handleChangePercentage
(
event
.
target
.
value
,
tableMeta
)
<
/div
>
}}
/
>
}
/
>
<
/div
>
}
}
<
/div
>
<
/div
>
)
)
...
@@ -925,26 +994,39 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -925,26 +994,39 @@ export default class CorporateAnnualTarget extends Component {
style
=
{{
margin
:
0
}}
style
=
{{
margin
:
0
}}
// value={value}
// value={value}
control
=
{
control
=
{
!
handleAction
(
tableMeta
.
rowData
[
2
])?
<
Input
<
Input
disableUnderline
=
{
true
}
disableUnderline
=
{
true
}
style
=
{{
color
:
"#5198ea"
,
fontSize
:
12
,
textAlign
:
'right'
,
borderColor
:
'transparent'
,
margin
:
0
,
width
:
96
,
backgroundColor
:
'transparent'
}}
style
=
{{
fontSize
:
12
,
textAlign
:
'center'
,
borderColor
:
'transparent'
,
margin
:
0
,
width
:
96
,
backgroundColor
:
'transparent'
,
marginTop
:
-
10
}}
type
=
"text"
type
=
"text"
placeholder
=
""
placeholder
=
""
defaultValue
=
{
value
}
defaultValue
=
{
value
}
color
=
{
"#5198ea"
}
disabled
=
{
!
handleAction
(
tableMeta
.
rowData
[
2
])}
disabled
=
{
!
handleAction
(
tableMeta
.
rowData
[
2
])}
onChange
=
{(
event
)
=>
{
// console.log(event.target.value)
// // updateValue(event.target.value)
// handleChangeText(event.target.value, tableMeta)
// console.log(dataTable2)
}}
onBlur
=
{(
event
)
=>
{
onBlur
=
{(
event
)
=>
{
console
.
log
(
event
.
target
.
value
)
console
.
log
(
event
.
target
.
value
)
// updateValue(event.target.value)
// updateValue(event.target.value)
handleChangeText
(
event
.
target
.
value
,
tableMeta
)
handleChangeText
(
event
.
target
.
value
,
tableMeta
)
console
.
log
(
dataTable2
)
console
.
log
(
dataTable2
)
}}
}}
/
>
/>
:
<
ThemeProvider
theme
=
{
theme
}
>
<
Input
disableUnderline
=
{
true
}
style
=
{{
fontSize
:
12
,
textAlign
:
'center'
,
borderColor
:
'transparent'
,
margin
:
0
,
width
:
96
,
backgroundColor
:
'transparent'
,
marginBottom
:
-
5
}}
type
=
"text"
placeholder
=
""
defaultValue
=
{
value
}
color
=
{
"#5198ea"
}
disabled
=
{
!
handleAction
(
tableMeta
.
rowData
[
2
])}
onBlur
=
{(
event
)
=>
{
console
.
log
(
event
.
target
.
value
)
// updateValue(event.target.value)
handleChangeText
(
event
.
target
.
value
,
tableMeta
)
console
.
log
(
dataTable2
)
}}
/
>
<
/ThemeProvider
>
}
}
/
>
/
>
}
}
...
@@ -953,7 +1035,7 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -953,7 +1035,7 @@ export default class CorporateAnnualTarget extends Component {
}
}
}
}
},
{
},
{
name
:
"
Jenis KPI
"
,
name
:
"
KPI Type
"
,
options
:
{
options
:
{
customHeadRender
:
(
columnMeta
)
=>
(
customHeadRender
:
(
columnMeta
)
=>
(
<
TableCell
style
=
{{
...
style2
,
top
:
0
,
zIndex
:
99
,
backgroundColor
:
'#1c71b8'
,
width
:
96
}}
>
<
TableCell
style
=
{{
...
style2
,
top
:
0
,
zIndex
:
99
,
backgroundColor
:
'#1c71b8'
,
width
:
96
}}
>
...
@@ -1689,30 +1771,29 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -1689,30 +1771,29 @@ export default class CorporateAnnualTarget extends Component {
),
),
customBodyRender
:
(
value
,
tableMeta
)
=>
{
customBodyRender
:
(
value
,
tableMeta
)
=>
{
return
(
return
(
<
div
style
=
{{
width
:
96
}}
>
<
div
style
=
{{
textAlign
:
'right'
}}
>
{
tableMeta
.
rowData
[
0
]
===
1
||
tableMeta
.
rowData
[
0
]
===
2
||
tableMeta
.
rowData
[
0
]
===
4
?
{
tableMeta
.
rowData
[
0
]
===
1
||
tableMeta
.
rowData
[
0
]
===
2
||
tableMeta
.
rowData
[
0
]
===
4
?
null
null
:
:
<
FormControlLabel
<
div
style
=
{{
flex
:
1
}}
>
style
=
{{
margin
:
0
}}
<
FormControlLabel
control
=
{
style
=
{{
margin
:
0
}}
<
ThemeProvider
theme
=
{
theme
}
>
value
=
{
value
}
<
Input
control
=
{
disableUnderline
=
{
true
}
<
NumberFormat
style
=
{{
fontSize
:
12
,
textAlign
:
'center'
,
borderColor
:
'transparent'
,
margin
:
0
,
width
:
96
,
backgroundColor
:
'transparent'
,
marginBottom
:
-
5
}}
thousandSeparator
=
{
true
}
style
=
{{
color
:
"#5198ea"
,
fontSize
:
12
,
textAlign
:
'right'
,
borderColor
:
'transparent'
,
margin
:
0
,
width
:
96
,
backgroundColor
:
'transparent'
}}
type
=
"text"
type
=
"text"
placeholder
=
""
placeholder
=
""
v
alue
=
{
value
}
defaultV
alue
=
{
value
}
onBlur
=
{(
event
)
=>
{
onBlur
=
{(
event
)
=>
{
// updateValue
(event.target.value)
console
.
log
(
event
.
target
.
value
)
handleChange
(
event
.
target
.
value
,
tableMeta
)
handleChange
Text
(
event
.
target
.
value
,
tableMeta
)
console
.
log
(
dataTable2
)
console
.
log
(
dataTable2
)
}}
}}
/
>
/
>
}
<
/ThemeProvider
>
/
>
<
/div>
}
/
>
}
}
<
/div
>
<
/div
>
)
)
...
@@ -1728,30 +1809,31 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -1728,30 +1809,31 @@ export default class CorporateAnnualTarget extends Component {
),
),
customBodyRender
:
(
value
,
tableMeta
)
=>
{
customBodyRender
:
(
value
,
tableMeta
)
=>
{
return
(
return
(
<
div
style
=
{{
width
:
96
}}
>
<
div
style
=
{{
textAlign
:
'right'
}}
>
{
tableMeta
.
rowData
[
0
]
===
1
||
tableMeta
.
rowData
[
0
]
===
2
||
tableMeta
.
rowData
[
0
]
===
4
?
{
tableMeta
.
rowData
[
0
]
===
1
||
tableMeta
.
rowData
[
0
]
===
2
||
tableMeta
.
rowData
[
0
]
===
4
?
null
null
:
:
<
FormControlLabel
<
div
style
=
{{
flex
:
1
}}
>
style
=
{{
margin
:
0
}}
<
FormControlLabel
// value={value}
style
=
{{
margin
:
0
}}
control
=
{
value
=
{
value
}
<
ThemeProvider
theme
=
{
theme
}
>
control
=
{
<
Input
<
NumberFormat
disableUnderline
=
{
true
}
thousandSeparator
=
{
true
}
style
=
{{
color
:
"#5198ea"
,
fontSize
:
12
,
textAlign
:
'center'
,
borderColor
:
'transparent'
,
margin
:
0
,
width
:
96
,
backgroundColor
:
'transparent'
,
marginBottom
:
-
5
}}
style
=
{{
color
:
"#5198ea"
,
fontSize
:
12
,
textAlign
:
'right'
,
borderColor
:
'transparent'
,
margin
:
0
,
width
:
96
,
backgroundColor
:
'transparent'
}}
type
=
"text"
type
=
"text"
placeholder
=
""
placeholder
=
""
v
alue
=
{
value
}
defaultV
alue
=
{
value
}
onBlur
=
{(
event
)
=>
{
onBlur
=
{(
event
)
=>
{
console
.
log
(
event
.
target
.
value
)
// updateValue(event.target.value)
// updateValue(event.target.value)
handleChange
(
event
.
target
.
value
,
tableMeta
)
handleChange
Text
(
event
.
target
.
value
,
tableMeta
)
console
.
log
(
dataTable2
)
console
.
log
(
dataTable2
)
}}
}}
/
>
/
>
}
<
/ThemeProvider
>
/
>
<
/div>
}
/
>
}
}
<
/div
>
<
/div
>
)
)
...
@@ -1790,7 +1872,7 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -1790,7 +1872,7 @@ export default class CorporateAnnualTarget extends Component {
<
div
style
=
{{
display
:
'flex'
,
justifyContent
:
'space-between'
}}
>
<
div
style
=
{{
display
:
'flex'
,
justifyContent
:
'space-between'
}}
>
<
div
>
<
div
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
{
this
.
props
.
company
.
company_name
}
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
{
this
.
props
.
company
.
company_name
}
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
Period
e
:
{
this
.
props
.
periode
}
(
rev
.{
this
.
props
.
revision
})
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
Period
:
{
this
.
props
.
periode
}
(
rev
.{
this
.
props
.
revision
})
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
in
IDR
mn
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
in
IDR
mn
<
/Typography
>
<
/div
>
<
/div
>
<
div
style
=
{{
width
:
'50%'
}}
>
<
div
style
=
{{
width
:
'50%'
}}
>
...
@@ -1906,7 +1988,7 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -1906,7 +1988,7 @@ export default class CorporateAnnualTarget extends Component {
marginRight
:
20
marginRight
:
20
}}
}}
onClick
=
{()
=>
{
onClick
=
{()
=>
{
this
.
setState
({
loading
:
true
},
()
=>
{
this
.
setState
({
loading
:
true
,
dataTable
:
dataTable2
},
()
=>
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
handleValidate
()
this
.
handleValidate
()
},
100
);
},
100
);
...
@@ -1943,11 +2025,11 @@ export default class CorporateAnnualTarget extends Component {
...
@@ -1943,11 +2025,11 @@ export default class CorporateAnnualTarget extends Component {
<
div
style
=
{{
padding
:
25
}}
>
<
div
style
=
{{
padding
:
25
}}
>
<
div
>
<
div
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
{
this
.
props
.
company
.
company_name
}
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
{
this
.
props
.
company
.
company_name
}
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
Period
e
:
{
this
.
props
.
periode
}
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
Period
:
{
this
.
props
.
periode
}
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
in
IDR
mn
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
in
IDR
mn
<
/Typography
>
<
/div
>
<
/div
>
{
this
.
state
.
dataLoaded
&&
(
{
this
.
state
.
dataLoaded
&&
(
<
div
style
=
{{
marginTop
:
20
,
width
:
this
.
props
.
width
-
(
this
.
props
.
open
===
true
?
400
:
150
)
,
height
:
this
.
props
.
height
-
400
}}
>
<
div
style
=
{{
marginTop
:
20
,
width
:
this
.
props
.
width
-
(
this
.
props
.
open
===
true
?
400
:
150
)
}}
>
{
!
this
.
state
.
loading
&&
<
MuiThemeProvider
theme
=
{
getMuiTheme
()}
>
{
!
this
.
state
.
loading
&&
<
MuiThemeProvider
theme
=
{
getMuiTheme
()}
>
<
MUIDataTable
<
MUIDataTable
data
=
{
dataTable2
}
data
=
{
dataTable2
}
...
...
src/container/BudgetTahunan/ProfitLoss.js
View file @
842274e1
import
React
,
{
Component
}
from
'react'
;
import
React
,
{
Component
}
from
'react'
;
import
{
Typography
,
Paper
,
createMuiTheme
,
MuiThemeProvider
,
TableCell
,
FormControlLabel
,
TextField
,
Input
,
Tooltip
,
withStyles
}
from
'@material-ui/core'
;
import
{
Typography
,
Paper
,
createMuiTheme
,
MuiThemeProvider
,
TableCell
,
FormControlLabel
,
TextField
,
Input
,
Tooltip
,
withStyles
,
Snackbar
}
from
'@material-ui/core'
;
import
MUIDataTable
from
'mui-datatables'
;
import
MUIDataTable
from
'mui-datatables'
;
import
NumberFormat
from
'react-number-format'
;
import
NumberFormat
from
'react-number-format'
;
import
api
from
'../../api'
;
import
api
from
'../../api'
;
...
@@ -10,6 +10,7 @@ import Images from '../../assets/Images';
...
@@ -10,6 +10,7 @@ import Images from '../../assets/Images';
import
ReactTooltip
from
'react-tooltip'
;
import
ReactTooltip
from
'react-tooltip'
;
import
UploadFile
from
"../../library/Upload"
;
import
UploadFile
from
"../../library/Upload"
;
import
{
ExcelRenderer
}
from
'react-excel-renderer'
;
import
{
ExcelRenderer
}
from
'react-excel-renderer'
;
import
{
Alert
}
from
'@material-ui/lab'
;
const
LightTooltip
=
withStyles
((
theme
)
=>
({
const
LightTooltip
=
withStyles
((
theme
)
=>
({
tooltip
:
{
tooltip
:
{
...
@@ -393,6 +394,48 @@ export default class ProfitLoss extends Component {
...
@@ -393,6 +394,48 @@ export default class ProfitLoss extends Component {
}
}
}
}
handleValidate
()
{
let
data
=
[]
this
.
state
.
dataTable
.
map
(
i
=>
{
data
.
push
({
item_report_id
:
i
[
1
],
notes
:
i
[
6
]
==
null
||
i
[
6
]
==
""
?
""
:
String
(
i
[
6
]),
total_actual_before
:
String
(
i
[
7
]),
january
:
String
(
i
[
8
]),
february
:
String
(
i
[
9
]),
march
:
String
(
i
[
10
]),
april
:
String
(
i
[
11
]),
may
:
String
(
i
[
12
]),
june
:
String
(
i
[
13
]),
july
:
String
(
i
[
14
]),
august
:
String
(
i
[
15
]),
september
:
String
(
i
[
16
]),
october
:
String
(
i
[
17
]),
november
:
String
(
i
[
18
]),
december
:
String
(
i
[
19
]),
total_current_year
:
String
(
i
[
20
]),
total_next_year
:
String
(
i
[
21
]),
total_more_year
:
String
(
i
[
22
])
})
})
let
payload
=
{
"submission_id"
:
this
.
props
.
submissionID
,
"company_id"
:
this
.
props
.
company
.
company_id
,
"periode"
:
this
.
props
.
periode
,
"report_id"
:
this
.
props
.
report_id
,
"status"
:
type
,
"profit_loss"
:
data
}
api
.
create
().
validateSubmitReport
(
payload
).
then
((
response
)
=>
{
console
.
log
(
response
)
if
(
response
.
data
.
data
.
result
)
{
this
.
setState
({
loading
:
false
,
buttonError
:
false
,
editable
:
true
})
}
else
{
this
.
setState
({
loading
:
false
,
buttonError
:
true
,
editable
:
true
})
}
})
}
render
()
{
render
()
{
let
dataTable2
=
this
.
state
.
dataTable
let
dataTable2
=
this
.
state
.
dataTable
const
handleChange
=
(
value
,
tableMeta
,
type
)
=>
{
const
handleChange
=
(
value
,
tableMeta
,
type
)
=>
{
...
@@ -1930,6 +1973,11 @@ export default class ProfitLoss extends Component {
...
@@ -1930,6 +1973,11 @@ export default class ProfitLoss extends Component {
<
div
className
=
{
"main-color"
}
style
=
{{
height
:
78
,
flex
:
1
,
display
:
'flex'
,
alignItems
:
'center'
,
paddingLeft
:
20
}}
>
<
div
className
=
{
"main-color"
}
style
=
{{
height
:
78
,
flex
:
1
,
display
:
'flex'
,
alignItems
:
'center'
,
paddingLeft
:
20
}}
>
<
Typography
style
=
{{
fontSize
:
'16px'
,
color
:
'white'
}}
>
Pengajuan
Budget
Tahunan
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'16px'
,
color
:
'white'
}}
>
Pengajuan
Budget
Tahunan
<
/Typography
>
<
/div
>
<
/div
>
<
Snackbar
open
=
{
this
.
state
.
alert
}
autoHideDuration
=
{
6000
}
onClose
=
{()
=>
this
.
closeAlert
()}
>
<
Alert
onClose
=
{()
=>
this
.
closeAlert
()}
severity
=
{
this
.
state
.
tipeAlert
}
>
{
this
.
state
.
messageAlert
}
<
/Alert
>
<
/Snackbar
>
{
this
.
state
.
loading
&&
loadingComponent
}
{
this
.
state
.
loading
&&
loadingComponent
}
<
div
style
=
{{
flex
:
1
,
padding
:
20
,
width
:
'100%'
}}
>
<
div
style
=
{{
flex
:
1
,
padding
:
20
,
width
:
'100%'
}}
>
{
this
.
state
.
visibleProfitLoss
===
true
?
{
this
.
state
.
visibleProfitLoss
===
true
?
...
@@ -2066,9 +2114,9 @@ export default class ProfitLoss extends Component {
...
@@ -2066,9 +2114,9 @@ export default class ProfitLoss extends Component {
marginRight
:
20
marginRight
:
20
}}
}}
onClick
=
{()
=>
{
onClick
=
{()
=>
{
this
.
setState
({
loading
:
true
},
()
=>
{
this
.
setState
({
loading
:
true
},
()
=>
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
setState
({
loading
:
false
,
buttonError
:
false
,
editable
:
true
}
)
this
.
handleValidate
(
)
},
100
);
},
100
);
})
})
}}
}}
...
@@ -2079,8 +2127,10 @@ export default class ProfitLoss extends Component {
...
@@ -2079,8 +2127,10 @@ export default class ProfitLoss extends Component {
<
/button
>
<
/button
>
<
button
<
button
type
=
"button"
type
=
"button"
disabled
=
{
this
.
state
.
buttonError
}
// disabled={this.state.buttonError}
onClick
=
{()
=>
this
.
backToMasterBudget
(
'submitted'
)}
onClick
=
{()
=>
this
.
state
.
buttonError
?
this
.
setState
({
alert
:
true
,
messageAlert
:
'Data is not complete !'
,
tipeAlert
:
'warning'
})
:
this
.
backToMasterBudget
(
'submitted'
)}
style
=
{{
style
=
{{
backgroundColor
:
'transparent'
,
backgroundColor
:
'transparent'
,
cursor
:
this
.
state
.
buttonError
===
true
?
'default'
:
'pointer'
,
cursor
:
this
.
state
.
buttonError
===
true
?
'default'
:
'pointer'
,
...
...
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