frappe.call({
"method": "custom_bom.api.getBomDetail",
args: {
bom_no: bom_name
},
freeze: true,
freeze_message: __("Loading"),
callback: function (r, rt) {
console.log("response message = "+ JSON.stringify(r.message))
data = r.message.items
var material_popup = new frappe.ui.Dialog({
'title': 'Select Material',
'fields': [{
fieldname: 'material',
fieldtype: 'Table',
fields: [
{
fieldtype:'Link',
fieldname:'item_code',
options: 'Item',
label: __('Item Code'),
in_list_view:1,
get_query: function() {
},
onchange:function(){
frappe.msgprint("asd")
frappe.call({
"method": "custom_bom.api.getBomDetail",
args: {
bom_no: bom_name
},
freeze: true,
freeze_message: __("Loading"),
callback: function (r, rt) {
console.log("response message = "+ JSON.stringify(r.message))
}
})
}
},{
fieldtype:'Data',
fieldname:'item_name',
label: __('Item Name'),
default:'item_code.item_name',
in_list_view:1
},{
fieldtype:'Link',
fieldname:'item_group',
options: 'Item Group',
label: __('Item Group'),
in_list_view:1,
default:'item_code.item_group'
},{
fieldtype:'Float',
fieldname:'qty',
label: __('Qty'),
in_list_view:1
},{
fieldtype:'Currency',
fieldname:'rate',
label: __('Rate'),
in_list_view:1
},{
fieldtype:'Currency',
fieldname:'amount',
label: __('Amount'),
in_list_view:1
}
],
data: data,
get_data: function() {
return data;
}
}],
primary_action: function(){
material_popup.hide();
console.log(material_popup.get_values().material);
frappe.call({
"method": "custom_bom.api.saveBOM",
args: {
item :d2.item_code,
currency :'INR',
items : material_popup.get_values().material
},
freeze: true,
freeze_message: __("Loading"),
callback: function (r, rt) {
d2.rate = r.message.total_cost
d2.amount = d2.rate * d2.qty
frm.trigger("calculate_taxes_and_totals")
frm.refresh_field("items")
material_popup.hide();
}
})
}
});
material_popup.show();
}
})