blob: c63226c9bd0ec67c9d24ba0ad2653b8c07af4e6e [file] [log] [blame]
rohitwaghchaurea1064a62016-03-03 14:00:35 +05301// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
2// License: GNU General Public License v3. See license.txt
3
4window.doc={{ doc.as_json() }};
5
6$(document).ready(function() {
7 new rfq();
8 doc.supplier = "{{ doc.supplier }}"
rohitwaghchaure62fea032016-03-30 13:24:42 +05309 doc.currency = "{{ doc.currency }}"
10 doc.number_format = "{{ doc.number_format }}"
11 doc.buying_price_list = "{{ doc.buying_price_list }}"
rohitwaghchaurea1064a62016-03-03 14:00:35 +053012});
13
14rfq = Class.extend({
15 init: function(){
16 this.onfocus_select_all();
17 this.change_qty();
18 this.change_rate();
19 this.terms();
20 this.submit_rfq();
21 },
22
23 onfocus_select_all: function(){
24 $("input").click(function(){
25 $(this).select();
26 })
27 },
28
29 change_qty: function(){
30 var me = this;
31 $('.rfq-items').on("change", ".rfq-qty", function(){
32 me.idx = parseFloat($(this).attr('data-idx'));
Rohit Waghchaureb34ba6b2016-09-01 18:01:27 +053033 me.qty = parseFloat($(this).val()) || 0;
rohitwaghchaurea1064a62016-03-03 14:00:35 +053034 me.rate = parseFloat($(repl('.rfq-rate[data-idx=%(idx)s]',{'idx': me.idx})).val());
35 me.update_qty_rate();
Rohit Waghchaureb34ba6b2016-09-01 18:01:27 +053036 $(this).val(format_number(me.qty, 2));
rohitwaghchaurea1064a62016-03-03 14:00:35 +053037 })
38 },
39
40 change_rate: function(){
41 var me = this;
42 $(".rfq-items").on("change", ".rfq-rate", function(){
43 me.idx = parseFloat($(this).attr('data-idx'));
Rohit Waghchaureb34ba6b2016-09-01 18:01:27 +053044 me.rate = parseFloat($(this).val()) || 0;
rohitwaghchaurea1064a62016-03-03 14:00:35 +053045 me.qty = parseFloat($(repl('.rfq-qty[data-idx=%(idx)s]',{'idx': me.idx})).val());
46 me.update_qty_rate();
Rohit Waghchaureb34ba6b2016-09-01 18:01:27 +053047 $(this).val(format_number(me.rate, 2));
rohitwaghchaurea1064a62016-03-03 14:00:35 +053048 })
49 },
50
51 terms: function(){
52 $(".terms").on("change", ".terms-feedback", function(){
53 doc.terms = $(this).val();
54 })
55 },
56
57 update_qty_rate: function(){
58 var me = this;
59 doc.grand_total = 0.0;
60 $.each(doc.items, function(idx, data){
61 if(data.idx == me.idx){
62 data.qty = me.qty;
63 data.rate = me.rate;
64 data.amount = (me.rate * me.qty) || 0.0;
rohitwaghchaure62fea032016-03-30 13:24:42 +053065 $(repl('.rfq-amount[data-idx=%(idx)s]',{'idx': me.idx})).text(format_number(data.amount, doc.number_format, 2));
rohitwaghchaurea1064a62016-03-03 14:00:35 +053066 }
67
68 doc.grand_total += flt(data.amount);
rohitwaghchaure62fea032016-03-30 13:24:42 +053069 $('.tax-grand-total').text(format_number(doc.grand_total, doc.number_format, 2));
rohitwaghchaurea1064a62016-03-03 14:00:35 +053070 })
71 },
72
73 submit_rfq: function(){
74 $('.btn-sm').click(function(){
75 frappe.freeze();
76 frappe.call({
77 type: "POST",
78 method: "erpnext.buying.doctype.request_for_quotation.request_for_quotation.create_supplier_quotation",
79 args: {
80 doc: doc
81 },
82 btn: this,
83 callback: function(r){
Rohit Waghchauref154c612016-07-06 17:26:15 +053084 $('.btn-sm').hide()
rohitwaghchaurea1064a62016-03-03 14:00:35 +053085 frappe.unfreeze();
86 }
87 })
88 })
89 }
90})