외사장비 > 외사장비현황 > 장비현황 수정, 이력 모달 통합.
parent
da56efe8eb
commit
7152ceca7b
|
|
@ -72,10 +72,11 @@ public class EquipController {
|
|||
|
||||
@PostMapping("/saveEquip")
|
||||
public void saveEquip(@AuthenticationPrincipal UserInfo loginUser,Equip equip, MultipartHttpServletRequest request){
|
||||
equip.setWrtNm(loginUser.getUserNm());
|
||||
equip.setWrtOrgan(loginUser.getOgCd());
|
||||
equip.setWrtPart(loginUser.getOfcCd());
|
||||
equip.setWrtUserSeq(loginUser.getUserSeq());
|
||||
equip.setWrtTitle(loginUser.getTitleCd());
|
||||
equip.setWrtNm(loginUser.getUserNm());
|
||||
equip.setWrtDt(LocalDateTime.now());
|
||||
equipService.saveEquip(equip,request);
|
||||
}
|
||||
|
|
@ -109,6 +110,11 @@ public class EquipController {
|
|||
mav.addObject("userSeq", loginUser.getUserSeq());
|
||||
mav.addObject("wrtUserSeq", equipService.selectEquipFirstUserSeq(equip));
|
||||
mav.addObject("equInfo", equipService.selectEquipInfo(equip));
|
||||
|
||||
List<Equip> equipHistoryList = equipService.selectHistoryList(equip);
|
||||
mav.addObject("historyList", equipHistoryList.subList(1, equipHistoryList.size()));
|
||||
mav.addObject("lastVersion", equipService.selectHistoryDetail(equipHistoryList.get(0)));
|
||||
|
||||
return mav;
|
||||
}
|
||||
|
||||
|
|
@ -124,23 +130,14 @@ public class EquipController {
|
|||
return result;
|
||||
}
|
||||
|
||||
@GetMapping("/historyView")
|
||||
public ModelAndView historyView(Equip equip) {
|
||||
ModelAndView mav = new ModelAndView("equip/equipHistory");
|
||||
List<Equip> equipHistoryList = equipService.selectHistoryList(equip);
|
||||
mav.addObject("historyList", equipHistoryList.subList(1, equipHistoryList.size()));
|
||||
mav.addObject("lastVersion", equipService.selectHistoryDetail(equipHistoryList.get(0)));
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/HistoryDetail")
|
||||
@ResponseBody
|
||||
public Equip HistoryDetail(Equip equip){
|
||||
return equipService.selectHistoryDetail(equip);
|
||||
}
|
||||
|
||||
@PostMapping("/epuipDelete")
|
||||
public void epuipDelete(@AuthenticationPrincipal UserInfo loginUser, @RequestBody List<Equip> equip){
|
||||
@PostMapping("/equipDelete")
|
||||
public void equipDelete(@AuthenticationPrincipal UserInfo loginUser, @RequestBody List<Equip> equip){
|
||||
equipService.equipDelete(equip,loginUser);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public interface EquipMapper {
|
|||
|
||||
Integer selectEquipLogListCnt(EquipLog equipLog);
|
||||
|
||||
String selectEquipFirstUserSeq(Equip equip);
|
||||
Integer selectEquipFirstUserSeq(Equip equip);
|
||||
|
||||
List<CellPhone> selectCellPhoneList(CellPhone cellPhone);
|
||||
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public class Equip extends BaseModel implements Serializable{
|
|||
@Column(name = "wrt_title")
|
||||
private String wrtTitle;
|
||||
@Column(name = "wrt_user_seq")
|
||||
private String wrtUserSeq;
|
||||
private Integer wrtUserSeq;
|
||||
@Column(name = "wrt_nm")
|
||||
private String wrtNm;
|
||||
@Column(name = "wrt_dt")
|
||||
|
|
|
|||
|
|
@ -271,7 +271,7 @@ public class EquipService extends BaseService {
|
|||
return equipMapper.selectEquipLogListCnt(equipLog);
|
||||
}
|
||||
|
||||
public String selectEquipFirstUserSeq(Equip equip) {
|
||||
public Integer selectEquipFirstUserSeq(Equip equip) {
|
||||
return equipMapper.selectEquipFirstUserSeq(equip);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -399,7 +399,7 @@
|
|||
) a
|
||||
</select>
|
||||
|
||||
<select id="selectEquipFirstUserSeq" resultType="String" parameterType="Equip">
|
||||
<select id="selectEquipFirstUserSeq" resultType="int" parameterType="Equip">
|
||||
select wrt_user_seq
|
||||
from equ_mgt
|
||||
where equ_key = #{equKey}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
$(document).ready(function(){
|
||||
$(".table_id").each(function(){
|
||||
var rows = $(".table_id:contains('"+$(this).text()+"')");
|
||||
|
|
@ -97,42 +96,6 @@ $(document).on('click', '#saveEquip', function (){
|
|||
|
||||
});
|
||||
|
||||
$(document).on('click', '#equUpdateBtn', function (){
|
||||
if($('input:checkbox[name=equChk]:checked').length < 1){
|
||||
alert("게시물을 선택해주세요")
|
||||
return false;
|
||||
}
|
||||
if($('input:checkbox[name=equChk]:checked').length > 1){
|
||||
alert("한개만 선택해주세요")
|
||||
return false;
|
||||
}
|
||||
const target = $('input:checkbox[name=equChk]:checked');
|
||||
const equKey = Number(target.parents('tr').find('.equKey').val());
|
||||
showUpdateModal(equKey);
|
||||
})
|
||||
|
||||
function showUpdateModal(equKey){
|
||||
$.ajax({
|
||||
url: '/equip/updatePage',
|
||||
data: {equKey: equKey},
|
||||
type: 'GET',
|
||||
dataType:"html",
|
||||
success: function(html){
|
||||
$("#equipModifyModalContent").empty().append(html)
|
||||
$("#equipModifyModal").modal('show');
|
||||
$(".mStoredYear").datepicker({
|
||||
minViewMode: 'years',
|
||||
format: "yyyy",
|
||||
language: "ko",
|
||||
autoclose: true
|
||||
})
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(document).on('click', '#addImgBtn', function (){
|
||||
$("#imgUpload").remove();
|
||||
$("#addImgBtn").hide();
|
||||
|
|
@ -172,7 +135,6 @@ $(document).on('click', '#updateEquip', function (){
|
|||
contentType: false,
|
||||
success : function(data) {
|
||||
alert("수정되었습니다.");
|
||||
showUpdateModal(data);
|
||||
contentFade("out");
|
||||
location.reload();
|
||||
},
|
||||
|
|
@ -185,32 +147,6 @@ $(document).on('click', '#updateEquip', function (){
|
|||
|
||||
});
|
||||
|
||||
$(document).on('click', '#historyBtn', function (){
|
||||
if($('input:checkbox[name=equChk]:checked').length < 1){
|
||||
alert("장비를 선택해주세요")
|
||||
return false;
|
||||
}
|
||||
if($('input:checkbox[name=equChk]:checked').length > 1){
|
||||
alert("한개만 선택해주세요")
|
||||
return false;
|
||||
}
|
||||
const target = $('input:checkbox[name=equChk]:checked');
|
||||
const equKey = Number(target.parents('tr').find('.equKey').val());
|
||||
$.ajax({
|
||||
url: '/equip/historyView',
|
||||
data: {equKey: equKey},
|
||||
type: 'GET',
|
||||
dataType:"html",
|
||||
success: function(html){
|
||||
$("#equipHistoryModalContent").empty().append(html)
|
||||
$("#equipHistoryModal").modal('show');
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
$(document).on('click', '.historyInfoTr', function (){
|
||||
$(this).find('.hisChk').prop('checked',true)
|
||||
if($(this).find('.hisChk').prop('checked')){
|
||||
|
|
@ -267,7 +203,7 @@ $(document).on('click', '#deleteEquip', function (){
|
|||
function deleteEquip(checkArr){
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
url : "/equip/epuipDelete",
|
||||
url : "/equip/equipDelete",
|
||||
data : JSON.stringify(checkArr),
|
||||
contentType: 'application/json',
|
||||
beforeSend: function (xhr){
|
||||
|
|
@ -295,13 +231,33 @@ $(document).on('click', '#statusExcel', function (){
|
|||
}
|
||||
})
|
||||
|
||||
$(document).on('click', '.modalCloseBtn', function (){
|
||||
location.reload();
|
||||
$(document).on('click', '.equipTr', function (){
|
||||
$.ajax({
|
||||
url: '/equip/updatePage',
|
||||
data: {equKey: $(this).find('.equKey').val()},
|
||||
type: 'GET',
|
||||
dataType:"html",
|
||||
success: function(html){
|
||||
$("#equipModifyModalContent").empty().append(html)
|
||||
$("#equipModifyModal").modal('show');
|
||||
$(".mStoredYear").datepicker({
|
||||
minViewMode: 'years',
|
||||
format: "yyyy",
|
||||
language: "ko",
|
||||
autoclose: true
|
||||
})
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
$(document).on('click', '.equipTr', function (event){
|
||||
if(event.target.className !== "equInfoCheckBox"){
|
||||
const chkBox = $(this).find(".equInfoCheckBox")[0];
|
||||
chkBox.checked = !chkBox.checked;
|
||||
}
|
||||
$(document).on('click', '#formTab', function (){
|
||||
$("#equipModifyModalFooter").show();
|
||||
$("#equipModifyModal").find('.modal-dialog')[0].className = "modal-dialog modal-dialog-scrollable";
|
||||
})
|
||||
$(document).on('click', '#historyTab', function (){
|
||||
$("#equipModifyModalFooter").hide();
|
||||
$("#equipModifyModal").find('.modal-dialog')[0].className = "modal-dialog modal-xl modal-dialog-scrollable";
|
||||
})
|
||||
|
|
@ -1,160 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||
<div class="modal-header bg-dark">
|
||||
<h5 class="modal-title text-white">수정이력</h5>
|
||||
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body text-center">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row justify-content-start">
|
||||
<div class="col-3">
|
||||
<table class="table table-sm table-hover table-bordered" id="categoryTable">
|
||||
<thead>
|
||||
<tr class="table-secondary">
|
||||
<th></th>
|
||||
<th >작성자</th>
|
||||
<th >등록일</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="table-group-divider overflow-scroll">
|
||||
<th:block th:if="${#lists.size(historyList)>0}">
|
||||
<tr class="historyInfoTr" th:each="equInfo:${historyList}">
|
||||
<td><input type="checkbox" class="hisChk">
|
||||
<input type="hidden" class="equKey" th:value="${equInfo.equKey}">
|
||||
<input type="hidden" class="verNo" th:value="${equInfo.versionNo}" >
|
||||
</td>
|
||||
<td th:text="|${equInfo.wrtTitle} ${equInfo.wrtNm}|"></td>
|
||||
<td th:text="${#temporals.format(equInfo.wrtDt, 'yyyy-MM-dd')}"></td>
|
||||
</tr>
|
||||
</th:block>
|
||||
<th:block th:unless="${#lists.size(historyList)>0}">
|
||||
<tr>
|
||||
<td colspan="3">수정 이력이 없습니다.</td>
|
||||
</tr>
|
||||
</th:block>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-1"></div>
|
||||
<div class="col-4" id="valueDiv">
|
||||
<div class="row mb-1">
|
||||
<div class="col-auto">수정이력</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vSosok" class="col-sm-4 col-form-label col-form-label-sm text-center">관리처</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vSosok" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vEquType" class="col-sm-4 col-form-label col-form-label-sm text-center">분류</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vEquType" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vDetailType" class="col-sm-4 col-form-label col-form-label-sm text-center">세부분류</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vDetailType" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vStoredYear" class="col-sm-4 col-form-label col-form-label-sm text-center">취득연도</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vStoredYear" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vItemQty" class="col-sm-4 col-form-label col-form-label-sm text-center">보유량</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vItemQty" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vItemCondition" class="col-sm-4 col-form-label col-form-label-sm text-center">상태</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vItemCondition" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vNote" class="col-sm-4 col-form-label col-form-label-sm text-center">비고</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vNote" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vImgName" class="col-sm-4 col-form-label col-form-label-sm text-center">장비사진</label>
|
||||
<div class="col-sm-6">
|
||||
<img id="vImgName" src="" alt="첨부이미지" style="width: 100%; height: 100%; display: none;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4" id="lastVersionDiv">
|
||||
<div class="row mb-1">
|
||||
<div class="col-auto">최신데이터</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vSosok" class="col-sm-4 col-form-label col-form-label-sm text-center">관서</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.sosok}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vEquType" class="col-sm-4 col-form-label col-form-label-sm text-center">분류</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.equType}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vDetailType" class="col-sm-4 col-form-label col-form-label-sm text-center">세부분류</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.detailType}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vStoredYear" class="col-sm-4 col-form-label col-form-label-sm text-center">취득연도</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.storedYear}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vItemQty" class="col-sm-4 col-form-label col-form-label-sm text-center">보유량</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.itemQty}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vItemCondition" class="col-sm-4 col-form-label col-form-label-sm text-center">상태</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.itemCondition}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vNote" class="col-sm-4 col-form-label col-form-label-sm text-center">비고</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.note}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vImgName" class="col-sm-4 col-form-label col-form-label-sm text-center">장비사진</label>
|
||||
<div class="col-sm-6">
|
||||
<img th:src="|/equip/getEquipImg?equKey=${lastVersion.equKey}&versionNo=${lastVersion.versionNo}|" alt="첨부이미지" style="width: 100%; height: 100%;" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</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>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
|
|
@ -47,7 +47,6 @@
|
|||
<table class="table table-sm table-hover table-bordered">
|
||||
<thead>
|
||||
<tr class="table-secondary">
|
||||
<th> <input type="checkbox" id="chk-all" class="equInfoCheckBox"></th>
|
||||
<th>순번</th>
|
||||
<th>소속</th>
|
||||
<th>세부소속</th>
|
||||
|
|
@ -60,11 +59,8 @@
|
|||
</thead>
|
||||
<tbody class="table-group-divider">
|
||||
<tr class="equipTr" th:each="equ,cnt:${equipList}">
|
||||
<td>
|
||||
<input type="checkbox" name="equChk" class="equInfoCheckBox">
|
||||
<input type="hidden" class="equKey" th:value="${equ.equKey}">
|
||||
<input type="hidden" class="verNo" th:value="${equ.versionNo}">
|
||||
</td>
|
||||
<td th:text="${cnt.count}"></td>
|
||||
<td th:text="${equ.sosok}"></td>
|
||||
<td th:text="${equ.detailSosok}"></td>
|
||||
|
|
@ -80,10 +76,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="row justify-content-between">
|
||||
<div class="col-auto">
|
||||
<input type="button" class="btn btn-danger" value="삭제" id="equDeleteBtn" th:if="${accessAuth eq 'ACC003'}">
|
||||
</div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-auto">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination mb-0">
|
||||
|
|
@ -109,10 +102,6 @@
|
|||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="button" class="btn btn-success" value="수정" id="equUpdateBtn" th:unless="${accessAuth eq 'ACC001'}">
|
||||
<input type="button" class="btn btn-success" value="수정이력" id="historyBtn" th:unless="${accessAuth eq 'ACC001'}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,16 @@
|
|||
<button type="button" class="btn-close modalCloseBtn f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<ul class="nav nav-tabs" id="userTab" role="tablist">
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link active" id="formTab" data-bs-toggle="tab" data-bs-target="#formTabPanel" type="button" role="tab" aria-controls="formTabPanel" aria-selected="true">수정양식</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation" th:if="${#lists.size(historyList)>0}">
|
||||
<button class="nav-link" id="historyTab" data-bs-toggle="tab" data-bs-target="#historyTabPanel" type="button" role="tab" aria-controls="historyTabPanel" aria-selected="false">수정이력</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="formTabPanel" role="tabpanel" tabindex="0">
|
||||
<form id="equipModifyForm" th:action="@{/equip/updateEquip}" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||
|
|
@ -95,16 +105,152 @@
|
|||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="tab-pane fade p-2" id="historyTabPanel" role="tabpanel" tabindex="0">
|
||||
<div class="row justify-content-start">
|
||||
<div class="col-3">
|
||||
<table class="table table-sm table-hover table-bordered" id="categoryTable">
|
||||
<thead>
|
||||
<tr class="table-secondary">
|
||||
<th></th>
|
||||
<th >작성자</th>
|
||||
<th >등록일</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="table-group-divider overflow-scroll">
|
||||
<th:block th:if="${#lists.size(historyList)>0}">
|
||||
<tr class="historyInfoTr" th:each="equ:${historyList}">
|
||||
<td><input type="checkbox" class="hisChk">
|
||||
<input type="hidden" class="equKey" th:value="${equ.equKey}">
|
||||
<input type="hidden" class="verNo" th:value="${equ.versionNo}" >
|
||||
</td>
|
||||
<td th:text="|${equ.wrtTitle} ${equ.wrtNm}|"></td>
|
||||
<td th:text="${#temporals.format(equ.wrtDt, 'yyyy-MM-dd')}"></td>
|
||||
</tr>
|
||||
</th:block>
|
||||
<th:block th:unless="${#lists.size(historyList)>0}">
|
||||
<tr>
|
||||
<td colspan="3">수정 이력이 없습니다.</td>
|
||||
</tr>
|
||||
</th:block>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-1"></div>
|
||||
<div class="col-4" id="valueDiv">
|
||||
<div class="row mb-1">
|
||||
<div class="col-auto">수정이력</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vSosok" class="col-sm-4 col-form-label col-form-label-sm text-center">관리처</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vSosok" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vEquType" class="col-sm-4 col-form-label col-form-label-sm text-center">분류</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vEquType" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vDetailType" class="col-sm-4 col-form-label col-form-label-sm text-center">세부분류</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vDetailType" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vStoredYear" class="col-sm-4 col-form-label col-form-label-sm text-center">취득연도</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vStoredYear" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vItemQty" class="col-sm-4 col-form-label col-form-label-sm text-center">보유량</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vItemQty" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vItemCondition" class="col-sm-4 col-form-label col-form-label-sm text-center">상태</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vItemCondition" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vNote" class="col-sm-4 col-form-label col-form-label-sm text-center">비고</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" id="vNote" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vImgName" class="col-sm-4 col-form-label col-form-label-sm text-center">장비사진</label>
|
||||
<div class="col-sm-6">
|
||||
<img id="vImgName" src="" alt="첨부이미지" style="width: 100%; height: 100%; display: none;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4" id="lastVersionDiv">
|
||||
<div class="row mb-1">
|
||||
<div class="col-auto">최신데이터</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vSosok" class="col-sm-4 col-form-label col-form-label-sm text-center">관서</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.sosok}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vEquType" class="col-sm-4 col-form-label col-form-label-sm text-center">분류</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.equType}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vDetailType" class="col-sm-4 col-form-label col-form-label-sm text-center">세부분류</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.detailType}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vStoredYear" class="col-sm-4 col-form-label col-form-label-sm text-center">취득연도</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.storedYear}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vItemQty" class="col-sm-4 col-form-label col-form-label-sm text-center">보유량</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.itemQty}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vItemCondition" class="col-sm-4 col-form-label col-form-label-sm text-center">상태</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.itemCondition}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vNote" class="col-sm-4 col-form-label col-form-label-sm text-center">비고</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control form-control-sm" th:value="${lastVersion.note}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="vImgName" class="col-sm-4 col-form-label col-form-label-sm text-center">장비사진</label>
|
||||
<div class="col-sm-6">
|
||||
<img th:src="|/equip/getEquipImg?equKey=${lastVersion.equKey}&versionNo=${lastVersion.versionNo}|" alt="첨부이미지" style="width: 100%; height: 100%;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer justify-content-between bg-light">
|
||||
<div class="modal-footer justify-content-between bg-light" id="equipModifyModalFooter">
|
||||
<div class="col-auto">
|
||||
<!--
|
||||
<button type="button" class="btn btn-secondary modalCloseBtn" data-bs-dismiss="modal">닫기</button>
|
||||
-->
|
||||
<button type="button" class="btn btn-danger" id="deleteEquip" th:if="${accessAuth eq 'ACC003'} or ${wrtUserSeq eq userSeq}">삭제</button>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<button type="button" class="btn btn-warning" id="updateEquip" th:if="${accessAuth eq 'ACC003'} or ${wrtUserSeq eq userSeq}">수정</button>
|
||||
<button type="button" class="btn btn-danger" id="deleteEquip" th:if="${accessAuth eq 'ACC003' or wrtUserSeq eq userSeq}">삭제</button>
|
||||
</div>
|
||||
<button type="button" class="btn btn-warning" id="updateEquip" th:if="${accessAuth eq 'ACC002'}">수정</button>
|
||||
</div>
|
||||
</html>
|
||||
Loading…
Reference in New Issue