Commit a43a3427 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 dd1b3cae de6f5610
...@@ -13,6 +13,7 @@ import EditApprovalMatrix from "./EditApprovalMatrix"; ...@@ -13,6 +13,7 @@ import EditApprovalMatrix from "./EditApprovalMatrix";
import VisualisasiAM from "./VisualisasiAM"; import VisualisasiAM from "./VisualisasiAM";
import PopUpFailedSave from "../../library/PopUpFailedSave"; import PopUpFailedSave from "../../library/PopUpFailedSave";
import api from "../../api"; import api from "../../api";
import Constant from '../../library/Constant';
var ct = require("../../library/CustomTable"); var ct = require("../../library/CustomTable");
const getMuiTheme = () => createMuiTheme(ct.customTable()); const getMuiTheme = () => createMuiTheme(ct.customTable());
...@@ -75,189 +76,203 @@ export default class ApprovalMatrix extends Component { ...@@ -75,189 +76,203 @@ export default class ApprovalMatrix extends Component {
api.create().checkUploadAM(body).then(response => { api.create().checkUploadAM(body).then(response => {
// console.log(response.data) // console.log(response.data)
if(response.data){ if(response.data){
if (response.data.status === "success") { if (response.ok) {
let dataRow = response.data.data.map((item, index) => { if (response.data.status === "success") {
return [ let dataRow = response.data.data.map((item, index) => {
index + 1, return [
item.approval_type_name, index + 1,
item.orders, item.approval_type_name,
item.fullname, item.orders,
item.operator_type_name, item.fullname,
item.start_date, item.operator_type_name,
item.end_date, item.start_date,
item.error item.end_date,
] item.error
}) ]
let columns = [ })
"ID", let columns = [
{ "ID",
name: "Approval Type", {
options: { name: "Approval Type",
customBodyRender: (val, tableMeta) => { options: {
let check = null customBodyRender: (val, tableMeta) => {
if (tableMeta.rowData[7] != null) { let check = null
check = tableMeta.rowData[7].findIndex((val) => val.field.includes('approval_type_name')) if (tableMeta.rowData[7] != null) {
if (check > -1) { check = tableMeta.rowData[7].findIndex((val) => val.field.includes('approval_type_name'))
this.setState({ buttonError: true }) if (check > -1) {
this.setState({ buttonError: true })
}
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[7] != null && check > -1 ?
{tableMeta.rowData[7] != null && check > -1 ? <a data-tip={tableMeta.rowData[7][check].message} data-for="typename">
<a data-tip={tableMeta.rowData[7][check].message} data-for="typename"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="typename" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="typename" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Order",
name: "Order", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[7] != null) {
if (tableMeta.rowData[7] != null) { check = tableMeta.rowData[7].findIndex((val) => val.field.includes('orders'))
check = tableMeta.rowData[7].findIndex((val) => val.field.includes('orders')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[7] != null && check > -1 ?
{tableMeta.rowData[7] != null && check > -1 ? <a data-tip={tableMeta.rowData[7][check].message} data-for="order">
<a data-tip={tableMeta.rowData[7][check].message} data-for="order"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="order" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="order" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Approver Name",
name: "Approver Name", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[7] != null) {
if (tableMeta.rowData[7] != null) { check = tableMeta.rowData[7].findIndex((val) => val.field.includes('fullname'))
check = tableMeta.rowData[7].findIndex((val) => val.field.includes('fullname')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[7] != null && check > -1 ?
{tableMeta.rowData[7] != null && check > -1 ? <a data-tip={tableMeta.rowData[7][check].message} data-for="fullname">
<a data-tip={tableMeta.rowData[7][check].message} data-for="fullname"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="fullname" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="fullname" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Operator",
name: "Operator", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[7] != null) {
if (tableMeta.rowData[7] != null) { check = tableMeta.rowData[7].findIndex((val) => val.field.includes('operator_type_name'))
check = tableMeta.rowData[7].findIndex((val) => val.field.includes('operator_type_name')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[7] != null && check > -1 ?
{tableMeta.rowData[7] != null && check > -1 ? <a data-tip={tableMeta.rowData[7][check].message} data-for="operatorname">
<a data-tip={tableMeta.rowData[7][check].message} data-for="operatorname"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="operatorname" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="operatorname" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Valid From",
name: "Valid From", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[7] != null) {
if (tableMeta.rowData[7] != null) { check = tableMeta.rowData[7].findIndex((val) => val.field.includes('start_date'))
check = tableMeta.rowData[7].findIndex((val) => val.field.includes('start_date')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[7] != null && check > -1 ?
{tableMeta.rowData[7] != null && check > -1 ? <a data-tip={tableMeta.rowData[7][check].message} data-for="startdate">
<a data-tip={tableMeta.rowData[7][check].message} data-for="startdate"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="startdate" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="startdate" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Valid To",
name: "Valid To", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[7] != null) {
if (tableMeta.rowData[7] != null) { check = tableMeta.rowData[7].findIndex((val) => val.field.includes('end_date'))
check = tableMeta.rowData[7].findIndex((val) => val.field.includes('end_date')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[7] != null && check > -1 ?
{tableMeta.rowData[7] != null && check > -1 ? <a data-tip={tableMeta.rowData[7][check].message} data-for="enddate">
<a data-tip={tableMeta.rowData[7][check].message} data-for="enddate"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" /> );
</div > }
); }
},
{
name: "",
options: {
display: false
} }
} }
}, ]
{
name: "",
options: {
display: false
}
}
]
// console.log(dataRow); // console.log(dataRow);
this.setState({ this.setState({
dataLoaded: true, dataLoaded: true,
cols: columns, cols: columns,
rows: dataRow rows: dataRow
}); });
} else {
this.setState({ dataLoaded: false, alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else {
this.setState({ dataLoaded: false, alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ this.setState({
dataLoaded: false, dataLoaded: false,
alert: true, messageAlert: response.problem, tipeAlert: 'error'
}); });
} }
}) })
...@@ -296,14 +311,25 @@ export default class ApprovalMatrix extends Component { ...@@ -296,14 +311,25 @@ export default class ApprovalMatrix extends Component {
api.create().getAM().then((response) => { api.create().getAM().then((response) => {
// console.log(response) // console.log(response)
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
let data = response.data.data if (response.data.status == 'success') {
let listData = data.sort((a, b) => a.approval_matrix_id - b.approval_matrix_id).map((item, index) => { let data = response.data.data
return [index, item.approval_matrix_id, item.approval_type_name, item.orders, item.fullname, item.operator_type_name, item.status] let listData = data.sort((a, b) => a.approval_matrix_id - b.approval_matrix_id).map((item, index) => {
}) return [index, item.approval_matrix_id, item.approval_type_name, item.orders, item.fullname, item.operator_type_name, item.status]
this.setState({ dataTable: listData, listData: response.data.data }) })
this.setState({ dataTable: listData, listData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -332,14 +358,25 @@ export default class ApprovalMatrix extends Component { ...@@ -332,14 +358,25 @@ export default class ApprovalMatrix extends Component {
api.create().searchAM(body).then(response => { api.create().searchAM(body).then(response => {
// console.log(response.data); // console.log(response.data);
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
let data = response.data.data if (response.data.status == 'success') {
let listData = data.map((item, index) => { let data = response.data.data
return [index, item.approval_matrix_id, item.approval_type_name, item.orders, item.fullname, item.operator_type_name, item.status] let listData = data.map((item, index) => {
}) return [index, item.approval_matrix_id, item.approval_type_name, item.orders, item.fullname, item.operator_type_name, item.status]
this.setState({ dataTable: listData, listData: response.data.data }) })
this.setState({ dataTable: listData, listData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -351,11 +388,22 @@ export default class ApprovalMatrix extends Component { ...@@ -351,11 +388,22 @@ export default class ApprovalMatrix extends Component {
this.setState({ visibleCreate: false }) this.setState({ visibleCreate: false })
api.create().createAM(payload).then(response => { api.create().createAM(payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.getData() if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -367,11 +415,22 @@ export default class ApprovalMatrix extends Component { ...@@ -367,11 +415,22 @@ export default class ApprovalMatrix extends Component {
this.setState({ visibleEdit: false }) this.setState({ visibleEdit: false })
api.create().updateAM(payload).then(response => { api.create().updateAM(payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.getData() if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -383,11 +442,22 @@ export default class ApprovalMatrix extends Component { ...@@ -383,11 +442,22 @@ export default class ApprovalMatrix extends Component {
this.setState({ visibleVisual: false, visibleAM: true }) this.setState({ visibleVisual: false, visibleAM: true })
api.create().updateVAM(payload).then(response => { api.create().updateVAM(payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.getData() if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -430,11 +500,22 @@ export default class ApprovalMatrix extends Component { ...@@ -430,11 +500,22 @@ export default class ApprovalMatrix extends Component {
api.create().uploadAM(this.state.payload).then(response => { api.create().uploadAM(this.state.payload).then(response => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status === "success") { if (response.ok) {
this.getData() if (response.data.status === "success") {
this.setState({ visibleAM: true, alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ visibleAM: true, alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
......
...@@ -7,6 +7,7 @@ import format from "date-fns/format"; ...@@ -7,6 +7,7 @@ import format from "date-fns/format";
import localeID from "date-fns/locale/id" import localeID from "date-fns/locale/id"
import api from "../../api"; import api from "../../api";
import Images from '../../assets/Images'; import Images from '../../assets/Images';
import Constant from '../../library/Constant';
export default class CreateApprovalMatrix extends Component { export default class CreateApprovalMatrix extends Component {
constructor(props) { constructor(props) {
...@@ -53,72 +54,119 @@ export default class CreateApprovalMatrix extends Component { ...@@ -53,72 +54,119 @@ export default class CreateApprovalMatrix extends Component {
getUserData() { getUserData() {
api.create().getApprovedByAM().then((response) => { api.create().getApprovedByAM().then((response) => {
if(response.status == null){ if(response.data) {
// alert(response.problem) if (response.ok) {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) if (response.data.status == 'success') {
} let data = response.data.data
else if (response.data.status == 'success') { let userData = data.map((item) => {
let data = response.data.data return {
let userData = data.map((item) => { user_id: item.user_id,
return { fullname: item.fullname
user_id: item.user_id, }
fullname: item.fullname })
// console.log(userData)
let defaultProps = {
options: userData,
getOptionLabel: (option) => option.fullname,
};
this.setState({ approvedBy: defaultProps, userData: response.data.data})
} else {
// alert('Approver Name: ' +response.data.message)
if (response.data.message.includes("Token")) {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
})
} else {
this.setState({ alert: true, messageAlert: 'Approver Name: ' + response.data.message, tipeAlert: 'error' })
}
} }
}) } else {
// console.log(userData) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
let defaultProps = { }
options: userData,
getOptionLabel: (option) => option.fullname,
};
this.setState({ approvedBy: defaultProps, userData: response.data.data})
} else { } else {
// alert('Approver Name: ' +response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
this.setState({ alert: true, messageAlert: 'Approver Name: ' +response.problem, tipeAlert: 'error' })
} }
}) })
} }
getTypeData() { getTypeData() {
api.create().getTypeAM().then((response) => { api.create().getTypeAM().then((response) => {
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
let typeData = data.map((item) => { if (response.data.status == 'success') {
return { let data = response.data.data
approval_type_id: item.approval_type_id, let typeData = data.map((item) => {
approval_type_name: item.approval_type_name return {
approval_type_id: item.approval_type_id,
approval_type_name: item.approval_type_name
}
})
let typeProps = {
options: typeData,
getOptionLabel: (option) => option.approval_type_name,
};
this.setState({ types: typeProps, typeData: response.data.data })
} else {
// alert('Approval Type: ' +response.data.message)
if (response.data.message.includes("Token")) {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
})
} else {
this.setState({ alert: true, messageAlert: 'Approval Type: ' + response.data.message, tipeAlert: 'warning' })
}
} }
}) } else {
let typeProps = { this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
options: typeData, }
getOptionLabel: (option) => option.approval_type_name,
};
this.setState({ types: typeProps, typeData: response.data.data })
} else { } else {
// alert('Approval Type: ' +response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
this.setState({ alert: true, messageAlert: 'Approval Type: ' +response.problem, tipeAlert: 'error' })
} }
}) })
} }
getOperatorData() { getOperatorData() {
api.create().getOperatorAM().then((response) => { api.create().getOperatorAM().then((response) => {
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
let operatorData = data.map((item) => { if (response.data.status == 'success') {
return { let data = response.data.data
operator_type_id: item.operator_type_id, let operatorData = data.map((item) => {
operator_type_name: item.operator_type_name return {
operator_type_id: item.operator_type_id,
operator_type_name: item.operator_type_name
}
})
// console.log(userData)
let operatorProps = {
options: operatorData,
getOptionLabel: (option) => option.operator_type_name,
};
this.setState({ operators: operatorProps, operatorData: response.data.data })
} else {
// alert('Operator: ' +response.data.message)
if (response.data.message.includes("Token")) {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
})
} else {
this.setState({ alert: true, messageAlert: 'Operator: ' + response.data.message, tipeAlert: 'warning' })
}
} }
}) } else {
// console.log(userData) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
let operatorProps = { }
options: operatorData,
getOptionLabel: (option) => option.operator_type_name,
};
this.setState({ operators: operatorProps, operatorData: response.data.data })
} else { } else {
// alert('Operator: ' +response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
this.setState({ alert: true, messageAlert: 'Operator: ' +response.problem, tipeAlert: 'error' })
} }
}) })
} }
...@@ -456,9 +504,9 @@ export default class CreateApprovalMatrix extends Component { ...@@ -456,9 +504,9 @@ export default class CreateApprovalMatrix extends Component {
</div> </div>
</div> */} </div> */}
</div> </div>
<div className="margin-top-10px" style={{ padding: 10, paddingLeft: 0 }}> <div className="margin-top-10px" style={{ paddingTop: 10, paddingBottom: 10, paddingLeft: 10, paddingRight: 30 }}>
<Typography style={{ fontSize: 11 }}>{`Created by : `}</Typography> <Typography style={{ fontSize: 11 }}>{`Created By : `}</Typography>
{/* <Typography style={{ fontSize: 11 }}>Diubah : Admin - 21 Jul 2020, 18:45</Typography> */} <Typography style={{ fontSize: 11 }}>{`Updated By :`}</Typography>
</div> </div>
</div> </div>
<div className="border-top grid grid-2x" style={{ height: 56, backgroundColor: '#f5f5f5', paddingLeft: 20, paddingRight: 20 }}> <div className="border-top grid grid-2x" style={{ height: 56, backgroundColor: '#f5f5f5', paddingLeft: 20, paddingRight: 20 }}>
......
...@@ -6,6 +6,7 @@ import * as R from 'ramda' ...@@ -6,6 +6,7 @@ import * as R from 'ramda'
import format from "date-fns/format"; import format from "date-fns/format";
import api from "../../api"; import api from "../../api";
import Images from '../../assets/Images'; import Images from '../../assets/Images';
import Constant from '../../library/Constant';
export default class EditApprovalMatrix extends Component { export default class EditApprovalMatrix extends Component {
constructor(props) { constructor(props) {
...@@ -53,92 +54,158 @@ export default class EditApprovalMatrix extends Component { ...@@ -53,92 +54,158 @@ export default class EditApprovalMatrix extends Component {
api.create().getDetailAM(this.props.data[1]).then(response => { api.create().getDetailAM(this.props.data[1]).then(response => {
// console.log(response) // console.log(response)
if (response.data) { if (response.data) {
if (response.data.status === "success") { if (response.ok) {
let data = response.data.data if (response.data.status === "success") {
this.setState({ let data = response.data.data
id: data.approval_matrix_id, this.setState({
startDate: data.start_date, id: data.approval_matrix_id,
endDate: data.end_date, startDate: data.start_date,
order: data.orders, endDate: data.end_date,
getUserId: data.user_id, order: data.orders,
getTypeId: data.approval_type_id, getUserId: data.user_id,
getOperatorId: data.operator_type_id, getTypeId: data.approval_type_id,
status: data.status, getOperatorId: data.operator_type_id,
created: data.created, status: data.status,
updated: data.updated === null ? "" : data.updated created: data.created,
}, () => this.getUserData(), this.getTypeData(), this.getOperatorData()) updated: data.updated === null ? "" : data.updated
}, () => this.getUserData(), this.getTypeData(), this.getOperatorData())
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
} else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
getUserData() { getUserData() {
api.create().getApprovedByAM().then((response) => { api.create().getApprovedByAM().then((response) => {
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
let userData = data.map((item) => { if (response.data.status == 'success') {
return { let data = response.data.data
user_id: item.user_id, let userData = data.map((item) => {
fullname: item.fullname return {
user_id: item.user_id,
fullname: item.fullname
}
})
let index = userData.findIndex((val) => val.user_id == this.state.getUserId)
let defaultProps = {
options: userData,
getOptionLabel: (option) => option.fullname,
};
// this.setState({ approvedBy: defaultProps, userData: response.data.data, getApprovedBy: index == -1 ? userData[0]: userData[index] })
this.setState({ approvedBy: defaultProps, userData: response.data.data, getApprovedBy: index == -1 ? this.setState({ errorApproved: true, msgErrApproved: 'Approver Name has been Inactive.' }): userData[index] })
} else {
// alert('Pemberi Persetujuan: ' +response.data.message)
if (response.data.message.includes("Token")) {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
})
} else {
this.setState({ alert: true, messageAlert: 'Pemberi Persetujuan: ' +response.data.message, tipeAlert: 'error' })
}
} }
}) } else {
let index = userData.findIndex((val) => val.user_id == this.state.getUserId) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
let defaultProps = { }
options: userData,
getOptionLabel: (option) => option.fullname,
};
// this.setState({ approvedBy: defaultProps, userData: response.data.data, getApprovedBy: index == -1 ? userData[0]: userData[index] })
this.setState({ approvedBy: defaultProps, userData: response.data.data, getApprovedBy: index == -1 ? this.setState({ errorApproved: true, msgErrApproved: 'Approver Name has been Inactive.' }): userData[index] })
} else { } else {
// alert('Pemberi Persetujuan: ' +response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
this.setState({ alert: true, messageAlert: 'Pemberi Persetujuan: ' +response.data.message, tipeAlert: 'error' })
} }
}) })
} }
getOperatorData() { getOperatorData() {
api.create().getOperatorAM().then((response) => { api.create().getOperatorAM().then((response) => {
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
let operatorData = data.map((item) => { if (response.data.status == 'success') {
return { let data = response.data.data
operator_type_id: item.operator_type_id, let operatorData = data.map((item) => {
operator_type_name: item.operator_type_name return {
operator_type_id: item.operator_type_id,
operator_type_name: item.operator_type_name
}
})
let index = operatorData.findIndex((val) => val.operator_type_id == this.state.getOperatorId)
let operatorProps = {
options: operatorData,
getOptionLabel: (option) => option.operator_type_name,
};
this.setState({ operators: operatorProps, operatorData: response.data.data, getOperators: index == -1 ? operatorData[0]: operatorData[index] })
} else {
// alert('Operator: ' +response.data.message)
if (response.data.message.includes("Token")) {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
})
} else {
this.setState({ alert: true, messageAlert: 'Operator: ' +response.data.message, tipeAlert: 'error' })
}
} }
}) } else {
let index = operatorData.findIndex((val) => val.operator_type_id == this.state.getOperatorId) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
let operatorProps = { }
options: operatorData,
getOptionLabel: (option) => option.operator_type_name,
};
this.setState({ operators: operatorProps, operatorData: response.data.data, getOperators: index == -1 ? operatorData[0]: operatorData[index] })
} else { } else {
// alert('Operator: ' +response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
this.setState({ alert: true, messageAlert: 'Operator: ' +response.data.message, tipeAlert: 'error' })
} }
}) })
} }
getTypeData() { getTypeData() {
api.create().getTypeAM().then((response) => { api.create().getTypeAM().then((response) => {
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
let typeData = data.map((item) => { if (response.data.status == 'success') {
return { let data = response.data.data
approval_type_id: item.approval_type_id, let typeData = data.map((item) => {
approval_type_name: item.approval_type_name return {
approval_type_id: item.approval_type_id,
approval_type_name: item.approval_type_name
}
})
let index = typeData.findIndex((val) => val.approval_type_id == this.state.getTypeId)
let typeProps = {
options: typeData,
getOptionLabel: (option) => option.approval_type_name,
};
this.setState({ types: typeProps, typeData: response.data.data, getTypes: index == -1 ? typeData[0]: typeData[index] })
} else {
// alert('Approval Type: ' +response.data.message)
if (response.data.message.includes("Token")) {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
})
} else {
this.setState({ alert: true, messageAlert: 'Approval Type: ' +response.data.message, tipeAlert: 'error' })
}
} }
}) } else {
let index = typeData.findIndex((val) => val.approval_type_id == this.state.getTypeId) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
let typeProps = { }
options: typeData,
getOptionLabel: (option) => option.approval_type_name,
};
this.setState({ types: typeProps, typeData: response.data.data, getTypes: index == -1 ? typeData[0]: typeData[index] })
} else { } else {
// alert('Approval Type: ' +response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
this.setState({ alert: true, messageAlert: 'Approval Type: ' +response.data.message, tipeAlert: 'error' })
} }
}) })
} }
...@@ -489,13 +556,13 @@ export default class EditApprovalMatrix extends Component { ...@@ -489,13 +556,13 @@ export default class EditApprovalMatrix extends Component {
</div> */} </div> */}
</div> </div>
</div> </div>
<div className="margin-top-10px" style={{ padding: 10, paddingLeft: 0, borderRadius: 5 }}> <div className="margin-top-10px" style={{ paddingTop: 10, paddingBottom: 10, paddingLeft: 10, paddingRight: 20 }}>
<div style={{ display: 'flex' }}> <div style={{ display: 'flex' }}>
<Typography style={{ fontSize: 11, width: '20%' }}>Created by</Typography> <Typography style={{ fontSize: 11, width: '12%' }}>Created By</Typography>
<Typography style={{ fontSize: 11 }}>: {this.state.created}</Typography> <Typography style={{ fontSize: 11 }}>: {this.state.created}</Typography>
</div> </div>
<div style={{ display: 'flex' }}> <div style={{ display: 'flex' }}>
<Typography style={{ fontSize: 11, width: '20%' }}>Updated by</Typography> <Typography style={{ fontSize: 11, width: '12%' }}>Updated By</Typography>
<Typography style={{ fontSize: 11 }}>: {this.state.updated == - null ? "" : this.state.updated}</Typography> <Typography style={{ fontSize: 11 }}>: {this.state.updated == - null ? "" : this.state.updated}</Typography>
</div> </div>
</div> </div>
......
...@@ -7,6 +7,7 @@ import ReactDragListView from 'react-drag-listview'; ...@@ -7,6 +7,7 @@ import ReactDragListView from 'react-drag-listview';
import Autocomplete from '@material-ui/lab/Autocomplete'; import Autocomplete from '@material-ui/lab/Autocomplete';
import api from "../../api"; import api from "../../api";
import { none } from 'ramda'; import { none } from 'ramda';
import Constant from '../../library/Constant';
const type = [ const type = [
...@@ -45,22 +46,37 @@ export default class VisualisasiAM extends Component { ...@@ -45,22 +46,37 @@ export default class VisualisasiAM extends Component {
getTypeData() { getTypeData() {
api.create().getTypeAM().then((response) => { api.create().getTypeAM().then((response) => {
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
// console.log(data) if (response.data.status == 'success') {
let typeData = data.map((item) => { let data = response.data.data
return { // console.log(data)
approval_type_id: item.approval_type_id, let typeData = data.map((item) => {
approval_type_name: item.approval_type_name return {
approval_type_id: item.approval_type_id,
approval_type_name: item.approval_type_name
}
})
let typeProps = {
options: typeData,
getOptionLabel: (option) => option.approval_type_name,
};
this.setState({ types: typeProps, typeData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
}) } else {
let typeProps = { this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
options: typeData, }
getOptionLabel: (option) => option.approval_type_name,
};
this.setState({ types: typeProps, typeData: response.data.data })
} else { } else {
alert(response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
...@@ -71,28 +87,43 @@ export default class VisualisasiAM extends Component { ...@@ -71,28 +87,43 @@ export default class VisualisasiAM extends Component {
"keyword": this.state.typeName "keyword": this.state.typeName
} }
api.create().searchAM(body).then(response => { api.create().searchAM(body).then(response => {
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
// console.log(data) if (response.data.status == 'success') {
let listVisual = [] let data = response.data.data
data.map((item, index) => { // console.log(data)
let indexId = listVisual.findIndex((val) => val.orderId == item.orders) let listVisual = []
if(indexId == -1){ data.map((item, index) => {
listVisual.push({ let indexId = listVisual.findIndex((val) => val.orderId == item.orders)
orderId: item.orders, if(indexId == -1){
data: [item] listVisual.push({
orderId: item.orders,
data: [item]
})
// console.log(listVisual);
} else {
listVisual[indexId].data.push(item)
// console.log('listVisual');
// console.log(listVisual);
}
}) })
this.setState({ listApproval: listVisual})
// console.log(listVisual); // console.log(listVisual);
} else { } else {
listVisual[indexId].data.push(item) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
// console.log('listVisual'); if (response.data.message.includes("Token")) {
// console.log(listVisual); setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
}) } else {
this.setState({ listApproval: listVisual}) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
// console.log(listVisual); }
} else { } else {
alert(response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
......
...@@ -113,7 +113,7 @@ class Login extends Component { ...@@ -113,7 +113,7 @@ class Login extends Component {
this.props.history.push('/home/beranda') this.props.history.push('/home/beranda')
} else { } else {
if (response.data.message == 'Password is Not Correct') { if (response.data.message == 'Password is Not Correct') {
this.setState({ errorPassword: true, msgPassword: response.data.message }) this.setState({ errorPassword: true, msgPassword: 'Incorrect Password' })
} else { } else {
this.setState({ errorEmail: true, msgEmail: response.data.message }) this.setState({ errorEmail: true, msgEmail: response.data.message })
} }
......
...@@ -6,6 +6,7 @@ import { DatePicker } from '@material-ui/pickers'; ...@@ -6,6 +6,7 @@ import { DatePicker } from '@material-ui/pickers';
import { format } from 'date-fns'; import { format } from 'date-fns';
import * as R from 'ramda' import * as R from 'ramda'
import Images from '../../../assets/Images'; import Images from '../../../assets/Images';
import Constant from '../../../library/Constant';
export default class CreateParameter extends Component { export default class CreateParameter extends Component {
constructor(props) { constructor(props) {
...@@ -75,21 +76,36 @@ export default class CreateParameter extends Component { ...@@ -75,21 +76,36 @@ export default class CreateParameter extends Component {
getDetailParameter() { getDetailParameter() {
api.create().getDetailParameter(this.props.data[0]).then((response) => { api.create().getDetailParameter(this.props.data[0]).then((response) => {
console.log(response); console.log(response);
if (response.data.status === 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
this.setState({ if (response.data.status === 'success') {
tempData: response.data.data, let data = response.data.data
getSettingGroupID: data.setting_group_id, this.setState({
getCompanyID: data.company_id, tempData: response.data.data,
settingType: data.setting_type, getSettingGroupID: data.setting_group_id,
}, () => { getCompanyID: data.company_id,
this.getAllGroup() settingType: data.setting_type,
this.getPerusahaan() }, () => {
this.getParameterByGroup(data.setting_group_id) this.getAllGroup()
console.log(this.state.tempData) this.getPerusahaan()
}) this.getParameterByGroup(data.setting_group_id)
console.log(this.state.tempData)
})
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
}
} else { } else {
alert(response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
...@@ -97,94 +113,154 @@ export default class CreateParameter extends Component { ...@@ -97,94 +113,154 @@ export default class CreateParameter extends Component {
getAllGroup() { getAllGroup() {
api.create().getAllGroup().then(response => { api.create().getAllGroup().then(response => {
console.log(response); console.log(response);
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
let typeData = data.map((item) => { if (response.data.status == 'success') {
return { let data = response.data.data
setting_group_id: item.setting_group_id, let typeData = data.map((item) => {
setting_group_name: item.setting_group_name return {
setting_group_id: item.setting_group_id,
setting_group_name: item.setting_group_name
}
})
let index = typeData.findIndex((val) => val.setting_group_id == this.state.getSettingGroupID)
let typeProps = {
options: typeData,
getOptionLabel: (option) => option.setting_group_name,
};
this.setState({ types: typeProps, typeData: response.data.data, getTypes: index == -1 ? typeData[0] : typeData[index] })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
}) } else {
let index = typeData.findIndex((val) => val.setting_group_id == this.state.getSettingGroupID) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
let typeProps = { }
options: typeData,
getOptionLabel: (option) => option.setting_group_name,
};
this.setState({ types: typeProps, typeData: response.data.data, getTypes: index == -1 ? typeData[0] : typeData[index] })
} else { } else {
alert(response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
getPerusahaan() { getPerusahaan() {
api.create().getPerusahaanActive().then(response => { api.create().getPerusahaanActive().then(response => {
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
let perusahaanData = data.map((item) => { if (response.data.status == 'success') {
return { let data = response.data.data
company_id: item.company_id, let perusahaanData = data.map((item) => {
company_name: item.company_name return {
company_id: item.company_id,
company_name: item.company_name
}
})
perusahaanData.push({
company_id: 0,
company_name: 'Default'
})
let index = perusahaanData.sort((a, b) => a.company_id - b.company_id).findIndex((val) => val.company_id == this.state.getCompanyID)
let typeProps = {
options: perusahaanData,
getOptionLabel: (option) => option.company_name,
};
this.setState({ perusahaan: typeProps, perusahaanData: response.data.data, getPerusahaan: index == -1 ? null : perusahaanData[index], msgErrorPerusahaan: index === -1 ? 'Company has been inactive' : "", errorPerusahaan: index === -1 ? true : false })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
}) } else {
perusahaanData.push({ this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
company_id: 0, }
company_name: 'Default'
})
let index = perusahaanData.sort((a, b) => a.company_id - b.company_id).findIndex((val) => val.company_id == this.state.getCompanyID)
let typeProps = {
options: perusahaanData,
getOptionLabel: (option) => option.company_name,
};
this.setState({ perusahaan: typeProps, perusahaanData: response.data.data, getPerusahaan: index == -1 ? null : perusahaanData[index], msgErrorPerusahaan: index === -1 ? 'Company has been inactive' : "", errorPerusahaan: index === -1 ? true : false })
} else { } else {
alert(response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
getDataGroup() { getDataGroup() {
api.create().getAllGroup().then((response) => { api.create().getAllGroup().then((response) => {
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
let typeData = data.map((item) => { if (response.data.status == 'success') {
return { let data = response.data.data
setting_group_id: item.setting_group_id, let typeData = data.map((item) => {
setting_group_name: item.setting_group_name return {
setting_group_id: item.setting_group_id,
setting_group_name: item.setting_group_name
}
})
let typeProps = {
options: typeData,
getOptionLabel: (option) => option.setting_group_name,
};
this.setState({ types: typeProps, typeData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
}) } else {
let typeProps = { this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
options: typeData, }
getOptionLabel: (option) => option.setting_group_name,
};
this.setState({ types: typeProps, typeData: response.data.data })
} else { } else {
alert(response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
getDataPerusahaan() { getDataPerusahaan() {
api.create().getPerusahaanActive().then((response) => { api.create().getPerusahaanActive().then((response) => {
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
let typeData = data.map((item) => { if (response.data.status == 'success') {
return { let data = response.data.data
company_id: item.company_id, let typeData = data.map((item) => {
company_name: item.company_name return {
company_id: item.company_id,
company_name: item.company_name
}
})
typeData.push({
company_id: 0,
company_name: 'Default'
})
let typeProps = {
options: typeData.sort((a, b) => a.company_id - b.company_id),
getOptionLabel: (option) => option.company_name,
};
this.setState({ perusahaan: typeProps, perusahaanData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
}) } else {
typeData.push({ this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
company_id: 0, }
company_name: 'Default'
})
let typeProps = {
options: typeData.sort((a, b) => a.company_id - b.company_id),
getOptionLabel: (option) => option.company_name,
};
this.setState({ perusahaan: typeProps, perusahaanData: response.data.data })
} else { } else {
alert(response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
...@@ -192,22 +268,37 @@ export default class CreateParameter extends Component { ...@@ -192,22 +268,37 @@ export default class CreateParameter extends Component {
getParameterByGroup(id) { getParameterByGroup(id) {
api.create().getParameterByGroup(id).then(response => { api.create().getParameterByGroup(id).then(response => {
console.log(response); console.log(response);
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
let typeData = data.map((item) => { if (response.data.status == 'success') {
return { let data = response.data.data
setting_type_id: item.setting_type_id, let typeData = data.map((item) => {
setting_type_name: item.setting_type_name return {
setting_type_id: item.setting_type_id,
setting_type_name: item.setting_type_name
}
})
let index = typeData.findIndex((val) => val.setting_type_id == this.state.getSettingTypeID)
let typeProps = {
options: typeData,
getOptionLabel: (option) => option.setting_type_name,
};
this.setState({ enableParameter: true, parameter: typeProps, parameterData: response.data.data, getParameter: index == -1 ? typeData[0] : typeData[index] })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
}) } else {
let index = typeData.findIndex((val) => val.setting_type_id == this.state.getSettingTypeID) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
let typeProps = { }
options: typeData,
getOptionLabel: (option) => option.setting_type_name,
};
this.setState({ enableParameter: true, parameter: typeProps, parameterData: response.data.data, getParameter: index == -1 ? typeData[0] : typeData[index] })
} else { } else {
alert(response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
...@@ -378,7 +469,7 @@ export default class CreateParameter extends Component { ...@@ -378,7 +469,7 @@ export default class CreateParameter extends Component {
} else if ((!R.isNil(this.state.minValue) && R.isNil(this.state.maxValue)) || (!R.isNil(this.state.minValue) && R.isEmpty(this.state.maxValue))) { } else if ((!R.isNil(this.state.minValue) && R.isNil(this.state.maxValue)) || (!R.isNil(this.state.minValue) && R.isEmpty(this.state.maxValue))) {
this.setState({ errorMaxValue: true, msgErrorMaxValue: 'Max Value Cannot be Empty.' }) this.setState({ errorMaxValue: true, msgErrorMaxValue: 'Max Value Cannot be Empty.' })
} else if (R.isNil(this.state.endDate)) { } else if (R.isNil(this.state.endDate)) {
this.setState({ errorEndDate: true, msgErrorEndDate: 'Valid To Cannot be Empty' }) this.setState({ errorEndDate: true, msgErrorEndDate: 'Valid To Cannot be Empty.' })
} else { } else {
this.createParameter() this.createParameter()
} }
...@@ -789,7 +880,7 @@ export default class CreateParameter extends Component { ...@@ -789,7 +880,7 @@ export default class CreateParameter extends Component {
onClick={() => this.props.onClickClose()} onClick={() => this.props.onClickClose()}
> >
<div style={{ width: 102, height: 30, border: 'solid 1px #354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}> <div style={{ width: 102, height: 30, border: 'solid 1px #354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}>
<span style={{ color: '#354960', fontSize: 11 }}>Batal</span> <span style={{ color: '#354960', fontSize: 11 }}>Cancel</span>
</div> </div>
</button> </button>
</div> </div>
...@@ -799,7 +890,7 @@ export default class CreateParameter extends Component { ...@@ -799,7 +890,7 @@ export default class CreateParameter extends Component {
onClick={() => this.validasi()} onClick={() => this.validasi()}
> >
<div style={{ width: 102, height: 30, backgroundColor: '#354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}> <div style={{ width: 102, height: 30, backgroundColor: '#354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}>
<span style={{ color: '#fff', fontSize: 11 }}>Simpan</span> <span style={{ color: '#fff', fontSize: 11 }}>Save</span>
</div> </div>
</button> </button>
</div> </div>
...@@ -1159,7 +1250,7 @@ export default class CreateParameter extends Component { ...@@ -1159,7 +1250,7 @@ export default class CreateParameter extends Component {
onClick={() => this.props.onClickClose()} onClick={() => this.props.onClickClose()}
> >
<div style={{ width: 102, height: 30, border: 'solid 1px #354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}> <div style={{ width: 102, height: 30, border: 'solid 1px #354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}>
<span style={{ color: '#354960', fontSize: 11 }}>Batal</span> <span style={{ color: '#354960', fontSize: 11 }}>Cancel</span>
</div> </div>
</button> </button>
</div> </div>
......
...@@ -10,6 +10,7 @@ import PopUpFailedSave from "../../../library/PopUpFailedSave"; ...@@ -10,6 +10,7 @@ import PopUpFailedSave from "../../../library/PopUpFailedSave";
import ReactTooltip from 'react-tooltip'; import ReactTooltip from 'react-tooltip';
import UploadFile from "../../../library/Upload"; import UploadFile from "../../../library/Upload";
import { ExcelRenderer } from 'react-excel-renderer'; import { ExcelRenderer } from 'react-excel-renderer';
import Constant from '../../../library/Constant';
var ct = require("../../../library/CustomTable"); var ct = require("../../../library/CustomTable");
const getMuiTheme = () => createMuiTheme(ct.customTable()); const getMuiTheme = () => createMuiTheme(ct.customTable());
...@@ -67,27 +68,38 @@ export default class Parameter extends Component { ...@@ -67,27 +68,38 @@ export default class Parameter extends Component {
getAllParameter() { getAllParameter() {
api.create().getAllParameter().then(response => { api.create().getAllParameter().then(response => {
if (response.data) { if (response.data) {
if (response.data.status === "success") { if (response.ok) {
console.log(response); if (response.data.status === "success") {
let data = response.data.data console.log(response);
let listData = data.map((item, index) => { let data = response.data.data
return [ let listData = data.map((item, index) => {
item.setting_id, return [
item.setting_id, item.setting_id,
item.setting_group, item.setting_id,
item.setting_type, item.setting_group,
item.company_name, item.setting_type,
item.description, item.company_name,
item.order, item.description,
item.value, item.order,
item.min_value, item.value,
item.max_value, item.min_value,
item.status item.max_value,
] item.status
}) ]
this.setState({ dataTable: listData, data: response.data.data }) })
this.setState({ dataTable: listData, data: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -114,11 +126,22 @@ export default class Parameter extends Component { ...@@ -114,11 +126,22 @@ export default class Parameter extends Component {
api.create().updateParameter(payload).then(response => { api.create().updateParameter(payload).then(response => {
console.log(response); console.log(response);
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.getAllParameter() if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getAllParameter()
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -130,11 +153,22 @@ export default class Parameter extends Component { ...@@ -130,11 +153,22 @@ export default class Parameter extends Component {
this.setState({ visibleCreate: false }) this.setState({ visibleCreate: false })
api.create().createParameter(payload).then(response => { api.create().createParameter(payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.getAllParameter() if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getAllParameter()
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -179,26 +213,41 @@ export default class Parameter extends Component { ...@@ -179,26 +213,41 @@ export default class Parameter extends Component {
} }
api.create().searchParameter(body).then(response => { api.create().searchParameter(body).then(response => {
console.log(response.data); console.log(response.data);
if (response.data.status == 'success') { if (response.data) {
let data = response.data.data if (response.ok) {
let listData = data.map((item, index) => { if (response.data.status == 'success') {
return [ let data = response.data.data
item.setting_id, let listData = data.map((item, index) => {
item.setting_id, return [
item.setting_group, item.setting_id,
item.setting_type, item.setting_id,
item.company_name, item.setting_group,
item.description, item.setting_type,
item.order, item.company_name,
item.value, item.description,
item.min_value, item.order,
item.max_value, item.value,
item.status item.min_value,
] item.max_value,
}) item.status
this.setState({ dataTable: listData, listData: response.data.data }) ]
})
this.setState({ dataTable: listData, listData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
}
} else { } else {
alert(response.data.message) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
...@@ -237,292 +286,304 @@ export default class Parameter extends Component { ...@@ -237,292 +286,304 @@ export default class Parameter extends Component {
this.setState({ payload: body, buttonError: false }) this.setState({ payload: body, buttonError: false })
api.create().checkUploadParameter(body).then(response => { api.create().checkUploadParameter(body).then(response => {
console.log(response); console.log(response);
if (response.data !== null) { if (response.data) {
if (response.data.status === "success") { if (response.ok) {
let dataRow = response.data.data.map((item, index) => { if (response.data.status === "success") {
return [ let dataRow = response.data.data.map((item, index) => {
index + 1, return [
item.group, index + 1,
item.parameter, item.group,
item.company, item.parameter,
item.description, item.company,
item.orders, item.description,
item.value, item.orders,
item.min_value, item.value,
item.max_value, item.min_value,
item.start_date, item.max_value,
item.end_date, item.start_date,
item.error, item.end_date,
] item.error,
}) ]
let columns = [ })
"Data", let columns = [
{ "Data",
name: "Group", {
options: { name: "Group",
customBodyRender: (val, tableMeta) => { options: {
let check = null customBodyRender: (val, tableMeta) => {
if (tableMeta.rowData[11] != null) { let check = null
check = tableMeta.rowData[11].findIndex((val) => val.field.includes('group')) if (tableMeta.rowData[11] != null) {
if (check > -1) { check = tableMeta.rowData[11].findIndex((val) => val.field.includes('group'))
this.setState({ buttonError: true }) if (check > -1) {
this.setState({ buttonError: true })
}
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[11] != null && check > -1 ?
{tableMeta.rowData[11] != null && check > -1 ? <a data-tip={tableMeta.rowData[11][check].message} data-for="group">
<a data-tip={tableMeta.rowData[11][check].message} data-for="group"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="group" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="group" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Parameter",
name: "Parameter", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[11] != null) {
if (tableMeta.rowData[11] != null) { check = tableMeta.rowData[11].findIndex((val) => val.field.includes('parameter'))
check = tableMeta.rowData[11].findIndex((val) => val.field.includes('parameter')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[11] != null && check > -1 ?
{tableMeta.rowData[11] != null && check > -1 ? <a data-tip={tableMeta.rowData[11][check].message} data-for="parameter">
<a data-tip={tableMeta.rowData[11][check].message} data-for="parameter"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="parameter" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="parameter" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Company",
name: "Company", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[11] != null) {
if (tableMeta.rowData[11] != null) { check = tableMeta.rowData[11].findIndex((val) => val.field.includes('company'))
check = tableMeta.rowData[11].findIndex((val) => val.field.includes('company')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[11] != null && check > -1 ?
{tableMeta.rowData[11] != null && check > -1 ? <a data-tip={tableMeta.rowData[11][check].message} data-for="company">
<a data-tip={tableMeta.rowData[11][check].message} data-for="company"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="company" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="company" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Description",
name: "Description", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[11] != null) {
if (tableMeta.rowData[11] != null) { check = tableMeta.rowData[11].findIndex((val) => val.field.includes('description'))
check = tableMeta.rowData[11].findIndex((val) => val.field.includes('description')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[11] != null && check > -1 ?
{tableMeta.rowData[11] != null && check > -1 ? <a data-tip={tableMeta.rowData[11][check].message} data-for="description">
<a data-tip={tableMeta.rowData[11][check].message} data-for="description"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="description" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="description" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Order",
name: "Order", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[11] != null) {
if (tableMeta.rowData[11] != null) { check = tableMeta.rowData[11].findIndex((val) => val.field.includes('order'))
check = tableMeta.rowData[11].findIndex((val) => val.field.includes('order')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[11] != null && check > -1 ?
{tableMeta.rowData[11] != null && check > -1 ? <a data-tip={tableMeta.rowData[11][check].message} data-for="order">
<a data-tip={tableMeta.rowData[11][check].message} data-for="order"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="order" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="order" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Value",
name: "Value", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[11] != null) {
if (tableMeta.rowData[11] != null) { check = tableMeta.rowData[11].findIndex((val) => val.field.includes('value'))
check = tableMeta.rowData[11].findIndex((val) => val.field.includes('value')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[11] != null && check > -1 ?
{tableMeta.rowData[11] != null && check > -1 ? <a data-tip={tableMeta.rowData[11][check].message} data-for="value">
<a data-tip={tableMeta.rowData[11][check].message} data-for="value"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="value" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="value" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Min Value",
name: "Min Value", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[11] != null) {
if (tableMeta.rowData[11] != null) { check = tableMeta.rowData[11].findIndex((val) => val.field.includes('min_value'))
check = tableMeta.rowData[11].findIndex((val) => val.field.includes('min_value')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[11] != null && check > -1 ?
{tableMeta.rowData[11] != null && check > -1 ? <a data-tip={tableMeta.rowData[11][check].message} data-for="min_value">
<a data-tip={tableMeta.rowData[11][check].message} data-for="min_value"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="min_value" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="min_value" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Max Value",
name: "Max Value", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[11] != null) {
if (tableMeta.rowData[11] != null) { check = tableMeta.rowData[11].findIndex((val) => val.field.includes('max_value'))
check = tableMeta.rowData[11].findIndex((val) => val.field.includes('max_value')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[11] != null && check > -1 ?
{tableMeta.rowData[11] != null && check > -1 ? <a data-tip={tableMeta.rowData[11][check].message} data-for="max_value">
<a data-tip={tableMeta.rowData[11][check].message} data-for="max_value"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="max_value" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="max_value" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Valid To",
name: "Valid To", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[11] != null) {
if (tableMeta.rowData[11] != null) { check = tableMeta.rowData[11].findIndex((val) => val.field.includes('start_date'))
check = tableMeta.rowData[11].findIndex((val) => val.field.includes('start_date')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[11] != null && check > -1 ?
{tableMeta.rowData[11] != null && check > -1 ? <a data-tip={tableMeta.rowData[11][check].message} data-for="start_date">
<a data-tip={tableMeta.rowData[11][check].message} data-for="start_date"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="start_date" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="start_date" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Valid From",
name: "Valid From", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[11] != null) {
if (tableMeta.rowData[11] != null) { check = tableMeta.rowData[11].findIndex((val) => val.field.includes('end_date'))
check = tableMeta.rowData[11].findIndex((val) => val.field.includes('end_date')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[11] != null && check > -1 ?
{tableMeta.rowData[11] != null && check > -1 ? <a data-tip={tableMeta.rowData[11][check].message} data-for="enddate">
<a data-tip={tableMeta.rowData[11][check].message} data-for="enddate"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" /> );
</div > }
); }
},
{
name: "",
options: {
display: false
} }
} }
}, ]
{
name: "",
options: {
display: false
}
}
]
console.log(dataRow); console.log(dataRow);
this.setState({ this.setState({
dataLoaded: true, dataLoaded: true,
cols: columns, cols: columns,
rows: dataRow rows: dataRow
}); });
} else {
this.setState({ dataLoaded: true, cols: [], rows: [], alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ this.setState({
alert: true, messageAlert: response.data.message, tipeAlert: 'error',
dataLoaded: true, dataLoaded: true,
cols: [], cols: [],
rows: [] rows: []
...@@ -530,6 +591,7 @@ export default class Parameter extends Component { ...@@ -530,6 +591,7 @@ export default class Parameter extends Component {
} }
} else { } else {
this.setState({ this.setState({
alert: true, messageAlert: response.problem, tipeAlert: 'error',
dataLoaded: true, dataLoaded: true,
cols: [], cols: [],
rows: [] rows: []
...@@ -545,12 +607,23 @@ export default class Parameter extends Component { ...@@ -545,12 +607,23 @@ export default class Parameter extends Component {
uploadParameter() { uploadParameter() {
api.create().uploadParameter(this.state.payload).then(response => { api.create().uploadParameter(this.state.payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status === "success") { if (response.ok) {
console.log(response) if (response.data.status === "success") {
this.getAllParameter() console.log(response)
this.setState({ visibleParameter: true, alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getAllParameter()
this.setState({ visibleParameter: true, alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
......
...@@ -7,6 +7,7 @@ import Autocomplete from '@material-ui/lab/Autocomplete'; ...@@ -7,6 +7,7 @@ import Autocomplete from '@material-ui/lab/Autocomplete';
import MuiAlert from '@material-ui/lab/Alert'; import MuiAlert from '@material-ui/lab/Alert';
import api from '../../../api'; import api from '../../../api';
import Images from '../../../assets/Images'; import Images from '../../../assets/Images';
import Constant from '../../../library/Constant';
const Alert = withStyles({ const Alert = withStyles({
})((props) => <MuiAlert elevation={6} variant="filled" {...props} />); })((props) => <MuiAlert elevation={6} variant="filled" {...props} />);
...@@ -71,23 +72,34 @@ export default class CreatePerusahaan extends Component { ...@@ -71,23 +72,34 @@ export default class CreatePerusahaan extends Component {
api.create().getDetailPerusahaan(this.props.data[1]).then(response => { api.create().getDetailPerusahaan(this.props.data[1]).then(response => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status === "success") { if (response.ok) {
this.setState({ if (response.data.status === "success") {
businessID: response.data.data.business_unit_id, this.setState({
companyID: response.data.data.company_id, businessID: response.data.data.business_unit_id,
status: response.data.data.status, companyID: response.data.data.company_id,
company: response.data.data.company_name, status: response.data.data.status,
parentID: response.data.data.parent, company: response.data.data.company_name,
parent: response.data.data.parent_name, parentID: response.data.data.parent,
startDate: response.data.data.start_date, parent: response.data.data.parent_name,
endDate: response.data.data.end_date, startDate: response.data.data.start_date,
totalReport: response.data.data.total_report, endDate: response.data.data.end_date,
created: response.data.data.created, totalReport: response.data.data.total_report,
updated: response.data.data.updated === null ? "" : response.data.data.updated created: response.data.data.created,
}, () => this.getAllUnitBisnis(), this.getCompanyActive()) updated: response.data.data.updated === null ? "" : response.data.data.updated
}, () => this.getAllUnitBisnis(), this.getCompanyActive())
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
...@@ -103,23 +115,34 @@ export default class CreatePerusahaan extends Component { ...@@ -103,23 +115,34 @@ export default class CreatePerusahaan extends Component {
api.create().getPerusahaanActive(payload).then(response => { api.create().getPerusahaanActive(payload).then(response => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
let data = response.data.data if (response.data.status == 'success') {
let perusahaanData = data.map((item) => { let data = response.data.data
return { let perusahaanData = data.map((item) => {
company_id: item.company_id, return {
company_name: item.company_name company_id: item.company_id,
} company_name: item.company_name
}) }
let index = perusahaanData.sort((a, b) => a.company_id - b.company_id).findIndex((val) => val.company_id == this.state.parentID) })
let typeProps = { let index = perusahaanData.sort((a, b) => a.company_id - b.company_id).findIndex((val) => val.company_id == this.state.parentID)
options: perusahaanData, let typeProps = {
getOptionLabel: (option) => option.company_name, options: perusahaanData,
}; getOptionLabel: (option) => option.company_name,
this.setState({ perusahaan: typeProps, perusahaanData: response.data.data, getPerusahaan: index == -1 ? null : perusahaanData[index] }) };
this.setState({ perusahaan: typeProps, perusahaanData: response.data.data, getPerusahaan: index == -1 ? null : perusahaanData[index] })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
...@@ -130,25 +153,36 @@ export default class CreatePerusahaan extends Component { ...@@ -130,25 +153,36 @@ export default class CreatePerusahaan extends Component {
getAllUnitBisnis() { getAllUnitBisnis() {
api.create().getUnitBisnisActive().then(response => { api.create().getUnitBisnisActive().then(response => {
if (response.data) { if (response.data) {
if (response.data.status === 'success') { if (response.ok) {
let data = response.data.data if (response.data.status === 'success') {
let typeData = data.map((item) => { let data = response.data.data
return { let typeData = data.map((item) => {
business_unit_id: item.business_unit_id, return {
business_unit_name: item.business_unit_name business_unit_id: item.business_unit_id,
} business_unit_name: item.business_unit_name
}) }
// console.log(typeData) })
let index = typeData.findIndex((val) => val.business_unit_id == this.state.businessID) // console.log(typeData)
console.log(index) let index = typeData.findIndex((val) => val.business_unit_id == this.state.businessID)
let typeProps = { console.log(index)
options: typeData, let typeProps = {
getOptionLabel: (option) => option.business_unit_name, options: typeData,
}; getOptionLabel: (option) => option.business_unit_name,
this.setState({ types: typeProps, typeData: response.data.data, getTypes: index == -1 ? null : typeData[index] }) };
this.setState({ types: typeProps, typeData: response.data.data, getTypes: index == -1 ? null : typeData[index] })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
......
...@@ -15,6 +15,7 @@ import ReactTooltip from 'react-tooltip'; ...@@ -15,6 +15,7 @@ import ReactTooltip from 'react-tooltip';
import MuiAlert from '@material-ui/lab/Alert'; import MuiAlert from '@material-ui/lab/Alert';
import { TextField, InputBase, Snackbar, withStyles } from "@material-ui/core"; import { TextField, InputBase, Snackbar, withStyles } from "@material-ui/core";
import PopUpFailedSave from '../../../library/PopUpFailedSave'; import PopUpFailedSave from '../../../library/PopUpFailedSave';
import Constant from '../../../library/Constant';
var ct = require("../../../library/CustomTable"); var ct = require("../../../library/CustomTable");
const getMuiTheme = () => createMuiTheme(ct.customTable()); const getMuiTheme = () => createMuiTheme(ct.customTable());
...@@ -78,159 +79,176 @@ export default class Perusahaan extends Component { ...@@ -78,159 +79,176 @@ export default class Perusahaan extends Component {
this.setState({ payload: body, buttonError: false }) this.setState({ payload: body, buttonError: false })
api.create().checkUploadPerusahaan(body).then(response => { api.create().checkUploadPerusahaan(body).then(response => {
console.log(response); console.log(response);
if (response.data.status === "success") { if (response.data) {
let dataRow = response.data.data.map((item, index) => { if (response.ok) {
return [ if (response.data.status === "success") {
index + 1, let dataRow = response.data.data.map((item, index) => {
item.company_name, return [
item.company_parent, index + 1,
item.unit_bisnis, item.company_name,
item.start_date, item.company_parent,
item.end_date, item.unit_bisnis,
item.error item.start_date,
] item.end_date,
}) item.error
let columns = [ ]
"Data Ke-", })
{ let columns = [
name: "Company Name", "Data",
options: { {
customBodyRender: (val, tableMeta) => { name: "Company Name",
let check = null options: {
if (tableMeta.rowData[6] != null) { customBodyRender: (val, tableMeta) => {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('company_name')) let check = null
if (check > -1) { if (tableMeta.rowData[6] != null) {
this.setState({ buttonError: true }) check = tableMeta.rowData[6].findIndex((val) => val.field.includes('company_name'))
if (check > -1) {
this.setState({ buttonError: true })
}
}
return (
<div style={{ display: 'flex' }}>
{tableMeta.rowData[6] != null && check > -1 ?
<a data-tip={tableMeta.rowData[6][check].message} data-for="company_name">
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
}
<ReactTooltip border={true} id="company_name" place="bottom" type="light" effect="solid" />
</div >
);
} }
} }
return ( },
<div style={{ display: 'flex' }}> {
{tableMeta.rowData[6] != null && check > -1 ? name: "Parent Company",
<a data-tip={tableMeta.rowData[6][check].message} data-for="company_name"> options: {
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> customBodyRender: (val, tableMeta) => {
</a> : let check = null
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('company_parent'))
if (check > -1) {
this.setState({ buttonError: true })
}
} }
<ReactTooltip border={true} id="company_name" place="bottom" type="light" effect="solid" /> return (
</div > <div style={{ display: 'flex' }}>
); {tableMeta.rowData[6] != null && check > -1 ?
} <a data-tip={tableMeta.rowData[6][check].message} data-for="company_parent">
} <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
}, </a> :
{ <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
name: "Parent Company", }
options: { <ReactTooltip border={true} id="company_parent" place="bottom" type="light" effect="solid" />
customBodyRender: (val, tableMeta) => { </div >
let check = null );
if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('company_parent'))
if (check > -1) {
this.setState({ buttonError: true })
} }
} }
return ( },
<div style={{ display: 'flex' }}> {
{tableMeta.rowData[6] != null && check > -1 ? name: "Unit Bisnis",
<a data-tip={tableMeta.rowData[6][check].message} data-for="company_parent"> options: {
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> customBodyRender: (val, tableMeta) => {
</a> : let check = null
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('unit_bisnis'))
if (check > -1) {
this.setState({ buttonError: true })
}
} }
<ReactTooltip border={true} id="company_parent" place="bottom" type="light" effect="solid" /> return (
</div > <div style={{ display: 'flex' }}>
); {tableMeta.rowData[6] != null && check > -1 ?
} <a data-tip={tableMeta.rowData[6][check].message} data-for="unit_bisnis">
} <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
}, </a> :
{ <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
name: "Unit Bisnis", }
options: { <ReactTooltip border={true} id="unit_bisnis" place="bottom" type="light" effect="solid" />
customBodyRender: (val, tableMeta) => { </div >
let check = null );
if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('unit_bisnis'))
if (check > -1) {
this.setState({ buttonError: true })
} }
} }
return ( },
<div style={{ display: 'flex' }}> {
{tableMeta.rowData[6] != null && check > -1 ? name: "Start Date",
<a data-tip={tableMeta.rowData[6][check].message} data-for="unit_bisnis"> options: {
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> customBodyRender: (val, tableMeta) => {
</a> : let check = null
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('start_date'))
if (check > -1) {
this.setState({ buttonError: true })
}
} }
<ReactTooltip border={true} id="unit_bisnis" place="bottom" type="light" effect="solid" /> return (
</div > <div style={{ display: 'flex' }}>
); {tableMeta.rowData[6] != null && check > -1 ?
} <a data-tip={tableMeta.rowData[6][check].message} data-for="startdate">
} <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
}, </a> :
{ <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
name: "Start Date", }
options: { <ReactTooltip border={true} id="startdate" place="bottom" type="light" effect="solid" />
customBodyRender: (val, tableMeta) => { </div >
let check = null );
if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('start_date'))
if (check > -1) {
this.setState({ buttonError: true })
} }
} }
return ( },
<div style={{ display: 'flex' }}> {
{tableMeta.rowData[6] != null && check > -1 ? name: "End Date",
<a data-tip={tableMeta.rowData[6][check].message} data-for="startdate"> options: {
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> customBodyRender: (val, tableMeta) => {
</a> : let check = null
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('end_date'))
if (check > -1) {
this.setState({ buttonError: true })
}
} }
<ReactTooltip border={true} id="startdate" place="bottom" type="light" effect="solid" /> return (
</div > <div style={{ display: 'flex' }}>
); {tableMeta.rowData[6] != null && check > -1 ?
} <a data-tip={tableMeta.rowData[6][check].message} data-for="enddate">
} <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
}, </a> :
{ <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
name: "End Date", }
options: { <ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" />
customBodyRender: (val, tableMeta) => { </div >
let check = null );
if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('end_date'))
if (check > -1) {
this.setState({ buttonError: true })
} }
} }
return ( },
<div style={{ display: 'flex' }}> {
{tableMeta.rowData[6] != null && check > -1 ? name: "",
<a data-tip={tableMeta.rowData[6][check].message} data-for="enddate"> options: {
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> display: false
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
}
<ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" />
</div >
);
} }
} ]
},
{ console.log(dataRow);
name: "", this.setState({
options: { dataLoaded: true,
display: false cols: columns,
} rows: dataRow
});
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
] } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
console.log(dataRow); }
this.setState({ } else {
dataLoaded: true, this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
cols: columns,
rows: dataRow
});
} }
console.log(response); console.log(response);
}) })
...@@ -270,14 +288,25 @@ export default class Perusahaan extends Component { ...@@ -270,14 +288,25 @@ export default class Perusahaan extends Component {
api.create().getPerusahaan().then((response) => { api.create().getPerusahaan().then((response) => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
let data = response.data.data if (response.data.status == 'success') {
let listData = data.sort((a, b) => a.company_id - b.company_id).map((item, index) => { let data = response.data.data
return [index, item.company_id, item.company_name, item.parent_name, item.business_unit_name, item.status] let listData = data.sort((a, b) => a.company_id - b.company_id).map((item, index) => {
}) return [index, item.company_id, item.company_name, item.parent_name, item.business_unit_name, item.status]
this.setState({ dataTable: listData, listData: response.data.data }) })
this.setState({ dataTable: listData, listData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error', dataTable: [] })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error', dataTable: [] }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error', dataTable: [] })
...@@ -306,14 +335,25 @@ export default class Perusahaan extends Component { ...@@ -306,14 +335,25 @@ export default class Perusahaan extends Component {
} }
api.create().searchPerusahaan(body).then(response => { api.create().searchPerusahaan(body).then(response => {
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
let data = response.data.data if (response.data.status == 'success') {
let listData = data.map((item, index) => { let data = response.data.data
return [index, item.company_id, item.company_name, item.parent_name, item.business_unit_name, item.status] let listData = data.map((item, index) => {
}) return [index, item.company_id, item.company_name, item.parent_name, item.business_unit_name, item.status]
this.setState({ dataTable: listData, listData: response.data.data }) })
this.setState({ dataTable: listData, listData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -325,11 +365,22 @@ export default class Perusahaan extends Component { ...@@ -325,11 +365,22 @@ export default class Perusahaan extends Component {
this.setState({ visibleEdit: false }) this.setState({ visibleEdit: false })
api.create().updatePerusahaan(payload).then(response => { api.create().updatePerusahaan(payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.getData() if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -341,11 +392,22 @@ export default class Perusahaan extends Component { ...@@ -341,11 +392,22 @@ export default class Perusahaan extends Component {
this.setState({ visibleCreate: false }) this.setState({ visibleCreate: false })
api.create().createPerusahaan(payload).then(response => { api.create().createPerusahaan(payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.getData() if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -387,11 +449,22 @@ export default class Perusahaan extends Component { ...@@ -387,11 +449,22 @@ export default class Perusahaan extends Component {
api.create().uploadPerusahaan(this.state.payload).then(response => { api.create().uploadPerusahaan(this.state.payload).then(response => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status == "success") { if (response.ok) {
this.getData() if (response.data.status == "success") {
this.setState({ visiblePerusahaan: true, alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ visiblePerusahaan: true, alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -637,7 +710,7 @@ export default class Perusahaan extends Component { ...@@ -637,7 +710,7 @@ export default class Perusahaan extends Component {
style={{ marginRight: 20 }} style={{ marginRight: 20 }}
> >
<div style={{ width: 102, height: 30, border: 'solid 1px #354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}> <div style={{ width: 102, height: 30, border: 'solid 1px #354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}>
<span style={{ color: '#354960', fontSize: 11 }}>Batal</span> <span style={{ color: '#354960', fontSize: 11 }}>Cancel</span>
</div> </div>
</button> </button>
<button <button
...@@ -646,7 +719,7 @@ export default class Perusahaan extends Component { ...@@ -646,7 +719,7 @@ export default class Perusahaan extends Component {
style={{}} style={{}}
> >
<div style={{ width: 102, height: 30, backgroundColor: '#354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}> <div style={{ width: 102, height: 30, backgroundColor: '#354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center' }}>
<span style={{ color: '#fff', fontSize: 11 }}>Simpan</span> <span style={{ color: '#fff', fontSize: 11 }}>Save</span>
</div> </div>
</button> </button>
</div> </div>
......
...@@ -7,6 +7,7 @@ import Nestable from 'react-nestable/dist/Nestable'; ...@@ -7,6 +7,7 @@ import Nestable from 'react-nestable/dist/Nestable';
import AddIcon from '@material-ui/icons/Add'; import AddIcon from '@material-ui/icons/Add';
import RemoveIcon from '@material-ui/icons/Remove'; import RemoveIcon from '@material-ui/icons/Remove';
import api from '../../../api'; import api from '../../../api';
import Constant from '../../../library/Constant';
const Alert = withStyles({ const Alert = withStyles({
})((props) => <MuiAlert elevation={6} variant="filled" {...props} />); })((props) => <MuiAlert elevation={6} variant="filled" {...props} />);
...@@ -55,11 +56,22 @@ export default class VisualPerusahaan extends Component { ...@@ -55,11 +56,22 @@ export default class VisualPerusahaan extends Component {
api.create().getPerusahaanHierarki().then((response) => { api.create().getPerusahaanHierarki().then((response) => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.setState({ items: response.data.data }) if (response.data.status == 'success') {
console.log(response.data.data) this.setState({ items: response.data.data })
console.log(response.data.data)
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -89,8 +101,30 @@ export default class VisualPerusahaan extends Component { ...@@ -89,8 +101,30 @@ export default class VisualPerusahaan extends Component {
"company": this.state.items "company": this.state.items
} }
api.create().saveVisualisasiPerusahaan(payload).then((response) => { api.create().saveVisualisasiPerusahaan(payload).then((response) => {
// if (response.data.status == 'ucces') { if (response.data) {
this.props.onClickClose() if (response.ok) {
if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }, () => {
setTimeout(() => {
this.props.onClickClose()
}, 1000);
})
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
}
} else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
}
// } else { // } else {
// alert(response.data.message) // alert(response.data.message)
// } // }
......
...@@ -12,6 +12,7 @@ import VisualReportItems from "./formReportItems/VisualReportItems"; ...@@ -12,6 +12,7 @@ import VisualReportItems from "./formReportItems/VisualReportItems";
import api from "../../api"; import api from "../../api";
import ReactTooltip from "react-tooltip"; import ReactTooltip from "react-tooltip";
import PopUpFailedSave from "../../library/PopUpFailedSave"; import PopUpFailedSave from "../../library/PopUpFailedSave";
import Constant from "../../library/Constant";
var ct = require("../../library/CustomTable"); var ct = require("../../library/CustomTable");
const getMuiTheme = () => createMuiTheme(ct.customTable()); const getMuiTheme = () => createMuiTheme(ct.customTable());
...@@ -65,8 +66,8 @@ export default class ReportItems extends Component { ...@@ -65,8 +66,8 @@ export default class ReportItems extends Component {
report: item[0], report: item[0],
company: item[1], company: item[1],
orders: item[2], orders: item[2],
description: item[3] === undefined ? null : item[3], description: item[3] === undefined ? "-" : item[3],
parent: item[4] === undefined ? null : item[4], parent: item[4] === undefined ? 0 : item[4],
uom: item[5] === undefined ? null : item[5], uom: item[5] === undefined ? null : item[5],
weight: item[6] === undefined ? "" : item[6], weight: item[6] === undefined ? "" : item[6],
type_report: item[7], type_report: item[7],
...@@ -85,368 +86,385 @@ export default class ReportItems extends Component { ...@@ -85,368 +86,385 @@ export default class ReportItems extends Component {
this.setState({ payload: body, buttonError: false }) this.setState({ payload: body, buttonError: false })
api.create().checkUploadReportItems(body).then(response => { api.create().checkUploadReportItems(body).then(response => {
console.log(response) console.log(response)
if (response.data.status === "success") { if (response.data) {
let dataRow = response.data.data.map((item, index) => { if (response.ok) {
return [ if (response.data.status === "success") {
index + 1, let dataRow = response.data.data.map((item, index) => {
item.report, return [
item.company, index + 1,
item.orders, item.report,
item.description, item.company,
item.parent, item.orders,
item.uom, item.description,
item.weight, item.parent,
item.type_report, item.uom,
item.formula, item.weight,
item.condition_it_should_be, item.type_report,
item.condition_if_wrong, item.formula,
item.start_date, item.condition_it_should_be,
item.end_date, item.condition_if_wrong,
item.error item.start_date,
] item.end_date,
}) item.error
let columns = [ ]
"Data", })
{ let columns = [
name: "Report Type", "Data",
options: { {
customBodyRender: (val, tableMeta) => { name: "Report Type",
let check = null options: {
if (tableMeta.rowData[14] != null) { customBodyRender: (val, tableMeta) => {
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('report')) let check = null
if (check > -1) { if (tableMeta.rowData[14] != null) {
this.setState({ buttonError: true }) check = tableMeta.rowData[14].findIndex((val) => val.field.includes('report'))
if (check > -1) {
this.setState({ buttonError: true })
}
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="reportname">
<a data-tip={tableMeta.rowData[14][check].message} data-for="reportname"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="reportname" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="reportname" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Company Name",
name: "Company Name", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('company'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('company')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="companyname">
<a data-tip={tableMeta.rowData[14][check].message} data-for="companyname"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="companyname" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="companyname" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Order",
name: "Order", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('orders'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('orders')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="order">
<a data-tip={tableMeta.rowData[14][check].message} data-for="order"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="order" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="order" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Description",
name: "Description", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('description'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('description')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="desc">
<a data-tip={tableMeta.rowData[14][check].message} data-for="desc"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="desc" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="desc" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Parent ID",
name: "Parent ID", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('parent'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('parent')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="parents">
<a data-tip={tableMeta.rowData[14][check].message} data-for="parents"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="parents" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="parents" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "UOM",
name: "UOM", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('uom'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('uom')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="uoms">
<a data-tip={tableMeta.rowData[14][check].message} data-for="uoms"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="uoms" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="uoms" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Weight",
name: "Weight", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('weight'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('weight')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="weights">
<a data-tip={tableMeta.rowData[14][check].message} data-for="weights"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="weights" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="weights" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Data Type",
name: "Data Type", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('type_report'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('type_report')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="datatype">
<a data-tip={tableMeta.rowData[14][check].message} data-for="datatype"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="datatype" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="datatype" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Formula",
name: "Formula", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('formula'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('formula')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="formulas">
<a data-tip={tableMeta.rowData[14][check].message} data-for="formulas"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="formulas" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="formulas" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "True Value",
name: "True Value", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('condition_it_should_be'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('condition_it_should_be')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="values">
<a data-tip={tableMeta.rowData[14][check].message} data-for="values"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="values" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="values" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "False Condition",
name: "False Condition", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('condition_if_wrong'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('condition_if_wrong')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="conditions">
<a data-tip={tableMeta.rowData[14][check].message} data-for="conditions"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="conditions" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="conditions" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Valid From",
name: "Valid From", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('start_date'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('start_date')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="startdate">
<a data-tip={tableMeta.rowData[14][check].message} data-for="startdate"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="startdate" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="startdate" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Valid To",
name: "Valid To", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[14] != null) {
if (tableMeta.rowData[14] != null) { check = tableMeta.rowData[14].findIndex((val) => val.field.includes('end_date'))
check = tableMeta.rowData[14].findIndex((val) => val.field.includes('end_date')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[14] != null && check > -1 ?
{tableMeta.rowData[14] != null && check > -1 ? <a data-tip={tableMeta.rowData[14][check].message} data-for="enddate">
<a data-tip={tableMeta.rowData[14][check].message} data-for="enddate"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" /> );
</div > }
); }
},
{
name: "",
options: {
display: false
} }
} }
}, ]
{
name: "",
options: {
display: false
}
}
]
console.log(dataRow); console.log(dataRow);
this.setState({ this.setState({
dataLoaded: true, dataLoaded: true,
cols: columns, cols: columns,
rows: dataRow rows: dataRow
}); });
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
}
console.log(response); console.log(response);
}) })
} }
...@@ -482,14 +500,25 @@ export default class ReportItems extends Component { ...@@ -482,14 +500,25 @@ export default class ReportItems extends Component {
api.create().getReportItems().then((response) => { api.create().getReportItems().then((response) => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
let data = response.data.data if (response.data.status == 'success') {
let listData = data.sort((a, b) => a.item_report_id - b.item_report_id).map((item, index) => { let data = response.data.data
return [index, item.item_report_id, item.report_name, item.company_name, item.order, item.description, item.parent, item.uom, item.weight, item.type_item_report_name, item.status] let listData = data.sort((a, b) => a.item_report_id - b.item_report_id).map((item, index) => {
}) return [index, item.item_report_id, item.report_name, item.company_name, item.order, item.description, item.parent, item.uom, item.weight, item.type_item_report_name, item.status]
this.setState({ dataTable: listData, listData: response.data.data }) })
this.setState({ dataTable: listData, listData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -518,14 +547,25 @@ export default class ReportItems extends Component { ...@@ -518,14 +547,25 @@ export default class ReportItems extends Component {
api.create().searchReportItems(body).then(response => { api.create().searchReportItems(body).then(response => {
// console.log(response.data); // console.log(response.data);
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
let data = response.data.data if (response.data.status == 'success') {
let listData = data.map((item, index) => { let data = response.data.data
return [index, item.item_report_id, item.report_name, item.company_name, item.order, item.description, item.parent, item.uom, item.weight, item.type_item_report_name, item.status] let listData = data.map((item, index) => {
}) return [index, item.item_report_id, item.report_name, item.company_name, item.order, item.description, item.parent, item.uom, item.weight, item.type_item_report_name, item.status]
this.setState({ dataTable: listData, listData: response.data.data }) })
this.setState({ dataTable: listData, listData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -537,11 +577,22 @@ export default class ReportItems extends Component { ...@@ -537,11 +577,22 @@ export default class ReportItems extends Component {
this.setState({ add: false }) this.setState({ add: false })
api.create().createReportItems(payload).then(response => { api.create().createReportItems(payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.getData() if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -583,11 +634,22 @@ export default class ReportItems extends Component { ...@@ -583,11 +634,22 @@ export default class ReportItems extends Component {
this.setState({ edit: false }) this.setState({ edit: false })
api.create().updateReportItems(payload).then(response => { api.create().updateReportItems(payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.getData() if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -598,12 +660,23 @@ export default class ReportItems extends Component { ...@@ -598,12 +660,23 @@ export default class ReportItems extends Component {
uploadReportItems() { uploadReportItems() {
api.create().uploadReportItems(this.state.payload).then(response => { api.create().uploadReportItems(this.state.payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status === "success") { if (response.ok) {
// alert(response.data.message) if (response.data.status === "success") {
this.getData() // alert(response.data.message)
this.setState({ itemReport: true, alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ itemReport: true, alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
......
...@@ -13,6 +13,7 @@ import { ExcelRenderer } from 'react-excel-renderer'; ...@@ -13,6 +13,7 @@ import { ExcelRenderer } from 'react-excel-renderer';
import api from "../../api"; import api from "../../api";
import { isThisSecond } from "date-fns"; import { isThisSecond } from "date-fns";
import PopUpFailedSave from "../../library/PopUpFailedSave"; import PopUpFailedSave from "../../library/PopUpFailedSave";
import Constant from "../../library/Constant";
var ct = require("../../library/CustomTable"); var ct = require("../../library/CustomTable");
const getMuiTheme = () => createMuiTheme(ct.customTable()); const getMuiTheme = () => createMuiTheme(ct.customTable());
...@@ -77,112 +78,125 @@ export default class UnitBisnis extends Component { ...@@ -77,112 +78,125 @@ export default class UnitBisnis extends Component {
console.log(response) console.log(response)
let dataRow = [] let dataRow = []
if (response.data) { if (response.data) {
if (response.data.status === "success") { if (response.ok) {
dataRow = response.data.data.map((item, index) => { if (response.data.status === "success") {
return [ dataRow = response.data.data.map((item, index) => {
index + 1, return [
item.business_unit_name, index + 1,
item.start_date, item.business_unit_name,
item.end_date, item.start_date,
item.error item.end_date,
] item.error
}) ]
let columns = [ })
"Data", let columns = [
{ "Data",
name: "Business Unit", {
options: { name: "Business Unit",
customBodyRender: (val, tableMeta) => { options: {
let check = null customBodyRender: (val, tableMeta) => {
if (tableMeta.rowData[4] != null) { let check = null
check = tableMeta.rowData[4].findIndex((val) => val.field.includes('business_unit_name')) if (tableMeta.rowData[4] != null) {
if (check > -1) { check = tableMeta.rowData[4].findIndex((val) => val.field.includes('business_unit_name'))
this.setState({ buttonError: true }) if (check > -1) {
this.setState({ buttonError: true })
}
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[4] != null && check > -1 ?
{tableMeta.rowData[4] != null && check > -1 ? <a data-tip={tableMeta.rowData[4][check].message} data-for="unitbisnis">
<a data-tip={tableMeta.rowData[4][check].message} data-for="unitbisnis"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="unitbisnis" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="unitbisnis" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Valid From",
name: "Valid From", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[4] != null) {
if (tableMeta.rowData[4] != null) { check = tableMeta.rowData[4].findIndex((val) => val.field.includes('start_date'))
check = tableMeta.rowData[4].findIndex((val) => val.field.includes('start_date')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[4] != null && check > -1 ?
{tableMeta.rowData[4] != null && check > -1 ? <a data-tip={tableMeta.rowData[4][check].message} data-for="startdate">
<a data-tip={tableMeta.rowData[4][check].message} data-for="startdate"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="startdate" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="startdate" place="bottom" type="light" effect="solid" /> );
</div > }
);
} }
} },
}, {
{ name: "Valid To",
name: "Valid To", options: {
options: { customBodyRender: (val, tableMeta) => {
customBodyRender: (val, tableMeta) => { let check = null
let check = null if (tableMeta.rowData[4] != null) {
if (tableMeta.rowData[4] != null) { check = tableMeta.rowData[4].findIndex((val) => val.field.includes('end_date'))
check = tableMeta.rowData[4].findIndex((val) => val.field.includes('end_date')) if (check > -1) {
if (check > -1) { this.setState({ buttonError: true })
this.setState({ buttonError: true }) }
} }
} return (
return ( <div style={{ display: 'flex' }}>
<div style={{ display: 'flex' }}> {tableMeta.rowData[4] != null && check > -1 ?
{tableMeta.rowData[4] != null && check > -1 ? <a data-tip={tableMeta.rowData[4][check].message} data-for="enddate">
<a data-tip={tableMeta.rowData[4][check].message} data-for="enddate"> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" />
} </div >
<ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" /> );
</div > }
); }
},
{
name: "",
options: {
display: false
} }
} }
}, ]
{
name: "",
options: {
display: false
}
}
]
console.log(dataRow); console.log(dataRow);
this.setState({ this.setState({
dataLoaded: true, dataLoaded: true,
cols: columns, cols: columns,
rows: dataRow rows: dataRow
}); });
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ this.setState({
dataLoaded: false, dataLoaded: false,
rows: [] alert: true, messageAlert: response.problem, tipeAlert: 'error'
}); });
} }
}) })
...@@ -214,6 +228,8 @@ export default class UnitBisnis extends Component { ...@@ -214,6 +228,8 @@ export default class UnitBisnis extends Component {
load: true load: true
}) })
} }
} else {
this.setState({ load: true })
} }
}) })
} }
...@@ -222,17 +238,28 @@ export default class UnitBisnis extends Component { ...@@ -222,17 +238,28 @@ export default class UnitBisnis extends Component {
api.create().getUnitBisnis().then((response) => { api.create().getUnitBisnis().then((response) => {
// console.log(response) // console.log(response)
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
let data = response.data.data if (response.data.status == 'success') {
let listData = data.sort((a, b) => a.business_unit_id - b.business_unit_id).map((item, index) => { let data = response.data.data
return [index, item.business_unit_id, item.business_unit_name, item.status] let listData = data.sort((a, b) => a.business_unit_id - b.business_unit_id).map((item, index) => {
}) return [index, item.business_unit_id, item.business_unit_name, item.status]
this.setState({ dataTable: listData, listData: response.data.data }) })
this.setState({ dataTable: listData, listData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error', dataTable: [] }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
...@@ -259,14 +286,25 @@ export default class UnitBisnis extends Component { ...@@ -259,14 +286,25 @@ export default class UnitBisnis extends Component {
api.create().searchUnitBisnis(body).then(response => { api.create().searchUnitBisnis(body).then(response => {
// console.log(response.data); // console.log(response.data);
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
let data = response.data.data if (response.data.status == 'success') {
let listData = data.map((item, index) => { let data = response.data.data
return [index, item.business_unit_id, item.business_unit_name, item.status] let listData = data.map((item, index) => {
}) return [index, item.business_unit_id, item.business_unit_name, item.status]
this.setState({ dataTable: listData, listData: response.data.data }) })
this.setState({ dataTable: listData, listData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -278,11 +316,22 @@ export default class UnitBisnis extends Component { ...@@ -278,11 +316,22 @@ export default class UnitBisnis extends Component {
this.setState({ visibleEdit: false }) this.setState({ visibleEdit: false })
api.create().updateUnitBisnis(payload).then(response => { api.create().updateUnitBisnis(payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.getData() if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -295,11 +344,22 @@ export default class UnitBisnis extends Component { ...@@ -295,11 +344,22 @@ export default class UnitBisnis extends Component {
this.setState({ visibleCreate: false }) this.setState({ visibleCreate: false })
api.create().createUnitBisnis(payload).then(response => { api.create().createUnitBisnis(payload).then(response => {
if (response.data) { if (response.data) {
if (response.data.status == 'success') { if (response.ok) {
this.getData() if (response.data.status == 'success') {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -341,11 +401,22 @@ export default class UnitBisnis extends Component { ...@@ -341,11 +401,22 @@ export default class UnitBisnis extends Component {
api.create().uploadUnitBisnis(this.state.payload).then(response => { api.create().uploadUnitBisnis(this.state.payload).then(response => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status === "success") { if (response.ok) {
this.getData() if (response.data.status === "success") {
this.setState({ visibleUnitBisnis: true, alert: true, messageAlert: response.data.message, tipeAlert: 'success' }) this.getData()
this.setState({ visibleUnitBisnis: true, alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
......
...@@ -8,6 +8,7 @@ import format from "date-fns/format"; ...@@ -8,6 +8,7 @@ import format from "date-fns/format";
import { DatePicker } from '@material-ui/pickers'; import { DatePicker } from '@material-ui/pickers';
import Images from '../../../assets/Images'; import Images from '../../../assets/Images';
import MuiAlert from '@material-ui/lab/Alert'; import MuiAlert from '@material-ui/lab/Alert';
import Constant from '../../../library/Constant';
const Alert = withStyles({ const Alert = withStyles({
})((props) => <MuiAlert elevation={6} variant="filled" {...props} />); })((props) => <MuiAlert elevation={6} variant="filled" {...props} />);
...@@ -204,23 +205,33 @@ export default class CreateReportItems extends Component { ...@@ -204,23 +205,33 @@ export default class CreateReportItems extends Component {
api.create().getInputType().then((response) => { api.create().getInputType().then((response) => {
// console.log(response.data) // console.log(response.data)
if(response.data) { if(response.data) {
if (response.pk) {
if (response.data.status === 'success') { if (response.data.status === 'success') {
let data = response.data.data let data = response.data.data
let inputData = data.map((item) => { let inputData = data.map((item) => {
return { return {
type_item_report_id: item.type_item_report_id, type_item_report_id: item.type_item_report_id,
type_item_report_name: item.type_item_report_name type_item_report_name: item.type_item_report_name
} }
}) })
let defaultProps = { let defaultProps = {
options: inputData, options: inputData,
getOptionLabel: (option) => titleCase(option.type_item_report_name), getOptionLabel: (option) => titleCase(option.type_item_report_name),
}; };
this.setState({ listInputType: defaultProps, inputData: response.data.data }) this.setState({ listInputType: defaultProps, inputData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
// alert(response.data.message)
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
// alert(response.data.message)
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -232,26 +243,37 @@ export default class CreateReportItems extends Component { ...@@ -232,26 +243,37 @@ export default class CreateReportItems extends Component {
api.create().getPerusahaanActive().then((response) => { api.create().getPerusahaanActive().then((response) => {
// console.log(response) // console.log(response)
if (response.data) { if (response.data) {
if (response.data.status === 'success') { if (response.ok) {
let data = response.data.data if (response.data.status === 'success') {
let companyData = data.map((item) => { let data = response.data.data
return { let companyData = data.map((item) => {
company_id: item.company_id, return {
company_name: item.company_name company_id: item.company_id,
} company_name: item.company_name
}) }
companyData.push({ })
company_id: 0, companyData.push({
company_name: 'Default' company_id: 0,
}) company_name: 'Default'
let typeProps = { })
options: companyData.sort((a, b) => a.company_id - b.company_id), let typeProps = {
getOptionLabel: (option) => option.company_name, options: companyData.sort((a, b) => a.company_id - b.company_id),
}; getOptionLabel: (option) => option.company_name,
this.setState({ listCompany: typeProps, companyData: response.data.data }) };
this.setState({ listCompany: typeProps, companyData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
// alert(response.data.message)
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
// alert(response.data.message)
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -263,22 +285,33 @@ export default class CreateReportItems extends Component { ...@@ -263,22 +285,33 @@ export default class CreateReportItems extends Component {
api.create().getReportType().then((response) => { api.create().getReportType().then((response) => {
// console.log(response) // console.log(response)
if (response.data) { if (response.data) {
if (response.data.status === 'success') { if (response.ok) {
let data = response.data.data if (response.data.status === 'success') {
let reportTypeData = data.map((item) => { let data = response.data.data
return { let reportTypeData = data.map((item) => {
report_id: item.report_id, return {
report_name: item.report_name, report_id: item.report_id,
} report_name: item.report_name,
}) }
let defaultProps = { })
options: reportTypeData, let defaultProps = {
getOptionLabel: (option) => titleCase(option.report_name), options: reportTypeData,
}; getOptionLabel: (option) => titleCase(option.report_name),
this.setState({ listReportType: defaultProps, reportTypeData: response.data.data }) };
this.setState({ listReportType: defaultProps, reportTypeData: response.data.data })
} else {
// alert(response.data.message)
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
// alert(response.data.message) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -295,23 +328,33 @@ export default class CreateReportItems extends Component { ...@@ -295,23 +328,33 @@ export default class CreateReportItems extends Component {
api.create().getReportParent(payload).then((response) => { api.create().getReportParent(payload).then((response) => {
// console.log(response) // console.log(response)
if (response.data) { if (response.data) {
if (response.ok) {
if (response.data.status === 'success') { if (response.data.status === 'success') {
let data = response.data.data let data = response.data.data
let parentData = data.map((item) => { let parentData = data.map((item) => {
return { return {
item_report_id: item.item_report_id, item_report_id: item.item_report_id,
description: item.description description: item.description
} }
}) })
let defaultProps = { let defaultProps = {
options: parentData, options: parentData,
getOptionLabel: (option) => titleCase(option.description), getOptionLabel: (option) => titleCase(option.description),
}; };
this.setState({ listParent: defaultProps, parentData: response.data.data }) this.setState({ listParent: defaultProps, parentData: response.data.data })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
// alert(response.data.message)
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
// alert(response.data.message)
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -830,14 +873,14 @@ export default class CreateReportItems extends Component { ...@@ -830,14 +873,14 @@ export default class CreateReportItems extends Component {
</div> </div>
</div> </div>
<div className="margin-top-10px" style={{ padding: 20}}> <div className="margin-top-10px" style={{ paddingTop: 10, paddingBottom: 30, paddingRight: 30, paddingLeft: 30}}>
<div style={{ display: 'flex' }}> <div style={{ display: 'flex' }}>
<Typography style={{ fontSize: 11, width: '13%' }}>Created By</Typography> <Typography style={{ fontSize: 11, width: '13%' }}>Created By :</Typography>
<Typography style={{ fontSize: 11 }}>: </Typography> {/* <Typography style={{ fontSize: 11 }}>: </Typography> */}
</div> </div>
<div style={{ display: 'flex' }}> <div style={{ display: 'flex' }}>
<Typography style={{ fontSize: 11, width: '13%' }}>Updated By</Typography> <Typography style={{ fontSize: 11, width: '13%' }}>Updated By :</Typography>
<Typography style={{ fontSize: 11 }}>: </Typography> {/* <Typography style={{ fontSize: 11 }}>: </Typography> */}
</div> </div>
</div> </div>
......
...@@ -8,6 +8,7 @@ import api from '../../../api'; ...@@ -8,6 +8,7 @@ import api from '../../../api';
import * as R from 'ramda' import * as R from 'ramda'
import { titleCase } from '../../../library/Utils'; import { titleCase } from '../../../library/Utils';
import Images from '../../../assets/Images'; import Images from '../../../assets/Images';
import Constant from '../../../library/Constant';
const Alert = withStyles({ const Alert = withStyles({
})((props) => <MuiAlert elevation={6} variant="filled" {...props} />); })((props) => <MuiAlert elevation={6} variant="filled" {...props} />);
...@@ -178,17 +179,28 @@ export default class EditReportItems extends Component { ...@@ -178,17 +179,28 @@ export default class EditReportItems extends Component {
getDetailReportItems() { getDetailReportItems() {
api.create().getDetailReportItems(this.props.data[1]).then((response) => { api.create().getDetailReportItems(this.props.data[1]).then((response) => {
if (response.data) { if (response.data) {
if (response.data.status === 'success') { if (response.ok) {
let data = response.data.data if (response.data.status === 'success') {
this.setState({ let data = response.data.data
tempData: response.data.data, this.setState({
getCompanyID: data.company_id tempData: response.data.data,
}, () => this.getInputType(), getCompanyID: data.company_id
this.getPerusahaan(), }, () => this.getInputType(),
this.getReportType(),) this.getPerusahaan(),
console.log(response.data.data) this.getReportType(),)
console.log(response.data.data)
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -200,23 +212,34 @@ export default class EditReportItems extends Component { ...@@ -200,23 +212,34 @@ export default class EditReportItems extends Component {
api.create().getInputType().then((response) => { api.create().getInputType().then((response) => {
// console.log(response) // console.log(response)
if (response.data) { if (response.data) {
if (response.data.status === 'success') { if (response.ok) {
let data = response.data.data if (response.data.status === 'success') {
let inputData = data.map((item) => { let data = response.data.data
return { let inputData = data.map((item) => {
type_item_report_id: item.type_item_report_id, return {
type_item_report_name: item.type_item_report_name type_item_report_id: item.type_item_report_id,
} type_item_report_name: item.type_item_report_name
}) }
let defaultProps = { })
options: inputData, let defaultProps = {
getOptionLabel: (option) => titleCase(option.type_item_report_name), options: inputData,
}; getOptionLabel: (option) => titleCase(option.type_item_report_name),
};
let index = inputData.findIndex((val) => val.type_item_report_id === this.state.tempData.type_item_report_id) let index = inputData.findIndex((val) => val.type_item_report_id === this.state.tempData.type_item_report_id)
this.setState({ listInputType: defaultProps, InputType: index === -1 ? null : inputData[index] }) this.setState({ listInputType: defaultProps, InputType: index === -1 ? null : inputData[index] })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -228,27 +251,38 @@ export default class EditReportItems extends Component { ...@@ -228,27 +251,38 @@ export default class EditReportItems extends Component {
api.create().getPerusahaanActive().then((response) => { api.create().getPerusahaanActive().then((response) => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status === 'success') { if (response.ok) {
let data = response.data.data if (response.data.status === 'success') {
let companyData = data.map((item) => { let data = response.data.data
return { let companyData = data.map((item) => {
company_id: item.company_id, return {
company_name: item.company_name company_id: item.company_id,
} company_name: item.company_name
}) }
companyData.push({ })
company_id: 0, companyData.push({
company_name: 'Default' company_id: 0,
}) company_name: 'Default'
let index = companyData.sort((a, b) => a.company_id - b.company_id).findIndex((val) => val.company_id == this.state.getCompanyID) })
let defaultProps = { let index = companyData.sort((a, b) => a.company_id - b.company_id).findIndex((val) => val.company_id == this.state.getCompanyID)
options: companyData, let defaultProps = {
getOptionLabel: (option) => option.company_name, options: companyData,
}; getOptionLabel: (option) => option.company_name,
// let index = companyData.findIndex((val) => val.company_id === this.state.tempData.company_id) };
this.setState({ listCompany: defaultProps, companyData: response.data.data, company: index === -1 ? null : companyData[index], msgErrorPerusahaan: index === -1 ? 'Company has been Inactive.' : "", errorPerusahaan: index === -1 ? true : false }, () => this.getParent()) // let index = companyData.findIndex((val) => val.company_id === this.state.tempData.company_id)
this.setState({ listCompany: defaultProps, companyData: response.data.data, company: index === -1 ? null : companyData[index], msgErrorPerusahaan: index === -1 ? 'Company has been Inactive.' : "", errorPerusahaan: index === -1 ? true : false }, () => this.getParent())
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -260,23 +294,34 @@ export default class EditReportItems extends Component { ...@@ -260,23 +294,34 @@ export default class EditReportItems extends Component {
api.create().getReportType().then((response) => { api.create().getReportType().then((response) => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status === 'success') { if (response.ok) {
let data = response.data.data if (response.data.status === 'success') {
let reportTypeData = data.map((item) => { let data = response.data.data
return { let reportTypeData = data.map((item) => {
report_id: item.report_id, return {
report_name: item.report_name, report_id: item.report_id,
} report_name: item.report_name,
}) }
let defaultProps = { })
options: reportTypeData, let defaultProps = {
getOptionLabel: (option) => titleCase(option.report_name), options: reportTypeData,
}; getOptionLabel: (option) => titleCase(option.report_name),
};
let index = reportTypeData.findIndex((val) => val.report_id === this.state.tempData.report_id) let index = reportTypeData.findIndex((val) => val.report_id === this.state.tempData.report_id)
this.setState({ listReportType: defaultProps, reportType: index === -1 ? null : reportTypeData[index] }, () => this.getParent()) this.setState({ listReportType: defaultProps, reportType: index === -1 ? null : reportTypeData[index] }, () => this.getParent())
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -294,31 +339,42 @@ export default class EditReportItems extends Component { ...@@ -294,31 +339,42 @@ export default class EditReportItems extends Component {
api.create().getReportParent(payload).then((response) => { api.create().getReportParent(payload).then((response) => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status === 'success') { if (response.ok) {
let data = response.data.data if (response.data.status === 'success') {
let currentIndex = null let data = response.data.data
let parentData = data.map((item, index) => { let currentIndex = null
if (this.state.tempData.item_report_id !== item.item_report_id) { let parentData = data.map((item, index) => {
return { if (this.state.tempData.item_report_id !== item.item_report_id) {
item_report_id: item.item_report_id, return {
description: item.description item_report_id: item.item_report_id,
description: item.description
}
} else {
currentIndex = index
} }
} else { })
currentIndex = index if (currentIndex !== null) {
parentData.splice(currentIndex, 1)
} }
}) console.log(parentData)
if (currentIndex !== null) { let defaultProps = {
parentData.splice(currentIndex, 1) options: parentData,
getOptionLabel: (option) => titleCase(option.description),
};
let index = parentData.findIndex((val) => val.item_report_id === this.state.tempData.parent)
this.setState({ listParent: defaultProps, parent: index == -1 ? null : parentData[index] })
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
console.log(parentData)
let defaultProps = {
options: parentData,
getOptionLabel: (option) => titleCase(option.description),
};
let index = parentData.findIndex((val) => val.item_report_id === this.state.tempData.parent)
this.setState({ listParent: defaultProps, parent: index == -1 ? null : parentData[index] })
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
...@@ -796,13 +852,13 @@ export default class EditReportItems extends Component { ...@@ -796,13 +852,13 @@ export default class EditReportItems extends Component {
</div> </div>
</div> </div>
</div> </div>
<div className="margin-top-10px" style={{ padding: 20}}> <div className="margin-top-10px" style={{ paddingTop: 10, paddingBottom: 30, paddingRight: 30, paddingLeft: 30}}>
<div style={{ display: 'flex' }}> <div style={{ display: 'flex' }}>
<Typography style={{ fontSize: 11, width: '13%' }}>Created By</Typography> <Typography style={{ fontSize: 11, width: '12%' }}>Created By</Typography>
<Typography style={{ fontSize: 11 }}>: {this.state.tempData === null ? "" : this.state.tempData.created}</Typography> <Typography style={{ fontSize: 11 }}>: {this.state.tempData === null ? "" : this.state.tempData.created}</Typography>
</div> </div>
<div style={{ display: 'flex' }}> <div style={{ display: 'flex' }}>
<Typography style={{ fontSize: 11, width: '13%' }}>Updated By</Typography> <Typography style={{ fontSize: 11, width: '12%' }}>Updated By</Typography>
<Typography style={{ fontSize: 11 }}>: {this.state.tempData === null ? "" : this.state.tempData.updated}</Typography> <Typography style={{ fontSize: 11 }}>: {this.state.tempData === null ? "" : this.state.tempData.updated}</Typography>
</div> </div>
</div> </div>
......
...@@ -9,6 +9,7 @@ import api from '../../../api'; ...@@ -9,6 +9,7 @@ import api from '../../../api';
import { titleCase } from '../../../library/Utils'; import { titleCase } from '../../../library/Utils';
import Autocomplete from '@material-ui/lab/Autocomplete'; import Autocomplete from '@material-ui/lab/Autocomplete';
import MuiAlert from '@material-ui/lab/Alert'; import MuiAlert from '@material-ui/lab/Alert';
import Constant from '../../../library/Constant';
const useStyles = makeStyles((theme) => ({ const useStyles = makeStyles((theme) => ({
root: { root: {
...@@ -94,7 +95,14 @@ export default class VisualReportItems extends Component { ...@@ -94,7 +95,14 @@ export default class VisualReportItems extends Component {
this.setState({ listReport: defaultProps, report: reportData[0] }) this.setState({ listReport: defaultProps, report: reportData[0] })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -125,7 +133,14 @@ export default class VisualReportItems extends Component { ...@@ -125,7 +133,14 @@ export default class VisualReportItems extends Component {
this.getItemHierarki() this.getItemHierarki()
}) })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -212,7 +227,14 @@ export default class VisualReportItems extends Component { ...@@ -212,7 +227,14 @@ export default class VisualReportItems extends Component {
}, 1000); }, 1000);
}) })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
......
...@@ -6,6 +6,7 @@ import format from "date-fns/format"; ...@@ -6,6 +6,7 @@ import format from "date-fns/format";
import Images from '../../../assets/Images'; import Images from '../../../assets/Images';
import api from '../../../api'; import api from '../../../api';
import MuiAlert from '@material-ui/lab/Alert'; import MuiAlert from '@material-ui/lab/Alert';
import Constant from '../../../library/Constant';
const Alert = withStyles({ const Alert = withStyles({
})((props) => <MuiAlert elevation={6} variant="filled" {...props} />); })((props) => <MuiAlert elevation={6} variant="filled" {...props} />);
...@@ -59,21 +60,32 @@ export default class CreateUnitBisnis extends Component { ...@@ -59,21 +60,32 @@ export default class CreateUnitBisnis extends Component {
api.create().getDetailUnitBisnis(this.props.data[1]).then(response => { api.create().getDetailUnitBisnis(this.props.data[1]).then(response => {
console.log(response) console.log(response)
if (response.data) { if (response.data) {
if (response.data.status === "success") { if (response.ok) {
let data = response.data.data if (response.data.status === "success") {
this.setState({ let data = response.data.data
id: data.business_unit_id, this.setState({
name: data.business_unit_name, id: data.business_unit_id,
startDate: data.start_date, name: data.business_unit_name,
endDate: data.end_date, startDate: data.start_date,
status: data.status, endDate: data.end_date,
created: data.created, status: data.status,
updated: data.updated === null ? "" : data.updated created: data.created,
}) updated: data.updated === null ? "" : data.updated
} })
else { }
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }) else {
} this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
}
} else { } else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
......
...@@ -14,6 +14,7 @@ import { withStyles } from '@material-ui/core/styles'; ...@@ -14,6 +14,7 @@ import { withStyles } from '@material-ui/core/styles';
import { ExcelRenderer } from 'react-excel-renderer'; import { ExcelRenderer } from 'react-excel-renderer';
import ReactTooltip from "react-tooltip"; import ReactTooltip from "react-tooltip";
import PopUpFailedSave from "../../library/PopUpFailedSave"; import PopUpFailedSave from "../../library/PopUpFailedSave";
import Constant from "../../library/Constant";
var ct = require("../../library/CustomTable"); var ct = require("../../library/CustomTable");
const getMuiTheme = () => createMuiTheme(ct.customTable()); const getMuiTheme = () => createMuiTheme(ct.customTable());
...@@ -65,7 +66,14 @@ export default class UserRole extends Component { ...@@ -65,7 +66,14 @@ export default class UserRole extends Component {
}) })
this.setState({ listUser: listData }) this.setState({ listUser: listData })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -110,7 +118,14 @@ export default class UserRole extends Component { ...@@ -110,7 +118,14 @@ export default class UserRole extends Component {
}) })
this.setState({ listUser: listData }) this.setState({ listUser: listData })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -151,137 +166,152 @@ export default class UserRole extends Component { ...@@ -151,137 +166,152 @@ export default class UserRole extends Component {
api.create().checkUploadUser(body).then(response => { api.create().checkUploadUser(body).then(response => {
console.log(response); console.log(response);
if (response.data) { if (response.data) {
if (response.data.status === "success") { if (response.ok) {
let dataRow = response.data.data.map((item, index) => { if (response.data.status === "success") {
return [ let dataRow = response.data.data.map((item, index) => {
index + 1, return [
item.fullname, index + 1,
item.email, item.fullname,
item.role, item.email,
item.start_date, item.role,
item.end_date, item.start_date,
item.error item.end_date,
] item.error
}) ]
})
let columns = [
"Data", let columns = [
"Full Name", "Data",
{ "Full Name",
name: "Email", {
options: { name: "Email",
customBodyRender: (val, tableMeta) => { options: {
// console.log(tableMeta) customBodyRender: (val, tableMeta) => {
let check = null // console.log(tableMeta)
if (tableMeta.rowData[6] != null) { let check = null
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('email')) if (tableMeta.rowData[6] != null) {
if (check > -1) { check = tableMeta.rowData[6].findIndex((val) => val.field.includes('email'))
this.setState({ buttonError: true }) if (check > -1) {
} this.setState({ buttonError: true })
}
return (
<div style={{ display: 'flex' }}>
{tableMeta.rowData[6] != null && check > -1 ?
<a data-tip={tableMeta.rowData[6][check].message} data-for="email">
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
} }
<ReactTooltip border={true} id="email" place="bottom" type="light" effect="solid" />
</div >
);
}
}
},
{
name: "Role",
options: {
customBodyRender: (val, tableMeta) => {
let check = null
if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('role'))
if (check > -1) {
this.setState({ buttonError: true })
}
}
return (
<div style={{ display: 'flex' }}>
{tableMeta.rowData[6] != null && check > -1 ?
<a data-tip={tableMeta.rowData[6][check].message} data-for="role">
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
} }
<ReactTooltip border={true} id="role" place="bottom" type="light" effect="solid" /> return (
</div > <div style={{ display: 'flex' }}>
); {tableMeta.rowData[6] != null && check > -1 ?
} <a data-tip={tableMeta.rowData[6][check].message} data-for="email">
} <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
}, </a> :
{
name: "Valid From",
options: {
customBodyRender: (val, tableMeta) => {
let check = null
if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('start_date'))
if (check > -1) {
this.setState({ buttonError: true })
}
}
return (
<div style={{ display: 'flex' }}>
{tableMeta.rowData[6] != null && check > -1 ?
<a data-tip={tableMeta.rowData[6][check].message} data-for="startdate">
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="email" place="bottom" type="light" effect="solid" />
</div >
);
}
}
},
{
name: "Role",
options: {
customBodyRender: (val, tableMeta) => {
let check = null
if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('role'))
if (check > -1) {
this.setState({ buttonError: true })
} }
<ReactTooltip border={true} id="startdate" place="bottom" type="light" effect="solid" /> }
</div > return (
); <div style={{ display: 'flex' }}>
} {tableMeta.rowData[6] != null && check > -1 ?
} <a data-tip={tableMeta.rowData[6][check].message} data-for="role">
}, <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
{ </a> :
name: "Valid To", <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
options: { }
customBodyRender: (val, tableMeta) => { <ReactTooltip border={true} id="role" place="bottom" type="light" effect="solid" />
let check = null </div >
if (tableMeta.rowData[6] != null) { );
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('end_date'))
if (check > -1) {
this.setState({ buttonError: true })
}
} }
return ( }
<div style={{ display: 'flex' }}> },
{tableMeta.rowData[6] != null && check > -1 ? {
<a data-tip={tableMeta.rowData[6][check].message} data-for="enddate"> name: "Valid From",
options: {
customBodyRender: (val, tableMeta) => {
let check = null
if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('start_date'))
if (check > -1) {
this.setState({ buttonError: true })
}
}
return (
<div style={{ display: 'flex' }}>
{tableMeta.rowData[6] != null && check > -1 ?
<a data-tip={tableMeta.rowData[6][check].message} data-for="startdate">
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> :
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
</a> : }
<span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span> <ReactTooltip border={true} id="startdate" place="bottom" type="light" effect="solid" />
</div >
);
}
}
},
{
name: "Valid To",
options: {
customBodyRender: (val, tableMeta) => {
let check = null
if (tableMeta.rowData[6] != null) {
check = tableMeta.rowData[6].findIndex((val) => val.field.includes('end_date'))
if (check > -1) {
this.setState({ buttonError: true })
} }
<ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" /> }
</div > return (
); <div style={{ display: 'flex' }}>
} {tableMeta.rowData[6] != null && check > -1 ?
} <a data-tip={tableMeta.rowData[6][check].message} data-for="enddate">
}, <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
{ </a> :
name: "", <span style={{ color: check != null && check > -1 ? "red" : 'black' }}>{val}</span>
options: { }
display: false <ReactTooltip border={true} id="enddate" place="bottom" type="light" effect="solid" />
</div >
);
}
}
},
{
name: "",
options: {
display: false
}
} }
} ]
]
this.setState({
this.setState({ dataLoaded: true,
dataLoaded: true, cols: columns,
cols: columns, rows: dataRow
rows: dataRow });
}); } else {
} this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'warning' }, () => {
if (response.data.message.includes("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
}
} else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
}
} else {
this.setState({ alert: true, messageAlert: response.problem, tipeAlert: 'error' })
} }
}) })
} }
...@@ -327,7 +357,14 @@ export default class UserRole extends Component { ...@@ -327,7 +357,14 @@ export default class UserRole extends Component {
this.getUser() this.getUser()
this.closeEdit() this.closeEdit()
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -355,9 +392,16 @@ export default class UserRole extends Component { ...@@ -355,9 +392,16 @@ export default class UserRole extends Component {
if (response.data.status === "success") { if (response.data.status === "success") {
console.log(response) console.log(response)
this.getUser() this.getUser()
this.setState({ visibleUser: true }) this.setState({ visibleUser: true, alert: true, messageAlert: response.data.message, tipeAlert: 'success' })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
......
...@@ -11,6 +11,7 @@ import { DatePicker } from '@material-ui/pickers'; ...@@ -11,6 +11,7 @@ import { DatePicker } from '@material-ui/pickers';
import * as R from 'ramda' import * as R from 'ramda'
import Images from '../../../assets/Images'; import Images from '../../../assets/Images';
import MuiAlert from '@material-ui/lab/Alert'; import MuiAlert from '@material-ui/lab/Alert';
import Constant from '../../../library/Constant';
const CustomCheckbox = withStyles({ const CustomCheckbox = withStyles({
root: { root: {
...@@ -200,7 +201,14 @@ export default class AddUser extends Component { ...@@ -200,7 +201,14 @@ export default class AddUser extends Component {
this.props.refresh() this.props.refresh()
}, 750); }, 750);
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -235,7 +243,14 @@ export default class AddUser extends Component { ...@@ -235,7 +243,14 @@ export default class AddUser extends Component {
}; };
this.setState({ listRole: defaultProps }) this.setState({ listRole: defaultProps })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -254,7 +269,14 @@ export default class AddUser extends Component { ...@@ -254,7 +269,14 @@ export default class AddUser extends Component {
this.setState({ listCompany: response.data.data }) this.setState({ listCompany: response.data.data })
console.log(response.data.data) console.log(response.data.data)
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
......
...@@ -10,6 +10,7 @@ import AddIcon from '@material-ui/icons/Add'; ...@@ -10,6 +10,7 @@ import AddIcon from '@material-ui/icons/Add';
import * as R from 'ramda' import * as R from 'ramda'
import Images from '../../../assets/Images'; import Images from '../../../assets/Images';
import MuiAlert from '@material-ui/lab/Alert'; import MuiAlert from '@material-ui/lab/Alert';
import Constant from '../../../library/Constant';
const CustomCheckbox = withStyles({ const CustomCheckbox = withStyles({
root: { root: {
...@@ -145,7 +146,14 @@ export default class EditUser extends Component { ...@@ -145,7 +146,14 @@ export default class EditUser extends Component {
this.getRole(response.data.data.role_id)) this.getRole(response.data.data.role_id))
console.log(response.data.data) console.log(response.data.data)
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -220,7 +228,14 @@ export default class EditUser extends Component { ...@@ -220,7 +228,14 @@ export default class EditUser extends Component {
console.log(index) console.log(index)
this.setState({ listRole: defaultProps, role: index === -1 ? null : roleData[index], msgErrorRN: index === -1 ? 'Role has been inactive' : '', errorRoleName: index === -1 ? true : false }) this.setState({ listRole: defaultProps, role: index === -1 ? null : roleData[index], msgErrorRN: index === -1 ? 'Role has been inactive' : '', errorRoleName: index === -1 ? true : false })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -238,7 +253,14 @@ export default class EditUser extends Component { ...@@ -238,7 +253,14 @@ export default class EditUser extends Component {
if (response.data.status === 'success') { if (response.data.status === 'success') {
this.setState({ listCompany: response.data.data }) this.setState({ listCompany: response.data.data })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -689,7 +711,7 @@ export default class EditUser extends Component { ...@@ -689,7 +711,7 @@ export default class EditUser extends Component {
</div> </div>
</div> </div>
</div> </div>
<div style={{ flexDirection: 'column', display: 'flex', paddingLeft: 20, paddingRight: 20 }}> <div style={{ flexDirection: 'column', display: 'flex', paddingLeft: 30, paddingRight: 30 }}>
<Typography style={{ fontSize: 11 }}>{`Created By : ${this.state.tempData === null ? '' : this.state.tempData.created}`}</Typography> <Typography style={{ fontSize: 11 }}>{`Created By : ${this.state.tempData === null ? '' : this.state.tempData.created}`}</Typography>
<Typography style={{ fontSize: 11 }}>{`Updated By : ${this.state.tempData === null ? '' : this.state.tempData.updated}`}</Typography> <Typography style={{ fontSize: 11 }}>{`Updated By : ${this.state.tempData === null ? '' : this.state.tempData.updated}`}</Typography>
</div> </div>
......
...@@ -13,6 +13,7 @@ import { InputBase, Snackbar } from "@material-ui/core"; ...@@ -13,6 +13,7 @@ import { InputBase, Snackbar } from "@material-ui/core";
import ReactTooltip from "react-tooltip"; import ReactTooltip from "react-tooltip";
import MuiAlert from '@material-ui/lab/Alert'; import MuiAlert from '@material-ui/lab/Alert';
import { withStyles } from '@material-ui/core/styles'; import { withStyles } from '@material-ui/core/styles';
import Constant from "../../library/Constant";
var ct = require("../../library/CustomTable"); var ct = require("../../library/CustomTable");
const getMuiTheme = () => createMuiTheme(ct.customTable()); const getMuiTheme = () => createMuiTheme(ct.customTable());
...@@ -68,7 +69,14 @@ class UserRole extends Component { ...@@ -68,7 +69,14 @@ class UserRole extends Component {
// }) // })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -113,7 +121,14 @@ class UserRole extends Component { ...@@ -113,7 +121,14 @@ class UserRole extends Component {
}) })
this.setState({ listRole: listData }) this.setState({ listRole: listData })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
......
...@@ -9,6 +9,7 @@ import localeID from "date-fns/locale/id" ...@@ -9,6 +9,7 @@ import localeID from "date-fns/locale/id"
import * as R from 'ramda' import * as R from 'ramda'
import Images from '../../../assets/Images'; import Images from '../../../assets/Images';
import MuiAlert from '@material-ui/lab/Alert'; import MuiAlert from '@material-ui/lab/Alert';
import Constant from '../../../library/Constant';
const CustomCheckbox = withStyles({ const CustomCheckbox = withStyles({
root: { root: {
...@@ -143,7 +144,14 @@ export default class AddRole extends Component { ...@@ -143,7 +144,14 @@ export default class AddRole extends Component {
this.props.refresh() this.props.refresh()
}, 750); }, 750);
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -188,7 +196,14 @@ export default class AddRole extends Component { ...@@ -188,7 +196,14 @@ export default class AddRole extends Component {
this.setState({ application: app, setting: set, isLoad: true }, () => console.log(this.state.application)) this.setState({ application: app, setting: set, isLoad: true }, () => console.log(this.state.application))
// this.setState({ menuData: response.data.data }) // this.setState({ menuData: response.data.data })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
......
...@@ -8,6 +8,7 @@ import format from "date-fns/format"; ...@@ -8,6 +8,7 @@ import format from "date-fns/format";
import * as R from 'ramda' import * as R from 'ramda'
import Images from '../../../assets/Images'; import Images from '../../../assets/Images';
import MuiAlert from '@material-ui/lab/Alert'; import MuiAlert from '@material-ui/lab/Alert';
import Constant from '../../../library/Constant';
const CustomCheckbox = withStyles({ const CustomCheckbox = withStyles({
root: { root: {
...@@ -103,7 +104,14 @@ export default class EditRole extends Component { ...@@ -103,7 +104,14 @@ export default class EditRole extends Component {
this.setState({ tempData: response.data.data, privileges: response.data.data.privileges }) this.setState({ tempData: response.data.data, privileges: response.data.data.privileges })
console.log(response.data.data.start_date) console.log(response.data.data.start_date)
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -163,7 +171,14 @@ export default class EditRole extends Component { ...@@ -163,7 +171,14 @@ export default class EditRole extends Component {
this.props.refresh() this.props.refresh()
}, 750); }, 750);
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -208,7 +223,14 @@ export default class EditRole extends Component { ...@@ -208,7 +223,14 @@ export default class EditRole extends Component {
this.setState({ application: app, setting: set, isLoad: true }, () => console.log(this.state.application)) this.setState({ application: app, setting: set, isLoad: true }, () => console.log(this.state.application))
// this.setState({ menuData: response.data.data }) // this.setState({ menuData: response.data.data })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -507,7 +529,7 @@ export default class EditRole extends Component { ...@@ -507,7 +529,7 @@ export default class EditRole extends Component {
</div> </div>
</div> </div>
</div> </div>
<div style={{ flexDirection: 'column', display: 'flex', paddingLeft: 20, paddingRight: 20 }}> <div style={{ flexDirection: 'column', display: 'flex', paddingLeft: 30, paddingRight: 30 }}>
<Typography style={{ fontSize: 11 }}>{`Created By : ${this.state.tempData === null ? '' : (this.state.tempData.created === null ? '-' : this.state.tempData.created)}`}</Typography> <Typography style={{ fontSize: 11 }}>{`Created By : ${this.state.tempData === null ? '' : (this.state.tempData.created === null ? '-' : this.state.tempData.created)}`}</Typography>
<Typography style={{ fontSize: 11 }}>{`Updated By : ${this.state.tempData === null ? '' : (this.state.tempData.updated === null ? '-' : this.state.tempData.updated)}`}</Typography> <Typography style={{ fontSize: 11 }}>{`Updated By : ${this.state.tempData === null ? '' : (this.state.tempData.updated === null ? '-' : this.state.tempData.updated)}`}</Typography>
</div> </div>
......
...@@ -120,7 +120,14 @@ export default class Profile extends Component { ...@@ -120,7 +120,14 @@ export default class Profile extends Component {
window.location.reload(); window.location.reload();
}, 1000); }, 1000);
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -152,7 +159,14 @@ export default class Profile extends Component { ...@@ -152,7 +159,14 @@ export default class Profile extends Component {
this.setState({ company: response.data.data.company, photo: response.data.data.photo, name: response.data.data.fullname }) this.setState({ company: response.data.data.company, photo: response.data.data.photo, name: response.data.data.fullname })
console.log(response) console.log(response)
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -172,7 +186,14 @@ export default class Profile extends Component { ...@@ -172,7 +186,14 @@ export default class Profile extends Component {
this.setState({ listCompany: response.data.data }) this.setState({ listCompany: response.data.data })
console.log(response.data.data) console.log(response.data.data)
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -311,7 +332,14 @@ export default class Profile extends Component { ...@@ -311,7 +332,14 @@ export default class Profile extends Component {
}) })
}) })
} 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("Token")) {
setTimeout(() => {
localStorage.removeItem(Constant.TOKEN)
window.location.reload();
}, 1000);
}
})
} }
} else { } else {
this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' }) this.setState({ alert: true, messageAlert: response.data.message, tipeAlert: 'error' })
...@@ -499,7 +527,7 @@ export default class Profile extends Component { ...@@ -499,7 +527,7 @@ export default class Profile extends Component {
style={{}} style={{}}
> >
<div style={{ backgroundColor: '#354960', textAlign: 'center', height: 25, width: 64, borderRadius: 3 }}> <div style={{ backgroundColor: '#354960', textAlign: 'center', height: 25, width: 64, borderRadius: 3 }}>
<span style={{ color: 'white', fontSize: 11 }}>Simpan</span> <span style={{ color: 'white', fontSize: 11 }}>Save</span>
</div> </div>
</button> </button>
</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