775 lines
26 KiB
Plaintext
775 lines
26 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
|
<%@ page import="java.util.*" %>
|
|
<%@include file= "/init.jsp" %>
|
|
|
|
<c:set var="now" value="<%=new java.util.Date() %>"/>
|
|
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
</head>
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
$("#ecrAttachFileArea").hide();
|
|
$("#ecrAttach1FileArea").hide();
|
|
$('.select2').select2();
|
|
fnc_datepick();
|
|
|
|
$("#btnSave" ).click(function(){
|
|
fn_save();
|
|
});
|
|
|
|
//닫기
|
|
$("#btnClose").click(function(){
|
|
self.close(0);
|
|
});
|
|
|
|
$("#project_objid").change(function(){
|
|
fn_UnitCodeList(this.value, "unit_code", "");
|
|
});
|
|
|
|
$("#issue_category").change(function(){
|
|
//function fnc_getCodeListAppend(codeId,selectboxId,selectedVal){
|
|
fnc_getCodeListAppend(this.value, "issue_type", "");
|
|
});
|
|
|
|
if("${info.PROJECT_OBJID}"!=""){
|
|
fn_UnitCodeList("${info.PROJECT_OBJID}", "unit_code", "${info.UNIT_CODE}");
|
|
}
|
|
|
|
if("${info.ISSUE_CATEGORY}"!=""){
|
|
fnc_getCodeListAppend("${info.ISSUE_CATEGORY}", "issue_type", "${info.ISSUE_TYPE}");
|
|
}
|
|
|
|
fnc_setFileDropZone("ecrDropZone", "${OBJID}", "ISSUE_ATTACH_01", "ISSUE이미지01", "fileAreaDraw",false,null,null);
|
|
fnc_setFileDropZone("ecr1DropZone", "${OBJID}", "ISSUE_ATTACH_02", "ISSUE이미지02", "fileAreaDraw",false,null,null);
|
|
|
|
fnc_setFileDropZone2("ISSUE01DropZone", "${OBJID}", "ISSUE01", "ISSUE01", "fileAreaDraw", false);
|
|
fnc_setFileDropZone2("ISSUE02DropZone", "${OBJID}", "ISSUE02", "ISSUE02", "fileAreaDraw", false);
|
|
|
|
fileAreaDraw();
|
|
|
|
$("#btnUpload").click(function() {
|
|
var files = $("#file1")[0].files;
|
|
if (files.length > 0) {
|
|
fnc_fileMultiUpload(files, null, "${OBJID}", "ISSUE01", "ISSUE01", null, "fileAreaDraw");
|
|
//file객체 초기화
|
|
$("#file1").val("");
|
|
} else {
|
|
Swal.fire("선택된 File이 없습니다.");
|
|
}
|
|
});
|
|
$("#btnUpload1").click(function() {
|
|
var files = $("#file2")[0].files;
|
|
if (files.length > 0) {
|
|
fnc_fileMultiUpload(files, null, "${OBJID}", "ISSUE02", "ISSUE02", null, "fileAreaDraw");
|
|
//file객체 초기화
|
|
$("#file2").val("");
|
|
} else {
|
|
Swal.fire("선택된 File이 없습니다.");
|
|
}
|
|
});
|
|
});
|
|
|
|
function fileAreaDraw(){
|
|
fn_Img_fileCallback("ecrAttach","ISSUE_ATTACH_01");
|
|
fn_Img_fileCallback("ecrAttach1","ISSUE_ATTACH_02");
|
|
fn_fileCallback("ISSUE01", "ISSUE01");
|
|
fn_fileCallback("ISSUE02", "ISSUE02");
|
|
}
|
|
|
|
//첨부파일 목록을 가져온다.
|
|
function fn_Img_fileCallback(areaId,fileType){
|
|
$.ajax({
|
|
url:"/common/getFileList.do",
|
|
type:"POST",
|
|
data:{"targetObjId":"${OBJID}", "docType":fileType},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
if(0 < data.length){
|
|
|
|
//첨부파일 목록 영역 show
|
|
$("#"+areaId+"FileArea").empty();
|
|
$("#"+areaId+"FileArea").show();
|
|
if(0 < $("#"+areaId+"DefaultRow").length){
|
|
$("#"+areaId+"DefaultRow").hide();
|
|
}
|
|
|
|
$.each(data, function(i){
|
|
|
|
var appendText = "";
|
|
if("ecrAttach" == areaId){
|
|
$("#ecrDropZone").hide();
|
|
var path = data[i].FILE_PATH;
|
|
var fileName = data[i].SAVED_FILE_NAME;
|
|
var fileExt = data[i].UPPER_FILE_EXT;
|
|
var srcLocation = encodeURI("/common/viewImage.do?realFileName="+data[i].REAL_FILE_NAME+"&savedFileName="+data[i].SAVED_FILE_NAME+"&attDir="+data[i].FILE_PATH);
|
|
appendText+= "<img src='"+srcLocation+"' style='width:96% !important; height:132px; margin:0;padding:0;' onclick=\"openImagePopUp(this.src)\" style='cursor:pointer;' />";
|
|
|
|
appendText+= " <div class='align_l'><a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'> "+data[i].REAL_FILE_NAME+"</a>";
|
|
<c:if test="${param.actionType eq 'regist' or info.WRITER eq connectUserId or 'plm_admin' eq connectUserId}">
|
|
appendText+= "<a href='javascript:fileDelete(\""+data[i].OBJID+"\",\""+areaId+"\")'><div class='delete_btn'></div></a>";
|
|
</c:if>
|
|
appendText+= "</div>";
|
|
//$("#ecrDropZone").hide();
|
|
} else if("ecrAttach1" == areaId){
|
|
var path = data[i].FILE_PATH;
|
|
var fileName = data[i].SAVED_FILE_NAME;
|
|
var fileExt = data[i].UPPER_FILE_EXT;
|
|
var srcLocation = encodeURI("/common/viewImage.do?realFileName="+data[i].REAL_FILE_NAME+"&savedFileName="+data[i].SAVED_FILE_NAME+"&attDir="+data[i].FILE_PATH);
|
|
appendText+= "<img src='"+srcLocation+"' style='width:96% !important; height:132px; margin:0;padding:0;' onclick=\"openImagePopUp(this.src)\" style='cursor:pointer;' />";
|
|
appendText+= " <div class='align_l'><a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'> "+data[i].REAL_FILE_NAME+"</a>";
|
|
<c:if test="${param.actionType eq 'regist' or info.WRITER eq connectUserId or 'plm_admin' eq connectUserId}">
|
|
appendText+= "<a href='javascript:fileDelete(\""+data[i].OBJID+"\",\""+areaId+"\")'><div class='delete_btn'></div></a>";
|
|
</c:if>
|
|
appendText+= "</div>";
|
|
$("#ecr1DropZone").hide();
|
|
}
|
|
|
|
$("#"+areaId+"FileArea").append(appendText);
|
|
});
|
|
}else{
|
|
$("#"+areaId+"DropZone").show();
|
|
$("#"+areaId+"AttachFileList").hide();
|
|
$("#"+areaId+"FileArea").empty();
|
|
/* var appendText = "";
|
|
appendText += "<tr>";
|
|
appendText += "<td>첨부 파일이 없습니다.</td>";
|
|
appendText +="</tr>";
|
|
$("#"+areaId+"FileArea").append(appendText); */
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}//파일 첨부 END
|
|
|
|
function fnc_setFileDropZone2(divId, targetObjId, docType, docTypeName, callbackFnc, onlyOne, preProcessor, url, okExt) {
|
|
var obj = $("#" + divId);
|
|
|
|
obj.on('dragenter', function(e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
$(".DZbgimg").css("background-image", "url(/images/dregndrop2.png)");
|
|
});
|
|
|
|
obj.on('dragleave', function(e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
$(".DZbgimg").css("background-image", "url(/images/dregndrop1.png)");
|
|
});
|
|
|
|
obj.on('dragover', function(e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
});
|
|
|
|
obj.on('drop', function(e) {
|
|
e.preventDefault();
|
|
|
|
var files = e.originalEvent.dataTransfer.files;
|
|
if (files.length < 1) {
|
|
return;
|
|
}
|
|
|
|
if (onlyOne) {
|
|
if (files.length > 1) {
|
|
Swal.fire("1개의 파일만 등록 가능합니다.");
|
|
return;
|
|
}
|
|
}
|
|
|
|
if (preProcessor != null)
|
|
eval(fnc_checkNull(preProcessor) + "();");
|
|
if (url == null)
|
|
url = "/common/fileUploadProc.do";
|
|
|
|
fnc_fileMultiUpload1(files, obj, targetObjId, docType, docTypeName, url, callbackFnc, okExt);
|
|
//eval(uploadFnc+"(files, obj, uploadUrl, callbackFnc);");
|
|
});
|
|
}
|
|
|
|
function file_check(doctype, filesize) {
|
|
//파일 다시그리기
|
|
|
|
if (filesize > 0) {
|
|
$("#" + doctype).removeClass("file_icon file_empty_icon");
|
|
$("#" + doctype).addClass("file_icon");
|
|
} else {
|
|
$("#" + doctype).removeClass("file_icon file_empty_icon");
|
|
$("#" + doctype).addClass("file_empty_icon");
|
|
}
|
|
}
|
|
|
|
//첨부파일 목록을 가져온다.
|
|
function fn_fileCallback(areaId, fileType) {
|
|
$.ajax({
|
|
url : "/common/getFileList.do",
|
|
type : "POST",
|
|
data : {
|
|
"targetObjId" : "${OBJID}",
|
|
"docType" : fileType
|
|
},
|
|
dataType : "json",
|
|
async : false,
|
|
success : function(data) {
|
|
if (data.length > 0) {
|
|
//첨부파일 목록 영역 show
|
|
$("#" + areaId + "FileArea").empty();
|
|
|
|
if ($("#" + areaId + "DefaultRow").length > 0) {
|
|
$("#" + areaId + "DefaultRow").hide();
|
|
}
|
|
|
|
var appendText = "";
|
|
appendText += "<colgroup>";
|
|
appendText += " <col width='100%'>";
|
|
appendText += "</colgroup>";
|
|
|
|
$.each(data, function(i) {
|
|
var _appendText = "";
|
|
var path = data[i].FILE_PATH;
|
|
var fileName = data[i].SAVED_FILE_NAME;
|
|
var fileExt = data[i].UPPER_FILE_EXT;
|
|
|
|
_appendText += "<tr>";
|
|
_appendText += " <td class='align_l' style='border:none;'><a href='javascript:fnc_downloadFile(\""
|
|
+ data[i].OBJID
|
|
+ "\")'> "
|
|
+ data[i].REAL_FILE_NAME
|
|
+ "</a>";
|
|
<c:if test="${param.actionType eq 'regist' or info.WRITER eq connectUserId or 'plm_admin' eq connectUserId}">
|
|
_appendText += " <a href='javascript:fileDelete(\""
|
|
+ data[i].OBJID
|
|
+ "\",\""
|
|
+ areaId
|
|
+ "\")'><div class='delete_btn'></div></a>";
|
|
</c:if>
|
|
_appendText += " </td>";
|
|
_appendText += "</tr>";
|
|
appendText += _appendText;
|
|
});
|
|
$("#" + areaId + "FileArea").append(appendText);
|
|
$("#" + areaId + "FileArea").show();
|
|
} else {
|
|
$("#" + areaId + "DropZone").show();
|
|
$("#" + areaId + "FileArea").empty();
|
|
$("#" + areaId + "FileArea").hide();
|
|
}
|
|
},
|
|
error : function(jqxhr, status, error) {
|
|
}
|
|
});
|
|
}
|
|
|
|
//첨부 파일 삭제
|
|
function fileDelete(fileObjId){
|
|
if(confirm("파일을 삭제하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/common/deleteFileInfo.do",
|
|
type:"POST",
|
|
data:{"objId":fileObjId},
|
|
dataType:"json",
|
|
async:true,
|
|
success:function(data){
|
|
fileAreaDraw();
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
//첨부파일 미리보기
|
|
function openImagePopUp(url){
|
|
var img=new Image();
|
|
img.src=url;
|
|
var img_width=img.width;
|
|
var img_height=img.height;
|
|
var win_width=img.width+25;
|
|
var height=img.height+30;
|
|
|
|
window.open(url,"partListShapeImgPopUp","width="+img_width+",height="+height+", menubars=no, scrollbars=yes'");
|
|
}
|
|
|
|
|
|
function fnc_fileMultiUpload1(files, obj, targetObjId, docType,
|
|
docTypeName, uploadUrl, callbackFnc, okExt) {
|
|
if (okExt != null) {
|
|
for (var i = 0; i < files.length; i++) {
|
|
var _fileName = files[i].name;
|
|
var _ext = _fileName.substring(_fileName.lastIndexOf(".") + 1)
|
|
.toUpperCase()
|
|
+ ",";
|
|
|
|
if ((okExt.toUpperCase() + ",").indexOf(_ext) < 0) {
|
|
Swal.fire("허용되지 않은 확장자입니다.\n업로드 가능 확장자 : " + okExt);
|
|
return;
|
|
}
|
|
}
|
|
} else {
|
|
var _okExt = "JSP,BAT,EXE,PHP,JS,SQL";
|
|
for (var i = 0; i < files.length; i++) {
|
|
var _fileName = files[i].name;
|
|
var _ext = _fileName.substring(_fileName.lastIndexOf(".") + 1)
|
|
.toUpperCase();
|
|
if (_okExt.toUpperCase().indexOf(_ext) > 0) {
|
|
Swal.fire("허용되지 않은 확장자입니다." + _ext);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
for (var i = 0; i < files.length; i++) {
|
|
var _fileName = files[i].name;
|
|
var pattern = /[#%&*+[]]/;
|
|
|
|
if (pattern.test(_fileName)) {
|
|
Swal.fire("파일에 허용되지 않은 특수문자를 포함하고 있습니다(#,%,&,*,+,[,]).");
|
|
return;
|
|
}
|
|
}
|
|
|
|
if (confirm(files.length + "개의 파일을 업로드 하시겠습니까?")) {
|
|
|
|
uploadUrl = fnc_checkNull(uploadUrl);
|
|
if (uploadUrl == "")
|
|
uploadUrl = "/common/fileUploadProc.do";
|
|
|
|
var data = new FormData();
|
|
for (var i = 0; i < files.length; i++) {
|
|
data.append('file', files[i]);
|
|
}
|
|
|
|
//기본정보 세팅
|
|
data.append("targetObjId", targetObjId);
|
|
data.append("docType", docType);
|
|
data.append("docTypeName", docTypeName);
|
|
|
|
//var url = "/common/fileUploadProc.do";
|
|
$.ajax({
|
|
url : uploadUrl,
|
|
method : 'post',
|
|
data : data,
|
|
dataType : 'text',
|
|
processData : false,
|
|
contentType : false,
|
|
beforeSend : function() {
|
|
_startLoading1();
|
|
},
|
|
success : function(res) {
|
|
if (fnc_checkNull(callbackFnc) != "") {
|
|
eval(callbackFnc + "();");
|
|
} else {
|
|
fnc_fileMultiUpload1_Callback(res.files);
|
|
}
|
|
},
|
|
complete : function() {
|
|
_endLoading1();
|
|
},
|
|
error : function(jqxhr, status, error) {
|
|
Swal.fire(jqxhr.statusText + ", " + status + ", "
|
|
+ error);
|
|
Swal.fire(jqxhr.status);
|
|
Swal.fire(jqxhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
function fnc_fileMultiUpload1_Callback(files) {
|
|
for (var i = 0; i < files.length; i++)
|
|
console.log(files[i].file_nm + " - " + files[i].file_size);
|
|
}
|
|
|
|
function _startLoading1(loadingMsg) {
|
|
$(".loader_back").hide();
|
|
$(".loader").show();
|
|
|
|
}
|
|
|
|
function _endLoading1() {
|
|
$(".loader").hide();
|
|
$(".loader_back").show();
|
|
}
|
|
|
|
function fn_save(){
|
|
if(fnc_validate('form1')){
|
|
if(fn_checkInputData()){
|
|
if(confirm("저장하시겠습니까?")){
|
|
fn_save_process();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function fn_save_process(){
|
|
|
|
$.ajax({
|
|
url : "/productionplanning/saveissueInfo.do",
|
|
type : "POST",
|
|
data : $("#form1").serialize(),
|
|
dataType : "json",
|
|
success : function(data) {
|
|
alert(data.RESULT.msg);
|
|
opener.fn_search();
|
|
self.close();
|
|
},
|
|
error : function(jqxhr, status, error) {
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
function fn_searchPartListPopUp(){
|
|
var url = "/common/searchPartListPopUp.do?CALL_FN=fn_setPartInfo";
|
|
window.open(url,"","width=1600, height=800, menubars=no, scrollbars=yes, resizable=yes");
|
|
}
|
|
|
|
function fn_setPartInfo(params){
|
|
|
|
$("#part_objid").val(params.PART_OBJID);
|
|
$("#part_no").val(params.PART_NO);
|
|
$("#part_name").val(params.PART_NAME);
|
|
}
|
|
|
|
function fn_initPartInfo(){
|
|
if(confirm("초기화 하시겠습니까?")){
|
|
$("#part_objid").val("");
|
|
$("#part_no").val("");
|
|
$("#part_name").val("");
|
|
}
|
|
}
|
|
|
|
function checkField(userid, result, date, fieldName) {
|
|
const useridValue = $(userid).val();
|
|
const resultValue = $(result).val();
|
|
const dateValue = $(date).val();
|
|
|
|
// 담당자만 입력된 경우는 유효함
|
|
if (useridValue !== "" && resultValue === "" && dateValue === "") {
|
|
return true;
|
|
}
|
|
|
|
// 조치내역이나 조치일이 입력된 경우, 모든 필드가 입력되어야 함
|
|
if (resultValue !== "" || dateValue !== "") {
|
|
if (useridValue === "" || resultValue === "" || dateValue === "") {
|
|
Swal.fire(fieldName + "정보를 모두 입력해주세요. </br> (조치내역, 조치일)");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
function fn_checkInputData() {
|
|
const fields = [
|
|
{name: '설계', userid: '#design_userid', result: '#design_result', date: '#design_date'},
|
|
{name: '구매', userid: '#purchase_userid', result: '#purchase_result', date: '#purchase_date'},
|
|
{name: '품질', userid: '#quality_userid', result: '#quality_result', date: '#quality_date'},
|
|
{name: '생산', userid: '#production_userid', result: '#production_result', date: '#production_date'}
|
|
];
|
|
|
|
for (let field of fields) {
|
|
if (!checkField(field.userid, field.result, field.date, field.name)) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
/* function fn_checkInputData(){
|
|
var returnFlag = true;
|
|
|
|
var design_userid = $("#design_userid").val();
|
|
var design_date = $("#design_date").val();
|
|
|
|
if(design_userid != "" && design_date != ""){
|
|
var design_result = $("#design_result").val();
|
|
if(design_result == ""){
|
|
Swal.fire("조치내역을 등록해주세요.");
|
|
returnFlag = false;
|
|
return false;
|
|
}
|
|
}
|
|
return returnFlag;
|
|
} */
|
|
|
|
</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_named">
|
|
<h2>
|
|
<span>생산관리 이슈등록</span>
|
|
</h2>
|
|
</div>
|
|
|
|
<div id="EntirePopupFormWrap">
|
|
<div class="form_popup_title">
|
|
<span>이슈등록 정보입력</span>
|
|
</div>
|
|
<table class="pmsPopuptable">
|
|
<colgroup>
|
|
<col width="11%" />
|
|
<col width="20%" />
|
|
<col width="20%" />
|
|
<col width="11%" />
|
|
<col width="20%" />
|
|
<col width="20%" />
|
|
</colgroup>
|
|
<tr>
|
|
<td class="input_title"><label for="">프로젝트번호</label></td>
|
|
<td colspan="2">
|
|
<select name="project_objid" id="project_objid" reqTitle="프로젝트번호" type="select" class="select2" required>
|
|
<option value="">선택</option> ${code_map.project_no}
|
|
</select>
|
|
</td>
|
|
<td class="input_title"><label for="">유닛명</label></td>
|
|
<td colspan="2">
|
|
<select name="unit_code" id="unit_code" class="select2" type="select" autocomplete="off" reqTitle="유닛명" required>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title"><label for="">품번</label></td>
|
|
<td colspan="2">
|
|
<input type="hidden" name="part_objid" id="part_objid" value="${info.PART_OBJID}">
|
|
<input type="text" name="part_no" id="part_no" reqTitle="품번" value="${info.PART_NO}" required style="width:240px;">
|
|
<a href='#' onclick="fn_searchPartListPopUp();">O</a>
|
|
<a href="#" onclick="fn_initPartInfo();">X</a>
|
|
</td>
|
|
|
|
<td class="input_title"><label for="">품명</label></td>
|
|
<td colspan="2">
|
|
<input type="text" name="part_name" id="part_name" value="${info.PART_NAME}" required>
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title"><label for="">이슈구분</label></td>
|
|
<td colspan="2">
|
|
<select name="issue_category" id="issue_category" reqTitle="이슈구분" type="select" class="select2">
|
|
<option value="">선택</option> ${code_map.issue_category}
|
|
</select>
|
|
</td>
|
|
<td class="input_title"><label for="">이슈유형</label></td>
|
|
<td colspan="2">
|
|
<select name="issue_type" id="issue_type" class="select2" style="" autocomplete="off">
|
|
</td>
|
|
</tr>
|
|
|
|
|
|
<tr>
|
|
<td class="input_title"><label for="">조치전 이미지</label></td>
|
|
<td colspan="2">
|
|
<div class="in_table_scroll_wrap _table1" style="height: 100%; width:100%;">
|
|
<div id="ecrDropZone" class="dropzone" style="width:99%;height:94%;margin-top:0px; border: 2px dotted rgb(130, 150, 194);"> Drag & Drop Image Files Here</div>
|
|
<div id="ecrAttachFileArea"></div>
|
|
</div>
|
|
</td>
|
|
<td class="input_title"><label for="">조치후 이미지</label></td>
|
|
<td colspan="2">
|
|
<div class="in_table_scroll_wrap _table1" style="height:150px; width:98%;">
|
|
<div id="ecr1DropZone" class="dropzone" style="width:99%;height:94%;margin-top:0px; border: 2px dotted rgb(130, 150, 194);"> Drag & Drop Image Files Here</div>
|
|
<div id="ecrAttach1FileArea"></div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="2" class="input_title"><label for="">조치전 첨부파일</label></td>
|
|
<td colspan="2" style="vertical-align: top;">
|
|
<div class="dropzonebox">
|
|
<div id="ISSUE01DropZone" class="new_dropzone" style="width: 63%;" required>
|
|
<div class="DZbgimg"></div>
|
|
DRAG & DROP
|
|
</div>
|
|
<div class="new_dropzone_sc" style="width: 32%;">
|
|
<div class="loader_back"></div>
|
|
<div class="loader"></div>
|
|
</div>
|
|
<div class="dropzoneDB" style="left: 75%;">
|
|
<label>${info.FILE_SIZE1}B</label>
|
|
</div>
|
|
<div class="dropzonefile" style="left: 85%;">
|
|
<label>${info.FILE_CNT1}File</label>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td rowspan="2" class="input_title"><label for="">조치후 첨부파일</label></td>
|
|
<td colspan="2" style="vertical-align: top;">
|
|
<div class="dropzonebox">
|
|
<div id="ISSUE02DropZone" class="new_dropzone" style="width: 63%;" required>
|
|
<div class="DZbgimg"></div>
|
|
DRAG & DROP
|
|
</div>
|
|
<div class="new_dropzone_sc" style="width: 32%;">
|
|
<div class="loader_back"></div>
|
|
<div class="loader"></div>
|
|
</div>
|
|
<div class="dropzoneDB" style="left: 75%;">
|
|
<label>${info.FILE_SIZE2}B</label>
|
|
</div>
|
|
<div class="dropzonefile" style="left: 85%;">
|
|
<label>${info.FILE_CNT2}File</label>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2" style="vertical-align: top;">
|
|
<table id="ISSUE01FileAreaTable" class="fileListscrollThead_x"
|
|
style="width: 100% !important; border-spacing: 0;">
|
|
</table>
|
|
<div class="PmsPopuptable_scroll_hover">
|
|
<div class="PmsPopuptable_scroll_PC" style="width: 99%; min-height: 50px;max-height: 130px; overflow-y: scroll;">
|
|
<table class="fileListscrollTbody" style="width: 100% !important;">
|
|
<colgroup>
|
|
<col width="100%">
|
|
</colgroup>
|
|
<tbody id="ISSUE01FileArea" class="fileListscrollTbody">
|
|
<tr>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="cover-bar" style="right: -1.1%;"></div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td colspan="2" style="vertical-align: top;">
|
|
<table id="ISSUE02FileAreaTable" class="fileListscrollThead_x"
|
|
style="width: 100% !important; border-spacing: 0;">
|
|
</table>
|
|
<div class="PmsPopuptable_scroll_hover">
|
|
<div class="PmsPopuptable_scroll_PC" style="width: 99%; min-height: 50px;max-height: 130px; overflow-y: scroll;">
|
|
<table class="fileListscrollTbody" style="width: 100% !important;">
|
|
<colgroup>
|
|
<col width="100%">
|
|
</colgroup>
|
|
<tbody id="ISSUE02FileArea" class="fileListscrollTbody">
|
|
<tr>
|
|
<td></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="cover-bar" style="right: -1.1%;"></div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title"><label for="">이슈내용</label></td>
|
|
<td colspan="5">
|
|
<textarea placeholder="이슈내용작성" id="content" name="content" style="border:3px solid #ccc; width:99.2%; ">${info.CONTENT}</textarea>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title"><label for="">설계담당자</label></td>
|
|
<td>
|
|
<select name="design_userid" id="design_userid" reqTitle="설계담당자" type="select" class="select2">
|
|
<option value="">선택</option> ${code_map.design_userid}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title"><label for="">조치내역</label></td>
|
|
<td>
|
|
<select name="design_result" id="design_result" reqTitle="조치내역" type="select" class="select2">
|
|
<option value="">선택</option> ${code_map.design_result}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title"><label for="">조치일</label></td>
|
|
<td>
|
|
<input type="text" class="date_icon" name="design_date" id="design_date" reqTitle="조치일" value="${info.DESIGN_DATE}" />
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title"><label for="">구매담당자</label></td>
|
|
<td>
|
|
<select name="purchase_userid" id="purchase_userid" reqTitle="구매담당자" type="select" class="select2">
|
|
<option value="">선택</option> ${code_map.purchase_userid}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title"><label for="">조치내역</label></td>
|
|
<td>
|
|
<select name="purchase_result" id="purchase_result" reqTitle="조치내역" type="select" class="select2">
|
|
<option value="">선택</option> ${code_map.purchase_result}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title"><label for="">조치일</label></td>
|
|
<td>
|
|
<input type="text" class="date_icon" name="purchase_date" id="purchase_date" reqTitle="조치일" value="${info.PURCHASE_DATE}" />
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title"><label for="">품질담당자</label></td>
|
|
<td>
|
|
<select name="quality_userid" id="quality_userid" reqTitle="품질담당자" type="select" class="select2">
|
|
<option value="">선택</option> ${code_map.quality_userid}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title"><label for="">조치내역</label></td>
|
|
<td>
|
|
<select name="quality_result" id="quality_result" reqTitle="조치내역" type="select" class="select2">
|
|
<option value="">선택</option> ${code_map.quality_result}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title"><label for="">조치일</label></td>
|
|
<td>
|
|
<input type="text" class="date_icon" name="quality_date" id="quality_date" reqTitle="조치일" value="${info.QUALITY_DATE}" />
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title"><label for="">생산담당자</label></td>
|
|
<td>
|
|
<select name="production_userid" id="production_userid" reqTitle="품질담당자" type="select" class="select2">
|
|
<option value="">선택</option> ${code_map.production_userid}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title"><label for="">조치내역</label></td>
|
|
<td>
|
|
<select name="production_result" id="production_result" reqTitle="조치내역" type="select" class="select2">
|
|
<option value="">선택</option> ${code_map.production_result}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title"><label for="">조치일</label></td>
|
|
<td>
|
|
<input type="text" class="date_icon" name="production_date" id="production_date" reqTitle="조치일" value="${info.PRODUCTION_DATE}" />
|
|
</td>
|
|
</tr>
|
|
|
|
</table>
|
|
</div>
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap_center">
|
|
<c:choose>
|
|
<c:when test="${info eq null}">
|
|
<input type="button" value="저장" id="btnSave" class="plm_btns">
|
|
</c:when>
|
|
<c:otherwise>
|
|
<input type="button" value="수정" id="btnSave" class="plm_btns">
|
|
</c:otherwise>
|
|
</c:choose>
|
|
<input type="button" value="닫기" id="btnClose" class="plm_btns">
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</form>
|
|
</body>
|
|
</html> |