소스 검색

Merge remote-tracking branch 'origin/develop' into xodud1202

xodud lee 5 년 전
부모
커밋
b8be71e1c8

+ 12 - 16
src/main/java/com/style24/admin/biz/web/TsaOrderChangeController.java

@@ -232,14 +232,10 @@ public class TsaOrderChangeController extends TsaBaseController {
 	 * @since 2020. 12. 22
 	 */
 	@GetMapping("/rtn/req/form")
-	public ModelAndView rtnReqForm(@RequestParam(value = "ordNo") int ordNo, @RequestParam(value = "ordChgSq") int ordChgSq) {
+	public ModelAndView rtnReqForm(Order order) {
 
-		Order order = new Order();
 		ModelAndView mav = new ModelAndView();
-		
-		order.setOrdNo(ordNo);
-		order.setOrdChgSq(ordChgSq);
-		
+
 		// 반품가능 주문상세상탭값 설정
 		String[] ordDtlStatArr = new String[3];
 		ordDtlStatArr[0] = TscConstants.OrderDetailStat.SHIPPING.value();
@@ -252,7 +248,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 		List<Order> orderChangeDetailList 			= orderChangeService.getOrderChangeDetailList(order);
 		Collection<Order> orderInfoList 			= orderService.getOrderInfoList(order);
 
-		if (ordChgSq > 0) {
+		if (order.getOrdChgSq() > 0) {
 			Collection<Order> exchangeInfoList = orderChangeService.getExchangeInfo(order);
 			mav.addObject("exchangeInfoList"		, exchangeInfoList);								// 교환정보
 		}
@@ -262,8 +258,8 @@ public class TsaOrderChangeController extends TsaBaseController {
 		mav.addObject("chgReasonList"				, rendererService.getAvailCommonCodeList("G688"));				// 취소사유
 		mav.addObject("cancelRequestTargetList"		, cancelRequestTargetList);										// 취소요청대상 목록
 		mav.addObject("orderInfoList"				, orderInfoList);												// 주문정보
-		mav.addObject("ordNo"						, ordNo);														// 주문번호
-		mav.addObject("ordChgSq"					, ordChgSq);													// 주문변경번호
+		mav.addObject("ordNo"						, order.getOrdNo());											// 주문번호
+		mav.addObject("ordChgSq"					, order.getOrdChgSq());											// 주문변경번호
 		mav.addObject("orderChangeDetailList"		, orderChangeDetailList);										// 변경신청목록 (취소/반품/교환)
 		
 		mav.addObject("orderDelvRtnAddrInfo"		, orderService.getDeliveryAddrList(order));						// 배송정보
@@ -492,13 +488,13 @@ public class TsaOrderChangeController extends TsaBaseController {
 	 * @since 2021. 01. 14
 	 */
 	@GetMapping("/exchange/request/form")
-	public ModelAndView exchangeRequestFrom(@RequestParam(value = "ordNo") int ordNo, @RequestParam(value = "ordChgSq") int ordChgSq) {
+	public ModelAndView exchangeRequestFrom(Order order) {
 
-		Order order = new Order();
+		// Order order = new Order();
 		ModelAndView mav = new ModelAndView();
 
-		order.setOrdNo(ordNo);
-		order.setOrdChgSq(ordChgSq);
+		// order.setOrdNo(ordNo);
+		// order.setOrdChgSq(ordChgSq);
 
 		// 교환가능 주문상세상탭값 설정
 		String[] ordDtlStatArr = new String[3];
@@ -510,7 +506,7 @@ public class TsaOrderChangeController extends TsaBaseController {
 		Collection<Order> cancelRequestTargetList = orderChangeService.getCancelRequestTargetList(order);
 		Collection<Order> orderInfoList = orderService.getOrderInfoList(order);
 
-		if (ordChgSq > 0) {
+		if (order.getOrdChgSq() > 0) {
 			Collection<Order> exchangeInfoList = orderChangeService.getExchangeInfo(order);
 			mav.addObject("exchangeInfoList"		, exchangeInfoList);								// 교환정보
 		}
@@ -518,8 +514,8 @@ public class TsaOrderChangeController extends TsaBaseController {
 		mav.addObject("chgReasonList"				, rendererService.getAvailCommonCodeList("G689"));	// 교환사유
 		mav.addObject("cancelRequestTargetList"		, cancelRequestTargetList);							// 교환요청대상 목록
 		mav.addObject("orderInfoList"				, orderInfoList);									// 주문정보
-		mav.addObject("ordNo"						, ordNo);											// 주문번호
-		mav.addObject("ordChgSq"					, ordChgSq);										// 주문변경번호
+		mav.addObject("ordNo"						, order.getOrdNo());								// 주문번호
+		mav.addObject("ordChgSq"					, order.getOrdChgSq());								// 주문변경번호
 		mav.addObject("orderDelvAddrInfo"			, orderService.getDeliveryAddrList(order));			// 배송정보
 		mav.addObject("TelExcNoList"				, rendererService.getAvailCommonCodeList("G095"));	// 전화번호국번
 		mav.addObject("PhnExcNoList"				, rendererService.getAvailCommonCodeList("G096"));	// (휴대전화)번호국번

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

@@ -299,19 +299,19 @@
 
 	let columnDefs = [
 		{width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
-		{headerName: "팝업일련번호", field: "popupSq", width: 150, cellClass: 'text-center'
+		{headerName: "팝업일련번호", field: "popupSq", width: 100, cellClass: 'text-center'
 			,cellRenderer: function(params) {
 				return '<a href="javascript:void(0);">' + params.value + '</a>';
 			}
 		},
-		{headerName: "적용여부", field: "displayYn", width: 150, cellClass: 'text-center'},
+		{headerName: "적용여부", field: "displayYn", width: 80, cellClass: 'text-center'},
 		{headerName: "전시위치", field: "viewPage", width: 150, cellClass: 'text-center'
 			,valueFormatter: function (params) { return !gagajf.isNull(params.value) ? "["+params.value+"] "+params.data.viewPageNm : '';}
 		},
-		{headerName: "카테고리", field: "cateNo", width: 150, cellClass: 'text-center'},
-		{headerName: "브랜드", field: "brandCd", width: 150, cellClass: 'text-center'},
-		{headerName: "기획전번호", field: "planSq", width: 150, cellClass: 'text-center'},
-		{headerName: "PC/모바일", field: "frontGb", width: 150, cellClass: 'text-center'
+		{headerName: "카테고리", field: "cateNo", width: 130, cellClass: 'text-center'},
+		{headerName: "브랜드", field: "brandCd", width: 130, cellClass: 'text-center'},
+		{headerName: "기획전번호", field: "planSq", width: 130, cellClass: 'text-center'},
+		{headerName: "PC/모바일", field: "frontGb", width: 100, cellClass: 'text-center'
 			,valueFormatter: function(params) {
 				if (params.data.frontGb == 'A') {
 					return '전체';
@@ -322,11 +322,20 @@
 				}
 			}
 		},
-		{headerName: "우선순위", field: "dispOrd", width: 150, cellClass: 'text-center'},
-		{headerName: "전시시작일", field: "dispStdt", width: 150, cellClass: 'text-center'},
-		{headerName: "전시시작시간", field: "dispStTime", width: 150, cellClass: 'text-center'},
-		{headerName: "전시종료일", field: "dispEddt", width: 150, cellClass: 'text-center'},
-		{headerName: "전시종료시간", field: "dispEdTime", width: 150, cellClass: 'text-center'},
+		{headerName: "팝업구분", field: "popupGb", width: 100, cellClass: 'text-center'
+			,valueFormatter: function(params) {
+				if (params.data.popupGb == 'F') {
+					return 'Full';
+				}else{
+					return 'Half';
+				}
+			}
+		},
+		{headerName: "우선순위", field: "dispOrd", width: 100, cellClass: 'text-center'},
+		{headerName: "전시시작일", field: "dispStdt", width: 100, cellClass: 'text-center'},
+		{headerName: "전시시작시간", field: "dispStTime", width: 100, cellClass: 'text-center'},
+		{headerName: "전시종료일", field: "dispEddt", width: 100, cellClass: 'text-center'},
+		{headerName: "전시종료시간", field: "dispEdTime", width: 100, cellClass: 'text-center'},
 		{headerName: "등록자", field: "regNm", width: 150, cellClass: 'text-center'},
 		{headerName: "등록일시", field: "regDt", width: 150, cellClass: 'text-center'}
 	];
@@ -372,7 +381,9 @@
 			$("#edTime").val(dispEdTime);
 			$("#edTimeHour").val(dispEdTime.substr(0,2));
 			$("#edTimeMin").val(dispEdTime.substr(2,2));
-
+			
+			$(formId + " input[name=linkUrl]").val(event.data.linkUrl1);
+			
 			var popupImg = event.data.imgUrl1;
 			if(!gagajf.isNull(popupImg)){
 				$(formId + " input[name=orgFileNm]").val(popupImg);

+ 61 - 0
src/main/webapp/WEB-INF/views/envset/BasicEnvsetForm.html

@@ -413,6 +413,44 @@
 					</tr>
 				</tbody>
 			</table>
+
+			<h4>[M10] 모바일앱</h4>
+			<button type="button" class="btn btn-success btn-ssm" onclick="fnSave('M10');">저장</button>
+			<button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('M10', '모바일앱');">이력보기</button>
+			<table class="frmStyle" aria-describedby="모바일앱">
+				<colgroup>
+					<col style="width: 15%;"/>
+					<col style="width: 85%;"/>
+				</colgroup>
+				<tbody>
+					<tr>
+						<th>AOS앱버전</th>
+						<td>
+							<input name="m10StrSetVal1" type="text" class="w100" maxlength="20" data-valid-name="AOS앱버전"/>
+						</td>
+					</tr>
+					<tr>
+						<th>IOS앱버전</th>
+						<td>
+							<input name="m10StrSetVal2" type="text" class="w100" maxlength="20" data-valid-name="IOS앱버전"/>
+						</td>
+					</tr>
+					<tr>
+						<th>스플래시이미지</th>
+						<td>
+							<div class="uFile w500">
+								<input type="file" id="m10StrSetVal3" name="m10StrSetVal3" class="uFileInput"/>
+								<label for="m10StrSetVal3" class="uFileLabel">스플래시 이미지 선택</label>
+								<input type="hidden" name="m10StrSetVal3OrgFileNm"/>
+								<input type="hidden" name="m10StrSetVal3SysFileNm"/>
+							</div>
+							<a id="m10StrSetVal3FileDownload" href="#" style="display: none;" onclick="fnDownloadFile('m10StrSetVal3');"></a>
+							<span class="infoTxt cBlue marL20"><i class="fa fa-info-circle" aria-hidden="true"></i>스플래시 이미지입니다</span>
+						</td>
+					</tr>
+				</tbody>
+			</table>
+
 		</div>
 	</div>
 
@@ -575,11 +613,29 @@
 						}
 					}
 				});
+
+		// 모바일앱
+		$.getJSON(actionUrl + '/M10'
+				, function(result, status) {
+					if (status === 'success') {
+						if (!gagajf.isNull(result)) {
+							$('input[name=m10StrSetVal1]').val(result.strSetVal1);
+							$('input[name=m10StrSetVal2]').val(result.strSetVal2);
+						}
+
+						if (!gagajf.isNull(result.strSetVal3)) {
+							$('input[name=m10StrSetVal3SysFileNm]').val(result.strSetVal3);
+							$('#m10StrSetVal3FileDownload').html(result.strSetVal3);
+							$('#m10StrSetVal3FileDownload').show();
+						}
+					}
+				});
 	}
 
 	// 파일첨부 선택 시
 	$('#b10StrSetVal4').on('change', function() { fnChooseFile(this); });
 	$('#b10StrSetVal6').on('change', function() { fnChooseFile(this); });
+	$('#m10StrSetVal3').on('change', function() { fnChooseFile(this); });
 
 	var fnChooseFile = function(obj) {
 		// multiple 속성이 있으면 files에는 다수의 객체가 할당됨
@@ -665,6 +721,11 @@
 			params.strSetVal1 = $('input[name=g14StrSetVal1]').val();
 			params.strSetVal2 = $('input[name=g14StrSetVal2]').val();
 			params.strSetVal3 = $('input[name=g14StrSetVal3]').val();
+		} else if (envsetType == 'M10') { // 모바일앱
+			params.envsetNm = '모바일앱';
+			params.strSetVal1 = $('input[name=m10StrSetVal1]').val();
+			params.strSetVal2 = $('input[name=m10StrSetVal2]').val();
+			params.strSetVal3 = $('input[name=m10StrSetVal3SysFileNm]').val();
 		}
 
 		var jsonData = JSON.stringify(params);

+ 9 - 8
src/main/webapp/WEB-INF/views/envset/EnvsetHistoryForm.html

@@ -212,14 +212,15 @@
 		{headerName: "등록일시", field: "regDt", width: 150, cellClass: 'text-center', cellRenderer: function (params) { return gagaAgGrid.toDateTimeFormat(params.value); }}
 	];
 
-// 	// 모바일앱
-// 	var columnDefsM10 = [
-// 		{headerName: 'No', width: 60, cellClass: 'text-center', valueGetter: function(params) { return params.node.rowIndex + 1 }},
-// 		{headerName: "AOS버전", field: "strSetVal1", width: 100, cellClass: 'text-center'},
-// 		{headerName: "IOS버전", field: "strSetVal2", width: 100, cellClass: 'text-center'},
-// 		{headerName: "등록자", field: "regNm", width: 100, cellClass: 'text-center'},
-// 		{headerName: "등록일시", field: "regDt", width: 150, cellClass: 'text-center', cellRenderer: function (params) { return gagaAgGrid.toDateTimeFormat(params.value); }}
-// 	];
+	// 모바일앱
+	var columnDefsM10 = [
+		{headerName: 'No', width: 60, cellClass: 'text-center', valueGetter: function(params) { return params.node.rowIndex + 1 }},
+		{headerName: "AOS버전", field: "strSetVal1", width: 100, cellClass: 'text-center'},
+		{headerName: "IOS버전", field: "strSetVal2", width: 100, cellClass: 'text-center'},
+		{headerName: "스플레시이미지", field: "strSetVal3", width: 200},
+		{headerName: "등록자", field: "regNm", width: 100, cellClass: 'text-center'},
+		{headerName: "등록일시", field: "regDt", width: 150, cellClass: 'text-center', cellRenderer: function (params) { return gagaAgGrid.toDateTimeFormat(params.value); }}
+	];
 
 	var columnDefsG12 = [
 		{headerName: 'No', width: 60, cellClass: 'text-center', valueGetter: function(params) { return params.node.rowIndex + 1 }},

+ 8 - 8
src/main/webapp/WEB-INF/views/goods/GoodsDealForm.html

@@ -79,11 +79,10 @@
 							</select>
 						</td>
 						<th>원산지<em class="required" title="필수"></em></th>
-						<td ><select name="makeOriginCd" id="makeOriginCd">
+						<td ><select name="originCd" id="originCd">
 								<option value="">[전체]</option>
 								<option th:if="${makOriginList}" th:each="oneData, status : ${makOriginList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
-							<input type="hidden" id="makeNm" name="makeNm" />
 						</td>
 						<td colspan="2"></td>
 					</tr>
@@ -94,6 +93,7 @@
 					<button type="button" class="btn btn-danger btn-lg" onclick="fnGoodsDealDeleteRow();">행삭제</button>
 				</li>
 				<li class="right">
+					<strong class="cRed">* 구성상품은 일반상품만 가능합니다.</strong>
 					<button type="button" class="btn btnRight btn-default btn-lg" onclick="cfnDownloadSampleFile('SF003');">상품엑셀조회 양식 다운로드</button>
 					<button type="button" class="btn btnRight btn-success btn-lg" id="btnGoodsDealSearchExcel" >엑셀조회</button>
 					<button type="button" class="btn btnRight btn-base btn-lg" onclick="fnOpenGoodsDealPopup();">구상상품추가</button>
@@ -379,11 +379,11 @@
 			return false;
 		}
 		
-		if(gagajf.isNull($("#goodsDealForm select[name=makeOriginCd]").val())){
+		if(gagajf.isNull($("#goodsDealForm select[name=originCd]").val())){
 			mcxDialog.alertC('원산지를 입력해 주세요.', {
 				sureBtnText: "확인",
 				sureBtnClick: function() {
-					$("#goodsDealForm select[name=makeOriginCd]").focus();
+					$("#goodsDealForm select[name=originCd]").focus();
 				}
 			});	
 			return false;
@@ -469,7 +469,7 @@
 				});	
 				return false;
 			}
-			
+			/*
 			if (comSelfGoodsYn != item.selfGoodsYn){
 				optCheck = true;
 				mcxDialog.alertC("구상상품중 자사/입점상품 구분값이 다릅니다.\n확인해 주세요", {
@@ -480,7 +480,7 @@
 				});	
 				return false;
 			}else{
-				/* if (comSelfGoodsYn == "N" && (comSupplyCompCd != item.supplyCompCd)){
+				if (comSelfGoodsYn == "N" && (comSupplyCompCd != item.supplyCompCd)){
 					optCheck = true;
 					mcxDialog.alertC("구상상품중 입점은 같은 업체 상품만 가능합니다.\n확인해 주세요", {
 						sureBtnText: "확인",
@@ -489,7 +489,7 @@
 						}
 					});	
 					return false;
-				} */
+				}
 				
 				if (comSelfGoodsYn == "N"){
 					optCheck = true;
@@ -513,7 +513,7 @@
 					return false;
 				}
 			}
-			
+			*/
 			goodsCnt++;
 		});
 		

+ 16 - 7
src/main/webapp/WEB-INF/views/goods/GoodsSetForm.html

@@ -88,7 +88,6 @@
 								<option value="">[전체]</option>
 								<option th:if="${originCdList}" th:each="oneData, status : ${originCdList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
-							<input type="hidden" id="makeNm" name="makeNm" />
 						</td>
 					</tr>
 					<tr>
@@ -147,7 +146,7 @@
 			valueFormatter: function (params) { return gagaAgGrid.lookupValue(useYnList, params.value); },
 			valueParser: function (params) { return gagaAgGrid.lookupKey(useYnList, params.newValue); }
 		},
-		{headerName: "상품판매가", field: "currPrice" , width: 120, cellClass: 'text-right', editable: true, required: true,
+		{headerName: "상품판매가", field: "currPrice" , width: 120, cellClass: 'text-right', 
 			cellEditor: 'textCellEditor',
 			cellEditorParams: { maxlength: 14, validType: 'numeric'}
 		},
@@ -241,6 +240,10 @@
 		var idx = oldGoodsSetList.length+1; 
 		var setGoodsCurrPrice = 0;
 		
+		gridGoodsSetOptions.api.forEachNode(function(rowNode, index) {
+			setGoodsCurrPrice += Number(rowNode.data.compsCurrPrice);
+		});
+		
 		var isExist = false;
 		goodsData.forEach(function(goods){
 			isExist = false;
@@ -255,11 +258,6 @@
 				if (goods.supplyCompCd != rowNode.data.supplyCompCd){
 					isExist = true;
 				}
-				
-				if (!gagajf.isNull(rowNode.data.compsCurrPrice)){
-					setGoodsCurrPrice += Number(rowNode.data.compsCurrPrice);
-				}
-				 
 			});
 
 			if (goods.goodsType != "G056_N"){
@@ -514,8 +512,19 @@
 			return;
 		}
 		
+		
 		//화면에서 삭제
 		var removedData = gagaAgGrid.removeRowData(gridGoodsSetOptions, false);
+		
+		var setGoodsCurrPrice = 0;
+		
+		gridGoodsSetOptions.api.forEachNode(function(rowNode, index) {
+			if (!gagajf.isNull(rowNode.data.compsCurrPrice)){
+				setGoodsCurrPrice += Number(rowNode.data.compsCurrPrice);
+			}
+		});
+		
+		$('#goodsSetForm').find('#setGoodsCurrPrice').html(setGoodsCurrPrice.addComma());
 	}
 	
 /*]]>*/

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

@@ -1154,14 +1154,14 @@ var fnReturnRequest = function (paramData, ordChgSq) {
 	param += "&delvFeeCdGrp="	+ paramArr[3];
 	param += "&ordChgSq=" 		+ ordChgSq;
 	
-	var actionUrl = "/orderChange/rtn/req/form?ordNo=" + ordNo + "&ordChgSq=" + ordChgSq;
+	var actionUrl = "/orderChange/rtn/req/form?" + param;
 	
 	cfnOpenModalPopup(actionUrl, 'popupReturnRequestForm');
 };
 
 // 교환요청
 var fnExchangeRequest = function (paramData, ordChgSq) {
-	
+	console.log(paramData);
 	// 취소요청 구분 (orChgSq null 이면 취소요청화면 있으면 취소요청정보화면)
 	if (ordChgSq == null) {
 		ordChgSq = 0;
@@ -1175,7 +1175,7 @@ var fnExchangeRequest = function (paramData, ordChgSq) {
 	param += "&delvFeeCdGrp="	+ paramArr[3];
 	param += "&ordChgSq=" 		+ ordChgSq;
 	
-	var actionUrl = "/orderChange/exchange/request/form?ordNo=" + ordNo + "&ordChgSq=" + ordChgSq;
+	var actionUrl = "/orderChange/exchange/request/form?" + param;
 	cfnOpenModalPopup(actionUrl, 'popupExchangeRequestForm');
 };