Работает все, кроме отображения задач
This commit is contained in:
@@ -1,20 +1,24 @@
|
||||
import streamlit as st
|
||||
from config import setup_page_config, PARSER_TABS, API_PUBLIC_URL
|
||||
from config import setup_page_config, API_PUBLIC_URL
|
||||
from api_client import check_api_health
|
||||
from sidebar import render_sidebar, render_footer
|
||||
from parsers_ui.svodka_pm_ui import render_svodka_pm_tab
|
||||
from parsers_ui.svodka_ca_ui import render_svodka_ca_tab
|
||||
from parsers_ui.monitoring_fuel_ui import render_monitoring_fuel_tab
|
||||
from parsers_ui.svodka_repair_ca_ui import render_svodka_repair_ca_tab
|
||||
from parsers_ui.statuses_repair_ca_ui import render_statuses_repair_ca_tab
|
||||
from parsers_ui.monitoring_tar_ui import render_monitoring_tar_tab
|
||||
from parsers_ui.oper_spravka_tech_pos_ui import render_oper_spravka_tech_pos_tab
|
||||
from sync_parsers_page import render_sync_parsers_page
|
||||
from async_upload_page import render_async_upload_page
|
||||
from tasks_page import render_tasks_page
|
||||
|
||||
# Конфигурация страницы
|
||||
setup_page_config()
|
||||
|
||||
def main():
|
||||
st.title("🚀 NIN Excel Parsers API - Демонстрация")
|
||||
# Определяем активную страницу для заголовка
|
||||
active_page = st.session_state.get("active_page", 0)
|
||||
page_titles = {
|
||||
0: "Синхронные парсеры",
|
||||
1: "Асинхронная загрузка",
|
||||
2: "Управление задачами"
|
||||
}
|
||||
|
||||
st.title(f"🚀 NIN Excel Parsers API - {page_titles.get(active_page, 'Демонстрация')}")
|
||||
st.markdown("---")
|
||||
|
||||
# Проверка доступности API
|
||||
@@ -25,39 +29,30 @@ def main():
|
||||
|
||||
st.success(f"✅ API доступен по адресу {API_PUBLIC_URL}")
|
||||
|
||||
# Боковая панель с информацией
|
||||
# Боковая панель с информацией и навигацией
|
||||
render_sidebar()
|
||||
|
||||
# Основные вкладки - по одной на каждый парсер
|
||||
tab1, tab2, tab3, tab4, tab5, tab6, tab7 = st.tabs(PARSER_TABS)
|
||||
# Обрабатываем клики по кнопкам в сайдбаре
|
||||
if st.session_state.get("sidebar_sync_clicked", False):
|
||||
st.session_state.sidebar_sync_clicked = False
|
||||
st.session_state.active_page = 0
|
||||
elif st.session_state.get("sidebar_async_clicked", False):
|
||||
st.session_state.sidebar_async_clicked = False
|
||||
st.session_state.active_page = 1
|
||||
elif st.session_state.get("sidebar_tasks_clicked", False):
|
||||
st.session_state.sidebar_tasks_clicked = False
|
||||
st.session_state.active_page = 2
|
||||
|
||||
# Вкладка 1: Сводки ПМ - полный функционал
|
||||
with tab1:
|
||||
render_svodka_pm_tab()
|
||||
# Определяем активную страницу
|
||||
active_page = st.session_state.get("active_page", 0)
|
||||
|
||||
# Вкладка 2: Сводки СА - полный функционал
|
||||
with tab2:
|
||||
render_svodka_ca_tab()
|
||||
|
||||
# Вкладка 3: Мониторинг топлива - полный функционал
|
||||
with tab3:
|
||||
render_monitoring_fuel_tab()
|
||||
|
||||
# Вкладка 4: Ремонт СА
|
||||
with tab4:
|
||||
render_svodka_repair_ca_tab()
|
||||
|
||||
# Вкладка 5: Статусы ремонта СА
|
||||
with tab5:
|
||||
render_statuses_repair_ca_tab()
|
||||
|
||||
# Вкладка 6: Мониторинг ТЭР
|
||||
with tab6:
|
||||
render_monitoring_tar_tab()
|
||||
|
||||
# Вкладка 7: Операционные справки технологических позиций
|
||||
with tab7:
|
||||
render_oper_spravka_tech_pos_tab()
|
||||
# Рендерим соответствующую страницу
|
||||
if active_page == 0:
|
||||
render_sync_parsers_page()
|
||||
elif active_page == 1:
|
||||
render_async_upload_page()
|
||||
else:
|
||||
render_tasks_page()
|
||||
|
||||
# Футер
|
||||
render_footer()
|
||||
|
||||
Reference in New Issue
Block a user