2024-09-04 12:48 위원관리 작업 중

This commit is contained in:
user 2024-09-04 12:48:51 +09:00
parent b0ce557f37
commit 704a02ffd1
9 changed files with 2025 additions and 0 deletions

View File

@ -0,0 +1,16 @@
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestParam;
public interface TrublchargermngDao {
public void trublchargermngInsert(Map<String, Object> paramMap);
public int trublchargermngCheckId(Map<String, Object> paramMap);
public List<Map<String,Object>> trublchargermngList(@RequestParam Map<String,Object> paramMap);
public int trublchargermngListCnt(Map<String, Object> paramMap);
public Map<String,Object> trublchargermngSelectOne(@RequestParam Map<String,Object> paramMap);
public void trublchargermngUpdate(Map<String, Object> paramMap);
public void trublchargermngDelete(Map<String, Object> paramMap);
}

View File

@ -0,0 +1,49 @@
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class TrublchargermngDaoImple implements TrublchargermngDao {
@Autowired
private SqlSession sqlSession;
@Override
public void trublchargermngInsert(Map<String, Object> paramMap) {
sqlSession.insert("trublchargermng.insert", paramMap);
}
@Override
public int trublchargermngCheckId(Map<String, Object> paramMap) {
return sqlSession.selectOne("trublchargermng.checkId", paramMap);
}
@Override
public List<Map<String, Object>> trublchargermngList(Map<String, Object> paramMap) {
return sqlSession.selectList("trublchargermng.select", paramMap);
}
@Override
public int trublchargermngListCnt(Map<String, Object> paramMap) {
return sqlSession.selectOne("trublchargermng.selectCnt", paramMap);
}
@Override
public Map<String, Object> trublchargermngSelectOne(Map<String, Object> paramMap) {
return sqlSession.selectOne("trublchargermng.selectOne", paramMap);
}
@Override
public void trublchargermngUpdate(Map<String, Object> paramMap) {
sqlSession.update("trublchargermng.update", paramMap);
}
@Override
public void trublchargermngDelete(Map<String, Object> paramMap) {
sqlSession.update("trublchargermng.delete", paramMap);
}
}

View File

@ -0,0 +1,267 @@
package seed.com.gtm.trublchargermng;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import seed.com.gtm.seedfile.SeedFileService;
import seed.com.gtm.util.PageMaker;
import seed.com.gtm.util.SeedCriteria;
import seed.utils.SeedUtils;
@Controller
@RequestMapping("/gtm/case")
public class TrublchargermngController {
@Autowired
private TrublchargermngService service;
@Autowired
private SeedFileService fileService;
// /gtm/case/trublchargermng/write.do
@RequestMapping(value="/trublchargermng/write.do", method=RequestMethod.GET)
public String memberWrite(HttpSession session){
return "/seed/_extra/gtm/trublchargermng/write";
}
@RequestMapping(value="/trublchargermng/write.do", method=RequestMethod.POST)
public String memberWrite(HttpServletRequest request, HttpSession session, @RequestParam Map<String,Object> paramMap, Map<String, Object> map){
String memberCode = "";
paramMap.put("joinRegId", session.getAttribute("memberName"));
//암호화
String strCode = SeedUtils.getSeedMD5Code(paramMap.get("joinPass").toString());
paramMap.put("joinPass", SeedUtils.getSeedSHA256Code(strCode));
memberCode = strCode;
paramMap.put("memberCode", memberCode);
//전화번호
String joinTel01 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel01"));
String joinTel02 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel02"));
String joinTel03 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel03"));
String joinTel = joinTel01 + "-" + joinTel02 + "-" + joinTel03;
paramMap.put("joinTel", joinTel);
//핸드폰번호
String joinPh01 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh01"));
String joinPh02 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh02"));
String joinPh03 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh03"));
String joinPh = joinPh01 + "-" + joinPh02 + "-" + joinPh03;
paramMap.put("joinPh", joinPh);
//생년월일 MEMBER_ITEM_A1에 들어감
String joinBirthY = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthY"));
String joinBirthM = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthM"));
String joinBirthD = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthD"));
String joinBirth = joinBirthY+joinBirthM+joinBirthD;
paramMap.put("joinBirth", joinBirth);
//이메일
String joinEmail01 = SeedUtils.setReplaceNull((String)paramMap.get("joinEmail01"));
String joinEmail02 = SeedUtils.setReplaceNull((String)paramMap.get("joinEmail02"));
String joinEmail = joinEmail01+"@"+joinEmail02;
paramMap.put("joinEmail", joinEmail);
service.trublchargermngInsert(paramMap);
paramMap.put("dataIdx", paramMap.get("seq"));
fileService.fileInsert(paramMap, request, session);
map.put("message", "common.message.reg");
map.put("url", "/gtm/case/trublchargermng/list.do");
return "/seed/_common/jsp/message";
}
@RequestMapping("/trublchargermng/idCheck.do")
public @ResponseBody Map<String,Object> idDuplCheck(@RequestParam Map<String,Object> paramMap){
String success = "";
int cnt = service.trublchargermngCheckId(paramMap);
if(cnt > 0){
success = "Y";
}else if(cnt == 0){
success = "N";
}
paramMap.put("success", success);
return paramMap;
}
// /gtm/case/trublchargermng/list.do
@RequestMapping("/trublchargermng/list.do")
public String joinList(ModelMap model, HttpSession session, @RequestParam Map<String,Object> paramMap, SeedCriteria cri){
session.setAttribute("siteIdx", "case");
paramMap.put("pageStart", cri.getPageStart());
paramMap.put("perPageNum", cri.getPerPageNum());
PageMaker pageMaker = new PageMaker();
pageMaker.setCri(cri);
pageMaker.setTotalCount(service.trublchargermngListCnt(paramMap));
List<Map<String, Object>> memberList = service.trublchargermngList(paramMap);
model.addAttribute("memberList", memberList);
model.addAttribute("pageMaker", pageMaker);
return "/seed/_extra/gtm/trublchargermng/list";
}
// /gtm/case/trublchargermng/edit.do
@RequestMapping(value="/trublchargermng/edit.do", method=RequestMethod.GET)
public String memberEdit(ModelMap model,@RequestParam Map<String,Object> paramMap){
Map<String,Object> memberInfo = service.trublchargermngSelectOne(paramMap);
model.addAttribute("memberInfo", memberInfo);
String memberBirth = SeedUtils.setReplaceNull(memberInfo.get("MEMBER_BIRTHDAY"));
String birthY = "";
String birthM = "";
String birthD = "";
if(!memberBirth.equals("") && memberBirth != null){
birthY = memberBirth.substring(0, 4);
birthM = memberBirth.substring(4, 6);
birthD = memberBirth.substring(6, 8);
}
model.addAttribute("birthY", birthY);
model.addAttribute("birthM", birthM);
model.addAttribute("birthD", birthD);
String memberPh = SeedUtils.setReplaceNull(memberInfo.get("MEMBER_HP"));
String[] phList = null;
if(!memberPh.equals("") && memberPh != null){
phList = memberPh.split("-");
if(phList.length >= 2){
model.addAttribute("joinPh01", phList[0]);
model.addAttribute("joinPh02", phList[1]);
model.addAttribute("joinPh03", phList[2]);
}
}
String memberTel = SeedUtils.setReplaceNull(memberInfo.get("MEMBER_TEL"));
String[] telList = null;
if(!memberPh.equals("") && memberPh != null){
telList = memberTel.split("-");
if(telList.length >= 2){
model.addAttribute("joinTel01", telList[0]);
model.addAttribute("joinTel02", telList[1]);
model.addAttribute("joinTel03", telList[2]);
}
}
String memberEmail = SeedUtils.setReplaceNull(memberInfo.get("MEMBER_EMAIL"));
String[] emailList = null;
if(!memberEmail.equals("") && memberEmail != null){
emailList = memberEmail.split("@");
if(emailList.length >= 1){
model.addAttribute("joinEmail01", emailList[0]);
model.addAttribute("joinEmail02", emailList[1]);
}
}
paramMap.put("dataIdx", paramMap.get("memberNo"));
paramMap.put("fileFuncType", "trublchargermng");
List<Map<String, Object>> fileList = fileService.fileList(paramMap);
model.addAttribute("fileList", fileList);
return "/seed/_extra/gtm/trublchargermng/edit";
}
@RequestMapping(value="/trublchargermng/edit.do", method=RequestMethod.POST)
public String memberUpdate (HttpServletRequest request, HttpSession session, ModelMap model,@RequestParam Map<String,Object> paramMap, Map<String, Object> map){
paramMap.put("joinRegId", session.getAttribute("memberName"));
String oldPass = (String)paramMap.get("oldPass");
String joinPass = (String)paramMap.get("joinPass");
String memberCode = "";
if(!oldPass.equals(joinPass)){
//암호화
String strCode = SeedUtils.getSeedMD5Code(joinPass);
paramMap.put("joinPass", SeedUtils.getSeedSHA256Code(strCode));
memberCode = strCode;
paramMap.put("memberCode", memberCode);
}
//전화번호
String joinTel01 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel01"));
String joinTel02 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel02"));
String joinTel03 = SeedUtils.setReplaceNull((String)paramMap.get("joinTel03"));
String joinTel = joinTel01 + "-" + joinTel02 + "-" + joinTel03;
paramMap.put("joinTel", joinTel);
//핸드폰번호
String joinPh01 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh01"));
String joinPh02 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh02"));
String joinPh03 = SeedUtils.setReplaceNull((String)paramMap.get("joinPh03"));
String joinPh = joinPh01 + "-" + joinPh02 + "-" + joinPh03;
paramMap.put("joinPh", joinPh);
//생년월일 MEMBER_ITEM_A1에 들어감
String joinBirthY = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthY"));
String joinBirthM = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthM"));
String joinBirthD = SeedUtils.setReplaceNull((String)paramMap.get("joinBirthD"));
String joinBirth = joinBirthY+joinBirthM+joinBirthD;
paramMap.put("joinBirth", joinBirth);
//이메일
String joinEmail01 = SeedUtils.setReplaceNull((String)paramMap.get("joinEmail01"));
String joinEmail02 = SeedUtils.setReplaceNull((String)paramMap.get("joinEmail02"));
String joinEmail = joinEmail01+"@"+joinEmail02;
paramMap.put("joinEmail", joinEmail);
//성별은 MEMBER_ITEM_B2, 등급은 MEMBER_ITEM_C3, 비고 MEMBER_ITEM_D4
service.trublchargermngUpdate(paramMap);
paramMap.put("dataIdx", paramMap.get("memberNo"));
fileService.fileInsert(paramMap, request, session);
fileService.fileDel(paramMap);
map.put("message", "common.message.mod");
map.put("url", "/gtm/case/trublchargermng/list.do");
return "/seed/_common/jsp/message";
}
@RequestMapping(value="/trublchargermng/del.do", method=RequestMethod.POST)
public String memberDelete (HttpSession session, ModelMap model,@RequestParam Map<String,Object> paramMap, Map<String, Object> map){
service.trublchargermngDelete(paramMap);
fileService.fileDelAll(paramMap);
map.put("message", "common.message.del");
map.put("url", "/gtm/case/trublchargermng/list.do");
return "/seed/_common/jsp/message";
}
}

View File

@ -0,0 +1,43 @@
package seed.com.gtm.trublchargermng;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import seed.com.gtm.dao.TrublchargermngDao;
@Service
public class TrublchargermngService {
@Autowired
private TrublchargermngDao dao;
public void trublchargermngInsert(Map<String, Object> paramMap){
dao.trublchargermngInsert(paramMap);
}
public int trublchargermngCheckId(Map<String, Object> paramMap){
return dao.trublchargermngCheckId(paramMap);
}
public List<Map<String,Object>> trublchargermngList(Map<String, Object> paramMap){
return dao.trublchargermngList(paramMap);
}
public int trublchargermngListCnt(Map<String, Object> paramMap){
return dao.trublchargermngListCnt(paramMap);
}
public Map<String,Object> trublchargermngSelectOne(Map<String, Object> paramMap){
return dao.trublchargermngSelectOne(paramMap);
}
public void trublchargermngUpdate(Map<String, Object> paramMap){
dao.trublchargermngUpdate(paramMap);
}
public void trublchargermngDelete(Map<String, Object> paramMap){
dao.trublchargermngDelete(paramMap);
}
}

View File

@ -0,0 +1,191 @@
<?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="trublchargermng">
<insert id="insert" parameterType="java.util.HashMap" useGeneratedKeys="true">
<selectKey keyProperty="seq" resultType="int" order="BEFORE">
select C_TRUBLMFCMM_SEQ.NEXTVAL FROM DUAL
</selectKey>
INSERT INTO C_TRUBLMFCMM(
MEMBER_NO,
MEMBER_ID,
MEMBER_PWD,
MEMBER_NAME,
MEMBER_BIRTHDAY,
MEMBER_GENDER,
MEMBER_HP,
MEMBER_FILE,
MEMBER_EMAIL,
ZIP,
ADDR1,
ADDR2,
ROAD_ADDR1,
ROAD_ADDR2,
START_APPOINT,
END_APPOINT,
REAPNT_CHECK,
CASE_GUBUN,
CASE_FIELD,
MEMBER_POSIT,
MEMBER_COMPANY,
MEMBER_DEPT,
MEMBER_CLSF,
MEMBER_TEL,
MEMBER_UNIT,
MEMBER_CAREER,
MEMBER_STATE,
MEMBER_RESIGN_CHECK,
MEMBER_RESIGN_TXT,
USE_CHECK,
REG_IP,
REG_DT,
REG_ID,
MOD_DT,
MOD_ID,
MEMBER_CODE
) VALUES (
#{seq},
#{joinId},
#{joinPass},
#{joinName},
#{joinBirth},
#{joinGender},
#{joinPh},
'',
#{joinEmail},
#{joinZip},
#{joinAddr01},
#{joinAddr02},
'',
'',
#{joinStartAppoint},
#{joinEndAppoint},
#{joinReapntCheck, jdbcType=VARCHAR},
#{joinGubun},
#{joinField},
#{joinPosition},
#{joinCompany},
#{joinDept},
#{joinClsf},
#{joinTel},
#{joinUnit},
#{editorParam_joinCareea},
#{joinState},
#{joinResignCheck, jdbcType=VARCHAR},
#{joinResignTxt},
#{joinUseCheck},
'',
SYSDATE,
#{joinRegId},
SYSDATE,
#{joinRegId},
#{memberCode}
)
</insert>
<select id="checkId" parameterType="java.util.HashMap" resultType="int">
SELECT COUNT(*)
FROM C_TRUBLMFCMM
WHERE MEMBER_ID = #{joinId}
</select>
<select id="select" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT * FROM
(
SELECT ROW_.*, ROWNUM AS RNUM FROM
(
SELECT MEMBER_NO,
MEMBER_NAME,
MEMBER_HP,
MEMBER_EMAIL,
REAPNT_CHECK,
CASE_GUBUN,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CT.CASE_GUBUN ) AS CASE_GUBUN_NAME,
CASE_FIELD,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CT.CASE_FIELD ) AS CASE_FIELD_NAME,
MEMBER_POSIT,
MEMBER_COMPANY,
MEMBER_UNIT,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CT.MEMBER_UNIT ) AS MEMBER_UNIT_NAME,
USE_CHECK,
REG_DT,
REG_ID
FROM C_TRUBLMFCMM CT
WHERE DEL_YN = 'N'
<if test="searchGubun != null and searchGubun != ''">
AND CASE_GUBUN LIKE '%' || #{searchGubun} || '%'
</if>
<if test="searchName != null and searchName != ''">
AND MEMBER_NAME LIKE '%' || #{searchName} || '%'
</if>
ORDER BY TO_NUMBER(MEMBER_NO) DESC
) ROW_
)
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
</select>
<select id="selectCnt" parameterType="java.util.HashMap" resultType="int">
SELECT COUNT(*)
FROM C_TRUBLMFCMM
WHERE DEL_YN = 'N'
<if test="searchGubun != null and searchGubun != ''">
AND CASE_GUBUN LIKE '%' || #{searchGubun} || '%'
</if>
<if test="searchName != null and searchName != ''">
AND MEMBER_NAME LIKE '%' || #{searchName} || '%'
</if>
</select>
<select id="selectOne" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT *
FROM C_TRUBLMFCMM
WHERE MEMBER_NO = #{memberNo}
</select>
<update id="update" parameterType="java.util.HashMap">
UPDATE C_TRUBLMFCMM
SET MEMBER_ID = #{joinId},
<if test="joinPass != null and joinPass != ''">
MEMBER_PWD = #{joinPass},
</if>
MEMBER_NAME = #{joinName},
MEMBER_BIRTHDAY = #{joinBirth},
MEMBER_GENDER = #{joinGender},
MEMBER_HP = #{joinPh},
MEMBER_EMAIL = #{joinEmail},
ZIP = #{joinZip},
ADDR1 = #{joinAddr01},
ADDR2 = #{joinAddr02},
START_APPOINT = #{joinStartAppoint},
END_APPOINT = #{joinEndAppoint},
REAPNT_CHECK = #{joinReapntCheck, jdbcType=VARCHAR},
CASE_GUBUN = #{joinGubun},
CASE_FIELD = #{joinField},
MEMBER_POSIT = #{joinPosition},
MEMBER_COMPANY = #{joinCompany},
MEMBER_DEPT = #{joinDept},
MEMBER_CLSF = #{joinClsf},
MEMBER_TEL = #{joinTel},
MEMBER_UNIT = #{joinUnit},
MEMBER_CAREER = #{editorParam_joinCareea},
MEMBER_STATE = #{joinState},
MEMBER_RESIGN_CHECK = #{joinResignCheck, jdbcType=VARCHAR},
MEMBER_RESIGN_TXT = #{joinResignTxt},
USE_CHECK = #{joinUseCheck},
MOD_DT = SYSDATE,
MOD_ID = #{joinRegId}
<if test="memberCode != null and memberCode != ''">
,MEMBER_CODE = #{memberCode}
</if>
WHERE MEMBER_NO = #{memberNo}
</update>
<update id="delete" parameterType="java.util.HashMap">
UPDATE C_TRUBLMFCMM
SET DEL_YN = 'Y'
WHERE MEMBER_NO = #{memberNo}
</update>
</mapper>

View File

@ -0,0 +1,631 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!doctype html>
<html lang="ko">
<head>
<title>정보 관리</title>
<link href='/css/space.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.contents.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.mediaquery.css' rel='styleGsheet' type='text/css'/>
<link href='/site/ntcc/css/gtmCustom.css' rel='stylesheet' type='text/css'/>
<script src="/editor/webnote.js"></script>
</head>
<body>
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title">위원 관리</h3>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p>위원을 등록 할 수 있는 페이지 입니다.</p>
</div>
</div>
</div>
</div>
<form:form name="writeFrm" id="writeFrm" action="/gtm/case/trublchargermng/edit.do" method="post">
<input type="hidden" name="tempId" id="tempId" value="${memberInfo.MEMBER_ID}">
<input type="hidden" name="memberNo" id="memberNo" value="${memberInfo.MEMBER_NO}">
<input type="hidden" name=oldPass id="oldPass" value="${memberInfo.MEMBER_PWD}">
<br>
<br>
<h3>기본 정보</h3>
<br>
<fieldset>
<div class="bbs-view-layout">
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> ID</p>
<div class="item-box">
<input type="text" name="joinId" id="joinId" style="width: 30%" placeholder="4~12자 영문, 숫자를 이용하여 입력해주세요." maxlength="12" value="${memberInfo.MEMBER_ID }">
<div class="change-state-area" style="padding: 0 0;margin-top: 2px;display: inline-block;">
<button type="button" class="btn-change-state" onclick="idDuplChekc();" >ID중복체크</button>
</div>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 비밀번호</p>
<div class="item-box">
<input type="password" name="joinPass" id="joinPass" style="width: 20%" maxlength="16" value="${memberInfo.MEMBER_PWD }">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 비빌번호 확인</p>
<div class="item-box">
<input type="password" name="joinPassConfirm" id="joinPassConfirm" style="width: 20%" maxlength="16" value="${memberInfo.MEMBER_PWD }">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 위원명</p>
<div class="item-box">
<input type="text" name="joinName" id="joinName" style="width: 30%" maxlength="20" value="${memberInfo.MEMBER_NAME }">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 생년월일</p>
<div class="item-box">
<select name="joinBirthY" id="joinBirthY">
<option value="">년도</option>
<c:set var="now" value="<%=new java.util.Date()%>" />
<fmt:formatDate value="${now}" pattern="yyyy" var="yearStart"/>
<c:forEach begin="0" end="100" var="result" step="1">
<option value="<c:out value="${yearStart - result}" />" <c:if test="${(yearStart - result) == birthY}"> selected="selected"</c:if>><c:out value="${yearStart - result}" /></option>
</c:forEach>
</select>
<select name="joinBirthM" id="joinBirthM">
<option value="">월</option>
<c:forEach var="i" begin="1" end="12" step="1">
<c:choose>
<c:when test="${i < 10 }">
<option value="0${i}" <c:if test="${i == birthM}"> selected="selected"</c:if>>0${i}</option>
</c:when>
<c:otherwise>
<option value="${i}" <c:if test="${i == birthM}"> selected="selected"</c:if>>${i}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
<select name="joinBirthD" id="joinBirthD">
<option value="">일</option>
<c:forEach var="i" begin="1" end="31" step="1">
<c:choose>
<c:when test="${i < 10 }">
<option value="0${i}" <c:if test="${i == birthD}"> selected="selected"</c:if>>0${i}</option>
</c:when>
<c:otherwise>
<option value="${i}" <c:if test="${i == birthD}"> selected="selected"</c:if>>${i}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 성별</p>
<div class="item-box">
<label><input type="radio" name="joinGender" value="3001000000" <c:if test="${memberInfo.MEMBER_GENDER == '3001000000'}">checked="checked"</c:if>>남</label>
<label><input type="radio" name="joinGender" value="3002000000" <c:if test="${memberInfo.MEMBER_GENDER == '3002000000'}">checked="checked"</c:if>>여</label>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 휴대전화</p>
<div class="item-box">
<input type="text" name="joinPh01" id="joinPh01" maxlength="3" value="${joinPh01}" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
<input type="text" name="joinPh02" id="joinPh02" maxlength="4" value="${joinPh02}" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
<input type="text" name="joinPh03" id="joinPh03" maxlength="4" value="${joinPh03}" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 사진</p>
<div class="item-box">
<ul class="upFileHtml" id="upFileHtml" style="float: left">
<li style="display: block;"><img src="/site/case/upload/uploadFiles/trublchargermng/${fileList[0].EXTRA_FILE_RENAME}" id="trubleImg" style="width:140px;height:180px " alt="사진이미지"></li>
<c:forEach items="${fileList}" var="list" varStatus="status">
<li id="fileUploadP${status.count}" class="bbsFileHtml" style="display: block;">
<img src="/img/user/bbs/icon_file.gif" alt="gif">&nbsp;&nbsp;
<span><a href="/seed/extra/down/file.do?dataIdx=${list.EXTRA_FILE_IDX}&funcType=${list.EXTRA_FUNC_TYPE}&pathKey1=${siteIdx}">${list.EXTRA_FILE_NAME}</a></span>
<a href="javascript:;" onclick="javascript:jf_delete_file('${status.count}', '${list.EXTRA_FILE_SIZE}');deleteImg();" class="del ml7"><img src="/img/user/bbs/btn_file_del.png" alt="삭제"></a>
<input type="hidden" name="fileIdx" value="${list.EXTRA_FILE_IDX}" class="fileIdxClass"/>
</li>
</c:forEach>
</ul>
<p style="display: inline-block;margin: 100px">
- 본인의 얼굴이 정면으로 보이는 명함사진을 등록해주세요.<br>
- gif, jpg 파일만 등록 가능합니다.
</p>
<div class="temp-file-area">
<label for="upFile" class="temp-file-button">첨부파일</label>
</div>
<input type="hidden" name="fileFuncType" value="trublchargermng" />
<input type="hidden" name="uploadFileCnt" value="0" id="uploadFileCntId" />
<input type="hidden" name="deleteFileData" value="" id="deleteFileDataId" />
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 이메일</p>
<div class="item-box">
<input type="text" name="joinEmail01" id="joinEmail01" style="width: 30%" value="${joinEmail01}"> @
<input type="text" name="joinEmail02" id="joinEmail02" style="width: 30%" value="${joinEmail02}">
<select name="joinEmailSel" id="joinEmailSel" onchange="inputEmail();">
<option value="">직접입력</option>
<option value="hanmail.net">hanmail.net</option>
<option value="naver.com">naver.com</option>
<option value="nate.com">nate.com</option>
<option value="gmail.com">gmail.com</option>
<option value="Hotmail.com">Hotmail.com</option>
<option value="yahoo.com">yahoo.com</option>
<option value="dreamwiz.com">dreamwiz.com</option>
<option value="empal.com">empal.com</option>
<option value="chol.com">chol.com</option>
<option value="Korean.com">Korean.com</option>
<option value="netian.com">netian.com</option>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 주소</p>
<div class="item-box">
<input type="text" name="joinZip" id="joinZip" style="width: 10%" readonly="readonly" value="${memberInfo.ZIP}">
<div class="change-state-area" style="padding: 0 0;margin-top: 2px;display: inline-block;">
<button type="button" class="btn-change-state" onclick="goJuso('A');">우편번호검색</button>
</div>
<br>
<input type="text" name="joinAddr01" id="" style="width: 50%; margin-top:5px" readonly="readonly" value="${memberInfo.ADDR1}"><br>
<input type="text" name="joinAddr02" id="" style="width: 50%; margin-top:5px" maxlength="100" value="${memberInfo.ADDR2}">
</div>
</div>
</div>
<br>
</fieldset>
<br>
<br>
<h3>추가 정보</h3>
<br>
<fieldset>
<div class="bbs-view-layout">
<div class="bbs-view-item">
<p class="item-title">위촉기간</p>
<div class="item-box">
<input type="text" class="datepicker" name="joinStartAppoint" style="width: 20%" value="${memberInfo.START_APPOINT}"> ~
<input type="text" class="datepicker" name="joinEndAppoint" style="width: 20%" value="${memberInfo.END_APPOINT}">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">연임여부</p>
<div class="item-box">
<label>YES <input type="checkbox" name="joinReapntCheck" value="Y" <c:if test="${memberInfo.REAPNT_CHECK == 'Y'}"> checked="checked"</c:if>></label>
<label>NO <input type="checkbox" name="joinReapntCheck" value="N" <c:if test="${memberInfo.REAPNT_CHECK == 'N'}"> checked="checked"</c:if>></label>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">구분</p>
<div class="item-box">
<select name="joinGubun" id="joinGubun">
<option value="">협의회선택</option>
</select>
<select name="joinField" id="joinField">
<option value="">분야선택</option>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">직위</p>
<div class="item-box">
<select name="joinPosition" id="joinPosition">
<option value="">선택</option>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">직장명</p>
<div class="item-box">
<input type="text" name="joinCompany" id="" style="width: 30%" maxlength="30" value="${memberInfo.MEMBER_COMPANY}"><br>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">부서</p>
<div class="item-box">
<input type="text" name="joinDept" id="" style="width: 30%" maxlength="30" value="${memberInfo.MEMBER_DEPT}"><br>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">직급</p>
<div class="item-box">
<input type="text" name="joinClsf" id="" style="width: 30%" maxlength="30" value="${memberInfo.MEMBER_CLSF}"><br>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">전화번호</p>
<div class="item-box">
<input type="text" name="joinTel01" id="" maxlength="3" value="${joinTel01 }" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
<input type="text" name="joinTel02" id="" maxlength="4" value="${joinTel02 }" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
<input type="text" name="joinTel03" id="" maxlength="4" value="${joinTel03 }" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">기수</p>
<div class="item-box">
<select name="joinUnit" id="joinUnit">
<option value="">선택</option>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">주요경력</p>
<div class="item-box">
<textarea class="bg_essential" maxlength="2000" name="editorParam_joinCareea" title="내용을 입력하세요" style="width:99%; height:50px;">${memberInfo.MEMBER_CAREER}</textarea>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">위촉상태</p>
<div class="item-box">
<select name="joinState" id="joinState">
<option value="">선택</option>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">연임여부</p>
<div class="item-box">
<label><input type="radio" name="joinResignCheck" value="3401000000" <c:if test="${memberInfo.MEMBER_RESIGN_CHECK == '3401000000'}"> checked="checked"</c:if>>임기만료</label>
<label><input type="radio" name="joinResignCheck" value="3402000000" <c:if test="${memberInfo.MEMBER_RESIGN_CHECK == '3402000000'}"> checked="checked"</c:if>>기타</label>
<input type="text" name="joinResignTxt" style="width: 30%" maxlength="30" value="${memberInfo.MEMBER_RESIGN_TXT}">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">사용여부</p>
<div class="item-box">
<label><input type="radio" name="joinUseCheck" value="N" <c:if test="${memberInfo.USE_CHECK == 'N'}"> checked="checked"</c:if>>사용안함</label>
<label><input type="radio" name="joinUseCheck" value="Y" <c:if test="${memberInfo.USE_CHECK == 'Y'}"> checked="checked"</c:if>>사용</label>
</div>
</div>
</div>
</fieldset>
<div class="btn-area">
<button type="button" class="btn-normal lightgray mb10" onclick="goList('list')">목록</button>
<button type="submit" class="btn-normal violet mb10">저장</button>
<button type="button" class="btn-normal lightgray mb10" onclick="goList('del')">삭제</button>
</div>
</form:form>
<!-- 파일 입시저장을 위한 폼 -->
<form id="fileTempUpFrm" action="/seed/extra/temp/file.do" method="post" enctype="multipart/form-data">
<input type="hidden" name="fileFuncType" value="trublchargermng" />
<div class="temp-file-area">
<input type="file" name="upFile" id="upFile" class="essential temp-file-hideen" onchange="checkFileNo();" required title="첨부파일" value="" style="ime-mode: disabled;" >
</div>
</form>
<form name="paramFrm" id="paramFrm" action="/gtm/case/trublchargermng/list.do" method="get">
<input type="hidden" name="searchGubun" value="${param.searchGubun}">
<input type="hidden" name="searchName" value="${param.searchName}">
<input type="hidden" name="page" id="page" value="${param.page}">
</form>
<form:form name="delFrm" id="delFrm" action="/gtm/case/trublchargermng/del.do" method="post">
<input type="hidden" name="memberNo" id="memberNo" value="${memberInfo.MEMBER_NO}">
</form:form>
<script type="text/javascript">
$(document).ready(function(){
memberGubun();
memberField();
memberPosition();
memberUnit();
memberState();
setTimeout(function() {
if('${memberInfo.CASE_GUBUN}' != ""){
var gubunList = $("#joinGubun option");
for(var i = 0; i < gubunList.size(); i++){
if(gubunList[i].value == '${memberInfo.CASE_GUBUN}'){
$(gubunList[i]).attr("selected", true);
}
}
}
if('${memberInfo.CASE_FIELD}' != ""){
var gubunList = $("#joinField option");
for(var i = 0; i < gubunList.size(); i++){
if(gubunList[i].value == '${memberInfo.CASE_FIELD}'){
$(gubunList[i]).attr("selected", true);
}
}
}
if('${memberInfo.MEMBER_POSIT}' != ""){
var gubunList = $("#joinPosition option");
for(var i = 0; i < gubunList.size(); i++){
if(gubunList[i].value == '${memberInfo.MEMBER_POSIT}'){
$(gubunList[i]).attr("selected", true);
}
}
}
if('${memberInfo.MEMBER_UNIT}' != ""){
var gubunList = $("#joinUnit option");
for(var i = 0; i < gubunList.size(); i++){
if(gubunList[i].value == '${memberInfo.MEMBER_UNIT}'){
$(gubunList[i]).attr("selected", true);
}
}
}
if('${memberInfo.MEMBER_STATE}' != ""){
var gubunList = $("#joinState option");
for(var i = 0; i < gubunList.size(); i++){
if(gubunList[i].value == '${memberInfo.MEMBER_STATE}'){
$(gubunList[i]).attr("selected", true);
}
}
}
}, 700);
$("#writeFrm").submit(function(){
if($("#joinId").val() == ""){
alert("아이디를 입력해 주세요");
$("#joinId").focus();
return false;
}
if($("#tempId").val() == ""){
alert("아이디 중복체크를 해주세요");
return false;
}
if($("#tempId").val() != $("#joinId").val()){
alert("아이디 중복체크를 해주세요");
return false;
}
if($("#joinPass").val().trim() == ""){
alert("비밀번호를 입력해 주세요");
return false;
}
if($("#joinPassConfirm").val().trim() == ""){
alert("비밀번호 확인을 입력해 주세요");
return false;
}
if($("#joinPass").val().trim() != $("#joinPassConfirm").val().trim()){
alert("비밀번호가 다릅니다. 다시 한번 확인해 주세요");
return false;
}
if($("#joinName").val().trim() == ""){
alert("위원명을 입력해 주세요");
$("#joinName").focus();
return false;
}
if($("#joinBirthY").val() == "" ||
$("#joinBirthM").val() == "" ||
$("#joinBirthD").val() == ""
){
alert("생년월일을 입력해 주세요");
return false;
}
if($("#joinPh01").val() == "" ||
$("#joinPh02").val() == "" ||
$("#joinPh03").val() == ""
){
alert("휴대전화를 입력해 주세요");
return false;
}
var regex=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/; //메일 양식처리
if(regex.test($("#joinEmail01").val() + "@" + $("#joinEmail02").val()) == false) {
alert("잘못된 이메일 형식입니다.");
return false;
}
if($("#joinZip").val().trim() == ""){
alert("주소를 입력해 주세요");
$("#joinZip").focus();
return false;
}
});
});
function onlyNumber(event){
event = event || window.event;
var keyID = (event.which) ? event.which : event.keyCode;
if ( (keyID >= 48 && keyID <= 57) || (keyID >= 96 && keyID <= 105) || keyID == 8 || keyID == 46 || keyID == 37 || keyID == 39 )
return;
else
return false;
}
function removeChar(event) {
event = event || window.event;
var keyID = (event.which) ? event.which : event.keyCode;
if ( keyID == 8 || keyID == 46 || keyID == 37 || keyID == 39 )
return;
else
event.target.value = event.target.value.replace(/[^0-9]/g, "");
}
// 신규 우편번호
function jusoCallBack(roadFullAddr,roadAddrPart1,addrDetail,roadAddrPart2,engAddr, jibunAddr, zipNo, admCd, rnMgtSn, bdMgtSn, command){
var f = document.writeFrm;
if("A"==command){//신청인주소
f.joinZip.value=zipNo;
f.joinAddr01.value=roadAddrPart1;
f.joinAddr02.value=addrDetail;
}
/*피신청인 주소는 동적이기 때문에 따로처리*/
}
function goJuso(command){
var pop = window.open("/user/extra/case/zipCode/jusoPopup/jsp/Page.do?command="+command,"pop","width=570,height=420, scrollbars=yes, resizable=yes");
}
function inputEmail(){
if($("#joinEmailSel").val() == ""){
$("#joinEmail02").val("");
$("#joinEmail02").show();
}else{
$("#joinEmail02").hide();
$("#joinEmail02").val($("#joinEmailSel").val());
}
}
function idDuplChekc(){
if($("#joinId").val() == ""){
alert("아이디를 입력 해 주세요");
$("#joinId").focus();
return false;
}
var joinId = $("#joinId").val();
$.ajax({
type:"POST",
url:"/gtm/case/trublchargermng/idCheck.do",
dataType:"json",
data:"joinId="+joinId,
success:function(data){
if(data.success == 'N'){
alert("사용 가능한 아이디 입니다.");
$("#tempId").val(joinId);
}else if(data.success == 'Y'){
alert("이미 사용중인 아이디 입니다.");
$("#joinId").val("");
$("#tempId").val("");
$("#joinId").focus();
}
}
});
}
function memberGubun(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleGubun.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinGubun");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberField(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleField.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinField");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberPosition(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrublePosition.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinPosition");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberUnit(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleUnit.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinUnit");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberState(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleState.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinState");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function goList(param){
if(param == 'list'){
$("#paramFrm").submit();
}else if(param == 'del'){
if(confirm("정말 삭제 하시겠 습니까")){
$("#delFrm").submit();
}
}
}
function checkFileNo(){
var liSize = $("#upFileHtml li").size();
if(liSize > 1){
alert("이미지는 한개만 업로드 가능합니다. 삭제후 업로드 해 주세요.");
return false;
}
fileTempUp('trublchargermng');
}
function deleteImg(){
$("#trubleImg").attr("src","");
}
</script>
<script src="/js/jquery.form.js"></script>
<script src="/js/seedFileUtil.js"></script>
</body>
</html>

View File

@ -0,0 +1,230 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!doctype html>
<html lang="ko">
<head>
<title>정보 관리</title>
<link href='/css/space.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.contents.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed.mediaquery.css' rel='styleGsheet' type='text/css'/>
<link href='/site/ntcc/css/gtmCustom.css' rel='stylesheet' type='text/css'/>
<script src="/editor/webnote.js"></script>
</head>
<body>
<form:form name="frm" id="frm" action="" method="post">
<input type="hidden" id="crfNm" name="crfNm" value="">
<input type="hidden" id="CLIPDATA_SEARCHGUBUN" name="CLIPDATA_SEARCHGUBUN" value="">
<input type="hidden" id="CLIPDATA_SEARCHNAME" name="CLIPDATA_SEARCHNAME" value="">
</form:form>
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title">위원 관리</h3>
<div class="sch-content-wrap clear" style="margin-left: 20px">
<button type="button" class="btn-page-sch" title="엑셀다운" onclick="clipCall('trublchargermng');">엑셀다운로드</button>
</div>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p>위원 관리를 할 수 있는 리스트 페이지 입니다.</p>
</div>
</div>
</div>
<div class="sch-content-wrap clear">
<form name="searchFrm" id="searchFrm" action="" method="get">
<input type="hidden" name="page" id="page" value="${pageMaker.cri.page}">
<input type="hidden" name="memberNo" id="memberNo" value="">
<fieldset>
<select name="searchGubun" id="searchGubun" class="sch-select" title="자료유형 선택">
<option value="">협의회선택</option>
</select>
<input type="text" name="searchName" value="${param.searchName}" class="sch-text" title="검색텍스트" placeholder="위원명을 입력하세요">
<button type="button" class="btn-page-sch" title="검색 완료 버튼" onclick="goPage('search', '')">검색</button>
</fieldset>
</form>
</div>
</div>
<div class="form-wrap">
<div class="table-layout br-none">
<table>
<caption>자주하는질문 테이블입니다.</caption>
<colgroup>
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
<col style="width:10%">
</colgroup>
<thead>
<tr>
<th scope="col">협의회</th>
<th scope="col">분야</th>
<th scope="col">위원명</th>
<th scope="col">기수</th>
<th scope="col">소속</th>
<th scope="col">연락처</th>
<th scope="col">이메일</th>
<th scope="col">등록일</th>
<th scope="col">관리</th>
</tr>
</thead>
<tbody>
<c:forEach items="${memberList}" var="list" varStatus="status">
<c:if test="${list.USE_CHECK == 'Y'}">
<tr>
<td>${list.CASE_GUBUN_NAME}</td>
<td>${list.CASE_FIELD_NAME}</td>
<td>${list.MEMBER_NAME}</td>
<td>${list.MEMBER_UNIT_NAME}</td>
<td>${list.MEMBER_COMPANY}</td>
<td>${list.MEMBER_HP}</td>
<td>${list.MEMBER_EMAIL}</td>
<td>${list.REG_DT}</td>
<td>
<div class="change-state-area" style="padding: 0 0;margin-top: 2px;display: inline-block;">
<button type="button" class="btn-change-state" onclick="goPage('edit','${list.MEMBER_NO}')" >수정</button>
</div>
</td>
</tr>
</c:if>
<c:if test="${list.USE_CHECK == 'N'}">
<tr>
<td>${list.CASE_GUBUN_NAME}</td>
<td>${list.CASE_FIELD_NAME}</td>
<td>${list.MEMBER_NAME}</td>
<td>${list.MEMBER_UNIT_NAME}</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
</c:if>
</c:forEach>
</tbody>
</table>
</div>
<div class="change-state-area" style="overflow: hidden;">
<div align="right">
<button type="button" onclick="goPage('write', '')" class="btn-change-state" style="background-color: #5e66ab;">추가</button>
</div>
</div>
</div>
<!-- 페이징 -->
<div class="pagination-container">
<div class="pagination-inner clear">
<div class='pagination-control prev clear'>
<a class='first-btn' href="javascript:goPage('paging', '1')" title="첫페이지"></a>
<c:choose>
<c:when test="${pageMaker.prev}">
<a class='prev-btn' href="javascript:goPage('paging', '${pageMaker.cri.page - 1}')" title="이전페이지"><img src="/img/common/list_navi2.gif" alt="이전 목록으로 이동" /></a>
</c:when>
<c:otherwise>
<a class='prev-btn' href="javascript:goPage('paging', '${pageMaker.cri.page}')" title="이전페이지"><img src="/img/common/list_navi2.gif" alt="이전 목록으로 이동" /></a>
</c:otherwise>
</c:choose>
</div>
<ul class='pagination clear'>
<c:forEach begin="${pageMaker.startPage}" end="${pageMaker.endPage }" var="idx">
<c:choose>
<c:when test="${idx == pageMaker.cri.page }">
<li><a class='on' href="javascript:goPage('paging', '${idx}')" title="현재페이지">${idx}</a></li>
</c:when>
<c:otherwise>
<li><a href="javascript:goPage('paging', '${idx}')" title="${idx}페이지">${idx}</a></li>
</c:otherwise>
</c:choose>
</c:forEach>
</ul>
<div class='pagination-control next clear'>
<c:choose>
<c:when test="${pageMaker.next}">
<a class='next-btn' href="javascript:goPage('paging', '${pageMaker.cri.page + 1}')" title="다음페이지"><img src="/img/common/list_navi3.gif" alt="다음 목록으로 이동" /></a>
</c:when>
<c:otherwise>
<a class='next-btn' href="javascript:goPage('paging', '${pageMaker.cri.page}')" title="다음페이지"><img src="/img/common/list_navi3.gif" alt="다음 목록으로 이동" /></a>
</c:otherwise>
</c:choose>
<a class='last-btn' href="javascript:goPage('paging', '${pageMaker.endPage}')" title="마지막페이지"><img src="/img/common/list_navi4.gif" alt="마지막 목록으로 이동" /></a>
</div>
</div>
</div>
<!-- 페이징 END -->
<script type="text/javascript">
$(document).ready(function(){
memberGubun();
setTimeout(function() {
if('${param.searchGubun}' != ""){
var gubunList = $("#searchGubun option");
for(var i = 0; i < gubunList.size(); i++){
if(gubunList[i].value == '${param.searchGubun}'){
$(gubunList[i]).attr("selected", true);
}
}
}
}, 700);
});
function goPage(type, param){
if(type == 'write'){
$("#memberNo").remove();
$("#searchFrm").attr("action","/gtm/case/trublchargermng/write.do");
$("#searchFrm").submit();
}else if(type == 'search'){
$("#page").val("1");
$("#memberNo").remove();
$("#searchFrm").attr("action","/gtm/case/trublchargermng/list.do");
$("#searchFrm").submit();
}else if(type == 'edit'){
$("#searchFrm").attr("action","/gtm/case/trublchargermng/edit.do");
$("#memberNo").val(param);
$("#searchFrm").submit();
}else if(type == 'paging'){
$("#page").val(param);
$("#memberNo").remove();
$("#searchFrm").attr("action","/gtm/case/trublchargermng/list.do");
$("#searchFrm").submit();
}
}
function memberGubun(){
var url = "";
//$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleGubun.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#searchGubun");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
//클립리포트 호출
function clipCall(crfNm){
$("#crfNm").val(crfNm);
$("#CLIPDATA_SEARCHGUBUN").val($("#searchGubun").val());
$("#CLIPDATA_SEARCHNAME").val($("#searchName").val());
var f = document.frm;
f.target = "blank";
f.action = "/clip/ClipReport4/ClipReportViewer/ClipReport4.do";
f.submit();
f.target = "_self";
}
</script>
</body>
</html>

View File

@ -0,0 +1,552 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!doctype html>
<html lang="ko">
<head>
<title>정보 관리</title>
<link href='/css/seed/space.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed/seed.contents.css' rel='stylesheet' type='text/css'/>
<link href='/css/seed/seed.mediaquery.css' rel='styleGsheet' type='text/css'/>
<link href='/site/ntcc/css/gtmCustom.css' rel='stylesheet' type='text/css'/>
<script src="/editor/webnote.js"></script>
</head>
<body>
<div class="page-title-wrap clear">
<div class="page-title-inner">
<h3 class="page-title">위원 관리</h3>
<div class="tooltipBox type01">
<button type="button" class="page-tip">페이지안내</button>
<div class="tooltipText">
<p>위원을 등록 할 수 있는 페이지 입니다.</p>
</div>
</div>
</div>
</div>
<form:form name="writeFrm" id="writeFrm" action="/gtm/case/trublchargermng/write.do" method="post">
<input type="hidden" name="tempId" id="tempId" value="">
<br>
<br>
<h3>기본 정보</h3>
<br>
<fieldset>
<div class="bbs-view-layout">
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> ID</p>
<div class="item-box">
<input type="text" name="joinId" id="joinId" style="width: 30%" placeholder="4~12자 영문, 숫자를 이용하여 입력해주세요." maxlength="12">
<div class="change-state-area" style="padding: 0 0;margin-top: 2px;display: inline-block;">
<button type="button" class="btn-change-state" onclick="idDuplChekc();" >ID중복체크</button>
</div>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 비밀번호</p>
<div class="item-box">
<input type="password" name="joinPass" id="joinPass" style="width: 30%" maxlength="16">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 비빌번호 확인</p>
<div class="item-box">
<input type="password" name="joinPassConfirm" id="joinPassConfirm" style="width: 30%" maxlength="16">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 위원명</p>
<div class="item-box">
<input type="text" name="joinName" id="joinName" style="width: 30%" maxlength="20">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 생년월일</p>
<div class="item-box">
<select name="joinBirthY" id="joinBirthY">
<option value="">년도</option>
<c:set var="now" value="<%=new java.util.Date()%>" />
<fmt:formatDate value="${now}" pattern="yyyy" var="yearStart"/>
<c:forEach begin="0" end="100" var="result" step="1">
<option value="<c:out value="${yearStart - result}" />" <c:if test="${(yearStart - result) == searchVO.bsnsYear}"> selected="selected"</c:if>><c:out value="${yearStart - result}" /></option>
</c:forEach>
</select>
<select name="joinBirthM" id="joinBirthM">
<option value="">월</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<select name="joinBirthD" id="joinBirthD">
<option value="">일</option>
<c:forEach var="i" begin="1" end="31" step="1">
<c:choose>
<c:when test="${i < 10 }">
<option value="0${i}">0${i}</option>
</c:when>
<c:otherwise>
<option value="${i}">${i}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 성별</p>
<div class="item-box">
<input type="radio" name="joinGender" value="3001000000" checked="checked">남
<input type="radio" name="joinGender" value="3002000000">여
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 휴대전화</p>
<div class="item-box">
<input type="text" name="joinPh01" id="joinPh01" maxlength="3" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
<input type="text" name="joinPh02" id="joinPh02" maxlength="4" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
<input type="text" name="joinPh03" id="joinPh03" maxlength="4" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 사진</p>
<div class="item-box">
<img src="" id="trubleImg" style="width:140px;height:180px " alt="사진이미지">
<p style="display: inline-block;">
- 본인의 얼굴이 정면으로 보이는 명함사진을 등록해주세요.<br>
- gif, jpg 파일만 등록 가능합니다.
</p>
<div class="temp-file-area">
<label for="upFile" class="temp-file-button">첨부파일</label>
</div>
<ul class="upFileHtml" id="upFileHtml">
</ul>
<input type="hidden" name="fileFuncType" value="trublchargermng" />
<input type="hidden" name="uploadFileCnt" value="0" id="uploadFileCntId" />
<input type="hidden" name="deleteFileData" value="" id="deleteFileDataId" />
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 이메일</p>
<div class="item-box">
<input type="text" name="joinEmail01" id="joinEmail01" style="width: 30%"> @
<input type="text" name="joinEmail02" id="joinEmail02" style="width: 30%">
<select name="joinEmailSel" id="joinEmailSel" onchange="inputEmail();">
<option value="">직접입력</option>
<option value="hanmail.net">hanmail.net</option>
<option value="naver.com">naver.com</option>
<option value="nate.com">nate.com</option>
<option value="gmail.com">gmail.com</option>
<option value="Hotmail.com">Hotmail.com</option>
<option value="yahoo.com">yahoo.com</option>
<option value="dreamwiz.com">dreamwiz.com</option>
<option value="empal.com">empal.com</option>
<option value="chol.com">chol.com</option>
<option value="Korean.com">Korean.com</option>
<option value="netian.com">netian.com</option>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title"><span style="color: red">*</span> 주소</p>
<div class="item-box">
<input type="text" name="joinZip" id="joinZip" style="width: 10%" readonly="readonly">
<div class="change-state-area" style="padding: 0 0;margin-top: 2px;display: inline-block;">
<button type="button" class="btn-change-state" onclick="goJuso('A');">우편번호검색</button>
</div>
<br>
<input type="text" name="joinAddr01" id="" style="width: 50%; margin-top:5px" readonly="readonly"><br>
<input type="text" name="joinAddr02" id="" style="width: 50%; margin-top:5px" maxlength="100">
</div>
</div>
</div>
<br>
</fieldset>
<br>
<br>
<h3>추가 정보</h3>
<br>
<fieldset>
<div class="bbs-view-layout">
<div class="bbs-view-item">
<p class="item-title">위촉기간</p>
<div class="item-box">
<input type="text" class="datepicker" name="joinStartAppoint" style="width: 20%"> ~
<input type="text" class="datepicker" name="joinEndAppoint" style="width: 20%">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">연임여부</p>
<div class="item-box">
<label>YES <input type="checkbox" name="joinReapntCheck" value="Y"></label>
<label>NO <input type="checkbox" name="joinReapntCheck" value="N"></label>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">구분</p>
<div class="item-box">
<select name="joinGubun" id="joinGubun">
<option value="">협의회선택</option>
</select>
<select name="joinField" id="joinField">
<option value="">분야선택</option>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">직위</p>
<div class="item-box">
<select name="joinPosition" id="joinPosition">
<option value="">선택</option>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">직장명</p>
<div class="item-box">
<input type="text" name="joinCompany" id="" style="width: 30%" maxlength="30"><br>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">부서</p>
<div class="item-box">
<input type="text" name="joinDept" id="" style="width: 30%" maxlength="30"><br>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">직급</p>
<div class="item-box">
<input type="text" name="joinClsf" id="" style="width: 30%" maxlength="30"><br>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">전화번호</p>
<div class="item-box">
<input type="text" name="joinTel01" id="" maxlength="3" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
<input type="text" name="joinTel02" id="" maxlength="4" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">-
<input type="text" name="joinTel03" id="" maxlength="4" style="width: 5%" onkeydown='onlyNumber(event);' onkeyup='removeChar(event);' style="ime-mode:disabled;">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">기수</p>
<div class="item-box">
<select name="joinUnit" id="joinUnit">
<option value="">선택</option>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">주요경력</p>
<div class="item-box">
<textarea class="bg_essential" maxlength="2000" name="editorParam_joinCareea" title="내용을 입력하세요" style="width:99%; height:50px;"></textarea>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">위촉상태</p>
<div class="item-box">
<select name="joinState" id="joinState">
<option value="">선택</option>
</select>
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">연임여부</p>
<div class="item-box">
<label><input type="radio" name="joinResignCheck" value="3401000000">임기만료</label>
<label><input type="radio" name="joinResignCheck" value="3402000000">기타</label>
<input type="text" name="joinResignTxt" style="width: 30%" maxlength="30">
</div>
</div>
<div class="bbs-view-item">
<p class="item-title">사용여부</p>
<div class="item-box">
<label><input type="radio" name="joinUseCheck" value="N">사용안함</label>
<label><input type="radio" name="joinUseCheck" value="Y" checked="checked">사용</label>
</div>
</div>
</div>
</fieldset>
<div class="btn-area">
<button type="submit" class="btn-normal violet mb10">저장</button>
<button type="button" class="btn-normal lightgray mb10" onclick="goList()">목록</button>
</div>
</form:form>
<!-- 파일 입시저장을 위한 폼 -->
<form id="fileTempUpFrm" action="/seed/extra/temp/file.do" method="post" enctype="multipart/form-data">
<input type="hidden" name="fileFuncType" value="trublchargermng" />
<div class="temp-file-area">
<input type="file" name="upFile" id="upFile" class="essential temp-file-hideen" onchange="fileTempUp('trublchargermng');" required title="첨부파일" value="" style="ime-mode: disabled;" >
</div>
</form>
<form name="paramFrm" id="paramFrm" action="/gtm/case/trublchargermng/list.do" method="get">
<input type="hidden" name="searchGubun" value="${param.searchGubun}">
<input type="hidden" name="searchName" value="${param.searchName}">
<input type="hidden" name="page" id="page" value="${param.page}">
</form>
<script type="text/javascript">
$(document).ready(function(){
memberGubun();
memberField();
memberPosition();
memberUnit();
memberState();
$("#writeFrm").submit(function(){
if($("#joinId").val() == ""){
alert("아이디를 입력해 주세요");
$("#joinId").focus();
return false;
}
if($("#tempId").val() == ""){
alert("아이디 중복체크를 해주세요");
return false;
}
if($("#tempId").val() != $("#joinId").val()){
alert("아이디 중복체크를 해주세요");
return false;
}
if($("#joinPass").val().trim() == ""){
alert("비밀번호를 입력해 주세요");
return false;
}
if($("#joinPassConfirm").val().trim() == ""){
alert("비밀번호 확인을 입력해 주세요");
return false;
}
if($("#joinPass").val().trim() != $("#joinPassConfirm").val().trim()){
alert("비밀번호가 다릅니다. 다시 한번 확인해 주세요");
return false;
}
if($("#joinName").val().trim() == ""){
alert("위원명을 입력해 주세요");
$("#joinName").focus();
return false;
}
if($("#joinBirthY").val() == "" ||
$("#joinBirthM").val() == "" ||
$("#joinBirthD").val() == ""
){
alert("생년월일을 입력해 주세요");
return false;
}
if($("#joinPh01").val() == "" ||
$("#joinPh02").val() == "" ||
$("#joinPh03").val() == ""
){
alert("휴대전화를 입력해 주세요");
return false;
}
var regex=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/; //메일 양식처리
if(regex.test($("#joinEmail01").val() + "@" + $("#joinEmail02").val()) == false) {
alert("잘못된 이메일 형식입니다.");
return false;
}
if($("#joinZip").val().trim() == ""){
alert("주소를 입력해 주세요");
$("#joinZip").focus();
return false;
}
});
});
function onlyNumber(event){
event = event || window.event;
var keyID = (event.which) ? event.which : event.keyCode;
if ( (keyID >= 48 && keyID <= 57) || (keyID >= 96 && keyID <= 105) || keyID == 8 || keyID == 46 || keyID == 37 || keyID == 39 )
return;
else
return false;
}
function removeChar(event) {
event = event || window.event;
var keyID = (event.which) ? event.which : event.keyCode;
if ( keyID == 8 || keyID == 46 || keyID == 37 || keyID == 39 )
return;
else
event.target.value = event.target.value.replace(/[^0-9]/g, "");
}
// 신규 우편번호
function jusoCallBack(roadFullAddr,roadAddrPart1,addrDetail,roadAddrPart2,engAddr, jibunAddr, zipNo, admCd, rnMgtSn, bdMgtSn, command){
var f = document.writeFrm;
if("A"==command){//신청인주소
f.joinZip.value=zipNo;
f.joinAddr01.value=roadAddrPart1;
f.joinAddr02.value=addrDetail;
}
/*피신청인 주소는 동적이기 때문에 따로처리*/
}
function goJuso(command){
var pop = window.open("/user/extra/case/zipCode/jusoPopup/jsp/Page.do?command="+command,"pop","width=570,height=420, scrollbars=yes, resizable=yes");
}
function inputEmail(){
if($("#joinEmailSel").val() == ""){
$("#joinEmail02").val("");
$("#joinEmail02").show();
}else{
$("#joinEmail02").hide();
$("#joinEmail02").val($("#joinEmailSel").val());
}
}
function idDuplChekc(){
if($("#joinId").val() == ""){
alert("아이디를 입력 해 주세요");
$("#joinId").focus();
return false;
}
var joinId = $("#joinId").val();
$.ajax({
type:"POST",
url:"/gtm/case/trublchargermng/idCheck.do",
dataType:"json",
data:"joinId="+joinId,
success:function(data){
if(data.success == 'N'){
alert("사용 가능한 아이디 입니다.");
$("#tempId").val(joinId);
}else if(data.success == 'Y'){
alert("이미 사용중인 아이디 입니다.");
$("#joinId").val("");
$("#tempId").val("");
$("#joinId").focus();
}
}
});
}
function memberGubun(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleGubun.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinGubun");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberField(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleField.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinField");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberPosition(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrublePosition.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinPosition");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberUnit(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleUnit.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinUnit");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function memberState(){
var url = "";
$("#type").val("L");
//var param = jQuery('#writeFrm').serialize();
var param = "";
url = "/user/case/common/ajax/JoinTrubleState.do";
XHR(url, param, function(r){
var sel = "";
var objList = $("#joinState");
if(objList.length > 0 && objList.val() == ""){
ajaxCombo(r.data, objList, sel);
}
});
}
function goList(){
$("#paramFrm").submit();
}
</script>
<script src="/js/jquery.form.js"></script>
<script src="/js/seedFileUtil.js"></script>
</body>
</html>

View File

@ -0,0 +1,46 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<%
request.setCharacterEncoding("UTF-8"); //한글깨지면 주석제거
String inputYn = request.getParameter("inputYn");
String roadFullAddr = request.getParameter("roadFullAddr");
String roadAddrPart1 = request.getParameter("roadAddrPart1");
String roadAddrPart2 = request.getParameter("roadAddrPart2");
String engAddr = request.getParameter("engAddr");
String jibunAddr = request.getParameter("jibunAddr");
String zipNo = request.getParameter("zipNo");
String addrDetail = request.getParameter("addrDetail");
String admCd = request.getParameter("admCd");
String rnMgtSn = request.getParameter("rnMgtSn");
String bdMgtSn = request.getParameter("bdMgtSn");
String command = request.getParameter("command");
%>
</head>
<script language="javascript">
function init(){
var url = location.href;
var confmKey = "bnVsbDIwMTQxMTE5MTAwODQz";
var inputYn= "<%=inputYn%>";
if(inputYn != "Y"){
document.form.confmKey.value = confmKey;
document.form.returnUrl.value = url;
document.form.action="http://www.juso.go.kr/addrlink/addrLinkUrl.do"; //인터넷망
//document.form.action="http://10.182.60.22/addrlink/addrLinkUrl.do"; //내부행망
document.form.submit();
}else{
opener.jusoCallBack("<%=roadFullAddr%>","<%=roadAddrPart1%>","<%=addrDetail%>","<%=roadAddrPart2%>","<%=engAddr%>","<%=jibunAddr%>","<%=zipNo%>", "<%=admCd%>", "<%=rnMgtSn%>", "<%=bdMgtSn%>","<%=command%>");
window.close();
}
}
</script>
<body onload="init();">
<form id="form" name="form" method="post">
<input type="hidden" id="confmKey" name="confmKey" value=""/>
<input type="hidden" id="returnUrl" name="returnUrl" value=""/>
</form>
</body>
</html>