parent
2c298660ee
commit
c27b656560
|
|
@ -30,9 +30,12 @@ public class ActivityCaseController {
|
|||
mav.addObject("accessAuth", accessAuth);
|
||||
|
||||
mav.addObject("ogCd", loginUser.getOgCd());
|
||||
activityCase.setWrtOrgan(loginUser.getOgCd());
|
||||
if(accessAuth.equals("ACC003")){
|
||||
activityCase.setWrtOrgan(loginUser.getOgCd());
|
||||
activityCase.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
}
|
||||
activityCase.setWrtUserSeq(loginUser.getUserSeq());
|
||||
activityCase.setQueryInfo();
|
||||
activityCase.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||
mav.addObject("activityCaseList", activityCaseService.selectActivityCaseList(activityCase));
|
||||
activityCase.setContentCnt(activityCaseService.selectActivityCaseCnt(activityCase));
|
||||
activityCase.setPaginationInfo();
|
||||
|
|
@ -81,7 +84,10 @@ public class ActivityCaseController {
|
|||
public ModelAndView activityCaseSummaryModal(@AuthenticationPrincipal UserInfo loginUser, ActivityCaseSummary activityCase){
|
||||
ModelAndView mav = new ModelAndView("counterIntelligence/activityCase/activityCaseSummaryModal");
|
||||
List<ActivityCaseSummary> activityCaseList = activityCaseService.selectActivityCaseInfoList(activityCase.getReceiptKey());
|
||||
mav.addObject("viewUserSeq", loginUser.getUserSeq());
|
||||
mav.addObject("wrtUserSeq", activityCaseList.get(activityCaseList.size()-1).getWrtUserSeq());
|
||||
mav.addObject("lastCaseType", activityCaseList.get(activityCaseList.size()-1).getCaseType());
|
||||
mav.addObject("lastStatus", activityCaseList.get(activityCaseList.size()-1).getStatus());
|
||||
mav.addObject("receiptKey", activityCase.getReceiptKey());
|
||||
mav.addObject("activityCaseList", activityCaseList);
|
||||
return mav;
|
||||
|
|
@ -110,6 +116,11 @@ public class ActivityCaseController {
|
|||
return activityCaseService.saveActivityCase(activityCase, activityCaseInfo, deleteFileSeq);
|
||||
}
|
||||
|
||||
@PostMapping("/saveActivityCaseApprv")
|
||||
public void saveActivityCaseApprv(@RequestBody ActivityCaseApprv apprv){
|
||||
activityCaseService.saveActivityCaseApprv(apprv);
|
||||
}
|
||||
|
||||
@PostMapping("/deleteActivityCase")
|
||||
public Integer deleteActivityCase(@AuthenticationPrincipal UserInfo loginUser, ActivityCase activityCase){
|
||||
String accessAuth = authMgtService.selectAccessConfigList
|
||||
|
|
|
|||
|
|
@ -149,4 +149,15 @@ public class ActivityCaseService extends BaseService {
|
|||
public List<ActivityCaseSummary> selectActivityCaseInfoList(Integer receiptKey) {
|
||||
return acMapper.selectActivityCaseInfoList(receiptKey);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void saveActivityCaseApprv(ActivityCaseApprv apprv) {
|
||||
ActivityCaseApprv savedApprv = acaRepository.findById(new ActivityCaseApprv.ActivityCaseApprvId(apprv.getCaseKey(), apprv.getUserSeq())).orElse(null);
|
||||
if(savedApprv!=null){
|
||||
savedApprv.setInstructions(apprv.getInstructions());
|
||||
savedApprv.setApprvYn(apprv.getApprvYn());
|
||||
savedApprv.setApprvDt(LocalDateTime.now());
|
||||
acaRepository.save(savedApprv);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,14 @@
|
|||
<mapper namespace="com.dbnt.faisp.main.counterIntelligence.activityCase.mapper.ActivityCaseMapper">
|
||||
<sql id="selectActivityCaseListWhere">
|
||||
<where>
|
||||
<if test='wrtUserSeq != null and wrtUserSeq != 0'>
|
||||
and (a.wrt_user_seq = #{wrtUserSeq}
|
||||
or a.receipt_key in (select a.receipt_key
|
||||
from activity_case_info a
|
||||
inner join activity_case_apprv b
|
||||
on a.case_key = b.case_key
|
||||
where b.user_seq = #{wrtUserSeq}))
|
||||
</if>
|
||||
<if test='receiptKey != null and receiptKey != ""'>
|
||||
and a.receipt_key = #{receiptKey}
|
||||
</if>
|
||||
|
|
@ -15,9 +23,6 @@
|
|||
<if test='wrtUserNm != null and wrtUserNm != ""'>
|
||||
and a.wrt_user_nm like '%'||#{wrtUserNm}||'%'
|
||||
</if>
|
||||
<if test='wrtOrgan != null and wrtOrgan != ""'>
|
||||
and a.wrt_organ = #{wrtOrgan}
|
||||
</if>
|
||||
<if test='dateSelector == "reportDate"'>
|
||||
<if test='startDate != null and startDate != ""'>
|
||||
and c.report_date >= #{startDate}::date
|
||||
|
|
@ -34,6 +39,9 @@
|
|||
and c.wrt_dt <= #{endDate}::date+1
|
||||
</if>
|
||||
</if>
|
||||
<if test='wrtOrgan != null and wrtOrgan != ""'>
|
||||
and a.wrt_organ = #{wrtOrgan}
|
||||
</if>
|
||||
<if test="downOrganCdList != null">
|
||||
and a.wrt_organ in
|
||||
<foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">
|
||||
|
|
|
|||
|
|
@ -40,7 +40,11 @@ $(document).on('click', '.saveBtn', function(){
|
|||
|
||||
$(document).on('click', '.addInfoBtn', function (){
|
||||
const target = $(this);
|
||||
getActivityCaseEditModal(target.attr('data-receiptkey'), null, target.attr('data-casetype'))
|
||||
if(target.attr('data-laststatus')==="DST001"){
|
||||
alert('임시저장 문서 작성을 마쳐주세요.')
|
||||
}else{
|
||||
getActivityCaseEditModal(target.attr('data-receiptkey'), null, target.attr('data-casetype'))
|
||||
}
|
||||
})
|
||||
|
||||
$(document).on('click', '.activityCaseTr', function (){
|
||||
|
|
@ -51,6 +55,18 @@ $(document).on('click', '.summaryTr', function (){
|
|||
getActivityCaseViewModal($(this).find(".receiptKey").val(), $(this).find(".caseKey").val());
|
||||
})
|
||||
|
||||
$(document).on('click', '#editInfoBtn', function (){
|
||||
const modalBody = $("#activityCaseViewModalBody");
|
||||
getActivityCaseEditModal(modalBody.find('#receiptKey').val(), modalBody.find('#caseKey').val(), modalBody.find('#caseType').val())
|
||||
})
|
||||
|
||||
$(document).on('click', '.apprvBtn', function (){
|
||||
const apprvValue = $(this).attr('data-apprvvalue');
|
||||
if (confirm((apprvValue==="Y"?"승인":"반려")+"하시겠습니까?")){
|
||||
const apprvRow = $(this).parents(".apprvRow");
|
||||
setApprvResult($("#activityCaseViewModalBody").find("#caseKey").val(), apprvRow.find(".apprvUserSeq").val(), apprvRow.find(".instructions").val(), apprvValue);
|
||||
}
|
||||
})
|
||||
function getActivityCaseEditModal(receiptKey, caseKey, caseType){
|
||||
$.ajax({
|
||||
url: '/counterIntelligence/activityCaseEditModal',
|
||||
|
|
@ -204,6 +220,27 @@ function saveActivityCase(status){
|
|||
}
|
||||
}
|
||||
|
||||
function setApprvResult(caseKey, userSeq, instructions, apprvValue){
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
data : JSON.stringify({caseKey: caseKey, userSeq: userSeq, instructions: instructions, apprvYn: apprvValue}),
|
||||
url : "/counterIntelligence/saveActivityCaseApprv",
|
||||
contentType: 'application/json',
|
||||
beforeSend: function (xhr){
|
||||
xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val());
|
||||
},
|
||||
success : function(result) {
|
||||
alert((apprvValue==="Y"?'승인':'반려')+"되었습니다.");
|
||||
contentFade("out");
|
||||
location.reload();
|
||||
},
|
||||
error : function(xhr, status) {
|
||||
alert("실패하였습니다.")
|
||||
contentFade("out");
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function deleteActivityCase(caseKey){
|
||||
if(confirm("삭제하시겠습니까?")){
|
||||
contentFade("in");
|
||||
|
|
@ -252,50 +289,15 @@ function contentCheck(){
|
|||
}else{
|
||||
|
||||
}
|
||||
switch ($("#caseType").val()) {
|
||||
case "ACT001":
|
||||
if(!$("#caseProgress").val()){
|
||||
alert("외사활동 사항을 입력해주세요.")
|
||||
return false;
|
||||
}
|
||||
if(!$("#description").val()){
|
||||
alert("외사활동이 필요한 이유를 입력해주세요.")
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case "ACT002":
|
||||
if(!$("#caseProgress").val()){
|
||||
alert("외사활동 사항을 입력해주세요.")
|
||||
return false;
|
||||
}
|
||||
if(!$("#description").val()){
|
||||
alert("조치 및 건의를 입력해주세요.")
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case "ACT003":
|
||||
if(!$("#allegations").val()){
|
||||
alert("혐의요지를 입력해주세요.")
|
||||
return false;
|
||||
}
|
||||
if(!$("#applicableLaw").val()){
|
||||
alert("적용법조를 입력해주세요.")
|
||||
return false;
|
||||
}
|
||||
if(!$("#caseProgress").val()){
|
||||
alert("내사진행상황을 입력해주세요.")
|
||||
return false;
|
||||
}
|
||||
if(!$("#description").val()){
|
||||
alert("조치 및 건의를 입력해주세요.")
|
||||
return false;
|
||||
}
|
||||
if(!$("#activityResult").val()){
|
||||
alert("결과를 선택해주세요.")
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
|
||||
if(!CrossEditor.GetTextValue()){
|
||||
alert("외사활동사항을 입력해주세요.")
|
||||
return false;
|
||||
}
|
||||
if($("#caseType").val() === "ACT003"){
|
||||
if(!$("#activityResult").val()){
|
||||
alert("결과를 선택해주세요.")
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,29 +56,29 @@
|
|||
</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-5">
|
||||
<div th:class="${activityCaseInfo.caseType eq 'ACT003'?'col-sm-5':'col-sm-8'}">
|
||||
<input type="text" class="form-control form-control-sm" id="title" name="title" th:value="${activityCaseInfo.title}">
|
||||
</div>
|
||||
<th:block th:if="${activityCaseInfo.caseType ne 'ACT003'}">
|
||||
<div class="col-sm-3"></div>
|
||||
</th:block>
|
||||
<th:block th:if="${activityCaseInfo.caseType eq 'ACT003'}">
|
||||
<label for="activityResult" class="col-sm-1 col-form-label col-form-label-sm text-center">결과</label>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-select form-select-sm" id="activityResult" name="activityResult">
|
||||
<option value="">선택</option>
|
||||
<th:block th:each="code:${session.commonCode.get('ACAT')}">
|
||||
<option th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
</th:block>
|
||||
<label for="reportDate" 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 dateSelector" id="reportDate" name="reportDate" th:value="${#temporals.format(activityCaseInfo.reportDate, 'yyyy-MM-dd')}">
|
||||
<input type="text" class="form-control form-control-sm dateSelector" id="reportDate" name="reportDate" autocomplete="off" th:value="${#temporals.format(activityCaseInfo.reportDate, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="suspectAddBtn" class="col-sm-1 col-form-label col-form-label-sm text-center">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">
|
||||
혐의자
|
||||
<button type="button" class="border-0 bg-white" id="suspectAddBtn">
|
||||
<button type="button" class="border-0" id="suspectAddBtn">
|
||||
<i class="bi bi-plus-square text-primary"></i>
|
||||
</button>
|
||||
</label>
|
||||
|
|
@ -124,10 +124,6 @@
|
|||
<div class="col-sm-2">
|
||||
<input type="text" class="form-control form-control-sm suspectPhone" th:value="${suspect.phone}">
|
||||
</div>
|
||||
<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 suspectAddr" th:value="${suspect.address}">
|
||||
</div>
|
||||
<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 suspectJob" th:value="${suspect.job}">
|
||||
|
|
@ -138,6 +134,14 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 mb-1">
|
||||
<div class="row">
|
||||
<label 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 suspectAddr" th:value="${suspect.address}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 mb-1">
|
||||
<div class="row">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">비고</label>
|
||||
|
|
@ -173,9 +177,9 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="suspectAddBtn" class="col-sm-1 col-form-label col-form-label-sm text-center">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">
|
||||
결재자
|
||||
<button type="button" class="border-0 bg-white" id="apprvAddBtn">
|
||||
<button type="button" class="border-0" id="apprvAddBtn">
|
||||
<i class="bi bi-plus-square text-primary"></i>
|
||||
</button>
|
||||
</label>
|
||||
|
|
@ -210,7 +214,7 @@
|
|||
<select class="form-select form-select-sm apprvType">
|
||||
<option value="">선택</option>
|
||||
<th:block th:each="code:${session.commonCode.get('ACAT')}">
|
||||
<th:block th:if="${code.useChk eq 'Y'}" th:value="${code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer bg-light">
|
||||
<button type="button" class="btn btn-outline-dark addInfoBtn" th:data-receiptkey="${receiptKey}" data-casetype="ACT002" th:if="${lastCaseType ne 'ACT003'}">진행보고서 작성</button>
|
||||
<button type="button" class="btn btn-outline-dark addInfoBtn" th:data-receiptkey="${receiptKey}" data-casetype="ACT003" th:if="${lastCaseType ne 'ACT003'}">결과보고서 작성</button>
|
||||
<div class="modal-footer bg-light" th:if="${lastCaseType ne 'ACT003' and viewUserSeq eq wrtUserSeq}">
|
||||
<button type="button" class="btn btn-outline-dark addInfoBtn" th:data-receiptkey="${receiptKey}" data-casetype="ACT002" th:data-laststatus="${lastStatus}">진행보고서 작성</button>
|
||||
<button type="button" class="btn btn-outline-dark addInfoBtn" th:data-receiptkey="${receiptKey}" data-casetype="ACT003" th:data-laststatus="${lastStatus}">결과보고서 작성</button>
|
||||
</div>
|
||||
|
|
@ -9,14 +9,13 @@
|
|||
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body" id="activityCaseViewModalBody">
|
||||
<input type="hidden" id="receiptKey" th:value="${activityCase.receiptKey}">
|
||||
<input type="hidden" id="caseKey" th:value="${activityCaseInfo.caseKey}">
|
||||
<input type="hidden" id="caseType" th:value="${activityCaseInfo.caseType}">
|
||||
<ul class="nav nav-tabs" id="userTab" role="tablist">
|
||||
<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">
|
||||
<button class="nav-link" id="apprvTab" data-bs-toggle="tab" data-bs-target="#apprvTabPanel" type="button" role="tab" aria-controls="apprvTabPanel" aria-selected="false">결재</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation" th:if="${#lists.size(activityCaseInfo.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(activityCaseInfo.fileList), ')')}"></button>
|
||||
</li>
|
||||
|
|
@ -32,22 +31,120 @@
|
|||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${activityCase.wrtUserNm}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">작성일시</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(activityCaseInfo.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">제목</label>
|
||||
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${activityCaseInfo.title}"></label>
|
||||
<label class="col-form-label col-form-label-sm text-start" th:classappend="${activityCaseInfo.caseType eq 'ACT003'?'col-sm-5':'col-sm-8'}" th:text="${activityCaseInfo.title}"></label>
|
||||
<th:block th:if="${activityCaseInfo.caseType eq 'ACT003'}">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">결과</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
||||
<th:block th:each="code:${session.commonCode.get('ACAT')}">
|
||||
<th:block th:if="${code.itemCd eq activityCaseInfo.activityResult}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</label>
|
||||
</th:block>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">보고일자</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(activityCaseInfo.reportDate, 'yyyy-MM-dd')}"></label>
|
||||
</div>
|
||||
<hr class="my-1">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">외사활동<br>대상자</label>
|
||||
<div class="col-sm-11 form-control-sm" id="suspectDiv">
|
||||
<th:block th:each="suspect:${activityCase.suspectList}">
|
||||
<div class="row mx-2 my-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">분류</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
||||
<th:block th:each="code:${session.commonCode.get('ACS')}">
|
||||
<th:block th:if="${code.itemCd eq suspect.type}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">성명</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${suspect.name}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">성별</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
|
||||
<th:block th:each="code:${session.commonCode.get('SEX')}">
|
||||
<th:block th:if="${code.itemCd eq suspect.sex}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">생년월일</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(suspect.birthDate, 'yyyy-MM-dd')}"></label>
|
||||
</div>
|
||||
<div class="row mx-2 my-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">핸드폰</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${suspect.phone}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">직업</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${suspect.job}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">등록기준지</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${suspect.area}"></label>
|
||||
</div>
|
||||
<div class="row mx-2 my-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">주소</label>
|
||||
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${suspect.address}"></label>
|
||||
</div>
|
||||
<div class="row mx-2 my-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">비고</label>
|
||||
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${suspect.etc}"></label>
|
||||
</div>
|
||||
<hr class="my-1">
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">외사활동 사항</label>
|
||||
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
||||
<div th:utext="${activityCaseInfo.content}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">외사활동이<br>필요한 이유</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center fw-bold">결제</label>
|
||||
<div class="col-sm-11">
|
||||
<div class="row">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center mb-0 fw-bold">구분</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center mb-0 fw-bold">경로</label>
|
||||
<label class="col-sm-6 col-form-label col-form-label-sm text-center mb-0 fw-bold">지휘 및 의견</label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center mb-0 fw-bold">결재</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center mb-0 fw-bold">일시</label>
|
||||
</div>
|
||||
<th:block th:each="apprv:${activityCaseInfo.apprvList}">
|
||||
<div class="row apprvRow">
|
||||
<input type="hidden" class="apprvUserSeq" th:value="${apprv.userSeq}">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-start mb-0">
|
||||
<th:block th:each="code:${session.commonCode.get('ACAT')}">
|
||||
<th:block th:if="${code.itemCd eq apprv.apprvType}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start mb-0">
|
||||
<th:block th:each="code:${session.commonCode.get('OG')}">
|
||||
<th:block th:if="${code.itemCd eq apprv.ogCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
<th:block th:each="code:${session.commonCode.get(apprv.ogCd)}">
|
||||
<th:block th:if="${code.itemCd eq apprv.ofcCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
<th:block th:each="code:${session.commonCode.get('JT')}">
|
||||
<th:block th:if="${code.itemCd eq apprv.titleCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
<th:block th:text="${apprv.userNm}"></th:block>
|
||||
</label>
|
||||
<th:block th:if="${apprv.userSeq eq viewUserSeq}">
|
||||
<div class="col-sm-6 border border-dark mb-0">
|
||||
<input type="text" class="form-control form-control-sm instructions">
|
||||
</div>
|
||||
<div class="col-sm-1 border border-dark mb-0 px-0">
|
||||
<button type="button" class="btn btn-sm btn-outline-success apprvBtn" data-apprvvalue="Y">승인</button>
|
||||
<button type="button" class="btn btn-sm btn-outline-danger apprvBtn" data-apprvvalue="N">반려</button>
|
||||
</div>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start mb-0"></label>
|
||||
</th:block>
|
||||
<th:block th:unless="${apprv.userSeq eq viewUserSeq}">
|
||||
<label class="col-sm-6 col-form-label col-form-label-sm text-start mb-0" th:text="${apprv.instructions}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-start mb-0" th:text="${apprv.apprvYn eq null?'대기':(apprv.apprvYn eq 'Y'?'승인':'반려')}"></label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start mb-0" th:text="${#temporals.format(apprv.apprvDt, 'yyyy-MM-dd')}"></label>
|
||||
</th:block>
|
||||
</div>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane fade p-2" id="apprvTabPanel" role="tabpanel" tabindex="0">
|
||||
</div>
|
||||
<div class="tab-pane fade p-2" id="fileTabPanel" role="tabpanel" tabindex="0">
|
||||
<div class="row mb-3">
|
||||
<div class="col-sm-12">
|
||||
|
|
@ -83,8 +180,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer bg-light">
|
||||
<button type="button" class="btn btn-danger" id="deleteCiWorkBtn">삭제</button>
|
||||
<button type="button" class="btn btn-warning" id="editCiWorkBtn">수정</button>
|
||||
<!-- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>-->
|
||||
<div class="modal-footer bg-light" th:if="${activityCaseInfo.status eq 'DST001' and viewUserSeq eq activityCase.wrtUserSeq}">
|
||||
<!--<button type="button" class="btn btn-danger" id="deleteInfoBtn">삭제</button>-->
|
||||
<button type="button" class="btn btn-warning" id="editInfoBtn">수정</button>
|
||||
</div>
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
<select class="form-select form-select-sm apprvType">
|
||||
<option value="">선택</option>
|
||||
<th:block th:each="code:${session.commonCode.get('ACAT')}">
|
||||
<th:block th:if="${code.useChk eq 'Y'}" th:value="${code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
<option th:if="${code.useChk eq 'T'}" th:value="${code.itemCd}" th:text="${code.itemValue}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -38,10 +38,6 @@
|
|||
<div class="col-sm-2">
|
||||
<input type="text" class="form-control form-control-sm suspectPhone">
|
||||
</div>
|
||||
<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 suspectAddr">
|
||||
</div>
|
||||
<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 suspectJob">
|
||||
|
|
@ -52,6 +48,14 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 mb-1">
|
||||
<div class="row">
|
||||
<label 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 suspectAddr">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 mb-1">
|
||||
<div class="row">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">비고</label>
|
||||
|
|
|
|||
Loading…
Reference in New Issue