298 lines
10 KiB
Plaintext
298 lines
10 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ page import="java.util.*" %>
|
|
<%@include file= "/init.jsp" %>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
</head>
|
|
<script>
|
|
var callbackFnc = "${param.callbackFnc}";
|
|
var _isChanged = false;
|
|
var _fileCnt = 0;
|
|
var _fileCntFtc = 0; // FTC주문서 파일 개수
|
|
var _fileCntOrder = 0; // 주문서 파일 개수
|
|
|
|
$(document).ready(function(){
|
|
|
|
$("#btn_close").click(function(){
|
|
//opener.fn_search();
|
|
openerCallback();
|
|
self.close(0);
|
|
});
|
|
|
|
// FTC주문서 첨부 파일 기능
|
|
fnc_setFileDropZone("ftcDropZone", "${param.targetObjId}", "FTC_ORDER", "FTC주문서", "ftcAreaDraw",false,null,null,null, "${param.parentTargetObjId}");
|
|
|
|
// 주문서 첨부 파일 기능
|
|
fnc_setFileDropZone("orderDropZone", "${param.targetObjId}", "ORDER", "주문서", "orderAreaDraw",false,null,null,null, "${param.parentTargetObjId}");
|
|
|
|
ftcAreaDraw();
|
|
orderAreaDraw();
|
|
|
|
// FTC주문서 업로드 버튼
|
|
$("#btnUploadFtc").click(function(){
|
|
var files = $("#fileFtc")[0].files;
|
|
if(files.length > 0){
|
|
fnc_fileMultiUpload(files, null, "${param.targetObjId}", "FTC_ORDER", "FTC주문서", null, "ftcAreaDraw",null, "${param.parentTargetObjId}");
|
|
$("#fileFtc").val("");
|
|
}else{
|
|
Swal.fire("선택된 File이 없습니다.");
|
|
}
|
|
});
|
|
|
|
// 주문서 업로드 버튼
|
|
$("#btnUploadOrder").click(function(){
|
|
var files = $("#fileOrder")[0].files;
|
|
if(files.length > 0){
|
|
fnc_fileMultiUpload(files, null, "${param.targetObjId}", "ORDER", "주문서", null, "orderAreaDraw",null, "${param.parentTargetObjId}");
|
|
$("#fileOrder").val("");
|
|
}else{
|
|
Swal.fire("선택된 File이 없습니다.");
|
|
}
|
|
});
|
|
});
|
|
|
|
function refeshAttachFileArea(){
|
|
ftcAreaDraw();
|
|
orderAreaDraw();
|
|
}
|
|
|
|
// FTC주문서 영역을 display 한다.
|
|
function ftcAreaDraw(){
|
|
fn_fileCallback("ftc","FTC_ORDER");
|
|
}
|
|
|
|
// 주문서 영역을 display 한다.
|
|
function orderAreaDraw(){
|
|
fn_fileCallback("order","ORDER");
|
|
}
|
|
|
|
function openerCallback(){
|
|
// 전체 파일 개수 합산
|
|
_fileCnt = _fileCntFtc + _fileCntOrder;
|
|
|
|
if( (fnc_isEmpty(callbackFnc) || callbackFnc == "fnc_tabulCallbackFnc") && opener.fnc_tabulCallbackFnc){
|
|
opener.fnc_tabulCallbackFnc("${param.targetObjId}", "${param.docType}", "${param.columnField}", _fileCnt);
|
|
}else if(fnc_checkNull(callbackFnc) != ""){
|
|
opener.eval(callbackFnc+"();");
|
|
}
|
|
}
|
|
|
|
//첨부파일 목록을 가져온다.
|
|
function fn_fileCallback(areaId,fileType){
|
|
//Swal.fire("areaId : "+areaId+", fileType : "+fileType+", targetObjId : ${param.targetObjId}");
|
|
var fileList = [];
|
|
var filesize=0;
|
|
|
|
var param = {"targetObjId":"${param.targetObjId}", "docType":fileType};
|
|
var searchAllInParent = fnc_checkNull(${param.searchAllInParent});
|
|
if(searchAllInParent && "${param.parentTargetObjId}"){
|
|
param["parentTargetObjId"] = "${param.parentTargetObjId}";
|
|
param["targetObjId"] = "";
|
|
}
|
|
$.ajax({
|
|
url:"/common/getFileList.do",
|
|
type:"POST",
|
|
data:param,
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
// 파일 타입별로 개수 저장
|
|
if(areaId == "ftc"){
|
|
_fileCntFtc = data.length;
|
|
}else if(areaId == "order"){
|
|
_fileCntOrder = data.length;
|
|
}
|
|
|
|
filesize = data.length;
|
|
if(0 < data.length){
|
|
|
|
//첨부파일 목록 영역 show
|
|
$("#"+areaId+"FileArea").empty();
|
|
|
|
if(0 < $("#"+areaId+"DefaultRow").length){
|
|
$("#"+areaId+"DefaultRow").hide();
|
|
}
|
|
|
|
$.each(data, function(i){
|
|
|
|
var appendText = "";
|
|
if("ftc" == areaId || "order" == areaId){
|
|
var path = data[i].FILE_PATH;
|
|
var fileName = data[i].SAVED_FILE_NAME;
|
|
var fileExt = data[i].UPPER_FILE_EXT;
|
|
var DOC_TYPE = data[i].DOC_TYPE;
|
|
|
|
// 번호를 거꾸로 표시 (최신 파일이 1차)
|
|
var displayNum = data.length - i;
|
|
|
|
appendText+= "<tr>";
|
|
appendText+= " <td>"+displayNum+"차</td>";
|
|
appendText+= " <td class='align_l'><a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'> "+data[i].REAL_FILE_NAME+"</a>";
|
|
if(data[i].WRITER=="${connectUserId}" || 'plm_admin'== "${connectUserId}" || DOC_TYPE.indexOf("CAD") > -1){
|
|
appendText+= "<a href='javascript:fileDelete(\""+data[i].OBJID+"\",\""+areaId+"\",\""+fileType+"\")'><div class='delete_btn'></div></a>";
|
|
}
|
|
|
|
appendText+= "</td>";
|
|
appendText+= " <td>"+data[i].REGDATE+"</td>"
|
|
appendText+= " <td>"+data[i].FILE_SIZE+"</td>"
|
|
appendText+= "</tr>";
|
|
|
|
fileList.push(fileName);
|
|
}
|
|
$("#"+areaId+"FileArea").append(appendText);
|
|
});
|
|
}else{
|
|
$("#"+areaId+"DropZone").show();
|
|
$("#"+areaId+"AttachFileList").hide();
|
|
$("#"+areaId+"FileArea").empty();
|
|
var appendText = "";
|
|
appendText += "<tr>";
|
|
appendText += "<td colspan='4'>첨부 파일이 없습니다.</td>";
|
|
appendText +="</tr>";
|
|
$("#"+areaId+"FileArea").append(appendText);
|
|
}
|
|
|
|
openerCallback();
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
if(fnc_checkNull(callbackFnc) != ""){
|
|
opener.eval(callbackFnc+"('"+fileType+"','"+filesize+"');");
|
|
}
|
|
|
|
|
|
/* $("#fileList").val(fileList.join(",") );
|
|
var fileList = $("#fileList").val();
|
|
var callstr = "${param.callbackFnc}('"+fileList+"');";
|
|
try{
|
|
opener.${param.callbackFnc}(fileList);
|
|
}catch(e){
|
|
} */
|
|
}//파일 첨부 END
|
|
|
|
|
|
/*첨부 파일 삭제 */
|
|
function fileDelete(fileObjId, areaId, fileType){
|
|
if(confirm("파일을 삭제하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/common/deleteFileInfo.do",
|
|
type:"POST",
|
|
data:{"objId":fileObjId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
fn_fileCallback(areaId, fileType);
|
|
if(fnc_checkNull(callbackFnc) != ""){
|
|
opener.eval(callbackFnc+"();");
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
</script>
|
|
<body>
|
|
<form name="form1" action="" method="post">
|
|
<input type="hidden" name="fileList" id="fileList" />
|
|
<section class="business_staff_popup_min_width">
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>파일등록</span>
|
|
</h2>
|
|
</div>
|
|
<div id="businessPopupFormWrap">
|
|
<!--
|
|
<div class="form_popup_title"> 자료등록</div>
|
|
-->
|
|
<table class="pmsPopupForm">
|
|
<!-- FTC주문서 첨부 영역 -->
|
|
<tr>
|
|
<td class="input_title align_c">FCST주문서</td>
|
|
<td colspan="8">
|
|
<div style="width: 100%; overflow: hidden; box-sizing: border-box;">
|
|
<div id="ftcDropZone" class="dropzone" style="width: 100% !important; max-width: 100%; box-sizing: border-box; margin-bottom: 5px;">Drag & Drop Files Here</div>
|
|
<div style="margin-bottom: 5px;">
|
|
<input type="file" name="fileFtc" id="fileFtc" multiple>
|
|
<input type="button" id="btnUploadFtc" value="Upload" class="upload_btns">
|
|
</div>
|
|
<div id="ftcFileAreaTable" class="spec_data_in_table">
|
|
<div style="height: 150px; overflow-y: auto; border: 1px solid #cacaca;">
|
|
<table id="" class="fileListscrollTbody" style="width:100%; table-layout: fixed;">
|
|
<colgroup>
|
|
<col style="width: 60px;">
|
|
<col style="width: calc(100% - 260px);">
|
|
<col style="width: 100px;">
|
|
<col style="width: 100px;">
|
|
</colgroup>
|
|
<thead style="position: sticky; top: 0; background-color: #9e9e9e; z-index: 1;">
|
|
<tr>
|
|
<td style="text-align: center;">No</td>
|
|
<td style="text-align: center;">파일명</td>
|
|
<td style="text-align: center;">등록일</td>
|
|
<td style="text-align: center;">Size</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="ftcFileArea">
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
<!-- 주문서 첨부 영역 -->
|
|
<tr>
|
|
<td class="input_title align_c">주문서</td>
|
|
<td colspan="8">
|
|
<div style="width: 100%; overflow: hidden; box-sizing: border-box;">
|
|
<div id="orderDropZone" class="dropzone" style="width: 100% !important; max-width: 100%; box-sizing: border-box; margin-bottom: 5px;">Drag & Drop Files Here</div>
|
|
<div style="margin-bottom: 5px;">
|
|
<input type="file" name="fileOrder" id="fileOrder" multiple>
|
|
<input type="button" id="btnUploadOrder" value="Upload" class="upload_btns">
|
|
</div>
|
|
<div id="orderFileAreaTable" class="spec_data_in_table">
|
|
<div style="height: 150px; overflow-y: auto; border: 1px solid #cacaca;">
|
|
<table id="" class="fileListscrollTbody" style="width:100%; table-layout: fixed;">
|
|
<colgroup>
|
|
<col style="width: 60px;">
|
|
<col style="width: calc(100% - 260px);">
|
|
<col style="width: 100px;">
|
|
<col style="width: 100px;">
|
|
</colgroup>
|
|
<thead style="position: sticky; top: 0; background-color: #9e9e9e; z-index: 1;">
|
|
<tr>
|
|
<td style="text-align: center;">No</td>
|
|
<td style="text-align: center;">파일명</td>
|
|
<td style="text-align: center;">등록일</td>
|
|
<td style="text-align: center;">Size</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="orderFileArea">
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap_center">
|
|
<input type="button" value="닫기" id="btn_close" class="plm_btns">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</form>
|
|
</body>
|
|
</html> |