상품관리 > 상품조회 > 상품 등록/복사재등록/수정 - 상품명(영문), HS Code, 실무게(KG) 추가
This commit is contained in:
@@ -47,6 +47,10 @@ public class BOGoodsOptionVO extends AbstractVO {
|
|||||||
private String optnCd4;
|
private String optnCd4;
|
||||||
/** 옵션정보 */
|
/** 옵션정보 */
|
||||||
private String optnInfo;
|
private String optnInfo;
|
||||||
|
/** HS Code */
|
||||||
|
private String hscode;
|
||||||
|
/** 실무게(KG) */
|
||||||
|
private String realWt;
|
||||||
/** 재고수량 */
|
/** 재고수량 */
|
||||||
private String invntryQy;
|
private String invntryQy;
|
||||||
/** 가용재고수량 */
|
/** 가용재고수량 */
|
||||||
|
|||||||
@@ -41,6 +41,9 @@ public class BOGoodsVO extends AbstractVO {
|
|||||||
/** 상품명 */
|
/** 상품명 */
|
||||||
@NotBlank(message = "상품명")
|
@NotBlank(message = "상품명")
|
||||||
private String goodsNm;
|
private String goodsNm;
|
||||||
|
/** 상품명(영문) */
|
||||||
|
@NotBlank(message = "상품명(영문)")
|
||||||
|
private String goodsNmEn;
|
||||||
/** 입점상품명 */
|
/** 입점상품명 */
|
||||||
private String tentMarktGoodsNm;
|
private String tentMarktGoodsNm;
|
||||||
/** ? */
|
/** ? */
|
||||||
@@ -220,6 +223,10 @@ public class BOGoodsVO extends AbstractVO {
|
|||||||
private String optnCd4;
|
private String optnCd4;
|
||||||
/** 옵션정보 */
|
/** 옵션정보 */
|
||||||
private String optnInfo;
|
private String optnInfo;
|
||||||
|
/** HS Code */
|
||||||
|
private String hscode;
|
||||||
|
/** 실무게(KG) */
|
||||||
|
private String realWt;
|
||||||
/** 재고수량 */
|
/** 재고수량 */
|
||||||
private Integer invntryQy;
|
private Integer invntryQy;
|
||||||
/** 가용재고수량 */
|
/** 가용재고수량 */
|
||||||
|
|||||||
@@ -503,6 +503,7 @@
|
|||||||
FG.REPRSNT_GOODS_CD,
|
FG.REPRSNT_GOODS_CD,
|
||||||
FG.BRAND_CD,
|
FG.BRAND_CD,
|
||||||
FG.GOODS_NM,
|
FG.GOODS_NM,
|
||||||
|
FG.GOODS_NM_EN,
|
||||||
FG.TAX_AT,
|
FG.TAX_AT,
|
||||||
FG.GOODS_STTUS_CD,
|
FG.GOODS_STTUS_CD,
|
||||||
FG.SEL_STPGE_CUSTOM_WORDS_AT,
|
FG.SEL_STPGE_CUSTOM_WORDS_AT,
|
||||||
@@ -1944,6 +1945,8 @@
|
|||||||
,GROUP_CONCAT(CASE WHEN IFNULL(FGO.OPTN_CD_4, '') = '' THEN ' ' ELSE FGO.OPTN_CD_4 END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS OPTN_CD_4 -- 옵션코드 1
|
,GROUP_CONCAT(CASE WHEN IFNULL(FGO.OPTN_CD_4, '') = '' THEN ' ' ELSE FGO.OPTN_CD_4 END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS OPTN_CD_4 -- 옵션코드 1
|
||||||
,GROUP_CONCAT( CASE WHEN IFNULL(FGO.OPTN_INFO, '') = '' THEN ' ' ELSE FGO.OPTN_INFO END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS OPTN_INFO -- 옵션정보
|
,GROUP_CONCAT( CASE WHEN IFNULL(FGO.OPTN_INFO, '') = '' THEN ' ' ELSE FGO.OPTN_INFO END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS OPTN_INFO -- 옵션정보
|
||||||
,GROUP_CONCAT(FGO.MLG_POLICY_CD ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS MLG_POLICY_CD -- 마일리지정책코드
|
,GROUP_CONCAT(FGO.MLG_POLICY_CD ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS MLG_POLICY_CD -- 마일리지정책코드
|
||||||
|
,GROUP_CONCAT(FGO.HSCODE ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS HSCODE -- HS Code
|
||||||
|
,GROUP_CONCAT(FGO.REAL_WT ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS REAL_WT -- 실무게(KG)
|
||||||
,GROUP_CONCAT(FGO.INVNTRY_QY ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS INVNTRY_QY -- 재고수량
|
,GROUP_CONCAT(FGO.INVNTRY_QY ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS INVNTRY_QY -- 재고수량
|
||||||
,GROUP_CONCAT(CASE WHEN FG.INVNTRY_POLICY_CD = '01' THEN FGO.INVNTRY_QY - IFNULL(FGO.USEFUL_INVNTRY_QY, 0) ELSE FGO.INVNTRY_QY END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS USEFUL_INVNTRY -- 가용재고수량
|
,GROUP_CONCAT(CASE WHEN FG.INVNTRY_POLICY_CD = '01' THEN FGO.INVNTRY_QY - IFNULL(FGO.USEFUL_INVNTRY_QY, 0) ELSE FGO.INVNTRY_QY END ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS USEFUL_INVNTRY -- 가용재고수량
|
||||||
,GROUP_CONCAT(ROUND(IFNULL(FGO.USEFUL_INVNTRY_QY, 0), 0) ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS USEFUL_INVNTRY_QY -- 판매재고수량
|
,GROUP_CONCAT(ROUND(IFNULL(FGO.USEFUL_INVNTRY_QY, 0), 0) ORDER BY FGO.OPTN_ORDR ASC SEPARATOR '|') AS USEFUL_INVNTRY_QY -- 판매재고수량
|
||||||
@@ -2011,6 +2014,7 @@
|
|||||||
GOODS_CD,
|
GOODS_CD,
|
||||||
REPRSNT_GOODS_CD,
|
REPRSNT_GOODS_CD,
|
||||||
GOODS_NM,
|
GOODS_NM,
|
||||||
|
GOODS_NM_EN,
|
||||||
TAX_AT,
|
TAX_AT,
|
||||||
GOODS_STTUS_CD,
|
GOODS_STTUS_CD,
|
||||||
SEL_STPGE_CUSTOM_WORDS_AT,
|
SEL_STPGE_CUSTOM_WORDS_AT,
|
||||||
@@ -2079,6 +2083,7 @@
|
|||||||
#{goodsCd},
|
#{goodsCd},
|
||||||
#{reprsntGoodsCd},
|
#{reprsntGoodsCd},
|
||||||
#{goodsNm},
|
#{goodsNm},
|
||||||
|
#{goodsNmEn},
|
||||||
#{taxAt},
|
#{taxAt},
|
||||||
#{goodsSttusCd},
|
#{goodsSttusCd},
|
||||||
#{selStpgeCustomWordsAt},
|
#{selStpgeCustomWordsAt},
|
||||||
@@ -2188,6 +2193,7 @@
|
|||||||
GC_GOODS FG
|
GC_GOODS FG
|
||||||
set
|
set
|
||||||
GOODS_NM = #{goodsNm} -- 상품명
|
GOODS_NM = #{goodsNm} -- 상품명
|
||||||
|
, GOODS_NM_EN = #{goodsNmEn} -- 상품명(영문)
|
||||||
, SRT_DC = #{srtDc} -- 간략설명
|
, SRT_DC = #{srtDc} -- 간략설명
|
||||||
, REPRSNT_DC = #{reprsntDc} -- 대표설명
|
, REPRSNT_DC = #{reprsntDc} -- 대표설명
|
||||||
, BRAND_CD = #{brandCd} -- 브랜드
|
, BRAND_CD = #{brandCd} -- 브랜드
|
||||||
@@ -2534,6 +2540,8 @@
|
|||||||
OPTN_CD_3,
|
OPTN_CD_3,
|
||||||
OPTN_CD_4,
|
OPTN_CD_4,
|
||||||
OPTN_INFO,
|
OPTN_INFO,
|
||||||
|
HSCODE,
|
||||||
|
REAL_WT,
|
||||||
INVNTRY_QY,
|
INVNTRY_QY,
|
||||||
USEFUL_INVNTRY_QY,
|
USEFUL_INVNTRY_QY,
|
||||||
CNSMRPRIC,
|
CNSMRPRIC,
|
||||||
@@ -2572,6 +2580,8 @@
|
|||||||
#{optnCd3},
|
#{optnCd3},
|
||||||
#{optnCd4},
|
#{optnCd4},
|
||||||
#{optnInfo},
|
#{optnInfo},
|
||||||
|
#{hscode},
|
||||||
|
#{realWt},
|
||||||
#{invntryQy},
|
#{invntryQy},
|
||||||
#{usefulInvntryQy},
|
#{usefulInvntryQy},
|
||||||
#{cnsmrpric},
|
#{cnsmrpric},
|
||||||
@@ -2686,6 +2696,8 @@
|
|||||||
OPTN_CD_3 = #{optnCd3},
|
OPTN_CD_3 = #{optnCd3},
|
||||||
OPTN_CD_4 = #{optnCd4},
|
OPTN_CD_4 = #{optnCd4},
|
||||||
OPTN_INFO = #{optnInfo},
|
OPTN_INFO = #{optnInfo},
|
||||||
|
HSCODE = #{hscode},
|
||||||
|
REAL_WT = #{realWt},
|
||||||
INVNTRY_QY = #{invntryQy},
|
INVNTRY_QY = #{invntryQy},
|
||||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(usefulInvntryQy)">
|
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(usefulInvntryQy)">
|
||||||
USEFUL_INVNTRY_QY = #{usefulInvntryQy},
|
USEFUL_INVNTRY_QY = #{usefulInvntryQy},
|
||||||
|
|||||||
@@ -587,6 +587,18 @@
|
|||||||
alert('상품명을 입력해 주세요')
|
alert('상품명을 입력해 주세요')
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
const goodsNmEn = $('#goodsNmEn')
|
||||||
|
if(fn_is_empty(goodsNmEn.val())){
|
||||||
|
goodsNmEn.focus()
|
||||||
|
alert('상품명(영문)을 입력해 주세요')
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const goodsNmEnAlphabet = goodsNmEn.val().replace(/[0-9]/g, '');
|
||||||
|
if (goodsNmEnAlphabet.length < 10) {
|
||||||
|
goodsNmEn.focus();
|
||||||
|
alert('상품명(영문)은 숫자를 제외한 영문 기준 10자 이상 입력해 주세요');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//재고에 따른 판매여부
|
//재고에 따른 판매여부
|
||||||
const goodsinvntryPolicy = $('#goodsDftinfoInvntryPolicy1')
|
const goodsinvntryPolicy = $('#goodsDftinfoInvntryPolicy1')
|
||||||
@@ -2522,10 +2534,10 @@
|
|||||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${resultMap.BOGoodsVO.sopmalCd}"/>
|
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${resultMap.BOGoodsVO.sopmalCd}"/>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<th>간략설명</th>
|
<th>상품명(영문)<span class="red-7">*</span></th>
|
||||||
<td>
|
<td>
|
||||||
<div class="td-inner">
|
<div class="td-inner">
|
||||||
<input class="input-text full" type="text" title="간략설명" id="srtDc" name="srtDc" placeholder="간략한 상품 설명을 입력해 주세요.">
|
<input class="input-text full" type="text" title="상품명(영문)" id="goodsNmEn" name="goodsNmEn" maxlength="35" placeholder="상품명을 입력해 주세요.">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -2536,6 +2548,20 @@
|
|||||||
<input class="input-text full" type="text" title="대표설명" id="reprsntDc" name="reprsntDc" placeholder="상품 대표설명을 입력해 주세요.">
|
<input class="input-text full" type="text" title="대표설명" id="reprsntDc" name="reprsntDc" placeholder="상품 대표설명을 입력해 주세요.">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<th>간략설명</th>
|
||||||
|
<td>
|
||||||
|
<div class="td-inner">
|
||||||
|
<input class="input-text full" type="text" title="간략설명" id="srtDc" name="srtDc" placeholder="간략한 상품 설명을 입력해 주세요.">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>검색어</th>
|
||||||
|
<td>
|
||||||
|
<div class="td-inner">
|
||||||
|
<input class="input-text full" type="text" title="검색어" id="kwrd" name="kwrd" placeholder="검색어는 ,(콤마)로 구분됩니다.">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<th>브랜드</th>
|
<th>브랜드</th>
|
||||||
<td>
|
<td>
|
||||||
<div class="td-inner">
|
<div class="td-inner">
|
||||||
@@ -2552,20 +2578,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<th>검색어</th>
|
|
||||||
<td>
|
|
||||||
<div class="td-inner">
|
|
||||||
<input class="input-text full" type="text" title="검색어" id="kwrd" name="kwrd" placeholder="검색어는 ,(콤마)로 구분됩니다.">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<th>대표 상품 코드(네이버)</th>
|
|
||||||
<td>
|
|
||||||
<div class="td-inner">
|
|
||||||
<input class="input-text full" type="text" title="대표 상품 코드(네이버)" id="reprsntGoodsCd" name="reprsntGoodsCd">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>리뷰 연동</th>
|
<th>리뷰 연동</th>
|
||||||
<td>
|
<td>
|
||||||
@@ -3005,37 +3017,38 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="radio-tab-content" id="radio-tab-01">
|
<div class="radio-tab-content" id="radio-tab-01">
|
||||||
<div>
|
<div style="overflow-x: auto; overflow-y: hidden;">
|
||||||
<div class="table-wrapper">
|
<div class="table-wrapper" style="width: 100%;">
|
||||||
<table class="table vertical tight draggable" id="normal_option">
|
<table class="table vertical tight draggable" id="normal_option">
|
||||||
<caption>일반옵션</caption>
|
<caption>일반옵션</caption>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 13%;">
|
<col style="width: 12%;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: auto;">
|
<col style="width: auto;">
|
||||||
<col style="width: 8%;">
|
<col style="width: 7%;">
|
||||||
|
<col style="width: 4%;">
|
||||||
|
<col style="width: 4%;">
|
||||||
|
<col style="width: 4%;">
|
||||||
|
<%-- <col style="width: 4%;">--%>
|
||||||
<col style="width: 5%;">
|
<col style="width: 5%;">
|
||||||
<col style="width: 6%;">
|
<col style="width: 5%;">
|
||||||
<col style="width: 6%;">
|
<col style="width: 12%;">
|
||||||
<col style="width: 13%;">
|
|
||||||
<col style="width: 100px;">
|
<col style="width: 100px;">
|
||||||
<col style="width: 6%;">
|
<col style="width: 5%;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: 80px;">
|
<col style="width: 80px;">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<%-- <th>순서</th>--%>
|
<th>옵션명</th>
|
||||||
<th>옵션명
|
|
||||||
<%-- <button id="fn_add_normal_option_row" type="button" class="btn xxsm outline">추가</button>--%>
|
|
||||||
</th>
|
|
||||||
<th>노출</th>
|
<th>노출</th>
|
||||||
<th>기준</th>
|
<th>기준</th>
|
||||||
<th>옵션값
|
<th>옵션값</th>
|
||||||
</th>
|
|
||||||
<th>상품코드</th>
|
<th>상품코드</th>
|
||||||
|
<th>HS Code</th>
|
||||||
|
<th>실무게(KG)</th>
|
||||||
<th>재고</th>
|
<th>재고</th>
|
||||||
<th>소비자가</th>
|
<th>소비자가</th>
|
||||||
<th>판매가</th>
|
<th>판매가</th>
|
||||||
@@ -3056,12 +3069,12 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody id="normal_option_tbody">
|
<tbody id="normal_option_tbody">
|
||||||
<tr>
|
<tr>
|
||||||
<%-- <td>--%>
|
<%--<td>
|
||||||
<%-- <div class="draggable-icon-container">--%>
|
<div class="draggable-icon-container">
|
||||||
<%-- <i class="icon icon_draggable"></i>--%>
|
<i class="icon icon_draggable"></i>
|
||||||
<%-- <span class="visually-hidden">순서 바꾸기</span>--%>
|
<span class="visually-hidden">순서 바꾸기</span>
|
||||||
<%-- </div>--%>
|
</div>
|
||||||
<%-- </td>--%>
|
</td>--%>
|
||||||
<td>
|
<td>
|
||||||
<div class="optionApply__inputList">
|
<div class="optionApply__inputList">
|
||||||
<div class="optionApply__inputContainer">
|
<div class="optionApply__inputContainer">
|
||||||
@@ -3089,7 +3102,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td><div class="optionApply__inputList">
|
<td>
|
||||||
|
<div class="optionApply__inputList">
|
||||||
<div class="optionApply__inputContainer">
|
<div class="optionApply__inputContainer">
|
||||||
<div class="optionApply__moveBtnContainer">
|
<div class="optionApply__moveBtnContainer">
|
||||||
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
|
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
|
||||||
@@ -3104,6 +3118,16 @@
|
|||||||
<input class="input-text full" type="text" title="상품코드" name="optnCd1_normal">
|
<input class="input-text full" type="text" title="상품코드" name="optnCd1_normal">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="optionApply__priceContainer">
|
||||||
|
<input class="input-text full" type="text" value="220600" title="HS Code" name="hscode_normal" maxlength="10">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="optionApply__priceContainer">
|
||||||
|
<input class="input-text full" type="text" value="0.0" title="실무게(KG)" name="realWt_normal">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="optionApply__priceContainer">
|
<div class="optionApply__priceContainer">
|
||||||
<input class="input-text full number right" value="0" type="text" id="invntryQy0" name="invntryQy_normal" title="재고">
|
<input class="input-text full number right" value="0" type="text" id="invntryQy0" name="invntryQy_normal" title="재고">
|
||||||
@@ -3982,16 +4006,17 @@
|
|||||||
|
|
||||||
let sctnDscntAt_normal_num = removeTrailingNumber(chkboxExpsrAt) + sctnDscntAt_normal_length
|
let sctnDscntAt_normal_num = removeTrailingNumber(chkboxExpsrAt) + sctnDscntAt_normal_length
|
||||||
|
|
||||||
|
let tdCount = 0;
|
||||||
|
|
||||||
const $closestTr = $(this).closest('tr');
|
const $closestTr = $(this).closest('tr');
|
||||||
//옵션명
|
//옵션명
|
||||||
$closestTr.find('td:eq(0) .optionApply__inputList').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList').append(`
|
||||||
`<div class="optionApply__inputContainer">
|
<div class="optionApply__inputContainer" style="margin: 0">
|
||||||
<input class="input-text full `+optnNm.attr('id')+`" type="hidden" value="`+optnNmVal+`" title="일반옵션명" name="optnNm1_normal">
|
<input class="input-text full `+optnNm.attr('id')+`" type="hidden" value="`+optnNmVal+`" title="일반옵션명" name="optnNm1_normal">
|
||||||
</div>`
|
</div>
|
||||||
);
|
`);
|
||||||
//노출여부
|
//노출여부
|
||||||
$closestTr.find('td:eq(1) .optnExpsrAt_normalList').append(`
|
$closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList').append(`
|
||||||
<div class="optnExpsrAt_normal">
|
<div class="optnExpsrAt_normal">
|
||||||
<label class="b-checkbox checkbox is-medium" for="`+optnExpsrAt_normal_num+`">
|
<label class="b-checkbox checkbox is-medium" for="`+optnExpsrAt_normal_num+`">
|
||||||
<input type="checkbox" id="`+optnExpsrAt_normal_num+`" value="Y" name="optnExpsrAt_normal" checked>
|
<input type="checkbox" id="`+optnExpsrAt_normal_num+`" value="Y" name="optnExpsrAt_normal" checked>
|
||||||
@@ -3999,58 +4024,53 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
`);
|
`);
|
||||||
$closestTr.find('td:eq(2) .stdrDvAt_normalList').append(`
|
$closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList').append(`
|
||||||
<div class="custom-radio">
|
<div class="custom-radio">
|
||||||
<input type="radio" value="Y" title="일반옵션 기준여부" id="`+stdrDvAt_normal_num+`" name="stdrDvAt_normal" style="display: flex;align-items: center;justify-content: center;height: 24px;">
|
<input type="radio" value="Y" title="일반옵션 기준여부" id="`+stdrDvAt_normal_num+`" name="stdrDvAt_normal" style="display: flex;align-items: center;justify-content: center;height: 24px;">
|
||||||
<label for="`+stdrDvAt_normal_num+`"></label>
|
<label for="`+stdrDvAt_normal_num+`"></label>
|
||||||
</div>
|
</div>
|
||||||
`);
|
`);
|
||||||
$closestTr.find('td:eq(3) .optionApply__inputList').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList').append(`
|
||||||
`<div class="optionApply__inputContainer">
|
<div class="optionApply__inputContainer">
|
||||||
<div class="optionApply__moveBtnContainer">
|
<div class="optionApply__moveBtnContainer">
|
||||||
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
|
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
|
||||||
<button type="button" class="optionApply__moveBtn optionMove01 down"><span class="visually-hidden">아래로</span></button>
|
<button type="button" class="optionApply__moveBtn optionMove01 down"><span class="visually-hidden">아래로</span></button>
|
||||||
</div>
|
</div>
|
||||||
<input class="input-text full" value="" type="text" title="일반옵션값" name="optnVal1_normal">
|
<input class="input-text full" value="" type="text" title="일반옵션값" name="optnVal1_normal">
|
||||||
</div>`
|
</div>
|
||||||
);
|
`);
|
||||||
$closestTr.find('td:eq(4) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full" type="text" title="일반옵션코드" name="optnCd1_normal">
|
<input class="input-text full" type="text" title="일반옵션코드" name="optnCd1_normal">
|
||||||
`
|
`);
|
||||||
);
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
|
<input class="input-text full" value="220600" type="text" title="HS Code" name="hscode_normal" maxlength="10">
|
||||||
|
`);
|
||||||
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
|
<input class="input-text full" value="0.0" type="text" title="실무게(KG)" name="realWt_normal">
|
||||||
|
`);
|
||||||
|
|
||||||
//재고와 상관없이 판매일 경우 옵션재고 disabled
|
//재고와 상관없이 판매일 경우 옵션재고 disabled
|
||||||
if($('input[name="invntryPolicyCd"]:checked').val() ==='02'){
|
if($('input[name="invntryPolicyCd"]:checked').val() ==='02'){
|
||||||
$closestTr.find('td:eq(5) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal" disabled>
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal" disabled>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
}else{
|
}else{
|
||||||
$closestTr.find('td:eq(5) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal">
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal">
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(6) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 소비자가" name="cnsmrpric_normal">
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 소비자가" name="cnsmrpric_normal">
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(7) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 판매가" name="slepric_normal">
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 판매가" name="slepric_normal">
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(8) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<div class="input-container gap-4">
|
<div class="input-container gap-4">
|
||||||
<div class="select-box">
|
<div class="select-box">
|
||||||
<select class="short"
|
<select class="short"
|
||||||
@@ -4094,46 +4114,46 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(9) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(
|
||||||
dynamicInvntrySldoutExpsrAt
|
dynamicInvntrySldoutExpsrAt
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(10) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full" type="text" title="일반옵션 정보" name="optnInfo_normal">
|
<input class="input-text full" type="text" title="일반옵션 정보" name="optnInfo_normal">
|
||||||
`
|
`);
|
||||||
);
|
$closestTr.find('td:eq(' + tdCount++ + ') .compnbDscntAt_normalList').append(`
|
||||||
$closestTr.find('td:eq(11) .compnbDscntAt_normalList').append(
|
|
||||||
`
|
|
||||||
<div class="compnbDscntAt_normal">
|
<div class="compnbDscntAt_normal">
|
||||||
<label class="b-checkbox checkbox" for="compnbDscntAt01_`+compnbDscntAt_normal_length+`">
|
<label class="b-checkbox checkbox" for="compnbDscntAt01_`+compnbDscntAt_normal_length+`">
|
||||||
<input type="checkbox" value="Y" id="compnbDscntAt01_`+compnbDscntAt_normal_length+`" name="compnbDscntAt_normal" checked>
|
<input type="checkbox" value="Y" id="compnbDscntAt01_`+compnbDscntAt_normal_length+`" name="compnbDscntAt_normal" checked>
|
||||||
<span class="check"></span><span class="control-label"></span>
|
<span class="check"></span><span class="control-label"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
`
|
`);
|
||||||
);
|
$closestTr.find('td:eq(' + tdCount++ + ') .sctnDscntAt_normalList').append(`
|
||||||
$closestTr.find('td:eq(12) .sctnDscntAt_normalList').append(
|
|
||||||
`
|
|
||||||
<div class="sctnDscntAt_normal">
|
<div class="sctnDscntAt_normal">
|
||||||
<label class="b-checkbox checkbox" for="sctnDscntAt01_`+sctnDscntAt_normal_length+`">
|
<label class="b-checkbox checkbox" for="sctnDscntAt01_`+sctnDscntAt_normal_length+`">
|
||||||
<input type="checkbox" value="Y" id="sctnDscntAt01_`+sctnDscntAt_normal_length+`" name="sctnDscntAt_normal" checked>
|
<input type="checkbox" value="Y" id="sctnDscntAt01_`+sctnDscntAt_normal_length+`" name="sctnDscntAt_normal" checked>
|
||||||
<span class="check"></span><span class="control-label"></span>
|
<span class="check"></span><span class="control-label"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
`
|
`);
|
||||||
);
|
$closestTr.find('td:eq(' + tdCount++ + ') .manage-btn-container').append(`
|
||||||
$closestTr.find('td:eq(13) .manage-btn-container').append(
|
|
||||||
`
|
|
||||||
<button class="btn xsm dark optionDel02">삭제</button>
|
<button class="btn xsm dark optionDel02">삭제</button>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 옵션타입-옵션명, 옵션값 입력값 제한(영문+숫자만)
|
||||||
|
$(document).on('input', 'input[name=optnNm1_normal], input[name=optnVal1_normal]', function () {
|
||||||
|
this.value = this.value.replace(/[^a-zA-Z0-9]/g, '');
|
||||||
|
});
|
||||||
|
|
||||||
|
// 실무게 자릿수 제한
|
||||||
|
$(document).on('input', 'input[name="realWt_normal"]', function () {
|
||||||
|
this.value = this.value.replace(/(\.\d).*/,'$1');
|
||||||
|
});
|
||||||
|
|
||||||
// 하이픈 뒤에 숫자한자리만 남기기
|
// 하이픈 뒤에 숫자한자리만 남기기
|
||||||
function removeTrailingNumber(id) {
|
function removeTrailingNumber(id) {
|
||||||
@@ -4423,21 +4443,23 @@
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let tdCount = 0;
|
||||||
$closestTr.find('td:eq(0) .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(1) .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(2) .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(3) .optionApply__inputContainer').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputContainer').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(4) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(5) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(6) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(7) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(8) .optionApply__priceContainer .input-container').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(9) .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(10) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-container').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(11) .compnbDscntAt_normalList .compnbDscntAt_normal').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(12) .sctnDscntAt_normalList .sctnDscntAt_normal').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(13) .manage-btn-container .btn').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .compnbDscntAt_normalList .compnbDscntAt_normal').eq(optionIndex).remove();
|
||||||
|
$closestTr.find('td:eq(' + tdCount++ + ') .sctnDscntAt_normalList .sctnDscntAt_normal').eq(optionIndex).remove();
|
||||||
|
$closestTr.find('td:eq(' + tdCount++ + ') .manage-btn-container .btn').eq(optionIndex).remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
// 추가구성옵션-옵션값삭제
|
// 추가구성옵션-옵션값삭제
|
||||||
@@ -4468,55 +4490,43 @@
|
|||||||
$(document).on('click', '.optionMove01', function () {
|
$(document).on('click', '.optionMove01', function () {
|
||||||
var $closestTr = $(this).closest('tr');
|
var $closestTr = $(this).closest('tr');
|
||||||
var optionIndex = $(this).closest('.optionApply__inputContainer').index();
|
var optionIndex = $(this).closest('.optionApply__inputContainer').index();
|
||||||
var optnExpsrAt_normalList = $closestTr.find('td:eq(1) .optnExpsrAt_normalList');
|
|
||||||
var stdrDvAt_normalList = $closestTr.find('td:eq(2) .stdrDvAt_normalList');
|
|
||||||
var $optionApplyInputList3 = $closestTr.find('td:eq(3) .optionApply__inputList');
|
|
||||||
var $optionApplyPriceList0 = $closestTr.find('td:eq(4) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList1 = $closestTr.find('td:eq(5) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList2 = $closestTr.find('td:eq(6) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList3 = $closestTr.find('td:eq(7) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList4 = $closestTr.find('td:eq(8) .optionApply__priceContainer');
|
|
||||||
var $optionApplyInputList2 = $closestTr.find('td:eq(9) .optionApply__priceContainer');
|
|
||||||
var $optionApplymiscTextList = $closestTr.find('td:eq(10) .optionApply__priceContainer');
|
|
||||||
var $compnbDscntAt_normalList = $closestTr.find('td:eq(11) .compnbDscntAt_normalList');
|
|
||||||
var $sctnDscntAt_normalList = $closestTr.find('td:eq(12) .sctnDscntAt_normalList');
|
|
||||||
var $optionApplyBtnList = $closestTr.find('td:eq(13) .manage-btn-container');
|
|
||||||
|
|
||||||
if ($(this).hasClass('up')) {
|
const selectors = [
|
||||||
if (optionIndex > 0) {
|
'.optionApply__inputList',
|
||||||
optnExpsrAt_normalList.children().eq(optionIndex).insertBefore(optnExpsrAt_normalList.children().eq(optionIndex - 1));
|
'.optnExpsrAt_normalList',
|
||||||
stdrDvAt_normalList.children().eq(optionIndex).insertBefore(stdrDvAt_normalList.children().eq(optionIndex - 1));
|
'.stdrDvAt_normalList',
|
||||||
$optionApplyInputList3.children().eq(optionIndex).insertBefore($optionApplyInputList3.children().eq(optionIndex - 1));
|
'.optionApply__inputList',
|
||||||
$optionApplyPriceList0.children().eq(optionIndex).insertBefore($optionApplyPriceList0.children().eq(optionIndex - 1));
|
'.optionApply__priceContainer',
|
||||||
$optionApplyPriceList1.children().eq(optionIndex).insertBefore($optionApplyPriceList1.children().eq(optionIndex - 1));
|
'.optionApply__priceContainer',
|
||||||
$optionApplyPriceList2.children().eq(optionIndex).insertBefore($optionApplyPriceList2.children().eq(optionIndex - 1));
|
'.optionApply__priceContainer',
|
||||||
$optionApplyPriceList3.children().eq(optionIndex).insertBefore($optionApplyPriceList3.children().eq(optionIndex - 1));
|
'.optionApply__priceContainer',
|
||||||
$optionApplyPriceList4.children().eq(optionIndex).insertBefore($optionApplyPriceList4.children().eq(optionIndex - 1));
|
'.optionApply__priceContainer',
|
||||||
$optionApplyInputList2.eq(optionIndex).insertBefore($optionApplyInputList2.eq(optionIndex - 1));
|
'.optionApply__priceContainer',
|
||||||
$optionApplymiscTextList.children().eq(optionIndex).insertBefore($optionApplymiscTextList.children().eq(optionIndex - 1));
|
'.optionApply__priceContainer',
|
||||||
$compnbDscntAt_normalList.children().eq(optionIndex).insertBefore($compnbDscntAt_normalList.children().eq(optionIndex - 1));
|
'.optionApply__priceContainer',
|
||||||
$sctnDscntAt_normalList.children().eq(optionIndex).insertBefore($sctnDscntAt_normalList.children().eq(optionIndex - 1));
|
'.optionApply__priceContainer',
|
||||||
$optionApplyBtnList.children().eq(optionIndex).insertBefore($optionApplyBtnList.children().eq(optionIndex - 1));
|
'.optionApply__priceContainer',
|
||||||
}
|
'.compnbDscntAt_normalList',
|
||||||
|
'.sctnDscntAt_normalList',
|
||||||
|
'.manage-btn-container'
|
||||||
|
];
|
||||||
|
const targets = selectors.map((sclass, tdCount) => {
|
||||||
|
return $closestTr.find('td:eq(' + tdCount + ') ' + sclass);
|
||||||
|
});
|
||||||
|
const isUp = $(this).hasClass('up');
|
||||||
|
const maxLength = targets[0].children().length;
|
||||||
|
|
||||||
|
targets.forEach(function (target) {
|
||||||
|
const current = target.children().eq(optionIndex);
|
||||||
|
if (isUp) {
|
||||||
|
if (optionIndex > 0)
|
||||||
|
current.insertBefore(target.children().eq(optionIndex - 1));
|
||||||
} else {
|
} else {
|
||||||
if (optionIndex < optnExpsrAt_normalList.children().length - 1) {
|
if (optionIndex < maxLength - 1)
|
||||||
optnExpsrAt_normalList.children().eq(optionIndex).insertAfter(optnExpsrAt_normalList.children().eq(optionIndex + 1));
|
current.insertAfter(target.children().eq(optionIndex + 1));
|
||||||
stdrDvAt_normalList.children().eq(optionIndex).insertAfter(stdrDvAt_normalList.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyInputList3.children().eq(optionIndex).insertAfter($optionApplyInputList3.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList0.children().eq(optionIndex).insertAfter($optionApplyPriceList0.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList1.children().eq(optionIndex).insertAfter($optionApplyPriceList1.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList2.children().eq(optionIndex).insertAfter($optionApplyPriceList2.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList3.children().eq(optionIndex).insertAfter($optionApplyPriceList3.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList4.children().eq(optionIndex).insertAfter($optionApplyPriceList4.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyInputList2.eq(optionIndex).insertAfter($optionApplyInputList2.eq(optionIndex + 1));
|
|
||||||
$optionApplymiscTextList.children().eq(optionIndex).insertAfter($optionApplymiscTextList.children().eq(optionIndex + 1));
|
|
||||||
$compnbDscntAt_normalList.children().eq(optionIndex).insertAfter($compnbDscntAt_normalList.children().eq(optionIndex + 1));
|
|
||||||
$sctnDscntAt_normalList.children().eq(optionIndex).insertAfter($sctnDscntAt_normalList.children().eq(optionIndex + 1));
|
|
||||||
// $optionApplyInputTextList.eq(optionIndex).insertAfter($optionApplyInputTextList.eq(optionIndex + 1));
|
|
||||||
$optionApplyBtnList.children().eq(optionIndex).insertAfter($optionApplyBtnList.children().eq(optionIndex + 1));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// 추가구성옵션-옵션값 순서변경
|
// 추가구성옵션-옵션값 순서변경
|
||||||
$(document).on('click', '.optionMove02', function () {
|
$(document).on('click', '.optionMove02', function () {
|
||||||
|
|||||||
@@ -640,6 +640,18 @@
|
|||||||
alert('상품명을 입력해 주세요')
|
alert('상품명을 입력해 주세요')
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
const goodsNmEn = $('#goodsNmEn')
|
||||||
|
if(fn_is_empty(goodsNmEn.val())){
|
||||||
|
goodsNmEn.focus()
|
||||||
|
alert('상품명(영문)을 입력해 주세요')
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const goodsNmEnAlphabet = goodsNmEn.val().replace(/[0-9]/g, '');
|
||||||
|
if (goodsNmEnAlphabet.length < 10) {
|
||||||
|
goodsNmEn.focus();
|
||||||
|
alert('상품명(영문)은 숫자를 제외한 영문 기준 10자 이상 입력해 주세요');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//재고에 따른 판매여부
|
//재고에 따른 판매여부
|
||||||
const goodsinvntryPolicy = $('#goodsDftinfoInvntryPolicy1')
|
const goodsinvntryPolicy = $('#goodsDftinfoInvntryPolicy1')
|
||||||
@@ -2668,10 +2680,10 @@
|
|||||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${resultMap.BOGoodsVO.sopmalCd}"/>
|
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${resultMap.BOGoodsVO.sopmalCd}"/>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<th>간략설명</th>
|
<th>상품명(영문)<span class="red-7">*</span></th>
|
||||||
<td>
|
<td>
|
||||||
<div class="td-inner">
|
<div class="td-inner">
|
||||||
<input class="input-text full" type="text" title="간략설명" id="srtDc" name="srtDc" value="${resultMap.goodsDtl.srtDc}">
|
<input class="input-text full" type="text" title="상품명(영문)" id="goodsNmEn" name="goodsNm" maxlength="35" value="${resultMap.goodsDtl.goodsNmEn}">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -2682,6 +2694,20 @@
|
|||||||
<input class="input-text full" type="text" title="대표설명" id="reprsntDc" name="reprsntDc" value="${resultMap.goodsDtl.reprsntDc}" >
|
<input class="input-text full" type="text" title="대표설명" id="reprsntDc" name="reprsntDc" value="${resultMap.goodsDtl.reprsntDc}" >
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<th>간략설명</th>
|
||||||
|
<td>
|
||||||
|
<div class="td-inner">
|
||||||
|
<input class="input-text full" type="text" title="간략설명" id="srtDc" name="srtDc" value="${resultMap.goodsDtl.srtDc}">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>검색어</th>
|
||||||
|
<td>
|
||||||
|
<div class="td-inner">
|
||||||
|
<input class="input-text full" type="text" title="검색어" id="kwrd" name="kwrd" value="${resultMap.goodsDtl.kwrd}">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<th>브랜드</th>
|
<th>브랜드</th>
|
||||||
<td>
|
<td>
|
||||||
<div class="td-inner">
|
<div class="td-inner">
|
||||||
@@ -2699,20 +2725,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<th>검색어</th>
|
|
||||||
<td>
|
|
||||||
<div class="td-inner">
|
|
||||||
<input class="input-text full" type="text" title="검색어" id="kwrd" name="kwrd" value="${resultMap.goodsDtl.kwrd}">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<th>대표 상품 코드(네이버)</th>
|
|
||||||
<td>
|
|
||||||
<div class="td-inner">
|
|
||||||
<input class="input-text full" type="text" title="대표 상품 코드(네이버)" id="reprsntGoodsCd" name="reprsntGoodsCd" value="${resultMap.goodsDtl.reprsntGoodsCd}">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>리뷰 연동</th>
|
<th>리뷰 연동</th>
|
||||||
<td>
|
<td>
|
||||||
@@ -3220,36 +3232,40 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="radio-tab-content" id="radio-tab-01">
|
<div class="radio-tab-content" id="radio-tab-01">
|
||||||
<div>
|
<div style="overflow-x: auto; overflow-y: hidden;">
|
||||||
<div class="table-wrapper">
|
<div class="table-wrapper" style="width: 100%;">
|
||||||
<table class="table vertical tight draggable" id="normal_option">
|
<table class="table vertical tight draggable" id="normal_option">
|
||||||
<caption>일반옵션</caption>
|
<caption>일반옵션</caption>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 13%;">
|
<col style="width: 12%;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: auto;">
|
<col style="width: auto;">
|
||||||
<col style="width: 8%;">
|
<col style="width: 7%;">
|
||||||
|
<col style="width: 4%;">
|
||||||
|
<col style="width: 4%;">
|
||||||
|
<col style="width: 4%;">
|
||||||
|
<c:if test="${not empty resultMap.goodsOptionList.normalOptnList}">
|
||||||
|
<col style="width: 4%;">
|
||||||
|
</c:if>
|
||||||
<col style="width: 5%;">
|
<col style="width: 5%;">
|
||||||
<col style="width: 6%;">
|
<col style="width: 5%;">
|
||||||
<col style="width: 6%;">
|
<col style="width: 12%;">
|
||||||
<col style="width: 13%;">
|
|
||||||
<col style="width: 100px;">
|
<col style="width: 100px;">
|
||||||
<col style="width: 6%;">
|
<col style="width: 5%;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: 80px;">
|
<col style="width: 80px;">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<%-- <th>순서</th>--%>
|
<th>옵션명</th>
|
||||||
<th>옵션명
|
|
||||||
<%-- <button id="fn_add_normal_option_row" type="button" class="btn xxsm outline">추가</button>--%>
|
|
||||||
</th>
|
|
||||||
<th>노출</th>
|
<th>노출</th>
|
||||||
<th>기준</th>
|
<th>기준</th>
|
||||||
<th>옵션값</th>
|
<th>옵션값</th>
|
||||||
<th>상품코드</th>
|
<th>상품코드</th>
|
||||||
|
<th>HS Code</th>
|
||||||
|
<th>실무게(KG)</th>
|
||||||
<th>재고</th>
|
<th>재고</th>
|
||||||
<th>소비자가</th>
|
<th>소비자가</th>
|
||||||
<th>판매가</th>
|
<th>판매가</th>
|
||||||
@@ -3281,12 +3297,12 @@
|
|||||||
<c:when test="${not empty resultMap.goodsOptionList.normalOptnList}">
|
<c:when test="${not empty resultMap.goodsOptionList.normalOptnList}">
|
||||||
<c:forEach var="optnList01" items="${resultMap.goodsOptionList.normalOptnList}" varStatus="optnTy01idx">
|
<c:forEach var="optnList01" items="${resultMap.goodsOptionList.normalOptnList}" varStatus="optnTy01idx">
|
||||||
<tr>
|
<tr>
|
||||||
<%-- <td>--%>
|
<%--<td>
|
||||||
<%-- <div class="draggable-icon-container">--%>
|
<div class="draggable-icon-container">
|
||||||
<%-- <i class="icon icon_draggable"></i>--%>
|
<i class="icon icon_draggable"></i>
|
||||||
<%-- <span class="visually-hidden">순서 바꾸기</span>--%>
|
<span class="visually-hidden">순서 바꾸기</span>
|
||||||
<%-- </div>--%>
|
</div>
|
||||||
<%-- </td>--%>
|
</td>--%>
|
||||||
<td>
|
<td>
|
||||||
<div class="optionApply__inputList">
|
<div class="optionApply__inputList">
|
||||||
<c:forEach var="optnNm011" items="${fn:split(optnList01.optnNm1,'|')}" varStatus="optnNm01_status">
|
<c:forEach var="optnNm011" items="${fn:split(optnList01.optnNm1,'|')}" varStatus="optnNm01_status">
|
||||||
@@ -3296,7 +3312,7 @@
|
|||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${optnNm01_status.index eq '0'}">
|
<c:when test="${optnNm01_status.index eq '0'}">
|
||||||
<input class="input-text full" value="${optnNm011}" type="text" title="일반옵션명" name="optnNm1_normal" id="optnNm1_normal${optnNm01_status.index}">
|
<input class="input-text full" value="${optnNm011}" type="text" title="일반옵션명" name="optnNm1_normal" id="optnNm1_normal${optnNm01_status.index}">
|
||||||
<%-- <button type="button" class="btn outline xsm optionDel02">삭제</button>--%>
|
<%-- <button type="button" class="btn outline xsm optionDel02">삭제</button>--%>
|
||||||
<button type="button" class="btn outline xsm optionVal98">옵션값 추가</button>
|
<button type="button" class="btn outline xsm optionVal98">옵션값 추가</button>
|
||||||
<c:forEach var="goodsOptnInnb01" items="${fn:split(optnList01.goodsOptnInnb, '|')}" varStatus="goodsOptnInnb01_status">
|
<c:forEach var="goodsOptnInnb01" items="${fn:split(optnList01.goodsOptnInnb, '|')}" varStatus="goodsOptnInnb01_status">
|
||||||
<c:if test="${goodsOptnInnb01_status.index eq '0'}">
|
<c:if test="${goodsOptnInnb01_status.index eq '0'}">
|
||||||
@@ -3384,6 +3400,20 @@
|
|||||||
</c:forEach>
|
</c:forEach>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="optionApply__priceContainer">
|
||||||
|
<c:forEach var="hscode011" items="${fn:split(optnList01.hscode, '|')}">
|
||||||
|
<input class="input-text full" type="text" title="HS Code" name="hscode_normal" value="${hscode011}" maxlength="10" >
|
||||||
|
</c:forEach>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="optionApply__priceContainer">
|
||||||
|
<c:forEach var="realWt011" items="${fn:split(optnList01.realWt, '|')}">
|
||||||
|
<input class="input-text full" type="text" title="실무게(KG)" name="realWt_normal" value="${realWt011}" >
|
||||||
|
</c:forEach>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="optionApply__priceContainer">
|
<div class="optionApply__priceContainer">
|
||||||
<c:forEach var="invntryQy011" items="${fn:split(optnList01.invntryQy, '|')}" varStatus="invntryQy011_status">
|
<c:forEach var="invntryQy011" items="${fn:split(optnList01.invntryQy, '|')}" varStatus="invntryQy011_status">
|
||||||
@@ -3414,12 +3444,12 @@
|
|||||||
<option value="01" <c:if test="${mlgPolicyCd011 eq '01'}" > selected </c:if> >통합</option>
|
<option value="01" <c:if test="${mlgPolicyCd011 eq '01'}" > selected </c:if> >통합</option>
|
||||||
<option value="02" <c:if test="${mlgPolicyCd011 eq '02'}" > selected </c:if> >개별</option>
|
<option value="02" <c:if test="${mlgPolicyCd011 eq '02'}" > selected </c:if> >개별</option>
|
||||||
</select>
|
</select>
|
||||||
<%-- <div class="nice-select short" tabindex="0"><span class="current">통합</span>--%>
|
<%--<div class="nice-select short" tabindex="0"><span class="current">통합</span>
|
||||||
<%-- <ul class="list">--%>
|
<ul class="list">
|
||||||
<%-- <li data-value="01" class="option <c:if test="${optnList01.mlgPolicyCd eq '01'}"> selected </c:if> ">통합</li>--%>
|
<li data-value="01" class="option <c:if test="${optnList01.mlgPolicyCd eq '01'}"> selected </c:if> ">통합</li>
|
||||||
<%-- <li data-value="02" class="option <c:if test="${optnList01.mlgPolicyCd eq '02'}"> selected </c:if> ">개별</li>--%>
|
<li data-value="02" class="option <c:if test="${optnList01.mlgPolicyCd eq '02'}"> selected </c:if> ">개별</li>
|
||||||
<%-- </ul>--%>
|
</ul>
|
||||||
<%-- </div>--%>
|
</div>--%>
|
||||||
</div>
|
</div>
|
||||||
<c:forEach var="mlgAccmlAmt011" items="${fn:split(optnList01.mlgAccmlAmt, '|')}" varStatus="mlgAccmlAmt011_status">
|
<c:forEach var="mlgAccmlAmt011" items="${fn:split(optnList01.mlgAccmlAmt, '|')}" varStatus="mlgAccmlAmt011_status">
|
||||||
<c:if test="${mlgPolicyCd011_status.index eq mlgAccmlAmt011_status.index}">
|
<c:if test="${mlgPolicyCd011_status.index eq mlgAccmlAmt011_status.index}">
|
||||||
@@ -3495,12 +3525,12 @@
|
|||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
<tr>
|
<tr>
|
||||||
<%-- <td>--%>
|
<%--<td>
|
||||||
<%-- <div class="draggable-icon-container">--%>
|
<div class="draggable-icon-container">
|
||||||
<%-- <i class="icon icon_draggable"></i>--%>
|
<i class="icon icon_draggable"></i>
|
||||||
<%-- <span class="visually-hidden">순서 바꾸기</span>--%>
|
<span class="visually-hidden">순서 바꾸기</span>
|
||||||
<%-- </div>--%>
|
</div>
|
||||||
<%-- </td>--%>
|
</td>--%>
|
||||||
<td>
|
<td>
|
||||||
<div class="optionApply__inputList">
|
<div class="optionApply__inputList">
|
||||||
<div class="optionApply__inputContainer">
|
<div class="optionApply__inputContainer">
|
||||||
@@ -3544,6 +3574,16 @@
|
|||||||
<input class="input-text full" type="text" title="상품코드" name="optnCd1_normal" value="" >
|
<input class="input-text full" type="text" title="상품코드" name="optnCd1_normal" value="" >
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="optionApply__priceContainer">
|
||||||
|
<input class="input-text full" type="text" title="HS Code" name="hscode_normal" value="" maxlength="10">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="optionApply__priceContainer">
|
||||||
|
<input class="input-text full" type="text" title="실무게(KG)" name="realWt_normal" value="">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="optionApply__priceContainer">
|
<div class="optionApply__priceContainer">
|
||||||
<input class="input-text full number right" value="" type="text" id="invntryQy_normal0" name="invntryQy_normal" title="재고">
|
<input class="input-text full number right" value="" type="text" id="invntryQy_normal0" name="invntryQy_normal" title="재고">
|
||||||
@@ -3567,12 +3607,12 @@
|
|||||||
<option value="01" selected >통합</option>
|
<option value="01" selected >통합</option>
|
||||||
<option value="02" >개별</option>
|
<option value="02" >개별</option>
|
||||||
</select>
|
</select>
|
||||||
<%-- <div class="nice-select short" tabindex="0"><span class="current">통합</span>--%>
|
<%--<div class="nice-select short" tabindex="0"><span class="current">통합</span>
|
||||||
<%-- <ul class="list">--%>
|
<ul class="list">
|
||||||
<%-- <li data-value="01" class="option <c:if test="${optnList01.mlgPolicyCd eq '01'}"> selected </c:if> ">통합</li>--%>
|
<li data-value="01" class="option <c:if test="${optnList01.mlgPolicyCd eq '01'}"> selected </c:if> ">통합</li>
|
||||||
<%-- <li data-value="02" class="option <c:if test="${optnList01.mlgPolicyCd eq '02'}"> selected </c:if> ">개별</li>--%>
|
<li data-value="02" class="option <c:if test="${optnList01.mlgPolicyCd eq '02'}"> selected </c:if> ">개별</li>
|
||||||
<%-- </ul>--%>
|
</ul>
|
||||||
<%-- </div>--%>
|
</div>--%>
|
||||||
</div>
|
</div>
|
||||||
<input class="input-text sm number right" value="" type="text" id="mlgAccmlAmt_normal" name="mlgAccmlAmt_normal" title="마일리지" disabled >
|
<input class="input-text sm number right" value="" type="text" id="mlgAccmlAmt_normal" name="mlgAccmlAmt_normal" title="마일리지" disabled >
|
||||||
<div class="select-box">
|
<div class="select-box">
|
||||||
@@ -3580,13 +3620,13 @@
|
|||||||
<option value="02" selected >${curUnit}</option>
|
<option value="02" selected >${curUnit}</option>
|
||||||
<option value="01" >%</option>
|
<option value="01" >%</option>
|
||||||
</select>
|
</select>
|
||||||
<%-- <div class="nice-select short <c:if test="${optnList01.mlgPolicyCd ne '02'}"> disabled </c:if> "--%>
|
<%--<div class="nice-select short <c:if test="${optnList01.mlgPolicyCd ne '02'}"> disabled </c:if> "
|
||||||
<%-- tabindex="0"><span class="current">${curUnit}</span>--%>
|
tabindex="0"><span class="current">${curUnit}</span>
|
||||||
<%-- <ul class="list">--%>
|
<ul class="list">
|
||||||
<%-- <li data-value="02" class="option <c:if test="${optnList01.mlgAccmlCd eq '02'}"> </c:if> ">${curUnit}</li>--%>
|
<li data-value="02" class="option <c:if test="${optnList01.mlgAccmlCd eq '02'}"> </c:if> ">${curUnit}</li>
|
||||||
<%-- <li data-value="01" class="option <c:if test="${optnList01.mlgAccmlCd eq '01'}"> </c:if> ">%</li>--%>
|
<li data-value="01" class="option <c:if test="${optnList01.mlgAccmlCd eq '01'}"> </c:if> ">%</li>
|
||||||
<%-- </ul>--%>
|
</ul>
|
||||||
<%-- </div>--%>
|
</div>--%>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -4953,6 +4993,8 @@
|
|||||||
|
|
||||||
$(this).closest('td').siblings('td').find('input[type="checkbox"]').first();
|
$(this).closest('td').siblings('td').find('input[type="checkbox"]').first();
|
||||||
|
|
||||||
|
const $closestTr = $(this).closest('tr');
|
||||||
|
|
||||||
let compnbDscntAt_normal_length = $(this).closest('td').siblings('td').find('div.compnbDscntAt_normal').length
|
let compnbDscntAt_normal_length = $(this).closest('td').siblings('td').find('div.compnbDscntAt_normal').length
|
||||||
|
|
||||||
let compnbDscntAt_normal_num = removeTrailingNumber(chkboxExpsrAt) + compnbDscntAt_normal_length
|
let compnbDscntAt_normal_num = removeTrailingNumber(chkboxExpsrAt) + compnbDscntAt_normal_length
|
||||||
@@ -4961,18 +5003,16 @@
|
|||||||
|
|
||||||
let sctnDscntAt_normal_num = removeTrailingNumber(chkboxExpsrAt) + sctnDscntAt_normal_length
|
let sctnDscntAt_normal_num = removeTrailingNumber(chkboxExpsrAt) + sctnDscntAt_normal_length
|
||||||
|
|
||||||
const $closestTr = $(this).closest('tr');
|
let tdCount = 0;
|
||||||
|
|
||||||
|
|
||||||
//옵션명
|
//옵션명
|
||||||
$closestTr.find('td:eq(0) .optionApply__inputList').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList').append(`
|
||||||
`<div class="optionApply__inputContainer">
|
<div class="optionApply__inputContainer" style="margin: 0">
|
||||||
<input class="input-text full `+optnNm.attr('id')+`" type="hidden" value="`+optnNmVal+`" title="일반옵션명" name="optnNm1_normal">
|
<input class="input-text full `+optnNm.attr('id')+`" type="hidden" value="`+optnNmVal+`" title="일반옵션명" name="optnNm1_normal">
|
||||||
</div>
|
</div>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
//노출여부
|
//노출여부
|
||||||
$closestTr.find('td:eq(1) .optnExpsrAt_normalList').append(`
|
$closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList').append(`
|
||||||
<div class="optnExpsrAt_normal">
|
<div class="optnExpsrAt_normal">
|
||||||
<label class="b-checkbox checkbox is-medium" for="`+optnExpsrAt_normal_num+`">
|
<label class="b-checkbox checkbox is-medium" for="`+optnExpsrAt_normal_num+`">
|
||||||
<input type="checkbox" id="`+optnExpsrAt_normal_num+`" value="Y" name="optnExpsrAt_normal" checked>
|
<input type="checkbox" id="`+optnExpsrAt_normal_num+`" value="Y" name="optnExpsrAt_normal" checked>
|
||||||
@@ -4981,57 +5021,52 @@
|
|||||||
</div>
|
</div>
|
||||||
`);
|
`);
|
||||||
//기준여부
|
//기준여부
|
||||||
$closestTr.find('td:eq(2) .stdrDvAt_normalList').append(`
|
$closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList').append(`
|
||||||
<div class="custom-radio">
|
<div class="custom-radio">
|
||||||
<input type="radio" value="Y" title="일반옵션 기준여부" id="`+stdrDvAt_normal_num+`" name="stdrDvAt_normal" style="display: flex;align-items: center;justify-content: center;height: 24px;">
|
<input type="radio" value="Y" title="일반옵션 기준여부" id="`+stdrDvAt_normal_num+`" name="stdrDvAt_normal" style="display: flex;align-items: center;justify-content: center;height: 24px;">
|
||||||
<label for="`+stdrDvAt_normal_num+`"></label>
|
<label for="`+stdrDvAt_normal_num+`"></label>
|
||||||
</div>
|
</div>
|
||||||
`);
|
`);
|
||||||
$closestTr.find('td:eq(3) .optionApply__inputList').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList').append(`
|
||||||
`<div class="optionApply__inputContainer">
|
<div class="optionApply__inputContainer">
|
||||||
<div class="optionApply__moveBtnContainer">
|
<div class="optionApply__moveBtnContainer">
|
||||||
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
|
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
|
||||||
<button type="button" class="optionApply__moveBtn optionMove01 down"><span class="visually-hidden">아래로</span></button>
|
<button type="button" class="optionApply__moveBtn optionMove01 down"><span class="visually-hidden">아래로</span></button>
|
||||||
</div>
|
</div>
|
||||||
<input class="input-text full" value="" type="text" title="일반옵션값" name="optnVal1_normal">
|
<input class="input-text full" value="" type="text" title="일반옵션값" name="optnVal1_normal">
|
||||||
</div>`
|
</div>
|
||||||
);
|
`);
|
||||||
$closestTr.find('td:eq(4) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full" type="text" title="일반옵션코드" name="optnCd1_normal">
|
<input class="input-text full" type="text" title="일반옵션코드" name="optnCd1_normal">
|
||||||
`
|
`);
|
||||||
);
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
|
<input class="input-text full" value="220600" type="text" title="HS Code" name="hscode_normal" maxlength="10">
|
||||||
|
`);
|
||||||
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
|
<input class="input-text full" value="0.0" type="text" title="실무게(KG)" name="realWt_normal">
|
||||||
|
`);
|
||||||
|
|
||||||
//재고와 상관없이 판매일 경우 옵션재고 disabled
|
//재고와 상관없이 판매일 경우 옵션재고 disabled
|
||||||
if($('input[name="invntryPolicyCd"]:checked').val() ==='02'){
|
if($('input[name="invntryPolicyCd"]:checked').val() ==='02'){
|
||||||
$closestTr.find('td:eq(5) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal" disabled>
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal" disabled>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
}else{
|
}else{
|
||||||
$closestTr.find('td:eq(5) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal">
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal">
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(6) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 소비자가" name="cnsmrpric_normal">
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 소비자가" name="cnsmrpric_normal">
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(7) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 판매가" name="slepric_normal">
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 판매가" name="slepric_normal">
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(8) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<div class="input-container gap-4">
|
<div class="input-container gap-4">
|
||||||
<div class="select-box">
|
<div class="select-box">
|
||||||
<select class="short"
|
<select class="short"
|
||||||
@@ -5075,14 +5110,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(9) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(
|
||||||
dynamicInvntrySldoutExpsrAt
|
dynamicInvntrySldoutExpsrAt
|
||||||
);
|
);
|
||||||
|
|
||||||
// $closestTr.find('td:eq(10) .optionApply__priceContainer').append(
|
// $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(
|
||||||
// `<div class="select-box">
|
// `<div class="select-box">
|
||||||
// <select class="full"
|
// <select class="full"
|
||||||
// title="추가옵션 노출조건" name="optnRelateAt_added">
|
// title="추가옵션 노출조건" name="optnRelateAt_added">
|
||||||
@@ -5095,38 +5129,40 @@
|
|||||||
// );
|
// );
|
||||||
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(10) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full" type="text" title="일반옵션 정보" name="optnInfo_normal">
|
<input class="input-text full" type="text" title="일반옵션 정보" name="optnInfo_normal">
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(11) .compnbDscntAt_normalList').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .compnbDscntAt_normalList').append(`
|
||||||
`
|
|
||||||
<div class="compnbDscntAt_normal">
|
<div class="compnbDscntAt_normal">
|
||||||
<label class="b-checkbox checkbox" for="compnbDscntAt01_`+compnbDscntAt_normal_length+`">
|
<label class="b-checkbox checkbox" for="compnbDscntAt01_`+compnbDscntAt_normal_length+`">
|
||||||
<input type="checkbox" value="Y" id="compnbDscntAt01_`+compnbDscntAt_normal_length+`" name="compnbDscntAt_normal" checked>
|
<input type="checkbox" value="Y" id="compnbDscntAt01_`+compnbDscntAt_normal_length+`" name="compnbDscntAt_normal" checked>
|
||||||
<span class="check"></span><span class="control-label"></span>
|
<span class="check"></span><span class="control-label"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
`
|
`);
|
||||||
);
|
$closestTr.find('td:eq(' + tdCount++ + ') .sctnDscntAt_normalList').append(`
|
||||||
$closestTr.find('td:eq(12) .sctnDscntAt_normalList').append(
|
|
||||||
`
|
|
||||||
<div class="sctnDscntAt_normal">
|
<div class="sctnDscntAt_normal">
|
||||||
<label class="b-checkbox checkbox" for="sctnDscntAt01_`+sctnDscntAt_normal_length+`">
|
<label class="b-checkbox checkbox" for="sctnDscntAt01_`+sctnDscntAt_normal_length+`">
|
||||||
<input type="checkbox" value="Y" id="sctnDscntAt01_`+sctnDscntAt_normal_length+`" name="sctnDscntAt_normal" checked>
|
<input type="checkbox" value="Y" id="sctnDscntAt01_`+sctnDscntAt_normal_length+`" name="sctnDscntAt_normal" checked>
|
||||||
<span class="check"></span><span class="control-label"></span>
|
<span class="check"></span><span class="control-label"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(13) .manage-btn-container').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .manage-btn-container').append(`
|
||||||
`
|
|
||||||
<button class="btn xsm dark optionDel02">삭제</button>
|
<button class="btn xsm dark optionDel02">삭제</button>
|
||||||
`
|
`);
|
||||||
);
|
});
|
||||||
|
|
||||||
|
// 옵션타입-옵션명, 옵션값 입력값 제한(영문+숫자만)
|
||||||
|
$(document).on('input', 'input[name=optnNm1_normal], input[name=optnVal1_normal]', function () {
|
||||||
|
this.value = this.value.replace(/[^a-zA-Z0-9]/g, '');
|
||||||
|
});
|
||||||
|
|
||||||
|
// 실무게 자릿수 제한
|
||||||
|
$(document).on('input', 'input[name="realWt_normal"]', function () {
|
||||||
|
this.value = this.value.replace(/(\.\d).*/,'$1');
|
||||||
});
|
});
|
||||||
|
|
||||||
// 하이픈 뒤에 숫자한자리만 남기기
|
// 하이픈 뒤에 숫자한자리만 남기기
|
||||||
@@ -5454,22 +5490,23 @@
|
|||||||
fn_del_optn_innb(delOtpnInnb, "normal")
|
fn_del_optn_innb(delOtpnInnb, "normal")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let tdCount = 0;
|
||||||
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(0) .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(1) .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(2) .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputContainer').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(3) .optionApply__inputContainer').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(4) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(5) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(6) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(7) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(8) .optionApply__priceContainer .input-container').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(9) .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-container').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(10) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(11) .compnbDscntAt_normalList .compnbDscntAt_normal').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(12) .sctnDscntAt_normalList .sctnDscntAt_normal').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .compnbDscntAt_normalList .compnbDscntAt_normal').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(13) .manage-btn-container .btn').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .sctnDscntAt_normalList .sctnDscntAt_normal').eq(optionIndex).remove();
|
||||||
|
$closestTr.find('td:eq(' + tdCount++ + ') .manage-btn-container .btn').eq(optionIndex).remove();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -5513,58 +5550,43 @@
|
|||||||
$(document).on('click', '.optionMove01', function () {
|
$(document).on('click', '.optionMove01', function () {
|
||||||
var $closestTr = $(this).closest('tr');
|
var $closestTr = $(this).closest('tr');
|
||||||
var optionIndex = $(this).closest('.optionApply__inputContainer').index();
|
var optionIndex = $(this).closest('.optionApply__inputContainer').index();
|
||||||
var optnNm_normalList = $closestTr.find('td:eq(0) .optionApply__inputList');
|
|
||||||
var optnExpsrAt_normalList = $closestTr.find('td:eq(1) .optnExpsrAt_normalList');
|
|
||||||
var stdrDvAt_normalList = $closestTr.find('td:eq(2) .stdrDvAt_normalList');
|
|
||||||
var $optionApplyInputList3 = $closestTr.find('td:eq(3) .optionApply__inputList');
|
|
||||||
var $optionApplyPriceList0 = $closestTr.find('td:eq(4) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList1 = $closestTr.find('td:eq(5) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList2 = $closestTr.find('td:eq(6) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList3 = $closestTr.find('td:eq(7) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList4 = $closestTr.find('td:eq(8) .optionApply__priceContainer');
|
|
||||||
var $optionApplyInputList2 = $closestTr.find('td:eq(9) .optionApply__priceContainer');
|
|
||||||
var $optionApplymiscTextList = $closestTr.find('td:eq(10) .optionApply__priceContainer');
|
|
||||||
var $compnbDscntAt_normalList = $closestTr.find('td:eq(11) .compnbDscntAt_normalList');
|
|
||||||
var $sctnDscntAt_normalList = $closestTr.find('td:eq(12) .sctnDscntAt_normalList');
|
|
||||||
var $optionApplyBtnList = $closestTr.find('td:eq(13) .manage-btn-container');
|
|
||||||
|
|
||||||
|
const selectors = [
|
||||||
|
'.optionApply__inputList',
|
||||||
|
'.optnExpsrAt_normalList',
|
||||||
|
'.stdrDvAt_normalList',
|
||||||
|
'.optionApply__inputList',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.compnbDscntAt_normalList',
|
||||||
|
'.sctnDscntAt_normalList',
|
||||||
|
'.manage-btn-container'
|
||||||
|
];
|
||||||
|
const targets = selectors.map((sclass, tdCount) => {
|
||||||
|
return $closestTr.find('td:eq(' + tdCount + ') ' + sclass);
|
||||||
|
});
|
||||||
|
const isUp = $(this).hasClass('up');
|
||||||
|
const maxLength = targets[0].children().length;
|
||||||
|
|
||||||
if ($(this).hasClass('up')) {
|
targets.forEach(function (target) {
|
||||||
if (optionIndex > 0) {
|
const current = target.children().eq(optionIndex);
|
||||||
optnNm_normalList.children().eq(optionIndex).insertBefore(optnNm_normalList.children().eq(optionIndex - 1));
|
if (isUp) {
|
||||||
optnExpsrAt_normalList.children().eq(optionIndex).insertBefore(optnExpsrAt_normalList.children().eq(optionIndex - 1));
|
if (optionIndex > 0)
|
||||||
stdrDvAt_normalList.children().eq(optionIndex).insertBefore(stdrDvAt_normalList.children().eq(optionIndex - 1));
|
current.insertBefore(target.children().eq(optionIndex - 1));
|
||||||
$optionApplyInputList3.children().eq(optionIndex).insertBefore($optionApplyInputList3.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyPriceList0.children().eq(optionIndex).insertBefore($optionApplyPriceList0.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyPriceList1.children().eq(optionIndex).insertBefore($optionApplyPriceList1.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyPriceList2.children().eq(optionIndex).insertBefore($optionApplyPriceList2.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyPriceList3.children().eq(optionIndex).insertBefore($optionApplyPriceList3.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyPriceList4.children().eq(optionIndex).insertBefore($optionApplyPriceList4.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyInputList2.eq(optionIndex).insertBefore($optionApplyInputList2.eq(optionIndex - 1));
|
|
||||||
$optionApplymiscTextList.children().eq(optionIndex).insertBefore($optionApplymiscTextList.children().eq(optionIndex - 1));
|
|
||||||
$compnbDscntAt_normalList.children().eq(optionIndex).insertBefore($compnbDscntAt_normalList.children().eq(optionIndex - 1));
|
|
||||||
$sctnDscntAt_normalList.children().eq(optionIndex).insertBefore($sctnDscntAt_normalList.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyBtnList.children().eq(optionIndex).insertBefore($optionApplyBtnList.children().eq(optionIndex - 1));
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (optionIndex < optnExpsrAt_normalList.children().length - 1) {
|
if (optionIndex < maxLength - 1)
|
||||||
optnNm_normalList.children().eq(optionIndex).insertAfter(optnNm_normalList.children().eq(optionIndex + 1));
|
current.insertAfter(target.children().eq(optionIndex + 1));
|
||||||
optnExpsrAt_normalList.children().eq(optionIndex).insertAfter(optnExpsrAt_normalList.children().eq(optionIndex + 1));
|
|
||||||
stdrDvAt_normalList.children().eq(optionIndex).insertAfter(stdrDvAt_normalList.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyInputList3.children().eq(optionIndex).insertAfter($optionApplyInputList3.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList0.children().eq(optionIndex).insertAfter($optionApplyPriceList0.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList1.children().eq(optionIndex).insertAfter($optionApplyPriceList1.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList2.children().eq(optionIndex).insertAfter($optionApplyPriceList2.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList3.children().eq(optionIndex).insertAfter($optionApplyPriceList3.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList4.children().eq(optionIndex).insertAfter($optionApplyPriceList4.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyInputList2.eq(optionIndex).insertAfter($optionApplyInputList2.eq(optionIndex + 1));
|
|
||||||
$optionApplymiscTextList.children().eq(optionIndex).insertAfter($optionApplymiscTextList.children().eq(optionIndex + 1));
|
|
||||||
$compnbDscntAt_normalList.children().eq(optionIndex).insertAfter($compnbDscntAt_normalList.children().eq(optionIndex + 1));
|
|
||||||
$sctnDscntAt_normalList.children().eq(optionIndex).insertAfter($sctnDscntAt_normalList.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyBtnList.children().eq(optionIndex).insertAfter($optionApplyBtnList.children().eq(optionIndex + 1));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// 추가구성옵션-옵션값 순서변경
|
// 추가구성옵션-옵션값 순서변경
|
||||||
$(document).on('click', '.optionMove02', function () {
|
$(document).on('click', '.optionMove02', function () {
|
||||||
|
|||||||
@@ -1817,6 +1817,18 @@
|
|||||||
alert('상품명을 입력해 주세요')
|
alert('상품명을 입력해 주세요')
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
const goodsNmEn = $('#goodsNmEn')
|
||||||
|
if(fn_is_empty(goodsNmEn.val())){
|
||||||
|
goodsNmEn.focus()
|
||||||
|
alert('상품명(영문)을 입력해 주세요')
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const goodsNmEnAlphabet = goodsNmEn.val().replace(/[0-9]/g, '');
|
||||||
|
if (goodsNmEnAlphabet.length < 10) {
|
||||||
|
goodsNmEn.focus();
|
||||||
|
alert('상품명(영문)은 숫자를 제외한 영문 기준 10자 이상 입력해 주세요');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
const url = '<c:url value="/mngr/goods/goodsmngr/updateGoodsDtlBscInfo"/>';
|
const url = '<c:url value="/mngr/goods/goodsmngr/updateGoodsDtlBscInfo"/>';
|
||||||
const hiddenForm = document.createElement('form');
|
const hiddenForm = document.createElement('form');
|
||||||
@@ -1830,16 +1842,16 @@
|
|||||||
|
|
||||||
//상품명
|
//상품명
|
||||||
fn_create_input('hidden', "goodsNm", $('#goodsNm').val(), hiddenForm);
|
fn_create_input('hidden', "goodsNm", $('#goodsNm').val(), hiddenForm);
|
||||||
//간략설명
|
//상품명(영문)
|
||||||
fn_create_input('hidden', "srtDc", $('#srtDc').val(), hiddenForm);
|
fn_create_input('hidden', "goodsNmEn", $('#goodsNmEn').val(), hiddenForm);
|
||||||
//브랜드
|
//브랜드
|
||||||
fn_create_input('hidden', 'brandCd', $('#brandCd').val(), hiddenForm)
|
fn_create_input('hidden', 'brandCd', $('#brandCd').val(), hiddenForm)
|
||||||
//대표설명
|
//대표설명
|
||||||
fn_create_input('hidden', "reprsntDc", $('#reprsntDc').val(), hiddenForm);
|
fn_create_input('hidden', "reprsntDc", $('#reprsntDc').val(), hiddenForm);
|
||||||
//검색어
|
//검색어
|
||||||
fn_create_input('hidden', "kwrd", $('#kwrd').val(), hiddenForm);
|
fn_create_input('hidden', "kwrd", $('#kwrd').val(), hiddenForm);
|
||||||
//대표상품코드
|
//간략설명
|
||||||
fn_create_input('hidden', "reprsntGoodsCd", $('#reprsntGoodsCd').val(), hiddenForm);
|
fn_create_input('hidden', "srtDc", $('#srtDc').val(), hiddenForm);
|
||||||
//리뷰연동
|
//리뷰연동
|
||||||
fn_create_input('hidden', "rvwGroupNb", $('#rvwGroupNb').val(), hiddenForm);
|
fn_create_input('hidden', "rvwGroupNb", $('#rvwGroupNb').val(), hiddenForm);
|
||||||
//한달리뷰작성가능여부
|
//한달리뷰작성가능여부
|
||||||
@@ -2305,6 +2317,8 @@
|
|||||||
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].optnNm1", $('[name=optnNm1_normal]').eq(0).val(), hiddenForm);
|
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].optnNm1", $('[name=optnNm1_normal]').eq(0).val(), hiddenForm);
|
||||||
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].optnVal1", $('[name=optnVal1_normal]').eq(idx).val(), hiddenForm);
|
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].optnVal1", $('[name=optnVal1_normal]').eq(idx).val(), hiddenForm);
|
||||||
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].optnCd1", $('[name=optnCd1_normal]').eq(idx).val(), hiddenForm);
|
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].optnCd1", $('[name=optnCd1_normal]').eq(idx).val(), hiddenForm);
|
||||||
|
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].hscode", $('[name=hscode_normal]').eq(idx).val(), hiddenForm);
|
||||||
|
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].realWt", $('[name=realWt_normal]').eq(idx).val(), hiddenForm);
|
||||||
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].sopmalCd", sopmalCd, hiddenForm);
|
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].sopmalCd", sopmalCd, hiddenForm);
|
||||||
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].invntryQy", fn_comma_del_str_to_number($('[name=invntryQy_normal]').eq(idx).val()), hiddenForm);
|
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].invntryQy", fn_comma_del_str_to_number($('[name=invntryQy_normal]').eq(idx).val()), hiddenForm);
|
||||||
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].cnsmrpric", fn_comma_del_str_to_number($('[name=cnsmrpric_normal]').eq(idx).val()), hiddenForm);
|
fn_create_input('hidden', "goodsNormalOptionVOList[" + idx + "].cnsmrpric", fn_comma_del_str_to_number($('[name=cnsmrpric_normal]').eq(idx).val()), hiddenForm);
|
||||||
@@ -3119,10 +3133,10 @@
|
|||||||
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${resultMap.BOGoodsVO.sopmalCd}"/>
|
<input type="hidden" id="sopmalCd" name="sopmalCd" value="${resultMap.BOGoodsVO.sopmalCd}"/>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<th>간략설명</th>
|
<th>상품명(영문)<span class="red-7">*</span></th>
|
||||||
<td>
|
<td>
|
||||||
<div class="td-inner">
|
<div class="td-inner">
|
||||||
<input class="input-text full" type="text" title="간략설명" id="srtDc" name="srtDc" value="${resultMap.goodsDtl.srtDc}">
|
<input class="input-text full" type="text" title="상품명(영문)" id="goodsNmEn" name="goodsNmEn" maxlength="35" value="${resultMap.goodsDtl.goodsNmEn}">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -3133,6 +3147,20 @@
|
|||||||
<input class="input-text full" type="text" title="대표설명" id="reprsntDc" name="reprsntDc" value="${resultMap.goodsDtl.reprsntDc}" >
|
<input class="input-text full" type="text" title="대표설명" id="reprsntDc" name="reprsntDc" value="${resultMap.goodsDtl.reprsntDc}" >
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<th>간략설명</th>
|
||||||
|
<td>
|
||||||
|
<div class="td-inner">
|
||||||
|
<input class="input-text full" type="text" title="간략설명" id="srtDc" name="srtDc" value="${resultMap.goodsDtl.srtDc}">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>검색어</th>
|
||||||
|
<td>
|
||||||
|
<div class="td-inner">
|
||||||
|
<input class="input-text full" type="text" title="검색어" id="kwrd" name="kwrd" value="${resultMap.goodsDtl.kwrd}">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<th>브랜드</th>
|
<th>브랜드</th>
|
||||||
<td>
|
<td>
|
||||||
<div class="td-inner">
|
<div class="td-inner">
|
||||||
@@ -3150,20 +3178,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<th>검색어</th>
|
|
||||||
<td>
|
|
||||||
<div class="td-inner">
|
|
||||||
<input class="input-text full" type="text" title="검색어" id="kwrd" name="kwrd" value="${resultMap.goodsDtl.kwrd}">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<th>대표 상품 코드(네이버)</th>
|
|
||||||
<td>
|
|
||||||
<div class="td-inner">
|
|
||||||
<input class="input-text full" type="text" title="대표 상품 코드(네이버)" id="reprsntGoodsCd" name="reprsntGoodsCd" value="${resultMap.goodsDtl.reprsntGoodsCd}">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>리뷰 연동</th>
|
<th>리뷰 연동</th>
|
||||||
<td>
|
<td>
|
||||||
@@ -3673,36 +3687,40 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="radio-tab-content" id="radio-tab-01">
|
<div class="radio-tab-content" id="radio-tab-01">
|
||||||
<div>
|
<div style="overflow-x: auto; overflow-y: hidden;">
|
||||||
<div class="table-wrapper">
|
<div class="table-wrapper" style="width: 100%;">
|
||||||
<table class="table vertical tight draggable" id="normal_option">
|
<table class="table vertical tight draggable" id="normal_option">
|
||||||
<caption>일반옵션</caption>
|
<caption>일반옵션</caption>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 13%;">
|
<col style="width: 12%;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: auto;">
|
<col style="width: auto;">
|
||||||
<col style="width: 8%;">
|
<col style="width: 7%;">
|
||||||
|
<col style="width: 4%;">
|
||||||
|
<col style="width: 4%;">
|
||||||
|
<col style="width: 4%;">
|
||||||
|
<c:if test="${not empty resultMap.goodsOptionList.normalOptnList}">
|
||||||
|
<col style="width: 4%;">
|
||||||
|
</c:if>
|
||||||
<col style="width: 5%;">
|
<col style="width: 5%;">
|
||||||
<col style="width: 5%;">
|
<col style="width: 5%;">
|
||||||
<col style="width: 6%;">
|
<col style="width: 12%;">
|
||||||
<col style="width: 6%;">
|
|
||||||
<col style="width: 13%;">
|
|
||||||
<col style="width: 100px;">
|
<col style="width: 100px;">
|
||||||
<col style="width: 6%;">
|
<col style="width: 5%;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: 60px;">
|
<col style="width: 60px;">
|
||||||
<col style="width: 80px;">
|
<col style="width: 80px;">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>옵션명
|
<th>옵션명</th>
|
||||||
<%-- <button id="fn_add_normal_option_row" type="button" class="btn xxsm outline">추가</button>--%>
|
|
||||||
</th>
|
|
||||||
<th>노출</th>
|
<th>노출</th>
|
||||||
<th>기준</th>
|
<th>기준</th>
|
||||||
<th>옵션값</th>
|
<th>옵션값</th>
|
||||||
<th>상품코드</th>
|
<th>상품코드</th>
|
||||||
|
<th>HS Code</th>
|
||||||
|
<th>실무게(KG)</th>
|
||||||
<th>재고</th>
|
<th>재고</th>
|
||||||
<th>가용재고</th>
|
<th>가용재고</th>
|
||||||
<th>소비자가</th>
|
<th>소비자가</th>
|
||||||
@@ -3735,12 +3753,12 @@
|
|||||||
<c:when test="${not empty resultMap.goodsOptionList.normalOptnList}">
|
<c:when test="${not empty resultMap.goodsOptionList.normalOptnList}">
|
||||||
<c:forEach var="optnList01" items="${resultMap.goodsOptionList.normalOptnList}" varStatus="optnTy01idx">
|
<c:forEach var="optnList01" items="${resultMap.goodsOptionList.normalOptnList}" varStatus="optnTy01idx">
|
||||||
<tr>
|
<tr>
|
||||||
<%-- <td>--%>
|
<%--<td>
|
||||||
<%-- <div class="draggable-icon-container">--%>
|
<div class="draggable-icon-container">
|
||||||
<%-- <i class="icon icon_draggable"></i>--%>
|
<i class="icon icon_draggable"></i>
|
||||||
<%-- <span class="visually-hidden">순서 바꾸기</span>--%>
|
<span class="visually-hidden">순서 바꾸기</span>
|
||||||
<%-- </div>--%>
|
</div>
|
||||||
<%-- </td>--%>
|
</td>--%>
|
||||||
<td>
|
<td>
|
||||||
<div class="optionApply__inputList">
|
<div class="optionApply__inputList">
|
||||||
<c:forEach var="optnNm011" items="${fn:split(optnList01.optnNm1,'|')}" varStatus="optnNm01_status">
|
<c:forEach var="optnNm011" items="${fn:split(optnList01.optnNm1,'|')}" varStatus="optnNm01_status">
|
||||||
@@ -3834,7 +3852,21 @@
|
|||||||
<td>
|
<td>
|
||||||
<div class="optionApply__priceContainer">
|
<div class="optionApply__priceContainer">
|
||||||
<c:forEach var="optnCd011" items="${fn:split(optnList01.optnCd1, '|')}">
|
<c:forEach var="optnCd011" items="${fn:split(optnList01.optnCd1, '|')}">
|
||||||
<input class="input-text full" type="text" title="이반옵션 상품코드" name="optnCd1_normal" value="${optnCd011}" >
|
<input class="input-text full" type="text" title="일반옵션 상품코드" name="optnCd1_normal" value="${optnCd011}" >
|
||||||
|
</c:forEach>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="optionApply__priceContainer">
|
||||||
|
<c:forEach var="hscode011" items="${fn:split(optnList01.hscode, '|')}">
|
||||||
|
<input class="input-text full" type="text" title="HS Code" name="hscode_normal" value="${hscode011}" maxlength="10" >
|
||||||
|
</c:forEach>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="optionApply__priceContainer">
|
||||||
|
<c:forEach var="realWt011" items="${fn:split(optnList01.realWt, '|')}">
|
||||||
|
<input class="input-text full" type="text" title="실무게(KG)" name="realWt_normal" value="${realWt011}" >
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
@@ -3875,12 +3907,12 @@
|
|||||||
<option value="01" <c:if test="${mlgPolicyCd011 eq '01'}" > selected </c:if> >통합</option>
|
<option value="01" <c:if test="${mlgPolicyCd011 eq '01'}" > selected </c:if> >통합</option>
|
||||||
<option value="02" <c:if test="${mlgPolicyCd011 eq '02'}" > selected </c:if> >개별</option>
|
<option value="02" <c:if test="${mlgPolicyCd011 eq '02'}" > selected </c:if> >개별</option>
|
||||||
</select>
|
</select>
|
||||||
<%-- <div class="nice-select short" tabindex="0"><span class="current">통합</span>--%>
|
<%--<div class="nice-select short" tabindex="0"><span class="current">통합</span>
|
||||||
<%-- <ul class="list">--%>
|
<ul class="list">
|
||||||
<%-- <li data-value="01" class="option <c:if test="${optnList01.mlgPolicyCd eq '01'}"> selected </c:if> ">통합</li>--%>
|
<li data-value="01" class="option <c:if test="${optnList01.mlgPolicyCd eq '01'}"> selected </c:if> ">통합</li>
|
||||||
<%-- <li data-value="02" class="option <c:if test="${optnList01.mlgPolicyCd eq '02'}"> selected </c:if> ">개별</li>--%>
|
<li data-value="02" class="option <c:if test="${optnList01.mlgPolicyCd eq '02'}"> selected </c:if> ">개별</li>
|
||||||
<%-- </ul>--%>
|
</ul>
|
||||||
<%-- </div>--%>
|
</div>--%>
|
||||||
</div>
|
</div>
|
||||||
<c:forEach var="mlgAccmlAmt011" items="${fn:split(optnList01.mlgAccmlAmt, '|')}" varStatus="mlgAccmlAmt011_status">
|
<c:forEach var="mlgAccmlAmt011" items="${fn:split(optnList01.mlgAccmlAmt, '|')}" varStatus="mlgAccmlAmt011_status">
|
||||||
<c:if test="${mlgPolicyCd011_status.index eq mlgAccmlAmt011_status.index}">
|
<c:if test="${mlgPolicyCd011_status.index eq mlgAccmlAmt011_status.index}">
|
||||||
@@ -3956,12 +3988,12 @@
|
|||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
<tr>
|
<tr>
|
||||||
<%-- <td>--%>
|
<%--<td>
|
||||||
<%-- <div class="draggable-icon-container">--%>
|
<div class="draggable-icon-container">
|
||||||
<%-- <i class="icon icon_draggable"></i>--%>
|
<i class="icon icon_draggable"></i>
|
||||||
<%-- <span class="visually-hidden">순서 바꾸기</span>--%>
|
<span class="visually-hidden">순서 바꾸기</span>
|
||||||
<%-- </div>--%>
|
</div>
|
||||||
<%-- </td>--%>
|
</td>--%>
|
||||||
<td>
|
<td>
|
||||||
<div class="optionApply__inputList">
|
<div class="optionApply__inputList">
|
||||||
<div class="optionApply__inputContainer">
|
<div class="optionApply__inputContainer">
|
||||||
@@ -3989,7 +4021,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td><div class="optionApply__inputList">
|
<td>
|
||||||
|
<div class="optionApply__inputList">
|
||||||
<div class="optionApply__inputContainer">
|
<div class="optionApply__inputContainer">
|
||||||
<div class="optionApply__moveBtnContainer">
|
<div class="optionApply__moveBtnContainer">
|
||||||
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
|
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
|
||||||
@@ -4005,6 +4038,16 @@
|
|||||||
<input class="input-text full" type="text" title="상품코드" name="optnCd1_normal" value="" >
|
<input class="input-text full" type="text" title="상품코드" name="optnCd1_normal" value="" >
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="optionApply__priceContainer">
|
||||||
|
<input class="input-text full" type="text" title="HS Code" name="hscode_normal" value="" maxlength="10" >
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="optionApply__priceContainer">
|
||||||
|
<input class="input-text full" type="text" title="실무게(KG)" name="realWt_normal" value="" >
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="optionApply__priceContainer">
|
<div class="optionApply__priceContainer">
|
||||||
<input class="input-text full number right" value="" type="text" id="invntryQy_normal0" name="invntryQy_normal" title="재고">
|
<input class="input-text full number right" value="" type="text" id="invntryQy_normal0" name="invntryQy_normal" title="재고">
|
||||||
@@ -4028,12 +4071,12 @@
|
|||||||
<option value="01" selected >통합</option>
|
<option value="01" selected >통합</option>
|
||||||
<option value="02" >개별</option>
|
<option value="02" >개별</option>
|
||||||
</select>
|
</select>
|
||||||
<%-- <div class="nice-select short" tabindex="0"><span class="current">통합</span>--%>
|
<%--<div class="nice-select short" tabindex="0"><span class="current">통합</span>
|
||||||
<%-- <ul class="list">--%>
|
<ul class="list">
|
||||||
<%-- <li data-value="01" class="option <c:if test="${optnList01.mlgPolicyCd eq '01'}"> selected </c:if> ">통합</li>--%>
|
<li data-value="01" class="option <c:if test="${optnList01.mlgPolicyCd eq '01'}"> selected </c:if> ">통합</li>
|
||||||
<%-- <li data-value="02" class="option <c:if test="${optnList01.mlgPolicyCd eq '02'}"> selected </c:if> ">개별</li>--%>
|
<li data-value="02" class="option <c:if test="${optnList01.mlgPolicyCd eq '02'}"> selected </c:if> ">개별</li>
|
||||||
<%-- </ul>--%>
|
</ul>
|
||||||
<%-- </div>--%>
|
</div>--%>
|
||||||
</div>
|
</div>
|
||||||
<input class="input-text sm number right" value="" type="text" id="mlgAccmlAmt_normal" name="mlgAccmlAmt_normal" title="마일리지" disabled >
|
<input class="input-text sm number right" value="" type="text" id="mlgAccmlAmt_normal" name="mlgAccmlAmt_normal" title="마일리지" disabled >
|
||||||
<div class="select-box">
|
<div class="select-box">
|
||||||
@@ -4041,13 +4084,13 @@
|
|||||||
<option value="02" selected >원</option>
|
<option value="02" selected >원</option>
|
||||||
<option value="01" >%</option>
|
<option value="01" >%</option>
|
||||||
</select>
|
</select>
|
||||||
<%-- <div class="nice-select short <c:if test="${optnList01.mlgPolicyCd ne '02'}"> disabled </c:if> "--%>
|
<%--<div class="nice-select short <c:if test="${optnList01.mlgPolicyCd ne '02'}"> disabled </c:if> "
|
||||||
<%-- tabindex="0"><span class="current">원</span>--%>
|
tabindex="0"><span class="current">원</span>
|
||||||
<%-- <ul class="list">--%>
|
<ul class="list">
|
||||||
<%-- <li data-value="02" class="option <c:if test="${optnList01.mlgAccmlCd eq '02'}"> </c:if> ">원</li>--%>
|
<li data-value="02" class="option <c:if test="${optnList01.mlgAccmlCd eq '02'}"> </c:if> ">원</li>
|
||||||
<%-- <li data-value="01" class="option <c:if test="${optnList01.mlgAccmlCd eq '01'}"> </c:if> ">%</li>--%>
|
<li data-value="01" class="option <c:if test="${optnList01.mlgAccmlCd eq '01'}"> </c:if> ">%</li>
|
||||||
<%-- </ul>--%>
|
</ul>
|
||||||
<%-- </div>--%>
|
</div>--%>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -5475,16 +5518,16 @@
|
|||||||
|
|
||||||
let sctnDscntAt_normal_num = removeTrailingNumber(chkboxExpsrAt) + sctnDscntAt_normal_length
|
let sctnDscntAt_normal_num = removeTrailingNumber(chkboxExpsrAt) + sctnDscntAt_normal_length
|
||||||
|
|
||||||
|
let tdCount = 0;
|
||||||
|
|
||||||
//옵션명
|
//옵션명
|
||||||
$closestTr.find('td:eq(0) .optionApply__inputList').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList').append(`
|
||||||
`<div class="optionApply__inputContainer">
|
<div class="optionApply__inputContainer" style="margin: 0">
|
||||||
<input class="input-text full `+optnNm.attr('id')+`" type="hidden" value="`+optnNmVal+`" title="일반옵션명" name="optnNm1_normal">
|
<input class="input-text full `+optnNm.attr('id')+`" type="hidden" value="`+optnNmVal+`" title="일반옵션명" name="optnNm1_normal">
|
||||||
</div>
|
</div>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
//노출여부
|
//노출여부
|
||||||
$closestTr.find('td:eq(1) .optnExpsrAt_normalList').append(`
|
$closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList').append(`
|
||||||
<div class="optnExpsrAt_normal">
|
<div class="optnExpsrAt_normal">
|
||||||
<label class="b-checkbox checkbox is-medium" for="`+optnExpsrAt_normal_num+`">
|
<label class="b-checkbox checkbox is-medium" for="`+optnExpsrAt_normal_num+`">
|
||||||
<input type="checkbox" id="`+optnExpsrAt_normal_num+`" value="Y" name="optnExpsrAt_normal" checked>
|
<input type="checkbox" id="`+optnExpsrAt_normal_num+`" value="Y" name="optnExpsrAt_normal" checked>
|
||||||
@@ -5493,62 +5536,55 @@
|
|||||||
</div>
|
</div>
|
||||||
`);
|
`);
|
||||||
//기준여부
|
//기준여부
|
||||||
$closestTr.find('td:eq(2) .stdrDvAt_normalList').append(`
|
$closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList').append(`
|
||||||
<div class="custom-radio">
|
<div class="custom-radio">
|
||||||
<input type="radio" value="Y" title="일반옵션 기준여부" id="`+stdrDvAt_normal_num+`" name="stdrDvAt_normal" style="display: flex;align-items: center;justify-content: center;height: 24px;">
|
<input type="radio" value="Y" title="일반옵션 기준여부" id="`+stdrDvAt_normal_num+`" name="stdrDvAt_normal" style="display: flex;align-items: center;justify-content: center;height: 24px;">
|
||||||
<label for="`+stdrDvAt_normal_num+`"></label>
|
<label for="`+stdrDvAt_normal_num+`"></label>
|
||||||
</div>
|
</div>
|
||||||
`);
|
`);
|
||||||
$closestTr.find('td:eq(3) .optionApply__inputList').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList').append(`
|
||||||
`<div class="optionApply__inputContainer">
|
<div class="optionApply__inputContainer">
|
||||||
<div class="optionApply__moveBtnContainer">
|
<div class="optionApply__moveBtnContainer">
|
||||||
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
|
<button type="button" class="optionApply__moveBtn optionMove01 up"><span class="visually-hidden">위로</span></button>
|
||||||
<button type="button" class="optionApply__moveBtn optionMove01 down"><span class="visually-hidden">아래로</span></button>
|
<button type="button" class="optionApply__moveBtn optionMove01 down"><span class="visually-hidden">아래로</span></button>
|
||||||
</div>
|
</div>
|
||||||
<input class="input-text full" value="" type="text" title="일반옵션값" name="optnVal1_normal">
|
<input class="input-text full" value="" type="text" title="일반옵션값" name="optnVal1_normal">
|
||||||
</div>`
|
</div>
|
||||||
);
|
`);
|
||||||
$closestTr.find('td:eq(4) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full" type="text" title="일반옵션코드" name="optnCd1_normal">
|
<input class="input-text full" type="text" title="일반옵션코드" name="optnCd1_normal">
|
||||||
`
|
`);
|
||||||
);
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
|
<input class="input-text full" value="220600" type="text" title="HS Code" name="hscode_normal" maxlength="10">
|
||||||
|
`);
|
||||||
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
|
<input class="input-text full" value="0.0" type="text" title="실무게(KG)" name="realWt_normal">
|
||||||
|
`);
|
||||||
|
|
||||||
//재고와 상관없이 판매일 경우 옵션재고 disabled
|
//재고와 상관없이 판매일 경우 옵션재고 disabled
|
||||||
if($('input[name="invntryPolicyCd"]:checked').val() ==='02'){
|
if($('input[name="invntryPolicyCd"]:checked').val() ==='02'){
|
||||||
$closestTr.find('td:eq(5) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal" disabled>
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal" disabled>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
}else{
|
}else{
|
||||||
$closestTr.find('td:eq(5) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal">
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 재고" name="invntryQy_normal">
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$closestTr.find('td:eq(6) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="" type="text" title="일반옵션 가용재고" disabled>
|
<input class="input-text full number right" value="" type="text" title="일반옵션 가용재고" disabled>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(7) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 소비자가" name="cnsmrpric_normal">
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 소비자가" name="cnsmrpric_normal">
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(8) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full number right" value="0" type="text" title="일반옵션 판매가" name="slepric_normal">
|
<input class="input-text full number right" value="0" type="text" title="일반옵션 판매가" name="slepric_normal">
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(9) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<div class="input-container gap-4">
|
<div class="input-container gap-4">
|
||||||
<div class="select-box">
|
<div class="select-box">
|
||||||
<select class="short"
|
<select class="short"
|
||||||
@@ -5592,14 +5628,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(10) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(
|
||||||
dynamicInvntrySldoutExpsrAt
|
dynamicInvntrySldoutExpsrAt
|
||||||
);
|
);
|
||||||
|
|
||||||
// $closestTr.find('td:eq(10) .optionApply__priceContainer').append(
|
// $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(
|
||||||
// `<div class="select-box">
|
// `<div class="select-box">
|
||||||
// <select class="full"
|
// <select class="full"
|
||||||
// title="추가옵션 노출조건" name="optnRelateAt_added">
|
// title="추가옵션 노출조건" name="optnRelateAt_added">
|
||||||
@@ -5612,39 +5647,42 @@
|
|||||||
// );
|
// );
|
||||||
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(11) .optionApply__priceContainer').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(`
|
||||||
`
|
|
||||||
<input class="input-text full" type="text" title="일반옵션 정보" name="optnInfo_normal">
|
<input class="input-text full" type="text" title="일반옵션 정보" name="optnInfo_normal">
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(12) .compnbDscntAt_normalList').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .compnbDscntAt_normalList').append(`
|
||||||
`
|
|
||||||
<div class="compnbDscntAt_normal">
|
<div class="compnbDscntAt_normal">
|
||||||
<label class="b-checkbox checkbox" for="compnbDscntAt01_`+compnbDscntAt_normal_length+`">
|
<label class="b-checkbox checkbox" for="compnbDscntAt01_`+compnbDscntAt_normal_length+`">
|
||||||
<input type="checkbox" value="Y" id="compnbDscntAt01_`+compnbDscntAt_normal_length+`" name="compnbDscntAt_normal" checked>
|
<input type="checkbox" value="Y" id="compnbDscntAt01_`+compnbDscntAt_normal_length+`" name="compnbDscntAt_normal" checked>
|
||||||
<span class="check"></span><span class="control-label"></span>
|
<span class="check"></span><span class="control-label"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
$closestTr.find('td:eq(13) .sctnDscntAt_normalList').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .sctnDscntAt_normalList').append(`
|
||||||
`
|
|
||||||
<div class="sctnDscntAt_normal">
|
<div class="sctnDscntAt_normal">
|
||||||
<label class="b-checkbox checkbox" for="sctnDscntAt01_`+sctnDscntAt_normal_length+`">
|
<label class="b-checkbox checkbox" for="sctnDscntAt01_`+sctnDscntAt_normal_length+`">
|
||||||
<input type="checkbox" value="Y" id="sctnDscntAt01_`+sctnDscntAt_normal_length+`" name="sctnDscntAt_normal" checked>
|
<input type="checkbox" value="Y" id="sctnDscntAt01_`+sctnDscntAt_normal_length+`" name="sctnDscntAt_normal" checked>
|
||||||
<span class="check"></span><span class="control-label"></span>
|
<span class="check"></span><span class="control-label"></span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
`
|
`);
|
||||||
);
|
|
||||||
|
|
||||||
$closestTr.find('td:eq(14) .manage-btn-container').append(
|
$closestTr.find('td:eq(' + tdCount++ + ') .manage-btn-container').append(`
|
||||||
`
|
|
||||||
<button class="btn xsm dark optionDel02">삭제</button>
|
<button class="btn xsm dark optionDel02">삭제</button>
|
||||||
`
|
`);
|
||||||
);
|
});
|
||||||
|
|
||||||
|
// 옵션타입-옵션명, 옵션값 입력값 제한(영문+숫자만)
|
||||||
|
$(document).on('input', 'input[name=optnNm1_normal], input[name=optnVal1_normal]', function () {
|
||||||
|
this.value = this.value.replace(/[^a-zA-Z0-9]/g, '');
|
||||||
|
});
|
||||||
|
|
||||||
|
// 실무게 자릿수 제한
|
||||||
|
$(document).on('input', 'input[name="realWt_normal"]', function () {
|
||||||
|
this.value = this.value.replace(/(\.\d).*/,'$1');
|
||||||
});
|
});
|
||||||
|
|
||||||
// 하이픈 뒤에 숫자한자리만 남기기
|
// 하이픈 뒤에 숫자한자리만 남기기
|
||||||
@@ -5967,23 +6005,24 @@
|
|||||||
fn_del_optn_innb(delOtpnInnb, "normal")
|
fn_del_optn_innb(delOtpnInnb, "normal")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let tdCount = 0;
|
||||||
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(0) .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(1) .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(2) .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputContainer').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(3) .optionApply__inputContainer').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(4) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(5) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(6) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(7) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(8) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(9) .optionApply__priceContainer .input-container').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(10) .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-container').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(11) .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(12) .compnbDscntAt_normalList .compnbDscntAt_normal').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(13) .sctnDscntAt_normalList .sctnDscntAt_normal').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .compnbDscntAt_normalList .compnbDscntAt_normal').eq(optionIndex).remove();
|
||||||
$closestTr.find('td:eq(14) .manage-btn-container .btn').eq(optionIndex).remove();
|
$closestTr.find('td:eq(' + tdCount++ + ') .sctnDscntAt_normalList .sctnDscntAt_normal').eq(optionIndex).remove();
|
||||||
|
$closestTr.find('td:eq(' + tdCount++ + ') .manage-btn-container .btn').eq(optionIndex).remove();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -6027,61 +6066,43 @@
|
|||||||
$(document).on('click', '.optionMove01', function () {
|
$(document).on('click', '.optionMove01', function () {
|
||||||
var $closestTr = $(this).closest('tr');
|
var $closestTr = $(this).closest('tr');
|
||||||
var optionIndex = $(this).closest('.optionApply__inputContainer').index();
|
var optionIndex = $(this).closest('.optionApply__inputContainer').index();
|
||||||
var optnNm_normalList = $closestTr.find('td:eq(0) .optionApply__inputList');
|
|
||||||
var optnExpsrAt_normalList = $closestTr.find('td:eq(1) .optnExpsrAt_normalList');
|
|
||||||
var stdrDvAt_normalList = $closestTr.find('td:eq(2) .stdrDvAt_normalList');
|
|
||||||
var $optionApplyInputList3 = $closestTr.find('td:eq(3) .optionApply__inputList');
|
|
||||||
var $optionApplyPriceList0 = $closestTr.find('td:eq(4) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList1 = $closestTr.find('td:eq(5) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList2 = $closestTr.find('td:eq(6) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList3 = $closestTr.find('td:eq(7) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList4 = $closestTr.find('td:eq(8) .optionApply__priceContainer');
|
|
||||||
var $optionApplyPriceList5 = $closestTr.find('td:eq(9) .optionApply__priceContainer');
|
|
||||||
var $optionApplyInputList2 = $closestTr.find('td:eq(10) .optionApply__priceContainer');
|
|
||||||
var $optionApplymiscTextList = $closestTr.find('td:eq(11) .optionApply__priceContainer');
|
|
||||||
var $compnbDscntAt_normalList = $closestTr.find('td:eq(12) .compnbDscntAt_normalList');
|
|
||||||
var $sctnDscntAt_normalList = $closestTr.find('td:eq(13) .sctnDscntAt_normalList');
|
|
||||||
var $optionApplyBtnList = $closestTr.find('td:eq(14) .manage-btn-container');
|
|
||||||
|
|
||||||
|
const selectors = [
|
||||||
|
'.optionApply__inputList',
|
||||||
|
'.optnExpsrAt_normalList',
|
||||||
|
'.stdrDvAt_normalList',
|
||||||
|
'.optionApply__inputList',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.optionApply__priceContainer',
|
||||||
|
'.compnbDscntAt_normalList',
|
||||||
|
'.sctnDscntAt_normalList',
|
||||||
|
'.manage-btn-container'
|
||||||
|
];
|
||||||
|
const targets = selectors.map((sclass, tdCount) => {
|
||||||
|
return $closestTr.find('td:eq(' + tdCount + ') ' + sclass);
|
||||||
|
});
|
||||||
|
const isUp = $(this).hasClass('up');
|
||||||
|
const maxLength = targets[0].children().length;
|
||||||
|
|
||||||
if ($(this).hasClass('up')) {
|
targets.forEach(function (target) {
|
||||||
if (optionIndex > 0) {
|
const current = target.children().eq(optionIndex);
|
||||||
optnNm_normalList.children().eq(optionIndex).insertBefore(optnNm_normalList.children().eq(optionIndex - 1));
|
if (isUp) {
|
||||||
optnExpsrAt_normalList.children().eq(optionIndex).insertBefore(optnExpsrAt_normalList.children().eq(optionIndex - 1));
|
if (optionIndex > 0)
|
||||||
stdrDvAt_normalList.children().eq(optionIndex).insertBefore(stdrDvAt_normalList.children().eq(optionIndex - 1));
|
current.insertBefore(target.children().eq(optionIndex - 1));
|
||||||
$optionApplyInputList3.children().eq(optionIndex).insertBefore($optionApplyInputList3.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyPriceList0.children().eq(optionIndex).insertBefore($optionApplyPriceList0.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyPriceList1.children().eq(optionIndex).insertBefore($optionApplyPriceList1.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyPriceList2.children().eq(optionIndex).insertBefore($optionApplyPriceList2.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyPriceList3.children().eq(optionIndex).insertBefore($optionApplyPriceList3.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyPriceList4.children().eq(optionIndex).insertBefore($optionApplyPriceList4.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyPriceList5.children().eq(optionIndex).insertBefore($optionApplyPriceList5.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyInputList2.eq(optionIndex).insertBefore($optionApplyInputList2.eq(optionIndex - 1));
|
|
||||||
$optionApplymiscTextList.children().eq(optionIndex).insertBefore($optionApplymiscTextList.children().eq(optionIndex - 1));
|
|
||||||
$compnbDscntAt_normalList.children().eq(optionIndex).insertBefore($compnbDscntAt_normalList.children().eq(optionIndex - 1));
|
|
||||||
$sctnDscntAt_normalList.children().eq(optionIndex).insertBefore($sctnDscntAt_normalList.children().eq(optionIndex - 1));
|
|
||||||
$optionApplyBtnList.children().eq(optionIndex).insertBefore($optionApplyBtnList.children().eq(optionIndex - 1));
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (optionIndex < optnExpsrAt_normalList.children().length - 1) {
|
if (optionIndex < maxLength - 1)
|
||||||
optnNm_normalList.children().eq(optionIndex).insertAfter(optnNm_normalList.children().eq(optionIndex + 1));
|
current.insertAfter(target.children().eq(optionIndex + 1));
|
||||||
optnExpsrAt_normalList.children().eq(optionIndex).insertAfter(optnExpsrAt_normalList.children().eq(optionIndex + 1));
|
|
||||||
stdrDvAt_normalList.children().eq(optionIndex).insertAfter(stdrDvAt_normalList.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyInputList3.children().eq(optionIndex).insertAfter($optionApplyInputList3.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList0.children().eq(optionIndex).insertAfter($optionApplyPriceList0.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList1.children().eq(optionIndex).insertAfter($optionApplyPriceList1.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList2.children().eq(optionIndex).insertAfter($optionApplyPriceList2.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList3.children().eq(optionIndex).insertAfter($optionApplyPriceList3.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList4.children().eq(optionIndex).insertAfter($optionApplyPriceList4.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyPriceList5.children().eq(optionIndex).insertAfter($optionApplyPriceList5.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyInputList2.eq(optionIndex).insertAfter($optionApplyInputList2.eq(optionIndex + 1));
|
|
||||||
$optionApplymiscTextList.children().eq(optionIndex).insertAfter($optionApplymiscTextList.children().eq(optionIndex + 1));
|
|
||||||
$compnbDscntAt_normalList.children().eq(optionIndex).insertAfter($compnbDscntAt_normalList.children().eq(optionIndex + 1));
|
|
||||||
$sctnDscntAt_normalList.children().eq(optionIndex).insertAfter($sctnDscntAt_normalList.children().eq(optionIndex + 1));
|
|
||||||
$optionApplyBtnList.children().eq(optionIndex).insertAfter($optionApplyBtnList.children().eq(optionIndex + 1));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// 추가구성옵션-옵션값 순서변경
|
// 추가구성옵션-옵션값 순서변경
|
||||||
$(document).on('click', '.optionMove02', function () {
|
$(document).on('click', '.optionMove02', function () {
|
||||||
|
|||||||
Reference in New Issue
Block a user