home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
61.19.244.139
/
61.19.244.139.zip
/
61.19.244.139
/
2015-02-23
/
views
/
package-setup-add.jsp
< prev
next >
Wrap
Text File
|
2015-02-23
|
40KB
|
634 lines
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<form:form class="form-horizontal well" action="savePackageH" id="packageSetupForm" modelAttribute="packageHBean">
<fieldset>
<!-- Tabs -->
<div class="widget-content">
<div class="widget-box">
<div class="box-tab">
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#tab1"><i class="black-icons blocks_images"></i> รายละเอียด Package</a></li>
<li><a data-toggle="tab" href="#tab2"><i class="black-icons blocks_images"></i> รหัสรถยนต์</a></li>
<li><a data-toggle="tab" href="#tab3"><i class="black-icons abacus"></i> ยี่ห้อรถยนต์</a></li>
<li><a data-toggle="tab" href="#tab4"><i class="black-icons abacus"></i> ความคุ้มครอง</a></li>
<li><a data-toggle="tab" href="#tab5"><i class="black-icons abacus"></i> เบี้ยประกันภัย</a></li>
</ul>
<div class="tab-content">
<div id="tab1" class="tab-pane active">
<div class=" row-fluid">
<div class="control-group">
<label class="control-label" for="packageCode">รหัส Package</label>
<div class="controls">
<form:input path="packageCode" class="input-small" type="text" id="packageCode" name="packageCode" placeholder="รหัส Package" />
<form:input path="packageDesc" class="input-xxlarge" type="text" id="packageDecs" name="packageDecs" placeholder="รายละเอียด Package" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="polType">ประเภทกรมธรรม์</label>
<div class="controls">
<form:select path="polType" name="polType" id="polType">
<%-- <form:options items="${polTypeBeanList}" itemValue="polType" itemLabel="polTypeName" /> --%>
<c:forEach var="pol" items="${polTypeBeanList}">
<form:option value="${pol.polType}">
<c:out value="${pol.polType}-${pol.polTypeName}" />
</form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="startDate">วันที่เริ่มต้น-สิ้นสุด การขาย</label>
<div class="controls">
<form:input path="startDate" type="text" name="startDate" id="startDate" readonly="readonly" class="input-small form-control clsDatePicker" placeholder="dd/mm/yyyy" />
<span class="input-group-addon"><i id="calIconTourDateDetails" class="glyphicon glyphicon-th"></i></span> -
<form:input path="endDate" id="endDate" name="endDate" class="input-small" type="text" placeholder="dd/mm/yyyy" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="vehAge">อายุรถไม่เกิน</label>
<div class="controls">
<form:input path="vehAge" class="input-small" type="text" placeholder="" maxlength="2" id="vehAge" name="vehAge" />
ปี
</div>
</div>
<div class="control-group">
<div class="controls">
<form:checkbox path="annualFlag" id="annualFlag" name="annualFlag" value="Y" />
Package เฉพาะเต็มปีเท่านั้น
</div>
</div>
<div class="control-group">
<div class="controls">
<form:checkbox path="prorata" id="prorata" name="prorata" class="group1" value="Y" />
กรมธรรมไม่เต็มปี Pro Rata
</div>
</div>
<div class="control-group">
<div class="controls">
<form:checkbox path="shortrate" id="shortrate" name="shortrate" class="group1" value="Y" />
กรมธรรมไม่เต็มปี Short Rate
</div>
</div>
<div class="control-group">
<div class="controls">
<form:checkbox path="insureType" id="insureType" name="insureType" value="Y" />
Package เฉพาะบุคคลธรรมดาเท่านั้น
</div>
</div>
<div class="control-group">
<div class="controls">
<form:checkbox path="drivrers" id="drivrers" name="drivrers" value="Y" />
ระบุผู้ขับขี่
</div>
</div>
</div>
</div>
<!-- End Tab1 -->
<div id="tab2" class="tab-pane">
<div class=" row-fluid">
<div class="control-group">
<div class="controls">
<label class="checkbox"> <form:checkbox path="allVehCode" name="allVehCode" id="allVehCode" value="Y" /> ไม่กำหนดรหัสรถยนต์
</label>
</div>
</div>
<div class="control-group">
<div class="controls">
<div class="span6">
<form:select path="vehSizeBeans" id="vehSizeBeans" multiple="true">
<form:options items="${vSizeList}" itemLabel="vehSizeDesc" itemValue="key" />
<%-- <c:forEach var="vSize" items="${vSizeList}" varStatus="loop">
<form:option value="${vSizeList[loop.index].mainClass}|${vSizeList[loop.index].vehCode}|${vSizeList[loop.index].vehSize}">
${vSizeList[loop.index].vehSizeDesc}
</form:option>
</c:forEach> --%>
</form:select>
</div>
</div>
</div>
</div>
</div>
<!-- End Tab2 -->
<div id="tab3" class="tab-pane">
<div class=" row-fluid">
<div class="control-group">
<div class="controls">
<label class="checkbox"> <form:checkbox path="allBrand" value="Y" name="allBrand" id="allBrand" /> ไม่กำหนดยี่ห้อรถยนต์
</label>
</div>
</div>
<div class="control-group">
<div class="controls">
<div class="span6">
<form:select path="brandmodels" id="brandmodels" multiple="true">
<form:options items="${packageBrandmodelBean}" itemLabel="label" itemValue="key" />
<%-- <c:forEach var="vSize" items="${packageBrandmodelBean}" varStatus="loop">
<form:option value="${packageBrandmodelBean[loop.index].brand}|${packageBrandmodelBean[loop.index].model}">
${packageBrandmodelBean[loop.index].brand}-->${packageBrandmodelBean[loop.index].model}
</form:option>
</c:forEach> --%>
</form:select>
<!-- <select multiple="multiple" id="brandmodels" name="brandmodels"> -->
</div>
</div>
</div>
</div>
</div>
<!-- End Tab3 -->
<div id="tab4" class="tab-pane">
<div class=" row-fluid">
<div role="grid" class="dataTables_wrapper">
<div class="table_top clearfix"></div>
<div id="covTable">
<div class="table_content">
<table class="data-tbl-striped table table-striped table-bordered dataTable">
<thead>
<tr role="row">
<th class="sorting_disabled" role="columnheader" rowspan="1" colspan="1" style="width: 100px;">ความคุ้มครอง</th>
<th class=" " role="columnheader" rowspan="1" colspan="1" style="width: 87px;">ทุนประกันทั้งกรมธรรม์</th>
<th class=" " role="columnheader" rowspan="1" colspan="1" style="width: 87px;">ทุนประกันภัยต่อครั้ง</th>
<th class=" " role="columnheader" rowspan="1" colspan="1" style="width: 87px;">ทุนประกันภัยต่อคน</th>
<th class=" " role="columnheader" rowspan="1" colspan="1" style="width: 53px;">จำนวนคน</th>
<th class=" " role="columnheader" rowspan="1" colspan="1" style="width: 152px;">Deduct</th>
</tr>
</thead>
<tbody role="alert" aria-live="polite" aria-relevant="all">
<c:forEach var="listValue" items="${coverages}" varStatus="loop">
<tr class="odd">
<td class="span6">${listValue.covCode} : ${listValue.covName}
<%-- <input type="hidden" name="coverages[${loop.index}].covCode" value="${listValue.covCode}"/> --%>
<%-- <input type="hidden" name="coverages[${loop.index}].covName" value="${listValue.covName}"/> --%>
<form:hidden path="coverages[${loop.index}].covCode"/>
<form:hidden path="coverages[${loop.index}].covName"/>
</td>
<td class=" ">
<c:choose>
<c:when test="${not listValue.enableSumOfPol}">
<input type="text" class="input-small" name="coverages[${loop.index}].sumOfPol" value="" readonly="readonly"/>
</c:when>
<c:when test="${listValue.enableSumOfPol}">
<fmt:formatNumber var="fmtSumOfPol" type="Number" value="${listValue.sumOfPol}" maxFractionDigits="2" />
<input type="text" class="autoPol input-small" name="coverages[${loop.index}].sumOfPol" value="${fmtSumOfPol}"/>
<%--<input type="number" class="autoPol input-small" name="coverages[${loop.index}].sumOfPol" value="${listValue.sumOfPol}"/>--%>
</c:when>
</c:choose>
</td>
<td class="center ">
<c:choose>
<c:when test="${not listValue.enableSumOfTimes}">
<input type="text" class="input-small" name="coverages[${loop.index}].sumOfTimes" value="" readonly="readonly"/>
</c:when>
<c:when test="${listValue.enableSumOfTimes}">
<fmt:formatNumber var="fmtSumOfTimes" type="Number" value="${listValue.sumOfTimes}" maxFractionDigits="2" />
<input type="text" class="autoPol input-small" name="coverages[${loop.index}].sumOfTimes" value="${fmtSumOfTimes}" />
<%--<input type="number" class="autoTime input-small" name="coverages[${loop.index}].sumOfTimes" value="${listValue.sumOfTimes}"/>--%>
</c:when>
</c:choose>
</td>
<td class="center ">
<c:choose>
<c:when test="${not listValue.enableSumOfPerson}">
<input type="text" class="input-small" name="coverages[${loop.index}].sumOfPerson" value="" readonly="readonly"/>
</c:when>
<c:when test="${listValue.enableSumOfPerson}">
<%--<input type="number" class="autoPerson input-small" name="coverages[${loop.index}].sumOfPerson" value="${listValue.sumOfPerson}"/>--%>
<fmt:formatNumber type="Number" value="${listValue.sumOfPerson}" maxFractionDigits="2" />
</c:when>
</c:choose>
</td>
<td class="center ">
<c:choose>
<c:when test="${not listValue.enableNoPerson}">
<input type="text" class=" input-mini" name="coverages[${loop.index}].noPerson" value="" readonly="readonly"/>
</c:when>
<c:when test="${listValue.enableNoPerson}">
<input type="number" class="autoNoPerson input-mini" name="coverages[${loop.index}].noPerson" value="${listValue.noPerson}"/>
</c:when>
</c:choose>
</td>
<td class="center sdate ">
<c:choose>
<c:when test="${not listValue.enableDeduct}">
<input type="text" class="input-mini" name="coverages[${loop.index}].deduct" value="" readonly="readonly"/>
</c:when>
<c:when test="${listValue.enableDeduct}">
<input type="text" class="autoDeduct input-mini" name="coverages[${loop.index}].deduct" value="${listValue.deduct}"/>
</c:when>
</c:choose>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div></div>
</div>
</div>
</div>
<!-- End Tab4 -->
<div id="tab5" class="tab-pane">
<div class=" row-fluid">
<div class="control-group">
<label class="control-label" for="premBas">เบี้ยประกันภัยตามความคุ้มครองหลัก</label>
<div class="controls">
<form:input path="subjectPrem" class="input-small" type="text" id="premBas" name="premBas" placeholder="" />
ส่วนลดระบุชื่อผู้ขับขี่
<form:input path="discountDriver" class="input-small" type="text" id="discountDriver" name="discountDriver" placeholder="" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="premAdd">เบี้ยประกันภัยตามการขยายความคุ้มครอง</label>
<div class="controls">
<form:input path="additionalPrem" class="input-small" type="text" id="premAdd" name="premAdd" placeholder="" />
ส่วนลดค่าเสียหายส่วนแรก
<form:input path="discountDeduct" class="input-small" type="text" id="discountDeduct" name="discountDeduct" placeholder="" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="premAtt">เบี้ยแนบประกันภัยตามเอกสารแนบท้าย</label>
<div class="controls">
<form:input path="extraPremium" class="input-small" type="text" id="premAtt" name="premAtt" placeholder="" />
ส่วนลดกลุ่ม
<form:input path="deductGroup" class="input-small" type="text" id="deductGroup" name="deductGroup" placeholder="" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="netPremium">เบี้ยประกันภัยสุทธิ</label>
<div class="controls">
<form:input path="netPremium" class="input-small" type="text" id="netPremium" name="netPremium" placeholder="" />
ส่วนลดประวัติดี
<form:input path="deductHistory" class="input-small" type="text" id="deductHistory" name="deductHistory" placeholder="" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="fee"> อากร</label>
<div class="controls">
<form:input path="fee" class="input-small" type="text" id="fee" name="fee" placeholder="อากร" />
ส่วนลดอื่นๆ
<form:input path="deductOther" class="input-small" type="text" id="deductOther" name="deductOther" placeholder="" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="vatAmt">ภาษีมูลค่าเพิ่ม</label>
<div class="controls">
<form:input path="vatAmt" class="input-small" type="text" id="vatAmt" name="vatAmt" placeholder="ภาษีมูลค่าเพิ่ม" />
ส่วนเพิ่มประวัติเพิ่ม
<form:input path="surchargeAmt" class="input-small" type="text" id="surchargeAmt" name="surchargeAmt" placeholder="" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="totalPremium">เบี้ยประกันภัยรวม</label>
<div class="controls">
<form:input path="totalPremium" class="input-small" type="text" id="totalPremium" name="totalPremium" placeholder="เบี้ยประกันภัยรวม" />
<form:checkbox path="damageFlag" value="Y" id="damageFlag" name="damageFlag" /> ไม่คิดค่าเสียหายส่วนแรกจากการชน
</div>
</div>
</div>
</div>
<!-- End Tab5 -->
</div>
</div>
</div>
<%
if (request.getParameter("packageCode") == null) {
%>
<button class="btn btn-success" name="saveBtn" id="saveBtn">บันทึก</button>
<%
} else {
%>
<button class="btn btn-primary" name="editBtn" id="editBtn">แก้ไข</button>
<%
}
%>
<a class="btn" id="cancelBtn" onClick="$('#tableFrm').dialog('close');">ยกเลิก/ปิด</a>
</div>
</div>
<!-- End Tabs -->
<!-- end Tabs -->
</fieldset>
</form:form>
<script>
$(function() {
$('#annualFlag').click(function () {
if (!this.checked) {
$("input.group1").removeAttr("disabled");
} else {
$("input.group1").attr("checked", !this.checked);
$("input.group1").attr("disabled", this.checked);
}
});
$("#packageSetupForm").submit(function() {
var form = $(this);
$('input').each(function(i){
var self = $(this);
try{
var v = self.autoNumeric('get');
self.autoNumeric('destroy');
self.val(v);
} catch (err){
console.log("Not an autonumeric field: " + self.attr("name"));
}
});
var url = "savePackageH";
$.ajax({
type: "POST",
url: url,
data: $("#packageSetupForm").serialize(),
success: function(data)
{
$('#grid').trigger("reloadGrid", [{ page: 1 }]);
//$("#frmCoverage").reset();
$('#tableFrm').dialog('close');
},
error: function (xhr, ajaxOptions, thrownError) {
var obj = JSON.parse(xhr.responseText);
alert(obj.errorMessages);
}
});
return false;
});
// $('#premBas').keyup(function() {
//
// var premBas = $('#premBas').autoNumeric('get');
// var premAdd = $('#premAdd').autoNumeric('get');
// var premAtt = $('#premAtt').autoNumeric('get');
//// var netP = parseFloat(premBas) + parseFloat(premAdd) + parseFloat(premAtt);
//// $("#netPremium").val(netP);
//// var netP = $('#netPremium').autoNumeric('get');
//
// var vatRate = ${vatRate};
// var feeRate = ${feeRate} / 100;
// var f = (netP * feeRate);
// var free = Math.ceil(f);
// $("#fee").val(free);
// var vat = Math.ceil((parseFloat(netP) + parseInt(free)) * vatRate) / 100;
// $("#vatAmt").val(vat);
// var total = parseFloat(netP) + parseFloat(free) + parseFloat(vat);
// $("#totalPremium").val(total);
// //alert($('#netPremium').val());
// });
//
//Edit 25-01-2015
$('#netPremium').keyup(function() {
var netP = $('#netPremium').autoNumeric('get');
var vatRate = ${vatRate};
var feeRate = ${feeRate} / 100;
var f = (netP * feeRate);
var free = Math.ceil(f);
$("#fee").val(free);
var vat = Math.round((parseFloat(netP) + parseInt(free)) * vatRate)/100;
$("#vatAmt").val(vat);
var total = inprecise_round( parseFloat(netP) + parseFloat(free) + parseFloat(vat),2);
$("#totalPremium").val(total);
});
function inprecise_round(value, decPlaces) {
return Math.round(value * Math.pow(10, decPlaces)) / Math.pow(10, decPlaces);
}
//Edit 25-01-2015
// $('#premAdd').keyup(function() {
//
// var premBas = $('#premBas').autoNumeric('get');
// var premAdd = $('#premAdd').autoNumeric('get');
// var premAtt = $('#premAtt').autoNumeric('get');
// var netP = parseFloat(premBas) + parseFloat(premAdd) + parseFloat(premAtt);
// $("#netPremium").val(netP);
// var netP = $('#netPremium').autoNumeric('get');
//
// var vatRate = ${vatRate};
// var feeRate = ${feeRate} / 100;
// var f = (netP * feeRate);
// var free = Math.ceil(f);
// $("#fee").val(free);
// var vat = Math.ceil((parseFloat(netP) + parseInt(free)) * vatRate) / 100;
// $("#vatAmt").val(vat);
// var total = parseFloat(netP) + parseFloat(free) + parseFloat(vat);
// $("#totalPremium").val(total);
// //alert($('#netPremium').val());
// });
// $('#premAtt').keyup(function() {
//
// var premBas = $('#premBas').autoNumeric('get');
// var premAdd = $('#premAdd').autoNumeric('get');
// var premAtt = $('#premAtt').autoNumeric('get');
//// var netP = parseFloat(premBas) + parseFloat(premAdd) + parseFloat(premAtt);
//// $("#netPremium").val(netP);
//// var netP = $('#netPremium').autoNumeric('get');
//
// var vatRate = ${vatRate};
// var feeRate = ${feeRate} / 100;
// var f = (netP * feeRate);
// var free = Math.ceil(f);
// $("#fee").val(free);
// var vat = Math.ceil((parseFloat(netP) + parseInt(free)) * vatRate) / 100;
// $("#vatAmt").val(vat);
// var total = parseFloat(netP) + parseFloat(free) + parseFloat(vat);
// $("#totalPremium").val(total);
// //alert($('#netPremium').val());
// });
$('#allVehCode').click(function () {
});
$('#vehSizeBeans').multiSelect({
afterSelect: function(values){
},
afterDeselect: function(values){
},
selectableHeader: "<div class='custom-header'>รหัสรถยนต์ทั้งหมด</div>",
selectionHeader: "<div class='custom-header'>รหัสรถยนต์สำหรับ Package</div>",
});
$('#polType').on('change', function() {
$.ajax({
type : "GET",
<%
if (request.getParameter("packageCode") == null) {
%>
url : 'package-cover-by-poltype?polType=' + encodeURIComponent(this.value),
<%
} else {
%>
url : 'package-cover-by-poltype?polType=' + encodeURIComponent(this.value) + '&packageCode=' + encodeURIComponent('<%=request.getParameter("packageCode")%>'),
<%
}
%>
success : function(data) {
$('#covTable').html("");
$(data).appendTo('#covTable');
},
error : function(xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
});
$('#brandmodels').multiSelect({
afterSelect: function(values){
},
afterDeselect: function(values){
},
selectableHeader: "<div class='custom-header'>รถยนต์ทั้งหมด</div>",
selectionHeader: "<div class='custom-header'>รถยนต์สำหรับ Package</div>"
});
$('#polType').change();
$("#polType").select2({ width: 'resolve' });
$('.autoPol').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('.autoTime').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('.autoPerson').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('.autoDeduct').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('.autoNoPerson').autoNumeric('init', {aSign:' คน', pSign:'s', vMin:'0', vMax:'100', aPad:false });
$('#vehAge').autoNumeric('init', { vMin:'0', vMax:'100', aPad:false });
$('#premBas').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#premAdd').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#premAtt').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#netPremium').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#vatAmt').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#totalPremium').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#fee').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#discountDriver').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#discountDeduct').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#deductGroup').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#deductHistory').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#deductOther').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#surchargeAmt').autoNumeric('init', {aSep: ',', aDec: '.', vMin:'0.00', vMax:'10000000.00'});
$('#startDate').datepicker({ dateFormat: 'dd/mm/yy', onSelect: function(selectedDate) {
$("#endDate").datepicker("option", "minDate", selectedDate);
}});
$('#endDate').datepicker({ dateFormat: 'dd/mm/yy', onSelect: function(selectedDate) {
$("#startDate").datepicker("option", "maxDate", selectedDate);
}});
});
</script>