Revert "운영계획 중간저장"
This reverts commit 41f86bc8fa971ca7ddde3d3d9c72a23f57d0b0e9.
parent
da4a021844
commit
9020ee17e3
|
|
@ -1,24 +0,0 @@
|
||||||
package com.dbnt.faisp.config;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
import javax.persistence.Column;
|
|
||||||
import javax.persistence.Transient;
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@Setter
|
|
||||||
@NoArgsConstructor
|
|
||||||
public class BaseBoard extends BaseModel {
|
|
||||||
|
|
||||||
@Column(name = "wrt_organ")
|
|
||||||
private String wrtOrgan;
|
|
||||||
@Column(name = "wrt_nm")
|
|
||||||
private String wrtNm;
|
|
||||||
@Column(name = "wrt_dt")
|
|
||||||
private LocalDateTime wrtDt;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -61,8 +61,7 @@ public class SecurityConfig{
|
||||||
http.authorizeRequests() // 페이지 권한 설정
|
http.authorizeRequests() // 페이지 권한 설정
|
||||||
.antMatchers(
|
.antMatchers(
|
||||||
"/dashboard",
|
"/dashboard",
|
||||||
"/refreshSession",
|
"/refreshSession"
|
||||||
"/fpiMgt/**"
|
|
||||||
).hasRole(Role.USER.name()) // USER, ADMIN 접근 허용
|
).hasRole(Role.USER.name()) // USER, ADMIN 접근 허용
|
||||||
.antMatchers(
|
.antMatchers(
|
||||||
"/codeMgt/**",
|
"/codeMgt/**",
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,11 @@ import com.dbnt.faisp.fpiMgt.monthPlan.model.BoardPlan;
|
||||||
import com.dbnt.faisp.userInfo.model.UserInfo;
|
import com.dbnt.faisp.userInfo.model.UserInfo;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@RequestMapping("/fpiMgt")
|
@RequestMapping("/fpiMgt")
|
||||||
|
|
@ -29,25 +27,4 @@ public class FpiMgtController { // 외사경찰견문관리
|
||||||
mav.addObject("searchParams", boardPlan);
|
mav.addObject("searchParams", boardPlan);
|
||||||
return mav;
|
return mav;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/planEditModal")
|
|
||||||
public ModelAndView planEditModal(@AuthenticationPrincipal UserInfo loginUser, BoardPlan boardPlan){
|
|
||||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/monthPlan/planEditModal");
|
|
||||||
if(boardPlan.getPlanKey()!=null){
|
|
||||||
boardPlan = monthPlanService.selectBoardPlan(boardPlan.getPlanKey());
|
|
||||||
}else{
|
|
||||||
boardPlan.setWrtOrgan(loginUser.getOgCd());
|
|
||||||
boardPlan.setWrtNm(loginUser.getUserNm());
|
|
||||||
boardPlan.setWrtDt(LocalDateTime.now());
|
|
||||||
}
|
|
||||||
mav.addObject("plan", boardPlan);
|
|
||||||
return mav;
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostMapping("/savePlan")
|
|
||||||
public Integer savePlan(BoardPlan boardPlan,
|
|
||||||
@RequestParam(value = "planInfos", required = false) List<String> planInfos,
|
|
||||||
@RequestParam(value = "detailPlanInfos", required = false)List<String> detailPlanInfos){
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,10 @@
|
||||||
package com.dbnt.faisp.fpiMgt.monthPlan;
|
package com.dbnt.faisp.fpiMgt.monthPlan;
|
||||||
|
|
||||||
|
|
||||||
import com.dbnt.faisp.fpiMgt.monthPlan.model.BoardPlan;
|
|
||||||
import com.dbnt.faisp.fpiMgt.monthPlan.model.PlanFile;
|
|
||||||
import com.dbnt.faisp.fpiMgt.monthPlan.repository.BoardPlanRepository;
|
|
||||||
import com.dbnt.faisp.fpiMgt.monthPlan.repository.PlanFileRepository;
|
|
||||||
import com.dbnt.faisp.fpiMgt.monthPlan.repository.PlanMainInfoRepository;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class MonthPlanService {
|
public class MonthPlanService { // 월간계획
|
||||||
private final BoardPlanRepository boardPlanRepository;
|
|
||||||
private final PlanFileRepository planFileRepository;
|
|
||||||
private final PlanMainInfoRepository planMainInfoRepository;
|
|
||||||
|
|
||||||
public BoardPlan selectBoardPlan(Integer planKey) {
|
|
||||||
BoardPlan savedPlan = boardPlanRepository.findById(planKey).orElse(null);
|
|
||||||
savedPlan.setFileList(planFileRepository.findByPlanKey(planKey));
|
|
||||||
savedPlan.setMainInfoList(planMainInfoRepository.findByPlanKey(planKey));
|
|
||||||
return savedPlan;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.dbnt.faisp.fpiMgt.monthPlan.model;
|
package com.dbnt.faisp.fpiMgt.monthPlan.model;
|
||||||
|
|
||||||
import com.dbnt.faisp.config.BaseBoard;
|
import com.dbnt.faisp.config.BaseModel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
@ -8,7 +8,6 @@ import org.hibernate.annotations.DynamicInsert;
|
||||||
import org.hibernate.annotations.DynamicUpdate;
|
import org.hibernate.annotations.DynamicUpdate;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
|
|
@ -18,33 +17,28 @@ import java.util.List;
|
||||||
@DynamicInsert
|
@DynamicInsert
|
||||||
@DynamicUpdate
|
@DynamicUpdate
|
||||||
@Table(name = "board_plan")
|
@Table(name = "board_plan")
|
||||||
public class BoardPlan extends BaseBoard {
|
public class BoardPlan extends BaseModel {
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
@Column(name = "plan_key")
|
@Column(name = "plan_key")
|
||||||
private Integer planKey;
|
private Integer planKey;
|
||||||
@Column(name = "plan_state")
|
@Column(name = "cat1_cd")
|
||||||
private String planState;
|
private String cat1Cd;
|
||||||
@Column(name = "content_title")
|
@Column(name = "cat2_cd")
|
||||||
private String contentTitle;
|
private String cat2Cd;
|
||||||
@Column(name = "plan_dt")
|
@Column(name = "cat3_cd")
|
||||||
private LocalDate planDt;
|
private String cat3Cd;
|
||||||
@Column(name = "section_nm")
|
@Column(name = "menu_url")
|
||||||
private String sectionNm;
|
private String menuUrl;
|
||||||
@Column(name = "section_apprv")
|
@Column(name = "approval_chk")
|
||||||
private String sectionApprv;
|
private String approvalChk;
|
||||||
@Column(name = "section_etc")
|
|
||||||
private String sectionEtc;
|
|
||||||
@Column(name = "head_nm")
|
|
||||||
private String headNm;
|
|
||||||
@Column(name = "head_apprv")
|
|
||||||
private String headApprv;
|
|
||||||
@Column(name = "head_etc")
|
|
||||||
private String headEtc;
|
|
||||||
|
|
||||||
@Transient
|
@Transient
|
||||||
private List<PlanMainInfo> mainInfoList;
|
private List<BoardPlan> childList;
|
||||||
|
|
||||||
@Transient
|
@Transient
|
||||||
private List<PlanFile> fileList;
|
private Integer cat1RowspanCnt;
|
||||||
|
@Transient
|
||||||
|
private Integer cat2RowspanCnt;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,14 @@
|
||||||
package com.dbnt.faisp.fpiMgt.monthPlan.model;
|
package com.dbnt.faisp.fpiMgt.monthPlan.model;
|
||||||
|
|
||||||
import lombok.*;
|
import com.dbnt.faisp.config.BaseModel;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
import org.hibernate.annotations.DynamicInsert;
|
import org.hibernate.annotations.DynamicInsert;
|
||||||
import org.hibernate.annotations.DynamicUpdate;
|
import org.hibernate.annotations.DynamicUpdate;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.io.Serializable;
|
import java.util.List;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
|
|
@ -13,34 +16,29 @@ import java.io.Serializable;
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@DynamicInsert
|
@DynamicInsert
|
||||||
@DynamicUpdate
|
@DynamicUpdate
|
||||||
@Table(name = "plan_file")
|
@Table(name = "board_plan")
|
||||||
@IdClass(PlanFile.PlanFileId.class)
|
public class PlanFile extends BaseModel {
|
||||||
public class PlanFile{
|
|
||||||
@Id
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
@Column(name = "plan_key")
|
@Column(name = "plan_key")
|
||||||
private Integer planKey;
|
private Integer planKey;
|
||||||
@Id
|
@Column(name = "cat1_cd")
|
||||||
@Column(name = "file_seq")
|
private String cat1Cd;
|
||||||
private Integer fileSeq;
|
@Column(name = "cat2_cd")
|
||||||
@Column(name = "orig_nm")
|
private String cat2Cd;
|
||||||
private String origNm;
|
@Column(name = "cat3_cd")
|
||||||
@Column(name = "conv_nm")
|
private String cat3Cd;
|
||||||
private String convNm;
|
@Column(name = "menu_url")
|
||||||
@Column(name = "file_extn")
|
private String menuUrl;
|
||||||
private String fileExtn;
|
@Column(name = "approval_chk")
|
||||||
@Column(name = "file_size")
|
private String approvalChk;
|
||||||
private Integer fileSize;
|
|
||||||
@Column(name = "save_path")
|
|
||||||
private String savePath;
|
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private List<PlanFile> childList;
|
||||||
|
|
||||||
@Embeddable
|
@Transient
|
||||||
@Data
|
private Integer cat1RowspanCnt;
|
||||||
@NoArgsConstructor
|
@Transient
|
||||||
@AllArgsConstructor
|
private Integer cat2RowspanCnt;
|
||||||
public static class PlanFileId implements Serializable {
|
|
||||||
private Integer planKey;
|
|
||||||
private Integer fileSeq;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,14 @@
|
||||||
package com.dbnt.faisp.fpiMgt.monthPlan.model;
|
package com.dbnt.faisp.fpiMgt.monthPlan.model;
|
||||||
|
|
||||||
import lombok.*;
|
import com.dbnt.faisp.config.BaseModel;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
import org.hibernate.annotations.DynamicInsert;
|
import org.hibernate.annotations.DynamicInsert;
|
||||||
import org.hibernate.annotations.DynamicUpdate;
|
import org.hibernate.annotations.DynamicUpdate;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.io.Serializable;
|
import java.util.List;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
|
|
@ -14,25 +17,28 @@ import java.io.Serializable;
|
||||||
@DynamicInsert
|
@DynamicInsert
|
||||||
@DynamicUpdate
|
@DynamicUpdate
|
||||||
@Table(name = "board_plan")
|
@Table(name = "board_plan")
|
||||||
@IdClass(PlanMainInfo.PlanMainInfoId.class)
|
public class PlanMainInfo extends BaseModel {
|
||||||
public class PlanMainInfo {
|
|
||||||
@Id
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
@Column(name = "plan_key")
|
@Column(name = "plan_key")
|
||||||
private Integer planKey;
|
private Integer planKey;
|
||||||
@Id
|
@Column(name = "cat1_cd")
|
||||||
@Column(name = "plan_seq")
|
private String cat1Cd;
|
||||||
private Integer planSeq;
|
@Column(name = "cat2_cd")
|
||||||
@Column(name = "plan_type")
|
private String cat2Cd;
|
||||||
private String planType;
|
@Column(name = "cat3_cd")
|
||||||
@Column(name = "plan_info")
|
private String cat3Cd;
|
||||||
private String planInfo;
|
@Column(name = "menu_url")
|
||||||
|
private String menuUrl;
|
||||||
|
@Column(name = "approval_chk")
|
||||||
|
private String approvalChk;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private List<PlanMainInfo> childList;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private Integer cat1RowspanCnt;
|
||||||
|
@Transient
|
||||||
|
private Integer cat2RowspanCnt;
|
||||||
|
|
||||||
@Embeddable
|
|
||||||
@Data
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public static class PlanMainInfoId implements Serializable {
|
|
||||||
private Integer planKey;
|
|
||||||
private Integer planSeq;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
package com.dbnt.faisp.fpiMgt.monthPlan.repository;
|
|
||||||
|
|
||||||
import com.dbnt.faisp.fpiMgt.monthPlan.model.BoardPlan;
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
|
|
||||||
|
|
||||||
public interface BoardPlanRepository extends JpaRepository<BoardPlan, Integer> {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
package com.dbnt.faisp.fpiMgt.monthPlan.repository;
|
|
||||||
|
|
||||||
import com.dbnt.faisp.fpiMgt.monthPlan.model.PlanFile;
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
|
|
||||||
public interface PlanFileRepository extends JpaRepository<PlanFile, PlanFile.PlanFileId> {
|
|
||||||
List<PlanFile> findByPlanKey(Integer planKey);
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
package com.dbnt.faisp.fpiMgt.monthPlan.repository;
|
|
||||||
|
|
||||||
import com.dbnt.faisp.fpiMgt.monthPlan.model.PlanMainInfo;
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
|
|
||||||
public interface PlanMainInfoRepository extends JpaRepository<PlanMainInfo, PlanMainInfo.PlanMainInfoId> {
|
|
||||||
List<PlanMainInfo> findByPlanKey(Integer planKey);
|
|
||||||
}
|
|
||||||
|
|
@ -1,72 +0,0 @@
|
||||||
|
|
||||||
$(document).on('click', '#addPlanBtn', function (){
|
|
||||||
$.ajax({
|
|
||||||
url: '/fpiMgt/planEditModal',
|
|
||||||
data: {planKey: null},
|
|
||||||
type: 'GET',
|
|
||||||
dataType:"html",
|
|
||||||
success: function(html){
|
|
||||||
$("#planEditBody").empty().append(html)
|
|
||||||
$("#planEditModal").modal('show');
|
|
||||||
$("#planDt").datepicker({
|
|
||||||
format: "yyyy-mm-dd",
|
|
||||||
language: "ko"
|
|
||||||
});
|
|
||||||
},
|
|
||||||
error:function(){
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
})
|
|
||||||
|
|
||||||
$(document).on('click', '#planAddBtn', function (){
|
|
||||||
$("#planDiv").append("<input type='text' class='form-control' name='planInfos'>")
|
|
||||||
})
|
|
||||||
|
|
||||||
$(document).on('click', '#detailPlanAddBtn', function (){
|
|
||||||
const detailPlanDiv = $("#detailPlanDiv");
|
|
||||||
detailPlanDiv.append("<textarea type='text' name='detailPlanInfos'></textarea>");
|
|
||||||
const lastAppendTextarea = detailPlanDiv.children()[detailPlanDiv.children().length-1];
|
|
||||||
$(lastAppendTextarea).summernote({
|
|
||||||
lang:'ko-KR',
|
|
||||||
height: 120,
|
|
||||||
disableDragAndDrop: true,
|
|
||||||
toolbar: [
|
|
||||||
['style', ['style']],
|
|
||||||
['font', ['bold', 'underline', 'clear']],
|
|
||||||
['color', ['color']],
|
|
||||||
['para', ['ul', 'ol', 'paragraph']],
|
|
||||||
['table', ['table']]
|
|
||||||
]
|
|
||||||
});
|
|
||||||
})
|
|
||||||
|
|
||||||
$(document).on('click', '#savePlanBtn', function (){
|
|
||||||
savePlan('S')
|
|
||||||
})
|
|
||||||
$(document).on('click', '#saveTempBtn', function (){
|
|
||||||
savePlan('T')
|
|
||||||
})
|
|
||||||
|
|
||||||
function savePlan(planState){
|
|
||||||
if(confirm("저장하시겠습니까?")){
|
|
||||||
$("#planState").val(planState);
|
|
||||||
contentFade("in");
|
|
||||||
const formData = new FormData($("#planEditForm")[0]);
|
|
||||||
$.ajax({
|
|
||||||
type : 'POST',
|
|
||||||
data : formData,
|
|
||||||
url : "/fpiMgt/savePlan",
|
|
||||||
processData: false,
|
|
||||||
contentType: false,
|
|
||||||
success : function(result) {
|
|
||||||
debugger
|
|
||||||
contentFade("out");
|
|
||||||
},
|
|
||||||
error : function(xhr, status) {
|
|
||||||
alert("저장에 실패하였습니다.")
|
|
||||||
contentFade("out");
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
layout:decorate="~{layout/layout}">
|
layout:decorate="~{layout/layout}">
|
||||||
<th:block layout:fragment="script">
|
<th:block layout:fragment="script">
|
||||||
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/monthPlan.js}"></script>
|
<script type="text/javascript" th:src="@{/js/menuMgt/menuMgt.js}"></script>
|
||||||
</th:block>
|
</th:block>
|
||||||
<div layout:fragment="content">
|
<div layout:fragment="content">
|
||||||
<main class="pt-3">
|
<main class="pt-3">
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<div class="row justify-content-end">
|
<div class="row justify-content-end">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<input type="text" class="form-control form-control-sm">
|
<input type="text" class="form-control form-control-sm" name="menuUrl" placeholder="url" th:value="${searchParams.menuUrl}">
|
||||||
</div>
|
</div>
|
||||||
<input type="submit" class="btn btn-sm btn-primary col-auto" id="searchBtn" value="검색">
|
<input type="submit" class="btn btn-sm btn-primary col-auto" id="searchBtn" value="검색">
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -49,7 +49,9 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="row justify-content-between">
|
<div class="row justify-content-between">
|
||||||
<div class="col-auto"></div>
|
<div class="col-auto">
|
||||||
|
|
||||||
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<nav aria-label="Page navigation">
|
<nav aria-label="Page navigation">
|
||||||
<ul class="pagination">
|
<ul class="pagination">
|
||||||
|
|
@ -76,7 +78,7 @@
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<input type="button" class="btn btn-success" value="등록" id="addPlanBtn">
|
<input type="button" class="btn btn-success" value="등록" id="addMenuBtn" data-bs-toggle="modal" data-bs-target="#monthPlanModal">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -88,20 +90,51 @@
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<div class="modal fade" id="planEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="planEditModalLabel" aria-hidden="true">
|
<div class="modal fade" id="monthPlanModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="monthPlanModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-xl">
|
<div class="modal-dialog modal-lg">
|
||||||
<div class="modal-content">
|
<div class="modal-content" id="menuEditModalContent">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title" id="planEditModalLabel">월간 계획 작성</h5>
|
<h5 class="modal-title" id="staticBackdropLabel">월간 계획 작성</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 class="modal-body" id="planEditBody">
|
<div class="modal-body">
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label for="ogCd" class="col-sm-2 col-form-label text-center">작성자</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control" id="trCareer" name="trCareer">
|
||||||
|
</div>
|
||||||
|
<label for="ofcCd" class="col-sm-2 col-form-label text-center">작성일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control" id="trCareer" name="trCareer">
|
||||||
|
</div>
|
||||||
|
<label for="ofcCd" class="col-sm-2 col-form-label text-center">시행일자</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="text" class="form-control" id="trCareer" name="trCareer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<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="trCareer" name="trCareer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<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="trCareer" name="trCareer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<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="trCareer" name="trCareer">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
|
||||||
<button type="button" class="btn btn-warning" id="saveTempBtn">임시저장</button>
|
<button type="button" class="btn btn-warning">임시저장</button>
|
||||||
<button type="button" class="btn btn-primary" id="savePlanBtn">저장</button>
|
<button type="button" class="btn btn-primary">저장</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
|
||||||
<form action="#" method="post" id="planEditForm">
|
|
||||||
<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="planKey" th:value="${plan.planKey}">
|
|
||||||
<input type="hidden" name="planState" id="planState" th:value="${plan.planState}">
|
|
||||||
<div class="mb-3 row">
|
|
||||||
<label for="wrtNm" class="col-sm-2 col-form-label text-center">작성자</label>
|
|
||||||
<div class="col-sm-2">
|
|
||||||
<input type="text" class="form-control" id="wrtNm" name="wrtNm" th:value="${plan.wrtNm}" readonly>
|
|
||||||
</div>
|
|
||||||
<label for="wrdDt" class="col-sm-2 col-form-label text-center">작성일</label>
|
|
||||||
<div class="col-sm-2">
|
|
||||||
<input type="text" class="form-control" id="wrdDt" name="wrdDt" th:value="${#temporals.format(plan.wrtDt, 'yyyy-MM-dd HH:mm')}" readonly>
|
|
||||||
</div>
|
|
||||||
<label for="planDt" class="col-sm-2 col-form-label text-center">시행일자</label>
|
|
||||||
<div class="col-sm-2">
|
|
||||||
<input type="text" class="form-control" id="planDt" name="planDt" th:value="${#temporals.format(plan.planDt, 'yyyy-MM-dd')}" autocomplete="off">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-3 row">
|
|
||||||
<label for="contentTitle" class="col-sm-2 col-form-label text-center">제목</label>
|
|
||||||
<div class="col-sm-10">
|
|
||||||
<input type="text" class="form-control" id="contentTitle" name="contentTitle" th:value="${plan.contentTitle}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-3 row justify-content-center">
|
|
||||||
<label for="planAddBtn" class="col-sm-2 col-form-label text-center">주요 사업계획</label>
|
|
||||||
<div class="col-sm-10" id="planDiv">
|
|
||||||
<!--<input type="text" class="form-control" name="planInfo">-->
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-auto">
|
|
||||||
<button type="button" class="btn btn-sm btn-outline-primary" id="planAddBtn"><i class="bi bi-plus-lg"></i></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="mb-3 row justify-content-center">
|
|
||||||
<label for="detailPlanAddBtn" class="col-sm-2 col-form-label text-center">사업개요 및 추진계획</label>
|
|
||||||
<div class="col-sm-10" id="detailPlanDiv">
|
|
||||||
<!--<textarea id="detailPlanInfo"></textarea>-->
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-auto">
|
|
||||||
<button type="button" class="btn btn-sm btn-outline-primary" id="detailPlanAddBtn"><i class="bi bi-plus-lg"></i></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5">
|
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<title>해양경찰청 외사종합포털</title>
|
<title>해양경찰청 파일관리 시스템</title>
|
||||||
|
|
||||||
<!--bootstrap-->
|
<!--bootstrap-->
|
||||||
<link rel="stylesheet" th:href="@{/vendor/bootstrap-5.2.0-dist/css/bootstrap.min.css}">
|
<link rel="stylesheet" th:href="@{/vendor/bootstrap-5.2.0-dist/css/bootstrap.min.css}">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue