+++ src/main/java/itn/com/uss/ion/bnr/pop/service/MainPopupLinkVO.java
... | ... | @@ -0,0 +1,39 @@ |
| 1 | +package itn.com.uss.ion.bnr.pop.service; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | + | |
| 6 | +import itn.com.cmm.ComDefaultVO; | |
| 7 | +import lombok.Getter; | |
| 8 | +import lombok.Setter; | |
| 9 | + | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * | |
| 13 | + * @author : 이호영 | |
| 14 | + * @fileName : MainPopupLinkVO.java | |
| 15 | + * @date : 2025.02.26 | |
| 16 | + * @description : | |
| 17 | + * =========================================================== | |
| 18 | + * DATE AUTHOR NOTE | |
| 19 | + * ----------------------------------------------------------- * | |
| 20 | + * 2025.02.26 이호영 최초 생성 | |
| 21 | + * | |
| 22 | + * | |
| 23 | + * | |
| 24 | + */ | |
| 25 | +@Getter | |
| 26 | +@Setter | |
| 27 | +public class MainPopupLinkVO extends ComDefaultVO implements Serializable { | |
| 28 | + | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * @description : | |
| 32 | + */ | |
| 33 | + private static final long serialVersionUID = 1998370534684278351L; | |
| 34 | + | |
| 35 | + private String popId; // 메인존ID | |
| 36 | + private String mlink; // 링크 | |
| 37 | + private String coords; // 링크좌표 | |
| 38 | + | |
| 39 | +} |
+++ src/main/java/itn/com/uss/ion/bnr/pop/service/MainPopupVO.java
... | ... | @@ -0,0 +1,59 @@ |
| 1 | +package itn.com.uss.ion.bnr.pop.service; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | +import java.util.List; | |
| 5 | + | |
| 6 | +import itn.com.cmm.ComDefaultVO; | |
| 7 | +import lombok.Getter; | |
| 8 | +import lombok.Setter; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * | |
| 12 | + * @author : 이호영 | |
| 13 | + * @fileName : MainPopupVO.java | |
| 14 | + * @date : 2025.02.26 | |
| 15 | + * @description : | |
| 16 | + * =========================================================== | |
| 17 | + * DATE AUTHOR NOTE | |
| 18 | + * ----------------------------------------------------------- * | |
| 19 | + * 2025.02.26 이호영 최초 생성 | |
| 20 | + * | |
| 21 | + * | |
| 22 | + * | |
| 23 | + */ | |
| 24 | +@Getter | |
| 25 | +@Setter | |
| 26 | +public class MainPopupVO extends ComDefaultVO implements Serializable { | |
| 27 | + | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * @description : | |
| 31 | + */ | |
| 32 | + private static final long serialVersionUID = 1998370534684278351L; | |
| 33 | + | |
| 34 | + private String popId; // 메인존ID | |
| 35 | + private String content; // 대체택스트 | |
| 36 | + private String del; // 삭제여부 | |
| 37 | + private String mainzoneImageFile; // 이미지파일ID | |
| 38 | + private String mainzoneImage; // 이미지파일명 | |
| 39 | + private String regdt; // 등록일 | |
| 40 | + private String moddt; // 수정일 | |
| 41 | + private String popNm; // 메인팝업존키 | |
| 42 | + private String useYn; // 사용여부 | |
| 43 | + private String registerId; // 등록자 아이디 | |
| 44 | + private String deviceType; // 접근타입 | |
| 45 | + private String ntceBgnde; // 게시 시작일자 | |
| 46 | + private String ntceEndde; // 게시 종료일자 | |
| 47 | + | |
| 48 | + private String ntceBgndeHH; | |
| 49 | + private String ntceBgndeMM; | |
| 50 | + private String ntceEnddeHH; | |
| 51 | + private String ntceEnddeMM; | |
| 52 | + | |
| 53 | + private String devicetype; | |
| 54 | + | |
| 55 | + private List<MainPopupLinkVO> mainPopupLinkList; // 게시 종료일자 | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | +} |
+++ src/main/java/itn/com/uss/ion/bnr/pop/web/MainPopupController.java
... | ... | @@ -0,0 +1,1235 @@ |
| 1 | +package itn.com.uss.ion.bnr.pop.web; | |
| 2 | + | |
| 3 | +import java.util.ArrayList; | |
| 4 | +import java.util.HashMap; | |
| 5 | +import java.util.List; | |
| 6 | +import java.util.Map; | |
| 7 | + | |
| 8 | +import javax.annotation.Resource; | |
| 9 | +import javax.servlet.http.HttpServletRequest; | |
| 10 | +import javax.servlet.http.HttpSession; | |
| 11 | + | |
| 12 | +import org.slf4j.Logger; | |
| 13 | +import org.slf4j.LoggerFactory; | |
| 14 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 15 | +import org.springframework.stereotype.Controller; | |
| 16 | +import org.springframework.ui.Model; | |
| 17 | +import org.springframework.ui.ModelMap; | |
| 18 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 19 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 20 | +import org.springframework.web.servlet.mvc.support.RedirectAttributes; | |
| 21 | +import org.springmodules.validation.commons.DefaultBeanValidator; | |
| 22 | + | |
| 23 | +import egovframework.rte.fdl.idgnr.EgovIdGnrService; | |
| 24 | +import egovframework.rte.fdl.property.EgovPropertyService; | |
| 25 | +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; | |
| 26 | +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; | |
| 27 | +import itn.com.cmm.ComDefaultCodeVO; | |
| 28 | +import itn.com.cmm.EgovMessageSource; | |
| 29 | +import itn.com.cmm.LoginVO; | |
| 30 | +import itn.com.cmm.service.EgovCmmUseService; | |
| 31 | +import itn.com.cmm.service.EgovFileMngService; | |
| 32 | +import itn.com.cmm.service.EgovFileMngUtil; | |
| 33 | +import itn.com.cmm.service.FileVO; | |
| 34 | +import itn.com.cmm.util.RedirectUrlMaker; | |
| 35 | +import itn.com.uss.ion.bnr.sub.service.SubMainZoneManageService; | |
| 36 | +import itn.com.uss.ion.pwm.service.MainzoneVO; | |
| 37 | +import itn.let.sym.site.service.EgovSiteManagerService; | |
| 38 | + | |
| 39 | +/** | |
| 40 | + * 개요 | |
| 41 | + * - 팝업창에 대한 Controller를 정의한다. | |
| 42 | + * | |
| 43 | + * 상세내용 | |
| 44 | + * - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다. | |
| 45 | + * - 팝업창의 조회기능은 목록조회, 상세조회로, 사용자 화면 보기로 구분된다. | |
| 46 | + * @author 이창원 | |
| 47 | + * @version 1.0 | |
| 48 | + * @created 05-8-2009 오후 2:19:57 | |
| 49 | + * <pre> | |
| 50 | + * << 개정이력(Modification Information) >> | |
| 51 | + * | |
| 52 | + * 수정일 수정자 수정내용 | |
| 53 | + * ------- -------- --------------------------- | |
| 54 | + * 2025.02.24 이호영 최초 생성 | |
| 55 | + * | |
| 56 | + * </pre> | |
| 57 | + */ | |
| 58 | + | |
| 59 | +@Controller | |
| 60 | +public class MainPopupController { | |
| 61 | + | |
| 62 | + private static final Logger LOGGER = LoggerFactory.getLogger(MainPopupController.class); | |
| 63 | + | |
| 64 | + @Autowired | |
| 65 | + private DefaultBeanValidator beanValidator; | |
| 66 | + | |
| 67 | + /** EgovMessageSource */ | |
| 68 | + @Resource(name = "egovMessageSource") | |
| 69 | + EgovMessageSource egovMessageSource; | |
| 70 | + | |
| 71 | + /** EgovPropertyService */ | |
| 72 | + @Resource(name = "propertiesService") | |
| 73 | + protected EgovPropertyService propertiesService; | |
| 74 | + | |
| 75 | + /** EgovPopupManageService */ | |
| 76 | + @Resource(name = "subMainZoneManageService") | |
| 77 | + private SubMainZoneManageService subMainZoneManageService; | |
| 78 | + | |
| 79 | + /** cmmUseService */ | |
| 80 | + @Resource(name = "EgovCmmUseService") | |
| 81 | + private EgovCmmUseService cmmUseService; | |
| 82 | + | |
| 83 | + @Resource(name="EgovFileMngUtil") | |
| 84 | + private EgovFileMngUtil fileUtil; | |
| 85 | + | |
| 86 | + @Resource(name="EgovFileMngService") | |
| 87 | + private EgovFileMngService fileMngService; | |
| 88 | + | |
| 89 | + @Resource(name = "egovPopupZoneIdGnrService") | |
| 90 | + private EgovIdGnrService idgenService; | |
| 91 | + | |
| 92 | +// @Resource(name = "egovMainZoneIdGnrService") | |
| 93 | +// private EgovIdGnrService idgenServiceMain; | |
| 94 | + | |
| 95 | + @Resource(name = "egovSubMainZoneIdGnrService") | |
| 96 | + private EgovIdGnrService idgenServiceSubMain; | |
| 97 | + | |
| 98 | + @Resource(name = "egovSiteManagerService") | |
| 99 | + EgovSiteManagerService egovSiteManagerService; | |
| 100 | + | |
| 101 | + @Resource(name = "EgovFileMngService") | |
| 102 | + private EgovFileMngService fileService; | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + /*메인이미지 관리*/ | |
| 108 | +// @RequestMapping(value="/uss/ion/bnr/subMainZoneList.do") | |
| 109 | + @RequestMapping(value="/uss/ion/bnr/pop/mainPopupList.doz") | |
| 110 | + public String selectMainzoneList(ModelMap model , MainzoneVO mainzoneVO , HttpSession session ) throws Exception { | |
| 111 | + LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 112 | + | |
| 113 | + | |
| 114 | + if(mainzoneVO.getPageUnit()% 8 != 0) {//9 배수로 넘어오지 않으면 초기세팅 | |
| 115 | + mainzoneVO.setPageUnit(8); | |
| 116 | + }else { | |
| 117 | + mainzoneVO.setPageUnit(mainzoneVO.getPageUnit()); | |
| 118 | + } | |
| 119 | + | |
| 120 | + /** pageing */ | |
| 121 | + PaginationInfo paginationInfo = new PaginationInfo(); | |
| 122 | + paginationInfo.setCurrentPageNo(mainzoneVO.getPageIndex()); | |
| 123 | + paginationInfo.setRecordCountPerPage(mainzoneVO.getPageUnit()); | |
| 124 | + paginationInfo.setPageSize(mainzoneVO.getPageSize()); | |
| 125 | + | |
| 126 | + mainzoneVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); | |
| 127 | + mainzoneVO.setLastIndex(paginationInfo.getLastRecordIndex()); | |
| 128 | + mainzoneVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); | |
| 129 | + | |
| 130 | + if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //각각의 사이트 | |
| 131 | + mainzoneVO.setSiteId(loginVO.getSiteId()); | |
| 132 | + } | |
| 133 | + List<?> mainzoneList = subMainZoneManageService.selectSubMainzoneList(mainzoneVO); | |
| 134 | + model.addAttribute("mainzoneList", mainzoneList); | |
| 135 | + | |
| 136 | + int totCnt = subMainZoneManageService.selectSubMainzoneCount(mainzoneVO); | |
| 137 | + | |
| 138 | + paginationInfo.setTotalRecordCount(totCnt); | |
| 139 | + model.addAttribute("paginationInfo", paginationInfo); | |
| 140 | + | |
| 141 | + return "uss/ion/bnr/sub/subMainZoneList"; | |
| 142 | + } | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + /*알림창등록/수정 view*/ | |
| 147 | + @RequestMapping(value="/uss/ion/bnr/subMainzoneModify.do") | |
| 148 | + public String updateMainZoneView(@RequestParam Map<?, ?> commandMap, | |
| 149 | + HttpServletRequest request, Model model, HttpSession session) | |
| 150 | + throws Exception { | |
| 151 | + | |
| 152 | + MainzoneVO mainzoneVO = new MainzoneVO(); | |
| 153 | + if("Modify".equals((String)commandMap.get("pageType"))){ //수정 | |
| 154 | + String mazId = (String)commandMap.get("selectedId"); | |
| 155 | + mainzoneVO = subMainZoneManageService.selectSubMainzoneVO(mazId); | |
| 156 | + String sNtceBgnde = mainzoneVO.getNtceBgnde(); | |
| 157 | + String sNtceEndde = mainzoneVO.getNtceEndde(); | |
| 158 | + | |
| 159 | + if(sNtceBgnde != null && sNtceEndde != null ) { | |
| 160 | + | |
| 161 | + mainzoneVO.setNtceBgndeHH(sNtceBgnde.substring(8, 10)); | |
| 162 | + mainzoneVO.setNtceBgndeMM(sNtceBgnde.substring(10, 12)); | |
| 163 | + | |
| 164 | + mainzoneVO.setNtceEnddeHH(sNtceEndde.substring(8, 10)); | |
| 165 | + mainzoneVO.setNtceEnddeMM(sNtceEndde.substring(10, 12)); | |
| 166 | + | |
| 167 | + //게시기간 시작일자(시) | |
| 168 | + model.addAttribute("ntceBgndeHH", getTimeHH()); | |
| 169 | + //게시기간 시작일자(분) | |
| 170 | + model.addAttribute("ntceBgndeMM", getTimeMM()); | |
| 171 | + //게시기간 종료일자(시) | |
| 172 | + model.addAttribute("ntceEnddeHH", getTimeHH()); | |
| 173 | + //게시기간 종료일자(분) | |
| 174 | + model.addAttribute("ntceEnddeMM", getTimeMM()); | |
| 175 | + | |
| 176 | + | |
| 177 | + } | |
| 178 | + | |
| 179 | + if(mainzoneVO != null){ | |
| 180 | + mainzoneVO.setBeSort(mainzoneVO.getSort()); | |
| 181 | + | |
| 182 | + FileVO fileVO = new FileVO(); | |
| 183 | + String atchFileId = mainzoneVO.getMainzoneImageFile(); | |
| 184 | + fileVO.setAtchFileId(atchFileId); | |
| 185 | + List<FileVO> fileList = fileService.selectFileInfs(fileVO); | |
| 186 | + model.addAttribute("fileList", fileList); | |
| 187 | + } | |
| 188 | + }else{ //등록 | |
| 189 | + | |
| 190 | + //게시기간 시작일자(시) | |
| 191 | + model.addAttribute("ntceBgndeHH", getTimeHH()); | |
| 192 | + //게시기간 시작일자(분) | |
| 193 | + model.addAttribute("ntceBgndeMM", getTimeMM()); | |
| 194 | + //게시기간 종료일자(시) | |
| 195 | + model.addAttribute("ntceEnddeHH", getTimeHH()); | |
| 196 | + //게시기간 종료일자(분) | |
| 197 | + model.addAttribute("ntceEnddeMM", getTimeMM()); | |
| 198 | + | |
| 199 | + } | |
| 200 | + | |
| 201 | + //model.addAttribute("sortList", sortList); | |
| 202 | + model.addAttribute("mainzoneVO", mainzoneVO); | |
| 203 | + System.out.println("mainzoneVO :: "+ mainzoneVO.toString()); | |
| 204 | + | |
| 205 | + /* 타겟 코드 */ | |
| 206 | + ComDefaultCodeVO vo = new ComDefaultCodeVO(); | |
| 207 | + vo.setCodeId("COM037"); | |
| 208 | + //List<?> targetList = cmmUseService.selectCmmCodeDetail(vo); | |
| 209 | + //model.addAttribute("targetList", targetList); | |
| 210 | + | |
| 211 | + | |
| 212 | + return "uss/ion/bnr/sub/subMainZoneModify"; | |
| 213 | + } | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + /*메인 이미지삭제 */ | |
| 218 | + @RequestMapping("/uss/ion/bnr/subMainzoneListDelete.do") | |
| 219 | + public String deleteMainzoneDelete(@RequestParam("del") String[] del, RedirectAttributes redirectAttributes , Model model) throws Exception { | |
| 220 | + LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 221 | + MainzoneVO mainzoneVO = new MainzoneVO(); | |
| 222 | + for(String id:del) { | |
| 223 | + try{ | |
| 224 | + mainzoneVO = subMainZoneManageService.selectSubMainzoneVO(id); | |
| 225 | + }catch(Exception e){ | |
| 226 | + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("info.nodata.msg")); | |
| 227 | + RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/bnr/subMainZoneList.do"); | |
| 228 | + return redirectUrlMaker.getRedirectUrl(); | |
| 229 | + } | |
| 230 | + subMainZoneManageService.deleteSubMainzone(id); | |
| 231 | + if(null != loginVO && !"super".equals(loginVO.getSiteId())){ | |
| 232 | + mainzoneVO.setSiteId(loginVO.getSiteId()); | |
| 233 | + } | |
| 234 | + subMainZoneManageService.resetSubMainVOSort(mainzoneVO); | |
| 235 | + } | |
| 236 | + | |
| 237 | + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); | |
| 238 | + RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/bnr/subMainZoneList.do"); | |
| 239 | + return redirectUrlMaker.getRedirectUrl(); | |
| 240 | + } | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + /** | |
| 252 | + * 시간을 LIST를 반환한다. | |
| 253 | + * @return List | |
| 254 | + * @throws | |
| 255 | + */ | |
| 256 | + @SuppressWarnings("unused") | |
| 257 | + private List<ComDefaultCodeVO> getTimeHH() { | |
| 258 | + ArrayList<ComDefaultCodeVO> listHH = new ArrayList<ComDefaultCodeVO>(); | |
| 259 | + HashMap<?, ?> hmHHMM; | |
| 260 | + for (int i = 0; i <= 24; i++) { | |
| 261 | + String sHH = ""; | |
| 262 | + String strI = String.valueOf(i); | |
| 263 | + if (i < 10) { | |
| 264 | + sHH = "0" + strI; | |
| 265 | + } else { | |
| 266 | + sHH = strI; | |
| 267 | + } | |
| 268 | + | |
| 269 | + ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); | |
| 270 | + codeVO.setCode(sHH); | |
| 271 | + codeVO.setCodeNm(sHH); | |
| 272 | + | |
| 273 | + listHH.add(codeVO); | |
| 274 | + } | |
| 275 | + | |
| 276 | + return listHH; | |
| 277 | + } | |
| 278 | + | |
| 279 | + /** | |
| 280 | + * 분을 LIST를 반환한다. | |
| 281 | + * @return List | |
| 282 | + * @throws | |
| 283 | + */ | |
| 284 | + @SuppressWarnings("unused") | |
| 285 | + private List<ComDefaultCodeVO> getTimeMM() { | |
| 286 | + ArrayList<ComDefaultCodeVO> listMM = new ArrayList<ComDefaultCodeVO>(); | |
| 287 | + HashMap<?, ?> hmHHMM; | |
| 288 | + for (int i = 0; i <= 60; i++) { | |
| 289 | + | |
| 290 | + String sMM = ""; | |
| 291 | + String strI = String.valueOf(i); | |
| 292 | + if (i < 10) { | |
| 293 | + sMM = "0" + strI; | |
| 294 | + } else { | |
| 295 | + sMM = strI; | |
| 296 | + } | |
| 297 | + | |
| 298 | + ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); | |
| 299 | + codeVO.setCode(sMM); | |
| 300 | + codeVO.setCodeNm(sMM); | |
| 301 | + | |
| 302 | + listMM.add(codeVO); | |
| 303 | + } | |
| 304 | + return listMM; | |
| 305 | + } | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | +// | |
| 331 | +// | |
| 332 | +// | |
| 333 | +// | |
| 334 | +// /** | |
| 335 | +// * 팝업창관리 목록을 조회한다. | |
| 336 | +// * @param popupManageVO | |
| 337 | +// * @param model | |
| 338 | +// * @return "uss/ion/pwm/listPopupManage" | |
| 339 | +// * @throws Exception | |
| 340 | +// */ | |
| 341 | +// @RequestMapping(value = "/uss/ion/pwm/listPopup.do") | |
| 342 | +// public String selectEgovPopupManageList(@RequestParam Map<?, ?> commandMap, PopupManageVO popupManageVO, ModelMap model , HttpSession session) throws Exception { | |
| 343 | +// | |
| 344 | +// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 345 | +// /** EgovPropertyService.sample */ | |
| 346 | +// | |
| 347 | +// if(popupManageVO.getPageUnit() != 10) { | |
| 348 | +// popupManageVO.setPageUnit(popupManageVO.getPageUnit()); | |
| 349 | +// } | |
| 350 | +// | |
| 351 | +// /** pageing */ | |
| 352 | +// PaginationInfo paginationInfo = new PaginationInfo(); | |
| 353 | +// paginationInfo.setCurrentPageNo(popupManageVO.getPageIndex()); | |
| 354 | +// paginationInfo.setRecordCountPerPage(popupManageVO.getPageUnit()); | |
| 355 | +// paginationInfo.setPageSize(popupManageVO.getPageSize()); | |
| 356 | +// | |
| 357 | +// popupManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); | |
| 358 | +// popupManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); | |
| 359 | +// popupManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); | |
| 360 | +// | |
| 361 | +// if("".equals(popupManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List | |
| 362 | +// popupManageVO.setSearchSortCnd("POPUP_ID"); | |
| 363 | +// popupManageVO.setSearchSortOrd("desc"); | |
| 364 | +// } | |
| 365 | +// List<?> reusltList = egovPopupManageService.selectPopupList(popupManageVO); | |
| 366 | +// model.addAttribute("resultList", reusltList); | |
| 367 | +// | |
| 368 | +// model.addAttribute("searchKeyword", commandMap.get("searchKeyword") == null ? "" : (String) commandMap.get("searchKeyword")); | |
| 369 | +// model.addAttribute("searchCondition", commandMap.get("searchCondition") == null ? "" : (String) commandMap.get("searchCondition")); | |
| 370 | +// | |
| 371 | +// model.addAttribute("delSttus", popupManageVO.getDelSttus()); | |
| 372 | +// | |
| 373 | +// int totCnt = egovPopupManageService.selectPopupListCount(popupManageVO); | |
| 374 | +// paginationInfo.setTotalRecordCount(totCnt); | |
| 375 | +// model.addAttribute("paginationInfo", paginationInfo); | |
| 376 | +// return "uss/ion/pwm/EgovPopupList"; | |
| 377 | +// } | |
| 378 | + | |
| 379 | +// /** | |
| 380 | +// * 통합링크관리 목록을 상세조회 조회한다. | |
| 381 | +// * @param popupManageVO | |
| 382 | +// * @param commandMap | |
| 383 | +// * @param model | |
| 384 | +// * @return | |
| 385 | +// * "/uss/ion/pwm/detailPopupManage" | |
| 386 | +// * @throws Exception | |
| 387 | +// */ | |
| 388 | +// @RequestMapping(value = "/uss/ion/pwm/detailPopup.do") | |
| 389 | +// public String egovPopupManageDetail(PopupManageVO popupManageVO, @RequestParam Map<?, ?> commandMap, RedirectAttributes redirectAttributes, ModelMap model) throws Exception { | |
| 390 | +// | |
| 391 | +// String sLocationUrl = "uss/ion/pwm/EgovPopupDetail"; | |
| 392 | +// | |
| 393 | +// String sCmd = commandMap.get("cmd") == null ? "" : (String) commandMap.get("cmd"); | |
| 394 | +// | |
| 395 | +// if (sCmd.equals("del")) { | |
| 396 | +// //egovPopupManageService.deletePopup(popupManageVO); | |
| 397 | +// popupManageVO.setDelSttus("Y"); | |
| 398 | +// try{ | |
| 399 | +// egovPopupManageService.deletePopup(popupManageVO); | |
| 400 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); | |
| 401 | +// }catch(Exception e){ | |
| 402 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete")); | |
| 403 | +// } | |
| 404 | +// | |
| 405 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("uss/ion/pwm/listPopup.do"); | |
| 406 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 407 | +// | |
| 408 | +// | |
| 409 | +// //sLocationUrl = "forward:/uss/ion/pwm/listPopup.do"; | |
| 410 | +// } else { | |
| 411 | +// //상세정보 불러오기 | |
| 412 | +// PopupManageVO popupManageVOs = egovPopupManageService.selectPopup(popupManageVO); | |
| 413 | +// model.addAttribute("popupManageVO", popupManageVOs); | |
| 414 | +// } | |
| 415 | +// | |
| 416 | +// return sLocationUrl; | |
| 417 | +// } | |
| 418 | +// | |
| 419 | +// /** | |
| 420 | +// * 통합링크관리를 수정한다. | |
| 421 | +// * @param searchVO | |
| 422 | +// * @param popupManageVO | |
| 423 | +// * @param bindingResult | |
| 424 | +// * @param model | |
| 425 | +// * @return | |
| 426 | +// * "/uss/ion/pwm/updtPopupManage" | |
| 427 | +// * @throws Exception | |
| 428 | +// */ | |
| 429 | +// @RequestMapping(value = "/uss/ion/pwm/updtPopup.do") | |
| 430 | +// public String updateEgovPopupManage(HttpSession session , @RequestParam Map<?, ?> commandMap, PopupManageVO popupManageVO, BindingResult bindingResult, RedirectAttributes redirectAttributes,ModelMap model) throws Exception { | |
| 431 | +// | |
| 432 | +// // 미인증 사용자에 대한 보안처리 | |
| 433 | +// Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 434 | +// if(!isAuthenticated) { | |
| 435 | +// model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); | |
| 436 | +// return "uat/uia/EgovLoginUsr"; | |
| 437 | +// } | |
| 438 | +// | |
| 439 | +// // 로그인 객체 선언 | |
| 440 | +// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 441 | +// | |
| 442 | +// String sLocationUrl = "uss/ion/pwm/EgovPopupUpdt"; | |
| 443 | +// | |
| 444 | +// String sCmd = commandMap.get("cmd") == null ? "" : (String) commandMap.get("cmd"); | |
| 445 | +// | |
| 446 | +// //팝업창시작일자(시) | |
| 447 | +// model.addAttribute("ntceBgndeHH", getTimeHH()); | |
| 448 | +// //팝업창시작일자(분) | |
| 449 | +// model.addAttribute("ntceBgndeMM", getTimeMM()); | |
| 450 | +// //팝업창종료일자(시) | |
| 451 | +// model.addAttribute("ntceEnddeHH", getTimeHH()); | |
| 452 | +// //팝업창정료일자(분) | |
| 453 | +// model.addAttribute("ntceEnddeMM", getTimeMM()); | |
| 454 | +// | |
| 455 | +// if (sCmd.equals("save")) { | |
| 456 | +// sLocationUrl = "forward:/uss/ion/pwm/listPopup.do"; | |
| 457 | +// //서버 validate 체크 | |
| 458 | +// beanValidator.validate(popupManageVO, bindingResult); | |
| 459 | +// if (bindingResult.hasErrors()) { | |
| 460 | +// return sLocationUrl; | |
| 461 | +// } | |
| 462 | +// //아이디 설정 | |
| 463 | +// popupManageVO.setFrstRegisterId(loginVO.getUniqId()); | |
| 464 | +// popupManageVO.setLastUpdusrId(loginVO.getUniqId()); | |
| 465 | +// //저장 | |
| 466 | +// egovPopupManageService.updatePopup(popupManageVO); | |
| 467 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); | |
| 468 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/listPopup.do"); | |
| 469 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 470 | +// } else { | |
| 471 | +// | |
| 472 | +// PopupManageVO popupManageVOs = egovPopupManageService.selectPopup(popupManageVO); | |
| 473 | +// | |
| 474 | +// String sNtceBgnde = popupManageVOs.getNtceBgnde(); | |
| 475 | +// String sNtceEndde = popupManageVOs.getNtceEndde(); | |
| 476 | +// | |
| 477 | +// popupManageVOs.setNtceBgndeHH(sNtceBgnde.substring(8, 10)); | |
| 478 | +// popupManageVOs.setNtceBgndeMM(sNtceBgnde.substring(10, 12)); | |
| 479 | +// | |
| 480 | +// popupManageVOs.setNtceEnddeHH(sNtceEndde.substring(8, 10)); | |
| 481 | +// popupManageVOs.setNtceEnddeMM(sNtceEndde.substring(10, 12)); | |
| 482 | +// | |
| 483 | +// model.addAttribute("popupManageVO", popupManageVOs); | |
| 484 | +// } | |
| 485 | +// return sLocationUrl; | |
| 486 | +// } | |
| 487 | +// | |
| 488 | +// /** | |
| 489 | +// * 통합링크관리를 등록한다. | |
| 490 | +// * @param searchVO | |
| 491 | +// * @param popupManageVO | |
| 492 | +// * @param bindingResult | |
| 493 | +// * @param model | |
| 494 | +// * @return | |
| 495 | +// * "/uss/ion/pwm/registPopupManage" | |
| 496 | +// * @throws Exception | |
| 497 | +// */ | |
| 498 | +// @RequestMapping(value = "/uss/ion/pwm/egovPopupRegist.do") | |
| 499 | +// public String insertEgovPopupRegist(@RequestParam Map<?, ?> commandMap, @ModelAttribute("popupManageVO") PopupManageVO popupManageVO, BindingResult bindingResult, | |
| 500 | +// RedirectAttributes redirectAttributes ,ModelMap model, HttpSession session ) throws Exception { | |
| 501 | +// | |
| 502 | +// /*if (!EgovDoubleSubmitHelper.checkAndSaveToken()) { | |
| 503 | +// return "forward:/uss/ion/pwm/listPopup.do"; | |
| 504 | +// }*/ | |
| 505 | +// | |
| 506 | +// // 0. Spring Security 사용자권한 처리 | |
| 507 | +// Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 508 | +// if (!isAuthenticated) { | |
| 509 | +// model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); | |
| 510 | +// return "uat/uia/EgovLoginUsr"; | |
| 511 | +// } | |
| 512 | +// | |
| 513 | +// // 로그인 객체 선언 | |
| 514 | +// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 515 | +// | |
| 516 | +// String sLocationUrl = "uss/ion/pwm/EgovPopupRegist"; | |
| 517 | +// | |
| 518 | +// String sCmd = commandMap.get("cmd") == null ? "" : (String) commandMap.get("cmd"); | |
| 519 | +// LOGGER.info("cmd => {}", sCmd); | |
| 520 | +// | |
| 521 | +// if (sCmd.equals("save")) { | |
| 522 | +// beanValidator.validate(popupManageVO, bindingResult); | |
| 523 | +// if (bindingResult.hasErrors()) { | |
| 524 | +// return sLocationUrl; | |
| 525 | +// } | |
| 526 | +// //아이디 설정 | |
| 527 | +// popupManageVO.setFrstRegisterId(loginVO.getUniqId()); | |
| 528 | +// popupManageVO.setLastUpdusrId(loginVO.getUniqId()); | |
| 529 | +// //저장 | |
| 530 | +// popupManageVO.setNttCn(unscript(popupManageVO.getNttCn())); // XSS 방지 | |
| 531 | +// popupManageVO.setDelSttus("N"); //최초 생성시 삭제여부 N | |
| 532 | +// egovPopupManageService.insertPopup(popupManageVO); | |
| 533 | +// | |
| 534 | +// if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //리스트, 수정, 입력 | |
| 535 | +// popupManageVO.setSiteId(loginVO.getSiteId()); | |
| 536 | +// } | |
| 537 | +// | |
| 538 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); | |
| 539 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/listPopup.do"); | |
| 540 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 541 | +// //sLocationUrl = "forward:/uss/ion/pwm/listPopup.do"; | |
| 542 | +// } | |
| 543 | +// | |
| 544 | +// //팝업창시작일자(시) | |
| 545 | +// model.addAttribute("ntceBgndeHH", getTimeHH()); | |
| 546 | +// //팝업창시작일자(분) | |
| 547 | +// model.addAttribute("ntceBgndeMM", getTimeMM()); | |
| 548 | +// //팝업창종료일자(시) | |
| 549 | +// model.addAttribute("ntceEnddeHH", getTimeHH()); | |
| 550 | +// //팝업창정료일자(분) | |
| 551 | +// model.addAttribute("ntceEnddeMM", getTimeMM()); | |
| 552 | +// return sLocationUrl; | |
| 553 | +// } | |
| 554 | +// | |
| 555 | +// /** | |
| 556 | +// * 팝업창정보를 조회한다. | |
| 557 | +// * @param commandMap | |
| 558 | +// * @param popupManageVO | |
| 559 | +// * @return | |
| 560 | +// * @throws Exception | |
| 561 | +// */ | |
| 562 | +// @RequestMapping(value = "/uss/ion/pwm/ajaxPopupManageInfoBack.do") | |
| 563 | +// public void egovPopupManageInfoAjaxBack(@RequestParam Map<?, ?> commandMap, HttpServletResponse response, PopupManageVO popupManageVO) throws Exception { | |
| 564 | +// | |
| 565 | +// response.setHeader("Content-Type", "text/html;charset=utf-8"); | |
| 566 | +// PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(), "UTF-8")); | |
| 567 | +// | |
| 568 | +// LOGGER.debug("commandMap : {}", commandMap); | |
| 569 | +// LOGGER.debug("popupManageVO : {}", popupManageVO); | |
| 570 | +// | |
| 571 | +// PopupManageVO popupManageVOs = egovPopupManageService.selectPopup(popupManageVO); | |
| 572 | +// | |
| 573 | +// | |
| 574 | +// String sPrint = ""; | |
| 575 | +// sPrint = popupManageVOs.getFileUrl(); | |
| 576 | +// sPrint = sPrint + "||" + popupManageVOs.getPopupWSize(); | |
| 577 | +// sPrint = sPrint + "||" + popupManageVOs.getPopupHSize(); | |
| 578 | +// sPrint = sPrint + "||" + popupManageVOs.getPopupHlc(); | |
| 579 | +// sPrint = sPrint + "||" + popupManageVOs.getPopupWlc(); | |
| 580 | +// sPrint = sPrint + "||" + popupManageVOs.getStopVewAt(); | |
| 581 | +// sPrint = sPrint + "||" + popupManageVOs.getPopupType(); | |
| 582 | +// out.print(sPrint); | |
| 583 | +// out.flush(); | |
| 584 | +// } | |
| 585 | +// | |
| 586 | +// | |
| 587 | +// @RequestMapping(value = "/uss/ion/pwm/ajaxPopupManageInfo.do") | |
| 588 | +// public ModelAndView ajaxPopupManageInfo(@RequestParam Map<String, Object> commandMap) throws Exception { | |
| 589 | +// ModelAndView modelAndView = new ModelAndView(); | |
| 590 | +// modelAndView.setViewName("jsonView"); | |
| 591 | +// | |
| 592 | +// PopupManageVO popupManageVO = new PopupManageVO(); | |
| 593 | +// popupManageVO.setPopupId((String) commandMap.get("popupIds")); | |
| 594 | +// PopupManageVO popupManageVOs = egovPopupManageService.selectPopup(popupManageVO); | |
| 595 | +// modelAndView.addObject("popupManageVOs", popupManageVOs); | |
| 596 | +// return modelAndView; | |
| 597 | +// } | |
| 598 | +// | |
| 599 | +// /** | |
| 600 | +// * 팝업창을 오픈 한다. | |
| 601 | +// * @param commandMap | |
| 602 | +// * @param popupManageVO | |
| 603 | +// * @return | |
| 604 | +// * @throws Exception | |
| 605 | +// */ | |
| 606 | +// @RequestMapping(value = "/uss/ion/pwm/openPopupManage.do") | |
| 607 | +// public String egovPopupManagePopupOpen(@RequestParam("fileUrl") String fileUrl, @RequestParam("stopVewAt") String stopVewAt, @RequestParam("popupId") String popupId, | |
| 608 | +// ModelMap model) throws Exception { | |
| 609 | +// //팝업창이 윈도우일 경우 | |
| 610 | +// //상세정보 불러오기 | |
| 611 | +// | |
| 612 | +// PopupManageVO paramPopupManageVO = new PopupManageVO(); | |
| 613 | +// paramPopupManageVO.setPopupId(popupId); | |
| 614 | +// PopupManageVO popupManageVOs = egovPopupManageService.selectPopup(paramPopupManageVO); | |
| 615 | +// model.addAttribute("popupManageVO", popupManageVOs); | |
| 616 | +// | |
| 617 | +// model.addAttribute("stopVewAt", stopVewAt); | |
| 618 | +// model.addAttribute("popupId", popupId); | |
| 619 | +// | |
| 620 | +// return fileUrl; | |
| 621 | +// } | |
| 622 | +// | |
| 623 | +// /** | |
| 624 | +// * 팝업창관리 메인 테스트 목록을 조회한다. | |
| 625 | +// * @param popupManageVO | |
| 626 | +// * @param model | |
| 627 | +// * @return "uss/ion/pwm/listMainPopup" | |
| 628 | +// * @throws Exception | |
| 629 | +// */ | |
| 630 | +// @RequestMapping(value = "/uss/ion/pwm/listMainPopup.do") | |
| 631 | +// public String egovPopupManageMainList(PopupManageVO popupManageVO, ModelMap model) throws Exception { | |
| 632 | +// | |
| 633 | +// List<?> reusltList = egovPopupManageService.selectPopupMainList(popupManageVO); | |
| 634 | +// model.addAttribute("resultList", reusltList); | |
| 635 | +// | |
| 636 | +// return "uss/ion/pwm/EgovPopupMainList"; | |
| 637 | +// } | |
| 638 | +// | |
| 639 | +// /** | |
| 640 | +// * 시간을 LIST를 반환한다. | |
| 641 | +// * @return List | |
| 642 | +// * @throws | |
| 643 | +// */ | |
| 644 | +// @SuppressWarnings("unused") | |
| 645 | +// private List<ComDefaultCodeVO> getTimeHH() { | |
| 646 | +// ArrayList<ComDefaultCodeVO> listHH = new ArrayList<ComDefaultCodeVO>(); | |
| 647 | +// HashMap<?, ?> hmHHMM; | |
| 648 | +// for (int i = 0; i <= 24; i++) { | |
| 649 | +// String sHH = ""; | |
| 650 | +// String strI = String.valueOf(i); | |
| 651 | +// if (i < 10) { | |
| 652 | +// sHH = "0" + strI; | |
| 653 | +// } else { | |
| 654 | +// sHH = strI; | |
| 655 | +// } | |
| 656 | +// | |
| 657 | +// ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); | |
| 658 | +// codeVO.setCode(sHH); | |
| 659 | +// codeVO.setCodeNm(sHH); | |
| 660 | +// | |
| 661 | +// listHH.add(codeVO); | |
| 662 | +// } | |
| 663 | +// | |
| 664 | +// return listHH; | |
| 665 | +// } | |
| 666 | +// | |
| 667 | +// /** | |
| 668 | +// * 분을 LIST를 반환한다. | |
| 669 | +// * @return List | |
| 670 | +// * @throws | |
| 671 | +// */ | |
| 672 | +// @SuppressWarnings("unused") | |
| 673 | +// private List<ComDefaultCodeVO> getTimeMM() { | |
| 674 | +// ArrayList<ComDefaultCodeVO> listMM = new ArrayList<ComDefaultCodeVO>(); | |
| 675 | +// HashMap<?, ?> hmHHMM; | |
| 676 | +// for (int i = 0; i <= 60; i++) { | |
| 677 | +// | |
| 678 | +// String sMM = ""; | |
| 679 | +// String strI = String.valueOf(i); | |
| 680 | +// if (i < 10) { | |
| 681 | +// sMM = "0" + strI; | |
| 682 | +// } else { | |
| 683 | +// sMM = strI; | |
| 684 | +// } | |
| 685 | +// | |
| 686 | +// ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); | |
| 687 | +// codeVO.setCode(sMM); | |
| 688 | +// codeVO.setCodeNm(sMM); | |
| 689 | +// | |
| 690 | +// listMM.add(codeVO); | |
| 691 | +// } | |
| 692 | +// return listMM; | |
| 693 | +// } | |
| 694 | +// | |
| 695 | +// /** | |
| 696 | +// * 0을 붙여 반환 | |
| 697 | +// * @return String | |
| 698 | +// * @throws | |
| 699 | +// */ | |
| 700 | +// public String dateTypeIntForString(int iInput) { | |
| 701 | +// String sOutput = ""; | |
| 702 | +// if (Integer.toString(iInput).length() == 1) { | |
| 703 | +// sOutput = "0" + Integer.toString(iInput); | |
| 704 | +// } else { | |
| 705 | +// sOutput = Integer.toString(iInput); | |
| 706 | +// } | |
| 707 | +// | |
| 708 | +// return sOutput; | |
| 709 | +// } | |
| 710 | +// | |
| 711 | +// /** | |
| 712 | +// * XSS 방지 처리. | |
| 713 | +// * | |
| 714 | +// * @param data | |
| 715 | +// * @return | |
| 716 | +// */ | |
| 717 | +// protected String unscript(String data) { | |
| 718 | +// if (data == null || data.trim().equals("")) { | |
| 719 | +// return ""; | |
| 720 | +// } | |
| 721 | +// | |
| 722 | +// String ret = data; | |
| 723 | +// | |
| 724 | +// ret = ret.replaceAll("<(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "<script"); | |
| 725 | +// ret = ret.replaceAll("</(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "</script"); | |
| 726 | +// | |
| 727 | +// ret = ret.replaceAll("<(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "<object"); | |
| 728 | +// ret = ret.replaceAll("</(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "</object"); | |
| 729 | +// | |
| 730 | +// ret = ret.replaceAll("<(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "<applet"); | |
| 731 | +// ret = ret.replaceAll("</(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "</applet"); | |
| 732 | +// | |
| 733 | +// ret = ret.replaceAll("<(E|e)(M|m)(B|b)(E|e)(D|d)", "<embed"); | |
| 734 | +// ret = ret.replaceAll("</(E|e)(M|m)(B|b)(E|e)(D|d)", "<embed"); | |
| 735 | +// | |
| 736 | +// ret = ret.replaceAll("<(F|f)(O|o)(R|r)(M|m)", "<form"); | |
| 737 | +// ret = ret.replaceAll("</(F|f)(O|o)(R|r)(M|m)", "<form"); | |
| 738 | +// | |
| 739 | +// return ret; | |
| 740 | +// } | |
| 741 | +// | |
| 742 | +// /*알림창괸리*/ | |
| 743 | +// @RequestMapping(value="/uss/ion/pwm/popupzoneList.do") | |
| 744 | +// public String selectPopupZoneList(ModelMap model , @ModelAttribute("searchVO") PopupzoneVO popupzoneVo, HttpSession session) | |
| 745 | +// throws Exception { | |
| 746 | +// | |
| 747 | +// /** paging */ | |
| 748 | +// if(popupzoneVo.getPageUnit()% 8 != 0) {//9 배수로 넘어오지 않으면 초기세팅 | |
| 749 | +// popupzoneVo.setPageUnit(8); | |
| 750 | +// }else { | |
| 751 | +// popupzoneVo.setPageUnit(popupzoneVo.getPageUnit()); | |
| 752 | +// } | |
| 753 | +// | |
| 754 | +// PaginationInfo paginationInfo = new PaginationInfo(); | |
| 755 | +// paginationInfo.setCurrentPageNo(popupzoneVo.getPageIndex()); | |
| 756 | +// paginationInfo.setRecordCountPerPage(popupzoneVo.getPageUnit()); | |
| 757 | +// paginationInfo.setPageSize(popupzoneVo.getPageSize()); | |
| 758 | +// | |
| 759 | +// popupzoneVo.setFirstIndex(paginationInfo.getFirstRecordIndex()); | |
| 760 | +// popupzoneVo.setLastIndex(paginationInfo.getLastRecordIndex()); | |
| 761 | +// popupzoneVo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); | |
| 762 | +// | |
| 763 | +// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 764 | +// if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //리스트, 수정, 입력 | |
| 765 | +// popupzoneVo.setSiteId(loginVO.getSiteId()); | |
| 766 | +// } | |
| 767 | +// | |
| 768 | +// /** 알림창괸리 */ | |
| 769 | +// if("".equals(popupzoneVo.getSearchSortCnd())){ //최초조회시 최신것 조회List | |
| 770 | +// popupzoneVo.setSearchSortCnd("SORT"); | |
| 771 | +// popupzoneVo.setSearchSortOrd("asc"); | |
| 772 | +// } | |
| 773 | +// List<?> popupzoneList = egovPopupManageService.selectPopupzoneList(popupzoneVo); | |
| 774 | +// model.addAttribute("popupzoneList", popupzoneList); | |
| 775 | +// | |
| 776 | +// /* 타겟 코드 */ | |
| 777 | +// ComDefaultCodeVO vo = new ComDefaultCodeVO(); | |
| 778 | +// vo.setCodeId("COM037"); | |
| 779 | +// List<?> targetList = cmmUseService.selectCmmCodeDetail(vo); | |
| 780 | +// model.addAttribute("targetList", targetList); | |
| 781 | +// | |
| 782 | +// /*메인이미지 코드*/ | |
| 783 | +// vo.setCodeId("ITN008"); | |
| 784 | +// List<?> imgCode= cmmUseService.selectCmmCodeDetail(vo); | |
| 785 | +// model.addAttribute("imgCodeList", imgCode); | |
| 786 | +// | |
| 787 | +// int totCnt = egovPopupManageService.selectPopupzoneListTotCnt(popupzoneVo); | |
| 788 | +// paginationInfo.setTotalRecordCount(totCnt); | |
| 789 | +// model.addAttribute("paginationInfo", paginationInfo); | |
| 790 | +// return "uss/ion/pwm/PopupzoneList"; | |
| 791 | +// } | |
| 792 | +// | |
| 793 | +// /*알림창수정 view*/ | |
| 794 | +// @RequestMapping(value="/uss/ion/pwm/popupzoneModify.do") | |
| 795 | +// public String updatePopupZoneView(@RequestParam Map<?, ?> commandMap, | |
| 796 | +// HttpServletRequest request, Model model , HttpSession session) | |
| 797 | +// throws Exception { | |
| 798 | +// | |
| 799 | +// PopupzoneVO popupzoneVO = new PopupzoneVO(); | |
| 800 | +// if("Modify".equals((String)commandMap.get("pageType"))){ //수정 | |
| 801 | +// String pozId = (String)commandMap.get("selectedId"); | |
| 802 | +// popupzoneVO = egovPopupManageService.selectPopupzoneVO(pozId); | |
| 803 | +// if(popupzoneVO != null){ | |
| 804 | +// popupzoneVO.setBeSort(popupzoneVO.getSort()); | |
| 805 | +// FileVO fileVO = new FileVO(); | |
| 806 | +// String atchFileId = popupzoneVO.getPopupzoneImageFile(); | |
| 807 | +// fileVO.setAtchFileId(atchFileId); | |
| 808 | +// List<FileVO> fileList = fileService.selectFileInfs(fileVO); | |
| 809 | +// model.addAttribute("fileList", fileList); | |
| 810 | +// } | |
| 811 | +// }else{ //등록 | |
| 812 | +// } | |
| 813 | +// | |
| 814 | +// if(null != commandMap.get("seCd")){ | |
| 815 | +// popupzoneVO.setSeCd((String)(commandMap.get("seCd"))); | |
| 816 | +// } | |
| 817 | +// | |
| 818 | +// model.addAttribute("popupzoneVO", popupzoneVO); | |
| 819 | +// | |
| 820 | +// /* 타겟 코드 */ | |
| 821 | +// ComDefaultCodeVO vo = new ComDefaultCodeVO(); | |
| 822 | +// vo.setCodeId("COM037"); | |
| 823 | +// List<?> targetList = cmmUseService.selectCmmCodeDetail(vo); | |
| 824 | +// model.addAttribute("targetList", targetList); | |
| 825 | +// | |
| 826 | +// /*메인이미지 코드*/ | |
| 827 | +// vo.setCodeId("ITN008"); | |
| 828 | +// List<?> imgCode= cmmUseService.selectCmmCodeDetail(vo); | |
| 829 | +// model.addAttribute("imgCodeList", imgCode); | |
| 830 | +// return "uss/ion/pwm/PopupZoneModify"; | |
| 831 | +// } | |
| 832 | +// | |
| 833 | +// /*알림창수정 */ | |
| 834 | +// @RequestMapping("/uss/ion/pwm/popupzoneUpdate.do") | |
| 835 | +// public String updatePopupzone( | |
| 836 | +// @ModelAttribute("popupzoneVO") PopupzoneVO popupzoneVO, | |
| 837 | +// final MultipartHttpServletRequest multiRequest, | |
| 838 | +// HttpServletRequest request, | |
| 839 | +// RedirectAttributes redirectAttributes, | |
| 840 | +// HttpServletResponse response,Model model) | |
| 841 | +// throws Exception { | |
| 842 | +// //popupzoneVO.setUpfile(managementPopupzoneFile(popupzoneVO.getSeq(),popupzoneVO.getUpfile(),multiRequest)); | |
| 843 | +// | |
| 844 | +// /*SortVO sortVO = new SortVO(); | |
| 845 | +// | |
| 846 | +// if(odl_popupzoneVO.getSort() > popupzoneVO.getSort()){ | |
| 847 | +// sortVO.setStartSort(popupzoneVO.getSort()); | |
| 848 | +// sortVO.setEndSort(odl_popupzoneVO.getSort()); | |
| 849 | +// egovPopupManageService.updateSortUp(sortVO); | |
| 850 | +// } | |
| 851 | +// else if(odl_popupzoneVO.getSort() < popupzoneVO.getSort()) { | |
| 852 | +// sortVO.setStartSort(odl_popupzoneVO.getSort()); | |
| 853 | +// sortVO.setEndSort(popupzoneVO.getSort()); | |
| 854 | +// egovPopupManageService.updateSortDown(sortVO); | |
| 855 | +// }*/ | |
| 856 | +// | |
| 857 | +// /*파일등록 */ | |
| 858 | +// List<FileVO> result = null; | |
| 859 | +// String uploadFolder = ""; | |
| 860 | +// String orignlFileNm = ""; | |
| 861 | +// String atchFileId = ""; | |
| 862 | +// final Map<String, MultipartFile> files = multiRequest.getFileMap(); | |
| 863 | +// | |
| 864 | +// if (!files.isEmpty()){ | |
| 865 | +// result = fileUtil.parseFileInf(files, "POZ_", 0, "", uploadFolder, ""); | |
| 866 | +// atchFileId = fileMngService.insertFileInfs(result); | |
| 867 | +// FileVO vo = null; | |
| 868 | +// Iterator<FileVO> iter = result.iterator(); | |
| 869 | +// while (iter.hasNext()) { | |
| 870 | +// vo = iter.next(); | |
| 871 | +// orignlFileNm = vo.getOrignlFileNm(); | |
| 872 | +// atchFileId = vo.getAtchFileId(); | |
| 873 | +// } | |
| 874 | +// if (vo == null) { | |
| 875 | +// } else { | |
| 876 | +// popupzoneVO.setPopupzoneImage(orignlFileNm); | |
| 877 | +// popupzoneVO.setPopupzoneImageFile(atchFileId); | |
| 878 | +// } | |
| 879 | +// } | |
| 880 | +// | |
| 881 | +// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 882 | +// if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //리스트, 수정, 입력 | |
| 883 | +// popupzoneVO.setSiteId(loginVO.getSiteId()); | |
| 884 | +// } | |
| 885 | +// popupzoneVO.setRegisterId(loginVO.getUniqId()); | |
| 886 | +// egovPopupManageService.updatePopupzone(popupzoneVO); | |
| 887 | +// | |
| 888 | +// if(popupzoneVO.getSort() < popupzoneVO.getBeSort() ){ //sortOver : A 후번호로 변경 , D : 선번호로 변경 | |
| 889 | +// popupzoneVO.setSortOver("D"); | |
| 890 | +// } | |
| 891 | +// egovPopupManageService.resetVOSort(popupzoneVO); | |
| 892 | +// | |
| 893 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); | |
| 894 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/popupzoneList.do?seCd="+popupzoneVO.getSeCd()); | |
| 895 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 896 | +// // return "forward:/uss/ion/pwm/popupzoneList.do"; | |
| 897 | +// } | |
| 898 | +// | |
| 899 | +// /*알림창삭제 */ | |
| 900 | +// @RequestMapping("/uss/ion/pwm/popupzoneListDelete.do") | |
| 901 | +// public String deletePopupzone(@RequestParam("del") String[] del, RedirectAttributes redirectAttributes , @RequestParam Map<?, ?> commandMap , Model model) throws Exception { | |
| 902 | +// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 903 | +// PopupzoneVO popupzoneVO = new PopupzoneVO(); | |
| 904 | +// for(String id:del) { | |
| 905 | +// try{ | |
| 906 | +// popupzoneVO = egovPopupManageService.selectPopupzoneVO(id); | |
| 907 | +// }catch(Exception e){ | |
| 908 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("info.nodata.msg")); | |
| 909 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/popupzoneList.do"); | |
| 910 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 911 | +// } | |
| 912 | +// egovPopupManageService.deletePopupzone(id); | |
| 913 | +// if(null != loginVO && !"super".equals(loginVO.getSiteId())){ | |
| 914 | +// popupzoneVO.setSiteId(loginVO.getSiteId()); | |
| 915 | +// } | |
| 916 | +// egovPopupManageService.resetSort(popupzoneVO); | |
| 917 | +// } | |
| 918 | +// | |
| 919 | +// String paramSeCd = ""; | |
| 920 | +// if(null != commandMap.get("seCd")) { | |
| 921 | +// paramSeCd = "?seCd="+(String)commandMap.get("seCd") ; | |
| 922 | +// } | |
| 923 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); | |
| 924 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/popupzoneList.do"+paramSeCd); | |
| 925 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 926 | +// } | |
| 927 | +// | |
| 928 | +// /* 알림창 등록 */ | |
| 929 | +// @RequestMapping("/uss/ion/pwm/popupzoneInsert.do") | |
| 930 | +// public String insertPopupzone( @ModelAttribute("popupzoneVO") PopupzoneVO popupzoneVO, final MultipartHttpServletRequest multiRequest, RedirectAttributes redirectAttributes, | |
| 931 | +// HttpServletRequest request, HttpServletResponse response,Model model) | |
| 932 | +// throws Exception { | |
| 933 | +// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 934 | +// String pozId = idgenService.getNextStringId(); | |
| 935 | +// popupzoneVO.setPozId(pozId); | |
| 936 | +// | |
| 937 | +// /*파일등록 */ | |
| 938 | +// List<FileVO> result = null; | |
| 939 | +// String uploadFolder = ""; | |
| 940 | +// String orignlFileNm = ""; | |
| 941 | +// String atchFileId = ""; | |
| 942 | +// final Map<String, MultipartFile> files = multiRequest.getFileMap(); | |
| 943 | +// if (!files.isEmpty()){ | |
| 944 | +// result = fileUtil.parseFileInf(files, "POZ_", 0, "", uploadFolder, ""); | |
| 945 | +// atchFileId = fileMngService.insertFileInfs(result); | |
| 946 | +// FileVO vo = null; | |
| 947 | +// Iterator<FileVO> iter = result.iterator(); | |
| 948 | +// while (iter.hasNext()) { | |
| 949 | +// vo = iter.next(); | |
| 950 | +// orignlFileNm = vo.getOrignlFileNm(); | |
| 951 | +// atchFileId = vo.getAtchFileId(); | |
| 952 | +// } | |
| 953 | +// if (vo == null) { | |
| 954 | +// } else { | |
| 955 | +// popupzoneVO.setPopupzoneImage(orignlFileNm); | |
| 956 | +// popupzoneVO.setPopupzoneImageFile(atchFileId); | |
| 957 | +// } | |
| 958 | +// } | |
| 959 | +// | |
| 960 | +// popupzoneVO.setRegisterId(loginVO.getUniqId()); | |
| 961 | +// if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //리스트, 수정, 입력 | |
| 962 | +// popupzoneVO.setSiteId(loginVO.getSiteId()); | |
| 963 | +// } | |
| 964 | +// | |
| 965 | +// egovPopupManageService.insertPopupzone(popupzoneVO); | |
| 966 | +// //sort 1부터 재 정렬 | |
| 967 | +// popupzoneVO.setSortOver("D"); | |
| 968 | +// egovPopupManageService.resetSort(popupzoneVO); | |
| 969 | +// | |
| 970 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); | |
| 971 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/popupzoneList.do?seCd="+popupzoneVO.getSeCd()); | |
| 972 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 973 | +// //return "forward:/uss/ion/pwm/popupzoneList.do"; | |
| 974 | +// } | |
| 975 | +// | |
| 976 | +// /* 메인이미지 등록 */ | |
| 977 | +// @RequestMapping("/uss/ion/pwm/mainzoneInsert.do") | |
| 978 | +// public String insertMainzone( @ModelAttribute("mainzoneVO") MainzoneVO mainzoneVO, final MultipartHttpServletRequest multiRequest, | |
| 979 | +// HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes , Model model) | |
| 980 | +// throws Exception { | |
| 981 | +// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 982 | +// | |
| 983 | +// String mainId = idgenServiceMain.getNextStringId(); | |
| 984 | +// mainzoneVO.setMazId(mainId); | |
| 985 | +// mainzoneVO.setRegisterId(loginVO.getUniqId()); | |
| 986 | +// //SortVO sortVO = new SortVO(); | |
| 987 | +// //sortVO.setStartSort(mainzoneVO.getSort()); | |
| 988 | +// //sortVO.setEndSort(egovPopupManageService.getMainMaxSort()); | |
| 989 | +// | |
| 990 | +// /*파일등록 */ | |
| 991 | +// List<FileVO> result = null; | |
| 992 | +// String uploadFolder = ""; | |
| 993 | +// String orignlFileNm = ""; | |
| 994 | +// String atchFileId = ""; | |
| 995 | +// final Map<String, MultipartFile> files = multiRequest.getFileMap(); | |
| 996 | +// if (!files.isEmpty()){ | |
| 997 | +// result = fileUtil.parseFileInf(files, "MAZ_", 0, "", uploadFolder, ""); | |
| 998 | +// atchFileId = fileMngService.insertFileInfs(result); | |
| 999 | +// FileVO vo = null; | |
| 1000 | +// Iterator<FileVO> iter = result.iterator(); | |
| 1001 | +// while (iter.hasNext()) { | |
| 1002 | +// vo = iter.next(); | |
| 1003 | +// orignlFileNm = vo.getOrignlFileNm(); | |
| 1004 | +// atchFileId = vo.getAtchFileId(); | |
| 1005 | +// } | |
| 1006 | +// if (vo == null) { | |
| 1007 | +// } else { | |
| 1008 | +// mainzoneVO.setMainzoneImage(orignlFileNm); | |
| 1009 | +// mainzoneVO.setMainzoneImageFile(atchFileId); | |
| 1010 | +// } | |
| 1011 | +// } | |
| 1012 | +// | |
| 1013 | +// if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //리스트, 수정, 입력 | |
| 1014 | +// mainzoneVO.setSiteId(loginVO.getSiteId()); | |
| 1015 | +// } | |
| 1016 | +// | |
| 1017 | +// egovPopupManageService.insertMainzone(mainzoneVO); | |
| 1018 | +// //sort 1부터 재 정렬 | |
| 1019 | +// mainzoneVO.setSortOver("D"); //앞쪽에 넣음 | |
| 1020 | +// egovPopupManageService.resetMainVOSort(mainzoneVO); | |
| 1021 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); | |
| 1022 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/mainzoneList.do"); | |
| 1023 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 1024 | +// //return "forward:/uss/ion/pwm/mainzoneList.do"; | |
| 1025 | +// } | |
| 1026 | +// | |
| 1027 | +// | |
| 1028 | +// /*메인 이미지삭제 */ | |
| 1029 | +// @RequestMapping("/uss/ion/pwm/mainzoneListDelete.do") | |
| 1030 | +// public String deleteMainzoneDelete(@RequestParam("del") String[] del, RedirectAttributes redirectAttributes , Model model) throws Exception { | |
| 1031 | +// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 1032 | +// MainzoneVO mainzoneVO = new MainzoneVO(); | |
| 1033 | +// for(String id:del) { | |
| 1034 | +// try{ | |
| 1035 | +// mainzoneVO = egovPopupManageService.selectMainzoneVO(id); | |
| 1036 | +// }catch(Exception e){ | |
| 1037 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("info.nodata.msg")); | |
| 1038 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/mainzoneList.do"); | |
| 1039 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 1040 | +// } | |
| 1041 | +// egovPopupManageService.deleteMainzone(id); | |
| 1042 | +// if(null != loginVO && !"super".equals(loginVO.getSiteId())){ | |
| 1043 | +// mainzoneVO.setSiteId(loginVO.getSiteId()); | |
| 1044 | +// } | |
| 1045 | +// egovPopupManageService.resetMainVOSort(mainzoneVO); | |
| 1046 | +// } | |
| 1047 | +// | |
| 1048 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); | |
| 1049 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/mainzoneList.do"); | |
| 1050 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 1051 | +// } | |
| 1052 | +// | |
| 1053 | +// | |
| 1054 | +// /*알림창수정 */ | |
| 1055 | +// @RequestMapping("/uss/ion/pwm/mainzoneUpdate.do") | |
| 1056 | +// public String updateMainzone( | |
| 1057 | +// @ModelAttribute("mainzoneVO") MainzoneVO mainzoneVO, | |
| 1058 | +// final MultipartHttpServletRequest multiRequest, | |
| 1059 | +// HttpServletRequest request, | |
| 1060 | +// RedirectAttributes redirectAttributes, | |
| 1061 | +// HttpServletResponse response,Model model) | |
| 1062 | +// throws Exception { | |
| 1063 | +// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 1064 | +// | |
| 1065 | +// /*파일등록 */ | |
| 1066 | +// List<FileVO> result = null; | |
| 1067 | +// String uploadFolder = ""; | |
| 1068 | +// String orignlFileNm = ""; | |
| 1069 | +// String atchFileId = ""; | |
| 1070 | +// final Map<String, MultipartFile> files = multiRequest.getFileMap(); | |
| 1071 | +// | |
| 1072 | +// if (!files.isEmpty()){ | |
| 1073 | +// result = fileUtil.parseFileInf(files, "MAZ_", 0, "", uploadFolder, ""); | |
| 1074 | +// atchFileId = fileMngService.insertFileInfs(result); | |
| 1075 | +// FileVO vo = null; | |
| 1076 | +// Iterator<FileVO> iter = result.iterator(); | |
| 1077 | +// while (iter.hasNext()) { | |
| 1078 | +// vo = iter.next(); | |
| 1079 | +// orignlFileNm = vo.getOrignlFileNm(); | |
| 1080 | +// atchFileId = vo.getAtchFileId(); | |
| 1081 | +// } | |
| 1082 | +// if (vo == null) { | |
| 1083 | +// } else { | |
| 1084 | +// mainzoneVO.setMainzoneImage(orignlFileNm); | |
| 1085 | +// mainzoneVO.setMainzoneImageFile(atchFileId); | |
| 1086 | +// } | |
| 1087 | +// } | |
| 1088 | +// mainzoneVO.setRegisterId(loginVO.getUniqId()); | |
| 1089 | +// if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //리스트, 수정, 입력 | |
| 1090 | +// mainzoneVO.setSiteId(loginVO.getSiteId()); | |
| 1091 | +// } | |
| 1092 | +// | |
| 1093 | +// egovPopupManageService.updateMainzone(mainzoneVO); | |
| 1094 | +// | |
| 1095 | +// //sort 1부터 재 정렬 | |
| 1096 | +// if(mainzoneVO.getSort() < mainzoneVO.getBeSort() ){ //sortOver : A 후번호로 변경 , D : 선번호로 변경 | |
| 1097 | +// mainzoneVO.setSortOver("D"); | |
| 1098 | +// } | |
| 1099 | +// egovPopupManageService.resetMainVOSort(mainzoneVO); | |
| 1100 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); | |
| 1101 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/mainzoneList.do"); | |
| 1102 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 1103 | +// } | |
| 1104 | +// | |
| 1105 | +// /** | |
| 1106 | +// * 통합링크관리 목록을 상세조회 조회한다. | |
| 1107 | +// * @param popupManageVO | |
| 1108 | +// * @param commandMap | |
| 1109 | +// * @param model | |
| 1110 | +// * @return | |
| 1111 | +// * "/uss/ion/pwm/detailPopupManage" | |
| 1112 | +// * @throws Exception | |
| 1113 | +// */ | |
| 1114 | +// @RequestMapping(value = "/uss/ion/bnr/removePopupList.do") | |
| 1115 | +// public String deletePopupList(PopupManageVO popupManageVO, @RequestParam Map<?, ?> commandMap, @RequestParam("checkList") String[] checkList, RedirectAttributes redirectAttributes, ModelMap model) throws Exception { | |
| 1116 | +// try{ | |
| 1117 | +// for(String id:checkList) { | |
| 1118 | +// popupManageVO.setPopupId(id); | |
| 1119 | +// popupManageVO.setDelSttus("Y"); | |
| 1120 | +// egovPopupManageService.deletePopup(popupManageVO); | |
| 1121 | +// } | |
| 1122 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); | |
| 1123 | +// }catch (Exception e) { | |
| 1124 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete")); | |
| 1125 | +// } | |
| 1126 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("uss/ion/pwm/listPopup.do"); | |
| 1127 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 1128 | +// } | |
| 1129 | +// | |
| 1130 | +// | |
| 1131 | +// | |
| 1132 | +// /*소셜허브괸리*/ | |
| 1133 | +// @RequestMapping(value="/uss/ion/pwm/socialList.do") | |
| 1134 | +// public String selectSocialList(ModelMap model , @ModelAttribute("searchVO") SocialVO socialVO, HttpSession session) | |
| 1135 | +// throws Exception { | |
| 1136 | +// | |
| 1137 | +// /** paging */ | |
| 1138 | +// if(socialVO.getPageUnit()% 8 != 0) {//9 배수로 넘어오지 않으면 초기세팅 | |
| 1139 | +// socialVO.setPageUnit(8); | |
| 1140 | +// }else { | |
| 1141 | +// socialVO.setPageUnit(socialVO.getPageUnit()); | |
| 1142 | +// } | |
| 1143 | +// | |
| 1144 | +// PaginationInfo paginationInfo = new PaginationInfo(); | |
| 1145 | +// paginationInfo.setCurrentPageNo(socialVO.getPageIndex()); | |
| 1146 | +// paginationInfo.setRecordCountPerPage(socialVO.getPageUnit()); | |
| 1147 | +// paginationInfo.setPageSize(socialVO.getPageSize()); | |
| 1148 | +// | |
| 1149 | +// socialVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); | |
| 1150 | +// socialVO.setLastIndex(paginationInfo.getLastRecordIndex()); | |
| 1151 | +// socialVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); | |
| 1152 | +// | |
| 1153 | +// LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 1154 | +// | |
| 1155 | +// /** 소설괸리 */ | |
| 1156 | +// if("".equals(socialVO.getSearchSortCnd())){ //최초조회시 최신것 조회List | |
| 1157 | +// socialVO.setSearchSortCnd("SORT"); | |
| 1158 | +// socialVO.setSearchSortOrd("asc"); | |
| 1159 | +// } | |
| 1160 | +// List<SocialVO> socialList = egovPopupManageService.selectSocialList(socialVO); | |
| 1161 | +// model.addAttribute("socialList", socialList); | |
| 1162 | +// | |
| 1163 | +// /* 타겟 코드 */ | |
| 1164 | +// ComDefaultCodeVO vo = new ComDefaultCodeVO(); | |
| 1165 | +// vo.setCodeId("COM037"); | |
| 1166 | +// List<?> targetList = cmmUseService.selectCmmCodeDetail(vo); | |
| 1167 | +// model.addAttribute("targetList", targetList); | |
| 1168 | +// | |
| 1169 | +// /*메인이미지 코드*/ | |
| 1170 | +// vo.setCodeId("ITN016"); | |
| 1171 | +// List<?> imgCode= cmmUseService.selectCmmCodeDetail(vo); | |
| 1172 | +// model.addAttribute("imgCodeList", imgCode); | |
| 1173 | +// | |
| 1174 | +// paginationInfo.setTotalRecordCount(socialList.size()> 0 ? ((SocialVO)socialList.get(0)).getTotCnt() : 0); | |
| 1175 | +// model.addAttribute("paginationInfo", paginationInfo); | |
| 1176 | +// return "uss/ion/pwm/SocialList"; | |
| 1177 | +// } | |
| 1178 | +// | |
| 1179 | +// | |
| 1180 | +// | |
| 1181 | +// /*소셜창수정 view*/ | |
| 1182 | +// @RequestMapping(value="/uss/ion/pwm/socialModify.do") | |
| 1183 | +// public String updateSocialModifyView(@RequestParam Map<?, ?> commandMap, | |
| 1184 | +// HttpServletRequest request, Model model , HttpSession session) | |
| 1185 | +// throws Exception { | |
| 1186 | +// | |
| 1187 | +// SocialVO socialVO = new SocialVO(); | |
| 1188 | +// if("Modify".equals((String)commandMap.get("pageType"))){ //수정 | |
| 1189 | +// String socialId = (String)commandMap.get("selectedId"); | |
| 1190 | +// //socialVO = egovPopupManageService.selectPopupzoneVO(pozId); | |
| 1191 | +// socialVO = egovPopupManageService.selectSocialVO(socialId); | |
| 1192 | +// if(socialVO != null){ | |
| 1193 | +// socialVO.setBeSort(socialVO.getSort()); | |
| 1194 | +// FileVO fileVO = new FileVO(); | |
| 1195 | +// String atchFileId = socialVO.getSocialImageFile(); | |
| 1196 | +// fileVO.setAtchFileId(atchFileId); | |
| 1197 | +// List<FileVO> fileList = fileService.selectFileInfs(fileVO); | |
| 1198 | +// model.addAttribute("fileList", fileList); | |
| 1199 | +// } | |
| 1200 | +// }else{ //등록 | |
| 1201 | +// } | |
| 1202 | +// | |
| 1203 | +// model.addAttribute("socialVO", socialVO); | |
| 1204 | +// | |
| 1205 | +// /* 타겟 코드 */ | |
| 1206 | +// ComDefaultCodeVO vo = new ComDefaultCodeVO(); | |
| 1207 | +// vo.setCodeId("COM037"); | |
| 1208 | +// List<?> targetList = cmmUseService.selectCmmCodeDetail(vo); | |
| 1209 | +// model.addAttribute("targetList", targetList); | |
| 1210 | +// | |
| 1211 | +// /*소셜허브종류 코드*/ | |
| 1212 | +// vo.setCodeId("ITN016"); | |
| 1213 | +// List<?> imgCode= cmmUseService.selectCmmCodeDetail(vo); | |
| 1214 | +// model.addAttribute("imgCodeList", imgCode); | |
| 1215 | +// //return "uss/ion/pwm/PopupZoneModify"; | |
| 1216 | +// return "uss/ion/pwm/SocialModify"; | |
| 1217 | +// } | |
| 1218 | +// | |
| 1219 | +// @RequestMapping(value = "/uss/ion/pwm/socialDelete.do") | |
| 1220 | +// public String deleteSocial(@RequestParam Map<?, ?> commandMap, @RequestParam("del") String[] del , RedirectAttributes redirectAttributes, ModelMap model) throws Exception { | |
| 1221 | +// try{ | |
| 1222 | +// for(String id:del) { | |
| 1223 | +// egovPopupManageService.deleteSocial(id); | |
| 1224 | +// } | |
| 1225 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); | |
| 1226 | +// }catch (Exception e) { | |
| 1227 | +// redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete")); | |
| 1228 | +// } | |
| 1229 | +// RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/socialList.do"); | |
| 1230 | +// return redirectUrlMaker.getRedirectUrl(); | |
| 1231 | +// } | |
| 1232 | +// | |
| 1233 | +// | |
| 1234 | +// | |
| 1235 | +}(No newline at end of file) |
+++ src/main/resources/egovframework/sqlmap/let/uss/ion/bnr/MainPopupManage_SQL_Mysql.xml
... | ... | @@ -0,0 +1,220 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> | |
| 3 | +<!-- | |
| 4 | + 수정일 수정자 수정내용 | |
| 5 | + =========== ======== ================================================= | |
| 6 | + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 | |
| 7 | +--> | |
| 8 | +<sqlMap namespace="UnityLink"> | |
| 9 | + | |
| 10 | + <typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/> | |
| 11 | + <typeAlias alias="comDefaultVO" type="itn.com.cmm.ComDefaultVO"/> | |
| 12 | + <typeAlias alias="PopupManageVO" type="itn.com.uss.ion.pwm.service.PopupManageVO" /> | |
| 13 | + <typeAlias alias="popupzoneVO" type="itn.com.uss.ion.pwm.service.PopupzoneVO"/> | |
| 14 | + <typeAlias alias="mainPopupVO" type="itn.com.uss.ion.bnr.pop.service.MainPopupVO"/> | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + <resultMap id="MainPopupLinkResultMap" class="itn.com.uss.ion.bnr.pop.service.MainPopupLinkVO"> | |
| 19 | + <result property="popId" column="POP_ID"></result> | |
| 20 | + <result property="mlink" column="MLINK"></result> | |
| 21 | + <result property="coords" column="COORDS"></result> | |
| 22 | + <result property="sort" column="SORT"></result> | |
| 23 | + </resultMap> | |
| 24 | + | |
| 25 | + | |
| 26 | + <resultMap id="MainPopupResultMap" class="itn.com.uss.ion.bnr.pop.service.MainPopupVO"> | |
| 27 | + <result property="popId" column="POP_ID" ></result> | |
| 28 | + <result property="content" column="CONTENT"></result> | |
| 29 | + <result property="regdt" column="REGDT"></result> | |
| 30 | + <result property="del" column="DEL"></result> | |
| 31 | + <result property="sort" column="SORT"></result> | |
| 32 | + <result property="mainzoneImage" column="MAINZONE_IMAGE"></result> | |
| 33 | + <result property="mainzoneImageFile" column="MAINZONE_IMAGE_FILE"></result> | |
| 34 | + <result property="popNm" column="POP_NM"></result> | |
| 35 | + <result property="useYn" column="USE_YN"></result> | |
| 36 | + <result property="moddt" column="MODDT"></result> | |
| 37 | + <result property="registerId" column="REGISTERID"></result> | |
| 38 | + <result property="deviceType" column="DEVICETYPE"></result> | |
| 39 | + <result property="ntceBgnde" column="NTCE_BGNDE"></result> | |
| 40 | + <result property="ntceEndde" column="NTCE_ENDDE"></result> | |
| 41 | + | |
| 42 | + <result property="mainPopupLinkList" column="POP_ID" select="mainPopup.selectMainPopupVOLink" /> | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + </resultMap> | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + <!-- 매인이미지 관리자 리스트 --> | |
| 51 | + <select id="mainPopup.selectMainPopupList" parameterClass="mainPopupVO" resultClass="egovMap"> | |
| 52 | + /* mainPopup.selectMainPopupList */ | |
| 53 | + <![CDATA[ | |
| 54 | + SELECT | |
| 55 | + POP_ID, | |
| 56 | + CONTENT AS IMG_ALT, | |
| 57 | + CASE WHEN | |
| 58 | + DATE(SUBDATE(NOW(), INTERVAL 7 DAY)) < DATE(REGDT) | |
| 59 | + THEN 'Y' | |
| 60 | + ELSE 'N' | |
| 61 | + END AS NEW_FLAG, | |
| 62 | + DATE_FORMAT(REGDT, '%Y-%m-%d') REGDT, | |
| 63 | + MAINZONE_IMAGE, | |
| 64 | + MAINZONE_IMAGE_FILE , | |
| 65 | + SORT, | |
| 66 | + POP_NM, | |
| 67 | + USE_YN, | |
| 68 | + (SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = REGISTER_ID) REGISTER_ID , | |
| 69 | + DEVICETYPE, | |
| 70 | + STR_TO_DATE(NTCE_BGNDE,'%Y%m%d') AS ntceBgnde, | |
| 71 | + STR_TO_DATE(NTCE_ENDDE,'%Y%m%d') AS ntceEndde | |
| 72 | + FROM MAIN_POPUP | |
| 73 | + WHERE 1=1 | |
| 74 | + ]]> | |
| 75 | + <isEqual property="useYn" compareValue="Y"> | |
| 76 | + AND USE_YN = 'Y' | |
| 77 | + </isEqual> | |
| 78 | + <isNotEmpty property="searchKeyword"> | |
| 79 | + <isEqual property="searchCondition" compareValue=""> | |
| 80 | + AND ( POP_NM LIKE CONCAT ('%', #searchKeyword#,'%') | |
| 81 | + OR CONTENT LIKE CONCAT ('%', #searchKeyword#,'%') | |
| 82 | + ) | |
| 83 | + </isEqual> | |
| 84 | + <isEqual property="searchCondition" compareValue="1"> | |
| 85 | + AND POP_NM LIKE CONCAT ('%', #searchKeyword#,'%') | |
| 86 | + </isEqual> | |
| 87 | + <isEqual property="searchCondition" compareValue="2"> | |
| 88 | + AND CONTENT LIKE CONCAT ('%', #searchKeyword#,'%') | |
| 89 | + </isEqual> | |
| 90 | + </isNotEmpty> | |
| 91 | + <isNotEmpty property="deviceType"> | |
| 92 | + <isEqual property="deviceType" compareValue="P"> | |
| 93 | + AND ( DEVICETYPE IS NULL OR DEVICETYPE = #deviceType# ) | |
| 94 | + </isEqual> | |
| 95 | + <isEqual property="deviceType" compareValue="M"> | |
| 96 | + AND DEVICETYPE = #deviceType# | |
| 97 | + </isEqual> | |
| 98 | + </isNotEmpty> | |
| 99 | + ORDER BY SORT | |
| 100 | + LIMIT #recordCountPerPage# OFFSET #firstIndex# | |
| 101 | + </select> | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + <select id="mainPopup.selectMainPopupCount" resultClass="int"> | |
| 106 | + /* mainPopup.selectMainPopupCount */ | |
| 107 | + SELECT | |
| 108 | + COUNT(*) totcnt | |
| 109 | + FROM MAIN_POPUP | |
| 110 | + WHERE 1=1 | |
| 111 | + <isNotEmpty property="searchKeyword"> | |
| 112 | + <isEqual property="searchCondition" compareValue=""> | |
| 113 | + AND ( POP_NM LIKE CONCAT ('%', #searchKeyword#,'%') | |
| 114 | + OR CONTENT LIKE CONCAT ('%', #searchKeyword#,'%') | |
| 115 | + ) | |
| 116 | + </isEqual> | |
| 117 | + <isEqual property="searchCondition" compareValue="1"> | |
| 118 | + AND POP_NM LIKE CONCAT ('%', #searchKeyword#,'%') | |
| 119 | + </isEqual> | |
| 120 | + <isEqual property="searchCondition" compareValue="2"> | |
| 121 | + AND CONTENT LIKE CONCAT ('%', #searchKeyword#,'%') | |
| 122 | + </isEqual> | |
| 123 | + </isNotEmpty> | |
| 124 | + </select> | |
| 125 | + | |
| 126 | + | |
| 127 | + <select id="mainPopup.selectMainPopupVO" parameterClass="String" resultMap="MainPopupResultMap"> | |
| 128 | + | |
| 129 | + /* mainPopup.selectMainPopupVO */ | |
| 130 | + SELECT | |
| 131 | + MP.POP_ID, | |
| 132 | + MP.CONTENT, | |
| 133 | + MP.REGDT, | |
| 134 | + MP.DEL, | |
| 135 | + MP.SORT, | |
| 136 | + MP.MAINZONE_IMAGE, | |
| 137 | + MP.MAINZONE_IMAGE_FILE, | |
| 138 | + MP.POP_NM, | |
| 139 | + MP.USE_YN, | |
| 140 | + DATE_FORMAT(MP.MODDT, '%Y-%m-%d %T') MODDT, | |
| 141 | + (SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = MP.REGISTER_ID) AS REGISTERID, | |
| 142 | + MP.DEVICETYPE, | |
| 143 | + MP.NTCE_BGNDE, | |
| 144 | + MP.NTCE_ENDDE | |
| 145 | + FROM MAIN_POPUP MP | |
| 146 | + WHERE MP.POP_ID = #popId# | |
| 147 | + </select> | |
| 148 | + | |
| 149 | + <select id="mainPopup.selectMainPopupVOLink" parameterClass="String" resultMap="MainPopupLinkResultMap"> | |
| 150 | + | |
| 151 | + /* mainPopup.selectMainPopupVO */ | |
| 152 | + SELECT | |
| 153 | + POP_ID, | |
| 154 | + MLINK, | |
| 155 | + COORDS, | |
| 156 | + SORT | |
| 157 | + FROM MAIN_POPUP_LINK | |
| 158 | + WHERE POP_ID = #popId# | |
| 159 | + order by SORT asc | |
| 160 | + </select> | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + <select id="mainPopup.selectMainPopupListRolling" resultMap="MainPopupResultMap"> | |
| 165 | + /* mainPopup.selectMainPopupListRolling */ | |
| 166 | + SELECT | |
| 167 | + MP.POP_ID, | |
| 168 | + MP.CONTENT, | |
| 169 | + MP.REGDT, | |
| 170 | + MP.DEL, | |
| 171 | + MP.SORT, | |
| 172 | + MP.MAINZONE_IMAGE, | |
| 173 | + MP.MAINZONE_IMAGE_FILE, | |
| 174 | + MP.POP_NM, | |
| 175 | + MP.USE_YN, | |
| 176 | + DATE_FORMAT(MP.MODDT, '%Y-%m-%d %T') MODDT, | |
| 177 | + (SELECT USER_NM FROM LETTNEMPLYRINFO WHERE ESNTL_ID = MP.REGISTER_ID) AS REGISTERID, | |
| 178 | + MP.DEVICETYPE, | |
| 179 | + MP.NTCE_BGNDE, | |
| 180 | + MP.NTCE_ENDDE | |
| 181 | + FROM MAIN_POPUP MP | |
| 182 | + WHERE MP.NTCE_BGNDE IS NOT NULL | |
| 183 | + AND MP.NTCE_ENDDE IS NOT NULL | |
| 184 | + | |
| 185 | + <![CDATA[ | |
| 186 | + AND DATE_FORMAT(SYSDATE(),'%Y%m%d%H%i') >= MP.NTCE_BGNDE | |
| 187 | + AND DATE_FORMAT(SYSDATE(),'%Y%m%d%H%i') <= MP.NTCE_ENDDE | |
| 188 | + ]]> | |
| 189 | + AND MP.USE_YN = 'Y' | |
| 190 | + ORDER BY MP.SORT | |
| 191 | + | |
| 192 | + | |
| 193 | + </select> | |
| 194 | + | |
| 195 | + <delete id="mainPopup.deleteMainPopup" parameterClass="String"> | |
| 196 | + DELETE FROM MAIN_POPUP WHERE POP_ID=#popId# | |
| 197 | + </delete> | |
| 198 | + | |
| 199 | + | |
| 200 | + <update id="mainPopup.resetMainPopupSort" parameterClass="mainPopupVO"> | |
| 201 | + /*mainPopup.resetMainPopupSort*/ | |
| 202 | + | |
| 203 | + UPDATE MAIN_POPUP A , | |
| 204 | + (SELECT ROW_NUMBER() OVER(ORDER BY SORT | |
| 205 | + <isEqual property="sortOver" compareValue="A"> | |
| 206 | + , MODDT ASC | |
| 207 | + </isEqual> | |
| 208 | + <isEqual property="sortOver" compareValue="D"> | |
| 209 | + , MODDT DESC | |
| 210 | + </isEqual> | |
| 211 | + ) AS SORT1 , POP_ID FROM MAIN_POPUP | |
| 212 | + WHERE 1=1 | |
| 213 | + ORDER BY SORT1 | |
| 214 | + ) B | |
| 215 | + SET A.SORT = B.SORT1 | |
| 216 | + WHERE A.POP_ID = B.POP_ID | |
| 217 | + </update> | |
| 218 | + | |
| 219 | + | |
| 220 | +</sqlMap>(No newline at end of file) |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/bnr/pop/mainPopupList.jsp
... | ... | @@ -0,0 +1,236 @@ |
| 1 | +<%-- | |
| 2 | + Class Name : EgovPopupList.jsp | |
| 3 | + Description : 팝업창관리 목록 페이지 | |
| 4 | + Modification Information | |
| 5 | + | |
| 6 | + 수정일 수정자 수정내용 | |
| 7 | + ------- -------- --------------------------- | |
| 8 | + 2009.09.16 장동한 최초 생성 | |
| 9 | + | |
| 10 | + author : 공통서비스 개발팀 장동한 | |
| 11 | + since : 2009.09.16 | |
| 12 | + | |
| 13 | + Copyright (C) 2009 by MOPAS All right reserved. | |
| 14 | +--%> | |
| 15 | +<%@ page contentType="text/html; charset=utf-8"%> | |
| 16 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 17 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 18 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 19 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 20 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 21 | +<!DOCTYPE html> | |
| 22 | +<html lang="ko"> | |
| 23 | +<head> | |
| 24 | +<title>메인이미지 관리</title> | |
| 25 | +<meta http-equiv="content-type" content="text/html; charset=utf-8"> | |
| 26 | +<script type="text/javaScript" language="javascript"> | |
| 27 | +$(document).ready(function(){ | |
| 28 | + | |
| 29 | + $(".img_cont").click(function(e){ | |
| 30 | + clickEvent = true; | |
| 31 | + }); | |
| 32 | + | |
| 33 | + $(".check").click(function(e){ | |
| 34 | + e.stopPropagation(); | |
| 35 | + }); | |
| 36 | +}); | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | +/* 메인창 수정 화면*/ | |
| 42 | +function fn_mainzone_view(id, pageType){ | |
| 43 | + document.modiForm.selectedId.value = id; | |
| 44 | + document.modiForm.pageType.value = "Modify"; | |
| 45 | + document.modiForm.action = "<c:url value='/uss/ion/bnr/pop/mainPopupModify.do'/>"; | |
| 46 | + document.modiForm.submit(); | |
| 47 | +} | |
| 48 | + | |
| 49 | +/* 메인창 등록화면*/ | |
| 50 | +function fn_mainzone_insert_view(){ | |
| 51 | + document.modiForm.pageType.value = "Insert"; | |
| 52 | + document.modiForm.action = "<c:url value='/uss/ion/bnr/pop/mainPopupModify.do'/>"; | |
| 53 | + document.modiForm.submit(); | |
| 54 | +} | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | +function doDep3(event){ | |
| 59 | + event.preventDefault(); | |
| 60 | +} | |
| 61 | + | |
| 62 | +function linkPage(pageNo){ | |
| 63 | + <c:if test="${!empty loginId}"> | |
| 64 | + if(""!= document.listForm.searchKeyword.value){ | |
| 65 | + updateRecentSearch();//최근검색어 등록 | |
| 66 | + } | |
| 67 | + </c:if> | |
| 68 | + | |
| 69 | + var listForm = document.listForm ; | |
| 70 | + listForm.pageIndex.value = pageNo ; | |
| 71 | + listForm.searchCondition.value = $('#searchCondition').val(); | |
| 72 | + listForm.submit(); | |
| 73 | +} | |
| 74 | + | |
| 75 | + | |
| 76 | +function fnCheckAll() { | |
| 77 | + var checkField = document.listForm.del; | |
| 78 | + if(document.listForm.checkAll.checked) { | |
| 79 | + if(checkField) { | |
| 80 | + if(checkField.length > 1) { | |
| 81 | + for(var i=0; i < checkField.length; i++) { | |
| 82 | + checkField[i].checked = true; | |
| 83 | + } | |
| 84 | + } else { | |
| 85 | + checkField.checked = true; | |
| 86 | + } | |
| 87 | + } | |
| 88 | + } else { | |
| 89 | + if(checkField) { | |
| 90 | + if(checkField.length > 1) { | |
| 91 | + for(var j=0; j < checkField.length; j++) { | |
| 92 | + checkField[j].checked = false; | |
| 93 | + } | |
| 94 | + } else { | |
| 95 | + checkField.checked = false; | |
| 96 | + } | |
| 97 | + } | |
| 98 | + } | |
| 99 | +} | |
| 100 | + | |
| 101 | + | |
| 102 | +/* 체크된 메인배너 목록 삭제 */ | |
| 103 | +function fn_mainzone_contest_delete(){ | |
| 104 | + if($("input[name=del]:checked").length == 0){ | |
| 105 | + alert("선택된 항목이 없습니다."); | |
| 106 | + return; | |
| 107 | + } | |
| 108 | + | |
| 109 | + if (confirm("해당 메인이미지 삭제하시겠습니까?")){ | |
| 110 | + frm = document.listForm; | |
| 111 | + frm.action = "<c:url value='/uss/ion/bnr/pop/mainPopupListDelete.do' />"; | |
| 112 | + frm.submit(); | |
| 113 | + } | |
| 114 | +} | |
| 115 | + | |
| 116 | +/* 테마별 색상맞추기 */ | |
| 117 | +$(window).load(function() { | |
| 118 | + $('table.bbs01_list td.subject a').hover( | |
| 119 | + function () { | |
| 120 | + $(this).css("color","#d10000"); | |
| 121 | + }, | |
| 122 | + function () { | |
| 123 | + $(this).css("color","#333333"); | |
| 124 | + } | |
| 125 | + ); | |
| 126 | +}); | |
| 127 | +</script> | |
| 128 | +</head> | |
| 129 | +<body> | |
| 130 | +<form name="listForm" action="<c:url value='/uss/ion/bnr/pop/mainPopupList.do'/>" method="post"> | |
| 131 | + <input name="pageIndex" type="hidden" value="<c:out value='${mainPopupVO.pageIndex}'/>"/> | |
| 132 | + <input type="hidden" name="selectedId" /> | |
| 133 | + <input type="hidden" name="pageType" /> | |
| 134 | + <div class="contWrap"> | |
| 135 | + <div class="pageTitle"> | |
| 136 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 137 | + <h2 class="titType1 c_222222 fwBold">팝업 관리</h2> | |
| 138 | + <p class="tType6 c_999999">사용자 메인 팝업에 적용되는 이미지를 등록, 수정, 삭제할 수 있습니다.</p> | |
| 139 | + </div> | |
| 140 | + <div class="pageCont"> | |
| 141 | + <div class="listSerch"> | |
| 142 | + <c:if test="${siteId eq 'super'}"> | |
| 143 | + <select name="searchConditionSite" id="searchConditionSite" title="사이트검색"> | |
| 144 | + <option value="" <c:if test="${empty userSearchVO.searchConditionSite }">selected="selected"</c:if> >전체 사이트</option> | |
| 145 | + <c:forEach var="result" items="${siteManageList}" varStatus="status"> | |
| 146 | + <option value="${result.siteId}" <c:if test="${result.siteId eq mainPopupVO.searchConditionSite }">selected="selected"</c:if> >${result.siteNm}</option> | |
| 147 | + </c:forEach> | |
| 148 | + </select> | |
| 149 | + </c:if> | |
| 150 | + <select name="searchCondition" id="searchCondition" class="select" title="검색조건선택"> | |
| 151 | + <option value=''>전체</option> | |
| 152 | + <option value='1' <c:if test="${mainPopupVO.searchCondition == '1'}">selected</c:if>>제목</option> | |
| 153 | + <option value='2' <c:if test="${mainPopupVO.searchCondition == '2'}">selected</c:if>>대체텍스트</option> | |
| 154 | + </select> | |
| 155 | + <input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${mainPopupVO.searchKeyword}'/>" size="40" title="검색" maxlength="100"/> | |
| 156 | + <input type="button" class="btnType1" value="검색" onclick="linkPage(1); return false;"> | |
| 157 | + </div> | |
| 158 | + <div class="listTop"> | |
| 159 | + <p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건</p> | |
| 160 | + <div class="rightWrap"> | |
| 161 | + <input type="button" class="printBtn" > | |
| 162 | + <select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);"> | |
| 163 | + <option value='8' <c:if test="${mainPopupVO.pageUnit == '8' or searchVO.pageUnit == ''}">selected</c:if>>8개씩 보기</option> | |
| 164 | + <option value='16' <c:if test="${mainPopupVO.pageUnit == '16'}">selected</c:if>>16개씩 보기</option> | |
| 165 | + <option value='24' <c:if test="${mainPopupVO.pageUnit == '24'}">selected</c:if>>24개씩 보기</option> | |
| 166 | + </select> | |
| 167 | + </div> | |
| 168 | + </div> | |
| 169 | + <div class="galleryListWrap"> | |
| 170 | + <ul class="inline"> | |
| 171 | + <c:forEach var="result" items="${mainPopupList}" varStatus="status"> | |
| 172 | + <li onclick="javascript:fn_mainzone_view('${result.popId}'); return false;"> | |
| 173 | + <div class="check"><input type="checkbox" name="del" id="check_box${status.index}" value="${result.popId}"></div> | |
| 174 | +<%-- <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> --%> | |
| 175 | + <ul class="listCategory"> | |
| 176 | + <li class="useCg"> | |
| 177 | + <c:if test="${result.useYn eq 'Y'}"> | |
| 178 | + 사용 | |
| 179 | + </c:if> | |
| 180 | + <c:if test="${result.useYn ne 'Y'}"> | |
| 181 | + 미사용 | |
| 182 | + </c:if> | |
| 183 | + </li> | |
| 184 | + </ul> | |
| 185 | + <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> | |
| 186 | + <%-- <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> --%> | |
| 187 | + <div class="listInfo"> | |
| 188 | + <h3>${result.mazNm}</h3> | |
| 189 | + <table> | |
| 190 | + <tr> | |
| 191 | + <td colspan="2">작성자 : ${result.registerId}</td> | |
| 192 | + </tr> | |
| 193 | + <tr> | |
| 194 | + <td>노출순서 : ${result.sort}</td> | |
| 195 | + <td class="right">${result.ntceBgnde} ~ ${result.ntceEndde}</td> | |
| 196 | + </tr> | |
| 197 | + </table> | |
| 198 | + </div> | |
| 199 | + </li> | |
| 200 | + </c:forEach> | |
| 201 | + </ul> | |
| 202 | + <c:if test="${empty mainPopupList}"> | |
| 203 | + <div class="board1_btn"> | |
| 204 | + <ul style="text-align: center;"><spring:message code="common.nodata.msg" /></ul> | |
| 205 | + </div> | |
| 206 | + </c:if> | |
| 207 | + | |
| 208 | + </div> | |
| 209 | + <div class="btnWrap"> | |
| 210 | + <input type="button" class="btnType2" value="삭제" onclick="fn_mainzone_contest_delete(); return false;"> | |
| 211 | + <input type="button" class="btnType1" value="등록" onclick="fn_mainzone_insert_view(); return false;"> | |
| 212 | + </div> | |
| 213 | + <!-- 페이지 네비게이션 시작 --> | |
| 214 | + <c:if test="${!empty mainPopupList}"> | |
| 215 | + <div class="page"> | |
| 216 | + <ul class="inline"> | |
| 217 | + <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> | |
| 218 | + </ul> | |
| 219 | + </div> | |
| 220 | + </c:if> | |
| 221 | + <!-- //페이지 네비게이션 끝 --> | |
| 222 | + </div> | |
| 223 | + </div> | |
| 224 | +</form> | |
| 225 | +<form name="modiForm" method="get" action="<c:url value='/uss/ion/bnr/pop/mainPopupModify.do'/>" > | |
| 226 | + <input name="selectedId" type="hidden" /> | |
| 227 | + <input name="pageType" type="hidden" /> | |
| 228 | +</form> | |
| 229 | +<form name="searchForm" method="get" action="<c:url value='/uss/ion/bnr/pop/mainPopupList.do'/>"> | |
| 230 | + <input name="pageIndex" type="hidden" value="1" /> | |
| 231 | + <input name="searchCondition" type="hidden" /> | |
| 232 | + <input name="searchKeyword" type="hidden" /> | |
| 233 | + <input name="searchConditionSite" type="hidden" /> | |
| 234 | +</form> | |
| 235 | +</body> | |
| 236 | +</html> |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/bnr/pop/mainPopupModify.jsp
... | ... | @@ -0,0 +1,601 @@ |
| 1 | +<%-- | |
| 2 | + Class Name : EgovPopupList.jsp | |
| 3 | + Description : 팝업창관리 목록 페이지 | |
| 4 | + Modification Information | |
| 5 | + | |
| 6 | + 수정일 수정자 수정내용 | |
| 7 | + ------- -------- --------------------------- | |
| 8 | + 2009.09.16 장동한 최초 생성 | |
| 9 | + | |
| 10 | + author : 공통서비스 개발팀 장동한 | |
| 11 | + since : 2009.09.16 | |
| 12 | + | |
| 13 | + Copyright (C) 2009 by MOPAS All right reserved. | |
| 14 | +--%> | |
| 15 | +<%@ page contentType="text/html; charset=utf-8"%> | |
| 16 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 17 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 18 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 19 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 20 | +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> | |
| 21 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | |
| 22 | +<!DOCTYPE html> | |
| 23 | +<html lang="ko"> | |
| 24 | +<head> | |
| 25 | +<title>팝업창관리 관리</title> | |
| 26 | +<meta http-equiv="content-type" content="text/html; charset=utf-8"> | |
| 27 | +<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js' />"></script> | |
| 28 | +<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script> | |
| 29 | +<script type="text/javaScript" language="javascript"> | |
| 30 | +$( document ).ready(function(){ | |
| 31 | + | |
| 32 | + makeDate('ntceBgndeYYYMMDD'); | |
| 33 | + makeTomorrow('ntceEnddeYYYMMDD'); | |
| 34 | + | |
| 35 | + | |
| 36 | +}); | |
| 37 | + | |
| 38 | +/** | |
| 39 | + * URL에서 빈 값의 파라미터를 제거하는 함수 | |
| 40 | + * @param {string} url 원본 URL 문자열 | |
| 41 | + * @returns {string} 불필요한 파라미터가 제거된 URL | |
| 42 | + */ | |
| 43 | + function cleanUrlParameters(url) { | |
| 44 | + try { | |
| 45 | + // URL이 절대경로 (/web/... 형태)인지 확인 | |
| 46 | + let hasFullDomain = url.startsWith("http://") || url.startsWith("https://"); | |
| 47 | + let urlObj; | |
| 48 | + | |
| 49 | + if (hasFullDomain) { | |
| 50 | + // 도메인이 포함된 URL 처리 | |
| 51 | + urlObj = new URL(url); | |
| 52 | + } else { | |
| 53 | + // 절대경로 URL 처리 (가상의 도메인 추가 후 파싱) | |
| 54 | + urlObj = new URL("https://www.munjaon.co.kr" + url); | |
| 55 | + } | |
| 56 | + | |
| 57 | + let params = new URLSearchParams(urlObj.search); | |
| 58 | + | |
| 59 | + // ❗ 값이 비어있는 모든 파라미터 제거 | |
| 60 | + for (let [key, value] of [...params.entries()]) { // `params.entries()`를 배열로 변환하여 반복 | |
| 61 | + if (!value.trim()) { // 값이 비어있는 경우 제거 | |
| 62 | + params.delete(key); | |
| 63 | + } | |
| 64 | + } | |
| 65 | + | |
| 66 | + // 정리된 URL 반환 | |
| 67 | + let cleanedPath = urlObj.pathname + (params.toString() ? "?" + params.toString() : ""); | |
| 68 | + // 정리된 URL 반환 (도메인을 제거하고 절대경로만 반환) | |
| 69 | + return cleanedPath.replace(/^https:\/\/www\.munjaon\.co\.kr/, ""); | |
| 70 | + | |
| 71 | + } catch (e) { | |
| 72 | + console.warn("잘못된 URL 형식:", url); | |
| 73 | + return url; // URL 파싱 실패 시 원본 유지 | |
| 74 | + } | |
| 75 | + } | |
| 76 | + | |
| 77 | +//게시기간이 없으면 초기 값 입력 | |
| 78 | +function makeDate(id){ | |
| 79 | + if($("#"+id).val()== '--'){ | |
| 80 | + | |
| 81 | + let today = new Date(); | |
| 82 | + let formattedDate = today.toISOString().split('T')[0]; // YYYY-MM-DD 형식 | |
| 83 | + $("#"+id).val(formattedDate); | |
| 84 | + } | |
| 85 | +} | |
| 86 | +function makeTomorrow(id){ | |
| 87 | + if($("#"+id).val()== '--'){ | |
| 88 | + | |
| 89 | + // 하루 후 날짜 계산 | |
| 90 | + let tomorrow = new Date(); | |
| 91 | + tomorrow.setDate(new Date().getDate() + 1); | |
| 92 | + let formattedDateTomorrow = tomorrow.toISOString().split('T')[0]; // YYYY-MM-DD 형식 | |
| 93 | + $("#"+id).val(formattedDateTomorrow); | |
| 94 | + } | |
| 95 | +} | |
| 96 | + | |
| 97 | + | |
| 98 | +/* pagination 페이지 링크 function */ | |
| 99 | +function goList(){ | |
| 100 | + document.searchForm.submit(); | |
| 101 | +} | |
| 102 | + | |
| 103 | + | |
| 104 | +/* 배너 삭제 function */ | |
| 105 | +function fn_mainzone_delete() { | |
| 106 | + var msg; | |
| 107 | + msg = "해당 메인이미지를 삭제하시겠습니까?"; | |
| 108 | + | |
| 109 | + if (confirm(msg)) { | |
| 110 | + frm = document.writeForm; | |
| 111 | + frm.del.value = frm.popId.value ; | |
| 112 | + frm.action = "<c:url value='/uss/ion/bnr/pop/mainPopupListDelete.do'/>"; | |
| 113 | + frm.submit(); | |
| 114 | + } | |
| 115 | + | |
| 116 | +} | |
| 117 | + | |
| 118 | +function validate(method_parm) { | |
| 119 | + frm = document.writeForm; | |
| 120 | + if(frm.popNm.value=="") { | |
| 121 | + alert("비주얼명을 입력해 주십시오"); | |
| 122 | + frm.popNm.focus(); | |
| 123 | + return false; | |
| 124 | + } | |
| 125 | + | |
| 126 | + if(frm.sort.value=="") { | |
| 127 | + alert("노출순서를 입력해 주십시오"); | |
| 128 | + frm.sort.focus(); | |
| 129 | + return false; | |
| 130 | + }else{ | |
| 131 | + var regexp = /^[0-9]*$/ | |
| 132 | + if( !regexp.test(frm.sort.value) ) { | |
| 133 | + alert("노출순서에는 숫자만 입력하세요"); | |
| 134 | + frm.sort.focus(); | |
| 135 | + return false; | |
| 136 | + } | |
| 137 | + } | |
| 138 | + | |
| 139 | + // 링크 및 순서 값 검증 추가 | |
| 140 | + let linkRows = document.querySelectorAll("#linkTable tr"); | |
| 141 | + for (let i = 0; i < linkRows.length; i++) { | |
| 142 | + let linkInput = document.querySelector('input[name="mainPopupLinkList['+i+'].mlink"]'); | |
| 143 | + let coordInput = document.querySelector('input[name="mainPopupLinkList['+i+'].coords"]'); | |
| 144 | + let sortInput = document.querySelector('input[name="mainPopupLinkList['+i+'].sort"]'); | |
| 145 | + | |
| 146 | + if (!linkInput.value && !coordInput.value) { | |
| 147 | + if(sortInput.value){ | |
| 148 | + let trElement = sortInput.closest("tr"); | |
| 149 | + if (trElement) { | |
| 150 | + trElement.remove(); | |
| 151 | + } | |
| 152 | + } | |
| 153 | + continue; // 요소가 없으면 건너뛴다. | |
| 154 | + } | |
| 155 | + | |
| 156 | + if (linkInput.value.trim() === "") { | |
| 157 | + alert('['+(i + 1)+']번째 링크주소를 입력해 주십시오'); | |
| 158 | + linkInput.focus(); | |
| 159 | + return false; | |
| 160 | + } | |
| 161 | + | |
| 162 | + if (coordInput.value.trim() === "") { | |
| 163 | + alert('['+(i + 1)+']번째 링크좌표를 입력해 주십시오'); | |
| 164 | + coordInput.focus(); | |
| 165 | + return false; | |
| 166 | + } | |
| 167 | + | |
| 168 | + if (sortInput.value.trim() === "") { | |
| 169 | + alert('['+(i + 1)+']번째 순서를 입력해 주십시오'); | |
| 170 | + sortInput.focus(); | |
| 171 | + return false; | |
| 172 | + } | |
| 173 | + } | |
| 174 | + | |
| 175 | + console.log('isTbodyEmpty("tbody_fiielist") : ', isTbodyEmpty("tbody_fiielist")); | |
| 176 | + if(isTbodyEmpty("tbody_fiielist")){ | |
| 177 | + alert("이미지를 첨부해 주세요"); | |
| 178 | + return false; | |
| 179 | + } | |
| 180 | + | |
| 181 | + if(frm.content.value=="") { | |
| 182 | + alert("대체텍스트를 입력해 주십시오"); | |
| 183 | + frm.content.focus(); | |
| 184 | + return false; | |
| 185 | + } | |
| 186 | + | |
| 187 | + | |
| 188 | + var ntceBgndeYYYMMDD = document.getElementById('ntceBgndeYYYMMDD').value; | |
| 189 | + var ntceEnddeYYYMMDD = document.getElementById('ntceEnddeYYYMMDD').value; | |
| 190 | + | |
| 191 | + console.log("ntceBgndeYYYMMDD ::: "+ntceBgndeYYYMMDD); | |
| 192 | + console.log("ntceEnddeYYYMMDD ::: "+ntceEnddeYYYMMDD); | |
| 193 | + | |
| 194 | + if(ntceBgndeYYYMMDD ==""){ | |
| 195 | + | |
| 196 | + alert("게시기간 시작일을 입력해 주세요."); | |
| 197 | + return false; | |
| 198 | + | |
| 199 | + }else if(ntceEnddeYYYMMDD == ""){ | |
| 200 | + | |
| 201 | + alert("게시기간 종료일을 입력해 주세요."); | |
| 202 | + return false; | |
| 203 | + | |
| 204 | + }else{ | |
| 205 | + | |
| 206 | + var iChkBeginDe = Number( ntceBgndeYYYMMDD.replaceAll("-","") ); | |
| 207 | + var iChkEndDe = Number( ntceEnddeYYYMMDD.replaceAll("-","") ); | |
| 208 | + | |
| 209 | + if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){ | |
| 210 | + alert("게시시작일자는 게시종료일자 보다 클수 없고,\n게시종료일자는 게시시작일자 보다 작을수 없습니다. "); | |
| 211 | + return; | |
| 212 | + } | |
| 213 | + | |
| 214 | + frm.ntceBgnde.value = ntceBgndeYYYMMDD.replaceAll('-','') + fn_egov_SelectBoxValue('ntceBgndeHH') + fn_egov_SelectBoxValue('ntceBgndeMM'); | |
| 215 | + frm.ntceEndde.value = ntceEnddeYYYMMDD.replaceAll('-','') + fn_egov_SelectBoxValue('ntceEnddeHH') + fn_egov_SelectBoxValue('ntceEnddeMM'); | |
| 216 | + | |
| 217 | + } | |
| 218 | + | |
| 219 | + | |
| 220 | + var msg = "메인 팝업을 등록하시겠습니까?"; | |
| 221 | + | |
| 222 | + if(method_parm == "mainzone_U"){ | |
| 223 | + | |
| 224 | + msg ="메인 팝업을 수정하시겠습니까?"; | |
| 225 | + | |
| 226 | + } | |
| 227 | + | |
| 228 | + if(!confirm(msg)){ | |
| 229 | + return false; | |
| 230 | + } | |
| 231 | + goSave(method_parm); | |
| 232 | +} | |
| 233 | +function fn_egov_downFile(atchFileId, fileSn){ | |
| 234 | + window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>"); | |
| 235 | +} | |
| 236 | + | |
| 237 | +function isTbodyEmpty(tbodyId) { | |
| 238 | + const tbody = document.getElementById(tbodyId); | |
| 239 | + if (!tbody) { | |
| 240 | + console.error("해당 ID를 가진 tbody가 없습니다."); | |
| 241 | + return false; | |
| 242 | + } | |
| 243 | + // tbody 내부에 <tr> 태그가 있는지 확인 | |
| 244 | + return tbody.querySelector("tr") === null; | |
| 245 | +} | |
| 246 | + | |
| 247 | + | |
| 248 | +/* ******************************************************** | |
| 249 | +* SELECT BOX VALUE FUNCTION | |
| 250 | +******************************************************** */ | |
| 251 | +function fn_egov_SelectBoxValue(sbName) | |
| 252 | +{ | |
| 253 | + var FValue = ""; | |
| 254 | + for(var i=0; i < document.getElementById(sbName).length; i++) | |
| 255 | + { | |
| 256 | + if(document.getElementById(sbName).options[i].selected == true){ | |
| 257 | + | |
| 258 | + FValue=document.getElementById(sbName).options[i].value; | |
| 259 | + } | |
| 260 | + } | |
| 261 | + | |
| 262 | + return FValue; | |
| 263 | +} | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | +function addLinkRow() { | |
| 268 | + // 링크 목록 tbody | |
| 269 | + let tbody = document.getElementById("linkTable"); | |
| 270 | + let rowCount = tbody.getElementsByTagName("tr").length; // 현재 tr 개수 가져오기 | |
| 271 | + | |
| 272 | + // 새로운 tr 생성 | |
| 273 | + let newRow = document.createElement("tr"); | |
| 274 | + | |
| 275 | + let rowCountP = rowCount + 1; | |
| 276 | + // 첫 번째 컬럼 (링크 주소) | |
| 277 | + let linkTh = document.createElement("th"); | |
| 278 | + linkTh.innerHTML = '<span>['+rowCountP+']링크주소</span>'; | |
| 279 | + let linkTd = document.createElement("td"); | |
| 280 | + linkTd.innerHTML = '<input type="text" name="mainPopupLinkList['+rowCount+'].mlink" class="mlink" maxlength="200" />'; | |
| 281 | + | |
| 282 | + // 두 번째 컬럼 (링크 좌표) | |
| 283 | + let coordTh = document.createElement("th"); | |
| 284 | + coordTh.innerHTML = '<span>링크좌표</span>'; | |
| 285 | + let coordTd = document.createElement("td"); | |
| 286 | + coordTd.innerHTML = '<input type="text" name="mainPopupLinkList['+rowCount+'].coords" maxlength="200" />'; | |
| 287 | + | |
| 288 | + // 세 번째 컬럼 (링크 좌표) | |
| 289 | + let sortTh = document.createElement("th"); | |
| 290 | + sortTh.innerHTML = '<span>순서</span>'; | |
| 291 | + let sortTd = document.createElement("td"); | |
| 292 | + sortTd.innerHTML = '<input type="text" name="mainPopupLinkList['+rowCount+'].sort" maxlength="200" value="'+rowCountP+'" />'; | |
| 293 | + | |
| 294 | + // tr에 추가 | |
| 295 | + newRow.appendChild(linkTh); | |
| 296 | + newRow.appendChild(linkTd); | |
| 297 | + newRow.appendChild(coordTh); | |
| 298 | + newRow.appendChild(coordTd); | |
| 299 | + newRow.appendChild(sortTh); | |
| 300 | + newRow.appendChild(sortTd); | |
| 301 | + | |
| 302 | + // tbody에 추가 | |
| 303 | + tbody.appendChild(newRow); | |
| 304 | +} | |
| 305 | + | |
| 306 | + | |
| 307 | +</script> | |
| 308 | +<style> | |
| 309 | +.date_format{width:91px !important;} | |
| 310 | +.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;} | |
| 311 | +.file_size{color: #0388d2;font-weight: bold;} | |
| 312 | +.uploaded_obj{width: 100%;} | |
| 313 | +</style> | |
| 314 | +</head> | |
| 315 | +<body> | |
| 316 | +<form:form commandName="mainPopupVO" name="writeForm" enctype="multipart/form-data" method="post"> | |
| 317 | + <input type="hidden" name="deviceType" id="deviceType" value="P"/> | |
| 318 | + <input type="hidden" name="selectedId" /> | |
| 319 | + <form:input path="popId" type="hidden" /> | |
| 320 | + <form:input path="del" type="hidden" /> | |
| 321 | + <form:input path="mainzoneImageFile" type="hidden" /> | |
| 322 | + <form:hidden path="ntceBgnde" /> | |
| 323 | + <form:hidden path="ntceEndde" /> | |
| 324 | + | |
| 325 | + <input type="hidden" name="beSort" value="${mainPopupVO.beSort}" /> | |
| 326 | + <!-- 드래그앤 드롭 파라미터 --> | |
| 327 | + <input type="hidden" name="menuName" value="mainPopup" /> | |
| 328 | + <input type="hidden" name="fmsId" value="${mainPopupVO.popId}" /> | |
| 329 | + <input type="hidden" name="limitcount" value="1" /><!-- 최대 업로드 파일갯수 --> | |
| 330 | + | |
| 331 | + <div class="contWrap"> | |
| 332 | + <div class="pageTitle"> | |
| 333 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 334 | + <h2 class="titType1 c_222222 fwBold">팝업 등록/수정</h2> | |
| 335 | + <p class="tType6 c_999999">사용자 메인 팝업에 적용되는 이미지를 등록, 수정, 삭제할 수 있습니다.</p> | |
| 336 | + </div> | |
| 337 | + <div class="pageNav"> | |
| 338 | + <img src="/pb/img/common/homeIcon.png" alt="홈이미지"> > <p class="topDepth">비주얼관리</p> > <p class="subDepth">메인비주얼관리</p> | |
| 339 | + </div> | |
| 340 | + <div class="pageCont"> | |
| 341 | + <div class="tableWrap"> | |
| 342 | + <p class="right fwMd"><span class="tType4 c_e40000 fwBold">*</span>는 필수입력 항목입니다.</p> | |
| 343 | + <table class="tbType2"> | |
| 344 | + <colgroup> | |
| 345 | + <col style="width: 10%"> | |
| 346 | + <col style="width: 30%"> | |
| 347 | + <col style="width: 10%"> | |
| 348 | + <col style="width: 20%"> | |
| 349 | + <col style="width: 10%"> | |
| 350 | + <col style="width: 20%"> | |
| 351 | + </colgroup> | |
| 352 | + <tbody> | |
| 353 | + <c:if test="${not empty mainPopupVO.popId }"> | |
| 354 | + <tr> | |
| 355 | + <th><span>원본이미지</span></th> | |
| 356 | + <td colspan="5"> | |
| 357 | + <c:if test="${mainPopupVO.popId == ''}"> | |
| 358 | + <div class="imgBox"></div> | |
| 359 | + </c:if> | |
| 360 | + <c:if test="${mainPopupVO.popId != ''}"> | |
| 361 | + <img alt="${mainPopupVO.content}" onerror="this.src='/pb/img/noImg.png'" src='<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${mainPopupVO.mainzoneImageFile}"/>' style="max-width:300px;padding: 10px;" /> | |
| 362 | + <%-- <img alt="${mainPopupVO.content}" onerror="this.src='/images/no_img.jpg'" src='<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${mainPopupVO.mainzoneImageFile}"/>' style="max-width:600px;" /> --%> | |
| 363 | + </c:if> | |
| 364 | + </td> | |
| 365 | + </tr> | |
| 366 | + </c:if> | |
| 367 | + <!-- <tr> --> | |
| 368 | + <!-- <th class="td_title1"><span class="star_t">*</span>기기종류</th> --> | |
| 369 | + <!-- <td colspan="5"> --> | |
| 370 | + <!-- <input type="radio" name="deviceType" id="deviceType" value="P" style="margin-left: 13px; margin-right: 5px;" --> | |
| 371 | + <!-- checked="checked" --> | |
| 372 | + <%-- ${mainPopupVO.deviceType eq 'P' or mainPopupVO.deviceType eq '' ? 'checked="checked"' : ''} --%> | |
| 373 | + <!-- >PC --> | |
| 374 | + <!-- <input type="radio" name="deviceType" id="deviceType" value="M" style="margin-left: 13px; margin-right: 5px;" --> | |
| 375 | + <%-- ${mainPopupVO.deviceType eq 'M' ? 'checked="checked"' : ''} --%> | |
| 376 | + <!-- >모바일 --> | |
| 377 | + <!-- </td> --> | |
| 378 | + <!-- </tr> --> | |
| 379 | + <tr> | |
| 380 | + <th><span class="reqArea">비주얼명</span></th> | |
| 381 | + <td colspan="5"> | |
| 382 | + <form:input path="popNm" maxlength="30" /> | |
| 383 | + </td> | |
| 384 | + </tr> | |
| 385 | + <tr> | |
| 386 | + <th><span class="reqArea">사용여부</span></th> | |
| 387 | + <td colspan="5"> | |
| 388 | + <input type="radio" name="useYn" id="useY" value="Y" style="margin-left: 13px; margin-right: 5px;" ${empty mainPopupVO.useYn or mainPopupVO.useYn eq 'Y' or mainPopupVO.useYn eq '' ? 'checked="checked"' : ''} /> | |
| 389 | + <label for="useY">사용</label> | |
| 390 | + <input type="radio" name="useYn" id="useN" value="N" style="margin-left: 13px; margin-right: 5px;" ${mainPopupVO.useYn eq 'N' ? 'checked="checked"' : ''} /> | |
| 391 | + <label for="useN">미사용</label> | |
| 392 | + </td> | |
| 393 | + </tr> | |
| 394 | + | |
| 395 | + <tr> | |
| 396 | + <th><span class="reqArea">노출순서</span></th> | |
| 397 | + <td colspan="5"> | |
| 398 | + <form:input path="sort" maxlength="10" onkeyup="this.value=this.value.replace(/[^-\.0-9]/g,'')"/> | |
| 399 | + </td> | |
| 400 | + </tr> | |
| 401 | + <tr> | |
| 402 | + <th><span class="reqArea">게시기간</span></th> | |
| 403 | + <td colspan="5"> | |
| 404 | + <input type="hidden" name="cal_url" id="cal_url" value="<c:url value='/sym/cmm/EgovNormalCalPopup.do'/>" > | |
| 405 | + <input type="text" class="date_format" name="ntceBgndeYYYMMDD" id="ntceBgndeYYYMMDD" size="10" maxlength="10" class="readOnlyClass" value="<c:out value="${fn:substring(mainPopupVO.ntceBgnde, 0, 4)}"/>-<c:out value="${fn:substring(mainPopupVO.ntceBgnde, 4, 6)}"/>-<c:out value="${fn:substring(mainPopupVO.ntceBgnde, 6, 8)}"/>" readonly> | |
| 406 | + | |
| 407 | + <a href="#" onClick="javascript:fn_egov_NormalCalendar(document.forms.mainPopupVO, document.forms.mainPopupVO.ntceBgndeYYYMMDD);"> | |
| 408 | + <input type="button" class="calBtn"> | |
| 409 | + <%-- <img src="<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif' />" align="middle" style="border:0px" alt="달력창팝업버튼이미지"> --%> | |
| 410 | + </a> | |
| 411 | + <form:select path="ntceBgndeHH" class="date_format"> | |
| 412 | + <form:options items="${ntceBgndeHH}" itemValue="code" itemLabel="codeNm"/> | |
| 413 | + </form:select>시 | |
| 414 | + <form:select path="ntceBgndeMM" class="date_format"> | |
| 415 | + <form:options items="${ntceBgndeMM}" itemValue="code" itemLabel="codeNm"/> | |
| 416 | + </form:select>분 | |
| 417 | +   ~   | |
| 418 | + <input type="text" class="date_format" name="ntceEnddeYYYMMDD" id="ntceEnddeYYYMMDD" size="10" maxlength="10" class="readOnlyClass" value="<c:out value="${fn:substring(mainPopupVO.ntceEndde, 0, 4)}"/>-<c:out value="${fn:substring(mainPopupVO.ntceEndde, 4, 6)}"/>-<c:out value="${fn:substring(mainPopupVO.ntceEndde, 6, 8)}"/>" readonly> | |
| 419 | + <a href="#" onClick="javascript:fn_egov_NormalCalendar(document.forms.mainPopupVO, document.forms.mainPopupVO.ntceEnddeYYYMMDD);"> | |
| 420 | + <input type="button" class="calBtn"> | |
| 421 | + <%-- <img src="<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif' />" align="middle" style="border:0px" alt="달력창팝업버튼이미지"> --%> | |
| 422 | + </a> | |
| 423 | + <form:select path="ntceEnddeHH" class="date_format"> | |
| 424 | + <form:options items="${ntceEnddeHH}" itemValue="code" itemLabel="codeNm"/> | |
| 425 | + </form:select>시 | |
| 426 | + <form:select path="ntceEnddeMM" class="date_format"> | |
| 427 | + <form:options items="${ntceEnddeMM}" itemValue="code" itemLabel="codeNm"/> | |
| 428 | + </form:select>분 | |
| 429 | + </td> | |
| 430 | + </tr> | |
| 431 | + <tbody id="linkTable"> | |
| 432 | + <c:choose> | |
| 433 | + <c:when test="${not empty mainPopupVO.mainPopupLinkList}"> | |
| 434 | + <c:forEach var="link" items="${mainPopupVO.mainPopupLinkList}" varStatus="status"> | |
| 435 | + <tr> | |
| 436 | + <th><span>[${status.index + 1}]링크주소</span></th> | |
| 437 | + <td> | |
| 438 | + <form:input path="mainPopupLinkList[${status.index}].mlink" class="mlink" maxlength="200" /> | |
| 439 | + </td> | |
| 440 | + <th><span>링크좌표</span></th> | |
| 441 | + <td> | |
| 442 | + <form:input path="mainPopupLinkList[${status.index}].coords" class="mlink" maxlength="200" /> | |
| 443 | + </td> | |
| 444 | + <th><span>순서</span></th> | |
| 445 | + <td> | |
| 446 | + <form:input path="mainPopupLinkList[${status.index}].sort" class="mlink" maxlength="200" oninput="this.value = this.value.replace(/[^0-9]/g, '');" /> | |
| 447 | + </td> | |
| 448 | + </tr> | |
| 449 | + </c:forEach> | |
| 450 | + </c:when> | |
| 451 | + <c:otherwise> | |
| 452 | + <!-- 값이 없을 때 빈 input 생성 --> | |
| 453 | + <tr> | |
| 454 | + <th><span>[1]링크주소</span></th> | |
| 455 | + <td> | |
| 456 | + <form:input path="mainPopupLinkList[0].mlink" class="mlink" maxlength="200" /> | |
| 457 | + </td> | |
| 458 | + <th><span>링크좌표</span></th> | |
| 459 | + <td> | |
| 460 | + <form:input path="mainPopupLinkList[0].coords" maxlength="200" /> | |
| 461 | + </td> | |
| 462 | + <th><span>순서</span></th> | |
| 463 | + <td> | |
| 464 | + <form:input path="mainPopupLinkList[0].sort" maxlength="200" value="1" oninput="this.value = this.value.replace(/[^0-9]/g, '');" /> | |
| 465 | + </td> | |
| 466 | + </tr> | |
| 467 | + </c:otherwise> | |
| 468 | + </c:choose> | |
| 469 | + </tbody> | |
| 470 | + <tr> | |
| 471 | + <td colspan="4"> | |
| 472 | + <button type="button" class="btnType1" onclick="addLinkRow()">링크 추가</button> | |
| 473 | + </td> | |
| 474 | + </tr> | |
| 475 | + <tr> | |
| 476 | + <th><span class="reqArea">파일 첨부</span></th> | |
| 477 | + <td class="upload_area" colspan="5"> | |
| 478 | + <div class="file_upload_box no_img_box fileWrap"> | |
| 479 | + <table> | |
| 480 | + <colgroup> | |
| 481 | + <col style="width: 60%"> | |
| 482 | + <col style="width: 10%"> | |
| 483 | + <col style="width: 20%"> | |
| 484 | + <col style="width: 10%"> | |
| 485 | + </colgroup> | |
| 486 | + <thead> | |
| 487 | + <tr> | |
| 488 | + <th>파일명</th> | |
| 489 | + <th>크기</th> | |
| 490 | + <th>등록일시</th> | |
| 491 | + <th>삭제</th> | |
| 492 | + </tr> | |
| 493 | + </thead> | |
| 494 | + </table> | |
| 495 | + </div> | |
| 496 | + <div class="fileWrap fileAfter file_list_div asset_no_use_pro_table" style="display:none"> | |
| 497 | + <table> | |
| 498 | + <colgroup> | |
| 499 | + <col style="width: 60%"> | |
| 500 | + <col style="width: 10%"> | |
| 501 | + <col style="width: 20%"> | |
| 502 | + <col style="width: 10%"> | |
| 503 | + </colgroup> | |
| 504 | + <thead> | |
| 505 | + <tr> | |
| 506 | + <th>파일명</th> | |
| 507 | + <th>크기</th> | |
| 508 | + <th>등록일시</th> | |
| 509 | + <th>삭제</th> | |
| 510 | + </tr> | |
| 511 | + </thead> | |
| 512 | + <tbody id="tbody_fiielist"> | |
| 513 | + <c:forEach var="fileList" items="${fileList}" varStatus="status"> | |
| 514 | + <tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj"> | |
| 515 | + <td class="file_name"> | |
| 516 | + <a href="javascript:fn_egov_downFile('${fileList.atchFileId}','${fileList.fileSn}')"> | |
| 517 | + <img src="/direct/img/upload_hwp_img.png" alt="" /> | |
| 518 | + <span class="file_name_text">${fileList.orignlFileNm}</span> | |
| 519 | + </a> | |
| 520 | + </td> | |
| 521 | + <td><span class="file_size_text" value="${fileList.fileMg}"></span></td> | |
| 522 | + <td>${fileList.creatDt}</td> | |
| 523 | + <td> | |
| 524 | + <input type="button" class="delBtn" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"> | |
| 525 | + </td> | |
| 526 | + <input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileMg}" > | |
| 527 | + </tr> | |
| 528 | + </c:forEach> | |
| 529 | + </tbody> | |
| 530 | + </table> | |
| 531 | + </div> | |
| 532 | + <div class="fileInfo file_list_div"> | |
| 533 | + <ul class="inline"> | |
| 534 | + <li> | |
| 535 | + <p><span class="c_456ded fwBold totalfileCount">0</span>개 | <span class="c_456ded fwBold totalfileSize">0MB</span></p> | |
| 536 | + </li> | |
| 537 | + <li> | |
| 538 | + <p>최대 <span class="c_e40000 fwBold limitcount_li"></span>개 | <span class="c_e40000 fwBold upload_number">50MB</span>제한</p> | |
| 539 | + </li> | |
| 540 | + </ul> | |
| 541 | + </div> | |
| 542 | + <div class="uploadBtm"> | |
| 543 | + <input type="file" id="file_temp" name="file_temp" class="uploadFile"> | |
| 544 | + <!-- <span class="uploadTtype4">메인비주얼 이미지 크기는 </span><span class="uploadTtype4" style="color: red;">1920 X 843 </span>입니다.</p> --> | |
| 545 | + </div> | |
| 546 | + </td> | |
| 547 | + </tr> | |
| 548 | + <tr> | |
| 549 | + <th><span class="reqArea">대체텍스트</span></th> | |
| 550 | + <td colspan="5"> | |
| 551 | + <form:input path="content" maxlength="500" /> | |
| 552 | + </td> | |
| 553 | + </tr> | |
| 554 | + | |
| 555 | + <%-- <tr> | |
| 556 | + <th class="td_title1"><span class="star_t">*</span>첨부 파일</th> | |
| 557 | + <td colspan="5" class="td_txt_exist"> | |
| 558 | + <c:import url="/cmm/fms/selectFileInfsForUpdate.do" charEncoding="utf-8"> | |
| 559 | + <c:param name="param_atchFileId" value="${mainPopupVO.mainzoneImageFile }" /> | |
| 560 | + <c:param name="img_view" value="N" /> | |
| 561 | + <c:param name="img_view_w" value="200" /> | |
| 562 | + <c:param name="img_view_h" value="200" /> | |
| 563 | + <c:param name="updateFlag" value="N" /> | |
| 564 | + <c:param name="img_change_view" value="Y" /> | |
| 565 | + </c:import> | |
| 566 | + </td> | |
| 567 | + </tr> --%> | |
| 568 | + <c:if test="${!empty mainPopupVO.popId}"> | |
| 569 | + <tr> | |
| 570 | + <th><span class="reqArea">최종수정일</span></th> | |
| 571 | + <td> | |
| 572 | + ${mainPopupVO.moddt} | |
| 573 | + </td> | |
| 574 | + </tr> | |
| 575 | + | |
| 576 | + <tr> | |
| 577 | + <th><span class="reqArea">작성자</span></th> | |
| 578 | + <td> | |
| 579 | + ${mainPopupVO.registerId} | |
| 580 | + </td> | |
| 581 | + </tr> | |
| 582 | + </c:if> | |
| 583 | + </tbody> | |
| 584 | + </table> | |
| 585 | + </div> | |
| 586 | + <div class="btnWrap right"> | |
| 587 | + <input type="button" class="btnType1 bg_888888" value="목 록" onclick="goList(); return false;" > | |
| 588 | + <c:if test="${!empty mainPopupVO.popId }"> | |
| 589 | + <input type="button" class="btnType1 bg_ed4545" value="삭 제" onclick="fn_mainzone_delete(); return false;" > | |
| 590 | + <input type="button" class="btnType1" value="수 정" onclick="validate('mainzone_U'); return false;"> | |
| 591 | + </c:if> | |
| 592 | + <c:if test="${empty mainPopupVO.popId }"> | |
| 593 | + <input type="button" class="btnType1" value="저 장" onclick="validate('mainzone_I'); return false;"> | |
| 594 | + </c:if> | |
| 595 | + </div> | |
| 596 | + </div> | |
| 597 | + </div> | |
| 598 | +</form:form> | |
| 599 | +<form name="searchForm" id="searchForm" method="get" action="<c:url value='/uss/ion/bnr/pop/mainPopupList.do'/>" ></form> | |
| 600 | +</body> | |
| 601 | +</html> |
--- src/main/webapp/WEB-INF/jsp/web/main/mainPage - 복사본.jsp
... | ... | @@ -1,681 +0,0 @@ |
| 1 | -<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | |
| 2 | -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 3 | -<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> | |
| 4 | -<!DOCTYPE html> | |
| 5 | -<html lang="ko"> | |
| 6 | -<head> | |
| 7 | -<title>한국공예·디자인문화진흥원</title> | |
| 8 | -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> | |
| 9 | -<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | |
| 10 | -<meta name="description" content="한국공예·디자인문화진흥원에 대한 정보를 제공합니다."> | |
| 11 | -<meta name="keywords" content="한국공예·디자인문화진흥원"> | |
| 12 | -<meta name="viewport" content="width=device-width, initial-scale=1"> | |
| 13 | -<script type="text/javascript" src="/js/tab.js"></script> | |
| 14 | -<link href="/css/style.css" rel="stylesheet"> | |
| 15 | -<link rel="stylesheet" type="text/css" href="/css/style.min.css"> | |
| 16 | -<link href="/js/font-awesome/css/font-awesome.min.css" rel="stylesheet"> | |
| 17 | -<link href="/css/page.css" rel="stylesheet"> | |
| 18 | - | |
| 19 | -<link rel="stylesheet" href="/css/flexslider.css" type="text/css" media="screen" /><!-- 이미지슬라이드 --> | |
| 20 | -<script defer src="/js/jquery.flexslider.js"></script> | |
| 21 | -<link href="/css/index.css" rel="stylesheet"> | |
| 22 | -<script type="text/javascript"> | |
| 23 | -$(document).ready(function(){ | |
| 24 | - if($(window).width() < 701){ | |
| 25 | - $('.main_magazine').attr("onclick", "javascript:location.href='${popupzoneList_05[0].mlink}'"); | |
| 26 | - } | |
| 27 | - | |
| 28 | - // 실서버 | |
| 29 | - if($(location).attr('host').indexOf("kcdf.or.kr") != -1){ | |
| 30 | - if($(location).attr('host').indexOf("www") == -1){ | |
| 31 | - var strurl = $(location).attr('href'); | |
| 32 | - strurl = strurl.replace("kcdf.or.kr", "www.kcdf.or.kr"); | |
| 33 | - window.location.replace(strurl); | |
| 34 | - } | |
| 35 | - } | |
| 36 | - | |
| 37 | - //레이어 팝업 띄우기 | |
| 38 | - <c:forEach var="popupListData" items="${popupList}" varStatus="status" end="10"> | |
| 39 | - <c:if test="${popupListData.popupType eq 'L'}"> | |
| 40 | - if(fnGetCookie('layer_${popupListData.popupId}') == null){ | |
| 41 | - $("#layer_pop_${popupListData.popupId}").fadeIn(); | |
| 42 | - } | |
| 43 | - </c:if> | |
| 44 | - </c:forEach> | |
| 45 | - | |
| 46 | - //윈도우 팝업 띄우기 | |
| 47 | - <c:forEach var="popupListData" items="${popupList}" varStatus="status" end="10"> | |
| 48 | - <c:if test="${popupListData.popupType eq 'W'}"> | |
| 49 | - if(fnGetCookie('${popupListData.popupId}') == null ){ | |
| 50 | - fn_openPopup('${popupListData.popupId}', '${popupListData.sortNum}','${popupListData.popupWidthSize}','${popupListData.popupVrticlSize}','${popupListData.popupWidthLc}','${popupListData.popupVrticlLc}'); | |
| 51 | - } | |
| 52 | - </c:if> | |
| 53 | - </c:forEach> | |
| 54 | - | |
| 55 | -}); | |
| 56 | - | |
| 57 | -function fn_layerClose(popupId){ | |
| 58 | - $("#layer_pop_"+popupId).fadeOut(); | |
| 59 | -} | |
| 60 | - | |
| 61 | -function fn_egov_inqire_notice(bbsId, nttId) { | |
| 62 | - document.frm.bbsId.value = bbsId; | |
| 63 | - document.frm.nttId.value = nttId; | |
| 64 | - document.frm.method = "get"; | |
| 65 | - if("EXTBBSM_000000000002" == bbsId){ //입찰 | |
| 66 | - document.frm.action = "/web/cop/bbs/viewExtBoard.do"; | |
| 67 | - }else{ | |
| 68 | - document.frm.action = "/web/cop/bbsWeb/selectBoardArticle.do"; | |
| 69 | - } | |
| 70 | - //document.frm.action = "/web/cop/bbsWeb/selectBoardArticle.do"; | |
| 71 | - document.frm.submit(); | |
| 72 | -} | |
| 73 | - | |
| 74 | -function fn_egov_inqire_notice_secd(bbsId, nttId, seCd) { | |
| 75 | - document.frmSecd.bbsId.value = bbsId; | |
| 76 | - document.frmSecd.nttId.value = nttId; | |
| 77 | - document.frmSecd.seCd.value = seCd; | |
| 78 | - document.frmSecd.method = "get"; | |
| 79 | - if("EXTBBSM_000000000002" == bbsId){ //입찰 | |
| 80 | - document.frmSecd.action = "/web/cop/bbs/selectExtBbsList.do"; | |
| 81 | - document.frmSecd.submit(); | |
| 82 | - }else{ | |
| 83 | - document.frmSecd.action = "/web/cop/bbsWeb/selectBoardArticle.do"; | |
| 84 | - document.frmSecd.submit(); | |
| 85 | - } | |
| 86 | -} | |
| 87 | - | |
| 88 | - | |
| 89 | -function checkMobileDevice() { | |
| 90 | - var mobileKeyWords = new Array('Android', 'iPhone', 'iPod', 'BlackBerry', 'Windows CE', 'SAMSUNG', 'LG', 'MOT', 'SonyEricsson'); | |
| 91 | - for (var info in mobileKeyWords) { | |
| 92 | - if (navigator.userAgent.match(mobileKeyWords[info]) != null) { | |
| 93 | - return true; | |
| 94 | - } | |
| 95 | - } | |
| 96 | - return false; | |
| 97 | -} | |
| 98 | - | |
| 99 | -function fn_egov_addNotice() { | |
| 100 | - document.frm.method = "get"; | |
| 101 | - document.frm.bbsId.value = "BBSMSTR_000000000153"; | |
| 102 | - document.frm.action = "/web/cop/bbs/addBoardArticle.do"; | |
| 103 | - document.frm.submit(); | |
| 104 | -} | |
| 105 | - | |
| 106 | - | |
| 107 | -/* ******************************************************** | |
| 108 | -* 팝업창 오픈 쿠키 정보 OPEN | |
| 109 | -******************************************************** */ | |
| 110 | -function fnGetCookie(name) { | |
| 111 | - var prefix = name + "="; | |
| 112 | - | |
| 113 | - var cookieStartIndex = document.cookie.indexOf(prefix); | |
| 114 | - if (cookieStartIndex == -1) return null; | |
| 115 | - var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length); | |
| 116 | - if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length; | |
| 117 | - | |
| 118 | - | |
| 119 | - return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex)); | |
| 120 | -} | |
| 121 | - | |
| 122 | -/* ******************************************************** | |
| 123 | - * 쿠키설정 | |
| 124 | - ******************************************************** */ | |
| 125 | -function fnSetCookiePopup( name, value, expiredays ) { | |
| 126 | - var todayDate = new Date(); | |
| 127 | - todayDate.setDate( todayDate.getDate() + expiredays ); | |
| 128 | - document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";" | |
| 129 | -} | |
| 130 | - | |
| 131 | -/* ******************************************************** | |
| 132 | -* 체크버튼 클릭시 | |
| 133 | -******************************************************** */ | |
| 134 | -function fnPopupCheck(popupId , typeFlag) { | |
| 135 | - fnSetCookiePopup( typeFlag+"_"+popupId , "done" , 1); | |
| 136 | - fn_layerClose(popupId); | |
| 137 | -} | |
| 138 | - | |
| 139 | -function fn_openPopup(popupId,seq,width,height,x,y){ | |
| 140 | - if(width < 200){ | |
| 141 | - width = 200; | |
| 142 | - } | |
| 143 | - | |
| 144 | - if(height < 200){ | |
| 145 | - height = 200; | |
| 146 | - } | |
| 147 | - | |
| 148 | - var openPopup = window.open('<c:url value='/web/main/EgovPopup.do'/>'+'?popupId='+popupId, | |
| 149 | - 'pop_'+popupId,'width='+width+',height='+height+',top='+y+',left='+x); | |
| 150 | - if(openPopup != null){ | |
| 151 | - if (window.focus) {openPopup.focus()} | |
| 152 | - } | |
| 153 | - | |
| 154 | -} | |
| 155 | - | |
| 156 | -</script> | |
| 157 | -<style> | |
| 158 | -.btn{ background: none;} | |
| 159 | -.btn:hover {background:none;} | |
| 160 | -</style> | |
| 161 | -</head> | |
| 162 | -<body> | |
| 163 | - <section class="main"> | |
| 164 | - <!-- 메인비주얼 --> | |
| 165 | - <!-- <div class="visual_txt"><img src="/img/index/visual_txt.png" alt="한국공예디자인문화진흥원"></div> --> | |
| 166 | - <div id="slides" class="visual" style="cursor:pointer;"> | |
| 167 | - <c:forEach var="result" items="${mainzoneList}" varStatus="status"> | |
| 168 | - <img alt="${result.mazNm}" onerror="this.src='/images/no_img.jpg'" src='<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.mainzoneImageFile}"/>' | |
| 169 | - <c:if test="${not empty result.mlink}" > | |
| 170 | - onclick="window.open('${result.mlink}', '_blank');" | |
| 171 | - </c:if> | |
| 172 | - /> | |
| 173 | - </c:forEach> | |
| 174 | - </div> | |
| 175 | - <script src="/js/jquery.slides.min.js"></script> | |
| 176 | - <script type="text/javascript"> | |
| 177 | - $('#slides').slidesjs({ | |
| 178 | - play: { | |
| 179 | - active: true, | |
| 180 | - auto: false, | |
| 181 | - interval: 9000, | |
| 182 | - navigation:false, | |
| 183 | - swap: true, | |
| 184 | - effect : "slide" | |
| 185 | - }, | |
| 186 | - navigation: { | |
| 187 | - active: true | |
| 188 | - }, | |
| 189 | - }); | |
| 190 | - </script> | |
| 191 | - | |
| 192 | - <!-- 메인 공지글 --> | |
| 193 | - <div class="main_board_pc"> | |
| 194 | - <div class="main_board"> | |
| 195 | - <div class="main_board_box"> | |
| 196 | - <div class="board_title">공지</div> | |
| 197 | - <div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000122">more +</a></div> | |
| 198 | - <div class="board_list"> | |
| 199 | - <ul> | |
| 200 | - <c:forEach var="result" items="${noticeMap}" varStatus="status"> | |
| 201 | - <li><span class="lt_list"> | |
| 202 | - <a href="javascript:fn_egov_inqire_notice('${result.bbsId}', '${result.nttId}');"> | |
| 203 | - <c:out value="${result.nttSj}" /> | |
| 204 | - </a> | |
| 205 | - </span><span class="lt_date">${result.frstRegisterPnttm}</span></li> | |
| 206 | - </c:forEach> | |
| 207 | - </ul> | |
| 208 | - </div> | |
| 209 | - </div> | |
| 210 | - <div class="main_board_box"> | |
| 211 | - <div class="board_title">사업</div> | |
| 212 | - <div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000119&seCd=SE01">more +</a></div> | |
| 213 | - <div class="board_list"> | |
| 214 | - <ul> | |
| 215 | - <c:forEach var="result" items="${bizMap}" varStatus="status"> | |
| 216 | - <li><span class="lt_list"> | |
| 217 | - <a href="javascript:fn_egov_inqire_notice_secd('${result.bbsId}', '${result.nttId}' , '${result.seCd}' );"> | |
| 218 | - <c:out value="${result.nttSj}" /> | |
| 219 | - </a> | |
| 220 | - </span><span class="lt_date">${result.frstRegisterPnttm}</span></li> | |
| 221 | - </c:forEach> | |
| 222 | - </ul> | |
| 223 | - </div> | |
| 224 | - </div> | |
| 225 | - <div class="main_board_box"> | |
| 226 | - <div class="board_title">입찰</div> | |
| 227 | - <div class="board_more"><a href="/web/cop/bbs/selectExtBbsList.do?bbsId=EXTBBSM_000000000002">more +</a></div> | |
| 228 | - <div class="board_list"> | |
| 229 | - <ul> | |
| 230 | - <c:forEach var="result" items="${bidMap}" varStatus="status"> | |
| 231 | - <li><span class="lt_list"> | |
| 232 | - <a href="javascript:fn_egov_inqire_notice('${result.bbsId}', '${result.nttId}');"> | |
| 233 | - <c:out value="${result.nttSj}" /> | |
| 234 | - </a> | |
| 235 | - </span><span class="lt_date">${result.frstRegisterPnttm}</span></li> | |
| 236 | - </c:forEach> | |
| 237 | - </ul> | |
| 238 | - </div> | |
| 239 | - </div> | |
| 240 | - | |
| 241 | - <div class="main_board_box"> | |
| 242 | - <div class="board_title">채용</div> | |
| 243 | - <div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000124&seCd=SE01">more +</a></div> | |
| 244 | - <div class="board_list"> | |
| 245 | - <ul> | |
| 246 | - <c:forEach var="result" items="${hireMap}" varStatus="status"> | |
| 247 | - <li><span class="lt_list"> | |
| 248 | - <a href="javascript:fn_egov_inqire_notice_secd('${result.bbsId}', '${result.nttId}' , '${result.seCd}' );"> | |
| 249 | - <c:out value="${result.nttSj}" /> | |
| 250 | - </a> | |
| 251 | - </span><span class="lt_date">${result.frstRegisterPnttm}</span></li> | |
| 252 | - </c:forEach> | |
| 253 | - </ul> | |
| 254 | - </div> | |
| 255 | - </div> | |
| 256 | - </div> | |
| 257 | - </div> | |
| 258 | - | |
| 259 | - <div class="main_board_mobile"> | |
| 260 | - <ul class="tab_main"> | |
| 261 | - <li class="current" data-tab="tab1">공지</li> | |
| 262 | - <li data-tab="tab2">입찰</li> | |
| 263 | - <li data-tab="tab3">사업</li> | |
| 264 | - <li data-tab="tab4">채용</li> | |
| 265 | - </ul> | |
| 266 | - | |
| 267 | - <!--공지--> | |
| 268 | - <div class="tabcontent current" id="tab1"> | |
| 269 | - <div class="main_board_box"> | |
| 270 | - <div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000122">more +</a></div> | |
| 271 | - <div class="board_list"> | |
| 272 | - <ul> | |
| 273 | - <c:forEach var="result" items="${noticeMap}" varStatus="status"> | |
| 274 | - <li><span class="lt_list"> | |
| 275 | - <a href="javascript:fn_egov_inqire_notice('${result.bbsId}', '${result.nttId}');"> | |
| 276 | - <c:out value="${result.nttSj}" /> | |
| 277 | - </a> | |
| 278 | - </span><span class="lt_date">${result.frstRegisterPnttm}</span></li> | |
| 279 | - </c:forEach> | |
| 280 | - </ul> | |
| 281 | - </div> | |
| 282 | - </div> | |
| 283 | - </div> | |
| 284 | - | |
| 285 | - <!--입찰--> | |
| 286 | - <div class="tabcontent" id="tab2"> | |
| 287 | - <div class="main_board_box"> | |
| 288 | - <div class="board_more"><a href="/web/cop/bbs/selectExtBbsList.do?bbsId=EXTBBSM_000000000002">more +</a></div> | |
| 289 | - <div class="board_list"> | |
| 290 | - <ul> | |
| 291 | - <c:forEach var="result" items="${bidMap}" varStatus="status"> | |
| 292 | - <li><span class="lt_list"> | |
| 293 | - <a href="javascript:fn_egov_inqire_notice('${result.bbsId}', '${result.nttId}' );"> | |
| 294 | - <c:out value="${result.nttSj}" /> | |
| 295 | - </a> | |
| 296 | - </span><span class="lt_date">${result.frstRegisterPnttm}</span></li> | |
| 297 | - </c:forEach> | |
| 298 | - </ul> | |
| 299 | - </div> | |
| 300 | - </div> | |
| 301 | - </div> | |
| 302 | - | |
| 303 | - <!--사업--> | |
| 304 | - <div class="tabcontent" id="tab3"> | |
| 305 | - <div class="main_board_box"> | |
| 306 | - <div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000119&seCd=SE01">more +</a></div> | |
| 307 | - <div class="board_list"> | |
| 308 | - <ul> | |
| 309 | - <c:forEach var="result" items="${bizMap}" varStatus="status"> | |
| 310 | - <li><span class="lt_list"> | |
| 311 | - <a href="javascript:fn_egov_inqire_notice_secd('${result.bbsId}', '${result.nttId}' , '${result.seCd}' );"> | |
| 312 | - <c:out value="${result.nttSj}" /> | |
| 313 | - </a> | |
| 314 | - </span><span class="lt_date">${result.frstRegisterPnttm}</span></li> | |
| 315 | - </c:forEach> | |
| 316 | - </ul> | |
| 317 | - </div> | |
| 318 | - </div> | |
| 319 | - | |
| 320 | - <script> | |
| 321 | - $(function() { | |
| 322 | - $('ul.tab_main li').click(function() { | |
| 323 | - var activeTab = $(this).attr('data-tab'); | |
| 324 | - $('ul.tab_main li').removeClass('current'); | |
| 325 | - $('.tabcontent').removeClass('current'); | |
| 326 | - $(this).addClass('current'); | |
| 327 | - $('#' + activeTab).addClass('current'); | |
| 328 | - }) | |
| 329 | - }); | |
| 330 | - </script> | |
| 331 | - </div> | |
| 332 | - | |
| 333 | - <!--채용--> | |
| 334 | - <div class="tabcontent" id="tab4"> | |
| 335 | - <div class="main_board_box"> | |
| 336 | - <div class="board_more"><a href="/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000124&seCd=SE01">more +</a></div> | |
| 337 | - <div class="board_list"> | |
| 338 | - <ul> | |
| 339 | - <c:forEach var="result" items="${hireMap}" varStatus="status"> | |
| 340 | - <li><span class="lt_list"> | |
| 341 | - <a href="javascript:fn_egov_inqire_notice_secd('${result.bbsId}', '${result.nttId}' , '${result.seCd}' );"> | |
| 342 | - <c:out value="${result.nttSj}" /> | |
| 343 | - </a> | |
| 344 | - </span><span class="lt_date">${result.frstRegisterPnttm}</span></li> | |
| 345 | - </c:forEach> | |
| 346 | - </ul> | |
| 347 | - </div> | |
| 348 | - </div> | |
| 349 | - </div> | |
| 350 | - </div> | |
| 351 | - | |
| 352 | - <!-- 메인 소식 --> | |
| 353 | - <div class="main_notice"> | |
| 354 | - <div class="main_title_wr"><img src="/img/index/main_notice_icon.png" alt="아이콘"> 한국공예디자인문화진흥원 소식</div> | |
| 355 | - <div class="flexslider main_notice_img"> | |
| 356 | - <ul class="slides"> | |
| 357 | - <c:forEach var="result" items="${popupzoneList_01}" varStatus="status"> | |
| 358 | - <li> | |
| 359 | - <div alt="${result.pozNm}" style="background:url(<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.popupzoneImageFile}"/>); cursor:pointer;" | |
| 360 | - <c:if test="${result.istarget eq 'C'}" > | |
| 361 | - onclick="javascript:location.href='${result.mlink}';" | |
| 362 | - </c:if> | |
| 363 | - <c:if test="${result.istarget eq 'N'}" > | |
| 364 | - onclick="window.open('${result.mlink}', '_blank');" | |
| 365 | - </c:if> | |
| 366 | - > | |
| 367 | - </div> | |
| 368 | - </li> | |
| 369 | - </c:forEach> | |
| 370 | - </ul> | |
| 371 | - </div> | |
| 372 | - <!-- FlexSlider --> | |
| 373 | - <script type="text/javascript"> | |
| 374 | - | |
| 375 | - (function() { | |
| 376 | - | |
| 377 | - // store the slider in a local variable | |
| 378 | - var $window = $(window), | |
| 379 | - flexslider = { vars:{} }; | |
| 380 | - | |
| 381 | - // tiny helper function to add breakpoints | |
| 382 | - function getGridSize() { | |
| 383 | - return (window.innerWidth < 600) ? 1 : | |
| 384 | - (window.innerWidth < 900) ? 2 : 3; | |
| 385 | - } | |
| 386 | - | |
| 387 | - | |
| 388 | - $window.load(function() { | |
| 389 | - $('.flexslider').flexslider({ | |
| 390 | - slideshow: false, | |
| 391 | - animation: "slide", | |
| 392 | - animationSpeed: 400, | |
| 393 | - animationLoop: false, | |
| 394 | - itemWidth: 463, | |
| 395 | - itemMargin: 46, | |
| 396 | - minItems: getGridSize(), // use function to pull in initial value | |
| 397 | - maxItems: getGridSize(), // use function to pull in initial value | |
| 398 | - start: function(slider){ | |
| 399 | - $('body').removeClass('loading'); | |
| 400 | - flexslider = slider; | |
| 401 | - } | |
| 402 | - }); | |
| 403 | - }); | |
| 404 | - | |
| 405 | - // check grid size on resize event | |
| 406 | - $window.resize(function() { | |
| 407 | - var gridSize = getGridSize(); | |
| 408 | - | |
| 409 | - flexslider.vars.minItems = gridSize; | |
| 410 | - flexslider.vars.maxItems = gridSize; | |
| 411 | - }); | |
| 412 | - }()); | |
| 413 | - </script> | |
| 414 | - </div> | |
| 415 | - | |
| 416 | - <div class="main_gal_wr"> | |
| 417 | - <div class="main_top_wr"> | |
| 418 | - <!-- KCDF 갤러리 안내 --> | |
| 419 | - <div class="main_gal_left"> | |
| 420 | - <div class="main_title_wr"><img src="/img/index/main_notice_icon.png" alt="아이콘"> KCDF 갤러리 안내</div> | |
| 421 | - <div class="main_gal_menu"> | |
| 422 | - <ul> | |
| 423 | - <li><a href="/web/content.do?proFn=kcdf_gallery" target="_blank"><img src="/img/index/main_gallery_menu01.png" alt="KCDF 갤러리 소개"></a></li> | |
| 424 | - <li><a href="/web/cop/resve/selectResveList.do?viewCnd=resveList" target="_blank"><img src="/img/index/main_gallery_menu02.png" alt="KCDF 갤러리 대관신청"></a></li> | |
| 425 | - <li><a href="https://library.kcdf.kr/web/" target="_blank" ><img src="/img/index/main_gallery_menu03.png" alt="KCDF 도서관 바로가기"></a></li> | |
| 426 | - <li><a href="http://kcdfshop.kr/" target="_blank" ><img src="/img/index/main_gallery_menu04.png" alt="KCDF 온라인샵 바로가기"></a></li> | |
| 427 | - </ul> | |
| 428 | - </div> | |
| 429 | - </div> | |
| 430 | - | |
| 431 | - <!-- KCDF 갤러리 전시 --> | |
| 432 | - <div class="main_gal_right"> | |
| 433 | - <div class="main_title_wr"><img src="/img/index/main_gallery2_icon.png" alt="아이콘"> KCDF 갤러리 전시</div> | |
| 434 | - <div class="flexslider02 main_gal_img"> | |
| 435 | - <ul class="slides"> | |
| 436 | - <c:forEach var="result" items="${popupzoneList_02}" varStatus="status"> | |
| 437 | - <li> | |
| 438 | - <div alt="${result.pozNm}" style="cursor:pointer; background-image:url(<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.popupzoneImageFile}"/>);" | |
| 439 | - <c:if test="${result.istarget eq 'C'}" > | |
| 440 | - onclick="javascript:location.href='${result.mlink}';" | |
| 441 | - </c:if> | |
| 442 | - <c:if test="${result.istarget eq 'N'}" > | |
| 443 | - onclick="window.open('${result.mlink}', '_blank');" | |
| 444 | - </c:if> | |
| 445 | - > | |
| 446 | - </div> | |
| 447 | - </li> | |
| 448 | - </c:forEach> | |
| 449 | - </ul> | |
| 450 | - </div> | |
| 451 | - <!-- FlexSlider --> | |
| 452 | - <script type="text/javascript"> | |
| 453 | - | |
| 454 | - (function() { | |
| 455 | - | |
| 456 | - // store the slider in a local variable | |
| 457 | - var $window = $(window), | |
| 458 | - flexslider = { vars:{} }; | |
| 459 | - | |
| 460 | - // tiny helper function to add breakpoints | |
| 461 | - function getGridSize() { | |
| 462 | - return (window.innerWidth < 600) ? 1 : | |
| 463 | - (window.innerWidth < 900) ? 1 : 1; | |
| 464 | - } | |
| 465 | - | |
| 466 | - | |
| 467 | - | |
| 468 | - $window.load(function() { | |
| 469 | - $('.flexslider02').flexslider({ | |
| 470 | - slideshow: false, | |
| 471 | - animation: "slide", | |
| 472 | - animationSpeed: 400, | |
| 473 | - animationLoop: false, | |
| 474 | - itemWidth: 463, | |
| 475 | - itemMargin: 10, | |
| 476 | - minItems: getGridSize(), // use function to pull in initial value | |
| 477 | - maxItems: getGridSize(), // use function to pull in initial value | |
| 478 | - start: function(slider){ | |
| 479 | - $('body').removeClass('loading'); | |
| 480 | - flexslider = slider; | |
| 481 | - } | |
| 482 | - }); | |
| 483 | - }); | |
| 484 | - | |
| 485 | - // check grid size on resize event | |
| 486 | - $window.resize(function() { | |
| 487 | - var gridSize = getGridSize(); | |
| 488 | - | |
| 489 | - flexslider.vars.minItems = gridSize; | |
| 490 | - flexslider.vars.maxItems = gridSize; | |
| 491 | - }); | |
| 492 | - }()); | |
| 493 | - </script> | |
| 494 | - </div> | |
| 495 | - | |
| 496 | - <div class="mobile_bottom"> | |
| 497 | - <!-- KCDF 블로그 --> | |
| 498 | - <div class="main_blog"> | |
| 499 | - <div class="main_title_wr"><img src="/img/index/main_blog_icon.png" alt="아이콘"> 한국공예디자인문화진흥원 블로그</div> | |
| 500 | - <ul class="main_blog_list"> | |
| 501 | - <c:forEach var="result" items="${popupzoneList_03}" varStatus="status"> | |
| 502 | - <li alt="${fn:substring(result.pozNm,0,7)}" style="background:url('<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${result.popupzoneImageFile}"/>') no-repeat center #f3f3f3; background-size:cover;cursor:pointer;" | |
| 503 | - <c:if test="${result.istarget eq 'C'}" > | |
| 504 | - onclick="javascript:location.href='${result.mlink}';" | |
| 505 | - </c:if> | |
| 506 | - <c:if test="${result.istarget eq 'N'}" > | |
| 507 | - onclick="window.open('${result.mlink}', '_blank');" | |
| 508 | - </c:if> | |
| 509 | - > | |
| 510 | - <div class="blog_thum_bg" style="width: 100%;">${result.pozNm}</div></li> | |
| 511 | - </c:forEach> | |
| 512 | - </ul> | |
| 513 | - </div> | |
| 514 | - | |
| 515 | - <!-- 우수문화상품지정제 190207 수정s --> | |
| 516 | - <c:if test="${not empty popupzoneList_04}" > | |
| 517 | - <div class="main_kribbon"><!-- 190207 링크추가 수정--> | |
| 518 | - <div class="kribbon_thumnail" alt="${popupzoneList_04[0].pozNm}" style="background:url('<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${popupzoneList_04[0].popupzoneImageFile}"/>') no-repeat center; background-size:contain;"></div> | |
| 519 | - <div class="kribbon_left"> | |
| 520 | - <div class="btn"> | |
| 521 | - <a href="${popupzoneList_04[0].mlink}" | |
| 522 | - <c:if test="${popupzoneList_04[0].istarget ne 'C'}" > | |
| 523 | - target="_blank" | |
| 524 | - </c:if> | |
| 525 | - >바로가기</a> | |
| 526 | - </div> | |
| 527 | - </div> | |
| 528 | - <div class="kribbon_right"> | |
| 529 | - <div class="title">우수문화상품지정제</div> | |
| 530 | - <div class="text"> | |
| 531 | - 우수문화상품 지정제도는 | |
| 532 | - 한국의 문화적 가치를 담은 우수문화상품을 | |
| 533 | - 지정하여 한복의 옷고름 모양을 딴 | |
| 534 | - K-ribbon 마크를 부착하고, 체계적인 | |
| 535 | - 관리와 브랜드마케팅을 통해 | |
| 536 | - ‘코리아프리미엄’을 창출하고자 하는 | |
| 537 | - 제도 입니다. | |
| 538 | - <p class="maTop10">2015년 11월 부터 시행되었으며, | |
| 539 | - 문화콘텐츠, 한복, 공예품, 한식·식품 등 | |
| 540 | - 한국을 대표할 수 있는 문화상품들을 | |
| 541 | - 대상으로 합니다. </p> | |
| 542 | - </div> | |
| 543 | - </div> | |
| 544 | - </div> | |
| 545 | - | |
| 546 | - </c:if> | |
| 547 | - <!-- 정기구독 s 190207 수정--> | |
| 548 | - <c:if test="${not empty popupzoneList_05}" > | |
| 549 | - <div class="main_magazine"><!-- 190207 링크추가 수정--> | |
| 550 | - <div class="magazine_thumnail" alt="${popupzoneList_05[0].pozNm}" style="background:url('<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${popupzoneList_05[0].popupzoneImageFile}"/>') no-repeat center; background-size:contain"></div> | |
| 551 | - <div class="btn"> | |
| 552 | - <a href="${popupzoneList_05[0].mlink}" | |
| 553 | - <c:if test="${popupzoneList_05[0].istarget ne 'C'}" > | |
| 554 | - target="_blank" | |
| 555 | - </c:if> | |
| 556 | - ><img src="/img/index/main_magazine_btn.png" alt="정기구독신청"></a></div> | |
| 557 | - <div class="text01"> | |
| 558 | - 「공예+디자인」은<br> | |
| 559 | - 한국공예디자인문화진흥원이<br> | |
| 560 | - 격월로 발행하는 공예·디자인<br> | |
| 561 | - 전문간행물입니다. | |
| 562 | - </div> | |
| 563 | - <div class="text02">공예 + 디자인 격월발행</div> | |
| 564 | - </div> | |
| 565 | - </c:if> | |
| 566 | - </div> | |
| 567 | - </div> | |
| 568 | - </div> | |
| 569 | - | |
| 570 | - <!-- 배너 --> | |
| 571 | - <div id="link_wrap"> | |
| 572 | - <div class="link_wrap_1300"> | |
| 573 | - <div class="flexslider03 banner_img"> | |
| 574 | - <!--190207 수정 s--> | |
| 575 | - <ul class="slides"> | |
| 576 | - <c:forEach var="banner" items="${bannerList}" varStatus="status"> | |
| 577 | - <li> | |
| 578 | - <div alt="${banner.bannerNm}" style="background:url(<c:url value='/cmm/fms/getImage.do'/>?atchFileId=<c:out value="${banner.bannerImageFile}"/>) no-repeat center; background-size:contain ;cursor: pointer;"; | |
| 579 | - <c:if test="${banner.istarget ne 'C'}" > | |
| 580 | - onclick="window.open('${banner.linkUrl}', '_blank');" | |
| 581 | - </c:if> | |
| 582 | - <c:if test="${banner.istarget eq 'C'}" > | |
| 583 | - onclick="window.open('${banner.linkUrl}', '_self');" | |
| 584 | - </c:if> | |
| 585 | - ></div> | |
| 586 | - </li> | |
| 587 | - </c:forEach> | |
| 588 | - </ul> | |
| 589 | - <!--190207 수정 e--> | |
| 590 | - </div> | |
| 591 | - <!-- FlexSlider --> | |
| 592 | - <script type="text/javascript"> | |
| 593 | - (function() { | |
| 594 | - // store the slider in a local variable | |
| 595 | - var $window = $(window), | |
| 596 | - flexslider = { vars:{} }; | |
| 597 | - | |
| 598 | - // tiny helper function to add breakpoints | |
| 599 | - function getGridSize() { | |
| 600 | - return (window.innerWidth < 500) ? 3 : | |
| 601 | - (window.innerWidth < 900) ? 5 : 8; | |
| 602 | - } | |
| 603 | - | |
| 604 | - $window.load(function() { | |
| 605 | - $('.flexslider03').flexslider({ | |
| 606 | - slideshow: false, | |
| 607 | - animation: "slide", | |
| 608 | - animationSpeed: 400, | |
| 609 | - animationLoop: false, | |
| 610 | - itemWidth: 140, | |
| 611 | - itemMargin: 30, // 190207 수정 | |
| 612 | - minItems: getGridSize(), // use function to pull in initial value | |
| 613 | - maxItems: getGridSize(), // use function to pull in initial value | |
| 614 | - start: function(slider){ | |
| 615 | - $('body').removeClass('loading'); | |
| 616 | - flexslider = slider; | |
| 617 | - } | |
| 618 | - }); | |
| 619 | - }); | |
| 620 | - | |
| 621 | - // check grid size on resize event | |
| 622 | - $window.resize(function() { | |
| 623 | - var gridSize = getGridSize(); | |
| 624 | - | |
| 625 | - flexslider.vars.minItems = gridSize; | |
| 626 | - flexslider.vars.maxItems = gridSize; | |
| 627 | - }); | |
| 628 | - }()); | |
| 629 | - </script> | |
| 630 | - </div> | |
| 631 | - </div> | |
| 632 | - </section> | |
| 633 | - | |
| 634 | - <form name="frm" action="web/cop/bbsWeb/selectBoardArticle.do" method="get"> | |
| 635 | - <input type="hidden" name="bbsId" /> | |
| 636 | - <input type="hidden" name="nttId" value="0" /> | |
| 637 | - </form> | |
| 638 | - | |
| 639 | - <form name="frmSecd" action="web/cop/bbsWeb/selectBoardArticle.do" method="get"> | |
| 640 | - <input type="hidden" name="bbsId" /> | |
| 641 | - <input type="hidden" name="nttId" value="0" /> | |
| 642 | - <input type="hidden" name="seCd" /> | |
| 643 | - </form> | |
| 644 | - | |
| 645 | - <!-- 레이어 팝업 --> | |
| 646 | - <c:if test="${fn:length(popupList) > 0}" > | |
| 647 | - <style type="text/css"> | |
| 648 | - .pop-layer .pop-container {padding: 0px 0px;} | |
| 649 | - .pop-layer p.ctxt {color: #666;line-height: 25px;} | |
| 650 | - .pop-layer .btn-r {width: 100%; padding-top: 10px;border-top: 1px solid #DDD;text-align: right;} | |
| 651 | - .pop-layer {display: none;position: absolute;background-color: #fff;border: 1px solid #3571B5;z-index: 10;} | |
| 652 | - </style> | |
| 653 | - <c:forEach var="popupListData" items="${popupList}" varStatus="status" end="4"> | |
| 654 | - <c:if test="${popupListData.popupType eq 'L'}"> | |
| 655 | - <style type="text/css"> | |
| 656 | - #layer_pop_${popupListData.popupId}{ | |
| 657 | - top: ${popupListData.popupVrticlLc}px; | |
| 658 | - left: ${popupListData.popupWidthLc}px; | |
| 659 | - height: auto; | |
| 660 | - } | |
| 661 | - </style> | |
| 662 | - <div id="layer_pop_${popupListData.popupId}" class="pop-layer"> | |
| 663 | - <div class="pop-container"> | |
| 664 | - <div class="pop-conts"> | |
| 665 | - <!--content //--> | |
| 666 | - ${popupListData.nttCn} | |
| 667 | - <div class="btn-r"> | |
| 668 | - <a href="#" onclick="fn_layerClose('${popupListData.popupId}'); return false;" class="btn-layerClose">Close</a> | |
| 669 | - <br/> | |
| 670 | - 하루동안 창을 열지 않음 <input type="checkbox" name="chkPopup" value="" onClick="fnPopupCheck('${popupListData.popupId}' , 'layer')" title="하루동안창열지않기체크"> | |
| 671 | - </div> | |
| 672 | - <!--// content--> | |
| 673 | - </div> | |
| 674 | - </div> | |
| 675 | - </div> | |
| 676 | - </c:if> | |
| 677 | - </c:forEach> | |
| 678 | - </c:if> | |
| 679 | - <!-- 레이어 팝업 끝--> | |
| 680 | -</body> | |
| 681 | -</html> |
--- src/main/webapp/WEB-INF/jsp/web/main/mainPage.jsp
+++ src/main/webapp/WEB-INF/jsp/web/main/mainPage.jsp
... | ... | @@ -38,28 +38,6 @@ |
| 38 | 38 |
} |
| 39 | 39 |
|
| 40 | 40 |
|
| 41 |
- // 2단팝업 제거 |
|
| 42 |
- var agreePrivateSDate = "2024-11-29"; |
|
| 43 |
- var agreePrivateNow = new Date(); |
|
| 44 |
- agreePrivateNow = leadingZeros(agreePrivateNow.getFullYear(), 4) + '-' + leadingZeros(agreePrivateNow.getMonth() + 1, 2) + '-' + leadingZeros(agreePrivateNow.getDate(), 2); |
|
| 45 |
- if (agreePrivateNow < agreePrivateSDate) {
|
|
| 46 |
- $("#agreePrivatePop_20241129").show();
|
|
| 47 |
- }else{
|
|
| 48 |
- $("#agreePrivatePop_20241129").hide();
|
|
| 49 |
- } |
|
| 50 |
- |
|
| 51 |
- |
|
| 52 |
- //개인정보처리방침 팝업 날짜 설정 |
|
| 53 |
- var agreePrivateSDate = "2024-11-23"; |
|
| 54 |
- var agreePrivateNow = new Date(); |
|
| 55 |
- agreePrivateNow = leadingZeros(agreePrivateNow.getFullYear(), 4) + '-' + leadingZeros(agreePrivateNow.getMonth() + 1, 2) + '-' + leadingZeros(agreePrivateNow.getDate(), 2); |
|
| 56 |
- if (agreePrivateNow < agreePrivateSDate) {
|
|
| 57 |
- $("#agreePrivatePop_20241121").show();
|
|
| 58 |
- $("#agreePrivatePop_20241122").hide();
|
|
| 59 |
- }else{
|
|
| 60 |
- $("#agreePrivatePop_20241121").hide();
|
|
| 61 |
- $("#agreePrivatePop_20241122").show();
|
|
| 62 |
- } |
|
| 63 | 41 |
|
| 64 | 42 |
//메인 팝업 호출 여부 |
| 65 | 43 |
var evntPopCk = fnGetCookie('layer_evntPayPop'); // 이벤트 쿠키
|
... | ... | @@ -1038,8 +1016,8 @@ |
| 1038 | 1016 |
if (fnGetCookie('layer_evntPayPop') != null) { //첫결제 이벤트 팝업 3일 안보기 체크
|
| 1039 | 1017 |
console.log("이벤트 쿠키 있음 : HIDE");
|
| 1040 | 1018 |
|
| 1041 |
- $('.payEventPop').css("display","none");
|
|
| 1042 |
- $('.payEventPop').hide();
|
|
| 1019 |
+// $('.payEventPop').css("display","none");
|
|
| 1020 |
+// $('.payEventPop').hide();
|
|
| 1043 | 1021 |
}else{
|
| 1044 | 1022 |
console.log("이벤트 쿠키 없음 : SHOW");
|
| 1045 | 1023 |
|
... | ... | @@ -1255,8 +1233,8 @@ |
| 1255 | 1233 |
</div> |
| 1256 | 1234 |
|
| 1257 | 1235 |
<!-- 세로가 짧은 팝업 2개일때 --> |
| 1258 |
- <div class="popup_range" id="agreePrivatePop_20241129"> |
|
| 1259 |
- <!-- 20241119 보안강화 인증 수단 도입 안내 팝업 --> |
|
| 1236 |
+ <!-- <div class="popup_range" id="agreePrivatePop_20241129"> |
|
| 1237 |
+ 20241119 보안강화 인증 수단 도입 안내 팝업 |
|
| 1260 | 1238 |
<div class="layer_popup agreePrivatePop" style="margin: 0 0 20px 30px;" id="agreePrivatePop_20241121"> |
| 1261 | 1239 |
<div class="layer_popup_cont"> |
| 1262 | 1240 |
<img src="/publish/images/main/popup06_241119.jpg" alt="보안강화 인증수단 도입 안내 2024년11월 17일자로 보안강화를 위해 서비스 로그인시 휴대폰 본인인증 기능을 도입하였으니 서비스 이용에 참고하시기 바랍니다." usemap="#popup-user-map1" style="height:220px; width:413px;"> |
... | ... | @@ -1270,7 +1248,7 @@ |
| 1270 | 1248 |
</div> |
| 1271 | 1249 |
</div> |
| 1272 | 1250 |
|
| 1273 |
- <!-- 20241122 보안강화 인증 수단 도입 안내 팝업 --> |
|
| 1251 |
+ 20241122 보안강화 인증 수단 도입 안내 팝업 |
|
| 1274 | 1252 |
<div class="layer_popup agreePrivatePop" style="margin: 0 0 20px 30px;" id="agreePrivatePop_20241122"> |
| 1275 | 1253 |
<div class="layer_popup_cont"> |
| 1276 | 1254 |
<img src="/publish/images/main/popup06_241122.jpg" alt="보안로그인 서비스 안내 계정 보안 강화를 위해 도입한 기존 보안로그인 서비스를 2024년 11월 22일자로 개선 및 추가하오니 이용에 참고하시기 바랍니다." usemap="#popup-user-map2" style="height:220px; width:413px;"> |
... | ... | @@ -1284,7 +1262,7 @@ |
| 1284 | 1262 |
</div> |
| 1285 | 1263 |
</div> |
| 1286 | 1264 |
|
| 1287 |
- <!-- 20241119 이용약관 팝업 --> |
|
| 1265 |
+ 20241119 이용약관 팝업 |
|
| 1288 | 1266 |
<div class="layer_popup agreePrivatePop"> |
| 1289 | 1267 |
<div class="layer_popup_cont"> |
| 1290 | 1268 |
<img src="/publish/images/main/popup04_241119.jpg" alt="이용약관 개정 안내 변함없는 문자온 서비스 이용에 감사의 말씀 드립니다. 당사 이용약관이 개정되오니 서비스 이용에 참고하시기 바랍니다." usemap="#popup-use-map1" style="height:220px; width:413px;"> |
... | ... | @@ -1297,7 +1275,7 @@ |
| 1297 | 1275 |
<button type="button" class="popup_close agreePrivatePopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> |
| 1298 | 1276 |
</div> |
| 1299 | 1277 |
</div> |
| 1300 |
- </div> |
|
| 1278 |
+ </div> --> |
|
| 1301 | 1279 |
<!--// 세로가 짧은 팝업 2개일때 --> |
| 1302 | 1280 |
|
| 1303 | 1281 |
|
+++ src/main/webapp/WEB-INF/jsp/web/main/mainPage_advc_20250227.jsp
... | ... | @@ -0,0 +1,2081 @@ |
| 1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | |
| 2 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | |
| 3 | +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> | |
| 4 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 5 | +<spring:eval expression="@property['Globals.Env']" var="Env"/> | |
| 6 | +<head> | |
| 7 | + | |
| 8 | +<link rel="stylesheet" href="/publish/css/main.css"> | |
| 9 | +<link rel="stylesheet" href="/publish/css/swiper.min.css"> | |
| 10 | + | |
| 11 | +<script src="/publish/js/jquery.bxslider.js"></script> | |
| 12 | +<script src="/publish/js/main.js"></script> | |
| 13 | +<script src="/publish/js/swiper.min.js"></script> | |
| 14 | + | |
| 15 | +<script type="text/javascript"> | |
| 16 | +$(document).ready(function() { | |
| 17 | + // http => https 로 이동 | |
| 18 | + if(${Env eq 'prod'}){ | |
| 19 | + httpsRedirect(); | |
| 20 | + } | |
| 21 | + | |
| 22 | + // 슬라이드 이미지 변경 | |
| 23 | + //setMainSlideImgChange(); | |
| 24 | + | |
| 25 | + //슬라이드 이미지 변경 => Double | |
| 26 | + // 9월 30일 개천절 | |
| 27 | + // 10월 4일 한글날 | |
| 28 | + //setMainSlideImgChangeDouble(); | |
| 29 | + | |
| 30 | + //추석연휴 고객센터 안내 팝업 | |
| 31 | + var holidayShow = false; | |
| 32 | + var rsvSDate = "2024-11-01"; | |
| 33 | + var rsvEDate = "2024-11-01"; | |
| 34 | + var now = new Date(); | |
| 35 | + now = leadingZeros(now.getFullYear(), 4) + '-' + leadingZeros(now.getMonth() + 1, 2) + '-' + leadingZeros(now.getDate(), 2); | |
| 36 | + if (now < rsvSDate || now > rsvEDate) { | |
| 37 | + $('.pointPop').hide(); | |
| 38 | + } | |
| 39 | + | |
| 40 | + | |
| 41 | + // 2단팝업 제거 | |
| 42 | + var agreePrivateSDate = "2024-11-29"; | |
| 43 | + var agreePrivateNow = new Date(); | |
| 44 | + agreePrivateNow = leadingZeros(agreePrivateNow.getFullYear(), 4) + '-' + leadingZeros(agreePrivateNow.getMonth() + 1, 2) + '-' + leadingZeros(agreePrivateNow.getDate(), 2); | |
| 45 | + if (agreePrivateNow < agreePrivateSDate) { | |
| 46 | + $("#agreePrivatePop_20241129").show(); | |
| 47 | + }else{ | |
| 48 | + $("#agreePrivatePop_20241129").hide(); | |
| 49 | + } | |
| 50 | + | |
| 51 | + | |
| 52 | + //개인정보처리방침 팝업 날짜 설정 | |
| 53 | + var agreePrivateSDate = "2024-11-23"; | |
| 54 | + var agreePrivateNow = new Date(); | |
| 55 | + agreePrivateNow = leadingZeros(agreePrivateNow.getFullYear(), 4) + '-' + leadingZeros(agreePrivateNow.getMonth() + 1, 2) + '-' + leadingZeros(agreePrivateNow.getDate(), 2); | |
| 56 | + if (agreePrivateNow < agreePrivateSDate) { | |
| 57 | + $("#agreePrivatePop_20241121").show(); | |
| 58 | + $("#agreePrivatePop_20241122").hide(); | |
| 59 | + }else{ | |
| 60 | + $("#agreePrivatePop_20241121").hide(); | |
| 61 | + $("#agreePrivatePop_20241122").show(); | |
| 62 | + } | |
| 63 | + | |
| 64 | + //메인 팝업 호출 여부 | |
| 65 | + var evntPopCk = fnGetCookie('layer_evntPayPop'); // 이벤트 쿠키 | |
| 66 | + var cookieDelPopCk = fnGetCookie('layer_cookieDelPop'); // 브라우저 쿠키 | |
| 67 | + | |
| 68 | + var agreePrivatePopCk = fnGetCookie('layer_agreePrivatePop'); | |
| 69 | + | |
| 70 | + console.log("# 팝업 레이어 : START"); | |
| 71 | + console.log("layer_evntPayPop : " + evntPopCk); | |
| 72 | + console.log("layer_cookieDelPop : " + cookieDelPopCk); | |
| 73 | + | |
| 74 | + | |
| 75 | + if(agreePrivatePopCk != null){//개인정보 및 이용약관 개정 팝업 노출, 3일안보기 쿠키 있으면 팝업 안모여준다. | |
| 76 | + $(".agreePrivatePop").css("display","none"); | |
| 77 | + $(".agreePrivatePop").hide(); | |
| 78 | + } | |
| 79 | + | |
| 80 | + if(evntPopCk != null && cookieDelPopCk != null){//팝업 쿠키가 모두 있는 경우 안보여준다. | |
| 81 | + console.log("eventLayerPop : STEP 1. 이벤트 팝업 쿠키가 모두 있는 경우 안보여준다."); | |
| 82 | + | |
| 83 | + $(".eventLayerPop").css("display","none"); | |
| 84 | + $(".eventLayerPop").hide(); | |
| 85 | + | |
| 86 | + }else if(evntPopCk == null && cookieDelPopCk == null){// 이벤트 팝업 쿠키가 모두 없으면 팝업 보여주기 | |
| 87 | + console.log("eventLayerPop : STEP 2. 이벤트 팝업 쿠키가 모두 없으면 팝업 보여주기."); | |
| 88 | + | |
| 89 | + $(".eventLayerPop").css("display","block"); | |
| 90 | + $(".eventLayerPop").show(); | |
| 91 | + | |
| 92 | + }else if(evntPopCk != null || cookieDelPopCk != null){ | |
| 93 | + console.log("eventLayerPop : STEP 3. 이벤트 팝업 쿠키가 하나라도 있으면 보여주기"); | |
| 94 | + | |
| 95 | + $(".eventLayerPop").css("display", "block"); | |
| 96 | + $(".eventLayerPop").show(); | |
| 97 | + if (fnGetCookie('layer_evntPayPop') != null) { //첫결제 이벤트 쿠키가 없으면 보여주기 | |
| 98 | + console.log("이벤트 쿠키 있음 : HIDE"); | |
| 99 | + | |
| 100 | + $('.payEventPop').css("display","none"); | |
| 101 | + $('.payEventPop').hide(); | |
| 102 | + } | |
| 103 | + | |
| 104 | + if (fnGetCookie('layer_cookieDelPop') != null) { //포인트 안내 팝업, 3일 안보기 체크 | |
| 105 | + console.log("포인트 쿠키 있음 : HIDE"); | |
| 106 | + | |
| 107 | + $('.delCookiePop').css("display","none"); | |
| 108 | + $('.delCookiePop').hide(); | |
| 109 | + } | |
| 110 | + } | |
| 111 | + | |
| 112 | + //레이어 팝업이 하나도 없으면 배경도 안보이도록 처리 | |
| 113 | + if($(".layer_popup:visible").length == 0){ | |
| 114 | + $(".layer_popup_wrap").hide(); | |
| 115 | + } | |
| 116 | + | |
| 117 | + if (fnGetCookie('todayClose') != null) { //상단팝업 | |
| 118 | + scrTop = $(window).scrollTop(); | |
| 119 | + var bodyWid = $("body").width(); | |
| 120 | + var windowHei = $("window").height(); | |
| 121 | + var topBnnHei = $(".topBanner").height(); | |
| 122 | + var hdHei = $("header").height(); | |
| 123 | + $(".topBanner").hide(); | |
| 124 | + $("header").removeClass("bnnOn"); | |
| 125 | + $(".mainContent").removeClass("bnnOn"); | |
| 126 | + $(".allMenu").removeClass("bnnOn"); | |
| 127 | + } | |
| 128 | + | |
| 129 | + /* if(fnGetCookie('tdClose') != null ){ //좌측팝업 | |
| 130 | + $(".mainContent").removeClass("bnnOn"); | |
| 131 | + $(".allMenu").removeClass("bnnOn"); | |
| 132 | + $(".popLayer").removeClass("on"); | |
| 133 | + } */ | |
| 134 | + var bdWid = $("body").width(); | |
| 135 | + | |
| 136 | + if (fnGetCookie('tdClose') == null && bdWid > 769) { //좌측팝업 | |
| 137 | + $(".mainContent").addClass("bnnOn"); | |
| 138 | + $(".allMenu").addClass("bnnOn"); | |
| 139 | + $(".popLayer").addClass("on"); | |
| 140 | + } | |
| 141 | + | |
| 142 | + //그림문자 리스트 불러오기 | |
| 143 | + document.letterForm.categoryCode.value = "best" | |
| 144 | + fnPhotoListAjax(); | |
| 145 | + | |
| 146 | + //장문문자 로딩시 데이터 불러오기 | |
| 147 | + //fnLongLetterListBlind(); | |
| 148 | + | |
| 149 | + /* 메인-문자샘플 탭 선택 시 활성화 */ | |
| 150 | + $(".tab_depth1 a").click(function() { | |
| 151 | + var tabText = $(this).text(); | |
| 152 | + var tabPosi = $(this).position().left; | |
| 153 | + var tabIdx = $(this).index(); | |
| 154 | + | |
| 155 | + if (tabIdx == 0) { | |
| 156 | + $(".on_active").css("border-radius", "5px 0 0 5px") | |
| 157 | + } else if (tabIdx == 2) { | |
| 158 | + $(".on_active").css("border-radius", "0 5px 5px 0"); | |
| 159 | + } else { | |
| 160 | + $(".on_active").css("border-radius", "0 0 0 0"); | |
| 161 | + } | |
| 162 | + $(".on_active").text(tabText); | |
| 163 | + $(".on_active").css("left", tabPosi); | |
| 164 | + $(this).addClass("on"); | |
| 165 | + $(this).siblings("a").removeClass("on"); | |
| 166 | + | |
| 167 | + //1depth 선택 시 2depth, 3depth 메뉴 첫번째로 이동 | |
| 168 | + /* $(".tab_depth2 a:first-child").addClass("on"); | |
| 169 | + $(".tab_depth2 a:first-child").siblings("a").removeClass("on"); | |
| 170 | + $(".tab_depth3 a:first-child").addClass("on"); | |
| 171 | + $(".tab_depth3 a:first-child").siblings("a").removeClass("on"); */ | |
| 172 | + }); | |
| 173 | + | |
| 174 | + $('.tDep2_mType').click(function() { // 전체,기업, 개인 선택 옵션 처리 | |
| 175 | + | |
| 176 | + var mType = $(this).find('.on_active').text(); | |
| 177 | + var form = document.letterForm; | |
| 178 | + var tap = $('.tDep1_letType').find('.on').attr("value"); | |
| 179 | + | |
| 180 | + if (mType == "전체") { | |
| 181 | + form.memberType.value = ""; | |
| 182 | + } else if (mType == "기업") { | |
| 183 | + form.memberType.value = "B"; | |
| 184 | + } else { | |
| 185 | + form.memberType.value = "P"; | |
| 186 | + } | |
| 187 | + | |
| 188 | + if (tap == "L") { | |
| 189 | + //문자 리스트 불러오기 | |
| 190 | + form.letterType.value = "L"; | |
| 191 | + form.categoryCode.value = ""; | |
| 192 | + form.hashTag.value = ""; | |
| 193 | + form.pageIndex.value = 1; | |
| 194 | + fnLetterListAjax(); | |
| 195 | + } else if (tap == "S") { | |
| 196 | + //문자 리스트 불러오기 | |
| 197 | + form.letterType.value = "S"; | |
| 198 | + form.categoryCode.value = ""; | |
| 199 | + form.hashTag.value = ""; | |
| 200 | + form.pageIndex.value = 1; | |
| 201 | + fnLetterListAjax(); | |
| 202 | + } else if (tap == "C") { | |
| 203 | + //문자 리스트 불러오기 | |
| 204 | + form.letterType.value = "C"; | |
| 205 | + form.categoryCode.value = ""; | |
| 206 | + form.hashTag.value = ""; | |
| 207 | + form.pageIndex.value = 1; | |
| 208 | + fnPhotoListAjax(); | |
| 209 | + } else { | |
| 210 | + //그림문자 리스트 불러오기 | |
| 211 | + form.letterType.value = "P"; | |
| 212 | + form.categoryCode.value = ""; | |
| 213 | + form.hashTag.value = ""; | |
| 214 | + form.pageIndex.value = 1; | |
| 215 | + fnPhotoListAjax(); | |
| 216 | + } | |
| 217 | + }); | |
| 218 | + | |
| 219 | + // [인기 그림문자], [인기 장문문자], [인기 단문문자], [인기 맞춤제작] 클릭시 이벤트 | |
| 220 | + $('.tDep1_letType').click(function() { | |
| 221 | + | |
| 222 | + var letterType = $(this).find('.on').attr("value"); | |
| 223 | + var form = document.letterForm; | |
| 224 | + form.letterType.value = letterType; | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + form.categoryCode.value = "best"; | |
| 230 | + | |
| 231 | + if (letterType == "L" || letterType == "S") { | |
| 232 | + //form.categoryCode.value = "13100"; | |
| 233 | + //문자 리스트 불러오기 | |
| 234 | + fnLetterListAjax(); | |
| 235 | + } else if(letterType == "P"){ | |
| 236 | + | |
| 237 | + //form.categoryCode.value = "13100"; | |
| 238 | + //인기그림문자 불러오기 | |
| 239 | + fnPhotoListAjax(); | |
| 240 | + | |
| 241 | + }else{ | |
| 242 | + | |
| 243 | + //form.categoryCode.value = "111600"; | |
| 244 | + //맞춤문자 리스트 불러오기 | |
| 245 | + fnPhotoListAjax(); | |
| 246 | + } | |
| 247 | + }); | |
| 248 | + | |
| 249 | + $('.tDep2_cateCode a').click(function() { // 문자 카테고리 선택 시 옵션 처리 | |
| 250 | + | |
| 251 | + $(this).siblings("a").removeClass("on"); | |
| 252 | + $(this).addClass("on"); | |
| 253 | + | |
| 254 | + var cateCode = $(this).attr("value"); | |
| 255 | + var form = document.letterForm; | |
| 256 | + | |
| 257 | + if (cateCode == "all") { //전체 선택시 | |
| 258 | + cateCode = ""; | |
| 259 | + } | |
| 260 | + | |
| 261 | + form.categoryCode.value = cateCode; | |
| 262 | + form.pageIndex.value = 1; | |
| 263 | + | |
| 264 | + if ($('.tDep1_letType').find('.on').attr("value") == "L" || $('.tDep1_letType').find('.on').attr("value") == "S") { | |
| 265 | + //문자 리스트 불러오기 | |
| 266 | + fnLetterListAjax(); | |
| 267 | + } else { | |
| 268 | + //그림문자 리스트 불러오기 | |
| 269 | + fnPhotoListAjax(); | |
| 270 | + } | |
| 271 | + }); | |
| 272 | + | |
| 273 | + $('.tDep3_cateCode a').click(function() { // 맞춤 문자 카테고리 선택 시 옵션 처리 | |
| 274 | + | |
| 275 | + var cateCode = $(this).attr("value"); | |
| 276 | + var form = document.letterForm; | |
| 277 | + if (cateCode == "all") { //전체 선택시 | |
| 278 | + cateCode = ""; | |
| 279 | + } | |
| 280 | + | |
| 281 | + form.categoryCode.value = cateCode; | |
| 282 | + form.pageIndex.value = 1; | |
| 283 | + | |
| 284 | + //그림문자 리스트 불러오기 | |
| 285 | + fnPhotoListAjax(); | |
| 286 | + }); | |
| 287 | + | |
| 288 | + $(".tab_depth2 a").click(function() { | |
| 289 | + $(this).addClass("on"); | |
| 290 | + $(this).siblings("a").removeClass("on"); | |
| 291 | + //2depth 선택 시 3depth 메뉴 첫번째로 이동 | |
| 292 | + $(".tab_depth3 a:first-child").addClass("on"); | |
| 293 | + $(".tab_depth3 a:first-child").siblings("a").removeClass("on"); | |
| 294 | + // 이전에 after 선 지우기. | |
| 295 | + if ($(this).prev().is(".tab_prev") == false) { | |
| 296 | + $(this).siblings().removeClass("tab_prev"); | |
| 297 | + $(this).removeClass("tab_prev"); | |
| 298 | + $(this).prev().addClass("tab_prev"); | |
| 299 | + } | |
| 300 | + | |
| 301 | + if ($(this).is(".tab_custom") == true) { | |
| 302 | + $(".tab_depth3.tab_other").show(); | |
| 303 | + $(".tab_depth3.tab_basic").hide(); | |
| 304 | + } else { | |
| 305 | + $(".tab_depth3.tab_other").hide(); | |
| 306 | + $(".tab_depth3.tab_basic").show(); | |
| 307 | + } | |
| 308 | + }); | |
| 309 | + | |
| 310 | + $(".tab_depth3.tab_other").hide(); | |
| 311 | + | |
| 312 | + // Kisa 얼럿여부 체크 | |
| 313 | + //kisaAlertOpen(); | |
| 314 | + | |
| 315 | + // 주소록 내보내기 얼럿여부 체크 | |
| 316 | + addrRecvListAjax(); | |
| 317 | + | |
| 318 | + //팩스 주소록 내보내기 얼럿여부 체크 | |
| 319 | + faxAddrRecvListAjax(); | |
| 320 | + | |
| 321 | + /** | |
| 322 | + 이벤트 팝업 호출 처리 | |
| 323 | + */ | |
| 324 | + var payCount = '${payCount}'; | |
| 325 | + var eventYn = false; | |
| 326 | + <c:if test="${not empty resultEvent}"> | |
| 327 | + eventYn = true; | |
| 328 | + </c:if> | |
| 329 | + | |
| 330 | + var blineCode = '${blineCode}'; | |
| 331 | + blineCode = $.trim(blineCode); | |
| 332 | + if (blineCode == null || blineCode == "" || blineCode == undefined) { | |
| 333 | + blineCode = "N"; | |
| 334 | + } | |
| 335 | + | |
| 336 | + console.log(""); | |
| 337 | + console.log("이벤트 팝업 호출 처리"); | |
| 338 | + console.log("payCount : " + payCount); | |
| 339 | + console.log("eventYn : " + eventYn); | |
| 340 | + console.log("blineCode : " + blineCode); | |
| 341 | + | |
| 342 | + if(payCount < 1 && eventYn && blineCode == 'N'){//결제내역이 하나도 없고, 이벤트가 진행중이면 팝업 호출 | |
| 343 | + console.log("이벤트 팝업 함수 CALL"); | |
| 344 | + remoteEventPayPop(payCount); | |
| 345 | + }else{//이벤트 대상자가 아니면 첫결제 이벤트 팝업은 안보여준다. | |
| 346 | + console.log("이벤트 팝업 : HIDE"); | |
| 347 | + | |
| 348 | + $('.payEventPop').css("display","none"); | |
| 349 | + $('.payEventPop').hide(); | |
| 350 | + | |
| 351 | + if($(".layer_popup:visible").length == 0){ | |
| 352 | + $(".layer_popup_wrap").hide(); | |
| 353 | + } | |
| 354 | + } | |
| 355 | + | |
| 356 | + console.log("# 팝업 레이어 : END"); | |
| 357 | +}); | |
| 358 | + | |
| 359 | +function leadingZeros(n, digits) { | |
| 360 | + var zero = ''; | |
| 361 | + n = n.toString(); | |
| 362 | + | |
| 363 | + if (n.length < digits) { | |
| 364 | + for (i = 0; i < digits - n.length; i++) | |
| 365 | + zero += '0'; | |
| 366 | + } | |
| 367 | + return zero + n; | |
| 368 | +} | |
| 369 | + | |
| 370 | +// 슬라이드 이미지 변경 | |
| 371 | +function setMainSlideImgChange() { | |
| 372 | + var parentsDayShow = false; | |
| 373 | + var rsvDate = "2023-10-10"; | |
| 374 | + var now = new Date(); | |
| 375 | + now = leadingZeros(now.getFullYear(), 4) + '-' + leadingZeros(now.getMonth() + 1, 2) + '-' + leadingZeros(now.getDate(), 2); | |
| 376 | + if (now >= rsvDate) { | |
| 377 | + parentsDayShow = true; | |
| 378 | + } | |
| 379 | + | |
| 380 | + // 석가탄신일 => 현충일 이미지로 변경 | |
| 381 | + if (parentsDayShow == true) { | |
| 382 | + $("#mainSlideImg_1001").attr("src", "/publish/images/main/f_visual_01_20231006.jpg"); | |
| 383 | + $("#mainSlideImg_1001").attr("alt", "문자는 이제, 문자온! 단 한번, 국내 최저가! 인생 최저가! 첫결제 단문 7.5원 장문 32원 그림 59원 Halloween 즐겁고 유쾌한 할로윈데이 보내세요 가을엔 독서 같이 책읽으실래요?"); | |
| 384 | + $("#mainSlideImg_1002").attr("src", "/publish/images/main/f_visual_03_20231006.jpg"); | |
| 385 | + $("#mainSlideImg_1002").attr("alt", "다른 사이트에는 없다! 오직 문자온에만 있다! 최고의 디자이너가 직접 제작하는 그림문자 맞춤제작을 통해 나만의 문자를 디자인 해보세요. 가을은 캠핑의 계절! 낭만캠핑 캠핑하기 좋은 계절, 가을이 돌아왔습니다. 즐거운 캠핑을 떠나고 싶으신가요? 지금 이벤트에 참여하시면, 캠핑 지원금을 드립니다. 지금 바로 참여하세요! 즐거운 캠핑 지원금 문자온에서 확인해보세요! HALLOWEEN 할로윈이벤트 이벤트에 참여하시고 무시무시한 혜택을 받아보세요 이벤트 기간 2099.10.01 10.31 이벤트 대상 10,000원 이상 구매한 모든 고객 event 01 5만원 이상 구매시 5,000원할인쿠폰 증정! event02 이벤트 기간동안 무료배송! event03 어플 설치 시 10% 추가 할인 쿠폰 증정! HALLOWEEN 할로윈 코스튬 할로윈 분위기에 맞게 코스튬을 하고 와요! 할로윈 CAKE 할로윈을 맞이하여 호박케이크를 만들어봐요! 문자온 영어학원 T.031.123.4567"); | |
| 386 | + | |
| 387 | + // Main Visual Swiper | |
| 388 | + getMainVisualSwiper(); | |
| 389 | + } | |
| 390 | +} | |
| 391 | + | |
| 392 | +//슬라이드 이미지 변경 => Double | |
| 393 | +// 9월 30일 개천절 | |
| 394 | +// 10월 4일 한글날 | |
| 395 | +function setMainSlideImgChangeDouble() { | |
| 396 | + var showMainSlideImg1 = false; | |
| 397 | + var showMainSlideImg2 = false; | |
| 398 | + var rsvDate1 = "2023-09-30"; | |
| 399 | + var rsvDate2 = "2023-10-04"; | |
| 400 | + var now = new Date(); | |
| 401 | + now = leadingZeros(now.getFullYear(), 4) + '-' + leadingZeros(now.getMonth() + 1, 2) + '-' + leadingZeros(now.getDate(), 2); | |
| 402 | + if (now >= rsvDate2) { | |
| 403 | + showMainSlideImg2 = true; | |
| 404 | + } | |
| 405 | + else if (now >= rsvDate1) { | |
| 406 | + showMainSlideImg1 = true; | |
| 407 | + } | |
| 408 | + | |
| 409 | + if (showMainSlideImg1 == true) { | |
| 410 | + $("#mainSlideImg_1001").attr("src", "/publish/images/main/f_visual_01_20230930.jpg"); | |
| 411 | + $("#mainSlideImg_1001").attr("alt", "문자는 이제, 문자온! 단 한번, 국내 최저가! 인생 최저가! 첫결제 단문 7.5원 장문 32원 그림 59원 책과 함께 하는 가을 여행 10월 9일 한글날 아름다운 우리말을 사용하며, 행복한 한글날 보내시길 바랍니다."); | |
| 412 | + $("#mainSlideImg_1002").attr("src", "/publish/images/main/f_visual_03_20230930.jpg"); | |
| 413 | + $("#mainSlideImg_1002").attr("alt", "다른 사이트에는 없다! 오직 문자온에만 있다! 최고의 디자이너가 직접 제작하는 그림문자 맞춤제작을 통해 나만의 문자를 디자인 해보세요. AUTUMN 가을맞이 정기세일 9.15-10.15 가을맞이 특별한 세일 전품목 최대 70% 할인의 기회를 누리세요! 10월 3일(화) 휴진 개천절 휴진안내 예약 및 내원에 착오 없으시길 바랍니다. 건강한 10월 보내세요 S M T W T F S 1 2-3(휴진) 4 5 6 7 10월 3일은 개천절은 하늘이 열린날 개천절 휴/진/안/내"); | |
| 414 | + | |
| 415 | + // Main Visual Swiper | |
| 416 | + getMainVisualSwiper(); | |
| 417 | + } | |
| 418 | + | |
| 419 | + if (showMainSlideImg2 == true) { | |
| 420 | + $("#mainSlideImg_1001").attr("src", "/publish/images/main/f_visual_01_20231004.jpg"); | |
| 421 | + $("#mainSlideImg_1001").attr("alt", "문자는 이제, 문자온! 단 한번, 국내 최저가! 인생 최저가! 첫결제 단문 7.5원 장문 32원 그림 59원 책과 함께 하는 가을 여행 10월 9일 한글날 아름다운 우리말을 사용하며, 행복한 한글날 보내시길 바랍니다."); | |
| 422 | + $("#mainSlideImg_1002").attr("src", "/publish/images/main/f_visual_03_20231004.jpg"); | |
| 423 | + $("#mainSlideImg_1002").attr("alt", "다른 사이트에는 없다! 오직 문자온에만 있다! 최고의 디자이너가 직접 제작하는 그림문자 맞춤제작을 통해 나만의 문자를 디자인 해보세요. Fall in Music Autumn Concert 09/15(토) 출연가수 온밴드, 온스파, 온와이스, 온뱅, 문자아이들, 온마이걸 주관: 문자온 코리아 협찬: 문자온추진위원회 후원 : 문자온추진위원회 한글날 한글날 이벤트 3행시 짓기 #한글날 #쿠폰 #이벤트 #좋아요 #댓글 이벤트 기간 2023.10.01 ~ 2023.10.06 당첨상품 음료 기프티콘 쿠폰(200명) 100% 국내산 유기농 우리김치 김장김치 예약판매 최적의 산지에서 수확한 신선한 배추와 엄선된 양념으로 보다 깊은 감칠맛을 선사합니다. 행사기간 2029.10.20~11.7"); | |
| 424 | + | |
| 425 | + // Main Visual Swiper | |
| 426 | + getMainVisualSwiper(); | |
| 427 | + } | |
| 428 | + | |
| 429 | +} | |
| 430 | + | |
| 431 | +// Main Visual Swiper | |
| 432 | +function getMainVisualSwiper() { | |
| 433 | + var mainSwiper = new Swiper('.visual_swiper', { | |
| 434 | + effect: "fade", | |
| 435 | + slidesPerView: 1, | |
| 436 | + spaceBetween: 0, | |
| 437 | + speed : 400, | |
| 438 | + loop: true, | |
| 439 | + autoplay: { | |
| 440 | + delay: 3000, | |
| 441 | + disableOnInteraction: false, | |
| 442 | + }, | |
| 443 | + pagination: { | |
| 444 | + el: '.swiper-pagination', | |
| 445 | + clickable: true, | |
| 446 | + }, | |
| 447 | + navigation: { | |
| 448 | + nextEl: '.visual_swiper .swiper-button-next', | |
| 449 | + prevEl: '.visual_swiper .swiper-button-prev', | |
| 450 | + }, | |
| 451 | + }); | |
| 452 | +} | |
| 453 | + | |
| 454 | + | |
| 455 | +//http => https 로 이동 | |
| 456 | +function httpsRedirect() { | |
| 457 | + var url = window.location.href; | |
| 458 | + url = url.toLowerCase(); | |
| 459 | + | |
| 460 | + if(url.indexOf('http://192.168.0.125:8095/') > -1 || url.indexOf('localhost') > -1 || url.indexOf('127.0.0.1') > -1 | |
| 461 | + || url.indexOf('dev5.iten.co.kr') > -1 || url.indexOf('http://119.193.215.98') > -1 | |
| 462 | + ) { | |
| 463 | + | |
| 464 | + /* | |
| 465 | + if(url.indexOf('http://192.168.0.125:8095/') > -1 || url.indexOf('localhost') > -1 || url.indexOf('127.0.0.1') > -1) { | |
| 466 | + //개발서버, 로컬일 경우 | |
| 467 | + */ | |
| 468 | + } | |
| 469 | + else{ | |
| 470 | + //실서버일 경우 | |
| 471 | + //https가 없는경우 | |
| 472 | + if(url.indexOf('https://') == -1 && url.indexOf('dev.munjaon.co.kr') == -1 && url.indexOf('cs.munjaon.co.kr') == -1) { | |
| 473 | + document.location.href = "https://www.munjaon.co.kr/web/main/mainPage.do"; | |
| 474 | + } | |
| 475 | + } | |
| 476 | +} | |
| 477 | + | |
| 478 | +//타인에게 전송받은 주소록 수신대기 목록 조회하기 | |
| 479 | +function addrRecvListAjax() { | |
| 480 | + var data = new FormData(document.addrGrpSendForm); | |
| 481 | + $.ajax({ | |
| 482 | + type: "POST", | |
| 483 | + url: "/web/main/addrRecvListAjax.do", | |
| 484 | + data: data, | |
| 485 | + dataType:'json', | |
| 486 | + async: true, | |
| 487 | + processData: false, | |
| 488 | + contentType: false, | |
| 489 | + cache: false, | |
| 490 | + success: function (data) { | |
| 491 | + if(data.isSuccess == true){ | |
| 492 | + if (data.addrRecvListSize > 0) { | |
| 493 | + // 주소록 내보내기 레이어 오픈 | |
| 494 | + getAddrRecvListShow(data.addrRecvList, data.addrRecvListSize) | |
| 495 | + $("#btnAddrAlert").trigger('click'); | |
| 496 | + } | |
| 497 | + } else { | |
| 498 | + //alert("Message : " + msg); | |
| 499 | + } | |
| 500 | + }, | |
| 501 | + error: function (e) { | |
| 502 | + //alert("저장에 실패하였습니다."); | |
| 503 | + //console.log("ERROR : ", e); | |
| 504 | + } | |
| 505 | + }); | |
| 506 | +} | |
| 507 | + | |
| 508 | +//Show Html | |
| 509 | +function getAddrRecvListShow(jsonList, addrRecvListSize) { | |
| 510 | + var addrGrpId = ""; | |
| 511 | + var addrGrpNm = ""; | |
| 512 | + var sendMberId = ""; | |
| 513 | + var sendAddrCnt = 0; | |
| 514 | + var sHtml = ""; | |
| 515 | + for (var j = 0; j < jsonList.length; j++) { | |
| 516 | + addrGrpId = $.trim(jsonList[j].addrGrpId); | |
| 517 | + addrGrpNm = $.trim(jsonList[j].addrGrpNm); | |
| 518 | + sendMberId = $.trim(jsonList[j].sendMberId); | |
| 519 | + sendAddrCnt = $.trim(jsonList[j].sendAddrCnt); | |
| 520 | + sHtml += "<li name='addrRecvGrpList' id='addrGrpID_" + addrGrpId + "' class='" + addrGrpId + "'>" + addrGrpNm + " [<span>" + sendAddrCnt + "</span>명]"; | |
| 521 | + sHtml += "<button type='button' onclick=removeAddrRecvList('" + addrGrpId + "');><img src='/publish/images/content/close_btn.png' alt='선택 그룹 취소'></button>"; | |
| 522 | + sHtml += "</li>"; | |
| 523 | + } | |
| 524 | + | |
| 525 | + $(".sendId").html(sendMberId); | |
| 526 | + $(".groupCount").html(addrRecvListSize); | |
| 527 | + $("#selGroup2").html(sHtml); | |
| 528 | +} | |
| 529 | + | |
| 530 | +//내보내기 레이어 내 리스트 세팅 | |
| 531 | +function removeAddrRecvList(addrGrpId) { | |
| 532 | + var liCount = $("li[name=addrRecvGrpList]").length; | |
| 533 | + $("#addrGrpID_" + addrGrpId).remove(); | |
| 534 | + $(".groupCount").text(liCount-1); | |
| 535 | +} | |
| 536 | + | |
| 537 | +//타인에게 전송받은 주소록 수신대기 목록 조회하기 | |
| 538 | +function addrRecvSaveAjax() { | |
| 539 | + if (confirm("주소록 그룹을 받으시겠습니까?")) { | |
| 540 | + var addrGrpId = ""; | |
| 541 | + var addrGrpIds = ""; | |
| 542 | + var i = 0; | |
| 543 | + var liCount = $("li[name=addrRecvGrpList]").length; | |
| 544 | + $("li[name=addrRecvGrpList]").each(function () { | |
| 545 | + i++; | |
| 546 | + addrGrpIds += $(this).attr("class"); | |
| 547 | + if (liCount > i) { | |
| 548 | + addrGrpIds += ","; | |
| 549 | + } | |
| 550 | + }); | |
| 551 | + $("#addrGrpIds").val(addrGrpIds); | |
| 552 | + | |
| 553 | + var data = new FormData(document.addrGrpSendForm); | |
| 554 | + $.ajax({ | |
| 555 | + type: "POST", | |
| 556 | + url: "/web/main/addrRecvSaveAjax.do", | |
| 557 | + data: data, | |
| 558 | + dataType:'json', | |
| 559 | + async: false, | |
| 560 | + processData: false, | |
| 561 | + contentType: false, | |
| 562 | + cache: false, | |
| 563 | + success: function (data) { | |
| 564 | + JSON.stringify(data); | |
| 565 | + if(data.isSuccess == true){ | |
| 566 | + location.reload(); | |
| 567 | + } else { | |
| 568 | + alert("Message : " + msg); | |
| 569 | + } | |
| 570 | + }, | |
| 571 | + error: function (e) { | |
| 572 | + alert("저장에 실패하였습니다."); | |
| 573 | + } | |
| 574 | + }); | |
| 575 | + } | |
| 576 | +} | |
| 577 | + | |
| 578 | +// 주소록 받기 거절 | |
| 579 | +function addrRecvRejectAjax() { | |
| 580 | + if (confirm("주소록 그룹 받기를 거절하시겠습니까?")) { | |
| 581 | + var data = new FormData(document.addrGrpSendForm); | |
| 582 | + $.ajax({ | |
| 583 | + type: "POST", | |
| 584 | + url: "/web/main/addrRecvRejectAjax.do", | |
| 585 | + data: data, | |
| 586 | + dataType:'json', | |
| 587 | + async: false, | |
| 588 | + processData: false, | |
| 589 | + contentType: false, | |
| 590 | + cache: false, | |
| 591 | + success: function (data) { | |
| 592 | + JSON.stringify(data); | |
| 593 | + if(data.isSuccess == true){ | |
| 594 | + location.reload(); | |
| 595 | + } else { | |
| 596 | + alert("Message : " + msg); | |
| 597 | + } | |
| 598 | + }, | |
| 599 | + error: function (e) { | |
| 600 | + alert("저장에 실패하였습니다."); | |
| 601 | + } | |
| 602 | + }); | |
| 603 | + } | |
| 604 | +} | |
| 605 | + | |
| 606 | +//타인에게 전송받은 팩스 주소록 수신대기 목록 조회하기 | |
| 607 | +function faxAddrRecvListAjax() { | |
| 608 | + var data = new FormData(document.faxAddrGrpSendForm); | |
| 609 | + $.ajax({ | |
| 610 | + type: "POST", | |
| 611 | + url: "/web/main/fax/faxAddrRecvListAjax.do", | |
| 612 | + data: data, | |
| 613 | + dataType:'json', | |
| 614 | + async: true, | |
| 615 | + processData: false, | |
| 616 | + contentType: false, | |
| 617 | + cache: false, | |
| 618 | + success: function (data) { | |
| 619 | + if(data.isSuccess == true){ | |
| 620 | + if (data.faxAddrRecvListSize > 0) { | |
| 621 | + // 주소록 내보내기 레이어 오픈 | |
| 622 | + getFaxAddrRecvListShow(data.faxAddrRecvList, data.faxAddrRecvListSize) | |
| 623 | + $("#btnFaxAddrAlert").trigger('click'); | |
| 624 | + } | |
| 625 | + } else { | |
| 626 | + //alert("Message : " + msg); | |
| 627 | + } | |
| 628 | + }, | |
| 629 | + error: function (e) { | |
| 630 | + //alert("저장에 실패하였습니다."); | |
| 631 | + //console.log("ERROR : ", e); | |
| 632 | + } | |
| 633 | + }); | |
| 634 | +} | |
| 635 | + | |
| 636 | +//팩스 주소록 받은 목록 팝업 처리 Show Html | |
| 637 | +function getFaxAddrRecvListShow(jsonFaxList, faxAddrRecvListSize) { | |
| 638 | + var addrGrpId = ""; | |
| 639 | + var addrGrpNm = ""; | |
| 640 | + var sendMberId = ""; | |
| 641 | + var sendAddrCnt = 0; | |
| 642 | + var sHtml = ""; | |
| 643 | + for (var j = 0; j < jsonFaxList.length; j++) { | |
| 644 | + addrGrpId = $.trim(jsonFaxList[j].addrGrpId); | |
| 645 | + addrGrpNm = $.trim(jsonFaxList[j].addrGrpNm); | |
| 646 | + sendMberId = $.trim(jsonFaxList[j].sendMberId); | |
| 647 | + sendAddrCnt = $.trim(jsonFaxList[j].sendAddrCnt); | |
| 648 | + sHtml += "<li name='faxAddrRecvGrpList' id='faxAddrGrpID_" + addrGrpId + "' class='" + addrGrpId + "'>" + addrGrpNm + " [<span>" + sendAddrCnt + "</span>명]"; | |
| 649 | + sHtml += "<button type='button' onclick=removeFaxAddrRecvList('" + addrGrpId + "');><img src='/publish/images/content/close_btn.png' alt='선택 그룹 취소'></button>"; | |
| 650 | + sHtml += "</li>"; | |
| 651 | + } | |
| 652 | + | |
| 653 | + $(".faxSendId").html(sendMberId); | |
| 654 | + $(".faxGroupCount").html(faxAddrRecvListSize); | |
| 655 | + $("#faxSelGroup2").html(sHtml); | |
| 656 | +} | |
| 657 | + | |
| 658 | +//내보내기 레이어 내 리스트 세팅 | |
| 659 | +function removeFaxAddrRecvList(addrGrpId) { | |
| 660 | + var faxLiCount = $("li[name=faxAddrRecvGrpList]").length; | |
| 661 | + $("#faxAddrGrpID_" + faxAddrGrpId).remove(); | |
| 662 | + $(".faxGroupCount").text(faxLiCount-1); | |
| 663 | +} | |
| 664 | + | |
| 665 | +//타인에게 전송받은 주소록 수신대기 목록 조회하기 | |
| 666 | +function faxAddrRecvSaveAjax() { | |
| 667 | + if (confirm("팩스 주소록 그룹을 받으시겠습니까?")) { | |
| 668 | + var faxAddrGrpId = ""; | |
| 669 | + var faxAddrGrpIds = ""; | |
| 670 | + var i = 0; | |
| 671 | + var liCount = $("li[name=faxAddrRecvGrpList]").length; | |
| 672 | + $("li[name=faxAddrRecvGrpList]").each(function () { | |
| 673 | + i++; | |
| 674 | + faxAddrGrpIds += $(this).attr("class"); | |
| 675 | + if (liCount > i) { | |
| 676 | + faxAddrGrpIds += ","; | |
| 677 | + } | |
| 678 | + }); | |
| 679 | + $("#faxAddrGrpIds").val(faxAddrGrpIds); | |
| 680 | + | |
| 681 | + var data = new FormData(document.faxAddrGrpSendForm); | |
| 682 | + $.ajax({ | |
| 683 | + type: "POST", | |
| 684 | + url: "/web/main/fax/faxAddrRecvSaveAjax.do", | |
| 685 | + data: data, | |
| 686 | + dataType:'json', | |
| 687 | + async: false, | |
| 688 | + processData: false, | |
| 689 | + contentType: false, | |
| 690 | + cache: false, | |
| 691 | + success: function (data) { | |
| 692 | + JSON.stringify(data); | |
| 693 | + if(data.isSuccess == true){ | |
| 694 | + location.reload(); | |
| 695 | + } else { | |
| 696 | + alert("Message : " + msg); | |
| 697 | + } | |
| 698 | + }, | |
| 699 | + error: function (e) { | |
| 700 | + alert("저장에 실패하였습니다."); | |
| 701 | + } | |
| 702 | + }); | |
| 703 | + } | |
| 704 | +} | |
| 705 | + | |
| 706 | +// 주소록 받기 거절 | |
| 707 | +function addrRecvRejectAjax() { | |
| 708 | + if (confirm("주소록 그룹 받기를 거절하시겠습니까?")) { | |
| 709 | + var data = new FormData(document.faxAddrGrpSendForm); | |
| 710 | + $.ajax({ | |
| 711 | + type: "POST", | |
| 712 | + url: "/web/main/fax/faxAddrRecvRejectAjax.do", | |
| 713 | + data: data, | |
| 714 | + dataType:'json', | |
| 715 | + async: false, | |
| 716 | + processData: false, | |
| 717 | + contentType: false, | |
| 718 | + cache: false, | |
| 719 | + success: function (data) { | |
| 720 | + JSON.stringify(data); | |
| 721 | + if(data.isSuccess == true){ | |
| 722 | + location.reload(); | |
| 723 | + } else { | |
| 724 | + alert("Message : " + msg); | |
| 725 | + } | |
| 726 | + }, | |
| 727 | + error: function (e) { | |
| 728 | + alert("저장에 실패하였습니다."); | |
| 729 | + } | |
| 730 | + }); | |
| 731 | + } | |
| 732 | +} | |
| 733 | + | |
| 734 | +// Kisa 바로가기 | |
| 735 | +function goKisa() { | |
| 736 | + location.href = "/web/user/kisaReport.do"; | |
| 737 | +} | |
| 738 | + | |
| 739 | +//Kisa 얼럿여부 체크 | |
| 740 | +function kisaAlertOpen() { | |
| 741 | + var kisaList = "${kisaList}"; | |
| 742 | + if (kisaList != "" && kisaList != null && kisaList != undefined) { | |
| 743 | + $("#btnKisaAlert").trigger('click'); | |
| 744 | + } | |
| 745 | +} | |
| 746 | + | |
| 747 | +//그림문자 샘플 로드 | |
| 748 | +function fnPhotoListAjax() { | |
| 749 | + $("#photoLoad").css('display','block') | |
| 750 | + $("#letterLoad").css('display','none') | |
| 751 | + | |
| 752 | + var sendData = $(document.letterForm).serializeArray(); | |
| 753 | + $("#photoLoad").load("/web/mjon/msgdata/selectMainPhotoDataListAjax.do", sendData, function(response, status, xhr) { | |
| 754 | + var len=$('.msg_photo .swiper-slide').length; | |
| 755 | + var loopChk; | |
| 756 | + if(len<6){ | |
| 757 | + loopChk=false; | |
| 758 | + }else{ | |
| 759 | + loopChk=true; | |
| 760 | + } | |
| 761 | + var msgPhotoSwiper = new Swiper('.msg_photo', { | |
| 762 | + slidesPerView: 5, | |
| 763 | + spaceBetween: 0, | |
| 764 | + speed : 400, | |
| 765 | + loop: loopChk, | |
| 766 | + navigation: { | |
| 767 | + nextEl: '.msg_photo_wrap .swiper-button-next', | |
| 768 | + prevEl: '.msg_photo_wrap .swiper-button-prev', | |
| 769 | + }, | |
| 770 | + breakpoints: { | |
| 771 | + 1500:{ | |
| 772 | + slidesPerView:4, | |
| 773 | + } | |
| 774 | + } | |
| 775 | + }); | |
| 776 | + /* if(document.letterForm.searchKeyword.value == ''){ | |
| 777 | + $('.bottom_content .area_total_count').hide(); | |
| 778 | + } */ | |
| 779 | + | |
| 780 | + }); | |
| 781 | +} | |
| 782 | + | |
| 783 | +//메인화면 첫 로딩시 인기장문문자 히든 시켜두기 | |
| 784 | +function fnLongLetterListBlind(){ | |
| 785 | + fnLetterListAjax(); | |
| 786 | + $("#photoLoad").css('display','block') | |
| 787 | + $("#letterLoad").css('display','none') | |
| 788 | + | |
| 789 | +} | |
| 790 | + | |
| 791 | + | |
| 792 | +//장문, 단문 문자 샘플 로드 | |
| 793 | +function fnLetterListAjax() { | |
| 794 | + //$("#letterLoad").html(""); // 문자 영역 초기화 | |
| 795 | + $("#photoLoad").css('display','none') | |
| 796 | + $("#letterLoad").css('display','block') | |
| 797 | + | |
| 798 | + var sendData = $(document.letterForm).serializeArray(); | |
| 799 | + $("#letterLoad").load("/web/mjon/msgdata/selectMainLetterDataListAjax.do", sendData, function(response, status, xhr) { | |
| 800 | + var len=$('.msg_text .swiper-slide').length; | |
| 801 | + var loopChk; | |
| 802 | + if(len<6){ | |
| 803 | + loopChk=false; | |
| 804 | + }else{ | |
| 805 | + loopChk=true; | |
| 806 | + } | |
| 807 | + var msgLetterSwiper = new Swiper('.msg_text', { | |
| 808 | + slidesPerView: 5, | |
| 809 | + spaceBetween: 0, | |
| 810 | + speed : 400, | |
| 811 | + loop: loopChk, | |
| 812 | + navigation: { | |
| 813 | + nextEl: '.msg_text_wrap .swiper-button-next', | |
| 814 | + prevEl: '.msg_text_wrap .swiper-button-prev', | |
| 815 | + }, | |
| 816 | + breakpoints: { | |
| 817 | + 1500:{ | |
| 818 | + slidesPerView:4, | |
| 819 | + } | |
| 820 | + } | |
| 821 | + }); | |
| 822 | + | |
| 823 | + /* if(document.letterForm.searchKeyword.value == ''){ | |
| 824 | + $('.bottom_content .area_total_count').hide(); | |
| 825 | + } */ | |
| 826 | + }); | |
| 827 | +} | |
| 828 | + | |
| 829 | +function footerSiteLinkPageGo() { | |
| 830 | + var site = $('#footerSite').val(); | |
| 831 | + if (site == "") { | |
| 832 | + alert("사이트를 선택해 주세요") | |
| 833 | + } else { | |
| 834 | + window.open(site); | |
| 835 | + } | |
| 836 | +} | |
| 837 | + | |
| 838 | +function footerSiteLinkPageTwoGo() { | |
| 839 | + var site = $('#footerSiteTwo').val(); | |
| 840 | + if (site == "") { | |
| 841 | + alert("사이트를 선택해 주세요") | |
| 842 | + } else { | |
| 843 | + window.open(site); | |
| 844 | + } | |
| 845 | +} | |
| 846 | + | |
| 847 | +function fn_egov_list_tab() { | |
| 848 | + if ("block" == $('#sec2_01').css('display')) { | |
| 849 | + location.href = '/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000431'; //공지사항 | |
| 850 | + } else { | |
| 851 | + location.href = '/web/cop/bbsWeb/selectBoardList.do?bbsId=BBSMSTR_000000000441'; //채용공고 | |
| 852 | + } | |
| 853 | +} | |
| 854 | + | |
| 855 | +function kisaSign() { | |
| 856 | + var kisaSign = confirm("동의 하십니까?"); | |
| 857 | + var mberId = document.getElementById("kisaMberId").value; | |
| 858 | + var signName = document.getElementById("kisaSignNm").value; | |
| 859 | + var signPhoneNo = document.getElementById("kisaSignPhoneNo").value; | |
| 860 | + var signYn = document.getElementById("kisaSignYn").checked; | |
| 861 | + | |
| 862 | + if (!signYn) { | |
| 863 | + alert("서명 체크를 해주세요."); | |
| 864 | + return; | |
| 865 | + } | |
| 866 | + | |
| 867 | + if (kisaSign) { | |
| 868 | + $.ajax({ | |
| 869 | + type : "GET" | |
| 870 | + , url : "/web/kisa/updateKisaWarnMessageAjax.do" | |
| 871 | + , data : {"mberId" : mberId, "kisaSignNm" : signName, "kisaSignPhoneNo" : signPhoneNo} | |
| 872 | + , dataType : 'json' | |
| 873 | + , success : function(returnData, status) { | |
| 874 | + if (status == 'success') { | |
| 875 | + alert("저장 되었습니다."); | |
| 876 | + $("div").remove(".kisaLayerPopup"); | |
| 877 | + } else if (status == 'fail') { | |
| 878 | + alert("저장에 실패하였습니다. !!"); | |
| 879 | + } | |
| 880 | + } | |
| 881 | + ,error : function(e) { | |
| 882 | + alert("저장에 실패하였습니다."); | |
| 883 | + console.log("ERROR : ", e); | |
| 884 | + } | |
| 885 | + }); | |
| 886 | + } else { | |
| 887 | + alert("비동의"); | |
| 888 | + } | |
| 889 | +} | |
| 890 | + | |
| 891 | +function fn_egov_inqire_notice(bbsId, nttId) { | |
| 892 | + document.searchForm.bbsId.value = bbsId; | |
| 893 | + document.searchForm.nttId.value = nttId; | |
| 894 | + document.searchForm.method = "get"; | |
| 895 | + document.searchForm.action = "<c:url value='/web/cop/bbs/NoticeDetail.do'/>"; | |
| 896 | + document.searchForm.submit(); | |
| 897 | +} | |
| 898 | + | |
| 899 | +/* ******************************************************** | |
| 900 | + * 쿠키설정 | |
| 901 | + ******************************************************** */ | |
| 902 | +//쿠키설정 | |
| 903 | +function fnSetCookieEventPopup(name, value, expiredays) { | |
| 904 | + | |
| 905 | + console.log("cash name ::: " + name); | |
| 906 | + var todayDate = new Date(); | |
| 907 | + todayDate.setDate(todayDate.getDate() + expiredays); | |
| 908 | + document.cookie = name + "=" + escape(value) + "; path=/; expires=" + todayDate.toGMTString() + ";" | |
| 909 | +} | |
| 910 | + | |
| 911 | +//쿠키정보 가져오기 | |
| 912 | +function fnGetCookie(name) { | |
| 913 | + | |
| 914 | + var prefix = name + "="; | |
| 915 | + var cookieStartIndex = document.cookie.indexOf(prefix); | |
| 916 | + if (cookieStartIndex == -1) return null; | |
| 917 | + var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length); | |
| 918 | + if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length; | |
| 919 | + return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex)); | |
| 920 | +} | |
| 921 | + | |
| 922 | + | |
| 923 | +/* ******************************************************** | |
| 924 | +* 체크버튼 클릭시 | |
| 925 | +******************************************************** */ | |
| 926 | +function fnPopupChk(popupId , typeFlag) { | |
| 927 | + var pcVal = $('#'+popupId).is(':checked'); | |
| 928 | + | |
| 929 | + if(pcVal){ | |
| 930 | + fnSetCookieEventPopup(typeFlag+"_"+popupId , "done" , 3); | |
| 931 | + } | |
| 932 | + | |
| 933 | + if(popupId == 'cookieDelPop'){ | |
| 934 | + console.log(popupId); | |
| 935 | + $('.cookieDelPopClose').click(); //팝업 자동으로 닫기 | |
| 936 | + } | |
| 937 | + | |
| 938 | + if(popupId == 'evntPayPop'){ | |
| 939 | + console.log(popupId); | |
| 940 | + $('.evntPayPopClose').click(); //팝업 자동으로 닫기 | |
| 941 | + } | |
| 942 | + | |
| 943 | + if(popupId == 'pointPop'){ | |
| 944 | + console.log(popupId); | |
| 945 | + $('.pointPopClose').click(); //팝업 자동으로 닫기 | |
| 946 | + } | |
| 947 | + | |
| 948 | + if(popupId == 'agreePrivatePop'){ | |
| 949 | + console.log(popupId); | |
| 950 | + $('.agreePrivatePopClose').click(); //팝업 자동으로 닫기 | |
| 951 | + } | |
| 952 | + //fn_layerClose(popupId); | |
| 953 | + //레이어 팝업이 하나도 없으면 배경도 안보이도록 처리 | |
| 954 | + if($(".layer_popup:visible").length == 0){ | |
| 955 | + $(".layer_popup_wrap").hide(); | |
| 956 | + } | |
| 957 | +} | |
| 958 | + | |
| 959 | +function fnMainImgSendMsg(atchFileId, fileSn, strImgPath){ | |
| 960 | + | |
| 961 | + var form = document.mainImgSendForm; | |
| 962 | + | |
| 963 | + form.atchFileId1.value = atchFileId; | |
| 964 | + form.fileSn.value = fileSn; | |
| 965 | + form.strImgPath.value = strImgPath; | |
| 966 | + form.mainImgFlag.value = "Y"; | |
| 967 | + form.cateNo.value = $('.tDep2_cateCode').find('.on').attr("value"); //카테고리 넘겨주기 | |
| 968 | + | |
| 969 | + form.action = "<c:url value='/web/mjon/msgdata/selectMsgDataView.do'/>"; | |
| 970 | + form.submit(); | |
| 971 | + | |
| 972 | +} | |
| 973 | + | |
| 974 | +function fnMainLetterSendMsg(letterId){ | |
| 975 | + | |
| 976 | + var form = document.mainImgSendForm; | |
| 977 | + form.letterId.value = letterId; | |
| 978 | + form.mainLetterFlag.value = "Y"; | |
| 979 | + form.mainLetterTypeFlag.value = $('.tDep1_letType').find('.on').attr("value"); | |
| 980 | + form.cateNo.value = $('.tDep2_cateCode').find('.on').attr("value"); //카테고리 넘겨주기 | |
| 981 | + | |
| 982 | + form.action = "<c:url value='/web/mjon/msgdata/selectMsgDataView.do'/>"; | |
| 983 | + form.submit(); | |
| 984 | + | |
| 985 | + | |
| 986 | +} | |
| 987 | + | |
| 988 | +function fnMoreSampleView(){ | |
| 989 | + | |
| 990 | + var form = document.mainImgSendForm; | |
| 991 | + form.mainMoreSamFlag.value = "Y"; | |
| 992 | + form.mainLetterTypeFlag.value = $('.tDep1_letType').find('.on').attr("value"); | |
| 993 | + form.cateNo.value = $('.tDep2_cateCode').find('.on').attr("value"); | |
| 994 | + | |
| 995 | + console.log(form.mainMoreSamFlag.value); | |
| 996 | + //장/단문/그림 | |
| 997 | + form.action = "<c:url value='/web/mjon/msgdata/selectMsgDataView.do'/>"; | |
| 998 | + //맞춤제작 샘플 | |
| 999 | + if($(".tDep1_letType").children('a').eq(3).hasClass('on')){ | |
| 1000 | + form.action = "<c:url value='/web/mjon/custom/selectMsgCustomView.do'/>"; | |
| 1001 | + } | |
| 1002 | + form.submit(); | |
| 1003 | + | |
| 1004 | +} | |
| 1005 | + | |
| 1006 | +// 맞춤제작요청 | |
| 1007 | +function goCustomUrl() { | |
| 1008 | + location.href = "<c:url value='/web/mjon/custom/selectMsgCustomView.do'/>"; | |
| 1009 | +} | |
| 1010 | + | |
| 1011 | +$(window).on('load',function(){ | |
| 1012 | + setTimeout(function(){ | |
| 1013 | + popScrTarget(); | |
| 1014 | + },500); | |
| 1015 | +}); | |
| 1016 | + | |
| 1017 | +function popScrTarget(){ | |
| 1018 | + var target=$('.login_pay .point .btnType, .main_service ul li:nth-child(4) a'); | |
| 1019 | + var closeTarget=$('.point_layer .tooltip-close'); | |
| 1020 | + target.attr('onclick','popScrSetting();'); | |
| 1021 | + closeTarget.attr('onclick','popScrCloseSetting();'); | |
| 1022 | +} | |
| 1023 | + | |
| 1024 | +var popScrT=0; | |
| 1025 | +function popScrSetting(){ | |
| 1026 | + popScrT=$(window).scrollTop(); | |
| 1027 | +} | |
| 1028 | + | |
| 1029 | +function popScrCloseSetting(){ | |
| 1030 | + setTimeout(function(){ | |
| 1031 | + $(window).scrollTop(popScrT); | |
| 1032 | + },1); | |
| 1033 | +} | |
| 1034 | + | |
| 1035 | + | |
| 1036 | +//이벤트 팝업 호출 | |
| 1037 | +function remoteEventPayPop(payCount) { | |
| 1038 | + if (fnGetCookie('layer_evntPayPop') != null) { //첫결제 이벤트 팝업 3일 안보기 체크 | |
| 1039 | + console.log("이벤트 쿠키 있음 : HIDE"); | |
| 1040 | + | |
| 1041 | +// $('.payEventPop').css("display","none"); | |
| 1042 | +// $('.payEventPop').hide(); | |
| 1043 | + }else{ | |
| 1044 | + console.log("이벤트 쿠키 없음 : SHOW"); | |
| 1045 | + | |
| 1046 | + $('.payEventPop').css("display","block"); | |
| 1047 | + $('.payEventPop').show(); | |
| 1048 | + } | |
| 1049 | + | |
| 1050 | + /* document.eventForm.payCount.value = payCount; | |
| 1051 | + window.open("about:blank", 'eventPayPop', 'width=700, height=700, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbar=no'); | |
| 1052 | + document.eventForm.action = "<c:url value='/web/event/selectEventPopAjax.do'/>"; | |
| 1053 | + document.eventForm.target = "eventPayPop"; | |
| 1054 | + document.eventForm.submit(); */ | |
| 1055 | +} | |
| 1056 | + | |
| 1057 | +function fnEventLoginChk(){ | |
| 1058 | + | |
| 1059 | + var userId = '${userId}'; | |
| 1060 | + | |
| 1061 | + if(userId == null || userId == ''){ | |
| 1062 | + | |
| 1063 | + //alert("문자온 서비스는 로그인 후 이용 가능합니다."); | |
| 1064 | + location.href="/web/user/login/login.do?goEventPay=Y"; | |
| 1065 | + //location.href="/web/user/login/login.do"; | |
| 1066 | + | |
| 1067 | + }else{ | |
| 1068 | + | |
| 1069 | + var frm = document.eventForm; | |
| 1070 | + var data = new FormData(frm); | |
| 1071 | + | |
| 1072 | + //팝업에서 결제하기 버튼을 누른 경우 해당 회원의 정보를 먼저 이벤트 회원 정보 테이블에 넣어준다. | |
| 1073 | + $.ajax({ | |
| 1074 | + type:"POST", | |
| 1075 | + url: "/web/event/insertEventDefaultMberInfoAjax.do", | |
| 1076 | + data: data, | |
| 1077 | + dataType:'json', | |
| 1078 | + contentType: false, | |
| 1079 | + processData: false, | |
| 1080 | + success: function (returnData, status) { | |
| 1081 | + if(status == 'success'){ | |
| 1082 | + | |
| 1083 | + if(returnData.resultSts == 'loginFail'){ | |
| 1084 | + | |
| 1085 | + alert("문자온 서비스는 로그인 후 이용 가능합니다."); | |
| 1086 | + location.href="<c:url value='/web/user/login/login.do'/>"; | |
| 1087 | + | |
| 1088 | + }else if(returnData.resultSts == 'success'){//회원정보 입력이 끝나면 결제 화면으로 이동한다. | |
| 1089 | + | |
| 1090 | + location.href="<c:url value='/web/event/member/pay/PayView.do'/>"; | |
| 1091 | + | |
| 1092 | + }else if(returnData.resultSts == 'eventJoined'){//현재 이벤트를 진행중인 회원 | |
| 1093 | + | |
| 1094 | + alert("현재 이벤트 진행 중입니다."); | |
| 1095 | + location.href="<c:url value='/web/main/mainPage.do'/>"; | |
| 1096 | + | |
| 1097 | + }else if(returnData.resultSts == 'eventEnded'){//해당 이벤트가 완료된 회원 | |
| 1098 | + | |
| 1099 | + alert("해당 이벤트가 종료되었습니다."); | |
| 1100 | + location.href="<c:url value='/web/main/mainPage.do'/>"; | |
| 1101 | + | |
| 1102 | + }else if(returnData.resultSts == 'eventBline'){//B선 전송사 이용고객 => 이벤트대상 제외처리 | |
| 1103 | + | |
| 1104 | + alert("이벤트 대상자가 아닙니다."); | |
| 1105 | + location.href="<c:url value='/web/main/mainPage.do'/>"; | |
| 1106 | + | |
| 1107 | + } | |
| 1108 | + | |
| 1109 | + } else if(status== 'fail'){ | |
| 1110 | + alert("이벤트 신청에 오류가 발생하였습니다."); | |
| 1111 | + return false; | |
| 1112 | + } | |
| 1113 | + }, | |
| 1114 | + error: function (e) { | |
| 1115 | + alert("이벤트 신청에 오류가 발생하였습니다."); | |
| 1116 | + console.log("ERROR : ", e); | |
| 1117 | + } | |
| 1118 | + }); | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + } | |
| 1122 | + | |
| 1123 | +} | |
| 1124 | + | |
| 1125 | + | |
| 1126 | +// 함수명: 배너 클릭하면 통계 추가 (2023-05-17 최남규) - 로그인화면(EgovLoginGnrlUsr.jsp)에도 같음 함수명 추가했음(단, 배너 갯수 다름) | |
| 1127 | +// 설명: 베너코드(ITN054)와 메뉴코드(ITN055) 조합코드 전달 후 Ajax.do 에서 '_' 분리후 날짜와 배너코드와 메뉴코드와 클릭수 +1 | |
| 1128 | +// 테이블(mj_banner_click_stat)에 최초 등록 후 이후 전체접속수(CLICK_A_CNT+1)를 수정 | |
| 1129 | +// 배너 추가될때 배너코드를 공통코드(ITN054) 추가 | |
| 1130 | +// 배너클릭통계-배너코드(ITN054): 원키퍼: 001, 간판다움: 002, NORDIC TOOLS: 003, 폰더하기: 004 | |
| 1131 | +// 배너클릭통계-메뉴코드(ITN055): 메인:01, 로그인: 02 | |
| 1132 | +function fn_click_banner_add_stat(bannerMenuCode){ | |
| 1133 | + | |
| 1134 | + console.log("fn_click_banner_add_stat 배너 선택 "+ bannerMenuCode) ; | |
| 1135 | + // 배너클릭 후 배너클릭통계 처리 성공과 관계없이 무조건 배너이동 함. | |
| 1136 | + if (bannerMenuCode == "001_01") | |
| 1137 | + { | |
| 1138 | + window.open("https://www.one-keeper.co.kr/cp/munjaon/index.aspx"); // 새탭에서 열림 | |
| 1139 | + } else if (bannerMenuCode == "002_01") | |
| 1140 | + { | |
| 1141 | + window.open("http://ganpandaum.co.kr"); // 새탭에서 열림 | |
| 1142 | + } else if (bannerMenuCode == "003_01") | |
| 1143 | + { | |
| 1144 | + window.open("https://www.nordictools.co.kr/index.html"); // 새탭에서 열림 | |
| 1145 | + } else if (bannerMenuCode == "004_01") | |
| 1146 | + { | |
| 1147 | + window.open("http://www.plusphone.co.kr/web/main/mainPage.do"); // 새탭에서 열림 | |
| 1148 | + } | |
| 1149 | + | |
| 1150 | + var _param = { "bannerMenuCode" : bannerMenuCode } | |
| 1151 | + $.ajax({ | |
| 1152 | + type : "POST", | |
| 1153 | + async : false, | |
| 1154 | + url : "/web/main/insertBannerClickStatAjax.do", | |
| 1155 | + data : _param, | |
| 1156 | + dataType:'json', | |
| 1157 | + success : function(data) { | |
| 1158 | + //alert(JSON.stringify(data)); | |
| 1159 | + console.log("sucess data1 : " + JSON.stringify(data)); | |
| 1160 | + if (data.isSuccess == true) { | |
| 1161 | + console.log("fn_click_banner_add_stat sucess data2 : " + JSON.stringify(data)); | |
| 1162 | + } | |
| 1163 | + else { | |
| 1164 | + console.log("data.isSuccess not true "); | |
| 1165 | + console.log("sucess data.msg : " + data.msg); | |
| 1166 | + console.log("sucess data1 : " + JSON.stringify(data)); | |
| 1167 | + } | |
| 1168 | + }, | |
| 1169 | + error : function(xhr, status, error) { | |
| 1170 | + console.log("fn_click_banner_add_stat error : " + error); | |
| 1171 | + console.log("fn_click_banner_add_stat xhr : " + JSON.stringify(xhr) + "\r\status : " + JSON.stringify(status) + "\r\error : " + JSON.stringify(error)); | |
| 1172 | + return false; | |
| 1173 | + } | |
| 1174 | + }); | |
| 1175 | +} | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | +</script> | |
| 1181 | +</head> | |
| 1182 | + | |
| 1183 | +<!-- 검색어 순위 노출 h2태그 --> | |
| 1184 | +<div class="layer_popup_wrap02" style="overflow:hidden;left:-9999em;top:-9999em;width:0;height:0;visibility:hidden;"> | |
| 1185 | + <div class="popup_inner"> | |
| 1186 | + <div class="layer_popup02"> | |
| 1187 | + <div class="layer_popup_cont"> | |
| 1188 | + <h2>문자온은 인사, 홍보, 고객관리 목적의 대량문자 및 단체문자를 인터넷(웹)으로 발송하기 위한 최고의 문자사이트입니다.</h2> | |
| 1189 | + 대량/단체 문자 발송을 위한 [문자전송], [주소록관리], [맞춤제작], [문자샘플]등 다양한 기능을 사용해보세요. | |
| 1190 | + </div> | |
| 1191 | + </div> | |
| 1192 | + </div> | |
| 1193 | +</div> | |
| 1194 | + | |
| 1195 | +<%-- <input type="hidden" name="mberId" id="mberId" value="${result.kisaId}"> --%> | |
| 1196 | +<!-- 이벤트 폼 --> | |
| 1197 | +<form id="eventForm" name="eventForm" method="post"> | |
| 1198 | + <input type="hidden" id="payCount" name="payCount" value="0"/> | |
| 1199 | + <input type="hidden" id="eventNttId" name="eventNttId" value="<c:out value='${resultEvent.nttId}'/>"/> | |
| 1200 | + <input type="hidden" id="eventBbsId" name="eventBbsId" value="<c:out value='${resultEvent.bbsId}'/>"/> | |
| 1201 | +</form> | |
| 1202 | + | |
| 1203 | +<!-- 이벤트 팝업 --> | |
| 1204 | +<div class="layer_popup_wrap eventLayerPop" style="display:none;"> | |
| 1205 | + <div class="popup_inner"> | |
| 1206 | + | |
| 1207 | + <%-- <div class="layer_popup pointPop chusPopup"> | |
| 1208 | + <div class="layer_popup_cont"> | |
| 1209 | + <img src="/publish/images/main/popup03.jpg" alt="[추석 연휴 고객센터 운영 안내] 풍성하고 넉넉한 한가위 되시길 기원하며, 추석 연휴 동안의 고객센터 운영에 대하여 안내드립니다. 연휴기간 : 09월 16일(월) ~ 09월 18일(수) - 고객센터(1551-8011)를 통한 전화상담은 운영되지 않습니다. - 온라인(카카오톡/홈페이지1:1문의/E-mail) 상담은 24시간 접수 가능합니다. - 접수된 문의는 순차적으로 처리되며 빠른 시일 내에 답변드리도록 하겠습니다. 감사합니다"> | |
| 1210 | + </div> | |
| 1211 | + <div class="popup_btm"> | |
| 1212 | + <input type="checkbox" id="pointPop" name="pointPop" onclick="javascript:fnPopupChk('pointPop' , 'layer')"><label for="pointPop">3일간 열지 않음</label> | |
| 1213 | + <button type="button" class="popup_close pointPopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> | |
| 1214 | + </div> | |
| 1215 | + </div> --%> | |
| 1216 | + | |
| 1217 | + <!-- 20241101 작업공지 팝업 --> | |
| 1218 | + <div class="layer_popup pointPop"> | |
| 1219 | + <div class="layer_popup_cont"> | |
| 1220 | + <img src="/publish/images/main/popup05_241101.jpg" alt="작업공지 문자온 대표전화 서비스 일시 중단 안내 ARS시스템 점검으로 인하여 다음과 같이 대표전화 서비스가 일시 중단되오니 서비스 이용에 참고하시기 바랍니다.작업일시 : 2024.11.01(금), 15:00 ~ 17:30 작업내용 : ARS시스템 정기점검 작업영향 : 작업시간 동안 고객센터(1551-8011)를 통한 전화상담 중지 ※ 온라인(카카오톡/홈페이지1:1문의/E-mail) 상담은 가능하며, 접수된 문의는 빠른 시일 내에 순차적으로 답변드리도록 하겠습니다. 감사합니다."> | |
| 1221 | + </div> | |
| 1222 | + <div class="popup_btm"> | |
| 1223 | + <input type="checkbox" id="pointPop" name="pointPop" onclick="javascript:fnPopupChk('pointPop' , 'layer')"><label for="pointPop">3일간 열지 않음</label> | |
| 1224 | + <button type="button" class="popup_close pointPopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> | |
| 1225 | + </div> | |
| 1226 | + </div> | |
| 1227 | + | |
| 1228 | + <!-- 20241028 이용약관, 개인정보처리방침 팝업 --> | |
| 1229 | + <div class="layer_popup agreePrivatePop" id="agreePrivatePop_20241105" style="display: none;"> | |
| 1230 | + <div class="layer_popup_cont"> | |
| 1231 | + <img src="/publish/images/main/popup04_241028.jpg" alt="이용약관, 개인정보처리방침 개정 안내 변함없는 문자온 서비스 이용에 감사의 말씀 드립니다. 당사 이용약관 및 개인정보처리방침이 개정되오니 서비스 이용에 참고하시기 바랍니다. 이용약관 공지사항 개인정보처리방침 공지사항 항상 최선의 서비스를 제공할 수 있도록 노력하겠습니다. 감사합니다." usemap="#popup-service-map"> | |
| 1232 | + <map name="popup-service-map"> | |
| 1233 | + <area href="https://www.munjaon.co.kr/web/cop/bbs/NoticeDetail.do?bbsId=BBSMSTR_000000000721&nttId=700" coords="34,275,377,321" shape="rect"> | |
| 1234 | + <area href="https://www.munjaon.co.kr/web/cop/bbs/NoticeDetail.do?bbsId=BBSMSTR_000000000721&nttId=699" coords="34,332,377,378" shape="rect"> | |
| 1235 | + </map> | |
| 1236 | + </div> | |
| 1237 | + <div class="popup_btm"> | |
| 1238 | + <input type="checkbox" id="agreePrivatePop" name="agreePrivatePop" onclick="javascript:fnPopupChk('agreePrivatePop' , 'layer')"><label for="agreePrivatePop">3일간 열지 않음</label> | |
| 1239 | + <button type="button" class="popup_close agreePrivatePopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> | |
| 1240 | + </div> | |
| 1241 | + </div> | |
| 1242 | + | |
| 1243 | + <!-- 20241105 이용약관 팝업 --> | |
| 1244 | + <div class="layer_popup agreePrivatePop" id="agreePrivatePop_20241106" style="display: none;"> | |
| 1245 | + <div class="layer_popup_cont"> | |
| 1246 | + <img src="/publish/images/main/popup04_241105.jpg" alt="이용약관 개정 안내 변함없는 문자온 서비스 이용에 감사의 말씀 드립니다. 당사 이용약관이 개정되오니 서비스 이용에 참고하시기 바랍니다. 이용약관 공지사항 항상 최선의 서비스를 제공할 수 있도록 노력하겠습니다. 감사합니다." usemap="#popup-use-map"> | |
| 1247 | + <map name="popup-use-map"> | |
| 1248 | + <area href="https://www.munjaon.co.kr/web/cop/bbs/NoticeDetail.do?bbsId=BBSMSTR_000000000721&nttId=700" coords="35,295,378,352" shape="rect"> | |
| 1249 | + </map> | |
| 1250 | + </div> | |
| 1251 | + <div class="popup_btm"> | |
| 1252 | + <input type="checkbox" id="agreePrivatePop" name="agreePrivatePop" onclick="javascript:fnPopupChk('agreePrivatePop' , 'layer')"><label for="agreePrivatePop">3일간 열지 않음</label> | |
| 1253 | + <button type="button" class="popup_close agreePrivatePopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> | |
| 1254 | + </div> | |
| 1255 | + </div> | |
| 1256 | + | |
| 1257 | + <!-- 세로가 짧은 팝업 2개일때 --> | |
| 1258 | + <div class="popup_range" id="agreePrivatePop_20241129"> | |
| 1259 | + <!-- 20241119 보안강화 인증 수단 도입 안내 팝업 --> | |
| 1260 | + <div class="layer_popup agreePrivatePop" style="margin: 0 0 20px 30px;" id="agreePrivatePop_20241121"> | |
| 1261 | + <div class="layer_popup_cont"> | |
| 1262 | + <img src="/publish/images/main/popup06_241119.jpg" alt="보안강화 인증수단 도입 안내 2024년11월 17일자로 보안강화를 위해 서비스 로그인시 휴대폰 본인인증 기능을 도입하였으니 서비스 이용에 참고하시기 바랍니다." usemap="#popup-user-map1" style="height:220px; width:413px;"> | |
| 1263 | + <map name="popup-user-map1"> | |
| 1264 | + <area href="https://www.munjaon.co.kr/web/cop/bbs/NoticeDetail.do?bbsId=BBSMSTR_000000000723&nttId=720" coords="65,148,345,182" shape="rect"> | |
| 1265 | + </map> | |
| 1266 | + </div> | |
| 1267 | + <div class="popup_btm"> | |
| 1268 | + <input type="checkbox" id="agreePrivatePop" name="agreePrivatePop" onclick="javascript:fnPopupChk('agreePrivatePop' , 'layer')"><label for="agreePrivatePop">3일간 열지 않음</label> | |
| 1269 | + <button type="button" class="popup_close agreePrivatePopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> | |
| 1270 | + </div> | |
| 1271 | + </div> | |
| 1272 | + | |
| 1273 | + <!-- 20241122 보안강화 인증 수단 도입 안내 팝업 --> | |
| 1274 | + <div class="layer_popup agreePrivatePop" style="margin: 0 0 20px 30px;" id="agreePrivatePop_20241122"> | |
| 1275 | + <div class="layer_popup_cont"> | |
| 1276 | + <img src="/publish/images/main/popup06_241122.jpg" alt="보안로그인 서비스 안내 계정 보안 강화를 위해 도입한 기존 보안로그인 서비스를 2024년 11월 22일자로 개선 및 추가하오니 이용에 참고하시기 바랍니다." usemap="#popup-user-map2" style="height:220px; width:413px;"> | |
| 1277 | + <map name="popup-user-map2"> | |
| 1278 | + <area href="https://www.munjaon.co.kr/web/cop/bbs/NoticeDetail.do?bbsId=BBSMSTR_000000000723&nttId=726&seCmmnCdId=&frstRegisterId=&viewsYn=&menuNo=&searchBgnDe=&searchEndDe=&pageIndex=1&searchSortCnd=&searchSortOrd=&searchCnd=&searchWrd=&pageUnit=10" coords="65,148,345,182" shape="rect"> | |
| 1279 | + </map> | |
| 1280 | + </div> | |
| 1281 | + <div class="popup_btm"> | |
| 1282 | + <input type="checkbox" id="agreePrivatePop" name="agreePrivatePop" onclick="javascript:fnPopupChk('agreePrivatePop' , 'layer')"><label for="agreePrivatePop">3일간 열지 않음</label> | |
| 1283 | + <button type="button" class="popup_close agreePrivatePopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> | |
| 1284 | + </div> | |
| 1285 | + </div> | |
| 1286 | + | |
| 1287 | + <!-- 20241119 이용약관 팝업 --> | |
| 1288 | + <div class="layer_popup agreePrivatePop"> | |
| 1289 | + <div class="layer_popup_cont"> | |
| 1290 | + <img src="/publish/images/main/popup04_241119.jpg" alt="이용약관 개정 안내 변함없는 문자온 서비스 이용에 감사의 말씀 드립니다. 당사 이용약관이 개정되오니 서비스 이용에 참고하시기 바랍니다." usemap="#popup-use-map1" style="height:220px; width:413px;"> | |
| 1291 | + <map name="popup-use-map1"> | |
| 1292 | + <area href="https://www.munjaon.co.kr/web/cop/bbs/NoticeDetail.do?bbsId=BBSMSTR_000000000721&nttId=700" coords="65,148,345,182" shape="rect"> | |
| 1293 | + </map> | |
| 1294 | + </div> | |
| 1295 | + <div class="popup_btm"> | |
| 1296 | + <input type="checkbox" id="agreePrivatePop" name="agreePrivatePop" onclick="javascript:fnPopupChk('agreePrivatePop' , 'layer')"><label for="agreePrivatePop">3일간 열지 않음</label> | |
| 1297 | + <button type="button" class="popup_close agreePrivatePopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> | |
| 1298 | + </div> | |
| 1299 | + </div> | |
| 1300 | + </div> | |
| 1301 | + <!--// 세로가 짧은 팝업 2개일때 --> | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + <!-- 20241224 브라우저 쿠키 삭제 방법 안내 팝업 --> | |
| 1305 | + <div class="layer_popup delCookiePop"> | |
| 1306 | + <div class="layer_popup_cont"> | |
| 1307 | + <img src="/publish/images/main/popup07.jpg" alt="브라우저 쿠키 삭제 방법 안내 2024. 12. 23.자로 사이트 일부가 개편됨에 따라, 원활한 서비스 이용을 위한 “쿠키 및 기타 사이트 데이터”삭제 방법을 다음과 같이 안내해 드립니다. ※ 버튼 클릭 시 기능이 작동하지 않는 경우 해당 조치 필요 항상 최선의 서비스를 제공할 수 있도록 노력하겠습니다. 감사합니다." usemap="#popup-use-map7"> | |
| 1308 | + <map name="popup-use-map7"> | |
| 1309 | + <area href="https://www.munjaon.co.kr/web/cop/bbs/NoticeDetail.do?bbsId=BBSMSTR_000000000762&nttId=749&seCmmnCdId=&frstRegisterId=&viewsYn=&menuNo=&searchBgnDe=&searchEndDe=&pageIndex=1&searchSortCnd=&searchSortOrd=&searchCnd=&searchWrd=&pageUnit=10" coords="35,330,376,386" shape="rect"> | |
| 1310 | + </map> | |
| 1311 | + </div> | |
| 1312 | + <div class="popup_btm"> | |
| 1313 | + <input type="checkbox" id="cookieDelPop" name="cookieDelPop" onclick="javascript:fnPopupChk('cookieDelPop' , 'layer')"><label for="cookieDelPop">3일간 열지 않음</label> | |
| 1314 | + <button type="button" class="popup_close cookieDelPopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> | |
| 1315 | + </div> | |
| 1316 | + </div> | |
| 1317 | + <!--// 20241224 브라우저 쿠키 삭제 방법 안내 팝업 --> | |
| 1318 | + | |
| 1319 | + <div class="layer_popup payEventPop"> | |
| 1320 | + <div class="layer_popup_cont"> | |
| 1321 | + <img src="/publish/images/main/popup01.jpg" alt="단 한 번! 인생 최저가! 저세상 파격 특가! 누구나 첫 결제시 단문 7.5원 장문 32원 그림 59원 문자온만의 파격적인 최저가 혜택 지금 바로 만나보세요 결제 바로가기 이벤트 혜택은 본 페이지에서 결제하시는 경우에만 적용됩니다." usemap="#popup-map"> | |
| 1322 | + <map name="popup-map"> | |
| 1323 | + <area href="#" onClick="javascript:fnEventLoginChk()" coords="385,458,28,410" shape="rect"> | |
| 1324 | + </map> | |
| 1325 | + </div> | |
| 1326 | + <div class="popup_btm"> | |
| 1327 | + <input type="checkbox" id="evntPayPop" name="evntPayPop" onclick="javascript:fnPopupChk('evntPayPop' , 'layer')"><label for="evntPayPop">3일간 열지 않음</label> | |
| 1328 | + <button type="button" class="popup_close evntPayPopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> | |
| 1329 | + </div> | |
| 1330 | + </div> | |
| 1331 | + | |
| 1332 | + <%-- <div class="layer_popup pointPop"> | |
| 1333 | + <div class="layer_popup_cont"> | |
| 1334 | + <a href="/web/mjon/alimtalk/kakaoAlimtalkMsgDataView.do" title="알림톡 링크 이동"> | |
| 1335 | + <img src="/publish/images/main/popup_allimtalk_230712.jpg" alt="문자 ON 문자온 알림톡, 대한민국 최저가 선언! 조건없이 무조건 6.9원! 기업전용 / 1,000자 이하 텍스트&이미지 / 문자 대비 65% 저렴 카카오 '알림톡' 서비스 오픈! 알림톡 바로가기"> | |
| 1336 | + </a> | |
| 1337 | + </div> | |
| 1338 | + <div class="popup_btm"> | |
| 1339 | + <input type="checkbox" id="pointPop" name="pointPop" onclick="javascript:fnPopupChk('pointPop' , 'layer')"><label for="pointPop">3일간 열지 않음</label> | |
| 1340 | + <button type="button" class="popup_close pointPopClose"><img src="/publish/images/main/btn_popup_close01.png" alt="팝업닫기"></button> | |
| 1341 | + </div> | |
| 1342 | + </div> --%> | |
| 1343 | + </div> | |
| 1344 | +</div> | |
| 1345 | + | |
| 1346 | +<!-- 신고 알림 팝업 --> | |
| 1347 | +<div class="tooltip-wrap"> | |
| 1348 | + <div class="popup-com popup06 kisa_popup" tabindex="0" data-tooltip-con="popup06" data-focus="popup06" data-focus-prev="popup06-close"> | |
| 1349 | + <div class="popup_heading"> | |
| 1350 | + <p>KISA 신고 내용 상세보기</p> | |
| 1351 | + <button type="button" class="tooltip-close" data-focus="popup06-close"> | |
| 1352 | + <img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"> | |
| 1353 | + </button> | |
| 1354 | + </div> | |
| 1355 | + <div class="layer_in layer_notify"> | |
| 1356 | + <img src="/publish/images/content/kisa_layer_notify_img.jpg" alt="고객님께서 발송하신 문자가 광고문자 발송규정 위반으로 한국인터넷진흥원(KISA)에 신고접수 되었으니 마이페이지 - KISA신고 메뉴에서 확인 후 소명 자료를 제출해주시기 바랍니다." /> | |
| 1357 | + </div> | |
| 1358 | + <div class="popup_btn_wrap2"> | |
| 1359 | + <button type="button" onclick="goKisa(); return false;">KISA 신고 바로가기</button> | |
| 1360 | + <button type="button" class="tooltip-close" data-focus="popup06-close" data-focus-next="popup06">닫기</button> | |
| 1361 | + </div> | |
| 1362 | + </div> | |
| 1363 | +</div> | |
| 1364 | +<input type="hidden" data-tooltip="popup06" id="btnKisaAlert" /> | |
| 1365 | +<!-- //신고 알림 팝업 --> | |
| 1366 | + | |
| 1367 | +<!-- 그룹 내보내기 팝업 data-tooltip:adr_popup03 --> | |
| 1368 | +<form name="addrGrpSendForm" id="addrGrpSendForm" method="post" onsubmit="return false;"> | |
| 1369 | + <input type="hidden" id="addrGrpIds" name="addrGrpIds" /> | |
| 1370 | + <div class="tooltip-wrap"> | |
| 1371 | + <div class="popup-com adr_layer adr_popup03" tabindex="0" data-tooltip-con="adr_popup03" data-focus="adr_popup03" data-focus-prev="adr_popup03-close" style="width: 810px;"> | |
| 1372 | + <div class="popup_heading"> | |
| 1373 | + <p>주소록 그룹 받기</p> | |
| 1374 | + <button type="button" id="sendCheckCloseBtn" class="tooltip-close" data-focus="adr_popup03-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button> | |
| 1375 | + </div> | |
| 1376 | + <div class="layer_in"> | |
| 1377 | + <p class="adr_pop_title"><span class="c_222 sendId"></span>님으로부터 <span class="c_e40000">총 <span class="groupCount"></span>개의 주소록</span>을 받으시겠습니까?</p> | |
| 1378 | + <div class="gorup_join_cont"> | |
| 1379 | + <div class="select_group" style="max-height: 350px; overflow: auto"> | |
| 1380 | + <p>수신그룹</p> | |
| 1381 | + <ul id="selGroup2" class="selGroup2"></ul> | |
| 1382 | + </div> | |
| 1383 | + </div> | |
| 1384 | + <div class="popup_btn_wrap2"> | |
| 1385 | + <button type="button" onclick="addrRecvSaveAjax()">확인</button> | |
| 1386 | + <!-- <button type="button" onclick="addrRecvRejectAjax()">거절</button> --> | |
| 1387 | + <button type="button" class="tooltip-close" data-focus="adr_popup03-close" data-focus-next="adr_popup03">닫기</button> | |
| 1388 | + </div> | |
| 1389 | + </div> | |
| 1390 | + </div> | |
| 1391 | + </div> | |
| 1392 | +</form> | |
| 1393 | +<input type="hidden" data-tooltip="adr_popup03" id="btnAddrAlert" /> | |
| 1394 | +<!--// 그룹 내보내기 팝업 --> | |
| 1395 | + | |
| 1396 | +<!-- 팩스 그룹 내보내기 팝업 data-tooltip:adr_popup04 --> | |
| 1397 | +<form name="faxAddrGrpSendForm" id="faxAddrGrpSendForm" method="post" onsubmit="return false;"> | |
| 1398 | + <input type="hidden" id="faxAddrGrpIds" name="addrGrpIds" /> | |
| 1399 | + <div class="tooltip-wrap"> | |
| 1400 | + <div class="popup-com adr_layer faxAdr_popup04" tabindex="0" data-tooltip-con="faxAdr_popup04" data-focus="faxAdr_popup04" data-focus-prev="faxAdr_popup04-close" style="width: 810px;"> | |
| 1401 | + <div class="popup_heading"> | |
| 1402 | + <p>팩스 주소록 그룹 받기</p> | |
| 1403 | + <button type="button" id="sendCheckCloseBtn" class="tooltip-close" data-focus="adr_popup03-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button> | |
| 1404 | + </div> | |
| 1405 | + <div class="layer_in"> | |
| 1406 | + <p class="adr_pop_title"><span class="c_222 faxSendId"></span>님으로부터 <span class="c_e40000">총 <span class="faxGroupCount"></span>개의 주소록</span>을 받으시겠습니까?</p> | |
| 1407 | + <div class="gorup_join_cont"> | |
| 1408 | + <div class="select_group" style="max-height: 350px; overflow: auto"> | |
| 1409 | + <p>수신그룹</p> | |
| 1410 | + <ul id="faxSelGroup2" class="selGroup2"></ul> | |
| 1411 | + </div> | |
| 1412 | + </div> | |
| 1413 | + <div class="popup_btn_wrap2"> | |
| 1414 | + <button type="button" onclick="faxAddrRecvSaveAjax()">확인</button> | |
| 1415 | + <!-- <button type="button" onclick="addrRecvRejectAjax()">거절</button> --> | |
| 1416 | + <button type="button" class="tooltip-close" data-focus="faxAdr_popup04-close" data-focus-next="faxAdr_popup04">닫기</button> | |
| 1417 | + </div> | |
| 1418 | + </div> | |
| 1419 | + </div> | |
| 1420 | + </div> | |
| 1421 | +</form> | |
| 1422 | +<input type="hidden" data-tooltip="faxAdr_popup04" id="btnFaxAddrAlert" /> | |
| 1423 | +<!--// 그룹 내보내기 팝업 --> | |
| 1424 | + | |
| 1425 | +<!-- visual 영역 --> | |
| 1426 | +<div class="visual"> | |
| 1427 | + <div class="swiper-container visual_swiper"> | |
| 1428 | + <div class="swiper-wrapper" id=" "> | |
| 1429 | + <c:choose> | |
| 1430 | + <c:when test="${not empty mainzoneList}"> | |
| 1431 | + <c:forEach var="mainzone" items="${mainzoneList}" varStatus="status"> | |
| 1432 | + <div class="swiper-slide"> | |
| 1433 | + <div class="slideImg"> | |
| 1434 | + <c:if test="${not empty mainzone.mlink }"> | |
| 1435 | + <a href="<c:out value='${mainzone.mlink }'/>"> | |
| 1436 | + </c:if> | |
| 1437 | + <img src="/cmm/fms/getImage.do?atchFileId=<c:out value='${mainzone.mainzoneImageFile}'/>" alt="<c:out value='${mainzone.content}'/>"> | |
| 1438 | + <c:if test="${not empty mainzone.mlink }"> | |
| 1439 | + </a> | |
| 1440 | + </c:if> | |
| 1441 | + </div> | |
| 1442 | + </div> | |
| 1443 | + </c:forEach> | |
| 1444 | + </c:when> | |
| 1445 | + <c:otherwise> | |
| 1446 | + <%-- 메인 배너 이미지 등록된 건이 없는 경우 기본적으로 나오는 이미지 3개 --%> | |
| 1447 | + <a href='/web/mjon/alimtalk/kakaoAlimtalkMsgDataView.do'> | |
| 1448 | + <div class="swiper-slide"> | |
| 1449 | + <div class="slideImg"><img src="/publish/images/main/f_visual_06_20230802.jpg" alt="문자온, 카카오 '알림톡' 서비스 오픈! 문자온 알림톡, 대한민국 최저가 선언! 조건없이 무조건 6.9원! 카카오톡 채널아이디 추가를 하지 않은 이용자에게도 카카오톡 메시지 발송이 가능한 서비스! 알림톡 바로가기 알림톡 도착 kakao 문자온에서 알림톡이 도착하였습니다! 기업전용/1,000자 이하 텍스트 & 이미지/문자 대비 65% 저렴"></div> | |
| 1450 | + </div> | |
| 1451 | + </a> | |
| 1452 | + <div class="swiper-slide"> | |
| 1453 | + <div class="slideImg"><img src="/publish/images/main/f_visual_02_20221116.jpg" alt="문자도 보내고! 현금도 챙기는! 문자온만의 특별한 혜택! 결제금액의 2% 포인트 추가 적립! 포인트 1만점 이상 적립 시 현금페이백" /></div> | |
| 1454 | + </div> | |
| 1455 | + <div class="swiper-slide"> | |
| 1456 | + <div class="slideImg"><img src="/publish/images/main/f_visual_04_20221116.jpg" alt="문자는 이제, 문자온! 선택은 역시 문자온! 문자사이트 선택의 5가지 기준 1. 가격, 속도, 성능, 기능, 보안이 보장되는가? 2. 결제, 정산, 계산서 발행 등 업무가 자동화 되어 있고 편리한가? 3. 최신 IT 기술과 트렌드가 반영되어 있는가? 4. 회원가입 및 발신번호 인증이 쉽고 빠르며, 대량문자를 전송하기에 사용이 편리한가? 5. 매일 문자샘플이 업데이트 되고, CS 및 기술응대가 실시간적으로 이루어지는가?" /></div> | |
| 1457 | + </div> | |
| 1458 | + </c:otherwise> | |
| 1459 | + </c:choose> | |
| 1460 | + <%-- | |
| 1461 | + <div class="swiper-slide"> | |
| 1462 | + <div class="slideImg"><img src="/publish/images/main/f_visual_06_20230802.jpg" alt="문자온, 카카오 '알림톡' 서비스 오픈! 문자온 알림톡, 대한민국 최저가 선언! 조건없이 무조건 6.9원! 카카오톡 채널아이디 추가를 하지 않은 이용자에게도 카카오톡 메시지 발송이 가능한 서비스! 알림톡 바로가기 알림톡 도착 kakao 문자온에서 알림톡이 도착하였습니다! 기업전용/1,000자 이하 텍스트 & 이미지/문자 대비 65% 저렴" usemap="#allimtalk-map"></div> | |
| 1463 | + </div> | |
| 1464 | + <div class="swiper-slide"> | |
| 1465 | + <div class="slideImg"><img id="mainSlideImg_1001" src="/publish/images/main/f_visual_01_20231006.jpg" alt="문자는 이제, 문자온! 단 한번, 국내 최저가! 인생 최저가! 첫결제 단문 7.5원 장문 32원 그림 59원 Halloween 즐겁고 유쾌한 할로윈데이 보내세요 가을엔 독서 같이 책읽으실래요?" usemap="#image-map" /></div> | |
| 1466 | + </div> | |
| 1467 | + <div class="swiper-slide"> | |
| 1468 | + <div class="slideImg"><img src="/publish/images/main/f_visual_02_20221116.jpg" alt="문자도 보내고! 현금도 챙기는! 문자온만의 특별한 혜택! 결제금액의 2% 포인트 추가 적립! 포인트 1만점 이상 적립 시 현금페이백" /></div> | |
| 1469 | + </div> | |
| 1470 | + <div class="swiper-slide"> | |
| 1471 | + <div class="slideImg"><img id="mainSlideImg_1002" src="/publish/images/main/f_visual_03_20231006.jpg" alt="다른 사이트에는 없다! 오직 문자온에만 있다! 최고의 디자이너가 직접 제작하는 그림문자 맞춤제작을 통해 나만의 문자를 디자인 해보세요. 가을은 캠핑의 계절! 낭만캠핑 캠핑하기 좋은 계절, 가을이 돌아왔습니다. 즐거운 캠핑을 떠나고 싶으신가요? 지금 이벤트에 참여하시면, 캠핑 지원금을 드립니다. 지금 바로 참여하세요! 즐거운 캠핑 지원금 문자온에서 확인해보세요! HALLOWEEN 할로윈이벤트 이벤트에 참여하시고 무시무시한 혜택을 받아보세요 이벤트 기간 2099.10.01 10.31 이벤트 대상 10,000원 이상 구매한 모든 고객 event 01 5만원 이상 구매시 5,000원할인쿠폰 증정! event02 이벤트 기간동안 무료배송! event03 어플 설치 시 10% 추가 할인 쿠폰 증정! HALLOWEEN 할로윈 코스튬 할로윈 분위기에 맞게 코스튬을 하고 와요! 할로윈 CAKE 할로윈을 맞이하여 호박케이크를 만들어봐요! 문자온 영어학원 T.031.123.4567" /></div> | |
| 1472 | + </div> | |
| 1473 | + <div class="swiper-slide"> | |
| 1474 | + <div class="slideImg"><img src="/publish/images/main/f_visual_04_20221116.jpg" alt="문자는 이제, 문자온! 선택은 역시 문자온! 문자사이트 선택의 5가지 기준 1. 가격, 속도, 성능, 기능, 보안이 보장되는가? 2. 결제, 정산, 계산서 발행 등 업무가 자동화 되어 있고 편리한가? 3. 최신 IT 기술과 트렌드가 반영되어 있는가? 4. 회원가입 및 발신번호 인증이 쉽고 빠르며, 대량문자를 전송하기에 사용이 편리한가? 5. 매일 문자샘플이 업데이트 되고, CS 및 기술응대가 실시간적으로 이루어지는가?" /></div> | |
| 1475 | + </div> | |
| 1476 | + --%> | |
| 1477 | + | |
| 1478 | +<!-- <map name="allimtalk-map"> --> | |
| 1479 | +<!-- <area href="/web/mjon/alimtalk/kakaoAlimtalkMsgDataView.do" coords="299,286,514,338" shape="rect"> --> | |
| 1480 | +<!-- </map> --> | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + <!-- <div class="swiper-slide"> | |
| 1484 | + <div class="slideImg"><img src="/publish/images/main/f_visual_05_20230215.jpg" alt="제 3회 전국 동시조합장선거 문자온과 함께라면 선거 1위 당근 당선! VOTE" /></div> | |
| 1485 | + </div> --> | |
| 1486 | + | |
| 1487 | + <%-- <c:if test="${empty LoginVO}"> | |
| 1488 | + <map name="image-map"> | |
| 1489 | + <area target="_self" alt="회원가입 바로가기" title="회원가입 바로가기" href="/web/user/login/selectUserDept.do" coords="1063,371,1274,388,1275,442,1060,445" shape="poly"> | |
| 1490 | + </map> | |
| 1491 | + </c:if> --%> | |
| 1492 | + </div> | |
| 1493 | + <!-- 버튼 --> | |
| 1494 | + <div class="swiper-button-next"></div> | |
| 1495 | + <div class="swiper-button-prev"></div> | |
| 1496 | + <!-- 페이징 --> | |
| 1497 | + <div class="slide_button"> | |
| 1498 | + <div class="swiper-pagination"></div> | |
| 1499 | + <button class="slidePause"></button> | |
| 1500 | + </div> | |
| 1501 | + </div> | |
| 1502 | +</div> | |
| 1503 | +<!--// visual 영역 --> | |
| 1504 | + | |
| 1505 | +<!-- new_content1 //--> | |
| 1506 | +<div class="banner_w"> | |
| 1507 | + <div class="sw_wrap"> | |
| 1508 | + <div class="swiper-container swiper2"> | |
| 1509 | + <div class="swiper-wrapper"> | |
| 1510 | + | |
| 1511 | + <!-- 배너수정 250224 --> | |
| 1512 | + <c:choose> | |
| 1513 | + <c:when test="${not empty subMainzoneList}"> | |
| 1514 | + <c:forEach var="sub" items="${subMainzoneList}" varStatus="status"> | |
| 1515 | + <div class="swiper-slide"> | |
| 1516 | + <div class="contWrap"> | |
| 1517 | + <c:if test="${not empty sub.mlink }"> | |
| 1518 | + <a href="<c:out value='${sub.mlink}'/>" title="페이지 이동"> | |
| 1519 | + </c:if> | |
| 1520 | + <ul class="slide_cont1 table_cell1"> | |
| 1521 | + <li class="cont1_title"><c:out value="${sub.topTxt }" /></li> | |
| 1522 | + <li class="cont_ex"> | |
| 1523 | + <p class="txt"><c:out value="${sub.lowTxt }" /></p> | |
| 1524 | + <p class="bg_icon"> | |
| 1525 | + <img src="/cmm/fms/getImage.do?atchFileId=<c:out value='${sub.mainzoneImageFile}'/>" alt="<c:out value='${mainzone.content}'/>"> | |
| 1526 | + </p> | |
| 1527 | + </li> | |
| 1528 | + <c:if test="${not empty sub.mlink }"> | |
| 1529 | + <li class="more">자세히보기</li> | |
| 1530 | + </c:if> | |
| 1531 | + </ul> | |
| 1532 | + <c:if test="${not empty sub.mlink }"> | |
| 1533 | + </a> | |
| 1534 | + </c:if> | |
| 1535 | + </div> | |
| 1536 | + </div> | |
| 1537 | + </c:forEach> | |
| 1538 | + </c:when> | |
| 1539 | + <c:otherwise> | |
| 1540 | + | |
| 1541 | + <div class="swiper-slide"> | |
| 1542 | + <div class="contWrap"> | |
| 1543 | + <a href="/web/mjon/msgdata/excel/selectMsgExcelDataView.do" title="페이지 이동"> | |
| 1544 | + <ul class="slide_cont1 table_cell1"> | |
| 1545 | + <li class="cont1_title">대량문자·단체문자 전송</li> | |
| 1546 | + <li class="cont_ex"> | |
| 1547 | + <p class="txt">별도의 프로그램 설치 없이 컴퓨터로 단체·대량문자 발송 가능</p> | |
| 1548 | + <p class="bg_icon"><img src="/publish/images/main/cont1_1.png" alt="대량문자·단체문자 전송 아이콘"></p> | |
| 1549 | + </li> | |
| 1550 | + <li class="more">자세히보기</li> | |
| 1551 | + </ul> | |
| 1552 | + </a> | |
| 1553 | + </div> | |
| 1554 | + </div> | |
| 1555 | + | |
| 1556 | + <div class="swiper-slide"> | |
| 1557 | + <div class="contWrap"> | |
| 1558 | + <a href="/web/mjon/msgdata/excel/selectMsgExcelDataView.do" title="페이지 이동" rel="nosublink"> | |
| 1559 | + <ul class="slide_cont1 table_cell1"> | |
| 1560 | + <li class="cont1_title">문자연동(API) 서비스 제공</li> | |
| 1561 | + <li class="cont_ex"> | |
| 1562 | + <p class="txt">별도의 프로그램 설치 없이 컴퓨터로 단체·대량문자 발송 가능</p> | |
| 1563 | + <p class="bg_icon"><img src="/publish/images/main/cont1_9.png" alt="문자연동(API) 서비스 제공 아이콘"></p> | |
| 1564 | + </li> | |
| 1565 | + <li class="more">자세히보기</li> | |
| 1566 | + </ul> | |
| 1567 | + </a> | |
| 1568 | + </div> | |
| 1569 | + </div> | |
| 1570 | + <div class="swiper-slide"> | |
| 1571 | + <div class="contWrap"> | |
| 1572 | + <a href="/web/mjon/custom/selectMsgCustomView.do" title="페이지 이동" rel="nosublink"> | |
| 1573 | + <ul class="slide_cont1 table_cell1"> | |
| 1574 | + <li class="cont1_title">그림문자 맞춤제작</li> | |
| 1575 | + <li class="cont_ex"> | |
| 1576 | + <p class="txt">나만의 그림문자 이미지 맞춤제작으로 홍보효과 극대화</p> | |
| 1577 | + <p class="bg_icon"><img src="/publish/images/main/cont1_2.png" alt="그림문자 맞춤제작 아이콘"></p> | |
| 1578 | + </li> | |
| 1579 | + <li class="more">자세히보기</li> | |
| 1580 | + </ul> | |
| 1581 | + </a> | |
| 1582 | + </div> | |
| 1583 | + </div> | |
| 1584 | + <div class="swiper-slide"> | |
| 1585 | + <div class="contWrap"> | |
| 1586 | + <a href="/web/mjon/custom/selectMsgCustomView.do" title="페이지 이동" rel="nosublink"> | |
| 1587 | + <ul class="slide_cont1 table_cell1"> | |
| 1588 | + <li class="cont1_title">주소록 등록 무료대행</li> | |
| 1589 | + <li class="cont_ex"> | |
| 1590 | + <p class="txt">주소록 직접 등록이 어려운 고객을 위해 엑셀, TXT 파일 등 주소록 등록 무료대행</p> | |
| 1591 | + <p class="bg_icon"><img src="/publish/images/main/cont1_3.png" alt="주소록 등록 무료대행 아이콘"></p> | |
| 1592 | + </li> | |
| 1593 | + <li class="more">자세히보기</li> | |
| 1594 | + </ul> | |
| 1595 | + </a> | |
| 1596 | + </div> | |
| 1597 | + </div> | |
| 1598 | + </c:otherwise> | |
| 1599 | + </c:choose> | |
| 1600 | + <!--// 배너수정 250224 --> | |
| 1601 | + </div> | |
| 1602 | + <!-- 버튼 --> | |
| 1603 | + <div class="swiper-button-next"> | |
| 1604 | + <img src="/publish/images/main/cont1_next.png" alt="다음" /> | |
| 1605 | + </div> | |
| 1606 | + <div class="swiper-button-prev"> | |
| 1607 | + <img src="/publish/images/main/cont1_prev.png" alt="이전" /> | |
| 1608 | + </div> | |
| 1609 | + <!-- 페이징 --> | |
| 1610 | + <div class="swiper-pagination"></div> | |
| 1611 | + </div> | |
| 1612 | + </div> | |
| 1613 | +</div> | |
| 1614 | +<form id="mainImgSendForm" name="mainImgSendForm" method="post"> | |
| 1615 | + <input type="hidden" id="atchFileId1" name="atchFileId1" value=""/> | |
| 1616 | + <input type="hidden" id="fileSn" name="fileSn" value=""/> | |
| 1617 | + <input type="hidden" id="strImgPath" name="strImgPath" value=""/> | |
| 1618 | + <input type="hidden" id="letterId" name="letterId" value=""/> | |
| 1619 | + <input type="hidden" id="mainImgFlag" name="mainImgFlag" value="N"/> | |
| 1620 | + <input type="hidden" id="mainMoreSamFlag" name="mainMoreSamFlag" value="N"/> | |
| 1621 | + <input type="hidden" id="mainLetterFlag" name="mainLetterFlag" value="N"/> | |
| 1622 | + <input type="hidden" id="mainLetterTypeFlag" name="mainLetterTypeFlag"/> | |
| 1623 | + <input type="hidden" id="cateNo" name="cateNo"/> | |
| 1624 | + | |
| 1625 | +</form> | |
| 1626 | +<form id="letterForm" name="letterForm" method="post"> | |
| 1627 | + | |
| 1628 | + <input type="hidden" id="letterType" name="letterType" value="<c:out value='${letterVO.letterType}'/>" /> | |
| 1629 | + <input type="hidden" id="memberType" name="memberType" value="<c:out value='${letterVO.memberType}'/>" /> | |
| 1630 | + <input type="hidden" id="categoryCode" name="categoryCode" value="<c:out value='${letterVO.categoryCode}'/>" /> | |
| 1631 | + <input type="hidden" id="hashTag" name="hashTag" value="<c:out value='${letterVO.hashTag}'/>" /> | |
| 1632 | + <input type="hidden" id="pageIndex" name="pageIndex" value="<c:out value='${letterVO.pageIndex}' default='1' /> " /> | |
| 1633 | + <input type="hidden" id="pageUnit" name="pageUnit" value="<c:out value='${letterVO.pageUnit}'/>" /> | |
| 1634 | + | |
| 1635 | + <div class="main_cont2"> | |
| 1636 | + <div class="inner"> | |
| 1637 | + <!-- <p class="tit_text">이런 문자 어때요?</p> --> | |
| 1638 | + <p class="tit_text">이런 단체문자, 대량문자 샘플 어때요?</p> | |
| 1639 | + <!-- <p class="sub_text">단체문자, 대량문자, 경조문자, 부고문자, 광고문자, 홍보문자, 조문문자, 결혼문자, 예약문자, 사진문자, 그림문자, SMS, LMS, MMS, 병원문자, 위로문자, 응원문자, 행사문자, 기념일문자, 웹문자, 인터넷문자, 문자사이트, 답례문자, 그룹문자 등 다양한 샘플 무료 제공</p> --> | |
| 1640 | + <div class="tabs"> | |
| 1641 | + <!-- Default tab_depth1 - 전체 / tab_depth2 - 인기그림문자 / tab_depth3 - BEST --> | |
| 1642 | + <!-- <div class="tab_depth1 tDep2_mType"> | |
| 1643 | + <a href="#none" class="on" value="" rel="nosublink">전체</a> | |
| 1644 | + <a href="#none" value="B" rel="nosublink">기업</a> | |
| 1645 | + <a href="#none" class="on" value="P" rel="nosublink">개인</a> | |
| 1646 | + <div class="on_active">전체</div> | |
| 1647 | + </div> --> | |
| 1648 | + <div class="tab_depth2 tDep1_letType"> | |
| 1649 | + <a href="#none" value="P" class="on" rel="nosublink">인기 그림문자</a> | |
| 1650 | + <a href="#none" value="L" rel="nosublink">인기 장문문자</a> | |
| 1651 | + <a href="#none" value="S" rel="nosublink">인기 단문문자</a> | |
| 1652 | + <a href="#none" value="C" class="tab_custom" rel="nosublink">인기 맞춤제작</a> | |
| 1653 | + </div> | |
| 1654 | + <button class="btn_custom" onclick="javascript:goCustomUrl(); return false;"> | |
| 1655 | + <img src="/publish/images/main/btn_imgicon.png" alt="맞춤제작아이콘"> | |
| 1656 | + 맞춤제작요청 | |
| 1657 | + </button> | |
| 1658 | + <div class="tab_depth3 tab_basic tDep2_cateCode"> | |
| 1659 | + <a href="#none" value="best" class="on" rel="nosublink">BEST</a> | |
| 1660 | + <c:forEach var="cateList" items="${cateCodeList}" varStatus="status"> | |
| 1661 | + <a href="#none" value="<c:out value='${cateList.cateCode}'/>" rel="nosublink"> | |
| 1662 | + <c:out value="${cateList.cateNm}" /> | |
| 1663 | + </a> | |
| 1664 | + </c:forEach> | |
| 1665 | + </div> | |
| 1666 | + <div class="tab_depth3 tab_other tDep3_cateCode"> | |
| 1667 | + <a href="#none" value="best" class="on" rel="nosublink">BEST</a> | |
| 1668 | + <c:forEach var="cateConfCustomList" items="${cateConfCustomList}" varStatus="status"> | |
| 1669 | + <a href="#none" value="<c:out value='${cateConfCustomList.cateCode}'/>" rel="nosublink"> | |
| 1670 | + <c:out value="${cateConfCustomList.cateNm}"/> | |
| 1671 | + </a> | |
| 1672 | + </c:forEach> | |
| 1673 | + </div> | |
| 1674 | + </div> | |
| 1675 | + <div class="tab_contwrap"> | |
| 1676 | + | |
| 1677 | + <div id="photoLoad" style="height:490px;"></div> | |
| 1678 | + | |
| 1679 | + <div id="letterLoad" style="height:441px;"></div> | |
| 1680 | + | |
| 1681 | + </div> | |
| 1682 | + <button type="button" class="btn_more" onclick="javascript:fnMoreSampleView(); return false;">더 많은 샘플보기</button> | |
| 1683 | + </div> | |
| 1684 | + </div> | |
| 1685 | +</form> | |
| 1686 | +<!-- content3 영역 --> | |
| 1687 | +<div class="main_cont3"> | |
| 1688 | + <div class="inner"> | |
| 1689 | + <div class="main_service"> | |
| 1690 | + <div class="title"> | |
| 1691 | + <span class="text_deco"></span>자주찾는 서비스 | |
| 1692 | + </div> | |
| 1693 | + <ul> | |
| 1694 | + <li><a href="/web/pay/PayGuide.do" rel="nosublink"><i></i><span>요금안내</span></a></li> | |
| 1695 | + <li><a href="/web/pay/PayGuide.do?tabType=2" rel="nosublink"><i></i><span>견적내기</span></a></li> | |
| 1696 | + <li><a href="/web/member/pay/PayView.do" rel="nosublink"><i></i><span>충전하기</span></a></li> | |
| 1697 | + <li><a href="#" data-tooltip="popup04" rel="nosublink"><i></i><span>포인트교환</span></a></li> | |
| 1698 | + <li><a href="/web/user/sendNumberManage.do" rel="nosublink"><i></i><span>발신번호 등록</span></a></li> | |
| 1699 | + <!-- <li><a href="/web/member/pay/BillPub.do" rel="nosublink"><i></i><span>계산서/영수증</span></a></li> --> | |
| 1700 | + <li><a href="/web/member/pay/BillPub.do" rel="nosublink"><i></i><span>세금계산서</span></a></li> | |
| 1701 | + </ul> | |
| 1702 | + </div> | |
| 1703 | + <div class="main_notice"> | |
| 1704 | + <div class="title"> | |
| 1705 | + <span class="text_deco"></span>공지사항 | |
| 1706 | + </div> | |
| 1707 | + <button class="plus_btn" onclick="location.href='/web/cop/bbs/NoticeList.do'"> | |
| 1708 | + </button> | |
| 1709 | + <ul> | |
| 1710 | + <c:forEach var="result" items="${noticeList}" varStatus="status"> | |
| 1711 | + <li> | |
| 1712 | + <a href="#" onclick="fn_egov_inqire_notice('${result.bbsId}', '${result.nttId}'); return false;" title="페이지 이동" rel="nosublink"> <span class="text_deco2"></span> <c:out value="${result.nttSj}" /> | |
| 1713 | + </a> | |
| 1714 | + </li> | |
| 1715 | + </c:forEach> | |
| 1716 | + </ul> | |
| 1717 | + </div> | |
| 1718 | + <div class="service_center"> | |
| 1719 | + <div class="title"> | |
| 1720 | + <span class="text_deco"></span>고객센터 | |
| 1721 | + </div> | |
| 1722 | + <div class="tablet table"> | |
| 1723 | + <div class="table_cell"> | |
| 1724 | + <div class="service_center_title"> | |
| 1725 | + <p>1551-8011</p> | |
| 1726 | + <span>E-mail : help@iten.co.kr</span> | |
| 1727 | + </div> | |
| 1728 | + <div class="serive_info"> | |
| 1729 | + <p>월~금 : 09:30 ~ 18:30 / 점심시간 : 13:00 ~ 14:00<br>토, 일요일 및 법정공휴일 휴무</p> | |
| 1730 | + </div> | |
| 1731 | + <ul class="serive_btn"> | |
| 1732 | + <li class="kakao"><a href="http://pf.kakao.com/_PxoTtb/chat" target="_blank" rel="nosublink">카톡 상담</a></li> | |
| 1733 | + <li class="remote"><a href="javascript:void(0);" onclick="remotePop('https://939.co.kr/munjaon/');" rel="nosublink">원격지원</a></li> | |
| 1734 | + <li class="qnabtn"><a href="/web/cop/bbs/QnaList.do" rel="nosublink">1:1 문의</a></li> | |
| 1735 | + </ul> | |
| 1736 | + </div> | |
| 1737 | + </div> | |
| 1738 | + </div> | |
| 1739 | + </div> | |
| 1740 | +</div> | |
| 1741 | + | |
| 1742 | + | |
| 1743 | +<div class="main_cont5 keyword_wrap"> | |
| 1744 | + <div class="inner"> | |
| 1745 | + <p class="tit_text">이런 키워드는 어때요?</p> | |
| 1746 | + <ul class="link_box"> | |
| 1747 | + <c:forEach var="item" items="${mainMsgTagList}" varStatus="status"> | |
| 1748 | + <li><a href="${item.url}" rel="nosublink">${item.tagNm}</a></li> | |
| 1749 | + </c:forEach> | |
| 1750 | + </ul> | |
| 1751 | + </div> | |
| 1752 | +</div> | |
| 1753 | + | |
| 1754 | + | |
| 1755 | + <div class="main_cont4 adv_wrap"> | |
| 1756 | + <div class="inner"> | |
| 1757 | + <ul class="adv_list"> | |
| 1758 | + <!-- | |
| 1759 | + <li><a href="https://twww.one-keeper.co.kr/cp/munjaon/index.aspx" target="_blank"><img src="/publish/images/adv/adv_onekeeper.png" alt="중요한 개인정보! 안전하게 보호하고 싶다면!"></a></li> | |
| 1760 | + | |
| 1761 | + <li><a href="http://ganpandaum.co.kr/" target="_blank"><img src="/publish/images/adv/adv_ganpandaum.png" alt="간판다움 간판|인테리어|썬팅|네온|어닝"></a></li> | |
| 1762 | + <li><a href="https://www.nordictools.co.kr/index.html" target="_blank"><img src="/publish/images/adv/adv_nordictools.png" alt="NORDIC TOOLS"></a></li> | |
| 1763 | + <li><a href="http://www.plusphone.co.kr/web/main/mainPage.do" target="_blank"><img src="/publish/images/adv/adv_phoneplus.png" alt="폰더하기 내폰사기|내폰팔기|휴대폰수리"></a></li> | |
| 1764 | + | |
| 1765 | + --> | |
| 1766 | + <!-- | |
| 1767 | + <li><a href="#" target="_blank" onclick="fn_click_banner_add_stat('001_01'); return false;" ><img src="/publish/images/adv/adv_login_onekeeper.png" alt="소중한 내 개인정보! 원키퍼로 내가 지킨다!"></a></li> | |
| 1768 | + <li><a href="#" target="_blank" onclick="fn_click_banner_add_stat('002_01'); return false;" ><img src="/publish/images/adv/adv_ganpandaum.png" alt="간판다움 간판|인테리어|썬팅|네온|어닝"></a></li> | |
| 1769 | + <li><a href="#" target="_blank" onclick="fn_click_banner_add_stat('003_01'); return false;" ><img src="/publish/images/adv/adv_nordictools.png" alt="NORDIC TOOLS"></a></li> | |
| 1770 | + <li><a href="#" target="_blank" onclick="fn_click_banner_add_stat('004_01'); return false;" ><img src="/publish/images/adv/adv_phoneplus.png" alt="폰더하기 내폰사기|내폰팔기|휴대폰수리"></a></li> | |
| 1771 | + --> | |
| 1772 | + | |
| 1773 | + <!-- <li><a href="https://dawonchangho.modoo.at/" target="_blank"><img src="/publish/images/adv/adv_dawon.png" alt="다원창호 유리|샷시|방충망"></a></li> --> | |
| 1774 | + </ul> | |
| 1775 | + </div> | |
| 1776 | + </div> | |
| 1777 | + | |
| 1778 | +<!--// content3 영역 --> | |
| 1779 | +<div class="serv_content" style="overflow:hidden;left:-9999em;top:-9999em;width:0;height:0;visibility:hidden;"> | |
| 1780 | +단체문자 대량문자발송 인터넷 웹문자 사이트 - 문자온 | |
| 1781 | + | |
| 1782 | + | |
| 1783 | + <div class="list_cont qna_cont" id="listTab_1"> | |
| 1784 | + <ul class="qna"> | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + <li> | |
| 1788 | + <button type="button" onclick="qnaList(this)" title="닫힘"> | |
| 1789 | + <p class="question_text">Q.</p> | |
| 1790 | + <p> | |
| 1791 | + <span>[결제]</span> | |
| 1792 | + "첫결제 이벤트" 결제 후 잔액이 남아 있는데 문자 발송이 안되는 경우는 왜 그런건가요? | |
| 1793 | + </p> | |
| 1794 | + </button> | |
| 1795 | + <div class="qna_answer"> | |
| 1796 | + <p class="answer_text">A.</p> | |
| 1797 | + <p class="answer_cont"> | |
| 1798 | + 첫결제 이벤트 잔액이 남아 있더라도 1회 발송 문자수량 및 금액이 이벤트 잔액보다 큰 경우 문자가 발송되지 않으며, 이 경우 이벤트 잔액 이하의 금액으로 문자 수량을 조정해야 문자가 정상 발송됩니다. | |
| 1799 | + </p> | |
| 1800 | + | |
| 1801 | + </div> | |
| 1802 | + </li> | |
| 1803 | + | |
| 1804 | + <li> | |
| 1805 | + <button type="button" onclick="qnaList(this)" title="닫힘"> | |
| 1806 | + <p class="question_text">Q.</p> | |
| 1807 | + <p> | |
| 1808 | + <span>[결제]</span> | |
| 1809 | + 첫결제 이벤트 후 추가 결제를 진행하였는데 잔액 부족으로 문자 발송이 안되는 경우는 왜 그런건가요? | |
| 1810 | + </p> | |
| 1811 | + </button> | |
| 1812 | + <div class="qna_answer"> | |
| 1813 | + <p class="answer_text">A.</p> | |
| 1814 | + <p class="answer_cont"> | |
| 1815 | + 첫결제 이벤트 캐시가 남아 있는 경우에는 이벤트 캐시 전액 소진 후 추가결제에 따른 일반캐시 이용이 가능합니다. 이벤트 캐시 잔액만큼 문자를 선 발송하여 이벤트 캐시 전액 소진 후 자동 전환된 일반캐시를 사용하거나, 문자온 고객센터(1551-8011)로 문의주시면 즉시 처리 도와드리겠습니다. | |
| 1816 | + </p> | |
| 1817 | + | |
| 1818 | + </div> | |
| 1819 | + </li> | |
| 1820 | + | |
| 1821 | + <li> | |
| 1822 | + <button type="button" onclick="qnaList(this)" title="닫힘"> | |
| 1823 | + <p class="question_text">Q.</p> | |
| 1824 | + <p> | |
| 1825 | + <span>[장문·단문·그림문자]</span> | |
| 1826 | + 한 번 보낸 문자를 저장해서 계속 보낼 수 있나요? | |
| 1827 | + </p> | |
| 1828 | + </button> | |
| 1829 | + <div class="qna_answer"> | |
| 1830 | + <p class="answer_text">A.</p> | |
| 1831 | + <p class="answer_cont"> | |
| 1832 | + 문자온은 “내문자함” 기능을 제공하기 때문에 한 번 보낸 문자를 저장해서 계속 보낼 수 있습니다.<br>문자전송 페이지에서 문자내용 작성 후 [문자저장] 버튼을 클릭하면 해당 문자가 [내문자함]에 보관되어 언제든지 자유롭게 재발송이 가능합니다. | |
| 1833 | + </p> | |
| 1834 | + | |
| 1835 | + </div> | |
| 1836 | + </li> | |
| 1837 | + | |
| 1838 | + <li> | |
| 1839 | + <button type="button" onclick="qnaList(this)" title="닫힘"> | |
| 1840 | + <p class="question_text">Q.</p> | |
| 1841 | + <p> | |
| 1842 | + <span>[장문·단문·그림문자]</span> | |
| 1843 | + 그림문자 발송 시 첨부 이미지 위치나 순서를 지정할 수 있나요? | |
| 1844 | + </p> | |
| 1845 | + </button> | |
| 1846 | + <div class="qna_answer"> | |
| 1847 | + <p class="answer_text">A.</p> | |
| 1848 | + <p class="answer_cont"> | |
| 1849 | + 그림문자 발송 시 텍스트 내용과 이미지의 노출 순서는 이동통신사 및 단말기의 설정에 따라 달라지기 때문에 임의적인 이미지 위치나 순서 지정이 불가합니다. | |
| 1850 | + </p> | |
| 1851 | + | |
| 1852 | + </div> | |
| 1853 | + </li> | |
| 1854 | + | |
| 1855 | + <li> | |
| 1856 | + <button type="button" onclick="qnaList(this)" title="닫힘"> | |
| 1857 | + <p class="question_text">Q.</p> | |
| 1858 | + <p> | |
| 1859 | + <span>[장문·단문·그림문자]</span> | |
| 1860 | + 그림문자 발송 시 정해진 용량이 있나요? | |
| 1861 | + </p> | |
| 1862 | + </button> | |
| 1863 | + <div class="qna_answer"> | |
| 1864 | + <p class="answer_text">A.</p> | |
| 1865 | + <p class="answer_cont"> | |
| 1866 | + 문자온 그림문자는 JPG, JPEG, PNG, GIF 파일 형식을 지원하며, 최대 10mb까지 발송 가능하나, 300kb에 최적화 되어 있기 때문에 300kb보다 용량이 크거나 이미지 내 텍스트가 많은 경우 해상도가 저하될 수 있습니다. 용량이 크거나 텍스트가 많은 이미지의 경우 반드시 사전 테스트 발송 후 대량 발송을 권장드립니다. | |
| 1867 | + </p> | |
| 1868 | + | |
| 1869 | + </div> | |
| 1870 | + </li> | |
| 1871 | + | |
| 1872 | + <li> | |
| 1873 | + <button type="button" onclick="qnaList(this)" title="닫힘"> | |
| 1874 | + <p class="question_text">Q.</p> | |
| 1875 | + <p> | |
| 1876 | + <span>[기타]</span> | |
| 1877 | + 위임장은 어떻게 작성하나요? | |
| 1878 | + </p> | |
| 1879 | + </button> | |
| 1880 | + <div class="qna_answer"> | |
| 1881 | + <p class="answer_text">A.</p> | |
| 1882 | + <p class="answer_cont"> | |
| 1883 | + 위임장 양식은 [마이페이지] → [발신번호 관리]에서 다운로드 가능하며 발신번호 명의자를 위임자, 문자온 이용자를 수임자(대리인)로 작성하여 제출해주시면 됩니다. | |
| 1884 | + </p> | |
| 1885 | + | |
| 1886 | + </div> | |
| 1887 | + </li> | |
| 1888 | + | |
| 1889 | + <li> | |
| 1890 | + <button type="button" onclick="qnaList(this)" title="닫힘"> | |
| 1891 | + <p class="question_text">Q.</p> | |
| 1892 | + <p> | |
| 1893 | + <span>[기타]</span> | |
| 1894 | + 문자온 이용 중 버튼이 안눌러지는 등 장애나 오류가 발생한 경우에는 어떻게 해야 하나요? | |
| 1895 | + </p> | |
| 1896 | + </button> | |
| 1897 | + <div class="qna_answer"> | |
| 1898 | + <p class="answer_text">A.</p> | |
| 1899 | + <p class="answer_cont"> | |
| 1900 | + 문자온은 크롬, 엣지, 네이버 웨일 등의 웹브라우저에 최적화되어 있으며, 인터넷 익스플로러를 지원하지 않습니다.(마이크로소프트사 인터넷 익스플로러 서비스 종료)<br>만약 인터넷 익스플로러 이외의 브라우저 사용 중 장애 발생 시 문자온 고객센터(1551-8011)로 연락주시면 빠른 처리 도와드리겠습니다. | |
| 1901 | + </p> | |
| 1902 | + | |
| 1903 | + </div> | |
| 1904 | + </li> | |
| 1905 | + | |
| 1906 | + <li> | |
| 1907 | + <button type="button" onclick="qnaList(this)" title="닫힘"> | |
| 1908 | + <p class="question_text">Q.</p> | |
| 1909 | + <p> | |
| 1910 | + <span>[기타]</span> | |
| 1911 | + 투넘버 또는 투폰 이용 시 발신번호 등록이 가능한가요? | |
| 1912 | + </p> | |
| 1913 | + </button> | |
| 1914 | + <div class="qna_answer"> | |
| 1915 | + <p class="answer_text">A.</p> | |
| 1916 | + <p class="answer_cont"> | |
| 1917 | + 투넘버 및 투폰 번호의 경우 두 번째 번호는 가상의 번호인 관계로 이동통신사 및 가입 유형에 따라 본인 인증이 불가할 수 있습니다. 이 경우 고객님께서 가입하신 통신사를 통해 본인 인증 가능여부 확인 후 등록 신청을 진행해주시기 바랍니다. | |
| 1918 | + </p> | |
| 1919 | + | |
| 1920 | + </div> | |
| 1921 | + </li> | |
| 1922 | + | |
| 1923 | + <li> | |
| 1924 | + <button type="button" onclick="qnaList(this)" title="닫힘"> | |
| 1925 | + <p class="question_text">Q.</p> | |
| 1926 | + <p> | |
| 1927 | + <span>[기타]</span> | |
| 1928 | + 세금계산서 발행은 어디서 어떻게 신청하나요? | |
| 1929 | + </p> | |
| 1930 | + </button> | |
| 1931 | + <div class="qna_answer"> | |
| 1932 | + <p class="answer_text">A.</p> | |
| 1933 | + <p class="answer_cont"> | |
| 1934 | + 세금계산서는 즉시이체나 전용계좌를 통해 결제한 경우에만 발행되며, 문자온 사이트 상단 메뉴 중 [결제관리]→[요금 결제내역]→[결제수단/전용계좌 또는 즉시이체 선택]→[증빙서류 발행 신청] 버튼을 통해 신청 가능하며, 매주 수요일 일괄 발행됩니다.<br>세금계산서 자동 발행을 희망하는 경우, [결제관리]→[세금계산서 발행 등록] 메뉴를 통해 편리하게 이용하실 수 있습니다. | |
| 1935 | + </p> | |
| 1936 | + | |
| 1937 | + </div> | |
| 1938 | + </li> | |
| 1939 | + | |
| 1940 | + <li> | |
| 1941 | + <button type="button" onclick="qnaList(this)" title="닫힘"> | |
| 1942 | + <p class="question_text">Q.</p> | |
| 1943 | + <p> | |
| 1944 | + <span>[장문·단문·그림문자]</span> | |
| 1945 | + 문자 발송이 안되는데(발송결과 : 수신거부 등) 어떻게 해야 하나요? | |
| 1946 | + </p> | |
| 1947 | + </button> | |
| 1948 | + <div class="qna_answer"> | |
| 1949 | + <p class="answer_text">A.</p> | |
| 1950 | + <p class="answer_cont"> | |
| 1951 | + 문자온 문자 발송 결과가 “수신거부”로 나타나는 경우, 고객님의 휴대폰 번호가 '번호도용 문자 차단서비스'에 가입되어 있을 확률이 매우 높습니다. 먼저, 고객님의 휴대폰 가입 통신사(SKT, KT, LG 등)에 문의하시어 '번호도용 문자 차단서비스’ 해지 후 재발송하시면 정상 이용 가능합니다.<br>※ 이동통신사 번호도용 문자 차단서비스 : 웹에서 발송되는 스팸, 스미싱 문자 등에 내 번호가 회신번호로 악용되는 것을 방지해주는 서비스(서비스 해지 후 문자 정상 발송까지 3~7일 소요) | |
| 1952 | + </p> | |
| 1953 | + | |
| 1954 | + </div> | |
| 1955 | + </li> | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + </ul> | |
| 1959 | + </div> | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + <div class="layer_popup_cont"> | |
| 1964 | + 문자온은 인사, 홍보, 고객관리 목적의 대량문자 및 단체문자를 인터넷(웹)으로 발송하기 위한 최고의 문자사이트입니다. | |
| 1965 | + 대량/단체 문자 발송을 위한 [문자전송], [주소록관리], [맞춤제작], [문자샘플]등 다양한 기능을 사용해보세요. | |
| 1966 | + | |
| 1967 | + 문자온 인터넷 웹문자 단체문자 대량문자발송 사이트 | |
| 1968 | + 문자사이트, 대량문자, 단체문자, 문자발송, 문자전송, 인터넷문자, 단체문자사이트, 대량문자발송, 문자보내기, 단체문자발송 | |
| 1969 | + LMS문자,MMS문자,WEB발신,인터넷,컴퓨터로 문자메세지보내기,웹발신문자,문자서비스,대량문자전송,단체문자보내기 | |
| 1970 | + 문자온 | |
| 1971 | + LMS문자,MMS문자,WEB발신,인터넷,컴퓨터로 문자메세지보내기,웹발신문자,문자서비스,대량문자전송,단체문자보내기 | |
| 1972 | + | |
| 1973 | + Q. [결제] "첫결제 이벤트" 결제 후 잔액이 남아 있는데 문자 발송이 안되는 경우는 왜 그런건가요? | |
| 1974 | + 첫결제 이벤트 잔액이 남아 있더라도 1회 발송 문자수량 및 금액이 이벤트 잔액보다 큰 경우 문자가 발송되지 않으며, 이 경우 이벤트 잔액 이하의 금액으로 문자 수량을 조정해야 문자가 정상 발송됩니다. | |
| 1975 | + | |
| 1976 | + Q. [결제] 첫결제 이벤트 후 추가 결제를 진행하였는데 잔액 부족으로 문자 발송이 안되는 경우는 왜 그런건가요? | |
| 1977 | + 첫결제 이벤트 캐시가 남아 있는 경우에는 이벤트 캐시 전액 소진 후 추가결제에 따른 일반캐시 이용이 가능합니다. 이벤트 캐시 잔액만큼 문자를 선 발송하여 이벤트 캐시 전액 소진 후 자동 전환된 일반캐시를 사용하거나, 문자온 고객센터(1551-8011)로 문의주시면 즉시 처리 도와드리겠습니다. | |
| 1978 | + | |
| 1979 | + Q. [장문·단문·그림문자] 한 번 보낸 문자를 저장해서 계속 보낼 수 있나요? | |
| 1980 | + 문자온은 “내문자함” 기능을 제공하기 때문에 한 번 보낸 문자를 저장해서 계속 보낼 수 있습니다.문자전송 페이지에서 문자내용 작성 후 [문자저장] 버튼을 클릭하면 해당 문자가 [내문자함]에 보관되어 언제든지 자유롭게 재발송이 가능합니다. | |
| 1981 | + | |
| 1982 | + Q. [장문·단문·그림문자] 그림문자 발송 시 첨부 이미지 위치나 순서를 지정할 수 있나요? | |
| 1983 | + 그림문자 발송 시 텍스트 내용과 이미지의 노출 순서는 이동통신사 및 단말기의 설정에 따라 달라지기 때문에 임의적인 이미지 위치나 순서 지정이 불가합니다. | |
| 1984 | + | |
| 1985 | + Q. [장문·단문·그림문자] 그림문자 발송 시 정해진 용량이 있나요? | |
| 1986 | + 문자온 그림문자는 JPG, JPEG, PNG, GIF 파일 형식을 지원하며, 최대 10mb까지 발송 가능하나, 300kb에 최적화 되어 있기 때문에 300kb보다 용량이 크거나 이미지 내 텍스트가 많은 경우 해상도가 저하될 수 있습니다. 용량이 크거나 텍스트가 많은 이미지의 경우 반드시 사전 테스트 발송 후 대량 발송을 권장드립니다. | |
| 1987 | + | |
| 1988 | + Q. [기타] 위임장은 어떻게 작성하나요? | |
| 1989 | + 위임장 양식은 [마이페이지] → [발신번호 관리]에서 다운로드 가능하며 발신번호 명의자를 위임자, 문자온 이용자를 수임자(대리인)로 작성하여 제출해주시면 됩니다. | |
| 1990 | + | |
| 1991 | + Q. [기타] 문자온 이용 중 버튼이 안눌러지는 등 장애나 오류가 발생한 경우에는 어떻게 해야 하나요? | |
| 1992 | + 문자온은 크롬, 엣지, 네이버 웨일 등의 웹브라우저에 최적화되어 있으며, 인터넷 익스플로러를 지원하지 않습니다.(마이크로소프트사 인터넷 익스플로러 서비스 종료)만약 인터넷 익스플로러 이외의 브라우저 사용 중 장애 발생 시 문자온 고객센터(1551-8011)로 연락주시면 빠른 처리 도와드리겠습니다. | |
| 1993 | + | |
| 1994 | + Q. [기타] 투넘버 또는 투폰 이용 시 발신번호 등록이 가능한가요? | |
| 1995 | + 투넘버 및 투폰 번호의 경우 두 번째 번호는 가상의 번호인 관계로 이동통신사 및 가입 유형에 따라 본인 인증이 불가할 수 있습니다. 이 경우 고객님께서 가입하신 통신사를 통해 본인 인증 가능여부 확인 후 등록 신청을 진행해주시기 바랍니다. | |
| 1996 | + | |
| 1997 | + Q. [기타] 세금계산서 발행은 어디서 어떻게 신청하나요? | |
| 1998 | + 세금계산서는 즉시이체나 전용계좌를 통해 결제한 경우에만 발행되며, 문자온 사이트 상단 메뉴 중 [결제관리]→[요금 결제내역]→[결제수단/전용계좌 또는 즉시이체 선택]→[증빙서류 발행 신청] 버튼을 통해 신청 가능하며, 매주 수요일 일괄 발행됩니다.세금계산서 자동 발행을 희망하는 경우, [결제관리]→[세금계산서 발행 등록] 메뉴를 통해 편리하게 이용하실 수 있습니다. | |
| 1999 | + | |
| 2000 | + Q. [장문·단문·그림문자] 문자 발송이 안되는데(발송결과 : 수신거부 등) 어떻게 해야 하나요? | |
| 2001 | + 문자온 문자 발송 결과가 “수신거부”로 나타나는 경우, 고객님의 휴대폰 번호가 '번호도용 문자 차단서비스'에 가입되어 있을 확률이 매우 높습니다. 먼저, 고객님의 휴대폰 가입 통신사(SKT, KT, LG 등)에 문의하시어 '번호도용 문자 차단서비스’ 해지 후 재발송하시면 정상 이용 가능합니다.※ 이동통신사 번호도용 문자 차단서비스 : 웹에서 발송되는 스팸, 스미싱 문자 등에 내 번호가 회신번호로 악용되는 것을 방지해주는 서비스(서비스 해지 후 문자 정상 발송까지 3~7일 소요) | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + <!-- 내부링크 --> | |
| 2005 | + <!-- | |
| 2006 | + <a href="/web/mjon/msgdata/selectMsgDataView.do">문자전송·단문·장문·그림문자</a> | |
| 2007 | + <a href="/web/mjon/msgdata/excel/selectMsgExcelDataView.do">대량문자</a> | |
| 2008 | + <a href="/web/mjon/msgcampain/selectMsgDataView.do" rel="nosublink">선거문자·단문·장문·그림문자</a> | |
| 2009 | + <a href="/web/mjon/msgcampain/excel/selectMsgExcelDataView.do">단체문자</a> | |
| 2010 | + <a href="/web/mjon/custom/selectMsgCustomView.do" rel="nosublink">맞춤제작 샘플</a> | |
| 2011 | + <a href="/web/mjon/custom/selectMsgCustomView.do?tap=2" rel="nosublink">제작방법 및 이용안내 내보관함</a> | |
| 2012 | + <a href="/web/info/mjonInfo.do" rel="nosublink">문자온소개 서비스 소개 주요기능</a> | |
| 2013 | + <a href="/web/mjon/msgdata/selectBestMsgDataView.do" rel="nosublink">베스트문자샘플</a> | |
| 2014 | + <a href="/web/mjon/addr/selectAddrList.do" rel="nosublink">주소록관리</a> | |
| 2015 | + <a href="/web/mjon/addrBlock/selectBlockList.do" rel="nosublink">수신거부</a> | |
| 2016 | + <a href="/web/mjon/addr/addrMobGuide.do" rel="nosublink">폰주소록 등록</a> | |
| 2017 | + <a href="/web/mjon/addragency/selectAddrAgencyList.do" rel="nosublink">주소록 입력 대행(무료)</a> | |
| 2018 | + <a href="/web/mjon/msgsent/selectMsgSentView.do">발송결과</a> | |
| 2019 | + <a href="/web/mjon/reservmsg/selectReservMsgView.do">예약관리</a> | |
| 2020 | + <a href="/web/user/mberInfoIndex.do" rel="nosublink">마이페이지</a> | |
| 2021 | + <a href="/web/user/mberInfoChange.do" rel="nosublink">회원정보 변경</a> | |
| 2022 | + <a href="/web/user/passwordChange.do" rel="nosublink">비밀번호 변경</a> | |
| 2023 | + <a href="/web/user/sendNumberManage.do" rel="nosublink">발신번호 관리</a> | |
| 2024 | + <a href="/web/user/notifyManage.do" rel="nosublink">알림설정</a> | |
| 2025 | + <a href="/web/user/kisaReport.do" rel="nosublink">KISA 신고</a> | |
| 2026 | + <a href="/web/member/pay/PayList.do" rel="nosublink">결제관리</a> | |
| 2027 | + <a href="/web/pay/PayGuide.do" rel="nosublink">요금안내/견적내기</a> | |
| 2028 | + <a href="/web/member/pay/PayView.do" rel="nosublink">결제하기</a> | |
| 2029 | + <a href="/web/member/pay/PayList.do" rel="nosublink">요금 결제내역</a> | |
| 2030 | + <a href="/web/member/pay/PayUserList.do" rel="nosublink">요금 사용내역</a> | |
| 2031 | + <a href="/web/member/pay/BillPub.do" rel="nosublink">세금계산서 발행 등록</a> | |
| 2032 | + <a href="/web/cop/bbs/NoticeList.do" rel="nosublink">고객센터 공지사항</a> | |
| 2033 | + <a href="/web/cop/bbs/TermsList.do" rel="nosublink">이용약관</a> | |
| 2034 | + <a href="/web/cop/bbs/FaqList.do" rel="nosublink">자주하는 질문</a> | |
| 2035 | + <a href="/web/cop/bbs/QnaList.do" rel="nosublink">1:1 문의</a> | |
| 2036 | + <a href="/web/cop/bbs/SuggestList.do" rel="nosublink">불편신고</a> | |
| 2037 | + <a href="/web/cop/bbs/EventList.do" rel="nosublink">이벤트</a> | |
| 2038 | + --> | |
| 2039 | + | |
| 2040 | + | |
| 2041 | + <!-- 외부링크 --> | |
| 2042 | + <a href="https://www.google.co.kr/" rel="nosublink">구글</a> | |
| 2043 | + <a href="https://www.google.co.kr/search?q=%EB%AC%B8%EC%9E%90%EC%98%A8&sxsrf=APwXEdcKx6ujuAV6jyCUTBrIn-tCYHBIEg%3A1679645122629&source=hp&ei=wlkdZIW-JMKJoAS82JeQBw&iflsig=AOEireoAAAAAZB1n0nBH7Hs1UsVMhCB8aZOF0JxFsb5X&ved=0ahUKEwiFp4bXjfT9AhXCBIgKHTzsBXIQ4dUDCAo&uact=5&oq=%EB%AC%B8%EC%9E%90%EC%98%A8&gs_lcp=Cgdnd3Mtd2l6EAMyBAgjECcyBQgAEIAEOgsIABCABBCxAxCDAToRCC4QgAQQsQMQgwEQxwEQ0QM6CAgAEIAEELEDOg0ILhCABBDHARDRAxAKOgcIABCABBAKOggILhCABBCxAzoFCC4QgAQ6CwguEIAEELEDEIMBOhEILhCABBCxAxCDARDHARCvAToLCC4QgAQQxwEQrwE6BAguEAM6BAgAEAM6BwgjEOoCECc6CgguEK8BEMcBECdQAFj7E2CSFWgGcAB4A4ABqQGIAYULkgEDNS45mAEAoAEBsAEK&sclient=gws-wiz" rel="nosublink">구글_문자온</a> | |
| 2044 | + <a href="https://www.naver.com/" rel="nosublink">네이버</a> | |
| 2045 | + <a href="https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%AC%B8%EC%9E%90%EC%98%A8" rel="nosublink">네이버_문자온</a> | |
| 2046 | + <a href="httsp://www.daum.net/" rel="nosublink">다음</a> | |
| 2047 | + <a href="https://search.daum.net/search?w=tot&DA=YZR&t__nil_searchbox=btn&sug=&sugo=&sq=&o=&q=%EB%AC%B8%EC%9E%90%EC%98%A8" rel="nosublink">다음_문자온</a> | |
| 2048 | + | |
| 2049 | + <!-- | |
| 2050 | + <a href="https://www.youtube.com/" rel="nosublink">유튜브</a> | |
| 2051 | + | |
| 2052 | + <a href="https://www.facebook.com/" rel="nosublink">페이스북</a> | |
| 2053 | + <a href="https://www.amazon.com/" rel="nosublink">아마존</a> | |
| 2054 | + <a href="https://www.instagram.com/" rel="nosublink">인스타그램</a> | |
| 2055 | + <a href="https://ko.wikipedia.org/wiki/%EC%9C%84%ED%82%A4%EB%B0%B1%EA%B3%BC:%EB%8C%80%EB%AC%B8" rel="nosublink">위키</a> | |
| 2056 | + <a href="https://www.microsoft.com/ko-kr/" rel="nosublink">마이크로소프트</a> | |
| 2057 | + <a href="https://twitter.com/" rel="nosublink">트위터</a> | |
| 2058 | + --> | |
| 2059 | + | |
| 2060 | + | |
| 2061 | + </div> | |
| 2062 | + | |
| 2063 | +</div> | |
| 2064 | + | |
| 2065 | +<form name="searchForm" id="searchForm"> | |
| 2066 | + <input type="hidden" name="bbsId" value=""> | |
| 2067 | + <input type="hidden" name="nttId" value="0" /> | |
| 2068 | + <input type="hidden" name="seCmmnCdId" value="" /> | |
| 2069 | + <input type="hidden" name="frstRegisterId" value=""/> | |
| 2070 | + <input type="hidden" name="viewsYn" value=""> | |
| 2071 | + <input type="hidden" name="menuNo" value=""> | |
| 2072 | + <input type="hidden" name="searchBgnDe" value=""> | |
| 2073 | + <input type="hidden" name="searchEndDe" value=""> | |
| 2074 | + <input type="hidden" name="pageIndex" value="1"> | |
| 2075 | + <input type="hidden" name="searchSortCnd" value="" /> | |
| 2076 | + <input type="hidden" name="searchSortOrd" value="" /> | |
| 2077 | + <input type="hidden" name="searchCnd" value="" /> | |
| 2078 | + <input type="hidden" name="searchWrd" value="" /> | |
| 2079 | + <input type="hidden" name="pageUnit" value="10" /> | |
| 2080 | +</form> | |
| 2081 | + |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?