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

722 lines
24 KiB
JavaScript

var table;
var uiniqecode = null;
var list_province = [];
var list_citys = [];
var local_url = "http://192.168.1.75/rms_new/public/index.php";
var publish_url = "https://rms.rmto.ir";
var array_hold = [];
var array_hold_String = "";
var array_hold_String_edited;
var data_select_sec;
var array_hold_Axis_type = [];
var data_select_Axis_type;
var String_hold_Axis_type = "";
var String_edited_Axis_type;
var arry_select2_date;
var array_geted_date = [];
var hold_Data_p1 = "";
var pooriapo;
var edited_end_date;
var hold_Data_city1;
var city1_array = [];
var city1_String = "";
var city1_String_edited = "";
var hold_Data_city2;
var city2_array = [];
var city2_String = "";
var city2_String_edited = "";
var hold_Data_city3;
var city3_array = [];
var city3_String = "";
var city3_String_edited = "";
var hold_Data_province1;
var hold_Data_province2;
var hold_Data_province3;
var array_geted_date = [];
var edited_end_date;
var project_update_list = {};
var totaldata = [];
$(document).ready(function () {
table = $("#example").DataTable({
dom: "lBfrtip",
pagingType: "simple_numbers",
rowsGroup: [1],
language: {
sEmptyTable: "هیچ داده‌ای در جدول وجود ندارد",
sInfo: "نمایش _START_ تا _END_ از _TOTAL_ ردیف",
sInfoEmpty: "نمایش 0 تا 0 از 0 ردیف",
sInfoFiltered: "(فیلتر شده از _MAX_ ردیف)",
sInfoPostFix: "",
sInfoThousands: ",",
sLengthMenu: "نمایش _MENU_ ردیف",
sLoadingRecords: "در حال بارگذاری...",
sProcessing: "در حال پردازش...",
sSearch: "جستجو / فیلتر: ",
sZeroRecords: "رکوردی با این مشخصات پیدا نشد",
oPaginate: {
sFirst: "برگه‌ی نخست",
sLast: "برگه‌ی آخر",
sNext: "بعدی",
sPrevious: "قبلی",
},
oAria: {
sSortAscending: ": فعال سازی نمایش به صورت صعودی",
sSortDescending: ": فعال سازی نمایش به صورت نزولی",
},
},
order: [[0, "asc"][(1, "asc")], [2, "desc"], [3, "desc"], [4, "desc"]],
order: [[0, "desc"]],
processing: true,
select: true,
destroy: true,
ajax: {
ajax: "data/objects.txt",
url: "https://rms.rmto.ir/api/bbindicators",
type: "POST",
beforeSend: function () {
showLoaderScreen();
},
dataSrc: function (json) {
console.log(json.data);
copyData = json.data;
hideLoaderScreen();
return json.data;
},
},
columns: [
{ data: "id" },
{ data: "province_fa" },
{
data: null,
render: function (data) {
if (!data.city_fa) {
return "-";
} else {
return data.city_fa;
}
},
},
{
data: null,
render: function (data) {
if (!data.project_axis) {
return "-";
} else {
return data.project_axis;
}
},
},
{ data: "project_plan_fa" },
{ data: "project_related" },
{ data: "project_office_fa" },
{ data: "avg_project_progress" },
{ data: "project_communicate_value" },
{ data: "project_allocate_value" },
{ data: "project_unique_id" },
{
className: "text-center",
data: null,
render: function (data, type, row) {
return '<button class="btn btn-success btn-sm updatejahesh">بروزرسانی</button>'
},
},
],
buttons: [
{
extend: "excelHtml5",
title: "Excel",
text: "خروجی به اکسل",
messageTop: " ارزش شاخص های پروژه ",
},
// {
// text: "فیلترینگ پیشرفته",
// action: function (e, dt, node, config) {
// if ($(".smart-filltering").css("display") == "none") {
// $(".smart-filltering").css("display", "block");
// // $(".last_statusfilter").val(0).trigger("change");
// // $(".typemehvar").val(0).trigger("change");
// // $("#select-province1").val(0).trigger("change");
// // $("#select-city1").val(0).trigger("change");
// // $("#select-province2").val(0).trigger("change");
// // $("#select-city2").val(0).trigger("change");
// // $("#select-province3").val(0).trigger("change");
// // $("#select-city3").val(0).trigger("change");
// // $(".yearfilter").val(0).trigger("change");
// // array_hold = [];
// // array_hold_String = "";
// // array_hold_String_edited = null;
// // String_hold_Axis_type = "";
// // $("#example").DataTable().column(1).search("").draw();
// // $("#example").DataTable().column(2).search("").draw();
// // $("#example").DataTable().column(4).search("").draw();
// // $("#example").DataTable().column(10).search("").draw();
// // $("#example").DataTable().column(7).search("").draw();
// $("#append-input-forFilter2").addClass("d-none");
// $("#append-input-forFilter3").addClass("d-none");
// showLoaderScreen();
// setTimeout(() => {
// hideLoaderScreen();
// }, 200);
// } else if ($(".smart-filltering").css("display") != "none") {
// // $(".smart-filltering").css("display", "none");
// }
// },
// },
],
initComplete: function () {
this.api().columns([1]).every(function () {
// $('#example thead tr').empty();
var column = this;
var select = $('<select><option value="">فیلتر اداره کل</option></select>')
.appendTo('#example .showfilter th:eq(1)')
.on('change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search(val ? '^' + val + '$' : '', true, false)
.draw();
});
column.data().unique().sort().each(function (d, j) {
select.append('<option value="' + d + '">' + d + '</option>')
});
});
this.api().columns([4]).every(function () {
// $('#example thead tr').empty();
var column = this;
var select = $('<select style=" width: 100%;"><option value="">فیلتر شماره طرح</option></select>')
.appendTo('#example .showfilter th:eq(4)')
.on('change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search(val ? '^' + val + '$' : '', true, false)
.draw();
});
column.data().unique().sort().each(function (d, j) {
select.append('<option value="' + d + '">' + d + '</option>')
});
});
// this.api().columns([5]).every(function () {
// // $('#example thead tr').empty();
// var column = this;
// var select = $('<select style=" width: 100%;"><option value="">فیلتر شماره طرح </option></select>')
// .appendTo('#example .showfilter th:eq(5)')
// .on('change', function () {
// var val = $.fn.dataTable.util.escapeRegex(
// $(this).val()
// );
// column
// .search(val ? '^' + val + '$' : '', true, false)
// .draw();
// });
// column.data().unique().sort().each(function (d, j) {
// select.append('<option value="' + d + '">' + d + '</option>')
// });
// });
this.api().columns([6]).every(function () {
// $('#example thead tr').empty();
var column = this;
var select = $('<select style=" width: 100%;"><option value="">فیلتر دفتر تخصصی </option></select>')
.appendTo('#example .showfilter th:eq(6)')
.on('change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search(val ? '^' + val + '$' : '', true, false)
.draw();
});
column.data().unique().sort().each(function (d, j) {
select.append('<option value="' + d + '">' + d + '</option>')
});
});
$(".js-example-basic-multiple").append(
'<option value="0">انتخاب اداره کل</option>'
);
// init_row_filter();
$("#select-province1").on("change", function () {
init_data_filter1();
});
$(".btn-increase").prop("disabled", true);
$(".btn-decrease").prop("disabled", true);
$(".last_statusfilter").select2({
multiple: true,
placeholder: " نوع پروژه",
width: "resolve",
dir: "rtl",
});
$("#select-city1").select2({
dir: "rtl",
placeholder: "انتخاب شهرستان",
width: "resolve",
});
$("#select-city2").select2({
dir: "rtl",
placeholder: "انتخاب شهرستان",
width: "resolve",
});
$("#select-city3").select2({
dir: "rtl",
placeholder: "انتخاب شهرستان",
width: "resolve",
});
$(".typemehvar").select2({
multiple: true,
placeholder: " شماره طرح ",
dir: "rtl",
width: "resolve",
});
$(".yearfilter").select2({
multiple: true,
placeholder: "سال شروع",
dir: "rtl",
width: "resolve",
});
var current_year;
current_year = new persianDate().year();
for (let i = 1396; i <= current_year; i++) {
$(".yearfilter").prepend(
"\
<option value=" +
i +
">" +
i.toString() +
"</option>\
"
);
}
$(".yearfilter").append(`<option>سال 1395 و ما قبل</option>`);
$(".last_statusfilter").on("change", function () {
data_select_sec = null;
array_hold = [];
array_hold_String = "";
array_hold_String_edited = "";
data_select_sec = $(".last_statusfilter").select2("data");
});
$(".typemehvar").on("change", function () {
array_hold_Axis_type = [];
data_select_Axis_type = null;
String_hold_Axis_type = "";
String_edited_Axis_type = "";
data_select_Axis_type = $(".typemehvar").select2("data");
// console.log(typeof data_select_Axis_type);
});
$(".yearfilter").on("change", function () {
arry_select2_date = null;
array_geted_date = [];
hold_Data_p1 = "";
pooriapo = null;
edited_end_date = null;
arry_select2_date = $(".yearfilter").select2("data");
});
$("#select-city1").on("change", function () {
hold_Data_city1 = null;
city1_array = [];
city1_String = "";
city1_String_edited = "";
hold_Data_city1 = $("#select-city1").select2("data");
});
$("#select-city2").on("change", function () {
hold_Data_city2 = null;
city2_array = [];
city2_String = "";
city2_String_edited = "";
hold_Data_city1 = $("#select-city1").select2("data");
});
$("#select-city3").on("change", function () {
hold_Data_city3;
city3_array = [];
city3_String = "";
city3_String_edited = "";
hold_Data_city1 = $("#select-city1").select2("data");
});
$("#select-province1").on("change", function () {
hold_Data_province1 = null;
hold_Data_province1 = $("#select-province1 option:selected").text();
console.log(typeof hold_Data_province1);
});
$("#select-province2").on("change", function () {
hold_Data_province2 = null;
hold_Data_province2 = $("#select-province2 option:selected").text();
});
$("#select-province3").on("change", function () {
hold_Data_province3 = null;
hold_Data_province3 = $("#select-province3 option:selected").text();
});
$("#btn_filter_show").on("click", function () {
if ($(".typemehvar").select2("data").length == 0) {
$("#example").DataTable().column(3).search("").draw();
}
if ($(".last_statusfilter").select2("data").length == 0) {
$("#example").DataTable().column(2).search("").draw();
}
var test = "|";
var hold_Data_p1 = "";
var pooriapo;
if (hold_Data_p1[hold_Data_p1.length - 1] === "|") {
edited_end_date = hold_Data_p1.slice(0, hold_Data_p1.length - 1);
}
if (edited_end_date) {
$("#example")
.DataTable()
.column(7)
.search(edited_end_date, true, false)
.draw();
}
if (
($("#select-province1").val() && $("#select-province1").val() != 0) ||
($("#select-province2").val() && $("#select-province2").val() != 0) ||
($("#select-province3").val() && $("#select-province3").val() != 0)
) {
$("#example")
.DataTable()
.column(1)
.search(
hold_Data_province1 +
test +
hold_Data_province2 +
test +
hold_Data_province3,
true,
false
)
.draw();
}
var farsamoner;
var farsamNum = 0;
if (city1_String_edited) {
farsamoner = city1_String_edited;
farsamNum++;
}
if (city2_String_edited) {
farsamNum != 0 ? (farsamoner += "|") : (farsamoner += "");
farsamoner += city2_String_edited;
farsamNum++;
}
if (city3_String_edited) {
farsamNum != 0 ? (farsamoner += "|") : (farsamoner += "");
farsamoner += city3_String_edited;
}
if (farsamoner) {
$("#example")
.DataTable()
.column(2)
.search(farsamoner, true, false)
.draw();
}
if (data_select_sec) {
for (let i = 0; i < data_select_sec.length; i++) {
array_hold.push(data_select_sec[i].text.trim());
}
for (var i = 0; i < array_hold.length; i++) {
array_hold_String += array_hold[i].concat("|");
}
if (array_hold_String[array_hold_String.length - 1] == "|") {
array_hold_String_edited = array_hold_String.slice(
0,
array_hold_String.length - 1
);
}
if (array_hold_String_edited) {
$("#example")
.DataTable()
.column(2)
.search(array_hold_String_edited, true, false)
.draw();
}
}
if (data_select_Axis_type) {
for (var i = 0; i < data_select_Axis_type.length; i++) {
array_hold_Axis_type.push(
data_select_Axis_type[i].text.trim().concat("|")
);
}
for (let i = 0; i < array_hold_Axis_type.length; i++) {
String_hold_Axis_type += array_hold_Axis_type[i];
}
if (String_hold_Axis_type[String_hold_Axis_type.length - 1] === "|") {
String_edited_Axis_type = String_hold_Axis_type.slice(
0,
String_hold_Axis_type.length - 1
);
}
if (String_edited_Axis_type) {
$("#example")
.DataTable()
.column(3)
.search(String_edited_Axis_type, true, false)
.draw();
}
}
});
},
});
});
function init_row_filter() {
$.ajax({
url: "https://rms.rmto.ir/public/contents/provinces",
type: "GET",
success: function (data) {
list_province = data.data;
for (let index = 0; index < list_province.length; index++) {
$(".js-example-basic-multiple").append(
"\
<option value=" +
list_province[index].id +
">" +
list_province[index].name_fa +
"</option>\
"
);
}
},
});
}
function init_data_filter1() {
let hold_idSelect = $("#select-province1").val();
console.log(hold_idSelect);
$.ajax({
url: "https://rms.rmto.ir/public/contents/provinces/" + hold_idSelect,
type: "GET",
success: function (data) {
list_citys = data.data;
//ppp
// $("#select-city1").val(0).trigger("change");
$("#select-city1").html("");
for (let index = 0; index < list_citys.length; index++) {
$("#select-city1").append(
"\
<option value=" +
list_citys[index].id +
">" +
list_citys[index].name_fa +
"</option>\
"
);
}
},
});
if ($("#select-province1").val() != 0) {
$(".btn-increase").prop("disabled", false);
}
$(".btn-increase").on("click", function () {
$("#append-input-forFilter2").removeClass("d-none");
});
}
function showLoaderScreen() {
$(".starter-loader-container").css("display", "flex").hide().fadeIn();
}
function hideLoaderScreen() {
$(".starter-loader-container").fadeOut();
}
$("#example").on("click", "button.updatejahesh", function () {
// $("#test").modal("show")
var tr = $(this).closest("tr");
var row = table.row(tr);
uiniqecode = row.data().project_unique_id;
console.log("jj", row.data())
showLoaderScreen()
let formData = new FormData();
formData.append("project_unique_id", uiniqecode);
$.ajax({
url: publish_url + "/api/bbindicators-by-uid",
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (result) {
console.log(result)
hideLoaderScreen()
showindicatormodal(result.data)
// $("#test").modal("hide")
// ajaxcalltablethird3()
},
error: function (error) {
hideLoaderScreen()
},
});
// lastvahed=row.data().project_count_done;
// mainvahed=row.data().project_accept_value;
// $("#project-distance-input-1-1").val(lastvahed);
// let tooltiptext =
// '<span class="tooltiptextstart" > واحد کل :' +
// row.data().project_accept_value +
// " <span> ";
// $(".tooltipstart1").append(tooltiptext);
// console.log("test" ,row.data() )
// $("#project-distance-input-1-1").attr("max",mainvahed);
// // idkol = row.data().id;
});
function showindicatormodal(data) {
totaldata = data
$(".second-round").empty()
$("#test").modal("show")
var test = "";
for (var i = 0; i < data.length; i++) {
if (data[i].project_accept_value != 0) {
test = test + `<div class="row" id="item1-data">
<div class="form-group col-md-6 distance-input tooltipstart${i}">
<label>${data[i].project_indicator_fa} <small>(مقدار انجام شده تاکنون)</small> <small id="kilo${i}" style="color: red;display: none;">مقدار باید از مقدار کل کمتر
باشد </small><small id="kilomin${i}" style="color: red;display: none;">از مقدار گذشته
نمیتواند کمتر شود </small></label>
<input type="number" class="form-control" name="axis-name" id="project-distance-input-1-${i}" min="0" />
</div>
<span class="progerssstate">درصد پیشرفت فیزیکی : <span class="progressnum">${data[i].project_progress} % </span><span>
</div>`
}
}
$(".second-round").append(test)
$(".second-round").append(` <hr />
<button type="button" class="btn btn-success float-left" id="add-update-button" onclick="formdata()">
ثبت و بروزرسانی
</button>`)
for (var i = 0; i < data.length; i++) {
console.log("#project-distance-input-1-" + i)
$("#project-distance-input-1-" + i).val(data[i].project_accept_done)
let tooltiptext =
'<span class="tooltiptextstart" > واحد کل :' +
data[i].project_accept_value +
" <span> ";
$(".tooltipstart" + i).append(tooltiptext);
let mainvahed = data[i].project_accept_value;
$("#project-distance-input-1-" + i).attr("max", mainvahed);
}
}
function formdata() {
console.log("hi", totaldata)
for (var i = 0; i < totaldata.length; i++) {
project_update_list[totaldata[i].id] = [];
if (($("#project-distance-input-1-" + i).val() >= totaldata[i].project_accept_done) && ($("#project-distance-input-1-" + i).val() <= totaldata[i].project_accept_value)) {
project_update_list[totaldata[i].id].push(
$("#project-distance-input-1-" + i).val()
);
}
else {
project_update_list[totaldata[i].id].push(
totaldata[i].project_accept_done
);
}
}
console.log("rr", project_update_list)
showLoaderScreen()
let formData = new FormData();
formData.append("id", JSON.stringify(project_update_list));
for (var pair of formData.entries()) {
console.log(pair[0] + ', ' + pair[1]);
}
$.ajax({
url: publish_url + "/api/bbindicators-update",
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
},
data: formData,
cache: false,
contentType: false,
processData: false,
success: function (result) {
console.log(result)
$("#test").modal("hide")
ajaxcalltablethird3()
},
error: function (error) {
$("#test").modal("hide")
ajaxcalltablethird3()
hideLoaderScreen()
// alert("hi")
},
});
}
$("#add-update-button").on('click', function () {
console.log("hi")
// $("#test").modal("hide")
// var lastnumber= $("#project-distance-input-1-1").val();
// if (lastnumber> mainvahed)
// {
// $("#kilo1").css('display' , 'block')
// }
// if (lastnumber < lastvahed) {
// $("#kilomin1").css('display' , 'block')
// }
// if ((lastnumber<= mainvahed) && (lastnumber >= lastvahed)) {
// // alert("ajax ")
// showLoaderScreen()
// let formData = new FormData();
// formData.append("project_unique_id", uiniqecode);
// $.ajax({
// url:publish_url+ "/api/bbindicators-by-uid",
// type: "POST",
// headers: {
// "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
// },
// data: formData,
// cache: false,
// contentType: false,
// processData: false,
// success: function (result) {
// console.log(result)
// // $("#test").modal("hide")
// // ajaxcalltablethird3()
// },
// error: function (error) {
// hideLoaderScreen()
// },
// });
// }
})
function ajaxcalltablethird3() {
$.ajax({
url:
"https://rms.rmto.ir/api/bbindicators",
type: "POST",
success: function (result) {
console.log(result.data);
$("#example").dataTable().fnClearTable();
$("#example").dataTable().fnAddData(result.data);
hideLoaderScreen();
},
});
}