# WARNING: head commit changed in the meantime

Merge branch 'master' of
http://yongjoon.cho@vcs.iten.co.kr:9999/itnAdmin/fairnet
g/w 파일 연계 작업 진행중
This commit is contained in:
myname 2024-12-24 10:39:18 +09:00
parent e943bc7d6a
commit 2d71d94c3e
13 changed files with 10977 additions and 18 deletions

View File

@ -0,0 +1,196 @@
package seed.com.gtm.base;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import seed.com.gtm.counsel.OnlineCounselService;
import seed.com.gtm.seedfile.SeedFileService;
import seed.common.service.InnorixFileService;
import seed.utils.SeedUtils;
@Controller
/*@RequestMapping("/gtm/case")*/
public class BaseNewController {
protected Log log = LogFactory.getLog(this.getClass());
@Autowired
private OnlineCounselService service;
@Autowired
private SeedFileService fileService;
@Autowired
private InnorixFileService innorixFileService;
//@Autowired
//private GwFileAtch gwFileAtch;
public void setSessionMessageRemove(HttpSession session){
session.removeAttribute("url");
session.removeAttribute("message");
session.removeAttribute("opener");
session.removeAttribute("append");
session.removeAttribute("self");
}
@RequestMapping("/gtm/newcasebase/fileatchPop/rawEdit.do")
public String fileatchRawEdit(ModelMap model,
HttpServletRequest request,HttpSession session,
@RequestParam Map<String,Object> paramMap,
Map<String, Object> map
){
if( SeedUtils.setReplaceNull(paramMap.get("managerNm")).equals("") ){
paramMap.put("managerNm", session.getAttribute("memberName"));
}
if( SeedUtils.setReplaceNull(paramMap.get("managerId")).equals("") ){
paramMap.put("managerId", session.getAttribute("memberId"));
}
paramMap.put("dataIdx", paramMap.get("counselSeq"));
service.lawCounselUpdate(paramMap);
fileService.fileInsert(paramMap, request, session);
fileService.fileDel(paramMap);
String counselSeq = SeedUtils.setReplaceNull(paramMap.get("counselSeq"));
String page = SeedUtils.setReplaceNull(paramMap.get("page"));
String searchDate1 = SeedUtils.setReplaceNull(paramMap.get("searchDate1"));
String searchDate2 = SeedUtils.setReplaceNull(paramMap.get("searchDate2"));
String searchDate3 = SeedUtils.setReplaceNull(paramMap.get("searchDate3"));
String searchDate4 = SeedUtils.setReplaceNull(paramMap.get("searchDate4"));
String searchDate5 = SeedUtils.setReplaceNull(paramMap.get("searchDate5"));
String searchDate6 = SeedUtils.setReplaceNull(paramMap.get("searchDate6"));
String searchApp = SeedUtils.setReplaceNull(paramMap.get("searchApp"));
String searchMa = SeedUtils.setReplaceNull(paramMap.get("searchMa"));
String searchTitle = SeedUtils.setReplaceNull(paramMap.get("searchTitle"));
String searchType = SeedUtils.setReplaceNull(paramMap.get("searchType"));
String searchState = SeedUtils.setReplaceNull(paramMap.get("searchState"));
String fileFuncType = "law";
String fileFuncType2 = "lawCard";
this.setSessionMessageRemove(session);
map.put("message", "common.message.reg");
map.put("url", "/gtm/case/trublprocessmng/fileAtchPop/jsp/Page.do?counselSeq=" + counselSeq + "&page=" + page +
"&searchDate1=" + searchDate1 + "&searchDate2=" + searchDate2 + "&searchDate3=" + searchDate3 +
"&searchDate4=" + searchDate4 + "&searchDate5=" + searchDate5 + "&searchDate6=" + searchDate6 + "&searchApp=" + searchApp + "&searchMa=" + searchMa + "&searchTitle=" + searchTitle +
"&searchType=" + searchType + "&searchState=" + searchState + "&fileFuncType=" + fileFuncType + "&fileFuncType2=" + fileFuncType2);
System.out.println(paramMap.toString());
//이노릭스 대용량 업로드
String innorixFileListStr = (String) paramMap.get("innorixFileListVO");
if(!"".equals(innorixFileListStr)) {
try {
String counselSeqTemp = counselSeq;
int innorixDataIdx = Integer.parseInt(counselSeqTemp);
paramMap.put("innorixDataIdx", innorixDataIdx);
innorixFileService.innorixExtraFileInsert(innorixFileListStr, paramMap);
}catch(Exception e) {
System.out.println("이노릭스에러");
e.printStackTrace();
}
}
return "/_common/jsp/message";
}
/**
* 게시물에 대한 내용을 수정한다.
*
* @param boardVO
* @param board
* @param sessionVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value= {"/gtm/newcasebase/fileatchPop/fileAjax.do" })
public ModelAndView updateBoardArticle(final MultipartHttpServletRequest multiRequest,
/*
@ModelAttribute("searchVO") BoardVO boardVO,
@ModelAttribute("bdMstr") BoardMaster bdMstr,
@ModelAttribute("board") Board board,
BindingResult bindingResult,
ModelMap model,
SessionStatus status,
*/ @RequestParam Map<String,Object> paramMap,
HttpServletRequest request, HttpSession session,
RedirectAttributes redirectAttributes) throws Exception {
System.out.println("aaa");
paramMap.put("dataIdx", paramMap.get("memberNo"));
fileService.fileInsert(paramMap, request, session);
System.out.println("aaaddddd");
fileService.fileDel(paramMap);
System.out.println("aaabbbb");
/*
//String s_compSeq = multiRequest.getParameter("compSeq");
String s_loginId = multiRequest.getParameter("loginId");
String s_deleteYN = multiRequest.getParameter("deleteYN");
MultipartFile mFile = null;
final Map<String, MultipartFile> files = multiRequest.getFileMap();
Iterator<?> fileIter = multiRequest.getFileNames();
boolean result = true;
/*
while (fileIter.hasNext()) {
mFile = multiRequest.getFile((String) fileIter.next());
String tmp = mFile.getOriginalFilename();
int index = tmp.lastIndexOf(".");
String fileExt = tmp.substring(index + 1);
String[] imgExts = {"zip", "hwp"};
if (ArrayUtils.indexOf(imgExts, fileExt.toLowerCase()) == -1) result = false;
}
*/
/*
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
if (!result) {
modelAndView.addObject("result", "fail");
modelAndView.addObject("message", "zip, hwp 만 가능합니다.");
return modelAndView;
}
GwFileAtch gwFileAtch1 = new GwFileAtch();
gwFileAtch1.Lookup(s_loginId, s_deleteYN, files, mFile);
*/
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
modelAndView.addObject("result", "success");
return modelAndView;
}
}

View File

@ -1,7 +1,6 @@
package seed.com.gtm.seedfile; package seed.com.gtm.seedfile;
import java.io.File; import java.io.File;
import java.io.IOException;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -54,6 +53,7 @@ public class SeedFileService {
siteIdx = SeedUtils.setReplaceNull(request.getParameter("siteIdx")); siteIdx = SeedUtils.setReplaceNull(request.getParameter("siteIdx"));
} }
String fileFuncType = (String)paramMap.get("fileFuncType"); String fileFuncType = (String)paramMap.get("fileFuncType");
String fileChgType = (String)paramMap.get("fileChgType");
SeedProperties seedProperties = new SeedProperties(); SeedProperties seedProperties = new SeedProperties();
@ -68,7 +68,7 @@ public class SeedFileService {
String rootPath = null; String rootPath = null;
String tempPath = globalTempPath; String tempPath = globalTempPath;
if(fileFuncType.equals("trublchargermng")){ if(fileFuncType.equals("trublchargermng") || fileFuncType.indexOf("X-")>-1){ //gw 연동용 파일
rootPath = globalRootPath; rootPath = globalRootPath;
}else{ }else{
rootPath = globalRealPath; rootPath = globalRealPath;
@ -87,6 +87,10 @@ public class SeedFileService {
String[] uploadFileName = request.getParameterValues("uploadFileName"); String[] uploadFileName = request.getParameterValues("uploadFileName");
String[] uploadFileReName = request.getParameterValues("uploadFileReName"); String[] uploadFileReName = request.getParameterValues("uploadFileReName");
String[] copyContractYnList = request.getParameterValues("copyContractYn"); String[] copyContractYnList = request.getParameterValues("copyContractYn");
System.out.println("uploadFileName");
System.out.println(uploadFileName.length);
if(uploadFileName!=null && uploadFileName.length > 0){ if(uploadFileName!=null && uploadFileName.length > 0){
for(int i=0; i<uploadFileName.length; i++){ for(int i=0; i<uploadFileName.length; i++){
@ -102,17 +106,19 @@ public class SeedFileService {
String reFileName = renameDate + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1))); String reFileName = renameDate + "_" + SeedUtils.getSeedMD5Code(String.valueOf(SeedUtils.getRandom(999,1)));
File oldFile = null; File oldFile = null;
if(fileFuncType.equals("trublchargermng")){ if(fileFuncType.equals("trublchargermng") || fileFuncType.indexOf("X-")>-1){
oldFile = new File(rootPath + "/"+siteIdx+"/upload/tempFiles/"+fileFuncType+ "/" + uploadFileReNameData); oldFile = new File(rootPath + "/"+siteIdx+"/upload/tempFiles/"+fileFuncType+ "/" + uploadFileReNameData);
}else{ }else{
oldFile = new File(tempPath + "/"+siteIdx+"/"+fileFuncType+ "/" + uploadFileReNameData); oldFile = new File(tempPath + "/"+siteIdx+"/"+fileFuncType+ "/" + uploadFileReNameData);
} }
System.out.println(oldFile.getAbsolutePath());
if(oldFile.exists()){ if(oldFile.exists()){
Long fileSize = oldFile.length(); Long fileSize = oldFile.length();
String filePath =""; String filePath ="";
if(fileFuncType.equals("trublchargermng")){ if(fileFuncType.equals("trublchargermng") || fileFuncType.indexOf("X-")>-1){
SeedUtils.setSeedFileCopy(rootPath + "/"+siteIdx+"/upload/tempFiles/"+fileFuncType+ "/" + uploadFileReNameData, SeedUtils.setSeedFileCopy(rootPath + "/"+siteIdx+"/upload/tempFiles/"+fileFuncType+ "/" + uploadFileReNameData,
rootPath + "/"+siteIdx+"/upload/uploadFiles/"+fileFuncType+"/"+reFileName+"."+fileType); rootPath + "/"+siteIdx+"/upload/uploadFiles/"+fileFuncType+"/"+reFileName+"."+fileType);
@ -139,6 +145,8 @@ public class SeedFileService {
filePath = rootPath + "/"+siteIdx+"/"+fileFuncType+"/"+reFileName+"."+fileType; filePath = rootPath + "/"+siteIdx+"/"+fileFuncType+"/"+reFileName+"."+fileType;
} }
System.out.println(oldFile.getAbsolutePath());
paramMap.put("uploadFileNameData", uploadFileNameData); paramMap.put("uploadFileNameData", uploadFileNameData);
paramMap.put("reFileName", reFileName+"."+fileType); paramMap.put("reFileName", reFileName+"."+fileType);
paramMap.put("fileSize", fileSize); paramMap.put("fileSize", fileSize);
@ -147,8 +155,17 @@ public class SeedFileService {
paramMap.put("copyContractYn", copyContractYn); paramMap.put("copyContractYn", copyContractYn);
//파일타입에 따라서 sql분기 //파일타입에 따라서 sql분기
if(fileFuncType.equals("mediation")){ if(fileFuncType.equals("mediation")){
System.out.println(oldFile.getAbsolutePath());
dao.caseInsert(paramMap); dao.caseInsert(paramMap);
}else{ }else{
System.out.println(oldFile.getAbsolutePath());
if (!"".equals(fileChgType)) {
paramMap.put("fileFuncType", fileChgType);
}
System.out.println(paramMap.get("fileText").toString());
dao.fileInsert(paramMap); dao.fileInsert(paramMap);
} }

View File

@ -0,0 +1,161 @@
package seed.com.gtm.util;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
import org.apache.ibatis.logging.Log;
import org.apache.ibatis.logging.LogFactory;
import org.springframework.web.multipart.MultipartFile;
public class GwFileAtch {
protected Log log = LogFactory.getLog(this.getClass());
public StringBuilder Lookup(
String p_loginId,
String p_deleteYN,
Map<String, MultipartFile> p_files,
MultipartFile p_file
) throws Exception{
System.out.println("-----------------------------------------------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
int serverResponseCode = 0;
String serverResponseMessage = null;
HttpURLConnection connection = null;
DataOutputStream outputStream = null;
DataInputStream inputStream = null;
StringBuilder html = new StringBuilder();
String urlServer = "https://gw.kofair.or.kr/gw/outProcessUpload.do";
String lineEnd = "\r\n";
String twoHyphens = "--";
String boundary = "*****";
try
{
URL url = new URL(urlServer);
connection = (HttpURLConnection) url.openConnection();
// Allow Inputs & Outputs
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
// Enable POST method
connection.setRequestMethod("POST");
connection.setRequestProperty("Connection", "Keep-Alive");
connection.setRequestProperty("Content-Type", "multipart/form-data");
outputStream = new DataOutputStream( connection.getOutputStream() );
// params 생성.
//서비스상품코드
outputStream.writeBytes(twoHyphens + boundary + lineEnd);
outputStream.writeBytes("Content-Disposition: form-data; name=\"loginId\""+ lineEnd);
outputStream.writeBytes(lineEnd);
outputStream.writeBytes(p_loginId);
outputStream.writeBytes(lineEnd);
outputStream.writeBytes("Content-Disposition: form-data; name=\"deleteYN\""+ lineEnd);
outputStream.writeBytes(lineEnd);
outputStream.writeBytes(p_deleteYN);
outputStream.writeBytes(lineEnd);
/*
outputStream.writeBytes("Content-Disposition: form-data; name=\"file0\";filename=\"txt테스트.txt\""+ lineEnd);
outputStream.writeBytes("Content-Type: text/plain"+ lineEnd);
outputStream.writeBytes(lineEnd);
outputStream.writeBytes(p_file);
outputStream.writeBytes(lineEnd);
*/
/*
outputStream.writeBytes("KLP");
outputStream.writeBytes(lineEnd);
//이용 등록을 통해 받은 API키 스트링을 입력합니다.
outputStream.writeBytes(twoHyphens + boundary + lineEnd);
outputStream.writeBytes("Content-Disposition: form-data; name=\"apikey\""+ lineEnd);
outputStream.writeBytes(lineEnd);
outputStream.writeBytes(NiceApikey());
outputStream.writeBytes(lineEnd);
//이용허가를 받은 구분코드 입니다.
outputStream.writeBytes(twoHyphens + boundary + lineEnd);
outputStream.writeBytes("Content-Disposition: form-data; name=\"eprdatasvcstscd\""+ lineEnd);
outputStream.writeBytes(lineEnd);
outputStream.writeBytes("07");
outputStream.writeBytes(lineEnd);
//이용 등록한 사용자ID를 입력합니다.
outputStream.writeBytes(twoHyphens + boundary + lineEnd);
outputStream.writeBytes("Content-Disposition: form-data; name=\"uid\""+ lineEnd);
outputStream.writeBytes(lineEnd);
outputStream.writeBytes(ApplicationProperty.get("nice.uid"));
outputStream.writeBytes(lineEnd);
//사업자번호
outputStream.writeBytes(twoHyphens + boundary + lineEnd);
outputStream.writeBytes("Content-Disposition: form-data; name=\"bizno\""+ lineEnd);
outputStream.writeBytes(lineEnd);
outputStream.writeBytes(bizno);
outputStream.writeBytes(lineEnd);
//출력방식 xml방식과 json 방식을 지정합니다.
outputStream.writeBytes(twoHyphens + boundary + lineEnd);
outputStream.writeBytes("Content-Disposition: form-data; name=\"output\""+ lineEnd);
outputStream.writeBytes(lineEnd);
outputStream.writeBytes("json");
outputStream.writeBytes(lineEnd);
//호출할 세세분류ID 코드를 지정합니다.
outputStream.writeBytes(twoHyphens + boundary + lineEnd);
outputStream.writeBytes("Content-Disposition: form-data; name=\"resgp\""+ lineEnd);
outputStream.writeBytes(lineEnd);
outputStream.writeBytes("LP0202,LP0232,LP0212,LP0209");
outputStream.writeBytes(lineEnd);
outputStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
*/
outputStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
// Responses from the server (code and message)
serverResponseCode = connection.getResponseCode();
serverResponseMessage = connection.getResponseMessage();
System.out.println(serverResponseCode);
outputStream.flush();
outputStream.close();
System.out.println(serverResponseCode);
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8")); //뒤에 charset으로 불러오기. 한글깨짐현상 방지.
for(;;){
String line = br.readLine();
if(line == null) break;
html.append(line.trim().replaceAll("&nbsp;|<!--(.*)-->|@", ""));
}
br.close();
//params.put("nice", html);
}
catch (Exception ex){
ex.printStackTrace();
log.warn("error>>nice>>||"+ex.toString());
}
return html;
}
}

View File

@ -29,6 +29,7 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
for(InnorixFileVO innorixFileVO : innorixFileList) { for(InnorixFileVO innorixFileVO : innorixFileList) {
innorixFileVO.setDataIdx((Integer) paramMap.get("innorixDataIdx")); innorixFileVO.setDataIdx((Integer) paramMap.get("innorixDataIdx"));
innorixFileVO.setFileFuncType((String)paramMap.get("fileFuncType")); innorixFileVO.setFileFuncType((String)paramMap.get("fileFuncType"));
innorixFileVO.setFileText((String)paramMap.get("fileText"));
String fileName = innorixFileVO.getClientFileName(); String fileName = innorixFileVO.getClientFileName();
String fileType = fileName.substring(fileName.lastIndexOf(".")+1, fileName.length()); String fileType = fileName.substring(fileName.lastIndexOf(".")+1, fileName.length());

View File

@ -74,6 +74,8 @@ public class InnorixFileVO extends ComDefaultVO implements Serializable {
private String fileFuncType; private String fileFuncType;
private String fileType; private String fileType;
private String fileText;
private String printFileName; private String printFileName;
@ -255,8 +257,12 @@ public class InnorixFileVO extends ComDefaultVO implements Serializable {
} }
public void setFilePath(String filePath) { public void setFilePath(String filePath) {
this.filePath = filePath; this.filePath = filePath;
}
public String getFileText() {
return fileText;
} }
public void setFileText(String fileText) {
this.fileText = fileText;
}
} }

View File

@ -22,7 +22,16 @@
#{serverFileName}, #{serverFileName},
SYSDATE, SYSDATE,
#{fileSize}, #{fileSize},
'',
<choose>
<when test="fileText != null and fileText != ''">
#{fileText},
</when>
<otherwise>
'',
</otherwise>
</choose>
#{fileType}, #{fileType},
#{dataIdx}, #{dataIdx},
#{fileFuncType}, #{fileFuncType},

View File

@ -22,7 +22,16 @@
#{reFileName}, #{reFileName},
SYSDATE, SYSDATE,
#{fileSize}, #{fileSize},
'',
<choose>
<when test="fileText != null and fileText != ''">
#{fileText},
</when>
<otherwise>
'',
</otherwise>
</choose>
#{fileType}, #{fileType},
#{dataIdx}, #{dataIdx},
#{fileFuncType}, #{fileFuncType},

View File

@ -83,6 +83,10 @@
<pattern>*/gtm/case/trublprocessmng/dtaPop/jsp/Page.do*</pattern> <pattern>*/gtm/case/trublprocessmng/dtaPop/jsp/Page.do*</pattern>
<pattern>*/gtm/case/trublprocessmng/atendPop/jsp/Page.do*</pattern> <pattern>*/gtm/case/trublprocessmng/atendPop/jsp/Page.do*</pattern>
<pattern>*/gtm/case/trublprocessmng/fileHistoryPop/jsp/Page.do*</pattern> <pattern>*/gtm/case/trublprocessmng/fileHistoryPop/jsp/Page.do*</pattern>
<pattern>*/gtm/case/trublprocessmng/fileAtchPop/jsp/Page.do*</pattern>
<pattern>*/gtm/case/trublprocessmng/fileAtchPop2/jsp/Page.do*</pattern>
<pattern>*/gtm/newcasebase/fileatchPop/rawEdit.do*</pattern>
<!-- <pattern>*/manager/skin/siteSkinHtml.jsp*</pattern> --> <!-- <pattern>*/manager/skin/siteSkinHtml.jsp*</pattern> -->
<pattern>*/web/user/*20*.do*</pattern> <pattern>*/web/user/*20*.do*</pattern>

View File

@ -0,0 +1,496 @@
<%--
Class Name : EgovNoticeRegist.jsp
Description : 게시물 생성 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2009.03.24 이삼섭 최초 생성
2011.08.31 JJY 경량환경 버전 생성
author : 공통서비스 개발팀 이삼섭
since : 2009.03.24
--%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%>
<%@ taglib prefix="ckeditor" uri="http://ckeditor.com"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="content-language" content="ko">
<!-- 분쟁조정 -->
<!-- css -->
<link rel="stylesheet" href="/kofair_case_seed/css/reset.css">
<link rel="stylesheet" href="/kofair_case_seed/css/font.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/layout.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/common.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/style.css">
<!-- script -->
<script src="/kofair_case_seed/script/lib/jquery-3.5.0.js"></script>
<script src="/kofair_case_seed/adm/scripts/common.js"></script>
<script src="/kofair_case_seed/adm/scripts/layout.js"></script>
<!-- 분쟁조정 끝 -->
<!-- css -->
<!-- <link rel="stylesheet" href="/kccadrPb/adm/css/reset.css"> -->
<!-- <link rel="stylesheet" href="/kccadrPb/adm/css/font.css"> -->
<!-- <link rel="stylesheet" href="/kccadrPb/adm/css/common.css"> -->
<link rel="stylesheet" href="/kccadrPb/adm/css/content.css">
<link rel="stylesheet" href="/kccadrPb/adm/css/content_media.css">
<!-- script -->
<!-- <script src="/kccadrPb/adm/script/jquery-3.5.0.js"></script> -->
<script src="/kofair_case_seed/script/lib/jquery-migrate-3.3.2.min.js"></script>
<!-- <script src="/kccadrPb/adm/script/common.js"></script> -->
<script src="/kccadrPb/adm/script/content.js"></script>
<script src="/js/ncms_common.js"></script>
<script src="/kccadrPb/adm/script/postcode.js"></script>
<script src="/js/kccadr/kccadrCom.js"></script>
<script src="/js/antdatepicker/moment.min.js"></script>
<!-- 분쟁조정 기존 파일 -->
<!-- <link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon"> -->
<!-- <link rel="icon" href="/img/favicon.ico" type="image/x-icon"> -->
<!-- css -->
<link rel="stylesheet" href="/css/seed.reset.css">
<link rel="stylesheet" href="/css/seed.layout.css">
<link rel="stylesheet" href="/css/layout.css">
<link rel="stylesheet" href="/css/button.css">
<link rel="stylesheet" href="/css/seed.contents.css">
<link rel="stylesheet" href="/css/seed.mediaquery.css">
<link rel="stylesheet" href="/css/lib/jquery.mCustomScrollbar.min.css">
<link rel="stylesheet" href="/css/jquery-ui.css"/>
<link rel="stylesheet" href="/css/jquery-ui.min.css"/>
<link rel="stylesheet" href="/css/smartPop.css"/>
<link rel="stylesheet" href="/css/space.css"/>
<link rel="stylesheet" href="/css/picker.default.css">
<link rel="stylesheet" href="/css/picker.default.date.css">
<link rel="stylesheet" href="/css/case/common.css">
<!-- 캘린더css -->
<link rel="stylesheet" href="/css/case/fullcalendar.min.css">
<link rel="stylesheet" href="/css/case/fullcalendar.print.css" media='print'>
<link rel="stylesheet" href="/css/case/scheduler.min.css">
<link type="text/css" rel="stylesheet" href="/css/case/jquery.qtip.css" />
<link rel="stylesheet" type="text/css" href="/css/clipreport.css">
<link rel="stylesheet" type="text/css" href="/css/UserConfig.css">
<link rel="stylesheet" type="text/css" href="/css/font.css">
<!-- css -->
<!--[if lt IE 9]>
<script src="/js/lib/polyfill/IE9.js"></script>
<script src="/js/lib/polyfill/respond.min.js"></script>
<![endif]-->
<!-- js -->
<!-- 라이브러리, 플러그인 -->
<!-- <script src="/js/lib/jquery-1.9.1.min.js"></script> -->
<script src="/js/lib/jquery-ui.min.js"></script>
<script src="/js/lib/jquery.blockUI.js"></script>
<script src="/js/lib/jquery.pjax.js"></script>
<script src="/js/lib/modernizr-custom.js"></script>
<script src="/js/lib/jquery.mCustomScrollbar.concat.min.js"></script>
<script src="/js/lib/jquery.bxslider.min.js"></script>
<script src="/js/lib/picker.js"></script>
<script src="/js/lib/picker.date.js"></script>
<script src="/js/lib/legacy.js"></script>
<script src="/js/lib/base64.js"></script>
<!-- 라이브러리, 플러그인 끝 -->
<script src="/js/jquery.seed.js"></script>
<script src="/js/smartPop.js"></script>
<script src="/js/seed.common.js"></script>
<script src="/js/seed.tab.js"></script>
<script src="/js/seed.app.js"></script>
<script src="/js/jquery.form.js"></script>
<script src="/js/commonFileUtil.js"></script>
<script src="/js/common_XHR.js?3"></script>
<script src="/js/common.js"></script>
<script src="/js/DateTimePicker.js"></script>
<script src="/js/jquery.selectboxes.js"></script>
<script type="text/javascript">
$( document ).ready(function() {
$(function () {
$('#filebutton').click(function (e) {
e.preventDefault();
$('#file_temp').click();
});
});
});
function goList() {
document.searchForm.submit();
}
function fn_egov_regist_notice() {
//CKEDITOR.instances.nttCn.updateElement();
if (confirm('기안등록을 진행합니까?')) {
goSaveUnder_bak();
}
}
/* 글 저장 function */
function goSaveUnder(p_objfileKey ){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해)
/*
if($('#content').length > 0){ //팝업존에서 타이틀 무조건 체크
if('' == $('#content').val()){
alert("이미지 등록시 타이틀은 필수입니다.");
return false;
}
}
*/
/*if(undefined !=$("input[name=limitcount]").val() && ""!=$("input[name=limitcount]").val() ){
if($('#atchFileNece').length > 0 ){
if($('#tbody_fiielist').find('tr').length == 0){
alert("첨부파일을 추가해 주십시오");
return false;
}
}
}*/
var msg;
msg = "해당 첨부파일을 수정하시겠습니까?";
var data = new FormData(document.writeForm == undefined ? document.board : document.writeForm);
_fileForm2.forEach(function(obj, idx) {
if (obj) {
alert(obj);
alert(obj.name);
alert(obj.fileObj.name);
data.append("file"+idx, obj.fileObj);
data.append("uploadFileName", obj.fileObj.name);
data.append("uploadFileReName", obj.fileObj.name);
}
});
/*
var form = new FormData();
form.append("file1", fileInput.files[0], "/C:/Users/User/Dropbox/PC/Pictures/관인테스트2.png");
form.append("loginId", "test04");
form.append("deleteYN", "Y");
/
*/
var url = "";
//url = "https://gw.kofair.or.kr/gw/outProcessUpload.do";
url = "/gtm/newcasebase/fileatchPop/fileAjax.do";
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
//async: false,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
alert(returnData.resultCode);
alert(returnData.resultMessage);
alert(returnData.fileKey);
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("fail"==returnData.result){
alert(returnData.message);
return;
}
alert("저장 되었습니다.");
//top.window.opener.nanumCall_bef('1', '${caseNo } 사건착수보고', p_objfileKey);
//goList();
} else if(status== 'fail'){
alert("저장에 실패하였습니다. !!");
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
function goSaveUnder_bak(){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해)
//alert("1");
var form = new FormData();
//form.append("file1", fileInput.files[0], "/C:/Users/User/Dropbox/PC/Pictures/관인테스트2.png");
form.append("loginId", "test04");
form.append("deleteYN", "Y");
// alert("12");
var data = new FormData(document.writeForm == undefined ? document.board : document.writeForm);
_fileForm2.forEach(function(obj, idx) {
if (obj) {
//alert(obj);
//alert("file"+idx);
//alert(obj.name);
//alert(obj.fileObj.name);
form.append("file1", obj.fileObj, obj.fileObj.name);
}
});
var settings = {
"url": "https://gw.kofair.or.kr/gw/outProcessUpload.do",
"method": "POST",
"timeout": 0,
/*
"headers": {
"Cookie": "JSESSIONID=D5980CAFD7B89C237AF04D345D612D53"
},
*/
"processData": false,
"mimeType": "multipart/form-data",
"contentType": false,
"data": form
};
$.ajax(settings).done(function (response) {
alert(response);
const obj = JSON.parse(response);
alert(obj.fileKey);
//top.window.opener.nanumCall_bef('1', '${caseNo } 사건착수보고', obj.fileKey);
//goSaveUnder(obj.fileKey);
});
}
function goList() {
//document.searchForm.action = "<c:url value='/cop/bbs/selectBoardList.do'/>";
//document.searchForm.submit();
window.close();
}
function fn_egov_regist_preview() {
var PCC_window = window.open('', 'PCCV3Window', 'width=850, height=570, resizable=1, scrollbars=yes, status=0, titlebar=0, toolbar=0, left=350, top=50' );
var previewImgs = "";
var i = 0;
$("#DIV_IMG_VIEW").find("img").each(function() {
previewImgs += $(this).get(0).src + "^";
i++;
});
document.board.previewImgs.value = previewImgs;
document.board.action = "<c:url value='/cop/bbs/bbsPreview.do'/>";
document.board.target = "PCCV3Window";
document.board.submit();
}
function checkFileNo(){
var liSize = $("#upFileHtml li").size();
if(liSize > 1){
alert("이미지는 한개만 업로드 가능합니다. 삭제후 업로드 해 주세요.");
return false;
}
fileTempUp('trublchargermng');
}
</script>
<title><c:out value='${bdMstr.bbsNm}' /> - 글 등록</title>
<style>
.uploaded_obj{width: 100%;}
</style>
</head>
<body class="window_popup">
<h2 class="title depth02 mb15" style="float:none;">■ 기안파일첨부하기</h2>
<form:form commandName="searchForm" name="searchForm" method="get" action="">
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>" />
<input name="searchCnd" type="hidden" value="<c:out value='${searchVO.searchCnd}'/>" />
<input name="searchWrd" type="hidden" value="<c:out value='${searchVO.searchWrd}'/>" />
<input name="bbsId" type="hidden" value="<c:out value='${searchVO.bbsId}'/>" />
</form:form>
<form:form commandName="board" name="board" method="post" enctype="multipart/form-data">
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>" />
<input type="hidden" name="searchCnd" value="<c:out value='${searchVO.searchCnd}'/>" />
<input type="hidden" name="searchWrd" value="<c:out value='${searchVO.searchWrd}'/>" />
<input type="hidden" name="bbsId" value="<c:out value='${bdMstr.bbsId}'/>" />
<input type="hidden" name="previewImgs" value="" />
<input type="hidden" name="checkProhibitCn" value="" />
<input type="hidden" name="siteId" value="<c:out value='${bdMstr.siteId}'/>" />
<input type="hidden" name="pageType" id="pageType" value="insert" />
<input type="hidden" name="fileFuncType" value="trublchargermng" />
<input id="ntceBgnde" name="ntceBgnde" type="hidden" value="">
<input id="ntceEndde" name="ntceEndde" type="hidden" value="">
<!-- 드래그앤 드롭 파라미터 -->
<input type="hidden" name="limitcount" value="1" />
<input type="hidden" name="deleteYN" value="Y" />
<input type="hidden" name="compSeq" value="1000" />
<input type="hidden" name="loginId" value="test04" />
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<div class="cont">
<!-- list_상세 -->
<div class="tbType02 col-table data-table left">
<table>
<colgroup>
<col style="width: 20%">
<col style="width: 80%">
</colgroup>
<tbody>
<tr>
<th class="req_text">
<p>첨부파일</p>
</th>
<td class="upload_area">
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btn btn_text btn_30 blue_border btnType01 btn_add_file">파일 첨부하기</button>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th style="text-align:center;">파일 명</th>
<th style="text-align:center;">종류</th>
<th style="text-align:center;">크기</th>
<th style="text-align:center;">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th style="text-align:center;">파일 명</th>
<th style="text-align:center;">종류</th>
<th style="text-align:center;">크기</th>
<th style="text-align:center;">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn btn_text btn_30 red_border btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제">삭제</button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
<c:if test="${!empty fmsFileList[0].fmsId }">
<button class="btn btn_text btn_46 red_border btnType06" onclick="fn_fmsfile_delete(); return false;">삭 제</button>
</c:if>
</div>
<div class="area_right">
<!-- <button class="btnType04" onclick="fn_egov_regist_preview(); return false;">미리보기</button> -->
<c:if test="${!empty fmsFileList[0].fmsId }">
<button class="btn btn_text btn_46 blue_fill btnType06" onclick="goSave('fmsFile_U'); return false;">수 정</button>
</c:if>
<c:if test="${empty fmsFileList[0].fmsId }">
<button class="btn btn_text btn_46 blue_fill btnType06" onclick="fn_egov_regist_notice(); return false;">기 안 등 록</button>
</c:if>
<button class="btn btn_text btn_46 gray_fill btnType04" onclick="goList(); return false;">닫 기</button>
</div>
</div>
<!-- //btn_wrap -->
</div>
</div>
</div>
<input type="hidden" name="fileFuncType" value="trublchargermng" />
<input type="hidden" name="uploadFileCnt" value="0" id="uploadFileCntId" />
<input type="hidden" name="deleteFileData" value="" id="deleteFileDataId" />
<!-- //cont -->
</form:form>
<!-- 파일 입시저장을 위한 폼 -->
<form id="fileTempUpFrm" action="/seed/extra/temp/file.do" method="post" enctype="multipart/form-data">
<input type="hidden" name="fileFuncType" value="trublchargermng" />
<div class="temp-file-area">
<input type="file" name="upFile" id="upFile" class="essential temp-file-hideen" onchange="checkFileNo();" required title="첨부파일" value="" style="ime-mode: disabled;" >
</div>
</form>
<!-- //content 끝 -->
</body>
<script src="/js/jquery.form.js"></script>
<script src="/js/seedFileUtil.js"></script>
</html>

View File

@ -0,0 +1,709 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!doctype html>
<html lang="ko">
<head>
<title>정보 관리</title>
<!-- 분쟁조정 -->
<!-- css -->
<link rel="stylesheet" href="/kofair_case_seed/css/reset.css">
<link rel="stylesheet" href="/kofair_case_seed/css/font.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/layout.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/common.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/style.css">
<!-- script -->
<script src="/kofair_case_seed/script/lib/jquery-3.5.0.js"></script>
<script src="/kofair_case_seed/adm/scripts/common.js"></script>
<script src="/kofair_case_seed/adm/scripts/layout.js"></script>
<!-- 분쟁조정 끝 -->
<!-- css -->
<!-- <link rel="stylesheet" href="/kccadrPb/adm/css/reset.css"> -->
<!-- <link rel="stylesheet" href="/kccadrPb/adm/css/font.css"> -->
<!-- <link rel="stylesheet" href="/kccadrPb/adm/css/common.css"> -->
<link rel="stylesheet" href="/kccadrPb/adm/css/content.css">
<link rel="stylesheet" href="/kccadrPb/adm/css/content_media.css">
<!-- script -->
<!-- <script src="/kccadrPb/adm/script/jquery-3.5.0.js"></script> -->
<script src="/kofair_case_seed/script/lib/jquery-migrate-3.3.2.min.js"></script>
<!-- <script src="/kccadrPb/adm/script/common.js"></script> -->
<script src="/kccadrPb/adm/script/content.js"></script>
<script src="/js/ncms_common.js"></script>
<script src="/kccadrPb/adm/script/postcode.js"></script>
<script src="/js/kccadr/kccadrCom.js"></script>
<script src="/js/antdatepicker/moment.min.js"></script>
<!-- 분쟁조정 기존 파일 -->
<!-- <link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon"> -->
<!-- <link rel="icon" href="/img/favicon.ico" type="image/x-icon"> -->
<!-- css -->
<link rel="stylesheet" href="/css/seed.reset.css">
<link rel="stylesheet" href="/css/seed.layout.css">
<link rel="stylesheet" href="/css/layout.css">
<link rel="stylesheet" href="/css/button.css">
<link rel="stylesheet" href="/css/seed.contents.css">
<link rel="stylesheet" href="/css/seed.mediaquery.css">
<link rel="stylesheet" href="/css/lib/jquery.mCustomScrollbar.min.css">
<link rel="stylesheet" href="/css/jquery-ui.css"/>
<link rel="stylesheet" href="/css/jquery-ui.min.css"/>
<link rel="stylesheet" href="/css/smartPop.css"/>
<link rel="stylesheet" href="/css/space.css"/>
<link rel="stylesheet" href="/css/picker.default.css">
<link rel="stylesheet" href="/css/picker.default.date.css">
<link rel="stylesheet" href="/css/case/common.css">
<!-- 캘린더css -->
<link rel="stylesheet" href="/css/case/fullcalendar.min.css">
<link rel="stylesheet" href="/css/case/fullcalendar.print.css" media='print'>
<link rel="stylesheet" href="/css/case/scheduler.min.css">
<link type="text/css" rel="stylesheet" href="/css/case/jquery.qtip.css" />
<link rel="stylesheet" type="text/css" href="/css/clipreport.css">
<link rel="stylesheet" type="text/css" href="/css/UserConfig.css">
<link rel="stylesheet" type="text/css" href="/css/font.css">
<!-- css -->
<!--[if lt IE 9]>
<script src="/js/lib/polyfill/IE9.js"></script>
<script src="/js/lib/polyfill/respond.min.js"></script>
<![endif]-->
<!-- js -->
<!-- 라이브러리, 플러그인 -->
<!-- <script src="/js/lib/jquery-1.9.1.min.js"></script> -->
<script src="/js/lib/jquery-ui.min.js"></script>
<script src="/js/lib/jquery.blockUI.js"></script>
<script src="/js/lib/jquery.pjax.js"></script>
<script src="/js/lib/modernizr-custom.js"></script>
<script src="/js/lib/jquery.mCustomScrollbar.concat.min.js"></script>
<script src="/js/lib/jquery.bxslider.min.js"></script>
<script src="/js/lib/picker.js"></script>
<script src="/js/lib/picker.date.js"></script>
<script src="/js/lib/legacy.js"></script>
<script src="/js/lib/base64.js"></script>
<!-- 라이브러리, 플러그인 끝 -->
<script src="/js/jquery.seed.js"></script>
<script src="/js/smartPop.js"></script>
<script src="/js/seed.common.js"></script>
<script src="/js/seed.tab.js"></script>
<script src="/js/seed.app.js"></script>
<script src="/js/jquery.form.js"></script>
<script src="/js/commonFileUtil.js"></script>
<script src="/js/common_XHR.js?3"></script>
<script src="/js/common.js"></script>
<script src="/js/DateTimePicker.js"></script>
<script src="/js/jquery.selectboxes.js"></script>
<!-- 캘린더js -->
<script src="/js/moment.min.js"></script>
<script src="/js/fullcalendar.min.js"></script>
<script src="/js/scheduler.min.js"></script>
<script src="/js/gcal.js"></script>
<script src="/js/jquery.qtip.js"></script>
<script type='text/javascript' src='/js/clipreport.js'></script>
<script type='text/javascript' src='/js/UserConfig.js'></script>
<!-- js -->
<script>
function fn_egov_regist_notice() {
//CKEDITOR.instances.nttCn.updateElement();
if (confirm('기안등록을 진행합니까?')) {
goSaveUnder();
}
}
/* 글 저장 function */
function goSaveUnder(method_parm ){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해)
/*
if($('#content').length > 0){ //팝업존에서 타이틀 무조건 체크
if('' == $('#content').val()){
alert("이미지 등록시 타이틀은 필수입니다.");
return false;
}
}
*/
/*if(undefined !=$("input[name=limitcount]").val() && ""!=$("input[name=limitcount]").val() ){
if($('#atchFileNece').length > 0 ){
if($('#tbody_fiielist').find('tr').length == 0){
alert("첨부파일을 추가해 주십시오");
return false;
}
}
}*/
var msg;
msg = "해당 첨부파일을 수정하시겠습니까?";
var data = new FormData(document.writeFrm == undefined ? document.board : document.writeFrm);
/*
data.forEach(function(obj, idx) {
if (obj) {
alert(obj);
alert(obj.name);
alert(obj.fileObj.name);
data.append("file"+idx, obj.fileObj);
}
});
*/
_fileForm2.forEach(function(obj, idx) {
if (obj) {
alert(obj);
alert(obj.name);
alert(obj.fileObj.name);
data.append("file"+idx, obj.fileObj);
}
});
/*
var form = new FormData();
form.append("file1", fileInput.files[0], "/C:/Users/User/Dropbox/PC/Pictures/관인테스트2.png");
form.append("loginId", "test04");
form.append("deleteYN", "Y");
/
*/
var url = "";
//url = "https://gw.kofair.or.kr/gw/outProcessUpload.do";
url = "/gtm/newcasebase/fileatchPop/fileAjax.do";
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
//async: false,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
//alert(returnData.resultCode);
//alert(returnData.resultMessage);
//alert(returnData.fileKey);
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("fail"==returnData.result){
alert(returnData.message);
return;
}
alert("저장 되었습니다.");
//goList();
} else if(status== 'fail'){
alert("저장에 실패하였습니다. !!");
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
/* 글 저장 function */
function goSaveUnder_bef(method_parm ){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해)
/*
if($('#content').length > 0){ //팝업존에서 타이틀 무조건 체크
if('' == $('#content').val()){
alert("이미지 등록시 타이틀은 필수입니다.");
return false;
}
}
*/
/*if(undefined !=$("input[name=limitcount]").val() && ""!=$("input[name=limitcount]").val() ){
if($('#atchFileNece').length > 0 ){
if($('#tbody_fiielist').find('tr').length == 0){
alert("첨부파일을 추가해 주십시오");
return false;
}
}
}*/
var msg;
msg = "해당 첨부파일을 수정하시겠습니까?";
var data = new FormData(document.writeFrm == undefined ? document.board : document.writeFrm);
_fileForm2.forEach(function(obj, idx) {
if (obj) {
alert(obj);
alert(obj.name);
alert(obj.fileObj.name);
data.append("file"+idx, obj.fileObj);
}
});
//alert("1");
var form = new FormData();
//form.append("file1", fileInput.files[0], "/C:/Users/User/Dropbox/PC/Pictures/관인테스트2.png");
form.append("loginId", "test04");
form.append("deleteYN", "Y");
// alert("12");
var data = new FormData(document.writeForm == undefined ? document.board : document.writeForm);
_fileForm2.forEach(function(obj, idx) {
if (obj) {
alert(obj);
alert(obj.name);
alert(obj.fileObj.name);
form.append("file"+idx, obj.fileObj, obj.fileObj.name);
}
});
//alert(form);
var settings = {
"url": "https://gw.kofair.or.kr/gw/outProcessUpload.do",
"method": "POST",
"timeout": 0,
/*
"headers": {
"Cookie": "JSESSIONID=D5980CAFD7B89C237AF04D345D612D53"
},
*/
"processData": false,
"mimeType": "multipart/form-data",
"contentType": false,
"data": form
};
$.ajax(settings).done(function (response) {
//alert(response);
const obj = JSON.parse(response);
//alert(obj.fileKey);
top.window.opener.nanumCall_bef('1', '${caseNo } 사건착수보고', obj.fileKey);
/*
alert(returnData.resultCode);
alert(returnData.resultMessage);
alert(returnData.fileKey);
*/
});
}
</script>
</head>
<link href='/css/space.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.contents.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.mediaquery.css' rel='styleGsheet' type='text/css'/>
<link href='/site/ntcc/css/gtmCustom.css' rel='stylesheet' type='text/css'/>
<script src="/editor/webnote.js"></script>
</head>
<body>
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title">위원 관리</h3>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p>위원을 등록 할 수 있는 페이지 입니다.</p>
</div>
</div>
</div>
</div>
<form:form name="writeFrm" id="writeFrm" action="/gtm/case/trublchargermng/edit.do" method="post">
<input type="hidden" name="tempId" id="tempId" value="${memberInfo.MEMBER_ID}">
<input type="hidden" name="memberNo" id="memberNo" value="1">
<input type="hidden" name=oldPass id="oldPass" value="${memberInfo.MEMBER_PWD}">
<br>
<br>
<fieldset>
<div class="bbs-view-layout">
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> ID</p>
<div class="item-box">
<input type="text" name="joinId" id="joinId" style="width: 30%" placeholder="4~12자 영문, 숫자를 이용하여 입력해주세요." maxlength="12" value="${memberInfo.MEMBER_ID }">
<div class="change-state-area" style="padding: 0 0;margin-top: 2px;display: inline-block;">
<button type="button" class="btn btn_text blue_border btn-change-state" onclick="idDuplChekc();" >ID중복체크</button>
</div>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 사진</p>
<div class="item-box">
<ul class="upFileHtml cs_file_list w100per" id="upFileHtml" style="margin:0;">
<li style="display: block;"><img src="/site/case/upload/uploadFiles/trublchargermng/${fileList[0].EXTRA_FILE_RENAME}" id="trubleImg" style="width:140px;height:180px;" alt="사진이미지"></li>
<c:forEach items="${fileList}" var="list" varStatus="status">
<li id="fileUploadP${status.count}" class="bbsFileHtml file_row" style="display:flex;background:#f4f5f6;margin:0;">
<img src="/kofair_case_seed/adm/images/component/icon_file_clip_blue.png">
<span><a href="/seed/extra/down/file.do?dataIdx=${list.EXTRA_FILE_IDX}&funcType=${list.EXTRA_FUNC_TYPE}&pathKey1=${siteIdx}">${list.EXTRA_FILE_NAME}</a></span>
<a href="javascript:;" onclick="javascript:jf_delete_file('${status.count}', '${list.EXTRA_FILE_SIZE}');deleteImg();" class="del ml7 btn_file_del"><i></i></a>
<input type="hidden" name="fileIdx" value="${list.EXTRA_FILE_IDX}" class="fileIdxClass"/>
</li>
</c:forEach>
</ul>
<div class="temp-file-area cs_file_box">
<p style="display: inline-block;">
- 본인의 얼굴이 정면으로 보이는 명함사진을 등록해주세요.<br>
- gif, jpg 파일만 등록 가능합니다.
</p>
<label for="upFile" class="btn btn_text blue_border btn_36 temp-file-button" style="display:flex;justify-content:center;align-items:center;">첨부파일</label>
</div>
</div>
</div>
</div>
<br>
</fieldset>
<div class="btn_wrap">
<div class="area_left">
<button type="button" class="btn btn_text btn_46 red_border" onclick="goList('del')">삭제</button>
</div>
<div class="area_right">
<button type="button" class="btn btn_text btn_46 gray_fill" onclick="goList('list')">목록</button>
<button type="submit" class="btn btn_text btn_46 blue_fill">저장</button>
<button class="btn btn_text btn_46 blue_fill btnType06" onclick="fn_egov_regist_notice(); return false;">기 안 등 록</button>
</div>
</div>
<input type="hidden" name="fileFuncType" id="fileFuncType" value="trublchargermng" />
<input type="hidden" name="fileChgType" id="fileChgType" value="${param.fileFuncType}" />
<input type="hidden" name="uploadFileCnt" value="0" id="uploadFileCntId" />
<input type="hidden" name="deleteFileData" value="" id="deleteFileDataId" />
<input type="hidden" name="fileText" id="fileText" value="${param.caseNo}" />
</form:form>
<!-- 파일 입시저장을 위한 폼 -->
<form id="fileTempUpFrm" action="/seed/extra/temp/file.do" method="post" enctype="multipart/form-data">
<input type="hidden" name="fileFuncType" value="trublchargermng" />
<div class="temp-file-area">
<input type="file" name="upFile" id="upFile" class="essential temp-file-hideen" onchange="checkFileNo();" required title="첨부파일" value="" style="ime-mode: disabled;" >
</div>
</form>
<form name="paramFrm" id="paramFrm" action="/gtm/case/trublchargermng/list.do" method="get">
<input type="hidden" name="searchGubun" value="${param.searchGubun}">
<input type="hidden" name="searchName" value="${param.searchName}">
<input type="hidden" name="page" id="page" value="${param.page}">
</form>
<form:form name="delFrm" id="delFrm" action="/gtm/case/trublchargermng/del.do" method="post">
<input type="hidden" name="memberNo" id="memberNo" value="${memberInfo.MEMBER_NO}">
</form:form>
<script type="text/javascript">
$(document).ready(function(){
memberGubun();
memberField();
memberPosition();
memberUnit();
memberState();
setTimeout(function() {
if('${memberInfo.CASE_GUBUN}' != ""){
var gubunList = $("#joinGubun option");
for(var i = 0; i < gubunList.size(); i++){
if(gubunList[i].value == '${memberInfo.CASE_GUBUN}'){
$(gubunList[i]).attr("selected", true);
}
}
}
if('${memberInfo.CASE_FIELD}' != ""){
var gubunList = $("#joinField option");
for(var i = 0; i < gubunList.size(); i++){
if(gubunList[i].value == '${memberInfo.CASE_FIELD}'){
$(gubunList[i]).attr("selected", true);
}
}
}
if('${memberInfo.MEMBER_POSIT}' != ""){
var gubunList = $("#joinPosition option");
for(var i = 0; i < gubunList.size(); i++){
if(gubunList[i].value == '${memberInfo.MEMBER_POSIT}'){
$(gubunList[i]).attr("selected", true);
}
}
}
if('${memberInfo.MEMBER_UNIT}' != ""){
var gubunList = $("#joinUnit option");
for(var i = 0; i < gubunList.size(); i++){
if(gubunList[i].value == '${memberInfo.MEMBER_UNIT}'){
$(gubunList[i]).attr("selected", true);
}
}
}
if('${memberInfo.MEMBER_STATE}' != ""){
var gubunList = $("#joinState option");
for(var i = 0; i < gubunList.size(); i++){
if(gubunList[i].value == '${memberInfo.MEMBER_STATE}'){
$(gubunList[i]).attr("selected", true);
}
}
}
}, 700);
$("#writeFrm").submit(function(){
if($("#joinId").val() == ""){
alert("아이디를 입력해 주세요");
$("#joinId").focus();
return false;
}
if($("#tempId").val() == ""){
alert("아이디 중복체크를 해주세요");
return false;
}
if($("#tempId").val() != $("#joinId").val()){
alert("아이디 중복체크를 해주세요");
return false;
}
if($("#joinPass").val().trim() == ""){
alert("비밀번호를 입력해 주세요");
return false;
}
if($("#joinPassConfirm").val().trim() == ""){
alert("비밀번호 확인을 입력해 주세요");
return false;
}
if($("#joinPass").val().trim() != $("#joinPassConfirm").val().trim()){
alert("비밀번호가 다릅니다. 다시 한번 확인해 주세요");
return false;
}
if($("#joinName").val().trim() == ""){
alert("위원명을 입력해 주세요");
$("#joinName").focus();
return false;
}
if($("#joinBirthY").val() == "" ||
$("#joinBirthM").val() == "" ||
$("#joinBirthD").val() == ""
){
alert("생년월일을 입력해 주세요");
return false;
}
if($("#joinPh01").val() == "" ||
$("#joinPh02").val() == "" ||
$("#joinPh03").val() == ""
){
alert("휴대전화를 입력해 주세요");
return false;
}
var regex=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/; //메일 양식처리
if(regex.test($("#joinEmail01").val() + "@" + $("#joinEmail02").val()) == false) {
alert("잘못된 이메일 형식입니다.");
return false;
}
if($("#joinZip").val().trim() == ""){
alert("주소를 입력해 주세요");
$("#joinZip").focus();
return false;
}
});
});
function onlyNumber(event){
event = event || window.event;
var keyID = (event.which) ? event.which : event.keyCode;
if ( (keyID >= 48 && keyID <= 57) || (keyID >= 96 && keyID <= 105) || keyID == 8 || keyID == 46 || keyID == 37 || keyID == 39 )
return;
else
return false;
}
function removeChar(event) {
event = event || window.event;
var keyID = (event.which) ? event.which : event.keyCode;
if ( keyID == 8 || keyID == 46 || keyID == 37 || keyID == 39 )
return;
else
event.target.value = event.target.value.replace(/[^0-9]/g, "");
}
// 신규 우편번호
function jusoCallBack(roadFullAddr,roadAddrPart1,addrDetail,roadAddrPart2,engAddr, jibunAddr, zipNo, admCd, rnMgtSn, bdMgtSn, command){
var f = document.writeFrm;
if("A"==command){//신청인주소
f.joinZip.value=zipNo;
f.joinAddr01.value=roadAddrPart1;
f.joinAddr02.value=addrDetail;
}
/*피신청인 주소는 동적이기 때문에 따로처리*/
}
function goJuso(command){
var pop = window.open("/user/extra/case/zipCode/jusoPopup/jsp/Page.do?command="+command,"pop","width=570,height=420, scrollbars=yes, resizable=yes");
}
function inputEmail(){
if($("#joinEmailSel").val() == ""){
$("#joinEmail02").val("");
$("#joinEmail02").show();
}else{
$("#joinEmail02").hide();
$("#joinEmail02").val($("#joinEmailSel").val());
}
}
function idDuplChekc(){
if($("#joinId").val() == ""){
alert("아이디를 입력 해 주세요");
$("#joinId").focus();
return false;
}
var joinId = $("#joinId").val();
$.ajax({
type:"POST",
url:"/gtm/case/trublchargermng/idCheck.do",
dataType:"json",
data:"joinId="+joinId,
success:function(data){
if(data.success == 'N'){
alert("사용 가능한 아이디 입니다.");
$("#tempId").val(joinId);
}else if(data.success == 'Y'){
alert("이미 사용중인 아이디 입니다.");
$("#joinId").val("");
$("#tempId").val("");
$("#joinId").focus();
}
}
});
}
function memberGubun(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleGubun.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinGubun");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberField(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleField.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinField");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberPosition(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrublePosition.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinPosition");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberUnit(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleUnit.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinUnit");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberState(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleState.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinState");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function goList(param){
if(param == 'list'){
$("#paramFrm").submit();
}else if(param == 'del'){
if(confirm("정말 삭제 하시겠 습니까")){
$("#delFrm").submit();
}
}
}
function checkFileNo(){
var liSize = $("#upFileHtml li").size();
if(liSize > 1){
alert("이미지는 한개만 업로드 가능합니다. 삭제후 업로드 해 주세요.");
return false;
}
fileTempUp('trublchargermng');
}
function deleteImg(){
$("#trubleImg").attr("src","");
}
</script>
<script src="/js/jquery.form.js"></script>
<script src="/js/seedFileUtil.js"></script>
</body>
</html>

View File

@ -0,0 +1,435 @@
<%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta name="robots" content="noindex">
<meta id="viewport" name="viewport" content="initial-scale=1.0, width=device-width, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<![endif]-->
<title>파일첨부팝업</title>
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="/img/favicon.ico" type="image/x-icon">
<!-- css -->
<link rel="stylesheet" href="/css/seed.reset.css">
<link rel="stylesheet" href="/css/seed.layout.css">
<link rel="stylesheet" href="/css/layout.css">
<link rel="stylesheet" href="/css/button.css">
<link rel="stylesheet" href="/css/seed.contents.css">
<link rel="stylesheet" href="/css/seed.mediaquery.css">
<link rel="stylesheet" href="/css/lib/jquery.mCustomScrollbar.min.css">
<link rel="stylesheet" href="/css/jquery-ui.css"/>
<link rel="stylesheet" href="/css/smartPop.css"/>
<link rel="stylesheet" href="/css/space.css"/>
<link rel="stylesheet" href="/css/picker.default.css">
<link rel="stylesheet" href="/css/picker.default.date.css">
<link rel="stylesheet" href="/css/case/common.css">
<link rel="stylesheet" href="/kofair_case_seed/css/reset.css">
<link rel="stylesheet" href="/kofair_case_seed/css/font.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/layout.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/common.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/style.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/popup.css">
<!-- css -->
<!--[if lt IE 9]>
<script src="/js/lib/polyfill/IE9.js"></script>
<script src="/js/lib/polyfill/respond.min.js"></script>
<![endif]-->
<!-- js -->
<!-- 라이브러리, 플러그인 -->
<script src="/js/lib/jquery-1.9.1.min.js"></script>
<script src="/js/lib/jquery-ui.min.js"></script>
<script src="/js/lib/jquery.blockUI.js"></script>
<script src="/js/jquery.form.js"></script>
<script src="/js/commonFileUtil.js"></script>
<script src="/js/common_XHR.js"></script>
<script src="/js/common.js"></script>
<!-- js -->
<!-- 대용량 파일 업로드 솔루션 -->
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
</head>
<body class="window_popup">
<h2 class="title depth02 mb15" style="float:none;">■ 자료요구현황</h2>
<form name="frm" id="frm" action="" method="post">
<input type="hidden" name="caseNo" value="${param.caseNo }">
<div class="table_col">
<table>
<caption>자료 요구현황 테이블입니다.</caption>
<colgroup>
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th scope="col">자료요구일자</th>
<th scope="col">자료마감일자</th>
<th scope="col">자료이행일자</th>
<th scope="col">대상</th>
<th scope="col">제출여부</th>
<th scope="col">삭제</th>
</tr>
</thead>
<tbody id="innertBox">
<tr>
<td colspan="6">등록된 데이터가 없습니다.</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_wrap center ac mt20 mb60">
<button type="button" id="fileReqIn" class="btn btn_text btn_36 blue_fill btn-default violet">저장</button>
<button type="button" class="btn btn_text btn_36 gray_fill btn-default returnList" onclick="window.close()">닫기</button>
</div>
</form>
<form name="frmTemp" id="frmTemp" action="" method="post">
<input type="hidden" name="seqNo" id="seqNo" value="">
<input type="hidden" name="dataReqdt" id="dataReqdt" value="">
<input type="hidden" name="dataEnddt" id="dataEnddt" value="">
<input type="hidden" name="dataDt" id="dataDt" value="">
<input type="hidden" name="dataCheck" id="dataCheck" value="">
</form>
<form:form name="writeFrm" id="writeFrm" action="/gtm/newcasebase/fileatchPop/rawEdit.do" method="post">
<input type="hidden" name="memberDept" value="${memberDept}">
<input type="hidden" name="counselSeq" value="1">
<input type="hidden" name="page" id="page" value="${param.page}">
<input type="hidden" name="searchDate1" id="searchDate1" value="${param.searchDate1}">
<input type="hidden" name="searchDate2" id="searchDate2" value="${param.searchDate2}">
<input type="hidden" name="searchDate3" id="searchDate3" value="${param.searchDate3}">
<input type="hidden" name="searchDate4" id="searchDate4" value="${param.searchDate4}">
<input type="hidden" name="searchDate5" id="searchDate5" value="${param.searchDate5}">
<input type="hidden" name="searchDate6" id="searchDate6" value="${param.searchDate6}">
<input type="hidden" name="searchApp" id="searchApp" value="${param.searchApp}">
<input type="hidden" name="searchMa" id="searchMa" value="${param.searchMa}">
<input type="hidden" name="searchCa" id="searchCa" value="${param.searchCa}">
<input type="hidden" name="searchTitle" id="searchTitle" value="${param.searchTitle}">
<input type="hidden" name="searchType" id="searchType" value="${param.searchType}">
<input type="hidden" name="searchState" id="searchState" value="${param.searchState}">
<input type="hidden" name="fileFuncType" id="fileFuncType" value="${param.fileFuncType}">
<input type="hidden" name="fileText" id="fileText" value="${param.caseNo}">
<input type="hidden" name="managerNm" id="managerNm" value="${data.managerNm}">
<input type="hidden" name="managerId" id="managerId" value="${data.managerId}">
<!-- innorix 대용량 업로드 솔루션 -->
<div class="bbs-view-item">
<p class="item-title">상담기록카드</p>
<div class="item-box">
<div class="temp-file-area">
<!-- 단일 파일 업로드 -->
<input type="button" value="첨부파일" class="btn btn_text btn_36 blue_border temp-file-button" onclick="control.openFileDialogSingle();"/>
<!-- 멀티 파일 업로드 -->
<!-- <input type="button" value="첨부파일" class="btn btn_text btn_36 blue_border temp-file-button" onclick="control.openFileDialog();"/> -->
</div>
<!-- 첨부파일 업로드 목록 및 드래그&드랍 영역 -->
<div id="fileControl" class="w100per dragdrop_wrap"></div>
<input type="hidden" name="innorixFileListVO" value="" />
<input type="hidden" name="uploadFileCnt" value="${fileListSize}" id="uploadFileCntId" />
<input type="hidden" name="deleteFileData" value="" id="deleteFileDataId" />
</div>
<%-- <div class="item-box">
<div class="temp-file-area">
<label for="upFile" style='display:flex;justify-content:center;align-items:center;' class="btn btn_text btn_36 blue_border temp-file-button">첨부파일</label>
</div>
<ul class="upFileHtml" id="upFileHtml">
<c:forEach items="${fileList2}" var="list" varStatus="status">
<li id="fileUploadP${status.count}" class="bbsFileHtml">
<img src="/img/user/bbs/icon_file.gif" alt="gif">&nbsp;&nbsp;
<a href="/seed/extra/down/file.do?dataIdx=${list.EXTRA_FILE_IDX}&funcType=${list.EXTRA_FUNC_TYPE}&pathKey1=${siteIdx}">${list.EXTRA_FILE_NAME}</a>
<a href="javascript:;" onclick="javascript:jf_delete_file('${status.count}', '${list.EXTRA_FILE_SIZE}');" class="del ml7"><img src="/img/user/bbs/btn_file_del.png" alt="삭제"></a>
<input type="hidden" name="fileIdx" value="${list.EXTRA_FILE_IDX}" class="fileIdxClass"/>
</li>
</c:forEach>
</ul>
<input type="hidden" name="fileFuncType" value="lawCard" />
<input type="hidden" name="uploadFileCnt" value="${fileListSize}" id="uploadFileCntId" />
<input type="hidden" name="deleteFileData" value="" id="deleteFileDataId" />
</div> --%>
<button type="button" class="btn btn_text btn_46 blue_fill violet mb10" onclick="innorixUpload();">등록</button>
<button type="submit" class="btn btn_text btn_46 blue_fill violet mb10" style="display:none;">등록</button>
</div>
</form:form>
<script type="text/javascript">
$(document).ready(function(){
/*
var dataLen = "";
$("#typeTemp").val("L");
var param = jQuery('#frm').serialize();
url = "/gtm/case/trublprocessmng/ajax/DataRequestList.do";
XHR2(url, param, function(r){
if(r.data.length > 0){
dataLen = r.data.length;
var htmlVal = "";
for(var i = 0; i < r.data.length; i++){
var dataEnddt = "";
if(r.data[i].dataEnddt != undefined){
dataEnddt = r.data[i].dataEnddt;
}
var dataDt = "";
if(r.data[i].dataDt != undefined){
dataDt = r.data[i].dataDt;
}
htmlVal +='<tr>';
htmlVal +='<td><input type="text" class="datepicker" name="dataReqdt_'+i+'" id="dataReqdt_'+i+'" value="'+r.data[i].dataReqdt+'" maxlength="10"></td>';
htmlVal +='<td><input type="text" class="datepicker" name="dataEnddt_'+i+'" id="dataEnddt_'+i+'" value="'+dataEnddt+'" maxlength="10"></td>';
htmlVal +='<td><input type="text" class="datepicker" name="dataDt_'+i+'" id="dataDt_'+i+'" value="'+dataDt+'" maxlength="10"></td>';
htmlVal +='<td>'+r.data[i].targetName+'</td>';
htmlVal +='<td>';
htmlVal +='<select name="dataCheck_'+i+'" id="dataCheck_'+i+'">';
if(r.data[i].dataCheck == "Y"){
htmlVal +='<option value="N">미제출</option>';
htmlVal +='<option value="Y" selected="selected">제출</option>';
}else{
htmlVal +='<option value="N" selected="selected">미제출</option>';
htmlVal +='<option value="Y">제출</option>';
}
htmlVal +='</select>';
htmlVal +='</td>';
htmlVal +='<td>';
htmlVal +='<button type="button" class="btn btn_text btn_30 red_border btn-default" onclick="dataDel('+r.data[i].seqNo+');">삭제</button>';
htmlVal +='<input type="hidden" name="seqNo_'+i+'" id="seqNo_'+i+'" value="'+r.data[i].seqNo+'">';
htmlVal +='</td>';
htmlVal +='</tr>';
}
$("#innertBox").html(htmlVal);
}else{
}
});
$("#fileReqIn").click(function(){
$("#typeTemp").val("U");
for(var i = 0; i < dataLen; i++){
$("#seqNo").val($("#seqNo_"+i).val());
$("#dataReqdt").val($("#dataReqdt_"+i).val());
$("#dataEnddt").val($("#dataEnddt_"+i).val());
$("#dataDt").val($("#dataDt_"+i).val());
$("#dataCheck").val($("#dataCheck_"+i).val());
var param = jQuery('#frmTemp').serialize();
url = "/gtm/case/trublprocessmng/ajax/DataRequestUp.do";
XHR2(url, param, function(r){
});
}
alert("저장 되었습니다.");
window.close();
});
*/
});
function dataDel(delId){
if(confirm("정말 삭제 하시겠습니까?")){
$("#seqNo").val(delId);
var param = jQuery('#frmTemp').serialize();
url = "/gtm/case/trublprocessmng/ajax/DataRequestDel.do";
XHR2(url, param, function(r){
});
alert("삭제가 완료 되었습니다");
location.reload(true);
}
}
</script>
<!-- js -->
<!-- 라이브러리, 플러그인 -->
<script src="/js/lib/jquery.pjax.js"></script>
<script src="/js/lib/modernizr-custom.js"></script>
<script src="/js/lib/jquery.mCustomScrollbar.concat.min.js"></script>
<script src="/js/lib/jquery.bxslider.min.js"></script>
<script src="/js/lib/picker.js"></script>
<script src="/js/lib/picker.date.js"></script>
<script src="/js/lib/legacy.js"></script>
<script src="/js/lib/base64.js"></script>
<!-- 라이브러리, 플러그인 끝 -->
<script src="/js/jquery.seed.js"></script>
<script src="/js/seed.common.js"></script>
<script src="/js/seed.app.js"></script>
<script src="/js/DateTimePicker.js"></script>
<script src="/js/jquery.selectboxes.js"></script>
<!-- js -->
</body>
<script>
/* innorix-1
첨부파일 업로드 경로 전역 변수 선언
*/
var directory = "";
var fileList = "";
$(document).ready(function(){
//caseGubunCombo();
//counselAppTypeCombo();
//counselResertGubunCombo();
//counselRouteCombo();
/*
var optionList = $("#caseGubun option");
for(var i = 0; i < optionList.length; i++){
if(optionList[i].value == '${data.mediationType}'){
$(optionList[i]).attr("selected", true);
}
}
optionList = $("#counselAppType option");
for(var i = 0; i < optionList.length; i++){
if('${data.counselApptype}' == ''){
if(optionList[i].value == '4503000000'){
$(optionList[i]).attr("selected", true);
}
}else{
if(optionList[i].value == '${data.counselApptype}'){
$(optionList[i]).attr("selected", true);
}
}
}
optionList = $("#counselResertGubun option");
for(var i = 0; i < optionList.length; i++){
if(optionList[i].value == '${data.counselResertGubun}'){
$(optionList[i]).attr("selected", true);
}
}
optionList = $("#counselRoute option");
for(var i = 0; i < optionList.length; i++){
if(optionList[i].value == '${data.counselRoute}'){
$(optionList[i]).attr("selected", true);
}
}
*/
/* 이노릭스 대용량 업로드 솔루션 */
/* innorix-2
첨부파일 업로드 경로 설정
fileFuncType와 세션의 siteId등의 정보를 이용해 업로드 경로 설정
*/
var fileFuncType = $("#fileTempUpFrm").find("input[name='fileFuncType']").val();
var url = "<c:url value='/seed/innorix/getRealFileDirectoryAjax.do'/>"
getFileDirectory(fileFuncType, url, function(result){
directory = result;
});
/* innorix-3
이노릭스 업로드 컨트롤 생성
control 객체는 innorixCommon.js에서 생성
*/
control = innorix.create({
el: '#fileControl', // 컨트롤 출력 HTML 객체 ID
transferMode: 'both', // 업로드, 다운로드 혼합사용
agent : false,
installUrl: "<c:url value='/innorix/install/install.html'/>", // Agent 설치 페이지
uploadUrl: "<c:url value='/innorix/exam/seedUpload.jsp'/>", // 업로드 URL
allowExtension : ["txt","jpeg","jpg","png","gif","bmp","mp3","mp4","hwp","doc","docx","xls","xlsx","ppt","pptx","pdf","zip","alz"]
});
var downFileArr ='${innorixFileListInfoStr}';
/* innorix-5
이노릭스 업로드 완료 후
콜백 함수로 파일 정보 전달
*/
control.on('uploadComplete', function (p) {
console.log('uploadComplete : ', p);
fn_callBackInnorix(p.files); // 파일 정보 DB isnert function
});
// 파일전송 컨트롤 로딩 완료
control.on('loadComplete', function (p) {
resetFileArr = downFileArr; // 다운로드 정보 초기화 정보 생성
resetFileArr = resetFileArr.slice(0); // 배열 깊은 복사
control.presetDownloadFiles(resetFileArr); // 다운로드 파일 추가
});
// 파일 삭제 이벤트
control.on('removeFiles', function (p) {
fn_deleteCallBackInnorix(p[0].dataIdx)
});
});
/* innorix-4
이노릭스 업로드 시작
첨부파일이 있을 시 업로드 후 게시글 수정
첨부파일이 없을 시 바로 게시글 수정
*/
function innorixUpload(){
if(control.getUploadFiles().length > 0){
var postObj = new Object();
postObj.directory = directory;
control.setPostData(postObj);
control.upload(); // 업로드 시작
}else{
$("button[type='submit']").click();
}
}
/* innorix-6
게시글 등록 처리
첨부파일 정보 DB 등록 및 게시글 등록 처리
*/
function fn_callBackInnorix(data){
$("input[name='innorixFileListVO']").val(JSON.stringify(data));
$("button[type='submit']").click();
}
function fn_deleteCallBackInnorix(dataIdx){
var deleteFileData = $("#deleteFileDataId").val();
if(deleteFileData != ""){
deleteFileData = deleteFileData+","+dataIdx
}else{
deleteFileData = dataIdx
}
$("#deleteFileDataId").val(deleteFileData);
}
</script>
</html>

View File

@ -3247,14 +3247,22 @@ function atendReqPopOpen(caseNo){
window.open(popUrl, "", popOption); window.open(popUrl, "", popOption);
} }
function fileFirstPopOpen(caseNo){ function fileFirstPopOpen(p_caseNo, p_fileFuncType){
alert('작업중') //alert('작업중')
return; //return;
var popUrl = "/gtm/case/trublprocessmng/dtaPop/jsp/Page.do?caseNo="+caseNo; var popUrl = "/gtm/case/trublprocessmng/fileAtchPop/jsp/Page.do?caseNo="+p_caseNo+"&fileFuncType="+p_fileFuncType;
var popOption = "width=1024, height=750, resizable=no, scrollbars=no, status=no;"; var popOption = "width=1024, height=750, resizable=no, scrollbars=no, status=no;";
window.open(popUrl, "", popOption); window.open(popUrl, "", popOption);
} }
function fileSecondPopOpen(p_caseNo, p_fileFuncType){
//alert('작업중')
//return;
var popUrl = "/gtm/case/trublprocessmng/fileAtchPop2/jsp/Page.do?caseNo="+p_caseNo+"&fileFuncType="+p_fileFuncType;
var popOption = "width=1024, height=750, resizable=no, scrollbars=no, status=no;";
window.open(popUrl, "", popOption);
}
function fileHistoryPopOpen(fileGubun, title){ function fileHistoryPopOpen(fileGubun, title){
var seqArr = $(".fileSeq_"+fileGubun); var seqArr = $(".fileSeq_"+fileGubun);
@ -3404,6 +3412,21 @@ function nanumApi_back(jobID, codeNo, nanumSubject, obj1, obj2, obj3, obj4,
}); });
} }
function nanumCall_bef(p_no, p_name, p_fileKey){
if (p_fileKey!=''){
$("#nanumViewFrm #fileKeyView").val(p_fileKey);
}
var f = document.nanumViewFrm;
f.action = $("#nanumViewFrm #gwCallUrlView").val();
f.target = "_blank";
f.submit();
//nanumCall(p_no, p_name);
}
//문서 기안작성 및 결제상신 //문서 기안작성 및 결제상신
function nanumApi(jobID, codeNo, nanumSubject, obj1, obj2, obj3, obj4, function nanumApi(jobID, codeNo, nanumSubject, obj1, obj2, obj3, obj4,
obj5, obj6, obj7, obj8, obj9, obj10, obj11, obj12, obj13, obj14, obj15){ obj5, obj6, obj7, obj8, obj9, obj10, obj11, obj12, obj13, obj14, obj15){
@ -3616,12 +3639,26 @@ function nanumApi(jobID, codeNo, nanumSubject, obj1, obj2, obj3, obj4,
$("#nanumViewFrm #contentsStrView").val(r.contents); $("#nanumViewFrm #contentsStrView").val(r.contents);
//$("#subjectStrImsi").val(r.title); //그룹웨어로그인아이디 //$("#subjectStrImsi").val(r.title); //그룹웨어로그인아이디
//$("#contentsStrImsi").val(r.contents); //그룹웨어로그인아이디 //$("#contentsStrImsi").val(r.contents);
//착수 보고서 는 첩부파일 팝업을 띄운다.
if (jobID=='1-1'||jobID=='2-1'
||jobID=='3-1'||jobID=='4-1'
||jobID=='5-1'||jobID=='6-1'){
//fileFirstPopOpen($("#caseNo").val(),'X-1');
var f = document.nanumViewFrm;
f.action = $("#nanumViewFrm #gwCallUrlView").val();
f.target = "_blank";
f.submit();
}else{
var f = document.nanumViewFrm;
f.action = $("#nanumViewFrm #gwCallUrlView").val();
f.target = "_blank";
f.submit();
}
var f = document.nanumViewFrm;
f.action = $("#nanumViewFrm #gwCallUrlView").val();
f.target = "_blank";
f.submit();
} }
@ -4680,6 +4717,8 @@ function docOpen(obj) {
<!-- 접수 --> <!-- 접수 -->
<div class="area_left"> <div class="area_left">
<button type="button" class="btn-default btn btn_text btn_36 blue_border" onclick="nanumCall('1', '<c:out value="${masterData.caseNo }"/> 사건착수보고');">착수보고</button> <button type="button" class="btn-default btn btn_text btn_36 blue_border" onclick="nanumCall('1', '<c:out value="${masterData.caseNo }"/> 사건착수보고');">착수보고</button>
<%-- <button type="button" class="btn btn_text btn_36 subgray_border btn-default"onclick="fileFirstPopOpen('${caseNo}','X-1');">요구현황(작업중)</button> --%>
<%-- <button type="button" class="btn btn_text btn_36 subgray_border btn-default"onclick="fileSecondPopOpen('${caseNo}','X-1');">요구현황(작업중)</button> --%>
<!-- <button type="button" class="btn-default btn btn_text btn_36 blue_border" onclick="nanumCallImsi('');">임시 착수보고</button> --> <!-- <button type="button" class="btn-default btn btn_text btn_36 blue_border" onclick="nanumCallImsi('');">임시 착수보고</button> -->
<!-- <button type="button" class="btn-default btn btn_text btn_36 blue_border" onclick="nanumCallImsiView('');">임시 착수보고V</button> --> <!-- <button type="button" class="btn-default btn btn_text btn_36 blue_border" onclick="nanumCallImsiView('');">임시 착수보고V</button> -->
@ -4743,7 +4782,7 @@ function docOpen(obj) {
<button type="button" class="btn btn_text btn_36 subgray_border btn-default" onclick="atendReqPopOpen('${caseNo}');">출석현황</button> <button type="button" class="btn btn_text btn_36 subgray_border btn-default" onclick="atendReqPopOpen('${caseNo}');">출석현황</button>
<button type="button" class="btn btn_text btn_36 subgray_border btn-default" onclick="cfrnctrnsferPop();">협의회이관</button> <button type="button" class="btn btn_text btn_36 subgray_border btn-default" onclick="cfrnctrnsferPop();">협의회이관</button>
<button type="button" class="btn btn_text btn_36 subgray_border btn-default dayLength">기간연장</button> <button type="button" class="btn btn_text btn_36 subgray_border btn-default dayLength">기간연장</button>
<button type="button" class="btn btn_text btn_36 subgray_border btn-default"onclick="fileFirstPopOpen('${caseNo}');">요구현황(작업중)</button> <button type="button" class="btn btn_text btn_36 subgray_border btn-default"onclick="fileFirstPopOpen('${caseNo}','X-1');">요구현황(작업중)</button>
</div> </div>
</div> </div>
</c:if> </c:if>

File diff suppressed because it is too large Load Diff