Browse Source

file uploaded

pull/1/head
AiraBilqis 9 months ago
parent
commit
48fcb5247b
  1. 15
      src/views/SimproV2/CreatedProyek/DialogDocument.js
  2. 192
      src/views/SimproV2/CreatedProyek/FormFolderDocument.js

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

@ -28,14 +28,13 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
const [dataEdit, setDataEdit] = useState(null) const [dataEdit, setDataEdit] = useState(null)
const [parentIdNewFolder, setParentIdNewFolder] = useState(0) const [parentIdNewFolder, setParentIdNewFolder] = useState(0)
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
const company_id = window.localStorage.getItem('company_id');
useEffect(() => { useEffect(() => {
if (idTask > 0) { if (parseInt(idTask) > 0) {
setLoading(true); setLoading(true);
getDataDocument(); getDataDocument();
} }
}, [idTask, openDialog]) }, [parseInt(idTask), openDialog])
useEffect(() => { useEffect(() => {
if (!openDialog) { if (!openDialog) {
@ -46,7 +45,7 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
}, [openDialog]) }, [openDialog])
const getDataDocument = async () => { const getDataDocument = async () => {
const url = FOLDER_DOCUMENT_PROYEK_GET_TREE(idTask) const url = FOLDER_DOCUMENT_PROYEK_GET_TREE(parseInt(idTask))
const result = await axios const result = await axios
.get(url, HEADER) .get(url, HEADER)
.then(res => res) .then(res => res)
@ -76,7 +75,7 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
} }
const handleDownload = (id, file) => { const handleDownload = (id, file) => {
fetch(DOCUMENT_DOWNLOAD(id, company_id), { fetch(DOCUMENT_DOWNLOAD(id, parseInt(idTask)), {
headers: new Headers({ headers: new Headers({
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'Authorization': `Bearer ${token}` 'Authorization': `Bearer ${token}`
@ -206,7 +205,7 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
} }
const onConfirmDelete = async () => { const onConfirmDelete = async () => {
let urlDel = DOCUMENT_DELETE(idDelete, idTask) let urlDel = DOCUMENT_DELETE(idDelete, parseInt(idTask))
const result = await axios.delete(urlDel, HEADER) const result = await axios.delete(urlDel, HEADER)
.then(res => res) .then(res => res)
.catch((error) => error.response); .catch((error) => error.response);
@ -317,7 +316,7 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
openDialog={openDialogReq} openDialog={openDialogReq}
closeDialog={closeDialogReq} closeDialog={closeDialogReq}
toggleDialog={toggleDialogReq} toggleDialog={toggleDialogReq}
idTask={idTask} idTask={parseInt(idTask)}
parentIdNewFolder={parentIdNewFolder} parentIdNewFolder={parentIdNewFolder}
dataEdit={dataEdit} dataEdit={dataEdit}
/> />
@ -326,7 +325,7 @@ const DialogDocument = ({ openDialog, closeDialog, toggleDialog, idTask, proyekN
openDialog={openDialogNewFolder} openDialog={openDialogNewFolder}
closeDialog={closeDialogNewFolder} closeDialog={closeDialogNewFolder}
toggleDialog={toggleDialogNewFolder} toggleDialog={toggleDialogNewFolder}
idTask={idTask} idTask={parseInt(idTask)}
parentIdNewFolder={parentIdNewFolder} parentIdNewFolder={parentIdNewFolder}
dataEdit={dataEdit} dataEdit={dataEdit}
/> />

192
src/views/SimproV2/CreatedProyek/FormFolderDocument.js

@ -1,96 +1,96 @@
import React, { useEffect, useState } from 'react' import React, { useEffect, useState } from 'react'
import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';
import { Button, Form, FormGroup, Label, Input, Col, Row } from 'reactstrap'; import { Button, Form, FormGroup, Label, Input, Col, Row } from 'reactstrap';
import axios from "../../../const/interceptorApi"; import axios from "../../../const/interceptorApi";
import { DOCUMENT_ADD, FOLDER_DOCUMENT_PROYEK_ADD } from '../../../const/ApiConst'; import { FOLDER_DOCUMENT_PROYEK_ADD } from '../../../const/ApiConst';
import 'antd/dist/antd.css'; import 'antd/dist/antd.css';
import { NotificationManager } from 'react-notifications'; import { NotificationManager } from 'react-notifications';
const DialogRequestFolder = ({ openDialog, closeDialog, toggleDialog, idTask, parentIdNewFolder }) => { const DialogRequestFolder = ({ openDialog, closeDialog, toggleDialog, idTask, parentIdNewFolder }) => {
const token = localStorage.getItem("token") const token = localStorage.getItem("token")
const HEADER = { const HEADER = {
headers: { headers: {
"Content-Type": "application/json", "Content-Type": "application/json",
"Authorization": `Bearer ${token}` "Authorization": `Bearer ${token}`
} }
} }
const [id, setId] = useState(0) const [id, setId] = useState(0)
const [folderName, setFolderName] = useState('') const [folderName, setFolderName] = useState('')
const handleClearData = () => { const handleClearData = () => {
setId(0) setId(0)
setFolderName('') setFolderName('')
} }
useEffect(() => { useEffect(() => {
handleClearData() handleClearData()
}, [openDialog]) }, [openDialog])
const handleSave = () => { const handleSave = () => {
saveFolder() saveFolder()
handleClearData() handleClearData()
} }
const saveFolder = async () => { const saveFolder = async () => {
let payload = { let payload = {
"proyek_id": idTask, "proyek_id": idTask,
"name_folder": folderName "name_folder": folderName
} }
if (parentIdNewFolder > 0) { if (parentIdNewFolder > 0) {
payload.parent_id = parentIdNewFolder payload.parent_id = parentIdNewFolder
} }
const result = await axios const result = await axios
.post(FOLDER_DOCUMENT_PROYEK_ADD, payload, HEADER) .post(FOLDER_DOCUMENT_PROYEK_ADD, payload, HEADER)
.then(res => res) .then(res => res)
.catch((error) => error.response); .catch((error) => error.response);
if (result && result.data && result.data.code == 200) { if (result && result.data && result.data.code == 200) {
NotificationManager.success('Success create folder!!', 'Success'); NotificationManager.success('Success create folder!!', 'Success');
closeDialog("upload"); closeDialog("upload");
} else { } else {
NotificationManager.error('Failed to create folder!!', 'Failed'); NotificationManager.error('Failed to create folder!!', 'Failed');
} }
} }
const handleCancel = () => { const handleCancel = () => {
closeDialog('cancel') closeDialog('cancel')
handleClearData() handleClearData()
} }
const renderForm = () => { const renderForm = () => {
return ( return (
<Form> <Form>
<FormGroup> <FormGroup>
<Label className="capitalize">Folder Name</Label> <Label className="capitalize">Folder Name</Label>
<Input type="text" onChange={(e) => setFolderName(e.target.value)} /> <Input type="text" onChange={(e) => setFolderName(e.target.value)} />
</FormGroup> </FormGroup>
</Form> </Form>
) )
} }
return ( return (
<> <>
<Modal isOpen={openDialog} toggle={toggleDialog}> <Modal isOpen={openDialog} toggle={toggleDialog}>
<ModalHeader className="capitalize" toggle={closeDialog}>Create New Folder</ModalHeader> <ModalHeader className="capitalize" toggle={closeDialog}>Create New Folder</ModalHeader>
<ModalBody> <ModalBody>
{renderForm()} {renderForm()}
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>
<Button color="primary" onClick={() => handleSave()}>Save</Button>{' '} <Button color="primary" onClick={() => handleSave()}>Save</Button>{' '}
<Button className="capitalize" color="secondary" onClick={() => handleCancel()}>Cancel</Button> <Button className="capitalize" color="secondary" onClick={() => handleCancel()}>Cancel</Button>
</ModalFooter> </ModalFooter>
</Modal> </Modal>
</> </>
) )
} }
export default DialogRequestFolder; export default DialogRequestFolder;

Loading…
Cancel
Save