# Conflicts:
#	src/main/java/com/mca/util/ImgPaginationRenderer.java
#	src/main/webapp/WEB-INF/jsp/admin/request.jsp
#	target/MBCA-1.0.0/WEB-INF/classes/com/mca/util/ImgPaginationRenderer.class
#	target/MBCA-1.0.0/WEB-INF/jsp/admin/request.jsp
#	target/classes/com/mca/util/ImgPaginationRenderer.class
master
Hyung Geun 2022-03-03 16:00:56 +09:00
commit 246824b499
2092 changed files with 33285 additions and 32495 deletions

View File

@ -1,55 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="target/generated-sources/annotations">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="ignore_optional_problems" value="true"/>
<attribute name="m2e-apt" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="ignore_optional_problems" value="true"/>
<attribute name="m2e-apt" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

27
.gitignore vendored
View File

@ -1,7 +1,20 @@
HELP.md
.gradle
target/
### Maven ###
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# https://github.com/takari/maven-wrapper#usage-without-binary-jar
.mvn/wrapper/maven-wrapper.jar
### gradle ###
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
@ -28,6 +41,18 @@ out/
!**/src/main/**/out/
!**/src/test/**/out/
### Eclipse ###
.metadata
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
### NetBeans ###
/nbproject/private/
/nbbuild/

View File

@ -1,60 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>MCA</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.boot.validation.springbootbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.springframework.ide.eclipse.core.springnature</nature>
<nature>egovframework.dev.imp.ide.natures.egovnature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
<filteredResources>
<filter>
<id>1644803890467</id>
<name></name>
<type>30</type>
<matcher>
<id>org.eclipse.core.resources.regexFilterMatcher</id>
<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="src/main/webapp"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="output" path=""/>
</classpath>

View File

@ -1,5 +0,0 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/webapp/WEB-INF/jsp/include/header.jsp=UTF-8
encoding//src/main/webapp/WEB-INF/jsp/mapUseSetting.jsp=UTF-8
encoding//src/test/java=UTF-8

View File

@ -1,12 +0,0 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.processAnnotations=enabled
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -1,4 +0,0 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="MBCA-1.0.0">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<property name="java-output-path" value="/MBCA/target/classes"/>
<property name="context-root" value="MBCA"/>
</wb-module>
</project-modules>

View File

@ -1,12 +0,0 @@
<root>
<facet id="jst.jsf">
<node name="libprov">
<attribute name="provider-id" value="jsf-no-op-library-provider"/>
</node>
</facet>
<facet id="jst.jaxrs">
<node name="libprov">
<attribute name="provider-id" value="jaxrs-no-op-library-provider"/>
</node>
</facet>
</root>

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.8"/>
<installed facet="jst.web" version="2.5"/>
<installed facet="jst.jsf" version="2.2"/>
<installed facet="jst.jaxrs" version="2.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

View File

@ -1 +0,0 @@
org.eclipse.wst.jsdt.launching.baseBrowserLibrary

View File

@ -1 +0,0 @@
Window

View File

@ -1,2 +0,0 @@
disabled=06target
eclipse.preferences.version=1

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beansProjectDescription>
<version>1</version>
<pluginVersion><![CDATA[3.9.12.202003180620-RELEASE]]></pluginVersion>
<configSuffixes>
<configSuffix><![CDATA[xml]]></configSuffix>
</configSuffixes>
<enableImports><![CDATA[false]]></enableImports>
<configs>
</configs>
<autoconfigs>
<config>src/main/resources/egovframework/spring/context-idgen.xml</config>
<config>src/main/resources/egovframework/spring/context-sqlMap.xml</config>
<config>src/main/resources/egovframework/spring/context-transaction.xml</config>
<config>src/main/resources/egovframework/spring/context-mapper.xml</config>
<config>src/main/resources/egovframework/spring/context-common.xml</config>
<config>src/main/resources/egovframework/spring/context-properties.xml</config>
<config>src/main/resources/egovframework/spring/context-datasource.xml</config>
<config>src/main/resources/egovframework/spring/context-validator.xml</config>
</autoconfigs>
<configSets>
</configSets>
</beansProjectDescription>

View File

@ -0,0 +1,12 @@
package com.mca.cmmn.mapper;
import com.mca.cmmn.vo.BaseSearchVO;
import com.mca.cmmn.vo.LogVO;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper("logMapper")
public interface LogMapper {
void insertLog(LogVO logVO);
int selectLoginCnt(BaseSearchVO searchVO);
}

View File

@ -0,0 +1,25 @@
package com.mca.cmmn.service;
import com.mca.cmmn.mapper.LogMapper;
import com.mca.cmmn.vo.BaseSearchVO;
import com.mca.cmmn.vo.LogVO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service("logService")
public class LogService {
@Resource(name="logMapper")
LogMapper logMapper;
public void insertLog(LogVO logVO){
logMapper.insertLog(logVO);
}
public int selectLoginCnt(BaseSearchVO searchVO){
return logMapper.selectLoginCnt(searchVO);
}
}

View File

@ -1,5 +1,7 @@
package com.mca.cmmn.vo;
import java.time.LocalDate;
public class BaseSearchVO {
/**
@ -34,6 +36,9 @@ public class BaseSearchVO {
/** recordCountPerPage */
private int recordCountPerPage = 10;
private String searchStartDate;
private String searchEndDate;
public String getSearchCondition() {
return searchCondition;
}
@ -105,4 +110,21 @@ public class BaseSearchVO {
public void setRecordCountPerPage(int recordCountPerPage) {
this.recordCountPerPage = recordCountPerPage;
}
public String getSearchStartDate() {
return searchStartDate;
}
public void setSearchStartDate(String searchStartDate) {
this.searchStartDate = searchStartDate;
}
public String getSearchEndDate() {
return searchEndDate;
}
public void setSearchEndDate(String searchEndDate) {
this.searchEndDate = searchEndDate;
}
}

View File

@ -0,0 +1,16 @@
package com.mca.cmmn.vo;
public enum LogActions {
LOGIN("login"),
LOGOUT("logout");
private String value;
LogActions(String value) {
this.value = value;
}
public String getValue(){
return value;
}
}

View File

@ -0,0 +1,61 @@
package com.mca.cmmn.vo;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class LogVO {
private String log_cd;
private String userid;
private String action;
private String etc;
private LocalDateTime created_date;
public String getLog_cd() {
return log_cd;
}
public void setLog_cd(String log_cd) {
this.log_cd = log_cd;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public String getEtc() {
return etc;
}
public void setEtc(String etc) {
this.etc = etc;
}
public LocalDateTime getCreated_date() {
return created_date;
}
public void setCreated_date(LocalDateTime created_date) {
this.created_date = created_date;
}
public void setLog(String userid, String logAction, String etc, LocalDateTime now){
setLog_cd(now.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS")).substring(2));
setUserid(userid);
setAction(logAction);
setEtc(etc);
setCreated_date(now);
}
}

View File

@ -1,11 +1,15 @@
package com.mca.cmmn.web;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.mca.cmmn.service.LogService;
import com.mca.cmmn.vo.BaseSearchVO;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
@ -59,8 +63,56 @@ public class AdminController {
@Resource(name="fieldDataService")
private FieldDataService fieldDataService;
@Resource(name = "logService")
private LogService logService;
/**
*
*
* @param useRequestSearchVO
* @param model
* @return
* @throws
*/
@RequestMapping("/dashBoard")
public String dashBoard(@ModelAttribute("UseRequestSearchVO") UseRequestSearchVO useRequestSearchVO, Model model) throws Exception {
try {
// 지도사용 요청 승인대기 수
int statusCnt = useRequestService.selectUseRequeststatusCnt();
model.addAttribute("statusCnt", statusCnt);
// 회원가입 승인대기 수
int standByCount = userService.selectUserStandByCount();
model.addAttribute("standByCount", standByCount);
// 확인요청 데이터
FieldDataSearchVO fieldDataSearchVO = new FieldDataSearchVO();
fieldDataSearchVO.setStatus0(1);
fieldDataSearchVO.setStatus1(1);
fieldDataSearchVO.setStatus2(1);
fieldDataSearchVO.setStatus3(1);
int standFieldData = fieldDataService.selectFieldDataCnt(fieldDataSearchVO);
model.addAttribute("standFieldData", standFieldData);
// 일, 월 방문자 수
BaseSearchVO searchVO = new BaseSearchVO();
LocalDate searchStartDate = LocalDate.now();
searchVO.setSearchStartDate(searchStartDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
searchVO.setSearchEndDate(searchStartDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
model.addAttribute("dayLoginCount", logService.selectLoginCnt(searchVO));
searchVO.setSearchStartDate(searchStartDate.minusMonths(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
model.addAttribute("monthLoginCount", logService.selectLoginCnt(searchVO));
return "admin/dashBoard";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return "error/EgovServerError";
}
}
/**
* .
*
@ -271,7 +323,7 @@ public class AdminController {
UserVO userVO = userService.selectUserInfo(userid);
model.addAttribute("userVO", userVO);
return "admin/userInfoView";
return "admin/html/userInfoView";
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();

View File

@ -2,6 +2,52 @@ package com.mca.map.vo;
import com.mca.cmmn.vo.BaseSearchVO;
public class FieldDataSearchVO extends BaseSearchVO{
import java.util.List;
public class FieldDataSearchVO extends BaseSearchVO{
private int status0 = 0;
private int status1 = 0;
private int status2 = 0;
private int status3 = 0;
private int status4 = 0;
public int getStatus0() {
return status0;
}
public void setStatus0(int status0) {
this.status0 = status0;
}
public int getStatus1() {
return status1;
}
public void setStatus1(int status1) {
this.status1 = status1;
}
public int getStatus2() {
return status2;
}
public void setStatus2(int status2) {
this.status2 = status2;
}
public int getStatus3() {
return status3;
}
public void setStatus3(int status3) {
this.status3 = status3;
}
public int getStatus4() {
return status4;
}
public void setStatus4(int status4) {
this.status4 = status4;
}
}

View File

@ -1,12 +1,17 @@
package com.mca.sec;
import java.io.IOException;
import java.time.LocalDateTime;
import javax.annotation.Resource;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.mca.cmmn.service.LogService;
import com.mca.cmmn.vo.LogActions;
import com.mca.cmmn.vo.LogVO;
import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
@ -16,32 +21,45 @@ import com.mca.sec.UserUtil;
public class LoginSuccessHandler implements AuthenticationSuccessHandler{
private String roleName;
@Resource(name="logService")
private LogService logService;
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
Authentication authentication) throws IOException, ServletException {
// TODO Auto-generated method stub
LoginUserVO user = UserUtil.getMemberInfo();
HttpSession session = request.getSession();
session.setAttribute("userVO", user);
LoginSuccessHandler loginSuccessHandler = new LoginSuccessHandler();
authentication.getAuthorities().forEach(authority ->{
loginSuccessHandler.roleName = authority.getAuthority();
});
if(loginSuccessHandler.roleName.equals("ROLE_USER")) {
response.sendRedirect("/map/request");
return;
}else if(loginSuccessHandler.roleName.equals("ROLE_ADMIN")) {
response.sendRedirect("/admin/request");
return;
}else if(loginSuccessHandler.roleName.equals("ROLE_DISABLE")) {
response.sendRedirect("/login?fail");
return;
}
response.sendRedirect("/");
if(user == null){
response.sendRedirect("/");
}else{
HttpSession session = request.getSession();
session.setAttribute("userVO", user);
LoginSuccessHandler loginSuccessHandler = new LoginSuccessHandler();
authentication.getAuthorities().forEach(authority ->{
loginSuccessHandler.roleName = authority.getAuthority();
});
LogVO logVO = new LogVO();
logVO.setLog(user.getUserid(), LogActions.LOGIN.getValue(), null, LocalDateTime.now());
logService.insertLog(logVO);
switch (loginSuccessHandler.roleName) {
case "ROLE_USER":
response.sendRedirect("/map/request");
return;
case "ROLE_ADMIN":
response.sendRedirect("/admin/dashBoard");
return;
case "ROLE_DISABLE":
response.sendRedirect("/login?fail");
return;
}
}
}
}

View File

@ -1,16 +1,24 @@
package com.mca.sec;
import java.io.IOException;
import java.time.LocalDateTime;
import javax.annotation.Resource;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mca.cmmn.service.LogService;
import com.mca.cmmn.vo.LogActions;
import com.mca.cmmn.vo.LogVO;
import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler;
public class LogoutSuccessHandler extends SimpleUrlLogoutSuccessHandler{
@Resource(name="logService")
private LogService logService;
private String successUrl = "/";
public void setSuccessUrl(String successUrl){
@ -18,8 +26,14 @@ public class LogoutSuccessHandler extends SimpleUrlLogoutSuccessHandler{
}
public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
setDefaultTargetUrl(successUrl);
super.onLogoutSuccess(request, response, authentication);
}
LogVO logVO = new LogVO();
logVO.setLog(authentication.getName(), LogActions.LOGOUT.getValue(), null, LocalDateTime.now());
logService.insertLog(logVO);
setDefaultTargetUrl(successUrl);
super.onLogoutSuccess(request, response, authentication);
}
}

View File

@ -34,9 +34,9 @@ public class SecurityService implements UserDetailsService{
} else {
throw new UsernameNotFoundException("접속자 정보를 찾을 수 없습니다.");
}
if (authorities.size() == 0) {
if (authorities.size() == 0) {
throw new UsernameNotFoundException("User " + member.getUserid()+ " has no GrantedAuthority");
}
}
return new EgovUserDetails(member.getUserid(), member.getPassword(), true, true, true, true, authorities, member);
}

View File

@ -74,6 +74,7 @@ public class ImgPaginationRenderer extends AbstractPaginationRenderer implements
</nav>
*/
public void initVariables() {
<<<<<<< HEAD
firstPageLabel = "";//"<li><a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_pre10.gif' border=0/></a>&#160;";
previousPageLabel = "<li>\n" +
@ -89,6 +90,23 @@ public class ImgPaginationRenderer extends AbstractPaginationRenderer implements
"\t\t\t\t\t </a>\n" +
"\t\t\t\t\t</li>";
lastPageLabel = "";//"<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_next10.gif' border=0/></a>&#160;";
=======
// firstPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_pre10.gif' border=0/></a>&#160;";
firstPageLabel = "";//"<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_pre10.gif' border=0/></a>&#160;";
previousPageLabel = "<li class=\"page-item\">\n" +
"\t\t\t\t\t <a class=\"page-link\" onclick=\"{0}({1}); return false;\" href=\"#\" aria-label=\"Previous\">\n" +
"\t\t\t\t\t\t<span aria-hidden=\"true\">&laquo;</span>\n" +
"\t\t\t\t\t </a>\n" +
"\t\t\t\t\t</li>";
currentPageLabel = "<li class = \"page-item active\"><a class=\"page-link\" href=\"#\">{0}</a></li>";
otherPageLabel = "<li class=\"page-item\"><a class=\"page-link\" href=\"#\" onclick=\"{0}({1}); return false;\">{2}</a></li>";
nextPageLabel = "<li class=\"page-item\">\n" +
"\t\t\t\t\t <a class=\"page-link\" onclick=\"{0}({1}); return false;\" href=\"#\" aria-label=\"Next\">\n" +
"\t\t\t\t\t\t<span aria-hidden=\"true\">&raquo;</span>\n" +
"\t\t\t\t\t </a>\n" +
"\t\t\t\t\t</li>";
lastPageLabel = "";//""<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_next10.gif' border=0/></a>&#160;";
>>>>>>> fe79f99402336104ee1532a6190dfbcb6ec1d1e3
}
@Override

View File

@ -18,7 +18,7 @@ Global.fileStorePath = C:/MCA/upload/
#TEST DB
Global.datasource.driverClassName=com.mysql.cj.jdbc.Driver
Global.datasource.url=jdbc:mysql://106.247.244.146:57306/gg_mobile_220214?useSSL=false&serverTimezone=UTC
Global.datasource.url=jdbc:mysql://106.247.244.146:57306/gg_mobile_220214?useSSL=false&serverTimezone=Asia/Seoul
Global.datasource.username=root
Global.datasource.password=dbnt0928

View File

@ -36,16 +36,16 @@
<!-- Logout처리 -->
<security:logout
logout-url="/j_spring_security_logout"
logout-url="/j_spring_security_logout"
invalidate-session="true"
success-handler-ref="logoutsuccessHandler" />
success-handler-ref="logoutSuccessHandler" />
<!-- 접근 권한 에러 URL -->
<security:access-denied-handler error-page="/error/EgovAccessDenied"/>
</security:http>
<!-- Logout Success Handler -->
<bean id="logoutsuccessHandler" class="com.mca.sec.LogoutSuccessHandler">
<bean id="logoutSuccessHandler" class="com.mca.sec.LogoutSuccessHandler">
<property name="successUrl" value="/login"></property>
</bean>

View File

@ -0,0 +1,19 @@
<?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="com.mca.cmmn.mapper.LogMapper">
<insert id="insertLog" parameterType="logVO">
insert into t_logs values(
#{log_cd}, #{userid}, #{action}, #{etc}, #{created_date}
);
</insert>
<select id="selectLoginCnt" parameterType="baseSearchVO" resultType="int">
select
count(*)
from t_logs
where created_date >= concat(#{searchStartDate},' 00:00:00')
and created_date &lt;= concat(#{searchEndDate}' 23:59:59')
and action = 'login'
</select>
</mapper>

View File

@ -35,16 +35,63 @@
FROM
map_field_data a LEFT JOIN t_user b ON a.userid=b.userid
WHERE 1=1
<if test='searchKeyword != null and searchKeyword != ""'>
<choose>
<when test='searchCondition eq "all"'>
AND (a.region LIKE CONCAT('%',#{searchKeyword},'%')
OR b.name LIKE CONCAT('%',#{searchKeyword},'%')
OR b.company LIKE CONCAT('%',#{searchKeyword},'%'))
</when>
<otherwise>
AND ${searchCondition} LIKE CONCAT('%',#{searchKeyword},'%')
</otherwise>
</choose>
</if>
AND( 1=0
<if test="status0 == 1">
OR status = 0
</if>
<if test="status1 == 1">
OR status = 1
</if>
<if test="status2 == 1">
OR status = 2
</if>
<if test="status3 == 1">
OR status = 3
</if>
<if test="status4 == 1">
OR status = 4
</if>
)
ORDER BY id DESC
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
</select>
<select id="selectFieldDataCnt" resultType="int">
<select id="selectFieldDataCnt" resultType="int" parameterType="fieldDataSearchVO">
SELECT
COUNT(*)
FROM
map_field_data
WHERE 1 = 1
AND( 1=0
<if test="status0 == 1">
OR status = 0
</if>
<if test="status1 == 1">
OR status = 1
</if>
<if test="status2 == 1">
OR status = 2
</if>
<if test="status3 == 1">
OR status = 3
</if>
<if test="status4 == 1">
OR status = 4
</if>
)
</select>
<select id="selectFieldData" parameterType="String" resultType="fieldDataVO">

View File

@ -7,20 +7,19 @@
SELECT
log_date AS logDate,
req_area AS reqArea,
-- content,
a.userid,
b.name,
b.company
FROM
map_use_history a JOIN t_user b ON a.userid=b.userid
WHERE 1 = 1
WHERE 1 = '1'
<if test='searchKeyword != null and searchKeyword != ""'>
<choose>
<when test='searchCondition eq "all"'>
AND (content LIKE CONCAT('%',#{searchKeyword},'%')
OR b.name LIKE CONCAT('%',#{searchKeyword},'%')
AND (b.name LIKE CONCAT('%',#{searchKeyword},'%')
OR b.company LIKE CONCAT('%',#{searchKeyword},'%')
OR a.area LIKE CONCAT('%',#{searchKeyword},'%'))
OR a.req_area LIKE CONCAT('%',#{searchKeyword},'%'))
</when>
<otherwise>
AND ${searchCondition} LIKE CONCAT('%',#{searchKeyword},'%')
@ -40,10 +39,9 @@
<if test='searchKeyword != null and searchKeyword != ""'>
<choose>
<when test='searchCondition eq "all"'>
AND (content LIKE CONCAT('%',#{searchKeyword},'%')
OR b.name LIKE CONCAT('%',#{searchKeyword},'%')
OR b.company LIKE CONCAT('%',#{searchKeyword},'%'))
OR a.area LIKE CONCAT('%',#{searchKeyword},'%'))
AND (b.name LIKE CONCAT('%',#{searchKeyword},'%')
OR b.company LIKE CONCAT('%',#{searchKeyword},'%')
OR a.req_area LIKE CONCAT('%',#{searchKeyword},'%'))
</when>
<otherwise>
AND ${searchCondition} LIKE CONCAT('%',#{searchKeyword},'%')

View File

@ -2,24 +2,25 @@
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<!-- <typeAlias alias="searchVO" type="egovframework.example.sample.service.SampleDefaultVO"/> -->
<typeAlias alias="baseSearchVO" type="com.mca.cmmn.vo.BaseSearchVO" />
<typeAlias alias="layersVO" type="com.mca.cmmn.vo.LayersVO" />
<typeAlias alias="areaCodeVO" type="com.mca.cmmn.vo.AreaCodeVO" />
<typeAlias alias="useRequestVO" type="com.mca.map.vo.UseRequestVO"/>
<typeAlias alias="useRequestSearchVO" type="com.mca.map.vo.UseRequestSearchVO" />
<typeAlias alias="useHistoryVO" type="com.mca.map.vo.UseHistoryVO"/>
<typeAlias alias="useHistorySearchVO" type="com.mca.map.vo.UseHistorySearchVO" />
<typeAlias alias="fieldDataVO" type="com.mca.map.vo.FieldDataVO"/>
<typeAlias alias="fieldDataSearchVO" type="com.mca.map.vo.FieldDataSearchVO" />
<typeAlias alias="securityRolesVO" type="com.mca.sec.vo.SecurityRolesVO" />
<typeAlias alias="loginUserVO" type="com.mca.sec.vo.LoginUserVO" />
<typeAlias alias="userVO" type="com.mca.user.vo.UserVO"/>
<typeAlias alias="userSearchVO" type="com.mca.user.vo.UserSearchVO"/>
</typeAliases>
<typeAliases>
<!-- <typeAlias alias="searchVO" type="egovframework.example.sample.service.SampleDefaultVO"/> -->
<typeAlias alias="baseSearchVO" type="com.mca.cmmn.vo.BaseSearchVO" />
<typeAlias alias="layersVO" type="com.mca.cmmn.vo.LayersVO" />
<typeAlias alias="logVO" type="com.mca.cmmn.vo.LogVO" />
<typeAlias alias="areaCodeVO" type="com.mca.cmmn.vo.AreaCodeVO" />
<typeAlias alias="useRequestVO" type="com.mca.map.vo.UseRequestVO"/>
<typeAlias alias="useRequestSearchVO" type="com.mca.map.vo.UseRequestSearchVO" />
<typeAlias alias="useHistoryVO" type="com.mca.map.vo.UseHistoryVO"/>
<typeAlias alias="useHistorySearchVO" type="com.mca.map.vo.UseHistorySearchVO" />
<typeAlias alias="fieldDataVO" type="com.mca.map.vo.FieldDataVO"/>
<typeAlias alias="fieldDataSearchVO" type="com.mca.map.vo.FieldDataSearchVO" />
<typeAlias alias="securityRolesVO" type="com.mca.sec.vo.SecurityRolesVO" />
<typeAlias alias="loginUserVO" type="com.mca.sec.vo.LoginUserVO" />
<typeAlias alias="userVO" type="com.mca.user.vo.UserVO"/>
<typeAlias alias="userSearchVO" type="com.mca.user.vo.UserSearchVO"/>
</typeAliases>
</configuration>

View File

@ -1,3 +1,5 @@
Manifest-Version: 1.0
Class-Path:
Created-By: IntelliJ IDEA
Built-By: DBNT
Build-Jdk: version 11.0.1

View File

@ -32,12 +32,6 @@
</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/jsp/" p:suffix=".jsp" />
<!-- For Pagination Tag -->
<bean id="imageRenderer"
class="com.mca.util.ImgPaginationRenderer" />
@ -55,9 +49,7 @@
<mvc:view-controller path="/cmmn/validator.do" view-name="cmmn/validator" />
<bean
class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"
id="jsonView" />
<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView" id="jsonView" />
<bean
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
@ -86,11 +78,31 @@
</value>
</property>
</bean>
<mvc:resources mapping="/css/**" location="/css/" />
<mvc:resources mapping="/html/**" location="/html/" />
<mvc:resources mapping="/images/**" location="/images/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/fonts/**" location="/fonts/" />
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" id="viewResolver">
<property name="order" value="1"/>
<property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView"/>
</bean>
<bean class="org.springframework.web.servlet.view.tiles3.TilesConfigurer" id="tilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles/tiles.xml</value>
</list>
</property>
</bean>
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="order" value="2"/>
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
</bean>
<mvc:resources mapping="/css/**" location="/css/" />
<mvc:resources mapping="/images/**" location="/images/" />
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/fonts/**" location="/fonts/" />
</beans>

View File

@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
<form-validation>
<formset>
<form name="sampleVO">
<field property="name" depends="required">
<arg0 key="title.sample.name" />
</field>
<field property="description" depends="required">
<arg0 key="title.sample.description" />
<field property="name" depends="required">
<arg0 key="title.sample.name"/>
</field>
<field property="description" depends="required">
<arg0 key="title.sample.description"/>
</field>
<field property="regUser" depends="required">
<arg0 key="title.sample.regUser"/>
</field>
<field property="regUser" depends="required">
<arg0 key="title.sample.regUser" />
</field>
</form>
</formset>

View File

@ -0,0 +1,107 @@
<%@ 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="spring" uri="http://www.springframework.org/tags" %>
<%--<script src="/js/admin/dashBoard.js"></script>--%>
<div class="container">
<div class="row">
<div class="col-lg-3">
<div class="card my-2">
<div class="card-body row">
<div class="col-auto">
<img src="/images/icon/icon_004.png" width="60" height="60" alt="">
</div>
<div class="col-auto">
<a href="/admin/request?status=99" class="text-black-50">지도사용 요청 승인대기</a>
<h3><c:out value="${statusCnt}"/></h3>
</div>
</div>
</div>
<div class="card my-2">
<div class="card-body row">
<div class="col-auto">
<img src="/images/icon/icon_21.png" width="60" height="60" alt="">
</div>
<div class="col-auto">
<a href="/admin/userInfo?auth=99" class="text-black-50">회원가입 승인대기</a>
<h3><c:out value="${standByCount}"/></h3>
</div>
</div>
</div>
<div class="card my-2">
<div class="card-body row">
<div class="col-auto">
<img src="/images/icon/icon_003.png" width="60" height="60" alt="">
</div>
<div class="col-auto">
<a href="/admin/fieldData?status0=1&status1=1&status2=1&status3=1&status4=0"
class="mb-0 text-black-50">확인 요청 데이터</a>
<h3><c:out value="${standFieldData}"/></h3>
</div>
</div>
</div>
</div>
<div class="col-lg-9">
<div class="card my-2">
<div class="card-body">
<div class="col-auto">
<p class="mb-0 text-black-50">-</p>
그래프
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-3">
<div class="card my-2">
<div class="card-body row">
<div class="col-auto">
<img src="/images/icon/icon_002.png" width="60" height="60" alt="">
</div>
<div class="col-auto">
<p class="mb-0 text-black-50">-</p>
<h3>0</h3>
</div>
</div>
</div>
<div class="card my-2">
<div class="card-body row">
<div class="col-auto">
<img src="/images/icon/icon_03.png" width="60" height="60" alt="">
</div>
<div class="col-auto">
<p class="mb-0 text-black-50">오늘 방문자 수</p>
<h3><c:out value="${dayLoginCount}"/></h3>
</div>
</div>
</div>
<div class="card my-2">
<div class="card-body row">
<div class="col-auto">
<img src="/images/icon/icon_002.png" width="60" height="60" alt="">
</div>
<div class="col-auto">
<p class="mb-0 text-black-50">최근 한달 방문자 수</p>
<h3><c:out value="${monthLoginCount}"/></h3>
</div>
</div>
</div>
</div>
<div class="col-lg-9">
<div class="card my-2">
<div class="card-body">
<div class="col-auto">
<p class="mb-0 text-black-50">-</p>
그래프
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -1,102 +1,140 @@
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
<%@ 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="spring" uri="http://www.springframework.org/tags" %>
<script src="<c:url value="/js/admin/fieldData.js"/>"></script>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<style>
.searchList > li{
display: inline;
}
.searchList > li {
display: inline;
}
</style>
</head>
<script>
function fn_link_page(pageNo) {
document.searchForm.pageIndex.value = pageNo;
document.searchForm.action = "<c:url value='/admin/fieldData' />";
document.searchForm.submit();
}
</script>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<form:form commandName="fieldDataSearchVO" name="searchForm" action="/admin/fieldData" method="get">
<div class="search_div">
<div class="search_menu">&nbsp;</div>
<div class="search_keyword">
<select class="form-control search_selectbox" name="searchCondition">
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'all'}"><c:out value="selected" /></c:if> value="all">통합검색</option>
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'content'}"><c:out value="selected" /></c:if> value="content">작업내용</option>
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'name'}"><c:out value="selected" /></c:if> value="name">이름</option>
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'company'}"><c:out value="selected" /></c:if> value="company">소속</option>
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'area'}"><c:out value="selected" /></c:if> value="area">위치</option>
</select>
<input type="text" class="form-control search_inputbox" name="searchKeyword" value="<c:out value="${fieldDataSearchVO.searchKeyword}" />" />
<input class="btn btn-default" type="submit" value="검색" />
</div>
</div>
<table class="list-table">
<thead>
<tr><th colspan="6">현장수집 데이터</th></tr>
<tr>
<th>Data ID</th>
<th>지역</th>
<th>소속</th>
<th>담당자</th>
<th>수집날짜</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${fieldDataList}">
<tr>
<td><a href="/admin/fieldData/${item.id}"><c:out value="${item.id}" /></a></td>
<td><a href="/admin/fieldData/${item.id}"><c:out value="${item.region}" /></a></td>
<td><c:out value="${item.userVO.company}" /></td>
<td><c:out value="${item.userVO.name}" /></td>
<td class="td_date"><c:out value="${item.save_date}" /></td>
<td>
<c:choose>
<c:when test="${item.status eq '0'}"><span class="label label-warning">수집</span> </c:when>
<c:when test="${item.status eq '1'}"><span class="label label-danger">검증실패</span> </c:when>
<c:when test="${item.status eq '2'}"><span class="label label-primary">검증</span> </c:when>
<c:when test="${item.status eq '3'}"><span class="label label-danger">반영실패</span> </c:when>
<c:when test="${item.status eq '4'}"><span class="label label-success">반영</span> </c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr><td colspan="4">요청한 목록이 없습니다.</td></tr>
</c:if>
</tbody>
</table>
<div id="paging" style="width: 100%;">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page" />
<form:hidden path="pageIndex" />
</div>
</form:form>
</div>
</section>
</body>
</html>
<div class="mx-lg-2">
<h1 class="h4 m-3"> 현장수집 데이터(${count})</h1>
<form:form commandName="fieldDataSearchVO" name="searchForm" action="/admin/fieldData" method="get">
<div class="row justify-content-between bg-white mx-3 py-2">
<div class="col-auto">
<ul class="nav">
<li class="nav-item">
<a class="nav-link ${fieldDataSearchVO.status0 eq 1?'active':'disabled'}" href="#">
<input type="checkbox" class="statusChkBox d-none" name="status0" id="status0"
value="1" ${fieldDataSearchVO.status0 eq 1?'checked':''}>
<label for="status0">수집</label>
</a>
</li>
<li class="nav-item">
<a class="nav-link ${fieldDataSearchVO.status1 eq 1?'active':'disabled'}" href="#">
<input type="checkbox" class="statusChkBox d-none" name="status1" id="status1"
value="1" ${fieldDataSearchVO.status1 eq 1?'checked':''}>
<label for="status1">검증실패</label>
</a>
</li>
<li class="nav-item">
<a class="nav-link ${fieldDataSearchVO.status2 eq 1?'active':'disabled'}" href="#">
<input type="checkbox" class="statusChkBox d-none" name="status2" id="status2"
value="1" ${fieldDataSearchVO.status2 eq 1?'checked':''}>
<label for="status2">검증</label>
</a>
</li>
<li class="nav-item">
<a class="nav-link ${fieldDataSearchVO.status3 eq 1?'active':'disabled'}">
<input type="checkbox" class="statusChkBox d-none" name="status3" id="status3"
value="1" ${fieldDataSearchVO.status3 eq 1?'checked':''}>
<label for="status3">반영실패</label>
</a>
</li>
<li class="nav-item">
<a class="nav-link ${fieldDataSearchVO.status4 eq 1?'active':'disabled'}" href="#">
<input type="checkbox" class="statusChkBox d-none" name="status4" id="status4"
value="1" ${fieldDataSearchVO.status4 eq 1?'checked':''}>
<label for="status4">반영</label>
</a>
</li>
</ul>
</div>
<div class="col-auto row">
<div class="col-auto">
<select class="form-select" name="searchCondition">
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'all'}"><c:out
value="selected"/></c:if> value="all">통합검색
</option>
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'name'}"><c:out
value="selected"/></c:if> value="name">이름
</option>
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'company'}"><c:out value="selected"/></c:if>
value="company">소속
</option>
<option <c:if test="${fieldDataSearchVO.searchCondition eq 'region'}"><c:out value="selected"/></c:if>
value="region">위치
</option>
</select>
</div>
<div class="col-auto">
<input type="text" class="form-control" name="searchKeyword"
value="${fieldDataSearchVO.searchKeyword}"/>
</div>
<div class="col-auto">
<input class="btn btn-outline-secondary" type="submit" value="검색"/>
</div>
</div>
</div>
<div class="row m-3 p-2 bg-white">
<table class="table table-hover text-center">
<thead>
<tr>
<th>Data ID</th>
<th>지역</th>
<th>소속</th>
<th>담당자</th>
<th>수집날짜</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${fieldDataList}">
<tr>
<td><a href="/admin/fieldData/${item.id}"><c:out value="${item.id}"/></a></td>
<td><a href="/admin/fieldData/${item.id}"><c:out value="${item.region}"/></a></td>
<td><c:out value="${item.userVO.company}"/></td>
<td><c:out value="${item.userVO.name}"/></td>
<td class="td_date"><c:out value="${item.save_date}"/></td>
<td>
<c:choose>
<c:when test="${item.status eq '0'}"><span class="card-warning">수집</span> </c:when>
<c:when test="${item.status eq '1'}"><span
class="card-default">검증실패</span> </c:when>
<c:when test="${item.status eq '2'}"><span class="card-warning">검증</span> </c:when>
<c:when test="${item.status eq '3'}"><span
class="card-default">반영실패</span> </c:when>
<c:when test="${item.status eq '4'}"><span class="card-success">반영</span> </c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr>
<td colspan="4">요청한 목록이 없습니다.</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<div class="text-page">
<form:hidden path="pageIndex"/>
<nav aria-label="Page navigation">
<ul class="pagination justify-content-center">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page"/>
</ul>
</nav>
</div>
</form:form>
</div>

View File

@ -1,341 +1,118 @@
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<script src="<c:out value="/js/openlayers/ol.js" />"></script>
<script src="<c:out value="/js/openlayers/proj4.js" />"></script>
<%@ 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="spring" uri="http://www.springframework.org/tags" %>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<link href="<c:out value="/css/openlayers/ol.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<table class="detail_table">
<thead>
<tr>
<th colspan="6">담당자</th>
</tr>
</thead>
<tbody>
<tr>
<th>소속</th>
<td class="text-center"><c:out value='${userVO.company}' /></td>
<th>담당자</th>
<td class="text-center"><c:out value='${userVO.name}' /></td>
<th>연락처</th>
<td class="text-center"><c:out value='${userVO.phonenum}' /></td>
</tr>
</tbody>
</table>
<table class="detail_table">
<thead>
<tr>
<th colspan="4">지도정보</th>
</tr>
</thead>
<tbody>
<tr>
<th>레이어 ID</th>
<td class="text-center"><c:out value="${fieldDataVO.layer_id}" /></td>
<th>수집일</th>
<td class="text-center"><c:out value="${fieldDataVO.save_date}" /></td>
</tr>
<tr>
<th>지역</th>
<td class="text-center"><c:out value="${fieldDataVO.region}" /></td>
<th>상태</th>
<td class="text-center">
<c:choose>
<c:when test="${fieldDataVO.status eq '0'}">
<span class="label label-warning">수집</span>
</c:when>
<c:when test="${fieldDataVO.status eq '1'}">
<span class="label label-danger">검증실패</span>
</c:when>
<c:when test="${fieldDataVO.status eq '2'}">
<span class="label label-success">검증성공</span>
</c:when>
<c:when test="${fieldDataVO.status eq '3'}">
<span class="label label-danger">반영실패</span>
</c:when>
<c:when test="${fieldDataVO.status eq '4'}">
<span class="label label-success">반영</span>
</c:when>
</c:choose>
</td>
</tr>
<tr>
<th>설명</th>
<td></td>
<th>오류내용</th>
<td></td>
</tr>
</tbody>
</table>
<div class="field_data_content">
<div class="mapWrap">
<div class="map-title">측량데이터</div>
<div class="map" id="map"></div>
</div>
<div class="fieldDataDiv">
<table class="fieldDataTable" id="fieldDataTable">
<thead>
<tr>
<th colspan="4">속성정보</th>
</tr>
</thead>
<tbody id="fieldDataBody">
</tbody>
</table>
</div>
<ul id="fieldDataPaging" class="fieldDataPaging"></ul>
</div>
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/admin/fieldData'" />
</p>
<p class="search_p2">
<input class="btn btn-primary" type="button" value="표준DB변환 및 검증" onclick="fieldVerify();" />
<input class="btn btn-primary" type="button" value="반영" onclick="fieldReflect();" />
</p>
</div>
</div>
</section>
</body>
<script src="<c:out value="/js/openlayers/ol.js" />"></script>
<script src="<c:out value="/js/openlayers/proj4.js" />"></script>
<script>
function fieldVerify(){
alert('준비중');
}
function fieldReflect(){
alert('준비중');
}
$(function() {
drawingObj();
makePropPaging();
makePropTable();
});
var field_data = JSON.parse('${fieldDataVO.field_data}');
var wkt = null;
proj4.defs('EPSG:5186', '+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +units=m +no_defs');
var baseMap = new ol.layer.Tile({
title : 'vworldMap',
visible : true,
type : 'base',
source : new ol.source.XYZ({
url : 'http://api.vworld.kr/req/wmts/1.0.0/5616CAD1-5D79-3EE3-87D5-878A4AD0F91F/Base/{z}/{y}/{x}.png'
})
});
var view = new ol.View({
center : ol.proj.transform([ 203766.984, 541132.2 ], 'EPSG:5186', 'EPSG:3857'),
zoom : 18, // 초기화면 zoom level
minZoom : 1, // 최소 zoom level
maxZoom : 19, // 최대 zoom level
});
var map = new ol.Map({
layers : [ baseMap ],
logo : false, //우측하단 로고 제거
target : 'map',
loadTilesWhileAnimating : true,
view : view
});
var format = new ol.format.WKT();
var objVectorSource = new ol.source.Vector({});
var objVectorLayer = new ol.layer.Vector({
source : objVectorSource,
style : objStyle
});
var cursorStyle = "";
var selected = null;
map.on("pointermove", function(e) {
if (selected !== null) {
selected.setStyle(undefined);
selected = null;
}
var newStyle = this.hasFeatureAtPixel(e.pixel) ? "pointer" : "";
newStyle !== cursorStyle && $(this.getTargetElement()).css("cursor", cursorStyle = newStyle);
map.forEachFeatureAtPixel(e.pixel, function(f) {
selected = f;
f.setStyle(highlightStyle);
return true;
});
});
var highlightStyle = new ol.style.Style({
stroke : new ol.style.Stroke({
color : '#3399CC',
width : 8,
}),
});
// feature click evt
map.on('click', function(event) {
map.forEachFeatureAtPixel(event.pixel, function(feature, layer) {
var idx = feature.get("idx");
makePropTable(idx);
})
});
function objStyle(feature, resolution) {
var selected = feature.get('selected');
var style = null;
if (selected) {
style = new ol.style.Style({
stroke : new ol.style.Stroke({
color : '#f00',
width : 5
})
});
} else {
style = new ol.style.Style({
stroke : new ol.style.Stroke({
color : '#52b4e7',
width : 5
})
});
}
return style;
}
function resetObjStyle() {
var feature = getObjFeatureBySelected();
if (feature) {
feature.set("selected", false);
}
}
function makePropTable(idx) {
if (idx == null)
idx = 0;
$("#fieldDataBody > tr").remove();
var num = 0;
var tags = "";
for(var i in field_data[idx].prop) {
num++;
if(num % 2 == 0){
tags += "<th>" + i + "</th><td>" + field_data[idx].prop[i] + "</td></tr>";
}else{
tags += "<tr><th>" + i + "</th><td>" + field_data[idx].prop[i] + "</td>";
}
}
$("#fieldDataBody").append(tags);
nowPagingOn(idx);
resetObjStyle();
//중심좌표 구하기?
//var aa = feature.getGeometry().v;
//var oo = ol.extent.getCenter(aa);
var center = field_data[idx].center;
var feature = getObjFeatureByIdx(idx);
moveCenter(center);
if (feature) {
feature.set("selected", true);
}
}
function nowPagingOn(idx){
$(".paging_li").removeClass("fieldPagingOn")
$("#paging_li"+idx).attr("class", "fieldPagingOn paging_li");
}
function makePropPaging() {
var pagingNumber = 0;
for (var idx in field_data) {
pagingNumber++;
$("#fieldDataPaging").append('<li class="paging_li" id="paging_li'+idx+'" onclick="makePropTable(' + idx + ')">' + pagingNumber+ '</li>');
}
}
function drawingObj() {
objVectorSource.clear();
var objFeatures = [];
for (var idx in field_data) {
var objFeature = format.readFeature(field_data[idx].WKT, {
dataProjection : 'EPSG:5186',
featureProjection : 'EPSG:3857'
});
objFeature.setProperties({
"idx" : idx,
"selected" : false
});
objFeatures.push(objFeature);
}
objVectorSource.addFeatures(objFeatures);
map.addLayer(objVectorLayer);
}
function moveCenter(center) {
var coordinates = ol.proj.transform(center, 'EPSG:5186', 'EPSG:3857');
map.getView().setCenter(coordinates);
}
function getObjFeatureBySelected() {
var features = objVectorSource.getFeatures();
var feature = null;
for (var i = 0, size = features.length; i < size; i++) {
if (features[i].get('selected') == true) {
feature = features[i];
break;
}
}
return feature;
}
function getObjFeatureByIdx(idx) {
var features = objVectorSource.getFeatures();
var feature = null;
for (var i = 0, size = features.length; i < size; i++) {
if (features[i].get('idx') == idx) {
feature = features[i];
break;
}
}
return feature;
}
const field_data = JSON.parse('${fieldDataVO.field_data}');
</script>
</html>
<script src="<c:out value="/js/admin/fieldView.js" />"></script>
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<div class="row justify-content-end bg-white mx-3 py-2">
<table class="table table-hover text-center">
<thead>
<tr>
<h5>담당자</h5>
</tr>
</thead>
<tbody>
<tr>
<th>소속</th>
<td class="text-center"><c:out value='${userVO.company}'/></td>
<th>이름</th>
<td class="text-center"><c:out value='${userVO.name}'/></td>
<th>연락처</th>
<td class="text-center"><c:out value='${userVO.phonenum}'/></td>
</tr>
</tbody>
</table>
</div>
<div class="row justify-content-end bg-white mx-3 mt-3 mb-2 py-2">
<table class="table table-hover text-center">
<thead>
<tr>
<h3>현장수집 데이터</h3>
</tr>
</thead>
<tbody>
<tr>
<th>레이어 ID</th>
<td class="text-center"><c:out value="${fieldDataVO.layer_id}"/></td>
<th>수집일</th>
<td class="text-center"><c:out value="${fieldDataVO.save_date}"/></td>
</tr>
<tr>
<th>지역</th>
<td class="text-center"><c:out value="${fieldDataVO.region}"/></td>
<th>상태</th>
<td class="text-center">
<c:choose>
<c:when test="${fieldDataVO.status eq '0'}">
<span class="label label-warning">수집</span>
</c:when>
<c:when test="${fieldDataVO.status eq '1'}">
<span class="label label-danger">검증실패</span>
</c:when>
<c:when test="${fieldDataVO.status eq '2'}">
<span class="label label-success">검증성공</span>
</c:when>
<c:when test="${fieldDataVO.status eq '3'}">
<span class="label label-danger">반영실패</span>
</c:when>
<c:when test="${fieldDataVO.status eq '4'}">
<span class="label label-success">반영</span>
</c:when>
</c:choose>
</td>
</tr>
<tr>
<th>설명</th>
<td></td>
<th>오류내용</th>
<td></td>
</tr>
</tbody>
</table>
</div>
<div class="border border-2 border border-dark border border-start-0 border-end-0 py-2 mx-3">
<div class="mapWrap">
<div class="map-title text-center">측량데이터</div>
<div class="map" id="map"></div>
</div>
<div class="fieldDataDiv">
<table class="fieldDataTable" id="fieldDataTable">
<thead>
<tr>
<th colspan="4">속성정보</th>
</tr>
</thead>
<tbody id="fieldDataBody">
</tbody>
</table>
</div>
<ul id="fieldDataPaging" class="fieldDataPaging"></ul>
</div>
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/admin/fieldData'"/>
</p>
<p class="search_p2">
<input class="btn btn-secondary" type="button" value="표준DB변환 및 검증" onclick="fieldVerify();"/>
<input class="btn btn-success" type="button" value="반영" onclick="fieldReflect();"/>
</p>
</div>
</div>
</div>

View File

@ -1,85 +1,86 @@
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
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="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html>
<html lang="ko">
<script src="<c:url value="/js/admin/history.js"/>"></script>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<div class="section_title">
<!-- <p>지도사용 이력</p> -->
</div>
<div class="section_content">
<h1 class="h4 m-3">지도사용 이력</h1>
<form:form commandName="UseHistorySearchVO" name="searchForm" action="/admin/history" method="get">
<div class="row justify-content-end bg-white mx-3 py-2">
<div class="col-auto row">
<div class="col-auto">
<select class="form-select" name="searchCondition">
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'all'}"><c:out value="selected"/></c:if>
value="all">통합검색
</option>
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'name'}"><c:out
value="selected"/></c:if> value="name">이름
</option>
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'company'}"><c:out
value="selected"/></c:if> value="company">소속
</option>
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'req_area'}"><c:out
value="selected"/></c:if> value="req_area">위치
</option>
</select>
</div>
<div class="col-auto">
<input type="text" class="form-control" name="searchKeyword"
value="${UseHistorySearchVO.searchKeyword}"/>
</div>
<div class="col-auto">
<input class="btn btn-outline-secondary" type="submit" value="검색"/>
</div>
</div>
</div>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<form:form commandName="UseHistorySearchVO" name="searchForm" action="/admin/history" method="get">
<div class="search_div">
<div class="search_menu">&nbsp;</div>
<div class="search_keyword">
<select class="form-control search_selectbox" name="searchCondition">
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'all'}"><c:out value="selected" /></c:if> value="all">통합검색</option>
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'content'}"><c:out value="selected" /></c:if> value="content">작업내용</option>
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'name'}"><c:out value="selected" /></c:if> value="name">이름</option>
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'company'}"><c:out value="selected" /></c:if> value="company">소속</option>
<option <c:if test="${UseHistorySearchVO.searchCondition eq 'area'}"><c:out value="selected" /></c:if> value="area">위치</option>
</select>
<input type="text" class="form-control search_inputbox" name="searchKeyword" value="<c:out value='${UseHistorySearchVO.searchKeyword}' />" />
<input class="btn btn-default" type="submit" value="검색" />
</div>
</div>
<table class="list-table">
<thead>
<tr><th colspan="5">지도사용 이력</th></tr>
<tr>
<th>위치</th>
<th>작업내용</th>
<th>소속</th>
<th>담당자</th>
<th>날짜</th>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${useHistoryList}">
<tr>
<td><c:out value="${item.reqArea}" /></td>
<td><%--<c:out value="${item.content}" />--%></td>
<td><c:out value="${item.company}" /></td>
<td><c:out value="${item.name}" /></td>
<td class="td_date"><c:out value="${item.logDate}" /></td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr><td colspan="5">요청한 목록이 없습니다.</td></tr>
</c:if>
</tbody>
</table>
<div id="paging" style="width: 100%;">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page" />
<form:hidden path="pageIndex" />
</div>
</form:form>
</div>
</section>
</body>
</html>
<div class="row m-3 p-2 bg-white">
<table class="table table-hover text-center">
<thead>
<tr>
<th>위치</th>
<th>소속</th>
<th>담당자</th>
<th>날짜</th>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${useHistoryList}">
<tr>
<td><c:out value="${item.reqArea}"/></td>
<td><c:out value="${item.company}"/></td>
<td><c:out value="${item.name}"/></td>
<td class="td_date"><c:out value="${item.logDate}"/></td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr>
<td colspan="5">요청한 목록이 없습니다.</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<div class="text-page">
<form:hidden path="pageIndex"/></form:form>
<nav aria-label="Page navigation">
<ul class="pagination justify-content-center">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page"/>
</ul>
</nav>
</div>
</div>

View File

@ -1,12 +1,12 @@
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
<%@ 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="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html>
<html lang="ko">
<script src="<c:url value="/js/admin/request.js"/>"></script>
<<<<<<< HEAD
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
@ -125,3 +125,116 @@
</section>
</body>
</html>
=======
<div class="section_content">
<h1 class="h4 m-3">지도사용 요청</h1>
<form:form commandName="useRequestSearchVO" name="searchForm" action="/admin/request" method="get">
<input type="hidden" name="status" value="<c:out value="${useRequestSearchVO.status}" />"/>
<div class="row justify-content-between bg-white mx-3 py-2">
<div class="col-auto">
<ul class="nav nav-pills" role="tablist">
<li role="presentation" class="nav-item" style="margin-left: 16px"><a
class="nav-link ${empty useRequestSearchVO.status?'active':''}" href="/admin/request">전체</a>
</li>
<li role="presentation" class="nav-item"><a
class="nav-link ${useRequestSearchVO.status eq '0'?'active':''}" href="/admin/request?status=0">승인</a>
</li>
<li role="presentation" class="nav-item"><a
class="nav-link ${useRequestSearchVO.status eq '-1'?'active':''}"
href="/admin/request?status=-1">반려</a></li>
<li role="presentation" class="nav-item"><a
class="nav-link ${useRequestSearchVO.status eq '99'?'active':''}"
href="/admin/request?status=99">승인대기<span class="badge"><c:out value="${statusCnt}"/></span></a>
</li>
</ul>
</div>
<div class="col-auto row">
<div class="col-auto">
<select class="form-select" name="searchCondition">
<option <c:if test="${useRequestSearchVO.searchCondition eq 'all'}"><c:out value="selected"/></c:if>
value="all">통합검색
</option>
<option <c:if test="${useRequestSearchVO.searchCondition eq 'title'}"><c:out
value="selected"/></c:if> value="title">작업명
</option>
<option <c:if test="${useRequestSearchVO.searchCondition eq 'name'}"><c:out
value="selected"/></c:if> value="name">이름
</option>
<option <c:if test="${useRequestSearchVO.searchCondition eq 'company'}"><c:out
value="selected"/></c:if> value="company">소속
</option>
</select>
</div>
<div class="col-auto">
<input type="text" class="form-control" name="searchKeyword" value="${userSearchVO.searchKeyword}"/>
</div>
<div class="col-auto">
<input class="btn btn-outline-secondary" type="submit" value="검색"/>
</div>
</div>
</div>
</div>
<div class="row m-3 p-2 bg-white">
<table class="table table-hover text-center">
<thead>
<tr>
<th>번호</th>
<th>작업명</th>
<th>소속</th>
<th>담당자</th>
<th>날짜</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${useRequestList}" varStatus="idx">
<tr>
<td><c:out value="${item.idx}"/></td>
<td><a href="/admin/request/<c:out value='${item.idx}' />"><c:out value="${item.title}"/></a>
</td>
<td><c:out value="${item.company}"/></td>
<td><c:out value="${item.name}"/></td>
<td class="td_date"><c:out value="${item.r_date}"/></td>
<td>
<c:choose>
<c:when test="${item.status eq '99'}"><span class="card-warning"><c:out
value='승인대기'/></span></c:when>
<c:when test="${item.status eq '0'}"><span class="card-success"><c:out
value='승인'/></span></c:when>
<c:when test="${item.status eq '-1'}"><span class="card-default"><c:out
value='반려'/></span></c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr>
<td colspan="6">요청한 목록이 없습니다.</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<div class="text-page">
<form:hidden path="pageIndex"/></form:form>
<nav aria-label="Page navigation">
<ul class="pagination justify-content-center">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page"/>
</ul>
</nav>
</div>
</div>
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
>>>>>>> fe79f99402336104ee1532a6190dfbcb6ec1d1e3

View File

@ -1,215 +1,206 @@
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ 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="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<script src="<c:url value="/js/admin/requestView.js"/>"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<form:form commandName="useRequestVO" name="frm" method="POST" action="/admin/updateReqConfirm" id="updateFrm">
<input type="hidden" name="idx" value="<c:out value='${useRequestVO.idx}' />" />
<input type="hidden" name="admin_id" value="<c:out value='${loginUserVO.userid}' />" />
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<input type="hidden" id="layers" name="layers"/>
<input type="hidden" id="places" name="places"/>
<table class="detail_table">
<thead>
<tr><th colspan="8">담당자</th></tr>
</thead>
<tbody>
<tr>
<th>소속</th>
<td class="text-center"><c:out value='${userVO.company}' /></td>
<th>담당자</th>
<td class="text-center"><c:out value='${userVO.name}' /></td>
<th>연락처</th>
<td class="text-center"><c:out value='${userVO.phonenum}' /></td>
<th>상태</th>
<td class="text-center">
<c:choose>
<c:when test="${useRequestVO.status eq '99'}"><span class="label label-warning"><c:out value='승인대기' /></span></c:when>
<c:when test="${useRequestVO.status eq '0'}"><span class="label label-success"><c:out value='승인' /></span></c:when>
<c:when test="${useRequestVO.status eq '-1'}"><span class="label label-default"><c:out value='반려' /></span></c:when>
</c:choose>
</td>
</tr>
</tbody>
</table>
<table class="detail_table">
<thead>
<tr><th colspan="5">지도 사용 요청</th></tr>
</thead>
<tbody>
<tr>
<th colspan="2">작업명</th>
<td><c:out value='${useRequestVO.title}' /></td>
</tr>
<tr>
<th colspan="2">기간</th>
<td><c:out value='${useRequestVO.s_date}' /> ~ <c:out value='${useRequestVO.e_date}' /></td>
</tr>
<tr>
<th colspan="2">장소</th>
<td id="area_select_td">
<c:forEach var="item" items="${selectArea}" varStatus="status">
<div id="addedBlock<c:out value='${status.index}' />">
<c:out value='' />${item}
</div>
</c:forEach>
</td>
</tr>
<tr>
<th style="width:7%;" rowspan="3">레이어</th>
<th><label>지하시설물</label></th>
<td>
<div class="facility">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'facility'}">
<c:set var="faciltySize" value="${faciltySize+1}" />
<label class="layer-label">
<input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}"
<c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
<c:out value='checked' />
</c:if>
</c:forEach>
/> <c:out value='${item.name}' />
</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th><label>지하구조물</label></th>
<td>
<div class="structure">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'structure'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}"
<c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
<c:out value='checked' />
</c:if>
</c:forEach>
/> <c:out value='${item.name}' />
</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th><label>지반</label></th>
<td>
<div class="ground">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'ground'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled" value="${item.layer}"
<c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/> <c:out value='${item.name}' />
</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th colspan="2">요청 내용</th>
<td><c:out value='${useRequestVO.user_msg}' /></td>
</tr>
</tbody>
</table>
<c:choose>
<c:when test="${useRequestVO.status eq '99'}">
<table class="detail_table">
<tbody>
<tr>
<th>전달 메세지</th>
<td>
<textarea class="form-control" rows="3" style="resize:none;" name="admin_msg"></textarea>
</td>
</tr>
</tbody>
</table>
<input type="hidden" name="status" id="status" />
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/admin/request'" />
</p>
<p class="search_p2">
<input class="btn btn-primary" type="button" value="거절" onclick="confirmReqBtn('-1'); return false;" />
<input class="btn btn-primary" type="button" value="승인" onclick="confirmReqBtn('0'); return false;" />
</p>
</div>
</c:when>
<c:otherwise>
<table class="detail_table">
<tbody>
<tr>
<th>전달 메세지</th>
<td><c:out value='${useRequestVO.admin_msg}' /></td>
</tr>
</tbody>
</table>
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/admin/request'" />
</p>
</div>
</c:otherwise>
</c:choose>
</div>
</form:form>
</section>
<form:form commandName="useRequestVO" name="frm" method="POST" action="/admin/updateReqConfirm" id="updateFrm">
<input type="hidden" name="idx" value="<c:out value='${useRequestVO.idx}' />"/>
<input type="hidden" name="admin_id" value="<c:out value='${loginUserVO.userid}' />"/>
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<input type="hidden" id="layers" name="layers"/>
<input type="hidden" id="places" name="places"/>
<div class="row justify-content-between bg-white mx-3 py-2">
<table class="table table-hover text-center">
<thead>
<h5 class="">&nbsp;담당자</h5>
</thead>
<tbody>
<tr>
<th>소속</th>
<td class="text-center"><c:out value='${userVO.company}'/></td>
<th>이름</th>
<td class="text-center"><c:out value='${userVO.name}'/></td>
<th>연락처</th>
<td class="text-center"><c:out value='${userVO.phonenum}'/></td>
<th>상태</th>
<td class="text-center">
<c:choose>
<c:when test="${useRequestVO.status eq '99'}"><span class="label label-warning"><c:out
value='승인대기'/></span></c:when>
<c:when test="${useRequestVO.status eq '0'}"><span class="label label-success"><c:out
value='승인'/></span></c:when>
<c:when test="${useRequestVO.status eq '-1'}"><span class="label label-default"><c:out
value='반려'/></span></c:when>
</c:choose>
</td>
</tr>
</tbody>
</table>
</div>
<div class="row justify-content-between bg-white mx-3 mt-4 py-2">
<table class="table table-hover text-center">
<thead>
<h3 class="h4 m-3">지도사용 요청</h3>
</thead>
<tbody>
<tr>
<th colspan="2">작업명</th>
<td><c:out value='${useRequestVO.title}'/></td>
</tr>
<tr>
<th colspan="2">기간</th>
<td><c:out value='${useRequestVO.s_date}'/> ~ <c:out value='${useRequestVO.e_date}'/></td>
</tr>
<tr>
<th colspan="2">장소</th>
<td id="area_select_td">
<c:forEach var="item" items="${selectArea}" varStatus="status">
<div id="addedBlock<c:out value='${status.index}' />">
<c:out value=''/>${item}
</div>
</c:forEach>
</td>
</tr>
<tr>
<th style="width:7%;" rowspan="3">레이어</th>
<th><label>지하시설물</label></th>
<td>
<div class="facility">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'facility'}">
<c:set var="faciltySize" value="${faciltySize+1}"/>
<label class="layer-label">
<input type="checkbox" name="${item.code}" id="${item.code}" disabled="disabled"
value="${item.layer}"
<c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
<c:out value='checked'/>
</c:if>
</c:forEach>
/> <c:out value='${item.name}'/>
</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th><label>지하구조물</label></th>
<td>
<div class="structure">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'structure'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}"
disabled="disabled" value="${item.layer}"
<c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
<c:out value='checked'/>
</c:if>
</c:forEach>
/> <c:out value='${item.name}'/>
</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th><label>지반</label></th>
<td>
<div class="ground">
<c:forEach var="item" items="${layersVO}" varStatus="status">
<c:if test="${item.code eq 'ground'}">
<label class="layer-label"><input type="checkbox" name="${item.code}" id="${item.code}"
disabled="disabled" value="${item.layer}"
<c:forEach var="item2" items="${layers}" varStatus="status2">
<c:if test="${item.layer eq item2}">
checked
</c:if>
</c:forEach>
/> <c:out value='${item.name}'/>
</label>
</c:if>
</c:forEach>
</div>
</td>
</tr>
<tr>
<th colspan="2">요청 내용</th>
<td><c:out value='${useRequestVO.user_msg}'/></td>
</tr>
</tbody>
</table>
</div>
<c:choose>
<c:when test="${useRequestVO.status eq '99'}">
<table class="detail_table mx-3">
<tbody>
<tr>
<th>전달 메세지</th>
<td>
<textarea class="form-control" rows="3" style="resize:none;" name="admin_msg"></textarea>
</td>
</tr>
</tbody>
</table>
<input type="hidden" name="status" id="status"/>
</div>
<div class="row justify-content-between bg-white mx-3 py-2">
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록"
onclick="location.href='/admin/request'"/>
</p>
<p class="search_p2">
<input class="btn btn-danger" type="button" value="거절"
onclick="confirmReqBtn('-1'); return false;"/>
<input class="btn btn-success" type="button" value="승인"
onclick="confirmReqBtn('0'); return false;"/>
</p>
</div>
</div>
</c:when>
<c:otherwise>
<table class="detail_table bg">
<tbody>
<tr>
<th>전달 메세지</th>
<td><c:out value='${useRequestVO.admin_msg}'/></td>
</tr>
</tbody>
</table>
<div class="section_btn">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/admin/request'"/>
</p>
</div>
</c:otherwise>
</c:choose>
</form:form>
<script type="text/javascript">
function confirmReqBtn(val){
$("#status").val(val);
var msg;
if(val == 0){
msg = "승인";
}else{
msg = "거절";
}
if(confirm("지도사용요청을 "+msg+" 하시겠습니까?")){
$("#updateFrm").submit();
}else{
return false;
}
}
</script>
</body>
</html>

View File

@ -1,146 +1,140 @@
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
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="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html>
<html lang="ko">
<script src="<c:url value="/js/admin/userinfo.js"/>"></script>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<style>
.searchList > li{
display: inline;
}
</style>
</head>
<script>
function fn_link_page(pageNo) {
document.searchForm.pageIndex.value = pageNo;
document.searchForm.action = "<c:url value='/admin/userInfo' />";
document.searchForm.submit();
}
</script>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<form:form commandName="userSearchVO" name="searchForm" action="/admin/userInfo" method="get">
<div class="search_div">
<div class="search_menu">
<ul class="nav nav-pills" role="tablist">
<li role="presentation" <c:if test="${userSearchVO.auth eq '99'}">class="active"</c:if>><a href="/admin/userInfo?auth=99">승인대기<span class="badge"><c:out value='${standByCount}' /></span></a></li>
<li role="presentation" <c:if test="${empty userSearchVO.auth}">class="active"</c:if>><a href="/admin/userInfo">회원 관리</a></li>
</ul>
<input type="hidden" name="auth" value="${userSearchVO.auth}" />
</div>
<div class="search_keyword">
<select class="form-control search_selectbox" name="searchCondition">
<option <c:if test="${userSearchVO.searchCondition eq 'all'}">selected</c:if> value="all">통합검색</option>
<option <c:if test="${userSearchVO.searchCondition eq 'name'}">selected</c:if> value="name">이름</option>
<option <c:if test="${userSearchVO.searchCondition eq 'company'}">selected</c:if> value="company">소속</option>
<option <c:if test="${userSearchVO.searchCondition eq 'email'}">selected</c:if> value="email">이메일</option>
<option <c:if test="${userSearchVO.searchCondition eq 'phonenum'}">selected</c:if> value="phonenum">전화번호</option>
</select>
<input type="text" class="form-control search_inputbox" name="searchKeyword" value="${userSearchVO.searchKeyword}" />
<input class="btn btn-default" type="submit" value="검색" />
</div>
</div>
<table class="list-table">
<thead>
<tr><th colspan="7">회원 관리</th></tr>
<tr>
<th>아이디</th>
<th>이름</th>
<th>소속</th>
<th>전화번호</th>
<th>이메일</th>
<th>가입일</th>
<c:choose>
<c:when test="${userSearchVO.auth eq '99'}">
<th>상태</th>
</c:when>
<c:otherwise>
<th>권한</th>
</c:otherwise>
</c:choose>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${userList}" varStatus="idx">
<tr>
<td><a href="/admin/userInfo/<c:out value='${item.userid}' />"><c:out value='${item.userid}' /></a></td>
<td><a href="/admin/userInfo/<c:out value='${item.userid}' />"><c:out value='${item.name}' /></a></td>
<td><a href="/admin/userInfo/<c:out value='${item.userid}' />"><c:out value='${item.company}' /></a></td>
<td><a href="/admin/userInfo/<c:out value='${item.userid}' />"><c:out value='${item.phonenum}' /></a></td>
<td><a href="/admin/userInfo/<c:out value='${item.userid}' />"><c:out value='${item.email}' /></a></td>
<td class="td_date"><c:out value='${item.regdate}' /></a></td>
<td>
<c:choose>
<c:when test="${item.auth eq '1'}">관리자</c:when>
<c:when test="${item.auth eq '2'}">사용자</c:when>
<c:when test="${item.auth eq '99'}">
<input type="button" class="btn btn-default" value="승인" onclick="confirmBtn('${item.userid}','2'); return false;" />
<input type="button" class="btn btn-default" value="삭제" onclick="confirmBtn('${item.userid}','-1'); return false;" />
</c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr><td colspan="7">요청한 목록이 없습니다.</td></tr>
</c:if>
</tbody>
</table>
<div id="paging" style="width: 100%;">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page" />
<form:hidden path="pageIndex" />
</div>
</form:form>
<form:form commandName="userVO" id="updateFrm" method="post" action="/admin/userSign">
<input type="hidden" id="userid" name="userid" />
<input type="hidden" id="auth" name="auth" />
</form:form>
</div>
</section>
<script type="text/javascript">
function confirmBtn(userid, auth){
$("#userid").val(userid);
$("#auth").val(auth);
var msg;
if(auth == 2){
msg = "승인";
}else{
msg = "삭제";
}
if(confirm(msg+" 처리 하시겠습니까?")){
$("#updateFrm").submit();
}else{
return false;
}
}
</script>
</body>
</html>
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<h1 class="h4 m-3">회원관리</h1>
<form:form commandName="userSearchVO" name="searchForm" action="/admin/userInfo" method="get">
<div class="row justify-content-between bg-white mx-3 py-2">
<div class="col-auto">
<ul class="nav nav-pills" role="tablist" style="margin-left: 16px">
<li role="presentation" class="nav-item"><a
class="nav-link ${userSearchVO.auth eq '99'?'active':''}" href="/admin/userInfo?auth=99">승인대기<span
class="badge"><c:out value='${standByCount}'/></span></a></li>
<li role="presentation" class="nav-item"><a class="nav-link ${empty userSearchVO.auth?'active':''}"
href="/admin/userInfo">회원 관리</a></li>
</ul>
<input type="hidden" name="auth" value="${userSearchVO.auth}"/>
</div>
<div class="col-auto row">
<div class="col-auto">
<select class="form-select" name="searchCondition">
<option
<c:if test="${userSearchVO.searchCondition eq 'all'}">selected</c:if> value="all">통합검색
</option>
<option
<c:if test="${userSearchVO.searchCondition eq 'name'}">selected</c:if> value="name">이름
</option>
<option
<c:if test="${userSearchVO.searchCondition eq 'company'}">selected</c:if>
value="company">소속
</option>
<option
<c:if test="${userSearchVO.searchCondition eq 'email'}">selected</c:if> value="email">
이메일
</option>
<option
<c:if test="${userSearchVO.searchCondition eq 'phonenum'}">selected</c:if>
value="phonenum">전화번호
</option>
</select>
</div>
<div class="col-auto">
<input type="text" class="form-control" name="searchKeyword" value="${userSearchVO.searchKeyword}"/>
</div>
<div class="col-auto">
<input class="btn btn-outline-secondary" type="submit" value="검색"/>
</div>
</div>
</div>
<div class="row m-3 p-2 bg-white">
<table class="table table-hover text-center">
<thead>
<tr>
<th>아이디</th>
<th>이름</th>
<th>소속</th>
<th>전화번호</th>
<th>이메일</th>
<th>가입일</th>
<th>${userSearchVO.auth eq '99'?'상태':'권한'}</th>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="user" items="${userList}" varStatus="idx">
<tr>
<%--<a href="/admin/userInfo/<c:out value='${item.userid}' />"></a>--%>
<td class="clickAbleObj userInfoModalBtn useridTd"><c:out value='${user.userid}'/></td>
<td class="clickAbleObj userInfoModalBtn"><c:out value='${user.name}'/></td>
<td class="clickAbleObj userInfoModalBtn"><c:out value='${user.company}'/></td>
<td class="clickAbleObj userInfoModalBtn"><c:out value='${user.phonenum}'/></td>
<td class="clickAbleObj userInfoModalBtn"><c:out value='${user.email}'/></td>
<td class="clickAbleObj userInfoModalBtn td_date"><c:out value='${user.regdate}'/></td>
<td>
<c:choose>
<c:when test="${user.auth eq '1'}">관리자</c:when>
<c:when test="${user.auth eq '2'}">사용자</c:when>
<c:when test="${user.auth eq '99'}">
<input type="button" class="btn btn-outline-success" value="승인"
onclick="confirmBtn('${user.userid}','2'); return false;"/>
<input type="button" class="btn btn-outline-danger" value="삭제"
onclick="confirmBtn('${user.userid}','-1'); return false;"/>
</c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr>
<td colspan="7">요청한 목록이 없습니다.</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<div class="text-page">
<form:hidden path="pageIndex"/>
<nav aria-label="Page navigation">
<ul class="pagination justify-content-center">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page"/>
</ul>
</nav>
</div>
</form:form>
<form:form commandName="userVO" id="updateFrm" method="post" action="/admin/userSign">
<input type="hidden" id="userid" name="userid"/>
<input type="hidden" id="auth" name="auth"/>
</form:form>
</div>
<div class="modal fade" id="userInfoModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="userInfoModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="userInfoModalLabel">회원 정보 수정</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body" id="userInfoModalBody">
</div>
</div>
</div>
</div>

View File

@ -1,165 +1,88 @@
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
<%@ 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="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html>
<html lang="ko">
<div class="row justify-content-between bg-white mx-3 py-2">
<form:form commandName="userVO" name="updateForm" id="updateForm" action="/admin/userUpdate" method="post">
<div class="section_content">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
<input type="hidden" name="userid" value="${userVO.userid}"/>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_content">
<form:form commandName="userVO" name="updateForm" id="updateForm" action="/admin/userUpdate" method="post">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<input type="hidden" name="userid" value="${userVO.userid}" />
<div class="join_top">
<h2><span class="glyphicon glyphicon-edit"></span> 회원 정보 수정</h2>
</div>
<table class="join_table">
<tbody>
<tr>
<th>아이디</th>
<td>${userVO.userid}</td>
</tr>
<tr>
<th>비밀번호</th>
<td>
<p><label><input type="checkbox" id="changePw" /> 비밀번호 변경</<label></p>
<input type="password" class="form-control" id="password" name="password" value="" disabled="true" />
</td>
</tr>
<tr>
<th>비밀번호 확인</th>
<td><input type="password" class="form-control" id="passwordCheck" name="passwordCheck" value="" disabled="true" />
</td>
</tr>
<tr>
<th>이름</th>
<td><input type="text" class="form-control" name="name" id="name" value="${userVO.name}" /></td>
</tr>
<tr>
<th>소속기관</th>
<td><input type="text" class="form-control" name="company" id="company" value="${userVO.company}" /></td>
</tr>
<tr>
<th>연락처</th>
<td><input type="text" class="form-control" name="phonenum" id="phonenum" value="${userVO.phonenum}"/></td>
</tr>
<tr>
<th>이메일</th>
<td>
<div>
<input type="text" class="form-control" name="email" id="email" value="${userVO.email}" />
</div>
</td>
</tr>
<c:if test="${userVO.auth ne '99'}">
<tr>
<th>권한</th>
<td>
<label class="auth-label">
<input type="radio" name="auth" value="2"
<c:if test="${userVO.auth eq '2'}">checked</c:if>
/> 사용자
</label>
<label class="auth-label">
<input type="radio" name="auth" value="1"
<c:if test="${userVO.auth eq '1'}">checked</c:if>
/> 관리자
</label>
</td>
</tr>
</c:if>
</tbody>
</table>
<div class="join_top" style="margin-top:20px;">
<p class="search_p1">
<input class="btn btn-primary" type="button" value="목록" onclick="history.go(-1)" />
</p>
<p class="search_p2">
<c:choose>
<c:when test="${userVO.auth eq '99'}">
<input type="button" class="btn btn-primary" value="승인" onclick="confirmBtn('${item.userid}','2'); return false;" />
<input type="button" class="btn btn-primary" value="삭제" onclick="confirmBtn('${item.userid}','-1'); return false;" />
</c:when>
<c:otherwise>
<input class="btn btn-primary" type="button" value="수정" onclick="update();" />
</c:otherwise>
</c:choose>
</p>
</div>
</form:form>
</div>
</section>
<script type="text/javascript">
$(function(){
$("#changePw").click(function(){
if($(this).is(":checked")){
$("#password").attr("disabled", false);
$("#passwordCheck").attr("disabled", false);
}else{
$("#password").attr("disabled", true);
$("#passwordCheck").attr("disabled", true);
}
});
});
function update() {
var changePw = $("#changePw").is(":checked");
var pw1 = $('#password').val();
var pw2 = $('#passwordCheck').val();
var name = $('#name').val();
var company = $('#company').val();
var tell = $('#phonenum').val();
var email_1 = $('#email').val();
if (changePw && pw1 == "") {
alert('비밀번호를 입력해주세요');
$('#password').focus();
return;
} else if (changePw && pw2 == "") {
alert('비밀번호를 입력해주세요');
$('#passwordCheck').focus();
return;
} else if (changePw && (pw1 != pw2)) {
alert('비밀번호가 일치하지 않습니다.');
$('#pass').focus();
return;
} else if (name == "") {
alert('이름을 입력해주세요');
$('#name').focus();
return;
} else if (company == "") {
alert('소속기관을 입력해주세요');
$('#company').focus();
return;
} else if (tell == "") {
alert('연락처를 입력해주세요');
$('#phone_num').focus();
return;
} else if (email_1 == "") {
alert('이메일을 입력해주세요');
$('#email').focus();
return;
} else {
$("#updateForm").submit();
}
}
</script>
<table class="join_table">
<tbody>
<tr>
<th>아이디</th>
<td>${userVO.userid}</td>
</tr>
<tr>
<th><label for="password">비밀번호</label></th>
<td>
<p><label for="changePw"><input type="checkbox" id="changePw"/> 비밀번호 변경</label></p>
<input type="password" class="form-control" id="password" name="password" value=""
disabled="true"/>
</td>
</tr>
<tr>
<th><label for="passwordCheck">비밀번호 확인</label></th>
<td><input type="password" class="form-control" id="passwordCheck" name="passwordCheck" value=""
disabled="true"/>
</td>
</tr>
<tr>
<th><label for="name">이름</label></th>
<td><input type="text" class="form-control" name="name" id="name" value="${userVO.name}"/></td>
</tr>
<tr>
<th><label for="company">소속기관</label></th>
<td><input type="text" class="form-control" name="company" id="company" value="${userVO.company}"/>
</td>
</tr>
<tr>
<th><label for="phonenum">연락처</label></th>
<td><input type="text" class="form-control" name="phonenum" id="phonenum"
value="${userVO.phonenum}"/></td>
</tr>
<tr>
<th><label for="email">이메일</label></th>
<td>
<div>
<input type="text" class="form-control" name="email" id="email" value="${userVO.email}"/>
</div>
</td>
</tr>
</body>
</html>
<c:if test="${userVO.auth ne '99'}">
<tr>
<th>권한</th>
<td>
<input type="radio" name="auth" id="auth2" value="2"
<c:if test="${userVO.auth eq '2'}">checked</c:if>/>
<label for="auth2" class="auth-label">사용자</label>
<input type="radio" name="auth" id="auth1" value="1"
<c:if test="${userVO.auth eq '1'}">checked</c:if>/>
<label for="auth1" class="auth-label">관리자</label>
</td>
</tr>
</c:if>
</tbody>
</table>
<div class="join_top mt-3">
<p class="search_p2">
<c:choose>
<c:when test="${userVO.auth eq '99'}">
<input type="button" class="btn btn-success" value="승인"
onclick="confirmBtn('${userVO.userid}','2'); return false;"/>
<input type="button" class="btn btn-danger" value="삭제"
onclick="confirmBtn('${userVO.userid}','-1'); return false;"/>
</c:when>
<c:otherwise>
<input class="btn btn-success" type="button" value="수정" onclick="update();"/>
</c:otherwise>
</c:choose>
</p>
</div>
</div>
</form:form>
</div>

View File

@ -1,13 +1,13 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Error</title>
</head>
<body>
<spring:message code='fail.common.sql' />
<spring:message code='fail.common.sql'/>
</body>
</html>

View File

@ -1,13 +1,13 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Error</title>
</head>
<body>
<spring:message code='fail.common.msg' />
<spring:message code='fail.common.msg'/>
</body>
</html>

View File

@ -1,13 +1,13 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Error</title>
</head>
<body>
<spring:message code='fail.common.msg' />
<spring:message code='fail.common.msg'/>
</body>
</html>

View File

@ -1,13 +1,13 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Error</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Error</title>
</head>
<body>
<spring:message code='fail.common.msg' />
<spring:message code='fail.common.msg'/>
</body>
</html>

View File

@ -1,67 +1,70 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta http-equiv="content-language" content="ko">
<title>Error</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="<c:url value='/css/egov.css'/>" >
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="content-language" content="ko">
<title>Error</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap-3.3.2.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="<c:url value='/css/egov.css'/>">
</head>
<style>
.errorWrap{
border: 8px solid #094e84;
width:600px;
text-align: left;
position: absolute;
left: 50%;
top: 30%;
transform: translate(-50%, -50%);
.errorWrap {
border: 8px solid #094e84;
width: 600px;
text-align: left;
position: absolute;
left: 50%;
top: 30%;
transform: translate(-50%, -50%);
}
.errorTable{
margin: 0 auto;
margin-bottom: 20px;
}
.errorTable > tbody > tr > td{
padding:10px;
}
.errorBtn{
width:200px;
margin: 0 auto;
margin-bottom: 20px;
}
}
.errorTable {
margin: 0 auto;
margin-bottom: 20px;
}
.errorTable > tbody > tr > td {
padding: 10px;
}
.errorBtn {
width: 200px;
margin: 0 auto;
margin-bottom: 20px;
}
</style>
<body style="text-align: center; margin: 0 auto; display: inline; padding-top: 100px;">
<div class="errorWrap">
<img src="<c:url value='/images/error/er_logo.jpg'/>" width="379" height="57" alt="" />
<table class="errorTable">
<tbody>
<tr>
<td><img src="<c:url value='/images/error/danger.jpg'/>" width="74" height="74" alt="" /></td>
<td style="width:300px;">Access Denied</td>
</tr>
</tbody>
</table>
<p class="errorBtn text-center">
<sec:authorize access="hasRole('ROLE_USER')">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)">Go Back</button>
</sec:authorize>
<sec:authorize access="hasRole('ROLE_ADMIN')">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)'">Go Back</button>
</sec:authorize>
</p>
<img src="<c:url value='/images/error/er_logo.jpg'/>" width="379" height="57" alt=""/>
<table class="errorTable">
<tbody>
<tr>
<td><img src="<c:url value='/images/error/danger.jpg'/>" width="74" height="74" alt=""/></td>
<td style="width:300px;">Access Denied</td>
</tr>
</tbody>
</table>
<p class="errorBtn text-center">
<sec:authorize access="hasRole('ROLE_USER')">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)">Go Back</button>
</sec:authorize>
<sec:authorize access="hasRole('ROLE_ADMIN')">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)'">Go Back</button>
</sec:authorize>
</p>
</div>
</body>
</html>

View File

@ -1,62 +1,65 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta http-equiv="content-language" content="ko">
<title>Error</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="<c:url value='/css/egov.css'/>" >
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="content-language" content="ko">
<title>Error</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap-3.3.2.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="<c:url value='/css/egov.css'/>">
</head>
<style>
.errorWrap{
border: 8px solid #094e84;
width:600px;
text-align: left;
position: absolute;
left: 50%;
top: 30%;
transform: translate(-50%, -50%);
.errorWrap {
border: 8px solid #094e84;
width: 600px;
text-align: left;
position: absolute;
left: 50%;
top: 30%;
transform: translate(-50%, -50%);
}
.errorTable{
margin: 0 auto;
margin-bottom: 20px;
}
.errorTable > tbody > tr > td{
padding:10px;
}
.errorBtn{
width:200px;
margin: 0 auto;
margin-bottom: 20px;
}
}
.errorTable {
margin: 0 auto;
margin-bottom: 20px;
}
.errorTable > tbody > tr > td {
padding: 10px;
}
.errorBtn {
width: 200px;
margin: 0 auto;
margin-bottom: 20px;
}
</style>
<body style="text-align: center; margin: 0 auto; display: inline; padding-top: 100px;">
<div class="errorWrap">
<img src="<c:url value='/images/error/er_logo.jpg'/>" width="379" height="57" alt="" />
<table class="errorTable">
<tbody>
<tr>
<td><img src="<c:url value='/images/error/danger.jpg'/>" width="74" height="74" alt="" /></td>
<td style="width:300px;">404 not found</td>
</tr>
</tbody>
</table>
<p class="errorBtn text-center">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)">Go Back</button>
</p>
<img src="<c:url value='/images/error/er_logo.jpg'/>" width="379" height="57" alt=""/>
<table class="errorTable">
<tbody>
<tr>
<td><img src="<c:url value='/images/error/danger.jpg'/>" width="74" height="74" alt=""/></td>
<td style="width:300px;">404 not found</td>
</tr>
</tbody>
</table>
<p class="errorBtn text-center">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)">Go Back</button>
</p>
</div>
</body>
</html>

View File

@ -1,62 +1,65 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta http-equiv="content-language" content="ko">
<title>Error</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="<c:url value='/css/egov.css'/>" >
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="content-language" content="ko">
<title>Error</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap-3.3.2.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="<c:url value='/css/egov.css'/>">
</head>
<style>
.errorWrap{
border: 8px solid #094e84;
width:600px;
text-align: left;
position: absolute;
left: 50%;
top: 30%;
transform: translate(-50%, -50%);
.errorWrap {
border: 8px solid #094e84;
width: 600px;
text-align: left;
position: absolute;
left: 50%;
top: 30%;
transform: translate(-50%, -50%);
}
.errorTable{
margin: 0 auto;
margin-bottom: 20px;
}
.errorTable > tbody > tr > td{
padding:10px;
}
.errorBtn{
width:200px;
margin: 0 auto;
margin-bottom: 20px;
}
}
.errorTable {
margin: 0 auto;
margin-bottom: 20px;
}
.errorTable > tbody > tr > td {
padding: 10px;
}
.errorBtn {
width: 200px;
margin: 0 auto;
margin-bottom: 20px;
}
</style>
<body style="text-align: center; margin: 0 auto; display: inline; padding-top: 100px;">
<div class="errorWrap">
<img src="<c:url value='/images/error/er_logo.jpg'/>" width="379" height="57" alt="" />
<table class="errorTable">
<tbody>
<tr>
<td><img src="<c:url value='/images/error/danger.jpg'/>" width="74" height="74" alt="" /></td>
<td style="width:300px;">500 Internal Server error</td>
</tr>
</tbody>
</table>
<p class="errorBtn text-center">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)">Go Back</button>
</p>
<img src="<c:url value='/images/error/er_logo.jpg'/>" width="379" height="57" alt=""/>
<table class="errorTable">
<tbody>
<tr>
<td><img src="<c:url value='/images/error/danger.jpg'/>" width="74" height="74" alt=""/></td>
<td style="width:300px;">500 Internal Server error</td>
</tr>
</tbody>
</table>
<p class="errorBtn text-center">
<button type="button" class="btn btn-default btn-block" onclick="history.go(-1)">Go Back</button>
</p>
</div>
</body>
</html>

View File

@ -1,60 +1,84 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib uri="http://www.springframework.org/security/tags" prefix="sec" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:set var="thisURL" value="${requestScope['javax.servlet.forward.request_uri']}" />
<c:set var="thisURL" value="${requestScope['javax.servlet.forward.request_uri']}"/>
<form id="logout" action="/j_spring_security_logout" method="POST">
<input name="${_csrf.parameterName}" type="hidden" value="${_csrf.token}"/>
<input name="${_csrf.parameterName}" type="hidden" value="${_csrf.token}"/>
</form>
<sec:authorize access="hasRole('ROLE_USER')">
<header class="header">
<div class="header_title">
<a href="/map/request">모바일센터 관리시스템</a>
</div>
<div class="header_info">
<a href="<c:url value="/logout"/>">
<span class="glyphicon glyphicon-log-out" style="color:#fff"></span> 로그아웃
</a>
</div>
</header>
<nav class="common_nav">
<div class="header_menu">
<ul>
<li <c:if test="${thisURL eq '/map/request'}">class="thisOn"</c:if> onclick="location.href='/map/request'">지도사용 요청</li>
<li <c:if test="${thisURL eq '/map/userInfo'}">class="thisOn"</c:if> onclick="location.href='/map/userInfo'">회원정보수정</li>
</ul>
</div>
</nav>
<header class="header">
<div class="header_title">
<a href="/map/request">모바일센터 관리시스템</a>
</div>
<div class="header_info">
<a href="<c:url value="/logout"/>">
<span class="glyphicon glyphicon-log-out" style="color:#fff"></span> 로그아웃
</a>
</div>
</header>
<nav class="common_nav">
<div class="header_menu">
<ul>
<li
<c:if test="${thisURL eq '/map/request'}">class="thisOn"</c:if>
onclick="location.href='/map/request'">지도사용 요청
</li>
<li
<c:if test="${thisURL eq '/map/userInfo'}">class="thisOn"</c:if>
onclick="location.href='/map/userInfo'">회원정보수정
</li>
</ul>
</div>
</nav>
</sec:authorize>
<sec:authorize access="hasRole('ROLE_ADMIN')">
<header class="header">
<div class="header_title">
<a href="/admin/request">모바일센터 관리시스템</a>
</div>
<div class="header_info">
<a href="<c:url value="/logout"/>">
<span class="glyphicon glyphicon-log-out" style="color:#fff"></span> 로그아웃
</a>
</div>
</header>
<nav class="common_nav">
<div class="header_menu">
<ul>
<li <c:if test="${fn:contains(thisURL, '/request')}">class="thisOn"</c:if> onclick="location.href='/admin/request'">
<img src="../../../images/icon/icon_map.png" width="30" height="30"> &nbsp;지도사용 요청</li>
<li <c:if test="${fn:contains(thisURL, '/history')}">class="thisOn"</c:if> onclick="location.href='/admin/history'">
<img src="../../../images/icon/icon_log_on.png" width="30" height="30"> &nbsp;지도사용 이력</li>
<li <c:if test="${fn:contains(thisURL, '/fieldData')}">class="thisOn"</c:if> onclick="location.href='/admin/fieldData'">
<img src="../../../images/icon/icon_eq_on.png" width="30" height="30"> &nbsp;현장수집 데이터</li>
<li <c:if test="${fn:contains(thisURL, '/userInfo')}">class="thisOn"</c:if> onclick="location.href='/admin/userInfo?auth=99'">
<img src="../../../images/icon/icon_supervisor_on.png" width="30" height="30"> &nbsp;회원 관리</li>
</ul>
</div>
</nav>
<header class="header">
<div class="header_title">
<a href="/admin/request">모바일센터 관리시스템</a>
</div>
<div class="header_info">
<a href="<c:url value="/logout"/>">
<span class="glyphicon glyphicon-log-out" style="color:#fff"></span> 로그아웃
</a>
</div>
</header>
<nav class="common_nav">
<div class="header_menu">
<ul>
<li
<c:if test="${fn:contains(thisURL, '/dashBoard')}">class="thisOn"</c:if>
onclick="location.href='/admin/dashBoard'">
<img src="/images/icon/icon_analysis.png" width="30" height="30" alt=""> &nbsp;대시보드
</li>
<li
<c:if test="${fn:contains(thisURL, '/request')}">class="thisOn"</c:if>
onclick="location.href='/admin/request'">
<img src="/images/icon/icon_map.png" width="30" height="30" alt=""> &nbsp;지도사용 요청
</li>
<li
<c:if test="${fn:contains(thisURL, '/history')}">class="thisOn"</c:if>
onclick="location.href='/admin/history'">
<img src="/images/icon/icon_log_on.png" width="30" height="30" alt=""> &nbsp;지도사용 이력
</li>
<li
<c:if test="${fn:contains(thisURL, '/fieldData')}">class="thisOn"</c:if>
onclick="location.href='/admin/fieldData'">
<img src="/images/icon/icon_eq_on.png" width="30" height="30" alt=""> &nbsp;현장수집 데이터
</li>
<li
<c:if test="${fn:contains(thisURL, '/userInfo')}">class="thisOn"</c:if>
onclick="location.href='/admin/userInfo?auth=99'">
<img src="/images/icon/icon_supervisor_on.png" width="30" height="30" alt=""> &nbsp;회원 관리
</li>
</ul>
</div>
</nav>
</sec:authorize>

View File

@ -1,168 +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"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
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="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap-3.3.2.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<header class="header">
<div class="header_title"><a href="/">모바일센터 관리시스템</a></div>
<div class="header_menu"></div>
</header>
<header class="header">
<div class="header_title"><a href="/">모바일센터 관리시스템</a></div>
<div class="header_menu"></div>
</header>
<section class="join_section">
<div class="join_top">
<h2>
<span class="glyphicon glyphicon-edit"></span> 회원 정보 입력
</h2>
</div>
<form:form commandName="userVO" name="insertFrm" action="/insertUser" id="insertFrm" autocomplete="off" method="post">
<table class="join_table">
<tbody>
<tr>
<th>아이디</th>
<td>
<input type="text" class="form-control" name="userid" id="id" />
<span id="idMsg"></span>
</td>
</tr>
<tr>
<th>비밀번호</th>
<td><input type="password" class="form-control" id="password"name="password" value="" /></td>
</tr>
<tr>
<th>비밀번호 확인</th>
<td><input type="password" class="form-control" id="passwordCheck" name="passwordCheck" value="" /></td>
</tr>
<tr>
<th>이름</th>
<td><input type="text" class="form-control" name="name" id="name" /></td>
</tr>
<tr>
<th>소속기관</th>
<td><input type="text" class="form-control" name="company" id="company" /></td>
</tr>
<tr>
<th>연락처</th>
<td><input type="text" class="form-control" name="phonenum" id="phonenum" /></td>
</tr>
<tr>
<th>이메일</th>
<td>
<div>
<input type="text" class="form-control" name="email" id="email" />
</div>
</td>
</tr>
</tbody>
</table>
<div class="join_bottom" style="padding-top: 10px">
<p>※ 회원 가입을 요청한 후에 승인을 기다려주세요.</p>
<p class="join_bottom_p"><input class="btn_join big on" type="submit" value="가입신청" onclick="join(); return false;" /></p>
</div>
</form:form>
<section class="join_section">
<div class="join_top">
<h2>
<span class="glyphicon glyphicon-edit"></span> 회원 정보 입력
</h2>
</div>
<form:form commandName="userVO" name="insertFrm" action="/insertUser" id="insertFrm" autocomplete="off"
method="post">
<table class="join_table">
<tbody>
<tr>
<th>
<label for="id">아이디</label>
</th>
<script type="text/javascript">
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
var checkId = false;
var getId= RegExp(/^[a-zA-Z0-9]{5,12}$/);
var getMail = RegExp(/^[A-Za-z0-9_\.\-]+@[A-Za-z0-9\-]+\.[A-Za-z0-9\-]+/);
$(document).ready(function(){
$("#id").focusout(function(){
var id = $(this).val();
if (id == "" || id == undefined || id == null) {
$("#idMsg").text("아이디를 입력해주세요.");
checkId = false;
return false;
} else if(!getId.test(id)){
$("#idMsg").text("5~20자의 영문 소문자, 숫자만 사용 가능합니다.");
checkId = false;
return false;
}else {
$.ajax({
url : "/userIdCheck",
type : "GET",
data : {
"checkId" : id
},
success : function(data) {
if (data == "duplicate") {
$("#idMsg").text("이미 존재하는 아이디 입니다.");
checkId = false;
} else if (data == "ok") {
$("#idMsg").text("사용 가능한 아이디 입니다.");
checkId = true;
}
},
error : function(request, status, error) {
alert("접속 실패 관리자에게 문의해주세요.");
}
});
}
});
});
<td>
<input type="text" class="form-control" name="userid" id="id"/>
<span id="idMsg"></span>
</td>
</tr>
<tr>
<th>
<label for="password">비밀번호</label>
</th>
<td><input type="password" class="form-control" id="password" name="password" value=""/></td>
</tr>
<tr>
<th>
<label for="passwordCheck">비밀번호 확인</label>
</th>
<td><input type="password" class="form-control" id="passwordCheck" name="passwordCheck" value=""/></td>
</tr>
<tr>
<th>
<label for="name">이름</label>
</th>
<td><input type="text" class="form-control" name="name" id="name"/></td>
</tr>
<tr>
<th>
<label for="company">소속기관</label>
</th>
<td><input type="text" class="form-control" name="company" id="company"/></td>
</tr>
<tr>
<th>
<label for="phonenum">연락처</label>
</th>
<td><input type="tel" class="form-control" name="phonenum" id="phonenum"/></td>
</tr>
<tr>
<th>
<label for="email">이메일</label>
</th>
<td>
<div>
<input type="email" class="form-control" name="email" id="email"/>
</div>
</td>
</tr>
</tbody>
</table>
<div class="join_bottom" style="padding-top: 10px">
<p>※ 회원 가입을 요청한 후에 승인을 기다려주세요.</p>
<p class="join_bottom_p"><input class="btn_join big on" type="submit" value="가입신청"
onclick="join(); return false;"/></p>
</div>
</form:form>
function join() {
var pw1 = $('#password').val();
var pw2 = $('#passwordCheck').val();
var name = $('#name').val();
var company = $('#company').val();
var tell = $('#phonenum').val();
var email_1 = $('#email').val();
<script type="text/javascript">
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
if (!checkId) {
alert('아이디를 확인해주세요.');
$('#id').focus();
} else if (pw1 == "") {
alert('비밀번호를 입력해주세요');
$('#password').focus();
return;
} else if (pw2 == "") {
alert('비밀번호를 입력해주세요');
$('#passCheck').focus();
return;
} else if (pw1 != pw2) {
alert('비밀번호가 일치하지 않습니다.');
$('#pass').focus();
return;
} else if (name == "") {
alert('이름을 입력해주세요');
$('#name').focus();
return;
} else if (company == "") {
alert('소속기관을 입력해주세요');
$('#company').focus();
return;
} else if (tell == "") {
alert('연락처를 입력해주세요');
$('#phone_num').focus();
return;
} else if (email_1 == "") {
alert('이메일을 입력해주세요');
$('#email').focus();
return;
} else {
$("#insertFrm").submit();
}
}
</script>
</section>
var checkId = false;
var getId = RegExp(/^[a-zA-Z0-9]{5,12}$/);
var getMail = RegExp(/^[A-Za-z0-9_\.\-]+@[A-Za-z0-9\-]+\.[A-Za-z0-9\-]+/);
$(document).ready(function () {
$("#id").focusout(function () {
var id = $(this).val();
if (id == "" || id == undefined || id == null) {
$("#idMsg").text("아이디를 입력해주세요.");
checkId = false;
return false;
} else if (!getId.test(id)) {
$("#idMsg").text("5~20자의 영문 소문자, 숫자만 사용 가능합니다.");
checkId = false;
return false;
} else {
$.ajax({
url: "/userIdCheck",
type: "GET",
data: {
"checkId": id
},
success: function (data) {
if (data == "duplicate") {
$("#idMsg").text("이미 존재하는 아이디 입니다.");
checkId = false;
} else if (data == "ok") {
$("#idMsg").text("사용 가능한 아이디 입니다.");
checkId = true;
}
},
error: function (request, status, error) {
alert("접속 실패 관리자에게 문의해주세요.");
}
});
}
});
});
function join() {
var pw1 = $('#password').val();
var pw2 = $('#passwordCheck').val();
var name = $('#name').val();
var company = $('#company').val();
var tell = $('#phonenum').val();
var email_1 = $('#email').val();
if (!checkId) {
alert('아이디를 확인해주세요.');
$('#id').focus();
} else if (pw1 == "") {
alert('비밀번호를 입력해주세요');
$('#password').focus();
return;
} else if (pw2 == "") {
alert('비밀번호를 입력해주세요');
$('#passCheck').focus();
return;
} else if (pw1 != pw2) {
alert('비밀번호가 일치하지 않습니다.');
$('#pass').focus();
return;
} else if (name == "") {
alert('이름을 입력해주세요');
$('#name').focus();
return;
} else if (company == "") {
alert('소속기관을 입력해주세요');
$('#company').focus();
return;
} else if (tell == "") {
alert('연락처를 입력해주세요');
$('#phone_num').focus();
return;
} else if (email_1 == "") {
alert('이메일을 입력해주세요');
$('#email').focus();
return;
} else {
$("#insertFrm").submit();
}
}
</script>
</section>
</body>
</html>

View File

@ -0,0 +1,35 @@
<%@ 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="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<script type="text/javascript">
$(document).on('click', '#logoutLink', function () {
$("#logoutForm").submit();
})
</script>
<c:set var="tilesURI" value="${requestScope['javax.servlet.forward.request_uri']}"/>
<c:set var="tilesURIParam" value="${requestScope['javax.servlet.forward.query_string']}"/>
<form id="logoutForm" action="/j_spring_security_logout" method="POST">
<input name="${_csrf.parameterName}" type="hidden" value="${_csrf.token}"/>
</form>
<header class="header">
<div class="header_title">
<sec:authorize access="hasRole('ROLE_USER')">
<a href="/map/request">모바일센터 관리시스템</a>
</sec:authorize>
<sec:authorize access="hasRole('ROLE_ADMIN')">
<a href="/admin/dashBoard">모바일센터 관리시스템</a>
</sec:authorize>
</div>
<sec:authorize access="hasAnyRole('ROLE_ADMIN','ROLE_USER')">
<div class="header_info">
<a id="logoutLink" href="#">
<i class="bi bi-box-arrow-right"></i> 로그아웃
</a>
</div>
</sec:authorize>
</header>

View File

@ -0,0 +1,54 @@
<%@ 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="sec" uri="http://www.springframework.org/security/tags" %>
<!--시큐리티 태그 라이브러리 선언-->
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<c:set var="tilesURI" value="${requestScope['javax.servlet.forward.request_uri']}"/>
<c:set var="tilesURIParam" value="${requestScope['javax.servlet.forward.query_string']}"/>
<sec:authorize access="hasRole('ROLE_USER')">
<nav class="common_nav">
<div class="header_menu">
<ul>
<li class="fs-6 ps-3 ${fn:contains(tilesURI, '/map/request')?"thisOn":""}"
onclick="location.href='/map/request'">
<i class="bi bi-map fs-5"></i> &nbsp;지도사용 요청
</li>
<li class="fs-6 ps-3 ${fn:contains(tilesURI, '/map/userInfo')?"thisOn":""}"
onclick="location.href='/map/userInfo'">
<i class="bi bi-person-circle"></i> &nbsp;회원정보 수정
</li>
</ul>
</div>
</nav>
</sec:authorize>
<sec:authorize access="hasRole('ROLE_ADMIN')">
<nav class="common_nav">
<div class="header_menu">
<ul>
<li class="fs-6 ps-3 ${fn:contains(tilesURI, '/admin/dashBoard')?"thisOn":""}"
onclick="location.href='/admin/dashBoard'">
<i class="bi bi-grid fs-5"></i> &nbsp;대시보드
</li>
<li class="fs-6 ps-3 ${fn:contains(tilesURI, '/admin/request')?"thisOn":""}"
onclick="location.href='/admin/request'">
<i class="bi bi-map fs-5"></i>&nbsp; 지도사용 요청
</li>
<li class="fs-6 ps-3 ${fn:contains(tilesURI, '/admin/history')?"thisOn":""}"
onclick="location.href='/admin/history'">
<i class="bi bi-signpost-2 fs-5"></i></i>&nbsp; 지도사용 이력
</li>
<li class="fs-6 ps-3 ${fn:contains(tilesURI, '/admin/fieldData')?"thisOn":""}"
onclick="location.href='/admin/fieldData?status0=1&status1=1&status2=1&status3=1&status4=1'">
<i class="bi bi-flag fs-5"></i>&nbsp; 현장수집 데이터
</li>
<li class="fs-6 ps-3 ${fn:contains(tilesURI, '/admin/userInfo')?"thisOn":""}"
onclick="location.href='/admin/userInfo?auth=99'">
<i class="bi bi-person-circle"></i>&nbsp;&nbsp; 회원 관리
</li>
</ul>
</div>
</nav>
</sec:authorize>

View File

@ -0,0 +1,7 @@
<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<tiles:insertAttribute name="center"/>

View File

@ -0,0 +1,47 @@
<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="tilesURI" value="${requestScope['javax.servlet.forward.request_uri']}"/>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" type="text/css" href="<c:url value="/css/jquery-ui.min.css"/>">
<link rel="stylesheet" type="text/css" href="<c:url value="/css/bootstrap-5.1.3.css"/>">
<link rel="stylesheet" type="text/css" href="<c:url value="/images/bootstrap-icons-1.8.0/bootstrap-icons.css"/>">
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<style>
#wrap {
background-image: url("/images/main1.jpg");
background-size: cover;
height: 1080px;
}
</style>
<title>
<tiles:insertAttribute name="title" ignore="true"/>
</title>
<script src="<c:url value='/js/jquery-3.5.1.min.js' />"></script>
<script src="<c:url value='/js/jquery-ui.min.js' />"></script>
<script src="<c:url value="/js/bootstrap-5.1.3.min.js"/>"></script>
</head>
<body class="overflow-hidden htmlBody">
<div id="wrap">
<tiles:insertAttribute name="center"/>
</div>
</body>
<script type="text/javascript">
$(document).ready(function () {
var errMsg = "${errMsg}";
if (errMsg) {
alert(errMsg);
}
});
</script>
</html>

View File

@ -0,0 +1,35 @@
<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="tilesURI" value="${requestScope['javax.servlet.forward.request_uri']}"/>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" type="text/css" href="<c:url value="/css/jquery-ui.min.css"/>">
<link rel="stylesheet" type="text/css" href="<c:url value="/css/bootstrap-5.1.3.css"/>">
<link rel="stylesheet" type="text/css" href="<c:url value="/images/bootstrap-icons-1.8.0/bootstrap-icons.css"/>">
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
<title>
<tiles:insertAttribute name="title" ignore="true"/>
</title>
<script src="<c:url value='/js/jquery-3.5.1.min.js' />"></script>
<script src="<c:url value='/js/jquery-ui.min.js' />"></script>
<script src="<c:url value="/js/bootstrap-5.1.3.min.js"/>"></script>
</head>
<body class="htmlBody">
<div id="wrap">
<tiles:insertAttribute name="header"/>
<tiles:insertAttribute name="left"/>
<section class="section overflow-auto">
<tiles:insertAttribute name="center"/>
</section>
</div>
</body>
</html>

View File

@ -1,64 +1,35 @@
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
<%@ 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="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<header class="header">
<div class="header_title"><a href="/">모바일센터 관리시스템</a></div>
<div class="header_menu"></div>
</header>
<section class="section">
<div class="loginWrap">
<div class="loginBox">
<form method="POST" action="/j_spring_security_check">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<input type=hidden name=login_error value="${login_error}" />
<p class="login_text">
<input type="text" class="form-control" name="username" id="user_id" value="" placeholder="사용자 ID" />
</p>
<p class="login_text">
<input type="password" class="form-control" name="password" id="user_pw" value="" placeholder="비밀번호" />
</p>
<p class="login_btn">
<input type="image" src="images/login_.png" />
</p>
<div class="parent">
<div class="find">
<span class="glyphicon glyphicon-info-sign"></span>
<a href="#">아이디/비밀번호 찾기</a>
</div>
<div class="join">
<span class="glyphicon glyphicon-user"></span>
<a href="<c:url value=" /join" />">회원가입</a>
</div>
</div>
</form>
</div>
</div>
</section>
</body>
<script type="text/javascript">
$(document).ready(function(){
var errMsg = "${errMsg}";
if (errMsg) {
alert(errMsg);
}
});
</script>
</html>
<div class="loginWrap">
<div class="loginBox">
<form method="POST" action="/j_spring_security_check">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
<input type=hidden name=login_error value="${login_error}"/>
<p class="login_title text-white">모바일센터 관리시스템</p>
<p class="login_text">
<input type="text" class="form-control" name="username" id="user_id" value="" placeholder="사용자 ID"/>
</p>
<p class="login_text">
<input type="password" class="form-control" name="password" id="user_pw" value="" placeholder="비밀번호"/>
</p>
<p class="login_btn">
<input type="image" src="images/login_.png"/>
</p>
<div class="parent">
<div class="find">
<span class="glyphicon glyphicon-info-sign"></span>
<a class="text-white" href="#">아이디/비밀번호 찾기</a>
</div>
<div class="join">
<span class="glyphicon glyphicon-user"></span>
<a class="text-white" href="<c:url value=" /join" />">회원가입</a>
</div>
</div>
</form>
</div>
</div>

View File

@ -4,31 +4,18 @@
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<form:form commandName="useRequestSearchVO" id="searchForm" name="searchForm" method="get" >
<input type="hidden" name="id" />
<table class="list-table">
<div class="section_title">
<!-- <p>현장 지원 시스템</p> -->
</div>
<div class="section_content">
<h1 class="h4 m-3">지도사용 요청</h1>
<form:form commandName="useRequestSearchVO" id="searchForm" name="searchForm" method="get" >
<div class="row justify-content-between bg-white mx-3 py-2">
<input type="hidden" name="id" />
<table class="table table-hover text-center">
<thead>
<tr><th colspan="4">지도 사용 요청 목록</th></tr>
<tr>
<th>번호</th>
<th>작업명</th>
@ -36,97 +23,102 @@
<th>상태</th>
</tr>
</thead>
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${useRequestList}" varStatus="idx">
<tr>
<td>${idx.count}</td>
<td class="title-td" style="width:70%;"><a href="/map/request/<c:out value='${item.idx}' />">${item.title}</a></td>
<td class="td_date">${item.r_date}</td>
<td>
<c:choose>
<c:when test="${item.status eq '99'}"><span class="label label-warning"><c:out value='승인대기' /></span></c:when>
<c:when test="${item.status eq '0'}"><span class="label label-success"><c:out value='승인' /></span></c:when>
<c:when test="${item.status eq '-1'}"><span class="label label-default"><c:out value='반려' /></span></c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr><td colspan="4">요청한 목록이 없습니다.</td></tr>
</c:if>
</tbody>
</table>
<div class="div_write"">
<p>
<input class="btn btn-primary" type="button" value="작성" onclick="location.href='/map/reqWrite'" />
</p>
</div>
<div id="paging" style="width: 100%;">
<tbody>
<c:if test="${count >= 1}">
<c:forEach var="item" items="${useRequestList}" varStatus="idx">
<tr>
<td>${idx.count}</td>
<td class="title-td" style="width:70%;"><a href="/map/request/<c:out value='${item.idx}' />">${item.title}</a></td>
<td class="td_date">${item.r_date}</td>
<td>
<c:choose>
<c:when test="${item.status eq '99'}"><span class="card-warning"><c:out value='승인대기' /></span></c:when>
<c:when test="${item.status eq '0'}"><span class="card-success"><c:out value='승인' /></span></c:when>
<c:when test="${item.status eq '-1'}"><span class="card-default"><c:out value='반려' /></span></c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</c:if>
<c:if test="${count == 0}">
<tr><td colspan="4">요청한 목록이 없습니다.</td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="div_write">
<p>
<input class="btn btn-secondary" type="button" value="작성" onclick="location.href='/map/reqWrite'" />
</p>
</div>
<div class="text-page">
<form:hidden path="pageIndex" />
<nav aria-label="Page navigation">
<ul class="pagination justify-content-center">
<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_link_page" />
<form:hidden path="pageIndex" />
</div>
</form:form>
</ul>
</nav>
</div>
<div class="section_btn">
<!-- <p><input class="btn" type="button" value="관리" onclick="location.href='fieldDetail.html'" /></p> -->
</div>
</section>
</body>
<script type="text/javascript">
var start = "${b_start}";
var end = "${b_end}";
var now = "${current_page}";
$(function(){
viewPaging();
$(".r_date").each(function(){
var r_date = $(this).text();
var nowDate = new Date();
var r_date = new Date(r_date);
var getDay = getFormatDate(r_date);
var nowDay = getFormatDate(nowDate);
if(getDay === nowDay){
$(this).html(getFormatTime(r_date));
}else{
$(this).html(getDay);
}
});
</form:form>
</div>
<div class="section_btn">
<!-- <p><input class="btn" type="button" value="관리" onclick="location.href='fieldDetail.html'" /></p> -->
</div>
<script type="text/javascript">
var start = "${b_start}";
var end = "${b_end}";
var now = "${current_page}";
$(function(){
viewPaging();
$(".r_date").each(function(){
var r_date = $(this).text();
var nowDate = new Date();
var r_date = new Date(r_date);
var getDay = getFormatDate(r_date);
var nowDay = getFormatDate(nowDate);
if(getDay === nowDay){
$(this).html(getFormatTime(r_date));
}else{
$(this).html(getDay);
}
});
/* 날짜포맷 yyyy-MM-dd 변환 */
function getFormatDate(date){
var year = date.getFullYear();
var month = (1 + date.getMonth());
month = month >= 10 ? month : '0' + month;
var day = date.getDate();
day = day >= 10 ? day : '0' + day;
return year + '-' + month + '-' + day;
}
function getFormatTime(date){
var hours = date.getHours();
var minutes = date.getMinutes();
return hours + ':' + minutes;
}
function viewPaging(){
for (step = start; step < end; step++) {
if(step == now){
$("#paging").append("<strong>"+step+"</strong>");
}else{
$("#paging").append("<a href='userPermissionList.do?&page="+ step +"'>"+step+"</a>");
}
}
}
function fn_link_page(pageNo) {
document.searchForm.pageIndex.value = pageNo;
document.searchForm.action = "<c:url value='/map/request' />";
document.searchForm.submit();
}
</script>
</html>
});
/* 날짜포맷 yyyy-MM-dd 변환 */
function getFormatDate(date){
var year = date.getFullYear();
var month = (1 + date.getMonth());
month = month >= 10 ? month : '0' + month;
var day = date.getDate();
day = day >= 10 ? day : '0' + day;
return year + '-' + month + '-' + day;
}
function getFormatTime(date){
var hours = date.getHours();
var minutes = date.getMinutes();
return hours + ':' + minutes;
}
function viewPaging(){
for (step = start; step < end; step++) {
if(step == now){
$("#paging").append("<strong>"+step+"</strong>");
}else{
$("#paging").append("<a href='userPermissionList.do?&page="+ step +"'>"+step+"</a>");
}
}
}
function fn_link_page(pageNo) {
document.searchForm.pageIndex.value = pageNo;
document.searchForm.action = "<c:url value='/map/request' />";
document.searchForm.submit();
}
</script>

View File

@ -5,24 +5,6 @@
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/jquery-ui.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/jquery-ui.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<form:form commandName="useRequestVO" name="frm" method="POST" action="/map/updateReq" id="updateFrm">
<input type="hidden" name="idx" value="${useRequestVO.idx}" />
<div class="section_title">
@ -142,8 +124,8 @@
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/map/request'" />
</p>
<p class="search_p2">
<input class="btn btn-primary" type="button" value="취소" onclick="deleteReqBtn(); return false;" />
<input class="btn btn-primary" type="button" value="수정" onclick="updateReqBtn(); return false;" />
<input class="btn btn-danger" type="button" value="취소" onclick="deleteReqBtn(); return false;" />
<input class="btn btn-success" type="button" value="수정" onclick="updateReqBtn(); return false;" />
</p>
</div>
</c:when>
@ -259,7 +241,6 @@
</c:choose>
</div>
</form:form>
</section>
<script type="text/javascript">
var areaAddCount = ${selectArea.size()};
@ -569,9 +550,4 @@
});
});
</script>
</body>
</html>
</script>

View File

@ -4,25 +4,6 @@
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/jquery-ui.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/jquery-ui.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<form:form commandName="useRequestVO" name="frm" method="POST" action="/map/insertReq" id="insertFrm">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<div class="section_title">
@ -64,7 +45,7 @@
<select id="town" name="town" class="form-control input-area-select">
<option value="0">::선택::</option>
</select>
<span class="glyphicon glyphicon-plus point-cursor" onclick="addAreaBtn();"></span>
<span class="btn btn-outline-primary" onclick="addAreaBtn();">추가</span>
</div>
<div id="addedArea" class="addedArea">
</div>
@ -112,12 +93,11 @@
<input class="btn btn-primary" type="button" value="목록" onclick="location.href='/map/request'" />
</p>
<p class="search_p2">
<input class="btn btn-primary" type="button" value="요청" onclick="insertReqBtn(); return false;" />
<input class="btn btn-success" type="button" value="요청" onclick="insertReqBtn(); return false;" />
</p>
</div>
</div>
</form:form>
</section>
<script type="text/javascript">
var areaAddCount = 0;
@ -390,8 +370,3 @@
});
</script>
</body>
</html>

View File

@ -4,132 +4,112 @@
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>모바일센터 관리시스템</title>
<script src="<c:out value="/js/jquery-3.5.1.min.js" />"></script>
<script src="<c:out value="/js/bootstrap.min.js" />"></script>
<link href="<c:out value="/css/normalize.css" />" rel="stylesheet">
<link href="<c:out value="/css/bootstrap.min.css" />" rel="stylesheet">
<link href="<c:out value="/css/style.css" />" rel="stylesheet">
</head>
<body>
<%@ include file="../include/header.jsp"%>
<section class="section">
<form:form commandName="userVO" name="updateForm" action="/map/userUpdate" id="updateForm" method="post">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<input type="hidden" name="userid" value="${userVO.userid}" />
<div class="section_content">
<div class="join_top">
<h2><span class="glyphicon glyphicon-edit"></span> 회원 정보 수정</h2>
</div>
<table class="join_table">
<tbody>
<tr>
<th>아이디</th>
<td>${userVO.userid}</td>
</tr>
<tr>
<th>비밀번호</th>
<td>
<p><label><input type="checkbox" id="changePw" /> 비밀번호 변경</<label></p>
<input type="password" class="form-control" id="password" name="password" value="" disabled="true" />
</td>
</tr>
<tr>
<th>비밀번호 확인</th>
<td><input type="password" class="form-control" id="passwordCheck" name="passwordCheck" value="" disabled="true" />
</td>
</tr>
<tr>
<th>이름</th>
<td><input type="text" class="form-control" name="name" id="name" value="${userVO.name}" /></td>
</tr>
<tr>
<th>소속기관</th>
<td><input type="text" class="form-control" name="company" id="company" value="${userVO.company}" /></td>
</tr>
<tr>
<th>연락처</th>
<td><input type="text" class="form-control" name="phonenum" id="phonenum" value="${userVO.phonenum}"/></td>
</tr>
<tr>
<th>이메일</th>
<td>
<div>
<input type="text" class="form-control" name="email" id="email" value="${userVO.email}" />
</div>
</td>
</tr>
</tbody>
</table>
<div class="join_top" style="margin-top:20px;">
<p class="search_p2">
<input class="btn btn-primary" type="button" value="수정" onclick="update();" />
</p>
</div>
<form:form commandName="userVO" name="updateForm" action="/map/userUpdate" id="updateForm" method="post">
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" />
<input type="hidden" name="userid" value="${userVO.userid}" />
<div class="section_content">
<div class="join_top">
<h2><span class="glyphicon glyphicon-edit"></span> 회원 정보 수정</h2>
</div>
</form:form>
</section>
<script>
$(function(){
$("#changePw").click(function(){
if($(this).is(":checked")){
$("#password").attr("disabled", false);
$("#passwordCheck").attr("disabled", false);
}else{
$("#password").attr("disabled", true);
$("#passwordCheck").attr("disabled", true);
}
});
});
function update() {
var changePw = $("#changePw").is(":checked");
var pw1 = $('#password').val();
var pw2 = $('#passwordCheck').val();
var name = $('#name').val();
var company = $('#company').val();
var tell = $('#phonenum').val();
var email_1 = $('#email').val();
if (changePw && pw1 == "") {
alert('비밀번호를 입력해주세요');
$('#password').focus();
return;
} else if (changePw && pw2 == "") {
alert('비밀번호를 입력해주세요');
$('#passwordCheck').focus();
return;
} else if (changePw && (pw1 != pw2)) {
alert('비밀번호가 일치하지 않습니다.');
$('#pass').focus();
return;
} else if (name == "") {
alert('이름을 입력해주세요');
$('#name').focus();
return;
} else if (company == "") {
alert('소속기관을 입력해주세요');
$('#company').focus();
return;
} else if (tell == "") {
alert('연락처를 입력해주세요');
$('#phone_num').focus();
return;
} else if (email_1 == "") {
alert('이메일을 입력해주세요');
$('#email').focus();
return;
} else {
$("#updateForm").submit();
<table class="join_table">
<tbody>
<tr>
<th>아이디</th>
<td>${userVO.userid}</td>
</tr>
<tr>
<th>비밀번호</th>
<td>
<p><label><input type="checkbox" id="changePw" /> 비밀번호 변경</<label></p>
<input type="password" class="form-control" id="password" name="password" value="" disabled="true" />
</td>
</tr>
<tr>
<th>비밀번호 확인</th>
<td><input type="password" class="form-control" id="passwordCheck" name="passwordCheck" value="" disabled="true" />
</td>
</tr>
<tr>
<th>이름</th>
<td><input type="text" class="form-control" name="name" id="name" value="${userVO.name}" /></td>
</tr>
<tr>
<th>소속기관</th>
<td><input type="text" class="form-control" name="company" id="company" value="${userVO.company}" /></td>
</tr>
<tr>
<th>연락처</th>
<td><input type="text" class="form-control" name="phonenum" id="phonenum" value="${userVO.phonenum}"/></td>
</tr>
<tr>
<th>이메일</th>
<td>
<div>
<input type="text" class="form-control" name="email" id="email" value="${userVO.email}" />
</div>
</td>
</tr>
</tbody>
</table>
<div class="join_top" style="margin-top:20px;">
<p class="search_p2">
<input class="btn btn-success" type="button" value="수정" onclick="update();" />
</p>
</div>
</div>
</form:form>
<script>
$(function(){
$("#changePw").click(function(){
if($(this).is(":checked")){
$("#password").attr("disabled", false);
$("#passwordCheck").attr("disabled", false);
}else{
$("#password").attr("disabled", true);
$("#passwordCheck").attr("disabled", true);
}
});
});
function update() {
var changePw = $("#changePw").is(":checked");
var pw1 = $('#password').val();
var pw2 = $('#passwordCheck').val();
var name = $('#name').val();
var company = $('#company').val();
var tell = $('#phonenum').val();
var email_1 = $('#email').val();
if (changePw && pw1 == "") {
alert('비밀번호를 입력해주세요');
$('#password').focus();
return;
} else if (changePw && pw2 == "") {
alert('비밀번호를 입력해주세요');
$('#passwordCheck').focus();
return;
} else if (changePw && (pw1 != pw2)) {
alert('비밀번호가 일치하지 않습니다.');
$('#pass').focus();
return;
} else if (name == "") {
alert('이름을 입력해주세요');
$('#name').focus();
return;
} else if (company == "") {
alert('소속기관을 입력해주세요');
$('#company').focus();
return;
} else if (tell == "") {
alert('연락처를 입력해주세요');
$('#phone_num').focus();
return;
} else if (email_1 == "") {
alert('이메일을 입력해주세요');
$('#email').focus();
return;
} else {
$("#updateForm").submit();
}
</script>
</body>
</html>
}
</script>

View File

@ -6,11 +6,11 @@
</head>
<body>
<script>
var resultMessage = '${resultMsg}';
if(resultMessage){
alert(resultMessage);
}
location.href='${url}';
var resultMessage = '${resultMsg}';
if (resultMessage) {
alert(resultMessage);
}
location.href = '${url}';
</script>
</body>
</html>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
"http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<!-- DOCTYPE을 사용함으로써 태그 자동완성기능과 검증기능을 추가할수 있다. -->
<tiles-definitions>
<definition name="empty" template="/WEB-INF/jsp/layout/template_empty.jsp">
</definition>
<definition name="loginTemplate" template="/WEB-INF/jsp/layout/template_login.jsp">
<put-attribute name="title" value="모바일센터 관리시스템" />
<put-attribute name="header" value="/WEB-INF/jsp/layout/header.jsp" />
</definition>
<definition name="mainTemplate" template="/WEB-INF/jsp/layout/template_main.jsp">
<put-attribute name="title" value="모바일센터 관리시스템" />
<put-attribute name="header" value="/WEB-INF/jsp/layout/header.jsp" />
<put-attribute name="left" value="/WEB-INF/jsp/layout/leftMenu.jsp" />
</definition>
<definition name="login" extends="loginTemplate">
<put-attribute name="center" value="/WEB-INF/jsp/login.jsp" />
</definition>
<definition name="*/html/*" extends="empty">
<put-attribute name="center" value="/WEB-INF/jsp/{1}/{2}.jsp" />
</definition>
<definition name="*/*" extends="mainTemplate">
<put-attribute name="center" value="/WEB-INF/jsp/{1}/{2}.jsp" />
</definition>
<definition name="*/*/*" extends="mainTemplate">
<put-attribute name="center" value="/WEB-INF/jsp/{1}/{2}.jsp" />
</definition>
</tiles-definitions>

View File

@ -1,24 +1,25 @@
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>모바일센터 관리시스템</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>모바일센터 관리시스템</title>
</head>
<body>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" height="100%" align="center" valign="middle" style="padding-top: 150px;"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="<spring:message code='image.errorBg' />">
<span style="font-family: Tahoma; font-weight: bold; color: #000000; line-height: 150%; width: 440px; height: 70px;"></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" height="100%" align="center" valign="middle" style="padding-top: 150px;">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="<spring:message code='image.errorBg' />">
<span style="font-family: Tahoma; font-weight: bold; color: #000000; line-height: 150%; width: 440px; height: 70px;"></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,11 @@ a {
color: #000;
}
.text-page {
text-align: center;
padding-top: 10px;
}
.text-center {
text-align: center;
}
@ -11,10 +16,9 @@ a {
}
.header {
background: url('../images/header_bg.png');
background-size: cover;
background-repeat: no-repeat;
height: 90px;
background: url('/images/header_bg.png') no-repeat;
background-size: cover;
height: 70px;
position: fixed;
width: 100%;
z-index: 1;
@ -31,7 +35,7 @@ a {
height: auto;
width: 200px;
min-width: inherit;
padding-top: 90px;
padding-top: 70px;
}
.header_title {
@ -40,7 +44,7 @@ a {
color: #fff;
font-size: 24px;
font-weight: bold;
line-height: 90px;
line-height: 70px;
padding-left: 20px;
box-sizing: border-box;
}
@ -61,45 +65,44 @@ a {
.header_info>a {
color: #fff;
font-size: 14px;
font-size: 17px;
}
.htmlBody{
background-color: rgb(247, 247, 247);
}
.section {
margin-top: 90px;
margin-top: 70px;
margin-left: 200px;
padding-bottom: 100px;
min-width: 1160px;
min-height: 100px;
overflow: hidden;
padding-top: 20px;
}
.section_content {
width: 1020px;
margin: 0 auto;
}
.loginWrap {
width: 400px;
margin: 0 auto;
padding: 2% 0 0 0;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border: 1px solid #ccc;
box-shadow: 5px 5px 20px grey;
width: 400px;
height: 100%;
margin: 0 auto;
position: absolute;
left: 50%;
transform: translate(-50%);
background-color: rgba(55, 55, 55, 1);
border: 1px solid #ccc;
border-top: none;
border-bottom: none;
box-shadow: 5px 5px 20px grey;
}
.login_title{
float: left;
font-size: 24px;
font-weight: bold;
padding-left: 20px;
box-sizing: border-box;
}
.login_text {
margin: 2% 5%;
text-align: center;
}
.loginBox {
background-color: rgba(255, 255, 255, 0.7);
overflow: hidden;
padding: 30px 0px 0px 0px;
overflow: hidden;
padding: 75% 0;
}
.login_text input {
@ -173,14 +176,15 @@ a {
.fieldDataTable{
width:100%;
box-sizing: border-box;
box-sizing: border-box;
}
.fieldDataTable>thead>tr:first-child>th {
border: 1px solid #ccc;
background-color: #337ab7;
background-color: #ccc;
padding: 10px 5px;
text-align: left;
text-align: center;
color: #fff;
}
@ -498,7 +502,7 @@ a {
.fieldDataDiv{
float:left;
width:50%;
height:490px;
height:495px;
margin-left: 2%;
overflow-y: scroll;
border-bottom:1px solid #ccc;
@ -588,8 +592,6 @@ a {
}
.td_date{
text-align: center;
width:85px;
font-size:12px;
}
.td_name{
@ -615,7 +617,6 @@ a {
border: 1px solid #ccc;
background-color: #337ab7;
padding: 10px 5px;
text-align: left;
color: #fff;
}
@ -699,12 +700,26 @@ a {
.mapWrap{
width: 48%;
float:left;
}
.map-title{
border-bottom: 1px solid #ccc;
background-color: #337ab7;
background-color: #ccc;
padding: 10px 5px;
text-align: left;
color: #fff;
font-weight: bold;
}
.check_fidelData {
vertical-align: middle;
font-size: 19px;
background-color: #337ab7;
color:#fff;
}
.clickAbleObj:hover{
cursor:pointer;
}

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-123" viewBox="0 0 16 16">
<path d="M2.873 11.297V4.142H1.699L0 5.379v1.137l1.64-1.18h.06v5.961h1.174Zm3.213-5.09v-.063c0-.618.44-1.169 1.196-1.169.676 0 1.174.44 1.174 1.106 0 .624-.42 1.101-.807 1.526L4.99 10.553v.744h4.78v-.99H6.643v-.069L8.41 8.252c.65-.724 1.237-1.332 1.237-2.27C9.646 4.849 8.723 4 7.308 4c-1.573 0-2.36 1.064-2.36 2.15v.057h1.138Zm6.559 1.883h.786c.823 0 1.374.481 1.379 1.179.01.707-.55 1.216-1.421 1.21-.77-.005-1.326-.419-1.379-.953h-1.095c.042 1.053.938 1.918 2.464 1.918 1.478 0 2.642-.839 2.62-2.144-.02-1.143-.922-1.651-1.551-1.714v-.063c.535-.09 1.347-.66 1.326-1.678-.026-1.053-.933-1.855-2.359-1.845-1.5.005-2.317.88-2.348 1.898h1.116c.032-.498.498-.944 1.206-.944.703 0 1.206.435 1.206 1.07.005.64-.504 1.106-1.2 1.106h-.75v.96Z"/>
</svg>

After

Width:  |  Height:  |  Size: 870 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-activity" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M6 2a.5.5 0 0 1 .47.33L10 12.036l1.53-4.208A.5.5 0 0 1 12 7.5h3.5a.5.5 0 0 1 0 1h-3.15l-1.88 5.17a.5.5 0 0 1-.94 0L6 3.964 4.47 8.171A.5.5 0 0 1 4 8.5H.5a.5.5 0 0 1 0-1h3.15l1.88-5.17A.5.5 0 0 1 6 2Z"/>
</svg>

After

Width:  |  Height:  |  Size: 367 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alarm-fill" viewBox="0 0 16 16">
<path d="M6 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H9v1.07a7.001 7.001 0 0 1 3.274 12.474l.601.602a.5.5 0 0 1-.707.708l-.746-.746A6.97 6.97 0 0 1 8 16a6.97 6.97 0 0 1-3.422-.892l-.746.746a.5.5 0 0 1-.707-.708l.602-.602A7.001 7.001 0 0 1 7 2.07V1h-.5A.5.5 0 0 1 6 .5zm2.5 5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5zM.86 5.387A2.5 2.5 0 1 1 4.387 1.86 8.035 8.035 0 0 0 .86 5.387zM11.613 1.86a2.5 2.5 0 1 1 3.527 3.527 8.035 8.035 0 0 0-3.527-3.527z"/>
</svg>

After

Width:  |  Height:  |  Size: 626 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alarm" viewBox="0 0 16 16">
<path d="M8.5 5.5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5z"/>
<path d="M6.5 0a.5.5 0 0 0 0 1H7v1.07a7.001 7.001 0 0 0-3.273 12.474l-.602.602a.5.5 0 0 0 .707.708l.746-.746A6.97 6.97 0 0 0 8 16a6.97 6.97 0 0 0 3.422-.892l.746.746a.5.5 0 0 0 .707-.708l-.601-.602A7.001 7.001 0 0 0 9 2.07V1h.5a.5.5 0 0 0 0-1h-3zm1.038 3.018a6.093 6.093 0 0 1 .924 0 6 6 0 1 1-.924 0zM0 3.5c0 .753.333 1.429.86 1.887A8.035 8.035 0 0 1 4.387 1.86 2.5 2.5 0 0 0 0 3.5zM13.5 1c-.753 0-1.429.333-1.887.86a8.035 8.035 0 0 1 3.527 3.527A2.5 2.5 0 0 0 13.5 1z"/>
</svg>

After

Width:  |  Height:  |  Size: 711 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-bottom" viewBox="0 0 16 16">
<rect width="4" height="12" x="6" y="1" rx="1"/>
<path d="M1.5 14a.5.5 0 0 0 0 1v-1zm13 1a.5.5 0 0 0 0-1v1zm-13 0h13v-1h-13v1z"/>
</svg>

After

Width:  |  Height:  |  Size: 271 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-center" viewBox="0 0 16 16">
<path d="M8 1a.5.5 0 0 1 .5.5V6h-1V1.5A.5.5 0 0 1 8 1zm0 14a.5.5 0 0 1-.5-.5V10h1v4.5a.5.5 0 0 1-.5.5zM2 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7z"/>
</svg>

After

Width:  |  Height:  |  Size: 315 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-end" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M14.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z"/>
<path d="M13 7a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7z"/>
</svg>

After

Width:  |  Height:  |  Size: 318 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-middle" viewBox="0 0 16 16">
<path d="M6 13a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10zM1 8a.5.5 0 0 0 .5.5H6v-1H1.5A.5.5 0 0 0 1 8zm14 0a.5.5 0 0 1-.5.5H10v-1h4.5a.5.5 0 0 1 .5.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 316 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-start" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5z"/>
<path d="M3 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7z"/>
</svg>

After

Width:  |  Height:  |  Size: 318 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-top" viewBox="0 0 16 16">
<rect width="4" height="12" rx="1" transform="matrix(1 0 0 -1 6 15)"/>
<path d="M1.5 2a.5.5 0 0 1 0-1v1zm13-1a.5.5 0 0 1 0 1V1zm-13 0h13v1h-13V1z"/>
</svg>

After

Width:  |  Height:  |  Size: 287 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alt" viewBox="0 0 16 16">
<path d="M1 13.5a.5.5 0 0 0 .5.5h3.797a.5.5 0 0 0 .439-.26L11 3h3.5a.5.5 0 0 0 0-1h-3.797a.5.5 0 0 0-.439.26L5 13H1.5a.5.5 0 0 0-.5.5zm10 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 326 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-app-indicator" viewBox="0 0 16 16">
<path d="M5.5 2A3.5 3.5 0 0 0 2 5.5v5A3.5 3.5 0 0 0 5.5 14h5a3.5 3.5 0 0 0 3.5-3.5V8a.5.5 0 0 1 1 0v2.5a4.5 4.5 0 0 1-4.5 4.5h-5A4.5 4.5 0 0 1 1 10.5v-5A4.5 4.5 0 0 1 5.5 1H8a.5.5 0 0 1 0 1H5.5z"/>
<path d="M16 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"/>
</svg>

After

Width:  |  Height:  |  Size: 387 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-app" viewBox="0 0 16 16">
<path d="M11 2a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h6zM5 1a4 4 0 0 0-4 4v6a4 4 0 0 0 4 4h6a4 4 0 0 0 4-4V5a4 4 0 0 0-4-4H5z"/>
</svg>

After

Width:  |  Height:  |  Size: 282 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-apple" viewBox="0 0 16 16">
<path d="M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282z"/>
<path d="M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-archive-fill" viewBox="0 0 16 16">
<path d="M12.643 15C13.979 15 15 13.845 15 12.5V5H1v7.5C1 13.845 2.021 15 3.357 15h9.286zM5.5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zM.8 1a.8.8 0 0 0-.8.8V3a.8.8 0 0 0 .8.8h14.4A.8.8 0 0 0 16 3V1.8a.8.8 0 0 0-.8-.8H.8z"/>
</svg>

After

Width:  |  Height:  |  Size: 359 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-archive" viewBox="0 0 16 16">
<path d="M0 2a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v7.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 12.5V5a1 1 0 0 1-1-1V2zm2 3v7.5A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5V5H2zm13-3H1v2h14V2zM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 401 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-down" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4.854 14.854a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V3.5A2.5 2.5 0 0 1 6.5 1h8a.5.5 0 0 1 0 1h-8A1.5 1.5 0 0 0 5 3.5v9.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4z"/>
</svg>

After

Width:  |  Height:  |  Size: 350 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-left" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1.146 4.854a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H12.5A2.5 2.5 0 0 1 15 6.5v8a.5.5 0 0 1-1 0v-8A1.5 1.5 0 0 0 12.5 5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4z"/>
</svg>

After

Width:  |  Height:  |  Size: 349 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-right" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M14.854 4.854a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 4H3.5A2.5 2.5 0 0 0 1 6.5v8a.5.5 0 0 0 1 0v-8A1.5 1.5 0 0 1 3.5 5h9.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4z"/>
</svg>

After

Width:  |  Height:  |  Size: 350 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-up" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4.854 1.146a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L4 2.707V12.5A2.5 2.5 0 0 0 6.5 15h8a.5.5 0 0 0 0-1h-8A1.5 1.5 0 0 1 5 12.5V2.707l3.146 3.147a.5.5 0 1 0 .708-.708l-4-4z"/>
</svg>

After

Width:  |  Height:  |  Size: 349 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-down" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5zM8 6a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 .708-.708L7.5 12.293V6.5A.5.5 0 0 1 8 6z"/>
</svg>

After

Width:  |  Height:  |  Size: 375 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-left" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5zM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 375 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-right" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M6 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 7.5H6.5A.5.5 0 0 0 6 8zm-2.5 7a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 375 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-up" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M8 10a.5.5 0 0 0 .5-.5V3.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 3.707V9.5a.5.5 0 0 0 .5.5zm-7 2.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 376 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-clockwise" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z"/>
<path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z"/>
</svg>

After

Width:  |  Height:  |  Size: 352 B

View File

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-counterclockwise" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z"/>
<path d="M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z"/>
</svg>

After

Width:  |  Height:  |  Size: 359 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-circle-fill" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 321 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-circle" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 370 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-circle-fill" viewBox="0 0 16 16">
<path d="M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-5.904-2.803a.5.5 0 1 1 .707.707L6.707 10h2.768a.5.5 0 0 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.525a.5.5 0 0 1 1 0v2.768l4.096-4.096z"/>
</svg>

After

Width:  |  Height:  |  Size: 326 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-circle" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904-2.854a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z"/>
</svg>

After

Width:  |  Height:  |  Size: 377 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-square-fill" viewBox="0 0 16 16">
<path d="M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm8.096-10.803L6 9.293V6.525a.5.5 0 0 0-1 0V10.5a.5.5 0 0 0 .5.5h3.975a.5.5 0 0 0 0-1H6.707l4.096-4.096a.5.5 0 1 0-.707-.707z"/>
</svg>

After

Width:  |  Height:  |  Size: 363 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-square" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.096 3.146a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z"/>
</svg>

After

Width:  |  Height:  |  Size: 451 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M2 13.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1H3.707L13.854 2.854a.5.5 0 0 0-.708-.708L3 12.293V7.5a.5.5 0 0 0-1 0v6z"/>
</svg>

After

Width:  |  Height:  |  Size: 286 B

Some files were not shown because too many files have changed in this diff Show More