diff --git a/src/main/java/com/dbnt/faisp/translator/TranslatorController.java b/src/main/java/com/dbnt/faisp/translator/TranslatorController.java index f888db11..2f8bfde9 100644 --- a/src/main/java/com/dbnt/faisp/translator/TranslatorController.java +++ b/src/main/java/com/dbnt/faisp/translator/TranslatorController.java @@ -1,17 +1,16 @@ package com.dbnt.faisp.translator; import com.dbnt.faisp.authMgt.service.AuthMgtService; -import com.dbnt.faisp.codeMgt.service.CodeMgtService; -import com.dbnt.faisp.menuMgt.service.MenuMgtService; import com.dbnt.faisp.organMgt.service.OrganConfigService; import com.dbnt.faisp.translator.model.Translator; import com.dbnt.faisp.translator.model.TranslatorCrr; import com.dbnt.faisp.translator.service.TranslatorService; -import com.dbnt.faisp.userInfo.service.UserInfoService; import com.dbnt.faisp.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; @@ -23,10 +22,7 @@ import org.springframework.web.servlet.ModelAndView; @RequestMapping("/translator") public class TranslatorController { - private final MenuMgtService menuMgtService; - private final UserInfoService userInfoService; private final AuthMgtService authMgtService; - private final CodeMgtService codeMgtService; private final TranslatorService translatorSevice; private final OrganConfigService organConfigService; @@ -34,6 +30,14 @@ public class TranslatorController { @GetMapping("/info") public ModelAndView translatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator) { ModelAndView mav = new ModelAndView("translator/translator"); + Map params = new HashMap<>(); + params.put("userSeq", loginUser.getUserSeq()); + params.put("menuUrl", "/translator/info"); + //메뉴권한 확인 + String accessAuth = authMgtService.selectAccessConfigList(params).get(0).getAccessAuth(); + + mav.addObject("mgtOrganList", loginUser.getOrganCdList()); + mav.addObject("accessAuth", accessAuth); translator.setOrganCdList(organConfigService.selectOrganListWhereUserOgCd(loginUser.getOgCd())); translator.setQueryInfo(); mav.addObject("translatorList", translatorSevice.selectTranslatorList(translator)); @@ -51,13 +55,19 @@ public class TranslatorController { } @GetMapping("/translatorEditModal") - public ModelAndView translatorEditModal(Translator translator){ + public ModelAndView translatorEditModal(@AuthenticationPrincipal UserInfo loginUser,Translator translator){ ModelAndView mav = new ModelAndView("translator/translatorEditModal"); + Map params = new HashMap<>(); + params.put("userSeq", loginUser.getUserSeq()); + params.put("menuUrl", "/translator/info"); + //메뉴권한 확인 + String accessAuth = authMgtService.selectAccessConfigList(params).get(0).getAccessAuth(); mav.addObject("trInfo", translatorSevice.selectTranslatorView(translator)); + mav.addObject("accessAuth", accessAuth); return mav; } - @PostMapping("/updatetranslatorInfo") + @PostMapping("/updateTranslatorInfo") public void updatetranslatorInfo(@AuthenticationPrincipal UserInfo loginUser,Translator translator) { translator.setWrtNm(loginUser.getUserId()); translator.setWrtOrgan(loginUser.getOgCd()); @@ -79,11 +89,47 @@ public class TranslatorController { } @GetMapping("/careerView") - public ModelAndView careerView(TranslatorCrr translatorCrr){ + public ModelAndView careerView(@AuthenticationPrincipal UserInfo loginUser,TranslatorCrr translatorCrr){ ModelAndView mav = new ModelAndView("translator/translatorCareerModal"); + Map params = new HashMap<>(); + params.put("userSeq", loginUser.getUserSeq()); + params.put("menuUrl", "/translator/info"); + //메뉴권한 확인 + String accessAuth = authMgtService.selectAccessConfigList(params).get(0).getAccessAuth(); + mav.addObject("policeCrr", translatorSevice.selectMaritimePoliceCareer(translatorCrr)); + mav.addObject("anotherCrr", translatorSevice.selectAnotherOrganizationCareer(translatorCrr)); + mav.addObject("trKey", translatorCrr.getTranslatorKey()); + mav.addObject("accessAuth", accessAuth); return mav; } + @GetMapping("/careerInsertPage") + public ModelAndView careerInsertPage(TranslatorCrr translatorCrr){ + ModelAndView mav = new ModelAndView("translator/translatorCareerInsert"); + mav.addObject("trKey", translatorCrr.getTranslatorKey()); + return mav; + } + + @PostMapping("/insertTranslatorCareer") + @ResponseBody + public int insertTranslatorCareer(@RequestBody List translatorCrr){ + int trKey = translatorSevice.insertTranslatorCareer(translatorCrr); + return trKey; + } + + @PostMapping("/deleteCareer") + @ResponseBody + public int deleteCareer(@RequestBody TranslatorCrr translatorCrr) { + int trKey = translatorSevice.deleteCareer(translatorCrr); + return trKey; + } + + @PostMapping("/deleteTranslatorInfo") + @ResponseBody + public void deleteTranslatorInfo(@RequestBody int trKey) { + translatorSevice.deleteTranslatorInfo(trKey); + } + } diff --git a/src/main/java/com/dbnt/faisp/translator/mapper/TranslatorMapper.java b/src/main/java/com/dbnt/faisp/translator/mapper/TranslatorMapper.java index bcaa74b6..465f89cd 100644 --- a/src/main/java/com/dbnt/faisp/translator/mapper/TranslatorMapper.java +++ b/src/main/java/com/dbnt/faisp/translator/mapper/TranslatorMapper.java @@ -1,6 +1,7 @@ package com.dbnt.faisp.translator.mapper; import com.dbnt.faisp.translator.model.Translator; +import com.dbnt.faisp.translator.model.TranslatorCrr; import com.dbnt.faisp.userInfo.model.UserInfo; import org.apache.ibatis.annotations.Mapper; @@ -17,4 +18,6 @@ public interface TranslatorMapper { Translator HistoryView(Translator translator); + List selectCareerList(TranslatorCrr translatorCrr); + } diff --git a/src/main/java/com/dbnt/faisp/translator/model/Translator.java b/src/main/java/com/dbnt/faisp/translator/model/Translator.java index e128318b..957091f3 100644 --- a/src/main/java/com/dbnt/faisp/translator/model/Translator.java +++ b/src/main/java/com/dbnt/faisp/translator/model/Translator.java @@ -1,8 +1,5 @@ package com.dbnt.faisp.translator.model; -import com.dbnt.faisp.authMgt.model.AccessConfig; -import com.dbnt.faisp.authMgt.model.ApprovalConfig; -import com.dbnt.faisp.codeMgt.model.CodeMgt; import com.dbnt.faisp.config.BaseModel; import lombok.AllArgsConstructor; @@ -13,19 +10,12 @@ import lombok.Setter; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; -import org.springframework.security.core.userdetails.UserDetails; import javax.persistence.*; import java.io.Serializable; import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Set; @Getter diff --git a/src/main/java/com/dbnt/faisp/translator/model/TranslatorCrr.java b/src/main/java/com/dbnt/faisp/translator/model/TranslatorCrr.java index d6df0bdc..48d1fd23 100644 --- a/src/main/java/com/dbnt/faisp/translator/model/TranslatorCrr.java +++ b/src/main/java/com/dbnt/faisp/translator/model/TranslatorCrr.java @@ -1,8 +1,5 @@ package com.dbnt.faisp.translator.model; -import com.dbnt.faisp.authMgt.model.AccessConfig; -import com.dbnt.faisp.authMgt.model.ApprovalConfig; -import com.dbnt.faisp.codeMgt.model.CodeMgt; import com.dbnt.faisp.config.BaseModel; import lombok.AllArgsConstructor; @@ -13,20 +10,11 @@ import lombok.Setter; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; -import org.springframework.security.core.userdetails.UserDetails; import javax.persistence.*; import java.io.Serializable; import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - @Getter @Setter @@ -35,14 +23,14 @@ import java.util.Set; @DynamicInsert @DynamicUpdate @Table(name = "translator_career") +@IdClass(TranslatorCrr.TranslatorCrrId.class) public class TranslatorCrr extends BaseModel implements Serializable{ @Id @Column(name = "career_seq") private Integer careerSeq; + @Id @Column(name = "translator_key") private Integer translatorKey; - @Column(name = "version_no") - private Integer versionNo; @Column(name = "his_gubun") private String hisGubun; @Column(name = "contents") @@ -56,15 +44,17 @@ public class TranslatorCrr extends BaseModel implements Serializable{ @Override public String toString() { - return "TranslatorCrr [careerSeq=" + careerSeq + ", translatorKey=" + translatorKey + ", versionNo=" + versionNo - + ", hisGubun=" + hisGubun + ", contents=" + contents + ", tcDt=" + tcDt + ", remark=" + remark + "]"; + return "TranslatorCrr [careerSeq=" + careerSeq + ", translatorKey=" + translatorKey + ", hisGubun=" + hisGubun + + ", contents=" + contents + ", tcDt=" + tcDt + ", remark=" + remark + "]"; } - - - - - - +@Embeddable +@Data +@NoArgsConstructor +@AllArgsConstructor +public static class TranslatorCrrId implements Serializable { + private Integer careerSeq; + private Integer translatorKey; +} } diff --git a/src/main/java/com/dbnt/faisp/translator/repository/TranslatorCareerRepository.java b/src/main/java/com/dbnt/faisp/translator/repository/TranslatorCareerRepository.java new file mode 100644 index 00000000..d7426694 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/translator/repository/TranslatorCareerRepository.java @@ -0,0 +1,25 @@ +package com.dbnt.faisp.translator.repository; + +import com.dbnt.faisp.translator.model.TranslatorCrr; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + + +public interface TranslatorCareerRepository extends JpaRepository { + + TranslatorCrr findTopByTranslatorKeyOrderByCareerSeqDesc(Integer translatorKey); + + Optional findByCareerSeqAndTranslatorKey(Integer careerSeq, Integer translatorKey); + + void deleteByTranslatorKey(int trKey); + + + + + + + + + +} diff --git a/src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java b/src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java index f0aaa85d..bb67125a 100644 --- a/src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java +++ b/src/main/java/com/dbnt/faisp/translator/repository/TranslatorRepository.java @@ -1,16 +1,16 @@ package com.dbnt.faisp.translator.repository; import com.dbnt.faisp.translator.model.Translator; -import com.dbnt.faisp.userInfo.model.UserInfo; import org.springframework.data.jpa.repository.JpaRepository; -import java.util.Optional; public interface TranslatorRepository extends JpaRepository { Translator findFirstByOrderByTranslatorKeyDesc(); + void deleteByTranslatorKey(int trKey); + diff --git a/src/main/java/com/dbnt/faisp/translator/service/TranslatorService.java b/src/main/java/com/dbnt/faisp/translator/service/TranslatorService.java index a8b66d19..92a04591 100644 --- a/src/main/java/com/dbnt/faisp/translator/service/TranslatorService.java +++ b/src/main/java/com/dbnt/faisp/translator/service/TranslatorService.java @@ -1,19 +1,17 @@ package com.dbnt.faisp.translator.service; -import com.dbnt.faisp.menuMgt.mapper.MenuMgtMapper; -import com.dbnt.faisp.menuMgt.model.MenuMgt; -import com.dbnt.faisp.menuMgt.repository.MenuMgtRepository; + import com.dbnt.faisp.translator.mapper.TranslatorMapper; import com.dbnt.faisp.translator.model.Translator; import com.dbnt.faisp.translator.model.Translator.TranslatorId; +import com.dbnt.faisp.translator.model.TranslatorCrr; +import com.dbnt.faisp.translator.repository.TranslatorCareerRepository; import com.dbnt.faisp.translator.repository.TranslatorRepository; -import com.dbnt.faisp.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import javax.persistence.Transient; import java.time.LocalDateTime; import java.util.*; @@ -23,6 +21,7 @@ import java.util.*; public class TranslatorService { private final TranslatorRepository translatorRepository; + private final TranslatorCareerRepository translatorCareerRepository; private final TranslatorMapper translatorMapper; public String insertTranslatorInfo(Translator translator) { @@ -31,7 +30,6 @@ public class TranslatorService { if (dbTranslator == null) { translator.setTranslatorKey(1); translator.setVersionNo(1); - translatorRepository.save(translator); return translatorRepository.save(translator).getTrName(); } else { translator.setTranslatorKey(dbTranslator.getTranslatorKey() + 1); @@ -89,4 +87,43 @@ public class TranslatorService { return translatorMapper.HistoryView(translator); } + public int insertTranslatorCareer(List translatorCrr) { + int trKey = 0; + for(TranslatorCrr tCrr : translatorCrr ) { + TranslatorCrr dbCareer = translatorCareerRepository.findTopByTranslatorKeyOrderByCareerSeqDesc(tCrr.getTranslatorKey()); + if (dbCareer == null) { + tCrr.setCareerSeq(1); + translatorCareerRepository.save(tCrr); + } else { + tCrr.setCareerSeq(dbCareer.getCareerSeq()+ 1); + translatorCareerRepository.save(tCrr); + } + trKey = tCrr.getTranslatorKey(); + } + return trKey; + } + + public List selectMaritimePoliceCareer(TranslatorCrr translatorCrr) { + translatorCrr.setHisGubun("Y"); + return translatorMapper.selectCareerList(translatorCrr); + } + + public List selectAnotherOrganizationCareer(TranslatorCrr translatorCrr) { + translatorCrr.setHisGubun("N"); + return translatorMapper.selectCareerList(translatorCrr); + } + + @Transactional + public int deleteCareer(TranslatorCrr translatorCrr) { + TranslatorCrr dbCareer = translatorCareerRepository.findByCareerSeqAndTranslatorKey(translatorCrr.getCareerSeq(),translatorCrr.getTranslatorKey()).orElse(null); + translatorCareerRepository.delete(dbCareer); + return translatorCrr.getTranslatorKey(); + } + + @Transactional + public void deleteTranslatorInfo(int trKey) { + translatorCareerRepository.deleteByTranslatorKey(trKey); + translatorRepository.deleteByTranslatorKey(trKey); + } + } diff --git a/src/main/resources/mybatisMapper/TranslatorMapper.xml b/src/main/resources/mybatisMapper/TranslatorMapper.xml index dd06e0ec..a3aadf5e 100644 --- a/src/main/resources/mybatisMapper/TranslatorMapper.xml +++ b/src/main/resources/mybatisMapper/TranslatorMapper.xml @@ -36,6 +36,27 @@ #{item} + + and tr_lang = #{trLang} + + + and ogdp1 = #{ogdp1} + + + and tr_name = #{trName} + + + and tr_nny = #{trNny} + + + and tr_visa = #{trVisa} + + + and to_char(apt_dt,'YYYY-MM-DD') = #{aptDt}::VARCHAR + + + and dml_yn = #{dmlYn} + order by translator_key desc limit #{rowCnt} offset #{firstIndex} @@ -73,6 +94,27 @@ #{item} + + and tr_lang = #{trLang} + + + and ogdp1 = #{ogdp1} + + + and tr_name = #{trName} + + + and tr_nny = #{trNny} + + + and tr_visa = #{trVisa} + + + and to_char(apt_dt,'YYYY-MM-DD') = #{aptDt}::VARCHAR + + + and dml_yn = #{dmlYn} + ) a @@ -113,5 +155,18 @@ where translator_key = #{translatorKey} and version_no = #{versionNo} + + \ No newline at end of file diff --git a/src/main/resources/static/js/translator/translator.js b/src/main/resources/static/js/translator/translator.js index 401fa97e..5e18ef77 100644 --- a/src/main/resources/static/js/translator/translator.js +++ b/src/main/resources/static/js/translator/translator.js @@ -6,21 +6,17 @@ $(document).on('click', '.userInfoTr', function (event){ $("#selectedVerNo").val($(this).find(".verNo").val()) const x = event.clientX; const y = event.clientY; - $(".dropdown-menu.show").attr('style','position: absolute; inset: 0px auto auto 0px; margin: 0px; transform: translate(4px, 100px);'); + const dropdown = $(".dropdown-menu.show") + if(dropdown.length>0){ + dropdown[0].style.inset = "0px auto auto "+(x-event.currentTarget.getBoundingClientRect().x)+"px"; + } }) -function traslatorInfo(trKey){ - console.log(trKey); -} - $(document).on('click', '.translatorInfo', function (){ - console.log($(this)); document.getElementById('accessTab').classList.add('active'); document.getElementById('approvalTab').classList.remove('active'); const trKey = Number($("#selectedKey").val()); const verNo = Number($("#selectedVerNo").val()); - console.log(trKey); - console.log(verNo); const url = '/translator/translatorEditModal'; revisionHistory(trKey,verNo,url); var html=""; @@ -29,25 +25,6 @@ $(document).on('click', '.translatorInfo', function (){ $("#KeyValue").empty().html(html) }) -$(document).on('click', '.careerInfo', function (){ - const trKey = (Number($(this).parents("tr").find('.trKey').val())); - $.ajax({ - url: '/translator/careerView', - data: { - translatorKey: trKey, - }, - type: 'GET', - dataType:"html", - success: function(html){ - $("#careerView").empty().append(html) - $("#translatorCareerModal").modal('show'); - }, - error:function(){ - - } - }); -}) - $(document).on('click', '#trView', function (){ document.getElementById('accessTab').classList.add('active'); document.getElementById('approvalTab').classList.remove('active'); @@ -68,7 +45,7 @@ $(document).on('click', '#updateBtn', function (){ $.ajax({ type : 'POST', data : formData, - url : "/translator/updatetranslatorInfo", + url : "/translator/updateTranslatorInfo", processData: false, contentType: false, success : function() { @@ -85,18 +62,9 @@ $(document).on('click', '#updateBtn', function (){ }) $(document).on('click', '#saveBtn', function (){ - console.log(trCarrerList); if(confirm("저장하시겠습니까?")){ contentFade("in"); const formData = new FormData($("#translatorInsert")[0]); - for(const carrer of trCarrerList){ - formData.append('contents', carrer.contents) - formData.append('hisGubun', carrer.hisGubun) - formData.append('remark', carrer.remark) - formData.append('tcDt', carrer.tcDt) - } - // var values = JSON.stringify(trCarrerList); - // $('input[name=TranslatorCrr]').val(values); $.ajax({ type : 'POST', data : formData, @@ -197,8 +165,6 @@ $(document).on('click', '.historyInfoTr', function (){ $("#aptDtV").val(data.aptDt); $("#dmlYnV").val(data.dmlYn); $("#remarkV").val(data.remark); - // $("#configInfo").empty().append(html) - // $("#translatorEditModal").modal('show'); }, error:function(){ @@ -246,6 +212,10 @@ function revisionHistory(trKey,verNo,url){ success: function(html){ $("#configInfo").empty().append(html) $("#translatorEditModal").modal('show'); + $("#viewAptDt").datepicker({ + format: "yyyy-mm-dd", + language: "ko" + }); }, error:function(){ @@ -262,8 +232,9 @@ $(document).on('change', '#trNny', function (){ }); $(document).on('click', '#crrAddBtn', function (){ - $('#crr').append( - '
'+ + const trKey = (Number($('#tcInsertKey').val())); + $('#insertCareer').append( + '
'+ '
'+ ''+ '
'+ @@ -280,11 +251,11 @@ $(document).on('click', '#crrAddBtn', function (){ ''+ '
'+ ''+ - '
'+ + '
'+ ''+ '
'+ ''+ - '
'+ + '
'+ ''+ '
'+ '
' @@ -293,24 +264,18 @@ $(document).on('click', '#crrAddBtn', function (){ format: "yyyy-mm-dd", language: "ko" }); - trCarrerList.push({hisGubun:"",tcDt:"",contents:"",remark:""}); - console.log(trCarrerList); + trCarrerList.push({translatorKey:trKey, hisGubun:"",tcDt:"",contents:"",remark:""}); }) $(document).on('click', '.rowDeleteBtn', function (){ - console.log($(this).parents('#crr').children('#crrDiv')); - selectedIdx = $(this).parents('#crr').children('#crrDiv').length-1; - trCarrerList.splice(selectedIdx,1); - console.log(selectedIdx); - console.log(trCarrerList); - + selectedIdx = $(this).parents("#crrDiv").index()-1; + trCarrerList.splice(selectedIdx,1); $(this).parents('#crrDiv').remove(); }) $(document).on('change', '.crrInput', function (){ - selectedIdx = $(this).parents('#crr').children('#crrDiv').length-1; + selectedIdx = $(this).parents("#crrDiv").index()-1; const target = trCarrerList[selectedIdx]; - console.log(target) switch (this.name){ case "hisGubun": target.hisGubun = this.value @@ -326,3 +291,126 @@ $(document).on('change', '.crrInput', function (){ break; } }) + +$(document).on('click', '.careerInfo', function (){ + const trKey = Number($("#selectedKey").val()); + showCareer(trKey); +}) + +function showCareer(trKey){ + $.ajax({ + url: '/translator/careerView', + data: { + translatorKey: trKey, + }, + type: 'GET', + dataType:"html", + success: function(html){ + $("#careerView").empty().append(html) + $("#translatorCareerModal").modal('show'); + }, + error:function(){ + + } + }); +} + + +$(document).on('click', '#crrInsertBtn', function (){ + const trKey = Number($("#tcmKey").val()); + $.ajax({ + url: '/translator/careerInsertPage', + data: { + translatorKey: trKey, + }, + type: 'GET', + dataType:"html", + success: function(html){ + $("#careerView").empty().append(html) + $("#translatorCareerModal").modal('show'); + }, + error:function(){ + + } + }); +}) + +$(document).on('click', '#crrSaveBtn', function (){ + if(confirm("저장하시겠습니까?")){ + contentFade("in"); + $.ajax({ + type : 'POST', + data : JSON.stringify(trCarrerList), + url : "/translator/insertTranslatorCareer", + contentType: 'application/json', + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(data) { + contentFade("out"); + alert("이력등록이 완료되었습니다."); + showCareer(data); + trCarrerList.length = 0; + }, + error : function(xhr, status) { + contentFade("out"); + alert("이력등록을 실패하였습니다"); + } + }) + } +}) + +function deleteCareerBtn(crrSeq,trKey){ + if(confirm("삭제하시겠습니까?")){ + $.ajax({ + type : 'POST', + url : "/translator/deleteCareer", + data : JSON.stringify({careerSeq:crrSeq, + translatorKey:trKey}), + contentType: 'application/json', + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(data) { + alert("삭제 처리되었습니다."); + showCareer(data); + }, + error : function(xhr, status) { + alert("삭제 처리에 실패하였습니다"); + } + }) + } +} + +$(document).on('click', '.btn-close', function (){ + trCarrerList.length = 0; +}) + +$(document).on('click', '#trDeleteBtn', function (){ + if(confirm("해임 하시겠습니까?")){ + contentFade("in"); + const trKey = Number($(".translatorKey").val()); + $.ajax({ + type : 'POST', + data : JSON.stringify(trKey), + url : "/translator/deleteTranslatorInfo", + contentType: 'application/json', + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function() { + alert("해임되었습니다."); + contentFade("out"); + location.reload(); + }, + error : function(xhr, status) { + alert("해임을 실패하였습니다."); + contentFade("out"); + } + }) + } +}) + + + + diff --git a/src/main/resources/templates/translator/translator.html b/src/main/resources/templates/translator/translator.html index 1c7d066d..d747d78b 100644 --- a/src/main/resources/templates/translator/translator.html +++ b/src/main/resources/templates/translator/translator.html @@ -13,7 +13,7 @@
- +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+
@@ -139,7 +170,7 @@
- +
@@ -168,9 +199,11 @@ +
diff --git a/src/main/resources/templates/translator/translatorCareerInsert.html b/src/main/resources/templates/translator/translatorCareerInsert.html new file mode 100644 index 00000000..c8b31214 --- /dev/null +++ b/src/main/resources/templates/translator/translatorCareerInsert.html @@ -0,0 +1,31 @@ + + +
+ + +
+
+
+
+
경력 등록
+ +
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ \ No newline at end of file diff --git a/src/main/resources/templates/translator/translatorCareerModal.html b/src/main/resources/templates/translator/translatorCareerModal.html index 6a5e1441..ccab8ffc 100644 --- a/src/main/resources/templates/translator/translatorCareerModal.html +++ b/src/main/resources/templates/translator/translatorCareerModal.html @@ -12,21 +12,24 @@
해양경찰청 이력
- + +
- - - - + + + + + - - - - - + + + + + +
연번날짜내용비고연번날짜내용비고
@@ -40,21 +43,25 @@ 날짜 내용 비고 + - - - - - + + + + + +
- +
+
diff --git a/src/main/resources/templates/translator/translatorEditModal.html b/src/main/resources/templates/translator/translatorEditModal.html index 5d640225..180d804c 100644 --- a/src/main/resources/templates/translator/translatorEditModal.html +++ b/src/main/resources/templates/translator/translatorEditModal.html @@ -9,7 +9,7 @@
- +
+
@@ -112,8 +112,8 @@