Commit 813b7bf3 authored by ardiansyah's avatar ardiansyah

Merge branch 'ENV-DEV' into 'ENV-DEPLOYMENT'

binding report attachmeent budget tahunan

See merge request !2399
parents 74183748 28a98f05
...@@ -57,7 +57,6 @@ export default class BudgetTahunan extends Component { ...@@ -57,7 +57,6 @@ export default class BudgetTahunan extends Component {
visibleFAM: false, visibleFAM: false,
visibleCAT: false, visibleCAT: false,
visibleCF: false, visibleCF: false,
listAttachment: [],
visibleUpload: false, visibleUpload: false,
revisionTable: null, revisionTable: null,
alert: false, alert: false,
...@@ -125,7 +124,11 @@ export default class BudgetTahunan extends Component { ...@@ -125,7 +124,11 @@ export default class BudgetTahunan extends Component {
visibleTableHistoryCAT: false, visibleTableHistoryCAT: false,
isApproverFinance: false, isApproverFinance: false,
isApproverCAT: false, isApproverCAT: false,
currentMasterReportTypeId: null currentMasterReportTypeId: null,
listReportTypeId: [],
listAttachmentCAT: [],
listAttachment: [],
} }
this.myRef = React.createRef() this.myRef = React.createRef()
this.fileHandler = this.fileHandler.bind(this); this.fileHandler = this.fileHandler.bind(this);
...@@ -306,19 +309,22 @@ export default class BudgetTahunan extends Component { ...@@ -306,19 +309,22 @@ export default class BudgetTahunan extends Component {
} }
getReportAttachment() { getReportAttachment() {
let payload = { this.state.listReportTypeId.forEach((master_report_type_id) => {
"company_id": this.state.company.company_id, let payload = {
"periode": this.state.periode.periode, "company_id": this.state.company.company_id,
"revision": this.state.revision.revision, "periode": this.state.periode.periode,
} "revision": this.state.revision.revision,
api.create().getMasterBudgetAtt(payload).then(response => { master_report_type_id
// // // console.log(response)
if (response.data) {
if (response.data.status === "success") {
this.setState({ listAttachment: response.data.data })
}
} }
// // // console.log(response); api.create().getMasterBudgetAtt(payload).then(response => {
// // // console.log(response)
if (response.data) {
if (response.data.status === "success") {
this.setState({ [master_report_type_id === 2 ? 'listAttachmentCAT' : 'listAttachment']: response.data.data })
}
}
// // // console.log(response);
})
}) })
} }
...@@ -688,6 +694,10 @@ export default class BudgetTahunan extends Component { ...@@ -688,6 +694,10 @@ export default class BudgetTahunan extends Component {
} else { } else {
this.setState({ visibleBudgetTahunan: true, loading: false }) this.setState({ visibleBudgetTahunan: true, loading: false })
} }
const uniqueTypeIds =
this.state.rowData?.length
? [...new Set(this.state.rowData.map(item => item.master_report_type_id))]
: [1, 2];
this.setState({ this.setState({
submissionID: response.data.data.submission_id, submissionID: response.data.data.submission_id,
submitter: response.data.data.submitter_finance, submitter: response.data.data.submitter_finance,
...@@ -702,6 +712,7 @@ export default class BudgetTahunan extends Component { ...@@ -702,6 +712,7 @@ export default class BudgetTahunan extends Component {
btnApprove: response.data.data.is_submit_finance, btnApprove: response.data.data.is_submit_finance,
btnApproveCAT: response.data.data.is_submit_cat, btnApproveCAT: response.data.data.is_submit_cat,
loading: false, loading: false,
listReportTypeId: uniqueTypeIds
}, () => { }, () => {
// // console.log(response.data.data.is_submit); // // console.log(response.data.data.is_submit);
// // console.log(this.state.btnApprove) // // console.log(this.state.btnApprove)
...@@ -2166,12 +2177,7 @@ export default class BudgetTahunan extends Component { ...@@ -2166,12 +2177,7 @@ export default class BudgetTahunan extends Component {
} }
historyApproval() { historyApproval() {
const uniqueTypeIds = this.state.listReportTypeId.forEach((master_report_type_id) => {
this.state.rowData?.length
? [...new Set(this.state.rowData.map(item => item.master_report_type_id))]
: [1, 2];
uniqueTypeIds.forEach((master_report_type_id) => {
let body = { let body = {
"company_id": this.state.company.company_id, "company_id": this.state.company.company_id,
"periode": this.state.periode.periode, "periode": this.state.periode.periode,
...@@ -2271,7 +2277,7 @@ export default class BudgetTahunan extends Component { ...@@ -2271,7 +2277,7 @@ export default class BudgetTahunan extends Component {
items = item items = item
} }
let PLBSFAMSubmitted = 0 let PLBSFAMSubmitted = 0
const listTable = tableKey == 'CAT' ? this.state.dataForRevisionCAT : this.state.dataForRevision const listTable = tableKey === 'CAT' ? this.state.dataForRevisionCAT : this.state.dataForRevision
// // // console.log(this.state.dataForRevision); // // // console.log(this.state.dataForRevision);
listTable.map(i => { listTable.map(i => {
if (i.report_name === items) { if (i.report_name === items) {
...@@ -2375,6 +2381,7 @@ export default class BudgetTahunan extends Component { ...@@ -2375,6 +2381,7 @@ export default class BudgetTahunan extends Component {
formData.append("revision", Number(this.state.lastRevision)); formData.append("revision", Number(this.state.lastRevision));
formData.append("companyId", this.state.company.company_id); formData.append("companyId", this.state.company.company_id);
formData.append("periode", Number(this.state.periode.periode)); formData.append("periode", Number(this.state.periode.periode));
formData.append("master_report_type_id", this.state.currentMasterReportTypeId);
formData.append("file", event); formData.append("file", event);
this.setState({ formData }) this.setState({ formData })
} }
...@@ -2385,7 +2392,7 @@ export default class BudgetTahunan extends Component { ...@@ -2385,7 +2392,7 @@ export default class BudgetTahunan extends Component {
api.create().uploadAttachment(formData).then(response => { api.create().uploadAttachment(formData).then(response => {
if (response.data) { if (response.data) {
if (response.data.status === "success") { if (response.data.status === "success") {
this.setState({ visibleUpload: false }, () => { this.setState({ visibleUpload: false, currentMasterReportTypeId: null }, () => {
this.getSubmission() this.getSubmission()
}) })
} }
...@@ -2487,7 +2494,7 @@ export default class BudgetTahunan extends Component { ...@@ -2487,7 +2494,7 @@ export default class BudgetTahunan extends Component {
}) })
let array = [] let array = []
let canSubmit = true let canSubmit = true
const listTable = master_report_type_id == 1 ? this.state.dataTable : this.state.dataTableCAT const listTable = master_report_type_id === 1 ? this.state.dataTable : this.state.dataTableCAT
listTable.map(item => { listTable.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') {
...@@ -2773,14 +2780,16 @@ export default class BudgetTahunan extends Component { ...@@ -2773,14 +2780,16 @@ export default class BudgetTahunan extends Component {
submitter, submitter,
submitterCAT, submitterCAT,
pic, pic,
picCAT picCAT,
listAttachment,
listAttachmentCAT
} = this.state; } = this.state;
const key = tableKeyParam ?? tableKey; const key = tableKeyParam ?? tableKey;
return key === 2 return key === 2
? { btnApprove: btnApproveCAT, lastStatus: lastStatusCat, submitter: submitterCAT, pic: picCAT } ? { btnApprove: btnApproveCAT, lastStatus: lastStatusCat, submitter: submitterCAT, pic: picCAT, listAttachment: listAttachmentCAT }
: { btnApprove, lastStatus, submitter, pic }; : { btnApprove, lastStatus, submitter, pic, listAttachment };
}; };
renderFilter = () => { renderFilter = () => {
...@@ -2889,8 +2898,9 @@ export default class BudgetTahunan extends Component { ...@@ -2889,8 +2898,9 @@ export default class BudgetTahunan extends Component {
) )
} }
renderAttachment = () => { renderAttachment = (master_report_type_id) => {
const _lastStatus = this.getLastStatus() const _lastStatus = this.getLastStatus()
const obj = this.getSubmissionObj(master_report_type_id)
return ( return (
<> <>
<div style={{ display: 'flex', marginTop: 20 }}> <div style={{ display: 'flex', marginTop: 20 }}>
...@@ -2906,7 +2916,7 @@ export default class BudgetTahunan extends Component { ...@@ -2906,7 +2916,7 @@ export default class BudgetTahunan extends Component {
borderColor: 'transparent', borderColor: 'transparent',
outline: 'none' outline: 'none'
}} }}
onClick={() => this.setState({ visibleUpload: true })} onClick={() => this.setState({ visibleUpload: true, currentMasterReportTypeId: master_report_type_id })}
> >
<Typography style={{ fontSize: '16px', color: this.state.isSubmit === false ? 'GrayText' : '#5198ea' }}>Upload File</Typography> <Typography style={{ fontSize: '16px', color: this.state.isSubmit === false ? 'GrayText' : '#5198ea' }}>Upload File</Typography>
</button> </button>
...@@ -2915,8 +2925,8 @@ export default class BudgetTahunan extends Component { ...@@ -2915,8 +2925,8 @@ export default class BudgetTahunan extends Component {
</div> </div>
<div style={{ display: 'flex', marginTop: 10 }}> <div style={{ display: 'flex', marginTop: 10 }}>
<div style={{ width: '50%', paddingLeft: 20 }}> <div style={{ width: '50%', paddingLeft: 20 }}>
{this.state.listAttachment.length > 0 ? {obj.listAttachment.length > 0 ?
this.state.listAttachment.map((item, index) => { obj.listAttachment.map((item, index) => {
return ( return (
<div style={{ display: 'flex' }}> <div style={{ display: 'flex' }}>
<Typography style={{ fontSize: '13px', color: '#4b4b4b', width: 25 }}>{index + 1}. </Typography> <Typography style={{ fontSize: '13px', color: '#4b4b4b', width: 25 }}>{index + 1}. </Typography>
...@@ -2946,8 +2956,8 @@ export default class BudgetTahunan extends Component { ...@@ -2946,8 +2956,8 @@ export default class BudgetTahunan extends Component {
{!this.state.isApprover && (_lastStatus === 'SUBMIT' || _lastStatus === 'REVISION') && ( {!this.state.isApprover && (_lastStatus === 'SUBMIT' || _lastStatus === 'REVISION') && (
<div style={{ width: '50%' }}> <div style={{ width: '50%' }}>
{ {
this.state.listAttachment.length > 0 ? obj.listAttachment.length > 0 ?
this.state.listAttachment.map((item) => { obj.listAttachment.map((item) => {
return ( return (
<button <button
style={{ style={{
...@@ -3013,7 +3023,7 @@ export default class BudgetTahunan extends Component { ...@@ -3013,7 +3023,7 @@ export default class BudgetTahunan extends Component {
renderBtnSubmit = (master_report_type_id) => { renderBtnSubmit = (master_report_type_id) => {
const obj = this.getSubmissionObj(master_report_type_id) const obj = this.getSubmissionObj(master_report_type_id)
return ( return (
this.state.isAdmin && obj.lastStatus == 'APPROVED' ? this.state.isAdmin && obj.lastStatus === 'APPROVED' ?
<div className="grid grid-2x" style={{ borderTop: 'solid 1px #c4c4c4', padding: 10, backgroundColor: '#f5f5f5', width: '100%', }}> <div className="grid grid-2x" style={{ borderTop: 'solid 1px #c4c4c4', padding: 10, backgroundColor: '#f5f5f5', width: '100%', }}>
<div className="col-1" /> <div className="col-1" />
<div className="col-2" style={{ display: 'flex', justifyContent: 'flex-end', maxWidth: '100%' }}> <div className="col-2" style={{ display: 'flex', justifyContent: 'flex-end', maxWidth: '100%' }}>
...@@ -3344,7 +3354,7 @@ export default class BudgetTahunan extends Component { ...@@ -3344,7 +3354,7 @@ export default class BudgetTahunan extends Component {
listTableRevision[tableMeta.rowIndex][tableMeta.columnIndex] = value listTableRevision[tableMeta.rowIndex][tableMeta.columnIndex] = value
let detailRevisiCheck = this.state.detailRevisiCheck let detailRevisiCheck = this.state.detailRevisiCheck
let indexId = detailRevisiCheck.findIndex((val) => val.report_id == tableMeta.rowData[0]) let indexId = detailRevisiCheck.findIndex((val) => val.report_id === tableMeta.rowData[0])
if (indexId !== -1) { if (indexId !== -1) {
detailRevisiCheck[indexId].remarks = value detailRevisiCheck[indexId].remarks = value
} }
...@@ -3514,7 +3524,7 @@ export default class BudgetTahunan extends Component { ...@@ -3514,7 +3524,7 @@ export default class BudgetTahunan extends Component {
/> />
</MuiThemeProvider> </MuiThemeProvider>
</div> </div>
{this.renderAttachment()} {this.renderAttachment(mstIdFinance)}
{this.renderHistoryInfo(mstIdFinance)} {this.renderHistoryInfo(mstIdFinance)}
{this.state.visibleTableHistory && ( {this.state.visibleTableHistory && (
<div style={{ marginTop: 20 }}> <div style={{ marginTop: 20 }}>
...@@ -3556,7 +3566,7 @@ export default class BudgetTahunan extends Component { ...@@ -3556,7 +3566,7 @@ export default class BudgetTahunan extends Component {
options={options} options={options}
/> />
</MuiThemeProvider> </MuiThemeProvider>
{this.renderAttachment()} {this.renderAttachment(mstIdCAT)}
{this.renderHistoryInfo(mstIdCAT)} {this.renderHistoryInfo(mstIdCAT)}
{this.state.visibleTableHistoryCAT && ( {this.state.visibleTableHistoryCAT && (
<div style={{ marginTop: 20 }}> <div style={{ marginTop: 20 }}>
...@@ -3591,7 +3601,7 @@ export default class BudgetTahunan extends Component { ...@@ -3591,7 +3601,7 @@ export default class BudgetTahunan extends Component {
<button <button
type="button" type="button"
className="btn btn-circle btn-white" className="btn btn-circle btn-white"
onClick={() => this.setState({ visibleUpload: false })} onClick={() => this.setState({ visibleUpload: false, currentMasterReportTypeId: null })}
> >
<img src={Images.close} /> <img src={Images.close} />
</button> </button>
...@@ -3758,7 +3768,7 @@ export default class BudgetTahunan extends Component { ...@@ -3758,7 +3768,7 @@ export default class BudgetTahunan extends Component {
lastStatus={this.getLastStatus()} lastStatus={this.getLastStatus()}
prevRevision={this.state.isSubmit ? this.state.prevRevision : true} prevRevision={this.state.isSubmit ? this.state.prevRevision : true}
// PLBSFAMSubmitted={false} // PLBSFAMSubmitted={false}
PLBSFAMSubmitted={this.getLastStatus() == 'APPROVED' ? true : false} PLBSFAMSubmitted={this.getLastStatus() === 'APPROVED' ? true : false}
createCashFlow={this.createCashFlow.bind(this)} createCashFlow={this.createCashFlow.bind(this)}
/> />
) )
......
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