Commit d6c19730 authored by qorri_di's avatar qorri_di

Merge branch 'ENV-PROD' into 'ISSUE-2022'

Env prod

See merge request !1805
parents 0c872d54 85b9db78
......@@ -17900,6 +17900,16 @@
}
}
},
"suneditor": {
"version": "2.44.3",
"resolved": "https://registry.npmjs.org/suneditor/-/suneditor-2.44.3.tgz",
"integrity": "sha512-B25DrbAxcwkvAANNm2EClugBCxATCa3SvV03SpyaMJybKj4bzQnS1iq6Wo3h+v970tNSnjfeoT3ID3Nj0NuiBA=="
},
"suneditor-react": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/suneditor-react/-/suneditor-react-3.4.1.tgz",
"integrity": "sha512-xsfMjy2748x8Bcw/SeT2CeecrBABcJPyCO+LPourVLcQg8QW/A9FbIfP0DghNlBkH/gxy9iviR5wVydg9UW2wQ=="
},
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
......
......@@ -47,7 +47,9 @@
"react-router-dom": "^5.2.0",
"react-scripts": "3.4.1",
"react-spinners": "^0.9.0",
"react-tooltip": "^4.2.8"
"react-tooltip": "^4.2.8",
"suneditor": "^2.44.3",
"suneditor-react": "^3.4.1"
},
"scripts": {
"start": "react-scripts start",
......
......@@ -488,6 +488,21 @@ const create = (type = "") => {
const getMonitoringOLPA = (body) => api.get(`transaction/monitoring/outlook/${body.year}`)
const getMonitoringCafrm = (body) => api.get(`transaction/monitoring/cafrm/${body.year}/${body.month}/${body.status}`)
// Maintenance
const getDetailMaintenanceMode = () => api.get('maintenance/mode/get_maintenance_mode')
const createMaintenanceMode = (body) => api.post('maintenance/mode/create_maintenance_mode', body)
const updateMaintenanceMode = (body) => api.post('maintenance/mode/update_maintenance_mode', body)
// Reminder Manual
const sendEmail = (body) => api.post('transaction/monitoring/reminder_progress_report', body)
// Download Report
const createDownloadFile = (body) => api.post('transaction/create/download-files-report', body)
const createZipReport = (id) => api.get(`transaction/zip-files?downloadedFileReportId=${id}`)
const getListDownload = () => api.get('transaction/download-files')
const downloadZipReport = (id) => api.get(`transaction/download/zip-files?downloadedFileReportId=${id}`)
// const createZipReport = (body) => api.post('transaction/monthly_report/export_selected_report', body)
// Superadmin Approve
const getListApprover = (report, monthlyReportId) => api.get(`transaction/${report}/get_approver/${monthlyReportId}`)
const getIdToken = (userId) => api.get(`transaction/get_token/${userId}`)
......@@ -844,7 +859,15 @@ const create = (type = "") => {
getMonitoringCafrm,
getListApprover,
getIdToken,
triggerHistoricalRatio
triggerHistoricalRatio,
getDetailMaintenanceMode,
createMaintenanceMode,
updateMaintenanceMode,
createZipReport,
createDownloadFile,
getListDownload,
downloadZipReport,
sendEmail
}
}
......
......@@ -55,7 +55,7 @@ const Images = {
dotDone: require('./dot-done.svg'),
dotOverdue: require('./dot-overdue.svg'),
dotOpen: require('./dot-open.svg'),
zip: require('./zip.png'),
}
export default Images
\ No newline at end of file
......@@ -2,6 +2,10 @@
background-color: #273b80 !important;
}
/* .main-color{
background-color: #1474CA !important;
} */
.sub-color{
background-color: #f0f1f3 !important;
}
This diff is collapsed.
import React, { Component } from 'react';
import Images from '../../assets/Images';
class Maintenance extends Component {
constructor(props) {
super(props)
this.state = {
width: 0,
height: 0
}
}
getWindowDimensions() {
const { innerWidth: width, innerHeight: height } = window;
this.setState({
width,
height
})
}
render() {
return (
<div style={{ flex: 1, display: 'flex' }}>
<div style={{ width: '50%', display: 'grid' }}>
<img src={Images.meeting} style={{ objectFit: 'fill', width: '100%', height: '100%' }} alt={'TIA 4.0'}/>
</div>
<div style={{ width: '50%', height: '100vh', backgroundColor: '#4B0082', display: 'flex', justifyContent: 'center', alignItems: 'left', flexDirection: 'column', padding: '5vh'}}>
<p style={{fontSize: '1rem'}}>
<span style={{color: 'white', fontWeight:'bold'}}>
TIA 4.0 is down for Maintenance!<br/>
Thank you for your patience, we expect to be back shortly.<br/>
<br/>
We apologize for any inconvenience.<br/>
For more information, please contact our email : <a style={{color: 'white'}} href={'mailto:tia4.0@triputra-group.com'}>tia4.0@triputra-group.com</a>.
</span>
</p>
</div>
</div >
);
}
}
export default Maintenance;
\ No newline at end of file
......@@ -266,16 +266,17 @@ export default class BalanceSheet extends Component {
this.setState({ loading: false })
if (type == 'submitted') {
this.props.saveToMasterBudget(payload, 'BS')
let bodyRatioBs = {
"report": 'ratio',
"submissionId": this.props.submissionID,
"periode": this.props.periode,
"companyId": this.props.company.company_id
}
api.create().triggerRatioMB(bodyRatioBs).then((res) => {
console.log(res)
this.setState({ loading: false })
})
// let bodyRatioBs = {
// "report": 'ratio',
// "submissionId": this.props.submissionID,
// "periode": this.props.periode,
// "companyId": this.props.company.company_id
// }
// console.log(bodyRatioBs);
// api.create().triggerRatioMB(bodyRatioBs).then((res) => {
// console.log(res)
// this.setState({ loading: false })
// })
} else {
this.props.saveToMasterBudget(payload)
}
......@@ -3422,27 +3423,29 @@ export default class BalanceSheet extends Component {
</div>
<div style={{ width: '50%' }}>
{this.state.dataTable.length == 0 ? null : this.props.isApprover == true ?
<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> :
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' }}>
{((!this.props.truelyApprover) && (this.props.lastStatus === 'SUBMIT' || this.props.lastStatus === 'REVISION') && this.props.prevRevision === false && (this.props.status === 'revision' || this.props.status === 'not-yet' || this.props.status === 'draft' || this.props.status === 'submitted')) && (
<div>
......@@ -3480,7 +3483,7 @@ export default class BalanceSheet extends Component {
<ReactTooltip border={true} id="upload" place="bottom" type="light" effect="solid" />
</div>
)}
<a data-tip={'Download'} data-for="download">
{/* <a data-tip={'Download'} data-for="download">
<button
style={{
backgroundColor: 'transparent',
......@@ -3498,7 +3501,7 @@ export default class BalanceSheet extends Component {
<img src={Images.download} />
</button>
</a>
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" /> */}
</div>
}
</div>
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2852,42 +2852,44 @@ export default class ProfitLoss extends Component {
</div>
<div style={{ width: '50%' }}>
{this.state.dataTable.length == 0 ? null : this.props.isApprover == true ?
<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> :
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' }}>
{((!this.props.truelyApprover) && (this.props.lastStatus == 'SUBMIT' || this.props.lastStatus == 'REVISION') && this.props.prevRevision === false && (this.props.status === 'revision' || this.props.status === 'not-yet' || this.props.status === 'draft' || this.props.status === 'submitted')) &&
<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>}
<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" />
{((!this.props.truelyApprover) && (this.props.lastStatus == 'SUBMIT' || this.props.lastStatus == 'REVISION') && this.props.prevRevision === false && (this.props.status === 'revision' || this.props.status === 'not-yet' || this.props.status === 'draft' || this.props.status === 'submitted')) &&
<a data-tip={'Upload'} data-for="upload">
......@@ -2905,7 +2907,7 @@ export default class ProfitLoss extends Component {
</a>
}
<ReactTooltip border={true} id="upload" place="bottom" type="light" effect="solid" />
<a data-tip={'Download'} data-for="download">
{/* <a data-tip={'Download'} data-for="download">
<button
style={{
backgroundColor: 'transparent',
......@@ -2923,7 +2925,7 @@ export default class ProfitLoss extends Component {
<img src={Images.download} />
</button>
</a>
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" /> */}
</div>
}
</div>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -235,6 +235,19 @@ export default function MiniDrawer() {
subItem: null,
collapse: false,
},
{
img: Images.masterdata,
label: 'General Setting',
path: '',
subItem: [
{
img: '',
label: 'Maintenance Mode',
path: 'maintenance-mode',
},
],
collapse: false,
},
{
img: Images.masterdata,
label: 'Master Data',
......@@ -346,7 +359,7 @@ export default function MiniDrawer() {
const getRole = (id) => {
api.create().getDetailRole(id).then((response) => {
console.log(response)
// console.log(response)
if (response.data.status === 'success') {
// this.setState({ tempData: response.data.data, privileges: response.data.data.privileges })
// // // console.log(response.data.data)
......@@ -363,7 +376,7 @@ export default function MiniDrawer() {
const getIsApprover = (superadmin) => {
api.create().getAM().then((response) => {
console.log(response);
// console.log(response);
let actAMActive = response.data.data
let userId = localStorage.getItem(Constant.USER)
let indexId = actAMActive.findIndex((val) => val.user_id == userId)
......@@ -375,7 +388,7 @@ export default function MiniDrawer() {
const getMenuHierarki = () => {
api.create().getMenuByRole().then((response) => {
console.log(response)
// console.log(response)
if (response.data) {
if (response.data.status === "success") {
let app = null
......@@ -391,7 +404,6 @@ export default function MiniDrawer() {
})
setApplication(app)
setSetting(set)
console.log(set);
} else {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
......
......@@ -70,6 +70,7 @@ class HomePage extends Component {
this.setState({ loading: true, loading2: true, loading3: true })
let userId = localStorage.getItem(Constant.USER)
api.create().getDetailUser(userId).then((response) => {
console.log(response);
if (response.data) {
if (response.ok) {
if (response.data.status === 'success') {
......
......@@ -480,17 +480,17 @@ export default class BalanceSheetMR extends Component {
// this.props.onClickClose()
if (type == 'submitted') {
this.props.saveToMonthlyReport('BS')
let bodyRatioBs = {
"report": 'ratio',
"monthlyReportId": this.props.monthlyReportId,
"periode": this.props.periode,
"companyId": this.props.company.company_id,
"months": this.props.month.month_id
}
api.create().triggerRatioFromLOCF(bodyRatioBs).then((res) => {
console.log(res)
this.setState({ loading: false })
})
// let bodyRatioBs = {
// "report": 'ratio',
// "monthlyReportId": this.props.monthlyReportId,
// "periode": this.props.periode,
// "companyId": this.props.company.company_id,
// "months": this.props.month.month_id
// }
// api.create().triggerRatioFromLOCF(bodyRatioBs).then((res) => {
// console.log(res)
// this.setState({ loading: false })
// })
} else {
this.props.saveToMonthlyReport()
}
......@@ -551,17 +551,17 @@ export default class BalanceSheetMR extends Component {
if (response.data.status === "success") {
if (type == 'submitted') {
this.props.saveToMonthlyReport('BS')
let bodyRatioBs = {
"report": 'ratio',
"monthlyReportId": this.props.monthlyReportId,
"periode": this.props.periode,
"companyId": this.props.company.company_id,
"months": this.props.month.month_id
}
api.create().triggerRatioFromLOCF(bodyRatioBs).then((res) => {
console.log(res)
this.setState({ loading: false })
})
// let bodyRatioBs = {
// "report": 'ratio',
// "monthlyReportId": this.props.monthlyReportId,
// "periode": this.props.periode,
// "companyId": this.props.company.company_id,
// "months": this.props.month.month_id
// }
// api.create().triggerRatioFromLOCF(bodyRatioBs).then((res) => {
// console.log(res)
// this.setState({ loading: false })
// })
} else {
this.props.saveToMonthlyReport()
}
......@@ -2611,27 +2611,29 @@ export default class BalanceSheetMR extends Component {
</div>
<div style={{ width: '50%' }}>
{this.props.isApprover === true || this.state.get_for == 'view' ?
<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> :
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
......@@ -2661,7 +2663,7 @@ export default class BalanceSheetMR extends Component {
</button>
</a>
<ReactTooltip border={true} id="upload" place="bottom" type="light" effect="solid" />
<a data-tip={'Download'} data-for="download">
{/* <a data-tip={'Download'} data-for="download">
<button
style={{
backgroundColor: 'transparent',
......@@ -2679,7 +2681,7 @@ export default class BalanceSheetMR extends Component {
<img src={Images.download} />
</button>
</a>
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" /> */}
</div>
}
</div>
......
......@@ -698,7 +698,7 @@ export default class CashFlowMR extends Component {
<Typography style={{ fontSize: '11px', color: '#4b4b4b' }}>Period : {String(this.props.month.month_value).toLocaleUpperCase()} {this.props.periode} (rev.{this.props.revision})</Typography>
<Typography style={{ fontSize: '11px', color: '#4b4b4b' }}>in IDR mn</Typography>
</div>
<div style={{ width: '50%' }}>
{/* <div style={{ width: '50%' }}>
<div style={{ justifyContent: 'flex-end', display: 'flex', flexFlow: 'wrap' }}>
<a data-tip={'Download'} data-for="download">
<button
......@@ -720,7 +720,7 @@ export default class CashFlowMR extends Component {
</a>
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
</div>
</div>
</div> */}
</div>
<div style={{ marginTop: 20, width: this.props.width - (this.props.open === true ? 400 : 150) }}>
......
......@@ -2004,7 +2004,7 @@ export default class CorporateAnnualTargetMR extends Component {
</button>
</a>}
<ReactTooltip border={true} id="upload" place="bottom" type="light" effect="solid" />
<a data-tip={'Download'} data-for="download">
{/* <a data-tip={'Download'} data-for="download">
<button
style={{
backgroundColor: 'transparent',
......@@ -2022,7 +2022,7 @@ export default class CorporateAnnualTargetMR extends Component {
<img src={Images.download} />
</button>
</a>
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" /> */}
</div>
</div>
</div>
......
......@@ -3856,7 +3856,7 @@ export default class ListOfCreditFacilities extends Component {
<ReactTooltip border={true} id="upload" place="bottom" type="light" effect="solid" />
</div>
)}
<a data-tip={'Download'} data-for="download">
{/* <a data-tip={'Download'} data-for="download">
<button
style={{
backgroundColor: 'transparent',
......@@ -3875,7 +3875,7 @@ export default class ListOfCreditFacilities extends Component {
<img src={Images.download} />
</button>
</a>
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" /> */}
</div>
{/* } */}
</div>
......
......@@ -1706,7 +1706,7 @@ export default class OperatingIndicatorMR extends Component {
</button>
</a>}
<ReactTooltip border={true} id="upload" place="bottom" type="light" effect="solid" />
<a data-tip={'Download'} data-for="download">
{/* <a data-tip={'Download'} data-for="download">
<button
style={{
backgroundColor: 'transparent',
......@@ -1719,7 +1719,7 @@ export default class OperatingIndicatorMR extends Component {
<img src={Images.download} />
</button>
</a>
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" /> */}
</div>
</div>
</div>}
......
......@@ -2032,27 +2032,29 @@ export default class ProfitLossMR extends Component {
</div>
<div style={{ width: '50%' }}>
{this.props.isApprover === true || this.state.get_for == 'view' ?
<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'} 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>
null
:
<div style={{ justifyContent: 'flex-end', display: 'flex', flexFlow: 'wrap' }}>
<a data-tip={'Download Template'} data-for="template">
<button
......@@ -2081,7 +2083,7 @@ export default class ProfitLossMR extends Component {
<img src={Images.upload} />
</button>
</a>
<ReactTooltip border={true} id="upload" place="bottom" type="light" effect="solid" />
{/* <ReactTooltip border={true} id="upload" place="bottom" type="light" effect="solid" />
<a data-tip={'Download'} data-for="download">
<button
style={{
......@@ -2100,7 +2102,7 @@ export default class ProfitLossMR extends Component {
<img src={Images.download} />
</button>
</a>
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" />
<ReactTooltip border={true} id="download" place="bottom" type="light" effect="solid" /> */}
</div>
}
</div>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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