코드관리 오류 수정.

메뉴관리 사용여부 상태 변경시 메뉴 권한 삭제.
견문관리 양식 변경.
외사수사관리 모달양식 변경.
외사대상목표 > 외사취약지 모달 양식 변경.
강석 최 2022-12-08 18:22:20 +09:00
parent d9204fd3a6
commit ad4c3fbcd7
25 changed files with 125 additions and 128 deletions

View File

@ -5,5 +5,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
public interface AccessConfigRepository extends JpaRepository<AccessConfig, AccessConfig.AccessConfigId> {
void deleteByMenuKey(Integer menuKey);
}

View File

@ -14,5 +14,5 @@ public interface CodeMgtRepository extends JpaRepository<CodeMgt, CodeMgt.CodeMg
Optional<CodeMgt> findByCategoryCdAndItemValue(String categoryCd, String itemValue);
List<CodeMgt> findByUseChkOrderByItemCdAsc(String useChk);
List<CodeMgt> findByOrderByOrderNumAsc();
Optional<CodeMgt> findByCategoryCdOrderByItemCdDesc(String categoryCd);
Optional<CodeMgt> findTop1ByCategoryCdOrderByItemCdDesc(String categoryCd);
}

View File

@ -39,8 +39,8 @@ public class CodeMgtService{
HashMap<String, Integer> map = new HashMap<>();
for(CodeMgt code: codeList){
if(code.getItemCd().isEmpty()){
CodeMgt lastCode = codeMgtRepository.findByCategoryCdOrderByItemCdDesc(code.getCategoryCd()).orElse(null);
if(lastCode==null){
CodeMgt lastCode = codeMgtRepository.findTop1ByCategoryCdOrderByItemCdDesc(code.getCategoryCd()).orElse(null);
if(lastCode!=null){
String lastCodeSeq = lastCode.getItemCd().replace(lastCode.getCategoryCd(), "");
map.put(code.getCategoryCd(), Integer.parseInt(lastCodeSeq)+1);
}else{

View File

@ -387,6 +387,7 @@ public class FipTargetController {
@GetMapping("/vulnEditModal")
public ModelAndView vulnEditModal(@AuthenticationPrincipal UserInfo loginUser,Vulnerable vulnerable) {
ModelAndView mav = new ModelAndView("fipTarget/vulnEditModal");
mav.addObject("downOrganList", loginUser.getDownOrganCdList());
vulnerable.setDownOrganCdList(loginUser.getDownOrganCdList());
mav.addObject("organList", fipTargetService.selecetVulnOrganList(vulnerable));
mav.addObject("userOrgan", loginUser.getOgCd());

View File

@ -1,5 +1,6 @@
package com.dbnt.faisp.main.fipTarget.mapper;
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
import com.dbnt.faisp.main.fipTarget.model.PartInfo;
import com.dbnt.faisp.main.fipTarget.model.PartInfoFile;
import com.dbnt.faisp.main.fipTarget.model.PartWork;
@ -42,7 +43,7 @@ public interface FipTargetMapper {
PartWork selectPartWorkInfo(PartWork partWork);
List<ParamMap> selecetVulnOrganList(Vulnerable vulnerable);
List<CodeMgt> selecetVulnOrganList(Vulnerable vulnerable);
List<ParamMap> selectVulnerableList(Vulnerable vulnerable);

View File

@ -3,6 +3,7 @@ package com.dbnt.faisp.main.fipTarget.service;
import com.dbnt.faisp.config.BaseService;
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
import com.dbnt.faisp.main.fipTarget.mapper.FipTargetMapper;
import com.dbnt.faisp.main.fipTarget.model.PartInfo;
import com.dbnt.faisp.main.fipTarget.model.PartInfo.PartInfoId;
@ -333,7 +334,7 @@ public class FipTargetService extends BaseService {
return partWorkFileRepository.findById(new PartWorkFileId(fileSeq, pwSeq,piSeq)).orElse(null);
}
public List<ParamMap> selecetVulnOrganList(Vulnerable vulnerable) {
public List<CodeMgt> selecetVulnOrganList(Vulnerable vulnerable) {
return fipTargetMapper.selecetVulnOrganList(vulnerable);
}

View File

@ -1,12 +1,13 @@
package com.dbnt.faisp.main.menuMgt.service;
import com.dbnt.faisp.main.authMgt.repository.AccessConfigRepository;
import com.dbnt.faisp.main.menuMgt.mapper.MenuMgtMapper;
import com.dbnt.faisp.main.menuMgt.model.MenuMgt;
import com.dbnt.faisp.main.menuMgt.repository.MenuMgtRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.Transient;
import java.util.*;
@Service
@ -14,6 +15,7 @@ import java.util.*;
public class MenuMgtService {
private final MenuMgtRepository menuMgtRepository;
private final AccessConfigRepository accessConfigRepository;
private final MenuMgtMapper menuMgtMapper;
public List<MenuMgt> selectMenuMgtList(MenuMgt menuMgt){
@ -32,7 +34,7 @@ public class MenuMgtService {
public Integer selectMenuMgtListToAccessAuthCnt(MenuMgt menuMgt){
return menuMgtMapper.selectMenuMgtListToAccessAuthCnt(menuMgt);
}
@Transient
@Transactional
public String saveMenuMgt(MenuMgt menuMgt) {
if(menuMgt.getMenuKey()==null){
MenuMgt duplMenu = menuMgtRepository.findTopByCat1CdAndCat2CdAndCat3Cd(menuMgt.getCat1Cd(), menuMgt.getCat2Cd(), menuMgt.getCat3Cd()).orElse(null);
@ -43,11 +45,14 @@ public class MenuMgtService {
}
}else{
menuMgtRepository.save(menuMgt);
if(menuMgt.getUseChk()==null || !menuMgt.getUseChk().equals("T")){
accessConfigRepository.deleteByMenuKey(menuMgt.getMenuKey());
}
}
return "";
}
@Transient
@Transactional
public void deleteMenuMgt(List<MenuMgt> menuList) {
menuMgtRepository.deleteAll(menuList);
}

View File

@ -442,19 +442,19 @@
and pw.pi_seq = #{piSeq}
</select>
<select id="selecetVulnOrganList" resultType="com.dbnt.faisp.util.ParamMap" parameterType="Vulnerable">
select item_cd,
<select id="selecetVulnOrganList" resultType="CodeMgt" parameterType="Vulnerable">
select item_cd,
item_value
from code_mgt cm,
organ_config oc
where cm.item_cd = oc.organ_cd
and oc.organ_type = 'OGC003'
and cm.use_chk = 'T'
and item_cd in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
order by item_cd asc
and oc.organ_type = 'OGC003'
and cm.use_chk = 'T'
and cm.item_cd in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
order by item_cd asc
</select>
<select id="selectVulnerableList" resultType="com.dbnt.faisp.util.ParamMap" parameterType="Vulnerable">

View File

@ -59,7 +59,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(faRpt.fileList)}">

View File

@ -110,7 +110,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<br>파일을 업로드 해주세요.

View File

@ -124,7 +124,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#strings.isEmpty(partInfo.fileList[0].origNm)}">

View File

@ -66,7 +66,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<br>파일을 업로드 해주세요.

View File

@ -63,7 +63,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(pwInfo.fileList)}">

View File

@ -7,84 +7,82 @@
</div>
<div class="modal-body">
<form id="saveVulnoFm" method="post">
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<input type="hidden" name="vulnKey" th:value="${info.vulnKey}">
<input type="hidden" name="wrtOrgan" th:value="${info.wrtOrgan}">
<input type="hidden" name="wrtPart" th:value="${info.wrtPart}">
<input type="hidden" name="wrtTitle" th:value="${info.wrtTitle}">
<input type="hidden" name="wrtUserSeq" th:value="${info.wrtUserSeq}">
<input type="hidden" name="wrtNm" th:value="${info.wrtNm}">
<div class="row mb-1">
<label for="ogCd" class="col-sm-2 col-form-label text-center">경찰서</label>
<div class="col-sm-10">
<select class="form-select form-select-sm" id="mgtOrgan" name="mgtOrgan" th:disabled="${accessAuth ne 'ACC003'}">
<option value="">선택</option>
<th:block th:each="organList:${organList}">
<th:block th:if="${info.vulnKey eq null}">
<option th:value="${organList.item_cd}" th:text="${organList.item_value}" th:selected="${organList.item_cd eq userOrgan}"></option>
</th:block>
<th:block th:unless="${info.vulnKey eq null}">
<option th:value="${organList.item_cd}" th:text="${organList.item_value}" th:selected="${organList.item_cd eq info.mgtOrgan}"></option>
</th:block>
</th:block>
</select>
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<input type="hidden" name="vulnKey" th:value="${info.vulnKey}">
<input type="hidden" name="wrtOrgan" th:value="${info.wrtOrgan}">
<input type="hidden" name="wrtPart" th:value="${info.wrtPart}">
<input type="hidden" name="wrtTitle" th:value="${info.wrtTitle}">
<input type="hidden" name="wrtUserSeq" th:value="${info.wrtUserSeq}">
<input type="hidden" name="wrtNm" th:value="${info.wrtNm}">
<div class="row mb-1">
<label for="vulnNm" class="col-sm-2 col-form-label col-form-label-sm text-center">취약지명</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-sm" id="vulnNm" name="vulnNm" th:value="${info.vulnNm}" placeholder="직접입력">
</div>
</div>
<div class="row mb-1">
<label for="mgtOrgan" class="col-sm-2 col-form-label col-form-label-sm text-center">관리서</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="mgtOrgan" name="mgtOrgan">
<option value="">선택</option>
<!--<th:block th:each="code:${session.commonCode.get('OG')}">
<th:block th:if="${#lists.contains(downOrganList, code.itemCd)}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq info.wrtOrgan}"></option>
</th:block>
</th:block>-->
<th:block th:each="organ:${organList}">
<option th:value="${organ.itemCd}" th:text="${organ.itemValue}" th:selected="${organ.itemCd eq info.mgtOrgan}"></option>
</th:block>
</select>
</div>
<label for="vulnType" class="col-sm-2 col-form-label col-form-label-sm text-center">취약등급</label>
<div class="col-sm-4">
<select class="form-select form-select-sm" id="vulnType" name="vulnType">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('VULNT')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemValue eq info.vulnType}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1">
<label for="description" class="col-sm-2 col-form-label col-form-label-sm text-center">비고</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-sm" id="description" name="description" th:value="${info.description}">
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}">
<br>파일을 업로드 해주세요.
</th:block>
<th:block th:unless="${#arrays.isEmpty(info.fileList)}">
<div class='row-col-6' th:each="infoFile:${info.fileList}">
<span th:data-fileseq="${infoFile.fileSeq}" th:text="|${infoFile.origNm}.${infoFile.fileExtn} ${infoFile.fileSize}|"></span>
<a href='#' class='uploadedFileDelete text-danger text-decoration-none'>삭제</a>
</div>
</div>
<div class="row mb-1">
<label for="ogCd" class="col-sm-2 col-form-label text-center">취약지명</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="vulnNm" name="vulnNm" th:value="${info.vulnNm}" placeholder="직접입력">
</div>
</div>
<div class="row mb-1">
<label for="ogCd" class="col-sm-2 col-form-label text-center">취약등급</label>
<div class="col-sm-10">
<select class="form-select form-select-sm" id="vulnType" name="vulnType">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('VULNT')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemValue eq info.vulnType}"></option>
</th:block>
</select>
</div>
</div>
<div class="row mb-1">
<label for="ogCd" class="col-sm-2 col-form-label text-center">비고</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="description" name="description" th:value="${info.description}">
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}">
<br>파일을 업로드 해주세요.
</th:block>
<th:block th:unless="${#arrays.isEmpty(info.fileList)}">
<div class='row-col-6' th:each="infoFile:${info.fileList}">
<span th:data-fileseq="${infoFile.fileSeq}" th:text="|${infoFile.origNm}.${infoFile.fileExtn} ${infoFile.fileSize}|"></span>
<a href='#' class='uploadedFileDelete text-danger text-decoration-none'>삭제</a>
</div>
</th:block>
</div>
</div>
<input type="file" class="d-none" id="fileInputer" multiple>
</div>
</form>
</th:block>
</div>
</div>
<input type="file" class="d-none" id="fileInputer" multiple>
</div>
</form>
</div>
<div class="modal-footer justify-content-between bg-light">
<div class="col-auto">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
</div>
<div class="col-auto">
<th:block th:if="${info.vulnKey eq null}">
<button type="button" class="btn btn-primary" id="saveVuln">저장</button>
</th:block>
<th:block th:unless="${info.vulnKey eq null}">
<button type="button" class="btn btn-danger" id="deleteVuln" th:if="${accessAuth eq 'ACC003'} or ${info.wrtUserSeq eq userSeq}">삭제</button>
<button type="button" class="btn btn-warning" id="updateVuln" th:if="${accessAuth eq 'ACC003'} or ${info.wrtUserSeq eq userSeq}">수정</button>
</th:block>
<th:block th:if="${info.vulnKey eq null}">
<button type="button" class="btn btn-primary" id="saveVuln">저장</button>
</th:block>
<th:block th:unless="${info.vulnKey eq null}">
<button type="button" class="btn btn-danger" id="deleteVuln" th:if="${accessAuth eq 'ACC003'} or ${info.wrtUserSeq eq userSeq}">삭제</button>
<button type="button" class="btn btn-warning" id="updateVuln" th:if="${accessAuth eq 'ACC003'} or ${info.wrtUserSeq eq userSeq}">수정</button>
</th:block>
</div>
</div>
</html>

View File

@ -36,7 +36,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center">
<th:block th:if="${#arrays.isEmpty(vulnInfo.fileList)}">

View File

@ -56,7 +56,7 @@
</main>
<div class="modal fade" id="vulnEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userEditModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg modal-dialog-scrollable">
<div class="modal-dialog modal-dialog-scrollable">
<div class="modal-content" id="vulnEditModalContent">
<div class="modal-header bg-dark">
</div>

View File

@ -14,34 +14,25 @@
<input type="hidden" name="wrtPart" th:value="${affair.wrtPart}">
<input type="hidden" name="wrtUserSeq" th:value="${affair.wrtUserSeq}">
<input type="hidden" name="affairStatus" id="affairStatus" th:value="${affair.affairStatus}">
<input type="hidden" name="wrtDt" id="wrtDt" th:value="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}">
<div class="row mb-1">
<label for="wrtUserNm" 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" id="wrtUserNm" name="wrtUserNm" th:value="${affair.wrtUserNm}" readonly>
</div>
<label for="wrtDt" 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" id="wrtDt" name="wrtDt" th:value="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
</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" 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" id="autoDelete" name="autoDelete" th:value="${affair.autoDelete}" readonly>
</div>
<label for="viewStatus" 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="viewStatus" name="viewStatus">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('AVS')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq affair.viewStatus}"></option>
</th:block>
</select>
</div>
<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" id="reportDt" name="reportDt" th:value="${#temporals.format(affair.reportDt, '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">
<select class="form-select form-select-sm" id="viewStatus" name="viewStatus">
<option value="">선택</option>
<th:block th:each="code:${session.commonCode.get('AVS')}">
<option th:value="${code.itemCd}" th:text="${code.itemValue}" th:selected="${code.itemCd eq affair.viewStatus}"></option>
</th:block>
</select>
</div>
<div class="row mb-1">
<label for="affairType1" class="col-sm-1 col-form-label col-form-label-sm text-center">분야1</label>
@ -107,7 +98,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">업로드<br>자료</label>
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-11" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(affair.fileList)}">

View File

@ -66,7 +66,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(plan.fileList)}">

View File

@ -96,7 +96,7 @@
</div>
</div>
<div class="row mb-1">
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-11" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(boardInvestigation.fileList)}">

View File

@ -47,7 +47,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}">

View File

@ -48,7 +48,7 @@
</div>
</div>
<div class="row mb-1">
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-11" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}">

View File

@ -47,7 +47,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}">

View File

@ -66,7 +66,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-2 col-form-label text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(info.fileList)}">

View File

@ -63,7 +63,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">업로드 자료</label>
<label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-10" style="min-height: 70px;">
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
<th:block th:if="${#arrays.isEmpty(sri.fileList)}">

View File

@ -58,7 +58,7 @@
</div>
</div>
<div class="row mb-3">
<label for="fileTable" class="col-sm-2 col-form-label col-form-label-sm text-center">업로드 자료</label>
<label for="fileTable" class="col-sm-2 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-10">
<table class="table" id="fileTable">
<thead>