This commit is contained in:
2025-05-25 23:38:58 +05:00
parent cedb00bb4c
commit b024ea50b2
9 changed files with 209 additions and 35 deletions

View File

@@ -4,11 +4,12 @@ import designer as ds
def main(page: ft.Page):
page.title = "COPP"
def PageLoading(route):
def PageLoading(route={}):
print(page.route)
page.views.clear()
page.views.append(ViewsHendler(page=page)[page.route])
page.update()
page.on_route_change = PageLoading
page.go("/")

View File

@@ -1,8 +1,53 @@
import flet as ft
import designer as des
import requests
class Add_user_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()
for column in temp:
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={ud.inn}"
temp_row = []
try:
response = requests.post(url)
if response.status_code == 200:
temp = response.json()
for rows in temp:
for row in rows:
temp_row.append(ft.DataRow(
cells=[ft.DataCell(ft.Text(row[row]))]
))
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,
@@ -15,6 +60,12 @@ class Add_user_data(ft.View):
des.Button(text="мои данные",on_click = self.go_to_my_data),
des.Button(text="заполнить данные", on_click=self.go_to_data),
]
),
ft.Row(
expand=True,
controls=[
self.data_grid
]
)
]
)

View File

@@ -65,7 +65,7 @@ class Login(ft.Column):
print("Ошибка: Пустой ответ от сервера")
def enter_go_to_next_page(self, e):
url = "http://localhost:8000/api/api/login"
url = "http://localhost:8001/api-data-base/login" # исправленный путь
data = {
"login": self.login[0].value,
"password": self.password.value
@@ -77,15 +77,12 @@ class Login(ft.Column):
response_data = response.json() # Используем метод .json() для извлечения данных
# Проверяем сообщение в ответе
if response_data.get("message") == "Авторизация успешна.":
user = response_data.get("user") # Достаем пользователя из ответа
if user.get("id") == 0:
self.page.open(Loger(text="Неверные данные"))
else:
self.Load_user_inf(response=user)
self.page.go("/user_info")
elif response_data.get("message") == "Неверные данные":
if response_data.get("id") != 0:
self.Load_user_inf(response=response_data)
self.page.go("/user_info")
else:
self.page.open(Loger(text="Неверные данные"))
else:
print("Ошибка:", response.status_code, response.text)
except requests.exceptions.RequestException as e:

View File

@@ -1,38 +1,87 @@
import flet as ft
import designer as des
import designer as des
import requests
class My_data(ft.View):
def __init__(self,page:ft.Page,route:str="/my_data"):
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.Container(
padding=ft.padding.all(20),
border_radius=ft.border_radius.all(10),
height=70,
expand=True,
bgcolor=des.color[3],
content=ft.Row(
expand=True,
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(
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_my_data(self):
pass
def go_to_data(self):
pass
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")