6389 lines
209 KiB
JavaScript
6389 lines
209 KiB
JavaScript
var mapUrl = "https://rmsmap.rmto.ir/141map/";
|
|
var addMap = null;
|
|
var editMap = null;
|
|
|
|
var startMarkerAdd = null;
|
|
var endMarkerAdd = null;
|
|
|
|
var startMarkerEdit = null;
|
|
var endMarkerEdit = null;
|
|
|
|
var routeControls = [];
|
|
|
|
var excelDatepickerFirstTable = {};
|
|
|
|
var isSetStartMarkerAdd = false;
|
|
var isSetEndMarkerAdd = false;
|
|
|
|
var isSetStartMarkerEdit = false;
|
|
var isSetEndMarkerEdit = false;
|
|
|
|
var contractRowId;
|
|
var addDatepicker;
|
|
var editDatepicker;
|
|
|
|
var titlecontract;
|
|
var provinceIdForSub;
|
|
var statusIdForSub;
|
|
var ProTypeChoose = 1;
|
|
var historyTable;
|
|
var arrAddOprationsDisable = [0, 0, 0, 0];
|
|
var arrEditOprationsDisable = [0, 0, 0, 0];
|
|
var updateId;
|
|
var addNewSubitemStatus = "true";
|
|
var queryParemsExcel = [];
|
|
var PERMISSIONS = [];
|
|
var isReloadAjax = false;
|
|
var subcontract_nature = 0;
|
|
var operation_res;
|
|
|
|
var documentsAddContract = []
|
|
var documentsShowContract = []
|
|
var documentsDeleteContract = []
|
|
|
|
$("[data-mask]").inputmask();
|
|
var startDivIcon = L.divIcon({
|
|
html: `
|
|
<div id="pin-marker-start" class="pin-marker">
|
|
<div class="map-pin-marker">
|
|
<div class="pin-main-circle"></div>
|
|
<div class="pin-white-circle"></div>
|
|
<div class="pin-title-circle">
|
|
<span class="title-circle-text">شروع</span>
|
|
</div>
|
|
<div class="pin-main-line"></div>
|
|
</div>
|
|
<div class="pin-main-shadow">
|
|
<div class="shadow-dot">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`,
|
|
iconSize: [55, 75],
|
|
iconAnchor: [33, 64],
|
|
});
|
|
|
|
var endDivIcon = L.divIcon({
|
|
html: `
|
|
<div id="pin-marker-end" class="pin-marker">
|
|
<div class="map-pin-marker">
|
|
<div class="pin-main-circle"></div>
|
|
<div class="pin-white-circle"></div>
|
|
<div class="pin-title-circle">
|
|
<span class="title-circle-text">پایان</span>
|
|
</div>
|
|
<div class="pin-main-line"></div>
|
|
</div>
|
|
<div class="pin-main-shadow">
|
|
<div class="shadow-dot">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`,
|
|
iconSize: [55, 75],
|
|
iconAnchor: [33, 64],
|
|
});
|
|
|
|
var startDivIconEdit = L.divIcon({
|
|
html: `
|
|
<div id="edit_pin-marker-start" class="pin-marker">
|
|
<div class="map-pin-marker">
|
|
<div class="pin-main-circle"></div>
|
|
<div class="pin-white-circle"></div>
|
|
<div class="pin-title-circle">
|
|
<span class="title-circle-text">شروع</span>
|
|
</div>
|
|
<div class="pin-main-line"></div>
|
|
</div>
|
|
<div class="pin-main-shadow">
|
|
<div class="shadow-dot">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`,
|
|
iconSize: [55, 75],
|
|
iconAnchor: [33, 64],
|
|
});
|
|
|
|
var endDivIconEdit = L.divIcon({
|
|
html: `
|
|
<div id="edit_pin-marker-end" class="pin-marker">
|
|
<div class="map-pin-marker">
|
|
<div class="pin-main-circle"></div>
|
|
<div class="pin-white-circle"></div>
|
|
<div class="pin-title-circle">
|
|
<span class="title-circle-text">پایان</span>
|
|
</div>
|
|
<div class="pin-main-line"></div>
|
|
</div>
|
|
<div class="pin-main-shadow">
|
|
<div class="shadow-dot">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
`,
|
|
iconSize: [55, 75],
|
|
iconAnchor: [33, 64],
|
|
});
|
|
|
|
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;
|
|
},
|
|
});
|
|
|
|
|
|
const docuumentAddBoxComponent = (document, index, type) =>
|
|
`<div class="col-4 p-1">
|
|
<div
|
|
class="d-flex align-items-center justify-content-between rounded border p-2">
|
|
<span
|
|
style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">${document.title}</span>
|
|
<button data-id="${index}" data-type="${type}" class="btn btn-outline-danger btn-sm add-document-delete-btn"><i
|
|
class="fa fa-trash"></i></button>
|
|
</div>
|
|
</div>`;
|
|
|
|
const docuumentShowBoxComponent = (document, index, type) =>
|
|
`<div class="col-4 p-1">
|
|
<div
|
|
class="d-flex align-items-center justify-content-between rounded border p-2">
|
|
<span
|
|
style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">${document.title}</span>
|
|
<div class="d-flex align-items-center">
|
|
<a href="/storage/${document.file}" class="btn btn-outline-info btn-sm ml-1" download><i
|
|
class="fa fa-download"></i></a>
|
|
<button data-id="${index}" data-type="${type}" class="btn btn-outline-danger btn-sm show-document-delete-btn"><i
|
|
class="fa fa-trash"></i></button>
|
|
</div>
|
|
</div>
|
|
</div>`;
|
|
|
|
function showLoaderScreen() {
|
|
$(".divloader").css("display", "flex").hide().fadeIn();
|
|
}
|
|
|
|
function hideLoaderScreen() {
|
|
$(".divloader").fadeOut();
|
|
}
|
|
|
|
$(document).ready(function () {
|
|
// PERMISSIONS
|
|
|
|
$.ajax({
|
|
url: "/webapi/user/get-permission",
|
|
type: "GET",
|
|
cache: false,
|
|
async: false,
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (result) {
|
|
PERMISSIONS = result.data;
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
$.ajax({
|
|
url: "/csi/operation",
|
|
type: "GET",
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (res) {
|
|
operation_res = res;
|
|
$.each(operation_res, function (key, value) {
|
|
$("#select_project_type_excel").append(
|
|
"<option value='" + value.en_name + "'>" + value.farsi + "</option>"
|
|
);
|
|
});
|
|
$.each(operation_res, function (key, value) {
|
|
$(".project-type").append(
|
|
"<option value='" + value.id + "'>" + value.farsi + "</option>"
|
|
);
|
|
});
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
|
|
/// [start] contract_show_province_filter-word
|
|
// if (
|
|
// $.inArray("word-export-contract", PERMISSIONS) != -1 ||
|
|
// $.inArray("word-export-province", PERMISSIONS) != -1
|
|
// ) {
|
|
$.ajax({
|
|
//// [start] contract_add_province_url-word
|
|
url: `/webapi/getuser/province-perm?type=all`,
|
|
// url: `/webapi/getuser/province-perm${$.inArray("word-export-contract", PERMISSIONS) != -1 ? "?type=all" : ""
|
|
// }`,
|
|
//// [end] contract_add_province_url-word
|
|
type: "GET",
|
|
beforeSend: function () {
|
|
showLoaderScreen();
|
|
},
|
|
success: function (result) {
|
|
const provinces = result.data;
|
|
$("#select-province-word").empty();
|
|
|
|
for (let index = 0; index < provinces.length; index++) {
|
|
$("#select-province-word").append(
|
|
"\
|
|
<option value=" +
|
|
provinces[index].id +
|
|
">" +
|
|
provinces[index].name_fa +
|
|
"</option>\
|
|
"
|
|
);
|
|
}
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
// }
|
|
/// [end] contract_show_province_filter-word
|
|
|
|
/// [start] contract_show_province_filter
|
|
if (
|
|
$.inArray("show-contract", PERMISSIONS) != -1 ||
|
|
$.inArray("show-contract-province", PERMISSIONS) != -1
|
|
) {
|
|
$.ajax({
|
|
//// [start] contract_add_province_url
|
|
url: `/webapi/getuser/province-perm${$.inArray("show-contract", PERMISSIONS) != -1 ? "?type=all" : ""
|
|
}`,
|
|
//// [end] contract_add_province_url
|
|
type: "GET",
|
|
beforeSend: function () {
|
|
showLoaderScreen();
|
|
},
|
|
success: function (result) {
|
|
const provinces = result.data;
|
|
$("#select-province").empty();
|
|
$("#select-province-excel").append(
|
|
'<option value="0">انتخاب استان</option>'
|
|
);
|
|
|
|
for (let index = 0; index < provinces.length; index++) {
|
|
$("#select-province-excel").append(
|
|
"\
|
|
<option value=" +
|
|
provinces[index].id +
|
|
">" +
|
|
provinces[index].name_fa +
|
|
"</option>\
|
|
"
|
|
);
|
|
$("#select-province").append(
|
|
"\
|
|
<option value=" +
|
|
provinces[index].id +
|
|
">" +
|
|
provinces[index].name_fa +
|
|
"</option>\
|
|
"
|
|
);
|
|
}
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
/// [end] contract_show_province_filter
|
|
|
|
/// [START] add-contract-btn
|
|
if (
|
|
!(
|
|
$.inArray("add-contract", PERMISSIONS) != -1 ||
|
|
$.inArray("add-contract-province", PERMISSIONS) != -1
|
|
)
|
|
)
|
|
$(".add-contract-btn").remove();
|
|
/// [END] add-contract-btn
|
|
|
|
/// [start] contract_add_province
|
|
if (
|
|
$.inArray("add-contract", PERMISSIONS) != -1 ||
|
|
$.inArray("add-contract-province", PERMISSIONS) != -1
|
|
) {
|
|
$.ajax({
|
|
//// [start] contract_add_province_url
|
|
url: `/webapi/getuser/province-perm${$.inArray("add-contract", PERMISSIONS) != -1 ? "?type=all" : ""
|
|
}`,
|
|
//// [end] contract_add_province_url
|
|
type: "GET",
|
|
beforeSend: function () {
|
|
showLoaderScreen();
|
|
},
|
|
success: function (result) {
|
|
const provinces = result.data;
|
|
$("#add-contract-province").empty();
|
|
$("#add-contract-province").append(
|
|
'<option value="0">انتخاب استان</option>'
|
|
);
|
|
|
|
for (let index = 0; index < provinces.length; index++) {
|
|
$("#add-contract-province").append(
|
|
"\
|
|
<option value=" +
|
|
provinces[index].id +
|
|
">" +
|
|
provinces[index].name_fa +
|
|
"</option>\
|
|
"
|
|
);
|
|
}
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
/// [end] contract_add_province
|
|
|
|
/// [start] contract_edit_province
|
|
if (
|
|
$.inArray("edit-contract", PERMISSIONS) != -1 ||
|
|
$.inArray("edit-contract-province", PERMISSIONS) != -1
|
|
) {
|
|
$.ajax({
|
|
/// [start] contract_edit_province_url
|
|
url: `/webapi/getuser/province-perm${$.inArray("edit-contract", PERMISSIONS) != -1 ? "?type=all" : ""
|
|
}`,
|
|
/// [end] contract_edit_province_url
|
|
type: "GET",
|
|
beforeSend: function () {
|
|
showLoaderScreen();
|
|
},
|
|
success: function (result) {
|
|
const provinces = result.data;
|
|
|
|
$("#edit-contract-province").empty();
|
|
$("#edit-contract-province").append(
|
|
'<option value="0">انتخاب استان</option>'
|
|
);
|
|
|
|
for (let index = 0; index < provinces.length; index++) {
|
|
$("#edit-contract-province").append(
|
|
"\
|
|
<option value=" +
|
|
provinces[index].id +
|
|
">" +
|
|
provinces[index].name_fa +
|
|
"</option>\
|
|
"
|
|
);
|
|
}
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
/// [end] contract_edit_province
|
|
|
|
// PERMISSIONS
|
|
|
|
$("#datapicker-from-excel-table").prop(
|
|
"disabled",
|
|
$.inArray(
|
|
$("#select_project_type_excel").val(),
|
|
$("#select_project_type_excel").data("activeDate")
|
|
) != -1
|
|
);
|
|
$("#datapicker-to-excel-table").prop(
|
|
"disabled",
|
|
$.inArray(
|
|
$("#select_project_type_excel").val(),
|
|
$("#select_project_type_excel").data("activeDate")
|
|
) != -1
|
|
);
|
|
|
|
$("#add-contract-Plan-num").select2({
|
|
multiple: true,
|
|
theme: "bootstrap4",
|
|
language: {
|
|
noResults: function () {
|
|
return "نتیجه ای یافت نشد";
|
|
},
|
|
},
|
|
});
|
|
$("#edit-contract-Plan-num").select2({
|
|
multiple: true,
|
|
theme: "bootstrap4",
|
|
language: {
|
|
noResults: function () {
|
|
return "نتیجه ای یافت نشد";
|
|
},
|
|
},
|
|
});
|
|
$("#select-province").select2({
|
|
placeholder: "انتخاب استان ",
|
|
multiple: true,
|
|
dir: "rtl",
|
|
});
|
|
|
|
$(".last_statusfilter").select2({
|
|
placeholder: "انتخاب وضعیت ",
|
|
multiple: true,
|
|
dir: "rtl",
|
|
});
|
|
|
|
$(".project-type").select2({
|
|
placeholder: "ماهیت پروژه ",
|
|
multiple: true,
|
|
dir: "rtl",
|
|
});
|
|
appendYearFilter();
|
|
// end main page table
|
|
showLoaderScreen();
|
|
table = $("#main-table-contract").DataTable({
|
|
serverSide: true,
|
|
dom: "<lB<t>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, "desc"]
|
|
],
|
|
processing: true,
|
|
select: true,
|
|
ajax: {
|
|
url: "/contracts/index",
|
|
type: "GET",
|
|
beforeSend: function () {
|
|
showLoaderScreen();
|
|
},
|
|
complete: function () {
|
|
hideLoaderScreen();
|
|
},
|
|
dataSrc: function (json) {
|
|
if (json.can_submit == 0) {
|
|
$('#point-add').prop('disabled', true)
|
|
}
|
|
canSubmit = json.can_submit
|
|
return json.data;
|
|
},
|
|
},
|
|
columns: [
|
|
{
|
|
className: "text-center align-middle",
|
|
data: "unique_id",
|
|
name: {
|
|
name: 'unique_id',
|
|
type: 'text'
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: "province_fa",
|
|
name: {
|
|
name: 'contracts.province_fa',
|
|
type: 'text'
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: "office_fa",
|
|
name: {
|
|
name: 'office_fa',
|
|
type: 'text'
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: "title",
|
|
name: {
|
|
name: 'title',
|
|
type: 'text'
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'contract_date',
|
|
type: 'date_between'
|
|
},
|
|
render: function (data) {
|
|
if (data.contract_date != null) {
|
|
return data.contract_date.replace(/-/g, "/");
|
|
}
|
|
return "";
|
|
},
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: "status_fa",
|
|
name: {
|
|
name: 'status_fa',
|
|
type: 'text'
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: "contract_peymankar",
|
|
name: {
|
|
name: 'contract_peymankar',
|
|
type: 'text'
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: "contract_moshaver_tarahi",
|
|
name: {
|
|
name: 'contracts.contract_moshaver_tarahi',
|
|
type: 'text'
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: "contract_moshaver_nezarat",
|
|
name: {
|
|
name: 'contracts.contract_moshaver_nezarat',
|
|
type: 'text'
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: "contract_number",
|
|
name: {
|
|
name: 'contract_number',
|
|
type: 'text'
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'national_credit_license',
|
|
type: 'text'
|
|
},
|
|
render: function (data) {
|
|
if (data.national_credit_license == 1) {
|
|
return `<i class="fa fa-check"></i>`;
|
|
} else {
|
|
return `-`;
|
|
}
|
|
},
|
|
searchable: true,
|
|
orderable: false,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'province_credit_license',
|
|
type: 'text'
|
|
},
|
|
render: function (data) {
|
|
if (data.province_credit_license == 1) {
|
|
return `<i class="fa fa-check"></i>`;
|
|
} else {
|
|
return `-`;
|
|
}
|
|
},
|
|
searchable: true,
|
|
orderable: false,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'headquarter_issued_license',
|
|
type: 'text'
|
|
},
|
|
render: function (data) {
|
|
if (data.headquarter_issued_license == 1) {
|
|
return `<i class="fa fa-check"></i>`;
|
|
} else {
|
|
return `-`;
|
|
}
|
|
},
|
|
searchable: true,
|
|
orderable: false,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'province_issued_license',
|
|
type: 'text'
|
|
},
|
|
render: function (data) {
|
|
if (data.province_issued_license == 1) {
|
|
return `<i class="fa fa-check"></i>`;
|
|
} else {
|
|
return `-`;
|
|
}
|
|
},
|
|
searchable: true,
|
|
orderable: false,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'contract_tarh_array',
|
|
type: 'text'
|
|
},
|
|
render: function (data) {
|
|
var datashown = "";
|
|
if (data.contract_tarh_array != null) {
|
|
var nameArr = data.contract_tarh_array.split(",");
|
|
|
|
for (var i = 0; i < nameArr.length; i++) {
|
|
datashown = datashown + nameArr[i] + "<br>";
|
|
}
|
|
return datashown;
|
|
}
|
|
return "";
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'contract_credit_province',
|
|
type: 'text'
|
|
},
|
|
render: function (data) {
|
|
const contractCreditProvince = parseFloat(
|
|
data.contract_credit_province != null
|
|
? data.contract_credit_province
|
|
: 0
|
|
).toLocaleString("en");
|
|
return contractCreditProvince;
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'contract_credit_national',
|
|
type: 'text'
|
|
},
|
|
render: function (data) {
|
|
const contractCreditNational = parseFloat(
|
|
data.contract_credit_national != null
|
|
? data.contract_credit_national
|
|
: 0
|
|
).toLocaleString("en");
|
|
return contractCreditNational;
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'contract_credit',
|
|
type: 'text'
|
|
},
|
|
render: function (data) {
|
|
const contractCredit = parseFloat(
|
|
data.contract_credit != null ? data.contract_credit : 0
|
|
).toLocaleString("en");
|
|
return contractCredit;
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'contracts.created_at',
|
|
type: 'between'
|
|
},
|
|
render: function (data) {
|
|
const createdAtFa = moment(data.created_at).format(
|
|
"HH:mm:ss | jYYYY/jMM/jDD"
|
|
);
|
|
return createdAtFa;
|
|
},
|
|
searchable: true,
|
|
orderable: true,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'option',
|
|
type: 'option'
|
|
},
|
|
render: function (data) {
|
|
return `<div class="setcontent">${data.canEdit == 0
|
|
? '<button disabled class="btn-dataTable" title="ویرایش"><i class="fa fa-edit icon-btnTable"></i></button>'
|
|
: '<button class="btn-dataTable edit-contract-btn" title="ویرایش"><i class="fa fa-edit icon-btnTable"></i></button>'
|
|
}<div class="pipeline mx-2"></div>
|
|
${data.canDelete == 0
|
|
? '<button disabled class="btn-dataTable" title=" حذف "><i class="fa fa-trash icon-btnTable"></i></button>'
|
|
: '<button class="btn-dataTable delete-contract-btn" title=" حذف "><i class="fa fa-trash icon-btnTable"></i></button>'
|
|
}
|
|
</div>
|
|
`;
|
|
},
|
|
searchable: false,
|
|
orderable: false,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'option',
|
|
type: 'option'
|
|
},
|
|
render: function (data) {
|
|
return data.canAddProject == 0
|
|
? `<button disabled class="btn-dataTable" title="ثبت اطلاعات زیر پروژه"><i class="fa fa-plus icon-btnTable"></i></button>`
|
|
: `<button class="btn-dataTable how-add-subcontract" title="ثبت اطلاعات زیر پروژه"><i class="fa fa-plus icon-btnTable"></i></button>`;
|
|
},
|
|
searchable: false,
|
|
orderable: false,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle",
|
|
data: null,
|
|
name: {
|
|
name: 'option',
|
|
type: 'option'
|
|
},
|
|
render: function (data, type, row) {
|
|
return data.canShowProject == 0
|
|
? "-"
|
|
: row.status_rel == 2
|
|
? `<button class="btn-dataTable show-subcontract-btn" title="نمایش زیر پروژه"><i class="far fa-eye icon-btnTable"></i></button><p>${data.subitems_count}</p>`
|
|
: `<button class="btn-dataTable" disabled title="نمایش زیر پروژه"><i class="far fa-eye icon-btnTable"></i></button><p>${data.subitems_count}</p>`;
|
|
},
|
|
searchable: false,
|
|
orderable: false,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle d-none",
|
|
data: "province_id",
|
|
name: {
|
|
name: 'contracts.province_id',
|
|
type: 'multi_select'
|
|
},
|
|
searchable: true,
|
|
orderable: false,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle d-none",
|
|
data: "status_id",
|
|
name: {
|
|
name: 'status_id',
|
|
type: 'multi_select'
|
|
},
|
|
searchable: true,
|
|
orderable: false,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle d-none",
|
|
data: "status_rel",
|
|
name: {
|
|
name: 'status_rel',
|
|
type: 'select'
|
|
},
|
|
searchable: true,
|
|
orderable: false,
|
|
},
|
|
{
|
|
className: "text-center sorting align-middle d-none",
|
|
data: "status_rel",
|
|
name: {
|
|
name: 'project_type_id',
|
|
type: 'relation.multi_select'
|
|
},
|
|
searchable: true,
|
|
orderable: false,
|
|
},
|
|
],
|
|
buttons: [
|
|
{
|
|
className: "static-btn-cta",
|
|
text: '<div class="btn-table-excel"><div class="d-flex flex-column"><i class="fa mb-2 fa-book icon-color"></i>گزارش آماری</div></div>',
|
|
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");
|
|
},
|
|
},
|
|
{
|
|
className: "excel-btn-cta",
|
|
text: '<div class="btn-table-excel"><div class="d-flex flex-column"><i class="fa fa-check-circle mb-2 icon-color"></i>خروجی قرارداد</div></div>',
|
|
action: function (e, dt, node, config) {
|
|
const url = `/reports/contracts${queryParemsExcel.length != 0 ? `?${queryParemsExcel.join("&")}` : ""
|
|
}`;
|
|
topPosition = $(e.target).parents('.btn-table-excel').offset().top + $(e.target).parents('.btn-table-excel').height() + 5
|
|
$(".parent-excel").css('top', topPosition);
|
|
window.open(url, "_blank");
|
|
},
|
|
},
|
|
{
|
|
className: "word-btn-cta",
|
|
text: '<div class="btn-table-word"><div class="d-flex flex-column"><i class="fas fa-file-pdf mb-2 icon-color"></i>خروجی به PDF</div></div>',
|
|
action: function (e, dt, node, config) {
|
|
topPosition = $(e.target).parents('.btn-table-word').offset().top + $(e.target).parents('.btn-table-word').height() + 5
|
|
$(".parent-word").css('top', topPosition);
|
|
$(".parent-word").css("display", "block");
|
|
},
|
|
},
|
|
|
|
{
|
|
text: '<div class="btn-table-filter"><div class="d-flex flex-column"><i class="fa mb-2 fa-filter icon-color"></i> فیلترینگ پیشرفته</div></div>',
|
|
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");
|
|
},
|
|
},
|
|
|
|
{
|
|
text: "<div class='d-flex flex-column'><i class='fa mb-2 fa-download icon-color'></i>دانلود فیلم راهنما</div>",
|
|
action: function (e, dt, node, config) {
|
|
window.open("/storage/2021-07-03_13-24-331_1.mp4", "_blank");
|
|
},
|
|
},
|
|
],
|
|
initComplete: function () {
|
|
$("body").find(".dataTables_scrollBody").addClass("scrollbar");
|
|
// if (
|
|
// !(
|
|
// $.inArray("word-export-contract", PERMISSIONS) != -1 ||
|
|
// $.inArray("word-export-province", PERMISSIONS) != -1
|
|
// )
|
|
// )
|
|
// $(".word-btn-cta").prop("disabled", true);
|
|
// if (!($.inArray("excel-export-statistics", PERMISSIONS) != -1))
|
|
// $(".static-btn-cta").prop("disabled", true);
|
|
// if (!($.inArray("excel-export-contract", PERMISSIONS) != -1))
|
|
// $(".excel-btn-cta").prop("disabled", true);
|
|
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
|
|
});
|
|
|
|
//(add)
|
|
$(document).on("click", ".add-contract-btn", function () {
|
|
$("#add-contract-cta").prop("disabled", false);
|
|
//clear data (add)
|
|
$(".select-add-contract").val(0);
|
|
$(".select-add-contract").removeClass("validity-checker");
|
|
$(".select2-add-contract").empty();
|
|
$(".select2-selection").removeClass("validity-checker");
|
|
$(".input-add-contract").val("");
|
|
$(".input-add-contract").prop("disabled", false);
|
|
$(".input-add-contract").removeClass("validity-checker");
|
|
//document
|
|
documentsAddContract = []
|
|
documentsShowContract = []
|
|
documentsDeleteContract = []
|
|
$(".input-add-ducoument").val("");
|
|
$(".add-ducoument-file-name").text("فایلی انتخاب نشده است");
|
|
$(".documents-box").empty()
|
|
//end document
|
|
$(".add-contract-span").text("0");
|
|
$(".checkbox-for-convening").prop("checked", false);
|
|
$(".tripple-amount").css("display", "none");
|
|
|
|
planNumber();
|
|
});
|
|
|
|
$(document).on('change', '#add-contract-Condition', function (e) {
|
|
const modal = $(this).closest('.modal');
|
|
if (e.target.value == 2) {
|
|
modal.find('#add-contract-convening-date').val('').prop('disabled', true)
|
|
modal.find('#add-contract-contract-number').val('').prop('disabled', true)
|
|
return
|
|
}
|
|
modal.find('#add-contract-convening-date').prop('disabled', false)
|
|
modal.find('#add-contract-contract-number').prop('disabled', false)
|
|
})
|
|
|
|
$(document).on('change', '.add-ducoument-file', function () {
|
|
const modal = $(this).closest('.modal');
|
|
const file = $(this).get(0).files[0];
|
|
modal.find('.add-ducoument-file-name').text(file.name)
|
|
})
|
|
|
|
$(document).on('click', ".add-ducoument-btn", function () {
|
|
const modal = $(this).closest('.modal');
|
|
const title = modal.find('#add-ducoument-title').val()
|
|
const file = modal.find('.add-ducoument-file').get(0).files[0];
|
|
|
|
if (title == '') {
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "خطا",
|
|
text: "فیلد عنوان سند نباید خالی باشد",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else if (file == undefined) {
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "خطا",
|
|
text: "فایلی انتخاب نشده است",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else {
|
|
documentsAddContract.push({
|
|
title, file
|
|
})
|
|
|
|
modal.find(".documents-box").empty()
|
|
documentsShowContract.map((document, index) => {
|
|
if (document.delete)
|
|
return
|
|
modal.find(".documents-box").append(docuumentShowBoxComponent(document, index, 'show'))
|
|
})
|
|
documentsAddContract.map((document, index) => {
|
|
modal.find(".documents-box").append(docuumentAddBoxComponent(document, index, 'add'))
|
|
})
|
|
|
|
|
|
$(".input-add-ducoument").val("");
|
|
modal.find(".add-ducoument-file-name").text("فایلی انتخاب نشده است");
|
|
|
|
}
|
|
});
|
|
|
|
$(document).on('click', '.add-document-delete-btn', function () {
|
|
const modal = $(this).closest('.modal');
|
|
const index = $(this).data('id')
|
|
|
|
documentsAddContract.splice(index, 1);
|
|
|
|
modal.find(".documents-box").empty()
|
|
documentsShowContract.map((document, index) => {
|
|
if (document.delete)
|
|
return
|
|
modal.find(".documents-box").append(docuumentShowBoxComponent(document, index, 'show'))
|
|
})
|
|
documentsAddContract.map((document, index) => {
|
|
modal.find(".documents-box").append(docuumentAddBoxComponent(document, index, 'add'))
|
|
})
|
|
|
|
})
|
|
|
|
$(document).on('click', '.show-document-delete-btn', function () {
|
|
const modal = $(this).closest('.modal');
|
|
const index = $(this).data('id')
|
|
|
|
documentsShowContract[index] = { ...documentsShowContract[index], delete: true }
|
|
documentsDeleteContract.push(index)
|
|
|
|
modal.find(".documents-box").empty()
|
|
documentsShowContract.map((document, index) => {
|
|
if (document.delete)
|
|
return
|
|
modal.find(".documents-box").append(docuumentShowBoxComponent(document, index, 'show'))
|
|
})
|
|
documentsAddContract.map((document, index) => {
|
|
modal.find(".documents-box").append(docuumentAddBoxComponent(document, index, 'add'))
|
|
})
|
|
|
|
})
|
|
|
|
$(document).on("click", "#add-contract-cta", function () {
|
|
var addContractPlanNum = [];
|
|
$("#add-contract-cta").prop("disabled", true);
|
|
// validity
|
|
const parent = $(this).parents("#add-contract-modal");
|
|
parent.find(".input-add-contract").each(function () {
|
|
if ($(this).prop("disabled")) {
|
|
$(this).removeClass("validity-checker");
|
|
}
|
|
else if ($(this).val() != "") {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
});
|
|
parent.find(".select-add-contract").each(function () {
|
|
if ($(this).val() != 0) {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
});
|
|
|
|
parent.find(".checkbox-contracts").each(function () {
|
|
const checkboxFlag = $(this).attr("checkboxFlag");
|
|
if (!$(this).prop("checked")) {
|
|
parent
|
|
.find(`.${checkboxFlag} .input-add-contract`)
|
|
.removeClass("validity-checker");
|
|
parent
|
|
.find(`.${checkboxFlag} .select2-selection`)
|
|
.removeClass("validity-checker");
|
|
} else {
|
|
if (parent.find(".select2-add-contract").val() != "") {
|
|
parent
|
|
.find(`.${checkboxFlag} .select2-selection`)
|
|
.removeClass("validity-checker");
|
|
} else {
|
|
parent
|
|
.find(`.${checkboxFlag} .select2-selection`)
|
|
.addClass("validity-checker");
|
|
}
|
|
}
|
|
});
|
|
// end validity
|
|
|
|
// giving all values
|
|
const addContractAdministrationId = $("#add-contract-administration").val();
|
|
const addContractAdministrationFa = $("#add-contract-administration")
|
|
.children("option:selected")
|
|
.text();
|
|
const addContractProvinceId = $("#add-contract-province").val();
|
|
const addContractProvinceFa = $("#add-contract-province")
|
|
.children("option:selected")
|
|
.text();
|
|
const addContractTitle = $("#add-contract-title").val();
|
|
const addContractConditionId = $("#add-contract-Condition").val();
|
|
const addContractConditionFa = $("#add-contract-Condition")
|
|
.children("option:selected")
|
|
.text();
|
|
const addContractConveningDate = moment(
|
|
addDatepicker.getState().selected.unixDate
|
|
).format("jYYYY-jMM-jDD");
|
|
const addContractContractorName = $("#add-contract-Contractor-name").val();
|
|
const addContractConsultantDesign = $(
|
|
"#add-contract-Consultant-design"
|
|
).val();
|
|
const addContractConsultantMonitoring = $(
|
|
"#add-contract-Consultant-Monitoring"
|
|
).val();
|
|
const contract_number = $(
|
|
"#add-contract-contract-number"
|
|
).val();
|
|
const addContractAllcontractAmount = $(
|
|
"#add-contract-allcontract-amount"
|
|
).val();
|
|
let addContractCommunicatedNationalAmount = "";
|
|
let addContractCommunicatedProvinceAmount = "";
|
|
let addContractHeadquartersCertificateAmount = "";
|
|
let valid_license = false;
|
|
let nationalCreditLicense = 0;
|
|
let provinceCreditLicense = 0;
|
|
let headquarterIssuedLicense = 0;
|
|
let provinceIssuedLicense = 0;
|
|
|
|
let formData = new FormData();
|
|
if ($("#add-contract-Communicated-Credit-National").is(":checked")) {
|
|
nationalCreditLicense = 1;
|
|
valid_license = true;
|
|
addContractCommunicatedNationalAmount = $(
|
|
"#add-contract-Communicated-national-amount"
|
|
).val();
|
|
$("#add-contract-Plan-num")
|
|
.select2("data")
|
|
.forEach((element) => {
|
|
addContractPlanNum.push(element.text);
|
|
});
|
|
}
|
|
if ($("#add-contract-Communicated-credit-province").is(":checked")) {
|
|
provinceCreditLicense = 1;
|
|
valid_license = true;
|
|
addContractCommunicatedProvinceAmount = $(
|
|
"#add-contract-Communicated-province-amount"
|
|
).val();
|
|
}
|
|
if ($("#add-contract-headquarters-certificate").is(":checked")) {
|
|
headquarterIssuedLicense = 1;
|
|
valid_license = true;
|
|
addContractHeadquartersCertificateAmount = $(
|
|
"#add-contract-headquarters-certificate-amount"
|
|
).val();
|
|
}
|
|
if ($("#add-contract-Communicated-province-certificate").is(":checked")) {
|
|
provinceIssuedLicense = 1;
|
|
valid_license = true;
|
|
}
|
|
formData.append("national_credit_license", nationalCreditLicense);
|
|
formData.append("province_credit_license", provinceCreditLicense);
|
|
formData.append("province_issued_license", provinceIssuedLicense);
|
|
formData.append("headquarter_issued_license", headquarterIssuedLicense);
|
|
|
|
formData.append(
|
|
"contract_credit_national",
|
|
addContractCommunicatedNationalAmount
|
|
);
|
|
formData.append(
|
|
"contract_credit_province",
|
|
addContractCommunicatedProvinceAmount
|
|
);
|
|
formData.append(
|
|
"contract_credit_headquarter",
|
|
addContractHeadquartersCertificateAmount
|
|
);
|
|
|
|
formData.append("contract_tarh_array", addContractPlanNum);
|
|
|
|
formData.append("contract_credit", addContractAllcontractAmount);
|
|
// end giving all values
|
|
formData.append("office_id", addContractAdministrationId);
|
|
formData.append("office_fa", addContractAdministrationFa);
|
|
formData.append("province_id", addContractProvinceId);
|
|
formData.append("province_fa", addContractProvinceFa);
|
|
formData.append("title", addContractTitle);
|
|
formData.append("status_fa", addContractConditionFa);
|
|
formData.append("status_id", addContractConditionId);
|
|
formData.append("contract_date", addContractConveningDate);
|
|
formData.append("contract_peymankar", addContractContractorName);
|
|
formData.append("contract_moshaver_tarahi", addContractConsultantDesign);
|
|
formData.append("contract_number", contract_number);
|
|
formData.append("contract_moshaver_nezarat", addContractConsultantMonitoring);
|
|
|
|
documentsAddContract.map((doc, index) => {
|
|
formData.append(`documents[${index}][title]`, doc.title);
|
|
formData.append(`documents[${index}][file]`, doc.file);
|
|
})
|
|
|
|
if (!valid_license) {
|
|
$("#add-contract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "خطا",
|
|
text: "حداقل یکی از مجوز های انعقاد قرارداد را انتخاب کنید",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else if ($("#add-contract-modal").find(".validity-checker").length != 0) {
|
|
$("#add-contract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "مقادیر مشخص شده را پر کنید",
|
|
text: "اگر همچنان با این اخطار مواجه شدید با پشتیبانی تماس بگیرید",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else if (documentsAddContract.length == 0) {
|
|
$("#add-contract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "خطا",
|
|
text: "حداقل یک سند باید بارگزاری شود",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else {
|
|
$.ajax({
|
|
url: "/contracts/store-dev",
|
|
type: "POST",
|
|
headers: {
|
|
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
|
|
},
|
|
beforeSend: function () {
|
|
showLoaderScreen();
|
|
},
|
|
data: formData,
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (result) {
|
|
hideLoaderScreen();
|
|
$("#add-contract-modal").modal("hide");
|
|
$("#add-contract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "success",
|
|
text: "قرارداد با موفقیت ثبت شد",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
isReloadAjax = true;
|
|
table.ajax.reload(null, false);
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
});
|
|
//(end add)
|
|
|
|
// lisence warning hider and shower
|
|
$(".checkbox-for-convening").change(function () {
|
|
if ($(".checkbox-for-convening").is(":checked")) {
|
|
$(".add-warning-lisence").fadeOut(300);
|
|
} else {
|
|
$(".add-warning-lisence").fadeIn(300);
|
|
}
|
|
});
|
|
$(".checkbox-for-convening-edit").change(function () {
|
|
if ($(".checkbox-for-convening-edit").is(":checked")) {
|
|
$(".edit-warning-lisence").fadeOut(300);
|
|
} else {
|
|
$(".edit-warning-lisence").fadeIn(300);
|
|
}
|
|
});
|
|
// end lisence warning hider and shower
|
|
|
|
$(document).on('change', '#edit-contract-Condition', function (e) {
|
|
const modal = $(this).closest('.modal');
|
|
if (e.target.value == 2) {
|
|
modal.find('#edit-contract-convening-date').val('').prop('disabled', true)
|
|
modal.find('#edit-contract-contract-number').val('').prop('disabled', true)
|
|
return
|
|
}
|
|
modal.find('#edit-contract-convening-date').prop('disabled', false)
|
|
modal.find('#edit-contract-contract-number').prop('disabled', false)
|
|
})
|
|
|
|
//(edit)
|
|
$(document).on("click", ".edit-contract-btn", function () {
|
|
const modal = $('#edit-contract-modal')
|
|
$("#edit-contract-Condition option").prop("disabled", false);
|
|
//clear data (edit)
|
|
$(".select-edit-contract").val(0);
|
|
$(".select-edit-contract").removeClass("validity-checker");
|
|
$(".select2-edit-contract").empty();
|
|
$(".select2-selection").removeClass("validity-checker");
|
|
$(".input-edit-contract").val("");
|
|
$(".input-edit-contract").prop("disabled", false);
|
|
$(".input-edit-contract").removeClass("validity-checker");
|
|
$(".edit-contract-span").text("0");
|
|
$(".checkbox-for-convening-edit").prop("checked", false);
|
|
$(".tripple-amount-edit").css("display", "none");
|
|
$("#edit-contract-province").prop("disabled", true);
|
|
//document
|
|
documentsAddContract = []
|
|
documentsShowContract = []
|
|
documentsDeleteContract = []
|
|
$(".input-add-ducoument").val("");
|
|
$(".add-ducoument-file-name").text("فایلی انتخاب نشده است");
|
|
$(".documents-box").empty()
|
|
//end document
|
|
|
|
// giving data from table
|
|
const tr = $(this).closest("tr");
|
|
const row = table.row(tr);
|
|
contractRowId = row.data().id;
|
|
const officeId = row.data().office_id;
|
|
const provinceId = row.data().province_id;
|
|
const statusId = row.data().status_id;
|
|
const title = row.data().title;
|
|
|
|
const contractPeymankar = row.data().contract_peymankar;
|
|
const contractMoshaverTarahi = row.data().contract_moshaver_tarahi;
|
|
const contractMoshaverNezarat = row.data().contract_moshaver_nezarat;
|
|
const contract_number = row.data().contract_number;
|
|
|
|
const nationalCreditLicense = row.data().national_credit_license;
|
|
const provinceCreditLicense = row.data().province_credit_license;
|
|
const provinceIssuedLicense = row.data().province_issued_license;
|
|
const headquarterIssuedLicense = row.data().headquarter_issued_license;
|
|
|
|
const contractTarhArray =
|
|
row.data().contract_tarh_array == null
|
|
? []
|
|
: row.data().contract_tarh_array.split(",");
|
|
|
|
const contractCreditNational = row.data().contract_credit_national;
|
|
const contractCreditProvince = row.data().contract_credit_province;
|
|
const contractCreditHeadquarter = row.data().contract_credit_headquarter;
|
|
|
|
const contractCredit = row.data().contract_credit;
|
|
|
|
// giving data from table
|
|
|
|
// appending data
|
|
|
|
$("#edit-contract-administration").val(officeId);
|
|
$("#edit-contract-province").val(provinceId);
|
|
$("#edit-contract-title").val(title);
|
|
$("#edit-contract-Condition").val(statusId);
|
|
|
|
if (statusId == 2) {
|
|
modal.find('#edit-contract-convening-date').prop('disabled', true)
|
|
modal.find('#edit-contract-contract-number').prop('disabled', true)
|
|
} else {
|
|
$("#edit-contract-convening-date").val(moment(row.data().contract_date).format("YYYY/MM/DD"));
|
|
$("#edit-contract-contract-number").val(contract_number);
|
|
}
|
|
|
|
$("#edit-contract-Contractor-name").val(contractPeymankar);
|
|
$("#edit-contract-Consultant-design").val(contractMoshaverTarahi);
|
|
$("#edit-contract-Consultant-Monitoring").val(contractMoshaverNezarat);
|
|
$("#edit-contract-Communicated-national-amount").val(contractCreditNational);
|
|
$("#edit-contract-Communicated-national-amount-span").text(
|
|
parseFloat(
|
|
contractCreditNational != null ? contractCreditNational : 0
|
|
).toLocaleString("en")
|
|
);
|
|
$("#edit-contract-Communicated-province-amount").val(contractCreditProvince);
|
|
$("#edit-contract-Communicated-province-amount-span").text(
|
|
parseFloat(
|
|
contractCreditProvince != null ? contractCreditProvince : 0
|
|
).toLocaleString("en")
|
|
);
|
|
$("#edit-contract-headquarters-certificate-amount").val(
|
|
contractCreditHeadquarter
|
|
);
|
|
$("#edit-contract-headquarters-certificate-amount-span").text(
|
|
parseFloat(
|
|
contractCreditHeadquarter != null ? contractCreditHeadquarter : 0
|
|
).toLocaleString("en")
|
|
);
|
|
$("#edit-contract-allcontract-amount").val(contractCredit);
|
|
$("#edit-contract-allcontract-amount-span").text(
|
|
parseFloat(contractCredit != null ? contractCredit : 0).toLocaleString("en")
|
|
);
|
|
|
|
// checkboxes
|
|
if (nationalCreditLicense == 1) {
|
|
$("#edit-contract-Communicated-Credit-National").prop("checked", true);
|
|
$(".checkbox-national-edit").slideDown("300");
|
|
}
|
|
if (provinceCreditLicense == 1) {
|
|
$("#edit-contract-Communicated-credit-province").prop("checked", true);
|
|
$(".checkbox-province-edit").slideDown("300");
|
|
}
|
|
if (headquarterIssuedLicense == 1) {
|
|
$("#edit-contract-headquarters-certificate").prop("checked", true);
|
|
$(".checkbox-headquarters-edit").slideDown("300");
|
|
}
|
|
if (provinceIssuedLicense == 1) {
|
|
$("#edit-contract-Communicated-province-certificate").prop("checked", true);
|
|
}
|
|
// checkboxes
|
|
|
|
// lisence warning hider and shower
|
|
if (
|
|
nationalCreditLicense == 1 ||
|
|
provinceCreditLicense == 1 ||
|
|
headquarterIssuedLicense == 1 ||
|
|
provinceIssuedLicense == 1
|
|
) {
|
|
$(".edit-warning-lisence").fadeOut(300);
|
|
} else {
|
|
$(".edit-warning-lisence").fadeIn(300);
|
|
}
|
|
// end lisence warning hider and shower
|
|
|
|
// appending data
|
|
|
|
// sorting conditon
|
|
const sortingValue = $("#edit-contract-Condition option:selected").index();
|
|
$(`#edit-contract-Condition option:lt(${sortingValue})`).prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
|
|
|
|
$.ajax({
|
|
url: "/v2/contract/" + contractRowId + "/unserialize",
|
|
type: "GET",
|
|
headers: {
|
|
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
|
|
},
|
|
beforeSend: function () {
|
|
showLoaderScreen();
|
|
},
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (result) {
|
|
documentsShowContract = result.data
|
|
modal.find(".documents-box").empty()
|
|
documentsShowContract.map((document, index) => {
|
|
modal.find(".documents-box").append(docuumentShowBoxComponent(document, index, 'show'))
|
|
})
|
|
planNumberedit(contractTarhArray);
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
|
|
});
|
|
$(document).on("click", "#edit-contract-cta", function () {
|
|
let editContractPlanNum = [];
|
|
// validity
|
|
const parent = $(this).parents("#edit-contract-modal");
|
|
parent.find(".input-edit-contract").each(function () {
|
|
if ($(this).prop("disabled")) {
|
|
$(this).removeClass("validity-checker");
|
|
}
|
|
else if ($(this).val() != "") {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
});
|
|
parent.find(".select-edit-contract").each(function () {
|
|
if ($(this).val() != 0) {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
});
|
|
parent.find(".checkbox-contracts-edit").each(function () {
|
|
const checkboxFlag = $(this).attr("checkboxFlag");
|
|
if (!$(this).prop("checked")) {
|
|
parent
|
|
.find(`.${checkboxFlag} .input-edit-contract`)
|
|
.removeClass("validity-checker");
|
|
parent
|
|
.find(`.${checkboxFlag} .select2-selection`)
|
|
.removeClass("validity-checker");
|
|
} else {
|
|
if (parent.find(".select2-edit-contract").val() != "") {
|
|
parent
|
|
.find(`.${checkboxFlag} .select2-selection`)
|
|
.removeClass("validity-checker");
|
|
} else {
|
|
parent
|
|
.find(`.${checkboxFlag} .select2-selection`)
|
|
.addClass("validity-checker");
|
|
}
|
|
}
|
|
});
|
|
// end validity
|
|
|
|
// sending data
|
|
|
|
// giving all values
|
|
const editContractAdministrationId = $("#edit-contract-administration").val();
|
|
const editContractAdministrationFa = $("#edit-contract-administration")
|
|
.children("option:selected")
|
|
.text();
|
|
const editContractProvinceId = $("#edit-contract-province").val();
|
|
const editContractProvinceFa = $("#edit-contract-province")
|
|
.children("option:selected")
|
|
.text();
|
|
const editContractTitle = $("#edit-contract-title").val();
|
|
const editContractConditionId = $("#edit-contract-Condition").val();
|
|
const editContractConditionFa = $("#edit-contract-Condition")
|
|
.children("option:selected")
|
|
.text();
|
|
const editContractConveningDate = moment(
|
|
editDatepicker.getState().selected.unixDate
|
|
).format("jYYYY-jMM-jDD");
|
|
const editContractContractorName = $("#edit-contract-Contractor-name").val();
|
|
const editContractConsultantDesign = $(
|
|
"#edit-contract-Consultant-design"
|
|
).val();
|
|
const contract_number = $(
|
|
"#edit-contract-contract-number"
|
|
).val();
|
|
const editContractConsultantMonitoring = $(
|
|
"#edit-contract-Consultant-Monitoring"
|
|
).val();
|
|
const editContractAllcontractAmount = $(
|
|
"#edit-contract-allcontract-amount"
|
|
).val();
|
|
let editContractCommunicatedNationalAmount = "";
|
|
let editContractCommunicatedProvinceAmount = "";
|
|
let editContractHeadquartersCertificateAmount = "";
|
|
let valid_license = false;
|
|
let nationalCreditLicense = 0;
|
|
let provinceCreditLicense = 0;
|
|
let headquarterIssuedLicense = 0;
|
|
let provinceIssuedLicense = 0;
|
|
|
|
let formData = new FormData();
|
|
if ($("#edit-contract-Communicated-Credit-National").is(":checked")) {
|
|
nationalCreditLicense = 1;
|
|
valid_license = true;
|
|
editContractCommunicatedNationalAmount = $(
|
|
"#edit-contract-Communicated-national-amount"
|
|
).val();
|
|
$("#edit-contract-Plan-num")
|
|
.select2("data")
|
|
.forEach((element) => {
|
|
editContractPlanNum.push(element.text);
|
|
});
|
|
}
|
|
if ($("#edit-contract-Communicated-credit-province").is(":checked")) {
|
|
provinceCreditLicense = 1;
|
|
valid_license = true;
|
|
editContractCommunicatedProvinceAmount = $(
|
|
"#edit-contract-Communicated-province-amount"
|
|
).val();
|
|
}
|
|
if ($("#edit-contract-headquarters-certificate").is(":checked")) {
|
|
headquarterIssuedLicense = 1;
|
|
valid_license = true;
|
|
editContractHeadquartersCertificateAmount = $(
|
|
"#edit-contract-headquarters-certificate-amount"
|
|
).val();
|
|
}
|
|
if ($("#edit-contract-Communicated-province-certificate").is(":checked")) {
|
|
provinceIssuedLicense = 1;
|
|
valid_license = true;
|
|
}
|
|
formData.append("national_credit_license", nationalCreditLicense);
|
|
formData.append("province_credit_license", provinceCreditLicense);
|
|
formData.append("province_issued_license", provinceIssuedLicense);
|
|
formData.append("headquarter_issued_license", headquarterIssuedLicense);
|
|
|
|
formData.append(
|
|
"contract_credit_national",
|
|
editContractCommunicatedNationalAmount
|
|
);
|
|
formData.append(
|
|
"contract_credit_province",
|
|
editContractCommunicatedProvinceAmount
|
|
);
|
|
formData.append(
|
|
"contract_credit_headquarter",
|
|
editContractHeadquartersCertificateAmount
|
|
);
|
|
|
|
formData.append("contract_tarh_array", editContractPlanNum);
|
|
|
|
formData.append("contract_credit", editContractAllcontractAmount);
|
|
// end giving all values
|
|
formData.append("office_id", editContractAdministrationId);
|
|
formData.append("office_fa", editContractAdministrationFa);
|
|
formData.append("province_id", editContractProvinceId);
|
|
formData.append("province_fa", editContractProvinceFa);
|
|
formData.append("title", editContractTitle);
|
|
formData.append("status_fa", editContractConditionFa);
|
|
formData.append("status_id", editContractConditionId);
|
|
formData.append("contract_date", editContractConveningDate);
|
|
formData.append("contract_peymankar", editContractContractorName);
|
|
formData.append("contract_moshaver_tarahi", editContractConsultantDesign);
|
|
formData.append("contract_number", contract_number);
|
|
formData.append("contract_moshaver_nezarat", editContractConsultantMonitoring);
|
|
|
|
documentsAddContract.map((doc, index) => {
|
|
formData.append(`documents[${index}][title]`, doc.title);
|
|
formData.append(`documents[${index}][file]`, doc.file);
|
|
})
|
|
|
|
documentsDeleteContract.map((id) => {
|
|
formData.append(`documents_delete[]`, id);
|
|
})
|
|
|
|
if (!valid_license) {
|
|
$("#edit-contract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "خطا",
|
|
text: "حداقل یکی از مجوز های انعقاد قرارداد را انتخاب کنید",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else if ($("#edit-contract-modal").find(".validity-checker").length != 0) {
|
|
$("#edit-contract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "مقادیر مشخص شده را پر کنید",
|
|
text: "اگر همچنان با این اخطار مواجه شدید با پشتیبانی تماس بگیرید",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else if (documentsAddContract.length == 0 && documentsShowContract.filter(doc => !doc.delete).length == 0) {
|
|
$("#edit-contract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "خطا",
|
|
text: "حداقل یک سند باید بارگزاری شود",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else {
|
|
showLoaderScreen();
|
|
$.ajax({
|
|
url: "/contracts/update-dev/" + contractRowId,
|
|
type: "POST",
|
|
headers: {
|
|
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
|
|
},
|
|
data: formData,
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (result) {
|
|
$("#edit-contract-modal").modal("hide");
|
|
$("#edit-contract-cta").prop("disabled", false);
|
|
isReloadAjax = true;
|
|
table.ajax.reload(null, false);
|
|
hideLoaderScreen();
|
|
},
|
|
error: function (request) {
|
|
$("#edit-contract-cta").prop("disabled", false);
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
// sending data
|
|
});
|
|
//(end edit)
|
|
|
|
//(howaddSub)
|
|
$(document).on("click", ".how-add-subcontract", function () {
|
|
let tr = $(this).closest("tr");
|
|
let row = table.row(tr);
|
|
titlecontract = row.data().title;
|
|
provinceIdForSub = row.data().province_id;
|
|
statusIdForSub = row.data().status_id;
|
|
contractRowId = row.data().id;
|
|
const selectedRowContractData = row.data();
|
|
$(".how-add-subcontract-modal-title").text(selectedRowContractData.unique_id);
|
|
$(".add-subcontract-modal-title").text(selectedRowContractData.unique_id);
|
|
$("#add-subcontract-nature").empty();
|
|
$("#add-subcontract-nature").append(
|
|
`<option value="0">انتخاب ماهیت پروژه</option>`
|
|
);
|
|
getSubcontractNature();
|
|
$("#how-add-subcontract-modal").modal("show");
|
|
});
|
|
//(end howaddSub)
|
|
|
|
//(addSub)
|
|
|
|
$(document).on("click", "#add_new_subcontract", function () {
|
|
addNewSubitemStatus = "true";
|
|
var positions = null;
|
|
// clear all data
|
|
$(".attent_num").css("display", "");
|
|
$("#add-subcontract-modal").find("tfoot").addClass("d-none");
|
|
$(".show-city-past").addClass("d-none");
|
|
$(".show-axisName-past").addClass("d-none");
|
|
$(".show-axisTypeFa-past").addClass("d-none");
|
|
$(".select-add-subcontract").val(0);
|
|
$(".select-add-subcontract").removeClass("validity-checker");
|
|
$("#add_project_start_map").val("");
|
|
$("#add_project_end_map").val("");
|
|
$(".input-map-project").removeClass("validity-checker");
|
|
$(".input-add-subcontract").val("");
|
|
$(".input-add-subcontract").removeClass("validity-checker");
|
|
$(".span-add-subcontract").text("0");
|
|
$("#add-Supervisor-number").val("09");
|
|
$("#add-Supervisor-number").removeClass("validity-checker");
|
|
$(".map-endplace-title").addClass("d-none");
|
|
$("#limit_percentage").addClass("d-none");
|
|
$(".add-subcontract-action-type-all").empty();
|
|
$(".add-subcontract-action-type-all").prop("disabled", true);
|
|
$(".add-subcontract-action-type-show-all").text("");
|
|
$(".add-subcontract-action-type-unit-all").text("-");
|
|
$(".add-subcontract-type-unit-show-all").text("-");
|
|
$(".add-subcontract-action-type-amount-all").prop("disabled", true);
|
|
$(".add-subcontract-type-amount-show-all").text("");
|
|
$(".tonaj").addClass("d-none");
|
|
$(".add-subcontract-action-type-progress-all").prop("disabled", true);
|
|
// clear image part
|
|
$("#add-subcontract-modal").find(".img-preview").removeAttr("src", "");
|
|
$("#add-subcontract-modal").find(".img-title").css("display", "");
|
|
$("#add-subcontract-modal").find(".btn-delete-img").prop("disabled", true);
|
|
$(".imgbox").removeClass("validity-checker");
|
|
$("#add-subcontract-nature").prop("disabled", false);
|
|
$("#deviceImg1load").css("display", "none");
|
|
$("#deviceImg2load").css("display", "none");
|
|
// clear image part
|
|
|
|
$('#add-required-bitumen-box').hide()
|
|
$('#add-required-bitumen').val('').prop('disabled', true)
|
|
|
|
$('#add-used-bitumen-box').hide()
|
|
$('#add-used-bitumen').val('').prop('disabled', true)
|
|
|
|
$('#add-bridge-number-box').hide()
|
|
$('#add-bridge-number').val('').prop('disabled', true)
|
|
|
|
// end clear all data
|
|
if (addMap == null) {
|
|
setTimeout(() => {
|
|
createAddMap(positions);
|
|
}, 400);
|
|
} else {
|
|
setTimeout(() => {
|
|
clearAddMap(positions);
|
|
}, 400);
|
|
}
|
|
// giving needed data from contract
|
|
showSubProvince();
|
|
$("#add-subcontract-title").val(titlecontract);
|
|
if (statusIdForSub == 1) {
|
|
$("#add-subcontract-last-project-position").val(0);
|
|
$("#add-subcontract-last-project-position").prop("disabled", false);
|
|
$("#add-subcontract-progress-mainpercent").prop("disabled", false);
|
|
} else if (statusIdForSub == 2) {
|
|
$("#add-subcontract-last-project-position").val(4);
|
|
$("#add-subcontract-last-project-position").prop("disabled", true);
|
|
$("#add-subcontract-progress-mainpercent").val("5");
|
|
$("#add-subcontract-progress-mainpercent").prop("disabled", true);
|
|
} else if (statusIdForSub == 3) {
|
|
$("#add-subcontract-last-project-position").val(3);
|
|
$("#add-subcontract-last-project-position").prop("disabled", true);
|
|
$("#add-subcontract-progress-mainpercent").val("100");
|
|
$("#add-subcontract-progress-mainpercent").prop("disabled", true);
|
|
}
|
|
// giving needed data from contract
|
|
|
|
$("#add-subcontract-modal").modal("show");
|
|
});
|
|
//(end addSub)
|
|
//getSubcontractNature
|
|
function getSubcontractNature() {
|
|
$.each(operation_res, function (key, value) {
|
|
const limitAmount =
|
|
key == 1 || key == 3 || key == 6 ? "limitAmount" : "notlimit";
|
|
$("#add-subcontract-nature").append(
|
|
"<option isline='" +
|
|
value.is_line +
|
|
"' class='" +
|
|
limitAmount +
|
|
"' value='" +
|
|
value.id +
|
|
"'>" +
|
|
value.farsi +
|
|
"</option>"
|
|
);
|
|
});
|
|
}
|
|
|
|
// btn for poor data
|
|
$(document).on("click", ".without-Contractor-name", function () {
|
|
poorInfoParent = $(this).parents(".input-group");
|
|
poorInfoParent = $(poorInfoParent).find("input");
|
|
$(poorInfoParent).val("امانی");
|
|
});
|
|
$(document).on("click", ".without-advisor-name", function () {
|
|
poorInfoParent = $(this).parents(".input-group");
|
|
poorInfoParent = $(poorInfoParent).find("input");
|
|
$(poorInfoParent).val("ندارد");
|
|
});
|
|
// btn for poor data
|
|
$(document).on("change", ".checkbox-for-convening", function () {
|
|
const parent = $(this).parents(".modal");
|
|
const checkboxFlag = $(this).attr("checkboxFlag");
|
|
parent.find(`.${checkboxFlag}`).slideToggle(300);
|
|
});
|
|
|
|
$(document).on("change", ".checkbox-for-convening-edit", function () {
|
|
const parent = $(this).parents(".modal");
|
|
const checkboxFlag = $(this).attr("checkboxFlag");
|
|
parent.find(`.${checkboxFlag}`).slideToggle(300);
|
|
});
|
|
|
|
// add contract convening date start
|
|
addDatepicker = $("input[name=add-contract-convening-date]").persianDatepicker({
|
|
format: "YYYY/MM/DD",
|
|
initialValue: false,
|
|
autoClose: true,
|
|
initialValueType: "persian",
|
|
});
|
|
editDatepicker = $(
|
|
"input[name=edit-contract-convening-date]"
|
|
).persianDatepicker({
|
|
format: "YYYY/MM/DD",
|
|
initialValue: false,
|
|
autoClose: true,
|
|
initialValueType: "persian",
|
|
});
|
|
// end add contract convening date start
|
|
|
|
// delete row of main table
|
|
$("#main-table-contract").on("click", ".delete-contract-btn", function () {
|
|
let tr = $(this).closest("tr");
|
|
let row = table.row(tr);
|
|
let row_id = row.data().id;
|
|
let formData = new FormData();
|
|
formData.append("id", row_id);
|
|
Swal.fire({
|
|
icon: "warning",
|
|
title: "آیا برای حذف مطمئن هستید؟",
|
|
showCancelButton: true,
|
|
confirmButtonColor: "#3085d6",
|
|
cancelButtonColor: "#d33",
|
|
confirmButtonText: "بله، حذف میشود",
|
|
cancelButtonText: "منصرف شدم!",
|
|
showLoaderOnConfirm: true,
|
|
preConfirm: () => {
|
|
showLoaderScreen();
|
|
$.ajax({
|
|
url: "/contracts/delete",
|
|
type: "POST",
|
|
headers: {
|
|
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
|
|
},
|
|
data: formData,
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
beforeSend: function () {
|
|
showLoaderScreen();
|
|
},
|
|
success: function (result) {
|
|
isReloadAjax = true;
|
|
table.ajax.reload(null, false);
|
|
$("#show_subcontract_table").css("display", "none");
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
},
|
|
});
|
|
});
|
|
// end delete row of main table
|
|
|
|
// phone number validity
|
|
function phone_checker() {
|
|
if ($(".number-validity").val().length == 11) {
|
|
$(".attent_num").fadeOut("100");
|
|
} else {
|
|
$(".attent_num").fadeIn("100");
|
|
}
|
|
}
|
|
|
|
function edit_phone_checker() {
|
|
if ($(".edit-number-validity").val().length == 11) {
|
|
$(".edit-attent_num").fadeOut("100");
|
|
} else {
|
|
$(".edit-attent_num").fadeIn("100");
|
|
}
|
|
}
|
|
// end phone number validity
|
|
|
|
// uploading file input
|
|
$(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(".btn-delete-img").removeAttr("disabled");
|
|
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");
|
|
parent.find(".img-input").val("");
|
|
parent.find(".img-preview").removeAttr("src");
|
|
parent.find(".img-title").css("display", "");
|
|
$(this).attr("disabled", "disabled");
|
|
});
|
|
// end uploading file input
|
|
// modal cancel btn
|
|
$(".cancel").on("click", function () {
|
|
var ghostParent = $(this).parents(".modal");
|
|
ghostParent.modal("hide");
|
|
});
|
|
// modal cancel btn
|
|
// persian value limit text input
|
|
restrictInputOtherThanArabic($("input[type=text]:not(.en-input)"));
|
|
|
|
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;
|
|
});
|
|
}
|
|
// persian value limit text input
|
|
|
|
// seprate money amount
|
|
$('input[type="number"]').on("input", function () {
|
|
var parent = $(this).closest(".align-items-center");
|
|
if ($(this).val() == "") {
|
|
parent.find("span").text("0");
|
|
return false;
|
|
}
|
|
parent.find("span").text(parseFloat($(this).val()).toLocaleString("en"));
|
|
});
|
|
// end seprate money amount
|
|
// contract plan number
|
|
function planNumber() {
|
|
showLoaderScreen();
|
|
$.ajax({
|
|
url: "/contracts/eblagh",
|
|
type: "POST",
|
|
headers: {
|
|
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
|
|
},
|
|
success: function (data) {
|
|
hideLoaderScreen();
|
|
var tarhnum = data.data;
|
|
var arrayeblagh = [];
|
|
for (let index = 0; index < tarhnum.length; index++) {
|
|
arrayeblagh.push(tarhnum[index].tarh_number);
|
|
}
|
|
var arraykol = [];
|
|
arraykol = cleanarray(arrayeblagh);
|
|
for (let index = 0; index < arraykol.length; index++) {
|
|
$("#add-contract-Plan-num").append(
|
|
"\
|
|
<option value=" +
|
|
index +
|
|
">" +
|
|
arraykol[index] +
|
|
"</option>\
|
|
"
|
|
);
|
|
}
|
|
$("#add-contract-modal").modal("show");
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
|
|
function planNumberedit(dataArray) {
|
|
$.ajax({
|
|
url: "/contracts/eblagh",
|
|
type: "POST",
|
|
headers: {
|
|
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
|
|
},
|
|
success: function (data) {
|
|
hideLoaderScreen();
|
|
var tarhnum = data.data;
|
|
var arrayeblagh = [];
|
|
for (let index = 0; index < tarhnum.length; index++) {
|
|
arrayeblagh.push(tarhnum[index].tarh_number);
|
|
}
|
|
var arraykol = [];
|
|
arraykol = cleanarray(arrayeblagh);
|
|
for (let index = 0; index < arraykol.length; index++) {
|
|
if ($.inArray(arraykol[index], dataArray) != -1) {
|
|
$("#edit-contract-Plan-num").append(
|
|
"\
|
|
<option selected value=" +
|
|
index +
|
|
">" +
|
|
arraykol[index] +
|
|
"</option>\
|
|
"
|
|
);
|
|
} else {
|
|
$("#edit-contract-Plan-num").append(
|
|
"\
|
|
<option value=" +
|
|
index +
|
|
">" +
|
|
arraykol[index] +
|
|
"</option>\
|
|
"
|
|
);
|
|
}
|
|
}
|
|
$("#edit-contract-modal").modal("show");
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
// end contract plan number
|
|
// array cleaner
|
|
function cleanarray(list) {
|
|
var result = [];
|
|
$.each(list, function (i, e) {
|
|
if ($.inArray(e, result) == -1) result.push(e);
|
|
});
|
|
return result;
|
|
}
|
|
// end array cleaner
|
|
|
|
// project action type finder
|
|
$(document).on("change", "#add-subcontract-nature", function () {
|
|
clearAddMap();
|
|
const addSubcontractNature = $("#add-subcontract-nature").val();
|
|
showLoaderScreen();
|
|
$(".add-subcontract-action-type-amount-all").removeClass("validity-checker");
|
|
$(".add-subcontract-action-type-amount-all").attr("disabled", true);
|
|
$(".add-subcontract-action-type-all").empty();
|
|
$(".add-subcontract-action-type-amount-all").val("");
|
|
$(".add-subcontract-action-type-unit-all").text("-");
|
|
$(".add-subcontract-action-type-show-all").text("");
|
|
$(".add-subcontract-type-unit-show-all").text("-");
|
|
$(".add-subcontract-type-amount-show-all").text("");
|
|
$(".add-subcontract-action-type-progress-all").val("");
|
|
$(".add-subcontract-action-type-progress-all").removeClass(
|
|
"validity-checker"
|
|
);
|
|
$(".add-subcontract-action-type-progress-all").attr("disabled", true);
|
|
$(".add-subcontract-action-type-tonaj-all").val("");
|
|
$(".add-subcontract-action-type-tonaj-all").removeClass("validity-checker");
|
|
$(".add-subcontract-action-type-tonaj-all").attr("disabled", true);
|
|
$(".map-endplace-title").removeClass("d-none");
|
|
if (addSubcontractNature == 1) {
|
|
$('#add-required-bitumen-box').show()
|
|
$('#add-required-bitumen').val('').prop('disabled', false)
|
|
|
|
$('#add-used-bitumen-box').show()
|
|
$('#add-used-bitumen').val('').prop('disabled', false)
|
|
|
|
$(".tonaj").removeClass("d-none");
|
|
} else {
|
|
$('#add-required-bitumen-box').hide()
|
|
$('#add-required-bitumen').val('').prop('disabled', true)
|
|
|
|
$('#add-used-bitumen-box').hide()
|
|
$('#add-used-bitumen').val('').prop('disabled', true)
|
|
|
|
$(".tonaj").addClass("d-none");
|
|
}
|
|
|
|
if (addSubcontractNature == 4) {
|
|
$('#add-bridge-number-box').show()
|
|
$('#add-bridge-number').val('').prop('disabled', false)
|
|
} else {
|
|
$('#add-bridge-number-box').hide()
|
|
$('#add-bridge-number').val('').prop('disabled', true)
|
|
}
|
|
|
|
if (addSubcontractNature == 0) {
|
|
$(".map-endplace-title").addClass("d-none");
|
|
hideLoaderScreen();
|
|
$(".add-subcontract-action-type-all").attr("disabled", true);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "خطا",
|
|
text: "لطفا نوع عملیات خود را به درستی انتخاب کنید",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
|
|
$('#add-required-bitumen-box').hide()
|
|
$('#add-required-bitumen').val('').prop('disabled', true)
|
|
|
|
$('#add-used-bitumen-box').hide()
|
|
$('#add-used-bitumen').val('').prop('disabled', true)
|
|
} else {
|
|
|
|
$(".add-subcontract-action-type-all").attr("disabled", false);
|
|
$(".add-subcontract-action-type-all").append(
|
|
"<option amountable='0' unit='-' value='0'>انتخاب نوع عملیات</option>"
|
|
);
|
|
$.ajax({
|
|
url: "/csi/operation/" + addSubcontractNature,
|
|
type: "GET",
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (res) {
|
|
$.each(res, function (key, value) {
|
|
const unit = value.unit != "" ? value.unit : "-";
|
|
const amountable = value.amountable;
|
|
$(".add-subcontract-action-type-all").append(
|
|
"<option amountable='" +
|
|
amountable +
|
|
"' unit='" +
|
|
unit +
|
|
"' value='" +
|
|
key +
|
|
"'>" +
|
|
value.farsi +
|
|
"</option>"
|
|
);
|
|
});
|
|
hideLoaderScreen();
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
});
|
|
|
|
$(document).on("change", "#edit-subcontract-nature", function () {
|
|
const editSubcontractNature = $("#edit-subcontract-nature").val();
|
|
$(".input-map-project").removeClass("validity-checker");
|
|
showLoaderScreen();
|
|
$(".edit-subcontract-action-type-amount-all").removeClass("validity-checker");
|
|
$(".edit-subcontract-action-type-amount-all").attr("disabled", true);
|
|
$(".edit-subcontract-action-type-all").empty();
|
|
$(".edit-subcontract-action-type-amount-all").val("");
|
|
$(".edit-subcontract-action-type-unit-all").text("-");
|
|
$(".edit-subcontract-action-type-show-all").text("");
|
|
$(".edit-subcontract-type-unit-show-all").text("-");
|
|
$(".edit-subcontract-type-amount-show-all").text("");
|
|
$(".edit-subcontract-action-type-progress-all").val("");
|
|
$(".edit-subcontract-action-type-progress-all").removeClass(
|
|
"validity-checker"
|
|
);
|
|
$(".edit-subcontract-action-type-progress-all").attr("disabled", true);
|
|
$(".edit-subcontract-action-type-tonaj-all").val("");
|
|
$(".edit-subcontract-action-type-tonaj-all").removeClass("validity-checker");
|
|
$(".edit-subcontract-action-type-tonaj-all").attr("disabled", true);
|
|
$(".map-endplace-title").removeClass("d-none");
|
|
if (editSubcontractNature == 1) {
|
|
$(".tonaj").removeClass("d-none");
|
|
} else {
|
|
$(".tonaj").addClass("d-none");
|
|
}
|
|
if (editSubcontractNature == 0) {
|
|
$(".map-endplace-title").addClass("d-none");
|
|
hideLoaderScreen();
|
|
$(".edit-subcontract-action-type-all").attr("disabled", true);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "خطا",
|
|
text: "لطفا نوع عملیات خود را به درستی انتخاب کنید",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else {
|
|
$(".edit-subcontract-action-type-all").attr("disabled", false);
|
|
$(".edit-subcontract-action-type-all").append(
|
|
"<option amountable='0' unit='-' value='0'>انتخاب نوع عملیات</option>"
|
|
);
|
|
$.ajax({
|
|
url: "/csi/operation/" + editSubcontractNature,
|
|
type: "GET",
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (res) {
|
|
$.each(res, function (key, value) {
|
|
const unit = value.unit != "" ? value.unit : "-";
|
|
const amountable = value.amountable;
|
|
$(".edit-subcontract-action-type-all").append(
|
|
"<option amountable='" +
|
|
amountable +
|
|
"' unit='" +
|
|
unit +
|
|
"' value='" +
|
|
key +
|
|
"'>" +
|
|
value.farsi +
|
|
"</option>"
|
|
);
|
|
});
|
|
hideLoaderScreen();
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
});
|
|
|
|
$(document).on("change", ".add-subcontract-action-type-all", function () {
|
|
const modal = $(this).parents("#add-subcontract-modal");
|
|
const boxIndex = $(this).parents("tr").data("boxIndex");
|
|
const trParent = $(this).closest("tr");
|
|
trParent.find(".add-subcontract-action-type-amount-all").val("");
|
|
let unit = $(this).find("option:selected").attr("unit");
|
|
let amountable = $(this).find("option:selected").attr("amountable");
|
|
trParent.find(".add-subcontract-action-type-unit-all").text(unit);
|
|
const opration = {
|
|
value: $(this).val(),
|
|
};
|
|
|
|
if (arrAddOprationsDisable[boxIndex] != opration.value)
|
|
arrAddOprationsDisable[boxIndex] = opration.value;
|
|
|
|
modal.find(".add-subcontract-action-type-all option").prop("disabled", false);
|
|
for (let i = 0; i < arrAddOprationsDisable.length; i++) {
|
|
if (arrAddOprationsDisable[i] != 0)
|
|
modal
|
|
.find(
|
|
`.add-subcontract-action-type-all option[value=${arrAddOprationsDisable[i]}]`
|
|
)
|
|
.prop("disabled", true);
|
|
}
|
|
|
|
$("#add-subcontract-action-type-unit-first-show").text(
|
|
$("#add-subcontract-action-type-unit-first").text()
|
|
);
|
|
$("#add-subcontract-action-type-unit-second-show").text(
|
|
$("#add-subcontract-action-type-unit-second").text()
|
|
);
|
|
$("#add-subcontract-action-type-unit-third-show").text(
|
|
$("#add-subcontract-action-type-unit-third").text()
|
|
);
|
|
$("#add-subcontract-action-type-unit-forth-show").text(
|
|
$("#add-subcontract-action-type-unit-forth").text()
|
|
);
|
|
$("#add-subcontract-action-type-amount-first-show").text(
|
|
$("#add-subcontract-action-type-amount-first").val()
|
|
);
|
|
$("#add-subcontract-action-type-amount-second-show").text(
|
|
$("#add-subcontract-action-type-amount-second").val()
|
|
);
|
|
$("#add-subcontract-action-type-amount-third-show").text(
|
|
$("#add-subcontract-action-type-amount-third").val()
|
|
);
|
|
$("#add-subcontract-action-type-amount-forth-show").text(
|
|
$("#add-subcontract-action-type-amount-forth").val()
|
|
);
|
|
|
|
if (amountable == 0) {
|
|
trParent
|
|
.find(".add-subcontract-action-type-amount-all")
|
|
.attr("disabled", true);
|
|
} else if (amountable == 1) {
|
|
trParent
|
|
.find(".add-subcontract-action-type-amount-all")
|
|
.attr("disabled", false);
|
|
}
|
|
|
|
if ($(this).data("subcontractAction") == 1) {
|
|
if ($(this).find("option:selected").val() == 0) {
|
|
$("#add-subcontract-action-type-first-show").text("");
|
|
$("#add-subcontract-action-type-progress-first").val("");
|
|
$("#add-subcontract-action-type-tonaj-first").val("");
|
|
$("#add-subcontract-action-type-progress-first").attr("disabled", true);
|
|
$("#add-subcontract-action-type-tonaj-first").attr("disabled", true);
|
|
} else {
|
|
$("#add-subcontract-action-type-first-show").text(
|
|
$(this).find("option:selected").text()
|
|
);
|
|
$("#add-subcontract-action-type-progress-first").attr("disabled", false);
|
|
$("#add-subcontract-action-type-tonaj-first").attr("disabled", false);
|
|
}
|
|
}
|
|
|
|
if ($(this).data("subcontractAction") == 2) {
|
|
if ($(this).find("option:selected").val() == 0) {
|
|
$("#add-subcontract-action-type-second-show").text("");
|
|
$("#add-subcontract-action-type-progress-second").val("");
|
|
$("#add-subcontract-action-type-tonaj-second").val("");
|
|
$("#add-subcontract-action-type-progress-second").attr("disabled", true);
|
|
$("#add-subcontract-action-type-tonaj-second").attr("disabled", true);
|
|
} else {
|
|
$("#add-subcontract-action-type-second-show").text(
|
|
$(this).find("option:selected").text()
|
|
);
|
|
$("#add-subcontract-action-type-progress-second").attr("disabled", false);
|
|
$("#add-subcontract-action-type-tonaj-second").attr("disabled", false);
|
|
}
|
|
}
|
|
|
|
if ($(this).data("subcontractAction") == 3) {
|
|
if ($(this).find("option:selected").val() == 0) {
|
|
$("#add-subcontract-action-type-third-show").text("");
|
|
$("#add-subcontract-action-type-progress-third").val("");
|
|
$("#add-subcontract-action-type-tonaj-third").val("");
|
|
$("#add-subcontract-action-type-progress-third").attr("disabled", true);
|
|
$("#add-subcontract-action-type-tonaj-third").attr("disabled", true);
|
|
} else {
|
|
$("#add-subcontract-action-type-third-show").text(
|
|
$(this).find("option:selected").text()
|
|
);
|
|
$("#add-subcontract-action-type-progress-third").attr("disabled", false);
|
|
$("#add-subcontract-action-type-tonaj-third").attr("disabled", false);
|
|
}
|
|
}
|
|
|
|
if ($(this).data("subcontractAction") == 4) {
|
|
if ($(this).find("option:selected").val() == 0) {
|
|
$("#add-subcontract-action-type-forth-show").text("");
|
|
$("#add-subcontract-action-type-progress-forth").val("");
|
|
$("#add-subcontract-action-type-tonaj-forth").val("");
|
|
$("#add-subcontract-action-type-progress-forth").attr("disabled", true);
|
|
$("#add-subcontract-action-type-tonaj-forth").attr("disabled", true);
|
|
} else {
|
|
$("#add-subcontract-action-type-forth-show").text(
|
|
$(this).find("option:selected").text()
|
|
);
|
|
$("#add-subcontract-action-type-progress-forth").attr("disabled", false);
|
|
$("#add-subcontract-action-type-tonaj-forth").attr("disabled", false);
|
|
}
|
|
}
|
|
if ($("#add-subcontract-action-type-first option:selected").val() == 113) {
|
|
$("#add-subcontract-action-type-tonaj-first").prop("disabled", true);
|
|
$("#add-subcontract-action-type-tonaj-first").val("")
|
|
}
|
|
|
|
if ($("#add-subcontract-action-type-second option:selected").val() == 113) {
|
|
$("#add-subcontract-action-type-tonaj-second").prop("disabled", true);
|
|
$("#add-subcontract-action-type-tonaj-second").val("")
|
|
}
|
|
|
|
if ($("#add-subcontract-action-type-third option:selected").val() == 113) {
|
|
$("#add-subcontract-action-type-tonaj-third").prop("disabled", true);
|
|
$("#add-subcontract-action-type-tonaj-third").val("")
|
|
}
|
|
|
|
if ($("#add-subcontract-action-type-forth option:selected").val() == 113) {
|
|
$("#add-subcontract-action-type-tonaj-forth").prop("disabled", true);
|
|
$("#add-subcontract-action-type-tonaj-forth").val("");
|
|
}
|
|
});
|
|
|
|
$(document).on("change", ".edit-subcontract-action-type-all", function () {
|
|
const modal = $(this).parents("#edit-subcontract-modal");
|
|
const boxIndex = $(this).parents("tr").data("boxIndex");
|
|
const trParent = $(this).closest("tr");
|
|
trParent.find(".edit-subcontract-action-type-amount-all").val("");
|
|
let unit = $(this).find("option:selected").attr("unit");
|
|
let amountable = $(this).find("option:selected").attr("amountable");
|
|
trParent.find(".edit-subcontract-action-type-unit-all").text(unit);
|
|
const opration = {
|
|
value: $(this).val(),
|
|
};
|
|
|
|
if (arrEditOprationsDisable[boxIndex] != opration.value)
|
|
arrEditOprationsDisable[boxIndex] = opration.value;
|
|
|
|
modal
|
|
.find(".edit-subcontract-action-type-all option")
|
|
.prop("disabled", false);
|
|
|
|
for (let i = 0; i < arrEditOprationsDisable.length; i++) {
|
|
if (arrEditOprationsDisable[i] != 0)
|
|
modal
|
|
.find(
|
|
`.edit-subcontract-action-type-all option[value=${arrEditOprationsDisable[i]}]`
|
|
)
|
|
.prop("disabled", true);
|
|
}
|
|
|
|
$("#edit-subcontract-action-type-unit-first-show").text(
|
|
$("#edit-subcontract-action-type-unit-first").text()
|
|
);
|
|
$("#edit-subcontract-action-type-unit-second-show").text(
|
|
$("#edit-subcontract-action-type-unit-second").text()
|
|
);
|
|
$("#edit-subcontract-action-type-unit-third-show").text(
|
|
$("#edit-subcontract-action-type-unit-third").text()
|
|
);
|
|
$("#edit-subcontract-action-type-unit-forth-show").text(
|
|
$("#edit-subcontract-action-type-unit-forth").text()
|
|
);
|
|
$("#edit-subcontract-action-type-amount-first-show").text(
|
|
$("#edit-subcontract-action-type-amount-first").val()
|
|
);
|
|
$("#edit-subcontract-action-type-amount-second-show").text(
|
|
$("#edit-subcontract-action-type-amount-second").val()
|
|
);
|
|
$("#edit-subcontract-action-type-amount-third-show").text(
|
|
$("#edit-subcontract-action-type-amount-third").val()
|
|
);
|
|
$("#edit-subcontract-action-type-amount-forth-show").text(
|
|
$("#edit-subcontract-action-type-amount-forth").val()
|
|
);
|
|
|
|
if (amountable == 0) {
|
|
trParent
|
|
.find(".edit-subcontract-action-type-amount-all")
|
|
.attr("disabled", true);
|
|
} else if (amountable == 1) {
|
|
trParent
|
|
.find(".edit-subcontract-action-type-amount-all")
|
|
.attr("disabled", false);
|
|
}
|
|
|
|
if ($(this).data("subcontractAction") == 1) {
|
|
if ($(this).find("option:selected").val() == 0) {
|
|
$("#edit-subcontract-action-type-first-show").text("");
|
|
$("#edit-subcontract-action-type-progress-first").val("");
|
|
$("#edit-subcontract-action-type-tonaj-first").val("");
|
|
$("#edit-subcontract-action-type-progress-first").attr("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-first").attr("disabled", true);
|
|
} else {
|
|
$("#edit-subcontract-action-type-first-show").text(
|
|
$(this).find("option:selected").text()
|
|
);
|
|
$("#edit-subcontract-action-type-progress-first").attr("disabled", false);
|
|
$("#edit-subcontract-action-type-tonaj-first").attr("disabled", false);
|
|
}
|
|
}
|
|
|
|
if ($(this).data("subcontractAction") == 2) {
|
|
if ($(this).find("option:selected").val() == 0) {
|
|
$("#edit-subcontract-action-type-second-show").text("");
|
|
$("#edit-subcontract-action-type-progress-second").val("");
|
|
$("#edit-subcontract-action-type-tonaj-second").val("");
|
|
$("#edit-subcontract-action-type-progress-second").attr("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-second").attr("disabled", true);
|
|
} else {
|
|
$("#edit-subcontract-action-type-second-show").text(
|
|
$(this).find("option:selected").text()
|
|
);
|
|
$("#edit-subcontract-action-type-progress-second").attr(
|
|
"disabled",
|
|
false
|
|
);
|
|
$("#edit-subcontract-action-type-tonaj-second").attr("disabled", false);
|
|
}
|
|
}
|
|
|
|
if ($(this).data("subcontractAction") == 3) {
|
|
if ($(this).find("option:selected").val() == 0) {
|
|
$("#edit-subcontract-action-type-third-show").text("");
|
|
$("#edit-subcontract-action-type-progress-third").val("");
|
|
$("#edit-subcontract-action-type-tonaj-third").val("");
|
|
$("#edit-subcontract-action-type-progress-third").attr("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-third").attr("disabled", true);
|
|
} else {
|
|
$("#edit-subcontract-action-type-third-show").text(
|
|
$(this).find("option:selected").text()
|
|
);
|
|
$("#edit-subcontract-action-type-progress-third").attr("disabled", false);
|
|
$("#edit-subcontract-action-type-tonaj-third").attr("disabled", false);
|
|
}
|
|
}
|
|
|
|
if ($(this).data("subcontractAction") == 4) {
|
|
if ($(this).find("option:selected").val() == 0) {
|
|
$("#edit-subcontract-action-type-forth-show").text("");
|
|
$("#edit-subcontract-action-type-progress-forth").val("");
|
|
$("#edit-subcontract-action-type-tonaj-forth").val("");
|
|
$("#edit-subcontract-action-type-progress-forth").attr("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-forth").attr("disabled", true);
|
|
} else {
|
|
$("#edit-subcontract-action-type-forth-show").text(
|
|
$(this).find("option:selected").text()
|
|
);
|
|
$("#edit-subcontract-action-type-progress-forth").attr("disabled", false);
|
|
$("#edit-subcontract-action-type-tonaj-forth").attr("disabled", false);
|
|
}
|
|
}
|
|
if ($("#edit-subcontract-action-type-first option:selected").val() == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-first").prop("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-first").val("")
|
|
}
|
|
|
|
if ($("#edit-subcontract-action-type-second option:selected").val() == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-second").prop("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-second").val("")
|
|
}
|
|
|
|
if ($("#edit-subcontract-action-type-third option:selected").val() == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-third").prop("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-third").val("")
|
|
}
|
|
|
|
if ($("#edit-subcontract-action-type-forth option:selected").val() == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-forth").prop("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-forth").val("");
|
|
}
|
|
});
|
|
|
|
$(document).on("click", "#add-subcontract-cta", function () {
|
|
var end_lat = null;
|
|
var end_lng = null;
|
|
let actionChecker = false;
|
|
$("#add-subcontract-cta").prop("disabled", true);
|
|
// checking validity
|
|
const parent = $(this).parents("#add-subcontract-modal");
|
|
parent.find(".input-map-project").each(function () {
|
|
if ($(this).val() != "") {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
});
|
|
if ($("#add-Supervisor-number").val().length != 11) {
|
|
$("#add-Supervisor-number").addClass("validity-checker");
|
|
} else {
|
|
$("#add-Supervisor-number").removeClass("validity-checker");
|
|
}
|
|
parent.find(".input-add-subcontract").each(function () {
|
|
if (!$(this).prop("disabled")) {
|
|
if ($(this).val() != "") {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
} else {
|
|
$(this).removeClass("validity-checker");
|
|
}
|
|
});
|
|
parent.find(".add-subcontract-action-type-tonaj-all").each(function () {
|
|
if ($("#add-subcontract-nature").val() == 1) {
|
|
if (!$(this).prop("disabled")) {
|
|
if ($(this).val() != "") {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
} else {
|
|
$(this).removeClass("validity-checker");
|
|
}
|
|
}
|
|
});
|
|
parent.find(".select-add-subcontract").each(function () {
|
|
if ($(this).val() != 0) {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
});
|
|
parent.find(".img-preview").each(function () {
|
|
if ($(this).prop("src") == "") {
|
|
$(this).parents(".imgbox").addClass("validity-checker");
|
|
} else {
|
|
$(this).parents(".imgbox").removeClass("validity-checker");
|
|
}
|
|
});
|
|
if ($("#add-subcontract-last-project-position").val() == 2) {
|
|
if ($("#add-subcontract-progress-mainpercent").val().length <= 1) {
|
|
$("#add-subcontract-progress-mainpercent").addClass("validity-checker");
|
|
} else {
|
|
$("#add-subcontract-progress-mainpercent").removeClass(
|
|
"validity-checker"
|
|
);
|
|
}
|
|
}
|
|
// checking validity
|
|
const project_title = $("#add-subcontract-title").val();
|
|
const project_type_id = $("#add-subcontract-nature").val();
|
|
const project_type_fa = $("#add-subcontract-nature option:selected").text();
|
|
|
|
const required_bitumen = $("#add-required-bitumen").val();
|
|
const used_bitumen = $("#add-used-bitumen").val();
|
|
const bridge_number = $("#add-bridge-number").val();
|
|
|
|
const operation_type_id1 = $(
|
|
"#add-subcontract-action-type-first option:selected"
|
|
).val();
|
|
const operation_type_amount1 = $(
|
|
"#add-subcontract-action-type-amount-first"
|
|
).val();
|
|
const operation_type_progress1 = $(
|
|
"#add-subcontract-action-type-progress-first"
|
|
).val();
|
|
const operation_type_tonaj1 = $(
|
|
"#add-subcontract-action-type-tonaj-first"
|
|
).val();
|
|
|
|
const operation_type_id2 = $(
|
|
"#add-subcontract-action-type-second option:selected"
|
|
).val();
|
|
const operation_type_amount2 = $(
|
|
"#add-subcontract-action-type-amount-second"
|
|
).val();
|
|
const operation_type_progress2 = $(
|
|
"#add-subcontract-action-type-progress-second"
|
|
).val();
|
|
const operation_type_tonaj2 = $(
|
|
"#add-subcontract-action-type-tonaj-second"
|
|
).val();
|
|
|
|
const operation_type_id3 = $(
|
|
"#add-subcontract-action-type-third option:selected"
|
|
).val();
|
|
const operation_type_amount3 = $(
|
|
"#add-subcontract-action-type-amount-third"
|
|
).val();
|
|
const operation_type_progress3 = $(
|
|
"#add-subcontract-action-type-progress-third"
|
|
).val();
|
|
const operation_type_tonaj3 = $(
|
|
"#add-subcontract-action-type-tonaj-third"
|
|
).val();
|
|
|
|
const operation_type_id4 = $(
|
|
"#add-subcontract-action-type-forth option:selected"
|
|
).val();
|
|
const operation_type_amount4 = $(
|
|
"#add-subcontract-action-type-amount-forth"
|
|
).val();
|
|
const operation_type_progress4 = $(
|
|
"#add-subcontract-action-type-progress-forth"
|
|
).val();
|
|
const operation_type_tonaj4 = $(
|
|
"#add-subcontract-action-type-tonaj-forth"
|
|
).val();
|
|
|
|
const operator_name = $("#add-Supervisor-name").val();
|
|
const operator_phone = $("#add-Supervisor-number").val();
|
|
|
|
const priority_project = $("#add-subcontract-importance-degree").val();
|
|
const priority_project_fa = $(
|
|
"#add-subcontract-importance-degree option:selected"
|
|
).text();
|
|
const followup_priority_project_id = $(
|
|
"#add-subcontract-monitoring-degree"
|
|
).val();
|
|
const followup_priority_project = $(
|
|
"#add-subcontract-monitoring-degree option:selected"
|
|
).text();
|
|
|
|
const city_id = $("#add-subcontract-province").val();
|
|
const city_fa = $("#add-subcontract-province option:selected").text();
|
|
|
|
const axis_name_fa = $("#add-subcontract-axisName").val();
|
|
const axis_type_id = $("#add-subcontract-axisType").val();
|
|
const axis_type_fa = $("#add-subcontract-axisType option:selected").text();
|
|
|
|
const last_status_id = $("#add-subcontract-last-project-position").val();
|
|
const last_status_fa = $(
|
|
"#add-subcontract-last-project-position option:selected"
|
|
).text();
|
|
const progress_project = $("#add-subcontract-progress-mainpercent").val();
|
|
|
|
const last_digit_project = $(
|
|
"#add-subcontract-last-riali-digit-project"
|
|
).val();
|
|
const last_function_operator = $(
|
|
"#add-subcontract-last-amount-worker-function"
|
|
).val();
|
|
const last_payable_operator = $(
|
|
"#add-subcontract-last-payable-amount-worker"
|
|
).val();
|
|
const complete_payable = $(
|
|
"#add-subcontract-amount-for-ending-project"
|
|
).val();
|
|
const province_id = provinceIdForSub;
|
|
const contract_id = contractRowId;
|
|
const image1 = $("#deviceImg1").get(0).files[0];
|
|
const image2 = $("#deviceImg2").get(0).files[0];
|
|
const start_lat = startMarkerAdd.getLatLng().lat.toFixed(6);
|
|
const start_lng = startMarkerAdd.getLatLng().lng.toFixed(6);
|
|
end_lat = endMarkerAdd.getLatLng().lat.toFixed(6);
|
|
end_lng = endMarkerAdd.getLatLng().lng.toFixed(6);
|
|
let formData = new FormData();
|
|
if ($("#add-subcontract-action-type-first option:selected").val() != 0) {
|
|
actionChecker = true;
|
|
formData.append("operation_type_id1", operation_type_id1);
|
|
if ($("#add-subcontract-nature option:selected").hasClass("limitAmount")) {
|
|
formData.append("operation_type_amount1", operation_type_amount1);
|
|
}
|
|
formData.append("operation_type_progress1", operation_type_progress1);
|
|
if ($("#add-subcontract-nature").val() == 1) {
|
|
formData.append("operation_type_tonaj1", operation_type_tonaj1);
|
|
}
|
|
}
|
|
if ($("#add-subcontract-action-type-second option:selected").val() != 0) {
|
|
actionChecker = true;
|
|
formData.append("operation_type_id2", operation_type_id2);
|
|
if ($("#add-subcontract-nature option:selected").hasClass("limitAmount")) {
|
|
formData.append("operation_type_amount2", operation_type_amount2);
|
|
}
|
|
formData.append("operation_type_progress2", operation_type_progress2);
|
|
if ($("#add-subcontract-nature").val() == 1) {
|
|
formData.append("operation_type_tonaj2", operation_type_tonaj2);
|
|
}
|
|
}
|
|
if ($("#add-subcontract-action-type-third option:selected").val() != 0) {
|
|
actionChecker = true;
|
|
formData.append("operation_type_id3", operation_type_id3);
|
|
if ($("#add-subcontract-nature option:selected").hasClass("limitAmount")) {
|
|
formData.append("operation_type_amount3", operation_type_amount3);
|
|
}
|
|
formData.append("operation_type_progress3", operation_type_progress3);
|
|
if ($("#add-subcontract-nature").val() == 1) {
|
|
formData.append("operation_type_tonaj3", operation_type_tonaj3);
|
|
}
|
|
}
|
|
if ($("#add-subcontract-action-type-forth option:selected").val() != 0) {
|
|
actionChecker = true;
|
|
formData.append("operation_type_id4", operation_type_id4);
|
|
if ($("#add-subcontract-nature option:selected").hasClass("limitAmount")) {
|
|
formData.append("operation_type_amount4", operation_type_amount4);
|
|
}
|
|
formData.append("operation_type_progress4", operation_type_progress4);
|
|
if ($("#add-subcontract-nature").val() == 1) {
|
|
formData.append("operation_type_tonaj4", operation_type_tonaj4);
|
|
}
|
|
}
|
|
formData.append("project_title", project_title);
|
|
formData.append("project_type_id", project_type_id);
|
|
formData.append("project_type_fa", project_type_fa);
|
|
|
|
if (project_type_id == 1) {
|
|
formData.append("required_bitumen", required_bitumen);
|
|
formData.append("used_bitumen", used_bitumen);
|
|
} else if (project_type_id == 4) {
|
|
formData.append("bridge_number", bridge_number);
|
|
}
|
|
|
|
formData.append("operator_name", operator_name);
|
|
formData.append("province_id", province_id);
|
|
formData.append("operator_phone", operator_phone);
|
|
formData.append("priority_project", priority_project);
|
|
formData.append("priority_project_fa", priority_project_fa);
|
|
formData.append("followup_priority_project_id", followup_priority_project_id);
|
|
formData.append("followup_priority_project", followup_priority_project);
|
|
formData.append("city_id", city_id);
|
|
formData.append("city_fa", city_fa);
|
|
formData.append("axis_name_fa", axis_name_fa);
|
|
formData.append("axis_type_id", axis_type_id);
|
|
formData.append("axis_type_fa", axis_type_fa);
|
|
formData.append("last_status_id", last_status_id);
|
|
formData.append("last_status_fa", last_status_fa);
|
|
formData.append("progress_project", progress_project);
|
|
formData.append("last_digit_project", last_digit_project);
|
|
formData.append("last_function_operator", last_function_operator);
|
|
formData.append("last_payable_operator", last_payable_operator);
|
|
formData.append("complete_payable", complete_payable);
|
|
formData.append("contract_id", contract_id);
|
|
if (typeof image1 !== "undefined") formData.append("image1", image1);
|
|
if (typeof image2 !== "undefined") formData.append("image2", image2);
|
|
formData.append("start_lat", start_lat);
|
|
formData.append("start_lng", start_lng);
|
|
formData.append("end_lat", end_lat);
|
|
formData.append("end_lng", end_lng);
|
|
formData.append("addNewSubitemStatus", addNewSubitemStatus);
|
|
if (addNewSubitemStatus == "false")
|
|
formData.append(
|
|
"projectData_id",
|
|
$("#pre_distance_choose").data("projectId")
|
|
);
|
|
if (!actionChecker) {
|
|
$("#add-subcontract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "خطا",
|
|
text: "حداقل یکی از انواع عملیات را انتخاب کنید",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else if (
|
|
$("#add-subcontract-modal").find(".validity-checker").length != 0
|
|
) {
|
|
$("#add-subcontract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "مقادیر مشخص شده را پر کنید",
|
|
text: "اگر همچنان با این اخطار مواجه شدید با پشتیبانی تماس بگیرید",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else if (parseInt(required_bitumen) < parseInt(used_bitumen)) {
|
|
$("#add-subcontract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "مقدار قیر",
|
|
text: "مقدار قیر مصرف شده نباید از مقدار قیر مورد نیاز بیشتر باشد",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else {
|
|
showLoaderScreen();
|
|
$.ajax({
|
|
url: "/csi/store-dev",
|
|
type: "POST",
|
|
headers: {
|
|
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
|
|
},
|
|
data: formData,
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (result) {
|
|
$("#add-subcontract-modal").modal("hide");
|
|
$("#how-add-subcontract-modal").modal("hide");
|
|
$("#choose-project-type-modal").modal("hide");
|
|
$("#add-subcontract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "success",
|
|
text: "زیر پروژه با موفقیت ثبت شد",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
isReloadAjax = true;
|
|
table.ajax.reload(null, false);
|
|
hideLoaderScreen();
|
|
},
|
|
error: function (request) {
|
|
$("#add-subcontract-cta").prop("disabled", false);
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
});
|
|
|
|
function showSubProvince(city_id) {
|
|
$("#add-subcontract-province").empty();
|
|
$("#add-subcontract-province").append(
|
|
'<option value="0">انتخاب شهرستان</option>'
|
|
);
|
|
$("#edit-subcontract-province").empty();
|
|
$("#edit-subcontract-province").append(
|
|
'<option value="0">انتخاب شهرستان</option>'
|
|
);
|
|
showLoaderScreen();
|
|
$.ajax({
|
|
url: "/public/contents/provinces/" + provinceIdForSub,
|
|
type: "GET",
|
|
async: "false",
|
|
success: function (data) {
|
|
const list_citys = data.data;
|
|
for (let index = 0; index < list_citys.length; index++) {
|
|
$("#add-subcontract-province").append(
|
|
"<option value=" +
|
|
list_citys[index].id +
|
|
">" +
|
|
list_citys[index].name_fa +
|
|
"</option>"
|
|
);
|
|
$("#edit-subcontract-province").append(
|
|
"<option value=" +
|
|
list_citys[index].id +
|
|
">" +
|
|
list_citys[index].name_fa +
|
|
"</option>"
|
|
);
|
|
hideLoaderScreen();
|
|
}
|
|
$("#edit-subcontract-province").val(city_id);
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
$(document).on("change", "#add-subcontract-last-project-position", function () {
|
|
if ($(this).val() == 1) {
|
|
$("#add-subcontract-progress-mainpercent").val("10");
|
|
$("#add-subcontract-progress-mainpercent").prop("disabled", true);
|
|
$("#limit_percentage").addClass("d-none");
|
|
} else if ($(this).val() == 2) {
|
|
$("#add-subcontract-progress-mainpercent").val("");
|
|
$("#add-subcontract-progress-mainpercent").prop("disabled", false);
|
|
$("#limit_percentage").removeClass("d-none");
|
|
} else if ($(this).val() == 3) {
|
|
$("#add-subcontract-progress-mainpercent").val("100");
|
|
$("#add-subcontract-progress-mainpercent").prop("disabled", true);
|
|
$("#limit_percentage").addClass("d-none");
|
|
} else if ($(this).val() == 0) {
|
|
$("#add-subcontract-progress-mainpercent").val("");
|
|
$("#add-subcontract-progress-mainpercent").prop("disabled", false);
|
|
$("#limit_percentage").addClass("d-none");
|
|
}
|
|
});
|
|
$(document).on(
|
|
"change",
|
|
"#edit-subcontract-last-project-position",
|
|
function () {
|
|
if ($(this).val() == 1) {
|
|
$("#edit-subcontract-progress-mainpercent").val("10");
|
|
$("#edit-subcontract-progress-mainpercent").prop("disabled", true);
|
|
$("#edit_limit_percentage").addClass("d-none");
|
|
} else if ($(this).val() == 2) {
|
|
$("#edit-subcontract-progress-mainpercent").val("");
|
|
$("#edit-subcontract-progress-mainpercent").prop("disabled", false);
|
|
$("#edit_limit_percentage").removeClass("d-none");
|
|
} else if ($(this).val() == 3) {
|
|
$("#edit-subcontract-progress-mainpercent").val("100");
|
|
$("#edit-subcontract-progress-mainpercent").prop("disabled", true);
|
|
$("#edit_limit_percentage").addClass("d-none");
|
|
} else if ($(this).val() == 0) {
|
|
$("#edit-subcontract-progress-mainpercent").val("");
|
|
$("#edit-subcontract-progress-mainpercent").prop("disabled", false);
|
|
$("#limit_percentage").addClass("d-none");
|
|
}
|
|
}
|
|
);
|
|
$(".add-subcontract-action-type-amount-all").on("input", function () {
|
|
const onTimeValue = $(this).val();
|
|
if ($(this).data("subcontractAmount") == 1) {
|
|
if (onTimeValue == "")
|
|
return $("#add-subcontract-action-type-amount-first-show").text("");
|
|
return $("#add-subcontract-action-type-amount-first-show").text(
|
|
onTimeValue
|
|
);
|
|
}
|
|
|
|
if ($(this).data("subcontractAmount") == 2) {
|
|
if (onTimeValue == "")
|
|
return $("#add-subcontract-action-type-amount-second-show").text("");
|
|
return $("#add-subcontract-action-type-amount-second-show").text(
|
|
onTimeValue
|
|
);
|
|
}
|
|
|
|
if ($(this).data("subcontractAmount") == 3) {
|
|
if (onTimeValue == "")
|
|
return $("#add-subcontract-action-type-amount-third-show").text("");
|
|
return $("#add-subcontract-action-type-amount-third-show").text(
|
|
onTimeValue
|
|
);
|
|
}
|
|
|
|
if ($(this).data("subcontractAmount") == 4) {
|
|
if (onTimeValue == "")
|
|
return $("#add-subcontract-action-type-amount-forth-show").text("");
|
|
$("#add-subcontract-action-type-amount-forth-show").text(onTimeValue);
|
|
}
|
|
});
|
|
|
|
$(".edit-subcontract-action-type-amount-all").on("input", function () {
|
|
const onTimeValue = $(this).val();
|
|
if ($(this).data("subcontractAmount") == 1) {
|
|
if (onTimeValue == "")
|
|
return $("#edit-subcontract-action-type-amount-first-show").text("");
|
|
return $("#edit-subcontract-action-type-amount-first-show").text(
|
|
onTimeValue
|
|
);
|
|
}
|
|
|
|
if ($(this).data("subcontractAmount") == 2) {
|
|
if (onTimeValue == "")
|
|
return $("#edit-subcontract-action-type-amount-second-show").text("");
|
|
return $("#edit-subcontract-action-type-amount-second-show").text(
|
|
onTimeValue
|
|
);
|
|
}
|
|
|
|
if ($(this).data("subcontractAmount") == 3) {
|
|
if (onTimeValue == "")
|
|
return $("#edit-subcontract-action-type-amount-third-show").text("");
|
|
return $("#edit-subcontract-action-type-amount-third-show").text(
|
|
onTimeValue
|
|
);
|
|
}
|
|
|
|
if ($(this).data("subcontractAmount") == 4) {
|
|
if (onTimeValue == "")
|
|
return $("#edit-subcontract-action-type-amount-forth-show").text("");
|
|
$("#edit-subcontract-action-type-amount-forth-show").text(onTimeValue);
|
|
}
|
|
});
|
|
|
|
function createAddMap(position) {
|
|
var bounds = [
|
|
[42.9130026312, 75.6166317076],
|
|
[20.5782370061, 35.5092252948],
|
|
];
|
|
if (position != null) {
|
|
addMap = L.map("add_map", {
|
|
maxBounds: bounds,
|
|
minZoom: 6,
|
|
}).setView([position.start.lat, position.start.lng], 7);
|
|
} else {
|
|
addMap = L.map("add_map", {
|
|
maxBounds: bounds,
|
|
minZoom: 6,
|
|
}).setView([35.7065, 51.3477], 7);
|
|
}
|
|
L.tileLayer(`${mapUrl}{z}/{x}/{y}.png`, {}).addTo(addMap);
|
|
setMarkerDefaultAdd(position);
|
|
}
|
|
|
|
function clearAddMap(position) {
|
|
isSetStartMarkerAdd = false;
|
|
isSetEndMarkerAdd = false;
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
addMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
addMap.removeLayer(startMarkerAdd);
|
|
if (endMarkerAdd != null) {
|
|
addMap.removeLayer(endMarkerAdd);
|
|
}
|
|
if (position != null) {
|
|
addMap.setView([position.start.lat, position.start.lng], 7);
|
|
} else {
|
|
addMap.setView([35.7065, 51.3477], 7);
|
|
}
|
|
setMarkerDefaultAdd(position);
|
|
}
|
|
|
|
function setMarkerDefaultAdd(position) {
|
|
isSetStartMarkerAdd = false;
|
|
isSetEndMarkerAdd = false;
|
|
$("#pin-marker-end").removeClass("pin-set");
|
|
$("#pin-marker-start").removeClass("pin-set");
|
|
$("#add_project_start_map").val("");
|
|
$("#add_project_end_map").val("");
|
|
if (position != null) {
|
|
if (position.end != undefined) {
|
|
startMarkerAdd = new L.marker([position.start.lat, position.start.lng], {
|
|
icon: startDivIcon,
|
|
draggable: true,
|
|
}).addTo(addMap);
|
|
|
|
endMarkerAdd = new L.marker([position.end.lat, position.end.lng], {
|
|
icon: endDivIcon,
|
|
draggable: true,
|
|
}).addTo(addMap);
|
|
|
|
$("#add_project_start_map").val(position.start.lat + position.start.lng);
|
|
$("#add_project_end_map").val(position.end.lat + position.end.lng);
|
|
$("#pin-marker-end").removeClass("pin-move pin-warn").addClass("pin-set");
|
|
isSetEndMarkerAdd = true;
|
|
isSetStartMarkerAdd = true;
|
|
$("#pin-marker-start")
|
|
.removeClass("pin-move pin-warn")
|
|
.addClass("pin-set");
|
|
checkMarkersAndDrawPath();
|
|
} else {
|
|
startMarkerAdd = new L.marker([position.start.lat, position.start.lng], {
|
|
icon: startDivIcon,
|
|
draggable: true,
|
|
}).addTo(addMap);
|
|
|
|
endMarkerAdd = new L.marker([position.start.lat, position.start.lng], {
|
|
icon: endDivIcon,
|
|
draggable: true,
|
|
}).addTo(addMap);
|
|
|
|
$("#add_project_start_map").val(position.start.lat + position.start.lng);
|
|
isSetStartMarkerAdd = true;
|
|
$("#pin-marker-start")
|
|
.removeClass("pin-move pin-warn")
|
|
.addClass("pin-set");
|
|
}
|
|
} else {
|
|
startMarkerAdd = new L.marker(L.latLng(addMap.getCenter()), {
|
|
icon: startDivIcon,
|
|
draggable: true,
|
|
}).addTo(addMap);
|
|
|
|
endMarkerAdd = new L.marker(L.latLng(addMap.getCenter()), {
|
|
icon: endDivIcon,
|
|
draggable: true,
|
|
});
|
|
}
|
|
|
|
addMap.on("move", function () {
|
|
if (!isSetStartMarkerAdd && !isSetEndMarkerAdd) {
|
|
startMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
|
|
$("#pin-marker-start").removeClass("pin-set").addClass("pin-move");
|
|
}
|
|
|
|
if (isSetStartMarkerAdd && !isSetEndMarkerAdd) {
|
|
endMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
|
|
$("#pin-marker-end").removeClass("pin-set").addClass("pin-move");
|
|
}
|
|
});
|
|
|
|
addMap.on("moveend", function () {
|
|
if (!isSetStartMarkerAdd && !isSetEndMarkerAdd) {
|
|
startMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
|
|
$("#pin-marker-start").removeClass("pin-move pin-set");
|
|
}
|
|
|
|
if (isSetStartMarkerAdd && !isSetEndMarkerAdd) {
|
|
endMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
|
|
$("#pin-marker-end").removeClass("pin-move pin-set");
|
|
}
|
|
});
|
|
|
|
startMarkerAdd.on("click", function () {
|
|
if (!isSetStartMarkerAdd) {
|
|
startMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
|
|
endMarkerAdd.setLatLng(L.latLng(addMap.getCenter()));
|
|
isSetStartMarkerAdd = true;
|
|
$("#pin-marker-start")
|
|
.removeClass("pin-move pin-warn")
|
|
.addClass("pin-set");
|
|
$("#add_project_start_map").val(
|
|
startMarkerAdd.getLatLng().lat.toFixed(6) +
|
|
startMarkerAdd.getLatLng().lng.toFixed(6)
|
|
);
|
|
$("#add_project_start_map").removeClass("validity-checker");
|
|
}
|
|
endMarkerAdd.addTo(addMap);
|
|
|
|
$(this).hide();
|
|
$("#pin-marker-start").removeClass("pin-move pin-warn").addClass("pin-set");
|
|
});
|
|
|
|
startMarkerAdd.on("drag", function () {
|
|
$("#pin-marker-start").addClass("pin-move");
|
|
});
|
|
|
|
startMarkerAdd.on("dragend", function () {
|
|
$("#pin-marker-start").removeClass("pin-move");
|
|
if ($("#pin-marker-start").hasClass("pin-set") || isSetStartMarkerAdd) {
|
|
$("#pin-marker-start").addClass("pin-set");
|
|
$("#add_project_start_map").val(
|
|
startMarkerAdd.getLatLng().lat.toFixed(6) +
|
|
startMarkerAdd.getLatLng().lng.toFixed(6)
|
|
);
|
|
$("#add_project_start_map").removeClass("validity-checker");
|
|
checkMarkersAndDrawPath();
|
|
} else {
|
|
addMap.setView(startMarkerAdd.getLatLng());
|
|
}
|
|
});
|
|
|
|
endMarkerAdd.on("click", function () {
|
|
if (!isSetEndMarkerAdd) {
|
|
isSetEndMarkerAdd = true;
|
|
$("#pin-marker-end").removeClass("pin-move").addClass("pin-set");
|
|
$("#add_project_end_map").val(
|
|
endMarkerAdd.getLatLng().lat.toFixed(6) +
|
|
endMarkerAdd.getLatLng().lng.toFixed(6)
|
|
);
|
|
$("#add_project_end_map").removeClass("validity-checker");
|
|
}
|
|
checkMarkersAndDrawPath();
|
|
});
|
|
|
|
endMarkerAdd.on("drag", function () {
|
|
$("#pin-marker-end").addClass("pin-move");
|
|
checkMarkersAndDrawPath();
|
|
});
|
|
|
|
endMarkerAdd.on("dragend", function () {
|
|
$("#pin-marker-end").removeClass("pin-move");
|
|
|
|
if ($("#pin-marker-end").hasClass("pin-set") || isSetEndMarkerAdd) {
|
|
$("#pin-marker-end").addClass("pin-set");
|
|
$("#add_project_end_map").val(
|
|
endMarkerAdd.getLatLng().lat.toFixed(6) +
|
|
endMarkerAdd.getLatLng().lng.toFixed(6)
|
|
);
|
|
$("#add_project_end_map").removeClass("validity-checker");
|
|
checkMarkersAndDrawPath();
|
|
} else {
|
|
addMap.setView(endMarkerAdd.getLatLng());
|
|
}
|
|
});
|
|
}
|
|
|
|
function checkMarkersAndDrawPath() {
|
|
if (
|
|
$("#pin-marker-start").hasClass("pin-set") &&
|
|
!$("#pin-marker-start").hasClass("pin-move") &&
|
|
$("#pin-marker-end").hasClass("pin-set") &&
|
|
!$("#pin-marker-end").hasClass("pin-move")
|
|
) {
|
|
drawPath();
|
|
}
|
|
}
|
|
|
|
function drawPath() {
|
|
let subcontractValue = $("#add-subcontract-nature").val();
|
|
if (subcontractValue != 6) {
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
addMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
routeControls.push(
|
|
L.Routing.control({
|
|
waypoints: [
|
|
L.latLng(
|
|
parseFloat(startMarkerAdd.getLatLng().lat),
|
|
parseFloat(startMarkerAdd.getLatLng().lng)
|
|
),
|
|
L.latLng(
|
|
parseFloat(endMarkerAdd.getLatLng().lat),
|
|
parseFloat(endMarkerAdd.getLatLng().lng)
|
|
),
|
|
],
|
|
fitSelectedRoutes: false,
|
|
draggableWaypoints: true,
|
|
createMarker: function () {
|
|
return null;
|
|
},
|
|
lineOptions: {
|
|
addWaypoints: false,
|
|
styles: [
|
|
{
|
|
color: "#28a745",
|
|
opacity: 0.8,
|
|
weight: 5,
|
|
},
|
|
],
|
|
},
|
|
}).addTo(addMap)
|
|
);
|
|
$(".leaflet-control-container").css("display", "none");
|
|
$(".leaflet-routing-container-hide").css("display", "none");
|
|
} else {
|
|
var polyline;
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
addMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
var latlngs = Array();
|
|
latlngs.push(startMarkerAdd.getLatLng());
|
|
latlngs.push(endMarkerAdd.getLatLng());
|
|
routeControls.push(
|
|
(polyline = L.polyline(latlngs, {
|
|
color: "#28a745",
|
|
opacity: 0.8,
|
|
weight: 5,
|
|
}).addTo(addMap))
|
|
);
|
|
}
|
|
}
|
|
|
|
$(document).on("click", ".choose-project-type", function () {
|
|
$("#choose-project-type-modal").modal("show");
|
|
$("#choose_project_type").val(1);
|
|
showLoaderScreen();
|
|
ProTypeChooseTable = $("#choose_pro_type_table").DataTable({
|
|
dom: "<f<t>p>",
|
|
pagingType: "simple_numbers",
|
|
responsive: true,
|
|
pageLength: 6,
|
|
destroy: 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: ": فعال سازی نمایش به صورت نزولی",
|
|
},
|
|
},
|
|
processing: true,
|
|
select: true,
|
|
destroy: true,
|
|
ajax: {
|
|
url:
|
|
"/api/finance/maintenance?project_id=" +
|
|
contractRowId,
|
|
type: "GET",
|
|
dataSrc: function (json) {
|
|
hideLoaderScreen();
|
|
canSubmit = json.can_submit;
|
|
return json.data;
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
},
|
|
columns: [
|
|
{
|
|
className: "text-center",
|
|
data: null,
|
|
render: function (data, type, row, meta) {
|
|
return meta.row + 1;
|
|
},
|
|
},
|
|
{ data: "province_fa" },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
if (data.city_2_fa != null && data.city_3_fa != null)
|
|
return `${data.city_1_fa}-${data.city_2_fa}-${data.city_3_fa}`;
|
|
else if (data.city_2_fa != null)
|
|
return `${data.city_1_fa}-${data.city_2_fa}`;
|
|
else return `${data.city_1_fa}`;
|
|
},
|
|
},
|
|
{ data: "axis_name" },
|
|
{ data: "axis_type_fa" },
|
|
{ data: "project_name" },
|
|
{ data: "contractor_name" },
|
|
{ data: "contract_date" },
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
if (data.submited_at_fa == null) {
|
|
return "<div class='line-empty-col'></div>";
|
|
} else {
|
|
return data.submited_at_fa;
|
|
}
|
|
},
|
|
},
|
|
{
|
|
className: "text-center",
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return `<div class="d-flex justify-content-center parent-btn"><button class="btn-dataTable" id="addToSubcontract" title="الصاق به زیر پروژه قرارداد"><i class="fa fa-plus icon-btnTable"></i></button></div>`;
|
|
},
|
|
},
|
|
],
|
|
});
|
|
});
|
|
|
|
$(document).on("change", "#choose_project_type", function () {
|
|
showLoaderScreen();
|
|
ProTypeChoose = $(this).val();
|
|
let url;
|
|
if (ProTypeChoose == 1) {
|
|
url =
|
|
"/api/finance/maintenance?project_id=" + contractRowId;
|
|
} else if (ProTypeChoose == 2) {
|
|
url = "/api/finance/danger?project_id=" + contractRowId;
|
|
} else if (ProTypeChoose == 3) {
|
|
url =
|
|
"/api/finance/upgradeSafety?project_id=" +
|
|
contractRowId;
|
|
} else if (ProTypeChoose == 4) {
|
|
url =
|
|
"/api/finance/technical?project_id=" + contractRowId;
|
|
} else if (ProTypeChoose == 5) {
|
|
url =
|
|
"/api/finance/tollhouse?project_id=" + contractRowId;
|
|
}
|
|
$.ajax({
|
|
url: url,
|
|
type: "GET",
|
|
success: function (result) {
|
|
hideLoaderScreen();
|
|
$("#choose_pro_type_table").dataTable().fnClearTable();
|
|
$("#choose_pro_type_table").dataTable().fnAddData(result.data);
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
});
|
|
$(document).on("click", "#addToSubcontract", function () {
|
|
addNewSubitemStatus = "false";
|
|
const tr = $(this).closest("tr");
|
|
const row = ProTypeChooseTable.row(tr);
|
|
const provinceFaForSub = row.data().province_fa;
|
|
const axisNameForSub = row.data().axis_name;
|
|
const axisTypeFaForSub = row.data().axis_type_fa;
|
|
const currentProjectId = row.data().id;
|
|
let imgUrl_show;
|
|
if ($("#choose_project_type").val() == 1) {
|
|
imgUrl_show =
|
|
"/api/finance/maintanance/show?id=" + currentProjectId;
|
|
} else if ($("#choose_project_type").val() == 2) {
|
|
imgUrl_show =
|
|
"/api/finance/danger/show?id=" + currentProjectId;
|
|
} else if ($("#choose_project_type").val() == 3) {
|
|
imgUrl_show =
|
|
"/api/finance/upgradesafety/show?id=" +
|
|
currentProjectId;
|
|
} else if ($("#choose_project_type").val() == 4) {
|
|
imgUrl_show =
|
|
"/api/finance/technical/show?id=" + currentProjectId;
|
|
} else if ($("#choose_project_type").val() == 5) {
|
|
imgUrl_show =
|
|
"/api/finance/tollhouse/show?id=" + currentProjectId;
|
|
}
|
|
var positions = {};
|
|
if (row.data().end_latlng != null) {
|
|
positions = {
|
|
start: {
|
|
lat: row.data().start_latlng[0],
|
|
lng: row.data().start_latlng[1],
|
|
},
|
|
end: {
|
|
lat: row.data().end_latlng[0],
|
|
lng: row.data().end_latlng[1],
|
|
},
|
|
};
|
|
} else {
|
|
positions = {
|
|
start: {
|
|
lat: row.data().start_latlng[0],
|
|
lng: row.data().start_latlng[1],
|
|
},
|
|
};
|
|
}
|
|
|
|
showLoaderScreen();
|
|
// clearing data
|
|
$(".attent_num").css("display", "");
|
|
$(".map-endplace-title").removeClass("d-none");
|
|
$("#add-subcontract-modal").find("tfoot").removeClass("d-none");
|
|
$(".show-city-past").removeClass("d-none");
|
|
$(".show-axisName-past").removeClass("d-none");
|
|
$(".show-axisTypeFa-past").removeClass("d-none");
|
|
$(".select-add-subcontract").val(0);
|
|
$(".select-add-subcontract").removeClass("validity-checker");
|
|
$("#add_project_start_map").val("");
|
|
$("#add_project_end_map").val("");
|
|
$(".input-map-project").removeClass("validity-checker");
|
|
$(".input-add-subcontract").val("");
|
|
$(".input-add-subcontract").removeClass("validity-checker");
|
|
$(".span-add-subcontract").text("0");
|
|
$("#add-Supervisor-number").val("09");
|
|
$("#add-Supervisor-number").removeClass("validity-checker");
|
|
$("#limit_percentage").addClass("d-none");
|
|
$(".add-subcontract-action-type-all").empty();
|
|
$(".add-subcontract-action-type-all").attr("disabled", true);
|
|
$(".add-subcontract-action-type-show-all").text("");
|
|
$(".add-subcontract-action-type-unit-all").text("-");
|
|
$(".add-subcontract-type-unit-show-all").text("-");
|
|
$(".add-subcontract-action-type-amount-all").attr("disabled", true);
|
|
$(".add-subcontract-type-amount-show-all").text("");
|
|
$(".add-subcontract-action-type-tonaj-all").val("");
|
|
$(".add-subcontract-action-type-tonaj-all").removeClass("validity-checker");
|
|
$(".add-subcontract-action-type-tonaj-all").prop("disabled", true);
|
|
$(".tonaj").addClass("d-none");
|
|
$(".add-subcontract-action-type-progress-all").attr("disabled", true);
|
|
// clear image part
|
|
$("#add-subcontract-modal").find(".img-preview").removeAttr("src", "");
|
|
$("#add-subcontract-modal").find(".img-title").css("display", "");
|
|
$("#add-subcontract-modal").find(".btn-delete-img").prop("disabled", true);
|
|
$("#add-subcontract-modal").find(".img-input").val("");
|
|
$(".imgbox").removeClass("validity-checker");
|
|
$("#add-subcontract-nature").prop("disabled", true);
|
|
$("#deviceImg1load").css("display", "none");
|
|
$("#deviceImg2load").css("display", "none");
|
|
// clear image part
|
|
|
|
$('#add-required-bitumen-box').hide()
|
|
$('#add-required-bitumen').val('').prop('disabled', true)
|
|
|
|
$('#add-used-bitumen-box').hide()
|
|
$('#add-used-bitumen').val('').prop('disabled', true)
|
|
|
|
if (addMap == null) {
|
|
setTimeout(() => {
|
|
createAddMap(positions);
|
|
}, 400);
|
|
} else {
|
|
clearAddMap(positions);
|
|
}
|
|
// end clearing data
|
|
|
|
// calling past images
|
|
$.ajax({
|
|
url: imgUrl_show,
|
|
type: "GET",
|
|
beforeSend: function () {
|
|
showLoaderScreen();
|
|
},
|
|
success: function (result) {
|
|
hideLoaderScreen();
|
|
if (result.data[0].images.length != 0) {
|
|
if (result.data[0].images.length > 1) {
|
|
$("#add-subcontract-modal")
|
|
.find("#deviceImg1Preview")
|
|
.attr("src", result.data[0].images[0]);
|
|
$("#add-subcontract-modal")
|
|
.find("#deviceImg1Title")
|
|
.css("display", "none");
|
|
$("#add-subcontract-modal")
|
|
.find("#deviceImg1load")
|
|
.css("display", "");
|
|
$("#add-subcontract-modal")
|
|
.find("#deleteDeviceImg1")
|
|
.removeAttr("disabled");
|
|
$("#add-subcontract-modal")
|
|
.find("#deviceImg2Preview")
|
|
.attr("src", result.data[0].images[1]);
|
|
$("#add-subcontract-modal")
|
|
.find("#deviceImg2Title")
|
|
.css("display", "none");
|
|
$("#add-subcontract-modal")
|
|
.find("#deviceImg2load")
|
|
.css("display", "");
|
|
$("#add-subcontract-modal")
|
|
.find("#deleteDeviceImg2")
|
|
.removeAttr("disabled");
|
|
} else {
|
|
$("#add-subcontract-modal")
|
|
.find("#deviceImg1Preview")
|
|
.attr("src", result.data[0].images[0]);
|
|
$("#add-subcontract-modal")
|
|
.find("#deviceImg1Title")
|
|
.css("display", "none");
|
|
$("#add-subcontract-modal")
|
|
.find("#deviceImg1load")
|
|
.css("display", "");
|
|
$("#add-subcontract-modal")
|
|
.find("#deleteDeviceImg1")
|
|
.removeAttr("disabled");
|
|
}
|
|
}
|
|
},
|
|
});
|
|
// end calling past images
|
|
|
|
// appending needed data
|
|
showSubProvince();
|
|
$("#pre_distance_choose").data("projectId", currentProjectId);
|
|
$("#add-subcontract-title").val(titlecontract);
|
|
$("#add-subcontract-nature").val(ProTypeChoose);
|
|
$(".chooseProTypeTable_city").text(provinceFaForSub);
|
|
$(".chooseProTypeTable_axisName").text(axisNameForSub);
|
|
$(".chooseProTypeTable_axisTypeFa").text(axisTypeFaForSub);
|
|
$("#add-subcontract-axisName").val(axisNameForSub);
|
|
if (statusIdForSub == 1) {
|
|
$("#add-subcontract-last-project-position").val(0);
|
|
$("#add-subcontract-last-project-position").prop("disabled", false);
|
|
$("#add-subcontract-progress-mainpercent").prop("disabled", false);
|
|
} else if (statusIdForSub == 2) {
|
|
$("#add-subcontract-last-project-position").val(4);
|
|
$("#add-subcontract-last-project-position").prop("disabled", true);
|
|
$("#add-subcontract-progress-mainpercent").val("5");
|
|
$("#add-subcontract-progress-mainpercent").prop("disabled", true);
|
|
} else if (statusIdForSub == 3) {
|
|
$("#add-subcontract-last-project-position").val(3);
|
|
$("#add-subcontract-last-project-position").prop("disabled", true);
|
|
$("#add-subcontract-progress-mainpercent").val("100");
|
|
$("#add-subcontract-progress-mainpercent").prop("disabled", true);
|
|
}
|
|
if (ProTypeChoose == 1) {
|
|
$(".tonaj").removeClass("d-none");
|
|
} else {
|
|
$(".tonaj").addClass("d-none");
|
|
}
|
|
// appending needed data
|
|
|
|
// action type data giving
|
|
|
|
$(".add-subcontract-action-type-all").attr("disabled", false);
|
|
$(".add-subcontract-action-type-all").append(
|
|
"<option amountable='0' unit='-' value='0'>انتخاب نوع عملیات</option>"
|
|
);
|
|
$.ajax({
|
|
url:
|
|
"/csi/operation/" + $("#add-subcontract-nature").val(),
|
|
type: "GET",
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (res) {
|
|
$.each(res, function (key, value) {
|
|
const unit = value.unit != "" ? value.unit : "-";
|
|
const amountable = value.amountable;
|
|
$(".add-subcontract-action-type-all").append(
|
|
"<option amountable='" +
|
|
amountable +
|
|
"' unit='" +
|
|
unit +
|
|
"' value='" +
|
|
key +
|
|
"'>" +
|
|
value.farsi +
|
|
"</option>"
|
|
);
|
|
});
|
|
hideLoaderScreen();
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
// end action type data giving
|
|
|
|
if ($("#add-subcontract-nature").val() == 1) {
|
|
$('#add-required-bitumen-box').show()
|
|
$('#add-required-bitumen').val('').prop('disabled', false)
|
|
|
|
$('#add-used-bitumen-box').show()
|
|
$('#add-used-bitumen').val('').prop('disabled', false)
|
|
} else {
|
|
$('#add-required-bitumen-box').hide()
|
|
$('#add-required-bitumen').val('').prop('disabled', true)
|
|
|
|
$('#add-used-bitumen-box').hide()
|
|
$('#add-used-bitumen').val('').prop('disabled', true)
|
|
}
|
|
|
|
$("#add-subcontract-modal").modal("show");
|
|
});
|
|
|
|
function scrolldowntable() {
|
|
$("html, body").animate(
|
|
{
|
|
scrollTop: $(".upnext").offset().top + 1000,
|
|
},
|
|
50
|
|
);
|
|
}
|
|
// showTable subcontract
|
|
$(document).on("click", ".show-subcontract-btn", function () {
|
|
let tr = $(this).closest("tr");
|
|
let row = table.row(tr);
|
|
let id = row.data().id;
|
|
provinceIdForSub = row.data().province_id;
|
|
contractRowId = row.data().id;
|
|
statusIdForSub = row.data().status_id;
|
|
$(".edit-subcontract-modal-title").text(row.data().unique_id);
|
|
$("#title_update_unique").text("(" + row.data().unique_id + ")");
|
|
$("#show_subcontract_table").css("display", "block");
|
|
scrolldowntable();
|
|
showLoaderScreen();
|
|
subItemTable = $("#subcontractTable").DataTable({
|
|
dom: "<f<t>p>",
|
|
pagingType: "simple_numbers",
|
|
paging: true,
|
|
searching: false,
|
|
scrollX: true,
|
|
destroy: true,
|
|
responsive: 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, "desc"]],
|
|
processing: true,
|
|
ajax: {
|
|
url: "/contracts/show/" + id,
|
|
type: "GET",
|
|
dataSrc: function (json) {
|
|
hideLoaderScreen();
|
|
return json.data;
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
$("#show_subcontract_table").css("display", "none");
|
|
hideLoaderScreen();
|
|
},
|
|
},
|
|
initComplete: function () {
|
|
$("body").find(".dataTables_scrollBody").addClass("scrollbar");
|
|
},
|
|
columns: [
|
|
{
|
|
data: "unique_code",
|
|
className: "text-center text-nowrap",
|
|
},
|
|
{
|
|
data: "project_title",
|
|
className: "text-center",
|
|
},
|
|
{
|
|
data: "project_type_fa",
|
|
className: "text-center",
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return '<button class="btn-dataTable btn-sm btnSubItemModal_actionType">...</button>';
|
|
},
|
|
className: "text-center",
|
|
},
|
|
{
|
|
data: "city_fa",
|
|
className: "text-center",
|
|
},
|
|
{
|
|
data: "axis_type_fa",
|
|
className: "text-center",
|
|
},
|
|
{
|
|
data: "axis_name_fa",
|
|
className: "text-center",
|
|
},
|
|
{
|
|
data: "followup_priority_project",
|
|
className: "text-center",
|
|
},
|
|
{
|
|
data: "priority_project_fa",
|
|
className: "text-center",
|
|
},
|
|
{
|
|
data: "progress_project",
|
|
className: "text-center",
|
|
},
|
|
{
|
|
data: "last_status_fa",
|
|
className: "text-center",
|
|
},
|
|
{
|
|
className: "text-center",
|
|
data: null,
|
|
render: function (data) {
|
|
const last_digit_project = parseFloat(
|
|
data.last_digit_project != null ? data.last_digit_project : 0
|
|
).toLocaleString("en");
|
|
return last_digit_project;
|
|
},
|
|
},
|
|
{
|
|
className: "text-center",
|
|
data: null,
|
|
render: function (data) {
|
|
const last_function_operator = parseFloat(
|
|
data.last_function_operator != null
|
|
? data.last_function_operator
|
|
: 0
|
|
).toLocaleString("en");
|
|
return last_function_operator;
|
|
},
|
|
},
|
|
{
|
|
className: "text-center",
|
|
data: null,
|
|
render: function (data) {
|
|
const last_payable_operator = parseFloat(
|
|
data.last_payable_operator != null ? data.last_payable_operator : 0
|
|
).toLocaleString("en");
|
|
return last_payable_operator;
|
|
},
|
|
},
|
|
{
|
|
className: "text-center",
|
|
data: null,
|
|
render: function (data) {
|
|
const complete_payable = parseFloat(
|
|
data.complete_payable != null ? data.complete_payable : 0
|
|
).toLocaleString("en");
|
|
return complete_payable;
|
|
},
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return '<button class="btn-dataTable btn-sm btnSubItemOpratorModal">...</button>';
|
|
},
|
|
className: "text-center",
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return row.start_lat + ", " + row.start_lng;
|
|
},
|
|
className: "text-center",
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return '<button class="btn-dataTable btn-show-img-subitem"><i class="fas fa-image"></i></button>';
|
|
},
|
|
className: "text-center",
|
|
},
|
|
{
|
|
className: "text-nowrap testshow text-center",
|
|
data: null,
|
|
render: function (data) {
|
|
const updated_at = moment(data.updated_at).format(
|
|
"HH:mm:ss | jYYYY/jMM/jDD"
|
|
);
|
|
return updated_at;
|
|
},
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return `<div class="setcontent">${data.canEdit == 0
|
|
? '<button disabled class="btn-dataTable btn-edit-subitem"><i class="fas fa-edit"></i></button>'
|
|
: '<button class="btn-dataTable btn-edit-subitem"><i class="fas fa-edit"></i></button>'
|
|
}<div class="pipeline mx-2"></div><button class="btn-dataTable btn-history-subitem"><i class="fas fa-history"></i></button><div class="pipeline mx-2"></div>${data.canDelete == 0
|
|
? '<button disabled class="btn-dataTable btn-delete-subitem"><i class="fa fa-trash"></i></button>'
|
|
: '<button class="btn-dataTable btn-delete-subitem"><i class="fa fa-trash"></i></button>'
|
|
}</div>`;
|
|
},
|
|
className: "text-center text-nowrap",
|
|
},
|
|
],
|
|
});
|
|
});
|
|
// end showTable subcontract
|
|
// modals of subcontract
|
|
// action type modal
|
|
$(document).on("click", ".btnSubItemModal_actionType", function () {
|
|
var tr = $(this).closest("tr");
|
|
var row = subItemTable.row(tr);
|
|
|
|
row.data().project_type_id == "1"
|
|
? $(".modal-op-tonaj").removeClass("d-none")
|
|
: $(".modal-op-tonaj").addClass("d-none");
|
|
|
|
$(".input-subcontract-table").val("");
|
|
|
|
$("#subItemModal_type_fa1").val(row.data().operation_type_fa1);
|
|
$("#subItemModal_type_amount1").val(row.data().operation_type_amount1);
|
|
$("#subItemModal_type_unit1").val(row.data().operation_type_unit1);
|
|
$("#subItemModal_type_progress1").val(row.data().operation_type_progress1);
|
|
$("#subItemModal_type_tonaj1").val(row.data().operation_type_tonaj1);
|
|
|
|
$("#subItemModal_type_fa2").val(row.data().operation_type_fa2);
|
|
$("#subItemModal_type_amount2").val(row.data().operation_type_amount2);
|
|
$("#subItemModal_type_unit2").val(row.data().operation_type_unit2);
|
|
$("#subItemModal_type_progress2").val(row.data().operation_type_progress2);
|
|
$("#subItemModal_type_tonaj2").val(row.data().operation_type_tonaj2);
|
|
|
|
$("#subItemModal_type_fa3").val(row.data().operation_type_fa3);
|
|
$("#subItemModal_type_amount3").val(row.data().operation_type_amount3);
|
|
$("#subItemModal_type_unit3").val(row.data().operation_type_unit3);
|
|
$("#subItemModal_type_progress3").val(row.data().operation_type_progress3);
|
|
$("#subItemModal_type_tonaj3").val(row.data().operation_type_tonaj3);
|
|
$("#subItemModal_type_tonaj3").val(row.data().operation_type_tonaj3);
|
|
|
|
$("#subItemModal_type_fa4").val(row.data().operation_type_fa4);
|
|
$("#subItemModal_type_amount4").val(row.data().operation_type_amount4);
|
|
$("#subItemModal_type_unit4").val(row.data().operation_type_unit4);
|
|
$("#subItemModal_type_progress4").val(row.data().operation_type_progress4);
|
|
$("#subItemModal_type_tonaj4").val(row.data().operation_type_tonaj4);
|
|
|
|
$("#subItemModal_actionType").modal("show");
|
|
});
|
|
// end action type modal
|
|
// operator data modal
|
|
$(document).on("click", ".btnSubItemOpratorModal", function () {
|
|
var tr = $(this).closest("tr");
|
|
var row = subItemTable.row(tr);
|
|
|
|
$(".input-subcontract-table").val("");
|
|
|
|
$("#subItemOpratorModal_operator_name").val(row.data().operator_name);
|
|
$("#subItemOpratorModal_operator_phone").val(row.data().operator_phone);
|
|
|
|
$("#subItemOpratorModal").modal("show");
|
|
});
|
|
// end operator data modal
|
|
// image modal data
|
|
$(document).on("click", ".btn-show-img-subitem", function () {
|
|
var tr = $(this).closest("tr");
|
|
var row = subItemTable.row(tr);
|
|
|
|
$("#imgSubItem1").attr(
|
|
"src",
|
|
"/" + row.data().image_path1
|
|
);
|
|
$("#imgSubItem2").attr(
|
|
"src",
|
|
"/" + row.data().image_path2
|
|
);
|
|
|
|
$("#subItemImgModal").modal("show");
|
|
});
|
|
// end image modal data
|
|
|
|
// previus data of action types
|
|
$("#pre_distance_choose").on("click", function () {
|
|
const currentProjectId = $(this).data("projectId");
|
|
showLoaderScreen();
|
|
const url_distance1 =
|
|
"/rahdari/road-maintenance-project/" +
|
|
currentProjectId +
|
|
"/get-distance-update-list";
|
|
const url_distance2 =
|
|
"/rahdari/road-danger-prevention/" +
|
|
currentProjectId +
|
|
"/get-distance-update-list";
|
|
const url_distance3 =
|
|
"/rahdari/road-upgrade-safety/" +
|
|
currentProjectId +
|
|
"/get-distance-update-list";
|
|
const url_distance4 =
|
|
"/rahdari/road-technical-building/" +
|
|
currentProjectId +
|
|
"/get-distance-update-list";
|
|
const url_distance5 =
|
|
"/rahdari/road-tollhouse-management/" +
|
|
currentProjectId +
|
|
"/get-distance-update-list";
|
|
if (ProTypeChoose == 1) {
|
|
$(".appendhead").empty();
|
|
$(".appendbody").empty();
|
|
$(".appendheadsecond").empty();
|
|
$.ajax({
|
|
url: url_distance1,
|
|
type: "GET",
|
|
success: function (data) {
|
|
pre_distance = data.data.distance_update;
|
|
appendheadmaintan(pre_distance[0].previous_project_distance_update);
|
|
for (let index = 0; index < pre_distance.length; index++) {
|
|
after_distance = pre_distance[index].previous_project_distance_update;
|
|
appendbodymaintan(after_distance);
|
|
}
|
|
hideLoaderScreen();
|
|
$("#modal_distance").modal("show");
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
} else if (ProTypeChoose == 2) {
|
|
$(".appendhead").empty();
|
|
$(".appendbody").empty();
|
|
$(".appendheadsecond").empty();
|
|
|
|
$.ajax({
|
|
url: url_distance2,
|
|
type: "GET",
|
|
success: function (data) {
|
|
pre_distance = data.data.distance_update;
|
|
appendheaddanger(pre_distance[0].previous_project_distance_update);
|
|
for (let index = 0; index < pre_distance.length; index++) {
|
|
after_distance = pre_distance[index].previous_project_distance_update;
|
|
appendbodydanger(after_distance);
|
|
}
|
|
hideLoaderScreen();
|
|
$("#modal_distance").modal("show");
|
|
},
|
|
});
|
|
} else if (ProTypeChoose == 3) {
|
|
$(".appendhead").empty();
|
|
$(".appendbody").empty();
|
|
$(".appendheadsecond").empty();
|
|
$.ajax({
|
|
url: url_distance3,
|
|
type: "GET",
|
|
success: function (data) {
|
|
pre_distance = data.data.distance_update;
|
|
appendheadimeni(
|
|
pre_distance.length,
|
|
pre_distance[0].previous_project_distance_update
|
|
);
|
|
for (let index = 0; index < pre_distance.length; index++) {
|
|
after_distance = pre_distance[index].previous_project_distance_update;
|
|
appendbodyimeni(after_distance);
|
|
}
|
|
hideLoaderScreen();
|
|
$("#modal_distance").modal("show");
|
|
},
|
|
});
|
|
} else if (ProTypeChoose == 4) {
|
|
$(".appendhead").empty();
|
|
$(".appendbody").empty();
|
|
$(".appendheadsecond").empty();
|
|
$.ajax({
|
|
url: url_distance4,
|
|
type: "GET",
|
|
success: function (data) {
|
|
pre_distance = data.data.distance_update;
|
|
appendheadtechnic(pre_distance[0].previous_project_distance_update);
|
|
for (let index = 0; index < pre_distance.length; index++) {
|
|
after_distance = pre_distance[index].previous_project_distance_update;
|
|
appendbodytechnic(after_distance);
|
|
}
|
|
hideLoaderScreen();
|
|
$("#modal_distance").modal("show");
|
|
},
|
|
});
|
|
} else if (ProTypeChoose == 5) {
|
|
$(".appendhead").empty();
|
|
$(".appendbody").empty();
|
|
$(".appendheadsecond").empty();
|
|
$.ajax({
|
|
url: url_distance5,
|
|
type: "GET",
|
|
success: function (data) {
|
|
pre_distance = data.data.distance_update;
|
|
appendheadtoll(pre_distance[0].previous_project_distance_update);
|
|
for (let index = 0; index < pre_distance.length; index++) {
|
|
after_distance = pre_distance[index].previous_project_distance_update;
|
|
appendbodytoll(after_distance);
|
|
}
|
|
hideLoaderScreen();
|
|
$("#modal_distance").modal("show");
|
|
},
|
|
});
|
|
}
|
|
});
|
|
|
|
function appendheadmaintan(obj) {
|
|
showeachtr = "<th>مقدار</th><th>تناژ</th><th>درصد پیشرفت</th>";
|
|
showeachtr2 =
|
|
"<th>مقدار</th><th>متر مربع</th><th>تناژ</th><th>درصد پیشرفت</th>";
|
|
showeachtr3 = "<th>مقدار</th><th>درصد پیشرفت</th>";
|
|
|
|
for (const key in obj) {
|
|
if (key == 12) {
|
|
const showtabeldanger = "<th colspan='4'>لکه گیری </th>";
|
|
$(".appendhead").append(showtabeldanger);
|
|
$(".appendheadsecond").append(showeachtr2);
|
|
} else if (key == 13) {
|
|
const showtabeldanger = "<th colspan='2'>درزگیری</th>";
|
|
$(".appendhead").append(showtabeldanger);
|
|
$(".appendheadsecond").append(showeachtr3);
|
|
} else {
|
|
const showtabeldanger =
|
|
"<th colspan='3'>" + appentableprojecttitlemain(key) + "</th>";
|
|
$(".appendhead").append(showtabeldanger);
|
|
$(".appendheadsecond").append(showeachtr);
|
|
}
|
|
}
|
|
}
|
|
|
|
function appendbodymaintan(pp) {
|
|
let test = "";
|
|
let showtabeldanger = "";
|
|
for (const key in pp) {
|
|
if (key == 13) {
|
|
showtabeldanger =
|
|
"<td>" + pp[key][0] + "</td><td>" + pp[key][1] + "</td>";
|
|
test = test + showtabeldanger;
|
|
} else if (key == 12) {
|
|
showtabeldanger =
|
|
"<td>" +
|
|
pp[key][0] +
|
|
"</td><td>" +
|
|
pp[key][2] +
|
|
"</td><td>" +
|
|
pp[key][1] +
|
|
"</td><td>" +
|
|
pp[key][3] +
|
|
"</td>";
|
|
test = test + showtabeldanger;
|
|
} else {
|
|
showtabeldanger =
|
|
"<td>" +
|
|
pp[key][0] +
|
|
"</td><td>" +
|
|
pp[key][1] +
|
|
"</td><td>" +
|
|
pp[key][2] +
|
|
"</td>";
|
|
test = test + showtabeldanger;
|
|
}
|
|
}
|
|
$(".appendbody").append("<tr>" + test + "</tr>");
|
|
}
|
|
|
|
function appentableprojecttitlemain(num) {
|
|
if (num == 1) {
|
|
return "روکش آسفالت";
|
|
} else if (num == 2) {
|
|
return "ماسه آسفالت و رگلاژی";
|
|
} else if (num == 3) {
|
|
return "بازیافت سرد و گرم";
|
|
} else if (num == 4) {
|
|
return "میکروسرفیسینگ";
|
|
} else if (num == 5) {
|
|
return "چیپ سیل";
|
|
} else if (num == 6) {
|
|
return "اسلاری سیل";
|
|
} else if (num == 7) {
|
|
return "اسکراب سیل";
|
|
} else if (num == 8) {
|
|
return "فوگ سیل";
|
|
} else if (num == 9) {
|
|
return "سیل کت";
|
|
} else if (num == 10) {
|
|
return "کیپ سیل";
|
|
} else if (num == 11) {
|
|
return "آسفالت سرد / ردمیکس";
|
|
} else if (num == 12) {
|
|
return "لکه گیری";
|
|
} else if (num == 13) {
|
|
return "درزگیری";
|
|
}
|
|
}
|
|
|
|
function appendheaddanger(obj) {
|
|
showeachtr = "<th>درصد پیشرفت</th>";
|
|
|
|
for (const key in obj) {
|
|
let showtabeldanger = "<th>" + obj[key][1] + "</th>";
|
|
$(".appendhead").append(showtabeldanger);
|
|
$(".appendheadsecond").append(showeachtr);
|
|
}
|
|
}
|
|
|
|
function appendbodydanger(pp) {
|
|
let test = "";
|
|
let showtabeldanger = "";
|
|
for (const key in pp) {
|
|
showtabeldanger = "<td>" + pp[key][0] + "</td>";
|
|
test = test + showtabeldanger;
|
|
}
|
|
$(".appendbody").append("<tr>" + test + "</tr>");
|
|
}
|
|
|
|
function appendheadimeni(num, obj) {
|
|
const colspanshow = "";
|
|
showeachtr = "<th>کیلومتر</th><th>درصد پیشرفت</th>";
|
|
showeachtr2 = "<th>درصد پیشرفت</th>";
|
|
for (const key in obj) {
|
|
if (key == 9) {
|
|
const showtabeldanger = "<th colspan='2'>" + obj[key][1] + "</th>";
|
|
$(".appendhead").append(showtabeldanger);
|
|
$(".appendheadsecond").append(showeachtr2);
|
|
} else {
|
|
const showtabeldanger = "<th colspan='2'>" + obj[key][2] + "</th>";
|
|
$(".appendhead").append(showtabeldanger);
|
|
$(".appendheadsecond").append(showeachtr);
|
|
}
|
|
}
|
|
}
|
|
|
|
function appendbodyimeni(pp) {
|
|
let test = "";
|
|
let showtabeldanger = "";
|
|
for (const key in pp) {
|
|
showtabeldanger = "<td>" + pp[key][0] + "</td><td> " + pp[key][1] + "</td>";
|
|
test = test + showtabeldanger;
|
|
}
|
|
$(".appendbody").append("<tr>" + test + "</tr>");
|
|
}
|
|
|
|
function appendbodytechnic(pp) {
|
|
let test = "";
|
|
let showtabeltechnic = "";
|
|
for (const key in pp) {
|
|
showtabeltechnic = "<td>" + pp[key][0] + "</td>";
|
|
test = test + showtabeltechnic;
|
|
}
|
|
$(".appendbody").append("<tr>" + test + "</tr>");
|
|
}
|
|
|
|
function appendheadtechnic(obj) {
|
|
showeachtr = "<th>درصد پیشرفت</th>";
|
|
|
|
for (const key in obj) {
|
|
const showtabeldanger = "<th>" + obj[key][1] + "</th>";
|
|
$(".appendhead").append(showtabeldanger);
|
|
$(".appendheadsecond").append(showeachtr);
|
|
}
|
|
}
|
|
|
|
function appendbodytoll(pp) {
|
|
let test = "";
|
|
let showtabeltoll = "";
|
|
for (let key in pp) {
|
|
showtabeltoll = "<td>" + pp[key][0] + "</td>";
|
|
test = test + showtabeltoll;
|
|
}
|
|
$(".appendbody").append("<tr>" + test + "</tr>");
|
|
}
|
|
|
|
function appendheadtoll(obj) {
|
|
showeachtr = "<th>درصد پیشرفت</th>";
|
|
|
|
for (const key in obj) {
|
|
const showtabeldanger = "<th>" + obj[key][1] + "</th>";
|
|
$(".appendhead").append(showtabeldanger);
|
|
$(".appendheadsecond").append(showeachtr);
|
|
}
|
|
}
|
|
// previus data of action types
|
|
|
|
//deleting subcontract
|
|
$(document).on("click", ".btn-delete-subitem", function () {
|
|
let tr = $(this).closest("tr");
|
|
let row = subItemTable.row(tr);
|
|
let idkol = row.data().id;
|
|
let formData = new FormData();
|
|
formData.append("id", idkol);
|
|
Swal.fire({
|
|
icon: "warning",
|
|
title: "آیا برای حذف مطمئن هستید؟",
|
|
showCancelButton: true,
|
|
confirmButtonColor: "#3085d6",
|
|
cancelButtonColor: "#d33",
|
|
confirmButtonText: "بله، حذف میشود",
|
|
cancelButtonText: "منصرف شدم!",
|
|
showLoaderOnConfirm: true,
|
|
preConfirm: () => {
|
|
showLoaderScreen();
|
|
$.ajax({
|
|
url: "/csi/delete",
|
|
type: "POST",
|
|
headers: {
|
|
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
|
|
},
|
|
data: formData,
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
beforeSend: function () {
|
|
showLoaderScreen();
|
|
},
|
|
success: function (result) {
|
|
isReloadAjax = true;
|
|
subItemTable.ajax.reload(null, false);
|
|
table.ajax.reload(null, false);
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
},
|
|
});
|
|
});
|
|
// end deleting subcontract
|
|
// history of subcontact table
|
|
$(document).on("click", ".btn-history-subitem", function () {
|
|
var tr = $(this).closest("tr");
|
|
var row = subItemTable.row(tr);
|
|
var ths = $("#subcontractTable .th-head");
|
|
$(".internal-table").remove();
|
|
internalTable(tr, "history_subcontract_table", 20).then((onResolved) => {
|
|
showLoaderScreen();
|
|
historyTable = $("#history_subcontract_table").DataTable({
|
|
dom: "<f<t>p>",
|
|
pagingType: "simple_numbers",
|
|
paging: false,
|
|
searching: false,
|
|
scrollX: true,
|
|
destroy: true,
|
|
responsive: true,
|
|
autoWidth: false,
|
|
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: [[18, "desc"]],
|
|
processing: true,
|
|
ajax: {
|
|
url: "/csi/history/" + row.data().id,
|
|
type: "GET",
|
|
dataSrc: function (json) {
|
|
hideLoaderScreen();
|
|
return json.data;
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
},
|
|
columns: [
|
|
{
|
|
data: "unique_code",
|
|
className: "text-center",
|
|
width: ths.eq(0).css("width"),
|
|
},
|
|
{
|
|
data: "project_title",
|
|
className: "text-center",
|
|
width: ths.eq(1).css("width"),
|
|
},
|
|
{
|
|
data: "project_type_fa",
|
|
className: "text-center",
|
|
width: ths.eq(2).css("width"),
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return '<button class="btn-dataTable btn-sm btnSubItemHistoryModal" style="color: #fff;">...</button>';
|
|
},
|
|
className: "text-center",
|
|
width: ths.eq(3).css("width"),
|
|
},
|
|
{
|
|
data: "city_fa",
|
|
className: "text-center",
|
|
width: ths.eq(4).css("width"),
|
|
},
|
|
{
|
|
data: "axis_type_fa",
|
|
className: "text-center",
|
|
width: ths.eq(5).css("width"),
|
|
},
|
|
{
|
|
data: "axis_name_fa",
|
|
className: "text-center",
|
|
width: ths.eq(6).css("width"),
|
|
},
|
|
{
|
|
data: "followup_priority_project",
|
|
className: "text-center",
|
|
width: ths.eq(7).css("width"),
|
|
},
|
|
{
|
|
data: "priority_project",
|
|
className: "text-center",
|
|
width: ths.eq(8).css("width"),
|
|
},
|
|
{
|
|
data: "progress_project",
|
|
className: "text-center",
|
|
width: ths.eq(9).css("width"),
|
|
},
|
|
{
|
|
data: "last_status_fa",
|
|
className: "text-center",
|
|
width: ths.eq(10).css("width"),
|
|
},
|
|
{
|
|
data: "last_digit_project",
|
|
className: "text-center",
|
|
width: ths.eq(11).css("width"),
|
|
},
|
|
{
|
|
data: "last_function_operator",
|
|
className: "text-center",
|
|
width: ths.eq(12).css("width"),
|
|
},
|
|
{
|
|
data: "last_payable_operator",
|
|
className: "text-center",
|
|
width: ths.eq(13).css("width"),
|
|
},
|
|
{
|
|
data: "complete_payable",
|
|
className: "text-center",
|
|
width: ths.eq(14).css("width"),
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return '<button class="btn-dataTable btn-sm btnSubItemOpratorHistoryModal" style="color: #fff;">...</button>';
|
|
},
|
|
className: "text-center",
|
|
width: ths.eq(15).css("width"),
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return row.start_lat + ", " + row.start_lng;
|
|
},
|
|
className: "text-center",
|
|
width: ths.eq(16).css("width"),
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return '<button class="btn-dataTable btn-show-img-history-subitem"><i class="fas fa-image" style="color: white;"></i></button>';
|
|
},
|
|
className: "text-center",
|
|
width: ths.eq(17).css("width"),
|
|
},
|
|
|
|
{
|
|
className: "text-nowrap testshow text-center",
|
|
data: null,
|
|
render: function (data) {
|
|
const updated_at = moment(data.updated_at).format(
|
|
"HH:mm:ss | jYYYY/jMM/jDD"
|
|
);
|
|
return updated_at;
|
|
},
|
|
},
|
|
{
|
|
data: null,
|
|
render: function (data, type, row) {
|
|
return "-";
|
|
},
|
|
className: "text-center",
|
|
width: ths.eq(19).css("width"),
|
|
},
|
|
],
|
|
});
|
|
});
|
|
});
|
|
|
|
// giving width of header
|
|
function internalTable(tr, id, column) {
|
|
let ths = "";
|
|
let initTable;
|
|
for (let i = 1; i <= column; i++) {
|
|
ths += '<th style="background-color: #fff"></th>';
|
|
}
|
|
initTable = `<tr class="internal-table">
|
|
<td class = "p-0 pb-2 bg-white" style="border-width:0px;"
|
|
colspan = "${column}">
|
|
<table table class = "table"
|
|
style = "background-color: #84b6de; color:#fff"
|
|
id = "${id}"
|
|
style = "width: 100%;">
|
|
<thead style="height:0px">
|
|
<tr>
|
|
${ths}
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</td>
|
|
</tr>`;
|
|
$(initTable).insertAfter(tr);
|
|
|
|
return Promise.resolve("Success");
|
|
}
|
|
// end giving width of header
|
|
// end history of subcontract table
|
|
|
|
// history action type modal
|
|
$(document).on("click", ".btnSubItemHistoryModal", function () {
|
|
const tr = $(this).closest("tr");
|
|
const row = historyTable.row(tr);
|
|
|
|
row.data().project_type_id == "1"
|
|
? $(".modal-op-tonaj").removeClass("d-none")
|
|
: $(".modal-op-tonaj").addClass("d-none");
|
|
|
|
$(".input-subcontract-table").val("");
|
|
|
|
$("#subItemModal_type_fa1").val(row.data().operation_type_fa1);
|
|
$("#subItemModal_type_amount1").val(row.data().operation_type_amount1);
|
|
$("#subItemModal_type_unit1").val(row.data().operation_type_unit1);
|
|
$("#subItemModal_type_progress1").val(row.data().operation_type_progress1);
|
|
$("#subItemModal_type_tonaj1").val(row.data().operation_type_tonaj1);
|
|
|
|
$("#subItemModal_type_fa2").val(row.data().operation_type_fa2);
|
|
$("#subItemModal_type_amount2").val(row.data().operation_type_amount2);
|
|
$("#subItemModal_type_unit2").val(row.data().operation_type_unit2);
|
|
$("#subItemModal_type_progress2").val(row.data().operation_type_progress2);
|
|
$("#subItemModal_type_tonaj2").val(row.data().operation_type_tonaj2);
|
|
|
|
$("#subItemModal_type_fa3").val(row.data().operation_type_fa3);
|
|
$("#subItemModal_type_amount3").val(row.data().operation_type_amount3);
|
|
$("#subItemModal_type_unit3").val(row.data().operation_type_unit3);
|
|
$("#subItemModal_type_progress3").val(row.data().operation_type_progress3);
|
|
$("#subItemModal_type_tonaj3").val(row.data().operation_type_tonaj3);
|
|
|
|
$("#subItemModal_type_fa4").val(row.data().operation_type_fa4);
|
|
$("#subItemModal_type_amount4").val(row.data().operation_type_amount4);
|
|
$("#subItemModal_type_unit4").val(row.data().operation_type_unit4);
|
|
$("#subItemModal_type_progress4").val(row.data().operation_type_progress4);
|
|
$("#subItemModal_type_tonaj4").val(row.data().operation_type_tonaj4);
|
|
|
|
$("#subItemModal_actionType").modal("show");
|
|
});
|
|
// end history action type modal
|
|
// history operator data modal
|
|
$(document).on("click", ".btnSubItemOpratorHistoryModal", function () {
|
|
const tr = $(this).closest("tr");
|
|
const row = historyTable.row(tr);
|
|
|
|
$("#subItemOpratorModal_operator_name").val("");
|
|
$("#subItemOpratorModal_operator_phone").val("");
|
|
|
|
$("#subItemOpratorModal_operator_name").val(row.data().operator_name);
|
|
$("#subItemOpratorModal_operator_phone").val(row.data().operator_phone);
|
|
|
|
$("#subItemOpratorModal").modal("show");
|
|
});
|
|
// end history operator data modal
|
|
// history image modal data
|
|
$(document).on("click", ".btn-show-img-history-subitem", function () {
|
|
const tr = $(this).closest("tr");
|
|
const row = historyTable.row(tr);
|
|
|
|
$("#imgSubItem1").attr(
|
|
"src",
|
|
"/" + row.data().image_path1
|
|
);
|
|
$("#imgSubItem2").attr(
|
|
"src",
|
|
"/" + row.data().image_path2
|
|
);
|
|
|
|
$("#subItemImgModal").modal("show");
|
|
});
|
|
// end history image modal data
|
|
|
|
// end modals of subcontract
|
|
|
|
// edit subcontract modal
|
|
$(document).on("click", ".btn-edit-subitem", function () {
|
|
arrEditOprationsDisable = [0, 0, 0, 0];
|
|
// clear all data
|
|
$(".edit-attent_num").css("display", "");
|
|
$(".select-edit-subcontract").val(0);
|
|
$(".select-edit-subcontract").removeClass("validity-checker");
|
|
$("#edit_project_start_map").val("");
|
|
$("#edit_project_end_map").val("");
|
|
$(".input-map-project").removeClass("validity-checker");
|
|
$(".input-edit-subcontract").val("");
|
|
$(".input-edit-subcontract").removeClass("validity-checker");
|
|
$(".span-edit-subcontract").text("0");
|
|
$("#edit-Supervisor-number").val("09");
|
|
$("#edit-Supervisor-number").removeClass("validity-checker");
|
|
$(".map-endplace-title").addClass("d-none");
|
|
$("#limit_percentage").addClass("d-none");
|
|
$(".edit-subcontract-action-type-all").empty();
|
|
$(".edit-subcontract-action-type-all").attr("disabled", true);
|
|
$(".edit-subcontract-action-type-show-all").text("");
|
|
$(".edit-subcontract-action-type-unit-all").text("-");
|
|
$(".edit-subcontract-type-unit-show-all").text("-");
|
|
$(".edit-subcontract-action-type-amount-all").attr("disabled", true);
|
|
$(".edit-subcontract-type-amount-show-all").text("");
|
|
$(".tonaj").addClass("d-none");
|
|
$(".edit-subcontract-action-type-progress-all").attr("disabled", true);
|
|
$(".edit-subcontract-action-type-tonaj-all").prop("disabled", true);
|
|
$(".edit-subcontract-action-type-tonaj-all").removeClass("validity-checker");
|
|
// clear image part
|
|
$("#edit-subcontract-modal").find(".img-preview").removeAttr("src", "");
|
|
$("#edit-subcontract-modal").find(".img-title").css("display", "");
|
|
$("#edit-subcontract-modal").find(".btn-delete-img").prop("disabled", true);
|
|
$("#edit-subcontract-nature").prop("disabled", false);
|
|
$("#edit-subcontract-nature").prop("disabled", true);
|
|
$("#edit-subcontract-modal").find(".img-preview").removeAttr("src", "");
|
|
$("#edit-subcontract-modal").find(".img-title").css("display", "");
|
|
$("#edit-subcontract-modal").find(".img-input").val("");
|
|
$("#edit-subcontract-modal").find(".btn-delete-img").prop("disabled", true);
|
|
$("#edit-subcontract-modal").find(".imgbox").removeClass("validity-checker");
|
|
// clear image part
|
|
|
|
// end clear all data
|
|
|
|
// appending data
|
|
const tr = $(this).closest("tr");
|
|
const row = subItemTable.row(tr);
|
|
const allData = row.data();
|
|
updateId = allData.id;
|
|
const project_title = allData.project_title;
|
|
const project_type_id = allData.project_type_id;
|
|
const operation_type_id1 = allData.operation_type_id1;
|
|
const operation_type_id2 = allData.operation_type_id2;
|
|
const operation_type_id3 = allData.operation_type_id3;
|
|
const operation_type_id4 = allData.operation_type_id4;
|
|
const operation_type_amount1 = allData.operation_type_amount1;
|
|
const operation_type_amount2 = allData.operation_type_amount2;
|
|
const operation_type_amount3 = allData.operation_type_amount3;
|
|
const operation_type_amount4 = allData.operation_type_amount4;
|
|
const operation_type_progress1 = allData.operation_type_progress1;
|
|
const operation_type_progress2 = allData.operation_type_progress2;
|
|
const operation_type_progress3 = allData.operation_type_progress3;
|
|
const operation_type_progress4 = allData.operation_type_progress4;
|
|
const operation_type_tonaj1 = allData.operation_type_tonaj1;
|
|
const operation_type_tonaj2 = allData.operation_type_tonaj2;
|
|
const operation_type_tonaj3 = allData.operation_type_tonaj3;
|
|
const operation_type_tonaj4 = allData.operation_type_tonaj4;
|
|
var positions = {};
|
|
if (allData.start_lat != null) {
|
|
if (allData.end_lat != null) {
|
|
positions = {
|
|
start: {
|
|
lat: allData.start_lat,
|
|
lng: allData.start_lng,
|
|
},
|
|
end: {
|
|
lat: allData.end_lat,
|
|
lng: allData.end_lng,
|
|
},
|
|
};
|
|
} else {
|
|
positions = {
|
|
start: {
|
|
lat: allData.start_lat,
|
|
lng: allData.start_lng,
|
|
},
|
|
};
|
|
}
|
|
} else {
|
|
positions = null;
|
|
}
|
|
|
|
const operator_name = allData.operator_name;
|
|
const operator_phone = allData.operator_phone;
|
|
const priority_project = allData.priority_project;
|
|
const followup_priority_project_id = allData.followup_priority_project_id;
|
|
const city_id = allData.city_id;
|
|
const axis_name_fa = allData.axis_name_fa;
|
|
const axis_type_id = allData.axis_type_id;
|
|
const last_status_id = allData.last_status_id;
|
|
const progress_project = allData.progress_project;
|
|
|
|
const required_bitumen = allData.required_bitumen;
|
|
const used_bitumen = allData.used_bitumen;
|
|
const bridge_number = allData.bridge_number;
|
|
|
|
const image_path1 = allData.image_path1;
|
|
const image_path2 = allData.image_path2;
|
|
|
|
const last_digit_project = allData.last_digit_project;
|
|
const last_function_operator = allData.last_function_operator;
|
|
const last_payable_operator = allData.last_payable_operator;
|
|
const complete_payable = allData.complete_payable;
|
|
|
|
if (last_status_id == 1) {
|
|
$("#edit_limit_percentage").addClass("d-none");
|
|
$("#edit-subcontract-last-project-position").prop("disabled", false);
|
|
$("#edit-subcontract-progress-mainpercent").prop("disabled", true);
|
|
$("#edit-subcontract-progress-mainpercent").val("10");
|
|
} else if (last_status_id == 2) {
|
|
$("#edit_limit_percentage").removeClass("d-none");
|
|
$("#edit-subcontract-last-project-position").prop("disabled", false);
|
|
$("#edit-subcontract-progress-mainpercent").prop("disabled", false);
|
|
$("#edit-subcontract-progress-mainpercent").val(progress_project);
|
|
} else if (last_status_id == 3) {
|
|
$("#edit_limit_percentage").addClass("d-none");
|
|
$("#edit-subcontract-last-project-position").prop("disabled", true);
|
|
$("#edit-subcontract-progress-mainpercent").prop("disabled", true);
|
|
$("#edit-subcontract-progress-mainpercent").val("100");
|
|
} else if (last_status_id == 4) {
|
|
$("#edit_limit_percentage").addClass("d-none");
|
|
$("#edit-subcontract-last-project-position").prop("disabled", false);
|
|
$("#edit-subcontract-progress-mainpercent").prop("disabled", true);
|
|
$("#edit-subcontract-progress-mainpercent").val("5");
|
|
}
|
|
|
|
$("#edit-subcontract-title").val(project_title);
|
|
$("#edit-subcontract-nature").val(project_type_id);
|
|
subcontract_nature = project_type_id;
|
|
$("#edit-subcontract-action-type-amount-first").val(operation_type_amount1);
|
|
$("#edit-subcontract-action-type-amount-second").val(operation_type_amount2);
|
|
$("#edit-subcontract-action-type-amount-third").val(operation_type_amount3);
|
|
$("#edit-subcontract-action-type-amount-forth").val(operation_type_amount4);
|
|
|
|
$("#edit-subcontract-action-type-progress-first").val(
|
|
operation_type_progress1
|
|
);
|
|
$("#edit-subcontract-action-type-progress-second").val(
|
|
operation_type_progress2
|
|
);
|
|
$("#edit-subcontract-action-type-progress-third").val(
|
|
operation_type_progress3
|
|
);
|
|
$("#edit-subcontract-action-type-progress-forth").val(
|
|
operation_type_progress4
|
|
);
|
|
|
|
$("#edit-subcontract-action-type-tonaj-first").val(operation_type_tonaj1);
|
|
$("#edit-subcontract-action-type-tonaj-second").val(operation_type_tonaj2);
|
|
$("#edit-subcontract-action-type-tonaj-third").val(operation_type_tonaj3);
|
|
$("#edit-subcontract-action-type-tonaj-forth").val(operation_type_tonaj4);
|
|
|
|
$("#edit-subcontract-last-riali-digit-project").val(last_digit_project);
|
|
$("#edit-subcontract-last-riali-digit-project-span").text(
|
|
parseFloat(last_digit_project).toLocaleString("en")
|
|
);
|
|
$("#edit-subcontract-last-amount-worker-function").val(
|
|
last_function_operator
|
|
);
|
|
$("#edit-subcontract-last-amount-worker-function-span").text(
|
|
parseFloat(last_function_operator).toLocaleString("en")
|
|
);
|
|
$("#edit-subcontract-last-payable-amount-worker").val(last_payable_operator);
|
|
$("#edit-subcontract-last-payable-amount-worker-span").text(
|
|
parseFloat(last_payable_operator).toLocaleString("en")
|
|
);
|
|
$("#edit-subcontract-amount-for-ending-project").val(complete_payable);
|
|
$("#edit-subcontract-amount-for-ending-project-span").text(
|
|
parseFloat(complete_payable).toLocaleString("en")
|
|
);
|
|
|
|
if (editMap == null) {
|
|
setTimeout(() => {
|
|
createEditMap(positions);
|
|
}, 400);
|
|
} else {
|
|
setTimeout(() => {
|
|
clearEditMap(positions);
|
|
}, 400);
|
|
}
|
|
|
|
$("#edit-Supervisor-name").val(operator_name);
|
|
$("#edit-Supervisor-number").val(operator_phone);
|
|
if ($("#edit-Supervisor-number").val().length == 11) {
|
|
$(".edit-attent_num").fadeOut(300);
|
|
}
|
|
$("#edit-subcontract-importance-degree").val(priority_project);
|
|
$("#edit-subcontract-monitoring-degree").val(followup_priority_project_id);
|
|
showSubProvince(city_id);
|
|
$("#edit-subcontract-axisName").val(axis_name_fa);
|
|
$("#edit-subcontract-axisType").val(axis_type_id);
|
|
$("#edit-subcontract-last-project-position").val(last_status_id);
|
|
|
|
if (image_path1 != null) {
|
|
$("#edit-deviceImg1Preview").attr(
|
|
"src",
|
|
"/" + image_path1
|
|
);
|
|
$("#edit-deviceImg1Title").css("display", "none");
|
|
$("#edit-deleteDeviceImg1").prop("disabled", false);
|
|
}
|
|
if (image_path2 != null) {
|
|
$("#edit-deviceImg2Preview").attr(
|
|
"src",
|
|
"/" + image_path2
|
|
);
|
|
$("#edit-deviceImg2Title").css("display", "none");
|
|
$("#edit-deleteDeviceImg2").prop("disabled", false);
|
|
}
|
|
|
|
if (project_type_id == 1) {
|
|
$('#edit-required-bitumen-box').show()
|
|
$('#edit-required-bitumen').val(required_bitumen).prop('disabled', false)
|
|
|
|
$('#edit-used-bitumen-box').show()
|
|
$('#edit-used-bitumen').val(used_bitumen).prop('disabled', false)
|
|
|
|
$(".tonaj").removeClass("d-none");
|
|
} else {
|
|
$('#edit-required-bitumen-box').hide()
|
|
$('#edit-required-bitumen').val('').prop('disabled', true)
|
|
|
|
$('#edit-used-bitumen-box').hide()
|
|
$('#edit-used-bitumen').val('').prop('disabled', true)
|
|
|
|
$(".tonaj").addClass("d-none");
|
|
}
|
|
|
|
if (project_type_id == 4) {
|
|
$('#edit-bridge-number-box').show()
|
|
$('#edit-bridge-number').val(bridge_number).prop('disabled', false)
|
|
} else {
|
|
$('#edit-bridge-number-box').hide()
|
|
$('#edit-bridge-number').val('').prop('disabled', true)
|
|
}
|
|
|
|
if (project_type_id == 0) {
|
|
$(".map-endplace-title").addClass("d-none");
|
|
hideLoaderScreen();
|
|
$(".edit-subcontract-action-type-all").attr("disabled", true);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "خطا",
|
|
text: "لطفا نوع عملیات خود را به درستی انتخاب کنید",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else {
|
|
$(".edit-subcontract-action-type-all").attr("disabled", false);
|
|
$(".edit-subcontract-action-type-all").append(
|
|
"<option amountable='0' unit='-' value='0'>انتخاب نوع عملیات</option>"
|
|
);
|
|
$.ajax({
|
|
url: "/csi/operation/" + project_type_id,
|
|
type: "GET",
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (res) {
|
|
$.each(res, function (key, value) {
|
|
const unit = value.unit != "" ? value.unit : "-";
|
|
const amountable = value.amountable;
|
|
$(".edit-subcontract-action-type-all").append(
|
|
"<option amountable='" +
|
|
amountable +
|
|
"' unit='" +
|
|
unit +
|
|
"' value='" +
|
|
key +
|
|
"'>" +
|
|
value.farsi +
|
|
"</option>"
|
|
);
|
|
});
|
|
|
|
if (operation_type_id1 == null || operation_type_id1 == 0) {
|
|
$("#edit-subcontract-action-type-first").val(0);
|
|
$("#edit-subcontract-action-type-amount-first").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
$("#edit-subcontract-action-type-progress-first").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
$("#edit-subcontract-action-type-unit-first").text(
|
|
$("#edit-subcontract-action-type-first option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-unit-first-show").text(
|
|
$("#edit-subcontract-action-type-first option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-first").val(operation_type_id1);
|
|
arrEditOprationsDisable[0] = operation_type_id1;
|
|
if (
|
|
$("#edit-subcontract-action-type-first option:selected").attr(
|
|
"amountable"
|
|
) == 1
|
|
) {
|
|
$("#edit-subcontract-action-type-amount-first").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
$("#edit-subcontract-action-type-amount-first-show").text(
|
|
$("#edit-subcontract-action-type-amount-first").val()
|
|
);
|
|
}
|
|
if ($("#edit-subcontract-action-type-first").val() == 0) {
|
|
$("#edit-subcontract-action-type-progress-first").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-progress-first").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
}
|
|
if (project_type_id == 1) {
|
|
$("#edit-subcontract-action-type-tonaj-first").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-tonaj-first").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
}
|
|
if (operation_type_id1 == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-first").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
}
|
|
$("#edit-subcontract-action-type-unit-first").text(
|
|
$("#edit-subcontract-action-type-first option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-unit-first-show").text(
|
|
$("#edit-subcontract-action-type-first option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-first-show").text(
|
|
$("#edit-subcontract-action-type-first option:selected").text()
|
|
);
|
|
}
|
|
|
|
if (operation_type_id2 == null || operation_type_id2 == 0) {
|
|
$("#edit-subcontract-action-type-second").val(0);
|
|
$("#edit-subcontract-action-type-amount-second").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
$("#edit-subcontract-action-type-progress-second").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
$("#edit-subcontract-action-type-unit-second").text(
|
|
$("#edit-subcontract-action-type-second option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-unit-second-show").text(
|
|
$("#edit-subcontract-action-type-second option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-second").val(operation_type_id2);
|
|
arrEditOprationsDisable[1] = operation_type_id2;
|
|
if (
|
|
$("#edit-subcontract-action-type-second option:selected").attr(
|
|
"amountable"
|
|
) == 1
|
|
) {
|
|
$("#edit-subcontract-action-type-amount-second").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
$("#edit-subcontract-action-type-amount-second-show").text(
|
|
$("#edit-subcontract-action-type-amount-second").val()
|
|
);
|
|
}
|
|
if ($("#edit-subcontract-action-type-second").val() == 0) {
|
|
$("#edit-subcontract-action-type-progress-second").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-progress-second").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
}
|
|
if (project_type_id == 1) {
|
|
$("#edit-subcontract-action-type-tonaj-second").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-tonaj-second").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
}
|
|
if (operation_type_id2 == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-second").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
}
|
|
$("#edit-subcontract-action-type-unit-second").text(
|
|
$("#edit-subcontract-action-type-second option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-unit-second-show").text(
|
|
$("#edit-subcontract-action-type-second option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-second-show").text(
|
|
$("#edit-subcontract-action-type-second option:selected").text()
|
|
);
|
|
}
|
|
|
|
if (operation_type_id3 == null || operation_type_id3 == 0) {
|
|
$("#edit-subcontract-action-type-third").val(0);
|
|
$("#edit-subcontract-action-type-amount-third").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
$("#edit-subcontract-action-type-progress-third").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
$("#edit-subcontract-action-type-unit-third").text(
|
|
$("#edit-subcontract-action-type-third option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-unit-third-show").text(
|
|
$("#edit-subcontract-action-type-third option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-third").val(operation_type_id3);
|
|
arrEditOprationsDisable[2] = operation_type_id3;
|
|
if (
|
|
$("#edit-subcontract-action-type-third option:selected").attr(
|
|
"amountable"
|
|
) == 1
|
|
) {
|
|
$("#edit-subcontract-action-type-amount-third").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
$("#edit-subcontract-action-type-amount-third-show").text(
|
|
$("#edit-subcontract-action-type-amount-third").val()
|
|
);
|
|
}
|
|
if ($("#edit-subcontract-action-type-third").val() == 0) {
|
|
$("#edit-subcontract-action-type-progress-third").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-progress-third").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
}
|
|
if (project_type_id == 1) {
|
|
$("#edit-subcontract-action-type-tonaj-third").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-tonaj-third").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
}
|
|
if (operation_type_id3 == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-third").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
}
|
|
$("#edit-subcontract-action-type-unit-third").text(
|
|
$("#edit-subcontract-action-type-third option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-unit-third-show").text(
|
|
$("#edit-subcontract-action-type-third option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-third-show").text(
|
|
$("#edit-subcontract-action-type-third option:selected").text()
|
|
);
|
|
}
|
|
|
|
if (operation_type_id4 == null || operation_type_id4 == 0) {
|
|
$("#edit-subcontract-action-type-forth").val(0);
|
|
$("#edit-subcontract-action-type-amount-forth").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
$("#edit-subcontract-action-type-progress-forth").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
$("#edit-subcontract-action-type-unit-forth").text(
|
|
$("#edit-subcontract-action-type-forth option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-unit-forth-show").text(
|
|
$("#edit-subcontract-action-type-forth option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-forth").val(operation_type_id4);
|
|
arrEditOprationsDisable[3] = operation_type_id4;
|
|
if (
|
|
$("#edit-subcontract-action-type-forth option:selected").attr(
|
|
"amountable"
|
|
) == 1
|
|
) {
|
|
$("#edit-subcontract-action-type-amount-forth").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
$("#edit-subcontract-action-type-amount-forth-show").text(
|
|
$("#edit-subcontract-action-type-amount-forth").val()
|
|
);
|
|
}
|
|
if ($("#edit-subcontract-action-type-forth").val() == 0) {
|
|
$("#edit-subcontract-action-type-progress-forth").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-progress-forth").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
}
|
|
if (project_type_id == 1) {
|
|
$("#edit-subcontract-action-type-tonaj-forth").prop(
|
|
"disabled",
|
|
false
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-action-type-tonaj-forth").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
}
|
|
if (operation_type_id4 == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-forth").prop(
|
|
"disabled",
|
|
true
|
|
);
|
|
}
|
|
$("#edit-subcontract-action-type-unit-forth").text(
|
|
$("#edit-subcontract-action-type-forth option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-unit-forth-show").text(
|
|
$("#edit-subcontract-action-type-forth option:selected").attr(
|
|
"unit"
|
|
)
|
|
);
|
|
$("#edit-subcontract-action-type-forth-show").text(
|
|
$("#edit-subcontract-action-type-forth option:selected").text()
|
|
);
|
|
}
|
|
hideLoaderScreen();
|
|
for (let i = 0; i < arrEditOprationsDisable.length; i++) {
|
|
if (arrEditOprationsDisable[i] != 0)
|
|
$("#edit-subcontract-modal")
|
|
.find(
|
|
`.edit-subcontract-action-type-all option[value=${arrEditOprationsDisable[i]}]`
|
|
)
|
|
.prop("disabled", true);
|
|
}
|
|
},
|
|
error: function (request) {
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
|
|
// xxx
|
|
if ($("#edit-subcontract-action-type-first option:selected").val() == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-first").prop("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-first").val("")
|
|
}
|
|
|
|
if ($("#edit-subcontract-action-type-second option:selected").val() == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-second").prop("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-second").val("")
|
|
}
|
|
|
|
if ($("#edit-subcontract-action-type-third option:selected").val() == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-third").prop("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-third").val("")
|
|
}
|
|
|
|
if ($("#edit-subcontract-action-type-forth option:selected").val() == 113) {
|
|
$("#edit-subcontract-action-type-tonaj-forth").prop("disabled", true);
|
|
$("#edit-subcontract-action-type-tonaj-forth").val("");
|
|
}
|
|
|
|
// end appending data
|
|
|
|
$("#edit-subcontract-modal").modal("show");
|
|
});
|
|
// end edit subcontract modal
|
|
// edit map
|
|
function drawPathEdit() {
|
|
if (subcontract_nature != 6) {
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
editMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
routeControls.push(
|
|
L.Routing.control({
|
|
waypoints: [
|
|
L.latLng(
|
|
parseFloat(startMarkerEdit.getLatLng().lat),
|
|
parseFloat(startMarkerEdit.getLatLng().lng)
|
|
),
|
|
L.latLng(
|
|
parseFloat(endMarkerEdit.getLatLng().lat),
|
|
parseFloat(endMarkerEdit.getLatLng().lng)
|
|
),
|
|
],
|
|
fitSelectedRoutes: false,
|
|
draggableWaypoints: true,
|
|
createMarker: function () {
|
|
return null;
|
|
},
|
|
lineOptions: {
|
|
addWaypoints: false,
|
|
styles: [
|
|
{
|
|
color: "#28a745",
|
|
opacity: 0.8,
|
|
weight: 5,
|
|
},
|
|
],
|
|
},
|
|
}).addTo(editMap)
|
|
);
|
|
$(".leaflet-control-container").css("display", "none");
|
|
$(".leaflet-routing-container-hide").css("display", "none");
|
|
} else {
|
|
var polyline;
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
editMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
var latlngs = Array();
|
|
latlngs.push(startMarkerEdit.getLatLng());
|
|
latlngs.push(endMarkerEdit.getLatLng());
|
|
routeControls.push(
|
|
(polyline = L.polyline(latlngs, {
|
|
color: "#28a745",
|
|
opacity: 0.8,
|
|
weight: 5,
|
|
}).addTo(editMap))
|
|
);
|
|
}
|
|
}
|
|
|
|
function createEditMap(position) {
|
|
var bounds = [
|
|
[42.9130026312, 75.6166317076],
|
|
[20.5782370061, 35.5092252948],
|
|
];
|
|
if (position != null) {
|
|
editMap = L.map("edit_map", {
|
|
maxBounds: bounds,
|
|
minZoom: 6,
|
|
}).setView([position.start.lat, position.start.lng], 7);
|
|
} else {
|
|
editMap = L.map("edit_map", {
|
|
maxBounds: bounds,
|
|
minZoom: 6,
|
|
}).setView([35.7065, 51.3477], 7);
|
|
}
|
|
L.tileLayer(`${mapUrl}{z}/{x}/{y}.png`, {}).addTo(editMap);
|
|
setMarkerDefaultEdit(position);
|
|
}
|
|
|
|
function clearEditMap(position) {
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
editMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
editMap.removeLayer(startMarkerEdit);
|
|
if (endMarkerEdit != null) {
|
|
editMap.removeLayer(endMarkerEdit);
|
|
}
|
|
|
|
if (position != null) {
|
|
editMap.setView([position.start.lat, position.start.lng], 7);
|
|
} else {
|
|
editMap.setView([35.7065, 51.3477], 7);
|
|
}
|
|
setMarkerDefaultEdit(position);
|
|
}
|
|
|
|
function setMarkerDefaultEdit(position) {
|
|
isSetStartMarkerEdit = false;
|
|
isSetEndMarkerEdit = false;
|
|
$("#edit_pin-marker-end").removeClass("pin-set");
|
|
$("#edit_pin-marker-start").removeClass("pin-set");
|
|
$("#edit_project_start_map").val("");
|
|
$("#edit_project_end_map").val("");
|
|
|
|
if (position != null) {
|
|
if (position.end != undefined) {
|
|
isSetStartMarkerEdit = true;
|
|
isSetEndMarkerEdit = true;
|
|
|
|
startMarkerEdit = new L.marker([position.start.lat, position.start.lng], {
|
|
icon: startDivIconEdit,
|
|
draggable: true,
|
|
}).addTo(editMap);
|
|
|
|
endMarkerEdit = new L.marker([position.end.lat, position.end.lng], {
|
|
icon: endDivIconEdit,
|
|
draggable: true,
|
|
}).addTo(editMap);
|
|
|
|
$("#edit_pin-marker-start")
|
|
.removeClass("pin-move pin-warn")
|
|
.addClass("pin-set");
|
|
$("#edit_project_start_map").val(position.start.lat + position.start.lng);
|
|
$("#edit_pin-marker-end")
|
|
.removeClass("pin-move pin-warn")
|
|
.addClass("pin-set");
|
|
$("#edit_project_end_map").val(position.end.lat + position.end.lng);
|
|
drawPathEdit();
|
|
} else {
|
|
isSetStartMarkerEdit = true;
|
|
isSetEndMarkerEdit = false;
|
|
|
|
startMarkerEdit = new L.marker([position.start.lat, position.start.lng], {
|
|
icon: startDivIconEdit,
|
|
draggable: true,
|
|
}).addTo(editMap);
|
|
|
|
endMarkerEdit = new L.marker([position.start.lat, position.start.lng], {
|
|
icon: endDivIconEdit,
|
|
draggable: true,
|
|
}).addTo(editMap);
|
|
|
|
$("#edit_pin-marker-start")
|
|
.removeClass("pin-move pin-warn")
|
|
.addClass("pin-set");
|
|
|
|
$("#edit_project_start_map").val(position.start.lat + position.start.lng);
|
|
|
|
$("#edit_project_end_map").val("");
|
|
}
|
|
} else {
|
|
isSetStartMarkerEdit = false;
|
|
isSetEndMarkerEdit = false;
|
|
|
|
startMarkerEdit = new L.marker(L.latLng(addMap.getCenter()), {
|
|
icon: startDivIconEdit,
|
|
draggable: true,
|
|
}).addTo(editMap);
|
|
|
|
endMarkerEdit = new L.marker(L.latLng(addMap.getCenter()), {
|
|
icon: endDivIconEdit,
|
|
draggable: true,
|
|
});
|
|
|
|
$("#edit_pin-marker-start").removeClass("pin-set");
|
|
$("#edit_pin-marker-end").removeClass("pin-set");
|
|
|
|
$("#edit_project_start_map").val("");
|
|
|
|
$("#edit_project_end_map").val();
|
|
}
|
|
|
|
editMap.on("move", function () {
|
|
if (!isSetStartMarkerEdit && !isSetEndMarkerEdit) {
|
|
startMarkerEdit.setLatLng(L.latLng(editMap.getCenter()));
|
|
$("#edit-pin-marker-start").removeClass("pin-set").addClass("pin-move");
|
|
}
|
|
|
|
if (isSetStartMarkerEdit && !isSetEndMarkerEdit) {
|
|
endMarkerEdit.setLatLng(L.latLng(editMap.getCenter()));
|
|
$("#edit-pin-marker-end").removeClass("pin-set").addClass("pin-move");
|
|
}
|
|
});
|
|
editMap.on("moveend", function () {
|
|
if (!isSetStartMarkerEdit && !isSetEndMarkerEdit) {
|
|
startMarkerEdit.setLatLng(L.latLng(editMap.getCenter()));
|
|
$("#edit-pin-marker-start").removeClass("pin-move pin-set");
|
|
}
|
|
|
|
if (isSetStartMarkerEdit && !isSetEndMarkerEdit) {
|
|
endMarkerEdit.setLatLng(L.latLng(editMap.getCenter()));
|
|
$("#edit-pin-marker-end").removeClass("pin-move pin-set");
|
|
}
|
|
});
|
|
startMarkerEdit.on("click", function () {
|
|
if (!isSetStartMarkerEdit) {
|
|
startMarkerEdit.setLatLng(L.latLng(editMap.getCenter()));
|
|
endMarkerEdit.setLatLng(L.latLng(editMap.getCenter()));
|
|
isSetStartMarkerEdit = true;
|
|
$("#edit-pin-marker-start")
|
|
.removeClass("pin-move pin-warn")
|
|
.addClass("pin-set");
|
|
$("#edit_project_start_map").val(
|
|
startMarkerEdit.getLatLng().lat.toFixed(6) +
|
|
startMarkerEdit.getLatLng().lng.toFixed(6)
|
|
);
|
|
$("#edit_project_start_map").removeClass("validity-checker");
|
|
}
|
|
endMarkerEdit.addTo(editMap);
|
|
|
|
$(this).hide();
|
|
$("#edit-pin-marker-start")
|
|
.removeClass("pin-move pin-warn")
|
|
.addClass("pin-set");
|
|
});
|
|
|
|
startMarkerEdit.on("drag", function () {
|
|
$("#edit_pin-marker-start").addClass("pin-move");
|
|
});
|
|
|
|
startMarkerEdit.on("dragend", function () {
|
|
$("#edit_pin-marker-start").removeClass("pin-move");
|
|
if (
|
|
$("#edit_pin-marker-start").hasClass("pin-set") ||
|
|
isSetStartMarkerEdit
|
|
) {
|
|
$("#edit_pin-marker-start").addClass("pin-set");
|
|
$("#edit_project_start_map").val(
|
|
startMarkerEdit.getLatLng().lat.toFixed(6) +
|
|
startMarkerEdit.getLatLng().lng.toFixed(6)
|
|
);
|
|
$("#edit_project_start_map").removeClass("validity-checker");
|
|
drawPathEdit();
|
|
} else {
|
|
editMap.setView(startMarkerEdit.getLatLng());
|
|
}
|
|
});
|
|
|
|
endMarkerEdit.on("click", function () {
|
|
if (!isSetEndMarkerEdit) {
|
|
isSetEndMarkerEdit = true;
|
|
$("#edit_pin-marker-end").removeClass("pin-move").addClass("pin-set");
|
|
$("#edit_project_end_map").val(
|
|
endMarkerEdit.getLatLng().lat.toFixed(6) +
|
|
endMarkerEdit.getLatLng().lng.toFixed(6)
|
|
);
|
|
$("#edit_project_end_map").removeClass("validity-checker");
|
|
}
|
|
drawPathEdit();
|
|
});
|
|
|
|
endMarkerEdit.on("drag", function () {
|
|
$("#edit_pin-marker-end").addClass("pin-move");
|
|
});
|
|
|
|
endMarkerEdit.on("dragend", function () {
|
|
$("#edit_pin-marker-end").removeClass("pin-move");
|
|
|
|
if ($("#edit_pin-marker-end").hasClass("pin-set") || isSetEndMarkerEdit) {
|
|
$("#edit_pin-marker-end").addClass("pin-set");
|
|
$("#edit_project_end_map").val(
|
|
endMarkerEdit.getLatLng().lat.toFixed(6) +
|
|
endMarkerEdit.getLatLng().lng.toFixed(6)
|
|
);
|
|
$("#edit_project_end_map").removeClass("validity-checker");
|
|
drawPathEdit();
|
|
} else {
|
|
editMap.setView(endMarkerEdit.getLatLng());
|
|
}
|
|
});
|
|
}
|
|
// end edit map
|
|
|
|
//drag marker with lat lng in add
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").on(
|
|
"keyup",
|
|
function () {
|
|
checkStartMarkerValidation();
|
|
}
|
|
);
|
|
$("#add-subcontract-modal input[name=add_project_end_map]").on(
|
|
"keyup",
|
|
function () {
|
|
checkEndMarkerValidation();
|
|
}
|
|
);
|
|
|
|
function checkStartMarkerValidation(forSaveData = false, pageOnLoad = false) {
|
|
let reg = /^([0-9]){2}\.([0-9])+$/;
|
|
let startLatLngVal = $(
|
|
"#add-subcontract-modal input[name=add_project_start_map]"
|
|
)
|
|
.val()
|
|
.split(" - ");
|
|
let startLatLng = startLatLngVal.map(function (e) {
|
|
e = e.replace(/_/g, "");
|
|
return parseFloat(e.slice(1, -1));
|
|
});
|
|
if (isNaN(startLatLng[0])) {
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
addMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
if (!forSaveData) {
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").removeClass(
|
|
"is-invalid-input"
|
|
);
|
|
} else {
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
}
|
|
$("#pin-marker-start").removeClass("pin-move pin-set");
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").val("");
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").attr(
|
|
"placeholder",
|
|
"(شروع) => (عرض جغرافیایی) - (طول جغرافیایی)"
|
|
);
|
|
return false;
|
|
} else if (
|
|
!startLatLng == 2 ||
|
|
!reg.test(startLatLng[0]) ||
|
|
!reg.test(startLatLng[1])
|
|
) {
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
$("#pin-marker-start").removeClass("pin-move pin-set");
|
|
return false;
|
|
} else {
|
|
if (!forSaveData) {
|
|
$("#add-subcontract-modal input[name=add_project_start_map]").removeClass(
|
|
"is-invalid-input"
|
|
);
|
|
|
|
startMarkerAdd.setLatLng(startLatLng);
|
|
|
|
if (pageOnLoad) {
|
|
setTimeout(() => {
|
|
$("#pin-marker-start").removeClass("pin-move").addClass("pin-set");
|
|
startMarkerAdd.setLatLng(startLatLng);
|
|
}, 10);
|
|
} else {
|
|
$("#pin-marker-start").removeClass("pin-move").addClass("pin-set");
|
|
}
|
|
if (!isSetEndMarkerAdd) {
|
|
let markerLatLng = [
|
|
startMarkerAdd.getLatLng().lat,
|
|
startMarkerAdd.getLatLng().lng + 0.0008,
|
|
];
|
|
|
|
addMap.setView(markerLatLng);
|
|
endMarkerAdd.setLatLng(markerLatLng);
|
|
|
|
if (!isSetStartMarkerAdd) {
|
|
endMarkerAdd.addTo(addMap);
|
|
}
|
|
}
|
|
isSetStartMarkerAdd = true;
|
|
}
|
|
checkMarkersAndDrawPath();
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|
|
function checkEndMarkerValidation(forSaveData = false, pageOnLoad = false) {
|
|
let reg = /^([0-9]){2}\.([0-9])+$/;
|
|
let endLatLngVal = $("#add-subcontract-modal input[name=add_project_end_map]")
|
|
.val()
|
|
.split(" - ");
|
|
let endLatLng = endLatLngVal.map(function (e) {
|
|
e = e.replace(/_/g, "");
|
|
return parseFloat(e.slice(1, -1));
|
|
});
|
|
|
|
if (isNaN(endLatLng[0])) {
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
addMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
if (!forSaveData) {
|
|
$("#add-subcontract-modal input[name=add_project_end_map]").removeClass(
|
|
"is-invalid-input"
|
|
);
|
|
} else {
|
|
$("#add-subcontract-modal input[name=add_project_end_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
}
|
|
$("#pin-marker-end").removeClass("pin-move pin-set");
|
|
$("#add-subcontract-modal input[name=add_project_end_map]").val("");
|
|
$("#add-subcontract-modal input[name=add_project_end_map]").attr(
|
|
"placeholder",
|
|
"(پایان) => (عرض جغرافیایی) - (طول جغرافیایی)"
|
|
);
|
|
return false;
|
|
} else if (
|
|
!endLatLng == 2 ||
|
|
!reg.test(endLatLng[0]) ||
|
|
!reg.test(endLatLng[1])
|
|
) {
|
|
$("#add-subcontract-modal input[name=add_project_end_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
$("#pin-marker-end").removeClass("pin-move pin-set");
|
|
return false;
|
|
} else {
|
|
if (!forSaveData) {
|
|
$("#add-subcontract-modal input[name=add_project_end_map]").removeClass(
|
|
"is-invalid-input"
|
|
);
|
|
|
|
endMarkerAdd.setLatLng(endLatLng);
|
|
isSetEndMarkerAdd = true;
|
|
|
|
if (pageOnLoad) {
|
|
setTimeout(() => {
|
|
$("#pin-marker-end").removeClass("pin-move").addClass("pin-set");
|
|
endMarkerAdd.setLatLng(endLatLng);
|
|
}, 10);
|
|
} else {
|
|
$("#pin-marker-end").removeClass("pin-move").addClass("pin-set");
|
|
}
|
|
}
|
|
|
|
checkMarkersAndDrawPath();
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|
|
//drag marker with lat lng in add
|
|
|
|
//drag marker with lat lng in edit
|
|
$("#edit-subcontract-modal input[name=edit_project_start_map]").on(
|
|
"keyup",
|
|
function () {
|
|
checkStartMarkerValidationEdit();
|
|
}
|
|
);
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").on(
|
|
"keyup",
|
|
function () {
|
|
checkEndMarkerValidationEdit();
|
|
}
|
|
);
|
|
|
|
function checkStartMarkerValidationEdit(
|
|
forSaveData = false,
|
|
pageOnLoad = false
|
|
) {
|
|
let reg = /^([0-9]){2}\.([0-9])+$/;
|
|
let startLatLngVal = $(
|
|
"#edit-subcontract-modal input[name=edit_project_start_map]"
|
|
)
|
|
.val()
|
|
.split(" - ");
|
|
let startLatLng = startLatLngVal.map(function (e) {
|
|
e = e.replace(/_/g, "");
|
|
return parseFloat(e.slice(1, -1));
|
|
});
|
|
if (isNaN(startLatLng[0])) {
|
|
if (!forSaveData) {
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
addMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
$(
|
|
"#edit-subcontract-modal input[name=edit_project_start_map]"
|
|
).removeClass("is-invalid-input");
|
|
} else {
|
|
$("#edit-subcontract-modal input[name=edit_project_start_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
}
|
|
$("#edit-pin-marker-start").removeClass("pin-move pin-set");
|
|
$("#edit-subcontract-modal input[name=edit_project_start_map]").val("");
|
|
$("#edit-subcontract-modal input[name=edit_project_start_map]").attr(
|
|
"placeholder",
|
|
"(شروع) => (عرض جغرافیایی) - (طول جغرافیایی)"
|
|
);
|
|
return false;
|
|
} else if (
|
|
!startLatLng == 2 ||
|
|
!reg.test(startLatLng[0]) ||
|
|
!reg.test(startLatLng[1])
|
|
) {
|
|
$("#edit-subcontract-modal input[name=edit_project_start_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
$("#edit-pin-marker-start").removeClass("pin-move pin-set");
|
|
return false;
|
|
} else {
|
|
if (!forSaveData) {
|
|
$(
|
|
"#edit-subcontract-modal input[name=edit_project_start_map]"
|
|
).removeClass("is-invalid-input");
|
|
|
|
startMarkerEdit.setLatLng(startLatLng);
|
|
|
|
if (pageOnLoad) {
|
|
setTimeout(() => {
|
|
$("#edit-pin-marker-start")
|
|
.removeClass("pin-move")
|
|
.addClass("pin-set");
|
|
startMarkerEdit.setLatLng(startLatLng);
|
|
}, 10);
|
|
} else {
|
|
$("#edit-pin-marker-start").removeClass("pin-move").addClass("pin-set");
|
|
}
|
|
if (!isSetEndMarkerEdit) {
|
|
let markerLatLng = [
|
|
startMarkerEdit.getLatLng().lat,
|
|
startMarkerEdit.getLatLng().lng + 0.0008,
|
|
];
|
|
|
|
editMap.setView(markerLatLng);
|
|
endMarkerEdit.setLatLng(markerLatLng);
|
|
|
|
if (!isSetStartMarkerEdit) {
|
|
endMarkerAdd.addTo(addMap);
|
|
}
|
|
}
|
|
|
|
isSetStartMarkerEdit = true;
|
|
}
|
|
drawPathEdit();
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|
|
function checkEndMarkerValidationEdit(forSaveData = false, pageOnLoad = false) {
|
|
let reg = /^([0-9]){2}\.([0-9])+$/;
|
|
let endLatLngVal = $(
|
|
"#edit-subcontract-modal input[name=edit_project_end_map]"
|
|
)
|
|
.val()
|
|
.split(" - ");
|
|
let endLatLng = endLatLngVal.map(function (e) {
|
|
e = e.replace(/_/g, "");
|
|
return parseFloat(e.slice(1, -1));
|
|
});
|
|
|
|
if (isNaN(endLatLng[0])) {
|
|
if (routeControls.length) {
|
|
$(routeControls).each(function (index, control) {
|
|
addMap.removeControl(control);
|
|
routeControls.splice(routeControls.indexOf(index), 1);
|
|
});
|
|
}
|
|
if (!forSaveData) {
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").removeClass(
|
|
"is-invalid-input"
|
|
);
|
|
} else {
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
}
|
|
$("#edit-pin-marker-end").removeClass("pin-move pin-set");
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").val("");
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").attr(
|
|
"placeholder",
|
|
"(پایان) => (عرض جغرافیایی) - (طول جغرافیایی)"
|
|
);
|
|
return false;
|
|
} else if (
|
|
!endLatLng == 2 ||
|
|
!reg.test(endLatLng[0]) ||
|
|
!reg.test(endLatLng[1])
|
|
) {
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").addClass(
|
|
"is-invalid-input"
|
|
);
|
|
$("#edit-pin-marker-end").removeClass("pin-move pin-set");
|
|
return false;
|
|
} else {
|
|
if (!forSaveData) {
|
|
$("#edit-subcontract-modal input[name=edit_project_end_map]").removeClass(
|
|
"is-invalid-input"
|
|
);
|
|
|
|
endMarkerEdit.setLatLng(endLatLng);
|
|
isSetEndMarkerEdit = true;
|
|
|
|
if (pageOnLoad) {
|
|
setTimeout(() => {
|
|
$("#edit-pin-marker-end").removeClass("pin-move").addClass("pin-set");
|
|
endMarkerEdit.setLatLng(endLatLng);
|
|
}, 10);
|
|
} else {
|
|
$("#edit-pin-marker-end").removeClass("pin-move").addClass("pin-set");
|
|
}
|
|
}
|
|
|
|
drawPathEdit();
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|
|
//drag marker with lat lng in edit
|
|
$(document).on("click", "#edit-subcontract-cta", function () {
|
|
let actionChecker = false;
|
|
$("#edit-subcontract-cta").prop("disabled", true);
|
|
// checking validity
|
|
const parent = $(this).parents("#edit-subcontract-modal");
|
|
parent.find(".input-map-project").each(function () {
|
|
if ($(this).val() != "") {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
});
|
|
if ($("#edit-Supervisor-number").val().length != 11) {
|
|
$("#edit-Supervisor-number").addClass("validity-checker");
|
|
} else {
|
|
$("#edit-Supervisor-number").removeClass("validity-checker");
|
|
}
|
|
parent.find(".input-edit-subcontract").each(function () {
|
|
if (!$(this).prop("disabled")) {
|
|
if ($(this).val() != "") {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
} else {
|
|
$(this).removeClass("validity-checker");
|
|
}
|
|
});
|
|
parent.find(".edit-subcontract-action-type-tonaj-all").each(function () {
|
|
if ($("#edit-subcontract-nature").val() == 1) {
|
|
if (!$(this).prop("disabled")) {
|
|
if ($(this).val() != "") {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
} else {
|
|
$(this).removeClass("validity-checker");
|
|
}
|
|
}
|
|
});
|
|
parent.find(".select-edit-subcontract").each(function () {
|
|
if ($(this).val() != 0 && $(this).val() != null) {
|
|
$(this).removeClass("validity-checker");
|
|
} else {
|
|
$(this).addClass("validity-checker");
|
|
}
|
|
});
|
|
parent.find(".img-preview").each(function () {
|
|
if ($(this).prop("src") == "") {
|
|
$(this).parents(".imgbox").addClass("validity-checker");
|
|
} else {
|
|
$(this).parents(".imgbox").removeClass("validity-checker");
|
|
}
|
|
});
|
|
if ($("#edit-subcontract-last-project-position").val() == 2) {
|
|
if ($("#edit-subcontract-progress-mainpercent").val().length <= 1) {
|
|
$("#edit-subcontract-progress-mainpercent").addClass("validity-checker");
|
|
} else {
|
|
$("#edit-subcontract-progress-mainpercent").removeClass(
|
|
"validity-checker"
|
|
);
|
|
}
|
|
}
|
|
// checking validity
|
|
|
|
// ************ edit data part should be checked *************
|
|
const project_title = $("#edit-subcontract-title").val();
|
|
const project_type_id = $("#edit-subcontract-nature").val();
|
|
const project_type_fa = $("#edit-subcontract-nature option:selected").text();
|
|
|
|
const required_bitumen = $("#edit-required-bitumen").val();
|
|
const used_bitumen = $("#edit-used-bitumen").val();
|
|
const bridge_number = $("#edit-bridge-number").val();
|
|
|
|
const operation_type_id1 = $(
|
|
"#edit-subcontract-action-type-first option:selected"
|
|
).val();
|
|
const operation_type_amount1 = $(
|
|
"#edit-subcontract-action-type-amount-first"
|
|
).val();
|
|
const operation_type_progress1 = $(
|
|
"#edit-subcontract-action-type-progress-first"
|
|
).val();
|
|
const operation_type_tonaj1 = $(
|
|
"#edit-subcontract-action-type-tonaj-first"
|
|
).val();
|
|
|
|
const operation_type_id2 = $(
|
|
"#edit-subcontract-action-type-second option:selected"
|
|
).val();
|
|
const operation_type_amount2 = $(
|
|
"#edit-subcontract-action-type-amount-second"
|
|
).val();
|
|
const operation_type_progress2 = $(
|
|
"#edit-subcontract-action-type-progress-second"
|
|
).val();
|
|
const operation_type_tonaj2 = $(
|
|
"#edit-subcontract-action-type-tonaj-second"
|
|
).val();
|
|
|
|
const operation_type_id3 = $(
|
|
"#edit-subcontract-action-type-third option:selected"
|
|
).val();
|
|
const operation_type_amount3 = $(
|
|
"#edit-subcontract-action-type-amount-third"
|
|
).val();
|
|
const operation_type_progress3 = $(
|
|
"#edit-subcontract-action-type-progress-third"
|
|
).val();
|
|
const operation_type_tonaj3 = $(
|
|
"#edit-subcontract-action-type-tonaj-third"
|
|
).val();
|
|
|
|
const operation_type_id4 = $(
|
|
"#edit-subcontract-action-type-forth option:selected"
|
|
).val();
|
|
const operation_type_amount4 = $(
|
|
"#edit-subcontract-action-type-amount-forth"
|
|
).val();
|
|
const operation_type_progress4 = $(
|
|
"#edit-subcontract-action-type-progress-forth"
|
|
).val();
|
|
const operation_type_tonaj4 = $(
|
|
"#edit-subcontract-action-type-tonaj-forth"
|
|
).val();
|
|
|
|
const operator_name = $("#edit-Supervisor-name").val();
|
|
const operator_phone = $("#edit-Supervisor-number").val();
|
|
|
|
const priority_project = $("#edit-subcontract-importance-degree").val();
|
|
const priority_project_fa = $(
|
|
"#edit-subcontract-importance-degree option:selected"
|
|
).text();
|
|
const followup_priority_project_id = $(
|
|
"#edit-subcontract-monitoring-degree"
|
|
).val();
|
|
const followup_priority_project = $(
|
|
"#edit-subcontract-monitoring-degree option:selected"
|
|
).text();
|
|
|
|
const city_id = $("#edit-subcontract-province").val();
|
|
const city_fa = $("#edit-subcontract-province option:selected").text();
|
|
|
|
const axis_name_fa = $("#edit-subcontract-axisName").val();
|
|
const axis_type_id = $("#edit-subcontract-axisType").val();
|
|
const axis_type_fa = $("#edit-subcontract-axisType option:selected").text();
|
|
|
|
const last_status_id = $("#edit-subcontract-last-project-position").val();
|
|
const last_status_fa = $(
|
|
"#edit-subcontract-last-project-position option:selected"
|
|
).text();
|
|
const progress_project = $("#edit-subcontract-progress-mainpercent").val();
|
|
|
|
const last_digit_project = $(
|
|
"#edit-subcontract-last-riali-digit-project"
|
|
).val();
|
|
const last_function_operator = $(
|
|
"#edit-subcontract-last-amount-worker-function"
|
|
).val();
|
|
const last_payable_operator = $(
|
|
"#edit-subcontract-last-payable-amount-worker"
|
|
).val();
|
|
const complete_payable = $(
|
|
"#edit-subcontract-amount-for-ending-project"
|
|
).val();
|
|
const province_id = provinceIdForSub;
|
|
const contract_id = contractRowId;
|
|
const image1 = $("#edit-deviceImg1").get(0).files[0];
|
|
const image2 = $("#edit-deviceImg2").get(0).files[0];
|
|
|
|
const start_lat = startMarkerEdit.getLatLng().lat.toFixed(6);
|
|
const start_lng = startMarkerEdit.getLatLng().lng.toFixed(6);
|
|
const end_lat = endMarkerEdit.getLatLng().lat.toFixed(6);
|
|
const end_lng = endMarkerEdit.getLatLng().lng.toFixed(6);
|
|
let formData = new FormData();
|
|
if ($("#edit-subcontract-action-type-first option:selected").val() != 0) {
|
|
actionChecker = true;
|
|
formData.append("operation_type_id1", operation_type_id1);
|
|
if ($("#edit-subcontract-nature option:selected").hasClass("limitAmount")) {
|
|
formData.append("operation_type_amount1", operation_type_amount1);
|
|
}
|
|
formData.append("operation_type_progress1", operation_type_progress1);
|
|
if ($("#edit-subcontract-nature").val() == 1) {
|
|
formData.append("operation_type_tonaj1", operation_type_tonaj1);
|
|
}
|
|
}
|
|
if ($("#edit-subcontract-action-type-second option:selected").val() != 0) {
|
|
actionChecker = true;
|
|
formData.append("operation_type_id2", operation_type_id2);
|
|
if ($("#edit-subcontract-nature option:selected").hasClass("limitAmount")) {
|
|
formData.append("operation_type_amount2", operation_type_amount2);
|
|
}
|
|
formData.append("operation_type_progress2", operation_type_progress2);
|
|
if ($("#edit-subcontract-nature").val() == 1) {
|
|
formData.append("operation_type_tonaj2", operation_type_tonaj2);
|
|
}
|
|
}
|
|
if ($("#edit-subcontract-action-type-third option:selected").val() != 0) {
|
|
actionChecker = true;
|
|
formData.append("operation_type_id3", operation_type_id3);
|
|
if ($("#edit-subcontract-nature option:selected").hasClass("limitAmount")) {
|
|
formData.append("operation_type_amount3", operation_type_amount3);
|
|
}
|
|
formData.append("operation_type_progress3", operation_type_progress3);
|
|
if ($("#edit-subcontract-nature").val() == 1) {
|
|
formData.append("operation_type_tonaj3", operation_type_tonaj3);
|
|
}
|
|
}
|
|
if ($("#edit-subcontract-action-type-forth option:selected").val() != 0) {
|
|
actionChecker = true;
|
|
formData.append("operation_type_id4", operation_type_id4);
|
|
if ($("#edit-subcontract-nature option:selected").hasClass("limitAmount")) {
|
|
formData.append("operation_type_amount4", operation_type_amount4);
|
|
}
|
|
formData.append("operation_type_progress4", operation_type_progress4);
|
|
if ($("#edit-subcontract-nature").val() == 1) {
|
|
formData.append("operation_type_tonaj4", operation_type_tonaj4);
|
|
}
|
|
}
|
|
formData.append("project_title", project_title);
|
|
formData.append("project_type_id", project_type_id);
|
|
formData.append("project_type_fa", project_type_fa);
|
|
|
|
if (project_type_id == 1) {
|
|
formData.append("required_bitumen", required_bitumen);
|
|
formData.append("used_bitumen", used_bitumen);
|
|
}
|
|
|
|
if (project_type_id == 4) {
|
|
formData.append("bridge_number", bridge_number);
|
|
}
|
|
|
|
formData.append("operator_name", operator_name);
|
|
formData.append("province_id", province_id);
|
|
formData.append("operator_phone", operator_phone);
|
|
formData.append("priority_project", priority_project);
|
|
formData.append("priority_project_fa", priority_project_fa);
|
|
formData.append("followup_priority_project_id", followup_priority_project_id);
|
|
formData.append("followup_priority_project", followup_priority_project);
|
|
formData.append("city_id", city_id);
|
|
formData.append("city_fa", city_fa);
|
|
formData.append("axis_name_fa", axis_name_fa);
|
|
formData.append("axis_type_id", axis_type_id);
|
|
formData.append("axis_type_fa", axis_type_fa);
|
|
formData.append("last_status_id", last_status_id);
|
|
formData.append("last_status_fa", last_status_fa);
|
|
formData.append("progress_project", progress_project);
|
|
formData.append("last_digit_project", last_digit_project);
|
|
formData.append("last_function_operator", last_function_operator);
|
|
formData.append("last_payable_operator", last_payable_operator);
|
|
formData.append("complete_payable", complete_payable);
|
|
formData.append("contract_id", contract_id);
|
|
if (typeof image1 !== "undefined") formData.append("image1", image1);
|
|
if (typeof image2 !== "undefined") formData.append("image2", image2);
|
|
formData.append("start_lat", start_lat);
|
|
formData.append("start_lng", start_lng);
|
|
formData.append("end_lat", end_lat);
|
|
formData.append("end_lng", end_lng);
|
|
if (!actionChecker) {
|
|
$("#edit-subcontract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "خطا",
|
|
text: "حداقل یکی از انواع عملیات را انتخاب کنید",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else if (
|
|
$("#edit-subcontract-modal").find(".validity-checker").length != 0
|
|
) {
|
|
$("#edit-subcontract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "مقادیر مشخص شده را پر کنید",
|
|
text: "اگر همچنان با این اخطار مواجه شدید با پشتیبانی تماس بگیرید",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else if (parseInt(required_bitumen) < parseInt(used_bitumen)) {
|
|
$("#edit-subcontract-cta").prop("disabled", false);
|
|
Swal.fire({
|
|
icon: "error",
|
|
title: "مقدار قیر",
|
|
text: "مقدار قیر مصرف شده نباید از مقدار قیر مورد نیاز بیشتر باشد",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
} else {
|
|
showLoaderScreen();
|
|
$.ajax({
|
|
url: "/csi/update-dev/" + updateId,
|
|
type: "POST",
|
|
headers: {
|
|
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
|
|
},
|
|
data: formData,
|
|
cache: false,
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (result) {
|
|
$("#edit-subcontract-modal").modal("hide");
|
|
$("#edit-subcontract-cta").prop("disabled", false);
|
|
hideLoaderScreen();
|
|
Swal.fire({
|
|
icon: "success",
|
|
text: "زیر پروژه با موفقیت ویرایش شد",
|
|
confirmButtonText: "بستن",
|
|
});
|
|
subItemTable.ajax.reload(null, false);
|
|
},
|
|
error: function (request) {
|
|
$("#edit-subcontract-cta").prop("disabled", false);
|
|
ajax_error(request.responseJSON, request.status);
|
|
hideLoaderScreen();
|
|
},
|
|
});
|
|
}
|
|
// ************ edit data part should be checked *************
|
|
});
|
|
|
|
$(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");
|
|
}
|
|
if (
|
|
clicked.closest(".btn-table-word").length == 0 &&
|
|
clicked.closest(".parent-word").length == 0 &&
|
|
$(".parent-word").css("display") != "none"
|
|
) {
|
|
$(".parent-word").css("display", "none");
|
|
}
|
|
});
|
|
|
|
$("#btn_filter_show").on("click", function () {
|
|
_table = table
|
|
var currentDate = {};
|
|
province_val = $("#select-province").val().join(",");
|
|
status_val = $(".last_statusfilter").val().join(",");
|
|
status_rel_val = $(".contain_project").val();
|
|
currentFilterYear = $('select[name="yearfilter"]').val();
|
|
id_search = $('.id_search').val();
|
|
title_search = $('.title_search').val();
|
|
contract_number_search = $('.contract_number_search').val();
|
|
contract_peymankar_search = $('.contract_peymankar_search').val();
|
|
project_type = $('.project-type').val().join(",");
|
|
currentDate.from = moment(currentFilterYear, "jYYYY");
|
|
currentFilterQueryfrom = currentDate.from.locale("fa").format("YYYY-MM-DD");
|
|
currentDate.to = moment(currentFilterYear, "jYYYY");
|
|
currentDate.to.add(1, "year");
|
|
currentFilterQueryto = currentDate.to.locale("fa").format("YYYY-MM-DD");
|
|
if (id_search != '') {
|
|
_table = _table.column(0).search(id_search);
|
|
} else {
|
|
_table = _table.column(0).search('');
|
|
}
|
|
if (title_search != '') {
|
|
_table = _table.column(3).search(title_search);
|
|
} else {
|
|
_table = _table.column(3).search('');
|
|
}
|
|
if (contract_number_search != '') {
|
|
_table = _table.column(9).search(contract_number_search);
|
|
} else {
|
|
_table = _table.column(9).search('');
|
|
}
|
|
if (contract_peymankar_search != '') {
|
|
_table = _table.column(6).search(contract_peymankar_search);
|
|
} else {
|
|
_table = _table.column(6).search('');
|
|
}
|
|
if (province_val != 0) {
|
|
_table = _table.column(22).search(province_val);
|
|
} else {
|
|
_table = _table.column(22).search('');
|
|
}
|
|
if (status_val != 0) {
|
|
_table = _table.column(23).search(status_val);
|
|
} else {
|
|
_table = _table.column(23).search('');
|
|
}
|
|
if (status_rel_val != 0) {
|
|
_table = _table.column(24).search(status_rel_val);
|
|
} else {
|
|
_table = _table.column(24).search('');
|
|
}
|
|
if (currentFilterYear != 0) {
|
|
_table = _table.column(4).search(`${currentFilterQueryfrom}&${currentFilterQueryto}`);
|
|
} else {
|
|
_table = _table.column(4).search('');
|
|
}
|
|
if (project_type != 0) {
|
|
_table = _table.column(25).search(project_type);
|
|
} else {
|
|
_table = _table.column(25).search('');
|
|
}
|
|
|
|
_table.draw();
|
|
});
|
|
$("#btn_excel-download").on("click", function () {
|
|
let currentDate = {};
|
|
let queryParems = [];
|
|
const project_type = $('select[name="select-project-type-excel"]').val();
|
|
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/${project_type}${queryParems.length != 0 ? `?${queryParems.join("&")}` : ""
|
|
}`;
|
|
window.open(url, "_blank");
|
|
});
|
|
$(document).on("click", "#btn_word_download", function () {
|
|
const provinceWordVal = $("#select-province-word option:selected").val();
|
|
window.open(
|
|
"/contracts/document?province=" +
|
|
provinceWordVal +
|
|
"&type=1",
|
|
"_blank"
|
|
);
|
|
// pdf part
|
|
// showPrintPDF();
|
|
});
|
|
function appendYearFilter() {
|
|
var current_year;
|
|
$(".yearfilter").append(`<option value="0">انتخاب سال </option>`);
|
|
current_year = new persianDate().year();
|
|
for (let i = 1396; i <= current_year; i++) {
|
|
$(".yearfilter").append(
|
|
"\
|
|
<option value=" + i + ">" + i.toString() + "</option>\
|
|
"
|
|
);
|
|
}
|
|
}
|
|
$(document).on(
|
|
"input",
|
|
".add-subcontract-action-type-progress-all",
|
|
function () {
|
|
if ($(this).val() > 100) {
|
|
$(this).val(100);
|
|
} else if ($(this).val() < 0) {
|
|
$(this).val(0);
|
|
}
|
|
}
|
|
);
|
|
$(document).on(
|
|
"input",
|
|
".edit-subcontract-action-type-progress-all",
|
|
function () {
|
|
if ($(this).val() > 100) {
|
|
$(this).val(100);
|
|
} else if ($(this).val() < 0) {
|
|
$(this).val(0);
|
|
}
|
|
}
|
|
);
|
|
$(document).on("input", ".add-subcontract-action-type-amount-all", function () {
|
|
if ($(this).val() <= 0) {
|
|
$(this).val("");
|
|
}
|
|
});
|
|
$(document).on(
|
|
"input",
|
|
".edit-subcontract-action-type-amount-all",
|
|
function () {
|
|
if ($(this).val() <= 0) {
|
|
$(this).val("");
|
|
}
|
|
}
|
|
);
|
|
$(document).on("input", ".add-subcontract-action-type-tonaj-all", function () {
|
|
if ($(this).val() <= 0) {
|
|
$(this).val("");
|
|
}
|
|
});
|
|
$(document).on("input", ".edit-subcontract-action-type-tonaj-all", function () {
|
|
if ($(this).val() < 0) {
|
|
$(this).val("");
|
|
}
|
|
});
|
|
|
|
$("#select_project_type_excel").on("change", function () {
|
|
$("#datapicker-from-excel-table").prop(
|
|
"disabled",
|
|
$.inArray($(this).val(), $(this).data("activeDate")) != -1
|
|
);
|
|
|
|
$("#datapicker-to-excel-table").prop(
|
|
"disabled",
|
|
$.inArray($(this).val(), $(this).data("activeDate")) != -1
|
|
);
|
|
});
|
|
|
|
$("table").on("click", "tbody tr", function () {
|
|
const parent = $(this).parents("table");
|
|
parent.find("tr.selected").find("i").css("color", "");
|
|
parent.find("tr.selected").css("color", "");
|
|
parent.find("tr.selected").removeClass("selected");
|
|
|
|
$(this).addClass("selected");
|
|
$(this).css("color", "white");
|
|
$(this).find("i").css("color", "white");
|
|
}); |