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
bcce0069
Commit
bcce0069
authored
Jul 26, 2023
by
Riri Novita
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update O TP BS
parent
76f099bd
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
627 additions
and
296 deletions
+627
-296
BalanceSheetRO.js
src/container/RollingOutlook/BalanceSheetRO.js
+202
-93
TaxPlanningRO.js
src/container/RollingOutlook/TaxPlanningRO.js
+425
-203
No files found.
src/container/RollingOutlook/BalanceSheetRO.js
View file @
bcce0069
...
...
@@ -59,7 +59,8 @@ export default class BalanceSheetRO extends Component {
visibleBSRO
:
true
,
kansas
:
0
,
defaultCurrencyUpload
:
this
.
props
.
defaultCurrency
,
visibleAlertSave
:
false
visibleAlertSave
:
false
,
visibleButtonUpload
:
false
}
this
.
fileHandler
=
this
.
fileHandler
.
bind
(
this
);
this
.
fileHandlerSimulasi
=
this
.
fileHandlerSimulasi
.
bind
(
this
);
...
...
@@ -70,7 +71,7 @@ export default class BalanceSheetRO extends Component {
// this.getItemHierarki()
this
.
getLatestUpdate
()
this
.
getSettingControl
()
this
.
handleViewOnly
()
//
this.handleViewOnly()
}
handleViewOnly
()
{
...
...
@@ -626,11 +627,96 @@ export default class BalanceSheetRO extends Component {
})
}
u
ploadSimulasi
()
{
checkU
ploadSimulasi
()
{
let
payload
=
{
...
this
.
state
.
payload
,
currency_id
:
this
.
state
.
defaultCurrencyUpload
?.
id
}
api
.
create
().
checkImportRollingOutlookBS
(
payload
).
then
(
response
=>
{
this
.
props
.
refresh
()
if
(
response
.
data
)
{
if
(
response
.
data
.
status
===
'success'
)
{
this
.
setState
({
visibleUpload
:
false
,
visibleBSRO
:
false
,
loading
:
true
,
visibleButtonUpload
:
true
})
let
err
=
false
let
dataTable
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
// if (item.type_report_id === 3) {
// if (item.mtd_vs_mb == "" && Number(item.percent_act_vs_mb) < this.state.minValue || Number(item.percent_act_vs_mb) > this.state.maxValue) {
// err = true
// }
// }
return
[
item
.
type_report_id
,
item
.
item_report_id
,
item
.
parent
,
item
.
formula
,
item
.
level
,
item
.
item_report
,
item
.
total_december_last_year
===
""
?
"0"
:
item
.
total_december_last_year
,
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
january
,
formula
:
item
.
january_formula
}
:
Number
(
item
.
january
).
toFixed
(
1
),
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
february
,
formula
:
item
.
february_formula
}
:
Number
(
item
.
february
).
toFixed
(
1
),
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
march
,
formula
:
item
.
march_formula
}
:
Number
(
item
.
march
).
toFixed
(
1
),
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
april
,
formula
:
item
.
april_formula
}
:
Number
(
item
.
april
).
toFixed
(
1
),
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
may
,
formula
:
item
.
may_formula
}
:
Number
(
item
.
may
).
toFixed
(
1
),
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
june
,
formula
:
item
.
june_formula
}
:
Number
(
item
.
june
).
toFixed
(
1
),
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
july
,
formula
:
item
.
july_formula
}
:
Number
(
item
.
july
).
toFixed
(
1
),
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
august
,
formula
:
item
.
august_formula
}
:
Number
(
item
.
august
).
toFixed
(
1
),
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
september
,
formula
:
item
.
september_formula
}
:
Number
(
item
.
september
).
toFixed
(
1
),
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
october
,
formula
:
item
.
october_formula
}
:
Number
(
item
.
october
).
toFixed
(
1
),
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
november
,
formula
:
item
.
november_formula
}
:
Number
(
item
.
november
).
toFixed
(
1
),
item
.
type_report_id
==
5
||
item
.
type_report_id
==
6
?
{
value
:
item
.
december
,
formula
:
item
.
december_formula
}
:
Number
(
item
.
december
).
toFixed
(
1
),
item
.
total_december_year
===
""
?
"0"
:
Number
(
item
.
total_december_year
).
toFixed
(
1
),
item
.
order
,
item
.
condition_it_should_be
,
item
.
condition_if_wrong
,
item
.
forecast_formula
==
null
?
[]
:
item
.
forecast_formula
]
})
console
.
log
(
dataTable
)
this
.
setState
({
dataTable
,
dataLoaded
:
true
,
loading
:
false
,
buttonError
:
true
,
isUpload
:
true
},
()
=>
{
// this.state.dataTable.map(item => {
// if (item[24].length > 0) {
// // console.log('masuk')
// this.setState({ buttonError: true, errorPreview: true })
// }
// })
// console.log(this.state.buttonError)
})
}
}
})
}
uploadSimulasi
(
type
)
{
let
data
=
[]
this
.
state
.
dataTable
.
map
(
i
=>
{
data
.
push
({
"item_report_id"
:
i
[
1
],
"total_december_last_year"
:
String
(
Number
(
i
[
6
]).
toFixed
(
1
)),
"january"
:
i
[
7
].
value
!==
undefined
?
String
(
Number
(
i
[
7
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
7
]).
toFixed
(
1
)),
"february"
:
i
[
8
].
value
!==
undefined
?
String
(
Number
(
i
[
8
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
8
]).
toFixed
(
1
)),
"march"
:
i
[
9
].
value
!==
undefined
?
String
(
Number
(
i
[
9
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
9
]).
toFixed
(
1
)),
"april"
:
i
[
10
].
value
!==
undefined
?
String
(
Number
(
i
[
10
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
10
]).
toFixed
(
1
)),
"may"
:
i
[
11
].
value
!==
undefined
?
String
(
Number
(
i
[
11
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
11
]).
toFixed
(
1
)),
"june"
:
i
[
12
].
value
!==
undefined
?
String
(
Number
(
i
[
12
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
12
]).
toFixed
(
1
)),
"july"
:
i
[
13
].
value
!==
undefined
?
String
(
Number
(
i
[
13
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
13
]).
toFixed
(
1
)),
"august"
:
i
[
14
].
value
!==
undefined
?
String
(
Number
(
i
[
14
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
14
]).
toFixed
(
1
)),
"september"
:
i
[
15
].
value
!==
undefined
?
String
(
Number
(
i
[
15
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
15
]).
toFixed
(
1
)),
"october"
:
i
[
16
].
value
!==
undefined
?
String
(
Number
(
i
[
16
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
16
]).
toFixed
(
1
)),
"november"
:
i
[
17
].
value
!==
undefined
?
String
(
Number
(
i
[
17
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
17
]).
toFixed
(
1
)),
"december"
:
i
[
18
].
value
!==
undefined
?
String
(
Number
(
i
[
18
].
value
).
toFixed
(
1
))
:
String
(
Number
(
i
[
18
]).
toFixed
(
1
)),
"total_december_year"
:
String
(
Number
(
i
[
19
]).
toFixed
(
1
))
})
})
let
payload
=
{
"rolling_outlook_id"
:
this
.
props
.
rollingOutlookID
,
"company_id"
:
this
.
props
.
company
.
company_id
,
"periode"
:
this
.
props
.
periode
,
"report_id"
:
this
.
props
.
report_id
,
"quartal"
:
this
.
props
.
quarter
,
"status"
:
type
,
"currency_id"
:
this
.
state
.
defaultCurrencyUpload
?.
id
,
"balance_sheet"
:
data
}
this
.
setState
({
loading
:
true
,
dataTable
:
[]
})
console
.
log
(
payload
)
api
.
create
().
uploadSimulasiROBS
(
payload
).
then
(
response
=>
{
...
...
@@ -841,7 +927,7 @@ export default class BalanceSheetRO extends Component {
// console.log(splitFormula)
// console.log(baru)
// }
//
console.log(baru)
console
.
log
(
baru
)
baru
.
map
((
item
,
index
)
=>
{
if
(
item
==
'-'
||
item
==
'+'
||
item
==
'/'
||
item
==
'*'
)
{
...
...
@@ -870,13 +956,14 @@ export default class BalanceSheetRO extends Component {
// console.log(valuezz)
}
}
else
{
let
indexID
=
value
.
formula
.
findIndex
((
val
)
=>
val
.
item_formula
==
String
(
`@
${
item
}
`
)
&&
val
.
periode
==
Number
(
this
.
props
.
periode
))
// console.log(indexID)
if
(
indexID
!==
-
1
)
{
// console.log(value.formula[indexID].value)
let
valuezz
=
value
.
formula
[
indexID
].
value
anjay
.
push
(
valuezz
==
""
?
0
:
valuezz
)
}
console
.
log
(
value
);
// let indexID = value.formula.findIndex((val) => val.item_formula == String(`@${item}`) && val.periode == Number(this.props.periode))
// // console.log(indexID)
// if (indexID !== -1) {
// // console.log(value.formula[indexID].value)
// let valuezz = value.formula[indexID].value
// anjay.push(valuezz == "" ? 0 : valuezz)
// }
}
}
else
if
(
String
(
item
).
includes
(
'[M-1]'
))
{
let
tst
=
String
(
item
).
replace
(
'[M-1]'
,
''
)
...
...
@@ -2611,83 +2698,81 @@ export default class BalanceSheetRO extends Component {
}
<
/div
>
<
div
style
=
{{
width
:
'50%'
}}
>
<
div
style
=
{{
display
:
'flex'
,
justifyContent
:
'flex-end'
}}
>
<
ReactTooltip
border
=
{
true
}
id
=
"template"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Upload Simulasi'
}
data
-
for
=
"upload"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
visibleUploadSimulasi
:
true
,
buttonDraft
:
true
})}
>
<
img
src
=
{
Images
.
simulasiUpload
}
style
=
{{
width
:
40
,
height
:
40
,
marginRight
:
3
}}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"upload"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
{
this
.
props
.
isApprover
===
true
||
this
.
state
.
get_for
==
'view'
?
null
// <div style={{ justifyContent: 'flex-end', display: 'flex', flexFlow: 'wrap' }}>
// <a data-tip={'Download'} data-for="download">
// <button
// style={{
// backgroundColor: 'transparent',
// cursor: 'pointer',
// borderColor: 'transparent',
// margin: 5
// }}
// onClick={() =>
// this.setState({ loading: true }, () => {
// this.downloadAllData()
// })}
// >
// <img src={Images.download} />
// </button>
// </a>
// <ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
// </div>
:
<
div
style
=
{{
justifyContent
:
'flex-end'
,
display
:
'flex'
,
flexFlow
:
'wrap'
}}
>
<
a
data
-
tip
=
{
'Download Template'
}
data
-
for
=
"template"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
loading
:
true
},
()
=>
{
this
.
downloadTemplate
()
})}
>
<
img
src
=
{
Images
.
template
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"template"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Upload'
}
data
-
for
=
"upload"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
loading
:
true
},
()
=>
{
setTimeout
(()
=>
{
this
.
setState
({
loading
:
false
,
visibleUpload
:
true
})
},
300
);
})}
>
<
img
src
=
{
Images
.
upload
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"upload"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
{
/* <a data-tip={'Download'} data-for="download">
{
this
.
props
.
isApprover
===
true
||
this
.
state
.
get_for
==
'view'
?
null
// <div style={{ justifyContent: 'flex-end', display: 'flex', flexFlow: 'wrap' }}>
// <a data-tip={'Download'} data-for="download">
// <button
// style={{
// backgroundColor: 'transparent',
// cursor: 'pointer',
// borderColor: 'transparent',
// margin: 5
// }}
// onClick={() =>
// this.setState({ loading: true }, () => {
// this.downloadAllData()
// })}
// >
// <img src={Images.download} />
// </button>
// </a>
// <ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
// </div>
:
<
div
style
=
{{
justifyContent
:
'flex-end'
,
display
:
'flex'
,
flexFlow
:
'wrap'
}}
>
<
a
data
-
tip
=
{
'Upload Simulasi'
}
data
-
for
=
"upload"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
visibleUploadSimulasi
:
true
,
buttonDraft
:
true
})}
>
<
img
src
=
{
Images
.
simulasiUpload
}
style
=
{{
width
:
40
,
height
:
40
,
marginRight
:
3
}}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"upload"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Download Template'
}
data
-
for
=
"template"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
loading
:
true
},
()
=>
{
this
.
downloadTemplate
()
})}
>
<
img
src
=
{
Images
.
template
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"template"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Upload'
}
data
-
for
=
"upload"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
loading
:
true
},
()
=>
{
setTimeout
(()
=>
{
this
.
setState
({
loading
:
false
,
visibleUpload
:
true
})
},
300
);
})}
>
<
img
src
=
{
Images
.
upload
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"upload"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
{
/* <a data-tip={'Download'} data-for="download">
<button
style={{
backgroundColor: 'transparent',
...
...
@@ -2706,9 +2791,8 @@ export default class BalanceSheetRO extends Component {
</button>
</a>
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" /> */
}
<
/div
>
}
<
/div
>
<
/div
>
}
<
/div
>
<
/div
>
...
...
@@ -3063,12 +3147,37 @@ export default class BalanceSheetRO extends Component {
}}
onUpload
=
{()
=>
{
String
(
this
.
state
.
judulColumn
).
includes
(
"TEMPLATE"
)
&&
String
(
this
.
state
.
judulColumn
).
includes
(
"UPLOAD"
)
&&
String
(
this
.
state
.
judul
).
includes
(
"ROLLING"
)
&&
String
(
this
.
state
.
judul
).
includes
(
"OUTLOOK"
)
&&
String
(
this
.
state
.
judul
).
includes
(
"BALANCE"
)
&&
String
(
this
.
state
.
judul
).
includes
(
"SHEET"
)
?
this
.
u
ploadSimulasi
()
:
this
.
checkU
ploadSimulasi
()
:
this
.
setState
({
alert
:
true
,
messageAlert
:
"Invalid Template"
,
tipeAlert
:
'warning'
})
}}
/
>
<
/div
>
<
div
style
=
{{
padding
:
'0px 30px 29px'
,
fontSize
:
17
,
color
:
'red'
}}
><
b
>
Warning
:
<
/b> Valid currency for uploading data is <b>{this.props.defaultCurrency.id == 1
?
"IDR" : "USD"}</
b
><
/div
>
{
this
.
state
.
visibleButtonUpload
&&
<
div
style
=
{{
display
:
'flex'
,
justifyContent
:
'flex-end'
,
margin
:
'0px 32px 16px'
}}
>
<
div
>
<
button
type
=
"button"
// disabled={this.state.buttonError}
onClick
=
{()
=>
this
.
setState
({
handleDoubleClick
:
1
,
loading
:
true
},
()
=>
{
this
.
uploadSimulasi
(
'submitted'
)
})}
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
outline
:
'none'
,
}}
>
<
div
style
=
{{
backgroundColor
:
'#354960'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#fff'
,
textAlign
:
'center'
}}
>
Save
Data
<
/Typography
>
<
/div
>
<
/button
>
<
/div
>
<
/div
>
}
{
/* <div style={{ padding: '0px 30px 29px', fontSize: 17, color: 'red' }}><b>Warning:</b> Valid currency for uploading data is <b>{this.props.defaultCurrency.id == 1 ? "IDR" : "USD"}</b></div> */
}
<
/div
>
<
/div
>
)}
...
...
src/container/RollingOutlook/TaxPlanningRO.js
View file @
bcce0069
...
...
@@ -58,7 +58,8 @@ export default class TaxPlanning extends Component {
get_for
:
"view"
,
viewOnly
:
true
,
defaultCurrencyUpload
:
this
.
props
.
defaultCurrency
,
visibleAlertSave
:
false
visibleAlertSave
:
false
,
visibleButtonUpload
:
false
}
this
.
handleValue
=
this
.
handleValue
.
bind
(
this
)
this
.
fileHandler
=
this
.
fileHandler
.
bind
(
this
)
...
...
@@ -68,7 +69,7 @@ export default class TaxPlanning extends Component {
componentDidMount
()
{
this
.
getLatestUpdate
()
this
.
getSettingControl
()
this
.
handleViewOnly
()
//
this.handleViewOnly()
}
handleViewOnly
()
{
...
...
@@ -755,14 +756,169 @@ export default class TaxPlanning extends Component {
})
}
u
ploadSimulasi
()
{
checkU
ploadSimulasi
()
{
let
payload
=
{
...
this
.
state
.
payload
,
currency_id
:
this
.
state
.
defaultCurrencyUpload
?.
id
}
api
.
create
().
checkImportRollingOutlookTP
(
payload
).
then
(
response
=>
{
console
.
log
(
this
.
state
.
payload
);
console
.
log
(
response
)
if
(
response
.
data
)
{
if
(
response
.
data
.
status
===
'success'
)
{
this
.
setState
({
visibleUploadSimulasi
:
false
,
visibleTP
:
false
,
loading
:
true
,
visibleButtonUpload
:
true
})
let
dataTable
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
return
[
// item.type_report_id,
0
,
Number
(
item
.
type_report_id
.
tbc
),
Number
(
item
.
type_report_id
.
fcp
),
Number
(
item
.
type_report_id
.
tbf
),
item
.
item_report_id
,
item
.
parent
,
item
.
formula
,
// {tbc: item.formula.tbc, fcp: item.formula.fcp, tbf: item.formula.tbf},
item
.
level
,
item
.
item_report
,
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
january
.
tbc
,
formula
:
item
.
january_formula
}
:
item
.
january
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
january
.
fcp
,
formula
:
item
.
january_formula
}
:
item
.
january
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
january
.
tbf
,
formula
:
item
.
january_formula
}
:
item
.
january
.
tbf
},
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
february
.
tbc
,
formula
:
item
.
february_formula
}
:
item
.
february
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
february
.
fcp
,
formula
:
item
.
february_formula
}
:
item
.
february
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
february
.
tbf
,
formula
:
item
.
february_formula
}
:
item
.
february
.
tbf
},
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
march
.
tbc
,
formula
:
item
.
march_formula
}
:
item
.
march
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
march
.
fcp
,
formula
:
item
.
march_formula
}
:
item
.
march
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
march
.
tbf
,
formula
:
item
.
march_formula
}
:
item
.
march
.
tbf
},
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
april
.
tbc
,
formula
:
item
.
april_formula
}
:
item
.
april
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
april
.
fcp
,
formula
:
item
.
april_formula
}
:
item
.
april
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
april
.
tbf
,
formula
:
item
.
april_formula
}
:
item
.
april
.
tbf
},
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
may
.
tbc
,
formula
:
item
.
may_formula
}
:
item
.
may
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
may
.
fcp
,
formula
:
item
.
may_formula
}
:
item
.
may
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
may
.
tbf
,
formula
:
item
.
may_formula
}
:
item
.
may
.
tbf
},
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
june
.
tbc
,
formula
:
item
.
june_formula
}
:
item
.
june
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
june
.
fcp
,
formula
:
item
.
june_formula
}
:
item
.
june
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
june
.
tbf
,
formula
:
item
.
june_formula
}
:
item
.
june
.
tbf
},
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
july
.
tbc
,
formula
:
item
.
july_formula
}
:
item
.
july
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
july
.
fcp
,
formula
:
item
.
july_formula
}
:
item
.
july
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
july
.
tbf
,
formula
:
item
.
july_formula
}
:
item
.
july
.
tbf
},
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
august
.
tbc
,
formula
:
item
.
august_formula
}
:
item
.
august
.
tbc
===
null
?
"0"
:
item
.
august
.
tbc
===
""
?
"0"
:
item
.
august
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
august
.
fcp
,
formula
:
item
.
august_formula
}
:
item
.
august
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
august
.
tbf
,
formula
:
item
.
august_formula
}
:
item
.
august
.
tbf
},
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
september
.
tbc
,
formula
:
item
.
september_formula
}
:
item
.
september
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
september
.
fcp
,
formula
:
item
.
september_formula
}
:
item
.
september
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
september
.
tbf
,
formula
:
item
.
september_formula
}
:
item
.
september
.
tbf
},
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
october
.
tbc
,
formula
:
item
.
october_formula
}
:
item
.
october
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
october
.
fcp
,
formula
:
item
.
october_formula
}
:
item
.
october
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
october
.
tbf
,
formula
:
item
.
october_formula
}
:
item
.
october
.
tbf
},
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
november
.
tbc
,
formula
:
item
.
november_formula
}
:
item
.
november
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
november
.
fcp
,
formula
:
item
.
november_formula
}
:
item
.
november
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
november
.
tbf
,
formula
:
item
.
november_formula
}
:
item
.
november
.
tbf
},
{
tbc
:
item
.
type_report_id
.
tbc
==
5
||
item
.
type_report_id
.
tbc
==
6
||
item
.
type_report_id
.
tbc
==
7
?
{
value
:
item
.
december
.
tbc
,
formula
:
item
.
december_formula
}
:
item
.
december
.
tbc
,
fcp
:
item
.
type_report_id
.
fcp
==
5
||
item
.
type_report_id
.
fcp
==
6
||
item
.
type_report_id
.
fcp
==
7
?
{
value
:
item
.
december
.
fcp
,
formula
:
item
.
december_formula
}
:
item
.
december
.
fcp
,
tbf
:
item
.
type_report_id
.
tbf
==
5
||
item
.
type_report_id
.
tbf
==
6
||
item
.
type_report_id
.
tbf
==
7
?
{
value
:
item
.
december
.
tbf
,
formula
:
item
.
december_formula
}
:
item
.
december
.
tbf
},
item
.
total_current_year
,
0
,
0
,
// {
// tbc: Number(item.type_report_id.tbc) === 3 && item.total_next_year.tbc === "" ? "0" : item.total_next_year.tbc,
// fcp: Number(item.type_report_id.fcp) === 3 && item.total_next_year.fcp === "" ? "0" : item.total_next_year.fcp,
// tbf: Number(item.type_report_id.tbf) === 3 && item.total_next_year.tbf === "" ? "0" : item.total_next_year.tbf
// },
// {
// tbc: Number(item.type_report_id.tbc) === 3 && item.total_more_year.tbc === "" ? "0" : item.total_more_year.tbc,
// fcp: Number(item.type_report_id.fcp) === 3 && item.total_more_year.fcp === "" ? "0" : item.total_more_year.fcp,
// tbf: Number(item.type_report_id.tbf) === 3 && item.total_more_year.tbf === "" ? "0" : item.total_more_year.tbf
// },
item
.
orders
,
{
tbc
:
item
.
condition_it_should_be
.
tbc
,
fcp
:
item
.
condition_it_should_be
.
fcp
,
tbf
:
item
.
condition_it_should_be
.
tbf
},
{
tbc
:
item
.
condition_if_wrong
.
tbc
,
fcp
:
item
.
condition_if_wrong
.
fcp
,
tbf
:
item
.
condition_if_wrong
.
tbf
},
// item.forecast_tbc_formula,
// item.forecast_fcp_formula,
// item.forecast_tbf_formula,
item
.
error
]
})
this
.
setState
({
dataTable
,
dataLoaded
:
true
,
loading
:
false
,
buttonError
:
false
,
editable
:
true
,
saveDraft
:
true
},
()
=>
{
console
.
log
(
this
.
state
.
dataTable
);
this
.
state
.
dataTable
.
map
(
item
=>
{
if
(
item
[
27
].
length
>
0
)
{
// console.log('masuk')
this
.
setState
({
buttonError
:
true
,
errorPreview
:
true
,
editable
:
true
,
saveDraft
:
true
})
}
})
})
}
}
})
}
uploadSimulasi
(
type
)
{
let
data
=
[]
this
.
state
.
dataTable
.
map
(
i
=>
{
data
.
push
({
item_report_id
:
i
[
4
],
january
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
9
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
9
].
tbc
.
value
)
:
String
(
i
[
9
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
9
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
9
].
fcp
.
value
)
:
String
(
i
[
9
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
9
].
tbf
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
9
].
tbf
.
value
)
:
String
(
i
[
9
].
tbf
)
},
february
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
10
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
10
].
tbc
.
value
)
:
String
(
i
[
10
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
10
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
10
].
fcp
.
value
)
:
String
(
i
[
10
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
10
].
tbf
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
10
].
tbf
.
value
)
:
String
(
i
[
10
].
tbf
)
},
march
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
11
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
11
].
tbc
.
value
)
:
String
(
i
[
11
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
11
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
11
].
fcp
.
value
)
:
String
(
i
[
11
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
11
].
tbf
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
11
].
tbf
.
value
)
:
String
(
i
[
11
].
tbf
)
},
april
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
12
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
12
].
tbc
.
value
)
:
String
(
i
[
12
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
12
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
12
].
fcp
.
value
)
:
String
(
i
[
12
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
12
].
tbf
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
12
].
tbf
.
value
)
:
String
(
i
[
12
].
tbf
)
},
may
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
13
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
13
].
tbc
.
value
)
:
String
(
i
[
13
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
13
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
13
].
fcp
.
value
)
:
String
(
i
[
13
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
13
].
tbf
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
13
].
tbf
.
value
)
:
String
(
i
[
13
].
tbf
)
},
june
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
14
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
14
].
tbc
.
value
)
:
String
(
i
[
14
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
14
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
14
].
fcp
.
value
)
:
String
(
i
[
14
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
14
].
tbc
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
14
].
tbf
.
value
)
:
String
(
i
[
14
].
tbf
)
},
july
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
15
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
15
].
tbc
.
value
)
:
String
(
i
[
15
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
15
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
15
].
fcp
.
value
)
:
String
(
i
[
15
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
15
].
tbf
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
15
].
tbf
.
value
)
:
String
(
i
[
15
].
tbf
)
},
august
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
16
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
16
].
tbc
.
value
)
:
String
(
i
[
16
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
16
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
16
].
fcp
.
value
)
:
String
(
i
[
16
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
16
].
tbf
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
16
].
tbf
.
value
)
:
String
(
i
[
16
].
tbf
)
},
september
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
17
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
17
].
tbc
.
value
)
:
String
(
i
[
17
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
17
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
17
].
fcp
.
value
)
:
String
(
i
[
17
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
17
].
tbf
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
17
].
tbf
.
value
)
:
String
(
i
[
17
].
tbf
)
},
october
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
18
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
18
].
tbc
.
value
)
:
String
(
i
[
18
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
18
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
18
].
fcp
.
value
)
:
String
(
i
[
18
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
18
].
tbf
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
18
].
tbf
.
value
)
:
String
(
i
[
18
].
tbf
)
},
november
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
19
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
19
].
tbc
.
value
)
:
String
(
i
[
19
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
19
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
19
].
fcp
.
value
)
:
String
(
i
[
19
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
19
].
tbf
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
19
].
tbf
.
value
)
:
String
(
i
[
19
].
tbf
)
},
december
:
{
tbc
:
i
[
1
]
===
3
&&
i
[
20
].
tbc
===
""
?
"0"
:
i
[
1
]
===
5
||
i
[
1
]
===
6
||
i
[
1
]
===
7
?
String
(
i
[
20
].
tbc
.
value
)
:
String
(
i
[
20
].
tbc
),
fcp
:
i
[
2
]
===
3
&&
i
[
20
].
fcp
===
""
?
"0"
:
i
[
2
]
===
5
||
i
[
2
]
===
6
||
i
[
2
]
===
7
?
String
(
i
[
20
].
fcp
.
value
)
:
String
(
i
[
20
].
fcp
),
tbf
:
i
[
3
]
===
3
&&
i
[
20
].
tbf
===
""
?
"0"
:
i
[
3
]
===
5
||
i
[
3
]
===
6
||
i
[
3
]
===
7
?
String
(
i
[
20
].
tbf
.
value
)
:
String
(
i
[
20
].
tbf
)
},
total_current_year
:
String
(
Number
(
i
[
21
]).
toFixed
(
1
)),
// total_next_year: {
// tbc: String(Number(i[22].tbc).toFixed(1)),
// fcp: String(i[8]).toLocaleUpperCase() == "CORPORATE INCOME TAX" ? String(Number(i[22].fcp).toFixed(1)) : String(Number(i[22].fcp).toFixed(1)),
// tbf: String(Number(i[22].tbf).toFixed(1))
// },
// total_more_year: {
// tbc: String(Number(i[23].tbc).toFixed(1)),
// fcp: String(i[8]).toLocaleUpperCase() == "CORPORATE INCOME TAX" ? String(Number(i[23].fcp).toFixed(1)) : String(Number(i[23].fcp).toFixed(1)),
// tbf: String(Number(i[23].tbf).toFixed(1))
// }
})
})
let
body
=
{
rolling_outlook_id
:
this
.
props
.
rollingOutlookID
,
company_id
:
this
.
props
.
company
.
company_id
,
periode
:
this
.
props
.
periode
,
report_id
:
this
.
props
.
report_id
,
quartal
:
this
.
props
.
quarter
,
status
:
type
,
currency_id
:
this
.
state
.
defaultCurrencyUpload
?.
id
,
tax_planning
:
data
,
}
this
.
setState
({
loading
:
true
,
dataTable
:
[]
})
console
.
log
(
payload
)
api
.
create
().
uploadSimulasiROTP
(
payload
).
then
(
response
=>
{
console
.
log
(
body
)
api
.
create
().
uploadSimulasiROTP
(
body
).
then
(
response
=>
{
console
.
log
(
response
)
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
...
...
@@ -6168,97 +6324,94 @@ export default class TaxPlanning extends Component {
}
<
/div
>
<
div
style
=
{{
width
:
'50%'
}}
>
<
div
style
=
{{
display
:
'flex'
,
justifyContent
:
'flex-end'
}}
>
<
ReactTooltip
border
=
{
true
}
id
=
"template"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Upload Simulasi'
}
data
-
for
=
"upload"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
visibleUploadSimulasi
:
true
,
buttonDraft
:
true
})}
>
<
img
src
=
{
Images
.
simulasiUpload
}
style
=
{{
width
:
40
,
height
:
40
,
marginRight
:
3
}}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"upload"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
{
this
.
props
.
isApprover
===
true
||
this
.
state
.
get_for
==
'view'
?
null
// <div style={{ justifyContent: 'flex-end', display: 'flex', flexFlow: 'wrap' }}>
// <a data-tip={'Download'} data-for="download">
// <button
// style={{
// backgroundColor: 'transparent',
// cursor: 'pointer',
// borderColor: 'transparent',
// margin: 5
// }}
// onClick={() =>
// this.setState({ loading: true }, () => {
// setTimeout(() => {
// this.downloadAllData()
// }, 100);
// })}
// >
// <img src={Images.download} />
// </button>
// </a>
// <ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
// </div>
:
<
div
style
=
{{
justifyContent
:
'flex-end'
,
display
:
'flex'
,
flexFlow
:
'wrap'
}}
>
<
a
data
-
tip
=
{
'Download Template'
}
data
-
for
=
"template"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
downloadTemplate
()}
>
<
img
src
=
{
Images
.
template
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"template"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Upload'
}
data
-
for
=
"upload"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
visibleUpload
:
true
})}
>
<
img
src
=
{
Images
.
upload
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"upload"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Download'
}
data
-
for
=
"download"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
loading
:
true
},
()
=>
{
setTimeout
(()
=>
{
this
.
downloadAllData
()
},
100
);
})}
>
<
img
src
=
{
Images
.
download
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"download"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
}
<
/div
>
{
this
.
props
.
isApprover
===
true
||
this
.
state
.
get_for
==
'view'
?
null
// <div style={{ justifyContent: 'flex-end', display: 'flex', flexFlow: 'wrap' }}>
// <a data-tip={'Download'} data-for="download">
// <button
// style={{
// backgroundColor: 'transparent',
// cursor: 'pointer',
// borderColor: 'transparent',
// margin: 5
// }}
// onClick={() =>
// this.setState({ loading: true }, () => {
// setTimeout(() => {
// this.downloadAllData()
// }, 100);
// })}
// >
// <img src={Images.download} />
// </button>
// </a>
// <ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
// </div>
:
<
div
style
=
{{
justifyContent
:
'flex-end'
,
display
:
'flex'
,
flexFlow
:
'wrap'
}}
>
<
a
data
-
tip
=
{
'Upload Simulasi'
}
data
-
for
=
"upload"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
visibleUploadSimulasi
:
true
,
buttonDraft
:
true
})}
>
<
img
src
=
{
Images
.
simulasiUpload
}
style
=
{{
width
:
40
,
height
:
40
,
marginRight
:
3
}}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"upload"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Download Template'
}
data
-
for
=
"template"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
downloadTemplate
()}
>
<
img
src
=
{
Images
.
template
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"template"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Upload'
}
data
-
for
=
"upload"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
visibleUpload
:
true
})}
>
<
img
src
=
{
Images
.
upload
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"upload"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
a
data
-
tip
=
{
'Download'
}
data
-
for
=
"download"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
margin
:
5
}}
onClick
=
{()
=>
this
.
setState
({
loading
:
true
},
()
=>
{
setTimeout
(()
=>
{
this
.
downloadAllData
()
},
100
);
})}
>
<
img
src
=
{
Images
.
download
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"download"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
<
/div
>
}
<
/div
>
<
/div
>
...
...
@@ -6409,124 +6562,193 @@ export default class TaxPlanning extends Component {
<
/div
>
<
/Paper
>
:
<
Paper
style
=
{{
paddingTop
:
10
,
paddingBottom
:
20
}}
>
<
div
>
<
div
style
=
{{
padding
:
25
}}
>
<
div
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
{
this
.
props
.
company
.
company_name
}
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
Period
:
{
this
.
props
.
periode
}
{
String
(
this
.
props
.
quarter
).
toLocaleUpperCase
()}
(
rev
.{
this
.
props
.
revision
})
<
/Typography
>
{
this
.
props
.
defaultCurrency
.
id
===
1
?
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
in
IDR
mn
<
/Typography
>
:
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
in
USD
thousand
<
/Typography
>
}
<
/div
>
{
this
.
state
.
dataLoaded
&&
(
<
div
style
=
{{
marginTop
:
20
,
width
:
this
.
props
.
width
-
(
this
.
props
.
open
===
true
?
400
:
150
)
}}
>
{
this
.
state
.
loading
&&
loadingComponent
}
{
!
this
.
state
.
loading
&&
<
MuiThemeProvider
theme
=
{
getMuiTheme
()}
>
<
MUIDataTable
data
=
{
dataTable2
}
columns
=
{
columns
}
options
=
{
options
}
/
>
<
/MuiThemeProvider
>
this
.
state
.
visibleButtonUpload
===
true
?
<
Paper
style
=
{{
paddingTop
:
10
,
paddingBottom
:
20
}}
>
<
div
>
<
div
style
=
{{
padding
:
25
}}
>
<
div
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
{
this
.
props
.
company
.
company_name
}
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
Period
:
{
this
.
props
.
periode
}
{
String
(
this
.
props
.
quarter
).
toLocaleUpperCase
()}
(
rev
.{
this
.
props
.
revision
})
<
/Typography
>
{
this
.
props
.
defaultCurrency
.
id
===
1
?
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
in
IDR
mn
<
/Typography
>
:
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
in
USD
thousand
<
/Typography
>
}
<
/div
>
)}
<
/div
>
<
div
className
=
"grid grid-2x"
style
=
{{
marginTop
:
20
}}
>
<
div
className
=
"col-1"
>
<
button
type
=
"button"
onClick
=
{()
=>
this
.
setState
({
loading
:
true
,
visibleTP
:
true
},
()
=>
{
setTimeout
(()
=>
{
this
.
getItemHierarki
()
},
100
);
})}
style
=
{{
marginRight
:
20
}}
>
<
div
style
=
{{
backgroundColor
:
'#019ce5'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#fff'
,
textAlign
:
'center'
}}
>
Back
<
/Typography
>
{
this
.
state
.
dataLoaded
&&
(
<
div
style
=
{{
marginTop
:
20
,
width
:
this
.
props
.
width
-
(
this
.
props
.
open
===
true
?
400
:
150
)
}}
>
{
this
.
state
.
loading
&&
loadingComponent
}
{
!
this
.
state
.
loading
&&
<
MuiThemeProvider
theme
=
{
getMuiTheme
()}
>
<
MUIDataTable
data
=
{
dataTable2
}
columns
=
{
columns
}
options
=
{
options
}
/
>
<
/MuiThemeProvider
>
}
<
/div
>
<
/button
>
)}
<
/div
>
<
div
className
=
"col-2"
style
=
{{
display
:
'flex'
,
justifyContent
:
'flex-end'
,
maxWidth
:
'100%'
}}
>
<
button
className
=
"button"
type
=
"button"
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
outline
:
'none'
,
marginRight
:
20
}}
onClick
=
{()
=>
{
// this.forceUpdate()
this
.
setState
({
loading
:
true
,
buttonDraft
:
false
},
()
=>
{
<
div
className
=
"grid grid-2x"
style
=
{{
marginTop
:
20
}}
>
<
div
className
=
"col-1"
>
<
button
type
=
"button"
onClick
=
{()
=>
this
.
setState
({
loading
:
true
,
visibleTP
:
true
},
()
=>
{
setTimeout
(()
=>
{
this
.
handleValidate
()
this
.
getItemHierarki
()
},
100
);
})
}}
>
<
div
style
=
{{
backgroundColor
:
'#fff'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
,
border
:
'solid 1px #354960'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#354960'
,
textAlign
:
'center'
}}
>
Calculate
<
/Typography
>
<
/div
>
<
/button
>
<
button
type
=
"button"
// disabled={this.state.buttonError}
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
this
.
state
.
saveDraft
!==
true
?
'pointer'
:
'default'
,
borderColor
:
'transparent'
,
outline
:
'none'
,
marginRight
:
20
}}
onClick
=
{()
=>
this
.
state
.
saveDraft
===
true
?
null
:
this
.
state
.
handleDoubleClick
==
1
?
null
:
})}
style
=
{{
marginRight
:
20
}}
>
<
div
style
=
{{
backgroundColor
:
'#019ce5'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#fff'
,
textAlign
:
'center'
}}
>
Back
<
/Typography
>
<
/div
>
<
/button
>
<
/div
>
<
div
className
=
"col-2"
style
=
{{
display
:
'flex'
,
justifyContent
:
'flex-end'
,
maxWidth
:
'100%'
}}
>
<
button
type
=
"button"
// disabled={this.state.buttonError}
onClick
=
{()
=>
this
.
setState
({
handleDoubleClick
:
1
,
loading
:
true
},
()
=>
{
setTimeout
(()
=>
{
this
.
uploadTP
(
'draft'
)
},
100
);
this
.
uploadSimulasi
(
'submitted'
)
})}
>
<
div
style
=
{{
backgroundColor
:
'#354960'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#fff'
,
textAlign
:
'center'
}}
>
Save
as
Draft
<
/Typography
>
<
/div
>
<
/button
>
<
button
type
=
"button"
// disabled={this.state.buttonError}
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
this
.
state
.
editable
!==
true
?
'pointer'
:
'default'
,
borderColor
:
'transparent'
,
outline
:
'none'
,
}}
onClick
=
{()
=>
this
.
state
.
editable
===
true
?
null
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
outline
:
'none'
,
}}
>
<
div
style
=
{{
backgroundColor
:
'#354960'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#fff'
,
textAlign
:
'center'
}}
>
Save
Data
<
/Typography
>
<
/div
>
<
/button
>
<
/div
>
<
/div
>
<
/div
>
<
/Paper
>
:
<
Paper
style
=
{{
paddingTop
:
10
,
paddingBottom
:
20
}}
>
<
div
>
<
div
style
=
{{
padding
:
25
}}
>
<
div
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
{
this
.
props
.
company
.
company_name
}
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
Period
:
{
this
.
props
.
periode
}
{
String
(
this
.
props
.
quarter
).
toLocaleUpperCase
()}
(
rev
.{
this
.
props
.
revision
})
<
/Typography
>
{
this
.
props
.
defaultCurrency
.
id
===
1
?
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
in
IDR
mn
<
/Typography
>
:
this
.
state
.
handleDoubleClick
==
1
?
null
:
this
.
setState
({
handleDoubleClick
:
1
,
loading
:
true
},
()
=>
{
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#4b4b4b'
}}
>
in
USD
thousand
<
/Typography
>
}
<
/div
>
{
this
.
state
.
dataLoaded
&&
(
<
div
style
=
{{
marginTop
:
20
,
width
:
this
.
props
.
width
-
(
this
.
props
.
open
===
true
?
400
:
150
)
}}
>
{
this
.
state
.
loading
&&
loadingComponent
}
{
!
this
.
state
.
loading
&&
<
MuiThemeProvider
theme
=
{
getMuiTheme
()}
>
<
MUIDataTable
data
=
{
dataTable2
}
columns
=
{
columns
}
options
=
{
options
}
/
>
<
/MuiThemeProvider
>
}
<
/div
>
)}
<
/div
>
<
div
className
=
"grid grid-2x"
style
=
{{
marginTop
:
20
}}
>
<
div
className
=
"col-1"
>
<
button
type
=
"button"
onClick
=
{()
=>
this
.
setState
({
loading
:
true
,
visibleTP
:
true
},
()
=>
{
setTimeout
(()
=>
{
this
.
getItemHierarki
()
},
100
);
})}
style
=
{{
marginRight
:
20
}}
>
<
div
style
=
{{
backgroundColor
:
'#019ce5'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#fff'
,
textAlign
:
'center'
}}
>
Back
<
/Typography
>
<
/div
>
<
/button
>
<
/div
>
<
div
className
=
"col-2"
style
=
{{
display
:
'flex'
,
justifyContent
:
'flex-end'
,
maxWidth
:
'100%'
}}
>
<
button
className
=
"button"
type
=
"button"
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
outline
:
'none'
,
marginRight
:
20
}}
onClick
=
{()
=>
{
// this.forceUpdate()
this
.
setState
({
loading
:
true
,
buttonDraft
:
false
},
()
=>
{
setTimeout
(()
=>
{
this
.
uploadTP
(
'submitted'
)
this
.
handleValidate
(
)
},
100
);
})}
>
<
div
style
=
{{
backgroundColor
:
'#354960'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#fff'
,
textAlign
:
'center'
}}
>
Save
&
Complete
<
/Typography
>
<
/div
>
<
/button
>
})
}}
>
<
div
style
=
{{
backgroundColor
:
'#fff'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
,
border
:
'solid 1px #354960'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#354960'
,
textAlign
:
'center'
}}
>
Calculate
<
/Typography
>
<
/div
>
<
/button
>
<
button
type
=
"button"
// disabled={this.state.buttonError}
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
this
.
state
.
saveDraft
!==
true
?
'pointer'
:
'default'
,
borderColor
:
'transparent'
,
outline
:
'none'
,
marginRight
:
20
}}
onClick
=
{()
=>
this
.
state
.
saveDraft
===
true
?
null
:
this
.
state
.
handleDoubleClick
==
1
?
null
:
this
.
setState
({
handleDoubleClick
:
1
,
loading
:
true
},
()
=>
{
setTimeout
(()
=>
{
this
.
uploadTP
(
'draft'
)
},
100
);
})}
>
<
div
style
=
{{
backgroundColor
:
'#354960'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#fff'
,
textAlign
:
'center'
}}
>
Save
as
Draft
<
/Typography
>
<
/div
>
<
/button
>
<
button
type
=
"button"
// disabled={this.state.buttonError}
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
this
.
state
.
editable
!==
true
?
'pointer'
:
'default'
,
borderColor
:
'transparent'
,
outline
:
'none'
,
}}
onClick
=
{()
=>
this
.
state
.
editable
===
true
?
null
:
this
.
state
.
handleDoubleClick
==
1
?
null
:
this
.
setState
({
handleDoubleClick
:
1
,
loading
:
true
},
()
=>
{
setTimeout
(()
=>
{
this
.
uploadTP
(
'submitted'
)
},
100
);
})}
>
<
div
style
=
{{
backgroundColor
:
'#354960'
,
width
:
105
,
height
:
25
,
borderRadius
:
3
,
justifyContent
:
'center'
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
Typography
style
=
{{
fontSize
:
'11px'
,
color
:
'#fff'
,
textAlign
:
'center'
}}
>
Save
&
Complete
<
/Typography
>
<
/div
>
<
/button
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/Paper
>
<
/Paper
>
}
<
/div
>
{
this
.
state
.
visibleUpload
&&
(
...
...
@@ -6603,12 +6825,12 @@ export default class TaxPlanning extends Component {
onUpload
=
{()
=>
{
"ROLLING OUTLOOK - TAX PLANNING (in IDR mn)"
String
(
this
.
state
.
judul
).
includes
(
"ROLLING"
)
&&
String
(
this
.
state
.
judul
).
includes
(
"OUTLOOK"
)
&&
String
(
this
.
state
.
judul
).
includes
(
"TAX"
)
&&
String
(
this
.
state
.
judul
).
includes
(
"PLANNING"
)
?
this
.
u
ploadSimulasi
()
:
this
.
checkU
ploadSimulasi
()
:
this
.
setState
({
alert
:
true
,
messageAlert
:
"Invalid Template"
,
tipeAlert
:
'warning'
})
}}
/
>
<
/div
>
<
div
style
=
{{
padding
:
'0px 30px 29px'
,
fontSize
:
17
,
color
:
'red'
}}
><
b
>
Warning
:
<
/b> Valid currency for uploading data is <b>{this.props.defaultCurrency.id == 1
?
"IDR" : "USD"}</
b
><
/div
>
{
/* <div style={{ padding: '0px 30px 29px', fontSize: 17, color: 'red' }}><b>Warning:</b> Valid currency for uploading data is <b>{this.props.defaultCurrency.id == 1 ? "IDR" : "USD"}</b></div> */
}
<
/div
>
<
/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