var table var arraykey = [] var idkol = null var mountKey = {} var motalebat var provinces = []; var towns = []; var mehvarname; var mehvarkind var projectile var peymankar var daterow var costrow var citychose var edarekolcity let townInput let provinceInput var projectDistance = {}; var projectDistanceEdit = {} var datepickerinputedit var consultsubmit var datepickersubmit var dateofsubmit function showLoaderScreen() { $('.starter-loader-container').css('display', 'flex').hide().fadeIn(); } function hideLoaderScreen() { $('.starter-loader-container').fadeOut(); } function formatt(d, progress, descript, motaleb) { var idkol = d.id // console.log(idkol) var showdetail = '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '' + '
' + '
' + '
' + '

' + ' * طول پروژه برحسب نوع عملیات' + '

' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '' + '
' return showdetail } function formatget(d) { var showdeatil = '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '' + '
' + '
' + '
' + '

' + ' * طول پروژه برحسب نوع عملیات' + '

' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '
' + '' + '' + '
' + '
' + '' + '
' + '
' + '
' + '' + '
' return showdeatil } $(document).ready(function () { getProvinces() table = $("#example").DataTable({ dom: 'lBfrtip', // "pagingType": "full_numbers", pagingType: "simple_numbers", 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, ajax: { url: "/road-maintenance-project/getlist", type: "GET", dataSrc: function (json) { return json.data; }, }, columns: [ { data: null, render: function (data, type, row, meta) { // console.log(meta.row); return meta.row + 1; }, }, { data: "axis_name" }, { data: "axis_type", render: function (data, type, row) { if (data == 1) { return "شریانی" } else if (data == 2) { return "اصلی" } else if (data == 3) { return "فرعی" } else if (data == 4) { return " روستایی" } else if (data == 0) { return "-" } else { var test = '' return test } } }, { data: "project_name" }, { data: "city.name" }, { data: "contractor_name" }, { data: "contract_date" }, { data: "contract_credit" }, { "className": 'details-control text-center', "orderable": false, "data": null, "defaultContent": '' }, ], buttons: [ ], }); $('#example tbody').on('click', 'td.details-control', function () { var tr = $(this).closest('tr'); var row = table.row(tr); // console.log("row", row) idkol = row.data().id if (idkol != undefined) { editSpecificProject(idkol, tr, row) } else { undefineddetail(tr, row) } }); function undefineddetail(tr, row) { if (row.child.isShown()) { row.child.hide(); tr.removeClass('shown'); } else { row.child(formatget(row.data())).show(); tr.addClass('shown'); showprovince() checked() getrowdata() } } function getrowdata() { $('#submitget').on('click', function () { // console.log("hi") getData() submitajax() }) } function checked() { for ( let index = 1; index <= $('.second-round input[type="checkbox"]').length; index++ ) { $('.second-round input[name="distance-' + index + '"]').change(function () { if (this.checked) { $("#project-distance-input-" + index).prop("disabled", false); } else { $("#project-distance-input-" + index).prop("disabled", true); } }); } } function checkededit() { for ( let index = 1; index <= $('.second-round input[type="checkbox"]').length; index++ ) { $('.second-round input[name="distance-' + index + '' + idkol + '"]').change(function () { if (this.checked) { $("#project-distance-input-" + index + idkol).prop("disabled", false); } else { $("#project-distance-input-" + index + idkol).prop("disabled", true); $("#project-distance-input-" + index + idkol).val(null); } }); } } function showprovince() { $("#province-id").empty(); $("#province-id").append(''); for (let index = 0; index < provinces.length; index++) { $("#province-id").append( "\ \ " ); } $("#province-id").change(function () { if ((value = $(this).val())) { getTowns(value); // console.log("val", value) } }); } function getTowns(id) { let reqUrl = "/contents/provinces/" + id; showLoaderScreen(); $.ajax({ url: reqUrl, type: "GET", success: function (result) { hideLoaderScreen(); //console.log(result); towns = result.data; setTownSelect(); }, error: function (error) { // hideLoaderScreen(); //console.log(error); }, }); } function setTownSelect() { $("#town-id").empty(); $("#town-id").append(''); for (let index = 0; index < towns.length; index++) { $("#town-id").append( "\ \ " ); } } function editSpecificProject(id, tr, row) { $.ajax({ url: "/road-maintenance-project/show/" + id, type: "GET", cache: false, contentType: false, processData: false, success: function (result) { // console.log("test", result); motalebat = result.data[0].contractor_credit mountKey = result.data[0].project_distance // console.log(mountKey) if (row.child.isShown()) { row.child.hide(); tr.removeClass('shown'); } else { // console.log("pp", progressbar, description, motalebat) // Open this row row.child(formatt(row.data())).show(); tr.addClass('shown'); showprogressmountKey(mountKey, row.data().id) showprovinceedit(row.data().province.id) checkededit() restrictInputOtherThanArabic($("#namemehvar" + idkol)) restrictInputOtherThanArabic($("#nameproje" + idkol)) restrictInputOtherThanArabic($("#namemoshvare" + idkol)) restrictInputOtherThanArabic($("#consult" + idkol)) // getrowdataedit() showtype(row.data().axis_type) showtimeedit() } }, error: function (error) { //console.log(error); }, }); } }) function showtype(val) { $('#axis-type-submit' + idkol).val(val) } function showprovinceedit(val) { $("#province-idedit" + idkol).empty(); $("#province-idedit" + idkol).append(''); for (let index = 0; index < provinces.length; index++) { $("#province-idedit" + idkol).append( "\ \ " ); } if (val != "-") { $("#province-idedit" + idkol).val(val); getTownsedit(val); } $("#province-idedit" + idkol).change(function () { if ((value = $(this).val())) { getTownsedit(value); // console.log("val", value) } }); } function getTownsedit(id) { let reqUrl = "/contents/provinces/" + id; showLoaderScreen(); $.ajax({ url: reqUrl, type: "GET", success: function (result) { hideLoaderScreen(); //console.log(result); towns = result.data; setTownSelectedit(); }, error: function (error) { // hideLoaderScreen(); //console.log(error); }, }); } function setTownSelectedit() { $("#town-idedit" + idkol).empty(); $("#town-idedit" + idkol).append(''); for (let index = 0; index < towns.length; index++) { $("#town-idedit" + idkol).append( "\ \ " ); } } $('#add-project-button').on('click', function () { table.row.add( $('1 -oooooo')[0]).draw(); $('#example tbody td.details-control ')[0].click() showtime() restrictInputOtherThanArabic($('#mehvar-name')) restrictInputOtherThanArabic($('#project-type')) restrictInputOtherThanArabic($('#peymankar')) }); function showtime() { datepickersubmit = null // console.log("hi") datepickersubmit = $("input[name=contract-date]").persianDatepicker({ format: "YYYY/MM/DD", initialValue: false, autoClose: true, }); } function showtimeedit() { datepickerinputedit = null // console.log("hi") datepickerinputedit = $("#dategharar" + idkol).persianDatepicker({ format: "YYYY/MM/DD", initialValueType: "persian", initialValue: true, autoClose: true, }); // console.log("poipppoo", datepickerinputedit) } function getData() { mehvarname = $("#mehvar-name").val() $("#mehvar-type").change(function () { if ((value = $(this).val())) { mehvarkind = value; } }); projectile = $("#project-type").val() peymankar = $("#peymankar").val() daterow = $("#contract-date-id").val() dateofsubmit = datepickersubmit.getState().selected costrow = $("#mablagh").val() provinceInput = $('select[name="province"]') .children("option:selected") .val(); townInput = $('select[name="town"]').children("option:selected").val(); saveSecondRound() consultsubmit = $("#consultsubmit").val() } function saveSecondRound() { for ( let index = 1; index <= $('.second-round input[type="checkbox"]').length; index++ ) { if ($("#project-distance-" + index).is(":checked")) { projectDistance[index] = [$("#project-distance-input-" + index).val()]; } } } function saveeditdata() { projectDistanceEdit = {} for ( let index = 1; index <= $('.second-round input[type="checkbox"]').length; index++ ) { if ($("#project-distance-" + index + idkol).is(":checked")) { projectDistanceEdit[index] = [$("#project-distance-input-" + index + idkol).val()]; } } console.log(projectDistanceEdit) } function submitajax() { let reqUrl = "/road-maintenance-project"; formData = new FormData(); if (mehvarname != null && mehvarname != undefined) { formData.append("axis-name", mehvarname); } if (mehvarkind != null && mehvarkind != undefined && mehvarkind != 0) { formData.append("axis-type", mehvarkind); } if (projectile != null && projectile != undefined) { formData.append("project-name", projectile); } if (consultsubmit != null && consultsubmit != undefined) { formData.append("consultant-name", consultsubmit); } if (provinceInput != null && provinceInput != undefined && provinceInput != 0) { formData.append("province-id", provinceInput); } if (townInput != null && townInput != undefined && townInput != 0) { formData.append("city-id", townInput); } if (peymankar != null && peymankar != undefined) { formData.append("contractor-name", peymankar); } if (projectDistance != null && projectDistance != undefined) { let projectDistanceJson = JSON.stringify(projectDistance); if (projectDistanceJson.length > 2) { formData.append("project-distance", projectDistanceJson); } } if (daterow != null && daterow != undefined) { formData.append("contract-date", dateofsubmit.dateObject.State.unixtime); } if (costrow != null && costrow != undefined) { formData.append("contract-credit", costrow); } // for (var value of formData.values()) { // console.log(value); // } // showLoaderScreen(); Swal.fire({ icon: 'warning', title: 'آیا مطمئن هستید؟', text: "این عملیات قابل بازگشت نیست!", showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'بله، تایید می‌شود', cancelButtonText: 'منصرف شدم!', showLoaderOnConfirm: true, preConfirm: () => { $.ajax({ url: reqUrl, type: "POST", headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: formData, cache: false, contentType: false, processData: false, success: function (result) { showLoaderScreen() ajaxcalltable() }, error: function (error) { console.log(error) Swal.fire({ icon: 'error', title: 'خطا', text: 'مشکلی پیش آمده', confirmButtonText: 'بستن' }) } }); }, }) } function getProvinces() { let reqUrl = "/contents/provinces"; // showLoaderScreen(); $.ajax({ url: reqUrl, type: "GET", success: function (result) { hideLoaderScreen(); //console.log(result); provinces = result.data; // console.log(provinces) }, error: function (error) { // hideLoaderScreen(); //console.log(error); }, }); } function showprogressmountKey(mount, id) { arraykey = [] // console.log(mount) for (var key in mount) { // console.log(key) if (mount.hasOwnProperty(key)) { // var maxmount = maxi[key] arraykey.push(key) var val = mount[key]; // console.log(val) showlabel(key, val, id) } } } function showlabel(number, value, id) { if (number == 1) { $('#project-distance-1' + idkol).prop('checked', true) $("#project-distance-input-1" + idkol).prop("disabled", false); $("#project-distance-input-1" + idkol).val(value[0]) } else if (number == 2) { $('#project-distance-2' + idkol).prop('checked', true) $("#project-distance-input-2" + idkol).prop("disabled", false); $("#project-distance-input-2" + idkol).val(value[0]) } else if (number == 3) { $('#project-distance-3' + idkol).prop('checked', true) $("#project-distance-input-3" + idkol).prop("disabled", false); $("#project-distance-input-3" + idkol).val(value[0]) } else if (number == 4) { $('#project-distance-4' + idkol).prop('checked', true) $("#project-distance-input-4" + idkol).prop("disabled", false); $("#project-distance-input-4" + idkol).val(value[0]) } else if (number == 5) { $('#project-distance-5' + idkol).prop('checked', true) $("#project-distance-input-5" + idkol).prop("disabled", false); $("#project-distance-input-5" + idkol).val(value[0]) } else if (number == 6) { $('#project-distance-6' + idkol).prop('checked', true) $("#project-distance-input-6" + idkol).prop("disabled", false); $("#project-distance-input-6" + idkol).val(value[0]) } else if (number == 7) { $('#project-distance-7' + idkol).prop('checked', true) $("#project-distance-input-7" + idkol).prop("disabled", false); $("#project-distance-input-7" + idkol).val(value[0]) } else if (number == 8) { $('#project-distance-8' + idkol).prop('checked', true) $("#project-distance-input-8" + idkol).prop("disabled", false); $("#project-distance-input-8" + idkol).val(value[0]) } else if (number == 9) { $('#project-distance-9' + idkol).prop('checked', true) $("#project-distance-input-9" + idkol).prop("disabled", false); $("#project-distance-input-9" + idkol).val(value[0]) } else if (number == 10) { $('#project-distance-10' + idkol).prop('checked', true) $("#project-distance-input-10" + idkol).prop("disabled", false); $("#project-distance-input-10" + idkol).val(value[0]) } else if (number == 11) { $('#project-distance-11' + idkol).prop('checked', true) $("#project-distance-input-11" + idkol).prop("disabled", false); $("#project-distance-input-11" + idkol).val(value[0]) } else if (number == 12) { $('#project-distance-12' + idkol).prop('checked', true) $("#project-distance-input-12" + idkol).prop("disabled", false); $("#project-distance-input-12" + idkol).val(value[0]) } else if (number == 13) { $('#project-distance-13' + idkol).prop('checked', true) $("#project-distance-input-13" + idkol).prop("disabled", false); $("#project-distance-input-13" + idkol).val(value[0]) } } function restrictInputOtherThanArabic($field) { // Arabic characters fall in the Unicode range 0600 - 06FF var arabicCharUnicodeRange = /[\u0600-\u06FF]/; $field.bind("keypress", function (event) { var key = event.which; // 0 = numpad // 8 = backspace // 32 = space if (key == 8 || key == 0 || key === 32) { return true; } var str = String.fromCharCode(key); if (arabicCharUnicodeRange.test(str)) { return true; } return false; }); } function isPersian(key) { var p = /^[\u0600-\u06FF\s]+$/; return p.test(key) && key != ' '; } function ajaxcall() { saveeditdata() var namemehvaredit = $("#namemehvar" + idkol).val() var edittype = $('select[name="axis-type-submit' + idkol + '"]') .children("option:selected") .val(); var nameproje = $("#nameproje" + idkol).val() var namemoshvareedit = $("#namemoshvare" + idkol).val() var dategharar = $("#dategharar" + idkol).val() var contractDate = datepickerinputedit.getState().selected; var moneyedit = $("#costmoney" + idkol).val() var provinceInputedit = $('select[name="province"]') .children("option:selected") .val(); var townInputedit = $('select[name="town"]').children("option:selected").val(); var consult = $("#consult" + idkol).val() let formData = new FormData(); if (namemehvaredit != null && namemehvaredit != undefined) { formData.append("axis-name", namemehvaredit); } if (edittype != null && edittype != undefined && edittype != 0) { formData.append("axis-type", edittype); } if (nameproje != null && nameproje != undefined) { formData.append("project-name", nameproje); } if (provinceInputedit != null && provinceInputedit != undefined && provinceInputedit != 0) { formData.append("province-id", provinceInputedit); } if (townInputedit != null && townInputedit != undefined && townInputedit != 0) { formData.append("city-id", townInputedit); } if (namemoshvareedit != null && namemoshvareedit != undefined) { formData.append("contractor-name", namemoshvareedit); } if (projectDistanceEdit != null && projectDistanceEdit != undefined) { let projectDistanceJson = JSON.stringify(projectDistanceEdit); if (projectDistanceJson.length > 2) { formData.append("project-distance", projectDistanceJson); } else formData.append("project-distance", null); } if (contractDate != null && contractDate != undefined) { formData.append("contract-date", contractDate.dateObject.State.unixtime); } if (consult != null && consult != undefined) { formData.append("consultant_name", consult); } if (moneyedit != null && moneyedit != undefined) { formData.append("contract-credit", moneyedit); } // for (var value of formData.values()) { // console.log(value); // } Swal.fire({ icon: 'warning', title: 'آیا مطمئن هستید؟', text: "این عملیات قابل بازگشت نیست!", showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'بله، تایید می‌شود', cancelButtonText: 'منصرف شدم!', showLoaderOnConfirm: true, preConfirm: () => { $.ajax({ url: "/road-maintenance-project/" + idkol + "/edit", type: "POST", headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: formData, cache: false, contentType: false, processData: false, success: function (result) { showLoaderScreen() ajaxcalltable() }, error: function (error) { console.log(error) Swal.fire({ icon: 'error', title: 'خطا', text: 'مشکلی پیش آمده', confirmButtonText: 'بستن' }) } }); }, }) } function ajaxcalltable() { $.ajax({ url: "/road-maintenance-project/getlist", type: "GET", success: function (result) { // console.log(result.data[0]); $("#example").dataTable().fnClearTable(); $("#example").dataTable().fnAddData(result.data); hideLoaderScreen() Swal.fire({ icon: 'success', title: 'با موفقیت بروزرسانی شد', confirmButtonText: 'بستن' }) }, }); }