301 lines
10 KiB
Plaintext
301 lines
10 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ page import="java.util.*" %>
|
|
<%@include file= "/init.jsp" %>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
<script>
|
|
$(function(){
|
|
$('.select2').select2();
|
|
$("input[type=text]").keyup(function(e){
|
|
if(e.keyCode == 13){
|
|
$("#btnSearch").trigger("click");
|
|
}
|
|
});
|
|
|
|
$("#btnSearch").click(function(){
|
|
$("#search_partNo").val($.trim($("#search_partNo").val()));
|
|
$("#search_partName").val($.trim($("#search_partName").val()));
|
|
|
|
document.form1.actionType.value = "";
|
|
document.form1.action = "/partmgmt/structureAscendingList.do";
|
|
document.form1.submit();
|
|
});
|
|
|
|
$("#btnExcel").click(function(){
|
|
$("#search_partNo").val($.trim($("#search_partNo").val()));
|
|
$("#search_partName").val($.trim($("#search_partName").val()));
|
|
|
|
document.form1.actionType.value = "excel";
|
|
document.form1.action = "/partmgmt/structureAscendingList.do";
|
|
document.form1.submit();
|
|
});
|
|
|
|
//1level만 활성화 시킨다.
|
|
$(".dataTr").each(function(i){
|
|
var lev = $(this).attr("data-LEVEL");
|
|
|
|
if(lev == 1){
|
|
$(this).show();
|
|
}
|
|
});
|
|
|
|
$(".btnToggle").click(function() {
|
|
var src = $(this).attr("src");
|
|
if (src.indexOf("Plus") > -1) {
|
|
$(this).attr("src", "/images/btnMinus.png");
|
|
|
|
} else if (src.indexOf("Minus") > -1) {
|
|
$(this).attr("src", "/images/btnPlus.png");
|
|
}
|
|
|
|
var choosedBomObjId = $(this).attr("data-BOM_REPORT_OBJID");
|
|
var choosedObjId = $(this).attr("data-OBJID");
|
|
var choosedTopObjId = $(this).attr("data-TOP_OBJID");
|
|
var choosedSubTopObjId = $(this).attr("data-SUB_TOP_OBJID");
|
|
|
|
//Swal.fire("choosedBomObjId : "+choosedBomObjId+"\nchoosedObjId : "+choosedObjId+"\nchoosedTopObjId : "+choosedTopObjId+"\nchoosedSubTopObjId : "+choosedSubTopObjId);
|
|
|
|
$(".dataTr").each(function(i) {
|
|
var bomReportObjId = $(this).attr("data-BOM_REPORT_OBJID");
|
|
var objId = $(this).attr("data-OBJID");
|
|
var topObjId = $(this).attr("data-TOP_OBJID");
|
|
var subTopObjId = $(this).attr("data-SUB_TOP_OBJID");
|
|
|
|
//Swal.fire("bomReportObjId : "+bomReportObjId+"\nobjId : "+objId+"\ntopObjId : "+topObjId+"\nsubTopObjId : "+subTopObjId);
|
|
|
|
var lev = $(this).attr("data-LEVEL");
|
|
|
|
if (choosedTopObjId == topObjId) {
|
|
//Swal.fire("bomReportObjId : "+bomReportObjId+", choosedBomObjId : "+choosedBomObjId);
|
|
if (lev != "1") {
|
|
var topObjId = $(this).attr("data-TOP_OBJID");
|
|
var realLevel = $(this).attr("data-REAL_LEVEL");
|
|
//Swal.fire(realLevel);
|
|
//Swal.fire("11 choosedObjId : "+choosedObjId+", topObjId : "+topObjId);
|
|
if (realLevel != "1") {
|
|
topObjId = $(this).attr("data-SUB_TOP_OBJID");
|
|
}
|
|
//Swal.fire("22 choosedObjId : "+choosedObjId+", topObjId : "+topObjId);
|
|
if (choosedObjId == topObjId) {
|
|
$(this).toggle();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
//level별 색상
|
|
$(".dataTr").each(function(i) {
|
|
var lev = $(this).attr("data-REAL_LEVEL");
|
|
if (lev == 1) {
|
|
$(this).css("background-color", "#fde9d9");
|
|
} else if (lev == 2) {
|
|
$(this).css("background-color", "#daeef3");
|
|
} else if (lev == 3) {
|
|
$(this).css("background-color", "#e4dfec");
|
|
} else if (lev == 4) {
|
|
$(this).css("background-color", "#ebf1de");
|
|
} else if (lev == 5) {
|
|
$(this).css("background-color", "#f2f2f2");
|
|
} else if (lev == 6) {
|
|
$(this).css("background-color", "#f2dcdb");
|
|
} else if (lev == 7) {
|
|
$(this).css("background-color", "#eeece1");
|
|
} else if (lev == 8) {
|
|
$(this).css("background-color", "#dce6f1");
|
|
} else if (lev == 9) {
|
|
$(this).css("background-color", "#FFFFEB");
|
|
} else if (lev == 10) {
|
|
$(this).css("background-color", "#ffffff");
|
|
}
|
|
});
|
|
|
|
$(".btnEODetail").click(function() {
|
|
var objId = $(this).attr("data-EO_OBJID");
|
|
fn_openEOPopup(objId);
|
|
});
|
|
|
|
$(".btnPartDetail").click(function() {
|
|
var objId = $(this).attr("data-PART_OBJID");
|
|
fn_openPartPopup(objId);
|
|
});
|
|
|
|
$(document).ready(function() {
|
|
$("#search_oemObjId").trigger("change");
|
|
});
|
|
});
|
|
|
|
function fn_check() {
|
|
var carTypeObjId = fnc_checkNull($("#search_carObjId").val());
|
|
var productObjId = fnc_checkNull($("#search_productObjId").val());
|
|
var partNo = fnc_checkNull($("#search_partNo").val());
|
|
var partName = fnc_checkNull($("#search_partName").val());
|
|
|
|
if (carTypeObjId == "" && productObjId == "" && partNo == ""
|
|
&& partName == "") {
|
|
Swal.fire("조회조건을 설정해주시기 바랍니다.");
|
|
return false;
|
|
}
|
|
|
|
if (partName == "" && partNo.length < 5) {
|
|
Swal.fire("Part No는 최소 5자이상 입력하시기 바랍니다.");
|
|
return false;
|
|
}
|
|
|
|
if (partNo == "" && partName.length < 5) {
|
|
Swal.fire("Part Name은 최소 5자이상 입력하시기 바랍니다.");
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
function fn_openEOPopup(objId) {
|
|
window.open("/eo/eoDetailViewPopup.do?objId=" + objId,
|
|
"tempEoListPopup", "width=1500,height=700");
|
|
}
|
|
|
|
function fn_openPartPopup(objId) {
|
|
window.open("/partmgmt/partmgmtTempFormPopup.do?objid=" + objId,
|
|
"partmgmtTempFormPopup",
|
|
"width=720, height=550, menubars=no, scrollbars=yes, resizable=yes");
|
|
|
|
/* window
|
|
.open("/part/partDetailViewPopup.do?objid=" + objId,
|
|
"tempPartListPopup",
|
|
"width=720, height=800, menubars=no, scrollbars=yes, resizable=yes"); */
|
|
}
|
|
</script>
|
|
</head>
|
|
<body class="backcolor">
|
|
<form name="hiddenForm" id="hiddenForm" method="post">
|
|
<input type="hidden" name="actionType" id="actionType">
|
|
<input type="hidden" name="objId" id="objId">
|
|
<input type="hidden" name="objid" id="objid">
|
|
</form>
|
|
<form name="form1" action="" method="post">
|
|
<input type="hidden" name="actionType" value="" />
|
|
<div class="min_part_enroll">
|
|
|
|
<div class="content-box">
|
|
<div class="content-box-s">
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>설계관리_BOM Report(정전개)</span>
|
|
</h2>
|
|
</div>
|
|
<div id="plmSearchZon">
|
|
<table>
|
|
<tbody>
|
|
<tr>
|
|
<td class="align_r">
|
|
<label for="" class="">Project No.</label>
|
|
</td>
|
|
<td>
|
|
<select name="projectno" id="projectno" style="width:200px;" class="select2" autocomplete="off">
|
|
<option value="">전체</option>
|
|
${code_map.projectno}
|
|
</select>
|
|
</td>
|
|
<td class="align_r">
|
|
<label for="" class="">Part No</label>
|
|
</td>
|
|
<td>
|
|
<input type="text" name="search_partNo" id="search_partNo" value="${param.search_partNo}" class="text_area" autocomplete="off"/>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="contents_page_basic_margin">
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap">
|
|
<input type="button" value="Excel Download" class="plm_btns" id="btnExcel">
|
|
<input type="button" value="조회" class="plm_btns" id="btnSearch">
|
|
</div>
|
|
</div>
|
|
<div class="ascendig_text"><font size="1.5px" color="red">*Project No.는 필수 선택 사항입니다. PartNo조회가 가능합니다.</font></div>
|
|
<div class="plm_table_wrap">
|
|
<div >
|
|
<div >
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="2%" />
|
|
<col width="3%" />
|
|
<col width="13%" />
|
|
<col width="9%" />
|
|
<col width="9%" />
|
|
<col width="3%" />
|
|
<col width="8%" />
|
|
<col width="8%" />
|
|
<col width="8%" />
|
|
<col width="6%" />
|
|
<col width="5%" />
|
|
<col width="3%" />
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td></td>
|
|
<td>Level</td>
|
|
<td>품명</td><!-- part_name -->
|
|
<td>모품번</td><!-- parent_part_no -->
|
|
<td>자품번</td><!-- part_no -->
|
|
<td>수량</td><!-- qty -->
|
|
<td>재질</td><!-- material -->
|
|
<td>규격</td><!-- size -->
|
|
<td>메이커</td><!-- sup_cd -->
|
|
<td>부품구분</td><!-- sort_cd -->
|
|
<td>Date</td><!-- reg_date -->
|
|
<td>Rev.</td><!-- rev -->
|
|
</tr>
|
|
</thead>
|
|
<c:choose>
|
|
<c:when test="${empty LIST}">
|
|
<tr>
|
|
<td colspan="12" align="center">조회된 정보가 없습니다.</td>
|
|
</tr>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<c:forEach var="item" items="${LIST}" varStatus="status">
|
|
<tr class="dataTr" data-LEVEL="${item.LEV}" data-REAL_LEVEL="${item.LEV}" data-BOM_REPORT_OBJID="${item.PART_MGMT_OBJID}" data-TOP_OBJID="${item.ROOT_OBJID}" data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}" style="display:none;">
|
|
<td>
|
|
<c:if test="${item.LEV eq '1' and item.LEAF eq '0'}">
|
|
<img src="/images/btnPlus.png" width="13px" height="13px" class="btnToggle" style="${item.LEV eq '1' and item.LEAF eq '0'?'cursor:pointer;':''}" data-BOM_REPORT_OBJID="${item.PART_MGMT_OBJID}" data-OBJID="${item.PART_MGMT_OBJID}" data-REAL_LEVEL="${item.LEV}" data-TOP_OBJID="${item.ROOT_OBJID}" data-SUB_TOP_OBJID="${item.SUB_ROOT_OBJID}">
|
|
</c:if>
|
|
</td>
|
|
<td title="${item.LEV}">${item.LEV}</td>
|
|
<td style="text-align:left !important;" title="${item.PART_NAME}">
|
|
<c:forEach var="i" begin="0" end="${item.LEV}">
|
|
|
|
</c:forEach>
|
|
${item.PART_NAME}
|
|
<%-- <a href="#" class="btnPartDetail" data-PART_OBJID="${item.PART_MGMT_OBJID}">${item.PART_NAME}</a> --%>
|
|
</td>
|
|
<td title="${item.PARENT_PART_NO}">${item.PARENT_PART_NO}</td>
|
|
<td style="text-align:left !important; padding:0px 0px 0px 15px;" title="${item.PART_NO}"> ${item.PART_NO}</td>
|
|
<td title="${item.QTY}">${item.QTY}</td>
|
|
<td title="${item.MATERIAL}">${item.MATERIAL}</td>
|
|
<td title="${item.SIZED}">${item.SIZED}</td>
|
|
<td title="${item.SUP_CD}">${item.SUP_CD}</td>
|
|
<td title="${item.REV}">${item.REV}</td>
|
|
<td title="${item.REL_DATE}">${item.REL_DATE}</td>
|
|
<td title="${item.SORT_NAME}">${item.SORT_NAME}</td>
|
|
</tr>
|
|
</c:forEach>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</body>
|
|
</html> |