Files
copp/app/pages/my_data.py
2025-05-25 23:38:58 +05:00

87 lines
3.1 KiB
Python

import flet as ft
import designer as des
import requests
class My_data(ft.View):
def load_table_column(self):
url = "http://localhost:8001/api-data-base/get_name_column?table_name=%D0%A1ollection_form_opk"
temp_column = []
try:
response = requests.post(url)
if response.status_code == 200:
temp = response.json()
# Пропускаем первый столбец (id)
for column in temp[1:]:
temp_column.append(ft.DataColumn(ft.Text(column)))
return temp_column
else:
print(f"Error: Received status code {response.status_code}")
return temp_column
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
return temp_column
def load_return_rows(self):
from user_data import User_data as ud
url = f"http://localhost:8001/api-data-base/select_rows_with_filter?value={str(ud.inn)}"
temp_row = []
try:
response = requests.post(url)
if response.status_code == 200:
temp = response.json()
for row in temp:
# Пропускаем первый столбец (id)
values = list(row.values())[1:]
temp_row.append(
ft.DataRow(
cells=[ft.DataCell(ft.Text(str(value))) for value in values]
)
)
return temp_row
else:
print(f"Error: Received status code {response.status_code}")
return temp_row
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
return temp_row
def __init__(self,page:ft.Page,route:str=""):
self.data_grid = ft.DataTable(
columns=self.load_table_column(),
rows=self.load_return_rows()
)
super().__init__(
bgcolor=des.color[2],
route=route,
controls=[
ft.Column(
controls=[
ft.Row(
controls=[
des.Button(text="профиль"),
des.Button(text="мои данные",on_click = self.go_to_my_data),
des.Button(text="заполнить данные", on_click=self.go_to_data),
]
),
ft.Row(
expand=True,
scroll=True,
controls=[
self.data_grid
]
)
]
)
]
)
def go_to_info(self,e):
self.page.go("/user_info")
def go_to_my_data(self,e):
self.page.go("/my_data")
def go_to_data(self,e):
self.page.go("/add_new_data")