Merge branch '매인베너수정'
This commit is contained in:
commit
2b74d85017
@ -0,0 +1,37 @@
|
||||
package itn.com.uss.ion.bnr.pop.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import itn.com.uss.ion.pwm.service.MainzoneVO;
|
||||
import itn.com.uss.ion.pwm.service.PopupManageVO;
|
||||
import itn.com.uss.ion.pwm.service.PopupzoneVO;
|
||||
import itn.com.uss.ion.pwm.service.SocialVO;
|
||||
import itn.com.uss.ion.pwm.service.SortVO;
|
||||
|
||||
/**
|
||||
* 개요
|
||||
* - 팝업창에 대한 Service Interface를 정의한다.
|
||||
*
|
||||
* 상세내용
|
||||
* - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
|
||||
* - 팝업창의 조회기능은 목록조회, 상세조회, 팝업사용자 보기로 구분된다.
|
||||
* @author 이창원
|
||||
* @version 1.0
|
||||
* @created 05-8-2009 오후 2:19:58
|
||||
*/
|
||||
public interface MainPopupManageService {
|
||||
|
||||
public List<?> selectSubMainzoneList(MainzoneVO mainzoneVO) throws Exception;
|
||||
|
||||
public int selectSubMainzoneCount(MainzoneVO mainzoneVO) throws Exception;
|
||||
|
||||
public MainzoneVO selectSubMainzoneVO(String mazId) throws Exception;
|
||||
|
||||
public List<MainzoneVO> selectSubMainzoneListRolling();
|
||||
|
||||
public void deleteSubMainzone(String id);
|
||||
|
||||
public void resetSubMainVOSort(MainzoneVO mainzoneVO);
|
||||
|
||||
}
|
||||
@ -0,0 +1,309 @@
|
||||
package itn.com.uss.ion.bnr.pop.service.impl;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
import itn.com.cmm.service.impl.EgovComAbstractDAO;
|
||||
import itn.com.uss.ion.pwm.service.MainzoneVO;
|
||||
import itn.com.uss.ion.pwm.service.PopupManageVO;
|
||||
import itn.com.uss.ion.pwm.service.PopupzoneVO;
|
||||
import itn.com.uss.ion.pwm.service.SocialVO;
|
||||
import itn.com.uss.ion.pwm.service.SortVO;
|
||||
|
||||
/**
|
||||
* 개요
|
||||
* - 팝업창에 대한 DAO를 정의한다.
|
||||
*
|
||||
* 상세내용
|
||||
* - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
|
||||
* - 팝업창의 조회기능은 목록조회, 상세조회로, 사용자화면 보기로 구분된다.
|
||||
* @author 이창원
|
||||
* @version 1.0
|
||||
* @created 05-8-2009 오후 2:21:04
|
||||
*/
|
||||
@Repository("mainPopupManageDAO")
|
||||
public class MainPopupManageDAO extends EgovComAbstractDAO {
|
||||
|
||||
|
||||
/**
|
||||
* 메인이미지 목록을 조회한다.
|
||||
* @return 글 목록
|
||||
* @exception Exception
|
||||
*/
|
||||
public List<?> selectSubMainzoneList(MainzoneVO mainzoneVO ) throws Exception{
|
||||
return list("subMainzoneManage.selectSubMainzoneList", mainzoneVO);
|
||||
}
|
||||
|
||||
|
||||
public int selectSubMainzoneCount(MainzoneVO mainzoneVO) throws Exception{
|
||||
return (int)select("subMainzoneManage.selectSubMainzoneCount", mainzoneVO);
|
||||
}
|
||||
|
||||
|
||||
public MainzoneVO selectSubMainzoneVO(String mazId) throws Exception{
|
||||
return (MainzoneVO)select("subMainzoneManage.selectSubMainzoneVO", mazId);
|
||||
}
|
||||
|
||||
|
||||
public List<MainzoneVO> selectSubMainzoneListRolling() {
|
||||
return (List<MainzoneVO>) list("subMainzoneManage.selectSubMainzoneListRolling");
|
||||
}
|
||||
|
||||
|
||||
public void deleteSubMainzone(String mazId) {
|
||||
delete("subMainzoneManage.deleteSubMainzone", mazId);
|
||||
}
|
||||
|
||||
|
||||
public void resetSubMainVOSort(MainzoneVO mainzoneVO) {
|
||||
update("subMainzoneManage.resetSubMainVOSort", mainzoneVO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//
|
||||
// public SubMainZoneManageDAO(){}
|
||||
//
|
||||
// /**
|
||||
// * 기 등록된 팝업창정보를 삭제한다.
|
||||
// * @param popupManage - 팝업창 model
|
||||
// * @return boolean - 반영성공 여부
|
||||
// *
|
||||
// * @param popupManage
|
||||
// */
|
||||
// public void deletePopup(PopupManageVO popupManageVO) throws Exception {
|
||||
// delete("PopupManage.deletePopupManage", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 팝업창정보를 신규로 등록한다.
|
||||
// * @param popupManage - 팝업창 model
|
||||
// * @return boolean - 반영성공 여부
|
||||
// *
|
||||
// * @param popupManage
|
||||
// */
|
||||
// public void insertPopup(PopupManageVO popupManageVO) throws Exception {
|
||||
// insert("PopupManage.insertPopupManage", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 기 등록된 팝업창정보를 수정한다.
|
||||
// * @param popupManage - 팝업창 model
|
||||
// * @return boolean - 반영성공 여부
|
||||
// *
|
||||
// * @param popupManage
|
||||
// */
|
||||
// public void updatePopup(PopupManageVO popupManageVO) throws Exception {
|
||||
// update("PopupManage.updatePopupManage", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 팝업창을 사용자 화면에서 볼수 있는 정보들을 조회한다.
|
||||
// * @param popupManageVO - 팝업창 Vo
|
||||
// * @return popupManageVO - 팝업창 Vo
|
||||
// *
|
||||
// * @param popupManageVO
|
||||
// */
|
||||
// public PopupManageVO selectPopup(PopupManageVO popupManageVO) throws Exception {
|
||||
// return (PopupManageVO)select("PopupManage.selectPopupManageDetail", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 팝업창를 관리하기 위해 등록된 팝업창목록을 조회한다.
|
||||
// * @param popupManageVO - 팝업창 Vo
|
||||
// * @return List - 팝업창 목록
|
||||
// *
|
||||
// * @param popupManageVO
|
||||
// */
|
||||
// public List<?> selectPopupList(PopupManageVO popupManageVO) throws Exception {
|
||||
// return list("PopupManage.selectPopupManage", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 팝업창를 관리하기 위해 등록된 팝업창목록 총갯수를 조회한다.
|
||||
// * @param popupManageVO - 팝업창 Vo
|
||||
// * @return List - 팝업창 목록
|
||||
// *
|
||||
// * @param popupManageVO
|
||||
// */
|
||||
// public int selectPopupListCount(PopupManageVO popupManageVO) throws Exception {
|
||||
// return (Integer)select("PopupManage.selectPopupManageCnt", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 팝업창를 사용하기 위해 등록된 팝업창목록을 조회한다.
|
||||
// * @param popupManageVO - 팝업창 Vo
|
||||
// * @return List - 팝업창 목록
|
||||
// *
|
||||
// * @param popupManageVO
|
||||
// */
|
||||
// public List<?> selectPopupMainList(PopupManageVO popupManageVO) throws Exception {
|
||||
// return list("PopupManage.selectPopupManageMain", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인알림창 목록을 조회한다.
|
||||
// * @return 글 목록
|
||||
// * @exception Exception
|
||||
// */
|
||||
// public List<?> selectPopupzoneList(PopupzoneVO popupzoneVo) throws Exception{
|
||||
// return list("PopupzoneManage.selectPopupzoneList", popupzoneVo);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인배너 순번정보를 가져온다.
|
||||
// * @param mode - 0:등록 1:수정
|
||||
// * @return 순번정보
|
||||
// * @exception Exception
|
||||
// */
|
||||
// @SuppressWarnings("unchecked")
|
||||
// public List<EgovMap> getSortList() throws Exception{
|
||||
// return (List<EgovMap>) list("PopupzoneManage.getSortList",null);
|
||||
// }
|
||||
//
|
||||
// public PopupzoneVO selectPopupzoneVO(String pozId) throws Exception {
|
||||
// return (PopupzoneVO)select("PopupzoneManage.selectPopupzoneVO", pozId);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인배너 변경할때 나머지 배너들 순서 변경
|
||||
// * @param 입력된 sort번호
|
||||
// * @return 등록 결과
|
||||
// * @exception Exception
|
||||
// */
|
||||
// public void updateSortUp(SortVO sortVO) throws Exception{
|
||||
// update("PopupzoneManage.updateSortUp", sortVO);
|
||||
// }
|
||||
//
|
||||
// public void updateSortDown(SortVO sortVO) throws Exception {
|
||||
// update("PopupzoneManage.updateSortDown", sortVO);
|
||||
// }
|
||||
//
|
||||
// public void updatePopupzone(PopupzoneVO popupzoneVO) throws Exception {
|
||||
// update("PopupzoneManage.updatePopupzone", popupzoneVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인알림창을 삭제한다.
|
||||
// * @param pozId - 삭제할 메인알림창 번호
|
||||
// * @return void형
|
||||
// * @exception Exception
|
||||
// */
|
||||
// public void deletePopupzone(String pozId) throws Exception {
|
||||
// delete("PopupzoneManage.deletePopupzone", pozId);
|
||||
// }
|
||||
//
|
||||
// public int getMaxSort() throws Exception{
|
||||
// return (Integer)select("PopupzoneManage.getMaxSort") ;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인배너의 새로운seq를 가지고온다.
|
||||
// * @return seq
|
||||
// * @exception Exception
|
||||
// */
|
||||
// public int selectNextSeq() throws Exception{
|
||||
// return (Integer)select("PopupzoneManage.selectNextSeq");
|
||||
// }
|
||||
//
|
||||
// public void insertPopupzone(PopupzoneVO popupzoneVO) throws Exception{
|
||||
// insert("PopupzoneManage.insertPopupzone", popupzoneVO);
|
||||
// }
|
||||
//
|
||||
// public void resetSort(PopupzoneVO popupzoneVO) throws Exception{
|
||||
// update("PopupzoneManage.resetSort", popupzoneVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인이미지 목록을 조회한다.
|
||||
// * @return 글 목록
|
||||
// * @exception Exception
|
||||
// */
|
||||
// public List<?> selectMainzoneList(MainzoneVO mainzoneVO ) throws Exception{
|
||||
// return list("MainzoneManage.selectMainzoneList", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// public int getMainMaxSort() throws Exception{
|
||||
// return (Integer)select("MainzoneManage.getMainMaxSort");
|
||||
// }
|
||||
//
|
||||
// public void insertMainzone(MainzoneVO mainzoneVO) throws Exception{
|
||||
// insert("MainzoneManage.insertMainzone", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// public void resetMainSort(MainzoneVO mainzoneVO) throws Exception{
|
||||
// insert("MainzoneManage.resetMainSort", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// public void updateMainSortUp(SortVO sortVO) throws Exception{
|
||||
// update("MainzoneManage.updateMainSortUp", sortVO);
|
||||
// }
|
||||
//
|
||||
// public MainzoneVO selectMainzoneVO(String mazId) throws Exception{
|
||||
// return (MainzoneVO)select("MainzoneManage.selectMainzoneVO", mazId);
|
||||
// }
|
||||
//
|
||||
// @SuppressWarnings("unchecked")
|
||||
// public List<EgovMap> getMainSortList() throws Exception{
|
||||
// return (List<EgovMap>) list("MainzoneManage.getMainSortList",null);
|
||||
// }
|
||||
//
|
||||
// public void deleteMainzone(String mazId) throws Exception{
|
||||
// delete("MainzoneManage.deleteMainzone", mazId);
|
||||
// }
|
||||
//
|
||||
// public void updateMainSortDown(SortVO sortVO) throws Exception{
|
||||
// update("MainzoneManage.updateMainSortDown", sortVO);
|
||||
// }
|
||||
//
|
||||
// public void updateMainzone(MainzoneVO mainzoneVO) throws Exception{
|
||||
// update("MainzoneManage.updateMainzone", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// @SuppressWarnings("unchecked")
|
||||
// public List<MainzoneVO> selectMainzoneListRolling() throws Exception{
|
||||
// return (List<MainzoneVO>) list("MainzoneManage.selectMainzoneListRolling");
|
||||
// }
|
||||
//
|
||||
// public int selectPopupzoneListTotCnt(PopupzoneVO popupzoneVo) throws Exception {
|
||||
// return (int)select("PopupzoneManage.selectPopupzoneListTotCnt", popupzoneVo);
|
||||
// }
|
||||
//
|
||||
// public int selectMainzoneCount(MainzoneVO mainzoneVO) throws Exception{
|
||||
// return (int)select("MainzoneManage.selectMainzoneCount", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// public void resetVOSort(PopupzoneVO popupzoneVO) throws Exception{
|
||||
// update("PopupzoneManage.resetVOSort", popupzoneVO);
|
||||
// }
|
||||
//
|
||||
// public void resetMainVOSort(MainzoneVO mainzoneVO) throws Exception{
|
||||
// update("MainzoneManage.resetMainVOSort", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// @SuppressWarnings("unchecked")
|
||||
// public List<SocialVO> selectSocialList(SocialVO socialVO) throws Exception{
|
||||
// return (List<SocialVO>) list("SocialManage.selectSocialList",socialVO);
|
||||
// }
|
||||
//
|
||||
// public SocialVO selectSocialVO(String socialId) throws Exception{
|
||||
// return (SocialVO)select("SocialManage.selectSocialVO", socialId);
|
||||
// }
|
||||
//
|
||||
// public void updateSocial(SocialVO socialVO) throws Exception{
|
||||
// update("SocialManage.updateSocial", socialVO);
|
||||
// }
|
||||
//
|
||||
// public void resetSocialSort(SocialVO socialVO) throws Exception{
|
||||
// update("SocialManage.resetSocialSort", socialVO);
|
||||
// }
|
||||
//
|
||||
// public void insertSocial(SocialVO socialVO) throws Exception{
|
||||
// insert("SocialManage.insertSocial", socialVO);
|
||||
// }
|
||||
//
|
||||
// public void deleteSocial(String id) throws Exception{
|
||||
// delete("SocialManage.deleteSocial", id);
|
||||
// }
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
package itn.com.uss.ion.bnr.pop.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import itn.com.uss.ion.bnr.pop.service.MainPopupManageService;
|
||||
import itn.com.uss.ion.pwm.service.MainzoneVO;
|
||||
|
||||
/**
|
||||
* 개요
|
||||
* - 팝업창에 대한 ServiceImpl을 정의한다.
|
||||
*
|
||||
* 상세내용
|
||||
* - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
|
||||
* - 팝업창의 조회기능은 목록조회, 상세조회로, 사용자화면 보기로 구분된다.
|
||||
* @author 이창원
|
||||
* @version 1.0
|
||||
* @created 05-8-2009 오후 2:19:58
|
||||
*/
|
||||
|
||||
@Service("mainPopupManageService")
|
||||
public class MainPopupManageServiceImpl extends EgovAbstractServiceImpl implements MainPopupManageService {
|
||||
|
||||
@Resource(name = "mainPopupManageDAO")
|
||||
public MainPopupManageDAO dao;
|
||||
|
||||
|
||||
@Resource(name = "egovPopupManageIdGnrService")
|
||||
private EgovIdGnrService idgenService;
|
||||
|
||||
@Override
|
||||
public List<?> selectSubMainzoneList(MainzoneVO mainzoneVO) throws Exception {
|
||||
return dao.selectSubMainzoneList(mainzoneVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int selectSubMainzoneCount(MainzoneVO mainzoneVO) throws Exception {
|
||||
return dao.selectSubMainzoneCount(mainzoneVO);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public MainzoneVO selectSubMainzoneVO(String mazId) throws Exception {
|
||||
MainzoneVO resultVO = dao.selectSubMainzoneVO(mazId);
|
||||
if (resultVO == null)
|
||||
throw processException("info.nodata.msg");
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MainzoneVO> selectSubMainzoneListRolling() {
|
||||
return dao.selectSubMainzoneListRolling();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteSubMainzone(String id) {
|
||||
dao.deleteSubMainzone(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetSubMainVOSort(MainzoneVO mainzoneVO) {
|
||||
dao.resetSubMainVOSort(mainzoneVO);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,306 @@
|
||||
package itn.com.uss.ion.bnr.pop.web;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
import org.springmodules.validation.commons.DefaultBeanValidator;
|
||||
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import egovframework.rte.fdl.property.EgovPropertyService;
|
||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import itn.com.cmm.ComDefaultCodeVO;
|
||||
import itn.com.cmm.EgovMessageSource;
|
||||
import itn.com.cmm.LoginVO;
|
||||
import itn.com.cmm.service.EgovCmmUseService;
|
||||
import itn.com.cmm.service.EgovFileMngService;
|
||||
import itn.com.cmm.service.EgovFileMngUtil;
|
||||
import itn.com.cmm.service.FileVO;
|
||||
import itn.com.cmm.util.RedirectUrlMaker;
|
||||
import itn.com.uss.ion.bnr.sub.service.SubMainZoneManageService;
|
||||
import itn.com.uss.ion.pwm.service.MainzoneVO;
|
||||
import itn.let.sym.site.service.EgovSiteManagerService;
|
||||
|
||||
/**
|
||||
* 개요
|
||||
* - 팝업창에 대한 Controller를 정의한다.
|
||||
*
|
||||
* 상세내용
|
||||
* - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
|
||||
* - 팝업창의 조회기능은 목록조회, 상세조회로, 사용자 화면 보기로 구분된다.
|
||||
* @author 이창원
|
||||
* @version 1.0
|
||||
* @created 05-8-2009 오후 2:19:57
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2025.02.24 이호영 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
@Controller
|
||||
public class MainPopupManageController {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(MainPopupManageController.class);
|
||||
|
||||
@Autowired
|
||||
private DefaultBeanValidator beanValidator;
|
||||
|
||||
/** EgovMessageSource */
|
||||
@Resource(name = "egovMessageSource")
|
||||
EgovMessageSource egovMessageSource;
|
||||
|
||||
/** EgovPropertyService */
|
||||
@Resource(name = "propertiesService")
|
||||
protected EgovPropertyService propertiesService;
|
||||
|
||||
/** EgovPopupManageService */
|
||||
@Resource(name = "subMainZoneManageService")
|
||||
private SubMainZoneManageService subMainZoneManageService;
|
||||
|
||||
/** cmmUseService */
|
||||
@Resource(name = "EgovCmmUseService")
|
||||
private EgovCmmUseService cmmUseService;
|
||||
|
||||
@Resource(name="EgovFileMngUtil")
|
||||
private EgovFileMngUtil fileUtil;
|
||||
|
||||
@Resource(name="EgovFileMngService")
|
||||
private EgovFileMngService fileMngService;
|
||||
|
||||
@Resource(name = "egovPopupZoneIdGnrService")
|
||||
private EgovIdGnrService idgenService;
|
||||
|
||||
// @Resource(name = "egovMainZoneIdGnrService")
|
||||
// private EgovIdGnrService idgenServiceMain;
|
||||
|
||||
@Resource(name = "egovSubMainZoneIdGnrService")
|
||||
private EgovIdGnrService idgenServiceSubMain;
|
||||
|
||||
@Resource(name = "egovSiteManagerService")
|
||||
EgovSiteManagerService egovSiteManagerService;
|
||||
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
|
||||
|
||||
|
||||
/*메인이미지 관리*/
|
||||
@RequestMapping(value="/uss/ion/bnr/pop/mainPopupList.do")
|
||||
public String popupList(ModelMap model , MainzoneVO mainzoneVO , HttpSession session ) throws Exception {
|
||||
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
|
||||
|
||||
if(mainzoneVO.getPageUnit()% 8 != 0) {//9 배수로 넘어오지 않으면 초기세팅
|
||||
mainzoneVO.setPageUnit(8);
|
||||
}else {
|
||||
mainzoneVO.setPageUnit(mainzoneVO.getPageUnit());
|
||||
}
|
||||
|
||||
/** pageing */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(mainzoneVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(mainzoneVO.getPageUnit());
|
||||
paginationInfo.setPageSize(mainzoneVO.getPageSize());
|
||||
|
||||
mainzoneVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
mainzoneVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
mainzoneVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //각각의 사이트
|
||||
mainzoneVO.setSiteId(loginVO.getSiteId());
|
||||
}
|
||||
List<?> mainzoneList = subMainZoneManageService.selectSubMainzoneList(mainzoneVO);
|
||||
model.addAttribute("mainzoneList", mainzoneList);
|
||||
|
||||
int totCnt = subMainZoneManageService.selectSubMainzoneCount(mainzoneVO);
|
||||
|
||||
paginationInfo.setTotalRecordCount(totCnt);
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
|
||||
return "uss/ion/bnr/sub/subMainZoneList";
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*알림창등록/수정 view*/
|
||||
@RequestMapping(value="/uss/ion/bnr/pop/mainPopupModify.do")
|
||||
public String popupModify(@RequestParam Map<?, ?> commandMap,
|
||||
HttpServletRequest request, Model model, HttpSession session)
|
||||
throws Exception {
|
||||
|
||||
MainzoneVO mainzoneVO = new MainzoneVO();
|
||||
if("Modify".equals((String)commandMap.get("pageType"))){ //수정
|
||||
String mazId = (String)commandMap.get("selectedId");
|
||||
mainzoneVO = subMainZoneManageService.selectSubMainzoneVO(mazId);
|
||||
String sNtceBgnde = mainzoneVO.getNtceBgnde();
|
||||
String sNtceEndde = mainzoneVO.getNtceEndde();
|
||||
|
||||
if(sNtceBgnde != null && sNtceEndde != null ) {
|
||||
|
||||
mainzoneVO.setNtceBgndeHH(sNtceBgnde.substring(8, 10));
|
||||
mainzoneVO.setNtceBgndeMM(sNtceBgnde.substring(10, 12));
|
||||
|
||||
mainzoneVO.setNtceEnddeHH(sNtceEndde.substring(8, 10));
|
||||
mainzoneVO.setNtceEnddeMM(sNtceEndde.substring(10, 12));
|
||||
|
||||
//게시기간 시작일자(시)
|
||||
model.addAttribute("ntceBgndeHH", getTimeHH());
|
||||
//게시기간 시작일자(분)
|
||||
model.addAttribute("ntceBgndeMM", getTimeMM());
|
||||
//게시기간 종료일자(시)
|
||||
model.addAttribute("ntceEnddeHH", getTimeHH());
|
||||
//게시기간 종료일자(분)
|
||||
model.addAttribute("ntceEnddeMM", getTimeMM());
|
||||
|
||||
|
||||
}
|
||||
|
||||
if(mainzoneVO != null){
|
||||
mainzoneVO.setBeSort(mainzoneVO.getSort());
|
||||
|
||||
FileVO fileVO = new FileVO();
|
||||
String atchFileId = mainzoneVO.getMainzoneImageFile();
|
||||
fileVO.setAtchFileId(atchFileId);
|
||||
List<FileVO> fileList = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("fileList", fileList);
|
||||
}
|
||||
}else{ //등록
|
||||
|
||||
//게시기간 시작일자(시)
|
||||
model.addAttribute("ntceBgndeHH", getTimeHH());
|
||||
//게시기간 시작일자(분)
|
||||
model.addAttribute("ntceBgndeMM", getTimeMM());
|
||||
//게시기간 종료일자(시)
|
||||
model.addAttribute("ntceEnddeHH", getTimeHH());
|
||||
//게시기간 종료일자(분)
|
||||
model.addAttribute("ntceEnddeMM", getTimeMM());
|
||||
|
||||
}
|
||||
|
||||
//model.addAttribute("sortList", sortList);
|
||||
model.addAttribute("mainzoneVO", mainzoneVO);
|
||||
System.out.println("mainzoneVO :: "+ mainzoneVO.toString());
|
||||
|
||||
/* 타겟 코드 */
|
||||
ComDefaultCodeVO vo = new ComDefaultCodeVO();
|
||||
vo.setCodeId("COM037");
|
||||
//List<?> targetList = cmmUseService.selectCmmCodeDetail(vo);
|
||||
//model.addAttribute("targetList", targetList);
|
||||
|
||||
|
||||
return "uss/ion/bnr/sub/subMainZoneModify";
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*메인 이미지삭제 */
|
||||
@RequestMapping(value="/uss/ion/bnr/pop/mainPopupListDelete.do")
|
||||
public String deleteMainzoneDelete(@RequestParam("del") String[] del, RedirectAttributes redirectAttributes , Model model) throws Exception {
|
||||
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
MainzoneVO mainzoneVO = new MainzoneVO();
|
||||
for(String id:del) {
|
||||
try{
|
||||
mainzoneVO = subMainZoneManageService.selectSubMainzoneVO(id);
|
||||
}catch(Exception e){
|
||||
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("info.nodata.msg"));
|
||||
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/bnr/subMainZoneList.do");
|
||||
return redirectUrlMaker.getRedirectUrl();
|
||||
}
|
||||
subMainZoneManageService.deleteSubMainzone(id);
|
||||
if(null != loginVO && !"super".equals(loginVO.getSiteId())){
|
||||
mainzoneVO.setSiteId(loginVO.getSiteId());
|
||||
}
|
||||
subMainZoneManageService.resetSubMainVOSort(mainzoneVO);
|
||||
}
|
||||
|
||||
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete"));
|
||||
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/bnr/subMainZoneList.do");
|
||||
return redirectUrlMaker.getRedirectUrl();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 시간을 LIST를 반환한다.
|
||||
* @return List
|
||||
* @throws
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
private List<ComDefaultCodeVO> getTimeHH() {
|
||||
ArrayList<ComDefaultCodeVO> listHH = new ArrayList<ComDefaultCodeVO>();
|
||||
HashMap<?, ?> hmHHMM;
|
||||
for (int i = 0; i <= 24; i++) {
|
||||
String sHH = "";
|
||||
String strI = String.valueOf(i);
|
||||
if (i < 10) {
|
||||
sHH = "0" + strI;
|
||||
} else {
|
||||
sHH = strI;
|
||||
}
|
||||
|
||||
ComDefaultCodeVO codeVO = new ComDefaultCodeVO();
|
||||
codeVO.setCode(sHH);
|
||||
codeVO.setCodeNm(sHH);
|
||||
|
||||
listHH.add(codeVO);
|
||||
}
|
||||
|
||||
return listHH;
|
||||
}
|
||||
|
||||
/**
|
||||
* 분을 LIST를 반환한다.
|
||||
* @return List
|
||||
* @throws
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
private List<ComDefaultCodeVO> getTimeMM() {
|
||||
ArrayList<ComDefaultCodeVO> listMM = new ArrayList<ComDefaultCodeVO>();
|
||||
HashMap<?, ?> hmHHMM;
|
||||
for (int i = 0; i <= 60; i++) {
|
||||
|
||||
String sMM = "";
|
||||
String strI = String.valueOf(i);
|
||||
if (i < 10) {
|
||||
sMM = "0" + strI;
|
||||
} else {
|
||||
sMM = strI;
|
||||
}
|
||||
|
||||
ComDefaultCodeVO codeVO = new ComDefaultCodeVO();
|
||||
codeVO.setCode(sMM);
|
||||
codeVO.setCodeNm(sMM);
|
||||
|
||||
listMM.add(codeVO);
|
||||
}
|
||||
return listMM;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package itn.com.uss.ion.bnr.sub.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import itn.com.uss.ion.pwm.service.MainzoneVO;
|
||||
import itn.com.uss.ion.pwm.service.PopupManageVO;
|
||||
import itn.com.uss.ion.pwm.service.PopupzoneVO;
|
||||
import itn.com.uss.ion.pwm.service.SocialVO;
|
||||
import itn.com.uss.ion.pwm.service.SortVO;
|
||||
|
||||
/**
|
||||
* 개요
|
||||
* - 팝업창에 대한 Service Interface를 정의한다.
|
||||
*
|
||||
* 상세내용
|
||||
* - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
|
||||
* - 팝업창의 조회기능은 목록조회, 상세조회, 팝업사용자 보기로 구분된다.
|
||||
* @author 이창원
|
||||
* @version 1.0
|
||||
* @created 05-8-2009 오후 2:19:58
|
||||
*/
|
||||
public interface SubMainZoneManageService {
|
||||
|
||||
public List<?> selectSubMainzoneList(MainzoneVO mainzoneVO) throws Exception;
|
||||
|
||||
public int selectSubMainzoneCount(MainzoneVO mainzoneVO) throws Exception;
|
||||
|
||||
public MainzoneVO selectSubMainzoneVO(String mazId) throws Exception;
|
||||
|
||||
public List<MainzoneVO> selectSubMainzoneListRolling();
|
||||
|
||||
public void deleteSubMainzone(String id);
|
||||
|
||||
public void resetSubMainVOSort(MainzoneVO mainzoneVO);
|
||||
|
||||
}
|
||||
@ -0,0 +1,309 @@
|
||||
package itn.com.uss.ion.bnr.sub.service.impl;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
import itn.com.cmm.service.impl.EgovComAbstractDAO;
|
||||
import itn.com.uss.ion.pwm.service.MainzoneVO;
|
||||
import itn.com.uss.ion.pwm.service.PopupManageVO;
|
||||
import itn.com.uss.ion.pwm.service.PopupzoneVO;
|
||||
import itn.com.uss.ion.pwm.service.SocialVO;
|
||||
import itn.com.uss.ion.pwm.service.SortVO;
|
||||
|
||||
/**
|
||||
* 개요
|
||||
* - 팝업창에 대한 DAO를 정의한다.
|
||||
*
|
||||
* 상세내용
|
||||
* - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
|
||||
* - 팝업창의 조회기능은 목록조회, 상세조회로, 사용자화면 보기로 구분된다.
|
||||
* @author 이창원
|
||||
* @version 1.0
|
||||
* @created 05-8-2009 오후 2:21:04
|
||||
*/
|
||||
@Repository("subMainZoneManageDAO")
|
||||
public class SubMainZoneManageDAO extends EgovComAbstractDAO {
|
||||
|
||||
|
||||
/**
|
||||
* 메인이미지 목록을 조회한다.
|
||||
* @return 글 목록
|
||||
* @exception Exception
|
||||
*/
|
||||
public List<?> selectSubMainzoneList(MainzoneVO mainzoneVO ) throws Exception{
|
||||
return list("subMainzoneManage.selectSubMainzoneList", mainzoneVO);
|
||||
}
|
||||
|
||||
|
||||
public int selectSubMainzoneCount(MainzoneVO mainzoneVO) throws Exception{
|
||||
return (int)select("subMainzoneManage.selectSubMainzoneCount", mainzoneVO);
|
||||
}
|
||||
|
||||
|
||||
public MainzoneVO selectSubMainzoneVO(String mazId) throws Exception{
|
||||
return (MainzoneVO)select("subMainzoneManage.selectSubMainzoneVO", mazId);
|
||||
}
|
||||
|
||||
|
||||
public List<MainzoneVO> selectSubMainzoneListRolling() {
|
||||
return (List<MainzoneVO>) list("subMainzoneManage.selectSubMainzoneListRolling");
|
||||
}
|
||||
|
||||
|
||||
public void deleteSubMainzone(String mazId) {
|
||||
delete("subMainzoneManage.deleteSubMainzone", mazId);
|
||||
}
|
||||
|
||||
|
||||
public void resetSubMainVOSort(MainzoneVO mainzoneVO) {
|
||||
update("subMainzoneManage.resetSubMainVOSort", mainzoneVO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//
|
||||
// public SubMainZoneManageDAO(){}
|
||||
//
|
||||
// /**
|
||||
// * 기 등록된 팝업창정보를 삭제한다.
|
||||
// * @param popupManage - 팝업창 model
|
||||
// * @return boolean - 반영성공 여부
|
||||
// *
|
||||
// * @param popupManage
|
||||
// */
|
||||
// public void deletePopup(PopupManageVO popupManageVO) throws Exception {
|
||||
// delete("PopupManage.deletePopupManage", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 팝업창정보를 신규로 등록한다.
|
||||
// * @param popupManage - 팝업창 model
|
||||
// * @return boolean - 반영성공 여부
|
||||
// *
|
||||
// * @param popupManage
|
||||
// */
|
||||
// public void insertPopup(PopupManageVO popupManageVO) throws Exception {
|
||||
// insert("PopupManage.insertPopupManage", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 기 등록된 팝업창정보를 수정한다.
|
||||
// * @param popupManage - 팝업창 model
|
||||
// * @return boolean - 반영성공 여부
|
||||
// *
|
||||
// * @param popupManage
|
||||
// */
|
||||
// public void updatePopup(PopupManageVO popupManageVO) throws Exception {
|
||||
// update("PopupManage.updatePopupManage", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 팝업창을 사용자 화면에서 볼수 있는 정보들을 조회한다.
|
||||
// * @param popupManageVO - 팝업창 Vo
|
||||
// * @return popupManageVO - 팝업창 Vo
|
||||
// *
|
||||
// * @param popupManageVO
|
||||
// */
|
||||
// public PopupManageVO selectPopup(PopupManageVO popupManageVO) throws Exception {
|
||||
// return (PopupManageVO)select("PopupManage.selectPopupManageDetail", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 팝업창를 관리하기 위해 등록된 팝업창목록을 조회한다.
|
||||
// * @param popupManageVO - 팝업창 Vo
|
||||
// * @return List - 팝업창 목록
|
||||
// *
|
||||
// * @param popupManageVO
|
||||
// */
|
||||
// public List<?> selectPopupList(PopupManageVO popupManageVO) throws Exception {
|
||||
// return list("PopupManage.selectPopupManage", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 팝업창를 관리하기 위해 등록된 팝업창목록 총갯수를 조회한다.
|
||||
// * @param popupManageVO - 팝업창 Vo
|
||||
// * @return List - 팝업창 목록
|
||||
// *
|
||||
// * @param popupManageVO
|
||||
// */
|
||||
// public int selectPopupListCount(PopupManageVO popupManageVO) throws Exception {
|
||||
// return (Integer)select("PopupManage.selectPopupManageCnt", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 팝업창를 사용하기 위해 등록된 팝업창목록을 조회한다.
|
||||
// * @param popupManageVO - 팝업창 Vo
|
||||
// * @return List - 팝업창 목록
|
||||
// *
|
||||
// * @param popupManageVO
|
||||
// */
|
||||
// public List<?> selectPopupMainList(PopupManageVO popupManageVO) throws Exception {
|
||||
// return list("PopupManage.selectPopupManageMain", popupManageVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인알림창 목록을 조회한다.
|
||||
// * @return 글 목록
|
||||
// * @exception Exception
|
||||
// */
|
||||
// public List<?> selectPopupzoneList(PopupzoneVO popupzoneVo) throws Exception{
|
||||
// return list("PopupzoneManage.selectPopupzoneList", popupzoneVo);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인배너 순번정보를 가져온다.
|
||||
// * @param mode - 0:등록 1:수정
|
||||
// * @return 순번정보
|
||||
// * @exception Exception
|
||||
// */
|
||||
// @SuppressWarnings("unchecked")
|
||||
// public List<EgovMap> getSortList() throws Exception{
|
||||
// return (List<EgovMap>) list("PopupzoneManage.getSortList",null);
|
||||
// }
|
||||
//
|
||||
// public PopupzoneVO selectPopupzoneVO(String pozId) throws Exception {
|
||||
// return (PopupzoneVO)select("PopupzoneManage.selectPopupzoneVO", pozId);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인배너 변경할때 나머지 배너들 순서 변경
|
||||
// * @param 입력된 sort번호
|
||||
// * @return 등록 결과
|
||||
// * @exception Exception
|
||||
// */
|
||||
// public void updateSortUp(SortVO sortVO) throws Exception{
|
||||
// update("PopupzoneManage.updateSortUp", sortVO);
|
||||
// }
|
||||
//
|
||||
// public void updateSortDown(SortVO sortVO) throws Exception {
|
||||
// update("PopupzoneManage.updateSortDown", sortVO);
|
||||
// }
|
||||
//
|
||||
// public void updatePopupzone(PopupzoneVO popupzoneVO) throws Exception {
|
||||
// update("PopupzoneManage.updatePopupzone", popupzoneVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인알림창을 삭제한다.
|
||||
// * @param pozId - 삭제할 메인알림창 번호
|
||||
// * @return void형
|
||||
// * @exception Exception
|
||||
// */
|
||||
// public void deletePopupzone(String pozId) throws Exception {
|
||||
// delete("PopupzoneManage.deletePopupzone", pozId);
|
||||
// }
|
||||
//
|
||||
// public int getMaxSort() throws Exception{
|
||||
// return (Integer)select("PopupzoneManage.getMaxSort") ;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인배너의 새로운seq를 가지고온다.
|
||||
// * @return seq
|
||||
// * @exception Exception
|
||||
// */
|
||||
// public int selectNextSeq() throws Exception{
|
||||
// return (Integer)select("PopupzoneManage.selectNextSeq");
|
||||
// }
|
||||
//
|
||||
// public void insertPopupzone(PopupzoneVO popupzoneVO) throws Exception{
|
||||
// insert("PopupzoneManage.insertPopupzone", popupzoneVO);
|
||||
// }
|
||||
//
|
||||
// public void resetSort(PopupzoneVO popupzoneVO) throws Exception{
|
||||
// update("PopupzoneManage.resetSort", popupzoneVO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 메인이미지 목록을 조회한다.
|
||||
// * @return 글 목록
|
||||
// * @exception Exception
|
||||
// */
|
||||
// public List<?> selectMainzoneList(MainzoneVO mainzoneVO ) throws Exception{
|
||||
// return list("MainzoneManage.selectMainzoneList", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// public int getMainMaxSort() throws Exception{
|
||||
// return (Integer)select("MainzoneManage.getMainMaxSort");
|
||||
// }
|
||||
//
|
||||
// public void insertMainzone(MainzoneVO mainzoneVO) throws Exception{
|
||||
// insert("MainzoneManage.insertMainzone", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// public void resetMainSort(MainzoneVO mainzoneVO) throws Exception{
|
||||
// insert("MainzoneManage.resetMainSort", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// public void updateMainSortUp(SortVO sortVO) throws Exception{
|
||||
// update("MainzoneManage.updateMainSortUp", sortVO);
|
||||
// }
|
||||
//
|
||||
// public MainzoneVO selectMainzoneVO(String mazId) throws Exception{
|
||||
// return (MainzoneVO)select("MainzoneManage.selectMainzoneVO", mazId);
|
||||
// }
|
||||
//
|
||||
// @SuppressWarnings("unchecked")
|
||||
// public List<EgovMap> getMainSortList() throws Exception{
|
||||
// return (List<EgovMap>) list("MainzoneManage.getMainSortList",null);
|
||||
// }
|
||||
//
|
||||
// public void deleteMainzone(String mazId) throws Exception{
|
||||
// delete("MainzoneManage.deleteMainzone", mazId);
|
||||
// }
|
||||
//
|
||||
// public void updateMainSortDown(SortVO sortVO) throws Exception{
|
||||
// update("MainzoneManage.updateMainSortDown", sortVO);
|
||||
// }
|
||||
//
|
||||
// public void updateMainzone(MainzoneVO mainzoneVO) throws Exception{
|
||||
// update("MainzoneManage.updateMainzone", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// @SuppressWarnings("unchecked")
|
||||
// public List<MainzoneVO> selectMainzoneListRolling() throws Exception{
|
||||
// return (List<MainzoneVO>) list("MainzoneManage.selectMainzoneListRolling");
|
||||
// }
|
||||
//
|
||||
// public int selectPopupzoneListTotCnt(PopupzoneVO popupzoneVo) throws Exception {
|
||||
// return (int)select("PopupzoneManage.selectPopupzoneListTotCnt", popupzoneVo);
|
||||
// }
|
||||
//
|
||||
// public int selectMainzoneCount(MainzoneVO mainzoneVO) throws Exception{
|
||||
// return (int)select("MainzoneManage.selectMainzoneCount", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// public void resetVOSort(PopupzoneVO popupzoneVO) throws Exception{
|
||||
// update("PopupzoneManage.resetVOSort", popupzoneVO);
|
||||
// }
|
||||
//
|
||||
// public void resetMainVOSort(MainzoneVO mainzoneVO) throws Exception{
|
||||
// update("MainzoneManage.resetMainVOSort", mainzoneVO);
|
||||
// }
|
||||
//
|
||||
// @SuppressWarnings("unchecked")
|
||||
// public List<SocialVO> selectSocialList(SocialVO socialVO) throws Exception{
|
||||
// return (List<SocialVO>) list("SocialManage.selectSocialList",socialVO);
|
||||
// }
|
||||
//
|
||||
// public SocialVO selectSocialVO(String socialId) throws Exception{
|
||||
// return (SocialVO)select("SocialManage.selectSocialVO", socialId);
|
||||
// }
|
||||
//
|
||||
// public void updateSocial(SocialVO socialVO) throws Exception{
|
||||
// update("SocialManage.updateSocial", socialVO);
|
||||
// }
|
||||
//
|
||||
// public void resetSocialSort(SocialVO socialVO) throws Exception{
|
||||
// update("SocialManage.resetSocialSort", socialVO);
|
||||
// }
|
||||
//
|
||||
// public void insertSocial(SocialVO socialVO) throws Exception{
|
||||
// insert("SocialManage.insertSocial", socialVO);
|
||||
// }
|
||||
//
|
||||
// public void deleteSocial(String id) throws Exception{
|
||||
// delete("SocialManage.deleteSocial", id);
|
||||
// }
|
||||
}
|
||||
@ -0,0 +1,85 @@
|
||||
package itn.com.uss.ion.bnr.sub.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
import itn.com.uss.ion.bnr.sub.service.SubMainZoneManageService;
|
||||
import itn.com.uss.ion.pwm.service.MainzoneVO;
|
||||
import itn.com.uss.ion.pwm.service.PopupManageVO;
|
||||
import itn.com.uss.ion.pwm.service.PopupzoneVO;
|
||||
import itn.com.uss.ion.pwm.service.SocialVO;
|
||||
import itn.com.uss.ion.pwm.service.SortVO;
|
||||
import itn.com.uss.ion.pwm.service.impl.PopupManageDAO;
|
||||
import itn.com.uss.ion.pwm.service.impl.PopupzoneManageDAO;
|
||||
|
||||
/**
|
||||
* 개요
|
||||
* - 팝업창에 대한 ServiceImpl을 정의한다.
|
||||
*
|
||||
* 상세내용
|
||||
* - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
|
||||
* - 팝업창의 조회기능은 목록조회, 상세조회로, 사용자화면 보기로 구분된다.
|
||||
* @author 이창원
|
||||
* @version 1.0
|
||||
* @created 05-8-2009 오후 2:19:58
|
||||
*/
|
||||
|
||||
@Service("subMainZoneManageService")
|
||||
public class SubMainZoneManageServiceImpl extends EgovAbstractServiceImpl implements SubMainZoneManageService {
|
||||
|
||||
@Resource(name = "subMainZoneManageDAO")
|
||||
public SubMainZoneManageDAO dao;
|
||||
|
||||
/** PopupzoneManageDAO */
|
||||
@Resource(name="popupzoneManageDAO")
|
||||
private PopupzoneManageDAO popupzoneManageDAO;
|
||||
|
||||
@Resource(name = "egovPopupManageIdGnrService")
|
||||
private EgovIdGnrService idgenService;
|
||||
|
||||
@Override
|
||||
public List<?> selectSubMainzoneList(MainzoneVO mainzoneVO) throws Exception {
|
||||
return dao.selectSubMainzoneList(mainzoneVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int selectSubMainzoneCount(MainzoneVO mainzoneVO) throws Exception {
|
||||
return dao.selectSubMainzoneCount(mainzoneVO);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public MainzoneVO selectSubMainzoneVO(String mazId) throws Exception {
|
||||
MainzoneVO resultVO = dao.selectSubMainzoneVO(mazId);
|
||||
if (resultVO == null)
|
||||
throw processException("info.nodata.msg");
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MainzoneVO> selectSubMainzoneListRolling() {
|
||||
return dao.selectSubMainzoneListRolling();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteSubMainzone(String id) {
|
||||
dao.deleteSubMainzone(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetSubMainVOSort(MainzoneVO mainzoneVO) {
|
||||
dao.resetSubMainVOSort(mainzoneVO);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,308 @@
|
||||
package itn.com.uss.ion.bnr.sub.web;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
import org.springmodules.validation.commons.DefaultBeanValidator;
|
||||
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import egovframework.rte.fdl.property.EgovPropertyService;
|
||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import itn.com.cmm.ComDefaultCodeVO;
|
||||
import itn.com.cmm.EgovMessageSource;
|
||||
import itn.com.cmm.LoginVO;
|
||||
import itn.com.cmm.service.EgovCmmUseService;
|
||||
import itn.com.cmm.service.EgovFileMngService;
|
||||
import itn.com.cmm.service.EgovFileMngUtil;
|
||||
import itn.com.cmm.service.FileVO;
|
||||
import itn.com.cmm.util.RedirectUrlMaker;
|
||||
import itn.com.uss.ion.bnr.sub.service.SubMainZoneManageService;
|
||||
import itn.com.uss.ion.pwm.service.MainzoneVO;
|
||||
import itn.let.sym.site.service.EgovSiteManagerService;
|
||||
|
||||
/**
|
||||
* 개요
|
||||
* - 팝업창에 대한 Controller를 정의한다.
|
||||
*
|
||||
* 상세내용
|
||||
* - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
|
||||
* - 팝업창의 조회기능은 목록조회, 상세조회로, 사용자 화면 보기로 구분된다.
|
||||
* @author 이창원
|
||||
* @version 1.0
|
||||
* @created 05-8-2009 오후 2:19:57
|
||||
* <pre>
|
||||
* << 개정이력(Modification Information) >>
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2025.02.24 이호영 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
@Controller
|
||||
public class SubMainZoneManageController {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(SubMainZoneManageController.class);
|
||||
|
||||
@Autowired
|
||||
private DefaultBeanValidator beanValidator;
|
||||
|
||||
/** EgovMessageSource */
|
||||
@Resource(name = "egovMessageSource")
|
||||
EgovMessageSource egovMessageSource;
|
||||
|
||||
/** EgovPropertyService */
|
||||
@Resource(name = "propertiesService")
|
||||
protected EgovPropertyService propertiesService;
|
||||
|
||||
/** EgovPopupManageService */
|
||||
@Resource(name = "subMainZoneManageService")
|
||||
private SubMainZoneManageService subMainZoneManageService;
|
||||
|
||||
/** cmmUseService */
|
||||
@Resource(name = "EgovCmmUseService")
|
||||
private EgovCmmUseService cmmUseService;
|
||||
|
||||
@Resource(name="EgovFileMngUtil")
|
||||
private EgovFileMngUtil fileUtil;
|
||||
|
||||
@Resource(name="EgovFileMngService")
|
||||
private EgovFileMngService fileMngService;
|
||||
|
||||
@Resource(name = "egovPopupZoneIdGnrService")
|
||||
private EgovIdGnrService idgenService;
|
||||
|
||||
// @Resource(name = "egovMainZoneIdGnrService")
|
||||
// private EgovIdGnrService idgenServiceMain;
|
||||
|
||||
@Resource(name = "egovSubMainZoneIdGnrService")
|
||||
private EgovIdGnrService idgenServiceSubMain;
|
||||
|
||||
@Resource(name = "egovSiteManagerService")
|
||||
EgovSiteManagerService egovSiteManagerService;
|
||||
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*메인이미지 관리*/
|
||||
@RequestMapping(value="/uss/ion/bnr/sub/subMainZoneList.do")
|
||||
// @RequestMapping(value="/uss/ion/pwm/mainzoneList.do")
|
||||
public String selectMainzoneList(ModelMap model , MainzoneVO mainzoneVO , HttpSession session ) throws Exception {
|
||||
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
|
||||
|
||||
if(mainzoneVO.getPageUnit()% 8 != 0) {//9 배수로 넘어오지 않으면 초기세팅
|
||||
mainzoneVO.setPageUnit(8);
|
||||
}else {
|
||||
mainzoneVO.setPageUnit(mainzoneVO.getPageUnit());
|
||||
}
|
||||
|
||||
/** pageing */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(mainzoneVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(mainzoneVO.getPageUnit());
|
||||
paginationInfo.setPageSize(mainzoneVO.getPageSize());
|
||||
|
||||
mainzoneVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
mainzoneVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
mainzoneVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //각각의 사이트
|
||||
mainzoneVO.setSiteId(loginVO.getSiteId());
|
||||
}
|
||||
List<?> mainzoneList = subMainZoneManageService.selectSubMainzoneList(mainzoneVO);
|
||||
model.addAttribute("mainzoneList", mainzoneList);
|
||||
|
||||
int totCnt = subMainZoneManageService.selectSubMainzoneCount(mainzoneVO);
|
||||
|
||||
paginationInfo.setTotalRecordCount(totCnt);
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
|
||||
return "uss/ion/bnr/sub/subMainZoneList";
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*알림창등록/수정 view*/
|
||||
@RequestMapping(value="/uss/ion/bnr/sub/subMainzoneModify.do")
|
||||
public String updateMainZoneView(@RequestParam Map<?, ?> commandMap,
|
||||
HttpServletRequest request, Model model, HttpSession session)
|
||||
throws Exception {
|
||||
|
||||
MainzoneVO mainzoneVO = new MainzoneVO();
|
||||
if("Modify".equals((String)commandMap.get("pageType"))){ //수정
|
||||
String mazId = (String)commandMap.get("selectedId");
|
||||
mainzoneVO = subMainZoneManageService.selectSubMainzoneVO(mazId);
|
||||
String sNtceBgnde = mainzoneVO.getNtceBgnde();
|
||||
String sNtceEndde = mainzoneVO.getNtceEndde();
|
||||
|
||||
if(sNtceBgnde != null && sNtceEndde != null ) {
|
||||
|
||||
mainzoneVO.setNtceBgndeHH(sNtceBgnde.substring(8, 10));
|
||||
mainzoneVO.setNtceBgndeMM(sNtceBgnde.substring(10, 12));
|
||||
|
||||
mainzoneVO.setNtceEnddeHH(sNtceEndde.substring(8, 10));
|
||||
mainzoneVO.setNtceEnddeMM(sNtceEndde.substring(10, 12));
|
||||
|
||||
//게시기간 시작일자(시)
|
||||
model.addAttribute("ntceBgndeHH", getTimeHH());
|
||||
//게시기간 시작일자(분)
|
||||
model.addAttribute("ntceBgndeMM", getTimeMM());
|
||||
//게시기간 종료일자(시)
|
||||
model.addAttribute("ntceEnddeHH", getTimeHH());
|
||||
//게시기간 종료일자(분)
|
||||
model.addAttribute("ntceEnddeMM", getTimeMM());
|
||||
|
||||
|
||||
}
|
||||
|
||||
if(mainzoneVO != null){
|
||||
mainzoneVO.setBeSort(mainzoneVO.getSort());
|
||||
|
||||
FileVO fileVO = new FileVO();
|
||||
String atchFileId = mainzoneVO.getMainzoneImageFile();
|
||||
fileVO.setAtchFileId(atchFileId);
|
||||
List<FileVO> fileList = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("fileList", fileList);
|
||||
}
|
||||
}else{ //등록
|
||||
|
||||
//게시기간 시작일자(시)
|
||||
model.addAttribute("ntceBgndeHH", getTimeHH());
|
||||
//게시기간 시작일자(분)
|
||||
model.addAttribute("ntceBgndeMM", getTimeMM());
|
||||
//게시기간 종료일자(시)
|
||||
model.addAttribute("ntceEnddeHH", getTimeHH());
|
||||
//게시기간 종료일자(분)
|
||||
model.addAttribute("ntceEnddeMM", getTimeMM());
|
||||
|
||||
}
|
||||
|
||||
//model.addAttribute("sortList", sortList);
|
||||
model.addAttribute("mainzoneVO", mainzoneVO);
|
||||
System.out.println("mainzoneVO :: "+ mainzoneVO.toString());
|
||||
|
||||
/* 타겟 코드 */
|
||||
ComDefaultCodeVO vo = new ComDefaultCodeVO();
|
||||
vo.setCodeId("COM037");
|
||||
//List<?> targetList = cmmUseService.selectCmmCodeDetail(vo);
|
||||
//model.addAttribute("targetList", targetList);
|
||||
|
||||
|
||||
return "uss/ion/bnr/sub/subMainZoneModify";
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*메인 이미지삭제 */
|
||||
@RequestMapping("/uss/ion/bnr/sub/subMainzoneListDelete.do")
|
||||
public String deleteMainzoneDelete(@RequestParam("del") String[] del, RedirectAttributes redirectAttributes , Model model) throws Exception {
|
||||
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
MainzoneVO mainzoneVO = new MainzoneVO();
|
||||
for(String id:del) {
|
||||
try{
|
||||
mainzoneVO = subMainZoneManageService.selectSubMainzoneVO(id);
|
||||
}catch(Exception e){
|
||||
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("info.nodata.msg"));
|
||||
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/bnr/subMainZoneList.do");
|
||||
return redirectUrlMaker.getRedirectUrl();
|
||||
}
|
||||
subMainZoneManageService.deleteSubMainzone(id);
|
||||
if(null != loginVO && !"super".equals(loginVO.getSiteId())){
|
||||
mainzoneVO.setSiteId(loginVO.getSiteId());
|
||||
}
|
||||
subMainZoneManageService.resetSubMainVOSort(mainzoneVO);
|
||||
}
|
||||
|
||||
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete"));
|
||||
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/bnr/subMainZoneList.do");
|
||||
return redirectUrlMaker.getRedirectUrl();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 시간을 LIST를 반환한다.
|
||||
* @return List
|
||||
* @throws
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
private List<ComDefaultCodeVO> getTimeHH() {
|
||||
ArrayList<ComDefaultCodeVO> listHH = new ArrayList<ComDefaultCodeVO>();
|
||||
HashMap<?, ?> hmHHMM;
|
||||
for (int i = 0; i <= 24; i++) {
|
||||
String sHH = "";
|
||||
String strI = String.valueOf(i);
|
||||
if (i < 10) {
|
||||
sHH = "0" + strI;
|
||||
} else {
|
||||
sHH = strI;
|
||||
}
|
||||
|
||||
ComDefaultCodeVO codeVO = new ComDefaultCodeVO();
|
||||
codeVO.setCode(sHH);
|
||||
codeVO.setCodeNm(sHH);
|
||||
|
||||
listHH.add(codeVO);
|
||||
}
|
||||
|
||||
return listHH;
|
||||
}
|
||||
|
||||
/**
|
||||
* 분을 LIST를 반환한다.
|
||||
* @return List
|
||||
* @throws
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
private List<ComDefaultCodeVO> getTimeMM() {
|
||||
ArrayList<ComDefaultCodeVO> listMM = new ArrayList<ComDefaultCodeVO>();
|
||||
HashMap<?, ?> hmHHMM;
|
||||
for (int i = 0; i <= 60; i++) {
|
||||
|
||||
String sMM = "";
|
||||
String strI = String.valueOf(i);
|
||||
if (i < 10) {
|
||||
sMM = "0" + strI;
|
||||
} else {
|
||||
sMM = strI;
|
||||
}
|
||||
|
||||
ComDefaultCodeVO codeVO = new ComDefaultCodeVO();
|
||||
codeVO.setCode(sMM);
|
||||
codeVO.setCodeNm(sMM);
|
||||
|
||||
listMM.add(codeVO);
|
||||
}
|
||||
return listMM;
|
||||
}
|
||||
|
||||
}
|
||||
@ -112,6 +112,9 @@ public class FmsFileController {
|
||||
@Resource(name = "egovMainZoneIdGnrService")
|
||||
private EgovIdGnrService idgenServiceMain;
|
||||
|
||||
@Resource(name = "egovSubMainZoneIdGnrService")
|
||||
private EgovIdGnrService idgenServiceSubMain;
|
||||
|
||||
@Resource(name = "egovBannerService")
|
||||
private EgovBannerService egovBannerService;
|
||||
|
||||
@ -414,6 +417,8 @@ public class FmsFileController {
|
||||
String KeyStr = "FMS_";
|
||||
if("mainzone".equals(fileVO.getMenuName())) { //메인비주얼
|
||||
KeyStr = "MAZ_";
|
||||
}else if("subMainzone".equals(fileVO.getMenuName())) { //메인비주얼
|
||||
KeyStr = "SMAZ_";
|
||||
}else if("popupzone".equals(fileVO.getMenuName())) { //매뉴별 비주얼
|
||||
KeyStr = "POZ_";
|
||||
}else if("banner".equals(fileVO.getMenuName())) { //매뉴별 비주얼
|
||||
@ -477,6 +482,13 @@ public class FmsFileController {
|
||||
egovPopupManageService.insertMainzone(mainzoneVO);
|
||||
mainzoneVO.setSortOver("D"); //앞쪽에 넣음
|
||||
egovPopupManageService.resetMainVOSort(mainzoneVO);
|
||||
}else if("subMainzone".equals(fileVO.getMenuName())) { // 서브 메인비주얼 새글
|
||||
String mainId = idgenServiceSubMain.getNextStringId();
|
||||
mainzoneVO.setMazId(mainId);
|
||||
mainzoneVO.setRegisterId(loginVO.getUniqId());
|
||||
egovPopupManageService.insertSubMainzone(mainzoneVO);
|
||||
mainzoneVO.setSortOver("D"); //앞쪽에 넣음
|
||||
egovPopupManageService.resetSubMainVOSort(mainzoneVO);
|
||||
}else if("popupzone".equals(fileVO.getMenuName())) { //매뉴별 비주얼
|
||||
String pozId = idgenService.getNextStringId();
|
||||
popupzoneVO.setPozId(pozId);
|
||||
@ -521,6 +533,12 @@ public class FmsFileController {
|
||||
mainzoneVO.setSortOver("D");
|
||||
}
|
||||
egovPopupManageService.resetMainVOSort(mainzoneVO);
|
||||
}else if("subMainzone".equals(fileVO.getMenuName())) { //메인비주얼 수정
|
||||
egovPopupManageService.updateSubMainzone(mainzoneVO);
|
||||
if(mainzoneVO.getSort() < mainzoneVO.getBeSort() ){ //sortOver : A 후번호로 변경 , D : 선번호로 변경
|
||||
mainzoneVO.setSortOver("D");
|
||||
}
|
||||
egovPopupManageService.resetSubMainVOSort(mainzoneVO);
|
||||
}else if("popupzone".equals(fileVO.getMenuName())) { //매뉴별 비주얼
|
||||
egovPopupManageService.updatePopupzone(popupzoneVO);
|
||||
if(popupzoneVO.getSort() < popupzoneVO.getBeSort() ){ //sortOver : A 후번호로 변경 , D : 선번호로 변경
|
||||
|
||||
@ -124,6 +124,8 @@ public interface EgovPopupManageService {
|
||||
|
||||
public void insertMainzone(MainzoneVO mainzoneVO) throws Exception;
|
||||
|
||||
public void insertSubMainzone(MainzoneVO mainzoneVO) throws Exception;
|
||||
|
||||
public void resetMainSort(MainzoneVO mainzoneVO) throws Exception;
|
||||
|
||||
public void updateMainSortUp(SortVO sortVO) throws Exception;
|
||||
@ -138,6 +140,8 @@ public interface EgovPopupManageService {
|
||||
|
||||
public void updateMainzone(MainzoneVO mainzoneVO) throws Exception;
|
||||
|
||||
public void updateSubMainzone(MainzoneVO mainzoneVO) throws Exception;
|
||||
|
||||
public int selectPopupzoneListTotCnt(PopupzoneVO popupzoneVo) throws Exception;
|
||||
|
||||
public int selectMainzoneCount(MainzoneVO mainzoneVO) throws Exception;
|
||||
@ -146,6 +150,8 @@ public interface EgovPopupManageService {
|
||||
|
||||
public void resetMainVOSort(MainzoneVO mainzoneVO) throws Exception;
|
||||
|
||||
public void resetSubMainVOSort(MainzoneVO mainzoneVO) throws Exception;
|
||||
|
||||
public List<SocialVO> selectSocialList(SocialVO socialVO) throws Exception;
|
||||
|
||||
public SocialVO selectSocialVO(String socialId) throws Exception;
|
||||
|
||||
@ -18,6 +18,8 @@ package itn.com.uss.ion.pwm.service;
|
||||
import java.io.Serializable;
|
||||
|
||||
import itn.com.cmm.ComDefaultVO;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @Class Name : MainzoneVO.java
|
||||
@ -35,6 +37,8 @@ import itn.com.cmm.ComDefaultVO;
|
||||
*
|
||||
*
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class MainzoneVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
|
||||
@ -96,189 +100,7 @@ public class MainzoneVO extends ComDefaultVO implements Serializable {
|
||||
private String ntceEnddeHH = "";
|
||||
private String ntceEnddeMM = "";
|
||||
|
||||
public int getSeq() {
|
||||
return seq;
|
||||
}
|
||||
|
||||
public void setSeq(int seq) {
|
||||
this.seq = seq;
|
||||
}
|
||||
|
||||
public String getUpfile() {
|
||||
return upfile;
|
||||
}
|
||||
|
||||
public void setUpfile(String upfile) {
|
||||
this.upfile = upfile;
|
||||
}
|
||||
|
||||
public String getUpfileUrl() {
|
||||
return upfileUrl;
|
||||
}
|
||||
|
||||
public void setUpfileUrl(String upfileUrl) {
|
||||
this.upfileUrl = upfileUrl;
|
||||
}
|
||||
|
||||
public String getContent() {
|
||||
return content;
|
||||
}
|
||||
|
||||
public void setContent(String content) {
|
||||
this.content = content;
|
||||
}
|
||||
|
||||
public String getMlink() {
|
||||
return mlink;
|
||||
}
|
||||
|
||||
public void setMlink(String mlink) {
|
||||
this.mlink = mlink;
|
||||
}
|
||||
|
||||
public String getIstarget() {
|
||||
return istarget;
|
||||
}
|
||||
|
||||
public void setIstarget(String istarget) {
|
||||
this.istarget = istarget;
|
||||
}
|
||||
|
||||
public String getDel() {
|
||||
return del;
|
||||
}
|
||||
|
||||
public void setDel(String del) {
|
||||
this.del = del;
|
||||
}
|
||||
|
||||
public int getSort() {
|
||||
return sort;
|
||||
}
|
||||
|
||||
public void setSort(int sort) {
|
||||
this.sort = sort;
|
||||
}
|
||||
|
||||
public String getRegdt() {
|
||||
return regdt;
|
||||
}
|
||||
|
||||
public void setRegdt(String regdt) {
|
||||
this.regdt = regdt;
|
||||
}
|
||||
|
||||
public String getMainzoneImage() {
|
||||
return mainzoneImage;
|
||||
}
|
||||
|
||||
public void setMainzoneImage(String mainzoneImage) {
|
||||
this.mainzoneImage = mainzoneImage;
|
||||
}
|
||||
|
||||
public String getMainzoneImageFile() {
|
||||
return mainzoneImageFile;
|
||||
}
|
||||
|
||||
public void setMainzoneImageFile(String mainzoneImageFile) {
|
||||
this.mainzoneImageFile = mainzoneImageFile;
|
||||
}
|
||||
|
||||
public String getMazId() {
|
||||
return mazId;
|
||||
}
|
||||
|
||||
public void setMazId(String mazId) {
|
||||
this.mazId = mazId;
|
||||
}
|
||||
|
||||
public String getMazNm() {
|
||||
return mazNm;
|
||||
}
|
||||
|
||||
public void setMazNm(String mazNm) {
|
||||
this.mazNm = mazNm;
|
||||
}
|
||||
|
||||
public String getUseYn() {
|
||||
return useYn;
|
||||
}
|
||||
|
||||
public void setUseYn(String useYn) {
|
||||
this.useYn = useYn;
|
||||
}
|
||||
|
||||
public String getRegisterId() {
|
||||
return registerId;
|
||||
}
|
||||
|
||||
public void setRegisterId(String registerId) {
|
||||
this.registerId = registerId;
|
||||
}
|
||||
|
||||
public String getModdt() {
|
||||
return moddt;
|
||||
}
|
||||
|
||||
public void setModdt(String moddt) {
|
||||
this.moddt = moddt;
|
||||
}
|
||||
|
||||
public String getDeviceType() {
|
||||
return deviceType;
|
||||
}
|
||||
|
||||
public void setDeviceType(String deviceType) {
|
||||
this.deviceType = deviceType;
|
||||
}
|
||||
|
||||
public String getNtceBgnde() {
|
||||
return ntceBgnde;
|
||||
}
|
||||
|
||||
public void setNtceBgnde(String ntceBgnde) {
|
||||
this.ntceBgnde = ntceBgnde;
|
||||
}
|
||||
|
||||
public String getNtceEndde() {
|
||||
return ntceEndde;
|
||||
}
|
||||
|
||||
public void setNtceEndde(String ntceEndde) {
|
||||
this.ntceEndde = ntceEndde;
|
||||
}
|
||||
|
||||
public String getNtceBgndeHH() {
|
||||
return ntceBgndeHH;
|
||||
}
|
||||
|
||||
public void setNtceBgndeHH(String ntceBgndeHH) {
|
||||
this.ntceBgndeHH = ntceBgndeHH;
|
||||
}
|
||||
|
||||
public String getNtceBgndeMM() {
|
||||
return ntceBgndeMM;
|
||||
}
|
||||
|
||||
public void setNtceBgndeMM(String ntceBgndeMM) {
|
||||
this.ntceBgndeMM = ntceBgndeMM;
|
||||
}
|
||||
|
||||
public String getNtceEnddeHH() {
|
||||
return ntceEnddeHH;
|
||||
}
|
||||
|
||||
public void setNtceEnddeHH(String ntceEnddeHH) {
|
||||
this.ntceEnddeHH = ntceEnddeHH;
|
||||
}
|
||||
|
||||
public String getNtceEnddeMM() {
|
||||
return ntceEnddeMM;
|
||||
}
|
||||
|
||||
public void setNtceEnddeMM(String ntceEnddeMM) {
|
||||
this.ntceEnddeMM = ntceEnddeMM;
|
||||
}
|
||||
|
||||
private String topTxt = "";
|
||||
private String lowTxt = "";
|
||||
|
||||
}
|
||||
|
||||
@ -240,6 +240,11 @@ public class EgovPopupManageServiceImpl extends EgovAbstractServiceImpl implemen
|
||||
dao.insertMainzone(mainzoneVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertSubMainzone(MainzoneVO mainzoneVO) throws Exception {
|
||||
dao.insertSubMainzone(mainzoneVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetMainSort(MainzoneVO mainzoneVO) throws Exception {
|
||||
dao.resetMainSort(mainzoneVO);
|
||||
@ -295,6 +300,11 @@ public class EgovPopupManageServiceImpl extends EgovAbstractServiceImpl implemen
|
||||
dao.updateMainzone(mainzoneVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateSubMainzone(MainzoneVO mainzoneVO) throws Exception {
|
||||
dao.updateSubMainzone(mainzoneVO);
|
||||
}
|
||||
|
||||
//사용자 메인화면 롤링 배너 이미지 조회
|
||||
@Override
|
||||
public List<MainzoneVO> selectMainzoneListRolling() throws Exception{
|
||||
@ -325,6 +335,12 @@ public class EgovPopupManageServiceImpl extends EgovAbstractServiceImpl implemen
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetSubMainVOSort(MainzoneVO mainzoneVO) throws Exception {
|
||||
dao.resetSubMainVOSort(mainzoneVO);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SocialVO> selectSocialList(SocialVO socialVO) throws Exception {
|
||||
return dao.selectSocialList(socialVO);
|
||||
|
||||
@ -194,6 +194,10 @@ public class PopupManageDAO extends EgovComAbstractDAO {
|
||||
insert("MainzoneManage.insertMainzone", mainzoneVO);
|
||||
}
|
||||
|
||||
public void insertSubMainzone(MainzoneVO mainzoneVO) throws Exception{
|
||||
insert("MainzoneManage.insertSubMainzone", mainzoneVO);
|
||||
}
|
||||
|
||||
public void resetMainSort(MainzoneVO mainzoneVO) throws Exception{
|
||||
insert("MainzoneManage.resetMainSort", mainzoneVO);
|
||||
}
|
||||
@ -223,6 +227,10 @@ public class PopupManageDAO extends EgovComAbstractDAO {
|
||||
update("MainzoneManage.updateMainzone", mainzoneVO);
|
||||
}
|
||||
|
||||
public void updateSubMainzone(MainzoneVO mainzoneVO) throws Exception{
|
||||
update("MainzoneManage.updateSubMainzone", mainzoneVO);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<MainzoneVO> selectMainzoneListRolling() throws Exception{
|
||||
return (List<MainzoneVO>) list("MainzoneManage.selectMainzoneListRolling");
|
||||
@ -244,6 +252,10 @@ public class PopupManageDAO extends EgovComAbstractDAO {
|
||||
update("MainzoneManage.resetMainVOSort", mainzoneVO);
|
||||
}
|
||||
|
||||
public void resetSubMainVOSort(MainzoneVO mainzoneVO) throws Exception{
|
||||
update("MainzoneManage.resetSubMainVOSort", mainzoneVO);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<SocialVO> selectSocialList(SocialVO socialVO) throws Exception{
|
||||
return (List<SocialVO>) list("SocialManage.selectSocialList",socialVO);
|
||||
|
||||
@ -845,6 +845,8 @@ public class EgovPopupManageController {
|
||||
HttpServletRequest request, Model model, HttpSession session)
|
||||
throws Exception {
|
||||
|
||||
System.out.println("??????");
|
||||
|
||||
MainzoneVO mainzoneVO = new MainzoneVO();
|
||||
if("Modify".equals((String)commandMap.get("pageType"))){ //수정
|
||||
String mazId = (String)commandMap.get("selectedId");
|
||||
@ -897,6 +899,7 @@ public class EgovPopupManageController {
|
||||
//model.addAttribute("sortList", sortList);
|
||||
model.addAttribute("mainzoneVO", mainzoneVO);
|
||||
|
||||
System.out.println("mainzoneVO :: "+ mainzoneVO.toString());
|
||||
/* 타겟 코드 */
|
||||
ComDefaultCodeVO vo = new ComDefaultCodeVO();
|
||||
vo.setCodeId("COM037");
|
||||
|
||||
@ -80,6 +80,7 @@ import itn.com.cmm.util.StringUtil;
|
||||
import itn.com.cmm.util.WebUtil;
|
||||
import itn.com.uss.ion.bnr.service.BannerVO;
|
||||
import itn.com.uss.ion.bnr.service.EgovBannerService;
|
||||
import itn.com.uss.ion.bnr.sub.service.SubMainZoneManageService;
|
||||
import itn.com.uss.ion.cnf.service.MetaTagManageService;
|
||||
import itn.com.uss.ion.cyb.service.CyberAlertManageService;
|
||||
import itn.com.uss.ion.cyb.service.CyberAlertManageVO;
|
||||
@ -263,6 +264,10 @@ public class MainController {
|
||||
@Resource(name = "mjonCandidateService")
|
||||
private MjonCandidateService mjonCandidateService;
|
||||
|
||||
/** EgovPopupManageService */
|
||||
@Resource(name = "subMainZoneManageService")
|
||||
private SubMainZoneManageService subMainZoneManageService;
|
||||
|
||||
|
||||
@Value("#{globalSettings['Globals.email.host']}")
|
||||
private String Globals_email_host;
|
||||
@ -689,6 +694,13 @@ public class MainController {
|
||||
|
||||
}
|
||||
|
||||
{//하단 서브메인배너 롤링 이미지 불러오기
|
||||
|
||||
List<MainzoneVO> resultSubMainzoneList = subMainZoneManageService.selectSubMainzoneListRolling();
|
||||
model.addAttribute("subMainzoneList", resultSubMainzoneList);
|
||||
|
||||
}
|
||||
|
||||
return "web/main/mainPage";
|
||||
}
|
||||
|
||||
|
||||
@ -2002,6 +2002,24 @@
|
||||
<property name="fillChar" value="0" />
|
||||
</bean>
|
||||
|
||||
<!-- 알림이미지 ID Generation Strategy Config -->
|
||||
<bean name="egovSubMainZoneIdGnrService"
|
||||
class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl"
|
||||
destroy-method="destroy">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="strategy" ref="subMainZoneStrategy" />
|
||||
<property name="blockSize" value="10"/>
|
||||
<property name="table" value="IDS"/>
|
||||
<property name="tableName" value="MAZ_S_ID"/>
|
||||
</bean>
|
||||
<!-- 메인상단 이미지 ID Generation Strategy Config -->
|
||||
<bean name="subMainZoneStrategy"
|
||||
class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
|
||||
<property name="prefix" value="MAZS_" />
|
||||
<property name="cipers" value="12" />
|
||||
<property name="fillChar" value="0" />
|
||||
</bean>
|
||||
|
||||
|
||||
<!-- 컨텐츠 관리 ID Generation Strategy Config -->
|
||||
<bean name="egovCntManageIdGnrService"
|
||||
|
||||
@ -4,4 +4,5 @@
|
||||
|
||||
<sqlMapConfig>
|
||||
<sqlMap resource="egovframework/sqlmap/com/uss/ion/bnr/EgovBanner_SQL_Mysql.xml"/><!-- 배너 추가 -->
|
||||
<sqlMap resource="egovframework/sqlmap/let/uss/ion/bnr/SubMainZoneManage_SQL_Mysql.xml"/><!-- 서브팝업관리 -->
|
||||
</sqlMapConfig>
|
||||
|
||||
@ -0,0 +1,205 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
|
||||
<!--
|
||||
수정일 수정자 수정내용
|
||||
=========== ======== =================================================
|
||||
2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경
|
||||
-->
|
||||
<sqlMap namespace="UnityLink">
|
||||
|
||||
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
|
||||
<typeAlias alias="comDefaultVO" type="itn.com.cmm.ComDefaultVO"/>
|
||||
<typeAlias alias="PopupManageVO" type="itn.com.uss.ion.pwm.service.PopupManageVO" />
|
||||
<typeAlias alias="popupzoneVO" type="itn.com.uss.ion.pwm.service.PopupzoneVO"/>
|
||||
<typeAlias alias="mainzoneVO" type="itn.com.uss.ion.pwm.service.MainzoneVO"/>
|
||||
<typeAlias alias="socialVO" type="itn.com.uss.ion.pwm.service.SocialVO"/>
|
||||
<typeAlias alias="sortVO" type="itn.com.uss.ion.pwm.service.SortVO"/>
|
||||
<!-- ::ResultMap 선언 -->
|
||||
<resultMap id="PopupManageVOs" class="itn.com.uss.ion.pwm.service.PopupManageVO">
|
||||
<result property="popupId" column="POPUP_ID" columnIndex="1"/>
|
||||
<result property="popupTitleNm" column="POPUP_SJ_NM" columnIndex="2"/>
|
||||
<result property="fileUrl" column="FILE_URL" columnIndex="3"/>
|
||||
<result property="popupHlc" column="POPUP_VRTICL_LC" columnIndex="4"/>
|
||||
<result property="popupWlc" column="POPUP_WIDTH_LC" columnIndex="5"/>
|
||||
<result property="popupHSize" column="POPUP_VRTICL_SIZE" columnIndex="6"/>
|
||||
<result property="popupWSize" column="POPUP_WIDTH_SIZE" columnIndex="7"/>
|
||||
<result property="ntceBgnde" column="NTCE_BGNDE" columnIndex="8"/>
|
||||
<result property="ntceEndde" column="NTCE_ENDDE" columnIndex="9"/>
|
||||
<result property="stopVewAt" column="STOPVEW_SETUP_AT" columnIndex="10"/>
|
||||
<result property="ntceAt" column="NTCE_AT" columnIndex="11"/>
|
||||
<result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM" columnIndex="12"/>
|
||||
<result property="frstRegisterId" column="FRST_REGISTER_ID" columnIndex="13"/>
|
||||
<result property="lastUpdusrPnttm" column="LAST_UPDT_PNTTM" columnIndex="14"/>
|
||||
<result property="lastUpdusrId" column="LAST_UPDUSR_ID" columnIndex="15"/>
|
||||
<result property="popupType" column="POPUP_TYPE" columnIndex="16"/>
|
||||
<result property="scrollType" column="SCROLL_TYPE" columnIndex="17"/>
|
||||
<result property="nttCn" column="NTT_CN" columnIndex="18"/>
|
||||
<result property="sortNum" column="SORT_NUM" columnIndex="19"/>
|
||||
</resultMap>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 매인이미지 관리자 리스트 -->
|
||||
<select id="subMainzoneManage.selectSubMainzoneList" parameterClass="mainzoneVO" resultClass="egovMap">
|
||||
/* subMainzoneManage.selectSubMainzoneList */
|
||||
<![CDATA[
|
||||
SELECT
|
||||
MAZ_ID,
|
||||
CONCAT("/UPLOADROOT/POPUPZONE/",UPFILE ) AS IMG,
|
||||
CONTENT AS IMG_ALT,
|
||||
MLINK,
|
||||
ISTARGET,
|
||||
CASE WHEN
|
||||
DATE(SUBDATE(NOW(), INTERVAL 7 DAY)) < DATE(REGDT)
|
||||
THEN 'Y'
|
||||
ELSE 'N'
|
||||
END AS NEW_FLAG,
|
||||
DATE_FORMAT(REGDT, '%Y-%m-%d') REGDT,
|
||||
MAINZONE_IMAGE,
|
||||
MAINZONE_IMAGE_FILE ,
|
||||
SORT,
|
||||
MAZ_NM,
|
||||
USE_YN,
|
||||
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = REGISTER_ID) REGISTER_ID ,
|
||||
DEVICETYPE,
|
||||
STR_TO_DATE(NTCE_BGNDE,'%Y%m%d') AS ntceBgnde,
|
||||
STR_TO_DATE(NTCE_ENDDE,'%Y%m%d') AS ntceEndde
|
||||
FROM SUB_MAINZONE MB
|
||||
WHERE 1=1
|
||||
]]>
|
||||
<isEqual property="useYn" compareValue="Y">
|
||||
AND USE_YN = 'Y'
|
||||
</isEqual>
|
||||
<isNotEmpty property="searchKeyword">
|
||||
<isEqual property="searchCondition" compareValue="">
|
||||
AND ( MAZ_NM LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||
OR CONTENT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||
)
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="1">
|
||||
AND MAZ_NM LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="2">
|
||||
AND CONTENT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchConditionSite">
|
||||
AND SITE_ID = #searchConditionSite#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="deviceType">
|
||||
<isEqual property="deviceType" compareValue="P">
|
||||
AND ( DEVICETYPE IS NULL OR DEVICETYPE = #deviceType# )
|
||||
</isEqual>
|
||||
<isEqual property="deviceType" compareValue="M">
|
||||
AND DEVICETYPE = #deviceType#
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
ORDER BY SORT
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="subMainzoneManage.selectSubMainzoneCount" resultClass="int">
|
||||
/* subMainzoneManage.selectSubMainzoneCount */
|
||||
SELECT
|
||||
COUNT(*) totcnt
|
||||
FROM SUB_MAINZONE
|
||||
WHERE 1=1
|
||||
<isNotEmpty property="searchKeyword">
|
||||
<isEqual property="searchCondition" compareValue="">
|
||||
AND ( MAZ_NM LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||
OR CONTENT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||
)
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="1">
|
||||
AND MAZ_NM LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="2">
|
||||
AND CONTENT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchConditionSite">
|
||||
AND SITE_ID = #searchConditionSite#
|
||||
</isNotEmpty>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="subMainzoneManage.selectSubMainzoneVO" parameterClass="String" resultClass="mainzoneVO">
|
||||
/* subMainzoneManage.selectSubMainzoneVO */
|
||||
SELECT
|
||||
MAZ_ID AS MAZID,
|
||||
UPFILE,
|
||||
CONCAT("/UPLOADROOT/POPUPZONE/",UPFILE ) AS UPFILEURL,
|
||||
CONTENT,
|
||||
MLINK,
|
||||
ISTARGET,
|
||||
REGDT,
|
||||
DEL,
|
||||
SORT,
|
||||
MAINZONE_IMAGE AS MAINZONEIMAGE ,
|
||||
MAINZONE_IMAGE_FILE AS MAINZONEIMAGEFILE,
|
||||
MAZ_NM AS MAZNM,
|
||||
USE_YN AS USEYN,
|
||||
DATE_FORMAT(MODDT, '%Y-%m-%d %T') MODDT ,
|
||||
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = REGISTER_ID) REGISTERID,
|
||||
DEVICETYPE AS deviceType,
|
||||
NTCE_BGNDE AS ntceBgnde,
|
||||
NTCE_ENDDE AS ntceEndde,
|
||||
TOP_TXT AS topTxt,
|
||||
LOW_TXT AS lowTxt
|
||||
FROM SUB_MAINZONE
|
||||
WHERE MAZ_ID=#mazId#
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="subMainzoneManage.selectSubMainzoneListRolling" resultClass="mainzoneVO">
|
||||
/* subMainzoneManage.selectSubMainzoneListRolling */
|
||||
SELECT MZ.MAZ_ID AS mazId,
|
||||
MZ.CONTENT AS content,
|
||||
MZ.SORT AS sort,
|
||||
MZ.MAINZONE_IMAGE_FILE AS mainzoneImageFile,
|
||||
MZ.MAZ_NM AS mazNm,
|
||||
MZ.MLINK AS mlink,
|
||||
MZ.TOP_TXT AS topTxt,
|
||||
MZ.LOW_TXT AS lowTxt
|
||||
FROM SUB_MAINZONE MZ
|
||||
WHERE MZ.NTCE_BGNDE IS NOT NULL
|
||||
AND MZ.NTCE_ENDDE IS NOT NULL
|
||||
|
||||
<![CDATA[
|
||||
AND DATE_FORMAT(SYSDATE(),'%Y%m%d%H%i') >= MZ.NTCE_BGNDE
|
||||
AND DATE_FORMAT(SYSDATE(),'%Y%m%d%H%i') <= MZ.NTCE_ENDDE
|
||||
]]>
|
||||
AND MZ.USE_YN = 'Y'
|
||||
ORDER BY MZ.SORT
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
<delete id="subMainzoneManage.deleteSubMainzone" parameterClass="String">
|
||||
DELETE FROM SUB_MAINZONE WHERE MAZ_ID=#mazId#
|
||||
</delete>
|
||||
|
||||
|
||||
<update id="subMainzoneManage.resetSubMainVOSort" parameterClass="mainzoneVO">
|
||||
UPDATE SUB_MAINZONE A ,
|
||||
(SELECT ROW_NUMBER() OVER(ORDER BY SORT
|
||||
<isEqual property="sortOver" compareValue="A">
|
||||
, MODDT ASC
|
||||
</isEqual>
|
||||
<isEqual property="sortOver" compareValue="D">
|
||||
, MODDT DESC
|
||||
</isEqual>
|
||||
) AS SORT1 , MAZ_ID FROM SUB_MAINZONE
|
||||
WHERE 1=1
|
||||
ORDER BY SORT1
|
||||
) B
|
||||
SET A.SORT = B.SORT1
|
||||
WHERE A.MAZ_ID = B.MAZ_ID
|
||||
</update>
|
||||
|
||||
|
||||
</sqlMap>
|
||||
@ -605,6 +605,54 @@
|
||||
)
|
||||
</insert>
|
||||
|
||||
<insert id="MainzoneManage.insertSubMainzone" parameterClass="mainzoneVO">
|
||||
INSERT INTO SUB_MAINZONE (
|
||||
MAZ_ID,
|
||||
UPFILE,
|
||||
CONTENT,
|
||||
MLINK,
|
||||
ISTARGET,
|
||||
REGDT,
|
||||
MODDT,
|
||||
DEL,
|
||||
SORT,
|
||||
MAINZONE_IMAGE,
|
||||
MAINZONE_IMAGE_FILE,
|
||||
MAZ_NM,
|
||||
USE_YN,
|
||||
<isNotEmpty property="deviceType">
|
||||
DEVICETYPE,
|
||||
</isNotEmpty>
|
||||
REGISTER_ID,
|
||||
NTCE_BGNDE,
|
||||
NTCE_ENDDE,
|
||||
TOP_TXT,
|
||||
LOW_TXT
|
||||
) VALUES (
|
||||
#mazId#,
|
||||
#upfile#,
|
||||
#content#,
|
||||
#mlink#,
|
||||
#istarget#,
|
||||
now(),
|
||||
now(),
|
||||
#del#,
|
||||
#sort#,
|
||||
#mainzoneImage#,
|
||||
#mainzoneImageFile#,
|
||||
#mazNm#,
|
||||
#useYn#,
|
||||
<isNotEmpty property="deviceType">
|
||||
#deviceType#,
|
||||
</isNotEmpty>
|
||||
#registerId#,
|
||||
#ntceBgnde#,
|
||||
#ntceEndde#,
|
||||
#topTxt#,
|
||||
#lowTxt#
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="MainzoneManage.resetMainSort" parameterClass="mainzoneVO">
|
||||
UPDATE MAINZONE A , (SELECT ROW_NUMBER() OVER(ORDER BY SORT) AS SORT1 , MAZ_ID FROM MAINZONE
|
||||
WHERE 1=1
|
||||
@ -690,6 +738,28 @@
|
||||
WHERE MAZ_ID=#mazId#
|
||||
</update>
|
||||
|
||||
<update id="MainzoneManage.updateSubMainzone" parameterClass="mainzoneVO">
|
||||
UPDATE SUB_MAINZONE SET
|
||||
UPFILE=#upfile#,
|
||||
CONTENT=#content#,
|
||||
MLINK=#mlink#,
|
||||
ISTARGET=#istarget#,
|
||||
SORT=#sort#,
|
||||
MAINZONE_IMAGE = #mainzoneImage#,
|
||||
MAINZONE_IMAGE_FILE = #mainzoneImageFile#,
|
||||
USE_YN = #useYn#,
|
||||
MAZ_NM = #mazNm# ,
|
||||
<isNotEmpty property="deviceType">
|
||||
DEVICETYPE = #deviceType# ,
|
||||
</isNotEmpty>
|
||||
NTCE_BGNDE = #ntceBgnde#,
|
||||
NTCE_ENDDE = #ntceEndde#,
|
||||
TOP_TXT = #topTxt#,
|
||||
LOW_TXT = #lowTxt#,
|
||||
MODDT = now()
|
||||
WHERE MAZ_ID=#mazId#
|
||||
</update>
|
||||
|
||||
<select id="MainzoneManage.selectMainzoneCount" resultClass="int">
|
||||
SELECT
|
||||
COUNT(*) totcnt
|
||||
@ -750,6 +820,23 @@
|
||||
WHERE A.MAZ_ID = B.MAZ_ID
|
||||
</update>
|
||||
|
||||
<update id="MainzoneManage.resetSubMainVOSort" parameterClass="mainzoneVO">
|
||||
UPDATE SUB_MAINZONE A ,
|
||||
(SELECT ROW_NUMBER() OVER(ORDER BY SORT
|
||||
<isEqual property="sortOver" compareValue="A">
|
||||
, MODDT ASC
|
||||
</isEqual>
|
||||
<isEqual property="sortOver" compareValue="D">
|
||||
, MODDT DESC
|
||||
</isEqual>
|
||||
) AS SORT1 , MAZ_ID FROM SUB_MAINZONE
|
||||
WHERE 1=1
|
||||
ORDER BY SORT1
|
||||
) B
|
||||
SET A.SORT = B.SORT1
|
||||
WHERE A.MAZ_ID = B.MAZ_ID
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 소설 관리자 리스트 -->
|
||||
<select id="SocialManage.selectSocialList" parameterClass="socialVO" resultClass="socialVO">
|
||||
@ -914,7 +1001,8 @@
|
||||
MZ.CONTENT AS content,
|
||||
MZ.SORT AS sort,
|
||||
MZ.MAINZONE_IMAGE_FILE AS mainzoneImageFile,
|
||||
MZ.MAZ_NM AS mazNm
|
||||
MZ.MAZ_NM AS mazNm,
|
||||
MZ.MLINK AS mlink
|
||||
FROM MAINZONE MZ
|
||||
WHERE MZ.NTCE_BGNDE IS NOT NULL
|
||||
AND MZ.NTCE_ENDDE IS NOT NULL
|
||||
|
||||
254
src/main/webapp/WEB-INF/jsp/uss/ion/bnr/sub/subMainZoneList.jsp
Normal file
254
src/main/webapp/WEB-INF/jsp/uss/ion/bnr/sub/subMainZoneList.jsp
Normal file
@ -0,0 +1,254 @@
|
||||
<%--
|
||||
Class Name : EgovPopupList.jsp
|
||||
Description : 팝업창관리 목록 페이지
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2009.09.16 장동한 최초 생성
|
||||
|
||||
author : 공통서비스 개발팀 장동한
|
||||
since : 2009.09.16
|
||||
|
||||
Copyright (C) 2009 by MOPAS All right reserved.
|
||||
--%>
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%
|
||||
response.setHeader("Cache-Control","no-store");
|
||||
response.setHeader("Pragma","no-cache");
|
||||
response.setDateHeader("Expires",0);
|
||||
if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
|
||||
%>
|
||||
<c:set var="ImgUrl" value="${pageContext.request.contextPath}/images/egovframework/com/cmm/" />
|
||||
<c:set var="CssUrl" value="${pageContext.request.contextPath}/css/egovframework/com/" />
|
||||
<c:set var="JsUrl" value="${pageContext.request.contextPath}/js/egovframework/com/uss/ion/pwm/"/>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>메인이미지 관리</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
$(".img_cont").click(function(e){
|
||||
clickEvent = true;
|
||||
});
|
||||
|
||||
$(".check").click(function(e){
|
||||
e.stopPropagation();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
/* 메인창 수정 화면*/
|
||||
function fn_mainzone_view(id, pageType){
|
||||
document.modiForm.selectedId.value = id;
|
||||
document.modiForm.pageType.value = "Modify";
|
||||
document.modiForm.action = "<c:url value='/uss/ion/bnr/sub/subMainzoneModify.do'/>";
|
||||
document.modiForm.submit();
|
||||
}
|
||||
|
||||
/* 메인창 등록화면*/
|
||||
function fn_mainzone_insert_view(){
|
||||
document.modiForm.pageType.value = "Insert";
|
||||
document.modiForm.action = "<c:url value='/uss/ion/bnr/sub/subMainzoneModify.do'/>";
|
||||
document.modiForm.submit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
function doDep3(event){
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
function linkPage(pageNo){
|
||||
<c:if test="${!empty loginId}">
|
||||
if(""!= document.listForm.searchKeyword.value){
|
||||
updateRecentSearch();//최근검색어 등록
|
||||
}
|
||||
</c:if>
|
||||
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.searchCondition.value = $('#searchCondition').val();
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
|
||||
function fnCheckAll() {
|
||||
var checkField = document.listForm.del;
|
||||
if(document.listForm.checkAll.checked) {
|
||||
if(checkField) {
|
||||
if(checkField.length > 1) {
|
||||
for(var i=0; i < checkField.length; i++) {
|
||||
checkField[i].checked = true;
|
||||
}
|
||||
} else {
|
||||
checkField.checked = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(checkField) {
|
||||
if(checkField.length > 1) {
|
||||
for(var j=0; j < checkField.length; j++) {
|
||||
checkField[j].checked = false;
|
||||
}
|
||||
} else {
|
||||
checkField.checked = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* 체크된 메인배너 목록 삭제 */
|
||||
function fn_mainzone_contest_delete(){
|
||||
if($("input[name=del]:checked").length == 0){
|
||||
alert("선택된 항목이 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (confirm("해당 메인이미지 삭제하시겠습니까?")){
|
||||
frm = document.listForm;
|
||||
frm.action = "<c:url value='/uss/ion/bnr/sub/subMainzoneListDelete.do' />";
|
||||
frm.submit();
|
||||
}
|
||||
}
|
||||
|
||||
/* 테마별 색상맞추기 */
|
||||
$(window).load(function() {
|
||||
$('table.bbs01_list td.subject a').hover(
|
||||
function () {
|
||||
$(this).css("color","#d10000");
|
||||
},
|
||||
function () {
|
||||
$(this).css("color","#333333");
|
||||
}
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<form name="listForm" action="<c:url value='/uss/ion/bnr/sub/subMainZoneList.do'/>" method="post">
|
||||
<input name="pageIndex" type="hidden" value="<c:out value='${mainzoneVO.pageIndex}'/>"/>
|
||||
<input type="hidden" name="selectedId" />
|
||||
<input type="hidden" name="pageType" />
|
||||
<div class="contWrap">
|
||||
<div class="pageTitle">
|
||||
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
|
||||
<h2 class="titType1 c_222222 fwBold">서비스안내 배너관리</h2>
|
||||
<p class="tType6 c_999999">사이트별로 사용자 메인 상단에 적용되는 (하단)비주얼 이미지를 등록, 수정, 삭제할 수 있습니다.</p>
|
||||
</div>
|
||||
<div class="pageCont">
|
||||
<div class="listSerch">
|
||||
<c:if test="${siteId eq 'super'}">
|
||||
<select name="searchConditionSite" id="searchConditionSite" title="사이트검색">
|
||||
<option value="" <c:if test="${empty userSearchVO.searchConditionSite }">selected="selected"</c:if> >전체 사이트</option>
|
||||
<c:forEach var="result" items="${siteManageList}" varStatus="status">
|
||||
<option value="${result.siteId}" <c:if test="${result.siteId eq mainzoneVO.searchConditionSite }">selected="selected"</c:if> >${result.siteNm}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</c:if>
|
||||
<select name="searchCondition" id="searchCondition" class="select" title="검색조건선택">
|
||||
<option value=''>전체</option>
|
||||
<option value='1' <c:if test="${mainzoneVO.searchCondition == '1'}">selected</c:if>>제목</option>
|
||||
<option value='2' <c:if test="${mainzoneVO.searchCondition == '2'}">selected</c:if>>대체텍스트</option>
|
||||
</select>
|
||||
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${mainzoneVO.searchKeyword}'/>" size="40" title="검색" maxlength="100"/>
|
||||
<input type="button" class="btnType1" value="검색" onclick="linkPage(1); return false;">
|
||||
</div>
|
||||
<div class="listTop">
|
||||
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건</p>
|
||||
<div class="rightWrap">
|
||||
<input type="button" class="printBtn" >
|
||||
<select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);">
|
||||
<option value='8' <c:if test="${mainzoneVO.pageUnit == '8' or searchVO.pageUnit == ''}">selected</c:if>>8개씩 보기</option>
|
||||
<option value='16' <c:if test="${mainzoneVO.pageUnit == '16'}">selected</c:if>>16개씩 보기</option>
|
||||
<option value='24' <c:if test="${mainzoneVO.pageUnit == '24'}">selected</c:if>>24개씩 보기</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="galleryListWrap">
|
||||
<ul class="inline">
|
||||
<c:forEach var="result" items="${mainzoneList}" varStatus="status">
|
||||
<li onclick="javascript:fn_mainzone_view('${result.mazId}'); return false;">
|
||||
<div class="check"><input type="checkbox" name="del" id="check_box${status.index}" value="${result.mazId}"></div>
|
||||
<%-- <div class="img_cont_check"><input type="checkbox" name="del" id="img_cont_check_box${status.index}" class="img_cont_check_box" value="${result.mazId}"><label for="img_cont_check_box${status.index}"></label></div> --%>
|
||||
<ul class="listCategory">
|
||||
<c:if test="${siteId eq 'super'}">
|
||||
<c:forEach var="siteManageList" items="${siteManageList}" varStatus="status">
|
||||
<c:if test="${result.siteId eq siteManageList.siteId}">
|
||||
<li>
|
||||
<c:out value="${siteManageList.siteNm}"/>
|
||||
</li>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
<li class="useCg">
|
||||
<c:if test="${result.useYn eq 'Y'}">
|
||||
사용
|
||||
</c:if>
|
||||
<c:if test="${result.useYn ne 'Y'}">
|
||||
미사용
|
||||
</c:if>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="imgBox"><img onerror="this.src='/pb/img/noImg.png'" src="<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.mainzoneImageFile}"/>" alt=""></div>
|
||||
<%-- <div class="imgBox"><img onerror="this.src='/pb/img/noImg.png'" src="<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.mainzoneImageFile}"/>" alt=""></div> --%>
|
||||
<div class="listInfo">
|
||||
<h3>${result.mazNm}</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">작성자 : ${result.registerId}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>노출순서 : ${result.sort}</td>
|
||||
<td class="right">${result.ntceBgnde} ~ ${result.ntceEndde}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</li>
|
||||
</c:forEach>
|
||||
</ul>
|
||||
<c:if test="${empty mainzoneList}">
|
||||
<div class="board1_btn">
|
||||
<ul style="text-align: center;"><spring:message code="common.nodata.msg" /></ul>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
</div>
|
||||
<div class="btnWrap">
|
||||
<input type="button" class="btnType2" value="삭제" onclick="fn_mainzone_contest_delete(); return false;">
|
||||
<input type="button" class="btnType1" value="등록" onclick="fn_mainzone_insert_view(); return false;">
|
||||
</div>
|
||||
<!-- 페이지 네비게이션 시작 -->
|
||||
<c:if test="${!empty mainzoneList}">
|
||||
<div class="page">
|
||||
<ul class="inline">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||
</ul>
|
||||
</div>
|
||||
</c:if>
|
||||
<!-- //페이지 네비게이션 끝 -->
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form name="modiForm" method="get" action="<c:url value='/uss/ion/bnr/sub/subMainzoneModify.do'/>" >
|
||||
<input name="selectedId" type="hidden" />
|
||||
<input name="pageType" type="hidden" />
|
||||
</form>
|
||||
<form name="searchForm" method="get" action="<c:url value='/uss/ion/bnr/sub/subMainZoneList.do'/>">
|
||||
<input name="pageIndex" type="hidden" value="1" />
|
||||
<input name="searchCondition" type="hidden" />
|
||||
<input name="searchKeyword" type="hidden" />
|
||||
<input name="searchConditionSite" type="hidden" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,583 @@
|
||||
<%--
|
||||
Class Name : EgovPopupList.jsp
|
||||
Description : 팝업창관리 목록 페이지
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2009.09.16 장동한 최초 생성
|
||||
|
||||
author : 공통서비스 개발팀 장동한
|
||||
since : 2009.09.16
|
||||
|
||||
Copyright (C) 2009 by MOPAS All right reserved.
|
||||
--%>
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%
|
||||
response.setHeader("Cache-Control","no-store");
|
||||
response.setHeader("Pragma","no-cache");
|
||||
response.setDateHeader("Expires",0);
|
||||
if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
|
||||
%>
|
||||
<c:set var="ImgUrl" value="${pageContext.request.contextPath}/images/egovframework/com/cmm/" />
|
||||
<c:set var="CssUrl" value="${pageContext.request.contextPath}/css/egovframework/com/" />
|
||||
<c:set var="JsUrl" value="${pageContext.request.contextPath}/js/egovframework/com/uss/ion/pwm/"/>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>팝업창관리 관리</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js' />"></script>
|
||||
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
|
||||
makeDate('ntceBgndeYYYMMDD');
|
||||
makeDate('ntceEnddeYYYMMDD');
|
||||
|
||||
|
||||
document.getElementById("mlink").addEventListener("paste", function(event) {
|
||||
// 클립보드 데이터를 가져옴
|
||||
let pastedText = event.clipboardData.getData("text");
|
||||
|
||||
// 콘솔 출력 (붙여넣은 URL 확인)
|
||||
|
||||
|
||||
console.log("붙여넣기 한 URL:", pastedText);
|
||||
|
||||
// 불필요한 파라미터 제거 후 새로운 URL 생성
|
||||
let cleanedUrl = cleanUrlParameters(pastedText);
|
||||
|
||||
// input 필드에 깨끗한 URL 입력
|
||||
setTimeout(() => {
|
||||
this.value = cleanedUrl;
|
||||
console.log("정리된 URL:", cleanedUrl);
|
||||
}, 0);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* URL에서 빈 값의 파라미터를 제거하는 함수
|
||||
* @param {string} url 원본 URL 문자열
|
||||
* @returns {string} 불필요한 파라미터가 제거된 URL
|
||||
*/
|
||||
function cleanUrlParameters(url) {
|
||||
try {
|
||||
// URL이 절대경로 (/web/... 형태)인지 확인
|
||||
let hasFullDomain = url.startsWith("http://") || url.startsWith("https://");
|
||||
let urlObj;
|
||||
|
||||
if (hasFullDomain) {
|
||||
// 도메인이 포함된 URL 처리
|
||||
urlObj = new URL(url);
|
||||
} else {
|
||||
// 절대경로 URL 처리 (가상의 도메인 추가 후 파싱)
|
||||
urlObj = new URL("https://www.munjaon.co.kr" + url);
|
||||
}
|
||||
|
||||
let params = new URLSearchParams(urlObj.search);
|
||||
|
||||
// ❗ 값이 비어있는 모든 파라미터 제거
|
||||
for (let [key, value] of [...params.entries()]) { // `params.entries()`를 배열로 변환하여 반복
|
||||
if (!value.trim()) { // 값이 비어있는 경우 제거
|
||||
params.delete(key);
|
||||
}
|
||||
}
|
||||
|
||||
// 정리된 URL 반환
|
||||
let cleanedPath = urlObj.pathname + (params.toString() ? "?" + params.toString() : "");
|
||||
// 정리된 URL 반환 (도메인을 제거하고 절대경로만 반환)
|
||||
return cleanedPath.replace(/^https:\/\/www\.munjaon\.co\.kr/, "");
|
||||
|
||||
} catch (e) {
|
||||
console.warn("잘못된 URL 형식:", url);
|
||||
return url; // URL 파싱 실패 시 원본 유지
|
||||
}
|
||||
}
|
||||
|
||||
//게시기간이 없으면 초기 값 입력
|
||||
function makeDate(id){
|
||||
if($("#"+id).val()== '--'){
|
||||
|
||||
let today = new Date();
|
||||
let formattedDate = today.toISOString().split('T')[0]; // YYYY-MM-DD 형식
|
||||
$("#"+id).val(formattedDate);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* pagination 페이지 링크 function */
|
||||
function goList(){
|
||||
document.searchForm.submit();
|
||||
}
|
||||
|
||||
/* 등록시 값 확인 */
|
||||
function fn_checkForm() {
|
||||
frm = document.writeForm;
|
||||
if(frm.mazNm.value=="") {
|
||||
alert("비주얼명을 입력해 주십시오");
|
||||
frm.mazNm.focus();
|
||||
return false;
|
||||
}
|
||||
if(frm.content.value=="") {
|
||||
alert("대체텍스트를 입력해 주십시오");
|
||||
frm.content.focus();
|
||||
return false;
|
||||
}
|
||||
if(frm.sort.value=="") {
|
||||
alert("노출순서를 입력해 주십시오");
|
||||
frm.sort.focus();
|
||||
return false;
|
||||
}else{
|
||||
var regexp = /^[0-9]*$/
|
||||
if( !regexp.test(frm.sort.value) ) {
|
||||
alert("노출순서에는 숫자만 입력하세요");
|
||||
frm.sort.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// /* 글 등록 function */
|
||||
// function fn_mainzone_insert() {
|
||||
// frm = document.writeForm;
|
||||
// frm.action = "<c:url value='/uss/ion/pwm/mainzoneInsert.do'/>";
|
||||
// if(fn_checkForm())
|
||||
// frm.submit();
|
||||
// }
|
||||
|
||||
/* 배너 삭제 function */
|
||||
function fn_mainzone_delete() {
|
||||
var msg;
|
||||
msg = "해당 메인이미지를 삭제하시겠습니까?";
|
||||
|
||||
if (confirm(msg)) {
|
||||
frm = document.writeForm;
|
||||
frm.del.value = frm.mazId.value ;
|
||||
frm.action = "<c:url value='/uss/ion/bnr/sub/subMainzoneListDelete.do'/>";
|
||||
frm.submit();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function validate(method_parm) {
|
||||
frm = document.writeForm;
|
||||
if(frm.mazNm.value=="") {
|
||||
alert("비주얼명을 입력해 주십시오");
|
||||
frm.mazNm.focus();
|
||||
return false;
|
||||
}
|
||||
if(frm.content.value=="") {
|
||||
alert("대체텍스트를 입력해 주십시오");
|
||||
frm.content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
console.log('isTbodyEmpty("tbody_fiielist") : ', isTbodyEmpty("tbody_fiielist"));
|
||||
if(isTbodyEmpty("tbody_fiielist")){
|
||||
alert("이미지를 첨부해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(frm.sort.value=="") {
|
||||
alert("노출순서를 입력해 주십시오");
|
||||
frm.sort.focus();
|
||||
return false;
|
||||
}else{
|
||||
var regexp = /^[0-9]*$/
|
||||
if( !regexp.test(frm.sort.value) ) {
|
||||
alert("노출순서에는 숫자만 입력하세요");
|
||||
frm.sort.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(frm.topTxt.value=="") {
|
||||
alert("상단텍스트를 입력해 주십시오");
|
||||
frm.content.focus();
|
||||
return false;
|
||||
}
|
||||
if(frm.lowTxt.value=="") {
|
||||
alert("하단텍스트를 입력해 주십시오");
|
||||
frm.content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
var ntceBgndeYYYMMDD = document.getElementById('ntceBgndeYYYMMDD').value;
|
||||
var ntceEnddeYYYMMDD = document.getElementById('ntceEnddeYYYMMDD').value;
|
||||
|
||||
console.log("ntceBgndeYYYMMDD ::: "+ntceBgndeYYYMMDD);
|
||||
console.log("ntceEnddeYYYMMDD ::: "+ntceEnddeYYYMMDD);
|
||||
|
||||
if(ntceBgndeYYYMMDD ==""){
|
||||
|
||||
alert("게시기간 시작일을 입력해 주세요.");
|
||||
return false;
|
||||
|
||||
}else if(ntceEnddeYYYMMDD == ""){
|
||||
|
||||
alert("게시기간 종료일을 입력해 주세요.");
|
||||
return false;
|
||||
|
||||
}else{
|
||||
|
||||
var iChkBeginDe = Number( ntceBgndeYYYMMDD.replaceAll("-","") );
|
||||
var iChkEndDe = Number( ntceEnddeYYYMMDD.replaceAll("-","") );
|
||||
|
||||
if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){
|
||||
alert("게시시작일자는 게시종료일자 보다 클수 없고,\n게시종료일자는 게시시작일자 보다 작을수 없습니다. ");
|
||||
return;
|
||||
}
|
||||
|
||||
frm.ntceBgnde.value = ntceBgndeYYYMMDD.replaceAll('-','') + fn_egov_SelectBoxValue('ntceBgndeHH') + fn_egov_SelectBoxValue('ntceBgndeMM');
|
||||
frm.ntceEndde.value = ntceEnddeYYYMMDD.replaceAll('-','') + fn_egov_SelectBoxValue('ntceEnddeHH') + fn_egov_SelectBoxValue('ntceEnddeMM');
|
||||
|
||||
}
|
||||
|
||||
var msg = "서브 메인 배너를 등록하시겠습니까?";
|
||||
|
||||
if(method_parm == "mainzone_U"){
|
||||
|
||||
msg ="서브 메인 배너를 수정하시겠습니까?";
|
||||
|
||||
}
|
||||
|
||||
if(!confirm(msg)){
|
||||
return false;
|
||||
}
|
||||
|
||||
// 공통 수정/삭제 :: /uss/ion/fms/FmsFileInsertAjax.do
|
||||
goSave(method_parm);
|
||||
}
|
||||
function fn_egov_downFile(atchFileId, fileSn){
|
||||
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
|
||||
}
|
||||
|
||||
function isTbodyEmpty(tbodyId) {
|
||||
const tbody = document.getElementById(tbodyId);
|
||||
if (!tbody) {
|
||||
console.error("해당 ID를 가진 tbody가 없습니다.");
|
||||
return false;
|
||||
}
|
||||
// tbody 내부에 <tr> 태그가 있는지 확인
|
||||
return tbody.querySelector("tr") === null;
|
||||
}
|
||||
|
||||
|
||||
/* ********************************************************
|
||||
* SELECT BOX VALUE FUNCTION
|
||||
******************************************************** */
|
||||
function fn_egov_SelectBoxValue(sbName)
|
||||
{
|
||||
var FValue = "";
|
||||
for(var i=0; i < document.getElementById(sbName).length; i++)
|
||||
{
|
||||
if(document.getElementById(sbName).options[i].selected == true){
|
||||
|
||||
FValue=document.getElementById(sbName).options[i].value;
|
||||
}
|
||||
}
|
||||
|
||||
return FValue;
|
||||
}
|
||||
|
||||
</script>
|
||||
<style>
|
||||
.date_format{width:91px !important;}
|
||||
.del_file_btn{border: none;background-color: transparent;background-image: url(/direct/img/upload_delect_img.png);background-repeat: no-repeat;background-position: center center;vertical-align: middle;margin-top: -4px;margin-right: 15px;}
|
||||
.file_size{color: #0388d2;font-weight: bold;}
|
||||
.uploaded_obj{width: 100%;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form:form commandName="mainzoneVO" name="writeForm" enctype="multipart/form-data" method="post">
|
||||
<input type="hidden" name="deviceType" id="deviceType" value="P"/>
|
||||
<input type="hidden" name="selectedId" />
|
||||
<form:input path="mazId" type="hidden" />
|
||||
<form:input path="del" type="hidden" />
|
||||
<form:input path="upfile" type="hidden" />
|
||||
<form:input path="mainzoneImageFile" type="hidden" />
|
||||
<form:hidden path="ntceBgnde" />
|
||||
<form:hidden path="ntceEndde" />
|
||||
|
||||
<input type="hidden" name="beSort" value="${mainzoneVO.beSort}" />
|
||||
<!-- 드래그앤 드롭 파라미터 -->
|
||||
<input type="hidden" name="menuName" value="subMainzone" />
|
||||
<input type="hidden" name="fmsId" value="${mainzoneVO.mazId}" />
|
||||
<input type="hidden" name="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
|
||||
|
||||
<div class="contWrap">
|
||||
<div class="pageTitle">
|
||||
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
|
||||
<h2 class="titType1 c_222222 fwBold">서비스안내 배너관리 등록/수정</h2>
|
||||
<p class="tType6 c_999999">사이트별로 사용자 메인 상단에 적용되는 비주얼 이미지를 등록, 수정, 삭제할 수 있습니다.</p>
|
||||
</div>
|
||||
<div class="pageNav">
|
||||
<img src="/pb/img/common/homeIcon.png" alt="홈이미지"> > <p class="topDepth">비주얼관리</p> > <p class="subDepth">메인비주얼관리</p>
|
||||
</div>
|
||||
<div class="pageCont">
|
||||
<div class="tableWrap">
|
||||
<p class="right fwMd"><span class="tType4 c_e40000 fwBold">*</span>는 필수입력 항목입니다.</p>
|
||||
<table class="tbType2">
|
||||
<colgroup>
|
||||
<col style="width: 15%">
|
||||
<col style="width: 85%">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<%-- <tr>
|
||||
<th class="td_title1"><span class="star_t"></span>메인화면에 보이는 메인 이미지</th>
|
||||
<td colspan="3" class="td_txt_exist">
|
||||
<c:if test="${mainzoneVO.mazId == null}">
|
||||
등록된 메인 이미지가 없습니다.
|
||||
</c:if>
|
||||
<c:if test="${mainzoneVO.mazId != null}">
|
||||
<img alt="${mainzoneVO.content}" onerror="this.src='/images/no_img.jpg'" src='<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${mainzoneVO.mainzoneImageFile}"/>' width="196" height="237" />
|
||||
</c:if>
|
||||
</td>
|
||||
</tr> --%>
|
||||
<c:if test="${siteId eq 'super'}">
|
||||
<tr>
|
||||
<th><span class="reqArea">사이트</span></th>
|
||||
<td>
|
||||
<select name="siteId" id="siteId" title="권한">
|
||||
<c:forEach var="resultList" items="${siteManageList}" varStatus="status">
|
||||
<option value="<c:out value="${resultList.siteId}"/>"
|
||||
<c:if test="${mainzoneVO.siteId eq resultList.siteId}"> selected='selected' </c:if>>
|
||||
<c:out value="${resultList.siteNm}"/>
|
||||
</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<c:if test="${not empty mainzoneVO.mazId }">
|
||||
<tr>
|
||||
<th><span>원본이미지</span></th>
|
||||
<td>
|
||||
<c:if test="${mainzoneVO.mazId == ''}">
|
||||
<div class="imgBox"></div>
|
||||
</c:if>
|
||||
<c:if test="${mainzoneVO.mazId != ''}">
|
||||
<img alt="${mainzoneVO.content}" onerror="this.src='/pb/img/noImg.png'" src='<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${mainzoneVO.mainzoneImageFile}"/>' style="max-width:300px;padding: 10px;" />
|
||||
<%-- <img alt="${mainzoneVO.content}" onerror="this.src='/images/no_img.jpg'" src='<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${mainzoneVO.mainzoneImageFile}"/>' style="max-width:600px;" /> --%>
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
<!-- <tr> -->
|
||||
<!-- <th class="td_title1"><span class="star_t">*</span>기기종류</th> -->
|
||||
<!-- <td colspan="3"> -->
|
||||
<!-- <input type="radio" name="deviceType" id="deviceType" value="P" style="margin-left: 13px; margin-right: 5px;" -->
|
||||
<!-- checked="checked" -->
|
||||
<%-- ${mainzoneVO.deviceType eq 'P' or mainzoneVO.deviceType eq '' ? 'checked="checked"' : ''} --%>
|
||||
<!-- >PC -->
|
||||
<!-- <input type="radio" name="deviceType" id="deviceType" value="M" style="margin-left: 13px; margin-right: 5px;" -->
|
||||
<%-- ${mainzoneVO.deviceType eq 'M' ? 'checked="checked"' : ''} --%>
|
||||
<!-- >모바일 -->
|
||||
<!-- </td> -->
|
||||
<!-- </tr> -->
|
||||
<tr>
|
||||
<th><span class="reqArea">비주얼명</span></th>
|
||||
<td>
|
||||
<form:input path="mazNm" maxlength="30" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span class="reqArea">사용여부</span></th>
|
||||
<td>
|
||||
<input type="radio" name="useYn" id="useY" value="Y" style="margin-left: 13px; margin-right: 5px;" ${mainzoneVO.useYn eq 'Y' or mainzoneVO.useYn eq '' ? 'checked="checked"' : ''} /><label for="">사용</label>
|
||||
<input type="radio" name="useYn" id="useN" value="N" style="margin-left: 13px; margin-right: 5px;" ${mainzoneVO.useYn eq 'N' ? 'checked="checked"' : ''} /><label for="">미사용</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><span class="reqArea">노출순서</span></th>
|
||||
<td colspan="3">
|
||||
<form:input path="sort" maxlength="10" onkeyup="this.value=this.value.replace(/[^-\.0-9]/g,'')"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span class="reqArea">게시기간</span></th>
|
||||
<td>
|
||||
<input type="hidden" name="cal_url" id="cal_url" value="<c:url value='/sym/cmm/EgovNormalCalPopup.do'/>" >
|
||||
<input type="text" class="date_format" name="ntceBgndeYYYMMDD" id="ntceBgndeYYYMMDD" size="10" maxlength="10" class="readOnlyClass" value="<c:out value="${fn:substring(mainzoneVO.ntceBgnde, 0, 4)}"/>-<c:out value="${fn:substring(mainzoneVO.ntceBgnde, 4, 6)}"/>-<c:out value="${fn:substring(mainzoneVO.ntceBgnde, 6, 8)}"/>" readonly>
|
||||
|
||||
<a href="#" onClick="javascript:fn_egov_NormalCalendar(document.forms.mainzoneVO, document.forms.mainzoneVO.ntceBgndeYYYMMDD);">
|
||||
<input type="button" class="calBtn">
|
||||
<%-- <img src="<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif' />" align="middle" style="border:0px" alt="달력창팝업버튼이미지"> --%>
|
||||
</a>
|
||||
<form:select path="ntceBgndeHH" class="date_format">
|
||||
<form:options items="${ntceBgndeHH}" itemValue="code" itemLabel="codeNm"/>
|
||||
</form:select>시
|
||||
<form:select path="ntceBgndeMM" class="date_format">
|
||||
<form:options items="${ntceBgndeMM}" itemValue="code" itemLabel="codeNm"/>
|
||||
</form:select>분
|
||||
  ~  
|
||||
<input type="text" class="date_format" name="ntceEnddeYYYMMDD" id="ntceEnddeYYYMMDD" size="10" maxlength="10" class="readOnlyClass" value="<c:out value="${fn:substring(mainzoneVO.ntceEndde, 0, 4)}"/>-<c:out value="${fn:substring(mainzoneVO.ntceEndde, 4, 6)}"/>-<c:out value="${fn:substring(mainzoneVO.ntceEndde, 6, 8)}"/>" readonly>
|
||||
<a href="#" onClick="javascript:fn_egov_NormalCalendar(document.forms.mainzoneVO, document.forms.mainzoneVO.ntceEnddeYYYMMDD);">
|
||||
<input type="button" class="calBtn">
|
||||
<%-- <img src="<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif' />" align="middle" style="border:0px" alt="달력창팝업버튼이미지"> --%>
|
||||
</a>
|
||||
<form:select path="ntceEnddeHH" class="date_format">
|
||||
<form:options items="${ntceEnddeHH}" itemValue="code" itemLabel="codeNm"/>
|
||||
</form:select>시
|
||||
<form:select path="ntceEnddeMM" class="date_format">
|
||||
<form:options items="${ntceEnddeMM}" itemValue="code" itemLabel="codeNm"/>
|
||||
</form:select>분
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span class="reqArea">상단텍스트</span></th>
|
||||
<td colspan="3">
|
||||
<form:input path="topTxt" maxlength="200" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span class="reqArea">하단텍스트</span></th>
|
||||
<td colspan="3">
|
||||
<form:input path="lowTxt" maxlength="200" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span>링크주소</span></th>
|
||||
<td colspan="3">
|
||||
<form:input path="mlink" maxlength="200" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span class="reqArea">파일 첨부</span></th>
|
||||
<td class="upload_area">
|
||||
<div class="file_upload_box no_img_box fileWrap">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 60%">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 10%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>파일명</th>
|
||||
<th>크기</th>
|
||||
<th>등록일시</th>
|
||||
<th>삭제</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
<div class="fileWrap fileAfter file_list_div asset_no_use_pro_table" style="display:none">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 60%">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 20%">
|
||||
<col style="width: 10%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>파일명</th>
|
||||
<th>크기</th>
|
||||
<th>등록일시</th>
|
||||
<th>삭제</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbody_fiielist">
|
||||
<c:forEach var="fileList" items="${fileList}" varStatus="status">
|
||||
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
|
||||
<td class="file_name">
|
||||
<a href="javascript:fn_egov_downFile('${fileList.atchFileId}','${fileList.fileSn}')">
|
||||
<img src="/direct/img/upload_hwp_img.png" alt="" />
|
||||
<span class="file_name_text">${fileList.orignlFileNm}</span>
|
||||
</a>
|
||||
</td>
|
||||
<td><span class="file_size_text" value="${fileList.fileMg}"></span></td>
|
||||
<td>${fileList.creatDt}</td>
|
||||
<td>
|
||||
<input type="button" class="delBtn" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;">
|
||||
</td>
|
||||
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileMg}" >
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="fileInfo file_list_div">
|
||||
<ul class="inline">
|
||||
<li>
|
||||
<p><span class="c_456ded fwBold totalfileCount">0</span>개 | <span class="c_456ded fwBold totalfileSize">0MB</span></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>최대 <span class="c_e40000 fwBold limitcount_li"></span>개 | <span class="c_e40000 fwBold upload_number">50MB</span>제한</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="uploadBtm">
|
||||
<input type="file" id="file_temp" name="file_temp" class="uploadFile">
|
||||
<!-- <span class="uploadTtype4">메인비주얼 이미지 크기는 </span><span class="uploadTtype4" style="color: red;">1920 X 843 </span>입니다.</p> -->
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span class="reqArea">대체텍스트</span></th>
|
||||
<td>
|
||||
<form:input path="content" maxlength="500" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<%-- <tr>
|
||||
<th class="td_title1"><span class="star_t">*</span>첨부 파일</th>
|
||||
<td colspan="3" class="td_txt_exist">
|
||||
<c:import url="/cmm/fms/selectFileInfsForUpdate.do" charEncoding="utf-8">
|
||||
<c:param name="param_atchFileId" value="${mainzoneVO.mainzoneImageFile }" />
|
||||
<c:param name="img_view" value="N" />
|
||||
<c:param name="img_view_w" value="200" />
|
||||
<c:param name="img_view_h" value="200" />
|
||||
<c:param name="updateFlag" value="N" />
|
||||
<c:param name="img_change_view" value="Y" />
|
||||
</c:import>
|
||||
</td>
|
||||
</tr> --%>
|
||||
<c:if test="${!empty mainzoneVO.mazId}">
|
||||
<tr>
|
||||
<th><span class="reqArea">최종수정일</span></th>
|
||||
<td>
|
||||
${mainzoneVO.moddt}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th><span class="reqArea">작성자</span></th>
|
||||
<td>
|
||||
${mainzoneVO.registerId}
|
||||
</td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="btnWrap right">
|
||||
<input type="button" class="btnType1 bg_888888" value="목 록" onclick="goList(); return false;" >
|
||||
<c:if test="${!empty mainzoneVO.mazId }">
|
||||
<input type="button" class="btnType1 bg_ed4545" value="삭 제" onclick="fn_mainzone_delete(); return false;" >
|
||||
<input type="button" class="btnType1" value="수 정" onclick="validate('mainzone_U'); return false;">
|
||||
</c:if>
|
||||
<c:if test="${empty mainzoneVO.mazId }">
|
||||
<input type="button" class="btnType1" value="저 장" onclick="validate('mainzone_I'); return false;">
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form:form>
|
||||
<form name="searchForm" id="searchForm" method="get" action="<c:url value='/uss/ion/bnr/sub/subMainZoneList.do'/>" ></form>
|
||||
</body>
|
||||
</html>
|
||||
@ -38,9 +38,81 @@
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
|
||||
makeDate('ntceBgndeYYYMMDD');
|
||||
makeDate('ntceEnddeYYYMMDD');
|
||||
|
||||
|
||||
document.getElementById("mlink").addEventListener("paste", function(event) {
|
||||
// 클립보드 데이터를 가져옴
|
||||
let pastedText = event.clipboardData.getData("text");
|
||||
|
||||
// 콘솔 출력 (붙여넣은 URL 확인)
|
||||
|
||||
|
||||
console.log("붙여넣기 한 URL:", pastedText);
|
||||
|
||||
// 불필요한 파라미터 제거 후 새로운 URL 생성
|
||||
let cleanedUrl = cleanUrlParameters(pastedText);
|
||||
|
||||
// input 필드에 깨끗한 URL 입력
|
||||
setTimeout(() => {
|
||||
this.value = cleanedUrl;
|
||||
console.log("정리된 URL:", cleanedUrl);
|
||||
}, 0);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* URL에서 빈 값의 파라미터를 제거하는 함수
|
||||
* @param {string} url 원본 URL 문자열
|
||||
* @returns {string} 불필요한 파라미터가 제거된 URL
|
||||
*/
|
||||
function cleanUrlParameters(url) {
|
||||
try {
|
||||
// URL이 절대경로 (/web/... 형태)인지 확인
|
||||
let hasFullDomain = url.startsWith("http://") || url.startsWith("https://");
|
||||
let urlObj;
|
||||
|
||||
if (hasFullDomain) {
|
||||
// 도메인이 포함된 URL 처리
|
||||
urlObj = new URL(url);
|
||||
} else {
|
||||
// 절대경로 URL 처리 (가상의 도메인 추가 후 파싱)
|
||||
urlObj = new URL("https://www.munjaon.co.kr" + url);
|
||||
}
|
||||
|
||||
let params = new URLSearchParams(urlObj.search);
|
||||
|
||||
// ❗ 값이 비어있는 모든 파라미터 제거
|
||||
for (let [key, value] of [...params.entries()]) { // `params.entries()`를 배열로 변환하여 반복
|
||||
if (!value.trim()) { // 값이 비어있는 경우 제거
|
||||
params.delete(key);
|
||||
}
|
||||
}
|
||||
|
||||
// 정리된 URL 반환
|
||||
let cleanedPath = urlObj.pathname + (params.toString() ? "?" + params.toString() : "");
|
||||
// 정리된 URL 반환 (도메인을 제거하고 절대경로만 반환)
|
||||
return cleanedPath.replace(/^https:\/\/www\.munjaon\.co\.kr/, "");
|
||||
|
||||
} catch (e) {
|
||||
console.warn("잘못된 URL 형식:", url);
|
||||
return url; // URL 파싱 실패 시 원본 유지
|
||||
}
|
||||
}
|
||||
|
||||
//게시기간이 없으면 초기 값 입력
|
||||
function makeDate(id){
|
||||
if($("#"+id).val()== '--'){
|
||||
|
||||
let today = new Date();
|
||||
let formattedDate = today.toISOString().split('T')[0]; // YYYY-MM-DD 형식
|
||||
$("#"+id).val(formattedDate);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* pagination 페이지 링크 function */
|
||||
function goList(){
|
||||
document.searchForm.submit();
|
||||
@ -109,6 +181,14 @@ function validate(method_parm) {
|
||||
frm.content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
console.log('isTbodyEmpty("tbody_fiielist") : ', isTbodyEmpty("tbody_fiielist"));
|
||||
if(isTbodyEmpty("tbody_fiielist")){
|
||||
alert("이미지를 첨부해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(frm.sort.value=="") {
|
||||
alert("노출순서를 입력해 주십시오");
|
||||
frm.sort.focus();
|
||||
@ -122,6 +202,9 @@ function validate(method_parm) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
var ntceBgndeYYYMMDD = document.getElementById('ntceBgndeYYYMMDD').value;
|
||||
var ntceEnddeYYYMMDD = document.getElementById('ntceEnddeYYYMMDD').value;
|
||||
|
||||
@ -170,6 +253,17 @@ function fn_egov_downFile(atchFileId, fileSn){
|
||||
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
|
||||
}
|
||||
|
||||
function isTbodyEmpty(tbodyId) {
|
||||
const tbody = document.getElementById(tbodyId);
|
||||
if (!tbody) {
|
||||
console.error("해당 ID를 가진 tbody가 없습니다.");
|
||||
return false;
|
||||
}
|
||||
// tbody 내부에 <tr> 태그가 있는지 확인
|
||||
return tbody.querySelector("tr") === null;
|
||||
}
|
||||
|
||||
|
||||
/* ********************************************************
|
||||
* SELECT BOX VALUE FUNCTION
|
||||
******************************************************** */
|
||||
@ -336,12 +430,12 @@ function fn_egov_SelectBoxValue(sbName)
|
||||
</form:select>분
|
||||
</td>
|
||||
</tr>
|
||||
<%-- <tr>
|
||||
<th class="td_title1"><span class="star_t">*</span>링크주소</th>
|
||||
<tr>
|
||||
<th><span>링크주소</span></th>
|
||||
<td colspan="3">
|
||||
<form:input path="mlink" maxlength="200" />
|
||||
</td>
|
||||
</tr> --%>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span class="reqArea">파일 첨부</span></th>
|
||||
<td class="upload_area">
|
||||
|
||||
@ -90,6 +90,7 @@ function fnCheckAll() {
|
||||
|
||||
/* 메인창 수정 화면*/
|
||||
function fn_mainzone_view(id, pageType){
|
||||
console.log(id, pageType);
|
||||
document.modiForm.selectedId.value = id;
|
||||
document.modiForm.pageType.value = "Modify";
|
||||
document.modiForm.action = "<c:url value='/uss/ion/pwm/mainzoneModify.do'/>";
|
||||
|
||||
@ -628,7 +628,7 @@
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup-com adr_layer popup02" tabindex="0" data-tooltip-con="popup02" data-focus="popup02" data-focus-prev="popup02-close" style="width: 1000px;">
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup-com adr_layer adr_popup14 adr_detail_result" tabindex="0" data-tooltip-con="adr_popup14" data-focus="adr_popup14" data-focus-prev="adr_popu14-close" style="width: 525px;">
|
||||
<div class="popup-com adr_layer adr_popup14 adr_detail_result" tabindex="0" data-tooltip-con="adr_popup14" data-focus="adr_popup14" data-focus-prev="adr_popu14-close" style="width: 525px; z-index:125;">
|
||||
<div class="popup_heading">
|
||||
<p>주소록 상세 결과</p>
|
||||
<button type="button" class="tooltip-close" data-focus="adr_popup14-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
|
||||
|
||||
@ -1425,29 +1425,30 @@ function fn_click_banner_add_stat(bannerMenuCode){
|
||||
<!-- visual 영역 -->
|
||||
<div class="visual">
|
||||
<div class="swiper-container visual_swiper">
|
||||
<div class="swiper-wrapper" id="mainSwiperWrapperArea">
|
||||
<div class="swiper-wrapper" id=" ">
|
||||
<c:choose>
|
||||
<c:when test="${not empty mainzoneList}">
|
||||
<c:forEach var="mainzone" items="${mainzoneList}" varStatus="status">
|
||||
<div class="swiper-slide">
|
||||
<div class="slideImg">
|
||||
<c:choose>
|
||||
<c:when test="${fn:contains(mainzone.content,'알림톡')}">
|
||||
<img src="/cmm/fms/getImage.do?atchFileId=<c:out value='${mainzone.mainzoneImageFile}'/>" alt="<c:out value='${mainzone.content}'/>" usemap="#allimtalk-map">
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<img src="/cmm/fms/getImage.do?atchFileId=<c:out value='${mainzone.mainzoneImageFile}'/>" alt="<c:out value='${mainzone.content}'/>">
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:if test="${not empty mainzone.mlink }">
|
||||
<a href="<c:out value='${mainzone.mlink }'/>">
|
||||
</c:if>
|
||||
<img src="/cmm/fms/getImage.do?atchFileId=<c:out value='${mainzone.mainzoneImageFile}'/>" alt="<c:out value='${mainzone.content}'/>">
|
||||
<c:if test="${not empty mainzone.mlink }">
|
||||
</a>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<%-- 메인 배너 이미지 등록된 건이 없는 경우 기본적으로 나오는 이미지 3개 --%>
|
||||
<div class="swiper-slide">
|
||||
<div class="slideImg"><img src="/publish/images/main/f_visual_06_20230802.jpg" alt="문자온, 카카오 '알림톡' 서비스 오픈! 문자온 알림톡, 대한민국 최저가 선언! 조건없이 무조건 6.9원! 카카오톡 채널아이디 추가를 하지 않은 이용자에게도 카카오톡 메시지 발송이 가능한 서비스! 알림톡 바로가기 알림톡 도착 kakao 문자온에서 알림톡이 도착하였습니다! 기업전용/1,000자 이하 텍스트 & 이미지/문자 대비 65% 저렴" usemap="#allimtalk-map"></div>
|
||||
</div>
|
||||
<a href='/web/mjon/alimtalk/kakaoAlimtalkMsgDataView.do'>
|
||||
<div class="swiper-slide">
|
||||
<div class="slideImg"><img src="/publish/images/main/f_visual_06_20230802.jpg" alt="문자온, 카카오 '알림톡' 서비스 오픈! 문자온 알림톡, 대한민국 최저가 선언! 조건없이 무조건 6.9원! 카카오톡 채널아이디 추가를 하지 않은 이용자에게도 카카오톡 메시지 발송이 가능한 서비스! 알림톡 바로가기 알림톡 도착 kakao 문자온에서 알림톡이 도착하였습니다! 기업전용/1,000자 이하 텍스트 & 이미지/문자 대비 65% 저렴"></div>
|
||||
</div>
|
||||
</a>
|
||||
<div class="swiper-slide">
|
||||
<div class="slideImg"><img src="/publish/images/main/f_visual_02_20221116.jpg" alt="문자도 보내고! 현금도 챙기는! 문자온만의 특별한 혜택! 결제금액의 2% 포인트 추가 적립! 포인트 1만점 이상 적립 시 현금페이백" /></div>
|
||||
</div>
|
||||
@ -1474,9 +1475,9 @@ function fn_click_banner_add_stat(bannerMenuCode){
|
||||
</div>
|
||||
--%>
|
||||
|
||||
<map name="allimtalk-map">
|
||||
<area href="/web/mjon/alimtalk/kakaoAlimtalkMsgDataView.do" coords="299,286,514,338" shape="rect">
|
||||
</map>
|
||||
<!-- <map name="allimtalk-map"> -->
|
||||
<!-- <area href="/web/mjon/alimtalk/kakaoAlimtalkMsgDataView.do" coords="299,286,514,338" shape="rect"> -->
|
||||
<!-- </map> -->
|
||||
|
||||
|
||||
<!-- <div class="swiper-slide">
|
||||
@ -1506,117 +1507,97 @@ function fn_click_banner_add_stat(bannerMenuCode){
|
||||
<div class="sw_wrap">
|
||||
<div class="swiper-container swiper2">
|
||||
<div class="swiper-wrapper">
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap ct1">
|
||||
<a href="/web/mjon/msgdata/excel/selectMsgExcelDataView.do" title="페이지 이동">
|
||||
<ul class="slide_cont table_cell">
|
||||
<li class="cont1_title">대량문자·단체문자 전송</li>
|
||||
<li class="cont1_ex">별도의 프로그램 설치 없이<br>컴퓨터로 단체·대량문자 <br>발송 가능</li>
|
||||
<li class="more">자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
|
||||
<!-- 배너수정 250224 -->
|
||||
<c:choose>
|
||||
<c:when test="${not empty subMainzoneList}">
|
||||
<c:forEach var="sub" items="${subMainzoneList}" varStatus="status">
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap">
|
||||
<c:if test="${not empty sub.mlink }">
|
||||
<a href="<c:out value='${sub.mlink}'/>" title="페이지 이동">
|
||||
</c:if>
|
||||
<ul class="slide_cont1 table_cell1">
|
||||
<li class="cont1_title"><c:out value="${sub.topTxt }" /></li>
|
||||
<li class="cont_ex">
|
||||
<p class="txt"><c:out value="${sub.lowTxt }" /></p>
|
||||
<p class="bg_icon">
|
||||
<img src="/cmm/fms/getImage.do?atchFileId=<c:out value='${sub.mainzoneImageFile}'/>" alt="<c:out value='${mainzone.content}'/>">
|
||||
</p>
|
||||
</li>
|
||||
<c:if test="${not empty sub.mlink }">
|
||||
<li class="more">자세히보기</li>
|
||||
</c:if>
|
||||
</ul>
|
||||
<c:if test="${not empty sub.mlink }">
|
||||
</a>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap">
|
||||
<a href="/web/mjon/msgdata/excel/selectMsgExcelDataView.do" title="페이지 이동">
|
||||
<ul class="slide_cont1 table_cell1">
|
||||
<li class="cont1_title">대량문자·단체문자 전송</li>
|
||||
<li class="cont_ex">
|
||||
<p class="txt">별도의 프로그램 설치 없이 컴퓨터로 단체·대량문자 발송 가능</p>
|
||||
<p class="bg_icon"><img src="/publish/images/main/cont1_1.png" alt="대량문자·단체문자 전송 아이콘"></p>
|
||||
</li>
|
||||
<li class="more">자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap ct9">
|
||||
<a href="/web/api/intrdView.do" title="페이지 이동" rel="nosublink">
|
||||
<ul class="slide_cont table_cell">
|
||||
<li class="cont1_title">문자연동(API) 서비스 제공</li>
|
||||
<li class="cont1_ex">맞춤형 웹 API 연동 서비스 제공<br>별도 모듈 설치 없이 소스를<br>추가하여 간단하게 문자 발송</li>
|
||||
<li class="more" >자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap">
|
||||
<a href="/web/mjon/msgdata/excel/selectMsgExcelDataView.do" title="페이지 이동" rel="nosublink">
|
||||
<ul class="slide_cont1 table_cell1">
|
||||
<li class="cont1_title">문자연동(API) 서비스 제공</li>
|
||||
<li class="cont_ex">
|
||||
<p class="txt">별도의 프로그램 설치 없이 컴퓨터로 단체·대량문자 발송 가능</p>
|
||||
<p class="bg_icon"><img src="/publish/images/main/cont1_9.png" alt="문자연동(API) 서비스 제공 아이콘"></p>
|
||||
</li>
|
||||
<li class="more">자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap ct2">
|
||||
<a href="/web/mjon/custom/selectMsgCustomView.do" title="페이지 이동" rel="nosublink">
|
||||
<ul class="slide_cont table_cell">
|
||||
<li class="cont1_title">그림문자 맞춤제작</li>
|
||||
<li class="cont1_ex">나만의 그림문자 이미지<br>맞춤제작으로 홍보효과 극대화</li>
|
||||
<li class="more" >자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap">
|
||||
<a href="/web/mjon/custom/selectMsgCustomView.do" title="페이지 이동" rel="nosublink">
|
||||
<ul class="slide_cont1 table_cell1">
|
||||
<li class="cont1_title">그림문자 맞춤제작</li>
|
||||
<li class="cont_ex">
|
||||
<p class="txt">나만의 그림문자 이미지 맞춤제작으로 홍보효과 극대화</p>
|
||||
<p class="bg_icon"><img src="/publish/images/main/cont1_2.png" alt="그림문자 맞춤제작 아이콘"></p>
|
||||
</li>
|
||||
<li class="more">자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap ct3">
|
||||
<a href="/web/mjon/addragency/selectAddrAgencyList.do" title="페이지 이동" rel="nosublink">
|
||||
<ul class="slide_cont table_cell">
|
||||
<li class="cont1_title">주소록 등록 무료대행</li>
|
||||
<li class="cont1_ex">주소록 직접 등록이 어려운<br>고객을 위해 엑셀, TXT 파일 등<br>주소록 등록 무료대행</li>
|
||||
<li class="more">자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap">
|
||||
<a href="/web/mjon/custom/selectMsgCustomView.do" title="페이지 이동" rel="nosublink">
|
||||
<ul class="slide_cont1 table_cell1">
|
||||
<li class="cont1_title">주소록 등록 무료대행</li>
|
||||
<li class="cont_ex">
|
||||
<p class="txt">주소록 직접 등록이 어려운 고객을 위해 엑셀, TXT 파일 등 주소록 등록 무료대행</p>
|
||||
<p class="bg_icon"><img src="/publish/images/main/cont1_3.png" alt="주소록 등록 무료대행 아이콘"></p>
|
||||
</li>
|
||||
<li class="more">자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap ct4">
|
||||
<ul class="slide_cont table_cell">
|
||||
<li class="cont1_title">080수신거부 무료 제공</li>
|
||||
<li class="cont1_ex">광고, 선거 등 문자 전송 시<br>반드시 표기되어야 하는<br>080 수신거부 서비스 무료 제공</li>
|
||||
<%-- <li class="more">자세히보기</li> --%>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap ct5">
|
||||
<a href="/web/mjon/msgdata/selectMsgDataView.do" title="페이지 이동">
|
||||
<ul class="slide_cont table_cell">
|
||||
<li class="cont1_title">특정문구 일괄변환 기능</li>
|
||||
<li class="cont1_ex">문자내용의 특정문구<br>(성명, 단어, 문구 등)<br>수신자마다 다르게 일괄 변환</li>
|
||||
<li class="more">자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap ct6">
|
||||
<a href="/web/mjon/msgdata/selectMsgDataView.do" title="페이지 이동">
|
||||
<ul class="slide_cont table_cell">
|
||||
<li class="cont1_title">문자 포토에디터 무료 제공</li>
|
||||
<li class="cont1_ex">국내 최초 자사 기술로 개발한<br>문자 포토에디터 무료 제공</li>
|
||||
<li class="more">자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap ct7">
|
||||
<a href="/web/mjon/msgdata/selectMsgDataView.do" title="페이지 이동">
|
||||
<ul class="slide_cont table_cell">
|
||||
<li class="cont1_title">문자 제목 및 약도 추가</li>
|
||||
<li class="cont1_ex">문자메시지 내 제목 및 약도<br>추가 기능</li>
|
||||
<li class="more">자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap ct8">
|
||||
<a href="/web/member/pay/BillPub.do" title="페이지 이동" rel="nosublink">
|
||||
<ul class="slide_cont table_cell">
|
||||
<li class="cont1_title">자동화 기반 비용처리</li>
|
||||
<li class="cont1_ex">세금계산서, 현금영수증 등<br>(충전금 전액 계산서 발행 가능)</li>
|
||||
<li class="more">자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<div class="swiper-slide">
|
||||
<div class="contWrap ct1">
|
||||
<a href="#" title="페이지 이동">
|
||||
<ul class="slide_cont table_cell">
|
||||
<li class="cont1_title">문자 대량전송</li>
|
||||
<li class="cont1_ex">별다른 프로그램 설치없이<br>pc에서 바로 전송이 가능
|
||||
</li>
|
||||
<li class="more">자세히보기</li>
|
||||
</ul>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<!--// 배너수정 250224 -->
|
||||
</div>
|
||||
<!-- 버튼 -->
|
||||
<div class="swiper-button-next">
|
||||
|
||||
@ -1120,19 +1120,7 @@ $(document).ready(function (){
|
||||
.filter(num => num !== "")
|
||||
.filter(num => isValidPhoneNumber(num)); // 유효한 번호만 필터링;
|
||||
|
||||
console.log('numbers : ', numbers);
|
||||
const addrData = processPhoneNumbers(numbers);
|
||||
|
||||
|
||||
// 기존 tableL의 데이터를 가져옵니다.
|
||||
var existingData = tableL.getData();
|
||||
|
||||
// 데이터 병합 및 중복 제거
|
||||
const result = mergeAndValidateData(existingData, addrData);
|
||||
|
||||
|
||||
// 테이블 데이터 업데이트
|
||||
if (!updateTableData(tableL, result)) return false;
|
||||
fn_phoneAddProcess(tableL, numbers);
|
||||
|
||||
// textarea 초기화
|
||||
textarea.val(''); // jQuery 객체에서 값을 초기화할 때는 .val('') 사용
|
||||
@ -1302,19 +1290,8 @@ $(document).ready(function (){
|
||||
return false;
|
||||
}
|
||||
|
||||
console.log('numbers : ', numbers);
|
||||
const addrData = processPhoneNumbers(numbers);
|
||||
|
||||
|
||||
// 기존 tableL의 데이터를 가져옵니다.
|
||||
var existingData = tableL.getData();
|
||||
|
||||
// 데이터 병합 및 중복 제거
|
||||
const result = mergeAndValidateData(existingData, addrData);
|
||||
|
||||
|
||||
// 테이블 데이터 업데이트
|
||||
if (!updateTableData(tableL, result)) return false;
|
||||
fn_phoneAddProcess(tableL, numbers);
|
||||
|
||||
|
||||
$("#btnLatestAddPhoneClose").trigger("click");
|
||||
@ -1340,19 +1317,8 @@ $(document).ready(function (){
|
||||
return false;
|
||||
}
|
||||
|
||||
console.log('numbers : ', numbers);
|
||||
const addrData = processPhoneNumbers(numbers);
|
||||
|
||||
|
||||
// 기존 tableL의 데이터를 가져옵니다.
|
||||
var existingData = tableL.getData();
|
||||
|
||||
// 데이터 병합 및 중복 제거
|
||||
const result = mergeAndValidateData(existingData, addrData);
|
||||
|
||||
|
||||
// 테이블 데이터 업데이트
|
||||
if (!updateTableData(tableL, result)) return false;
|
||||
fn_phoneAddProcess(tableL, numbers);
|
||||
|
||||
|
||||
$("#btnLatestAddPhoneClose").trigger("click");
|
||||
@ -1392,19 +1358,8 @@ $(document).ready(function (){
|
||||
return false;
|
||||
}
|
||||
|
||||
console.log('numbers : ', numbers);
|
||||
const addrData = processPhoneNumbers(numbers);
|
||||
|
||||
|
||||
// 기존 tableL의 데이터를 가져옵니다.
|
||||
var existingData = tableL.getData();
|
||||
|
||||
// 데이터 병합 및 중복 제거
|
||||
const result = mergeAndValidateData(existingData, addrData);
|
||||
|
||||
|
||||
// 테이블 데이터 업데이트
|
||||
if (!updateTableData(tableL, result)) return false;
|
||||
fn_phoneAddProcess(tableL, numbers);
|
||||
|
||||
|
||||
$("#btnLatestAddPhoneClose").trigger("click");
|
||||
@ -1430,19 +1385,8 @@ $(document).ready(function (){
|
||||
return false;
|
||||
}
|
||||
|
||||
console.log('numbers : ', numbers);
|
||||
const addrData = processPhoneNumbers(numbers);
|
||||
|
||||
|
||||
// 기존 tableL의 데이터를 가져옵니다.
|
||||
var existingData = tableL.getData();
|
||||
|
||||
// 데이터 병합 및 중복 제거
|
||||
const result = mergeAndValidateData(existingData, addrData);
|
||||
|
||||
|
||||
// 테이블 데이터 업데이트
|
||||
if (!updateTableData(tableL, result)) return false;
|
||||
fn_phoneAddProcess(tableL, numbers);
|
||||
|
||||
|
||||
$("#btnLatestAddPhoneClose").trigger("click");
|
||||
@ -3195,20 +3139,55 @@ function fnMyMsgAdd(msgId){
|
||||
//fnLetterListAjax();
|
||||
|
||||
/* 윈도우팝업 열기 */
|
||||
function infoPop(pageUrl){
|
||||
/* 윈도우팝업 열기 */
|
||||
var infoPopT; // 전역 변수로 선언하여 팝업 추적
|
||||
|
||||
function infoPop(pageUrl) {
|
||||
// 기존 팝업이 존재하면 닫기
|
||||
if (infoPopT && !infoPopT.closed) {
|
||||
infoPopT.close();
|
||||
}
|
||||
|
||||
// 기본값 설정
|
||||
let width = 790, height = 350;
|
||||
|
||||
if (pageUrl === "adrvertisement1") {
|
||||
width = 790;
|
||||
height = 800;
|
||||
} else if (pageUrl === "selectMsgDataView3") {
|
||||
width = 500;
|
||||
height = 550;
|
||||
}
|
||||
|
||||
// 🔥 현재 브라우저 창 크기 가져오기
|
||||
let screenWidth = window.innerWidth || document.documentElement.clientWidth || screen.width;
|
||||
let screenHeight = window.innerHeight || document.documentElement.clientHeight || screen.height;
|
||||
|
||||
// 💡 팝업을 브라우저 창 중앙에 위치시키기 위해 `top`, `left` 계산
|
||||
let left = (screenWidth - width) / 2 + window.screenX;
|
||||
let top = (screenHeight - height) / 2 + window.screenY;
|
||||
|
||||
// 📝 옵션 문자열 (정확한 중앙 정렬 적용)
|
||||
let options = "width=" + width + ",height=" + height + ",top=" + top + ",left=" + left +
|
||||
",fullscreen=no,menubar=no,status=no,toolbar=no,titlebar=yes,location=no,scrollbars=1";
|
||||
|
||||
console.log('팝업 옵션 : ', options);
|
||||
|
||||
// 🔥 window.open() 호출
|
||||
infoPopT = window.open("", 'infoPop', options);
|
||||
|
||||
// 🔄 폼 데이터 설정 및 제출
|
||||
document.popForm.pageType.value = pageUrl;
|
||||
document.popForm.action = "/web/pop/infoPop.do";
|
||||
document.popForm.method = "post";
|
||||
if(pageUrl == "adrvertisement1"){
|
||||
window.open("about:blank", 'infoPop', 'width=790, height=800, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1');
|
||||
}else{
|
||||
window.open("about:blank", 'infoPop', 'width=790, height=350, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1');
|
||||
}
|
||||
|
||||
document.popForm.target = "infoPop";
|
||||
document.popForm.submit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$(document).on('click', '.addressregi_btn', function() {
|
||||
var tableData = tableL.getRows();
|
||||
var dataLen = tableL.getRows().length;
|
||||
@ -3981,7 +3960,7 @@ function getMjMsgSentListAll(pageNo) {
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
대량문자(광고문자)
|
||||
<button type="button" class="button info ad_btn" onclick="infoPop('adrvertisement1');" style="right: 128px;"><i></i>광고규정</button>
|
||||
<button type="button" class="button info ad_btn" onclick="infoPop('adrvertisement1');" style="right: 128px;"><i></i>광고규정</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</h2>
|
||||
@ -4217,7 +4196,7 @@ function getMjMsgSentListAll(pageNo) {
|
||||
<label for="" class="label">받는 번호입력</label>
|
||||
<!-- <input type="text" placeholder="번호를 입력하세요" onfocus="this.placeholder=''" onblur="this.placeholder='번호를 입력하세요'" style="width:340px;"> -->
|
||||
<!-- oninput="this.value = this.value.replace(/[^0-9.\n]/g, '').replace(/(\..*)\./g, '$1');" -->
|
||||
<textarea name="callTo" id="callTo" cols="30" rows="10" class="receipt_num"
|
||||
<textarea name="callTo" id="callTo" cols="30" rows="10" class="receipt_num phone_num"
|
||||
placeholder="번호를 입력하세요"
|
||||
onfocus="this.placeholder=''"
|
||||
onblur="this.placeholder='번호를 입력하세요'"
|
||||
@ -4225,7 +4204,8 @@ function getMjMsgSentListAll(pageNo) {
|
||||
<!-- <button type="button" class="btnType btnType6">번호추가</button> -->
|
||||
<div class="btn_popup_wrap">
|
||||
<button type="button" class="btnType btnType6 btn_add_number addCallToF">번호추가<i class="qmMark"></i></button>
|
||||
<span style="display:block;margin:10px 0 0 0;"><span class="vMiddle">*</span> 중복번호는 한번만 추가됩니다.</span>
|
||||
<span style="display:block;margin:8px 0 0 0;"><span class="vMiddle">*</span> 중복번호는 한번만 추가됩니다.</span>
|
||||
<button type="button" class="button info info_guide" onclick="infoPop('selectMsgDataView3');">* 일부 안심번호(050*)는 발송이 제한될 수 있습니다.</button>
|
||||
<div class="error_hover_cont send_hover_cont">
|
||||
<!-- <p>휴대폰 번호 입력 시 해당 휴대폰 번호에 대한 형식이 어긋나거나 휴대폰 번호에 오류가 있는지 등을 검사하는 기능</p> -->
|
||||
<p>줄바꿈(Enter) 기준으로 핸드폰 번호 입력이 가능합니다.</p>
|
||||
|
||||
@ -749,7 +749,7 @@ $(document).on('click', '#errorExcelBtn', function() {
|
||||
|
||||
<!-- 주소록 상세 결과 팝업 data-tooltip:adr_popup14 -->
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup-com adr_layer adr_detail_result adr_popup14" tabindex="0" data-tooltip-con="adr_popup14" data-focus="adr_popup14" data-focus-prev="adr_popu14-close" style="width: 525px;">
|
||||
<div class="popup-com adr_layer adr_detail_result adr_popup14" tabindex="0" data-tooltip-con="adr_popup14" data-focus="adr_popup14" data-focus-prev="adr_popu14-close" style="width: 525px;z-index:125;">
|
||||
<div class="popup_heading">
|
||||
<p>주소록 상세 결과</p>
|
||||
<button type="button" class="tooltip-close" data-focus="adr_popup14-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
|
||||
|
||||
@ -38,6 +38,48 @@
|
||||
</div>
|
||||
</c:when>
|
||||
|
||||
<c:when test="${pageType == 'selectMsgDataView3'}">
|
||||
<!-- 문자전송 안심번호 사용안내 -->
|
||||
<div class="info_popup ad_layer adpopup01 info_guide_popup" style="min-width:400px;">
|
||||
<div class="popup_heading">
|
||||
<p>안심번호(050*) 문자 발송 서비스 이용 제한 안내</p>
|
||||
</div>
|
||||
<div class="layer_in">
|
||||
<ul class="info_list">
|
||||
<li>
|
||||
<strong>① SMS(단문)</strong>
|
||||
<ul class="sub_te">
|
||||
<li>0503 : 0503-0~8 발송 가능, 그 외 발송 불가</li>
|
||||
<li>0508 : 0508-6~7 발송 가능, 그 외 발송 불가</li>
|
||||
<li>0509 : 발송 불가</li>
|
||||
<li>0502~0507 : 모두 발송 가능</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="center">
|
||||
<strong>② LMS(장문</strong>)
|
||||
<ul class="sub_te">
|
||||
<li>0502, 0508, 0509 : 발송 불가</li>
|
||||
<li>0503 : 0503-0~8 발송 가능, 그 외 발송 불가</li>
|
||||
<li>0504~0507 : 모두 발송 가능</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<strong>③ MMS(그림문자)</strong>
|
||||
<ul class="sub_te">
|
||||
<li>0502, 0506, 0508, 0509 : 발송 불가</li>
|
||||
<li>0503 : 0503-5~7 발송 가능, 그 외 발송 불가</li>
|
||||
<li>0504, 0505, 0507 : 모두 발송 가능</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="info_guide_sub">
|
||||
<p>※ 발송 불가 번호는 전송 시 <span>수신오류(발송실패)</span> 처리됩니다.</p>
|
||||
<p>※ 보다 상세한 사항은 문자온 고객센터로 문의해 주시기 바랍니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:when>
|
||||
|
||||
<c:when test="${pageType == 'adrvertisement1'}">
|
||||
<!--광고문자 관련법규 안내 팝업 -->
|
||||
<div class="info_popup ad_layer adpopup01" style="min-width:773px;">
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
/*// 발송결과 화면개선 */
|
||||
.table {display: table;width: 100%;}
|
||||
.table_cell {display: table-cell;vertical-align: middle;}
|
||||
.table_cell1 {display: table-cell;vertical-align: top; position: relative; top: 25px;}
|
||||
.vMiddle {vertical-align: middle;}
|
||||
.tRight {text-align: right !important;}
|
||||
.tLeft {text-align: left !important;}
|
||||
@ -601,6 +602,7 @@ input[type=text]::-ms-reveal, input[type=password]::-ms-reveal, input[type=email
|
||||
.send_general.sec .tType1 tbody tr:first-child {border-top: 0;}
|
||||
.send_top .excelWrap {padding: 20px 0;}
|
||||
.excel_middle {background-color: #f2f2f2; padding: 9px 20px; border-radius: 5px; margin: 20px 0;}
|
||||
.excel_middle .select_btnWrap div{gap:6px;}
|
||||
.send_top .excelWrap .excel_selBox {margin-bottom: 10px; display: flex; justify-content: space-between;}
|
||||
.send_top .excelWrap .excel_selBox select.selType1 {padding: 0 80px 0 10px;}
|
||||
.send_top .excelWrap .excel_selBox span {color: #e40000; font-size: 14px; padding-left: 5px;}
|
||||
@ -1576,8 +1578,9 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px
|
||||
.kakaotalkset_cont .list_info .btn_list{background-image: url(/publish/images/btn_list_icon.png);}
|
||||
.kakaotalkset_cont .list_info .btn_thumbnail{background-image: url(/publish/images/btn_thumbnail_icon.png);}
|
||||
.kakaotalkset_cont .list_info .btnType8{width: 140px;}
|
||||
.kakaotalkset_cont .kakao_template_list{margin: 20px 0 0 0;}
|
||||
.kakaotalkset_cont .kakao_template_list li{position: relative; display: inline-block; width: calc((100% - 135px)/4); border-radius: 25px; box-shadow: inset 0 0px 8px rgba(0,0,0,0.2); padding: 8px 8px 16px 8px; margin: 0 20px 40px 0;}
|
||||
.kakaotalkset_cont .kakao_template_list{display:flex;margin: 20px 0 0 0;flex-wrap:wrap;gap:13px;}
|
||||
/* .kakaotalkset_cont .kakao_template_list li{position: relative; display: inline-block; width: calc((100% - 135px)/4); border-radius: 25px; box-shadow: inset 0 0px 8px rgba(0,0,0,0.2); padding: 8px 8px 16px 8px; margin: 0 20px 40px 0;} */
|
||||
.kakaotalkset_cont .kakao_template_list li{position: relative; width:calc((100%/4) - 26px); border-radius: 25px; box-shadow: inset 0 0px 8px rgba(0,0,0,0.2); padding: 8px 8px 16px 8px;}
|
||||
.kakaotalkset_cont .kakao_template_list li.template_none{box-shadow: none; width: 100%; text-align: center; font-size: 18px; font-weight: 400;}
|
||||
.kakaotalkset_cont .kakao_template_list li.template_none::after{display: none;}
|
||||
.kakaotalkset_cont .kakao_template_list li:nth-child(4n){margin: 0 0 0 0;}
|
||||
@ -1733,6 +1736,7 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px
|
||||
.send_top .kakaotalksend_cont .kakao_wrap .send_left .variable_wrap .excel_btn{height: 40px; border: 5px solid #129738; color: #129738; font-size: 16px; font-weight: 500; padding: 0 15px; border-radius: 5px;}
|
||||
.send_top .kakaotalksend_cont .kakao_wrap .send_left .variable_wrap .excel_btn i{width: 17px; height: 15px; background-image: url(/publish/images/content/excel_img.png); margin: 0 5px 5px 0;}
|
||||
.send_top .kakaotalksend_cont .kakao_wrap .send_left .receiver_wrap01{display: none !important;}
|
||||
.send_top .kakaotalksend_cont .kakao_wrap .send_left .receiver_wrap02 .btnType{margin:0 0 0 6px;}
|
||||
.send_top .kakaotalksend_cont .kakao_wrap .send_left .receiver_wrap02 .listType{width: 100%;}
|
||||
.send_top .kakaotalksend_cont .kakao_wrap .send_left .receipt_num .list_table_num{width: calc(100% - 60px);}
|
||||
.kakaotalksend_cont .kakao_wrap .put_right .qmMark{width: 19px; height: 19px; background-image: url(/publish/images/content/qmIcon_s.png); margin: -0.3px 0 2px 4px;}
|
||||
@ -1740,7 +1744,7 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px
|
||||
.kakaotalksend_cont .kakao_wrap .kakao_template_text {display: flex;justify-content: space-between;}
|
||||
.kakaotalksend_cont .kakao_wrap .put_right .btn_popup_wrap{margin: 0 0 5px 0;}
|
||||
.kakaotalksend_cont .kakao_wrap .replace_send_wrap .put_left{height: 234px;}
|
||||
.kakaotalksend_cont .kakao_wrap .replace_send_wrap .put_left.short textarea{height: calc(100% - 58px);}
|
||||
.kakaotalksend_cont .kakao_wrap .replace_send_wrap .put_left.short textarea{height: calc(100% - 80px);}
|
||||
.kakaotalksend_cont .kakao_wrap .button_type_wrap{display: flex; border: 1px solid #e5e5e5; border-radius: 5px; padding: 10px 20px; margin: 10px 0 0 0;}
|
||||
.kakaotalksend_cont .kakao_wrap .button_type_wrap dt{width: 110px; font-weight: 400; padding: 8px 0 0 0;}
|
||||
.kakaotalksend_cont .kakao_wrap .button_type_wrap .button_type_input{width: 483px;}
|
||||
@ -2391,6 +2395,11 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px
|
||||
.tb_wrap1{height:302px; overflow-y: auto; position:relative; border:1px solid #ccc; border-radius:5px;}
|
||||
.tb_wrap1 table.type4 th{position: sticky; top:0; z-index: 1; background-color:#ededed;}
|
||||
|
||||
/*문자전송_안심번호 안내 추가*/
|
||||
.top_content .send_general .send_left .tType1 .btn_popup_wrap .info_guide{margin: -11px 0 0 0; text-align: left; line-height: 1.3; font-size: 14px; color: #e40000; font-weight: 400;}
|
||||
.top_content .send_general .send_left .tType1 .btn_popup_wrap .info_guide:hover{text-decoration: underline;}
|
||||
.tType1 tbody tr td.putText textarea.phone_num{height: 84px;}
|
||||
|
||||
|
||||
@keyframes rotate-loading {
|
||||
0% {transform:rotate(0)}
|
||||
@ -2586,6 +2595,10 @@ button.check_validity:hover {border: 1px solid #a3a3a3;box-shadow: 0px 0px 5px
|
||||
.sub .election .receipt_number_table_wrap .list_bottom{width:100%;}
|
||||
.sub .election .list_bottom .list_bottom_right button{height:30px;font-size:14px;letter-spacing:-1.4px;}
|
||||
.sub .election .list_bottom .pagination button{display:inline-flex;width:25px;height:30px;align-items:center;justify-content:center;}
|
||||
|
||||
/*문자전송_안심번호 안내 추가*/
|
||||
.top_content .send_general .send_left .tType1 .btn_popup_wrap .info_guide{margin: 0 0 0 11px; text-indent: -11px;}
|
||||
.tType1 tbody tr td.putText textarea.phone_num{height: 103px;}
|
||||
}
|
||||
|
||||
@media only screen and (max-width:1380px){
|
||||
|
||||
@ -52,6 +52,17 @@
|
||||
.swiper2 .contWrap.ct8 .slide_cont::after {background:url('../images/main/cont1_8.png') #e1e1e5 center center no-repeat;}
|
||||
.swiper2 .contWrap.ct9 .slide_cont::after {background:url('../images/main/cont1_9.png') #e1e1e5 center no-repeat;}
|
||||
.swiper2 .contWrap .slide_cont .more {width: 115px;height: 30px; padding-right:15px;border: 1px solid #d9d9d9; border-radius: 14px; text-align: center; color: #555;background-image: url(../images/main/cont1_arrow.png);background-position: 86% center;background-repeat: no-repeat;line-height: 29px;}
|
||||
|
||||
.swiper2 .contWrap .slide_cont .more {margin:5px 0 0 0; width: 115px;height: 30px; padding-right:15px;border: 1px solid #d9d9d9; border-radius: 14px; text-align: center; color: #555;background-image: url(../images/main/cont1_arrow.png);background-position: 86% center;background-repeat: no-repeat;line-height: 29px;}
|
||||
.swiper2 .contWrap .slide_cont1 {padding: 0 30px 0 40px; height: 190px; }
|
||||
.swiper2 .contWrap .slide_cont1 .cont1_title {font-size: 22px;font-weight: 700;}
|
||||
.swiper2 .contWrap .slide_cont1 .cont_ex {display:flex; justify-content: space-between;}
|
||||
.swiper2 .contWrap .slide_cont1 .cont_ex .txt {padding:13px 0 0 0; line-height: 1.4; width:70%; color:#555;}
|
||||
.swiper2 .contWrap .slide_cont1 .cont_ex .bg_icon {position:relative; background-color: #e1e1e5; border-radius: 50%; top:50px; right:0; transform: translateY(-50%); width: 70px; height: 70px; display:flex; justify-content: center; align-items: center; }
|
||||
.swiper2 .contWrap .slide_cont1 .cont_ex .bg_icon img {width: auto; height: auto; max-width: initial; max-height: initial;}
|
||||
.swiper2 .contWrap .slide_cont1 .more {margin:5px 0 0 0; width: 115px;height: 30px; padding-right:15px;border: 1px solid #d9d9d9; border-radius: 14px; text-align: center; color: #555;background-image: url(../images/main/cont1_arrow.png);background-position: 86% center;background-repeat: no-repeat;line-height: 29px;}
|
||||
|
||||
|
||||
/* on클래스 */
|
||||
.swiper2 .swiper-slide-next .contWrap::after,
|
||||
.swiper2 .swiper-slide.on .contWrap.on::after {background-color: #ffcc33;width: 100%;height:110%;z-index: -1;cursor: pointer;transition: all 0.2s ease-in-out;box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);border-radius: 15px;}
|
||||
@ -63,6 +74,17 @@
|
||||
.swiper2 .swiper-slide.on .contWrap.on .slide_cont::after {background-color: #edb818;}
|
||||
.swiper2 .swiper-slide-next .contWrap.active:after {display:none;}
|
||||
|
||||
.swiper2 .swiper-slide-next .contWrap .slide_cont1 .more,
|
||||
.swiper2 .swiper-slide.on .contWrap.on .slide_cont1 .more {background-color: #eea301;color: #fff;border: 1px solid #eea301;background-image: url(../images/main/cont1_arrow_white.png);}
|
||||
.swiper2 .swiper-slide-next .contWrap .slide_cont1::after,
|
||||
.swiper2 .swiper-slide.on .contWrap.on .slide_cont1::after {background-color: #edb818;}
|
||||
.swiper2 .swiper-slide-next .contWrap .slide_cont1 .cont_ex .bg_icon,
|
||||
.swiper2 .swiper-slide.on .contWrap.on .slide_cont1 .cont_ex .bg_icon {background-color: #edb818;}
|
||||
.swiper2 .swiper-slide-next .contWrap .slide_cont1 .cont_ex .txt,
|
||||
.swiper2 .swiper-slide.on .contWrap.on .slide_cont1 .cont_ex .txt {color: #222;}
|
||||
.swiper2 .swiper-slide-next .contWrap .slide_cont1::after,
|
||||
.swiper2 .swiper-slide.on .contWrap.on .slide_cont1::after {background-color: #edb818;}
|
||||
|
||||
/*// content1 */
|
||||
|
||||
|
||||
@ -303,6 +325,7 @@
|
||||
.swiper2 .contWrap .slide_cont::before {right: 22px;}
|
||||
.swiper2 .contWrap .slide_cont::before {right: 7px;}
|
||||
.swiper2 .contWrap .slide_cont::before {right: 17px;}
|
||||
.swiper2 .contWrap .slide_cont1 .txt {font-size:14px; line-height: 1.2;}
|
||||
/* content2 문자샘플 영역 */
|
||||
.msg_text .area_in_text{padding: 15px 0; height: 286px; background-position: 15px 12px;}
|
||||
.msg_text .area_in_text p{height: 253px;}
|
||||
|
||||
@ -296,7 +296,7 @@
|
||||
.histroy_trans ul {background-color: #f5f5f5; padding: 0 20px; border: 1px solid #dadada; border-radius: 0 0 5px 5px; margin-top: -3px;}
|
||||
.histroy_trans ul li {position: relative; height: 30px; line-height: 30px; border-bottom: 1px solid #e8e8e8;}
|
||||
.histroy_trans ul li:only-child {border-bottom: 0;}
|
||||
.histroy_trans ul li p {display: inline-block; color: #666; font-size: 14px; font-weight: 300; padding-left: 15px; letter-spacing: 0.5px;}
|
||||
.histroy_trans ul li p {display: inline-block; width: 100%; color: #666; font-size: 14px; font-weight: 300; letter-spacing: 0.5px; text-align:center;}
|
||||
.histroy_trans ul li button {position: absolute; right: 0; top: 50%; transform: translateY(-50%);}
|
||||
.popup_btn_wrap2.hisroy_btn {width: 178px;}
|
||||
.popup_btn_wrap2.hisroy_btn button {width: calc(100%/2 - 2.5px); height: 32px; font-size: 14px;}
|
||||
@ -1035,7 +1035,7 @@
|
||||
/* 발신프로필 등록 */
|
||||
.add_profile_popup01 .layer_tType1 .cf_text{display: block; font-size: 16px; font-weight: 300; color: #666; padding: 10px 0 0 0;}
|
||||
.add_profile_popup01 .layer_tType1 td{padding: 10px 0 10px 10px;}
|
||||
.add_profile_popup01 .layer_tType1 select{width: 207px;}
|
||||
.add_profile_popup01 .layer_tType1 select{min-width: 200px;width:auto;}
|
||||
.add_profile_popup01 .table_top{padding: 0 0 10px 0;}
|
||||
.add_profile_popup01 .table_top p{font-size: 16px; color: #555;}
|
||||
.add_profile_popup01 .kakaotalk_tag{position: absolute; left: 27px; top: 20px;}
|
||||
@ -1252,7 +1252,14 @@
|
||||
.tabulator .tabulator-header .tabulator-col .tabulator-col-content{background-color: #ededed;}
|
||||
.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder .tabulator-col-title{position: relative; z-index: 1;}
|
||||
|
||||
|
||||
/*문자전송_안심번호 안내 추가 팝업*/
|
||||
.info_guide_popup .layer_in{padding: 30px 25px 36px;}
|
||||
.info_guide_popup .layer_in .info_list .center{margin: 6px 0;}
|
||||
.info_guide_popup .layer_in .info_list li:before{content: normal;}
|
||||
.info_guide_popup .layer_in .info_list li .sub_te{margin: 0 0 0 8px;}
|
||||
.info_guide_popup .layer_in .info_list li .sub_te li:before{content: '-'; position: absolute; left: 0; top: 0; font-size: 15px; font-weight: 300; line-height: 26px;}
|
||||
.info_guide_popup .layer_in .info_guide_sub{margin: -20px 0 0 0; font-size: 14px; color: #666; font-weight: 300; line-height: 1.5;}
|
||||
.info_guide_popup .layer_in .info_guide_sub span{color: #222; font-weight: 400;}
|
||||
|
||||
/* ie */
|
||||
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
<!-- <p>***<span class="font1"> (컨텐츠)</span> : 반복적으로 사용 안함</p>
|
||||
<p>***<span class="font2"> (보드)</span> : 반복적으로 사용</p> -->
|
||||
<ul class="page">
|
||||
<li><a href="/publish/index_2025.html">index_2025.html</a>메인비주얼 아래 슬라이드 배너박스를 관리자페이지에서 텍스트 및 아이콘 등록 가능 하도록 수정</li>
|
||||
<li><a href="/publish/textingmsg_2025_detail.html">textingmsg_2025_detail.html</a>[개선] 발송결과 상세 수정</li>
|
||||
<li><a href="/publish/textingmsg_2025_list.html">textingmsg_2025_list.html</a>[개선] 발송결과 수정</li>
|
||||
<li><a href="/publish/service3_spam_2024.html">service3_spam_2024.html</a>불법스팸방지정책 (2024.11.29)</li>
|
||||
|
||||
1349
src/main/webapp/publish/index_2025.html
Normal file
1349
src/main/webapp/publish/index_2025.html
Normal file
File diff suppressed because it is too large
Load Diff
@ -390,10 +390,10 @@ $(document).ready(function () {
|
||||
|
||||
// 번호추가 ? 호버 시 팝업
|
||||
$(".btn_add_number .qmMark").mouseover(function(){
|
||||
$(this).parents(".btnType").next().next(".send_hover_cont").addClass("on");
|
||||
$(this).parents(".btnType").siblings(".send_hover_cont").addClass("on");
|
||||
})
|
||||
$(".btn_add_number .qmMark").mouseleave(function(){
|
||||
$(this).parents(".btnType").next().next(".send_hover_cont").removeClass("on");
|
||||
$(this).parents(".btnType").siblings(".send_hover_cont").removeClass("on");
|
||||
})
|
||||
|
||||
|
||||
|
||||
@ -117,6 +117,19 @@ function tooltip() {
|
||||
$("body").css("overflow","hidden");
|
||||
wrapWindowByMask(popName);
|
||||
|
||||
if($(e.target).closest(".popup-com").is(".popup-com") == true){
|
||||
$(".mask").attr("style","z-index:101;");
|
||||
$("."+popName).closest(".tooltip-wrap").attr("style","z-index:105;");
|
||||
}
|
||||
|
||||
// 엑셀 불러오기 > 주소록 상세결과 팝업 마스크 오류 예외처리
|
||||
if($("[data-tooltip-con="+popName+"]").is(".adr_detail_result")){
|
||||
$(".mask").removeClass("on");
|
||||
$(".adr_detail_result").before('<div class="mask on"></div>');
|
||||
$("body").css("overflow","hidden");
|
||||
$(".adr_detail_result").closest(".tooltip-wrap").attr("style","z-index:120;");
|
||||
}
|
||||
|
||||
/* 주소록 대량등록, 주소롟 불러오기 팝업에 있는 테이블 스크롤바 꾸미기 */
|
||||
$(".adr_pop_list2 .adr_bd_wrap").mCustomScrollbar({
|
||||
axis: 'y',
|
||||
@ -148,17 +161,32 @@ function tooltip() {
|
||||
/* 상세보기 버튼 클릭 시 레이어팝업*/
|
||||
// 팝업이 보이고 있으면 마스크 노출/미노출
|
||||
// 레이어 팝업 2개 뜰 경우
|
||||
if($(".popup-com:visible").length <= 1){
|
||||
if($(".popup-com:visible").length < 1){
|
||||
$(".mask").removeClass("on");
|
||||
}else{}
|
||||
}else{
|
||||
$(".mask").attr("style","z-index:99;");
|
||||
$(".mask").addClass("on");
|
||||
$("body").css("overflow","hidden");
|
||||
}
|
||||
|
||||
if($(this).closest(".adr_layer").is(".adr_popup14") == true){
|
||||
$(".mask").addClass("on");
|
||||
$("body").css("overflow","hidden");
|
||||
}else{}
|
||||
|
||||
// 결과상세에서 레이어팝업 2개 뜰 경우
|
||||
if($(this).closest(".adr_layer").is(".rev_popup02") == true){
|
||||
if($(this).closest(".adr_layer").is(".rev_popup02") == true && $(this).closest(".adr_layer").is(".add_adr_popup") == false){
|
||||
$(".mask").addClass("on");
|
||||
}else{}
|
||||
$("body").css("overflow","hidden");
|
||||
}
|
||||
else{}
|
||||
|
||||
// 엑셀 불러오기 > 주소록 상세결과 팝업 마스크 오류 예외처리
|
||||
if($(this).closest(".adr_layer").is(".adr_detail_result")){
|
||||
$(".mask").removeClass("off");
|
||||
$(".adr_detail_result").siblings(".mask").remove();
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -244,7 +244,7 @@
|
||||
|
||||
<!-- 발송대상리스트 팝업 -->
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup-com ad_layer rev_popup04" tabindex="0" data-tooltip-con="rev_popup04" data-focus="rev_popup04" data-focus-prev="rev_popup04-close" style="width:530px;">
|
||||
<div class="popup-com ad_layer rev_popup04 transmit_list_popup" tabindex="0" data-tooltip-con="rev_popup04" data-focus="rev_popup04" data-focus-prev="rev_popup04-close" style="width:530px;">
|
||||
<div class="popup_heading">
|
||||
<p>발송대상 리스트</p>
|
||||
<button type="button" class="tooltip-close" data-focus="rev_popup04-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
|
||||
@ -335,7 +335,7 @@
|
||||
<div class="table_btn clearfix">
|
||||
<div class="table_btn_left">
|
||||
<button type="button" class="excel_btn btnType"><i class="downroad"></i>엑셀 다운로드</button>
|
||||
<button type="button" data-tooltip="rev_popup02" class="btnType btnType14"><i class="add_img"></i>주소록 등록</button>
|
||||
<button type="button" data-tooltip="rev_popup02" class="btnType btnType14 btn_adr_add"><i class="add_img"></i>주소록 등록</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -542,7 +542,7 @@
|
||||
|
||||
<!-- 주소록에 등록 팝업 -->
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup-com adr_layer rev_popup02" tabindex="0" data-tooltip-con="rev_popup02" data-focus="rev_popup02" data-focus-prev="rev_popup02-close" style="width: 510px;">
|
||||
<div class="popup-com adr_layer rev_popup02 add_adr_popup" tabindex="0" data-tooltip-con="rev_popup02" data-focus="rev_popup02" data-focus-prev="rev_popup02-close" style="width: 510px;">
|
||||
<div class="popup_heading">
|
||||
<p>주소록에 등록</p>
|
||||
<button type="button" class="tooltip-close" data-focus="rev_popup02-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user