/
purchase_order_list.js
66 lines (61 loc) · 2.15 KB
/
purchase_order_list.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
frappe.listview_settings["Purchase Order"] = {
add_fields: [
"base_grand_total",
"company",
"currency",
"supplier",
"supplier_name",
"per_received",
"per_billed",
"status",
],
get_indicator: function (doc) {
if (doc.status === "Closed") {
return [__("Closed"), "green", "status,=,Closed"];
} else if (doc.status === "On Hold") {
return [__("On Hold"), "orange", "status,=,On Hold"];
} else if (doc.status === "Delivered") {
return [__("Delivered"), "green", "status,=,Closed"];
} else if (flt(doc.per_received, 2) < 100 && doc.status !== "Closed") {
if (flt(doc.per_billed, 2) < 100) {
return [
__("To Receive and Bill"),
"orange",
"per_received,<,100|per_billed,<,100|status,!=,Closed",
];
} else {
return [__("To Receive"), "orange", "per_received,<,100|per_billed,=,100|status,!=,Closed"];
}
} else if (
flt(doc.per_received, 2) >= 100 &&
flt(doc.per_billed, 2) < 100 &&
doc.status !== "Closed"
) {
return [__("To Bill"), "orange", "per_received,=,100|per_billed,<,100|status,!=,Closed"];
} else if (
flt(doc.per_received, 2) >= 100 &&
flt(doc.per_billed, 2) == 100 &&
doc.status !== "Closed"
) {
return [__("Completed"), "green", "per_received,=,100|per_billed,=,100|status,!=,Closed"];
}
},
onload: function (listview) {
var method = "erpnext.buying.doctype.purchase_order.purchase_order.close_or_unclose_purchase_orders";
listview.page.add_menu_item(__("Close"), function () {
listview.call_for_selected_items(method, { status: "Closed" });
});
listview.page.add_menu_item(__("Reopen"), function () {
listview.call_for_selected_items(method, { status: "Submitted" });
});
listview.page.add_action_item(__("Purchase Invoice"), () => {
erpnext.bulk_transaction_processing.create(listview, "Purchase Order", "Purchase Invoice");
});
listview.page.add_action_item(__("Purchase Receipt"), () => {
erpnext.bulk_transaction_processing.create(listview, "Purchase Order", "Purchase Receipt");
});
listview.page.add_action_item(__("Advance Payment"), () => {
erpnext.bulk_transaction_processing.create(listview, "Purchase Order", "Payment Entry");
});
},
};