Browse Source

Merge pull request 'dev-wahyu' (#33) from dev-wahyu into staging

Reviewed-on: ordo/adw-frontend#33
pull/2/head
ibnu 2 years ago
parent
commit
5089683aa6
  1. 9
      src/views/SimproV2/CreatedProyek/DialogDocument.js
  2. 5
      src/views/SimproV2/CreatedProyek/DialogGantt.js
  3. 5
      src/views/SimproV2/CreatedProyek/DialogHierarchy.js
  4. 32
      src/views/SimproV2/CreatedProyek/DialogUserGantt.js
  5. 80
      src/views/SimproV2/CreatedProyek/index.js

9
src/views/SimproV2/CreatedProyek/DialogDocument.js

@ -81,7 +81,7 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
setAlertDeleteFolder(true) setAlertDeleteFolder(true)
} }
const handleDownload = (id) => { const handleDownload = (id, file) => {
fetch(DOCUMENT_DOWNLOAD(id), { fetch(DOCUMENT_DOWNLOAD(id), {
headers: new Headers({ headers: new Headers({
'Content-Type': 'application/json', 'Content-Type': 'application/json',
@ -90,11 +90,12 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
}) })
.then(response => { .then(response => {
response.blob().then(blob => { response.blob().then(blob => {
let url = window.URL.createObjectURL(blob); const url = window.URL.createObjectURL(new Blob([blob]));
let a = document.createElement('a'); let a = document.createElement('a');
a.href = url; a.href = url;
a.download = 'Project Documents'; a.download = file;
a.click(); a.click();
a.remove();
}); });
//window.location.href = response.url; //window.location.href = response.url;
}); });
@ -156,7 +157,7 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
<Button size={"sm"} color='danger' onClick={() => handleDeleteFolder(text.id)}><i className="fa fa-trash"></i></Button> <Button size={"sm"} color='danger' onClick={() => handleDeleteFolder(text.id)}><i className="fa fa-trash"></i></Button>
</Tooltip>}{" "} </Tooltip>}{" "}
{!record.isDir && <Tooltip title="Download Document"> {!record.isDir && <Tooltip title="Download Document">
<Button size={"sm"} color='primary' onClick={() => handleDownload(text.id)}><i className="fa fa-download"></i></Button> <Button size={"sm"} color='primary' onClick={() => handleDownload(text.id, text.file)}><i className="fa fa-download"></i></Button>
</Tooltip>}{" "} </Tooltip>}{" "}
{record.isDir && <Tooltip title="New Folder"> {record.isDir && <Tooltip title="New Folder">
<Button size="sm" color="success" onClick={() => handleNewFolderParent(record.id)}><i className="fa fa-folder"></i></Button> <Button size="sm" color="success" onClick={() => handleNewFolderParent(record.id)}><i className="fa fa-folder"></i></Button>

5
src/views/SimproV2/CreatedProyek/DialogGantt.js

@ -39,10 +39,6 @@ const DialogGantt = ({ openDialog, closeDialog, toggleDialog, idTask, proyekName
} }
}, [hierarchyId, idTask, openDialog]) }, [hierarchyId, idTask, openDialog])
useEffect(() => {
getDataHumanResource();
}, [])
useEffect(() => { useEffect(() => {
if (!openDialog) { if (!openDialog) {
setDataGantt([]); setDataGantt([]);
@ -274,7 +270,6 @@ const DialogGantt = ({ openDialog, closeDialog, toggleDialog, idTask, proyekName
<DialogUserGantt <DialogUserGantt
idGantt={idGantt} idGantt={idGantt}
humanResource={humanResource}
openDialog={openDialogUserGantt} openDialog={openDialogUserGantt}
toggleDialog={toggleDialogUser} toggleDialog={toggleDialogUser}
closeDialog={closeDialogUser} closeDialog={closeDialogUser}

5
src/views/SimproV2/CreatedProyek/DialogHierarchy.js

@ -46,10 +46,6 @@ const DialogHierarchy = ({ openDialog, closeDialog, toggleDialog, idTask, proyek
} }
}, [saveHierarchy, idTask, openDialog, closeDialog, openDialogFormGantt]) }, [saveHierarchy, idTask, openDialog, closeDialog, openDialogFormGantt])
useEffect(() => {
getDataHumanResource();
}, [])
useEffect(() => { useEffect(() => {
if (!openDialog) { if (!openDialog) {
setDataHierarchy([]); setDataHierarchy([]);
@ -333,7 +329,6 @@ const DialogHierarchy = ({ openDialog, closeDialog, toggleDialog, idTask, proyek
<DialogUserGantt <DialogUserGantt
idGantt={idGantt} idGantt={idGantt}
humanResource={humanResource}
openDialog={openDialogUserGantt} openDialog={openDialogUserGantt}
toggleDialog={toggleDialogUser} toggleDialog={toggleDialogUser}
closeDialog={closeDialogUser} closeDialog={closeDialogUser}

32
src/views/SimproV2/CreatedProyek/DialogUserGantt.js

@ -2,11 +2,11 @@ import React, { useEffect, useState } from 'react'
import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';
import { Button, Form } from 'reactstrap'; import { Button, Form } from 'reactstrap';
import axios from "../../../const/interceptorApi"; import axios from "../../../const/interceptorApi";
import { USER_VERSION_GANTT_ADDS, USER_VERSION_GANTT_SEARCH } from '../../../const/ApiConst'; import { USER_VERSION_GANTT_ADDS, USER_VERSION_GANTT_SEARCH, USER_LIST} from '../../../const/ApiConst';
import { Transfer } from 'antd'; import { Transfer } from 'antd';
import 'antd/dist/antd.css'; import 'antd/dist/antd.css';
const DialogUserGantt = ({ openDialog, closeDialog, toggleDialog, idGantt, humanResource }) => { const DialogUserGantt = ({ openDialog, closeDialog, toggleDialog, idGantt}) => {
const token = localStorage.getItem("token") const token = localStorage.getItem("token")
const HEADER = { const HEADER = {
headers: { headers: {
@ -16,6 +16,7 @@ const DialogUserGantt = ({ openDialog, closeDialog, toggleDialog, idGantt, human
} }
const [id, setId] = useState(0) const [id, setId] = useState(0)
const [targetKeys, setTargetKeys] = useState([]) const [targetKeys, setTargetKeys] = useState([])
const [humanResource, setHumanResource] = useState([])
const handleCLearData = () => { const handleCLearData = () => {
@ -26,6 +27,8 @@ const DialogUserGantt = ({ openDialog, closeDialog, toggleDialog, idGantt, human
useEffect(() => { useEffect(() => {
if(!openDialog){ if(!openDialog){
handleCLearData() handleCLearData()
} else {
getDataHumanResource();
} }
}, [openDialog]) }, [openDialog])
@ -35,6 +38,31 @@ const DialogUserGantt = ({ openDialog, closeDialog, toggleDialog, idGantt, human
} }
}, [idGantt]) }, [idGantt])
const getDataHumanResource = async () => {
const result = await axios
.get(USER_LIST, HEADER)
.then(res => res)
.catch((error) => error.response);
if (result && result.status == 200) {
setTransferUser(result.data.data);
} else {
}
}
const setTransferUser = (data) => {
const finalData = []
data.map((val, index) => {
let data = {
key: val.id,
title: val.name
}
finalData.push(data)
});
setHumanResource(finalData)
}
const getUserGantt = async () => { const getUserGantt = async () => {
const payload = { const payload = {
"columns": [ "columns": [

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

@ -135,15 +135,31 @@ const CreatedProyek = ({ params, ...props }) => {
const pageName = params.name; const pageName = params.name;
useEffect(() => { useEffect(() => {
// getDataUserResource() if (openDialogMaterial) {
getDataMaterialResource(); getDataMaterialResource();
}
}, [openDialogMaterial]);
useEffect(() => {
if (openDialogTools) {
getDataToolsResource(); getDataToolsResource();
}
}, [openDialogTools]);
useEffect(() => {
if (openDialogAssignK3) {
getDataK3();
}
}, [openDialogAssignK3]);
useEffect(() => {
if (openDialogProyek) {
handleGetTipeProject(); handleGetTipeProject();
handleGetPhaseProject(); handleGetPhaseProject();
handleGetDivisions(); handleGetDivisions();
handleGetDataPm(); handleGetDataPm();
getDataK3(); }
}, []); }, [openDialogProyek])
useEffect(() => { useEffect(() => {
getDataProyek(); getDataProyek();
@ -307,32 +323,6 @@ const CreatedProyek = ({ params, ...props }) => {
} }
}; };
const getdataHierarchy = async (idTask) => {
setLoadHierarchy(true);
const payload = {
columns: [
{
name: "project_id",
logic_operator: "=",
value: idTask,
operator: "AND",
},
],
};
const result = await axios
.post(HIERARCHY_FTTH_SEARCH, payload, HEADER)
.then((res) => res)
.catch((error) => error.response);
if (result && result.status == 200) {
setDataHierarchy(result.data.data);
setLoadHierarchy(false);
} else {
NotificationManager.error(
`Data gantt project gagal terload silahkan coba lagi!`,
"Failed!!"
);
}
};
const getDataToolsResource = async () => { const getDataToolsResource = async () => {
const result = await axios const result = await axios
.get(TOOLS_RESOURCE_LIST, HEADER) .get(TOOLS_RESOURCE_LIST, HEADER)
@ -843,8 +833,27 @@ const CreatedProyek = ({ params, ...props }) => {
["Project Name", "Budget", "Project Type", "PM", "Time Project"], ["Project Name", "Budget", "Project Type", "PM", "Time Project"],
]; ];
const payload = { const payload = {
paging: { start: 0, length: -1 }, columns: [
joins: [], {
name: "nama",
logic_operator: "ilike",
value: search,
operator: "AND",
},
],
joins: [
{
name: "m_users",
column_join: "pm_id",
column_results: ["name", "username"],
},
{
name: "m_type_proyek",
column_join: "type_proyek_id",
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: ["id"], ascending: false }, orders: { columns: ["id"], ascending: false },
}; };
@ -1084,7 +1093,6 @@ const CreatedProyek = ({ params, ...props }) => {
{ {
text.type_proyek_id == 9 ? text.type_proyek_id == 9 ?
<Button <Button
onClick={() => getdataHierarchy(text.id)}
size="small" size="small"
type="link" type="link"
style={{ color: "green" }} style={{ color: "green" }}
@ -1210,7 +1218,7 @@ const CreatedProyek = ({ params, ...props }) => {
dataPM={dataPm} dataPM={dataPm}
/> />
), ),
[openDialogProyek] [openDialogProyek, dataPm, dataDivisions, dataPhaseProject, dataTypeProyek, idTask]
); );
const RenderDialogFormMaterial = useMemo( const RenderDialogFormMaterial = useMemo(
@ -1226,7 +1234,7 @@ const CreatedProyek = ({ params, ...props }) => {
proyekName={proyekName} proyekName={proyekName}
/> />
), ),
[openDialogMaterial] [openDialogMaterial, proyekName, materialResource, materialProyek, userProyek, idTask]
); );
const RenderDialogTableTools = useMemo( const RenderDialogTableTools = useMemo(
@ -1241,7 +1249,7 @@ const CreatedProyek = ({ params, ...props }) => {
proyekName={proyekName} proyekName={proyekName}
/> />
), ),
[openDialogTools] [openDialogTools, proyekName, userProyek, toolsResource, idTask]
); );
// DialogAsignHr // DialogAsignHr
@ -1276,7 +1284,7 @@ const CreatedProyek = ({ params, ...props }) => {
dataK3={dataK3} dataK3={dataK3}
/> />
), ),
[openDialogAssignK3] [openDialogAssignK3, dataK3]
); );
const RenderDialogDoc = useMemo( const RenderDialogDoc = useMemo(

Loading…
Cancel
Save