Spaces:
Paused
Paused
File size: 6,241 Bytes
3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 c16bb6d 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 3e1c4f2 ef8b3c0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
import streamlit as st
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
def tender_analysis_page():
"""
صفحة تحليل العطاءات
"""
st.title("تحليل العطاءات")
st.write("هذه الصفحة تعرض تحليلات مختلفة للعطاءات والمناقصات")
# يمكنك إضافة رفع ملف CSV أو Excel
uploaded_file = st.file_uploader("ارفع ملف بيانات العطاءات", type=["csv", "xlsx"])
if uploaded_file is not None:
# قراءة البيانات
try:
if uploaded_file.name.endswith('csv'):
df = pd.read_csv(uploaded_file)
else:
df = pd.read_excel(uploaded_file)
# عرض البيانات الأولية
st.subheader("نظرة عامة على البيانات")
st.dataframe(df.head())
# إحصائيات أساسية
st.subheader("إحصائيات أساسية")
st.write(df.describe())
# تحليل حسب نوع العطاء (مثال)
if 'نوع_العطاء' in df.columns:
st.subheader("تحليل حسب نوع العطاء")
tender_types = df['نوع_العطاء'].value_counts()
st.bar_chart(tender_types)
# تحليل القيمة حسب الشهر (مثال)
if 'تاريخ' in df.columns and 'قيمة_العطاء' in df.columns:
st.subheader("تحليل قيمة العطاءات حسب الشهر")
df['شهر'] = pd.to_datetime(df['تاريخ']).dt.month
monthly_values = df.groupby('شهر')['قيمة_العطاء'].sum()
st.line_chart(monthly_values)
# تحليل نسب النجاح (مثال)
if 'حالة_العطاء' in df.columns:
st.subheader("نسب نجاح العطاءات")
success_rate = df['حالة_العطاء'].value_counts(normalize=True) * 100
st.pie_chart(success_rate)
except Exception as e:
st.error(f"حدث خطأ أثناء تحليل البيانات: {e}")
else:
st.info("يرجى رفع ملف بيانات العطاءات لعرض التحليلات")
def contracts_page():
"""
صفحة إدارة العقود - تعرض معلومات وتحليلات للعقود
"""
st.title("إدارة العقود")
st.write("هذه الصفحة مخصصة لإدارة وتحليل العقود")
# يمكنك إضافة رفع ملف CSV أو Excel
uploaded_file = st.file_uploader("ارفع ملف بيانات العقود", type=["csv", "xlsx"])
if uploaded_file is not None:
# قراءة البيانات
try:
if uploaded_file.name.endswith('csv'):
df = pd.read_csv(uploaded_file)
else:
df = pd.read_excel(uploaded_file)
# عرض البيانات الأولية
st.subheader("نظرة عامة على بيانات العقود")
st.dataframe(df.head())
# إحصائيات العقود
st.subheader("إحصائيات العقود")
st.write(df.describe())
# تحليل حسب نوع العقد (مثال)
if 'نوع_العقد' in df.columns:
st.subheader("تحليل حسب نوع العقد")
contract_types = df['نوع_العقد'].value_counts()
st.bar_chart(contract_types)
# تحليل قيمة العقود حسب الشهر (مثال)
if 'تاريخ_التوقيع' in df.columns and 'قيمة_العقد' in df.columns:
st.subheader("تحليل قيمة العقود حسب الشهر")
df['شهر'] = pd.to_datetime(df['تاريخ_التوقيع']).dt.month
monthly_values = df.groupby('شهر')['قيمة_العقد'].sum()
st.line_chart(monthly_values)
# تحليل العقود حسب المورد/العميل (مثال)
if 'المورد' in df.columns and 'قيمة_العقد' in df.columns:
st.subheader("تحليل العقود حسب المورد")
vendor_analysis = df.groupby('المورد')['قيمة_العقد'].sum().sort_values(ascending=False).head(10)
st.bar_chart(vendor_analysis)
# جدول العقود النشطة (مثال)
if 'حالة_العقد' in df.columns:
st.subheader("العقود النشطة")
active_contracts = df[df['حالة_العقد'] == 'نشط']
st.dataframe(active_contracts)
except Exception as e:
st.error(f"حدث خطأ أثناء تحليل بيانات العقود: {e}")
else:
st.info("يرجى رفع ملف بيانات العقود لعرض التحليلات")
def main():
st.sidebar.title("قائمة الصفحات")
page = st.sidebar.selectbox(
"اختر صفحة",
["الصفحة الرئيسية", "تحليل العطاءات", "إدارة العقود", "المعلومات"]
)
if page == "الصفحة الرئيسية":
home_page()
elif page == "تحليل العطاءات":
tender_analysis_page()
elif page == "إدارة العقود":
contracts_page()
elif page == "المعلومات":
about_page()
def home_page():
st.title("نظام تحليل العطاءات")
st.write("مرحباً بك في نظام تحليل العطاءات. استخدم القائمة الجانبية للتنقل بين الصفحات.")
def about_page():
st.title("عن النظام")
st.write("نظام تحليل العطاءات هو أداة لتحليل بيانات العطاءات والمناقصات.")
if __name__ == "__main__":
main() |