Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -9,7 +9,6 @@ import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOShopSetupVO;
|
||||
import com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
|
||||
/**
|
||||
@@ -81,6 +80,10 @@ public interface BOMaSopmalMapper {
|
||||
|
||||
public int updateBOSopmalUpdt(BOMaSopmalVO vo);
|
||||
|
||||
public int updateBOExchngrtSetup(BOMaSopmalVO vo);
|
||||
|
||||
public int updateBOGuidanceSetup(BOMaSopmalVO vo);
|
||||
|
||||
public int deteteBOShopFamilySite(BOMaSopmalVO vo);
|
||||
|
||||
public int deteteBOShopClause(BOMaSopmalVO vo);
|
||||
|
||||
@@ -193,4 +193,7 @@ public class BOMbrSrchVO extends AbstractVO {
|
||||
/*회원구분코드*/
|
||||
private String mbrDvCd;
|
||||
|
||||
/*마케팅 동의 팝업 읽기모드 여부*/
|
||||
private String readonlyAt;
|
||||
|
||||
}
|
||||
|
||||
@@ -309,22 +309,8 @@ public class BOPurchsEvtService {
|
||||
}
|
||||
}
|
||||
|
||||
// 사은품 이벤트
|
||||
// 사은품 이벤트
|
||||
} else if ("02".equals(purchsEvtVO.getEvtDv())) {
|
||||
|
||||
|
||||
/*
|
||||
if (!StringUtils.isEmpty(Arrays.toString(purchsEvtVO.getDeleteGiftList()))) {
|
||||
log.debug(" 삭제 리스트 확인 purchsEvtVO . get getDeleteGiftList : {}", purchsEvtVO.getDeleteGiftList());
|
||||
for (String deleteGiftInnb : purchsEvtVO.getDeleteGiftList()) {
|
||||
log.debug("deleteGiftInnb : {}", deleteGiftInnb);
|
||||
purchsEvtVO.setDeleteGiftInnb(Integer.parseInt(deleteGiftInnb));
|
||||
mapper.deleteBOPurchsEvtGiftDel(purchsEvtVO);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
if (!StringUtils.isEmpty(Arrays.toString(purchsEvtVO.getDeleteBnefList()))) {
|
||||
log.debug(" 삭제 리스트 확인 purchsEvtVO . get deleteList : {}", (Object) purchsEvtVO.getDeleteBnefList());
|
||||
for (String deleteBnefInnb : purchsEvtVO.getDeleteBnefList()) {
|
||||
@@ -334,7 +320,6 @@ public class BOPurchsEvtService {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (purchsEvtVO.getDiscountBnefVOList() != null && !purchsEvtVO.getDiscountBnefVOList().isEmpty()) {
|
||||
log.debug("사은품 혜택 진입");
|
||||
for (BOPurchsEvtDiscountBnefVO tempVO : purchsEvtVO.getDiscountBnefVOList()) {
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.wb.domainserver.domain.gcone.setup.exchngrt.service;
|
||||
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.mapper.BOMaSopmalMapper;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.exception.code.ErrorCode;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 환율 설정 BO Serivce
|
||||
*
|
||||
* @author 이대환
|
||||
* @version 1.0
|
||||
* @see <pre>
|
||||
* == (Modification Information) == 개정이력
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2026-04-27 이대환 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
* @since 2026-04-27
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class BOExchngrtService {
|
||||
@Autowired
|
||||
private BOMaComncdService bOMaComncdService;
|
||||
@Autowired
|
||||
private BOMaSopmalMapper mapper;
|
||||
|
||||
/**
|
||||
* 환율 설정 수정
|
||||
* @param boMaSopmalVO
|
||||
*/
|
||||
@Transactional
|
||||
public DataMap updateBOExchngrtSetup(BOMaSopmalVO boMaSopmalVO) {
|
||||
DataMap message = new DataMap();
|
||||
|
||||
try {
|
||||
mapper.updateBOExchngrtSetup(boMaSopmalVO);
|
||||
message.put("result", "success");
|
||||
} catch (WnbtRestException wre) {
|
||||
throw new WnbtRestException(wre.getMessage());
|
||||
} catch (Exception e) {
|
||||
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.wb.domainserver.domain.gcone.setup.exchngrt.vo;
|
||||
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.comm.vo.AbstractVO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
public class BOExchngrtVO extends AbstractVO {
|
||||
|
||||
/** 쇼핑몰 코드 */
|
||||
private String sopmalCd;
|
||||
|
||||
/** 1엔 환율(살때) */
|
||||
private String buyRate;
|
||||
|
||||
/** 1엔 환율(팔때) */
|
||||
private String sellRate;
|
||||
|
||||
/** BOMaSopmalVO로 변환 */
|
||||
public BOMaSopmalVO setBOMaSopmalVO() {
|
||||
BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO();
|
||||
boMaSopmalVO.setSopmalCd(this.getSopmalCd());
|
||||
boMaSopmalVO.setBuyRate(this.getBuyRate());
|
||||
boMaSopmalVO.setSellRate(this.getSellRate());
|
||||
boMaSopmalVO.setRegusr(this.getRegusr());
|
||||
boMaSopmalVO.setUpdusr(this.getUpdusr());
|
||||
|
||||
return boMaSopmalVO;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.wb.domainserver.domain.gcone.setup.family.service;
|
||||
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.mapper.BOMaSopmalMapper;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.exception.code.ErrorCode;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import com.wb.domainserver.util.string.StringUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
||||
/**
|
||||
* 패밀리사이트 설정 BO Serivce
|
||||
*
|
||||
* @author 이대환
|
||||
* @version 1.0
|
||||
* @see <pre>
|
||||
* == (Modification Information) == 개정이력
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2026-04-27 이대환 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
* @since 2026-04-27
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class BOFamilyService {
|
||||
@Autowired
|
||||
private BOMaComncdService bOMaComncdService;
|
||||
@Autowired
|
||||
private BOMaSopmalMapper mapper;
|
||||
|
||||
/**
|
||||
* 패밀리사이트 설정 수정
|
||||
* @param boMaSopmalVO
|
||||
*/
|
||||
@Transactional
|
||||
public DataMap updateBOFamilySetup(BOMaSopmalVO boMaSopmalVO) {
|
||||
DataMap message = new DataMap();
|
||||
|
||||
try {
|
||||
mapper.deteteBOShopFamilySite(boMaSopmalVO);
|
||||
|
||||
DataMap paramMap = new DataMap();
|
||||
paramMap.put("sopmalCd", boMaSopmalVO.getSopmalCd());
|
||||
paramMap.put("regusr", boMaSopmalVO.getRegusr());
|
||||
|
||||
if (!ObjectUtils.isEmpty(boMaSopmalVO.getFamilySiteNmArr())) {
|
||||
String[] siteNm = boMaSopmalVO.getFamilySiteNmArr();
|
||||
String[] siteUrl = boMaSopmalVO.getFamilySiteUrlArr();
|
||||
|
||||
for (int i = 0; i < siteNm.length; i++) {
|
||||
if (!StringUtil.isEmpty(siteNm[i])) {
|
||||
paramMap.put("familySiteNm", siteNm[i]);
|
||||
paramMap.put("familySiteUrl", siteUrl[i]);
|
||||
mapper.insertBOShopFamilySite(paramMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
message.put("result", "success");
|
||||
} catch (WnbtRestException wre) {
|
||||
throw new WnbtRestException(wre.getMessage());
|
||||
} catch (Exception e) {
|
||||
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.wb.domainserver.domain.gcone.setup.family.vo;
|
||||
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.comm.vo.AbstractVO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
public class BOFamilyVO extends AbstractVO {
|
||||
|
||||
/** 쇼핑몰 코드 */
|
||||
private String sopmalCd;
|
||||
|
||||
/** 패밀리사이트명 */
|
||||
private String[] familySiteNmArr;
|
||||
|
||||
/** 패밀리사이트URL */
|
||||
private String[] familySiteUrlArr;
|
||||
|
||||
/** BOMaSopmalVO로 변환 */
|
||||
public BOMaSopmalVO setBOMaSopmalVO() {
|
||||
BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO();
|
||||
boMaSopmalVO.setSopmalCd(this.getSopmalCd());
|
||||
boMaSopmalVO.setFamilySiteNmArr(this.getFamilySiteNmArr());
|
||||
boMaSopmalVO.setFamilySiteUrlArr(this.getFamilySiteUrlArr());
|
||||
boMaSopmalVO.setRegusr(this.getRegusr());
|
||||
boMaSopmalVO.setUpdusr(this.getUpdusr());
|
||||
|
||||
return boMaSopmalVO;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
package com.wb.domainserver.domain.gcone.setup.guidance.service;
|
||||
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.mapper.BOMaSopmalMapper;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.admin.sys.comncd.service.BOMaComncdService;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.exception.code.ErrorCode;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 안내문구 설정 BO Serivce
|
||||
*
|
||||
* @author 이대환
|
||||
* @version 1.0
|
||||
* @see <pre>
|
||||
* == (Modification Information) == 개정이력
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2026-04-27 이대환 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
* @since 2026-04-27
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class BOGuidanceService {
|
||||
@Autowired
|
||||
private BOMaComncdService bOMaComncdService;
|
||||
@Autowired
|
||||
private BOMaSopmalMapper mapper;
|
||||
|
||||
/**
|
||||
* 안내문구 설정 수정
|
||||
* @param boMaSopmalVO
|
||||
*/
|
||||
@Transactional
|
||||
public DataMap updateBOGuidanceSetup(BOMaSopmalVO boMaSopmalVO) {
|
||||
DataMap message = new DataMap();
|
||||
|
||||
try {
|
||||
mapper.updateBOGuidanceSetup(boMaSopmalVO);
|
||||
message.put("result", "success");
|
||||
} catch (WnbtRestException wre) {
|
||||
throw new WnbtRestException(wre.getMessage());
|
||||
} catch (Exception e) {
|
||||
throw new WnbtRestException(ErrorCode.INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.wb.domainserver.domain.gcone.setup.guidance.vo;
|
||||
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.comm.vo.AbstractVO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
public class BOGuidanceVO extends AbstractVO {
|
||||
|
||||
/** 쇼핑몰 코드 */
|
||||
private String sopmalCd;
|
||||
|
||||
/** 회원가입 안내 타이틀 */
|
||||
private String joinGuidanceSj;
|
||||
|
||||
/** 회원가입 안내문구 */
|
||||
private String joinGuidanceWords;
|
||||
|
||||
/** 회원가입 주요혜택 */
|
||||
private String joinBnef;
|
||||
|
||||
/** 회원가입 주요문구 */
|
||||
private String joinComptWords;
|
||||
|
||||
/** 구독서비스 안내문구 */
|
||||
private String subsvcGuidanceWords;
|
||||
|
||||
/** BOMaSopmalVO로 변환 */
|
||||
public BOMaSopmalVO setBOMaSopmalVO() {
|
||||
BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO();
|
||||
boMaSopmalVO.setSopmalCd(this.getSopmalCd());
|
||||
boMaSopmalVO.setJoinGuidanceSj(this.getJoinGuidanceSj());
|
||||
boMaSopmalVO.setJoinGuidanceWords(this.getJoinGuidanceWords());
|
||||
boMaSopmalVO.setJoinBnef(this.getJoinBnef());
|
||||
boMaSopmalVO.setJoinComptWords(this.getJoinComptWords());
|
||||
boMaSopmalVO.setSubsvcGuidanceWords(this.getSubsvcGuidanceWords());
|
||||
boMaSopmalVO.setRegusr(this.getRegusr());
|
||||
boMaSopmalVO.setUpdusr(this.getUpdusr());
|
||||
|
||||
return boMaSopmalVO;
|
||||
}
|
||||
}
|
||||
@@ -28,28 +28,48 @@ import lombok.EqualsAndHashCode;
|
||||
public class BOSetupOrdrVO extends AbstractVO {
|
||||
/** 쇼핑몰 코드 */
|
||||
private String sopmalCd;
|
||||
/**마일리지 지급 사용여부*/
|
||||
private String mlgPymntAt;
|
||||
/**마일리지 지급 구분코드*/
|
||||
private String mlgPymntDvCd;
|
||||
/**마일리지 지급 비율*/
|
||||
private String mlgPymntRt;
|
||||
/**마일리지 최대 지급 금액*/
|
||||
private String mlgMxmmPymntAmt;
|
||||
/**마일리지 최대 지급 금액 사용여부*/
|
||||
private String mlgMxmmPymntAmtAt;
|
||||
/**마일리지 유효기간*/
|
||||
private String mlgValidPd;
|
||||
/**마일리지 유효기간 사용여부*/
|
||||
private String mlgValidPdAt;
|
||||
/**여러곳배송여부*/
|
||||
|
||||
// 여러 곳 배송
|
||||
/** 여러곳배송여부 */
|
||||
private String multiDlvyAt;
|
||||
/**정기배송여부*/
|
||||
/** 정기배송여부 */
|
||||
private String fdrmDlvyAt;
|
||||
/**선물하기여부*/
|
||||
|
||||
// 선물하기
|
||||
/** 선물하기여부 */
|
||||
private String giftDlvyAt;
|
||||
/**선물하기자동취소기간*/
|
||||
/** 선물하기자동취소기간 */
|
||||
private String giftDlvyAtmcCanclPd;
|
||||
/*충전형마일리지 사용여부*/
|
||||
|
||||
// GC 머니
|
||||
/** 충전형마일리지 사용여부 */
|
||||
private String cashAt;
|
||||
|
||||
// 마일리지 지급
|
||||
/** 마일리지 지급 사용여부 */
|
||||
private String mlgPymntAt;
|
||||
/** 마일리지 지급 구분코드 */
|
||||
private String mlgPymntDvCd;
|
||||
/** 마일리지 지급 비율 */
|
||||
private String mlgPymntRt;
|
||||
/** 마일리지 최대 지급 금액 */
|
||||
private String mlgMxmmPymntAmt;
|
||||
/** 마일리지 최대 지급 금액 사용여부 */
|
||||
private String mlgMxmmPymntAmtAt;
|
||||
/** 마일리지 유효기간 */
|
||||
private String mlgValidPd;
|
||||
/** 마일리지 유효기간 사용여부 */
|
||||
private String mlgValidPdAt;
|
||||
|
||||
// 마일리지 사용 조건
|
||||
/** 마일리지 보유 사용 금액 */
|
||||
private String mlgHoldUseAmt;
|
||||
/** 마일리지 결제금액 사용 금액 */
|
||||
private String mlgSetleAmtUseAmt;
|
||||
/** 마일리지 최소 사용 금액 */
|
||||
private String mlgMummUseAmt;
|
||||
/** 마일리지 최대 사용 구분(MLG_MXMM_USE_DV) */
|
||||
private String mlgMxmmUseDv;
|
||||
/** 마일리지 최대 사용 금액 */
|
||||
private String mlgMxmmUseAmt;
|
||||
}
|
||||
|
||||
@@ -76,16 +76,26 @@ public class MngrMainController {
|
||||
// public String selectMngrMainInqire(@CookieValue(value = "authSopmalCd") String authSopmalCd, ModelMap model, HttpServletRequest request) {
|
||||
public String selectMngrMainInqire(String authSopmalCd, ModelMap model, HttpServletRequest request, HttpServletResponse response ) {
|
||||
BOBbsVO vo = new BOBbsVO();
|
||||
vo.setSopmalCd(authSopmalCd);
|
||||
|
||||
// 작성자 정보 할당
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
if("01".equals(user.getSysDvCd())){
|
||||
vo.setSopmalCd(user.getSopmalCd());
|
||||
}
|
||||
// 쇼핑몰코드
|
||||
vo.setRegusr(user.getUserInnb()); // 등록자
|
||||
vo.setUpdusr(user.getUserInnb()); // 수정자
|
||||
// 쇼핑몰코드
|
||||
if(StringUtil.isEmpty(authSopmalCd)) {
|
||||
if(request.getCookies()!=null) {
|
||||
for(Cookie cookie : request.getCookies()){
|
||||
if("authSopmalCd".equals(cookie.getName())){
|
||||
authSopmalCd = cookie.getValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
vo.setSopmalCd(authSopmalCd);
|
||||
|
||||
DataMap resultMap = new DataMap();
|
||||
resultMap = bbsService.selectBOBbscttDshboardInqireForm(vo);
|
||||
|
||||
@@ -393,14 +393,6 @@ public class PurchsEvtController {
|
||||
tempVO.setEndAmt(null);
|
||||
}
|
||||
|
||||
if ("01".equals(purchsEvtVO.getDscntBnefDvCd())) {
|
||||
tempVO.setBgnAmt("0");
|
||||
tempVO.setEndAmt("0");
|
||||
} else if ("02".equals(purchsEvtVO.getDscntBnefDvCd())) {
|
||||
tempVO.setBgnCnt("0");
|
||||
tempVO.setEndCnt("0");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
for (BOPurchsEvtDiscountBnefVO tempVO : purchsEvtVO.getDiscountBnefVOList()) {
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
package com.wb.domainserver.domain.mngr.setup.exchngrt;
|
||||
|
||||
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.gcone.setup.exchngrt.service.BOExchngrtService;
|
||||
import com.wb.domainserver.domain.gcone.setup.exchngrt.vo.BOExchngrtVO;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.response.WnbtResponse;
|
||||
import com.wb.domainserver.response.WnbtResponseBody;
|
||||
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||
import com.wb.domainserver.security.authentication.AnonymousUser;
|
||||
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
||||
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
||||
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.CookieValue;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
/**
|
||||
* 환율 설정 Controller
|
||||
*
|
||||
* @author 이대환
|
||||
* @version 1.0
|
||||
* @see <pre>
|
||||
* == (Modification Information) == 개정이력
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2026-04-27 이대환 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
* @since 2026-04-27
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/mngr/setup/exchngrt")
|
||||
@Slf4j
|
||||
public class ExchngrtController {
|
||||
|
||||
/** WebClient 호출을 위한 wrapper */
|
||||
@Autowired
|
||||
WnbtWebClientResponseHandler responseHandler;
|
||||
|
||||
@Autowired
|
||||
private SendToResrc sendToResrc;
|
||||
|
||||
/** 공통 메시지 처리를 위한 메시지 객체 */
|
||||
@Autowired
|
||||
private GconeMessageSource gconeMessageSource;
|
||||
|
||||
@Autowired
|
||||
private BOExchngrtService service;
|
||||
|
||||
@Autowired
|
||||
private BOMaSopmalService bOMaSopmalService;
|
||||
|
||||
/**
|
||||
* 환율 설정 페이지 이동
|
||||
*
|
||||
* @param boMaSopmalVO
|
||||
* @return NbkkSetupListR.jsp
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value = "/selectExchngrtSetup")
|
||||
public String selectExchngrtSetup(BOMaSopmalVO boMaSopmalVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
DataMap content = new DataMap();
|
||||
|
||||
boMaSopmalVO.setSopmalCd(authSopmalCd);
|
||||
content.put("sopmalDetailList", bOMaSopmalService.selectBOSopmalUpdtForm(boMaSopmalVO));
|
||||
|
||||
model.addAttribute("resultMap", content);
|
||||
|
||||
return "mngr/setup/exchngrt/ExchngrtUpdtU";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 환율 설정 수정
|
||||
*
|
||||
* @param boExchngrtVO
|
||||
* @return ResponseEntity<WnbtResponse>
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@PostMapping(value = "/updateExchngrtSetup", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<WnbtResponse> updateExchngrtSetup(@Validated BOExchngrtVO boExchngrtVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
//등록자 수정자 set
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
boExchngrtVO.setRegusr(user.getUserInnb());
|
||||
boExchngrtVO.setUpdusr(user.getUserInnb());
|
||||
boExchngrtVO.setSopmalCd(authSopmalCd);
|
||||
|
||||
if (bindingResult.hasErrors()) {
|
||||
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
||||
}
|
||||
|
||||
DataMap message = service.updateBOExchngrtSetup(boExchngrtVO.setBOMaSopmalVO());
|
||||
|
||||
return ResponseEntity.ok(
|
||||
WnbtResponse.builder()
|
||||
.resBody(new WnbtResponseBody(message))
|
||||
.build()
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package com.wb.domainserver.domain.mngr.setup.family;
|
||||
|
||||
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.gcone.setup.family.service.BOFamilyService;
|
||||
import com.wb.domainserver.domain.gcone.setup.family.vo.BOFamilyVO;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.response.WnbtResponse;
|
||||
import com.wb.domainserver.response.WnbtResponseBody;
|
||||
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||
import com.wb.domainserver.security.authentication.AnonymousUser;
|
||||
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
||||
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
||||
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.CookieValue;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
/**
|
||||
* 패밀리사이트 설정 Controller
|
||||
*
|
||||
* @author 이대환
|
||||
* @version 1.0
|
||||
* @see <pre>
|
||||
* == (Modification Information) == 개정이력
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2026-04-27 이대환 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
* @since 2026-04-27
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/mngr/setup/family")
|
||||
@Slf4j
|
||||
public class FamilyController {
|
||||
|
||||
/** WebClient 호출을 위한 wrapper */
|
||||
@Autowired
|
||||
WnbtWebClientResponseHandler responseHandler;
|
||||
|
||||
@Autowired
|
||||
private SendToResrc sendToResrc;
|
||||
|
||||
/** 공통 메시지 처리를 위한 메시지 객체 */
|
||||
@Autowired
|
||||
private GconeMessageSource gconeMessageSource;
|
||||
|
||||
@Autowired
|
||||
private BOFamilyService service;
|
||||
|
||||
@Autowired
|
||||
private BOMaSopmalService bOMaSopmalService;
|
||||
|
||||
/**
|
||||
* 패밀리사이트 설정 페이지 이동
|
||||
*
|
||||
* @param boMaSopmalVO
|
||||
* @return NbkkSetupListR.jsp
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value = "/selectFamilySiteSetup")
|
||||
public String selectFamilySiteSetup(BOMaSopmalVO boMaSopmalVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
DataMap content = new DataMap();
|
||||
|
||||
boMaSopmalVO.setSopmalCd(authSopmalCd);
|
||||
content.put("siteList", bOMaSopmalService.selectBOSopmalUpdtFormSitelList(boMaSopmalVO));
|
||||
|
||||
model.addAttribute("resultMap", content);
|
||||
|
||||
return "mngr/setup/family/FamilySiteUpdtU";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 패밀리사이트 설정 수정
|
||||
*
|
||||
* @param boFamilyVO
|
||||
* @return ResponseEntity<WnbtResponse>
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@PostMapping(value = "/updateFamilySiteSetup", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<WnbtResponse> updateNbkkSetup(@Validated BOFamilyVO boFamilyVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
//등록자 수정자 set
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
boFamilyVO.setRegusr(user.getUserInnb());
|
||||
boFamilyVO.setUpdusr(user.getUserInnb());
|
||||
boFamilyVO.setSopmalCd(authSopmalCd);
|
||||
|
||||
if (bindingResult.hasErrors()) {
|
||||
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
||||
}
|
||||
|
||||
DataMap message = service.updateBOFamilySetup(boFamilyVO.setBOMaSopmalVO());
|
||||
|
||||
return ResponseEntity.ok(
|
||||
WnbtResponse.builder()
|
||||
.resBody(new WnbtResponseBody(message))
|
||||
.build()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
package com.wb.domainserver.domain.mngr.setup.guidance;
|
||||
|
||||
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.gcone.setup.guidance.service.BOGuidanceService;
|
||||
import com.wb.domainserver.domain.gcone.setup.guidance.vo.BOGuidanceVO;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
import com.wb.domainserver.response.WnbtResponse;
|
||||
import com.wb.domainserver.response.WnbtResponseBody;
|
||||
import com.wb.domainserver.response.WnbtWebClientResponseHandler;
|
||||
import com.wb.domainserver.security.authentication.AnonymousUser;
|
||||
import com.wb.domainserver.security.authentication.MemberJwtContextHolder;
|
||||
import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
||||
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.CookieValue;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
/**
|
||||
* 안내문구 설정 Controller
|
||||
*
|
||||
* @author 이대환
|
||||
* @version 1.0
|
||||
* @see <pre>
|
||||
* == (Modification Information) == 개정이력
|
||||
*
|
||||
* 수정일 수정자 수정내용
|
||||
* ------- -------- ---------------------------
|
||||
* 2026-04-27 이대환 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
* @since 2026-04-27
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/mngr/setup/guidance")
|
||||
@Slf4j
|
||||
public class GuidanceController {
|
||||
|
||||
/** WebClient 호출을 위한 wrapper */
|
||||
@Autowired
|
||||
WnbtWebClientResponseHandler responseHandler;
|
||||
|
||||
@Autowired
|
||||
private SendToResrc sendToResrc;
|
||||
|
||||
/** 공통 메시지 처리를 위한 메시지 객체 */
|
||||
@Autowired
|
||||
private GconeMessageSource gconeMessageSource;
|
||||
|
||||
@Autowired
|
||||
private BOGuidanceService service;
|
||||
|
||||
@Autowired
|
||||
private BOMaSopmalService bOMaSopmalService;
|
||||
|
||||
/**
|
||||
* 안내문구 설정 페이지 이동
|
||||
*
|
||||
* @param boMaSopmalVO
|
||||
* @return NbkkSetupListR.jsp
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value = "/selectGuidanceSetup")
|
||||
public String selectNbkkSetupList(BOMaSopmalVO boMaSopmalVO, ModelMap model, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
DataMap content = new DataMap();
|
||||
|
||||
boMaSopmalVO.setSopmalCd(authSopmalCd);
|
||||
content.put("sopmalDetailList", bOMaSopmalService.selectBOSopmalUpdtForm(boMaSopmalVO));
|
||||
|
||||
model.addAttribute("resultMap", content);
|
||||
model.addAttribute("sopmalCd", authSopmalCd);
|
||||
|
||||
return "mngr/setup/guidance/GuidanceUpdtU";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 안내문구 설정 수정
|
||||
*
|
||||
* @param boGuidanceVO
|
||||
* @return ResponseEntity<WnbtResponse>
|
||||
*/
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@PostMapping(value = "/updateGuidanceSetup", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<WnbtResponse> updateGuidanceSetup(@Validated BOGuidanceVO boGuidanceVO, BindingResult bindingResult, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
//등록자 수정자 set
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
boGuidanceVO.setRegusr(user.getUserInnb());
|
||||
boGuidanceVO.setUpdusr(user.getUserInnb());
|
||||
boGuidanceVO.setSopmalCd(authSopmalCd);
|
||||
|
||||
if (bindingResult.hasErrors()) {
|
||||
throw new WnbtRestException(ValidateResultConverter.convert(bindingResult, gconeMessageSource));
|
||||
}
|
||||
|
||||
DataMap message = service.updateBOGuidanceSetup(boGuidanceVO.setBOMaSopmalVO());
|
||||
|
||||
return ResponseEntity.ok(
|
||||
WnbtResponse.builder()
|
||||
.resBody(new WnbtResponseBody(message))
|
||||
.build()
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.wb.domainserver.domain.mngr.setup.ordr.controller;
|
||||
|
||||
import com.wb.domainserver.common.msg.GconeMessageSource;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.service.BOMaSopmalService;
|
||||
import com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO;
|
||||
import com.wb.domainserver.domain.gcone.setup.ordrmngr.service.BOOrdrMngrService;
|
||||
import com.wb.domainserver.domain.gcone.setup.ordrmngr.vo.BOSetupOrdrVO;
|
||||
import com.wb.domainserver.exception.WnbtRestException;
|
||||
@@ -13,6 +15,7 @@ import com.wb.domainserver.security.authorization.annotation.AuthPolicy;
|
||||
import com.wb.domainserver.security.authorization.annotation.Policy;
|
||||
import com.wb.domainserver.util.communicate.SendToResrc;
|
||||
import com.wb.domainserver.util.communicate.ValidateResultConverter;
|
||||
import com.wb.domainserver.util.dataaccess.DataMap;
|
||||
import com.wb.domainserver.util.string.StringUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -63,6 +66,8 @@ public class SetupOrdrController {
|
||||
|
||||
@Autowired
|
||||
private BOOrdrMngrService service;
|
||||
@Autowired
|
||||
private BOMaSopmalService bOMaSopmalService;
|
||||
|
||||
|
||||
/**
|
||||
@@ -73,15 +78,14 @@ public class SetupOrdrController {
|
||||
@Policy(AuthPolicy.RESTRICTED)
|
||||
@RequestMapping(value="/selectOrdrSetupList")
|
||||
public String selectOrdrSetupList(ModelMap model, BOSetupOrdrVO boOrdrVO, @CookieValue(value = "authSopmalCd") String authSopmalCd) {
|
||||
DataMap content = new DataMap();
|
||||
|
||||
boOrdrVO.setSopmalCd(authSopmalCd);
|
||||
content.put("ordrSetupList", service.selectBOOrdrSetupList(boOrdrVO));
|
||||
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
if("01".equals(user.getSysDvCd())){
|
||||
boOrdrVO.setSopmalCd(user.getSopmalCd());
|
||||
}
|
||||
|
||||
Map<String, Object> content = service.selectBOOrdrSetupList(boOrdrVO);
|
||||
BOMaSopmalVO boMaSopmalVO = new BOMaSopmalVO();
|
||||
boMaSopmalVO.setSopmalCd(authSopmalCd);
|
||||
content.put("sopmalDetailList", bOMaSopmalService.selectBOSopmalUpdtForm(boMaSopmalVO));
|
||||
|
||||
model.addAttribute("resultMap", content);
|
||||
// responseHandler.handleResponse(
|
||||
@@ -154,6 +158,19 @@ public class SetupOrdrController {
|
||||
vo.setMlgMxmmPymntAmt(null);
|
||||
}
|
||||
|
||||
//마일리지 사용 조건 파라미터 정제
|
||||
if(!StringUtil.isEmpty(vo.getMlgHoldUseAmt()))
|
||||
vo.setMlgHoldUseAmt(StringUtil.removeCommaChar(vo.getMlgHoldUseAmt()));
|
||||
|
||||
if(!StringUtil.isEmpty(vo.getMlgSetleAmtUseAmt()))
|
||||
vo.setMlgSetleAmtUseAmt(StringUtil.removeCommaChar(vo.getMlgSetleAmtUseAmt()));
|
||||
|
||||
if(!StringUtil.isEmpty(vo.getMlgMummUseAmt()))
|
||||
vo.setMlgMummUseAmt(StringUtil.removeCommaChar(vo.getMlgMummUseAmt()));
|
||||
|
||||
if(!StringUtil.isEmpty(vo.getMlgMxmmUseAmt()))
|
||||
vo.setMlgMxmmUseAmt(StringUtil.removeCommaChar(vo.getMlgMxmmUseAmt()));
|
||||
|
||||
//등록자 수정자 set
|
||||
AnonymousUser user = MemberJwtContextHolder.getMemberInfo();
|
||||
if("01".equals(user.getSysDvCd())){
|
||||
|
||||
@@ -1015,4 +1015,14 @@ public class MainController {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 연령확인 팝업
|
||||
* @return
|
||||
*/
|
||||
@Policy(AuthPolicy.PUBLIC)
|
||||
@RequestMapping(value="/sopmal/main/selectAgeChkPopup", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public String selectAgeChkPopup(HttpServletRequest request) {
|
||||
return Util.getDeviceType(request)+"/main/AgeChkPopupR";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -947,6 +947,37 @@
|
||||
SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 쇼핑몰 환율 설정 수정 -->
|
||||
<update id="updateBOExchngrtSetup" parameterType="com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO" >
|
||||
UPDATE
|
||||
GC_SHOP
|
||||
SET BUY_RATE = #{buyRate},
|
||||
SELL_RATE = #{sellRate},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 쇼핑몰 안내문구 설정 수정 -->
|
||||
<update id="updateBOGuidanceSetup" parameterType="com.wb.domainserver.domain.admin.store.sopmal.vo.BOMaSopmalVO" >
|
||||
UPDATE
|
||||
GC_SHOP
|
||||
SET JOIN_GUIDANCE_SJ = #{joinGuidanceSj},
|
||||
JOIN_GUIDANCE_WORDS = #{joinGuidanceWords},
|
||||
JOIN_BNEF = #{joinBnef},
|
||||
JOIN_COMPT_WORDS = #{joinComptWords},
|
||||
SUBSVC_GUIDANCE_WORDS = #{subsvcGuidanceWords},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 쇼핑몰 사업자 정보 삭제 -->
|
||||
<delete id="deteteBOShopCompany" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||
|
||||
|
||||
@@ -374,106 +374,103 @@
|
||||
SOPMAL_CD,
|
||||
EVT_INNB,
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnCnt)">
|
||||
BGN_CNT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endCnt)">
|
||||
END_CNT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnAmt)">
|
||||
BGN_AMT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endAmt)">
|
||||
END_AMT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(provdCnt)">
|
||||
PROVD_CNT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(aditDscntCd)">
|
||||
ADIT_DSCNT_CD,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(aditDscntAmt)">
|
||||
ADIT_DSCNT_AMT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dscntMxmmAmt)">
|
||||
DSCNT_MXMM_AMT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgAccmlCd)">
|
||||
MLG_ACCML_CD,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgAccmlAmt)">
|
||||
MLG_ACCML_AMT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgValidMtCnt)">
|
||||
MLG_VALID_MT_CNT,
|
||||
</if>
|
||||
<![CDATA[
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnCnt)">
|
||||
BGN_CNT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endCnt)">
|
||||
END_CNT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnAmt)">
|
||||
BGN_AMT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endAmt)">
|
||||
END_AMT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(provdCnt)">
|
||||
PROVD_CNT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(aditDscntCd)">
|
||||
ADIT_DSCNT_CD,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(aditDscntAmt)">
|
||||
ADIT_DSCNT_AMT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dscntMxmmAmt)">
|
||||
DSCNT_MXMM_AMT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgAccmlCd)">
|
||||
MLG_ACCML_CD,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgAccmlAmt)">
|
||||
MLG_ACCML_AMT,
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgValidMtCnt)">
|
||||
MLG_VALID_MT_CNT,
|
||||
</if>
|
||||
<![CDATA[
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
) SELECT
|
||||
) VALUES (
|
||||
#{seq},
|
||||
#{sopmalCd},
|
||||
#{evtInnb},
|
||||
]]>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnCnt)">
|
||||
REPLACE(#{bgnCnt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endCnt)">
|
||||
REPLACE(#{endCnt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnAmt)">
|
||||
REPLACE(#{bgnAmt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endAmt)">
|
||||
REPLACE(#{endAmt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(provdCnt)">
|
||||
#{provdCnt},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(aditDscntCd)">
|
||||
#{aditDscntCd},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(aditDscntAmt)">
|
||||
REPLACE(#{aditDscntAmt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dscntMxmmAmt)">
|
||||
REPLACE(#{dscntMxmmAmt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgAccmlCd)">
|
||||
#{mlgAccmlCd},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgAccmlAmt)">
|
||||
REPLACE(#{mlgAccmlAmt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgValidMtCnt)">
|
||||
REPLACE(#{mlgValidMtCnt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnCnt)">REPLACE(#{bgnCnt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endCnt)">REPLACE(#{endCnt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bgnAmt)">
|
||||
REPLACE(#{bgnAmt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(endAmt)">
|
||||
REPLACE(#{endAmt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(provdCnt)">
|
||||
#{provdCnt},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(aditDscntCd)">
|
||||
#{aditDscntCd},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(aditDscntAmt)">
|
||||
REPLACE(#{aditDscntAmt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(dscntMxmmAmt)">
|
||||
REPLACE(#{dscntMxmmAmt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgAccmlCd)">
|
||||
#{mlgAccmlCd},
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgAccmlAmt)">
|
||||
REPLACE(#{mlgAccmlAmt}, ',', ''),
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(mlgValidMtCnt)">
|
||||
REPLACE(#{mlgValidMtCnt}, ',', ''),
|
||||
</if>
|
||||
<![CDATA[
|
||||
'Y',
|
||||
#{regusr},
|
||||
SYSDATE(),
|
||||
#{updusr},
|
||||
SYSDATE()
|
||||
FROM
|
||||
GC_EVENT_BENEFITS
|
||||
ON DUPLICATE KEY UPDATE
|
||||
BGN_CNT = VALUES(BGN_CNT),
|
||||
END_CNT = VALUES(END_CNT),
|
||||
BGN_AMT = VALUES(BGN_AMT),
|
||||
END_AMT = VALUES(END_AMT),
|
||||
PROVD_CNT = VALUES(PROVD_CNT),
|
||||
ADIT_DSCNT_CD = VALUES(ADIT_DSCNT_CD),
|
||||
ADIT_DSCNT_AMT = VALUES(ADIT_DSCNT_AMT),
|
||||
DSCNT_MXMM_AMT = VALUES(DSCNT_MXMM_AMT),
|
||||
MLG_ACCML_CD = VALUES(MLG_ACCML_CD),
|
||||
MLG_ACCML_AMT = VALUES(MLG_ACCML_AMT),
|
||||
MLG_VALID_MT_CNT = VALUES(MLG_VALID_MT_CNT),
|
||||
REGUSR = VALUES(REGUSR),
|
||||
UPDUSR = VALUES(UPDUSR),
|
||||
UPDT_DT = VALUES(UPDT_DT)
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
BGN_CNT = VALUES(BGN_CNT),
|
||||
END_CNT = VALUES(END_CNT),
|
||||
BGN_AMT = VALUES(BGN_AMT),
|
||||
END_AMT = VALUES(END_AMT),
|
||||
PROVD_CNT = VALUES(PROVD_CNT),
|
||||
ADIT_DSCNT_CD = VALUES(ADIT_DSCNT_CD),
|
||||
ADIT_DSCNT_AMT = VALUES(ADIT_DSCNT_AMT),
|
||||
DSCNT_MXMM_AMT = VALUES(DSCNT_MXMM_AMT),
|
||||
MLG_ACCML_CD = VALUES(MLG_ACCML_CD),
|
||||
MLG_ACCML_AMT = VALUES(MLG_ACCML_AMT),
|
||||
MLG_VALID_MT_CNT = VALUES(MLG_VALID_MT_CNT),
|
||||
REGUSR = VALUES(REGUSR),
|
||||
UPDUSR = VALUES(UPDUSR),
|
||||
UPDT_DT = VALUES(UPDT_DT)
|
||||
]]>
|
||||
</insert>
|
||||
|
||||
|
||||
@@ -42,7 +42,12 @@
|
||||
<!--주문 설정 수정-->
|
||||
<update id="updateBOOrdrSetup">
|
||||
UPDATE GC_SHOP
|
||||
SET MLG_PYMNT_AT = #{mlgPymntAt},
|
||||
SET CASH_AT = IFNULL(#{cashAt},'N'),
|
||||
MULTI_DLVY_AT = IFNULL(#{multiDlvyAt},'N'),
|
||||
FDRM_DLVY_AT = IFNULL(#{fdrmDlvyAt},'N'),
|
||||
GIFT_DLVY_AT = IFNULL(#{giftDlvyAt},'N'),
|
||||
GIFT_DLVY_ATMC_CANCL_PD = #{giftDlvyAtmcCanclPd},
|
||||
MLG_PYMNT_AT = #{mlgPymntAt},
|
||||
MLG_PYMNT_DV_CD = #{mlgPymntDvCd},
|
||||
MLG_PYMNT_RT = REPLACE(#{mlgPymntRt},',',''),
|
||||
MLG_MXMM_PYMNT_AMT = REPLACE(#{mlgMxmmPymntAmt},',',''),
|
||||
@@ -63,11 +68,13 @@
|
||||
MLG_VALID_PD_AT = 'Y',
|
||||
</otherwise>
|
||||
</choose>
|
||||
CASH_AT = IFNULL(#{cashAt},'N'),
|
||||
MULTI_DLVY_AT = IFNULL(#{multiDlvyAt},'N'),
|
||||
FDRM_DLVY_AT = IFNULL(#{fdrmDlvyAt},'N'),
|
||||
GIFT_DLVY_AT = IFNULL(#{giftDlvyAt},'N'),
|
||||
GIFT_DLVY_ATMC_CANCL_PD = #{giftDlvyAtmcCanclPd}
|
||||
MLG_HOLD_USE_AMT = #{mlgHoldUseAmt},
|
||||
MLG_SETLE_AMT_USE_AMT = #{mlgSetleAmtUseAmt},
|
||||
MLG_MUMM_USE_AMT = #{mlgMummUseAmt},
|
||||
MLG_MXMM_USE_DV = #{mlgMxmmUseDv},
|
||||
MLG_MXMM_USE_AMT = #{mlgMxmmUseAmt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
|
||||
@@ -1850,6 +1850,47 @@ function validateInput(input, opts = {}) {
|
||||
});
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
form데이터 sealize 후 json 스트링 형태로 전환
|
||||
************************************************************ */
|
||||
function queryToJson(queryString) {
|
||||
let jsonObj = {};
|
||||
let pairs = queryString.split("&");
|
||||
|
||||
$.each(pairs, function (index, pair) {
|
||||
let [key, value] = pair.split("=");
|
||||
if(!fn_is_empty(value)){
|
||||
jsonObj[key] = value ? decodeURIComponent(value) : "";
|
||||
}
|
||||
});
|
||||
const jsonStr = JSON.stringify(jsonObj);
|
||||
return jsonStr;
|
||||
}
|
||||
|
||||
/************************************************************
|
||||
치환코드 입력
|
||||
* @param eventObj : 클릭객체
|
||||
* @param closestSelector : 가까운 객체
|
||||
* @param targetTextAreaSelector : textarea타겟대상
|
||||
* @property obj : 클릭한 객체
|
||||
* @property existingVal : 기존 텍스트 아리아 값
|
||||
* @property addStr : 추가할 치환 코드
|
||||
* @description 치환 문자 td 클래스에 subst 클래스 부여
|
||||
************************************************************ */
|
||||
function fn_set_substituon_in_texatarea(eventObj, closestSelector, targetTextAreaSelector) {
|
||||
const obj = $(eventObj);
|
||||
let existingVal = $("#"+targetTextAreaSelector).val();
|
||||
let addStr;
|
||||
const addStrT = obj.closest(closestSelector).find(".subst").text();
|
||||
const addStrV = obj.closest(closestSelector).find(".subst").val();
|
||||
if(!fn_is_empty(addStrT)){
|
||||
addStr = addStrT;
|
||||
}else{
|
||||
addStr = addStrV;
|
||||
}
|
||||
existingVal = existingVal + " " +addStr;
|
||||
$("#"+targetTextAreaSelector).val(existingVal);
|
||||
}
|
||||
|
||||
/* ************************************************************
|
||||
* 인피니티 스크롤 공통 처리 (footer가 보이면 callback함수 호출)
|
||||
|
||||
@@ -381,7 +381,7 @@ since : 2023.12.19 김세엽 최초 생성
|
||||
url : '<c:url value="/admin/use/mngr/insertJobUserRegist"/>',
|
||||
data : params,
|
||||
success:function(result) {
|
||||
let mngrInnb = JSON.parse(result.resBody.result);
|
||||
let mngrInnb = JSON.parse(result.resBody.result).mngrInnb;
|
||||
$('#backupForm').find('[name=mngrInnb]').val(mngrInnb);
|
||||
$('#backupForm').find('[name=pageDv]').val('I');
|
||||
|
||||
|
||||
@@ -372,9 +372,8 @@
|
||||
fn_reflesh_cart_cnt()
|
||||
|
||||
|
||||
/*비밀번호 변경 알림 여부 확인*/
|
||||
$(document).ready(function () {
|
||||
|
||||
/*비밀번호 변경 알림 여부 확인*/
|
||||
const url = '<c:url value="/sopmal/mbr/selectPasswordChng"/>';
|
||||
const originalUrl = window.location.href;
|
||||
let passwordAt = '<%=(String)session.getAttribute("passwordChngDeAt")%>'
|
||||
@@ -383,6 +382,15 @@
|
||||
location.href = url + '?originalUrl=' + encodeURIComponent(originalUrl);
|
||||
}
|
||||
|
||||
/*연령확인 여부 확인*/
|
||||
let ageChked = getCookieValue("ageChk");
|
||||
if(!ageChked) {
|
||||
fn_open_modal(
|
||||
'#ageChkPopupDiv',
|
||||
'#ageChkPopup',
|
||||
'/sopmal/main/selectAgeChkPopup'
|
||||
);
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -398,6 +406,7 @@
|
||||
}%>
|
||||
<input type="hidden" id="adscriptMbrId" value="${adscriptMbrId}"/>
|
||||
<div id="mbrMarktClauseAgreeDiv"></div>
|
||||
<div id="ageChkPopupDiv"></div>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -466,6 +475,14 @@
|
||||
|
||||
}
|
||||
|
||||
//쿠키 값 가져오기
|
||||
const getCookieValue = function(name) {
|
||||
let matches = document.cookie.match(
|
||||
new RegExp('(?:^|; )' + name + '=([^;]*)')
|
||||
);
|
||||
return matches ? matches[1] : null;
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<!--로딩영역-->
|
||||
|
||||
@@ -90,6 +90,9 @@
|
||||
<%--theme적용--%>
|
||||
<link rel="stylesheet" type="text/css" href="<c:out value="${sopmallInfo.themaPath}"/>">
|
||||
|
||||
<%--font적용--%>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR&family=Noto+Sans+JP&display=swap" rel="stylesheet">
|
||||
|
||||
<%--Web-App연동 스크립트--%>
|
||||
<script src="/mobile/js/bnft/common/Common_app.js" defer=""></script>
|
||||
|
||||
@@ -361,6 +364,8 @@
|
||||
loadRecentSearches();
|
||||
|
||||
passwordChngDeAt();
|
||||
|
||||
ageChkAt();
|
||||
|
||||
fn_save_mbrdvc_info(${isAuthenticated});
|
||||
});
|
||||
@@ -470,6 +475,31 @@
|
||||
}
|
||||
}
|
||||
|
||||
/*연령확인 여부 확인 */
|
||||
function ageChkAt() {
|
||||
let ageChked = getCookieValue("ageChk");
|
||||
if(!ageChked) {
|
||||
openModal('confirm_ageChk_alert');
|
||||
}
|
||||
}
|
||||
|
||||
const fn_ageChk_yes = function() {
|
||||
closeModal('confirm_ageChk_alert')
|
||||
document.cookie = "ageChk=true; path=/; max-age=86400";
|
||||
}
|
||||
|
||||
const fn_ageChk_no = function() {
|
||||
window.location.href = "https://m.search.naver.com/search.naver?query=사케일잔";
|
||||
}
|
||||
|
||||
//쿠키 값 가져오기
|
||||
const getCookieValue = function(name) {
|
||||
let matches = document.cookie.match(
|
||||
new RegExp('(?:^|; )' + name + '=([^;]*)')
|
||||
);
|
||||
return matches ? matches[1] : null;
|
||||
}
|
||||
|
||||
// 최근 검색어 저장
|
||||
function saveSearch(param) {
|
||||
let searches = JSON.parse(localStorage.getItem('recentSearches')) || [];
|
||||
@@ -755,6 +785,32 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%--연령확인 모달--%>
|
||||
<div class="microModal microAlert" id="confirm_ageChk_alert" aria-hidden="true" style="font-family: 'Noto Sans JP', 'Noto Sans KR', sans-serif;">
|
||||
<div class="microModal__overlay" tabindex="-1">
|
||||
<div class="microModal__container" role="dialog" aria-modal="true" style="width: 350px;">
|
||||
<div class="microModal__body">
|
||||
<div class="microModal__top">
|
||||
<p class="alert-content__text" style="font-size: 20px;">
|
||||
満20歳以上ですか?<br>
|
||||
(만20세 이상입니까?)
|
||||
</p>
|
||||
<br>
|
||||
<p class="alert-content__text--sm" style="font-size: 15px;">
|
||||
20歳未満の飲酒は法律で禁止されています。<br>
|
||||
(20세 미만의 음주는 법으로 금지되어 있습니다.)
|
||||
</p>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
<div class="microModal__btnContainer">
|
||||
<button class="microModal__btn microModal__btn-primary" onclick="fn_ageChk_yes();">はい (예)</button>
|
||||
<button class="microModal__btn" onclick="fn_ageChk_no()">いいえ (아니오)</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%--cutom 확인 모달--%>
|
||||
<div class="microModal microAlert" id="custom_confirm_alert" aria-hidden="true" style="position: relative; z-index: 1010;">
|
||||
<div class="microModal__overlay" tabindex="-1">
|
||||
@@ -870,7 +926,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 햄버거 메뉴 모달 -->
|
||||
<div class="microModal microFullMenu" id="hamburger-menu" aria-hidden="true">
|
||||
<div class="microModal__overlay" tabindex="-1">
|
||||
@@ -885,12 +940,12 @@
|
||||
<div class="microModal__content">
|
||||
<div class="fullMenu">
|
||||
<c:if test="${not isAuthenticated}">
|
||||
<div class="sub-box">
|
||||
<div class="fullMenu__top">
|
||||
<button type="button" class="btn md outline" onclick="fn_move_login();">로그인</button>
|
||||
<button type="button" class="btn md theme" onclick="location.href='/sopmal/mbr/selectJoinGuidance'; setTopMenuCode(); ">회원가입</button>
|
||||
<div class="sub-box">
|
||||
<div class="fullMenu__top">
|
||||
<button type="button" class="btn md outline" onclick="fn_move_login();">로그인</button>
|
||||
<button type="button" class="btn md theme" onclick="location.href='/sopmal/mbr/selectJoinGuidance'; setTopMenuCode(); ">회원가입</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="sub-box">
|
||||
<div class="fullMenu__top">
|
||||
@@ -921,15 +976,15 @@
|
||||
<div class="member-rank-summary__summary">
|
||||
<a href="/sopmal/mpage/bnef/selectMlgDtlsInqireForm" class="member-rank-summary__summary-item">
|
||||
<img src="/mobile/images/icon_member-rank-mileage.png"
|
||||
alt="">
|
||||
alt="">
|
||||
<div class="member-rank-summary__summary-description">
|
||||
<span class="member-rank-summary__summary-name">마일리지</span>
|
||||
<p class="member-rank-summary__summary-numberContainer">
|
||||
<span
|
||||
class="member-rank-summary__summary-number comma"
|
||||
id = "hambergerMbrMlgAmt"></span>
|
||||
class="member-rank-summary__summary-number comma"
|
||||
id = "hambergerMbrMlgAmt"></span>
|
||||
<span
|
||||
class="member-rank-summary__summary-numberUnit">원</span>
|
||||
class="member-rank-summary__summary-numberUnit">원</span>
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
@@ -940,7 +995,7 @@
|
||||
<p class="member-rank-summary__summary-numberContainer">
|
||||
<span class="member-rank-summary__summary-number comma" id = "hambergerCoupnCnt"></span>
|
||||
<span
|
||||
class="member-rank-summary__summary-numberUnit">장</span>
|
||||
class="member-rank-summary__summary-numberUnit">장</span>
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
@@ -950,9 +1005,9 @@
|
||||
<span class="member-rank-summary__summary-name">위시리스트</span>
|
||||
<p class="member-rank-summary__summary-numberContainer">
|
||||
<span class="member-rank-summary__summary-number comma"
|
||||
id = "hambergerWslistCnt"></span>
|
||||
id = "hambergerWslistCnt"></span>
|
||||
<span
|
||||
class="member-rank-summary__summary-numberUnit">개</span>
|
||||
class="member-rank-summary__summary-numberUnit">개</span>
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
@@ -968,37 +1023,39 @@
|
||||
<ul class="side_menu accordion">
|
||||
<c:if test="${!empty sopmallInfo}">
|
||||
<c:forEach var="topMenuList" items="${sopmallInfo.menuList}" varStatus="status">
|
||||
<c:if test="${topMenuList.ctgryDvCd eq '01' && topMenuList.menuExpsrAt eq 'Y'}">
|
||||
<c:if test="${topMenuList.rnum eq '2'}">
|
||||
<c:set var="mDpth3Chk" value="N"/>
|
||||
<li class="isSub list">
|
||||
<div class="isSubDv">
|
||||
<a href="<c:out value="${topMenuList.url}"/>" class="depth"><c:out value ="${topMenuList.ctgryNm}"/><em class="visually-hidden">상세내용닫기</em></a>
|
||||
<a href="<c:out value="${topMenuList.url}"/>" class="moer"></a>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${'3' eq topMenuList.rnum}">
|
||||
<!-- 메뉴 하위가 메뉴인 경우-->
|
||||
<c:if test="${chkUpperMenuCd ne topMenuList.upperCtgryId}">
|
||||
<c:set var="mDpth3Chk" value="Y"/>
|
||||
<ul class="view">
|
||||
</c:if>
|
||||
<li><a href='<c:out value="${topMenuList.url}"/>'><c:out value ="${topMenuList.ctgryNm}"/></a></li>
|
||||
</c:if>
|
||||
<c:if test="${topMenuList.rnum < 4}">
|
||||
<c:set var="chkUpperMenuCd" value="${topMenuList.upperCtgryId}"/>
|
||||
</c:if>
|
||||
</c:if>
|
||||
<c:if test="${topMenuList.ctgryDvCd eq '01'}">
|
||||
|
||||
<c:if test="${'3' eq topMenuList.rnum && '0' eq topMenuList.nextDepth3 && '0' eq topMenuList.nextDepth2}">
|
||||
<c:if test="${'Y' eq mDpth3Chk}">
|
||||
</ul>
|
||||
<c:if test="${topMenuList.gnbExpsrAt eq 'Y'}">
|
||||
<c:if test="${topMenuList.rnum eq '2'}">
|
||||
<c:set var="mDpth3Chk" value="N"/>
|
||||
<li class="isSub list">
|
||||
<div class="isSubDv">
|
||||
<a href="<c:out value="${topMenuList.url}"/>" class="depth"><c:out value ="${topMenuList.ctgryNm}"/><em class="visually-hidden">상세내용닫기</em></a>
|
||||
<a href="<c:out value="${topMenuList.url}"/>" class="moer"></a>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${topMenuList.rnum eq '3'}">
|
||||
<!-- 메뉴 하위가 메뉴인 경우-->
|
||||
<c:if test="${chkUpperMenuCd ne topMenuList.upperCtgryId}">
|
||||
<c:set var="mDpth3Chk" value="Y"/>
|
||||
<ul class="view">
|
||||
</c:if>
|
||||
<li><a href='<c:out value="${topMenuList.url}"/>'><c:out value ="${topMenuList.ctgryNm}"/></a></li>
|
||||
</c:if>
|
||||
<c:if test="${topMenuList.rnum < 4}">
|
||||
<c:set var="chkUpperMenuCd" value="${topMenuList.upperCtgryId}"/>
|
||||
</c:if>
|
||||
</li>
|
||||
</c:if>
|
||||
<c:if test="${'2' eq topMenuList.rnum && '0' eq topMenuList.nextDepth3 && '0' eq topMenuList.nextDepth2}">
|
||||
</li>
|
||||
|
||||
<c:if test="${topMenuList.nextDepth3 eq '0' && topMenuList.nextDepth2 eq '0'}">
|
||||
<c:if test="${topMenuList.rnum eq '2'}">
|
||||
</li>
|
||||
</c:if>
|
||||
<c:if test="${topMenuList.rnum eq '3'}">
|
||||
<c:if test="${mDpth3Chk eq 'Y'}">
|
||||
</ul>
|
||||
</c:if>
|
||||
</li>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
@@ -1006,38 +1063,71 @@
|
||||
</ul>
|
||||
<!-- 최근 본 상품(SIDE) -->
|
||||
<div class="recently_side" id = "recentlySite">
|
||||
<%--<div class="swiper recentlySide-swiper">
|
||||
<div class="swiper-wrapper" id="recentlySite">
|
||||
|
||||
<div class="swiper-slide recentlySide__image">
|
||||
<a href="">
|
||||
<img src="/mobile/images/상품이미지01.png" alt="해당 이미지에 대한 설명">
|
||||
</a>
|
||||
</div>
|
||||
<div class="swiper-slide recentlySide__image">
|
||||
<a href="">
|
||||
<img src="/mobile/images/상품이미지01.png" alt="해당 이미지에 대한 설명">
|
||||
</a>
|
||||
</div>
|
||||
<div class="swiper-slide recentlySide__image">
|
||||
<a href="">
|
||||
<img src="/mobile/images/상품이미지01.png" alt="해당 이미지에 대한 설명">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="swiper-slide recentlySide__image">
|
||||
<a href="">
|
||||
<img src="/mobile/images/상품이미지01.png" alt="해당 이미지에 대한 설명">
|
||||
</a>
|
||||
</div>
|
||||
<div class="swiper-slide recentlySide__image">
|
||||
<a href="">
|
||||
<img src="/mobile/images/상품이미지01.png" alt="해당 이미지에 대한 설명">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="swiper-pagination theme-pagination"></div>
|
||||
</div>--%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-box">
|
||||
<div class="fullMenu__miscLinks">
|
||||
<h5 class="fullMenu__miscLinks__title">서비스</h5>
|
||||
<ul class="fullMenu__miscLinks__list">
|
||||
<li>
|
||||
<a href="/sopmal/csc/selectCscMainForm" class="fullMenu__miscLinks__link">고객센터</a>
|
||||
</li>
|
||||
<c:if test="${sopmallInfo.shopInfo.sopmalCd eq 'NC' && sopmallInfo.shopInfo.sopmalCd eq 'CH'}"><%--뉴트리코어,참다한만--%>
|
||||
<li><a href="/sopmal/main/selectStrListForm" class="fullMenu__miscLinks__link">매장안내</a></li>
|
||||
</c:if>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="fullMenu__miscLinks">
|
||||
<h5 class="fullMenu__miscLinks__title">서비스</h5>
|
||||
<ul class="fullMenu__miscLinks__list">
|
||||
<li>
|
||||
<a href="/sopmal/csc/selectCscMainForm" class="fullMenu__miscLinks__link">고객센터</a>
|
||||
</li>
|
||||
<c:if test="${sopmallInfo.shopInfo.sopmalCd eq 'NC' && sopmallInfo.shopInfo.sopmalCd eq 'CH'}"><%--뉴트리코어,참다한만--%>
|
||||
<li><a href="/sopmal/main/selectStrListForm" class="fullMenu__miscLinks__link">매장안내</a></li>
|
||||
</c:if>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test = "${sopmallInfo.shopInfo.cscTelnbOrdrPosblAt eq 'Y'}">
|
||||
<div class="sub-box">
|
||||
<div class="mainNotice__customerContact mainNotice__customerContact--moreInfo">
|
||||
<i class="icon icon_notice03"></i>
|
||||
<div class="mainNotice__customerContact__right">
|
||||
<h4 class="notice__title customer-service">고객센터</h4>
|
||||
<span class="notice__number"><c:out value="${sopmallInfo.shopInfo.cscTelnb}"/></span>
|
||||
<p class="notice__paragraph">
|
||||
<span class="notice__text01"><c:out value="${sopmallInfo.shopInfo.cscWkdayWorkTme}"/></span>
|
||||
<span class="notice__text02">(<c:out value="${sopmallInfo.shopInfo.cscLunchTme}"/>)</span>
|
||||
<br>
|
||||
<span class="notice__text03"><c:out value="${sopmallInfo.shopInfo.cscRstde}"/></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-box">
|
||||
<div class="mainNotice__customerContact mainNotice__customerContact--moreInfo">
|
||||
<i class="icon icon_notice03"></i>
|
||||
<div class="mainNotice__customerContact__right">
|
||||
<h4 class="notice__title customer-service">고객센터</h4>
|
||||
<span class="notice__number"><c:out value="${sopmallInfo.shopInfo.cscTelnb}"/></span>
|
||||
<p class="notice__paragraph">
|
||||
<span class="notice__text01"><c:out value="${sopmallInfo.shopInfo.cscWkdayWorkTme}"/></span>
|
||||
<span class="notice__text02">(<c:out value="${sopmallInfo.shopInfo.cscLunchTme}"/>)</span>
|
||||
<br>
|
||||
<span class="notice__text03"><c:out value="${sopmallInfo.shopInfo.cscRstde}"/></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1087,6 +1177,7 @@
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<%--광고스크립트 정보--%>
|
||||
<input type="hidden" id="adScriptDeviceTy" value="${deviceType}"/>
|
||||
<% String adscriptMbrId = "";
|
||||
|
||||
@@ -31,243 +31,4 @@
|
||||
<div class="tab-bar__bg">
|
||||
<div class="tab-bar__bg-fraction"></div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<!-- 햄버거 메뉴 모달 -->
|
||||
<div class="microModal microFullMenu" id="hamburger-menu" aria-hidden="true">
|
||||
<div class="microModal__overlay" tabindex="-1">
|
||||
<div class="microModal__container" role="dialog" aria-modal="true">
|
||||
<div class="microModal__body" id = "hambergerModal">
|
||||
<div class="microModal__top">
|
||||
<h2 class="microModal__title">
|
||||
전체메뉴
|
||||
</h2>
|
||||
<button type="button" class="microModal__close" onclick="closeModal('hamburger-menu');"></button>
|
||||
</div>
|
||||
<div class="microModal__content">
|
||||
<div class="fullMenu">
|
||||
<c:if test="${not isAuthenticated}">
|
||||
<div class="sub-box">
|
||||
<div class="fullMenu__top">
|
||||
<button type="button" class="btn md outline" onclick="fn_move_login();">로그인</button>
|
||||
<button type="button" class="btn md theme" onclick="location.href='/sopmal/mbr/selectJoinGuidance'; setTopMenuCode(); ">회원가입</button>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="sub-box">
|
||||
<div class="fullMenu__top">
|
||||
<div class="member-rank-summary">
|
||||
<div class="textBtns">
|
||||
<a href="/sopmal/ordr/selectSpbk" class="textBtns__btn">장바구니</a>
|
||||
<c:choose>
|
||||
<c:when test="${isAuthenticated}"><%--회원일시--%>
|
||||
<a href="/sopmal/mpage/mbr/selectMpageMainInqire" class="textBtns__btn">마이페이지</a>
|
||||
<a href="/sopmal/logout" class="textBtns__btn">로그아웃</a>
|
||||
</c:when>
|
||||
<c:otherwise><%--비회원일시--%>
|
||||
<a href="/sopmal/mpage/ordr/selectMbrOrdrListInqire" class="textBtns__btn">주문조회</a>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
<c:if test = "${isAuthenticated}">
|
||||
<div class="member-rank-summary__top">
|
||||
<div class="member-rank-summary__icon" id = "hambergerGradImg"></div>
|
||||
<a href="/sopmal/mpage/mbr/selectMpageMainInqire" class="member-rank-summary__user">
|
||||
<span class="member-rank-summary__rank" id = "hambergerGradNm"></span>
|
||||
<span class="member-rank-summary__name" id = "hambergermbrNm"></span>
|
||||
</a>
|
||||
<a class="member-rank-summary__benefit-link" href="/sopmal/mpage/bnef/selectMbrGradInqire">등급별 혜택</a>
|
||||
</div>
|
||||
<div class="member-rank-summary__bottom">
|
||||
<div class="member-rank-summary__summary">
|
||||
<a href="/sopmal/mpage/bnef/selectMlgDtlsInqireForm" class="member-rank-summary__summary-item">
|
||||
<img src="/mobile/images/icon_member-rank-mileage.png"
|
||||
alt="">
|
||||
<div class="member-rank-summary__summary-description">
|
||||
<span class="member-rank-summary__summary-name">마일리지</span>
|
||||
<p class="member-rank-summary__summary-numberContainer">
|
||||
<span
|
||||
class="member-rank-summary__summary-number comma"
|
||||
id = "hambergerMbrMlgAmt"></span>
|
||||
<span
|
||||
class="member-rank-summary__summary-numberUnit">원</span>
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
<a href="/sopmal/mpage/bnef/selectCouponDtlsForm" class="member-rank-summary__summary-item">
|
||||
<img src="/mobile/images/icon_member-rank-coupon.png" alt="">
|
||||
<div class="member-rank-summary__summary-description">
|
||||
<span class="member-rank-summary__summary-name">쿠폰</span>
|
||||
<p class="member-rank-summary__summary-numberContainer">
|
||||
<span class="member-rank-summary__summary-number comma" id = "hambergerCoupnCnt"></span>
|
||||
<span
|
||||
class="member-rank-summary__summary-numberUnit">장</span>
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
<a href="/sopmal/mpage/ordr/selectWslistInqireForm" class="member-rank-summary__summary-item">
|
||||
<img src="/mobile/images/icon_member-rank-wishlist.png" alt="">
|
||||
<div class="member-rank-summary__summary-description">
|
||||
<span class="member-rank-summary__summary-name">위시리스트</span>
|
||||
<p class="member-rank-summary__summary-numberContainer">
|
||||
<span class="member-rank-summary__summary-number comma"
|
||||
id = "hambergerWslistCnt"></span>
|
||||
<span
|
||||
class="member-rank-summary__summary-numberUnit">개</span>
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-box">
|
||||
<div class="menu_navigation_wrap">
|
||||
<!-- 카테고리 -->
|
||||
<ul class="side_menu accordion">
|
||||
<c:if test="${!empty sopmallInfo}">
|
||||
<c:forEach var="topMenuList" items="${sopmallInfo.menuList}" varStatus="status">
|
||||
<c:if test="${topMenuList.ctgryDvCd eq '01' && topMenuList.gnbExpsrAt eq 'Y'}">
|
||||
<c:if test="${topMenuList.rnum eq '2'}">
|
||||
<li class="isSub list">
|
||||
<div class="isSubDv">
|
||||
<a href="<c:out value="${topMenuList.url}"/>" class="depth"><c:out value ="${topMenuList.ctgryNm}"/><em class="visually-hidden">상세내용닫기</em></a>
|
||||
<a href="<c:out value="${topMenuList.url}"/>" class="moer"></a>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${'3' eq topMenuList.rnum}">
|
||||
<!-- 메뉴 하위가 메뉴인 경우-->
|
||||
<c:if test="${chkUpperMenuCd ne topMenuList.upperCtgryId}">
|
||||
<ul class="view">
|
||||
</c:if>
|
||||
<li><a href='<c:out value="${topMenuList.url}"/>'><c:out value ="${topMenuList.ctgryNm}"/></a></li>
|
||||
<c:if test="${'0' eq topMenuList.nextDepth3 && '0' eq topMenuList.nextDepth2}">
|
||||
</ul>
|
||||
</li>
|
||||
</c:if>
|
||||
</c:if>
|
||||
<c:if test="${topMenuList.rnum < 4}">
|
||||
<c:set var="chkUpperMenuCd" value="${ topMenuList.upperCtgryId }"/>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
</ul>
|
||||
|
||||
<!-- 최근 본 상품(SIDE) -->
|
||||
<div class="recently_side" id="recentlySite">
|
||||
<!-- <div class="swiper recentlySide-swiper"> -->
|
||||
<!-- <div class="swiper-wrapper" id="recentlySite"> -->
|
||||
|
||||
<!-- <div class="swiper-slide recentlySide__image"> -->
|
||||
<!-- <a href=""> -->
|
||||
<!-- <img src="/mobile/images/상품이미지01.png" alt="해당 이미지에 대한 설명"> -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="swiper-slide recentlySide__image"> -->
|
||||
<!-- <a href=""> -->
|
||||
<!-- <img src="/mobile/images/상품이미지01.png" alt="해당 이미지에 대한 설명"> -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="swiper-slide recentlySide__image"> -->
|
||||
<!-- <a href=""> -->
|
||||
<!-- <img src="/mobile/images/상품이미지01.png" alt="해당 이미지에 대한 설명"> -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
|
||||
<!-- <div class="swiper-slide recentlySide__image"> -->
|
||||
<!-- <a href=""> -->
|
||||
<!-- <img src="/mobile/images/상품이미지01.png" alt="해당 이미지에 대한 설명"> -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
<!-- <div class="swiper-slide recentlySide__image"> -->
|
||||
<!-- <a href=""> -->
|
||||
<!-- <img src="/mobile/images/상품이미지01.png" alt="해당 이미지에 대한 설명"> -->
|
||||
<!-- </a> -->
|
||||
<!-- </div> -->
|
||||
|
||||
<!-- </div> -->
|
||||
<!-- <div class="swiper-pagination theme-pagination"></div> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="sub-box">
|
||||
<div class="fullMenu__miscLinks">
|
||||
<h5 class="fullMenu__miscLinks__title">서비스</h5>
|
||||
<ul class="fullMenu__miscLinks__list">
|
||||
<li>
|
||||
<a href="/sopmal/csc/selectCscMainForm" class="fullMenu__miscLinks__link">고객센터</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test = "${sopmallInfo.shopInfo.cscTelnbOrdrPosblAt eq 'Y'}">
|
||||
<div class="sub-box">
|
||||
<div class="mainNotice__customerContact mainNotice__customerContact--moreInfo">
|
||||
<i class="icon icon_notice03"></i>
|
||||
<div class="mainNotice__customerContact__right">
|
||||
<h4 class="notice__title customer-service">고객센터</h4>
|
||||
<span class="notice__number"><c:out value="${sopmallInfo.shopInfo.cscTelnb}"/></span>
|
||||
<p class="notice__paragraph">
|
||||
<span class="notice__text01"><c:out value="${sopmallInfo.shopInfo.cscWkdayWorkTme}"/></span>
|
||||
<span class="notice__text02">(<c:out value="${sopmallInfo.shopInfo.cscLunchTme}"/>)</span>
|
||||
<br>
|
||||
<span class="notice__text03"><c:out value="${sopmallInfo.shopInfo.cscRstde}"/></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
////햄버거 메뉴 관련 스크립트
|
||||
// 좌측 메뉴 클릭시 해당 메뉴 보여주기
|
||||
$('.fullMenu__menu__btn').on('click', function () {
|
||||
$(this).addClass('current');
|
||||
$(this).closest('li').siblings().find('.fullMenu__menu__btn').removeClass('current');
|
||||
var index = $(this).closest('li').index() - 1; // 전체 메뉴 버튼을 뺀 나머지 버튼의 인덱스
|
||||
$(this).closest('.fullMenu__content').find('.fullMenu__itemSection').eq(index).siblings().hide();
|
||||
$(this).closest('.fullMenu__content').find('.fullMenu__itemSection').eq(index).show();
|
||||
});
|
||||
|
||||
// 전체 메뉴 클릭시 전체 메뉴 보여주기
|
||||
$('.fullMenuAll').on('click', function () {
|
||||
$(this).addClass('current');
|
||||
$(this).closest('li').siblings().find('.fullMenu__menu__btn').removeClass('current');
|
||||
$(this).closest('.fullMenu__content').find('.fullMenu__itemSection').show();
|
||||
});
|
||||
|
||||
//
|
||||
$('.hamburgerTabBtn').on('click', function () {
|
||||
$('.hamburgerTabBtn').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
var index = $(this).closest('li').index();
|
||||
$('.fullMenu__content').removeClass('active');
|
||||
$('.fullMenu__content').eq(index).addClass('active');
|
||||
});
|
||||
|
||||
$(document).ready(function(){
|
||||
MicroModal.init({
|
||||
disableScroll: true,
|
||||
awaitCloseAnimation: true,
|
||||
});
|
||||
|
||||
$(".menu_navigation_wrap .depth").on('click', function () {
|
||||
/*하위레벨 없을 시 페이지 이동*/
|
||||
if ($(this).closest(".isSub").find(".view").length === 0) {
|
||||
const href = $(this).attr("href");
|
||||
location.href = href;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</aside>
|
||||
@@ -167,6 +167,7 @@
|
||||
<c:if test="${ relmList.relmDvCd eq '03'}">
|
||||
<div class="main-section__container section-3">
|
||||
<input type="hidden" name="section-ordr" value="${ relmList.ordr }" />
|
||||
<input type="hidden" name="section-mainSiteInnb" value="${ prevewVO.mainSiteInnb }"/>
|
||||
<section class="main-section">
|
||||
<div class="main-section-header" style="margin-bottom: 48px;">
|
||||
<div class="main-section-title">
|
||||
@@ -180,7 +181,7 @@
|
||||
<c:forEach items="${ resultMap.baseCase }" var="baseCase" varStatus="status">
|
||||
<c:if test="${ baseCase.relmDvCd == '03' && relmList.ordr eq baseCase.sOrdr }">
|
||||
<li>
|
||||
<button class="category-type-tab__btn category-type-tab__btn-${ relmList.ordr }" id="category-type-tab__btn-${ relmList.ordr }-${ baseCase.iOrdr }" onclick="fn_product_category_type('${ relmList.ordr }', '${ baseCase.iOrdr }'); return false;">
|
||||
<button class="category-type-tab__btn category-type-tab__btn-${ relmList.ordr }" id="category-type-tab__btn-${ relmList.ordr }-${ baseCase.iOrdr }" onclick="fn_product_category_type('${ relmList.ordr }', '${ baseCase.iOrdr }', '${ prevewVO.mainSiteInnb }'); return false;">
|
||||
<c:if test = "${not empty baseCase.filCours}">
|
||||
<i class="icon icon_category-type-tab01" >
|
||||
<img src="${cdnurl}${ baseCase.filCours }/${ baseCase.sysFilNm }" onerror="this.src='/pc/images/image_placeholder.png'">
|
||||
@@ -1594,6 +1595,7 @@
|
||||
<c:if test="${ relmList.relmDvCd eq '03'}">
|
||||
<div class="main-section__container section-3">
|
||||
<input type="hidden" name="section-ordr" value="${ relmList.ordr }" />
|
||||
<input type="hidden" name="section-mainSiteInnb" value="${ prevewVO.mainSiteInnb }"/>
|
||||
<section class="main-section">
|
||||
<div class="main-section-header" style="margin-bottom: 48px;">
|
||||
<div class="main-section-title">
|
||||
@@ -1607,7 +1609,7 @@
|
||||
<c:forEach items="${ resultMap.baseCase }" var="baseCase" varStatus="status">
|
||||
<c:if test="${ baseCase.relmDvCd == '03' && relmList.ordr eq baseCase.sOrdr }">
|
||||
<li>
|
||||
<button class="category-type-tab__btn category-type-tab__btn-${ relmList.ordr }" id="category-type-tab__btn-${ relmList.ordr }-${ baseCase.iOrdr }" onclick="fn_product_category_type('${ relmList.ordr }', '${ baseCase.iOrdr }'); return false;">
|
||||
<button class="category-type-tab__btn category-type-tab__btn-${ relmList.ordr }" id="category-type-tab__btn-${ relmList.ordr }-${ baseCase.iOrdr }" onclick="fn_product_category_type('${ relmList.ordr }', '${ baseCase.iOrdr }', '${ prevewVO.mainSiteInnb }'); return false;">
|
||||
<c:if test = "${not empty baseCase.filCours}">
|
||||
<i class="icon icon_category-type-tab01" >
|
||||
<img src="${cdnurl}${ baseCase.filCours }/${ baseCase.sysFilNm }" onerror="this.src='/pc/images/image_placeholder.png'">
|
||||
@@ -2351,6 +2353,129 @@
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<!-- 베스트 리뷰 -->
|
||||
<c:if test="${ relmList.relmDvCd eq '09'}">
|
||||
<div class="main-section__container">
|
||||
<section class="main-section main-section__best-review">
|
||||
<c:forEach items="${ resultMap.baseCase }" var="baseCase" varStatus="status">
|
||||
<c:if test="${ baseCase.relmDvCd == '09' && relmList.ordr eq baseCase.sOrdr }">
|
||||
<div class="main-section-header">
|
||||
<div class="main-section-title">
|
||||
<span class="main-section-title__description">${ baseCase.subSj }</span>
|
||||
<h2 class="main-section-title__title">
|
||||
${ baseCase.mainSj }
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
|
||||
<div class="best-review">
|
||||
<div class="best-review-slick">
|
||||
<c:forEach items="${ resultMap.case09 }" var="case09" varStatus="status">
|
||||
<c:if test="${ relmList.ordr eq case09.sOrdr }">
|
||||
<div class="best-review__item">
|
||||
<div class="best-review__review">
|
||||
<a href="javascript:void(0);" onclick="fn_move_goods_dtl(${case09.goodsInnb});" class="best-review__review_a">
|
||||
<div class="best-review__review-image">
|
||||
<input type="hidden" class="npayBbscttSnb" value="${ case09.npayBbscttSnb }"/>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${ case09.photoRvwAt eq 'Y' }">
|
||||
<img src="${cdnurl}${ case09.reviwImg }" class="reviwImg" alt="해당 이미지에 대한 설명" onerror="this.src='/pc/images/image_placeholder.png'">
|
||||
</c:when>
|
||||
<c:when test="${ case09.photoRvwAt eq 'N' }">
|
||||
<img src="${cdnurl}${ case09.goodsImgCours }" class="reviwImg" alt="해당 이미지에 대한 설명" onerror="this.src='/pc/images/image_placeholder.png'">
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</div>
|
||||
<span class="best-review__title">${ case09.sj }
|
||||
</span>
|
||||
<div class="best-review__paragraph">
|
||||
${ case09.cn }
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="best-review__product">
|
||||
<div class="best-review__product-image">
|
||||
<a href="javascript:void(0);" onclick="fn_move_goods_dtl(${case09.goodsInnb});">
|
||||
<img src="${cdnurl}${ case09.goodsImgCours }" alt="${case09.goodsNm }" onerror="this.src='/pc/images/image_placeholder.png'">
|
||||
</a>
|
||||
</div>
|
||||
<div class="product-unit-info">
|
||||
<div class="product-unit-info__inner">
|
||||
<div class="product-unit-title">
|
||||
<a href="javascript:void(0);" onclick="fn_move_goods_dtl(${case09.goodsInnb});">${ case09.goodsNm }</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product-unit-misc">
|
||||
<div class="product-unit-rating">
|
||||
<i class="icon icon_rating-star"></i>
|
||||
<span class="product-unit-rating__score"><c:out value="${case09.avgEvlScore}" default="0.0"/></span>
|
||||
</div>
|
||||
<div class="product-unit-price">
|
||||
<span class="product-unit-price__original"><fmt:formatNumber value="${case09.cnsmrpric}" pattern="#,###"/>${curUnit}</span>
|
||||
<span class="product-unit-price__current"><fmt:formatNumber value="${case09.slepric}" pattern="#,###"/>${curUnit}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<div class="best-review-slick__btn-container">
|
||||
<button class="best-review-slick__prev"><i class="icon icon_prev02"></i><span
|
||||
class="visually-hidden">이전</span></button>
|
||||
<button class="best-review-slick__next"><i class="icon icon_next02"></i><span
|
||||
class="visually-hidden">다음</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<!-- 매거진 -->
|
||||
<!-- 매거진 썸네일 이미지 사이즈 500x360 -->
|
||||
<c:if test="${ relmList.relmDvCd eq '10'}">
|
||||
<div class="main-section__container magazine">
|
||||
<section class="main-section main-section__magazine">
|
||||
|
||||
<div class="main-section-header">
|
||||
<div class="main-section-title">
|
||||
<span class="main-section-title__description">${ relmList.subSj }</span>
|
||||
<h2 class="main-section-title__title">
|
||||
${ relmList.mainSj }
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="magazine">
|
||||
<div class="magazine-slick col-2">
|
||||
<c:forEach items="${ resultMap.case10 }" var="case10" varStatus="status">
|
||||
<c:if test="${ relmList.ordr eq case10.sOrdr }">
|
||||
<div>
|
||||
<a href="/sopmal/csc/selectBbscttAuth?bbsId=${ case10.bbsId }&bbscttInnb=${ case10.bbscttInnb }">
|
||||
<img src="${cdnurl}${ case10.reprsntImgSysFilNm }" alt="해당 이미지에 대한 설명" onerror="this.src='/pc/images/image_placeholder.png'">
|
||||
</a>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<div class="magazine-slick__btn-container">
|
||||
<button class="magazine-slick__prev"><i class="icon icon_prev02"></i><span
|
||||
class="visually-hidden">이전</span></button>
|
||||
<button class="magazine-slick__next"><i class="icon icon_next02"></i><span
|
||||
class="visually-hidden">다음</span></button>
|
||||
</div>
|
||||
</div>
|
||||
<a href="/sopmal/csc/selectBbscttAuth?authDv=REDNG&reqUrl=subPage&bbsId=magazine" class="magazine__more-link">더보기
|
||||
<i class="icon icon_magazine-more-icon"></i>
|
||||
</a>
|
||||
</section>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<!-- 브랜드 및 제품 바로가기 -->
|
||||
<!-- 좌측이미지 사이즈 영역 620x400 -->
|
||||
<!-- 우측이미지 2개 사이즈 영역 각각 620x180 -->
|
||||
@@ -2413,6 +2538,94 @@
|
||||
</section>
|
||||
</div>
|
||||
</c:if>
|
||||
<!-- 공지사항 -->
|
||||
<c:if test="${ relmList.relmDvCd eq '13'}">
|
||||
<div class="main-section__container">
|
||||
<section class="main-section main-section__notice">
|
||||
<div class="main-section-header">
|
||||
<div class="main-section-title">
|
||||
<h2 class="main-section-title__title">
|
||||
공지사항
|
||||
</h2>
|
||||
</div>
|
||||
<div class="notice-line">
|
||||
<i class="icon icon_notice-speaker"></i>
|
||||
<div class="notice-line-slick">
|
||||
<c:forEach items="${ resultMap.case13 }" var="case13" varStatus="status">
|
||||
<c:if test="${ relmList.ordr eq case13.sOrdr }">
|
||||
<div>
|
||||
<span class="text">
|
||||
<a href="/sopmal/csc/selectBbscttAuth?authDv=CM&reqUrl=csc&bbsId=${ case13.bbsId }&bbscttInnb=${ case13.bbscttInnb }">
|
||||
${ case13.sj }
|
||||
</a>
|
||||
</span>
|
||||
<span class="date">
|
||||
<c:set var="registDt" value="${fn:replace(case13.registDt, 'T', ' ')}" />
|
||||
<fmt:parseDate var="registDt" value="${ registDt }" pattern="yyyy-MM-dd HH:mm:ss"/>
|
||||
<fmt:formatDate value="${registDt}" pattern="yyyy-MM-dd"/>
|
||||
</span>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<div class="btn-container">
|
||||
<button class="notice-line__prev">
|
||||
<i class="icon icon_notice-chevron"></i>
|
||||
</button>
|
||||
<button class="notice-line__next">
|
||||
<i class="icon icon_notice-chevron2"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</c:if>
|
||||
<!-- FAQ -->
|
||||
<c:if test="${ relmList.relmDvCd eq '14'}">
|
||||
<div class="main-section__container">
|
||||
<section class="main-section main-section__notice">
|
||||
<div class="notice">
|
||||
<c:forEach items="${ resultMap.case14 }" var="case14" varStatus="status">
|
||||
<c:if test="${ relmList.ordr eq case14.sOrdr }">
|
||||
|
||||
<c:if test="${ case14.iOrdr eq '1' }">
|
||||
<div class="notice__box">
|
||||
<a href="/sopmal/csc/selectBbscttAuth?authDv=REDNG&reqUrl=csc&bbsId=faq">
|
||||
<i class="icon icon_notice01"></i>
|
||||
</a>
|
||||
<h4 class="notice__title"><a href="">${ case14.itemMainSj }</a></h4>
|
||||
<span class="notice__description">${ case14.itemSubSj }</span>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${ case14.iOrdr eq '2' }">
|
||||
<div class="notice__box">
|
||||
<a href="/sopmal/csc/selectBbscttAuth?authDv=REDNG&reqUrl=useGuidance&bbsId=use_guidance">
|
||||
<i class="icon icon_notice02"></i>
|
||||
</a>
|
||||
<h4 class="notice__title"><a href="">${ case14.itemMainSj }</a></h4>
|
||||
<span class="notice__description">${ case14.itemSubSj }</span>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${ case14.iOrdr eq '3' }">
|
||||
<div class="notice__box">
|
||||
<i class="icon icon_notice03"></i>
|
||||
<h4 class="notice__title customer-service">${ case14.itemMainSj }</h4>
|
||||
<span class="notice__number">${ case14.cscTelnb }</span>
|
||||
<p class="notice__paragraph">
|
||||
<span class="notice__text01">${ case14.cscWkdayWorkTme }</span>
|
||||
<span class="notice__text02">(${ case14.cscLunchTme })</span>
|
||||
<br>
|
||||
<span class="notice__text03">${ case14.cscRstde }</span>
|
||||
</p>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
@@ -2731,7 +2944,8 @@
|
||||
// 상품 카테고리 탭
|
||||
$('.section-3').each(function () {
|
||||
let ordr = $(this).find('input[name="section-ordr"]').val();
|
||||
fn_product_category_type(ordr, "1");
|
||||
let mainSiteInnb = $(this).find('input[name="section-mainSiteInnb"]').val();
|
||||
fn_product_category_type(ordr, "1", mainSiteInnb);
|
||||
});
|
||||
|
||||
|
||||
@@ -2775,11 +2989,11 @@
|
||||
}
|
||||
|
||||
// 상품 카테고리 탭 클릭 시
|
||||
const fn_product_category_type = function (ordr, tabNo) {
|
||||
const fn_product_category_type = function (ordr, tabNo, mainSiteInnb) {
|
||||
$('.category-type-tab__btn-' + ordr).removeClass('active');
|
||||
$('#category-type-tab__btn-' + ordr + '-' + tabNo).addClass('active');
|
||||
|
||||
fn_select_product_category(ordr, tabNo);
|
||||
fn_select_product_category(ordr, tabNo, mainSiteInnb);
|
||||
|
||||
$('.product-list-type-category-' + ordr).hide();
|
||||
$('#product-list-type-category-' + ordr + '-' + tabNo).show();
|
||||
@@ -2787,13 +3001,14 @@
|
||||
|
||||
|
||||
// 상품 카테고리 가져오기
|
||||
const fn_select_product_category = function (ordr, tabNo) {
|
||||
const fn_select_product_category = function (ordr, tabNo, mainSiteInnb) {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/sopmal/main/selectMainSiteDesignCtgryListInqire",
|
||||
data: {
|
||||
ordr: ordr,
|
||||
expsrOrdr: tabNo
|
||||
expsrOrdr: tabNo,
|
||||
mainSiteInnb: mainSiteInnb
|
||||
},
|
||||
success: function (data) {
|
||||
let result = JSON.parse(data.resBody.result);
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
<%--
|
||||
Class Name : CmnuseInfoFormR.jsp
|
||||
Description : 반품교환정보 상세 화면
|
||||
Description : 배송/반품정보 상세 화면
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
@@ -60,7 +60,7 @@
|
||||
formData.append(item.name, item.value);
|
||||
});
|
||||
|
||||
if(confirm('반품교환정보를 <spring:message code="confirm.common.update"/>')) {
|
||||
if(confirm('배송/반품정보를 <spring:message code="confirm.common.update"/>')) {
|
||||
$.ajax({
|
||||
type : 'post',
|
||||
url : url,
|
||||
@@ -98,7 +98,7 @@
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">반품교환정보 수정</h2>
|
||||
<h2 class="page-title__title">배송/반품정보 수정</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<button class="btn outline" onclick="fn_move_list();"><spring:message code="button.list"/></button>
|
||||
<button class="btn primary" onclick="fn_update_cmnuseInfor(${resultMap.cmnuseInfoInnb});"><spring:message code="button.update"/></button>
|
||||
@@ -107,10 +107,10 @@
|
||||
|
||||
<form id="cmnuseInfoUpdForm" name="cmnuseInfoUpdForm">
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__inner-title">반품교환정보</h3>
|
||||
<h3 class="content-section__inner-title">배송/반품정보</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>반품교환정보명</caption>
|
||||
<caption>배송/반품정보명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
@@ -118,7 +118,7 @@
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<th>반품교환정보명</th>
|
||||
<th>배송/반품정보명</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="word-limit-input">
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
<%--
|
||||
Class Name : CmnuseInfoFormR.jsp
|
||||
Description : 반품교환정보 등록 화면
|
||||
Description : 배송/반품정보 등록 화면
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
@@ -59,7 +59,7 @@
|
||||
formData.append(item.name, item.value);
|
||||
});
|
||||
|
||||
if(confirm('반품교환정보를 <spring:message code="confirm.common.insert"/>')) {
|
||||
if(confirm('배송/반품정보를 <spring:message code="confirm.common.insert"/>')) {
|
||||
$.ajax({
|
||||
type : 'post',
|
||||
url : url,
|
||||
@@ -98,7 +98,7 @@
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">반품교환정보 등록</h2>
|
||||
<h2 class="page-title__title">배송/반품정보 등록</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<button class="btn outline" onclick="fn_move_list();"><spring:message code="button.list"/></button>
|
||||
<button class="btn primary" onclick="fn_regist_cmnuseInfor();"><spring:message code="button.insert"/></button>
|
||||
@@ -107,17 +107,17 @@
|
||||
|
||||
<form id="cmnuseInfoRegForm" name="cmnuseInfoRegForm">
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__inner-title">반품교환정보</h3>
|
||||
<h3 class="content-section__inner-title">배송/반품정보</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>반품교환정보명</caption>
|
||||
<caption>배송/반품정보명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>반품교환정보명</th>
|
||||
<th>배송/반품정보명</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="word-limit-input">
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
<%--
|
||||
Class Name : GoodsInfoFormR.jsp
|
||||
Description : 반품교환정보 목록 화면
|
||||
Description : 배송/반품정보 목록 화면
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
@@ -53,7 +53,7 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
if (confirm('반품교환정보를 <spring:message code="confirm.common.delete"/>')) {
|
||||
if (confirm('배송/반품정보를 <spring:message code="confirm.common.delete"/>')) {
|
||||
$.ajax({
|
||||
type : 'post',
|
||||
url : '<c:url value="/mngr/goods/cmnuse/deleteCmnuseInfo"/>',
|
||||
@@ -84,7 +84,7 @@
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">반품교환정보 목록</h2>
|
||||
<h2 class="page-title__title">배송/반품정보 목록</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<button class="btn primary" onclick="fn_move_inforRegist();">등록</button>
|
||||
</div>
|
||||
|
||||
@@ -163,14 +163,14 @@
|
||||
}
|
||||
|
||||
|
||||
// 반품교환정보 선택여부
|
||||
// 배송/반품정보 선택여부
|
||||
const cmnuseInfoUptAt = $('#cmnuseInfoUptAt').prop('checked')
|
||||
if(cmnuseInfoUptAt){
|
||||
const cmnuseInfoInnb = $('div.cmnuseInfoInnb')
|
||||
const cmnuseInfoInnbSelect = $('#cmnuseInfoInnb option:selected')
|
||||
if(fn_is_empty(cmnuseInfoInnbSelect.val())){
|
||||
cmnuseInfoInnb.focus()
|
||||
alert('반품교환정보를 선택해 주세요')
|
||||
alert('배송/반품정보를 선택해 주세요')
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -295,7 +295,7 @@
|
||||
formData.append('expsrSetupFwords', expsrSetupFwords)
|
||||
}
|
||||
|
||||
//반품교환정보 선택 여부
|
||||
//배송/반품정보 선택 여부
|
||||
fn_create_input('hidden', "cmnuseInfoUptAt", $('#cmnuseInfoUptAt').prop('checked')?'Y':'N', hiddenForm);
|
||||
//배송일 선택 여부
|
||||
fn_create_input('hidden', "dlvyGroupUptAt", $('#dlvyGroupUptAt').prop('checked')?'Y':'N', hiddenForm);
|
||||
@@ -553,7 +553,7 @@
|
||||
<%-- <a href="#section06" class="content-tab__scroll-btn">상품 사진</a>--%>
|
||||
<%-- <a href="#section07" class="content-tab__scroll-btn">상세 설명</a>--%>
|
||||
<%-- <a href="#section08" class="content-tab__scroll-btn">모바일용 상세 설명</a>--%>
|
||||
<a href="#section09" class="content-tab__scroll-btn">반품교환정보</a>
|
||||
<a href="#section09" class="content-tab__scroll-btn">배송/반품정보</a>
|
||||
<a href="#section10" class="content-tab__scroll-btn">배송</a>
|
||||
<a href="#section11" class="content-tab__scroll-btn">입점 마케팅</a>
|
||||
<%-- <a href="#section13" class="content-tab__scroll-btn">추천 상품</a>--%>
|
||||
@@ -893,13 +893,13 @@
|
||||
</section>
|
||||
<section id="section09" class="content-section content-scroll-detect content-fold">
|
||||
<div class="content-fold__header">
|
||||
<h3 class="content-section__title">반품교환정보</h3>
|
||||
<h3 class="content-section__title">배송/반품정보</h3>
|
||||
<button class="content-fold__btn"><span class="visually-hidden">접기</span></button>
|
||||
</div>
|
||||
<div class="content-fold__content">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>반품교환정보</caption>
|
||||
<caption>배송/반품정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 44%;">
|
||||
@@ -909,7 +909,7 @@
|
||||
<tr>
|
||||
<th>
|
||||
<div class="b-checkbox-container inner">
|
||||
반품교환정보
|
||||
배송/반품정보
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" id="cmnuseInfoUptAt">
|
||||
<span class="check"></span>
|
||||
@@ -920,7 +920,7 @@
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="반품교환정보" id="cmnuseInfoInnb" class="cmnuseInfoInnb" name="cmnuseInfoInnb">
|
||||
<select title="배송/반품정보" id="cmnuseInfoInnb" class="cmnuseInfoInnb" name="cmnuseInfoInnb">
|
||||
<option value="">선택</option>
|
||||
<c:forEach var="infoList" items="${ resultMap.infoList }" varStatus="">
|
||||
<option value="${ infoList.cmnuseInfoInnb }" >${ infoList.cmnuseInfoSj }</option>
|
||||
@@ -932,7 +932,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<%-- <tr>--%>
|
||||
<%-- <th>반품교환정보 설명</th>--%>
|
||||
<%-- <th>배송/반품정보 설명</th>--%>
|
||||
<%-- <td colspan="2">--%>
|
||||
<%--<%– <div class="td-inner" readonly="">–%>--%>
|
||||
<%--<%– <textarea class="textarea" title="에디터 입력" cols="30" id="cmnuseInfoCn"–%>--%>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
const sopmalCd = $('#sopmalCd').val()
|
||||
fn_create_ckeditor('#goodsDc', sopmalCd); //상세 설명 > 상품 설명 ck에디터 적용
|
||||
fn_create_ckeditor('#mblGoodsDc', sopmalCd); // 모바일용 상세 설명 > 모바일용 상품 설명 ck에디터 적용
|
||||
// fn_create_ckeditor('#cmnuseInfoCn', sopmalCd); // 반품교환정보 상세 설명 > ck에디터 적용
|
||||
// fn_create_ckeditor('#cmnuseInfoCn', sopmalCd); // 배송/반품정보 상세 설명 > ck에디터 적용
|
||||
fn_ctrl_disable(['.purchsQy']) //구매 수량 초기 disable처리
|
||||
|
||||
/** 구매대상자 제한 버튼 활성화 여부 이벤트 */
|
||||
@@ -771,12 +771,12 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
// 반품교환정보 선택여부
|
||||
// 배송/반품정보 선택여부
|
||||
const cmnuseInfoInnb = $('div.cmnuseInfoInnb')
|
||||
const cmnuseInfoInnbSelect = $('#cmnuseInfoInnb option:selected')
|
||||
if(fn_is_empty(cmnuseInfoInnbSelect.val())){
|
||||
cmnuseInfoInnb.focus()
|
||||
alert('반품교환정보를 선택해 주세요')
|
||||
alert('배송/반품정보를 선택해 주세요')
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1173,7 +1173,7 @@
|
||||
document.body.appendChild(hiddenForm);
|
||||
|
||||
|
||||
//상세 설명 > 반품교환정보 설명 get_editor_data
|
||||
//상세 설명 > 배송/반품정보 설명 get_editor_data
|
||||
// let cmnuseInfoCn = fn_get_editor_data('#cmnuseInfoCn');
|
||||
// $('#cmnuseInfoCn').val(cmnuseInfoCn);
|
||||
|
||||
@@ -2387,7 +2387,7 @@
|
||||
<a href="#section06" class="content-tab__scroll-btn">상품 사진</a>
|
||||
<a href="#section07" class="content-tab__scroll-btn">상세 설명</a>
|
||||
<a href="#section08" class="content-tab__scroll-btn">모바일용 <br/> 상세 설명</a>
|
||||
<a href="#section09" class="content-tab__scroll-btn">반품교환정보</a>
|
||||
<a href="#section09" class="content-tab__scroll-btn">배송/반품정보</a>
|
||||
<a href="#section10" class="content-tab__scroll-btn">배송</a>
|
||||
<a href="#section11" class="content-tab__scroll-btn">입점 마케팅</a>
|
||||
<a href="#section13" class="content-tab__scroll-btn">함께하면 <br/> 좋은 상품</a>
|
||||
@@ -3698,13 +3698,13 @@
|
||||
</section>
|
||||
<section id="section09" class="content-section content-scroll-detect content-fold">
|
||||
<div class="content-fold__header">
|
||||
<h3 class="content-section__title">반품교환정보</h3>
|
||||
<h3 class="content-section__title">배송/반품정보</h3>
|
||||
<button class="content-fold__btn"><span class="visually-hidden">접기</span></button>
|
||||
</div>
|
||||
<div class="content-fold__content">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>반품교환정보</caption>
|
||||
<caption>배송/반품정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 44%;">
|
||||
@@ -3712,11 +3712,11 @@
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>반품교환정보 선택<span class="red-7">*</span></th>
|
||||
<th>배송/반품정보 선택<span class="red-7">*</span></th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="반품교환정보" id="cmnuseInfoInnb" class="cmnuseInfoInnb" name="cmnuseInfoInnb">
|
||||
<select title="배송/반품정보" id="cmnuseInfoInnb" class="cmnuseInfoInnb" name="cmnuseInfoInnb">
|
||||
<option value="">선택</option>
|
||||
<c:forEach var="infoList" items="${ resultMap.infoList }" varStatus="">
|
||||
<option value="${ infoList.cmnuseInfoInnb }" >${ infoList.cmnuseInfoSj }</option>
|
||||
@@ -3728,7 +3728,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<%-- <tr>--%>
|
||||
<%-- <th>반품교환정보 설명</th>--%>
|
||||
<%-- <th>배송/반품정보 설명</th>--%>
|
||||
<%-- <td colspan="2">--%>
|
||||
<%--<%– <div class="td-inner" readonly="">–%>--%>
|
||||
<%--<%– <textarea class="textarea" title="에디터 입력" cols="30" id="cmnuseInfoCn"–%>--%>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
const sopmalCd = $('#sopmalCd').val()
|
||||
fn_create_ckeditor('#goodsDc', sopmalCd); //상세 설명 > 상품 설명 ck에디터 적용
|
||||
fn_create_ckeditor('#mblGoodsDc', sopmalCd); // 모바일용 상세 설명 > 모바일용 상품 설명 ck에디터 적용
|
||||
// fn_create_ckeditor('#cmnuseInfoCn', sopmalCd); // 반품교환정보 상세 설명 > ck에디터 적용
|
||||
// fn_create_ckeditor('#cmnuseInfoCn', sopmalCd); // 배송/반품정보 상세 설명 > ck에디터 적용
|
||||
|
||||
/** 구매대상자 제한 버튼 활성화 여부 이벤트 */
|
||||
$('#r-18').click(function () {
|
||||
@@ -825,12 +825,12 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
// 반품교환정보 선택여부
|
||||
// 배송/반품정보 선택여부
|
||||
const cmnuseInfoInnb = $('div.cmnuseInfoInnb')
|
||||
const cmnuseInfoInnbSelect = $('#cmnuseInfoInnb option:selected')
|
||||
if(fn_is_empty(cmnuseInfoInnbSelect.val())){
|
||||
cmnuseInfoInnb.focus()
|
||||
alert('반품교환정보를 선택해 주세요')
|
||||
alert('배송/반품정보를 선택해 주세요')
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1228,7 +1228,7 @@
|
||||
document.body.appendChild(hiddenForm);
|
||||
|
||||
|
||||
//상세 설명 > 반품교환정보 설명 get_editor_data
|
||||
//상세 설명 > 배송/반품정보 설명 get_editor_data
|
||||
// let cmnuseInfoCn = fn_get_editor_data('#cmnuseInfoCn');
|
||||
// $('#cmnuseInfoCn').val(cmnuseInfoCn);
|
||||
|
||||
@@ -2517,7 +2517,7 @@
|
||||
<a href="#section06" class="content-tab__scroll-btn">상품 사진</a>
|
||||
<a href="#section07" class="content-tab__scroll-btn">상세 설명</a>
|
||||
<a href="#section08" class="content-tab__scroll-btn">모바일용 <br/> 상세 설명</a>
|
||||
<a href="#section09" class="content-tab__scroll-btn">반품교환정보</a>
|
||||
<a href="#section09" class="content-tab__scroll-btn">배송/반품정보</a>
|
||||
<a href="#section10" class="content-tab__scroll-btn">배송</a>
|
||||
<a href="#section11" class="content-tab__scroll-btn">입점 마케팅</a>
|
||||
<a href="#section13" class="content-tab__scroll-btn">함께하면 <br/> 좋은 상품</a>
|
||||
@@ -4403,14 +4403,14 @@
|
||||
</section>
|
||||
<section id="section09" class="content-section content-scroll-detect content-fold">
|
||||
<div class="content-fold__header">
|
||||
<h3 class="content-section__title">반품교환정보</h3>
|
||||
<h3 class="content-section__title">배송/반품정보</h3>
|
||||
<button class="content-fold__btn"><span class="visually-hidden">접기</span></button>
|
||||
<%-- <button class="btn primary btn-light" id="cmnuseInfoInnb_update" name="btn_update_EtcInfo">반품교환정보 수정</button>--%>
|
||||
<%-- <button class="btn primary btn-light" id="cmnuseInfoInnb_update" name="btn_update_EtcInfo">배송/반품정보 수정</button>--%>
|
||||
</div>
|
||||
<div class="content-fold__content">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>반품교환정보</caption>
|
||||
<caption>배송/반품정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 44%;">
|
||||
@@ -4418,11 +4418,11 @@
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>반품교환정보 선택<span class="red-7">*</span></th>
|
||||
<th>배송/반품정보 선택<span class="red-7">*</span></th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="반품교환정보" id="cmnuseInfoInnb" class="cmnuseInfoInnb" name="cmnuseInfoInnb">
|
||||
<select title="배송/반품정보" id="cmnuseInfoInnb" class="cmnuseInfoInnb" name="cmnuseInfoInnb">
|
||||
<option value="" >선택</option>
|
||||
<c:forEach var="infoList" items="${ resultMap.infoList }" varStatus="">
|
||||
<option value="${ infoList.cmnuseInfoInnb }" <c:if test="${infoList.cmnuseInfoInnb eq resultMap.goodsDtl.cmnuseInfoInnb }"> selected </c:if> >${ infoList.cmnuseInfoSj } </option>
|
||||
@@ -4434,7 +4434,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<%-- <tr>--%>
|
||||
<%-- <th>반품교환정보 설명</th>--%>
|
||||
<%-- <th>배송/반품정보 설명</th>--%>
|
||||
<%-- <td colspan="2">--%>
|
||||
<%-- <div class="ck-content">--%>
|
||||
<%-- <c:forEach var="infoList" items="${ resultMap.infoList }" varStatus="">--%>
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
const sopmalCd = $('#sopmalCd').val()
|
||||
fn_create_ckeditor('#goodsDc', sopmalCd); //상세 설명 > 상품 설명 ck에디터 적용
|
||||
fn_create_ckeditor('#mblGoodsDc', sopmalCd); // 모바일용 상세 설명 > 모바일용 상품 설명 ck에디터 적용
|
||||
// fn_create_ckeditor('#cmnuseInfoCn', sopmalCd); // 반품교환정보 상세 설명 > ck에디터 적용
|
||||
// fn_create_ckeditor('#cmnuseInfoCn', sopmalCd); // 배송/반품정보 상세 설명 > ck에디터 적용
|
||||
|
||||
/** 구매대상자 제한 버튼 활성화 여부 이벤트 */
|
||||
$('#r-18').click(function () {
|
||||
@@ -1998,12 +1998,12 @@
|
||||
}
|
||||
|
||||
|
||||
// 반품교환정보 선택여부
|
||||
// 배송/반품정보 선택여부
|
||||
const cmnuseInfoInnb = $('div.cmnuseInfoInnb')
|
||||
const cmnuseInfoInnbSelect = $('#cmnuseInfoInnb option:selected')
|
||||
if(fn_is_empty(cmnuseInfoInnbSelect.val())){
|
||||
cmnuseInfoInnb.focus()
|
||||
alert('반품교환정보를 선택해 주세요')
|
||||
alert('배송/반품정보를 선택해 주세요')
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -2750,7 +2750,7 @@
|
||||
const cmnuseInfoInnbSelect = $('#cmnuseInfoInnb option:selected')
|
||||
if(fn_is_empty(cmnuseInfoInnbSelect.val())){
|
||||
cmnuseInfoInnb.focus()
|
||||
alert('반품교환정보를 선택해 주세요')
|
||||
alert('배송/반품정보를 선택해 주세요')
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -2770,7 +2770,7 @@
|
||||
|
||||
fn_create_input('hidden', 'mblGoodsDc',$('#mblGoodsDc').val(), hiddenForm)
|
||||
|
||||
//반품교환정보
|
||||
//배송/반품정보
|
||||
fn_create_input('hidden', 'cmnuseInfoInnb',$('#cmnuseInfoInnb option:selected').val(), hiddenForm)
|
||||
|
||||
//배송그룹
|
||||
@@ -2805,7 +2805,7 @@
|
||||
break;
|
||||
case 'mblGoodsDc_update': targetGubun = '모바일용 상세 설명'; sectionNo = '08';
|
||||
break;
|
||||
case 'cmnuseInfoInnb_update': targetGubun = '반품교환정보'; sectionNo = '09';
|
||||
case 'cmnuseInfoInnb_update': targetGubun = '배송/반품정보'; sectionNo = '09';
|
||||
break;
|
||||
case 'dlvyGroupInnb_update': targetGubun = '배송'; sectionNo = '10';
|
||||
break;
|
||||
@@ -2960,7 +2960,7 @@
|
||||
<a href="#section06" class="content-tab__scroll-btn">상품 사진</a>
|
||||
<a href="#section07" class="content-tab__scroll-btn">상세 설명</a>
|
||||
<a href="#section08" class="content-tab__scroll-btn">모바일용 <br/> 상세 설명</a>
|
||||
<a href="#section09" class="content-tab__scroll-btn">반품교환정보</a>
|
||||
<a href="#section09" class="content-tab__scroll-btn">배송/반품정보</a>
|
||||
<a href="#section10" class="content-tab__scroll-btn">배송</a>
|
||||
<a href="#section11" class="content-tab__scroll-btn">입점 마케팅</a>
|
||||
<a href="#section13" class="content-tab__scroll-btn">함께하면 <br/> 좋은 상품</a>
|
||||
@@ -4881,14 +4881,14 @@
|
||||
</section>
|
||||
<section id="section09" class="content-section content-scroll-detect content-fold">
|
||||
<div class="content-fold__header">
|
||||
<h3 class="content-section__title">반품교환정보</h3>
|
||||
<h3 class="content-section__title">배송/반품정보</h3>
|
||||
<button class="content-fold__btn"><span class="visually-hidden">접기</span></button>
|
||||
<button class="btn primary btn-light cmnuseInfo" id="cmnuseInfoInnb_update" name="btn_update_EtcInfo">반품교환정보 수정</button>
|
||||
<button class="btn primary btn-light cmnuseInfo" id="cmnuseInfoInnb_update" name="btn_update_EtcInfo">배송/반품정보 수정</button>
|
||||
</div>
|
||||
<div class="content-fold__content">
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>반품교환정보</caption>
|
||||
<caption>배송/반품정보</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 44%;">
|
||||
@@ -4896,11 +4896,11 @@
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>반품교환정보 선택<span class="red-7">*</span></th>
|
||||
<th>배송/반품정보 선택<span class="red-7">*</span></th>
|
||||
<td colspan="2">
|
||||
<div class="td-inner">
|
||||
<div class="select-box">
|
||||
<select title="반품교환정보" id="cmnuseInfoInnb" class="cmnuseInfoInnb" name="cmnuseInfoInnb">
|
||||
<select title="배송/반품정보" id="cmnuseInfoInnb" class="cmnuseInfoInnb" name="cmnuseInfoInnb">
|
||||
<option value="" >선택</option>
|
||||
<c:forEach var="infoList" items="${ resultMap.infoList }" varStatus="">
|
||||
<option value="${ infoList.cmnuseInfoInnb }" <c:if test="${infoList.cmnuseInfoInnb eq resultMap.goodsDtl.cmnuseInfoInnb }"> selected </c:if> >${ infoList.cmnuseInfoSj } </option>
|
||||
@@ -4912,7 +4912,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
<%-- <tr>--%>
|
||||
<%-- <th>반품교환정보 설명</th>--%>
|
||||
<%-- <th>배송/반품정보 설명</th>--%>
|
||||
<%-- <td colspan="2">--%>
|
||||
<%-- <div class="ck-content">--%>
|
||||
<%-- <c:forEach var="infoList" items="${ resultMap.infoList }" varStatus="">--%>
|
||||
|
||||
@@ -33,6 +33,9 @@
|
||||
$(this).val(input.replace(/[^0-9]/g, "").replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"));
|
||||
});
|
||||
|
||||
//실판매가 세팅
|
||||
fn_cal_selpric();
|
||||
|
||||
const expsrSetTable = document.getElementById('expsrSet');
|
||||
//노출예약 체크되어있을 경우 enable 처리
|
||||
if($("input[name='expsrDvCd']:checked").val() ==='03'){
|
||||
@@ -542,7 +545,6 @@
|
||||
<input type="hidden" id="delImg" name="delImg" value="">
|
||||
<input type="hidden" id="expsrBgnDt" name="expsrBgnDt" value="<c:if test='${resultMap.subsvcDtl != null}'>${resultMap.subsvcDtl.expsrBgnDt}</c:if>">
|
||||
<input type="hidden" id="expsrEndDt" name="expsrEndDt" value="<c:if test='${resultMap.subsvcDtl != null}'>${resultMap.subsvcDtl.expsrBgnDt}</c:if>">
|
||||
<input type="hidden" id="usefulInvntryQy" name="usefulInvntryQy" value="<c:if test='${resultMap.subsvcDtl != null}'>${resultMap.subsvcDtl.usefulInvntryQy}</c:if>">
|
||||
<spring:eval expression="@environment.getProperty('spring.servlet.multipart.max-file-size')" var="maxFileSize"/>
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.extensions.images')" var="acceptFileExtensions"/>
|
||||
<spring:eval expression="@environment.getProperty('mngrfo.common.fileupload.cdnurl')" var="cdnurl"/>
|
||||
@@ -655,7 +657,7 @@
|
||||
<th>실판매가<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text sm number text-right allow-zero" type="text" title="실판매가" id="selpric" name="selpric" maxlength="11" value="<c:if test='${resultMap.subsvcDtl != null}'>${resultMap.subsvcDtl.selpric}</c:if>" readonly> 円(엔)
|
||||
<input class="input-text sm number text-right allow-zero" type="text" title="실판매가" id="selpric" name="selpric" maxlength="11" required readonly> 円(엔)
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -675,9 +677,9 @@
|
||||
<caption>구독설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
<col style="width: 38%;">
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
<col style="width: 38%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -696,7 +698,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<th>판매 상태</th>
|
||||
<td colspan="2">
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<c:forEach items="${resultMap.subsvcSttusList}" var="subsvcSttus" varStatus="status">
|
||||
@@ -709,6 +711,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<th>판매수량</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text sm text-right" type="text" title="판매재고수량" id="usefulInvntryQy" name="usefulInvntryQy" value="0" readonly>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>노출 여부</th>
|
||||
|
||||
@@ -372,6 +372,23 @@
|
||||
!confirm("예상 마케팅 대상은 0명입니다 적용하시겠습니까?")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($("#srchBtn").attr("srchAt") === 'Y') {
|
||||
let params = $('#mbrSrchForm').serialize();
|
||||
$("#cndChngAt").val("N");
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/mngr/mbr/selectMarketingTrgetSrchPopupInqire"/>',
|
||||
data: params,
|
||||
success: function (data) {
|
||||
data = JSON.parse(data.resBody.result);
|
||||
let tot = data.cnt;
|
||||
/*마케팅 대상 화면, 부모 화면 텍스트, value 제어*/
|
||||
$(".srchMarketingTrgetCnt").text(fn_format_comma(tot));
|
||||
$("#marketingTrgetInfo").val(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
fn_close_modal("marketing-trget-search");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
<%@ include file="/WEB-INF/views/comm/mngr/Include.jsp"%>
|
||||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||||
<spring:eval expression="@environment.getProperty('currency-unit.KR')" var="krUnit"/>
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
@@ -92,6 +93,7 @@
|
||||
{cd:'99', nm:'gray'} // 결제실패
|
||||
];
|
||||
var curUnit = '${curUnit}';
|
||||
var krUnit = '${krUnit}';
|
||||
|
||||
/* ********************************************************
|
||||
* 초기 설정
|
||||
@@ -1217,7 +1219,7 @@
|
||||
detail += ' </div>';
|
||||
detail += ' <span class="sum-area__sign">=</span>';
|
||||
detail += ' <div class="sum-area__item">';
|
||||
detail += ' <div class="sum-area__title red-7">총 결제금액 ' + (tot.setleAmt).toLocaleString() + curUnit + '</div>';
|
||||
detail += ' <div class="sum-area__title red-7">총 결제금액 ' + (tot.setleAmt).toLocaleString() + curUnit + ' / ' + (tot.wonRlSetleAmt).toLocaleString() + krUnit + '</div>';
|
||||
detail += ' </div>';
|
||||
detail += ' </div>';
|
||||
detail += ' </div>';
|
||||
|
||||
@@ -20,32 +20,7 @@
|
||||
$('select').niceSelect();
|
||||
|
||||
fn_set_date();
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
const fn_coupon_excel_download = function(couponSndngInnb) {
|
||||
var form = $('#listForm');
|
||||
|
||||
form.find('input[name="couponSndngInnb"]').remove();
|
||||
|
||||
form.append($('<input/>', {
|
||||
type: 'hidden',
|
||||
name: 'couponSndngInnb',
|
||||
value: couponSndngInnb
|
||||
}));
|
||||
|
||||
form.serialize();
|
||||
|
||||
form.attr('method', 'post');
|
||||
form.attr('action', '<c:url value="/mngr/promtn/coupon/selectCouponListExcelDwld"/>');
|
||||
form.submit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<spring:eval expression="@environment.getProperty('currency-unit.default')" var="curUnit"/>
|
||||
<div class="form-control-container">
|
||||
|
||||
@@ -251,6 +251,27 @@
|
||||
});
|
||||
}
|
||||
|
||||
/************************************************
|
||||
* 발송 쿠폰 내역 엑셀 다운로드
|
||||
*************************************************/
|
||||
const fn_coupon_excel_download = function(couponSndngInnb) {
|
||||
var form = $('#listForm');
|
||||
|
||||
form.find('input[name="couponSndngInnb"]').remove();
|
||||
|
||||
form.append($('<input/>', {
|
||||
type: 'hidden',
|
||||
name: 'couponSndngInnb',
|
||||
value: couponSndngInnb
|
||||
}));
|
||||
|
||||
form.serialize();
|
||||
|
||||
form.attr('method', 'post');
|
||||
form.attr('action', '<c:url value="/mngr/promtn/coupon/selectCouponListExcelDwld"/>');
|
||||
form.submit();
|
||||
}
|
||||
|
||||
|
||||
/************************************************
|
||||
* 쿠폰 상세 정보 조회 팝업
|
||||
|
||||
@@ -1998,18 +1998,18 @@ since : 2024-01-30 추지훈 최초 생성
|
||||
</button>
|
||||
</th>
|
||||
<th class="border-right">
|
||||
<input class="input-text xsm number right" value="0" type="text" name="bgnCnt"
|
||||
<input class="input-text xsm number right evt_benf_cnt" value="0" type="text" name="bgnCnt"
|
||||
title="해당 인풋에 대한 설명">
|
||||
개 이상 ~
|
||||
<input class="input-text xsm number right" value="0" type="text" name="endCnt"
|
||||
<input class="input-text xsm number right evt_benf_cnt" value="0" type="text" name="endCnt"
|
||||
title="해당 인풋에 대한 설명">
|
||||
개 미만
|
||||
</th>
|
||||
<th class="border-right">
|
||||
<input class="input-text xsm number right" value="0" type="text" name="bgnAmt"
|
||||
<input class="input-text xsm number right evt_benf_amt" value="0" type="text" name="bgnAmt"
|
||||
title="해당 인풋에 대한 설명">
|
||||
${curUnit} 이상 ~
|
||||
<input class="input-text xsm number right" value="0" type="text" name="endAmt"
|
||||
<input class="input-text xsm number right evt_benf_amt" value="0" type="text" name="endAmt"
|
||||
title="해당 인풋에 대한 설명">
|
||||
${curUnit} 미만
|
||||
</th>
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : ExchngrtUpdtU.jsp
|
||||
Description : 환율 설정 상세
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2026-04-27 이대환 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<%-- 공통 include --%>
|
||||
<%@include file ="/WEB-INF/views/comm/mngr/Include.jsp" %>
|
||||
</head>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
});
|
||||
|
||||
/* ********************************************************
|
||||
* 환율 설정 저장
|
||||
******************************************************** */
|
||||
const fn_update_exchngrt = function () {
|
||||
if (confirm('환율 설정을 <spring:message code="confirm.common.save"/>')) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/mngr/setup/exchngrt/updateExchngrtSetup"/>',
|
||||
data: $('#updtForm').serialize(),
|
||||
success: function () {
|
||||
alert("<spring:message code="success.common.save"/>");
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
<%-- 상단메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@include file="/WEB-INF/views/comm/mngr/Header.jsp" %>
|
||||
<main class="main">
|
||||
<%-- 좌측메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@include file="/WEB-INF/views/comm/mngr/Left.jsp" %>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">환율 설정</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<button class="btn primary" onclick="fn_update_exchngrt()">저장하기
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<form id="updtForm">
|
||||
<section class="content-section">
|
||||
<div class="form-control-container mb-8">
|
||||
<div class="left">
|
||||
<h3 class="content-section__inner-title">주문 설정</h3>
|
||||
</div>
|
||||
<div class="center"></div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table ">
|
||||
<caption>주문 설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 14%;">
|
||||
<col style="width: 38%;">
|
||||
<col style="width: 14%;">
|
||||
<col style="width: 38%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>환율(살때) 일본 1円(엔)기준</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right" name="buyRate" id="buyRate" title="1엔 환율(살때)" value="${resultMap.sopmalDetailList[0].buyRate}">
|
||||
<span class="input-unit-text">원</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<%-- <th>환율(팔때) 일본 1円(엔)기준</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text sm right" name="sellRate" id="sellRate" title="1엔 환율(팔때)" value="${resultMap.sopmalDetailList[0].sellRate}">
|
||||
<span class="input-unit-text">원</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>--%>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,236 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : FamilySiteUpdtU.jsp
|
||||
Description : 패밀리사이트 설정 상세
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2026-04-27 이대환 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<%-- 공통 include --%>
|
||||
<%@include file ="/WEB-INF/views/comm/mngr/Include.jsp" %>
|
||||
</head>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
});
|
||||
|
||||
/* ********************************************************
|
||||
* 입력창 추가
|
||||
******************************************************** */
|
||||
const fn_add_emptyBox = function(_target) {
|
||||
|
||||
stplatChk = false;
|
||||
let count = 0;
|
||||
let trClone = '';
|
||||
|
||||
if (_target === 'clauseChk') {
|
||||
|
||||
count = $('#tableSorting').children('tr').length + 1;
|
||||
|
||||
trClone = '<tr>'
|
||||
+ ' <td>'
|
||||
+ ' <label class="b-checkbox checkbox is-medium">'
|
||||
+ ' <input type="checkbox" name="clauseChk" value=""><span class="check"></span>'
|
||||
+ ' </label>'
|
||||
+ ' </td>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="select-box">'
|
||||
+ ' <select class="full" name="clause" id="clause' + count + '" title="약관구분" onchange="fn_select_subClause(this);">'
|
||||
+ ' <option value="" selected >선택하세요</option>'
|
||||
+ ' <c:forEach var="cgn002" items="${resultMap.cgn002}" varStatus="status">'
|
||||
+ ' <option value="${cgn002.cd}"><c:out value="${cgn002.cdNm}"/></option>'
|
||||
+ ' </c:forEach>'
|
||||
+ ' </select>'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="select-box privacyPolicy-select">'
|
||||
+ ' <select class="full" name="stplatInnbArr" id="privacyPolicy' + count + '" title="약관 내용">'
|
||||
+ ' <option value="" selected >약관 구분을 선택하세요</option>'
|
||||
+ ' </select>'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="manage-btn-container">'
|
||||
+ ' <a href="#clause-info-modal" rel="modal:open" class="btn xsm primary outline privacy" onclick="fn_select_clauseInformation(\'new\');"><spring:message code="button.view"/></a>'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ '</tr>';
|
||||
|
||||
$('#tableSorting').append(trClone);
|
||||
$('#clause' + count).niceSelect();
|
||||
$('#privacyPolicy' + count).niceSelect();
|
||||
|
||||
} else {
|
||||
|
||||
trClone = '<tr>'
|
||||
+ ' <td>'
|
||||
+ ' <label class="b-checkbox checkbox is-medium">'
|
||||
+ ' <input type="checkbox" name="siteChk" value=""><span class="check"></span>'
|
||||
+ ' </label>'
|
||||
+ ' </td>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="td-inner">'
|
||||
+ ' <input type="text" class="input-text xl" name="familySiteNmArr" title="패밀리 사이트명" maxlength="20">'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="td-inner">'
|
||||
+ ' <input type="text" class="input-text full" name="familySiteUrlArr" title="URL" maxlength="30">'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ '</tr>';
|
||||
|
||||
$('#tableSiteSorting').append(trClone);
|
||||
$('#noData').hide();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 입력창 삭제
|
||||
******************************************************** */
|
||||
const fn_remove_box = function(_target) {
|
||||
|
||||
const target = $('[name=' + _target + ']:checked');
|
||||
|
||||
if (target.length === 0) {
|
||||
alert('항목을 선택해 주세요.');
|
||||
} else {
|
||||
target.each(function() {
|
||||
$(this).parents('tr').remove();
|
||||
});
|
||||
}
|
||||
|
||||
if (_target === 'clauseChk') {
|
||||
$('#clauseAll').prop('checked', false);
|
||||
} else {
|
||||
$('#siteAll').prop('checked', false);
|
||||
const total = $('#tableSiteSorting').find('tr').length;
|
||||
|
||||
if (total === 1) {
|
||||
|
||||
$('#noData').show();
|
||||
|
||||
} else {
|
||||
|
||||
$('#noData').hide();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 패밀리사이트 설정 저장
|
||||
******************************************************** */
|
||||
const fn_update_family = function () {
|
||||
if (confirm('패밀리사이트 설정을 <spring:message code="confirm.common.save"/>')) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/mngr/setup/family/updateFamilySiteSetup"/>',
|
||||
data: $('#updtForm').serialize(),
|
||||
success: function () {
|
||||
alert("<spring:message code="success.common.save"/>");
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
<%-- 상단메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@include file ="/WEB-INF/views/comm/mngr/Header.jsp" %>
|
||||
<main class="main">
|
||||
<%-- 좌측메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@include file ="/WEB-INF/views/comm/mngr/Left.jsp" %>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">패밀리사이트 설정</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<button class="btn primary" onclick="fn_update_family()">저장하기
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<form id="updtForm">
|
||||
<section class="content-section">
|
||||
<div class="form-control-container mb-8">
|
||||
<div class="left">
|
||||
<h3 class="content-section__inner-title">패밀리사이트 설정</h3>
|
||||
</div>
|
||||
<div class="center"></div>
|
||||
<div class="right">
|
||||
<button type="button" class="btn primary outline xsm" onclick="fn_add_emptyBox('siteChk');"><spring:message code="button.add"/></button>
|
||||
<button type="button" class="btn dark xsm" onclick="fn_remove_box('siteChk');"><spring:message code="button.delete"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table vertical">
|
||||
<caption>패밀리사이트 설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 6%;">
|
||||
<col style="width: 25%;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<label class="b-checkbox checkbox is-medium check-all">
|
||||
<input type="checkbox" value="" id="siteAll"><span class="check"></span>
|
||||
</label>
|
||||
</th>
|
||||
<th>패밀리 사이트명</th>
|
||||
<th>URL</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tableSiteSorting">
|
||||
<c:if test="${not empty resultMap.siteList}">
|
||||
<c:forEach var="site" items="${resultMap.siteList}" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<label class="b-checkbox checkbox is-medium">
|
||||
<input type="checkbox" name="siteChk" value=""><span class="check"></span>
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="text" class="input-text xl" name="familySiteNmArr" title="패밀리 사이트명" maxlength="25" value="${site.familySiteNm}">
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input type="text" class="input-text full" name="familySiteUrlArr" title="URL" maxlength="60" value="${site.familySiteUrl}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<tr id="noData" style="display: none;"><td class="row-no-data" colspan="3">패밀리사이트를 설정해 주세요.</td></tr>
|
||||
</c:if>
|
||||
<c:if test="${empty resultMap.siteList}">
|
||||
<tr id="noData"><td class="row-no-data" colspan="3">패밀리사이트를 설정해 주세요.</td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,161 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : GuidanceUpdtU.jsp
|
||||
Description : 안내문구 설정 상세
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2026-04-27 이대환 최초 생성
|
||||
--%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<%-- 공통 include --%>
|
||||
<%@include file ="/WEB-INF/views/comm/mngr/Include.jsp" %>
|
||||
</head>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
const sopmalCd = '${sopmalCd}';
|
||||
//에디터 적용
|
||||
fn_create_ckeditor('#joinGuidanceSj', sopmalCd);
|
||||
fn_create_ckeditor('#joinGuidanceWords', sopmalCd);
|
||||
fn_create_ckeditor('#joinBnef', sopmalCd);
|
||||
fn_create_ckeditor('#joinComptWords', sopmalCd);
|
||||
fn_create_ckeditor('#subsvcGuidanceWords', sopmalCd);
|
||||
});
|
||||
|
||||
/* ********************************************************
|
||||
* 환율 설정 저장
|
||||
******************************************************** */
|
||||
const fn_update_guidance = function () {
|
||||
let updtForm = $('#updtForm');
|
||||
updtForm.find("#joinGuidanceSj").val(fn_get_editor_data('#joinGuidanceSj'));
|
||||
updtForm.find("#joinGuidanceWords").val(fn_get_editor_data('#joinGuidanceWords'));
|
||||
updtForm.find("#joinBnef").val(fn_get_editor_data('#joinBnef'));
|
||||
updtForm.find("#joinComptWords").val(fn_get_editor_data('#joinComptWords'));
|
||||
updtForm.find("#subsvcGuidanceWords").val(fn_get_editor_data('#subsvcGuidanceWords'));
|
||||
|
||||
if (confirm('환율 설정을 <spring:message code="confirm.common.save"/>')) {
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '<c:url value="/mngr/setup/guidance/updateGuidanceSetup"/>',
|
||||
data: $('#updtForm').serialize(),
|
||||
success: function () {
|
||||
alert("<spring:message code="success.common.save"/>");
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
.ck.ck-content:not(.ck-style-grid__button__preview) {
|
||||
min-height: 100px;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<%-- 상단메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@include file="/WEB-INF/views/comm/mngr/Header.jsp" %>
|
||||
<main class="main">
|
||||
<%-- 좌측메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@include file="/WEB-INF/views/comm/mngr/Left.jsp" %>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">안내문구 설정</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<button class="btn primary" onclick="fn_update_guidance()">저장하기
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<form id="updtForm">
|
||||
<section class="content-section">
|
||||
<div class="form-control-container mb-8">
|
||||
<div class="left">
|
||||
<h3 class="content-section__inner-title">회원가입 안내 설정</h3>
|
||||
</div>
|
||||
<div class="center"></div>
|
||||
<div class="right"></div>
|
||||
</div>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>회원가입 안내 설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>회원가입 안내 타이틀</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<textarea class="textarea" id="joinGuidanceSj" name="joinGuidanceSj"
|
||||
title="회원가입 안내 타이틀" rows="2">
|
||||
${resultMap.sopmalDetailList[0].joinGuidanceSj }
|
||||
</textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>회원가입 안내문구</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<textarea class="textarea" id="joinGuidanceWords" name="joinGuidanceWords"
|
||||
title="회원가입 안내문구" rows="2">
|
||||
${resultMap.sopmalDetailList[0].joinGuidanceWords }
|
||||
</textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>회원가입 주요혜택</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<textarea class="textarea" id="joinBnef" name="joinBnef"
|
||||
title="회원가입 주요혜택" rows="2">
|
||||
${resultMap.sopmalDetailList[0].joinBnef }
|
||||
</textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>회원가입 완료문구</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<textarea class="textarea" id="joinComptWords" name="joinComptWords"
|
||||
title="회원가입 완료문구" rows="2">
|
||||
${resultMap.sopmalDetailList[0].joinComptWords }
|
||||
</textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>구독서비스 안내문구</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<textarea class="textarea" id="subsvcGuidanceWords" name="subsvcGuidanceWords"
|
||||
title="구독서비스 안내문구" rows="2">
|
||||
${resultMap.sopmalDetailList[0].subsvcGuidanceWords }
|
||||
</textarea>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -3,6 +3,7 @@
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
<%--
|
||||
Class Name : OrdrListR.jsp
|
||||
Description : 주문설정 jsp
|
||||
@@ -21,10 +22,10 @@
|
||||
$(document).ready(function () {
|
||||
|
||||
$("#mlgPymntRt").val(function(index, value) {
|
||||
return Number(value).toLocaleString();
|
||||
return Number(value).toLocaleString();
|
||||
});
|
||||
$("#mlgMxmmPymntAmt").val(function(index, value) {
|
||||
return Number(value).toLocaleString();
|
||||
return Number(value).toLocaleString();
|
||||
});
|
||||
|
||||
/*선물하기 이벤트*/
|
||||
@@ -102,6 +103,34 @@
|
||||
$("#mlgPymntRt").val("0");
|
||||
});
|
||||
});
|
||||
|
||||
/* ********************************************************
|
||||
* 마일리지 사용 조건 disabled 처리
|
||||
******************************************************** */
|
||||
const fn_set_mlgDisabled = function(_target) {
|
||||
|
||||
if (_target === 'other') {
|
||||
|
||||
$('#maxPct').prop('disabled', true);
|
||||
$('#maxPct').val('0');
|
||||
$('#maxMlg').prop('disabled', true);
|
||||
$('#maxMlg').val('0');
|
||||
|
||||
} else if (_target === 'maxPct') {
|
||||
|
||||
$('#maxPct').prop('disabled', false);
|
||||
$('#maxMlg').prop('disabled', true);
|
||||
$('#maxMlg').val('0');
|
||||
|
||||
} else if (_target === 'maxMlg') {
|
||||
|
||||
$('#maxPct').prop('disabled', true);
|
||||
$('#maxPct').val('0');
|
||||
$('#maxMlg').prop('disabled', false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**************************************************************
|
||||
hidden form 생성 함수
|
||||
****************************************************************/
|
||||
@@ -122,13 +151,12 @@
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<c:set var = "ordrSetupInfo" value="${resultMap.ordrSetupInfo}"/>
|
||||
<c:set var = "ordrSetupInfo" value="${resultMap.ordrSetupList.ordrSetupInfo}"/>
|
||||
<%-- 상단메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@include file="/WEB-INF/views/comm/mngr/Header.jsp" %>
|
||||
<main class="main">
|
||||
<%-- 좌측메뉴 공통화 적용 : 2023-11-30 / 박철민 추가 --%>
|
||||
<%@include file="/WEB-INF/views/comm/mngr/Left.jsp" %>
|
||||
<form id = "updtForm">
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
@@ -139,268 +167,364 @@
|
||||
<spring:message code="button.save"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section content-fold">
|
||||
<div class="content-fold__header">
|
||||
</div>
|
||||
<c:if test = "${ordrSetupInfo.sopmalTyCd eq '01'}">
|
||||
<form id = "updtForm">
|
||||
<section class="content-section content-fold">
|
||||
<div class="content-fold__header">
|
||||
</div>
|
||||
<c:if test = "${ordrSetupInfo.sopmalTyCd eq '01'}">
|
||||
<div class="content-fold__content">
|
||||
<h3 class="content-section__inner-title">여러 곳 배송</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>여러 곳 배송 사용 여부 설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>여러 곳 배송 사용 여부</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="multiDlvyUseAtY" name="multiDlvyAt" value="Y"
|
||||
<c:if test = "${ordrSetupInfo.multiDlvyAt eq 'Y'}">checked</c:if>>
|
||||
<label for="multiDlvyUseAtY">사용</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="multiDlvyUseAtN" name="multiDlvyAt" value="N"
|
||||
<c:if test = "${ordrSetupInfo.multiDlvyAt eq 'N'}">checked</c:if>>
|
||||
<label for="multiDlvyUseAtN">미사용</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-fold__content">
|
||||
<h3 class="content-section__inner-title">선물하기</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>선물하기 설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>선물하기 사용 여부</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="giftUseAtY" name="giftDlvyAt" value="Y"
|
||||
<c:if test = "${ordrSetupInfo.giftDlvyAt eq 'Y'}">checked</c:if>>
|
||||
<label for="giftUseAtY">사용</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="giftUseAtN" name="giftDlvyAt" value="N"
|
||||
<c:if test = "${ordrSetupInfo.giftDlvyAt eq 'N'}">checked</c:if>>
|
||||
<label for="giftUseAtN">미사용</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="giftDlvylcDv" <c:if test = "${ordrSetupInfo.giftDlvyAt eq 'N'}">style = "display: none"</c:if>>
|
||||
<th>배송주소 등록기간<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="td-inner vertical">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text xsm right number"
|
||||
id="giftDlvyAtmcCanclPd" title="배송주소 등록기간 설정"
|
||||
name="giftDlvyAtmcCanclPd" maxlength="2"
|
||||
<c:choose>
|
||||
<c:when test = "${not empty ordrSetupInfo.giftDlvyAtmcCanclPd}">
|
||||
value = "<c:out value="${ordrSetupInfo.giftDlvyAtmcCanclPd}"/>"
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
value = "0"
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:if test = "${ordrSetupInfo.giftDlvyAt eq 'N'}">disabled</c:if>>
|
||||
<span class="mr-10input-unit-text"> 일 이내 배송주소 등록되지 않으면 주문 자동취소</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-fold__content">
|
||||
<h3 class="content-section__inner-title">GC 머니</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>GC 머니 사용 여부 설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>GC 머니 사용 여부</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="cashAtY" name="cashAt"
|
||||
value="Y"
|
||||
<c:if test="${ordrSetupInfo.cashAt eq 'Y'}">checked</c:if>>
|
||||
<label for="cashAtY">사용</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="cashAtN" name="cashAt"
|
||||
value="N"
|
||||
<c:if test="${ordrSetupInfo.cashAt eq 'N'}">checked</c:if>>
|
||||
<label for="cashAtN">미사용</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="content-fold__content">
|
||||
<h3 class="content-section__inner-title">여러 곳 배송</h3>
|
||||
<h3 class="content-section__inner-title">마일리지 지급</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>여러 곳 배송 사용 여부 설정</caption>
|
||||
<caption>마일리지 지급 설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>여러 곳 배송 사용 여부</th>
|
||||
<th>지급 설정<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="td-inner vertical">
|
||||
<div class="custom-radio-container ">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="multiDlvyUseAtY" name="multiDlvyAt" value="Y"
|
||||
<c:if test = "${ordrSetupInfo.multiDlvyAt eq 'Y'}">checked</c:if>>
|
||||
<label for="multiDlvyUseAtY">사용</label>
|
||||
<input type="radio" id="mlgPymntY" name="mlgPymntAt" value="Y"
|
||||
<c:if test = "${ordrSetupInfo.mlgPymntAt eq 'Y'}">checked</c:if>>
|
||||
<label for="mlgPymntY">사용</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="multiDlvyUseAtN" name="multiDlvyAt" value="N"
|
||||
<c:if test = "${ordrSetupInfo.multiDlvyAt eq 'N'}">checked</c:if>>
|
||||
<label for="multiDlvyUseAtN">미사용</label>
|
||||
<input type="radio" id="mlgPymntN" name="mlgPymntAt" value="N"
|
||||
<c:if test = "${ordrSetupInfo.mlgPymntAt eq 'N'}">checked</c:if>>
|
||||
<label for="mlgPymntN">미사용</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-fold__content">
|
||||
<h3 class="content-section__inner-title">선물하기</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>선물하기 설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>선물하기 사용 여부</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="giftUseAtY" name="giftDlvyAt" value="Y"
|
||||
<c:if test = "${ordrSetupInfo.giftDlvyAt eq 'Y'}">checked</c:if>>
|
||||
<label for="giftUseAtY">사용</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="giftUseAtN" name="giftDlvyAt" value="N"
|
||||
<c:if test = "${ordrSetupInfo.giftDlvyAt eq 'N'}">checked</c:if>>
|
||||
<label for="giftUseAtN">미사용</label>
|
||||
<div class="input-container ml-5 mlgPymntCtrTarget" <c:if test = "${ordrSetupInfo.mlgPymntAt eq 'N'}">style="display: none"</c:if>><%--사용 여부에 따른 이벤트 컨트롤--%>
|
||||
<span class="mr-5">구매시</span>
|
||||
<span class="mr-5 mlgPercent">총 상품 결제금액의</span>
|
||||
<span class="mr-5 ">
|
||||
<input type="text" class="input-text xsm right number" title="마일리지 적립" id="mlgPymntRt" name="mlgPymntRt"
|
||||
<c:choose>
|
||||
<c:when test = "${ordrSetupInfo.mlgPymntDvCd eq '01'}">
|
||||
maxlength="2"
|
||||
</c:when>
|
||||
<c:when test = "${ordrSetupInfo.mlgPymntDvCd eq '02'}">
|
||||
maxlength="12"
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
maxlength="2"
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:choose>
|
||||
<c:when test = "${not empty ordrSetupInfo.mlgPymntRt}">
|
||||
value ="<c:out value="${ordrSetupInfo.mlgPymntRt}"/>"
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
value ="0"
|
||||
</c:otherwise>
|
||||
</c:choose>>
|
||||
</span>
|
||||
<div class="select-box mr-10 ">
|
||||
<select id="accmlUnitDv" name="mlgPymntDvCd" class="short" title="마일리지 단위 선택">
|
||||
<c:forEach var="accmlUnitDv" items="${resultMap.ordrSetupList.accmlUnitDv}">
|
||||
<option value="<c:out value='${accmlUnitDv.cd}'/>"
|
||||
<c:if test = "${ordrSetupInfo.mlgPymntDvCd eq accmlUnitDv.cd}">selected</c:if>>
|
||||
<c:out value="${accmlUnitDv.cdNm}"/>
|
||||
</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
<span class="mr-5">적립</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="giftDlvylcDv" <c:if test = "${ordrSetupInfo.giftDlvyAt eq 'N'}">style = "display: none"</c:if>>
|
||||
<th>배송주소 등록기간<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="td-inner vertical">
|
||||
<div class="input-container">
|
||||
<input type="text" class="input-text xsm right number"
|
||||
id="giftDlvyAtmcCanclPd" title="배송주소 등록기간 설정"
|
||||
name="giftDlvyAtmcCanclPd" maxlength="2"
|
||||
<c:choose>
|
||||
<c:when test = "${not empty ordrSetupInfo.giftDlvyAtmcCanclPd}">
|
||||
value = "<c:out value="${ordrSetupInfo.giftDlvyAtmcCanclPd}"/>"
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
value = "0"
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:if test = "${ordrSetupInfo.giftDlvyAt eq 'N'}">disabled</c:if>>
|
||||
<span class="mr-10input-unit-text"> 일 이내 배송주소 등록되지 않으면 주문 자동취소</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-fold__content">
|
||||
<h3 class="content-section__inner-title">GC 머니</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>GC 머니 사용 여부 설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>GC 머니 사용 여부</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="cashAtY" name="cashAt"
|
||||
value="Y"
|
||||
<c:if test="${ordrSetupInfo.cashAt eq 'Y'}">checked</c:if>>
|
||||
<label for="cashAtY">사용</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="cashAtN" name="cashAt"
|
||||
value="N"
|
||||
<c:if test="${ordrSetupInfo.cashAt eq 'N'}">checked</c:if>>
|
||||
<label for="cashAtN">미사용</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<div class="content-fold__content">
|
||||
<h3 class="content-section__inner-title">마일리지 지급</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>마일리지 지급 설정</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>지급 설정<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner vertical">
|
||||
<div class="custom-radio-container ">
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="mlgPymntY" name="mlgPymntAt" value="Y"
|
||||
<c:if test = "${ordrSetupInfo.mlgPymntAt eq 'Y'}">checked</c:if>>
|
||||
<label for="mlgPymntY">사용</label>
|
||||
</div>
|
||||
<div class="custom-radio">
|
||||
<input type="radio" id="mlgPymntN" name="mlgPymntAt" value="N"
|
||||
<c:if test = "${ordrSetupInfo.mlgPymntAt eq 'N'}">checked</c:if>>
|
||||
<label for="mlgPymntN">미사용</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-container ml-5 mlgPymntCtrTarget" <c:if test = "${ordrSetupInfo.mlgPymntAt eq 'N'}">style="display: none"</c:if>><%--사용 여부에 따른 이벤트 컨트롤--%>
|
||||
<span class="mr-5">구매시</span>
|
||||
<span class="mr-5 mlgPercent">총 상품 결제금액의</span>
|
||||
<span class="mr-5 ">
|
||||
<input type="text" class="input-text xsm right number" title="마일리지 적립" id="mlgPymntRt" name="mlgPymntRt"
|
||||
<c:choose>
|
||||
<c:when test = "${ordrSetupInfo.mlgPymntDvCd eq '01'}">
|
||||
maxlength="2"
|
||||
</c:when>
|
||||
<c:when test = "${ordrSetupInfo.mlgPymntDvCd eq '02'}">
|
||||
maxlength="12"
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
maxlength="2"
|
||||
</c:otherwise>
|
||||
<div class="input-container mr-5 mlgPymntCtrTarget " id = "mlgMxmmDv" <c:if test = "${ordrSetupInfo.mlgPymntAt eq 'N' || ordrSetupInfo.mlgPymntDvCd eq '02'}">style="display: none"</c:if>><%--사용 여부에 따른 이벤트 컨트롤--%>
|
||||
<span class="mr-5">최대</span>
|
||||
<input class="input-text sm number right mr-5" type="text"
|
||||
title="최대 마일리지 적립금액" id="mlgMxmmPymntAmt"
|
||||
name="mlgMxmmPymntAmt" maxlength="12"
|
||||
<c:choose>
|
||||
<c:when test = "${not empty ordrSetupInfo.mlgMxmmPymntAmt}">
|
||||
value ="${ordrSetupInfo.mlgMxmmPymntAmt}"
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
value ="0"
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:choose>
|
||||
<c:when test = "${not empty ordrSetupInfo.mlgPymntRt}">
|
||||
value ="<c:out value="${ordrSetupInfo.mlgPymntRt}"/>"
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
value ="0"
|
||||
</c:otherwise>
|
||||
</c:choose>>
|
||||
</span>
|
||||
<div class="select-box mr-10 ">
|
||||
<select id="accmlUnitDv" name="mlgPymntDvCd" class="short" title="마일리지 단위 선택">
|
||||
<c:forEach var="accmlUnitDv" items="${resultMap.accmlUnitDv}">
|
||||
<option value="<c:out value='${accmlUnitDv.cd}'/>"
|
||||
<c:if test = "${ordrSetupInfo.mlgPymntDvCd eq accmlUnitDv.cd}">selected</c:if>>
|
||||
<c:out value="${accmlUnitDv.cdNm}"/>
|
||||
</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<c:if test = "${ordrSetupInfo.mlgMxmmPymntAmtAt eq 'N'}">disabled</c:if>>
|
||||
<span class="mr-5">마일리지 까지 적립</span>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="N"
|
||||
name="mlgMxmmPymntAmtAt"
|
||||
id="mlgMxmmPymntAmtAt"
|
||||
<c:if test = "${ordrSetupInfo.mlgMxmmPymntAmtAt eq 'N'}">checked</c:if>>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">설정 안함</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<span class="mr-5">적립</span>
|
||||
</div>
|
||||
<div class="input-container mr-5 mlgPymntCtrTarget " id = "mlgMxmmDv" <c:if test = "${ordrSetupInfo.mlgPymntAt eq 'N' || ordrSetupInfo.mlgPymntDvCd eq '02'}">style="display: none"</c:if>><%--사용 여부에 따른 이벤트 컨트롤--%>
|
||||
<span class="mr-5">최대</span>
|
||||
<input class="input-text sm number right mr-5" type="text"
|
||||
title="최대 마일리지 적립금액" id="mlgMxmmPymntAmt"
|
||||
name="mlgMxmmPymntAmt" maxlength="12"
|
||||
<c:choose>
|
||||
<c:when test = "${not empty ordrSetupInfo.mlgMxmmPymntAmt}">
|
||||
value ="${ordrSetupInfo.mlgMxmmPymntAmt}"
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
value ="0"
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:if test = "${ordrSetupInfo.mlgMxmmPymntAmtAt eq 'N'}">disabled</c:if>>
|
||||
<span class="mr-5">마일리지 까지 적립</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="mlgPymntCtrTarget" <c:if test = "${ordrSetupInfo.mlgPymntAt eq 'N'}">style="display: none"</c:if>><%--사용 여부에 따른 이벤트 컨트롤--%>
|
||||
<th>유효기간<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="input-container ml-5 ">
|
||||
<span class="mr-5 left">지급 마일리지의 유효기간은</span>
|
||||
<input class="input-text xsm right number" type="text"
|
||||
title="마일리지 유효기간" id="mlgValidPd" name="mlgValidPd"
|
||||
maxlength="2"
|
||||
<c:choose>
|
||||
<c:when test="${not empty ordrSetupInfo.mlgValidPd}">
|
||||
value="<c:out value="${ordrSetupInfo.mlgValidPd}"/>"
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
value="0"
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:if test = "${ordrSetupInfo.mlgValidPdAt eq 'N'}">disabled</c:if>>
|
||||
<span class="mr-5">개월</span>
|
||||
<%-- 유효기간 사용 유무 설정 --%>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" value="N"
|
||||
name="mlgMxmmPymntAmtAt"
|
||||
id="mlgMxmmPymntAmtAt"
|
||||
<c:if test = "${ordrSetupInfo.mlgMxmmPymntAmtAt eq 'N'}">checked</c:if>>
|
||||
<label class="b-checkbox checkbox ">
|
||||
<input type="checkbox" value="N" name="mlgValidPdAt"
|
||||
id="mlgValidPdAt"
|
||||
<c:if test = "${ordrSetupInfo.mlgValidPdAt eq 'N'}">checked</c:if>>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">설정 안함</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="mlgPymntCtrTarget" <c:if test = "${ordrSetupInfo.mlgPymntAt eq 'N'}">style="display: none"</c:if>><%--사용 여부에 따른 이벤트 컨트롤--%>
|
||||
<th>유효기간<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="input-container ml-5 ">
|
||||
<span class="mr-5 left">지급 마일리지의 유효기간은</span>
|
||||
<input class="input-text xsm right number" type="text"
|
||||
title="마일리지 유효기간" id="mlgValidPd" name="mlgValidPd"
|
||||
maxlength="2"
|
||||
<c:choose>
|
||||
<c:when test="${not empty ordrSetupInfo.mlgValidPd}">
|
||||
value="<c:out value="${ordrSetupInfo.mlgValidPd}"/>"
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
value="0"
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<c:if test = "${ordrSetupInfo.mlgValidPdAt eq 'N'}">disabled</c:if>>
|
||||
<span class="mr-5">개월</span>
|
||||
<%-- 유효기간 사용 유무 설정 --%>
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox ">
|
||||
<input type="checkbox" value="N" name="mlgValidPdAt"
|
||||
id="mlgValidPdAt"
|
||||
<c:if test = "${ordrSetupInfo.mlgValidPdAt eq 'N'}">checked</c:if>>
|
||||
<span class="check"></span>
|
||||
<span class="control-label">설정 안함</span>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="content-section content-fold">
|
||||
<h3 class="content-section__inner-title">마일리지 사용 조건</h3>
|
||||
<div class="table-wrapper">
|
||||
<table class="table ">
|
||||
<caption>마일리지 사용 조건</caption>
|
||||
<colgroup>
|
||||
<col style="width: 14%;">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>보유 마일리지 조건</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<span class="mr-10">보유 마일리지가</span>
|
||||
<input type="text" class="input-text sm right number" name="mlgHoldUseAmt" title="보유 마일리지가" maxlength="7" value="${resultMap.sopmalDetailList[0].mlgHoldUseAmt }">
|
||||
<span class="input-unit-text mr-8">원</span>
|
||||
<span>이상이면 마일리지 사용 가능</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>상품 금액 조건</th>
|
||||
<td>
|
||||
<div class="td-inner vertical">
|
||||
<div class="input-container">
|
||||
<span class="gray-7 mr-10">{상품 실 결제금액} + {좌동} + {좌동} ···</span>
|
||||
<input type="text" class="input-text sm right number" name="mlgSetleAmtUseAmt" title="사용가능 마일리지" maxlength="7" value="${resultMap.sopmalDetailList[0].mlgSetleAmtUseAmt }">
|
||||
<span class="input-unit-text mr-8">원</span>
|
||||
<span>이상이면 마일리지 사용 가능</span>
|
||||
</div>
|
||||
<p class="blue-7 fyi">상품 실 결제 금액 = {상품 할인가(판매가) x 수량} - 할인(쿠폰, 등급, 좋아요, 모바일, 프로모션 코드)</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>마일리지 사용한도 조건</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<div class="input-container">
|
||||
<span class="mr-10">마일리지는 최소</span>
|
||||
<input type="text" class="input-text sm right number" name="mlgMummUseAmt" title="마일리지는 최소" maxlength="7" value="${resultMap.sopmalDetailList[0].mlgMummUseAmt }">
|
||||
<span class="input-unit-text">원 이상</span>
|
||||
</div>
|
||||
<span class="tilde">~</span>
|
||||
<div class="input-container">
|
||||
<span class="mr-10">최대</span>
|
||||
<div class="custom-radio-container vertical storeCondition">
|
||||
<div class=" custom-radio">
|
||||
<input type="radio" id="mlgMxmmUse-a" name="mlgMxmmUseDv" value="01" onclick="fn_set_mlgDisabled('other');" ${f:setChecked(resultMap.sopmalDetailList[0].mlgMxmmUseDv, '01') }>
|
||||
<label for="mlgMxmmUse-a">1회 사용한도 제한 없이 사용 가능
|
||||
</label>
|
||||
</div>
|
||||
<c:set var="mlgMxmmUseAmt_2" value="0" />
|
||||
<c:set var="mlgMxmmUseAmt_Disabled_2" value="disabled" />
|
||||
<c:set var="mlgMxmmUseAmt_3" value="0" />
|
||||
<c:set var="mlgMxmmUseAmt_Disabled_3" value="disabled" />
|
||||
<c:if test="${resultMap.sopmalDetailList[0].mlgMxmmUseDv eq '02'}" >
|
||||
<c:set var="mlgMxmmUseAmt_2" value="${resultMap.sopmalDetailList[0].mlgMxmmUseAmt }" />
|
||||
<c:set var="mlgMxmmUseAmt_Disabled_2" value="" />
|
||||
</c:if>
|
||||
<c:if test="${resultMap.sopmalDetailList[0].mlgMxmmUseDv eq '03'}" >
|
||||
<c:set var="mlgMxmmUseAmt_3" value="${resultMap.sopmalDetailList[0].mlgMxmmUseAmt }" />
|
||||
<c:set var="mlgMxmmUseAmt_Disabled_3" value="" />
|
||||
</c:if>
|
||||
<div class="custom-radio inner-input">
|
||||
<input type="radio" id="mlgMxmmUse-b" name="mlgMxmmUseDv" value="02" onclick="fn_set_mlgDisabled('maxPct');" ${f:setChecked(resultMap.sopmalDetailList[0].mlgMxmmUseDv, '02') }>
|
||||
<label for="mlgMxmmUse-b">
|
||||
<span class="gray-7">{상품 실 결제금액} + {좌동} + {좌동} ···</span> 의
|
||||
</label>
|
||||
<div>
|
||||
<input type="text" class="input-text xxsm ml-5 number right" name="mlgMxmmUseAmt" id="maxPct" title="마일리지 최대사용 %" maxlength="3" value="${mlgMxmmUseAmt_2 }" ${mlgMxmmUseAmt_Disabled_2 }>
|
||||
<span class="input-unit-text mr-8">%</span>금액까지 사용 가능
|
||||
</div>
|
||||
</div>
|
||||
<div class="custom-radio inner-input">
|
||||
<input type="radio" id="mlgMxmmUse-c" name="mlgMxmmUseDv" value="03" onclick="fn_set_mlgDisabled('maxMlg');" ${f:setChecked(resultMap.sopmalDetailList[0].mlgMxmmUseDv, '03') } >
|
||||
<label for="mlgMxmmUse-c">
|
||||
</label>
|
||||
<div>
|
||||
<input class="input-text sm ml-5 number right" name="mlgMxmmUseAmt" id="maxMlg" title="마일리지 최대사용 금액" maxlength="7" value="${mlgMxmmUseAmt_3 }" ${mlgMxmmUseAmt_Disabled_3 }>
|
||||
<span class="input-unit-text mr-8">원</span>까지 사용 가능
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</form>
|
||||
<button class="scroll-to-top"><span class="visually-hidden">위로가기</span></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
|
||||
@@ -271,11 +271,11 @@
|
||||
|
||||
/
|
||||
|
||||
<span>가로 :</span>
|
||||
<span>모바일 가로 :</span>
|
||||
<input class="input-text xsm" type="text" id="mblPopupLcX" name="mblPopupLcX"
|
||||
oninput="fn_num_validateInput(this)" title="모바일 팝업위치 가로" maxlength="3">
|
||||
<span class="gray-7">px</span>
|
||||
<span class="ml-10">세로 :</span>
|
||||
<span class="ml-10">모바일 세로 :</span>
|
||||
<input class="input-text xsm" type="text" id="mblPopupLcY" name="mblPopupLcY"
|
||||
oninput="fn_num_validateInput(this)" title="모바일 팝업위치 세로" maxlength="3">
|
||||
<span class="gray-7">px</span>
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
//상품문의 조회
|
||||
fn_select_qna(1);
|
||||
|
||||
//반품교환정보 조회
|
||||
//배송/반품정보 조회
|
||||
fn_select_return_info();
|
||||
|
||||
//포토리뷰 이미지 제거
|
||||
@@ -4533,7 +4533,7 @@
|
||||
<a href="#productQnA" id="productQnAA">상품문의(<span id="goodsQnaCnt"><fmt:formatNumber value="${resultMap.bbscttInfo.qnaCnt}" pattern="#,###"/></span>)</a>
|
||||
</li>
|
||||
<li class="productDetailTab__item">
|
||||
<a href="#productReTurn" id="productReTurnA">반품/교환정보</a>
|
||||
<a href="#productReTurn" id="productReTurnA">배송/반품</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
40
src/main/webapp/WEB-INF/views/sopmal/main/AgeChkPopupR.jsp
Normal file
40
src/main/webapp/WEB-INF/views/sopmal/main/AgeChkPopupR.jsp
Normal file
@@ -0,0 +1,40 @@
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%--
|
||||
Class Name : NtcntalkAtmcSndngTmplatUpdtPopupU.jsp
|
||||
Description : 메시지 자동 발송 상세
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2024.05.16 이대환 최초 생성
|
||||
--%>
|
||||
<script>
|
||||
const fn_ageChk_yes = function() {
|
||||
document.cookie = "ageChk=true; path=/; max-age=86400";
|
||||
}
|
||||
|
||||
const fn_ageChk_no = function() {
|
||||
window.location.href = "https://search.naver.com/search.naver?query=사케일잔";
|
||||
}
|
||||
</script>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR&family=Noto+Sans+JP&display=swap" rel="stylesheet">
|
||||
<div id="ageChkPopup" class="modal alert" style="max-width: 800px; font-family: 'Noto Sans JP', 'Noto Sans KR', sans-serif;">
|
||||
<div class="alert-content">
|
||||
<p class="alert-content__text" style="font-size: 35px;">
|
||||
満20歳以上ですか?<br>
|
||||
(만20세 이상입니까?)
|
||||
</p>
|
||||
<p class="alert-content__text--sm" style="font-size: 25px;">
|
||||
20歳未満の飲酒は法律で禁止されています。<br>
|
||||
(20세 미만의 음주는 법으로 금지되어 있습니다.)
|
||||
</p>
|
||||
</div>
|
||||
<div class="alert-btn-container">
|
||||
<a href="javascript:void(0);" onclick="fn_ageChk_yes();" rel="modal:close" class="alert-btn alert-btn--confirm" style="font-size: 20px;">はい (예)</a>
|
||||
<a href="javascript:void(0);" onclick="fn_ageChk_no();" rel="modal:close" class="alert-btn alert-btn--confirm" style="font-size: 20px;">いいえ (아니오)</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -70,7 +70,7 @@
|
||||
</c:if>
|
||||
<div class="signUp-promotion__section">
|
||||
<h5 class="signUp-promotion__section__title"><c:if test="${integrated}">GC ONE (통합 회원) </c:if>주요 혜택</h5>
|
||||
<div class="signUp-promotion__col-3 ck-content">
|
||||
<div class="signUp-promotion__section__content ck-content">
|
||||
<c:out value='${sopmalInfo.joinBnef}' escapeXml='false'/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -83,10 +83,15 @@
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
let signUpPromo = $('.signUp-promotion__col-3.ck-content');
|
||||
let figureTable = signUpPromo.find('figure.table');
|
||||
if(figureTable.length == 4){
|
||||
signUpPromo.removeClass('signUp-promotion__col-3').addClass('signUp-promotion__col-2');
|
||||
let signUpPromo = $('.signUp-promotion__section__content');
|
||||
let figureTable = signUpPromo.find('figure.table').length;
|
||||
|
||||
if(figureTable) {
|
||||
if (figureTable % 3 == 0) {
|
||||
signUpPromo.addClass('signUp-promotion__col-3');
|
||||
} else if (figureTable % 2 == 0) {
|
||||
signUpPromo.addClass('signUp-promotion__col-2');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -613,7 +613,11 @@
|
||||
fn_set_csh_rcipt_issu(id);
|
||||
}
|
||||
} else {
|
||||
$(form).find('#pgCmpnyNm').val($('input[name="pg"]:checked').val());
|
||||
if('bank' === id) {
|
||||
$(form).find('#pgCmpnyNm').val(id);
|
||||
} else {
|
||||
$(form).find('#pgCmpnyNm').val($('input[name="pg"]:checked').val());
|
||||
}
|
||||
|
||||
if ('hndwr-card' !== id) {
|
||||
if ('payco' === id || 'card' === id) {
|
||||
|
||||
@@ -616,7 +616,11 @@
|
||||
fn_set_csh_rcipt_issu(id);
|
||||
}
|
||||
} else {
|
||||
$(form).find('#pgCmpnyNm').val($('input[name="pg"]:checked').val());
|
||||
if('bank' === id) {
|
||||
$(form).find('#pgCmpnyNm').val(id);
|
||||
} else {
|
||||
$(form).find('#pgCmpnyNm').val($('input[name="pg"]:checked').val());
|
||||
}
|
||||
|
||||
if ('hndwr-card' !== id) {
|
||||
if ('payco' === id || 'card' === id) {
|
||||
@@ -3527,7 +3531,7 @@
|
||||
|
||||
function pay(method, requestJson, pgNm) {
|
||||
|
||||
if(pgNm === "naverpay"||pgNm === "kakaopay")
|
||||
if(pgNm === "kakaopay")
|
||||
tossPayments = TossPayments("${data.payInfo.easypayClntKey}");
|
||||
|
||||
tossPayments.requestPayment(method, requestJson)
|
||||
@@ -4574,13 +4578,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<%--
|
||||
<c:if test="${'Y' eq payInfo.npayUseAt}">
|
||||
<div id="naverpay-content" class="order-method-normal__content" style="display: none">
|
||||
<div id="naverpay-content-inner" class="order-method-normal__content-inner">
|
||||
<div class="noempty">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="naverpay-content-inner" class="order-method-normal__content-inner"></div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${'Y' eq payInfo.kpayUseAt}">
|
||||
@@ -4592,6 +4593,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
--%>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
@@ -3935,7 +3935,7 @@ const fn_move_goodsDtl_login = () => {
|
||||
<span class="productDetailTab__num"><span id="goodsQnaCnt"><fmt:formatNumber value="${resultMap.bbscttInfo.qnaCnt}" pattern="#,###"/></span></span>
|
||||
</li>
|
||||
<li class="productDetailTab__item">
|
||||
<button id="productReTurnA">교환/반품</button>
|
||||
<button id="productReTurnA">배송/반품</button>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="productDetailTab__content active">
|
||||
|
||||
@@ -24,12 +24,15 @@
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
fn_set_header_title("회원가입");
|
||||
let signUpPromo = $('.signUp-promotion__section__content');
|
||||
let figureTable = signUpPromo.find('figure.table').length;
|
||||
|
||||
let signUpPromo = $('.signUp-promotion__col-3.ck-content');
|
||||
let figureTable = signUpPromo.find('figure.table');
|
||||
if(figureTable.length == 4){
|
||||
signUpPromo.removeClass('signUp-promotion__col-3').addClass('signUp-promotion__col-2');
|
||||
if(figureTable) {
|
||||
if (figureTable % 3 == 0) {
|
||||
signUpPromo.addClass('signUp-promotion__col-3');
|
||||
} else if (figureTable % 2 == 0) {
|
||||
signUpPromo.addClass('signUp-promotion__col-2');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -131,7 +134,7 @@
|
||||
<div class="sub-box">
|
||||
<div class="signUp-promotion__section">
|
||||
<h5 class="signUp-promotion__section__title"><c:if test="${integrated}">GC ONE (통합 회원) </c:if>주요 혜택</h5>
|
||||
<div class="signUp-promotion__col-3 ck-content">
|
||||
<div class="signUp-promotion__section__content ck-content">
|
||||
<c:out value='${sopmalInfo.joinBnef}' escapeXml='false'/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -659,7 +659,11 @@
|
||||
fn_set_csh_rcipt_issu(id);
|
||||
}
|
||||
} else {
|
||||
$(form).find('#pgCmpnyNm').val($('input[name="pg"]:checked').val());
|
||||
if('bank' === id) {
|
||||
$(form).find('#pgCmpnyNm').val(id);
|
||||
} else {
|
||||
$(form).find('#pgCmpnyNm').val($('input[name="pg"]:checked').val());
|
||||
}
|
||||
|
||||
if ('hndwr-card' !== id) {
|
||||
if ('payco' === id || 'card' === id) {
|
||||
|
||||
@@ -662,7 +662,11 @@
|
||||
fn_set_csh_rcipt_issu(id);
|
||||
}
|
||||
} else {
|
||||
$(form).find('#pgCmpnyNm').val($('input[name="pg"]:checked').val());
|
||||
if('bank' === id) {
|
||||
$(form).find('#pgCmpnyNm').val(id);
|
||||
} else {
|
||||
$(form).find('#pgCmpnyNm').val($('input[name="pg"]:checked').val());
|
||||
}
|
||||
|
||||
if ('hndwr-card' !== id) {
|
||||
if ('payco' === id || 'card' === id) {
|
||||
@@ -4676,6 +4680,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<%--
|
||||
<c:if test="${'Y' eq payInfo.npayUseAt}">
|
||||
<div id="naverpay-content" class="order-method-normal__content" style="display: none">
|
||||
<div id="naverpay-content-inner" class="order-method-normal__content-inner">
|
||||
@@ -4694,6 +4699,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
--%>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
Reference in New Issue
Block a user