Files
backend/public/dist/js/addproject.js
2024-02-01 09:53:53 +00:00

1147 lines
42 KiB
JavaScript

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 = '<form>' +
'<div class="form-row">' +
'<div class="form-group col-md-2">' +
'<label> نام محور </label>' +
'<input style="height:53px" type="text" class="form-control" value="' + d.axis_name + '" name="namemehvar" id="namemehvar' + d.id + '" placeholder=" نام محور">' +
'</div>' +
'<div class="form-group col-md-2">' +
'<label>' +
'نوع محور' +
'</label>' +
'<select class="form-control" name="axis-type-submit' + idkol + '" id="axis-type-submit' + idkol + '" style="height: 52px;">' +
'<option value="0">انتخاب نوع محور</option>' +
'<option value="1">شریانی</option>' +
'<option value="2">اصلی</option>' +
'<option value="3">فرعی</option>' +
'<option value="4">روستایی</option>' +
'</select>' +
'</div>' +
'<div class="form-group col-md-2">' +
'<label> عنوان پروژه </label>' +
'<input style="height:53px" type="text" class="form-control" value="' + d.project_name + '" name="nameproje" id="nameproje' + d.id + '" placeholder=" نام پروژه">' +
'</div>' +
'<div class="form-group col-md-2">' +
'<label>اداره کل' +
'</label>' +
'<select class="form-control" name="province" id="province-idedit' + idkol + '" style="height:54px">' +
'</select>' +
'</div>' +
'<div class="form-group col-md-2">' +
'<label>شهرستان ' +
'</label>' +
'<select class="form-control" name="town" id="town-idedit' + idkol + '" style="height:54px">' +
'<option value="0">انتخاب شهرستان</option>' +
'</select>' +
'</div>' +
'<div class="form-group col-md-2">' +
'<label> پیمانکار </label>' +
'<input style="height:53px" type="text" class="form-control" value="' + d.contractor_name + '" name="namemoshvare" id="namemoshvare' + d.id + '" placeholder=" پیمانکار">' +
'</div>' +
'<div class="form-group col-md-2">' +
'<label> مشاور </label>' +
'<input style="height:53px" type="text" class="form-control" name="consult" id="consult' + d.id + '" placeholder=" نام مشاور">' +
'</div>' +
'<div class="form-group col-md-2">' +
'<label> تاریخ قرارداد </label>' +
'<input style="height:53px" type="text" class="form-control" value="' + d.contract_date + '" name="dategharar' + idkol + '" id="dategharar' + d.id + '" placeholder=" تاریخ قرارداد">' +
'</div>' +
'<div class="form-group col-md-2">' +
'<label> مبلغ قرارداد<small>(میلیارد ریال)</small> </label>' +
'<input style="height:53px" type="number" class="form-control" value="' + d.contract_credit + '" name="costmoney" id="costmoney' + d.id + '" placeholder=" مبلغ قرارداد">' +
'</div>' +
'</div>' +
' <div class="second-round">' +
'<p class="second-round-title">' +
' * طول پروژه برحسب نوع عملیات' +
'</p>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-1' + idkol + '" name="distance-1' + idkol + '" />' +
'<label for="project-distance-1' + idkol + '">' +
' روکش آسفالت' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-1' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-2' + idkol + '" name="distance-2' + idkol + '" />' +
'<label for="project-distance-2' + idkol + '">' +
'آسفالت ماسه' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-2' + idkol + '"placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-3' + idkol + '" name="distance-3' + idkol + '" />' +
'<label for="project-distance-3' + idkol + '">' +
'بازیافت گرم/سرد' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-3' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-4' + idkol + '" name="distance-4' + idkol + '" />' +
'<label for="project-distance-4' + idkol + '">' +
'میکروسرفیسینگ' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-4' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-5' + idkol + '" name="distance-5' + idkol + '" />' +
'<label for="project-distance-5' + idkol + '">' +
' چیپ سیل' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-5' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-6' + idkol + '" name="distance-6' + idkol + '" />' +
'<label for="project-distance-6' + idkol + '">' +
' اسلاری سیل' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-6' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-7' + idkol + '" name="distance-7' + idkol + '" />' +
'<label for="project-distance-7' + idkol + '">' +
' اسکراب سیل' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-7' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-8' + idkol + '" name="distance-8' + idkol + '" />' +
'<label for="project-distance-8' + idkol + '">' +
'فوگ سیل' +
'</label>' +
'</div >' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-8' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-9' + idkol + '" name="distance-9' + idkol + '" />' +
'<label for="project-distance-9' + idkol + '">' +
' سیل کت' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-9' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-10' + idkol + '" name="distance-10' + idkol + '" />' +
'<label for="project-distance-10' + idkol + '">' +
' کیپ سیل' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-10' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-11' + idkol + '" name="distance-11' + idkol + '" />' +
'<label for="project-distance-11' + idkol + '">' +
' آسفالت سرد/ردمیکس' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-11' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-12' + idkol + '" name="distance-12' + idkol + '" />' +
'<label for="project-distance-12' + idkol + '">' +
' لکه گیری' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-12' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-13' + idkol + '" name="distance-13' + idkol + '" />' +
'<label for="project-distance-13' + idkol + '">' +
' درزگیری' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-13' + idkol + '" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'</div>' +
'<button type="button" class="btn btn-success float-left" id="submit' + idkol + '" onclick="ajaxcall(idkol)" style=" width: 100px;"> ثبت ' +
'</button>' +
'</form>'
return showdetail
}
function formatget(d) {
var showdeatil = '<form>' +
'<div class="form-row">' +
'<div class="form-group col-md-3">' +
'<label>اداره کل' +
'</label>' +
'<select class="form-control" name="province" id="province-id">' +
'</select>' +
'</div>' +
'<div class="form-group col-md-3">' +
'<label>شهرستان ' +
'</label>' +
'<select class="form-control" name="town" id="town-id">' +
'<option value="0">انتخاب شهرستان</option>' +
'</select>' +
'</div>' +
'<div class="form-group col-md-2">' +
'<label> مشاور </label>' +
'<input style="height:38px" type="text" class="form-control" name="consultsubmit" id="consultsubmit" placeholder=" نام مشاور">' +
'</div>' +
'</div>' +
' <div class="second-round">' +
'<p class="second-round-title">' +
' * طول پروژه برحسب نوع عملیات' +
'</p>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-1" name="distance-1" />' +
'<label for="project-distance-1">' +
'آسفالت روکش' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-1" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-2" name="distance-2" />' +
'<label for="project-distance-2">' +
'آسفالت ماسه' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-2"placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-3" name="distance-3" />' +
'<label for="project-distance-3">' +
'بازیافت گرم/سرد' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-3" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-4" name="distance-4" />' +
'<label for="project-distance-4">' +
'میکروسرفیسینگ' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-4" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-5" name="distance-5" />' +
'<label for="project-distance-5">' +
' چیپ سیل' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-5" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-6" name="distance-6" />' +
'<label for="project-distance-6">' +
' اسلاری سیل' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-6" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-7" name="distance-7" />' +
'<label for="project-distance-7">' +
' اسکراب سیل' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-7" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-8" name="distance-8" />' +
'<label for="project-distance-8">' +
'فوگ سیل' +
'</label>' +
'</div >' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-8" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-9" name="distance-9" />' +
'<label for="project-distance-9">' +
' سیل کت' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-9" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-10" name="distance-10" />' +
'<label for="project-distance-10">' +
' کیپ سیل' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-10" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-11" name="distance-11" />' +
'<label for="project-distance-11">' +
' آسفالت سرد/ردمیکس' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-11" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-12" name="distance-12" />' +
'<label for="project-distance-12">' +
' لکه گیری' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-12" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'<div class="form-row">' +
'<div class="icheck-primary d-inline form-group col-md-2">' +
'<input type="checkbox" id="project-distance-13" name="distance-13" />' +
'<label for="project-distance-13">' +
' درزگیری' +
'</label>' +
'</div>' +
'<div class="form-group col-md-4 distance-input">' +
'<input type="text" class="form-control widthcolomn" name="axis-name" id="project-distance-input-13" placeholder="طول پروژه (به کیلومتر)" disabled />' +
'</div>' +
'</div>' +
'</div>' +
'<button type="button" class="btn btn-success float-left" id="submitget" style="width: 100px;"> ثبت ' +
'</button>' +
'</form>'
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 = '<select class="form-control" name="mehvar-type" id="mehvar-type">' +
'<option value="0" > انتخاب </option>' +
'<option value="1">شریانی</option>' +
'<option value="2">اصلی</option>' +
'<option value="3">فرعی</option>' +
'<option value="4">روستایی</option>' +
'</select>'
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('<option value="0">انتخاب اداره کل</option>');
for (let index = 0; index < provinces.length; index++) {
$("#province-id").append(
"\
<option value=" +
provinces[index].id +
">" +
provinces[index].name_fa +
"</option>\
"
);
}
$("#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('<option value="0">انتخاب شهرستان</option>');
for (let index = 0; index < towns.length; index++) {
$("#town-id").append(
"\
<option value=" +
towns[index].id +
">" +
towns[index].name_fa +
"</option>\
"
);
}
}
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('<option value="0">انتخاب اداره کل</option>');
for (let index = 0; index < provinces.length; index++) {
$("#province-idedit" + idkol).append(
"\
<option value=" +
provinces[index].id +
">" +
provinces[index].name_fa +
"</option>\
"
);
}
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('<option value="0">انتخاب شهرستان</option>');
for (let index = 0; index < towns.length; index++) {
$("#town-idedit" + idkol).append(
"\
<option value=" +
towns[index].id +
">" +
towns[index].name_fa +
"</option>\
"
);
}
}
$('#add-project-button').on('click', function () {
table.row.add(
$('<tr><td>1</td><td><input class="form-control" type="text" id="mehvar-name" name="mehvar-name" placeholder="نام محور"></td><td> <select class="form-control" name="mehvar-type" id="mehvar-type"><option value="0" > انتخاب </option ><option value="1">شریانی</option><option value="2">اصلی</option><option value="3">فرعی</option><option value="4">روستایی</option></select ></td><td><input class="form-control" type="text" id="project-type" name="project-type" placeholder="عنوان پروژه"></td><td>-</td><td><input class="form-control" type="text" id="peymankar" name="peymankar" placeholder="پیمانکار"></td><td><input type="text" class="form-control" name="contract-date" style="" id = "contract-date-id" placeholder="تاریخ قرارداد" /></td><td><input class="form-control" type="number" id="mablagh" name="mablagh" style="" placeholder="مبلغ قرارداد"></td><td>oooooo</td></tr>')[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: 'بستن'
})
},
});
}