Merge branch 'master' of http://192.168.0.157:3000/DBNT/GGWEB
# 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.classmaster
55
.classpath
|
|
@ -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>
|
||||
|
|
@ -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/
|
||||
|
|
|
|||
60
.project
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -1 +0,0 @@
|
|||
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
|
||||
|
|
@ -1 +0,0 @@
|
|||
Window
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
disabled=06target
|
||||
eclipse.preferences.version=1
|
||||
23
.springBeans
|
|
@ -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>
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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> ";
|
||||
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> ";
|
||||
=======
|
||||
// firstPageLabel = "<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_pre10.gif' border=0/></a> ";
|
||||
firstPageLabel = "";//"<a href=\"#\" onclick=\"{0}({1}); return false;\">" + "<image src='" + servletContext.getContextPath() + "/images/egovframework/cmmn/btn_page_pre10.gif' border=0/></a> ";
|
||||
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\">«</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\">»</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> ";
|
||||
>>>>>>> fe79f99402336104ee1532a6190dfbcb6ec1d1e3
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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 <= concat(#{searchEndDate}' 23:59:59')
|
||||
and action = 'login'
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -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},'%')
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -1,3 +1,5 @@
|
|||
Manifest-Version: 1.0
|
||||
Class-Path:
|
||||
Created-By: IntelliJ IDEA
|
||||
Built-By: DBNT
|
||||
Build-Jdk: version 11.0.1
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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"> </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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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"> </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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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=""> 담당자</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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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"> 지도사용 요청</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"> 지도사용 이력</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"> 현장수집 데이터</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"> 회원 관리</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=""> 대시보드
|
||||
</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=""> 지도사용 요청
|
||||
</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=""> 지도사용 이력
|
||||
</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=""> 현장수집 데이터
|
||||
</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=""> 회원 관리
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</sec:authorize>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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> 지도사용 요청
|
||||
</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> 회원정보 수정
|
||||
</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> 대시보드
|
||||
</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> 지도사용 요청
|
||||
</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> 지도사용 이력
|
||||
</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> 현장수집 데이터
|
||||
</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> 회원 관리
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</sec:authorize>
|
||||
|
|
@ -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"/>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |
|
|
@ -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 |