Merge pull request #7980 from rohitwaghchaure/target_bounty_redesign
[Enhancement] POS Redesign and new features
This commit is contained in:
commit
d402829d17
@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"allow_copy": 0,
|
"allow_copy": 0,
|
||||||
|
"allow_guest_to_view": 0,
|
||||||
"allow_import": 0,
|
"allow_import": 0,
|
||||||
"allow_rename": 0,
|
"allow_rename": 0,
|
||||||
"autoname": "hash",
|
"autoname": "hash",
|
||||||
@ -21,7 +22,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Applicable for User",
|
"label": "Applicable for User",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -50,7 +53,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Series",
|
"label": "Series",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 1,
|
"no_copy": 1,
|
||||||
@ -81,7 +86,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Update Stock",
|
"label": "Update Stock",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -108,7 +115,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Warehouse",
|
"label": "Warehouse",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -137,7 +146,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Campaign",
|
"label": "Campaign",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -165,7 +176,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
@ -191,7 +204,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Customer",
|
"label": "Customer",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -220,7 +235,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Company",
|
"label": "Company",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -238,6 +255,36 @@
|
|||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"allow_on_submit": 0,
|
||||||
|
"bold": 0,
|
||||||
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
|
"fieldname": "country",
|
||||||
|
"fieldtype": "Read Only",
|
||||||
|
"hidden": 0,
|
||||||
|
"ignore_user_permissions": 0,
|
||||||
|
"ignore_xss_filter": 0,
|
||||||
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
|
"label": "Country",
|
||||||
|
"length": 0,
|
||||||
|
"no_copy": 0,
|
||||||
|
"options": "company.country",
|
||||||
|
"permlevel": 0,
|
||||||
|
"precision": "",
|
||||||
|
"print_hide": 0,
|
||||||
|
"print_hide_if_no_value": 0,
|
||||||
|
"read_only": 0,
|
||||||
|
"remember_last_selected_value": 0,
|
||||||
|
"report_hide": 0,
|
||||||
|
"reqd": 0,
|
||||||
|
"search_index": 0,
|
||||||
|
"set_only_once": 0,
|
||||||
|
"unique": 0
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
@ -249,7 +296,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Currency",
|
"label": "Currency",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -278,7 +327,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Ignore Pricing Rule",
|
"label": "Ignore Pricing Rule",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -305,7 +356,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Allow Delete",
|
"label": "Allow Delete",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -332,7 +385,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Allow user to edit Rate",
|
"label": "Allow user to edit Rate",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -359,7 +414,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
@ -385,7 +442,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Sales Invoice Payment",
|
"label": "Sales Invoice Payment",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -413,7 +472,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
@ -439,7 +500,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Item Groups",
|
"label": "Item Groups",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -467,7 +530,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
@ -493,7 +558,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Customer Groups",
|
"label": "Customer Groups",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -521,7 +588,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
@ -548,7 +617,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Print Format",
|
"label": "Print Format",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -576,7 +647,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Letter Head",
|
"label": "Letter Head",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -605,7 +678,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Print Heading",
|
"label": "Print Heading",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -634,7 +709,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Terms and Conditions",
|
"label": "Terms and Conditions",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -663,7 +740,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"oldfieldtype": "Column Break",
|
"oldfieldtype": "Column Break",
|
||||||
@ -690,7 +769,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Territory",
|
"label": "Territory",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -719,7 +800,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Price List",
|
"label": "Price List",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -748,7 +831,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Apply Discount",
|
"label": "Apply Discount",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -777,7 +862,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Apply Discount On",
|
"label": "Apply Discount On",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -805,7 +892,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
@ -832,7 +921,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Write Off Account",
|
"label": "Write Off Account",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -860,7 +951,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Write Off Cost Center",
|
"label": "Write Off Cost Center",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -888,7 +981,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Account for Change Amount",
|
"label": "Account for Change Amount",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -916,7 +1011,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Taxes and Charges",
|
"label": "Taxes and Charges",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -945,7 +1042,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
@ -971,7 +1070,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Income Account",
|
"label": "Income Account",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -1001,7 +1102,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Expense Account",
|
"label": "Expense Account",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -1028,7 +1131,9 @@
|
|||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
"label": "Cost Center",
|
"label": "Cost Center",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
@ -1047,18 +1152,18 @@
|
|||||||
"unique": 0
|
"unique": 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"has_web_view": 0,
|
||||||
"hide_heading": 0,
|
"hide_heading": 0,
|
||||||
"hide_toolbar": 0,
|
"hide_toolbar": 0,
|
||||||
"icon": "icon-cog",
|
"icon": "icon-cog",
|
||||||
"idx": 1,
|
"idx": 1,
|
||||||
"image_view": 0,
|
"image_view": 0,
|
||||||
"in_create": 0,
|
"in_create": 0,
|
||||||
"in_dialog": 0,
|
|
||||||
"is_submittable": 0,
|
"is_submittable": 0,
|
||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2016-12-28 15:14:59.411457",
|
"modified": "2017-03-10 16:53:56.390210",
|
||||||
"modified_by": "rohit@erpnext.com",
|
"modified_by": "rohit@erpnext.com",
|
||||||
"module": "Accounts",
|
"module": "Accounts",
|
||||||
"name": "POS Profile",
|
"name": "POS Profile",
|
||||||
@ -1074,7 +1179,6 @@
|
|||||||
"export": 0,
|
"export": 0,
|
||||||
"if_owner": 0,
|
"if_owner": 0,
|
||||||
"import": 0,
|
"import": 0,
|
||||||
"is_custom": 0,
|
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"print": 1,
|
"print": 1,
|
||||||
"read": 1,
|
"read": 1,
|
||||||
@ -1095,7 +1199,6 @@
|
|||||||
"export": 0,
|
"export": 0,
|
||||||
"if_owner": 0,
|
"if_owner": 0,
|
||||||
"import": 0,
|
"import": 0,
|
||||||
"is_custom": 0,
|
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"print": 1,
|
"print": 1,
|
||||||
"read": 1,
|
"read": 1,
|
||||||
@ -1110,8 +1213,10 @@
|
|||||||
"quick_entry": 0,
|
"quick_entry": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"read_only_onload": 0,
|
"read_only_onload": 0,
|
||||||
|
"show_name_in_global_search": 0,
|
||||||
"sort_field": "modified",
|
"sort_field": "modified",
|
||||||
"sort_order": "DESC",
|
"sort_order": "DESC",
|
||||||
"title_field": "user",
|
"title_field": "user",
|
||||||
|
"track_changes": 0,
|
||||||
"track_seen": 0
|
"track_seen": 0
|
||||||
}
|
}
|
@ -5,6 +5,7 @@ from __future__ import unicode_literals
|
|||||||
import frappe, json
|
import frappe, json
|
||||||
from frappe.utils import nowdate
|
from frappe.utils import nowdate
|
||||||
from erpnext.setup.utils import get_exchange_rate
|
from erpnext.setup.utils import get_exchange_rate
|
||||||
|
from frappe.core.doctype.communication.email import make
|
||||||
from erpnext.stock.get_item_details import get_pos_profile
|
from erpnext.stock.get_item_details import get_pos_profile
|
||||||
from erpnext.accounts.party import get_party_account_currency
|
from erpnext.accounts.party import get_party_account_currency
|
||||||
from erpnext.controllers.accounts_controller import get_taxes_and_charges
|
from erpnext.controllers.accounts_controller import get_taxes_and_charges
|
||||||
@ -25,13 +26,15 @@ def get_pos_data():
|
|||||||
update_multi_mode_option(doc, pos_profile)
|
update_multi_mode_option(doc, pos_profile)
|
||||||
default_print_format = pos_profile.get('print_format') or "Point of Sale"
|
default_print_format = pos_profile.get('print_format') or "Point of Sale"
|
||||||
print_template = frappe.db.get_value('Print Format', default_print_format, 'html')
|
print_template = frappe.db.get_value('Print Format', default_print_format, 'html')
|
||||||
|
customers = get_customers_list(pos_profile)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'doc': doc,
|
'doc': doc,
|
||||||
'default_customer': pos_profile.get('customer'),
|
'default_customer': pos_profile.get('customer'),
|
||||||
'items': get_items_list(pos_profile),
|
'items': get_items_list(pos_profile),
|
||||||
'item_groups': get_item_group(pos_profile),
|
'item_groups': get_item_group(pos_profile),
|
||||||
'customers': get_customers_list(pos_profile),
|
'customers': customers,
|
||||||
|
'address': get_customers_address(customers),
|
||||||
'serial_no_data': get_serial_no_data(pos_profile, doc.company),
|
'serial_no_data': get_serial_no_data(pos_profile, doc.company),
|
||||||
'batch_no_data': get_batch_no_data(),
|
'batch_no_data': get_batch_no_data(),
|
||||||
'tax_data': get_item_tax_data(),
|
'tax_data': get_item_tax_data(),
|
||||||
@ -60,6 +63,8 @@ def get_company_data(company):
|
|||||||
|
|
||||||
def update_pos_profile_data(doc, pos_profile, company_data):
|
def update_pos_profile_data(doc, pos_profile, company_data):
|
||||||
doc.campaign = pos_profile.get('campaign')
|
doc.campaign = pos_profile.get('campaign')
|
||||||
|
if not pos_profile.get('country'):
|
||||||
|
pos_profile["country"] = company_data.country
|
||||||
|
|
||||||
doc.write_off_account = pos_profile.get('write_off_account') or \
|
doc.write_off_account = pos_profile.get('write_off_account') or \
|
||||||
company_data.write_off_account
|
company_data.write_off_account
|
||||||
@ -163,6 +168,19 @@ def get_customers_list(pos_profile):
|
|||||||
territory from tabCustomer where disabled = 0
|
territory from tabCustomer where disabled = 0
|
||||||
and {cond}""".format(cond=cond), tuple(customer_groups), as_dict=1) or {}
|
and {cond}""".format(cond=cond), tuple(customer_groups), as_dict=1) or {}
|
||||||
|
|
||||||
|
def get_customers_address(customers):
|
||||||
|
customer_address = {}
|
||||||
|
for data in customers:
|
||||||
|
address = frappe.db.sql(""" select name, address_line1, address_line2, city, state,
|
||||||
|
email_id, phone, fax, pincode from `tabAddress` where is_primary_address =1 and name in
|
||||||
|
(select parent from `tabDynamic Link` where link_doctype = 'Customer' and link_name = %s
|
||||||
|
and parenttype = 'Address')""", data.name, as_dict=1)
|
||||||
|
if address:
|
||||||
|
address_data = address[0]
|
||||||
|
address_data.update({'full_name': data.customer_name})
|
||||||
|
customer_address[data.name] = address_data
|
||||||
|
return customer_address
|
||||||
|
|
||||||
def get_child_nodes(group_type, root):
|
def get_child_nodes(group_type, root):
|
||||||
lft, rgt = frappe.db.get_value(group_type, root, ["lft", "rgt"])
|
lft, rgt = frappe.db.get_value(group_type, root, ["lft", "rgt"])
|
||||||
return frappe.db.sql_list(""" Select name from `tab{tab}` where
|
return frappe.db.sql_list(""" Select name from `tab{tab}` where
|
||||||
@ -257,12 +275,18 @@ def get_pricing_rule_data(doc):
|
|||||||
return pricing_rules
|
return pricing_rules
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def make_invoice(doc_list):
|
def make_invoice(doc_list={}, email_queue_list={}, customers_list={}):
|
||||||
if isinstance(doc_list, basestring):
|
if isinstance(doc_list, basestring):
|
||||||
doc_list = json.loads(doc_list)
|
doc_list = json.loads(doc_list)
|
||||||
|
|
||||||
name_list = []
|
if isinstance(email_queue_list, basestring):
|
||||||
|
email_queue_list = json.loads(email_queue_list)
|
||||||
|
|
||||||
|
if isinstance(customers_list, basestring):
|
||||||
|
customers_list = json.loads(customers_list)
|
||||||
|
|
||||||
|
customers = make_customer_and_address(customers_list)
|
||||||
|
name_list = []
|
||||||
for docs in doc_list:
|
for docs in doc_list:
|
||||||
for name, doc in docs.items():
|
for name, doc in docs.items():
|
||||||
if not frappe.db.exists('Sales Invoice', {'offline_pos_name': name}):
|
if not frappe.db.exists('Sales Invoice', {'offline_pos_name': name}):
|
||||||
@ -270,49 +294,72 @@ def make_invoice(doc_list):
|
|||||||
si_doc = frappe.new_doc('Sales Invoice')
|
si_doc = frappe.new_doc('Sales Invoice')
|
||||||
si_doc.offline_pos_name = name
|
si_doc.offline_pos_name = name
|
||||||
si_doc.update(doc)
|
si_doc.update(doc)
|
||||||
submit_invoice(si_doc, name)
|
submit_invoice(si_doc, name, doc)
|
||||||
name_list.append(name)
|
name_list.append(name)
|
||||||
else:
|
else:
|
||||||
name_list.append(name)
|
name_list.append(name)
|
||||||
|
|
||||||
return name_list
|
email_queue = make_email_queue(email_queue_list)
|
||||||
|
return {
|
||||||
|
'invoice': name_list,
|
||||||
|
'email_queue': email_queue,
|
||||||
|
'customers': customers
|
||||||
|
}
|
||||||
|
|
||||||
def validate_records(doc):
|
def validate_records(doc):
|
||||||
validate_customer(doc)
|
|
||||||
validate_item(doc)
|
validate_item(doc)
|
||||||
|
|
||||||
def validate_customer(doc):
|
def make_customer_and_address(customers):
|
||||||
if not frappe.db.exists('Customer', doc.get('customer')):
|
customer_list = []
|
||||||
customer_doc = frappe.new_doc('Customer')
|
for name, data in customers.items():
|
||||||
customer_doc.customer_name = doc.get('customer')
|
if not frappe.db.exists('Customer', name):
|
||||||
customer_doc.customer_type = 'Company'
|
name = add_customer(name)
|
||||||
customer_doc.customer_group = frappe.db.get_single_value('Selling Settings', 'customer_group')
|
data = json.loads(data)
|
||||||
customer_doc.territory = frappe.db.get_single_value('Selling Settings', 'territory')
|
make_address(data, name)
|
||||||
customer_doc.flags.ignore_mandatory = True
|
customer_list.append(name)
|
||||||
customer_doc.save(ignore_permissions = True)
|
return customer_list
|
||||||
frappe.db.commit()
|
|
||||||
doc['customer'] = customer_doc.name
|
|
||||||
if doc.get('contact_details'):
|
|
||||||
args = json.loads(doc.get("contact_details"))
|
|
||||||
make_address(doc, args, customer_doc.name)
|
|
||||||
|
|
||||||
def make_address(doc, args, customer):
|
def add_customer(name):
|
||||||
if args.get("address_line1"):
|
customer_doc = frappe.new_doc('Customer')
|
||||||
|
customer_doc.customer_name = name
|
||||||
|
customer_doc.customer_type = 'Company'
|
||||||
|
customer_doc.customer_group = frappe.db.get_single_value('Selling Settings', 'customer_group')
|
||||||
|
customer_doc.territory = frappe.db.get_single_value('Selling Settings', 'territory')
|
||||||
|
customer_doc.flags.ignore_mandatory = True
|
||||||
|
customer_doc.save(ignore_permissions = True)
|
||||||
|
frappe.db.commit()
|
||||||
|
|
||||||
|
def make_address(args, customer):
|
||||||
|
if args.get('name'):
|
||||||
|
address = frappe.get_doc('Address', args.get('name'))
|
||||||
|
else:
|
||||||
address = frappe.new_doc('Address')
|
address = frappe.new_doc('Address')
|
||||||
address.address_line1 = args.get('address_line1')
|
address.country = frappe.db.get_value('Company', args.get('company'), 'country')
|
||||||
address.address_line2 = args.get('address_line2')
|
|
||||||
address.city = args.get('city')
|
|
||||||
address.state = args.get('state')
|
|
||||||
address.zip_code = args.get('zip_code')
|
|
||||||
address.email_id = args.get('email_id')
|
|
||||||
address.flags.ignore_mandatory = True
|
|
||||||
address.country = frappe.db.get_value('Company', doc.get('company'), 'country')
|
|
||||||
address.append('links',{
|
address.append('links',{
|
||||||
'link_doctype': 'Customer',
|
'link_doctype': 'Customer',
|
||||||
'link_name': customer
|
'link_name': customer
|
||||||
})
|
})
|
||||||
address.save(ignore_permissions = True)
|
|
||||||
frappe.db.commit()
|
address.is_primary_address = 1
|
||||||
|
address.is_shipping_address = 1
|
||||||
|
address.update(args)
|
||||||
|
address.save(ignore_permissions = True)
|
||||||
|
|
||||||
|
def make_email_queue(email_queue):
|
||||||
|
name_list = []
|
||||||
|
for key, data in email_queue.items():
|
||||||
|
name = frappe.db.get_value('Sales Invoice', {'offline_pos_name': key}, 'name')
|
||||||
|
data = json.loads(data)
|
||||||
|
sender = frappe.session.user
|
||||||
|
print_format = "POS Invoice"
|
||||||
|
attachments = [frappe.attach_print('Sales Invoice', name, print_format= print_format)]
|
||||||
|
|
||||||
|
make(subject = data.get('subject'), content = data.get('content'), recipients = data.get('recipients'),
|
||||||
|
sender=sender,attachments = attachments, send_email=True,
|
||||||
|
doctype='Sales Invoice', name=name)
|
||||||
|
name_list.append(key)
|
||||||
|
|
||||||
|
return name_list
|
||||||
|
|
||||||
def validate_item(doc):
|
def validate_item(doc):
|
||||||
for item in doc.get('items'):
|
for item in doc.get('items'):
|
||||||
@ -328,7 +375,8 @@ def validate_item(doc):
|
|||||||
item_doc.save(ignore_permissions=True)
|
item_doc.save(ignore_permissions=True)
|
||||||
frappe.db.commit()
|
frappe.db.commit()
|
||||||
|
|
||||||
def submit_invoice(si_doc, name):
|
|
||||||
|
def submit_invoice(si_doc, name, doc):
|
||||||
try:
|
try:
|
||||||
si_doc.insert()
|
si_doc.insert()
|
||||||
si_doc.submit()
|
si_doc.submit()
|
||||||
|
@ -558,7 +558,7 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
{'mode_of_payment': 'Cash', 'account': 'Cash - _TC', 'amount': 330}]
|
{'mode_of_payment': 'Cash', 'account': 'Cash - _TC', 'amount': 330}]
|
||||||
|
|
||||||
invoice_data = [{'09052016142': pos}]
|
invoice_data = [{'09052016142': pos}]
|
||||||
si = make_invoice(invoice_data)
|
si = make_invoice(invoice_data).get('invoice')
|
||||||
self.assertEquals(si[0], '09052016142')
|
self.assertEquals(si[0], '09052016142')
|
||||||
|
|
||||||
sales_invoice = frappe.get_all('Sales Invoice', fields =["*"], filters = {'offline_pos_name': '09052016142', 'docstatus': 1})
|
sales_invoice = frappe.get_all('Sales Invoice', fields =["*"], filters = {'offline_pos_name': '09052016142', 'docstatus': 1})
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -20,8 +20,11 @@
|
|||||||
"public/js/controllers/transaction.js",
|
"public/js/controllers/transaction.js",
|
||||||
"public/js/pos/pos.html",
|
"public/js/pos/pos.html",
|
||||||
"public/js/pos/pos_bill_item.html",
|
"public/js/pos/pos_bill_item.html",
|
||||||
|
"public/js/pos/pos_bill_item_new.html",
|
||||||
|
"public/js/pos/pos_selected_item.html",
|
||||||
"public/js/pos/pos_item.html",
|
"public/js/pos/pos_item.html",
|
||||||
"public/js/pos/pos_tax_row.html",
|
"public/js/pos/pos_tax_row.html",
|
||||||
|
"public/js/pos/customer_toolbar.html",
|
||||||
"public/js/pos/pos_invoice_list.html",
|
"public/js/pos/pos_invoice_list.html",
|
||||||
"public/js/payment/pos_payment.html",
|
"public/js/payment/pos_payment.html",
|
||||||
"public/js/payment/payment_details.html",
|
"public/js/payment/payment_details.html",
|
||||||
|
@ -12,113 +12,11 @@
|
|||||||
height: 32px;
|
height: 32px;
|
||||||
margin: -10px auto;
|
margin: -10px auto;
|
||||||
}
|
}
|
||||||
/* pos */
|
|
||||||
.pos-item-area {
|
|
||||||
padding: 0px 10px;
|
|
||||||
}
|
|
||||||
.pos-item-wrapper {
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
.pos-item {
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 5px;
|
|
||||||
padding-bottom: 15px;
|
|
||||||
border: 1px solid #d1d8dd;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
.pos-item-text {
|
|
||||||
padding: 0px 5px;
|
|
||||||
}
|
|
||||||
.pos-item .item-code {
|
|
||||||
margin-bottom: 0px;
|
|
||||||
}
|
|
||||||
.pos-item .no-image {
|
|
||||||
background-color: #fafbfc;
|
|
||||||
border: 1px dashed #d1d8dd;
|
|
||||||
}
|
|
||||||
.pos-item-image {
|
|
||||||
width: 100%;
|
|
||||||
height: 0px;
|
|
||||||
padding: 50% 0;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 0;
|
|
||||||
color: #d1d8dd;
|
|
||||||
font-size: 30px;
|
|
||||||
background-size: contain;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
background-position: center;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
.pos-item-area {
|
|
||||||
border: 1px solid #d1d8dd;
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
.pos-item-toolbar {
|
|
||||||
padding: 10px 0px;
|
|
||||||
border-bottom: 1px solid #d1d8dd;
|
|
||||||
}
|
|
||||||
.item-list-area {
|
|
||||||
padding: 15px 0px;
|
|
||||||
overflow-y: scroll;
|
|
||||||
height: calc(100vh - 162px);
|
|
||||||
}
|
|
||||||
.pos-toolbar,
|
|
||||||
.pos-bill-toolbar {
|
|
||||||
padding: 10px 0px;
|
|
||||||
height: 51px;
|
|
||||||
}
|
|
||||||
.pos-item-toolbar .form-group {
|
|
||||||
margin-bottom: 0px;
|
|
||||||
}
|
|
||||||
.pos-bill-wrapper {
|
|
||||||
border: 1px solid #d1d8dd;
|
|
||||||
border-top: none;
|
|
||||||
margin-right: -1px;
|
|
||||||
}
|
|
||||||
.pos-bill {
|
|
||||||
border-top: 1px solid #d1d8dd;
|
|
||||||
margin-left: -15px;
|
|
||||||
margin-right: -15px;
|
|
||||||
}
|
|
||||||
.pos-bill-row {
|
|
||||||
margin: 0px;
|
|
||||||
padding: 7px 0px;
|
|
||||||
border-top: 1px solid #d1d8dd;
|
|
||||||
}
|
|
||||||
.pos-bill-header {
|
|
||||||
border: none !important;
|
|
||||||
background-color: #f5f7fa;
|
|
||||||
}
|
|
||||||
.pos-item-qty {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
.pos-qty-row > div {
|
|
||||||
padding: 5px 0px;
|
|
||||||
}
|
|
||||||
.pos-qty-btn {
|
|
||||||
margin-top: 3px;
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 120%;
|
|
||||||
}
|
|
||||||
.pos .search-area .form-group {
|
|
||||||
max-width: 100% !important;
|
|
||||||
}
|
|
||||||
.pos .tax-table {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
.erpnext-icon {
|
.erpnext-icon {
|
||||||
width: 24px;
|
width: 24px;
|
||||||
ackmargin-right: 0px;
|
margin-right: 0px;
|
||||||
margin-top: -3px;
|
margin-top: -3px;
|
||||||
}
|
}
|
||||||
.pos .discount-amount-area .discount-field-col {
|
|
||||||
padding-left: 0px;
|
|
||||||
}
|
|
||||||
.pos .discount-amount-area .input-group {
|
|
||||||
margin-top: 2px;
|
|
||||||
}
|
|
||||||
.dashboard-list-item {
|
.dashboard-list-item {
|
||||||
background-color: inherit;
|
background-color: inherit;
|
||||||
padding: 5px 0px;
|
padding: 5px 0px;
|
||||||
@ -130,91 +28,6 @@
|
|||||||
.dashboard-list-item:last-child {
|
.dashboard-list-item:last-child {
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
}
|
}
|
||||||
.payment-toolbar .row {
|
|
||||||
width: 323px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
.payment-mode {
|
|
||||||
cursor: pointer;
|
|
||||||
font-family: sans-serif;
|
|
||||||
font-size: 15px;
|
|
||||||
}
|
|
||||||
.pos-payment-row .col-xs-6 {
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
.pos-payment-row {
|
|
||||||
border-bottom: 1px solid #d1d8dd;
|
|
||||||
margin: 2px 0px 5px 0px;
|
|
||||||
height: 60px;
|
|
||||||
margin-top: 0px;
|
|
||||||
margin-bottom: 0px;
|
|
||||||
}
|
|
||||||
.pos-payment-row:hover,
|
|
||||||
.pos-keyboard-key:hover {
|
|
||||||
background-color: #FAFBFC;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.pos-keyboard-key,
|
|
||||||
.delete-btn {
|
|
||||||
border: 1px solid #d1d8dd;
|
|
||||||
height: 85px;
|
|
||||||
width: 85px;
|
|
||||||
margin: 10px 10px;
|
|
||||||
font-size: 24px;
|
|
||||||
font-weight: 200;
|
|
||||||
background-color: #FDFDFD;
|
|
||||||
border-color: #e8e8e8;
|
|
||||||
}
|
|
||||||
.multimode-payments {
|
|
||||||
padding-left: 30px;
|
|
||||||
}
|
|
||||||
.payment-toolbar {
|
|
||||||
padding-right: 30px;
|
|
||||||
}
|
|
||||||
.list-row-head.pos-invoice-list {
|
|
||||||
border-top: 1px solid #d1d8dd;
|
|
||||||
}
|
|
||||||
body[data-route="pos"] .modal-dialog {
|
|
||||||
width: 750px;
|
|
||||||
}
|
|
||||||
@media (max-width: 767px) {
|
|
||||||
body[data-route="pos"] .modal-dialog {
|
|
||||||
width: auto;
|
|
||||||
}
|
|
||||||
body[data-route="pos"] .modal-dialog .modal-content {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media (max-width: 767px) {
|
|
||||||
.amount-row h3 {
|
|
||||||
font-size: 15px;
|
|
||||||
}
|
|
||||||
.pos-keyboard-key,
|
|
||||||
.delete-btn {
|
|
||||||
height: 50px;
|
|
||||||
}
|
|
||||||
.multimode-payments {
|
|
||||||
padding-left: 15px;
|
|
||||||
}
|
|
||||||
.payment-toolbar {
|
|
||||||
padding-right: 15px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.amount-label {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
.selected-payment-mode {
|
|
||||||
background-color: #FAFBFC;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.pos-invoice-list {
|
|
||||||
padding: 15px 10px;
|
|
||||||
}
|
|
||||||
.write_off_amount,
|
|
||||||
.change_amount {
|
|
||||||
margin: 15px;
|
|
||||||
width: 130px;
|
|
||||||
}
|
|
||||||
.frappe-control[data-fieldname='result_html'] {
|
.frappe-control[data-fieldname='result_html'] {
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
}
|
}
|
||||||
@ -237,3 +50,281 @@ body[data-route="pos"] .modal-dialog {
|
|||||||
.assessment-result-tool .score {
|
.assessment-result-tool .score {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
/* pos */
|
||||||
|
body[data-route="pos"] .pos-bill-toolbar {
|
||||||
|
padding: 10px 0px;
|
||||||
|
height: 51px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-bill-item:hover,
|
||||||
|
body[data-route="pos"] .list-customers-table > .pos-list-row:hover {
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-item-qty {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-qty-row > div {
|
||||||
|
padding: 5px 0px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-qty-btn {
|
||||||
|
margin-top: 3px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 120%;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .search-area .form-group {
|
||||||
|
max-width: 100% !important;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .tax-table {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .discount-field-col {
|
||||||
|
padding-left: 24px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .discount-amount-area .input-group:first-child {
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .payment-toolbar .row {
|
||||||
|
width: 323px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .payment-mode {
|
||||||
|
cursor: pointer;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-payment-row .col-xs-6 {
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-payment-row {
|
||||||
|
border-bottom: 1px solid #d1d8dd;
|
||||||
|
margin: 2px 0px 5px 0px;
|
||||||
|
height: 60px;
|
||||||
|
margin-top: 0px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-payment-row:hover,
|
||||||
|
body[data-route="pos"] .pos-keyboard-key:hover {
|
||||||
|
background-color: #FAFBFC;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-keyboard-key,
|
||||||
|
body[data-route="pos"] .delete-btn {
|
||||||
|
border: 1px solid #d1d8dd;
|
||||||
|
height: 85px;
|
||||||
|
width: 85px;
|
||||||
|
margin: 10px 10px;
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 200;
|
||||||
|
background-color: #FDFDFD;
|
||||||
|
border-color: #e8e8e8;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .numeric-keypad {
|
||||||
|
border: 1px solid #d1d8dd;
|
||||||
|
height: 69px;
|
||||||
|
width: 69px;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 200;
|
||||||
|
background-color: #FDFDFD;
|
||||||
|
border-color: #e8e8e8;
|
||||||
|
margin-left: -4px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-pay {
|
||||||
|
height: 69px;
|
||||||
|
width: 69px;
|
||||||
|
font-size: 17px;
|
||||||
|
font-weight: 200;
|
||||||
|
margin-left: -4px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .numeric-keypad {
|
||||||
|
height: 60px;
|
||||||
|
width: 60px;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 200;
|
||||||
|
border-radius: 0;
|
||||||
|
background-color: #fff;
|
||||||
|
margin-left: -4px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .numeric_keypad {
|
||||||
|
margin-left: -15px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .numeric_keypad > .row > button {
|
||||||
|
border: none;
|
||||||
|
border-right: 1px solid #d1d8dd;
|
||||||
|
border-bottom: 1px solid #d1d8dd;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .numeric_keypad > .row > button:first-child {
|
||||||
|
border-left: 1px solid #d1d8dd;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .numeric_keypad > .row:first-child > button {
|
||||||
|
border-top: 1px solid #d1d8dd;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-pay {
|
||||||
|
background-color: #5E64FF;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .multimode-payments {
|
||||||
|
padding-left: 30px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .payment-toolbar {
|
||||||
|
padding-right: 30px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .list-row-head.pos-invoice-list {
|
||||||
|
border-top: 1px solid #d1d8dd;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .modal-dialog {
|
||||||
|
width: 750px;
|
||||||
|
}
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
body[data-route="pos"] .modal-dialog {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .modal-dialog .modal-content {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
body[data-route="pos"] .amount-row h3 {
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-keyboard-key,
|
||||||
|
body[data-route="pos"] .delete-btn {
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .multimode-payments {
|
||||||
|
padding-left: 15px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .payment-toolbar {
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .amount-label {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .selected-payment-mode {
|
||||||
|
background-color: #FAFBFC;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-invoice-list {
|
||||||
|
padding: 15px 10px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .write_off_amount,
|
||||||
|
body[data-route="pos"] .change_amount {
|
||||||
|
margin: 15px;
|
||||||
|
width: 130px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-list-row {
|
||||||
|
display: table;
|
||||||
|
table-layout: fixed;
|
||||||
|
width: 100%;
|
||||||
|
padding: 9px 15px;
|
||||||
|
font-size: 12px;
|
||||||
|
margin: 0px;
|
||||||
|
border-bottom: 1px solid #d1d8dd;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-list-row .cell {
|
||||||
|
display: table-cell;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-list-row .cell.price-cell {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-list-row .subject {
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-list-row .list-row-checkbox,
|
||||||
|
body[data-route="pos"] .pos-list-row .list-select-all {
|
||||||
|
margin-right: 7px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-bill-header {
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
border: 1px solid #d1d8dd;
|
||||||
|
padding: 13px 15px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-list-row.active {
|
||||||
|
background-color: #fffce7;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .totals-area {
|
||||||
|
border-right: 1px solid #d1d8dd;
|
||||||
|
border-left: 1px solid #d1d8dd;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .tax-area .pos-list-row {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .item-cart-items {
|
||||||
|
height: calc(100vh - 526px);
|
||||||
|
overflow: auto;
|
||||||
|
border: 1px solid #d1d8dd;
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .no-items-message {
|
||||||
|
min-height: 200px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-list-row:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .form-section-heading {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .item-list {
|
||||||
|
border: 1px solid #d1d8dd;
|
||||||
|
border-top: none;
|
||||||
|
max-height: calc(100vh - 190px);
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
body[data-route="pos"] .item-list {
|
||||||
|
max-height: initial;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .item-list .image-field {
|
||||||
|
height: 140px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .item-list .pos-item-wrapper {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .item-list .price-info {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
margin: 0 0 15px 15px;
|
||||||
|
background-color: rgba(141, 153, 166, 0.6);
|
||||||
|
padding: 5px 9px;
|
||||||
|
border-radius: 3px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-bill-toolbar {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .search-item .form-group {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .item-list-area .pos-bill-header {
|
||||||
|
padding: 5px;
|
||||||
|
padding-left: 15px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .pos-selected-item-action > .pos-list-row {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .edit-customer-btn {
|
||||||
|
position: absolute;
|
||||||
|
right: 57px;
|
||||||
|
top: 15px;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .btn-more {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: #fafbfc;
|
||||||
|
min-height: 200px;
|
||||||
|
}
|
||||||
|
body[data-route="pos"] .collapse-btn {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
16
erpnext/public/js/pos/customer_toolbar.html
Normal file
16
erpnext/public/js/pos/customer_toolbar.html
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<div class="pos-bill-toolbar col-xs-9" style="display: flex; width: 70%;">
|
||||||
|
<div class="party-area" style="flex: 1;">
|
||||||
|
<span class="edit-customer-btn text-muted" style="display: inline;">
|
||||||
|
<a class="btn-open no-decoration" title="Edit Customer">
|
||||||
|
<i class="octicon octicon-pencil"></i>
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<button class="btn btn-default list-customers-btn" style="margin-left: 12px">
|
||||||
|
<i class="octicon octicon-organization"></i>
|
||||||
|
</button>
|
||||||
|
</button> {% if (allow_delete) { %}
|
||||||
|
<button class="btn btn-default btn-danger" style="margin: 0 5px 0 5px">
|
||||||
|
<i class="octicon octicon-trashcan"></i>
|
||||||
|
</button> {% } %}
|
||||||
|
</div>
|
@ -1,86 +1,127 @@
|
|||||||
<div class="pos">
|
<div class="pos">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6 pos-bill-wrapper">
|
<div class="col-sm-5 pos-bill-wrapper">
|
||||||
<div class="pos-bill-toolbar" style="display: flex;">
|
<div class="col-sm-12"><h6 class="form-section-heading uppercase">{{ __("Item Cart") }}</h6></div>
|
||||||
<div class="party-area" style="flex: 1;"></div>
|
<div class="pos-bill">
|
||||||
<button class="btn btn-default list-customers-btn" style="margin: 0 5px 0 15px;">
|
<div class="item-cart">
|
||||||
<i class="fa fa-list"></i>
|
<div class="pos-list-row pos-bill-header text-muted h6">
|
||||||
</button>
|
<span class="cell subject">
|
||||||
<button class="btn btn-default add-customer-btn">
|
<!--<input class="list-select-all" type="checkbox" title="{%= __("Select All") %}">-->
|
||||||
<i class="fa fa-plus"></i>
|
{{ __("Item Name")}}
|
||||||
</button>
|
</span>
|
||||||
{% if (allow_delete) { %}
|
<span class="cell text-right">{{ __("Quantity") }}</span>
|
||||||
<button class="btn btn-default btn-danger" style="margin: 0 5px 0 5px;display:none">
|
<span class="cell text-right">{{ __("Discount") }}</span>
|
||||||
<i class="octicon octicon-trashcan"></i>
|
<span class="cell text-right">{{ __("Rate") }}</span>
|
||||||
</button>
|
</div>
|
||||||
{% } %}
|
<div class="item-cart-items">
|
||||||
</div>
|
<div class="no-items-message text-extra-muted">
|
||||||
<div class="pos-bill">
|
<span class="text-center">
|
||||||
<div class="item-cart">
|
<i class="fa fa-2x fa-shopping-cart"></i>
|
||||||
<div class="row pos-bill-row pos-bill-header">
|
<p>Tap items to add them here</p>
|
||||||
<div class="col-xs-4"><h6>{%= __("Item") %}</h6></div>
|
</span>
|
||||||
<div class="col-xs-3"><h6 class="text-right">{%= __("Quantity") %}</h6></div>
|
|
||||||
<div class="col-xs-2"><h6 class="text-right">{%= __("Discount") %}</h6></div>
|
|
||||||
<div class="col-xs-3"><h6 class="text-right">{%= __("Rate") %}</h6></div>
|
|
||||||
</div>
|
|
||||||
<div class="items"></div>
|
|
||||||
</div>
|
|
||||||
<div class="totals-area">
|
|
||||||
<div class="row pos-bill-row net-total-area">
|
|
||||||
<div class="col-xs-6"><h6 class="text-muted">{%= __("Net Total") %}</h6></div>
|
|
||||||
<div class="col-xs-6"><h6 class="net-total text-right"></h6></div>
|
|
||||||
</div>
|
|
||||||
<div class="row pos-bill-row tax-area hide">
|
|
||||||
<div class="col-xs-12 text-muted">
|
|
||||||
<h6>{%= __("Taxes") %}</h6>
|
|
||||||
<div class="tax-table small"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="items">
|
||||||
{% if (apply_discount_on) { %}
|
</div>
|
||||||
<div class="row pos-bill-row discount-amount-area">
|
</div>
|
||||||
<div class="col-xs-6"><h6 class="text-muted">{%= __("Discount") %}</h6></div>
|
</div>
|
||||||
<div class="col-xs-3 discount-field-col">
|
|
||||||
<div class="input-group input-group-sm">
|
|
||||||
<span class="input-group-addon">%</span>
|
|
||||||
<input type="text" class="form-control discount-percentage text-right">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-xs-3 discount-field-col">
|
|
||||||
<div class="input-group input-group-sm">
|
|
||||||
<span class="input-group-addon">{%= get_currency_symbol(currency) %}</span>
|
|
||||||
<input type="text" class="form-control discount-amount text-right"
|
|
||||||
placeholder="{%= 0.00 %}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% } %}
|
|
||||||
<div class="row pos-bill-row grand-total-area">
|
|
||||||
<div class="col-xs-6"><h6>{%= __("Grand Total") %}</h6></div>
|
|
||||||
<div class="col-xs-6"><h6 class="grand-total text-right"></h6></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="list-customers">
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="totals-area">
|
||||||
<div class="col-sm-6 pos-items-section">
|
<div class="pos-list-row net-total-area">
|
||||||
<div class="row pos-item-area">
|
<div class="cell"></div>
|
||||||
|
<div class="cell text-right">{%= __("Net Total") %}</div>
|
||||||
|
<div class="cell price-cell bold net-total text-right"></div>
|
||||||
|
</div>
|
||||||
|
<div class="pos-list-row tax-area">
|
||||||
|
<div class="cell"></div>
|
||||||
|
<div class="cell text-right">{%= __("Taxes") %}</div>
|
||||||
|
<div class="cell price-cell text-right tax-table">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% if (apply_discount_on) { %}
|
||||||
|
<div class="pos-list-row discount-amount-area">
|
||||||
|
<div class="cell"></div>
|
||||||
|
<div class="cell text-right">{%= __("Discount") %}</div>
|
||||||
|
<div class="cell price-cell discount-field-col">
|
||||||
|
<div class="input-group input-group-sm">
|
||||||
|
<span class="input-group-addon">%</span>
|
||||||
|
<input type="text" class="form-control discount-percentage text-right">
|
||||||
|
</div>
|
||||||
|
<div class="input-group input-group-sm">
|
||||||
|
<span class="input-group-addon">{%= get_currency_symbol(currency) %}</span>
|
||||||
|
<input type="text" class="form-control discount-amount text-right" placeholder="{%= 0.00 %}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% } %}
|
||||||
|
<div class="pos-list-row grand-total-area collapse-btn" style="border-bottom:1px solid #d1d8dd;">
|
||||||
|
<div class="cell">
|
||||||
|
<a class="">
|
||||||
|
<i class="octicon octicon-chevron-down"></i>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="cell text-right bold">{%= __("Grand Total") %}</div>
|
||||||
|
<div class="cell price-cell grand-total text-right lead"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<span id="customer-results" style="color:#68a;"></span>
|
<div class="row" style="margin-top: 30px">
|
||||||
<div class="row pos-item-toolbar">
|
<div class="col-sm-6 selected-item">
|
||||||
<div class="search-item-group col-xs-5"></div>
|
|
||||||
<div class="search-item col-xs-7"></div>
|
</div>
|
||||||
</div>
|
<div class="col-xs-6 numeric_keypad hidden-xs" style="display:none">
|
||||||
<div class="item-list-area" style="auto">
|
{% var chartData = ["Qty", "Disc", "Price"] %} {% for(var i=0; i
|
||||||
<div class="app-listing item-list"></ul>
|
<3; i++) { %} <div class="row text-right">
|
||||||
</div>
|
{% for(var j=i*3; j
|
||||||
</div>
|
<(i+1)*3; j++) { %} <button type="button" class="btn btn-default numeric-keypad" val="{{j+1}}">{{j+1}}</button>
|
||||||
<div class="row">
|
{% } %}
|
||||||
<div class="text-right list-paging-area">
|
<button type="button" id="pos-item-{{ chartData[i].toLowerCase() }}" class="btn text-center btn-default numeric-keypad pos-operation">{{ chartData[i] }}</button>
|
||||||
<button class="btn btn-default btn-more btn-sm" style="margin:5px 20px">{{ __("More") }}</button>
|
</div>
|
||||||
|
{% } %}
|
||||||
|
<div class="row text-right">
|
||||||
|
<button type="button" class="btn btn-default numeric-keypad numeric-del">Del</button>
|
||||||
|
<button type="button" class="btn btn-default numeric-keypad" val="0">0</button>
|
||||||
|
<button type="button" class="btn btn-default numeric-keypad" val=".">.</button>
|
||||||
|
<button type="button" class="btn btn-primary numeric-keypad pos-pay">Pay</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-sm-5 list-customers">
|
||||||
|
<div class="col-sm-12"><h6 class="form-section-heading uppercase">{{ __("Customers in Queue") }}</h6></div>
|
||||||
|
<div class="pos-list-row pos-bill-header">
|
||||||
|
<div class="cell subject"><input class="list-select-all" type="checkbox">{{ __("Customer") }}</div>
|
||||||
|
<div class="cell text-left">{{ __("Status") }}</div>
|
||||||
|
<div class="cell text-right">{{ __("Amount") }}</div>
|
||||||
|
<div class="cell text-right">{{ __("Grand Total") }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="list-customers-table border-left border-right border-bottom">
|
||||||
|
<div class="no-items-message text-extra-muted">
|
||||||
|
<span class="text-center">
|
||||||
|
<i class="fa fa-2x fa-user"></i>
|
||||||
|
<p>No Customers yet!</p>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-7 pos-items-section">
|
||||||
|
<div class="col-sm-12"><h6 class="form-section-heading uppercase">{{ __("Stock Items") }}</h6></div>
|
||||||
|
<div class="row pos-item-area">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<span id="customer-results" style="color:#68a;"></span>
|
||||||
|
<div class="item-list-area">
|
||||||
|
<div class="pos-list-row pos-bill-header text-muted h6">
|
||||||
|
<div class="cell subject search-item-group">
|
||||||
|
<div class="dropdown">
|
||||||
|
<a class="text-muted dropdown-toggle" data-toggle="dropdown"><span class="dropdown-text">All Item Groups</span><i class="caret"></i></a>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cell search-item"></div>
|
||||||
|
</div>
|
||||||
|
<div class="app-listing item-list image-view-container">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -18,13 +18,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-xs-2 text-right">
|
<div class="col-xs-2 text-right">
|
||||||
<div class="row input-sm">
|
<div class="row input-sm">
|
||||||
<input type="tel" value="{%= discount_percentage %}" class="form-control text-right pos-item-discount">
|
<input type="tel" value="{%= discount_percentage %}" class="form-control text-right pos-item-disc">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-3 text-right">
|
<div class="col-xs-3 text-right">
|
||||||
<div class="text-muted" style="margin-top: 5px;">
|
<div class="text-muted" style="margin-top: 5px;">
|
||||||
{% if(enabled) { %}
|
{% if(enabled) { %}
|
||||||
<input type="tel" value="{%= rate %}" class="form-control input-sm pos-item-rate text-right">
|
<input type="tel" value="{%= rate %}" class="form-control input-sm pos-item-price text-right">
|
||||||
{% } else { %}
|
{% } else { %}
|
||||||
<h6>{%= format_currency(rate) %}</h6>
|
<h6>{%= format_currency(rate) %}</h6>
|
||||||
{% } %}
|
{% } %}
|
||||||
|
9
erpnext/public/js/pos/pos_bill_item_new.html
Normal file
9
erpnext/public/js/pos/pos_bill_item_new.html
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<div class="pos-list-row pos-bill-item" data-item-code="{{ item_code }}">
|
||||||
|
<div class="cell subject">
|
||||||
|
<!--<input class="list-row-checkbox" type="checkbox" data-name="{{item_code}}">-->
|
||||||
|
<a class="grey list-id" title="{{ item_name }}">{{ strip_html(__(item_name)) || item_code }}</a>
|
||||||
|
</div>
|
||||||
|
<div class="cell text-right">{%= qty %}</div>
|
||||||
|
<div class="cell text-right">{%= discount_percentage %}</div>
|
||||||
|
<div class="cell text-right">{%= format_currency(rate) %}</div>
|
||||||
|
</div>
|
@ -1,7 +1,9 @@
|
|||||||
<div class="row list-row pos-invoice-list" invoice-name = "{{name}}">
|
<div class="pos-list-row" invoice-name = "{{name}}">
|
||||||
<div class="col-xs-1"><input class="list-delete" type="checkbox"></div>
|
<div class="list-column cell subject" invoice-name = "{{name}}">
|
||||||
<div class="list-column col-xs-3">{%= customer %}</div>
|
<input class="list-delete text-left" type="checkbox" style = "margin-right:5px">
|
||||||
<div class="list-column col-xs-2 text-left"><span class="indicator {{data.indicator}}">{{ data.status }}</span></div>
|
<a class="grey list-id text-left customer-row" title="{{ customer }}">{%= customer %}</a>
|
||||||
<div class="list-column col-xs-3 text-right">{%= paid_amount %}</div>
|
</div>
|
||||||
<div class="list-column col-xs-3 text-right">{%= grand_total %}</div>
|
<div class="list-column cell text-left customer-row"><span class="indicator {{data.indicator}}">{{ data.status }}</span></div>
|
||||||
|
<div class="list-column cell text-right customer-row">{%= paid_amount %}</div>
|
||||||
|
<div class="list-column cell text-right customer-row">{%= grand_total %}</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,13 +1,32 @@
|
|||||||
<div class="pos-item-wrapper col-xs-3">
|
<div class="pos-item-wrapper image-view-item" data-item-code="{{item_code}}">
|
||||||
<div class="pos-item" data-item-code="{%= item_code %}" title="{%= item_name || item_code %}">
|
<div class="image-view-header doclist-row">
|
||||||
<div class="pos-item-image"
|
<div class="list-value">
|
||||||
style="{% if (item_image) { %} background-image: {{ item_image }} {% }
|
<a class="grey list-id" data-name="{{item_code}}" title="{{ item_name || item_code}}">{{item_name || item_code}}</a>
|
||||||
else { %} background-color: {{ color }} {% } %}">
|
|
||||||
{% if (!item_image) { %}{{ abbr }}{% } %}
|
|
||||||
</div>
|
|
||||||
<div class="pos-item-text">
|
|
||||||
<h6 class="item-code ellipsis">{%= item_name ? (item_name + " (" + item_code + ")") : item_code %}</h6>
|
|
||||||
<div class="small ellipsis">{%= item_price %}</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="image-view-body">
|
||||||
|
<a data-item-code="{{ item_code }}"
|
||||||
|
title="{{ item_name || item_code }}"
|
||||||
|
>
|
||||||
|
<div class="image-field"
|
||||||
|
style="
|
||||||
|
{% if (!item_image) { %}
|
||||||
|
background-color: #fafbfc;
|
||||||
|
{% } %}
|
||||||
|
border: 0px;"
|
||||||
|
>
|
||||||
|
{% if (!item_image) { %}
|
||||||
|
<span class="placeholder-text">
|
||||||
|
{%= frappe.get_abbr(item_name || item_code) %}
|
||||||
|
</span>
|
||||||
|
{% } %}
|
||||||
|
{% if (item_image) { %}
|
||||||
|
<img src="{{ item_image }}" alt="{{item_name || item_code}}">
|
||||||
|
{% } %}
|
||||||
|
</div>
|
||||||
|
<span class="price-info">
|
||||||
|
{{item_price}}
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
21
erpnext/public/js/pos/pos_selected_item.html
Normal file
21
erpnext/public/js/pos/pos_selected_item.html
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<div class="pos-selected-item-action" data-item-code="{%= item_code %}">
|
||||||
|
<div class="pos-list-row">
|
||||||
|
<span class="cell bold">{{item_name}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="pos-list-row">
|
||||||
|
<div class="cell">Quantity:</div>
|
||||||
|
<input class="form-control cell pos-item-qty" value="{%= qty %}"/>
|
||||||
|
</div>
|
||||||
|
<div class="pos-list-row">
|
||||||
|
<div class="cell">Discount:</div>
|
||||||
|
<input class="form-control cell pos-item-disc" value="{%= discount_percentage %}">
|
||||||
|
</div>
|
||||||
|
<div class="pos-list-row">
|
||||||
|
<div class="cell">Price:</div>
|
||||||
|
<input class="form-control cell pos-item-price" value="{%= rate %}"/>
|
||||||
|
</div>
|
||||||
|
<div class="pos-list-row">
|
||||||
|
<div class="cell">Amount:</div>
|
||||||
|
<input class="form-control cell" value="{%= amount %}"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -1,4 +1,4 @@
|
|||||||
<div class="row">
|
<div class="pos-list-row" style="padding-right: 0;">
|
||||||
<div class="col-xs-9">{%= description %}</div>
|
<div class="cell">{%= description %}</div>
|
||||||
<div class="col-xs-3 text-right">{%= tax_amount %}</div>
|
<div class="cell text-right bold">{%= tax_amount %}</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -17,140 +17,12 @@
|
|||||||
margin: -10px auto;
|
margin: -10px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* pos */
|
|
||||||
|
|
||||||
.pos-item-area {
|
|
||||||
padding: 0px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-item-wrapper {
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-item {
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 5px;
|
|
||||||
padding-bottom: 15px;
|
|
||||||
border: 1px solid #d1d8dd;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-item-text {
|
|
||||||
padding: 0px 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-item .item-code {
|
|
||||||
margin-bottom: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-item .no-image {
|
|
||||||
background-color: #fafbfc;
|
|
||||||
border: 1px dashed #d1d8dd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-item-image {
|
|
||||||
width: 100%;
|
|
||||||
height: 0px;
|
|
||||||
padding: 50% 0;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 0;
|
|
||||||
color: @text-extra-muted;
|
|
||||||
font-size: 30px;
|
|
||||||
background-size: contain;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
background-position: center;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-item-area {
|
|
||||||
border: 1px solid #d1d8dd;
|
|
||||||
border-top: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-item-toolbar {
|
|
||||||
padding: 10px 0px;
|
|
||||||
border-bottom: 1px solid #d1d8dd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.item-list-area {
|
|
||||||
padding: 15px 0px;
|
|
||||||
overflow-y: scroll;
|
|
||||||
height: ~"calc(100vh - 162px)";
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-toolbar, .pos-bill-toolbar {
|
|
||||||
padding: 10px 0px;
|
|
||||||
// border-bottom: 1px solid #d1d8dd;
|
|
||||||
height: 51px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-item-toolbar .form-group {
|
|
||||||
margin-bottom: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-bill-wrapper {
|
|
||||||
border: 1px solid #d1d8dd;
|
|
||||||
border-top: none;
|
|
||||||
margin-right: -1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-bill {
|
|
||||||
border-top: 1px solid @border-color;
|
|
||||||
margin-left: -15px;
|
|
||||||
margin-right: -15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-bill-row {
|
|
||||||
margin: 0px;
|
|
||||||
padding: 7px 0px;
|
|
||||||
border-top: 1px solid #d1d8dd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-bill-header {
|
|
||||||
border: none !important;
|
|
||||||
background-color: #f5f7fa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-item-qty {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-qty-row > div {
|
|
||||||
padding: 5px 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-qty-btn {
|
|
||||||
margin-top: 3px;
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 120%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos .search-area .form-group {
|
|
||||||
max-width: 100% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos .tax-table {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.erpnext-icon {
|
.erpnext-icon {
|
||||||
width: 24px;ack
|
width: 24px;
|
||||||
margin-right: 0px;
|
margin-right: 0px;
|
||||||
margin-top: -3px;
|
margin-top: -3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pos .discount-amount-area {
|
|
||||||
.discount-field-col {
|
|
||||||
padding-left: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.input-group {
|
|
||||||
margin-top: 2px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.dashboard-list-item {
|
.dashboard-list-item {
|
||||||
background-color: inherit;
|
background-color: inherit;
|
||||||
padding: 5px 0px;
|
padding: 5px 0px;
|
||||||
@ -165,104 +37,6 @@
|
|||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.payment-toolbar {
|
|
||||||
.row {
|
|
||||||
width: 323px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.payment-mode {
|
|
||||||
cursor: pointer;
|
|
||||||
font-family: sans-serif;
|
|
||||||
font-size: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-payment-row .col-xs-6 {
|
|
||||||
padding :15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-payment-row {
|
|
||||||
border-bottom:1px solid #d1d8dd;
|
|
||||||
margin: 2px 0px 5px 0px;
|
|
||||||
height: 60px;
|
|
||||||
margin-top: 0px;
|
|
||||||
margin-bottom: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-payment-row:hover, .pos-keyboard-key:hover{
|
|
||||||
background-color: #FAFBFC;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-keyboard-key, .delete-btn {
|
|
||||||
border: 1px solid #d1d8dd;
|
|
||||||
height:85px;
|
|
||||||
width:85px;
|
|
||||||
margin:10px 10px;
|
|
||||||
font-size:24px;
|
|
||||||
font-weight:200;
|
|
||||||
background-color: #FDFDFD;
|
|
||||||
border-color: #e8e8e8;
|
|
||||||
}
|
|
||||||
|
|
||||||
.multimode-payments {
|
|
||||||
padding-left: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.payment-toolbar {
|
|
||||||
padding-right: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.list-row-head.pos-invoice-list {
|
|
||||||
border-top: 1px solid @border-color;
|
|
||||||
}
|
|
||||||
|
|
||||||
body[data-route="pos"] .modal-dialog {
|
|
||||||
width: 750px;
|
|
||||||
|
|
||||||
@media (max-width: @screen-xs) {
|
|
||||||
width: auto;
|
|
||||||
|
|
||||||
.modal-content {
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: @screen-xs) {
|
|
||||||
.amount-row h3 {
|
|
||||||
font-size: 15px;
|
|
||||||
}
|
|
||||||
.pos-keyboard-key, .delete-btn {
|
|
||||||
height: 50px;
|
|
||||||
}
|
|
||||||
.multimode-payments {
|
|
||||||
padding-left: 15px;
|
|
||||||
}
|
|
||||||
.payment-toolbar {
|
|
||||||
padding-right: 15px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.amount-label {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selected-payment-mode {
|
|
||||||
background-color: #FAFBFC;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pos-invoice-list {
|
|
||||||
padding: 15px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.write_off_amount, .change_amount {
|
|
||||||
margin: 15px;
|
|
||||||
width: 130px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// assessment tool
|
// assessment tool
|
||||||
.frappe-control[data-fieldname='result_html'] {
|
.frappe-control[data-fieldname='result_html'] {
|
||||||
overflow: scroll;
|
overflow: scroll;
|
||||||
@ -286,4 +60,338 @@ body[data-route="pos"] .modal-dialog {
|
|||||||
.total-score, .grade, .score {
|
.total-score, .grade, .score {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* pos */
|
||||||
|
|
||||||
|
body[data-route="pos"] {
|
||||||
|
|
||||||
|
.pos-bill-toolbar {
|
||||||
|
padding: 10px 0px;
|
||||||
|
height: 51px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-bill-item:hover, .list-customers-table > .pos-list-row:hover {
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-item-qty {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-qty-row > div {
|
||||||
|
padding: 5px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-qty-btn {
|
||||||
|
margin-top: 3px;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 120%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-area .form-group {
|
||||||
|
max-width: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tax-table {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.discount-field-col {
|
||||||
|
padding-left: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.discount-amount-area {
|
||||||
|
.input-group:first-child {
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.payment-toolbar {
|
||||||
|
.row {
|
||||||
|
width: 323px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.payment-mode {
|
||||||
|
cursor: pointer;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-payment-row .col-xs-6 {
|
||||||
|
padding :15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-payment-row {
|
||||||
|
border-bottom:1px solid #d1d8dd;
|
||||||
|
margin: 2px 0px 5px 0px;
|
||||||
|
height: 60px;
|
||||||
|
margin-top: 0px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-payment-row:hover, .pos-keyboard-key:hover{
|
||||||
|
background-color: #FAFBFC;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-keyboard-key, .delete-btn {
|
||||||
|
border: 1px solid #d1d8dd;
|
||||||
|
height:85px;
|
||||||
|
width:85px;
|
||||||
|
margin:10px 10px;
|
||||||
|
font-size:24px;
|
||||||
|
font-weight:200;
|
||||||
|
background-color: #FDFDFD;
|
||||||
|
border-color: #e8e8e8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.numeric-keypad {
|
||||||
|
border: 1px solid #d1d8dd;
|
||||||
|
height:69px;
|
||||||
|
width:69px;
|
||||||
|
font-size:20px;
|
||||||
|
font-weight:200;
|
||||||
|
background-color: #FDFDFD;
|
||||||
|
border-color: #e8e8e8;
|
||||||
|
margin-left:-4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-pay {
|
||||||
|
height:69px;
|
||||||
|
width:69px;
|
||||||
|
font-size:17px;
|
||||||
|
font-weight:200;
|
||||||
|
margin-left:-4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.numeric-keypad {
|
||||||
|
height: 60px;
|
||||||
|
width: 60px;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 200;
|
||||||
|
border-radius: 0;
|
||||||
|
background-color: #fff;
|
||||||
|
margin-left:-4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.numeric_keypad {
|
||||||
|
margin-left: -15px;
|
||||||
|
|
||||||
|
& > .row > button {
|
||||||
|
border: none;
|
||||||
|
border-right: 1px solid @border-color;
|
||||||
|
border-bottom: 1px solid @border-color;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
border-left: 1px solid @border-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& > .row:first-child > button {
|
||||||
|
border-top: 1px solid @border-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-pay {
|
||||||
|
background-color: @brand-primary;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.multimode-payments {
|
||||||
|
padding-left: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.payment-toolbar {
|
||||||
|
padding-right: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-row-head.pos-invoice-list {
|
||||||
|
border-top: 1px solid @border-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-dialog {
|
||||||
|
width: 750px;
|
||||||
|
|
||||||
|
@media (max-width: @screen-xs) {
|
||||||
|
width: auto;
|
||||||
|
|
||||||
|
.modal-content {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: @screen-xs) {
|
||||||
|
.amount-row h3 {
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
.pos-keyboard-key, .delete-btn {
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
.multimode-payments {
|
||||||
|
padding-left: 15px;
|
||||||
|
}
|
||||||
|
.payment-toolbar {
|
||||||
|
padding-right: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.amount-label {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.selected-payment-mode {
|
||||||
|
background-color: #FAFBFC;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-invoice-list {
|
||||||
|
padding: 15px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.write_off_amount, .change_amount {
|
||||||
|
margin: 15px;
|
||||||
|
width: 130px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-list-row {
|
||||||
|
display: table;
|
||||||
|
table-layout: fixed;
|
||||||
|
width: 100%;
|
||||||
|
padding: 9px 15px;
|
||||||
|
font-size: 12px;
|
||||||
|
margin: 0px;
|
||||||
|
border-bottom: 1px solid @border-color;
|
||||||
|
|
||||||
|
.cell {
|
||||||
|
display: table-cell;
|
||||||
|
vertical-align: middle;
|
||||||
|
|
||||||
|
&.price-cell {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.subject {
|
||||||
|
width: 40%
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-row-checkbox, .list-select-all {
|
||||||
|
margin-right: 7px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-bill-header {
|
||||||
|
background-color: #f5f7fa;
|
||||||
|
border: 1px solid @border-color;
|
||||||
|
padding: 13px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-list-row.active {
|
||||||
|
background-color: @light-yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
.totals-area {
|
||||||
|
border-right: 1px solid @border-color;
|
||||||
|
border-left: 1px solid @border-color;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tax-area .pos-list-row {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-cart-items {
|
||||||
|
height: ~"calc(100vh - 526px)";
|
||||||
|
overflow: auto;
|
||||||
|
border: 1px solid @border-color;
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-items-message {
|
||||||
|
min-height: 200px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-list-row:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-section-heading {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-list {
|
||||||
|
border: 1px solid @border-color;
|
||||||
|
border-top: none;
|
||||||
|
max-height: ~"calc(100vh - 190px)";
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
|
@media (max-width: @screen-xs) {
|
||||||
|
max-height: initial;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-field {
|
||||||
|
height: 140px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-item-wrapper {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.price-info {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
margin: 0 0 15px 15px;
|
||||||
|
background-color: rgba(141, 153, 166, 0.6);
|
||||||
|
padding: 5px 9px;
|
||||||
|
border-radius: 3px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-bill-toolbar {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-item .form-group {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-list-area .pos-bill-header {
|
||||||
|
padding: 5px;
|
||||||
|
padding-left: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pos-selected-item-action > .pos-list-row {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit-customer-btn {
|
||||||
|
position: absolute;
|
||||||
|
right: 57px;
|
||||||
|
top: 15px;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-more {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: @light-bg;
|
||||||
|
min-height: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collapse-btn {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user