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

@@ -234,6 +234,10 @@ class OrdersEditPage:
),
value = self.order['order_number']
)
self.order_in_number = ft.TextField(
label="Order number",
value=self.order['order_in_number']
)
self.error_message = ft.Text(color = ft.Colors.RED)
@@ -326,6 +330,31 @@ class OrdersEditPage:
self.unloading_query = addresses
self.unloading.controls = self.create_unloading_list(addresses, self.on_delete_unloading_address_btn_click)
self.currency = ft.Dropdown(
editable=True,
label="Currency",
options=self.get_currency(),
value=self.order['currency'],
)
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 get_order(self):
try:
token = self.page.client_storage.get("token")
@@ -883,6 +912,7 @@ class OrdersEditPage:
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,
@@ -893,7 +923,8 @@ class OrdersEditPage:
'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(self.order_number.value)==0:
@@ -1030,23 +1061,29 @@ class OrdersEditPage:
[
ft.Row(
[
ft.Column(
[
ft.Text('Edit Order', 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('Edit Order', 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(
@@ -1151,7 +1188,8 @@ class OrdersEditPage:
[
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
),