var PERMISSIONS = []; var excelDatepickerFirstTable = {}; var damege_item_counter = 0; var damage_items = ''; // map variables var addMap = null; var editMap = null; var mapShow; var mapShow_all; var markerAdd; var markerEdit; var isSetMarkerAdd = false; var isSetMarkerEdit = false; var showMapMarker; var markerEdit; // end map variables // date/time picker variable var date_add; var police_date_add; var time_add; var date_edit; var police_date_edit; var time_edit; var filter_date_from; // end date/time picker variable // api list var damage_api = "/v2/receipt/get-damages"; var permissions_api = "/webapi/user/get-permission"; var province_api = "/webapi/getuser/province-perm"; var receipt_show = "/v2/receipt/show"; var receipt_add_api = "/v2/receipt/store"; var receipt_edit_api = "/v2/receipt/update/"; var receipt_delete_api = "/v2/receipt/delete/"; var mapUrl = "https://rmsmap.rmto.ir/141map/"; var city_api = "/public/contents/provinces/"; var accident_type_api = "/daily_accident/accident_types"; var payment_info_api = "/v2/receipt/upload-payment-info/"; var get_all_info_api = "/v2/receipt/"; var sendToInsurance = "/v2/receipt/send-to-insurance/"; var sendToDaghi = "/v2/receipt/send-to-daghi/"; var documentRelease = "/v2/receipt/document-release/"; var invoice_bill_api = "/v2/receipt/invoice-bill/"; var send_sms_again = "/v2/receipt/send-sms-again/"; var call_payment_status_api = "/v2/receipt/call-payment-status/"; // end api list // icon static var divIcon = L.divIcon({ html: `
مکان
`, iconSize: [55, 75], iconAnchor: [33, 64], }); var divIconEdit = L.divIcon({ html: `
مکان
`, iconSize: [55, 75], iconAnchor: [33, 64], }); // end icon static // functions $("[data-mask]").inputmask(); //// loader function showLoaderScreen() { $(".divloader").css("display", "flex").hide().fadeIn(); } function hideLoaderScreen() { $(".divloader").fadeOut(); } //// end loader //// recive receipt items function DamageItem() { $("#add_Receipt_modal").find("#damage_items_add0").empty(); $("#edit_Receipt_modal").find("#damage_items_edit0").empty(); $("#add_Receipt_modal").find("#damage_items_add0").append(``); $("#edit_Receipt_modal").find("#damage_items_edit0").append(``); damage_items += ``; $.ajax({ url: damage_api, type: "GET", cache: false, async: false, contentType: false, processData: false, success: function (results) { results.forEach(function (result) { $("#add_Receipt_modal").find("#damage_items_add0").append(``); $("#edit_Receipt_modal").find("#damage_items_edit0").append(``); damage_items += ``; }); }, error: function () { Swal.fire({ icon: "error", title: "خطا", text: "مشکل در دریافت آیتم های خسارت وارده", confirmButtonText: "بروزرسانی صفحه", showLoaderOnConfirm: true, preConfirm: () => { location.reload(true); }, }); }, }); } //// end recive receipt items function accident_type() { $("#add_Receipt_modal").find("#accident_type_add").empty(); $("#edit_Receipt_modal").find("#accident_type_edit").empty(); $("#add_Receipt_modal").find("#accident_type_add").append(``); $("#edit_Receipt_modal").find("#accident_type_edit").append(``); $.ajax({ url: accident_type_api, type: "GET", cache: false, async: false, contentType: false, processData: false, success: function (results) { results.forEach(function (result) { $("#add_Receipt_modal").find("#accident_type_add").append(``); $("#edit_Receipt_modal").find("#accident_type_edit").append(``); }); }, error: function () { Swal.fire({ icon: "error", title: "خطا", text: "مشکل در دریافت آیتم های خسارت وارده", confirmButtonText: "بروزرسانی صفحه", showLoaderOnConfirm: true, preConfirm: () => { location.reload(true); }, }); }, }); } //// end recive receipt items //// create map add function createAddMap(modal) { return new Promise(resolve => { setTimeout(() => { const bounds = [ [42.9130026312, 75.6166317076], [20.5782370061, 35.5092252948], ]; if (addMap != null) { addMap.setView([35.7065, 51.3477], 7) markerAdd.setLatLng(L.latLng([35.7065, 51.3477])); modal.find("#pin_marker").removeClass("pin-move pin-set"); } else { addMap = L.map("add_map", { maxBounds: bounds, minZoom: 6, attributionControl: false }).setView([35.7065, 51.3477], 7); L.tileLayer(`${mapUrl}{z}/{x}/{y}.png`, {}).addTo(addMap); setMarkerDefaultAdd(modal); } resolve() }, 400) }) } //// end create map add //// create map edit function createEditMap(modal, lat, lng) { return new Promise(resolve => { var bounds = [ [42.9130026312, 75.6166317076], [20.5782370061, 35.5092252948], ]; setTimeout(() => { if (editMap != null) { editMap.setView([lat, lng], 7) markerEdit.setLatLng(L.latLng([lat, lng])); } else { editMap = L.map("edit_map", { maxBounds: bounds, minZoom: 6, attributionControl: false }).setView([lat, lng], 7); L.tileLayer(`${mapUrl}{z}/{x}/{y}.png`, {}).addTo(editMap); setMarkerDefaultEdit(modal, lat, lng); } resolve() }, 400) }) } //// end create map edit function setMarkerDefaultEdit(modal, lat, lng) { isSetMarkerEdit = false; modal.find("#accident_point_map").val(""); markerEdit = new L.marker([lat, lng], { icon: divIcon, draggable: true, }).addTo(editMap); modal.find("#pin_marker").removeClass("pin-move pin-warn").addClass("pin-set"); markerEdit.on("click", function () { if (!isSetMarkerEdit) { markerEdit.setLatLng(L.latLng(editMap.getCenter())); isSetMarkerEdit = true; modal.find("#pin_marker") .removeClass("pin-move pin-warn") .addClass("pin-set"); modal.find("#accident_point_map").val( markerEdit.getLatLng().lat.toFixed(6) + markerEdit.getLatLng().lng.toFixed(6) ); modal.find("#accident_point_map").removeClass("validity-checker"); } markerEdit.addTo(editMap); $(this).hide(); modal.find("#pin_marker").removeClass("pin-move pin-warn").addClass("pin-set"); }); markerEdit.on("drag", function () { modal.find("#pin_marker").addClass("pin-move"); }); markerEdit.on("dragend", function () { modal.find("#pin_marker").removeClass("pin-move"); if (modal.find("#pin_marker").hasClass("pin-set") || isSetMarkerEdit) { modal.find("#pin_marker").addClass("pin-set"); modal.find("#accident_point_map").val( markerEdit.getLatLng().lat.toFixed(6) + markerEdit.getLatLng().lng.toFixed(6) ); $("#edit_project_start_map").val( markerEdit.getLatLng().lat.toFixed(6) + markerEdit.getLatLng().lng.toFixed(6) ); modal.find("#accident_point_map").removeClass("validity-checker"); } else { editMap.setView(markerEdit.getLatLng()); modal.find("#pin_marker").addClass("pin-set"); $("#edit_project_start_map").val( markerEdit.getLatLng().lat.toFixed(6) + markerEdit.getLatLng().lng.toFixed(6) ); } }); } //// set marker [add] function setMarkerDefaultAdd(modal) { isSetMarkerAdd = false; modal.find("#pin_marker").removeClass("pin-set"); modal.find("#accident_point_map").val(""); modal.find("#add_project_start_map").val(""); markerAdd = new L.marker([35.7065, 51.3477], { icon: divIcon, draggable: true, }).addTo(addMap); addMap.on("move", function () { if (!isSetMarkerAdd) { markerAdd.setLatLng(L.latLng(addMap.getCenter())); modal.find("#pin_marker").removeClass("pin-set").addClass("pin-move"); } }); addMap.on("moveend", function () { if (!isSetMarkerAdd) { markerAdd.setLatLng(L.latLng(addMap.getCenter())); modal.find("#pin_marker").removeClass("pin-move pin-set"); } }); markerAdd.on("click", function () { if (!isSetMarkerAdd) { markerAdd.setLatLng(L.latLng(addMap.getCenter())); isSetMarkerAdd = true; modal.find("#pin_marker") .removeClass("pin-move pin-warn") .addClass("pin-set"); modal.find("#accident_point_map").val( markerAdd.getLatLng().lat.toFixed(6) + markerAdd.getLatLng().lng.toFixed(6) ); modal.find("#accident_point_map").removeClass("validity-checker"); $("#add_project_start_map").val( markerAdd.getLatLng().lat.toFixed(6) + markerAdd.getLatLng().lng.toFixed(6) ); } markerAdd.addTo(addMap); $(this).hide(); modal.find("#pin_marker").removeClass("pin-move pin-warn").addClass("pin-set"); }); markerAdd.on("drag", function () { modal.find("#pin_marker").addClass("pin-move"); }); markerAdd.on("dragend", function () { modal.find("#pin_marker").removeClass("pin-move"); if (modal.find("#pin_marker").hasClass("pin-set") || isSetMarkerAdd) { modal.find("#pin_marker").addClass("pin-set"); modal.find("#accident_point_map").val( markerAdd.getLatLng().lat.toFixed(6) + markerAdd.getLatLng().lng.toFixed(6) ); $("#add_project_start_map").val( markerAdd.getLatLng().lat.toFixed(6) + markerAdd.getLatLng().lng.toFixed(6) ); modal.find("#accident_point_map").removeClass("validity-checker"); } else { addMap.setView(markerAdd.getLatLng()); } }); } //// end set marker //// build show map function buildMapShowAndMarker(position) { return new Promise(function (resolve) { setTimeout(() => { const bounds = [ [42.9130026312, 75.6166317076], [20.5782370061, 35.5092252948], ]; mapShow = L.map("map_show", { maxBounds: bounds, minZoom: 6, zoomControl: false, attributionControl: false }).setView(position, 7); mapShow.invalidateSize(); L.tileLayer(`${mapUrl}/{z}/{x}/{y}.png`, {}).addTo(mapShow); showMapMarker = L.marker(position, { icon: divIcon }).addTo(mapShow); resolve(); }, 200) }); } function buildMapShowAndMarker_all(position) { return new Promise(function (resolve) { setTimeout(() => { const bounds = [ [42.9130026312, 75.6166317076], [20.5782370061, 35.5092252948], ]; mapShow_all = L.map("map_show_all", { maxBounds: bounds, minZoom: 6, zoomControl: false, attributionControl: false }).setView(position, 7); mapShow_all.invalidateSize(); L.tileLayer(`${mapUrl}/{z}/{x}/{y}.png`, {}).addTo(mapShow_all); showMapMarker = L.marker(position, { icon: divIcon }).addTo(mapShow_all); resolve(); }, 200) }); } //// end build show map //// relocate show map function changePositionMarkerInMapShow(position) { return new Promise(function (resolve) { setTimeout(() => { mapShow.setView(position, 7); mapShow.invalidateSize(); showMapMarker.setLatLng(position) resolve(); }, 200) }); } function changePositionMarkerInMapShow_all(position) { return new Promise(function (resolve) { setTimeout(() => { mapShow_all.setView(position, 7); mapShow_all.invalidateSize(); showMapMarker.setLatLng(position) resolve(); }, 200) }); } //// end relocate show map //// excel datepicker excelDatepickerFirstTable.from = $( "#datapicker-from-excel-table" ).persianDatepicker({ format: "YYYY/MM/DD", autoClose: true, onSelect: function (unix) { excelDatepickerFirstTable.from.touched = true; $("#datapicker-to-excel-table").prop("disabled", ""); if ( excelDatepickerFirstTable.from.getState().selected.unixDate >= excelDatepickerFirstTable.to.getState().selected.unixDate ) { excelDatepickerFirstTable.to.setDate( excelDatepickerFirstTable.from.getState().selected.unixDate ); } if ( excelDatepickerFirstTable.to && excelDatepickerFirstTable.to.options && excelDatepickerFirstTable.to.options.minDate != unix ) { let cachedValue = excelDatepickerFirstTable.to.getState().selected.unixDate; excelDatepickerFirstTable.to.options = { minDate: unix }; if (excelDatepickerFirstTable.from.touched) { excelDatepickerFirstTable.to.setDate(cachedValue); } } }, }); excelDatepickerFirstTable.to = $( "#datapicker-to-excel-table" ).persianDatepicker({ format: "YYYY/MM/DD", autoClose: true, onSelect: function (unix) { excelDatepickerFirstTable.to.touched = true; }, }); //// end excel datepicker // just persian text accept function restrictInputOtherThanArabic($field) { var arabicCharUnicodeRange = /[\u0600-\u06FF-0-9-45]/; $field.bind("keypress", function (event) { var key = event.which; if (key == 8 || key == 0 || key === 32) { return true; } var str = String.fromCharCode(key); if (arabicCharUnicodeRange.test(str)) { return true; } return false; }); } // end just persian text accept $("#add_project_start_map").on("keyup", function () { checkStartMarkerValidation(); if ($(this).val() == "") { markerAdd.setLatLng(L.latLng([35.7065, 51.3477])); addMap.setView(L.latLng([35.7065, 51.3477])); } }); $("#edit_project_start_map").on("keyup", function () { checkStartMarkerValidationEdit(); if ($(this).val() == "") { $("#pin_marker").removeClass("pin-move pin-set"); markerEdit.setLatLng(L.latLng([35.7065, 51.3477])); editMap.setView(L.latLng([35.7065, 51.3477])); } }); function checkStartMarkerValidation(forSaveData = false, pageOnLoad = false) { let reg = /^([0-9]){2}\.([0-9])+$/; let endLatLngVal = $("#add_project_start_map") .val() .split(" - "); let endLatLng = endLatLngVal.map(function (e) { e = e.replace(/_/g, ""); return parseFloat(e.slice(1, -1)); }); if (isNaN(endLatLng[0])) { if (!forSaveData) { $("#add_project_start_map").removeClass( "is-invalid-input" ); } else { $("#add_project_start_map").addClass( "is-invalid-input" ); } $("#pin_marker").removeClass("pin-move pin-set"); $("#add_project_start_map").val(""); $("#add_project_start_map").attr( "placeholder", "(پایان) => (عرض جغرافیایی) - (طول جغرافیایی)" ); return false; } else if (!endLatLng == 2 || !reg.test(endLatLng[0]) || !reg.test(endLatLng[1]) ) { $("#add_project_start_map").addClass( "is-invalid-input" ); $("#pin_marker").removeClass("pin-move pin-set"); return false; } else { if (!forSaveData) { $("#add_project_start_map").removeClass( "is-invalid-input" ); markerAdd.setLatLng(endLatLng); isSetMarkerAdd = true; if (pageOnLoad) { setTimeout(() => { $("#pin_marker").removeClass("pin-move").addClass("pin-set"); markerAdd.setLatLng(endLatLng); }, 10); } else { $("#pin_marker").removeClass("pin-move").addClass("pin-set"); } let markerLatLng = [ markerAdd.getLatLng().lat, markerAdd.getLatLng().lng + 0.0008, ]; addMap.setView(markerLatLng); isSetMarkerAdd = true; } return true; } } function checkStartMarkerValidationEdit(forSaveData = false, pageOnLoad = false) { let reg = /^([0-9]){2}\.([0-9])+$/; let endLatLngVal = $("#edit_project_start_map") .val() .split(" - "); let endLatLng = endLatLngVal.map(function (e) { e = e.replace(/_/g, ""); return parseFloat(e.slice(1, -1)); }); if (isNaN(endLatLng[0])) { if (!forSaveData) { $("#edit_project_start_map").removeClass("is-invalid-input"); } else { $("#edit_project_start_map").addClass("is-invalid-input"); } $("#pin_marker_edit").removeClass("pin-move pin-set"); $("#edit_project_start_map").val(""); $("#edit_project_start_map").attr("placeholder", "(پایان) => (عرض جغرافیایی) - (طول جغرافیایی)"); return false; } else if (!endLatLng == 2 || !reg.test(endLatLng[0]) || !reg.test(endLatLng[1]) ) { $("#edit_project_start_map").addClass("is-invalid-input"); $("#pin_marker_edit").removeClass("pin-move pin-set"); return false; } else { if (!forSaveData) { $("#edit_project_start_map").removeClass("is-invalid-input"); markerEdit.setLatLng(endLatLng); isSetMarkerEdit = true; if (pageOnLoad) { setTimeout(() => { $("#pin_marker_edit").removeClass("pin-move").addClass("pin-set"); markerEdit.setLatLng(endLatLng); }, 10); } else { $("#pin_marker_edit").removeClass("pin-move").addClass("pin-set"); } let markerLatLng = [ markerEdit.getLatLng().lat, markerEdit.getLatLng().lng + 0.0008, ]; editMap.setView(markerLatLng); isSetMarkerEdit = true; } return true; } } // end functions $(document).bind("click", function (e) { const clicked = $(e.target); if (clicked.parents(".toolbox").length != 0) return false; if (clicked.parents(".datepicker-grid-view").length != 0) return false; if (clicked.parents(".datepicker-navigator").length != 0) return false; if (clicked.parents(".datepicker-container").length != 0) return false; if (clicked.parents(".select2-selection__choice").length != 0) return false; if ( clicked.closest(".btn-table-filter").length == 0 && clicked.closest(".parent-filter").length == 0 && $(".parent-filter").css("display") != "none" ) { $(".parent-filter").css("display", "none"); } if ( clicked.closest(".btn-table-excel").length == 0 && clicked.closest(".parent-excel").length == 0 && $(".parent-excel").css("display") != "none" ) { $(".parent-excel").css("display", "none"); } }); $(document).ready(function () { restrictInputOtherThanArabic($("input[type=text]")); // date/time picker date_add = $("#add_Receipt_modal").find('#date_add').persianDatepicker({ format: "YYYY/MM/DD", autoClose: true, initialValue: false, onSelect: function (unix) { $("#add_Receipt_modal").find('#add_day_of_the_week').val( new persianDate([date_add.getState().selected.year, date_add.getState().selected.month, date_add.getState().selected.date]).format('dddd')); police_date_add.options = { minDate: unix } if (unix > police_date_add.getState().selected.unixDate) { police_date_add.setDate(+moment()) $("#add_Receipt_modal").find('#police_date_add').val('') } } }); police_date_add = $("#add_Receipt_modal").find('#police_date_add').persianDatepicker({ format: "YYYY/MM/DD", autoClose: true, initialValue: false, onSelect: function (unix) { $("#add_Receipt_modal").find('#add_day_of_the_week').val( new persianDate([police_date_add.getState().selected.year, police_date_add.getState().selected.month, police_date_add.getState().selected.date]).format('dddd')); } }); time_add = $("#add_Receipt_modal").find('#time_add').persianDatepicker({ format: "HH:mm", autoClose: true, initialValue: false, onlyTimePicker: true, timePicker: { second: { enabled: false, } } }); date_edit = $("#edit_Receipt_modal").find('#date_edit').persianDatepicker({ format: "YYYY/MM/DD", autoClose: true, initialValue: false, onSelect: function (unix) { $("#edit_Receipt_modal").find('#edit_day_of_the_week').val( new persianDate([date_edit.getState().selected.year, date_edit.getState().selected.month, date_edit.getState().selected.date]).format('dddd')); police_date_edit.options = { minDate: unix } if (unix > police_date_edit.getState().selected.unixDate) { police_date_edit.setDate(+moment()) $("#edit_Receipt_modal").find('#police_date_edit').val('') } } }); police_date_edit = $("#edit_Receipt_modal").find('#police_date_edit').persianDatepicker({ format: "YYYY/MM/DD", autoClose: true, initialValue: false, onSelect: function (unix) { $("#edit_Receipt_modal").find('#edit_day_of_the_week').val( new persianDate([police_date_edit.getState().selected.year, police_date_edit.getState().selected.month, police_date_edit.getState().selected.date]).format('dddd')); } }); time_edit = $("#edit_Receipt_modal").find('#time_edit').persianDatepicker({ format: "HH:mm", autoClose: true, initialValue: false, onlyTimePicker: true, timePicker: { second: { enabled: false, } } }); filter_date_from = $(".parent-filter").find('#filter_date_from').persianDatepicker({ format: "YYYY/MM/DD", initialValue: false, autoClose: true, initialValueType: "persian", }); // end date/time picker DamageItem(); accident_type() //permission //// get PERMISSIONS list $.ajax({ url: permissions_api, type: "GET", cache: false, async: false, contentType: false, processData: false, success: function (result) { PERMISSIONS = result.data; }, error: function () { Swal.fire({ icon: "error", title: "خطا", text: "مشکل در دریافت سطوح دسترسی", confirmButtonText: "بروزرسانی صفحه", showLoaderOnConfirm: true, preConfirm: () => { location.reload(true); }, }); }, }); //// end get PERMISSIONS list if ($.inArray("add-receipt", PERMISSIONS) != -1 || $.inArray("add-receipt-province", PERMISSIONS) != -1) $('#Receipt_add').removeClass('d-none') else $('#Receipt_add').remove() //// province permission if ($.inArray("add-receipt", PERMISSIONS) != -1 || $.inArray("add-receipt-province", PERMISSIONS) != -1) { $.ajax({ url: province_api + (($.inArray("add-receipt", PERMISSIONS) != -1 ? "?type=all" : "")), type: "GET", beforeSend: function () { showLoaderScreen(); }, success: function (result) { const provinces = result.data; const addModal = $("#add_Receipt_modal"); const editModal = $("#edit_Receipt_modal"); addModal.find("#province_add").empty(); editModal.find("#province_edit").empty(); $("#filter_province").empty(); addModal.find("#province_add").append(''); editModal.find("#province_edit").append(''); $("#filter_province").append(''); $("#select-province-excel").append(''); for (let index = 0; index < provinces.length; index++) { addModal.find("#province_add").append(``); editModal.find("#province_edit").append(``); $("#filter_province").append(``); $("#select-province-excel").append(""); } hideLoaderScreen(); }, error: function (error) { hideLoaderScreen(); Swal.fire({ icon: "error", title: "خطا", text: "مشکل در دریافت استان ها", confirmButtonText: "بروزرسانی صفحه", showLoaderOnConfirm: true, preConfirm: () => { location.reload(true); }, }); }, }); } //// end province permission //permission // receipt render table table = $("#Receipt_table").DataTable({ serverSide: true, dom: "p>", pagingType: "simple_numbers", filter: true, language: { sEmptyTable: "هیچ داده‌ای در جدول وجود ندارد", sInfo: "نمایش _START_ تا _END_ از _TOTAL_ ردیف", sInfoEmpty: "نمایش 0 تا 0 از 0 ردیف", sInfoFiltered: "(فیلتر شده از _MAX_ ردیف)", sInfoPostFix: "", sInfoThousands: ",", sLengthMenu: "نمایش _MENU_ ردیف", sLoadingRecords: "در حال بارگزاری...", sProcessing: "در حال پردازش...", sSearch: "جستجو: ", sZeroRecords: "رکوردی با این مشخصات پیدا نشد", oPaginate: { sFirst: "برگه‌ی نخست", sLast: "برگه‌ی آخر", sNext: "بعدی", sPrevious: "قبلی", }, oAria: { sSortAscending: ": فعال سازی نمایش به صورت صعودی", sSortDescending: ": فعال سازی نمایش به صورت نزولی", }, }, order: [ [0, "asc"][(1, "asc")], [2, "desc"], [3, "desc"], [4, "desc"] ], order: [ [0, "desc"] ], processing: true, select: true, ajax: { url: receipt_show, type: "GET", beforeSend: function () { showLoaderScreen(); }, dataSrc: function (json) { if (json.can_submit == 0) { $('#point-add').prop('disabled', true) } canSubmit = json.can_submit hideLoaderScreen(); return json.data; }, }, columns: [{ className: "text-center", data: null, render: function (data, type, row, meta) { return (meta.settings._iDisplayStart + meta.row) + 1 }, name: { name: 'id', type: 'option' }, searchable: false, orderable: false, }, { className: "text-center sorting", data: "id", name: { name: 'id', type: 'text' }, searchable: true, orderable: true, }, { className: "text-center sorting", data: "province_fa", name: { name: 'province_fa', type: 'text' }, searchable: true, orderable: true, }, { className: "text-center sorting", data: "city_fa", name: { name: 'city_fa', type: 'text' }, searchable: true, orderable: true, }, { className: "text-center sorting", data: "axis_name", name: { name: 'axis_name', type: 'text' }, searchable: true, orderable: true, }, { className: "text-center sorting", data: "accident_type_fa", name: { name: 'accident_type_fa', type: 'text' }, searchable: true, orderable: true, }, { className: "text-center", data: null, name: { name: 'accident_date', type: 'option' }, render: function (data, type, row) { return moment(data.accident_date).locale('fa').format('HH:MM || YYYY/MM/DD'); }, orderable: false, searchable: false, }, { className: "text-center", data: null, name: { name: 'option', type: 'option' }, render: function (data, type, row) { return `
`; }, orderable: false, searchable: false, }, { className: "text-center", data: null, name: { name: 'option', type: 'option' }, render: function (data, type, row) { let content = `
`; if (data.damage_picture2 == null && data.damage_picture1 != null) { content += `` } else if (data.damage_picture1 == null && data.damage_picture2 != null) { content += `` } else if (data.damage_picture1 == null && data.damage_picture2 == null) { content += `عکسی موجود نمی باشد` } else { content += `` } content += `
`; return content; }, orderable: false, searchable: false, }, { className: "text-center", data: null, name: { name: 'sum', type: 'option' }, render: function (data, type, row) { return `${Number(data.sum).toLocaleString("en")} ریال`; // return `-`; }, orderable: false, searchable: false, }, { data: null, name: { name: 'plaque', type: 'option' }, render: function (data, type, row) { const plaque = data.plaque.split("-"); return `
${plaque[0]}
${plaque[1] == "*" ? '' : plaque[1]}
${plaque[2]}
-
ایران
${plaque[3]}
`; }, orderable: false, searchable: false, }, { className: "text-center", data: null, name: { name: 'created_at', type: 'between' }, render: function (data, type, row) { return moment(data.created_at).locale('fa').format('HH:MM || YYYY/MM/DD'); }, orderable: true, searchable: true, }, { className: "text-center", data: "status_fa", name: { name: 'status', type: 'text' }, searchable: true, orderable: true, }, { className: "text-center", data: null, name: { name: 'option', type: 'option' }, render: function (data, type, row) { let content = `
` switch (data.status) { case 5: case 4: content += `` content += `` break; case 3: content += `` content += `` break; case 2: content += `` case 1: content += `` case 0: content += `` content += `` break; } if (data.status < 2 && (($.inArray("edit-receipt", PERMISSIONS) != -1 || $.inArray("edit-receipt-province", PERMISSIONS) != -1))) { content += `` } if (($.inArray("delete-receipt", PERMISSIONS) != -1 || $.inArray("delete-receipt-province", PERMISSIONS) != -1)) { content += `` } content += `
` return content; }, orderable: false, searchable: false, }, { className: "text-center", data: null, name: { name: 'final_amount', type: 'option' }, render: function (data, type, row) { if (data.status >= 4 ) { return Number(data.final_amount).toLocaleString('en') }else{ return 0; } }, searchable: false, orderable: false, }, { className: "text-center", data: null, name: { name: 'deposit_insurance_amount', type: 'option' }, render: function (data, type, row) { return Number(data.deposit_insurance_amount).toLocaleString('en') }, orderable: false, searchable: false, }, { className: "text-center", data: null, name: { name: 'deposit_daghi_amount', type: 'option' }, render: function (data, type, row) { return Number(data.deposit_daghi_amount).toLocaleString('en') }, orderable: false, searchable: false, }, ], buttons: [{ text: '
فیلترینگ پیشرفته
', action: function (e, dt, node, config) { topPosition = $(e.target).parents('.btn-table-filter').offset().top + $(e.target).parents('.btn-table-filter').height() + 5 $(".parent-filter").css('top', topPosition) $(".parent-filter").css("display", "block"); }, }, { className: "static-btn-cta", text: '
گزارش آماری
', action: function (e, dt, node, config) { topPosition = $(e.target).parents('.btn-table-excel').offset().top + $(e.target).parents('.btn-table-excel').height() + 5 $(".parent-excel").css('top', topPosition) $(".parent-excel").css("display", "block"); }, }, ], }); // end receipt render table }); $(document).on("click", "#Receipt_add", function () { const receipt_add = true; const modal = $("#add_Receipt_modal"); modal.modal("show"); $("#plaque_text_modal").find(".select-text").removeClass("last-time-select"); modal.find(".input-add-receipt").removeClass("validation-checker"); modal.find(".text-Plaque").removeClass("validation-checker"); modal.find(".select-add-receipt").removeClass("validation-checker"); modal.find('.file-add-receipt').removeClass("validation-checker"); modal.find(".div-Plaque").removeClass("validation-checker"); modal.find(".imgbox").removeClass("validation-checker"); modal.find(".btn-delete-img").data('isDelete', true); modal.find(".img-input").val(""); modal.find(".img-preview").removeAttr("src"); modal.find(".img-preview").css("display", "none"); modal.find(".img-title").css("display", ""); modal.find(".btn-delete-img").attr("disabled", "disabled"); modal.find(".damage-amount").prop("readonly", true); modal.find("#police_chart_radio_add").prop("checked", true); modal.find(".input-add-receipt").prop("disabled", false); modal.find('.file-add-receipt').prop("disabled", false); modal.find(".text-Plaque").val(""); modal.find(".div-Plaque").data("value", ""); modal.find(".input-add-receipt").val(""); modal.find(".select-add-receipt").val(0); modal.find(".recive-city").empty(); modal.find(".recive-city").append(''); modal.find('.file-add-receipt').val(""); modal.find('.phone-is-correct').val("09"); modal.find('.phone-is-correct').removeClass("validation-checker"); modal.find(".custom-file-label").text("انتخاب فایل"); modal.find(".damage-value").prop("disabled", true); modal.find(".div-Plaque").text(""); damege_item_counter = 0; modal.find("#new_damage_box_add").empty(); createAddMap(modal).then(() => { hideLoaderScreen() }); }); $(document).on("click", ".btn-edit-receipt", function () { const receipt_add = false; const modal = $("#edit_Receipt_modal"); $("#plaque_text_edit_modal").find(".select-text").removeClass("last-time-select"); modal.find(".input-edit-receipt").removeClass("validation-checker"); modal.find(".select-edit-receipt").removeClass("validation-checker"); modal.find(".text-Plaque").removeClass("validation-checker"); modal.find('.file-edit-receipt').removeClass("validation-cheker"); modal.find(".imgbox").removeClass("validation-checker"); modal.find('#police_date_edit').prop("disabled", false); modal.find(".input-edit-receipt").val(""); modal.find(".select-edit-receipt").val(0); modal.find('.file-edit-receipt').val(""); modal.find(".text-Plaque").val(""); modal.find(".div-Plaque").data("value", ""); modal.find(".custom-file-label").text("انتخاب فایل"); modal.find(".btn-delete-img").prop("disabled", true); modal.find(".btn-delete-img").data('isDelete', false); modal.find(".img-input").val(""); modal.find(".img-preview").removeAttr("src"); modal.find(".img-preview").css("display", "none"); modal.find('.phone-is-correct').val("09"); modal.find('.phone-is-correct').removeClass("validation-checker"); modal.find(".img-title").css("display", ""); modal.find(".btn-delete-img").attr("disabled", "disabled"); modal.find("#new_damage_box_edit").empty(); modal.find(".damage-value").prop("disabled", false); damege_item_counter = 0; let tr = $(this).closest("tr"); let row = table.row(tr); let data = row.data(); modal.find("#Receipt_edit_cta").data("rowId", data.id); date_edit.setDate(+moment(data.accident_date)) time_edit.setDate(+moment(`2000-01-01 ${data.accident_time}`)) // 2000-01-01 is fake modal.find("#accident_type_edit").val(data.accident_type); modal.find('#province_edit').val(data.province_id); city(modal, data.province_id, true, () => { modal.find("#city_edit").val(data.city_id); }) modal.find('#axis_name_edit').val(data.axis_name); modal.find("#name_family_edit").val(data.driver_name); modal.find("#national_code_edit").val(data.driver_national_code); modal.find("#phone_number_edit").val(data.driver_phone_number); phone_checker(modal.find("#phone_number_edit")) const plaque_value = data.plaque.split("-"); modal.find("#plaque_number_edit1").val(plaque_value[0]); modal.find("#plaque_word_edit1").empty(); $("#plaque_text_edit_modal").find(".select-text").each(function (index) { if ($(this).data("value") == plaque_value[1]) $(this).addClass("last-time-select") }); $("#plaque_text_edit_modal").find(".select-text").data("value") if (plaque_value[1] == "*") { modal.find("#plaque_word_edit1").append(``) } else { modal.find("#plaque_word_edit1").text(plaque_value[1]) } modal.find("#plaque_word_edit1").data("value", plaque_value[1]); modal.find("#plaque_number_edit2").val(plaque_value[2]); modal.find("#plaque_number_edit3").val(plaque_value[3]); if (data.damage_picture1 != null) { modal.find("#deviceImg1Preview_edit").attr("src", "/storage/" + data.damage_picture1); modal.find("#deviceImg1Title_edit").css("display", "none"); modal.find("#deviceImg1Preview_edit").css("display", ""); modal.find("#deleteDeviceImg1_edit").prop("disabled", false); } if (data.damage_picture2 != null) { modal.find("#deviceImg2Preview_edit").attr("src", "/storage/" + data.damage_picture2); modal.find("#deviceImg2Title_edit").css("display", "none"); modal.find("#deviceImg2Preview_edit").css("display", ""); modal.find("#deleteDeviceImg2_edit").prop("disabled", false); } if (data.report_base == 0) { modal.find("#police_chart_radio_edit").prop("checked", true); modal.find("#police_file_edit").prop("disabled", false); modal.find("#police_chart_edit").prop("disabled", false); modal.find("#police_date_edit").prop("disabled", false); } else { modal.find("#visit_expert_edit").prop("checked", true); modal.find("#police_file_edit").prop("disabled", true); modal.find("#police_chart_edit").prop("disabled", true); modal.find("#police_date_edit").prop("disabled", true); } modal.find("#police_file_edit").data("policeFile", data.police_file); data.police_serial != null ? modal.find("#police_chart_edit").val(data.police_serial) : ''; data.police_file_date != null ? modal.find('#police_date_edit').val(moment(data.police_file_date).locale('fa').format('YYYY/MM/DD')) : modal.find('#police_date_edit').prop("disabled", true); let perv_file = modal.find("#download_perv_file"); if (data.police_file != null) { perv_file.find("button").prop("disabled", false); perv_file.attr("href", `/storage/${data.police_file}`); } else { perv_file.find("button").prop("disabled", true); perv_file.removeAttr("href"); } createEditMap(modal, data.lat, data.lng).then(() => { editMap.setView([data.lat, data.lng], 7) isSetMarkerEdit = true; markerEdit.setLatLng(L.latLng([data.lat, data.lng])); modal.find("#edit_project_start_map").val( markerEdit.getLatLng().lat.toFixed(6) + markerEdit.getLatLng().lng.toFixed(6) ); modal.find("#pin_marker").removeClass("pin-move pin-warn").addClass("pin-set"); hideLoaderScreen() }) modal.find("#damage_items_edit0").val(data.damages[0].id); modal.find("#damage_items_value_edit0").val(data.damages[0].pivot.value); modal.find("#damage_amount_edit0").val(data.damages[0].pivot.amount); for (i = 1; i < data.damages.length; i++) { damege_item_counter++; const mainBox = modal.find("#damge_box"); const contents_parent = modal.find("#new_damage_box_edit"); const content = `
*
*
*
`; contents_parent.append(content); modal.find(`#damage_items_edit${damege_item_counter}`).append(damage_items); modal.find(`#damage_items_edit${damege_item_counter}`).val(data.damages[i].id); modal.find(`#damage_items_value_edit${damege_item_counter}`).val(data.damages[i].pivot.value); modal.find(`#damage_amount_edit${damege_item_counter}`).val(data.damages[i].pivot.amount); } modal.modal("show"); }); $(document).on("change", ".damage-items", function () { const parent = $(this).parents(".parent-damage"); parent.find(".selected-unit").text(''); parent.find(".selected-unit").text(`( ${$(this).find("option:selected").data("unit")} )`); parent.find(".damage-value").prop("disabled", false); parent.find(".damage-value").val(""); parent.find(".damage-amount").val("") }); $(".custom-file-input").on("change", function () { const fileName = $(this).val().split("\\").pop(); $(this).siblings(".custom-file-label").addClass("selected").html(fileName); }); $(document).on("click", "#add_damge", function () { if ($(`#damage_items_value_add${damege_item_counter}`).val() == "" || $(`#damage_items_add${damege_item_counter} option:selected`).val() == 0 || $(`#damage_amount_add${damege_item_counter}`).val() == "") { if ($(`#damage_items_value_add${damege_item_counter}`).val() == "") $(`#damage_items_value_add${damege_item_counter}`).addClass("validation-checker"); if ($(`#damage_items_add${damege_item_counter} option:selected`).val() == 0) $(`#damage_items_add${damege_item_counter}`).addClass("validation-checker"); if ($(`#damage_amount_add${damege_item_counter}`).val() == "") $(`#damage_amount_add${damege_item_counter}`).addClass("validation-checker"); if ($(`#damage_items_value_add${damege_item_counter}`).val() != "") $(`#damage_items_value_add${damege_item_counter}`).removeClass("validation-checker"); if ($(`#damage_items_add${damege_item_counter} option:selected`).val() != 0) $(`#damage_items_add${damege_item_counter}`).removeClass("validation-checker"); if ($(`#damage_amount_add${damege_item_counter}`).val() != "") $(`#damage_amount_add${damege_item_counter}`).removeClass("validation-checker"); Swal.fire({ icon: "error", title: "خطا", text: "لطفا مقادیر قبلی را تکمیل کنید", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); } else { if ($(`#damage_items_value_add${damege_item_counter}`).val() != "") $(`#damage_items_value_add${damege_item_counter}`).removeClass("validation-checker"); if ($(`#damage_items_add${damege_item_counter} option:selected`).val() != 0) $(`#damage_items_add${damege_item_counter}`).removeClass("validation-checker"); if ($(`#damage_amount_add${damege_item_counter} option:selected`).val() != 0) $(`#damage_amount_add${damege_item_counter}`).removeClass("validation-checker"); damege_item_counter++; const mainBox = $(this).parents("#damge_box"); const contents_parent = $("#new_damage_box_add"); const content = `
*
*
*
`; contents_parent.append(content); $(`#damage_items_add${damege_item_counter}`).append(damage_items); } }); $(document).on("click", "#edit_damge", function () { if ($(`#damage_items_value_edit${damege_item_counter}`).val() == "" || $(`#damage_items_edit${damege_item_counter} option:selected`).val() == 0 || $(`#damage_amount_edit${damege_item_counter}`).val() == "") { if ($(`#damage_items_value_edit${damege_item_counter}`).val() == "") $(`#damage_items_value_edit${damege_item_counter}`).addClass("validation-checker"); if ($(`#damage_items_edit${damege_item_counter} option:selected`).val() == 0) $(`#damage_items_edit${damege_item_counter}`).addClass("validation-checker"); if ($(`#damage_amount_edit${damege_item_counter}`).val() == "") $(`#damage_amount_edit${damege_item_counter}`).addClass("validation-checker"); if ($(`#damage_items_value_edit${damege_item_counter}`).val() != "") $(`#damage_items_value_edit${damege_item_counter}`).removeClass("validation-checker"); if ($(`#damage_items_edit${damege_item_counter} option:selected`).val() != 0) $(`#damage_items_edit${damege_item_counter}`).removeClass("validation-checker"); if ($(`#damage_amount_edit${damege_item_counter}`).val() != "") $(`#damage_amount_edit${damege_item_counter}`).removeClass("validation-checker"); Swal.fire({ icon: "error", title: "خطا", text: "لطفا مقادیر قبلی را تکمیل کنید", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); } else { if ($(`#damage_items_value_edit${damege_item_counter}`).val() != "") $(`#damage_items_value_edit${damege_item_counter}`).removeClass("validation-checker"); if ($(`#damage_items_edit${damege_item_counter} option:selected`).val() != 0) $(`#damage_items_edit${damege_item_counter}`).removeClass("validation-checker"); if ($(`#damage_amount_edit${damege_item_counter} option:selected`).val() != 0) $(`#damage_amount_edit${damege_item_counter}`).removeClass("validation-checker"); damege_item_counter++; const mainBox = $(this).parents("#damge_box"); const contents_parent = $("#new_damage_box_edit"); const content = `
*
*
*
`; contents_parent.append(content); $(`#damage_items_edit${damege_item_counter}`).append(damage_items); } }); // phone validation function phone_checker(item) { const modal = item.parents(".modal"); if (modal.find(".phone-is-correct").val().length == 11) { item.removeClass("validation-checker"); modal.find(".attent-num").fadeOut("100"); } else { item.addClass("validation-checker") modal.find(".attent-num").fadeIn("100"); } } // end phone validation $(document).on("click", "#Receipt_add_cta", function () { const thisBtn = $(this); const modal = $("#add_Receipt_modal"); thisBtn.prop("disabled", true); modal.find(".select-add-receipt").removeClass("validation-checker"); modal.find(".input-add-receipt").removeClass("validation-checker"); modal.find(".input-add-receipt-chart").removeClass("validation-checker"); modal.find(".text-Plaque").removeClass("validation-checker"); modal.find(".radio-input").removeClass("validation-checker"); modal.find('.file-valid-need').removeClass("validation-checker"); modal.find(".div-Plaque").removeClass("validation-checker"); modal.find(".img-valid-need").parents(".img-box").find(".imgbox").removeClass("validation-checker"); let imgIsValid = false modal.find('.img-valid-need').each(function (index) { if ($(this).get(0).files.length != 0) imgIsValid = true }); if (!imgIsValid) modal.find('.img-valid-need').parents(".img-box").find(".imgbox").addClass("validation-checker") modal.find('.phone-is-correct').each(function (index) { if ($(this).val().length != 11) { $(this).removeClass("valid").addClass("validation-checker") } else { $(this).removeClass("validation-checker") } }) modal.find('.file-valid-need').each(function (index) { if ($(this).get(0).files.length == 0 && modal.find('input[name=acc_base_add]:checked').val() == 0) $(this).addClass("validation-checker") }); modal.find(".select-add-receipt").each(function (index) { if ($(this).find("option:selected").val() == 0) $(this).addClass("validation-checker") }); modal.find(".input-add-receipt").each(function (index) { if ($(this).val() == "") $(this).addClass("validation-checker") }); if (modal.find("#police_chart_add").val() == "" && modal.find('input[name=acc_base_add]:checked').val() == 0) { modal.find("#police_chart_add").addClass("validation-checker") } else { modal.find("#police_chart_add").removeClass("validation-checker") } if (modal.find("#police_date_add").val() == "" && modal.find('input[name=acc_base_add]:checked').val() == 0) { modal.find("#police_date_add").addClass("validation-checker") } else { modal.find("#police_date_add").removeClass("validation-checker") } modal.find(".input-add-receipt-chart").each(function (index) { if ($(this).val() == "") $(this).addClass("validation-checker") }); modal.find(".text-Plaque").each(function (index) { if ($(this).val().length < $(this).attr("maxLength")) $(this).addClass("validation-checker") }); if (modal.find(".div-Plaque").data("value") == "") { modal.find(".div-Plaque").addClass("validation-checker") } if (modal.find(".validation-checker").length != 0) { Swal.fire({ icon: "error", title: "خطا", text: "لطفا تمامی مقادیر را تکمیل کنید", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); thisBtn.prop("disabled", false); } else if (!national_code_validation(modal.find("#national_code_add").val())) { Swal.fire({ icon: "error", title: "خطا", text: "لطفا شماره ملی با فرمت درست وارد کنید", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); thisBtn.prop("disabled", false); } else { const accident_type_add = modal.find("#accident_type_add option:selected").val(); const police_chart_add = modal.find("#police_chart_add").val(); const province_add = modal.find("#province_add option:selected").val(); const report_base = modal.find('input[name=acc_base_add]:checked').val(); const city_add = modal.find("#city_add option:selected").val(); const police_file_add = modal.find("#police_file_add").get(0).files[0]; const plaque_number_add1 = modal.find("#plaque_number_add1").val(); const plaque_word_add1 = modal.find("#plaque_word_add1").data("value"); const plaque_number_add2 = modal.find("#plaque_number_add2").val(); const plaque_number_add3 = modal.find("#plaque_number_add3").val(); const plaque_number_add = plaque_number_add1 + "-" + plaque_word_add1 + "-" + plaque_number_add2 + "-" + plaque_number_add3; const axis_name_add = modal.find("#axis_name_add").val(); const name_family_add = modal.find("#name_family_add").val(); const phone_number_add = modal.find("#phone_number_add").val(); const national_code_add = modal.find("#national_code_add").val(); const damage_picture1 = modal.find("#adddeviceImg1").get(0).files[0]; const damage_picture2 = modal.find("#adddeviceImg2").get(0).files[0]; const markerAdd_lat = markerAdd.getLatLng().lat.toFixed(6); const markerAdd_lng = markerAdd.getLatLng().lng.toFixed(6); let items_damge = []; let parent = modal.find(".parent-damage"); parent.map(function (e) { const item_damage = { id: $(this).find(".damage-items").val(), value: $(this).find(".damage-value").val(), amount: $(this).find(".damage-amount").val(), } items_damge.push(item_damage); }); items_damge = JSON.stringify(items_damge); let formData = new FormData(); formData.append("accident_date", moment(date_add.getState().selected.unixDate).format('YYYY-MM-DD')); formData.append("accident_time", moment(time_add.getState().selected.unixDate).format('HH:mm')); formData.append("accident_type", accident_type_add); formData.append("province_id", province_add); formData.append("city_id", city_add); formData.append("axis_name", axis_name_add); formData.append("driver_name", name_family_add); formData.append("phone_number", phone_number_add); formData.append("national_code", national_code_add); formData.append("plaque", plaque_number_add); if (typeof damage_picture1 !== 'undefined') formData.append("damage_picture1", damage_picture1); if (typeof damage_picture2 !== 'undefined') formData.append("damage_picture2", damage_picture2); formData.append("report_base", report_base); if (typeof police_file_add !== 'undefined') formData.append("police_file", police_file_add); if (typeof police_file_add !== 'undefined') formData.append("police_file_date", moment(police_date_add.getState().selected.unixDate).format('YYYY-MM-DD')); if (police_chart_add != '') formData.append("police_serial", police_chart_add); formData.append("lat", markerAdd_lat); formData.append("lng", markerAdd_lng); formData.append("items_damge", items_damge); $.ajax({ url: receipt_add_api, type: "POST", data: formData, cache: false, processData: false, contentType: false, headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, beforeSend: function () { showLoaderScreen(); }, success: function (result) { thisBtn.prop('disabled', false); modal.modal('hide') hideLoaderScreen(); Swal.fire({ icon: "success", title: "ثبت موفق", text: "تصادف با موفقیت ثبت شد", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }).then(result => { table.ajax.reload(null, false); }) }, error: function (error) { thisBtn.prop('disabled', false) hideLoaderScreen(); Swal.fire({ icon: "error", title: "خطا", text: "مشکل در ثبت", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); }, }); } }); $("#Receipt_table").on("click", ".btn-showOnMap-receipt", function () { showLoaderScreen(); const modal = $("#show_Receipt_modal"); const tr = $(this).closest("tr"); const row = table.row(tr); const row_lat = row.data().lat; const row_lng = row.data().lng; const markerPosition = [row_lat, row_lng]; modal.find("#show_on_map_lat").text(row_lat); modal.find("#show_on_map_lng").text(row_lng); if (mapShow == null) { buildMapShowAndMarker(markerPosition).then(() => { hideLoaderScreen(); }); } else { changePositionMarkerInMapShow(markerPosition).then(() => { hideLoaderScreen(); }); } modal.modal("show"); }); // delete accident $(document).on('click', '.btn-delete-receipt', function () { let tr = $(this).closest("tr"); let row = table.row(tr); let row_id = row.data().id; let formData = new FormData(); Swal.fire({ icon: "warning", title: "آیا برای حذف مطمئن هستید؟", showCancelButton: true, confirmButtonColor: "#3085d6", cancelButtonColor: "#d33", confirmButtonText: "بله، حذف می‌شود", cancelButtonText: "منصرف شدم!", showLoaderOnConfirm: true, preConfirm: () => { showLoaderScreen(); $.ajax({ url: receipt_delete_api + row_id, type: "POST", headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, cache: false, contentType: false, processData: false, beforeSend: function () { showLoaderScreen(); }, success: function (result) { table.ajax.reload(null, false); hideLoaderScreen(); }, error: function (error) { hideLoaderScreen(); Swal.fire({ icon: "error", title: "خطا", text: "مشکل در برقراری ارتباط با سرور", confirmButtonText: "بستن", }); }, }); }, }); }); // end delete accident // filter [table] $(document).on("click", "#btn_filter_show", function () { _table = table const id_value = $("#filter_id"); const province_value = $("#filter_province option:selected"); const type_accident_value = $("#filter_type_accident option:selected"); const filter_status = $("#filter_status"); const filter_date_from_value = moment(filter_date_from.getState().selected.unixDate).format("YYYY-MM-DD"); if (id_value.val() != 0) { _table = _table.column(1).search(id_value.val()); } else { _table = _table.column(1).search(''); } if (province_value.val() != 0) { _table = _table.column(2).search(province_value.text()); } else { _table = _table.column(2).search(''); } if (type_accident_value.val() != 0) { _table = _table.column(5).search(type_accident_value.text()); } else { _table = _table.column(5).search(''); } if ($("#filter_date_from").val() != "") { _table = _table.column(11).search(filter_date_from_value + "&" + moment().format("YYYY-MM-DD")); } else { _table = _table.column(11).search(''); } if (filter_status.val() != -1) { _table = _table.column(12).search(filter_status.val()); } else { _table = _table.column(12).search(''); } _table.draw(); }); // end filter // image upload begin $(document).on("change", ".img-input", function () { var input = this; var parent = $(input).parents(".img-box"); if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { parent.find(".img-title").css("display", "none"); parent.find(".img-preview").css("display", ""); parent.find(".btn-delete-img").removeAttr("disabled"); parent.find(".btn-delete-img").data('isDelete', false) parent.find(".img-preview").attr("src", e.target.result); }; reader.readAsDataURL(input.files[0]); } }); $(".btn-delete-img").on("click", function () { var parent = $(this).parents(".img-box"); $(this).data('isDelete', true) parent.find(".img-input").val(""); parent.find(".img-preview").removeAttr("src"); parent.find(".img-preview").css("display", "none"); parent.find(".img-title").css("display", ""); $(this).attr("disabled", "disabled"); }); // image upload end async function city(modal, pro_id, async, callback = () => { }) { $.ajax({ url: city_api + pro_id, type: "GET", async: async, beforeSend: function () { showLoaderScreen(); }, success: function (result) { const city = result.data; modal.find(".recive-city").empty(); modal.find(".recive-city").append(''); for (let index = 0; index < city.length; index++) { modal.find(".recive-city").append(``); } callback() hideLoaderScreen(); }, error: function (error) { hideLoaderScreen(); Swal.fire({ icon: "error", title: "خطا", text: "مشکل در برقراری ارتباط با سرور", confirmButtonText: "بستن", }); }, }); } // find city $(document).on("change", ".find-city", function () { const modal = $(this).parents(".modal"); const pro_id = $(this).val(); city(modal, pro_id, true); modal.find(".recive-city").append(); }); // end find city $(document).on("change", "input[name=acc_base_add]", function () { $(this).val() == 0 ? $("#police_file_add").prop("disabled", false) && $("#police_chart_add").prop("disabled", false) && $("#police_date_add").prop("disabled", false) : $("#police_file_add").prop("disabled", true) && $("#police_chart_add").prop("disabled", true) && $("#police_date_add").prop("disabled", true); }); $(document).on("change", "input[name=acc_base_edit]", function () { $(this).val() == 0 ? $("#police_file_edit").prop("disabled", false) && $("#police_chart_edit").prop("disabled", false) && $("#police_date_edit").prop("disabled", false) : $("#police_file_edit").prop("disabled", true) && $("#police_chart_edit").prop("disabled", true) && $("#police_date_edit").prop("disabled", true); }); $(document).on("click", "#Receipt_edit_cta", function () { const thisBtn = $(this); const modal = $("#edit_Receipt_modal"); thisBtn.prop("disabled", true); modal.find(".select-edit-receipt").removeClass("validation-checker"); modal.find(".input-edit-receipt").removeClass("validation-checker"); modal.find(".radio-input").removeClass("validation-checker"); modal.find('.file-valid-need').removeClass("validation-checker"); modal.find(".text-Plaque").removeClass("validation-checker"); modal.find(".div-Plaque").removeClass("validation-checker"); modal.find(".img-valid-need").parents(".img-box").find(".imgbox").removeClass("validation-checker"); let imgIsValid = false modal.find('.img-preview').each(function (index) { if ($(this).attr("src")) imgIsValid = true }); if (!imgIsValid) modal.find('.img-preview').parents(".imgbox").addClass("validation-checker") modal.find(".select-edit-receipt").each(function (index) { if ($(this).find("option:selected").val() == 0) $(this).addClass("validation-checker") }); modal.find(".input-edit-receipt").each(function (index) { if ($(this).val() == "" && $(this).prop("disabled") == false) $(this).addClass("validation-checker") }); modal.find(".text-Plaque").each(function (index) { if ($(this).val().length < $(this).attr("maxLength")) $(this).addClass("validation-checker") }); if (modal.find("#police_chart_edit").val() == "" && modal.find('input[name=acc_base_edit]:checked').val() == 0) { modal.find("#police_chart_edit").addClass("validation-checker"); } else { modal.find("#police_chart_edit").removeClass("validation-checker"); } if (modal.find("#police_date_edit").val() == "" && modal.find('input[name=acc_base_edit]:checked').val() == 0) { modal.find("#police_date_edit").addClass("validation-checker"); } else { modal.find("#police_chart_edit").removeClass("validation-checker"); } if (modal.find(".validation-checker").length != 0) { Swal.fire({ icon: "error", title: "خطا", text: "لطفا تمامی مقادیر را تکمیل کنید", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); thisBtn.prop("disabled", false); } else if (!national_code_validation(modal.find("#national_code_edit").val())) { Swal.fire({ icon: "error", title: "خطا", text: "لطفا شماره ملی با فرمت درست وارد کنید", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); thisBtn.prop("disabled", false); } else { const accident_type_edit = modal.find("#accident_type_edit option:selected").val(); const police_chart_edit = modal.find("#police_chart_edit").val(); const province_edit = modal.find("#province_edit option:selected").val(); const report_base = modal.find('input[name=acc_base_edit]:checked').val(); const city_edit = modal.find("#city_edit option:selected").val(); const police_file_edit = modal.find("#police_file_edit").get(0).files[0]; const plaque_number_edit1 = modal.find("#plaque_number_edit1").val(); const plaque_word_edit1 = modal.find("#plaque_word_edit1").data("value"); const plaque_number_edit2 = modal.find("#plaque_number_edit2").val(); const plaque_number_edit3 = modal.find("#plaque_number_edit3").val(); const plaque_number_edit = plaque_number_edit1 + "-" + plaque_word_edit1 + "-" + plaque_number_edit2 + "-" + plaque_number_edit3; const axis_name_edit = modal.find("#axis_name_edit").val(); const name_family_edit = modal.find("#name_family_edit").val(); const phone_number_edit = modal.find("#phone_number_edit").val(); const national_code_edit = modal.find("#national_code_edit").val(); const damage_picture1 = modal.find("#editdeviceImg1_edit").get(0).files[0]; const damage_picture2 = modal.find("#editdeviceImg2_edit").get(0).files[0]; const markerEdit_lat = markerEdit.getLatLng().lat.toFixed(6); const markerEdit_lng = markerEdit.getLatLng().lng.toFixed(6); let items_damge = []; let parent = modal.find(".parent-damage"); parent.map(function (e) { const item_damage = { id: $(this).find(".damage-items").val(), value: $(this).find(".damage-value").val(), amount: $(this).find(".damage-amount").val(), } items_damge.push(item_damage); }); items_damge = JSON.stringify(items_damge); let formData = new FormData(); formData.append("accident_date", moment(date_edit.getState().selected.unixDate).format('YYYY-MM-DD')); formData.append("accident_time", moment(time_edit.getState().selected.unixDate).format('HH:mm')); formData.append("accident_type", accident_type_edit); formData.append("province_id", province_edit); formData.append("city_id", city_edit); formData.append("axis_name", axis_name_edit); formData.append("driver_name", name_family_edit); formData.append("phone_number", phone_number_edit); formData.append("national_code", national_code_edit); formData.append("plaque", plaque_number_edit); if (typeof damage_picture1 !== 'undefined') formData.append("damage_picture1", damage_picture1); if (modal.find('#deleteDeviceImg1_edit').data('isDelete')) formData.append("damage_picture1_is_delete", 1); if (typeof damage_picture2 !== 'undefined') formData.append("damage_picture2", damage_picture2); if (modal.find('#deleteDeviceImg2_edit').data('isDelete')) formData.append("damage_picture2_is_delete", 1); formData.append("report_base", report_base); if ($("input[name='acc_base_edit']:checked").val() == 0) { if (typeof police_file_edit !== 'undefined') formData.append("police_file", police_file_edit); } if ($("input[name='acc_base_edit']:checked").val() == 0) formData.append("police_serial", police_chart_edit); if ($("input[name='acc_base_edit']:checked").val() == 0) formData.append("police_file_date", moment(police_date_edit.getState().selected.unixDate).format('YYYY-MM-DD')) formData.append("lat", markerEdit_lat); formData.append("lng", markerEdit_lng); formData.append("items_damge", items_damge); $.ajax({ url: receipt_edit_api + modal.find("#Receipt_edit_cta").data("rowId"), type: "POST", data: formData, cache: false, processData: false, contentType: false, headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, beforeSend: function () { showLoaderScreen(); }, success: function (result) { thisBtn.prop('disabled', false); modal.modal('hide') hideLoaderScreen(); Swal.fire({ icon: "success", title: "ثبت موفق", text: "تصادف با موفقیت اصلاح شد", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }).then(result => { table.ajax.reload(null, false); }) }, error: function (error) { thisBtn.prop('disabled', false) hideLoaderScreen(); Swal.fire({ icon: "error", title: "خطا", text: "مشکل در اصلاح", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); }, }); } }); $(document).on('change', '.deposit-redio', function () { const parent = $(this).closest('.deposit_box') if ($(this).val() == 1) { parent.find(".img-input").removeAttr("disabled"); parent.find(".input-text-cleaner").removeAttr("disabled"); } else { parent.find(".img-input").attr("disabled", "disabled"); parent.find(".input-text-cleaner").val("").attr("disabled", "disabled"); parent.find(".img-input").val("").attr("disabled", "disabled"); parent.find(".img-preview").removeAttr("src"); parent.find(".img-preview").css("display", "none"); parent.find(".img-title").css("display", ""); parent.find(".btn-delete-img").attr("disabled", "disabled"); parent.find(".input-text-cleaner").val("").attr("disabled", "disabled"); parent.find(".depo-insurance").removeClass("validation-checker"); parent.find(".depo-daghi").removeClass("validation-checker"); } }) $(document).on("click", ".btn-insurance-receipt", function () { let tr = $(this).closest("tr"); let row = table.row(tr); let data = row.data(); const modal = $("#insurance_receipt_modal"); modal.find(".img-input").val("").attr("disabled", "disabled"); modal.find(".img-preview").removeAttr("src"); modal.find(".img-preview").css("display", "none"); modal.find(".img-title").css("display", ""); modal.find(".input-text-cleaner").val("").attr("disabled", "disabled"); modal.find(".redio-cleaner[value='0']").prop('checked', true); modal.find(".depo-insurance").removeClass("validation-checker"); modal.find(".depo-daghi").removeClass("validation-checker"); if (data.status == 2) { if (data.deposit_insurance_image) { modal.find("input[name='deposit_redio_insurance'][value='1']").prop('checked', true); modal.find("#deposit_slip_insurance").val("").removeAttr("disabled"); modal.find("#deposit_slip_insurancePreview").attr("src", `/storage/${data.deposit_insurance_image}`); modal.find("#deposit_slip_insurancePreview").css("display", ""); modal.find("#deposit_slip_insuranceTitle").css("display", "none"); modal.find('#deposit_slip_insurance_amount').removeAttr("disabled").val(data.deposit_insurance_amount) } if (data.deposit_daghi_amount) { modal.find("input[name='deposit_redio_daghi'][value='1']").prop('checked', true); modal.find("#deposit_slip_daghi").val("").removeAttr("disabled"); modal.find("#deposit_slip_daghiPreview").attr("src", `/storage/${data.deposit_daghi_image}`); modal.find("#deposit_slip_daghiPreview").css("display", ""); modal.find("#deposit_slip_daghiTitle").css("display", "none"); modal.find('#deposit_slip_daghi_amount').removeAttr("disabled").val(data.deposit_daghi_amount) } } modal.find("#insurance_receipt_cta").data("rowId", data.id) modal.find("#insurance_receipt_cta").data("rowStatus", data.status) modal.find("#insurance_receipt_cta").data("rowSum", data.sum) modal.modal("show"); }); $(document).on("click", "#insurance_receipt_cta", function () { const thisBtn = $(this); const modal = $("#insurance_receipt_modal"); modal.find('.depo-insurance').removeClass("validation-checker"); modal.find(".depo-daghi").removeClass("validation-checker"); if (thisBtn.data("rowStatus") == 1) { if (modal.find('input[name="deposit_redio_insurance"]:checked').val() == 1) { if (modal.find(".depo-file-insurance").get(0).files.length == 0) modal.find(".depo-file-insurance").addClass("validation-checker") if (modal.find(".depo-input-insurance").val() == "") modal.find(".depo-input-insurance").addClass("validation-checker") } if (modal.find('input[name="deposit_redio_daghi"]:checked').val() == 1) { if (modal.find(".depo-file-daghi").get(0).files.length == 0) modal.find(".depo-file-daghi").addClass("validation-checker") if (modal.find(".depo-input-daghi").val() == "") modal.find(".depo-input-daghi").addClass("validation-checker") } } else if (thisBtn.data("rowStatus") == 2) { if (modal.find('input[name="deposit_redio_insurance"]:checked').val() == 1) { if (modal.find(".depo-input-insurance").val() == "") modal.find(".depo-input-insurance").addClass("validation-checker") } if (modal.find('input[name="deposit_redio_daghi"]:checked').val() == 1) { if (modal.find(".depo-input-daghi").val() == "") modal.find(".depo-input-daghi").addClass("validation-checker") } } const sumForm = Number(modal.find("#deposit_slip_insurance_amount").val()) + Number(modal.find("#deposit_slip_daghi_amount").val()) const maxDaghi = thisBtn.data("rowSum") * 0.3 if (modal.find(".validation-checker").length != 0) { Swal.fire({ icon: "error", title: "خطا", text: "لطفا تمامی مقادیر را تکمیل کنید", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); thisBtn.prop("disabled", false); } else if (thisBtn.data("rowSum") < sumForm) { Swal.fire({ icon: "error", title: "خطا", text: "مبالغ انتخابی نباید از مبلغ کل خسارت بیشتر باشد", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); thisBtn.prop("disabled", false); } else if (maxDaghi < Number(modal.find("#deposit_slip_daghi_amount").val())) { Swal.fire({ icon: "error", title: "خطا", text: "مبلغ داغی نباید بیشتر از 30٪ کل خسارت باشد", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); thisBtn.prop("disabled", false); } else { let formData = new FormData(); if (thisBtn.data("rowStatus") == 1) { if (modal.find('input[name="deposit_redio_insurance"]:checked').val() == 1) { formData.append("deposit_insurance_status", 1); const deposit_insurance_amount = modal.find("#deposit_slip_insurance_amount").val(); formData.append("deposit_insurance_amount", deposit_insurance_amount); const deposit_insurance_image = modal.find("#deposit_slip_insurance").get(0).files[0]; formData.append("deposit_insurance_image", deposit_insurance_image); } else formData.append("deposit_insurance_satus", 0); if (modal.find('input[name="deposit_redio_daghi"]:checked').val() == 1) { formData.append("deposit_daghi_status", 1); const deposit_daghi_amount = modal.find("#deposit_slip_daghi_amount").val(); formData.append("deposit_daghi_amount", deposit_daghi_amount); const deposit_daghi_image = modal.find("#deposit_slip_daghi").get(0).files[0]; formData.append("deposit_daghi_image", deposit_daghi_image); } else formData.append("deposit_daghi_status", 0); } else if (thisBtn.data("rowStatus") == 2) { if (modal.find('input[name="deposit_redio_insurance"]:checked').val() == 1) { formData.append("deposit_insurance_status", 1); const deposit_insurance_amount = modal.find("#deposit_slip_insurance_amount").val(); formData.append("deposit_insurance_amount", deposit_insurance_amount); if (modal.find(".depo-file-insurance").get(0).files.length != 0) { const deposit_insurance_image = modal.find("#deposit_slip_insurance").get(0).files[0]; formData.append("deposit_insurance_image", deposit_insurance_image); } } else formData.append("deposit_insurance_satus", 0); if (modal.find('input[name="deposit_redio_daghi"]:checked').val() == 1) { formData.append("deposit_daghi_status", 1); const deposit_daghi_amount = modal.find("#deposit_slip_daghi_amount").val(); formData.append("deposit_daghi_amount", deposit_daghi_amount); if (modal.find(".depo-file-daghi").get(0).files.length != 0) { const deposit_daghi_image = modal.find("#deposit_slip_daghi").get(0).files[0]; formData.append("deposit_daghi_image", deposit_daghi_image); } } else formData.append("deposit_daghi_status", 0) } $.ajax({ url: payment_info_api + thisBtn.data("rowId"), type: "POST", data: formData, cache: false, processData: false, contentType: false, headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, beforeSend: function () { showLoaderScreen(); }, success: function (result) { thisBtn.prop('disabled', false); modal.modal('hide') hideLoaderScreen(); Swal.fire({ icon: "success", title: "ثبت موفق", text: "اطلاعات فیش با موفقیت ثبت شد", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }).then(result => { table.ajax.reload(null, false); }) }, error: function (error) { thisBtn.prop('disabled', false) hideLoaderScreen(); Swal.fire({ icon: "error", title: "خطا", text: "مشکل در ثبت", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); }, }); } }); $(document).on("click", ".btn-documentation-deposit", function () { let tr = $(this).closest("tr"); let row = table.row(tr); let data = row.data(); const modal = $("#deposit_documentation_modal"); modal.find(".input-text-cleaner").val(""); modal.find("#deposit_sum_label").text(Number(data.sum).toLocaleString("en")) modal.find("#deposit_sum").val(data.sum) modal.find("#deposit_insurance_label").text(Number(data.deposit_insurance_amount).toLocaleString("en")) modal.find("#deposit_insurance").val(data.deposit_insurance_amount) modal.find("#deposit_daghi_label").text(Number(data.deposit_daghi_amount).toLocaleString("en")) modal.find("#deposit_daghi").val(data.deposit_daghi_amount) const pay = data.sum - (data.deposit_insurance_amount + data.deposit_daghi_amount) modal.find("#deposit_pay_label").text(Number(pay).toLocaleString("en")) modal.find("#deposit_pay").val(data.pay) modal.find("#deposit_documentation_cta").removeClass('btn-success btn-warning') modal.find("#deposit_send_sms_again_cta").addClass('d-none') if (data.status == 2) { modal.find("#deposit_documentation_cta").text('ایجاد فاکتور').addClass('btn-success') modal.find("#deposit_send_sms_again_cta").addClass('d-none') } else if (data.status == 3) { modal.find("#deposit_documentation_cta").text('استعلام پرداخت').addClass('btn-warning') modal.find("#deposit_send_sms_again_cta").removeClass('d-none') } modal.find("#deposit_documentation_cta").data("rowId", data.id) modal.find("#deposit_send_sms_again_cta").data("rowId", data.id) modal.find("#deposit_documentation_cta").data("rowStatus", data.status) modal.modal("show"); }); $(document).on('click', '#deposit_send_sms_again_cta', function () { const thisBtn = $(this); $.ajax({ url: send_sms_again + thisBtn.data("rowId"), type: "GET", cache: false, processData: false, contentType: false, headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, beforeSend: function () { showLoaderScreen(); }, success: function (result) { thisBtn.prop('disabled', false); hideLoaderScreen(); Swal.fire({ icon: "success", title: "ثبت موفق", text: "پیام با موفقیت ارسال شد!", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }) }, error: function (error) { thisBtn.prop('disabled', false) hideLoaderScreen(); Swal.fire({ icon: "error", title: "خطا", text: "مشکل در ارسال پیام", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); }, }); }) $(document).on('click', '#deposit_documentation_cta', function () { const thisBtn = $(this); const modal = $("#deposit_documentation_modal"); thisBtn.prop("disabled", true); if (thisBtn.data("rowStatus") == 2) { $.ajax({ url: invoice_bill_api + thisBtn.data("rowId"), type: "POST", cache: false, processData: false, contentType: false, headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, beforeSend: function () { showLoaderScreen(); }, success: function (result) { thisBtn.prop('disabled', false); hideLoaderScreen(); if (result.status == 3) { modal.find("#deposit_documentation_cta").text('استعلام پرداخت').addClass('btn-warning') modal.find("#deposit_documentation_cta").data("rowStatus", result.status) modal.find("#deposit_send_sms_again_cta").removeClass('d-none') } Swal.fire({ icon: "success", title: "ثبت موفق", text: "فاکتور با موفقیت ایجاد شد!", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }).then(result => { table.ajax.reload(null, false); }) }, error: function (error) { thisBtn.prop('disabled', false) hideLoaderScreen(); Swal.fire({ icon: "error", title: "خطا", text: "مشکل در ثبت", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); }, }); } else if (thisBtn.data("rowStatus") == 3) { $.ajax({ url: call_payment_status_api + thisBtn.data("rowId"), type: "POST", cache: false, processData: false, contentType: false, headers: { "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"), }, beforeSend: function () { showLoaderScreen(); }, success: function (result) { thisBtn.prop('disabled', false); hideLoaderScreen(); if (result.status == 3) { Swal.fire({ icon: "warning", title: "وضعیت پرداخت", text: "فاکتور پرداخت نشده است!", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }) } else if (result.status == 4) { Swal.fire({ icon: "success", title: "وضعیت پرداخت", text: "فاکتور پرداخت شده است!", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }) modal.modal('hide') table.ajax.reload(null, false); } }, error: function (error) { thisBtn.prop('disabled', false) hideLoaderScreen(); Swal.fire({ icon: "error", title: "خطا", text: "مشکل در ثبت", cancelButtonText: "بستن", showConfirmButton: false, showCancelButton: true, }); }, }); } }) $(document).on("click", ".btn-all-data-show", function () { const modal = $("#show_all_data_modal"); let tr = $(this).closest("tr"); let row = table.row(tr); let id = row.data().id; modal.find("#table_body").empty(); modal.find(".img-box-1").empty(); modal.find(".img-box-2").empty(); modal.find(".amount-box-deposit-insurance").empty(); modal.find(".img-box-deposit-insurance").empty(); modal.find(".amount-box-deposit-daghi").empty(); modal.find(".img-box-deposit-daghi").empty(); modal.find(".empty-data-all").text("") modal.find("#police_file_all button").prop("disabled", false); modal.find("#police_file_all").removeAttr("href"); modal.modal("show"); $.ajax({ url: get_all_info_api + id, type: "GET", cache: false, async: false, contentType: false, processData: false, success: function (results) { modal.find("#accident_date_all").text(moment(results.accident_date).locale('fa').format('YYYY/MM/DD')); modal.find("#accident_time_all").text(results.accident_time); modal.find("#province_fa_all").text(results.province_fa); modal.find("#city_fa_all").text(results.city_fa); modal.find("#driver_name_all").text(results.driver_name); const plaque_all = results.plaque.split("-"); modal.find("#plaque_all1").text(plaque_all[0]); modal.find("#plaque_all2").append(plaque_all[1] == "*" ? "" : plaque_all[1]); modal.find("#plaque_all3").text(plaque_all[2]); modal.find("#plaque_all4").text(plaque_all[3]); modal.find("#accident_type_fa_all").text(results.accident_type_fa); modal.find("#axis_name_all").text(results.axis_name); modal.find("#status_all").text(results.status_fa); results.police_serial != null ? modal.find("#police_serial_all").text(results.police_serial) : modal.find("#police_serial_all").text("-") results.police_file != null ? modal.find("#police_file_all").attr("href", `/storage/${results.police_file}`) : modal.find("#police_file_all button").prop("disabled", true); results.damage_picture1 != null ? modal.find(".img-box-1").append(``) : modal.find(".img-box-1").append(`
تصویری آپلود نشده است
`); results.damage_picture2 != null ? modal.find(".img-box-2").append(``) : modal.find(".img-box-2").append(`
تصویری آپلود نشده است
`); results.deposit_insurance_image != null ? modal.find(".img-box-deposit-insurance").append(``) : "تصویری آپلود نشده است"; results.deposit_insurance_image != null ? modal.find(".amount-box-deposit-insurance").html(`سهم بیمه :
${Number(results.deposit_insurance_amount).toLocaleString("en")} ریال
`) : modal.find(".amount-box-deposit-insurance").html(`سهم بیمه :
${Number(0).toLocaleString("en")} ریال
`); results.deposit_daghi_image != null ? modal.find(".img-box-deposit-daghi").append(``) : "تصویری آپلود نشده است"; results.deposit_daghi_image != null ? modal.find(".amount-box-deposit-daghi").html(`سهم داغی :
${Number(results.deposit_daghi_amount).toLocaleString("en")} ریال
`) : modal.find(".amount-box-deposit-daghi").html(`سهم داغی :
${Number(0).toLocaleString("en")} ریال
`); results.bill_code != null ? modal.find(".text-box-bill-code").html(`
${results.bill_code}
`) : modal.find(".text-box-bill-code").html(`
فاکتوری صادر نشده است.
`); Number(results.status) > 3 ? modal.find(".text-box-final-amount").html(`
${Number(results.final_amount).toLocaleString("en")}
`) : modal.find(".text-box-final-amount").html(`
مبلغی واریز نشده است.
`); const markerPosition = [results.lat, results.lng]; modal.find("#map_lat_all").text(results.lat); modal.find("#map_lng_all").text(results.lng); if (mapShow_all == null) { buildMapShowAndMarker_all(markerPosition).then(() => { hideLoaderScreen(); }); } else { changePositionMarkerInMapShow_all(markerPosition).then(() => { hideLoaderScreen(); }); } const damages = results.damages; let row_counter; let i; for (i = 0; i < damages.length; i++) { row_counter = i + 1; let table_row_content = ``; table_row_content += `${row_counter}`; table_row_content += `${damages[i].title}`; table_row_content += `${damages[i].pivot.unit}`; table_row_content += `${damages[i].pivot.value}`; table_row_content += `${Number(damages[i].pivot.amount).toLocaleString("en")}`; table_row_content += ``; $("#table_body").append(table_row_content); } row_counter = i + 1; let table_row_content = ``; table_row_content += `${row_counter}`; table_row_content += `اجرت نصب`; table_row_content += `${Number(results.ojrate_nasb).toLocaleString("en")}`; table_row_content += ``; $("#table_body").append(table_row_content) modal.find("#sum_all").text(Number(results.sum).toLocaleString("en")); }, error: function () { Swal.fire({ icon: "error", title: "خطا", text: "مشکل در دریافت تمامی اطلاعات", confirmButtonText: "بروزرسانی صفحه", showLoaderOnConfirm: true, preConfirm: () => { location.reload(true); }, }); }, }); }); $("#btn_excel-download").on("click", function () { let currentDate = {}; let queryParems = []; const province = $('select[name="select-province-excel"]').val(); if (!( $("#datapicker-from-excel-table").is(":disabled") && $("#datapicker-to-excel-table").is(":disabled") )) { if ( excelDatepickerFirstTable.from != "" && excelDatepickerFirstTable.to != "" ) { currentDate.from = moment( excelDatepickerFirstTable.from.getState().selected.year + "/" + excelDatepickerFirstTable.from.getState().selected.month + "/" + excelDatepickerFirstTable.from.getState().selected.date, "jYYYY/jM/jD" ).format("YYYY-MM-DD"); currentDate.to = moment( excelDatepickerFirstTable.to.getState().selected.year + "/" + excelDatepickerFirstTable.to.getState().selected.month + "/" + excelDatepickerFirstTable.to.getState().selected.date, "jYYYY/jM/jD" ).format("YYYY-MM-DD"); queryParems.push(`fromDate=${currentDate.from}`); queryParems.push(`toDate=${currentDate.to}`); } } if (province != 0) queryParems.push(`province=${province}`); const url = `/reports/receipt${queryParems.length != 0 ? `?${queryParems.join("&")}` : ""}`; window.open(url, "_blank"); }); $(document).on("click", ".close-box", function () { const parent_damage = $(this).parents(".parent-damage").remove(); damege_item_counter-- }); $(document).on("change", "#province_edit", function () { const This = $(this); let latLonPro = [ This.find("option:selected").data("centerLat"), This.find("option:selected").data("centerLon") ] editMap.setView(latLonPro); markerEdit.setLatLng(latLonPro); $("#edit_project_start_map").val(markerEdit.getLatLng().lat.toFixed(6) + markerEdit.getLatLng().lng.toFixed(6)); }); $(document).on("change", "#province_add", function () { const This = $(this); let latLonPro = [ This.find("option:selected").data("centerLat"), This.find("option:selected").data("centerLon") ] addMap.setView(latLonPro); markerAdd.setLatLng(latLonPro); }); $(document).on("keyup", ".damage-value", function () { console.log($(this).parents(".parent-damage").find(".damage-amount").prop("readonly") != true); if ($(this).parents(".parent-damage").find(".damage-amount").prop("readonly") == true) { const parent = $(this).parents(".parent-damage"); const item_parent = parent.find(".damage-items"); const base_price = item_parent.find("option:selected").data("basePrice"); $(this).val() != "" ? parent.find(".damage-amount").val(parseInt($(this).val()) * parseInt(base_price)) : parent.find(".damage-amount").val(""); } }); $(document).on("click", ".btn-letter-to-insurance", function () { let tr = $(this).closest("tr"); let row = table.row(tr); let id = row.data().id; Swal.fire({ icon: "warning", title: "آیا برای صدور نامه به بیمه مطمئن هستید؟", showCancelButton: true, confirmButtonColor: "#3085d6", cancelButtonColor: "#d33", confirmButtonText: "بله", cancelButtonText: "منصرف شدم!", showLoaderOnConfirm: true, preConfirm: () => { const sendToInsurancePage = window.open(sendToInsurance + id); showLoaderScreen(); setTimeout(function () { table.ajax.reload(null, false); }, 3000); // location.reload(true); }, }); }); $(document).on("click", ".btn-letter-to-police", function () { let tr = $(this).closest("tr"); let row = table.row(tr); let id = row.data().id; Swal.fire({ icon: "warning", title: "آیا برای صدور نامه به پلیس راه مطمئن هستید؟", showCancelButton: true, confirmButtonColor: "#3085d6", cancelButtonColor: "#d33", confirmButtonText: "بله", cancelButtonText: "منصرف شدم!", showLoaderOnConfirm: true, preConfirm: () => { window.open(documentRelease + id, '_blank'); showLoaderScreen(); setTimeout(function () { table.ajax.reload(null, false); }, 3000); // location.reload(true); }, }); }); $(document).on("click", "#show_all_data_cta", function () { printElem = document.getElementById("printthis"); printElement(printElem); }); function printElement(elem) { var domClone = elem.cloneNode(true); var $printSection = document.getElementById("printSection"); if (!$printSection) { var $printSection = document.createElement("div"); $printSection.id = "printSection"; document.body.appendChild($printSection); } $printSection.innerHTML = ""; $printSection.appendChild(domClone); window.print(); } $(document).on("click", "#plaque_word_add1", function () { const modal = $("#plaque_text_modal"); modal.modal("show"); modal.find(".select-text").prop("disabled", false) modal.find(".last-time-select").prop("disabled", true) }); $(document).on("click", "#plaque_word_edit1", function () { const modal = $("#plaque_text_edit_modal"); modal.modal("show"); modal.find(".select-text").prop("disabled", false) modal.find(".last-time-select").prop("disabled", true) }); function searchPlaque() { var input, filter, ul, li, i, txtValue; input = document.getElementById("serach_plaque_field"); filter = input.value.toUpperCase(); ul = document.getElementById("plaque_text_box"); li = ul.getElementsByTagName("button"); for (i = 0; i < li.length; i++) { txtValue = li[i].textContent || li[i].innerText; if (txtValue.toUpperCase().indexOf(filter) > -1) { li[i].style.display = ""; } else { li[i].style.display = "none"; } } } $('#plaque_text_box').on("click", ".select-text", function () { const modal = $(this).parents(".modal"); $("#plaque_word_add1").empty(); $("#plaque_word_add1").data("value", $(this).data("value")); if ($(this).data("value") == "*") { $("#plaque_word_add1").append(``); } else { $("#plaque_word_add1").append($(this).data("value")); } modal.find(".select-text").removeClass("last-time-select") $(this).addClass("last-time-select"); modal.modal("hide"); }); function searchPlaqueEdit() { var input, filter, ul, li, i, txtValue; input = document.getElementById("serach_plaque_field_edit"); filter = input.value.toUpperCase(); ul = document.getElementById("plaque_text_box_edit"); li = ul.getElementsByTagName("button"); for (i = 0; i < li.length; i++) { txtValue = li[i].textContent || li[i].innerText; if (txtValue.toUpperCase().indexOf(filter) > -1) { li[i].style.display = ""; } else { li[i].style.display = "none"; } } } $('#plaque_text_box_edit').on("click", ".select-text", function () { const modal = $(this).parents(".modal"); $("#plaque_word_edit1").empty(); $("#plaque_word_edit1").data("value", $(this).data("value")); if ($(this).data("value") == "*") { $("#plaque_word_edit1").append(``); } else { $("#plaque_word_edit1").append($(this).data("value")); } modal.find(".select-text").removeClass("last-time-select"); $(this).addClass("last-time-select"); modal.modal("hide"); }); $(document).on("change", ".damage-items", function () { const parent = $(this).parents(".parent-damage"); if ($(this).find("option:selected").data("basePrice") == 0) { parent.find(".damage-amount").prop("readonly", false); } else { parent.find(".damage-amount").prop("readonly", true); } }); function national_code_validation(code) { if (code == "1111111111" || code == "2222222222" || code == "3333333333" || code == "4444444444" || code == "5555555555" || code == "6666666666" || code == "7777777777" || code == "8888888888" || code == "9999999999") { return false } var L = code.length; if (L < 8 || parseInt(code, 10) == 0) { return false } code = ('0000' + code).substr(L + 4 - 10); if (parseInt(code.substr(3, 6), 10) == 0) { return false } var c = parseInt(code.substr(9, 1), 10); var s = 0; for (var i = 0; i < 9; i++) s += parseInt(code.substr(i, 1), 10) * (10 - i); s = s % 11; return (s < 2 && c == s) || (s >= 2 && c == (11 - s)); } // end national code validation