발주서 양식 변경 (외주가공)
This commit is contained in:
@@ -230,7 +230,7 @@ $(document).ready(function(){
|
||||
,{name:"PART_OBJID" , hidden: true, sortable:false, editable:false}
|
||||
,{name:"PART_NO" , hidden: true, sortable:false, editable:false}
|
||||
,{name:"ROW_NUM" , width:40, align:"center", sortable:false, editable:false}
|
||||
,{name:"PART_NAME" , width:170, align:"left", sortable:false, editable:<%= isModify %>}
|
||||
,{name:"PART_NAME" , width:170, align:"left", sortable:false, editable:false}
|
||||
,{name:"SPEC" , width:180, align:"left", sortable:false, editable:<%= isModify %>}
|
||||
,{name:"ORDER_QTY" , width:60, align:"right", sortable:false, editable:<%= isModify %>
|
||||
,formatter:"integer", formatoptions:{thousandsSeparator:","}
|
||||
|
||||
@@ -16,6 +16,14 @@
|
||||
isModify = false; //수정불가
|
||||
}
|
||||
String actType = (String)request.getAttribute("actType");
|
||||
|
||||
// 담당자 목록
|
||||
List userList = (List)request.getAttribute("userList");
|
||||
if(userList == null) userList = new ArrayList();
|
||||
|
||||
// 현재 선택된 담당자 ID (SALES_MNG_USER_ID, SALES_MNG_USER_ID2에 저장)
|
||||
String managerId = CommonUtils.checkNull(info != null ? info.get("SALES_MNG_USER_ID") : "");
|
||||
String managerId2 = CommonUtils.checkNull(info != null ? info.get("SALES_MNG_USER_ID2") : "");
|
||||
%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
@@ -36,9 +44,9 @@
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
margin-bottom: 20px;
|
||||
/* margin-bottom: 20px; */
|
||||
border-bottom: 2px solid #333;
|
||||
padding-bottom: 15px;
|
||||
/* padding-bottom: 15px; */
|
||||
}
|
||||
.po-logo {
|
||||
width: 120px;
|
||||
@@ -48,8 +56,7 @@
|
||||
flex-grow: 1;
|
||||
}
|
||||
.po-company-title {
|
||||
font-size: 14px;
|
||||
border: 1px solid #333;
|
||||
font-size: 16px;
|
||||
padding: 5px 15px;
|
||||
display: inline-block;
|
||||
margin-bottom: 5px;
|
||||
@@ -78,17 +85,17 @@
|
||||
.po-info-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-bottom: 15px;
|
||||
/* margin-bottom: 15px; */
|
||||
}
|
||||
.po-info-table td {
|
||||
padding: 8px;
|
||||
border: 1px solid #ddd;
|
||||
/* border: 1px solid #ddd; */
|
||||
font-size: 13px;
|
||||
}
|
||||
.po-info-table .label {
|
||||
background-color: #f5f5f5;
|
||||
/* background-color: #f5f5f5; */
|
||||
font-weight: bold;
|
||||
width: 120px;
|
||||
width: 20%;
|
||||
}
|
||||
.po-manager-box {
|
||||
border: 1px solid #333;
|
||||
@@ -133,8 +140,9 @@
|
||||
background-color: #fff9c4 !important;
|
||||
}
|
||||
.total-section {
|
||||
margin-top: 15px;
|
||||
/* margin-top: 15px; */
|
||||
border: 1px solid #333;
|
||||
width: 50%;
|
||||
}
|
||||
.total-section table {
|
||||
width: 100%;
|
||||
@@ -146,22 +154,29 @@
|
||||
font-size: 14px;
|
||||
}
|
||||
.total-section .label {
|
||||
background-color: #f0f0f0;
|
||||
background-color: #e2efda;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
width: 40%;
|
||||
}
|
||||
.total-section .amount {
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
.confidential-notice {
|
||||
margin-top: 20px;
|
||||
/* margin-top: 20px; */
|
||||
padding: 10px;
|
||||
border: 1px solid #ccc;
|
||||
background-color: #f9f9f9;
|
||||
/* border: 1px solid #ccc; */
|
||||
/* background-color: #f9f9f9; */
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
text-align: right;
|
||||
color: #cb3333;
|
||||
}
|
||||
input.date_icon {
|
||||
border: 1px solid #aaa !important;
|
||||
border-radius: 4px;
|
||||
padding: 2px 5px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -178,6 +193,24 @@ $(document).ready(function(){
|
||||
$(this).val(fnc_addComma($(this).val().replace(/[^0-9]/g,"")));
|
||||
});
|
||||
|
||||
// 담당자1 선택 시 전화번호/이메일 표시
|
||||
$("#SALES_MNG_USER_ID").change(function(){
|
||||
var $selected = $(this).find("option:selected");
|
||||
var phone = $selected.data("phone") || "";
|
||||
var email = $selected.data("email") || "";
|
||||
$("#display_phone1").text(phone);
|
||||
$("#display_email1").text(email);
|
||||
});
|
||||
|
||||
// 담당자2 선택 시 전화번호/이메일 표시
|
||||
$("#SALES_MNG_USER_ID2").change(function(){
|
||||
var $selected = $(this).find("option:selected");
|
||||
var phone = $selected.data("phone") || "";
|
||||
var email = $selected.data("email") || "";
|
||||
$("#display_phone2").text(phone);
|
||||
$("#display_email2").text(email);
|
||||
});
|
||||
|
||||
// 결재라인 가져오기
|
||||
fn_getApprLine();
|
||||
|
||||
@@ -196,7 +229,7 @@ $(document).ready(function(){
|
||||
,{name:"PURCHASE_ORDER_NO" , width:110, align:"center", sortable:false, editable:false}
|
||||
,{name:"PARTNER_NAME" , width:80, align:"center", sortable:false, editable:false}
|
||||
,{name:"PRODUCT_NAME" , width:160, align:"left", sortable:false, editable:<%= isModify %>}
|
||||
,{name:"PART_NAME" , width:80, align:"center", sortable:false, editable:<%= isModify %>}
|
||||
,{name:"PART_NAME" , width:80, align:"center", sortable:false, editable:false}
|
||||
,{name:"ORDER_QTY" , width:50, align:"right", sortable:false, editable:<%= isModify %>
|
||||
,formatter:"integer", formatoptions:{thousandsSeparator:","}
|
||||
,editoptions:{
|
||||
@@ -462,12 +495,15 @@ var gridFn = {
|
||||
<input type="hidden" name="MASTER_OBJID" id="MASTER_OBJID" value="${objId}" />
|
||||
<input type="hidden" name="PROPOSAL_OBJID" id="PROPOSAL_OBJID" value="${info.PROPOSAL_OBJID}" />
|
||||
<input type="hidden" name="FORM_TYPE" id="FORM_TYPE" value="outsourcing" />
|
||||
<input type="hidden" name="CONTRACT_MGMT_OBJID" id="CONTRACT_MGMT_OBJID" value="${info.CONTRACT_MGMT_OBJID}" />
|
||||
<input type="hidden" name="SALES_REQUEST_OBJID" id="SALES_REQUEST_OBJID" value="${info.SALES_REQUEST_OBJID}" />
|
||||
<input type="hidden" name="TYPE" id="TYPE" value="${info.TYPE}" />
|
||||
|
||||
<div class="po-container">
|
||||
<!-- 헤더 영역 -->
|
||||
<div class="po-header">
|
||||
<div class="po-logo">
|
||||
<img src="<%=request.getContextPath()%>/images/logo.png" alt="RPS Logo" style="max-width: 120px; height: auto;">
|
||||
<img src="<%=request.getContextPath()%>/images/logo.png" alt="RPS Logo" style="max-width: 200px; height: auto;">
|
||||
</div>
|
||||
<div class="po-title-area">
|
||||
<div class="po-company-title">㈜ 알피에스</div>
|
||||
@@ -490,7 +526,7 @@ var gridFn = {
|
||||
</div>
|
||||
|
||||
<!-- 기본정보 + 담당자 영역 -->
|
||||
<div style="display:flex; justify-content:space-between; margin-bottom:15px;">
|
||||
<div style="display:flex; justify-content:space-between; /* margin-bottom:15px; */">
|
||||
<div style="width:45%;">
|
||||
<table class="po-info-table">
|
||||
<tr>
|
||||
@@ -500,13 +536,13 @@ var gridFn = {
|
||||
<tr>
|
||||
<td class="label">2. 발주일자 :</td>
|
||||
<td>
|
||||
<input type="text" name="ORDER_DATE" id="ORDER_DATE" class="date_icon" value="${info.ORDER_DATE}" <% if(!isModify){ %>readonly<% } %> style="width:120px;"/>
|
||||
<input type="text" name="PURCHASE_DATE" id="PURCHASE_DATE" class="date_icon" value="${info.PURCHASE_DATE}" <% if(!isModify){ %>readonly<% } %> style="width:100%;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">3. 수신업체 :</td>
|
||||
<td>
|
||||
<select name="PARTNER_OBJID" id="PARTNER_OBJID" class="select2" style="width:200px;" <% if(!isModify){ %>disabled<% } %>>
|
||||
<select name="PARTNER_OBJID" id="PARTNER_OBJID" class="select2" style="width:100%;" <% if(!isModify){ %>disabled<% } %>>
|
||||
<option value="">선택</option>
|
||||
${code_map.partner_cd}
|
||||
</select>
|
||||
@@ -516,22 +552,84 @@ var gridFn = {
|
||||
</div>
|
||||
|
||||
<div style="width:50%;">
|
||||
<!-- 담당자 정보 -->
|
||||
<div class="po-manager-box">
|
||||
<div class="manager-title">담 당 자</div>
|
||||
<div style="font-size:12px; line-height:1.8; padding:10px;">
|
||||
${info.MANAGER_NAME} ${info.MANAGER_POSITION}<br/>
|
||||
(${info.MANAGER_PHONE} / ${info.MANAGER_EMAIL})<br/>
|
||||
${info.MANAGER_NAME2} ${info.MANAGER_POSITION2}<br/>
|
||||
(${info.MANAGER_PHONE2} / ${info.MANAGER_EMAIL2})
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 회사 정보 -->
|
||||
<div class="po-company-info">
|
||||
<div class="po-company-name">㈜알피에스 대표이사 이 동 헌</div>
|
||||
<div class="po-company-address">대전광역시 유성구 국제과학10로8(둔곡동 402-4번지)</div>
|
||||
</div>
|
||||
<!-- 담당자 박스 (일반발주서와 동일한 테이블 형태) -->
|
||||
<table style="width:100%; border-collapse:collapse; border:1px solid #000; font-size:10px;">
|
||||
<tr>
|
||||
<td rowspan="4" style="width:25%; text-align:center; font-weight:bold; border:1px solid #000; letter-spacing:3px; vertical-align:middle; font-size:11px; background-color:#d9d9d9;">담 당 자</td>
|
||||
<td style="border:1px solid #000; padding:2px 6px; text-align:center;">
|
||||
<% if(isModify){ %>
|
||||
<select name="SALES_MNG_USER_ID" id="SALES_MNG_USER_ID" style="width:150px; font-size:10px;">
|
||||
<option value="">선택</option>
|
||||
<%
|
||||
for(int u=0; u<userList.size(); u++){
|
||||
Map userMap = (Map)userList.get(u);
|
||||
String userId = CommonUtils.checkNull(userMap.get("user_id"));
|
||||
if("".equals(userId)) userId = CommonUtils.checkNull(userMap.get("USER_ID"));
|
||||
String userName = CommonUtils.checkNull(userMap.get("user_name"));
|
||||
if("".equals(userName)) userName = CommonUtils.checkNull(userMap.get("USER_NAME"));
|
||||
String positionName = CommonUtils.checkNull(userMap.get("position_name"));
|
||||
if("".equals(positionName)) positionName = CommonUtils.checkNull(userMap.get("POSITION_NAME"));
|
||||
String cellPhone = CommonUtils.checkNull(userMap.get("cell_phone"));
|
||||
if("".equals(cellPhone)) cellPhone = CommonUtils.checkNull(userMap.get("CELL_PHONE"));
|
||||
String email = CommonUtils.checkNull(userMap.get("email"));
|
||||
if("".equals(email)) email = CommonUtils.checkNull(userMap.get("EMAIL"));
|
||||
String selected = managerId.equals(userId) ? "selected" : "";
|
||||
%>
|
||||
<option value="<%=userId%>" data-name="<%=userName%>" data-position="<%=positionName%>" data-phone="<%=cellPhone%>" data-email="<%=email%>" <%=selected%>><%=userName%> <%=positionName%></option>
|
||||
<% } %>
|
||||
</select>
|
||||
<% } else { %>
|
||||
${info.MANAGER_NAME} ${info.MANAGER_POSITION}
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border:1px solid #000; padding:2px 6px; text-align:center; position:relative;">
|
||||
<span id="manager1_info">(<span id="display_phone1">${info.MANAGER_PHONE}</span> / <span id="display_email1">${info.MANAGER_EMAIL}</span>)</span>
|
||||
<!-- 직인 이미지 -->
|
||||
<img src="<%=request.getContextPath()%>/images/stamp_rps.png" alt="직인" style="position:absolute; right:5px; top:-10px; width:45px; height:45px; opacity:0.9;" onerror="this.style.display='none'">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border:1px solid #000; padding:2px 6px; text-align:center;">
|
||||
<% if(isModify){ %>
|
||||
<select name="SALES_MNG_USER_ID2" id="SALES_MNG_USER_ID2" style="width:150px; font-size:10px;">
|
||||
<option value="">선택</option>
|
||||
<%
|
||||
for(int u=0; u<userList.size(); u++){
|
||||
Map userMap = (Map)userList.get(u);
|
||||
String uId = CommonUtils.checkNull(userMap.get("user_id"));
|
||||
if("".equals(uId)) uId = CommonUtils.checkNull(userMap.get("USER_ID"));
|
||||
String uName = CommonUtils.checkNull(userMap.get("user_name"));
|
||||
if("".equals(uName)) uName = CommonUtils.checkNull(userMap.get("USER_NAME"));
|
||||
String pName = CommonUtils.checkNull(userMap.get("position_name"));
|
||||
if("".equals(pName)) pName = CommonUtils.checkNull(userMap.get("POSITION_NAME"));
|
||||
String cPhone = CommonUtils.checkNull(userMap.get("cell_phone"));
|
||||
if("".equals(cPhone)) cPhone = CommonUtils.checkNull(userMap.get("CELL_PHONE"));
|
||||
String eMail = CommonUtils.checkNull(userMap.get("email"));
|
||||
if("".equals(eMail)) eMail = CommonUtils.checkNull(userMap.get("EMAIL"));
|
||||
String selected2 = managerId2.equals(uId) ? "selected" : "";
|
||||
%>
|
||||
<option value="<%=uId%>" data-name="<%=uName%>" data-position="<%=pName%>" data-phone="<%=cPhone%>" data-email="<%=eMail%>" <%=selected2%>><%=uName%> <%=pName%></option>
|
||||
<% } %>
|
||||
</select>
|
||||
<% } else { %>
|
||||
${info.MANAGER_NAME2} ${info.MANAGER_POSITION2}
|
||||
<% } %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border:1px solid #000; padding:2px 6px; text-align:center;">
|
||||
<span id="manager2_info">(<span id="display_phone2">${info.MANAGER_PHONE2}</span> / <span id="display_email2">${info.MANAGER_EMAIL2}</span>)</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="border:1px solid #000; border-bottom:none; padding:5px; text-align:center; font-size:14px; font-weight:bold;">㈜알피에스 대표이사 이 동 헌</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="border:1px solid #000; border-top:none; padding:5px; text-align:center; font-size:11px; font-weight:bold;">대전광역시 유성구 국제과학10로8(둔곡동 402-4번지)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -541,13 +639,13 @@ var gridFn = {
|
||||
<!-- 버튼 영역 -->
|
||||
<div style="text-align:right; margin-bottom:10px;">
|
||||
<% if(isModify){ %>
|
||||
<input type="button" value="행추가" class="plm_btns" id="btnAdd" style="background:#dfeffc">
|
||||
<input type="button" value="행삭제" class="plm_btns" id="btnDel" style="background:#dfeffc">
|
||||
<input type="button" value="저장" class="plm_btns" id="btnSave" style="background:#dfeffc">
|
||||
<!-- <input type="button" value="행추가" id="btnAdd" style="background:#dfeffc; padding:5px 15px; cursor:pointer; font-size:14px; border-radius: 5px;">
|
||||
<input type="button" value="행삭제" id="btnDel" style="background:#dfeffc; padding:5px 15px; cursor:pointer; font-size:14px; border-radius: 5px;"> -->
|
||||
<input type="button" value="저장" id="btnSave" style="background:#dfeffc; padding:5px 15px; cursor:pointer; font-size:14px; border-radius: 5px;">
|
||||
<% }else{ %>
|
||||
<input type="button" value="발주서다운" class="plm_btns" id="btnDown" style="background:#dfeffc">
|
||||
<input type="button" value="발주서다운" id="btnDown" style="background:#dfeffc; padding:5px 15px; cursor:pointer; font-size:14px; border-radius: 5px;">
|
||||
<% } %>
|
||||
<input type="button" value="닫기" class="plm_btns" style="background:#dfeffc" onclick="window.close();">
|
||||
<input type="button" value="닫기" style="background:#dfeffc; padding:5px 15px; cursor:pointer; font-size:14px; border-radius: 5px;" onclick="window.close();">
|
||||
</div>
|
||||
|
||||
<!-- 그리드 -->
|
||||
@@ -557,10 +655,10 @@ var gridFn = {
|
||||
</div>
|
||||
|
||||
<!-- 합계 영역 -->
|
||||
<div class="total-section">
|
||||
<div class="total-section" style="margin-left:auto;">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="label" style="width:80%;">총 공 급 가 액</td>
|
||||
<td class="label">총 공 급 가 액</td>
|
||||
<td class="amount"><input type="text" name="TOTAL_SUPPLY_PRICE" id="TOTAL_SUPPLY_PRICE" value="" readonly style="border:none; text-align:right; width:100%; font-weight:bold; font-size:16px;"/></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user