usmanayaz commited on
Commit
abd03bf
Β·
verified Β·
1 Parent(s): 153852a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -10
app.py CHANGED
@@ -43,7 +43,13 @@ def create_tables():
43
 
44
  create_tables()
45
 
46
- # Sidebar Navigation
 
 
 
 
 
 
47
  st.sidebar.title("CAFM Navigation")
48
 
49
  # Define navigation options
@@ -55,21 +61,19 @@ pages = {
55
  "Reporting & Analytics": "πŸ“Š"
56
  }
57
 
58
- selected_page = None
59
-
60
  st.sidebar.markdown("---")
61
  for page, icon in pages.items():
62
  if st.sidebar.button(f"{icon} {page}"):
63
- selected_page = page
64
 
65
- if selected_page is None:
66
- selected_page = "Home" # Default page
67
 
68
  # Home Page
69
  if selected_page == "Home":
70
  st.title("Welcome to the Computer-Aided Facility Management (CAFM) System")
71
  st.image(
72
- "https://via.placeholder.com/800x300.png?text=CAFM+System",
73
  use_container_width=True
74
  )
75
  st.markdown("""
@@ -82,7 +86,7 @@ elif selected_page == "Asset Management":
82
  st.title("Asset Management")
83
  st.markdown("Manage and monitor your facility's assets efficiently.")
84
 
85
- with st.form("asset_form", clear_on_submit=True):
86
  site_name = st.text_input("Site Name")
87
  asset_name = st.text_input("Asset Name")
88
  asset_type = st.text_input("Asset Type")
@@ -97,6 +101,7 @@ elif selected_page == "Asset Management":
97
  ''', (site_name, asset_name, asset_type, maintenance_history, warranty, current_condition))
98
  conn.commit()
99
  st.success("Asset added successfully!")
 
100
 
101
  st.subheader("Asset List")
102
  assets = pd.read_sql_query("SELECT * FROM assets", conn)
@@ -107,7 +112,7 @@ elif selected_page == "Work Order Management":
107
  st.title("Work Order Management")
108
  st.markdown("Streamline the management of work orders from creation to completion.")
109
 
110
- with st.form("work_order_form", clear_on_submit=True):
111
  site_name = st.text_input("Site Name")
112
  work_order_description = st.text_area("Work Order Description")
113
  assigned_to = st.text_input("Assigned To")
@@ -120,6 +125,7 @@ elif selected_page == "Work Order Management":
120
  ''', (site_name, work_order_description, assigned_to, status, datetime.now().strftime("%Y-%m-%d %H:%M:%S")))
121
  conn.commit()
122
  st.success("Work order created successfully!")
 
123
 
124
  st.subheader("Work Orders")
125
  work_orders = pd.read_sql_query("SELECT * FROM work_orders", conn)
@@ -130,7 +136,7 @@ elif selected_page == "Preventive Maintenance":
130
  st.title("Preventive Maintenance")
131
  st.markdown("Plan and manage preventive maintenance tasks to ensure asset longevity.")
132
 
133
- with st.form("maintenance_form", clear_on_submit=True):
134
  site_name = st.text_input("Site Name")
135
  task_name = st.text_input("Task Name")
136
  schedule_date = st.date_input("Schedule Date")
@@ -143,6 +149,7 @@ elif selected_page == "Preventive Maintenance":
143
  ''', (site_name, task_name, schedule_date, status))
144
  conn.commit()
145
  st.success("Task scheduled successfully!")
 
146
 
147
  st.subheader("Scheduled Maintenance")
148
  maintenance = pd.read_sql_query("SELECT * FROM preventive_maintenance", conn)
 
43
 
44
  create_tables()
45
 
46
+ # Sidebar Navigation with Session State to retain page state
47
+ if "page" not in st.session_state:
48
+ st.session_state.page = "Home"
49
+
50
+ def navigate_to(page):
51
+ st.session_state.page = page
52
+
53
  st.sidebar.title("CAFM Navigation")
54
 
55
  # Define navigation options
 
61
  "Reporting & Analytics": "πŸ“Š"
62
  }
63
 
 
 
64
  st.sidebar.markdown("---")
65
  for page, icon in pages.items():
66
  if st.sidebar.button(f"{icon} {page}"):
67
+ navigate_to(page)
68
 
69
+ # Main Page Logic
70
+ selected_page = st.session_state.page
71
 
72
  # Home Page
73
  if selected_page == "Home":
74
  st.title("Welcome to the Computer-Aided Facility Management (CAFM) System")
75
  st.image(
76
+ "https://via.placeholder.com/800x300.png?text=CAFM+System",
77
  use_container_width=True
78
  )
79
  st.markdown("""
 
86
  st.title("Asset Management")
87
  st.markdown("Manage and monitor your facility's assets efficiently.")
88
 
89
+ with st.form("asset_form"):
90
  site_name = st.text_input("Site Name")
91
  asset_name = st.text_input("Asset Name")
92
  asset_type = st.text_input("Asset Type")
 
101
  ''', (site_name, asset_name, asset_type, maintenance_history, warranty, current_condition))
102
  conn.commit()
103
  st.success("Asset added successfully!")
104
+ st.experimental_rerun()
105
 
106
  st.subheader("Asset List")
107
  assets = pd.read_sql_query("SELECT * FROM assets", conn)
 
112
  st.title("Work Order Management")
113
  st.markdown("Streamline the management of work orders from creation to completion.")
114
 
115
+ with st.form("work_order_form"):
116
  site_name = st.text_input("Site Name")
117
  work_order_description = st.text_area("Work Order Description")
118
  assigned_to = st.text_input("Assigned To")
 
125
  ''', (site_name, work_order_description, assigned_to, status, datetime.now().strftime("%Y-%m-%d %H:%M:%S")))
126
  conn.commit()
127
  st.success("Work order created successfully!")
128
+ st.experimental_rerun()
129
 
130
  st.subheader("Work Orders")
131
  work_orders = pd.read_sql_query("SELECT * FROM work_orders", conn)
 
136
  st.title("Preventive Maintenance")
137
  st.markdown("Plan and manage preventive maintenance tasks to ensure asset longevity.")
138
 
139
+ with st.form("maintenance_form"):
140
  site_name = st.text_input("Site Name")
141
  task_name = st.text_input("Task Name")
142
  schedule_date = st.date_input("Schedule Date")
 
149
  ''', (site_name, task_name, schedule_date, status))
150
  conn.commit()
151
  st.success("Task scheduled successfully!")
152
+ st.experimental_rerun()
153
 
154
  st.subheader("Scheduled Maintenance")
155
  maintenance = pd.read_sql_query("SELECT * FROM preventive_maintenance", conn)