????
Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/views/baocao/ |
Current File : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/views/baocao/vanban.eta |
<% layout('../layouts/userLayout.eta') %> <style type="text/css"> div .dataTables_length select { width: 60px !important; } </style> <div class="content"> <div class="page-inner"> <div class="page-header"> <div class="page-title">Báo cáo</div> <ul class="breadcrumbs"> <li class="nav-home"><a href="/"><i class="flaticon-home"></i></a></li> <li class="separator"><i class="flaticon-right-arrow"></i></li> <li class="nav-item"><a href="/main">Giao diện chính</a></li> <li class="separator"><i class="flaticon-right-arrow"></i></li> <li class="nav-item"><a href="#">Báo cáo mục lục văn bản</a></li> </ul> </div> <div class="page-body"> <div class="row"> <div class="col-md-12"> <div class="card mb-0"> <div class="card-header bg-primary"> <div class="card-title text-white">Nhập trường thông tin</div> </div> <form id="report-doc-form" action="" method="GET"> <div class="card-body"> <div class="row"> <div class="col-md-8 mx-auto"> <div class="row"> <div class="col-md-6 form-group"> <label for="state">Trạng thái văn bản số</label> <select id="state" class="form-control" name="state"> <option></option> </select> <div class="err-div"></div> </div> <div class="col-md-6 form-group"> <label for="fond">Tên phông lưu trữ</label> <select id="fond" class="form-control" name="fondCode"> <option></option> </select> <div class="err-div"></div> </div> <div class="col-md-6 form-group"> <label for="boxNumber1">Hộp số</label> <div class="input-group row mx-0"> <div class="col-sm-6 pl-0"><input class="form-control" type="number" min="1" name="boxNumber1" id="boxNumber1" placeholder="Từ hộp số"></div> <div class="col-sm-6 pr-0"><input class="form-control" type="number" min="1" name="boxNumber2" id="boxNumber2" placeholder="Đến hộp số"></div> </div> <div class="err-div"></div> </div> <div class="col-md-6 form-group"> <label for="fileNumber1">Hồ sơ số</label> <div class="input-group row mx-0"> <div class="col-sm-6 pl-0"><input class="form-control" type="number" min="1" name="fileNumber1" id="fileNumber1" placeholder="Từ hồ sơ số"></div> <div class="col-sm-6 pr-0"><input class="form-control" type="number" min="1" name="fileNumber2" id="fileNumber2" placeholder="Đến hồ sơ số"></div> </div> <div class="err-div"></div> </div> <div class="col-md-6 form-group"> <label for="issuedDate1">Ngày tháng văn bản</label> <div class="input-group" id="issuedDate"> <input class="form-control" type="text" name="issuedDate1" id="issuedDate1" placeholder="Từ ngày"> <span class="input-group-text"> - </span> <input class="form-control" type="text" name="issuedDate2" id="issuedDate2" placeholder="Đến ngày"> </div> <div class="err-div"></div> </div> </div> </div> </div> </div> <div class="card-footer" style="background-color: #1556e836"> <div class="row"> <div class="col-md-8 mx-auto"> <div class="row"> <div class="col-md-12"> <span id="errorFill" style="color: red; font-style: italic"></span> <button id="submit-btn" type="button" class="btn btn-success" style="float: right">Hoàn tất</button> </div> </div> </div> </div> </div> </form> </div> </div> <div class="col-md-12"> <div class="card"> <div class="card-header"> <div class="card-head-row"> <div class="card-title">Kết quả</div> <div class="card-tools"> <div id="tongSo" class="fw-bold"></div> </div> </div> </div> <div class="card-body" id="dataToPrint"> <div class="col-md-12" style="text-align: center; font-size: 14px" id="nameData" hidden="hidden"> <strong>BÁO CÁO MỤC LỤC VĂN BẢN</strong></div> <table id="dataDocument" class="table table-striped table-bordered table-hover"> <thead> <tr> <th style="width: 10px" class="control"></th> <th style="width: 30px" class="control">STT</th> <th class="none">Phông</th> <th class="none">Mục lục số</th> <th class="none">Hộp số</th> <th class="none">Hồ sơ số</th> <th class="none">Số thứ tự trong hồ sơ</th> <th class="none">Loại văn bản</th> <th style="max-width: 100px">Số, ký hiệu</th> <th style="max-width: 100px">Ngày ban hành</th> <th style="min-width: 100px">Tác giả văn bản</th> <th style="min-width: 300px">Trích yếu nội dung</th> <th style="width: 10px">Số trang</th> <th class="none">Tờ số</th> <th class="none">Số tờ</th> <th class="none">Độ mật</th> <th class="none">Ghi chú</th> <th style="width: 80px">Cán bộ số hóa</th> <th style="max-width: 80px" class="control">Xem/Tải</th> </tr> </thead> </table> </div> <div class="card-footer" style="background-color: #1556e836"> <div class="row"> <div class="col-md-2"></div> <div class="col-md-8"> <div class="row"> <div class="col-md-12"> <span id="errorReport" style="color: red; font-style: italic"></span> <div class="dropdown" style="float: right"> <button class="btn btn-success dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Xuất báo cáo </button> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton" style="font-size: 15px"> <a class="dropdown-item" onclick="exportPDF()"><i class="fa fa-file-pdf text-danger mr-2"></i> PDF</a> <a class="dropdown-item" onclick="exportDOCX()"><i class="fa fa-file-word text-primary mr-2"></i> WORD</a> <a class="dropdown-item" onclick="exportXLSX()"><i class="fa fa-file-excel text-success mr-2"></i> EXCEL</a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <!--Modal view văn bản--> <div class="modal" id="view-modal"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <!-- Modal body --> <div class="modal-body" id="view-frame"> <iframe class="w-100" style="min-height:100vh"></iframe> </div> <!-- Modal footer --> <div class="modal-footer"> <a id="doc-view-link"><button class="btn btn-primary btn-sm">Tải xuống</button></a> <button type="button" class="btn btn-danger btn-sm" data-dismiss="modal">Đóng lại</button> </div> </div> </div> </div> <script type="text/javascript" src="/js/baocao/file-save.js"></script> <script type="text/javascript"> $('#issuedDate').datepicker({ format: "dd/mm/yyyy", autoclose: true, language: "vi", inputs: $("#issuedDate1, #issuedDate2"), keepEmptyValues: true }); $("#issuedDate1, #issuedDate2").inputmask('datetime', { inputFormat: "dd/mm/yyyy" }); $('#state').select2({ data: [ { id: 1, text: 'Chưa số hóa' }, { id: 2, text: 'Đã số hóa' } ], allowClear: true, theme: 'bootstrap4', placeholder: 'Chọn trạng thái số hóa văn bản' }); $('#fond').select2({ ajax: { url: '/danhmuc/phong/json', dataType: 'json', processResults: function (data, params) { return { results: data.map(x => ({ id: x.FondCode, text: x.FondName })) } } }, allowClear: true, theme: 'bootstrap4', placeholder: 'Chọn phông lưu trữ' }); $('#dataDocument').on('draw.dt', function (e) { var data = reportTable.data(); if (data.count()) { var html = `Tổng số: <div class="btn-group"><span class="btn btn-primary btn-sm">${data[0].recordsTotal || 0} văn bản</span><span class="btn btn-secondary btn-sm">${data[0].tongSoTrang || 0} trang</span></div>`; $('#tongSo').html(html); } else { $('#tongSo').empty() } }); var reportTable = $('#dataDocument').DataTable({ ajax: { url: '/baocao/vanban/json', dataType: 'json', data: function (data) { delete data.columns } }, dom: 'ltipr', processing: true, serverSide: true, ordering: false, deferRender: true, deferLoading: 0, language: { url: "/js/plugin/datatables/Vietnamese.json" }, responsive: { details: { display: $.fn.dataTable.Responsive.display.modal({ header: function (row) { var data = row.data(); return 'Chi tiết văn bản'; } }), renderer: $.fn.dataTable.Responsive.renderer.tableAll({ tableClass: 'table' }) } }, columns: [ { data: null, defaultContent: '' }, { data: 'RowNum', className: 'text-center' }, { data: 'FondName', className: 'text-justify' }, { data: "FileCatalog", className: 'text-center' }, { data: "BoxNumber", className: 'text-center' }, { data: "FileNumber", className: 'text-center' }, { data: "DocOrdinal", className: 'text-center' }, { data: 'TypeName', className: 'text-justify' }, { data: "CodeNumber", className: 'text-center', render: function (data, type, row) { var code = []; if (data) code.push(data); if (row.CodeNotation) code.push(row.CodeNotation); return code.join('/'); } }, { data: "IssuedDate", render: function (data, type, row) { return moment(data).isValid() ? moment(data).format("DD/MM/YYYY") : null; } }, { data: 'OrganName', className: 'text-justify' }, { data: 'Subject', className: 'text-justify' }, { data: 'PageAmount', className: 'text-center' }, { data: 'SheetIndex', className: 'text-center' }, { data: 'SheetAmount', className: 'text-center' }, { data: 'ModeName', className: 'text-justify' }, { data: 'Description', className: 'text-justify' }, { data: 'CreatedBy', className: 'text-justify' }, { data: 'UUID', render: function (data, type, row) { return `<div class="btn-group"> <button class="btn btn-success btn-xs btn-icon preview-btn" onclick="viewPDF('${data}')"><i class="fas fa-eye"></i></button> <a href="/sohoa/vanban/${data}?download=true"><button class="btn btn-primary btn-xs btn-icon"><i class="fas fa-download"></i></button></a> </div>`; } } ] }); $('#submit-btn').on('click', function (e) { reportTable.clear().draw(); reportTable.ajax.url(`/baocao/vanban/json?${$("#report-doc-form").serialize()}`).load(); }); function exportPDF() { location.replace(`/baocao/vanban/pdf?${$("#report-doc-form").serialize()}`); } function exportXLSX() { location.replace(`/baocao/vanban/excel?${$("#report-doc-form").serialize()}`); } function exportDOCX() { location.replace(`/baocao/vanban/docx?${$("#report-doc-form").serialize()}`); } $.validator.addMethod("lessThanEqual", function (value, element, param) { var val1 = parseInt(value); var val2 = parseInt($(param).val()); return !(val1 && val2 && val1 > val2); }); $.validator.addMethod("greaterThanEqual", function (value, element, param) { var val1 = parseInt(value); var val2 = parseInt($(param).val()); return !(val1 && val2 && val1 < val2); }); $("#report-doc-form").validate({ validClass: "success", highlight: function (element) { $(element).closest(".form-group").removeClass("has-primary").addClass("has-error"); }, unhighlight: function (element) { $(element).closest(".form-group").removeClass("has-error").addClass("has-primary"); }, errorPlacement: function (error, element) { $(element).closest(".form-group").find(".err-div").empty(); $(element).closest(".form-group").find(".err-div").append(error); }, rules: { fileNumber1: { lessThanEqual: "#fileNumber2" }, fileNumber2: { greaterThanEqual: "#fileNumber1" }, boxNumber1: { lessThanEqual: "#boxNumber2" }, boxNumber2: { greaterThanEqual: "#boxNumber1" } }, messages: { fileNumber1: { lessThanEqual: "Giá trị hồ sơ số không hợp lý", min: 'Hồ sơ số phải lớn hơn 0' }, fileNumber2: { greaterThanEqual: "Giá trị hồ sơ số không hợp lý", min: 'Hồ sơ số phải lớn hơn 0' }, boxNumber1: { lessThanEqual: "Giá trị hộp số không hợp lý", min: 'Hộp số phải lớn hơn 0' }, boxNumber2: { greaterThanEqual: "Giá trị hộp số không hợp lý", min: 'Hộp số phải lớn hơn 0' } } }); function viewPDF(docId) { $("#view-frame iframe").attr("src", "/viewer/" + window.encodePath(`/sohoa/vanban/${docId}`)); $("#view-modal").modal("show"); } </script>