견문관리 모달 수정.

첩보수집활동 모달 수정 작업중.
강석 최 2022-12-12 18:53:35 +09:00
parent c30d94f9d4
commit 4ae6c80851
4 changed files with 206 additions and 240 deletions

View File

@ -168,23 +168,12 @@ function getAffairEditModal(affairKey){
success: function(html){ success: function(html){
$("#affairEditModalContent").empty().append(html) $("#affairEditModalContent").empty().append(html)
$("#affairEditModal").modal('show'); $("#affairEditModal").modal('show');
$("#reportDt, #autoDelete").datepicker({ $("#reportDt").datepicker({
format: "yyyy-mm-dd", format: "yyyy-mm-dd",
language: "ko", language: "ko",
autoclose: true autoclose: true
}); });
$("#content").summernote({ setEditor('editor', '470');
lang:'ko-KR',
height: 270,
disableDragAndDrop: true,
toolbar: [
['style', ['style']],
['font', ['bold', 'underline', 'clear']],
['color', ['color']],
['para', ['ul', 'ol', 'paragraph']],
['table', ['table']]
]
});
setUploadDiv(); setUploadDiv();
}, },
error:function(){ error:function(){
@ -205,6 +194,7 @@ function saveAffair(affairStatus){
$(".text-decoration-line-through").each(function (idx, el){ $(".text-decoration-line-through").each(function (idx, el){
formData.append('fileSeq', $(el).attr("data-fileseq")); formData.append('fileSeq', $(el).attr("data-fileseq"));
}) })
formData.append('content', CrossEditor.GetBodyValue());
$.ajax({ $.ajax({
type : 'POST', type : 'POST',
data : formData, data : formData,

View File

@ -20,10 +20,9 @@
<div class="col-sm-2"> <div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="wrtUserNm" name="wrtUserNm" th:value="${affair.wrtUserNm}" readonly> <input type="text" class="form-control form-control-sm" id="wrtUserNm" name="wrtUserNm" th:value="${affair.wrtUserNm}" readonly>
</div> </div>
</div> <label th:for="${accessAuth eq 'ACC003'?'reportDt': ''}" class="col-sm-1 col-form-label col-form-label-sm text-center">보고일자</label>
<label for="reportDt" class="col-sm-1 col-form-label col-form-label-sm text-center">보고일자</label>
<div class="col-sm-2"> <div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="reportDt" name="reportDt" th:value="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}" readonly> <input type="text" class="form-control form-control-sm" th:id="${accessAuth eq 'ACC003'?'reportDt': ''}" name="reportDt" th:value="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}" readonly>
</div> </div>
<label for="viewStatus" class="col-sm-1 col-form-label col-form-label-sm text-center">공개여부</label> <label for="viewStatus" class="col-sm-1 col-form-label col-form-label-sm text-center">공개여부</label>
<div class="col-sm-2"> <div class="col-sm-2">
@ -34,6 +33,13 @@
</th:block> </th:block>
</select> </select>
</div> </div>
</div>
<div class="row mb-1">
<label for="title" class="col-sm-1 col-form-label col-form-label-sm text-center">제목</label>
<div class="col-sm-11">
<input type="text" class="form-control form-control-sm" id="title" name="title" th:value="${affair.title}">
</div>
</div>
<div class="row mb-1"> <div class="row mb-1">
<label for="affairType1" class="col-sm-1 col-form-label col-form-label-sm text-center">분야1</label> <label for="affairType1" class="col-sm-1 col-form-label col-form-label-sm text-center">분야1</label>
<div class="col-sm-2"> <div class="col-sm-2">
@ -73,15 +79,10 @@
</div> </div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<label for="title" class="col-sm-1 col-form-label col-form-label-sm text-center">제목</label> <label for="editor" class="col-sm-1 col-form-label col-form-label-sm text-center">내용</label>
<div class="col-sm-11"> <div class="col-sm-11">
<input type="text" class="form-control form-control-sm" id="title" name="title" th:value="${affair.title}"> <div id="editor"></div>
</div> <textarea id="content" class="d-none" th:utext="${affair.content}"></textarea>
</div>
<div class="row mb-1">
<label for="title" class="col-sm-1 col-form-label col-form-label-sm text-center">내용</label>
<div class="col-sm-11">
<textarea id="content" name="content" th:utext="${affair.content}"></textarea>
</div> </div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">

View File

@ -238,7 +238,6 @@
</div> </div>
<div class="row justify-content-between"> <div class="row justify-content-between">
<div class="col-auto"> <div class="col-auto">
<input type="button" class="btn btn-success" value="등록" id="addAffairBtn" th:unless="${accessAuth eq 'ACC001'}">
</div> </div>
<div class="col-auto"> <div class="col-auto">
<nav aria-label="Page navigation"> <nav aria-label="Page navigation">
@ -266,6 +265,7 @@
</nav> </nav>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<input type="button" class="btn btn-success" value="등록" id="addAffairBtn" th:unless="${accessAuth eq 'ACC001'}">
<input type="button" class="btn btn-warning" value="결재" id="tableApprvBtn" th:if="${page eq 'stay' and apprvAuth ne null}" th:data-apprvauth="${apprvAuth}"> <input type="button" class="btn btn-warning" value="결재" id="tableApprvBtn" th:if="${page eq 'stay' and apprvAuth ne null}" th:data-apprvauth="${apprvAuth}">
</div> </div>
</div> </div>

View File

@ -5,112 +5,82 @@
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="row">
<div class="col-12">
<input type="hidden" name="affairKey" id="viewModalAffairKey" th:value="${affair.affairKey}"> <input type="hidden" name="affairKey" id="viewModalAffairKey" th:value="${affair.affairKey}">
<input type="hidden" name="wrtOrgan" th:value="${affair.wrtOrgan}"> <ul class="nav nav-tabs" id="userTab" role="tablist">
<input type="hidden" name="affairStatus" id="affairStatus" th:value="${affair.affairStatus}"> <li class="nav-item" role="presentation">
<button class="nav-link active" id="boardTab" data-bs-toggle="tab" data-bs-target="#boardTabPanel" type="button" role="tab" aria-controls="boardTabPanel" aria-selected="true">본문</button>
</li>
<li class="nav-item" role="presentation" th:if="${#lists.size(affair.fileList)>0}">
<button class="nav-link" id="fileTab" data-bs-toggle="tab" data-bs-target="#fileTabPanel" type="button" role="tab" aria-controls="fileTabPanel" aria-selected="false" th:text="${#strings.concat('첨부파일(', #lists.size(affair.fileList), ')')}"></button>
</li>
</ul>
<div class="tab-content bg-white border border-top-0 p-2">
<div class="tab-pane fade p-2 show active" id="boardTabPanel" role="tabpanel" tabindex="0">
<div class="row mb-1"> <div class="row mb-1">
<label for="wrtUserNm" class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
<div class="col-sm-2"> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${affair.wrtUserNm}"></label>
<input type="text" class="form-control form-control-sm border-0" id="wrtUserNm" name="wrtUserNm" th:value="${affair.wrtUserNm}" readonly> <label class="col-sm-1 col-form-label col-form-label-sm text-center">보고일자</label>
</div> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}"></label>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">작성일시</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center">공개여부</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm border-0" id="wrtDt" name="wrtDt" th:value="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
</div>
<label class="col-sm-1 col-form-label col-form-label-sm text-center"></label>
<div class="col-sm-2"></div>
<label for="affairStatus" class="col-sm-1 col-form-label col-form-label-sm text-center">상태</label>
<div class="col-sm-2">
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
<input type="text" class="form-control form-control-sm border-0" th:if="${commonCode.itemCd eq affair.affairStatus}" th:value="${commonCode.itemValue}" readonly>
</th:block>
</div>
</div>
<div class="row mb-1">
<label for="reportDt" class="col-sm-1 col-form-label col-form-label-sm text-center">보고일자</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm border-0" id="reportDt" name="reportDt" th:value="${#temporals.format(affair.reportDt, 'yyyy-MM-dd')}" readonly>
</div>
<label for="autoDelete" class="col-sm-1 col-form-label col-form-label-sm text-center">자동삭제</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm border-0" id="autoDelete" name="autoDelete" th:value="${#temporals.format(affair.autoDelete, 'yyyy-MM-dd')}" readonly>
</div>
<label for="viewStatus" class="col-sm-1 col-form-label col-form-label-sm text-center">공개여부</label>
<div class="col-sm-2">
<th:block th:each="code:${session.commonCode.get('AVS')}"> <th:block th:each="code:${session.commonCode.get('AVS')}">
<th:block th:if="${code.itemCd eq affair.viewStatus}"> <th:block th:if="${code.itemCd eq affair.viewStatus}">
<input type="text" class="form-control form-control-sm border-0" id="viewStatus" th:value="${code.itemValue}" readonly> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${code.itemValue}"></label>
</th:block>
</th:block>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상태</label>
<th:block th:each="code:${session.commonCode.get('DST')}">
<th:block th:if="${code.itemCd eq affair.affairStatus}">
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${code.itemValue}"></label>
</th:block> </th:block>
</th:block> </th:block>
</div> </div>
</div> <hr>
<div class="row mb-1"> <div class="row">
<label for="affairType1" class="col-sm-1 col-form-label col-form-label-sm text-center">분야1</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center">제목</label>
<div class="col-sm-2"> <label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.title}"></label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">분야1</label>
<th:block th:each="code:${session.commonCode.get('DC01')}"> <th:block th:each="code:${session.commonCode.get('DC01')}">
<th:block th:if="${code.itemCd eq affair.affairType1}"> <th:block th:if="${code.itemCd eq affair.affairType1}">
<input type="text" class="form-control form-control-sm border-0" id="affairType1" th:value="${code.itemValue}" readonly> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${code.itemValue}"></label>
</th:block> </th:block>
</th:block> </th:block>
</div> <label class="col-sm-1 col-form-label col-form-label-sm text-center">분야2</label>
<label for="affairType2" class="col-sm-1 col-form-label col-form-label-sm text-center">분야2</label>
<div class="col-sm-2">
<th:block th:each="code:${session.commonCode.get('DC02')}"> <th:block th:each="code:${session.commonCode.get('DC02')}">
<th:block th:if="${code.itemCd eq affair.affairType2}"> <th:block th:if="${code.itemCd eq affair.affairType2}">
<input type="text" class="form-control form-control-sm border-0" id="affairType2" th:value="${code.itemValue}" readonly> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${code.itemValue}"></label>
</th:block> </th:block>
</th:block> </th:block>
</div> <label class="col-sm-1 col-form-label col-form-label-sm text-center">분야3</label>
<label for="affairType3" class="col-sm-1 col-form-label col-form-label-sm text-center">분야3</label>
<div class="col-sm-2">
<th:block th:each="code:${session.commonCode.get('DC03')}"> <th:block th:each="code:${session.commonCode.get('DC03')}">
<th:block th:if="${code.itemCd eq affair.affairType3}"> <th:block th:if="${code.itemCd eq affair.affairType3}">
<input type="text" class="form-control form-control-sm border-0" id="affairType3" th:value="${code.itemValue}" readonly> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${code.itemValue}"></label>
</th:block> </th:block>
</th:block> </th:block>
</div> <label class="col-sm-1 col-form-label col-form-label-sm text-center">분야4</label>
<label for="affairType4" class="col-sm-1 col-form-label col-form-label-sm text-center">분야4</label>
<div class="col-sm-2">
<th:block th:each="code:${session.commonCode.get('DC04')}"> <th:block th:each="code:${session.commonCode.get('DC04')}">
<th:block th:if="${code.itemCd eq affair.affairType4}"> <th:block th:if="${code.itemCd eq affair.affairType4}">
<input type="text" class="form-control form-control-sm border-0" id="affairType4" th:value="${code.itemValue}" readonly> <label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${code.itemValue}"></label>
</th:block> </th:block>
</th:block> </th:block>
</div> </div>
</div>
<hr> <hr>
<div class="row"> <div class="row">
<div class="col-8"> <label class="col-sm-1 col-form-label col-form-label-sm text-center">내용</label>
<div class="row"> <div class="col-sm-11 form-control-sm" id="contentDiv">
<label for="title" class="col-sm-2 col-form-label text-center">제목</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-sm border-0" id="title" name="title" th:value="${affair.title}" readonly>
</div>
</div>
<hr>
<div class="row">
<label for="contentDiv" class="col-sm-2 col-form-label text-center">내용</label>
<div class="col-sm-10" id="contentDiv">
<div th:utext="${affair.content}"></div> <div th:utext="${affair.content}"></div>
</div> </div>
</div> </div>
<hr> <hr>
<div class="row mb-1"> <div class="row mb-1">
<label for="hashTags" class="col-sm-2 col-form-label text-center">해시태그</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center">해시태그</label>
<div class="col-sm-10"> <label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.hashTags}"></label>
<input type="text" class="form-control form-control-sm border-0" id="hashTags" name="hashTags" th:value="${affair.hashTags}" readonly>
</div>
</div> </div>
<div class="row mb-1"> <div class="row mb-1">
<label for="etc" class="col-sm-2 col-form-label text-center">비고</label> <label class="col-sm-1 col-form-label col-form-label-sm text-center">비고</label>
<div class="col-sm-10"> <label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${affair.etc}"></label>
<input type="text" class="form-control form-control-sm border-0" id="etc" name="etc" th:value="${affair.etc}" readonly>
</div> </div>
</div> </div>
</div> <div class="tab-pane fade p-2" id="fileTabPanel" role="tabpanel" tabindex="0">
<div class="col-4">
<table class="table"> <table class="table">
<thead> <thead>
<tr> <tr>
@ -136,66 +106,70 @@
</tbody> </tbody>
</table> </table>
</div> </div>
</div> <div class="row">
<th:block th:unless="${#lists.isEmpty(affair.rateList)}"> <div class="col-12" th:unless="${#lists.isEmpty(affair.rateList)}">
<hr> <hr>
<th:block th:each="rate:${affair.rateList}"> <th:block th:each="rate:${affair.rateList}">
<div class="row py-1"> <div class="row py-1">
<div class="col-auto"> <label class="col-sm-1 col-form-label col-form-label-sm text-center">
<th:block th:each="commonCode:${session.commonCode.get('OG')}"> <th:block th:each="code:${session.commonCode.get('OG')}">
<p th:if="${commonCode.itemCd eq rate.ratingOrgan}" th:text="${commonCode.itemValue}"></p> <th:block th:if="${code.itemCd eq rate.ratingOrgan}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
</div> </label>
<div class="col-auto"> <div class="col-auto">
<div class="row" th:if="${rate.sectionApprv eq null}"> <div class="row" th:if="${rate.sectionApprv eq null}">
<div class="col-auto"> <label class="col-sm-auto col-form-label col-form-label-sm text-center">결재정보가 없습니다.</label>
<p>결재정보가 없습니다.</p>
</div>
</div> </div>
<div class="row" th:if="${rate.sectionApprv ne null}"> <div class="row" th:if="${rate.sectionApprv ne null}">
<div class="col-auto"> <label class="col-sm-auto col-form-label col-form-label-sm text-center">결재결과: </label>
<th:block th:each="commonCode:${session.commonCode.get('DST')}"> <label class="col-sm-auto col-form-label col-form-label-sm text-start">
<span th:if="${commonCode.itemCd eq rate.sectionApprv}" th:text="|결재결과: ${commonCode.itemValue}|"></span> <th:block th:each="code:${session.commonCode.get('DST')}">
<th:block th:if="${code.itemCd eq rate.sectionApprv}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
<span th:text="|결재자: ${rate.sectionNm}|"></span> </label>
</div> <label class="col-sm-auto col-form-label col-form-label-sm text-center">결재자: </label>
<div class="col-auto"> <label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${rate.sectionNm}"></label>
<span th:text="|결재일시: ${#temporals.format(rate.sectionApprvDt, 'yyyy-MM-dd HH:mm:ss')}|"></span> <label class="col-sm-auto col-form-label col-form-label-sm text-center">결재일시: </label>
</div> <label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${#temporals.format(rate.sectionApprvDt, 'yyyy-MM-dd HH:mm:ss')}"></label>
<div class="col-12">
<span th:text="|기타의견: ${rate.sectionEtc eq null?'':rate.sectionEtc}|"></span>
</div> </div>
<div class="row" th:if="${rate.sectionApprv ne null and !#strings.isEmpty(rate.sectionEtc)}">
<label class="col-sm-auto col-form-label col-form-label-sm text-center">기타의견: </label>
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${rate.sectionEtc}"></label>
</div> </div>
<div class="row" th:if="${rate.headApprv ne null}"> <div class="row" th:if="${rate.headApprv ne null}">
<div class="col-auto" th:data-headapprv="${rate.headApprv}">
<th:block th:if="${rate.headApprv eq 'DST006'}"> <th:block th:if="${rate.headApprv eq 'DST006'}">
<th:block th:each="commonCode:${session.commonCode.get('AAR')}"> <label class="col-sm-auto col-form-label col-form-label-sm text-center">견문평가: </label>
<span th:if="${commonCode.itemCd eq rate.affairRate}" th:text="|견문평가: ${commonCode.itemValue} ${rate.organUp eq 'T'?'(상보)':''}|"></span> <label class="col-sm-auto col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('AAR')}">
<th:block th:if="${code.itemCd eq rate.affairRate}" th:text="|${code.itemValue}${rate.organUp eq 'T'?'(상보)':''}|"></th:block>
</th:block> </th:block>
</label>
</th:block> </th:block>
<th:block th:if="${rate.headApprv eq 'DST005'}"> <th:block th:if="${rate.headApprv eq 'DST005'}">
<th:block th:each="commonCode:${session.commonCode.get('DST')}"> <label class="col-sm-auto col-form-label col-form-label-sm text-center">결재결과: </label>
<span th:if="${commonCode.itemCd eq rate.headApprv}" th:text="|결재결과: ${commonCode.itemValue}|"></span> <label class="col-sm-auto col-form-label col-form-label-sm text-start">
<th:block th:each="code:${session.commonCode.get('DST')}">
<th:block th:if="${code.itemCd eq rate.headApprv}" th:text="${code.itemValue}"></th:block>
</th:block> </th:block>
</label>
</th:block> </th:block>
<span th:text="|결재자: ${rate.headNm}|"></span> <label class="col-sm-auto col-form-label col-form-label-sm text-center">결재자: </label>
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${rate.headNm}"></label>
<label class="col-sm-auto col-form-label col-form-label-sm text-center">결재일시: </label>
<label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${#temporals.format(rate.headApprvDt, 'yyyy-MM-dd HH:mm:ss')}"></label>
</div> </div>
<div class="col-auto"> <div class="row" th:if="${rate.headApprv ne null and !#strings.isEmpty(rate.headEtc)}">
<span th:text="|결재일시: ${#temporals.format(rate.headApprvDt, 'yyyy-MM-dd HH:mm:ss')}|"></span> <label class="col-sm-auto col-form-label col-form-label-sm text-center">기타의견: </label>
</div> <label class="col-sm-auto col-form-label col-form-label-sm text-start" th:text="${rate.headEtc}"></label>
<div class="col-12">
<span th:text="|기타의견: ${rate.headEtc eq null?'':rate.headEtc}|"></span>
</div> </div>
</div> </div>
</div> </div>
</div>
</th:block>
</th:block> </th:block>
</div> </div>
<div class="col-12" th:if="${apprvAuth ne null}"> <div class="col-12" th:if="${apprvAuth ne null}">
<form action="#" method="post" id="apprvForm"> <form action="#" method="post" id="apprvForm">
<input type="hidden" name="affairKey" th:value="${affair.affairKey}"> <input type="hidden" name="affairKey" th:value="${affair.affairKey}">
<th:block th:if="${(apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and affair.affairStatus eq 'DST002'}"> <th:block th:if="${(apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and affair.affairStatus eq 'DST002' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
<input type="hidden" name="sectionApprv" id="sectionApprv"> <input type="hidden" name="sectionApprv" id="sectionApprv">
<div class="row"> <div class="row">
<div class="col-10"> <div class="col-10">
@ -210,7 +184,7 @@
</div> </div>
</div> </div>
</th:block> </th:block>
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and affair.affairStatus eq 'DST004'}"> <th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and affair.affairStatus eq 'DST004' and affair.rateList.get(0).ratingOrgan eq userOrgan}">
<input type="hidden" name="headApprv" id="headApprv"> <input type="hidden" name="headApprv" id="headApprv">
<div class="row"> <div class="row">
<div class="col-8"> <div class="col-8">
@ -241,6 +215,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="modal-footer bg-light"> <div class="modal-footer bg-light">
<th:block th:unless="${affair.affairStatus eq 'DST004' or affair.affairStatus eq 'DST006'}"><!--승인 상태일때는 수정 불가--> <th:block th:unless="${affair.affairStatus eq 'DST004' or affair.affairStatus eq 'DST006'}"><!--승인 상태일때는 수정 불가-->
<th:block th:if="${userSeq eq affair.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용--> <th:block th:if="${userSeq eq affair.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->