File size: 12,180 Bytes
82676b8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
"""
مكون عرض معلومات حول النظام
"""

import streamlit as st


def display_about_system():
    """
    عرض معلومات حول النظام وميزاته
    """
    # مربع معلومات النظام
    st.markdown("""
    <div class="about-system">
        <h2>نبذة عن النظام</h2>
        <p>
            نظام WAHBi AI هو نظام متكامل لتحليل العقود والمناقصات باستخدام تقنيات الذكاء الاصطناعي المتقدمة. 
            تم تطوير النظام خصيصًا لشركة شبه الجزيرة للمقاولات لتمكينها من تحليل وثائق المناقصات، وتسعير المشاريع، وتقييم المخاطر، 
            وإدارة الموارد بكفاءة عالية.
        </p>
        
        <h2>المميزات الرئيسية</h2>
        <ul>
            <li><strong>تحليل المستندات ذكيًا</strong> - استخراج البنود والكميات والمخاطر من المستندات تلقائيًا</li>
            <li><strong>حاسبة تكاليف البناء المتكاملة</strong> - حساب التكاليف التفصيلية للمواد الخام والمعدات والعمالة والمصاريف الإدارية وهوامش الربح</li>
            <li><strong>تحليل الأسعار غير المتزنة</strong> - تحليل ومقارنة الأسعار مع متوسطات السوق لتحقيق أقصى استفادة</li>
            <li><strong>تتبع المعدات والموارد</strong> - متابعة وتنظيم موارد الشركة وتخصيصها للمشاريع المختلفة</li>
            <li><strong>تحليل المخاطر</strong> - تحديد المخاطر المحتملة في المشاريع وتقييم تأثيرها واقتراح إجراءات التخفيف</li>
            <li><strong>مؤشرات أداء المشاريع</strong> - متابعة الأداء المالي والفني للمشاريع وقياس الإنجاز</li>
            <li><strong>حاسبة المحتوى المحلي</strong> - حساب وتحسين نسبة المحتوى المحلي في المشاريع لتلبية متطلبات المملكة</li>
            <li><strong>التنبؤ بأسعار المواد</strong> - استخدام نماذج التعلم الآلي للتنبؤ بتغيرات الأسعار المستقبلية</li>
            <li><strong>مؤقت مواعيد التسليم</strong> - متابعة مواعيد بدء الدراسة ومواعيد تسليم العروض للمشاريع</li>
            <li><strong>دعم اللغة العربية</strong> - واجهة مستخدم باللغة العربية مع إمكانية التبديل للغة الإنجليزية</li>
            <li><strong>توافق متعدد الأجهزة</strong> - يعمل على جميع الأجهزة (أيفون، أندرويد، أجهزة لوحية، حواسيب مكتبية)</li>
        </ul>
        
        <h2>معلومات الاتصال</h2>
        <div class="contact-info">
            <p><strong>العنوان:</strong> المملكة العربية السعودية - الرياض - حي الملز - شارع السبالة</p>
            <p><strong>البريد الإلكتروني:</strong> [email protected]</p>
            <p><strong>هاتف:</strong> +966 12 345 6789</p>
            <p><strong>الموقع الإلكتروني:</strong> www.peninsula-contracting.com</p>
        </div>
        
        <h2>فريق التطوير</h2>
        <p>
            تم تطوير هذا النظام بواسطة فريق متخصص من المهندسين والمطورين بقيادة م. بدر وهبي، 
            بالتعاون مع فريق التسعير والمشاريع في شركة شبه الجزيرة للمقاولات.
        </p>
        
        <h2>الإصدار والترخيص</h2>
        <p>
            <strong>رقم الإصدار:</strong> 2.5.0 (مارس 2025)<br>
            <strong>الترخيص:</strong> جميع الحقوق محفوظة © 2025 شركة شبه الجزيرة للمقاولات
        </p>
    </div>
    """, unsafe_allow_html=True)
    
    # أضف مساحة أسفل المحتوى
    st.markdown("<br><br>", unsafe_allow_html=True)
    
    # إضافة أزرار تفاعلية
    col1, col2, col3 = st.columns(3)
    
    with col1:
        st.button("تحميل دليل المستخدم")
    
    with col2:
        st.button("الدعم الفني")
    
    with col3:
        st.button("التحديثات والمزايا القادمة")


def display_settings():
    """
    عرض صفحة الإعدادات
    """
    st.markdown("<h2 class='module-title'>إعدادات النظام</h2>", unsafe_allow_html=True)
    
    # تقسيم الصفحة إلى قسمين
    col1, col2 = st.columns(2)
    
    with col1:
        st.markdown("""
        <div class="settings-form">
            <div class="settings-group">
                <h3>خيارات اللغة</h3>
                <div class="settings-item">
                    <label>لغة الواجهة</label>
                </div>
            </div>
        </div>
        """, unsafe_allow_html=True)
        
        language = st.selectbox(
            "اختر لغة الواجهة",
            options=["العربية", "English"],
            index=0,
            label_visibility="collapsed"
        )
        
        st.markdown("""
        <div class="settings-form">
            <div class="settings-group">
                <h3>الإشعارات</h3>
                <div class="settings-item">
                    <label>إعدادات الإشعارات</label>
                </div>
            </div>
        </div>
        """, unsafe_allow_html=True)
        
        notifications_email = st.checkbox("إشعارات البريد الإلكتروني", value=True)
        notifications_sms = st.checkbox("إشعارات الرسائل النصية SMS", value=False)
        notifications_system = st.checkbox("إشعارات النظام", value=True)
        
        if st.button("حفظ الإعدادات"):
            st.success("تم حفظ الإعدادات بنجاح")
    
    with col2:
        st.markdown("""
        <div class="settings-form">
            <div class="settings-group">
                <h3>معلومات الحساب</h3>
            </div>
        </div>
        """, unsafe_allow_html=True)
        
        username = st.text_input("اسم المستخدم", value="admin")
        email = st.text_input("البريد الإلكتروني", value="[email protected]")
        
        st.markdown("""
        <div class="settings-form" style="margin-top: 20px;">
            <div class="settings-group">
                <h3>تغيير كلمة المرور</h3>
            </div>
        </div>
        """, unsafe_allow_html=True)
        
        current_password = st.text_input("كلمة المرور الحالية", type="password")
        new_password = st.text_input("كلمة المرور الجديدة", type="password")
        confirm_password = st.text_input("تأكيد كلمة المرور الجديدة", type="password")
        
        if st.button("تغيير كلمة المرور"):
            if not current_password or not new_password or not confirm_password:
                st.error("يرجى ملء جميع الحقول")
            elif new_password != confirm_password:
                st.error("كلمات المرور غير متطابقة")
            else:
                st.success("تم تغيير كلمة المرور بنجاح")
        
    # إضافة مزيد من الإعدادات
    st.markdown("<hr>", unsafe_allow_html=True)
    st.markdown("<h3>إعدادات النظام المتقدمة</h3>", unsafe_allow_html=True)
    
    col3, col4 = st.columns(2)
    
    with col3:
        theme = st.selectbox(
            "سمة النظام",
            options=["الافتراضية", "الوضع الفاتح", "الوضع الداكن"]
        )
        
        date_format = st.selectbox(
            "تنسيق التاريخ",
            options=["DD/MM/YYYY", "MM/DD/YYYY", "YYYY-MM-DD"]
        )
    
    with col4:
        currency = st.selectbox(
            "العملة الافتراضية",
            options=["ريال سعودي (SAR)", "دولار أمريكي (USD)", "يورو (EUR)"]
        )
        
        notifications_frequency = st.selectbox(
            "تكرار الإشعارات",
            options=["فوري", "يومي", "أسبوعي"]
        )


def display_countdown_timer():
    """
    عرض مؤقت العد التنازلي للمواعيد النهائية
    """
    st.markdown("<h3>مواعيد المناقصات</h3>", unsafe_allow_html=True)
    
    # بيانات المواعيد
    deadlines = [
        {
            "name": "مناقصة توسعة مستشفى الملك فهد",
            "submission_date": "15 أبريل 2025",
            "days_left": 15,
            "start_date": "1 مارس 2025"
        },
        {
            "name": "مناقصة إنشاء مبنى كلية الطب",
            "submission_date": "30 مارس 2025",
            "days_left": 0,
            "start_date": "15 فبراير 2025"
        },
        {
            "name": "مناقصة طريق الدائري الشمالي",
            "submission_date": "10 مايو 2025",
            "days_left": 40,
            "start_date": "5 مارس 2025"
        }
    ]
    
    for i, deadline in enumerate(deadlines):
        # تحديد لون المؤقت بناءً على عدد الأيام المتبقية
        color_class = "danger" if deadline["days_left"] <= 5 else "warning" if deadline["days_left"] <= 15 else "success"
        
        # عرض معلومات الموعد والمؤقت
        st.markdown(f"""
        <div class="card" style="margin-bottom: 15px;">
            <h4>{deadline["name"]}</h4>
            <div style="display: flex; justify-content: space-between; margin-bottom: 10px;">
                <div>
                    <small style="color: var(--text-light);">بدء الدراسة: {deadline["start_date"]}</small>
                </div>
                <div>
                    <small style="color: var(--text-light);">تاريخ التسليم: {deadline["submission_date"]}</small>
                </div>
            </div>
            <div class="progress" style="margin-bottom: 5px;">
                <div class="progress-bar progress-{color_class}" style="width: {100 - min(100, deadline["days_left"] * 2)}%;"></div>
            </div>
            <div style="display: flex; justify-content: space-between; align-items: center;">
                <div>
                    <small>متبقي: <span class="bold">{deadline["days_left"]} أيام</span></small>
                </div>
                <div>
                    <button class="btn-secondary btn-sm">تفاصيل المناقصة</button>
                </div>
            </div>
        </div>
        """, unsafe_allow_html=True)
    
    # عرض مؤقت تفصيلي للمناقصة الأولى
    st.markdown("<h4>العد التنازلي للتسليم</h4>", unsafe_allow_html=True)
    
    st.markdown("""
    <div class="countdown-timer">
        <div class="time-block">
            <div class="time-value">15</div>
            <div class="time-label">يوم</div>
        </div>
        <div class="time-block">
            <div class="time-value">08</div>
            <div class="time-label">ساعة</div>
        </div>
        <div class="time-block">
            <div class="time-value">45</div>
            <div class="time-label">دقيقة</div>
        </div>
        <div class="time-block">
            <div class="time-value">20</div>
            <div class="time-label">ثانية</div>
        </div>
    </div>
    """, unsafe_allow_html=True)