외사첩보망, 외사모니터링 조회모달 결재버튼 오류 수정.
parent
77bc993246
commit
1ecc311a7c
|
|
@ -136,10 +136,10 @@ public class IntelligenceNetworkController {
|
|||
}
|
||||
|
||||
@GetMapping("/operationPlanViewModal")
|
||||
public ModelAndView operationPlanViewModal(@AuthenticationPrincipal UserInfo loginUser, OperationPlan op){
|
||||
public ModelAndView operationPlanViewModal(@AuthenticationPrincipal UserInfo loginUser, OperationPlan operationPlan){
|
||||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/operationPlanViewModal");
|
||||
op = intelligenceNetworkService.selectOperationPlan(op.getOpKey());
|
||||
mav.addObject("op", op);
|
||||
operationPlan = intelligenceNetworkService.selectOperationPlan(operationPlan.getOpKey());
|
||||
mav.addObject("operationPlan", operationPlan);
|
||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||
mav.addObject("viewOrgan",loginUser.getOgCd());
|
||||
//메뉴권한 확인
|
||||
|
|
|
|||
|
|
@ -103,12 +103,12 @@ public class IntelligenceNetworkService extends BaseService {
|
|||
}
|
||||
|
||||
public OperationPlan selectOperationPlan(Integer opKey) {
|
||||
OperationPlan savedOperationPlan = operationPlanRepository.findById(opKey).orElse(null);
|
||||
if (savedOperationPlan != null) {
|
||||
savedOperationPlan.setFileList(operationPlanFileRepository.findByOpKey(opKey));
|
||||
savedOperationPlan.setApprvList(operationPlanApprvRepository.findByOpKey(opKey));
|
||||
OperationPlan operationPlan = operationPlanRepository.findById(opKey).orElse(null);
|
||||
if (operationPlan != null) {
|
||||
operationPlan.setFileList(operationPlanFileRepository.findByOpKey(opKey));
|
||||
operationPlan.setApprvList(operationPlanApprvRepository.findByOpKey(opKey));
|
||||
}
|
||||
return savedOperationPlan;
|
||||
return operationPlan;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
|
|
|
|||
|
|
@ -132,9 +132,23 @@
|
|||
</div>
|
||||
<div class="col-auto">
|
||||
<th:block th:if="${fer.wrtOrgan eq viewOrgan}">
|
||||
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and fer.ferState eq 'DST002'}">
|
||||
<button type="button" class="btn btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" th:value="반려">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" th:value="승인">승인</button>
|
||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and fer.ferState eq 'DST002'}">
|
||||
<!--계장, 계장대행 결재권한이 있으면서 결재대기상태-->
|
||||
<th:block th:if="${#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')}">
|
||||
<!--과장, 과장대행 결재권한이 있을경우-->
|
||||
<button type="button" class="btn btn-danger apprvBtn" data-planstate="DST005">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" data-planstate="DST006">승인</button>
|
||||
</th:block>
|
||||
<th:block th:unless="${#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')}">
|
||||
<!--과장, 과장대행 결재권한이 없을경우-->
|
||||
<button type="button" class="btn btn-danger apprvBtn" data-planstate="DST003">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" data-planstate="DST004">승인</button>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and fer.ferState eq 'DST004'}">
|
||||
<!--계장 권한 없이 과장, 과장대행 결재권한이 있을경우-->
|
||||
<button type="button" class="btn btn-danger apprvBtn" data-planstate="DST005">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" data-planstate="DST006">승인</button>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:unless="${fer.ferState eq 'DST004' or fer.ferState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
||||
|
|
|
|||
|
|
@ -197,9 +197,23 @@
|
|||
</div>
|
||||
<div class="col-auto">
|
||||
<th:block th:if="${ia.wrtOrgan eq viewOrgan}">
|
||||
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and ia.iaState eq 'DST002'}">
|
||||
<button type="button" class="btn btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" th:value="반려">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" th:value="승인">승인</button>
|
||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and ia.iaState eq 'DST002'}">
|
||||
<!--계장, 계장대행 결재권한이 있으면서 결재대기상태-->
|
||||
<th:block th:if="${#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')}">
|
||||
<!--과장, 과장대행 결재권한이 있을경우-->
|
||||
<button type="button" class="btn btn-danger apprvBtn" data-planstate="DST005">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" data-planstate="DST006">승인</button>
|
||||
</th:block>
|
||||
<th:block th:unless="${#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')}">
|
||||
<!--과장, 과장대행 결재권한이 없을경우-->
|
||||
<button type="button" class="btn btn-danger apprvBtn" data-planstate="DST003">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" data-planstate="DST004">승인</button>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and ia.iaState eq 'DST004'}">
|
||||
<!--계장 권한 없이 과장, 과장대행 결재권한이 있을경우-->
|
||||
<button type="button" class="btn btn-danger apprvBtn" data-planstate="DST005">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" data-planstate="DST006">승인</button>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:unless="${ia.iaState eq 'DST004' or ia.iaState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
||||
|
|
|
|||
|
|
@ -10,80 +10,80 @@
|
|||
<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(op.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(op.fileList), ')')}"></button>
|
||||
<li class="nav-item" role="presentation" th:if="${#lists.size(operationPlan.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(operationPlan.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">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">운용시작일</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${op.opSdate}"></label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${operationPlan.opSdate}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq op.wrtUserGrd}" th:text="|${commonCode.itemValue} ${op.wrtUserNm}|"></label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq operationPlan.wrtUserGrd}" th:text="|${commonCode.itemValue} ${operationPlan.wrtUserNm}|"></label>
|
||||
</th:block>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(op.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(operationPlan.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상태</label>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq op.opState}" th:text="${commonCode.itemValue}"></label>
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:if="${commonCode.itemCd eq operationPlan.opState}" th:text="${commonCode.itemValue}"></label>
|
||||
</th:block>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="row mb-1"><h6 class="">■ 정보협력자 구성</h6></div>
|
||||
<div class="row text-center">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">성명:</label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${op.opName}"></label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${operationPlan.opName}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">생년월일:</label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${op.opBirth}"></label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${operationPlan.opBirth}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">근무처(소속):</label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${op.opPosition}"></label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${operationPlan.opPosition}"></label>
|
||||
</div>
|
||||
<div class="row text-center">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">직업(직위):</label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${op.opJob}"></label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${operationPlan.opJob}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">경력:</label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${op.opCareer}"></label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${operationPlan.opCareer}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">연락처:</label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${op.opPhone}"></label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${operationPlan.opPhone}"></label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">주소:</label>
|
||||
<label class="col-sm-7 col-form-label col-form-label-sm text-start" th:text="${op.opAddress}"></label>
|
||||
<label class="col-sm-7 col-form-label col-form-label-sm text-start" th:text="${operationPlan.opAddress}"></label>
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">등급:</label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${op.opRank}"></label>
|
||||
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${operationPlan.opRank}"></label>
|
||||
</div>
|
||||
<div class="row">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">기타 참고:</label>
|
||||
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${op.opEtc}"></label>
|
||||
<label class="col-sm-11 col-form-label col-form-label-sm text-start" th:text="${operationPlan.opEtc}"></label>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="row">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">대상목표<br>및<br>위지</label>
|
||||
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
||||
<div th:utext="${#strings.replace(op.targetLocation, lineSeparator, '<br>')}"></div>
|
||||
<div th:utext="${#strings.replace(operationPlan.targetLocation, lineSeparator, '<br>')}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">취약성 분석</label>
|
||||
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
||||
<div th:utext="${#strings.replace(op.vulnerabilityAnalyze, lineSeparator, '<br>')}"></div>
|
||||
<div th:utext="${#strings.replace(operationPlan.vulnerabilityAnalyze, lineSeparator, '<br>')}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">적격성 분석</label>
|
||||
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
||||
<div th:utext="${#strings.replace(op.eligibilityAnalyze, lineSeparator, '<br>')}"></div>
|
||||
<div th:utext="${#strings.replace(operationPlan.eligibilityAnalyze, lineSeparator, '<br>')}"></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-1 col-form-label col-form-label-sm text-center">중점 수집사항</label>
|
||||
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
||||
<div th:utext="${#strings.replace(op.focusCollection, lineSeparator, '<br>')}"></div>
|
||||
<div th:utext="${#strings.replace(operationPlan.focusCollection, lineSeparator, '<br>')}"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -96,13 +96,13 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<th:block th:if="${#lists.isEmpty(op.fileList)}">
|
||||
<th:block th:if="${#lists.isEmpty(operationPlan.fileList)}">
|
||||
<tr>
|
||||
<td colspan="2">파일이 없습니다.</td>
|
||||
</tr>
|
||||
</th:block>
|
||||
<th:block th:unless="${#lists.isEmpty(op.fileList)}">
|
||||
<th:block th:each="file:${op.fileList}">
|
||||
<th:block th:unless="${#lists.isEmpty(operationPlan.fileList)}">
|
||||
<th:block th:each="file:${operationPlan.fileList}">
|
||||
<tr class="fileInfoTr">
|
||||
<td><a href="#" class="fileDownLink" data-board="operationPlan"
|
||||
th:data-parentkey="${file.opKey}" th:data-fileseq="${file.fileSeq}" th:text="|${file.origNm}.${file.fileExtn}|"></a></td>
|
||||
|
|
@ -114,9 +114,9 @@
|
|||
</table>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12" th:unless="${#lists.isEmpty(op.apprvList)}">
|
||||
<div class="col-12" th:unless="${#lists.isEmpty(operationPlan.apprvList)}">
|
||||
<hr>
|
||||
<th:block th:each="apprv:${op.apprvList}">
|
||||
<th:block th:each="apprv:${operationPlan.apprvList}">
|
||||
<div class="row">
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:if="${commonCode.itemCd eq apprv.state}" th:text="|결재결과: ${commonCode.itemValue}|"></label>
|
||||
|
|
@ -137,7 +137,7 @@
|
|||
<form action="#" method="post" id="apprvForm">
|
||||
<div class="row">
|
||||
<div class="col-10">
|
||||
<input type="hidden" name="opKey" th:value="${op.opKey}">
|
||||
<input type="hidden" name="opKey" th:value="${operationPlan.opKey}">
|
||||
<input type="hidden" name="state" id="viewModalApprvValue">
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -146,22 +146,36 @@
|
|||
</div>
|
||||
<div class="modal-footer justify-content-between bg-light">
|
||||
<div class="col-auto">
|
||||
<th:block th:unless="${op.opState eq 'DST004' or op.opState eq 'DST006'}">
|
||||
<th:block th:if="${userSeq eq op.wrtUserSeq or accessAuth eq 'ACC003'}">
|
||||
<button type="button" class="btn btn-danger" th:data-opkey="${op.opKey}" id="deleteBtn">삭제</button>
|
||||
<th:block th:unless="${operationPlan.opState eq 'DST004' or operationPlan.opState eq 'DST006'}">
|
||||
<th:block th:if="${userSeq eq operationPlan.wrtUserSeq or accessAuth eq 'ACC003'}">
|
||||
<button type="button" class="btn btn-danger" th:data-opkey="${operationPlan.opKey}" id="deleteBtn">삭제</button>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<th:block th:if="${op.wrtOrgan eq viewOrgan}">
|
||||
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and op.opState eq 'DST002'}">
|
||||
<button type="button" class="btn btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" th:value="반려">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" th:value="승인">승인</button>
|
||||
<th:block th:if="${operationPlan.wrtOrgan eq viewOrgan}">
|
||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and operationPlan.opState eq 'DST002'}">
|
||||
<!--계장, 계장대행 결재권한이 있으면서 결재대기상태-->
|
||||
<th:block th:if="${#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')}">
|
||||
<!--과장, 과장대행 결재권한이 있을경우-->
|
||||
<button type="button" class="btn btn-danger apprvBtn" data-planstate="DST005">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" data-planstate="DST006">승인</button>
|
||||
</th:block>
|
||||
<th:block th:unless="${#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')}">
|
||||
<!--과장, 과장대행 결재권한이 없을경우-->
|
||||
<button type="button" class="btn btn-danger apprvBtn" data-planstate="DST003">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" data-planstate="DST004">승인</button>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:unless="${op.opState eq 'DST004' or op.opState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
||||
<th:block th:if="${userSeq eq op.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
||||
<button type="button" class="btn btn-warning" th:data-opkey="${op.opKey}" id="editBtn">수정</button>
|
||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and operationPlan.opState eq 'DST004'}">
|
||||
<!--계장 권한 없이 과장, 과장대행 결재권한이 있을경우-->
|
||||
<button type="button" class="btn btn-danger apprvBtn" data-planstate="DST005">반려</button>
|
||||
<button type="button" class="btn btn-success apprvBtn" data-planstate="DST006">승인</button>
|
||||
</th:block>
|
||||
</th:block>
|
||||
<th:block th:unless="${operationPlan.opState eq 'DST004' or operationPlan.opState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
||||
<th:block th:if="${userSeq eq operationPlan.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
||||
<button type="button" class="btn btn-warning" th:data-opkey="${operationPlan.opKey}" id="editBtn">수정</button>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -124,8 +124,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<th:block th:if="${md.wrtOrgan eq viewOrgan}">
|
||||
<th:block th:if="${(apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and md.mdState eq 'DST002'
|
||||
or (apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and md.mdState eq 'DST004'}">
|
||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and md.mdState eq 'DST002'
|
||||
or (#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and md.mdState eq 'DST004'}">
|
||||
<div class="col-12">
|
||||
<form action="#" method="post" id="apprvForm">
|
||||
<div class="row">
|
||||
|
|
@ -136,10 +136,10 @@
|
|||
<input type="text" class="d-none" id="submitPrevention">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="button" class="btn btn-sm btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" value="승인">
|
||||
<input type="button" class="btn btn-sm btn-success apprvBtn" th:data-planstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))?'DST004':'DST006'}" value="승인">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="button" class="btn btn-sm btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" value="반려">
|
||||
<input type="button" class="btn btn-sm btn-danger apprvBtn" th:data-planstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))?'DST003':'DST005'}" value="반려">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -249,8 +249,8 @@
|
|||
</div>
|
||||
</div>
|
||||
<th:block th:if="${mr.wrtOrgan eq viewOrgan}">
|
||||
<th:block th:if="${(apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and mr.mrState eq 'DST002'
|
||||
or (apprvAuth eq 'APC001' or apprvAuth eq 'APC002') and mr.mrState eq 'DST004'}">
|
||||
<th:block th:if="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004')) and mr.mrState eq 'DST002'
|
||||
or (#strings.contains(apprvAuth, 'APC001') or #strings.contains(apprvAuth, 'APC002')) and mr.mrState eq 'DST004'}">
|
||||
<div class="col-12">
|
||||
<form action="#" method="post" id="apprvForm">
|
||||
<hr>
|
||||
|
|
@ -262,10 +262,10 @@
|
|||
<input type="text" class="d-none" id="submitPrevention">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="button" class="btn btn-sm btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" value="승인">
|
||||
<input type="button" class="btn btn-sm btn-success apprvBtn" th:data-planstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))?'DST004':'DST006'}" value="승인">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="button" class="btn btn-sm btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" value="반려">
|
||||
<input type="button" class="btn btn-sm btn-danger apprvBtn" th:data-planstate="${(#strings.contains(apprvAuth, 'APC003') or #strings.contains(apprvAuth, 'APC004'))?'DST003':'DST005'}" value="반려">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
Loading…
Reference in New Issue