<input id="hUser" name="hUser" type="hidden" value="dpapini" /><input id="hUserId" name="hUserId" type="hidden" value="0" /><input id="hUserRole" name="hUserRole" type="hidden" value="0" /><input id="hUserTag" name="hUserTag" type="hidden" value="" />
<!DOCTYPE html>
<html lang="it">
<head>
    <meta charset="utf-8" />
    <title>Kogeta</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, user-scalable=no">
    <meta content="Enterprise Resource Plannning" name="description" />
    <meta content="David Papini" name="author" />
    <!-- BEGIN GLOBAL MANDATORY STYLES -->
    <link href="http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700&subset=all" rel="stylesheet" type="text/css" />
    <link href="/Template/global/plugins/font-awesome-4.7.0 2/css/font-awesome.min.css" rel="stylesheet" type="text/css" />
    <link href="/Template/global/plugins/simple-line-icons/simple-line-icons.min.css" rel="stylesheet" type="text/css" />
    <link href="/Template/global/plugins/bootstrap/css/bootstrap.css" rel="stylesheet" type="text/css" />
    <link href="/Template/global/plugins/uniform/css/uniform.default.css" rel="stylesheet" type="text/css" />
    <link href="/Template/global/plugins/bootstrap-switch/css/bootstrap-switch.min.css" rel="stylesheet" type="text/css" />
    <link href="/Template/global/plugins/bootstrap-datepicker/css/bootstrap-datepicker3.min.css" rel="stylesheet" />
    <link href="/Template/global/plugins/bootstrap-datepicker/css/bootstrap-datepicker.min.css" rel="stylesheet" />
    <link href="/Template/global/plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet" />
    <link href="/Template/global/plugins/bootstrap-timepicker/css/bootstrap-timepicker.min.css" rel="stylesheet" />
    <link href="/Template/global/plugins/jquery-ui/jquery-ui.min.css" rel="stylesheet" />
    <link href="/Template/global/plugins/datatables/datatables.min.css" rel="stylesheet" type="text/css" />
    <link href="/Template/global/plugins/datatables/Responsive-2.2.2/css/responsive.bootstrap.min.css" rel="stylesheet" />
    <!-- END GLOBAL MANDATORY STYLES -->
    <!-- BEGIN THEME GLOBAL STYLES -->
    <link href="/Template/global/plugins/select2/css/select2.min.css" rel="stylesheet" type="text/css" />
    <link href="/Template/global/plugins/select2/css/select2-bootstrap.min.css" rel="stylesheet" type="text/css" />
    <link href="/Template/global/css/components.css" rel="stylesheet" id="style_components" type="text/css" />
    <link href="/Template/global/css/plugins.min.css" rel="stylesheet" type="text/css" />
    <link href="/Template/pages/css/loader.css" rel="stylesheet" type="text/css" />
    <link href="/Template/pages/css/inbox.min.css" rel="stylesheet" />
    <!-- BEGIN THEME LAYOUT STYLES -->
    <link href="/Template/layouts/layout4/css/layout.min.css" rel="stylesheet" type="text/css" />
    <link href="/Template/layouts/layout4/css/themes/light.min.css" rel="stylesheet" type="text/css" id="style_color" />
    <link href="/Template/layouts/layout4/css/custom.css" rel="stylesheet" type="text/css" />
    <!-- END THEME LAYOUT STYLES -->
    <!-- END THEME GLOBAL STYLES -->
    <link rel="shortcut icon" href="/Image/favicon.png" />
    <script src="/Template/global/plugins/jquery.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/jquery-ui/jquery-ui.min.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/jquery.rotate.js"></script>
    <script src="/Template/global/scripts/app.js" type="text/javascript"></script>
    <script src="/Template/layouts/layout4/scripts/layout.min.js" type="text/javascript"></script>
    <script src="/Template/layouts/layout4/scripts/demo.js" type="text/javascript"></script>
    <script src="/Template/layouts/global/scripts/quick-sidebar.min.js" type="text/javascript"></script>
    <script src="/Template/global/scripts/datatable.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/datatables/datatables.min.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/datatables/plugins/bootstrap/datatables.bootstrap.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/datatables/Responsive-2.2.2/js/dataTables.responsive.js"></script>
    
    <!-- BEGIN PAGE LEVEL CSS -->
    
    <link href="/Template/global/plugins/bootstrap-toastr/toastr.min.css" rel="stylesheet" type="text/css" />
    <link href="/Template/global/plugins/bootstrap-touchspin/bootstrap.touchspin.min.css" rel="stylesheet" />
    <style>
        td.details-control:before {
            content: "\f067"; /* this is your text. You can also use UTF-8 character codes as I do here */
            font-family: FontAwesome;
            position: relative;
            text-align:center;
            top: 0;
        }
        td.details-control {
            cursor: pointer;
        }
        tr.details td.details-control:before {
            content: "\f068"; /* this is your text. You can also use UTF-8 character codes as I do here */
            font-family: FontAwesome;
            position: relative;
            text-align: center;
            top: 0;
        }
    </style>
    <!-- END PAGE LEVEL CSS -->
</head>
<body class="page-container-bg-solid page-header-fixed page-sidebar-closed-hide-logo">
    <div id="loader-wrapper">
        <div id="loader-wrapperin">
            <div id="fountainTextG"><div id="fountainTextG_1" class="fountainTextG">A</div><div id="fountainTextG_2" class="fountainTextG">t</div><div id="fountainTextG_3" class="fountainTextG">t</div><div id="fountainTextG_4" class="fountainTextG">e</div><div id="fountainTextG_5" class="fountainTextG">n</div><div id="fountainTextG_6" class="fountainTextG">d</div><div id="fountainTextG_7" class="fountainTextG">e</div><div id="fountainTextG_8" class="fountainTextG">r</div><div id="fountainTextG_9" class="fountainTextG">e</div><div id="fountainTextG_10" class="fountainTextG">.</div><div id="fountainTextG_11" class="fountainTextG">.</div><div id="fountainTextG_12" class="fountainTextG">.</div></div>
        </div>
    </div>
    <!-- BEGIN HEADER -->
    <div class="page-header navbar navbar-fixed-top">
        <!-- BEGIN HEADER INNER -->
        <div class="page-header-inner ">
            <!-- BEGIN LOGO -->
            <div class="page-logo">
                <a href="../Home/DashBoard">
                    <img src="/Template/layouts/layout4/img/logo-light.png" alt="logo" class="logo-default" style="width:150px;height:30px;" />
                </a>
                <div class="menu-toggler sidebar-toggler">
                    <!-- DOC: Remove the above "hide" to enable the sidebar toggler button on header -->
                </div>
            </div>
            <!-- END LOGO -->
            <!-- BEGIN RESPONSIVE MENU TOGGLER -->
            <a href="javascript:;" class="menu-toggler responsive-toggler" data-toggle="collapse" data-target=".navbar-collapse"> </a>
            <!-- END RESPONSIVE MENU TOGGLER -->
            <!-- BEGIN PAGE TOP -->
            <div class="page-top">
                <!-- BEGIN HEADER SEARCH BOX -->
                <!-- DOC: Apply "search-form-expanded" right after the "search-form" class to have half expanded search box -->
                
                <!-- END HEADER SEARCH BOX -->
                <!-- BEGIN TOP NAVIGATION MENU -->
                <div class="top-menu">
                    <ul class="nav navbar-nav pull-right">
                        <li class="dropdown dropdown-extended dropdown-tasks dropdown-dark dropdown-calendar" id="header_task_bar">
                            <a href="/Home/Calendario" class="dropdown-toggle">
                                <i class="icon-calendar"></i>
                                <span class="badge badge-primary" id="badgeToDo">0</span>
                            </a>
                        </li>
                        <li class="separator hide"> </li>
                        <!-- BEGIN USER LOGIN DROPDOWN -->
                        <!-- DOC: Apply "dropdown-dark" class after below "dropdown-extended" to change the dropdown styte -->
                        <li class="dropdown dropdown-user dropdown-dark">
                            <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" data-close-others="true">
                                <span class="username username-hide-on-mobile"> <label id="userName"></label> </span>
                                <!-- DOC: Do not remove below empty space(&nbsp;) as its purposely used -->
                                <img alt="" class="img-circle" src="/Template/layouts/layout4/img/avatar.png" />
                            </a>
                            <ul class="dropdown-menu dropdown-menu-default">
                                <li>
                                    <a href="/Home/UserProfile">
                                        <i class="icon-user"></i> Profilo
                                    </a>
                                </li>
                                <li class="divider"> </li>
                                <li>
                                    <a href="#" id="aLogOut"><i class="icon-key"></i> Uscita</a>
                                </li>
                            </ul>
                        </li>
                        <!-- END USER LOGIN DROPDOWN -->
                    </ul>
                </div>
                <!-- END TOP NAVIGATION MENU -->
            </div>
            <!-- END PAGE TOP -->
        </div>
        <!-- END HEADER INNER -->
    </div>
    <!-- END HEADER -->
    <!-- BEGIN HEADER & CONTENT DIVIDER -->
    <div class="clearfix"> </div>
    <!-- END HEADER & CONTENT DIVIDER -->
    <!-- BEGIN CONTAINER -->
    <div class="page-container">
        <!-- BEGIN SIDEBAR -->
        <div class="page-sidebar-wrapper">
            <!-- BEGIN SIDEBAR -->
            <!-- DOC: Set data-auto-scroll="false" to disable the sidebar from auto scrolling/focusing -->
            <!-- DOC: Change data-auto-speed="200" to adjust the sub menu slide up/down speed -->
            <div class="page-sidebar navbar-collapse collapse" style="margin-top: 9px;">
                <ul class="page-sidebar-menu   " data-keep-expanded="false" data-auto-scroll="true" data-slide-speed="200"></ul>
                <!-- END SIDEBAR MENU -->
            </div>
            <!-- END SIDEBAR -->
        </div>
        <!-- END SIDEBAR -->
        <!-- BEGIN CONTENT -->
        <div class="page-content-wrapper">
            
<script type="text/javascript">
    var arrFrmOther = [];
    $(document).ready(function () {
        document.cookie = 'cross-site-cookie=bar; SameSite=None; Secure';
        $('body').attr('onload', function () {
            $('#loader-wrapper').hide();
        });
        $(function () {
            if ( false == true) {
                //console.log("[basepage] timeout : " + new Date());
                window.stop();
                window.location.href = "../Home/Login";
            }
            else {
                $('#userName').html('dpapini');
                
            };
        })
    });
</script>
<div class="page-content">
    <div class="row">
        <div class="col-md-12">
            <div class="portlet box blue" style="border-right: 1px !important;border-bottom: 0px !important;">
                <div class="portlet-title tabbable-line ">
                    <div class="caption caption-md">
                        <i class="icon-globe theme-font hide"></i>
                        <span class="caption-subject" style="font-size: 24px !important;font-weight: 100 !important;">
                            Piano di carico&nbsp;
                            <i class="fa fa-spinner fa-spin fa-fw" id="loadPianoDiCarico" style="display:none"></i>
                        </span>
                    </div>
                    <div class="line-bottom" style="border-top: 1px solid #e7ecf1 !important;margin-top: 60px;"></div>
                    <div class="alert alert-primary display-hide" role="alert" >
                        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="alert alert-danger display-hide pianodicarico">
                        <button class="close" data-close="alert"></button>
                        <span> Errore: alcuni campi obbligatori non sono stati valorizzati</span>
                    </div>
                    <!--START RICERCA-->
                    <div class="portlet-body form" style="border:solid 1px #e7ecf1;border-top:none;padding: 15px 15px 15px 15px;" id="divSearch_pianodicarico">
                        <form role="form" action="#" id="frmSearch_pianodicarico" name="frmSearch_pianodicarico" class="search">
                            <input type="hidden" id="pIdUser" name="pIdUser" />
                            <div class="form-body">
                                <div class="row">
                                    <div class="form-group col-md-3">
                                        <div class="input-group input-group-sm col-md-12">
                                            <label class="control-label sr-only">Codice Deposito</label>
                                                
<select class="form-control form-control-sm select2 js-data-example-ajax" id="pCdDeposito" name="pCdDeposito" >
</select>
<script type="text/javascript">
    $(document).ready(function () {
        var e = jQuery.Event('keydown');
        e.which = 13;
        var _url
        var _dataType = "jsonp";
                    _url = App.getGlobalWcfErgonPath() + "GetDdDeposito"
$('#pCdDeposito').attr("required", true);
        $('#pCdDeposito > .offer_checkout_page_link .select2-selection').trigger(e);
        $('#pCdDeposito').select2({
            placeholder: "Deposito",
            allowClear: true,
            closeOnSelect: true,
            theme: "bootstrap",
            width: "100%",
                
                ajax: {
                    url: _url,
                    contentType: "application/json; charset=utf-8",
                    dataType: _dataType,
                    delay: 250,
                    data: function (params) {  
                        if (params.term == undefined) params.term = '';
                        return {                            
                            "Filter" : JSON.stringify(params.term),
                        }
                    },
                    processResults: function (data, params) {
                        var results = [];
                        $.each(JSON.parse(data.Data), function (i, v) {
                            var o = {};
                            o.id = "" + v.Id;
                                    o.text = v.Text != undefined ? v.Text : v.Testo;
                                    o.tag = v;
                            results.push(o);
                        });
                    return {results: results};
                    },
                    cache: true
                },
                
            escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
            templateResult:
                         
                        function (item) {
                            if (item.loading)  return item.text;
                            var markup = '<option value="' + item.id + '">' + item.text + '</option>';
                            return markup;
                        }
                         
,
            templateSelection:
                        
                        function (item) {
                            return item.value || item.text;
                        }
                         
,
        });
        $('#pCdDeposito').on('select2:focus', function () { $('#pCdDeposito').select2("open");})
        $('#pCdDeposito').select2("close");
        //apply validation on select2 dropdown value change, this only needed for chosen dropdown integration.
        $('#pCdDeposito').change(function () {
            //$(this).closest('form').validate().element($(this)); //revalidate the chosen dropdown value and show error or success message for the input
        });
        $('#pCdDeposito').on("select2:select", function (e) {
            $('#pCdDeposito').closest('.form-group').find('label').css('visibility','visible');
            $('#pCdDeposito').select2("close");
        });
        $('#pCdDeposito').on("select2:unselecting", function (e) {
            $('#pCdDeposito').closest('.form-group').find('label').css('visibility','visible');
            $('#pCdDeposito').select2("close");
        });
        $('#pCdDeposito').on("select2:unselect",
            function (e) {
                $('#pCdDeposito').closest('.form-group').find('label').css('visibility','hidden');
            });
        $('#pCdDeposito').prop('disabled',);
    });
</script>
                                        </div>
                                    </div>
                                    
        
<div class="form-group   col-md-2  ">
        
<label class="control-label   sr-only ">Dt. Consegna</label>
<div class="input-group input-group-sm date date-picker">
    <input class="form-control" data-mask="00/00/0000" id="pDtConsegna" name="pDtConsegna" placeholder="Data di Consegna" required="required" size="10" type="text" value="" />
    <span class="input-group-btn">
        <button class="btn default date-set" type="button">
            <i class="fa fa-calendar"></i>
        </button>
    </span>
</div>
        </div>
<script type="text/javascript">
    $(document).ready(function () {
        //inizializzo i DatePicker
        $('.date-picker').datepicker(
        {
            "format": "dd/mm/yyyy",
            
            "language": "it",
                        clearBtn: true,
            autoclose: true,
            todayHighlight: true,
        });
            var d = DateTimeYYYMMDD('21/02/2020 16:20:57').replace(/\s/, 'T');
            $('#pDtConsegna').closest('div.date-picker').datepicker('setDate', new Date(d));
        
    });
</script>
                                    <div class="form-group col-md-3">
                                        <label class="control-label sr-only">Refresh automatico</label>
                                        <div class="md-checkbox-inline">
                                            <div class="md-checkbox">
                                                <input type="checkbox" id="flRefresh" name="flRefresh" class="md-check">
                                                <label for="flRefresh" style="color:black !important">
                                                    <span class="inc"></span>
                                                    <span class="check"></span>
                                                    <span class="box"></span>
                                                    Refresh automatico
                                                </label>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="form-actions right ">
                                    <button type="button" id="btnSearch_pianodicarico" class="btn blue"> Cerca </button>
                                </div>
                            </div>
                        </form>
                    </div>
                    </br>
                    <!--END RICERCA-->
                    <!--START RESULT-->
                    <div class="portlet-body form" id="divResult_pianodicarico" style="border:solid 1px #e7ecf1;border-top:none;padding:15px;display:none">
                        <form role="form" action="#" id="frmResult" name="fmrResult">
                            <div class="row">
                                <div class="col-md-12 col-lg-12 col-sm-12 col-xs-12 table-responsive">
                                    <table class="display" cellspacing="0" width="100%" id="tablePianodicaricoMaster">
                                        <tbody>
                                            <tr><td class="dataTables_empty" colspan="5">Nessun risultato</td></tr>
                                        </tbody>
                                    </table>
                                    <script type="text/javascript">
    //var editor;
    $(document).ready(function () {
        //datatable definition
       $('#tablePianodicaricoMaster').dataTable({
                dom: 'frtip',
            
                        data: [],
                        
                        paging: true,
                        pageLength: 10,
                        
                        rowCallback: function (row, data) { return jsFunctionProgress(row, data); },
                        "filter": true,"info": false,"ordering": true,"processing": true,"retrieve": true,            order: [[1, 'asc']],
            responsive: true,
            language: {
                "url": "//cdn.datatables.net/plug-ins/1.10.16/i18n/Italian.json"
            },
            columns: [
                {
                            
                            "data": null,
                            "defaultContent": '',
                            
                    "title": "",
                    "className": "details-control",
                    "orderable": false,
                    "visible": true,
                },
                 
                {
                            
                            "data": "CdGiro",
                            "type": "text",
                            
                    "title": "Giro",
                    "className": "dt-left",
                    "orderable": true,
                    "visible": true,
                },
                 
                {
                            
                            "data": "DsGiro",
                            "type": "text",
                            
                    "title": "Ds. Giro",
                    "className": "dt-left progress style=&#39;background-color: transparent !important;&#39;",
                    "orderable": true,
                    "visible": true,
                },
                 
                {
                            
                            "data": "NrScarichi",
                            "type": "text",
                            
                    "title": "Nr. Scarichi",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": true,
                },
                 
                {
                            
                            "data": "GV",
                            "type": "text",
                            
                    "title": "GV",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": true,
"render": function(data,type, full, meta) {return jsFunctionHideZero(data, type, full, meta); },
                },
                 
                {
                            
                            "data": "OF",
                            "type": "text",
                            
                    "title": "OF",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": true,
"render": function(data,type, full, meta) {return jsFunctionHideZero(data, type, full, meta); },
                },
                 
                {
                            
                            "data": "SG",
                            "type": "text",
                            
                    "title": "SG",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": true,
"render": function(data,type, full, meta) {return jsFunctionHideZero(data, type, full, meta); },
                },
                 
                {
                            
                            "data": "PF",
                            "type": "text",
                            
                    "title": "PF",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": true,
"render": function(data,type, full, meta) {return jsFunctionHideZero(data, type, full, meta); },
                },
                 
                {
                            
                            "data": "CR",
                            "type": "text",
                            
                    "title": "CR",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": true,
"render": function(data,type, full, meta) {return jsFunctionHideZero(data, type, full, meta); },
                },
                 
                {
                            
                            "data": "SL",
                            "type": "text",
                            
                    "title": "SL",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": true,
"render": function(data,type, full, meta) {return jsFunctionHideZero(data, type, full, meta); },
                },
                 
                {
                            
                            "data": "TotaleKg",
                            "type": "text",
                            
                    "title": "Tot. KG.",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": true,
                },
                 
                {
                            
                            "data": "Im",
                            "type": "text",
                            
                    "title": "Importo",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": false,
                },
                 
                {
                            
                            "data": "NrRighe",
                            "type": "text",
                            
                    "title": "NrRighe",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": false,
                },
                 
                {
                            
                            "data": "NrRigheEvase",
                            "type": "text",
                            
                    "title": "NrRigheEvase",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": false,
                },
                 
                {
                            
                            "data": "RepartoCollection",
                            "type": "text",
                            
                    "title": "RepartoCollection",
                    "className": "dt-right",
                    "orderable": true,
                    "visible": false,
                },
                             ],
            select: true,
            
                        preDrawCallback: function (oSettings) {
                $(this).find('tbody').hide();
                return true;
            },
                
                drawCallback: function (oSettings) {
                    $(this).find('tbody').show("fast", function () {
                        $('#loadPianodicarico').hide();
                        $('#loader-wrapper').hide();
                    });
                    $('#tablePianodicaricoMaster').dataTable().resize();
                },
                
        });
        $('#tablePianodicaricoMaster'+'_wrapper').addClass('actions');
        $('#tablePianodicaricoMaster').on('page.dt', function () {
            $('#tablePianodicaricoMaster').DataTable().rows().eq(0).each(function (idx) {
                var row = $('#tablePianodicaricoMaster').DataTable().row(idx);
                if (row.child.isShown()) {
                    row.child.hide();
                }
            });
        })
    });
</script>
                                </div>
                            </div>
                        </form>
                    </div>
                    <!--END RESULT-->
                </div>
                <div class="portlet-body form">
                    <form role="form" action="/Home/Pianodicarico" id="frmPianodicarico" name="frmPianodicarico"></form>
                </div>
            </div>
        </div>
    </div>
</div>
<div class="modal fade draggable-modal" id="modalOrdine" tabindex="-1" role="dialog" aria-hidden="true"></div>
        </div>
    </div>
    <!-- END CONTAINER -->
    <!-- BEGIN FOOTER -->
    <div class="page-footer">
        <div class="page-footer-inner">2019&copy; Sapori di Toscana Spa <b>by dp</b></div>
        <div class="scroll-to-top"><i class="icon-arrow-up"></i></div>
    </div>
    <!-- END FOOTER -->
    <!-- BEGIN CORE PLUGINS -->
    <script src="/Template/global/plugins/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/js.cookie.min.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/jquery.blockui.min.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/uniform/jquery.uniform.min.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js" type="text/javascript"></script>
    <script src="/Template/pages/scripts/jquery.cookie.js" type="text/javascript"></script>
    <script src="/Template/pages/scripts/jquery.storage.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
    <script src="/Template/global/plugins/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js"></script>
    <script src="/Template/global/plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
    <script src="/Template/global/plugins/bootstrap-timepicker/js/bootstrap-timepicker.min.js"></script>
    <script src="/Template/global/plugins/moment.min.js"></script>
    <script src="/Template/global/plugins/moment-with-locales.min.js"></script>
    <script src="/Template/global/plugins/fullcalendar/core/main.min.js"></script>
    <script src="/Template/global/plugins/fullcalendar/daygrid/main.min.js"></script>
    <script src="/Template/global/plugins/fullcalendar/interaction/main.min.js"></script>
    <!-- END CORE PLUGINS -->
    <!-- BEGIN PAGE LEVEL PLUGINS -->
    <script src="/Template/global/plugins/jquery-validation/js/jquery.validate.min.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/jquery-validation/js/additional-methods.min.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/jquery-validation/js/localization/messages_it.min.js"></script>
    <!-- END PAGE LEVEL PLUGINS -->
    <!-- BEGIN THEME GLOBAL SCRIPTS -->
    <script src="/Template/global/plugins/select2/js/select2.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/bootstrap-toastr/toastr.min.js" type="text/javascript"></script>
    <script src="/Template/pages/scripts/ui-toastr.js" type="text/javascript"></script>
    <script src="/Template/global/plugins/bootbox/bootbox.min.js"></script>
    <script src="/Template/global/plugins/jQuery-Mask-Plugin-master/dist/jquery.mask.min.js"></script>
    <script src="/Template/global/scripts/functions.js"></script>
    <!-- END THEME GLOBAL SCRIPTS -->
    
    <!-- BEGIN PAGE LEVEL SCRIPTS -->
    <script src="/Template/global/plugins/lz-string/lz-string.min.js"></script>
    <script src="/Template/global/plugins/bootstrap-touchspin/bootstrap.touchspin.min.js"></script>
    <script src="/Template/global/plugins/fuelux/js/spinner.min.js"></script>
    <!-- END PAGE LEVEL SCRIPTS -->
    <script type="text/javascript">
        var detailRows = [];     
        var lastPage = null;
        function jsFunctionProgress(row, data) {
            var pc = 0;
            var tot = data["NrRighe"];
            var par = data["NrRigheEvase"];
            var x = par * 100 / tot;
            var p = "";
            p += "<span>" + data["DsGiro"] + "</span>";
            p += "<div class='progress' style='height:2px; margin-bottom: 0px !important;'>";
            p += "<div class='progress-bar'"
            p += "role='progressbar' aria-valuenow='" + x + "' aria-valuemin='0' aria-valuemax='100' style = 'width:" + x + "%;"
            if (x == 100) p += " background-color:green !important;"
            p += "' >";
            p += "</div>";
            p += "</div>";
            $(row.cells[2]).html(p);
        }
        function jsFunctionHideZero(data, type, full, meta) {
            if (data == 0) return '';
            else {                
                return data; 
            }
        }
        function jsFunctionHideZeroD(data, type, full, meta) {
            if (data == 0) return '';
            else {
                if (full.RepartoCollection != null || full.RepartoCollection != undefined) {
                    $.each(full.RepartoCollection, function (i, v) {
                        if (v.Acronimo == meta.settings.aoColumns[meta.col].sTitle) {
                            var p = "";
                            p += "<span>" + data + "</span>";
                            p += "<div class='progress' style='height:2px; margin-bottom: 0px !important;'>";
                            p += "<div class='progress-bar'"
                            p += "role='progressbar' aria-valuenow='100' aria-valuemin='0' aria-valuemax='100' style = 'width:100%;"
                            p += "' >";
                            p += "</div>";
                            p += "</div>";
                            data = p;
                        } 
                    })
                }
                return data;
            }
        }
        function jsFunctionAction(data, type, full) {
            var a = JSON.stringify(JSON.stringify(full));
            a = LZString.compressToEncodedURIComponent(a);
            var p = "<span>";
            p += "<a href='#' title='Cambio giro' dataname='EditButton'";
            if (full.Bloccato == true || full.StatoOrdine == "E" )  {
                p += " class='disabled' ";
            }
            p += " onClick = 'return functionChangeGiro(\"" + a + "\");' > <i class='fa fa-exchange fa-lg' aria-hidden='true' style='color:black;'></i></a ></span> "
            p += "<span><a href='#' title='Cambio sequenza' dataname='EditButton' "
            if (full.Bloccato == true || full.StatoOrdine == "E" ) {
                p += " class='disabled' ";
            }
            p += "  onClick = 'return functionChangeSequenza(\"" + a + "\");' > <i class='fa fa-bars fa-lg' aria-hidden='true' style='color:black;'></i></a > "
            p += "</span>";
            return p;
        }
        function functionChangeGiro(d) {
            d = JSON.parse(LZString.decompressFromEncodedURIComponent(d));
            var full = JSON.parse(d);
            var giri;
            $('#loader-wrapper').show();
            callback = function (AnnoOrdine, NrOrdine, CdGiro, data) {
                var ordine = {}
                ordine["AnnoOrdine"] = AnnoOrdine;
                ordine["NrOrdine"] = NrOrdine;
                ordine["CdGiro"] = data[0].id;
                ordine["Utente"] = $('#hUser').val();
                ordine["pAnnoOrd"] = AnnoOrdine;
                ordine["pNrOrd"] = NrOrdine;
                ordine["pCdGiro"] = CdGiro;
                var lsOrdini = []
                lsOrdini.push(JSON.stringify(ordine))
                $.ajax({
                    type: "POST",
                    data: { "EditJson": JSON.stringify(lsOrdini) },
                    url: App.getGlobalWcfErgonPath() + "UpdateGiroConsegna",
                    contentType: "application/json; charset=utf-8",
                    dataType: "jsonp",
                }).done(function (result) {
                    if (result.Error == null || result.Error == "") {
                        //toaster
                        $.toast('success', 'Salvataggio avvenuto con successo', undefined, function () {
                            $('#loader-wrapper').hide();
                            loadDataTable();
                            giroModal.modal('hide');
                        });
                    } else {
                        $.toast('error', "Il salvataggio ha generato un errore.</br> Se l'errore persiste contattare l\'amministratore.</br></br> <b>" + JSON.parse(result.Error).Message) + "</b>";
                        $('#loader-wrapper').hide();
                        giroModal.modal('hide');
                    }
                }).fail(function (jqXHR, textStatus, errorThrown) {
                    alert("errore:" + textStatus);
                });
            };
            var guid = $.now();
            var giroModal = $(getGiroModal(guid));
            giroModal.find('#okButton').click(function (e) {
                //recupero il valore selezionato
                var data = $(this).closest('.modal').find('.select2').select2('data');
                callback(full.AnnoOrdine, full.NrOrdine, full.CdGiro, data);
            });
            giroModal.modal({ keyboard: true, });
            giroModal.on('shown.bs.modal', function () { initiateSelect2('#idSelectCambioGiro', guid, "GetDdGiroConsegna", "Giro Consegna"); });
            giroModal.data('bs.modal').handleUpdate();
            giroModal.on('hidden.bs.modal', function () {
                $(this).data('bs.modal', null);
                $(this).remove();
                $('#loader-wrapper').hide();
            });
        }
        function getGiroModal(guid) {
            var controlSelect = document.createElement('select');
            controlSelect.id = "idSelectCambioGiro" + guid;
            controlSelect.className = "form-control form-control-sm select2 js-data-example-ajax";
            var sGiroModal =
                '<div class="modal fade draggable-modal" role="dialog" aria-hidden="true">' +
                '<div class="modal-dialog modal-lg">' +
                '<div class= "modal-content" > ' +
                '<div class="modal-header">' +
                '<h2 class="alert-heading">Cambio Giro Consegna</h2>' +
                '<button type="button" class="close" id="btnModalClose" aria-hidden="true"></button>' +
                '</div> ' +
                '<div class="modal-body"><div class="row"><div class="form-group col-md-12"><div class="input-group input-group-sm col-md-12">' +
                controlSelect.outerHTML +
                '</div></div></div></div>' +
                '<div class="modal-footer">' +
                '<a class="btn default" data-dismiss="modal">Annulla</a>' +
                '<a id="okButton" class="btn green btn-primary">OK</a>' +
                '</div>' +
                '</div> ' +
                '</div>';
            return sGiroModal;
        }
        function getSequenzaModal(guid) {
            var inputSpinner = document.createElement('input');
            inputSpinner.id = "idSequenza" + guid;
            inputSpinner.type = "text"
            inputSpinner.setAttribute("value", "full.Sequenza")
            inputSpinner.setAttribute("name", "demo_vertical")
            inputSpinner.className = "form-control";
            inputSpinner.style.cssText = "display:block;"
            var sSequenzaModal =
                '<div class="modal fade draggable-modal" role="dialog" aria-hidden="true">' +
                '<div class="modal-dialog modal-lg">' +
                '<div class= "modal-content" > ' +
                '<div class="modal-header">' +
                '<h2 class="alert-heading">Cambio Sequenza Consegna</h2>' +
                '<button type="button" class="close" id="btnModalClose" aria-hidden="true"></button>' +
                '</div> ' +
                '<div class="modal-body"><div class="row"><div class="form-group col-md-12"><div class="input-group input-group-sm col-md-12">' +
                inputSpinner.outerHTML +
                '</div></div></div></div>' +
                '<div class="modal-footer">' +
                '<a class="btn default" data-dismiss="modal">Annulla</a>' +
                '<a id="okButton" class="btn green btn-primary">OK</a>' +
                '</div>' +
                '</div> ' +
                '</div>';
            return sSequenzaModal;
        }
        function initiateSelect2(id, guid, method, placeholder) {
            var s2 = $(id + guid);
            s2.select2({
                placeholder: placeholder,
                allowClear: true,
                minimumInputLength: 0,
                closeOnSelect: true,
                theme: "bootstrap",
                width: "100%",
                ajax: {
                    url: App.getGlobalWcfErgonPath() + method, 
                    contentType: "application/json; charset=utf-8",
                    dataType: 'jsonp',
                    delay: 250,
                    data: function (params) {
                        return {
                            Filter: JSON.stringify(params.term),
                            Deposito: $("#pCdDeposito").val(),
                            IdUser: $('#pIdUser').val(),
                        }
                    },
                    processResults: function (data, params) {
                        var results = [];
                        $.each(JSON.parse(data.Data), function (i, v) {
                            var o = {};
                            o.id = "" + v.Id;
                            o.text = v.Testo;
                            results.push(o);
                        })
                        return {
                            results: results
                        };
                    },
                    cache: true
                },
                escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
                templateResult: function (item) {
                    if (item.loading) return item.text;
                    var markup = '<option value="' + item.id + '">' + item.id + " - " + item.text + '</option>';
                    return markup;
                },
                templateSelection: function (item) {
                    return item.value || item.text;
                },
            }).on("select2:focus", function () {
                s2.select2("open");
            });
        }
        function initTouchSpin(guid) {
            var ts = $('#idSequenza' + guid);
            ts.TouchSpin({
                min: -1,
                max: 100,
                stepinterval: 1,
                //maxboostedstep: 10000000,
                //prefix: '$'
            });
        }
        function functionChangeSequenza(d) {
            d = JSON.parse(LZString.decompressFromEncodedURIComponent(d));
            var full = JSON.parse(d);
            var giri;
            $('#loader-wrapper').show();
            callback = function (AnnoOrdine, NrOrdine, DtConsegna, CdGiro, Sequenza, data) {
                var ordine = {}
                ordine["AnnoOrdine"] = AnnoOrdine;
                ordine["NrOrdine"] = NrOrdine;
                ordine["DtConsegna"] = moment(DtConsegna).format();
                ordine["CdDeposito"] = $("#pCdDeposito").val();
                ordine["CdGiro"] = CdGiro;
                ordine["Sequenza"] = data;
                ordine["pAnnoOrd"] = AnnoOrdine;
                ordine["pNrOrd"] = NrOrdine;
                ordine["pCdGiro"] = CdGiro;
                ordine["pSequenza"] = Sequenza;
                var lsOrdini = []
                lsOrdini.push(JSON.stringify(ordine))
                $.ajax({
                    type: "POST",
                    data: { "EditJson": JSON.stringify(lsOrdini) },
                    url: App.getGlobalWcfErgonPath() + "UpdateSequenzaConsegna",
                    contentType: "application/json; charset=utf-8",
                    dataType: "jsonp",
                }).done(function (result) {
                    if (result.Error == null || result.Error == "") {
                        //toaster
                        $.toast('success', 'Salvataggio avvenuto con successo', undefined, function () {
                            $('#loader-wrapper').hide();
                            loadDataTable();
                            sequenzaModal.modal('hide');
                        });
                    } else {
                        $.toast('error', "Il salvataggio ha generato un errore.</br> Se l'errore persiste contattare l\'amministratore.</br></br> <b>" + JSON.parse(result.Error).Message) + "</b>";
                        $('#loader-wrapper').hide();
                        sequenzaModal.modal('hide');
                    }
                }).fail(function (jqXHR, textStatus, errorThrown) {
                    alert("errore:" + textStatus);
                });
            };
            var guid = $.now();
            
            var sequenzaModal = $(getSequenzaModal(guid));
            sequenzaModal.find('#okButton').click(function (e) {
                //funzione di aggiornamento ajax
                //recupero il valore selezionato
                var data = $(this).closest('.modal').find('input[name="demo_vertical"]').val();
                callback(full.AnnoOrdine, full.NrOrdine, full.DtConsegna, full.CdGiro, full.Sequenza, data);
            });
            sequenzaModal.modal({ keyboard: true, });
            sequenzaModal.on('shown.bs.modal', function () { initTouchSpin(guid); });
            sequenzaModal.data('bs.modal').handleUpdate();
            sequenzaModal.on('hidden.bs.modal', function () {
                $(this).data('bs.modal', null);
                $(this).remove();
                $('#loader-wrapper').hide();
            });
        }
        function jsFunctionRagioneSociale(data, type, full) {
            var color;
            color = '';
            if (full.Bloccato == true)
                color += '<span style="color: red">';
            else color += '<span>';
            color += data;
            if (full.NoteOrdine != undefined && full.NoteOrdine != "") {
                var note;
                note = full.NoteOrdine;
                color += "<span style='float: right;'><a href='#'  id='aNote' onClick='return functionViewNote(\"" + note + "\");";
                color += "'><i class='fa fa-sticky-note fa-lg' aria-hidden='true'></i></a></span>";
            }
            color += '</span>';
            return color;
        }
        function cambioSequenza(e, dt, node, config) {
            //recupero le righe selezionate
            var data = dt.table().$('input[type="checkbox"]:checked');
            if (data.length == 0) {
                bootbox.alert("Non è stato selezionato nessun ordine da spostare");
                return;
            } else {
                $('#loader-wrapper').show();
                var arrCli= []
                data.each(function (i, v) {
                    var o = $(v).val().split('.');
                    var oi = {};
                    oi["CdCli"] = o[4];
                    arrCli.push(oi)
                })
                var af = new Set(arrCli.sort(function (a, b) {
                    var f1 = a.CdCli;
                    var f2 = b.CdCli;
                    if (f1 < f2) return -1;
                    if (f1 > f2) return 1;
                    return 0;
                }).map(x => x.CdCli));//restituisce una collection di fornitori univoci
                if (af.size > 1) {
                    bootbox.alert("Non è possible cambiare sequenza in maniera comulativa per clienti diversi");
                    $('#loader-wrapper').hide();
                    return;                    
                }
                var lsOrdini = []
                //visualizzo la  finestra modale per la richiesta del giro di destinazione
                var guid = $.now();
                var sequenzaModal = $(getSequenzaModal(guid));
                sequenzaModal.find('#okButton').click(function (e) {
                    //funzione di aggiornamento ajax
                    //recupero il valore selezionato
                    var data = $(this).closest('.modal').find('input[name="demo_vertical"]').val();
                    callback(data);
                });
                sequenzaModal.modal({ keyboard: true, });
                sequenzaModal.on('shown.bs.modal', function () { initTouchSpin(guid); });
                sequenzaModal.data('bs.modal').handleUpdate();
                sequenzaModal.on('hidden.bs.modal', function () {
                    $(this).data('bs.modal', null);
                    $(this).remove();
                    $('#loader-wrapper').hide();
                });
                
                callback = function (val) {
                    data.each(function (i, v) {
                        var o = $(v).val().split('.');
                        var ordine = {}
                        ordine["AnnoOrdine"] = o[0];
                        ordine["NrOrdine"] = o[1];
                        ordine["DtConsegna"] = moment($("#pDtConsegna").closest('div.date-picker').datepicker('getUTCDate')).format()
                        ordine["CdDeposito"] = $("#pCdDeposito").val();
                        ordine["CdGiro"] = o[2];
                        ordine["Sequenza"] = val;
                        ordine["Utente"] = $('#hUser').val();
                        ordine["pAnnoOrd"] = o[0];
                        ordine["pNrOrd"] = o[1]
                        ordine["pCdGiro"] = o[2];
                        ordine["pSequenza"] = o[3];
                        ordine["pCdCliente"] = o[4];
                        lsOrdini.push(JSON.stringify(ordine))
                    })
                    $.ajax({
                        type: "POST",
                        data: { "EditJson": JSON.stringify(lsOrdini) },
                        url: App.getGlobalWcfErgonPath() + "UpdateSequenzaConsegna",
                        contentType: "application/json; charset=utf-8",
                        dataType: "jsonp",
                    }).done(function (result) {
                        if (result.Error == null || result.Error == "") {
                            //toaster
                            $.toast('success', 'Salvataggio avvenuto con successo', undefined, function () {
                                $('#loader-wrapper').hide();
                                loadDataTable();
                                sequenzaModal.modal('hide');
                            });
                        } else {
                            $.toast('error', "Il salvataggio ha generato un errore.</br> Se l'errore persiste contattare l\'amministratore.</br></br> <b>" + JSON.parse(result.Error).Message) + "</b>";
                            $('#loader-wrapper').hide();
                            sequenzaModal.modal('hide');
                        }
                    }).fail(function (jqXHR, textStatus, errorThrown) {
                        alert("errore:" + textStatus);
                    });
                };
            }
        }
        function cambioGiro(e, dt, node, config) {
            //recupero le righe selezionate
            var data = dt.table().$('input[type="checkbox"]:checked');
            if (data.length == 0) {
                bootbox.alert("Non è stato selezionato nessun ordine da spostare");
                return;
            } else {
                $('#loader-wrapper').show();
                var lsOrdini = []
                //visualizzo la  finestra modale per la richiesta del giro di destinazione
                var guid = $.now();
                var giroModal = $(getGiroModal(guid));
                giroModal.find('#okButton').click(function (e) {
                    //recupero il valore selezionato
                    var data = $(this).closest('.modal').find('.select2').select2('data');
                    callback(data[0].id);
                });
                giroModal.modal({ keyboard: true, });
                giroModal.on('shown.bs.modal', function () { initiateSelect2('#idSelectCambioGiro', guid, "GetDdGiroConsegna", "Giro Consegna"); });
                giroModal.data('bs.modal').handleUpdate();
                giroModal.on('hidden.bs.modal', function () {
                    $(this).data('bs.modal', null);
                    $(this).remove();
                    $('#loader-wrapper').hide();
                });
                
                callback = function (val) {
                    data.each(function (i, v) {
                        var o = $(v).val().split('.');
                        var ordine = {}
                        ordine["AnnoOrdine"] = o[0];
                        ordine["NrOrdine"] = o[1];
                        ordine["CdGiro"] = val;
                        ordine["Utente"] = $('#hUser').val();
                        ordine["pAnnoOrd"] = o[0];
                        ordine["pNrOrd"] = o[1]
                        ordine["pCdGiro"] = o[2];
                        lsOrdini.push(JSON.stringify(ordine))
                    })
                    $.ajax({
                        type: "POST",
                        data: { "EditJson": JSON.stringify(lsOrdini) },
                        url: App.getGlobalWcfErgonPath() + "UpdateGiroConsegna",
                        contentType: "application/json; charset=utf-8",
                        dataType: "jsonp",
                    }).done(function (result) {
                        if (result.Error == null || result.Error == "") {
                            //toaster
                            $.toast('success', 'Salvataggio avvenuto con successo', undefined, function () {
                                $('#loader-wrapper').hide();
                                loadDataTable();
                                giroModal.modal('hide');
                            });
                        } else {
                            $.toast('error', "Il salvataggio ha generato un errore.</br> Se l'errore persiste contattare l\'amministratore.</br></br> <b>" + JSON.parse(result.Error).Message) + "</b>";
                            $('#loader-wrapper').hide();
                            giroModal.modal('hide');
                        }
                    }).fail(function (jqXHR, textStatus, errorThrown) {
                        alert("errore:" + textStatus);
                    });
                };
            }
            //sul conferma aggiorno le righe
        }
        function getAssegnazioneModal(guid) {
            //var controlSelectAutomezzo = document.createElement('select');
            //controlSelectAutomezzo.id = "idSelectAutomezzo" + guid;
            //controlSelectAutomezzo.className = "form-control form-control-sm select2 js-data-example-ajax";
            var controlSelectConducente = document.createElement('select');
            controlSelectConducente.id = "idSelectConducente" + guid;
            controlSelectConducente.className = "form-control form-control-sm select2 js-data-example-ajax";
            var sGiroModal =
                '<div class="modal fade draggable-modal" role="dialog" aria-hidden="true">' +
                '<div class="modal-dialog modal-lg">' +
                '<div class= "modal-content" > ' +
                '<div class="modal-header">' +
                '<h2 class="alert-heading">Assegnazione Giro Consegna</h2>' +
                '<button type="button" class="close" id="btnModalClose" aria-hidden="true"></button>' +
                '</div> ' +
                //'<div class="modal-body"><div class="row"><div class="form-group col-md-12"><div class="input-group input-group-sm col-md-12">' +
                //controlSelectAutomezzo.outerHTML +
                //'</div></div></div></div>' +
                '<div class="modal-body"><div class="row"><div class="form-group col-md-12"><div class="input-group input-group-sm col-md-12">' +
                controlSelectConducente.outerHTML +
                '</div></div></div></div>' +
                '<div class="modal-footer">' +
                '<a class="btn default" data-dismiss="modal">Annulla</a>' +
                '<a id="okButton" class="btn green btn-primary">OK</a>' +
                '</div>' +
                '</div> ' +
                '</div>';
            return sGiroModal;
        }
        function AssegnaGiro(e, dt, node, config) {
            //recupeoro le righe selezionate
            $('#loader-wrapper').show();
            //visualizzo la  finestra modale per la richiesta del giro di destinazione
            var guid = $.now();
            var data;
            dt.data().map(function (row) {
                data = {};
                data["pCdDeposito"] = $("#pCdDeposito").val();
                data["pDtConsegna"] = moment(row.DtConsegna).format();
                data["pCdGiro"] = row.CdGiro;
            });
            var assegnazioneModal = $(getAssegnazioneModal(guid));
            assegnazioneModal.find('#okButton').click(function (e) {
                var ls = [];
                var data = [];
                //recupero il valore selezionato
                $(this).closest('.modal').find('.select2').select2().each(function (i, v) {
                    ls.push(v);
                });
                for (var i = 0; i < ls.length; i++) {
                    var d = $(ls[i]).select2('data');
                    if(d.length>0)data.push($(ls[i]).select2('data'));
                }
                callback(data);
            });
            assegnazioneModal.modal({ keyboard: true, });
            assegnazioneModal.on('shown.bs.modal', function () {
                //initiateSelect2('#idSelectAutomezzo', guid, "GetDdAutomezzo", "Automezzo");
                initiateSelect2('#idSelectConducente', guid, "GetDdConducente", "Conducente");
            });
            assegnazioneModal.data('bs.modal').handleUpdate();
            assegnazioneModal.on('hidden.bs.modal', function () {
                $(this).data('bs.modal', null);
                $(this).remove();
                $('#loader-wrapper').hide();
            });
            callback = function (val) { //riceve un array delle select valorizzate
                var ordine = {}
                ordine["CdDep"] = data["pCdDeposito"];
                ordine["DtConsegna"] = data["pDtConsegna"];
                ordine["CdGiro"] = data["pCdGiro"];
                //ordine["IdAutomezzo"] = val[0][0].id;
                ordine["IdConducente"] = val[0][0].id;
                $.ajax({
                    type: "POST",
                    data: { "EditJson": JSON.stringify(ordine) },
                    url: App.getGlobalWcfErgonPath() + "AssegnazioneGiroConsegna",
                    contentType: "application/json; charset=utf-8",
                    dataType: "jsonp",
                }).done(function (result) {
                    if (result.Error == null || result.Error == "") {
                        //toaster
                        $.toast('success', 'Salvataggio avvenuto con successo', undefined, function () {
                            $('#loader-wrapper').hide();
                            loadDataTable();
                            assegnazioneModal.modal('hide');
                        });
                    } else {
                        $.toast('error', "Il salvataggio ha generato un errore.</br> Se l'errore persiste contattare l\'amministratore.</br></br> <b>" + JSON.parse(result.Error).Message) + "</b>";
                        $('#loader-wrapper').hide();
                        assegnazioneModal.modal('hide');
                    }
                }).fail(function (jqXHR, textStatus, errorThrown) {
                    alert("errore:" + textStatus);
                });
            };
        }
        function printDetails(e, dt, node, config) {
            var win;
            var data;
            dt.data().map(function (row) {
                data = {};
                data["pCdDeposito"] = $("#pCdDeposito").val();
                data["pDtConsegna"] = moment(row.DtConsegna).format();
                data["pCdGiro"] = row.CdGiro;
            });
            var action = "/Home/ReportViewer";
            var url = '/Home/ReportViewerGet?ReportName=ReportPianoDiCarico&amp;ReportService=GetDtPianoDiCaricoDetail&amp;JsonResponse=jsonresponse';
            url = url.replace(/&amp;/g, "&");
            var jsonR = LZString.compressToEncodedURIComponent(JSON.stringify(data));
            url = url.replace("jsonresponse", jsonR);
            window.open(url, "_blank");
        };
        function loadDataTable() {
            console.log('loadDataTable');
            console.trace()
            $("#loadPianoDiCarico").show();
            var w = App.getGlobalWcfErgonPath();
            dataTableSearch('frmSearch_pianodicarico', w, 'GetDtPianoDiCaricoMaster', '#tablePianodicaricoMaster', '#divResult_pianodicarico', lastPage, detailRows);
            $("#loadPianoDiCarico").hide();
        }
        function setEditButton() {
            var pathname = $(location).attr('pathname');
            var grant = $('a[href="' + pathname + '"]').attr('data-grant');
            var a = $('a[dataname=EditButton]');
            $.each(a, function (i, v) {
                if (!($.inArray('U', grant) > 0))
                    $(v).addClass('disabled');
            });
            var ic = $('input[type="checkbox"][dataname=EditButton]');
            $.each(ic, function (i, v) {
                if (!($.inArray('U', grant) > 0))
                    $(v).attr("disabled", true);;
            });
        }
        function jsFunctionCheckBox(data, type, full, meta) {
            var d = ''
            if (full.StatoOrdine == "E" || full.Bloccato) { d = "disabled"; }
            return '<input type="checkbox" dataname="EditButton" ' + d + ' value=' + full.AnnoOrdine + '.' + full.NrOrdine + '.' + full.CdGiro + '.' + full.Sequenza + '.' + full.CdCli + '>';
        };
        function onRowDetailsClick(table) {
            //console.log('DataTable > onRowDetailsClick [' + new Date() + "]");
            var tr = $(this).closest('tr');
            var row = $('#tablePianodicaricoMaster').DataTable().row(tr);
            var rowData = row.data();
            var idx = $.inArray(row.index(), detailRows);
            var _url = App.getGlobalWcfErgonPath() + "GetDtPianoDiCaricoDetail";
            var _data = JSON.stringify({ pCdDeposito: $("#pCdDeposito").val(), pDtConsegna: moment($('#pDtConsegna').closest('div.date-picker').datepicker('getDate')).format(), pCdGiro: rowData.CdGiro });
            if (row.child.isShown()) {
                tr.removeClass('shown');
                row.child.hide();
                // Remove from the 'open' array
                detailRows.splice(row.index(), 1);
            }
            else {
                tr.addClass('shown');
                //row.child(format(row.data())).show();
                row.child("<div class='wrapper loading'><div id='loadDetail" + rowData.CdGiro + "' class='elaborazione'>Elaborazione ...</div>" +
                    "<table class='table table-bordered table-hover child_table' cellspacing='0'  id='tablePianodicaricoDetail" + rowData.CdGiro +
                    "' style='padding-left:50px;'><tbody></tbody></table></div>").show();
                var detailsTableOpt = $('#tablePianodicaricoDetail' + rowData.CdGiro).dataTable({
                    'dom': 'Bfrtip',
                    'data': [],
                    'serverSide': false,
                    'processing': false,
                    'scrollY': '50vh',
                    'scrollCollapse': true,
                    'searching': false,
                    'info': false,
                    'paging': false,
                    'language': { "url": "//cdn.datatables.net/plug-ins/1.10.16/i18n/Italian.json" },
                    'destroy': true,
                    'responsive': true,
                    'order': [],
                    'buttons': [
                        {
                            text: '<i class="fa fa-print" aria-hidden="true"></i>',
                            titleAttr: 'Stampa',
                            action: function (e, dt, node, config) {
                                return printDetails(e, dt, node, config);
                            }
                        },
                        {
                            extend: 'copyHtml5',
                            text: '<i class="fa fa-files-o"></i>',
                            titleAttr: 'Copia',
                            exportOptions: { columns: ':visible' }
                        },
                        {
                            extend: 'excelHtml5',
                            text: '<i class="fa fa-file-excel-o"></i>',
                            titleAttr: 'Excel',
                            exportOptions: { columns: ':visible' }
                        },
                        {
                            extend: 'pdfHtml5',
                            text: '<i class="fa fa-file-pdf-o"></i>',
                            titleAttr: 'PDF',
                            exportOptions: { columns: ':visible' }
                        },
                        {
                            text: '<i class="fa fa-exchange  aria-hidden="true"></i>',
                            titleAttr: 'Cambio Giro',
                            action: function (e, dt, node, config) {
                                return cambioGiro(e, dt, node, config);
                            }
                        },
                        {
                            text: '<i class="fa fa-bars  aria-hidden="true"></i>',
                            titleAttr: 'Cambio Sequenza',
                            action: function (e, dt, node, config) {
                                return cambioSequenza(e, dt, node, config);
                            }
                        },
                        {
                            text: '<i class="fa fa-upload aria-hidden="true"></i>',
                            titleAttr: 'Assegna giro',
                            action: function (e, dt, node, config) {
                                return AssegnaGiro(e, dt, node, config);
                            }
                        },
                    ],
                    'columns': [
                        { data: null, className: "dt-body-center", render: function (data, type, full) { return jsFunctionCheckBox(data, type, full); }, orderable: false },
                        { data: "Sequenza", title: "Seq.", className: "dt-center details-control1", visible: true, orderable: true },
                        { data: "CdCli", title: "Cliente", className: "dt-center", visible: true, orderable: false },
                        { data: "RagioneSociale", title: "Ragione Sociale", className: "dt-left", visible: true, orderable: false, render: function (data, type, full) { return jsFunctionRagioneSociale(data, type, full); } },
                        { data: "Indirizzo", title: "Indirizzo", className: "dt-left", visible: false, orderable: false },
                        { data: "Localita", title: "Località", className: "dt-left", visible: true, orderable: false },
                        { data: "Provincia", title: "Provincia", className: "dt-left", visible: false, orderable: false },
                        { data: "NrRighe", title: "Nr. Righe", className: "dt-right", visible: true, orderable: false },
                        { data: "Bloccato", title: "Bloccato", className: "dt-right", visible: false, orderable: false },
                        { data: "StatoOrdine", title: "StatoOrdine", className: "dt-right", visible: false, orderable: false },
                        { data: "GV", title: "GV", className: "dt-right", visible: true, orderable: false, render: function (data, type, full, meta) { return jsFunctionHideZeroD(data, type, full, meta); } },
                        { data: "OF", title: "OF", className: "dt-right", visible: true, orderable: false, render: function (data, type, full, meta) { return jsFunctionHideZeroD(data, type, full, meta); } },
                        { data: "SG", title: "SG", className: "dt-right", visible: true, orderable: false, render: function (data, type, full, meta) { return jsFunctionHideZeroD(data, type, full, meta); } },
                        { data: "PF", title: "PF", className: "dt-right", visible: true, orderable: false, render: function (data, type, full, meta) { return jsFunctionHideZeroD(data, type, full, meta); } },
                        { data: "CR", title: "CR", className: "dt-right", visible: true, orderable: false, render: function (data, type, full, meta) { return jsFunctionHideZeroD(data, type, full, meta); } },
                        { data: "SL", title: "SL", className: "dt-right", visible: true, orderable: false, render: function (data, type, full, meta) { return jsFunctionHideZeroD(data, type, full, meta); } },
                        { data: "TotaleKg", title: "Tot. KG.", className: "dt-right", visible: true, orderable: false },
                        { data: "Im", title: "Importo", className: "dt-right", visible: false, orderable: false },
                        { data: "NoteOrdine", title: "Note", className: "dt-right", visible: false, orderable: false },
                        { data: null, title: "Azioni", className: "dt-right", visible: true, orderable: false, render: function (data, type, full) { return jsFunctionAction(data, type, full); } },
                        { data: "AnnoOrdine", title: "AnnoOrdine", className: "dt-left", visible: false, orderable: false },
                        { data: "NrOrdine", title: "NrOrdine", className: "dt-left", visible: false, orderable: false },
                        { data: "CdGiro", title: "CdGiro", className: "dt-left", visible: false, orderable: false },
                        { data: "DsGiro", title: "DsGiro", className: "dt-left", visible: false, orderable: false },
                        { data: "DtConsegna", title: "DtConsegna", className: "dt-left", visible: false, orderable: false },
                    ],
                    'select': {
                        style: 'os',
                        selector: 'multi'
                    },
                });
                $.ajax({
                    type: "POST",
                    data: { "StringSearch": _data },
                    url: _url,
                    contentType: "application/json; charset=utf-8",
                    dataType: "jsonp",
                }).done(function (result) {
                    $(detailsTableOpt).DataTable().clear().draw();
                    $(detailsTableOpt).DataTable().rows.add($.parseJSON(result.Data)).draw();
                    var inputCheckBox = document.createElement('input');
                    inputCheckBox.id = "detail-select-all";
                    inputCheckBox.type = "checkbox";
                    inputCheckBox.onclick = function () { return selezionaTutto(this, $(detailsTableOpt).attr('id')); }
                    $($(detailsTableOpt).DataTable().table().header()).find('th').eq(0).append(inputCheckBox);
                    setEditButton();
                    $('.wrapper').removeClass('loading');
                    $('#loadDetail' + rowData.CdGiro).hide();
                }).fail(function (jqXHR, textStatus, errorThrown) {
                    alert("errore:" + textStatus);
                });
                // Add to the 'open' array
                if (idx === -1) {
                    detailRows.push(row.index());
                }
            }
            function selezionaTutto(t, d) {
                var rows = $('#' + d).DataTable().table().rows({ 'search': 'applied' }).nodes();
                $('input[type="checkbox"]:enabled', rows).prop('checked', $(t).is(":checked"));
            }
            // Add event listener for opening and closing second level child details
            $('.child_table tbody').off().on('click', 'td.details-control1', function () {
                var tr = $(this).closest('tr');
                var row = $($(this).closest('table')).DataTable().row(tr)
                var rowData = row.data();
                ordineSearch = {}
                ordineSearch["pAnnoOrd"] = rowData.AnnoOrdine;
                ordineSearch["pNrOrd"] = rowData.NrOrdine;
                var jsonR = LZString.compressToEncodedURIComponent(JSON.stringify(ordineSearch));
                $('#loadPianoDiCarico').show;
                $.get("/Home/OrdineModalJson?JsonData=" + jsonR, function (t) {
                    $('#modalOrdine').html(t);
                    $('#modalOrdine').modal({ keyboard: true, });
                    $('#modalOrdine').data('bs.modal').handleUpdate();
                }).fail(function (jqXHR, textStatus, errorThrown) {
                    console.log("OrdineModalJson err :" + textStatus);
                    $.toast('error', "L'operazione ha generato un errore.</br> Se l'errore persiste contattare l\'amministratore.</br></br></b>");
                }).always(function () {
                    $('#loader-wrapper').hide();
                    $('#loadPianoDiCarico').hide();
                });
            });     
        }
        $(document).ready(function () {
            $('#pIdUser').val($('#hUserId').val()); //valorizzo lo user sul form del piano di carico
            $("#btnModalClose").on('click', function () {
                $('.modal [role="dialog"]').modal('hide');
            });
            //validate form
            $('#frmSearch_pianodicarico').validate({
                ignore: "",
                errorClass: 'help-block help-block-error', // default input error message class
                focusInvalid: false, // do not focus the last invalid input
                invalidHandler: function (event, validator) { //display error alert on form submit
                    $('.alert-danger.pianodicarico').show();
                    $('#loader-wrapper').hide();
                },
                errorPlacement: function (error, element) { // render error placement for each input type
                    var icon = $(element).parent('.input-group').children('i');
                    icon.removeClass('fa-check').addClass("fa-warning");
                    icon.attr("data-original-title", error.text()).tooltip({ 'container': 'body' });
                },
                highlight: function (element) { // hightlight error inputs
                    $(element)
                        .closest('.input-group').addClass('has-error'); // set error class to the control group
                    var tpane = $(element).closest('.tab-pane').attr('id');
                    $("a[href=#" + tpane + "]").tab('show');
                },
                success: function (label, element) {
                    $(element).closest('.input-group').removeClass('has-error');
                },
                submitHandler: function (form) {
                    $('.alert-danger.pianodicarico').hide();
                }
            });
            $('#tablePianodicaricoDetail').hide();
            $('#btnSearch_pianodicarico').on('click', function () {
                var isValid = false
                isValid = $('#frmSearch_pianodicarico').validate().form();
                if (isValid) {
                    detailRows = [];
                    $('.alert-danger.pianodicarico').hide();
                    loadDataTable();
                }
            });
            $('#tablePianodicaricoMaster tbody').on('click', 'td.details-control', function () {
                console.log('DataTable > click td.details-control [' + new Date() + "]");
                onRowDetailsClick.call(this, $('#tablePianodicaricoMaster').DataTable());
            });
            $('#flRefresh').on('change', function () {
                var pages = $('#tablePianodicaricoMaster').DataTable().page.info().pages;
                var page = $('#tablePianodicaricoMaster').DataTable().page();
                if (this.checked) {
                    idInterval = setInterval(function () {
                        page++;
                        $('#tablePianodicaricoMaster').DataTable().page(page).draw('page');
                        if (page >= pages - 1) page = -1;
                    }, 60000);
                }
                else {
                    clearInterval(idInterval);
                }
            });
            $('#tablePianodicaricoMaster').on('draw.dt', function () {
                console.log('DataTable > draw.dt [' + new Date() + "]");
                console.trace();
                lastPage = $('#tablePianodicaricoMaster').DataTable().page();
                var table = $('#tablePianodicaricoMaster').DataTable();
                table.rows({ page: 'current' }).every(function () {
                    var row = this;
                    if (row.child.isShown()) {
                        var tr = $(table).closest('tr');
                        tr.removeClass('details');
                        row.child.hide();
                        // Remove from the 'open' array
                        detailRows.splice(row.index, 1);
                    }
                });
            });
            
        });
    </script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#jsonMenu").val(JSON.parse($.sessionStorage('jsonMenu')));
            $.fn.serializeObject = function () {
                var o = {};
                var a = this.serializeArray();
                $.each(a, function () {
                    if (o[this.name]) {  //controllo se ho già aggiunto il campo nell'array
                        if (!o[this.name].push) {
                            o[this.name] = [o[this.name]];
                        }
                        o[this.name].push(this.value || '');
                    } else {
                        if ($('[name=' + this.name + ']').hasClass("NotSerialized")) return;
                        //if ($("#" + this.name).parent().hasClass('date-picker'))
                        if ($('[name=' + this.name + ']').parent().hasClass('date-picker'))
                            o[this.name] = $("#" + this.name).closest('div.date-picker').datepicker('getUTCDate') || '';
                        else
                            o[this.name] = this.value || '';
                    }
                });
                return o;
            };
            $('#aLogOut').on('click', function () {
                var $Param = { id: $('#hUserId').val()};
                $.ajax({
                    type: "GET",
                    data: $Param,
                    url: App.getGlobalApiPath() + "login/LogOut",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    processdata: false, //True or False
                    success: function (result) {
                        $.sessionStorage('jsonMenu', null);
                        window.stop();
                        window.location.href = "../Home/Login";
                    },
                    error: function () {
                        $('.alert-danger', $('.login-form')).show()
                        $('#loader-wrapper').hide();
                    }
                })
            });
            if ($('#hUser').val() != '' && $('#hUser').val() != undefined) {
                if ($("#jsonMenu").val() == null || $("#jsonMenu").val() == undefined || $("#jsonMenu").val() == '') {
                    var $Param = { Role: $('#hUserRole').val(), AllMenu: "false" };
                    $.ajax({
                        type: "GET",
                        url: App.getGlobalApiPath() + "login/GetMenu",
                        data: $Param,
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        processdata: false, //True or False
                        success: function (result) {
                            if (result.Error == null || result.Error == "") {
                                //set value hidden field
                                $.sessionStorage('jsonMenu', JSON.stringify(result.Data));
                                $('<li class="nav-item start">' +
                                    '<a href="../Home/DashBoard" class="nav-link nav-toggle">' +
                                    '<i class="icon-home"></i>' +
                                    '<span class="title">Dashboard</span>' +
                                    '</a>' +
                                    '</li>').appendTo('.page-sidebar-menu');
                                buildMenu($('.page-sidebar-menu'), $.parseJSON(result.Data));
                                var pathname = $(location).attr('pathname');
                                $('a[href="' + pathname + '"]').parentsUntil('.page-sidebar-menu').addClass('active open');
                                $('.page-sidebar-menu>li.active>a>span.arrow').each(function () { $(this).addClass('open') });
                            } else alert("Errore nel caricamento del menu");
                        },
                        error: function () {
                            alert("Errore nel caricamento del menu")
                        }
                    })
                    $('.dropdown-user').show();
                    $('.dropdown-calendar').show();
                    $('.page-footer').show();
                } else {
                    buildMenu($('.page-sidebar-menu'), $.parseJSON($("#jsonMenu").val()));
                    var pathname = $(location).attr('pathname');
                    $('a[href="' + pathname + '"]').parentsUntil('.page-sidebar-menu').addClass('active open');
                    $('.page-sidebar-menu>li.active>a>span.arrow').each(function () { $(this).addClass('open') });
                }
            } else {
                $('.dropdown-user').hide();
                $('.dropdown-calendar').hide();
                $('.page-footer').hide();
            }
            function buildMenu(parent, items) {
                $.each(items, function () {
                    //buil tag li
                    var li = $('<li></li>');
                    li.addClass('nav-item');
                    parent.append(li);
                    var a = $('<a></a>');
                    if (this.path == "")
                        a.attr('href', "#");
                    else a.attr('href', this.path);
                    var dt = [];
                    if (!this.read) a.attr('disabled, true');
                    if (this.read) dt.push('R');
                    if (this.insert) dt.push('I');
                    if (this.update) dt.push('U');
                    if (this.delete) dt.push('D');
                    a.attr('data-grant', dt.join(";"));
                    a.addClass('nav-link nav-toggle');
                    li.append(a);
                    var i = $('<i></i>') //icon todo addclass
                    i.addClass(this.ico);
                    a.append(i);
                    var span = $('<span>' + this.text + '</span>');
                    span.addClass('title');
                    a.append(span);
                    if (this.List && this.List.length > 0) {
                        var spanArrow = $('<span></span>');
                        spanArrow.addClass('arrow')
                        a.append(spanArrow);
                        var ul = $('<ul></ul>');
                        ul.addClass('sub-menu');
                        li.append(ul);
                        buildMenu(ul, this.List);
                    }
                });
            }
        });
    </script>
</body>
</html>
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers