فهرست منبع

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.admin.git into develop

eskim 4 سال پیش
والد
کامیت
ed5d663e44
22فایلهای تغییر یافته به همراه153 افزوده شده و 88 حذف شده
  1. 3 2
      src/main/java/com/style24/admin/biz/service/TsaShoplinkerService.java
  2. 1 1
      src/main/java/com/style24/persistence/mybatis/shop/TsaShoplinker.xml
  3. 2 2
      src/main/webapp/WEB-INF/views/board/FaqDetailForm.html
  4. 1 1
      src/main/webapp/WEB-INF/views/business/AflinkForm.html
  5. 1 1
      src/main/webapp/WEB-INF/views/business/BrandForm.html
  6. 1 1
      src/main/webapp/WEB-INF/views/display/CategoryForm.html
  7. 3 3
      src/main/webapp/WEB-INF/views/display/LookbookBannerPopupForm.html
  8. 2 2
      src/main/webapp/WEB-INF/views/display/MainContentsPopupForm.html
  9. 3 3
      src/main/webapp/WEB-INF/views/display/MainGnbContentsPopupForm.html
  10. 2 2
      src/main/webapp/WEB-INF/views/display/MainMultiContentsPopupForm.html
  11. 1 1
      src/main/webapp/WEB-INF/views/display/PopupListForm.html
  12. 1 1
      src/main/webapp/WEB-INF/views/envset/CustomerGradePolicyForm.html
  13. 1 1
      src/main/webapp/WEB-INF/views/goods/GoodsDetailSizeStockForm.html
  14. 1 1
      src/main/webapp/WEB-INF/views/goods/GoodsSizeInfoForm.html
  15. 12 9
      src/main/webapp/WEB-INF/views/marketing/PlanDetailPopupForm.html
  16. 1 1
      src/main/webapp/WEB-INF/views/marketing/PollListForm.html
  17. 2 2
      src/main/webapp/WEB-INF/views/order/CnclReqForm.html
  18. 53 34
      src/main/webapp/WEB-INF/views/order/ExchangeRequestForm.html
  19. 8 3
      src/main/webapp/WEB-INF/views/order/OrderDetailForm.html
  20. 47 13
      src/main/webapp/WEB-INF/views/order/RtnReqForm.html
  21. 5 2
      src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerGoodsSendForm.html
  22. 2 2
      src/main/webapp/WEB-INF/views/system/MenuForm.html

+ 3 - 2
src/main/java/com/style24/admin/biz/service/TsaShoplinkerService.java

@@ -199,9 +199,9 @@ public class TsaShoplinkerService {
 				if( "Y".equals(goodsMap.getSyncYn())) {
 					sbRequest.append("			<market_price>").append(goodsMap.getSupplyPrice()).append("</market_price>\n");
 					sbRequest.append("			<sale_price>").append(goodsMap.getSalePrice()).append("</sale_price>\n");
-					sbRequest.append("			<supply_price>").append(goodsMap.getSupplyPrice()).append("</supply_price>\n");
+					sbRequest.append("			<supply_price>").append(goodsMap.getSalePrice()).append("</supply_price>\n");
 					sbRequest.append("			<market_price_p>").append(goodsMap.getSupplyPrice()).append("</market_price_p>\n");
-					sbRequest.append("			<sale_price_p>").append(goodsMap.getSalePrice()).append("</sale_price_p>\n");
+					sbRequest.append("			<sale_price_p>").append(goodsMap.getSupplyPrice()).append("</sale_price_p>\n");
 					sbRequest.append("			<supply_price_p>").append(goodsMap.getSupplyPrice()).append("</supply_price_p>\n");
 				}else{
 					sbRequest.append("			<market_price>").append(0).append("</market_price>\n");
@@ -525,6 +525,7 @@ public class TsaShoplinkerService {
 						if( "하의".equals(size.getSizeTypecd())) {
 							htmlDesc += "<td style=\"position:relative; padding:20px 0; border-bottom:1px solid #ddd; font-weight:200; font-size:16px; letter-spacing:-0.025em; text-align:center;\">"+ size.getSizeValue5() +"</td>";
 						}
+						htmlDesc += "</tr>";
                 		cnt ++;
                 	}
 

+ 1 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsaShoplinker.xml

@@ -141,7 +141,7 @@
 		FROM TB_OPTION A INNER JOIN TB_IF_MEASUREMENT B ON A.OPT_CD = B.SKUCODE /*A.PRODUCT_NO = B.PRODUCTNO*/
 		WHERE A.GOODS_CD = #{goodsCd}
 		GROUP BY A.OPT_CD2, B.TYPECD, B.VALUE1, B.VALUE2, B.VALUE3, B.VALUE4, B.VALUE5
-		ORDER BY A.OPT_CD2
+		ORDER BY B.TYPECD, B.VALUE1, B.VALUE2, B.VALUE3, B.VALUE4, B.VALUE5
 	</select>
 
 	<!-- 상품등록-고시정보 -->

+ 2 - 2
src/main/webapp/WEB-INF/views/board/FaqDetailForm.html

@@ -59,7 +59,7 @@
 						<tr>
 							<th>표시순서<i class="required" title="필수" aria-hidden="true"></i></th>
 							<td>
-								<input type="text" class="w100 text-right" name="dispOrd" placeholder="" maxlength="5" required="required" data-valid-type="numeric" data-valid-name="표시순서" />
+								<input type="text" class="w100 text-right" name="dispOrd" placeholder="" maxlength="4" required="required" data-valid-type="numeric" data-valid-name="표시순서" />
 								<span class="infoTxt cBlue marL10"><i class="fa fa-info-circle" aria-hidden="true"></i>TOP 10 노출 순서</span>
 							</td>
 							<th>사용여부<em class="required" title="필수"></em></th>
@@ -125,7 +125,7 @@
 							</td>
 							<th>표시순서<i class="required" title="필수" aria-hidden="true"></i></th>
 							<td>
-								<input type="text" class="w100 text-right" name="dispOrd" placeholder="" maxlength="5" required="required" data-valid-type="numeric" data-valid-name="표시순서" th:field="*{dispOrd}"/>
+								<input type="text" class="w100 text-right" name="dispOrd" placeholder="" maxlength="4" required="required" data-valid-type="numeric" data-valid-name="표시순서" th:field="*{dispOrd}"/>
 								<span class="infoTxt cBlue marL10"><i class="fa fa-info-circle" aria-hidden="true"></i>TOP 10 노출 순서</span>
 							</td>
 							<th>조회수</th>

+ 1 - 1
src/main/webapp/WEB-INF/views/business/AflinkForm.html

@@ -123,7 +123,7 @@
 							<tr>
 								<th>표시순서<i class="star"></i></th>
 								<td>
-									<input type="text" class="w100 text-right" name="dispOrd" placeholder="" maxlength="5" required="required" data-valid-type="numeric" data-valid-name="표시순서" />
+									<input type="text" class="w100 text-right" name="dispOrd" placeholder="" maxlength="4" required="required" data-valid-type="numeric" data-valid-name="표시순서" />
 								</td>
 							</tr>
 							<tr>

+ 1 - 1
src/main/webapp/WEB-INF/views/business/BrandForm.html

@@ -130,7 +130,7 @@
 						</td>
 						<th>노출순서<i class="required" title="필수"></i></th>
 						<td class="infoTxt">
-							<input type="text" class="w100 aR" name="dispOrd" maxlength="5" required="required" data-valid-name="노출순서" data-valid-type="numeric"/>
+							<input type="text" class="w100 aR" name="dispOrd" maxlength="4" required="required" data-valid-name="노출순서" data-valid-type="numeric"/>
 						</td>
 						<!-- <th>브랜드명노출언어<i class="required" title="필수"></i></th>
 						<td>

+ 1 - 1
src/main/webapp/WEB-INF/views/display/CategoryForm.html

@@ -127,7 +127,7 @@
 					<tr>
 						<th>노출순서<i class="required" title="필수"></i></th>
 						<td>
-							<input type="text" class="aR w100" name="dispOrd" maxlength="5" required="required" data-valid-type="integer" data-valid-name="노출순서"/>
+							<input type="text" class="aR w100" name="dispOrd" maxlength="4" required="required" data-valid-type="integer" data-valid-name="노출순서"/>
 						</td>
 						<th>정상이월구분</th>
 						<td>

+ 3 - 3
src/main/webapp/WEB-INF/views/display/LookbookBannerPopupForm.html

@@ -167,7 +167,7 @@
 		html += '			</td>';
 		html += '			<th>이미지설명</th>';
 		html += '			<td><textarea class="textareaR4" name="imgDesc" id="imgDesc'+bannerIdx+'"></textarea></td>';
-		html += '			<td><input name="dispOrd" type="text" class="w80" placeholder="전시순서" style="margin-left:5px; text-align:center"/>';
+		html += '			<td><input name="dispOrd" type="text" class="w80" placeholder="전시순서" maxlength="4" style="margin-left:5px; text-align:center"/>';
 		//html += '			<button type="button" class="btn btn-success btn-lg" onclick="fnAddPicker(this);">피커추가</button>';
 		html += '			<button type="button" class="btn btn-danger btn-lg" onclick="fnDeleteBanner(this);">삭제</button></td>';
 		html += '		</tr>';*/
@@ -369,7 +369,7 @@
 				html += '			</td>';
 				html += '			<th>이미지설명</th>';
 				html += '			<td><textarea class="textareaR4" name="imgDesc" id="imgDesc'+i+'">'+lookbookBannerList[i].imgDesc+'</textarea></td>';
-				html += '			<td><input name="dispOrd" type="text" class="w80" placeholder="전시순서" style="margin-left:5px; text-align:center" value="'+lookbookBannerList[i].dispOrd+'"/>';
+				html += '			<td><input name="dispOrd" type="text" class="w80" placeholder="전시순서" maxlength="4" style="margin-left:5px; text-align:center" value="'+lookbookBannerList[i].dispOrd+'"/>';
 				html += '				<button type="button" class="btn btn-success btn-lg" onclick="fnAddPicker(this);">피커추가</button>';
 				html += '				<button type="button" class="btn btn-danger btn-lg" onclick="fnDeleteBanner(this);">삭제</button></td>';
 				html += '		</tr>';*/
@@ -414,7 +414,7 @@
 		html += '			<span id="dpLocAnsContent'+bannerImgRow+'">0</span>/4,000Byte';
 		html += '			</th>';
 		html += '			<td><textarea class="textareaR4" style="resize: none;" name="imgDesc" id="imgDesc'+bannerImgRow+'" onkeyup="cfnGetTextLength(this, 4000, $(\'#dpLocAnsContent\'+'+bannerImgRow+'));" >'+desc+'</textarea></td>';
-		html += '			<td><input name="dispOrd" type="text" class="w80" placeholder="전시순서" style="margin-left:5px; text-align:center" value="'+dispord+'"/>';
+		html += '			<td><input name="dispOrd" type="text" class="w80" placeholder="전시순서" maxlength="4" style="margin-left:5px; text-align:center" value="'+dispord+'"/>';
 		if(imgPath!=''){
 			html += '				<button type="button" class="btn btn-success btn-lg" onclick="fnAddPicker(this,\''+imgPath+'\');">피커추가</button>';
 		}

+ 2 - 2
src/main/webapp/WEB-INF/views/display/MainContentsPopupForm.html

@@ -98,7 +98,7 @@
 			html += '<select name="edTimeMin" required="required" data-valid-name="노출기간 종료시간">';
 			html += fnCreateTimeOption(60, dispEddt[1].split(":")[1]);
 			html += '</select>';
-			html += '<input name="dispOrd" type="text" class="w80"placeholder="전시순서" style="margin-left:5px; text-align:center" value="'+result[i].dispOrd+'"/>';
+			html += '<input name="dispOrd" type="text" class="w80"placeholder="전시순서" maxlength="4" style="margin-left:5px; text-align:center" value="'+result[i].dispOrd+'"/>';
 			html += '</td>';
 			if(contentsLoc!='SCM002' && contentsLoc!='SCM003'){
 				html += '<td class="aL">';
@@ -670,7 +670,7 @@
 		html += '<select name="edTimeMin" required="required" data-valid-name="노출기간 종료시간">';
 		html += fnCreateTimeOption(60,59);
 		html += '</select>\n';
-		html += '<input name="dispOrd" type="text" class="w80"placeholder="전시순서" style="margin-left:5px; text-align:center"/>\n';
+		html += '<input name="dispOrd" type="text" class="w80"placeholder="전시순서" maxlength="4" style="margin-left:5px; text-align:center"/>\n';
 		html += '</td>\n';
 		html += '<td class="aL">\n';
 		if(contentsLoc!='SCM002' && contentsLoc!='SCM003' && contentsLoc!='SMM011' && contentsLoc!='SBM012' && contentsLoc!='SBMM012' && contentsLoc!='SMM003' && contentsLoc!='SMM004' && contentsLoc!='SMM006'

+ 3 - 3
src/main/webapp/WEB-INF/views/display/MainGnbContentsPopupForm.html

@@ -126,7 +126,7 @@
 		html += '			<select name="edTimeMin" required="required" data-valid-name="노출기간 종료시간">';
 		html += fnCreateTimeOption(60,59);
 		html += '			</select>';
-		html += '			<input name="dispOrd" type="text" class="w80"placeholder="전시순서" style="margin-left:5px; text-align:center"/>';
+		html += '			<input name="dispOrd" type="text" class="w80"placeholder="전시순서" maxlength="4" style="margin-left:5px; text-align:center"/>';
 		html += '		</td>';
 		html += '		<td class="aL cateTypeBtnArea">';
 		html += '		<button type="button" class="btn btn-danger btn-lg" onclick="fnDeleteContentsRow(this);">삭제</button></td>';
@@ -674,7 +674,7 @@
 			html += '			<select name="edTimeMin" required="required" data-valid-name="노출기간 종료시간">';
 			html += fnCreateTimeOption(60, dispEddt[1].split(":")[1]);
 			html += '			</select>';
-			html += '			<input name="dispOrd" type="text" class="w80"placeholder="전시순서" style="margin-left:5px; text-align:center" value="'+result[i].strTitle3+'"/>';
+			html += '			<input name="dispOrd" type="text" class="w80"placeholder="전시순서" maxlength="4" style="margin-left:5px; text-align:center" value="'+result[i].strTitle3+'"/>';
 			html += '		</td>';
 			html += '		<td class="aL cateTypeBtnArea">';
 			html += '		<button type="button" class="btn btn-danger btn-lg" onclick="fnDeleteContentsRow(this);">삭제</button></td>';
@@ -892,7 +892,7 @@
 			html += '			<select name="edTimeMin" required="required" data-valid-name="노출기간 종료시간">';
 			html += fnCreateTimeOption(60, dispEddt[1].split(":")[1]);
 			html += '			</select>';
-			html += '			<input name="dispOrd" type="text" class="w80"placeholder="전시순서" style="margin-left:5px; text-align:center" value="'+result[i].dispOrd+'"/>';
+			html += '			<input name="dispOrd" type="text" class="w80"placeholder="전시순서" maxlength="4" style="margin-left:5px; text-align:center" value="'+result[i].dispOrd+'"/>';
 			html += '			</td>';
 			html += '			<td class="aL cateTypeBtnArea">';
 			html += '			<button type="button" class="btn btn-danger btn-lg" onclick="fnDeleteContentsRow(this);">삭제</button></td>';

+ 2 - 2
src/main/webapp/WEB-INF/views/display/MainMultiContentsPopupForm.html

@@ -98,7 +98,7 @@ console.log('brandGroupNo:'+brandGroupNo);
 			html += '<select name="edTimeMin" required="required" data-valid-name="노출기간 종료시간">';
 			html += fnCreateTimeOption(60, dispEddt[1].split(":")[1]);
 			html += '</select>';
-			html += '<input name="dispOrd" type="text" class="w80"placeholder="전시순서" style="margin-left:5px; text-align:center" value="'+result[i].dispOrd+'"/>';
+			html += '<input name="dispOrd" type="text" class="w80"placeholder="전시순서" maxlength="4" style="margin-left:5px; text-align:center" value="'+result[i].dispOrd+'"/>';
 			html += '</td>';
 			html += '<td class="aL">';
 			if(contentsLoc=='SMM007') {
@@ -340,7 +340,7 @@ console.log('brandGroupNo:'+brandGroupNo);
 		html += '<select name="edTimeMin" required="required" data-valid-name="노출기간 종료시간">';
 		html += fnCreateTimeOption(60, 59);
 		html += '</select>';
-		html += '<input name="dispOrd" type="text" class="w80" placeholder="전시순서" style="margin-left:5px; text-align:center"/>';
+		html += '<input name="dispOrd" type="text" class="w80" placeholder="전시순서" maxlength="4" style="margin-left:5px; text-align:center"/>';
 		html += '</td>';
 		html += '<td class="aL">';
 		if(contentsLoc=='SMM007') {

+ 1 - 1
src/main/webapp/WEB-INF/views/display/PopupListForm.html

@@ -209,7 +209,7 @@
 						</td>
 						<th>우선순위<i class="required" title="필수"></i></th>
 						<td>
-							<input type="text" class="w90" name="dispOrd" id="dispOrd" required="required" data-valid-type=numeric data-valid-name="우선순위"/>
+							<input type="text" class="w90" name="dispOrd" id="dispOrd" maxlength="4" required="required" data-valid-type=numeric data-valid-name="우선순위"/>
 						</td>
 						<th>팝업구분<i class="required" title="필수"></i></th>
 						<td>

+ 1 - 1
src/main/webapp/WEB-INF/views/envset/CustomerGradePolicyForm.html

@@ -136,7 +136,7 @@
 						</td>
 						<th>표시순서<i class="required" title="필수" aria-hidden="true"></i></th>
 						<td>
-							<input type="text" class="w100 aR" name="dispOrd" placeholder="" maxlength="5" required="required" data-valid-type="numeric" data-valid-name="표시순서" />
+							<input type="text" class="w100 aR" name="dispOrd" placeholder="" maxlength="4" required="required" data-valid-type="numeric" data-valid-name="표시순서" />
 						</td>
 						<th>사용여부</th>
 						<td>

+ 1 - 1
src/main/webapp/WEB-INF/views/goods/GoodsDetailSizeStockForm.html

@@ -109,7 +109,7 @@
 			<td><input type="text" class="w100p aR" name="addPrice" th:value="${goodsSize.addPrice}"  maxlength="7"  data-valid-type="numeric"/>
 				<input type="hidden" name="hidAddPrice" th:value="${goodsSize.addPrice}" />
 			</td>
-			<td><input type="text" class="w100p aC" name="dispOrd" th:value="${goodsSize.dispOrd}"  maxlength="7" data-valid-type="integer"/>
+			<td><input type="text" class="w100p aC" name="dispOrd" th:value="${goodsSize.dispOrd}"  maxlength="4" data-valid-type="integer"/>
 				<input type="hidden" name="hidDispOrd" th:value="${goodsSize.dispOrd}" />
 			</td>
 			<td><select name="dispYn" class="w100p aC">

+ 1 - 1
src/main/webapp/WEB-INF/views/goods/GoodsSizeInfoForm.html

@@ -102,7 +102,7 @@
 									<tr>
 										<th>노출순서<em class="required" title="필수"></em></th>
 										<td>
-											<input type="text" class="aR w100" name="dispOrd" maxlength="5" required="required" data-valid-type="integer" data-valid-name="노출순서"/>
+											<input type="text" class="aR w100" name="dispOrd" maxlength="4" required="required" data-valid-type="integer" data-valid-name="노출순서"/>
 										</td>
 									</tr>
 									<tr>

+ 12 - 9
src/main/webapp/WEB-INF/views/marketing/PlanDetailPopupForm.html

@@ -72,7 +72,7 @@
 						</td>
 						<th>전시순서</th>
 						<td>
-							<input type="text" name="dispOrd" class="w100 aR" th:value="*{dispOrd}"/>
+							<input type="text" name="dispOrd" class="w100 aR" th:value="*{dispOrd}" maxlength="4"/>
 						</td>
 					</tr>
 					<tr>
@@ -477,7 +477,7 @@
 						</td>
 						<th>전시순서</th>
 						<td>
-							<input type="text" class="w100 aR" name="dispOrd"/>
+							<input type="text" class="w100 aR" name="dispOrd" maxlength="4"/>
 						</td>
 					</tr>
 					<tr>
@@ -1109,14 +1109,17 @@
 			return;
 		}
 
-		if (Number(stDate) < Number(toDate) && mode == 'N') {
-			mcxDialog.alert('시작일자는 오늘포함 이후로 등록해주세요.');
-			return;
-		}
+		// 21-07-21 출석체크에서는 오늘포함 체크하지 않도록 수정 요청 들어와 수정
+		if($('#planRegisterForm select[name="planGb"] option:selected').val() != 'C'){
+			if (Number(stDate) < Number(toDate) && mode == 'N') {
+				mcxDialog.alert('시작일자는 오늘포함 이후로 등록해주세요.');
+				return;
+			}
 
-		if (Number(edDate) < Number(toDate) && mode == 'N') {
-			mcxDialog.alert('종료일자는 오늘포함 이후로 등록해주세요.');
-			return;
+			if (Number(edDate) < Number(toDate) && mode == 'N') {
+				mcxDialog.alert('종료일자는 오늘포함 이후로 등록해주세요.');
+				return;
+			}
 		}
 		
 		if (newCustYn == "Y") {

+ 1 - 1
src/main/webapp/WEB-INF/views/marketing/PollListForm.html

@@ -772,7 +772,7 @@
 	}
 
 	function chkChar(obj){
-	    var RegExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+┼<>@\#$%&\'\"\\\(\=]/gi;	//정규식 구문
+	    var RegExp = /[\{\}\[\]\/;:|\)*`^\-_+┼<>@\#$%&\'\"\\\(\=]/gi;	//정규식 구문
 	    if (RegExp.test(obj.value)) {
 	      // 특수문자 모두 제거    
 	      obj.value = obj.value.replace(RegExp , '');

+ 2 - 2
src/main/webapp/WEB-INF/views/order/CnclReqForm.html

@@ -135,9 +135,9 @@
 							</td>
 						</tr>
 						<tr>
-							<th>요청메모</th>
+							<th>요청메모<br/><span id="dpLocAnsContent">0</span>/1,000Byte</th>
 							<td colspan="5">
-								<textarea id="chgMemo" name="chgMemo" style="height:80px;" placeholder="취소사유를 300자내외로 작성해 주세요"></textarea>
+								<textarea id="chgMemo" name="chgMemo" style="height:80px;" onkeyup="cfnGetTextLength(this, 1000, $('#dpLocAnsContent'));"></textarea>
 							</td>
 						</tr>
 					</tbody>

+ 53 - 34
src/main/webapp/WEB-INF/views/order/ExchangeRequestForm.html

@@ -78,9 +78,9 @@
 							<td id="addDelvFee" colspan="3"></td>
 						</tr>
 						<tr>
-							<th>요청메모</th>
+							<th>요청메모<br/><span id="chgMemoCount">0</span>/1,000Byte</th>
 							<td colspan="5">
-								<textarea id="chgMemo" name="chgMemo" style="height:80px;" placeholder="교환사유를 300자내외로 작성해 주세요"></textarea>
+								<textarea id="chgMemo" name="chgMemo" style="height:80px;" onkeyup="cfnGetTextLength(this, 1000, $('#chgMemoCount'));"></textarea>
 							</td>
 						</tr>
 					</tbody>
@@ -130,9 +130,9 @@
 							</td>
 						</tr>
 						<tr>
-							<th>반품메모</th>
+							<th>반품메모<br/><span id="chgerRtnMemoCount">0</span>/1,000Byte</th>
 							<td colspan="3">
-								<textarea id="chgerRtnMemo" name="chgerRtnMemo" style="height:80px;" placeholder="반품메모(수거시요청사항)를 300자내외로 작성해 주세요"></textarea>
+								<textarea id="chgerRtnMemo" name="chgerRtnMemo" style="height:80px;" onkeyup="cfnGetTextLength(this, 1000, $('#chgerRtnMemoCount'));"></textarea>
 							</td>
 						</tr>
 					</tbody>
@@ -182,9 +182,9 @@
 						</td>
 					</tr>
 					<tr>
-						<th>배송메모</th>
+						<th>배송메모<br/><span id="delvMemoCount">0</span>/1,000Byte</th>
 						<td colspan="3">
-							<textarea id="delvMemo" name="delvMemo" style="height:80px;" placeholder="배송메모를 300자내외로 작성해 주세요"></textarea>
+							<textarea id="delvMemo" name="delvMemo" style="height:80px;" onkeyup="cfnGetTextLength(this, 1000, $('#delvMemoCount'));"></textarea>
 						</td>
 					</tr>
 					</tbody>
@@ -254,8 +254,8 @@ var columnExchangeReqList = [
 			{headerName: "주문상세"		, field: "ordDtlNo"			, width: 80		, cellClass: 'text-center'},
 			{headerName: "주문상세"		, field: "ordDtlStat"		, width: 80		, cellClass: 'text-center', hide: temp1},
 			{headerName: "주문상세상태"		, field: "ordDtlStatNm"		, width: 100	, cellClass: 'text-center', hide: temp1},
-			{headerName: "상품코드"		, field: "goodsCd"			, width: 100	, cellClass: 'text-center', hide: temp1},
-			{headerName: "상품명"			, field: "goodsNm"			, width: 200	, cellClass: 'text-center', hide: temp1},
+			{headerName: "상품코드"		, field: "goodsCd"			, width: 100	, cellClass: 'text-center'},
+			{headerName: "상품명"			, field: "goodsNm"			, width: 200	, cellClass: 'text-center'},
 			{headerName: "상품타입"		, field: "goodsTypeNm"		, width: 100	, cellClass: 'text-center', hide: temp2}
 		]
 	},
@@ -263,14 +263,14 @@ var columnExchangeReqList = [
 		headerName	: "주문상세단품정보",
 		children	: [
 			{headerName: "단품번호"		, field: "ordDtlItemSq"		, width: 100	, cellClass: 'text-center', hide: temp2},
-			{headerName: "단품코드"		, field: "itemCd"			, width: 100	, cellClass: 'text-center', hide: temp2},
-			{headerName: "단품명"			, field: "itemNm"			, width: 200	, cellClass: 'text-center', hide: temp2},
-			{headerName: "옵션1"			, field: "optCd1"			, width: 80		, cellClass: 'text-center', hide: temp1},
-			{headerName: "옵션2"			, field: "optCd2"			, width: 80		, cellClass: 'text-center', hide: temp2},
+			{headerName: "단품코드"		, field: "itemCd"			, width: 100	, cellClass: 'text-center'},
+			{headerName: "단품명"			, field: "itemNm"			, width: 200	, cellClass: 'text-center'},
+			{headerName: "옵션1"			, field: "optCd1"			, width: 60		, cellClass: 'text-center'},
+			{headerName: "옵션2"			, field: "optCd2"			, width: 60		, cellClass: 'text-center'},
 			{
 				headerName		: "단품수량"
 				, field			: "itemQty"
-				, width			: 80
+				, width			: 60
 				, cellClass		: 'text-center'
 				, cellRenderer	: function (params) {
 					return params.value.addComma();
@@ -288,7 +288,7 @@ var columnExchangeReqList = [
 			{
 				headerName		: "단품옵션금액"
 				, field			: "optAddPrice"
-				, width			: 80
+				, width			: 90
 				, cellClass		: 'text-right'
 				, cellRenderer	: function (params) {
 					return params.value.addComma();
@@ -302,7 +302,7 @@ var columnExchangeReqList = [
 			{
 				headerName		: "주문"
 				, field			: "ordQty"
-				, width			: 80
+				, width			: 70
 				, cellClass		: 'text-center'
 				, cellRenderer	: function (params) {
 					return params.value.addComma();
@@ -311,7 +311,7 @@ var columnExchangeReqList = [
 			{
 				headerName		: "취소/요청"
 				, field			: "cnclRtnQty"
-				, width			: 80
+				, width			: 70
 				, cellClass		: 'text-center'
 				, cellRenderer	: function (params) {
 					var cnclRtnReqQty = parseInt(params.data.cnclRtnQty) + parseInt(params.data.ordReqChgQty);
@@ -585,6 +585,7 @@ var columnDelvCdList = [
 		, cellRenderer	: function (params) {
 			return params.value.addComma();
 		}
+		, hide			: true
 	},
 	{headerName: "반품지명"		, field: "rtnLocNm"			, width: 100	, cellClass: 'text-center'},
 	{headerName: "반품지전화번호"	, field: "rtnLocTelno"		, width: 100	, cellClass: 'text-center'},
@@ -703,20 +704,39 @@ var fnExchange = function () {
 	}
 
 	// 5. 회수지정보설정
+	var chgerNm			= "";
+	var chgerZipcode	= "";
+	var chgerBaseAddr	= "";
+	var chgerDtlAddr	= "";
+	
+	var chgerPhnno1		= "";
+	var chgerPhnno2		= "";
+	var chgerPhnno3		= "";
+	
+	var chgerTelno1		= "";
+	var chgerTelno2		= "";
+	var chgerTelno3		= "";
+	
+	var chgerPhnno 		= "";
+	var chgerTelno 		= "";
+	var chgerEmail 		= "";
+	var chgerRtnMemo	= "";
+
 	if (wdGb == 'W') {
-		var chgerNm			= $("#exchangeRequestFrm input[name=chgerNm]").val();
-		var chgerZipcode	= $("#exchangeRequestFrm input[name=chgerZipcode]").val();
-		var chgerBaseAddr	= $("#exchangeRequestFrm input[name=chgerBaseAddr]").val();
-		var chgerDtlAddr	= $("#exchangeRequestFrm input[name=chgerDtlAddr]").val();
+		chgerNm			= $("#exchangeRequestFrm input[name=chgerNm]").val();
+		chgerZipcode	= $("#exchangeRequestFrm input[name=chgerZipcode]").val();
+		chgerBaseAddr	= $("#exchangeRequestFrm input[name=chgerBaseAddr]").val();
+		chgerDtlAddr	= $("#exchangeRequestFrm input[name=chgerDtlAddr]").val();
 		
-		var chgerPhnno1		= $("#exchangeRequestFrm select[name=chgerPhnno1]").val();
-		var chgerPhnno2		= $("#exchangeRequestFrm input[name=chgerPhnno2]").val();
-		var chgerPhnno3		= $("#exchangeRequestFrm input[name=chgerPhnno3]").val();
+		chgerPhnno1		= $("#exchangeRequestFrm select[name=chgerPhnno1]").val();
+		chgerPhnno2		= $("#exchangeRequestFrm input[name=chgerPhnno2]").val();
+		chgerPhnno3		= $("#exchangeRequestFrm input[name=chgerPhnno3]").val();
 		
-		var chgerTelno1		= $("#exchangeRequestFrm select[name=chgerTelno1]").val();
-		var chgerTelno2		= $("#exchangeRequestFrm input[name=chgerTelno2]").val();
-		var chgerTelno3		= $("#exchangeRequestFrm input[name=chgerTelno3]").val();
-	
+		chgerTelno1		= $("#exchangeRequestFrm select[name=chgerTelno1]").val();
+		chgerTelno2		= $("#exchangeRequestFrm input[name=chgerTelno2]").val();
+		chgerTelno3		= $("#exchangeRequestFrm input[name=chgerTelno3]").val();
+
+		chgerRtnMemo	= $("#exchangeRequestFrm textarea[name=chgerRtnMemo]").val();
 		if (gagajf.isNull(chgerZipcode)) {
 			mcxDialog.alert("회수지주소를 입력하세요."); return;
 		}
@@ -737,9 +757,8 @@ var fnExchange = function () {
 			mcxDialog.alert("휴대전화를 입력하세요."); return;
 		}
 	
-		var chgerPhnno 		= chgerPhnno1 + '-' + chgerPhnno2 + '-' + chgerPhnno3;
-		var chgerEmail 		= orderInfoList[0].ordEmail;
-		var chgerTelno;
+		chgerPhnno 		= chgerPhnno1 + '-' + chgerPhnno2 + '-' + chgerPhnno3;
+		chgerEmail 		= orderInfoList[0].ordEmail;
 		if (gagajf.isNull(chgerTelno1) && gagajf.isNull(chgerTelno2) && gagajf.isNull(chgerTelno3)) {
 			chgerTelno 		= '';
 		} else {
@@ -808,7 +827,7 @@ var fnExchange = function () {
 		,"chgerDtlAddr"		: chgerDtlAddr
 		,"chgerPhnno"		: chgerPhnno
 		,"chgerTelno"		: chgerTelno
-		,"chgerRtnMemo"		: $("#exchangeRequestFrm textarea[name=chgerRtnMemo]").val()
+		,"chgerRtnMemo"		: chgerRtnMemo
 		,"recipNm"			: recipNm
 		,"recipEmail"		: recipEmail
 		,"recipZipcode"		: recipZipcode
@@ -987,7 +1006,7 @@ var fnChangeOption = function(param) {
 		}
 	});
 
-	gridOptionsExchangeReqList.api.setRowData(cancelRequestTargetList);
+	//gridOptionsExchangeReqList.api.setRowData(cancelRequestTargetList);
 }
 
 // 교환수량 변경 이벤트
@@ -998,7 +1017,7 @@ var fnChangeQty = function(param) {
 
 	$.each(cancelRequestTargetList, function(idx, item){
 		if (item.ordDtlNo == ordDtlNo) {
-			if (gagajf.isNull(item.ordChgOpt)) {
+			if (gagajf.isNull(item.ordChgOpt) && chgQty > 0) {
 				mcxDialog.alert('교환옵션을 선택해주세요.');
 				return false;
 			}
@@ -1021,7 +1040,7 @@ var fnChangeQty = function(param) {
 	// 교환대상목록 설정
 	exchangeRequestList = exchangeRequestTargetList;
 
-	gridOptionsExchangeReqList.api.setRowData(cancelRequestTargetList);
+	//gridOptionsExchangeReqList.api.setRowData(cancelRequestTargetList);
 }
 
 // 추가배송비 설정

+ 8 - 3
src/main/webapp/WEB-INF/views/order/OrderDetailForm.html

@@ -782,8 +782,8 @@ var columnDefsOrderChangeInfo = [
 	},
 	{headerName: "요청상태"		, field: "chgStatNm"	, width: 100	, cellClass: 'text-center'},
 	{headerName: "상품코드"		, field: "goodsCd"		, width: 100	, cellClass: 'text-center'},
-	{headerName: "옵션1"			, field: "colorNm"		, width: 100	, cellClass: 'text-center'},
-	{headerName: "옵션2"			, field: "optCd2"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "옵션1"			, field: "colorNm"		, width: 100	, cellClass: 'text-center', hide : true},
+	{headerName: "옵션2"			, field: "optCd2"		, width: 100	, cellClass: 'text-center', hide : true},
 	{headerName: "수량"			, field: "chgQty"		, width: 100	, cellClass: 'text-center'},
 	{
 		headerName		: "요청일자"		
@@ -798,7 +798,12 @@ var columnDefsOrderChangeInfo = [
 	{
 		headerName: "회수구분", field: "wdGb", width: 100, cellClass: 'text-center',
 		cellRenderer: function (params) {
-			return params.value == 'W' ? '회수요청' : '직접배송'; 
+			var rtnStr = "";
+			if (params.data.chgGb == 'G680_30' || params.data.chgGb == 'G680_40') {
+				rtnStr = params.value == 'W' ? '회수요청' : '직접배송';
+			}
+
+			return rtnStr;
 		}
 	},
 	{headerName: "요청메모"		, field: "chgMemo"		, width: 150	, cellClass: 'text-left'},

+ 47 - 13
src/main/webapp/WEB-INF/views/order/RtnReqForm.html

@@ -34,10 +34,15 @@
 
 				<h4 id="h4OrderCancelRequestToBeList">반품정보</h4>
 				<div id="gridOrderCancelRequestToBeList" style="width:100%; height: 200px;" class="ag-theme-balham"></div>
-				
-				<h4 id="h4DelvCdList">배송비정보</h4>
-				<div id="gridDelvCdList" style="width:100%; height: 140px;" class="ag-theme-balham"></div>
-				
+
+				<div id="delvCdList">
+					<h4>배송정보</h4>
+					<div id="gridDelvCdList" style="width:100%; height: 140px;" class="ag-theme-balham"></div>
+				</div>
+
+				<h4 id="h4DelvInfoList">배송비정보</h4>
+				<div id="gridDelvInfoList" style="width:100%; height: 140px;" class="ag-theme-balham"></div>
+
 				<div style="text-align:right; padding-bottom:5px; padding-top:5px;">
 					<button type="button" class="btn btn-success" id="rtnReqBtn" onclick="fnCnclReq('rtnReq');">반품신청</button>
 					<button type="button" class="btn btn-success" id="rtnReqCancelBtn" onclick="fnCnclReq('rtnReqCancel');">반품철회</button>
@@ -72,9 +77,9 @@
 							<td><span id="imputeReason"></span></td>
 						</tr>
 						<tr>
-							<th>요청메모</th>
+							<th>요청메모<br/><span id="chgMemoCount">0</span>/1,000Byte</th>
 							<td colspan="5">
-								<textarea id="chgMemo" name="chgMemo" style="height:80px;" placeholder="취소사유를 300자내외로 작성해 주세요"></textarea>
+								<textarea id="chgMemo" name="chgMemo" style="height:80px;" onkeyup="cfnGetTextLength(this, 1000, $('#chgMemoCount'));"></textarea>
 							</td>
 						</tr>
 					</tbody>
@@ -182,9 +187,9 @@
 								</td>
 							</tr>
 							<tr>
-								<th>반품메모</th>
+								<th>반품메모<br/><span id="chgerRtnMemoCount">0</span>/1,000Byte</th>
 								<td colspan="3">
-									<textarea id="chgerRtnMemo" name="chgerRtnMemo" style="height:80px;" placeholder="반품메모(수거시요청사항)를 300자내외로 작성해 주세요"></textarea>
+									<textarea id="chgerRtnMemo" name="chgerRtnMemo" style="height:80px;" onkeyup="cfnGetTextLength(this, 1000, $('#chgerRtnMemoCount'));"></textarea>
 								</td>
 							</tr>
 						</tbody>
@@ -756,7 +761,7 @@ var columnCancelReqToBeList = [
 var gridOptionsCancelReqToBeList = gagaAgGrid.getGridOptions(columnCancelReqToBeList);
 
 // 3. 배송비정보(환불정보)
-var columnDelvCdList = [
+var columnDelvInfoList = [
 	{
 		headerName	: "배송코드기준금액",
 		children	: [
@@ -859,6 +864,28 @@ var columnDelvCdList = [
 		]
 	}
 ];
+var gridOptionsDelvInfoList = gagaAgGrid.getGridOptions(columnDelvInfoList);
+
+// 3. 배송정보(환불정보)
+var columnDelvCdList = [
+	{headerName: "업체"			, field: "supplyCompNm"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "배송비코드"		, field: "delvFeeCd"		, width: 100	, cellClass: 'text-center'},
+	{
+		headerName		: "추가배송비"
+		, field			: "addDelvFee"
+		, width			: 100
+		, cellClass		: 'text-right'
+		, cellRenderer	: function (params) {
+			return params.value.addComma();
+		}
+		, hide			: true
+	},
+	{headerName: "반품지명"		, field: "rtnLocNm"			, width: 100	, cellClass: 'text-center'},
+	{headerName: "반품지전화번호"	, field: "rtnLocTelno"		, width: 100	, cellClass: 'text-center'},
+	{headerName: "반품지우편번호"	, field: "rtnLocZipcode"	, width: 100	, cellClass: 'text-center'},
+	{headerName: "반품지기본주소"	, field: "rtnLocBaseAddr"	, width: 300	, cellClass: 'text-center'},
+	{headerName: "반품지상세주소"	, field: "rtnLocDtlAddr"	, width: 300	, cellClass: 'text-center'},
+];
 var gridOptionsDelvCdList = gagaAgGrid.getGridOptions(columnDelvCdList);
 </script>
 
@@ -944,7 +971,7 @@ var fnCalculateRefundAmt = function (obj) {
 			});
 			
 			gridOptionsCancelReqToBeList.api.setRowData(result.cancelOrderRefundList);
-			gridOptionsDelvCdList.api.setRowData(result.cancelDelvRefundList);
+			gridOptionsDelvInfoList.api.setRowData(result.cancelDelvRefundList);
 			
 			let spanSumDeliveryFee = result.spanSumDeliveryFee - result.spanDelvCpnDcAmt;
 			let sumDeliveryFee = result.sumDeliveryFee - result.spanRefundDelvCpnAmt;
@@ -1342,8 +1369,10 @@ var fnChangeWdGb = function(param) {
 	// 회수지정보 히든 처리
 	if (wdGb == 'D') {
 		$('#chgerAddress').css('display', 'none');
+		$('#delvCdList').css('display', '');
 	} else {
 		$('#chgerAddress').css('display', '');
+		$('#delvCdList').css('display', 'none');
 	}
 	
 	// 환불예정금액 계산
@@ -1438,9 +1467,11 @@ $(document).ready(function() {
 	// 1. 그리드생성
 	gagaAgGrid.createGrid('gridOrderCancelRequestList'		, gridOptionsCancelReqList);			// 주문정보
 	gagaAgGrid.createGrid('gridOrderCancelRequestToBeList'	, gridOptionsCancelReqToBeList);		// 취소정보
-	gagaAgGrid.createGrid('gridDelvCdList'					, gridOptionsDelvCdList);				// 배송비정보
+	gagaAgGrid.createGrid('gridDelvInfoList'				, gridOptionsDelvInfoList);				// 배송비정보
+	gagaAgGrid.createGrid('gridDelvCdList'					, gridOptionsDelvCdList);				// 배송정보
 	
 	gridOptionsCancelReqList.api.setRowData(cancelRequestTargetList);
+	gridOptionsDelvCdList.api.setRowData(rtnLocInfo);
 	
 	// 1.1 TOTAL ROWS 없애기
 	gagaAgGrid.hideStatusBar('gridOrderCancelRequestList');
@@ -1452,6 +1483,7 @@ $(document).ready(function() {
 		$('input:radio[name="wdGb"]:radio[value="D"]').prop('checked', true);
 	} else {
 		$('input:radio[name="wdGb"]:radio[value="W"]').prop('checked', true);
+		$('#delvCdList').css('display', 'none');
 	}
 	
 	// 3. 무통장입금아닐때 환불계좌 목록 숨김처리
@@ -1490,6 +1522,8 @@ $(document).ready(function() {
 		// 직접발송일때 회수지정보 숨김처리
 		if (wdGb == "D") {
 			$("#chgerAddress").css("display", "none");
+		} else {
+			$('#delvCdList').css('display', 'none');
 		}
 	} else {
 		$("#rtnReqCompleteBtn").css("display", "none");
@@ -1512,8 +1546,8 @@ $(document).ready(function() {
 	if (temp3) {
 		$("#h4OrderCancelRequestToBeList").css("display"	, "none");
 		$("#gridOrderCancelRequestToBeList").css("display"	, "none");
-		$("#h4DelvCdList").css("display"					, "none");
-		$("#gridDelvCdList").css("display"					, "none");
+		$("#h4DelvInfoList").css("display"					, "none");
+		$("#gridDelvInfoList").css("display"				, "none");
 	}
 	
 	// 7. 환불예상금액계산

+ 5 - 2
src/main/webapp/WEB-INF/views/shoplinker/ShoplinkerGoodsSendForm.html

@@ -29,7 +29,7 @@
 			<!-- 검색조건 영역 -->
 			<div class="panelStyle">
 				<div class="panelTitle">
-					<h3><i class="fa fa-info-circle"></i>아래 검색조건 중 상품코드나 등록일을 꼭 입력해 주세요.</h3>
+					<h3><i class="fa fa-info-circle"></i>아래 검색조건 중 상품코드나 등록일을 꼭 입력해 주세요. -V1</h3>
 					<span class="panelControl">
 						<i class="fa fa-chevron-up"></i>
 					</span>
@@ -158,7 +158,10 @@
 		{headerName: "IF결과", field: "apiResult", width: 100, cellClass: 'text-center',
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(procGbValue, params.value); }
 		},
-		{headerName: "IF결과메세지", field: "apiMessage", width: 300, cellClass: 'text-left'},
+		{
+			headerName: "IF결과메세지", field: "apiMessage", width: 300, cellClass: 'text-left',
+			cellRenderer: function (params) { return params.value}
+		},
 		{headerName: "자사 상품코드", field: "goodsCd", width: 150, cellClass: 'text-center'},
 		{headerName: "옵션코드", field: "optCd", width: 150, cellClass: 'text-center'},
 		{headerName: "상품명", field: "goodsNm", width: 300, cellClass: 'text-left'

+ 2 - 2
src/main/webapp/WEB-INF/views/system/MenuForm.html

@@ -153,7 +153,7 @@
 								<tr>
 									<th>표시순서<i class="required" title="필수" aria-hidden="true"></i></th>
 									<td>
-										<input type="text" class="w100 text-right" name="dispOrd" placeholder="" maxlength="5" required="required" data-valid-type="numeric" data-valid-name="표시순서" />
+										<input type="text" class="w100 text-right" name="dispOrd" placeholder="" maxlength="4" required="required" data-valid-type="numeric" data-valid-name="표시순서" />
 									</td>
 									<th>사용여부</th>
 									<td>
@@ -251,7 +251,7 @@
 								<tr>
 									<th>표시순서<i class="required" title="필수" aria-hidden="true"></i></th>
 									<td>
-										<input type="text" class="w100 text-right" name="dispOrd" placeholder="" maxlength="5" required="required" data-valid-type="numeric" data-valid-name="표시순서" />
+										<input type="text" class="w100 text-right" name="dispOrd" placeholder="" maxlength="4" required="required" data-valid-type="numeric" data-valid-name="표시순서" />
 									</td>
 									<th>사용여부<i class="required" title="필수" aria-hidden="true"></i></th>
 									<td>