diff --git a/.classpath b/.classpath index 14ae952..717c1fa 100644 --- a/.classpath +++ b/.classpath @@ -1,9 +1,10 @@ - + - - + + + @@ -12,11 +13,10 @@ - + - - - + + diff --git a/.gitignore b/.gitignore index a3b1a09..3dae940 100644 --- a/.gitignore +++ b/.gitignore @@ -54,4 +54,10 @@ Thumbs.db # gradle-wrapper.jar를 제외 목록에서 제거하거나 # 다음 라인을 추가하여 명시적으로 포함 -!gradle/wrapper/gradle-wrapper.jar \ No newline at end of file +!gradle/wrapper/gradle-wrapper.jar +.classpath +.settings/org.eclipse.buildship.core.prefs +.settings/org.eclipse.jdt.core.prefs +.settings/org.eclipse.jdt.core.prefs +.settings/org.eclipse.buildship.core.prefs +.classpath diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs index a6350f0..7b8f972 100644 --- a/.settings/org.eclipse.buildship.core.prefs +++ b/.settings/org.eclipse.buildship.core.prefs @@ -1,13 +1,13 @@ -arguments=--init-script C\:\\Users\\bd091\\AppData\\Roaming\\Antigravity\\User\\globalStorage\\redhat.java\\1.50.0\\config_win\\org.eclipse.osgi\\58\\0\\.cp\\gradle\\init\\init.gradle --init-script C\:\\Users\\bd091\\AppData\\Roaming\\Antigravity\\User\\globalStorage\\redhat.java\\1.50.0\\config_win\\org.eclipse.osgi\\58\\0\\.cp\\gradle\\protobuf\\init.gradle +arguments= auto.sync=false build.scans.enabled=false connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER) connection.project.dir= eclipse.preferences.version=1 gradle.user.home= -java.home=C\:/Program Files/Java/jdk-21 +java.home= jvm.arguments= offline.mode=false -override.workspace.settings=true -show.console.view=true -show.executions.view=true +override.workspace.settings=false +show.console.view=false +show.executions.view=false diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index bcf33c3..30a04fc 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,11 +1,15 @@ eclipse.preferences.version=1 +org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=ignore org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore org.eclipse.jdt.core.compiler.annotation.nonnull=javax.annotation.Nonnull org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=javax.annotation.ParametersAreNonnullByDefault org.eclipse.jdt.core.compiler.annotation.nullable=javax.annotation.Nullable org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.compliance=21 org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning org.eclipse.jdt.core.compiler.problem.nullReference=warning org.eclipse.jdt.core.compiler.problem.nullSpecViolation=warning org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/.vscode/launch.json b/.vscode/launch.json index 5bfae59..77e348a 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -9,6 +9,16 @@ "projectName": "madeu", "args": "", "envFile": "${workspaceFolder}/.env" + }, + { + "type": "java", + "name": "Spring Boot-MadeuApplication", + "request": "launch", + "cwd": "${workspaceFolder}", + "mainClass": "com.madeu.MadeuApplication", + "projectName": "madeu_crm", + "args": "", + "envFile": "${workspaceFolder}/.env" } ] } \ No newline at end of file diff --git a/src/main/java/com/madeu/crm/contentsBbs/ctrl/ContentsBbsController.java b/src/main/java/com/madeu/crm/contentsBbs/ctrl/ContentsBbsController.java index 8d849b5..518ca1d 100644 --- a/src/main/java/com/madeu/crm/contentsBbs/ctrl/ContentsBbsController.java +++ b/src/main/java/com/madeu/crm/contentsBbs/ctrl/ContentsBbsController.java @@ -39,17 +39,17 @@ public class ContentsBbsController extends ManagerDraftAction { * @return */ @PostMapping("/contentsBbs/moveContentsBbsList.do") - public String moveContentsBbsList(HttpSession session, HttpServletRequest request, HttpServletResponse response, Model model) { + public String moveContentsBbsList(HttpSession session, HttpServletRequest request, HttpServletResponse response, + Model model) { log.debug("WebTreatmentPetitController selectListWebTreatmentPetitIntro START"); HashMap paramMap = HttpUtil.getParameterMap(request); HashMap map = new HashMap(); - try{ - if(!webCheckLogin(session)){ + try { + if (!webCheckLogin(session)) { return "/web/login/logout"; - } - else { + } else { paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId"))); map = contentsBbsService.selectListWebTreatmentPetitIntro(paramMap); @@ -59,17 +59,15 @@ public class ContentsBbsController extends ManagerDraftAction { model.addAttribute("deleteUseYn", map.get("deleteUseYn")); model.addAttribute("downloadUseYn", map.get("downloadUseYn")); } - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); return "/web/login/logout"; } log.debug("WebTreatmentPetitController selectListWebTreatmentPetitIntro END"); - - + model.addAttribute("categoryDivCd", getMenuToCdTitle(paramMap.get("menuClass")).get("cd")); model.addAttribute("title", getMenuToCdTitle(paramMap.get("menuClass")).get("title")); - + return "/web/contentsBbs/ContentsBbsSelectList"; } @@ -81,33 +79,30 @@ public class ContentsBbsController extends ManagerDraftAction { * @return */ @PostMapping("/contentsBbs/getContentsBbsList.do") - public ModelAndView getContentsBbsList(HttpSession session, HttpServletRequest request, HttpServletResponse response) { + public ModelAndView getContentsBbsList(HttpSession session, HttpServletRequest request, + HttpServletResponse response) { HashMap paramMap = HttpUtil.getParameterMap(request); HashMap map = new HashMap(); - try{ - if(!webCheckLogin(session)){ + try { + if (!webCheckLogin(session)) { return null; - } - else{ + } else { paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId"))); map = contentsBbsService.getContentsBbsList(paramMap); } - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); return null; - } - finally { - if(Constants.OK == map.get("msgCode")) { + } finally { + if (Constants.OK == map.get("msgCode")) { - } - else{ + } else { map.put("msgCode", Constants.FAIL); map.put("success", false); - if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { - map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다."); + if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { + map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다."); } } } @@ -123,41 +118,37 @@ public class ContentsBbsController extends ManagerDraftAction { * @return */ @PostMapping("/contentsBbs/getContentsBbs.do") - public ModelAndView getContentsBbs(HttpSession session,HttpServletRequest request, HttpServletResponse response) { + public ModelAndView getContentsBbs(HttpSession session, HttpServletRequest request, HttpServletResponse response) { log.debug("WebTreatmentPetitController selectWebTreatmentPetit START"); HashMap paramMap = HttpUtil.getParameterMap(request); HashMap map = new HashMap(); - try{ - if(!webCheckLogin(session)){ + try { + if (!webCheckLogin(session)) { return null; - } - else{ + } else { paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId"))); map = contentsBbsService.getContentsBbs(paramMap); } - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); return null; - } - finally { - if(Constants.OK == map.get("msgCode")) { + } finally { + if (Constants.OK == map.get("msgCode")) { - } - else{ + } else { map.put("msgCode", Constants.FAIL); map.put("success", false); - if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { - map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다."); + if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { + map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다."); } } } log.debug("WebTreatmentPetitController selectWebTreatmentPetit END"); return HttpUtil.makeHashToJsonModelAndView(map); } - + /** * 홈페이지 등록 화면으로 이동. * @@ -166,17 +157,17 @@ public class ContentsBbsController extends ManagerDraftAction { * @return */ @PostMapping("/contentsBbs/moveRegContentsBbs.do") - public String moveRegContentsBbs(HttpSession session, HttpServletRequest request, HttpServletResponse response, Model model) { + public String moveRegContentsBbs(HttpSession session, HttpServletRequest request, HttpServletResponse response, + Model model) { log.debug("ContentsBbsController moveRegContentsBbs START"); HashMap paramMap = HttpUtil.getParameterMap(request); HashMap map = new HashMap(); - try{ - if(!webCheckLogin(session)){ + try { + if (!webCheckLogin(session)) { return "/web/login/logout"; - } - else { + } else { paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId"))); map = contentsBbsService.insertWebTreatmentPetitIntro(paramMap); @@ -187,15 +178,14 @@ public class ContentsBbsController extends ManagerDraftAction { model.addAttribute("downloadUseYn", map.get("downloadUseYn")); model.addAttribute("categorylist", map.get("categorylist")); } - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); return "/web/login/logout"; } log.debug("ContentsBbsController moveRegContentsBbs END"); - + model.addAttribute("title", getMenuToCdTitle(paramMap.get("menuClass")).get("title")); - + return "/web/contentsBbs/ContentsBbsReg"; } @@ -206,8 +196,10 @@ public class ContentsBbsController extends ManagerDraftAction { * @param response * @return */ - @PostMapping(value="/contentsBbs/putContentsBbs.do") - public ModelAndView putContentsBbs(HttpSession session,HttpServletRequest request, HttpServletResponse response,@RequestParam(value = "file", required = false) MultipartFile file,@RequestParam(value = "content_file", required = false) MultipartFile content_file) { + @PostMapping(value = "/contentsBbs/putContentsBbs.do") + public ModelAndView putContentsBbs(HttpSession session, HttpServletRequest request, HttpServletResponse response, + @RequestParam(value = "file", required = false) MultipartFile file, + @RequestParam(value = "content_file", required = false) MultipartFile content_file) { log.debug("ContentsBbsController putContentsBbs START"); HashMap paramMap = HttpUtil.getParameterMap(request); @@ -215,30 +207,26 @@ public class ContentsBbsController extends ManagerDraftAction { StringBuffer errorMsg = new StringBuffer(); - try{ - if(!webCheckLogin(session)){ + try { + if (!webCheckLogin(session)) { return null; - } - else{ + } else { paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId"))); paramMap.put("regId", String.valueOf(session.getAttribute("loginMemberId"))); paramMap.put("modId", String.valueOf(session.getAttribute("loginMemberId"))); - map = contentsBbsService.putContentsBbs(paramMap,file,content_file); + map = contentsBbsService.putContentsBbs(paramMap, file, content_file); } - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); errorMsg.append(e); - } - finally { - if(Constants.OK == map.get("msgCode")) { + } finally { + if (Constants.OK == map.get("msgCode")) { - } - else{ + } else { map.put("msgCode", Constants.FAIL); map.put("success", false); - if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { - map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다."); + if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { + map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다."); } } @@ -254,18 +242,17 @@ public class ContentsBbsController extends ManagerDraftAction { insertMap.put("requestValue", String.valueOf(paramMap)); insertMap.put("responseValue", String.valueOf(map)); insertMap.put("tId", map.get("tId")); - if((String.valueOf(errorMsg)).equals("") || (String.valueOf(errorMsg) == null) || String.valueOf(errorMsg).length() == 0){ + if ((String.valueOf(errorMsg)).equals("") || (String.valueOf(errorMsg) == null) + || String.valueOf(errorMsg).length() == 0) { insertMap.put("resultCode", "SUCCESS"); - } - else{ + } else { insertMap.put("resultCode", "ERROR"); } insertMap.put("resultMsg", String.valueOf(errorMsg)); insertMap.put("muMemberId", paramMap.get("loginMemberId")); webLogHistoryService.insertLogHistory(insertMap, visitLogParamMap); - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); } } @@ -280,18 +267,18 @@ public class ContentsBbsController extends ManagerDraftAction { * @param response * @return */ - @PostMapping(value="/contentsBbs/moveContentsBbs.do") - public String moveContentsBbs(HttpSession session, HttpServletRequest request, HttpServletResponse response, Model model) { + @PostMapping(value = "/contentsBbs/moveContentsBbs.do") + public String moveContentsBbs(HttpSession session, HttpServletRequest request, HttpServletResponse response, + Model model) { log.debug("ContentsBbsController moveContentsBbs START"); HashMap paramMap = HttpUtil.getParameterMap(request); HashMap map = new HashMap(); - try{ - if(!webCheckLogin(session)){ + try { + if (!webCheckLogin(session)) { return "/web/login/logout"; - } - else { + } else { paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId"))); map = contentsBbsService.moveContentsBbs(paramMap); @@ -303,14 +290,13 @@ public class ContentsBbsController extends ManagerDraftAction { model.addAttribute("categoryDivCd", paramMap.get("categoryDivCd")); model.addAttribute("category", map.get("category")); } - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); return "/web/login/logout"; } - + model.addAttribute("title", getMenuToCdTitle(paramMap.get("menuClass")).get("title")); - + log.debug("ContentsBbsController moveContentsBbs END"); return "/web/contentsBbs/ContentsBbsUpd"; } @@ -322,8 +308,10 @@ public class ContentsBbsController extends ManagerDraftAction { * @param response * @return */ - @PostMapping(value="/contentsBbs/modContentsBbs.do") - public ModelAndView modContentsBbs(HttpSession session,HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "file", required = false) MultipartFile file, @RequestParam(value = "content_file", required = false) MultipartFile content_file) { + @PostMapping(value = "/contentsBbs/modContentsBbs.do") + public ModelAndView modContentsBbs(HttpSession session, HttpServletRequest request, HttpServletResponse response, + @RequestParam(value = "file", required = false) MultipartFile file, + @RequestParam(value = "content_file", required = false) MultipartFile content_file) { log.debug("WebTreatmentPetitController updateWebTreatmentPetit START"); HashMap paramMap = HttpUtil.getParameterMap(request); @@ -331,30 +319,26 @@ public class ContentsBbsController extends ManagerDraftAction { StringBuffer errorMsg = new StringBuffer(); - try{ - if(!webCheckLogin(session)){ + try { + if (!webCheckLogin(session)) { return null; - } - else{ + } else { paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId"))); paramMap.put("regId", String.valueOf(session.getAttribute("loginMemberId"))); paramMap.put("modId", String.valueOf(session.getAttribute("loginMemberId"))); - map = contentsBbsService.modContentsBbs(paramMap, file, content_file ); + map = contentsBbsService.modContentsBbs(paramMap, file, content_file); } - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); errorMsg.append(e); - } - finally { - if(Constants.OK == map.get("msgCode")) { + } finally { + if (Constants.OK == map.get("msgCode")) { - } - else{ + } else { map.put("msgCode", Constants.FAIL); map.put("success", false); - if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { - map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다."); + if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { + map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다."); } } @@ -370,18 +354,17 @@ public class ContentsBbsController extends ManagerDraftAction { insertMap.put("requestValue", String.valueOf(paramMap)); insertMap.put("responseValue", String.valueOf(map)); insertMap.put("tId", map.get("tId")); - if((String.valueOf(errorMsg)).equals("") || (String.valueOf(errorMsg) == null) || String.valueOf(errorMsg).length() == 0){ + if ((String.valueOf(errorMsg)).equals("") || (String.valueOf(errorMsg) == null) + || String.valueOf(errorMsg).length() == 0) { insertMap.put("resultCode", "SUCCESS"); - } - else{ + } else { insertMap.put("resultCode", "ERROR"); } insertMap.put("resultMsg", String.valueOf(errorMsg)); insertMap.put("muMemberId", paramMap.get("loginMemberId")); webLogHistoryService.insertLogHistory(insertMap, visitLogParamMap); - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); } } @@ -389,7 +372,6 @@ public class ContentsBbsController extends ManagerDraftAction { return HttpUtil.makeHashToJsonModelAndView(map); } - /** * 홈페이지 시술예약(쁘띠) 정보 삭제 * @@ -397,41 +379,36 @@ public class ContentsBbsController extends ManagerDraftAction { * @param response * @return */ - @PostMapping(value="/contentsBbs/delContentsBbs.do") - public ModelAndView delContentsBbs(@RequestBody HashMap paramMap, HttpSession session, HttpServletRequest request, HttpServletResponse response) { + @PostMapping(value = "/contentsBbs/delContentsBbs.do") + public ModelAndView delContentsBbs(@RequestBody HashMap paramMap, HttpSession session, + HttpServletRequest request, HttpServletResponse response) { log.debug("WebTreatmentPetitController deleteWebTreatmentPetit START"); - //HashMap paramMap = HttpUtil.getParameterMap(request); + // HashMap paramMap = HttpUtil.getParameterMap(request); HashMap map = new HashMap(); StringBuffer errorMsg = new StringBuffer(); - - - - try{ - if(!webCheckLogin(session)){ + + try { + if (!webCheckLogin(session)) { return null; - } - else{ + } else { paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId"))); paramMap.put("regId", String.valueOf(session.getAttribute("loginMemberId"))); paramMap.put("modId", String.valueOf(session.getAttribute("loginMemberId"))); map = contentsBbsService.delContentsBbs(paramMap); } - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); errorMsg.append(e); - } - finally { - if(Constants.OK == map.get("msgCode")) { + } finally { + if (Constants.OK == map.get("msgCode")) { - } - else{ + } else { map.put("msgCode", Constants.FAIL); map.put("success", false); - if(null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { - map.put("msgDesc","정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다."); + if (null == map.get("msgDesc") || ("").equals(map.get("msgDesc"))) { + map.put("msgDesc", "정상적으로 수행되지 않았습니다. 관리자에게 문의하시기 바랍니다."); } } @@ -447,34 +424,35 @@ public class ContentsBbsController extends ManagerDraftAction { insertMap.put("requestValue", String.valueOf(paramMap)); insertMap.put("responseValue", String.valueOf(map)); insertMap.put("tId", map.get("tId")); - if((String.valueOf(errorMsg)).equals("") || (String.valueOf(errorMsg) == null) || String.valueOf(errorMsg).length() == 0){ + if ((String.valueOf(errorMsg)).equals("") || (String.valueOf(errorMsg) == null) + || String.valueOf(errorMsg).length() == 0) { insertMap.put("resultCode", "SUCCESS"); - } - else{ + } else { insertMap.put("resultCode", "ERROR"); } insertMap.put("resultMsg", String.valueOf(errorMsg)); insertMap.put("muMemberId", paramMap.get("loginMemberId")); webLogHistoryService.insertLogHistory(insertMap, visitLogParamMap); - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); } } log.debug("WebTreatmentPetitController deleteWebTreatmentPetit END"); return HttpUtil.makeHashToJsonModelAndView(map); } - + /** * 시술 정보 리스트 조회 (option) * 시술등록 팝업 + * * @param request * @param response * @return */ - //@RequestMapping(value = "/webtreatmentpetit/selectListTreatmentOption.do") - public ModelAndView selectListTreatmentOption(HttpSession session, HttpServletRequest request, HttpServletResponse response) { + // @RequestMapping(value = "/webtreatmentpetit/selectListTreatmentOption.do") + public ModelAndView selectListTreatmentOption(HttpSession session, HttpServletRequest request, + HttpServletResponse response) { log.debug("WebTreatmentPetitController selectListTreatmentOption START"); HashMap paramMap = HttpUtil.getParameterMap(request); @@ -487,8 +465,7 @@ public class ContentsBbsController extends ManagerDraftAction { paramMap.put("loginMemberId", String.valueOf(session.getAttribute("loginMemberId"))); map = contentsBbsService.selectListTreatmentOption(paramMap); } - } - catch (Exception e) { + } catch (Exception e) { e.printStackTrace(); return null; } finally { @@ -505,35 +482,44 @@ public class ContentsBbsController extends ManagerDraftAction { log.debug("WebTreatmentPetitController selectListTreatmentOption END"); return HttpUtil.makeHashToJsonModelAndView(map); } - + private HashMap getMenuToCdTitle(Object obj) { - HashMap map = new HashMap(); - String cd = ""; + HashMap map = new HashMap(); + String cd = ""; String title = ""; - if( "100101".equals(obj) ) { - cd = "01"; - title = "시술예약(다이어트)"; - } else if( "100102".equals(obj) ) { - cd = "02"; - title = "이벤트(다이어트)"; - } else if( "100201".equals(obj) ) { - cd = "03"; - title = "시술예약(쁘띠)"; - } else if( "100202".equals(obj) ){ - cd = "04"; - title = "이벤트(쁘띠)"; + if ("100101".equals(obj)) { + cd = "01"; + title = "시술예약(다이어트)"; + } else if ("100102".equals(obj)) { + cd = "02"; + title = "이벤트(다이어트)"; + } else if ("100201".equals(obj)) { + cd = "03"; + title = "시술예약(쁘띠)"; + } else if ("100202".equals(obj)) { + cd = "04"; + title = "이벤트(쁘띠)"; } else { - cd = "01"; - title = "시술예약(다이어트)"; + cd = "01"; + title = "시술예약(다이어트)"; } - + map.put("cd", cd); map.put("title", title); - return map; - + return map; + + } + + /** + * 미리보기 화면으로 이동 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/contentsBbs/contentsBbsPreview.do") + public String contentsBbsPreview(HttpSession session, HttpServletRequest request, HttpServletResponse response, + Model model) { + return "/web/contentsBbs/ContentsBbsPreview"; } - - } - - diff --git a/src/main/resources/mappers/WebTreatmentDietSqlMap.xml b/src/main/resources/mappers/WebTreatmentDietSqlMap.xml index 5d50911..4ccce61 100644 --- a/src/main/resources/mappers/WebTreatmentDietSqlMap.xml +++ b/src/main/resources/mappers/WebTreatmentDietSqlMap.xml @@ -332,7 +332,7 @@ ,MTP.MU_TREATMENT_PROCEDURE_ID AS "treatmentProcedureId" ,MTP.MU_TREATMENT_ID AS "treatmentId" ,MTP.TREATMENT_PROCEDURE_NAME AS "treatmentNm" - ,MTPP.PRICE AS "price" + ,(MTPP.PRICE + MTPP.VAT) AS "price" ,IFNULL(MTPP.DISCOUNT_PRICE, 0) AS "discountPrice" FROM MU_TREATMENT_PROCEDURE AS MTP LEFT OUTER JOIN MU_TREATMENT_PROCEDURE_PRICE MTPP ON MTP.MU_TREATMENT_PROCEDURE_ID = MTPP.MU_TREATMENT_PROCEDURE_ID diff --git a/src/main/resources/mappers/crm/contentsBbs/ContentsBbsSql.xml b/src/main/resources/mappers/crm/contentsBbs/ContentsBbsSql.xml index 4de462a..7170367 100644 --- a/src/main/resources/mappers/crm/contentsBbs/ContentsBbsSql.xml +++ b/src/main/resources/mappers/crm/contentsBbs/ContentsBbsSql.xml @@ -103,7 +103,7 @@ ,HCBP.MU_TREATMENT_ID ,HCBP.MU_TREATMENT_PROCEDURE_ID ,MTP.TREATMENT_PROCEDURE_NAME - ,MTPP.PRICE + ,MTPP.PRICE + MTPP.VAT as PRICE ,IFNULL(MTPP.DISCOUNT_PRICE, 0) as DISCOUNT_PRICE FROM HP_CONTENTS_BBS_PROCEDURE AS HCBP LEFT OUTER JOIN MU_TREATMENT_PROCEDURE MTP ON HCBP.MU_TREATMENT_ID = MTP.MU_TREATMENT_ID AND HCBP.MU_TREATMENT_PROCEDURE_ID = MTP.MU_TREATMENT_PROCEDURE_ID diff --git a/src/main/resources/static/css/web/ContentsBbsReg.css b/src/main/resources/static/css/web/ContentsBbsReg.css index 20cb861..1af56b1 100644 --- a/src/main/resources/static/css/web/ContentsBbsReg.css +++ b/src/main/resources/static/css/web/ContentsBbsReg.css @@ -1,37 +1,170 @@ -.project_wrap {width:100%; min-width:1080px; margin:0 auto;} +.project_wrap { + width: 100%; + min-width: 1080px; + margin: 0 auto; +} /*오른쪽영역*/ -.project_wrap .content_section {margin-top:50px; width:100%; min-width:1080px; display:table;} -.project_wrap .content_section .hospital_wrap {width: calc(100% - 72px); min-width:calc(1080px - 72px); height:calc(100vh - 50px); float:left; position:relative;} +.project_wrap .content_section { + margin-top: 50px; + width: 100%; + min-width: 1080px; + display: table; +} + +.project_wrap .content_section .hospital_wrap { + width: calc(100% - 72px); + min-width: calc(1080px - 72px); + height: calc(100vh - 50px); + float: left; + position: relative; +} /* 왼쪽_메뉴 영역 */ -.project_wrap .content_section .hospital_wrap .left_box {position:absolute; width:240px; height:calc(100vh - 50px); overflow:auto; padding:10px 20px;} -.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list {width:100%;} -.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list .title_menu {width:100%; height:auto; margin:20px 0 10px 0; padding:0; font-size:14px; font-weight:700;} -.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list .title_menu.first {margin-top:0;} -.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list a {width:100%; height:100%; display:block; margin-bottom:8px; padding:8px; font-size:14px; text-align:left; border-radius:5px;} -.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list a.on {background:#3985EA; border:none;} -.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li {width:100%; height:36px; margin-bottom:8px;} -.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li a.on {color:#fff;} +.project_wrap .content_section .hospital_wrap .left_box { + position: absolute; + width: 240px; + height: calc(100vh - 50px); + overflow: auto; + padding: 10px 20px; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list { + width: 100%; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list .title_menu { + width: 100%; + height: auto; + margin: 20px 0 10px 0; + padding: 0; + font-size: 14px; + font-weight: 700; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list .title_menu.first { + margin-top: 0; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list a { + width: 100%; + height: 100%; + display: block; + margin-bottom: 8px; + padding: 8px; + font-size: 14px; + text-align: left; + border-radius: 5px; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list a.on { + background: #3985EA; + border: none; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li { + width: 100%; + height: 36px; + margin-bottom: 8px; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li a.on { + color: #fff; +} /* 센터쪽 */ -.project_wrap .content_section .hospital_wrap .center_box {width:calc(100% - 240px); height:calc(100vh - 50px); position:absolute; left:240px; padding:10px 10px 10px 0;} -.project_wrap .content_section .hospital_wrap .center_box .page_title {min-width:90px; padding-left:10px; font-size:18px; font-weight:700; line-height:50px; float:left;} -.consultation-info input { width:80%; height:36px; padding:0 10px; border:1px solid #E9ECF0; border-radius:5px;} -.consultation-info input input::placeholder {color:#B5BDC4;} -.consultation-info label {padding-left: 10px;} -.consultation-info input[type="checkbox"] {width: 15px; height:15px; padding:0 10px; border:1px solid #E9ECF0; border-radius:5px;} -.consultation-info input[type="checkbox"] input::placeholder {color:#B5BDC4;} -.consultation-info select {width:80%; height:36px; padding:0 10px; border:1px solid #E9ECF0; border-radius:5px;} -.consultation-info textarea { width:80%; padding:10px; border:1px solid #E9ECF0; border-radius:5px; resize:none; } -.consultation-info textarea::placeholder {color:#B5BDC4;} -.wp60 input { width:80%; height:36px; padding:0 10px; border:1px solid #E9ECF0; border-radius:5px;} -.wp60 input input::placeholder {color:#B5BDC4;} -.wp60 textarea { width:80%; padding:10px; border:1px solid #E9ECF0; border-radius:5px; resize:none; } -.wp60 textarea::placeholder {color:#B5BDC4;} -.content{ - width: 100%; +.project_wrap .content_section .hospital_wrap .center_box { + width: calc(100% - 240px); + height: calc(100vh - 50px); + position: absolute; + left: 240px; + padding: 10px 10px 10px 0; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_title { + min-width: 90px; + padding-left: 10px; + font-size: 18px; + font-weight: 700; + line-height: 50px; + float: left; +} + +.consultation-info input { + width: 80%; + height: 36px; + padding: 0 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; +} + +.consultation-info input input::placeholder { + color: #B5BDC4; +} + +.consultation-info label { + padding-left: 10px; +} + +.consultation-info input[type="checkbox"] { + width: 15px; + height: 15px; + padding: 0 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; +} + +.consultation-info input[type="checkbox"] input::placeholder { + color: #B5BDC4; +} + +.consultation-info select { + width: 80%; + height: 36px; + padding: 0 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; +} + +.consultation-info textarea { + width: 80%; + padding: 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; + resize: none; +} + +.consultation-info textarea::placeholder { + color: #B5BDC4; +} + +.wp60 input { + width: 80%; + height: 36px; + padding: 0 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; +} + +.wp60 input input::placeholder { + color: #B5BDC4; +} + +.wp60 textarea { + width: 80%; + padding: 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; + resize: none; +} + +.wp60 textarea::placeholder { + color: #B5BDC4; +} + +.content { + width: 100%; height: 100%; padding: 20px; border: solid 1px #E9ECF0; @@ -40,32 +173,52 @@ background: #fff; float: left; } + /* content_box */ -.project_wrap .content_section .hospital_wrap .center_box .content_box { width:100%; height:calc(100% - 50px); padding-top:20px; display:table; } -.add_btn{ - width:24px; - height:24px; - padding-left: 0px; +.project_wrap .content_section .hospital_wrap .center_box .content_box { + width: 100%; + height: calc(100% - 50px); + padding-top: 20px; + display: table; +} + +.add_btn { + width: 24px; + height: 24px; + padding-left: 0px; padding-right: 0px; padding-top: 0px; margin-top: 0px; - line-height:0px !important; + line-height: 0px !important; } -.ml50{ - margin-left:50%; + +.ml50 { + margin-left: 50%; } -.button_box button { width:70px; font-size:12px; height:32px; border-radius: 16px;} -.button_box button.cancel_btn {background: #F8FBFF;} + +.button_box button { + width: 70px; + font-size: 12px; + height: 32px; + border-radius: 16px; +} + +.button_box button.cancel_btn { + background: #F8FBFF; +} + .button_box button.registration_btn { - margin-left: 10px; + margin-left: 10px; color: #fff; background: #3985EA; } + .button_box { - width:100%; - margin-top: 30px; - margin-left:56%; + width: 100%; + margin-top: 30px; + margin-left: 56%; } + .fix_area { min-width: 1200px; width: 1200px; @@ -74,10 +227,10 @@ } .btn-basic { - width:120px; - height:40px; + width: 120px; + height: 40px; border: 1px solid #a73439; - border-radius:5px; + border-radius: 5px; background-color: white; color: #a73439; } @@ -92,12 +245,12 @@ } -.clear > .right { +.clear>.right { float: right; } -.clear > .left{ - float:left; +.clear>.left { + float: left; } .main-img-size { @@ -108,6 +261,7 @@ border-radius: 0.25rem; text-align: center; } + .img_center img { position: absolute; top: 50%; @@ -122,7 +276,7 @@ padding-top: 15px; } -.thumbnail-bottom-txt > span { +.thumbnail-bottom-txt>span { display: block; color: #6c696a; font-size: 13.5px; @@ -131,15 +285,17 @@ .content>.wp60 { width: 60%; } + .content>.wp40 { width: 40%; } -.wp10{ - width:10%; +.wp10 { + width: 10%; } -.wp90{ - width:90%; + +.wp90 { + width: 90%; } @@ -147,12 +303,13 @@ float: left; } -.consultation-info h2{ - font-size: 4rem; +.consultation-info h2 { + font-size: 4rem; } -.consultation-info p{ - margin-top: 2rem; - font-size:2rem; + +.consultation-info p { + margin-top: 2rem; + font-size: 2rem; } @@ -162,30 +319,31 @@ margin-top: 3rem; margin-bottom: 1rem; } + .price-area .border-line { height: 1px; background-color: #ddd; } -.hashtag_list{ - padding: 1rem 0 1.5rem; +.hashtag_list { + padding: 1rem 0 1.5rem; } -.hashtag_list span{ - font-size:1.6rem; - color:#a94442; +.hashtag_list span { + font-size: 1.6rem; + color: #a94442; } -.procedure-area>.procedure_select_txt{ +.procedure-area>.procedure_select_txt { float: left; width: 7rem; line-height: 1.5; padding-top: 0.375rem; } -.procedure-area > .dropdown_area { +.procedure-area>.dropdown_area { float: right; width: calc(100% - 7rem); } @@ -218,7 +376,7 @@ display: none; overflow: hidden; position: relative; - z-index:1; + z-index: 1; } .select_procedure_div.active .option_scrl_wrap { @@ -263,10 +421,11 @@ user-select: none; } -.cs-checkbox > label.d-block { +.cs-checkbox>label.d-block { display: block; } -.cs-checkbox > label { + +.cs-checkbox>label { position: relative; display: inline-block; cursor: pointer; @@ -297,14 +456,15 @@ /* } */ input[type="checkbox"] { - transform: scale(1.5); /* 크기를 1.5배로 확대 */ + transform: scale(1.5); + /* 크기를 1.5배로 확대 */ } -.idxChk{ - position:absolute; +.idxChk { + position: absolute; } -.cs-checkbox > label:before { +.cs-checkbox>label:before { content: ""; position: absolute; top: 0; @@ -359,9 +519,9 @@ input[type="checkbox"] { content: ""; } -.selected-procedure{ - margin-top:20px; - position:relative; +.selected-procedure { + margin-top: 20px; + position: relative; } @@ -380,9 +540,10 @@ input[type="checkbox"] { padding-top: 0.2em; text-align: right; } -.selt_info_wrap .info button{ - border:none; - background-color:#fff; + +.selt_info_wrap .info button { + border: none; + background-color: #fff; } @@ -394,14 +555,14 @@ input[type="checkbox"] { .selected-procedure .selt_info_wrap { padding: 0.8rem 0; - z-index:0; + z-index: 0; } .selt_info_wrap { position: relative; min-height: 2.5rem; - background-color:#fff; - border:1px solid #eee; + background-color: #fff; + border: 1px solid #eee; } .selected-procedure .selt_info_wrap .selt { @@ -428,6 +589,7 @@ input[type="checkbox"] { font-size: 2rem; opacity: 1; } + .total-price-area .total .right strong { font-size: 22px; font-weight: 600; @@ -472,83 +634,320 @@ input[type="checkbox"] { color: #fff; } -.img-content{ +.img-content { background-color: #eee; } -.img-area{ +.img-area { padding-top: 70px; padding-bottom: 200px; - text-align:center; + text-align: center; } /* 페이지게이션 */ -.project_wrap .content_section .hospital_wrap .center_box .page_box {position:absolute; bottom:20px; width:100%; height:24px;} -.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation {height:24px;} -.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination {margin:0 auto; display:table;} -.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li {display:inline-block; padding:0} -.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a, .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a {position:relative; width:24px; height:24px; background:none;} -.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a:hover, .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a:hover {background:none;} -.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a img {position:absolute; top:50%; left:50%; transform:translate3d(-50%, -50%, 0); width:10px;} -.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a img {position:absolute; top:50%; left:50%; transform:translate3d(-50%, -50%, 0) rotate(180deg); width:10px;} -.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li a {width:24px; height:24px; padding:0; border:none; text-align:center; line-height:22px; font-size:14px; font-weight:500; background:#FFF; font-size:14px;} -.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li a:hover, .project_wrap .content_section .hospital_wrap .center_box .right_note .page_box .navigation .pagination li a:focus {background:#3985EA; color:#fff; font-weight:700;} -.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li.active a {background:#3985EA; color:#fff;} +.project_wrap .content_section .hospital_wrap .center_box .page_box { + position: absolute; + bottom: 20px; + width: 100%; + height: 24px; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation { + height: 24px; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination { + margin: 0 auto; + display: table; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li { + display: inline-block; + padding: 0 +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a, +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a { + position: relative; + width: 24px; + height: 24px; + background: none; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a:hover, +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a:hover { + background: none; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a img { + position: absolute; + top: 50%; + left: 50%; + transform: translate3d(-50%, -50%, 0); + width: 10px; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a img { + position: absolute; + top: 50%; + left: 50%; + transform: translate3d(-50%, -50%, 0) rotate(180deg); + width: 10px; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li a { + width: 24px; + height: 24px; + padding: 0; + border: none; + text-align: center; + line-height: 22px; + font-size: 14px; + font-weight: 500; + background: #FFF; + font-size: 14px; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li a:hover, +.project_wrap .content_section .hospital_wrap .center_box .right_note .page_box .navigation .pagination li a:focus { + background: #3985EA; + color: #fff; + font-weight: 700; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li.active a { + background: #3985EA; + color: #fff; +} /*반응형 View*/ @media only screen and (max-width:1500px) { - .project_wrap .content_section .hospital_wrap .left_box { width:160px; padding:10px 15px; } - .project_wrap .content_section .hospital_wrap .center_box { width:calc(100% - 160px); left:160px; } + .project_wrap .content_section .hospital_wrap .left_box { + width: 160px; + padding: 10px 15px; + } + + .project_wrap .content_section .hospital_wrap .center_box { + width: calc(100% - 160px); + left: 160px; + } } @media only screen and (max-width:1280px) { - .project_wrap .content_section .hospital_wrap { width:calc(100% - 60px); } - .project_wrap .content_section .hospital_wrap .left_box .sub_menu_list .title_menu { font-size:12px; } - .project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li { height:32px; margin-bottom:5px; } - .project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li a { font-size:12px; } - .project_wrap .content_section .hospital_wrap .center_box .page_title { min-width:80px; height:40px; font-size:16px; line-height:40px; } - .project_wrap .content_section .hospital_wrap .center_box .total { font-size:12px; line-height:40px; } - .project_wrap .content_section .hospital_wrap .center_box .filter_box { padding:15px 0; } - .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .select_box { width:120px; height:32px; background-size:18px; } - .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .select_box .label { padding:0 10px; font-size:12px; } - .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .select_box .select_option_list .option_list_item { font-size:12px; } - .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .search_list_box .search_box { width:120px; height:32px; } - .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .search_list_box .search_box img { width:22px; } - .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .search_list_box .search_box input { height:32px; font-size:12px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .date_box { width:110px; height:32px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .date_box img { width:20px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .date_box .date_picker { height:32px; padding-left:35px; font-size:10px; line-height:32px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .slash { line-height:32px; } - .project_wrap .content_section .hospital_wrap .center_box .filter_box .right_btn_box .download_btn { margin-left:5px; padding-left:10px; } - .project_wrap .content_section .hospital_wrap .center_box .filter_box .right_btn_box .download_btn p { display:none; } - .project_wrap .content_section .hospital_wrap .center_box .filter_box .right_btn_box .download_btn img { width:12px; margin-top:-3px; position:static; transform:none; } - .project_wrap .content_section .hospital_wrap .center_box .page_box { height:23px; } - .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation { height:23px; } - .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li a { width:23px; height:23px; font-size:12px; } + .project_wrap .content_section .hospital_wrap { + width: calc(100% - 60px); + } + + .project_wrap .content_section .hospital_wrap .left_box .sub_menu_list .title_menu { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li { + height: 32px; + margin-bottom: 5px; + } + + .project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li a { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .page_title { + min-width: 80px; + height: 40px; + font-size: 16px; + line-height: 40px; + } + + .project_wrap .content_section .hospital_wrap .center_box .total { + font-size: 12px; + line-height: 40px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box { + padding: 15px 0; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .select_box { + width: 120px; + height: 32px; + background-size: 18px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .select_box .label { + padding: 0 10px; + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .select_box .select_option_list .option_list_item { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .search_list_box .search_box { + width: 120px; + height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .search_list_box .search_box img { + width: 22px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .search_list_box .search_box input { + height: 32px; + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .date_box { + width: 110px; + height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .date_box img { + width: 20px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .date_box .date_picker { + height: 32px; + padding-left: 35px; + font-size: 10px; + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .slash { + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .right_btn_box .download_btn { + margin-left: 5px; + padding-left: 10px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .right_btn_box .download_btn p { + display: none; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .right_btn_box .download_btn img { + width: 12px; + margin-top: -3px; + position: static; + transform: none; + } + + .project_wrap .content_section .hospital_wrap .center_box .page_box { + height: 23px; + } + + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation { + height: 23px; + } + + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li a { + width: 23px; + height: 23px; + font-size: 12px; + } + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a, - .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a { width:23px; height:23px; } + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a { + width: 23px; + height: 23px; + } + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a img, - .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a img { width:9px; } - .project_wrap .content_section .hospital_wrap .center_box .table_box { height:calc(100% - 155px); } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left { width:350px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left .title { font-size:14px; line-height:32px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.checkbox_li label { text-indent:20px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.checkbox_li label { font-size:12px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.checkbox_li label::after { width:15px; height:15px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li input[type='checkbox']:checked + label::before { width:5px; height:8px; left:5px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_right p { font-size:14px; line-height:32px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li label { font-size:12px; line-height:32px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .select_box { width:120px; height:32px; background-size:18px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .select_box .label { padding:0 10px; font-size:12px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .select_box .select_option_list .option_list_item { font-size:12px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li input { font-size:12px; height:32px; width:250px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li textarea { font-size:12px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.banner_li label { font-size:12px; height:32px; line-height:32px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.banner_li label.file_btn img { width:22px; height:22px; } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_right { width:calc(100% - 350px); } - .project_wrap .content_section .hospital_wrap .center_box .content_box .content_right .button_box button { width:70px; font-size:12px; height:32px; } + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a img { + width: 9px; + } + + .project_wrap .content_section .hospital_wrap .center_box .table_box { + height: calc(100% - 155px); + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left { + width: 350px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left .title { + font-size: 14px; + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.checkbox_li label { + text-indent: 20px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.checkbox_li label { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.checkbox_li label::after { + width: 15px; + height: 15px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li input[type='checkbox']:checked+label::before { + width: 5px; + height: 8px; + left: 5px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_right p { + font-size: 14px; + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li label { + font-size: 12px; + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .select_box { + width: 120px; + height: 32px; + background-size: 18px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .select_box .label { + padding: 0 10px; + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .select_box .select_option_list .option_list_item { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li input { + font-size: 12px; + height: 32px; + width: 250px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li textarea { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.banner_li label { + font-size: 12px; + height: 32px; + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.banner_li label.file_btn img { + width: 22px; + height: 22px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_right { + width: calc(100% - 350px); + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_right .button_box button { + width: 70px; + font-size: 12px; + height: 32px; + } } @media only screen and (max-width:1080px) { - .project_wrap .content_section .hospital_wrap { width:calc(100% - 50px); } + .project_wrap .content_section .hospital_wrap { + width: calc(100% - 50px); + } } \ No newline at end of file diff --git a/src/main/resources/static/css/web/ContentsBbsUpd.css b/src/main/resources/static/css/web/ContentsBbsUpd.css new file mode 100644 index 0000000..8543a26 --- /dev/null +++ b/src/main/resources/static/css/web/ContentsBbsUpd.css @@ -0,0 +1,1259 @@ +.project_wrap { + width: 100%; + min-width: 1080px; + margin: 0 auto; +} + +/*오른쪽영역*/ +.project_wrap .content_section { + margin-top: 50px; + width: 100%; + min-width: 1080px; + display: table; +} + +.project_wrap .content_section .hospital_wrap { + width: calc(100% - 72px); + min-width: calc(1080px - 72px); + height: calc(100vh - 50px); + float: left; + position: relative; +} + + +/* 왼쪽_메뉴 영역 */ +.project_wrap .content_section .hospital_wrap .left_box { + position: absolute; + width: 240px; + height: calc(100vh - 50px); + overflow: auto; + padding: 10px 20px; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list { + width: 100%; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list .title_menu { + width: 100%; + height: auto; + margin: 20px 0 10px 0; + padding: 0; + font-size: 14px; + font-weight: 700; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list .title_menu.first { + margin-top: 0; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list a { + width: 100%; + height: 100%; + display: block; + margin-bottom: 8px; + padding: 8px; + font-size: 14px; + text-align: left; + border-radius: 5px; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list a.on { + background: #3985EA; + border: none; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li { + width: 100%; + height: 36px; + margin-bottom: 8px; +} + +.project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li a.on { + color: #fff; +} + +/* 센터쪽 */ +.project_wrap .content_section .hospital_wrap .center_box { + width: calc(100% - 240px); + height: calc(100vh - 50px); + position: absolute; + left: 240px; + padding: 10px 10px 10px 0; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_title { + min-width: 90px; + padding-left: 10px; + font-size: 18px; + font-weight: 700; + line-height: 50px; + float: left; +} + +.consultation-info input { + width: 80%; + height: 36px; + padding: 0 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; +} + +.consultation-info input input::placeholder { + color: #B5BDC4; +} + +.consultation-info label { + padding-left: 10px; +} + +.consultation-info input[type="checkbox"] { + width: 15px; + height: 15px; + padding: 0 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; +} + +.consultation-info input[type="checkbox"] input::placeholder { + color: #B5BDC4; +} + +.consultation-info select { + width: 80%; + height: 36px; + padding: 0 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; +} + +.consultation-info textarea { + width: 80%; + padding: 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; + resize: none; +} + +.consultation-info textarea::placeholder { + color: #B5BDC4; +} + +.wp60 input { + width: 80%; + height: 36px; + padding: 0 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; +} + +.wp60 input input::placeholder { + color: #B5BDC4; +} + +.wp60 textarea { + width: 80%; + padding: 10px; + border: 1px solid #E9ECF0; + border-radius: 5px; + resize: none; +} + +.wp60 textarea::placeholder { + color: #B5BDC4; +} + +.content { + width: 100%; + height: 100%; + padding: 20px; + border: solid 1px #E9ECF0; + border-radius: 5px; + position: relative; + background: #fff; + float: left; +} + +/* content_box */ +.project_wrap .content_section .hospital_wrap .center_box .content_box { + width: 100%; + height: calc(100% - 50px); + padding-top: 20px; + display: table; +} + +.add_btn { + width: 24px; + height: 24px; + padding-left: 0px; + padding-right: 0px; + padding-top: 0px; + margin-top: 0px; + line-height: 0px !important; +} + +.ml50 { + margin-left: 50%; +} + +.button_box button { + width: 70px; + font-size: 12px; + height: 32px; + border-radius: 16px; +} + +.button_box button.cancel_btn { + background: #F8FBFF; +} + +.button_box button.registration_btn { + margin-left: 10px; + color: #fff; + background: #3985EA; +} + +.button_box { + width: 100%; + margin-top: 30px; + margin-left: 56%; +} + +.fix_area { + min-width: 1200px; + width: 1200px; + margin: 0 auto; + padding: 0 16px; +} + +.btn-basic { + width: 120px; + height: 40px; + border: 1px solid #a73439; + border-radius: 5px; + background-color: white; + color: #a73439; +} + +.clear:after { + display: block; + visibility: hidden; + height: 0; + font-size: 0; + clear: both; + content: ""; +} + + +.clear>.right { + float: right; +} + +.clear>.left { + float: left; +} + +.main-img-size { + position: relative; + width: 655px; + height: 368px; + overflow: hidden; + border-radius: 0.25rem; + text-align: center; +} + +.img_center img { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 100%; + margin: 0; +} + + +.thumbnail-bottom-txt { + padding-top: 15px; +} + +.thumbnail-bottom-txt>span { + display: block; + color: #6c696a; + font-size: 13.5px; +} + +.content>.wp60 { + width: 60%; +} + +.content>.wp40 { + width: 40%; +} + +.wp10 { + width: 10%; +} + +.wp90 { + width: 90%; +} + + +.content>[class^=wp] { + float: left; +} + +.consultation-info h2 { + font-size: 4rem; +} + +.consultation-info p { + margin-top: 2rem; + font-size: 2rem; +} + + +.consultation-info .price { + display: block; + font-size: 3rem; + margin-top: 3rem; + margin-bottom: 1rem; +} + +.price-area .border-line { + height: 1px; + background-color: #ddd; +} + + +.hashtag_list { + padding: 1rem 0 1.5rem; +} + +.hashtag_list span { + font-size: 1.6rem; + color: #a94442; +} + + +.procedure-area>.procedure_select_txt { + float: left; + width: 7rem; + line-height: 1.5; + padding-top: 0.375rem; +} + +.procedure-area>.dropdown_area { + float: right; + width: calc(100% - 7rem); +} + +.select_procedure_div { + position: relative; +} + +.select_procedure_div .default_item { + padding-top: 0.5rem; + padding-left: 0.5rem; + padding-bottom: 0.5rem; +} + +.select_procedure_div .default_item { + position: relative; + width: 100%; + padding-right: 2.5rem; + background-color: #fff; + border: 1px solid #cb9f76; + text-align: left; + border-radius: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + + +.option_scrl_wrap { + display: none; + overflow: hidden; + position: relative; + z-index: 1; +} + +.select_procedure_div.active .option_scrl_wrap { + border: 1px solid #76232f; +} + +.select_service_form.active .default_item:after { + border-top-color: #333; +} + +.default_item:after { + content: ''; + display: block; + position: absolute; + top: 50%; + right: 1.1em; + margin-top: -0.2rem; + border: 0.28571428em solid transparent; + border-top-color: #999; +} + + +.optipon_item { + padding: 0.4rem 0.5rem; +} + +.sepr_wrap { + position: relative; + min-height: 2.5rem; +} + +.item_subprice { + min-height: 42px; +} + +.select_procedure_div.active .option_scrl_wrap { + display: block; + position: absolute; + right: -1px; + left: -1px; + background-color: #fff; + user-select: none; +} + +.cs-checkbox>label.d-block { + display: block; +} + +.cs-checkbox>label { + position: relative; + display: inline-block; + cursor: pointer; + padding-left: 30px; + margin: 0; + line-height: 20px; + transition: color .3s ease-out; +} + + + +.oi-wrap { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +/* .cs-checkbox input[type="checkbox"] { */ +/* visibility: hidden; */ +/* display: none; */ +/* } */ + +/* .cs-checkbox > label:before, .cs-radio > .r_visible { */ +/* border: 1px solid #ccc; */ +/* } */ + +input[type="checkbox"] { + transform: scale(1.5); + /* 크기를 1.5배로 확대 */ +} + +.idxChk { + position: absolute; +} + +.cs-checkbox>label:before { + content: ""; + position: absolute; + top: 0; + left: 0; + display: inline-block; + margin-right: 0.8em; + border-radius: 0; + background-color: #fff; +} + +.oi-wrap .oi-txt { + flex: 0 0 65%; + max-width: 65%; +} + +.option_list { + display: block; + background: #fff; + max-height: 224px; + overflow-y: auto; + overflow-x: hidden; +} + + +.oi-wrap .oi-price { + flex: 0 0 35%; + max-width: 35%; + text-align: right; +} + +.original_price { + color: #757575; + opacity: 0.7; +} + +.d-block { + display: block; +} + +.discount_price { + font-family: 'Campton', Sans-serif; + font-weight: 600; + color: #A73439; +} + +.procedure-area:after { + display: block; + visibility: hidden; + height: 0; + font-size: 0; + clear: both; + content: ""; +} + +.selected-procedure { + margin-top: 20px; + position: relative; +} + + +.selected-procedure .selt_info_wrap .info { + top: 0.7rem; + width: 9.5em; + padding-top: 0.3em; +} + +.selt_info_wrap .info { + position: absolute; + top: 0.2rem; + right: 0.2rem; + width: 8.5em; + padding-right: 1rem; + padding-top: 0.2em; + text-align: right; +} + +.selt_info_wrap .info button { + border: none; + background-color: #fff; +} + + +.real_price { + font-family: 'Campton', Sans-serif; + font-weight: 600; + color: #A73439; +} + +.selected-procedure .selt_info_wrap { + padding: 0.8rem 0; + z-index: 0; +} + +.selt_info_wrap { + position: relative; + min-height: 2.5rem; + background-color: #fff; + border: 1px solid #eee; +} + +.selected-procedure .selt_info_wrap .selt { + padding-right: 9.5em; + padding-left: 1rem; + width: 100%; +} + +.selt_info_wrap .selt { + padding-top: 0.3em; + padding-right: 8.5em; +} + +.total-price-area .total { + position: relative; + background-color: #e6e6e6; + padding: 25px 25px 60px; + display: flex; + justify-content: space-between; +} + +.total-price-area .total .txt_sub { + color: #222222; + font-size: 2rem; + opacity: 1; +} + +.total-price-area .total .right strong { + font-size: 22px; + font-weight: 600; +} + +.total-price-area .total-price-txt { + font-family: 'Campton', Sans-serif; + font-weight: 600; + color: #A73439; +} + +.total-price-area .total .bs-txt { + position: absolute; + bottom: 17px; + right: 25px; + display: block; + margin-top: 4px; + font-size: 12px; + color: #999999; + letter-spacing: -1px; +} + + +.main_btn { + text-align: right; + margin: 1rem 0; +} + +.main_btn button { + width: 180px; + height: 50px; +} + + +.fastrack-btn { + position: relative; +} + +.btn-primary { + border: 1px solid #a73439; + background-color: #a73439; + color: #fff; +} + +.img-content { + background-color: #eee; +} + +.img-area { + padding-top: 70px; + padding-bottom: 200px; + text-align: center; +} + +/* 페이지게이션 */ +.project_wrap .content_section .hospital_wrap .center_box .page_box { + position: absolute; + bottom: 20px; + width: 100%; + height: 24px; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation { + height: 24px; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination { + margin: 0 auto; + display: table; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li { + display: inline-block; + padding: 0 +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a, +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a { + position: relative; + width: 24px; + height: 24px; + background: none; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a:hover, +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a:hover { + background: none; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a img { + position: absolute; + top: 50%; + left: 50%; + transform: translate3d(-50%, -50%, 0); + width: 10px; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a img { + position: absolute; + top: 50%; + left: 50%; + transform: translate3d(-50%, -50%, 0) rotate(180deg); + width: 10px; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li a { + width: 24px; + height: 24px; + padding: 0; + border: none; + text-align: center; + line-height: 22px; + font-size: 14px; + font-weight: 500; + background: #FFF; + font-size: 14px; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li a:hover, +.project_wrap .content_section .hospital_wrap .center_box .right_note .page_box .navigation .pagination li a:focus { + background: #3985EA; + color: #fff; + font-weight: 700; +} + +.project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li.active a { + background: #3985EA; + color: #fff; +} + +/*반응형 View*/ +@media only screen and (max-width:1500px) { + .project_wrap .content_section .hospital_wrap .left_box { + width: 160px; + padding: 10px 15px; + } + + .project_wrap .content_section .hospital_wrap .center_box { + width: calc(100% - 160px); + left: 160px; + } +} + +@media only screen and (max-width:1280px) { + .project_wrap .content_section .hospital_wrap { + width: calc(100% - 60px); + } + + .project_wrap .content_section .hospital_wrap .left_box .sub_menu_list .title_menu { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li { + height: 32px; + margin-bottom: 5px; + } + + .project_wrap .content_section .hospital_wrap .left_box .sub_menu_list li a { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .page_title { + min-width: 80px; + height: 40px; + font-size: 16px; + line-height: 40px; + } + + .project_wrap .content_section .hospital_wrap .center_box .total { + font-size: 12px; + line-height: 40px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box { + padding: 15px 0; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .select_box { + width: 120px; + height: 32px; + background-size: 18px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .select_box .label { + padding: 0 10px; + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .select_box .select_option_list .option_list_item { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .search_list_box .search_box { + width: 120px; + height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .search_list_box .search_box img { + width: 22px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .form_box .search_list_box .search_box input { + height: 32px; + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .date_box { + width: 110px; + height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .date_box img { + width: 20px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .date_box .date_picker { + height: 32px; + padding-left: 35px; + font-size: 10px; + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .calendar_box .slash { + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .right_btn_box .download_btn { + margin-left: 5px; + padding-left: 10px; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .right_btn_box .download_btn p { + display: none; + } + + .project_wrap .content_section .hospital_wrap .center_box .filter_box .right_btn_box .download_btn img { + width: 12px; + margin-top: -3px; + position: static; + transform: none; + } + + .project_wrap .content_section .hospital_wrap .center_box .page_box { + height: 23px; + } + + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation { + height: 23px; + } + + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li a { + width: 23px; + height: 23px; + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a, + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a { + width: 23px; + height: 23px; + } + + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:first-child a img, + .project_wrap .content_section .hospital_wrap .center_box .page_box .navigation .pagination li:last-child a img { + width: 9px; + } + + .project_wrap .content_section .hospital_wrap .center_box .table_box { + height: calc(100% - 155px); + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left { + width: 350px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left .title { + font-size: 14px; + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.checkbox_li label { + text-indent: 20px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.checkbox_li label { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.checkbox_li label::after { + width: 15px; + height: 15px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li input[type='checkbox']:checked+label::before { + width: 5px; + height: 8px; + left: 5px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_right p { + font-size: 14px; + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li label { + font-size: 12px; + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .select_box { + width: 120px; + height: 32px; + background-size: 18px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .select_box .label { + padding: 0 10px; + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li .select_box .select_option_list .option_list_item { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li input { + font-size: 12px; + height: 32px; + width: 250px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.first li textarea { + font-size: 12px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.banner_li label { + font-size: 12px; + height: 32px; + line-height: 32px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_left ul.last li.banner_li label.file_btn img { + width: 22px; + height: 22px; + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_right { + width: calc(100% - 350px); + } + + .project_wrap .content_section .hospital_wrap .center_box .content_box .content_right .button_box button { + width: 70px; + font-size: 12px; + height: 32px; + } +} + +@media only screen and (max-width:1080px) { + .project_wrap .content_section .hospital_wrap { + width: calc(100% - 50px); + } +} + +/* ========================================= + NEW ONE-PAGE LAYOUT STYLES (ContentsBbsUpd) + ========================================= */ + +/* Override content box to fit screen height */ +.project_wrap .content_section .hospital_wrap .center_box .content_box { + width: 100%; + /* 100vh - header(approx 50px) - title(approx 50px) - padding */ + /* 100vh - header(approx 50px) - title(approx 50px) - padding */ + height: calc(100vh - 120px) !important; + padding: 0 !important; + overflow: hidden; + /* Prevent outer scroll */ + background: none; + /* remove white bg from container */ + border: none; + display: block !important; + /* Override display: table to enforce fixed height */ +} + +/* New Flex Container */ +.update-container { + display: flex; + width: 100%; + height: 100%; + gap: 20px; +} + +/* Panels */ +.left-panel, +.right-panel { + flex: 1; + background: #fff; + border: 1px solid #E9ECF0; + border-radius: 5px; + padding: 20px; + display: flex; + flex-direction: column; + overflow-y: auto; + height: 100%; +} + +/* Right Panel (Images) - Row Layout */ +.right-panel { + flex-direction: row; + gap: 20px; + overflow: hidden; + /* Prevent overflow */ +} + +/* Left Panel (Forms) - Column Layout (Default) */ +.left-panel { + /* Uses default flex-direction: column from shared rule above */ + overflow: hidden; + /* Prevent main scroll, force grid scroll */ +} + +/* Update selector for image panel children to target right-panel now */ +.right-panel .panel-section { + margin-bottom: 0; + display: flex; + flex-direction: column; + flex: 1; + height: 100%; + overflow: hidden; +} + +/* Specific layout for Left Panel to be side-by-sid*/ +/* This rule is now redundant as .left-panel is column and .right-panel is row */ +/* .left-panel, +.right-panel { + flex: 1; + background: #fff; + border: 1px solid #E9ECF0; + border-radius: 5px; + padding: 20px; + display: flex; + flex-direction: column; + overflow-y: auto; + height: 100%; +} */ + +/* Make image panel (previously left-panel) flex-row as requested in previous step */ +/* This rule is now applied directly to .right-panel */ +/* .image-panel-style { + flex-direction: row; + gap: 20px; +} */ + +.right-panel .panel-section .top-label { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 10px; + font-weight: 700; + color: #333; +} + +/* Image preview container */ +.img-preview-wrapper { + flex: 1; + /* Take remaining vertical space */ + background: #f8f9fa; + border: 1px dashed #ccc; + border-radius: 4px; + margin-bottom: 10px; + overflow: auto; + /* Allow scrolling */ + position: relative; + min-height: 0; + /* Important for flex child inside flex container */ +} + +/* Specific: Thumbnail Box (16:9 Aspect Ratio) */ +.img_box { + flex: none; + width: 100%; + height: auto; + aspect-ratio: 16 / 9; + /* 800x450 ratio */ + overflow: hidden; + /* Override wrapper's auto scroll */ +} + +/* Specific: Content File Box (Fit to screen) */ +.file_box { + flex: 1; + overflow: auto; + /* Ensure it doesn't push the container */ + height: auto; + max-height: calc(100vh - 300px); + /* Safety cap to prevent screen scroll */ +} + +/* Image inside preview */ +.img-preview-wrapper img { + width: 100%; + /* Fill width */ + height: auto; + /* Allow height to expand */ + display: block; +} + +/* For thumbnail, force fit with cover/contain since ratio is fixed */ +.img_box img { + width: 100%; + height: 100%; + object-fit: contain; +} + +/* Ensure textarea doesn't push layout too much */ +.right-panel textarea { + width: 100%; + height: 100px; + min-height: 60px; + resize: none; + border: 1px solid #E9ECF0; + padding: 10px; + font-size: 14px; + flex-shrink: 0; +} + +/* Image inside preview */ + + +.form-grid-row { + display: flex; + gap: 15px; + margin-bottom: 15px; +} + +.form-group { + flex: 1; + display: flex; + flex-direction: column; + gap: 5px; +} + +.form-group label { + font-size: 14px; + font-weight: 700; + color: #333; +} + +.form-group input, +.form-group select { + height: 36px; + border: 1px solid #E9ECF0; + border-radius: 4px; + padding: 0 10px; + font-size: 14px; +} + +.form-group textarea.content-area-sm { + height: 80px; + resize: none; + border: 1px solid #E9ECF0; + padding: 10px; +} + +.grid-section { + flex: 1; + display: flex; + flex-direction: column; + min-height: 0; + /* Allow shrinking */ + overflow: hidden; + /* Contain scroll */ +} + +.grid-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 10px; + flex-shrink: 0; + /* Header doesn't shrink */ +} + +.grid-header p { + font-weight: 700; + margin: 0; +} + +/* Custom Grid Table Styles */ +.custom-grid-container { + flex: 1; + width: 100%; + border: 1px solid #E9ECF0; + border-radius: 4px; + overflow-y: auto; + position: relative; + background-color: #fff; + min-height: 0; + /* CRITICAL: Allow container to shrink to fit parent */ +} + +.treatment-table { + width: 100%; + border-collapse: collapse; + table-layout: fixed; + /* Fixed layout for consistent column widths */ +} + +.treatment-table thead { + position: sticky; + top: 0; + z-index: 10; + background-color: #f8f9fa; + /* Light grey header */ +} + +.treatment-table th, +.treatment-table td { + padding: 10px; + border-bottom: 1px solid #E9ECF0; + text-align: center; + font-size: 14px; + color: #333; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.treatment-table th { + font-weight: 700; + color: #555; + border-bottom: 2px solid #E9ECF0; +} + +.treatment-table tbody tr:hover { + background-color: #f1f5f9; + /* Hover effect */ +} + +/* Checkbox Column */ +.treatment-table th:first-child, +.treatment-table td:first-child { + width: 50px; + text-align: center; +} + +/* Ensure price columns align right for better readability */ +.treatment-table td:nth-child(3), +.treatment-table td:nth-child(4) { + text-align: right; + padding-right: 20px; +} + +.bottom-actions { + margin-top: 15px; + display: flex; + justify-content: flex-end; + gap: 10px; +} + +.grid-section { + flex: 1; + display: flex; + flex-direction: column; + /* height: 100%; Remvoed to prevent overflow */ + min-height: 0; + overflow: hidden; + /* Contain the scrollable table */ +} \ No newline at end of file diff --git a/src/main/resources/static/js/web/contentsBbs/ContentsBbsPop.js b/src/main/resources/static/js/web/contentsBbs/ContentsBbsPop.js index 41e5503..2e5ebb8 100644 --- a/src/main/resources/static/js/web/contentsBbs/ContentsBbsPop.js +++ b/src/main/resources/static/js/web/contentsBbs/ContentsBbsPop.js @@ -1,10 +1,10 @@ /* ############################################################## - 설 명 : [Modal]고객 검색 팝업 - 작성일 : 2025. 06. 24. - 작성자 : NTsoft - 수정일 수정자 수정내용 - ------- -------- --------------------------- - 2024. 03. 14. NTsoft 최초 생성 + 설 명 : [Modal]고객 검색 팝업 + 작성일 : 2025. 06. 24. + 작성자 : NTsoft + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2024. 03. 14. NTsoft 최초 생성 */ let treatmentSelectModal = { callback: null, @@ -16,52 +16,62 @@ let treatmentSelectModal = { $('body').append(this.HtmlTemplate); //그리드 이벤트 this.setEvent(); - treatmentSelectModal.searchIntroUserList('Y'); + treatmentSelectModal.searchIntroUserList('Y'); }, /* 그리드 이벤트 설정 */ setEvent: function () { - $('#treatmentSelectModal .btnCancle').on("click", function () { + $('#treatmentSelectModal .btnCancle').off('click').on("click", function () { treatmentSelectModal.close(); }); - $('#treatmentSelectModal .btnSave').on("click", function () { - treatmentSelectModal.save(); - }); - document.getElementById("searchIntroUserBtn").addEventListener('click',()=>{ - treatmentSelectModal.searchIntroUserList('N'); - }); - document.getElementById("introUserSearchKeyword").addEventListener('keypress',(e)=>{ - fn_IntroUserEnter(e) - }); + + // Remove existing listener to prevent duplicates if any + let searchBtn = document.getElementById("searchIntroUserBtn"); + if (searchBtn) { + let newSearchBtn = searchBtn.cloneNode(true); + searchBtn.parentNode.replaceChild(newSearchBtn, searchBtn); + newSearchBtn.addEventListener('click', () => { + treatmentSelectModal.searchIntroUserList('N'); + }); + } + + let searchInput = document.getElementById("introUserSearchKeyword"); + if (searchInput) { + let newSearchInput = searchInput.cloneNode(true); + searchInput.parentNode.replaceChild(newSearchInput, searchInput); + newSearchInput.addEventListener('keypress', (e) => { + fn_IntroUserEnter(e) + }); + } }, /* 데이터 선택 */ setSelect: function (selectNumber) { - let checkedData = dataList[selectNumber]; - if(dataList==null||checkedData==undefined){ - return ; - } - - if( treatmentSelectModal.callback ) { - treatmentSelectModal.callback(checkedData); - } - treatmentSelectModal.close(); + let checkedData = dataList[selectNumber]; + if (dataList == null || checkedData == undefined) { + return; + } + + if (treatmentSelectModal.callback) { + treatmentSelectModal.callback(checkedData); + } + treatmentSelectModal.close(); }, //저장 save: function () { }, - searchIntroUserList:function (initflag){ + searchIntroUserList: function (initflag) { let searchKeyword = document.querySelector("#introUserSearchKeyword").value; let formData = new FormData(); - if(2 > searchKeyword.length && initflag == 'N'){ + if (2 > searchKeyword.length && initflag == 'N') { modalEvent.warning("", "검색어는 2자 이상으로 입력해 주시기 바랍니다."); return; } formData.append("menuClass", menuClass); - formData.append("userSearchKeywordParam", searchKeyword??''); + formData.append("userSearchKeywordParam", searchKeyword ?? ''); $.ajax({ url: encodeURI('/webtreatmentdiet/selectListTreatmentOption.do'), @@ -78,17 +88,19 @@ let treatmentSelectModal = { tbody.removeChild(tbody.firstChild); } dataList = data.rows; - data.rows.forEach(function(treatment, index) { + data.rows.forEach(function (treatment, index) { let tr = document.createElement('tr'); + // Use style pointer to indicate clickable + tr.style.cursor = 'pointer'; tr.innerHTML = '' + treatment.treatmentNm + ''; - tr.innerHTML += '' + treatment.price.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + ''; - tr.innerHTML += '' + treatment.discountPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + ''; - tr.onclick = function() { + tr.innerHTML += '' + treatment.price.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + ''; + tr.innerHTML += '' + treatment.discountPrice.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") + ''; + tr.onclick = function () { treatmentSelectModal.setSelect(index); }; - + tbody.appendChild(tr); - + }); } }, @@ -127,11 +139,15 @@ let treatmentSelectModal = { close: function () { $('#treatmentSelectModal').modal('hide'); - setTimeout(function(){ - $('#treatmentSelectModal').remove(); - },500); + setTimeout(function () { + // Properly dispose of modal if using bootstrap 5 or just remove for simple usage + $('#treatmentSelectModal').remove(); + $('.modal-backdrop').remove(); // Ensure backdrop is removed + $('body').removeClass('modal-open'); + $('body').css('padding-right', ''); + }, 500); }, - HtmlTemplate : ` + HtmlTemplate: `