first commit
This commit is contained in:
79
src/main/webapp/WEB-INF/jsp/dms/dmsDtb/DmsDtbDetail.jsp
Normal file
79
src/main/webapp/WEB-INF/jsp/dms/dmsDtb/DmsDtbDetail.jsp
Normal file
@@ -0,0 +1,79 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"
|
||||
%><%@ include file="/common/taglib.jsp"
|
||||
%><%@ page import="egovframework.main.MainGlobals"
|
||||
%><%
|
||||
/**
|
||||
* @Class Name : DmsDtbDetail.jsp
|
||||
* @Description : DmsDtb Detail 화면
|
||||
* @Modification Information
|
||||
*
|
||||
* @author 한돈희
|
||||
* @since 2017-06-19
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) All right reserved.
|
||||
*/
|
||||
%><script type="text/javascript" src="/js/dms/dmsDtb.js"></script>
|
||||
<form:form commandName="searchVO" id="detailForm" action="${searchVO.parentUrl}">
|
||||
<form:hidden path="bmode" />
|
||||
<form:hidden path="pageIndex" />
|
||||
<form:hidden path="dtbSeq" />
|
||||
<form:hidden path="searchCondition" />
|
||||
<form:hidden path="searchKeyword" />
|
||||
</form:form>
|
||||
|
||||
<div class="location_box">
|
||||
<div class="loc_h3"><h3><%=MainGlobals.MENU_DTB%></h3><span></span></div>
|
||||
<span class="loccation"><img src="/images/admin/loccation_home.png" alt="홈" /> > <strong><%=MainGlobals.MENU_DTB%></strong></span>
|
||||
</div>
|
||||
|
||||
<div class="contents">
|
||||
<table class="tbl_basic_view">
|
||||
<caption>상세</caption>
|
||||
<colgroup>
|
||||
<col style="width:15%">
|
||||
<col style="width:35%">
|
||||
<col style="width:15%">
|
||||
<col style="width:*">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">제목</th>
|
||||
<td colspan="3" class="left">${dmsDtbVO.title}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">작성자</th>
|
||||
<td class="left">${dmsDtbVO.userNm}</td>
|
||||
<th scope="row">등록일</th>
|
||||
<td class="left">${dmsDtbVO.createDate}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">연락처</th>
|
||||
<td class="left">${dmsDtbVO.tel}</td>
|
||||
<th scope="row">이메일</th>
|
||||
<td class="left">${dmsDtbVO.email}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">첨부파일</th>
|
||||
<td colspan="3" class="left">
|
||||
<c:import url="/common/fms/selectFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${dmsDtbVO.atchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">내용</th>
|
||||
<td colspan="3" class="left"><edosiFmt:formatHtml value="${dmsDtbVO.contents}"/></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="mt10 tR">
|
||||
<c:if test="${checkWriteAuth}">
|
||||
<span class="btn_type_blue"><a href="#modify" onclick="return fn_egov_updateView();">수정</a></span>
|
||||
<span class="btn_type_blue"><a href="#delete" onclick="return fn_egov_delete('${searchVO.parentUrl}');">삭제</a></span>
|
||||
</c:if>
|
||||
<span class="btn_type_gray"><a href="#list" onclick="return fn_egov_selectList();">목록</a></span>
|
||||
</div>
|
||||
</div>
|
||||
94
src/main/webapp/WEB-INF/jsp/dms/dmsDtb/DmsDtbList.jsp
Normal file
94
src/main/webapp/WEB-INF/jsp/dms/dmsDtb/DmsDtbList.jsp
Normal file
@@ -0,0 +1,94 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"
|
||||
%><%@ include file="/common/taglib.jsp"
|
||||
%><%@ page import="egovframework.main.MainGlobals"
|
||||
%><%
|
||||
/**
|
||||
* @Class Name : DmsDtbList.jsp
|
||||
* @Description : DmsDtb List 화면
|
||||
* @Modification Information
|
||||
*
|
||||
* @author 한돈희
|
||||
* @since 2017-06-19
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) All right reserved.
|
||||
*/
|
||||
%><script type="text/javascript" src="/js/dms/dmsDtb.js"></script>
|
||||
<div class="location_box">
|
||||
<div class="loc_h3"><h3><%=MainGlobals.MENU_DTB%></h3><span></span></div>
|
||||
<span class="loccation"><img src="/images/admin/loccation_home.png" alt="홈" /> > <strong><%=MainGlobals.MENU_DTB%></strong></span>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<div class="boardHead">
|
||||
<form:form commandName="searchVO" id="searchForm" action="${searchVO.parentUrl}" cssClass="form-inline" onsubmit="return fn_egov_searchSelectList('search', true);">
|
||||
<form:hidden path="bmode" />
|
||||
<form:hidden path="pageIndex" />
|
||||
<form:hidden path="dtbSeq" />
|
||||
|
||||
<label for="searchCondition" class="labHide">검색항목 선택</label>
|
||||
|
||||
<form:select path="searchCondition" title="검색분류">
|
||||
<form:option value="1">제목</form:option>
|
||||
</form:select>
|
||||
<form:input path="searchKeyword" title="검색" placeholder="검색어를 입력하세요" />
|
||||
<a href="#search" class="btn_search_gray" onclick="return fn_egov_searchSelectList('search', false);">검색</a>
|
||||
<div class="border_right">
|
||||
<span class="right_mar_10">Total ${paginationInfo.totalRecordCount} |<strong class="fCorange">${paginationInfo.currentPageNo}</strong> / ${paginationInfo.totalPageCount}</span>
|
||||
</div>
|
||||
</form:form>
|
||||
</div>
|
||||
|
||||
<table class="tbl_basic" summary="">
|
||||
<caption></caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>제목</th>
|
||||
<th>작성자</th>
|
||||
<th>첨부</th>
|
||||
<th>등록일</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:if test="${empty resultList && empty searchVO.searchKeyword}">
|
||||
<tr>
|
||||
<td colspan="5" class="text-center">조회된 내용이 없습니다.</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:if test="${empty resultList && !empty searchVO.searchKeyword}">
|
||||
<tr>
|
||||
<td colspan="5" class="text-center"><mark>'${searchVO.searchKeyword }'</mark>으로 조회된 내용이 없습니다.</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:set var="number" value="${paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo-1) * paginationInfo.recordCountPerPage)}" />
|
||||
<c:forEach var="list" items="${resultList}" varStatus="status">
|
||||
<tr>
|
||||
<td>${number - status.index}</td>
|
||||
<td>
|
||||
<a href="#view" onclick="return fn_egov_select('${list.dtbSeq}')">${list.title}</a>
|
||||
</td>
|
||||
<td>${list.userNm }</td>
|
||||
<td>
|
||||
<c:if test="${empty list.atchFileId }">
|
||||
|
||||
</c:if>
|
||||
<c:if test="${!empty list.atchFileId }">
|
||||
<img src="/images/admin/cf_tit_ic.png">
|
||||
</c:if>
|
||||
</td>
|
||||
<td>${list.createDate}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="pagination"><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_link_page" /></div>
|
||||
|
||||
<div class="tR">
|
||||
<span class="btn_type_blue"><a href="#add" onclick="return fn_egov_addView();">등록</a></span>
|
||||
<c:if test="${!empty searchVO.searchKeyword}">
|
||||
<span class="btn_type_blue"><a href="#list" onclick="return fn_egov_searchSelectList('init', false);">목록</a></span>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
99
src/main/webapp/WEB-INF/jsp/dms/dmsDtb/DmsDtbRegister.jsp
Normal file
99
src/main/webapp/WEB-INF/jsp/dms/dmsDtb/DmsDtbRegister.jsp
Normal file
@@ -0,0 +1,99 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"
|
||||
%><%@ include file="/common/taglib.jsp"
|
||||
%><%@ page import="egovframework.main.MainGlobals"
|
||||
%><%
|
||||
/**
|
||||
* @Class Name : DmsDtbRegist.jsp
|
||||
* @Description : DmsDtb Regist 화면
|
||||
* @Modification Information
|
||||
*
|
||||
* @author 한돈희
|
||||
* @since 2017-06-19
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) All right reserved.
|
||||
*/
|
||||
%><script type="text/javascript" src="/js/dms/dmsDtb.js"></script>
|
||||
<script type="text/javascript" src="/js/common/EgovMultiFile.js"></script>
|
||||
<form:form commandName="dmsDtbVO" id="detailForm" action="${searchVO.parentUrl}" enctype="multipart/form-data" class="form-horizontal">
|
||||
<input type="hidden" name="bmode" value="${searchVO.bmode}" />
|
||||
<input type="hidden" name="searchCondition" value="${searchVO.searchCondition}" />
|
||||
<input type="hidden" name="searchKeyword" value="${searchVO.searchKeyword}" />
|
||||
<input type="hidden" name="pageIndex" value="${searchVO.pageIndex}" />
|
||||
<form:hidden path="prjSeq" value="${prjSeq }" />
|
||||
<div class="location_box">
|
||||
<div class="loc_h3"><h3><%=MainGlobals.MENU_DTB%></h3><span></span></div>
|
||||
<span class="loccation"><img src="/images/admin/loccation_home.png" alt="홈" /> > <strong><%=MainGlobals.MENU_DTB%></strong></span>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<table class="tbl_basic_view">
|
||||
<caption>글작성</caption>
|
||||
<colgroup>
|
||||
<col style="width:15%">
|
||||
<col style="width:35%">
|
||||
<col style="width:15%">
|
||||
<col style="width:*">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="title">제목</label></th>
|
||||
<td colspan="3" class="left"><form:input path="title" title="제목" cssStyle="width:85%;" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="userNm">작성자</label></th>
|
||||
<td class="left" colspan="3">
|
||||
<input type="text" name="userNm" value="${loginVO.name }" readonly="readonly" style="width:85%;">
|
||||
<input type="hidden" name="userId" value="${loginVO.id }">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="tel">연락처</label></th>
|
||||
<td class="left">
|
||||
<input type="text" name="tel" value="${loginVO.tel }" readonly="readonly" style="width:85%;">
|
||||
</td>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="email">이메일</label></th>
|
||||
<td class="left">
|
||||
<input type="text" name="email" value="${loginVO.email }" readonly="readonly" style="width:85%;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="userNm">첨부파일</label></th>
|
||||
<td colspan="3" class="left">
|
||||
<div><input name="file_" id="egovComFileUploader" type="file" /></div>
|
||||
<c:import url="/common/fms/selectFileInfsForUpdate.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${dmsDtbVO.atchFileId }"/>
|
||||
</c:import>
|
||||
<div id="egovComFileList"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="userNm">내용</label></th>
|
||||
<td colspan="3" class="left">
|
||||
<form:textarea path="contents" cssStyle="width:99%" rows="10" />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<div class="mt10 tR">
|
||||
<c:if test="${empty dmsDtbVO.dtbSeq}">
|
||||
<span class="btn_type_blue"><a href="#add" onclick="return fn_egov_add('${searchVO.parentUrl}');">저장</a></span>
|
||||
</c:if>
|
||||
<c:if test="${!empty dmsDtbVO.dtbSeq}">
|
||||
<span class="btn_type_blue"><a href="#modify" onclick="return fn_egov_update('${searchVO.parentUrl}');">저장</a></span>
|
||||
</c:if>
|
||||
<span class="btn_type_gray"><a href="#list" onclick="return fn_egov_selectList();">목록</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
//첨부파일
|
||||
var maxFileNum = 100;
|
||||
var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum );
|
||||
multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) );
|
||||
});
|
||||
|
||||
</script>
|
||||
265
src/main/webapp/WEB-INF/jsp/dms/dmsHdb/DmsHdbDetail.jsp
Normal file
265
src/main/webapp/WEB-INF/jsp/dms/dmsHdb/DmsHdbDetail.jsp
Normal file
@@ -0,0 +1,265 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"
|
||||
%><%@ include file="/common/taglib.jsp"
|
||||
%><%@ page import="egovframework.main.MainGlobals"
|
||||
%><%
|
||||
/**
|
||||
* @Class Name : DmsHdbDetail.jsp
|
||||
* @Description : DmsHdb Detail 화면
|
||||
* @Modification Information
|
||||
*
|
||||
* @author 한돈희
|
||||
* @since 2017-06-16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) All right reserved.
|
||||
*/
|
||||
%><script type="text/javascript" src="/js/dms/dmsHdb.js"></script>
|
||||
<script type="text/javascript" src="/js/common/calendar/jquery-ui.js"></script>
|
||||
<script type="text/javascript" src="/js/common/calendar/jquery.ui.datepicker-ko.js"></script>
|
||||
<link type="text/css" href="/css/common/calendar/smoothness/jquery-ui.css" rel="stylesheet" />
|
||||
<form:form commandName="searchVO" id="detailForm" action="${searchVO.parentUrl}">
|
||||
<form:hidden path="bmode" />
|
||||
<form:hidden path="pageIndex" />
|
||||
<form:hidden path="hdbSeq" />
|
||||
<form:hidden path="searchCondition" />
|
||||
<form:hidden path="searchKeyword" />
|
||||
</form:form>
|
||||
|
||||
<div class="location_box">
|
||||
<div class="loc_h3"><h3>${prjNm} <%=MainGlobals.MENU_HDB%></h3><span></span></div>
|
||||
<span class="loccation"><img src="/images/admin/loccation_home.png" alt="홈" /> > <strong><%=MainGlobals.MENU_HDB%></strong></span>
|
||||
</div>
|
||||
|
||||
<div class="contents">
|
||||
<table class="tbl_basic_view">
|
||||
<caption>상세</caption>
|
||||
<colgroup>
|
||||
<col style="width:15%">
|
||||
<col style="width:35%">
|
||||
<col style="width:15%">
|
||||
<col style="width:*">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">제목</th>
|
||||
<td class="left">${dmsHdbVO.title}</td>
|
||||
<th scope="row">등록일</th>
|
||||
<td class="left">${dmsHdbVO.createDate}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">작성자</th>
|
||||
<td class="left">${dmsHdbVO.userNm}</td>
|
||||
<th scope="row">진행상태</th>
|
||||
<td class="left">
|
||||
<c:if test="${dmsHdbVO.hdbSts == 'A'}">
|
||||
접수
|
||||
</c:if>
|
||||
<c:if test="${dmsHdbVO.hdbSts == 'B'}">
|
||||
처리중(완료예정일 : ${dmsHdbVO.compScdDate })
|
||||
</c:if>
|
||||
<c:if test="${dmsHdbVO.hdbSts == 'C'}">
|
||||
완료(완료일 : ${dmsHdbVO.compDate })
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">연락처</th>
|
||||
<td class="left">${dmsHdbVO.tel}</td>
|
||||
<th scope="row">이메일</th>
|
||||
<td class="left">${dmsHdbVO.email}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">첨부파일</th>
|
||||
<td colspan="3" class="left">
|
||||
<c:import url="/common/fms/selectFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${dmsHdbVO.atchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">내용</th>
|
||||
<td colspan="3" class="left"><edosiFmt:formatHtml value="${dmsHdbVO.contents}"/></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="mt10 tR">
|
||||
<%-- <c:if test="${ROLE_EMP }"> --%>
|
||||
<span class="btn_type_blue"><a href="#modify" onclick="return fn_egov_replyView();">답변</a></span>
|
||||
<%-- </c:if> --%>
|
||||
<c:if test="${checkWriteAuth && empty dmsHdbReplyList}">
|
||||
<span class="btn_type_blue"><a href="#modify" onclick="return fn_egov_updateView();">수정</a></span>
|
||||
<span class="btn_type_blue"><a href="#delete" onclick="return fn_egov_delete('${searchVO.parentUrl}');">삭제</a></span>
|
||||
</c:if>
|
||||
<span class="btn_type_gray"><a href="#list" onclick="return fn_egov_selectList();">목록</a></span>
|
||||
</div>
|
||||
|
||||
<h1>답변</h1>
|
||||
<c:if test="${ROLE_EMP }">
|
||||
<form:form commandName="statusVO" id="statusForm" action="${searchVO.parentUrl}" class="form-horizontal">
|
||||
<form:hidden path="bmode" />
|
||||
<form:hidden path="pageIndex" />
|
||||
<form:hidden path="hdbSeq" value="${dmsHdbVO.hdbSeq }"/>
|
||||
<form:hidden path="searchCondition" />
|
||||
<form:hidden path="searchKeyword" />
|
||||
<div>
|
||||
진행상태 :
|
||||
<script>
|
||||
$(function (){
|
||||
var radioChk = "${dmsHdbVO.hdbSts}";
|
||||
|
||||
if(radioChk == ''){
|
||||
$("input:radio[id='statusA']").attr("checked", true);
|
||||
}else{
|
||||
$("#status"+radioChk).attr("checked", true);
|
||||
}
|
||||
|
||||
|
||||
if($(".hdbSts:checked").val() == 'B'){
|
||||
$("#statusBdate").show();
|
||||
}
|
||||
|
||||
$(".hdbSts").change(function(){
|
||||
if($(".hdbSts:checked").val() == 'B'){
|
||||
$("#statusBdate").show();
|
||||
}else{
|
||||
$("#statusBdate").hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<form:radiobutton path="hdbSts" class="hdbSts" id="statusA" value="A" label="접수"/>
|
||||
<form:radiobutton path="hdbSts" class="hdbSts" id="statusB" value="B" label="처리중"/>
|
||||
<form:radiobutton path="hdbSts" class="hdbSts" id="statusC" value="C" label="완료"/>
|
||||
|
||||
<span id="statusBdate" style="display: none;">
|
||||
완료예정일 :
|
||||
<form:input type="text" path="compScdDate" id="compScdDate" style="width:100px;" title="완료예정일" value="${dmsHdbVO.compScdDate }" />
|
||||
</span>
|
||||
<span class="btn_type_blue"><a href="#modify" onclick="return fn_hdb_status_update('${searchVO.parentUrl}');">상태변경</a></span>
|
||||
</div>
|
||||
</form:form>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${empty dmsHdbReplyList }">
|
||||
<div>
|
||||
답변 없음.
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${!empty dmsHdbReplyList }">
|
||||
<c:forEach items="${dmsHdbReplyList }" var="list">
|
||||
<table class="tbl_basic_view">
|
||||
<caption>상세</caption>
|
||||
<colgroup>
|
||||
<col style="width:15%">
|
||||
<col style="width:35%">
|
||||
<col style="width:15%">
|
||||
<col style="width:*">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">제목</th>
|
||||
<td colspan="3" class="left">${list.title}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">작성자</th>
|
||||
<td class="left">${list.userNm}</td>
|
||||
<th scope="row">연락처</th>
|
||||
<td class="left">${list.tel}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">내용</th>
|
||||
<td colspan="3" class="left"><edosiFmt:formatHtml value="${list.contents}"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">첨부파일</th>
|
||||
<td colspan="3" class="left">
|
||||
<c:import url="/common/fms/selectFileInfs.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${list.atchFileId}" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="mt10 tR">
|
||||
<c:if test="${loginVO.id == list.userId}">
|
||||
<span class="btn_type_blue"><a href="#modify" onclick="return fn_egov_delete_reply('${searchVO.parentUrl}', '${list.hdbReplySeq }');">삭제</a></span>
|
||||
</c:if>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
<div id="replyView" style="display: none;">
|
||||
<form:form commandName="dmsHdbReplyVO" id="replyForm" action="${searchVO.parentUrl}" enctype="multipart/form-data" class="form-horizontal">
|
||||
<form:hidden path="bmode" />
|
||||
<form:hidden path="pageIndex" />
|
||||
<form:hidden path="hdbReplySeq" />
|
||||
<form:hidden path="hdbSeq" value="${dmsHdbVO.hdbSeq }"/>
|
||||
<form:hidden path="searchCondition" />
|
||||
<form:hidden path="searchKeyword" />
|
||||
<table class="tbl_basic_view">
|
||||
<caption>답변작성</caption>
|
||||
<colgroup>
|
||||
<col style="width:15%">
|
||||
<col style="width:35%">
|
||||
<col style="width:15%">
|
||||
<col style="width:*">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="title">제목</label></th>
|
||||
<td colspan="3" class="left"><form:input path="title" cssStyle="width:99%;"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="userNm">내용</label></th>
|
||||
<td colspan="3" class="left">
|
||||
<form:textarea path="contents" cssStyle="width:99%" rows="10" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="userNm">첨부파일</label></th>
|
||||
<td colspan="3" class="left">
|
||||
<c:import url="/common/fms/selectFileInfsForUpdate.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId"/>
|
||||
</c:import>
|
||||
<div><input name="file_" id="egovComFileUploaderReply" type="file" /></div>
|
||||
<div id="egovComFileListReply"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="mt10 tR">
|
||||
<span class="btn_type_blue"><a href="#modify" onclick="return fn_egov_add_reply('${searchVO.parentUrl}');">등록</a></span>
|
||||
</div>
|
||||
</form:form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
function fn_egov_replyView(){
|
||||
if($("#replyView").css("display") == 'none'){
|
||||
$("#replyView").show();
|
||||
}else{
|
||||
$("#replyView").hide();
|
||||
}
|
||||
}
|
||||
|
||||
//팝업달력
|
||||
$("#compScdDate").datepicker({
|
||||
showOn: "button",
|
||||
buttonImage: "/images/dms/btn_calendar.gif",
|
||||
buttonImageOnly: true,
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
showOtherMonths: true,
|
||||
pageDirectLink: true,
|
||||
selectOtherMonths: true
|
||||
});
|
||||
|
||||
var defaultEndDate = $.datepicker.formatDate('yy-mm-dd', new Date());
|
||||
if($('#compScdDate').val() == ''){
|
||||
$('#compScdDate').val(defaultEndDate);
|
||||
}
|
||||
</script>
|
||||
310
src/main/webapp/WEB-INF/jsp/dms/dmsHdb/DmsHdbList.jsp
Normal file
310
src/main/webapp/WEB-INF/jsp/dms/dmsHdb/DmsHdbList.jsp
Normal file
@@ -0,0 +1,310 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"
|
||||
%><%@ include file="/common/taglib.jsp"
|
||||
%><%@ page import="egovframework.main.MainGlobals"
|
||||
%><%
|
||||
/**
|
||||
* @Class Name : DmsHdbList.jsp
|
||||
* @Description : DmsHdb List 화면
|
||||
* @Modification Information
|
||||
*
|
||||
* @author 한돈희
|
||||
* @since 2017-06-16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) All right reserved.
|
||||
*/
|
||||
%><script type="text/javascript" src="/js/dms/dmsHdb.js"></script>
|
||||
|
||||
<%@ page import="java.util.List" %>
|
||||
<%@ page import="egovframework.dms.hdb.vo.DmsHdbGraphVO" %>
|
||||
|
||||
<!-- Chart.js CDN -->
|
||||
<script src="/js/common/chart.umd.min.js"></script>
|
||||
<script src="/js/common/charts-plugin-datalabels.js"></script>
|
||||
|
||||
<c:set var="now" value="<%= new java.util.Date() %>" />
|
||||
<div class="location_box">
|
||||
<div class="loc_h3"><h3>${prjNm} <%=MainGlobals.MENU_HDB%>
|
||||
(<span class="year-text"><fmt:formatDate value="${now}" pattern="yyyy" /> 년 - </span><span class="sts-a">접수: ${hdbStsA}</span>,
|
||||
<span class="sts-b">처리중: ${hdbStsB}</span>,
|
||||
<span class="sts-c">완료: ${hdbStsC}</span> )
|
||||
</h3><span></span></div>
|
||||
<span class="loccation"><img src="/images/admin/loccation_home.png" alt="홈" /> > <strong><%=MainGlobals.MENU_HDB%></strong></span>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<div class="boardHead">
|
||||
<form:form commandName="searchVO" id="searchForm" action="${searchVO.parentUrl}" cssClass="form-inline" onsubmit="return fn_egov_searchSelectList('search', true);">
|
||||
<form:hidden path="bmode" />
|
||||
<form:hidden path="pageIndex" />
|
||||
<form:hidden path="hdbSeq" />
|
||||
|
||||
<label for="searchCondition" class="labHide">검색항목 선택</label>
|
||||
|
||||
<form:select path="searchCondition" title="검색분류">
|
||||
<form:option value="1">제목</form:option>
|
||||
</form:select>
|
||||
<form:input path="searchKeyword" title="검색" placeholder="검색어를 입력하세요" />
|
||||
<a href="#search" class="btn_search_gray" onclick="return fn_egov_searchSelectList('search', false);">검색</a>
|
||||
<div class="border_right">
|
||||
<span class="right_mar_10">Total ${paginationInfo.totalRecordCount} |<strong class="fCorange">${paginationInfo.currentPageNo}</strong> / ${paginationInfo.totalPageCount}</span>
|
||||
</div>
|
||||
</form:form>
|
||||
</div>
|
||||
|
||||
<table class="tbl_basic" summary="">
|
||||
<caption></caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>제목</th>
|
||||
<th>작성자</th>
|
||||
<th>첨부</th>
|
||||
<th>작성일</th>
|
||||
<th>조회수</th>
|
||||
<!-- <th>완료예정일</th> -->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:if test="${empty resultList && empty searchVO.searchKeyword}">
|
||||
<tr>
|
||||
<td colspan="6" class="text-center">조회된 내용이 없습니다.</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:if test="${empty resultList && !empty searchVO.searchKeyword}">
|
||||
<tr>
|
||||
<td colspan="6" class="text-center"><mark>'${searchVO.searchKeyword }'</mark>으로 조회된 내용이 없습니다.</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:set var="number" value="${paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo-1) * paginationInfo.recordCountPerPage)}" />
|
||||
<c:forEach var="list" items="${resultList}" varStatus="status">
|
||||
<tr>
|
||||
<td>${number - status.index}</td>
|
||||
<td>
|
||||
<c:if test="${list.hdbSts == 'A' }">
|
||||
<span style="color:green;">(접수)</span>
|
||||
</c:if>
|
||||
<c:if test="${list.hdbSts == 'B' }">
|
||||
<span style="color:red;">(처리중)</span>
|
||||
</c:if>
|
||||
<c:if test="${list.hdbSts == 'C' }">
|
||||
<span style="color:blue;">(완료)</span>
|
||||
</c:if>
|
||||
|
||||
<a href="#view" onclick="return fn_egov_select('${list.hdbSeq}')">
|
||||
<c:choose>
|
||||
<c:when test="${empty list.title}">
|
||||
제목없음
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
${list.title}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</a>
|
||||
</td>
|
||||
<td>${list.userNm }</td>
|
||||
<td>
|
||||
<c:if test="${empty list.atchFileId }">
|
||||
|
||||
</c:if>
|
||||
<c:if test="${!empty list.atchFileId }">
|
||||
<img src="/images/admin/cf_tit_ic.png">
|
||||
</c:if>
|
||||
</td>
|
||||
<td>${list.createDate}</td>
|
||||
<td>${list.rdCnt }</td>
|
||||
<%-- <td>${list.compScdDate}</td> --%>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="pagination"><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_link_page" /></div>
|
||||
|
||||
<div class="tR">
|
||||
<c:if test="${ROLE_CUS}">
|
||||
<span class="btn_type_blue"><a href="#add" onclick="return fn_egov_addView();">등록</a></span>
|
||||
</c:if>
|
||||
<c:if test="${!empty searchVO.searchKeyword}">
|
||||
<span class="btn_type_blue"><a href="#list" onclick="return fn_egov_searchSelectList('init', false);">목록</a></span>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%
|
||||
// 연간 월별 집계
|
||||
List<DmsHdbGraphVO> annualList =
|
||||
(List<DmsHdbGraphVO>) request.getAttribute("annualList");
|
||||
|
||||
StringBuilder sbLabels = new StringBuilder("[");
|
||||
StringBuilder sbData = new StringBuilder("[");
|
||||
|
||||
for (int i = 0; i < annualList.size(); i++) {
|
||||
DmsHdbGraphVO row = annualList.get(i);
|
||||
|
||||
sbLabels.append("\"").append(row.getMonth()).append("\"");
|
||||
sbData.append(row.getCnt());
|
||||
|
||||
if (i < annualList.size() - 1) {
|
||||
sbLabels.append(",");
|
||||
sbData.append(",");
|
||||
}
|
||||
}
|
||||
sbLabels.append("]");
|
||||
sbData.append("]");
|
||||
|
||||
// 한달 현황 (도넛)
|
||||
DmsHdbGraphVO monthlyList = (DmsHdbGraphVO) request.getAttribute("monthlyList");
|
||||
|
||||
int cntA = monthlyList.getHdbStsA(); // 접수
|
||||
int cntB = monthlyList.getHdbStsB(); // 처리중
|
||||
int cntC = monthlyList.getHdbStsC(); // 완료
|
||||
%>
|
||||
|
||||
<div class="chart-container">
|
||||
<!-- 막대 그래프 -->
|
||||
<div class="chart-box" style="flex:2;">
|
||||
<canvas id="yearChart"></canvas>
|
||||
</div>
|
||||
|
||||
<!-- 도넛 그래프 -->
|
||||
<div class="chart-box" style="flex:1; position:relative;">
|
||||
<canvas id="monthChart"></canvas>
|
||||
|
||||
<!-- 한달간 요청 0건 문구 -->
|
||||
<div id="noDataMsg"
|
||||
style="display:none; position:absolute; top:50%; left:50%;
|
||||
transform: translate(-50%, -50%);
|
||||
font-size:18px; color:#555; text-align:center;">
|
||||
한달간 요청이 0건입니다.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
/****************************************
|
||||
* 1) 연간 월별 바 차트
|
||||
****************************************/
|
||||
Chart.register(ChartDataLabels);
|
||||
|
||||
const annualLabels = <%= sbLabels.toString() %>;
|
||||
const annualData = <%= sbData.toString() %>;
|
||||
|
||||
new Chart(
|
||||
document.getElementById('yearChart'),
|
||||
{
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: annualLabels,
|
||||
datasets: [{
|
||||
label: '월별 요청수',
|
||||
data: annualData,
|
||||
backgroundColor: 'rgba(255, 206, 86, 0.6)', // 노란색
|
||||
borderColor: 'rgba(255, 206, 86, 1)',
|
||||
borderWidth: 1,
|
||||
borderRadius: 4
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
|
||||
plugins: {
|
||||
title: {
|
||||
display: true,
|
||||
text: '2025년 월별 요청 통계',
|
||||
font: { size: 20, weight: 'bold' },
|
||||
padding: { top: 10, bottom: 20 }
|
||||
},
|
||||
tooltip: {
|
||||
callbacks: {
|
||||
title: function(tooltipItems) {
|
||||
const label = tooltipItems[0].label;
|
||||
return label + '월';
|
||||
},
|
||||
|
||||
label: function(context) {
|
||||
return '요청건수: ' + context.parsed.y;
|
||||
}
|
||||
}
|
||||
},
|
||||
datalabels: {
|
||||
anchor: 'end',
|
||||
align: 'end',
|
||||
color: '#333',
|
||||
font: { size: 12, weight: 'bold' },
|
||||
formatter: function(value) {
|
||||
return value + '건';
|
||||
}
|
||||
}
|
||||
},
|
||||
scales: {
|
||||
x: {
|
||||
title: {
|
||||
display: true,
|
||||
text: '월',
|
||||
color: '#333',
|
||||
font: { size: 14 }
|
||||
}
|
||||
},
|
||||
|
||||
y: {
|
||||
title: { display: true,
|
||||
text: '요청건수',
|
||||
color: '#333',
|
||||
font: { size: 14 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
/****************************************
|
||||
* 2) 한달 현황 도넛 차트
|
||||
****************************************/
|
||||
const cntA = <%= cntA %>; // 접수
|
||||
const cntB = <%= cntB %>; // 처리중
|
||||
const cntC = <%= cntC %>; // 완료
|
||||
|
||||
const monthChartCanvas = document.getElementById('monthChart');
|
||||
const noDataMsg = document.getElementById('noDataMsg');
|
||||
|
||||
// 0건 여부 체크
|
||||
if (cntA === 0 && cntB === 0 && cntC === 0) {
|
||||
// 차트 숨기고 문구 표시
|
||||
monthChartCanvas.style.display = "none";
|
||||
noDataMsg.style.display = "block";
|
||||
} else {
|
||||
// 차트 표시
|
||||
monthChartCanvas.style.display = "block";
|
||||
noDataMsg.style.display = "none";
|
||||
|
||||
new Chart(monthChartCanvas, {
|
||||
type: 'doughnut',
|
||||
data: {
|
||||
labels: ['접수', '처리중', '완료'],
|
||||
datasets: [{
|
||||
data: [cntA, cntB, cntC],
|
||||
backgroundColor: [
|
||||
'rgba(75,192,192,0.7)', // 접수 - 초록
|
||||
'rgba(255,99,132,0.7)', // 처리중 - 빨강
|
||||
'rgba(54,162,235,0.7)' // 완료 - 파랑
|
||||
],
|
||||
borderWidth: 1
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
responsive: true,
|
||||
plugins: {
|
||||
legend: { position: 'bottom' },
|
||||
title: {
|
||||
display: true,
|
||||
text: '최근 한달간 요청현황',
|
||||
font: { size: 20, weight: 'bold' },
|
||||
padding: { top: 10, bottom: 20 }
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
163
src/main/webapp/WEB-INF/jsp/dms/dmsHdb/DmsHdbRegister.jsp
Normal file
163
src/main/webapp/WEB-INF/jsp/dms/dmsHdb/DmsHdbRegister.jsp
Normal file
@@ -0,0 +1,163 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"
|
||||
%><%@ include file="/common/taglib.jsp"
|
||||
%><%@ page import="egovframework.main.MainGlobals"
|
||||
%><%
|
||||
/**
|
||||
* @Class Name : DmsHdbRegist.jsp
|
||||
* @Description : DmsHdb Regist 화면
|
||||
* @Modification Information
|
||||
*
|
||||
* @author 한돈희
|
||||
* @since 2017-06-16
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) All right reserved.
|
||||
*/
|
||||
%><script type="text/javascript" src="/js/dms/dmsHdb.js"></script>
|
||||
<script type="text/javascript" src="/js/common/EgovMultiFile.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
function validateLocal() {
|
||||
var title = document.getElementsByName("title")[0].value.trim();
|
||||
var contents = document.getElementsByName("contents")[0].value.trim();
|
||||
|
||||
if (title === "") {
|
||||
alert("제목을 입력해 주십시오.");
|
||||
return false;
|
||||
}
|
||||
if (contents === "") {
|
||||
alert("내용을 입력해 주십시오.");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
<form:form commandName="dmsHdbVO" id="detailForm" action="${searchVO.parentUrl}" enctype="multipart/form-data" class="form-horizontal">
|
||||
<input type="hidden" name="bmode" value="${searchVO.bmode}" />
|
||||
<input type="hidden" name="searchCondition" value="${searchVO.searchCondition}" />
|
||||
<input type="hidden" name="searchKeyword" value="${searchVO.searchKeyword}" />
|
||||
<input type="hidden" name="pageIndex" value="${searchVO.pageIndex}" />
|
||||
<form:hidden path="prjSeq" value="${prjSeq }" />
|
||||
<div class="location_box">
|
||||
<div class="loc_h3"><h3>${prjNm} <%=MainGlobals.MENU_HDB%></h3><span></span></div>
|
||||
<span class="loccation"><img src="/images/admin/loccation_home.png" alt="홈" /> > <strong><%=MainGlobals.MENU_HDB%></strong></span>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<table class="tbl_basic_view">
|
||||
<caption>글작성</caption>
|
||||
<colgroup>
|
||||
<col style="width:15%">
|
||||
<col style="width:35%">
|
||||
<col style="width:15%">
|
||||
<col style="width:*">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="title">제목</label></th>
|
||||
<td colspan="3" class="left"><form:input path="title" cssStyle="width:99%;"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="userNm">작성자</label></th>
|
||||
<td class="left">
|
||||
<input type="text" name="userNm" value="${loginVO.name }" readonly>
|
||||
<input type="hidden" name="userId" value="${loginVO.id }">
|
||||
</td>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="tel">SMS수신여부</label></th>
|
||||
<td class="left">
|
||||
<form:select path="smsYn">
|
||||
<form:option value="Y">Y</form:option>
|
||||
<form:option value="N">N</form:option>
|
||||
</form:select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="tel">연락처</label></th>
|
||||
<td class="left">
|
||||
<input type="text" name="tel" value="${loginVO.tel }">
|
||||
</td>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="email">이메일</label></th>
|
||||
<td class="left">
|
||||
<input type="text" name="email" value="${loginVO.email }">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="userNm">내용</label></th>
|
||||
<td colspan="3" class="left">
|
||||
<form:textarea path="contents" cssStyle="width:99%" rows="10" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="userNm">첨부파일</label></th>
|
||||
<td colspan="3" class="left">
|
||||
<div><input name="file_" id="egovComFileUploader" type="file" /></div>
|
||||
<c:import url="/common/fms/selectFileInfsForUpdate.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${dmsHdbVO.atchFileId }"/>
|
||||
</c:import>
|
||||
<div id="egovComFileList"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<div class="mt10 tR">
|
||||
<c:if test="${empty dmsHdbVO.hdbSeq}">
|
||||
<span class="btn_type_blue">
|
||||
<a href="#add" onclick="return validateLocal() && fn_egov_add('${searchVO.parentUrl}');">저장</a>
|
||||
</span>
|
||||
</c:if>
|
||||
<c:if test="${!empty dmsHdbVO.hdbSeq}">
|
||||
<span class="btn_type_blue">
|
||||
<a href="#modify" onclick="return validateLocal() && fn_egov_update('${searchVO.parentUrl}');">저장</a>
|
||||
</span>
|
||||
</c:if>
|
||||
<span class="btn_type_gray"><a href="#list" onclick="return fn_egov_selectList();">목록</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
//첨부파일
|
||||
var maxFileNum = 100;
|
||||
var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum );
|
||||
multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) );
|
||||
});
|
||||
</script>
|
||||
|
||||
<%--
|
||||
// 첨부파일
|
||||
<script type="text/javascript" src="/js/common/EgovMultiFile.js"></script>
|
||||
<c:import url="/common/fms/selectFileInfsForUpdate.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${dmsHdbVO.attachFileId }"/>
|
||||
</c:import>
|
||||
<div><input name="file_" id="egovComFileUploader" type="file" /></div>
|
||||
<div id="egovComFileList"></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var maxFileNum = 100;
|
||||
var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum );
|
||||
multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) );
|
||||
</script>
|
||||
|
||||
// 팝업달력
|
||||
<script type="text/javascript" src="/js/common/calendar/jquery-ui.js"></script>
|
||||
<script type="text/javascript" src="/js/common/calendar/jquery.ui.datepicker-ko.js"></script>
|
||||
<link type="text/css" href="/css/common/calendar/smoothness/jquery-ui.css" rel="stylesheet" />
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
// 팝업달력 설정
|
||||
$("#createDate").datepicker({
|
||||
showOn: "button",
|
||||
buttonImage: "/images/contents/btn_calendar.gif",
|
||||
buttonImageOnly: true,
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
showOtherMonths: true,
|
||||
pageDirectLink: true,
|
||||
selectOtherMonths: true
|
||||
});
|
||||
</script>
|
||||
--%>
|
||||
44
src/main/webapp/WEB-INF/jsp/dms/dmsPrj/DmsPrjDetail.jsp
Normal file
44
src/main/webapp/WEB-INF/jsp/dms/dmsPrj/DmsPrjDetail.jsp
Normal file
@@ -0,0 +1,44 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"
|
||||
%><%@ include file="/common/taglib.jsp"
|
||||
%><%
|
||||
/**
|
||||
* @Class Name : DmsPrjDetail.jsp
|
||||
* @Description : DmsPrj Detail 화면
|
||||
* @Modification Information
|
||||
*
|
||||
* @author 한돈희
|
||||
* @since 2017-06-15
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) All right reserved.
|
||||
*/
|
||||
%><script type="text/javascript" src="/js/dms/dmsPrj.js"></script>
|
||||
<form:form commandName="searchVO" id="detailForm" action="${searchVO.parentUrl}">
|
||||
<form:hidden path="bmode" />
|
||||
<form:hidden path="pageIndex" />
|
||||
<form:hidden path="prjSeq" />
|
||||
<form:hidden path="searchCondition" />
|
||||
<form:hidden path="searchKeyword" />
|
||||
</form:form>
|
||||
|
||||
<%--
|
||||
<dl class="dl-horizontal">
|
||||
<dt></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
--%>
|
||||
dmsPrjVO
|
||||
<div class="text-right">
|
||||
<c:if test="${checkWriteAuth}">
|
||||
<a href="#modify" class="btn btn-default btn-sm" role="button" onclick="return fn_egov_updateView();">수정</a>
|
||||
<a href="#delete" class="btn btn-default btn-sm" role="button" onclick="return fn_egov_delete('${searchVO.parentUrl}');">삭제</a>
|
||||
</c:if>
|
||||
<a href="#list" class="btn btn-default btn-sm" role="button" onclick="return fn_egov_selectList();">목록</a>
|
||||
</div>
|
||||
<%--
|
||||
// 첨부파일보기
|
||||
<c:import url="/common/fms/selectFileInfs.do" charEncoding="utf-8"
|
||||
><c:param name="param_atchFileId" value="${dmsPrjVO.attachFileId}"
|
||||
/></c:import>
|
||||
--%>
|
||||
91
src/main/webapp/WEB-INF/jsp/dms/dmsPrj/DmsPrjList.jsp
Normal file
91
src/main/webapp/WEB-INF/jsp/dms/dmsPrj/DmsPrjList.jsp
Normal file
@@ -0,0 +1,91 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"
|
||||
%><%@ include file="/common/taglib.jsp"
|
||||
%><%
|
||||
/**
|
||||
* @Class Name : DmsPrjList.jsp
|
||||
* @Description : DmsPrj List 화면
|
||||
* @Modification Information
|
||||
*
|
||||
* @author 한돈희
|
||||
* @since 2017-06-15
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) All right reserved.
|
||||
*/
|
||||
%><script type="text/javascript" src="/js/dms/dmsPrj.js"></script>
|
||||
<h3></h3>
|
||||
<div class="row">
|
||||
<div class="col-md-3 text-left">
|
||||
Total:${paginationInfo.totalRecordCount} | Page:<span class="fb ftc_red">${paginationInfo.currentPageNo}</span>/${paginationInfo.totalPageCount}
|
||||
</div>
|
||||
<div class="col-md-9 text-right">
|
||||
<form:form commandName="searchVO" id="searchForm" action="${searchVO.parentUrl}" cssClass="form-inline" onsubmit="return fn_egov_searchSelectList('search', true);">
|
||||
<form:hidden path="bmode" />
|
||||
<form:hidden path="pageIndex" />
|
||||
<form:hidden path="prjSeq" />
|
||||
<div class="form-group form-group-sm">
|
||||
<label class="sr-only" for="searchCondition">검색조건</label>
|
||||
<form:select path="searchCondition" cssClass="form-control">
|
||||
<form:option value="1">제목</form:option>
|
||||
</form:select>
|
||||
</div>
|
||||
<div class="form-group form-group-sm">
|
||||
<label class="sr-only" for="searchKeyword">검색어</label>
|
||||
<form:input path="searchKeyword" cssClass="form-control" placeholder="검색어를 입력하세요." />
|
||||
</div>
|
||||
<div class="form-group form-group-sm">
|
||||
<label class="sr-only" for="searchKeyword">검색버튼</label>
|
||||
<input type="button" class="btn btn-default form-control" onclick="return fn_egov_searchSelectList('search', false);" value="검색" />
|
||||
</div>
|
||||
</form:form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-hover table-bordered table-condensed" width="100%" summary="">
|
||||
<caption></caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>프로젝트명</th>
|
||||
<th>담당관리자</th>
|
||||
<th>담당작업자</th>
|
||||
<th>등록일</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:if test="${empty resultList && empty searchVO.searchKeyword}">
|
||||
<tr>
|
||||
<td colspan="5" class="text-center">조회된 내용이 없습니다.</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:if test="${empty resultList && !empty searchVO.searchKeyword}">
|
||||
<tr>
|
||||
<td colspan="5" class="text-center"><mark>'${searchVO.searchKeyword }'</mark>으로 조회된 내용이 없습니다.</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:set var="number" value="${paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo-1) * paginationInfo.recordCountPerPage)}" />
|
||||
<c:forEach var="list" items="${resultList}" varStatus="status">
|
||||
<tr>
|
||||
<td>${number - status.index}</td>
|
||||
<td><a href="#view" onclick="return fn_egov_select('${list.prjSeq}')">${list.prjNm}</a></td>
|
||||
<td>한돈희</td>
|
||||
<td>한돈희</td>
|
||||
<td>${list.createDate}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="box_page">
|
||||
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_link_page" />
|
||||
</div>
|
||||
|
||||
<div class="text-right">
|
||||
<a href="#add" class="btn btn-default btn-sm" role="button" onclick="return fn_egov_addView();">등록</a>
|
||||
<c:if test="${!empty searchVO.searchKeyword}">
|
||||
<a href="#list" class="btn btn-info btn-sm" role="button" onclick="return fn_egov_searchSelectList('init', false);">목록</a>
|
||||
</c:if>
|
||||
</div>
|
||||
78
src/main/webapp/WEB-INF/jsp/dms/dmsPrj/DmsPrjRegister.jsp
Normal file
78
src/main/webapp/WEB-INF/jsp/dms/dmsPrj/DmsPrjRegister.jsp
Normal file
@@ -0,0 +1,78 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"
|
||||
%><%@ include file="/common/taglib.jsp"
|
||||
%><%
|
||||
/**
|
||||
* @Class Name : DmsPrjRegist.jsp
|
||||
* @Description : DmsPrj Regist 화면
|
||||
* @Modification Information
|
||||
*
|
||||
* @author 한돈희
|
||||
* @since 2017-06-15
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) All right reserved.
|
||||
*/
|
||||
%><script type="text/javascript" src="/js/dms/dmsPrj.js"></script>
|
||||
<form:form commandName="dmsPrjVO" id="detailForm" action="${searchVO.parentUrl}" enctype="multipart/form-data" class="form-horizontal">
|
||||
<input type="hidden" name="bmode" value="${searchVO.bmode}" />
|
||||
<input type="hidden" name="searchCondition" value="${searchVO.searchCondition}" />
|
||||
<input type="hidden" name="searchKeyword" value="${searchVO.searchKeyword}" />
|
||||
<input type="hidden" name="pageIndex" value="${searchVO.pageIndex}" />
|
||||
<h3></h3>
|
||||
<%--
|
||||
<div class="form-group">
|
||||
<label for="" class="col-sm-2 control-label"></label>
|
||||
<div class="col-sm-10">
|
||||
<form:input path="" cssClass="form-control" />
|
||||
</div>
|
||||
</div>
|
||||
--%>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-2 col-sm-10 text-right">
|
||||
<c:if test="${empty dmsPrjVO.prjSeq}">
|
||||
<a href="#add" onclick="return fn_egov_add('${searchVO.parentUrl}');" role="button" class="btn btn-primary btn-sm">저장</a>
|
||||
</c:if>
|
||||
<c:if test="${!empty dmsPrjVO.prjSeq}">
|
||||
<a href="#modify" onclick="return fn_egov_update('${searchVO.parentUrl}');" role="button" class="btn btn-success btn-sm">저장</a>
|
||||
</c:if>
|
||||
<a href="#list" onclick="return fn_egov_selectList();" role="button" class="btn btn-default btn-sm">목록</a>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
|
||||
<%--
|
||||
// 첨부파일
|
||||
<script type="text/javascript" src="/js/common/EgovMultiFile.js"></script>
|
||||
<c:import url="/common/fms/selectFileInfsForUpdate.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${dmsPrjVO.attachFileId }"/>
|
||||
</c:import>
|
||||
<div><input name="file_" id="egovComFileUploader" type="file" /></div>
|
||||
<div id="egovComFileList"></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var maxFileNum = 100;
|
||||
var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum );
|
||||
multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) );
|
||||
</script>
|
||||
|
||||
// 팝업달력
|
||||
<script type="text/javascript" src="/js/common/calendar/jquery-ui.js"></script>
|
||||
<script type="text/javascript" src="/js/common/calendar/jquery.ui.datepicker-ko.js"></script>
|
||||
<link type="text/css" href="/css/common/calendar/smoothness/jquery-ui.css" rel="stylesheet" />
|
||||
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
// 팝업달력 설정
|
||||
$("#createDate").datepicker({
|
||||
showOn: "button",
|
||||
buttonImage: "/images/contents/btn_calendar.gif",
|
||||
buttonImageOnly: true,
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
showOtherMonths: true,
|
||||
pageDirectLink: true,
|
||||
selectOtherMonths: true
|
||||
});
|
||||
</script>
|
||||
--%>
|
||||
90
src/main/webapp/WEB-INF/jsp/dms/hmsUser/HmsUserDetail.jsp
Normal file
90
src/main/webapp/WEB-INF/jsp/dms/hmsUser/HmsUserDetail.jsp
Normal file
@@ -0,0 +1,90 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"
|
||||
%><%@ include file="/common/taglib.jsp"
|
||||
%><%@ page import="egovframework.main.MainGlobals"
|
||||
%><%
|
||||
/**
|
||||
* @Class Name : HmsUserAdminDetail.jsp
|
||||
* @Description : HmsUserAdmin Detail 화면
|
||||
* @Modification Information
|
||||
*
|
||||
* @author 한돈희
|
||||
* @since 2017-06-15
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) All right reserved.
|
||||
*/
|
||||
%><script type="text/javascript" src="${pageContext.request.contextPath}/js/dms/hmsUser.js"></script>
|
||||
<form:form commandName="searchVO" id="detailForm" action="${searchVO.parentUrl}">
|
||||
<form:hidden path="bmode" />
|
||||
<form:hidden path="pageIndex" />
|
||||
<form:hidden path="userSeq" />
|
||||
<form:hidden path="searchCondition" />
|
||||
<form:hidden path="searchKeyword" />
|
||||
</form:form>
|
||||
|
||||
<div class="location_box">
|
||||
<div class="loc_h3"><h3><%=MainGlobals.MENU_MYPAGE%></h3><span></span></div>
|
||||
<span class="loccation"><img src="/images/admin/loccation_home.png" alt="홈" /> > <strong><%=MainGlobals.MENU_MYPAGE%></strong></span>
|
||||
</div>
|
||||
|
||||
<div class="contents">
|
||||
<table class="tbl_basic_view">
|
||||
<caption>상세</caption>
|
||||
<colgroup>
|
||||
<col style="width:15%">
|
||||
<col style="width:35%">
|
||||
<col style="width:15%">
|
||||
<col style="width:*">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row">아이디</th>
|
||||
<td colspan="3" class="left">${hmsUserVO.userId}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">이름</th>
|
||||
<td colspan="3" class="left">${hmsUserVO.userNm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">소속</th>
|
||||
<td colspan="3" class="left">${hmsUserVO.deptNm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">직급</th>
|
||||
<td colspan="3" class="left">${hmsUserVO.positionNm}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">이메일</th>
|
||||
<td colspan="3" class="left">${hmsUserVO.email}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">전화번호</th>
|
||||
<td colspan="3" class="left">${hmsUserVO.tel}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">권한</th>
|
||||
<td class="left" colspan="3">
|
||||
<c:if test="${hmsUserVO.userType eq 'EMP'}">
|
||||
작업자
|
||||
</c:if>
|
||||
<c:if test="${hmsUserVO.userType eq 'CUS'}">
|
||||
공무원
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">담당프로젝트</th>
|
||||
<td class="left" colspan="3">
|
||||
<c:forEach items="${prjList }" var="list">
|
||||
<div>${list.prjNm }</div>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="mt10 tR">
|
||||
<span class="btn_type_blue"><a href="#modify" onclick="return fn_egov_updateView();">수정</a></span>
|
||||
</div>
|
||||
</div>
|
||||
106
src/main/webapp/WEB-INF/jsp/dms/hmsUser/HmsUserRegister.jsp
Normal file
106
src/main/webapp/WEB-INF/jsp/dms/hmsUser/HmsUserRegister.jsp
Normal file
@@ -0,0 +1,106 @@
|
||||
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"
|
||||
%><%@ include file="/common/taglib.jsp"
|
||||
%><%@ page import="egovframework.main.MainGlobals"
|
||||
%><%
|
||||
/**
|
||||
* @Class Name : HmsUserAdminRegist.jsp
|
||||
* @Description : HmsUserAdmin Regist 화면
|
||||
* @Modification Information
|
||||
*
|
||||
* @author aaa
|
||||
* @since 2016-08-30
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
* Copyright (C) All right reserved.
|
||||
*/
|
||||
%><script type="text/javascript" src="${pageContext.request.contextPath}/js/dms/hmsUser.js"></script>
|
||||
|
||||
<form:form commandName="hmsUserVO" id="detailForm" action="${searchVO.parentUrl}" enctype="multipart/form-data">
|
||||
<input type="hidden" name="bmode" value="${searchVO.bmode}" />
|
||||
<input type="hidden" name="searchCondition" value="${searchVO.searchCondition}" />
|
||||
<input type="hidden" name="searchKeyword" value="${searchVO.searchKeyword}" />
|
||||
<input type="hidden" name="pageIndex" value="${searchVO.pageIndex}" />
|
||||
|
||||
<div class="location_box">
|
||||
<div class="loc_h3"><h3><%=MainGlobals.MENU_MYPAGE%></h3><span></span></div>
|
||||
<span class="loccation"><img src="/images/admin/loccation_home.png" alt="홈" /> > <strong><%=MainGlobals.MENU_MYPAGE%></strong></span>
|
||||
</div>
|
||||
|
||||
<div class="contents">
|
||||
<table class="tbl_basic_view">
|
||||
<caption>글작성</caption>
|
||||
<colgroup>
|
||||
<col style="width:15%">
|
||||
<col style="width:35%">
|
||||
<col style="width:15%">
|
||||
<col style="width:*">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="userId">아이디</label></th>
|
||||
<td class="left">
|
||||
<c:if test="${empty hmsUserVO.userId}">
|
||||
<form:input path="userId" /><input type="button" value="중복확인" onclick="checkUserIdDup();">
|
||||
</c:if>
|
||||
<c:if test="${!empty hmsUserVO.userId}">
|
||||
<span>
|
||||
<form:input path="userId" readonly="true"/>
|
||||
</span>
|
||||
</c:if>
|
||||
</td>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="userNm">이름</label></th>
|
||||
<td class="left"><form:input path="userNm" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<c:if test="${empty hmsUserVO.userId}">
|
||||
<th scope="row"><span class="fCred">*</span> <label for="passwd">비밀번호</label></th>
|
||||
<td class="left"><form:password path="passwd" /></td>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="passwd1">비밀번호확인</label></th>
|
||||
<td class="left"><input type="password" name="passwd1" id="passwd1" /></td>
|
||||
</c:if>
|
||||
<c:if test="${!empty hmsUserVO.userId}">
|
||||
<th scope="row"><span class="fCred">*</span> <label for="passwd">비밀번호</label></th>
|
||||
<td class="left"><form:input path="passwd" /></td>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="passwd1">비밀번호확인</label></th>
|
||||
<td class="left"><input type="password" name="passwd1" id="passwd1" value="${hmsUserVO.passwd }"/></td>
|
||||
</c:if>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><span class="fCred">*</span> <label for="deptNm">소속</label></th>
|
||||
<td class="left">
|
||||
<form:select path="deptCd">
|
||||
<c:forEach items="${deptAllList }" var="deptList">
|
||||
<c:if test="${empty hmsUserVO.userId}">
|
||||
<option value="${deptList.deptCd}">${deptList.deptNm }</option>
|
||||
</c:if>
|
||||
<c:if test="${!empty hmsUserVO.userId}">
|
||||
<option value="${deptList.deptCd}" <c:if test="${hmsUserVO.deptCd eq deptList.deptCd}"> selected="selected" </c:if>>${deptList.deptNm }</option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</td>
|
||||
<th scope="row"><label for="positionNm">직급</label></th>
|
||||
<td class="left"><form:input path="positionNm" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="email">이메일</label></th>
|
||||
<td class="left"><form:input path="email" /></td>
|
||||
<th scope="row"><span class="fCred">*</span><label for="tel">전화번호</label></th>
|
||||
<td class="left">
|
||||
<form:input path="tel" /><br/>
|
||||
<span class="fCred">* 업무시 문자 연락가니 정확히 입력해주세요.</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="mt10 tR">
|
||||
<c:if test="${!empty hmsUserVO.userId}">
|
||||
<span class="btn_type_blue"><a href="#modify" onclick="return fn_egov_update('${searchVO.parentUrl}');">저장</a></span>
|
||||
</c:if>
|
||||
<span class="btn_type_gray"><a href="#list" onclick="javascript:history.back();">상세</a></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form:form>
|
||||
Reference in New Issue
Block a user