feat: 사용자관리 눌렀을 때 사용자 목록 한번에 안 나오도록 수정. 개인정보 보호를 위함
|
|
@ -75,7 +75,12 @@ for /f "delims=" %%i in (admin_list.txt) do (
|
||||||
set source_file=%target_directory%!line!
|
set source_file=%target_directory%!line!
|
||||||
set relative_path=!line:%source_prefix%=!
|
set relative_path=!line:%source_prefix%=!
|
||||||
set target_file=%target_prefix%!relative_path!
|
set target_file=%target_prefix%!relative_path!
|
||||||
)
|
) else if "!line:~-4!" == ".gif" (
|
||||||
|
set source_file=%target_directory%!line!
|
||||||
|
set relative_path=!line:%source_prefix%=!
|
||||||
|
set target_file=%target_prefix%!relative_path!
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
rem Copy the source file to the target location, overwriting if necessary
|
rem Copy the source file to the target location, overwriting if necessary
|
||||||
echo Copying "!source_file!" to "!target_file!"
|
echo Copying "!source_file!" to "!target_file!"
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,21 @@
|
||||||
src\main\webapp\WEB-INF\config\springmvc\action-servlet.xml
|
|
||||||
src\main\webapp\WEB-INF\views\admins\user\left.jsp
|
|
||||||
src\main\webapp\images\renew\arrow-right.png
|
|
||||||
src\main\webapp\images\renew\add.png
|
|
||||||
src\main\webapp\images\renew\chevron.png
|
|
||||||
src\main\webapp\images\renew\chevron.svg
|
|
||||||
src\main\webapp\images\renew\delete.png
|
|
||||||
src\main\webapp\images\renew\minus.png
|
|
||||||
src\main\webapp\css\admins\style.css
|
src\main\webapp\css\admins\style.css
|
||||||
src\main\webapp\css\admins\style.css.map
|
src\main\webapp\css\admins\style.css.map
|
||||||
src\main\java\geoinfo\admins\user\GeneralUserMngController.java
|
src\main\webapp\images\admins\frame\top_menu.gif
|
||||||
src\main\java\geoinfo\admins\user\service\HomeTrainingService.java
|
src\main\webapp\WEB-INF\views\admins\frame\top.jsp
|
||||||
src\main\java\geoinfo\admins\user\service\impl\HomeTrainingServiceImpl.java
|
src\main\webapp\WEB-INF\views\admins\main\index.jsp
|
||||||
src\main\java\geoinfo\admins\user\service\HomeTrainingMapper.java
|
|
||||||
src\main\resources\geoinfo\sqlmap\mappers\admins\user\HomeTrainingMapper.xml
|
|
||||||
src\main\webapp\WEB-INF\views\admins\user\home-training-index.jsp
|
|
||||||
src\main\webapp\WEB-INF\views\admins\user\home-training-approval-system.jsp
|
|
||||||
src\main\webapp\WEB-INF\views\admins\user\visit-training-index.jsp
|
|
||||||
src\main\webapp\WEB-INF\views\admins\user\visit-training-approval-system.jsp
|
|
||||||
src\main\java\geoinfo\util\MyUtil.java
|
|
||||||
src\main\webapp\WEB-INF\lib\json-simple-1.1.1.jar
|
|
||||||
src\main\java\geoinfo\admins\main\MainController.java
|
|
||||||
src\main\resources\geoinfo\sqlmap\mappers\admins\main\Login_SQL.xml
|
|
||||||
src\main\webapp\WEB-INF\views\admins\main\main.jsp
|
src\main\webapp\WEB-INF\views\admins\main\main.jsp
|
||||||
|
src\main\webapp\WEB-INF\views\admins\constructionProjectManagement\00.jsp
|
||||||
|
src\main\webapp\WEB-INF\views\admins\constructionProjectManagement\left.jsp
|
||||||
|
src\main\webapp\WEB-INF\views\admins\constructionProjectManagement\construction-project-statistics-index.jsp
|
||||||
|
src\main\webapp\images\admins\constructionProjectManagement\1_tit_01.gif
|
||||||
|
src\main\java\geoinfo\admins\constructionProjectManagement\ConstructionProjectManagementController.java
|
||||||
|
src\main\webapp\js\admins\chart.js
|
||||||
|
#일반사용자관리 첫 화면 사용자 목록 안 보이도록 하기
|
||||||
|
src\main\webapp\WEB-INF\views\admins\frame\top.jsp
|
||||||
|
src\main\webapp\WEB-INF\views\admins\main\index.jsp
|
||||||
|
src\main\webapp\WEB-INF\views\admins\main\main.jsp
|
||||||
|
src\main\java\geoinfo\admins\user\GeneralUserMngController.java
|
||||||
|
src\main\webapp\WEB-INF\views\admins\user\00.jsp
|
||||||
|
src\main\webapp\js\admins\adlogin.js
|
||||||
|
src\main\webapp\WEB-INF\views\admins\main\index.jsp
|
||||||
src\main\webapp\WEB-INF\views\admins\frame\mainframe.jsp
|
src\main\webapp\WEB-INF\views\admins\frame\mainframe.jsp
|
||||||
|
|
@ -1,88 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
||||||
|
|
||||||
<mapper namespace="geoinfo.admins.user.service.HomeTrainingMapper">
|
|
||||||
|
|
||||||
<resultMap id="spAddHomeTrainingRegResult" type="java.util.HashMap">
|
|
||||||
<result property="wvtRegId" column="p_wvt_reg_id" jdbcType="NUMERIC"/>
|
|
||||||
<result property="resultCode" column="p_result_code" jdbcType="VARCHAR"/>
|
|
||||||
<result property="errMsg" column="p_err_msg" jdbcType="VARCHAR"/>
|
|
||||||
</resultMap>
|
|
||||||
|
|
||||||
<select id="callSpAddHomeTrainingReg" parameterType="map" statementType="CALLABLE" resultMap="spAddHomeTrainingRegResult">
|
|
||||||
{ CALL SP_ADD_HOME_TRAINING_REG(
|
|
||||||
#{trainingName},
|
|
||||||
#{trainingDatetime},
|
|
||||||
#{trainingLocation},
|
|
||||||
#{trainingAdmin},
|
|
||||||
#{trainingTel},
|
|
||||||
#{regStartDate},
|
|
||||||
#{regEndDate},
|
|
||||||
#{userId},
|
|
||||||
#{p_wvt_reg_id, mode=OUT, jdbcType=INTEGER},
|
|
||||||
#{p_result_code, mode=OUT, jdbcType=INTEGER},
|
|
||||||
#{p_err_msg, mode=OUT, jdbcType=VARCHAR}
|
|
||||||
) }
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
p_wvt_reg_id : 조회할 레코드의 일련번호(숫자)
|
|
||||||
p_training_name : 집합교육명
|
|
||||||
p_start_date : 확정된 날짜의 검색 시작일자
|
|
||||||
p_end_date : 확정된 날짜의 검색 종료일자
|
|
||||||
p_state_code : 상태 코드
|
|
||||||
p_ncount : 페이지당 한번에 가져올 갯수
|
|
||||||
p_npage : 페이지 번호
|
|
||||||
-->
|
|
||||||
<select id="callSpGetHomeTrainingReg" parameterType="map" resultType="egovMap">
|
|
||||||
<![CDATA[
|
|
||||||
select * FROM TABLE(SP_GET_HOME_TRAINING_REG(#{wvtRegId},#{trainingName},#{startDate},#{endDate},#{stateCode},#{ncount},#{npage}))
|
|
||||||
]]>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="callSpCntHomeTrainingReg" parameterType="map" resultType="long">
|
|
||||||
select SP_CNT_HOME_TRAINING_REG(#{wvtRegId},#{trainingName},#{startDate},#{endDate},#{stateCode}) from DUAL
|
|
||||||
</select>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<select id="callSpGetHomeTrainingReq" parameterType="map" resultType="egovMap">
|
|
||||||
<![CDATA[
|
|
||||||
select * FROM TABLE(
|
|
||||||
SP_GET_HOME_TRAINING_REQ(
|
|
||||||
#{wvtId},
|
|
||||||
#{wvtRegId},
|
|
||||||
#{companyName},
|
|
||||||
#{reqName},
|
|
||||||
#{reqTel},
|
|
||||||
#{stateCode},
|
|
||||||
#{ncount},
|
|
||||||
#{npage}
|
|
||||||
)
|
|
||||||
)
|
|
||||||
]]>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="callSpCntHomeTrainingReq" parameterType="map" resultType="long">
|
|
||||||
select SP_CNT_HOME_TRAINING_REQ(
|
|
||||||
#{wvtId},
|
|
||||||
#{wvtRegId},
|
|
||||||
#{companyName},
|
|
||||||
#{reqName},
|
|
||||||
#{reqTel},
|
|
||||||
#{stateCode}
|
|
||||||
) from DUAL
|
|
||||||
</select>
|
|
||||||
|
|
||||||
|
|
||||||
<select id="callSpDelHomeTrainingReg" parameterType="map" statementType="CALLABLE">
|
|
||||||
CALL SP_DEL_HOME_TRAINING_REG(
|
|
||||||
#{whtRegId},
|
|
||||||
#{userId},
|
|
||||||
#{p_result_code, mode=OUT, jdbcType=INTEGER},
|
|
||||||
#{p_err_msg, mode=OUT, jdbcType=VARCHAR}
|
|
||||||
)
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
||||||
|
|
||||||
<mapper namespace="geoinfo.admins.main.service.MainMapper">
|
|
||||||
|
|
||||||
<select id="encryptChk" parameterType="map" resultType="String">
|
|
||||||
<![CDATA[
|
|
||||||
SELECT ENCRYPT_CHANGE
|
|
||||||
FROM WEB_MEMBER_IN
|
|
||||||
WHERE TRIM(USERID) = #{id}
|
|
||||||
]]>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<select id="getMemberInfo" parameterType="map" resultType="egovMap">
|
|
||||||
<![CDATA[
|
|
||||||
SELECT USERID,
|
|
||||||
USER_NAME,
|
|
||||||
PASSWD,
|
|
||||||
CLS
|
|
||||||
FROM WEB_MEMBER_IN
|
|
||||||
WHERE TRIM(USERID) = #{id}
|
|
||||||
AND TRIM(PASSWD) = #{pw}
|
|
||||||
]]>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<update id="updateEncrypt" parameterType="map">
|
|
||||||
<![CDATA[
|
|
||||||
UPDATE WEB_MEMBER_IN
|
|
||||||
SET PASSWD = #{pw},
|
|
||||||
ENCRYPT_CHANGE = 'Y'
|
|
||||||
WHERE USERID = #{id}
|
|
||||||
]]>
|
|
||||||
</update>
|
|
||||||
|
|
||||||
<insert id="insertAccessLog" parameterType="map">
|
|
||||||
<![CDATA[
|
|
||||||
INSERT INTO TBL_ACCESS_LOG (USERID, IPADD, REGDATE, DEPARTMENT, MENU, WORK)
|
|
||||||
VALUES (#{id}, #{ipAdd}, SYSDATE, '지하공간', '관리자로그인', '로그인')
|
|
||||||
]]>
|
|
||||||
</insert>
|
|
||||||
|
|
||||||
</mapper>
|
|
||||||
BIN
old/MyUtil.class
|
|
@ -1,88 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
|
|
||||||
xmlns:p="http://www.springframework.org/schema/p" xmlns:oxm="http://www.springframework.org/schema/oxm" xmlns:util="http://www.springframework.org/schema/util"
|
|
||||||
xsi:schemaLocation="
|
|
||||||
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
|
|
||||||
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
|
|
||||||
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
|
|
||||||
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">
|
|
||||||
|
|
||||||
<context:component-scan base-package="geoinfo,com">
|
|
||||||
<context:include-filter type="annotation" expression="org.springframework.context.annotation.Configuration" />
|
|
||||||
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service" />
|
|
||||||
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository" />
|
|
||||||
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
|
|
||||||
</context:component-scan>
|
|
||||||
|
|
||||||
<mvc:annotation-driven />
|
|
||||||
|
|
||||||
<!-- <mvc:default-servlet-handler /> -->
|
|
||||||
|
|
||||||
<!-- <mvc:interceptors> -->
|
|
||||||
<!-- <mvc:interceptor> -->
|
|
||||||
<!-- <mvc:mapping path="/**"/> -->
|
|
||||||
<!-- <bean id="loggerInterceptor" class="ictway.com.git.geoinfo.interceptor.loggerInterceptor"></bean> -->
|
|
||||||
<!-- </mvc:interceptor> -->
|
|
||||||
|
|
||||||
<!-- <mvc:interceptor> <mvc:mapping path="/**"/> <bean id="loginInterceptor" class="com.ygt.gtyoon.interceptor.LoginInterceptor"></bean> </mvc:interceptor> -->
|
|
||||||
<!-- </mvc:interceptors> -->
|
|
||||||
|
|
||||||
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
|
|
||||||
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0" />
|
|
||||||
<!-- <bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" /> -->
|
|
||||||
|
|
||||||
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
|
|
||||||
<property name="contentNegotiationManager">
|
|
||||||
<bean class="org.springframework.web.accept.ContentNegotiationManager">
|
|
||||||
<constructor-arg>
|
|
||||||
<bean class="org.springframework.web.accept.PathExtensionContentNegotiationStrategy">
|
|
||||||
<constructor-arg>
|
|
||||||
<map>
|
|
||||||
<entry key="json" value="application/json" />
|
|
||||||
<entry key="xml" value="application/xml" />
|
|
||||||
</map>
|
|
||||||
</constructor-arg>
|
|
||||||
</bean>
|
|
||||||
</constructor-arg>
|
|
||||||
</bean>
|
|
||||||
</property>
|
|
||||||
|
|
||||||
<property name="defaultViews">
|
|
||||||
<list>
|
|
||||||
<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
|
|
||||||
<property name="contentType" value="application/json;charset=UTF-8" />
|
|
||||||
<property name="prefixJson" value="false" />
|
|
||||||
<property name="extractValueFromSingleKeyModel" value="true" />
|
|
||||||
<property name="modelKeys" value="jsonView" />
|
|
||||||
<property name="objectMapper">
|
|
||||||
<bean class="geoinfo.com.jackson.JacksonObjectMapper" />
|
|
||||||
</property>
|
|
||||||
</bean>
|
|
||||||
<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
|
|
||||||
<constructor-arg>
|
|
||||||
<bean class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
|
|
||||||
<property name="packagesToScan">
|
|
||||||
<list>
|
|
||||||
<value>geoinfo.**.service</value>
|
|
||||||
</list>
|
|
||||||
</property>
|
|
||||||
</bean>
|
|
||||||
</constructor-arg>
|
|
||||||
</bean>
|
|
||||||
</list>
|
|
||||||
</property>
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="1" p:viewClass="org.springframework.web.servlet.view.JstlView" p:prefix="/WEB-INF/views/" p:suffix=".jsp">
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
|
|
||||||
<property name="definitions">
|
|
||||||
<list>
|
|
||||||
<value>/WEB-INF/tiles/tiles-layout.xml</value>
|
|
||||||
</list>
|
|
||||||
</property>
|
|
||||||
<property name="preparerFactoryClass" value="org.springframework.web.servlet.view.tiles3.SpringBeanPreparerFactory" />
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
</beans>
|
|
||||||
BIN
old/add.png
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 758 B |
BIN
old/chevron.png
|
Before Width: | Height: | Size: 191 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.29289 8.8929C5.68342 8.50238 6.31658 8.50238 6.70711 8.8929L12 14.1858L17.2929 8.8929C17.6834 8.50238 18.3166 8.50238 18.7071 8.8929C19.0976 9.28342 19.0976 9.91659 18.7071 10.3071L12.7071 16.3071C12.3166 16.6976 11.6834 16.6976 11.2929 16.3071L5.29289 10.3071C4.90237 9.91659 4.90237 9.28342 5.29289 8.8929Z" fill="black"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 480 B |
BIN
old/delete.png
|
Before Width: | Height: | Size: 276 B |
195
old/left.jsp
|
|
@ -1,195 +0,0 @@
|
||||||
<%@ 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="fn" uri = "http://java.sun.com/jsp/jstl/functions" %>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
||||||
<script src="${pageContext.request.contextPath}/js/admins/common.js"></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
window.onload = function() {
|
|
||||||
// 페이지 로딩 후 실행될 코드
|
|
||||||
const activeEle = document.getElementById('${pId}');
|
|
||||||
if( activeEle ) {
|
|
||||||
activeEle.classList.add('active');
|
|
||||||
const menuItemEle = findClosestMenuItem(activeEle, 'menu-item');
|
|
||||||
if( menuItemEle ) {
|
|
||||||
menuItemEle.classList.add('active');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
//상위 element에서 특정 class를 갖는 element를 검색한다.
|
|
||||||
function findClosestMenuItem(element, className) {
|
|
||||||
let currentElement = element.parentElement; // 현재 element의 부모 element부터 시작
|
|
||||||
|
|
||||||
while (currentElement) {
|
|
||||||
if (currentElement.classList.contains(className)) {
|
|
||||||
return currentElement; // 'menu-item' 클래스를 찾으면 해당 element 반환
|
|
||||||
}
|
|
||||||
currentElement = currentElement.parentElement; // 상위 element로 이동
|
|
||||||
}
|
|
||||||
|
|
||||||
return null; // 'menu-item' 클래스를 가진 element를 찾지 못하면 null 반환
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function onClickSubMenuItem(e) {
|
|
||||||
// 클릭된 요소 가져오기
|
|
||||||
const clickedElement = e.target;
|
|
||||||
|
|
||||||
// data-url 속성 값 가져오기
|
|
||||||
const dataUrl = clickedElement.dataset.url;
|
|
||||||
|
|
||||||
goUrl(dataUrl, '${menuId}');
|
|
||||||
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
|
||||||
<style type="text/css">
|
|
||||||
<!--
|
|
||||||
body
|
|
||||||
{
|
|
||||||
background-image: url(${pageContext.request.contextPath}/images/admins/left_bak.jpg);
|
|
||||||
margin-left:0;
|
|
||||||
margin-top:0;
|
|
||||||
margin-right:0;
|
|
||||||
margin-bottom:0;
|
|
||||||
}
|
|
||||||
img { border:0; }
|
|
||||||
-->
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<table width="244" border="0" cellpadding="0" cellspacing="0" >
|
|
||||||
<!-- <tr height=10><td colspan="3"><img src="/admins/img/left_top_border.gif"></td></tr>
|
|
||||||
<tr height=30><td colspan="3"><img src="/admins/img/user/left_title.gif"></td></tr>-->
|
|
||||||
<tr>
|
|
||||||
<td width="244" height="668" valign="top" background="${pageContext.request.contextPath}/images/admins/left_bak.jpg">
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><img src="${pageContext.request.contextPath}/images/admins/user/1_tit_01.gif" width="244" height="62" /></td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td width=209>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${pId eq '00'}" >
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_01_over.gif" style="cursor:hand" onClick="javascript:goUrl('00', '${menuId}')">
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_01.gif" style="cursor:hand" onClick="javascript:goUrl('00', '${menuId}')">
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${pId eq '01'}" >
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_02_over.gif" style="cursor:hand" onClick="javascript:goUrl('01', '${menuId}')">
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_02.gif" style="cursor:hand" onClick="javascript:goUrl('01', '${menuId}')">
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${pId eq '02'}" >
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_03_over.gif" style="cursor:hand" onClick="javascript:goUrl('02', '${menuId}')">
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_03.gif" style="cursor:hand" onClick="javascript:goUrl('02', '${menuId}')">
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${pId eq '03'}" >
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_04_over.gif" style="cursor:hand" onClick="javascript:goUrl('03', '${menuId}')">
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_04.gif" style="cursor:hand" onClick="javascript:goUrl('03', '${menuId}')">
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${pId eq '40'}" >
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_05_over.png" style="cursor:hand" onClick="javascript:goUrl('40', '${menuId}')">
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_05.png" style="cursor:hand" onClick="javascript:goUrl('40', '${menuId}')">
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${pId eq '05'}" >
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_06_over.gif" style="cursor:hand" onClick="javascript:goUrl('05', '${menuId}')">
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_06.gif" style="cursor:hand" onClick="javascript:goUrl('05', '${menuId}')">
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${pId eq '07'}" >
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_07_over.gif" style="cursor:hand" onClick="javascript:goUrl('07', '${menuId}')">
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/user/1_left_07.gif" style="cursor:hand" onClick="javascript:goUrl('07', '${menuId}')">
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<div class="menu-item">
|
|
||||||
<span style="cursor:hand" onClick="javascript:goUrl('home-training-index', '${menuId}')"><img src="${pageContext.request.contextPath}/images/renew/arrow-right.png" /> 집합교육 관리</span>
|
|
||||||
<ul class="sub-menu">
|
|
||||||
<li class="sub-menu-item" data-url="home-training-index" id="home-training-index" onClick="javascript:onClickSubMenuItem(event)"><img src="${pageContext.request.contextPath}/images/renew/arrow-right.png" /> 집합교육 개설</li>
|
|
||||||
<!-- <li class="sub-menu-item" data-url="home-training-approval-system" id="home-training-approval-system" onClick="onClickSubMenuItem(event)" ><img src="${pageContext.request.contextPath}/images/renew/arrow-right.png" /> 방문교육 신청 승인</li> -->
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<div class="menu-item">
|
|
||||||
<span style="cursor:hand" data-url="visit-training-index" onClick="javascript:onClickSubMenuItem(event)"><img src="${pageContext.request.contextPath}/images/renew/arrow-right.png" /> 방문교육 관리</span>
|
|
||||||
<ul class="sub-menu">
|
|
||||||
<li class="sub-menu-item" data-url="visit-training-index" id="visit-training-index" onClick="javascript:onClickSubMenuItem(event)"><img src="${pageContext.request.contextPath}/images/renew/arrow-right.png" /> 교육가능 일자 지정</li>
|
|
||||||
<li class="sub-menu-item" data-url="visit-training-approval-system" id="visit-training-approval-system" onClick="onClickSubMenuItem(event)" ><img src="${pageContext.request.contextPath}/images/renew/arrow-right.png" /> 방문교육 신청 승인</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<!-- <tr><td colspan="3"> </td></tr>
|
|
||||||
<tr height=177><td colspan="3"><img src="/admins/img/left_logo.gif"></td></tr> -->
|
|
||||||
|
|
||||||
</table>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
173
old/main.jsp
|
|
@ -1,173 +0,0 @@
|
||||||
<%@ 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" %>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
||||||
<title>국토지반정보 포털 관리시스템</title>
|
|
||||||
<script src="${pageContext.request.contextPath}/js/jquery/jquery-1.10.2.min.js"></script>
|
|
||||||
<script>
|
|
||||||
var context = "${pageContext.request.contextPath}";
|
|
||||||
|
|
||||||
function getCookie(name)
|
|
||||||
{
|
|
||||||
var nameOfCookie = name + "=";
|
|
||||||
var x = 0;
|
|
||||||
while ( x <= document.cookie.length )
|
|
||||||
{
|
|
||||||
var y = (x+nameOfCookie.length);
|
|
||||||
if ( document.cookie.substring( x, y ) == nameOfCookie ) {
|
|
||||||
if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
|
|
||||||
endOfCookie = document.cookie.length;
|
|
||||||
return unescape( document.cookie.substring( y, endOfCookie ) );
|
|
||||||
}
|
|
||||||
x = document.cookie.indexOf( " ", x ) + 1;
|
|
||||||
if ( x == 0 )
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
function download_approved() { //공지사항 띄우기
|
|
||||||
var cookie_name = 'download_approved_01';
|
|
||||||
if (getCookie(cookie_name) != "download_approved_01")
|
|
||||||
{
|
|
||||||
noticeWindow2 = window.open('/admins/popup/download_approved.jsp',cookie_name,'scrollbars=no,width=500,height=380,left=550,top=200', true);
|
|
||||||
if (noticeWindow2) {
|
|
||||||
noticeWindow2.focus();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}//body 부분 추가onload="download_approved();"
|
|
||||||
*/
|
|
||||||
$(document).ready(function(){
|
|
||||||
$("#layer_pop").click(function(){
|
|
||||||
$("div").css("background-image","url(${pageContext.request.contextPath}/images/admins/btn_1.png)");
|
|
||||||
//$(this).text('승인 대기 0건');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
function removeDOM() {
|
|
||||||
document.documentElement.innerHTML = ''; // 전체 DOM 제거
|
|
||||||
window.location.href = "about:blank"; // 페이지 변경
|
|
||||||
}
|
|
||||||
|
|
||||||
document.addEventListener('keydown', function(event) {
|
|
||||||
var e = event || window.event; // IE 호환성을 위한 event 객체 가져오기
|
|
||||||
if ((e.ctrlKey && e.shiftKey && e.keyCode === 73) || e.keyCode === 123) {
|
|
||||||
// Ctrl+Shift+I 또는 F12 키 눌림 감지
|
|
||||||
console.log('디버깅이 감지되었습니다.');
|
|
||||||
removeDOM();
|
|
||||||
e.returnValue = false; // 개발자 도구 열림 방지 (IE)
|
|
||||||
if (e.preventDefault) e.preventDefault(); // 개발자 도구 열림 방지 (표준)
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Ctrl+P 막기 **/
|
|
||||||
if (e.ctrlKey && e.keyCode == 80) {
|
|
||||||
e.cancelBubble = true;
|
|
||||||
e.returnValue = false; // IE
|
|
||||||
if (e.preventDefault) e.preventDefault(); // 표준
|
|
||||||
if (e.stopPropagation) e.stopPropagation(); // 표준
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
/** 스크린 캡처 막기 **/
|
|
||||||
document.addEventListener('keyup', function(e) {
|
|
||||||
if (e.key == 'PrintScreen') {
|
|
||||||
navigator.clipboard.writeText('');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<style type="text/css">
|
|
||||||
#layer_pop{
|
|
||||||
position:absolute;
|
|
||||||
width:115px;
|
|
||||||
height:18px;
|
|
||||||
top:112px;
|
|
||||||
left:950px;
|
|
||||||
background-image:url("${pageContext.request.contextPath}/images/admins/btn_1.png");
|
|
||||||
background-repeat : no-repeat;
|
|
||||||
border : 0px solid #333;
|
|
||||||
font-size: 12px;
|
|
||||||
text-align:center;
|
|
||||||
color : #FFFFFF;
|
|
||||||
cursor : pointer;
|
|
||||||
vertical-align: middle;
|
|
||||||
padding-top: 3px;
|
|
||||||
padding-bottom: 3px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<table border='0' width="100%"cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td valign="top" background="${pageContext.request.contextPath}/images/admins/frame/top_main_bak.gif">
|
|
||||||
<table width="934" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<!--- 탑메뉴 시작 --->
|
|
||||||
<td width="244" valign="top">
|
|
||||||
<a href="${pageContext.request.contextPath}/index.do">
|
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/frame/top_main.gif" width="244" height="135" border="0" usemap="#Map" />
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td width="690" valign="top"><img src="${pageContext.request.contextPath}/images/admins/frame/top_menu.gif" width="690" height="135" border="0" usemap="#Map2" /></td>
|
|
||||||
<!--- 탑메뉴 끝 --->
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td width="100%">
|
|
||||||
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td width="244" height="668" valign="top" background="${pageContext.request.contextPath}/images/admins/left_bak.jpg">
|
|
||||||
<iframe width="244" height="668" marginheight="0" src="${pageContext.request.contextPath}/admins/${menuId}/left.do?pId=${pId}&menuId=${menuId}" name="leftFrame" frameborder="0" scrolling="no"></iframe>
|
|
||||||
</td>
|
|
||||||
<td width="10" valign="top"> </td>
|
|
||||||
|
|
||||||
<td width="100%" valign="top">
|
|
||||||
<iframe height="650" width="1200" marginheight="0" src="${pageContext.request.contextPath}/admins/frame/mainframe.do?menuId=${menuId}&pId=${pId}&viewName=${viewName}&idx=${idx}" name="mainFrame" frameborder="0" scrolling="no"></iframe>
|
|
||||||
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td background="${pageContext.request.contextPath}/images/admins/frame/bottom_bak.gif">
|
|
||||||
<table width="934" border="0" cellspacing="0" cellpadding="0">
|
|
||||||
<tr>
|
|
||||||
<td><img src="${pageContext.request.contextPath}/images/admins/frame/bottom.gif" width="934" height="55" /></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
|
|
||||||
</table>
|
|
||||||
<map name="Map" id="Map">
|
|
||||||
<area shape="rect" coords="160,98,217,116" href="${pageContext.request.contextPath}/admins/main/logout.do" target="_top"/>
|
|
||||||
</map>
|
|
||||||
|
|
||||||
<map name="Map2" id="Map2">
|
|
||||||
<area shape="rect" coords="10,91,96,119" href="${pageContext.request.contextPath}/admins/main/main.do?menuId=user&pId=00" target="_top"/>
|
|
||||||
<area shape="rect" coords="108,91,254,120" href="${pageContext.request.contextPath}/admins/main/main.do?menuId=userLog&pId=00" target="_top" />
|
|
||||||
<area shape="rect" coords="265,91,404,122" href="${pageContext.request.contextPath}/admins/main/main.do?menuId=chLog&pId=00" target="_top" />
|
|
||||||
<area shape="rect" coords="419,91,486,121" href="${pageContext.request.contextPath}/admins/main/main.do?menuId=notice&pId=00" target="_top" />
|
|
||||||
<area shape="rect" coords="500,92,556,121" href="${pageContext.request.contextPath}/admins/main/main.do?menuId=board&pId=00" target="_top" />
|
|
||||||
<area shape="rect" coords="566,93,681,121" href="${pageContext.request.contextPath}/admins/main/main.do?menuId=manager&pId=00" target="_top" />
|
|
||||||
</map>
|
|
||||||
<%-- <c:choose>
|
|
||||||
<c:when test="${nDownApp gt 0}">
|
|
||||||
<div id="layer_pop" onclick="mainFrame.iframeMain.location.href ='${pageContext.request.contextPath}/admins/chLog/20.do?check=1';" style = "background-image:url('${pageContext.request.contextPath}/images/admins/btn_2.png');">승인 대기 <c:out value="${nDownApp}"/>건</div>
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<div id="layer_pop" onclick="mainFrame.iframeMain.location.href ='${pageContext.request.contextPath}/admins/chLog/20.do?check=1';" style = "">승인 대기 0건</div>
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose> --%>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />
|
|
||||||
<title></title>
|
|
||||||
<script src="${pageContext.request.contextPath}/js/map/main.js"></script>
|
|
||||||
<script>
|
|
||||||
var waitWin;
|
|
||||||
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body leftmargin="0" topmargin="0" marginheight="0" marginwidth="0">
|
|
||||||
<!--
|
|
||||||
iframe의 width 최소값은 727입니다.
|
|
||||||
727보다 작게 할 경우 iframe 내부에 가로스크롤바가 생길 수 있습니다.
|
|
||||||
727보다 크게 하는 경우는 문제 없습니다.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<iframe src="${pageContext.request.contextPath}/admins/${menuId}/${pId}.do" frameborder="0" height="650" width="1200" scrolling="yes" name="iframeMain" style="overflow-x: hidden;"></iframe>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
BIN
old/minus.png
|
Before Width: | Height: | Size: 2.0 KiB |
782
old/style.css
|
|
@ -1,782 +0,0 @@
|
||||||
@charset "UTF-8";
|
|
||||||
/* 기본 */
|
|
||||||
img {
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin-left: 16;
|
|
||||||
margin-top: 20;
|
|
||||||
margin-right: 16;
|
|
||||||
margin-bottom: 0;
|
|
||||||
scrollbar-face-color: #FFFFFF;
|
|
||||||
scrollbar-shadow-color: #A0A0A0;
|
|
||||||
scrollbar-highlight-color: #FFFFFF;
|
|
||||||
scrollbar-3dlight-color: #A0A0A0;
|
|
||||||
scrollbar-darkshadow-color: #F6F6F6;
|
|
||||||
scrollbar-track-color: #F6F6F6;
|
|
||||||
scrollbar-arrow-color: #A0A0A0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 페이지 네비게이션 */
|
|
||||||
.navi_cur {
|
|
||||||
font-family: "굴림체";
|
|
||||||
font-size: 9pt;
|
|
||||||
color: #3F3F3F;
|
|
||||||
line-height: 150%;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.navi:link {
|
|
||||||
font-family: "굴림체";
|
|
||||||
font-size: 9pt;
|
|
||||||
color: #3F3F3F;
|
|
||||||
text-decoration: none;
|
|
||||||
line-height: 150%;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.navi:visited {
|
|
||||||
font-family: "굴림체";
|
|
||||||
font-size: 9pt;
|
|
||||||
color: #3F3F3F;
|
|
||||||
text-decoration: none;
|
|
||||||
line-height: 150%;
|
|
||||||
}
|
|
||||||
|
|
||||||
a.navi:hover {
|
|
||||||
font-family: "굴림체";
|
|
||||||
font-size: 9pt;
|
|
||||||
color: #3F3F3F;
|
|
||||||
text-decoration: underline;
|
|
||||||
line-height: 150%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 목록 헤드와 내용 */
|
|
||||||
.list_head {
|
|
||||||
font-size: 9pt;
|
|
||||||
font-family: 굴림체;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 150%;
|
|
||||||
color: #B64E0F;
|
|
||||||
}
|
|
||||||
|
|
||||||
.list_head2 {
|
|
||||||
font-size: 9pt;
|
|
||||||
font-family: 굴림체;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 150%;
|
|
||||||
color: #1180B5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.list_head_noti {
|
|
||||||
font-size: 9pt;
|
|
||||||
font-family: 굴림체;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 150%;
|
|
||||||
color: #B64E0F;
|
|
||||||
}
|
|
||||||
|
|
||||||
.list_content {
|
|
||||||
font-size: 9pt;
|
|
||||||
font-family: 굴림체;
|
|
||||||
line-height: 150%;
|
|
||||||
color: #525252;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* search */
|
|
||||||
.search {
|
|
||||||
font-size: 9pt;
|
|
||||||
color: #545454;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search1 {
|
|
||||||
font-size: 9pt;
|
|
||||||
color: #545454;
|
|
||||||
}
|
|
||||||
|
|
||||||
.date_search {
|
|
||||||
font-size: 9pt;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #545454;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 폼 */
|
|
||||||
Select {
|
|
||||||
font-size: 9pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
font-size: 9pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.write {
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
border-color: #C5C5C5;
|
|
||||||
border-width: 1px;
|
|
||||||
border-style: solid;
|
|
||||||
font-size: 10pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
.input {
|
|
||||||
font-size: 9pt;
|
|
||||||
border: 1x solid #C8D0D5;
|
|
||||||
text-align: left;
|
|
||||||
color: #333333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.input1 {
|
|
||||||
font-size: 9pt;
|
|
||||||
border: 1x solid #8C8C8C;
|
|
||||||
}
|
|
||||||
|
|
||||||
.input2 {
|
|
||||||
font-size: 9pt;
|
|
||||||
border: 1x solid #D1DEDE;
|
|
||||||
text-align: justify;
|
|
||||||
padding-right: 3px;
|
|
||||||
background-color: #F4F7F7;
|
|
||||||
height: 17px;
|
|
||||||
padding-left: 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.input3 {
|
|
||||||
font-size: 9pt;
|
|
||||||
border: 1x solid #8C8C8C;
|
|
||||||
text-align: center;
|
|
||||||
padding-top: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
Input.search {
|
|
||||||
background-color: #F9F9F9;
|
|
||||||
border-color: #C5C5C5;
|
|
||||||
border-width: 1px;
|
|
||||||
border-style: solid;
|
|
||||||
font-size: 10pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 일반 */
|
|
||||||
a:link {
|
|
||||||
font-family: "굴림체";
|
|
||||||
font-size: 9pt;
|
|
||||||
color: #525252;
|
|
||||||
text-decoration: none;
|
|
||||||
line-height: 150%;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:visited {
|
|
||||||
font-family: "굴림체";
|
|
||||||
font-size: 9pt;
|
|
||||||
color: #525252;
|
|
||||||
text-decoration: none;
|
|
||||||
line-height: 150%;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:hover {
|
|
||||||
font-family: "굴림체";
|
|
||||||
font-size: 9pt;
|
|
||||||
color: #FF8000;
|
|
||||||
text-decoration: underline;
|
|
||||||
line-height: 150%;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* FAQ */
|
|
||||||
.faq_q {
|
|
||||||
font-size: 9pt;
|
|
||||||
line-height: 150%;
|
|
||||||
color: #1F177C;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.faq_a {
|
|
||||||
font-size: 9pt;
|
|
||||||
line-height: 150%;
|
|
||||||
color: #1F177C;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* QnA */
|
|
||||||
.qna_head {
|
|
||||||
font-size: 9pt;
|
|
||||||
font-family: 굴림체;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 150%;
|
|
||||||
color: #939393;
|
|
||||||
}
|
|
||||||
|
|
||||||
.qna_content {
|
|
||||||
font-size: 9pt;
|
|
||||||
font-family: 굴림체;
|
|
||||||
line-height: 150%;
|
|
||||||
color: #939393;
|
|
||||||
padding-left: 5px;
|
|
||||||
padding-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.qna_contentH {
|
|
||||||
font-size: 9pt;
|
|
||||||
font-family: 굴림체;
|
|
||||||
line-height: 150%;
|
|
||||||
color: #939393;
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.qna_reply {
|
|
||||||
font-size: 9pt;
|
|
||||||
font-family: 굴림체;
|
|
||||||
line-height: 120%;
|
|
||||||
color: #3F83FF;
|
|
||||||
padding-left: 5px;
|
|
||||||
padding-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.qna_reply_gray {
|
|
||||||
font-size: 9pt;
|
|
||||||
font-family: 굴림체;
|
|
||||||
line-height: 150%;
|
|
||||||
color: #939393;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 팝업타이틀, 입력창(input, select) 추가 2017.08.01 */
|
|
||||||
.pop_title {
|
|
||||||
height: 20px;
|
|
||||||
border-bottom: 1px solid #31b0e5;
|
|
||||||
background: url("../../images/admins/bullet03.png") 10px 10px no-repeat;
|
|
||||||
padding: 7px 0 7px 27px;
|
|
||||||
font-size: 14px;
|
|
||||||
font-family: 굴림체;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 150%;
|
|
||||||
color: #1180B5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.input_txt {
|
|
||||||
padding: 3px;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
border-radius: 3px;
|
|
||||||
color: #666;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 2023.10.11 LHJ 게시판 제목에서 길이 초과된 뒷부분 생략 추가 */
|
|
||||||
#Table_List {
|
|
||||||
table-layout: fixed;
|
|
||||||
}
|
|
||||||
|
|
||||||
#Table_List td {
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 2023.10.23 LHJ 팝업 미리보기 화면 추가 */
|
|
||||||
.popup_noti {
|
|
||||||
width: 500px;
|
|
||||||
height: 600px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bg_noti:nth-child(1) {
|
|
||||||
flex-grow: 2.5;
|
|
||||||
background-color: #FFCCB3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bg_noti:nth-child(2) {
|
|
||||||
flex-grow: 1.5;
|
|
||||||
background-color: #FFF2D0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bg_noti:nth-child(3) {
|
|
||||||
flex-grow: 6;
|
|
||||||
background-color: #DCF1EA;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bg_white {
|
|
||||||
position: absolute;
|
|
||||||
top: 10%;
|
|
||||||
left: 7%;
|
|
||||||
right: 7%;
|
|
||||||
bottom: 5%;
|
|
||||||
background-color: white;
|
|
||||||
border: 1px solid black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.subject_noti {
|
|
||||||
position: absolute;
|
|
||||||
top: 10%;
|
|
||||||
left: 7%;
|
|
||||||
right: 7%;
|
|
||||||
font-family: "NanumGothicB";
|
|
||||||
font-weight: bold;
|
|
||||||
font-size: 15pt;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
display: -webkit-box;
|
|
||||||
-webkit-line-clamp: 2;
|
|
||||||
-webkit-box-orient: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contents_noti pre {
|
|
||||||
display: block;
|
|
||||||
padding: inherit;
|
|
||||||
margin: inherit;
|
|
||||||
font-size: inherit;
|
|
||||||
line-height: inherit;
|
|
||||||
color: inherit;
|
|
||||||
word-break: break-all;
|
|
||||||
word-wrap: break-word;
|
|
||||||
white-space: pre-wrap;
|
|
||||||
background-color: inherit;
|
|
||||||
border: inherit;
|
|
||||||
border-radius: inherit;
|
|
||||||
font-family: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contents_noti {
|
|
||||||
position: absolute;
|
|
||||||
top: 27%;
|
|
||||||
left: 7%;
|
|
||||||
right: 7%;
|
|
||||||
bottom: 5%;
|
|
||||||
font-family: "Nanum Gothic";
|
|
||||||
font-size: 9pt;
|
|
||||||
overflow-y: auto;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
display: -webkit-box;
|
|
||||||
-webkit-line-clamp: 10;
|
|
||||||
-webkit-box-orient: vertical;
|
|
||||||
}
|
|
||||||
|
|
||||||
.menu-item {
|
|
||||||
padding: 0px 5px;
|
|
||||||
width: 230px;
|
|
||||||
text-align: center;
|
|
||||||
margin-bottom: 9px;
|
|
||||||
}
|
|
||||||
.menu-item span {
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: inline-block;
|
|
||||||
width: 220px;
|
|
||||||
padding: 5px 20px;
|
|
||||||
padding-left: 31px;
|
|
||||||
box-shadow: inset 2px 2px 6px #b7b7b7;
|
|
||||||
border-radius: 20px;
|
|
||||||
text-align: left;
|
|
||||||
background: #ffffff;
|
|
||||||
color: #888888;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 600;
|
|
||||||
margin-left: 4px;
|
|
||||||
}
|
|
||||||
.menu-item .sub-menu {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.menu-item.active {
|
|
||||||
margin-bottom: 3px;
|
|
||||||
}
|
|
||||||
.menu-item.active span {
|
|
||||||
color: #2b85c6;
|
|
||||||
}
|
|
||||||
.menu-item.active .sub-menu {
|
|
||||||
display: block;
|
|
||||||
margin: 0px;
|
|
||||||
margin-top: 3px;
|
|
||||||
padding: 0px;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.menu-item.active .sub-menu .sub-menu-item {
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: inline-block;
|
|
||||||
width: 180px;
|
|
||||||
padding: 5px 20px;
|
|
||||||
padding-left: 31px;
|
|
||||||
box-shadow: inset 2px 2px 6px #b7b7b7;
|
|
||||||
border-radius: 20px;
|
|
||||||
text-align: left;
|
|
||||||
background: #ffffff;
|
|
||||||
color: #888888;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 600;
|
|
||||||
margin-left: 4px;
|
|
||||||
margin-right: 4px;
|
|
||||||
margin-bottom: 3px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.menu-item.active .sub-menu .sub-menu-item.active {
|
|
||||||
color: #2b85c6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main-title {
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sub-title {
|
|
||||||
font-size: 20px;
|
|
||||||
color: #df8107;
|
|
||||||
}
|
|
||||||
|
|
||||||
.home-trainning {
|
|
||||||
width: 100%;
|
|
||||||
max-width: 1600px;
|
|
||||||
position: relative;
|
|
||||||
/* 신청인정보 */
|
|
||||||
}
|
|
||||||
.home-trainning th,
|
|
||||||
.home-trainning tr {
|
|
||||||
height: 36px;
|
|
||||||
}
|
|
||||||
.home-trainning .contentBtn {
|
|
||||||
display: flex;
|
|
||||||
gap: 10px;
|
|
||||||
justify-content: end;
|
|
||||||
margin: 10px 0;
|
|
||||||
}
|
|
||||||
.home-trainning button {
|
|
||||||
background-color: #007BFF;
|
|
||||||
color: #fff;
|
|
||||||
border-radius: 6px;
|
|
||||||
border: none;
|
|
||||||
padding: 5px 10px;
|
|
||||||
}
|
|
||||||
.home-trainning .Table_Main {
|
|
||||||
width: 100%;
|
|
||||||
max-width: 1600px;
|
|
||||||
border: 1px solid #e9e9e9;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.home-trainning .Table_Main.course-list-table tbody tr {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.home-trainning .Table_Main.course-list-table tbody tr:hover {
|
|
||||||
background: #f1f1f1;
|
|
||||||
}
|
|
||||||
.home-trainning .Table_Main.new-course-creation-table {
|
|
||||||
margin-bottom: 50px;
|
|
||||||
}
|
|
||||||
.home-trainning .Table_Main.new-course-creation-table .new-course-creation-tbody tr td input {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
height: 35px;
|
|
||||||
border: none;
|
|
||||||
padding: 0px 5px;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.home-trainning .Table_Main.new-course-creation-table .new-course-creation-tbody tr td input.reg-start-end-date {
|
|
||||||
width: 40%;
|
|
||||||
padding: 0px;
|
|
||||||
}
|
|
||||||
.home-trainning .Table_List {
|
|
||||||
background: #e9eff4;
|
|
||||||
}
|
|
||||||
.home-trainning .application {
|
|
||||||
width: 60px;
|
|
||||||
padding: 5px;
|
|
||||||
background: #E9F0F5;
|
|
||||||
border-radius: 6px;
|
|
||||||
border: none;
|
|
||||||
font-weight: 600;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
.home-trainning .applicationEnd {
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
.home-trainning .home-visit-item {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.home-trainning #UserDate {
|
|
||||||
margin: 25px 0;
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.home-trainning .DateTitle {
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: 700;
|
|
||||||
line-height: 18px;
|
|
||||||
display: inline-block;
|
|
||||||
margin-right: 20px;
|
|
||||||
}
|
|
||||||
.home-trainning .AddBtn {
|
|
||||||
display: block;
|
|
||||||
margin: 30px auto;
|
|
||||||
padding: 10px 20px;
|
|
||||||
background-color: #007BFF;
|
|
||||||
color: white;
|
|
||||||
border: none;
|
|
||||||
border-radius: 5px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.home-trainning button:hover {
|
|
||||||
background-color: #0056b3;
|
|
||||||
}
|
|
||||||
.home-trainning #ContentAdd {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.home-trainning .DateTitle {
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: 700;
|
|
||||||
line-height: 18px;
|
|
||||||
display: inline-block;
|
|
||||||
margin-right: 20px;
|
|
||||||
}
|
|
||||||
.home-trainning .DateText {
|
|
||||||
font-size: 15px;
|
|
||||||
font-weight: 400;
|
|
||||||
line-height: 12px;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.home-trainning .DateText .home-visit-item-training-name {
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.visit-trainning {
|
|
||||||
/* 기본 레이아웃 설정 */
|
|
||||||
/* 캘린더 CSS */
|
|
||||||
/* Form css */
|
|
||||||
/* 관리자용 css */
|
|
||||||
}
|
|
||||||
.visit-trainning .page-content-wrapper {
|
|
||||||
display: inline-block;
|
|
||||||
width: auto;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.visit-trainning .page-sidebar-wrapper {
|
|
||||||
float: left;
|
|
||||||
width: 222px;
|
|
||||||
height: 1000px;
|
|
||||||
}
|
|
||||||
.visit-trainning .page-content {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.visit-trainning .content-bg {
|
|
||||||
background-color: #e9eff4;
|
|
||||||
padding: 30px;
|
|
||||||
}
|
|
||||||
.visit-trainning .CalendarOverlay {
|
|
||||||
display: inline-flex;
|
|
||||||
}
|
|
||||||
.visit-trainning .Calendar {
|
|
||||||
padding: 30px;
|
|
||||||
background: white;
|
|
||||||
border-radius: 16px;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: flex-start;
|
|
||||||
align-items: flex-start;
|
|
||||||
gap: 12px;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.visit-trainning .Header {
|
|
||||||
align-self: stretch;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
display: inline-flex;
|
|
||||||
}
|
|
||||||
.visit-trainning .yyyy-mm {
|
|
||||||
color: black;
|
|
||||||
font-size: 24px;
|
|
||||||
font-family: Inter;
|
|
||||||
font-weight: 900;
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
.visit-trainning .Frame9 {
|
|
||||||
justify-content: flex-start;
|
|
||||||
align-items: flex-start;
|
|
||||||
gap: 12px;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.visit-trainning .Chevron {
|
|
||||||
padding: 8px;
|
|
||||||
justify-content: flex-start;
|
|
||||||
align-items: flex-start;
|
|
||||||
gap: 10px;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.visit-trainning .page-prev {
|
|
||||||
margin-top: 3px;
|
|
||||||
width: 26px;
|
|
||||||
height: 26px;
|
|
||||||
transform: rotate(90deg);
|
|
||||||
}
|
|
||||||
.visit-trainning .page-next {
|
|
||||||
margin-top: 3px;
|
|
||||||
width: 26px;
|
|
||||||
height: 26px;
|
|
||||||
transform: rotate(-90deg);
|
|
||||||
}
|
|
||||||
.visit-trainning .month {
|
|
||||||
margin: 0px auto;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .Days {
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: flex-start;
|
|
||||||
align-items: center;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .Row {
|
|
||||||
justify-content: flex-start;
|
|
||||||
align-items: center;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .Cell {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
width: 64px;
|
|
||||||
height: 64px;
|
|
||||||
padding: 10px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 20px;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .Cell:hover {
|
|
||||||
background-color: #e9eff4;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .Day {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
width: 64px;
|
|
||||||
height: 64px;
|
|
||||||
padding: 10px;
|
|
||||||
border: 1px solid #D5D4DF;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 20px;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .Week {
|
|
||||||
width: 24px;
|
|
||||||
height: 24px;
|
|
||||||
text-align: center;
|
|
||||||
color: black;
|
|
||||||
font-size: 14px;
|
|
||||||
font-family: Inter;
|
|
||||||
font-weight: 600;
|
|
||||||
word-wrap: break-word;
|
|
||||||
border: 1px solid #fff;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .Day {
|
|
||||||
border: 1px #D5D4DF solid;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .inactive {
|
|
||||||
width: 64px;
|
|
||||||
height: 64 px;
|
|
||||||
text-align: center;
|
|
||||||
color: #A8A8A8;
|
|
||||||
font-size: 14px;
|
|
||||||
font-family: Inter;
|
|
||||||
font-weight: 400;
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .Weekdays {
|
|
||||||
width: 24px;
|
|
||||||
height: 24px;
|
|
||||||
text-align: center;
|
|
||||||
color: black;
|
|
||||||
font-size: 14px;
|
|
||||||
font-family: Inter;
|
|
||||||
font-weight: 400;
|
|
||||||
word-wrap: break-word;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .Su {
|
|
||||||
color: #FF6666;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .Sa {
|
|
||||||
color: #3378C1;
|
|
||||||
}
|
|
||||||
.visit-trainning .month .today {
|
|
||||||
background-color: #45539d;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #fff;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
.visit-trainning .Application {
|
|
||||||
width: 430px;
|
|
||||||
margin-top: 15px;
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
.visit-trainning .InputBox {
|
|
||||||
width: 342px;
|
|
||||||
height: 34px;
|
|
||||||
background: white;
|
|
||||||
border-radius: 6px;
|
|
||||||
border: 1px solid rgba(66, 80, 102, 0.4);
|
|
||||||
}
|
|
||||||
.visit-trainning #Agency, .visit-trainning #Place {
|
|
||||||
width: 160px;
|
|
||||||
}
|
|
||||||
.visit-trainning #Name {
|
|
||||||
width: 91px;
|
|
||||||
}
|
|
||||||
.visit-trainning #Persons {
|
|
||||||
width: 79px;
|
|
||||||
}
|
|
||||||
.visit-trainning #Tel, .visit-trainning #Place {
|
|
||||||
margin-left: -13px;
|
|
||||||
}
|
|
||||||
.visit-trainning #Hope1, .visit-trainning #Hope2, .visit-trainning #Hope3 {
|
|
||||||
width: 342px;
|
|
||||||
margin-left: -20px;
|
|
||||||
}
|
|
||||||
.visit-trainning label {
|
|
||||||
margin: 0 25px 0 20px;
|
|
||||||
display: inline-block;
|
|
||||||
text-align: left;
|
|
||||||
line-height: 50px;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.visit-trainning .possible {
|
|
||||||
width: 100px;
|
|
||||||
height: 32px;
|
|
||||||
padding: 5px;
|
|
||||||
background: #E9F0F5;
|
|
||||||
border-radius: 6px;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
.visit-trainning .impossibility {
|
|
||||||
width: 100px;
|
|
||||||
height: 32px;
|
|
||||||
padding: 5px;
|
|
||||||
background: #EAEAEA;
|
|
||||||
border-radius: 6px;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.visit-trainning-approval-system th,
|
|
||||||
.visit-trainning-approval-system tr {
|
|
||||||
height: 36px;
|
|
||||||
}
|
|
||||||
.visit-trainning-approval-system #Table_Main {
|
|
||||||
width: 1020px;
|
|
||||||
border: 1px solid #e9e9e9;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.visit-trainning-approval-system .Table_List {
|
|
||||||
background: #e9eff4;
|
|
||||||
}
|
|
||||||
.visit-trainning-approval-system .caption {
|
|
||||||
font-size: 11px;
|
|
||||||
margin: 10px;
|
|
||||||
}
|
|
||||||
.visit-trainning-approval-system .HopeDay {
|
|
||||||
color: #2e5aac;
|
|
||||||
bordeR: 1px solid #89a7e0;
|
|
||||||
padding: 5px;
|
|
||||||
background: #fff;
|
|
||||||
border-radius: 2px;
|
|
||||||
}
|
|
||||||
.visit-trainning-approval-system .cancel {
|
|
||||||
border: 1px solid red;
|
|
||||||
color: red;
|
|
||||||
border-radius: 2px;
|
|
||||||
padding: 4px 8px;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
.visit-trainning-approval-system .HopeDay.clicked {
|
|
||||||
background-color: #89a7e0;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
.visit-trainning-approval-system .statusConfirmed {
|
|
||||||
color: #2e5aac;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*# sourceMappingURL=style.css.map */
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"sourceRoot":"","sources":["sass/style.scss"],"names":[],"mappings":";AAAA;AACA;EAAM;;;AACN;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EAAY;EAAoB;EAAiB;EAAgB;EAAkB;;;AACnF;EAAc;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC1F;EAAgB;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC5F;EAAc;EAAoB;EAAiB;EAAgB;EAA4B;;;AAE/F;AACA;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAkB;EAAe;EAAkB;EAAkB;EAAkB;;;AACvF;EAAiB;EAAe;EAAkB;EAAkB;;;AAEpE;AACA;EAAY;EAAe;;;AAC3B;EAAY;EAAe;;;AAC3B;EAAe;EAAe;EAAkB;;;AAEhD;AACA;EAAY;;;AACZ;EAAU;;;AACV;EAAY;EAA0B;EAAsB;EAAkB;EAAoB;;;AAClG;EAAW;EAAe;EAA0B;EAAkB;;;AACtE;EAAW;EAAe;;;AAC1B;EAAW;EAAe;EAAyB;EAAqB;EAAoB;EAA2B;EAAc;;;AACrI;EAAW;EAAe;EAAyB;EAAoB;;;AACvE;EAAe;EAA0B;EAAsB;EAAkB;EAAoB;;;AAErG;AACA;EAAU;EAAoB;EAAgB;EAAgB;EAAuB;;;AACrF;EAAY;EAAoB;EAAgB;EAAgB;EAAuB;;;AACvF;EAAW;EAAoB;EAAgB;EAAgB;EAA4B;;;AAE3F;AACA;EAAY;EAAe;EAAkB;EAAe;;;AAC5D;EAAW;EAAe;EAAkB;;;AAG5C;AACA;EAAc;EAAe;EAAkB;EAAkB;EAAkB;;;AACnF;EAAgB;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACpG;EAAiB;EAAe;EAAkB;EAAkB;EAAe;;;AACnF;EAAe;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACnG;EAAkB;EAAe;EAAkB;EAAkB;;;AAErE;AACA;EAAa;EAAa;EAAiC;EAAwE;EAAwB;EAAiB;EAAkB;EAAkB;EAAkB;;;AAClO;EAAY;EAAa;EAAuB;EAAmB;EAAY;;;AAE/E;AACA;EAAa;;;AACb;EAAgB;EAAyB;EAAqB;;;AAE9D;AACA;EACI;EACH;EACG;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACC;EACA;EACA;EACA;EACA;;;AAEL;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AACA;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAOpB;EACI;;;AAEJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;AAwEA;;AAvEA;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGQ;EACI;;AACA;EACI;;AAOhB;EACI;;AAIY;EACI;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;;AAQ5B;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAIJ;EACI;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;;;AAMZ;AACI;AAmBA;AA8IA;AAsCA;;AAtMA;EACI;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;EACA;;AAIJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACK;EACA;EACA;EACA;EACA;;AAEL;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;;AACA;EACI;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;;AAKR;EACI;EACA;EACA;;AAEJ;EACI;EACC;EACA;EACA;EACA;;AAEL;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACC;;AAGL;EACI;EACC;EACA;EACA;EACA;;AAKL;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACK;EACD;EACA;EACA;EACA;EACA;;;AAMJ;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACG;EACC;;AAIJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEJ;EACG","file":"style.css"}
|
|
||||||
|
|
@ -0,0 +1,553 @@
|
||||||
|
package geoinfo.admins.constructionProjectManagement;
|
||||||
|
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.security.SecureRandom;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.ServletOutputStream;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.servlet.http.HttpSession;
|
||||||
|
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||||
|
import org.apache.poi.ss.usermodel.Sheet;
|
||||||
|
import org.json.simple.JSONArray;
|
||||||
|
import org.json.simple.JSONObject;
|
||||||
|
import org.json.simple.parser.JSONParser;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.ModelMap;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import egovframework.com.cmm.service.EgovProperties;
|
||||||
|
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||||
|
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||||
|
import geoinfo.admins.board.RefrncRoomController;
|
||||||
|
import geoinfo.admins.user.service.GeneralUserMngService;
|
||||||
|
import geoinfo.admins.user.service.HomeTrainingService;
|
||||||
|
import geoinfo.com.EgovExcel;
|
||||||
|
import geoinfo.com.GeoinfoCommon;
|
||||||
|
import geoinfo.comm.util.ScriptUtil;
|
||||||
|
import geoinfo.session.UserInfo;
|
||||||
|
import geoinfo.util.MyUtil;
|
||||||
|
import whois.whoisSMS;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class ConstructionProjectManagementController {
|
||||||
|
@Resource(name = "generalUserMngService")
|
||||||
|
private GeneralUserMngService masterService;
|
||||||
|
|
||||||
|
@Resource(name = "homeTrainingService")
|
||||||
|
private HomeTrainingService homeTrainingService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 집합교육 화면
|
||||||
|
* @param params
|
||||||
|
* @param model
|
||||||
|
* @param response
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "admins/constructionProjectManagement/construction-project-statistics-index.do")
|
||||||
|
public String homeTrainingIndex(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletResponse response, HttpServletRequest request) throws Exception {
|
||||||
|
|
||||||
|
if (!UserInfo.isValidSession(request, response, "admin")) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
model.addAttribute("params", params);
|
||||||
|
return "admins/constructionProjectManagement/construction-project-statistics-index";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 집합교육 추가
|
||||||
|
* @param request
|
||||||
|
* @param strJSON
|
||||||
|
* @param response
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "admins/constructionProjectManagement/home-training-index/add.do", method = RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public JSONObject addHomeTraining(
|
||||||
|
HttpServletRequest request,
|
||||||
|
@RequestBody String strJSON,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
|
||||||
|
|
||||||
|
JSONObject jsonResponse = new JSONObject();
|
||||||
|
|
||||||
|
System.out.println(
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
request.getRequestURI() + " IN:" +
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
"strJSON" + strJSON + "\n" +
|
||||||
|
"\n--------------------------------------------------------------\n"
|
||||||
|
);
|
||||||
|
JSONParser jsonParser = new JSONParser();
|
||||||
|
JSONArray jsonArr = null;
|
||||||
|
boolean isFail = false;
|
||||||
|
String failMsg = "";
|
||||||
|
try {
|
||||||
|
jsonArr = (JSONArray)jsonParser.parse(strJSON);
|
||||||
|
for (Object obj : jsonArr) {
|
||||||
|
JSONObject jsonObject = (JSONObject) obj;
|
||||||
|
|
||||||
|
// JSONObject를 HashMap으로 변환
|
||||||
|
HashMap<String, Object> params = new HashMap<>();
|
||||||
|
for (Object key : jsonObject.keySet()) {
|
||||||
|
String keyStr = (String) key;
|
||||||
|
Object value = jsonObject.get(keyStr);
|
||||||
|
params.put(keyStr, value);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
HashMap<String, Object> hashMap = homeTrainingService.addHomeTraining(request, response, params);
|
||||||
|
int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("p_result_code"));
|
||||||
|
String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("p_err_msg"));
|
||||||
|
|
||||||
|
long lWvtRegId = MyUtil.getLongFromObject(hashMap.get("p_wvt_reg_id"));
|
||||||
|
|
||||||
|
if( nRetCode == 100 ) {
|
||||||
|
jsonResponse.put("resultCode", nRetCode);
|
||||||
|
jsonResponse.put("result", "true");
|
||||||
|
jsonResponse.put("message", "등록이 완료되었습니다.");
|
||||||
|
} else {
|
||||||
|
if( nRetCode == 11 ) {
|
||||||
|
lpszRetMsg += "\n" +
|
||||||
|
"사업명: " + params.get("constName");
|
||||||
|
}
|
||||||
|
jsonResponse.put("resultCode", nRetCode);
|
||||||
|
jsonResponse.put("result", "false");
|
||||||
|
jsonResponse.put("message", lpszRetMsg);
|
||||||
|
|
||||||
|
isFail = true;
|
||||||
|
failMsg = lpszRetMsg;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
String strTxt =
|
||||||
|
"---------- BUG REPORTING START ----------" + "\n" +
|
||||||
|
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
|
||||||
|
"strJSON:[\n" + strJSON + "\n]\n" +
|
||||||
|
"e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
|
||||||
|
"new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
|
||||||
|
"---------- BUG REPORTING END ----------" + "\n" +
|
||||||
|
"";
|
||||||
|
System.out.println(strTxt);
|
||||||
|
jsonResponse.put("resultCode", -1);
|
||||||
|
jsonResponse.put("result", "false");
|
||||||
|
jsonResponse.put("message", e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (org.json.simple.parser.ParseException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
if( isFail ) {
|
||||||
|
jsonResponse.put("resultCode", -2);
|
||||||
|
jsonResponse.put("result", "false");
|
||||||
|
jsonResponse.put("message", failMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("\n--------------------------------------------------------------\n" +
|
||||||
|
request.getRequestURI() + " OUT:" +
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
"jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" +
|
||||||
|
"\n--------------------------------------------------------------\n");
|
||||||
|
|
||||||
|
return jsonResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 집합교육 수정
|
||||||
|
* @param request
|
||||||
|
* @param strJSON
|
||||||
|
* @param response
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "admins/constructionProjectManagement/home-training-index/update.do", method = RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public JSONObject updateHomeTraining(
|
||||||
|
HttpServletRequest request,
|
||||||
|
@RequestBody String strJSON,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
|
||||||
|
|
||||||
|
JSONObject jsonResponse = new JSONObject();
|
||||||
|
|
||||||
|
System.out.println(
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
request.getRequestURI() + " IN:" +
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
"strJSON" + strJSON + "\n" +
|
||||||
|
"\n--------------------------------------------------------------\n"
|
||||||
|
);
|
||||||
|
JSONParser jsonParser = new JSONParser();
|
||||||
|
JSONArray jsonArr = null;
|
||||||
|
boolean isFail = false;
|
||||||
|
String failMsg = "";
|
||||||
|
try {
|
||||||
|
jsonArr = (JSONArray)jsonParser.parse(strJSON);
|
||||||
|
for (Object obj : jsonArr) {
|
||||||
|
JSONObject jsonObject = (JSONObject) obj;
|
||||||
|
|
||||||
|
// JSONObject를 HashMap으로 변환
|
||||||
|
HashMap<String, Object> params = new HashMap<>();
|
||||||
|
for (Object key : jsonObject.keySet()) {
|
||||||
|
String keyStr = (String) key;
|
||||||
|
Object value = jsonObject.get(keyStr);
|
||||||
|
params.put(keyStr, value);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
HashMap<String, Object> hashMap = homeTrainingService.updateHomeTraining(request, response, params);
|
||||||
|
int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("p_result_code"));
|
||||||
|
String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("p_err_msg"));
|
||||||
|
|
||||||
|
if( nRetCode == 100 ) {
|
||||||
|
jsonResponse.put("resultCode", nRetCode);
|
||||||
|
jsonResponse.put("result", "true");
|
||||||
|
jsonResponse.put("message", "수정이 완료되었습니다.");
|
||||||
|
} else {
|
||||||
|
if( nRetCode == 11 ) {
|
||||||
|
lpszRetMsg += "\n" +
|
||||||
|
"사업명: " + params.get("constName");
|
||||||
|
}
|
||||||
|
jsonResponse.put("resultCode", nRetCode);
|
||||||
|
jsonResponse.put("result", "false");
|
||||||
|
jsonResponse.put("message", lpszRetMsg);
|
||||||
|
|
||||||
|
isFail = true;
|
||||||
|
failMsg = lpszRetMsg;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
String strTxt =
|
||||||
|
"---------- BUG REPORTING START ----------" + "\n" +
|
||||||
|
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
|
||||||
|
"strJSON:[\n" + strJSON + "\n]\n" +
|
||||||
|
"e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
|
||||||
|
"new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
|
||||||
|
"---------- BUG REPORTING END ----------" + "\n" +
|
||||||
|
"";
|
||||||
|
System.out.println(strTxt);
|
||||||
|
jsonResponse.put("resultCode", -1);
|
||||||
|
jsonResponse.put("result", "false");
|
||||||
|
jsonResponse.put("message", e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (org.json.simple.parser.ParseException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
if( isFail ) {
|
||||||
|
jsonResponse.put("resultCode", -2);
|
||||||
|
jsonResponse.put("result", "false");
|
||||||
|
jsonResponse.put("message", failMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("\n--------------------------------------------------------------\n" +
|
||||||
|
request.getRequestURI() + " OUT:" +
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
"jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" +
|
||||||
|
"\n--------------------------------------------------------------\n");
|
||||||
|
|
||||||
|
return jsonResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "admins/constructionProjectManagement/home-training-index/list.do", method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
public JSONObject getHomeTraining(
|
||||||
|
HttpServletRequest request,
|
||||||
|
@RequestParam HashMap<String, Object> params,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
|
||||||
|
|
||||||
|
JSONObject jsonResponse = new JSONObject();
|
||||||
|
|
||||||
|
System.out.println(
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
request.getRequestURI() + " IN:" +
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
"params.toString()" + params.toString() + "\n" +
|
||||||
|
"\n--------------------------------------------------------------\n"
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
homeTrainingService.getHomeTraining(request, response, jsonResponse, params);
|
||||||
|
jsonResponse.put("resultCode", 100);
|
||||||
|
jsonResponse.put("result", "true");
|
||||||
|
jsonResponse.put("message", "조회가 완료되었습니다.");
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
String strTxt =
|
||||||
|
"---------- BUG REPORTING START ----------" + "\n" +
|
||||||
|
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
|
||||||
|
"e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
|
||||||
|
"new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
|
||||||
|
"---------- BUG REPORTING END ----------" + "\n" +
|
||||||
|
"";
|
||||||
|
System.out.println(strTxt);
|
||||||
|
|
||||||
|
String eMsg = e.getMessage();
|
||||||
|
if( eMsg != null ) {
|
||||||
|
if( eMsg.equals("로그인이 필요한 서비스입니다.") ) {
|
||||||
|
jsonResponse.put("resultCode", 401);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
jsonResponse.put("resultCode", -1);
|
||||||
|
jsonResponse.put("result", "false");
|
||||||
|
jsonResponse.put("message", e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
request.getRequestURI() + " OUT:" +
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
"jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" +
|
||||||
|
"\n--------------------------------------------------------------\n"
|
||||||
|
);
|
||||||
|
|
||||||
|
return jsonResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 특정 집합교육에 참여한 사용자 목록을 조회한다.
|
||||||
|
* @param request
|
||||||
|
* @param params
|
||||||
|
* @param response
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "admins/constructionProjectManagement/home-training-index/item/list.do", method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
public JSONObject getHomeTrainingItemList(
|
||||||
|
HttpServletRequest request,
|
||||||
|
@RequestParam HashMap<String, Object> params,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
|
||||||
|
|
||||||
|
JSONObject jsonResponse = new JSONObject();
|
||||||
|
|
||||||
|
System.out.println(
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
request.getRequestURI() + " IN:" +
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
"params.toString()" + params.toString() + "\n" +
|
||||||
|
"\n--------------------------------------------------------------\n"
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
homeTrainingService.getHomeTrainingItemList(request, response, jsonResponse, params);
|
||||||
|
jsonResponse.put("resultCode", 100);
|
||||||
|
jsonResponse.put("result", "true");
|
||||||
|
jsonResponse.put("message", "조회가 완료되었습니다.");
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
String strTxt =
|
||||||
|
"---------- BUG REPORTING START ----------" + "\n" +
|
||||||
|
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
|
||||||
|
"e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
|
||||||
|
"new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
|
||||||
|
"---------- BUG REPORTING END ----------" + "\n" +
|
||||||
|
"";
|
||||||
|
System.out.println(strTxt);
|
||||||
|
jsonResponse.put("resultCode", -1);
|
||||||
|
jsonResponse.put("result", "false");
|
||||||
|
jsonResponse.put("message", e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
request.getRequestURI() + " OUT:" +
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
"jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" +
|
||||||
|
"\n--------------------------------------------------------------\n"
|
||||||
|
);
|
||||||
|
|
||||||
|
return jsonResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping(value = "admins/constructionProjectManagement/home-training-index/item/delete.do", method = RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public JSONObject deleteHomeTrainingItem(
|
||||||
|
HttpServletRequest request,
|
||||||
|
@RequestBody String strJSON,
|
||||||
|
HttpServletResponse response) {
|
||||||
|
|
||||||
|
|
||||||
|
JSONObject jsonResponse = new JSONObject();
|
||||||
|
|
||||||
|
System.out.println(
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
request.getRequestURI() + " IN:" +
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
"strJSON" + strJSON + "\n" +
|
||||||
|
"\n--------------------------------------------------------------\n"
|
||||||
|
);
|
||||||
|
|
||||||
|
JSONParser jsonParser = new JSONParser();
|
||||||
|
JSONArray jsonArr = null;
|
||||||
|
boolean isFail = false;
|
||||||
|
String failMsg = "";
|
||||||
|
try {
|
||||||
|
jsonArr = (JSONArray)jsonParser.parse(strJSON);
|
||||||
|
for (Object obj : jsonArr) {
|
||||||
|
JSONObject jsonObject = (JSONObject) obj;
|
||||||
|
|
||||||
|
// JSONObject를 HashMap으로 변환
|
||||||
|
HashMap<String, Object> params = new HashMap<>();
|
||||||
|
for (Object key : jsonObject.keySet()) {
|
||||||
|
String keyStr = (String) key;
|
||||||
|
Object value = jsonObject.get(keyStr);
|
||||||
|
params.put(keyStr, value);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
HashMap<String, Object> hashMap = homeTrainingService.deleteHomeTrainingItem(request, response, params);
|
||||||
|
int nRetCode = MyUtil.getIntegerFromObject(hashMap.get("p_result_code"));
|
||||||
|
String lpszRetMsg = MyUtil.getStringFromObject(hashMap.get("p_err_msg"));
|
||||||
|
|
||||||
|
|
||||||
|
if( nRetCode == 100 ) {
|
||||||
|
jsonResponse.put("resultCode", nRetCode);
|
||||||
|
jsonResponse.put("result", "true");
|
||||||
|
jsonResponse.put("message", "삭제가 완료되었습니다.");
|
||||||
|
} else {
|
||||||
|
if( nRetCode == 11 ) {
|
||||||
|
lpszRetMsg += "\n" +
|
||||||
|
"사업명: " + params.get("constName");
|
||||||
|
}
|
||||||
|
jsonResponse.put("resultCode", nRetCode);
|
||||||
|
jsonResponse.put("result", "false");
|
||||||
|
jsonResponse.put("message", lpszRetMsg);
|
||||||
|
|
||||||
|
isFail = true;
|
||||||
|
failMsg = lpszRetMsg;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
String strTxt =
|
||||||
|
"---------- BUG REPORTING START ----------" + "\n" +
|
||||||
|
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
|
||||||
|
"strJSON:[\n" + strJSON + "\n]\n" +
|
||||||
|
"e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
|
||||||
|
"new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
|
||||||
|
"---------- BUG REPORTING END ----------" + "\n" +
|
||||||
|
"";
|
||||||
|
System.out.println(strTxt);
|
||||||
|
jsonResponse.put("resultCode", -1);
|
||||||
|
jsonResponse.put("result", "false");
|
||||||
|
jsonResponse.put("message", e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (org.json.simple.parser.ParseException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
if( isFail ) {
|
||||||
|
jsonResponse.put("resultCode", -2);
|
||||||
|
jsonResponse.put("result", "false");
|
||||||
|
jsonResponse.put("message", failMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("\n--------------------------------------------------------------\n" +
|
||||||
|
request.getRequestURI() + " OUT:" +
|
||||||
|
"\n--------------------------------------------------------------\n" +
|
||||||
|
"jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" +
|
||||||
|
"\n--------------------------------------------------------------\n");
|
||||||
|
|
||||||
|
return jsonResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 집합교육 승인 화면
|
||||||
|
* @param params
|
||||||
|
* @param model
|
||||||
|
* @param response
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "admins/constructionProjectManagement/home-training-approval-system")
|
||||||
|
public String homeTrainingApprovalSystem(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletResponse response, HttpServletRequest request) throws Exception {
|
||||||
|
|
||||||
|
if (!UserInfo.isValidSession(request, response, "admin")) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
model.addAttribute("params", params);
|
||||||
|
return "admins/constructionProjectManagement/home-training-approval-system";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 방문교육 달력 화면
|
||||||
|
* @param params
|
||||||
|
* @param model
|
||||||
|
* @param response
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "admins/constructionProjectManagement/visit-training-index.do")
|
||||||
|
public String visitTrainingIndex(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletResponse response, HttpServletRequest request) throws Exception {
|
||||||
|
|
||||||
|
if (!UserInfo.isValidSession(request, response, "admin")) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
model.addAttribute("params", params);
|
||||||
|
return "admins/constructionProjectManagement/visit-training-index";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 방문교육 승인 화면
|
||||||
|
* @param params
|
||||||
|
* @param model
|
||||||
|
* @param response
|
||||||
|
* @param request
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "admins/constructionProjectManagement/visit-training-approval-system")
|
||||||
|
public String visitTrainingApprovalSystem(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletResponse response, HttpServletRequest request) throws Exception {
|
||||||
|
|
||||||
|
if (!UserInfo.isValidSession(request, response, "admin")) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
model.addAttribute("params", params);
|
||||||
|
return "admins/constructionProjectManagement/visit-training-approval-system";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -113,9 +113,16 @@ public class GeneralUserMngController {
|
||||||
params.put("firstRecordIndex", paginationInfo.getFirstRecordIndex());
|
params.put("firstRecordIndex", paginationInfo.getFirstRecordIndex());
|
||||||
params.put("recordCountPerPage", paginationInfo.getRecordCountPerPage());
|
params.put("recordCountPerPage", paginationInfo.getRecordCountPerPage());
|
||||||
|
|
||||||
List<?> resultList = masterService.selectInfoList(params);
|
String isFirst = request.getParameter("isFirst");
|
||||||
|
|
||||||
|
|
||||||
|
List<?> resultList = null;
|
||||||
|
int totalCnt = 0;
|
||||||
|
if( isFirst == null || !isFirst.toLowerCase().trim().equals("true") ) {
|
||||||
|
resultList = masterService.selectInfoList(params);
|
||||||
|
totalCnt = resultList.size() == 0 ? 0 : Integer.valueOf(((EgovMap) resultList.get(0)).get("totalrows").toString());
|
||||||
|
}
|
||||||
|
|
||||||
int totalCnt = resultList.size() == 0 ? 0 : Integer.valueOf(((EgovMap) resultList.get(0)).get("totalrows").toString());
|
|
||||||
paginationInfo.setTotalRecordCount(totalCnt);
|
paginationInfo.setTotalRecordCount(totalCnt);
|
||||||
|
|
||||||
model.addAttribute("params", params);
|
model.addAttribute("params", params);
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function downloadTableAsCSV(tableId) {
|
function downloadTableAsCSVUtf8(tableId) {
|
||||||
|
|
||||||
let filename = getCurrentTimeFormatted() + '_' + String(document.getElementById('home-visit-item-training-name').innerHTML).replace(/ /g, "_") + '.csv';
|
let filename = getCurrentTimeFormatted() + '_' + String(document.getElementById('home-visit-item-training-name').innerHTML).replace(/ /g, "_") + '.csv';
|
||||||
|
|
||||||
|
|
@ -127,8 +127,7 @@
|
||||||
for (var i = 0; i < rows.length; i++) {
|
for (var i = 0; i < rows.length; i++) {
|
||||||
var row = [], cols = rows[i].querySelectorAll("td, th");
|
var row = [], cols = rows[i].querySelectorAll("td, th");
|
||||||
|
|
||||||
for (var j =
|
for (var j = 0; j < cols.length; j++) {
|
||||||
0; j < cols.length; j++) {
|
|
||||||
// 특수 문자 처리 및 공백 제거
|
// 특수 문자 처리 및 공백 제거
|
||||||
var data = cols[j].innerText.replace(/(\r\n|\n|\r)/gm, "").replace(/(\s\s)/gm, " ");
|
var data = cols[j].innerText.replace(/(\r\n|\n|\r)/gm, "").replace(/(\s\s)/gm, " ");
|
||||||
data = data.replace(/"/g, '""'); // 큰따옴표 이스케이프
|
data = data.replace(/"/g, '""'); // 큰따옴표 이스케이프
|
||||||
|
|
@ -144,8 +143,7 @@
|
||||||
var link = document.createElement("a");
|
var link = document.createElement("a");
|
||||||
link.style.display = "none";
|
link.style.display = "none";
|
||||||
link.setAttribute("target", "_blank");
|
link.setAttribute("target", "_blank");
|
||||||
link.setAttribute("href", 'data:text/csv;charset=utf-8,' + encodeURIComponent(
|
link.setAttribute("href", 'data:text/csv;charset=utf-8,' + encodeURIComponent( csvString ));
|
||||||
csvString));
|
|
||||||
link.setAttribute("download", filename);
|
link.setAttribute("download", filename);
|
||||||
document.body.appendChild(link);
|
document.body.appendChild(link);
|
||||||
link.click();
|
link.click();
|
||||||
|
|
@ -153,6 +151,51 @@
|
||||||
.removeChild(link);
|
.removeChild(link);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function downloadTableAsCSVAscii(tableId) {
|
||||||
|
let filename = getCurrentTimeFormatted() + '_' + String(document.getElementById('home-visit-item-training-name').innerHTML).replace(/ /g, "_") + '.csv';
|
||||||
|
|
||||||
|
|
||||||
|
// 테이블 요소 가져오기
|
||||||
|
var table = document.getElementById(tableId);
|
||||||
|
|
||||||
|
// CSV 문자열 생성
|
||||||
|
var csv = [];
|
||||||
|
var rows = table.querySelectorAll("tr");
|
||||||
|
|
||||||
|
for (var i = 0; i < rows.length; i++) {
|
||||||
|
var row = [], cols = rows[i].querySelectorAll("td, th");
|
||||||
|
|
||||||
|
for (var j = 0; j < cols.length; j++) {
|
||||||
|
// 특수 문자 처리 및 공백 제거
|
||||||
|
var data = cols[j].innerText.replace(/(\r\n|\n|\r)/gm, "").replace(/(\s\s)/gm, " ");
|
||||||
|
data = data.replace(/"/g, '""'); // 큰따옴표 이스케이프
|
||||||
|
row.push('"' + data + '"');
|
||||||
|
}
|
||||||
|
|
||||||
|
csv.push(row.join(","));
|
||||||
|
}
|
||||||
|
|
||||||
|
var csvString = csv.join("\n");
|
||||||
|
|
||||||
|
var BOM = "\uFEFF";
|
||||||
|
var csvData = BOM + csvString;
|
||||||
|
var blob = new Blob([csvData], { type: "text/csv;charset=windows-1252" });
|
||||||
|
|
||||||
|
// CSV 파일 다운로드
|
||||||
|
var link = document.createElement("a");
|
||||||
|
link.style.display = "none";
|
||||||
|
link.setAttribute("target", "_blank");
|
||||||
|
link.setAttribute("href", window.URL.createObjectURL(blob) );
|
||||||
|
link.setAttribute("download", filename);
|
||||||
|
document.body.appendChild(link);
|
||||||
|
link.click();
|
||||||
|
document.body
|
||||||
|
.removeChild(link);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function onClickCourseItem(e) {
|
function onClickCourseItem(e) {
|
||||||
const wvtRegId = e.getAttribute('data-seq');
|
const wvtRegId = e.getAttribute('data-seq');
|
||||||
const trainingName = e.getAttribute('data-training-name');
|
const trainingName = e.getAttribute('data-training-name');
|
||||||
|
|
@ -199,7 +242,10 @@
|
||||||
|
|
||||||
homeVisitItemListHTML +=
|
homeVisitItemListHTML +=
|
||||||
`
|
`
|
||||||
<tr onClick="onClickCourseItem(this)" data-seq="` + data[idx].whtRegId +`" data-training-name="` + data[idx].trainingName +`" >
|
<tr onClick="onClickCourseItem(this)"
|
||||||
|
data-seq="` + data[idx].whtRegId +`" ` +
|
||||||
|
`data-training-name="` + trainingName + `" ` +
|
||||||
|
`>
|
||||||
<td>` + data[idx].reqName + `</td>
|
<td>` + data[idx].reqName + `</td>
|
||||||
<td>` + data[idx].companyName + `</td>
|
<td>` + data[idx].companyName + `</td>
|
||||||
<td>` + data[idx].reqDept + `</td>
|
<td>` + data[idx].reqDept + `</td>
|
||||||
|
|
@ -272,9 +318,26 @@
|
||||||
|
|
||||||
homeVisitListHTML +=
|
homeVisitListHTML +=
|
||||||
`
|
`
|
||||||
<tr onClick="onClickCourseItem(this)" data-seq="` + data[idx].whtRegId +`" data-training-name="` + data[idx].trainingName +`" >
|
<tr onClick="onClickCourseItem(this)" ` +
|
||||||
<td><input type="radio" name="wht-reg-id" value="` + data[idx].whtRegId +`" data-seq="` + data[idx].whtRegId +`" data-training-name="` + data[idx].trainingName +`"></td>
|
`data-seq="` + data[idx].whtRegId +`" ` +
|
||||||
<td>` + data[idx].whtRegId + `</td>
|
`data-training-name="` + data[idx].trainingName +`" ` +
|
||||||
|
`data-training-date-time="` + data[idx].trainingDatetime +`" ` +
|
||||||
|
`data-training-location="` + data[idx].trainingLocation +`" ` +
|
||||||
|
`data-reg-start-date="` + data[idx].regStartDate +`" ` +
|
||||||
|
`data-reg-end-date="` + data[idx].regEndDate +`" ` +
|
||||||
|
`data-attendance="` + data[idx].attendance +`" ` +
|
||||||
|
`data-state-code="` + data[idx].stateCode +`" ` +
|
||||||
|
`>
|
||||||
|
<td><input type="radio" name="wht-reg-id" value="` + data[idx].whtRegId +`" data-seq="` + data[idx].whtRegId + `" ` +
|
||||||
|
`data-training-name="` + data[idx].trainingName +`" ` +
|
||||||
|
`data-training-date-time="` + data[idx].trainingDatetime +`" ` +
|
||||||
|
`data-training-location="` + data[idx].trainingLocation +`" ` +
|
||||||
|
`data-reg-start-date="` + data[idx].regStartDate +`" ` +
|
||||||
|
`data-reg-end-date="` + data[idx].regEndDate +`" ` +
|
||||||
|
`data-attendance="` + data[idx].attendance +`" ` +
|
||||||
|
`data-state-code="` + data[idx].stateCode +`" ` +
|
||||||
|
`></td>
|
||||||
|
<td>` + aliveEducationsCount + `</td>
|
||||||
<td>` + data[idx].trainingName + `</td>
|
<td>` + data[idx].trainingName + `</td>
|
||||||
<td>` + formatUnixTimestamp(data[idx].trainingDatetime) + `</td>
|
<td>` + formatUnixTimestamp(data[idx].trainingDatetime) + `</td>
|
||||||
<td>` + data[idx].trainingLocation + `</td>
|
<td>` + data[idx].trainingLocation + `</td>
|
||||||
|
|
@ -431,13 +494,150 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
updateList();
|
updateList();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
function openModal(e) {
|
||||||
|
|
||||||
|
const whtRegIdEle = document.querySelector('input[name="wht-reg-id"]:checked');
|
||||||
|
|
||||||
|
if( typeof whtRegIdEle === 'undefined' ) {
|
||||||
|
alert('수정할 교육을 선택하십시오');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( whtRegIdEle == false ) {
|
||||||
|
alert('수정할 교육을 선택하십시오');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const wvtRegId = whtRegIdEle.getAttribute('data-seq');
|
||||||
|
const trainingName = whtRegIdEle.getAttribute('data-training-name');
|
||||||
|
const trainingDateTime = whtRegIdEle.getAttribute('data-training-date-time');
|
||||||
|
const trainingLocation = whtRegIdEle.getAttribute('data-training-location');
|
||||||
|
const regStartDate = whtRegIdEle.getAttribute('data-reg-start-date');
|
||||||
|
const regEndDate = whtRegIdEle.getAttribute('data-reg-end-date');
|
||||||
|
|
||||||
|
const modifyWvtRegIdEle = document.getElementById('modify-wvt-reg-id');
|
||||||
|
if( modifyWvtRegIdEle ) {
|
||||||
|
modifyWvtRegIdEle.value = wvtRegId;
|
||||||
|
}
|
||||||
|
const modifyTrainingNameEle = document.getElementById('modify-training-name');
|
||||||
|
if( modifyTrainingNameEle ) {
|
||||||
|
modifyTrainingNameEle.value = trainingName;
|
||||||
|
}
|
||||||
|
const modifyTrainingDatetimeEle = document.getElementById('modify-training-datetime');
|
||||||
|
if( modifyTrainingDatetimeEle ) {
|
||||||
|
const d = new Date(Number(trainingDateTime));
|
||||||
|
const dateTimeLocalValue = (new Date(d.getTime() - d.getTimezoneOffset() * 60000).toISOString()).slice(0, -1);
|
||||||
|
modifyTrainingDatetimeEle.value = dateTimeLocalValue;
|
||||||
|
}
|
||||||
|
const modifyTrainingLocationEle = document.getElementById('modify-training-location');
|
||||||
|
if( modifyTrainingLocationEle ) {
|
||||||
|
modifyTrainingLocationEle.value = trainingLocation;
|
||||||
|
}
|
||||||
|
const modifyRegStartDateEle = document.getElementById('modify-reg-start-date');
|
||||||
|
if( modifyRegStartDateEle ) {
|
||||||
|
const d = new Date(Number(regStartDate));
|
||||||
|
const dateTimeLocalValue = (new Date(d.getTime() - d.getTimezoneOffset() * 60000).toISOString()).slice(0, -14);
|
||||||
|
modifyRegStartDateEle.value = dateTimeLocalValue;
|
||||||
|
}
|
||||||
|
const modifyRegEndDateEle = document.getElementById('modify-reg-end-date');
|
||||||
|
if( modifyRegEndDateEle ) {
|
||||||
|
const d = new Date(Number(regEndDate));
|
||||||
|
const dateTimeLocalValue = (new Date(d.getTime() - d.getTimezoneOffset() * 60000).toISOString()).slice(0, -14);
|
||||||
|
modifyRegEndDateEle.value = dateTimeLocalValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const myModalEle = document.getElementById('my-modal');
|
||||||
|
|
||||||
|
myModalEle.style.display = "block";
|
||||||
|
|
||||||
|
|
||||||
|
// 모달 바깥 영역 클릭 시 모달 닫기
|
||||||
|
window.onclick = function(event) {
|
||||||
|
if (event.target == e) {
|
||||||
|
e.style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function closeMyModal(e) {
|
||||||
|
const myModalEle = document.getElementById('my-modal');
|
||||||
|
myModalEle.style.display = "none";
|
||||||
|
const modifyButtonEle = document.getElementById('modify-button');
|
||||||
|
modifyButtonEle.style.display = "inline-block";
|
||||||
|
}
|
||||||
|
|
||||||
|
function onClickModifyButton(e) {
|
||||||
|
var dataIndexValue;
|
||||||
|
|
||||||
|
var jsonData = new Array();
|
||||||
|
for (var i = 0; i < 1 ; i++) { // 여러 개를 한 번에 입력받는다면 입력받는 레코드만큼 loop를 순환하도록 수정되어야 한다.
|
||||||
|
var jsonItem = {};
|
||||||
|
//dataIndexValue = tableDataElements[i].getAttribute('data-index');
|
||||||
|
|
||||||
|
//wvtRegId
|
||||||
|
var wvtRegIdEle = document.getElementById('modify-wvt-reg-id');
|
||||||
|
if (wvtRegIdEle) {
|
||||||
|
jsonItem.wvtRegId = wvtRegIdEle.value;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 집합교육명
|
||||||
|
var trainingNameEle = document.getElementById('modify-training-name');
|
||||||
|
if (trainingNameEle) {
|
||||||
|
jsonItem.trainingName = trainingNameEle.value;
|
||||||
|
}
|
||||||
|
// 교육일시
|
||||||
|
var trainingDatetimeEle = document.getElementById('modify-training-datetime');
|
||||||
|
if (trainingDatetimeEle) {
|
||||||
|
jsonItem.trainingDatetime = trainingDatetimeEle.value;
|
||||||
|
}
|
||||||
|
// 교육장소
|
||||||
|
var trainingLocationEle = document.getElementById('modify-training-location');
|
||||||
|
if (trainingLocationEle) {
|
||||||
|
jsonItem.trainingLocation = trainingLocationEle.value;
|
||||||
|
}
|
||||||
|
// 접수기간 - 시작
|
||||||
|
var regStartDateEle = document.getElementById('modify-reg-start-date');
|
||||||
|
if (regStartDateEle) {
|
||||||
|
jsonItem.regStartDate = regStartDateEle.value;
|
||||||
|
}
|
||||||
|
// 접수기간 - 종료
|
||||||
|
var regEndDateEle = document.getElementById('modify-reg-end-date');
|
||||||
|
if (regEndDateEle) {
|
||||||
|
jsonItem.regEndDate = regEndDateEle.value;
|
||||||
|
}
|
||||||
|
jsonData.push(jsonItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('%o', jsonData);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
xhr.open('POST', 'home-training-index/update.do', true);
|
||||||
|
xhr.setRequestHeader('Content-type', 'application/json');
|
||||||
|
|
||||||
|
xhr.onreadystatechange = function() {
|
||||||
|
if (xhr.readyState === 4 && xhr.status === 200) {
|
||||||
|
// 요청 성공 시 처리
|
||||||
|
console.log(xhr.responseText);
|
||||||
|
const obj = JSON.parse(xhr.responseText);
|
||||||
|
closeMyModal(null);
|
||||||
|
updateList();
|
||||||
|
alert(obj.message);
|
||||||
|
} else if (xhr.readyState === 4) {
|
||||||
|
// 요청 실패 시 처리
|
||||||
|
console.error('요청 실패:', xhr.status);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
xhr.send(JSON.stringify(jsonData));
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|
@ -445,7 +645,7 @@
|
||||||
<h1>집합교육</h1>
|
<h1>집합교육</h1>
|
||||||
<div class="home-trainning">
|
<div class="home-trainning">
|
||||||
<div class="contentBtn">
|
<div class="contentBtn">
|
||||||
<button class="modify" onClick="alert('기능 준비중');">수정</button>
|
<button id="modify-button" class="modify" onClick="openModal(this);">수정</button>
|
||||||
<button class="delete" onClick="onClickDeleteCourseItem(this);">삭제</button>
|
<button class="delete" onClick="onClickDeleteCourseItem(this);">삭제</button>
|
||||||
</div>
|
</div>
|
||||||
<table class="Table_Main course-list-table table-contents" id="course-list-table">
|
<table class="Table_Main course-list-table table-contents" id="course-list-table">
|
||||||
|
|
@ -508,7 +708,7 @@
|
||||||
<div class="home-visit-item" id="home-visit-item">
|
<div class="home-visit-item" id="home-visit-item">
|
||||||
<h2 class="DateTitle">교육 대상자 명단</h2>
|
<h2 class="DateTitle">교육 대상자 명단</h2>
|
||||||
<span class="DateText">⁕ 신청 집합교육명 : <span id="home-visit-item-training-name" class="home-visit-item-training-name"></span>
|
<span class="DateText">⁕ 신청 집합교육명 : <span id="home-visit-item-training-name" class="home-visit-item-training-name"></span>
|
||||||
<button onClick="downloadTableAsCSV('home-visit-item-table')" id="export-list-of-participants-attending-the-education" class="export-list-of-participants-attending-the-education" style="float: right; margin-bottom: 10px;">교육 대상자 명단 내보내기</button>
|
<button onClick="downloadTableAsCSVAscii('home-visit-item-table')" id="export-list-of-participants-attending-the-education" class="export-list-of-participants-attending-the-education" style="float: right; margin-bottom: 10px;">교육 대상자 명단 내보내기</button>
|
||||||
</span>
|
</span>
|
||||||
<table class="Table_Main table-contents" id="home-visit-item-table">
|
<table class="Table_Main table-contents" id="home-visit-item-table">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
|
|
@ -535,6 +735,37 @@
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="my-modal" class="my-modal">
|
||||||
|
<div id="my-modal-box" class="modal-box">
|
||||||
|
<div class="modal-content">
|
||||||
|
<span id="my-modal-close" class="my-modal-close" onClick="closeMyModal(this);">×</span>
|
||||||
|
<div class="my-modal-modify-home-training-header">
|
||||||
|
교육 내용 수정
|
||||||
|
</div>
|
||||||
|
<div class="my-modal-modify-home-training-body">
|
||||||
|
<div class="input-item">
|
||||||
|
<input type="hidden" id="modify-wvt-reg-id" />
|
||||||
|
<label>집합교육명</label> <input type="text" id="modify-training-name" />
|
||||||
|
</div>
|
||||||
|
<div class="input-item">
|
||||||
|
<label>교육일시</label> <input type="datetime-local" id="modify-training-datetime" placeholder="">
|
||||||
|
</div>
|
||||||
|
<div class="input-item">
|
||||||
|
<label>교육장소</label> <input type="text" id="modify-training-location" />
|
||||||
|
</div>
|
||||||
|
<div class="input-item">
|
||||||
|
<label>접수기간</label>
|
||||||
|
<input type="date" id="modify-reg-start-date" class="modify-reg-start-end-date" placeholder="">
|
||||||
|
~
|
||||||
|
<input type="date" id="modify-reg-end-date" class="modify-reg-start-end-date" placeholder="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="my-modal-modify-home-training-footer">
|
||||||
|
<button onClick="onClickModifyButton(this);" id="my-modal-modify-button" class="my-modal-modify-button" >수정</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -0,0 +1,132 @@
|
||||||
|
<%@ 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>
|
||||||
|
<title>사용자정보 상세보기</title>
|
||||||
|
<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>
|
||||||
|
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
<!--
|
||||||
|
body
|
||||||
|
{
|
||||||
|
margin-left:0;
|
||||||
|
margin-top:0;
|
||||||
|
margin-right:0;
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
var context = "${pageContext.request.contextPath}";
|
||||||
|
|
||||||
|
function adminPassChange(userId){
|
||||||
|
var passChange = window.open('${pageContext.request.contextPath}/admins/user/passChange.do?userId='+userId,"passChange",'scrollbars=no,width=300,height=150,left=500,top=200', true);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<%-- <table id="Table_Main" width="100%" height=240 border=0 cellpadding=0 cellspacing=0 background="${pageContext.request.contextPath}/images/admins/user/user_detail_back.gif"> --%>
|
||||||
|
<table id="Table_Main" width="100%" height=240 border=0 cellpadding=0 cellspacing=0 background="">
|
||||||
|
<tr>
|
||||||
|
<td width=21 rowspan=4> </td>
|
||||||
|
<td height=39><img src="${pageContext.request.contextPath}/images/admins/user/user_detail_title.gif"></td>
|
||||||
|
<td width=12 rowspan=4> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td valign=top>
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1 bgcolor="#CACACA">
|
||||||
|
<tr height=25 bgcolor="#F5F5F5" align=center class="list_head2">
|
||||||
|
<td width=15%>아이디</td>
|
||||||
|
<td width=20%>이름</td>
|
||||||
|
<td width=20%>전화번호</td>
|
||||||
|
<td >이메일</td>
|
||||||
|
</tr>
|
||||||
|
<tr height=25 bgcolor="#FFFFFF" align=center class="list_content">
|
||||||
|
<td><c:out value="${result.userid}" /></td>
|
||||||
|
<td><c:out value="${result.userName}" /></td>
|
||||||
|
<td><c:out value="${result.phone}" /></td>
|
||||||
|
<td><c:out value="${result.email}" /></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1 bgcolor="#CACACA">
|
||||||
|
<tr height=25 bgcolor="#F5F5F5" align=center class="list_head2">
|
||||||
|
<td width=15%>업종</td>
|
||||||
|
<td width=20%>회사명</td>
|
||||||
|
<td width=20%>부서</td>
|
||||||
|
<td>주소</td>
|
||||||
|
</tr>
|
||||||
|
<tr height=25 bgcolor="#FFFFFF" align=center class="list_content">
|
||||||
|
<td><c:out value="${result.upjong}" /></td>
|
||||||
|
<td><c:out value="${result.companyName}" /></td>
|
||||||
|
<td><c:out value="${result.partName}" /></td>
|
||||||
|
<td><c:out value="${result.zipCode}" /> <c:out value="${result.address}" /></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1 bgcolor="#CACACA">
|
||||||
|
<tr height=25 align="center">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${result.cls eq '3' && result.agreeyn eq 'N'}">
|
||||||
|
<td width=15% bgcolor="#F5F5F5" class="list_head2">사업자등록번호</td>
|
||||||
|
<td width=20% bgcolor="#FFFFFF" class="list_content"> <c:out value="${result.companyregistno}" /></td>
|
||||||
|
<td width=20% bgcolor="#F5F5F5" class="list_head2">가입 요청일</td>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<td width=15% bgcolor="#F5F5F5" class="list_head2">사업자등록번호</td>
|
||||||
|
<td width=20% bgcolor="#FFFFFF" class="list_content"> <c:out value="${result.companyregistno}" /></td>
|
||||||
|
<td width=20% bgcolor="#F5F5F5" class="list_head2">가입일</td>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
<td bgcolor="#FFFFFF" class="list_content"> <c:out value="${result.datetime}" /></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1 bgcolor="#CACACA">
|
||||||
|
<tr height=25 align="center">
|
||||||
|
<td width=15% bgcolor="#F5F5F5" class="list_head2">승인여부</td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${result.agreeyn eq 'N'}">
|
||||||
|
<td width=15% bgcolor="#FFFFFF" class="list_content"> <img src="${pageContext.request.contextPath}/images/admins/cus_bnt_ok.gif" onClick="javascript:agree_user_yn('${result.userid}','Y','${result.cls}')" style="cursor:hand"></td>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<td width=15% bgcolor="#FFFFFF" class="list_content"> <c:out value="이용가능" /></td>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${result.cls eq 0}">
|
||||||
|
<td colspan="4" bgcolor="#F5F5F5" class="list_head2">개인회원에서 기업회원으로 변경</td>
|
||||||
|
<td bgcolor="#FFFFFF" class="list_content"> <img src="${pageContext.request.contextPath}/images/admins/cus_bnt_modify.gif" onClick="javascript:agree_user_yn('${result.userid}','Y','1')" style="cursor:hand"></td>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<td colspan="4" bgcolor="#F5F5F5" class="list_head2">기업회원에서 개인회원으로 변경</td>
|
||||||
|
<td bgcolor="#FFFFFF" class="list_content"> <img src="${pageContext.request.contextPath}/images/admins/cus_bnt_modify.gif" onClick="javascript:agree_user_yn('${result.userid}','Y','0')" style="cursor:hand"></td>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1>
|
||||||
|
<tr height=25 align=center class="list_head2">
|
||||||
|
</tr>
|
||||||
|
<tr height=25 align=center class="list_content">
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td valign=top align="center"><img src="${pageContext.request.contextPath}/images/admins/cus_bnt_delet.gif" style="cursor:hand" onClick="javascript:user_del('${result.userid}','${result.cls}');">
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/cus_bnt_cancel.gif" style="cursor:hand" onClick="javascript:window.close();">
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/cus_bnt_passCh.gif" onClick="adminPassChange('${result.userid}')" style="cursor:hand">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr height=10><td> </td></tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,126 @@
|
||||||
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||||
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||||
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||||
|
<%@ 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>
|
||||||
|
<title>사용자정보 상세보기</title>
|
||||||
|
<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/passChange.js"></script>
|
||||||
|
<script src="${pageContext.request.contextPath}/js/admins/user.js"></script>
|
||||||
|
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
<!--
|
||||||
|
body
|
||||||
|
{
|
||||||
|
margin-left:0;
|
||||||
|
margin-top:0;
|
||||||
|
margin-right:0;
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
var context = "${pageContext.request.contextPath}";
|
||||||
|
|
||||||
|
/* function adminPassChange(userId){
|
||||||
|
var passChange = window.open('${pageContext.request.contextPath}/admins/user/passChange.do?userId='+userId,"passChange",'scrollbars=no,width=300,height=150,left=500,top=200', true);
|
||||||
|
} */
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<%-- <table id="Table_Main" width="100%" height=240 border=0 cellpadding=0 cellspacing=0 background="${pageContext.request.contextPath}/images/admins/user/user_detail_back.gif"> --%>
|
||||||
|
<table id="Table_Main" width="100%" height=240 border=0 cellpadding=0 cellspacing=0 background="">
|
||||||
|
<tr>
|
||||||
|
<td width=21 rowspan=4> </td>
|
||||||
|
<td height=39><img src="${pageContext.request.contextPath}/images/admins/user/user_detail_title.gif"></td>
|
||||||
|
<td width=12 rowspan=4> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td valign=top>
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1 bgcolor="#CACACA">
|
||||||
|
<tr height=25 bgcolor="#F5F5F5" align=center class="list_head2">
|
||||||
|
<td width=25%>아이디</td>
|
||||||
|
<td width=25%>이름</td>
|
||||||
|
<td width=25%>전화번호</td>
|
||||||
|
<td >이메일</td>
|
||||||
|
</tr>
|
||||||
|
<tr height=25 bgcolor="#FFFFFF" align=center class="list_content">
|
||||||
|
<c:set var="setPrephoneno" value="${result.prephoneno}" />
|
||||||
|
<td><c:out value="${result.userid}" /></td>
|
||||||
|
<td><c:out value="${result.preusername}" /> --> <c:out value="${result.username}" /></td>
|
||||||
|
<td>${result.prephoneno} --> <c:out value="${result.phoneno}" /></td>
|
||||||
|
<td><c:out value="${result.preemail}" /> --> <c:out value="${result.email}" /></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1 bgcolor="#CACACA">
|
||||||
|
<tr height=25 bgcolor="#F5F5F5" align=center class="list_head2">
|
||||||
|
<td width=25%>직업</td>
|
||||||
|
<td width=25%>회사명</td>
|
||||||
|
<td width=25%>부서</td>
|
||||||
|
<td>주소</td>
|
||||||
|
</tr>
|
||||||
|
<tr height=25 bgcolor="#FFFFFF" align=center class="list_content">
|
||||||
|
<td><c:out value="${result.upjong}" /></td>
|
||||||
|
<td><c:out value="${result.companyName}" /></td>
|
||||||
|
<td><c:out value="${result.partName}" /></td>
|
||||||
|
<td><%-- <c:out value="${result.zipCode}" /> --%><c:out value="${result.address}" /></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1>
|
||||||
|
<tr height=25 align=center class="list_head2">
|
||||||
|
</tr>
|
||||||
|
<tr height=25 align=center class="list_content">
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="text-align: center;">
|
||||||
|
<img src="http://localhost/files/web/pwIni/${result.filename}" class="file-preview-img" style="width: 350px;">
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td valign=top align="center">
|
||||||
|
<c:if test="${result.accept == '0'}">
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/btn_pass_ini.gif" onClick="javascript:adminPassChange('${result.userid}','${requestdate}','${result.phoneno}');" style="cursor:hand">
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/btn_return.gif" onClick="javascript:passReturn('${result.userid}','${requestdate}');" style="cursor:hand">
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/cus_bnt_cancel.gif" style="cursor:hand" onClick="javascript:window.close();">
|
||||||
|
</c:if>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr height=10><td> </td></tr>
|
||||||
|
</table>
|
||||||
|
<form name="frmSend" method="post" action="/whoisSms.do">
|
||||||
|
<div style="background-color:#f9f9f9; border:1px solid #cfcfd1; display: none;" id="smsMsg">
|
||||||
|
<div class="pop_title" style="border-bottom:1px solid #dddddd;">문자메시지</div>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="120" align="center">메시지</td>
|
||||||
|
<td width="86%">
|
||||||
|
<div class="pop_contents">
|
||||||
|
<textarea name="sms_msg" id="sms_msg" rows="5" style="width:96%;">[한국건설기술연구원]${result.userid}에 대한 비밀번호 초기화 요청은 반려되었습니다</textarea>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="120" align="center">받는 사람 번호</td>
|
||||||
|
<td width="86%"><div class="pop_contents"><input name="sms_to" id="sms_to"value="${result.changephone}"></div></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<div style="text-align:center;margin-bottom:10px;"><a href="#" onClick="fn_sendMesSubmit('${result.userid}','${requestdate}');"><input type="button" class="btn" value="전송" /></a></div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,183 @@
|
||||||
|
<%@ 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/01.do").submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* function excelDownload(){
|
||||||
|
$("#searchForm").attr("action", "${pageContext.request.contextPath}/admins/user/01_excel.do").submit();
|
||||||
|
$("#searchForm").attr("action", "${pageContext.request.contextPath}/admins/user/01.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_02.gif"></td></tr>
|
||||||
|
<tr height=20 colspan=2><td> </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" >
|
||||||
|
</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>
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<!-- END : 네비게이션 ---------------------------------------------------------------------------->
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -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> </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>
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
<%@ 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>
|
||||||
|
<title></title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<table id="Table_Main" width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||||
|
<tr><td colspan=2><img src="${pageContext.request.contextPath}/images/admins/userLog/2_toptit_03.gif"></td></tr>
|
||||||
|
<tr height=20><td colspan=2> </td></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>
|
||||||
|
<table id="Table_List" width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#C9C9C9">
|
||||||
|
<tr height=28 bgcolor="#F5F5F5" class="list_head" align="center">
|
||||||
|
<td width="50%">사용자 그룹</td>
|
||||||
|
<td width="50%">등 록 수</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<!-- REPEAT TABLE-->
|
||||||
|
<c:forEach items="${resultList}" var="resultList" varStatus="status">
|
||||||
|
<tr height=28 bgcolor="#FFFFFF" class="list_content" align="center">
|
||||||
|
<td>${resultList.name}</td>
|
||||||
|
<td>${resultList.cnt}</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<!-- END OF REPEAT TABLE-->
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,98 @@
|
||||||
|
<%@ 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>
|
||||||
|
<title></title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
||||||
|
<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>
|
||||||
|
var context = "${pageContext.request.contextPath}";
|
||||||
|
|
||||||
|
function fn_delUser(userid,region,regionSgg){
|
||||||
|
// 선택 된 아이디를 삭제
|
||||||
|
if( confirm( userid + '를 삭제할까요?') ){
|
||||||
|
$.ajax({
|
||||||
|
type : "POST",
|
||||||
|
url : "05_delUser.json",
|
||||||
|
data : {
|
||||||
|
userid : userid,
|
||||||
|
region : region,
|
||||||
|
regionSgg : regionSgg
|
||||||
|
},
|
||||||
|
dataType : "json",
|
||||||
|
success : function( json ){
|
||||||
|
resultData = json.RESULT_KEY;
|
||||||
|
if( resultData == "Success" ) {
|
||||||
|
alert("정상적으로 삭제 되었습니다.");
|
||||||
|
//opener.linkPage(1);
|
||||||
|
//window.close();
|
||||||
|
window.location.reload();
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
alert(xhr.status); // 오류 코드
|
||||||
|
alert(error); // 오류 내용
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error : function( xhr, option, error ) {
|
||||||
|
alert(xhr.status); // 오류 코드
|
||||||
|
alert(error); // 오류 내용
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
alert("추가 중에 오류가 발생하였습니다. 다시 시도해주세요");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<table id="Table_Main" width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||||
|
<tr><td colspan=2><img src="${pageContext.request.contextPath}/images/admins/userLog/2_toptit_09.gif"></td></tr>
|
||||||
|
<tr height=20><td colspan=2> </td></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>
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1 bgcolor="#FFFFFF">
|
||||||
|
<tr height=25 align="right">
|
||||||
|
<td width=15% bgcolor="#FFFFFF" class="list_head2"><img src="${pageContext.request.contextPath}/images/admins/btn_add.gif" onClick="javascript:openAddUser()" style="cursor:hand"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table id="Table_List" width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#C9C9C9">
|
||||||
|
<tr height=28 bgcolor="#F5F5F5" class="list_head" align="center">
|
||||||
|
<td width="10%">아이디</td>
|
||||||
|
<td width="10%">이름</td>
|
||||||
|
<td width="10%">회사</td>
|
||||||
|
<td width="15%">연락처</td>
|
||||||
|
<td width="10%">지역(시,도)</td>
|
||||||
|
<td width="15%">지역(시,군,구)</td>
|
||||||
|
<td width="20%">권한날짜</td>
|
||||||
|
<td width="10%">삭제</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<!-- REPEAT TABLE-->
|
||||||
|
<c:forEach items="${resultList}" var="resultList" varStatus="status">
|
||||||
|
<tr height=28 bgcolor="#FFFFFF" class="list_content" align="center">
|
||||||
|
<td>${resultList.userid}</td>
|
||||||
|
<td>${resultList.userName}</td>
|
||||||
|
<td>${resultList.companyName}</td>
|
||||||
|
<td>${resultList.phone}</td>
|
||||||
|
<td>${resultList.regionName}</td>
|
||||||
|
<td>${resultList.regionSggName}</td>
|
||||||
|
<td>${resultList.startDate} ~ ${resultList.endDate}</td>
|
||||||
|
<td><img src="${pageContext.request.contextPath}/images/admins/cus_bnt_delet.gif" onClick="javascript:fn_delUser('${resultList.userid}','${resultList.region}','${resultList.regionSgg}')" style="cursor:hand"> </td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<!-- END OF REPEAT TABLE-->
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,308 @@
|
||||||
|
<%@ 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>
|
||||||
|
<title>사용자 추가</title>
|
||||||
|
<meta http-equiv="Context-Type" content="text/html; charset=utf-8">
|
||||||
|
|
||||||
|
<script src ="${pageContext.request.contextPath}/js/jquery/jquery.min.js"></script>
|
||||||
|
<!--<script src ="${pageContext.request.contextPath}/js/jquery/jquery-1.10.2.min.js"></script> -->
|
||||||
|
<script src ="${pageContext.request.contextPath}/js/admins/user.js"></script>
|
||||||
|
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
<!--
|
||||||
|
body
|
||||||
|
{
|
||||||
|
margin-left:0;
|
||||||
|
margin-top:0;
|
||||||
|
margin-right:0;
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
<script type="text/javaScript" >
|
||||||
|
|
||||||
|
var context = "${pageContext.request.contextPath}";
|
||||||
|
|
||||||
|
function fn_onSelChangeRegion(){
|
||||||
|
// 시도 선택에 따른 시,군,구 리스트 갱신
|
||||||
|
var selectedIdx = document.getElementById("SEARCH_REGION").selectedIndex;
|
||||||
|
|
||||||
|
if( selectedIdx > 0 ) {
|
||||||
|
fn_onSelChangeRegionSgg(selectedIdx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearSgg(){
|
||||||
|
document.getElementById("SEARCH_REGION_SGG").options.length=1;
|
||||||
|
document.getElementById("SEARCH_REGION_SGG").options[0] = new Option('-', '');
|
||||||
|
|
||||||
|
|
||||||
|
//for( var i = document.getElementById("SEARCH_REGION_SGG").options.lenght-1; i > 0; i--)
|
||||||
|
//{
|
||||||
|
// document.getElementById("SEARCH_REGION_SGG").options[i]=null;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_onSelChangeRegionSgg(selectedIdx){
|
||||||
|
var code = document.getElementById("SEARCH_REGION").options[selectedIdx].value;
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type : "POST",
|
||||||
|
url : "05_getLocCodeSgg.json",
|
||||||
|
data : { code : code },
|
||||||
|
dataType : "json",
|
||||||
|
success:function(json){
|
||||||
|
resultData = json.RESULT_KEY;
|
||||||
|
if( resultData == "Success" ) {
|
||||||
|
// 리스트 삭제 / 갱신
|
||||||
|
clearSgg();
|
||||||
|
|
||||||
|
// 시, 군, 구 리스트 갱신
|
||||||
|
for (var i = 0; i < json.locationSgg.length; i++) {
|
||||||
|
document.getElementById("SEARCH_REGION_SGG").options[i+1] = new Option(json.locationSgg[i].name, json.locationSgg[i].code);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//alert(xhr.status); // 오류 코드
|
||||||
|
//alert(error); // 오류 내용
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error : function( xhr, option, error ) {
|
||||||
|
alert(xhr.status); // 오류 코드
|
||||||
|
alert(error); // 오류 내용
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_onInsertUser(){
|
||||||
|
var userid = document.getElementById("SEARCH_USERID").value;
|
||||||
|
var userName = document.getElementById("SEARCH_USER_NAME").value;
|
||||||
|
var companyName = document.getElementById("SEARCH_COMPANY_NAME").value;
|
||||||
|
var phone = document.getElementById("SEARCH_PHONE").value;
|
||||||
|
var region = document.getElementById("SEARCH_REGION").value;
|
||||||
|
var regionSgg = document.getElementById("SEARCH_REGION_SGG").value;
|
||||||
|
|
||||||
|
//var regionName = document.getElementById("SEARCH_REGION").text;
|
||||||
|
var index = document.getElementById("SEARCH_REGION").selectedIndex;
|
||||||
|
var regionName = document.getElementById("SEARCH_REGION").options[index].text;
|
||||||
|
|
||||||
|
var indexSgg = document.getElementById("SEARCH_REGION_SGG").selectedIndex;
|
||||||
|
var regionSggName = document.getElementById("SEARCH_REGION_SGG").options[indexSgg].text;
|
||||||
|
|
||||||
|
var startDate = document.getElementById("startDate").value;
|
||||||
|
var endDate = document.getElementById("endDate").value;
|
||||||
|
|
||||||
|
// 예외처리
|
||||||
|
if( confirm( userid + '를 추가할까요?') ){
|
||||||
|
$.ajax({
|
||||||
|
type : "POST",
|
||||||
|
url : "05_insertUser.json",
|
||||||
|
data : {
|
||||||
|
userid : userid,
|
||||||
|
userName : userName,
|
||||||
|
companyName : companyName,
|
||||||
|
phone : phone,
|
||||||
|
region : region,
|
||||||
|
regionName : regionName,
|
||||||
|
regionSgg : regionSgg,
|
||||||
|
regionSggName : regionSggName,
|
||||||
|
startDate : startDate,
|
||||||
|
endDate : endDate },
|
||||||
|
dataType : "json",
|
||||||
|
success : function( json ){
|
||||||
|
resultData = json.RESULT_KEY;
|
||||||
|
if( resultData == "Success" ) {
|
||||||
|
alert("정상적으로 추가가 되었습니다.");
|
||||||
|
//opener.linkPage(1);
|
||||||
|
window.close();
|
||||||
|
window.opener.location.reload();
|
||||||
|
} else if( resultData == "Exist" ) {
|
||||||
|
alert("설정 된 지역이 존재합니다. 1개의 지역만 설정 가능합니다.");
|
||||||
|
//opener.linkPage(1);
|
||||||
|
window.close();
|
||||||
|
window.opener.location.reload();
|
||||||
|
} else {
|
||||||
|
//alert(xhr.status); // 오류 코드
|
||||||
|
alert(error); // 오류 내용
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error : function( xhr, option, error ) {
|
||||||
|
alert(xhr.status); // 오류 코드
|
||||||
|
alert(error); // 오류 내용
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
alert("추가 중에 오류가 발생하였습니다. 다시 시도해주세요");
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//function addUser(userId,userName,companyName,phone,region){
|
||||||
|
// var result = window.open('${pageContext.request.contextPath}/admins/user/passChange.do?userId=
|
||||||
|
//}
|
||||||
|
|
||||||
|
// 사용자 추가
|
||||||
|
function fn_onUserInfoEvent(){
|
||||||
|
// 사용자 정보 입력
|
||||||
|
// 입력 된 사용자 아이디를 얻어온다.
|
||||||
|
//var str = ${ SEARCH_USER };
|
||||||
|
var str = document.getElementById("SEARCH_USER").value;
|
||||||
|
if( str == "" ) {
|
||||||
|
alert("입력 된 내용이 없습니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$.ajax({
|
||||||
|
type : "POST",
|
||||||
|
data : { userid : str },
|
||||||
|
url : "getUserInfo.json",
|
||||||
|
async : false,
|
||||||
|
dataType : "json",
|
||||||
|
success : function( json ) {
|
||||||
|
resultData = json.RESULT_KEY;
|
||||||
|
if( resultData == "Success" ) {
|
||||||
|
document.getElementById("SEARCH_USERID").value = json.userid;
|
||||||
|
document.getElementById("SEARCH_USER_NAME").value = json.userName;
|
||||||
|
document.getElementById("SEARCH_COMPANY_NAME").value = json.companyName;
|
||||||
|
document.getElementById("SEARCH_PHONE").value = json.phone;
|
||||||
|
document.getElementById("SEARCH_REGION").value = json.phone;
|
||||||
|
|
||||||
|
//$("#SEARCH_USER").val(json.userId);
|
||||||
|
//$("#SEARCH_USER_NAME").val(json.userName);
|
||||||
|
//$("#SEARCH_COMPANY_NAME ").val(json.companyName);
|
||||||
|
//$("#SEARCH_PHONE").val(json.phone);
|
||||||
|
// 날짜
|
||||||
|
var today = new Date();
|
||||||
|
var year = (today.getYear() + 1900).toString();
|
||||||
|
var month = (today.getMonth() +1).toString();
|
||||||
|
if( (today.getMonth() +1) < 10 )
|
||||||
|
month = '0' + month;
|
||||||
|
|
||||||
|
var day = (today.getDate()).toString();
|
||||||
|
if( (today.getDate()) < 10 )
|
||||||
|
day = '0' + day;
|
||||||
|
|
||||||
|
var date = year + month + day;
|
||||||
|
document.getElementById("startDate").value = date;
|
||||||
|
document.getElementById("endDate").value = date;
|
||||||
|
} else {
|
||||||
|
alert("확인 된 사용자가 없습니다. 확인 후 다시 입력 바랍니다. ");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error : function( xhr, option, error ) {
|
||||||
|
alert(xhr.status); // 오류 코드
|
||||||
|
alert(error); // 오류 내용
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//달력팝업
|
||||||
|
function fn_CalPopupDiv1(id, calId, divId) {
|
||||||
|
var cal = $("#" + calId);
|
||||||
|
var calPosition = cal.position();
|
||||||
|
$.ajax({
|
||||||
|
type : 'post',
|
||||||
|
url : '${pageContext.request.contextPath}/web/popup/calender.do',
|
||||||
|
async : false,
|
||||||
|
data : { id : id },
|
||||||
|
error : function(xhr, status) {
|
||||||
|
alert('Unknown error ' + status);
|
||||||
|
},
|
||||||
|
success : function(data) {
|
||||||
|
$("#" + divId).css({
|
||||||
|
'top' : calPosition.top - 30,
|
||||||
|
'left' : calPosition.left + 20
|
||||||
|
});
|
||||||
|
$("#" + divId).removeClass("trViewOff");
|
||||||
|
$("#" + divId).html(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>Insert title here</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
|
||||||
|
<%-- <table id="Table_Main" width="100%" height=240 border=0 cellpadding=0 cellspacing=0 background="${pageContext.request.contextPath}/images/admins/user/user_detail_back.gif"> --%>
|
||||||
|
<table id="Table_Main" width="100%" height=240 border=0 cellpadding=0 cellspacing=0 background="">
|
||||||
|
<tr>
|
||||||
|
<td width=21 rowspan=4> </td>
|
||||||
|
<td height=39><img src="${pageContext.request.contextPath}/images/admins/user/user_detail_title.gif"></td>
|
||||||
|
<td width=12 rowspan=4> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td valign=top>
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=0 bgcolor="#CACACA">
|
||||||
|
<tr height=25 align="right">
|
||||||
|
|
||||||
|
<td bgcolor="#FFFFFF" class="list_content" valign=middle>
|
||||||
|
추가 아이디 :
|
||||||
|
<input id = "SEARCH_USER" name = "SEARCH_USER" onChange="fn_onSearchChangeEvent()" type="text" style="width: 25%;" maxlength="25%" />
|
||||||
|
<a href="#" onClick="fn_onUserInfoEvent()"><img src="/images/join/btn_search.gif" alt="추가" /></a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1 bgcolor="#CACACA">
|
||||||
|
<tr height=25 bgcolor="#F5F5F5" align=center class="list_head2">
|
||||||
|
<td width=25%>아이디</td>
|
||||||
|
<td width=25%>이름</td>
|
||||||
|
<td width=25%>회사</td>
|
||||||
|
<td width=25%>연락처</td>
|
||||||
|
</tr>
|
||||||
|
<tr height=25 bgcolor="#FFFFFF" align=center class="list_content">
|
||||||
|
<td border=0><input type="text" id="SEARCH_USERID" name = "SEARCH_USERID" class="readonly" readonly="readonly" style="width: 90%;" ></td>
|
||||||
|
<td><input type="text" id="SEARCH_USER_NAME" name = "SEARCH_USER_NAME" class="readonly" readonly="readonly" style="width: 90%;"></td>
|
||||||
|
<td><input type="text" id="SEARCH_COMPANY_NAME" name = "SEARCH_COMPANY_NAME" class="readonly" readonly="readonly" style="width: 90%;"></td>
|
||||||
|
<td><input type="text" id="SEARCH_PHONE" name = "SEARCH_PHONE" class="readonly" readonly="readonly" style="width: 90%;"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1 bgcolor="#CACACA">
|
||||||
|
<tr height=25 bgcolor="#F5F5F5" align=center class="list_head2">
|
||||||
|
<td width=25%>시작일</td>
|
||||||
|
<td width=25%>종료일</td>
|
||||||
|
<td width=25%>지역선택(시,도)</td>
|
||||||
|
<td width=25%>지역선택(시,군,구)</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
<tr height=25 bgcolor="#FFFFFF" align=center class="list_content">
|
||||||
|
<td><input id="startDate" name="startDate" type="text" value="" style="width: 75%;" maxlength="8" onKeyPress="submitEvent()" />
|
||||||
|
<a href="#" onclick="fn_CalPopupDiv1('startDate','fromCalImg','calenderDiv');return false;"><img src="${pageContext.request.contextPath}/images/web/icon_calendar.png" id="fromCalImg" style="margin-top: -5px;" /></a></td>
|
||||||
|
<td><input id="endDate" name="endDate" type="text" value="" style="width: 75%;" maxlength="8" onKeyPress="submitEvent()" />
|
||||||
|
<a href="#" onclick="fn_CalPopupDiv1('endDate','toCalImg','calenderDiv');return false;"><img src="${pageContext.request.contextPath}/images/web/icon_calendar.png" id="toCalImg" style="margin-top: -5px;" /></a></td>
|
||||||
|
<td >
|
||||||
|
<select name="SEARCH_REGION" id = "SEARCH_REGION" style="width: 90%;" onChange="fn_onSelChangeRegion()" class="selectbox">
|
||||||
|
<option value="0">-</option>
|
||||||
|
<c:forEach var = "item" items="${result.location}">
|
||||||
|
<option value="${item.code}">${item.name}</option>
|
||||||
|
</c:forEach>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
<td >
|
||||||
|
<select name="SEARCH_REGION_SGG" id = "SEARCH_REGION_SGG" style="width: 90%;" onChange="fn_onSelChangeRegionSgg()" class="selectbox">
|
||||||
|
<option value="0">-</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td valign=top align="center">
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/cus_bnt_save.gif" style="cursor:hand" onClick="javascript:fn_onInsertUser();">
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/cus_bnt_cancel.gif" style="cursor:hand" onClick="javascript:window.close();">
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr height=10><td> </td></tr>
|
||||||
|
</table>
|
||||||
|
<div id="calenderDiv" class="trViewOff" style="position: absolute;"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,125 @@
|
||||||
|
<%@ 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"%>
|
||||||
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||||
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||||
|
<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>
|
||||||
|
var context = "${pageContext.request.contextPath}";
|
||||||
|
|
||||||
|
function linkPage(index){
|
||||||
|
$("#pageIndex").val(index);
|
||||||
|
$("#searchForm").attr("action", "${pageContext.request.contextPath}/admins/user/07.do").submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* function excelDownload(){
|
||||||
|
$("#searchForm").attr("action", "${pageContext.request.contextPath}/admins/user/01_excel.do").submit();
|
||||||
|
$("#searchForm").attr("action", "${pageContext.request.contextPath}/admins/user/01.do");
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
$(function(){
|
||||||
|
var searchTitle = "${params.searchTitle}";
|
||||||
|
searchTitle = searchTitle == "" ? "3" : 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_07.gif"></td></tr>
|
||||||
|
<tr height=20 colspan=2><td> </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" onchange="linkPage('1');">
|
||||||
|
<option value="3">전체</option>
|
||||||
|
<option value="0">미확인</option>
|
||||||
|
<option value="1">승인</option>
|
||||||
|
<option value="2">반려</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" > --%>
|
||||||
|
</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="12%">수정한이름</td>
|
||||||
|
<td width="19%">회사명</td>
|
||||||
|
<td width="23%">수정한이메일</td>
|
||||||
|
<td width="12%">요청날짜</td>
|
||||||
|
<td width="8%">상태</td>
|
||||||
|
<td width="10%">상세보기</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.email}</td>
|
||||||
|
<c:set var="requestdate" value='${resultList.requestdate}' />
|
||||||
|
<td>${fn:substring(requestdate,0,4)}-${fn:substring(requestdate,4,6)}-${fn:substring(requestdate,6,8)}</td>
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${resultList.accept == '0'}">
|
||||||
|
미확인
|
||||||
|
</c:when>
|
||||||
|
<c:when test="${resultList.accept == '1'}">
|
||||||
|
승인
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
반려
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/zoom.gif" onClick="javascript:openDetailInI('${resultList.userid}','02','${resultList.requestdate}')" 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>
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<!-- END : 네비게이션 ---------------------------------------------------------------------------->
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,189 @@
|
||||||
|
<%@ 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/40.do").submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
$(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_05.png"></td></tr>
|
||||||
|
<tr height=20 ><td> </td></tr>
|
||||||
|
<tr height=25>
|
||||||
|
<!-- START : 엑셀 다운로드 ------------------------------------------------------------------------->
|
||||||
|
<td>
|
||||||
|
<%-- <img src="${pageContext.request.contextPath}/images/admins/excel.gif" style="cursor:hand" onClick="javascript:excelDownload()"></td> --%>
|
||||||
|
|
||||||
|
<!-- 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="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" onClick="javascript:search()">
|
||||||
|
</td>
|
||||||
|
<!-- END : 검색 ---------------------------------------------------------------------------------->
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr height=12><td colspan=2><img src="${pageContext.request.contextPath}/images/admins/spacer.gif" width="1" height="12"></td></tr>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td colspan=2>
|
||||||
|
<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="10%">이름</td>
|
||||||
|
<td width="21%">소속지자체</td>
|
||||||
|
<td width="23%">이메일</td>
|
||||||
|
<td width="12%">가입일</td>
|
||||||
|
<td width="10%">승인상태</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.localgove}</td>
|
||||||
|
<td>${resultList.email}</td>
|
||||||
|
<td>${resultList.datetimes}</td>
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${resultList.liqYn eq 'A' || resultList.liqYn eq 'E'}">
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/cus_bnt_ok.gif" onClick="javascript:agree_user('${resultList.userid}','Y','O')" style="cursor:hand">
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
승인
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/zoom.gif" onClick="javascript:openImg('${resultList.userid}')" style="cursor:hand">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
|
||||||
|
<!-- END OF REPEAT TABLE -->
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
<tr height=42>
|
||||||
|
<!-- START : 네비게이션 ---------------------------------------------------------------------------->
|
||||||
|
<td align=center class="navi" colspan='2'>
|
||||||
|
<table width=100% >
|
||||||
|
<tr align="center">
|
||||||
|
<td id="page">
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<!-- END : 네비게이션 ---------------------------------------------------------------------------->
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,84 @@
|
||||||
|
<%@ 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>
|
||||||
|
<title>지자체 공무원 증빙문서</title>
|
||||||
|
<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>
|
||||||
|
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
<!--
|
||||||
|
body
|
||||||
|
{
|
||||||
|
margin-left:0;
|
||||||
|
margin-top:0;
|
||||||
|
margin-right:0;
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
var context = "${pageContext.request.contextPath}";
|
||||||
|
|
||||||
|
function fileDownload(filename, savename){
|
||||||
|
location.href = "${pageContext.request.contextPath}/admins/liq/fileDownload.do?savename="+savename+"&filename="+filename;
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<form id="searchForm" name="searchForm" enctype="multipart/form-data">
|
||||||
|
<input type="hidden" name="savename" id="savename" value="${result.savename}"/>
|
||||||
|
<input type="hidden" name="filename" id="filename" value="${result.filename}"/>
|
||||||
|
<input type="hidden" name="chk" id="chk" value=""/>
|
||||||
|
<%-- <table id="Table_Main" width="100%" height=240 border=0 cellpadding=0 cellspacing=0 background="${pageContext.request.contextPath}/images/admins/user/user_detail_back.gif"> --%>
|
||||||
|
<table id="Table_Main" width="100%" height=240 border=0 cellpadding=0 cellspacing=0 background="">
|
||||||
|
<tr>
|
||||||
|
<td width=21 rowspan=4> </td>
|
||||||
|
<td height=39><img src="${pageContext.request.contextPath}/images/admins/user/user_detail_title.gif"></td>
|
||||||
|
<td width=12 rowspan=4> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td valign=top>
|
||||||
|
<table id="Table_Info" width=100% border=0 cellpadding=0 cellspacing=1 bgcolor="#CACACA">
|
||||||
|
<tr height=25 bgcolor="#F5F5F5" align=center class="list_head2">
|
||||||
|
<td width=15%>아이디</td>
|
||||||
|
<td width=20%>이름</td>
|
||||||
|
<td width=20%>전화번호</td>
|
||||||
|
<td >이메일</td>
|
||||||
|
<td width=20%>소속지자체</td>
|
||||||
|
</tr>
|
||||||
|
<tr height=25 bgcolor="#FFFFFF" align=center class="list_content">
|
||||||
|
<td><c:out value="${result.userid}" /></td>
|
||||||
|
<td><c:out value="${result.userName}" /></td>
|
||||||
|
<td><c:out value="${result.phone}" /></td>
|
||||||
|
<td><c:out value="${result.email}" /></td>
|
||||||
|
<td><c:out value="${result.localgove}" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr height=25 align="center">
|
||||||
|
<td colspan="2" bgcolor="#F5F5F5" class="list_head2" >지자체 공무원 증빙문서</td>
|
||||||
|
<td colspan="4" bgcolor="#FFFFFF" class="list_content" align="center">
|
||||||
|
<a href="javascript:fileDownload('${result.filename}','${result.savename}')">${result.filename}</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td valign=top align="center">
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/cus_bnt_ok.gif" onClick="javascript:agree_user('${result.userid}','Y','X')" style="cursor:hand">
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/cus_bnt_delet.gif" style="cursor:hand" onClick="javascript:agree_user('${result.userid}','N','X')">
|
||||||
|
<img src="${pageContext.request.contextPath}/images/admins/cus_bnt_cancel.gif" style="cursor:hand" onClick="javascript:window.close();">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr height=10><td> </td></tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,177 @@
|
||||||
|
<%@ 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="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
|
||||||
|
<!-- <script src="${pageContext.request.contextPath}/js/admins/chart.js"></script> -->
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
|
||||||
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.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>
|
||||||
|
var context = "${pageContext.request.contextPath}";
|
||||||
|
|
||||||
|
let xhr;
|
||||||
|
if(window.XMLHttpRequest) {
|
||||||
|
xhr = new XMLHttpRequest();
|
||||||
|
} else {
|
||||||
|
// IE5, IE6 일때
|
||||||
|
xhr = new ActiveXObject("Microsoft.XMLHTTP");
|
||||||
|
}
|
||||||
|
|
||||||
|
const ctx = document.getElementById('myChart');
|
||||||
|
|
||||||
|
new Chart(ctx, {
|
||||||
|
type: 'bar',
|
||||||
|
data: {
|
||||||
|
labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
|
||||||
|
datasets: [{
|
||||||
|
label: '# of Votes',
|
||||||
|
data: [12, 19, 3, 5, 2, 3],
|
||||||
|
borderWidth: 1
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
scales: {
|
||||||
|
y: {
|
||||||
|
beginAtZero: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<h1>건설현장 통계</h1>
|
||||||
|
<div class="home-trainning">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row content">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<h4>검색</h4>
|
||||||
|
<div class="well">
|
||||||
|
<div class="container mt-5">
|
||||||
|
<form class="form-inline">
|
||||||
|
<div class="form-group mb-2 mr-2">
|
||||||
|
<label for="project-name" class="mr-2">프로젝트명:</label>
|
||||||
|
<input type="text" class="form-control" id="project-name" placeholder="프로젝트명 입력">
|
||||||
|
</div>
|
||||||
|
<div class="form-group mb-2 mr-2">
|
||||||
|
<label for="client-name" class="mr-2">발주기관 명:</label>
|
||||||
|
<input type="text" class="form-control" id="client-name" placeholder="발주기관 명 입력">
|
||||||
|
</div>
|
||||||
|
<div class="form-group mb-2 mr-2 w-50">
|
||||||
|
<label for="manager-name" class="mr-2">담당자:</label>
|
||||||
|
<input type="text" class="form-control" id="manager-name" placeholder="담당자 이름 입력">
|
||||||
|
</div>
|
||||||
|
<div class="form-group mb-2 mr-2">
|
||||||
|
<label for="contact-number" class="mr-2">연락처:</label>
|
||||||
|
<input type="text" class="form-control" id="contact-number" placeholder="연락처 입력">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="text-right mt-3">
|
||||||
|
<button type="submit" class="btn btn-primary mb-2">검색</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h4>건설현장 등록 건수</h4>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="well">
|
||||||
|
<h4>전체 등록 수</h4>
|
||||||
|
<p>12 건</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="well">
|
||||||
|
<h4>부산광역시</h4>
|
||||||
|
<p>12 건</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="well">
|
||||||
|
<h4>대구광역시</h4>
|
||||||
|
<p>0 건</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-3">
|
||||||
|
<div class="well">
|
||||||
|
<h4>세종특별자치시</h4>
|
||||||
|
<p>0 건</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="well">
|
||||||
|
<p class="fw-bold" style="font-size: 18px; color:#c87202;">최근 입력된 건설현장</p>
|
||||||
|
<p>부산 북항 재개발 사업 - 부산광역시</p>
|
||||||
|
<p>가덕도 신공항 건설공사 - 부산광역시</p>
|
||||||
|
<p>부산 에코델타시티 조성사업 - 부산광역시</p>
|
||||||
|
<p>동해남부선 복선전철화 사업 - 부산광역시</p>
|
||||||
|
<p>부산 도시철도 1호선 연장 공사 - 부산광역시</p>
|
||||||
|
<div class="d-flex justify-content-between align-items-center">
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-sm btn-outline-secondary">+ 더 보기</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="well">
|
||||||
|
<p class="fw-bold" style="font-size: 18px; color:#c87202;">단계별 건수</p>
|
||||||
|
<p><b>타당성조사 및 계획검토:</b> 12건</p>
|
||||||
|
<p><b>기본설계:</b> 0건</p>
|
||||||
|
<p><b>실시설계:</b> 0건</p>
|
||||||
|
<p><b>시공중:</b> 0건</p>
|
||||||
|
<p><b>준공:</b> 0건</p>
|
||||||
|
<p><b>유지보수:</b> 0건</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="well">
|
||||||
|
<p class="fw-bold" style="font-size: 18px; color:#c87202;">프로젝트 연결률</p>
|
||||||
|
<p><b>부산광역시:</b> 8.33%</p>
|
||||||
|
<p><b>대전광역시:</b> 0%</p>
|
||||||
|
<p><b>세종특별자치시:</b> 0%</p>
|
||||||
|
<p><b>서울특별시:</b> 0%</p>
|
||||||
|
<p><b>대구광역시:</b> 0%</p>
|
||||||
|
<div class="d-flex justify-content-between align-items-center">
|
||||||
|
<div class="btn-group">
|
||||||
|
<button type="button" class="btn btn-sm btn-outline-secondary">+ 더 보기</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="well">
|
||||||
|
<p>Text</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="well">
|
||||||
|
<p>Text</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</
|
||||||
|
div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,92 @@
|
||||||
|
<%@ 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="fn" uri = "http://java.sun.com/jsp/jstl/functions" %>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<script src="${pageContext.request.contextPath}/js/admins/common.js"></script>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
window.onload = function() {
|
||||||
|
// 페이지 로딩 후 실행될 코드
|
||||||
|
const activeEle = document.getElementById('${pId}');
|
||||||
|
if( activeEle ) {
|
||||||
|
activeEle.classList.add('active');
|
||||||
|
const menuItemEle = findClosestMenuItem(activeEle, 'menu-item');
|
||||||
|
if( menuItemEle ) {
|
||||||
|
menuItemEle.classList.add('active');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
//상위 element에서 특정 class를 갖는 element를 검색한다.
|
||||||
|
function findClosestMenuItem(element, className) {
|
||||||
|
let currentElement = element.parentElement; // 현재 element의 부모 element부터 시작
|
||||||
|
|
||||||
|
while (currentElement) {
|
||||||
|
if (currentElement.classList.contains(className)) {
|
||||||
|
return currentElement; // 'menu-item' 클래스를 찾으면 해당 element 반환
|
||||||
|
}
|
||||||
|
currentElement = currentElement.parentElement; // 상위 element로 이동
|
||||||
|
}
|
||||||
|
|
||||||
|
return null; // 'menu-item' 클래스를 가진 element를 찾지 못하면 null 반환
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function onClickSubMenuItem(e) {
|
||||||
|
// 클릭된 요소 가져오기
|
||||||
|
const clickedElement = e.target;
|
||||||
|
|
||||||
|
// data-url 속성 값 가져오기
|
||||||
|
const dataUrl = clickedElement.dataset.url;
|
||||||
|
|
||||||
|
goUrl(dataUrl, '${menuId}');
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
<!--
|
||||||
|
body
|
||||||
|
{
|
||||||
|
background-image: url(${pageContext.request.contextPath}/images/admins/left_bak.jpg);
|
||||||
|
margin-left:0;
|
||||||
|
margin-top:0;
|
||||||
|
margin-right:0;
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
img { border:0; }
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<table width="244" border="0" cellpadding="0" cellspacing="0" >
|
||||||
|
<!-- <tr height=10><td colspan="3"><img src="/admins/img/left_top_border.gif"></td></tr>
|
||||||
|
<tr height=30><td colspan="3"><img src="/admins/img/user/left_title.gif"></td></tr>-->
|
||||||
|
<tr>
|
||||||
|
<td width="244" height="668" valign="top" background="${pageContext.request.contextPath}/images/admins/left_bak.jpg">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td><img src="${pageContext.request.contextPath}/images/admins/constructionProjectManagement/1_tit_01.gif" width="244" height="62" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<div class="menu-item active">
|
||||||
|
<span style="cursor:hand" onClick="javascript:goUrl('construction-project-statistics-index', '${menuId}')"><img src="${pageContext.request.contextPath}/images/renew/arrow-right.png" /> 건설현장 통계</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<!-- <tr><td colspan="3"> </td></tr>
|
||||||
|
<tr height=177><td colspan="3"><img src="/admins/img/left_logo.gif"></td></tr> -->
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,92 @@
|
||||||
|
<%@ 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">
|
||||||
|
<title>회원 비밀번호 변경</title>
|
||||||
|
<script src="${pageContext.request.contextPath}/js/jquery/jquery-1.10.2.min.js"></script>
|
||||||
|
<script src="${pageContext.request.contextPath}/js/jquery/jquery.form.js"></script>
|
||||||
|
<script src="${pageContext.request.contextPath}/js/admins/passChange.js"></script>
|
||||||
|
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
||||||
|
<script>
|
||||||
|
|
||||||
|
|
||||||
|
//비밀번호변경
|
||||||
|
function inputCheck(){
|
||||||
|
|
||||||
|
//alert(document.passCh.passwordch.value);
|
||||||
|
var f = document.adminPassChange;
|
||||||
|
|
||||||
|
//alert(f.passwordch.value);
|
||||||
|
if(fnCheckPassch(f.passChange.value)){
|
||||||
|
f.hiddenChPass.value = hex_sha256(f.passChange.value).substring(0,20);
|
||||||
|
|
||||||
|
var options = {
|
||||||
|
url : "${pageContext.request.contextPath}/admins/user/passChange_save.json",
|
||||||
|
contentType : "application/x-www-form-urlencoded;charset=UTF-8",
|
||||||
|
type : "post",
|
||||||
|
dataType : "json",
|
||||||
|
async : false,
|
||||||
|
success : function(json){
|
||||||
|
if (json.flag) {
|
||||||
|
alert("정상적으로 수정 되었습니다.");
|
||||||
|
window.close();
|
||||||
|
} else {
|
||||||
|
alert("수정 중에 오류가 발생하였습니다. 다시 시도해주세요");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error : function(response){
|
||||||
|
alert("수정 중에 오류가 발생하였습니다. 다시 시도해주세요");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
try{
|
||||||
|
$("#adminPassChange").ajaxSubmit(options);
|
||||||
|
}catch(e){
|
||||||
|
alert("error= " + e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//pass check
|
||||||
|
//비밀번호변경 check
|
||||||
|
function fnCheckPassch(pass){
|
||||||
|
var f = document.adminPassChange;
|
||||||
|
if(!/^[a-zA-Z0-9]{10,25}$/.test(pass)){
|
||||||
|
alert("비밀번호는 숫자와 영문자 조합으로 10~15 자리를 사용해야 합니다. ");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var chk_num = pass.search(/[0-9]/g);
|
||||||
|
var chk_eng = pass.search(/[a-z]/ig);
|
||||||
|
if(chk_num < 0 || chk_eng < 0){
|
||||||
|
alert("비밀번호는 숫자와 영문자를 혼용하여야 합니다.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<form id="adminPassChange" name="adminPassChange" method="post">
|
||||||
|
<input type="hidden" id="userId" name="userId" value="${userId}" />
|
||||||
|
<input type="hidden" id="hiddenChPass" name="hiddenChPass" value="" />
|
||||||
|
<body>
|
||||||
|
<table id="Table_Main" width="100%" height=40 border=0 cellpadding=1 cellspacing=1 >
|
||||||
|
<tr height=25 bgcolor="#F5F5F5" >
|
||||||
|
<td align=center class="list_head2" width="150">아이디</td>
|
||||||
|
<td align=center bgcolor="#FFFFFF"><c:out value="${userId}" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr height=25 bgcolor="#F5F5F5" >
|
||||||
|
<td align=center class="list_head2" width="150">변경할 비밀번호</td>
|
||||||
|
<td align=center bgcolor="#FFFFFF"><input type="text" id="passChange" name="passChange" maxlength="15"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2" class="list_head"><font color="red"> * 비밀번호는 숫자와 영문자 조합으로 10~15 자리를 사용해야 합니다.</font></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2" align="center"><a href="#" onClick="inputCheck()"><img src="${pageContext.request.contextPath}/images/admins/cus_bnt_save.gif"></a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</form>
|
||||||
|
</html>
|
||||||
|
|
@ -16,7 +16,7 @@ var waitWin;
|
||||||
727보다 크게 하는 경우는 문제 없습니다.
|
727보다 크게 하는 경우는 문제 없습니다.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<iframe src="${pageContext.request.contextPath}/admins/${menuId}/${pId}.do" frameborder="0" height="650" width="1200" scrolling="yes" name="iframeMain" style="overflow-x: hidden;"></iframe>
|
<iframe src="${pageContext.request.contextPath}/admins/${menuId}/${pId}.do?isFirst=true" frameborder="0" height="650" width="1200" scrolling="yes" name="iframeMain" style="overflow-x: hidden;"></iframe>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
<td width="244" valign="top"><img src="img/top_main.gif" width="244" height="135" border="0" usemap="#Map" /></td>
|
<td width="244" valign="top"><img src="img/top_main.gif" width="244" height="135" border="0" usemap="#Map" /></td>
|
||||||
<!--- 탑메뉴 시작 --->
|
<!--- 탑메뉴 시작 --->
|
||||||
<td width="690" valign="top"><img src="img/top_menu.gif" width="690" height="135" border="0" usemap="#Map2" /></td>
|
<td width="690" valign="top"><img src="img/top_menu.gif" width="690" height="135" border="0" usemap="#Map2" /></td>
|
||||||
|
<td valign="bottom"><span class="top-menu-item"><a href="/admins/main/main.do?menuId=constructionProjectManagement&pId=construction-project-statistics-index">건설현장 관리</a></span></td>
|
||||||
<!--- 탑메뉴 끝 --->
|
<!--- 탑메뉴 끝 --->
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<title>국토지반정보 포털 관리시스템</title>
|
<title>국토지반정보 포털 관리시스템</title>
|
||||||
<link rel="stylesheet" type="text/css" href="cid:css-53323fa9-339e-4d76-9618-79b8e59931a3@mhtml.blink" />
|
<link rel="stylesheet" type="text/css" href="cid:css-53323fa9-339e-4d76-9618-79b8e59931a3@mhtml.blink" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/css/admins/style.css">
|
||||||
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/css/admin_dashboard.css">
|
<link type="text/css" rel="stylesheet" href="${pageContext.request.contextPath}/css/admin_dashboard.css">
|
||||||
<script src="${pageContext.request.contextPath}/js/jquery/jquery-1.10.2.min.js"></script>
|
<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/user.js"></script>
|
||||||
|
|
@ -140,6 +141,7 @@ document.addEventListener('keyup', function(e) {
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td width="690" valign="top"><img src="${pageContext.request.contextPath}/images/admins/frame/top_menu.gif" width="690" height="135" border="0" usemap="#Map2" /></td>
|
<td width="690" valign="top"><img src="${pageContext.request.contextPath}/images/admins/frame/top_menu.gif" width="690" height="135" border="0" usemap="#Map2" /></td>
|
||||||
|
<td valign="bottom"><span class="top-menu-item"><a href="/admins/main/main.do?menuId=constructionProjectManagement&pId=construction-project-statistics-index">건설현장 관리</a></span></td>
|
||||||
<!--- 탑메뉴 끝 --->
|
<!--- 탑메뉴 끝 --->
|
||||||
</tr>
|
</tr>
|
||||||
</tbody></table>
|
</tbody></table>
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
<title>국토지반정보 포털 관리시스템</title>
|
<title>국토지반정보 포털 관리시스템</title>
|
||||||
|
<link rel="stylesheet" HREF="${pageContext.request.contextPath}/css/admins/style.css" type="text/css">
|
||||||
<script src="${pageContext.request.contextPath}/js/jquery/jquery-1.10.2.min.js"></script>
|
<script src="${pageContext.request.contextPath}/js/jquery/jquery-1.10.2.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
var context = "${pageContext.request.contextPath}";
|
var context = "${pageContext.request.contextPath}";
|
||||||
|
|
@ -111,6 +112,7 @@ document.addEventListener('keyup', function(e) {
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td width="690" valign="top"><img src="${pageContext.request.contextPath}/images/admins/frame/top_menu.gif" width="690" height="135" border="0" usemap="#Map2" /></td>
|
<td width="690" valign="top"><img src="${pageContext.request.contextPath}/images/admins/frame/top_menu.gif" width="690" height="135" border="0" usemap="#Map2" /></td>
|
||||||
|
<td valign="bottom"><span class="top-menu-item"><a href="/admins/main/main.do?menuId=constructionProjectManagement&pId=construction-project-statistics-index">건설현장 관리</a></span></td>
|
||||||
<!--- 탑메뉴 끝 --->
|
<!--- 탑메뉴 끝 --->
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -154,21 +154,30 @@ $(function(){
|
||||||
<!-- END : list head ----------------------------------------------------------------------------->
|
<!-- END : list head ----------------------------------------------------------------------------->
|
||||||
|
|
||||||
<!-- REPEAT TABLE -->
|
<!-- REPEAT TABLE -->
|
||||||
<c:forEach items="${resultList}" var="resultList" varStatus="status">
|
<c:choose>
|
||||||
<tr height=28 bgcolor="#FFFFFF" class="list_content" align="center">
|
<c:when test="${empty resultList}">
|
||||||
<td>${resultList.num}</td>
|
<tr height=28 align="center">
|
||||||
<td>${resultList.userid}</td>
|
<td colspan="9"><span style="color:red;">개인정보보호를 위해 좌측 '일반사용자관리'를 눌러주십시오.</span></td>
|
||||||
<td>${resultList.userName}</td>
|
</tr>
|
||||||
<td>${resultList.companyName}</td>
|
</c:when>
|
||||||
<td>${resultList.upjong}</td>
|
<c:otherwise>
|
||||||
<td>${resultList.companyRegistNo}</td>
|
<c:forEach items="${resultList}" var="resultList" varStatus="status">
|
||||||
<td>${resultList.email}</td>
|
<tr height=28 bgcolor="#FFFFFF" class="list_content" align="center">
|
||||||
<td>${resultList.datetimes}</td>
|
<td>${resultList.num}</td>
|
||||||
<td>
|
<td>${resultList.userid}</td>
|
||||||
<img src="${pageContext.request.contextPath}/images/admins/zoom.gif" onClick="javascript:openDetail('${resultList.userid}','${resultList.cls}')" style="cursor:hand">
|
<td>${resultList.userName}</td>
|
||||||
</td>
|
<td>${resultList.companyName}</td>
|
||||||
</tr>
|
<td>${resultList.upjong}</td>
|
||||||
</c:forEach>
|
<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}','${resultList.cls}')" style="cursor:hand">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
<!-- END OF REPEAT TABLE -->
|
<!-- END OF REPEAT TABLE -->
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,8 @@ a.navi:link {font-family: "굴림체"; font-size: 9pt; color: #3F3F3F; text-de
|
||||||
a.navi:visited {font-family: "굴림체"; font-size: 9pt; color: #3F3F3F; text-decoration: none; line-height:150%;}
|
a.navi:visited {font-family: "굴림체"; font-size: 9pt; color: #3F3F3F; text-decoration: none; line-height:150%;}
|
||||||
a.navi:hover {font-family: "굴림체"; font-size: 9pt; color: #3F3F3F; text-decoration: underline; line-height:150%; }
|
a.navi:hover {font-family: "굴림체"; font-size: 9pt; color: #3F3F3F; text-decoration: underline; line-height:150%; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* 목록 헤드와 내용 */
|
/* 목록 헤드와 내용 */
|
||||||
.list_head { font-size:9pt; font-family: 굴림체; font-weight:bold; line-height:150%; color:#B64E0F; }
|
.list_head { font-size:9pt; font-family: 굴림체; font-weight:bold; line-height:150%; color:#B64E0F; }
|
||||||
.list_head2 { font-size:9pt; font-family: 굴림체; font-weight:bold; line-height:150%; color:#1180B5; }
|
.list_head2 { font-size:9pt; font-family: 굴림체; font-weight:bold; line-height:150%; color:#1180B5; }
|
||||||
|
|
@ -681,3 +683,38 @@ a:hover {font-family: "굴림체"; font-size: 9pt; color: #FF8000; text-decora
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 헤더 */
|
||||||
|
.top-menu-item {
|
||||||
|
display: inline-block;
|
||||||
|
width: max-content;
|
||||||
|
margin-bottom: 17px;
|
||||||
|
cursor: pointer;
|
||||||
|
&>a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #ffffff;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 18px;
|
||||||
|
opacity: 0.91;
|
||||||
|
&:link {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
&:visited {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&::before {
|
||||||
|
content:' | ';
|
||||||
|
color: #ffffff;
|
||||||
|
opacity: 0.4;
|
||||||
|
padding-right: 4px;
|
||||||
|
font-weight: 100;
|
||||||
|
font-size: 17px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -849,4 +849,39 @@ a:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 헤더 */
|
||||||
|
.top-menu-item {
|
||||||
|
display: inline-block;
|
||||||
|
width: max-content;
|
||||||
|
margin-bottom: 17px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.top-menu-item > a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #ffffff;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 18px;
|
||||||
|
opacity: 0.91;
|
||||||
|
}
|
||||||
|
.top-menu-item > a:link {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
.top-menu-item > a:visited {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
.top-menu-item > a:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
.top-menu-item::before {
|
||||||
|
content: " | ";
|
||||||
|
color: #ffffff;
|
||||||
|
opacity: 0.4;
|
||||||
|
padding-right: 4px;
|
||||||
|
font-weight: 100;
|
||||||
|
font-size: 17px;
|
||||||
|
}
|
||||||
|
|
||||||
/*# sourceMappingURL=style.css.map */
|
/*# sourceMappingURL=style.css.map */
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"sourceRoot":"","sources":["sass/style.scss"],"names":[],"mappings":";AAAA;AACA;EAAM;;;AACN;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EAAY;EAAoB;EAAiB;EAAgB;EAAkB;;;AACnF;EAAc;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC1F;EAAgB;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC5F;EAAc;EAAoB;EAAiB;EAAgB;EAA4B;;;AAE/F;AACA;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAkB;EAAe;EAAkB;EAAkB;EAAkB;;;AACvF;EAAiB;EAAe;EAAkB;EAAkB;;;AAEpE;AACA;EAAY;EAAe;;;AAC3B;EAAY;EAAe;;;AAC3B;EAAe;EAAe;EAAkB;;;AAEhD;AACA;EAAY;;;AACZ;EAAU;;;AACV;EAAY;EAA0B;EAAsB;EAAkB;EAAoB;;;AAClG;EAAW;EAAe;EAA0B;EAAkB;;;AACtE;EAAW;EAAe;;;AAC1B;EAAW;EAAe;EAAyB;EAAqB;EAAoB;EAA2B;EAAc;;;AACrI;EAAW;EAAe;EAAyB;EAAoB;;;AACvE;EAAe;EAA0B;EAAsB;EAAkB;EAAoB;;;AAErG;AACA;EAAU;EAAoB;EAAgB;EAAgB;EAAuB;;;AACrF;EAAY;EAAoB;EAAgB;EAAgB;EAAuB;;;AACvF;EAAW;EAAoB;EAAgB;EAAgB;EAA4B;;;AAE3F;AACA;EAAY;EAAe;EAAkB;EAAe;;;AAC5D;EAAW;EAAe;EAAkB;;;AAG5C;AACA;EAAc;EAAe;EAAkB;EAAkB;EAAkB;;;AACnF;EAAgB;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACpG;EAAiB;EAAe;EAAkB;EAAkB;EAAe;;;AACnF;EAAe;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACnG;EAAkB;EAAe;EAAkB;EAAkB;;;AAErE;AACA;EAAa;EAAa;EAAiC;EAAwE;EAAwB;EAAiB;EAAkB;EAAkB;EAAkB;;;AAClO;EAAY;EAAa;EAAuB;EAAmB;EAAY;;;AAE/E;AACA;EAAa;;;AACb;EAAgB;EAAyB;EAAqB;;;AAE9D;AACA;EACI;EACH;EACG;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACC;EACA;EACA;EACA;EACA;;;AAEL;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AACA;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAOpB;EACI;;;AAEJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;AAwEA;;AAvEA;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGQ;EACI;;AACA;EACI;;AAOhB;EACI;;AAIY;EACI;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;;AAQ5B;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAIJ;EACI;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;;;AAMZ;AACI;AAmBA;AA8IA;AAsCA;;AAtMA;EACI;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;EACA;;AAIJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACK;EACA;EACA;EACA;EACA;;AAEL;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;;AACA;EACI;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;;AAKR;EACI;EACA;EACA;;AAEJ;EACI;EACC;EACA;EACA;EACA;;AAEL;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACC;;AAGL;EACI;EACC;EACA;EACA;EACA;;AAKL;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACK;EACD;EACA;EACA;EACA;EACA;;;AAMJ;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACG;EACC;;AAIJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEJ;EACG;;;AAIP;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEC;EACD;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EAEA;EACA;EACA;;AAID;EACC;EACA;EACA;EACA;EACA;;AAIA;EACC;;AACA;EACC;EACA;EACA;EACA;;AACA;EACC;;AAGF;EACC;EACA;EACA;EACA;;AACA;EACC;;AAQJ;EACC;EACA;;AACA;EACC;EACA;EACA","file":"style.css"}
|
{"version":3,"sourceRoot":"","sources":["sass/style.scss"],"names":[],"mappings":";AAAA;AACA;EAAM;;;AACN;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EAAY;EAAoB;EAAiB;EAAgB;EAAkB;;;AACnF;EAAc;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC1F;EAAgB;EAAoB;EAAiB;EAAgB;EAAuB;;;AAC5F;EAAc;EAAoB;EAAiB;EAAgB;EAA4B;;;AAI/F;AACA;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAe;EAAe;EAAkB;EAAkB;EAAkB;;;AACpF;EAAkB;EAAe;EAAkB;EAAkB;EAAkB;;;AACvF;EAAiB;EAAe;EAAkB;EAAkB;;;AAEpE;AACA;EAAY;EAAe;;;AAC3B;EAAY;EAAe;;;AAC3B;EAAe;EAAe;EAAkB;;;AAEhD;AACA;EAAY;;;AACZ;EAAU;;;AACV;EAAY;EAA0B;EAAsB;EAAkB;EAAoB;;;AAClG;EAAW;EAAe;EAA0B;EAAkB;;;AACtE;EAAW;EAAe;;;AAC1B;EAAW;EAAe;EAAyB;EAAqB;EAAoB;EAA2B;EAAc;;;AACrI;EAAW;EAAe;EAAyB;EAAoB;;;AACvE;EAAe;EAA0B;EAAsB;EAAkB;EAAoB;;;AAErG;AACA;EAAU;EAAoB;EAAgB;EAAgB;EAAuB;;;AACrF;EAAY;EAAoB;EAAgB;EAAgB;EAAuB;;;AACvF;EAAW;EAAoB;EAAgB;EAAgB;EAA4B;;;AAE3F;AACA;EAAY;EAAe;EAAkB;EAAe;;;AAC5D;EAAW;EAAe;EAAkB;;;AAG5C;AACA;EAAc;EAAe;EAAkB;EAAkB;EAAkB;;;AACnF;EAAgB;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACpG;EAAiB;EAAe;EAAkB;EAAkB;EAAe;;;AACnF;EAAe;EAAe;EAAkB;EAAkB;EAAe;EAAkB;;;AACnG;EAAkB;EAAe;EAAkB;EAAkB;;;AAErE;AACA;EAAa;EAAa;EAAiC;EAAwE;EAAwB;EAAiB;EAAkB;EAAkB;EAAkB;;;AAClO;EAAY;EAAa;EAAuB;EAAmB;EAAY;;;AAE/E;AACA;EAAa;;;AACb;EAAgB;EAAyB;EAAqB;;;AAE9D;AACA;EACI;EACH;EACG;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACC;EACA;EACA;EACA;EACA;;;AAEL;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AACA;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAOpB;EACI;;;AAEJ;EACI;EACA;;;AAGJ;EACI;EACA;EACA;AAwEA;;AAvEA;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGQ;EACI;;AACA;EACI;;AAOhB;EACI;;AAIY;EACI;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;;AAQ5B;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAIJ;EACI;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AACA;EACI;;;AAMZ;AACI;AAmBA;AA8IA;AAsCA;;AAtMA;EACI;EACA;EACA;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;EACA;;AAIJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACK;EACA;EACA;EACA;EACA;;AAEL;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;;AACA;EACI;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACG;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEH;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACA;EACA;EACA;;AAKR;EACI;EACA;EACA;;AAEJ;EACI;EACC;EACA;EACA;EACA;;AAEL;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAEJ;EACI;EACC;;AAGL;EACI;EACC;EACA;EACA;EACA;;AAKL;EACI;EACA;EACA;EACA;EACA;EACA;;AAEJ;EACK;EACD;EACA;EACA;EACA;EACA;;;AAMJ;AAAA;EAEI;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;;AAEJ;EACG;EACC;;AAIJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEJ;EACG;;;AAIP;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEC;EACD;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EAEA;EACA;EACA;;AAID;EACC;EACA;EACA;EACA;EACA;;AAIA;EACC;;AACA;EACC;EACA;EACA;EACA;;AACA;EACC;;AAGF;EACC;EACA;EACA;EACA;;AACA;EACC;;AAQJ;EACC;EACA;;AACA;EACC;EACA;EACA;;;AAQH;AACA;EACC;EACA;EACG;EACH;;AACA;EACC;EACA;EACA;EACA;EACA;;AACA;EACC;EACA;;AAED;EACC;EACA;;AAED;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA","file":"style.css"}
|
||||||
|
After Width: | Height: | Size: 4.0 KiB |