Vezérlés csere hozzáadva

This commit is contained in:
Vincze József 2024-06-05 08:33:09 +02:00
parent 6dbec13946
commit e087af7294
14 changed files with 356 additions and 40 deletions

View File

@ -174,6 +174,50 @@ exports.apiOilChangeVehicle=asyncHandler(async (req,res) => {
} }
})*/ })*/
});
// Vezérléscsere
exports.apiTimingReplacementVehicle=asyncHandler(async (req,res) => {
const {timingReplacementLast, timingReplacementDate}=req.body;
// Get errors
if (isValidObjectId(req.params.id)==false)
{
//req.flash('error','Nem létező jármű');
res.status(400).send('Nem Létező Jármű!')
return;
}
/* if (!oilChangeDate._isAMomentObject)
{
res.status(400).send('Dátum hiba!')
return;
}*/
try{
await Vehicle.findByIdAndUpdate(req.params.id,
{$push:{timingReplacementLast:{
dateTime: Date.parse(timingReplacementDate),
kilometer:timingReplacementLast}
}
})
res.status(200).send('Sikeres rögzítés')
}
catch(e)
{
res.status(500).send(e.message)
}
/*Vehicle.findByIdAndUpdate(req.params.id,{
oilChangeLast: req.body.oilChangeLast
},function(err,docs){
if (err){
console.log(err)
}
else{
console.log("Updated Vehicle : ", docs);
console.log('Jármű sikeresen módosítva');
//res.redirect('/vehicles/view');
res.status(200).send('Sikeres rögzítés')
}
})*/
}); });
// JSON Legnagyobb érték a tömbben // JSON Legnagyobb érték a tömbben
function getTopN(arr, prop, n) { function getTopN(arr, prop, n) {

View File

@ -19,6 +19,13 @@ const vehicleSchema=new mongoose.Schema({
kilometer:{type: Number,require:true,default: 0}, kilometer:{type: Number,require:true,default: 0},
dateTime:{type: Date,require: true}, dateTime:{type: Date,require: true},
}], }],
// Vezérlés csere
timingReplacementInterval:{type: Number,require:true,default: 50000},
timingReplacementRemainingKm:{type: Number,require:true,default: 0},
timingReplacementLast:[{
kilometer:{type: Number,require:true,default: 0},
dateTime:{type: Date,require: true},
}],
/* service: [ /* service: [
{ {
dateTime_Start:{type: Date,require: true}, dateTime_Start:{type: Date,require: true},

View File

@ -26,4 +26,4 @@
margin-left: 5%; margin-left: 5%;
width: 90%; width: 90%;
} }

View File

@ -5,7 +5,7 @@ const moment = require('moment');
var utils = require('../js/utils'); var utils = require('../js/utils');
let Vehicle = require('../models/vehicle.js'); let Vehicle = require('../models/vehicle.js');
const fullCalendar=require('../node_modules/fullcalendar'); const fullCalendar=require('../node_modules/fullcalendar');
const { apiGetVehicles, apiRefuelingById, apiGetVehicle, apiUpdateVehicle, apiOilChangeVehicle, apiGetFueling, apiGetSettings, apiUpdateSettings } = require('../js/vehicleApi'); const { apiGetVehicles, apiRefuelingById, apiGetVehicle, apiUpdateVehicle, apiOilChangeVehicle, apiGetFueling, apiGetSettings, apiUpdateSettings, apiTimingReplacementVehicle } = require('../js/vehicleApi');
router.route('/api/getVehicles').get(apiGetVehicles); router.route('/api/getVehicles').get(apiGetVehicles);
@ -16,6 +16,7 @@ router.route('/api/updateVehicle/:id').post(apiUpdateVehicle);
router.route('/api/oilchangeVehicle/:id').post(apiOilChangeVehicle); router.route('/api/oilchangeVehicle/:id').post(apiOilChangeVehicle);
router.route('/api/settings/:keyName').get(apiGetSettings); router.route('/api/settings/:keyName').get(apiGetSettings);
router.route('/api/settings').post(apiUpdateSettings); router.route('/api/settings').post(apiUpdateSettings);
router.route('/api/timingReplacementVehicle/:id').post(apiTimingReplacementVehicle);
// Edit Vehicle // Edit Vehicle
router.get('/edit/:id', utils.ensureAuthenticated,function (req,res) { router.get('/edit/:id', utils.ensureAuthenticated,function (req,res) {
Vehicle.findById(req.params.id, function(err,vehicle) Vehicle.findById(req.params.id, function(err,vehicle)

View File

@ -1,4 +1,4 @@
#fuelingModal.modal(tabindex='-1', role='dialog', aria-labelledby='fuelingModalLabel', aria-hidden='true') #fuelingModal.fade.modal(tabindex='-1', role='dialog', aria-labelledby='fuelingModalLabel', aria-hidden='true')
//-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/') //-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/')
.modal-dialog(role='document', style='width:1000px;') .modal-dialog(role='document', style='width:1000px;')
.modal-content .modal-content

View File

@ -8,8 +8,8 @@
//-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/') //-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/')
.modal-dialog(role='document', style='width:720px') .modal-dialog(role='document', style='width:720px')
.modal-content .modal-content
.modal-header#oilChangeHeader.bg-primary(style="background: Primary") .modal-header#mapModalHeader.bg-primary(style="background: Primary")
h4#vehicleId.modal-title A h4#vehicleIdMap.modal-title Arc
.modal-body(style='background-color:#4f5b69') .modal-body(style='background-color:#4f5b69')
.container(style='width:100%;') .container(style='width:100%;')
#darktable.container #darktable.container
@ -23,15 +23,16 @@
//script(src='https://unpkg.com/lightpick@latest/lightpick.js') //script(src='https://unpkg.com/lightpick@latest/lightpick.js')
script. script.
//- Olajcsere modal //- Trackinginfo modal
$('#mapModal').on('show.bs.modal', function () { $(document).on('show.bs.modal','#mapModal', function () {
console.log('modal')
$(this).find('form').trigger('reset'); $(this).find('form').trigger('reset');
var getIdFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-id')//$(event.target).closest('tr').data('id'); var getIdFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-id')//$(event.target).closest('tr').data('id');
var getVidFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-vid');//$(event.target).closest('tr').data('vid'); var getVidFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-vid');//$(event.target).closest('tr').data('vid');
var getVnameFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-name');//$(event.target).closest('tr').data('name'); var getVnameFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-name');//$(event.target).closest('tr').data('name');
$('#vehicleId').val(getIdFromRow); $('#vehicleIdMap').val(getIdFromRow);
//-$("#fuelingHeader").html(getIdFromRow); //-$("#fuelingHeader").html(getIdFromRow);
$(this).find('#vehicleId').html($('<b> Olaj csere: '+ getVnameFromRow + '</b> <b style="float:right">'+getVidFromRow+'</b>' )) $(this).find('#vehicleIdMap').html($('<b> Olaj csere: '+ getVnameFromRow + '</b> <b style="float:right">'+getVidFromRow+'</b>' ))
$.get('/vehicles/api/getVehicle/'+getIdFromRow,function(data) $.get('/vehicles/api/getVehicle/'+getIdFromRow,function(data)
{ {
console.log(data.name) console.log(data.name)

View File

@ -1,5 +1,5 @@
link(rel='stylesheet', type='text/css', href='https://unpkg.com/lightpick@latest/css/lightpick.css') link(rel='stylesheet', type='text/css', href='https://unpkg.com/lightpick@latest/css/lightpick.css')
#oilChangeModal.modal(tabindex='-1', #oilChangeModal.fade.modal(tabindex='-1',
role='dialog', role='dialog',
aria-labelledby='oilChangeModalLabel', aria-labelledby='oilChangeModalLabel',
aria-hidden='true', aria-hidden='true',
@ -9,7 +9,7 @@ link(rel='stylesheet', type='text/css', href='https://unpkg.com/lightpick@latest
.modal-dialog(role='document', style='width:720px') .modal-dialog(role='document', style='width:720px')
.modal-content .modal-content
.modal-header#oilChangeHeader.bg-primary(style="background: Primary") .modal-header#oilChangeHeader.bg-primary(style="background: Primary")
h4#vehicleId.modal-title A h4#vehicleId.modal-title Olaj csere időpontok
.modal-body(style='background-color:#4f5b69') .modal-body(style='background-color:#4f5b69')
.container(style='width:100%;') .container(style='width:100%;')
#darktable.container #darktable.container
@ -32,14 +32,16 @@ link(rel='stylesheet', type='text/css', href='https://unpkg.com/lightpick@latest
button.btn.btn-primary(type='button', data-dismiss='modal') button.btn.btn-primary(type='button', data-dismiss='modal')
i.fa.fa-arrow-left i.fa.fa-arrow-left
| | Bezár | | Bezár
button.btn.btn-primary(data-toggle='modal',data-target='#oilChangeNewModal',style='width:40px;',type='button') button.btn.btn-primary(data-toggle='modal',data-dismiss='modal',data-target='#oilChangeNewModal',style='width:40px;',type='button')
i.fa.fa-tint i.fa.fa-tint
script(type='text/javascript', src='/bower_components/moment/min/moment.min.js') //-script(src='/bower_components/jquery/dist/jquery.js')
script(src='https://unpkg.com/lightpick@latest/lightpick.js') //-script(type='text/javascript', src='/bower_components/moment/min/moment.min.js')
//-script(src='https://unpkg.com/lightpick@latest/lightpick.js')
script. script.
$(document).ready(function() { $(document).on('show.bs.modal','#oilChangeModal', function () {
// Generate Table // Generate Table
var createOilChangeTable=function (data){ var createOilChangeTable=function (data){
var sum=0; var sum=0;
var consumption=0; var consumption=0;
@ -57,7 +59,8 @@ script.
} }
} }
//- Olajcsere modal //- Olajcsere modal
$('#oilChangeModal').on('show.bs.modal', function () { // $('#oilChangeModal').on('show.bs.modal', function () {
$(this).find('form').trigger('reset'); $(this).find('form').trigger('reset');
var getIdFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-id')//$(event.target).closest('tr').data('id'); var getIdFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-id')//$(event.target).closest('tr').data('id');
var getVidFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-vid');//$(event.target).closest('tr').data('vid'); var getVidFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-vid');//$(event.target).closest('tr').data('vid');
@ -71,7 +74,12 @@ script.
$('#oilChangeLast').val(data.oilChangeLast); $('#oilChangeLast').val(data.oilChangeLast);
}) })
}) // })
})
$(document).ready(
function() {
} }
);

View File

@ -1,5 +1,5 @@
link(rel='stylesheet', type='text/css', href='https://unpkg.com/lightpick@latest/css/lightpick.css') link(rel='stylesheet', type='text/css', href='https://unpkg.com/lightpick@latest/css/lightpick.css')
#oilChangeNewModal.modal(tabindex='-1', #oilChangeNewModal.fade.modal(tabindex='-1',
role='dialog', role='dialog',
aria-labelledby='oilChangeModalLabel', aria-labelledby='oilChangeModalLabel',
aria-hidden='true', aria-hidden='true',
@ -119,7 +119,7 @@ script.
$.get('/vehicles/api/getVehicles',function(data) $.get('/vehicles/api/getVehicles',function(data)
{ {
data.forEach((element)=>{ data.forEach((element)=>{
console.log(element.vehicle_id+' '+element.name) //console.log(element.vehicle_id+' '+element.name)
$('#select-vehicle').append('<option value="'+element._id+'">'+element.vehicle_id+' '+element.name+'</option>'); $('#select-vehicle').append('<option value="'+element._id+'">'+element.vehicle_id+' '+element.name+'</option>');
}) })
} }

View File

@ -1,4 +1,4 @@
#settingsModal.modal(tabindex='-1', role='dialog', aria-labelledby='settingsModalLabel', aria-hidden='true') #settingsModal.fade.modal(tabindex='-1', role='dialog', aria-labelledby='settingsModalLabel', aria-hidden='true')
//-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/') //-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/')
.modal-dialog(role='document', style='width:1000px') .modal-dialog(role='document', style='width:1000px')
.modal-content .modal-content

View File

@ -0,0 +1,143 @@
link(rel='stylesheet', type='text/css', href='https://unpkg.com/lightpick@latest/css/lightpick.css')
#timingReplacementNewModal.fade.modal(tabindex='-1',
role='dialog',
aria-labelledby='timingReplacementModalLabel',
aria-hidden='true',
)
//-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/')
.modal-dialog(role='document', style='width:720px')
.modal-content
.modal-header#timingReplacementHeader.bg-primary(style="background: Primary")
h4#vehicleIdoc.modal-title Vezérlés csere felvitele
.modal-body(style='background-color:#4f5b69')
.container(style='width:100%;')
.form-group
label.form-label(for='timingReplacementPicker',style='color:white') Vezérlés csere időpontja
.input-group
input.form-control(id='timingReplacementPicker',required,placeholder='Vezérlés csere időpontja',name='timingReplacementPicker',type=text, tabindex='2',readonly,style='background-color:#c9ddfc;')
span.input-group-addon
span.glyphicon.glyphicon-calendar
br
.row
.col-sm-6
.form-group
input#vehicleIdTR.form-control(name='vehicleIdTR',type=text,readonly,required, style='display:none;')
label.form-label(for='select-vehicleTR',style='color:white') Rendszám
select#select-vehicleTR.form-control(required,data-live-search='true')
option.selected.disabled(data-tokens='') Válasszon járművet
.col-sm-6
.form-group
label.form-label(for='select-vehicleTR',style='color:white') Kilométeróra állás
.input-group
span.input-group-addon.transparent
span.glyphicon.glyphicon-dashboard
input#timingReplacementKilometer.form-control(name="timingReplacementKilometer" placeholder='Óra állás olajcsere után' min=0 type='number')
p.help-block.hidden Please enter a name 3 characters or more.
.modal-footer(style="background-color: #2C3446")
button.btn.btn-primary(type='button', data-dismiss='modal')
i.fa.fa-arrow-left
| | Bezár
button#timingReplacementSave.btn.btn-primary(type='button' )
i.fa.fa-save
| | Mentés
//script(src='/bower_components/jquery/dist/jquery.js')
script(type='text/javascript', src='/bower_components/moment/min/moment.min.js')
script(src='https://unpkg.com/lightpick@latest/lightpick.js')
script.
$(document).ready(
function() {
//- Vezérlés csere modal
$('#timingReplacementNewModal').on('show.bs.modal', function () {
$('#timingReplaceModal').modal().hide();
var getIdFromRow = $('#vehicleIdTR').val()
if (getIdFromRow) // Ha kaptunk Id-t Kiválasztjuk a listából!
{
$.get('/vehicles/api/getVehicle/'+getIdFromRow,function(data)
{
$('#vehicleIdoc').html($('<b> Olaj csere: '+ data.name + '</b> <b style="float:right">'+data.vehicle_id+'</b>' ))
$('#select-vehicleTR').val(getIdFromRow);
$('#select-vehicleTR').attr('disabled',true)
})
}
else
{
$('#select-vehicleTR').attr('disabled',false)
}
$(this).find('form').trigger('reset');
$(this).find('#vehicleIdoc').html($('<b>Vezérlés csere hozzáadás</b> <b style="float:right">'+'</b>' ))
//- Mentés
})
$( "#timingReplacementSave" ).click(function() {
event.preventDefault();
//-validate name
var th=$(this);
var timingReplacementKilometer = $('#timingReplacementKilometer').val();
var timingReplacementLast=$('#timingReplacementLast').val();
var timingReplacementDate=pickerTR.getDate();
const editId = $('#select-vehicleTR').val();
if (timingReplacementKilometer.length < 4) {
return showErrorSuccess($('#timingReplacementKilometer'), false, 'Legalláb 4 karakter!');
}
if (timingReplacementKilometer<=timingReplacementLast) {
return showErrorSuccess($('#timingReplacementKilometer'), false, 'Az olajcsere óra állása nem lehet kisebb, mint az előző!');
}
//- disable button
$(this).prop("disabled", true);
//- add spinner to button
$(this).html('<i class="fa fa-circle-o-notch fa-spin"></i> Várjon!');
showErrorSuccess($('#timingReplacementKilometer'));
$.post( "/vehicles/api/timingReplacementVehicle/"+editId, { timingReplacementLast:timingReplacementKilometer,timingReplacementDate:timingReplacementDate.toISOString()})
.done(function( data ) {
// disable button
th.prop("disabled", false);
// add spinner to buttoni.fa.fa-save
th.html('<i class="fa fa-save"></i> Mentés');
$('.modal-backdrop').remove()
$('#timingReplacementNewModal').hide();
}).fail(function(xhr,status,error){
alert( "Hiba: " + xhr.responseText );
// disable button
th.prop("disabled", false);
// add spinner to buttoni.fa.fa-save
th.html('<i class="fa fa-save"></i> Mentés');
})
});
$('#select-vehicleTR').empty();
$('#select-vehicleTR').on('change',function() {
var id=$(this).val();
$.get('/vehicles/api/getVehicle/'+id,function(data)
{
$('#vehicleIdoc').html($('<b> Olaj csere: '+ data.name + '</b> <b style="float:right">'+data.vehicle_id+'</b>' ))
})
});
$('#select-vehicleTR').append('<option selected disabled data-tokens=""'+'"> Válasszon járművet</option>');
$.get('/vehicles/api/getVehicles',function(data)
{
data.forEach((element)=>{
//console.log(element.vehicle_id+' '+element.name)
$('#select-vehicleTR').append('<option value="'+element._id+'">'+element.vehicle_id+' '+element.name+'</option>');
})
}
)
var pickerTR = new Lightpick({ field: document.getElementById('timingReplacementPicker'),
singleDate: true,
inline: false,
//numberOfColumns: 2,
//numberOfMonths: 4,
format: 'YYYY.MM.DD',
disableWeekends: false,
maxDate: moment(),
//maxDays: remaining,
//disableDates: [['21.09.2020', '22.09.2020'], ['24.09.2020', '25.09.2020']],
});
})

View File

@ -0,0 +1,85 @@
link(rel='stylesheet', type='text/css', href='https://unpkg.com/lightpick@latest/css/lightpick.css')
#timingReplaceModal.fade.modal(tabindex='-1',
role='dialog',
aria-labelledby='timingReplaceModalLabel',
aria-hidden='true',
)
//-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/')
.modal-dialog(role='document', style='width:720px')
.modal-content
.modal-header#timingReplaceHeader.bg-primary(style="background: Primary")
h4#vehicleId.modal-title Olaj csere időpontok
.modal-body(style='background-color:#4f5b69')
.container(style='width:100%;')
#darktable.container
table#timingReplaceTable(style='width:100%;')
col(width='2%')
col(width='10%')
col(width='10%')
thead
tr
th
h1(style='text-align:right') #
th
h1(style='text-align:center') Időpont
th
h1(style='text-align:center') Kilométer óra állás
tbody
.modal-footer(style="background-color: #2C3446")
button.btn.btn-primary(type='button', data-dismiss='modal')
i.fa.fa-arrow-left
| | Bezár
button.btn.btn-primary(data-toggle='modal',data-dismiss='modal',data-target='#timingReplacementNewModal',style='width:40px;',type='button')
i.fa.fa-cogs
//-script(src='/bower_components/jquery/dist/jquery.js')
//-script(type='text/javascript', src='/bower_components/moment/min/moment.min.js')
//-script(src='https://unpkg.com/lightpick@latest/lightpick.js')
script.
$(document).on('show.bs.modal','#timingReplaceModal', function () {
// Generate Table
var createtimingReplaceTable=function (data){
var sum=0;
var consumption=0;
$('#timingReplaceTable > tbody').empty();
if (data)
{
$.each(data.timingReplacementLast,function(i,el){
var newRow=$('<tr class="clickable-row" id='+el._id+' data-href=/employee/detailstemp/'+el._id+'>"'+//);
'<td style="text-align:right">'+(i+1)+'</td>'+
'<td style="text-align:center">'+moment(el.dateTime).format("YYYY.MM.DD")+'</td>'+
'<td style="text-align:center">'+el.kilometer.toLocaleString('hu-HU')+' km'+'</td>'+
'</tr>');
$('#timingReplaceTable > tbody:last-child').append (newRow);
})
}
}
//- Olajcsere modal
// $('#timingReplaceModal').on('show.bs.modal', function () {
$(this).find('form').trigger('reset');
var getIdFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-id')//$(event.target).closest('tr').data('id');
var getVidFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-vid');//$(event.target).closest('tr').data('vid');
var getVnameFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-name');//$(event.target).closest('tr').data('name');
$('#vehicleId').val(getIdFromRow);
//-$("#fuelingHeader").html(getIdFromRow);
$(this).find('#vehicleId').html($('<b> Olaj csere: '+ getVnameFromRow + '</b> <b style="float:right">'+getVidFromRow+'</b>' ))
$.get('/vehicles/api/getVehicle/'+getIdFromRow,function(data)
{
createtimingReplaceTable(data)
$('#timingReplaceLast').val(data.timingReplacementLast);
})
// })
})
$(document).ready(
function() {
}
);

View File

@ -22,6 +22,7 @@ block content
display:inline-block; display:inline-block;
} }
include Modals/modal_oilChangeNew include Modals/modal_oilChangeNew
include Modals/modal_timingReplacementNew
#refuelModal.modal(tabindex='-1', role='dialog', aria-labelledby='refuelModalLabel', aria-hidden='true') #refuelModal.modal(tabindex='-1', role='dialog', aria-labelledby='refuelModalLabel', aria-hidden='true')
form(method='POST',id='refuelForm' data-toggle="validator" role="form" action='/vehicles/api/refueling/') form(method='POST',id='refuelForm' data-toggle="validator" role="form" action='/vehicles/api/refueling/')
.modal-dialog(role='document', style='width:620px') .modal-dialog(role='document', style='width:620px')
@ -81,8 +82,10 @@ block content
a.btn.btn-primary.col-sm-1(type='button',href='/gantt',value='Idővonal') Idővonal a.btn.btn-primary.col-sm-1(type='button',href='/gantt',value='Idővonal') Idővonal
a.btn.btn-warning.col-sm-1(type='button',href='#',data-toggle='modal', data-target='#refuelModal') Tankolás a.btn.btn-warning.col-sm-1(type='button',href='#',data-toggle='modal', data-target='#refuelModal') Tankolás
button.btn.btn-primary(data-toggle='modal',data-target='#oilChangeNewModal',style='width:40px;',type='button') button.btn.btn-primary(data-toggle='modal',data-target='#oilChangeNewModal',title='Olajcsere felvitele',style='width:40px;',type='button')
i.fa.fa-tint i.fa.fa-tint
button.btn.btn-primary(data-toggle='modal',data-target='#timingReplacementNewModal',title='Vezérlés csere',style='width:40px;',type='button')
i.fa.fa-cogs
a.btn.btn-primary.col-sm-1(id='print',name='print',type='button') a.btn.btn-primary.col-sm-1(id='print',name='print',type='button')
span.glyphicon.glyphicon-print(aria-hidden='true') span.glyphicon.glyphicon-print(aria-hidden='true')
| Nyomtat | Nyomtat
@ -229,6 +232,16 @@ block content
$('#refuelModal').on('shown', function () { $('#refuelModal').on('shown', function () {
$(this).find('form').trigger('reset'); $(this).find('form').trigger('reset');
}) })
var showErrorSuccess = function(element, status, message) {
if (status === false) {
element.next().removeClass('hidden')//.parent().addClass('has-error');
element.parent().addClass('has-error');
element.parent().next().text(message)
return false;
}
element.next().addClass('hidden')//.parent().removeClass('has-error').addClass('has-success');
element.parent().removeClass('has-error');
};
$(function () { $(function () {
//$('#refuelForm').validator() //$('#refuelForm').validator()
$('#select-country').on('click',function() { $('#select-country').on('click',function() {

View File

@ -6,30 +6,33 @@ html
script(src='/bower_components/bootstrap/dist/js/bootstrap.js') script(src='/bower_components/bootstrap/dist/js/bootstrap.js')
link(rel='stylesheet' href='/bower_components/bootstrap/dist/css/bootstrap.css') link(rel='stylesheet' href='/bower_components/bootstrap/dist/css/bootstrap.css')
//link(rel='stylesheet', href='https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css', integrity='sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO', crossorigin='anonymous') //-link(rel='stylesheet', href='https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css', integrity='sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO', crossorigin='anonymous')
link(href='//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css', rel='stylesheet') link(href='//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css', rel='stylesheet')
//script(type='text/javascript', src='/bower_components/jquery/dist/jquery.min.js') //-script(type='text/javascript', src='/bower_components/jquery/dist/jquery.min.js')
link(rel='stylesheet', href='/bower_components/bootstrap/dist/css/bootstrap.min.css') link(rel='stylesheet', href='/bower_components/bootstrap/dist/css/bootstrap.min.css')
link(rel='stylesheet', href='/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css') link(rel='stylesheet', href='/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css')
link(rel='stylesheet', href='//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css') link(rel='stylesheet', href='//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css')
//script(src='https://code.jquery.com/jquery-3.3.1.slim.min.js', integrity='sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo', crossorigin='anonymous') //-script(src='https://code.jquery.com/jquery-3.3.1.slim.min.js', integrity='sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo', crossorigin='anonymous')
script(src='https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js', integrity='sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49', crossorigin='anonymous') script(src='https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js', integrity='sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49', crossorigin='anonymous')
//script(src='https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js', integrity='sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy', crossorigin='anonymous') //-script(src='https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js', integrity='sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy', crossorigin='anonymous')
//link(rel='stylesheet' href='/css/style.css') //-link(rel='stylesheet' href='/css/style.css')
//link(rel='stylesheet' href='/css/switch.css') //-link(rel='stylesheet' href='/css/switch.css')
//link(rel='stylesheet' href='/css/switchsmall.css') //-link(rel='stylesheet' href='/css/switchsmall.css')
//link(rel='stylesheet' href='/css/checkmark.css') //-link(rel='stylesheet' href='/css/checkmark.css')
link(rel='stylesheet' href='/css/table.css') link(rel='stylesheet' href='/css/table.css')
link(rel='stylesheet', href='/css/sidebar.css') link(rel='stylesheet', href='/css/sidebar.css')
link(rel='stylesheet' href='/bower_components/jquery-typeahead/dist/jquery.typeahead.min.css') link(rel='stylesheet' href='/bower_components/jquery-typeahead/dist/jquery.typeahead.min.css')
link(rel='stylesheet' href='/css/darktable.css') link(rel='stylesheet' href='/css/darktable.css')
//link(rel='stylesheet' href='/css/infopanel.css') //-link(rel='stylesheet' href='/css/infopanel.css')
style. style.
div.a { div.a {
text-indent: 50px; text-indent: 50px;
} }
.modal-body {
max-height:600px;
overflow-y: auto;
}
body body
nav.nav-side-menu nav.nav-side-menu
@ -81,7 +84,7 @@ html
hr hr
footer footer
p(style='margin-left:10px;') IO-Technic Hungary Copyright &copy; 2018 p(style='margin-left:10px;') IO-Technic Hungary Copyright &copy; 2018
//#picsa //-#picsa
script(type='text/javascript',src='/bower_components/jquery/dist/jquery.js') script(type='text/javascript',src='/bower_components/jquery/dist/jquery.js')
script(type='text/javascript',src='/js/datepicker.js') script(type='text/javascript',src='/js/datepicker.js')
@ -90,10 +93,10 @@ script(type='text/javascript',src='/js/datepicker.js')
script(src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js') script(src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js')
script(type='text/javascript', src='/bower_components/moment/min/moment.min.js') script(type='text/javascript', src='/bower_components/moment/min/moment.min.js')
script(src='/bower_components/moment/min/moment-with-locales.js') script(src='/bower_components/moment/min/moment-with-locales.js')
//script(type='text/javascript', src='/bower_components/bootstrap/dist/js/bootstrap.min.js') //-script(type='text/javascript', src='/bower_components/bootstrap/dist/js/bootstrap.min.js')
script(type='text/javascript', src='/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js') script(type='text/javascript', src='/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js')
//script(type='text/javascript',src='/js/invoice.js') //-script(type='text/javascript',src='/js/invoice.js')
//script(type='text/javascript',src='/js/datepicker.js') //-script(type='text/javascript',src='/js/datepicker.js')
script(src='https://cdn.jsdelivr.net/npm/fullcalendar/index.global.min.js') script(src='https://cdn.jsdelivr.net/npm/fullcalendar/index.global.min.js')
script(type='text/javascript',src='/build/pdfmake.js') script(type='text/javascript',src='/build/pdfmake.js')

View File

@ -22,7 +22,9 @@ block content
include Modals/modal_oilChange include Modals/modal_oilChange
include Modals/modal_oilChangeNew include Modals/modal_oilChangeNew
include Modals/modal_map include Modals/modal_map
#vehicleModal.modal(tabindex='-1', role='dialog', aria-labelledby='vehicleModalLabel', aria-hidden='true') include Modals/modal_timingReplacementNew
include Modals/modal_timingReplacements
#vehicleModal.fade.modal(tabindex='-1', role='dialog', aria-labelledby='vehicleModalLabel', aria-hidden='true')
//-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/') //-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/')
.modal-dialog(role='document', style='width:720px') .modal-dialog(role='document', style='width:720px')
.modal-content .modal-content
@ -38,7 +40,7 @@ block content
//-button.btn.btn-primary(type='submit') Rendben //-button.btn.btn-primary(type='submit') Rendben
#vehicleEditModal.modal(tabindex='-1', role='dialog', aria-labelledby='vehicleEditModalLabel', aria-hidden='true') #vehicleEditModal.fade.modal(tabindex='-1', role='dialog', aria-labelledby='vehicleEditModalLabel', aria-hidden='true')
//-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/') //-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/')
.modal-dialog(role='document', style='width:720px') .modal-dialog(role='document', style='width:720px')
.modal-content .modal-content
@ -93,12 +95,13 @@ block content
#darktable.container #darktable.container
table#vehicleTable(style='width:100%;') table#vehicleTable(style='width:100%;')
col(width='5%') col(width='5%')
col(width='20%') col(width='15%')
col(width='8%') col(width='8%')
col(width='10%') col(width='10%')
col(width='6%') col(width='6%')
col(width='6%') col(width='6%')
col(width='6%') col(width='6%')
col(width='6%')
col(width='8%') col(width='8%')
col(width='auto') col(width='auto')
col(width='8%') col(width='8%')
@ -119,6 +122,8 @@ block content
h1(style='text-align:center') Tankolások h1(style='text-align:center') Tankolások
th th
h1(style='text-align:center') Olajcsere h1(style='text-align:center') Olajcsere
th
h1(style='text-align:center') Vezérlés
th th
h1(style='text-align:center') Esedékes Olajcsere h1(style='text-align:center') Esedékes Olajcsere
th th
@ -145,6 +150,9 @@ block content
td(style='text-align:center') td(style='text-align:center')
button.btn.btn-primary(data-id=vehicle._id, data-vid=vehicle.vehicle_id,data-name=vehicle.name,data-toggle='modal', data-target='#oilChangeModal',style='width:40px;',type='button') button.btn.btn-primary(data-id=vehicle._id, data-vid=vehicle.vehicle_id,data-name=vehicle.name,data-toggle='modal', data-target='#oilChangeModal',style='width:40px;',type='button')
i.fa.fa-tint i.fa.fa-tint
td(style='text-align:center')
button.btn.btn-primary(data-id=vehicle._id, data-vid=vehicle.vehicle_id,data-name=vehicle.name,data-toggle='modal', data-target='#timingReplaceModal',style='width:40px;',type='button')
i.fa.fa-cogs
td(style='text-align:center') #{vehicle.oilChangeRemainingKm} km td(style='text-align:center') #{vehicle.oilChangeRemainingKm} km
if (vehicle.lastCity.length>0) if (vehicle.lastCity.length>0)
td(style='text-align:center; font-size: 12px') #{lastPos=vehicle.lastCity.at(-1).city} #{moment(vehicle.lastCity.at(-1).timestamp).format("YYYY.MM.DD HH:mm")} td(style='text-align:center; font-size: 12px') #{lastPos=vehicle.lastCity.at(-1).city} #{moment(vehicle.lastCity.at(-1).timestamp).format("YYYY.MM.DD HH:mm")}
@ -153,7 +161,7 @@ block content
td(style='text-align:center') td(style='text-align:center')
button.btn.btn-success(data-id=vehicle._id, data-vid=vehicle.vehicle_id,data-name=vehicle.name,data-toggle='modal', data-target='#vehicleEditModal',style='width:40px;',type='button') button.btn.btn-success(data-id=vehicle._id, data-vid=vehicle.vehicle_id,data-name=vehicle.name,data-toggle='modal', data-target='#vehicleEditModal',style='width:40px;',type='button')
i.fa.fa-edit i.fa.fa-edit
//script(type='text/javascript', src='/bower_components/bootstrap-toggle/js/bootstrap-toggle.min.js') //-script(type='text/javascript', src='/bower_components/bootstrap-toggle/js/bootstrap-toggle.min.js')
script(src='https://cdn.jsdelivr.net/gh/gitbrent/bootstrap-switch-button@1.1.0/dist/bootstrap-switch-button.min.js') script(src='https://cdn.jsdelivr.net/gh/gitbrent/bootstrap-switch-button@1.1.0/dist/bootstrap-switch-button.min.js')
script. script.
@ -213,7 +221,10 @@ block content
}*/ }*/
// Szerkesztés modal // Szerkesztés modal
$('#vehicleEditModal').on('show.bs.modal', function () { $(document).on('show.bs.modal','#vehicleEditModal', function () {
//$('#vehicleEditModal').on('show.bs.modal', function () {
console.log('PICSA!');
//$(document).on('show.bs.modal','#vehicleEditModal', function () {
var getIdFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-id')//$(event.target).closest('tr').data('id'); var getIdFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-id')//$(event.target).closest('tr').data('id');
var getVidFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-vid');//$(event.target).closest('tr').data('vid'); var getVidFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-vid');//$(event.target).closest('tr').data('vid');
var getVnameFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-name');//$(event.target).closest('tr').data('name'); var getVnameFromRow = $(event)[0].currentTarget.activeElement.getAttribute('data-name');//$(event.target).closest('tr').data('name');