Commit 821b714e authored by Riri Novita's avatar Riri Novita

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

fixsying isyuu

See merge request !1704
parents a8a6e608 b5553305
.main-color{ /* .main-color{
background-color: #273b80 !important; background-color: #273b80 !important;
} */
.main-color{
background-color: #1474CA !important;
} }
.sub-color{ .sub-color{
...@@ -2452,14 +2452,30 @@ export default class BudgetTahunan extends Component { ...@@ -2452,14 +2452,30 @@ export default class BudgetTahunan extends Component {
selectReport.map(async (items) => { selectReport.map(async (items) => {
let datas = data.findIndex((val) => val[4] == items) let datas = data.findIndex((val) => val[4] == items)
let report = data[datas] let report = data[datas]
let url = `${process.env.REACT_APP_URL_MAIN_BE}/public/transaction/master_budget/export_master_budget?submission_id=${submissionID}&&report_id=${report[4]}&&company_id=${company.company_id}&&year=${periode.periode}&&revision=${report[2]}&&download_file_report_id=${downloadedFileReportId}` if (items === 6) {
let resReal = `${process.env.REACT_APP_URL_MAIN_BE}/public/transaction/cash_flow/master_budget/export_master_budget?submission_id=${submissionID}&&company_id=${company.company_id}&&year=${periode.periode}&&revision=${report[2]}&&report_id=${report[4]}&&download_file_report_id=${downloadedFileReportId}`
let resNull = `${process.env.REACT_APP_URL_MAIN_BE}/public/transaction/cash_flow/master_budget/export_master_budget?submission_id=&&company_id=${company.company_id}&&year=${periode.periode}&&revision=${report[2]}&&report_id=${report[4]}&&download_file_report_id=${downloadedFileReportId}`
let res = await fetch( let res = await fetch(
`${process.env.REACT_APP_URL_MAIN_BE}/public/transaction/master_budget/export_master_budget?submission_id=${submissionID === null ? "" : submissionID}&&report_id=${report[4]}&&company_id=${company.company_id}&&year=${periode.periode}&&revision=${report[2]}&&download_file_report_id=${downloadedFileReportId}` this.props.submissionID == null ? resNull : resReal
) )
console.log(res); console.log(res);
if (res.status === 200) { if (res.status === 200) {
this.setState({ arrayReport: [...this.state.arrayReport, items] }) this.setState({ arrayReport: [...this.state.arrayReport, items] })
} }
} else {
let resReal = `${process.env.REACT_APP_URL_MAIN_BE}/public/transaction/master_budget/export_master_budget?submission_id=${submissionID}&&report_id=${report[4]}&&company_id=${company.company_id}&&year=${periode.periode}&&revision=${report[2]}&&download_file_report_id=${downloadedFileReportId}`
let resNull = `${process.env.REACT_APP_URL_MAIN_BE}/public/transaction/master_budget/export_master_budget?submission_id=&&report_id=${report[4]}&&company_id=${company.company_id}&&year=${periode.periode}&&revision=${report[2]}&&download_file_report_id=${downloadedFileReportId}`
let res = await fetch(
this.props.submissionID == null ? resNull : resReal
)
console.log(res);
if (res.status === 200) {
this.setState({ arrayReport: [...this.state.arrayReport, items] })
}
}
// if (items === 1) { // if (items === 1) {
// let datas = data.findIndex((val) => val[4] == items) // let datas = data.findIndex((val) => val[4] == items)
// let report = data[datas] // let report = data[datas]
......
import React, { Component, useRef } from 'react'; import React, { Component, useRef } from 'react';
import { Typography, Paper, TextField, Snackbar, withStyles, Switch, FormControlLabel } from '@material-ui/core'; import { Typography, Paper, TextField, Snackbar, withStyles, Switch, FormControlLabel, InputAdornment } from '@material-ui/core';
import Images from '../../assets/Images'; import Images from '../../assets/Images';
import Constant from '../../library/Constant'; import Constant from '../../library/Constant';
import api from '../../api'; import api from '../../api';
...@@ -14,6 +14,7 @@ import CloudDownloadIcon from '@material-ui/icons/CloudDownload'; ...@@ -14,6 +14,7 @@ import CloudDownloadIcon from '@material-ui/icons/CloudDownload';
import moment from 'moment'; import moment from 'moment';
import CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline'; import CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';
import CheckCircleIcon from '@material-ui/icons/CheckCircle'; import CheckCircleIcon from '@material-ui/icons/CheckCircle';
import SearchIcon from '@material-ui/icons/Search';
const IOSSwitch = withStyles((theme) => ({ const IOSSwitch = withStyles((theme) => ({
...@@ -81,7 +82,10 @@ class DownloadReport extends Component { ...@@ -81,7 +82,10 @@ class DownloadReport extends Component {
this.state = { this.state = {
load: false, load: false,
loading: false, loading: false,
listDownload: [] listDownload: [],
oldListDownload: [],
search: "",
isSearch: false
} }
} }
...@@ -89,28 +93,49 @@ class DownloadReport extends Component { ...@@ -89,28 +93,49 @@ class DownloadReport extends Component {
componentDidMount() { componentDidMount() {
const interval = setInterval(() => { const interval = setInterval(() => {
this.getListDownload() this.getListDownload()
}, 500); }, 1000);
return () => clearInterval(interval); return () => clearInterval(interval);
} }
getListDownload() { getListDownload() {
api.create().getListDownload().then((response) => { api.create().getListDownload().then((response) => {
// console.log(response);
if (response.data) { if (response.data) {
if (response.ok) { if (response.ok) {
if (response.data.status === 'success') { if (response.data.status === 'success') {
let data = response.data.data let data = response.data.data
// console.log(data);
let arr = []; let arr = [];
var groups = this.groupItems(data, "created_at"); // array will be grouped by 'date' property var groups = this.groupItems(data, "created_at"); // array will be grouped by 'date' property
for (var key in groups) { for (var key in groups) {
if (this.state.search.length == 0) {
arr.push({ arr.push({
time: key, time: key,
items: groups[key], items: groups[key],
}); });
} else {
let itmDtl = []
// console.log(groups);
groups[key].forEach((d) => {
let dtS = d.download_file_report_name;
let kS = this.state.search;
if (dtS.toLowerCase().includes(kS.toLowerCase())) {
itmDtl.push(d);
} }
this.setState({ listDownload: arr }) })
let itm = {
time: key,
items: itmDtl
}
if (itmDtl.length > 0) {
arr.push(itm)
}
}
}
this.setState({ listDownload: arr, oldListDownload: arr })
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => { this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Someone Logged In") || response.data.message.includes("Token Expired")) { if (response.data.message.includes("Someone Logged In") || response.data.message.includes("Token Expired")) {
...@@ -160,6 +185,42 @@ class DownloadReport extends Component { ...@@ -160,6 +185,42 @@ class DownloadReport extends Component {
} }
} }
handleChange(e, type) {
this.setState({ search: e.target.value }, () => {
if (this.state.search.length == 0) {
this.setState({ listDownload: this.state.oldListDownload })
}
})
}
// handleSearch(key) {
// this.setState({ isSearch: true }, () => {
// let newListDownload = []
// console.log(this.state.oldListDownload);
// this.state.oldListDownload.forEach((i) => {
// let itmDtl = []
// i.items.forEach((d) => {
// let dtS = d.download_file_report_name;
// let kS = this.state.search;
// if (dtS.toLowerCase().includes(kS.toLowerCase())) {
// itmDtl.push(d);
// }
// })
// let itm = {
// time: i.time,
// items: itmDtl
// }
// if (itmDtl.length > 0) {
// newListDownload.push(itm)
// }
// })
// console.log(newListDownload);
// this.setState({ listDownload: newListDownload, isSearch: false })
// })
// }
render() { render() {
let { listDownload, messageAlert, pageEmpty } = this.state let { listDownload, messageAlert, pageEmpty } = this.state
const loadingComponent = ( const loadingComponent = (
...@@ -186,11 +247,26 @@ class DownloadReport extends Component { ...@@ -186,11 +247,26 @@ class DownloadReport extends Component {
<Typography style={{ fontSize: '16px', color: 'white' }}>Download Report</Typography> <Typography style={{ fontSize: '16px', color: 'white' }}>Download Report</Typography>
</div> </div>
{listDownload.length > 0 ? {listDownload.length > 0 || this.state.search.length != 0 ?
<div style={{ padding: 20, width: '100%' }}> <div style={{ padding: 20, width: '100%' }}>
<Paper style={{ paddingTop: 10, minHeight: this.props.height, paddingBottom: 50, background: '#d9d9d91c' }}> <Paper style={{ paddingTop: 10, minHeight: this.props.height, paddingBottom: 50, background: '#d9d9d91c' }}>
<div style={{ margin: '40px 100px', background: '#fff', borderRadius: 10, minHeight: this.props.height, padding: 45 }}> <div style={{ margin: '40px 100px', background: '#fff', borderRadius: 10, minHeight: this.props.height, padding: 45 }}>
{listDownload.map((listItem) => { <div style={{ display: 'flex', justifyContent: 'flex-end', marginBottom: 10 }}>
<TextField
variant="outlined"
id="search"
name="search"
value={this.state.search}
onChange={(e) => this.handleChange(e, '')}
size="small"
InputProps={{
style: { borderRadius: 7 },
endAdornment: <InputAdornment position="end"><SearchIcon /></InputAdornment>,
}}
/>
</div>
{!this.state.isSearch && (
listDownload.map((listItem) => {
return ( return (
<div> <div>
<div style={{ fontSize: 18, fontWeight: 700, color: '#273B80', marginLeft: 5, marginBottom: 10 }}>{listItem.time}</div> <div style={{ fontSize: 18, fontWeight: 700, color: '#273B80', marginLeft: 5, marginBottom: 10 }}>{listItem.time}</div>
...@@ -202,17 +278,17 @@ class DownloadReport extends Component { ...@@ -202,17 +278,17 @@ class DownloadReport extends Component {
null null
: :
<div style={{ display: 'flex' }}> <div style={{ display: 'flex' }}>
<div style={{ width: '7%', height: 90, background: '#D9D9D9', borderRadius: 10, marginBottom: 15, marginRight: 2, borderBottomRightRadius: 0, borderTopRightRadius: 0 }}> <div style={{ background: '#D9D9D9', borderRadius: 10, marginBottom: 15, marginRight: 2, borderBottomRightRadius: 0, borderTopRightRadius: 0 }}>
<div style={{ alignItems: 'center', display: 'flex' }}> <div style={{ alignItems: 'center', display: 'flex' }}>
<img src={Images.zip} style={{ width: 80, margin: 9 }} /> <img src={Images.zip} style={{ width: 80, margin: 9 }} />
</div> </div>
</div> </div>
<div style={{ display: 'flex', justifyContent: 'space-between', width: '92%', height: 90, background: '#D9D9D9', borderRadius: 10, marginBottom: 15, borderBottomLeftRadius: 0, borderTopLeftRadius: 0 }}> <div style={{ display: 'flex', justifyContent: 'space-between', width: '92%', background: '#D9D9D9', borderRadius: 10, marginBottom: 15, borderBottomLeftRadius: 0, borderTopLeftRadius: 0 }}>
<div> <div style={{ marginRight: 10 }}>
<Typography style={{ fontSize: 18, color: '#273B80', fontWeight: 700, marginTop: 10, marginLeft: 10 }}>{item.download_file_report_name}</Typography> <Typography style={{ fontSize: 18, color: '#273B80', fontWeight: 700, marginTop: 10, marginLeft: 10 }}>{item.download_file_report_name}</Typography>
<Typography style={{ marginLeft: 10, marginTop: 5, fontSize: 11 }}>Last Download by: {item.created_by} - {item.created_at}</Typography> <Typography style={{ marginLeft: 10, marginTop: 5, fontSize: 11, marginBottom: 10 }}>Last Download by: {item.created_by} - {item.created_at}</Typography>
</div> </div>
<div style={{ display: 'flex', justifyContent: 'center', marginRight: 40 }}> <div style={{ display: 'flex', justifyContent: 'center', marginRight: 20 }}>
{item.status === 1 ? {item.status === 1 ?
<button <button
type="button" type="button"
...@@ -275,8 +351,9 @@ class DownloadReport extends Component { ...@@ -275,8 +351,9 @@ class DownloadReport extends Component {
</div> </div>
) )
})} })
<div style={{ fontSize: 12, fontWeight: 700, color: 'red', marginLeft: 5, marginBottom: 10 }}>Note : File download akan hilang dalam 3 hari setelah di generate.</div> )}
<div style={{ fontSize: this.state.listDownload.length > 0 ? 12 : 18, fontWeight: 700, color: this.state.listDownload.length > 0 ? 'red' : 'black', marginLeft: 5, marginBottom: 10 }}>{this.state.listDownload.length > 0 ? 'Note : File download akan hilang dalam 3 hari setelah di generate.' : 'Data not found.'}</div>
</div> </div>
</Paper> </Paper>
</div> </div>
......
...@@ -2444,7 +2444,7 @@ export default class TableSummaryTriputra extends Component { ...@@ -2444,7 +2444,7 @@ export default class TableSummaryTriputra extends Component {
<span>{"Debt to EBITDA"}</span> <span>{"Debt to EBITDA"}</span>
</div> </div>
<div className="column-4" style={{ borderRight: '1px #fff solid', justifyContent: 'center', display: 'flex', alignItems: 'center', backgroundColor: '#07a7d0', height: 40 }}> <div className="column-4" style={{ borderRight: '1px #fff solid', justifyContent: 'center', display: 'flex', alignItems: 'center', backgroundColor: '#07a7d0', height: 40 }}>
<span>{"to Interest"}</span> <span>{"EBITDA to Interest"}</span>
</div> </div>
</div> </div>
<div className="column-2 grid grid-4x" style={{ justifyContent: 'center', display: 'flex', alignItems: 'center', backgroundColor: '#07a7d0' }}> <div className="column-2 grid grid-4x" style={{ justifyContent: 'center', display: 'flex', alignItems: 'center', backgroundColor: '#07a7d0' }}>
......
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