|
|
@@ -14,7 +14,7 @@
|
|
|
* 1.0 2020.10.23 eskim 최초 작성
|
|
|
*******************************************************************************
|
|
|
-->
|
|
|
- <div class="modalPopup" data-width="1500"> <!-- data-width="1500" data-height="870" -->
|
|
|
+ <div class="modalPopup" data-width="1700" data-height="870"> <!-- data-width="1500" data-height="870" -->
|
|
|
<div class="panelStyle">
|
|
|
<div class="panelTitle">
|
|
|
<h2>상품상세</h2>
|
|
|
@@ -43,9 +43,9 @@
|
|
|
<col/>
|
|
|
<col width="11%"/>
|
|
|
<col width="14%"/>
|
|
|
- <col width="11%"/>
|
|
|
+ <col width="10%"/>
|
|
|
<col width="14%"/>
|
|
|
- <col width="11%"/>
|
|
|
+ <col width="10%"/>
|
|
|
<col width="14%"/>
|
|
|
</colgroup>
|
|
|
<tr>
|
|
|
@@ -91,18 +91,18 @@
|
|
|
<div class="panelStyle">
|
|
|
<table class="frmStyle">
|
|
|
<colgroup>
|
|
|
- <col width="10%"/>
|
|
|
- <col width="15%"/>
|
|
|
- <col width="15%"/>
|
|
|
- <col width="15%"/>
|
|
|
- <col width="15%"/>
|
|
|
- <col width="15%"/>
|
|
|
<col/>
|
|
|
+ <col width="12%"/>
|
|
|
+ <col width="17%"/>
|
|
|
+ <col width="12%"/>
|
|
|
+ <col width="17%"/>
|
|
|
+ <col width="12%"/>
|
|
|
+ <col width="17%"/>
|
|
|
</colgroup>
|
|
|
<tbody>
|
|
|
<tr>
|
|
|
<td rowspan="4" style="text-align:center" th:with="uploadGoodsUrl=${@environment.getProperty('upload.goods.view')}">
|
|
|
- <img id="goodsImgUrl" src="" width="100px"/>
|
|
|
+ <img id="goodsImgUrl" src="" width="130px"/>
|
|
|
<input type="hidden" name="sysImgNm" id="sysImgNm" />
|
|
|
</td>
|
|
|
<th>상품타이틀</th>
|
|
|
@@ -159,7 +159,7 @@
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td rowspan="11"> </td>
|
|
|
+ <td rowspan="12"> </td>
|
|
|
<th>시즌</th>
|
|
|
<td >
|
|
|
<select name="seasonCd" id="seasonCd">
|
|
|
@@ -352,12 +352,32 @@
|
|
|
<input type="hidden" id="dayMaxOrdQtyOrg" name="dayMaxOrdQtyOrg"/>
|
|
|
</td>
|
|
|
</tr>
|
|
|
- <!-- <tr>
|
|
|
- <th>구매등급</th>
|
|
|
- <td colspan="5">
|
|
|
- <div id="goodsCustGradeList"></div>
|
|
|
+ <tr>
|
|
|
+ <th>안전인증번호</th>
|
|
|
+ <td>
|
|
|
+ <input type="text" class="w150" id="certNum" name="certNum" maxlength="20"/>
|
|
|
+ <input type="hidden" id="certNumOrg" name="certNumOrg"/>
|
|
|
+ <button type="button" class="btn btn-success btn-lg" id="btnGoodsSafetyCertNum">안전인증</button>
|
|
|
+ </td>
|
|
|
+ <th>판매기간<em class="required" title="필수"></em></th>
|
|
|
+ <td colspan="3">
|
|
|
+ <input name="sellStYMD" id="sellStYMD" type="text" class="w80 schDate" maxlength="10" required="required" data-valid-name="판매시작일" />
|
|
|
+ <select name="sellStHH" id="sellStHH" required="required" data-valid-name="판매 시작시간">
|
|
|
+ <th:block th:each="num, index : ${#numbers.sequence(0,23)}">
|
|
|
+ <option th:value="${#numbers.formatInteger(num,2)}" th:text="|${#numbers.formatInteger(num,2)}시|" >시간</option>
|
|
|
+ </th:block>
|
|
|
+ </select>
|
|
|
+ <input name="sellStdt" id="sellStdt" type="hidden" />
|
|
|
+ ~
|
|
|
+ <input name="sellEdYMD" id="sellEdYMD" type="text" class="w80 schDate" maxlength="10" required="required" data-valid-name="판매 종료일" />
|
|
|
+ <select name="sellEdHH" id="sellEdHH" required="required" data-valid-name="판매 종료시간">
|
|
|
+ <th:block th:each="num: ${#numbers.sequence(0,23)}">
|
|
|
+ <option th:value="${#numbers.formatInteger(num,2)}" th:text="|${#numbers.formatInteger(num,2)}시|" th:selected="${#numbers.formatInteger(num,2)}==23 ? 'true'">시간</option>
|
|
|
+ </th:block>
|
|
|
+ </select>
|
|
|
+ <input name="sellEddt" id="sellEddt" type="hidden" />
|
|
|
</td>
|
|
|
- </tr> -->
|
|
|
+ </tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
</div>
|
|
|
@@ -682,7 +702,6 @@
|
|
|
$('#goodsDetailForm input[name=goodsGbOrg]').val(result.goodsGb);
|
|
|
$('#goodsDetailForm input[name=mainColorCd]').val(result.mainColorCd);
|
|
|
|
|
|
-
|
|
|
$("#goodsDetailForm input[name=goodsNm]").val(result.goodsNm);
|
|
|
$('#goodsDetailForm input[name=goodsNmOrg]').val(result.goodsNm);
|
|
|
fnDataLengthCheck('goodsNm',200);
|
|
|
@@ -818,9 +837,16 @@
|
|
|
$('#goodsDetailForm input[name=maxOrdQtyOrg]').val(result.maxOrdQty);
|
|
|
$('#goodsDetailForm input[name=dayMaxOrdQty]').val(result.dayMaxOrdQty);
|
|
|
$('#goodsDetailForm input[name=dayMaxOrdQtyOrg]').val(result.dayMaxOrdQty);
|
|
|
-
|
|
|
+ $('#goodsDetailForm input[name=certNumOrg]').val(result.certNum);
|
|
|
+ $('#goodsDetailForm input[name=certNum]').val(result.certNum);
|
|
|
$('#goodsDetailForm input[name=goodsType]').val(result.goodsType);
|
|
|
$("#goodsDetailForm").find("#goodsTypeNm").html(result.goodsTypeNm);
|
|
|
+ $('#goodsDetailForm input[name=sellStdt]').val(result.sellStdt);
|
|
|
+ $('#goodsDetailForm input[name=sellStYMD]').val(result.sellStdt.toDate("YYYYMMDDHHmmss").format("YYYY-MM-DD") );
|
|
|
+ $('#goodsDetailForm input[name=sellStHH]').val(result.sellStdt.toDate("YYYYMMDDHHmmss").format("HH") );
|
|
|
+ $('#goodsDetailForm input[name=sellEddt]').val(result.sellEddt);
|
|
|
+ $('#goodsDetailForm input[name=sellEdYMD]').val(result.sellEddt.toDate("YYYYMMDDHHmmss").format("YYYY-MM-DD") );
|
|
|
+ $('#goodsDetailForm input[name=sellEdHH]').val(result.sellEddt.toDate("YYYYMMDDHHmmss").format("HH") );
|
|
|
|
|
|
cfnCreateCombo('/renderer/delvFee/list/' + result.supplyCompCd, $('#goodsDetailForm select[name=delvFeeCd]'), "[선택]", result.delvFeeCd);
|
|
|
$('#goodsDetailForm input[name=delvFeeCdOrg]').val(result.delvFeeCd);
|
|
|
@@ -922,12 +948,6 @@
|
|
|
var fnGoodsDetailNotiInfoSearch = function(params) {
|
|
|
cfnAjaxSubmit("/goods/detail/notiInfo/list", "json", fnGoodsDetailNotiInfoSearchCallback, params);
|
|
|
}
|
|
|
-
|
|
|
- //구매등급
|
|
|
- //var fnGoodsDetailOrderGradeSearch = function(params) {
|
|
|
- // cfnAjaxSubmit("/goods/detail/order/grade/list", "json", fnGoodsDetailOrderGradeSearchCallback, params);
|
|
|
- //}
|
|
|
-
|
|
|
//이력
|
|
|
var fnGoodsDetailHstSearch = function() {
|
|
|
gagaAgGrid.fetch("/goods/detail/hst/list?goodsCd=" + $('#goodsDetailForm input[name=goodsCd]').val() , gridGoodsHstoryOptions);
|
|
|
@@ -1433,6 +1453,26 @@
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+ if(isNaN(Date.parse($("#goodsDetailForm input[name=sellStYMD]").val()))){
|
|
|
+ mcxDialog.alertC('날짜형식이 아닙니다.', {
|
|
|
+ sureBtnText: "확인",
|
|
|
+ sureBtnClick: function() {
|
|
|
+ $("#goodsDealForm input[name=sellStYMD]").focus();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(isNaN(Date.parse($("#goodsDetailForm input[name=sellEdYMD]").val()))){
|
|
|
+ mcxDialog.alertC('날짜형식이 아닙니다.', {
|
|
|
+ sureBtnText: "확인",
|
|
|
+ sureBtnClick: function() {
|
|
|
+ $("#goodsDealForm input[name=sellEdYMD]").focus();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
idx = 0;
|
|
|
|
|
|
//재고 옵션 관련 확인
|
|
|
@@ -1659,7 +1699,7 @@
|
|
|
|
|
|
//미리보기 클릭 시
|
|
|
$('#btnGoodsDetailPreview').click(function(e) {
|
|
|
- cfnOpenFrontGoodsPopup($('#goodsDetailForm input[name=goodsCd]').val(), $('#goodsDetailForm input[name=siteCd]').val());
|
|
|
+ cfnOpenFrontGoodsPopup($('#goodsDetailForm input[name=goodsCd]').val());
|
|
|
});
|
|
|
|
|
|
//이미지 클릭 시
|
|
|
@@ -1832,7 +1872,16 @@
|
|
|
if ($("#goodsDetailForm input[name=orderMadeYnOrg]").val() != $("input[name=orderMadeYn]:checked").val()){
|
|
|
return true;
|
|
|
}
|
|
|
-
|
|
|
+ // 판매기간 시작일
|
|
|
+ if ($("#goodsDetailForm input[name=sellStdt]").val().toDate("YYYYMMDDHHmmss").format("YYYYMMDDHH") !=
|
|
|
+ ($("#goodsDetailForm input[name=sellStYMD]").val().replaceAll('-', '')+ $("#goodsDetailForm select[name=sellStHH]").val())){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ // 판매기간 종료일
|
|
|
+ if ($("#goodsDetailForm input[name=sellEddt]").val().toDate("YYYYMMDDHHmmss").format("YYYYMMDDHH") !=
|
|
|
+ ($("#goodsDetailForm input[name=sellEdYMD]").val().replaceAll('-', '')+ $("#goodsDetailForm select[name=sellEdHH]").val())){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
@@ -1879,25 +1928,27 @@
|
|
|
});
|
|
|
});
|
|
|
|
|
|
- // 상품구매등급
|
|
|
- var fnGoodsOrderGrade = function(){
|
|
|
-
|
|
|
- var code = $('#goodsDetailForm select[name=custGrade]').val();
|
|
|
- var codeText = $("#goodsDetailForm select[name=custGrade] option:selected").text();
|
|
|
- var addHtml = '';
|
|
|
-
|
|
|
- var addFlag = true;
|
|
|
- $("#goodsDetailForm #goodsCustGradeList").find("input").each(function() {
|
|
|
- if (code == $(this).val() ){
|
|
|
- addFlag = false;
|
|
|
+
|
|
|
+ // 안전인증
|
|
|
+ $("#btnGoodsSafetyCertNum").on("click", function(){
|
|
|
+/*
|
|
|
+ if($("#goodsDetailForm input[name=certNum]").val() == $("#goodsDetailForm input[name=certNumOrg]").val()){
|
|
|
+ mcxDialog.alert("안전인증번호가 변경되지 않았습니다.");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+*/
|
|
|
+ mcxDialog.confirm('안전인증번호를 변경 하시겠습니까?', {
|
|
|
+ cancelBtnText: "취소",
|
|
|
+ sureBtnText: "확인",
|
|
|
+ sureBtnClick: function(){
|
|
|
+ var data = { goodsCd : $('#goodsDetailForm input[name=goodsCd]').val()
|
|
|
+ , certNum : $("#goodsDetailForm input[name=certNum]").val()
|
|
|
+ };
|
|
|
+ var jsonData = JSON.stringify(data);
|
|
|
+ gagajf.ajaxJsonSubmit('/goods/detail/certNum/save', jsonData ); //, fnGoodsDeailSearch
|
|
|
}
|
|
|
});
|
|
|
- if (addFlag){
|
|
|
- addHtml = '<span class="memAdd"><input type="hidden" name="goodsOrderGrade" value="'+code+'"/>'+ codeText+' <button type="button" onclick="$(this).parent().remove();return false;">삭제</button></span>';
|
|
|
- $('#goodsCustGradeList').append(addHtml);
|
|
|
- //$('#goodsDetailForm').find('.tabs .tabsNav li:eq(4) a').attr("style", "color:red;");
|
|
|
- }
|
|
|
- }
|
|
|
+ });
|
|
|
|
|
|
//엑셀 상품 조회
|
|
|
$('#btnGoodsDealSearchExcel').on('click', function() {
|