ERP-node/WebContent/WEB-INF/view/admin/car/adminCarFormPopup.jsp

442 lines
15 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" charset="utf-8">
<title>(주)진양코퍼레이션</title>
<c:set var="actionType" value="${param.actionType}" />
<script>
$(function(){
$(document).ready(function(){
var actionType = "${actionType}";
if(actionType == 'modify'){
$('#overlapCheckId').remove();
$('#overlapStatus').remove();
}
getDistributeList();
fnc_getMilestoneList();
});
//체크박스 전체선택/전체해제
$("#allChk").click(function(){
if($("#allChk").prop("checked")) {
$("input[name=userId]").prop("checked",true);
} else {
$("input[name=userId]").prop("checked",false);
}
});
//닫기
$("#btnClose").click(function(){
self.close(0);
});
//저장
$("#btnSave").click(function(){
fnc_carSubmit();
});
//엔터키로 조회
$("input").keyup(function(e){
if(e.keyCode == 13){
fnc_carSubmit();
}
});
$(document).on("click", ".date_delete", function(){
var dateId = $(this).attr("data_DATE");
fn_date_empty(dateId);
});
});
//날짜 입력폼 초기화
function fn_date_empty(dateId){
$("#"+dateId).val('');
}
//중복확인
function fnc_overlapCheck(){
var resultCnt = 0;
var carName = $('#carName').val();
var carCode = $('#carCode').val();
var modelCode = $('#modelCode').val();
if(!fnc_valitate('form1')){
$('#overlapStatus').empty();
}else{
$.ajax({
url:"/admin/carOverlapCheck.do",
type:"POST",
data:{"search_modelCode":modelCode,"search_carName":carName,"search_carCode":carCode,"search_carObjid":"${carInfo.OBJID}"},
dataType:"json",
async:false,
success:function(overlap){
if(overlap != null){
resultCnt = overlap.length;
}
},
error: function(jqxhr, status, error){
}
});
}
return resultCnt;
}
//저장
function fnc_carSubmit(){
var carObjid = $('#carObjid').val();
var carName = $('#carName').val();
var modelCode = $('#modelCode').val();
var actionType = "${actionType}";
if(fn_validate()){
if(fn_checkDuplicateAuth()){
var overlapCnt = fnc_overlapCheck();
if(overlapCnt > 0){
Swal.fire("등록된 정보입니다.");
$('#carName').focus();
}else{
if(confirm("저장하시겠습니까?")){
$.ajax({
url:"/admin/mergeCar.do",
type:"POST",
data:$('#form1').serialize(),
dataType:"text",
async:false,
success:function(data){
opener.fn_search();
self.close(0);
},
error: function(jqxhr, status, error){
}
});
}
}
}
}
}
//고객사 id로 해당 마일스톤 가져오기
function fnc_getMilestoneList(){
var oemObjid = $('#oemObjid').val();
$('#cm_tbody').remove();
var appendText = "<tbody id='m_tbody'>";
$.ajax({
url:"/admin/getMilestoneList.do",
type:"POST",
data:{"oemObjid":oemObjid,"carObjId":"${carInfo.OBJID}"},
dataType:"json",
async:false,
success:function(milestoneList){
if(milestoneList.length == 0){
appendText +="<tr><td colspan='3'>등록된 마일스톤이 없습니다.</td></tr>";
}else{
$.each(milestoneList, function(){
appendText += "<tr>";
appendText += " <td>"+this.SEQ+"</td>";
appendText += " <td>"+this.MILESTONE_NAME+"</td>";
appendText += " <td><input type='text' name='mileDate_"+this.OBJID+"' id='mileDate_"+this.OBJID+"' value='"+fnc_checkNull(this.MILESTONE_DATE)+"' readonly>";
appendText += " <input type='hidden' name='mileObjId' value="+this.OBJID+"></td>";
appendText += " <td><input type='button' class='date_delete' value='x' data_DATE='mileDate_"+this.OBJID+"'></td>";
appendText += "</tr>";
});
}
appendText += "</tbody>";
$('#m_tbody').remove();
$('#adminPopTable').append(appendText);
//$(document).find("input[name=mileDate]").removeClass("hasDatepicker").datepicker();
fnc_datepick();
},
error: function(jqxhr, status, error){
}
});
}
//배포처 추가 팝업
function openDistributePopUp(){
var form = document.form1;
window.open("","openDistributePopUp","width=550 height=400 menubar=no status=no");
form.callBackFn.value = "opener.getDistributeList";
form.actionURL.value = "/admin/setDistribute.do";
form.target = "openDistributePopUp";
form.action = "/common/openSearchMember.do";
form.submit();
}
function getDistributeList(){
var objId = $("#carObjid").val();
if(objId != null && objId != ""){
$.ajax({
url:"/admin/getDistributeListAjax.do",
type:"POST",
data:{"search_carObjid":objId,"isJson":true},
dataType:"json",
async:false,
success:function(data){
if(data != null && data.length > 0){
$("#defaultRow").hide();
$("#distributeList").empty();
for(var i=0;i<data.length;i++){
var appendText = "<tr>";
appendText+= " <input type='hidden' name='"+fnc_checkNull(data[i].MEMBER_USER_ID)+"' value='"+fnc_checkNull(data[i].DEPT_CODE)+"'>";
appendText+= " <td>";
appendText+= " <input type='checkbox' name='userId' value='"+fnc_checkNull(data[i].MEMBER_USER_ID)+"'>";
appendText+= " </td>";
appendText+= " <td>"+fnc_checkNull(data[i].USER_TYPE_NAME)+"</td>";
appendText+= " <td>"+fnc_checkNull(data[i].DEPT_NAME)+"</td>";
appendText+= " <td>"+fnc_checkNull(data[i].USER_NAME)+"</td>";
appendText+= " <td>";
var tftCheckedStr = "";
var plCheckedStr = "";
if(fnc_checkNull(data[i].IS_TFT_LEADER) == "0"){
tftCheckedStr = "checked";
}
if(fnc_checkNull(data[i].IS_PROJ_LEADER) == "0"){
plCheckedStr = "checked";
}
appendText+= " TFT <input type='checkbox' name='isTFT' value='"+fnc_checkNull(data[i].MEMBER_USER_ID)+"' "+tftCheckedStr+">";
appendText+= " PL <input type='checkbox' name='isPL' value='"+fnc_checkNull(data[i].MEMBER_USER_ID)+"' data-DEPT_CODE='"+fnc_checkNull(data[i].DEPT_CODE)+"' "+plCheckedStr+">";
appendText+= " </td>";
appendText+= "</tr>";
$("#distributeList").append(appendText);
}
}else{
$("#defaultRow").show();
$("#distributeList").empty();
}
},
error: function(jqxhr, status, error){
}
});
}
}
//TFT장, PL의 중복여부를 확인한다.
function fn_checkDuplicateAuth(){
var result = false;
var tftCheckedLength = $("input[name=isTFT]:checkbox:checked").length;
if(1 < tftCheckedLength){
Swal.fire("TFT 장은 1명만 지정 가능합니다.");
return result;
}else{
result = true;
}
var plCheckedObj = $("input[name=isPL]:checkbox:checked");
if(0 < plCheckedObj.length){
for(var i=0;i<plCheckedObj.length;i++){
var checkedPLUserId = plCheckedObj[i].value;
var checkedPLDeptCode = fnc_checkNull($("input[name="+checkedPLUserId+"]").val());
var cnt = $("input[name=isPL][data-DEPT_CODE="+checkedPLDeptCode+"]:checkbox:checked").length;
if(1 < cnt){
Swal.fire("부서별 1명의 PL만 지정 가능합니다.");
result = false;
return result;
}
}
}
return result;
}
//배보처 삭제
function fnc_deleteDistribute(){
if($("input[name=userId]:checked").length > 0){
if(confirm("해당인원을 배포처에서 삭제하시겠습니까?")){
$.ajax({
url:"/admin/deleteDistributeMember.do",
type:"POST",
data:$('#form1').serialize(),
dataType:"json",
async:false,
success:function(data){
if(fnc_checkNull(data.message) != ""){
Swal.fire(data.message);
}
getDistributeList();
},
error: function(jqxhr, status, error){
}
});
}
}else{
Swal.fire("선택된 인원이 없습니다.");
return false;
}
}
//정합성체크
function fn_validate(){
if($("#oemObjid").val() == null || $("#oemObjid").val() == ""){
Swal.fire("고객사를 선택해 주시기 바랍니다.");
$("#oemObjid").focus();
return false;
}
if($("#carName").val() == null || $("#carName").val() == ""){
Swal.fire("차종명을 입력해 주시기 바랍니다.");
$("#carName").focus();
return false;
}
if($("#carCode").val() == null || $("#carCode").val() == ""){
Swal.fire("차종코드명을 입력해 주시기 바랍니다.");
$("#carCode").focus();
return false;
}
if($("#modelCode").val() == null || $("#modelCode").val() == ""){
Swal.fire("모델코드명을 입력해 주시기 바랍니다.");
$("#modelCode").focus();
return false;
}
if($("#carGradeObjid").val() == null || $("#carGradeObjid").val() == ""){
Swal.fire("GRADE를 선택해 주시기 바랍니다.");
$("#carGradeObjid").focus();
return false;
}
if($("#carStatus").val() == null || $("#carStatus").val() == ""){
Swal.fire("활성화 여부를 선택해 주시기 바랍니다.");
$("#carStatus").focus();
return false;
}
return true;
}
</script>
<body>
<form name="form1" id="form1" method="post">
<input type="hidden" name="actionType" value="${actionType}">
<input type="hidden" id="actionURL" name="actionURL">
<input type="hidden" id="callBackFn" name="callBackFn">
<input type="hidden" id="targetObjId" name="targetObjId" value="${carInfo.OBJID}">
<input type="hidden" id="carObjid" name="carObjid" value="${carInfo.OBJID}">
<section id="commonSection" class="admin_min">
<div class="admin_title">
<h2>차종관리</h2>
</div>
<div id="adminPopupFormWrap">
<table id="adminPopupForm">
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
</colgroup>
<tbody>
<tr>
<td><label>고객사</label></td>
<td><select type="select" title="고객사" id="oemObjid" name="oemObjid" onchange="javascript:fnc_getMilestoneList()" required>
<option value="">선택</option>
<c:forEach var="oem" items="${oemMngList}">
<option value="${oem.OBJID}" ${oem.OBJID eq carInfo.OEM_OBJID?'selected':''}>${oem.OEM_NAME}</option>
</c:forEach>
</select></td>
<td><label>차명</label></td>
<td><input type="text" title="차종" id="carName" name="carName" value="${carInfo.CAR_NAME}" required maxlength="30"></td>
</tr>
<tr>
<td><label>차종코드</label></td>
<td><input type="text" title="코드" id="carCode" name="carCode" value="${carInfo.CAR_CODE}" required maxlength="15"></td>
<td><label>모델코드</label></td>
<td><input type="text" title="모델코드" id="modelCode" name="modelCode" value="${carInfo.MODEL_CODE}" required maxlength="15"></td>
</tr>
<tr>
<td><label>Grade</label></td>
<td><select type="select" title="그레이드" id="carGradeObjid" name="carGradeObjid" required>
<option value="">선택</option>
<c:forEach var="carGrade" items="${carGradeMngList}">
<option value="${carGrade.OBJID}" ${carGrade.OBJID eq carInfo.GRADE_OBJID?'selected':''}>${carGrade.GRADE_NAME}</option>
</c:forEach>
</select></td>
<td><label>활성화 여부</label></td>
<td>
<select id="carStatus" name="carStatus">
<option value="active" ${carInfo.STATUS eq 'active'?'selected':''}>활성화</option>
<option value="inActive" ${carInfo.STATUS eq 'inActive'?'selected':''}>비활성화</option>
</select>
</td>
</tr>
<tr>
<td><label>설명</label></td>
<td colspan="3"><input type="text" id="carDescription" name="carDescription" value="${carInfo.DESCRIPTION}"></td>
</tr>
</tbody>
</table>
</div>
<div class="oem_pso_wrap">
<div id="adminPopTableW">
<table id="adminPopTable">
<colgroup>
<col width="10%" />
<col width="35%" />
<col width="*%" />
<col width="4%" />
</colgroup>
<tr id="thead">
<td>SEQ</td>
<td>이벤트시점</td>
<td colspan="2">일정</td>
</tr>
<c:if test="${actionType eq 'modify'}">
<tbody id="cm_tbody">
</tbody>
</c:if>
</table>
</div>
<div id="adminPopupBtnWrap">
<span id="overlapStatus"></span>
</div>
</div>
<div class="oem_pso_wrap">
<div id="adminPopTableW" style="margin-top:0px;">
<table id="adminPopTable2">
<colgroup>
<col width="5%" />
<col width="25%" />
<col width="25%" />
<col width="20%" />
<col width="*%" />
</colgroup>
<tr id="thead">
<td><input type="checkbox" name="allChk" id="allChk"></td>
<td>소속</td>
<td>부서</td>
<td>이름</td>
<td>권한</td>
</tr>
<tr id="defaultRow">
<td colspan="5">지정된 인원이 없습니다.</td>
</tr>
<tbody id="distributeList">
</tbody>
</table>
</div>
<div id="adminPopupBtnWrap">
<span id="overlapStatus"></span>
<input type="button" name="" value="배포처 지정" class="btns" onclick="javascript:openDistributePopUp()">
<input type="button" name="" value="배포처 삭제" class="btns" onclick="javascript:fnc_deleteDistribute()">
</div>
</div>
<div class="btnCenterWrap">
<center class="center_btns_wrap">
<input type="button" value="저장" class="btns" id="btnSave">
<input type="button" value="닫기" name="" id="btnClose" class="btns">
</center>
</div>
</section>
</form>
</body>
</html>