건설현장 관리 > 발주기관 계정 화면 작업

main
유지인 2025-10-10 16:40:32 +09:00
parent 92bda42136
commit 18f26c7909
4 changed files with 240 additions and 2 deletions

View File

@ -56,7 +56,7 @@ public class ApiManagementController {
private HomeTrainingService homeTrainingService;
/**
*
* API > API
* @param params
* @param model
* @param response

View File

@ -74,6 +74,59 @@ public class ConstructionProjectManagementController {
model.addAttribute("params", params);
return "admins/constructionProjectManagement/construction-project-statistics-index";
}
/**
* >
* @param params
* @param model
* @param response
* @param request
* @return
* @throws Exception
*/
@RequestMapping(value = "admins/constructionProjectManagement/construction-user-mgmt-index.do")
public String goConstructionUserMgmt(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletResponse response, HttpServletRequest request) throws Exception {
if (!UserInfo.isValidSession(request, response, "admin")) {
return "";
}
/** 2023.10.25 LHJ 검색조건 추가 : 가입기간 시작/종료날짜를 8자리 숫자로 입력하지 않았을 때 처리 **/
String searchBgndt = (String) params.get("searchBgndt");
if(searchBgndt == null || searchBgndt.length() != 8 || !searchBgndt.matches("[0-9]+")) {
params.put("searchBgndt", "");
}
String searchEnddt = (String) params.get("searchEnddt");
if(searchEnddt == null || searchEnddt.length() != 8 || !searchEnddt.matches("[0-9]+")) {
params.put("searchEnddt", "");
}
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
if (params.get("pageIndex") == null || "".equals(params.get("pageIndex"))) {
paginationInfo.setCurrentPageNo(1);
params.put("pageIndex", 1);
} else {
paginationInfo.setCurrentPageNo(Integer.valueOf((String) params.get("pageIndex")));
}
paginationInfo.setRecordCountPerPage(10);
paginationInfo.setPageSize(10);
params.put("firstRecordIndex", paginationInfo.getFirstRecordIndex());
params.put("recordCountPerPage", paginationInfo.getRecordCountPerPage());
List<?> resultList = masterService.selectInfoList(params);
int totalCnt = resultList.size() == 0 ? 0 : Integer.valueOf(((EgovMap) resultList.get(0)).get("totalrows").toString());
paginationInfo.setTotalRecordCount(totalCnt);
model.addAttribute("params", params);
model.addAttribute("resultList", resultList);
model.addAttribute("paginationInfo", paginationInfo);
return "admins/constructionProjectManagement/construction-user-mgmt-index";
}
/**
*

View File

@ -0,0 +1,185 @@
<%@ 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" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="${pageContext.request.contextPath}/js/jquery/jquery-1.10.2.min.js"></script>
<script src="${pageContext.request.contextPath}/js/admins/user.js"></script>
<script src="${pageContext.request.contextPath}/js/admins/common.js"></script>
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
<script>
document.addEventListener('DOMContentLoaded', function() {
var searchTitle = document.getElementById('searchTitle');
var searchValue = document.getElementById('searchValue');
var searchContainer = searchValue.parentNode;
var tildeText = document.createElement('span');
tildeText.innerHTML = '~';
var searchBgndt = document.createElement('input');
var searchEnddt = document.createElement('input');
function createInput(input, id) {
input.type = 'text';
input.id = id;
input.name = id;
input.className = 'search';
input.style.display = 'inline-block';
input.style.width = '12ch';
input.placeholder = 'YYYYMMDD';
input.style.color = '#000'; // Text color
input.maxLength = 8; // Limit input length
input.onfocus = function() {
this.placeholder = '';
this.style.color = '#000'; // Text color
};
input.onblur = function() {
if (this.value === '') {
this.placeholder = 'YYYYMMDD';
}
};
}
createInput(searchBgndt, 'searchBgndt');
createInput(searchEnddt, 'searchEnddt');
searchBgndt.style.marginRight = '2px';
searchEnddt.style.marginLeft = '2px';
searchBgndt.value = "${params.searchBgndt}";
searchEnddt.value = "${params.searchEnddt}";
function addInputs() {
searchValue.style.display = 'none';
searchContainer.insertBefore(searchBgndt, searchValue);
searchContainer.insertBefore(tildeText, searchValue);
searchContainer.insertBefore(searchEnddt, searchValue);
}
function removeInputs() {
if (document.getElementById('searchBgndt')) {
searchBgndt.remove();
tildeText.remove();
searchEnddt.remove();
}
searchValue.style.display = 'inline-block';
}
if (searchTitle.value == '7') {
addInputs();
}
searchTitle.addEventListener('change', function() {
if (this.value == '7') {
addInputs();
} else {
removeInputs();
}
});
});
var context = "${pageContext.request.contextPath}";
function linkPage(index){
$("#pageIndex").val(index);
$("#searchForm").attr("action", "${pageContext.request.contextPath}/admins/user/02.do").submit();
}
/* function excelDownload(){
$("#searchForm").attr("action", "${pageContext.request.contextPath}/admins/user/02_excel.do").submit();
$("#searchForm").attr("action", "${pageContext.request.contextPath}/admins/user/02.do");
}
*/
$(function(){
var searchTitle = "${params.searchTitle}";
searchTitle = searchTitle == "" ? "0" : searchTitle;
$("#searchTitle").val(searchTitle);
});
</script>
</head>
<body>
<form id="searchForm" name="searchForm" method="post">
<input type="hidden" id="pageIndex" name="pageIndex" value="${params.pageIndex}" />
<table id="Table_Main" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td colspan=2><img src="${pageContext.request.contextPath}/images/admins/user/1_toptit_03.gif"></td></tr>
<tr height=20 colspan=2><td>&nbsp;</td></tr>
<tr height=25>
<!-- START : 엑셀 다운로드 ------------------------------------------------------------------------->
<td>
<%-- <img src="${pageContext.request.contextPath}/images/admins/excel.gif" style="cursor:hand" onClick="javascript:excelDownload()"></td> --%>
<!-- END : 엑셀 다운로드 ------------------------------------------------------------------------->
<!-- START : 검색 ---------------------------------------------------------------------------------->
<td align="right" class="search">
<select id="searchTitle" name="searchTitle">
<option value="0" selected>전체</option>
<option value="2">아이디</option>
<option value="1">이름</option>
<option value="4">회사명</option>
<option value="3">업종</option>
<option value="6">사업자등록번호</option>
<option value="5">이메일</option>
<option value="7">가입기간</option>
</select>
<input type="text" class="search" id="searchValue" name="searchValue" value="${params.searchValue}" />
<input type="image" src="${pageContext.request.contextPath}/images/admins/search.gif" align="absmiddle">
</td>
<!-- END : 검색 ---------------------------------------------------------------------------------->
</tr>
<tr height=12><td colspan=2><img src="${pageContext.request.contextPath}/images/admins/spacer.gif" width="1" height="12"></td></tr>
<tr>
<td colspan=2>
<tbody>
<table id="Table_List" width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#D6D6D6">
<!-- START : list head ----------------------------------------------------------------------------->
<tr height=28 bgcolor="#FBF4E4" class="list_head" align="center">
<td width="4%">번호</td>
<td width="12%">아이디</td>
<td width="8%">이름</td>
<td width="13%">회사명</td>
<td width="12%">업종</td>
<td width="14%">사업자등록번호</td>
<td width="17%">이메일</td>
<td width="11%">가입일</td>
<td width="8%">상세보기</td>
</tr>
<!-- END : list head ----------------------------------------------------------------------------->
<!-- REPEAT TABLE -->
<c:forEach items="${resultList}" var="resultList" varStatus="status">
<tr height=28 bgcolor="#FFFFFF" class="list_content" align="center">
<td>${resultList.num}</td>
<td>${resultList.userid}</td>
<td>${resultList.userName}</td>
<td>${resultList.companyName}</td>
<td>${resultList.upjong}</td>
<td>${resultList.companyRegistNo}</td>
<td>${resultList.email}</td>
<td>${resultList.datetimes}</td>
<td>
<img src="${pageContext.request.contextPath}/images/admins/zoom.gif" onClick="javascript:openDetail('${resultList.userid}','02')" style="cursor:hand">
</td>
</tr>
</c:forEach>
<!-- END OF REPEAT TABLE -->
</table>
</tbody>
</td>
</tr>
<tr height=42>
<!-- START : 네비게이션 ---------------------------------------------------------------------------->
<td align=center class="navi" colspan='2'>
<table width=100% >
<tr align="center">
<td>
<!-- REPEAT LINK -->
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage"/>
<!-- END OF REPEAT LINK -->
</td>
</tr>
</table>
</td>
<!-- END : 네비게이션 ---------------------------------------------------------------------------->
</tr>
</table>
</form>
</body>
</html>

View File

@ -78,7 +78,7 @@ img { border:0; }
<span style="cursor:hand" onClick="javascript:goUrl('construction-project-statistics-index', '${menuId}')"><img src="${pageContext.request.contextPath}/images/renew/arrow-right.png" /> &nbsp;건설현장 통계</span>
</div>
<div class="menu-item">
<span style="cursor:hand" onClick="javascript:goUrl('construction-project-statistics-index', '${menuId}')"><img src="${pageContext.request.contextPath}/images/renew/arrow-right.png" /> &nbsp;발주기관 계정</span>
<span style="cursor:hand" onClick="javascript:goUrl('construction-user-mgmt-index', '${menuId}')"><img src="${pageContext.request.contextPath}/images/renew/arrow-right.png" /> &nbsp;발주기관 계정</span>
</div>
</td>
</tr>