d2d.emegrendeles.hu/resources/js/moduleJs/orderArchive.js
2026-03-23 11:52:03 +01:00

333 lines
14 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

if(typeof window.DataModelOrderArchive ==="undefined"){
window.OrderArchiveModulDefault={
actionFunction: function () {},
}
class DataModelOrderArchive extends DataModel{
/*
* Constructor
*/
constructor (data,options) {
super(data,options)
if(typeof this.items ==="undefined"){
this.items={};
}
console.log(this.constructor.name+' constructor called');
};
};
window.DataModelOrderArchive=DataModelOrderArchive;
}
if(typeof window.OrderArchiveModule ==="undefined") {
class OrderArchiveModule extends ModuleBase{
constructor (options,data) {
super(options,data)
if(data!=="undefined" || data!=null){
}else{
this.data=new DataModelOrderArchive();
}
this.dataTable=null;
this.Opts.dataTable.advanceSearchParameter={
deliveryDateFrom:null,
deliveryDateTo:null,
profitCenterId:null,
supplierId:null,
}
}
datatableRowActionAttachment(rowData,node) {
debug('call datatableRowActionAttachment');
super.datatableRowActionAttachment(rowData,node,{defaultFileName:"order"});
}
datatableRowActionView(rowData,node) {
debug('call datatableRowActionView');
super.datatableRowActionView(rowData,node,APP.OrderArchiveModule)
console.log('datatableRowActionEdit End');
}
datatableRowActionButtonClick(event) {
debug('datatableRowActionButtonClick');
super.datatableRowActionButtonClick(event,APP.OrderArchiveModule);
}
/*
datatableRowActionButtonClick (event){
debug('datatableRowActionButtonClick');
let node=$(event[0].currentTarget);
let row=$(dataTableCSSSelector).DataTable().row(node.parents('tr'));
let rowData=row.data();
let actionName='datatableRowAction'+node.data('buttontype').capitalize();
if (typeof root[actionName] === "function") {
return root[actionName](rowData,node)
}
}
*/
datatableRowActionEdit(rowData,node) {
console.log('datatableRowActionEdit Called');
//Opts.onAfterInitViewDetails=root.autofillDetails;
let ajaxUrl=this.Opts.URL.edit.replace('%id%',rowData.id);
console.log(this.Opts.URL);
console.log(ajaxUrl);
/*
*/
APP.loadMainContent(ajaxUrl);
console.log('datatableRowActionEdit End');
}
initViewShow(){
debug('call initViewShow');
let root=APP.OrderArchiveModule;
let styleStr='<link rel="stylesheet" href="'+root.Opts.URL.root+'/css/invoice.css">';
$('table.invoice button.printButton').off('click');
$('table.invoice button.printButton').on('click',function () {
window.print();
return;
let newWin= window.open("");
newWin.document.write(styleStr);
let print=$('table.invoice').clone();
print.find('button.printButton').remove();
// newWin.document.write($('table.invoice').prop('outerHTML'));
newWin.document.write(print.prop('outerHTML'));
newWin.print();
// newWin.close();
});
}
datatableCustomHeadButtonClickCallBack(){
console.info('hello itt vagyok');
$('.advanceSearchModal').modal('show');
}
initAdvancedSearch(){
console.log('initAdvancedSearch');
window.datePickerTarget='';
$('.deliveryDateFrom,.deliveryDateTo').datepicker({
dateFormat: 'yy-mm-dd',
//minDate:new Date(),
onSelect:function (dateText){
debug('target:'+window.datePickerTarget);
$('.'+window.datePickerTarget+'SelectedDateText').text(dateText);
debug($(' input[name="'+window.datePickerTarget+'"]'));
$(' input[name="'+window.datePickerTarget+'"]').val(dateText);
},
});
$('.datePickerClick').click(function(){
debug($(this).data('target'));
datePickerTarget=$(this).data('target');
//$('.datePicker .'+datePickerTarget).datepicker('show');
$('.'+datePickerTarget).datepicker('show');
});
$(".selectProfitCenter,.selectSupplier").select2({
maximumSelectionLength: 1,
});
/*
stored advanceSearchParameter restoring
*/
let advanceFiltered=false;
$.each(this.Opts.dataTable.advanceSearchParameter,function (k,v) {
if(v!=null){
advanceFiltered=true;
console.log(k+' > '+v);
$('.advanceSearchModal input[name='+k+'],.advanceSearchModal select[name='+k+']').val(v).trigger('change');
$('.'+k+'SelectedDateText').text(v);
}
});
if(advanceFiltered){
$('.dt-button.btn-advanceSearchParameter').addClass('btn-success');
}
/*
clearing advanceSearchParameter
*/
$('.advanceSearchModal .buttonClear').off('click');
$('.advanceSearchModal .buttonClear').on('click',function () {
$('.advanceSearchModal input,.advanceSearchModal select').val('').trigger('change');
$('.SelectedDateText').text('\xa0');
let root=APP.OrderArchiveModule;
$.each(root.Opts.dataTable.advanceSearchParameter,function (k,v) {
root.Opts.dataTable.advanceSearchParameter[k]=null;
});
$('.dt-button.btn-advanceSearchParameter').removeClass('btn-success');
let dataTableCSSSelector=root.Opts.CSSSelectorContainer+' .dataTable';
$(dataTableCSSSelector).DataTable().ajax.reload();
$('.advanceSearchModal').modal('hide');
});
/*
process advanceSearchParameter
*/
$('.advanceSearchModal .buttonSave').off('click');
$('.advanceSearchModal .buttonSave').on('click',function (){
console.log('clicked advanced search ');
let root=APP.OrderArchiveModule;
let dataSearch=$('.advanceSearchModalForm').find('input,select').serializeArray();
console.log(dataSearch);
console.log(root.Opts);
console.log(root.Opts.dataTable.advanceSearchParameter);
$.each(root.Opts.dataTable.advanceSearchParameter,function (k,v) {
root.Opts.dataTable.advanceSearchParameter[k]=null;
});
$.each(dataSearch,function (k,item) {
console.log(item['name']);
console.log(item['value']);
if( typeof root.Opts.dataTable.advanceSearchParameter[item['name']]!= 'undefined'
&& item['value'].length>0
){
root.Opts.dataTable.advanceSearchParameter[item['name']]=item['value'];
}
})
console.log(root.Opts.dataTable.advanceSearchParameter);
let dataTableCSSSelector=root.Opts.CSSSelectorContainer+' .dataTable';
$(dataTableCSSSelector).DataTable().ajax.reload();
$('.dt-button.btn-advanceSearchParameter').addClass('btn-success');
$('.advanceSearchModal').modal('hide');
});
}
initViewList(options={}) {
console.log('[OA-DEBUG] initViewList() START');
debug('listview inicialization');
if(APP.IsUserAdmin){
this.DtColumns=[
{ "data": "supplier_name" },
{ "data": "deliveryDate" },
{ "data": "profit_center.name" },
{ "data": "deliveryAddressName" },
{ "data": "sentTime" },
{ "data": "humanId" },
{ "data": "confirmed" },
null,
];
}else{
this.DtColumns=[
{ "data": "supplier_name" },
{ "data": "deliveryDate" },
{ "data": "deliveryAddressName" },
{ "data": "sentTime" },
{ "data": "humanId" },
{ "data": "confirmed" },
null,
];
}
let dataTableCSSSelector=this.Opts.CSSSelectorContainer+' .dataTable'; //
console.log('[OA-DEBUG] dataTableCSSSelector =', dataTableCSSSelector);
console.log('[OA-DEBUG] table element found =', $(dataTableCSSSelector).length, 'db');
let colNum=$(dataTableCSSSelector+' thead th').length; //buttons insert position need
console.log('[OA-DEBUG] colNum (thead th count) =', colNum);
console.log('[OA-DEBUG] AJAX URL =', this.Opts.URL.getDataTableContent);
APP.setOpts({
//datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,
datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,
datatableCustomHeadButtonClickCallBack:this.datatableCustomHeadButtonClickCallBack,
})
let orderDirective=this.Opts.dataTable.orderDirective;
let advanceSearchParameter=this.Opts.dataTable.advanceSearchParameter;
if(typeof options['orderDirective']!='undefined'){
orderDirective=options['orderDirective'];
}
//let ajaxUrl=this.Opts.URL.getDataTableContent;
console.log('[OA-DEBUG] Calling .DataTable() init...');
this.dataTable=$(dataTableCSSSelector).DataTable( {
language: {
url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'
},
//"ajax": "{{asset('exapmle2.json')}}",
"ajax": {
url:this.Opts.URL.getDataTableContent,
data:function (data) {
console.log('[OA-DEBUG] DataTable AJAX data() called request indul:', this.Opts?.URL?.getDataTableContent ?? 'URL ismeretlen');
data.advanceSearchParameter=advanceSearchParameter;
/*
data.searchParam=this.Opts.dataTable.advanceSearchParameter
data.searchStr=dataTableSearchStr;
data.groupId=selectedProductGroup;
data.supplierId=Order.supplierId;
data.deliveryDate=Order.deliveryDate;
*/
}
},
"columnDefs": [
{
"targets": colNum-1,
"render": function ( data, type, row ) {
let buttons=APP.datatableAddRowViewButton(0,arguments);
buttons+=APP.datatableAddRowAttachmentButton(0,arguments);
//buttons+=APP.datatableAddRowEditButton(0, arguments);
if(row.canEditable){
buttons+=APP.datatableAddRowEditButton(0, {title:"módosítás"});
}
return buttons;
},
},
{
"targets": colNum-2,
"render": function ( data, type, row ) {
if(row.confirmed==null){
return '<span class="badge badge-pill badge-danger"><i class="fas fa-handshake-slash"></i></span>';
}else{
return row.confirmed;
}
},
},
{
"targets": 1,
"render": function ( data, type, row ) {
row=null;
return type === "sort" ? data.latinise() : data;
},
},
//{ "visible": false, "targets": [ 0 ] }
],
buttons:{
buttons: [
'excel','pdf',
{
extend: 'print',
//text: 'Print current page',
'title': 'title custom text',
'messageTop': 'Message On Top',
autoPrint: true
},
{
text: 'Szürők',
action: function ( e, dt, node, config ) {
APP.datatableCustomHeadButtonClickCallBack();
},
className: 'btn-advanceSearchParameter'
}
/**/
]
},
"columns": this.DtColumns,
"order": orderDirective,
"stateSave": false,
"drawCallback": function( settings ) {
console.log('[OA-DEBUG] drawCallback fired DataTable rendered');
settings=null;
APP.datatableAddRowAction(dataTableCSSSelector);
}
} );
console.log('[OA-DEBUG] .DataTable() init returned. Instance =', this.dataTable);
this.initAdvancedSearch();
console.log('[OA-DEBUG] initViewList() END');
debug('listview end');
}
}
window.OrderArchiveModule=OrderArchiveModule;
}