blob: ed0f1b1ff36f1d29a69720da9f7cd9f21517f382 [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
Faris Ansari1fe891b2021-04-23 08:04:00 +053014rfq = class rfq {
15 constructor(){
rohitwaghchaurea1064a62016-03-03 14:00:35 +053016 this.onfocus_select_all();
17 this.change_qty();
18 this.change_rate();
19 this.terms();
20 this.submit_rfq();
Rohit Waghchaurea26f6852016-10-03 19:05:18 +053021 this.navigate_quotations();
Faris Ansari1fe891b2021-04-23 08:04:00 +053022 }
rohitwaghchaurea1064a62016-03-03 14:00:35 +053023
Faris Ansari1fe891b2021-04-23 08:04:00 +053024 onfocus_select_all(){
rohitwaghchaurea1064a62016-03-03 14:00:35 +053025 $("input").click(function(){
26 $(this).select();
27 })
Faris Ansari1fe891b2021-04-23 08:04:00 +053028 }
rohitwaghchaurea1064a62016-03-03 14:00:35 +053029
Faris Ansari1fe891b2021-04-23 08:04:00 +053030 change_qty(){
rohitwaghchaurea1064a62016-03-03 14:00:35 +053031 var me = this;
32 $('.rfq-items').on("change", ".rfq-qty", function(){
33 me.idx = parseFloat($(this).attr('data-idx'));
Rohit Waghchaureb34ba6b2016-09-01 18:01:27 +053034 me.qty = parseFloat($(this).val()) || 0;
rohitwaghchaurea1064a62016-03-03 14:00:35 +053035 me.rate = parseFloat($(repl('.rfq-rate[data-idx=%(idx)s]',{'idx': me.idx})).val());
36 me.update_qty_rate();
mbauskar22cedeb2017-04-17 12:24:11 +053037 $(this).val(format_number(me.qty, doc.number_format, 2));
rohitwaghchaurea1064a62016-03-03 14:00:35 +053038 })
Faris Ansari1fe891b2021-04-23 08:04:00 +053039 }
rohitwaghchaurea1064a62016-03-03 14:00:35 +053040
Faris Ansari1fe891b2021-04-23 08:04:00 +053041 change_rate(){
rohitwaghchaurea1064a62016-03-03 14:00:35 +053042 var me = this;
43 $(".rfq-items").on("change", ".rfq-rate", function(){
44 me.idx = parseFloat($(this).attr('data-idx'));
Rohit Waghchaureb34ba6b2016-09-01 18:01:27 +053045 me.rate = parseFloat($(this).val()) || 0;
rohitwaghchaurea1064a62016-03-03 14:00:35 +053046 me.qty = parseFloat($(repl('.rfq-qty[data-idx=%(idx)s]',{'idx': me.idx})).val());
47 me.update_qty_rate();
mbauskar22cedeb2017-04-17 12:24:11 +053048 $(this).val(format_number(me.rate, doc.number_format, 2));
rohitwaghchaurea1064a62016-03-03 14:00:35 +053049 })
Faris Ansari1fe891b2021-04-23 08:04:00 +053050 }
rohitwaghchaurea1064a62016-03-03 14:00:35 +053051
Faris Ansari1fe891b2021-04-23 08:04:00 +053052 terms(){
rohitwaghchaurea1064a62016-03-03 14:00:35 +053053 $(".terms").on("change", ".terms-feedback", function(){
54 doc.terms = $(this).val();
55 })
Faris Ansari1fe891b2021-04-23 08:04:00 +053056 }
rohitwaghchaurea1064a62016-03-03 14:00:35 +053057
Faris Ansari1fe891b2021-04-23 08:04:00 +053058 update_qty_rate(){
rohitwaghchaurea1064a62016-03-03 14:00:35 +053059 var me = this;
60 doc.grand_total = 0.0;
61 $.each(doc.items, function(idx, data){
62 if(data.idx == me.idx){
63 data.qty = me.qty;
64 data.rate = me.rate;
65 data.amount = (me.rate * me.qty) || 0.0;
rohitwaghchaure62fea032016-03-30 13:24:42 +053066 $(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 +053067 }
68
69 doc.grand_total += flt(data.amount);
rohitwaghchaure62fea032016-03-30 13:24:42 +053070 $('.tax-grand-total').text(format_number(doc.grand_total, doc.number_format, 2));
rohitwaghchaurea1064a62016-03-03 14:00:35 +053071 })
Faris Ansari1fe891b2021-04-23 08:04:00 +053072 }
rohitwaghchaurea1064a62016-03-03 14:00:35 +053073
Faris Ansari1fe891b2021-04-23 08:04:00 +053074 submit_rfq(){
rohitwaghchaurea1064a62016-03-03 14:00:35 +053075 $('.btn-sm').click(function(){
rohitwaghchaure2851a412023-10-18 16:31:35 +053076 debugger
rohitwaghchaurea1064a62016-03-03 14:00:35 +053077 frappe.freeze();
78 frappe.call({
79 type: "POST",
80 method: "erpnext.buying.doctype.request_for_quotation.request_for_quotation.create_supplier_quotation",
81 args: {
82 doc: doc
83 },
84 btn: this,
85 callback: function(r){
rohitwaghchaure2851a412023-10-18 16:31:35 +053086 debugger
rohitwaghchaurea1064a62016-03-03 14:00:35 +053087 frappe.unfreeze();
Rohit Waghchaure21499e82016-09-21 16:49:58 +053088 if(r.message){
89 $('.btn-sm').hide()
Brown-Harry Bomad3fa1912017-09-27 08:23:38 +010090 window.location.href = "/supplier-quotations/" + encodeURIComponent(r.message);
Rohit Waghchaure21499e82016-09-21 16:49:58 +053091 }
rohitwaghchaurea1064a62016-03-03 14:00:35 +053092 }
93 })
94 })
Faris Ansari1fe891b2021-04-23 08:04:00 +053095 }
Rohit Waghchaurea26f6852016-10-03 19:05:18 +053096
Faris Ansari1fe891b2021-04-23 08:04:00 +053097 navigate_quotations() {
Rohit Waghchaurea26f6852016-10-03 19:05:18 +053098 $('.quotations').click(function(){
99 name = $(this).attr('idx')
100 window.location.href = "/quotations/" + encodeURIComponent(name);
101 })
rohitwaghchaurea1064a62016-03-03 14:00:35 +0530102 }
Faris Ansari1fe891b2021-04-23 08:04:00 +0530103}