home/autoph/public_html/connectv1/dist/js.bak/service/form.js 0000644 00000040074 15031273706 0020263 0 ustar 00 var modal_reset = false;
var upload_image_name = [];
var has_sales_record = false;
function initVehicle() {
$(document).ready(function () {
// photoDropzoneListener();
// hasSalesRecordListener();
initSelect2();
initDatePicker();
addRowBrandsOffered();
// onModalCLose();
onSaveButtonClick();
});
switch(location_source){
case 'service':
resetModal();
$('#modal-vehicle').modal('show');
$('.vehicle-modal-overlay').hide();
break;
case 'service_view':
resetModal();
$('#modal-vehicle').modal('show');
readServiceInformation();
break;
}
}
function addServiceHistoryItem() {
var service_history_list = document.getElementById('brands-offered-list');
const service_history_list_base = document.querySelector('#brands-offered-list-clone tbody tr');
var fields = [];
service_history_list.appendChild(service_history_list_base.cloneNode(true));
var IdDateNow = Date.now();
var field_one = 'field_one_' + IdDateNow;
var field_two = 'field_two_' + IdDateNow;
var field_three = 'field_three_' + IdDateNow;
var field_four = 'field_four_' + IdDateNow;
var field_five = 'field_five_' + IdDateNow;
fields[0] = (field_one);
fields[1] = (field_two);
fields[2] = (field_three);
fields[3] = (field_four);
fields[4] = (field_five);
$('#field_one').attr('id', field_one);
$('#field_two').attr('id', field_two);
$('#field_three').attr('id', field_three);
$('#field_four').attr('id', field_four);
$('#field_five').attr('id', field_five);
return fields;
// CREATE ROW
}
function readServiceInformation(){
$.ajax({
url: "api/service/servicev2.php",
method: "GET",
dataType: 'json',
data: {
apiKey: 'READ_SERVICE_INFORMATION',
service_id: record_id
},
beforeSend: function() {
$('#proceed-button-vehicle').attr('disabled', true);
$('.vehicle-modal-overlay').show();
},
success: function(result) {
var count_delay = 0;
$.each(result, function(i, n) {
if (i == 'service_dms_id' && n != 0) {
var newOption = new Option(result.service_dms_name,n, true,
true);
$("#mod-dd-dms").append(newOption).trigger('change');
} else if (i == 'service_company_id' && n != 0) {
var newOption = new Option(result.service_company_code + ' - '+result.service_company_name,n, true,
true);
$("#mod-dd-company").append(newOption).trigger('change');
} else if (i == 'service_dealer_id' && n != 0) {
var newOption = new Option(result.service_dealer_code + ' - '+result.service_dealer_name,n, true,
true);
$("#mod-dd-dealer").append(newOption).trigger('change');
} else {
$("#" + i).val(n);
$("#" + i).trigger('change')
}
count_delay++;
});
$.each(result.history, function(key, value) {
setTimeout(function() {
var serviceHistoryItem = addServiceHistoryItem();
$('#' + serviceHistoryItem[0]).val(value.job_code);
$('#' + serviceHistoryItem[1]).val(value.problem_cause);
$('#' + serviceHistoryItem[2]).val(value.correction);
$('#' + serviceHistoryItem[3]).val(value.job_summary);
$('#' + serviceHistoryItem[4]).val(value.amount);
}, 1000);
});
$('.vehicle-modal-overlay').hide();
$('#proceed-button-vehicle').attr('disabled', false);
},
error: function(xhr, status, error) {
sweetAlertSimple('error', 'Oops...', 'Error has occurred, Try again...');
$('#proceed-button-vehicle').attr('disabled', false);
$('.vehicle-modal-overlay').hide();
}
});
}
function resetModal(){
addVehicleModalTabSelectedTab(1);
$("#service-history-table > tbody").empty();
}
function initDatePicker(){
$('#service_ro_date').datetimepicker({
format: 'L'
});
$('#service_start_date').datetimepicker({
format: 'L'
});
$('#service_end_date').datetimepicker({
format: 'L'
});
$('#mod-finance-exp-date').datetimepicker({
format: 'L'
});
$('[data-mask]').inputmask()
}
function initSelect2(){
$('#mod-dd-dms').select2({
placeholder: "Select DMS",
allowClear: true
});
$('#mod-dd-company').select2({
placeholder: "Select Company",
allowClear: true,
"language": {
"noResults": function() {
return 'Select DMS first'
}
},
escapeMarkup: function(markup) {
return markup;
},
ajax: {
url: "api/company/company.php",
dataType: 'json',
delay: 250,
data: function(data) {
return {
search: data.term, // search term
dms_id: $('#mod-dd-dms').val(),
apiKey: '3568127986733141'
};
},
processResults: function(response) {
return {
results: response
};
},
cache: true
}
});
$('#mod-dd-dealer').select2({
placeholder: "Select Dealer",
allowClear: true,
"language": {
"noResults": function() {
return 'Search or enter dealer name'
}
},
escapeMarkup: function(markup) {
return markup;
},
ajax: {
url: 'api/dealer/dealer.php',
dataType: 'json',
delay: 250,
data: function(data) {
return {
apiKey: '6209267133015033',
company_id: $('#mod-dd-company').val(),
search: data.term // search term
};
},
processResults: function(response) {
return {
results: response
};
},
cache: true
}
});
$('#mod-dd-dms').on('change', function(event) {
$('#mod-dd-company').val('').trigger('change')
});
$('#mod-dd-company').on('change', function(event) {
$('#mod-dd-dealer').val('').trigger('change')
});
}
function addRowBrandsOffered() {
$('#addRowVehicleOffered').click(function() {
if (!checkIfBrandsOfferedIncomplete() && $('#service-history-table tbody tr').length > 0) {
sweetAlertSimple('error', 'Oops...', 'Complete service history item details first.');
} else {
addServiceHistoryItem();
}
});
$("#brands-offered-list").on("click", ".btnRemove", function() {
$(this).closest("tr").remove();
});
}
function checkIfBrandsOfferedIncomplete() {
var brandsOfferedJsonRow = getAllServiceHistoryTableData();
var hasMatch = true;
for (var index = 0; index < brandsOfferedJsonRow.length; ++index) {
var brandsOfferedJson = brandsOfferedJsonRow[index];
if (isEmpty(brandsOfferedJson.Job_Code) && isEmpty(brandsOfferedJson.Cause) && isEmpty(brandsOfferedJson.Correction) && isEmpty(brandsOfferedJson.Job_Summary) && isEmpty(brandsOfferedJson.Amount) ) {
hasMatch = false;
break;
}
}
return hasMatch;
}
function getAllServiceHistoryTableData() {
var $table = $("#service-history-table")
rows = [],
header = [];
$table.find("thead th").each(function() {
header.push($(this).html().replace(/\s/g, '_').replace(/\./g, ''));
});
$table.find("tbody tr").each(function() {
var row = {};
$(this).find("td").each(function(i) {
// console.log($(this).find('input'));
var key = header[i];
value = $(this).find('input').val();
// if(isEmpty(value)){
// value = $(this).find('select').val();
// if(isEmpty(value)){
// value = '';
// }
// }
row[key] = value;
});
rows.push(row);
});
return rows;
}
function addVehicleModalTabSelectedTab(type) {
$('#vehicle-modal-tab .nav-link').removeClass('active');
$('#vehicle-modal-tab-content .tab-pane').removeClass('show');
$('#vehicle-modal-tab-content .tab-pane').removeClass('active');
switch (type) {
case 1:
$('#vehicle-service-modal-tab-information').addClass('active')
$('#vehicle-service-modal-information').addClass('active')
$('#vehicle-service-modal-information').addClass('show')
break;
case 2:
$('#vehicle-modal-tab-service-picture').addClass('active')
$('#vehicle-modal-service-picture').addClass('active')
$('#vehicle-modal-service-picture').addClass('show')
break;
}
}
function onSaveButtonClick() {
$('#proceed-button-vehicle').on('click',function(evt) {
// console.log(getAllServiceHistoryTableData())
if (isEmpty($('#service_plate').val()) && isEmpty($('#service_cs').val())) {
addVehicleModalTabSelectedTab(1);
$('#service_plate').focus();
sweetAlertSimple('error', 'Oops...', 'Vehicle plate or cs is required.');
return;
}
if(isEmpty($('#service_ro_number').val())) {
addVehicleModalTabSelectedTab(1);
$('#service_ro_number').focus();
sweetAlertSimple('error', 'Oops...', 'RO no. is required.');
return;
}
if(isEmpty($('#service_ro_date').val())) {
addVehicleModalTabSelectedTab(1);
$('#service_ro_date').focus();
sweetAlertSimple('error', 'Oops...', 'RO date is required.');
return;
}
if(isEmpty($('#service_start_date').val())) {
addVehicleModalTabSelectedTab(1);
$('#service_start_date').focus();
sweetAlertSimple('error', 'Oops...', 'Start service date is required.');
return;
}
if(isEmpty($('#service_end_date').val())) {
addVehicleModalTabSelectedTab(1);
$('#service_end_date').focus();
sweetAlertSimple('error', 'Oops...', 'End service date is required.');
return;
}
if ($('#mod-dd-dms').val() == "" || $('#mod-dd-dms').val() == null) {
addVehicleModalTabSelectedTab(1);
$('#mod-dd-dms').focus();
$('#mod-dd-dms').select2('open');
sweetAlertSimple('error', 'Oops...', 'DMS is required.');
return;
}
if ($('#mod-dd-company').val() == "" || $('#mod-dd-company').val() == null) {
addVehicleModalTabSelectedTab(1);
$('#mod-dd-company').focus();
$('#mod-dd-company').select2('open');
sweetAlertSimple('error', 'Oops...', 'Company is required.');
return;
}
if ($('#mod-dd-dealer').val() == "" || $('#mod-dd-dealer').val() == null) {
addVehicleModalTabSelectedTab(1);
$('#mod-dd-dealer').focus();
$('#mod-dd-dealer').select2('open');
sweetAlertSimple('error', 'Oops...', 'Dealer is required.');
return;
}
// var apiKey = '4eb37a867a5811eca04200ff70631b9a'; //new
// if (!new_record_data) {
// apiKey = '5674926d7a5811eca04200ff70631b9a'; //update
// }
if (isEmpty(record_id)) {
service_id = '0';
}else{
service_id = record_id;
}
var $element = $("[json-modal-service]");
upload_video_json_data = generate_json(
'json-modal-service',
$element);
// alert(upload_video_json_data)
// // console.log(getAllServiceHistoryTableData())
// return false;
$.ajax({
url: "api/service/servicev2.php",
method: 'POST',
dataType: 'json',
data: {
apiKey: '4eb37a867a5811eca04200ff70631b9a',
service_id: service_id,
new_record_data : new_record_data,
service_header: upload_video_json_data,
service_history: getAllServiceHistoryTableData()
},
beforeSend: function() {
$('#proceed-button-vehicle').attr('disabled', true);
$('.customer-modal-overlay').show();
},
success: function(result) {
$('#proceed-button-vehicle').attr('disabled', false);
$('.customer-modal-overlay').hide();
if (result.status == 0) {
sweetAlertSimple('error', 'Error', result.message);
} else if (result.status == 1) {
sweetAlertSimple('success', 'Success', result.message);
$('#modal-vehicle').modal('hide');
switch(location_source){
case 'service':
refreshTable();
break;
case 'service_view':
readVehicleServiceDetailsMain(record_id);
break;
}
} else if (result.status == 2) { //duplicate cs number
addVehicleModalTabSelectedTab(1);
$('#service_ro_number').focus();
sweetAlertSimple('error', 'Duplicate', result.message);
} else if (result.status == 4) { //duplicate plate number
addVehicleModalTabSelectedTab(1);
$('#mod-plate-number').focus();
sweetAlertSimple('error', 'Duplicate', result.message);
} else if (result.status == 5) { //duplicate vin
addVehicleModalTabSelectedTab(1);
$('#mod-vin-number').focus();
sweetAlertSimple('error', 'Duplicate', result.message);
} else if (result.status == 6) { //duplicate serial number
addVehicleModalTabSelectedTab(1);
$('#mod-serial-number').focus();
sweetAlertSimple('error', 'Duplicate', result.message);
}
},
error: function(xhr, status, error) {
//hide loader
sweetAlertSimple('error', 'Oops...', 'Error has occurred, Try again...');
$('#proceed-button-vehicle').attr('disabled', false);
$('#proceed-button-sale').attr('disabled', false);
$('.vehicle-modal-overlay').hide();
}
});
});
}