E-bom 조회 레벨 검색 추가
This commit is contained in:
@@ -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){
|
||||
<input type="hidden" name="search" id="search" value="Y">
|
||||
<input type="hidden" name="actionType" id="actionType" value="" />
|
||||
<input type="hidden" name="searchType" id="searchType" value="ascending" />
|
||||
<input type="hidden" name="search_partNo_text" id="search_partNo_text" value="${param.search_partNo_text}" />
|
||||
<input type="hidden" name="search_partName_text" id="search_partName_text" value="${param.search_partName_text}" />
|
||||
<div class="min_part_enroll">
|
||||
<div class="content-box">
|
||||
<div class=""> <!-- content-box-s -->
|
||||
@@ -766,16 +853,29 @@ function fn_excelExport(pGridObj,pFileName){
|
||||
<select name="search_partNo" id="search_partNo" class="select2-part" style="width: 100%;">
|
||||
<option value="">품번 선택</option>
|
||||
</select>
|
||||
<input type="hidden" name="search_partObjId" id="search_partObjId" value=""/>
|
||||
<input type="hidden" name="search_partObjId" id="search_partObjId" value="${param.search_partObjId}"/>
|
||||
</td>
|
||||
<td class="align_r">
|
||||
<label for="" class="">품명</label>
|
||||
</td>
|
||||
<td colspan="3">
|
||||
<td>
|
||||
<select name="search_partName" id="search_partName" class="select2-part" style="width: 100%;">
|
||||
<option value="">품명 선택</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="align_r">
|
||||
<label for="" class="">표시 레벨</label>
|
||||
</td>
|
||||
<td>
|
||||
<select name="search_level" id="search_level" class="select2" style="width: 100%;">
|
||||
<option value="">선택</option>
|
||||
<option value="1" ${param.search_level eq '1'?'selected':''}>1레벨</option>
|
||||
<option value="2" ${param.search_level eq '2'?'selected':''}>2레벨</option>
|
||||
<option value="3" ${param.search_level eq '3'?'selected':''}>3레벨</option>
|
||||
<option value="4" ${param.search_level eq '4'?'selected':''}>4레벨</option>
|
||||
<option value="5" ${param.search_level eq '5'?'selected':''}>5레벨</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<!-- <td class="align_r">
|
||||
<label for="" class="">품번</label>
|
||||
@@ -931,22 +1031,17 @@ function fn_excelExport(pGridObj,pFileName){
|
||||
<tr class="dataTr" data-LEVEL="${item.LEVEL}" data-REAL_LEVEL="${item.LEV}" data-BOM_REPORT_OBJID="${item.BOM_REPORT_OBJID}" data-TOP_OBJID="${item.ROOT_OBJID}"
|
||||
data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}" data-OBJID="${item.PART_OBJID}${status.index}" style="display:none;">
|
||||
<td>
|
||||
<c:if test="${item.LEAF eq '0'}">
|
||||
<c:choose>
|
||||
<c:when test="${empty param.search_level}">
|
||||
<img src="/images/btnMinus.png" width="13px" height="13px" class="btnToggle" style="${item.LEVEL eq '1' and item.LEAF eq '0'?'cursor:pointer;':''}" data-BOM_REPORT_OBJID="${item.BOM_REPORT_OBJID}"
|
||||
data-OBJID="${item.PART_OBJID}${status.index}" data-REAL_LEVEL="${item.LEV}" data-TOP_OBJID="${item.ROOT_OBJID}" data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}">
|
||||
<c:choose>
|
||||
<c:when test="${item.LEAF eq '0'}">
|
||||
<!-- 하위 항목이 있음: Plus 아이콘 표시 -->
|
||||
<img src="/images/btnPlus.png" width="13px" height="13px" class="btnToggle" style="cursor:pointer;" data-BOM_REPORT_OBJID="${item.BOM_REPORT_OBJID}"
|
||||
data-OBJID="${item.PART_OBJID}${status.index}" data-REAL_LEVEL="${item.LEV}" data-TOP_OBJID="${item.ROOT_OBJID}" data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}">
|
||||
</c:when>
|
||||
<c:when test="${param.search_level > item.LEV}">
|
||||
<img src="/images/btnMinus.png" width="13px" height="13px" class="btnToggle" style="${item.LEVEL eq '1' and item.LEAF eq '0'?'cursor:pointer;':''}" data-BOM_REPORT_OBJID="${item.BOM_REPORT_OBJID}"
|
||||
data-OBJID="${item.PART_OBJID}${status.index}" data-REAL_LEVEL="${item.LEV}" data-TOP_OBJID="${item.ROOT_OBJID}" data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}">
|
||||
</c:when>
|
||||
<c:when test="${param.search_level <= item.LEV}">
|
||||
<img src="/images/btnPlus.png" width="13px" height="13px" class="btnToggle" style="${item.LEVEL eq '1' and item.LEAF eq '0'?'cursor:pointer;':''}" data-BOM_REPORT_OBJID="${item.BOM_REPORT_OBJID}"
|
||||
data-OBJID="${item.PART_OBJID}${status.index}" data-REAL_LEVEL="${item.LEV}" data-TOP_OBJID="${item.ROOT_OBJID}" data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}">
|
||||
</c:when>
|
||||
</c:choose>
|
||||
</c:if>
|
||||
<c:otherwise>
|
||||
<!-- 하위 항목이 없음: - 표시 -->
|
||||
<span style="display:inline-block; width:13px; text-align:center; color:#999;">-</span>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<c:forEach var="i" begin="1" end="${item.MAX_LEVEL}">
|
||||
<c:if test="${item.LEVEL eq i}">
|
||||
|
||||
Reference in New Issue
Block a user