사용자 페이지 반응형 작업 완료.

지도사용요청 작성시 지역 등록 수 제한 변경 3 > 1
master
강석 최 2022-03-18 17:25:55 +09:00
parent d4cfa08330
commit fa36d004c7
6 changed files with 173 additions and 117 deletions

View File

@ -61,7 +61,7 @@
</tr>
<tr>
<th class="d-none d-sm-table-cell" colspan="2">요청 내용</th>
<th class="d-table-cell d-sm-none">장소</th>
<th class="d-table-cell d-sm-none">요청 내용</th>
<td style="text-align: center"><c:out value='${useRequestVO.user_msg}'/></td>
</tr>
<tr class="d-table-row d-sm-none">

View File

@ -4,45 +4,43 @@
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<script src="<c:url value='/js/map/request.js' />"></script>
<script type="text/javascript">
var start = "${b_start}";
var end = "${b_end}";
var now = "${current_page}";
</script>
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<script src="<c:url value='/js/map/request.js' />"></script>
<div class="section_content">
<h1 class="h4 m-3">지도사용 요청</h1>
<form:form commandName="useRequestSearchVO" id="searchForm" name="searchForm" method="get" >
<div class="row justify-content-between bg-white mx-3 py-2">
<input type="hidden" name="id" />
<table class="table table-hover text-center">
<thead>
<div class="col-12 d-none d-sm-block">
<input type="hidden" name="id" />
<table class="table table-hover text-center">
<thead>
<tr>
<th>번호</th>
<th>작업명</th>
<th>날짜</th>
<th>상태</th>
</tr>
</thead>
</thead>
<tbody>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${useRequestList}" varStatus="idx">
<tr>
<%--<a href="/map/request/<c:out value='${item.idx}' />">--%>
<tr class="clickAbleObj title-td" data-idx="${item.idx}">
<%--<a href="/map/request/<c:out value='${item.idx}' />">--%>
<td>${idx.count}</td>
<td class="title-td" data-idx="${item.idx}">${item.title}</td>
<td>${item.title}</td>
<td class="td_date">${item.r_date}</td>
<td>
<c:choose>
<c:when test="${item.status eq '99'}"><span class="status-bar status-warning"><c:out value='승인대기' /></span></c:when>
<c:when test="${item.status eq '0'}"><span class="status-bar status-success"><c:out value='승인' /></span></c:when>
<c:when test="${item.status eq '-1'}"><span class="status-bar status-danger"><c:out value='반려' /></span></c:when>
<c:when test="${item.status eq '99'}"><span class="status-bar status-warning w-50 my-0 mx-auto"><c:out value='승인대기' /></span></c:when>
<c:when test="${item.status eq '0'}"><span class="status-bar status-success w-50 my-0 mx-auto"><c:out value='승인' /></span></c:when>
<c:when test="${item.status eq '-1'}"><span class="status-bar status-danger w-50 my-0 mx-auto"><c:out value='반려' /></span></c:when>
</c:choose>
</td>
</tr>
@ -51,8 +49,36 @@
<c:if test="${count == 0}">
<tr><td colspan="4">요청한 목록이 없습니다.</td></tr>
</c:if>
</tbody>
</table>
</tbody>
</table>
</div>
<div class="col-12 d-block d-sm-none">
<c:if test="${count >= 1}">
<c:forEach var="item" items="${useRequestList}" varStatus="status">
<div class="row text-center border-0 ${status.first?'border-top':''} border-bottom border-2 border-dark clickAbleObj title-td" data-idx="${item.idx}">
<div class="col-4 py-1 border-bottom bg-secondary fw-bold" style="--bs-bg-opacity: .3">번호</div>
<div class="col-8 py-1 border-bottom"><c:out value="${item.idx}"/></div>
<div class="col-4 py-1 border-bottom bg-secondary fw-bold" style="--bs-bg-opacity: .3">작업명</div>
<div class="col-8 py-1 border-bottom"><c:out value="${item.title}"/></div>
<div class="col-4 py-1 border-bottom bg-secondary fw-bold" style="--bs-bg-opacity: .3">날짜</div>
<div class="col-8 py-1 border-bottom td_date"><c:out value="${item.r_date}"/></div>
<div class="col-4 py-1 bg-secondary fw-bold" style="--bs-bg-opacity: .3">상태</div>
<div class="col-8 py-1">
<c:choose>
<c:when test="${item.status eq '99'}"><span class="status-bar status-warning w-50 my-0 mx-auto"><c:out value='승인대기'/></span></c:when>
<c:when test="${item.status eq '0'}"><span class="status-bar status-success w-50 my-0 mx-auto"><c:out value='승인'/></span></c:when>
<c:when test="${item.status eq '-1'}"><span class="status-bar status-danger w-50 my-0 mx-auto"><c:out value='반려'/></span></c:when>
</c:choose>
</div>
</div>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<div class="row text-center border-0 border-top border-bottom border-2 border-dark clickAbleObj title-td" data-idx="${item.idx}">
<div class="col-12 py-2">요청한 목록이 없습니다.</div>
</div>
</c:if>
</div>
</div>
<div class="row justify-content-between mx-3 py-2">
<div class="col-auto"></div>

View File

@ -13,43 +13,46 @@
<div class="section_content">
<input type="hidden" id="layers" name="layers" />
<input type="hidden" id="places" name="places" />
<input type="hidden" id="status" value="${useRequestVO.status}"/>
<c:choose>
<c:when test="${useRequestVO.status eq '99' }">
<c:when test="${useRequestVO.status eq '99' }"><%--승인대기--%>
<table class="detail_table">
<tbody>
<tr>
<th colspan="2">작업명</th>
<th class="d-none d-sm-table-cell" colspan="2">작업명</th>
<th class="d-table-cell d-sm-none">작업명</th>
<td><input type="text" class="form-control" id="title" name="title" value="${useRequestVO.title}" /></td>
</tr>
<tr>
<th colspan="2">기간</th>
<th class="d-none d-sm-table-cell" colspan="2">기간</th>
<th class="d-table-cell d-sm-none">기간</th>
<td>
<input type="text" class="form-control input-datepicker" id="startDate" name="s_date" onchange="dateChange('start');" readonly value="${useRequestVO.s_date}"> ~
<input type="text" class="form-control input-datepicker" id="endDate" name="e_date" onchange="dateChange('end');" readonly value="${useRequestVO.e_date}">
</td>
</tr>
<tr>
<th colspan="2">장소</th>
<th class="d-none d-sm-table-cell" colspan="2">장소</th>
<th class="d-table-cell d-sm-none">장소</th>
<td id="area_select_td">
<div>
<select class="form-control input-area-select" id="city" name="city" onchange="changeAreaList(this.value, this.name)">
<option value="0">::시/도::</option>
<c:forEach var="item" items="${cityList}" varStatus="status">
<option value="${item.code}">
<c:out value="${item.area}" />
</option>
</c:forEach>
</select>
<select class="form-control input-area-select" id="county" name="county" onchange="changeAreaList(this.value, this.name);">
<option value="0">::선택::</option>
</select>
<select class="form-control input-area-select" id="town" name="town">
<option value="0">::선택::</option>
</select>
<span class="glyphicon glyphicon-plus point-cursor" onclick="addAreaBtn();"></span>
</div>
<div id="addedArea" class="addedArea">
<%--<div>
<select class="form-control input-area-select" id="city" name="city" onchange="changeAreaList(this.value, this.name)">
<option value="0">::시/도::</option>
<c:forEach var="item" items="${cityList}" varStatus="status">
<option value="${item.code}">
<c:out value="${item.area}" />
</option>
</c:forEach>
</select>
<select class="form-control input-area-select" id="county" name="county" onchange="changeAreaList(this.value, this.name);">
<option value="0">::선택::</option>
</select>
<select class="form-control input-area-select" id="town" name="town">
<option value="0">::선택::</option>
</select>
<span class="glyphicon glyphicon-plus point-cursor" onclick="addAreaBtn();"></span>
</div>--%>
<div id="addedArea" class="addedArea mt-0">
<c:forEach var="item" items="${selectArea}" varStatus="status">
<span id="addedAreaWrap${status.index}" class="addedAreaWrap">
<c:out value="${item.name}" />
@ -61,18 +64,23 @@
</td>
</tr>
<tr>
<th rowspan="3">레이어</th>
<th class="d-none d-sm-table-cell" colspan="2">요청 내용</th>
<th class="d-table-cell d-sm-none">요청 내용</th>
<td><textarea class="form-control" rows="3" style="resize:none;" name="user_msg">${useRequestVO.user_msg}</textarea></td>
</tr>
<tr class="d-table-row d-sm-none">
<th colspan="3">레이어</th>
</tr>
<tr>
<th class="d-none d-sm-table-cell" rowspan="3">레이어</th>
<th><label>지하시설물</label></th>
<td>
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'facility'}">
<c:set var="faciltySize" value="${faciltySize+1}" />
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}" <c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/>${item.name}
<label class="layer-label">
<input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}"
${fn:contains(useRequestVO.layers, item.layer)?'checked':''}/>${item.name}
</label>
</c:if>
</c:forEach>
@ -83,12 +91,9 @@
<td>
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'structure'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}" <c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/>${item.name}</label>
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}"
${fn:contains(useRequestVO.layers, item.layer)?'checked':''}/>${item.name}
</label>
</c:if>
</c:forEach>
</td>
@ -98,20 +103,13 @@
<td>
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'ground'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}" <c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/>${item.name}</label>
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}"
${fn:contains(useRequestVO.layers, item.layer)?'checked':''}/>${item.name}
</label>
</c:if>
</c:forEach>
</td>
</tr>
<tr>
<th colspan="2">요청 내용</th>
<td><textarea class="form-control" rows="3" style="resize:none;" name="user_msg">${useRequestVO.user_msg}</textarea></td>
</tr>
</tbody>
</table>
<div class="section_btn">
@ -127,26 +125,51 @@
<c:otherwise>
<table class="detail_table">
<tbody>
<tr>
<tr class="d-none d-sm-table-row">
<th colspan="2">작업명</th>
<td class="title-td">${useRequestVO.title}</td>
<th colspan="1">상태</th>
<td colspan="1" class="text-center" >
<th>상태</th>
<td class="text-center" >
<c:if test="${useRequestVO.status ne '99' }">
<c:choose>
<c:when test="${useRequestVO.status eq '0' }"><span class="label label-success"><c:out value='사용중' /></span></c:when>
<c:otherwise><span class="label label-danger"><c:out value='사용불가' /></span></c:otherwise>
<c:when test="${useRequestVO.status eq '0' }">
<span class="status-bar status-success"><c:out value='사용중' /></span>
</c:when>
<c:otherwise>
<span class="status-bar status-danger"><c:out value='사용불가' /></span>
</c:otherwise>
</c:choose>
</c:if>
</td>
</tr>
<tr class="d-table-row d-sm-none">
<th>작업명</th>
<td>${useRequestVO.title}</td>
</tr>
<tr class="d-table-row d-sm-none">
<th>상태</th>
<td>
<c:if test="${useRequestVO.status ne '99' }">
<c:choose>
<c:when test="${useRequestVO.status eq '0' }">
<span class="status-bar status-success w-50 text-center"><c:out value='사용중' /></span>
</c:when>
<c:otherwise>
<span class="status-bar status-danger w-50 text-center"><c:out value='사용불가' /></span>
</c:otherwise>
</c:choose>
</c:if>
</td>
</tr>
<tr>
<th colspan="2">기간</th>
<th class="d-none d-sm-table-cell" colspan="2">기간</th>
<th class="d-table-cell d-sm-none">기간</th>
<td colspan="3">${useRequestVO.s_date} ~ ${useRequestVO.e_date}</td>
</tr>
<tr>
<th rowspan="1" colspan="2">장소</td>
<td colspan="4">
<th class="d-none d-sm-table-cell" colspan="2">장소</th>
<th class="d-table-cell d-sm-none">장소</th>
<td colspan="3">
<c:forEach var="item" items="${selectArea}" varStatus="status">
<div id="addedBlock${status.index}">
${item.name}
@ -155,21 +178,23 @@
</td>
</tr>
<tr>
<th rowspan="3" colspan="1">레이어</th>
<th><label>지하시설물</label></th>
<td colspan="4">
<th class="d-none d-sm-table-cell" colspan="2">요청 내용</th>
<th class="d-table-cell d-sm-none">요청 내용</th>
<td colspan="3">${useRequestVO.user_msg}</td>
</tr>
<tr class="d-table-row d-sm-none">
<th colspan="3">레이어</th>
</tr>
<tr>
<th class="d-none d-sm-table-cell" rowspan="3">레이어</th>
<th>지하시설물</th>
<td colspan="3">
<div class="setting_content2" class="facility">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'facility'}">
<c:set var="faciltySize" value="${faciltySize+1}" />
<label class="layer-label">
<input type="checkbox" class="me-2" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}"
<c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/>${item.name}
<input type="checkbox" class="me-2" name="${item.code}" id="${item.code}" value="${item.layer}"
${fn:contains(useRequestVO.layers, item.layer)?'checked':''}/>${item.name}
</label>
</c:if>
</c:forEach>
@ -178,16 +203,13 @@
</tr>
<tr>
<th>지하구조물</th>
<td colspan="4">
<td colspan="3">
<div class="setting_content2" class="structure">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'structure'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}" <c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/> ${item.name}</label>
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}"
${fn:contains(useRequestVO.layers, item.layer)?'checked':''}/> ${item.name}
</label>
</c:if>
</c:forEach>
</div>
@ -195,28 +217,23 @@
</tr>
<tr>
<th><label>지반</label></th>
<td colspan="4">
<td colspan="3">
<div class="setting_content2" class="ground">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'ground'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}" <c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/>${item.name}</label>
<label class="layer-label">
<input type="checkbox" name="${item.code}" id="${item.code}" value="${item.layer}"
${fn:contains(useRequestVO.layers, item.layer)?'checked':''}/>${item.name}
</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th>요청 내용</th>
<td colspan="4">${useRequestVO.user_msg}</td>
</tr>
<tr>
<th>전달 메세지</th>
<td colspan="4">${useRequestVO.admin_msg}</td>
<th class="d-none d-sm-table-cell" colspan="2">전달 메세지</th>
<th class="d-table-cell d-sm-none">전달 메세지</th>
<td colspan="3">${useRequestVO.admin_msg}</td>
</tr>
</tbody>
</table>

View File

@ -13,18 +13,21 @@
<table class="detail_table">
<tbody>
<tr>
<th colspan="2">작업명</th>
<th class="d-none d-sm-table-cell" colspan="2">작업명</th>
<th class="d-table-cell d-sm-none">작업명</th>
<td><input type="text" class="form-control" id="title" name="title" autocomplete="off"/></td>
</tr>
<tr>
<th colspan="2">기간</th>
<th class="d-none d-sm-table-cell" colspan="2">기간</th>
<th class="d-table-cell d-sm-none">기간</th>
<td>
<input type="text" class="form-control input-datepicker" readonly id="startDate" name= "s_date" onchange="dateChange('start');"> ~
<input type="text" class="form-control input-datepicker" readonly id="endDate" name="e_date" onchange="dateChange('end');">
</td>
</tr>
<tr>
<th colspan="2">장소</th>
<th class="d-none d-sm-table-cell" colspan="2">장소</th>
<th class="d-table-cell d-sm-none">장소</th>
<td id="area_select_td">
<div>
<select id="city" name="city" onchange="changeAreaList(this.value, this.name)" class="form-control input-area-select">
@ -46,7 +49,15 @@
</td>
</tr>
<tr>
<th rowspan="3">레이어</th>
<th class="d-none d-sm-table-cell" colspan="2">요청 내용</th>
<th class="d-table-cell d-sm-none">요청 내용</th>
<td><textarea class="form-control" rows="3" style="resize:none;" name=user_msg></textarea></td>
</tr>
<tr class="d-table-row d-sm-none">
<th colspan="3">레이어</th>
</tr>
<tr>
<th class="d-none d-sm-table-cell" rowspan="3">레이어</th>
<th><label>지하시설물</label></th>
<td>
<c:forEach var="item" items="${layersVO}" varStatus="status">
@ -76,16 +87,9 @@
</c:forEach>
</td>
</tr>
<tr>
<th colspan="2">요청 내용</th>
<td><textarea class="form-control" rows="3" style="resize:none;" name=user_msg></textarea></td>
</tr>
</tbody>
</table>
<input type="hidden" id="layers" name="layers"/>
<input type="hidden" id="places" name="places"/>
<div class="section_btn">
<p class="search_p1">

View File

@ -5,13 +5,13 @@
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<style>
.section_content{
width: 620px;
max-width: 620px;
}
</style>
<form:form commandName="userVO" name="updateForm" action="/map/userUpdate" id="updateForm" method="post">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<input type="hidden" name="userid" value="${userVO.userid}" />
<div class="section_content ms-5">
<div class="section_content mx-3">
<div class="join_top">
<h2><span class="glyphicon glyphicon-edit"></span> 회원 정보 수정</h2>
</div>

View File

@ -24,6 +24,15 @@ $(document).on('click', '#mapRequestModalBtn', function (){
$(document).on('click', '.title-td', function (){
mapRequestModalOpen('/map/request/'+$(this).attr("data-idx"));
})
$(document).on('change', '.layer-label', function (){
const status = $("#status").val()
if(status !== undefined && status !== '99'){
const checkBox = $(this).find("input")[0]
checkBox.checked = !checkBox.checked;
}
})
function mapRequestModalOpen(url){
$.ajax({
url: url,
@ -76,7 +85,7 @@ function fn_link_page(pageNo) {
function addAreaBtn(){
var addedAreaWrapCnt = $(".addedAreaWrap").length;
if(addedAreaWrapCnt < 3){
if(addedAreaWrapCnt < 1){
if($("#city").val() != "0"){
areaAddCount++;
var selectAreaCode = null;