Browse Source

Merge pull request 'update props' (#37) from dev-wahyun into staging

Reviewed-on: ibnu/generic-ospro-frontend#37
pull/1/head
farhantock 12 months ago
parent
commit
29f6f9c89b
  1. 55
      src/containers/DefaultLayout/DefaultLayout.js
  2. 8
      src/routes.js
  3. 31
      src/views/Dashboard/DashboardBOD.js
  4. 27
      src/views/Dashboard/DashboardCustomer.js
  5. 20
      src/views/Dashboard/DashboardProject.js
  6. 31
      src/views/Dashboard/DashboardProjectCarousell.js
  7. 27
      src/views/MapMonitoring/index.js
  8. 28
      src/views/Master/MasterRoles/index.js
  9. 27
      src/views/Master/ProjectExpenditure/index.js
  10. 27
      src/views/Master/ProjectFinancialHealth/index.js
  11. 27
      src/views/Master/ProjectInvoice/index.js
  12. 31
      src/views/Master/ProjectPhase/index.js
  13. 27
      src/views/Master/ProjectScheduleHealth/index.js
  14. 24
      src/views/Master/RoleProject/index.js
  15. 43
      src/views/Pages/Login/Login.js
  16. 29
      src/views/Report/k3/index.js
  17. 273
      src/views/SimproV2/CreatedProyek/index.js
  18. 29
      src/views/SimproV2/Divisi/index.js
  19. 17
      src/views/SimproV2/Gantt/GanttFrame.js
  20. 27
      src/views/SimproV2/Gantt/index.js
  21. 27
      src/views/SimproV2/ProjectType/index.js
  22. 27
      src/views/SimproV2/ResourceWorker/index.js
  23. 30
      src/views/SimproV2/Satuan/index.js

55
src/containers/DefaultLayout/DefaultLayout.js

@ -36,18 +36,34 @@ const config = {
}; };
class DefaultLayout extends Component { class DefaultLayout extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = {
role_id: localStorage.getItem('role_id'), let role_id = '', token = '', company_id = 0, menu=''
token: localStorage.getItem('token'), if (props.location.state && props.location.state.role_id) {
menu: { items: [] }, role_id = props.location.state.role_id;
routes2: routes, token = props.location.state.token;
finalRoutes: [], company_id = props.location.state.company_id;
breadrCrumbReady: false, menu = props.location.state.menu_login;
minimized: true } else {
} role_id = localStorage.getItem("role_id");
} token = localStorage.getItem("token");
company_id = localStorage.getItem('company_id');
menu = localStorage.getItem("menu_login");
}
this.state = {
role_id: role_id,
token: token,
menu: { items: [] },
routes2: routes,
finalRoutes: [],
breadrCrumbReady: false,
minimized: true,
company_id: company_id
};
}
async componentDidMount() { async componentDidMount() {
const menu = localStorage.getItem("menu_login") const menu = localStorage.getItem("menu_login")
@ -295,7 +311,20 @@ class DefaultLayout extends Component {
exact={route.exact} exact={route.exact}
name={route.name} name={route.name}
render={props => ( render={props => (
<route.component params={{ name: route.name }} {...props} /> <route.component
params={{ name: route.name }}
hierarchy={props.location.state ? props.location.state.hierarchy : localStorage.getItem("hierarchy")}
user_id={props.location.state ? props.location.state.user_id : localStorage.getItem("user_id")}
role_id={props.location.state ? props.location.state.role_id : localStorage.getItem("role_id")}
isLogin={props.location.state ? props.location.state.isLogin : localStorage.getItem("isLogin")}
company_id={props.location.state ? props.location.state.company_id : localStorage.getItem("company_id")}
role_name={props.location.state ? props.location.state.role_name : localStorage.getItem("role_name")}
all_project={props.location.state ? props.location.state.all_project : localStorage.getItem("all_project")}
token={props.location.state ? props.location.state.token : localStorage.getItem("token")}
menu_login={props.location.state ? props.location.state.menu_login : localStorage.getItem("menu_login")}
user_name={props.location.state ? props.location.state.user_name : localStorage.getItem("user_name")}
{...props}
/>
)} /> )} />
) : (null); ) : (null);
})} })}

8
src/routes.js

@ -31,6 +31,10 @@ const Presensi = React.lazy(() => import('./views/SimproV2/Presence'));
const ProjectRole = React.lazy(() => import('./views/Master/RoleProject')); const ProjectRole = React.lazy(() => import('./views/Master/RoleProject'));
const ProjectType = React.lazy(() => import('./views/SimproV2/ProjectType')); const ProjectType = React.lazy(() => import('./views/SimproV2/ProjectType'));
const ProjectPhase = React.lazy(() => import('./views/Master/ProjectPhase')); const ProjectPhase = React.lazy(() => import('./views/Master/ProjectPhase'));
const ProjectExpenditure = React.lazy(() => import('./views/Master/ProjectExpenditure'));
const ProjectFinancialHealth = React.lazy(() => import('./views/Master/ProjectFinancialHealth'));
const ProjectScheduleHealth = React.lazy(() => import('./views/Master/ProjectScheduleHealth'));
const ProjectInvoice = React.lazy(() => import('./views/Master/ProjectInvoice'));
const Proyek = React.lazy(() => import('./views/Master/Proyek')); const Proyek = React.lazy(() => import('./views/Master/Proyek'));
const RateCost = React.lazy(() => import('./views/SimproV2/RateCost')); const RateCost = React.lazy(() => import('./views/SimproV2/RateCost'));
const ResourceMaterial = React.lazy(() => import('./views/SimproV2/ResourceMaterial')); const ResourceMaterial = React.lazy(() => import('./views/SimproV2/ResourceMaterial'));
@ -82,6 +86,10 @@ const routes = [
{ path: '/project-role', exact: true, name: 'Project Role', component: ProjectRole }, { path: '/project-role', exact: true, name: 'Project Role', component: ProjectRole },
{ path: '/project-type', exact: true, name: 'Project Type', component: ProjectType }, { path: '/project-type', exact: true, name: 'Project Type', component: ProjectType },
{ path: '/project-phase', exact: true, name: 'Project Phase', component: ProjectPhase }, { path: '/project-phase', exact: true, name: 'Project Phase', component: ProjectPhase },
{ path: '/project-expenditure', exact: true, name: 'Project Expenditure', component: ProjectExpenditure },
{ path: '/project-financial-health', exact: true, name: 'Project Financial Health', component: ProjectFinancialHealth },
{ path: '/project-schedule-health', exact: true, name: 'Project Schedule Health', component: ProjectScheduleHealth },
{ path: '/project-invoice', exact: true, name: 'Project Invoice vs Cash In', component: ProjectInvoice },
{ path: '/divisi', exact: true, name: 'Divisi', component: Divisi }, { path: '/divisi', exact: true, name: 'Divisi', component: Divisi },
{ path: '/satuan', exact: true, name: 'Satuan', component: Satuan }, { path: '/satuan', exact: true, name: 'Satuan', component: Satuan },
{ path: '/config-alert', exact: true, name: 'Config Alert', component: ConfigAlert }, { path: '/config-alert', exact: true, name: 'Config Alert', component: ConfigAlert },

31
src/views/Dashboard/DashboardBOD.js

@ -15,24 +15,19 @@ import { HealthByBudget, HealthBySchedule } from './Components';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
import { Card, CardBody, CardHeader, Input } from "reactstrap"; import { Card, CardBody, CardHeader, Input } from "reactstrap";
const DashboardBOD = (props) => { const DashboardBOD = (props) => {
let role_id = '', user_id = '', isLogin = '', token = '', company_id = 0, all_project = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
company_id = props.location.state.company_id; company_id = props.company_id;
all_project = props.location.state.all_project; all_project = props.all_project;
} else { role_name = props.role_name;
role_id = localStorage.getItem("role_id"); isLogin = props.isLogin;
user_id = localStorage.getItem("user_id"); hierarchy = props.hierarchy;
token = localStorage.getItem("token"); user_name = props.user_name;
isLogin = localStorage.getItem("isLogin"); }
company_id = localStorage.getItem('company_id');
all_project = localStorage.getItem('all_project');
}
let hierarchy = [];
hierarchy.push(JSON.parse(localStorage.getItem("hierarchy")));
const HEADER = { const HEADER = {
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",

27
src/views/Dashboard/DashboardCustomer.js

@ -26,18 +26,19 @@ const center = {
} }
const DashboardCustomer = (props) => { const DashboardCustomer = (props) => {
let role_id = '', user_id = '', isLogin = '', token = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
} else { company_id = props.company_id;
role_id = localStorage.getItem("role_id"); all_project = props.all_project;
user_id = localStorage.getItem("user_id"); role_name = props.role_name;
token = localStorage.getItem("token"); isLogin = props.isLogin;
isLogin = localStorage.getItem("isLogin"); hierarchy = props.hierarchy;
} user_name = props.user_name;
}
const HEADER = { const HEADER = {
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",
@ -45,7 +46,7 @@ const DashboardCustomer = (props) => {
} }
} }
const { PROJECT_ID, GANTT_ID, SCURVE } = useParams(); const { PROJECT_ID, GANTT_ID, SCURVE } = useParams();
const URL_GANTT = `https://konstruksi-gantt.ospro.id/view-mode/index.html?base_url=${BASE_OSPRO}/api&gantt_id=${GANTT_ID}&proyek_id=${PROJECT_ID}&token=${token}&ro=1`; const URL_GANTT = `https://project-gantt.ospro.id/view-mode/index.html?base_url=${BASE_OSPRO}/api&gantt_id=${GANTT_ID}&proyek_id=${PROJECT_ID}&token=${token}&ro=1`;
const mapRef = useRef() const mapRef = useRef()
const [projectName, setProjectName] = useState(""); const [projectName, setProjectName] = useState("");
const [projectManagerName, setProjectManagerName] = useState(''); const [projectManagerName, setProjectManagerName] = useState('');

20
src/views/Dashboard/DashboardProject.js

@ -63,8 +63,22 @@ const center = {
lng: 106.816666, lng: 106.816666,
}; };
const DashboardProject = () => { const DashboardProject = (props) => {
const token = localStorage.getItem("token");
let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props && props.role_id && props.user_id) {
role_id = props.role_id;
user_id = props.user_id;
token = props.token;
isLogin = props.isLogin;
company_id = props.company_id;
all_project = props.all_project;
role_name = props.role_name;
isLogin = props.isLogin;
hierarchy = props.hierarchy;
user_name = props.user_name;
}
const HEADER = { const HEADER = {
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",
@ -72,7 +86,7 @@ const DashboardProject = () => {
}, },
}; };
const { PROJECT_ID, GANTT_ID, SCURVE } = useParams(); const { PROJECT_ID, GANTT_ID, SCURVE } = useParams();
const URL_GANTT = `https://konstruksi-gantt.ospro.id/view-mode/index.html?base_url=${BASE_OSPRO}/api&gantt_id=${GANTT_ID}&proyek_id=${PROJECT_ID}&token=${token}&ro=1`; const URL_GANTT = `https://project-gantt.ospro.id/view-mode/index.html?base_url=${BASE_OSPRO}/api&gantt_id=${GANTT_ID}&proyek_id=${PROJECT_ID}&token=${token}&ro=1`;
const mapRef = useRef(); const mapRef = useRef();
const [projectName, setProjectName] = useState(""); const [projectName, setProjectName] = useState("");
const [projectManagerName, setProjectManagerName] = useState(""); const [projectManagerName, setProjectManagerName] = useState("");

31
src/views/Dashboard/DashboardProjectCarousell.js

@ -69,16 +69,21 @@ const center = {
lng: 106.816666, lng: 106.816666,
}; };
const DashboardProject = (args) => { const DashboardProject = ({args,...props}) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '', company_id = 0, all_project = '', hierarchy = []; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
role_id = localStorage.getItem("role_id"); if (props && props.role_id && props.user_id) {
proyek_id = localStorage.getItem("proyek_id"); role_id = props.role_id;
user_id = localStorage.getItem("user_id"); user_id = props.user_id;
token = localStorage.getItem("token"); token = props.token;
isLogin = localStorage.getItem("isLogin"); isLogin = props.isLogin;
company_id = localStorage.getItem('company_id'); company_id = props.company_id;
all_project = localStorage.getItem('all_project'); all_project = props.all_project;
hierarchy.push(JSON.parse(localStorage.getItem("hierarchy"))); role_name = props.role_name;
isLogin = props.isLogin;
hierarchy = props.hierarchy;
user_name = props.user_name;
}
const HEADER = { const HEADER = {
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",
@ -231,7 +236,7 @@ const DashboardProject = (args) => {
let URL_GANTT = ""; let URL_GANTT = "";
let version_gantt = ""; let version_gantt = "";
if (item.gantt !== null) { if (item.gantt !== null) {
URL_GANTT = `http://localhost:8444/adw-gantt/view-mode/index.html?base_url=${BASE_OSPRO}/api&gantt_id=${item.gantt.id}&proyek_id=${item.gantt.proyek_id}&token=${token}&ro=1`; URL_GANTT = `https://project-gantt.ospro.id/view-mode/index.html?base_url=${BASE_OSPRO}/api&gantt_id=${item.gantt.id}&proyek_id=${item.gantt.proyek_id}&token=${token}&ro=1`;
version_gantt = item.gantt.name_version version_gantt = item.gantt.name_version
} else { } else {
URL_GANTT = ""; URL_GANTT = "";
@ -803,10 +808,10 @@ const DashboardProject = (args) => {
> >
{slides} {slides}
<div style={{ position: 'absolute', top: '95%', left: 0, zIndex: 1000 }}> <div style={{ position: 'absolute', top: '95%', left: 0, zIndex: 1000 }}>
<Button onClick={previous}><i class="fa fa-chevron-left"></i></Button> <Button onClick={previous}><i className="fa fa-chevron-left"></i></Button>
</div> </div>
<div style={{ position: 'absolute', top: '95%', right: 0, zIndex: 1000 }}> <div style={{ position: 'absolute', top: '95%', right: 0, zIndex: 1000 }}>
<Button onClick={next}><i class="fa fa-chevron-right"></i></Button> <Button onClick={next}><i className="fa fa-chevron-right"></i></Button>
</div> </div>
</Carousel > </Carousel >
</Spin> </Spin>

27
src/views/MapMonitoring/index.js

@ -28,20 +28,19 @@ import 'leaflet-control-geocoder/dist/Control.Geocoder.js'
import moment from 'moment'; import moment from 'moment';
import axios from "../../const/interceptorApi"; import axios from "../../const/interceptorApi";
const MapMonitoring = ({ ...props }) => { const MapMonitoring = ({ ...props }) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
company_id = props.company_id;
} else { all_project = props.all_project;
role_id = localStorage.getItem("role_id"); role_name = props.role_name;
proyek_id = localStorage.getItem("proyek_id"); isLogin = props.isLogin;
user_id = localStorage.getItem("user_id"); hierarchy = props.hierarchy;
token = localStorage.getItem("token"); user_name = props.user_name;
isLogin = localStorage.getItem("isLogin"); }
}
const HEADER = { const HEADER = {
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",

28
src/views/Master/MasterRoles/index.js

@ -16,21 +16,19 @@ const LENGTH_DATA = 10
class index extends Component { class index extends Component {
constructor(props) { constructor(props) {
let role_id = '', user_id = '', isLogin = '', token = '', company_id = 0, role_name = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
company_id = props.location.state.company_id; company_id = props.company_id;
role_name = props.location.state.role_name; all_project = props.all_project;
role_name = props.role_name;
isLogin = props.isLogin;
} else { hierarchy = props.hierarchy;
token = window.localStorage.getItem('token'); user_name = props.user_name;
role_name = window.localStorage.getItem('role_name'); }
company_id = window.localStorage.getItem('company_id');
}
super(props) super(props)
this.config = { this.config = {
headers: { headers: {

27
src/views/Master/ProjectExpenditure/index.js

@ -12,21 +12,18 @@ import { useTranslation } from 'react-i18next';
const ProjectExpenditure = ({ params, ...props }) => { const ProjectExpenditure = ({ params, ...props }) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '', company_id = 0, role_name = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
role_name = props.location.state.role_name; company_id = props.company_id;
} else { all_project = props.all_project;
role_id = localStorage.getItem("role_id"); role_name = props.role_name;
proyek_id = localStorage.getItem("proyek_id"); isLogin = props.isLogin;
user_id = localStorage.getItem("user_id"); hierarchy = props.hierarchy;
token = localStorage.getItem("token"); user_name = props.user_name;
isLogin = localStorage.getItem("isLogin");
company_id = localStorage.getItem('company_id');
role_name = localStorage.getItem('role_name');
} }
const HEADER = { const HEADER = {

27
src/views/Master/ProjectFinancialHealth/index.js

@ -12,21 +12,18 @@ import { useTranslation } from 'react-i18next';
const ProjectFinancialHealth = ({ params, ...props }) => { const ProjectFinancialHealth = ({ params, ...props }) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '', company_id = 0, role_name = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
role_name = props.location.state.role_name; company_id = props.company_id;
} else { all_project = props.all_project;
role_id = localStorage.getItem("role_id"); role_name = props.role_name;
proyek_id = localStorage.getItem("proyek_id"); isLogin = props.isLogin;
user_id = localStorage.getItem("user_id"); hierarchy = props.hierarchy;
token = localStorage.getItem("token"); user_name = props.user_name;
isLogin = localStorage.getItem("isLogin");
company_id = localStorage.getItem('company_id');
role_name = localStorage.getItem('role_name');
} }
const HEADER = { const HEADER = {

27
src/views/Master/ProjectInvoice/index.js

@ -12,21 +12,18 @@ import { useTranslation } from 'react-i18next';
const ProjectInvoice = ({ params, ...props }) => { const ProjectInvoice = ({ params, ...props }) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '', company_id = 0, role_name = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
role_name = props.location.state.role_name; company_id = props.company_id;
} else { all_project = props.all_project;
role_id = localStorage.getItem("role_id"); role_name = props.role_name;
proyek_id = localStorage.getItem("proyek_id"); isLogin = props.isLogin;
user_id = localStorage.getItem("user_id"); hierarchy = props.hierarchy;
token = localStorage.getItem("token"); user_name = props.user_name;
isLogin = localStorage.getItem("isLogin");
company_id = localStorage.getItem('company_id');
role_name = localStorage.getItem('role_name');
} }
const HEADER = { const HEADER = {

31
src/views/Master/ProjectPhase/index.js

@ -12,21 +12,18 @@ import { useTranslation } from 'react-i18next';
const ProjectPhase = ({ params, ...props }) => { const ProjectPhase = ({ params, ...props }) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '', company_id = 0, role_name = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
role_name = props.location.state.role_name; company_id = props.company_id;
} else { all_project = props.all_project;
role_id = localStorage.getItem("role_id"); role_name = props.role_name;
proyek_id = localStorage.getItem("proyek_id"); isLogin = props.isLogin;
user_id = localStorage.getItem("user_id"); hierarchy = props.hierarchy;
token = localStorage.getItem("token"); user_name = props.user_name;
isLogin = localStorage.getItem("isLogin");
company_id = localStorage.getItem('company_id');
role_name = localStorage.getItem('role_name');
} }
const HEADER = { const HEADER = {
@ -196,7 +193,7 @@ const ProjectPhase = ({ params, ...props }) => {
if (type === "save") { if (type === "save") {
saveProjectPhase(data); saveProjectPhase(data);
} else if (type === "edit") { } else if (type === "edit") {
editMaterialR(data); editProjectPhase(data);
} }
setDataEdit([]) setDataEdit([])
setOpenDialog(false) setOpenDialog(false)
@ -216,7 +213,7 @@ const ProjectPhase = ({ params, ...props }) => {
} }
} }
const editMaterialR = async (data) => { const editProjectPhase = async (data) => {
let urlEdit = PROJECT_PHASE_EDIT(data.id) let urlEdit = PROJECT_PHASE_EDIT(data.id)
const formData = data const formData = data

27
src/views/Master/ProjectScheduleHealth/index.js

@ -12,21 +12,18 @@ import { useTranslation } from 'react-i18next';
const ProjectScheduleHealth = ({ params, ...props }) => { const ProjectScheduleHealth = ({ params, ...props }) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '', company_id = 0, role_name = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
role_name = props.location.state.role_name; company_id = props.company_id;
} else { all_project = props.all_project;
role_id = localStorage.getItem("role_id"); role_name = props.role_name;
proyek_id = localStorage.getItem("proyek_id"); isLogin = props.isLogin;
user_id = localStorage.getItem("user_id"); hierarchy = props.hierarchy;
token = localStorage.getItem("token"); user_name = props.user_name;
isLogin = localStorage.getItem("isLogin");
company_id = localStorage.getItem('company_id');
role_name = localStorage.getItem('role_name');
} }
const HEADER = { const HEADER = {

24
src/views/Master/RoleProject/index.js

@ -35,18 +35,18 @@ const LENGTH_DATA = 10
class index extends Component { class index extends Component {
constructor(props) { constructor(props) {
let role_id = '', user_id = '', isLogin = '', token = '', company_id = 0, role_name = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
company_id = props.location.state.company_id; company_id = props.company_id;
role_name = props.location.state.role_name; all_project = props.all_project;
} else { role_name = props.role_name;
token = window.localStorage.getItem('token'); isLogin = props.isLogin;
role_name = window.localStorage.getItem('role_name'); hierarchy = props.hierarchy;
company_id = window.localStorage.getItem('company_id'); user_name = props.user_name;
} }
super(props) super(props)
this.state = { this.state = {

43
src/views/Pages/Login/Login.js

@ -120,7 +120,7 @@ class Login extends Component {
} }
} }
getDataMenu = async (token, role_id, user_id, company_id, role_name, all_project) => { getDataMenu = async (token, role_id, hierarchy, user_id, company_id, role_name, all_project, user_name) => {
const config = { const config = {
headers: headers:
{ {
@ -146,14 +146,36 @@ class Login extends Component {
else { else {
this.props.history.push({ this.props.history.push({
pathname: "/dashboard", pathname: "/dashboard",
state: { role_id: role_id, user_id: user_id, token: token, isLogin: true, company_id: company_id, role_name: role_name, all_project: all_project } state: {
menu_login: JSON.stringify(resData),
hierarchy,
role_id,
user_id,
token,
isLogin: true,
company_id,
role_name,
all_project,
user_name
}
}); });
} }
if (this.state.defaultPage) { if (this.state.defaultPage) {
if (role_id === 44) { if (role_id === 44) {
this.props.history.push({ this.props.history.push({
pathname: this.state.defaultPage, pathname: this.state.defaultPage,
state: { role_id: role_id, user_id: user_id, token: token, isLogin: true, company_id: company_id, role_name: role_name, all_project: all_project } state: {
menu_login: JSON.stringify(resData),
hierarchy,
role_id,
user_id,
token,
isLogin: true,
company_id,
role_name,
all_project,
user_name
}
}); });
} else { } else {
this.props.history.push(this.state.defaultPage); this.props.history.push(this.state.defaultPage);
@ -164,7 +186,18 @@ class Login extends Component {
else { else {
this.props.history.push({ this.props.history.push({
pathname: "/dashboard", pathname: "/dashboard",
state: { role_id: role_id, user_id: user_id, token: token, isLogin: true, company_id: company_id, role_name: role_name } state: {
menu_login: JSON.stringify(resData),
hierarchy,
role_id,
user_id,
token,
isLogin: true,
company_id,
role_name,
all_project,
user_name
}
}); });
} }
} else { } else {
@ -209,7 +242,7 @@ class Login extends Component {
if (doLogin && doLogin.data && doLogin.data.code === 200) { if (doLogin && doLogin.data && doLogin.data.code === 200) {
const { access_token, data_user } = doLogin.data.data const { access_token, data_user } = doLogin.data.data
this.getDataRole(access_token, data_user.role_id) this.getDataRole(access_token, data_user.role_id)
this.getDataMenu(access_token, data_user.role_id, data_user.id, data_user.company_id, data_user.role.name, data_user.role.all_project) this.getDataMenu(access_token, data_user.role_id, data_user.hierarchy, data_user.id, data_user.company_id, data_user.role.name, data_user.role.all_project, data_user.user_name)
window.localStorage.setItem('isLogin', true); window.localStorage.setItem('isLogin', true);
window.localStorage.setItem('token', access_token); window.localStorage.setItem('token', access_token);
window.localStorage.setItem('user_id', data_user.id); window.localStorage.setItem('user_id', data_user.id);

29
src/views/Report/k3/index.js

@ -26,23 +26,18 @@ const LENGTH_DATA = 10
class index extends Component { class index extends Component {
constructor(props) { constructor(props) {
let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
let role_id = '', user_id = '', isLogin = '', token = '', company_id = 0, role_name = '', hierarchy = []; if (props && props.role_id && props.user_id) {
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { role_id = props.role_id;
role_id = props.location.state.role_id; user_id = props.user_id;
user_id = props.location.state.user_id; token = props.token;
token = props.location.state.token; isLogin = props.isLogin;
isLogin = props.location.state.isLogin; company_id = props.company_id;
company_id = props.location.state.company_id; all_project = props.all_project;
role_name = props.location.state.role_name; role_name = props.role_name;
hierarchy = props.location.state.hierarchy; isLogin = props.isLogin;
hierarchy = props.hierarchy;
user_name = props.user_name;
} else {
token = window.localStorage.getItem('token');
role_name = window.localStorage.getItem('role_name');
company_id = window.localStorage.getItem('company_id');
hierarchy.push(JSON.parse(localStorage.getItem("hierarchy")));
} }
super(props) super(props)
this.config = { this.config = {

273
src/views/SimproV2/CreatedProyek/index.js

@ -85,23 +85,18 @@ const url = "";
const format = "DD-MM-YYYY"; const format = "DD-MM-YYYY";
const CreatedProyek = ({ params, ...props }) => { const CreatedProyek = ({ params, ...props }) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '', company_id = 0, all_project = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
company_id = props.location.state.company_id; company_id = props.company_id;
all_project = props.location.state.all_project; all_project = props.all_project;
role_name = props.role_name;
} else { isLogin = props.isLogin;
role_id = localStorage.getItem("role_id"); hierarchy = props.hierarchy;
proyek_id = localStorage.getItem("proyek_id"); user_name = props.user_name;
user_id = localStorage.getItem("user_id");
token = localStorage.getItem("token");
isLogin = localStorage.getItem("isLogin");
company_id = localStorage.getItem('company_id');
all_project = localStorage.getItem('all_project');
} }
const history = useHistory(); const history = useHistory();
const HEADER = { const HEADER = {
@ -335,21 +330,35 @@ const CreatedProyek = ({ params, ...props }) => {
const getDataProyek = async () => { const getDataProyek = async () => {
setLoading(true); setLoading(true);
let start = 0; let start = 0;
let hierarchy = [];
hierarchy.push(JSON.parse(localStorage.getItem("hierarchy")));
if (currentPage !== 1 && currentPage > 1) { if (currentPage !== 1 && currentPage > 1) {
start = currentPage * rowsPerPage - rowsPerPage; start = currentPage * rowsPerPage - rowsPerPage;
} }
const payload = { const payload = {
columns: [ columns: [],
{ group_column: {
name: "nama", "operator": "AND",
logic_operator: "ilike", "group_operator": "OR",
value: search, "where": [
operator: "AND", {
}, "name": "nama",
], "logic_operator": "~*",
"value": search,
},
{
"name": "name",
"logic_operator": "~*",
"value": search,
"table_name": "m_type_proyek"
},
{
"name": "name",
"logic_operator": "~*",
"value": search,
"table_name": "m_users"
}
]
},
select: [ select: [
"id", "id",
"nama", "nama",
@ -369,21 +378,28 @@ const CreatedProyek = ({ params, ...props }) => {
name: "m_type_proyek", name: "m_type_proyek",
column_join: "type_proyek_id", column_join: "type_proyek_id",
column_results: ["name", "description"], column_results: ["name", "description"],
}, }
// { "name": "subproyeks.m_subproyek", "column_join": "parent_id", "column_results": ["nama", "biaya", "color_progress", "jumlah_pekerja", "pic", "mulai_proyek", "akhir_proyek", "biaya_actual", "persentase_progress_plan", "persentase_progress_actual"] }
], ],
orders: { columns: ["nama"], ascending: true }, orders: { columns: ["nama"], ascending: true },
paging: { start: start, length: rowsPerPage }, paging: { start: start, length: rowsPerPage },
}; };
if (all_project !== null && all_project === true) { if (all_project !== null && all_project === true) {
payload["columns"] = [ payload.columns.push(
{ name: "company_id", logic_operator: "like", value: company_id, operator: "AND" } { name: "company_id", logic_operator: "like", value: company_id, operator: "AND" }
]; );
}
if(role_name !== 'Super Admin') {
payload.columns.push(
{ name: "created_by_id", logic_operator: "IN", value: [JSON.parse(hierarchy)], operator: "AND" }
);
} else { } else {
payload["columns"] = [ payload.joins.push(
{ name: "created_by_id", logic_operator: "IN", value: hierarchy, operator: "AND" } { name: "m_company", column_join: "company_id", column_results: ["company_name"] }
]; )
payload.group_column.where.push(
{ name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" }
)
} }
const result = await axios const result = await axios
@ -512,7 +528,6 @@ const CreatedProyek = ({ params, ...props }) => {
}; };
const handleOpenDialogGantt = (data) => { const handleOpenDialogGantt = (data) => {
console.log('data.mulai_proyek', data.mulai_proyek);
setDataViewStartDate(data.mulai_proyek) setDataViewStartDate(data.mulai_proyek)
setidTask(data.id); setidTask(data.id);
setProyekName(data.nama); setProyekName(data.nama);
@ -569,7 +584,6 @@ const CreatedProyek = ({ params, ...props }) => {
const handleOpenDialogViewDetail = async (data) => { const handleOpenDialogViewDetail = async (data) => {
setLoading(true); setLoading(true);
setidTask(data.id); setidTask(data.id);
// setDataView(data)
await getDataProject(data.id); await getDataProject(data.id);
await getProjectMilestone(data.id); await getProjectMilestone(data.id);
await getProjectParticipant(data.id); await getProjectParticipant(data.id);
@ -580,7 +594,6 @@ const CreatedProyek = ({ params, ...props }) => {
await getK3toProject(data.id); await getK3toProject(data.id);
await getProjectAssignHR(data.id); await getProjectAssignHR(data.id);
await getProjectImage(data.id); await getProjectImage(data.id);
// await handleGetDataPm(data.id);
setPM(data.join_first_name); setPM(data.join_first_name);
setOpenDialogViewDetail(true); setOpenDialogViewDetail(true);
}; };
@ -679,7 +692,6 @@ const CreatedProyek = ({ params, ...props }) => {
orders: { columns: ["id"], ascending: true }, orders: { columns: ["id"], ascending: true },
paging: { start: 0, length: -1 }, paging: { start: 0, length: -1 },
}; };
// const url = PROJECT_MI(proyek_id)
const result = await axios const result = await axios
.post(PROJECT_MILESTONE_SEARCH, payload, HEADER) .post(PROJECT_MILESTONE_SEARCH, payload, HEADER)
.then((res) => res) .then((res) => res)
@ -718,7 +730,6 @@ const CreatedProyek = ({ params, ...props }) => {
orders: { columns: ["id"], ascending: true }, orders: { columns: ["id"], ascending: true },
paging: { start: 0, length: -1 }, paging: { start: 0, length: -1 },
}; };
// const url = PROJECT_MI(proyek_id)
const result = await axios const result = await axios
.post(ASSIGN_HR_PROJECT_SEARCH, payload, HEADER) .post(ASSIGN_HR_PROJECT_SEARCH, payload, HEADER)
.then((res) => res) .then((res) => res)
@ -1313,13 +1324,6 @@ const CreatedProyek = ({ params, ...props }) => {
const arr = await Promise.all(request) const arr = await Promise.all(request)
.then((values) => values) .then((values) => values)
.catch((err) => err.response); .catch((err) => err.response);
// if(arr)
// const result = arr.map(res => res.data.code !== 200)
// if (result.length > 0) {
// return "gagal"
// }
// return "berhasil"
}; };
const handleDelete = async (id) => { const handleDelete = async (id) => {
@ -1337,15 +1341,40 @@ const CreatedProyek = ({ params, ...props }) => {
const handleExportExcel = async () => { const handleExportExcel = async () => {
const payload = { const payload = {
columns:[],
group_column: {
"operator": "AND",
"group_operator": "OR",
"where": [
{
"name": "nama",
"logic_operator": "~*",
"value": search,
}
]
},
paging: { start: 0, length: -1 }, paging: { start: 0, length: -1 },
joins: [], joins: [],
orders: { columns: ["id"], ascending: false }, orders: { columns: ["id"], ascending: false },
}; };
if (parseInt(role_id) !== 1) { if (all_project !== null && all_project === true) {
payload["columns"] = [ payload.columns.push(
{ name: "id", logic_operator: "=", value: proyek_id, operator: "AND" }, { name: "company_id", logic_operator: "like", value: company_id, operator: "AND" }
]; );
}
if(role_name !== 'Super Admin') {
payload.columns.push(
{ name: "created_by_id", logic_operator: "IN", value: [JSON.parse(hierarchy)], operator: "AND" }
);
} else {
payload.joins.push(
{ name: "m_company", column_join: "company_id", column_results: ["company_name"] }
)
payload.group_column.where.push(
{ name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" }
)
} }
const result = await axios const result = await axios
@ -1357,30 +1386,33 @@ const CreatedProyek = ({ params, ...props }) => {
let resData = result.data.data; let resData = result.data.data;
const excelData = []; const excelData = [];
resData.map((n, index) => { resData.map((n, index) => {
let dataRow = { let dataRow = {};
Sortname: n.kode_sortname ? n.kode_sortname : "", if (role_name === 'Super Admin') {
"Nama Project": n.nama ? n.nama : "", dataRow.Company = n.join_first_company_name;
"Tanggal Mulai": n.mulai_proyek }
dataRow.Sortname = n.kode_sortname ? n.kode_sortname : "";
dataRow["Nama Project"] = n.nama ? n.nama : "";
dataRow["Tanggal Mulai"] = n.mulai_proyek
? moment(n.mulai_proyek).format(format) ? moment(n.mulai_proyek).format(format)
: "-", : "-";
"Tanggal Selesai": n.akhir_proyek dataRow["Tanggal Selesai"] = n.akhir_proyek
? moment(n.akhir_proyek).format(format) ? moment(n.akhir_proyek).format(format)
: "-", : "-";
"Area Kerja": n.area_kerja ? n.area_kerja : "", dataRow["Area Kerja"] = n.area_kerja ? n.area_kerja : "";
Perusahaan: n.company ? n.company : "", dataRow["Perusahaan"] = n.company ? n.company : "";
Keterangan: n.keterangan ? n.keterangan : "", dataRow["Keterangan"] = n.keterangan ? n.keterangan : "";
"Dianggap sukses ketika": n.considered_success_when dataRow["Dianggap sukses ketika"] = n.considered_success_when
? n.considered_success_when ? n.considered_success_when
: "", : "";
"Tujuan Proyek": n.project_objectives ? n.project_objectives : "", dataRow["Tujuan Proyek"] = n.project_objectives ? n.project_objectives : "";
"Resiko potensial": n.potential_risk ? n.potential_risk : "", dataRow["Resiko potensial"] = n.potential_risk ? n.potential_risk : "";
"Rencana Biaya": n.rencana_biaya dataRow["Rencana Biaya"] = n.rencana_biaya
? formatThousand(n.rencana_biaya) ? formatThousand(n.rencana_biaya)
: "-", : "-";
"Testing Environment": n.testing_environment dataRow["Testing Environment"] = n.testing_environment
? n.testing_environment ? n.testing_environment
: "-", : "-";
};
excelData.push(dataRow); excelData.push(dataRow);
}); });
await setDataExport(excelData); await setDataExport(excelData);
@ -1391,19 +1423,35 @@ const CreatedProyek = ({ params, ...props }) => {
const handleExportPdf = async () => { const handleExportPdf = async () => {
const doc = new jsPDF(); const doc = new jsPDF();
let headers = [
const headers = [ [role_name === 'Super Admin' ? "Company" : null,"Project Name", "Budget", "Project Type", "PM", "Time Project"],
["Project Name", "Budget", "Project Type", "PM", "Time Project"],
]; ];
const payload = { const payload = {
columns: [ columns:[],
{ group_column: {
name: "nama", "operator": "AND",
logic_operator: "ilike", "group_operator": "OR",
value: search, "where": [
operator: "AND", {
}, "name": "nama",
], "logic_operator": "~*",
"value": search,
},
{
"name": "name",
"logic_operator": "~*",
"value": search,
"table_name": "m_type_proyek"
},
{
"name": "name",
"logic_operator": "~*",
"value": search,
"table_name": "m_users"
}
]
},
joins: [ joins: [
{ {
name: "m_users", name: "m_users",
@ -1415,11 +1463,28 @@ const CreatedProyek = ({ params, ...props }) => {
column_join: "type_proyek_id", column_join: "type_proyek_id",
column_results: ["name", "description"], column_results: ["name", "description"],
}, },
// { "name": "subproyeks.m_subproyek", "column_join": "parent_id", "column_results": ["nama", "biaya", "color_progress", "jumlah_pekerja", "pic", "mulai_proyek", "akhir_proyek", "biaya_actual", "persentase_progress_plan", "persentase_progress_actual"] }
], ],
orders: { columns: ["nama"], ascending: true }, orders: { columns: ["nama"], ascending: true },
}; };
if (all_project !== null && all_project === true) {
payload.columns.push(
{ name: "company_id", logic_operator: "like", value: company_id, operator: "AND" }
);
}
if(role_name !== 'Super Admin') {
payload.columns.push(
{ name: "created_by_id", logic_operator: "IN", value: [JSON.parse(hierarchy)], operator: "AND" }
);
} else {
payload.joins.push(
{ name: "m_company", column_join: "company_id", column_results: ["company_name"] }
)
payload.group_column.where.push(
{ name: "company_name", logic_operator: "~*", value: search, table_name: "m_company" }
)
}
const result = await axios const result = await axios
.post(PROYEK_SEARCH, payload, HEADER) .post(PROYEK_SEARCH, payload, HEADER)
.then((res) => res) .then((res) => res)
@ -1427,6 +1492,7 @@ const CreatedProyek = ({ params, ...props }) => {
if (result && result.data && result.data.code == 200) { if (result && result.data && result.data.code == 200) {
let resData = result.data.data; let resData = result.data.data;
const data = resData.map((elt) => [ const data = resData.map((elt) => [
role_name === 'Super Admin' ? elt.join_third_company_name : null,
elt.nama, elt.nama,
`Rp. ${formatThousand(elt.rencana_biaya)}`, `Rp. ${formatThousand(elt.rencana_biaya)}`,
elt.join_second_name, elt.join_second_name,
@ -1447,34 +1513,6 @@ const CreatedProyek = ({ params, ...props }) => {
}); });
} }
doc.save("Project.pdf"); doc.save("Project.pdf");
// const unit = "pt";
// const size = "A4"; // Use A1, A2, A3 or A4
// const orientation = "portrait"; // portrait or landscape
// const marginLeft = 40;
// const doc = new jsPDF(orientation, unit, size);
// doc.setFontSize(15);
// const dataPeople = [
// { name: "Keanu Reeves", profession: "Actor" },
// { name: "Lionel Messi", profession: "Football Player" },
// { name: "Cristiano Ronaldo", profession: "Football Player" },
// { name: "Jack Nicklaus", profession: "Golf Player" },
// ];
// const title = "My Awesome Report";
// const headers = [["NAME", "PROFESSION"]];
// const data = dataPeople.map((elt) => [elt.name, elt.profession]);
// let content = {
// startY: 50,
// head: headers,
// body: data,
// };
// doc.text(title, marginLeft, 40);
// doc.autoTable(content);
// doc.save("report.pdf");
}; };
const exportExcel = () => { const exportExcel = () => {
@ -1688,12 +1726,21 @@ const CreatedProyek = ({ params, ...props }) => {
</> </>
), ),
}, },
{
title: role_name === 'Super Admin' ? "Company Name" : null,
dataIndex: "join_third_company_name",
key: "join_third_company_name",
render: (text, record) => {
return role_name === 'Super Admin' ? (
<span>{record.join_third_company_name}</span>
) : null;
}
},
{ title: "Project Name", dataIndex: "nama", key: "nama" }, { title: "Project Name", dataIndex: "nama", key: "nama" },
{ {
title: "Budget", title: "Budget",
dataIndex: "rencana_biaya", dataIndex: "rencana_biaya",
key: "rencana_biaya", key: "rencana_biaya",
// render: (text, record) => { return renderFormatRupiah(text, "Rp") }
render: (text, record) => { render: (text, record) => {
return record.currency_symbol return record.currency_symbol
? `${record.currency_symbol} ${formatThousand(text)}` ? `${record.currency_symbol} ${formatThousand(text)}`
@ -2022,7 +2069,7 @@ const CreatedProyek = ({ params, ...props }) => {
type="text" type="text"
name="search" name="search"
id="search" id="search"
placeholder={`Search Project Name`} placeholder={`Search...`}
style={{ width: 200 }} style={{ width: 200 }}
/> />
</Col> </Col>
@ -2039,7 +2086,6 @@ const CreatedProyek = ({ params, ...props }) => {
)} )}
<Tooltip title="Export"> <Tooltip title="Export">
<Popover <Popover
// content={<a onClick={hide}>Close</a>}
title="Export" title="Export"
trigger="click" trigger="click"
placement="leftBottom" placement="leftBottom"
@ -2064,12 +2110,9 @@ const CreatedProyek = ({ params, ...props }) => {
</Button> </Button>
</> </>
} }
// visible={visible}
// onVisibleChange={handleVisibleChange}
> >
<Button <Button
style={{ marginLeft: "5px" }} style={{ marginLeft: "5px" }}
// onClick={() => handleExportExcel()}
> >
<i className="fa fa-print"></i> <i className="fa fa-print"></i>
</Button> </Button>

29
src/views/SimproV2/Divisi/index.js

@ -17,22 +17,19 @@ const column = [
] ]
const ProjectType = ({ params, ...props }) => { const ProjectType = ({ params, ...props }) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '', company_id = 0, role_name = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
role_name = props.location.state.role_name; company_id = props.company_id;
} else { all_project = props.all_project;
role_id = localStorage.getItem("role_id"); role_name = props.role_name;
proyek_id = localStorage.getItem("proyek_id"); isLogin = props.isLogin;
user_id = localStorage.getItem("user_id"); hierarchy = props.hierarchy;
token = localStorage.getItem("token"); user_name = props.user_name;
isLogin = localStorage.getItem("isLogin"); }
company_id = localStorage.getItem('company_id');
role_name = localStorage.getItem('role_name');
}
const HEADER = { const HEADER = {
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",

17
src/views/SimproV2/Gantt/GanttFrame.js

@ -3,22 +3,9 @@ import { useHistory, withRouter } from 'react-router-dom';
import { BASE_SIMPRO_LUMEN } from '../../../const/ApiConst'; import { BASE_SIMPRO_LUMEN } from '../../../const/ApiConst';
const GanttFrame = React.memo((props) => { const GanttFrame = React.memo((props) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) {
role_id = props.location.state.role_id;
user_id = props.location.state.user_id;
isLogin = props.location.state.isLogin;
token = props.location.state.token;
} else {
role_id = localStorage.getItem("role_id");
proyek_id = localStorage.getItem("proyek_id");
user_id = localStorage.getItem("user_id");
isLogin = localStorage.getItem("isLogin");
token = localStorage.getItem("token");
}
const history = useHistory(); const history = useHistory();
const { versionGanttId, idProject, ro, timestamp, dataViewStartDate } = props; const { versionGanttId, idProject, ro, timestamp, dataViewStartDate, token } = props;
const iframeSrc = `http://localhost:8444/adw-gantt/edit-mode/index.html?base_url=${BASE_SIMPRO_LUMEN}&gantt_id=${versionGanttId}&proyek_id=${idProject}&token=${token}&ro=${ro}&timestamp=${timestamp}&start=${dataViewStartDate}`; const iframeSrc = `https://project-gantt.ospro.id/edit-mode/index.html?base_url=${BASE_SIMPRO_LUMEN}&gantt_id=${versionGanttId}&proyek_id=${idProject}&token=${token}&ro=${ro}&timestamp=${timestamp}&start=${dataViewStartDate}`;
const [batchEntityData, setBatchEntityData] = useState(null); const [batchEntityData, setBatchEntityData] = useState(null);
useEffect(() => { useEffect(() => {

27
src/views/SimproV2/Gantt/index.js

@ -15,18 +15,18 @@ import GanttFrame from "./GanttFrame";
let roCount = 0; let roCount = 0;
const Gantt = (props) => { const Gantt = (props) => {
let role_id = '', userId = '', isLogin = '', token = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
userId = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
} else { company_id = props.company_id;
role_id = localStorage.getItem("role_id"); all_project = props.all_project;
userId = localStorage.getItem("user_id"); role_name = props.role_name;
token = localStorage.getItem("token"); isLogin = props.isLogin;
isLogin = localStorage.getItem("isLogin"); hierarchy = props.hierarchy;
user_name = props.user_name;
} }
const HEADER = { const HEADER = {
headers: { headers: {
@ -39,7 +39,6 @@ const Gantt = (props) => {
const timestamp = props.match.params.timestamp const timestamp = props.match.params.timestamp
? props.match.params.timestamp ? props.match.params.timestamp
: 0; : 0;
const [ro, setRo] = useState(1); const [ro, setRo] = useState(1);
const [listUserGant, setListUserGantt] = useState([]); const [listUserGant, setListUserGantt] = useState([]);
const [ready, setReady] = useState(false); const [ready, setReady] = useState(false);
@ -93,7 +92,7 @@ const Gantt = (props) => {
}; };
const cekPermission = () => { const cekPermission = () => {
let check = listUserGant.includes(parseInt(userId)); let check = listUserGant.includes(parseInt(user_id));
if (check) { if (check) {
setRo(0); setRo(0);
} else { } else {

27
src/views/SimproV2/ProjectType/index.js

@ -13,21 +13,18 @@ import { Pagination, Button, Tooltip, Table } from 'antd';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
const ProjectType = ({ params, ...props }) => { const ProjectType = ({ params, ...props }) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '', company_id = 0, role_name = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
role_name = props.location.state.role_name; company_id = props.company_id;
} else { all_project = props.all_project;
role_id = localStorage.getItem("role_id"); role_name = props.role_name;
proyek_id = localStorage.getItem("proyek_id"); isLogin = props.isLogin;
user_id = localStorage.getItem("user_id"); hierarchy = props.hierarchy;
token = localStorage.getItem("token"); user_name = props.user_name;
isLogin = localStorage.getItem("isLogin");
company_id = localStorage.getItem('company_id');
role_name = localStorage.getItem('role_name');
} }
const HEADER = { const HEADER = {
headers: { headers: {

27
src/views/SimproV2/ResourceWorker/index.js

@ -15,21 +15,18 @@ import {
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
const ResourceWorker = ({ params, ...props }) => { const ResourceWorker = ({ params, ...props }) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '', company_id = 0, role_name = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
role_name = props.location.state.role_name; company_id = props.company_id;
} else { all_project = props.all_project;
role_id = localStorage.getItem("role_id"); role_name = props.role_name;
proyek_id = localStorage.getItem("proyek_id"); isLogin = props.isLogin;
user_id = localStorage.getItem("user_id"); hierarchy = props.hierarchy;
token = localStorage.getItem("token"); user_name = props.user_name;
isLogin = localStorage.getItem("isLogin");
company_id = localStorage.getItem('company_id');
role_name = localStorage.getItem('role_name');
} }
const HEADER = { const HEADER = {

30
src/views/SimproV2/Satuan/index.js

@ -11,22 +11,20 @@ import { useTranslation } from 'react-i18next';
const Satuan = ({ params, ...props }) => { const Satuan = ({ params, ...props }) => {
let role_id = '', user_id = '', proyek_id = '', isLogin = '', token = '', company_id = 0, role_name = ''; let role_id = 0, user_id = 0, isLogin = false, token = '', company_id = 0, all_project = null, role_name='', hierarchy=[], user_name='';
if (props.location.state && props.location.state.role_id && props.location.state.user_id) { if (props && props.role_id && props.user_id) {
role_id = props.location.state.role_id; role_id = props.role_id;
user_id = props.location.state.user_id; user_id = props.user_id;
token = props.location.state.token; token = props.token;
isLogin = props.location.state.isLogin; isLogin = props.isLogin;
role_name = props.location.state.role_name; company_id = props.company_id;
} else { all_project = props.all_project;
role_id = localStorage.getItem("role_id"); role_name = props.role_name;
proyek_id = localStorage.getItem("proyek_id"); isLogin = props.isLogin;
user_id = localStorage.getItem("user_id"); hierarchy = props.hierarchy;
token = localStorage.getItem("token"); user_name = props.user_name;
isLogin = localStorage.getItem("isLogin"); }
company_id = localStorage.getItem('company_id');
role_name = localStorage.getItem('role_name');
}
const HEADER = { const HEADER = {
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",

Loading…
Cancel
Save