66 lines
2.4 KiB
Python
66 lines
2.4 KiB
Python
import streamlit as st
|
||
from config import setup_page_config, PARSER_TABS, 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
|
||
|
||
# Конфигурация страницы
|
||
setup_page_config()
|
||
|
||
def main():
|
||
st.title("🚀 NIN Excel Parsers API - Демонстрация")
|
||
st.markdown("---")
|
||
|
||
# Проверка доступности API
|
||
if not check_api_health():
|
||
st.error(f"❌ API недоступен по адресу {API_PUBLIC_URL}")
|
||
st.info("Убедитесь, что FastAPI сервер запущен")
|
||
return
|
||
|
||
st.success(f"✅ API доступен по адресу {API_PUBLIC_URL}")
|
||
|
||
# Боковая панель с информацией
|
||
render_sidebar()
|
||
|
||
# Основные вкладки - по одной на каждый парсер
|
||
tab1, tab2, tab3, tab4, tab5, tab6, tab7 = st.tabs(PARSER_TABS)
|
||
|
||
# Вкладка 1: Сводки ПМ - полный функционал
|
||
with tab1:
|
||
render_svodka_pm_tab()
|
||
|
||
# Вкладка 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()
|
||
|
||
# Футер
|
||
render_footer()
|
||
|
||
if __name__ == "__main__":
|
||
main() |