보고서유형 동적 생성및 기타 개선사항 반영
This commit is contained in:
parent
4adefbbd13
commit
886227d8bd
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@ package com.urpsys.itmsfront.srm.domain;
|
||||
import com.urpsys.basefront.domain.ComDefaultVO;
|
||||
|
||||
/**
|
||||
* 점검보고서 조회조건 model 클래스를 정의한다.
|
||||
* 이슈 보고서 조회조건 model 클래스를 정의한다.
|
||||
* @author urp 인프라본부 나혁제
|
||||
* @since 2025.02.26
|
||||
* @version 1.0
|
||||
|
||||
@ -2,7 +2,7 @@ package com.urpsys.itmsfront.srm.domain;
|
||||
|
||||
|
||||
/**
|
||||
* 이슈보고서 등록 model 클래스를 정의한다.
|
||||
* 이슈 보고서 등록 model 클래스를 정의한다.
|
||||
* @author urp 인프라본부 나혁제
|
||||
* @since 2025.02.26
|
||||
* @version 1.0
|
||||
|
||||
@ -0,0 +1,81 @@
|
||||
package com.urpsys.itmsfront.srm.domain;
|
||||
|
||||
import com.urpsys.basefront.domain.ComDefaultVO;
|
||||
|
||||
/**
|
||||
* 기타 보고서 조회조건 model 클래스를 정의한다.
|
||||
* @author urp 인프라본부 나혁제
|
||||
* @since 2025.10.15
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2025.10.15 나혁제 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
public class ReportOtherListVo extends ComDefaultVO
|
||||
{
|
||||
private String status ;
|
||||
private String reportId ;
|
||||
private String incidentNum ;
|
||||
private String regUser ;
|
||||
private String reportTitle ;
|
||||
private String inReportSeq ;
|
||||
private String inTask ;
|
||||
|
||||
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
public String getReportId() {
|
||||
return reportId;
|
||||
}
|
||||
public void setReportId(String reportId) {
|
||||
this.reportId = reportId;
|
||||
}
|
||||
public String getIncidentNum() {
|
||||
return incidentNum;
|
||||
}
|
||||
public void setIncidentNum(String incidentNum) {
|
||||
this.incidentNum = incidentNum;
|
||||
}
|
||||
public String getRegUser() {
|
||||
return regUser;
|
||||
}
|
||||
public void setRegUser(String regUser) {
|
||||
this.regUser = regUser;
|
||||
}
|
||||
public String getReportTitle() {
|
||||
return reportTitle;
|
||||
}
|
||||
public void setReportTitle(String reportTitle) {
|
||||
this.reportTitle = reportTitle;
|
||||
}
|
||||
public String getInReportSeq() {
|
||||
return inReportSeq;
|
||||
}
|
||||
public void setInReportSeq(String inReportSeq) {
|
||||
this.inReportSeq = inReportSeq;
|
||||
}
|
||||
public String getInTask() {
|
||||
return inTask;
|
||||
}
|
||||
public void setInTask(String inTask) {
|
||||
this.inTask = inTask;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
248
src/main/java/com/urpsys/itmsfront/srm/domain/ReportOtherVo.java
Normal file
248
src/main/java/com/urpsys/itmsfront/srm/domain/ReportOtherVo.java
Normal file
@ -0,0 +1,248 @@
|
||||
package com.urpsys.itmsfront.srm.domain;
|
||||
|
||||
/**
|
||||
* 기타 보고서 등록 model 클래스를 정의한다.
|
||||
* @author urp 인프라본부 나혁제
|
||||
* @since 2025.10.15
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2025.10.15 나혁제 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
public class ReportOtherVo
|
||||
{
|
||||
private String inReportSeq ;
|
||||
private String inReportStatus ;
|
||||
private String vcReportId ;
|
||||
private String inIncidentSeq ;
|
||||
private String vcIncidentNum ;
|
||||
private String inServiceCode ;
|
||||
private String vcServiceName ;
|
||||
private String dtStartDatetime ;
|
||||
private String dtFinishDatetime ;
|
||||
private String inTaskUser ;
|
||||
private String vcTaskUser ;
|
||||
private String inRegUser ;
|
||||
private String vcRegUser ;
|
||||
private String dtLastUpdate ;
|
||||
private String inTask ;
|
||||
private String inDowntime ;
|
||||
private String dtDownstartDatetime ;
|
||||
private String dtDownfinishDatetime ;
|
||||
private String vcReportTitle ;
|
||||
private String vcReportStatus ;
|
||||
private String txReportBody ;
|
||||
private String vcTask ;
|
||||
private String inReqApprovalUser ;
|
||||
private String vcReqApprovalUser ;
|
||||
private String dtReqApprovalDatetime ;
|
||||
private String txReqApprovalComment ;
|
||||
private String vcTaskCompany ;
|
||||
private String inAssetCount ;
|
||||
private String inPercallPrice ;
|
||||
private String atchFileId ;
|
||||
private String atchFileInUpGb ;
|
||||
|
||||
public String getInReportSeq() {
|
||||
return inReportSeq;
|
||||
}
|
||||
public void setInReportSeq(String inReportSeq) {
|
||||
this.inReportSeq = inReportSeq;
|
||||
}
|
||||
public String getInReportStatus() {
|
||||
return inReportStatus;
|
||||
}
|
||||
public void setInReportStatus(String inReportStatus) {
|
||||
this.inReportStatus = inReportStatus;
|
||||
}
|
||||
public String getVcReportId() {
|
||||
return vcReportId;
|
||||
}
|
||||
public void setVcReportId(String vcReportId) {
|
||||
this.vcReportId = vcReportId;
|
||||
}
|
||||
public String getInIncidentSeq() {
|
||||
return inIncidentSeq;
|
||||
}
|
||||
public void setInIncidentSeq(String inIncidentSeq) {
|
||||
this.inIncidentSeq = inIncidentSeq;
|
||||
}
|
||||
public String getVcIncidentNum() {
|
||||
return vcIncidentNum;
|
||||
}
|
||||
public void setVcIncidentNum(String vcIncidentNum) {
|
||||
this.vcIncidentNum = vcIncidentNum;
|
||||
}
|
||||
public String getInServiceCode() {
|
||||
return inServiceCode;
|
||||
}
|
||||
public void setInServiceCode(String inServiceCode) {
|
||||
this.inServiceCode = inServiceCode;
|
||||
}
|
||||
public String getVcServiceName() {
|
||||
return vcServiceName;
|
||||
}
|
||||
public void setVcServiceName(String vcServiceName) {
|
||||
this.vcServiceName = vcServiceName;
|
||||
}
|
||||
public String getDtStartDatetime() {
|
||||
return dtStartDatetime;
|
||||
}
|
||||
public void setDtStartDatetime(String dtStartDatetime) {
|
||||
this.dtStartDatetime = dtStartDatetime;
|
||||
}
|
||||
public String getDtFinishDatetime() {
|
||||
return dtFinishDatetime;
|
||||
}
|
||||
public void setDtFinishDatetime(String dtFinishDatetime) {
|
||||
this.dtFinishDatetime = dtFinishDatetime;
|
||||
}
|
||||
public String getInTaskUser() {
|
||||
return inTaskUser;
|
||||
}
|
||||
public void setInTaskUser(String inTaskUser) {
|
||||
this.inTaskUser = inTaskUser;
|
||||
}
|
||||
public String getVcTaskUser() {
|
||||
return vcTaskUser;
|
||||
}
|
||||
public void setVcTaskUser(String vcTaskUser) {
|
||||
this.vcTaskUser = vcTaskUser;
|
||||
}
|
||||
public String getInRegUser() {
|
||||
return inRegUser;
|
||||
}
|
||||
public void setInRegUser(String inRegUser) {
|
||||
this.inRegUser = inRegUser;
|
||||
}
|
||||
public String getVcRegUser() {
|
||||
return vcRegUser;
|
||||
}
|
||||
public void setVcRegUser(String vcRegUser) {
|
||||
this.vcRegUser = vcRegUser;
|
||||
}
|
||||
public String getDtLastUpdate() {
|
||||
return dtLastUpdate;
|
||||
}
|
||||
public void setDtLastUpdate(String dtLastUpdate) {
|
||||
this.dtLastUpdate = dtLastUpdate;
|
||||
}
|
||||
public String getInTask() {
|
||||
return inTask;
|
||||
}
|
||||
public void setInTask(String inTask) {
|
||||
this.inTask = inTask;
|
||||
}
|
||||
public String getInDowntime() {
|
||||
return inDowntime;
|
||||
}
|
||||
public void setInDowntime(String inDowntime) {
|
||||
this.inDowntime = inDowntime;
|
||||
}
|
||||
public String getDtDownstartDatetime() {
|
||||
return dtDownstartDatetime;
|
||||
}
|
||||
public void setDtDownstartDatetime(String dtDownstartDatetime) {
|
||||
this.dtDownstartDatetime = dtDownstartDatetime;
|
||||
}
|
||||
public String getDtDownfinishDatetime() {
|
||||
return dtDownfinishDatetime;
|
||||
}
|
||||
public void setDtDownfinishDatetime(String dtDownfinishDatetime) {
|
||||
this.dtDownfinishDatetime = dtDownfinishDatetime;
|
||||
}
|
||||
public String getVcReportTitle() {
|
||||
return vcReportTitle;
|
||||
}
|
||||
public void setVcReportTitle(String vcReportTitle) {
|
||||
this.vcReportTitle = vcReportTitle;
|
||||
}
|
||||
public String getVcReportStatus() {
|
||||
return vcReportStatus;
|
||||
}
|
||||
public void setVcReportStatus(String vcReportStatus) {
|
||||
this.vcReportStatus = vcReportStatus;
|
||||
}
|
||||
public String getTxReportBody() {
|
||||
return txReportBody;
|
||||
}
|
||||
public void setTxReportBody(String txReportBody) {
|
||||
this.txReportBody = txReportBody;
|
||||
}
|
||||
public String getVcTask() {
|
||||
return vcTask;
|
||||
}
|
||||
public void setVcTask(String vcTask) {
|
||||
this.vcTask = vcTask;
|
||||
}
|
||||
public String getInReqApprovalUser() {
|
||||
return inReqApprovalUser;
|
||||
}
|
||||
public void setInReqApprovalUser(String inReqApprovalUser) {
|
||||
this.inReqApprovalUser = inReqApprovalUser;
|
||||
}
|
||||
public String getVcReqApprovalUser() {
|
||||
return vcReqApprovalUser;
|
||||
}
|
||||
public void setVcReqApprovalUser(String vcReqApprovalUser) {
|
||||
this.vcReqApprovalUser = vcReqApprovalUser;
|
||||
}
|
||||
public String getDtReqApprovalDatetime() {
|
||||
return dtReqApprovalDatetime;
|
||||
}
|
||||
public void setDtReqApprovalDatetime(String dtReqApprovalDatetime) {
|
||||
this.dtReqApprovalDatetime = dtReqApprovalDatetime;
|
||||
}
|
||||
public String getTxReqApprovalComment() {
|
||||
return txReqApprovalComment;
|
||||
}
|
||||
public void setTxReqApprovalComment(String txReqApprovalComment) {
|
||||
this.txReqApprovalComment = txReqApprovalComment;
|
||||
}
|
||||
public String getVcTaskCompany() {
|
||||
return vcTaskCompany;
|
||||
}
|
||||
public void setVcTaskCompany(String vcTaskCompany) {
|
||||
this.vcTaskCompany = vcTaskCompany;
|
||||
}
|
||||
public String getInAssetCount() {
|
||||
return inAssetCount;
|
||||
}
|
||||
public void setInAssetCount(String inAssetCount) {
|
||||
this.inAssetCount = inAssetCount;
|
||||
}
|
||||
public String getInPercallPrice() {
|
||||
return inPercallPrice;
|
||||
}
|
||||
public void setInPercallPrice(String inPercallPrice) {
|
||||
this.inPercallPrice = inPercallPrice;
|
||||
}
|
||||
public String getAtchFileId() {
|
||||
return atchFileId;
|
||||
}
|
||||
public void setAtchFileId(String atchFileId) {
|
||||
this.atchFileId = atchFileId;
|
||||
}
|
||||
public String getAtchFileInUpGb() {
|
||||
return atchFileInUpGb;
|
||||
}
|
||||
public void setAtchFileInUpGb(String atchFileInUpGb) {
|
||||
this.atchFileInUpGb = atchFileInUpGb;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -94,6 +94,15 @@
|
||||
</field>
|
||||
</form>
|
||||
|
||||
<!-- 이슈보고서 처리 -->
|
||||
<form name="reportOtherManage">
|
||||
<field property="XXXXXXX" depends="">
|
||||
</field>
|
||||
<field property="vcReportTitle" depends="required">
|
||||
<arg0 key="제목" />
|
||||
</field>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -204,6 +204,10 @@
|
||||
var option = $("<option value='"+data.resultCate2[i].inCate2+"'>"+data.resultCate2[i].vcCate2+"</option>");
|
||||
$('#inCate2').append(option);
|
||||
}
|
||||
|
||||
// 2025.09.25 나혁제 소분류 초기화
|
||||
selAssetCate2List();
|
||||
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
@ -213,7 +217,7 @@
|
||||
});
|
||||
}
|
||||
,
|
||||
// 자산중분류 조회 처리
|
||||
// 자산소분류 조회 처리
|
||||
fn_get_assetCate3 : function (inData)
|
||||
{
|
||||
$.ajax({
|
||||
|
||||
@ -237,6 +237,9 @@
|
||||
var option = $("<option value='"+data.resultCate2[i].inCate2+"'>"+data.resultCate2[i].vcCate2+"</option>");
|
||||
$('#inCate2').append(option);
|
||||
}
|
||||
|
||||
// 2025.09.25 나혁제 소분류 초기화
|
||||
selAssetCate2List();
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
@ -314,7 +317,7 @@
|
||||
<input class="s_input" name="assetCategory" type="text" value='' maxlength="155" >
|
||||
-->
|
||||
<label>자산명 </label>
|
||||
<input class="s_input" name="assetName" type="text" value='' maxlength="155" >
|
||||
<input class="s_input" name="assetName" type="text" value='${resourceManage.assetName}' maxlength="155" >
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -506,7 +506,6 @@
|
||||
// 도입가격
|
||||
if(inPrice != '' && isNaN(inPrice) != false)
|
||||
{
|
||||
alert(inPrice);
|
||||
strErrCd = 'E';
|
||||
strErrMsg = strErrMsg+'|'+'도입가격은 숫자만 입력해 주세요.';
|
||||
}
|
||||
|
||||
683
src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherDetail.jsp
Normal file
683
src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherDetail.jsp
Normal file
@ -0,0 +1,683 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<%
|
||||
/**
|
||||
* @Class Name : ReportOtherDetail.jsp
|
||||
* @Description : 기타보고서 상세조회 화면
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2025.10.16 나혁제 최초 생성
|
||||
*
|
||||
* @author urp 인프라본부 나혁제
|
||||
* @since 2025.10.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) 2009 by MOPAS All right reserved.
|
||||
*/
|
||||
%>
|
||||
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ 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" %>
|
||||
|
||||
|
||||
<title> 기타보고서 상세조회 </title>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
|
||||
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
|
||||
<script type="text/javascript" src="<c:url value='/egov/js/showModalDialog.js'/>" ></script>
|
||||
|
||||
<!-- tinyMCE Editor -->
|
||||
<script charset="utf-8" type="text/javascript" src="${pageContext.request.contextPath}/lib/oss/tinymce/tinymce.min.js"></script>
|
||||
|
||||
<!-- tinymce setting 2025.05.12 나혁제 tinymce_uritms_setting.js 이관 -->
|
||||
<script charset="utf-8" type="text/javascript" src="<c:url value='/js/tinymce_uritms_setting.js?ver=1'/>" ></script>
|
||||
|
||||
<!-- validation 처리 -->
|
||||
<validator:javascript formName="reportOtherManage" staticJavascript="false" xhtml="true" cdata="false"/>
|
||||
|
||||
<!-- 파일처리 -->
|
||||
<script type="text/javascript" src="<c:url value='/egov/js/EgovMultiFiles.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">
|
||||
|
||||
<script type="text/javaScript" language="javascript">
|
||||
|
||||
//----------------------------------------
|
||||
// 화면 초기화
|
||||
// ----------------------------------------
|
||||
$(document).ready(function()
|
||||
{
|
||||
// drawEditor("");
|
||||
drawEditor("serviceBody", "", true);
|
||||
});
|
||||
|
||||
//----------------------------------------
|
||||
// 화면 초기화(Form 완전 로딩후 )
|
||||
// ----------------------------------------
|
||||
$(window).on("load", function()
|
||||
{
|
||||
var strForm = document.getElementById("serviceBody2").value;
|
||||
// drawEditor(strForm);
|
||||
drawEditor("serviceBody", strForm, true);
|
||||
});
|
||||
|
||||
//----------------------------------------
|
||||
// 목록 화면으로 이동처리
|
||||
// ----------------------------------------
|
||||
function fncReportOtherList()
|
||||
{
|
||||
var varFrom = document.getElementById("reportOtherManage");
|
||||
varFrom.action = "<c:url value='/srm/searchReportOther.do'/>";
|
||||
varFrom.submit();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 보고서 수정 화면 이동처리
|
||||
// ----------------------------------------
|
||||
function fncReportOtherUpdate()
|
||||
{
|
||||
|
||||
if($('#inReportStatus').val()=='1')
|
||||
{
|
||||
if(confirm("보고서가 승인 진행중입니다.\n수정하면 모든 승인 정보는 초기화 됩니다.\n수정하시겠습니까?") == false) return;
|
||||
}
|
||||
else if($('#inReportStatus').val() == '2')
|
||||
{
|
||||
if(confirm("반려된 보고서입니다.\n 재작성 하시겠습니까?") == false) return;
|
||||
}
|
||||
else if($('#inReportStatus').val() == '3')
|
||||
{
|
||||
if(confirm("승인완료된 보고서입니다. \n수정하면 모든 승인 정보는 초기화 됩니다.\n수정하시겠습니까?") == false) return;
|
||||
|
||||
}
|
||||
else if($('#inReportStatus').val()=='0')
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("정의되어지지 않은 승인상태입니다. \n 승인상태를 확인하시기 바랍니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
// 수정화면으로 이동처리
|
||||
var varFrom = document.getElementById("reportOtherManage");
|
||||
varFrom.action = "<c:url value='/srm/updateViewReportOther.do'/>";
|
||||
varFrom.submit();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 보고서 삭제처리
|
||||
// ----------------------------------------
|
||||
function fncReportOtherDelete()
|
||||
{
|
||||
var bYes = confirm("${resultReport.vcTask} 삭제 처리를 하시겠습니까?");
|
||||
if(bYes==false) return;
|
||||
|
||||
proc.fn_ReportOther_Delete();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 보고서 승인반려 처리
|
||||
// ----------------------------------------
|
||||
function fncReportOtherAppRej()
|
||||
{
|
||||
var bYes = confirm("${resultReport.vcTask} 승인/반려 처리를 하시겠습니까?");
|
||||
if(bYes==false) return;
|
||||
|
||||
// 승인반려 메세지 팝업 open, CallBack : fncAppRejLast
|
||||
PopupOpen("/srm/PopApprovalReject", 340, 450, '');
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 보고서 승인/반려 처리(최종 저장 처리 )
|
||||
// ----------------------------------------
|
||||
function fncAppRejLast(strGubun , strMsg)
|
||||
{
|
||||
$('#reqAppRejTxComment' ).val(strMsg) ;
|
||||
|
||||
// 승인처리
|
||||
if(strGubun=='1')
|
||||
{
|
||||
proc.fn_ReportOther_Approval();
|
||||
}
|
||||
// 반려처리
|
||||
else if(strGubun=='2')
|
||||
{
|
||||
proc.fn_ReportOther_Reject();
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("알수없는 처리 유형입니다.");
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 보고서 승인요청 처리
|
||||
// ----------------------------------------
|
||||
function fncReportOtherReqApp()
|
||||
{
|
||||
var bYes = confirm("${resultReport.vcTask} 승인요청 처리를 하시겠습니까?");
|
||||
if(bYes==false) return;
|
||||
|
||||
// 승인요청 메세지 팝업 open
|
||||
PopupOpen("/srm/PopReqApproval", 340, 450, '');
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 기타보고서 승인처리 처리(최종 저장 처리 )
|
||||
// ----------------------------------------
|
||||
function fncAppLast(strMsg)
|
||||
{
|
||||
$('#reqAppRejTxComment').val(strMsg) ;
|
||||
$('#reqApprovalYn' ).val("Y" ) ;
|
||||
|
||||
proc.fn_ReportOtherReqApp_save();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 인쇄 (자산상세여부 확인)
|
||||
// ----------------------------------------
|
||||
function fncReportOtherPrint(inReportSeq)
|
||||
{
|
||||
// 자산상세인쇄 여부 메세지 팝업 open, CallBack : fncAssetDtlChoiceCompleted
|
||||
PopupOpen("/srm/PopAssetDtlYn", 340, 450, '');
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 2025.08.19 나혁제
|
||||
// 자상상세여부 팝업 콜백함수
|
||||
// ----------------------------------------
|
||||
function fncAssetDtlChoiceCompleted(strAssetDtlYn)
|
||||
{
|
||||
fncReportOtherPrintReal(strAssetDtlYn, $('#inReportSeq').val());
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 인쇄 팝업 오픈
|
||||
// ----------------------------------------
|
||||
function fncReportOtherPrintReal(strAssetDtlYn, inReportSeq)
|
||||
{
|
||||
var strUrl = "/srm/getReportWithBodyOtherPrint.do"+"?inReportSeq="+inReportSeq
|
||||
+"&assetDtlYn=" +strAssetDtlYn
|
||||
;
|
||||
|
||||
var arrParam = new Array(6);
|
||||
arrParam[0] = window;
|
||||
|
||||
window.showModalDialog("<c:url value='"+strUrl+"' />"
|
||||
, arrParam
|
||||
,"dialogWidth:1000px;dialogHeight:1050px;resizable:yes;center:yes");
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 팝업 오픈
|
||||
// ----------------------------------------
|
||||
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");
|
||||
}
|
||||
|
||||
// 서블릿 통신
|
||||
var proc =
|
||||
{
|
||||
// 기타보고서 삭제처리
|
||||
fn_ReportOther_Delete : function ()
|
||||
{
|
||||
var form = $('#reportOtherManage')[0];
|
||||
var formData = new FormData(form);
|
||||
|
||||
$.ajax({
|
||||
url: '/srm/deleteReportOther.do'
|
||||
, type: 'post'
|
||||
, enctype:'multipart/form-data'
|
||||
, data: formData
|
||||
, dataType: 'json'
|
||||
, processData:false
|
||||
, contentType:false
|
||||
, cache:false
|
||||
, success: function(data)
|
||||
{
|
||||
alert("삭제 완료 되었습니다.");
|
||||
fncReportOtherList();
|
||||
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
alert("${resultReport.vcTask} 삭제처리중 오류가 발생하였습니다. \n 시스템 관리자에게 문의해 주시기 바랍니다.");
|
||||
console.log(JSON.stringify(errorThrown));
|
||||
}
|
||||
});
|
||||
}
|
||||
,
|
||||
// 기타보고서 승인 요청 처리
|
||||
fn_ReportOtherReqApp_save : function ()
|
||||
{
|
||||
var form = $('#reportOtherManage')[0];
|
||||
var formData = new FormData(form);
|
||||
|
||||
$.ajax({
|
||||
url: '/srm/procApprovalReportOther.do'
|
||||
, type: 'post'
|
||||
, enctype:'multipart/form-data'
|
||||
, data: formData
|
||||
, dataType: 'json'
|
||||
, processData:false
|
||||
, contentType:false
|
||||
, cache:false
|
||||
, success: function(data)
|
||||
{
|
||||
alert("승인요청 완료 되었습니다.");
|
||||
fncReportOtherList();
|
||||
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
alert("${resultReport.vcTask} 승인요청 처리중 오류가 발생하였습니다. \n 시스템 관리자에게 문의해 주시기 바랍니다.");
|
||||
console.log(JSON.stringify(errorThrown));
|
||||
}
|
||||
});
|
||||
}
|
||||
,
|
||||
// 기타보고서 승인처리
|
||||
fn_ReportOther_Approval : function ()
|
||||
{
|
||||
var form = $('#reportOtherManage')[0];
|
||||
var formData = new FormData(form);
|
||||
|
||||
$.ajax({
|
||||
url: '/srm/approvalReportOther.do'
|
||||
, type: 'post'
|
||||
, enctype:'multipart/form-data'
|
||||
, data: formData
|
||||
, dataType: 'json'
|
||||
, processData:false
|
||||
, contentType:false
|
||||
, cache:false
|
||||
, success: function(data)
|
||||
{
|
||||
alert("승인 완료 되었습니다.");
|
||||
fncReportOtherList();
|
||||
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
alert("${resultReport.vcTask} 승인 처리중 오류가 발생하였습니다. \n 시스템 관리자에게 문의해 주시기 바랍니다.");
|
||||
console.log(JSON.stringify(errorThrown));
|
||||
}
|
||||
});
|
||||
}
|
||||
,
|
||||
// 기타보고서 반려처리
|
||||
fn_ReportOther_Reject : function ()
|
||||
{
|
||||
var form = $('#reportOtherManage')[0];
|
||||
var formData = new FormData(form);
|
||||
|
||||
$.ajax({
|
||||
url: '/srm/rejectReportOther.do'
|
||||
, type: 'post'
|
||||
, enctype:'multipart/form-data'
|
||||
, data: formData
|
||||
, dataType: 'json'
|
||||
, processData:false
|
||||
, contentType:false
|
||||
, cache:false
|
||||
, success: function(data)
|
||||
{
|
||||
alert("반려 완료 되었습니다.");
|
||||
fncReportOtherList();
|
||||
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
alert("${resultReport.vcTask} 반려 처리중 오류가 발생하였습니다. \n 시스템 관리자에게 문의해 주시기 바랍니다.");
|
||||
console.log(JSON.stringify(errorThrown));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* 2025.05.12 나혁제 tinymce_uritms_setting.js 이관처리
|
||||
//----------------------------------------
|
||||
// html 초기화
|
||||
// ----------------------------------------
|
||||
function drawEditor(content)
|
||||
{
|
||||
tinymce.init({
|
||||
selector: '#serviceBody',
|
||||
height: 570,
|
||||
statusbar: false,
|
||||
menubar: false,
|
||||
toolbar: false,
|
||||
readonly: 1
|
||||
});
|
||||
|
||||
if(content===undefined)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
tinyMCE.activeEditor.setContent(content);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<!-- javascript warning tag -->
|
||||
<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript>
|
||||
|
||||
<form:form modelAttribute="reportOtherManage" name="reportOtherManage" method="post" enctype="multipart/form-data">
|
||||
|
||||
<!-- body_wrap :start -->
|
||||
<div class="body_wrap">
|
||||
|
||||
<!-- main title -->
|
||||
<div class="main_titWrap">
|
||||
|
||||
<h3>${resultReport.vcTask} 상세조회</h3>
|
||||
|
||||
<!-- location :s -->
|
||||
<div class="location">
|
||||
<div class="location-cont">
|
||||
<div>
|
||||
<ul class="route_navi">
|
||||
<li><a href="#" title="홈"><span class="home">홈</span></a></li>
|
||||
<li><a href="#" title="유지보수 관리" >유지보수 관리</a></li>
|
||||
<li>${resultReport.vcTask} 상세조회</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--//location :e -->
|
||||
</div>
|
||||
<!--//main title -->
|
||||
|
||||
|
||||
<!-- Form 테이블 :start -->
|
||||
<div class="bbs_view">
|
||||
|
||||
<!-- 등록폼 -->
|
||||
<table class="tbl_form" summary="<spring:message code="common.summary.list" arguments="등록" />">
|
||||
<caption>기타보고서 등록</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 32%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 20%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th> 보고서ID </th>
|
||||
<td>${resultReport.vcReportId}</td>
|
||||
<th> 서비스 </th>
|
||||
<td>
|
||||
${resultReport.vcServiceName}
|
||||
</td>
|
||||
<th> 작성자 </th>
|
||||
<td>
|
||||
${resultReport.vcRegUser}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th> 인스던트 접수번호 </th>
|
||||
<td>
|
||||
${incidentId}
|
||||
</td>
|
||||
<th> 작업분류 </th>
|
||||
<td>
|
||||
${resultReport.vcTask}
|
||||
</td>
|
||||
<th> 작업자 </th>
|
||||
<td>
|
||||
${resultReport.vcTaskUser}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<%-- 2025.09.01 나혁제 불필요한 항목 사젝 --%>
|
||||
<th style="display:none"> 서비스다운 </th>
|
||||
<td style="display:none" >
|
||||
${resultReport.dtDownstartDatetime}~${resultReport.dtDownfinishDatetime}
|
||||
</td>
|
||||
|
||||
<th></th><td></td>
|
||||
|
||||
<th> 시작일시 </th>
|
||||
<td>
|
||||
${resultReport.dtStartDatetime}
|
||||
</td>
|
||||
<th> 종료일시 </th>
|
||||
<td>
|
||||
${resultReport.dtFinishDatetime}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th> 제목 </th>
|
||||
<td colspan=3>
|
||||
${resultReport.vcReportTitle}
|
||||
</td>
|
||||
<th></th>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>서비스 결재 라인 </th>
|
||||
<td colspan=2 style="vertical-align: top;">
|
||||
<div class="tbl_list">
|
||||
<!-- 목록영역 -->
|
||||
<table class="table" summary="" id="table_appr" >
|
||||
<caption>결재라인 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: *;">
|
||||
</colgroup>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th>결재자</th>
|
||||
<th>상태</th>
|
||||
<th>Comment</th>
|
||||
<th>결재시간</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<!-- 승인요청라인 -->
|
||||
<c:if test="${resultReport.inReportStatus gt 0}">
|
||||
<tr>
|
||||
<td>${resultReport.vcReqApprovalUser }</td>
|
||||
<td>승인요청</td>
|
||||
<td>${resultReport.txReqApprovalComment }</td>
|
||||
<td>${resultReport.dtReqApprovalDatetime }</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
|
||||
<c:forEach var="approvals" items="${resultApprovals}" varStatus="status">
|
||||
<tr>
|
||||
<td ><c:out value="${approvals.vcUserName}"/></td>
|
||||
<td ><c:out value="${approvals.vcStatus}"/></td>
|
||||
<td ><c:out value="${approvals.txComment}"/></td>
|
||||
<td ><c:out value="${approvals.dtApprovalDatetime}"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
<th><spring:message code="cop.atchFile" /></th>
|
||||
<td colspan=2>
|
||||
<c:import url="/cmm/selectFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${resultReport.atchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th> 자산</th>
|
||||
<td colspan=5>
|
||||
|
||||
<div class="tbl_list">
|
||||
<!-- 목록영역 -->
|
||||
<table class="table" summary="" id="table_asset" >
|
||||
<caption>연결자산정보 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: *;">
|
||||
</colgroup>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th>소분류</th>
|
||||
<th>자산명</th>
|
||||
<th>비고</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<c:forEach var="assets" items="${resultAssets}" varStatus="status">
|
||||
<tr>
|
||||
<td ><c:out value="${assets.vcCate3}"/></td>
|
||||
<td ><c:out value="${assets.vcAssetName}"/></td>
|
||||
<td ><c:out value="${assets.txComment}"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<textarea id="serviceBody" name="serviceBody" ></textarea>
|
||||
<textarea id="serviceBody2" name="serviceBody2" style="display:none;">${resultReport.txReportBody}</textarea>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- main btn : start -->
|
||||
<div class="btn_group">
|
||||
<!-- 왼쪽영역-->
|
||||
<div style="text-align: left;position: absolute;">
|
||||
<!-- 목록 -->
|
||||
<button type="button" class="btn-function" id="btnList" style="background: blue;" onclick="fncReportOtherList(); return false;" title="<spring:message code="button.list"/>">
|
||||
<spring:message code="button.list"/>
|
||||
</button>
|
||||
</div>
|
||||
<!--//왼쪽영역-->
|
||||
|
||||
<!-- 오른쪽영역-->
|
||||
<div>
|
||||
<c:if test="${approvalReq eq 1 }">
|
||||
<button type="button" class="btn-etc" title="승인/반려" onclick="fncReportOtherAppRej(); return false;">
|
||||
승인/반려
|
||||
</button>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${(privType eq 'mine' || privType eq 'super') && resultReport.inReportStatus eq 0 && !empty resultApprovals}">
|
||||
<button type="button" class="btn-etc" title="승인요청" onclick="fncReportOtherReqApp(); return false;">
|
||||
승인요청
|
||||
</button>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${(privType eq 'mine' && report.inReportStatus ne 3) || privType eq 'super'}">
|
||||
<button type="button" class="btn-etc" title="수정" onclick="fncReportOtherUpdate(); return false;">
|
||||
수정
|
||||
</button>
|
||||
<button type="button" class="btn-etc" title="삭제" onclick="fncReportOtherDelete(); return false;">
|
||||
삭제
|
||||
</button>
|
||||
</c:if>
|
||||
|
||||
<button type="button" class="btn-etc" title="인쇄" onclick="fncReportOtherPrint('${resultReport.inReportSeq}'); return false;">
|
||||
인쇄
|
||||
</button>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- main btn : end -->
|
||||
|
||||
</div>
|
||||
<!-- body_wrap :end -->
|
||||
|
||||
<!-- 검색조건 유지 -->
|
||||
<input type="hidden" name="orgnztId" value="" >
|
||||
<input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>" >
|
||||
<input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>" >
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>" >
|
||||
<input type="hidden" name="multiUserSelectYn" value="" >
|
||||
<input type="hidden" name="inTask" id="inTask" value="${searchVO.inTask}"/>
|
||||
|
||||
<!-- 임시정보 -->
|
||||
<input type="hidden" id="inReportSeq" name="inReportSeq" value="${resultReport.inReportSeq}">
|
||||
<input type="hidden" id="inReportStatus" name="inReportStatus" value="${resultReport.inReportStatus}"/>
|
||||
|
||||
<!-- 승인요청,승인,반려 처리 인자 -->
|
||||
<input type="hidden" id="reqAppRejTxComment" name="reqAppRejTxComment" value=""/> <!-- 승인요청메세지 -->
|
||||
|
||||
|
||||
|
||||
</form:form>
|
||||
|
||||
910
src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherInsert.jsp
Normal file
910
src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherInsert.jsp
Normal file
@ -0,0 +1,910 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<%
|
||||
/**
|
||||
* @Class Name : ReportOtherInsert.jsp
|
||||
* @Description : 기타보고서 등록화면
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2025.10.15 나혁제 최초 생성
|
||||
*
|
||||
* @author urp 인프라본부 나혁제
|
||||
* @since 2025.10.15
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) 2009 by MOPAS All right reserved.
|
||||
*/
|
||||
%>
|
||||
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ 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" %>
|
||||
|
||||
|
||||
<title> ${resultTaskMap.label} 등록 </title>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
|
||||
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
|
||||
<script type="text/javascript" src="<c:url value='/egov/js/showModalDialog.js'/>" ></script>
|
||||
|
||||
<!-- tinyMCE Editor -->
|
||||
<script charset="utf-8" type="text/javascript" src="${ctx}/lib/oss/tinymce/tinymce.min.js"></script>
|
||||
|
||||
<!-- tinymce setting 2025.05.12 나혁제 tinymce_uritms_setting.js 이관 -->
|
||||
<script charset="utf-8" type="text/javascript" src="<c:url value='${ctx}/js/tinymce_uritms_setting.js?ver=1'/>" ></script>
|
||||
|
||||
<!-- validation 처리 -->
|
||||
<validator:javascript formName="reportOtherManage" staticJavascript="false" xhtml="true" cdata="false"/>
|
||||
|
||||
<!-- 파일처리 -->
|
||||
<script type="text/javascript" src="<c:url value='${ctx}/egov/js/EgovMultiFiles.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">
|
||||
|
||||
<script type="text/javaScript" language="javascript">
|
||||
|
||||
//----------------------------------------
|
||||
// 화면 초기화
|
||||
// ----------------------------------------
|
||||
$(document).ready(function()
|
||||
{
|
||||
// 결재라인 높이 조정
|
||||
$("#table_appr tbody td").css("height", "10px");
|
||||
|
||||
// 시작일시, 종료일시, 서비스다운시작일시, 서비스다운종료일시 시간까지 세팅
|
||||
$("#dtDownstartDatetime, #dtDownfinishDatetime, #dtStartDatetime, #dtFinishDatetime").datetimepicker({
|
||||
dateFormat:'yy-mm-dd',
|
||||
monthNamesShort:[ '1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월' ],
|
||||
dayNamesMin:[ '일', '월', '화', '수', '목', '금', '토' ],
|
||||
changeMonth:true,
|
||||
changeYear:true,
|
||||
showMonthAfterYear:true,
|
||||
|
||||
// timepicker 설정
|
||||
timeFormat:'HH:mm',
|
||||
controlType:'select',
|
||||
oneLine:true,
|
||||
});
|
||||
|
||||
// 멀티파일 설정
|
||||
var maxFileNum = 3;
|
||||
var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum );
|
||||
multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) );
|
||||
|
||||
// drawEditor("");
|
||||
drawEditor("serviceBody", "", false);
|
||||
|
||||
// 2025.08.20 나혁제 연결자산정보가 있는경우 자산정보 Setting
|
||||
if('${resultAsset.inAssetSeq}' != '')
|
||||
{
|
||||
fn_table_asset_tr_add('${resultAsset.inAssetSeq}', '${resultAsset.vcAssetName}', '${resultAsset.vcCate3}');
|
||||
}
|
||||
});
|
||||
|
||||
//----------------------------------------
|
||||
// 화면 초기화(Form 완전 로딩후 )
|
||||
// ----------------------------------------
|
||||
$(window).on("load", function()
|
||||
{
|
||||
var inIncidentSeq = $('#inIncidentSeq').val();
|
||||
if( inIncidentSeq != "")
|
||||
{
|
||||
if(parseInt(inIncidentSeq) > 0)
|
||||
{
|
||||
$('#inServiceCode').val('${resultIncident.inServiceCode}')
|
||||
}
|
||||
}
|
||||
|
||||
// 서비스정보 획득
|
||||
selInServiceCode();
|
||||
|
||||
// 보고서 양식 세팅
|
||||
selReportForm()
|
||||
});
|
||||
|
||||
//----------------------------------------
|
||||
// 목록 화면으로 이동처리
|
||||
// ----------------------------------------
|
||||
function fncReportOtherList()
|
||||
{
|
||||
var varFrom = document.getElementById("reportOtherManage");
|
||||
varFrom.action = "<c:url value='/srm/searchReportOther.do'/>";
|
||||
varFrom.submit();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 사용자 자산 팝업
|
||||
// ----------------------------------------
|
||||
function fn_Asset_Search()
|
||||
{
|
||||
var strUrl = "/rem/SelectResourcePopup.do";
|
||||
|
||||
var arrParam = new Array(6);
|
||||
arrParam[0] = window;
|
||||
|
||||
window.showModalDialog("<c:url value='"+strUrl+"' />"
|
||||
, arrParam
|
||||
,"dialogWidth:950px;dialogHeight:850px;resizable:yes;center:yes");
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 팝업창에서 결재자 선택 확인시
|
||||
// ----------------------------------------
|
||||
function fn_Asset_Multi_Selected(strReturnData)
|
||||
{
|
||||
var aReturnData = strReturnData.split(","); // split에 '-'를 넣었습니다.
|
||||
|
||||
console.log("전달데이터 =>" + aReturnData);
|
||||
|
||||
var inAssetSeq = $("input[name='inAssetSeq']").map(function () {
|
||||
return $(this).val();
|
||||
}).get();
|
||||
|
||||
console.log("현재 존재하는 inAssetSeq =>"+inAssetSeq);
|
||||
|
||||
for(var i=0; i<aReturnData.length-1; i++)
|
||||
{
|
||||
var aOptData = aReturnData[i].split("|");
|
||||
|
||||
// 기존에 존재하는경우 skip
|
||||
var iExistYn = inAssetSeq.indexOf(aOptData[0]);
|
||||
|
||||
if(iExistYn>-1) continue;
|
||||
|
||||
fn_table_asset_tr_add(aOptData[0], aOptData[1], aOptData[2]);
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 자산정보 Row 추가 처리
|
||||
// ----------------------------------------
|
||||
function fn_table_asset_tr_add(inAssetSeq, vcAssetName, vcCate3)
|
||||
{
|
||||
var strTrTag = " <tr> "
|
||||
+ " <td > "
|
||||
+ " <label><input type='checkbox' style='display: inline-block;' name='chkAsset' /> </label> "
|
||||
+ " </td> "
|
||||
+ " <td >"+vcCate3+"</td> "
|
||||
+ " <td >"+vcAssetName+"</td> "
|
||||
+ " <td > "
|
||||
+ " <input type='text' name='txCommentAsset' id='txCommentAsset' value='' style='width:80%;'/> "
|
||||
+ " </td> "
|
||||
+ " <input type='hidden' name='inAssetSeq' id='inAssetSeq' value='"+inAssetSeq+"' > "
|
||||
+ " </tr> "
|
||||
;
|
||||
|
||||
$("#table_asset tbody").append(strTrTag)
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 자산정보 선택한 자산 삭제
|
||||
// ----------------------------------------
|
||||
function fn_Asset_Delete()
|
||||
{
|
||||
|
||||
$("input:checkbox[name='chkAsset']:checked").each(function(k,kVal)
|
||||
{
|
||||
// 로우 삭제
|
||||
let chkRow = kVal.parentElement.parentElement.parentElement;
|
||||
$(chkRow).remove();
|
||||
});
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 서비스 정보 변경시
|
||||
// ----------------------------------------
|
||||
function selInServiceCode()
|
||||
{
|
||||
var inServiceCode = $('#inServiceCode option:selected').val() ;
|
||||
|
||||
var inData = {};
|
||||
inData = {"inServiceCode":inServiceCode};
|
||||
|
||||
proc.fn_get_service_info(inData);
|
||||
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 보고양식 변경시
|
||||
// ----------------------------------------
|
||||
function selReportForm()
|
||||
{
|
||||
var inSeq = $('#reportForm option:selected').val() ;
|
||||
|
||||
// 보고서 양식이 없는경우 리턴
|
||||
if(nvl(inSeq) == "") return;
|
||||
|
||||
var inData = {};
|
||||
inData = {"seq":inSeq};
|
||||
|
||||
proc.fn_get_report_form_info(inData);
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 서비스 등록처리
|
||||
// ----------------------------------------
|
||||
function fncReportOtherInsert()
|
||||
{
|
||||
var bYes = confirm("${resultTaskMap.label} 등록 처리를 하시겠습니까?");
|
||||
if(bYes==false) return;
|
||||
|
||||
fncReportSaveSetting();
|
||||
|
||||
//input item Client-Side validate
|
||||
if (!validateReportOtherManage(document.reportOtherManage))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
proc.fn_ReportOther_save();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 서비스 등록/승인요청
|
||||
// ----------------------------------------
|
||||
function fncReportOtherInsertApp()
|
||||
{
|
||||
var bYes = confirm("${resultTaskMap.label} 등록/승인요청 처리를 하시겠습니까?");
|
||||
if(bYes==false) return;
|
||||
|
||||
fncReportSaveSetting();
|
||||
|
||||
|
||||
//input item Client-Side validate
|
||||
if (!validateReportOtherManage(document.reportOtherManage))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("#approvalsId").val() == '')
|
||||
{
|
||||
alert("승인요청시에는 결재라인이 필요합니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
// 승인요청 메세지 팝업 open
|
||||
var pagetitle = $(this).attr("title");
|
||||
var page = "/common/PageRedirection.do"
|
||||
+"?Page=/srm/PopReqApproval"
|
||||
+"&PopupYn=Y"
|
||||
;
|
||||
|
||||
var $dialog = $('<div></div>')
|
||||
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
|
||||
.dialog({
|
||||
autoOpen: false
|
||||
, modal: true
|
||||
, height: 340
|
||||
, width: 450
|
||||
, 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");
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 보고서 변경/승인처리 처리(최종 저장 처리 )
|
||||
// ----------------------------------------
|
||||
function fncAppLast(strMsg)
|
||||
{
|
||||
$('#reqTxComment' ).val(strMsg) ;
|
||||
$('#reqApprovalYn' ).val("Y" ) ;
|
||||
|
||||
proc.fn_ReportOther_save();
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------
|
||||
// 저장전 기본 세팅
|
||||
// ----------------------------------------
|
||||
function fncReportSaveSetting()
|
||||
{
|
||||
var form = document.reportOtherManage;
|
||||
|
||||
// 보고서 자산 구조
|
||||
var strExistUser = $("input[name='approvalUserId']").map(function () { return $(this).val();}).get();
|
||||
var strExistUserText = $("input[name='approvalUserNm']").map(function () { return $(this).val();}).get();
|
||||
|
||||
strExistUser.join(',');
|
||||
strExistUserText.join(',');
|
||||
|
||||
form.approvalsId .value = strExistUser;
|
||||
form.approvalsName.value = strExistUserText;
|
||||
|
||||
// 보고서 자산 구조
|
||||
var strAssetSeq = $("input[name='inAssetSeq']").map(function () { return $(this).val();}).get();
|
||||
var strCommentAsset = $("input[name='txCommentAsset']").map(function () { return $(this).val();}).get();
|
||||
|
||||
strAssetSeq.join(',');
|
||||
strCommentAsset.join(',');
|
||||
|
||||
form.assetSeqs .value = strAssetSeq;
|
||||
form.assetCommnets.value = strCommentAsset;
|
||||
|
||||
form.txReportBody.value = tinyMCE.get("serviceBody").getContent(); // 평문
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------
|
||||
// 사용자 검색 팝업
|
||||
// ----------------------------------------
|
||||
function fn_User_Search( strTitle
|
||||
, frmUniqId
|
||||
, frmEmplNo
|
||||
, frmEmplyrNm
|
||||
, frmOrgnztNm
|
||||
, multiUserSelectYn
|
||||
)
|
||||
{
|
||||
var arrParam = new Array(6);
|
||||
arrParam[0] = window;
|
||||
arrParam[1] = strTitle;
|
||||
arrParam[2] = frmUniqId;
|
||||
arrParam[3] = frmEmplNo;
|
||||
arrParam[4] = frmEmplyrNm;
|
||||
arrParam[5] = frmOrgnztNm;
|
||||
|
||||
var strUrl = "/cmm/selectUserListPopup.do?multiUserSelectYn="+multiUserSelectYn;
|
||||
|
||||
window.showModalDialog("<c:url value='"+strUrl+"' />"
|
||||
, arrParam
|
||||
,"dialogWidth:900px;dialogHeight:750px;resizable:yes;center:yes");
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 팝업창에서 결재자 선택 확인시
|
||||
// ----------------------------------------
|
||||
function fn_User_Multi_Selected(strReturnData)
|
||||
{
|
||||
var aReturnData = strReturnData.split(","); // split에 '-'를 넣었습니다.
|
||||
|
||||
var strExistUser = $("input[name='approvalUserId']").map(function () {
|
||||
return $(this).val();
|
||||
}).get();
|
||||
|
||||
for(var i=0; i<aReturnData.length-1; i++)
|
||||
{
|
||||
var aOptData = aReturnData[i].split("|");
|
||||
|
||||
// 기존에 존재하는경우 skip
|
||||
var iExistYn = strExistUser.indexOf(aOptData[0]);
|
||||
|
||||
if(iExistYn>-1) continue;
|
||||
|
||||
fn_table_appr_tr_add(aOptData[0], aOptData[1]);
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 결재라인 Row 추가 처리
|
||||
// ----------------------------------------
|
||||
function fn_table_appr_tr_add(strId, strName)
|
||||
{
|
||||
var strTrTag = " <tr> "
|
||||
+" <td > "
|
||||
+" <label><input type='checkbox' style='display: inline-block;' id='chkAppUser' name='chkAppUser' /> </label> "
|
||||
+" </td> "
|
||||
+" <td >"+strName+"</td> "
|
||||
+" <td ></td> "
|
||||
+" <td ></td> "
|
||||
+" <input type='hidden' name='approvalUserId' id='approvalUserId' value='"+strId+"' > "
|
||||
+" <input type='hidden' name='approvalUserNm' id='approvalUserNm' value='"+strName+"' > "
|
||||
+" </tr> "
|
||||
;
|
||||
|
||||
$("#table_appr tbody").append(strTrTag)
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 결재라인 선택한 사용자 삭제
|
||||
// ----------------------------------------
|
||||
function fn_User_Delete()
|
||||
{
|
||||
|
||||
$("input:checkbox[name='chkAppUser']:checked").each(function(k,kVal)
|
||||
{
|
||||
// 로우 삭제
|
||||
let chkRow = kVal.parentElement.parentElement.parentElement;
|
||||
$(chkRow).remove();
|
||||
});
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// null 문자열체크
|
||||
// ----------------------------------------
|
||||
function nvl(str)
|
||||
{
|
||||
if(typeof str == "undefined" || str == null || str == "")
|
||||
str = "";
|
||||
|
||||
return str ;
|
||||
}
|
||||
|
||||
// 서블릿 통신
|
||||
var proc =
|
||||
{
|
||||
// 기타보고서 등록
|
||||
fn_ReportOther_save : function ()
|
||||
{
|
||||
var form = $('#reportOtherManage')[0];
|
||||
var formData = new FormData(form);
|
||||
|
||||
$.ajax({
|
||||
url: '/srm/addReportOther.do'
|
||||
, type: 'post'
|
||||
, enctype:'multipart/form-data'
|
||||
, data: formData
|
||||
, dataType: 'json'
|
||||
, processData:false
|
||||
, contentType:false
|
||||
, cache:false
|
||||
, success: function(data)
|
||||
{
|
||||
alert("등록 완료 되었습니다.");
|
||||
fncReportOtherList();
|
||||
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
alert("보고서 등록중 오류가 발생하였습니다. \n 시스템관리자에게 문의해 주시기 바랍니다.");
|
||||
console.log(JSON.stringify(errorThrown));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
,
|
||||
// 서비스 결재라인 정보 추출
|
||||
fn_get_service_info : function (inData)
|
||||
{
|
||||
$.ajax({
|
||||
url: '/srm/getSvcApprovalListOther.do'
|
||||
, type: 'post'
|
||||
, data: JSON.stringify(inData)
|
||||
, dataType: 'json'
|
||||
, contentType: 'application/json'
|
||||
, async: false
|
||||
, success: function(data)
|
||||
{
|
||||
console.log(JSON.stringify(data));
|
||||
|
||||
$('#table_appr tbody tr').remove();
|
||||
|
||||
// 결재라인 세팅
|
||||
for(var i=0; i<data.resultApprovals.length; i++)
|
||||
{
|
||||
fn_table_appr_tr_add(data.resultApprovals[i].inUserSeq, data.resultApprovals[i].vcUserName);
|
||||
}
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
alert("서비스 정보 조회중 오류가 발생하였습니다. \n 시스템관리자에게 문의해 주시기 바랍니다.");
|
||||
console.log(JSON.stringify(errorThrown));
|
||||
}
|
||||
});
|
||||
}
|
||||
,
|
||||
// 보고양식 추출
|
||||
fn_get_report_form_info : function (inData)
|
||||
{
|
||||
$.ajax({
|
||||
url: '/srm/getReportFormOther.do'
|
||||
, type: 'post'
|
||||
, data: JSON.stringify(inData)
|
||||
, dataType: 'json'
|
||||
, contentType: 'application/json'
|
||||
, async: false
|
||||
, success: function(data)
|
||||
{
|
||||
console.log(JSON.stringify(data));
|
||||
|
||||
// 본문세팅
|
||||
// drawEditor(data.strTxDefaultFormDec);
|
||||
drawEditor("serviceBody", data.strTxDefaultFormDec, false);
|
||||
|
||||
// 2025.05.21 나혁제 작업자정보 세팅
|
||||
$('#vcTaskUser').val(data.strVcTaskUser);
|
||||
$('#inTaskUser').val(data.strInTaskUser);
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
alert("보고서양식 조회중 오류가 발생하였습니다. \n 시스템관리자에게 문의해 주시기 바랍니다.");
|
||||
console.log(JSON.stringify(errorThrown));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/* 2025.05.12 나혁제 tinymce_uritms_setting.js 이관처리
|
||||
//----------------------------------------
|
||||
// html 초기화
|
||||
// ----------------------------------------
|
||||
function drawEditor(content)
|
||||
{
|
||||
tinymce.init({
|
||||
forced_root_block : false,
|
||||
force_br_newlines : true,
|
||||
force_p_newlines : false,
|
||||
|
||||
selector: '#serviceBody',
|
||||
height: 500,
|
||||
toolbar_mode: 'floating',
|
||||
//image upload
|
||||
image_title: true,
|
||||
automatic_uploads: true,
|
||||
file_picker_types: 'image',
|
||||
file_picker_callback: (cb, value, meta) => {
|
||||
const input = document.createElement('input');
|
||||
input.setAttribute('type', 'file');
|
||||
input.setAttribute('accept', 'image/*');
|
||||
|
||||
input.addEventListener('change', (e) => {
|
||||
const file = e.target.files[0];
|
||||
|
||||
const reader = new FileReader();
|
||||
reader.addEventListener('load', () => {
|
||||
const id = 'blobid' + (new Date()).getTime();
|
||||
const blobCache = tinymce.activeEditor.editorUpload.blobCache;
|
||||
const base64 = reader.result.split(',')[1];
|
||||
const blobInfo = blobCache.create(id, file, base64);
|
||||
blobCache.add(blobInfo);
|
||||
|
||||
cb(blobInfo.blobUri(), { title: file.name });
|
||||
});
|
||||
reader.readAsDataURL(file);
|
||||
});
|
||||
|
||||
input.click();
|
||||
},
|
||||
statusbar: false,
|
||||
|
||||
plugins: [
|
||||
'advlist autolink lists link image charmap print preview anchor',
|
||||
'searchreplace visualblocks code fullscreen',
|
||||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
toolbar: 'undo redo | fontsizeselect | formatselect | ' +
|
||||
'bold italic forecolor backcolor | alignleft aligncenter ' +
|
||||
'alignright alignjustify | bullist numlist outdent indent | ' +
|
||||
'table | removeformat ',
|
||||
|
||||
});
|
||||
if(content===undefined){
|
||||
}else{
|
||||
tinyMCE.activeEditor.setContent(content);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<!-- javascript warning tag -->
|
||||
<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript>
|
||||
|
||||
<form:form modelAttribute="reportOtherManage" name="reportOtherManage" method="post" enctype="multipart/form-data">
|
||||
|
||||
<!-- body_wrap :start -->
|
||||
<div class="body_wrap">
|
||||
|
||||
<!-- main title -->
|
||||
<div class="main_titWrap">
|
||||
|
||||
<h3>${resultTaskMap.label} 등록</h3>
|
||||
|
||||
<!-- location :s -->
|
||||
<div class="location">
|
||||
<div class="location-cont">
|
||||
<div>
|
||||
<ul class="route_navi">
|
||||
<li><a href="#" title="홈"><span class="home">홈</span></a></li>
|
||||
<li><a href="#" title="유지보수 관리" >유지보수 관리</a></li>
|
||||
<li>${resultTaskMap.label} 등록</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--//location :e -->
|
||||
</div>
|
||||
<!--//main title -->
|
||||
|
||||
|
||||
<!-- Form 테이블 :start -->
|
||||
<div class="bbs_view">
|
||||
|
||||
<!-- 등록폼 -->
|
||||
<table class="tbl_form" summary="<spring:message code="common.summary.list" arguments="등록" />">
|
||||
<caption>기타보고서 등록</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 32%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 20%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th> 보고서ID </th>
|
||||
<td></td>
|
||||
<th> 서비스 </th>
|
||||
<td>
|
||||
<select name="inServiceCode" id="inServiceCode" onchange="selInServiceCode()" style="width: 90%;" >
|
||||
<c:forEach items="${resultService}" var="result" varStatus="status">
|
||||
<option value="${result.value}" > ${result.label} </option><!-- 분류코드명 -->
|
||||
</c:forEach>
|
||||
</select>
|
||||
</td>
|
||||
<th> 작성자 </th>
|
||||
<td>
|
||||
<input type="text" name="vcRegUser" id="vcRegUser" value="${vcRegUser}" readonly />
|
||||
<input type="hidden" name="inRegUser" id="inRegUser" value="${inRegUser}" />
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th> 인스던트 접수번호 </th>
|
||||
<td>${resultIncident.vcIncidentNum} </td>
|
||||
<th> 작업분류 </th>
|
||||
<td>
|
||||
<input type="text" name="vcTask" id="vcTask" value="${resultTaskMap.label}" readonly style="width: 90%;" />
|
||||
<input type="hidden" name="inTask" id="inTask" value="${resultTaskMap.value}" >
|
||||
|
||||
</td>
|
||||
<th> 작업자 </th>
|
||||
<td>
|
||||
<input type="text" name="vcTaskUser" id="vcTaskUser" value="${vcRegUser}"/>
|
||||
|
||||
<a href="<c:url value='/cmm/selectUserListPopup.do' />" target="_blank" title="새 창으로 이동" onclick="fn_User_Search('조치예정', 'inTaskUser', '', 'vcTaskUser', '', '');return false;">
|
||||
<img src="<c:url value='/egov/images/egovframework/com/cmm/btn/btn_search.gif' />" alt="작업자 검색" title="작업자 검색">
|
||||
</a>
|
||||
|
||||
<input type="hidden" name="inTaskUser" id="inTaskUser" value="${inRegUser}" >
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<%-- 2025.09.01 나혁제 불필요한 항목 삭제 --%>
|
||||
<th style="display:none" > 서비스다운 </th>
|
||||
<td style="display:none">
|
||||
<input type="text" class="btn_calendar" name="dtDownstartDatetime" id="dtDownstartDatetime" value="${dtDownstartDatetime}" readonly style="width:47%;"/>
|
||||
~<input type="text" class="btn_calendar" name="dtDownfinishDatetime" id="dtDownfinishDatetime" value="${dtDownfinishDatetime}" readonly style="width:47%;"/>
|
||||
</td>
|
||||
|
||||
<th></th><td></td>
|
||||
|
||||
|
||||
<th> 시작일시 </th>
|
||||
<td>
|
||||
<input type="text" class="btn_calendar" name="dtStartDatetime" id="dtStartDatetime" value="${dtStartDatetime}" readonly style="width:90%;"/>
|
||||
|
||||
</td>
|
||||
<th> 종료일시 </th>
|
||||
<td>
|
||||
<input type="text" class="btn_calendar" name="dtFinishDatetime" id="dtFinishDatetime" value="${dtFinishDatetime}" readonly style="width:90%;"/>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th> 제목 </th>
|
||||
<td colspan=2>
|
||||
<input type="text" name="vcReportTitle" id="vcReportTitle" value="" style="width:90%;"/>
|
||||
</td>
|
||||
<th> 보고서양식 </th>
|
||||
<td colspan=2>
|
||||
<select name="reportForm" id="reportForm" onchange="selReportForm()" style="width: 90%;" >
|
||||
<c:forEach items="${resultForm}" var="result" varStatus="status">
|
||||
<option value="${result.inReportForm}" > ${result.vcFormName} </option><!-- 분류코드명 -->
|
||||
</c:forEach>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>서비스 결재 라인 </th>
|
||||
<td colspan=2 style="vertical-align: top;">
|
||||
|
||||
<div class="btn_group" >
|
||||
<button type="button" class="btn-function" onclick="fn_User_Search('조치예정', '', '', '', '', 'Y');return false;" style="margin-top: -30px;"> 조회 </button>
|
||||
<button type="button" class="btn-function" onclick="fn_User_Delete(); return false;" style="margin-top: -30px;"> 삭제 </button>
|
||||
</div>
|
||||
|
||||
<div class="tbl_list">
|
||||
<!-- 목록영역 -->
|
||||
<table class="table" summary="" id="table_appr" >
|
||||
<caption>결재라인 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: *;">
|
||||
</colgroup>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>결재자</th>
|
||||
<th>상태</th>
|
||||
<th>Comment</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<%--
|
||||
<tr>
|
||||
<td >
|
||||
<label><input type="checkbox" style="display: inline-block;" name="chkAppUser" /> </label>
|
||||
</td>
|
||||
<td >결재자1</td>
|
||||
<td >결재자2</td>
|
||||
<td >결재자3</td>
|
||||
<input type="hidden" name="approvalUserId" id="approvalUserId" value="1" >
|
||||
<input type="hidden" name="approvalUserNm" id="approvalUserNm" value="혁제" >
|
||||
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label>
|
||||
<input type="checkbox" style="display: inline-block;" name="chkAppUser" />
|
||||
</label>
|
||||
</td>
|
||||
<td>결재자1</td>
|
||||
<td>결재자2</td>
|
||||
<td>결재자3</td>
|
||||
<input type="hidden" name="approvalUserId" id="approvalUserId" value="2" >
|
||||
<input type="hidden" name="approvalUserNm" id="approvalUserNm" value="혁제" >
|
||||
</tr>
|
||||
--%>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
<th><spring:message code="cop.atchFile" /></th>
|
||||
<td colspan=2>
|
||||
<!-- attached file Start -->
|
||||
<div>
|
||||
<input type="file" name="file_1" id="egovComFileUploader" onChange="fnImgChange(this)" multiple>
|
||||
</div>
|
||||
<div id="egovComFileList"></div>
|
||||
</div>
|
||||
<!-- attached file End -->
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th> 자산</th>
|
||||
<td colspan=5>
|
||||
|
||||
<div class="btn_group" >
|
||||
<button type="button" class="btn-function" onclick="fn_Asset_Search();return false;" style="margin-top: -30px;"> 조회 </button>
|
||||
<button type="button" class="btn-function" onclick="fn_Asset_Delete(); return false;" style="margin-top: -30px;"> 삭제 </button>
|
||||
</div>
|
||||
|
||||
<div class="tbl_list">
|
||||
<!-- 목록영역 -->
|
||||
<table class="table" summary="" id="table_asset" >
|
||||
<caption>연결자산정보 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: *;">
|
||||
</colgroup>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>소분류</th>
|
||||
<th>자산명</th>
|
||||
<th>비고</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<textarea id="serviceBody" name="serviceBody" >
|
||||
</textarea>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- main btn : start -->
|
||||
<div class="btn_group">
|
||||
<!-- 왼쪽영역-->
|
||||
<div style="text-align: left;position: absolute;">
|
||||
<!-- 목록 -->
|
||||
<button type="button" class="btn-function" id="btnList" style="background: blue;" onclick="fncReportOtherList(); return false;" title="<spring:message code="button.list"/>">
|
||||
<spring:message code="button.list"/>
|
||||
</button>
|
||||
</div>
|
||||
<!--//왼쪽영역-->
|
||||
<!-- 오른쪽영역-->
|
||||
<div>
|
||||
<button type="button" class="btn-etc" onclick="fncReportOtherInsertApp(); return false;" title="등록/승인요청" >
|
||||
등록/승인요청
|
||||
</button>
|
||||
<button type="button" class="btn-etc" onclick="fncReportOtherInsert(); return false;" title="<spring:message code="button.create" />">
|
||||
<spring:message code="button.create" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- main btn : end -->
|
||||
|
||||
</div>
|
||||
<!-- body_wrap :end -->
|
||||
|
||||
<!-- 검색조건 유지 -->
|
||||
<input type="hidden" name="orgnztId" value="" >
|
||||
<input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>" >
|
||||
<input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>" >
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>" >
|
||||
<input type="hidden" name="multiUserSelectYn" value="" >
|
||||
|
||||
<!-- 입력정보 -->
|
||||
<input type="hidden" id="txReportBody" name="txReportBody" value="" >
|
||||
|
||||
<input type="hidden" id="assetSeqs" name="assetSeqs" value="" >
|
||||
<input type="hidden" id="assetCommnets" name="assetCommnets" value="" >
|
||||
|
||||
<input type="hidden" id="approvalsId" name="approvalsId" value="" >
|
||||
<input type="hidden" id="approvalsName" name="approvalsName" value="" >
|
||||
|
||||
<input type="hidden" id="inIncidentSeq" name="inIncidentSeq" value="${inIncidentSeq}" >
|
||||
<input type="hidden" id="inReportSeq" name="inReportSeq" value="0">
|
||||
<input type="hidden" id="inReportStatus" name="inReportStatus" value="0">
|
||||
<input type="hidden" id="inDowntime" name="inDowntime" value="0">
|
||||
|
||||
<input type="hidden" id="reqTxComment" name="reqTxComment" value=""/> <!-- 승인요청메세지 -->
|
||||
<input type="hidden" id="reqApprovalYn" name="reqApprovalYn" value=""/> <!-- 승인요청여부 -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</form:form>
|
||||
|
||||
258
src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherList.jsp
Normal file
258
src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherList.jsp
Normal file
@ -0,0 +1,258 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<%
|
||||
/**
|
||||
* @Class Name : ReportOtherList.java
|
||||
* @Description : 기타 보고서 목록 화면
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2025.10.15 나혁제 최초 생성
|
||||
*
|
||||
* @author urp 인프라본부 나혁제
|
||||
* @since 2025.10.15
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
|
||||
<%@ page 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" %>
|
||||
|
||||
|
||||
|
||||
<title>기타보고서 정보</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
|
||||
|
||||
<script type="text/javaScript" language="javascript" defer="defer">
|
||||
|
||||
//----------------------------------------
|
||||
// 화면 초기화
|
||||
// ----------------------------------------
|
||||
$(document).ready(function()
|
||||
{
|
||||
if(document.listForm.inTask.value == '')
|
||||
{
|
||||
alert("보고서 유형이 없습니다. \n시스템 관리자에게 연락하시길 바랍니다.");
|
||||
}
|
||||
});
|
||||
|
||||
//----------------------------------------
|
||||
// 검색
|
||||
// ----------------------------------------
|
||||
function fncSearchReportOtherList()
|
||||
{
|
||||
linkPage(1);
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 등록 화면 이동
|
||||
// ----------------------------------------
|
||||
function fncAddReportOtherInsert()
|
||||
{
|
||||
document.listForm.action = "<c:url value='/srm/insertViewReportOther.do'/>";
|
||||
document.listForm.submit();
|
||||
// location.replace("<c:url value='/srm/insertViewReportOther.do'/>");
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 상세조회
|
||||
// ----------------------------------------
|
||||
function fncSelectReportOther(inReportSeq)
|
||||
{
|
||||
document.listForm.inReportSeq.value = inReportSeq;
|
||||
document.listForm.action = "<c:url value='/srm/getReportWithBodyOther.do'/>";
|
||||
document.listForm.submit();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 검색(페이지)
|
||||
// ----------------------------------------
|
||||
function linkPage(pageIndex)
|
||||
{
|
||||
var arStatus = []; // 승인상태
|
||||
|
||||
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");
|
||||
|
||||
$("#status" ).val(arStatus.join(","));
|
||||
|
||||
console.log($("#status").val());
|
||||
|
||||
document.listForm.pageIndex.value = pageIndex;
|
||||
document.listForm.action = "<c:url value='/srm/searchReportOther.do'/>";
|
||||
document.listForm.submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<!-- javascript warning tag -->
|
||||
<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript>
|
||||
|
||||
<form:form name="listForm" action="${pageContext.request.contextPath}/srm/searchReportOther.do" method="post">
|
||||
|
||||
<!-- body_wrap :start -->
|
||||
<div class="body_wrap">
|
||||
|
||||
<div id="navTitle">
|
||||
</div>
|
||||
|
||||
<!-- 검색 :s -->
|
||||
<div class="searchArea single-row">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="10%">
|
||||
<col width="90%">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><label>상태</label></th>
|
||||
<td>
|
||||
<label class="checkbox_label">
|
||||
<input type="checkbox" id="chk1_1" name="chk1_1" <c:if test="${fn:indexOf(searchVO.status, '0') >=0 }"> checked="checked" </c:if> > 접수
|
||||
<span class="checkbox_icon"></span>
|
||||
</label>
|
||||
<label class="checkbox_label">
|
||||
<input type="checkbox" id="chk1_2" name="chk1_2" <c:if test="${fn:indexOf(searchVO.status, '1') >=0 }"> checked="checked" </c:if> > 승인중
|
||||
<span class="checkbox_icon"></span>
|
||||
</label>
|
||||
<label class="checkbox_label">
|
||||
<input type="checkbox" id="chk1_3" name="chk1_3" <c:if test="${fn:indexOf(searchVO.status, '2') >=0 }"> checked="checked" </c:if> > 반려
|
||||
<span class="checkbox_icon"></span>
|
||||
</label>
|
||||
<label class="checkbox_label">
|
||||
<input type="checkbox" id="chk1_4" name="chk1_4" <c:if test="${fn:indexOf(searchVO.status, '3') >=0 }"> checked="checked" </c:if> > 승인완료
|
||||
<span class="checkbox_icon"></span>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan=2>
|
||||
<label>문서번호:</label>
|
||||
<input class="s_input" id="reportId" name="reportId" type="text" size="35" maxlength="155" style="width: 170px;"
|
||||
value='<c:out value="${searchVO.reportId}"/>' title="<spring:message code="title.search" /> <spring:message code="input.input" />" >
|
||||
|
||||
<label>요청번호:</label>
|
||||
<input class="s_input" id="incidentNum" name="incidentNum" type="text" size="35" maxlength="155" style="width: 170px;"
|
||||
value='<c:out value="${searchVO.incidentNum}"/>' title="<spring:message code="title.search" /> <spring:message code="input.input" />" >
|
||||
|
||||
<label>작성자:</label>
|
||||
<input class="s_input" id="regUser" name="regUser" type="text" size="35" maxlength="155" style="width: 170px;"
|
||||
value='<c:out value="${searchVO.regUser}"/>' title="<spring:message code="title.search" /> <spring:message code="input.input" />" >
|
||||
|
||||
<label>제목:</label>
|
||||
<input class="s_input" id="reportTitle" name="reportTitle" type="text" size="35" maxlength="155" style="width: 170px;"
|
||||
value='<c:out value="${searchVO.reportTitle}"/>' title="<spring:message code="title.search" /> <spring:message code="input.input" />" >
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="btnArea">
|
||||
<button type="button" class="btn-search" onclick="fncSearchReportCheckList(); return false;" title="조회">조회</button>
|
||||
</div>
|
||||
</div>
|
||||
<!--//검색 :e -->
|
||||
|
||||
|
||||
|
||||
<!-- tbl list : start -->
|
||||
<div class="tbl_list" >
|
||||
|
||||
<!-- 목록영역 -->
|
||||
<table class="table" summary="<spring:message code="common.summary.list" arguments="자산관리" />">
|
||||
<caption> 기타 보고서 관리 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: *;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th>문서번호</th>
|
||||
<th>요청번호</th>
|
||||
<th>서비스</th>
|
||||
<th>승인상태</th>
|
||||
<th>제목</th>
|
||||
<th>작성자</th>
|
||||
<th>등록일시</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody class="ov">
|
||||
<c:if test="${fn:length(resultList) == 0}">
|
||||
<tr>
|
||||
<td colspan="6"><spring:message code="common.nodata.msg" /></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:forEach var="reportList" items="${resultList}" varStatus="status">
|
||||
<tr>
|
||||
|
||||
<td> <a href="javascript:fncSelectReportOther('${reportList.inReportSeq}')" style="text-align: center;" >${reportList.vcReportId}</a>
|
||||
<td><c:out value="${reportList.vcIncidentNum}"/></td>
|
||||
<td><c:out value="${reportList.vcServiceName}"/></td>
|
||||
<td><c:out value="${reportList.vcReportStatus}"/></td>
|
||||
<td><c:out value="${reportList.vcReportTitle}"/></td>
|
||||
<td><c:out value="${reportList.vcRegUser}"/></td>
|
||||
<td><c:out value="${reportList.dtLastUpdate}"/></td>
|
||||
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
<!-- tbl list : end -->
|
||||
|
||||
<c:if test="${!empty searchVO.pageIndex }">
|
||||
<!-- paging navigation -->
|
||||
<div class="pagination">
|
||||
<ul><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/></ul>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
|
||||
<!-- main btn : start -->
|
||||
<c:if test="${!empty searchVO.inTask }">
|
||||
<div class="btn_group">
|
||||
<div>
|
||||
<button type="button" class="btn-function" title="등록" onclick="fncAddReportOtherInsert(); return false;" ><spring:message code="button.create" /> <!-- 등록 -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<!-- main btn : end -->
|
||||
|
||||
</div>
|
||||
<!-- body_wrap :start -->
|
||||
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/>
|
||||
|
||||
<!-- 입력조건 -->
|
||||
<input type="hidden" name="status" id="status" value=""/>
|
||||
<input type="hidden" name="inTask" id="inTask" value="${searchVO.inTask}"/>
|
||||
|
||||
<!-- 상세조회 입력조건 -->
|
||||
<input type="hidden" name="inReportSeq" id="inReportSeq" value=""/>
|
||||
|
||||
|
||||
|
||||
</form:form>
|
||||
392
src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherPrintPop.jsp
Normal file
392
src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherPrintPop.jsp
Normal file
@ -0,0 +1,392 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<%
|
||||
/**
|
||||
* @Class Name : ReportOtherPrint.jsp
|
||||
* @Description : 기타보고서 인쇄 화면
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2025.10.16 나혁제 최초 생성
|
||||
*
|
||||
* @author urp 인프라본부 나혁제
|
||||
* @since 2025.10.16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) 2009 by MOPAS All right reserved.
|
||||
*/
|
||||
%>
|
||||
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ 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" %>
|
||||
|
||||
|
||||
<title> 기타보고서 인쇄 </title>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
|
||||
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
|
||||
<script type="text/javascript" src="<c:url value='/egov/js/showModalDialog.js'/>" ></script>
|
||||
|
||||
<!-- tinyMCE Editor -->
|
||||
<script charset="utf-8" type="text/javascript" src="${pageContext.request.contextPath}/lib/oss/tinymce/tinymce.min.js"></script>
|
||||
|
||||
<!-- validation 처리 -->
|
||||
<validator:javascript formName="reportOtherManage" staticJavascript="false" xhtml="true" cdata="false"/>
|
||||
|
||||
<!-- 파일처리 -->
|
||||
<script type="text/javascript" src="<c:url value='/egov/js/EgovMultiFiles.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">
|
||||
|
||||
<style type="text/css">
|
||||
@media print {
|
||||
/* TinyMCE UI는 숨김 */
|
||||
.tox-tinymce {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* 대신 우리가 복사해둔 div를 출력 */
|
||||
#editorPreview {
|
||||
display: block !important;
|
||||
width: 100% !important;
|
||||
overflow: visible !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script type="text/javaScript" language="javascript">
|
||||
|
||||
//----------------------------------------
|
||||
// 화면 초기화
|
||||
// ----------------------------------------
|
||||
$(document).ready(function()
|
||||
{
|
||||
// 결재라인 높이 조정
|
||||
// $("table tbody td").css("height", "10px");
|
||||
$("td").css("height", "10px");
|
||||
$("th").css("height", "10px");
|
||||
|
||||
drawEditor("");
|
||||
});
|
||||
|
||||
//----------------------------------------
|
||||
// 화면 초기화(Form 완전 로딩후 )
|
||||
// ----------------------------------------
|
||||
$(window).on("load", function()
|
||||
{
|
||||
var strForm = document.getElementById("serviceBody2").value;
|
||||
drawEditor(strForm);
|
||||
|
||||
var browser = navigator.userAgent.toLowerCase();
|
||||
|
||||
if ( -1 != browser.indexOf('chrome') )
|
||||
{
|
||||
setTimeout(function()
|
||||
{
|
||||
// 2025.08.19 나혁제 TinyMCE 인쇄조정처리
|
||||
const editor = tinymce.get('serviceBody');
|
||||
const editorContent = editor.getContent();
|
||||
|
||||
document.getElementById("editorPreview").innerHTML = strForm;
|
||||
|
||||
window.print();
|
||||
window.close();
|
||||
} , 3000);
|
||||
|
||||
}
|
||||
else if ( -1 != browser.indexOf('trident') )
|
||||
{
|
||||
try
|
||||
{
|
||||
preview_print();
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
alert("- 도구 > 인터넷 옵션 > 보안 탭 > 신뢰할 수 있는 사이트 선택\n 1. 사이트 버튼 클릭 > 사이트 추가\n 2. 사용자 지정 수준 클릭 > 스크립팅하기 안전하지 않은 것으로 표시된 ActiveX 컨트롤 (사용)으로 체크\n\n※ 위 설정은 프린트 기능을 사용하기 위함임");
|
||||
}
|
||||
window.close();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
//----------------------------------------
|
||||
// html 초기화
|
||||
// ----------------------------------------
|
||||
function drawEditor(content)
|
||||
{
|
||||
tinymce.init({
|
||||
selector: '#serviceBody',
|
||||
forced_root_block : false,
|
||||
force_br_newlines : true,
|
||||
force_p_newlines : false,
|
||||
height: 570,
|
||||
statusbar: false,
|
||||
menubar: false,
|
||||
toolbar: false,
|
||||
readonly: 1,
|
||||
plugins: 'autoresize'
|
||||
});
|
||||
|
||||
if(content===undefined)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
tinyMCE.activeEditor.setContent(content);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<!-- javascript warning tag -->
|
||||
<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript>
|
||||
|
||||
<form:form modelAttribute="reportOtherManage" name="reportOtherManage" method="post" enctype="multipart/form-data">
|
||||
|
||||
<!-- Form 테이블 :start -->
|
||||
<div class="bbs_view">
|
||||
|
||||
<!-- 기본정보 -->
|
||||
<table class="tbl_form" summary="<spring:message code="common.summary.list" arguments="등록" />">
|
||||
<caption>기타보고서 등록</caption>
|
||||
<colgroup>
|
||||
<col style="width: 14%;">
|
||||
<col style="width: 32%">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 20%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th> 보고서ID </th>
|
||||
<td>${resultReport.vcReportId}</td>
|
||||
<th> 서비스 </th>
|
||||
<td>
|
||||
${resultReport.vcServiceName}
|
||||
</td>
|
||||
<th> 작성자 </th>
|
||||
<td>
|
||||
${resultReport.vcRegUser}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th> 인스던트 접수번호 </th>
|
||||
<td>
|
||||
${incidentId}
|
||||
</td>
|
||||
<th> 작업분류 </th>
|
||||
<td>
|
||||
${resultReport.vcTask}
|
||||
</td>
|
||||
<th> 작업자 </th>
|
||||
<td>
|
||||
${resultReport.vcTaskUser}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th> 자산 </th>
|
||||
<td colspan=5 >
|
||||
${fn:length(resultAssets) }
|
||||
</td>
|
||||
<%-- 2025.09.01 나혁제 삭제항목 --%>
|
||||
<%--
|
||||
<th> 서비스다운 </th>
|
||||
<td colspan=2>
|
||||
${resultReport.dtDownstartDatetime}~${resultReport.dtDownfinishDatetime}
|
||||
</td>
|
||||
--%>
|
||||
|
||||
<th style="display:none"> 서비스다운 </th>
|
||||
<td colspan=2 style="display:none">
|
||||
${resultReport.dtDownstartDatetime}~${resultReport.dtDownfinishDatetime}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th> 제목 </th>
|
||||
<td colspan=5>
|
||||
${resultReport.vcReportTitle}
|
||||
</td>
|
||||
<th></th>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<!-- 2028.08.19 나혁제 자산 상세 영역 -->
|
||||
<c:if test="${ assetDtlYn == 'Y'}">
|
||||
<c:forEach var="assets" items="${resultAssets}" varStatus="status">
|
||||
|
||||
<div class="tbl_list">
|
||||
<!-- 목록영역 -->
|
||||
<table class="table" summary="" id="table_asset" >
|
||||
<caption>연결자산정보 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 15%;">
|
||||
<col style="width: 15%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<th>업무명</th> <td colspan=2> ${assets.vcTaskNm}</td>
|
||||
<th>호스트명</th> <td colspan=2>${assets.vcHost} </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>제품영</th> <td colspan=2 >${assets.vcModel} </td>
|
||||
<th>제품번호</th> <td colspan=2>${assets.vcAssetSerial} </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>제품버전</th> <td colspan=2> ${assets.vcVersion}</td>
|
||||
<th>IP 주소</th> <td colspan=2>${assets.vcIp} </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>라이센스 만료일자</th> <td colspan=2> ${assets.dtLicenseEnd}</td>
|
||||
<th>EOS 일자</th> <td colspan=2>${assets.dtEos} </td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
|
||||
<!-- 자산 일반 영역 -->
|
||||
<c:if test="${ assetDtlYn ne 'Y'}">
|
||||
<div class="tbl_list">
|
||||
<table class="table" summary="" id="table_asset" >
|
||||
<caption>연결자산정보 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: *;">
|
||||
</colgroup>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th>소분류</th>
|
||||
<th>자산명</th>
|
||||
<th>비고</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<c:forEach var="assets" items="${resultAssets}" varStatus="status">
|
||||
<tr>
|
||||
<td ><c:out value="${assets.vcCate3}"/></td>
|
||||
<td ><c:out value="${assets.vcAssetName}"/></td>
|
||||
<td ><c:out value="${assets.txComment}"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<!-- 2025.08.19 나혁제 인쇄용 프리뷰 (화면에는 숨기고 print에서만 보이게) -->
|
||||
<div id="editorPreview" style="display:none;"></div>
|
||||
|
||||
<textarea id="serviceBody" name="serviceBody" ></textarea>
|
||||
<textarea id="serviceBody2" name="serviceBody2" style="display:none;">${resultReport.txReportBody}</textarea>
|
||||
|
||||
<!-- 첨부파일 영역 -->
|
||||
<div class="tbl_list">
|
||||
<!-- 목록영역 -->
|
||||
<table class="table" summary="" id="table_asset" >
|
||||
<caption>연결자산정보 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 100%;">
|
||||
</colgroup>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th>첨부파일</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<c:import url="/cmm/selectFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${resultReport.atchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 결재 영역 -->
|
||||
<div class="tbl_list">
|
||||
<!-- 목록영역 -->
|
||||
<table class="table" summary="" id="table_appr" >
|
||||
<caption>결재라인 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: *;">
|
||||
</colgroup>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th>결재자</th>
|
||||
<th>상태</th>
|
||||
<th>Comment</th>
|
||||
<th>결재시간</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<!-- 승인요청라인 -->
|
||||
<c:if test="${resultReport.inReportStatus gt 0}">
|
||||
<tr>
|
||||
<td>${resultReport.vcReqApprovalUser }</td>
|
||||
<td>승인요청</td>
|
||||
<td>${resultReport.txReqApprovalComment }</td>
|
||||
<td>${resultReport.dtReqApprovalDatetime }</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
|
||||
<c:forEach var="approvals" items="${resultApprovals}" varStatus="status">
|
||||
<tr>
|
||||
<td ><c:out value="${approvals.vcUserName}"/></td>
|
||||
<td ><c:out value="${approvals.vcStatus}"/></td>
|
||||
<td ><c:out value="${approvals.txComment}"/></td>
|
||||
<td ><c:out value="${approvals.dtApprovalDatetime}"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</form:form>
|
||||
|
||||
906
src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherUpdate.jsp
Normal file
906
src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherUpdate.jsp
Normal file
@ -0,0 +1,906 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<%
|
||||
/**
|
||||
* @Class Name : ReportOtherUpdate.jsp
|
||||
* @Description : 기타보고서 수정화면
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2025.10.15 나혁제 최초 생성
|
||||
*
|
||||
* @author urp 인프라본부 나혁제
|
||||
* @since 2025.10.15
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) 2009 by MOPAS All right reserved.
|
||||
*/
|
||||
%>
|
||||
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ 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" %>
|
||||
|
||||
|
||||
<title> 기타보고서 수정 </title>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
|
||||
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
|
||||
<script type="text/javascript" src="<c:url value='/egov/js/showModalDialog.js'/>" ></script>
|
||||
|
||||
<!-- tinyMCE Editor -->
|
||||
<script charset="utf-8" type="text/javascript" src="${pageContext.request.contextPath}/lib/oss/tinymce/tinymce.min.js?ver=1" ></script>
|
||||
|
||||
<!-- tinymce setting 2025.05.12 나혁제 tinymce_uritms_setting.js 이관 -->
|
||||
<script charset="utf-8" type="text/javascript" src="<c:url value='/js/tinymce_uritms_setting.js?ver=1'/>" ></script>
|
||||
|
||||
|
||||
<!-- validation 처리 -->
|
||||
<validator:javascript formName="reportOtherManage" staticJavascript="false" xhtml="true" cdata="false"/>
|
||||
|
||||
<!-- 파일처리 -->
|
||||
<script type="text/javascript" src="<c:url value='/egov/js/EgovMultiFiles.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">
|
||||
|
||||
<script type="text/javaScript" language="javascript">
|
||||
|
||||
//----------------------------------------
|
||||
// 화면 초기화
|
||||
// ----------------------------------------
|
||||
$(document).ready(function()
|
||||
{
|
||||
// 결재라인 높이 조정
|
||||
$("#table_appr tbody td").css("height", "10px");
|
||||
|
||||
// 시작일시, 종료일시, 서비스다운시작일시, 서비스다운종료일시 시간까지 세팅
|
||||
$("#dtDownstartDatetime, #dtDownfinishDatetime, #dtStartDatetime, #dtFinishDatetime").datetimepicker({
|
||||
dateFormat:'yy-mm-dd',
|
||||
monthNamesShort:[ '1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월' ],
|
||||
dayNamesMin:[ '일', '월', '화', '수', '목', '금', '토' ],
|
||||
changeMonth:true,
|
||||
changeYear:true,
|
||||
showMonthAfterYear:true,
|
||||
|
||||
// timepicker 설정
|
||||
timeFormat:'HH:mm',
|
||||
controlType:'select',
|
||||
oneLine:true,
|
||||
});
|
||||
|
||||
// 멀티파일 설정
|
||||
var maxFileNum = 3;
|
||||
var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum );
|
||||
multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) );
|
||||
|
||||
// drawEditor("");
|
||||
drawEditor("serviceBody", "", false);
|
||||
});
|
||||
|
||||
//----------------------------------------
|
||||
// 화면 초기화(Form 완전 로딩후 )
|
||||
// ----------------------------------------
|
||||
$(window).on("load", function()
|
||||
{
|
||||
var strForm = document.getElementById("serviceBody2").value;
|
||||
// drawEditor(strForm);
|
||||
drawEditor("serviceBody", strForm, false);
|
||||
});
|
||||
|
||||
//----------------------------------------
|
||||
// 목록 화면으로 이동처리
|
||||
// ----------------------------------------
|
||||
function fncReportOtherList()
|
||||
{
|
||||
var varFrom = document.getElementById("reportOtherManage");
|
||||
varFrom.action = "<c:url value='/srm/searchReportOther.do'/>";
|
||||
varFrom.submit();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 자산 조회 팝업
|
||||
// ----------------------------------------
|
||||
function fn_Asset_Search()
|
||||
{
|
||||
var strUrl = "/rem/SelectResourcePopup.do";
|
||||
|
||||
var arrParam = new Array(6);
|
||||
arrParam[0] = window;
|
||||
|
||||
window.showModalDialog("<c:url value='"+strUrl+"' />"
|
||||
, arrParam
|
||||
,"dialogWidth:950px;dialogHeight:850px;resizable:yes;center:yes");
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 팝업창에서 결재자 선택 확인시
|
||||
// ----------------------------------------
|
||||
function fn_Asset_Multi_Selected(strReturnData)
|
||||
{
|
||||
var aReturnData = strReturnData.split(","); // split에 '-'를 넣었습니다.
|
||||
|
||||
console.log(aReturnData);
|
||||
|
||||
var inAssetSeq = $("input[name='inAssetSeq']").map(function () {
|
||||
return $(this).val();
|
||||
}).get();
|
||||
|
||||
console.log(inAssetSeq);
|
||||
|
||||
for(var i=0; i<aReturnData.length-1; i++)
|
||||
{
|
||||
var aOptData = aReturnData[i].split("|");
|
||||
|
||||
// 기존에 존재하는경우 skip
|
||||
var iExistYn = inAssetSeq.indexOf(aOptData[0]);
|
||||
|
||||
if(iExistYn>-1) continue;
|
||||
|
||||
fn_table_asset_tr_add(aOptData[0], aOptData[1], aOptData[2]);
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 자산정보 Row 추가 처리
|
||||
// ----------------------------------------
|
||||
function fn_table_asset_tr_add(inAssetSeq, vcAssetName, vcCate3)
|
||||
{
|
||||
var strTrTag = " <tr> "
|
||||
+ " <td > "
|
||||
+ " <label><input type='checkbox' style='display: inline-block;' name='chkAsset' /> </label> "
|
||||
+ " </td> "
|
||||
+ " <td >"+vcCate3+"</td> "
|
||||
+ " <td >"+vcAssetName+"</td> "
|
||||
+ " <td > "
|
||||
+ " <input type='text' name='txCommentAsset' id='txCommentAsset' value='' style='width:80%;'/> "
|
||||
+ " </td> "
|
||||
+ " <input type='hidden' name='inAssetSeq' id='inAssetSeq' value='"+inAssetSeq+"' > "
|
||||
+ " </tr> "
|
||||
|
||||
$("#table_asset tbody").append(strTrTag)
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 자산정보 선택한 자산 삭제
|
||||
// ----------------------------------------
|
||||
function fn_Asset_Delete()
|
||||
{
|
||||
|
||||
$("input:checkbox[name='chkAsset']:checked").each(function(k,kVal)
|
||||
{
|
||||
// 로우 삭제
|
||||
let chkRow = kVal.parentElement.parentElement.parentElement;
|
||||
$(chkRow).remove();
|
||||
});
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 서비스 정보 변경시
|
||||
// ----------------------------------------
|
||||
function selInServiceCode()
|
||||
{
|
||||
var inServiceCode = $('#inServiceCode option:selected').val() ;
|
||||
|
||||
var inData = {};
|
||||
inData = {"inServiceCode":inServiceCode};
|
||||
|
||||
proc.fn_get_service_info(inData);
|
||||
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 보고양식 변경시
|
||||
// ----------------------------------------
|
||||
function selReportForm()
|
||||
{
|
||||
var inSeq = $('#reportForm option:selected').val() ;
|
||||
|
||||
var inData = {};
|
||||
inData = {"seq":inSeq};
|
||||
|
||||
proc.fn_get_report_form_info(inData);
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 보고서 수정처리
|
||||
// ----------------------------------------
|
||||
function fncReportOtherUpdate()
|
||||
{
|
||||
var bYes = confirm("${resultReport.vcTask} 수정 처리를 하시겠습니까?");
|
||||
if(bYes==false) return;
|
||||
|
||||
var form = document.reportOtherManage;
|
||||
|
||||
// 보고서 자산 구조
|
||||
var strExistUser = $("input[name='approvalUserId']").map(function () { return $(this).val();}).get();
|
||||
var strExistUserText = $("input[name='approvalUserNm']").map(function () { return $(this).val();}).get();
|
||||
|
||||
strExistUser.join(',');
|
||||
strExistUserText.join(',');
|
||||
|
||||
form.approvalsId .value = strExistUser;
|
||||
form.approvalsName.value = strExistUserText;
|
||||
|
||||
// 보고서 자산 구조
|
||||
var strAssetSeq = $("input[name='inAssetSeq']").map(function () { return $(this).val();}).get();
|
||||
var strCommentAsset = $("input[name='txCommentAsset']").map(function () { return $(this).val();}).get();
|
||||
|
||||
strAssetSeq.join(',');
|
||||
strCommentAsset.join(',');
|
||||
|
||||
form.assetSeqs .value = strAssetSeq;
|
||||
form.assetCommnets.value = strCommentAsset;
|
||||
|
||||
form.txReportBody.value = tinyMCE.get("serviceBody").getContent(); // 평문
|
||||
|
||||
//input item Client-Side validate
|
||||
if (!validateReportOtherManage(form))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
proc.fn_ReportOther_save();
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 보고서 변경/승인처리 처리
|
||||
// ----------------------------------------
|
||||
function fncSvcReportOtherUpdateApp()
|
||||
{
|
||||
var bYes = confirm("${resultReport.vcTask} 변경/승인요청 처리를 하시겠습니까?");
|
||||
if(bYes==false) return;
|
||||
|
||||
var form = document.reportOtherManage;
|
||||
|
||||
// 보고서 자산 구조
|
||||
var strExistUser = $("input[name='approvalUserId']").map(function () { return $(this).val();}).get();
|
||||
var strExistUserText = $("input[name='approvalUserNm']").map(function () { return $(this).val();}).get();
|
||||
|
||||
strExistUser.join(',');
|
||||
strExistUserText.join(',');
|
||||
|
||||
form.approvalsId .value = strExistUser;
|
||||
form.approvalsName.value = strExistUserText;
|
||||
|
||||
// 보고서 자산 구조
|
||||
var strAssetSeq = $("input[name='inAssetSeq']").map(function () { return $(this).val();}).get();
|
||||
var strCommentAsset = $("input[name='txCommentAsset']").map(function () { return $(this).val();}).get();
|
||||
|
||||
strAssetSeq.join(',');
|
||||
strCommentAsset.join(',');
|
||||
|
||||
form.assetSeqs .value = strAssetSeq;
|
||||
form.assetCommnets.value = strCommentAsset;
|
||||
|
||||
form.txReportBody.value = tinyMCE.get("serviceBody").getContent(); // 평문
|
||||
|
||||
//input item Client-Side validate
|
||||
if (!validateReportOtherManage(form))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// 승인요청 메세지 팝업 open
|
||||
var pagetitle = $(this).attr("title");
|
||||
var page = "/common/PageRedirection.do"
|
||||
+"?Page=/srm/PopReqApproval"
|
||||
+"&PopupYn=Y"
|
||||
;
|
||||
|
||||
var $dialog = $('<div></div>')
|
||||
.html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>')
|
||||
.dialog({
|
||||
autoOpen: false
|
||||
, modal: true
|
||||
, height: 340
|
||||
, width: 450
|
||||
, 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");
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 보고서 변경/승인처리 처리(최종 저장 처리 )
|
||||
// ----------------------------------------
|
||||
function fncAppLast(strMsg)
|
||||
{
|
||||
$('#reqTxComment' ).val(strMsg) ;
|
||||
$('#reqApprovalYn' ).val("Y" ) ;
|
||||
|
||||
proc.fn_ReportOther_save();
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------
|
||||
// 사용자 검색 팝업
|
||||
// ----------------------------------------
|
||||
function fn_User_Search( strTitle
|
||||
, frmUniqId
|
||||
, frmEmplNo
|
||||
, frmEmplyrNm
|
||||
, frmOrgnztNm
|
||||
, multiUserSelectYn
|
||||
)
|
||||
{
|
||||
var arrParam = new Array(6);
|
||||
arrParam[0] = window;
|
||||
arrParam[1] = strTitle;
|
||||
arrParam[2] = frmUniqId;
|
||||
arrParam[3] = frmEmplNo;
|
||||
arrParam[4] = frmEmplyrNm;
|
||||
arrParam[5] = frmOrgnztNm;
|
||||
|
||||
var strUrl = "/cmm/selectUserListPopup.do?multiUserSelectYn="+multiUserSelectYn;
|
||||
|
||||
window.showModalDialog("<c:url value='"+strUrl+"' />"
|
||||
, arrParam
|
||||
,"dialogWidth:900px;dialogHeight:750px;resizable:yes;center:yes");
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 팝업창에서 결재자 선택 확인시
|
||||
// ----------------------------------------
|
||||
function fn_User_Multi_Selected(strReturnData)
|
||||
{
|
||||
var aReturnData = strReturnData.split(","); // split에 '-'를 넣었습니다.
|
||||
|
||||
console.log(aReturnData);
|
||||
|
||||
var strExistUser = $("input[name='approvalUserId']").map(function () {
|
||||
return $(this).val();
|
||||
}).get();
|
||||
|
||||
console.log(strExistUser);
|
||||
|
||||
for(var i=0; i<aReturnData.length-1; i++)
|
||||
{
|
||||
var aOptData = aReturnData[i].split("|");
|
||||
|
||||
// 기존에 존재하는경우 skip
|
||||
var iExistYn = strExistUser.indexOf(aOptData[0]);
|
||||
|
||||
if(iExistYn>-1) continue;
|
||||
|
||||
fn_table_appr_tr_add(aOptData[0], aOptData[1]);
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 결재라인 Row 추가 처리
|
||||
// ----------------------------------------
|
||||
function fn_table_appr_tr_add(strId, strName)
|
||||
{
|
||||
var strTrTag = " <tr> "
|
||||
+" <td > "
|
||||
+" <label><input type='checkbox' style='display: inline-block;' id='chkAppUser' name='chkAppUser' /> </label> "
|
||||
+" </td> "
|
||||
+" <td >"+strName+"</td> "
|
||||
+" <td ></td> "
|
||||
+" <td ></td> "
|
||||
+" <input type='hidden' name='approvalUserId' id='approvalUserId' value='"+strId+"' > "
|
||||
+" <input type='hidden' name='approvalUserNm' id='approvalUserNm' value='"+strName+"' > "
|
||||
+" </tr> "
|
||||
;
|
||||
|
||||
$("#table_appr tbody").append(strTrTag)
|
||||
}
|
||||
|
||||
//----------------------------------------
|
||||
// 결재라인 선택한 사용자 삭제
|
||||
// ----------------------------------------
|
||||
function fn_User_Delete()
|
||||
{
|
||||
|
||||
$("input:checkbox[name='chkAppUser']:checked").each(function(k,kVal)
|
||||
{
|
||||
// 로우 삭제
|
||||
let chkRow = kVal.parentElement.parentElement.parentElement;
|
||||
$(chkRow).remove();
|
||||
});
|
||||
}
|
||||
|
||||
// 서블릿 통신
|
||||
var proc =
|
||||
{
|
||||
// 기타보고서 수정처리
|
||||
fn_ReportOther_save : function ()
|
||||
{
|
||||
var form = $('#reportOtherManage')[0];
|
||||
var formData = new FormData(form);
|
||||
|
||||
$.ajax({
|
||||
url: '/srm/updateReportOther.do'
|
||||
, type: 'post'
|
||||
, enctype:'multipart/form-data'
|
||||
, data: formData
|
||||
, dataType: 'json'
|
||||
, processData:false
|
||||
, contentType:false
|
||||
, cache:false
|
||||
, success: function(data)
|
||||
{
|
||||
alert("수정 완료 되었습니다.");
|
||||
fncReportOtherList();
|
||||
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
alert("${resultReport.vcTask} 수정중 오류가 발생하였습니다. \n 시스템 관리자에게 문의해 주시기 바랍니다.");
|
||||
console.log(JSON.stringify(errorThrown));
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
,
|
||||
// 서비스 결재라인 정보 추출
|
||||
fn_get_service_info : function (inData)
|
||||
{
|
||||
$.ajax({
|
||||
url: '/srm/getSvcApprovalListOther.do'
|
||||
, type: 'post'
|
||||
, data: JSON.stringify(inData)
|
||||
, dataType: 'json'
|
||||
, contentType: 'application/json'
|
||||
, async: false
|
||||
, success: function(data)
|
||||
{
|
||||
console.log(JSON.stringify(data));
|
||||
|
||||
$('#table_appr tbody tr').remove();
|
||||
|
||||
// 결재라인 세팅
|
||||
for(var i=0; i<data.resultApprovals.length; i++)
|
||||
{
|
||||
fn_table_appr_tr_add(data.resultApprovals[i].inUserSeq, data.resultApprovals[i].vcUserName);
|
||||
}
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
alert("서비스 정보 조회중 오류가 발생하였습니다. \n 시스템 관리자에게 문의해 주시기 바랍니다.");
|
||||
console.log(JSON.stringify(errorThrown));
|
||||
}
|
||||
});
|
||||
}
|
||||
,
|
||||
// 보고양식 추출
|
||||
fn_get_report_form_info : function (inData)
|
||||
{
|
||||
$.ajax({
|
||||
url: '/srm/getReportFormOther.do'
|
||||
, type: 'post'
|
||||
, data: JSON.stringify(inData)
|
||||
, dataType: 'json'
|
||||
, contentType: 'application/json'
|
||||
, async: false
|
||||
, success: function(data)
|
||||
{
|
||||
console.log(JSON.stringify(data));
|
||||
|
||||
// 본문세팅
|
||||
// drawEditor(data.strTxDefaultFormDec);
|
||||
drawEditor("serviceBody", data.strTxDefaultFormDec, false);
|
||||
|
||||
// 2025.05.21 나혁제 작업자정보 세팅
|
||||
$('#vcTaskUser').val(data.strVcTaskUser);
|
||||
$('#inTaskUser').val(data.strInTaskUser);
|
||||
},
|
||||
error: function(errorThrown)
|
||||
{
|
||||
alert("보고양식 조회중 오류가 발생하였습니다. \n 시스템 관리자에게 문의해 주시기 바랍니다.");
|
||||
console.log(JSON.stringify(errorThrown));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/* 2025.05.12 나혁제 tinymce_uritms_setting.js 이관처리
|
||||
//----------------------------------------
|
||||
// html 초기화
|
||||
// ----------------------------------------
|
||||
function drawEditor(content)
|
||||
{
|
||||
tinymce.init({
|
||||
forced_root_block : false,
|
||||
force_br_newlines : true,
|
||||
force_p_newlines : false,
|
||||
|
||||
selector: '#serviceBody',
|
||||
height: 500,
|
||||
toolbar_mode: 'floating',
|
||||
//image upload
|
||||
image_title: true,
|
||||
automatic_uploads: true,
|
||||
file_picker_types: 'image',
|
||||
file_picker_callback: (cb, value, meta) => {
|
||||
const input = document.createElement('input');
|
||||
input.setAttribute('type', 'file');
|
||||
input.setAttribute('accept', 'image/*');
|
||||
|
||||
input.addEventListener('change', (e) => {
|
||||
const file = e.target.files[0];
|
||||
|
||||
const reader = new FileReader();
|
||||
reader.addEventListener('load', () => {
|
||||
const id = 'blobid' + (new Date()).getTime();
|
||||
const blobCache = tinymce.activeEditor.editorUpload.blobCache;
|
||||
const base64 = reader.result.split(',')[1];
|
||||
const blobInfo = blobCache.create(id, file, base64);
|
||||
blobCache.add(blobInfo);
|
||||
|
||||
cb(blobInfo.blobUri(), { title: file.name });
|
||||
});
|
||||
reader.readAsDataURL(file);
|
||||
});
|
||||
|
||||
input.click();
|
||||
},
|
||||
statusbar: false,
|
||||
|
||||
plugins: [
|
||||
'advlist autolink lists link image charmap print preview anchor',
|
||||
'searchreplace visualblocks code fullscreen',
|
||||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
toolbar: 'undo redo | fontsizeselect | formatselect | ' +
|
||||
'bold italic forecolor backcolor | alignleft aligncenter ' +
|
||||
'alignright alignjustify | bullist numlist outdent indent | ' +
|
||||
'table | removeformat ',
|
||||
|
||||
});
|
||||
if(content===undefined){
|
||||
}else{
|
||||
tinyMCE.activeEditor.setContent(content);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<!-- javascript warning tag -->
|
||||
<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript>
|
||||
|
||||
<form:form modelAttribute="reportOtherManage" name="reportOtherManage" method="post" enctype="multipart/form-data">
|
||||
|
||||
<!-- body_wrap :start -->
|
||||
<div class="body_wrap">
|
||||
|
||||
<!-- main title -->
|
||||
<div class="main_titWrap">
|
||||
|
||||
<h3>${resultReport.vcTask} 수정</h3>
|
||||
|
||||
<!-- location :s -->
|
||||
<div class="location">
|
||||
<div class="location-cont">
|
||||
<div>
|
||||
<ul class="route_navi">
|
||||
<li><a href="#" title="홈"><span class="home">홈</span></a></li>
|
||||
<li><a href="#" title="유지보수 관리" >유지보수 관리</a></li>
|
||||
<li>${resultReport.vcTask} 수정</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--//location :e -->
|
||||
</div>
|
||||
<!--//main title -->
|
||||
|
||||
|
||||
<!-- Form 테이블 :start -->
|
||||
<div class="bbs_view">
|
||||
|
||||
<!-- 등록폼 -->
|
||||
<table class="tbl_form" summary="<spring:message code="common.summary.list" arguments="등록" />">
|
||||
<caption>기타보고서 등록</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 32%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 20%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th> 보고서ID </th>
|
||||
<td>${resultReport.vcReportId}</td>
|
||||
<th> 서비스 </th>
|
||||
<td>
|
||||
<select name="inServiceCode" id="inServiceCode" onchange="selInServiceCode()" style="width: 90%;" >
|
||||
<c:forEach items="${resultService}" var="result" varStatus="status">
|
||||
<option value="${result.value}" <c:if test="${result.value == resultReport.inServiceCode}"> selected </c:if> > ${result.label} </option><!-- 분류코드명 -->
|
||||
</c:forEach>
|
||||
</select>
|
||||
</td>
|
||||
<th> 작성자 </th>
|
||||
<td>
|
||||
<input type="text" name="vcRegUser" id="vcRegUser" value="${vcRegUser}" readonly />
|
||||
<input type="hidden" name="inRegUser" id="inRegUser" value="${inRegUser}" />
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th> 인스던트 접수번호 </th>
|
||||
<td>${incidentId}</td>
|
||||
<th> 작업분류 </th>
|
||||
<td>
|
||||
<input type="text" name="vcTask" id="vcTask" value="${resultReport.vcTask}" readonly style="width: 90%;" />
|
||||
<input type="hidden" name="inTask" id="inTask" value="${resultReport.inTask}" >
|
||||
|
||||
</td>
|
||||
<th> 작업자 </th>
|
||||
<td>
|
||||
<input type="text" name="vcTaskUser" id="vcTaskUser" value="${resultReport.vcTaskUser}"/>
|
||||
|
||||
<a href="<c:url value='/cmm/selectUserListPopup.do' />" target="_blank" title="새 창으로 이동" onclick="fn_User_Search('조치예정', 'inTaskUser', '', 'vcTaskUser', '', '');return false;">
|
||||
<img src="<c:url value='/egov/images/egovframework/com/cmm/btn/btn_search.gif' />" alt="작업자 검색" title="작업자 검색">
|
||||
</a>
|
||||
|
||||
<input type="hidden" name="inTaskUser" id="inTaskUser" value="${resultReport.inTaskUser}" >
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<%-- 2025.09.01 나혁제 불필요한 항목 사젝 --%>
|
||||
<th style="display:none" > 서비스다운 </th>
|
||||
<td style="display:none" >
|
||||
<input type="text" class="btn_calendar" name="dtDownstartDatetime" id="dtDownstartDatetime" value="${resultReport.dtDownstartDatetime}" readonly style="width:47%;"/>
|
||||
~<input type="text" class="btn_calendar" name="dtDownfinishDatetime" id="dtDownfinishDatetime" value="${resultReport.dtDownstartDatetime}" readonly style="width:47%;"/>
|
||||
</td>
|
||||
|
||||
<th></th><td></td>
|
||||
|
||||
<th> 시작일시 </th>
|
||||
<td>
|
||||
<input type="text" class="btn_calendar" name="dtStartDatetime" id="dtStartDatetime" value="${resultReport.dtStartDatetime}" readonly style="width:90%;"/>
|
||||
|
||||
</td>
|
||||
<th> 종료일시 </th>
|
||||
<td>
|
||||
<input type="text" class="btn_calendar" name="dtFinishDatetime" id="dtFinishDatetime" value="${resultReport.dtFinishDatetime}" readonly style="width:90%;"/>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th> 제목 </th>
|
||||
<td colspan=2>
|
||||
<input type="text" name="vcReportTitle" id="vcReportTitle" value="${resultReport.vcReportTitle}" style="width:90%;"/>
|
||||
</td>
|
||||
<th> 보고서양식 </th>
|
||||
<td colspan=2>
|
||||
<select name="reportForm" id="reportForm" onchange="selReportForm()" style="width: 90%;" >
|
||||
<c:forEach items="${resultForm}" var="result" varStatus="status">
|
||||
<option value="${result.inReportForm}" > ${result.vcFormName} </option><!-- 분류코드명 -->
|
||||
</c:forEach>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th rowspan=2 >서비스 결재 라인 </th>
|
||||
<td rowspan=2 colspan=2 style="vertical-align: top;">
|
||||
|
||||
<div class="btn_group" >
|
||||
<button type="button" class="btn-function" onclick="fn_User_Search('조치예정', '', '', '', '', 'Y');return false;" style="margin-top: -30px;"> 조회 </button>
|
||||
<button type="button" class="btn-function" onclick="fn_User_Delete(); return false;" style="margin-top: -30px;"> 삭제 </button>
|
||||
</div>
|
||||
|
||||
<div class="tbl_list">
|
||||
<!-- 목록영역 -->
|
||||
<table class="table" summary="" id="table_appr" >
|
||||
<caption>결재라인 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: *;">
|
||||
</colgroup>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>결재자</th>
|
||||
<th>상태</th>
|
||||
<th>Comment</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<c:forEach var="approvals" items="${resultApprovals}" varStatus="status">
|
||||
<tr>
|
||||
<td >
|
||||
<label><input type="checkbox" style="display: inline-block;" name="chkAppUser" /> </label>
|
||||
</td>
|
||||
<td ><c:out value="${approvals.vcUserName}"/></td>
|
||||
<td ><c:out value="${approvals.vcStatus}"/></td>
|
||||
<td ><c:out value="${approvals.txComment}"/></td>
|
||||
|
||||
<input type='hidden' name="approvalUserId" id="approvalUserId" value="${approvals.inUserSeq}" >
|
||||
<input type='hidden' name="approvalUserNm" id="approvalUserNm" value="${approvals.vcUserName}" >
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
<th><spring:message code="cop.atchFile" /></th>
|
||||
<td colspan=2>
|
||||
<!-- attached file Start -->
|
||||
<div>
|
||||
<input type="file" name="file_1" id="egovComFileUploader" onChange="fnImgChange(this)" multiple>
|
||||
</div>
|
||||
<div id="egovComFileList"></div>
|
||||
</div>
|
||||
<!-- attached file End -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><spring:message code="cop.atchFile" /></th>
|
||||
<td colspan=2>
|
||||
<c:import url="/cmm/selectFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${resultReport.atchFileId}" />
|
||||
<c:param name="strItmsYn" value="Y" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<th> 자산</th>
|
||||
<td colspan=5>
|
||||
|
||||
<div class="btn_group" >
|
||||
<button type="button" class="btn-function" onclick="fn_Asset_Search();return false;" style="margin-top: -30px;"> 조회 </button>
|
||||
<button type="button" class="btn-function" onclick="fn_Asset_Delete(); return false;" style="margin-top: -30px;"> 삭제 </button>
|
||||
</div>
|
||||
|
||||
<div class="tbl_list">
|
||||
<!-- 목록영역 -->
|
||||
<table class="table" summary="" id="table_asset" >
|
||||
<caption>연결자산정보 <spring:message code="title.list" /></caption>
|
||||
<colgroup>
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 25%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: *;">
|
||||
</colgroup>
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>소분류</th>
|
||||
<th>자산명</th>
|
||||
<th>비고</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<c:forEach var="assets" items="${resultAssets}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<label><input type='checkbox' style='display: inline-block;' name='chkAsset' /> </label>
|
||||
</td>
|
||||
<td ><c:out value="${assets.vcCate3}"/></td>
|
||||
<td ><c:out value="${assets.vcAssetName}"/></td>
|
||||
<%-- 2025.05.12 나혁제 오류 수정
|
||||
<td ><c:out value="${assets.txComment}"/></td>
|
||||
--%>
|
||||
<td >
|
||||
<input type="text" name="txCommentAsset" id="txCommentAsset" value="${assets.txComment}" style="width:80%;"/>
|
||||
</td>
|
||||
<input type="hidden" name="inAssetSeq" id="inAssetSeq" value="${assets.inAssetSeq}" >
|
||||
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<textarea id="serviceBody" name="serviceBody" ></textarea>
|
||||
<textarea id="serviceBody2" name="serviceBody2" style="display:none;">${resultReport.txReportBody}</textarea>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- main btn : start -->
|
||||
<div class="btn_group">
|
||||
<!-- 왼쪽영역-->
|
||||
<div style="text-align: left;position: absolute;">
|
||||
<!-- 목록 -->
|
||||
<button type="button" class="btn-function" id="btnList" style="background: blue;" onclick="fncReportOtherList(); return false;" title="<spring:message code="button.list"/>">
|
||||
<spring:message code="button.list"/>
|
||||
</button>
|
||||
</div>
|
||||
<!--//왼쪽영역-->
|
||||
<!-- 오른쪽영역-->
|
||||
<div>
|
||||
<c:if test="${resultReport.inReportStatus eq 0}">
|
||||
<button type="button" class="btn-etc" title="<spring:message code="저장/승인요청" />" onclick="fncSvcReportOtherUpdateApp(); return false;">
|
||||
저장/승인요청
|
||||
</button>
|
||||
</c:if>
|
||||
<button type="button" class="btn-etc" title="<spring:message code="저장" />" onclick="fncReportOtherUpdate(); return false;">
|
||||
저장
|
||||
</button>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- main btn : end -->
|
||||
|
||||
</div>
|
||||
<!-- body_wrap :end -->
|
||||
|
||||
<!-- 검색조건 유지 -->
|
||||
<input type="hidden" name="orgnztId" value="" >
|
||||
<input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>" >
|
||||
<input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>" >
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>" >
|
||||
<input type="hidden" name="multiUserSelectYn" value="" >
|
||||
|
||||
<!-- 입력정보 -->
|
||||
<input type="hidden" id="inReportSeq" name="inReportSeq" value="${resultReport.inReportSeq}">
|
||||
<input type="hidden" id="inReportStatus" name="inReportStatus" value="${resultReport.inReportStatus}"/>
|
||||
<input type="hidden" id="inReportStatus" name="inIncidentSeq" value="${resultReport.inIncidentSeq}"/>
|
||||
|
||||
<input type="hidden" id="inDowntime" name="inDowntime" value="${resultReport.inDowntime}">
|
||||
<input type="hidden" id="txReportBody" name="txReportBody" value="" >
|
||||
|
||||
<input type="hidden" id="assetSeqs" name="assetSeqs" value="" >
|
||||
<input type="hidden" id="assetCommnets" name="assetCommnets" value="" >
|
||||
|
||||
<input type="hidden" id="approvalsId" name="approvalsId" value="" >
|
||||
<input type="hidden" id="approvalsName" name="approvalsName" value="" >
|
||||
|
||||
<input type="hidden" id="reqTxComment" name="reqTxComment" value=""/> <!-- 승인요청메세지 -->
|
||||
<input type="hidden" id="reqApprovalYn" name="reqApprovalYn" value=""/> <!-- 승인요청여부 -->
|
||||
|
||||
|
||||
|
||||
|
||||
</form:form>
|
||||
|
||||
@ -657,6 +657,7 @@
|
||||
<input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>" >
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>" >
|
||||
<input type="hidden" name="multiUserSelectYn" value="" >
|
||||
<input type="hidden" name="inTask" id="inTask" value="${searchVO.inTask}"/>
|
||||
|
||||
<!-- 입력정보 -->
|
||||
<input type="hidden" id="txIncidentBody" name="txIncidentBody" value="" >
|
||||
|
||||
@ -142,13 +142,10 @@
|
||||
{
|
||||
var aReturnData = strReturnData.split(","); // split에 '-'를 넣었습니다.
|
||||
|
||||
alert(aReturnData);
|
||||
|
||||
var strExistUser = $("input[name='approvalUserId']").map(function () {
|
||||
return $(this).val();
|
||||
}).get();
|
||||
|
||||
alert(strExistUser);
|
||||
|
||||
for(var i=0; i<aReturnData.length-1; i++)
|
||||
{
|
||||
|
||||
@ -324,6 +324,8 @@
|
||||
<input type="hidden" id="leftMenuNo" name="leftMenuNo" value="<%=session.getAttribute("leftMenuNo")%>" />
|
||||
<input type="hidden" id="link" name="link" value="" />
|
||||
<input type="hidden" id="bbsId" name="bbsId" value="">
|
||||
<%-- 2025.10.16 나혁제 추가인자 --%>
|
||||
<input type="hidden" id="inTask" name="inTask" value="">
|
||||
<div style="width:0px; height:0px;">
|
||||
|
||||
</div>
|
||||
|
||||
@ -116,7 +116,9 @@
|
||||
// 2025.08.11 나혁제 left 메뉴는 Get 방식으로
|
||||
document.menuMoveForm.method = "get"; // GET으로 전환
|
||||
|
||||
document.menuMoveForm.bbsId.value = getParameterValueFromUrl(nValue[5], "bbsId"); // bbsId 추출 후 세팅
|
||||
document.menuMoveForm.bbsId .value = getParameterValueFromUrl(nValue[5], "bbsId" ); // bbsId 추출 후 세팅
|
||||
// 2025.10.16 나혁제 추가
|
||||
document.menuMoveForm.inTask.value = getParameterValueFromUrl(nValue[5], "inTask"); // inTask 추출 후 세팅
|
||||
|
||||
document.menuMoveForm.leftMenuNo.value=nValue[0]; // 좌측메뉴 세팅
|
||||
document.menuMoveForm.action = "<c:url value='/'/>"+nValue[5].substring(1);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user