From 5da6ad42d0eb998b127b3295c4c67b7a0cc1b2c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EB=8C=80=ED=99=98?= Date: Tue, 19 May 2026 11:16:34 +0900 Subject: [PATCH] =?UTF-8?q?=EC=83=81=ED=92=88=EA=B4=80=EB=A6=AC=20>=20?= =?UTF-8?q?=EC=83=81=ED=92=88=EC=A1=B0=ED=9A=8C=20>=20=EC=83=81=ED=92=88?= =?UTF-8?q?=20=EB=93=B1=EB=A1=9D/=EB=B3=B5=EC=82=AC=EC=9E=AC=EB=93=B1?= =?UTF-8?q?=EB=A1=9D/=EC=88=98=EC=A0=95=20-=20=EC=83=81=ED=92=88=EB=AA=85(?= =?UTF-8?q?=EC=98=81=EB=AC=B8),=20HS=20Code,=20=EC=8B=A4=EB=AC=B4=EA=B2=8C?= =?UTF-8?q?(KG)=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gcone/goods/goods/vo/BOGoodsOptionVO.java | 4 + .../gcone/goods/goods/vo/BOGoodsVO.java | 7 + .../gcone/goods/goods/BOGoodsMapper.xml | 12 + .../views/mngr/goods/goodsmngr/GoodsC.jsp | 696 +++++----- .../views/mngr/goods/goodsmngr/GoodsCopyC.jsp | 1120 ++++++++-------- .../views/mngr/goods/goodsmngr/GoodsDtlU.jsp | 1159 +++++++++-------- 6 files changed, 1537 insertions(+), 1461 deletions(-) diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/goods/vo/BOGoodsOptionVO.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/goods/vo/BOGoodsOptionVO.java index d1e03a5d..8f76d426 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/goods/goods/vo/BOGoodsOptionVO.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/goods/vo/BOGoodsOptionVO.java @@ -47,6 +47,10 @@ public class BOGoodsOptionVO extends AbstractVO { private String optnCd4; /** 옵션정보 */ private String optnInfo; + /** HS Code */ + private String hscode; + /** 실무게(KG) */ + private String realWt; /** 재고수량 */ private String invntryQy; /** 가용재고수량 */ diff --git a/src/main/java/com/wb/domainserver/domain/gcone/goods/goods/vo/BOGoodsVO.java b/src/main/java/com/wb/domainserver/domain/gcone/goods/goods/vo/BOGoodsVO.java index c78ba503..25843a89 100644 --- a/src/main/java/com/wb/domainserver/domain/gcone/goods/goods/vo/BOGoodsVO.java +++ b/src/main/java/com/wb/domainserver/domain/gcone/goods/goods/vo/BOGoodsVO.java @@ -41,6 +41,9 @@ public class BOGoodsVO extends AbstractVO { /** 상품명 */ @NotBlank(message = "상품명") private String goodsNm; + /** 상품명(영문) */ + @NotBlank(message = "상품명(영문)") + private String goodsNmEn; /** 입점상품명 */ private String tentMarktGoodsNm; /** ? */ @@ -220,6 +223,10 @@ public class BOGoodsVO extends AbstractVO { private String optnCd4; /** 옵션정보 */ private String optnInfo; + /** HS Code */ + private String hscode; + /** 실무게(KG) */ + private String realWt; /** 재고수량 */ private Integer invntryQy; /** 가용재고수량 */ diff --git a/src/main/resources/mybatis/xml/mapper/gcone/goods/goods/BOGoodsMapper.xml b/src/main/resources/mybatis/xml/mapper/gcone/goods/goods/BOGoodsMapper.xml index 33b80b41..3c4cffd2 100644 --- a/src/main/resources/mybatis/xml/mapper/gcone/goods/goods/BOGoodsMapper.xml +++ b/src/main/resources/mybatis/xml/mapper/gcone/goods/goods/BOGoodsMapper.xml @@ -503,6 +503,7 @@ FG.REPRSNT_GOODS_CD, FG.BRAND_CD, FG.GOODS_NM, + FG.GOODS_NM_EN, FG.TAX_AT, FG.GOODS_STTUS_CD, 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_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.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(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 -- 판매재고수량 @@ -2011,6 +2014,7 @@ GOODS_CD, REPRSNT_GOODS_CD, GOODS_NM, + GOODS_NM_EN, TAX_AT, GOODS_STTUS_CD, SEL_STPGE_CUSTOM_WORDS_AT, @@ -2079,6 +2083,7 @@ #{goodsCd}, #{reprsntGoodsCd}, #{goodsNm}, + #{goodsNmEn}, #{taxAt}, #{goodsSttusCd}, #{selStpgeCustomWordsAt}, @@ -2188,6 +2193,7 @@ GC_GOODS FG set GOODS_NM = #{goodsNm} -- 상품명 + , GOODS_NM_EN = #{goodsNmEn} -- 상품명(영문) , SRT_DC = #{srtDc} -- 간략설명 , REPRSNT_DC = #{reprsntDc} -- 대표설명 , BRAND_CD = #{brandCd} -- 브랜드 @@ -2534,6 +2540,8 @@ OPTN_CD_3, OPTN_CD_4, OPTN_INFO, + HSCODE, + REAL_WT, INVNTRY_QY, USEFUL_INVNTRY_QY, CNSMRPRIC, @@ -2572,6 +2580,8 @@ #{optnCd3}, #{optnCd4}, #{optnInfo}, + #{hscode}, + #{realWt}, #{invntryQy}, #{usefulInvntryQy}, #{cnsmrpric}, @@ -2686,6 +2696,8 @@ OPTN_CD_3 = #{optnCd3}, OPTN_CD_4 = #{optnCd4}, OPTN_INFO = #{optnInfo}, + HSCODE = #{hscode}, + REAL_WT = #{realWt}, INVNTRY_QY = #{invntryQy}, USEFUL_INVNTRY_QY = #{usefulInvntryQy}, diff --git a/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsC.jsp b/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsC.jsp index bacccc83..fdc80548 100644 --- a/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsC.jsp +++ b/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsC.jsp @@ -587,6 +587,18 @@ alert('상품명을 입력해 주세요') 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') @@ -2522,10 +2534,10 @@ - 간략설명 + 상품명(영문)*
- +
@@ -2536,6 +2548,20 @@ + 간략설명 + +
+ +
+ + + + 검색어 + +
+ +
+ 브랜드
@@ -2552,20 +2578,6 @@
- - 검색어 - -
- -
- - 대표 상품 코드(네이버) - -
- -
- - 리뷰 연동 @@ -3005,190 +3017,202 @@
-
-
+
+
- + - + + + + +<%-- --%> - - - + + - + - -<%-- --%> - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - -<%-- --%> - + <%-- - - - - - - - - --%> + + - - - + - + - - + + + + + + + + + + + + + +
일반옵션
순서옵션명 -<%-- --%> - 노출기준옵션값 - 상품코드재고소비자가판매가마일리지재고품절시 -
- -
-
설명복수
할인
적용
구간
할인
적용
관리
옵션명노출기준옵션값상품코드HS Code실무게(KG)재고소비자가판매가마일리지재고품절시 +
+ +
+
설명복수
할인
적용
구간
할인
적용
관리
--%> -<%--
--%> -<%-- --%> -<%-- 순서 바꾸기--%> -<%--
--%> -<%--
-
-
- -<%-- --%> - +
+
+ + 순서 바꾸기
- -
-
-
- -
-
-
-
-
- - -
-
-
-
-
- - -
- -
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- -
통합 -
    -
  • 통합
  • -
  • 개별
  • -
+
+
+
+ +<%-- --%> +
- -
- -
${curUnit} -
    -
  • ${curUnit}
  • -
  • %
  • -
+
+
+
+
- - -
-
-
미노출
-
-
-
- -
-
-
-
- +
+
+
+ + +
- -
-
-
- +
+
+
+
+ + +
+ +
- -
-
-
- -
-
-
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+ +
통합 +
    +
  • 통합
  • +
  • 개별
  • +
+
+
+ +
+ +
${curUnit} +
    +
  • ${curUnit}
  • +
  • %
  • +
+
+
+
+
+
+
+
미노출
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
@@ -3982,16 +4006,17 @@ let sctnDscntAt_normal_num = removeTrailingNumber(chkboxExpsrAt) + sctnDscntAt_normal_length + let tdCount = 0; const $closestTr = $(this).closest('tr'); //옵션명 - $closestTr.find('td:eq(0) .optionApply__inputList').append( - `
+ $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList').append(` +
-
` - ); +
+ `); //노출여부 - $closestTr.find('td:eq(1) .optnExpsrAt_normalList').append(` + $closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList').append(`
`); - $closestTr.find('td:eq(2) .stdrDvAt_normalList').append(` + $closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList').append(`
`); - $closestTr.find('td:eq(3) .optionApply__inputList').append( - `
-
- - -
+ $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList').append(` +
+
+ + +
-
` - ); - $closestTr.find('td:eq(4) .optionApply__priceContainer').append( - ` - - ` - ); +
+ `); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); //재고와 상관없이 판매일 경우 옵션재고 disabled if($('input[name="invntryPolicyCd"]:checked').val() ==='02'){ - $closestTr.find('td:eq(5) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); }else{ - $closestTr.find('td:eq(5) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); } - $closestTr.find('td:eq(6) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); - $closestTr.find('td:eq(7) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); - $closestTr.find('td:eq(8) .optionApply__priceContainer').append( - ` -
-
- -
통합 -
    -
  • 통합 -
  • -
  • 개별 -
  • -
-
-
- -
- -
` + curUnit + ` -
    -
  • ` + curUnit + ` -
  • -
  • % -
  • -
-
+ $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` +
+
+ +
통합 +
    +
  • 통합 +
  • +
  • 개별 +
  • +
- ` - ); + +
+ +
` + curUnit + ` +
    +
  • ` + curUnit + ` +
  • +
  • % +
  • +
+
+
+
+ `); - $closestTr.find('td:eq(9) .optionApply__priceContainer').append( + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append( dynamicInvntrySldoutExpsrAt ); - $closestTr.find('td:eq(10) .optionApply__priceContainer').append( - ` - - ` - ); - $closestTr.find('td:eq(11) .compnbDscntAt_normalList').append( - ` -
+ $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); + $closestTr.find('td:eq(' + tdCount++ + ') .compnbDscntAt_normalList').append(` +
- ` - ); - $closestTr.find('td:eq(12) .sctnDscntAt_normalList').append( - ` + `); + $closestTr.find('td:eq(' + tdCount++ + ') .sctnDscntAt_normalList').append(`
- ` - ); - $closestTr.find('td:eq(13) .manage-btn-container').append( - ` - - ` - ); + `); + $closestTr.find('td:eq(' + tdCount++ + ') .manage-btn-container').append(` + + `); }); + // 옵션타입-옵션명, 옵션값 입력값 제한(영문+숫자만) + $(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) { @@ -4423,21 +4443,23 @@ return false; } - - $closestTr.find('td:eq(0) .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove(); - $closestTr.find('td:eq(1) .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove(); - $closestTr.find('td:eq(2) .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove(); - $closestTr.find('td:eq(3) .optionApply__inputContainer').eq(optionIndex).remove(); - $closestTr.find('td:eq(4) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(5) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(6) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(7) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(8) .optionApply__priceContainer .input-container').eq(optionIndex).remove(); - $closestTr.find('td:eq(9) .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove(); - $closestTr.find('td:eq(10) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(11) .compnbDscntAt_normalList .compnbDscntAt_normal').eq(optionIndex).remove(); - $closestTr.find('td:eq(12) .sctnDscntAt_normalList .sctnDscntAt_normal').eq(optionIndex).remove(); - $closestTr.find('td:eq(13) .manage-btn-container .btn').eq(optionIndex).remove(); + let tdCount = 0; + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputContainer').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-container').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').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,54 +4490,42 @@ $(document).on('click', '.optionMove01', function () { var $closestTr = $(this).closest('tr'); 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')) { - if (optionIndex > 0) { - optnExpsrAt_normalList.children().eq(optionIndex).insertBefore(optnExpsrAt_normalList.children().eq(optionIndex - 1)); - stdrDvAt_normalList.children().eq(optionIndex).insertBefore(stdrDvAt_normalList.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)); + 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; + + targets.forEach(function (target) { + const current = target.children().eq(optionIndex); + if (isUp) { + if (optionIndex > 0) + current.insertBefore(target.children().eq(optionIndex - 1)); + } else { + if (optionIndex < maxLength - 1) + current.insertAfter(target.children().eq(optionIndex + 1)); } - } else { - if (optionIndex < optnExpsrAt_normalList.children().length - 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)); - // $optionApplyInputTextList.eq(optionIndex).insertAfter($optionApplyInputTextList.eq(optionIndex + 1)); - $optionApplyBtnList.children().eq(optionIndex).insertAfter($optionApplyBtnList.children().eq(optionIndex + 1)); - } - } + }); }); // 추가구성옵션-옵션값 순서변경 diff --git a/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsCopyC.jsp b/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsCopyC.jsp index e15e75f5..54ad747e 100644 --- a/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsCopyC.jsp +++ b/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsCopyC.jsp @@ -640,6 +640,18 @@ alert('상품명을 입력해 주세요') 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') @@ -2668,10 +2680,10 @@
- 간략설명 + 상품명(영문)*
- +
@@ -2682,20 +2694,10 @@
- 브랜드 + 간략설명
-
-
- -
-
+
@@ -2706,10 +2708,20 @@
- 대표 상품 코드(네이버) + 브랜드
- +
+
+ +
+
@@ -3220,399 +3232,427 @@
-
-
+
+
- + - + + + + + + + - - - + + - + - -<%-- --%> - - - - - - - - - - - - - - - - - - - - - -<%-- --%> - + + + + + + + + + + + + - - - + + + + + + + + + + + <%----%> + + + + + + + + + + + + + + + + + + + + + + <%----%> + + + + - - - - + + + + + + + - + - - - - - - - - - - <%-- --%> - - - - - - - - - - + - - + - - - + + + +
일반옵션
순서옵션명 -<%-- --%> - 노출기준옵션값상품코드재고소비자가판매가마일리지재고품절시 -
- -
-
설명복수
할인
적용
구간
할인
적용
관리
--%> -<%--
--%> -<%-- --%> -<%-- 순서 바꾸기--%> -<%--
--%> -<%--
-
- +
옵션명노출기준옵션값상품코드HS Code실무게(KG)재고소비자가판매가마일리지재고품절시 +
+ -<%-- --%> - - - - - - - - - - - - - - - - -
+ + + -
- - - - - - - - - - - - - - - - - - - - -
+ +
- - - -
-
- -
- -
-
-
-
-
- -
- class="checked" checked > - -
-
-
-
- -
-
- - -
- -
-
+
-
-
- - - + +
설명복수
할인
적용
구간
할인
적용
관리
+
+ + 순서 바꾸기 +
+
+
+ + + +
+ + + + <%-- --%> + + + + + + + + + + + + + + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ class="checked" checked > + +
+
+
+
+ +
+
+ + +
+ +
+
+
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + disabled > + +
+
+
+ + " type="text" id="cnsmrpric_normal${optnTy01idx.index}${cnsmrpric011_status.index}" name="cnsmrpric_normal" title="소비자가"> + +
+
+
+ + " type="text" id="slepric_normal${optnTy01idx.index}${slepric011_status.index}" name="slepric_normal" title="판매가"> + +
+
+
+ +
+
+ + <%--
통합 +
    +
  • selected ">통합
  • +
  • selected ">개별
  • +
+
--%> +
+ + + disabled > + + + + +
+ +
+
+
+
+
+
+
+
+ +
+ + 노출 + 미노출 + +
+
+
+
+
+ + + +
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ + + +
+
+
+ + 순서 바꾸기 +
+
+
+
+ + + +
+
+
+
+
+ +
+
+
+
+
+ + +
+
+
+
+
+ + +
+ + +
-
-
- - disabled > - -
-
-
- - " type="text" id="cnsmrpric_normal${optnTy01idx.index}${cnsmrpric011_status.index}" name="cnsmrpric_normal" title="소비자가"> - -
-
-
- - " type="text" id="slepric_normal${optnTy01idx.index}${slepric011_status.index}" name="slepric_normal" title="판매가"> - -
-
-
- +
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
- <%--
통합--%> - <%--
    --%> - <%--
  • selected ">통합
  • --%> - <%--
  • selected ">개별
  • --%> - <%--
--%> - <%--
--%> + <%--
통합 +
    +
  • selected ">통합
  • +
  • selected ">개별
  • +
+
--%> +
+ +
+ + <%--
disabled " + tabindex="0">${curUnit} +
    +
  • ">${curUnit}
  • +
  • ">%
  • +
+
--%>
- - - disabled > - - - - -
- -
-
-
- -
-
-
- +
+
+
- - 노출 - 미노출 - -
- -
-
-
- - - -
-
-
- -
- -
-
-
-
-
- -
- -
-
-
-
-
- - - -
-
--%> - <%--
--%> - <%-- --%> - <%-- 순서 바꾸기--%> - <%--
--%> - <%--
-
-
- - - -
-
-
-
-
- -
-
-
-
-
- - -
-
-
-
-
- - -
- - -
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- - <%--
통합--%> - <%--
    --%> - <%--
  • selected ">통합
  • --%> - <%--
  • selected ">개별
  • --%> - <%--
--%> - <%--
--%> -
- -
- - <%--
disabled "--%> - <%-- tabindex="0">${curUnit}--%> - <%--
    --%> - <%--
  • ">${curUnit}
  • --%> - <%--
  • ">%
  • --%> - <%--
--%> - <%--
--%> + 옵션미노출
-
-
-
-
- 옵션미노출 +
+
+
- -
-
- -
-
-
-
- +
+
+
+ +
- -
@@ -4953,6 +4993,8 @@ $(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_num = removeTrailingNumber(chkboxExpsrAt) + compnbDscntAt_normal_length @@ -4961,18 +5003,16 @@ 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(` +
-` - ); + `); //노출여부 - $closestTr.find('td:eq(1) .optnExpsrAt_normalList').append(` + $closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList').append(`
`); //기준여부 - $closestTr.find('td:eq(2) .stdrDvAt_normalList').append(` + $closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList').append(`
`); - $closestTr.find('td:eq(3) .optionApply__inputList').append( - `
-
- - + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList').append(` +
+
+ + +
+
- -
` - ); - $closestTr.find('td:eq(4) .optionApply__priceContainer').append( - ` - - ` - ); + `); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); //재고와 상관없이 판매일 경우 옵션재고 disabled if($('input[name="invntryPolicyCd"]:checked').val() ==='02'){ - $closestTr.find('td:eq(5) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); }else{ - $closestTr.find('td:eq(5) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); } - $closestTr.find('td:eq(6) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); - $closestTr.find('td:eq(7) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); - $closestTr.find('td:eq(8) .optionApply__priceContainer').append( - ` -
-
- -
통합 -
    -
  • 통합 -
  • -
  • 개별 -
  • -
-
-
- -
- -
` + curUnit + ` -
    -
  • ` + curUnit + ` -
  • -
  • % -
  • -
-
+ $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` +
+
+ +
통합 +
    +
  • 통합 +
  • +
  • 개별 +
  • +
- ` - ); + +
+ +
` + curUnit + ` +
    +
  • ` + curUnit + ` +
  • +
  • % +
  • +
+
+
+
+ `); - $closestTr.find('td:eq(9) .optionApply__priceContainer').append( + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append( dynamicInvntrySldoutExpsrAt ); - // $closestTr.find('td:eq(10) .optionApply__priceContainer').append( + // $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append( // `
// - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); - $closestTr.find('td:eq(11) .compnbDscntAt_normalList').append( - ` -
+ $closestTr.find('td:eq(' + tdCount++ + ') .compnbDscntAt_normalList').append(` +
- ` - ); - $closestTr.find('td:eq(12) .sctnDscntAt_normalList').append( - ` + `); + $closestTr.find('td:eq(' + tdCount++ + ') .sctnDscntAt_normalList').append(`
- ` - ); + `); - $closestTr.find('td:eq(13) .manage-btn-container').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .manage-btn-container').append(` + + `); + }); + + // 옵션타입-옵션명, 옵션값 입력값 제한(영문+숫자만) + $(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") } - - - $closestTr.find('td:eq(0) .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove(); - $closestTr.find('td:eq(1) .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove(); - $closestTr.find('td:eq(2) .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove(); - $closestTr.find('td:eq(3) .optionApply__inputContainer').eq(optionIndex).remove(); - $closestTr.find('td:eq(4) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(5) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(6) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(7) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(8) .optionApply__priceContainer .input-container').eq(optionIndex).remove(); - $closestTr.find('td:eq(9) .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove(); - $closestTr.find('td:eq(10) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(11) .compnbDscntAt_normalList .compnbDscntAt_normal').eq(optionIndex).remove(); - $closestTr.find('td:eq(12) .sctnDscntAt_normalList .sctnDscntAt_normal').eq(optionIndex).remove(); - $closestTr.find('td:eq(13) .manage-btn-container .btn').eq(optionIndex).remove(); + let tdCount = 0; + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputContainer').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-container').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').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(); }); @@ -5513,57 +5550,42 @@ $(document).on('click', '.optionMove01', function () { var $closestTr = $(this).closest('tr'); 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')) { - if (optionIndex > 0) { - optnNm_normalList.children().eq(optionIndex).insertBefore(optnNm_normalList.children().eq(optionIndex - 1)); - optnExpsrAt_normalList.children().eq(optionIndex).insertBefore(optnExpsrAt_normalList.children().eq(optionIndex - 1)); - stdrDvAt_normalList.children().eq(optionIndex).insertBefore(stdrDvAt_normalList.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)); + targets.forEach(function (target) { + const current = target.children().eq(optionIndex); + if (isUp) { + if (optionIndex > 0) + current.insertBefore(target.children().eq(optionIndex - 1)); + } else { + if (optionIndex < maxLength - 1) + current.insertAfter(target.children().eq(optionIndex + 1)); } - } else { - if (optionIndex < optnExpsrAt_normalList.children().length - 1) { - optnNm_normalList.children().eq(optionIndex).insertAfter(optnNm_normalList.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)); - } - } + }); }); // 추가구성옵션-옵션값 순서변경 diff --git a/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsDtlU.jsp b/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsDtlU.jsp index f6e061cc..6ce0cfa1 100644 --- a/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsDtlU.jsp +++ b/src/main/webapp/WEB-INF/views/mngr/goods/goodsmngr/GoodsDtlU.jsp @@ -1817,6 +1817,18 @@ alert('상품명을 입력해 주세요') 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 = ''; const hiddenForm = document.createElement('form'); @@ -1830,16 +1842,16 @@ //상품명 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', "reprsntDc", $('#reprsntDc').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); //한달리뷰작성가능여부 @@ -2305,6 +2317,8 @@ 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 + "].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 + "].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); @@ -2699,7 +2713,7 @@ updateAjaxInfo("상품 이미지", url, formData,'06') }) - + //상품 기타정보 수정 $(document).on('click', '[name="btn_update_EtcInfo"]', function (event) { event.preventDefault() @@ -3119,10 +3133,10 @@
- 간략설명 + 상품명(영문)*
- +
@@ -3133,6 +3147,20 @@
+ 간략설명 + +
+ +
+ + + + 검색어 + +
+ +
+ 브랜드
@@ -3150,20 +3178,6 @@
- - 검색어 - -
- -
- - 대표 상품 코드(네이버) - -
- -
- - 리뷰 연동 @@ -3673,407 +3687,436 @@
-
-
+
+
- + - + + + + + + + - - - + - + - - - - - - - - - - - - - - - - - - - - - - - -<%-- --%> - + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + <%----%> + + + + + + + + + + + + + + + + + + + + + + + <%----%> + + + + + + + + + + + - + - - - - - - - - - - <%-- --%> - - - - - - - - - - + - - + - - - + + + +
일반옵션
옵션명 -<%-- --%> - 노출기준옵션값상품코드재고가용재고소비자가판매가마일리지재고품절시 -
- -
-
설명복수
할인
적용
구간
할인
적용
관리
--%> -<%--
--%> -<%-- --%> -<%-- 순서 바꾸기--%> -<%--
--%> -<%--
-
- +
옵션명노출기준옵션값상품코드HS Code실무게(KG)재고가용재고소비자가판매가마일리지재고품절시 +
+ -<%-- --%> - - - - - - - - - - - - - - - - -
+ + + -
- - - - - - - - - - - - - - - - - - - - -
+ +
- - - -
-
- -
- -
-
-
-
-
- -
- class="checked" checked > - -
-
-
-
- -
-
- - -
- -
-
+
-
-
- - - -
-
-
- - " type="text" id="invntryQy_normal${optnTy01idx.index}${invntryQy011_status.index}" name="invntryQy_normal" title="일반옵션 재고" disabled > - -
-
-
- - " type="text" id="usefulInvntry_normal${optnTy01idx.index}${usefulInvntry011_status.index}" title="일반옵션 가용재고" disabled > - -
-
-
- - " type="text" id="cnsmrpric_normal${optnTy01idx.index}${cnsmrpric011_status.index}" name="cnsmrpric_normal" title="소비자가"> - -
-
-
- - " type="text" id="slepric_normal${optnTy01idx.index}${slepric011_status.index}" name="slepric_normal" title="판매가"> - -
-
-
- + +
설명복수
할인
적용
구간
할인
적용
관리
+
+ + 순서 바꾸기 +
+
+
+ + + +
+ + + +<%-- --%> + + + + + + + + + + + + + + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ class="checked" checked > + +
+
+
+
+ +
+
+ + +
+ +
+
+
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + " type="text" id="invntryQy_normal${optnTy01idx.index}${invntryQy011_status.index}" name="invntryQy_normal" title="일반옵션 재고" disabled > + +
+
+
+ + " type="text" id="usefulInvntry_normal${optnTy01idx.index}${usefulInvntry011_status.index}" title="일반옵션 가용재고" disabled > + +
+
+
+ + " type="text" id="cnsmrpric_normal${optnTy01idx.index}${cnsmrpric011_status.index}" name="cnsmrpric_normal" title="소비자가"> + +
+
+
+ + " type="text" id="slepric_normal${optnTy01idx.index}${slepric011_status.index}" name="slepric_normal" title="판매가"> + +
+
+
+ +
+
+ + <%--
통합 +
    +
  • selected ">통합
  • +
  • selected ">개별
  • +
+
--%> +
+ + + disabled > + + + + +
+ +
+
+
+
+
+
+
+
+ +
+ + 노출 + 미노출 + +
+
+
+
+
+ + + +
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ + + +
+
+
+ + 순서 바꾸기 +
+
+
+
+ + + +
+
+
+
+
+ +
+
+
+
+
+ + +
+
+
+
+
+
+ + +
+ + +
+
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
- <%--
통합--%> - <%--
    --%> - <%--
  • selected ">통합
  • --%> - <%--
  • selected ">개별
  • --%> - <%--
--%> - <%--
--%> + <%--
통합 +
    +
  • selected ">통합
  • +
  • selected ">개별
  • +
+
--%> +
+ +
+ + <%--
disabled " + tabindex="0">원 +
    +
  • ">원
  • +
  • ">%
  • +
+
--%>
- - - disabled > - - - - -
- -
-
-
- -
-
-
- +
+
+
- - 노출 - 미노출 - -
- -
-
-
- - - -
-
-
- -
- -
-
-
-
-
- -
- -
-
-
-
-
- - - -
-
--%> - <%--
--%> - <%-- --%> - <%-- 순서 바꾸기--%> - <%--
--%> - <%--
-
-
- - - -
-
-
-
-
- -
-
-
-
-
- - -
-
-
-
-
- - -
- - -
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- - <%--
통합--%> - <%--
    --%> - <%--
  • selected ">통합
  • --%> - <%--
  • selected ">개별
  • --%> - <%--
--%> - <%--
--%> -
- -
- - <%--
disabled "--%> - <%-- tabindex="0">원--%> - <%--
    --%> - <%--
  • ">원
  • --%> - <%--
  • ">%
  • --%> - <%--
--%> - <%--
--%> + 옵션미노출
-
-
-
-
- 옵션미노출 +
+
+
- -
-
- -
-
-
-
- +
+
+
+ +
- -
@@ -5475,16 +5518,16 @@ 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(` +
-` - ); + `); //노출여부 - $closestTr.find('td:eq(1) .optnExpsrAt_normalList').append(` + $closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList').append(`
`); //기준여부 - $closestTr.find('td:eq(2) .stdrDvAt_normalList').append(` + $closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList').append(`
`); - $closestTr.find('td:eq(3) .optionApply__inputList').append( - `
-
- - + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList').append(` +
+
+ + +
+
- -
` - ); - $closestTr.find('td:eq(4) .optionApply__priceContainer').append( - ` - - ` - ); + `); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); //재고와 상관없이 판매일 경우 옵션재고 disabled if($('input[name="invntryPolicyCd"]:checked').val() ==='02'){ - $closestTr.find('td:eq(5) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); }else{ - $closestTr.find('td:eq(5) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); } - $closestTr.find('td:eq(6) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); - $closestTr.find('td:eq(7) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); - $closestTr.find('td:eq(8) .optionApply__priceContainer').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); - $closestTr.find('td:eq(9) .optionApply__priceContainer').append( - ` -
-
- -
통합 -
    -
  • 통합 -
  • -
  • 개별 -
  • -
-
-
- -
- -
원 -
    -
  • 원 -
  • -
  • % -
  • -
-
+ $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` +
+
+ +
통합 +
    +
  • 통합 +
  • +
  • 개별 +
  • +
- ` - ); + +
+ +
원 +
    +
  • 원 +
  • +
  • % +
  • +
+
+
+
+ `); - $closestTr.find('td:eq(10) .optionApply__priceContainer').append( + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append( dynamicInvntrySldoutExpsrAt ); - // $closestTr.find('td:eq(10) .optionApply__priceContainer').append( + // $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append( // `
// - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer').append(` + + `); - $closestTr.find('td:eq(12) .compnbDscntAt_normalList').append( - ` -
+ $closestTr.find('td:eq(' + tdCount++ + ') .compnbDscntAt_normalList').append(` +
- ` - ); - $closestTr.find('td:eq(13) .sctnDscntAt_normalList').append( - ` + `); + + $closestTr.find('td:eq(' + tdCount++ + ') .sctnDscntAt_normalList').append(`
- ` - ); + `); - $closestTr.find('td:eq(14) .manage-btn-container').append( - ` - - ` - ); + $closestTr.find('td:eq(' + tdCount++ + ') .manage-btn-container').append(` + + `); + }); + + // 옵션타입-옵션명, 옵션값 입력값 제한(영문+숫자만) + $(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") } - - - $closestTr.find('td:eq(0) .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove(); - $closestTr.find('td:eq(1) .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove(); - $closestTr.find('td:eq(2) .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove(); - $closestTr.find('td:eq(3) .optionApply__inputContainer').eq(optionIndex).remove(); - $closestTr.find('td:eq(4) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(5) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(6) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(7) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(8) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(9) .optionApply__priceContainer .input-container').eq(optionIndex).remove(); - $closestTr.find('td:eq(10) .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove(); - $closestTr.find('td:eq(11) .optionApply__priceContainer .input-text').eq(optionIndex).remove(); - $closestTr.find('td:eq(12) .compnbDscntAt_normalList .compnbDscntAt_normal').eq(optionIndex).remove(); - $closestTr.find('td:eq(13) .sctnDscntAt_normalList .sctnDscntAt_normal').eq(optionIndex).remove(); - $closestTr.find('td:eq(14) .manage-btn-container .btn').eq(optionIndex).remove(); + let tdCount = 0; + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputList .optionApply__inputContainer').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optnExpsrAt_normalList .optnExpsrAt_normal').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .stdrDvAt_normalList .custom-radio').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__inputContainer').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-container').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .optionApply__miscText').eq(optionIndex).remove(); + $closestTr.find('td:eq(' + tdCount++ + ') .optionApply__priceContainer .input-text').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(); }); @@ -6027,60 +6066,42 @@ $(document).on('click', '.optionMove01', function () { var $closestTr = $(this).closest('tr'); 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')) { - if (optionIndex > 0) { - optnNm_normalList.children().eq(optionIndex).insertBefore(optnNm_normalList.children().eq(optionIndex - 1)); - optnExpsrAt_normalList.children().eq(optionIndex).insertBefore(optnExpsrAt_normalList.children().eq(optionIndex - 1)); - stdrDvAt_normalList.children().eq(optionIndex).insertBefore(stdrDvAt_normalList.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)); + targets.forEach(function (target) { + const current = target.children().eq(optionIndex); + if (isUp) { + if (optionIndex > 0) + current.insertBefore(target.children().eq(optionIndex - 1)); + } else { + if (optionIndex < maxLength - 1) + current.insertAfter(target.children().eq(optionIndex + 1)); } - } else { - if (optionIndex < optnExpsrAt_normalList.children().length - 1) { - optnNm_normalList.children().eq(optionIndex).insertAfter(optnNm_normalList.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)); - } - } + }); }); // 추가구성옵션-옵션값 순서변경