Przeglądaj źródła

전시 - 카테고리별 상품전시 개발중

bin2107 5 lat temu
rodzic
commit
a053c58116

+ 83 - 7
src/main/webapp/WEB-INF/views/display/CategoryGoodsForm.html

@@ -107,10 +107,13 @@
 			</li>
 		</ul>
 	</div>
-
+	</form>
 	<!-- 상품이동/복사 -->
 	<div class="panelStyle" id="addCategory" style="display:none">
 		<form id="saveForm" name="saveForm" action="#" th:action="@{'/display/goods/category/save'}">
+			<input type="hidden" name="addSearchGb"/>
+			<input type="hidden" naem="addLeafYn" id="addLeafYn" value="N"/>
+			<input type="hidden" name="addSelLvl"/>
 			<ul class="panelBar">
 				<li>
 					<strong>* 상품 선택 후 하단 leaf 카테고리 선택시 상품이동/ 상품복사 가능합니다.</strong>
@@ -138,21 +141,37 @@
 				</tr>
 				<tr>
 					<td>
-						<select>
+						<select name="addCateGb" id="cateLvl1" onchange="fnChangeAddCategory($(this).val(), 1);">
 							<option value="">[카테고리구분]</option>
 							<option th:if="${cateGbList}" th:each="oneData, status : ${cateGbList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 						</select>
 					</td>
-					<td>2</td>
-					<td>3</td>
-					<td>4</td>
-					<td>5</td>
+					<td>
+						<select name="addCate1No" id="cateLvl2" onchange="fnChangeAddCategory($(this).val(), 2);">
+							<option value="">[카테고리1]</option>
+						</select>
+					</td>
+					<td>
+						<select name="addCate2No" id="cateLvl3" onchange="fnChangeAddCategory($(this).val(), 3);">
+							<option value="">[카테고리2]</option>
+						</select>
+					</td>
+					<td>
+						<select name="addCate3No" id="cateLvl4" onchange="fnChangeAddCategory($(this).val(), 4);">
+							<option value="">[카테고리3]</option>
+						</select>
+					</td>
+					<td>
+						<select name="addCate4No" id="cateLvl5" onchange="fnChangeAddCategory($(this).val(), 5);">
+							<option value="">[카테고리4]</option>
+						</select>
+					</td>
 				</tr>
 			</table>
 		</form>
 	</div>
 	<!-- 상품이동/복사 -->
-	</form>
+
 </div>
 <script type="text/javascript" src="/ux/plugins/gaga/gaga.paging.js?v=2019072202"></script>
 <script th:inline="javascript">
@@ -190,6 +209,63 @@
 	let gridOptions = gagaAgGrid.getGridOptions(columnDefs1);
 	gridOptions.rowSelection = "multiple";
 
+	/**
+	 * 상품이동/복사 폼의 카테고리 선택 시
+	 */
+	var fnChangeAddCategory = function (val, selLvl){
+		if(gagajf.isNull(val)){
+			if(selLvl > 1){
+				selLvl = selLvl - 1;
+			}else{
+				selLvl = 1;
+			}
+		}
+
+		$("#saveForm input[name=addSelLvl]").val(selLvl);
+		$("#saveForm input[name=addSearchGb]").val("BASIC");
+
+		var data = { siteCd : 'G000_10'
+			, selLvl : selLvl
+			, cateGb : $('#saveForm select[name=addCateGb]').val()
+			, cate1No : $('#saveForm select[name=addCate1No]').val()
+			, cate2No : $('#saveForm select[name=addCate2No]').val()
+			, cate3No : $('#saveForm select[name=addCate3No]').val()
+			, cate4No : $('#saveForm select[name=addCate4No]').val()
+			, searchGb : $("#saveForm input[name=addSearchGb]").val()
+		};
+
+		var jsonData = JSON.stringify(data);
+		gagajf.ajaxJsonSubmit('/display/category/list', jsonData, fnChangeAddCate);
+	}
+
+	// 상품이동/복사 폼의 카테고리 선택 후 데이터 뿌려줌
+	var fnChangeAddCate = function (data){
+		let selLvl = Number($('#saveForm input[name=addSelLvl]').val()) + 1;
+		for (let i = 2; i <= 5; i++) {
+			if (i >= selLvl) {
+				$('#cateLvl' + i).html('<option value="">[카테고리' + (i - 1) + ']</option>');
+			}
+		}
+
+		let tag = '';
+		for (let i = 0; i < data.length; i++) {
+			if (data[i].useYn == 'Y') {
+				tag += '<option value="' + data[i].cateNo + '">[' + data[i].cateNo + '] ' + data[i].cateNm + '</option>';
+			}
+		}
+
+		$("#cateLvl" + selLvl).append(tag);
+
+		if(selLvl > 2){
+			if(data.length<1){
+				$("#addLeafYn").val('Y');
+			}else{
+				$("#addLeafYn").val('N');
+			}
+			$('#saveForm input[name=addSelLvl]').val(selLvl);
+		}
+	}
+
 	/**
 	 * 검색폼의 카테고리 선택 시
 	 */