Alaa123 commited on
Commit
b48f5cc
·
verified ·
1 Parent(s): ea5f092

صمم موقع تسجيل بيانات العاملين بالادارة التعليميه من خلال رابط يمكن الدخول عليه لتسجيل تلك الباينات في علي ان يتم التسجيل لكفاه البيانات في ملف اكسيل علي ان تشمل البايانات التاليه الاسم الكود الرقم القومي الوظيفه تاريخ الميلاد تاريخ التعيين التليفون العنوان - Follow Up Deployment

Browse files
Files changed (2) hide show
  1. index.html +317 -16
  2. prompts.txt +1 -0
index.html CHANGED
@@ -1,20 +1,321 @@
1
  <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>My app</title>
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <meta charset="utf-8">
7
  <script src="https://cdn.tailwindcss.com"></script>
8
- </head>
9
- <body class="flex justify-center items-center h-screen overflow-hidden bg-white font-sans text-center px-6">
10
- <div class="w-full">
11
- <span class="text-xs rounded-full mb-2 inline-block px-2 py-1 border border-amber-500/15 bg-amber-500/15 text-amber-500">🔥 New version dropped!</span>
12
- <h1 class="text-4xl lg:text-6xl font-bold font-sans">
13
- <span class="text-2xl lg:text-4xl text-gray-400 block font-medium">I'm ready to work,</span>
14
- Ask me anything.
15
- </h1>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  </div>
17
- <img src="https://enzostvs-deepsite.hf.space/arrow.svg" class="absolute bottom-8 left-0 w-[100px] transform rotate-[30deg]" />
18
- <script></script>
19
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  </html>
 
1
  <!DOCTYPE html>
2
+ <html lang="ar" dir="rtl">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>نظام تسجيل بيانات العاملين - الإدارة التعليمية</title>
7
  <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://unpkg.com/feather-icons"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700&display=swap" rel="stylesheet">
11
+ <style>
12
+ body {
13
+ font-family: 'Tajawal', sans-serif;
14
+ }
15
+ </style>
16
+ </head>
17
+ <body class="bg-gray-50">
18
+ <div class="min-h-screen flex flex-col">
19
+ <!-- Header -->
20
+ <header class="bg-blue-700 text-white shadow-lg">
21
+ <div class="container mx-auto px-4 py-6">
22
+ <div class="flex justify-between items-center">
23
+ <div class="flex items-center space-x-4">
24
+ <i data-feather="users" class="w-8 h-8"></i>
25
+ <h1 class="text-2xl font-bold">نظام تسجيل بيانات العاملين</h1>
26
+ </div>
27
+ <div>
28
+ <p class="text-sm">الإدارة التعليمية</p>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </header>
33
+
34
+ <!-- Main Content -->
35
+ <main class="flex-grow container mx-auto px-4 py-8">
36
+ <div class="max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
37
+ <div class="bg-blue-600 px-6 py-4">
38
+ <h2 class="text-xl font-bold text-white">نموذج تسجيل بيانات العاملين</h2>
39
+ </div>
40
+
41
+ <form id="employeeForm" class="p-6 space-y-6">
42
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
43
+ <!-- الاسم -->
44
+ <div>
45
+ <label for="name" class="block text-sm font-medium text-gray-700 mb-1">الاسم بالكامل</label>
46
+ <input type="text" id="name" name="name" required
47
+ class="w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
48
+ </div>
49
+
50
+ <!-- الكود -->
51
+ <div>
52
+ <label for="code" class="block text-sm font-medium text-gray-700 mb-1">الكود</label>
53
+ <input type="text" id="code" name="code" required
54
+ class="w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
55
+ </div>
56
+
57
+ <!-- الرقم القومي -->
58
+ <div>
59
+ <label for="nationalId" class="block text-sm font-medium text-gray-700 mb-1">الرقم القومي</label>
60
+ <input type="text" id="nationalId" name="nationalId" required
61
+ class="w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
62
+ </div>
63
+
64
+ <!-- الوظيفة -->
65
+ <div>
66
+ <label for="jobTitle" class="block text-sm font-medium text-gray-700 mb-1">الوظيفة</label>
67
+ <input type="text" id="jobTitle" name="jobTitle" required
68
+ class="w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
69
+ </div>
70
+
71
+ <!-- تاريخ الميلاد -->
72
+ <div>
73
+ <label for="birthDate" class="block text-sm font-medium text-gray-700 mb-1">تاريخ الميلاد</label>
74
+ <input type="date" id="birthDate" name="birthDate" required
75
+ class="w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
76
+ </div>
77
+
78
+ <!-- تاريخ التعيين -->
79
+ <div>
80
+ <label for="hireDate" class="block text-sm font-medium text-gray-700 mb-1">تاريخ التعيين</label>
81
+ <input type="date" id="hireDate" name="hireDate" required
82
+ class="w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
83
+ </div>
84
+
85
+ <!-- التليفون -->
86
+ <div>
87
+ <label for="phone" class="block text-sm font-medium text-gray-700 mb-1">رقم التليفون</label>
88
+ <input type="tel" id="phone" name="phone" required
89
+ class="w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500">
90
+ </div>
91
+
92
+ <!-- العنوان -->
93
+ <div class="md:col-span-2">
94
+ <label for="address" class="block text-sm font-medium text-gray-700 mb-1">العنوان</label>
95
+ <textarea id="address" name="address" rows="3" required
96
+ class="w-full px-4 py-2 border border-gray-300 rounded-md focus:ring-blue-500 focus:border-blue-500"></textarea>
97
+ </div>
98
+ </div>
99
+
100
+ <div class="flex justify-end space-x-4">
101
+ <button type="reset" class="px-6 py-2 bg-gray-200 text-gray-700 rounded-md hover:bg-gray-300">
102
+ مسح البيانات
103
+ </button>
104
+ <button type="submit" class="px-6 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 flex items-center">
105
+ <i data-feather="save" class="w-4 h-4 ml-2"></i>
106
+ حفظ البيانات
107
+ </button>
108
+ </div>
109
+ </form>
110
+ </div>
111
+
112
+ <!-- Data Table Section -->
113
+ <div class="mt-12 max-w-4xl mx-auto bg-white rounded-lg shadow-md overflow-hidden">
114
+ <div class="bg-blue-600 px-6 py-4">
115
+ <h2 class="text-xl font-bold text-white">بيانات العاملين المسجلة</h2>
116
+ </div>
117
+
118
+ <div class="p-6">
119
+ <div class="overflow-x-auto">
120
+ <table class="min-w-full divide-y divide-gray-200">
121
+ <thead class="bg-gray-50">
122
+ <tr>
123
+ <th class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الكود</th>
124
+ <th class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الاسم</th>
125
+ <th class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">الوظيفة</th>
126
+ <th class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">التليفون</th>
127
+ <th class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">خيارات</th>
128
+ </tr>
129
+ </thead>
130
+ <tbody id="employeeTable" class="bg-white divide-y divide-gray-200">
131
+ <!-- Data will be inserted here by JavaScript -->
132
+ <tr>
133
+ <td colspan="5" class="px-6 py-4 text-center text-gray-500">لا توجد بيانات مسجلة بعد</td>
134
+ </tr>
135
+ </tbody>
136
+ </table>
137
+ </div>
138
+
139
+ <div class="mt-4 flex justify-end">
140
+ <button id="exportBtn" class="px-6 py-2 bg-green-600 text-white rounded-md hover:bg-green-700 flex items-center">
141
+ <i data-feather="download" class="w-4 h-4 ml-2"></i>
142
+ تصدير إلى Excel
143
+ </button>
144
+ </div>
145
+ </div>
146
+ </div>
147
+ </main>
148
+
149
+ <!-- Footer -->
150
+ <footer class="bg-gray-800 text-white py-6">
151
+ <div class="container mx-auto px-4 text-center">
152
+ <p>جميع الحقوق محفوظة © نظام الإدارة التعليمية 2023</p>
153
+ </div>
154
+ </footer>
155
  </div>
156
+
157
+ <!-- Success Modal -->
158
+ <div id="successModal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center hidden">
159
+ <div class="bg-white rounded-lg p-6 max-w-sm w-full">
160
+ <div class="text-center">
161
+ <div class="mx-auto flex items-center justify-center h-12 w-12 rounded-full bg-green-100">
162
+ <i data-feather="check" class="h-6 w-6 text-green-600"></i>
163
+ </div>
164
+ <h3 class="mt-3 text-lg font-medium text-gray-900">تم بنجاح!</h3>
165
+ <div class="mt-2 text-sm text-gray-500">
166
+ <p>تم حفظ بيانات العامل بنجاح</p>
167
+ </div>
168
+ <div class="mt-4">
169
+ <button onclick="document.getElementById('successModal').classList.add('hidden')"
170
+ class="px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700">
171
+ موافق
172
+ </button>
173
+ </div>
174
+ </div>
175
+ </div>
176
+ </div>
177
+
178
+ <script>
179
+ feather.replace();
180
+
181
+ // Employee data array
182
+ let employees = [];
183
+
184
+ // Form submission
185
+ document.getElementById('employeeForm').addEventListener('submit', function(e) {
186
+ e.preventDefault();
187
+
188
+ const formData = new FormData(this);
189
+ const employee = {
190
+ name: formData.get('name'),
191
+ code: formData.get('code'),
192
+ nationalId: formData.get('nationalId'),
193
+ jobTitle: formData.get('jobTitle'),
194
+ birthDate: formData.get('birthDate'),
195
+ hireDate: formData.get('hireDate'),
196
+ phone: formData.get('phone'),
197
+ address: formData.get('address')
198
+ };
199
+
200
+ employees.push(employee);
201
+ updateEmployeeTable();
202
+ this.reset();
203
+
204
+ // Show success modal
205
+ document.getElementById('successModal').classList.remove('hidden');
206
+ });
207
+
208
+ // Update employee table
209
+ function updateEmployeeTable() {
210
+ const tableBody = document.getElementById('employeeTable');
211
+
212
+ if (employees.length === 0) {
213
+ tableBody.innerHTML = `
214
+ <tr>
215
+ <td colspan="5" class="px-6 py-4 text-center text-gray-500">لا توجد بيانات مسجلة بعد</td>
216
+ </tr>
217
+ `;
218
+ return;
219
+ }
220
+
221
+ tableBody.innerHTML = '';
222
+
223
+ employees.forEach((employee, index) => {
224
+ const row = document.createElement('tr');
225
+ row.innerHTML = `
226
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">${employee.code}</td>
227
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">${employee.name}</td>
228
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">${employee.jobTitle}</td>
229
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">${employee.phone}</td>
230
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900">
231
+ <button onclick="viewEmployeeDetails(${index})" class="text-blue-600 hover:text-blue-900 ml-2">
232
+ <i data-feather="eye" class="w-4 h-4"></i>
233
+ </button>
234
+ <button onclick="editEmployee(${index})" class="text-yellow-600 hover:text-yellow-900 ml-2">
235
+ <i data-feather="edit" class="w-4 h-4"></i>
236
+ </button>
237
+ <button onclick="deleteEmployee(${index})" class="text-red-600 hover:text-red-900 ml-2">
238
+ <i data-feather="trash-2" class="w-4 h-4"></i>
239
+ </button>
240
+ </td>
241
+ `;
242
+ tableBody.appendChild(row);
243
+ });
244
+
245
+ feather.replace();
246
+ }
247
+
248
+ // View employee details
249
+ function viewEmployeeDetails(index) {
250
+ const employee = employees[index];
251
+ alert(
252
+ `الاسم: ${employee.name}\n` +
253
+ `الكود: ${employee.code}\n` +
254
+ `الرقم القومي: ${employee.nationalId}\n` +
255
+ `الوظيفة: ${employee.jobTitle}\n` +
256
+ `تاريخ الميلاد: ${employee.birthDate}\n` +
257
+ `تاريخ التعيين: ${employee.hireDate}\n` +
258
+ `التليفون: ${employee.phone}\n` +
259
+ `العنوان: ${employee.address}`
260
+ );
261
+ }
262
+
263
+ // Edit employee
264
+ function editEmployee(index) {
265
+ const employee = employees[index];
266
+ const form = document.getElementById('employeeForm');
267
+
268
+ form.name.value = employee.name;
269
+ form.code.value = employee.code;
270
+ form.nationalId.value = employee.nationalId;
271
+ form.jobTitle.value = employee.jobTitle;
272
+ form.birthDate.value = employee.birthDate;
273
+ form.hireDate.value = employee.hireDate;
274
+ form.phone.value = employee.phone;
275
+ form.address.value = employee.address;
276
+
277
+ // Remove the employee from the array
278
+ employees.splice(index, 1);
279
+ updateEmployeeTable();
280
+ }
281
+
282
+ // Delete employee
283
+ function deleteEmployee(index) {
284
+ if (confirm('هل أنت متأكد من حذف هذا الموظف؟')) {
285
+ employees.splice(index, 1);
286
+ updateEmployeeTable();
287
+ }
288
+ }
289
+
290
+ // Export to Excel
291
+ document.getElementById('exportBtn').addEventListener('click', function() {
292
+ if (employees.length === 0) {
293
+ alert('لا توجد بيانات لتصديرها');
294
+ return;
295
+ }
296
+
297
+ // Create CSV content
298
+ let csvContent = "data:text/csv;charset=utf-8,";
299
+
300
+ // Add headers
301
+ csvContent += "الكود,الاسم,الرقم القومي,الوظيفة,تاريخ الميلاد,تاريخ التعيين,التليفون,العنوان\n";
302
+
303
+ // Add employee data
304
+ employees.forEach(employee => {
305
+ csvContent += `${employee.code},${employee.name},${employee.nationalId},${employee.jobTitle},${employee.birthDate},${employee.hireDate},${employee.phone},"${employee.address}"\n`;
306
+ });
307
+
308
+ // Create download link
309
+ const encodedUri = encodeURI(csvContent);
310
+ const link = document.createElement("a");
311
+ link.setAttribute("href", encodedUri);
312
+ link.setAttribute("download", "بيانات_العاملين.csv");
313
+ document.body.appendChild(link);
314
+
315
+ // Trigger download
316
+ link.click();
317
+ document.body.removeChild(link);
318
+ });
319
+ </script>
320
+ </body>
321
  </html>
prompts.txt CHANGED
@@ -0,0 +1 @@
 
 
1
+ صمم موقع تسجيل بيانات العاملين بالادارة التعليميه من خلال رابط يمكن الدخول عليه لتسجيل تلك الباينات في علي ان يتم التسجيل لكفاه البيانات في ملف اكسيل علي ان تشمل البايانات التاليه الاسم الكود الرقم القومي الوظيفه تاريخ الميلاد تاريخ التعيين التليفون العنوان