{"id":75,"date":"2025-08-06T15:26:59","date_gmt":"2025-08-06T12:26:59","guid":{"rendered":"https:\/\/yapekran.com\/?page_id=75"},"modified":"2025-10-23T21:56:34","modified_gmt":"2025-10-23T18:56:34","slug":"led-teklif-hesaplama","status":"publish","type":"page","link":"https:\/\/yapekran.com\/?page_id=75","title":{"rendered":"LED TEKL\u0130F HESAPLAMA"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n  <title>LED Ekran Teklif Hesaplay\u0131c\u0131<\/title>\n  <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\n  <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf-autotable\/3.8.2\/jspdf.plugin.autotable.min.js\"><\/script>\n  <style>\n    body { font-family: Arial, sans-serif; padding: 20px; background: #f5f5f5; }\n    select, button { padding: 10px; font-size: 16px; margin: 5px; }\n    .product-card { background: white; padding: 20px; margin: 20px 0; border-radius: 10px; box-shadow: 0 0 10px rgba(0,0,0,0.1); }\n    .product-card button { background-color: #dc3545; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; }\n  <\/style>\n<\/head>\n<body>\n  <h2>LED Ekran Teklif Hesaplay\u0131c\u0131<\/h2>\n  <select id=\"kategori\">\n    <option disabled selected>Kategori Se\u00e7in<\/option>\n    <option>\u0130\u00e7 Mekan<\/option>\n    <option>D\u0131\u015f Mekan<\/option>\n  <\/select>\n  <select id=\"yukseklik\"><\/select>\n  <select id=\"genislik\"><\/select>\n  <button onclick=\"hesapla()\">HESAPLA<\/button>\n  <div id=\"sonuclar\"><\/div>\n\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n  const yukseklik = document.getElementById(\"yukseklik\");\n  const genislik = document.getElementById(\"genislik\");\n\n  for(let i=16;i<=1120;i+=16) {\n    yukseklik.innerHTML += `<option value=\"${i}\">${i} cm<\/option>`;\n  }\n  for(let i=32;i<=2240;i+=32) {\n    genislik.innerHTML += `<option value=\"${i}\">${i} cm<\/option>`;\n  }\n});\n\nconst teknik = {\n  modul: {\n    firma: \"Qiang Li\", olcu: \"320*160*17.5mm\", cozunurluk: \"128x64 Piksel\", renk: \"4398 Milyar\", \n    tarama: \">1\/4 Scan\", omur: \"100.000 Saat\", yenileme: \"3840Hz\", parlaklik: \"800-1200cd\/m2\", cip: \"Kinglight\"\n  },\n  kontrol: {\n    ozellik: \"Senkron \/ Asenkron\", kartlar: [\n      { ad: \"HD D16\",  maxPixel: 40960,   fiyat: 60 },\n      { ad: \"HD C08L\", maxPixel: 166608,  fiyat: 75 },\n      { ad: \"HD C16L\", maxPixel: 655360,  fiyat: 75 },\n      { ad: \"HD A6L\",  maxPixel: 2304000, fiyat: 300 },\n      { ad: \"HD A7\",   maxPixel: 5160960, fiyat: 1500 },\n      { ad: \"HD A8\",   maxPixel: 8294400, fiyat: 2100 }\n    ],\n    format: \"Bmp, Jpg, Jpeg, Png, Ppm, Pgm, Xpm, Xbm\",\n    video: \"Mp4, Avi, Mkv, Mov, Flv, Wmv\"\n  },\n  genel: {\n    kabinTipi: \"Sabit Kurulum\", guc: \"1200W\", voltaj: \"220V\", ip: {\"\u0130\u00e7 Mekan\": \"IP40\", \"D\u0131\u015f Mekan\": \"IP65\"}, \n    mesafe: \"2.5 m\", kaynak: \"5 Volt 60 Amper\"\n  }\n};\n\n\/\/ 1 panel = 16 cm (Y) x 32 cm (G) i\u00e7in piksel say\u0131lar\u0131 (senin verdi\u011fin de\u011ferlere g\u00f6re)\nconst pixelData = {\n  \"P1.86\": 14792,\n  \"P2.5\": 8192,\n  \"P3\": 5408,\n  \"P4\": 3200,\n  \"P5\": 2048,\n  \"P10\": 512,\n  \"P2.5 GOB\": 8192,\n  \"P1.86 GOB\": 14792\n};\n\nconst fiyatlar = {\n  \"\u0130\u00e7 Mekan\": { \"P1.86\": 27, \"P2.5\": 15, \"P3\": 13, \"P4\": 10, \"P2.5 GOB\": 21, \"P1.86 GOB\": 30 },\n  \"D\u0131\u015f Mekan\": { \"P2.5\": 34, \"P3\": 25, \"P4\": 16.5, \"P5\": 12.5, \"P10\": 7.5 }\n};\n\n\/\/ Kar marjlar\u0131 (maliyet \u00e7arpan\u0131) \u2014 her ikisi de %50\nconst karMarjlari = {\n  \"\u0130\u00e7 Mekan\": 1.50,\n  \"D\u0131\u015f Mekan\": 1.50\n};\n\n\/\/ SADECE PDF \u0130\u00c7\u0130N T\u00fcrk\u00e7e karakterleri ASCII'ye \u00e7evir\nfunction trToAscii(s) {\n  if (typeof s !== \"string\") return s;\n  return s\n    .replaceAll(\"\u0131\",\"i\").replaceAll(\"\u0130\",\"I\")\n    .replaceAll(\"\u015f\",\"s\").replaceAll(\"\u015e\",\"S\")\n    .replaceAll(\"\u00f6\",\"o\").replaceAll(\"\u00d6\",\"O\")\n    .replaceAll(\"\u00fc\",\"u\").replaceAll(\"\u00dc\",\"U\")\n    .replaceAll(\"\u00e7\",\"c\").replaceAll(\"\u00c7\",\"C\")\n    .replaceAll(\"\u011f\",\"g\").replaceAll(\"\u011e\",\"G\");\n}\n\n\/\/ ------------------ YARDIMCI HESAPLAMALAR ------------------ \/\/\nfunction kartSec(toplamPixel) {\n  return teknik.kontrol.kartlar.find(kart => toplamPixel <= kart.maxPixel);\n}\n\nfunction adapt\u00f6rSayisi(kategori, panelSayisi) {\n  if (kategori === \"\u0130\u00e7 Mekan\") {\n    return Math.max(1, Math.ceil(panelSayisi \/ 10));\n  } else {\n    return Math.max(1, Math.ceil(panelSayisi \/ 6));\n  }\n}\n\nfunction recieverSayisi(panelSayisi) {\n  if (panelSayisi <= 12) return 0;\n  return Math.ceil(panelSayisi \/ 12) - 1;\n}\n\nfunction kasaUcreti(y, g) {\n  const alan = (y * g) \/ 10000; \/\/ m\u00b2\n  return alan * 65;\n}\n\n\/\/ ------------------ ANA HESAPLAMA ------------------ \/\/\nfunction hesapla() {\n  const k = document.getElementById(\"kategori\").value;\n  const y = parseInt(document.getElementById(\"yukseklik\").value);\n  const g = parseInt(document.getElementById(\"genislik\").value);\n  if (!k || isNaN(y) || isNaN(g)) return;\n\n  const panelSayisi = (y \/ 16) * (g \/ 32);\n  const div = document.getElementById(\"sonuclar\");\n  let html = \"\";\n\n  for (const model in fiyatlar[k]) {\n    const birim = fiyatlar[k][model];\n    const pixelPerPanel = pixelData[model];\n    const toplamPixel = Math.round(panelSayisi * pixelPerPanel);\n    const kart = kartSec(toplamPixel);\n\n    const kasa = kasaUcreti(y, g);\n    const adapt\u00f6r = adapt\u00f6rSayisi(k, panelSayisi) * 13.5;\n    const reciever = recieverSayisi(panelSayisi) * 13.5;\n    const kartUcret = kart ? kart.fiyat : 0;\n\n    const araToplam = panelSayisi * birim + kasa + adapt\u00f6r + reciever + kartUcret;\n    const fiyat = araToplam * karMarjlari[k]; \/\/ kategoriye g\u00f6re %50\n\n    html += `<div class=\"product-card\">\n      <h3>${k} - ${model} Teklifi<\/h3>\n      <p>\n        Panel Say\u0131s\u0131: ${panelSayisi.toFixed(0)}<br>\n        Toplam Piksel: ${toplamPixel.toLocaleString()}<br>\n        Kart T\u00fcr\u00fc: ${kart ? kart.ad : \"Uygun kontrol kart\u0131 bulunamad\u0131\"}<br>\n        <b>Toplam Fiyat: $${fiyat.toFixed(2)}<\/b>\n      <\/p>\n      <button onclick=\"indirPDF('${k}', '${model}', '${y}cm x ${g}cm', '${toplamPixel.toLocaleString()}', '${kart ? kart.ad : \"-\"}', '${fiyat.toFixed(2)}')\">PDF \u0130ndir<\/button>\n    <\/div>`;\n  }\n  div.innerHTML = html;\n}\n\n\/\/ ------------------ PDF ------------------ \/\/\nfunction indirPDF(kategori, model, olcu, pixel, kartAd, toplamFiyat) {\n  const { jsPDF } = window.jspdf;\n  const doc = new jsPDF();\n  const m = teknik.modul, k = teknik.kontrol, g = teknik.genel;\n\n  const olusturma = new Date();\n  const gecerlilik = new Date(olusturma);\n  gecerlilik.setDate(olusturma.getDate() + 7);\n  const olusturmaStr  = olusturma.toLocaleDateString(\"tr-TR\");\n  const gecerlilikStr = gecerlilik.toLocaleDateString(\"tr-TR\");\n\n  const t = trToAscii;\n\n  \/\/ \u00dcst bilgi\n  doc.setFont(\"times\", \"normal\");\n  doc.setFontSize(18); doc.setTextColor(255, 0, 0);\n  doc.text(t(\"YAPEKRAN\"), 195, 10, {align: \"right\"});\n  doc.setFontSize(9); doc.setTextColor(0, 0, 0);\n  doc.text(t(\"Telefon:0 212 220 26 50- 0 532 459 64 13\"), 195, 15, {align: \"right\"});\n  doc.text(t(\"Web Sitesi: www.yapekran.com\"), 195, 20, {align: \"right\"});\n  doc.text(t(\"E-posta: info@yapekran.com\"), 195, 25, {align: \"right\"});\n\n  \/\/ Ba\u015fl\u0131k\n  doc.setFontSize(14); doc.setTextColor(0, 0, 139);\n  doc.text(t(\"YAPEKRAN Teklif Bilgileri\"), 15, 35);\n\n  \/\/ \u00dcr\u00fcn Bilgileri\n  doc.setFillColor(255, 0, 0); doc.setTextColor(255, 255, 255);\n  doc.rect(15, 40, 180, 7, 'F'); doc.text(t(\"\u00dcr\u00fcn Bilgileri\"), 17, 45);\n\n  doc.autoTable({\n    startY: 48,\n    body: [\n      [t(\"Firma \/ Kurum\"), t(\"YAPEKRAN\")],\n      [t(\"\u00dcr\u00fcn \u00d6zeti\"), t(model + \" - LED Ekran - \" + olcu)],\n      [t(\"Kart T\u00fcr\u00fc\"), t(kartAd)],\n      [t(\"Fiyat Teklifi\"), t(\"$\" + toplamFiyat)],\n      [t(\"Teklif Tarihi\"), t(olusturmaStr)],\n      [t(\"Ge\u00e7erlilik Tarihi\"), t(gecerlilikStr)]\n    ],\n    theme:'grid',\n    styles:{ font: \"times\", fontSize:9, textColor:[0,0,0] },\n    columnStyles:{0:{fontStyle:'bold'}},\n    useCss: true\n  });\n\n  \/\/ Teknik \u00d6zellikler\n  doc.setFillColor(255, 0, 0); doc.setTextColor(255, 255, 255);\n  doc.rect(15, doc.lastAutoTable.finalY + 5, 180, 7, 'F');\n  doc.text(t(\"Teknik \u00d6zellikler\"), 17, doc.lastAutoTable.finalY + 10);\n\n  doc.autoTable({\n    startY: doc.lastAutoTable.finalY + 12,\n    body: [\n      [t(\"Panel Alan\u0131\"), t(kategori)],\n      [t(\"Ekran \u00d6l\u00e7\u00fcs\u00fc\"), t(olcu)],\n      [t(\"Toplam Piksel\"), t(pixel)],\n      [t(\"G\u00f6r\u00fcnt\u00fc Deste\u011fi\"), t(\"HD\")],\n      [t(\"Kabin Tipi\"), t(g.kabinTipi)],\n      [t(\"IP S\u0131n\u0131f\u0131\"), t(g.ip[kategori])],\n      [t(\"\u00c7al\u0131\u015fma Voltaj\u0131\"), t(g.voltaj)],\n      [t(\"G\u00fc\u00e7 Kayna\u011f\u0131\"), t(g.kaynak)],\n      [t(\"LED \u00d6mr\u00fc\"), t(m.omur)],\n      [t(\"Yenileme H\u0131z\u0131\"), t(m.yenileme)],\n      [t(\"LED T\u00fcr\u00fc\"), t(m.cip)],\n      [t(\"Video Formatlar\u0131\"), t(k.video)],\n      [t(\"Resim Formatlar\u0131\"), t(k.format)]\n    ],\n    theme:'grid',\n    styles:{ font: \"times\", fontSize:9, textColor:[0,0,0] },\n    columnStyles:{0:{fontStyle:'bold'}},\n    useCss: true\n  });\n\n  \/\/ Toplam Fiyat\n  doc.setTextColor(0, 128, 0); doc.setFontSize(12);\n  doc.text(t(\"Toplam Teklif: $\") + toplamFiyat, 200, doc.lastAutoTable.finalY + 10, {align: 'right'});\n\n  \/\/ Teklif \u015eartlar\u0131\n  const startY = doc.lastAutoTable.finalY + 18;\n  doc.setFillColor(255, 0, 0); doc.setTextColor(255, 255, 255);\n  doc.rect(15, startY - 5, 180, 7, 'F');\n  doc.text(t(\"Teklif \u015eartlar\u0131\"), 17, startY);\n\n  doc.setTextColor(0,0,0); doc.setFontSize(9);\n  const terms = [\n    t(`1) Bu teklif ${olusturmaStr} tarihinde olu\u015fturulmu\u015ftur ve ${gecerlilikStr} tarihine kadar ge\u00e7erlidir.`),\n    t(\"2) Fiyatlara 2 y\u0131l sistem ve servis garantisi + 2 y\u0131l par\u00e7a temini garantisi dahildir.\"),\n    t(\"3) Cihaza enerji ve data hatt\u0131n\u0131n \u00e7ekilmesi m\u00fc\u015fteriye aittir.\"),\n    t(\"4) Sistem kurulumu ve i\u015fletimi ile ilgili t\u00fcm resmi izinler m\u00fc\u015fteri sorumlulugundadir.\"),\n    t(\"5) Kasa montaji ve modul birlesimlerinde milimetrik bosluklar olabilir.\")\n  ];\n  let y = startY + 6;\n  terms.forEach(txt => {\n    const wrapped = doc.splitTextToSize(txt, 180);\n    doc.text(wrapped, 15, y);\n    y += wrapped.length * 5 + 2;\n  });\n\n  doc.save(trToAscii(model) + \"_Teklif.pdf\");\n}\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>LED Ekran Teklif Hesaplay\u0131c\u0131 LED Ekran Teklif Hesaplay\u0131c\u0131 Kategori Se\u00e7in\u0130\u00e7 MekanD\u0131\u015f Mekan HESAPLA<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-75","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/yapekran.com\/index.php?rest_route=\/wp\/v2\/pages\/75","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yapekran.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/yapekran.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/yapekran.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yapekran.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=75"}],"version-history":[{"count":9,"href":"https:\/\/yapekran.com\/index.php?rest_route=\/wp\/v2\/pages\/75\/revisions"}],"predecessor-version":[{"id":248,"href":"https:\/\/yapekran.com\/index.php?rest_route=\/wp\/v2\/pages\/75\/revisions\/248"}],"wp:attachment":[{"href":"https:\/\/yapekran.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}