diff --git a/src/views/SimproV2/CreatedProyek/DialogDocument.js b/src/views/SimproV2/CreatedProyek/DialogDocument.js
index dac19ae..6a70a96 100644
--- a/src/views/SimproV2/CreatedProyek/DialogDocument.js
+++ b/src/views/SimproV2/CreatedProyek/DialogDocument.js
@@ -81,7 +81,7 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
setAlertDeleteFolder(true)
}
- const handleDownload = (id) => {
+ const handleDownload = (id, file) => {
fetch(DOCUMENT_DOWNLOAD(id), {
headers: new Headers({
'Content-Type': 'application/json',
@@ -90,11 +90,12 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
})
.then(response => {
response.blob().then(blob => {
- let url = window.URL.createObjectURL(blob);
+ const url = window.URL.createObjectURL(new Blob([blob]));
let a = document.createElement('a');
a.href = url;
- a.download = 'Project Documents';
+ a.download = file;
a.click();
+ a.remove();
});
//window.location.href = response.url;
});
@@ -156,7 +157,7 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
}{" "}
{!record.isDir &&
-
+
}{" "}
{record.isDir &&
@@ -337,4 +338,4 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
}
-export default DialogDocument;
\ No newline at end of file
+export default DialogDocument;
diff --git a/src/views/SimproV2/CreatedProyek/DialogGantt.js b/src/views/SimproV2/CreatedProyek/DialogGantt.js
index 7341d44..d52819f 100644
--- a/src/views/SimproV2/CreatedProyek/DialogGantt.js
+++ b/src/views/SimproV2/CreatedProyek/DialogGantt.js
@@ -39,10 +39,6 @@ const DialogGantt = ({ openDialog, closeDialog, toggleDialog, idTask, proyekName
}
}, [hierarchyId, idTask, openDialog])
- useEffect(() => {
- getDataHumanResource();
- }, [])
-
useEffect(() => {
if (!openDialog) {
setDataGantt([]);
@@ -274,7 +270,6 @@ const DialogGantt = ({ openDialog, closeDialog, toggleDialog, idTask, proyekName
{
- getDataHumanResource();
- }, [])
-
useEffect(() => {
if (!openDialog) {
setDataHierarchy([]);
@@ -333,7 +329,6 @@ const DialogHierarchy = ({ openDialog, closeDialog, toggleDialog, idTask, proyek
{
+const DialogUserGantt = ({ openDialog, closeDialog, toggleDialog, idGantt}) => {
const token = localStorage.getItem("token")
const HEADER = {
headers: {
@@ -16,6 +16,7 @@ const DialogUserGantt = ({ openDialog, closeDialog, toggleDialog, idGantt, human
}
const [id, setId] = useState(0)
const [targetKeys, setTargetKeys] = useState([])
+ const [humanResource, setHumanResource] = useState([])
const handleCLearData = () => {
@@ -26,6 +27,8 @@ const DialogUserGantt = ({ openDialog, closeDialog, toggleDialog, idGantt, human
useEffect(() => {
if(!openDialog){
handleCLearData()
+ } else {
+ getDataHumanResource();
}
}, [openDialog])
@@ -35,6 +38,31 @@ const DialogUserGantt = ({ openDialog, closeDialog, toggleDialog, idGantt, human
}
}, [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 payload = {
"columns": [
@@ -139,4 +167,4 @@ const DialogUserGantt = ({ openDialog, closeDialog, toggleDialog, idGantt, human
}
-export default DialogUserGantt;
\ No newline at end of file
+export default DialogUserGantt;
diff --git a/src/views/SimproV2/CreatedProyek/index.js b/src/views/SimproV2/CreatedProyek/index.js
index 13deced..b2c667e 100644
--- a/src/views/SimproV2/CreatedProyek/index.js
+++ b/src/views/SimproV2/CreatedProyek/index.js
@@ -133,17 +133,33 @@ const CreatedProyek = ({ params, ...props }) => {
const [dataHierarchy, setDataHierarchy] = useState([]);
const pageName = params.name;
-
- useEffect(() => {
- // getDataUserResource()
- getDataMaterialResource();
- getDataToolsResource();
- handleGetTipeProject();
- handleGetPhaseProject();
- handleGetDivisions();
- handleGetDataPm();
- getDataK3();
- }, []);
+
+ useEffect(() => {
+ if (openDialogMaterial) {
+ getDataMaterialResource();
+ }
+ }, [openDialogMaterial]);
+
+ useEffect(() => {
+ if (openDialogTools) {
+ getDataToolsResource();
+ }
+ }, [openDialogTools]);
+
+ useEffect(() => {
+ if (openDialogAssignK3) {
+ getDataK3();
+ }
+ }, [openDialogAssignK3]);
+
+ useEffect(() => {
+ if (openDialogProyek) {
+ handleGetTipeProject();
+ handleGetPhaseProject();
+ handleGetDivisions();
+ handleGetDataPm();
+ }
+ }, [openDialogProyek])
useEffect(() => {
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 result = await axios
.get(TOOLS_RESOURCE_LIST, HEADER)
@@ -843,9 +833,28 @@ const CreatedProyek = ({ params, ...props }) => {
["Project Name", "Budget", "Project Type", "PM", "Time Project"],
];
const payload = {
- paging: { start: 0, length: -1 },
- joins: [],
- orders: { columns: ["id"], ascending: false },
+ columns: [
+ {
+ 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 },
};
const result = await axios
@@ -1084,7 +1093,6 @@ const CreatedProyek = ({ params, ...props }) => {
{
text.type_proyek_id == 9 ?