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/
Örnek Görünüm:
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:

