지도사용 요청 조회 모달화.

master
강석 최 2022-03-03 16:23:25 +09:00
parent e80e18c035
commit 1c8223226f
6 changed files with 370 additions and 548 deletions

View File

@ -129,7 +129,7 @@ public class MapController {
model.addAttribute("layers", layers);
model.addAttribute("layersVO", layersVO);
return "map/requestView";
return "map/html/requestView";
}else {
model.addAttribute("url", "/map/request");
model.addAttribute("resultMsg", "권한이 없습니다.");

View File

@ -1,4 +1,3 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

View File

@ -34,8 +34,9 @@
<c:if test="${count >= 1}">
<c:forEach var="item" items="${useRequestList}" varStatus="idx">
<tr>
<%--<a href="/map/request/<c:out value='${item.idx}' />">--%>
<td>${idx.count}</td>
<td class="title-td" style="width:70%;"><a href="/map/request/<c:out value='${item.idx}' />">${item.title}</a></td>
<td class="title-td" data-idx="${item.idx}">${item.title}</td>
<td class="td_date">${item.r_date}</td>
<td>
<c:choose>

View File

@ -17,11 +17,6 @@
<c:choose>
<c:when test="${useRequestVO.status eq '99' }">
<table class="detail_table">
<thead>
<tr>
<th colspan="5" style="text-align: center;">지도 사용 요청</th>
</tr>
</thead>
<tbody>
<tr>
<th colspan="2">작업명</th>
@ -66,7 +61,7 @@
</td>
</tr>
<tr>
<th style="width:7%;" rowspan="3">레이어</th>
<th rowspan="3">레이어</th>
<th><label>지하시설물</label></th>
<td>
<c:forEach var="item" items="${layersVO}" varStatus="status">
@ -120,9 +115,6 @@
</tbody>
</table>
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/map/request'" />
</p>
<p class="search_p2">
<input class="btn btn-danger" type="button" value="취소" onclick="deleteReqBtn(); return false;" />
<input class="btn btn-success" type="button" value="수정" onclick="updateReqBtn(); return false;" />
@ -131,11 +123,6 @@
</c:when>
<c:otherwise>
<table class="detail_table">
<thead>
<tr>
<th colspan="4" style="text-align: center;">지도 사용 요청</th>
</tr>
</thead>
<tbody>
<tr>
<th>작업명</th>
@ -233,9 +220,6 @@
</table>
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/map/request'" />
</p>
</div>
</c:otherwise>
</c:choose>
@ -244,204 +228,6 @@
<script type="text/javascript">
var areaAddCount = ${selectArea.size()};
/*
* 지역 추가
*/
function addAreaBtn(){
var addedAreaWrapCnt = $(".addedAreaWrap").length;
if(addedAreaWrapCnt < 3){
if($("#city").val() != "0"){
areaAddCount++;
var selectAreaCode = null;
var selectAreaName = null;
if($("#town").val() == "0"){
selectArea = $("#county").val();
selectAreaName = $("#city option:selected").text() +" "+ $("#county option:selected").text();
if($("#county").val() == "0"){
selectArea = $("#city").val();
selectAreaName = $("#city option:selected").text();
}
}else{
selectArea = $("#town").val();
selectAreaName = $("#city option:selected").text()+" "+$("#county option:selected").text()+" "+$("#town option:selected").text();
}
var overLapArea = false;
$("input[name=selectArea]").each(function(){
if($(this).val() == selectArea){
overLapArea = true;
}
});
if(overLapArea){
alert('이미 등록된 장소 입니다.');
return false;
}else{
var tag = '';
tag += '<span id="addedAreaWrap'+areaAddCount+'" class="addedAreaWrap">';
tag += selectAreaName;
tag += '<span class="glyphicon glyphicon-remove point-cursor" onclick="removeAreaBtn('+areaAddCount+');"></span>';
tag += '<input type="hidden" name="selectArea" value="'+selectArea+'" />';
tag += '</span>';
$("#addedArea").append(tag);
}
}else{
alert('지역을 선택해주세요.');
}
}else{
alert('더 이상 추가 하실 수 없습니다.');
}
}
/*
* 지역 삭제
* removeNum : 삭제할 태그 번호
*/
function removeAreaBtn(removeNum){
$("#addedAreaWrap"+removeNum).remove();
}
function resetSelectBox(area){
var baseOption = "<option value='0'>::전체::</option>";
if(area == "county"){
$("#town").empty();
$("#town").append(baseOption);
}else if(area == "city"){
$("#county").empty();
$("#town").empty();
$("#county").append(baseOption);
$("#town").append(baseOption);
}
}
/*
* 지역 변경
*/
function changeAreaList(code, area){
var target = null
if(area == "city"){
target = $("#county");
}else{
target = $("#town");
}
resetSelectBox(area);
if(code != 0){
$.ajax({
url : "<c:url value='/selectAreaList' />",
type : "GET",
dataType : "json",
data:{
"code" : code,
"area" : area
},
success : function(data){
if(data){
if(area == "city"){
for(var idx in data){
target.append("<option value='"+data[idx].code+"'>"+data[idx].area+"</option>");
}
}else{
for(var idx in data){
target.append("<option value='"+data[idx].code+"'>"+data[idx].area+"</option>");
}
}
}
}
});
}
}
/*
* 날짜 변경
* state : 시작 또는 종료
*/
function dateChange(state){
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
if(endDate != "" && startDate > endDate){
if(state == "start"){
$("#endDate").val(startDate);
}else{
$("#startDate").val(endDate);
}
}
}
/*
* 지역 유효성 검사
*/
function areaCheck(){
var selectArr = [];
$("input[name=selectArea]").each(function(){
selectArr.push($(this).val());
});
$("#places").val(selectArr);
if($("#places").val() == ""){
return false;
}else{
return true;
}
}
/*
* 레이어 유효성 검사
*/
function layersCheck(){
var checkArr = []; // 배열 초기화
$('input:checkbox[name="facility"]:checked').each(function(index, item) {
checkArr.push($(item).val());
});
$('input:checkbox[name="structure"]:checked').each(function(index, item) {
checkArr.push($(item).val());
});
$('input:checkbox[name="ground"]:checked').each(function(index, item) {
checkArr.push($(item).val());
});
$('#layers').val(checkArr);
if($('#layers').val() == ""){
return false;
}else{
return true;
}
}
function updateReqBtn(){
if($("#title").val() == ""){
alert('작업명을 입력해주세요.');
$("#title").focus();
return;
}else if($("#startDate").val() == ""){
alert('시작 기간을 입력해주세요.');
$("#startDate").focus();
return;
}else if($("#endDate").val() == ""){
alert('종료 기간을 입력해주세요.');
$("#endDate").focus();
return;
}else if(!areaCheck()){
alert('지역을 추가해주세요.');
return;
}else if(!layersCheck()){
alert('레이어를 선택해주세요.');
return;
}else{
$("#updateFrm").submit();
}
}
function deleteReqBtn(){
if(confirm('지도사용요청을 취소하시겠습니까?')){
$("#updateFrm").attr("action", "/map/deleteReq");
$("#updateFrm").submit();
}
}
$(function(){
$("#startDate").datepicker({
dateFormat: 'yy-mm-dd',

View File

@ -656,7 +656,6 @@ a {
}
.title-td{
text-align:left !important;
width:50%;
}

View File

@ -18,8 +18,14 @@ $(function(){
});
$(document).on('click', '#mapRequestModalBtn', function (){
mapRequestModalOpen('/map/reqWrite');
})
$(document).on('click', '.title-td', function (){
mapRequestModalOpen('/map/request/'+$(this).attr("data-idx"));
})
function mapRequestModalOpen(url){
$.ajax({
url: '/map/reqWrite',
url: url,
type: 'GET',
dataType:"html",
success: function(html){
@ -30,8 +36,7 @@ $(document).on('click', '#mapRequestModalBtn', function (){
}
});
})
}
/* 날짜포맷 yyyy-MM-dd 변환 */
function getFormatDate(date){
var year = date.getFullYear();
@ -238,3 +243,35 @@ function insertReqBtn(){
$("#insertFrm").submit();
}
}
function updateReqBtn(){
if($("#title").val() == ""){
alert('작업명을 입력해주세요.');
$("#title").focus();
return;
}else if($("#startDate").val() == ""){
alert('시작 기간을 입력해주세요.');
$("#startDate").focus();
return;
}else if($("#endDate").val() == ""){
alert('종료 기간을 입력해주세요.');
$("#endDate").focus();
return;
}else if(!areaCheck()){
alert('지역을 추가해주세요.');
return;
}else if(!layersCheck()){
alert('레이어를 선택해주세요.');
return;
}else{
$("#updateFrm").submit();
}
}
function deleteReqBtn(){
if(confirm('지도사용요청을 취소하시겠습니까?')){
$("#updateFrm").attr("action", "/map/deleteReq");
$("#updateFrm").submit();
}
}