stat2025 commited on
Commit
826ea56
·
verified ·
1 Parent(s): 241d6d3

Update app.js

Browse files
Files changed (1) hide show
  1. app.js +2 -61
app.js CHANGED
@@ -383,10 +383,9 @@ async function exportExcel(){
383
  if(!rows.length){ toast("لا يوجد بيانات لتصديرها."); return; }
384
 
385
  const TEMPLATE_HEADERS = [
386
- "التصنيف","نوع المشكلة","المنطقة","اسم المسح","اسم المشغل",
387
  "رقم الجوال","رقم الهوية ID","رقم الجهاز","تاريخ اليوم بالميلادي","الحالة","اسم الدعم الفني"
388
  ];
389
-
390
  const mapRow = (r)=>{
391
  const today = new Date();
392
  const yyyy=today.getFullYear(), mm=String(today.getMonth()+1).padStart(2,"0"), dd=String(today.getDate()).padStart(2,"0");
@@ -394,6 +393,7 @@ async function exportExcel(){
394
  return {
395
  "التصنيف": r["التصنيف"]||"",
396
  "نوع المشكلة": r["نوع المشكلة"]||"",
 
397
  "المنطقة": r["المنطقة"]||"",
398
  "اسم المسح": r["المسح"]||"",
399
  "اسم المشغل": r["اسم صاحب المشكلة"]||"",
@@ -406,65 +406,6 @@ async function exportExcel(){
406
  };
407
  };
408
 
409
- const wb = new ExcelJS.Workbook();
410
- const ws = wb.addWorksheet("التذاكر", { views: [{ rightToLeft: true }] });
411
-
412
- const colWidths = [16,18,16,18,20,18,18,18,22,14,18];
413
- TEMPLATE_HEADERS.forEach((h,i)=> ws.getColumn(i+1).width = colWidths[i]||18);
414
-
415
- ws.addRow(TEMPLATE_HEADERS);
416
- const headerRow = ws.getRow(1);
417
- headerRow.height = 24;
418
- headerRow.eachCell((cell)=>{
419
- cell.font = { bold:true, color:{argb:"FFFFFFFF"} };
420
- cell.alignment = { horizontal:"center", vertical:"middle" };
421
- cell.fill = { type:"pattern", pattern:"solid", fgColor:{argb:"FF4137A8"} };
422
- cell.border = {
423
- top:{style:"thin",color:{argb:"FFCDD2E1"}},
424
- bottom:{style:"thin",color:{argb:"FFCDD2E1"}},
425
- left:{style:"thin",color:{argb:"FFE5E7EB"}},
426
- right:{style:"thin",color:{argb:"FFE5E7EB"}}
427
- };
428
- });
429
-
430
- const toTextCols = new Set(["رقم الجوال","رقم الهوية ID","رقم الجهاز"]);
431
- const rawRows = readTable();
432
- rawRows.forEach((r,idx)=>{
433
- const m = mapRow(r);
434
- const vals = TEMPLATE_HEADERS.map(h => (m[h] ?? ""));
435
- const row = ws.addRow(vals);
436
- row.alignment = { horizontal:"center", vertical:"middle" };
437
- const even = (idx % 2) === 1;
438
- row.eachCell((cell, colNumber)=>{
439
- cell.border = {
440
- top:{style:"thin",color:{argb:"FFE5E7EB"}},
441
- bottom:{style:"thin",color:{argb:"FFE5E7EB"}},
442
- left:{style:"thin",color:{argb:"FFE5E7EB"}},
443
- right:{style:"thin",color:{argb:"FFE5E7EB"}}
444
- };
445
- if(even) cell.fill = { type:"pattern", pattern:"solid", fgColor:{argb:"FFF5F8FF"} };
446
- const header = TEMPLATE_HEADERS[colNumber-1];
447
- if(toTextCols.has(header)) cell.value = String(cell.value ?? "");
448
- });
449
- });
450
-
451
- const ts = new Date().toISOString().replace(/\D/g,"").slice(0,14);
452
- const filename = `Ticket_${ts}.xlsx`;
453
- const buffer = await wb.xlsx.writeBuffer();
454
- const blob = new Blob([buffer], { type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" });
455
- const file = new File([blob], filename, { type: blob.type });
456
-
457
- if (navigator.canShare && navigator.canShare({ files: [file] })) {
458
- try { await navigator.share({ files:[file], title:"ملف التذاكر" }); toast("تمت المشاركة/الحفظ."); return; } catch(e){}
459
- }
460
- const url = URL.createObjectURL(blob);
461
- const a = document.createElement("a"); a.href=url; a.download=filename;
462
- document.body.appendChild(a); a.click(); a.remove();
463
- setTimeout(()=>URL.revokeObjectURL(url),1000);
464
- toast("تم تنزيل الملف بتنسيق القالب.");
465
- }
466
-
467
-
468
  const wb = new ExcelJS.Workbook();
469
  const ws = wb.addWorksheet("التذاكر", { views: [{ rightToLeft: true }] });
470
 
 
383
  if(!rows.length){ toast("لا يوجد بيانات لتصديرها."); return; }
384
 
385
  const TEMPLATE_HEADERS = [
386
+ "التصنيف","نوع المشكلة","وصف المشكلة","المنطقة","اسم المسح","اسم المشغل",
387
  "رقم الجوال","رقم الهوية ID","رقم الجهاز","تاريخ اليوم بالميلادي","الحالة","اسم الدعم الفني"
388
  ];
 
389
  const mapRow = (r)=>{
390
  const today = new Date();
391
  const yyyy=today.getFullYear(), mm=String(today.getMonth()+1).padStart(2,"0"), dd=String(today.getDate()).padStart(2,"0");
 
393
  return {
394
  "التصنيف": r["التصنيف"]||"",
395
  "نوع المشكلة": r["نوع المشكلة"]||"",
396
+ "وصف المشكلة": r["التصنيف"] || r["نوع المشكلة"] || "",
397
  "المنطقة": r["المنطقة"]||"",
398
  "اسم المسح": r["المسح"]||"",
399
  "اسم المشغل": r["اسم صاحب المشكلة"]||"",
 
406
  };
407
  };
408
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
409
  const wb = new ExcelJS.Workbook();
410
  const ws = wb.addWorksheet("التذاكر", { views: [{ rightToLeft: true }] });
411