368 lines
10 KiB
Plaintext
368 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" %>
|
|
<%
|
|
String message = CommonUtils.checkNull(request.getAttribute("message"));
|
|
String result = CommonUtils.checkNull(request.getAttribute("resultFlag"));
|
|
String exceptionMsg = CommonUtils.checkNull(request.getAttribute("exception"));
|
|
|
|
HashMap oemInfo = new HashMap();
|
|
oemInfo = (HashMap)request.getAttribute("oemInfo");
|
|
if(null == oemInfo){
|
|
oemInfo = new HashMap();
|
|
}
|
|
|
|
String oemObjid = CommonUtils.checkNull(oemInfo.get("OBJID"));
|
|
String oemName = CommonUtils.checkNull(oemInfo.get("OEM_NAME"));
|
|
String oemCode = CommonUtils.checkNull(oemInfo.get("OEM_CODE"));
|
|
String status = CommonUtils.checkNull(oemInfo.get("STATUS"));
|
|
%>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
<script>
|
|
$(document).ready(function(){
|
|
getOemMileStoneList();
|
|
|
|
$("#btn_close").click(function(){
|
|
self.close();
|
|
opener.fn_search();
|
|
});
|
|
});
|
|
</script>
|
|
<script>
|
|
<%
|
|
if(!"".equals(message)){
|
|
%>
|
|
Swal.fire('<%=message%>');
|
|
<%
|
|
if("true".equals(result)){
|
|
%>
|
|
opener.fn_search();
|
|
self.close();
|
|
<%
|
|
}
|
|
}
|
|
%>
|
|
//Milestone을 추가한다.
|
|
function addMilestone(){
|
|
|
|
var oemForm = document.oemForm;
|
|
var mSeq = oemForm.mSeq.value;
|
|
var mName = oemForm.mName.value;
|
|
var mStatus = oemForm.mStatus.value;
|
|
|
|
if("" == mSeq || "" == mName || "" == mStatus){
|
|
Swal.fire("마일스톤명, 순서, 활성화 여부를 확인하시기 바랍니다.");
|
|
return false;
|
|
}
|
|
|
|
if(oemForm.milestoneName){
|
|
if(0 < oemForm.milestoneName.length){
|
|
for(var i=0;i < oemForm.milestoneName.length;i++){
|
|
var addedMileStone = oemForm.milestoneName[i].value;
|
|
if(mName == addedMileStone){
|
|
Swal.fire("이미 추가된 마일스톤 입니다.");
|
|
break;
|
|
return false;
|
|
}
|
|
}
|
|
}else{
|
|
var addedMileStone = oemForm.milestoneName.value;
|
|
if(mName == addedMileStone){
|
|
Swal.fire("이미 추가된 마일스톤 입니다.");
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(confirm("추가하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/admin/addNewMilestoneInfo.do",
|
|
type:"POST",
|
|
data:$("#oemForm").serialize(),
|
|
dataType:"json",
|
|
success:function(data){
|
|
if(data.result == "true"){
|
|
getOemMileStoneList();
|
|
$("#mName").val("");
|
|
$("#mSeq").val("");
|
|
$("#mStatus").val("");
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
function getOemMileStoneList() {
|
|
$.ajax({
|
|
url:"/admin/getOemMileStoneList.do",
|
|
type:"POST",
|
|
data:{"oemObjid":$("#oemObjid").val()},
|
|
dataType:"json",
|
|
success:function(data){
|
|
$("#oemMileStoneArea").empty();
|
|
appendText = "";
|
|
if(data.length >0){
|
|
|
|
for(var i = 0 ; i < data.length ; i++){
|
|
appendText += "<tr rowid='"+data[i].OBJID+"'>";
|
|
appendText += " <td>";
|
|
appendText += " <input type='text' name='milestoneSeq_"+data[i].OBJID+"' id='milestoneSeq_"+data[i].OBJID+"' value='"+data[i].SEQ+"' style='width:100%; height:90%; margin-top: 1px;'>";
|
|
appendText += " </td>"
|
|
appendText += " <td>";
|
|
appendText += " <input type='text' name='milestoneName_"+data[i].OBJID+"' id='milestoneName_"+data[i].OBJID+"' value='"+data[i].MILESTONE_NAME+"' style='width:100%; height:90%; margin-top:1px;'>";
|
|
appendText += " </td>";
|
|
appendText += " <td>";
|
|
appendText += " <select name='milestoneStatus_"+data[i].OBJID+"' id='milestoneStatus_"+data[i].OBJID+"'>";
|
|
if(data[i].STATUS == "active"){
|
|
appendText += " <option value='active' 'selected'>활성화</option>";
|
|
appendText += " <option value='inActive' ''>비활성화</option>";
|
|
}else if (data[i].STATUS == "inActive"){
|
|
appendText += " <option value='inActive' 'selected'>비활성화</option>";
|
|
appendText += " <option value='active' ''>활성화</option>";
|
|
}
|
|
appendText += " </select>";
|
|
appendText += " </td>";
|
|
appendText += " <td><input type='button' value='삭제' class='btns' onclick=\"javascript:deleteMilestone('"+data[i].OBJID+"');\"></td>";
|
|
appendText += "</tr>";
|
|
}
|
|
|
|
}else{
|
|
appendText += "<tr>";
|
|
appendText += " <td colspan='4'>조회된 내용이 없습니다.</td>";
|
|
appendText += "</tr>";
|
|
}
|
|
$("#oemMileStoneArea").append(appendText);
|
|
}
|
|
})
|
|
}
|
|
|
|
//Milestone을 삭제한다.
|
|
function deleteMilestone(objId){
|
|
if(confirm("삭제하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/admin/deleteMilestoneInfo.do",
|
|
type:"POST",
|
|
data:{"targetObjId":objId},
|
|
dataType:"json",
|
|
success:function(data){
|
|
if(data.result == "true"){
|
|
getOemMileStoneList();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function saveOEMInfo(){
|
|
var oemForm = document.oemForm;
|
|
|
|
if("" == oemForm.oemName.value || "" == oemForm.oemCode.value){
|
|
Swal.fire("고객사/고객자 코드를 입력하시기 바랍니다.");
|
|
return;
|
|
}
|
|
|
|
var isDuplicate = duplicateCheck();
|
|
if(isDuplicate) return;
|
|
|
|
if(fnc_checkNull($("#oemStatus").val()) == ""){
|
|
Swal.fire("활성화 여부를 선택해주시기 바랍니다.");
|
|
$("#oemStatus").focus();
|
|
return;
|
|
}
|
|
|
|
if(confirm("저장하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/admin/saveOEMInfo.do",
|
|
type:"POST",
|
|
data:$("#oemForm").serialize(),
|
|
dataType:"json",
|
|
success:function(data){
|
|
if(data.result == "true"){
|
|
Swal.fire("저장되었습니다.")
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
//전체 체크 기능
|
|
function allCheck(base,name){
|
|
var checkObj = document.getElementsByName(name);
|
|
var checkFlag = base.checked;
|
|
|
|
if(0 < checkObj.length){
|
|
for(var i=0;i<checkObj.length;i++){
|
|
checkObj[i].checked = checkFlag;
|
|
}
|
|
}else{
|
|
checkObj.checked = checkFlag;
|
|
}
|
|
}
|
|
|
|
function duplicateCheck(){
|
|
var result = false;
|
|
|
|
var url = "/admin/checkSameOEMCodeAndName.do";
|
|
var oemName = $("#oemName").val();
|
|
var oemCode = $("#oemCode").val();
|
|
|
|
$.ajax({
|
|
url:url,
|
|
type:"POST",
|
|
data:{"oemName":oemName,"oemCode":oemCode,"objId":$("#oemObjid").val()},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
var codeCnt = data.SAME_OEM_CODE_CNT;
|
|
var nameCnt = data.SAME_OEM_NAME_CNT;
|
|
|
|
if(codeCnt > 0){
|
|
Swal.fire("고객사 코드가 이미 존재합니다.");
|
|
result = true;
|
|
return true;
|
|
}
|
|
if(nameCnt > 0){
|
|
Swal.fire("고객사명이 이미 존재합니다.");
|
|
result = true;
|
|
return true;
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
|
|
Swal.fire(jqxhr.status);
|
|
Swal.fire(jqxhr.responseText);
|
|
}
|
|
});
|
|
return result;
|
|
}
|
|
|
|
//milestone 정보를 수정한다.
|
|
function modifyMilestoneInfo(){
|
|
if(confirm("변경된 일정정보를 저장하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/admin/modifyOEMMilestoneInfo.do",
|
|
type:"POST",
|
|
data:$("#oemForm").serialize(),
|
|
dataType:"json",
|
|
success:function(data){
|
|
if(data.result == "true"){
|
|
getOemMileStoneList();
|
|
Swal.fire("마일스톤이 저장되었습니다.")
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<form name="oemForm" id="oemForm" action="" method="post">
|
|
<input type="hidden" name="oemObjid" id="oemObjid" value="${oemInfo.OBJID}">
|
|
<section id="commonSection" class="admin_min">
|
|
<div class="admin_title">
|
|
<h2>고객사관리</h2>
|
|
</div>
|
|
<div id="adminPopupFormWrap">
|
|
<table id="adminPopupForm">
|
|
<colgroup>
|
|
<col width="30%">
|
|
<col width="*">
|
|
</colgroup>
|
|
<tbody>
|
|
<tr>
|
|
<td><label for="">고객사 명</label></td>
|
|
<td><input type="text" id="oemName" name="oemName" value="<%=oemName%>"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><label for="">고객사 코드</label></td>
|
|
<td><input type="text" id="oemCode" name="oemCode" value="<%=oemCode%>"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><label for="">활성화 여부</label></td>
|
|
<td>
|
|
<select name="oemStatus" id="oemStatus">
|
|
<option value="">선택</option>
|
|
<option value="active" ${oemInfo.STATUS eq 'active' ? 'selected' : ''}>활성화</option>
|
|
<option value="inActive" ${oemInfo.STATUS eq 'inActive' ? 'selected' : ''}>비활성화</option>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div id="adminPopupBtnWrap">
|
|
<input type="button" value="고객사 저장" class="btns" onclick="javascript:saveOEMInfo();">
|
|
</div>
|
|
</div>
|
|
<div id="adminPopupFormWrap">
|
|
<table id="adminPopupForm">
|
|
<colgroup>
|
|
<col width="30%">
|
|
<col width="*">
|
|
</colgroup>
|
|
<tbody>
|
|
<tr>
|
|
<td><label for="">마일스톤명</label></td>
|
|
<td><input type="text" id="mName" name="mName"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><label for="">순서</label></td>
|
|
<td><input type="text" id="mSeq" name="mSeq"></td>
|
|
</tr>
|
|
<tr>
|
|
<td><label for="">활성화 여부</label></td>
|
|
<td>
|
|
<select name="mStatus">
|
|
<option value="">선택</option>
|
|
<option value="active">활성화</option>
|
|
<option value="inActive">비활성화</option>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div id="adminPopupBtnWrap">
|
|
<input type="button" value="마일스톤추가" class="btns" onclick="javascript:addMilestone();">
|
|
</div>
|
|
</div>
|
|
<div class="oem_pso_wrap">
|
|
<div id="adminPopTableW" style="height:350px;">
|
|
<table id="adminPopTable" class="cPopTable">
|
|
<colgroup>
|
|
<col width="10%" />
|
|
<col width="*" />
|
|
<col width="18%" />
|
|
<col width="10%" />
|
|
</colgroup>
|
|
<tr id="thead">
|
|
<td>Seq</td>
|
|
<td>마일스톤명</td>
|
|
<td>활성화 여부</td>
|
|
<td>항목삭제</td>
|
|
</tr>
|
|
<tbody id="oemMileStoneArea">
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div id="adminPopupBtnWrap">
|
|
<input type="button" value="마일스톤저장" class="btns" onclick="javascript:modifyMilestoneInfo();">
|
|
</div>
|
|
</div>
|
|
<div class="btnCenterWrap">
|
|
<center class="center_btns_wrap">
|
|
<input type="button" value="닫기" name="" id="btn_close" class="btns" onclick="javascript:self.close();">
|
|
</center>
|
|
</div>
|
|
</section>
|
|
</form>
|
|
</body>
|
|
</html> |