????
Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/views/sohoa/ |
Current File : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/views/sohoa/nophoso.eta |
<% layout('../layouts/userLayout.eta') %> <div class="content"> <div class="page-inner"> <div class="page-header"> <h4 class="page-title">Nộp hồ sơ</h4> <ul class="breadcrumbs"> <li class="nav-home"><a href="/main"><i class="flaticon-home"></i></a></li> <li class="separator"><i class="flaticon-right-arrow"></i></li> <li class="nav-item"><a href="/sohoa">Số hóa</a></li> <li class="separator"><i class="flaticon-right-arrow"></i></li> <li class="nav-item">Nộp hồ sơ</a></li> </ul> </div> <div class="row"> <div class="col"> <div class="card"> <div class="card-body"> <table id="fileTable" role="table" class="table table-bordered table-striped w-100"> <thead role="rowgroup"> <tr role="row"> <th style="max-width: 150px">Phông</th> <th style="width: 10px">Mục lục</th> <th style="width: 10px">Hộp</th> <th style="width: 10px">Hồ sơ</th> <th style="min-width: 250px">Tiêu đề</th> <th style="max-width: 100px">Thời gian</th> <th style="width: 10px">Số trang</th> <th style="width: 10px">Số tờ</th> <th class="control" style="max-width: 50px"></th> <th class="control" style="max-width: 60px"> <div class=" btn-group"> <button class="btn btn-secondary btn-xs btn-icon send-btn" title="Chọn tất cả" onclick="select_all()"><i class="far fa-square select_all"></i></button> <button class="btn btn-success btn-xs btn-icon send-btn" title="Nộp nhiều hồ sơ đã chọn" onclick="send()"><i class="fas fa-share-square"></i></button> </div> </th> </tr> </thead> </table> </div> </div> </div> </div> </div> </div> <!--Modal sửa hồ sơ--> <%~ includeFile('../partials/editFile.eta') %> <!-- Modal sửa văn bản --> <%~ includeFile('../partials/editDoc.eta') %> <!--Modal xem chi tiết văn bản trong hồ sơ--> <div id="detail-win"> <table id="detailTable" class="table table-bordered table-striped w-100"> <thead> <tr> <!-- <th style="width: 10px"></th> --> <th style="width: 10px">STT</th> <th>Số và ký hiệu</th> <th style="min-width: 300px">Trích yếu</th> <th>Ngày ban hành</th> <th style="width: 10px">Số trang</th> <th style="width: 10px">Số tờ</th> <th style="width: 10px">Tờ số</th> <th style="max-width: 50px"></th> </tr> </thead> </table> </div> <!-- Popup lịch sử văn bản --> <div id="history-popup" class="p-3"> <h4 class="text-primary">Lịch sử số hóa hồ sơ</h4> <div class="detail"></div> </div> <script src="/js/sohoa/suahoso.js"></script> <script type="text/javascript"> $(function () { //Bảng danh sách hồ sơ var fileTable = $("#fileTable").DataTable({ ajax: { url: "?list=true", dataType: "json", data: function (data) { delete data.columns; } }, processing: true, serverSide: true, ordering: false, language: { url: "/js/plugin/datatables/Vietnamese.json" }, // dom: "<'row'<'#file-state.col-sm-12 col-md-4'><'col-sm-12 col-md-4'l><'col-sm-12 col-md-4'f>>" + "trip", columns: [ { data: "FondCode", className: 'text-justify', render: function (data, type, row) { return `${row.FondName}`; } }, { data: "FileCatalog", className: 'text-center', render: function (data, type, row) { return `${data.toString().padStart(2, '0')}`; } }, { data: "BoxNumber", className: 'text-center', render: function (data, type, row) { return `${data.toString().padStart(2, '0')}`; } }, { data: "FileNumber", className: 'text-center' }, { data: "Title", className: 'text-justify' }, { data: "StartDate", className: 'text-center', render: function (data, type, row) { var date = []; if (data) date.push(moment(data).format("DD/MM/YYYY")); if (row.EndDate) date.push(moment(row.EndDate).format("DD/MM/YYYY")); return date.join('\n'); } }, { data: "PageTotal" }, { data: "SheetNumber" }, { data: "countPerform", className: 'text-center', render: function (data, type, row) { return `<div class="dropdown"> <button class="btn btn-xs btn-default" data-toggle="dropdown"> <span class="btn-label"><i class="fas fa-bars"></i></span> <span class="caret"></span> </button> <div class="dropdown-menu border border-dark" style="background-color: #f9fbfd"> ${data ? '<a href="javascript:void(0)" class="dropdown-item note-btn"><i class="fas fa-history fa-lg mr-3 text-dark"></i> Lịch sử số hóa</a>' : ''} <a href="javascript:void(0)" class="dropdown-item edit-btn"><i class="fas fa-edit fa-lg mr-3 text-warning"></i> Sửa hồ sơ</a> <a href="javascript:void(0)" class="dropdown-item delete-btn"><i class="fas fa-trash-alt fa-lg mr-3 text-danger"></i> Xóa hồ sơ</a> <a href="javascript:void(0)" class="dropdown-item list-btn"><i class="fas fa-list-alt fa-lg mr-3 text-primary"></i> Xem danh sách văn bản</a> </div> </div>` } }, { data: "UUID", className: 'text-center', render: function (data, type, row) { return `<input class="select_elem" type="checkbox" value="${data}">`; } } ] }); // $("#fileTable").on('init.dt', function () { // $('#file-state').html(` // <label>Trạng thái</label> // <label class="custom-control custom-radio custom-control-inline"> // <input class="custom-control-input" type="radio" name="state" checked> // <span class="custom-control-label">Chưa nộp</span> // </label> // <label class="custom-control custom-radio custom-control-inline"> // <input class="custom-control-input" name="state" type="radio"> // <span class="custom-control-label">Đã nộp</span> // </label> // `); // }); //Chi tiết văn bản trong hồ sơ $('#detail-win').kendoWindow({ width: '90%', position: { top: 0, left: '5%' }, title: 'Danh sách văn bản trong hồ sơ', animation: { open: { duration: 500 }, close: { duration: 500 } }, modal: true, visible: false, actions: ['Pin', 'Minimize', 'Maximize', 'Close'], close: function (e) { fileTable.ajax.reload(null, false); } }); $('#detailTable').on('xhr.dt', function (e, settings, json, xhr) { if (json['data'] && json['data'].length) $('#detail-win').data('kendoWindow').open(); }); var detailTable = $('#detailTable').DataTable({ ajax: { url: "/sohoa/vanban", dataType: "json", headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }, language: { url: "/js/plugin/datatables/Vietnamese.json" }, ordering: false, columns: [ { data: "DocOrdinal" }, { data: null, render: function (data, type, row) { var code = []; if (row.CodeNumber) code.push(row.CodeNumber); if (row.CodeNotation) code.push(row.CodeNotation); return code.join("/"); } }, { data: "Subject" }, { data: "IssuedDate", render: function (data, type, row) { return data ? moment(data).format("DD/MM/YYYY") : ""; } }, { data: "PageAmount" }, { data: "SheetAmount" }, { data: "SheetIndex" }, { data: "UUID", orderable: false, className: 'text-center', render: function (data, type, row) { return `<div class="dropdown"> <button class="btn btn-xs btn-default" data-toggle="dropdown"> <span class="btn-label"><i class="fas fa-bars"></i></span> <span class="caret"></span> </button> <div class="dropdown-menu border border-dark" style="background-color: #f9fbfd"> <a href="javascript:void(0)" class="dropdown-item edit-btn"><i class="fas fa-edit fa-lg mr-3 text-warning"></i> Sửa văn bản</a> <a href="javascript:void(0)" class="dropdown-item delete-btn"><i class="fas fa-trash-alt fa-lg mr-3 text-danger"></i> Xóa văn bản</a> <a href="javascript:void(0)" class="dropdown-item preview-btn"><i class="fas fa-eye fa-lg mr-3 text-success"></i> Xem trước</a> <a href="/sohoa/vanban/${data}?download=true" class="dropdown-item"><i class="fas fa-download fa-lg mr-3 text-primary"></i> Tải xuống</a> </div> </div>`; } } ] }); $("#fileTable").on("click", ".list-btn", function (e) { var $tr = $(this).closest('tr'); var fileId = fileTable.row($tr).data().UUID; detailTable.ajax.url(`/sohoa/vanban?fileId=${fileId}`).load(); }); // Xem lịch sử số hóa hồ sơ var historyPopup = $('#history-popup').kendoPopup().data('kendoPopup'); $("#fileTable").on("click", ".note-btn", function (e) { var $tr = $(this).closest('tr'); var fileId = fileTable.row($tr).data().UUID; $.getJSON(`/sohoa/hoso/note/${fileId}`, function (data, text, jqXHR) { var content = ''; for (var i = 0; i < data.length; i++) { var job = ''; if (data[i].Job == 0) job = 'nộp'; else if (data[i].Job == 1 && data[i].State == 0) job = 'trả lại'; else if (data[i].Job == 1 && data[i].State == 2) job = 'duyệt'; if (job) content += `<span class="text-muted">+ Ngày ${moment(data[i].Date).format("DD/MM/YYYY")}: [${data[i].FullName} ${job}] ${data[i]['Note'] ? ' - ' + data[i]['Note'] : ""}</p>`; } $('#history-popup .detail').html(content); historyPopup.setOptions({ anchor: $tr.find('.dropdown') }); historyPopup.open(); }) }); //Bảng chi tiết văn bản $("#detailTable").on("click", ".preview-btn", function (e) { var docId = $("#detailTable").DataTable().row($(this).closest("tr")).data().UUID; $("<div/>").kendoDialog({ width: '70%', height: '100%', title: 'Xem trước nội dung văn bản', content: `<iframe class="w-100 h-100" src="/viewer/${window.encodePath(`/sohoa/vanban/${docId}`)}"></iframe>`, modal: true, closable: true, buttonLayout: 'normal', animation: { open: { duration: 500 }, close: { duration: 500 } }, actions: [{ text: 'Đóng lại', primary: true }], open: function () { $('#detail-win').data('kendoWindow').close() }, close: function (e) { $('#detail-win').data('kendoWindow').open(); e.sender.destroy() } }).data('kendoDialog').open(); }); $("#detailTable").on("click", ".delete-btn", function (e) { var data = $("#detailTable").DataTable().row($(this).closest("tr")).data(); $("<div/>").kendoDialog({ title: 'Xác nhận', content: 'Bạn có chắc muốn xóa văn bản trên?', modal: true, closable: true, buttonLayout: 'normal', animation: { open: { duration: 500 }, close: { duration: 500 } }, actions: [ { text: 'Đồng ý xóa', primary: true, action: function (e) { $.ajax({ url: "/sohoa/vanban", type: "DELETE", data: { id: data.UUID }, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, success: function (data, textStatus, jqXHR) { $('<span/>').kendoNotification({ position: { top: 20 } }).data('kendoNotification').show("Đã xóa thành công văn bản", 'info'); $("#detailTable").DataTable().ajax.reload(null, false); }, error: function (jqXHR, textStatus, err) { $('<span/>').kendoNotification({ position: { top: 50 } }).data('kendoNotification').show(jqXHR.responseText, 'error'); } }); } }, { text: 'Không xóa' } ], open: function () { $('#detail-win').data('kendoWindow').close() }, close: function (e) { $('#detail-win').data('kendoWindow').open(); e.sender.destroy() } }).data('kendoDialog').open(); }); $('#edit-doc-modal').on('show.bs.modal', function (e) { if (this == e.target) $('#detail-win').data('kendoWindow').close(); }); $('#edit-doc-modal').on('hide.bs.modal', function (e) { if (this == e.target) $('#detail-win').data('kendoWindow').open(); }); }) </script> <script type="text/javascript"> function select_all() { var className = $('.select_all')[0].className.split(' '); var state = 0; for (i = 0; i < className.length; i++) { if (className[i] == 'fa-check-square') { state = 1; break; } else { state = 0; } } if (state == 1) { var elem = $('#fileTable tbody tr .select_elem'); for (i = 0; i < elem.length; i++) { elem[i].checked = false; } $('.select_all').removeClass('fa-check-square'); $('.select_all').addClass('fa-square'); } else if (state == 0) { var elem = $('#fileTable tbody tr .select_elem'); for (i = 0; i < elem.length; i++) { elem[i].checked = true; } $('.select_all').removeClass('fa-square'); $('.select_all').addClass('fa-check-square'); } } function send() { var elem = $('.select_elem:checkbox:checked'); var arr = []; for (i = 0; i < elem.length; i++) { arr.push(elem[i].value); } arr = arr.join('; '); $.ajax({ type: 'POST', dataType: 'json', async: false, data: { arr: arr }, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, url: "", success: function (data) { Swal.fire('Thông báo', data, ''); $('#fileTable').DataTable().ajax.reload(null, false); }, error: function (err) { Swal.fire('Đã xảy ra lỗi', 'Không thể nộp hồ sơ', 'error'); } }); } </script>