//popup
var d = new frappe.ui.Dialog({
title: __("Get Item from Quote"),
fields: [
{
"label": __("Quotation"),
"fieldname": "quotation",
"fieldtype": "Link",
"options": "Quotation",
"reqd": 1
},
{
"fieldname":"sb1",
"fieldtype":"Section Break",
},
{
"label": __("html"),
"fieldname": "my_html",
"fieldtype": "HTML",
"options" : "Items from quote<br>",
},
{
"label": __("Add Items"),
"fieldname": "Add Items",
"fieldtype": "Button",
"class":"add_items",
"options" : "Add Items from quote<br>",
},
],
primary_action_label: "Get Items",
// secondary_action_label: "Add Items",
primary_action: function(){
//msgprint("hi");
args = d.get_values();
if(!args) return;
// console.log(args.quotation);
qtn_no = args.quotation;
frappe.call({
method: "frappe.client.get_list",
args: {
doctype: "Quotation Item",
fields: ["item_code", "item_name","qty","name","rate","amount"],
filters: { 'parent': qtn_no },
},
callback: function(res){
if (res && res.message){
console.log("res",res)
html = "Items from<br>"
html += "<table border=1 style='width:100%' >"
+"<tr><th>Code</th><th>Name</th><th>Quantity</th><th>Rate</th><th>Amount</th></tr>"
// +"<tr>"
for (var i = 0; i<res.message.length; i=i+1) {
// html += "<tr><td>" +"<p><input type='checkbox' class='select' name='sport' value='+res.message[i].item_code' id='select' </p>"+"</td><td>" +res.message[i].item_code+"</td><td>"
html +="<tr><td>"+ "<p><input type='checkbox' class='select' id='select' name='items'"
+"' value='"
+res.message[i].item_code
+","
+res.message[i].item_name
+","
+res.message[i].qty
+","
+res.message[i].rate
+","
+res.message[i].amount
+"'> "
+res.message[i].item_code
+ "</p></td><td>"
+res.message[i].item_name+"</td><td>"
+res.message[i].qty+"</td><td>"
+res.message[i].rate+"</td><td>"
+res.message[i].amount+"</td></tr>"
}
+"</table>"
$("#select").append("sam");
var wrapper = d.fields_dict.my_html.$wrapper;
wrapper.empty();
wrapper.html(html);
}
}
});
}
});
d.show();
var item_list = [];
var list=[];
$("button:contains('Add Items')").click(function(){
$.each($("input[name='items']:checked"), function(){
item_list.push($(this).val());
});
console.log("Selected Items are: " + item_list.join(", "));
list.push(item_list.join(", "));
console.log(list)
item_list.forEach(function(element) {
console.log("length of element is :",element.length)
var row = frappe.model.add_child(cur_frm.doc, "Sales Order Item", "items");
list=element.split(",")
console.log("list of element :",list);
row.item_code = list[0];
row.item_name =list[1];
row.qty=list[2];
row.rate = list[3];
row.amount = list[4];
//add child
console.log("in row",row)
});
refresh_field("items");
console.log("items",item_list)
});
var d = new frappe.ui.Dialog({
title: __("Get Item from Quote"),
fields: [
{
"label": __("Quotation"),
"fieldname": "quotation",
"fieldtype": "Link",
"options": "Quotation",
"reqd": 1
},
{
"fieldname":"sb1",
"fieldtype":"Section Break",
},
{
"label": __("html"),
"fieldname": "my_html",
"fieldtype": "HTML",
"options" : "Items from quote<br>",
},
{
"label": __("Add Items"),
"fieldname": "Add Items",
"fieldtype": "Button",
"class":"add_items",
"options" : "Add Items from quote<br>",
},
],
primary_action_label: "Get Items",
// secondary_action_label: "Add Items",
primary_action: function(){
//msgprint("hi");
args = d.get_values();
if(!args) return;
// console.log(args.quotation);
qtn_no = args.quotation;
frappe.call({
method: "frappe.client.get_list",
args: {
doctype: "Quotation Item",
fields: ["item_code", "item_name","qty","name","rate","amount"],
filters: { 'parent': qtn_no },
},
callback: function(res){
if (res && res.message){
console.log("res",res)
html = "Items from<br>"
html += "<table border=1 style='width:100%' >"
+"<tr><th>Code</th><th>Name</th><th>Quantity</th><th>Rate</th><th>Amount</th></tr>"
// +"<tr>"
for (var i = 0; i<res.message.length; i=i+1) {
// html += "<tr><td>" +"<p><input type='checkbox' class='select' name='sport' value='+res.message[i].item_code' id='select' </p>"+"</td><td>" +res.message[i].item_code+"</td><td>"
html +="<tr><td>"+ "<p><input type='checkbox' class='select' id='select' name='items'"
+"' value='"
+res.message[i].item_code
+","
+res.message[i].item_name
+","
+res.message[i].qty
+","
+res.message[i].rate
+","
+res.message[i].amount
+"'> "
+res.message[i].item_code
+ "</p></td><td>"
+res.message[i].item_name+"</td><td>"
+res.message[i].qty+"</td><td>"
+res.message[i].rate+"</td><td>"
+res.message[i].amount+"</td></tr>"
}
+"</table>"
$("#select").append("sam");
var wrapper = d.fields_dict.my_html.$wrapper;
wrapper.empty();
wrapper.html(html);
}
}
});
}
});
d.show();
var item_list = [];
var list=[];
$("button:contains('Add Items')").click(function(){
$.each($("input[name='items']:checked"), function(){
item_list.push($(this).val());
});
console.log("Selected Items are: " + item_list.join(", "));
list.push(item_list.join(", "));
console.log(list)
item_list.forEach(function(element) {
console.log("length of element is :",element.length)
var row = frappe.model.add_child(cur_frm.doc, "Sales Order Item", "items");
list=element.split(",")
console.log("list of element :",list);
row.item_code = list[0];
row.item_name =list[1];
row.qty=list[2];
row.rate = list[3];
row.amount = list[4];
//add child
console.log("in row",row)
});
refresh_field("items");
console.log("items",item_list)
});
No comments:
Post a Comment