2022-10-11 12:35 결재선 추가
This commit is contained in:
parent
aff997f614
commit
3bcfa6df55
@ -590,15 +590,7 @@ public class AdjReqMgrOffLineController {
|
||||
return "kccadr/adjReqMgrOff/popup/adjReqMgrOffHistoryPopList";
|
||||
}
|
||||
|
||||
/**
|
||||
* auth : 이준호
|
||||
* 결재선 지정 팝업
|
||||
* date : 2022.09.23
|
||||
*/
|
||||
@RequestMapping("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do")
|
||||
public String adjReqMgrOffAppReqPop(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
|
||||
return "kccadr/adjReqMgrOff/popup/adjReqMgrOffAppReqPop";
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/kccadr/adjReqMgOff/adjReqMgrOffAppReqPopAjax.do")
|
||||
public void adjReqMgrOffAppReqPopAjax(@ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model,
|
||||
|
||||
@ -0,0 +1,70 @@
|
||||
package kcc.kccadr.advcAprvl.web;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import kcc.com.cmm.service.EgovCmmUseService;
|
||||
import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineService;
|
||||
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
|
||||
@Controller
|
||||
public class AdvcAprvlController {
|
||||
|
||||
// 조정신청 서비스단
|
||||
@Resource(name = "AdjReqMgrOffLineService")
|
||||
private AdjReqMgrOffLineService adjReqMgrOffLineService;
|
||||
|
||||
// eGov 공통코드
|
||||
@Resource(name = "EgovCmmUseService")
|
||||
private EgovCmmUseService cmmUseService;
|
||||
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
// global 프로퍼티
|
||||
@Resource(name="globalSettings")
|
||||
protected Properties propertiesService;
|
||||
|
||||
//첨부파일 경로, realPath 설정
|
||||
@Resource(name="EgovFileMngUtil")
|
||||
private EgovFileMngUtil fileUtil;
|
||||
|
||||
// 첨부파일 정보
|
||||
@Resource(name="EgovFileMngService")
|
||||
private EgovFileMngService fileMngService;
|
||||
|
||||
//암복호화 유틸
|
||||
@Resource(name = "egovCryptoUtil")
|
||||
EgovCryptoUtil egovCryptoUtil;
|
||||
|
||||
/**
|
||||
* auth : 이준호
|
||||
* 결재선 지정 팝업
|
||||
* date : 2022.09.23
|
||||
*/
|
||||
@RequestMapping("/kccadr/advcAprvl/popup/advcAprvlReqPop.do")
|
||||
public String adjReqMgrOffAppReqPop(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
|
||||
return "kccadr/advcAprvl/popup/advcAprvlReqPop";
|
||||
}
|
||||
|
||||
/**
|
||||
* auth : 이준호
|
||||
* 결재선 대결 팝업
|
||||
* date : 2022.09.23
|
||||
*/
|
||||
@RequestMapping("/kccadr/advcAprvl/popup/advcSbsttAprvlReqPop.do")
|
||||
public String advcSbsttAprvlReqPop(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
|
||||
System.out.println("========================================");
|
||||
return "kccadr/advcAprvl/popup/advcSbsttAprvlReqPop";
|
||||
}
|
||||
|
||||
}
|
||||
696
src/main/java/kcc/kccadr/advcSttst/web/AdvcSttstController.java
Normal file
696
src/main/java/kcc/kccadr/advcSttst/web/AdvcSttstController.java
Normal file
@ -0,0 +1,696 @@
|
||||
package kcc.kccadr.advcSttst.web;
|
||||
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.service.EgovCmmUseService;
|
||||
import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||
import kcc.com.cmm.service.FileVO;
|
||||
import kcc.com.cmm.util.StringUtil;
|
||||
import kcc.com.utl.fcc.service.EgovStringUtil;
|
||||
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineService;
|
||||
import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO;
|
||||
import kcc.let.sym.mnu.mpm.service.MenuManageJTreeVO;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
|
||||
@Controller
|
||||
public class AdvcSttstController {
|
||||
|
||||
// 조정신청 서비스단
|
||||
@Resource(name = "AdjReqMgrOffLineService")
|
||||
private AdjReqMgrOffLineService adjReqMgrOffLineService;
|
||||
|
||||
// eGov 공통코드
|
||||
@Resource(name = "EgovCmmUseService")
|
||||
private EgovCmmUseService cmmUseService;
|
||||
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
// global 프로퍼티
|
||||
@Resource(name="globalSettings")
|
||||
protected Properties propertiesService;
|
||||
|
||||
//첨부파일 경로, realPath 설정
|
||||
@Resource(name="EgovFileMngUtil")
|
||||
private EgovFileMngUtil fileUtil;
|
||||
|
||||
// 첨부파일 정보
|
||||
@Resource(name="EgovFileMngService")
|
||||
private EgovFileMngService fileMngService;
|
||||
|
||||
//암복호화 유틸
|
||||
@Resource(name = "egovCryptoUtil")
|
||||
EgovCryptoUtil egovCryptoUtil;
|
||||
|
||||
/**
|
||||
* 오프라인 조정신청 정보 입력 화면
|
||||
*/
|
||||
@RequestMapping("/kccadr/advcSttst/adjReqMgrOffRegist.do")
|
||||
public String adjReqMgrOffRegist(@ModelAttribute("searchVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
|
||||
|
||||
//로그인 권한정보 불러오기
|
||||
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
model.addAttribute("user", user);
|
||||
|
||||
// 공통코드 조회
|
||||
List<?> codeResult = cmmUseService.selectCmmCodeDetail("CC001");
|
||||
model.addAttribute("CC001", codeResult);
|
||||
|
||||
int reqPerTotCnt = 0;
|
||||
|
||||
if(StringUtils.isNotBlank(adjReqMgrOffLineVO.getAdrSeq())) {
|
||||
|
||||
//오프라인 조정 신청 정보 불러오기.
|
||||
AdjReqMgrOffLineVO resultAdjReqMgrOffLine = adjReqMgrOffLineService.selectAdjReqMgrOffLineInfo(adjReqMgrOffLineVO);
|
||||
|
||||
model.addAttribute("adrVO", resultAdjReqMgrOffLine);
|
||||
|
||||
}else {
|
||||
|
||||
//기본 값 셋팅 - 대리인 여부, 신청자 분류
|
||||
adjReqMgrOffLineVO.setRpplTy("10");
|
||||
adjReqMgrOffLineVO.setReqTy("01");
|
||||
model.addAttribute("adrVO", adjReqMgrOffLineVO);
|
||||
|
||||
}
|
||||
|
||||
|
||||
model.addAttribute("reqPerTotCnt", reqPerTotCnt);
|
||||
|
||||
return "kccadr/adjReqMgrOff/adjReqMgrOffRegist";
|
||||
}
|
||||
|
||||
/**
|
||||
* 오프라인 조정신청 정보 등록 처리 Ajax
|
||||
*
|
||||
*/
|
||||
@RequestMapping(value = {"/kccadr/advcSttst/insertAdjReqMgrOffAjax.do"})
|
||||
public ModelAndView insertAdjReqMgrOffAjax(final MultipartHttpServletRequest multiRequest
|
||||
,@ModelAttribute("adrVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpServletRequest request) throws Exception {
|
||||
|
||||
//로그인 권한정보 불러오기
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
if(userId.equals("")) {
|
||||
|
||||
modelAndView.addObject("adjStatus", "loginFail");
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
/*파일등록 */
|
||||
String atchFileId = ""; // 조정신청 첨부파일 아이디
|
||||
String FratchFileId = ""; //대리인 첨부파일 아이디
|
||||
final Map<String, MultipartFile> files = multiRequest.getFileMap();
|
||||
Map<String, MultipartFile> fileFr = new LinkedHashMap<>();
|
||||
Map<String, MultipartFile> fileOr = new LinkedHashMap<>();
|
||||
|
||||
if (!files.isEmpty()) {
|
||||
|
||||
Iterator<Map.Entry<String, MultipartFile>> it = files.entrySet().iterator();
|
||||
int frIndex = 0;
|
||||
int orIndex = 0;
|
||||
while(it.hasNext()) {
|
||||
|
||||
Map.Entry<String, MultipartFile> entry = it.next();
|
||||
MultipartFile mFile = entry.getValue();
|
||||
|
||||
if(entry.getKey().contains("fileFr")) { //대리인 첨부파일 리스트 추가
|
||||
|
||||
fileFr.put("fileFr" + frIndex, mFile);
|
||||
frIndex++;
|
||||
|
||||
}
|
||||
|
||||
if(entry.getKey().contains("fileOr")) { //조정신청 첨부파일 리스트 추가
|
||||
|
||||
fileOr.put("fileOr" + orIndex, mFile);
|
||||
orIndex++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(fileFr != null) { // 대리인 첨부파일
|
||||
|
||||
List<FileVO> result = fileUtil.parseFileInf(fileFr, "조정 신청_", 0, "", "", "");
|
||||
FratchFileId = fileMngService.insertFileInfs(result);
|
||||
adjReqMgrOffLineVO.getAdjReqMgrVoList().get(0).setAtchFileId(FratchFileId);
|
||||
|
||||
}
|
||||
|
||||
if(fileOr != null) { // 조정신청 첨부파일
|
||||
|
||||
List<FileVO> result = fileUtil.parseFileInf(fileOr, "조정 신청_", 0, "", "", "");
|
||||
atchFileId = fileMngService.insertFileInfs(result);
|
||||
adjReqMgrOffLineVO.setAtchFileId(atchFileId);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//사용자 유니크 아이디 받아오기
|
||||
adjReqMgrOffLineVO.setFrstRegisterId(userId);
|
||||
|
||||
//조정신청, 대리인, 신청인 등록 처리
|
||||
String resultAdrSeq = adjReqMgrOffLineService.insertAdjReqMgrRpplReq(adjReqMgrOffLineVO);
|
||||
|
||||
modelAndView.addObject("adjStatus", "success");
|
||||
modelAndView.addObject("resultAdrSeq", resultAdrSeq);
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 오프라인 조정신청 정보 수정 화면
|
||||
* 현재(20210915) 목록 화면이 없어서 임시로 특정 조정신청 정보가 호출 되도록 처리하였음
|
||||
* 차후에 adrSeq 번호를 파라미터로 받으면 됨
|
||||
*/
|
||||
@RequestMapping("/kccadr/advcSttst/selectAdjReqMgrOffUpdtView.do")
|
||||
public String selectAdjReqMgrUpdtView(@ModelAttribute("searchVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO,
|
||||
RedirectAttributes redirectAttributes,
|
||||
ModelMap model) throws Exception {
|
||||
|
||||
//로그인 권한정보 불러오기
|
||||
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
model.addAttribute("user", user);
|
||||
|
||||
String adrSeq = adjReqMgrOffLineVO.getAdrSeq();
|
||||
|
||||
if(adrSeq.equals("") || adrSeq == null) {
|
||||
|
||||
//조정신청 번호가 없으면 메인화면으로 리턴 시킴
|
||||
model.addAttribute("message", "잘못된 접근입니다. 접속 URL을 확인해 주세요.");
|
||||
redirectAttributes.addFlashAttribute("message", "잘못된 접근입니다. 접속 URL을 확인해 주세요.");
|
||||
return "redirect:/cmm/main/mainPage.do";
|
||||
//adjReqMgrOffLineVO.setAdrSeq("ADR_0000000000000322");//ADR_0000000000000280
|
||||
}
|
||||
|
||||
//오프라인 조정 신청 정보 불러오기.
|
||||
AdjReqMgrOffLineVO resultAdjReqMgrOffLine = adjReqMgrOffLineService.selectAdjReqMgrOffLineInfo(adjReqMgrOffLineVO);
|
||||
|
||||
|
||||
FileVO fileVO = new FileVO();
|
||||
|
||||
if(resultAdjReqMgrOffLine.getAdjReqMgrVoList().get(0).getAtchFileId() != null){
|
||||
|
||||
//대리인 첨부파일 리스트 불러오기
|
||||
String rpplAtchFileId = resultAdjReqMgrOffLine.getAdjReqMgrVoList().get(0).getAtchFileId();
|
||||
fileVO.setAtchFileId(rpplAtchFileId);
|
||||
resultAdjReqMgrOffLine.setRpplAtchFileId(rpplAtchFileId);
|
||||
List<FileVO> rpplAtchFileList = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("rpplAtchFileList", rpplAtchFileList);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//조정신청 첨부파일 리스트 불러오기.
|
||||
String rpplMgrAtchFileId = resultAdjReqMgrOffLine.getAtchFileId();
|
||||
fileVO.setAtchFileId(rpplMgrAtchFileId);
|
||||
resultAdjReqMgrOffLine.setRpplMgrAtchFileId(rpplMgrAtchFileId);
|
||||
List<FileVO> rpplMgrAtchFileList = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("rpplMgrAtchFileList", rpplMgrAtchFileList);
|
||||
|
||||
// 공통코드 조회
|
||||
List<?> codeResult = cmmUseService.selectCmmCodeDetail("CC001");
|
||||
model.addAttribute("CC001", codeResult);
|
||||
|
||||
model.addAttribute("adrVO", resultAdjReqMgrOffLine);
|
||||
model.addAttribute("reqPerTotCnt", resultAdjReqMgrOffLine.getReqPerTotCnt());
|
||||
|
||||
return "kccadr/adjReqMgrOff/adjReqMgrOffUpdtView";
|
||||
}
|
||||
|
||||
/**
|
||||
* 오프라인 조정신청 피신청인 정보 삭제 Ajax
|
||||
*
|
||||
*/
|
||||
@RequestMapping(value = {"/kccadr/advcSttst/deleteAdjReqMgrOffPersonAjax.do"})
|
||||
public ModelAndView deleteAdjReqMgrOffPersonAjax(final MultipartHttpServletRequest multiRequest
|
||||
,@ModelAttribute("adrVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpServletRequest request) throws Exception {
|
||||
|
||||
//로그인 권한정보 불러오기
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
if(userId.equals("")) {
|
||||
|
||||
modelAndView.addObject("adjStatus", "loginFail");
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
//사용자 유니크 아이디 받아오기
|
||||
adjReqMgrOffLineVO.setFrstRegisterId(userId);
|
||||
|
||||
//조정신청 피신청인 정보 삭제
|
||||
int resultCnt = adjReqMgrOffLineService.deleteAdjReqMgrOffPerson(adjReqMgrOffLineVO);
|
||||
|
||||
if(resultCnt > 0) {
|
||||
|
||||
modelAndView.addObject("adjStatus", "success");
|
||||
modelAndView.addObject("resultCnt", resultCnt);
|
||||
|
||||
}else {
|
||||
|
||||
modelAndView.addObject("adjStatus", "delFail");
|
||||
|
||||
}
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 조정신청 Step03 신청취지/원인 정보 수정 Ajax
|
||||
*
|
||||
*/
|
||||
@RequestMapping(value = {"/kccadr/advcSttst/updateAdjReqMgrOffAjax.do"})
|
||||
public ModelAndView updateAdrMgrMasterAjax(final MultipartHttpServletRequest multiRequest
|
||||
,@ModelAttribute("adrVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO
|
||||
, RedirectAttributes redirectAttributes
|
||||
, HttpServletRequest request) throws Exception {
|
||||
|
||||
//로그인 권한정보 불러오기
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
if(userId.equals("")) {
|
||||
|
||||
modelAndView.addObject("adjStatus", "loginFail");
|
||||
return modelAndView;
|
||||
|
||||
}
|
||||
|
||||
//사용자 유니크 아이디 받아오기
|
||||
adjReqMgrOffLineVO.setLastUpdusrId(userId);
|
||||
|
||||
/*파일등록 */
|
||||
//String atchFileId = ""; // 조정신청 첨부파일 아이디
|
||||
//String FratchFileId = ""; //대리인 첨부파일 아이디
|
||||
String isThumbFile = "";
|
||||
String rpplAtchFileId = adjReqMgrOffLineVO.getRpplAtchFileId(); //대리인 첨부파일 아이디
|
||||
String rpplMgrAtchFileId = adjReqMgrOffLineVO.getRpplMgrAtchFileId(); //조정신청 첨부파일 아이디
|
||||
|
||||
final Map<String, MultipartFile> files = multiRequest.getFileMap();
|
||||
Map<String, MultipartFile> fileFr = new LinkedHashMap<>();
|
||||
Map<String, MultipartFile> fileOr = new LinkedHashMap<>();
|
||||
|
||||
if (!files.isEmpty()) {
|
||||
|
||||
Iterator<Map.Entry<String, MultipartFile>> it = files.entrySet().iterator();
|
||||
int frIndex = 0;
|
||||
int orIndex = 0;
|
||||
while(it.hasNext()) {
|
||||
|
||||
Map.Entry<String, MultipartFile> entry = it.next();
|
||||
MultipartFile mFile = entry.getValue();
|
||||
|
||||
if(entry.getKey().contains("fileFr")) { //대리인 첨부파일 리스트 추가
|
||||
|
||||
fileFr.put("fileFr" + frIndex, mFile);
|
||||
frIndex++;
|
||||
|
||||
}
|
||||
|
||||
if(entry.getKey().contains("fileOr")) { //조정신청 첨부파일 리스트 추가
|
||||
|
||||
fileOr.put("fileOr" + orIndex, mFile);
|
||||
orIndex++;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(fileFr != null) { // 대리인 첨부파일
|
||||
|
||||
if ("".equals(rpplAtchFileId)) {
|
||||
List<FileVO> result = fileUtil.parseFileInf(fileFr, "조정 신청_", 0, rpplAtchFileId, "", isThumbFile);
|
||||
|
||||
rpplAtchFileId = fileMngService.insertFileInfs(result);
|
||||
adjReqMgrOffLineVO.getAdjReqMgrVoList().get(0).setAtchFileId(rpplAtchFileId); //대리인 정보에 첨부파일 아이디 넣어주기
|
||||
|
||||
} else {
|
||||
FileVO fvo = new FileVO();
|
||||
fvo.setAtchFileId(rpplAtchFileId);
|
||||
adjReqMgrOffLineVO.getAdjReqMgrVoList().get(0).setAtchFileId(rpplAtchFileId); //대리인 정보에 첨부파일 아이디 넣어주기
|
||||
int cnt = fileMngService.getMaxFileSN(fvo);
|
||||
List<FileVO> result = fileUtil.parseFileInf(fileFr, "조정 신청_", cnt, rpplAtchFileId, "", isThumbFile);
|
||||
|
||||
fileMngService.updateFileInfs(result);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(fileOr != null) { // 조정신청 첨부파일
|
||||
|
||||
if ("".equals(rpplMgrAtchFileId)) {
|
||||
List<FileVO> result = fileUtil.parseFileInf(fileOr, "조정 신청_", 0, rpplMgrAtchFileId, "", isThumbFile);
|
||||
|
||||
rpplMgrAtchFileId = fileMngService.insertFileInfs(result);
|
||||
adjReqMgrOffLineVO.setAtchFileId(rpplMgrAtchFileId);
|
||||
} else {
|
||||
FileVO fvo = new FileVO();
|
||||
fvo.setAtchFileId(rpplMgrAtchFileId);
|
||||
adjReqMgrOffLineVO.setAtchFileId(rpplMgrAtchFileId);
|
||||
int cnt = fileMngService.getMaxFileSN(fvo);
|
||||
List<FileVO> result = fileUtil.parseFileInf(fileOr, "조정 신청_", cnt, rpplMgrAtchFileId, "", isThumbFile);
|
||||
|
||||
fileMngService.updateFileInfs(result);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//조정신청 신청인 취지/원인 등록 처리
|
||||
String resultSts = adjReqMgrOffLineService.updateAdjReqMgrRpplReq(adjReqMgrOffLineVO);
|
||||
|
||||
if(resultSts.equals("updateSucc")) {
|
||||
|
||||
modelAndView.addObject("adjStatus", "success");
|
||||
|
||||
}else {
|
||||
|
||||
modelAndView.addObject("adjStatus", "fail");
|
||||
|
||||
}
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* auth : bhkim
|
||||
* 전자조정위원 사건 관리 현황 통계
|
||||
* date : 2021.09.111
|
||||
*/
|
||||
@RequestMapping("/kccadr/advcSttst/memSttstList.do")
|
||||
public String adjReqMgrOffList(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
|
||||
|
||||
// 제출 시
|
||||
// adr_mgr_master 테이블 stat_cd 제출 완료(ADR_REQ_COMP, 101010)로, lastupdtPnttm, lastupdtId 업데이트
|
||||
// adr_mgr_master 테이블 stat_cd 변경으로 history 테이블에 이력 insert
|
||||
//로그인 권한정보 불러오기
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
|
||||
|
||||
if(adjReqMgrOffLineVO.getPageUnit() != 10) {
|
||||
adjReqMgrOffLineVO.setPageUnit(adjReqMgrOffLineVO.getPageUnit());
|
||||
}
|
||||
|
||||
if("".equals(adjReqMgrOffLineVO.getSearchSortCnd())){
|
||||
adjReqMgrOffLineVO.setSearchSortCnd("RS.ADR_SEQ");
|
||||
adjReqMgrOffLineVO.setSearchSortOrd("desc");
|
||||
}
|
||||
if(("3".equals(adjReqMgrOffLineVO.getSearchCondition()) || "4".equals(adjReqMgrOffLineVO.getSearchCondition())) && StringUtils.isNotBlank(adjReqMgrOffLineVO.getSearchKeyword())){
|
||||
adjReqMgrOffLineVO.setSearchKeyword(egovCryptoUtil.encrypt(adjReqMgrOffLineVO.getSearchKeyword()));
|
||||
}
|
||||
|
||||
/** paging */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(adjReqMgrOffLineVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(adjReqMgrOffLineVO.getPageUnit());
|
||||
paginationInfo.setPageSize(adjReqMgrOffLineVO.getPageSize());
|
||||
|
||||
adjReqMgrOffLineVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
adjReqMgrOffLineVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
adjReqMgrOffLineVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
paginationInfo.setTotalRecordCount(adjReqMgrOffLineService.adjReqMgrOffListCount(adjReqMgrOffLineVO));
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
List<AdjReqMgrOffLineVO> list = adjReqMgrOffLineService.adjReqMgrOffList(adjReqMgrOffLineVO);
|
||||
// 복호화
|
||||
decryptInfomation(list, null);
|
||||
model.addAttribute("list", list);
|
||||
|
||||
|
||||
if(("3".equals(adjReqMgrOffLineVO.getSearchCondition()) || "4".equals(adjReqMgrOffLineVO.getSearchCondition())) && StringUtils.isNotBlank(adjReqMgrOffLineVO.getSearchKeyword())){
|
||||
adjReqMgrOffLineVO.setSearchKeyword(egovCryptoUtil.decrypt(adjReqMgrOffLineVO.getSearchKeyword()));
|
||||
}
|
||||
|
||||
return "kccadr/advcSttst/memSttstList";
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/kccadr/advcSttst/adjReqMgrOffDetail.do")
|
||||
public String adjReqMgrOffDetail(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
|
||||
AdjReqMgrOffLineVO master = adjReqMgrOffLineService.selectAdjstReqMgrOffMasterInfo(adjReqMgrOffLineVO);
|
||||
model.addAttribute("master", master);
|
||||
|
||||
List<AdjReqMgrOffLineVO> person = adjReqMgrOffLineService.selectAdjstReqMgrOffPersonList(adjReqMgrOffLineVO);
|
||||
// 복호화
|
||||
decryptInfomation(person, null);
|
||||
model.addAttribute("person", person);
|
||||
|
||||
String bttnStatYn = adjReqMgrOffLineService.selectAdjstReqMgrOffStatCdYn(adjReqMgrOffLineVO);
|
||||
|
||||
model.addAttribute("bttnStatYn", bttnStatYn);
|
||||
|
||||
if(StringUtils.isNotBlank(master.getAtchFileId())){
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(master.getAtchFileId());
|
||||
List<FileVO> fileList = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("fileList", fileList);
|
||||
}
|
||||
|
||||
|
||||
for(int i=0; i < person.size(); i++) {
|
||||
|
||||
if(StringUtil.isNotEmpty(person.get(i).getAtchFileId())) {
|
||||
|
||||
if(StringUtils.isNotBlank(person.get(i).getAtchFileId())){
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(master.getAtchFileId());
|
||||
List<FileVO> depuFileList = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("depuFileList", depuFileList);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
return "kccadr/adjReqMgrOff/adjReqMgrOffDetail";
|
||||
}
|
||||
|
||||
@RequestMapping(value = {"/kccadr/advcSttst/adjReqMgrOffDelete.do"}, method = RequestMethod.POST)
|
||||
public ModelAndView adjReqMgrOffDelete(HttpServletRequest request , @RequestBody AdjReqMgrOffLineVO adjReqMgrOffLineVO) throws Exception {
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
adjReqMgrOffLineService.deleteAdjstReqMgrOff(adjReqMgrOffLineVO);
|
||||
modelAndView.addObject("rs", "success");
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@RequestMapping(value = {"/kccadr/advcSttst/adjReqMgrOffSubmit.do"})
|
||||
public ModelAndView adjReqMgrOffSubmit(@RequestBody AdjReqMgrOffLineVO adjReqMgrOffLineVO ,HttpServletRequest request) throws Exception {
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
// 제출 시
|
||||
// adr_mgr_master 테이블 stat_cd 제출 완료(ADR_REQ_COMP, 101010)로, lastupdtPnttm, lastupdtId 업데이트
|
||||
// adr_mgr_master 테이블 stat_cd 변경으로 history 테이블에 이력 insert
|
||||
//로그인 권한정보 불러오기
|
||||
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
|
||||
|
||||
|
||||
try {
|
||||
|
||||
adjReqMgrOffLineVO.setLastUpdusrId(userId);
|
||||
|
||||
//adr_mgr_master 테이블 update, 히스토리 이력, adr_mgr_detail 테이블 insert
|
||||
int result = adjReqMgrOffLineService.updateAdjstReqMgrOff(adjReqMgrOffLineVO);
|
||||
if(result > 1) {
|
||||
modelAndView.addObject("result", "success");
|
||||
}else {
|
||||
modelAndView.addObject("result", "fail");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println("Exception!!!!!");
|
||||
modelAndView.addObject("msg", "제출에 실패하였습니다.");
|
||||
}
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/*
|
||||
*
|
||||
* 오프라인신청 이전신청 리스트 화면 불러오기
|
||||
* 임시저장된 내용의 리스트를 불러온다.
|
||||
*
|
||||
* */
|
||||
@RequestMapping("/kccadr/advcSttst/adjReqMgrOffHistoryPopAjax.do")
|
||||
public String adjReqMgrOffHistoryPopAjax(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
|
||||
AdjReqMgrOffLineVO master = adjReqMgrOffLineService.selectAdjstReqMgrOffMasterInfo(adjReqMgrOffLineVO);
|
||||
model.addAttribute("master", master);
|
||||
|
||||
if("".equals(adjReqMgrOffLineVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
adjReqMgrOffLineVO.setSearchSortCnd("T1.FRST_REGIST_PNTTM");
|
||||
adjReqMgrOffLineVO.setSearchSortOrd("desc");
|
||||
}
|
||||
|
||||
/** paging */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(adjReqMgrOffLineVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(adjReqMgrOffLineVO.getPageUnit());
|
||||
paginationInfo.setPageSize(adjReqMgrOffLineVO.getPageSize());
|
||||
|
||||
adjReqMgrOffLineVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
adjReqMgrOffLineVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
adjReqMgrOffLineVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
paginationInfo.setTotalRecordCount(adjReqMgrOffLineService.selectAdjReqMgrOffHistotyListCount(adjReqMgrOffLineVO));
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
List<AdjReqMgrOffLineVO> list = adjReqMgrOffLineService.selectAdjReqMgrOffHistotyList(adjReqMgrOffLineVO);
|
||||
decryptInfomation(list, null);
|
||||
|
||||
//검색어가 있는 경우 복호화 해준다.
|
||||
if(StringUtils.isNotBlank(adjReqMgrOffLineVO.getSearchKeyword())) {
|
||||
|
||||
adjReqMgrOffLineVO.setSearchKeyword(egovCryptoUtil.decrypt(adjReqMgrOffLineVO.getSearchKeyword()));
|
||||
|
||||
}
|
||||
|
||||
model.addAttribute("list", list);
|
||||
return "kccadr/adjReqMgrOff/popup/adjReqMgrOffHistoryPopList";
|
||||
}
|
||||
|
||||
/**
|
||||
* auth : 이준호
|
||||
* 결재선 지정 팝업
|
||||
* date : 2022.09.23
|
||||
*/
|
||||
@RequestMapping("/kccadr/advcSttst/popup/adjReqMgrOffAppReqPop.do")
|
||||
public String adjReqMgrOffAppReqPop(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
|
||||
return "kccadr/adjReqMgrOff/popup/adjReqMgrOffAppReqPop";
|
||||
}
|
||||
|
||||
@RequestMapping("/kccadr/advcSttst/adjReqMgrOffAppReqPopAjax.do")
|
||||
public void adjReqMgrOffAppReqPopAjax(@ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model,
|
||||
HttpServletResponse response , HttpServletRequest request) throws Exception {
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
//response.setHeader("Content-Type", "text/html;charset=utf-8");
|
||||
PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(), "UTF-8"));
|
||||
|
||||
|
||||
List<MenuManageJTreeVO> resultList = new ArrayList<MenuManageJTreeVO>();
|
||||
|
||||
MenuManageJTreeVO menuManageTopVO2 = new MenuManageJTreeVO();
|
||||
menuManageTopVO2.setUpperMenuId("#");
|
||||
menuManageTopVO2.setMenuNo("0");
|
||||
menuManageTopVO2.setMenuNm("관련인");
|
||||
resultList.add(0, menuManageTopVO2);
|
||||
|
||||
for(int i = 1 ; i < 6 ; i ++ ){
|
||||
MenuManageJTreeVO menuManageTopVO = new MenuManageJTreeVO();
|
||||
|
||||
menuManageTopVO.setUpperMenuId("0");
|
||||
menuManageTopVO.setMenuNo(String.valueOf(i));
|
||||
menuManageTopVO.setMenuNm("홍길동" + String.valueOf(i));
|
||||
menuManageTopVO.setMenuOrdr(i);
|
||||
menuManageTopVO.setProgrmFileNm("dir");
|
||||
menuManageTopVO.setUseYn("Y");
|
||||
menuManageTopVO.setRelateImagePath("/");
|
||||
menuManageTopVO.setRelateImageNm("/");
|
||||
resultList.add(i, menuManageTopVO);
|
||||
}
|
||||
|
||||
System.out.println("resultList :: "+resultList);
|
||||
mapper.writeValue(out, resultList);
|
||||
out.flush();
|
||||
}
|
||||
|
||||
|
||||
public void decryptInfomation(List<AdjReqMgrOffLineVO> list, AdjReqMgrOffLineVO info){
|
||||
if(CollectionUtils.isNotEmpty(list)){
|
||||
for(AdjReqMgrOffLineVO model : list){
|
||||
model.setRpplNm(egovCryptoUtil.decrypt(model.getRpplNm()));
|
||||
model.setRpplAddr(egovCryptoUtil.decrypt(model.getRpplAddr()));
|
||||
model.setRpplAddrDtl(egovCryptoUtil.decrypt(model.getRpplAddrDtl()));
|
||||
model.setRpplPost(egovCryptoUtil.decrypt(model.getRpplPost()));
|
||||
model.setRpplEmail(egovCryptoUtil.decrypt(model.getRpplEmail()));
|
||||
model.setRpplPhone(egovCryptoUtil.decrypt(model.getRpplPhone()));
|
||||
|
||||
model.setRpplRealAddr(egovCryptoUtil.decrypt(model.getRpplRealAddr()));
|
||||
model.setRpplRealAddrDtl(egovCryptoUtil.decrypt(model.getRpplRealAddrDtl()));
|
||||
model.setRpplRealPost(egovCryptoUtil.decrypt(model.getRpplRealPost()));
|
||||
|
||||
model.setDepuTyNm(egovCryptoUtil.decrypt(model.getDepuTyNm()));
|
||||
model.setResPonDentNm(egovCryptoUtil.decrypt(model.getResPonDentNm()));
|
||||
model.setAppliCantNm(egovCryptoUtil.decrypt(model.getAppliCantNm()));
|
||||
|
||||
//피신청인 정보가 여러개 일경우
|
||||
if(StringUtils.isNotBlank(model.getResPonDentNms())){
|
||||
String[] resNms = model.getResPonDentNms().split("\\|");
|
||||
if(resNms.length > 1 ){
|
||||
List<String> names = new ArrayList<>();
|
||||
for(String name : resNms){
|
||||
names.add(egovCryptoUtil.decrypt(name));
|
||||
}
|
||||
model.setResPonDentNm(String.join(",", names));
|
||||
}else{
|
||||
model.setResPonDentNm(egovCryptoUtil.decrypt(resNms[0]));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if(info != null){
|
||||
info.setRpplNm(egovCryptoUtil.decrypt(info.getRpplNm()));
|
||||
info.setRpplAddr(egovCryptoUtil.decrypt(info.getRpplAddr()));
|
||||
info.setRpplAddrDtl(egovCryptoUtil.decrypt(info.getRpplAddrDtl()));
|
||||
info.setRpplPost(egovCryptoUtil.decrypt(info.getRpplPost()));
|
||||
info.setRpplRealAddr(egovCryptoUtil.decrypt(info.getRpplRealAddr()));
|
||||
info.setRpplRealAddrDtl(egovCryptoUtil.decrypt(info.getRpplRealAddrDtl()));
|
||||
info.setRpplRealPost(egovCryptoUtil.decrypt(info.getRpplRealPost()));
|
||||
info.setRpplEmail(egovCryptoUtil.decrypt(info.getRpplEmail()));
|
||||
info.setRpplPhone(egovCryptoUtil.decrypt(info.getRpplPhone()));
|
||||
info.setDepuTyNm(egovCryptoUtil.decrypt(info.getDepuTyNm()));
|
||||
info.setResPonDentNm(egovCryptoUtil.decrypt(info.getResPonDentNm()));
|
||||
info.setAppliCantNm(egovCryptoUtil.decrypt(info.getAppliCantNm()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -292,7 +292,9 @@ $(document).ready(function(){
|
||||
}
|
||||
|
||||
function fnc_aprvl_pop(param){
|
||||
commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do", '1000', '700', "entInfoPop", $('#pop'));
|
||||
//commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do", '1000', '700', "entInfoPop", $('#pop'));
|
||||
commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcAprvlReqPop.do", '1000', '700', "entInfoPop", $('#pop'));
|
||||
|
||||
}
|
||||
/* 워크플로우 */
|
||||
$(function(){
|
||||
|
||||
@ -722,6 +722,16 @@
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function fnc_sbstt_aprvl_pop(param){
|
||||
//commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do", '1000', '700', "entInfoPop", $('#pop'));
|
||||
var detailForm = document.detailForm;
|
||||
commonPopWindowopenForm("/kccadr/advcAprvl/popup/advcSbsttAprvlReqPop.do", '1000', '700', "sbsttInfoPop", $('#detailForm'));
|
||||
|
||||
//var detailForm = document.detailForm;
|
||||
//commonPopWindowopenForm("/kccadr/adjPgrMgr/apm/popup/adrDetailPop.do", "840", "800", "adrDetailPop", $('#detailForm'));
|
||||
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.tbType02 .btnType02, .tb_tit+.btn_area button{width: 95px; height: 35px; padding: 0; font-size: 17px; vertical-align: baseline;}
|
||||
@ -1048,6 +1058,7 @@
|
||||
<button type="button" class="btnType02" onclick="fncReject(); return false;">반려</button>
|
||||
<button type="button" class="btnType06" onclick="fncConfirm(); return false;">결재</button>
|
||||
</c:if>
|
||||
<button type="button" class="btnType02" onclick="fnc_sbstt_aprvl_pop('a'); return false;">대결</button>
|
||||
<button type="button" class="btnType03" onclick="fncGoList(); return false;">목록</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -0,0 +1,922 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link href="<c:url value='/'/>css/jstree/themes/default/style.min.css" rel="stylesheet" type="text/css">
|
||||
<style>
|
||||
.jstree_orgChart {
|
||||
overflow: auto;
|
||||
border: 1px solid silver;
|
||||
min-height: 100px;
|
||||
width: 290px;
|
||||
}
|
||||
</style>
|
||||
<script src="<c:url value='/js/jquery-1.12.4.min.js' />"></script>
|
||||
<script src="<c:url value='/js/jstree.min.js' />"></script>
|
||||
<script src="<c:url value='/js/EgovCmmUtl.js' />"></script>
|
||||
<script type="text/javascript">
|
||||
/*********************************
|
||||
* jstree
|
||||
*********************************
|
||||
*/
|
||||
var newNodeId = "";
|
||||
function jstreeInit() {
|
||||
$('#kccadr_sbmt').jstree({
|
||||
"core" : {
|
||||
"animation" : 0,
|
||||
"multiple" : false,
|
||||
"check_callback" : true,
|
||||
"themes" : { "stripes" : true },
|
||||
"data" : {
|
||||
"url" : "<c:url value='/kccadr/adjReqMgOff/adjReqMgrOffAppReqPopAjax.do'/>",
|
||||
"dataType" : "json",
|
||||
"data" : function (node) {
|
||||
console.log("node.id :: " + node.id);
|
||||
console.log("authorCode :: " + $('#authorCode').val());
|
||||
return {'id' : node.id, 'authorCode' : $('#authorCode').val() };
|
||||
}
|
||||
}
|
||||
},
|
||||
"types" : {
|
||||
"#" : {
|
||||
/* "max_children" : 4, */
|
||||
"max_depth" : 5,
|
||||
"valid_children" : ["root"]
|
||||
},
|
||||
"root" : {
|
||||
"icon" : "glyphicon glyphicon-flash",
|
||||
"valid_children" : ["default"]
|
||||
},
|
||||
"default" : {
|
||||
"valid_children" : ["default","file"]
|
||||
},
|
||||
"file" : {
|
||||
"icon" : "jstree-file",
|
||||
"valid_children" : []
|
||||
}
|
||||
}/* ,
|
||||
"plugins" : [
|
||||
"contextmenu", "dnd", "search",
|
||||
"types"
|
||||
] */
|
||||
})
|
||||
.bind('loaded.jstree', function(e, data) {
|
||||
$('#kccadr_sbmt').jstree('open_node' , $('#0') )
|
||||
})
|
||||
.on('select_node.jstree', function (e, data) {
|
||||
if(!$('.organ_rightbox').is(":visible")){
|
||||
$(".organ_rightbox").show();
|
||||
}
|
||||
/* 메뉴 선택 */
|
||||
var menuNo = data.node.id;
|
||||
var upperMenuId = data.node.parent;
|
||||
//하위 메뉴가 있으면 메뉴코드 변경못하게
|
||||
if(data.node.children.length > 0){
|
||||
$('#menuNo').attr("readonly",true);
|
||||
$('#existChildNode').val("Y");
|
||||
}else{
|
||||
$('#menuNo').attr("readonly",false);
|
||||
$('#existChildNode').val("N");
|
||||
}
|
||||
|
||||
/* 메뉴 선택 */
|
||||
var menuNo = data.node.id;
|
||||
//메뉴 추가시 자동 선택되게
|
||||
if(newNodeId !=""){
|
||||
menuNo = newNodeId ;
|
||||
newNodeId = "";
|
||||
$('#'+data.instance.get_node(menuNo).a_attr.id).trigger("click") //클릭 이벤트 발생
|
||||
}
|
||||
|
||||
$("#menuTopNm").text(data.node.text);
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoAjax.do' />",
|
||||
data:{ "menuNo" : menuNo , "authorCode" : $('#authorCode').val()},
|
||||
dataType:'json',
|
||||
//timeout:(1000*30),
|
||||
success : function(returnData, status) {
|
||||
if (status == "success") {
|
||||
var menuManageVO = returnData.menuManageVO;
|
||||
var menuUserTypeList = returnData.menuUserTypeList;
|
||||
fn_select_menuNo(menuManageVO, menuUserTypeList);
|
||||
} else { alert("ERROR"); }
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
},
|
||||
complete : function () {
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
})
|
||||
.on('rename_node.jstree', function (e, data) { //메뉴명 변경
|
||||
var nodeId = data.node.id;
|
||||
var oldText = data.old;
|
||||
var newText = data.text;
|
||||
|
||||
if (nodeId > 0) {
|
||||
/* 부서명 변경 */
|
||||
if (oldText != newText) {
|
||||
if (confirm("메뉴명을 변경하시겠습니까?" )) {
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoNmUpdateAjax.do' />",
|
||||
data:{ "menuNo" : nodeId, "menuNm" : newText },
|
||||
dataType:'json',
|
||||
success : function(returnData, status) {
|
||||
if (status == "success") {
|
||||
alert("메뉴명이 변경되었습니다.");
|
||||
} else { alert("ERROR"); }
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴명이 변경이 실패되었습니다.");
|
||||
},
|
||||
complete : function () {
|
||||
data.instance.refresh();
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
data.instance.refresh();
|
||||
}
|
||||
}
|
||||
} else {/* 메뉴 추가 */
|
||||
|
||||
}
|
||||
})
|
||||
.on('delete_node.jstree', function (e, data) {
|
||||
/* 메뉴 삭제 */
|
||||
if(data.node.children.length != 0){
|
||||
alert("하위 메뉴를 먼저 삭제 후 메뉴를 삭제해 주세요.");
|
||||
data.instance.refresh();
|
||||
}else{
|
||||
if (confirm("[" + data.node.text + "]" + " 메뉴를 삭제하시겠습니까?")){
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoDeleteAjax.do' />",
|
||||
data:{ "menuNo" : data.node.id , "authorCode" : $('#authorCode').val() },
|
||||
dataType:'json',
|
||||
//timeout:(1000*30),
|
||||
success : function(returnData, status) {
|
||||
if (status == "success") {
|
||||
alert("메뉴 정보가 삭제되었습니다.");
|
||||
fn_init_menuInfo();
|
||||
} else { alert("ERROR"); }
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴 정보 삭제가 실패되었습니다.");
|
||||
//alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
},
|
||||
complete : function () {
|
||||
data.instance.refresh();
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
data.instance.refresh();
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
.on('create_node.jstree', function(e, data) {
|
||||
if (confirm("메뉴를 추가하시겠습니까?")){
|
||||
var instance = data.instance;
|
||||
var menuNm = data.text;
|
||||
var upperMenuId = data.node.parent;
|
||||
var menuOrdr = 1;
|
||||
var childrenNodes = instance.get_node(upperMenuId).children;
|
||||
|
||||
// 하위 메뉴 있을 시 마지막 부서 sort_ord + 1
|
||||
if (childrenNodes.length > 1) {
|
||||
//var lastChildrenNode = instance.get_node(childrenNodes[childrenNodes.length - 2]);
|
||||
//sortOrd = lastChildrenNode.li_attr.sortOrd + 1;
|
||||
menuOrdr = childrenNodes.length ;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoInsertAjax.do' />",
|
||||
data:{ "menuNm" : menuNm, "upperMenuId" : upperMenuId, "menuOrdr" : menuOrdr , "authorCode" : $('#authorCode').val() },
|
||||
dataType:'json',
|
||||
//timeout:(1000*30),
|
||||
success : function(returnData, status) {
|
||||
if (returnData.status == "success") {
|
||||
alert("메뉴가 추가 되었습니다.");
|
||||
//fn_select_menuNo(returnData.menuManageVO, returnData.menuManageVO.menuUserType);
|
||||
newNodeId = returnData.menuManageVO.menuNo ;
|
||||
}else if(returnData.status == "dupl"){
|
||||
alert("중복된 아이디가 있습니다.\n 중복된 아이디변경/삭제후 다시 추가해 주세요\n"+ "("+returnData.menuManageResultVO.menuCours+")");
|
||||
|
||||
}else{
|
||||
alert("메뉴 추가가 실패하였습니다.");
|
||||
|
||||
}
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴 추가가 실패되었습니다.")
|
||||
},
|
||||
complete : function () {
|
||||
data.instance.refresh();
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
}else{
|
||||
data.instance.refresh();
|
||||
}
|
||||
})
|
||||
.on('move_node.jstree', function (e, data) {
|
||||
/* 메뉴 위치 변경 */
|
||||
var instance = data.instance;
|
||||
var menuNo = data.node.id;
|
||||
var childrenNodes = instance.get_node(menuNo).children;
|
||||
|
||||
if (confirm("메뉴 위치를 변경하시겠습니까?" )){
|
||||
//var partIdx = data.node.id;
|
||||
var upperMenuId = data.parent;
|
||||
var menuOrdr = data.position + 1;
|
||||
var sortOver = "A" ;
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoMoveAjax.do' />",
|
||||
data:{ "menuNo" : menuNo, "upperMenuId" : upperMenuId, "menuOrdr" : menuOrdr , "authorCode" : $('#authorCode').val()},
|
||||
dataType:'json',
|
||||
success : function(returnData, status) {
|
||||
if (status == "success") {
|
||||
alert("메뉴 위치가 변경되었습니다.");
|
||||
} else { alert("ERROR"); }
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴 위치 변경이 실패되었습니다.");
|
||||
},
|
||||
complete : function () {
|
||||
data.instance.refresh();
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
data.instance.refresh();
|
||||
}
|
||||
}) ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
$( document ).ready(function() {
|
||||
jstreeInit();
|
||||
});
|
||||
|
||||
//직원 상세 초기화
|
||||
function fn_add_emp() {
|
||||
var partIdx =$("#selectPartIdx").val();
|
||||
var upperIdxs = $("#selectPartParents").val();
|
||||
|
||||
// 직원 상세 초기화
|
||||
document.empInfForm.reset();
|
||||
$("#empFormTitle").text("메뉴 추가등록 상세");
|
||||
$("input[name='paIdx']").val("");
|
||||
|
||||
fn_set_emp_part(partIdx, upperIdxs);
|
||||
}
|
||||
|
||||
|
||||
//메뉴 정보 세팅
|
||||
function fn_select_menuNo(menuManageVO, menuUserTypeList){
|
||||
var tmpHtml = "";
|
||||
if(menuManageVO!=null){
|
||||
$('#menuNo').val(menuManageVO.menuNo);
|
||||
$('#tmp_Id').val(menuManageVO.menuNo);
|
||||
$('#menuCours').text(menuManageVO.menuCours);
|
||||
$('#menuOrdr').val(menuManageVO.menuOrdr);
|
||||
$('#menuNm').val(menuManageVO.menuNm);
|
||||
$('#menuDc').val(menuManageVO.menuDc);
|
||||
$('#upperMenuIdText').text(menuManageVO.upperMenuId);
|
||||
$('#upperMenuId').val(menuManageVO.upperMenuId);
|
||||
$('#progrmFileNm').val(menuManageVO.progrmFileNm);
|
||||
/* $('#progrmFileNmText').text(menuManageVO.progrmFileNm); */
|
||||
$('#tmp_Name').val(menuManageVO.progrmFileNm);
|
||||
$('#relateImageNm').val(menuManageVO.relateImageNm);
|
||||
$('#relateImagePath').val(menuManageVO.relateImagePath);
|
||||
$('#userType').val(menuManageVO.userType);
|
||||
$('#url').val(menuManageVO.url);
|
||||
$('#useYn').val(menuManageVO.useYn);
|
||||
$('#satisYn').val(menuManageVO.satisYn);
|
||||
$('.menu_detail_tit span').html(menuManageVO.menuNm+' - 메뉴 권한 목록');
|
||||
if(""!=menuManageVO.emplyrId) $('#emplyrId').val(menuManageVO.emplyrId); //담당자 세팅
|
||||
if(""!=menuManageVO.emplyrIdTxt) $('#emplyrIdTxt').val(menuManageVO.emplyrIdTxt); //담당자 세팅
|
||||
|
||||
if(menuManageVO.satisYn == null){
|
||||
$('#satisYn').val('N')
|
||||
}
|
||||
$("#menuTopNm").text( menuManageVO.menuNm );
|
||||
$("#progrmHtmlFileId").val( menuManageVO.progrmHtmlFileId );
|
||||
$("#progrmBbsId").val(menuManageVO.progrmBbsId);
|
||||
$('#progrmFileNm_tmp').val(menuManageVO.progrmFileNm);
|
||||
var menuType = menuManageVO.menuType ;
|
||||
|
||||
if(menuType == "M"){
|
||||
$("#satisTr").css("display", "none");
|
||||
}else{
|
||||
$("#satisTr").css("display", "");
|
||||
}
|
||||
if(menuManageVO.progrmFileNm == 'dir' || menuType == 'M'){
|
||||
$("#menuType").val("M"); //메뉴로 세팅
|
||||
$('#progrmFileNm').attr("readonly", true);
|
||||
$('#progrmFileNm_tmp').val("");
|
||||
$('#url_tmp').val("");
|
||||
}else{
|
||||
$("#menuType").val(menuType);
|
||||
//$('#progrmFileNm').attr("readonly", false);
|
||||
$('#url_tmp').val(menuManageVO.url);
|
||||
}
|
||||
|
||||
//메뉴타입 설정
|
||||
initShowUrl('Y');
|
||||
$('#url').val(menuManageVO.url);
|
||||
$(".main1_delete_btn").removeAttr("onclick");
|
||||
$(".main1_delete_btn").attr("onclick", "fn_delete_menuInfo('"+menuManageVO.menuNo+"' , '"+menuManageVO.progrmFileNm+"' );return false;");
|
||||
$(".main1_save_btn").removeAttr("onclick");
|
||||
$(".main1_save_btn").attr("onclick", "fn_save_menuInfo('"+menuManageVO.menuNo+"');return false;");
|
||||
|
||||
$('.tr_item').remove();
|
||||
if( ( "P" == $('#menuType').val() || "C" == $('#menuType').val()) && "ROLE_ANONYMOUS"==$('#authorCode').val() ){ //추가 게시판 조회(프로그램/사용자 화면만 조회)
|
||||
$('#tr_add_bbs').show();
|
||||
set_bbs();
|
||||
}else{
|
||||
$('#tr_add_bbs').hide();
|
||||
}
|
||||
|
||||
$('#htmlComfirm').hide();
|
||||
if(""!=menuManageVO.progrmHtmlFileId){
|
||||
$('#htmlComfirm').show();
|
||||
$('#a_contentLink').attr("onclick" , "htmlComfirm('"+menuManageVO.progrmHtmlFileId+"');")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//메뉴 정보 삭제
|
||||
function fn_delete_menuInfo(menuNo , progrmFileNm ) {
|
||||
if(menuNo == null || "undefined"== menuNo){
|
||||
alert("삭제 하려는 메뉴를 먼저 선택해주세요.");
|
||||
return ;
|
||||
}
|
||||
|
||||
var instance = $('#kccadr_sbmt').jstree(true);
|
||||
if(instance.get_node(menuNo).children.length != 0){
|
||||
alert("하위 메뉴를 먼저 삭제 후 메뉴를 삭제해 주세요.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (confirm("메뉴를 삭제 하시겠습니까?")){
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
"url" : "<c:url value='/sym/mnu/mcm/EgovMenuInfoDeleteAjax.do'/>",
|
||||
data:{ "menuNo" : menuNo , "progrmFileNm" : progrmFileNm , "authorCode" : $('#authorCode').val() },
|
||||
dataType:'json',
|
||||
//timeout:(1000*30),
|
||||
success : function(returnData, status) {
|
||||
if (returnData.status == "success") {
|
||||
// 직원 목록 갱신
|
||||
var instance = $('#kccadr_sbmt').jstree(true);
|
||||
//$("#" + instance.get_node(partIdx).a_attr.id).trigger("click");
|
||||
alert("메뉴 정보가 삭제 되었습니다.");
|
||||
$("#kccadr_sbmt").jstree("refresh");
|
||||
fn_init_menuInfo();
|
||||
} else if(returnData.status == "duplPk"){
|
||||
alert("삭제하려는 메뉴를 참조하고 있는 메뉴가 있습니다.\n 참조하는 메뉴를 삭제후 다시 시도해 주세요\n"+ "("+returnData.menuManageResultVO.menuCours+")");
|
||||
|
||||
}
|
||||
else {
|
||||
alert("메뉴 삭제가 실패되었습니다.");
|
||||
|
||||
}
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴 삭제가 실패되었습니다..");
|
||||
},
|
||||
complete : function (){
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//메뉴정보 init(메뉴 초기화)
|
||||
function fn_init_menuInfo() {
|
||||
$("#menuTopNm").text("메뉴선택");
|
||||
$("#menuForm input[type=text]").val("")
|
||||
$('#menuCours').text("");
|
||||
$('#upperMenuIdText').text("");
|
||||
/* $('#progrmFileNmText').text(""); */
|
||||
}
|
||||
|
||||
//메뉴 초기화
|
||||
function jstreeRefresh() {
|
||||
var searchForm = document.searchForm ;
|
||||
searchForm.authorCode.value = $('#authorCode').val();
|
||||
searchForm.submit();
|
||||
}
|
||||
|
||||
|
||||
//메뉴 정보 저장. 등록/수정
|
||||
function fn_save_menuInfo(menuNo) {
|
||||
if(menuNo == null || "undefined"== menuNo){
|
||||
alert("저장 하려는 메뉴를 먼저 메뉴트리에서 생성해 주세요."); return ;
|
||||
}
|
||||
|
||||
var menuForm = document.menuForm;
|
||||
if(""==menuForm.menuNo.value){
|
||||
alert("메뉴번호는 필수 값입니다"); return;
|
||||
}
|
||||
|
||||
if(!$.isNumeric(menuForm.menuNo.value)){
|
||||
alert("메뉴번호는 숫자만 가능합니다."); return;
|
||||
}
|
||||
|
||||
if(!$.isNumeric(menuForm.menuOrdr.value)){
|
||||
alert("메뉴순서는 숫자만 가능합니다."); return;
|
||||
}
|
||||
|
||||
var menuType = $("#menuType option:selected").val();
|
||||
if(menuType !="M"){
|
||||
if($("#progrmFileNm").val() == ""){
|
||||
alert("프로그램 파일명은 필수 값입니다");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(!confirm("저장하시겠습니까?")) return;
|
||||
|
||||
<%-- 원자력
|
||||
//추가 게시판 저장후 메뉴 정보 저장
|
||||
//if( $('#tr_bbs').length > 0 ){
|
||||
if(!save_line()){
|
||||
console.log();
|
||||
return;
|
||||
}
|
||||
//}
|
||||
--%>
|
||||
|
||||
var url = "";
|
||||
url = "<c:url value='/sym/mnu/mcm/EgovMenuInfoUpdateAjax.do'/>";
|
||||
var params = $(menuForm).serialize();
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
"url":url,
|
||||
data:params,
|
||||
dataType:'json',
|
||||
success : function(returnData, status) {
|
||||
if (returnData.status == "success") {
|
||||
alert("메뉴 정보가 저장 되었습니다.");
|
||||
var instance = $('#kccadr_sbmt').jstree(true);
|
||||
$('#'+instance.get_node($('#tmp_Id').val()).a_attr.id).trigger("click");//이전 메뉴id선택되게
|
||||
$('#tmp_Id').val($('#menuNo').val());
|
||||
} else if(returnData.status == "upperDupl"){
|
||||
alert("상위 메뉴 번호가 있습니다.");
|
||||
|
||||
}else if(returnData.status == "dupl"){
|
||||
alert("이미 사용하고 있는 메뉴 번호가 있습니다.");
|
||||
|
||||
}else if(returnData.status == "duplProNm"){
|
||||
alert("이미 사용하고 있는 프로그램파일명이 있습니다.");
|
||||
|
||||
}else{
|
||||
alert("ERROR");
|
||||
}
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴 정보 저장이 실패되었습니다.");
|
||||
},
|
||||
complete : function () {
|
||||
$("#kccadr_sbmt").jstree("refresh");
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//메뉴 초기화
|
||||
function initShowUrl(init){
|
||||
var menuType = $("#menuType option:selected").val();
|
||||
|
||||
$("#url").val("");
|
||||
$("#showUrl").hide();
|
||||
$("#btnContent").hide();
|
||||
$("#btnBBS").hide();
|
||||
$('#htmlComfirm').hide();
|
||||
$('#BBSNameSpan').text("");
|
||||
if("M" == menuType){ //메뉴
|
||||
$("#progrmFileNm").val("dir");
|
||||
$("#url").val("");
|
||||
$('#progrmFileNm').attr("readonly", true);
|
||||
}else{
|
||||
$("#progrmFileNm").val($("#progrmFileNm_tmp").val());
|
||||
$("#url").val($("#url_tmp").val());
|
||||
|
||||
if("P" == menuType){ //프로그램
|
||||
$('#progrmFileNm').attr("readonly", false);
|
||||
$("#url").attr("readonly", false);
|
||||
}else if("C" == menuType ){ //컨텐츠
|
||||
$('#progrmFileNm').attr("readonly", false);
|
||||
$("#url").attr("readonly", false);
|
||||
}else if("B" == menuType){ //게시판
|
||||
$('#progrmFileNm').attr("readonly", false);
|
||||
$("#url").attr("readonly", false);
|
||||
}else if("O" == menuType){ //게시판
|
||||
$('#progrmFileNm').attr("readonly", false);
|
||||
$("#url").attr("readonly", false);
|
||||
}
|
||||
if(init=='N'){
|
||||
var instance = $('#kccadr_sbmt').jstree(true);
|
||||
if($('#kccadr_sbmt').jstree('get_selected')[0] != null){
|
||||
if(instance.get_node($('#kccadr_sbmt').jstree('get_selected')[0]).children.length != 0){
|
||||
alert("하위 메뉴가 있을경우는 다른타입으로 변경할수 없습니다.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$("#showUrl").show();
|
||||
if("C" == menuType){
|
||||
$("#btnContent").show();
|
||||
$("#url").attr("readonly", false);
|
||||
}else if("B" == menuType){
|
||||
$("#btnBBS").show();
|
||||
$("#url").attr("readonly", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var docWidth = screen.availWidth;
|
||||
var docHeight = screen.availHeight;
|
||||
var scX = window.screenX||window.screenLeft||0;
|
||||
var scY = window.screenY||window.screenTop||0;
|
||||
/* ********************************************************
|
||||
* 게시판목록조회 함수
|
||||
******************************************************** */
|
||||
function searchBBSId(obj) {
|
||||
var popupX = scX + (docWidth - 185) / 2;
|
||||
var popupY = scY + (docHeight - 195) / 2;
|
||||
|
||||
memuPopup = window.open('', 'memuPopup', "width=800, height=730, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
|
||||
document.searchForm.method = "post";
|
||||
if("menuAdd"==$(obj).attr('id')){ //추가게시판 버튼 클릭시
|
||||
document.searchForm.seCd.value = $(obj).attr('id');
|
||||
document.searchForm.searchNm.value = $(obj).attr('value');
|
||||
}
|
||||
document.searchForm.action = "/cop/bbs/EgovBBSIdListSearch.do";
|
||||
document.searchForm.target = "memuPopup" ;
|
||||
document.searchForm.submit();
|
||||
document.searchForm.target = "_self" ;
|
||||
document.searchForm.action= "/sym/mnu/mcm/EgovMenuCreatSelectJtree.do";
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 화면컨텐츠ID 검색 팝업
|
||||
******************************************************** */
|
||||
var memuPopup ="";
|
||||
function searchContentList() {
|
||||
var popupX = scX + (docWidth - 185) / 2;
|
||||
var popupY = scY + (docHeight - 195) / 2;
|
||||
|
||||
memuPopup = window.open('', 'memuPopup', "width=800, height=730, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
|
||||
document.searchForm.method = "post";
|
||||
document.searchForm.action = "/uss/ion/cnt/contentListPopup.do";
|
||||
document.searchForm.target = "memuPopup" ;
|
||||
document.searchForm.submit();
|
||||
document.searchForm.target = "_self" ;
|
||||
document.searchForm.action= "/sym/mnu/mcm/EgovMenuCreatSelectJtree.do";
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 사용자 메뉴 담당자 조회 함수
|
||||
******************************************************** */
|
||||
function searchManageMenuList() {
|
||||
var popupX = scX + (docWidth - 185) / 2;
|
||||
var popupY = scY + (docHeight - 195) / 2;
|
||||
|
||||
memuPopup = window.open('', 'memuPopup', "width=800, height=730, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
|
||||
document.searchForm.method = "post";
|
||||
document.searchForm.action = "/uss/umt/user/EgovUserManageMenuAjax.do";
|
||||
document.searchForm.target = "memuPopup" ;
|
||||
document.searchForm.submit();
|
||||
document.searchForm.target = "_self" ;
|
||||
document.searchForm.action= "/sym/mnu/mcm/EgovMenuCreatSelectJtree.do";
|
||||
}
|
||||
|
||||
|
||||
function onkeyContentName(event){
|
||||
var tempContentUrl = "/web/content.do?proFn=" ;
|
||||
if($("#menuType option:selected").val()=="C"){
|
||||
$("#url").val(tempContentUrl + $("#progrmFileNm").val()) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//행추가
|
||||
function add_line(bbsInfo){
|
||||
var eva_temp_tr = $('#temp_tr').clone();
|
||||
$('#tbl_bbsId').append(eva_temp_tr);
|
||||
eva_temp_tr.attr('id' , 'tr_bbs').attr('class' , 'tr_item');
|
||||
{ //변수 변경
|
||||
var tr_item_length = $('.tr_item').size()-1 ;
|
||||
eva_temp_tr.find("#temp_bbsTxt").attr('name', eva_temp_tr.find("#temp_bbsTxt").attr('name').replace('[]' , '['+tr_item_length+']' )) ;
|
||||
eva_temp_tr.find("#temp_bbsTxt").attr('id' , 'bbsTxt_'+tr_item_length) ;
|
||||
eva_temp_tr.find("#temp_bbsIds").attr('name', eva_temp_tr.find("#temp_bbsIds").attr('name').replace('[]' , '['+tr_item_length+']' )) ;
|
||||
eva_temp_tr.find("#temp_bbsIds").attr('id' , 'menuAdd_'+tr_item_length) ;
|
||||
eva_temp_tr.find("#temp_bbsSorts").attr('name' , eva_temp_tr.find("#temp_bbsSorts").attr('name').replace('[]' , '['+tr_item_length+']' ) ) ;
|
||||
eva_temp_tr.find("#temp_bbsSorts").attr('id' , 'bbsSorts_'+tr_item_length) ;
|
||||
eva_temp_tr.find("#menuAdd").attr('value' , 'menuAdd_'+tr_item_length ) ;
|
||||
}
|
||||
if(null != bbsInfo){
|
||||
$('#bbsTxt_'+tr_item_length).val(bbsInfo.bbsNm);
|
||||
$('#bbsSorts_'+tr_item_length).val(bbsInfo.bbsSort);
|
||||
$('#menuAdd_'+tr_item_length).val(bbsInfo.bbsId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//삭제시 배열 초기화
|
||||
var arrCd = [];
|
||||
function set_count(){ //tr 세팅
|
||||
$('.tr_item').each(function(index, item){
|
||||
$(this).find('input[name^=bbsTxt]').attr('name', 'bbsTxt['+index+']' ).attr('id' , 'bbsTxt_'+index ) ;
|
||||
$(this).find('input[name^=bbsSorts]').attr('name', 'bbsSorts['+index+']' );
|
||||
$(this).find('input[name^=bbsIds]').attr('name', 'bbsIds['+index+']' ).attr('id' , 'menuAdd_'+index ) ;
|
||||
$(this).find('#menuAdd').attr('value' , 'menuAdd_'+index) ;
|
||||
});
|
||||
}
|
||||
|
||||
var arrDel = []; //1차배열
|
||||
function delete_line(obj){
|
||||
$(obj).parent().parent().remove();
|
||||
set_count();
|
||||
}
|
||||
|
||||
function save_line() {
|
||||
/* if(0== $('.tr_item').size()){
|
||||
alert("선택된 게시판이 없습니다.");
|
||||
return;
|
||||
} */
|
||||
|
||||
//빈 게시판 방지
|
||||
var blank_tr = false;
|
||||
var blank_sort = false;
|
||||
$('.tr_item').each(function() {
|
||||
if(""==$(this).find('input[name^=bbsTxt]').val()){
|
||||
blank_tr = true;
|
||||
}
|
||||
|
||||
if(""==$(this).find('input[name^=bbsSort]').val()){
|
||||
blank_sort = true;
|
||||
}
|
||||
|
||||
});
|
||||
if(blank_tr) {
|
||||
alert("비어 있는 게시판이 있습니다.");
|
||||
return false;
|
||||
}
|
||||
if(blank_sort) {
|
||||
alert("게시판 순서를 넣어주세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
var save_line_return = false;
|
||||
var frm = document.menuForm;
|
||||
var data = new FormData(frm);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/sym/mnu/mcm/MenuBbsInsertAjax.do",
|
||||
data: data,
|
||||
dataType:'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
async: false,
|
||||
cache: false,
|
||||
timeout: 600000,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){
|
||||
if(returnData.status == 'fail'){
|
||||
alert("게시판 등록 실패하였습니다.");
|
||||
}else if(returnData.status == 'auth_fail'){
|
||||
alert("세션이 종료되었습니다.");
|
||||
}else if(returnData.status =='success'){
|
||||
//alert("등록되었습니다.");
|
||||
save_line_return = true;
|
||||
}
|
||||
}else{
|
||||
alert("등록에 실패하였습니다.");
|
||||
return false;
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log("ERROR : ", e);
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
});
|
||||
return save_line_return;
|
||||
}
|
||||
|
||||
function htmlComfirm(progrmHtmlFileId) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/sym/mnu/mcm/HtmlComfirmAjax.do",
|
||||
data:{
|
||||
"cntId": progrmHtmlFileId
|
||||
},
|
||||
dataType:'json',
|
||||
timeout: 600000,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){
|
||||
console.log("sdfsdf");
|
||||
window.open("/uss/ion/cnt/cntManageInsert.do?cntId="+returnData.cntManageVO.cntId+"&cntDtId="+returnData.cntManageVO.cntDtId);
|
||||
}else{
|
||||
//alert("등록에 실패하였습니다.");
|
||||
return false;
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log("ERROR : ", e);
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function set_bbs(){
|
||||
var frm = document.menuForm;
|
||||
var data = new FormData(frm);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/sym/mnu/mcm/MenuBbsSelectAjax.do",
|
||||
data: data,
|
||||
dataType:'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
timeout: 600000,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){
|
||||
for(var i = 0 ; i < returnData.boardMasterList.length ; i++){
|
||||
add_line(returnData.boardMasterList[i]);
|
||||
}
|
||||
}else{
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log("ERROR : ", e);
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function fncGoClose() {
|
||||
self.close();
|
||||
}
|
||||
|
||||
function btnReset(obj){
|
||||
$(obj).closest('dd').find('span').html('');
|
||||
}
|
||||
|
||||
function proxyPay(obj, pram){
|
||||
var proxyPayList = '';
|
||||
proxyPayList += '<div class="appreq_box pay_box">';
|
||||
proxyPayList += '<div class="add_box"><button type="button" class="btnType08" onclick="addSbmtPerson(\''+pram+'\', \'confront\');">추가</button></div>';
|
||||
proxyPayList += '<div class="list_box">';
|
||||
proxyPayList += '<dl>';
|
||||
proxyPayList += '<dt>대결자</dt>';
|
||||
proxyPayList += '<dd>';
|
||||
proxyPayList += '<span id=\'confront'+pram+'\'></span>';
|
||||
proxyPayList += '<div class="button_box"><button type="button" class="btn_reset">초기화</button></div>';
|
||||
proxyPayList += '</dd>';
|
||||
proxyPayList += '</dl>';
|
||||
proxyPayList += '</div>';
|
||||
proxyPayList += '</div>';
|
||||
if($(obj).hasClass('active')){
|
||||
$(obj).removeClass('active').text('대결').prev('.btn_reset').show();
|
||||
$(obj).closest('li').find('.pay_box').remove();
|
||||
}else{
|
||||
$(obj).addClass('active').text('대결취소').prev('.btn_reset').hide();
|
||||
$(obj).closest('li').append(proxyPayList);
|
||||
}
|
||||
}
|
||||
|
||||
function addSbmtPerson(pram, type){
|
||||
var selectedNm = $('#kccadr_sbmt').jstree('get_selected',true)[0].text;
|
||||
|
||||
if(type == 'sbmt'){
|
||||
$('#sbmtPerson'+pram).text(selectedNm);
|
||||
}else{
|
||||
$('#confront'+pram).text(selectedNm);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<title>○○○ 결재 요청</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form id="smbtForm" name="smbtForm" action="">
|
||||
<input type="hidden" name="authorCode" id="authorCode" value="ROLE_ADMIN"/>
|
||||
</form>
|
||||
<div class="area_popup">
|
||||
<div class="cont_popup">
|
||||
<div class="menu_select">
|
||||
<select name="authorCodeSelect" id="authorCodeSelect" class="select" title="검색조건선택">
|
||||
<option value="부서별">부서별</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="menu_wrap appreq_menu_wrap">
|
||||
<div class="menu_area">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType02 all_open" onclick="$('#kccadr_sbmt').jstree('open_all' );">모두열기</button>
|
||||
<button type="button" class="btnType03 all_close" onclick="$('#kccadr_sbmt').jstree('close_node' , $('#0') );">모두닫기</button>
|
||||
</div>
|
||||
<div class="menu_list" id="kccadr_sbmt" class="jstree_orgChart"></div>
|
||||
</div>
|
||||
<div class="menu_detail">
|
||||
<ul class="appreq_list">
|
||||
<li>
|
||||
<div class="title">팀장</div>
|
||||
<div class="appreq_box">
|
||||
<div class="add_box">
|
||||
<button type="button" class="btnType08" onclick="addSbmtPerson('1', 'sbmt');">추가</button>
|
||||
</div>
|
||||
<div class="list_box">
|
||||
<dl>
|
||||
<dt>결재자</dt>
|
||||
<dd>
|
||||
<span id="sbmtPerson1">결재자1</span>
|
||||
<div class="button_box">
|
||||
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
|
||||
<button type="button" class="btn_pay" onclick="proxyPay(this, '1');">대결</button>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">부서장</div>
|
||||
<div class="appreq_box">
|
||||
<div class="add_box">
|
||||
<button type="button" class="btnType08" onclick="addSbmtPerson('2', 'sbmt');">추가</button>
|
||||
</div>
|
||||
<div class="list_box">
|
||||
<dl>
|
||||
<dt>결재자</dt>
|
||||
<dd>
|
||||
<span id="sbmtPerson2">결재자2</span>
|
||||
<div class="button_box">
|
||||
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
|
||||
<button type="button" class="btn_pay" onclick="proxyPay(this, '2');">대결</button>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">위원장</div>
|
||||
<div class="appreq_box">
|
||||
<div class="add_box">
|
||||
<button type="button" class="btnType08" onclick="addSbmtPerson('3', 'sbmt');">추가</button>
|
||||
</div>
|
||||
<div class="list_box">
|
||||
<dl>
|
||||
<dt>결재자</dt>
|
||||
<dd>
|
||||
<span id="sbmtPerson3">결재자3</span>
|
||||
<div class="button_box">
|
||||
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
|
||||
<button type="button" class="btn_pay" onclick="proxyPay(this, '3');">대결</button>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout04">
|
||||
<button type="button" class="btnType01">기본결재선 지정</button>
|
||||
<button type="button" class="btnType06">결재요청</button>
|
||||
<button type="button" class="btnType03" onclick="fncGoClose();">닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,922 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link href="<c:url value='/'/>css/jstree/themes/default/style.min.css" rel="stylesheet" type="text/css">
|
||||
<style>
|
||||
.jstree_orgChart {
|
||||
overflow: auto;
|
||||
border: 1px solid silver;
|
||||
min-height: 100px;
|
||||
width: 290px;
|
||||
}
|
||||
</style>
|
||||
<script src="<c:url value='/js/jquery-1.12.4.min.js' />"></script>
|
||||
<script src="<c:url value='/js/jstree.min.js' />"></script>
|
||||
<script src="<c:url value='/js/EgovCmmUtl.js' />"></script>
|
||||
<script type="text/javascript">
|
||||
/*********************************
|
||||
* jstree
|
||||
*********************************
|
||||
*/
|
||||
var newNodeId = "";
|
||||
function jstreeInit() {
|
||||
$('#kccadr_sbmt').jstree({
|
||||
"core" : {
|
||||
"animation" : 0,
|
||||
"multiple" : false,
|
||||
"check_callback" : true,
|
||||
"themes" : { "stripes" : true },
|
||||
"data" : {
|
||||
"url" : "<c:url value='/kccadr/adjReqMgOff/adjReqMgrOffAppReqPopAjax.do'/>",
|
||||
"dataType" : "json",
|
||||
"data" : function (node) {
|
||||
console.log("node.id :: " + node.id);
|
||||
console.log("authorCode :: " + $('#authorCode').val());
|
||||
return {'id' : node.id, 'authorCode' : $('#authorCode').val() };
|
||||
}
|
||||
}
|
||||
},
|
||||
"types" : {
|
||||
"#" : {
|
||||
/* "max_children" : 4, */
|
||||
"max_depth" : 5,
|
||||
"valid_children" : ["root"]
|
||||
},
|
||||
"root" : {
|
||||
"icon" : "glyphicon glyphicon-flash",
|
||||
"valid_children" : ["default"]
|
||||
},
|
||||
"default" : {
|
||||
"valid_children" : ["default","file"]
|
||||
},
|
||||
"file" : {
|
||||
"icon" : "jstree-file",
|
||||
"valid_children" : []
|
||||
}
|
||||
}/* ,
|
||||
"plugins" : [
|
||||
"contextmenu", "dnd", "search",
|
||||
"types"
|
||||
] */
|
||||
})
|
||||
.bind('loaded.jstree', function(e, data) {
|
||||
$('#kccadr_sbmt').jstree('open_node' , $('#0') )
|
||||
})
|
||||
.on('select_node.jstree', function (e, data) {
|
||||
if(!$('.organ_rightbox').is(":visible")){
|
||||
$(".organ_rightbox").show();
|
||||
}
|
||||
/* 메뉴 선택 */
|
||||
var menuNo = data.node.id;
|
||||
var upperMenuId = data.node.parent;
|
||||
//하위 메뉴가 있으면 메뉴코드 변경못하게
|
||||
if(data.node.children.length > 0){
|
||||
$('#menuNo').attr("readonly",true);
|
||||
$('#existChildNode').val("Y");
|
||||
}else{
|
||||
$('#menuNo').attr("readonly",false);
|
||||
$('#existChildNode').val("N");
|
||||
}
|
||||
|
||||
/* 메뉴 선택 */
|
||||
var menuNo = data.node.id;
|
||||
//메뉴 추가시 자동 선택되게
|
||||
if(newNodeId !=""){
|
||||
menuNo = newNodeId ;
|
||||
newNodeId = "";
|
||||
$('#'+data.instance.get_node(menuNo).a_attr.id).trigger("click") //클릭 이벤트 발생
|
||||
}
|
||||
|
||||
$("#menuTopNm").text(data.node.text);
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoAjax.do' />",
|
||||
data:{ "menuNo" : menuNo , "authorCode" : $('#authorCode').val()},
|
||||
dataType:'json',
|
||||
//timeout:(1000*30),
|
||||
success : function(returnData, status) {
|
||||
if (status == "success") {
|
||||
var menuManageVO = returnData.menuManageVO;
|
||||
var menuUserTypeList = returnData.menuUserTypeList;
|
||||
fn_select_menuNo(menuManageVO, menuUserTypeList);
|
||||
} else { alert("ERROR"); }
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
},
|
||||
complete : function () {
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
})
|
||||
.on('rename_node.jstree', function (e, data) { //메뉴명 변경
|
||||
var nodeId = data.node.id;
|
||||
var oldText = data.old;
|
||||
var newText = data.text;
|
||||
|
||||
if (nodeId > 0) {
|
||||
/* 부서명 변경 */
|
||||
if (oldText != newText) {
|
||||
if (confirm("메뉴명을 변경하시겠습니까?" )) {
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoNmUpdateAjax.do' />",
|
||||
data:{ "menuNo" : nodeId, "menuNm" : newText },
|
||||
dataType:'json',
|
||||
success : function(returnData, status) {
|
||||
if (status == "success") {
|
||||
alert("메뉴명이 변경되었습니다.");
|
||||
} else { alert("ERROR"); }
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴명이 변경이 실패되었습니다.");
|
||||
},
|
||||
complete : function () {
|
||||
data.instance.refresh();
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
data.instance.refresh();
|
||||
}
|
||||
}
|
||||
} else {/* 메뉴 추가 */
|
||||
|
||||
}
|
||||
})
|
||||
.on('delete_node.jstree', function (e, data) {
|
||||
/* 메뉴 삭제 */
|
||||
if(data.node.children.length != 0){
|
||||
alert("하위 메뉴를 먼저 삭제 후 메뉴를 삭제해 주세요.");
|
||||
data.instance.refresh();
|
||||
}else{
|
||||
if (confirm("[" + data.node.text + "]" + " 메뉴를 삭제하시겠습니까?")){
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoDeleteAjax.do' />",
|
||||
data:{ "menuNo" : data.node.id , "authorCode" : $('#authorCode').val() },
|
||||
dataType:'json',
|
||||
//timeout:(1000*30),
|
||||
success : function(returnData, status) {
|
||||
if (status == "success") {
|
||||
alert("메뉴 정보가 삭제되었습니다.");
|
||||
fn_init_menuInfo();
|
||||
} else { alert("ERROR"); }
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴 정보 삭제가 실패되었습니다.");
|
||||
//alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
},
|
||||
complete : function () {
|
||||
data.instance.refresh();
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
data.instance.refresh();
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
.on('create_node.jstree', function(e, data) {
|
||||
if (confirm("메뉴를 추가하시겠습니까?")){
|
||||
var instance = data.instance;
|
||||
var menuNm = data.text;
|
||||
var upperMenuId = data.node.parent;
|
||||
var menuOrdr = 1;
|
||||
var childrenNodes = instance.get_node(upperMenuId).children;
|
||||
|
||||
// 하위 메뉴 있을 시 마지막 부서 sort_ord + 1
|
||||
if (childrenNodes.length > 1) {
|
||||
//var lastChildrenNode = instance.get_node(childrenNodes[childrenNodes.length - 2]);
|
||||
//sortOrd = lastChildrenNode.li_attr.sortOrd + 1;
|
||||
menuOrdr = childrenNodes.length ;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoInsertAjax.do' />",
|
||||
data:{ "menuNm" : menuNm, "upperMenuId" : upperMenuId, "menuOrdr" : menuOrdr , "authorCode" : $('#authorCode').val() },
|
||||
dataType:'json',
|
||||
//timeout:(1000*30),
|
||||
success : function(returnData, status) {
|
||||
if (returnData.status == "success") {
|
||||
alert("메뉴가 추가 되었습니다.");
|
||||
//fn_select_menuNo(returnData.menuManageVO, returnData.menuManageVO.menuUserType);
|
||||
newNodeId = returnData.menuManageVO.menuNo ;
|
||||
}else if(returnData.status == "dupl"){
|
||||
alert("중복된 아이디가 있습니다.\n 중복된 아이디변경/삭제후 다시 추가해 주세요\n"+ "("+returnData.menuManageResultVO.menuCours+")");
|
||||
|
||||
}else{
|
||||
alert("메뉴 추가가 실패하였습니다.");
|
||||
|
||||
}
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴 추가가 실패되었습니다.")
|
||||
},
|
||||
complete : function () {
|
||||
data.instance.refresh();
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
}else{
|
||||
data.instance.refresh();
|
||||
}
|
||||
})
|
||||
.on('move_node.jstree', function (e, data) {
|
||||
/* 메뉴 위치 변경 */
|
||||
var instance = data.instance;
|
||||
var menuNo = data.node.id;
|
||||
var childrenNodes = instance.get_node(menuNo).children;
|
||||
|
||||
if (confirm("메뉴 위치를 변경하시겠습니까?" )){
|
||||
//var partIdx = data.node.id;
|
||||
var upperMenuId = data.parent;
|
||||
var menuOrdr = data.position + 1;
|
||||
var sortOver = "A" ;
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoMoveAjax.do' />",
|
||||
data:{ "menuNo" : menuNo, "upperMenuId" : upperMenuId, "menuOrdr" : menuOrdr , "authorCode" : $('#authorCode').val()},
|
||||
dataType:'json',
|
||||
success : function(returnData, status) {
|
||||
if (status == "success") {
|
||||
alert("메뉴 위치가 변경되었습니다.");
|
||||
} else { alert("ERROR"); }
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴 위치 변경이 실패되었습니다.");
|
||||
},
|
||||
complete : function () {
|
||||
data.instance.refresh();
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
data.instance.refresh();
|
||||
}
|
||||
}) ;
|
||||
|
||||
|
||||
}
|
||||
|
||||
$( document ).ready(function() {
|
||||
jstreeInit();
|
||||
});
|
||||
|
||||
//직원 상세 초기화
|
||||
function fn_add_emp() {
|
||||
var partIdx =$("#selectPartIdx").val();
|
||||
var upperIdxs = $("#selectPartParents").val();
|
||||
|
||||
// 직원 상세 초기화
|
||||
document.empInfForm.reset();
|
||||
$("#empFormTitle").text("메뉴 추가등록 상세");
|
||||
$("input[name='paIdx']").val("");
|
||||
|
||||
fn_set_emp_part(partIdx, upperIdxs);
|
||||
}
|
||||
|
||||
|
||||
//메뉴 정보 세팅
|
||||
function fn_select_menuNo(menuManageVO, menuUserTypeList){
|
||||
var tmpHtml = "";
|
||||
if(menuManageVO!=null){
|
||||
$('#menuNo').val(menuManageVO.menuNo);
|
||||
$('#tmp_Id').val(menuManageVO.menuNo);
|
||||
$('#menuCours').text(menuManageVO.menuCours);
|
||||
$('#menuOrdr').val(menuManageVO.menuOrdr);
|
||||
$('#menuNm').val(menuManageVO.menuNm);
|
||||
$('#menuDc').val(menuManageVO.menuDc);
|
||||
$('#upperMenuIdText').text(menuManageVO.upperMenuId);
|
||||
$('#upperMenuId').val(menuManageVO.upperMenuId);
|
||||
$('#progrmFileNm').val(menuManageVO.progrmFileNm);
|
||||
/* $('#progrmFileNmText').text(menuManageVO.progrmFileNm); */
|
||||
$('#tmp_Name').val(menuManageVO.progrmFileNm);
|
||||
$('#relateImageNm').val(menuManageVO.relateImageNm);
|
||||
$('#relateImagePath').val(menuManageVO.relateImagePath);
|
||||
$('#userType').val(menuManageVO.userType);
|
||||
$('#url').val(menuManageVO.url);
|
||||
$('#useYn').val(menuManageVO.useYn);
|
||||
$('#satisYn').val(menuManageVO.satisYn);
|
||||
$('.menu_detail_tit span').html(menuManageVO.menuNm+' - 메뉴 권한 목록');
|
||||
if(""!=menuManageVO.emplyrId) $('#emplyrId').val(menuManageVO.emplyrId); //담당자 세팅
|
||||
if(""!=menuManageVO.emplyrIdTxt) $('#emplyrIdTxt').val(menuManageVO.emplyrIdTxt); //담당자 세팅
|
||||
|
||||
if(menuManageVO.satisYn == null){
|
||||
$('#satisYn').val('N')
|
||||
}
|
||||
$("#menuTopNm").text( menuManageVO.menuNm );
|
||||
$("#progrmHtmlFileId").val( menuManageVO.progrmHtmlFileId );
|
||||
$("#progrmBbsId").val(menuManageVO.progrmBbsId);
|
||||
$('#progrmFileNm_tmp').val(menuManageVO.progrmFileNm);
|
||||
var menuType = menuManageVO.menuType ;
|
||||
|
||||
if(menuType == "M"){
|
||||
$("#satisTr").css("display", "none");
|
||||
}else{
|
||||
$("#satisTr").css("display", "");
|
||||
}
|
||||
if(menuManageVO.progrmFileNm == 'dir' || menuType == 'M'){
|
||||
$("#menuType").val("M"); //메뉴로 세팅
|
||||
$('#progrmFileNm').attr("readonly", true);
|
||||
$('#progrmFileNm_tmp').val("");
|
||||
$('#url_tmp').val("");
|
||||
}else{
|
||||
$("#menuType").val(menuType);
|
||||
//$('#progrmFileNm').attr("readonly", false);
|
||||
$('#url_tmp').val(menuManageVO.url);
|
||||
}
|
||||
|
||||
//메뉴타입 설정
|
||||
initShowUrl('Y');
|
||||
$('#url').val(menuManageVO.url);
|
||||
$(".main1_delete_btn").removeAttr("onclick");
|
||||
$(".main1_delete_btn").attr("onclick", "fn_delete_menuInfo('"+menuManageVO.menuNo+"' , '"+menuManageVO.progrmFileNm+"' );return false;");
|
||||
$(".main1_save_btn").removeAttr("onclick");
|
||||
$(".main1_save_btn").attr("onclick", "fn_save_menuInfo('"+menuManageVO.menuNo+"');return false;");
|
||||
|
||||
$('.tr_item').remove();
|
||||
if( ( "P" == $('#menuType').val() || "C" == $('#menuType').val()) && "ROLE_ANONYMOUS"==$('#authorCode').val() ){ //추가 게시판 조회(프로그램/사용자 화면만 조회)
|
||||
$('#tr_add_bbs').show();
|
||||
set_bbs();
|
||||
}else{
|
||||
$('#tr_add_bbs').hide();
|
||||
}
|
||||
|
||||
$('#htmlComfirm').hide();
|
||||
if(""!=menuManageVO.progrmHtmlFileId){
|
||||
$('#htmlComfirm').show();
|
||||
$('#a_contentLink').attr("onclick" , "htmlComfirm('"+menuManageVO.progrmHtmlFileId+"');")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//메뉴 정보 삭제
|
||||
function fn_delete_menuInfo(menuNo , progrmFileNm ) {
|
||||
if(menuNo == null || "undefined"== menuNo){
|
||||
alert("삭제 하려는 메뉴를 먼저 선택해주세요.");
|
||||
return ;
|
||||
}
|
||||
|
||||
var instance = $('#kccadr_sbmt').jstree(true);
|
||||
if(instance.get_node(menuNo).children.length != 0){
|
||||
alert("하위 메뉴를 먼저 삭제 후 메뉴를 삭제해 주세요.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (confirm("메뉴를 삭제 하시겠습니까?")){
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
"url" : "<c:url value='/sym/mnu/mcm/EgovMenuInfoDeleteAjax.do'/>",
|
||||
data:{ "menuNo" : menuNo , "progrmFileNm" : progrmFileNm , "authorCode" : $('#authorCode').val() },
|
||||
dataType:'json',
|
||||
//timeout:(1000*30),
|
||||
success : function(returnData, status) {
|
||||
if (returnData.status == "success") {
|
||||
// 직원 목록 갱신
|
||||
var instance = $('#kccadr_sbmt').jstree(true);
|
||||
//$("#" + instance.get_node(partIdx).a_attr.id).trigger("click");
|
||||
alert("메뉴 정보가 삭제 되었습니다.");
|
||||
$("#kccadr_sbmt").jstree("refresh");
|
||||
fn_init_menuInfo();
|
||||
} else if(returnData.status == "duplPk"){
|
||||
alert("삭제하려는 메뉴를 참조하고 있는 메뉴가 있습니다.\n 참조하는 메뉴를 삭제후 다시 시도해 주세요\n"+ "("+returnData.menuManageResultVO.menuCours+")");
|
||||
|
||||
}
|
||||
else {
|
||||
alert("메뉴 삭제가 실패되었습니다.");
|
||||
|
||||
}
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴 삭제가 실패되었습니다..");
|
||||
},
|
||||
complete : function (){
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//메뉴정보 init(메뉴 초기화)
|
||||
function fn_init_menuInfo() {
|
||||
$("#menuTopNm").text("메뉴선택");
|
||||
$("#menuForm input[type=text]").val("")
|
||||
$('#menuCours').text("");
|
||||
$('#upperMenuIdText').text("");
|
||||
/* $('#progrmFileNmText').text(""); */
|
||||
}
|
||||
|
||||
//메뉴 초기화
|
||||
function jstreeRefresh() {
|
||||
var searchForm = document.searchForm ;
|
||||
searchForm.authorCode.value = $('#authorCode').val();
|
||||
searchForm.submit();
|
||||
}
|
||||
|
||||
|
||||
//메뉴 정보 저장. 등록/수정
|
||||
function fn_save_menuInfo(menuNo) {
|
||||
if(menuNo == null || "undefined"== menuNo){
|
||||
alert("저장 하려는 메뉴를 먼저 메뉴트리에서 생성해 주세요."); return ;
|
||||
}
|
||||
|
||||
var menuForm = document.menuForm;
|
||||
if(""==menuForm.menuNo.value){
|
||||
alert("메뉴번호는 필수 값입니다"); return;
|
||||
}
|
||||
|
||||
if(!$.isNumeric(menuForm.menuNo.value)){
|
||||
alert("메뉴번호는 숫자만 가능합니다."); return;
|
||||
}
|
||||
|
||||
if(!$.isNumeric(menuForm.menuOrdr.value)){
|
||||
alert("메뉴순서는 숫자만 가능합니다."); return;
|
||||
}
|
||||
|
||||
var menuType = $("#menuType option:selected").val();
|
||||
if(menuType !="M"){
|
||||
if($("#progrmFileNm").val() == ""){
|
||||
alert("프로그램 파일명은 필수 값입니다");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(!confirm("저장하시겠습니까?")) return;
|
||||
|
||||
<%-- 원자력
|
||||
//추가 게시판 저장후 메뉴 정보 저장
|
||||
//if( $('#tr_bbs').length > 0 ){
|
||||
if(!save_line()){
|
||||
console.log();
|
||||
return;
|
||||
}
|
||||
//}
|
||||
--%>
|
||||
|
||||
var url = "";
|
||||
url = "<c:url value='/sym/mnu/mcm/EgovMenuInfoUpdateAjax.do'/>";
|
||||
var params = $(menuForm).serialize();
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
"url":url,
|
||||
data:params,
|
||||
dataType:'json',
|
||||
success : function(returnData, status) {
|
||||
if (returnData.status == "success") {
|
||||
alert("메뉴 정보가 저장 되었습니다.");
|
||||
var instance = $('#kccadr_sbmt').jstree(true);
|
||||
$('#'+instance.get_node($('#tmp_Id').val()).a_attr.id).trigger("click");//이전 메뉴id선택되게
|
||||
$('#tmp_Id').val($('#menuNo').val());
|
||||
} else if(returnData.status == "upperDupl"){
|
||||
alert("상위 메뉴 번호가 있습니다.");
|
||||
|
||||
}else if(returnData.status == "dupl"){
|
||||
alert("이미 사용하고 있는 메뉴 번호가 있습니다.");
|
||||
|
||||
}else if(returnData.status == "duplProNm"){
|
||||
alert("이미 사용하고 있는 프로그램파일명이 있습니다.");
|
||||
|
||||
}else{
|
||||
alert("ERROR");
|
||||
}
|
||||
},
|
||||
error : function(request , status, error) {
|
||||
alert("메뉴 정보 저장이 실패되었습니다.");
|
||||
},
|
||||
complete : function () {
|
||||
$("#kccadr_sbmt").jstree("refresh");
|
||||
deleteLodingBar();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//메뉴 초기화
|
||||
function initShowUrl(init){
|
||||
var menuType = $("#menuType option:selected").val();
|
||||
|
||||
$("#url").val("");
|
||||
$("#showUrl").hide();
|
||||
$("#btnContent").hide();
|
||||
$("#btnBBS").hide();
|
||||
$('#htmlComfirm').hide();
|
||||
$('#BBSNameSpan').text("");
|
||||
if("M" == menuType){ //메뉴
|
||||
$("#progrmFileNm").val("dir");
|
||||
$("#url").val("");
|
||||
$('#progrmFileNm').attr("readonly", true);
|
||||
}else{
|
||||
$("#progrmFileNm").val($("#progrmFileNm_tmp").val());
|
||||
$("#url").val($("#url_tmp").val());
|
||||
|
||||
if("P" == menuType){ //프로그램
|
||||
$('#progrmFileNm').attr("readonly", false);
|
||||
$("#url").attr("readonly", false);
|
||||
}else if("C" == menuType ){ //컨텐츠
|
||||
$('#progrmFileNm').attr("readonly", false);
|
||||
$("#url").attr("readonly", false);
|
||||
}else if("B" == menuType){ //게시판
|
||||
$('#progrmFileNm').attr("readonly", false);
|
||||
$("#url").attr("readonly", false);
|
||||
}else if("O" == menuType){ //게시판
|
||||
$('#progrmFileNm').attr("readonly", false);
|
||||
$("#url").attr("readonly", false);
|
||||
}
|
||||
if(init=='N'){
|
||||
var instance = $('#kccadr_sbmt').jstree(true);
|
||||
if($('#kccadr_sbmt').jstree('get_selected')[0] != null){
|
||||
if(instance.get_node($('#kccadr_sbmt').jstree('get_selected')[0]).children.length != 0){
|
||||
alert("하위 메뉴가 있을경우는 다른타입으로 변경할수 없습니다.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$("#showUrl").show();
|
||||
if("C" == menuType){
|
||||
$("#btnContent").show();
|
||||
$("#url").attr("readonly", false);
|
||||
}else if("B" == menuType){
|
||||
$("#btnBBS").show();
|
||||
$("#url").attr("readonly", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var docWidth = screen.availWidth;
|
||||
var docHeight = screen.availHeight;
|
||||
var scX = window.screenX||window.screenLeft||0;
|
||||
var scY = window.screenY||window.screenTop||0;
|
||||
/* ********************************************************
|
||||
* 게시판목록조회 함수
|
||||
******************************************************** */
|
||||
function searchBBSId(obj) {
|
||||
var popupX = scX + (docWidth - 185) / 2;
|
||||
var popupY = scY + (docHeight - 195) / 2;
|
||||
|
||||
memuPopup = window.open('', 'memuPopup', "width=800, height=730, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
|
||||
document.searchForm.method = "post";
|
||||
if("menuAdd"==$(obj).attr('id')){ //추가게시판 버튼 클릭시
|
||||
document.searchForm.seCd.value = $(obj).attr('id');
|
||||
document.searchForm.searchNm.value = $(obj).attr('value');
|
||||
}
|
||||
document.searchForm.action = "/cop/bbs/EgovBBSIdListSearch.do";
|
||||
document.searchForm.target = "memuPopup" ;
|
||||
document.searchForm.submit();
|
||||
document.searchForm.target = "_self" ;
|
||||
document.searchForm.action= "/sym/mnu/mcm/EgovMenuCreatSelectJtree.do";
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 화면컨텐츠ID 검색 팝업
|
||||
******************************************************** */
|
||||
var memuPopup ="";
|
||||
function searchContentList() {
|
||||
var popupX = scX + (docWidth - 185) / 2;
|
||||
var popupY = scY + (docHeight - 195) / 2;
|
||||
|
||||
memuPopup = window.open('', 'memuPopup', "width=800, height=730, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
|
||||
document.searchForm.method = "post";
|
||||
document.searchForm.action = "/uss/ion/cnt/contentListPopup.do";
|
||||
document.searchForm.target = "memuPopup" ;
|
||||
document.searchForm.submit();
|
||||
document.searchForm.target = "_self" ;
|
||||
document.searchForm.action= "/sym/mnu/mcm/EgovMenuCreatSelectJtree.do";
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 사용자 메뉴 담당자 조회 함수
|
||||
******************************************************** */
|
||||
function searchManageMenuList() {
|
||||
var popupX = scX + (docWidth - 185) / 2;
|
||||
var popupY = scY + (docHeight - 195) / 2;
|
||||
|
||||
memuPopup = window.open('', 'memuPopup', "width=800, height=730, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
|
||||
document.searchForm.method = "post";
|
||||
document.searchForm.action = "/uss/umt/user/EgovUserManageMenuAjax.do";
|
||||
document.searchForm.target = "memuPopup" ;
|
||||
document.searchForm.submit();
|
||||
document.searchForm.target = "_self" ;
|
||||
document.searchForm.action= "/sym/mnu/mcm/EgovMenuCreatSelectJtree.do";
|
||||
}
|
||||
|
||||
|
||||
function onkeyContentName(event){
|
||||
var tempContentUrl = "/web/content.do?proFn=" ;
|
||||
if($("#menuType option:selected").val()=="C"){
|
||||
$("#url").val(tempContentUrl + $("#progrmFileNm").val()) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//행추가
|
||||
function add_line(bbsInfo){
|
||||
var eva_temp_tr = $('#temp_tr').clone();
|
||||
$('#tbl_bbsId').append(eva_temp_tr);
|
||||
eva_temp_tr.attr('id' , 'tr_bbs').attr('class' , 'tr_item');
|
||||
{ //변수 변경
|
||||
var tr_item_length = $('.tr_item').size()-1 ;
|
||||
eva_temp_tr.find("#temp_bbsTxt").attr('name', eva_temp_tr.find("#temp_bbsTxt").attr('name').replace('[]' , '['+tr_item_length+']' )) ;
|
||||
eva_temp_tr.find("#temp_bbsTxt").attr('id' , 'bbsTxt_'+tr_item_length) ;
|
||||
eva_temp_tr.find("#temp_bbsIds").attr('name', eva_temp_tr.find("#temp_bbsIds").attr('name').replace('[]' , '['+tr_item_length+']' )) ;
|
||||
eva_temp_tr.find("#temp_bbsIds").attr('id' , 'menuAdd_'+tr_item_length) ;
|
||||
eva_temp_tr.find("#temp_bbsSorts").attr('name' , eva_temp_tr.find("#temp_bbsSorts").attr('name').replace('[]' , '['+tr_item_length+']' ) ) ;
|
||||
eva_temp_tr.find("#temp_bbsSorts").attr('id' , 'bbsSorts_'+tr_item_length) ;
|
||||
eva_temp_tr.find("#menuAdd").attr('value' , 'menuAdd_'+tr_item_length ) ;
|
||||
}
|
||||
if(null != bbsInfo){
|
||||
$('#bbsTxt_'+tr_item_length).val(bbsInfo.bbsNm);
|
||||
$('#bbsSorts_'+tr_item_length).val(bbsInfo.bbsSort);
|
||||
$('#menuAdd_'+tr_item_length).val(bbsInfo.bbsId);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//삭제시 배열 초기화
|
||||
var arrCd = [];
|
||||
function set_count(){ //tr 세팅
|
||||
$('.tr_item').each(function(index, item){
|
||||
$(this).find('input[name^=bbsTxt]').attr('name', 'bbsTxt['+index+']' ).attr('id' , 'bbsTxt_'+index ) ;
|
||||
$(this).find('input[name^=bbsSorts]').attr('name', 'bbsSorts['+index+']' );
|
||||
$(this).find('input[name^=bbsIds]').attr('name', 'bbsIds['+index+']' ).attr('id' , 'menuAdd_'+index ) ;
|
||||
$(this).find('#menuAdd').attr('value' , 'menuAdd_'+index) ;
|
||||
});
|
||||
}
|
||||
|
||||
var arrDel = []; //1차배열
|
||||
function delete_line(obj){
|
||||
$(obj).parent().parent().remove();
|
||||
set_count();
|
||||
}
|
||||
|
||||
function save_line() {
|
||||
/* if(0== $('.tr_item').size()){
|
||||
alert("선택된 게시판이 없습니다.");
|
||||
return;
|
||||
} */
|
||||
|
||||
//빈 게시판 방지
|
||||
var blank_tr = false;
|
||||
var blank_sort = false;
|
||||
$('.tr_item').each(function() {
|
||||
if(""==$(this).find('input[name^=bbsTxt]').val()){
|
||||
blank_tr = true;
|
||||
}
|
||||
|
||||
if(""==$(this).find('input[name^=bbsSort]').val()){
|
||||
blank_sort = true;
|
||||
}
|
||||
|
||||
});
|
||||
if(blank_tr) {
|
||||
alert("비어 있는 게시판이 있습니다.");
|
||||
return false;
|
||||
}
|
||||
if(blank_sort) {
|
||||
alert("게시판 순서를 넣어주세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
var save_line_return = false;
|
||||
var frm = document.menuForm;
|
||||
var data = new FormData(frm);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/sym/mnu/mcm/MenuBbsInsertAjax.do",
|
||||
data: data,
|
||||
dataType:'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
async: false,
|
||||
cache: false,
|
||||
timeout: 600000,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){
|
||||
if(returnData.status == 'fail'){
|
||||
alert("게시판 등록 실패하였습니다.");
|
||||
}else if(returnData.status == 'auth_fail'){
|
||||
alert("세션이 종료되었습니다.");
|
||||
}else if(returnData.status =='success'){
|
||||
//alert("등록되었습니다.");
|
||||
save_line_return = true;
|
||||
}
|
||||
}else{
|
||||
alert("등록에 실패하였습니다.");
|
||||
return false;
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log("ERROR : ", e);
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
});
|
||||
return save_line_return;
|
||||
}
|
||||
|
||||
function htmlComfirm(progrmHtmlFileId) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/sym/mnu/mcm/HtmlComfirmAjax.do",
|
||||
data:{
|
||||
"cntId": progrmHtmlFileId
|
||||
},
|
||||
dataType:'json',
|
||||
timeout: 600000,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){
|
||||
console.log("sdfsdf");
|
||||
window.open("/uss/ion/cnt/cntManageInsert.do?cntId="+returnData.cntManageVO.cntId+"&cntDtId="+returnData.cntManageVO.cntDtId);
|
||||
}else{
|
||||
//alert("등록에 실패하였습니다.");
|
||||
return false;
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log("ERROR : ", e);
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function set_bbs(){
|
||||
var frm = document.menuForm;
|
||||
var data = new FormData(frm);
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/sym/mnu/mcm/MenuBbsSelectAjax.do",
|
||||
data: data,
|
||||
dataType:'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
timeout: 600000,
|
||||
success: function (returnData, status) {
|
||||
if(status == 'success'){
|
||||
for(var i = 0 ; i < returnData.boardMasterList.length ; i++){
|
||||
add_line(returnData.boardMasterList[i]);
|
||||
}
|
||||
}else{
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
console.log("ERROR : ", e);
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function fncGoClose() {
|
||||
self.close();
|
||||
}
|
||||
|
||||
function btnReset(obj){
|
||||
$(obj).closest('dd').find('span').html('');
|
||||
}
|
||||
|
||||
function proxyPay(obj, pram){
|
||||
var proxyPayList = '';
|
||||
proxyPayList += '<div class="appreq_box pay_box">';
|
||||
proxyPayList += '<div class="add_box"><button type="button" class="btnType08" onclick="addSbmtPerson(\''+pram+'\', \'confront\');">추가</button></div>';
|
||||
proxyPayList += '<div class="list_box">';
|
||||
proxyPayList += '<dl>';
|
||||
proxyPayList += '<dt>대결자</dt>';
|
||||
proxyPayList += '<dd>';
|
||||
proxyPayList += '<span id=\'confront'+pram+'\'></span>';
|
||||
proxyPayList += '<div class="button_box"><button type="button" class="btn_reset">초기화</button></div>';
|
||||
proxyPayList += '</dd>';
|
||||
proxyPayList += '</dl>';
|
||||
proxyPayList += '</div>';
|
||||
proxyPayList += '</div>';
|
||||
if($(obj).hasClass('active')){
|
||||
$(obj).removeClass('active').text('대결').prev('.btn_reset').show();
|
||||
$(obj).closest('li').find('.pay_box').remove();
|
||||
}else{
|
||||
$(obj).addClass('active').text('대결취소').prev('.btn_reset').hide();
|
||||
$(obj).closest('li').append(proxyPayList);
|
||||
}
|
||||
}
|
||||
|
||||
function addSbmtPerson(pram, type){
|
||||
var selectedNm = $('#kccadr_sbmt').jstree('get_selected',true)[0].text;
|
||||
|
||||
if(type == 'sbmt'){
|
||||
$('#sbmtPerson'+pram).text(selectedNm);
|
||||
}else{
|
||||
$('#confront'+pram).text(selectedNm);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<title>○○○ 결재 요청</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form id="smbtForm" name="smbtForm" action="">
|
||||
<input type="hidden" name="authorCode" id="authorCode" value="ROLE_ADMIN"/>
|
||||
</form>
|
||||
<div class="area_popup">
|
||||
<div class="cont_popup">
|
||||
<div class="menu_select">
|
||||
<select name="authorCodeSelect" id="authorCodeSelect" class="select" title="검색조건선택">
|
||||
<option value="부서별">부서별</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="menu_wrap appreq_menu_wrap">
|
||||
<div class="menu_area">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType02 all_open" onclick="$('#kccadr_sbmt').jstree('open_all' );">모두열기</button>
|
||||
<button type="button" class="btnType03 all_close" onclick="$('#kccadr_sbmt').jstree('close_node' , $('#0') );">모두닫기</button>
|
||||
</div>
|
||||
<div class="menu_list" id="kccadr_sbmt" class="jstree_orgChart"></div>
|
||||
</div>
|
||||
<div class="menu_detail">
|
||||
<ul class="appreq_list">
|
||||
<li>
|
||||
<div class="title">팀장</div>
|
||||
<div class="appreq_box">
|
||||
<div class="add_box">
|
||||
<button type="button" class="btnType08" onclick="addSbmtPerson('1', 'sbmt');">추가</button>
|
||||
</div>
|
||||
<div class="list_box">
|
||||
<dl>
|
||||
<dt>결재자</dt>
|
||||
<dd>
|
||||
<span id="sbmtPerson1">결재자1</span>
|
||||
<div class="button_box">
|
||||
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
|
||||
<button type="button" class="btn_pay" onclick="proxyPay(this, '1');">대결</button>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">부서장</div>
|
||||
<div class="appreq_box">
|
||||
<div class="add_box">
|
||||
<button type="button" class="btnType08" onclick="addSbmtPerson('2', 'sbmt');">추가</button>
|
||||
</div>
|
||||
<div class="list_box">
|
||||
<dl>
|
||||
<dt>결재자</dt>
|
||||
<dd>
|
||||
<span id="sbmtPerson2">결재자2</span>
|
||||
<div class="button_box">
|
||||
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
|
||||
<button type="button" class="btn_pay" onclick="proxyPay(this, '2');">대결</button>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="title">위원장</div>
|
||||
<div class="appreq_box">
|
||||
<div class="add_box">
|
||||
<button type="button" class="btnType08" onclick="addSbmtPerson('3', 'sbmt');">추가</button>
|
||||
</div>
|
||||
<div class="list_box">
|
||||
<dl>
|
||||
<dt>결재자</dt>
|
||||
<dd>
|
||||
<span id="sbmtPerson3">결재자3</span>
|
||||
<div class="button_box">
|
||||
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
|
||||
<button type="button" class="btn_pay" onclick="proxyPay(this, '3');">대결</button>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout04">
|
||||
<button type="button" class="btnType01">기본결재선 지정</button>
|
||||
<button type="button" class="btnType06">결재요청</button>
|
||||
<button type="button" class="btnType03" onclick="fncGoClose();">닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
462
src/main/webapp/WEB-INF/jsp/kccadr/advcSttst/memSttstList.jsp
Normal file
462
src/main/webapp/WEB-INF/jsp/kccadr/advcSttst/memSttstList.jsp
Normal file
@ -0,0 +1,462 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ 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="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%
|
||||
/**
|
||||
* @Class Name : memSttstList.jsp
|
||||
* @Description : 조정위원 사건 관리 현황 통계
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2021.08.09 김봉호 최초 생성
|
||||
* @author 김봉호
|
||||
* @since 2021.08.21
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style>
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function fncGoList(){
|
||||
linkPage(1);
|
||||
}
|
||||
|
||||
function linkPage(pageNo){
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.searchCondition.value = $('#searchCondition').val();
|
||||
listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||
listForm.action = "<c:url value='/kccadr/adjReqMgOff/adjReqMgrOffList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
function fncCreate(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/adjReqMgrOff/adjReqMgrOffRegist.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function fncGoDetail(adrSeq){
|
||||
var listForm = document.listForm ;
|
||||
listForm.adrSeq.value = adrSeq;
|
||||
listForm.action = "<c:url value='/kccadr/adjReqMgOff/adjReqMgrOffDetail.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function AppReq(){
|
||||
var form = $('<form id="payform"></form>');
|
||||
form.append($('<input/>', {type: 'hidden', name: 'mltApprSeq', value: 'test'}));
|
||||
form.appendTo('body');
|
||||
commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do" , "850", "700", "AppReqPopup", form);
|
||||
form.remove();
|
||||
}
|
||||
</script>
|
||||
<title>조정신청목록</title>
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" method="post" commandName="adjReqMgrOffLineVO" onsubmit="return false;">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${adjReqMgrOffLineVO.pageIndex}' default='1' />"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${adjReqMgrOffLineVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${adjReqMgrOffLineVO.searchSortOrd}" />" />
|
||||
<input type="hidden" name="adrSeq" value=""/>
|
||||
|
||||
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>조정위원별 사건 관리 현황 통계(작업중)</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>오프라인 조정관리</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">조정위원별 사건 관리 현황 통계</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont stat_cont">
|
||||
<div class="list_top">
|
||||
<div class="list_util">
|
||||
<div class="detail_search">
|
||||
<ul>
|
||||
<li>
|
||||
<p class="tit_text">기간</p>
|
||||
<select name="year" id="year">
|
||||
<option value="">연도</option>
|
||||
<option value="2022">2022</option>
|
||||
<option value="2021">2021</option>
|
||||
</select>
|
||||
<select name="month" id="month">
|
||||
<option value="">전체</option>
|
||||
<option value="1">1월</option>
|
||||
<option value="2">2월</option>
|
||||
</select>
|
||||
<select name="day" id="day">
|
||||
<option value="">전체</option>
|
||||
<option value="1">1일</option>
|
||||
<option value="2">2일</option>
|
||||
</select>
|
||||
<button type="button" class="btn_search">검색</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb_tit">
|
||||
<p>조정위원</p>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btn_down_excel">엑셀 다운로드</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stat_list">
|
||||
<ul>
|
||||
<li>
|
||||
<dl>
|
||||
<dt>김길동</dt>
|
||||
<dd class="tbType02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width:120px;" />
|
||||
<col style="width:auto;" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="title" rowspan="2">사용상태별<br>(건수)</th>
|
||||
<th>전체</th>
|
||||
<th>성립</th>
|
||||
<th>불성립</th>
|
||||
<th>취하종결</th>
|
||||
<th>직권조정</th>
|
||||
<th>조정권고</th>
|
||||
<th>반려</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="all">27</td>
|
||||
<td>2</td>
|
||||
<td>1</td>
|
||||
<td>20</td>
|
||||
<td>4</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="title" rowspan="4">분야별<br>(건수)</th>
|
||||
<th>전체</th>
|
||||
<th>어문저작물</th>
|
||||
<th>음악저작물</th>
|
||||
<th>연극저작물</th>
|
||||
<th>미술저작물</th>
|
||||
<th>건축저작물</th>
|
||||
<th>사진저작물</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="all">27</td>
|
||||
<td>2</td>
|
||||
<td>1</td>
|
||||
<td>20</td>
|
||||
<td>4</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>영상저작물</th>
|
||||
<th>도형저작물</th>
|
||||
<th>컴퓨터프로그램</th>
|
||||
<th>편집저작물</th>
|
||||
<th>데이터베이스</th>
|
||||
<th>저작인격권</th>
|
||||
<th>저작인접권</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>27</td>
|
||||
<td>2</td>
|
||||
<td>1</td>
|
||||
<td>20</td>
|
||||
<td>4</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li>
|
||||
<dl>
|
||||
<dt>김길동</dt>
|
||||
<dd class="tbType02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width:120px;" />
|
||||
<col style="width:auto;" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="title" rowspan="2">사용상태별<br>(건수)</th>
|
||||
<th>전체</th>
|
||||
<th>성립</th>
|
||||
<th>불성립</th>
|
||||
<th>취하종결</th>
|
||||
<th>직권조정</th>
|
||||
<th>조정권고</th>
|
||||
<th>반려</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="all">27</td>
|
||||
<td>2</td>
|
||||
<td>1</td>
|
||||
<td>20</td>
|
||||
<td>4</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="title" rowspan="4">분야별<br>(건수)</th>
|
||||
<th>전체</th>
|
||||
<th>어문저작물</th>
|
||||
<th>음악저작물</th>
|
||||
<th>연극저작물</th>
|
||||
<th>미술저작물</th>
|
||||
<th>건축저작물</th>
|
||||
<th>사진저작물</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="all">27</td>
|
||||
<td>2</td>
|
||||
<td>1</td>
|
||||
<td>20</td>
|
||||
<td>4</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>영상저작물</th>
|
||||
<th>도형저작물</th>
|
||||
<th>컴퓨터프로그램</th>
|
||||
<th>편집저작물</th>
|
||||
<th>데이터베이스</th>
|
||||
<th>저작인격권</th>
|
||||
<th>저작인접권</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>27</td>
|
||||
<td>2</td>
|
||||
<td>1</td>
|
||||
<td>20</td>
|
||||
<td>4</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li>
|
||||
<dl>
|
||||
<dt>김길동</dt>
|
||||
<dd class="tbType02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width:120px;" />
|
||||
<col style="width:auto;" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="title" rowspan="2">사용상태별<br>(건수)</th>
|
||||
<th>전체</th>
|
||||
<th>성립</th>
|
||||
<th>불성립</th>
|
||||
<th>취하종결</th>
|
||||
<th>직권조정</th>
|
||||
<th>조정권고</th>
|
||||
<th>반려</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="all">27</td>
|
||||
<td>2</td>
|
||||
<td>1</td>
|
||||
<td>20</td>
|
||||
<td>4</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="title" rowspan="4">분야별<br>(건수)</th>
|
||||
<th>전체</th>
|
||||
<th>어문저작물</th>
|
||||
<th>음악저작물</th>
|
||||
<th>연극저작물</th>
|
||||
<th>미술저작물</th>
|
||||
<th>건축저작물</th>
|
||||
<th>사진저작물</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="all">27</td>
|
||||
<td>2</td>
|
||||
<td>1</td>
|
||||
<td>20</td>
|
||||
<td>4</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>영상저작물</th>
|
||||
<th>도형저작물</th>
|
||||
<th>컴퓨터프로그램</th>
|
||||
<th>편집저작물</th>
|
||||
<th>데이터베이스</th>
|
||||
<th>저작인격권</th>
|
||||
<th>저작인접권</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>27</td>
|
||||
<td>2</td>
|
||||
<td>1</td>
|
||||
<td>20</td>
|
||||
<td>4</td>
|
||||
<td>0</td>
|
||||
<td>0</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div class="cont">
|
||||
|
||||
<div class="list_top">
|
||||
<div class="list_util">
|
||||
<div class="detail_search">
|
||||
<ul>
|
||||
<li>
|
||||
<p class="tit_text">구분</p>
|
||||
<select name="searchCondition" id="searchCondition">
|
||||
<%-- <option value="" ${adjReqMgrOffLineVO.searchCondition eq '' ? 'selected' : '' }>전체</option> --%>
|
||||
<option value="1" ${adjReqMgrOffLineVO.searchCondition eq '1' ? 'selected' : '' }>조정번호</option>
|
||||
<%-- <option value="2" ${adjReqMgrOffLineVO.searchCondition eq '2' ? 'selected' : '' }>접수기간</option> --%>
|
||||
<option value="3" ${adjReqMgrOffLineVO.searchCondition eq '3' ? 'selected' : '' }>신청인명</option>
|
||||
<option value="4" ${adjReqMgrOffLineVO.searchCondition eq '4' ? 'selected' : '' }>피신청인명</option>
|
||||
<option value="5" ${adjReqMgrOffLineVO.searchCondition eq '5' ? 'selected' : '' }>신청내용</option>
|
||||
<option value="6" ${adjReqMgrOffLineVO.searchCondition eq '6' ? 'selected' : '' }>조정상태</option>
|
||||
</select>
|
||||
|
||||
<input type="text" id=searchKeyword name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${adjReqMgrOffLineVO.searchKeyword}'/>">
|
||||
|
||||
|
||||
<p class="tit_text">접수기간</p>
|
||||
|
||||
<div id="sel_date" class="sel_date">
|
||||
<input type="text" class="startDate inp" title="검색시작일" id="startDate01" name="searchStartDt" value="${adjReqMgrOffLineVO.searchStartDt}" data-datecontrol="true">
|
||||
<div class="calendar_in" id="calendarName_startDate" style="z-index: 9;">
|
||||
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('startDate01-lry','',this)" class="btn_cal"></button>
|
||||
<div id="startDate01-lry" class="calendarPop" style="display: none;">
|
||||
<iframe id="startDate01-ifrm" name="startDate01-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
|
||||
</div>
|
||||
</div> ~
|
||||
<input type="text" class="endDate inp" title="검색시작일" id="endDate" name="searchEndDt" value="${adjReqMgrOffLineVO.searchEndDt}" data-datecontrol="true">
|
||||
<div class="calendar_in" id="calendarName_endDate" style="z-index: 9;">
|
||||
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('endDate-lry','',this)" class="btn_cal" ></button>
|
||||
<div id="endDate-lry" class="calendarPop" style="display: none;">
|
||||
<iframe id="endDate-ifrm" name="endDate-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html"title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn_search" onclick="fncGoList(); return false;">검색</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="list tbType01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 5%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 20%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호<button class="sort btn_sort" id="sort_adrSeq">▲</button></th>
|
||||
<th>신청인<button type="button" class="sort sortBtn" id="sort_appliCantNm"></button></th>
|
||||
<th>피신청인<button type="button" class="sort sortBtn" id="sort_resPonDentNm"></button></th>
|
||||
<th>저작물종류<button type="button" class="sort sortBtn" id="sort_reqCn1"></button></th>
|
||||
<th>조정상태<button type="button" class="sort sortBtn" id="sort_statCd"></button></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${list}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<c:if test="${adjReqMgrOffLineVO.searchSortOrd eq 'desc' }">
|
||||
<c:out value="${ ( paginationInfo.totalRecordCount - ((adjReqMgrOffLineVO.pageIndex -1)*adjReqMgrOffLineVO.pageUnit) ) - status.index }"/>
|
||||
</c:if>
|
||||
<c:if test="${adjReqMgrOffLineVO.searchSortOrd eq 'asc' }">
|
||||
<c:out value="${(adjReqMgrOffLineVO.pageIndex - 1) * adjReqMgrOffLineVO.pageUnit + status.count}"/>
|
||||
</c:if>
|
||||
</td>
|
||||
<td><a href="#none" onclick="fncGoDetail('${list.adrSeq}');">${list.appliCantNm} <c:if test="${not empty list.depuTyNm}">(${list.depuTyNm})</c:if></a></td>
|
||||
<td><a href="#none" onclick="fncGoDetail('${list.adrSeq}');">${list.resPonDentNm}</a></td>
|
||||
<td>
|
||||
<a href="#none" onclick="fncGoDetail('${list.adrSeq}');">
|
||||
<kc:code codeId="CC002" code="${list.ccTy}"/>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<p class="status_cmp"><kc:code codeId="CC013" code="${list.statCd}"/></p>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty list}">
|
||||
<tr><td colspan="5"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_wrap btn_layout02">
|
||||
<button type="button" class="btnType02" onclick="AppReq();">결재 요청 팝업 임시버튼</button>
|
||||
<button class="btnType02" onclick="fncCreate(); return false;" >등록</button>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="page">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<!-- //cont -->
|
||||
<!-- //cont -->
|
||||
|
||||
</form:form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user