516 lines
14 KiB
Plaintext
516 lines
14 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>
|
|
</head>
|
|
<script>
|
|
$(document).ready(function(){
|
|
//닫기
|
|
$("#btnClose").click(function(){
|
|
self.close(0);
|
|
});
|
|
|
|
//저장
|
|
$("#btnSave").click(function(){
|
|
fn_save();
|
|
});
|
|
|
|
//입찰품목 등록
|
|
$("#conceptItemRegist").click(function(){
|
|
var params = "";
|
|
params += "?targetObjId=${objId}";
|
|
window.open("/projectConcept/projectConceptProductInfoFormPopup.do"+params, "", "width=760, height=700");
|
|
});
|
|
|
|
//취소
|
|
$("#btnCancel").click(function(){
|
|
var objId = $(this).attr("data-OBJID");
|
|
var params = "?objId="+objId;
|
|
document.form1.action ="/projectConcept/projectConceptDetailPopup.do"+params;
|
|
document.form1.submit();
|
|
});
|
|
|
|
//set oem list
|
|
fn_setOEMList();
|
|
|
|
//입찰품목 세팅
|
|
fn_refreshProductList();
|
|
|
|
//생산공장
|
|
fn_setFactoryList();
|
|
|
|
//고객사별 차종 목록 조회
|
|
$("#oemObjId").change(function(){
|
|
var oemObjId = $(this).val();
|
|
|
|
fn_setCarTypeList(oemObjId);
|
|
fn_setMilestoneList();
|
|
});
|
|
|
|
//입찰품목 삭제
|
|
$(document).on("click", ".btnDelete", function(){
|
|
var objId = $(this).attr("data-OBJID");
|
|
fn_deleteProduct(objId);
|
|
});
|
|
|
|
//수주활동 제품별 상세
|
|
$(document).on("click", ".btnProjectConceptProductDetail", function(){
|
|
var objId = $(this).attr("data-OBJID");
|
|
fn_projectConceptProductDetail(objId);
|
|
});
|
|
|
|
});
|
|
</script>
|
|
<script>
|
|
//oem 목록 조회
|
|
function fn_setOEMList(){
|
|
$.ajax({
|
|
url:"/common/getOEMList.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
success:function(data){
|
|
var appendCode = "";
|
|
|
|
$.each(data, function(i){
|
|
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].OEM_NAME+"("+data[i].OEM_CODE+")</option>";
|
|
});
|
|
|
|
$("#oemObjId").append(appendCode);
|
|
|
|
$("#oemObjId > option[value=${info.OEM_OBJID}]").attr("selected", "true");
|
|
$("#oemObjId").trigger("change");
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
//car 목록 조회
|
|
function fn_setCarTypeList(oemObjId){
|
|
$.ajax({
|
|
url:"/common/getCarTypeList.do",
|
|
type:"POST",
|
|
data:{"isJson":true, "search_oemObjId":oemObjId},
|
|
dataType:"json",
|
|
success:function(data){
|
|
var appendCode = "";
|
|
appendCode += "<option value=''>선택</option>";
|
|
$.each(data, function(i){
|
|
appendCode += "<option value='"+data[i].OBJID+"'>"+data[i].CAR_CODE+"("+data[i].CAR_NAME+")</option>";
|
|
});
|
|
|
|
$("#carTypeObjId").children().remove();
|
|
$("#carTypeObjId").append(appendCode);
|
|
$("#carTypeObjId > option[value=${info.CAR_OBJID}]").attr("selected", "true");
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
//생산공장 조회
|
|
function fn_setFactoryList(){
|
|
$.ajax({
|
|
url:"/common/getFactoryList.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
success:function(data){
|
|
var appendCode = "";
|
|
appendCode += "<option value=''>선택</option>";
|
|
$.each(data, function(i){
|
|
appendCode += "<option value='"+data[i].objid+"'>"+data[i].factory_name+"</option>";
|
|
});
|
|
|
|
$("#factory").append(appendCode);
|
|
var dbVal = fnc_checkNull("${info.OEM_FACTORY}");
|
|
if(dbVal != ""){
|
|
$("#factory > option[value="+dbVal+"]").attr("selected", "true");
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
//milestone 목록 조회
|
|
function fn_setMilestoneList(){
|
|
var oemObjId = $("#oemObjId").val();
|
|
var objId = $("#objId").val();
|
|
|
|
$.ajax({
|
|
url:"/projectConcept/getProjectConceptMilestoneList.do",
|
|
type:"POST",
|
|
data:{"objId":objId, "oemObjId":oemObjId, "mode":"${param.mode}"},
|
|
dataType:"json",
|
|
success:function(data){
|
|
var appendCode = "";
|
|
if(data == null || data.length == 0){
|
|
appendCode += "<tr>";
|
|
appendCode += "<td aling='center' colspan='3'>";
|
|
appendCode += "조회된 정보가 없습니다.";
|
|
appendCode += "</td>";
|
|
appendCode += "</tr>";
|
|
}else{
|
|
$.each(data, function(i){
|
|
appendCode += "<tr>";
|
|
appendCode += "<td>"+data[i].seq+"</td>";
|
|
appendCode += "<td>"+data[i].milestone_name+"</td>";
|
|
appendCode += "<td><input type='text' name='milestoneDate_"+data[i].concept_milestone_objid+"' id='milestoneDate_"+data[i].concept_milestone_objid+"' value='"+fnc_checkNull(data[i].milestone_date)+"'></td>";
|
|
appendCode += "</tr>";
|
|
});
|
|
}
|
|
|
|
$("#dataList").children().remove();
|
|
$("#dataList").append(appendCode);
|
|
fnc_datepick();
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
//입찰품목 목록 새로고침
|
|
function fn_refreshProductList(){
|
|
var targetObjId = $("#objId").val();
|
|
|
|
$.ajax({
|
|
url:"/projectConcept/getProjectConceptProductList_forProjectConcept.do",
|
|
type:"POST",
|
|
data:{"targetObjId":targetObjId},
|
|
dataType:"json",
|
|
success:function(data){
|
|
var appendCode = "";
|
|
|
|
if(data.length > 0){
|
|
$.each(data, function(i){
|
|
appendCode += "<tr>";
|
|
appendCode += "<td>"+(i+1)+"</td>";
|
|
appendCode += "<td>"+data[i].estimate_no+"</td>";
|
|
appendCode += "<td><a href='#' class='btnProjectConceptProductDetail' data-OBJID='"+data[i].objid+"'>"+data[i].prod_name+"</a></td>";
|
|
appendCode += "<td>"+data[i].estimate_pic_user_name+"</td>";
|
|
/*
|
|
appendCode += "<td>"
|
|
if(data[i].STATUS != "create"){
|
|
appendCode += "<a href='#' data-OBJID='"+data[i].OBJID+"' style='cursor:pointer;' class='btnDelete'>삭제</a>";
|
|
}
|
|
appendCode += "</td>";
|
|
*/
|
|
appendCode += "</tr>";
|
|
});
|
|
}else{
|
|
appendCode += "<tr>";
|
|
appendCode += "<td colspan='5' align='center'>등록된 입찰품목이 없습니다.</td>";
|
|
appendCode += "</tr>";
|
|
}
|
|
|
|
$("#productList").children().remove();
|
|
$("#productList").append(appendCode);
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
//수주활동 등록정보 저장
|
|
function fn_save(){
|
|
|
|
if(fnc_valitate("form1")){
|
|
//제품체크
|
|
if(fn_checkProductCnt()){
|
|
//중복 체크
|
|
if(fn_duplicateNameCheck()){
|
|
if(confirm("저장하시겠습니까?")){
|
|
saveProcess();
|
|
}
|
|
}
|
|
}else{
|
|
Swal.fire("등록된 입찰품목이 없습니다.\n저장할 수 없습니다.");
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function fn_checkProductCnt(){
|
|
var result = false;
|
|
var objId = $("#objId").val();
|
|
|
|
$.ajax({
|
|
url:"/projectConcept/getProjectConceptProductCnt.do",
|
|
type:"POST",
|
|
data:{"targetObjId":objId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
var cnt = data.CNT;
|
|
|
|
if(cnt > 0){
|
|
result = true;
|
|
}else{
|
|
result = false;
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
return result;
|
|
}
|
|
|
|
function saveProcess(){
|
|
$.ajax({
|
|
url:"/projectConcept/saveProjectConceptInfo.do",
|
|
type:"POST",
|
|
data:$("#form1").serialize(),
|
|
dataType:"json",
|
|
success:function(data){
|
|
Swal.fire(data.msg);
|
|
if("edit" != "${param.mode}"){
|
|
opener.fn_search();
|
|
self.close(0);
|
|
}else if("edit" == "${param.mode}"){
|
|
document.form1.action = "/projectConcept/projectConceptDetailPopup.do";
|
|
document.form1.submit();
|
|
opener.fn_search();
|
|
self.close();
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
function fn_deleteProduct(objId){
|
|
if(confirm("삭제하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/projectConcept/deleteProjectConceptProductInfo.do",
|
|
type:"POST",
|
|
data:{"objId":objId},
|
|
dataType:"json",
|
|
success:function(data){
|
|
Swal.fire(data.msg);
|
|
|
|
//제품목록 새로고침
|
|
fn_refreshProductList();
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
//수주활동 제품별 상세
|
|
function fn_projectConceptProductDetail(objId){
|
|
window.open("/projectConcept/projectConceptProductDetailPopup.do?objId="+objId, "", "width=705, height=700");
|
|
}
|
|
|
|
//수주활동 중복체크
|
|
function fn_duplicateNameCheck(){
|
|
var result = false;
|
|
var oemObjId = $("#oemObjId").val();
|
|
var carObjId = $("#carTypeObjId").val();
|
|
|
|
$.ajax({
|
|
url:"/projectConcept/getProjectConceptDuplicateCnt.do",
|
|
type:"POST",
|
|
data:{"oemObjId":oemObjId, "carObjId":carObjId,"objId":"${objId}"},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
if(data.result == "false" || data.result == false || !data.result){
|
|
Swal.fire("이미 등록된 정보가 있습니다.\n차종별 1개의 수주활동만 등록 가능합니다.");
|
|
}else{
|
|
result = true;
|
|
}
|
|
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
return result;
|
|
}
|
|
</script>
|
|
<body>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<input type="hidden" name="objId" id="objId" value="${objId}" />
|
|
<section class="business_popup_min_width">
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>수주활동</span>
|
|
</h2>
|
|
</div>
|
|
<div id="businessPopupFormWrap">
|
|
<div class="form_popup_title"> 수주활동 정보입력</div>
|
|
<table class="pmsPopupForm">
|
|
<colgroup>
|
|
<col width="13%"/>
|
|
<col width="18%"/>
|
|
<col width="18%"/>
|
|
<col width="15%"/>
|
|
<col width="20%"/>
|
|
<col width="*"/>
|
|
</colgroup>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">지역</label>
|
|
</td>
|
|
<td colspan="2">
|
|
<select name="foreignType" id="foreignType">
|
|
<option value="">선택</option>
|
|
<option value="D" ${info.FOREIGN_TYPE_ORG eq 'D'?'selected':''}>국내</option>
|
|
<option value="F" ${info.FOREIGN_TYPE_ORG eq 'F'?'selected':''}>해외</option>
|
|
</select>
|
|
</td>
|
|
<td class="input_title">
|
|
<label for="">프로젝트Type</label>
|
|
</td>
|
|
<td colspan="2">
|
|
<select name="projectType" id="projectType">
|
|
<option value="">선택</option>
|
|
<option value="new" ${info.PJT_TYPE_ORG eq 'new'?'selected':''}>신차</option>
|
|
<option value="derivative" ${info.PJT_TYPE_ORG eq 'derivative'?'selected':''}>파생차</option>
|
|
<option value="sample" ${info.PJT_TYPE_ORG eq 'sample'?'selected':''}>시작차</option>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">고객사</label>
|
|
</td>
|
|
<td colspan="2">
|
|
<select name="oemObjId" id="oemObjId" required reqTitle="고객사" type="select">
|
|
<option value="">선택</option>
|
|
</select>
|
|
</td>
|
|
<td class="input_title">
|
|
<label for="">차종</label>
|
|
</td>
|
|
<td colspan="2">
|
|
<select name="carTypeObjId" id="carTypeObjId" required reqTitle="차종" type="select">
|
|
<option value="">선택</option>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">개발일정</label>
|
|
</td>
|
|
<td colspan="5">
|
|
<div style="overflow-y:scroll;">
|
|
<table class="project_form_in_table" style="width:100%;">
|
|
<colgroup>
|
|
<col width="10%"/>
|
|
<col width="*"/>
|
|
<col width="20%"/>
|
|
</colgroup>
|
|
<thead>
|
|
<tr>
|
|
<td>No</td>
|
|
<td>Milestone</td>
|
|
<td>Date</td>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="in_table_scroll_wrap" style="width:100%;">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="10%"/>
|
|
<col width="*"/>
|
|
<col width="20%"/>
|
|
</colgroup>
|
|
<tbody id="dataList">
|
|
<tr>
|
|
<td align="center" colspan="3">고객사를 선택해 주시기 바랍니다.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">생산공장</label>
|
|
</td>
|
|
<td colspan="2">
|
|
<select name="factory" id="factory" required reqTitle="생산공장" type="select">
|
|
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="6">
|
|
<input type="button" value="입찰품목 등록" class="blue_btn float_r" id="conceptItemRegist" onclick="" style="margin-right:0px;">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">입찰품목</label>
|
|
</td>
|
|
<td colspan="5">
|
|
<div style="overflow-y:scroll;">
|
|
<table class="project_form_in_table" style="width:100%;">
|
|
<colgroup>
|
|
<col width="10%"/>
|
|
<col width="20%"/>
|
|
<col width="*"/>
|
|
<col width="20%"/>
|
|
<!-- <col width="7%"/> -->
|
|
</colgroup>
|
|
<thead>
|
|
<tr>
|
|
<td>No</td>
|
|
<td>견적번호</td>
|
|
<td>제품명</td>
|
|
<td>견적담당자</td>
|
|
<!-- <td>삭제</td> -->
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="in_table_scroll_wrap" style="width:100%;">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="10%"/>
|
|
<col width="20%"/>
|
|
<col width="*"/>
|
|
<col width="20%"/>
|
|
<!-- <col width="7%"/> -->
|
|
</colgroup>
|
|
<tbody id="productList">
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap_center">
|
|
<input type="button" value="저장" id="btnSave" class="plm_btns">
|
|
<c:choose>
|
|
<c:when test="${param.actionType eq 'regist'}">
|
|
</c:when>
|
|
<c:otherwise>
|
|
<input type="button" id="btnCancel" value="취소" class="plm_btns" data-OBJID="${objId}">
|
|
</c:otherwise>
|
|
</c:choose>
|
|
<input type="button" value="닫기" id="btnClose" class="plm_btns">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</form>
|
|
</body>
|
|
</html> |