implement currency and report

This commit is contained in:
2025-09-10 11:12:49 +03:00
parent 106045d72a
commit 3d5f769b52
22 changed files with 1290 additions and 100 deletions

View File

@@ -213,6 +213,9 @@ class OrdersOutPage:
),
value=number
)
self.order_in_number = ft.TextField(
label="Order number"
)
self.error_message = ft.Text(color = ft.Colors.RED)
@@ -233,6 +236,30 @@ class OrdersOutPage:
replacement_string=""
),
)
self.currency = ft.Dropdown(
editable=True,
label="Currency",
options=self.get_currency(),
value="EURO",
)
def get_currency(self):
token = self.page.client_storage.get("token")
headers = {"Authorization": f"Bearer {token}"}
response = requests.get(f"{API_BASE_URL}/currency/", headers=headers)
currency_list = response.json() if response.status_code == 200 else []
options = []
for currency in currency_list:
options.append(
ft.DropdownOption(
key=currency['name'],
content=ft.Text(
value=currency['name'],
),
)
)
return options
def load_orders(self):
try:
@@ -739,6 +766,7 @@ class OrdersOutPage:
saved_data = {
'order_number': self.order_number.value,
'order_in_number': self.order_in_number.value,
'client_id': self.selected_client_id,
'transporter_id': self.selected_transporter_id,
'products_description': self.product_description.value,
@@ -749,7 +777,8 @@ class OrdersOutPage:
'received_price': self.received_price.value,
'paid_price': self.paid_price.value,
'loading_addresses': loading_addresses,
'unloading_addresses': unloading_addresses
'unloading_addresses': unloading_addresses,
'currency':self.currency.value
}
#print(saved_data)
if self.order_number.value == None or len(str(self.order_number.value))==0:
@@ -897,23 +926,29 @@ class OrdersOutPage:
[
ft.Row(
[
ft.Column(
[
ft.Text('Create Order Out', size=24, weight=ft.FontWeight.BOLD),
ft.Row(
[
ft.Text("Number", size=18, weight=ft.FontWeight.BOLD),
self.order_number
]
)
],
alignment=ft.MainAxisAlignment.START
),
ft.Text('Create Order Out', size=24, weight=ft.FontWeight.BOLD),
ft.ElevatedButton("Archive", on_click=self.on_archive_btn_click, width=150)
],
alignment=ft.MainAxisAlignment.SPACE_BETWEEN,
vertical_alignment=ft.CrossAxisAlignment.START
),
ft.Row(
[
ft.Row(
[
ft.Text("Order Out Number", size=18, weight=ft.FontWeight.BOLD),
self.order_number
]
),
ft.Row(
[
ft.Text("Order In Number", size=18, weight=ft.FontWeight.BOLD),
self.order_in_number
]
)
],
alignment=ft.MainAxisAlignment.SPACE_BETWEEN,
),
ft.Row(
[
ft.Column(
@@ -1018,14 +1053,17 @@ class OrdersOutPage:
[
ft.Row(
[
ft.Text("Price", size=18, weight=ft.FontWeight.BOLD)
ft.Text("Price", size=18, weight=ft.FontWeight.BOLD),
self.currency
],
alignment=ft.MainAxisAlignment.START
expand = True,
alignment=ft.MainAxisAlignment.SPACE_BETWEEN
),
self.received_price,
self.paid_price
],
expand=2.5
expand=2.5,
alignment=ft.MainAxisAlignment.END
)
],
expand=True,