Commit c4a40734 authored by Dida Adams Arizona's avatar Dida Adams Arizona

Merge branch 'didam' into 'master'

bentar

See merge request !1028
parents b3763a9c c2c26692
......@@ -10,6 +10,7 @@ import ReactTooltip from 'react-tooltip'
import Images from '../../assets/Images'
import MuiAlert from '@material-ui/lab/Alert';
import * as R from 'ramda'
import { format } from 'date-fns';
const Alert = withStyles({
})((props) => <MuiAlert elevation={6} variant="filled" {...props} />);
......@@ -41,7 +42,13 @@ export default class SubHolding extends Component {
report: null,
loading: false,
previewTable: false,
OPID: null
OPID: null,
listMonths: null,
listUom: null,
listQuarter: null,
month: null,
quarter: null,
uom: null
}
}
......@@ -133,6 +140,7 @@ export default class SubHolding extends Component {
if (response.data) {
if (response.data.status === "success") {
let data = []
let listMonths = []
response.data.data.map((item) => {
if (this.state.isApprover) {
if (item >= 2000 && item <= (Number(currentYear) + 1)) {
......@@ -155,6 +163,7 @@ export default class SubHolding extends Component {
};
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(this.state.latestPeriode)
// console.log(periodeData)
......@@ -162,7 +171,7 @@ export default class SubHolding extends Component {
this.setState({ listPeriode: defaultProps, periode: index === -1 ? periodeData[0] : periodeData[index] }, () => {
// this.getDataTable()
// this.getSubmission()
this.getReportType()
this.getMonth()
// if (this.state.isApprover === true) {
// this.getCompanySubmitted()
// } else {
......@@ -174,6 +183,78 @@ export default class SubHolding extends Component {
})
}
getMonth() {
api.create().getMonthTransaction().then(response => {
let dateNow = new Date
let month = format(dateNow, 'MMMM')
console.log(response);
if (response.data) {
if (response.data.status === "success") {
// console.log(response);
let data = response.data.data
let monthData = data.map((item) => {
return {
month_id: item.id,
month_value: String(item.month_name).substr(0, 3)
}
})
let defaultProps = {
options: monthData,
getOptionLabel: (option) => option.month_value,
};
let index = data.findIndex((val) => val.month_name == month)
let listQuarter = [
{name: 'Q1', value: '3'},
{name: 'Q2', value: '6'},
{name: 'Q3', value: '9'},
{name: 'Q4', value: '12'},
]
let listUom = [{value: 'Mio IDR'}]
let defaultPropsQuarter = {
options: listQuarter,
getOptionLabel: (option) => option.name,
};
let defaultPropsUom = {
options: listUom,
getOptionLabel: (option) => option.value,
};
// console.log(month)
// console.log(index)
this.setState({ listMonths: defaultProps, month: index == -1 ? monthData[0] : monthData[index], listQuarter: defaultPropsQuarter, quarter: listQuarter[0], listUom: defaultPropsUom, uom: listUom[0] }, () => {
// if (this.state.isApprover === true) {
// if (this.state.submittedOnly) {
// console.log('masuk cuk')
// this.getPeriode()
// } else {
// this.getLastPeriod()
// }
// this.getPeriode()
this.getReportType()
// } else {
// this.getLastPeriod()
// this.getPeriode()
// }
})
} 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' })
}
})
}
getReportType() {
let payload = {
"company_id": this.state.company.company_id,
......@@ -875,7 +956,8 @@ export default class SubHolding extends Component {
})
} else if (this.state.report.value === 6) {
let dbSumaCF = []
api.create().getReportCFSuma(payload).then(response => {
let paylodCF = {...payload, months: this.state.month.month_id}
api.create().getReportCFSuma(paylodCF).then(response => {
if (response.data) {
if (response.data.status === 'success') {
let res = response.data.data
......@@ -1060,7 +1142,7 @@ export default class SubHolding extends Component {
})
this.setState({ dataTable }, () => {
console.log(this.state.dataTable)
this.getCFSumaMR(payload, dbSumaCF)
this.getCFSumaMR(paylodCF, dbSumaCF)
})
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning', loading: false }, () => {
......@@ -1408,14 +1490,15 @@ export default class SubHolding extends Component {
}
getCFSumaMR(payload, dbSumaCF) {
// let payloadOI = {...payload, "periode": Number(this.state.periode.periode) - 1}
let payloadLast = {
"report_id": this.state.report.value,
"revision": this.state.revisionType,
"periode": Number(this.state.periode.periode) -1,
"company_id": this.state.company.company_id,
"submission_id": this.state.submissionID
}
let payloadLast = {...payload, "periode": Number(this.state.periode.periode) - 1}
// let payloadLast = {
// "report_id": this.state.report.value,
// "revision": this.state.revisionType,
// "periode": Number(this.state.periode.periode) -1,
// "months" : this.state.
// "company_id": this.state.company.company_id,
// "submission_id": this.state.submissionID
// }
api.create().getReportCFSumaMR(payload).then(response => {
console.log(payload);
console.log(response);
......@@ -2470,7 +2553,7 @@ export default class SubHolding extends Component {
<Typography style={{ fontSize: '12px', color: '#4b4b4b', margin: 10 }}>Sub Holding</Typography>
</div>
<div style={{ minWidth: 'max-content', padding: '20px 20px 0px 20px' }}>
<div style={{ marginTop: 15 }}>
<div style={{ marginTop: 15, display: 'flex'}}>
<Autocomplete
options={this.state.reportType}
getOptionLabel={(option) => titleCase(option.label)}
......@@ -2483,8 +2566,20 @@ export default class SubHolding extends Component {
renderInput={(params) => <TextField {...params} label="Report Type" margin="normal" style={{ marginTop: 7 }} />}
value={this.state.report}
/>
{this.state.report != null? String(this.state.report.label).toLocaleLowerCase().includes('summary') ? <Autocomplete
{...this.state.listMonths}
// getOptionLabel={(option) => titleCase(option.label)}
id="months"
onChange={(event, newInputValue) => this.setState({ month: newInputValue, loading: true, previewTable: false }, () => {
this.getReportType()
})}
disableClearable
style={{ width: 250, marginLeft: 10 }}
renderInput={(params) => <TextField {...params} label="Months" margin="normal" style={{ marginTop: 7 }} />}
value={this.state.month}
/> : null : null}
</div>
<div style={{ marginTop: 15 }}>
<div style={{ marginTop: 15, display: 'flex' }}>
<Autocomplete
{...this.state.listCompany}
id="company"
......@@ -2497,8 +2592,20 @@ export default class SubHolding extends Component {
renderInput={(params) => <TextField {...params} label="Company" margin="normal" style={{ marginTop: 7 }} />}
value={this.state.company}
/>
{this.state.report != null? String(this.state.report.label).toLocaleLowerCase().includes('summary') ? <Autocomplete
{...this.state.listQuarter}
// getOptionLabel={(option) => titleCase(option.label)}
id="quarter"
onChange={(event, newInputValue) => this.setState({ quarter: newInputValue, loading: true, previewTable: false }, () => {
this.getReportType()
})}
disableClearable
style={{ width: 250, marginLeft: 10 }}
renderInput={(params) => <TextField {...params} label="Quarter" margin="normal" style={{ marginTop: 7 }} />}
value={this.state.quarter}
/> : null : null}
</div>
<div style={{ marginTop: 15 }}>
<div style={{ marginTop: 15, display: 'flex'}}>
<Autocomplete
{...this.state.listPeriode}
id="periode"
......@@ -2513,6 +2620,18 @@ export default class SubHolding extends Component {
/>}
value={this.state.periode}
/>
{this.state.report != null? String(this.state.report.label).toLocaleLowerCase().includes('summary') ? <Autocomplete
{...this.state.listUom}
// getOptionLabel={(option) => titleCase(option.label)}
id="uom"
onChange={(event, newInputValue) => this.setState({ uom: newInputValue, loading: true, previewTable: false }, () => {
this.getReportType()
})}
disableClearable
style={{ width: 250, marginLeft: 10}}
renderInput={(params) => <TextField {...params} label="Uom" margin="normal" style={{ marginTop: 7 }} />}
value={this.state.uom}
/> : null : null}
</div>
</div>
<div>
......
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