m-bom 진행중

This commit is contained in:
leeheejin
2025-11-17 18:44:44 +09:00
parent baa5d0249a
commit af02560097
4 changed files with 75 additions and 20 deletions

View File

@@ -134,12 +134,21 @@ var selectedBomType = null; // 'EBOM' 또는 'MBOM'
var bomGridData = []; // BOM 그리드 데이터
$(function(){
// 페이지 로드 시 프로젝트 정보가 있으면 품번/품명 자동 입력
// 페이지 로드 시 URL 파라미터 또는 프로젝트 정보에서 품번/품명 자동 입력
var urlPartNo = "${param.partNo}";
var urlPartName = "${param.partName}";
if(urlPartNo && urlPartNo !== "") {
console.log("URL 파라미터에서 품번/품명 설정 중...");
$("#COPY_PART_NO").val(decodeURIComponent(urlPartNo));
$("#COPY_PART_NAME").val(decodeURIComponent(urlPartName));
}
<c:if test="${not empty projectInfo}">
else {
console.log("projectInfo가 있습니다. 품번/품명 설정 중...");
$("#COPY_PART_NO").val("${projectInfo.PART_NO}");
$("#COPY_PART_NAME").val("${projectInfo.PART_NAME}");
// E-BOM 품번은 사용자가 직접 입력하도록 비워둠 (M-BOM 품번과 다를 수 있음)
}
</c:if>
// 담기 버튼 - 선택한 BOM을 복사 대상으로 설정
@@ -526,9 +535,19 @@ function fn_saveBomCopy() {
text: 'M-BOM이 성공적으로 생성되었습니다.',
icon: 'success'
}).then(() => {
// 부모 창(M-BOM 관리) 새로고침하여 아이콘 업데이트
// 부모 창(M-BOM 관리)의 검색 함수만 호출하여 그리드 업데이트
if(window.opener && !window.opener.closed) {
window.opener.location.reload();
// 부모 창의 검색 조건 유지하면서 그리드만 새로고침
if(typeof window.opener.fn_search === 'function') {
window.opener.fn_search();
}
// M-BOM 품번과 저장일을 부모 창 검색 조건에 설정
if(response.mbomPartNo) {
window.opener.$("#search_mbom_part_no").val(response.mbomPartNo);
}
if(response.saveDate) {
window.opener.$("#search_save_date").val(response.saveDate);
}
}
window.close();
});

View File

@@ -50,6 +50,14 @@ $(function(){
$('.select2').select2();
// 페이지 로드 시 프로젝트 정보로 검색 필드 자동 입력
<c:if test="${not empty info}">
$("#search_part_no").val("${info.PART_NO}");
$("#search_part_name").val("${info.PART_NAME}");
$("#search_mbom_part_no").val("${info.PART_NO}"); // M-BOM 품번은 품번과 동일
$("#search_save_date").val("${info.MBOM_REGDATE}");
</c:if>
//Part 연결
$("#moveLeft").click(function(){
// Tabulator에서 선택된 오른쪽 행 데이터 가져오기

View File

@@ -211,6 +211,12 @@ var columns = [
// 파란색(저장된 M-BOM)일 때만 팝업 열기
if(mbomStatus !== '' && mbomStatus !== '0') {
// 검색 조건에 해당 행의 데이터 자동 입력
$("#search_part_no").val(fnc_checkNull(rowData.PART_NO));
$("#search_part_name").val(fnc_checkNull(rowData.PART_NAME));
$("#search_mbom_part_no").val(fnc_checkNull(rowData.PART_NO)); // M-BOM 품번은 품번과 동일
$("#search_save_date").val(fnc_checkNull(rowData.MBOM_REGDATE));
fn_openMBomFormPopup(objid);
} else {
Swal.fire({
@@ -355,10 +361,20 @@ function fn_openBomCopyPopup() {
// BOM 복사 팝업 창 열기
function fn_openBomCopyPopupWindow(objId) {
var popup_width = 1800;
var popup_height = 900;
var url = "/partMng/structureBomCopyFormPopup.do?objId=" + objId;
fn_centerPopup(popup_width, popup_height, url, 'bomCopyPopup');
// 선택된 행의 데이터 가져오기
var selectedRow = _tabulGrid.searchRows("OBJID", "=", objId);
if(selectedRow.length > 0) {
var rowData = selectedRow[0].getData();
var partNo = encodeURIComponent(fnc_checkNull(rowData.PART_NO));
var partName = encodeURIComponent(fnc_checkNull(rowData.PART_NAME));
var popup_width = 1800;
var popup_height = 900;
var url = "/partMng/structureBomCopyFormPopup.do?objId=" + objId + "&partNo=" + partNo + "&partName=" + partName;
fn_centerPopup(popup_width, popup_height, url, 'bomCopyPopup');
} else {
Swal.fire('선택된 데이터를 찾을 수 없습니다.');
}
}
</script>
@@ -376,18 +392,25 @@ function fn_openBomCopyPopupWindow(objId) {
</div>
</div>
<!-- 검색 영역 -->
<div id="plmSearchZon">
<table>
<tr>
<td class="label"><label for="search_part_no">품번</label></td>
<td><input type="text" name="search_part_no" id="search_part_no" value="${param.search_part_no}"></td>
<td class="label"><label for="search_part_name">품명</label></td>
<td><input type="text" name="search_part_name" id="search_part_name" value="${param.search_part_name}"></td>
</tr>
</table>
</div>
<!-- 검색 영역 -->
<div id="plmSearchZon">
<table>
<tr>
<td class="label"><label for="search_part_no">품번</label></td>
<td><input type="text" name="search_part_no" id="search_part_no" value="${param.search_part_no}"></td>
<td class="label"><label for="search_part_name">품명</label></td>
<td><input type="text" name="search_part_name" id="search_part_name" value="${param.search_part_name}"></td>
</tr>
<tr>
<td class="label"><label for="search_mbom_part_no">M-BOM 품번</label></td>
<td><input type="text" name="search_mbom_part_no" id="search_mbom_part_no" value="${param.search_mbom_part_no}"></td>
<td class="label"><label for="search_save_date">저장일</label></td>
<td><input type="date" name="search_save_date" id="search_save_date" value="${param.search_save_date}"></td>
</tr>
</table>
</div>
<!-- 그리드 영역 -->
<%@include file= "/WEB-INF/view/common/common_gridArea.jsp" %>