Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
ÇÖZÜM: [Javascript] Sade Bir Tramer Görüntüsü Elde Etmek
#1
Merhaba sigortacı arkadaşlarım. Güncel tramer poliçe detay sorgu ekranının karışıklığından ve kullanım zorluğundan hepinizin şikayetci olduğunu düşünüyorum. Pek tabikide ben daha çok şikayetciyim. Kendim hazırlamış olduğum javascript kodunu, kullandığınız tarayıcıda JS inject eklentileri ile ekleyerek bu karışık görünümden kurtulabilirsiniz.

Mozilla için şu eklentiyi kullanabilirsiniz: https://addons.mozilla.org/tr/firefox/ad...-injector/


Kod:
////////////////////// TRAMER SORGU SAYFASI POLİÇE DETAYLARI TRAŞLAMA //////////////////////
if (document.location.href.includes('https://online.sbm.org.tr/ovm-police/police/list.sbm')) {

    const productMap = [
        ["KARAYOLU YOLCU TAŞIMACILIĞI ZORUNLU KOLTUK FERDİ KAZA", "Z.KOLTUK"],
        ["KARAYOLU YOLCU TAŞIMA ZORUNLU KOLTUK FERDİ KAZA SİGORTASI", "Z.KOLTUK"],
        ["KARAYOLU TAŞIMACILIĞI ZORUNLU KOLTUK FERDİ KAZA", "Z.KOLTUK"],
        ["KARAY.YOLCU TAŞ.ZOR.KOL.F.KAZA", "Z.KOLTUK"],
        ["ZORUNLU KOLTUK FERDİ KAZA", "Z.KOLTUK"],
        ["Z.KOLTUK SİG. POLİÇESİ", "Z.KOLTUK"],

        ["KARAYOLLARI MOTORLU ARAÇLAR ZORUNLU MALİ", "TRAFİK"],
        ["KARAYOLLARI MOTORLU ARAÇLAR ZORUNLU", "TRAFİK"],
        ["ZORUNLU KARAYOLU MALİ MESULİYET", "TRAFİK"],
        ["ZORUNLU MALİ SORUMLULUK", "TRAFİK"],

        ["OTO SİGORTALARI", "KASKO"],

        ["MOTORLU TAŞITLR İHTİYARİ MALİ SORUMLULUK", "IMM"],
        ["İHTİYARİ MALİ SORUMLULUK", "IMM"],
        ["IHTIYARI MALI MESULIYET", "IMM"],
        ["MOTORLU TAŞITLR IMM", "IMM"],
        ["DOĞA'L KORUMA SİGORTASI", "IMM"],
        ["DOĞAL KORUMA İŞYERİ MUHTEVİYAT SİGORTASI", "IMM"],
        ["MOT.K.TAŞ.İHT.MALİ.SORUMLULUK", "IMM"],
    ];

    const addendumMap = [

        ["İşleten Sıfatı Kaybı Nedeniyle İptal", "Vefat İptal"],
        ["İşleten Sıfatının Kaybedilmesi", "Vefat İptal"],
        ["İŞLETEN SIFATININ KAYBEDİLMESİ EKBELGESİ", "Vefat İptal"],
        ["İŞLETEN SIFATININ KAYBEDİLMESİ ZEYİLNAMESİ", "Vefat İptal"],

        ["Araç Grup Kodu Değişikliği", "K. Tarzı Değişikliği"],

        ["TRF Poliçe Bilgi Değişikliği", "Bilgi Düzeltme"],
        ["Sigortalı Bilgi Düzeltme Zeyli", "Bilgi Düzeltme"],

        ["Poliçe Referans Düzeltme", "Referans Düzeltme"],
        ["H.Kademe Değişikliği Zeyli", "Referans Düzeltme"],

        ["ARAÇ VE BİLGİ DEĞİŞİKLİĞİ", "Araç Değişikliği"],

        ["GENEL DEĞİŞİKLİK", "Genel Zeyil"],
        ["GENEL ZEYİL (İADE)", "Genel Zeyil"],
        ["GENEL ZEYİL -PRİM", "Genel Zeyil"],
        ["Genel Zeyl Girişi", "Genel Zeyil"],
        ["GENEL ZEYİL", "Genel Zeyil"],

        ["PRİMSİZ DÜZELTME", "Primsiz Düzeltme"],

        ["ANA POLİÇE", "Poliçe"],
        ["POLİÇE GİRİŞ", "Poliçe"],
        ["Poliçe Giriş", "Poliçe"],
        ["Teklif/Poliçe", "Poliçe"],
        ["POLİÇE", "Poliçe"],
        ["POLICE", "Poliçe"],

        ["Vade ortası Müşteri istegi ile Riskin Sona Ermesi", "Sigortalı Talebiyle"],
        ["SİGORTALI İSTEĞİ İLE İPTAL EK BELGESİ", "Sigortalı Talebiyle"],

    ];

    const LINE_COLUMN_COUNT = 14;
    let interval = 0;
    const trTableColumnLength = document.querySelectorAll("tr").length - 1;
    const plateChangeText = /PLAKA DEĞİŞİKLİĞİ|Plaka Değişikliği/i;
    const carChangeText = /ARAÇ DEĞİŞİKLİ|Araç Değişikli/i;
    const carInfoEditText = /ARAÇ BİLGİLERİ|Araç Bilgileri|ARAÇ BİLGİ|Araç Bilgi/i;
    const dmText = /DAİNİ|Daini|DAİN-İ/i;
    const beginningCancelledText = /Başlangıcından|KÖKTEN|MEBDEİNDEN|Kökten|BAŞLANGICINDAN|Başlangıçtan|Mebdeinden/i;
    const salesCancelledText = /SATIŞTAN|Satıştan|DEVİRDEN|Devirden|Satış Nedeniyle|SATIŞ NEDENİYLE/i;
    const salesCancelledTextV2 = /KISMİ|Kısmi|Kısmı|İSTEĞE BAĞLI İPTAL|İsteğe Bağlı İptal/i;
    let product;
    let companyAddendumType;
    let addendumType;

    const headerColumn = () => document.querySelectorAll("th");
    const dataColumn = () => document.querySelectorAll("td");

    headerColumn()[5].remove();
    headerColumn()[11].remove(); // orijinal sıra 12
    headerColumn()[11].remove(); // orijinal sıra 13
    headerColumn()[3].textContent = 'Tecrit';
    headerColumn()[4].textContent = 'Ürün';
    headerColumn()[5].textContent = 'Zeyil';
    headerColumn()[8].textContent = 'Tanzim tarihi';
    headerColumn()[9].textContent = 'Başlama tarihi';
    headerColumn()[10].textContent = 'Bitiş tarihi';
    headerColumn()[11].textContent = 'Hasar?'; //orijinal sıra 14

    function replace(object, find, replace) {

        if (object === product) {
            if (/KASKO|Birleşik|BENİM ARABAM/i.test(object.textContent)) object.textContent = "KASKO";
            if (/TRAFİK|Trafik/i.test(object.textContent)) object.textContent = "TRAFİK";
            if (/YEŞİL|Yeşil/i.test(object.textContent)) object.textContent = "YEŞİLKART";
        }
        if (object === addendumType || object === companyAddendumType) {
            if (plateChangeText.test(object.textContent)) object.textContent = "Plaka Değişikliği";
            if (carChangeText.test(object.textContent)) object.textContent = "Araç Değişikliği";
            if (carInfoEditText.test(object.textContent)) object.textContent = "Araç Bilgi Düzeltme";
            if (dmText.test(object.textContent)) object.textContent = "DM Zeyili";
            if (beginningCancelledText.test(object.textContent)) object.textContent = "Meb İptal";
            if (salesCancelledText.test(object.textContent)) object.textContent = "Satış İptal";
            if (salesCancelledTextV2.test(object.textContent)) object.textContent = "Kısmi İptal";
        }

        object.textContent = object.textContent.replace(find, replace)
    }

    for (let i = 0; i < trTableColumnLength; i++) {

        dataColumn()[5 + interval].remove();
        dataColumn()[11 + interval].remove();
        dataColumn()[11 + interval].remove();

        product = dataColumn()[4 + interval];
        productMap.forEach(p => replace(product, p[0], p[1]));

        addendumType = dataColumn()[6 + interval];
        addendumMap.forEach(p => replace(addendumType, p[0], p[1]));
        if (addendumType.textContent.includes("İptal")) addendumType.parentElement.style.color = "red";

        companyAddendumType = dataColumn()[7 + interval];
        addendumMap.forEach(p => replace(companyAddendumType, p[0], p[1]));

        dataColumn()[interval].textContent = dataColumn()[interval].textContent.replace("SİGORTA", '');
        dataColumn()[1 + interval].textContent = dataColumn()[1 + interval].textContent.substring(0, 25);

        // Tramer acente isimleri düzeltme / Acente ismi ve Acentelik Firma Kodları
        const replacementMap = {
            'Blabla SİGORTA': ['4554', '1212', '1233', '12123'],
            'Blabla Sigorta 2': ['100775', '400060', '324744']

        };
        const element = dataColumn()[1 + interval];
        const content = element.textContent;


        for (const name of Object.keys(replacementMap)) {
            const codeList = replacementMap[name];
            const matchingCode = codeList.find(code => content.includes(code));

            if (matchingCode) {
                element.textContent = `${matchingCode} - ${name}`;
                break;
            }
        } // Tramer acente isimleri düzeltme SON

        interval = interval + LINE_COLUMN_COUNT;
    }
    document.querySelector('div.polite__alert').remove();
}


Örnek Görünüm:
[Resim: iolckd2.png]
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  [Javascript] Javascript ile Sayfalandırma (Pagination System) root 0 5,041 23-09-2022, 21:59
Son Yorum: root
  [Javascript] Enter The Code in 6 Input Boxes Easily (Copy - Paste) root 0 7,820 16-08-2022, 14:37
Son Yorum: root
  [Javascript] Progress Bar Example root 0 7,837 13-08-2022, 11:41
Son Yorum: root
  [Javascript] Google Authenticator Code Generator root 0 7,942 08-08-2022, 19:31
Son Yorum: root
  [Javascript] Long Press And Edit Text root 0 7,962 04-08-2022, 15:57
Son Yorum: root
  Javascript Anahtar - Değer Şeklinde Dizi (Array) Kullanımı Administrator 0 11,180 17-11-2016, 21:41
Son Yorum: Administrator
  Yüklenen Sayfada Javascript Kodu Çalıştırma Administrator 0 8,463 26-11-2015, 15:15
Son Yorum: Administrator

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi