Commit b8541d2d authored by Deni Rinaldi's avatar Deni Rinaldi

Merge branch 'master' of http://103.44.149.204/d.arizona/tia-dev into deni-dev(pc)

parents 449c7924 04d49a73
...@@ -6209,17 +6209,14 @@ export default class TaxPlanning extends Component { ...@@ -6209,17 +6209,14 @@ export default class TaxPlanning extends Component {
name: `${this.props.periode}`, name: `${this.props.periode}`,
options: { options: {
customHeadRender: (columnMeta) => ( customHeadRender: (columnMeta) => (
<div style={{ ...style2, backgroundColor: '#1c71b8', color: '#fff', fontSize: 13, fontWeight: 1, width: 150, borderRight: "1px solid rgb(255, 255, 255)" }} > <th style={{ ...style2, backgroundColor: '#1c71b8', color: '#fff', fontSize: 13, fontWeight: 1, width: 150, borderRight: "1px solid rgb(255, 255, 255)" }} >
{/* <TableCell style={{ ...style2, top: 0, zIndex: 99, backgroundColor: '#1c71b8', width: 96 }}>
<Typography style={{ color: 'white', fontSize: 12, fontWeight: 'bold', textAlign: 'center' }}>{columnMeta.name}</Typography>
</TableCell> */}
<div style={{ borderBottom: "1px #fff solid", textAlign: 'center', fontSize: 12, fontWeight: 'bold', padding: 5, paddingTop: 8 }}>{columnMeta.name}</div> <div style={{ borderBottom: "1px #fff solid", textAlign: 'center', fontSize: 12, fontWeight: 'bold', padding: 5, paddingTop: 8 }}>{columnMeta.name}</div>
<div style={{ ...style2, backgroundColor: '#1c71b8', color: '#fff', fontSize: 12, fontWeight: 'bold', position: "sticky", paddingBottom: 20 }}> <div className="" style={{ ...style2, backgroundColor: '#1c71b8', color: '#fff', fontSize: 12, fontWeight: 'bold', position: "sticky", paddingBottom: 20 }}>
<div style={{ placeSelf: 'center', textAlign: 'center', padding: 5 }}> <div className="column-1" style={{ placeSelf: 'center', textAlign: 'center', padding: 5 }}>
<span>{"Trial Balance (Fiscal)"}</span> <span>{"Trial Balance (Fiscal)"}</span>
</div> </div>
</div> </div>
</div> </th>
), ),
setCellProps: () => ({ style2 }), setCellProps: () => ({ style2 }),
customBodyRender: (value, tableMeta, updateValue) => { customBodyRender: (value, tableMeta, updateValue) => {
......
...@@ -240,6 +240,7 @@ export default class OperatingIndicator extends Component { ...@@ -240,6 +240,7 @@ export default class OperatingIndicator extends Component {
options: periodeData, options: periodeData,
getOptionLabel: (option) => option.periode, getOptionLabel: (option) => option.periode,
}; };
console.log(defaultProps)
let periode = (this.state.lastPeriod == "" ? String(Number(currentYear) + 1) : this.state.lastPeriod) let periode = (this.state.lastPeriod == "" ? String(Number(currentYear) + 1) : this.state.lastPeriod)
let index = data.sort((a, b) => a - b).findIndex((val) => val === periode) let index = data.sort((a, b) => a - b).findIndex((val) => val === periode)
this.setState({ listPeriode: defaultProps, periode: index == -1 ? periodeData[0] : periodeData[index] }, () => { this.setState({ listPeriode: defaultProps, periode: index == -1 ? periodeData[0] : periodeData[index] }, () => {
...@@ -554,13 +555,13 @@ export default class OperatingIndicator extends Component { ...@@ -554,13 +555,13 @@ export default class OperatingIndicator extends Component {
</MuiThemeProvider> </MuiThemeProvider>
</div> </div>
</div> </div>
{this.state.isSubmit && ( {/* {this.state.isSubmit && (
<div style={{ borderTop: 'solid 1px #c4c4c4', padding: 10, backgroundColor: '#f5f5f5', width: '100%', display: 'flex', justifyContent: 'flex-end' }} > <div style={{ borderTop: 'solid 1px #c4c4c4', padding: 10, backgroundColor: '#f5f5f5', width: '100%', display: 'flex', justifyContent: 'flex-end' }} >
<div style={{ backgroundColor: '#354960', width: 105, height: 25, borderRadius: 3, justifyContent: 'center', display: 'flex', alignItems: 'center' }}> <div style={{ backgroundColor: '#354960', width: 105, height: 25, borderRadius: 3, justifyContent: 'center', display: 'flex', alignItems: 'center' }}>
<Typography style={{ fontSize: '11px', color: '#fff', textAlign: 'center' }}>Submit</Typography> <Typography style={{ fontSize: '11px', color: '#fff', textAlign: 'center' }}>Submit</Typography>
</div> </div>
</div> </div>
)} )} */}
</Paper> </Paper>
</div> </div>
......
...@@ -15,6 +15,7 @@ import Constant from '../library/Constant'; ...@@ -15,6 +15,7 @@ import Constant from '../library/Constant';
import PropagateLoader from "react-spinners/PropagateLoader" import PropagateLoader from "react-spinners/PropagateLoader"
import { DatePicker } from '@material-ui/pickers'; import { DatePicker } from '@material-ui/pickers';
import BalanceSheetOLPA from './OutlookPA/BalanceSheetOLPA'; import BalanceSheetOLPA from './OutlookPA/BalanceSheetOLPA';
import moment from 'moment';
var ct = require("../library/CustomTable"); var ct = require("../library/CustomTable");
const getMuiTheme = () => createMuiTheme(ct.customTable()); const getMuiTheme = () => createMuiTheme(ct.customTable());
...@@ -57,11 +58,16 @@ export default class OutlookPA extends Component { ...@@ -57,11 +58,16 @@ export default class OutlookPA extends Component {
checkApprover: false, checkApprover: false,
lastPeriod: '', lastPeriod: '',
latestPeriode: '', latestPeriode: '',
minDateRevision: new Date(),
maxDateRevision: new Date(),
btnApprove: false btnApprove: false
} }
this.myRef = React.createRef()
this.fileHandler = this.fileHandler.bind(this); this.fileHandler = this.fileHandler.bind(this);
} }
scrollToMyRef = () => window.scrollTo(0, this.myRef.current.offsetTop)
componentDidMount() { componentDidMount() {
this.setState({ loading: true }) this.setState({ loading: true })
this.props.selectIndex('Outlook Performance Appraisal') this.props.selectIndex('Outlook Performance Appraisal')
...@@ -306,7 +312,8 @@ export default class OutlookPA extends Component { ...@@ -306,7 +312,8 @@ export default class OutlookPA extends Component {
options: periodeData, options: periodeData,
getOptionLabel: (option) => option.periode, getOptionLabel: (option) => option.periode,
}; };
let index = data.sort((a, b) => a - b).findIndex((val) => val === (this.state.latestPeriode == "" ? String(Number(currentYear) + 1) : this.state.latestPeriode)) let periode = (this.state.lastPeriod == "" ? String(Number(currentYear) + 1) : this.state.lastPeriod)
let index = data.sort((a, b) => a - b).findIndex((val) => val === periode)
// console.log(data) // console.log(data)
console.log(this.state.lastPeriod) console.log(this.state.lastPeriod)
// console.log(periodeData) // console.log(periodeData)
...@@ -400,7 +407,8 @@ export default class OutlookPA extends Component { ...@@ -400,7 +407,8 @@ export default class OutlookPA extends Component {
let dataTableHistory = response.data.data.map(item => { let dataTableHistory = response.data.data.map(item => {
return [ return [
item.pic, item.pic,
String(item.status_approval).replace('APPROVAL_PROCCESS', 'WAITING FOR APPROVAL').replace('- -', ''), item.status_approval,
// String(item.status_approval).replace('APPROVAL_PROCCESS', 'WAITING FOR APPROVAL').replace('- -', ''),
item.remarks, item.remarks,
item.item_revision, item.item_revision,
item.history_approval_date item.history_approval_date
...@@ -412,24 +420,26 @@ export default class OutlookPA extends Component { ...@@ -412,24 +420,26 @@ export default class OutlookPA extends Component {
} }
approvalSubmission(type) { approvalSubmission(type) {
this.scrollToMyRef()
this.setState({ loading: true }) this.setState({ loading: true })
let body = { let body = {
"approval_id": this.props.location.state == undefined ? this.state.approverID : this.state.rawData.approval_id, "approval_id": this.props.location.state == undefined ? this.state.approverID : this.state.rawData.approval_id,
"status": type, "status": type,
"detail": this.state.detailRevisiCheck "detail": this.state.detailRevisiCheck
} }
api.create().approvalSubmissionOLPA(body).then((res) => { let payload = {
console.log(res) "company_id": this.state.company.company_id,
if (res.data) { "min_periode": moment(this.state.minDateRevision).format('YYYY-MM-DD'),
if (res.data.status === "success") { "max_periode": moment(this.state.maxDateRevision).format('YYYY-MM-DD')
this.getOutlookPAID()
} else {
this.setState({ loading: false })
alert(res.data.message)
} }
} else { console.log(payload)
this.setState({ loading: false }) api.create().approvalSubmission(body).then((res) => {
alert(res.problem) console.log(res)
this.setState({ loading: false }, () => {
this.getSubmission()
})
if (type == 'revision') {
api.create().createPeriodeRevision(payload).then((res) => console.log(res))
} }
}) })
} }
...@@ -551,12 +561,14 @@ export default class OutlookPA extends Component { ...@@ -551,12 +561,14 @@ export default class OutlookPA extends Component {
this.getOutlookPAID() this.getOutlookPAID()
} else { } else {
this.setState({ loading: false }, () => { this.setState({ loading: false }, () => {
alert(response.data.message) // alert(response.data.message)
this.getOutlookPAID()
}) })
} }
} else { } else {
this.setState({ loading: false }, () => { this.setState({ loading: false }, () => {
alert(response.problem) // alert(response.problem)
this.getOutlookPAID()
}) })
} }
}) })
...@@ -587,12 +599,12 @@ export default class OutlookPA extends Component { ...@@ -587,12 +599,12 @@ export default class OutlookPA extends Component {
let array = [] let array = []
let canSubmit = true let canSubmit = true
this.state.dataTable.map(item => { this.state.dataTable.map(item => {
if (item[1] !== 'Cash Flow') { // if (item[1] !== 'Cash Flow') {
if (item[3] !== "submitted" && item[3] !== 'approved') { // if (item[3] !== "submitted" && item[3] !== 'approved') {
canSubmit = false // canSubmit = false
array.push(item[3]) // array.push(item[3])
} // }
} // }
// if (item[3].includes("not-yet") || item[3].includes("draft")) { // if (item[3].includes("not-yet") || item[3].includes("draft")) {
// array.push(item[3]) // array.push(item[3])
// } else { // } else {
...@@ -623,6 +635,10 @@ export default class OutlookPA extends Component { ...@@ -623,6 +635,10 @@ export default class OutlookPA extends Component {
} }
render() { render() {
const handleMaxDate = () => {
let handleDate = Number(moment(this.state.maxDateRevision).format('YYYYMMDD')) - Number(moment(this.state.minDateRevision).format('YYYYMMDD'))
return handleDate < 0 ? moment(this.state.minDateRevision).format('YYYY/MM/DD') : moment(this.state.maxDateRevision).format('YYYY/MM/DD')
}
const columns = ["#", "Report Type", const columns = ["#", "Report Type",
{ {
name: "Revision", name: "Revision",
...@@ -694,10 +710,10 @@ export default class OutlookPA extends Component { ...@@ -694,10 +710,10 @@ export default class OutlookPA extends Component {
style={{ style={{
backgroundColor: 'transparent', backgroundColor: 'transparent',
cursor: this.state.isSubmit === false ? 'default' : tableMeta.rowData[5] ? 'pointer' : 'default', cursor: this.state.isSubmit === false ? 'default' : tableMeta.rowData[5] ? 'pointer' : 'default',
// cursor: tableMeta.rowData[5] ? 'pointer' : 'default',
borderColor: 'transparent' borderColor: 'transparent'
}} }}
onClick={() => onClick={() =>
this.state.isSubmit === false ? null :
tableMeta.rowData[5] == true ? tableMeta.rowData[5] == true ?
this.clickDetail(tableMeta.rowData[1], tableMeta.rowData[4], tableMeta.rowData[2], tableMeta.rowData[3]) this.clickDetail(tableMeta.rowData[1], tableMeta.rowData[4], tableMeta.rowData[2], tableMeta.rowData[3])
: null : null
...@@ -707,7 +723,7 @@ export default class OutlookPA extends Component { ...@@ -707,7 +723,7 @@ export default class OutlookPA extends Component {
(tableMeta.rowData[5] ? '#5198ea' : 'GrayText') : (tableMeta.rowData[5] ? '#5198ea' : 'GrayText') :
(this.state.lastRevision == 0 ? (tableMeta.rowData[5] ? '#5198ea' : 'GrayText') : (this.state.lastRevision == 0 ? (tableMeta.rowData[5] ? '#5198ea' : 'GrayText') :
(tableMeta.rowData[3] !== 'submitted' ? '#5198ea' : 'GrayText'))} */} (tableMeta.rowData[3] !== 'submitted' ? '#5198ea' : 'GrayText'))} */}
<Typography style={{ color: this.state.isSubmit === false ? 'GrayText' : tableMeta.rowData[5] ? '#5198ea' : 'GrayText', fontSize: 12, }}>Detail</Typography> <Typography style={{ color: tableMeta.rowData[5] ? '#5198ea' : 'GrayText', fontSize: 12, }}>Detail</Typography>
</button> </button>
</div > </div >
); );
...@@ -823,6 +839,18 @@ export default class OutlookPA extends Component { ...@@ -823,6 +839,18 @@ export default class OutlookPA extends Component {
pagination: false, pagination: false,
search: false search: false
} }
const optionsHistory = {
filter: false,
sort: false,
responsive: "scroll",
print: false,
download: false,
selectableRows: false,
viewColumns: false,
pagination: true,
search: false,
rowsPerPage: 5
}
const optionsRevision = { const optionsRevision = {
filter: false, filter: false,
sort: false, sort: false,
...@@ -845,7 +873,7 @@ export default class OutlookPA extends Component { ...@@ -845,7 +873,7 @@ export default class OutlookPA extends Component {
</div> </div>
); );
return ( return (
<div style={{ flex: 1, backgroundColor: '#f8f8f8' }}> <div style={{ flex: 1, backgroundColor: '#f8f8f8' }} ref={this.myRef}>
<Snackbar open={this.state.alert} autoHideDuration={6000} onClose={() => this.closeAlert()}> <Snackbar open={this.state.alert} autoHideDuration={6000} onClose={() => this.closeAlert()}>
<Alert onClose={() => this.closeAlert()} severity={this.state.tipeAlert}> <Alert onClose={() => this.closeAlert()} severity={this.state.tipeAlert}>
{this.state.messageAlert} {this.state.messageAlert}
...@@ -977,7 +1005,8 @@ export default class OutlookPA extends Component { ...@@ -977,7 +1005,8 @@ export default class OutlookPA extends Component {
</div> </div>
{!this.state.isApprover && (this.state.lastStatus === 'SUBMIT' || this.state.lastStatus === 'REVISION') && ( {!this.state.isApprover && (this.state.lastStatus === 'SUBMIT' || this.state.lastStatus === 'REVISION') && (
<div style={{ width: '50%' }}> <div style={{ width: '50%' }}>
{this.state.listAttachment.length > 0 ? {
this.state.listAttachment.length > 0 ?
this.state.listAttachment.map((item) => { this.state.listAttachment.map((item) => {
return ( return (
<button <button
...@@ -1006,6 +1035,12 @@ export default class OutlookPA extends Component { ...@@ -1006,6 +1035,12 @@ export default class OutlookPA extends Component {
</div> : this.state.lastStatus === 'WAITING FOR YOUR APPROVAL' ? </div> : this.state.lastStatus === 'WAITING FOR YOUR APPROVAL' ?
<div style={{ width: '100%', padding: '10px 20px', backgroundColor: 'yellow', textAlign: 'center', marginTop: 20 }}> <div style={{ width: '100%', padding: '10px 20px', backgroundColor: 'yellow', textAlign: 'center', marginTop: 20 }}>
<span>{this.state.lastStatus}</span> <span>{this.state.lastStatus}</span>
</div> : this.state.lastStatus === 'WAITING FOR APPROVAL' ?
<div style={{ width: '100%', padding: '10px 20px', backgroundColor: 'yellow', textAlign: 'center', marginTop: 20 }}>
<span>{`${this.state.lastStatus} - ${this.state.pic}`}</span>
</div> : this.state.lastStatus === 'APPROVED' ?
<div style={{ width: '100%', padding: '10px 20px', backgroundColor: 'yellow', textAlign: 'center', marginTop: 20 }}>
<span>{`${this.state.lastStatus}`}</span>
</div> : null </div> : null
: :
this.state.lastStatus === 'SUBMITTED' ? this.state.lastStatus === 'SUBMITTED' ?
...@@ -1177,7 +1212,7 @@ export default class OutlookPA extends Component { ...@@ -1177,7 +1212,7 @@ export default class OutlookPA extends Component {
getReport={this.getOutlookPAID.bind(this)} getReport={this.getOutlookPAID.bind(this)}
isApprover={this.state.isApprover} isApprover={this.state.isApprover}
lastStatus={this.state.lastStatus} lastStatus={this.state.lastStatus}
prevRevision={this.state.prevRevision} prevRevision={this.state.isSubmit ? this.state.prevRevision : true}
status={this.state.status} status={this.state.status}
/> />
)} )}
...@@ -1197,7 +1232,7 @@ export default class OutlookPA extends Component { ...@@ -1197,7 +1232,7 @@ export default class OutlookPA extends Component {
status={this.state.status} status={this.state.status}
isApprover={this.state.isApprover} isApprover={this.state.isApprover}
lastStatus={this.state.lastStatus} lastStatus={this.state.lastStatus}
prevRevision={this.state.prevRevision} prevRevision={this.state.isSubmit ? this.state.prevRevision : true}
/> />
)} )}
...@@ -1217,7 +1252,7 @@ export default class OutlookPA extends Component { ...@@ -1217,7 +1252,7 @@ export default class OutlookPA extends Component {
status={this.state.status} status={this.state.status}
isApprover={this.state.isApprover} isApprover={this.state.isApprover}
lastStatus={this.state.lastStatus} lastStatus={this.state.lastStatus}
prevRevision={this.state.prevRevision} prevRevision={this.state.isSubmit ? this.state.prevRevision : true}
/> />
)} )}
...@@ -1241,7 +1276,7 @@ export default class OutlookPA extends Component { ...@@ -1241,7 +1276,7 @@ export default class OutlookPA extends Component {
</div> </div>
</div> </div>
<div className="border-bottom" style={{ padding: 20 }}> <div className="border-bottom" style={{ padding: 20 }}>
<span>Anda meminta anak perusahaan untuk melakukan revisi.</span> <span>You ask your subsidiary to make a revision</span>
<div style={{ marginTop: 20 }}> <div style={{ marginTop: 20 }}>
<MuiThemeProvider theme={getMuiTheme()}> <MuiThemeProvider theme={getMuiTheme()}>
<MUIDataTable <MUIDataTable
...@@ -1252,7 +1287,7 @@ export default class OutlookPA extends Component { ...@@ -1252,7 +1287,7 @@ export default class OutlookPA extends Component {
</MuiThemeProvider> </MuiThemeProvider>
</div> </div>
<div style={{ marginTop: 20 }}> <div style={{ marginTop: 20 }}>
<span>Durasi waktu yang anda berikan untuk revisi: </span> <span>Timing duration you give for revision:</span>
<div style={{ display: 'flex', justifyContent: 'space-between', marginTop: 20 }}> <div style={{ display: 'flex', justifyContent: 'space-between', marginTop: 20 }}>
<div> <div>
<DatePicker <DatePicker
...@@ -1260,7 +1295,9 @@ export default class OutlookPA extends Component { ...@@ -1260,7 +1295,9 @@ export default class OutlookPA extends Component {
id="startDate" id="startDate"
label="Valid From" label="Valid From"
format="dd-MM-yyyy" format="dd-MM-yyyy"
onChange={(e) => null} // onChange={(e) => null}
onChange={(e) => this.setState({ minDateRevision: moment(e).format('YYYY/MM/DD') }, () => this.setState({ maxDateRevision: handleMaxDate() }))}
value={moment(this.state.minDateRevision).format('YYYY/MM/DD')}
KeyboardButtonProps={{ KeyboardButtonProps={{
'aria-label': 'change date', 'aria-label': 'change date',
}} }}
...@@ -1279,14 +1316,17 @@ export default class OutlookPA extends Component { ...@@ -1279,14 +1316,17 @@ export default class OutlookPA extends Component {
style={{ padding: 0, margin: 0, width: '100%' }} style={{ padding: 0, margin: 0, width: '100%' }}
/> />
</div> </div>
<span style={{ alignSelf: 'center' }}>Sampai dengan</span> <span style={{ alignSelf: 'center' }}>Until</span>
<div> <div>
<DatePicker <DatePicker
margin="normal" margin="normal"
id="startDate" id="startDate"
label="Valid To" label="Valid To"
format="dd-MM-yyyy" format="dd-MM-yyyy"
onChange={(e) => null} // onChange={(e) => null}
onChange={(e) => this.setState({ maxDateRevision: moment(e).format('YYYY/MM/DD') })}
minDate={moment(this.state.minDateRevision).format('YYYY/MM/DD')}
value={moment(this.state.maxDateRevision).format('YYYY/MM/DD')}
KeyboardButtonProps={{ KeyboardButtonProps={{
'aria-label': 'change date', 'aria-label': 'change date',
}} }}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment