한국투자공사 itsms 수정사항 반영

This commit is contained in:
nhj 2025-12-04 17:56:47 +09:00
parent c796ed7a56
commit 56bf5b942b
37 changed files with 1378 additions and 100 deletions

View File

@ -51,7 +51,7 @@ public class EgovConfigAppProperties
properties.put("Globals.fileUpload.Extensions" , ".gif.jpg.jpeg.png.xls.xlsx.txt.pdf.hwp.hwpx.ppt.pptx.pptm.doc.docx"); properties.put("Globals.fileUpload.Extensions" , ".gif.jpg.jpeg.png.xls.xlsx.txt.pdf.hwp.hwpx.ppt.pptx.pptm.doc.docx");
properties.put("Globals.fileUpload.Extensions.Images", ".gif.jpg.jpeg.png"); properties.put("Globals.fileUpload.Extensions.Images", ".gif.jpg.jpeg.png");
// 2025.11.30 나혁제 10M=> 100M
long lMaxSize = (1024*1024)*100; // 100MB long lMaxSize = (1024*1024)*100; // 100MB
// String strMaxSize = String.valueOf(lMaxSize); // String strMaxSize = String.valueOf(lMaxSize);
properties.put("Globals.fileUpload.maxSize", lMaxSize+""); properties.put("Globals.fileUpload.maxSize", lMaxSize+"");

View File

@ -74,6 +74,8 @@ public class MainController
// @Autowired // @Autowired
// HtmlEmailUtil htmlEmailUtil; // HtmlEmailUtil htmlEmailUtil;
@Value("${custom.client}")
private String strClient; // 납품고객
@RequestMapping(value={ "/", "/main/actionMain.do"}) @RequestMapping(value={ "/", "/main/actionMain.do"})
public String actionMain(HttpServletRequest request public String actionMain(HttpServletRequest request
@ -138,7 +140,17 @@ public class MainController
model.addAttribute("strErrorMsg", strErrorMsg); model.addAttribute("strErrorMsg", strErrorMsg);
strReturnJsp = "/main/LoginUsr"; // 2025.12.04 한국투자공사 한국투자공사 로그인 화면 변경
if(strClient.equals("kic"))
{
strReturnJsp = "/main/LoginUsr_kic";
}
else
{
strReturnJsp = "/main/LoginUsr";
}
} }
else else
{ {

View File

@ -110,6 +110,9 @@ public class ResourceManagerController
@Value("${custom.file_store}") @Value("${custom.file_store}")
private String storePathString; // 파일저장 물리적주소 private String storePathString; // 파일저장 물리적주소
@Value("${custom.client}")
private String strClient; // 납품고객
/** /**
* 자산 목록을 조회한다. * 자산 목록을 조회한다.
* @author urp 인프라본부 나혁제 * @author urp 인프라본부 나혁제
@ -138,17 +141,20 @@ public class ResourceManagerController
String strCurDate = EgovDateUtil.getToday(); String strCurDate = EgovDateUtil.getToday();
if(resourceManage.getSdateEos() == null || resourceManage.getSdateEos().equals("")) // 2025.12.03 나혁제 eos 일자는 kintex 인경우만 반영
if(strClient.equals("kintex"))
{ {
resourceManage.setSdateEos(EgovDateUtil.formatDate(EgovDateUtil.formatDate(EgovDateUtil.addMonth(strCurDate, -12), "-"), "-")); if(resourceManage.getSdateEos() == null || resourceManage.getSdateEos().equals(""))
} {
resourceManage.setSdateEos(EgovDateUtil.formatDate(EgovDateUtil.formatDate(EgovDateUtil.addMonth(strCurDate, -12), "-"), "-"));
}
if(resourceManage.getEdateEos() == null || resourceManage.getEdateEos().equals("")) if(resourceManage.getEdateEos() == null || resourceManage.getEdateEos().equals(""))
{ {
resourceManage.setEdateEos(EgovDateUtil.formatDate("2999-12-31", "-")); resourceManage.setEdateEos(EgovDateUtil.formatDate("2999-12-31", "-"));
}
} }
// Body Setting Start --------------------------------- // Body Setting Start ---------------------------------
bodyMap = ConvertUtils.convertToMapAll(resourceManage); bodyMap = ConvertUtils.convertToMapAll(resourceManage);
// Body Setting End --------------------------------- // Body Setting End ---------------------------------
@ -201,6 +207,10 @@ public class ResourceManagerController
model.addAttribute("SM_001_result", chglistComCode); // 사용자상태코드목록 model.addAttribute("SM_001_result", chglistComCode); // 사용자상태코드목록
// 공통코드 추출 End -------------------- // // 공통코드 추출 End -------------------- //
// 2025.12.03 나혁제 납품고객 반영
model.addAttribute("strClient", strClient); // 납품고객
log.info("<<<<<<<<<<<<<<< /rem/SelectResource.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /rem/SelectResource.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/rem/ResourceList"; return "uritms-tiles2/rem/ResourceList";
@ -554,6 +564,9 @@ public class ResourceManagerController
model.addAttribute("dtLLicenseEnd" , dtLLicenseEnd); model.addAttribute("dtLLicenseEnd" , dtLLicenseEnd);
model.addAttribute("dtEol" , dtEol); model.addAttribute("dtEol" , dtEol);
// 2025.12.03 나혁제 납품고객 반영
model.addAttribute("strClient", strClient); // 납품고객
log.info("<<<<<<<<<<<<<<< /rem/insertViewResource.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /rem/insertViewResource.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/rem/ResourceInsert"; return "uritms-tiles2/rem/ResourceInsert";
@ -922,6 +935,9 @@ public class ResourceManagerController
model.addAttribute("SM_001_result", chglistComCode); // 사용자상태코드목록 model.addAttribute("SM_001_result", chglistComCode); // 사용자상태코드목록
// 2025.12.03 나혁제 납품고객 반영
model.addAttribute("strClient", strClient); // 납품고객
log.info("<<<<<<<<<<<<<<< /rem/getAssetInfo.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /rem/getAssetInfo.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/rem/ResourceDetail"; return "uritms-tiles2/rem/ResourceDetail";

View File

@ -336,6 +336,14 @@ public class ReportCheckController
model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID
model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명 model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명
// 2025.12.03 나혁제 파일체크 로직 추가
// 파일업로드 제한
String whiteListFileUploadExtensions = propertyService.getString("Globals.fileUpload.Extensions");
String fileUploadMaxSize = propertyService.getString("Globals.fileUpload.maxSize");
model.addAttribute("fileUploadExtensions", whiteListFileUploadExtensions);
model.addAttribute("fileUploadMaxSize" , fileUploadMaxSize);
log.info("<<<<<<<<<<<<<<< /srm/insertViewReportCheck.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /srm/insertViewReportCheck.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/srm/ReportCheckInsert"; return "uritms-tiles2/srm/ReportCheckInsert";
@ -415,6 +423,14 @@ public class ReportCheckController
model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID
model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명 model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명
// 2025.12.03 나혁제 파일체크 로직 추가
// 파일업로드 제한
String whiteListFileUploadExtensions = propertyService.getString("Globals.fileUpload.Extensions");
String fileUploadMaxSize = propertyService.getString("Globals.fileUpload.maxSize");
model.addAttribute("fileUploadExtensions", whiteListFileUploadExtensions);
model.addAttribute("fileUploadMaxSize" , fileUploadMaxSize);
log.info("<<<<<<<<<<<<<<< /srm/updateViewReportCheck.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /srm/updateViewReportCheck.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/srm/ReportCheckUpdate"; return "uritms-tiles2/srm/ReportCheckUpdate";

View File

@ -321,6 +321,14 @@ public class ReportErrorController
model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID
model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명 model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명
// 2025.12.03 나혁제 파일체크 로직 추가
// 파일업로드 제한
String whiteListFileUploadExtensions = propertyService.getString("Globals.fileUpload.Extensions");
String fileUploadMaxSize = propertyService.getString("Globals.fileUpload.maxSize");
model.addAttribute("fileUploadExtensions", whiteListFileUploadExtensions);
model.addAttribute("fileUploadMaxSize" , fileUploadMaxSize);
log.info("<<<<<<<<<<<<<<< /srm/insertViewReportError.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /srm/insertViewReportError.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/srm/ReportErrorInsert"; return "uritms-tiles2/srm/ReportErrorInsert";
@ -401,6 +409,14 @@ public class ReportErrorController
model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID
model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명 model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명
// 2025.12.03 나혁제 파일체크 로직 추가
// 파일업로드 제한
String whiteListFileUploadExtensions = propertyService.getString("Globals.fileUpload.Extensions");
String fileUploadMaxSize = propertyService.getString("Globals.fileUpload.maxSize");
model.addAttribute("fileUploadExtensions", whiteListFileUploadExtensions);
model.addAttribute("fileUploadMaxSize" , fileUploadMaxSize);
log.info("<<<<<<<<<<<<<<< /srm/updateViewReportError.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /srm/updateViewReportError.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/srm/ReportErrorUpdate"; return "uritms-tiles2/srm/ReportErrorUpdate";

View File

@ -322,6 +322,14 @@ public class ReportIssueController
model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID
model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명 model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명
// 2025.12.03 나혁제 파일체크 로직 추가
// 파일업로드 제한
String whiteListFileUploadExtensions = propertyService.getString("Globals.fileUpload.Extensions");
String fileUploadMaxSize = propertyService.getString("Globals.fileUpload.maxSize");
model.addAttribute("fileUploadExtensions", whiteListFileUploadExtensions);
model.addAttribute("fileUploadMaxSize" , fileUploadMaxSize);
log.info("<<<<<<<<<<<<<<< /srm/insertViewReportIssue.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /srm/insertViewReportIssue.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/srm/ReportIssueInsert"; return "uritms-tiles2/srm/ReportIssueInsert";
@ -402,6 +410,14 @@ public class ReportIssueController
model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID
model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명 model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명
// 2025.12.03 나혁제 파일체크 로직 추가
// 파일업로드 제한
String whiteListFileUploadExtensions = propertyService.getString("Globals.fileUpload.Extensions");
String fileUploadMaxSize = propertyService.getString("Globals.fileUpload.maxSize");
model.addAttribute("fileUploadExtensions", whiteListFileUploadExtensions);
model.addAttribute("fileUploadMaxSize" , fileUploadMaxSize);
log.info("<<<<<<<<<<<<<<< /srm/updateViewReportIssue.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /srm/updateViewReportIssue.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/srm/ReportIssueUpdate"; return "uritms-tiles2/srm/ReportIssueUpdate";

View File

@ -325,6 +325,14 @@ public class ReportOtherController
model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID
model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명 model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명
// 2025.12.03 나혁제 파일체크 로직 추가
// 파일업로드 제한
String whiteListFileUploadExtensions = propertyService.getString("Globals.fileUpload.Extensions");
String fileUploadMaxSize = propertyService.getString("Globals.fileUpload.maxSize");
model.addAttribute("fileUploadExtensions", whiteListFileUploadExtensions);
model.addAttribute("fileUploadMaxSize" , fileUploadMaxSize);
log.info("<<<<<<<<<<<<<<< /srm/insertViewReportOther.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /srm/insertViewReportOther.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/srm/ReportOtherInsert"; return "uritms-tiles2/srm/ReportOtherInsert";
@ -409,6 +417,14 @@ public class ReportOtherController
model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID model.addAttribute("inRegUser", tokenInfo.getUniqId ()); // 접속자ID
model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명 model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접속자명
// 2025.12.03 나혁제 파일체크 로직 추가
// 파일업로드 제한
String whiteListFileUploadExtensions = propertyService.getString("Globals.fileUpload.Extensions");
String fileUploadMaxSize = propertyService.getString("Globals.fileUpload.maxSize");
model.addAttribute("fileUploadExtensions", whiteListFileUploadExtensions);
model.addAttribute("fileUploadMaxSize" , fileUploadMaxSize);
log.info("<<<<<<<<<<<<<<< /srm/updateViewReportOther.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /srm/updateViewReportOther.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/srm/ReportOtherUpdate"; return "uritms-tiles2/srm/ReportOtherUpdate";

View File

@ -324,6 +324,14 @@ public class SvcDeskController
model.addAttribute("inRegUser", tokenInfo.getUniqId()); // 접수자ID model.addAttribute("inRegUser", tokenInfo.getUniqId()); // 접수자ID
model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접수일시 model.addAttribute("vcRegUser", tokenInfo.getUserName()); // 접수일시
// 2025.12.03 나혁제 파일체크 로직 추가
// 파일업로드 제한
String whiteListFileUploadExtensions = propertyService.getString("Globals.fileUpload.Extensions");
String fileUploadMaxSize = propertyService.getString("Globals.fileUpload.maxSize");
model.addAttribute("fileUploadExtensions", whiteListFileUploadExtensions);
model.addAttribute("fileUploadMaxSize" , fileUploadMaxSize);
log.info("<<<<<<<<<<<<<<< /srm/insertViewIncident.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /srm/insertViewIncident.do >>>>>>>>>>>>>>>");
return "uritms-tiles2/srm/SvcDeskInsert"; return "uritms-tiles2/srm/SvcDeskInsert";
@ -407,6 +415,13 @@ public class SvcDeskController
model.addAttribute("serviceList", resultList); // 서비스 정보 model.addAttribute("serviceList", resultList); // 서비스 정보
// 2025.12.03 나혁제 파일체크 로직 추가
// 파일업로드 제한
String whiteListFileUploadExtensions = propertyService.getString("Globals.fileUpload.Extensions");
String fileUploadMaxSize = propertyService.getString("Globals.fileUpload.maxSize");
model.addAttribute("fileUploadExtensions", whiteListFileUploadExtensions);
model.addAttribute("fileUploadMaxSize" , fileUploadMaxSize);
log.info("<<<<<<<<<<<<<<< /srm/updateViewIncident.do >>>>>>>>>>>>>>>"); log.info("<<<<<<<<<<<<<<< /srm/updateViewIncident.do >>>>>>>>>>>>>>>");

View File

@ -19,6 +19,9 @@
livereload: livereload:
enabled: true enabled: true
multipart:
max-file-size: 100MB
max-request-size: 100MB
# custom 설정 # custom 설정
custom: custom:
path: path:
@ -36,5 +39,5 @@
senderName: 나혁제 senderName: 나혁제
socketFactory-class: javax.net.ssl.SSLSocketFactory socketFactory-class: javax.net.ssl.SSLSocketFactory
supplier: gmail.com supplier: gmail.com
client : hpnote

View File

@ -19,6 +19,9 @@
livereload: livereload:
enabled: true enabled: true
multipart:
max-file-size: 100MB
max-request-size: 100MB
# custom 설정 # custom 설정
custom: custom:
path: path:
@ -38,5 +41,5 @@
senderName: 나혁제 senderName: 나혁제
socketFactory-class: javax.net.ssl.SSLSocketFactory socketFactory-class: javax.net.ssl.SSLSocketFactory
supplier: gmail.com supplier: gmail.com
client : urp

View File

@ -24,6 +24,10 @@
livereload: livereload:
enabled: true enabled: true
multipart:
max-file-size: 100MB
max-request-size: 100MB
# custom 설정 # custom 설정
custom: custom:
path: path:
@ -43,5 +47,5 @@
senderName: 나혁제 senderName: 나혁제
socketFactory-class: javax.net.ssl.SSLSocketFactory socketFactory-class: javax.net.ssl.SSLSocketFactory
supplier: gmail.com supplier: gmail.com
client : keiti

View File

@ -19,6 +19,10 @@
livereload: livereload:
enabled: true enabled: true
multipart:
max-file-size: 100MB
max-request-size: 100MB
# custom 설정 # custom 설정
custom: custom:
path: path:
@ -38,5 +42,5 @@
senderName: 나혁제 senderName: 나혁제
socketFactory-class: javax.net.ssl.SSLSocketFactory socketFactory-class: javax.net.ssl.SSLSocketFactory
supplier: gmail.com supplier: gmail.com
client : kic

View File

@ -19,6 +19,10 @@
livereload: livereload:
enabled: true enabled: true
multipart:
max-file-size: 100MB
max-request-size: 100MB
# custom 설정 # custom 설정
custom: custom:
path: path:
@ -37,5 +41,5 @@
senderName: 나혁제 senderName: 나혁제
socketFactory-class: javax.net.ssl.SSLSocketFactory socketFactory-class: javax.net.ssl.SSLSocketFactory
supplier: gmail.com supplier: gmail.com
client : kic

View File

@ -33,6 +33,10 @@
livereload: livereload:
enabled: true enabled: true
multipart:
max-file-size: 100MB
max-request-size: 100MB
# custom 설정 # custom 설정
custom: custom:
path: path:
@ -52,5 +56,5 @@
senderName: 나혁제 senderName: 나혁제
socketFactory-class: javax.net.ssl.SSLSocketFactory socketFactory-class: javax.net.ssl.SSLSocketFactory
supplier: gmail.com supplier: gmail.com
client : kintex

View File

@ -26,6 +26,11 @@
livereload: livereload:
enabled: true enabled: true
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
# custom 설정 # custom 설정
custom: custom:
path: path:
@ -45,5 +50,6 @@
senderName: 나혁제 senderName: 나혁제
socketFactory-class: javax.net.ssl.SSLSocketFactory socketFactory-class: javax.net.ssl.SSLSocketFactory
supplier: gmail.com supplier: gmail.com
client : kic

View File

@ -19,6 +19,9 @@
livereload: livereload:
enabled: true enabled: true
multipart:
max-file-size: 100MB
max-request-size: 100MB
# custom 설정 # custom 설정
custom: custom:
path: path:
@ -38,5 +41,5 @@
senderName: 나혁제 senderName: 나혁제
socketFactory-class: javax.net.ssl.SSLSocketFactory socketFactory-class: javax.net.ssl.SSLSocketFactory
supplier: gmail.com supplier: gmail.com
client : vmware

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 KiB

View File

@ -663,6 +663,8 @@
<td></td> <td></td>
<%-- 2025.12.03 나혁제 실사용자는 kintex인 경우만 반영 --%>
<c:if test="${strClient == 'kintex'}">
<th>실사용자</th> <th>실사용자</th>
<td> <td>
<input type="text" name="vcRealChargrNm" id="vcRealChargrNm" value="${resultAsset.vcRealChargrNm}" style="width:80%;" /> <input type="text" name="vcRealChargrNm" id="vcRealChargrNm" value="${resultAsset.vcRealChargrNm}" style="width:80%;" />
@ -673,6 +675,7 @@
<input type="hidden" name="inRealChargr" id="inRealChargr" value="${resultAsset.inRealChargr}" > <input type="hidden" name="inRealChargr" id="inRealChargr" value="${resultAsset.inRealChargr}" >
</td> </td>
</c:if>
</tr> </tr>

View File

@ -554,6 +554,8 @@
<th></th> <th></th>
<td></td> <td></td>
<%-- 2025.12.03 나혁제 실사용자는 kintex인 경우만 반영 --%>
<c:if test="${strClient == 'kintex'}">
<th>실사용자</th> <th>실사용자</th>
<td> <td>
<input type="text" name="vcRealChargrNm" id="vcRealChargrNm" value="" style="width:80%;" /> <input type="text" name="vcRealChargrNm" id="vcRealChargrNm" value="" style="width:80%;" />
@ -564,6 +566,7 @@
<input type="hidden" name="inRealChargr" id="inRealChargr" value="" > <input type="hidden" name="inRealChargr" id="inRealChargr" value="" >
</td> </td>
</c:if>
</tr> </tr>

View File

@ -417,6 +417,8 @@
</td> </td>
</tr> </tr>
<%-- 2025.12.03 나혁제 kintex 인경우만 반영 --%>
<c:if test="${strClient == 'kintex'}">
<tr> <tr>
<td> <td>
<label>EOS 일자 &nbsp;</label> <label>EOS 일자 &nbsp;</label>
@ -434,6 +436,7 @@
</td> </td>
</tr> </tr>
</c:if>
</tbody> </tbody>
</table> </table>
@ -448,8 +451,11 @@
<!-- tbl info --> <!-- tbl info -->
<div class="tbl_info" style="margin-bottom: 10px;margin-top: -15px;"> <div class="tbl_info" style="margin-bottom: 10px;margin-top: -15px;">
<div class="left_Area"> <div class="left_Area">
<input type="button" id="btnMultiCmdExec" name="btnMultiCmdExec" onclick="javascript:bn_MultiAssetDelete()" class="btn btn-inspect" <input type="button" id="btnMultiCmdExec" name="btnMultiCmdExec" onclick="javascript:bn_MultiAssetDelete()" class="btn btn-inspect"
value="선택자산 일괄삭제" title="선택자산 일괄삭제" style="height:40px;width:200px;background: darkblue;"> value="선택자산 일괄삭제" title="선택자산 일괄삭제" style="height:40px;width:200px;background: darkblue;" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
충건수 : <span style="color: red;font-weight: bold;font-size: 17px;">${paginationInfo.totalRecordCount}</span> 건
</div> </div>
<div class="right_Area"> <div class="right_Area">

View File

@ -241,7 +241,7 @@
} }
//---------------------------------------- //----------------------------------------
// 서비스 등록처리 // 점검보고서 등록처리
// ---------------------------------------- // ----------------------------------------
function fncReportCheckInsert() function fncReportCheckInsert()
{ {
@ -256,11 +256,17 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
proc.fn_ReportCheck_save(); proc.fn_ReportCheck_save();
} }
//---------------------------------------- //----------------------------------------
// 서비스 등록/승인요청 // 점검보고서 등록/승인요청
// ---------------------------------------- // ----------------------------------------
function fncReportCheckInsertApp() function fncReportCheckInsertApp()
{ {
@ -276,12 +282,22 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
if($("#approvalsId").val() == '') if($("#approvalsId").val() == '')
{ {
alert("승인요청시에는 결재라인이 필요합니다."); alert("승인요청시에는 결재라인이 필요합니다.");
return; return;
} }
// 승인요청 메세지 팝업 open
PopupOpen("/srm/PopReqApproval", 340, 450, '');
/*
// 승인요청 메세지 팝업 open // 승인요청 메세지 팝업 open
var pagetitle = $(this).attr("title"); var pagetitle = $(this).attr("title");
var page = "/common/PageRedirection.do" var page = "/common/PageRedirection.do"
@ -314,6 +330,7 @@
// 팝업 화면 맨앞으로 배치 // 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99"); $(".ui-dialog").css("z-index", "99");
*/
} }
//---------------------------------------- //----------------------------------------
@ -327,6 +344,28 @@
proc.fn_ReportCheck_save(); proc.fn_ReportCheck_save();
} }
//----------------------------------------
// 2025.12.02 나혁제 파일체크 로직 추가
// 첨부파일 체크
// ----------------------------------------
function fncAttachFileCheck()
{
// 결과가 false인경우 허용되지 않음
var resultExtension = EgovMultiFilesChecker.checkExtensions("egovComFileUploader", "<c:out value='${fileUploadExtensions}'/>");
if (!resultExtension)
{
return false;
}
// 파일당 1M까지 허용 (1K=1024), 결과가 false인경우 허용되지 않음
var resultSize = EgovMultiFilesChecker.checkFileSize("egovComFileUploader", <c:out value='${fileUploadMaxSize}'/>);
if (!resultSize)
{
return false;
}
return true;
}
//---------------------------------------- //----------------------------------------
// 저장전 기본 세팅 // 저장전 기본 세팅
@ -508,6 +547,41 @@
}); });
} }
//----------------------------------------
// 팝업 오픈
// ----------------------------------------
function PopupOpen(strUrl, hei, wid, pagetitle)
{
var page = "/common/PageRedirection.do?Page="+ strUrl
+ "&PopupYn=Y";
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false
, modal: true
, height: hei
, width: wid
, title: pagetitle
, open: function (event, ui)
{
$(".ui-icon-closethick").remove(); // 닫기 버튼 제거
$('.ui-dialog-titlebar-close').css({
width: '30px' // 닫기 버튼 너비
// , height: '50px' // 닫기 버튼 높이
});
$(this).parent().find(".ui-dialog-titlebar").hide(); // 타이틀바 안보이게 처리
}
, closeText: '닫기'
});
$dialog.dialog('open');
// 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99");
}
//---------------------------------------- //----------------------------------------
// Ajax 서버 통신 모음 // Ajax 서버 통신 모음
// ---------------------------------------- // ----------------------------------------

View File

@ -88,6 +88,8 @@
console.log($("#status").val()); console.log($("#status").val());
// 2025.12.04 나혁제 한페이지당 목록건수 추가
document.listForm.pageUnit.value = document.listForm.selPageSize.value;
document.listForm.pageIndex.value = pageIndex; document.listForm.pageIndex.value = pageIndex;
document.listForm.action = "<c:url value='/srm/searchReportCheck.do'/>"; document.listForm.action = "<c:url value='/srm/searchReportCheck.do'/>";
document.listForm.submit(); document.listForm.submit();
@ -166,7 +168,25 @@
</div> </div>
<!--//검색 :e --> <!--//검색 :e -->
<%-- 2025.12.04 나혁제 페이지당 조회건수 기능 추가 --%>
<!-- tbl info -->
<div class="tbl_info" style="margin-bottom: 10px;margin-top: -15px;">
<div class="left_Area" >
충건수 : <span style="color: red;font-weight: bold;font-size: 17px;">${paginationInfo.totalRecordCount}</span> 건
</div>
<div class="right_Area">
<select name="selPageSize" id="selPageSize" onchange="linkPage(1)" title="리스트 보기">
<option value="10" <c:if test="${searchVO.pageUnit == '10'}"> selected </c:if> >10개씩</option>
<option value="20" <c:if test="${searchVO.pageUnit == '20'}"> selected </c:if> >20개씩</option>
<option value="30" <c:if test="${searchVO.pageUnit == '30'}"> selected </c:if> >30개씩</option>
<option value="40" <c:if test="${searchVO.pageUnit == '40'}"> selected </c:if> >40개씩</option>
<option value="50" <c:if test="${searchVO.pageUnit == '50'}"> selected </c:if> >50개씩</option>
</select>
</div>
</div>
<!--//tbl info -->
<!-- tbl list : start --> <!-- tbl list : start -->
<div class="tbl_list" > <div class="tbl_list" >
@ -254,6 +274,7 @@
<!-- body_wrap :start --> <!-- body_wrap :start -->
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/>
<input type="hidden" name="pageUnit" value="<c:out value='${searchVO.pageSize}'/>"/> <!-- 2025.12.04 나혁제 페이지당건수 -->
<!-- 입력조건 --> <!-- 입력조건 -->
<input type="hidden" name="status" id="status" value=""/> <input type="hidden" name="status" id="status" value=""/>

View File

@ -225,7 +225,7 @@
} }
//---------------------------------------- //----------------------------------------
// 보고서 수정처리 // 점검보고서 수정처리
// ---------------------------------------- // ----------------------------------------
function fncReportCheckUpdate() function fncReportCheckUpdate()
{ {
@ -262,11 +262,17 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
proc.fn_ReportCheck_save(); proc.fn_ReportCheck_save();
} }
//---------------------------------------- //----------------------------------------
// 보고서 변경/승인처리 처리 // 점검보고서 변경/승인처리 처리
// ---------------------------------------- // ----------------------------------------
function fncSvcReportCheckUpdateApp() function fncSvcReportCheckUpdateApp()
{ {
@ -303,6 +309,16 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
// 승인요청 메세지 팝업 open
PopupOpen("/srm/PopReqApproval", 340, 450, '');
/*
// 승인요청 메세지 팝업 open // 승인요청 메세지 팝업 open
var pagetitle = $(this).attr("title"); var pagetitle = $(this).attr("title");
var page = "/common/PageRedirection.do" var page = "/common/PageRedirection.do"
@ -335,6 +351,7 @@
// 팝업 화면 맨앞으로 배치 // 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99"); $(".ui-dialog").css("z-index", "99");
*/
} }
//---------------------------------------- //----------------------------------------
@ -348,6 +365,28 @@
proc.fn_ReportCheck_save(); proc.fn_ReportCheck_save();
} }
//----------------------------------------
// 2025.12.02 나혁제 파일체크 로직 추가
// 첨부파일 체크
// ----------------------------------------
function fncAttachFileCheck()
{
// 결과가 false인경우 허용되지 않음
var resultExtension = EgovMultiFilesChecker.checkExtensions("egovComFileUploader", "<c:out value='${fileUploadExtensions}'/>");
if (!resultExtension)
{
return false;
}
// 파일당 1M까지 허용 (1K=1024), 결과가 false인경우 허용되지 않음
var resultSize = EgovMultiFilesChecker.checkFileSize("egovComFileUploader", <c:out value='${fileUploadMaxSize}'/>);
if (!resultSize)
{
return false;
}
return true;
}
//---------------------------------------- //----------------------------------------
// 사용자 검색 팝업 // 사용자 검색 팝업
@ -501,6 +540,41 @@
}); });
} }
//----------------------------------------
// 팝업 오픈
// ----------------------------------------
function PopupOpen(strUrl, hei, wid, pagetitle)
{
var page = "/common/PageRedirection.do?Page="+ strUrl
+ "&PopupYn=Y";
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false
, modal: true
, height: hei
, width: wid
, title: pagetitle
, open: function (event, ui)
{
$(".ui-icon-closethick").remove(); // 닫기 버튼 제거
$('.ui-dialog-titlebar-close').css({
width: '30px' // 닫기 버튼 너비
// , height: '50px' // 닫기 버튼 높이
});
$(this).parent().find(".ui-dialog-titlebar").hide(); // 타이틀바 안보이게 처리
}
, closeText: '닫기'
});
$dialog.dialog('open');
// 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99");
}
//---------------------------------------- //----------------------------------------
// Ajax 서버 통신 모음 // Ajax 서버 통신 모음
// ---------------------------------------- // ----------------------------------------

View File

@ -251,6 +251,12 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
proc.fn_ReportError_save(); proc.fn_ReportError_save();
} }
@ -277,6 +283,16 @@
return; return;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
// 승인요청 메세지 팝업 open
PopupOpen("/srm/PopReqApproval", 340, 450, '');
/*
// 승인요청 메세지 팝업 open // 승인요청 메세지 팝업 open
var pagetitle = $(this).attr("title"); var pagetitle = $(this).attr("title");
var page = "/common/PageRedirection.do" var page = "/common/PageRedirection.do"
@ -309,6 +325,7 @@
// 팝업 화면 맨앞으로 배치 // 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99"); $(".ui-dialog").css("z-index", "99");
*/
} }
//---------------------------------------- //----------------------------------------
@ -322,6 +339,28 @@
proc.fn_ReportError_save(); proc.fn_ReportError_save();
} }
//----------------------------------------
// 2025.12.02 나혁제 파일체크 로직 추가
// 첨부파일 체크
// ----------------------------------------
function fncAttachFileCheck()
{
// 결과가 false인경우 허용되지 않음
var resultExtension = EgovMultiFilesChecker.checkExtensions("egovComFileUploader", "<c:out value='${fileUploadExtensions}'/>");
if (!resultExtension)
{
return false;
}
// 파일당 1M까지 허용 (1K=1024), 결과가 false인경우 허용되지 않음
var resultSize = EgovMultiFilesChecker.checkFileSize("egovComFileUploader", <c:out value='${fileUploadMaxSize}'/>);
if (!resultSize)
{
return false;
}
return true;
}
//---------------------------------------- //----------------------------------------
// 저장전 기본 세팅 // 저장전 기본 세팅
@ -503,6 +542,41 @@
}); });
} }
//----------------------------------------
// 팝업 오픈
// ----------------------------------------
function PopupOpen(strUrl, hei, wid, pagetitle)
{
var page = "/common/PageRedirection.do?Page="+ strUrl
+ "&PopupYn=Y";
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false
, modal: true
, height: hei
, width: wid
, title: pagetitle
, open: function (event, ui)
{
$(".ui-icon-closethick").remove(); // 닫기 버튼 제거
$('.ui-dialog-titlebar-close').css({
width: '30px' // 닫기 버튼 너비
// , height: '50px' // 닫기 버튼 높이
});
$(this).parent().find(".ui-dialog-titlebar").hide(); // 타이틀바 안보이게 처리
}
, closeText: '닫기'
});
$dialog.dialog('open');
// 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99");
}
//---------------------------------------- //----------------------------------------
// Ajax 서버 통신 모음 // Ajax 서버 통신 모음
// ---------------------------------------- // ----------------------------------------

View File

@ -105,6 +105,8 @@
console.log($("#status").val()); console.log($("#status").val());
// 2025.12.04 나혁제 한페이지당 목록건수 추가
document.listForm.pageUnit.value = document.listForm.selPageSize.value;
document.listForm.pageIndex.value = pageIndex; document.listForm.pageIndex.value = pageIndex;
document.listForm.action = "<c:url value='/srm/searchReportError.do'/>"; document.listForm.action = "<c:url value='/srm/searchReportError.do'/>";
document.listForm.submit(); document.listForm.submit();
@ -186,7 +188,25 @@
</div> </div>
<!--//검색 :e --> <!--//검색 :e -->
<%-- 2025.12.04 나혁제 페이지당 조회건수 기능 추가 --%>
<!-- tbl info -->
<div class="tbl_info" style="margin-bottom: 10px;margin-top: -15px;">
<div class="left_Area" >
충건수 : <span style="color: red;font-weight: bold;font-size: 17px;">${paginationInfo.totalRecordCount}</span> 건
</div>
<div class="right_Area">
<select name="selPageSize" id="selPageSize" onchange="linkPage(1)" title="리스트 보기">
<option value="10" <c:if test="${searchVO.pageUnit == '10'}"> selected </c:if> >10개씩</option>
<option value="20" <c:if test="${searchVO.pageUnit == '20'}"> selected </c:if> >20개씩</option>
<option value="30" <c:if test="${searchVO.pageUnit == '30'}"> selected </c:if> >30개씩</option>
<option value="40" <c:if test="${searchVO.pageUnit == '40'}"> selected </c:if> >40개씩</option>
<option value="50" <c:if test="${searchVO.pageUnit == '50'}"> selected </c:if> >50개씩</option>
</select>
</div>
</div>
<!--//tbl info -->
<!-- tbl list : start --> <!-- tbl list : start -->
<div class="tbl_list" > <div class="tbl_list" >
@ -274,6 +294,7 @@
<!-- body_wrap :start --> <!-- body_wrap :start -->
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/>
<input type="hidden" name="pageUnit" value="<c:out value='${searchVO.pageSize}'/>"/> <!-- 2025.12.04 나혁제 페이지당건수 -->
<!-- 입력조건 --> <!-- 입력조건 -->
<input type="hidden" name="status" id="status" value=""/> <input type="hidden" name="status" id="status" value=""/>

View File

@ -260,6 +260,12 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
proc.fn_ReportError_save(); proc.fn_ReportError_save();
} }
@ -301,6 +307,16 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
// 승인요청 메세지 팝업 open
PopupOpen("/srm/PopReqApproval", 340, 450, '');
/*
// 승인요청 메세지 팝업 open // 승인요청 메세지 팝업 open
var pagetitle = $(this).attr("title"); var pagetitle = $(this).attr("title");
var page = "/common/PageRedirection.do" var page = "/common/PageRedirection.do"
@ -333,6 +349,7 @@
// 팝업 화면 맨앞으로 배치 // 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99"); $(".ui-dialog").css("z-index", "99");
*/
} }
//---------------------------------------- //----------------------------------------
@ -346,6 +363,28 @@
proc.fn_ReportError_save(); proc.fn_ReportError_save();
} }
//----------------------------------------
// 2025.12.02 나혁제 파일체크 로직 추가
// 첨부파일 체크
// ----------------------------------------
function fncAttachFileCheck()
{
// 결과가 false인경우 허용되지 않음
var resultExtension = EgovMultiFilesChecker.checkExtensions("egovComFileUploader", "<c:out value='${fileUploadExtensions}'/>");
if (!resultExtension)
{
return false;
}
// 파일당 1M까지 허용 (1K=1024), 결과가 false인경우 허용되지 않음
var resultSize = EgovMultiFilesChecker.checkFileSize("egovComFileUploader", <c:out value='${fileUploadMaxSize}'/>);
if (!resultSize)
{
return false;
}
return true;
}
//---------------------------------------- //----------------------------------------
// 사용자 검색 팝업 // 사용자 검색 팝업
@ -496,6 +535,41 @@
}); });
} }
//----------------------------------------
// 팝업 오픈
// ----------------------------------------
function PopupOpen(strUrl, hei, wid, pagetitle)
{
var page = "/common/PageRedirection.do?Page="+ strUrl
+ "&PopupYn=Y";
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false
, modal: true
, height: hei
, width: wid
, title: pagetitle
, open: function (event, ui)
{
$(".ui-icon-closethick").remove(); // 닫기 버튼 제거
$('.ui-dialog-titlebar-close').css({
width: '30px' // 닫기 버튼 너비
// , height: '50px' // 닫기 버튼 높이
});
$(this).parent().find(".ui-dialog-titlebar").hide(); // 타이틀바 안보이게 처리
}
, closeText: '닫기'
});
$dialog.dialog('open');
// 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99");
}
//---------------------------------------- //----------------------------------------
// Ajax 서버 통신 모음 // Ajax 서버 통신 모음
// ---------------------------------------- // ----------------------------------------

View File

@ -251,6 +251,12 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
proc.fn_ReportIssue_save(); proc.fn_ReportIssue_save();
} }
@ -277,6 +283,16 @@
return; return;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
// 승인요청 메세지 팝업 open
PopupOpen("/srm/PopReqApproval", 340, 450, '');
/*
// 승인요청 메세지 팝업 open // 승인요청 메세지 팝업 open
var pagetitle = $(this).attr("title"); var pagetitle = $(this).attr("title");
var page = "/common/PageRedirection.do" var page = "/common/PageRedirection.do"
@ -309,6 +325,7 @@
// 팝업 화면 맨앞으로 배치 // 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99"); $(".ui-dialog").css("z-index", "99");
*/
} }
//---------------------------------------- //----------------------------------------
@ -322,6 +339,28 @@
proc.fn_ReportIssue_save(); proc.fn_ReportIssue_save();
} }
//----------------------------------------
// 2025.12.02 나혁제 파일체크 로직 추가
// 첨부파일 체크
// ----------------------------------------
function fncAttachFileCheck()
{
// 결과가 false인경우 허용되지 않음
var resultExtension = EgovMultiFilesChecker.checkExtensions("egovComFileUploader", "<c:out value='${fileUploadExtensions}'/>");
if (!resultExtension)
{
return false;
}
// 파일당 1M까지 허용 (1K=1024), 결과가 false인경우 허용되지 않음
var resultSize = EgovMultiFilesChecker.checkFileSize("egovComFileUploader", <c:out value='${fileUploadMaxSize}'/>);
if (!resultSize)
{
return false;
}
return true;
}
//---------------------------------------- //----------------------------------------
// 저장전 기본 세팅 // 저장전 기본 세팅
@ -503,6 +542,41 @@
}); });
} }
//----------------------------------------
// 팝업 오픈
// ----------------------------------------
function PopupOpen(strUrl, hei, wid, pagetitle)
{
var page = "/common/PageRedirection.do?Page="+ strUrl
+ "&PopupYn=Y";
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false
, modal: true
, height: hei
, width: wid
, title: pagetitle
, open: function (event, ui)
{
$(".ui-icon-closethick").remove(); // 닫기 버튼 제거
$('.ui-dialog-titlebar-close').css({
width: '30px' // 닫기 버튼 너비
// , height: '50px' // 닫기 버튼 높이
});
$(this).parent().find(".ui-dialog-titlebar").hide(); // 타이틀바 안보이게 처리
}
, closeText: '닫기'
});
$dialog.dialog('open');
// 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99");
}
//---------------------------------------- //----------------------------------------
// Ajax 서버 통신 모음 // Ajax 서버 통신 모음
// ---------------------------------------- // ----------------------------------------

View File

@ -103,6 +103,8 @@
console.log($("#status").val()); console.log($("#status").val());
// 2025.12.04 나혁제 한페이지당 목록건수 추가
document.listForm.pageUnit.value = document.listForm.selPageSize.value;
document.listForm.pageIndex.value = pageIndex; document.listForm.pageIndex.value = pageIndex;
document.listForm.action = "<c:url value='/srm/searchReportIssue.do'/>"; document.listForm.action = "<c:url value='/srm/searchReportIssue.do'/>";
document.listForm.submit(); document.listForm.submit();
@ -182,7 +184,25 @@
</div> </div>
<!--//검색 :e --> <!--//검색 :e -->
<%-- 2025.12.04 나혁제 페이지당 조회건수 기능 추가 --%>
<!-- tbl info -->
<div class="tbl_info" style="margin-bottom: 10px;margin-top: -15px;">
<div class="left_Area" >
충건수 : <span style="color: red;font-weight: bold;font-size: 17px;">${paginationInfo.totalRecordCount}</span> 건
</div>
<div class="right_Area">
<select name="selPageSize" id="selPageSize" onchange="linkPage(1)" title="리스트 보기">
<option value="10" <c:if test="${searchVO.pageUnit == '10'}"> selected </c:if> >10개씩</option>
<option value="20" <c:if test="${searchVO.pageUnit == '20'}"> selected </c:if> >20개씩</option>
<option value="30" <c:if test="${searchVO.pageUnit == '30'}"> selected </c:if> >30개씩</option>
<option value="40" <c:if test="${searchVO.pageUnit == '40'}"> selected </c:if> >40개씩</option>
<option value="50" <c:if test="${searchVO.pageUnit == '50'}"> selected </c:if> >50개씩</option>
</select>
</div>
</div>
<!--//tbl info -->
<!-- tbl list : start --> <!-- tbl list : start -->
<div class="tbl_list" > <div class="tbl_list" >
@ -268,6 +288,7 @@
<!-- body_wrap :start --> <!-- body_wrap :start -->
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/>
<input type="hidden" name="pageUnit" value="<c:out value='${searchVO.pageSize}'/>"/> <!-- 2025.12.04 나혁제 페이지당건수 -->
<!-- 입력조건 --> <!-- 입력조건 -->
<input type="hidden" name="status" id="status" value=""/> <input type="hidden" name="status" id="status" value=""/>

View File

@ -258,6 +258,12 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
proc.fn_ReportIssue_save(); proc.fn_ReportIssue_save();
} }
@ -299,6 +305,16 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
// 승인요청 메세지 팝업 open
PopupOpen("/srm/PopReqApproval", 340, 450, '');
/*
// 승인요청 메세지 팝업 open // 승인요청 메세지 팝업 open
var pagetitle = $(this).attr("title"); var pagetitle = $(this).attr("title");
var page = "/common/PageRedirection.do" var page = "/common/PageRedirection.do"
@ -331,6 +347,7 @@
// 팝업 화면 맨앞으로 배치 // 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99"); $(".ui-dialog").css("z-index", "99");
*/
} }
//---------------------------------------- //----------------------------------------
@ -344,6 +361,28 @@
proc.fn_ReportIssue_save(); proc.fn_ReportIssue_save();
} }
//----------------------------------------
// 2025.12.02 나혁제 파일체크 로직 추가
// 첨부파일 체크
// ----------------------------------------
function fncAttachFileCheck()
{
// 결과가 false인경우 허용되지 않음
var resultExtension = EgovMultiFilesChecker.checkExtensions("egovComFileUploader", "<c:out value='${fileUploadExtensions}'/>");
if (!resultExtension)
{
return false;
}
// 파일당 1M까지 허용 (1K=1024), 결과가 false인경우 허용되지 않음
var resultSize = EgovMultiFilesChecker.checkFileSize("egovComFileUploader", <c:out value='${fileUploadMaxSize}'/>);
if (!resultSize)
{
return false;
}
return true;
}
//---------------------------------------- //----------------------------------------
// 사용자 검색 팝업 // 사용자 검색 팝업
@ -494,6 +533,41 @@
}); });
} }
//----------------------------------------
// 팝업 오픈
// ----------------------------------------
function PopupOpen(strUrl, hei, wid, pagetitle)
{
var page = "/common/PageRedirection.do?Page="+ strUrl
+ "&PopupYn=Y";
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false
, modal: true
, height: hei
, width: wid
, title: pagetitle
, open: function (event, ui)
{
$(".ui-icon-closethick").remove(); // 닫기 버튼 제거
$('.ui-dialog-titlebar-close').css({
width: '30px' // 닫기 버튼 너비
// , height: '50px' // 닫기 버튼 높이
});
$(this).parent().find(".ui-dialog-titlebar").hide(); // 타이틀바 안보이게 처리
}
, closeText: '닫기'
});
$dialog.dialog('open');
// 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99");
}
//---------------------------------------- //----------------------------------------
// Ajax 서버 통신 모음 // Ajax 서버 통신 모음
// ---------------------------------------- // ----------------------------------------

View File

@ -261,6 +261,12 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
proc.fn_ReportOther_save(); proc.fn_ReportOther_save();
} }
@ -281,12 +287,22 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
if($("#approvalsId").val() == '') if($("#approvalsId").val() == '')
{ {
alert("승인요청시에는 결재라인이 필요합니다."); alert("승인요청시에는 결재라인이 필요합니다.");
return; return;
} }
// 승인요청 메세지 팝업 open
PopupOpen("/srm/PopReqApproval", 340, 450, '');
/*
// 승인요청 메세지 팝업 open // 승인요청 메세지 팝업 open
var pagetitle = $(this).attr("title"); var pagetitle = $(this).attr("title");
var page = "/common/PageRedirection.do" var page = "/common/PageRedirection.do"
@ -319,6 +335,7 @@
// 팝업 화면 맨앞으로 배치 // 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99"); $(".ui-dialog").css("z-index", "99");
*/
} }
//---------------------------------------- //----------------------------------------
@ -332,6 +349,28 @@
proc.fn_ReportOther_save(); proc.fn_ReportOther_save();
} }
//----------------------------------------
// 2025.12.02 나혁제 파일체크 로직 추가
// 첨부파일 체크
// ----------------------------------------
function fncAttachFileCheck()
{
// 결과가 false인경우 허용되지 않음
var resultExtension = EgovMultiFilesChecker.checkExtensions("egovComFileUploader", "<c:out value='${fileUploadExtensions}'/>");
if (!resultExtension)
{
return false;
}
// 파일당 1M까지 허용 (1K=1024), 결과가 false인경우 허용되지 않음
var resultSize = EgovMultiFilesChecker.checkFileSize("egovComFileUploader", <c:out value='${fileUploadMaxSize}'/>);
if (!resultSize)
{
return false;
}
return true;
}
//---------------------------------------- //----------------------------------------
// 저장전 기본 세팅 // 저장전 기본 세팅
@ -512,6 +551,41 @@
}); });
} }
//----------------------------------------
// 팝업 오픈
// ----------------------------------------
function PopupOpen(strUrl, hei, wid, pagetitle)
{
var page = "/common/PageRedirection.do?Page="+ strUrl
+ "&PopupYn=Y";
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false
, modal: true
, height: hei
, width: wid
, title: pagetitle
, open: function (event, ui)
{
$(".ui-icon-closethick").remove(); // 닫기 버튼 제거
$('.ui-dialog-titlebar-close').css({
width: '30px' // 닫기 버튼 너비
// , height: '50px' // 닫기 버튼 높이
});
$(this).parent().find(".ui-dialog-titlebar").hide(); // 타이틀바 안보이게 처리
}
, closeText: '닫기'
});
$dialog.dialog('open');
// 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99");
}
//---------------------------------------- //----------------------------------------
// null 문자열체크 // null 문자열체크
// ---------------------------------------- // ----------------------------------------

View File

@ -95,6 +95,8 @@
console.log($("#status").val()); console.log($("#status").val());
// 2025.12.04 나혁제 한페이지당 목록건수 추가
document.listForm.pageUnit.value = document.listForm.selPageSize.value;
document.listForm.pageIndex.value = pageIndex; document.listForm.pageIndex.value = pageIndex;
document.listForm.action = "<c:url value='/srm/searchReportOther.do'/>"; document.listForm.action = "<c:url value='/srm/searchReportOther.do'/>";
document.listForm.submit(); document.listForm.submit();
@ -173,7 +175,25 @@
</div> </div>
<!--//검색 :e --> <!--//검색 :e -->
<%-- 2025.12.04 나혁제 페이지당 조회건수 기능 추가 --%>
<!-- tbl info -->
<div class="tbl_info" style="margin-bottom: 10px;margin-top: -15px;">
<div class="left_Area" >
충건수 : <span style="color: red;font-weight: bold;font-size: 17px;">${paginationInfo.totalRecordCount}</span> 건
</div>
<div class="right_Area">
<select name="selPageSize" id="selPageSize" onchange="linkPage(1)" title="리스트 보기">
<option value="10" <c:if test="${searchVO.pageUnit == '10'}"> selected </c:if> >10개씩</option>
<option value="20" <c:if test="${searchVO.pageUnit == '20'}"> selected </c:if> >20개씩</option>
<option value="30" <c:if test="${searchVO.pageUnit == '30'}"> selected </c:if> >30개씩</option>
<option value="40" <c:if test="${searchVO.pageUnit == '40'}"> selected </c:if> >40개씩</option>
<option value="50" <c:if test="${searchVO.pageUnit == '50'}"> selected </c:if> >50개씩</option>
</select>
</div>
</div>
<!--//tbl info -->
<!-- tbl list : start --> <!-- tbl list : start -->
<div class="tbl_list" > <div class="tbl_list" >
@ -261,6 +281,7 @@
<!-- body_wrap :start --> <!-- body_wrap :start -->
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/>
<input type="hidden" name="pageUnit" value="<c:out value='${searchVO.pageSize}'/>"/> <!-- 2025.12.04 나혁제 페이지당건수 -->
<!-- 입력조건 --> <!-- 입력조건 -->
<input type="hidden" name="status" id="status" value=""/> <input type="hidden" name="status" id="status" value=""/>

View File

@ -263,6 +263,12 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
proc.fn_ReportOther_save(); proc.fn_ReportOther_save();
} }
@ -304,6 +310,16 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
// 승인요청 메세지 팝업 open
PopupOpen("/srm/PopReqApproval", 340, 450, '');
/*
// 승인요청 메세지 팝업 open // 승인요청 메세지 팝업 open
var pagetitle = $(this).attr("title"); var pagetitle = $(this).attr("title");
var page = "/common/PageRedirection.do" var page = "/common/PageRedirection.do"
@ -336,6 +352,7 @@
// 팝업 화면 맨앞으로 배치 // 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99"); $(".ui-dialog").css("z-index", "99");
*/
} }
//---------------------------------------- //----------------------------------------
@ -349,6 +366,28 @@
proc.fn_ReportOther_save(); proc.fn_ReportOther_save();
} }
//----------------------------------------
// 2025.12.02 나혁제 파일체크 로직 추가
// 첨부파일 체크
// ----------------------------------------
function fncAttachFileCheck()
{
// 결과가 false인경우 허용되지 않음
var resultExtension = EgovMultiFilesChecker.checkExtensions("egovComFileUploader", "<c:out value='${fileUploadExtensions}'/>");
if (!resultExtension)
{
return false;
}
// 파일당 1M까지 허용 (1K=1024), 결과가 false인경우 허용되지 않음
var resultSize = EgovMultiFilesChecker.checkFileSize("egovComFileUploader", <c:out value='${fileUploadMaxSize}'/>);
if (!resultSize)
{
return false;
}
return true;
}
//---------------------------------------- //----------------------------------------
// 사용자 검색 팝업 // 사용자 검색 팝업
@ -503,6 +542,41 @@
}); });
} }
//----------------------------------------
// 팝업 오픈
// ----------------------------------------
function PopupOpen(strUrl, hei, wid, pagetitle)
{
var page = "/common/PageRedirection.do?Page="+ strUrl
+ "&PopupYn=Y";
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false
, modal: true
, height: hei
, width: wid
, title: pagetitle
, open: function (event, ui)
{
$(".ui-icon-closethick").remove(); // 닫기 버튼 제거
$('.ui-dialog-titlebar-close').css({
width: '30px' // 닫기 버튼 너비
// , height: '50px' // 닫기 버튼 높이
});
$(this).parent().find(".ui-dialog-titlebar").hide(); // 타이틀바 안보이게 처리
}
, closeText: '닫기'
});
$dialog.dialog('open');
// 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99");
}
//---------------------------------------- //----------------------------------------
// Ajax 서버 통신 모음 // Ajax 서버 통신 모음
// ---------------------------------------- // ----------------------------------------

View File

@ -58,6 +58,14 @@
<script type="text/javascript" src="${ctx}/js/js-calendar/jquery-ui-timepicker-addon.js"></script> <script type="text/javascript" src="${ctx}/js/js-calendar/jquery-ui-timepicker-addon.js"></script>
<link rel="stylesheet" type="text/css" href="${ctx}/css/jquery-ui-timepicker-addon.css"> <link rel="stylesheet" type="text/css" href="${ctx}/css/jquery-ui-timepicker-addon.css">
<%-- 스프링 구조에 맞지 않는 코딩
<spring:eval expression="@propertiesService.getString('Globals.fileUpload.Extensions')" var="uploadExt"/>
<spring:eval expression="@propertiesService.getString('Globals.fileUpload.maxSize')" var="uploadMax"/>
${uploadExt }
${uploadMax }
--%>
<script type="text/javaScript" language="javascript"> <script type="text/javaScript" language="javascript">
//---------------------------------------- //----------------------------------------
@ -249,11 +257,17 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
proc.fn_incident_save(); proc.fn_incident_save();
} }
//---------------------------------------- //----------------------------------------
// 서비스 등록처리 (button) // 서비스 등록/승인요청 처리 (button)
// ---------------------------------------- // ----------------------------------------
function fncSvcDeskIncidentInsertReqApp() function fncSvcDeskIncidentInsertReqApp()
{ {
@ -279,6 +293,12 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
// 승인요청 메세지 팝업 open // 승인요청 메세지 팝업 open
PopupOpen("/srm/PopReqApproval", 340, 450, ''); PopupOpen("/srm/PopReqApproval", 340, 450, '');
} }
@ -294,6 +314,29 @@
proc.fn_incident_save(); proc.fn_incident_save();
} }
//----------------------------------------
// 2025.12.02 나혁제 파일체크 로직 추가
// 첨부파일 체크
// ----------------------------------------
function fncAttachFileCheck()
{
// 결과가 false인경우 허용되지 않음
var resultExtension = EgovMultiFilesChecker.checkExtensions("egovComFileUploader", "<c:out value='${fileUploadExtensions}'/>");
if (!resultExtension)
{
return false;
}
// 파일당 1M까지 허용 (1K=1024), 결과가 false인경우 허용되지 않음
var resultSize = EgovMultiFilesChecker.checkFileSize("egovComFileUploader", <c:out value='${fileUploadMaxSize}'/>);
if (!resultSize)
{
return false;
}
return true;
}
//---------------------------------------- //----------------------------------------
// 2025.11.18 나혁제 // 2025.11.18 나혁제
// 결재순서 위로 이동처리 // 결재순서 위로 이동처리
@ -647,9 +690,8 @@
<!-- attached file Start --> <!-- attached file Start -->
<div> <div>
<input type="file" name="file_1" id="egovComFileUploader" onChange="fnImgChange(this)" multiple> <input type="file" name="file_1" id="egovComFileUploader" onChange="fnImgChange(this)" multiple>
</div>
<div id="egovComFileList"></div>
</div> </div>
<div id="egovComFileList"></div>
<!-- attached file End --> <!-- attached file End -->
</td> </td>
</tr> </tr>

View File

@ -45,29 +45,7 @@
// ---------------------------------------- // ----------------------------------------
function fncSearchSvcDeskList() function fncSearchSvcDeskList()
{ {
var arComplete = []; // 처리상태 linkPage(1);
var arStatus = []; // 승인상태
if($("#chk2_1").is(":checked")) arComplete.push("0");
if($("#chk2_2").is(":checked")) arComplete.push("1");
if($("#chk1_1").is(":checked")) arStatus.push("0");
if($("#chk1_2").is(":checked")) arStatus.push("1");
if($("#chk1_3").is(":checked")) arStatus.push("2");
if($("#chk1_4").is(":checked")) arStatus.push("3");
console.log("arComplete =>" + arComplete);
console.log("arStatus =>" + arStatus);
$("#complete").val(arComplete.join(","));
$("#status" ).val(arStatus.join(","));
console.log("complete =>" + complete);
console.log("status =>" + status);
document.listForm.pageIndex.value = "1";
document.listForm.action = "<c:url value='/srm/searchIncident.do'/>";
document.listForm.submit();
} }
//---------------------------------------- //----------------------------------------
@ -93,6 +71,38 @@
document.listForm.submit(); document.listForm.submit();
} }
//----------------------------------------
// 검색(페이지)
// ----------------------------------------
function linkPage(pageIndex)
{
var arComplete = []; // 처리상태
var arStatus = []; // 승인상태
if($("#chk2_1").is(":checked")) arComplete.push("0");
if($("#chk2_2").is(":checked")) arComplete.push("1");
if($("#chk1_1").is(":checked")) arStatus.push("0");
if($("#chk1_2").is(":checked")) arStatus.push("1");
if($("#chk1_3").is(":checked")) arStatus.push("2");
if($("#chk1_4").is(":checked")) arStatus.push("3");
console.log("arComplete =>" + arComplete);
console.log("arStatus =>" + arStatus);
$("#complete").val(arComplete.join(","));
$("#status" ).val(arStatus.join(","));
console.log("complete =>" + complete);
console.log("status =>" + status);
document.listForm.pageIndex.value = pageIndex;
// 2025.12.04 나혁제 한페이지당 목록건수 추가
document.listForm.pageUnit.value = document.listForm.selPageSize.value;
document.listForm.action = "<c:url value='/srm/searchIncident.do'/>";
document.listForm.submit();
}
@ -179,7 +189,25 @@
</div> </div>
<!--//검색 :e --> <!--//검색 :e -->
<%-- 2025.12.04 나혁제 페이지당 조회건수 기능 추가 --%>
<!-- tbl info -->
<div class="tbl_info" style="margin-bottom: 10px;margin-top: -15px;">
<div class="left_Area" >
충건수 : <span style="color: red;font-weight: bold;font-size: 17px;">${paginationInfo.totalRecordCount}</span> 건
</div>
<div class="right_Area">
<select name="selPageSize" id="selPageSize" onchange="linkPage(1)" title="리스트 보기">
<option value="10" <c:if test="${searchVO.pageUnit == '10'}"> selected </c:if> >10개씩</option>
<option value="20" <c:if test="${searchVO.pageUnit == '20'}"> selected </c:if> >20개씩</option>
<option value="30" <c:if test="${searchVO.pageUnit == '30'}"> selected </c:if> >30개씩</option>
<option value="40" <c:if test="${searchVO.pageUnit == '40'}"> selected </c:if> >40개씩</option>
<option value="50" <c:if test="${searchVO.pageUnit == '50'}"> selected </c:if> >50개씩</option>
</select>
</div>
</div>
<!--//tbl info -->
<!-- tbl list : start --> <!-- tbl list : start -->
<div class="tbl_list" > <div class="tbl_list" >
@ -260,6 +288,7 @@
<!-- body_wrap :start --> <!-- body_wrap :start -->
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/>
<input type="hidden" name="pageUnit" value="<c:out value='${searchVO.pageSize}'/>"/> <!-- 2025.12.04 나혁제 페이지당건수 -->
<!-- 입력조건 --> <!-- 입력조건 -->
<input type="hidden" name="complete" id="complete" value=""/> <input type="hidden" name="complete" id="complete" value=""/>

View File

@ -253,6 +253,12 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
proc.fn_incident_save(); proc.fn_incident_save();
} }
@ -283,6 +289,16 @@
return false; return false;
} }
// 2025.12.02 나혁제 파일체크 로직 추가
if (!fncAttachFileCheck())
{
return false;
}
// 승인요청 메세지 팝업 open
PopupOpen("/srm/PopReqApproval", 340, 450, '');
/*
// 승인요청 메세지 팝업 open // 승인요청 메세지 팝업 open
var pagetitle = $(this).attr("title"); var pagetitle = $(this).attr("title");
var page = "/common/PageRedirection.do" var page = "/common/PageRedirection.do"
@ -315,6 +331,7 @@
// 팝업 화면 맨앞으로 배치 // 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99"); $(".ui-dialog").css("z-index", "99");
*/
} }
//---------------------------------------- //----------------------------------------
@ -328,6 +345,29 @@
proc.fn_incident_save(); proc.fn_incident_save();
} }
//----------------------------------------
// 2025.12.02 나혁제 파일체크 로직 추가
// 첨부파일 체크
// ----------------------------------------
function fncAttachFileCheck()
{
// 결과가 false인경우 허용되지 않음
var resultExtension = EgovMultiFilesChecker.checkExtensions("egovComFileUploader", "<c:out value='${fileUploadExtensions}'/>");
if (!resultExtension)
{
return false;
}
// 파일당 1M까지 허용 (1K=1024), 결과가 false인경우 허용되지 않음
var resultSize = EgovMultiFilesChecker.checkFileSize("egovComFileUploader", <c:out value='${fileUploadMaxSize}'/>);
if (!resultSize)
{
return false;
}
return true;
}
//---------------------------------------- //----------------------------------------
// 2025.11.18 나혁제 // 2025.11.18 나혁제
// 결재순서 위로 이동처리 // 결재순서 위로 이동처리
@ -386,6 +426,41 @@
}); });
} }
//----------------------------------------
// 팝업 오픈
// ----------------------------------------
function PopupOpen(strUrl, hei, wid, pagetitle)
{
var page = "/common/PageRedirection.do?Page="+ strUrl
+ "&PopupYn=Y";
var $dialog = $('<div></div>')
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false
, modal: true
, height: hei
, width: wid
, title: pagetitle
, open: function (event, ui)
{
$(".ui-icon-closethick").remove(); // 닫기 버튼 제거
$('.ui-dialog-titlebar-close').css({
width: '30px' // 닫기 버튼 너비
// , height: '50px' // 닫기 버튼 높이
});
$(this).parent().find(".ui-dialog-titlebar").hide(); // 타이틀바 안보이게 처리
}
, closeText: '닫기'
});
$dialog.dialog('open');
// 팝업 화면 맨앞으로 배치
$(".ui-dialog").css("z-index", "99");
}
//---------------------------------------- //----------------------------------------
// Ajax 통신처리 // Ajax 통신처리
// ---------------------------------------- // ----------------------------------------

View File

@ -164,51 +164,52 @@
}); });
*/ */
<c:if test="${!empty strErrorMsg}">alert("${strErrorMsg}");</c:if> <c:if test="${!empty strErrorMsg}">alert("${strErrorMsg}");</c:if>
</script> </script>
<body> <body>
<!-- login :s --> <div style="display: flex;align-items: flex-start;">
<div class="logback">
<h1><img src="${ctx}/images/main/logo.png" alt="uWorks Portal logo"></h1>
<h3>urITSM 에 오신것을 환영합니다.</h3>
<!-- login_box :s -->
<div class="login_box">
<!-- loginWrap :s -->
<div class="loginWrap">
<div class="input_wrap">
<!-- login :s -->
<form:form id="loginForm" name="loginForm" method="post"> <div class="logback">
<label for="member_id" class="hidden">아이디 입력</label>
<input type="text" name="userId" id="userId" class="txt_id" placeholder="아이디">
<label for="member_pw" class="hidden">비밀번호 입력</label>
<input type="password" name="password" id="password" class="txt_pw" placeholder="비밀번호">
<p>
<span class="save_id">
<input type="checkbox" name="remember_id" id="remember_id" value="" checked>
<label for="remember_id">아이디 저장</label>
</span>
</p>
<button type="button" class="btn_login" onclick="javascript:actionLogin()" >로그인</button>
</form:form>
</div>
</div>
<!--//loginWrap :e -->
</div> </div>
<!--//login_box :e -->
<!-- login :s -->
<div class="logback">
<h1><img src="${ctx}/images/main/logo.png" alt="uWorks Portal logo"></h1>
<h3>urITSM 에 오신것을 환영합니다.</h3>
<!-- login_box :s -->
<div class="login_box">
<!-- loginWrap :s -->
<div class="loginWrap">
<div class="input_wrap">
<form:form id="loginForm" name="loginForm" method="post">
<label for="member_id" class="hidden">아이디 입력</label>
<input type="text" name="userId" id="userId" class="txt_id" placeholder="아이디">
<label for="member_pw" class="hidden">비밀번호 입력</label>
<input type="password" name="password" id="password" class="txt_pw" placeholder="비밀번호">
<p>
<span class="save_id">
<input type="checkbox" name="remember_id" id="remember_id" value="" checked>
<label for="remember_id">아이디 저장</label>
</span>
</p>
<button type="button" class="btn_login" onclick="javascript:actionLogin()" >로그인</button>
</form:form>
</div>
</div>
<!--//loginWrap :e -->
</div>
<!--//login_box :e -->
</div>
<!--//login :e -->
</div> </div>
<!--//login :e -->
</body> </body>
</html> </html>

View File

@ -0,0 +1,305 @@
<%--
Class Name : LoginUsr.jsp
Description : 로그인화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2025.01.03 나혁제 최초생성
author : 인프라본부 나혁제
since : 2025.01.02
--%>
<%@ 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="form" uri="http://www.springframework.org/tags/form" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<style>
/* 좌/우 컨텐츠 wrapper */
.login-container {
display: flex;
width: 100%;
height: 100%;
align-items: center; /* 세로 가운데 */
justify-content: center; /* 가로 가운데 */
padding: 0 40px;
}
.login-left {
width: 75%;
display: flex;
justify-content: center;
align-items: center;
}
.login-right {
width: 25%;
display: flex;
flex-direction: column;
align-items: center; /* 박스 중앙 정렬 */
justify-content: center;
text-align: center;
}
.loginWrap {width:70%; margin:0 auto;text-align:center;padding:55px 0;}
.loginWrap .input_wrap {width:100%;text-align:center;clear:both;}
.loginWrap .input_wrap input[type=text], .loginWrap .input_wrap input[type=password] {text-indent:10px;-webkit-border-radius: 5px;-moz-border-radius: 5px;-khtml-border-radius: 5px;border-radius:5px;}
.loginWrap .input_wrap input::placeholder {color:#b6b6b6 !important;}
.loginWrap .input_wrap .txt_id {width:100%; height:50px; font-size:16px; border:1px solid #ddd; margin-bottom:10px;}
.loginWrap .input_wrap .txt_pw {width:100%; height:50px; font-size:16px; border:1px solid #ddd;}
.loginWrap .input_wrap .save_id {float:left; color:#333; padding:25px 0;}
.loginWrap .input_wrap .save_id input[type=checkbox] + label {cursor: pointer; position: relative; font-size: 14px; padding-left: 30px;}
.loginWrap .input_wrap .save_id input[type=checkbox]+ label:before { content: ""; display: inline-block; width: 19px; height: 19px; margin-right: 20px; position: absolute; left: 0; top: 0px; background-color: #fff; border:solid 1px #ccc; border-radius: 19px;}
.loginWrap .input_wrap .save_id input[type=checkbox]:checked + label:before {content: ""; font-size: 15px; font-weight:800; color: #fff; border:solid 1px #2e389d;line-height:19px;background:#2e389d url('../images/common/ico_check_w.png') no-repeat 50% 50%;}
.input_wrap .btn_login {display:inline-block;width:100%;height:65px;line-height:65px; margin-bottom:10px; background:#2e389d; color:#fff; text-align:center; font-weight:400; font-size:18px; border-radius: 6px;}
.input_wrap .btn_login:hover {background:#2f3dc6;}
</style>
<html>
<head>
<title>urITSM</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta name="keywords" content="uWorks Portal">
<meta name="description" content="uWorks Portal에 오신것을 환영합니다.">
<link rel="stylesheet" type="text/css" href="${ctx}/css/import.css">
<script type="text/javascript" src="${ctx}/js/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="${ctx}/js/common_script.js"></script>
<link rel="stylesheet" href="${ctx}/js/js-calendar/calendar-jquery-ui.css">
<script type="text/javascript" src="${ctx}/js/js-calendar/jquery.js"></script>
<script type="text/javascript" src="${ctx}/js/js-calendar/jquery-ui.js"></script>
<script type="text/javascript" src="${ctx}/js/js-calendar/calendar.js"></script>
</head>
<script type="text/javascript">
//----------------------------------------
// 화면 초기화
// ----------------------------------------
$(document).ready(function()
{
var strCookieLoginId = getCookie("saveId");
if(strCookieLoginId != '')
{
$("#remember_id").prop("checked", true);
}
else
{
$("#remember_id").prop("checked", false);
}
$("#userId").val(strCookieLoginId);
$("#userId, #password").keydown(function(e) {
if (e.key === "Enter")
{
actionLogin();
}
});
});
function actionLogin()
{
if (document.loginForm.userId.value =="")
{
alert("아이디를 입력하세요");
return false;
}
else if (document.loginForm.password.value =="")
{
alert("비밀번호를 입력하세요");
return false;
}
else
{
// 체크 시 쿠키에 ID 저장
if($("#remember_id").prop("checked"))
{
setCookie("saveId", $("#userId").val(), 7); // 7일간 ID 저장
}
// 체크 해제 시 쿠키에서 ID 삭제
else
{
deleteCookie("saveId");
}
// document.loginForm.action="<c:url value='/main/actionSecurityLogin.do'/>";
document.loginForm.action="/";
document.loginForm.submit();
}
}
// 쿠키 조회
// name : 쿠키값
function getCookie(name)
{
const cookie = document.cookie;
if (document.cookie != "")
{
var cookieArray = cookie.split("; ");
for ( var index in cookieArray)
{
var cookieName = cookieArray[index].split("=");
if (cookieName[0] == name)
{
return cookieName[1];
}
}
}
return "" ;
}
// 쿠키 설정
// name : 쿠키명
// value : 쿠키값
// expiredays : 쿠키 만료일
function setCookie(name,value,expiredays)
{
const date = new Date();
date.setDate(date.getDate() + expiredays);
document.cookie = escape(name) + "=" + escape(value) + "; path=/; expires=" + date.toUTCString();
}
// 쿠키 삭제
// name : 쿠키명
function deleteCookie(name)
{
const expireDate = new Date();
expireDate.setDate(expireDate.getDate() - 1);
document.cookie = name + "= " + "; expires=" + expireDate.toGMTString();
}
/*
$("#userId").keypress(function(e)
{
alert(e.keyCode);
if(e.keyCode==13) 
{
alert("엔터키 이벤트");         
}     
});
*/
/*
$('#userId').keypress(function(event){
alert(event.keyCode);
if ( event.keyCode == 27 || event.which == 27 ) {
}
});
*/
<c:if test="${!empty strErrorMsg}">alert("${strErrorMsg}");</c:if>
</script>
<body>
<div style="display: flex;align-items: flex-start;">
<div class="logback" style="z-index: -1;" ></div> <!-- 전체 배경 -->
<div class="login-container">
<!-- Left: 대형 이미지 -->
<div class="login-left">
<img src="${ctx}/images/main/kic_main_img.png?ver=6" alt="uWorks Portal logo" style="width:100%;height: 100%;">
</div>
<!-- Right: 로그인 박스 -->
<div class="login-right">
<h1><img src="${ctx}/images/main/logo.png" alt="uWorks Portal logo"></h1>
<h3>urITSM 에 오신것을 환영합니다.</h3>
<div class="login_box">
<!-- loginWrap :s -->
<div class="loginWrap">
<div class="input_wrap">
<form:form id="loginForm" name="loginForm" method="post">
<label for="member_id" class="hidden">아이디 입력</label>
<input type="text" name="userId" id="userId" class="txt_id" placeholder="아이디">
<label for="member_pw" class="hidden">비밀번호 입력</label>
<input type="password" name="password" id="password" class="txt_pw" placeholder="비밀번호">
<p>
<span class="save_id">
<input type="checkbox" name="remember_id" id="remember_id" value="" checked>
<label for="remember_id">아이디 저장</label>
</span>
</p>
<button type="button" class="btn_login" onclick="javascript:actionLogin()" >로그인</button>
</form:form>
</div>
</div>
</div>
</div>
</div>
<%--
<!-- login :s -->
<div class="login-left"" >
<img src="${ctx}/images/main/logo.png" alt="uWorks Portal logo" style="width:400px;">
</div>
<!-- login :s -->
<div class="login-container" style="width:40%;text-align:center;padding-left: 5px;align-self: center;">
<h1><img src="${ctx}/images/main/logo.png" alt="uWorks Portal logo"></h1>
<h3>urITSM 에 오신것을 환영합니다.</h3>
<!-- login_box :s -->
<div class="login_box">
<!-- loginWrap :s -->
<div class="loginWrap">
<div class="input_wrap">
<form:form id="loginForm" name="loginForm" method="post">
<label for="member_id" class="hidden">아이디 입력</label>
<input type="text" name="userId" id="userId" class="txt_id" placeholder="아이디">
<label for="member_pw" class="hidden">비밀번호 입력</label>
<input type="password" name="password" id="password" class="txt_pw" placeholder="비밀번호">
<p>
<span class="save_id">
<input type="checkbox" name="remember_id" id="remember_id" value="" checked>
<label for="remember_id">아이디 저장</label>
</span>
</p>
<button type="button" class="btn_login" onclick="javascript:actionLogin()" >로그인</button>
</form:form>
</div>
</div>
<!--//loginWrap :e -->
</div>
<!--//login_box :e -->
</div>
<!--//login :e -->
--%>
</div>
</body>
</html>