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
ffedbdee
Commit
ffedbdee
authored
Sep 14, 2020
by
EKSAD
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://103.44.149.204/d.arizona/tia-dev
into riri
parents
8ee3a764
259b9b4a
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
2540 additions
and
386 deletions
+2540
-386
index.js
src/api/index.js
+4
-0
VisualisasiAM.js
src/container/ApprovalMatrix/VisualisasiAM.js
+6
-6
BudgetTahunan.js
src/container/BudgetTahunan.js
+2
-0
TaxPlanning.js
src/container/BudgetTahunan/TaxPlanning.js
+1844
-303
AuditTahunan.js
src/container/DocumentManagement/AuditTahunan.js
+37
-5
BOD.js
src/container/DocumentManagement/BOD.js
+119
-0
CreateManagementDoc.js
src/container/DocumentManagement/CreateManagementDoc.js
+6
-27
DocumentManagement.js
src/container/DocumentManagement/DocumentManagement.js
+149
-7
ManualBookETMS.js
src/container/DocumentManagement/ManualBookETMS.js
+107
-0
ManualBookTia.js
src/container/DocumentManagement/ManualBookTia.js
+74
-4
PopUpKonfirmasi.js
src/container/DocumentManagement/PopUpKonfirmasi.js
+60
-0
QReview.js
src/container/DocumentManagement/QReview.js
+119
-22
CreateParameter.js
src/container/MasterData/Parameter/CreateParameter.js
+8
-8
Profile.js
src/container/Profile.js
+5
-4
No files found.
src/api/index.js
View file @
ffedbdee
...
...
@@ -179,6 +179,8 @@ const create = (baseURL = 'https://tia.eksad.com/tia-reporting-dev/public/') =>
const
getDocumentCategory
=
(
body
)
=>
api
.
post
(
'setting/get_all_setting_document_category'
,
body
)
const
getAllDocument
=
(
body
)
=>
api
.
post
(
'document/get_all_document'
,
body
)
const
uploadDocument
=
(
body
)
=>
api
.
post
(
'document/upload_document'
,
body
)
const
updateDocument
=
(
body
)
=>
api
.
post
(
'document/update_document'
,
body
)
const
downloadDocument
=
(
body
)
=>
api
.
post
(
'document/download_document'
,
body
)
// ------
// STEP 3
...
...
@@ -286,6 +288,8 @@ const create = (baseURL = 'https://tia.eksad.com/tia-reporting-dev/public/') =>
getDocumentCategory
,
getAllDocument
,
uploadDocument
,
updateDocument
,
downloadDocument
,
createSubmitReport
,
getSubmission
}
...
...
src/container/ApprovalMatrix/VisualisasiAM.js
View file @
ffedbdee
...
...
@@ -220,7 +220,7 @@ export default class VisualisasiAM extends Component {
{
this
.
state
.
listApproval
.
sort
((
a
,
b
)
=>
a
.
orderId
-
b
.
orderId
).
map
((
item
,
index
)
=>
(
<
li
key
=
{
index
}
style
=
{{
color
:
'#4b4b4b'
,
fontSize
:
14
}}
>
<
a
href
=
'#'
style
=
{{
color
:
'#4b4b4b'
,
fontSize
:
'14px'
,
cursor
:
'auto'
,
outline
:
'none'
}}
>
<
div
className
=
"grid grid-
3
x grid-mobile-none gap-20px margin-bottom-20px"
style
=
{{
width
:
'75%'
}}
>
<
div
className
=
"grid grid-
4
x grid-mobile-none gap-20px margin-bottom-20px"
style
=
{{
width
:
'75%'
}}
>
{
item
.
data
.
map
((
items
,
indexs
)
=>
{
return
(
<
label
>
{
items
.
fullname
}
<
/label>
)
}
)
}
<
label
>
{
item
.
data
.
length
==
1
?
''
:
item
.
data
[
0
].
operator_type_name
}
<
/label
>
<
/div
>
...
...
@@ -231,24 +231,24 @@ export default class VisualisasiAM extends Component {
<
/ReactDragListView
>
<
/div
>
<
/div
>
<
div
className
=
"row"
style
=
{{
display
:
'flex'
,
flexDirection
:
'row'
,
justifyContent
:
'space-between'
,
paddingRight
:
15
,
paddingLeft
:
15
,
paddingBottom
:
25
}}
>
<
div
onClick
=
{()
=>
this
.
props
.
onClickClose
()}
style
=
{{
width
:
102
,
height
:
30
,
marginLeft
:
25
,
backgroundColor
:
'dodgerblue'
,
borderRadius
:
5
,
alignItems
:
'center'
,
display
:
'flex'
,
justifyContent
:
'center'
,
cursor
:
"pointer"
}}
>
<
div
className
=
"row"
style
=
{{
float
:
'right'
,
display
:
'flex'
,
flexDirection
:
'row'
,
justifyContent
:
'space-between'
,
paddingRight
:
15
,
paddingLeft
:
15
,
paddingBottom
:
25
}}
>
{
/*
<div onClick={() => this.props.onClickClose()} style={{ width: 102, height: 30, marginLeft: 25, backgroundColor: 'dodgerblue', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center', cursor:"pointer" }}>
<span style={{ color: '#fff', fontSize: 11 }}>Back</span>
<
/div
>
{
this
.
props
.
btnedit
&&
(
</div> */
}
<
div
className
=
"row"
style
=
{{
float
:
'right'
,
marginRight
:
25
}}
>
<
div
onClick
=
{()
=>
this
.
props
.
onClickClose
()}
style
=
{{
width
:
102
,
height
:
30
,
border
:
'solid 1px #354960'
,
borderRadius
:
5
,
alignItems
:
'center'
,
display
:
'flex'
,
justifyContent
:
'center'
,
cursor
:
"pointer"
}}
>
<
span
style
=
{{
color
:
'#354960'
,
fontSize
:
11
}}
>
Cancel
<
/span
>
<
/div
>
{
this
.
props
.
btnedit
&&
(
<
div
onClick
=
{()
=>
this
.
handleSave
()}
style
=
{{
width
:
102
,
height
:
30
,
marginLeft
:
25
,
backgroundColor
:
'#354960'
,
borderRadius
:
5
,
alignItems
:
'center'
,
display
:
'flex'
,
justifyContent
:
'center'
,
cursor
:
"pointer"
}}
>
<
span
style
=
{{
color
:
'#fff'
,
fontSize
:
11
}}
>
Save
<
/span
>
<
/div
>
<
/div
>
)}
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
);
}
...
...
src/container/BudgetTahunan.js
View file @
ffedbdee
...
...
@@ -677,6 +677,8 @@ export default class BudgetTahunan extends Component {
company
=
{
this
.
state
.
company
}
revision
=
{
this
.
state
.
revisionTable
}
periode
=
{
this
.
state
.
periode
.
periode
}
submissionID
=
{
this
.
state
.
submissionID
}
saveToMasterBudget
=
{
this
.
saveToMasterBudget
.
bind
(
this
)}
onClickClose
=
{()
=>
this
.
setState
({
visibleTP
:
false
,
visibleBudgetTahunan
:
true
})}
/
>
)}
...
...
src/container/BudgetTahunan/TaxPlanning.js
View file @
ffedbdee
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/container/DocumentManagement/AuditTahunan.js
View file @
ffedbdee
...
...
@@ -2,6 +2,8 @@ import React, { Component } from 'react'
import
MUIDataTable
from
'mui-datatables'
import
{
createMuiTheme
,
MuiThemeProvider
}
from
'@material-ui/core'
;
import
api
from
'../../api'
;
import
Images
from
'../../assets/Images'
;
import
ReactTooltip
from
'react-tooltip'
;
import
CreateManagementDoc
from
'./CreateManagementDoc'
;
...
...
@@ -39,14 +41,15 @@ export default class AuditTahunan extends Component {
api
.
create
().
getAllDocument
(
payload
).
then
(
response
=>
{
console
.
log
(
response
)
let
dataTable
=
response
.
data
.
data
.
map
(
item
=>
{
let
dataTable
=
response
.
data
.
data
.
map
(
(
item
,
index
)
=>
{
return
[
index
,
item
.
document_name
,
item
.
description
,
item
.
company_name
,
""
,
item
.
document_periode
,
item
.
document_type
,
String
(
Number
(
item
.
document_size
)
/
1000
+
'
M
B'
),
String
(
Number
(
item
.
document_size
)
/
1000
+
'
K
B'
),
item
.
created_by
,
item
.
created_at
,
]
...
...
@@ -56,8 +59,37 @@ export default class AuditTahunan extends Component {
}
render
()
{
let
columns
=
[
"Nama File"
,
"Keterangan"
,
"Perusahaan"
,
"Periode"
,
"Tipe"
,
"Ukuran"
,
"Ditambahkan Oleh"
,
"Ditambahkan Tanggal"
let
columns
=
[{
name
:
"Action"
,
options
:
{
filter
:
false
,
sort
:
false
,
customBodyRender
:
(
val
,
tableMeta
)
=>
{
console
.
log
(
tableMeta
)
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
/* {this.state.btnedit && <span> */
}
<
a
data
-
tip
=
{
'Download'
}
data
-
for
=
"download"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
marginRight
:
15
}}
// onClick={() => console.log(tableMeta)}
// onClick={() => this.openPopUp(tableMeta.rowData, 'edit')}
>
<
img
src
=
{
Images
.
download
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"download"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
{
/* </span>} */
}
<
/div
>
);
}
}
},
"Nama File"
,
"Keterangan"
,
"Perusahaan"
,
"Periode"
,
"Tipe"
,
"Ukuran"
,
"Ditambahkan Oleh"
,
"Ditambahkan Tanggal"
]
return
(
<
div
style
=
{{
width
:
'100%'
}}
>
...
...
src/container/DocumentManagement/BOD.js
0 → 100644
View file @
ffedbdee
import
React
,
{
Component
}
from
'react'
import
MUIDataTable
from
'mui-datatables'
import
{
createMuiTheme
,
MuiThemeProvider
}
from
'@material-ui/core'
;
import
api
from
'../../api'
;
import
Images
from
'../../assets/Images'
;
import
ReactTooltip
from
'react-tooltip'
;
import
CreateManagementDoc
from
'./CreateManagementDoc'
;
var
ct
=
require
(
"../../library/CustomTable"
);
const
getMuiTheme
=
()
=>
createMuiTheme
(
ct
.
customTable
());
const
options
=
ct
.
customOptionsManagementDocument
();
export
default
class
BOD
extends
Component
{
constructor
(
props
)
{
super
(
props
)
this
.
state
=
{
dataTable
:
[],
visibleCreate
:
false
,
refresh
:
''
}
}
componentDidMount
()
{
// console.log(this.props.data)
this
.
getData
()
}
componentWillReceiveProps
(
props
)
{
// console.log(props);
const
{
refresh
,
id
}
=
this
.
props
;
if
(
props
.
refresh
!==
refresh
)
{
this
.
getData
()
}
}
getData
()
{
let
payload
=
{
"setting_id"
:
this
.
props
.
data
.
setting_id
}
api
.
create
().
getAllDocument
(
payload
).
then
((
response
)
=>
{
console
.
log
(
response
)
if
(
response
.
problem
){
alert
(
response
.
problem
)
}
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
==
'success'
)
{
let
dataTable
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
return
[
index
,
item
.
document_name
,
item
.
description
,
item
.
company_name
,
item
.
document_periode
,
item
.
document_type
,
String
(
Number
(
item
.
document_size
)
/
1000
+
' MB'
),
item
.
created_by
,
item
.
created_at
,
]
})
this
.
setState
({
dataTable
})
}
}
}
})
}
render
()
{
let
columns
=
[
{
name
:
"Action"
,
options
:
{
filter
:
false
,
sort
:
false
,
customBodyRender
:
(
val
,
tableMeta
)
=>
{
console
.
log
(
tableMeta
)
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
/* {this.state.btnedit && <span> */
}
<
a
data
-
tip
=
{
'Download'
}
data
-
for
=
"download"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
marginRight
:
15
}}
// onClick={() => console.log(tableMeta)}
// onClick={() => this.openPopUp(tableMeta.rowData, 'edit')}
>
<
img
src
=
{
Images
.
download
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"download"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
{
/* </span>} */
}
<
/div
>
);
}
}
},
"Nama File"
,
"Keterangan"
,
"Perusahaan"
,
"Periode"
,
"Tipe"
,
"Ukuran"
,
"Ditambahkan Oleh"
,
"Ditambahkan Tanggal"
]
return
(
<
div
style
=
{{
width
:
'100%'
}}
>
<
div
style
=
{{
padding
:
25
}}
>
<
MuiThemeProvider
theme
=
{
getMuiTheme
()}
>
<
MUIDataTable
theme
=
{
getMuiTheme
()}
data
=
{
this
.
state
.
dataTable
}
columns
=
{
columns
}
options
=
{
options
}
/
>
<
/MuiThemeProvider
>
<
/div
>
<
/div
>
)
}
}
src/container/DocumentManagement/CreateManagementDoc.js
View file @
ffedbdee
...
...
@@ -8,10 +8,6 @@ import { format } from 'date-fns';
import
UploadFile
from
"../../library/Upload"
;
import
{
ExcelRenderer
}
from
'react-excel-renderer'
;
import
*
as
R
from
'ramda'
import
MuiAlert
from
'@material-ui/lab/Alert'
;
const
Alert
=
withStyles
({
})((
props
)
=>
<
MuiAlert
elevation
=
{
6
}
variant
=
"filled"
{...
props
}
/>
)
;
export
default
class
CreateManagementDoc
extends
Component
{
constructor
(
props
)
{
...
...
@@ -36,7 +32,9 @@ export default class CreateManagementDoc extends Component {
alert
:
false
,
tipeAlert
:
''
,
messageAlert
:
''
,
fileType
:
''
fileType
:
''
,
konfirmasi
:
false
,
docId
:
''
}
}
...
...
@@ -184,25 +182,9 @@ export default class CreateManagementDoc extends Component {
formData
.
append
(
"description"
,
this
.
state
.
description
);
formData
.
append
(
"extension"
,
this
.
state
.
fileType
);
this
.
setState
({
formData
},
()
=>
{
this
.
createDocument
()
})
}
}
createDocument
(){
api
.
create
().
uploadDocument
(
this
.
state
.
formData
).
then
(
response
=>
{
console
.
log
(
response
)
if
(
response
)
{
if
(
response
.
data
.
status
===
"success"
)
{
this
.
props
.
getDataDocument
(
this
.
props
.
setting_id
)
this
.
props
.
onClickClose
()
}
}
this
.
props
.
createDocument
(
this
.
state
.
formData
,
this
.
props
.
setting_id
)
})
}
closeAlert
()
{
this
.
setState
({
alert
:
false
})
}
deleteFile
(
e
){
...
...
@@ -211,12 +193,8 @@ export default class CreateManagementDoc extends Component {
render
()
{
return
(
<
div
>
<
div
className
=
"test app-popup-show"
>
<
Snackbar
open
=
{
this
.
state
.
alert
}
autoHideDuration
=
{
6000
}
onClose
=
{()
=>
this
.
closeAlert
()}
>
<
Alert
onClose
=
{()
=>
this
.
closeAlert
()}
severity
=
{
this
.
state
.
tipeAlert
}
>
{
this
.
state
.
messageAlert
}
<
/Alert
>
<
/Snackbar
>
<
div
className
=
"popup-content background-white border-radius"
style
=
{{
borderRadius
:
8
}}
>
<
div
className
=
"popup-panel grid grid-2x main-color"
style
=
{{
height
:
64
,
borderTopRightRadius
:
8
,
borderTopLeftRadius
:
8
}}
>
<
div
className
=
"col-1"
style
=
{{
maxWidth
:
"inherit"
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
...
...
@@ -364,6 +342,7 @@ export default class CreateManagementDoc extends Component {
<
/div
>
<
/div
>
<
/div
>
<
/div
>
)
}
}
src/container/DocumentManagement/DocumentManagement.js
View file @
ffedbdee
import
React
,
{
Component
}
from
'react'
import
{
Tabs
,
Tab
,
Typography
,
Paper
}
from
'@material-ui/core'
import
{
Tabs
,
Tab
,
Typography
,
Paper
,
withStyles
,
Snackbar
}
from
'@material-ui/core'
import
ReactTooltip
from
'react-tooltip'
import
Images
from
'../../assets/Images'
import
ManualBookTia
from
'./ManualBookTia'
...
...
@@ -7,6 +7,14 @@ import api from '../../api'
import
AuditTahunan
from
'./AuditTahunan'
import
CreateManagementDoc
from
'./CreateManagementDoc'
import
QReview
from
'./QReview'
import
BOD
from
'./BOD'
import
ManualBookETMS
from
'./ManualBookETMS'
import
PopUpKonfirmasi
from
"./PopUpKonfirmasi"
;
import
Constant
from
'../../library/Constant'
import
MuiAlert
from
'@material-ui/lab/Alert'
;
const
Alert
=
withStyles
({
})((
props
)
=>
<
MuiAlert
elevation
=
{
6
}
variant
=
"filled"
{...
props
}
/>
)
;
export
default
class
DocumentManagement
extends
Component
{
constructor
(
props
)
{
...
...
@@ -20,7 +28,7 @@ export default class DocumentManagement extends Component {
selectTab
=
(
event
,
newEvent
)
=>
{
this
.
setState
({
tab
:
newEvent
})
//
console.log(this.state.tab)
console
.
log
(
this
.
state
.
tab
)
}
componentDidMount
()
{
...
...
@@ -44,7 +52,7 @@ export default class DocumentManagement extends Component {
loadTable
:
true
,
refresh
:
id
===
undefined
?
''
:
'create'
})
//
console.log(this.state.listData)
console
.
log
(
this
.
state
.
listData
)
}
else
{
}
...
...
@@ -54,14 +62,124 @@ export default class DocumentManagement extends Component {
})
}
createDocument
(
payload
,
settingID
)
{
api
.
create
().
uploadDocument
(
payload
).
then
(
response
=>
{
console
.
log
(
response
)
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
message
===
"The Document Already Exists in The System, Do You Want to Overwrite It?"
)
{
this
.
setState
({
formData
:
payload
,
docId
:
response
.
data
.
data
.
document_id
},
()
=>
{
this
.
setState
({
konfirmasi
:
true
})
})
}
else
if
(
response
.
data
.
message
===
"Upload Document Success"
)
{
this
.
getDataDocument
(
settingID
)
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'success'
,
settingID
,
visibleCreate
:
false
})
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
},
()
=>
{
if
(
response
.
data
.
message
.
includes
(
"Someone Logged In"
))
{
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'
})
}
})
}
createUploadDocument
()
{
const
formData
=
this
.
state
.
formData
formData
.
append
(
"documentId"
,
this
.
state
.
docId
)
// const docuID = Object.values(payload)
// const formDatas = new FormData();
// formDatas.append("file", this.state.file);
// formDatas.append("companyId", this.state.getPerusahaan.company_id);
// formDatas.append("settingId", this.state.getDocument.document_category_id);
// formDatas.append("documentPeriode", this.state.periode.periode);
// formDatas.append("description", this.state.description);
// formDatas.append("extension", this.state.fileType);
// // formDatas.append("documentId", docuID[0]);
// console.log(payload);
api
.
create
().
updateDocument
(
formData
).
then
(
response
=>
{
console
.
log
(
response
)
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
===
"success"
)
{
this
.
getDataDocument
(
this
.
state
.
settingID
)
this
.
setState
({
konfirmasi
:
false
,
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'success'
,
visibleCreate
:
false
})
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
},
()
=>
{
if
(
response
.
data
.
message
.
includes
(
"Someone Logged In"
))
{
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'
})
}
})
}
getID
(
id
)
{
console
.
log
(
id
);
this
.
setState
({
id
})
}
closeAlert
()
{
this
.
setState
({
alert
:
false
})
}
getDownloadDocument
(
payload
){
// console.log(payload)
api
.
create
().
downloadDocument
(
payload
).
then
(
response
=>
{
console
.
log
(
response
)
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
===
"success"
)
{
// this.getDataDocument(settingID)
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'success'
,
visibleCreate
:
false
})
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
},
()
=>
{
if
(
response
.
data
.
message
.
includes
(
"Someone Logged In"
))
{
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'
})
}
})
}
render
()
{
return
(
<
div
style
=
{{
height
:
this
.
props
.
height
,
backgroundColor
:
'#f8f8f8'
}}
>
<
Snackbar
open
=
{
this
.
state
.
alert
}
autoHideDuration
=
{
6000
}
onClose
=
{()
=>
this
.
closeAlert
()}
>
<
Alert
onClose
=
{()
=>
this
.
closeAlert
()}
severity
=
{
this
.
state
.
tipeAlert
}
>
{
this
.
state
.
messageAlert
}
<
/Alert
>
<
/Snackbar
>
<
div
className
=
{
"main-color"
}
style
=
{{
height
:
78
,
display
:
'flex'
,
alignItems
:
'center'
,
paddingLeft
:
20
}}
>
<
Typography
style
=
{{
fontSize
:
'16px'
,
color
:
'white'
}}
>
Management
Document
<
/Typography
>
<
/div
>
...
...
@@ -104,11 +222,28 @@ export default class DocumentManagement extends Component {
/
>
:
this
.
state
.
id
===
68541
?
<
ManualBookTia
/>
<
ManualBookTia
data
=
{
this
.
state
.
listData
[
this
.
state
.
tab
]}
refresh
=
{
this
.
state
.
refresh
}
/
>
:
this
.
state
.
id
===
3
?
this
.
state
.
id
===
68544
?
<
QReview
data
=
{
this
.
state
.
listData
[
this
.
state
.
tab
]}
refresh
=
{
this
.
state
.
refresh
}
getDownloadDocument
=
{
this
.
getDownloadDocument
.
bind
(
this
)}
/
>
:
this
.
state
.
id
===
68543
?
<
BOD
data
=
{
this
.
state
.
listData
[
this
.
state
.
tab
]}
refresh
=
{
this
.
state
.
refresh
}
/
>
:
this
.
state
.
id
===
68545
?
<
ManualBookETMS
data
=
{
this
.
state
.
listData
[
this
.
state
.
tab
]}
refresh
=
{
this
.
state
.
refresh
}
/
>
:
<
span
>
Test2
<
/span
>
...
...
@@ -118,10 +253,17 @@ export default class DocumentManagement extends Component {
<
/Paper
>
<
/div
>
{
this
.
state
.
konfirmasi
&&
(
<
PopUpKonfirmasi
onClickClosePopUp
=
{()
=>
this
.
setState
({
konfirmasi
:
false
})}
uploadDocId
=
{
this
.
createUploadDocument
.
bind
(
this
)}
/
>
)}
{
this
.
state
.
visibleCreate
&&
(
<
CreateManagementDoc
onClickClose
=
{()
=>
this
.
setState
({
visibleCreate
:
false
})}
getDataDocument
=
{
this
.
getDataDocument
.
bind
(
this
)}
// getDataDocument={this.getDataDocument.bind(this)}
createDocument
=
{
this
.
createDocument
.
bind
(
this
)}
setting_id
=
{
this
.
state
.
id
}
/
>
)}
...
...
src/container/DocumentManagement/ManualBookETMS.js
0 → 100644
View file @
ffedbdee
import
React
,
{
Component
}
from
'react'
import
MUIDataTable
from
'mui-datatables'
import
{
createMuiTheme
,
MuiThemeProvider
}
from
'@material-ui/core'
;
import
api
from
'../../api'
;
import
Images
from
'../../assets/Images'
;
import
ReactTooltip
from
'react-tooltip'
;
var
ct
=
require
(
"../../library/CustomTable"
);
const
getMuiTheme
=
()
=>
createMuiTheme
(
ct
.
customTable
());
const
options
=
ct
.
customOptions
();
export
default
class
ManualBookETMS
extends
Component
{
constructor
(
props
)
{
super
(
props
)
this
.
state
=
{
dataTable
:
[],
visibleCreate
:
false
,
refresh
:
''
}
}
componentDidMount
()
{
// console.log(this.props.data)
this
.
getData
()
}
componentWillReceiveProps
(
props
)
{
// console.log(props);
const
{
refresh
,
id
}
=
this
.
props
;
if
(
props
.
refresh
!==
refresh
)
{
this
.
getData
()
}
}
getData
()
{
let
payload
=
{
"setting_id"
:
this
.
props
.
data
.
setting_id
}
api
.
create
().
getAllDocument
(
payload
).
then
(
response
=>
{
console
.
log
(
response
)
let
dataTable
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
return
[
index
,
item
.
document_name
,
item
.
description
,
item
.
company_name
,
item
.
document_type
,
String
(
Number
(
item
.
document_size
)
/
1000
+
' MB'
),
item
.
created_by
,
item
.
created_at
,
]
})
this
.
setState
({
dataTable
})
})
}
render
()
{
let
columns
=
[{
name
:
"Action"
,
options
:
{
filter
:
false
,
sort
:
false
,
customBodyRender
:
(
val
,
tableMeta
)
=>
{
console
.
log
(
tableMeta
)
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
/* {this.state.btnedit && <span> */
}
<
a
data
-
tip
=
{
'Download'
}
data
-
for
=
"download"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
marginRight
:
15
}}
// onClick={() => console.log(tableMeta)}
// onClick={() => this.openPopUp(tableMeta.rowData, 'edit')}
>
<
img
src
=
{
Images
.
download
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"download"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
{
/* </span>} */
}
<
/div
>
);
}
}
},
"Nama File"
,
"Keterangan"
,
"Perusahaan"
,
"Tipe"
,
"Ukuran"
,
"Ditambahkan Oleh"
,
"Ditambahkan Tanggal"
]
return
(
<
div
style
=
{{
width
:
'100%'
}}
>
<
div
style
=
{{
padding
:
25
}}
>
<
MuiThemeProvider
theme
=
{
getMuiTheme
()}
>
<
MUIDataTable
theme
=
{
getMuiTheme
()}
data
=
{
this
.
state
.
dataTable
}
columns
=
{
columns
}
options
=
{
options
}
/
>
<
/MuiThemeProvider
>
<
/div
>
<
/div
>
)
}
}
src/container/DocumentManagement/ManualBookTia.js
View file @
ffedbdee
import
React
,
{
Component
}
from
'react'
import
MUIDataTable
from
'mui-datatables'
import
{
createMuiTheme
,
MuiThemeProvider
}
from
'@material-ui/core'
;
import
api
from
'../../api'
;
import
Images
from
'../../assets/Images'
;
import
ReactTooltip
from
'react-tooltip'
;
var
ct
=
require
(
"../../library/CustomTable"
);
const
getMuiTheme
=
()
=>
createMuiTheme
(
ct
.
customTable
());
...
...
@@ -11,13 +13,81 @@ export default class ManualBookTia extends Component {
constructor
(
props
)
{
super
(
props
)
this
.
state
=
{
dataTable
:
[]
dataTable
:
[],
visibleCreate
:
false
,
refresh
:
''
}
}
componentDidMount
()
{
// console.log(this.props.data)
this
.
getData
()
}
componentWillReceiveProps
(
props
)
{
// console.log(props);
const
{
refresh
,
id
}
=
this
.
props
;
if
(
props
.
refresh
!==
refresh
)
{
this
.
getData
()
}
}
getData
()
{
let
payload
=
{
"setting_id"
:
this
.
props
.
data
.
setting_id
}
api
.
create
().
getAllDocument
(
payload
).
then
(
response
=>
{
console
.
log
(
response
)
let
dataTable
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
return
[
index
,
item
.
document_name
,
item
.
description
,
item
.
company_name
,
item
.
document_periode
,
item
.
document_type
,
String
(
Number
(
item
.
document_size
)
/
1000
+
' MB'
),
item
.
created_by
,
item
.
created_at
,
]
})
this
.
setState
({
dataTable
})
})
}
render
()
{
let
columns
=
[
"Nama File"
,
"Keterangan"
,
"Perusahaan"
,
"Tipe"
,
"Ukuran"
,
"Ditambahkan Oleh"
,
"Ditambahkan Tanggal"
let
columns
=
[{
name
:
"Action"
,
options
:
{
filter
:
false
,
sort
:
false
,
customBodyRender
:
(
val
,
tableMeta
)
=>
{
console
.
log
(
tableMeta
)
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
/* {this.state.btnedit && <span> */
}
<
a
data
-
tip
=
{
'Download'
}
data
-
for
=
"download"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
marginRight
:
15
}}
// onClick={() => console.log(tableMeta)}
// onClick={() => this.openPopUp(tableMeta.rowData, 'edit')}
>
<
img
src
=
{
Images
.
download
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"download"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
{
/* </span>} */
}
<
/div
>
);
}
}
},
"Nama File"
,
"Keterangan"
,
"Perusahaan"
,
"Tipe"
,
"Ukuran"
,
"Ditambahkan Oleh"
,
"Ditambahkan Tanggal"
]
return
(
<
div
style
=
{{
width
:
'100%'
}}
>
...
...
src/container/DocumentManagement/PopUpKonfirmasi.js
0 → 100644
View file @
ffedbdee
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
PopUpKonfirmasi
extends
Component
{
constructor
(
props
)
{
super
(
props
)
this
.
state
=
{
}
}
componentDidMount
()
{
}
onClickUpload
()
{
let
payload
=
this
.
props
.
data
this
.
props
.
uploadDocId
(
payload
)
}
render
()
{
return
(
<
div
className
=
"test app-popup-show"
style
=
{{
zIndex
:
2500
}}
>
<
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'
}}
>
The
Document
Already
Exists
in
The
System
,
<
br
/>
Do
You
Want
to
Overwrite
It
?
<
/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
.
onClickClosePopUp
()}
>
<
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
.
onClickUpload
()}
>
<
div
style
=
{{
width
:
102
,
height
:
30
,
backgroundColor
:
'#354960'
,
borderRadius
:
5
,
alignItems
:
'center'
,
display
:
'flex'
,
justifyContent
:
'center'
}}
>
<
span
style
=
{{
color
:
'#fff'
,
fontSize
:
11
}}
>
Rewrite
<
/span
>
<
/div
>
<
/button
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
);
}
}
src/container/DocumentManagement/QReview.js
View file @
ffedbdee
import
React
,
{
Component
}
from
'react'
import
MUIDataTable
from
'mui-datatables'
import
{
createMuiTheme
,
MuiThemeProvider
}
from
'@material-ui/core'
;
import
{
withStyles
}
from
'@material-ui/core/styles'
;
import
{
createMuiTheme
,
MuiThemeProvider
,
Snackbar
}
from
'@material-ui/core'
;
import
api
from
'../../api'
;
import
MuiAlert
from
'@material-ui/lab/Alert'
;
import
Constant
from
'../../library/Constant'
;
import
Images
from
'../../assets/Images'
;
import
ReactTooltip
from
'react-tooltip'
;
import
CreateManagementDoc
from
'./CreateManagementDoc'
;
...
...
@@ -9,33 +14,52 @@ var ct = require("../../library/CustomTable");
const
getMuiTheme
=
()
=>
createMuiTheme
(
ct
.
customTable
());
const
options
=
ct
.
customOptionsManagementDocument
();
export
default
class
AuditTahunan
extends
Component
{
const
Alert
=
withStyles
({
})((
props
)
=>
<
MuiAlert
elevation
=
{
6
}
variant
=
"filled"
{...
props
}
/>
)
;
export
default
class
QReview
extends
Component
{
constructor
(
props
)
{
super
(
props
)
this
.
state
=
{
dataTable
:
[],
visibleCreate
:
false
visibleCreate
:
false
,
refresh
:
''
}
}
componentDidMount
()
{
console
.
log
(
this
.
props
.
data
)
// console.log(this.props.data)
this
.
getData
()
}
componentWillReceiveProps
(
props
)
{
// console.log(props);
const
{
refresh
,
id
}
=
this
.
props
;
if
(
props
.
refresh
!==
refresh
)
{
this
.
getData
()
}
}
getData
()
{
let
payload
=
{
"company_id"
:
1
,
"document_category_id"
:
3
"setting_id"
:
this
.
props
.
data
.
setting_id
}
api
.
create
().
getAllDocument
(
payload
).
then
(
respone
=>
{
let
dataTable
=
respone
.
data
.
data
.
map
(
item
=>
{
api
.
create
().
getAllDocument
(
payload
).
then
((
response
)
=>
{
console
.
log
(
response
)
if
(
response
.
problem
){
alert
(
response
.
problem
)
}
if
(
response
.
data
)
{
if
(
response
.
ok
)
{
if
(
response
.
data
.
status
==
'success'
)
{
let
dataTable
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
return
[
index
,
item
.
document_name
,
item
.
description
,
item
.
company_name
,
""
,
item
.
document_periode
,
item
.
document_type
,
String
(
Number
(
item
.
document_size
)
/
1000
+
' MB'
),
item
.
created_by
,
...
...
@@ -43,16 +67,89 @@ export default class AuditTahunan extends Component {
]
})
this
.
setState
({
dataTable
})
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'warning'
,
loading
:
false
},
()
=>
{
if
(
response
.
data
.
message
.
includes
(
"Someone Logged In"
))
{
setTimeout
(()
=>
{
localStorage
.
removeItem
(
Constant
.
TOKEN
)
window
.
location
.
reload
();
},
1000
);
}
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
data
.
message
,
tipeAlert
:
'error'
,
loading
:
false
})
}
}
else
{
this
.
setState
({
alert
:
true
,
messageAlert
:
response
.
problem
,
tipeAlert
:
'error'
,
loading
:
false
})
}
})
}
openPopUp
(
index
,
type
){
if
(
type
===
'download'
)
{
const
formData
=
new
FormData
();
formData
.
append
(
"documentName"
,
index
[
1
]);
formData
.
append
(
"fileType"
,
index
[
5
]);
this
.
setState
({
formData
},
()
=>
{
this
.
props
.
getDownloadDocument
(
this
.
state
.
formData
)
})
}
}
downloadDoc
()
{
let
datax
=
this
.
state
.
index
console
.
log
(
datax
)
// let payload = {
// "documentName": this.state.typeId.approval_type_id,
// "fileType": this.state.order
// }
// this.props.getDownloadDocument(payload)
}
render
()
{
let
columns
=
[
"Nama File"
,
"Keterangan"
,
"Perusahaan"
,
"Periode"
,
"Tipe"
,
"Ukuran"
,
"Ditambahkan Oleh"
,
"Ditambahkan Tanggal"
let
columns
=
[{
name
:
"Action"
,
options
:
{
filter
:
false
,
sort
:
false
,
customBodyRender
:
(
val
,
tableMeta
)
=>
{
console
.
log
(
tableMeta
)
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
{
/* {this.state.btnedit && <span> */
}
<
a
data
-
tip
=
{
'Download'
}
data
-
for
=
"download"
>
<
button
style
=
{{
backgroundColor
:
'transparent'
,
cursor
:
'pointer'
,
borderColor
:
'transparent'
,
marginRight
:
15
}}
// onClick={() => console.log(tableMeta)}
onClick
=
{()
=>
this
.
openPopUp
(
tableMeta
.
rowData
,
'download'
)}
>
<
img
src
=
{
Images
.
download
}
/
>
<
/button
>
<
/a
>
<
ReactTooltip
border
=
{
true
}
id
=
"download"
place
=
"bottom"
type
=
"light"
effect
=
"solid"
/>
{
/* </span>} */
}
<
/div
>
);
}
}
},
"Nama File"
,
"Keterangan"
,
"Perusahaan"
,
"Periode"
,
"Tipe"
,
"Ukuran"
,
"Ditambahkan Oleh"
,
"Ditambahkan Tanggal"
]
return
(
<
div
style
=
{{
width
:
'100%'
}}
>
<
div
style
=
{{
padding
:
25
}}
>
<
Snackbar
open
=
{
this
.
state
.
alert
}
autoHideDuration
=
{
6000
}
onClose
=
{()
=>
this
.
closeAlert
()}
>
<
Alert
onClose
=
{()
=>
this
.
closeAlert
()}
severity
=
{
this
.
state
.
tipeAlert
}
>
{
this
.
state
.
messageAlert
}
<
/Alert
>
<
/Snackbar
>
<
MuiThemeProvider
theme
=
{
getMuiTheme
()}
>
<
MUIDataTable
theme
=
{
getMuiTheme
()}
...
...
src/container/MasterData/Parameter/CreateParameter.js
View file @
ffedbdee
...
...
@@ -654,11 +654,11 @@ export default class CreateParameter extends Component {
}}
name
=
"min_value"
onChange
=
{(
e
)
=>
{
let
coba
=
String
(
e
.
target
.
value
).
replace
(
/
[^\d]
/g
,
''
);
//
let coba = String(e.target.value).replace(/[^\d]/g, '');
this
.
setState
({
tempData
:
{
...
this
.
state
.
tempData
,
min_value
:
coba
min_value
:
e
.
target
.
value
}
})
this
.
clearMessage
()
...
...
@@ -822,11 +822,11 @@ export default class CreateParameter extends Component {
}}
name
=
"max_value"
onChange
=
{(
e
)
=>
{
let
coba
=
String
(
e
.
target
.
value
).
replace
(
/
[^\d]
/g
,
''
);
//
let coba = String(e.target.value).replace(/[^\d]/g, '');
this
.
setState
({
tempData
:
{
...
this
.
state
.
tempData
,
max_value
:
coba
max_value
:
e
.
target
.
value
}
})
this
.
clearMessage
()
...
...
@@ -1035,9 +1035,9 @@ export default class CreateParameter extends Component {
}}
name
=
"minValue"
onChange
=
{(
e
)
=>
{
let
coba
=
String
(
e
.
target
.
value
).
replace
(
/
[^\d]
/g
,
''
);
//
let coba = String(e.target.value).replace(/[^\d]/g, '');
this
.
setState
({
minValue
:
coba
minValue
:
e
.
target
.
value
})
this
.
clearMessage
()
}
...
...
@@ -1194,9 +1194,9 @@ export default class CreateParameter extends Component {
}}
name
=
"maxValue"
onChange
=
{(
e
)
=>
{
let
coba
=
String
(
e
.
target
.
value
).
replace
(
/
[^\d]
/g
,
''
);
//
let coba = String(e.target.value).replace(/[^\d]/g, '');
this
.
setState
({
maxValue
:
coba
maxValue
:
e
.
target
.
value
})
this
.
clearMessage
()
}
...
...
src/container/Profile.js
View file @
ffedbdee
...
...
@@ -383,9 +383,9 @@ export default class Profile extends Component {
onClick
=
{()
=>
this
.
setState
({
uploadVisible
:
true
})}
>
{
/* <img src={Images.photo} /> */
}
<
div
style
=
{{
width
:
93
,
height
:
30
,
objectFit
:
'contain'
,
backgroundColor
:
'#019ce5'
,
borderRadius
:
4
,
display
:
'flex'
,
alignContent
:
'center'
,
justifyContent
:
'center'
}}
>
<
div
style
=
{{
height
:
30
,
objectFit
:
'contain'
,
backgroundColor
:
'#019ce5'
,
borderRadius
:
4
,
display
:
'flex'
,
alignContent
:
'center'
,
justifyContent
:
'center'
,
paddingLeft
:
10
,
paddingRight
:
10
}}
>
<
img
src
=
{
Images
.
camera
}
/
>
<
Typography
style
=
{{
color
:
'#ffffff'
,
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
alignSelf
:
'center'
,
marginLeft
:
5
}}
>
Ganti
Foto
<
/Typography
>
<
Typography
style
=
{{
color
:
'#ffffff'
,
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
alignSelf
:
'center'
,
marginLeft
:
5
}}
>
Change
Picture
<
/Typography
>
<
/div
>
<
/button
>
<
/div
>
...
...
@@ -610,7 +610,8 @@ export default class Profile extends Component {
<
ImageUploader
withIcon
=
{
true
}
withPreview
buttonText
=
'Pilih Gambar'
buttonStyles
=
{
this
.
state
.
pictures
.
length
>
0
?
{
display
:
'none'
}
:
null
}
buttonText
=
{
'Select Picture'
}
onChange
=
{
this
.
onDrop
}
imgExtension
=
{[
'.jpg'
,
'.gif'
,
'.png'
,
'.gif'
,
'.jpeg'
]}
maxFileSize
=
{
1000000
}
...
...
@@ -620,7 +621,7 @@ export default class Profile extends Component {
<
div
style
=
{{
display
:
'grid'
,
margin
:
20
}}
>
<
div
style
=
{{
justifySelf
:
'center'
}}
>
<
span
className
=
"main-color"
style
=
{{
color
:
'#fff'
,
padding
:
20
,
paddingBottom
:
10
,
paddingTop
:
10
,
borderRadius
:
15
,
cursor
:
'pointer'
}}
onClick
=
{()
=>
this
.
uploadFoto
()}
>
Upload
Foto
<
/span
>
<
span
className
=
"main-color"
style
=
{{
color
:
'#fff'
,
padding
:
20
,
paddingBottom
:
10
,
paddingTop
:
10
,
borderRadius
:
15
,
cursor
:
'pointer'
}}
onClick
=
{()
=>
this
.
uploadFoto
()}
>
Upload
<
/span
>
<
/div
>
<
/div> : nul
l
}
...
...
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