diff --git a/WebContent/WEB-INF/view/partMng/structureAscendingList.jsp b/WebContent/WEB-INF/view/partMng/structureAscendingList.jsp index 78ecd16..9005caa 100644 --- a/WebContent/WEB-INF/view/partMng/structureAscendingList.jsp +++ b/WebContent/WEB-INF/view/partMng/structureAscendingList.jsp @@ -26,6 +26,48 @@ $(document).ready(function(){ debug: false // 디버깅 모드 비활성화 }); + // Select2 선택 시 텍스트 저장 + $('#search_partNo').on('select2:select', function (e) { + var data = e.params.data; + $('#search_partNo_text').val(data.text); + }); + + $('#search_partName').on('select2:select', function (e) { + var data = e.params.data; + $('#search_partName_text').val(data.text); + }); + + // 이전 검색 조건 복원 + setTimeout(function(){ + var prevPartNoText = '${param.search_partNo_text}'; + var prevPartNameText = '${param.search_partName_text}'; + var prevPartNo = '${param.search_partNo}'; + var prevPartName = '${param.search_partName}'; + var prevPartObjId = '${param.search_partObjId}'; + + console.log("=== 검색 조건 복원 ==="); + console.log("prevPartNoText:", prevPartNoText); + console.log("prevPartNameText:", prevPartNameText); + console.log("prevPartNo:", prevPartNo); + console.log("prevPartName:", prevPartName); + console.log("prevPartObjId:", prevPartObjId); + + // 품번과 품명은 같은 OBJID를 사용하므로, 둘 중 하나만 복원 + if(prevPartNoText && prevPartNo){ + // 품번이 선택되어 있었던 경우 + console.log("품번 복원:", prevPartNoText, prevPartNo); + var newOption = new Option(prevPartNoText, prevPartNo, true, true); + $('#search_partNo').append(newOption).trigger('change'); + $('#search_partObjId').val(prevPartNo); + } else if(prevPartNameText && prevPartName){ + // 품명이 선택되어 있었던 경우 + console.log("품명 복원:", prevPartNameText, prevPartName); + var newOption = new Option(prevPartNameText, prevPartName, true, true); + $('#search_partName').append(newOption).trigger('change'); + $('#search_partObjId').val(prevPartName); + } + }, 500); + $("#mainGrid").jqGrid({ height : 630, colNames : headerNames, @@ -82,12 +124,30 @@ $(document).ready(function(){ //정전개 조회 $("#btnSearchAscending").click(function(){ + // 품번 또는 품명 필수 체크 + var partNo = $.trim($("#search_partNo").val()); + var partName = $.trim($("#search_partName").val()); + + if(!partNo && !partName){ + Swal.fire('품번 또는 품명을 선택해 주세요'); + return; + } + $("#searchType").val("ascending"); fn_search(); }); //역전개 조회 $("#btnSearchDescending").click(function(){ + // 품번 또는 품명 필수 체크 + var partNo = $.trim($("#search_partNo").val()); + var partName = $.trim($("#search_partName").val()); + + if(!partNo && !partName){ + Swal.fire('품번 또는 품명을 선택해 주세요'); + return; + } + $("#searchType").val("descending"); fn_search(); }); @@ -100,18 +160,43 @@ $(document).ready(function(){ fn_excelExport($("#mainGrid"),"BOM_REPORT_정전개"); }); - var search_level = '${param.search_level}'; - $(".dataTr").each(function(i){ - var lev = $(this).attr("data-LEVEL"); - //if(lev == 1){ //1level만 활성화 - if(!fnc_isEmpty(search_level)){ //검색조건 LEVEL까지만 활성화 - if(Number(lev) <= Number(search_level)){ //검색조건 LEVEL까지만 활성화 - $(this).show(); + // 초기 로딩 시 레벨에 따라 표시 (검색 결과 기준) + setTimeout(function(){ + var searchLevel = '${param.search_level}'; // 검색 조건의 레벨 + + // 최소 레벨 찾기 + var minLevel = 999; + $(".dataTr").each(function(){ + var lev = parseInt($(this).attr("data-LEVEL")); + if(lev < minLevel){ + minLevel = lev; } - }else{ - $(this).show(); //전체 펼치기 + }); + + // 표시할 최대 레벨 결정 + var maxDisplayLevel = minLevel; // 기본값: 최소 레벨만 + if(searchLevel && searchLevel != ''){ + maxDisplayLevel = parseInt(searchLevel); } - }); + + console.log("최소 레벨:", minLevel, "표시할 최대 레벨:", maxDisplayLevel); + + // 지정된 레벨까지 표시 + $(".dataTr").each(function(){ + var lev = parseInt($(this).attr("data-LEVEL")); + if(lev <= maxDisplayLevel){ + $(this).show(); + + // 표시된 항목 중 하위가 있고 아직 펼쳐지지 않은 항목은 Minus 아이콘으로 변경 + if(lev < maxDisplayLevel){ + var $img = $(this).find(".btnToggle"); + if($img.length > 0 && $img.attr("src").indexOf("Plus") > -1){ + $img.attr("src", "/images/btnMinus.png"); + } + } + } + }); + }, 100); // DOM 로딩 대기 /* //클릭시 하위정보를 토글한다. $(".dataTr").click(function(){ @@ -707,6 +792,8 @@ function fn_excelExport(pGridObj,pFileName){ + +
-
-
-