199 lines
5.5 KiB
Plaintext
199 lines
5.5 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>
|
|
<style>
|
|
#adminMenuPopup1 tr td:first-child {
|
|
width:35% !important;
|
|
}
|
|
</style>
|
|
<script type="text/javascript">
|
|
$(function(){
|
|
//저장
|
|
$("#btnSave").click(function(){
|
|
fn_save();
|
|
});
|
|
|
|
$("#btnClose").click(function(){
|
|
self.close();
|
|
});
|
|
$("#CODE_ID").on('input', function() {
|
|
$(this).val($(this).val().toUpperCase());
|
|
});
|
|
});
|
|
|
|
function fn_save(){
|
|
if(fnc_valitate("form1")){
|
|
if(fnc_validateCodeID()){
|
|
if(fn_overlapStandardMng()){
|
|
if(confirm("저장하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/procurStandMgmt/saveCODE1Info.do",
|
|
type:"POST",
|
|
data:$("#form1").serialize(),
|
|
dataType:"json",
|
|
success:function(data){
|
|
alert(data.msg);
|
|
if(data.result){
|
|
opener.fn_search_old();
|
|
self.close();
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//저장 시 중복여부를 확인한다.
|
|
function fn_overlapStandardMng(){
|
|
var returnFlag = false;
|
|
|
|
$.ajax({
|
|
url:"/procurStandMgmt/overlapStandardMng.do",
|
|
type:"POST",
|
|
data:$("#form1").serialize(),
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
if(0 < data.length){
|
|
Swal.fire("중복되는 구분 및 코드가 존재합니다.\n구분 및 CODE를 확인하시기 바랍니다.");
|
|
returnFlag = false;
|
|
}else{
|
|
returnFlag = true;
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
return returnFlag;
|
|
}
|
|
|
|
function fnc_validateCodeID() {
|
|
var CATEGORY = $("#CATEGORY").val();
|
|
var codeID = $("#CODE_ID").val();
|
|
|
|
// 영어 대문자만 허용하는 정규표현식
|
|
var uppercaseRegex = /^[A-Z]+$/;
|
|
|
|
// 숫자만 허용하는 정규표현식
|
|
var numberRegex = /^[0-9]+$/;
|
|
|
|
// Check the length and format of the CODE_ID based on the CATEGORY value
|
|
if(CATEGORY === '0001668'){ // 대분류
|
|
if(codeID.length === 1 && uppercaseRegex.test(codeID)){
|
|
return true;
|
|
}else{
|
|
Swal.fire("대분류 코드는 1자리 영어 대문자만 입력 가능합니다.");
|
|
return false;
|
|
}
|
|
}else if(CATEGORY === '0001670'){ // Maker
|
|
if(codeID.length === 2 && uppercaseRegex.test(codeID)){
|
|
return true;
|
|
}else{
|
|
Swal.fire("Maker 코드는 2자리 영어 대문자만 입력 가능합니다.");
|
|
return false;
|
|
}
|
|
}else if(CATEGORY === '0001669'){ // 중분류
|
|
if(codeID.length === 3 && uppercaseRegex.test(codeID)){
|
|
return true;
|
|
}else{
|
|
Swal.fire("중분류 코드는 3자리 영어 대문자만 입력 가능합니다.");
|
|
return false;
|
|
}
|
|
}else if(CATEGORY === '0001671'){ // 품명
|
|
if(codeID.length === 3 && numberRegex.test(codeID)){
|
|
return true;
|
|
}else{
|
|
Swal.fire("품명 코드는 3자리 숫자만 입력 가능합니다.");
|
|
return false;
|
|
}
|
|
}else if(CATEGORY === '0001672'){ // 규격
|
|
if(codeID.length === 4 && numberRegex.test(codeID)) {
|
|
return true;
|
|
}else{
|
|
Swal.fire("규격 코드는 4자리 숫자만 입력 가능합니다.");
|
|
return false;
|
|
}
|
|
}else{
|
|
Swal.fire("올바른 카테고리를 선택해주세요.");
|
|
return false;
|
|
}
|
|
}
|
|
</script>
|
|
|
|
|
|
</head>
|
|
<body>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<input type="hidden" name="OBJID" id="OBJID" value="${codeInfo.OBJID}">
|
|
<input type="hidden" name="STATUS" id="STATUS" value="${codeInfo.STATUS}">
|
|
<input type="hidden" name="CATEGORY" id="CATEGORY" value="${param.CATEGORY}">
|
|
<section id="commonSection" class="carGradePopup">
|
|
<div id="adminMenuTt">
|
|
<h2>CODE 추가</h2>
|
|
</div>
|
|
<div id="MenuPopW">
|
|
<table id="adminMenuPopup1">
|
|
<colgroup>
|
|
<col width="20%" />
|
|
<col width="80%" />
|
|
</colgroup>
|
|
<tbody>
|
|
<tr>
|
|
<td>구분</td>
|
|
<td><input type="text" name="CODE_NAME" value="${codeInfo.CODE_NAME}" required title="구분"></td>
|
|
</tr>
|
|
<c:if test="${param.CATEGORY eq '0001668'}">
|
|
<tr>
|
|
<td>상세내용</td>
|
|
<td><input type="text" name="DETAIL" value="${codeInfo.DETAIL}"></td>
|
|
</tr>
|
|
</c:if>
|
|
<tr>
|
|
<td>CODE (
|
|
<c:choose>
|
|
<c:when test="${param.CATEGORY eq '0001668'}">1</c:when>
|
|
<%-- <c:when test="${param.CATEGORY eq '0001669' or param.CATEGORY eq '0001671'}">3</c:when> --%>
|
|
<c:when test="${param.CATEGORY eq '0001670'}">2</c:when>
|
|
<c:when test="${param.CATEGORY eq '0001672'}">4</c:when>
|
|
<c:otherwise>3</c:otherwise>
|
|
</c:choose>
|
|
자리)</td>
|
|
<c:set var="maxLength" value="${param.CATEGORY eq '0001668' ? 1 :
|
|
param.CATEGORY eq '0001670' ? 2 :
|
|
param.CATEGORY eq '0001672' ? 4 : 3}" />
|
|
<td><input type="text" name="CODE_ID" id="CODE_ID" value="${codeInfo.CODE_ID}" required title="CODE" maxlength="${maxLength}"></td>
|
|
</tr>
|
|
<!-- <tr>
|
|
<td>활성화 여부</td>
|
|
<td>
|
|
<select name="menuStatus">
|
|
<option value="active">활성화</option>
|
|
<option value="inActive">비활성화</option>
|
|
</select>
|
|
</td>
|
|
</tr> -->
|
|
</table>
|
|
</div>
|
|
<div id="adminPopupBtnWrap">
|
|
<center>
|
|
<input type="button" value="닫기" id="btnClose" class="plm_btns">
|
|
<input type="button" value="저장" id="btnSave" class="plm_btns">
|
|
</center>
|
|
</div>
|
|
</section>
|
|
</form>
|
|
</body>
|
|
</html> |