- Add Docker Compose configurations for dev, prod, and standalone environments - Add database initialization scripts (init-db.sh, init-db-docker.sh) - Add enhanced start-docker-linux.sh with DB init support - Add comprehensive database initialization guide - Support for automatic dbexport.pgsql import on first run - Include safety checks for production environment
778 lines
26 KiB
Plaintext
778 lines
26 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ page import="java.util.*" %>
|
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
|
<%@include file= "/init.jsp" %>
|
|
<%
|
|
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
|
|
String userId = CommonUtils.checkNull(person.getUserId());
|
|
%>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
<script type="text/javascript">
|
|
$(function(){
|
|
|
|
$('.select2').select2();
|
|
|
|
//금액1(원)
|
|
$("#contract_product_price").change(function(){
|
|
var contract_product_price = $(this).val().replace(/,/gi,"");
|
|
|
|
var qty = $("#qty").val().replace(/,/gi,"");
|
|
|
|
var sale = $("#sale").val().replace(/,/gi,"");
|
|
|
|
var other_price = $("#other_price").val().replace(/,/gi,"");
|
|
|
|
if (isNaN(contract_product_price) || ""==contract_product_price) contract_product_price = 0;
|
|
|
|
if (isNaN(other_price) || ""==other_price) other_price = 0;
|
|
if (isNaN(qty) || ""==qty) qty = 0;
|
|
if (isNaN(sale) || ""==sale) sale = 1;
|
|
|
|
var product_price = (parseInt(contract_product_price) * parseInt(qty));
|
|
if (isNaN(product_price)) product_price = 0;
|
|
$("#product_price").val(addComma(product_price));
|
|
|
|
|
|
var total_price = parseInt(product_price)+parseInt(other_price);
|
|
|
|
if (isNaN(total_price)) total_price = 0;
|
|
|
|
$("#total_price").val(addComma(total_price));
|
|
var final_price = "";
|
|
if($("#sale").val()==""){
|
|
final_price = parseInt(total_price) * sale;
|
|
|
|
}else{
|
|
final_price = parseInt(total_price) - (parseInt(total_price) * (parseInt(sale) / 100));
|
|
}
|
|
|
|
if (isNaN(final_price)) final_price = 0;
|
|
$("#final_total_price").val(addComma(final_price));
|
|
|
|
});
|
|
|
|
//수량(원)
|
|
$("#qty").change(function(){
|
|
var contract_product_price = $("#contract_product_price").val().replace(/,/gi,"");
|
|
|
|
var qty = $(this).val().replace(/,/gi,"");
|
|
|
|
var sale = $("#sale").val().replace(/,/gi,"");
|
|
|
|
var other_price = $("#other_price").val().replace(/,/gi,"");
|
|
|
|
if (isNaN(contract_product_price) || ""==contract_product_price) contract_product_price = 0;
|
|
|
|
if (isNaN(other_price) || ""==other_price) other_price = 0;
|
|
if (isNaN(qty) || ""==qty) qty = 0;
|
|
if (isNaN(sale) || ""==sale) sale = 1;
|
|
|
|
var product_price = (parseInt(contract_product_price) * parseInt(qty));
|
|
if (isNaN(product_price)) product_price = 0;
|
|
$("#product_price").val(addComma(product_price));
|
|
|
|
|
|
var total_price = parseInt(product_price)+parseInt(other_price);
|
|
|
|
if (isNaN(total_price)) total_price = 0;
|
|
|
|
$("#total_price").val(addComma(total_price));
|
|
var final_price = "";
|
|
if($("#sale").val()==""){
|
|
final_price = parseInt(total_price) * sale;
|
|
|
|
}else{
|
|
final_price = parseInt(total_price) - (parseInt(total_price) * (parseInt(sale) / 100));
|
|
}
|
|
|
|
if (isNaN(final_price)) final_price = 0;
|
|
$("#final_total_price").val(addComma(final_price));
|
|
|
|
});
|
|
|
|
//기타비용
|
|
$("#other_price").change(function(){
|
|
var contract_product_price = $("#contract_product_price").val().replace(/,/gi,"");
|
|
|
|
var qty = $("#qty").val().replace(/,/gi,"");
|
|
|
|
var sale = $("#sale").val().replace(/,/gi,"");
|
|
|
|
var other_price = $(this).val().replace(/,/gi,"");
|
|
|
|
if (isNaN(contract_product_price) || ""==contract_product_price) contract_product_price = 0;
|
|
|
|
if (isNaN(other_price) || ""==other_price) other_price = 0;
|
|
if (isNaN(qty) || ""==qty) qty = 0;
|
|
if (isNaN(sale) || ""==sale) sale = 1;
|
|
|
|
var product_price = (parseInt(contract_product_price) * parseInt(qty));
|
|
if (isNaN(product_price)) product_price = 0;
|
|
$("#product_price").val(addComma(product_price));
|
|
|
|
|
|
var total_price = parseInt(product_price)+parseInt(other_price);
|
|
|
|
if (isNaN(total_price)) total_price = 0;
|
|
|
|
$("#total_price").val(addComma(total_price));
|
|
var final_price = "";
|
|
if($("#sale").val()==""){
|
|
final_price = parseInt(total_price) * sale;
|
|
|
|
}else{
|
|
final_price = parseInt(total_price) - (parseInt(total_price) * (parseInt(sale) / 100));
|
|
}
|
|
|
|
if (isNaN(final_price)) final_price = 0;
|
|
$("#final_total_price").val(addComma(final_price));
|
|
|
|
});
|
|
|
|
|
|
//할인
|
|
$("#sale").change(function(){
|
|
var total_price = $("#total_price").val().replace(/,/gi,"");
|
|
var sale = $(this).val().replace(/,/gi,"");
|
|
|
|
if (isNaN(total_price)) total_price = 0;
|
|
|
|
var final_price = "";
|
|
if($("#sale").val()==""){
|
|
final_price = parseInt(total_price) * sale;
|
|
|
|
}else{
|
|
final_price = parseInt(total_price) - (parseInt(total_price) * (parseInt(sale) / 100));
|
|
}
|
|
|
|
if (isNaN(final_price)) final_price = 0;
|
|
$("#final_total_price").val(addComma(final_price));
|
|
|
|
});
|
|
|
|
$("input:text[numberOnly]").on("keyup", function() {
|
|
$(this).val(addComma($(this).val().replace(/[^0-9]/g,"")));
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//첨부파일
|
|
fnc_setFileDropZone("estimate01DropZone", "${objId}", "estimate01", "estimate01", "fileAreaDraw",false,null,null);
|
|
fileAreaDraw();
|
|
|
|
$("#btnUpload").click(function(){
|
|
var files = $("#file1")[0].files;
|
|
if(files.length > 0){
|
|
fnc_fileMultiUpload(files, null, "${objId}", "estimate01", "estimate01", null, "fileAreaDraw");
|
|
//file객체 초기화
|
|
$("#file1").val("");
|
|
}else{
|
|
Swal.fire("선택된 File이 없습니다.");
|
|
}
|
|
|
|
});
|
|
|
|
if("${info.CUSTOMER_OBJID}"!=""){
|
|
set_customer("${info.CUSTOMER_OBJID}");
|
|
}
|
|
//사업부
|
|
if("${info.CATEGORY_CD}"!=""){
|
|
fnc_ContractcodeList("${info.CATEGORY_CD}","product_group", "${info.PRODUCT_GROUP}");
|
|
}
|
|
//제품군
|
|
if("${info.PRODUCT_GROUP}"!=""){
|
|
fnc_ContractproductList("${info.PRODUCT_GROUP}","product", "${info.PRODUCT}");
|
|
}
|
|
//제품코드
|
|
if("${info.PRODUCT}"!=""){
|
|
fnc_getproductcode("${info.PRODUCT}","product_code");
|
|
}
|
|
|
|
//날짜
|
|
_fnc_datepick();
|
|
|
|
//저장
|
|
$("#btnSave").click(function(){
|
|
fn_save();
|
|
});
|
|
|
|
$("#customer_objid").change(function(){
|
|
|
|
$("#supply_code").val("");
|
|
$("#area_cd").val("");
|
|
$("#charge_user_name").val("");
|
|
$("#reg_id").val("");
|
|
$("#bus_reg_no").val("");
|
|
$("#reg_no").val("");
|
|
$("#supply_busname").val("");
|
|
$("#supply_stockname").val("");
|
|
$("#supply_address").val("");
|
|
$("#supply_tel_no").val("");
|
|
$("#email").val("");
|
|
$("#office_no").val("");
|
|
$("#supply_fax_no").val("");
|
|
var OBJID = this.value;
|
|
set_customer(OBJID);
|
|
});
|
|
|
|
$("#category_cd").change(function(){
|
|
|
|
fnc_ContractcodeList(this.value,"product_group", "");
|
|
});
|
|
|
|
$("#product_group").change(function(){
|
|
|
|
fnc_ContractproductList(this.value,"product", "");
|
|
});
|
|
|
|
$("#product").change(function(){
|
|
|
|
fnc_getproductcode(this.value,"product_code");
|
|
});
|
|
|
|
$("#btnClose").click(function(){
|
|
self.close();
|
|
});
|
|
|
|
$("#contract_user_id").change(function(){
|
|
|
|
$("#contract_phone").val("");
|
|
$("#contract_email").val("");
|
|
$("#contract_office_no").val("");
|
|
$("#contract_fax_no").val("");
|
|
var USER_ID = this.value;
|
|
set_contract(USER_ID);
|
|
});
|
|
});
|
|
|
|
function set_contract(USER_ID){
|
|
if(USER_ID!=""){
|
|
$.ajax({
|
|
url:"/common/searchUserList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"search_userId":USER_ID},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
resultList = data
|
|
if(0 < resultList.length){
|
|
var contract_phone = resultList[0].CELL_PHONE;
|
|
var contract_email = resultList[0].EMAIL;
|
|
var contract_office_no = resultList[0].TEL;
|
|
var contract_fax_no = resultList[0].SUPPLY_FAX_NO;
|
|
|
|
$("#contract_phone").val(contract_phone);
|
|
$("#contract_email").val(contract_email);
|
|
$("#contract_office_no").val(contract_office_no);
|
|
$("#contract_fax_no").val(contract_fax_no);
|
|
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
|
|
function addComma(data) {
|
|
return data.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
}
|
|
|
|
function set_customer(OBJID){
|
|
if(OBJID!=""){
|
|
$.ajax({
|
|
url:"/common/getCustomerInfo.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"OBJID":OBJID},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
resultList = data
|
|
if(0 < resultList.length){
|
|
var SUPPLY_ADDRESS = resultList[0].SUPPLY_ADDRESS;
|
|
var REG_ID = resultList[0].REG_ID;
|
|
var AREA_CD = resultList[0].AREA_CD;
|
|
var SUPPLY_FAX_NO = resultList[0].SUPPLY_FAX_NO;
|
|
var BUS_REG_NO = resultList[0].BUS_REG_NO;
|
|
var CHARGE_USER_NAME = resultList[0].CHARGE_USER_NAME;
|
|
var SUPPLY_BUSNAME = resultList[0].SUPPLY_BUSNAME;
|
|
var SUPPLY_STOCKNAME = resultList[0].SUPPLY_STOCKNAME;
|
|
var REG_NO = resultList[0].REG_NO;
|
|
var OFFICE_NO = resultList[0].OFFICE_NO;
|
|
var SUPPLY_NAME = resultList[0].SUPPLY_NAME;
|
|
var EMAIL = resultList[0].EMAIL;
|
|
var SUPPLY_TEL_NO = resultList[0].SUPPLY_TEL_NO;
|
|
var SUPPLY_CODE = resultList[0].SUPPLY_CODE;
|
|
|
|
$("#supply_code").val(SUPPLY_CODE);
|
|
$("#area_cd").val(AREA_CD);
|
|
$("#charge_user_name").val(CHARGE_USER_NAME);
|
|
$("#reg_id").val(SUPPLY_NAME);
|
|
$("#bus_reg_no").val(BUS_REG_NO);
|
|
$("#reg_no").val(REG_NO);
|
|
$("#supply_busname").val(SUPPLY_BUSNAME);
|
|
$("#supply_stockname").val(SUPPLY_STOCKNAME);
|
|
$("#supply_address").val(SUPPLY_ADDRESS);
|
|
$("#supply_tel_no").val(SUPPLY_TEL_NO);
|
|
$("#email").val(EMAIL);
|
|
$("#office_no").val(OFFICE_NO);
|
|
$("#supply_fax_no").val(SUPPLY_FAX_NO);
|
|
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
|
|
function fn_save(){
|
|
if(fnc_valitate("form1")){
|
|
var message="수정";
|
|
if("${actionType}"=='regist'){
|
|
message="등록";
|
|
}
|
|
if(confirm(message+"하시겠습니까?")){
|
|
|
|
$("#qty").val($("#qty").val().replace(/,/gi,""));
|
|
$("#contract_product_price").val($("#contract_product_price").val().replace(/,/gi,""));
|
|
$("#product_price").val($("#product_price").val().replace(/,/gi,""));
|
|
$("#other_price").val($("#other_price").val().replace(/,/gi,""));
|
|
$("#total_price").val($("#total_price").val().replace(/,/gi,""));
|
|
$("#sale").val($("#sale").val().replace(/,/gi,""));
|
|
$("#final_total_price").val($("#final_total_price").val().replace(/,/gi,""));
|
|
// 날짜 - 제거
|
|
var $dateinput = $("input.date_icon");
|
|
for(var i=0; i<$dateinput.length; i++){
|
|
$dateinput.eq(i).val( $dateinput.eq(i).val().replace(/-/gi,"") );
|
|
}
|
|
$.ajax({
|
|
url:"/contractMgmt/saveEstimateMgmtInfo.do",
|
|
type:"POST",
|
|
data:$("#form1").serialize(),
|
|
dataType:"json",
|
|
success:function(data){
|
|
Swal.fire(data.msg);
|
|
opener.fn_search();
|
|
self.close();
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
function _fnc_datepick(){
|
|
var $dateinput = $("input.date_icon");
|
|
for(var i=0; i<$dateinput.length; i++){
|
|
$dateinput.eq(i).attr("size","10");
|
|
$dateinput.eq(i).datepicker({
|
|
changeMonth:true,
|
|
changeYear:true
|
|
});
|
|
}
|
|
}
|
|
|
|
function fileAreaDraw(){
|
|
fn_fileCallback("estimate01","estimate01");
|
|
}
|
|
//첨부파일 목록을 가져온다.
|
|
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='10%''>";
|
|
appendText +=" <col width='*'>";
|
|
appendText +=" <col width='20%'>";
|
|
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>"+[i+1]+"</td>";
|
|
_appendText += " <td 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 += " </td>";
|
|
_appendText += " <td>"+data[i].REGDATE+"</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, areaId){
|
|
var type =areaId;
|
|
if(confirm("파일을 삭제하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/common/deleteFileInfo.do",
|
|
type:"POST",
|
|
data:{"objId":fileObjId},
|
|
dataType:"json",
|
|
async:true,
|
|
success:function(data){
|
|
if(type=="estimate01"){
|
|
fileAreaDraw();
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
function fnc_numberOnly(obj){
|
|
$("#"+obj.attr("id")).val(addComma(obj.val().replace(/[^0-9]/g,"")));
|
|
//.replace(/[^0-9]/g,""))
|
|
}
|
|
|
|
$("input:text[numberOnly]").on("keyup", function() {
|
|
$(this).val(addComma($(this).val().replace(/[^0-9]/g,"")));
|
|
});
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<input type="hidden" name="objId" id="objId" value="${objId}">
|
|
<input type="hidden" name="option" id="option">
|
|
|
|
<section>
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>영업관리_견적 등록</span>
|
|
</h2>
|
|
</div>
|
|
<div id="businessPopupFormWrap">
|
|
<h4><span>고객정보</span></h4>
|
|
<table class="pmsPopupForm">
|
|
<colgroup>
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
</colgroup>
|
|
<tr>
|
|
<td class="input_title"><label for="">고객명</label></td>
|
|
<td class="input_sub_title">
|
|
<select name="customer_objid" id="customer_objid" required reqTitle="고객명" type="select" class="select2">
|
|
<option value="">선택</option>${code_map.customer_cd}
|
|
</select>
|
|
</td>
|
|
|
|
<td class="input_title"><label for="supply_code">고객구분</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="supply_code" id="supply_code" maxlength="20" readonly disabled="disabled" />
|
|
</td>
|
|
|
|
<td class="input_title"><label for="area_cd">지역</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="area_cd" id="area_cd" maxlength="20" readonly disabled="disabled"/>
|
|
</td>
|
|
<td class="input_title"><label for="">대표자명</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="charge_user_name" id="charge_user_name" maxlength="20" readonly disabled="disabled" />
|
|
</td>
|
|
|
|
</tr>
|
|
<tr>
|
|
|
|
<td class="input_title"><label for="">회사명</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="reg_id" id="reg_id" maxlength="20" readonly disabled="disabled"/>
|
|
</td>
|
|
<td class="input_title"><label for="">사업자등록번호</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="bus_reg_no" id="bus_reg_no" maxlength="20" readonly disabled="disabled" />
|
|
</td>
|
|
<td class="input_title"><label for="">법인/주민번호</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="reg_no" id="reg_no" maxlength="20" readonly disabled="disabled" />
|
|
</td>
|
|
<td class="input_title"><label for="">업태</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="supply_busname" id="supply_busname" maxlength="20" readonly disabled="disabled" />
|
|
</td>
|
|
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title"><label for="">업종</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="supply_stockname" id="supply_stockname" maxlength="20" readonly disabled="disabled" />
|
|
</td>
|
|
<td class="input_title"><label for="">핸드폰</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="supply_tel_no" id="supply_tel_no" maxlength="20" readonly disabled="disabled" />
|
|
</td>
|
|
<td class="input_title"><label for="">E-MAIL</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="email" id="email" maxlength="20" readonly disabled="disabled" />
|
|
</td>
|
|
<td class="input_title"><label for="">OFFICE NO</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="office_no" id="office_no" maxlength="20" readonly disabled="disabled" />
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="input_title"><label for="">주소</label></td>
|
|
<td class="input_sub_title" colspan="5">
|
|
<input type="text" name="supply_address" id="supply_address" maxlength="100" readonly disabled="disabled" />
|
|
</td>
|
|
<td class="input_title"><label for="">FAX NO</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="supply_fax_no" id="supply_fax_no" maxlength="20" readonly disabled="disabled" />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div id="businessPopupFormWrap">
|
|
<h4><span>견적제품</span></h4>
|
|
<table class="pmsPopupForm">
|
|
<colgroup>
|
|
<col width="13%">
|
|
<col width="13%">
|
|
<col width="13%">
|
|
<col width="13%">
|
|
<col width="13%">
|
|
<col width="13%">
|
|
<col width="13%">
|
|
<col width="13%">
|
|
</colgroup>
|
|
<tr>
|
|
<td class="input_title" style="text-align: center;"><label for="">사업부</label></td>
|
|
<td class="input_title" style="text-align: center;"><label for="">제품군</label></td>
|
|
<td class="input_title" style="text-align: center;"><label for="">제품명</label></td>
|
|
<td class="input_title" style="text-align: center;"><label for="">제품코드</label></td>
|
|
<td class="input_title" style="text-align: center;"><label for="">수량</label></td>
|
|
<td class="input_title" style="text-align: center;"><label for="">설치/납품장소</label></td> <!-- 신규 -->
|
|
<td class="input_title" style="text-align: center;"><label for="">견적유효기간(일)</label></td>
|
|
<td class="input_title" style="text-align: center;"><label for="">금액(원)</label></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_sub_title">
|
|
<select name="category_cd" id="category_cd" required reqTitle="제품구분" type="select"><option value="">선택</option>${code_map.category_cd}</select>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<select name="product_group" id="product_group" required reqTitle="제품군" type="select"><option value="">선택</option>${code_map.product_group }</select>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<select name="product" id="product" required reqTitle="제품" type="select" class="select2"><option value="">선택</option></select>
|
|
</td>
|
|
<td class="input_sub_title" >
|
|
<input type="text" name="product_code" id="product_code" style="text-align: center;" value="${info.PRODUCT_CODE}" style="width: 100%; !important;" readonly="readonly"/>
|
|
</td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="qty" id="qty" style="text-align: center;" value="<fmt:formatNumber value="${info.QTY}" pattern="#,###" />" maxlength="100" numberOnly />
|
|
</td>
|
|
<td class="input_sub_title" >
|
|
<input type="text" name="delivery_place" id="delivery_place" style="text-align: center;" value="${info.DELIVERY_PLACE}" style="width: 100%; !important;"/>
|
|
</td>
|
|
|
|
<td class="input_sub_title" >
|
|
<input type="text" name="warranty" id="warranty" style="text-align: center;" value="${info.WARRANTY}" style="width: 100%; !important;" maxlength="10" />
|
|
</td>
|
|
<%-- <td class="input_sub_title">
|
|
<input type="text" class="date_icon" name="cus_request_date" id="cus_request_date" value="${info.CUS_REQUEST_DATE}" />
|
|
</td> --%>
|
|
<td class="input_sub_title" >
|
|
<input type="text" name="contract_product_price" id="contract_product_price" style="text-align: right; padding-right: 4px;" value="<fmt:formatNumber value="${info.CONTRACT_PRODUCT_PRICE}" pattern="#,###" />" maxlength="100" numberOnly />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div id="businessPopupFormWrap">
|
|
<h4><span>견적금액</span></h4>
|
|
<table class="pmsPopupForm">
|
|
<colgroup>
|
|
<col width="15%">
|
|
<col width="15%">
|
|
<col width="15%">
|
|
<col width="15%">
|
|
<col width="15%">
|
|
<col width="15%">
|
|
<col width="15%">
|
|
</colgroup>
|
|
<tr>
|
|
<td class="input_title" colspan="6"><label for="">제품가 합계금액(원)</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="product_price" id="product_price" style="text-align: right; padding-right: 4px;" value="<fmt:formatNumber value="${info.PRODUCT_PRICE}" pattern="#,###" />" maxlength="100" numberOnly readonly/>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title" colspan="6"><label for="">기타비용(원)</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="other_price" id="other_price" style="text-align: right; padding-right: 4px;" value="<fmt:formatNumber value="${info.OTHER_PRICE}" pattern="#,###" />" maxlength="100" numberOnly />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
|
|
<td class="input_title" colspan="6"><label for="">총 견적금액(원)</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="total_price" id="total_price" style="text-align: right; padding-right: 4px;" value="<fmt:formatNumber value="${info.TOTAL_PRICE}" pattern="#,###" />" maxlength="100" numberOnly readonly />
|
|
</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="input_title"><label for="">특별할인(%)</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="sale" id="sale" style="text-align: right; padding-right: 4px;" value="<fmt:formatNumber value="${info.SALE}" pattern="#,###" />" maxlength="100" numberOnly />
|
|
</td>
|
|
|
|
<td class="input_title" colspan="4"><label for="">견적 합계금액(원)</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="final_total_price" id="final_total_price" style="text-align: right; padding-right: 4px;" value="<fmt:formatNumber value="${info.FINAL_TOTAL_PRICE}" pattern="#,###" />" maxlength="100" numberOnly readonly />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title" rowspan="3" ><label for="">첨부파일</label></td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="6">
|
|
<div id="estimate01DropZone" class="dropzone"style="width:99%; height:30px; !important;">Drag & Drop Files Here</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="6">
|
|
<div class="project_form_in_table" style="width: 100%" id="estimate01FileAreaTable">
|
|
<input type="file" name="file1" id="file1" multiple>
|
|
<input type="button" id="btnUpload" value="Upload" class="upload_btns">
|
|
<div style="overflow-y: scroll;">
|
|
<table style="width: 100%;">
|
|
<colgroup>
|
|
<col width="10%">
|
|
<col width="*">
|
|
<col width="20%">
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td>No</td>
|
|
<td>첨부파일명</td>
|
|
<td>등록일</td>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="plm_scroll_table" style="height: 40px;">
|
|
<table id="estimate01FileArea" class="fileListscrollTbody">
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title" ><label for="">요구사항</label></td>
|
|
<td colspan="6" ><textarea id="note" name="note" style="resize: none; width: 100%; height: 50px;">${info.NOTE}</textarea></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div id="businessPopupFormWrap">
|
|
<h4><span>견적담당</span></h4>
|
|
<table class="pmsPopupForm">
|
|
<colgroup>
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
<col width="12.5%">
|
|
</colgroup>
|
|
<tr>
|
|
<td class="input_title"><label for="">담당자</label></td>
|
|
<td class="input_sub_title">
|
|
<select name="contract_user_id" id="contract_user_id" required reqTitle="견적담당자" type="select" class="select2"><option value="">선택</option>${code_map.contract_user_id}</select>
|
|
</td>
|
|
<td class="input_title"><label for="">견적일</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" class="date_icon" name="contract_date" id="contract_date" value="${info.CONTRACT_DATE}" maxlength="10" required reqTitle="견적일" />
|
|
</td>
|
|
<td class="input_title"><label for="">핸드폰</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="contract_phone" id="contract_phone" value="${info.CONTRACT_PHONE}" maxlength="100" />
|
|
</td>
|
|
<td class="input_title"><label for="">E-MAIL</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="contract_email" id="contract_email" value="${info.CONTRACT_EMAIL}" maxlength="100" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title"><label for="">OFFICE NO</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="contract_office_no" id="contract_office_no" value="${info.CONTRACT_OFFICE_NO}" maxlength="100" />
|
|
</td>
|
|
<td class="input_title"><label for="">FAX NO</label></td>
|
|
<td class="input_sub_title">
|
|
<input type="text" name="contract_fax_no" id="contract_fax_no" value="${info.CONTRACT_FAX_NO}" maxlength="100" />
|
|
</td>
|
|
|
|
</table>
|
|
</div>
|
|
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap_center">
|
|
<c:choose>
|
|
<c:when test="${actionType eq 'regist'}">
|
|
<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> |