fix:민간통역인 중간저장
parent
f825579952
commit
ea61d6ad09
|
|
@ -63,5 +63,19 @@ public class TranslatorController {
|
||||||
translator.setWrtOrgan(loginUser.getOgCd());
|
translator.setWrtOrgan(loginUser.getOgCd());
|
||||||
translatorSevice.updatetranslatorInfo(translator);
|
translatorSevice.updatetranslatorInfo(translator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/revisionHistory")
|
||||||
|
public ModelAndView revisionHistory(Translator translator){
|
||||||
|
ModelAndView mav = new ModelAndView("translator/translatorHistory");
|
||||||
|
mav.addObject("HistoryList", translatorSevice.selectHistoryList(translator));
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/HistoryView")
|
||||||
|
@ResponseBody
|
||||||
|
public Translator HistoryView(Translator translator){
|
||||||
|
|
||||||
|
return translatorSevice.HistoryView(translator);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -81,4 +81,12 @@ public class TranslatorService {
|
||||||
translatorRepository.save(translatorTmp);
|
translatorRepository.save(translatorTmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Translator> selectHistoryList(Translator translator) {
|
||||||
|
return translatorMapper.selectHistoryList(translator);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Translator HistoryView(Translator translator) {
|
||||||
|
return translatorMapper.HistoryView(translator);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,4 +13,8 @@ public interface TranslatorMapper {
|
||||||
|
|
||||||
Integer selectTranslatorListCnt(Translator translator);
|
Integer selectTranslatorListCnt(Translator translator);
|
||||||
|
|
||||||
|
List<Translator> selectHistoryList(Translator translator);
|
||||||
|
|
||||||
|
Translator HistoryView(Translator translator);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.hibernate.annotations.DynamicInsert;
|
import org.hibernate.annotations.DynamicInsert;
|
||||||
import org.hibernate.annotations.DynamicUpdate;
|
import org.hibernate.annotations.DynamicUpdate;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
import org.springframework.security.core.GrantedAuthority;
|
||||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
|
@ -19,6 +20,7 @@ import org.springframework.security.core.userdetails.UserDetails;
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|
@ -64,7 +66,8 @@ public class Translator extends BaseModel implements Serializable{
|
||||||
@Column(name = "tr_visa")
|
@Column(name = "tr_visa")
|
||||||
private String trVisa;
|
private String trVisa;
|
||||||
@Column(name = "apt_dt")
|
@Column(name = "apt_dt")
|
||||||
private String aptDt;
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
|
private LocalDate aptDt;
|
||||||
@Column(name = "dml_yn")
|
@Column(name = "dml_yn")
|
||||||
private String dmlYn;
|
private String dmlYn;
|
||||||
@Column(name = "remark")
|
@Column(name = "remark")
|
||||||
|
|
|
||||||
|
|
@ -75,5 +75,43 @@
|
||||||
</foreach>
|
</foreach>
|
||||||
) a
|
) a
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectHistoryList" resultType="Translator" parameterType="Translator">
|
||||||
|
select translator_key,
|
||||||
|
version_no,
|
||||||
|
wrt_nm,
|
||||||
|
wrt_dt
|
||||||
|
from translator_info
|
||||||
|
where translator_key = #{translatorKey}
|
||||||
|
order by wrt_dt desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="HistoryView" resultType="Translator" parameterType="Translator">
|
||||||
|
select a.translator_key,
|
||||||
|
version_no,
|
||||||
|
c.item_value as ogdp1,
|
||||||
|
d.item_value as tr_lang,
|
||||||
|
tr_career,
|
||||||
|
tr_name,
|
||||||
|
e.item_value as tr_sex,
|
||||||
|
tr_age,
|
||||||
|
f.item_value as tr_nny,
|
||||||
|
g.item_value as tr_edu,
|
||||||
|
tr_cft,
|
||||||
|
h.item_value as tr_visa,
|
||||||
|
dml_yn,
|
||||||
|
apt_dt,
|
||||||
|
tr_phone,
|
||||||
|
remark
|
||||||
|
from translator_info a
|
||||||
|
left outer join code_mgt c on a.ogdp1 = c.item_cd
|
||||||
|
left outer join code_mgt d on a.tr_lang = d.item_cd
|
||||||
|
left outer join code_mgt e on a.tr_sex = e.item_cd
|
||||||
|
left outer join code_mgt f on a.tr_nny = f.item_cd
|
||||||
|
left outer join code_mgt g on a.tr_edu = g.item_cd
|
||||||
|
left outer join code_mgt h on a.tr_visa = h.item_cd
|
||||||
|
where translator_key = #{translatorKey}
|
||||||
|
and version_no = #{versionNo}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -1,20 +1,14 @@
|
||||||
$(document).on('click', '.userInfoTr', function (){
|
$(document).on('click', '.userInfoTr', function (){
|
||||||
$.ajax({
|
document.getElementById('accessTab').classList.add('active');
|
||||||
url: '/translator/translatorEditModal',
|
document.getElementById('approvalTab').classList.remove('active');
|
||||||
data: {
|
const trKey = (Number($(this).find(".trKey").val()));
|
||||||
translatorKey: Number($(this).find(".trKey").val()),
|
const verNo = (Number($(this).find(".verNo").val()));
|
||||||
versionNo : Number($(this).find(".verNo").val())
|
const url = '/translator/translatorEditModal';
|
||||||
},
|
revisionHistory(trKey,verNo,url);
|
||||||
type: 'GET',
|
var html="";
|
||||||
dataType:"html",
|
html += '<input type="hidden" class="tapTrKey" value="'+trKey+'">';
|
||||||
success: function(html){
|
html += '<input type="hidden" class="tapVerNo" value="'+verNo+'">';
|
||||||
$("#configInfo").empty().append(html)
|
$("#KeyValue").empty().html(html)
|
||||||
$("#translatorEditModal").modal('show');
|
|
||||||
},
|
|
||||||
error:function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).on('click', '#updateBtn', function (){
|
$(document).on('click', '#updateBtn', function (){
|
||||||
|
|
@ -118,4 +112,88 @@ function valueCheck(form){
|
||||||
returnFlag = false;
|
returnFlag = false;
|
||||||
}
|
}
|
||||||
return returnFlag;
|
return returnFlag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$(document).on('click', '.historyInfoTr', function (){
|
||||||
|
$.ajax({
|
||||||
|
url: '/translator/HistoryView',
|
||||||
|
data: {
|
||||||
|
translatorKey: Number($(this).find(".trKey").val()),
|
||||||
|
versionNo : Number($(this).find(".verNo").val())
|
||||||
|
},
|
||||||
|
type: 'GET',
|
||||||
|
dataType:"json",
|
||||||
|
success: function(data){
|
||||||
|
$("#ogdp1V").val(data.ogdp1);
|
||||||
|
$("#trLangV").val(data.trLang);
|
||||||
|
$("#trCareerV").val(data.trCareer);
|
||||||
|
$("#trNameV").val(data.trName);
|
||||||
|
$("#trSexV").val(data.trSex);
|
||||||
|
$("#trPhoneV").val(data.trPhone);
|
||||||
|
$("#trNnyV").val(data.trNny);
|
||||||
|
$("#trAgeV").val(data.trAge);
|
||||||
|
$("#trVisaV").val(data.trVisa);
|
||||||
|
$("#trEduV").val(data.trEdu);
|
||||||
|
$("#trCftV").val(data.trCft);
|
||||||
|
$("#aptDtV").val(data.aptDt);
|
||||||
|
$("#dmlYnV").val(data.dmlYn);
|
||||||
|
$("#remarkV").val(data.remark);
|
||||||
|
// $("#configInfo").empty().append(html)
|
||||||
|
// $("#translatorEditModal").modal('show');
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
$(document).ready( function() {
|
||||||
|
$("#aptDt").datepicker({
|
||||||
|
format: "yyyy-mm-dd",
|
||||||
|
language: "ko"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('click', '#approvalTab', function (){
|
||||||
|
const trKey = (Number($('.tapTrKey').val()));
|
||||||
|
const verNo = (Number($('.tapVerNo').val()));
|
||||||
|
const url = '/translator/revisionHistory';
|
||||||
|
revisionHistory(trKey,verNo,url);
|
||||||
|
document.getElementById('accessTab').classList.remove('active');
|
||||||
|
document.getElementById('approvalTab').classList.add('active');
|
||||||
|
})
|
||||||
|
|
||||||
|
$(document).on('click', '#accessTab', function (){
|
||||||
|
const trKey = (Number($('.tapTrKey').val()));
|
||||||
|
const verNo = (Number($('.tapVerNo').val()));
|
||||||
|
const url = '/translator/translatorEditModal';
|
||||||
|
revisionHistory(trKey,verNo,url);
|
||||||
|
document.getElementById('approvalTab').classList.remove('active');
|
||||||
|
document.getElementById('accessTab').classList.add('active');
|
||||||
|
})
|
||||||
|
|
||||||
|
function revisionHistory(trKey,verNo,url){
|
||||||
|
$.ajax({
|
||||||
|
url: url,
|
||||||
|
data: {
|
||||||
|
translatorKey: trKey,
|
||||||
|
versionNo : verNo
|
||||||
|
},
|
||||||
|
type: 'GET',
|
||||||
|
dataType:"html",
|
||||||
|
success: function(html){
|
||||||
|
$("#configInfo").empty().append(html)
|
||||||
|
$("#translatorEditModal").modal('show');
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).on('change', '#trNny', function (){
|
||||||
|
if($(this).val() == "NNY001"){
|
||||||
|
$("#trVisa").attr("disabled",true);
|
||||||
|
}else{
|
||||||
|
$("#trVisa").removeAttr("disabled");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
|
||||||
|
|
@ -91,17 +91,12 @@
|
||||||
<td th:text="${trInfo.trSex}"></td>
|
<td th:text="${trInfo.trSex}"></td>
|
||||||
<td th:text="${trInfo.trNny}"></td>
|
<td th:text="${trInfo.trNny}"></td>
|
||||||
<td th:text="${trInfo.trEdu}"></td>
|
<td th:text="${trInfo.trEdu}"></td>
|
||||||
<th:block th:if="${not #strings.isEmpty(trInfo.trCft)}">
|
<td th:text="${trInfo.trCft}"></td>
|
||||||
<td>O</td>
|
|
||||||
</th:block>
|
|
||||||
<th:block th:if="${#strings.isEmpty(trInfo.trCft)}">
|
|
||||||
<td>X</td>
|
|
||||||
</th:block>
|
|
||||||
<td th:text="${trInfo.trVisa}"></td>
|
<td th:text="${trInfo.trVisa}"></td>
|
||||||
<th:block th:if="${trInfo.dmlYn == 'Y'}">
|
<th:block th:if="${trInfo.dmlYn == 'O'}">
|
||||||
<td>●</td>
|
<td>●</td>
|
||||||
</th:block>
|
</th:block>
|
||||||
<th:block th:if="${trInfo.dmlYn == 'N'}">
|
<th:block th:if="${trInfo.dmlYn == 'X'}">
|
||||||
<td></td>
|
<td></td>
|
||||||
</th:block>
|
</th:block>
|
||||||
<td th:text="${trInfo.aptDt}"></td>
|
<td th:text="${trInfo.aptDt}"></td>
|
||||||
|
|
@ -206,7 +201,7 @@
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<label for="ogCd" class="col-sm-2 col-form-label text-center">국적</label>
|
<label for="ogCd" class="col-sm-2 col-form-label text-center">국적</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="trNny">
|
<select class="form-select form-select-sm" id="trNny" name="trNny">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
|
<th:block th:each="commonCode:${session.commonCode.get('NNY')}">
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
||||||
|
|
@ -234,7 +229,7 @@
|
||||||
</div>
|
</div>
|
||||||
<label for="ofcCd" class="col-sm-1 col-form-label text-center">비자</label>
|
<label for="ofcCd" class="col-sm-1 col-form-label text-center">비자</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="trVisa">
|
<select class="form-select form-select-sm" id="trVisa" name="trVisa">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<th:block th:each="commonCode:${session.commonCode.get('VISA')}">
|
<th:block th:each="commonCode:${session.commonCode.get('VISA')}">
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
|
||||||
|
|
@ -243,15 +238,15 @@
|
||||||
</div>
|
</div>
|
||||||
<label for="ofcCd" class="col-sm-1 col-form-label text-center">위촉일</label>
|
<label for="ofcCd" class="col-sm-1 col-form-label text-center">위촉일</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<!-- <input type="date" class="form-control" id="aptDt" name="aptDt"> -->
|
<input type="text" class="form-control" id="aptDt" name="aptDt">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<label for="ogCd" class="col-sm-2 col-form-label text-center">해촉</label>
|
<label for="ogCd" class="col-sm-2 col-form-label text-center">해촉</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-select form-select-sm" name="dmlYn">
|
<select class="form-select form-select-sm" name="dmlYn">
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
<option value="Y">예</option>
|
<option value="O">O</option>
|
||||||
<option value="N">아니오</option>
|
<option value="X">X</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -275,12 +270,15 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="modal fade" id="translatorEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="authEditModalLabel" aria-hidden="true">
|
<div class="modal fade" id="translatorEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="authEditModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-lg modal-dialog-scrollable">
|
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||||
<div class="modal-content" id="authEditModalContent">
|
<div class="modal-content" id="authEditModalContent">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title" id="menuEditModalLabel">통역인 정보</h5>
|
<h5 class="modal-title" id="menuEditModalLabel">통역인 정보</h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="KeyValue">
|
||||||
|
|
||||||
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<ul class="nav nav-tabs" id="userTab" role="tablist">
|
<ul class="nav nav-tabs" id="userTab" role="tablist">
|
||||||
<li class="nav-item" role="presentation">
|
<li class="nav-item" role="presentation">
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@
|
||||||
<form id="trInfoUpdate" method="post">
|
<form id="trInfoUpdate" method="post">
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
<input type="hidden" name="translatorKey" th:value="${trInfo.translatorKey}"/>
|
<input type="hidden" class="translatorKey" th:value="${trInfo.translatorKey}"/>
|
||||||
<input type="hidden" name="versionNo" th:value="${trInfo.versionNo}"/>
|
<input type="hidden" class="versionNo" th:value="${trInfo.versionNo}"/>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<label for="ogCd" class="col-sm-2 col-form-label text-center">관서</label>
|
<label for="ogCd" class="col-sm-2 col-form-label text-center">관서</label>
|
||||||
|
|
@ -91,7 +91,7 @@
|
||||||
</div>
|
</div>
|
||||||
<label for="ofcCd" class="col-sm-1 col-form-label text-center">위촉일</label>
|
<label for="ofcCd" class="col-sm-1 col-form-label text-center">위촉일</label>
|
||||||
<div class="col-sm-4">
|
<div class="col-sm-4">
|
||||||
<!-- <input type="date" class="form-control" id="aptDt" name="aptDt"> -->
|
<input type="text" class="form-control" id="aptDt" name="aptDt">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<label for="ogCd" class="col-sm-2 col-form-label text-center">해촉</label>
|
<label for="ogCd" class="col-sm-2 col-form-label text-center">해촉</label>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<main class="pt-3">
|
||||||
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
|
<div class="row mx-0">
|
||||||
|
<div class="col-100 card text-center">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row">
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-start">
|
||||||
|
<div class="col-4">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row">
|
||||||
|
<table class="table table-striped" id="categoryTable">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th>작성자</th>
|
||||||
|
<th>등록일</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="overflow-scroll">
|
||||||
|
<tr class="historyInfoTr" th:each="trInfo:${HistoryList}">
|
||||||
|
<td><input type="checkbox">
|
||||||
|
<input type="hidden" class="trKey" th:value="${trInfo.translatorKey}">
|
||||||
|
<input type="hidden" class="verNo" th:value="${trInfo.versionNo}">
|
||||||
|
</td>
|
||||||
|
<td th:text="${trInfo.wrtNm}"></td>
|
||||||
|
<td th:text="${trInfo.wrtDt}"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-8" id="valueDiv">
|
||||||
|
<div class="mb-5 row">
|
||||||
|
<label for="ogCd" class="col-sm-1 col-form-label text-center">관서</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<input type="text" class="form-control" id="ogdp1V" readonly>
|
||||||
|
</div>
|
||||||
|
<label for="ofcCd" class="col-sm-1 col-form-label text-center">언어</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<input type="text" class="form-control" id="trLangV" readonly>
|
||||||
|
</div>
|
||||||
|
<label for="ofcCd" class="col-sm-1 col-form-label text-center">경력</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<input type="text" class="form-control" id="trCareerV" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label for="ogCd" class="col-sm-1 col-form-label text-center">성명</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<input type="text" class="form-control" id="trNameV" readonly>
|
||||||
|
</div>
|
||||||
|
<label for="ofcCd" class="col-sm-1 col-form-label text-center">성별</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control" id="trSexV"readonly>
|
||||||
|
</div>
|
||||||
|
<label for="ofcCd" class="col-sm-1 col-form-label text-center">연락처</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control" id="trPhoneV" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label for="ogCd" class="col-sm-1 col-form-label text-center">국적</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control" id="trNnyV" readonly>
|
||||||
|
</div>
|
||||||
|
<label for="ofcCd" class="col-sm-1 col-form-label text-center">나이</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control" id="trAgeV" readonly>
|
||||||
|
</div>
|
||||||
|
<label for="ofcCd" class="col-sm-1 col-form-label text-center">학력</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<input type="text" class="form-control" id="trEduV" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label for="ogCd" class="col-sm-1 col-form-label text-center">자격증</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<input type="text" class="form-control" id="trCftV"readonly>
|
||||||
|
</div>
|
||||||
|
<label for="ofcCd" class="col-sm-1 col-form-label text-center">비자</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control" id="trVisaV" readonly>
|
||||||
|
</div>
|
||||||
|
<label for="ofcCd" class="col-sm-1 col-form-label text-center">위촉일</label>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<input type="text" class="form-control" id="aptDtV" name="aptDt">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label for="ogCd" class="col-sm-1 col-form-label text-center">해촉</label>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<input type="text" class="form-control" id="dmlYnV" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label for="tel" class="col-sm-1 col-form-label text-center">비고</label>
|
||||||
|
<div class="col-sm-11">
|
||||||
|
<textarea class="form-control" id="remarkV" readonly></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</html>
|
||||||
Loading…
Reference in New Issue