import React from 'react';
import { useNavigate} from 'react-router-dom';
import URL from 'constants/url';
import * as EgovNet from 'api/egovFetch';
import { SERVER_URL } from 'config';
import CODE from 'constants/code';
function EgovAttachFile({ boardFiles, mode, fnChangeFile, fnDeleteFile, posblAtchFileNumber }) {
console.groupCollapsed("EgovAttachFile");
// posblAtchFileNumber는 수정일 경우에만 값이 넘어오므로 방어 로직
// 해당 컴포넌트는 스케줄 화면과 공유하며, 스케줄에서는 첨부파일을 1개 넣을 수 있으므로 디폴트 값을 1로 설정
if(typeof posblAtchFileNumber == "undefined" || posblAtchFileNumber == null) {
posblAtchFileNumber = 1;
}
const navigate = useNavigate();
function onClickDownFile(atchFileId, fileSn) {
window.open(SERVER_URL + "/cmm/fms/FileDown.do?atchFileId=" + atchFileId + "&fileSn=" + fileSn + "");
}
function onClickDeleteFile(atchFileId, fileSn, fileIndex) {
console.log("onClickDeleteFile Params : ", atchFileId, fileSn, fileIndex);
const requestOptions = {
method: "POST",
headers: {
'Content-type': 'application/json'
},
body: JSON.stringify({
atchFileId : atchFileId,
fileSn : fileSn
})
}
EgovNet.requestFetch(`/cmm/fms/deleteFileInfsAPI.do`,
requestOptions,
function (resp) {
console.log("===>>> board file delete= " , resp);
if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) {
// 성공
console.log("Deleted fileIndex = " , fileIndex);
// eslint-disable-next-line no-unused-vars
const _deleteFile = boardFiles.splice(fileIndex, 1);
const _boardFiles = Object.assign([], boardFiles);
fnDeleteFile(_boardFiles);
alert("첨부파일이 삭제되었습니다.");
fnChangeFile({});
} else {
navigate({pathname: URL.ERROR}, {state: {msg : resp.resultMessage}});
}
}
);
}
function onChangeFileInput(e) {
console.log("===>>> e = " + e.target.files[0]);
if (e.target.files.length+(boardFiles?.length||0) > posblAtchFileNumber) {
alert('총 첨부파일 개수는 '+posblAtchFileNumber+' 까지 입니다.');
e.target.value = null; // 파일 입력란 화면 초기화
fnChangeFile({}); // 상위 컴포넌트의 저장된 값 초기화
return false;
}
fnChangeFile(e.target.files);
}
let filesTag = [];
if (boardFiles !== undefined) {
boardFiles.forEach(function (item, index) {
filesTag.push(
);
});
}
console.log("filesTag : ", filesTag);
console.groupEnd("EgovAttachFile");
return (