update member discount

This commit is contained in:
Aung Myo
2017-09-14 17:36:00 +06:30
parent 90681cddcc
commit e878a6387e
14 changed files with 1055 additions and 932 deletions

View File

@@ -127,88 +127,91 @@ class Origami::DiscountsController < BaseOrigamiController
# Member Discount # Member Discount
def member_discount def member_discount
sale_id = params[:sale_id]
# account_types = JSON.parse(params[:account_types])
account_types = Account.where("discount=?",true)
sub_total = params[:sub_total]
sale = Sale.find(sale_id)
price = SaleItem.calculate_price_by_accounts(sale.sale_items)
arr = Array.new;
account_types.each do |at|
price.each do |pc|
if pc[:name] == at.title && pc[:price]>0
str={type:pc[:name],amount:pc[:price]}
arr.push(str)
end
end
end
generic_customer_id = sale.customer.membership_id
receipt_no = sale.receipt_no
membership = MembershipSetting.find_by_membership_type("paypar_url")
memberaction = MembershipAction.find_by_membership_type("member_discount")
merchant_uid = memberaction.merchant_account_id.to_s
campaign_type_id = memberaction.additional_parameter["campaign_type_id"]
auth_token = memberaction.auth_token.to_s
url = membership.gateway_url.to_s + memberaction.gateway_url.to_s
# Check for items for Paypar Cloud
if arr.length > 0
begin
response = HTTParty.post(url,
:body => { account_no: nil,
generic_customer_id:generic_customer_id ,
campaign_type_id: campaign_type_id,
receipt_no: receipt_no,
merchant_uid:merchant_uid,
campaign_method:arr.to_json,
total_sale_transaction_amount: sale.grand_total,
auth_token:auth_token}.to_json,
:headers => {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}, :timeout => 10)
rescue HTTParty::Error
response = {:status=> false, :message => "Can't open membership server " }
rescue Net::OpenTimeout
response = {:status=> false, :message => "Can't open membership server " }
rescue OpenURI::HTTPError
response = {:status=> false, :message => "Can't open membership server " }
rescue SocketError
response = {:status=> false, :message => "Can't open membership server " }
end
else
response = {:status=> false, :message => "You have no selected discount item" }
end
table_id = sale.bookings[0].dining_facility_id
table_type = DiningFacility.find(table_id).type
# Re-calc All Amount in Sale
if response["status"] == true
discount_amount = response["discount_earned"]
if response["discount_bonus_earned"]
discount_amount = discount_amount + response["discount_bonus_earned"]
end
sale.compute_by_sale_items(sale_id, sale.sale_items, discount_amount, 'member_discount')
result = {:status=> "Success",:title=>"Member Discount", :table_id => table_id,:table_type => table_type }
end
if response["status"] == "500"
result = {:status=> response["error"],:title=>"Alert", :table_id => table_id,:table_type => table_type }
end
if !response.nil?
if response[:status] == false
result = {:status=> response[:message],:title=>"Alert", :table_id => table_id,:table_type => table_type }
end
end
render :json => result.to_json sale_id = params[:sale_id]
is_card = params[:is_card]
sub_total = params[:sub_total]
sale = Sale.find(sale_id)
# Check for Card Payment
is_card_payment = SaleItem.get_sale_payments_by_card(sale.sale_payments)
if is_card_payment != true
account_types = Account.where("discount=?",true)
table_id = sale.bookings[0].dining_facility_id
table_type = DiningFacility.find(table_id).type
# Get Prices for each accounts (eg: food, beverage)
account_price = SaleItem.calculate_price_by_accounts(sale.sale_items)
acc_prices = Array.new;
account_types.each do |at|
account_price.each do |pc|
if pc[:name] == at.title && pc[:price]>0
str={type:pc[:name],amount:pc[:price]}
acc_prices.push(str)
end
end
end
generic_customer_id = sale.customer.membership_id
receipt_no = sale.receipt_no
membership = MembershipSetting.find_by_membership_type("paypar_url")
memberaction = MembershipAction.find_by_membership_type("member_discount")
merchant_uid = memberaction.merchant_account_id.to_s
campaign_type_id = memberaction.additional_parameter["campaign_type_id"]
auth_token = memberaction.auth_token.to_s
url = membership.gateway_url.to_s + memberaction.gateway_url.to_s
# Check for items for Paypar Cloud
if acc_prices.length > 0
begin
response = HTTParty.post(url,
:body => { account_no: nil,
generic_customer_id:generic_customer_id ,
campaign_type_id: campaign_type_id,
receipt_no: receipt_no,
merchant_uid:merchant_uid,
campaign_method:acc_prices.to_json,
total_sale_transaction_amount: sale.grand_total,
is_card: is_card,
auth_token:auth_token}.to_json,
:headers => {
'Content-Type' => 'application/json',
'Accept' => 'application/json'
}, :timeout => 10)
rescue HTTParty::Error
response = {"status": false, "message": "Can't open membership server " }
rescue Net::OpenTimeout
response = {"status": false, "message": "Can't open membership server " }
rescue OpenURI::HTTPError
response = {"status": false, "message": "Can't open membership server " }
rescue SocketError
response = {"status": false, "message": "Can't open membership server " }
end
else
response = {"status": false, "message": "You have no selected discount item" }
end
# Re-calc All Amount in Sale
if response["status"] == true
discount_amount = response["discount_earned"]
if response["discount_bonus_earned"]
discount_amount = discount_amount + response["discount_bonus_earned"]
end
sale.compute_by_sale_items(sale_id, sale.sale_items, discount_amount, 'member_discount')
result = {:status=> "Success",:title=>"Member Discount", :table_id => table_id,:table_type => table_type }
elsif response["status"] == "500"
result = {:status=> response["error"],:title=>"Alert", :table_id => table_id,:table_type => table_type }
else
result = {:status=> response["message"],:title=>"Alert", :table_id => table_id,:table_type => table_type }
end
render :json => result.to_json
end #end Is Card Payment
end end
#discount for selected order #discount for selected order

View File

@@ -17,6 +17,9 @@ class Origami::JcbController < BaseOrigamiController
end end
@can_jcb = total - @jcbcount - others @can_jcb = total - @jcbcount - others
@member_discount = MembershipSetting.find_by_discount(1)
@sub_total = sale_data.total_amount
@membership_id = sale_data.customer.membership_id
end end
def create def create

View File

@@ -16,6 +16,9 @@ class Origami::MasterController < BaseOrigamiController
end end
end end
@can_master = total - @mastercount - others @can_master = total - @mastercount - others
@member_discount = MembershipSetting.find_by_discount(1)
@sub_total = sale_data.total_amount
@membership_id = sale_data.customer.membership_id
end end
def create def create

View File

@@ -5,9 +5,10 @@ class Origami::MpuController < BaseOrigamiController
# limit mpu_amount # limit mpu_amount
sale_data = Sale.find_by_sale_id(@sale_id) sale_data = Sale.find_by_sale_id(@sale_id)
total = sale_data.grand_total total = sale_data.grand_total
@mpucount = 0 @mpucount = 0
others = 0 others = 0
sale_data.sale_payments.each do |sale_payment| sale_data.sale_payments.each do |sale_payment|
if sale_payment.payment_method == "mpu" if sale_payment.payment_method == "mpu"
@mpucount = @mpucount + sale_payment.payment_amount @mpucount = @mpucount + sale_payment.payment_amount
@@ -17,6 +18,9 @@ class Origami::MpuController < BaseOrigamiController
end end
@can_mpu = total - @mpucount - others @can_mpu = total - @mpucount - others
@member_discount = MembershipSetting.find_by_discount(1)
@sub_total = sale_data.total_amount
@membership_id = sale_data.customer.membership_id
end end
def create def create

View File

@@ -75,6 +75,8 @@ class Origami::PaymentsController < BaseOrigamiController
def show def show
sale_id = params[:sale_id] sale_id = params[:sale_id]
@member_discount = MembershipSetting.find_by_discount(1)
if Sale.exists?(sale_id) if Sale.exists?(sale_id)
@cash = 0.0 @cash = 0.0

View File

@@ -16,6 +16,9 @@ class Origami::VisaController < BaseOrigamiController
end end
end end
@can_visa = total - @visacount - others @can_visa = total - @visacount - others
@member_discount = MembershipSetting.find_by_discount(1)
@sub_total = sale_data.total_amount
@membership_id = sale_data.customer.membership_id
end end
def create def create

View File

@@ -107,7 +107,17 @@ class SaleItem < ApplicationRecord
return price,type return price,type
end end
# Check for Card Payment
def self.get_sale_payments_by_card(sale_payments)
# Check for Card Payment
sale_payments.each do |sp|
if sp.payment_method == "jcb" || sp.payment_method == "mpu" || sp.payment_method == "visa" || sp.payment_method == "master"
return true;
end
end
end
# def self.get_overall_discount(sale_id) # def self.get_overall_discount(sale_id)
# price = 0.0 # price = 0.0
# item=SaleItem.where("product_code=?", sale_id) # item=SaleItem.where("product_code=?", sale_id)

View File

@@ -263,6 +263,8 @@ class SalePayment < ApplicationRecord
end end
def sale_update_payment_status(paid_amount) def sale_update_payment_status(paid_amount)
puts paid_amount
puts "parid Masssssssssssssssssssssssssssssssssssssssss"
#update amount_outstanding #update amount_outstanding
self.sale.amount_received = self.sale.amount_received.to_f + paid_amount.to_f self.sale.amount_received = self.sale.amount_received.to_f + paid_amount.to_f
self.sale.save! self.sale.save!

View File

@@ -510,7 +510,7 @@ $(document).ready(function(){
url: ajax_url, url: ajax_url,
data: params, data: params,
success:function(result){ success:function(result){
console.log(result)
if (result.status == "Success") { if (result.status == "Success") {
type = 'green' type = 'green'
btn_color = 'btn-green' btn_color = 'btn-green'

View File

@@ -7,163 +7,180 @@
<h2>JCB</h2> <h2>JCB</h2>
</div> </div>
</div> </div>
<div class="card" style="margin-top:10px;padding-top:20px;"> <span class="hidden" id="membership_id"><%= @membership_id%></span>
<div class="rebate-form"> <span class="hidden" id="member_discount"><%= @member_discount%></span>
<div class="row"> <span class="hidden" id="sub-total"><%= @sub_total%></span>
<div class="form-group col-lg-12 col-md-12 col-sm-12"> <div class="card" style="margin-top:10px;padding-top:20px;">
<label class="col-lg-4 col-md-4 col-sm-4">You can pay up to </label> <div class="rebate-form">
<input type="text" name="validamount" id="validamount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@can_jcb %>" data-member-value=""> <div class="row">
</div> <div class="form-group col-lg-12 col-md-12 col-sm-12">
<hr> <label class="col-lg-4 col-md-4 col-sm-4">You can pay up to </label>
<input type="text" name="validamount" id="validamount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@can_jcb %>" data-member-value="">
</div> </div>
<% if @jcbcount != 0 %> <hr>
<div class="row"> </div>
<div class="form-group col-lg-12 col-md-12 col-sm-12"> <% if @jcbcount != 0 %>
<label class="col-lg-4 col-md-4 col-sm-4">Recent JCB paid amount </label> <div class="row">
<input type="text" name="" id="" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@jcbcount %>" data-member-value=""> <div class="form-group col-lg-12 col-md-12 col-sm-12">
</div> <label class="col-lg-4 col-md-4 col-sm-4">Recent JCB paid amount </label>
<hr> <input type="text" name="" id="" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@jcbcount %>" data-member-value="">
</div> </div>
<% end %> <hr>
<div class="row"> </div>
<div class="form-group col-lg-12 col-md-12 col-sm-12"> <% end %>
<label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label> <div class="row">
<input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value=""> <div class="form-group col-lg-12 col-md-12 col-sm-12">
</div> <label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label>
<hr> <input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value="">
</div> </div>
<div class="row"> <hr>
<div class="form-group col-lg-12 col-md-12 col-sm-12"> </div>
<label class="col-lg-4 col-md-4 col-sm-4">Amount</label> <div class="row">
<div id="amount" class="form-control col-lg-7 col-md-7 col-sm-7">0.0</div> <div class="form-group col-lg-12 col-md-12 col-sm-12">
</div> <label class="col-lg-4 col-md-4 col-sm-4">Amount</label>
<hr> <div id="amount" class="form-control col-lg-7 col-md-7 col-sm-7">0.0</div>
</div> </div>
</div> <hr>
</div>
</div> </div>
</div>
</div> </div>
<div class="col-lg-6 col-md-6 col-sm-6" style="margin-top:75px;"> <div class="col-lg-6 col-md-6 col-sm-6" style="margin-top:75px;">
<div class="row"> <div class="row">
<div class="col-lg-6 col-md-1 col-sm-1"> <div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="1" data-type="num">1</div> <div class=" cashier_number " data-value="1" data-type="num">1</div>
<div class=" cashier_number left" data-value="2" data-type="num">2</div> <div class=" cashier_number left" data-value="2" data-type="num">2</div>
<div class=" cashier_number left" data-value="3" data-type="num">3</div> <div class=" cashier_number left" data-value="3" data-type="num">3</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="4" data-type="num">4</div> <div class=" cashier_number " data-value="4" data-type="num">4</div>
<div class=" cashier_number left" data-value="5" data-type="num">5</div> <div class=" cashier_number left" data-value="5" data-type="num">5</div>
<div class=" cashier_number left" data-value="6" data-type="num">6</div> <div class=" cashier_number left" data-value="6" data-type="num">6</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="7" data-type="num">7</div> <div class=" cashier_number " data-value="7" data-type="num">7</div>
<div class=" cashier_number left" data-value="8" data-type="num">8</div> <div class=" cashier_number left" data-value="8" data-type="num">8</div>
<div class=" cashier_number left" data-value="9" data-type="num">9</div> <div class=" cashier_number left" data-value="9" data-type="num">9</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="0" data-type="num">0</div> <div class=" cashier_number " data-value="0" data-type="num">0</div>
<div class=" cashier_number left" data-value="." data-type="num">.</div> <div class=" cashier_number left" data-value="." data-type="num">.</div>
<div class=" cashier_number left" data-value="00" data-type="num">00</div> <div class=" cashier_number left" data-value="00" data-type="num">00</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number green" data-type="nett" >Nett</div> <div class=" cashier_number green" data-type="nett" >Nett</div>
<div class=" cashier_number red left" data-type="del">Del</div> <div class=" cashier_number red left" data-type="del">Del</div>
<div class=" cashier_number orange left" data-type="clr">Clr</div> <div class=" cashier_number orange left" data-type="clr">Clr</div>
</div> </div>
</div> </div>
<div class="col-lg-6 col-md-1 col-sm-1"> <div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom"> <div class="row bottom">
<div class="cashier_number long" data-value="1000" data-type="add">1000</div> <div class="cashier_number long" data-value="1000" data-type="add">1000</div>
<div class="cashier_number long left" data-value="3000" data-type="add">3000</div> <div class="cashier_number long left" data-value="3000" data-type="add">3000</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class="cashier_number long" data-value="5000" data-type="add">5000</div> <div class="cashier_number long" data-value="5000" data-type="add">5000</div>
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div> <div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class="pay purple" id="jcb_pay">Pay</div> <div class="pay purple" id="jcb_pay">Pay</div>
</div> </div>
</div> </div>
</div>
</div>
<div class="col-lg-1 col-md-1 col-sm-1">
<button type="button" class="btn btn-primary btn-block" onclick="window.location.href = '/origami/sale/<%= @sale_id %>/payment/others_payment';"> Back </button>
</div> </div>
</div>
<div class="col-lg-1 col-md-1 col-sm-1">
<button type="button" class="btn btn-primary btn-block" onclick="window.location.href = '/origami/sale/<%= @sale_id %>/payment/others_payment';"> Back </button>
</div>
</div> </div>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
if(localStorage.getItem("cash") == null || localStorage.getItem("cash") == 'null'){} if(localStorage.getItem("cash") == null || localStorage.getItem("cash") == 'null'){}
else { else {
$('#validamount').attr("value",parseFloat("<%= @can_jcb %>") - parseFloat(localStorage.getItem("cash"))); $('#validamount').attr("value",parseFloat("<%= @can_jcb %>") - parseFloat(localStorage.getItem("cash")));
} }
}); });
// number key pad // number key pad
$(document).on('click', '.cashier_number', function(event){ $(document).on('click', '.cashier_number', function(event){
event.stopPropagation(); event.stopPropagation();
event.preventDefault(); event.preventDefault();
if(event.handled !== true) { if(event.handled !== true) {
var original_value; var original_value;
original_value = $('#amount').text(); original_value = $('#amount').text();
var input_value = $(this).attr("data-value"); var input_value = $(this).attr("data-value");
var input_type = $(this).attr("data-type"); var input_type = $(this).attr("data-type");
switch (input_type) { switch (input_type) {
case 'num': case 'num':
if (original_value == "0.0"){ if (original_value == "0.0"){
$('#amount').text(input_value); $('#amount').text(input_value);
}else{ }else{
$('#amount').append(input_value); $('#amount').append(input_value);
} }
break; break;
case 'add': case 'add':
var input_value = $(this).attr("data-value"); var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value); amount = parseInt(input_value) + parseInt(original_value);
$('#amount').html(amount); $('#amount').html(amount);
break; break;
case 'clr': case 'clr':
$('#amount').html("0.0"); $('#amount').html("0.0");
break; break;
case 'del' : case 'del' :
var cash=$('#amount').text(); var cash=$('#amount').text();
$('#amount').text(cash.substr(0,cash.length-1)); $('#amount').text(cash.substr(0,cash.length-1));
break; break;
case 'nett': case 'nett':
var remain_amount = $('#validamount').val(); var remain_amount = $('#validamount').val();
$('#amount').text(remain_amount); $('#amount').text(remain_amount);
break; break;
} }
event.handled = true; event.handled = true;
} else { } else {
return false; return false;
} }
}); });
$('#jcb_pay').on('click',function(){ $('#jcb_pay').on('click',function(){
var amount = $('#amount').text(); var amount = $('#amount').text();
var sale_id = "<%= @sale_id %>"; var sale_id = "<%= @sale_id %>";
if(parseFloat(amount) <= parseFloat($("#validamount").attr("value")) ){ if(parseFloat(amount) <= parseFloat($("#validamount").attr("value")) ){
//start member discount 5% by pay card
var sub_total = $('#sub-total').text();
var member_id = $('#membership_id').text();
var member_discount = $('#member_discount').text();
if (member_id && member_discount) {
$.ajax({
type: "POST",
url: "/origami/" + sale_id + "/member_discount",
data: {'sale_id':sale_id, 'sub_total':sub_total,'is_card':true },
// success:function(result){
// }
});
}
//end member discount
$.ajax({type: "POST", $.ajax({type: "POST",
url: "<%= origami_payment_jcb_path %>", url: "<%= origami_payment_jcb_path %>",
data: "amount="+ amount + "&sale_id="+ sale_id, data: "amount="+ amount + "&sale_id="+ sale_id,
success:function(result){ success:function(result){
if(result){ if(result){
alert("Payment success") alert("Payment success")
window.location.href = '/origami/sale/'+ sale_id + "/payment"; window.location.href = '/origami/sale/'+ sale_id + "/payment";
} }
} }
}); });
}else{ }else{
alert("Paid Amount is over!"); alert("Paid Amount is over!");
} }
}) })
</script> </script>

View File

@@ -7,160 +7,177 @@
<h2>Master</h2> <h2>Master</h2>
</div> </div>
</div> </div>
<div class="card" style="margin-top:10px;padding-top:20px;"> <span class="hidden" id="membership_id"><%= @membership_id%></span>
<div class="rebate-form"> <span class="hidden" id="member_discount"><%= @member_discount%></span>
<div class="row"> <span class="hidden" id="sub-total"><%= @sub_total%></span>
<div class="form-group col-lg-12 col-md-12 col-sm-12"> <div class="card" style="margin-top:10px;padding-top:20px;">
<label class="col-lg-4 col-md-4 col-sm-4">You can pay up to </label> <div class="rebate-form">
<input type="text" name="validamount" id="validamount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@can_master %>" data-member-value=""> <div class="row">
</div> <div class="form-group col-lg-12 col-md-12 col-sm-12">
<hr> <label class="col-lg-4 col-md-4 col-sm-4">You can pay up to </label>
</div> <input type="text" name="validamount" id="validamount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@can_master %>" data-member-value="">
<% if @mastercount != 0 %> </div>
<div class="row"> <hr>
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Recent Master paid amount </label>
<input type="text" name="" id="" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@mastercount %>" data-member-value="">
</div>
<hr>
</div>
<% end %>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label>
<input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value="">
</div>
<hr>
</div>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Amount</label>
<div id="amount" class="form-control col-lg-7 col-md-7 col-sm-7">0.0</div>
</div>
<hr>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-6" style="margin-top:75px;">
<div class="row">
<div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom">
<div class=" cashier_number " data-value="1" data-type="num">1</div>
<div class=" cashier_number left" data-value="2" data-type="num">2</div>
<div class=" cashier_number left" data-value="3" data-type="num">3</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="4" data-type="num">4</div>
<div class=" cashier_number left" data-value="5" data-type="num">5</div>
<div class=" cashier_number left" data-value="6" data-type="num">6</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="7" data-type="num">7</div>
<div class=" cashier_number left" data-value="8" data-type="num">8</div>
<div class=" cashier_number left" data-value="9" data-type="num">9</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="0" data-type="num">0</div>
<div class=" cashier_number left" data-value="." data-type="num">.</div>
<div class=" cashier_number left" data-value="00" data-type="num">00</div>
</div>
<div class="row bottom">
<div class=" cashier_number green" data-type="nett" >Nett</div>
<div class=" cashier_number red left" data-type="del">Del</div>
<div class=" cashier_number orange left" data-type="clr">Clr</div>
</div>
</div>
<div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom">
<div class="cashier_number long" data-value="1000" data-type="add">1000</div>
<div class="cashier_number long left" data-value="3000" data-type="add">3000</div>
</div>
<div class="row bottom">
<div class="cashier_number long" data-value="5000" data-type="add">5000</div>
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div>
<div class="row bottom">
<div class="pay purple" id="master_pay">Pay</div>
</div>
</div>
</div> </div>
<% if @mastercount != 0 %>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Recent Master paid amount </label>
<input type="text" name="" id="" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@mastercount %>" data-member-value="">
</div>
<hr>
</div>
<% end %>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label>
<input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value="">
</div>
<hr>
</div> </div>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Amount</label>
<div id="amount" class="form-control col-lg-7 col-md-7 col-sm-7">0.0</div>
</div>
<hr>
</div>
</div>
</div>
</div>
<div class="col-lg-1 col-md-1 col-sm-1"> <div class="col-lg-6 col-md-6 col-sm-6" style="margin-top:75px;">
<button type="button" class="btn btn-primary btn-block" onclick="window.location.href = '/origami/sale/<%= @sale_id %>/payment/others_payment';"> Back </button>
</div> <div class="row">
<div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom">
<div class=" cashier_number " data-value="1" data-type="num">1</div>
<div class=" cashier_number left" data-value="2" data-type="num">2</div>
<div class=" cashier_number left" data-value="3" data-type="num">3</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="4" data-type="num">4</div>
<div class=" cashier_number left" data-value="5" data-type="num">5</div>
<div class=" cashier_number left" data-value="6" data-type="num">6</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="7" data-type="num">7</div>
<div class=" cashier_number left" data-value="8" data-type="num">8</div>
<div class=" cashier_number left" data-value="9" data-type="num">9</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="0" data-type="num">0</div>
<div class=" cashier_number left" data-value="." data-type="num">.</div>
<div class=" cashier_number left" data-value="00" data-type="num">00</div>
</div>
<div class="row bottom">
<div class=" cashier_number green" data-type="nett" >Nett</div>
<div class=" cashier_number red left" data-type="del">Del</div>
<div class=" cashier_number orange left" data-type="clr">Clr</div>
</div>
</div>
<div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom">
<div class="cashier_number long" data-value="1000" data-type="add">1000</div>
<div class="cashier_number long left" data-value="3000" data-type="add">3000</div>
</div>
<div class="row bottom">
<div class="cashier_number long" data-value="5000" data-type="add">5000</div>
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div>
<div class="row bottom">
<div class="pay purple" id="master_pay">Pay</div>
</div>
</div>
</div>
</div>
<div class="col-lg-1 col-md-1 col-sm-1">
<button type="button" class="btn btn-primary btn-block" onclick="window.location.href = '/origami/sale/<%= @sale_id %>/payment/others_payment';"> Back </button>
</div>
</div> </div>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
if(localStorage.getItem("cash") == null || localStorage.getItem("cash") == 'null'){} if(localStorage.getItem("cash") == null || localStorage.getItem("cash") == 'null'){}
else { else {
$('#validamount').attr("value",parseFloat("<%= @can_master %>") - parseFloat(localStorage.getItem("cash"))); $('#validamount').attr("value",parseFloat("<%= @can_master %>") - parseFloat(localStorage.getItem("cash")));
} }
}); });
$(document).on('click', '.cashier_number', function(event){ $(document).on('click', '.cashier_number', function(event){
event.stopPropagation(); event.stopPropagation();
event.preventDefault(); event.preventDefault();
if(event.handled !== true) { if(event.handled !== true) {
var original_value; var original_value;
original_value = $('#amount').text(); original_value = $('#amount').text();
var input_value = $(this).attr("data-value"); var input_value = $(this).attr("data-value");
var input_type = $(this).attr("data-type"); var input_type = $(this).attr("data-type");
switch (input_type) { switch (input_type) {
case 'num': case 'num':
if (original_value == "0.0"){ if (original_value == "0.0"){
$('#amount').text(input_value); $('#amount').text(input_value);
}else{ }else{
$('#amount').append(input_value); $('#amount').append(input_value);
} }
break; break;
case 'add': case 'add':
var input_value = $(this).attr("data-value"); var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value); amount = parseInt(input_value) + parseInt(original_value);
$('#amount').html(amount); $('#amount').html(amount);
break; break;
case 'clr': case 'clr':
$('#amount').html("0.0"); $('#amount').html("0.0");
break; break;
case 'del' : case 'del' :
var cash=$('#amount').text(); var cash=$('#amount').text();
$('#amount').text(cash.substr(0,cash.length-1)); $('#amount').text(cash.substr(0,cash.length-1));
break; break;
case 'nett': case 'nett':
var remain_amount = $('#validamount').val(); var remain_amount = $('#validamount').val();
$('#amount').text(remain_amount); $('#amount').text(remain_amount);
break; break;
} }
event.handled = true; event.handled = true;
} else { } else {
return false; return false;
} }
}); });
$('#master_pay').on('click',function(){ $('#master_pay').on('click',function(){
var amount = $('#amount').text(); var amount = $('#amount').text();
var sale_id = "<%= @sale_id %>"; var sale_id = "<%= @sale_id %>";
if(parseFloat(amount) <= parseFloat($("#validamount").attr("value")) ){ if(parseFloat(amount) <= parseFloat($("#validamount").attr("value")) ){
$.ajax({type: "POST", //start member discount 5% by pay card
url: "<%= origami_payment_master_path %>", var sub_total = $('#sub-total').text();
data: "amount="+ amount + "&sale_id="+ sale_id, var member_id = $('#membership_id').text();
success:function(result){ var member_discount = $('#member_discount').text();
if(result){ if (member_id && member_discount) {
alert("Payment success") $.ajax({
window.location.href = '/origami/sale/'+ sale_id + "/payment"; type: "POST",
} url: "/origami/" + sale_id + "/member_discount",
data: {'sale_id':sale_id, 'sub_total':sub_total,'is_card':true },
// success:function(result){
// }
});
} }
}); //end member discount
}else{ $.ajax({type: "POST",
alert("Paid Amount is over!"); url: "<%= origami_payment_master_path %>",
} data: "amount="+ amount + "&sale_id="+ sale_id,
success:function(result){
if(result){
alert("Payment success")
window.location.href = '/origami/sale/'+ sale_id + "/payment";
}
}
});
}else{
alert("Paid Amount is over!");
}
}) })
</script> </script>

View File

@@ -7,160 +7,178 @@
<h2>MPU</h2> <h2>MPU</h2>
</div> </div>
</div> </div>
<div class="card" style="margin-top:10px;padding-top:20px;"> <span class="hidden" id="membership_id"><%= @membership_id%></span>
<div class="rebate-form"> <span class="hidden" id="member_discount"><%= @member_discount%></span>
<div class="row"> <span class="hidden" id="sub-total"><%= @sub_total%></span>
<div class="form-group col-lg-12 col-md-12 col-sm-12"> <div class="card" style="margin-top:10px;padding-top:20px;">
<label class="col-lg-4 col-md-4 col-sm-4">You can pay up to </label> <div class="rebate-form">
<input type="text" name="validamount" id="validamount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@can_mpu %>" data-member-value=""> <div class="row">
</div> <div class="form-group col-lg-12 col-md-12 col-sm-12">
<hr> <label class="col-lg-4 col-md-4 col-sm-4">You can pay up to </label>
</div> <input type="text" name="validamount" id="validamount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@can_mpu %>" data-member-value="">
<% if @mpucount != 0 %> </div>
<div class="row"> <hr>
<div class="form-group col-lg-12 col-md-12 col-sm-12"> </div>
<label class="col-lg-4 col-md-4 col-sm-4">Recent MPU paid amount </label> <% if @mpucount != 0 %>
<input type="text" name="" id="" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@mpucount %>" data-member-value=""> <div class="row">
</div> <div class="form-group col-lg-12 col-md-12 col-sm-12">
<hr> <label class="col-lg-4 col-md-4 col-sm-4">Recent MPU paid amount </label>
</div> <input type="text" name="" id="" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@mpucount %>" data-member-value="">
<% end %> </div>
<div class="row"> <hr>
<div class="form-group col-lg-12 col-md-12 col-sm-12"> </div>
<label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label> <% end %>
<input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value=""> <div class="row">
</div> <div class="form-group col-lg-12 col-md-12 col-sm-12">
<hr> <label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label>
</div> <input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value="">
<div class="row"> </div>
<div class="form-group col-lg-12 col-md-12 col-sm-12"> <hr>
<label class="col-lg-4 col-md-4 col-sm-4">Amount</label> </div>
<div id="amount" class="form-control col-lg-7 col-md-7 col-sm-7">0.0</div> <div class="row">
</div> <div class="form-group col-lg-12 col-md-12 col-sm-12">
<hr> <label class="col-lg-4 col-md-4 col-sm-4">Amount</label>
</div> <div id="amount" class="form-control col-lg-7 col-md-7 col-sm-7">0.0</div>
</div> </div>
<hr>
</div>
</div> </div>
</div>
</div> </div>
<div class="col-lg-6 col-md-6 col-sm-6" style="margin-top:75px;"> <div class="col-lg-6 col-md-6 col-sm-6" style="margin-top:75px;">
<div class="row"> <div class="row">
<div class="col-lg-6 col-md-1 col-sm-1"> <div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="1" data-type="num">1</div> <div class=" cashier_number " data-value="1" data-type="num">1</div>
<div class=" cashier_number left" data-value="2" data-type="num">2</div> <div class=" cashier_number left" data-value="2" data-type="num">2</div>
<div class=" cashier_number left" data-value="3" data-type="num">3</div> <div class=" cashier_number left" data-value="3" data-type="num">3</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="4" data-type="num">4</div> <div class=" cashier_number " data-value="4" data-type="num">4</div>
<div class=" cashier_number left" data-value="5" data-type="num">5</div> <div class=" cashier_number left" data-value="5" data-type="num">5</div>
<div class=" cashier_number left" data-value="6" data-type="num">6</div> <div class=" cashier_number left" data-value="6" data-type="num">6</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="7" data-type="num">7</div> <div class=" cashier_number " data-value="7" data-type="num">7</div>
<div class=" cashier_number left" data-value="8" data-type="num">8</div> <div class=" cashier_number left" data-value="8" data-type="num">8</div>
<div class=" cashier_number left" data-value="9" data-type="num">9</div> <div class=" cashier_number left" data-value="9" data-type="num">9</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="0" data-type="num">0</div> <div class=" cashier_number " data-value="0" data-type="num">0</div>
<div class=" cashier_number left" data-value="." data-type="num">.</div> <div class=" cashier_number left" data-value="." data-type="num">.</div>
<div class=" cashier_number left" data-value="00" data-type="num">00</div> <div class=" cashier_number left" data-value="00" data-type="num">00</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number green" data-type="nett" >Nett</div> <div class=" cashier_number green" data-type="nett" >Nett</div>
<div class=" cashier_number red left" data-type="del">Del</div> <div class=" cashier_number red left" data-type="del">Del</div>
<div class=" cashier_number orange left" data-type="clr">Clr</div> <div class=" cashier_number orange left" data-type="clr">Clr</div>
</div> </div>
</div> </div>
<div class="col-lg-6 col-md-1 col-sm-1"> <div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom"> <div class="row bottom">
<div class="cashier_number long" data-value="1000" data-type="add">1000</div> <div class="cashier_number long" data-value="1000" data-type="add">1000</div>
<div class="cashier_number long left" data-value="3000" data-type="add">3000</div> <div class="cashier_number long left" data-value="3000" data-type="add">3000</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class="cashier_number long" data-value="5000" data-type="add">5000</div> <div class="cashier_number long" data-value="5000" data-type="add">5000</div>
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div> <div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class="pay purple" id="mpu_pay">Pay</div> <div class="pay purple" id="mpu_pay">Pay</div>
</div> </div>
</div> </div>
</div>
</div>
<div class="col-lg-1 col-md-1 col-sm-1">
<button type="button" class="btn btn-primary btn-block" onclick="window.location.href = '/origami/sale/<%= @sale_id %>/payment/others_payment';"> Back </button>
</div> </div>
</div>
<div class="col-lg-1 col-md-1 col-sm-1">
<button type="button" class="btn btn-primary btn-block" onclick="window.location.href = '/origami/sale/<%= @sale_id %>/payment/others_payment';"> Back </button>
</div>
</div> </div>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
if(localStorage.getItem("cash") == null || localStorage.getItem("cash") == 'null'){} if(localStorage.getItem("cash") == null || localStorage.getItem("cash") == 'null'){}
else { else {
$('#validamount').attr("value",parseFloat("<%= @can_mpu %>") - parseFloat(localStorage.getItem("cash"))); $('#validamount').attr("value",parseFloat("<%= @can_mpu %>") - parseFloat(localStorage.getItem("cash")));
} }
}); });
$(document).on('click', '.cashier_number', function(event){ $(document).on('click', '.cashier_number', function(event){
event.stopPropagation(); event.stopPropagation();
event.preventDefault(); event.preventDefault();
if(event.handled !== true) { if(event.handled !== true) {
var original_value; var original_value;
original_value = $('#amount').text(); original_value = $('#amount').text();
var input_value = $(this).attr("data-value"); var input_value = $(this).attr("data-value");
var input_type = $(this).attr("data-type"); var input_type = $(this).attr("data-type");
switch (input_type) { switch (input_type) {
case 'num': case 'num':
if (original_value == "0.0"){ if (original_value == "0.0"){
$('#amount').text(input_value); $('#amount').text(input_value);
}else{ }else{
$('#amount').append(input_value); $('#amount').append(input_value);
} }
break; break;
case 'add': case 'add':
var input_value = $(this).attr("data-value"); var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value); amount = parseInt(input_value) + parseInt(original_value);
$('#amount').html(amount); $('#amount').html(amount);
break; break;
case 'clr': case 'clr':
$('#amount').html("0.0"); $('#amount').html("0.0");
break; break;
case 'del' : case 'del' :
var cash=$('#amount').text(); var cash=$('#amount').text();
$('#amount').text(cash.substr(0,cash.length-1)); $('#amount').text(cash.substr(0,cash.length-1));
break; break;
case 'nett': case 'nett':
var remain_amount = $('#validamount').val(); var remain_amount = $('#validamount').val();
$('#amount').text(remain_amount); $('#amount').text(remain_amount);
break; break;
} }
event.handled = true; event.handled = true;
} else { } else {
return false; return false;
}
});
$('#mpu_pay').on('click',function(){
var amount = $('#amount').text();
var sale_id = "<%= @sale_id %>";
if(parseFloat(amount) <= parseFloat($("#validamount").attr("value")) ){
$.ajax({type: "POST",
url: "<%= origami_payment_mpu_path %>",
data: "amount="+ amount + "&sale_id="+ sale_id,
success:function(result){
if(result){
alert("Payment success")
window.location.href = '/origami/sale/'+ sale_id + "/payment";
}
}
});
}else{
alert("Paid Amount is over!")
} }
}) });
</script> $('#mpu_pay').on('click',function(){
var amount = $('#amount').text();
var sale_id = "<%= @sale_id %>";
if(parseFloat(amount) <= parseFloat($("#validamount").attr("value")) ){
//start member discount 5% by pay card
var sub_total = $('#sub-total').text();
var member_id = $('#membership_id').text();
var member_discount = $('#member_discount').text();
if (member_id && member_discount) {
$.ajax({
type: "POST",
url: "/origami/" + sale_id + "/member_discount",
data: {'sale_id':sale_id, 'sub_total':sub_total,'is_card':true },
// success:function(result){
// }
});
}
//end member discount
//Mpu Payment
$.ajax({type: "POST",
url: "<%= origami_payment_mpu_path %>",
data: "amount="+ amount + "&sale_id="+ sale_id,
success:function(result){
if(result){
alert("Payment success")
window.location.href = '/origami/sale/'+ sale_id + "/payment";
}
}
});
}else{
alert("Paid Amount is over!")
}
})
</script>

View File

@@ -1,8 +1,8 @@
<div id="loading_wrapper" style="display:none;"> <div id="loading_wrapper" style="display:none;">
<div id="loading"></div> <div id="loading"></div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-lg-6 col-md-6 col-sm-3"> <div class="col-lg-6 col-md-6 col-sm-3">
<div class="card" > <div class="card" >
<div class="card-header"> <div class="card-header">
<div id="order-title"> <div id="order-title">
@@ -17,6 +17,8 @@
</tr> </tr>
<tr> <tr>
<td style="width:50%;"><strong>Customer :</strong> <%= @sale_data.customer.name%></td> <td style="width:50%;"><strong>Customer :</strong> <%= @sale_data.customer.name%></td>
<span class="hidden" id="membership_id"><%= @sale_data.customer.membership_id%></span>
<span class="hidden" id="member_discount"><%= @member_discount%></span>
<td style="width:50%;"><strong>Customer ID :</strong> <%= @sale_data.customer.customer_id%></td> <td style="width:50%;"><strong>Customer ID :</strong> <%= @sale_data.customer.customer_id%></td>
</tr> </tr>
</table> </table>
@@ -26,82 +28,82 @@
<div class="card-title"> <div class="card-title">
<table > <table >
<!-- <thead> --> <!-- <thead> -->
<tr> <tr>
<th style="width:5%">#</th> <th style="width:5%">#</th>
<th style="width:76%;">Items</th> <th style="width:76%;">Items</th>
<th style="width:20%;">QTY</td> <th style="width:20%;">QTY</td>
<th style="width:20%;">Price</td> <th style="width:20%;">Price</td>
</tr> </tr>
<!-- </thead> --> <!-- </thead> -->
</table> </table>
</div> </div>
<div id="table-details" class="card-text" style="min-height:400px; max-height:400px; overflow-x:scroll"> <div id="table-details" class="card-text" style="min-height:400px; max-height:400px; overflow-x:scroll">
<table class="table" id="append-table"> <table class="table" id="append-table">
<tbody> <tbody>
<% sub_total = 0 <% sub_total = 0
count = 0 count = 0
%> %>
<% @sale_data.sale_items.each do |sale_item| <% @sale_data.sale_items.each do |sale_item|
count += 1 count += 1
%> %>
<% sub_total += sale_item.price%> <% sub_total += sale_item.price%>
<tr> <tr>
<td><%= count %></td> <td><%= count %></td>
<td style="width:60%; text-align:left"> <td style="width:60%; text-align:left">
<span id="item-name-price"><%=sale_item.product_name%>@<%=sale_item.unit_price%></span> <span id="item-name-price"><%=sale_item.product_name%>@<%=sale_item.unit_price%></span>
</td> </td>
<td style="width:20%; text-align:right"> <td style="width:20%; text-align:right">
<span id="item-qty"><%=sale_item.qty%></span> <span id="item-qty"><%=sale_item.qty%></span>
</td> </td>
<td style="width:20%; text-align:right"> <td style="width:20%; text-align:right">
<span id="item-total-price"><%=(sale_item.price)%></span> <span id="item-total-price"><%=(sale_item.price)%></span>
</td> </td>
</tr> </tr>
<%end %> <%end %>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="card-footer"> <div class="card-footer">
<table class="table" style="margin-bottom:0px"> <table class="table" style="margin-bottom:0px">
<tfooter> <tfooter>
<tr> <tr>
<td style="width:80%; text-align:left; border-top:none"><strong>Sub Total</strong></td> <td style="width:80%; text-align:left; border-top:none"><strong>Sub Total</strong></td>
<td style="width:20%; text-align:right; border-top:none"><strong><span id="sub-total"><%=sub_total%></span></strong></td> <td style="width:20%; text-align:right; border-top:none"><strong><span id="sub-total"><%=sub_total%></span></strong></td>
</tr> </tr>
<tr> <tr>
<%if @sale_data.discount_type == 'member_discount'%> <%if @sale_data.discount_type == 'member_discount'%>
<td style="width:80%; text-align:left; border-top:none"><strong>Member Discount:</strong></td> <td style="width:80%; text-align:left; border-top:none"><strong>Member Discount:</strong></td>
<%else%> <%else%>
<td style="width:80%; text-align:left; border-top:none"><strong>(Discount)</strong></td> <td style="width:80%; text-align:left; border-top:none"><strong>(Discount)</strong></td>
<%end%> <%end%>
<td style="width:20%; text-align:right; border-top:none"><strong><span>(<%=@sale_data.total_discount rescue 0%>)</span></strong></td> <td style="width:20%; text-align:right; border-top:none"><strong><span>(<%=@sale_data.total_discount rescue 0%>)</span></strong></td>
</tr> </tr>
<tr> <tr>
<td style="width:80%; text-align:left; border-top:none"><strong>Tax</strong></td> <td style="width:80%; text-align:left; border-top:none"><strong>Tax</strong></td>
<td style="width:20%; text-align:right; border-top:none"><strong><span><%=@sale_data.total_tax rescue 0%></span></strong></td> <td style="width:20%; text-align:right; border-top:none"><strong><span><%=@sale_data.total_tax rescue 0%></span></strong></td>
</tr> </tr>
<tr> <tr>
<td style="width:80%; text-align:left; border-top:none"><strong>Rounding Adj:</strong></td> <td style="width:80%; text-align:left; border-top:none"><strong>Rounding Adj:</strong></td>
<td style="width:20%; text-align:right; border-top:none"><strong><span><%=@sale_data.rounding_adjustment rescue 0%></span></strong></td> <td style="width:20%; text-align:right; border-top:none"><strong><span><%=@sale_data.rounding_adjustment rescue 0%></span></strong></td>
</tr> </tr>
<tr> <tr>
<td style="width:80%; text-align:left; border-top:none"><strong>Grand Total</strong></td> <td style="width:80%; text-align:left; border-top:none"><strong>Grand Total</strong></td>
<td style="width:20%; text-align:right; border-top:none"><strong><span><%=@sale_data.grand_total rescue 0%></span></strong></td> <td style="width:20%; text-align:right; border-top:none"><strong><span><%=@sale_data.grand_total rescue 0%></span></strong></td>
</tr> </tr>
<%if @balance > 0%> <%if @balance > 0%>
<tr> <tr>
<td style="width:80%; text-align:left; border-top:none"><strong><%= @accountable_type %></strong></td> <td style="width:80%; text-align:left; border-top:none"><strong><%= @accountable_type %></strong></td>
<td style="width:20%; text-align:right; border-top:none"><strong><span><%=@balance%></span></strong></td> <td style="width:20%; text-align:right; border-top:none"><strong><span><%=@balance%></span></strong></td>
</tr> </tr>
<% end %> <% end %>
</tfooter> </tfooter>
</table> </table>
</div> </div>
<div style='text-align:center;margin-top:20px'> <div style='text-align:center;margin-top:20px'>
<!-- <INPUT TYPE="Button" class='btn btn-primary' VALUE="Reprint" onClick="" style='width:120px'/> <!-- <INPUT TYPE="Button" class='btn btn-primary' VALUE="Reprint" onClick="" style='width:120px'/>
<INPUT TYPE="Submit" class='btn btn-primary' VALUE="CANCEL" action="origami/index" style='width:120px'/> --> <INPUT TYPE="Submit" class='btn btn-primary' VALUE="CANCEL" action="origami/index" style='width:120px'/> -->
</div> </div>
</div> </div>
</div> </div>
@@ -123,159 +125,159 @@
<div class="col-md-4" id="credit"><%= @credit %></div> <div class="col-md-4" id="credit"><%= @credit %></div>
</div> </div>
<% if @other == 0.0 && @ppamount == 0.0 && @visacount == 0.0 && @jcbcount == 0.0 && @mastercount == 0.0%> <% if @other == 0.0 && @ppamount == 0.0 && @visacount == 0.0 && @jcbcount == 0.0 && @mastercount == 0.0%>
<div class="row payment other-payment-color" id="card_payment" > <div class="row payment other-payment-color" id="card_payment" >
<div class="col-md-8">Other Payments</div> <div class="col-md-8">Other Payments</div>
<div class="col-md-4" id="others"><%= @other %></div> <div class="col-md-4" id="others"><%= @other %></div>
</div> </div>
<% else %> <% else %>
<div class="row payment other-payment-color" id="card_payment" > <div class="row payment other-payment-color" id="card_payment" >
<div class="col-md-12">Other Payments</div> <div class="col-md-12">Other Payments</div>
</div> </div>
<% end %> <% end %>
<!-- mpu --> <!-- mpu -->
<% if @other != 0.0 %> <% if @other != 0.0 %>
<div class="row payment other-payment-color" style="line-height:30px;height: 30px;margin-bottom: 0px;"> <div class="row payment other-payment-color" style="line-height:30px;height: 30px;margin-bottom: 0px;">
<div class="col-md-5"></div> <div class="col-md-5"></div>
<div class="col-md-3">MPU</div> <div class="col-md-3">MPU</div>
<div class="col-md-4" id="others"><%= @other %></div> <div class="col-md-4 mpu is_card" id="others"><%= @other %></div>
</div> </div>
<% else %> <% else %>
<div class="row" style="display:none"> <div class="row" style="display:none">
<div class="col-md-5"></div> <div class="col-md-5"></div>
<div class="col-md-3">MPU</div> <div class="col-md-3">MPU</div>
<div class="col-md-4" id="others">0.0</div> <div class="col-md-4" id="others">0.0</div>
</div> </div>
<% end %> <% end %>
<!-- paypar --> <!-- paypar -->
<% if @ppamount != 0.0 %> <% if @ppamount != 0.0 %>
<div class="row payment other-payment-color" style="line-height:30px;height: 30px;margin-bottom: 0px;"> <div class="row payment other-payment-color" style="line-height:30px;height: 30px;margin-bottom: 0px;">
<div class="col-md-5"></div> <div class="col-md-5"></div>
<div class="col-md-3">Redeem</div> <div class="col-md-3">Redeem</div>
<div class="col-md-4" id="ppamount"><%= @ppamount %></div> <div class="col-md-4" id="ppamount"><%= @ppamount %></div>
</div> </div>
<% else %> <% else %>
<div class="row" style="display:none"> <div class="row" style="display:none">
<div class="col-md-5"></div> <div class="col-md-5"></div>
<div class="col-md-3">Redeem</div> <div class="col-md-3">Redeem</div>
<div class="col-md-4" id="ppamount">0.0</div> <div class="col-md-4" id="ppamount">0.0</div>
</div> </div>
<% end %> <% end %>
<!-- Visa --> <!-- Visa -->
<% if @visacount != 0.0 %> <% if @visacount != 0.0 %>
<div class="row payment other-payment-color" style="line-height:30px;height: 30px;margin-bottom: 0px;"> <div class="row payment other-payment-color" style="line-height:30px;height: 30px;margin-bottom: 0px;">
<div class="col-md-5"></div> <div class="col-md-5"></div>
<div class="col-md-3">Visa</div> <div class="col-md-3">Visa</div>
<div class="col-md-4" id="visacount"><%= @visacount %></div> <div class="col-md-4 visa is_card" id="visacount"><%= @visacount %></div>
</div> </div>
<% else %> <% else %>
<div class="row" style="display:none"> <div class="row" style="display:none">
<div class="col-md-5"></div> <div class="col-md-5"></div>
<div class="col-md-3">Visa</div> <div class="col-md-3">Visa</div>
<div class="col-md-4" id="visacount">0.0</div> <div class="col-md-4" id="visacount">0.0</div>
</div> </div>
<% end %> <% end %>
<!-- JCB --> <!-- JCB -->
<% if @jcbcount != 0.0 %> <% if @jcbcount != 0.0 %>
<div class="row payment other-payment-color" style="line-height:30px;height: 30px;margin-bottom: 0px;"> <div class="row payment other-payment-color" style="line-height:30px;height: 30px;margin-bottom: 0px;">
<div class="col-md-5"></div> <div class="col-md-5"></div>
<div class="col-md-3">JCB</div> <div class="col-md-3">JCB</div>
<div class="col-md-4" id="jcbcount"><%= @jcbcount %></div> <div class="col-md-4 jcb is_card" id="jcbcount"><%= @jcbcount %></div>
</div> </div>
<% else %> <% else %>
<div class="row" style="display:none"> <div class="row" style="display:none">
<div class="col-md-5"></div> <div class="col-md-5"></div>
<div class="col-md-3">JCB</div> <div class="col-md-3">JCB</div>
<div class="col-md-4" id="jcbcount">0.0</div> <div class="col-md-4" id="jcbcount">0.0</div>
</div> </div>
<% end %> <% end %>
<!-- Master --> <!-- Master -->
<% if @mastercount != 0.0 %> <% if @mastercount != 0.0 %>
<div class="row payment other-payment-color" style="line-height:30px;height: 30px;margin-bottom: 0px;"> <div class="row payment other-payment-color" style="line-height:30px;height: 30px;margin-bottom: 0px;">
<div class="col-md-5"></div> <div class="col-md-5"></div>
<div class="col-md-3">Master</div> <div class="col-md-3">Master</div>
<div class="col-md-4" id="mastercount"><%= @mastercount %></div> <div class="col-md-4 master is_card" id="mastercount"><%= @mastercount %></div>
</div> </div>
<% else %> <% else %>
<div class="row" style="display:none"> <div class="row" style="display:none">
<div class="col-md-5"></div> <div class="col-md-5"></div>
<div class="col-md-3">Master</div> <div class="col-md-3">Master</div>
<div class="col-md-4" id="mastercount">0.0</div> <div class="col-md-4" id="mastercount">0.0</div>
</div> </div>
<% end %> <% end %>
<br> <br>
<div class="row"> <div class="row">
<div class="col-md-8"><strong style="font-size:18px;">Balance</strong></div> <div class="col-md-8"><strong style="font-size:18px;">Balance</strong></div>
<div class="col-md-4"><strong style="font-size:18px;"><span id='balance'><%= @sale_data.grand_total %></span></strong></div> <div class="col-md-4"><strong style="font-size:18px;"><span id='balance'><%= @sale_data.grand_total %></span></strong></div>
</div> </div>
<br> <br>
<div class="row"> <div class="row">
<div class="col-lg-6 col-md-1 col-sm-1"> <div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="1" data-type="num">1</div> <div class=" cashier_number " data-value="1" data-type="num">1</div>
<div class=" cashier_number left" data-value="2" data-type="num">2</div> <div class=" cashier_number left" data-value="2" data-type="num">2</div>
<div class=" cashier_number left" data-value="3" data-type="num">3</div> <div class=" cashier_number left" data-value="3" data-type="num">3</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="4" data-type="num">4</div> <div class=" cashier_number " data-value="4" data-type="num">4</div>
<div class=" cashier_number left" data-value="5" data-type="num">5</div> <div class=" cashier_number left" data-value="5" data-type="num">5</div>
<div class=" cashier_number left" data-value="6" data-type="num">6</div> <div class=" cashier_number left" data-value="6" data-type="num">6</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="7" data-type="num">7</div> <div class=" cashier_number " data-value="7" data-type="num">7</div>
<div class=" cashier_number left" data-value="8" data-type="num">8</div> <div class=" cashier_number left" data-value="8" data-type="num">8</div>
<div class=" cashier_number left" data-value="9" data-type="num">9</div> <div class=" cashier_number left" data-value="9" data-type="num">9</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number " data-value="0" data-type="num">0</div> <div class=" cashier_number " data-value="0" data-type="num">0</div>
<div class=" cashier_number left" data-value="." data-type="num">.</div> <div class=" cashier_number left" data-value="." data-type="num">.</div>
<div class=" cashier_number left" data-value="00" data-type="num">00</div> <div class=" cashier_number left" data-value="00" data-type="num">00</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class=" cashier_number green" data-type="nett">Nett</div> <div class=" cashier_number green" data-type="nett">Nett</div>
<div class=" cashier_number red left" data-type="del">Del</div> <div class=" cashier_number red left" data-type="del">Del</div>
<div class=" cashier_number orange left" data-type="clr">Clr</div> <div class=" cashier_number orange left" data-type="clr">Clr</div>
</div> </div>
</div> </div>
<div class="col-lg-6 col-md-1 col-sm-1"> <div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom"> <div class="row bottom">
<div class="cashier_number long" data-value="1000" data-type="add">1000</div> <div class="cashier_number long" data-value="1000" data-type="add">1000</div>
<div class="cashier_number long left" data-value="3000" data-type="add">3000</div> <div class="cashier_number long left" data-value="3000" data-type="add">3000</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class="cashier_number long" data-value="5000" data-type="add">5000</div> <div class="cashier_number long" data-value="5000" data-type="add">5000</div>
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div> <div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div> </div>
<div class="row bottom"> <div class="row bottom">
<div class="pay purple" id="pay">Pay</div> <div class="pay purple" id="pay">Pay</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="col-lg-1 col-md-1 col-sm-1"> <div class="col-lg-1 col-md-1 col-sm-1">
<!-- Waiter Buttons --> <!-- Waiter Buttons -->
<button type="button" class="btn btn-primary btn-block" onclick="localStorage.removeItem('cash');window.location.href = '/origami';"> Back </button> <button type="button" class="btn btn-primary btn-block" onclick="localStorage.removeItem('cash');window.location.href = '/origami';"> Back </button>
<button type="button" class="btn btn-primary btn-block" id="foc"> FOC </button> <button type="button" class="btn btn-primary btn-block" id="foc"> FOC </button>
<button type="button" class="btn btn-primary btn-block" id="void"> Void </button> <button type="button" class="btn btn-primary btn-block" id="void"> Void </button>
</div> </div>
</div> </div>
<script> <script>
$(document).ready(function(){ $(document).ready(function(){
if(localStorage.getItem("cash") == null || localStorage.getItem("cash") == 'null'){} if(localStorage.getItem("cash") == null || localStorage.getItem("cash") == 'null'){}
else { else {
$('#cash').text(localStorage.getItem("cash")); $('#cash').text(localStorage.getItem("cash"));
} }
update_balance(); update_balance();
}) })
$(document).on('click', '.cashier_number', function(event){ $(document).on('click', '.cashier_number', function(event){
if(event.handled !== true) { if(event.handled !== true) {
var original_value; var original_value;
original_value = $('#cash').text(); original_value = $('#cash').text();
@@ -293,79 +295,86 @@ $(document).on('click', '.cashier_number', function(event){
} }
break; break;
case 'add': case 'add':
var input_value = $(this).attr("data-value"); var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value); amount = parseInt(input_value) + parseInt(original_value);
$('#cash').text(amount); $('#cash').text(amount);
update_balance(); update_balance();
break; break;
case 'del' : case 'del' :
var cash=$('#cash').text(); var cash=$('#cash').text();
if(cash.length == 1) if(cash.length == 1)
$('#cash').text("0.0"); $('#cash').text("0.0");
else else
$('#cash').text(cash.substr(0,cash.length-1)); $('#cash').text(cash.substr(0,cash.length-1));
update_balance(); update_balance();
break; break;
case 'clr': case 'clr':
$('#cash').text("0.0"); $('#cash').text("0.0");
update_balance(); update_balance();
break; break;
case 'nett': case 'nett':
var credit1 = $('#credit').text(); var credit1 = $('#credit').text();
var card1 = $('#others').text(); var card1 = $('#others').text();
var paypar1 = $('#ppamount').text(); var paypar1 = $('#ppamount').text();
var visa1 = $('#visacount').text(); var visa1 = $('#visacount').text();
var jcb1 = $('#jcbcount').text(); var jcb1 = $('#jcbcount').text();
var master1 = $('#mastercount').text(); var master1 = $('#mastercount').text();
var othertotal = parseFloat(credit1) + parseFloat(card1) + parseFloat(paypar1) + parseFloat(visa1) + parseFloat(jcb1) + parseFloat(master1); var othertotal = parseFloat(credit1) + parseFloat(card1) + parseFloat(paypar1) + parseFloat(visa1) + parseFloat(jcb1) + parseFloat(master1);
var total = $('#amount_due').text(); var total = $('#amount_due').text();
var amt = parseFloat(total) - othertotal; var amt = parseFloat(total) - othertotal;
$('#cash').text(amt); $('#cash').text(amt);
update_balance(); update_balance();
break; break;
} }
event.handled = true; event.handled = true;
} else { } else {
return false; return false;
} }
}); });
$( document ).ready(function() { $( document ).ready(function() {
// Disable click event cash to prevent // Disable click event cash to prevent
$(".payment .cash-color").off('click'); $(".payment .cash-color").off('click');
$('#credit_payment').click(function() { $('#credit_payment').click(function() {
var sale_id = $('#sale_id').text(); var sale_id = $('#sale_id').text();
window.location.href = '/origami/sale/'+ sale_id + "/payment/credit_payment" window.location.href = '/origami/sale/'+ sale_id + "/payment/credit_payment"
return false; return false;
}); });
$('#card_payment').click(function() { $('#card_payment').click(function() {
localStorage.setItem("cash",$('#cash').text() ); localStorage.setItem("cash",$('#cash').text() );
var sale_id = $('#sale_id').text(); var sale_id = $('#sale_id').text();
window.location.href = '/origami/sale/'+ sale_id + "/payment/others_payment" window.location.href = '/origami/sale/'+ sale_id + "/payment/others_payment"
return false; return false;
}); });
$('#pay').click(function() { $('#pay').click(function() {
$('#pay').text("Processing, Please wait!") $('#pay').text("Processing, Please wait!")
$( "#loading_wrapper" ).show(); $( "#loading_wrapper" ).show();
if($('#balance').text() > 0){
alert(" Insufficient Amount!")
$( "#loading_wrapper" ).hide();
}else{
var sale_id = $('#sale_id').text();
var item_row = $('.is_card');
if (item_row.length < 1) {
calculate_member_discount(sale_id);
}
if($('#balance').text() > 0){
alert(" Insufficient Amount!")
$( "#loading_wrapper" ).hide();
}else{
// payment // payment
var cash = $('#cash').text(); var cash = $('#cash').text();
var credit = $('#credit').text(); var credit = $('#credit').text();
var card = $('#card').text(); var card = $('#card').text();
var sale_id = $('#sale_id').text();
$.ajax({type: "POST", $.ajax({type: "POST",
url: "<%= origami_payment_cash_path %>", url: "<%= origami_payment_cash_path %>",
data: "cash="+ cash + "&sale_id=" + sale_id, data: "cash="+ cash + "&sale_id=" + sale_id,
async: false,
success:function(result){ success:function(result){
localStorage.removeItem("cash"); localStorage.removeItem("cash");
if (result.status) { if (result.status) {
var msg = result.message; var msg = result.message;
@@ -380,24 +389,23 @@ $( document ).ready(function() {
content: 'Changed amount ' + $('#balance').text() * (-1), content: 'Changed amount ' + $('#balance').text() * (-1),
buttons: { buttons: {
confirm: { confirm: {
text: 'Ok', text: 'Ok',
btnClass: 'btn-green', btnClass: 'btn-green',
action: function(){ action: function(){
window.location.href = '/origami'; window.location.href = '/origami';
} }
} }
} }
}); });
} }else{
else{
$('#pay').text("Pay") $('#pay').text("Pay")
$.confirm({ $.confirm({
title: 'Infomation!', title: 'Infomation!',
content: 'Thank you !', content: 'Thank you !',
buttons: { buttons: {
confirm: { confirm: {
text: 'Ok', text: 'Ok',
btnClass: 'btn-green', btnClass: 'btn-green',
action: function(){ action: function(){
window.location.href = '/origami'; window.location.href = '/origami';
} }
@@ -408,75 +416,91 @@ $( document ).ready(function() {
} }
}); });
} }
}); });
$('#void').on('click',function () { $('#void').on('click',function () {
var sure = confirm("Are you sure want to Void"); var sure = confirm("Are you sure want to Void");
if (sure == true) { if (sure == true) {
var sale_id = $('#sale_id').text(); var sale_id = $('#sale_id').text();
var ajax_url = "/origami/sale/" + sale_id + '/void'; var ajax_url = "/origami/sale/" + sale_id + '/void';
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
url: ajax_url, url: ajax_url,
success: function () { success: function () {
window.location.href = '/origami/'; window.location.href = '/origami/';
} }
}) })
} else { } else {
} }
}); });
}); });
function update_balance(){ function update_balance(){
var cash = $('#cash').text(); var cash = $('#cash').text();
var credit = $('#credit').text(); var credit = $('#credit').text();
var card = $('#others').text(); var card = $('#others').text();
var paypar = $('#ppamount').text(); var paypar = $('#ppamount').text();
var visa = $('#visacount').text(); var visa = $('#visacount').text();
var jcb = $('#jcbcount').text(); var jcb = $('#jcbcount').text();
var master = $('#mastercount').text(); var master = $('#mastercount').text();
var amount_due = $('#amount_due').text(); var amount_due = $('#amount_due').text();
var total = parseFloat(cash) + parseFloat(credit) + parseFloat(card) + parseFloat(paypar) + parseFloat(visa) + parseFloat(jcb) + parseFloat(master) var total = parseFloat(cash) + parseFloat(credit) + parseFloat(card) + parseFloat(paypar) + parseFloat(visa) + parseFloat(jcb) + parseFloat(master)
var result = amount_due - total; var result = amount_due - total;
$('#balance').text(result.toFixed(2)); $('#balance').text(result.toFixed(2));
} }
$('#foc').click(function() { $('#foc').click(function() {
$( "#loading_wrapper" ).show();
$( "#loading_wrapper" ).show();
// payment // payment
var cash = $('#amount_due').text(); var cash = $('#amount_due').text();
var sub_total = $('#sub-total').text(); var sub_total = $('#sub-total').text();
var sale_id = $('#sale_id').text(); var sale_id = $('#sale_id').text();
var params = { 'cash':cash,'sale_id':sale_id,'sub_total':sub_total }; var params = { 'cash':cash,'sale_id':sale_id,'sub_total':sub_total };
$.ajax({type: "POST", $.ajax({type: "POST",
url: "<%= origami_payment_foc_path %>", url: "<%= origami_payment_foc_path %>",
data: params, data: params,
success:function(result){ success:function(result){
$( "#loading_wrapper" ).hide(); $( "#loading_wrapper" ).hide();
if (cash > 0) { if (cash > 0) {
$.confirm({ $.confirm({
title: 'Infomation!', title: 'Infomation!',
content: 'Thank you !', content: 'Thank you !',
buttons: { buttons: {
confirm: { confirm: {
text: 'Ok', text: 'Ok',
btnClass: 'btn-green', btnClass: 'btn-green',
action: function(){ action: function(){
window.location.href = '/origami'; window.location.href = '/origami';
} }
} }
} }
}); });
} }
} }
}); });
});
function calculate_member_discount(sale_id) {
var sub_total = $('#sub-total').text();
var member_id = $('#membership_id').text();
var member_discount = $('#member_discount').text();
}); if (member_id && member_discount) {
$.ajax({
type: "POST",
url: "/origami/" + sale_id + "/member_discount",
data: {'sale_id':sale_id, 'sub_total':sub_total,'is_card':false },
async: false,
success:function(result){
}
});
}
}
</script> </script>

View File

@@ -7,160 +7,177 @@
<h2>VISA</h2> <h2>VISA</h2>
</div> </div>
</div> </div>
<div class="card" style="margin-top:10px;padding-top:20px;"> <span class="hidden" id="membership_id"><%= @membership_id%></span>
<div class="rebate-form"> <span class="hidden" id="member_discount"><%= @member_discount%></span>
<div class="row"> <span class="hidden" id="sub-total"><%= @sub_total%></span>
<div class="form-group col-lg-12 col-md-12 col-sm-12"> <div class="card" style="margin-top:10px;padding-top:20px;">
<label class="col-lg-4 col-md-4 col-sm-4">You can pay up to </label> <div class="rebate-form">
<input type="text" name="validamount" id="validamount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@can_visa %>" data-member-value=""> <div class="row">
</div> <div class="form-group col-lg-12 col-md-12 col-sm-12">
<hr> <label class="col-lg-4 col-md-4 col-sm-4">You can pay up to </label>
</div> <input type="text" name="validamount" id="validamount" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@can_visa %>" data-member-value="">
<% if @visacount != 0 %> </div>
<div class="row"> <hr>
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Recent Visa paid amount </label>
<input type="text" name="" id="" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@visacount %>" data-member-value="">
</div>
<hr>
</div>
<% end %>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label>
<input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value="">
</div>
<hr>
</div>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Amount</label>
<div id="amount" class="form-control col-lg-7 col-md-7 col-sm-7">0.0</div>
</div>
<hr>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-6" style="margin-top:75px;">
<div class="row">
<div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom">
<div class=" cashier_number " data-value="1" data-type="num">1</div>
<div class=" cashier_number left" data-value="2" data-type="num">2</div>
<div class=" cashier_number left" data-value="3" data-type="num">3</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="4" data-type="num">4</div>
<div class=" cashier_number left" data-value="5" data-type="num">5</div>
<div class=" cashier_number left" data-value="6" data-type="num">6</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="7" data-type="num">7</div>
<div class=" cashier_number left" data-value="8" data-type="num">8</div>
<div class=" cashier_number left" data-value="9" data-type="num">9</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="0" data-type="num">0</div>
<div class=" cashier_number left" data-value="." data-type="num">.</div>
<div class=" cashier_number left" data-value="00" data-type="num">00</div>
</div>
<div class="row bottom">
<div class=" cashier_number green" data-type="nett" >Nett</div>
<div class=" cashier_number red left" data-type="del">Del</div>
<div class=" cashier_number orange left" data-type="clr">Clr</div>
</div>
</div>
<div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom">
<div class="cashier_number long" data-value="1000" data-type="add">1000</div>
<div class="cashier_number long left" data-value="3000" data-type="add">3000</div>
</div>
<div class="row bottom">
<div class="cashier_number long" data-value="5000" data-type="add">5000</div>
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div>
<div class="row bottom">
<div class="pay purple" id="visa_pay">Pay</div>
</div>
</div>
</div> </div>
<% if @visacount != 0 %>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Recent Visa paid amount </label>
<input type="text" name="" id="" class="form-control col-lg-7 col-md-7 col-sm-7" readonly="" value="<%=@visacount %>" data-member-value="">
</div>
<hr>
</div>
<% end %>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Reference Number</label>
<input type="text" name="valid_amount" id="valid_amount" class="form-control col-lg-7 col-md-7 col-sm-7" value="" data-value="<%=@sale_id %>" data-member-value="">
</div>
<hr>
</div> </div>
<div class="row">
<div class="form-group col-lg-12 col-md-12 col-sm-12">
<label class="col-lg-4 col-md-4 col-sm-4">Amount</label>
<div id="amount" class="form-control col-lg-7 col-md-7 col-sm-7">0.0</div>
</div>
<hr>
</div>
</div>
</div>
</div>
<div class="col-lg-1 col-md-1 col-sm-1"> <div class="col-lg-6 col-md-6 col-sm-6" style="margin-top:75px;">
<button type="button" class="btn btn-primary btn-block" onclick="window.location.href = '/origami/sale/<%= @sale_id %>/payment/others_payment';"> Back </button>
</div> <div class="row">
<div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom">
<div class=" cashier_number " data-value="1" data-type="num">1</div>
<div class=" cashier_number left" data-value="2" data-type="num">2</div>
<div class=" cashier_number left" data-value="3" data-type="num">3</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="4" data-type="num">4</div>
<div class=" cashier_number left" data-value="5" data-type="num">5</div>
<div class=" cashier_number left" data-value="6" data-type="num">6</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="7" data-type="num">7</div>
<div class=" cashier_number left" data-value="8" data-type="num">8</div>
<div class=" cashier_number left" data-value="9" data-type="num">9</div>
</div>
<div class="row bottom">
<div class=" cashier_number " data-value="0" data-type="num">0</div>
<div class=" cashier_number left" data-value="." data-type="num">.</div>
<div class=" cashier_number left" data-value="00" data-type="num">00</div>
</div>
<div class="row bottom">
<div class=" cashier_number green" data-type="nett" >Nett</div>
<div class=" cashier_number red left" data-type="del">Del</div>
<div class=" cashier_number orange left" data-type="clr">Clr</div>
</div>
</div>
<div class="col-lg-6 col-md-1 col-sm-1">
<div class="row bottom">
<div class="cashier_number long" data-value="1000" data-type="add">1000</div>
<div class="cashier_number long left" data-value="3000" data-type="add">3000</div>
</div>
<div class="row bottom">
<div class="cashier_number long" data-value="5000" data-type="add">5000</div>
<div class="cashier_number long left" data-value="10000" data-type="add">10000</div>
</div>
<div class="row bottom">
<div class="pay purple" id="visa_pay">Pay</div>
</div>
</div>
</div>
</div>
<div class="col-lg-1 col-md-1 col-sm-1">
<button type="button" class="btn btn-primary btn-block" onclick="window.location.href = '/origami/sale/<%= @sale_id %>/payment/others_payment';"> Back </button>
</div>
</div> </div>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
if(localStorage.getItem("cash") == null || localStorage.getItem("cash") == 'null'){} if(localStorage.getItem("cash") == null || localStorage.getItem("cash") == 'null'){}
else { else {
$('#validamount').attr("value",parseFloat("<%= @can_visa %>") - parseFloat(localStorage.getItem("cash"))); $('#validamount').attr("value",parseFloat("<%= @can_visa %>") - parseFloat(localStorage.getItem("cash")));
} }
}); });
$(document).on('click', '.cashier_number', function(event){ $(document).on('click', '.cashier_number', function(event){
event.stopPropagation(); event.stopPropagation();
event.preventDefault(); event.preventDefault();
if(event.handled !== true) { if(event.handled !== true) {
var original_value; var original_value;
original_value = $('#amount').text(); original_value = $('#amount').text();
var input_value = $(this).attr("data-value"); var input_value = $(this).attr("data-value");
var input_type = $(this).attr("data-type"); var input_type = $(this).attr("data-type");
switch (input_type) { switch (input_type) {
case 'num': case 'num':
if (original_value == "0.0"){ if (original_value == "0.0"){
$('#amount').text(input_value); $('#amount').text(input_value);
}else{ }else{
$('#amount').append(input_value); $('#amount').append(input_value);
} }
break; break;
case 'add': case 'add':
var input_value = $(this).attr("data-value"); var input_value = $(this).attr("data-value");
amount = parseInt(input_value) + parseInt(original_value); amount = parseInt(input_value) + parseInt(original_value);
$('#amount').html(amount); $('#amount').html(amount);
break; break;
case 'clr': case 'clr':
$('#amount').html("0.0"); $('#amount').html("0.0");
break; break;
case 'del' : case 'del' :
var cash=$('#amount').text(); var cash=$('#amount').text();
$('#amount').text(cash.substr(0,cash.length-1)); $('#amount').text(cash.substr(0,cash.length-1));
break; break;
case 'nett': case 'nett':
var remain_amount = $('#validamount').val(); var remain_amount = $('#validamount').val();
$('#amount').text(remain_amount); $('#amount').text(remain_amount);
break; break;
} }
event.handled = true; event.handled = true;
} else { } else {
return false; return false;
} }
}); });
$('#visa_pay').on('click',function(){ $('#visa_pay').on('click',function(){
var amount = $('#amount').text(); var amount = $('#amount').text();
var sale_id = "<%= @sale_id %>"; var sale_id = "<%= @sale_id %>";
if(parseFloat(amount) <= parseFloat($("#validamount").attr("value"))){ if(parseFloat(amount) <= parseFloat($("#validamount").attr("value"))){
$.ajax({type: "POST", //start member discount 5% by pay card
url: "<%= origami_payment_visa_path %>", var sub_total = $('#sub-total').text();
data: "amount="+ amount + "&sale_id="+ sale_id, var member_id = $('#membership_id').text();
success:function(result){ var member_discount = $('#member_discount').text();
if(result){ if (member_id && member_discount) {
alert("Payment success") $.ajax({
window.location.href = '/origami/sale/'+ sale_id + "/payment"; type: "POST",
} url: "/origami/" + sale_id + "/member_discount",
data: {'sale_id':sale_id, 'sub_total':sub_total,'is_card':false },
// success:function(result){
// }
});
} }
}); //end member discount
}else{ $.ajax({type: "POST",
alert("Paid Amount is over!"); url: "<%= origami_payment_visa_path %>",
} data: "amount="+ amount + "&sale_id="+ sale_id,
success:function(result){
if(result){
alert("Payment success")
window.location.href = '/origami/sale/'+ sale_id + "/payment";
}
}
});
}else{
alert("Paid Amount is over!");
}
}) })
</script> </script>