WorkReport hozzáadás működik
This commit is contained in:
parent
159c6824f5
commit
0beb80773a
9
app.js
9
app.js
|
|
@ -24,7 +24,7 @@ var PdfPrinter=require('pdfmake');
|
|||
//const util = require('util');
|
||||
//var currentWorkNumber=0;
|
||||
const { XMLParser, XMLBuilder, XMLValidator} = require("fast-xml-parser/src/fxp");
|
||||
//var apkUpdater = require('apk-updater');
|
||||
const { apiSaveReport, apiGetReport, apiGetReportList, apiGetUsers } = require('./js/workReport.js');
|
||||
|
||||
const fss = require('fs');
|
||||
global.currentWorkNumber=0;
|
||||
|
|
@ -1870,6 +1870,10 @@ app.get('/media/:file', function(req, res) {
|
|||
|
||||
|
||||
});
|
||||
app.route('/workreport').post(apiSaveReport);
|
||||
app.route('/workreportUserList').get(apiGetUsers);
|
||||
app.route('/workreport/:id').get(apiGetReport);
|
||||
app.route('/workreportList/:id').get(apiGetReportList);
|
||||
|
||||
// Route Files
|
||||
app.locals.moment = require('moment');
|
||||
|
|
@ -1899,6 +1903,7 @@ const { date } = require('jszip/lib/defaults');
|
|||
const { apiGetWorkList, apiGetEmployeeList, apiGetDailyReport, apiEmployee, apiGetAllReport, apiCheckDevice, apiRegisterDevice,apiRequestAPIkey, apiGetQRCode,apiGetWorkState } = require('./js/androidApi');
|
||||
const { string } = require('jszip/lib/support');
|
||||
const { generateXML } = require('./js/enaploGen');
|
||||
|
||||
app.use('/devicesrfid', devices_rfid);
|
||||
app.use('/vehicles', vehicles);
|
||||
app.use('/gantt', gantt);
|
||||
|
|
@ -1919,6 +1924,8 @@ app.use('/certificates_mc',certificates_mc);
|
|||
app.use('/components',components);
|
||||
app.use('/components_base',components_base);
|
||||
app.use('/quotes',quotes);
|
||||
// Kábel mérési jegyzőkönyv
|
||||
|
||||
//apkUpdater.enable(app, '/anyUpdateServerRoute');
|
||||
/*
|
||||
app.delete('/devices/:id',utils.ensureAuthenticated,function(req,res){
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -98,7 +98,7 @@ const CM_Fetch_WorkNumbers=async()=>
|
|||
foundWork.body!=element.Megjegyzes ||
|
||||
foundWork.poNumber!=element.KulsoRendSzam ||
|
||||
foundWork.megrendelo!=element.SzamlNev ||
|
||||
foundWork.workNumber!=element.Szovertek ||
|
||||
// foundWork.workNumber!=element.Szovertek ||
|
||||
foundWork.cmRendAzonosito!=element.RendAzon)
|
||||
{
|
||||
if (element.ID==foundWork.cmId)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,154 @@
|
|||
let KabelCert = require('../models/kabelcert');
|
||||
const asyncHandler = require('express-async-handler');
|
||||
const moment = require('moment');
|
||||
|
||||
exports.apiSaveKabelCert=asyncHandler(async (req,res)=>{
|
||||
const {megrendelo, id, wn,targy, tipus,userid, keresztmetszet, feszultseg, hossz, nyomvonal }=req.body;
|
||||
const kabelcert = new KabelCert({
|
||||
deviceId: id,
|
||||
author: userid,
|
||||
jkvTitle: targy,
|
||||
megrendelo: megrendelo,
|
||||
hossz:hossz,
|
||||
tipus: tipus,
|
||||
munkaszam: wn,
|
||||
feszultseg: feszultseg,
|
||||
nyomvonal: nyomvonal,
|
||||
keresztmetszet: keresztmetszet
|
||||
|
||||
})
|
||||
await kabelcert.save();
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
res.send({'response':'ok','message':'Sikeresen létrehozva!','id':id});
|
||||
});
|
||||
|
||||
exports.apiEditKabelCert=asyncHandler(async (req,res)=>{
|
||||
const {megrendelo, id, modify, wn,targy, tipus,userid, keresztmetszet, feszultseg, hossz, nyomvonal }=req.body;
|
||||
const kabelcert = {
|
||||
//deviceId: id,
|
||||
//author: userid,
|
||||
jkvTitle: targy,
|
||||
megrendelo: megrendelo,
|
||||
hossz:hossz,
|
||||
tipus: tipus,
|
||||
//munkaszam: wn,
|
||||
feszultseg: feszultseg,
|
||||
nyomvonal: nyomvonal,
|
||||
keresztmetszet: keresztmetszet
|
||||
}
|
||||
await KabelCert.findByIdAndUpdate(modify,kabelcert)
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
res.send({'response':'ok','message':'Sikeresen létrehozva!','id':id});
|
||||
});
|
||||
|
||||
exports.apiGetKabelCerts=asyncHandler(async (req,res)=>{
|
||||
const { id }=req.params;
|
||||
const certs = //await KabelCert.find({'deviceId':id})
|
||||
await KabelCert.aggregate([
|
||||
|
||||
{
|
||||
"$match": { "deviceId": "674ec583ac87012afa6d5897" }
|
||||
},
|
||||
{
|
||||
$lookup: {
|
||||
from: "users",
|
||||
localField: "author",
|
||||
foreignField: "_id",
|
||||
as: "user",
|
||||
}
|
||||
},
|
||||
|
||||
{ "$unwind": "$user" },
|
||||
/*{ "$project": {
|
||||
|
||||
"user.name": 1,
|
||||
}
|
||||
}*/
|
||||
])
|
||||
res.status(200).send(certs);
|
||||
});
|
||||
|
||||
exports.apiDeleteKabelCerts=asyncHandler(async (req,res,next)=>{
|
||||
const { id }=req.params;
|
||||
|
||||
const result= await KabelCert.deleteOne({_id:id})
|
||||
if (!result)
|
||||
{
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
res.send({'response':'Fail','message':'Művelet sikertelen!'});
|
||||
}
|
||||
else
|
||||
{
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
res.send({'response':'ok','message':'Sikeresen törölve!'});
|
||||
}
|
||||
});
|
||||
|
||||
exports.apiGenerateKabelCert=asyncHandler(async(req,res,next)=>{
|
||||
const { id }=req.params;
|
||||
const cert=await KabelCert.findById(id);
|
||||
if (!cert)
|
||||
{
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
res.send({'response':'Fail','message':'Művelet sikertelen!'});
|
||||
return;
|
||||
}
|
||||
var deviceDate= new Date().toISOString().replace(/-/g, '.').substring(0,10);
|
||||
const PizZip = require("pizzip");
|
||||
var Docxtemplater = require('docxtemplater');
|
||||
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
|
||||
//Load the docx file as a binary
|
||||
var content = fs
|
||||
.readFileSync(__dirname+'/../docs/templates/kof/kof_kabelvizsgalat.docx', 'binary');
|
||||
|
||||
const zip = new PizZip(content);
|
||||
var doc = new Docxtemplater();
|
||||
doc.loadZip(zip);
|
||||
var year=new Date().getFullYear();
|
||||
|
||||
//set the templateVariables
|
||||
var gyev=cert.gyariszam.substring(0,4);
|
||||
//console.log('Megvan!');
|
||||
doc.setData({
|
||||
jkvszam: 1,
|
||||
megrendelo: cert.megrendelo,
|
||||
datum:moment().format("YYYY.MM.DD"),
|
||||
vizsgalattargya: cert.targy,
|
||||
tipus:cert.tipus,
|
||||
keresztmetszet:cert.keresztmetszet,
|
||||
feszultseg: cert.feszultseg,
|
||||
hossz:cert.hossz,
|
||||
|
||||
});
|
||||
|
||||
|
||||
try {
|
||||
// render the document (replace all occurences of {first_name} by John, {last_name} by Doe, ...)
|
||||
//console.log('Generálás kész!');
|
||||
doc.render();
|
||||
|
||||
}
|
||||
catch (error) {
|
||||
var e = {
|
||||
message: error.message,
|
||||
name: error.name,
|
||||
stack: error.stack,
|
||||
properties: error.properties,
|
||||
}
|
||||
console.log(JSON.stringify({error: e}));
|
||||
// The error thrown here contains additional information when logged with JSON.stringify (it contains a property object).
|
||||
throw error;
|
||||
}
|
||||
|
||||
var buf = doc.getZip()
|
||||
.generate({type: 'nodebuffer'});
|
||||
//logging.logAppend("Jegyzőkönyv módosítva.",req.user,kofmb.id,KifCert.db.name,'CERTEDIT');
|
||||
fs.writeFileSync(__dirname+'/../docs/kabelcert.docx', buf);
|
||||
//req.flash('success','Berendezés sikeresen hozzáadva');
|
||||
res.download(path.normalize(__dirname+'/../docs/kabelcert.docx'),'KÖF_Kabel_szigetelesvizsgalat.docx');
|
||||
|
||||
|
||||
})
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
let WorkReport = require('../models/workReportModel');
|
||||
let Employee = require('../models/employee');
|
||||
const asyncHandler = require('express-async-handler');
|
||||
var mongoose = require('mongoose');
|
||||
const moment = require('moment');
|
||||
|
||||
exports.apiSaveReport=asyncHandler(async (req,res)=>{
|
||||
const {workId,foremanId,date, workTitle,employeeList }=req.body;
|
||||
const workReport = new WorkReport({
|
||||
workId: mongoose.Types.ObjectId(workId),
|
||||
date:new Date(date),
|
||||
foremanId: mongoose.Types.ObjectId(foremanId),
|
||||
workTitle: workTitle,
|
||||
employeeList: employeeList
|
||||
|
||||
})
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
try{
|
||||
await workReport.save();
|
||||
res.send({'response':'ok','message':'Sikeresen létrehozva!'});
|
||||
}catch(err){
|
||||
|
||||
res.status(500).json({'response':'fail','message':'Hiba a mentésnél !\n'+err.message});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
exports.apiGetReport=asyncHandler(async (req,res)=>{
|
||||
//const {workId,foremanId, workTitle,employeeList }=req.body;
|
||||
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
try{
|
||||
const reports=await WorkReport.find({workId: mongoose.Types.ObjectId(req.params.id)})
|
||||
res.send({'response':'ok','reports':reports});
|
||||
}catch(err){
|
||||
|
||||
res.status(500).json({'response':'fail','message':'Hiba a mentésnél !\n'+err.message});
|
||||
}
|
||||
|
||||
});
|
||||
// Felhasználói adatok
|
||||
exports.apiGetUsers=asyncHandler(async (req,res)=>{
|
||||
//const {workId,foremanId, workTitle,employeeList }=req.body;
|
||||
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
try{
|
||||
const users=await Employee.find({'konyvelesre': 'on'},{_id:1,name:1},{sort: {name: 1}})
|
||||
res.send({'response':'ok','users':users});
|
||||
}catch(err){
|
||||
|
||||
res.status(500).json({'response':'fail','message':'Hiba a mentésnél !\n'+err.message});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
exports.apiGetReportList=asyncHandler(async (req,res)=>{
|
||||
//const {workId,foremanId, workTitle,employeeList }=req.body;
|
||||
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
try{
|
||||
const reports=await WorkReport.aggregate([
|
||||
|
||||
{$match: {"workId": mongoose.Types.ObjectId(req.params.id)}},
|
||||
{
|
||||
$lookup:
|
||||
{
|
||||
from: "employees",
|
||||
localField: "employeeList.employeeId",
|
||||
foreignField: "_id",
|
||||
as: "employee"
|
||||
},
|
||||
},
|
||||
/* {
|
||||
$unwind: "$employee"
|
||||
},*/
|
||||
/* {
|
||||
$unwind: "$employeeList"
|
||||
},*/
|
||||
{$group: { _id:{
|
||||
'wf': '$employeeList.workFlow',
|
||||
'wid': '$_id',
|
||||
'name': '$employee.name',
|
||||
},
|
||||
'id':{$first: '$_id'},
|
||||
'date':{$first:'$date'},
|
||||
'name': {$first:'$employee.name'},
|
||||
'workFlow':{$first: '$employeeList.workFlow'},
|
||||
},
|
||||
},
|
||||
{
|
||||
// cleanup
|
||||
$project: {
|
||||
_id: false,
|
||||
}
|
||||
}
|
||||
])
|
||||
var wof=[];
|
||||
reports.forEach(element => {
|
||||
const curDate=moment(element.date).format("YYYY.MM.DD");
|
||||
var wdays=wof.find(e=>e.date===curDate);
|
||||
var items=[]
|
||||
if (wdays) //ha már van ilyen nap
|
||||
{
|
||||
items=[]
|
||||
element.name.forEach((elem,idx)=>{
|
||||
wdays.items.push({name:elem,workFlow:element.workFlow[idx]})
|
||||
})
|
||||
// wdays.items.push(items)
|
||||
}
|
||||
else
|
||||
{
|
||||
items=[]
|
||||
element.name.forEach((elem,idx)=>{
|
||||
items.push({name:elem,workFlow:element.workFlow[idx]})
|
||||
})
|
||||
var day={date:curDate,items:items}
|
||||
wof.push(day)
|
||||
}
|
||||
});
|
||||
res.send({'response':'ok','reports':wof});
|
||||
}catch(err){
|
||||
|
||||
res.status(500).json({'response':'fail','message':'Hiba a lekérdezésnél !\n'+err.message});
|
||||
}
|
||||
|
||||
});
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
let mongoose = require('mongoose');
|
||||
|
||||
var CounterSchema = mongoose.Schema({
|
||||
name: {type: String, required: true},
|
||||
seq: { type: Number, default: 0 }
|
||||
});
|
||||
var counter = mongoose.model('counter', CounterSchema);
|
||||
|
||||
// KifCert Schema
|
||||
let kabelCertSchema = mongoose.Schema({
|
||||
|
||||
// Jegyzőkönyv azonosító
|
||||
deviceId:{
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
// Létrehozás dátuma
|
||||
bornDate:{
|
||||
type: Date,
|
||||
require: true
|
||||
},
|
||||
// Létrehozó
|
||||
author:{
|
||||
type: mongoose.Schema.Types.ObjectId,
|
||||
require: true
|
||||
},
|
||||
// Jegyzőkönyv neve
|
||||
jkvTitle:{
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
// Megrendelő
|
||||
megrendelo:{
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
// Hossz
|
||||
hossz:{
|
||||
type: Number,
|
||||
require: true
|
||||
},
|
||||
// Típus
|
||||
tipus:{//
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
// Munka szam
|
||||
munkaszam:{//
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
// Gyartasi szam
|
||||
gyariszam:{//
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
// Névleges feszültség
|
||||
feszultseg:{
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
// Keresztmetszet
|
||||
keresztmetszet:{
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
// Védettség
|
||||
nyomvonal:{
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
kabelCertSchema.pre('save', function(next) {
|
||||
var doc = this;
|
||||
var year = new Date().getFullYear().toString().slice(-2);
|
||||
|
||||
counter.findOneAndUpdate({name: 'kabelcert'}, {$inc: { seq: 1} },{ new: true, upsert: true }, function(error, counter) {
|
||||
if(error)
|
||||
return next(error);
|
||||
const padded = (counter.seq + "").padStart(3, "0");
|
||||
doc.gyariszam = 'KL/'+padded+'/'+year;
|
||||
next();
|
||||
});
|
||||
});
|
||||
var KabelCert = module.exports = mongoose.model('KabelCert',kabelCertSchema);
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
let mongoose = require('mongoose');
|
||||
|
||||
let workReportSchema = mongoose.Schema({
|
||||
// Napi jelentés
|
||||
workId:{type: mongoose.Schema.Types.ObjectId},
|
||||
date: {type: Date},
|
||||
foremanId: {type: String},
|
||||
workTitle: {type: String},
|
||||
employeeList:[{
|
||||
employeeId:{type: mongoose.Schema.Types.ObjectId},
|
||||
workFlow: {type: String},
|
||||
}]
|
||||
|
||||
})
|
||||
|
||||
let WorkReport = module.exports = mongoose.model('WorkReport', workReportSchema);
|
||||
|
|
@ -77,6 +77,7 @@ let workSchema = mongoose.Schema({
|
|||
workTitle: {type: String},
|
||||
employeeList:[{type: mongoose.Schema.Types.ObjectId}]
|
||||
}],
|
||||
|
||||
//devicesArray: ['Article']
|
||||
devicesArray: [{type: mongoose.Schema.Types.ObjectId}]
|
||||
});
|
||||
|
|
|
|||
|
|
@ -13,3 +13,6 @@ table.mystyle{
|
|||
background-color: #dddddd;
|
||||
}
|
||||
}
|
||||
.table-clickable tbody tr {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
|
@ -11,7 +11,7 @@ $(document).ready(function(){
|
|||
const id = $target.attr('data-id');
|
||||
$.ajax({
|
||||
type: 'DELETE',
|
||||
url: '/articles/A/'+id,
|
||||
url: '/delete/articles/A/'+id,
|
||||
success: function(response){
|
||||
alert('Deleting Article');
|
||||
window.location.href='/';
|
||||
|
|
@ -30,7 +30,7 @@ $(document).ready(function(){
|
|||
const fp = $target.attr('file-path');
|
||||
$.ajax({
|
||||
type: 'DELETE',
|
||||
url: '/articles/F/'+fn,
|
||||
url: '/delete/articles/F/'+fn,
|
||||
success: function(response){
|
||||
alert('Deleting Article');
|
||||
window.location.href='/';
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@ var mv = require('mv');
|
|||
var ad=false;
|
||||
var Encoder = require("code-128-encoder");
|
||||
var Jimp = require("jimp");
|
||||
const { apiSaveKabelCert, apiGetKabelCerts, apiDeleteKabelCerts, apiEditKabelCert, apiGenerateKabelCert } = require('../js/kabelCertApi');
|
||||
|
||||
|
||||
var idCounter=0;
|
||||
|
||||
|
|
@ -101,7 +103,7 @@ Article.findOneAndRemove({_id: id}, function(err){
|
|||
});*/
|
||||
|
||||
// Delete Article
|
||||
router.delete('/:mode/:id', function(req, res){
|
||||
router.delete('delete/:mode/:id', function(req, res){
|
||||
/* if(!req.user._id){
|
||||
res.status(500).send();
|
||||
}*/
|
||||
|
|
@ -136,6 +138,12 @@ router.delete('/:mode/:id', function(req, res){
|
|||
}
|
||||
});
|
||||
|
||||
router.route('/deletekabelcerts/:id').delete(apiDeleteKabelCerts);
|
||||
// Kábel mérési jegyzőkönyv
|
||||
router.route('/savekabelcerts').post(apiSaveKabelCert);
|
||||
router.route('/modifykabelcerts').post(apiEditKabelCert);
|
||||
router.route('/generatecert/:id').get(apiGenerateKabelCert);
|
||||
router.route('/getkabelcerts/:id').get(apiGetKabelCerts);
|
||||
|
||||
// Storage file name to id
|
||||
var storage = multer.diskStorage({
|
||||
|
|
@ -619,6 +627,7 @@ router.get('/:id/:wid',utils.ensureAuthenticated,function(req,res){
|
|||
|
||||
Article.findById(req.params.id,function(err,article)
|
||||
{
|
||||
if (!article) return;
|
||||
User.findById(article.author, function(err,user){
|
||||
var wid=req.params.wid;
|
||||
const testFolder = '/'+article.filePath;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,170 @@
|
|||
#jkvkabelModal.modal(tabindex='-1', role='dialog', aria-labelledby='jkvkabelModalLabel')
|
||||
//-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/')
|
||||
.modal-dialog(role='document', style='width:1000px;')
|
||||
.modal-content
|
||||
.modal-header#jkvkabelHeader.bg-primary(style="background: Primary")
|
||||
h4#headertitle
|
||||
|
||||
.modal-body(style='background-color:#5f6b79')
|
||||
|
||||
form#kabelform
|
||||
#form-group
|
||||
input#wn(name='wn',style='display:none')
|
||||
input#userid(name='userid',style='display:none', value=user._id)
|
||||
input#id(name='id',style='display:none')
|
||||
input#modify(name='modify',style='display:none')
|
||||
.row
|
||||
.col-sm-12
|
||||
label(for="megrendelo",style='color: white') Megrendelő:
|
||||
input.form-control(id='megrendelo', name='megrendelo', required, minlength="6", type=text, autofocus, readonly=false,style='')
|
||||
hr
|
||||
.row
|
||||
.col-sm-12
|
||||
label(for="targy",style='color: white') A vizsgálat tárgya:
|
||||
input.form-control(id='targy',name='targy', required, minlength="6",type=text, autofocus, readonly=false,style='')
|
||||
hr
|
||||
.row
|
||||
.col-sm-3
|
||||
label(for="tipus",style='color: white') Típus:
|
||||
input.form-control(id='tipus', name='tipus', required, minlength="6",type=text, autofocus, readonly=false,style='')
|
||||
.col-sm-2
|
||||
label(for="keresztmetszet",style='color: white') Keresztmetszet:
|
||||
input.form-control(id='keresztmetszet', name='keresztmetszet', required, minlength="6",type=text, autofocus, readonly=false,style='')
|
||||
.col-sm-3
|
||||
label(for="feszultseg",style='color: white') Névleges feszültség:
|
||||
select.form-control(id='feszultseg', name='feszultseg',required,data-live-search='true')
|
||||
option.selected.disabled(data-tokens='') Válasszon!
|
||||
option(value='10') 6/10kV
|
||||
option(value='20') 12/20kV
|
||||
option(value='30') 18/30kV
|
||||
option(value='36') 20/36kV
|
||||
.col-sm-2
|
||||
label(for="hossz",style='color: white') Hossz:
|
||||
input.form-control(id='hossz',name='hossz', required, minlength="1",type=text, autofocus, readonly=false,style='')
|
||||
br
|
||||
.row
|
||||
.col-sm-12
|
||||
label(style='color: white') Lefektetés helye:
|
||||
input.form-control(id='nyomvonal',name='nyomvonal',type=text, autofocus, readonly=false,style='')
|
||||
br
|
||||
button#submit.btn.btn-primary(type='submit' ) Rendben
|
||||
.modal-footer(style="background-color: #2C3446")
|
||||
|
||||
|
||||
|
||||
button#fmodalClose.btn.btn-primary(type='button', data-dismiss='modal') Bezár
|
||||
|
||||
script(src='/bower_components/jquery/dist/jquery.min.js')
|
||||
//-script(src='/bower_components/bootstrap-validator/dist/validator.min.js')
|
||||
script.
|
||||
|
||||
$(document).on('show.bs.modal','#jkvkabelModal', function () {
|
||||
const form = document.getElementById('kabelform');
|
||||
form.reset();
|
||||
var articletitle = $(event)[0].currentTarget.activeElement.getAttribute('data-title')
|
||||
var megrendelo = $(event)[0].currentTarget.activeElement.getAttribute('data-megrendelo')
|
||||
var tipus = $(event)[0].currentTarget.activeElement.getAttribute('data-tipus')
|
||||
var keresztmetszet = $(event)[0].currentTarget.activeElement.getAttribute('data-keresztmetszet')
|
||||
var hossz = $(event)[0].currentTarget.activeElement.getAttribute('data-hossz')
|
||||
var nyomvonal = $(event)[0].currentTarget.activeElement.getAttribute('data-nyomvonal')
|
||||
var feszultseg = $(event)[0].currentTarget.activeElement.getAttribute('data-feszultseg')
|
||||
//var modify = $(event)[0].currentTarget.activeElement.getAttribute('data-modify')
|
||||
var title = $(event)[0].currentTarget.activeElement.getAttribute('data-headertitle')
|
||||
var articleNumber = $(event)[0].currentTarget.activeElement.getAttribute('data-sn')
|
||||
var articleWorkNumber = $(event)[0].currentTarget.activeElement.getAttribute('data-wn')
|
||||
var articleId = $(event)[0].currentTarget.activeElement.getAttribute('data-aid')
|
||||
var editId = $(event)[0].currentTarget.activeElement.getAttribute('data-id')
|
||||
$('#targy').val(articletitle);
|
||||
$('#headertitle').text(title);
|
||||
$('#id').val(articleId);
|
||||
$('#wn').val(articleWorkNumber);
|
||||
console.log(modify)
|
||||
if (megrendelo)
|
||||
{
|
||||
$('#megrendelo').val(megrendelo);
|
||||
}
|
||||
if (tipus)
|
||||
{
|
||||
$('#tipus').val(tipus);
|
||||
}
|
||||
if (keresztmetszet)
|
||||
{
|
||||
$('#keresztmetszet').val(keresztmetszet);
|
||||
}
|
||||
if (hossz)
|
||||
{
|
||||
$('#hossz').val(hossz);
|
||||
}
|
||||
if (nyomvonal)
|
||||
{
|
||||
$('#nyomvonal').val(nyomvonal);
|
||||
}
|
||||
if (feszultseg)
|
||||
{
|
||||
$('#feszultseg').val(feszultseg);
|
||||
}
|
||||
$('#modify').val(editId);
|
||||
})
|
||||
|
||||
const form = document.getElementById('kabelform');
|
||||
//form.validator().on('submit', async function (e) {
|
||||
form.addEventListener('submit', async event => {
|
||||
event.preventDefault();
|
||||
const formData = new FormData(form);
|
||||
const plainFormData = Object.fromEntries(formData.entries());
|
||||
const formDataJsonString = JSON.stringify(plainFormData);
|
||||
|
||||
var url='/articles/savekabelcerts'
|
||||
if (plainFormData.modify)
|
||||
{
|
||||
url='/articles/modifykabelcerts'
|
||||
}
|
||||
const response = await fetch(url, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: formDataJsonString
|
||||
});
|
||||
|
||||
const data = await response.json();
|
||||
|
||||
if (!response.ok)
|
||||
{
|
||||
Swal.fire('Error', '', 'error')
|
||||
}
|
||||
if (data.response="OK")
|
||||
{
|
||||
Swal.fire({
|
||||
position: "top-end",
|
||||
icon: "success",
|
||||
title: data.message,
|
||||
showConfirmButton: false,
|
||||
timer: 1500,
|
||||
backdrop: false
|
||||
});
|
||||
refreshCerts(data.id)
|
||||
} else
|
||||
{
|
||||
Swal.fire({
|
||||
position: "top-end",
|
||||
icon: "error",
|
||||
title: data.message,
|
||||
showConfirmButton: false,
|
||||
timer: 1500,
|
||||
backdrop: false
|
||||
});
|
||||
}
|
||||
$('#jkvkabelModal').modal('hide');//.modal('toggle');
|
||||
$('.modal').removeClass('in');
|
||||
$('.modal').attr("aria-hidden","true");
|
||||
$('.modal').css("display", "none");
|
||||
$('.modal-backdrop').remove();
|
||||
$('body').removeClass('modal-open');
|
||||
$('.modal-backdrop').remove()
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
|
||||
});
|
||||
|
|
@ -0,0 +1,231 @@
|
|||
#workReportModal.modal(tabindex='-1', role='dialog', aria-labelledby='workReportModalLabel')
|
||||
//-form(method='GET',id='holidayForm' action='/employee/holidays_byperson/')
|
||||
style(type="text/css").
|
||||
.aaa:active,
|
||||
.aaa.active {
|
||||
background: red !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
.modal-dialog(role='document', style='width:1000px;')
|
||||
.modal-content
|
||||
.modal-header#workReportHeader.bg-primary(style="background: Primary")
|
||||
h4#headertitle
|
||||
|
||||
.modal-body(style='background-color:#5f6b79')
|
||||
|
||||
form#kabelform
|
||||
#form-group
|
||||
input#wn1(name='wn1',style='display:none')
|
||||
input#userid(name='userid',style='display:none', value=user._id)
|
||||
input#id(name='id',style='display:none')
|
||||
input#modify(name='modify',style='display:none')
|
||||
.row
|
||||
.col-sm-12
|
||||
input(id='datepicker',style='display:none', type=text)
|
||||
hr
|
||||
.row
|
||||
.col-sm-12
|
||||
label(for="workFlow",style='color: white') Munka leírása:
|
||||
input.form-control(id='workFlow', name='workFlow', required, minlength="6",type=text, autofocus, readonly=false,style='')
|
||||
br
|
||||
.row
|
||||
.col-sm-12
|
||||
#buttons(style="margin: 10px;")
|
||||
|
||||
h4#arc
|
||||
br
|
||||
//button#submit.btn.btn-primary(type='submit' ) Rendben
|
||||
button#sendData.btn.btn-primary(type='button') Rendben
|
||||
.modal-footer(style="background-color: #2C3446")
|
||||
|
||||
|
||||
|
||||
button#fmodalClose.btn.btn-primary(type='button', data-dismiss='modal') Bezár
|
||||
|
||||
script(src='/bower_components/jquery/dist/jquery.min.js')
|
||||
//-script(src='/bower_components/bootstrap-validator/dist/validator.min.js')
|
||||
script.
|
||||
|
||||
var workers=[]
|
||||
|
||||
const form = document.getElementById('kabelform');
|
||||
function handleClick(identifier) {
|
||||
const state=$(identifier).hasClass('active');
|
||||
//const d=JSON.parse(decodeURIComponent($(identifier).data('item')))
|
||||
const d=$(identifier).data('id')
|
||||
if (!state)
|
||||
{
|
||||
workers.push({employeeId:d,workFlow:""});
|
||||
}
|
||||
else
|
||||
{
|
||||
workers=workers.filter(obj=>obj._id!==d._id);
|
||||
}
|
||||
// alert("data-id:"+JSON.stringify(workers) );
|
||||
$('#arc').text(JSON.stringify(workers))
|
||||
}
|
||||
function textChanged(){
|
||||
var length=document.getElementById("workFlow").value.length
|
||||
if (length>3)
|
||||
{
|
||||
let divElement = document.getElementById("buttons");
|
||||
$.each(divElement.children,function(i,item){
|
||||
item.disabled=false
|
||||
})
|
||||
}else{
|
||||
let divElement = document.getElementById("buttons");
|
||||
$.each(divElement.children,function(i,item){
|
||||
item.disabled=true
|
||||
item.classList.remove("active")
|
||||
})
|
||||
workers=[]
|
||||
}
|
||||
}
|
||||
$(document).ready(function () {
|
||||
var wid = document.getElementById ('wn').textContent;
|
||||
var uid = document.getElementById ('user_id').textContent;
|
||||
var selectedDate="";
|
||||
const title=document.getElementById ('title').textContent;
|
||||
var picker = new Lightpick({ field: document.getElementById('datepicker'),
|
||||
singleDate: true,
|
||||
inline: true,
|
||||
numberOfColumns: 2,
|
||||
numberOfMonths: 2,
|
||||
format: 'YYYY.MM.DD',
|
||||
disableWeekends: false,
|
||||
maxDate: moment(),
|
||||
onSelect: function(date){
|
||||
selectedDate=date
|
||||
}
|
||||
});
|
||||
document.getElementById("workFlow").onkeydown = function() {
|
||||
textChanged();
|
||||
};
|
||||
$('#workFlow').change(function(event) {
|
||||
//do stuff with the "event" object as the object that called the method
|
||||
textChanged();
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
document.getElementById('sendData').addEventListener('click', function(a) {
|
||||
const workFlow = document.getElementById('workFlow').value;
|
||||
if(selectedDate.length)
|
||||
{
|
||||
Swal.fire('Error', '', 'error')
|
||||
}
|
||||
$.each(workers,function(i,w){
|
||||
w.workFlow=workFlow
|
||||
})
|
||||
var dataa={
|
||||
date: selectedDate,
|
||||
workId:wid,
|
||||
foremanId:uid,
|
||||
workTitle:title,
|
||||
employeeList:workers
|
||||
}
|
||||
const response = fetch('/workreport', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify(dataa)
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
//console.log(data)
|
||||
if (!data.response.ok)
|
||||
{
|
||||
Swal.fire('Error', '', 'error')
|
||||
}
|
||||
if (data.response="ok")
|
||||
{
|
||||
Swal.fire({
|
||||
position: "top-end",
|
||||
icon: "success",
|
||||
title: data.message,
|
||||
showConfirmButton: false,
|
||||
timer: 1500,
|
||||
backdrop: false
|
||||
});
|
||||
|
||||
} else
|
||||
{
|
||||
Swal.fire({
|
||||
position: "top-end",
|
||||
icon: "error",
|
||||
title: data.message,
|
||||
showConfirmButton: false,
|
||||
timer: 1500,
|
||||
backdrop: false
|
||||
});
|
||||
}
|
||||
$('#workReportModal').modal('hide');//.modal('toggle');
|
||||
$('.modal').removeClass('in');
|
||||
$('.modal').attr("aria-hidden","true");
|
||||
$('.modal').css("display", "none");
|
||||
$('.modal-backdrop').remove();
|
||||
$('body').removeClass('modal-open');
|
||||
$('.modal-backdrop').remove()
|
||||
})
|
||||
.catch(error => console.error('Error:', error));
|
||||
})
|
||||
|
||||
/* if (!response.ok)
|
||||
{
|
||||
Swal.fire('Error', '', 'error')
|
||||
}
|
||||
if (resp.response="OK")
|
||||
{
|
||||
Swal.fire({
|
||||
position: "top-end",
|
||||
icon: "success",
|
||||
title: resp.message,
|
||||
showConfirmButton: false,
|
||||
timer: 1500,
|
||||
backdrop: false
|
||||
});
|
||||
|
||||
} else
|
||||
{
|
||||
Swal.fire({
|
||||
position: "top-end",
|
||||
icon: "error",
|
||||
title: resp.message,
|
||||
showConfirmButton: false,
|
||||
timer: 1500,
|
||||
backdrop: false
|
||||
});
|
||||
} */
|
||||
//});
|
||||
$(document).on('show.bs.modal','#workReportModal', function () {
|
||||
form.reset();
|
||||
let divElement = document.getElementById("buttons");
|
||||
while (divElement.firstChild) {
|
||||
divElement.removeChild(divElement.firstChild);
|
||||
}
|
||||
selectedDate="";
|
||||
//var foo = document.getElementById("buttons");
|
||||
//Append the element in page (in span).
|
||||
|
||||
//Fetch workReport
|
||||
|
||||
fetch('/workreportUserList', {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
|
||||
}
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
console.log(data)
|
||||
$.each(data.users,function(i,item){
|
||||
var data_str = encodeURIComponent(JSON.stringify(item));
|
||||
$('<button class="btn btn-primary aaa" disabled onclick="handleClick(this)" data-item="'+data_str+'" data-id="'+item._id+'" style="width:150px;margin: 3px" data-toggle="button" type="button">'+item.name+'</button>').appendTo('#buttons');
|
||||
})
|
||||
})
|
||||
.catch(error => console.error('Error:', error));
|
||||
})
|
||||
|
||||
});
|
||||
|
|
@ -2,10 +2,17 @@ extends layout
|
|||
|
||||
block content
|
||||
.mainContainer
|
||||
link(rel='stylesheet' href='/bower_components/bootstrap/dist/css/bootstrap.min.css')
|
||||
|
||||
link(rel='stylesheet' href='/bower_components/bootstrap-select/dist/css/bootstrap-select.css')
|
||||
link(rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css')
|
||||
link(rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/11.14.2/sweetalert2.css" integrity="sha512-TG239kA30BXeGpy+HpJei+qfJcKo8V9HKpe8UWuVdpk49NGUe86EDhmdXkCxMqD5gSlkLLi6YQ9SbNp+yRa9xQ==" crossorigin="anonymous" referrerpolicy="no-referrer")
|
||||
include Modals/modal_jkv_kabel
|
||||
.panel.panel-primary
|
||||
.panel-heading
|
||||
h4 Berendezés: #{article.title}
|
||||
h4#articleId(style='display:none') #{article._id}
|
||||
h4#articleSn(style='display:none') #{article.deviceNumber}
|
||||
.panel-body
|
||||
#form-group
|
||||
div.row
|
||||
|
|
@ -62,18 +69,20 @@ block content
|
|||
h4 Hozzáadott jegyzőkönyvek
|
||||
.panel-body
|
||||
.row
|
||||
main.col-sm-9.ml-sm-auto.col-md-10.pt-3(role='main')
|
||||
container
|
||||
.table-responsive
|
||||
table.table.table-striped(style='background-color:#FFFFE0;')
|
||||
table#certsTable.table.table-striped.table-hover
|
||||
thead
|
||||
tr
|
||||
th #
|
||||
th Kábelszám
|
||||
th Megnevezés
|
||||
th Típus
|
||||
th Létrehozva
|
||||
th Készítő
|
||||
th Művelet
|
||||
tbody
|
||||
each cert, i in certs
|
||||
//-each cert, i in certs
|
||||
tr
|
||||
td #{i+1}
|
||||
td
|
||||
|
|
@ -102,7 +111,9 @@ block content
|
|||
a.btn.btn-primary(href='/certificates_tr/kofcertnew/'+article._id) Új TR jegyzőkönyv
|
||||
.btn-group(role='group')
|
||||
a.btn.btn-primary(href='/certificates_mc/kofcertnew/'+article._id) Új Mérőcella jkv
|
||||
|
||||
.btn-group(role='group')
|
||||
button.btn.btn-primary(data-toggle='modal', data-wn=article.workNumber,data-aid=article._id,data-sn=article.deviceNumber,data-title=article.title, data-target='#jkvkabelModal',data-headertitle='Kábel szigetelés vizsgálat',style='width:40px;',type='button')
|
||||
i.fa.fa-cogs
|
||||
.panel.panel-primary
|
||||
.panel-heading
|
||||
h4 Hozzáadott dokumentumok
|
||||
|
|
@ -111,7 +122,7 @@ block content
|
|||
main.col-sm-9.ml-sm-auto.col-md-10.pt-3(role='main')
|
||||
h2 Hozzáadott dokumentumok
|
||||
.table-responsive
|
||||
table.table.table-striped(style='background-color:#FFFFE0;')
|
||||
table.table.table-hover.table-striped(style='background-color:#FFFFE0;')
|
||||
thead
|
||||
tr
|
||||
th #
|
||||
|
|
@ -236,36 +247,189 @@ block content
|
|||
.clearfix
|
||||
div(style='padding:6px;')
|
||||
br
|
||||
|
||||
script(src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js')
|
||||
//-script(src='/bower_components/bootstrap-table/dist/bootstrap-table.min.js')
|
||||
-//script(src='/bower_components/jquery/dist/jquery.js')
|
||||
-//script(src='https://code.jquery.com/jquery-1.10.2.js')
|
||||
script(src='/js/upload.js')
|
||||
script(src='/js/main.js')
|
||||
script(src='/js/removeFile.js')
|
||||
script(src="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/11.14.2/sweetalert2.min.js" integrity="sha512-nD7/PXl2UD6bAYMJVKTLhr7qwnWVvoyqk8/WMzedDKMiQbaNXT3EUPzLYbLUHCLWqAZoXO37aVCtCKmAxZfqGw==" crossorigin="anonymous" referrerpolicy="no-referrer")
|
||||
script.
|
||||
// Jegyzőkönyvek listázása
|
||||
var createTable=function (data,articleId)
|
||||
{
|
||||
$('#certsTable > tbody').empty();
|
||||
if (data)
|
||||
{ const articleSn=$('#articleSn').text();
|
||||
$.each(data,function(i,el){
|
||||
var url2="https://google.com"
|
||||
var newRow=$('<tr id='+el._id+'>'+
|
||||
'<td style="text-align:left">'+(i+1)+'</td>'+
|
||||
'<td style="text-align:left">'+el.gyariszam+'</td>'+
|
||||
'<td style="text-align:left">'+el.jkvTitle+'</td>'+
|
||||
'<td style="text-align:left"> Kábel'+'</td>'+
|
||||
'<td style="text-align:left">'+moment(el.bornDate).format("YYYY.MM.DD")+'</td>'+
|
||||
'<td style="text-align:left">'+el.user.name+'</td>'+
|
||||
'<td>'+'<div class="btn-group" role="group" aria-label="Basic example">'+
|
||||
//-data-toggle='modal',data-wn=article.workNumber,data-id=article._id,data-sn=article.deviceNumber,data-title=article.title, data-target='#jkvkabelModal',data-headertitle='Kábel szigetelés vizsgálat',
|
||||
'<button type="button" class="btn btn-warning" data-id="'+el._id+'" data-headertitle="Kábel szigetelés vizsgálat módosítás" data-sn="'+articleSn+'" data-feszultseg="'+el.feszultseg+'" data-title="'+el.jkvTitle+'" data-megrendelo="'+el.megrendelo+'" data-tipus="'+el.tipus+'" data-keresztmetszet="'+el.keresztmetszet+'" data-hossz="'+el.hossz+'" data-nyomvonal="'+el.nyomvonal+'" data-aid="'+articleId+'" data-toggle=modal data-target=#jkvkabelModal style="width:40px;"><i class="fa fa-edit"></i></button>'+
|
||||
'<button id="ajaxPrint" type="button" class="btn btn-success" data-id="'+el._id+'", style="width:40px;"><i class="fa fa-print"></i></button>'+
|
||||
'<button id="ajaxDelete" type="button" class="btn btn-danger" data-title="'+el.jkvTitle+'" data-id="'+el._id+'", style="width:40px;"><i class="fa fa-trash"></i></button>'+
|
||||
|
||||
'</div></td>'+
|
||||
'</tr>');
|
||||
$('#certsTable > tbody:last-child').append (newRow);
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
//Jegyzőkönyv nyomtatás
|
||||
$(document).on("click","#ajaxPrint",async function(e)
|
||||
{
|
||||
var id = $(this).data('id');
|
||||
var title = $(this).data('title');
|
||||
|
||||
const result= await Swal.fire(
|
||||
{
|
||||
title: "Biztosan törli a jegyzőkönyvet? ",
|
||||
text: title+" véglegesen törlésre kerül!",
|
||||
icon: "question",
|
||||
showDenyButton: true,
|
||||
confirmButtonText: 'Igen',
|
||||
denyButtonText: 'Nem',
|
||||
customClass: {
|
||||
actions: 'my-actions',
|
||||
confirmButton: 'order-2',
|
||||
denyButton: 'order-3',
|
||||
},
|
||||
}
|
||||
);
|
||||
if (result.isConfirmed)
|
||||
{
|
||||
console.log("Generating: "+id)
|
||||
location.href="/articles/generatecert/"+id
|
||||
/* const response = await fetch("/articles/generatecert/"+id,
|
||||
{
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
method: "POST"
|
||||
|
||||
});
|
||||
const data = await response.json();
|
||||
if (!response.ok)
|
||||
{
|
||||
Swal.fire('Error', '', 'error')
|
||||
}
|
||||
if (data.response="OK")
|
||||
{
|
||||
Swal.fire({
|
||||
position: "top-end",
|
||||
icon: "success",
|
||||
title: data.message,
|
||||
showConfirmButton: false,
|
||||
timer: 1500,
|
||||
backdrop: false
|
||||
});
|
||||
} else
|
||||
{
|
||||
Swal.fire({
|
||||
position: "top-end",
|
||||
icon: "error",
|
||||
title: data.message,
|
||||
showConfirmButton: false,
|
||||
timer: 1500,
|
||||
backdrop: false
|
||||
});
|
||||
} */
|
||||
//refreshCerts(id)
|
||||
|
||||
}
|
||||
});
|
||||
//Jegyzőkönyv törlése
|
||||
$(document).on("click","#ajaxDelete",async function(e)
|
||||
{
|
||||
var id = $(this).data('id');
|
||||
var title = $(this).data('title');
|
||||
console.log("DataId: "+id+"\nHolidayId: "+title);
|
||||
const result= await Swal.fire(
|
||||
{
|
||||
title: "Biztosan törli a jegyzőkönyvet? ",
|
||||
text: title+" véglegesen törlésre kerül!",
|
||||
icon: "question",
|
||||
showDenyButton: true,
|
||||
confirmButtonText: 'Igen',
|
||||
denyButtonText: 'Nem',
|
||||
customClass: {
|
||||
actions: 'my-actions',
|
||||
confirmButton: 'order-2',
|
||||
denyButton: 'order-3',
|
||||
},
|
||||
}
|
||||
);
|
||||
if (result.isConfirmed)
|
||||
{
|
||||
console.log("Deleting: "+id)
|
||||
const response = await fetch("/articles/deletekabelcerts/"+id,
|
||||
{
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
method: "DELETE"
|
||||
|
||||
});
|
||||
const data = await response.json();
|
||||
if (!response.ok)
|
||||
{
|
||||
Swal.fire('Error', '', 'error')
|
||||
}
|
||||
if (data.response="OK")
|
||||
{
|
||||
Swal.fire({
|
||||
position: "top-end",
|
||||
icon: "success",
|
||||
title: data.message,
|
||||
showConfirmButton: false,
|
||||
timer: 1500,
|
||||
backdrop: false
|
||||
});
|
||||
} else
|
||||
{
|
||||
Swal.fire({
|
||||
position: "top-end",
|
||||
icon: "error",
|
||||
title: data.message,
|
||||
showConfirmButton: false,
|
||||
timer: 1500,
|
||||
backdrop: false
|
||||
});
|
||||
}
|
||||
refreshCerts(id)
|
||||
|
||||
}
|
||||
});
|
||||
const refreshCerts=function(id)
|
||||
{
|
||||
$.get('/articles/getkabelcerts/'+id,function(data)
|
||||
{
|
||||
createTable(data,id);
|
||||
const tableRows = document.querySelectorAll(".table-clickable tbody tr");
|
||||
|
||||
for (const tableRow of tableRows) {
|
||||
tableRow.addEventListener("click", function () {
|
||||
window.open(this.dataset.href, "_blank");
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
$(document).ready(function () {
|
||||
const id=$('#articleId').text();
|
||||
refreshCerts(id)
|
||||
|
||||
|
||||
})
|
||||
|
||||
script(src='https://code.jquery.com/jquery-1.10.2.js')
|
||||
script(src='/js/upload.js')
|
||||
script(src='/js/main.js')
|
||||
script(src='/js/removeFile.js')
|
||||
//script(src='/socket.io/socket.io.js')
|
||||
//script.
|
||||
$('.upload-btn').on('click', function (){
|
||||
$('.progress-bar').text('0%');
|
||||
$('.progress-bar').width('0%');
|
||||
$(".progress-bar").fadeIn('fast');
|
||||
});
|
||||
var socket = io.connect('localhost:80');
|
||||
socket.on('connect', function(data) {
|
||||
socket.emit('join', 'Hello World from client');
|
||||
|
||||
socket.on('messages', function(data) {
|
||||
console.log(data);
|
||||
|
||||
$('.progress-bar').text(data + '%');
|
||||
$('.progress-bar').width(data + '%');
|
||||
if(data === 100 ){ // do whatever want to do after 100% complete
|
||||
var hideProg = setTimeout(function() {
|
||||
$(".progress-bar").fadeOut('slow');
|
||||
}, 2000);
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@ block content
|
|||
.container
|
||||
link(rel='stylesheet' href='/bower_components/bootstrap/dist/css/bootstrap.css')
|
||||
link(href='//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css', rel='stylesheet')
|
||||
link(rel='stylesheet', type='text/css', href='https://unpkg.com/lightpick@latest/css/lightpick.css')
|
||||
link(rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/11.14.2/sweetalert2.css" integrity="sha512-TG239kA30BXeGpy+HpJei+qfJcKo8V9HKpe8UWuVdpk49NGUe86EDhmdXkCxMqD5gSlkLLi6YQ9SbNp+yRa9xQ==" crossorigin="anonymous" referrerpolicy="no-referrer")
|
||||
include Modals/modal_workReport
|
||||
style(type="text/css").
|
||||
|
||||
|
||||
|
|
@ -33,13 +36,14 @@ block content
|
|||
#form-group
|
||||
.panel.panel-primary
|
||||
.panel-heading
|
||||
h4 #{work.title}
|
||||
h4#title #{work.title}
|
||||
|
||||
.panel-body
|
||||
div.row
|
||||
div.col-md-2
|
||||
h4(id='wn',style='display:none;') #{work.id}
|
||||
h4(id='entemp',style='display:none;') #{work.enaploTemplate}
|
||||
h4(id='user_id',style='display:none;') #{user._id}
|
||||
h4(style="text-align:right;") Munka szám:
|
||||
h4(style="text-align:right;") PO szám:
|
||||
h4(style="text-align:right;") CMR Rendszám:
|
||||
|
|
@ -161,7 +165,47 @@ block content
|
|||
//-button(type='submit' name='a' form='form-1')
|
||||
//-button.btn.btn-primary(id=report._id,form="myForm",type='submit',formaction='/work/generateXML/'+work._id+'/'+report._id, value='enaplo',tabindex='56')
|
||||
//-button.btn.btn-secondary.button-spacer(id=report._id,form="myForm", data-wid=work._id,data-rid=report._id, type='submit')
|
||||
br
|
||||
br
|
||||
.panel.panel-primary( data-toggle="collapse")
|
||||
.panel-heading
|
||||
.row
|
||||
.col-md-9
|
||||
h4 Műhely munkavégzés
|
||||
.col-md-1
|
||||
|
||||
.col-md-2.float-right
|
||||
span.pull-right.clickable
|
||||
i.glyphicon.glyphicon-chevron-up
|
||||
|
||||
#collapsePanel.panel-body
|
||||
form#form-1
|
||||
.row
|
||||
.table-responsive
|
||||
table#workReportTable.table.table-striped
|
||||
col(width='5%')
|
||||
col(width='10%')
|
||||
col(width='15%')
|
||||
col(width='auto')
|
||||
if (work.enaploTemplate)
|
||||
col(width='5%')
|
||||
thead
|
||||
tr
|
||||
th #
|
||||
th(style='text-align:left') Dátum
|
||||
th(style='text-align:left') Résztvevők
|
||||
th(style='text-align:left') Munkavégzés leírása
|
||||
|
||||
|
||||
|
||||
tbody
|
||||
.panel-footer
|
||||
.btn-toolbar
|
||||
if(user.canAdd.device)
|
||||
button.btn.btn-primary(data-toggle='modal', data-wn=work._id,data-title=work.title, data-target='#workReportModal',data-headertitle='Műhely munkavégzés',type='button')
|
||||
i.fa.fa-plus.fa-lg.fa-fw
|
||||
| Bejegyzés hozzáadása
|
||||
|
||||
br
|
||||
.panel.panel-primary
|
||||
.panel-heading
|
||||
h4 Berendezések:
|
||||
|
|
@ -204,9 +248,46 @@ block content
|
|||
script(type='text/javascript', src='/bower_components/moment/min/moment.min.js')
|
||||
script(type='text/javascript',src='/build/pdfmake.js')
|
||||
script(type='text/javascript',src='/build/vfs_fonts.js')
|
||||
script(src='https://unpkg.com/lightpick@latest/lightpick.js')
|
||||
script(src="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/11.14.2/sweetalert2.min.js" integrity="sha512-nD7/PXl2UD6bAYMJVKTLhr7qwnWVvoyqk8/WMzedDKMiQbaNXT3EUPzLYbLUHCLWqAZoXO37aVCtCKmAxZfqGw==" crossorigin="anonymous" referrerpolicy="no-referrer")
|
||||
script.
|
||||
$(document).ready(function () {
|
||||
|
||||
//Fetch workReport
|
||||
var wid = document.getElementById ('wn').textContent;
|
||||
fetch('/workreportList/'+wid, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
|
||||
}
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
console.log(data)
|
||||
$.each(data.reports,function(i,item){
|
||||
var newRow="<tr><td>"+(i+1)+"</td>"
|
||||
newRow+=
|
||||
'<td style="text-align:left">'+moment(new Date(item.date)).format('YYYY.MM.DD')+'</td>'
|
||||
//'<td style="text-align:right">'+item.workTitle+'</td>'
|
||||
|
||||
newRow+='<td>'
|
||||
$.each(item.items,function(i,employee){
|
||||
newRow+=employee.name+'<br>'
|
||||
});
|
||||
newRow+='</td>'
|
||||
newRow+='<td>'
|
||||
$.each(item.items,function(i,wf){
|
||||
newRow+=wf.workFlow+'<br>'
|
||||
});
|
||||
newRow+='</td>'
|
||||
newRow+='</tr>';
|
||||
$('#workReportTable > tbody:last-child').append (newRow);
|
||||
})
|
||||
})
|
||||
.catch(error => console.error('Error:', error));
|
||||
|
||||
|
||||
document.getElementById('enaploImp').addEventListener('change', readFile, false);
|
||||
/* var entemplate = document.getElementById ('entemp').textContent;
|
||||
if (entemplate){
|
||||
|
|
|
|||
Loading…
Reference in New Issue