????
Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/public/js/sohoa/ |
Current File : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/public/js/sohoa/taovanban.js |
$(document).on('webviewerloaded', function() { var PdfViewerApp = document.getElementById('pdfViewerFrame').contentWindow.PDFViewerApplication; var pdfNotification = $('<span/>').kendoNotification({ appendTo: '#pdfViewerContainer', autoHideAfter: 0 }) .data('kendoNotification'); moment.locale("vi"); kendo.culture("vi-VN"); var docViewModal = kendo.observable({ doc: {}, fileCode: "", organs: new kendo.data.DataSource({ serverFiltering: true, transport: { read: "/sohoa/taovanban/coquan", cache: true } }) }); kendo.bind($("#add-doc-ui"), docViewModal); var dropZone = new Dropzone("div#dropzone", { url: "/sohoa/taovanban/upload", headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, parallelUploads: 1, maxFilesize: 200, timeout: 30 * 60 * 1000, acceptedFiles: 'application/pdf,.pdf', previewsContainer: "#drop-overlay", previewTemplate: `<div class="row dz-preview border-bottom"><div class="col-6"> <span class="dz-name" data-dz-name></span></div><div class="col-6"><div class="progress progress-sx"><div class="progress-bar progress-bar-primary" data-dz-uploadprogress></div></div> <span class="dz-size"></span> <span class="dz-err-message d-block text-danger" data-dz-errormessage></span></div></div>`, addfile: () => $("#drop-overlay").removeClass("collapse"), uploadprogress: (file, progress, bytesSent) => { $(file.previewElement).find('.dz-size').text(`${getSize(bytesSent)} / ${getSize(file.size)}`); }, queuecomplete: () => { $("#drop-overlay").addClass("collapse"); $("#drop-overlay").empty(); $("#reload-btn").trigger("click"); }, sending: (file, xhr, formData) => { var fn = encodeURI(file.name) formData.append("encFilename", fn); }, }); $("#date").datepicker({ format: "dd/mm/yyyy", autoclose: true, language: "vi" }); $("#date").inputmask('datetime', { inputFormat: "dd/mm/yyyy" }); $.getJSON("/danhmuc/phong/json", function (data, text, jqXHR) { $("#select-fond").select2({ data: data.map(function (x) { x.id = x.FondCode; return x; }), theme: "bootstrap4", sorter: function (data) { return data.sort(function (a, b) { return a.FondNumber - b.FondNumber; }) }, templateResult: function (fond) { var html = `<div class='w-100 border-bottom border-dark d-flex flex-column'> <span>${fond.FondName} </span> <div class='d-flex justify-content-between align-items-center'> <small class='text-warning d-block'>Mã phông: ${fond.FondCode}</small> <span class='btn btn-xs text-nowrap fw-bold ${fond.State ? `btn-danger'>Đóng ` : `btn-success'>Mở `}</span> </div> </div>`; return $(html) }, templateSelection: function (fond) { var html = `<div class="w-100 d-flex align-items-center overflow-hidden"><span class="btn btn-xs ${fond.State ? `btn-danger">Đóng ` : `btn-success">Mở `}</span><span class="ml-2">${fond.FondName}</span></div>`; return $(html) } }); }); $("#select-file").select2({ ajax: { url: "/sohoa/taovanban/hoso", dataType: "json", data: function (params) { var query = { search: params.term, page: params.page, fond: $("#select-fond").val() }; return query; }, cache: true }, theme: "bootstrap4", delay: 250, templateResult: function (file) { var html = `<div class='w-100 border-bottom border-dark d-flex flex-column'> <span>${file.Title}</span> <div class='d-flex justify-content-between align-items-center'> <small class='w-100 text-warning'>Mục lục: ${file.FileCatalog} - Hộp: ${file.BoxNumber}</small> <span class='btn btn-success btn-xs text-nowrap fw-bold'>Hồ sơ số ${file.FileNumber}</span> </div> </div>`; return $(html) }, templateSelection: function (file) { var html = `<div class='w-100 d-flex align-items-center overflow-hidden' title="${file.Title}"><span class='btn btn-success btn-xs'>Số ${file.FileNumber}</span><span class="ml-2">${file.Title}</span></div>`; return $(html) } }); $.getJSON("/danhmuc/loaivanban", function (data, textStatus, jqXHR) { var docType = [ { text: "Văn bản hành chính", children: data.filter(function (x) { return x.TypeGroup == 2 }).map(function (x) { return { id: x.Id, text: x.TypeName } }) }, { text: "Văn bản quy phạm pháp luật", children: data.filter(function (x) { return x.TypeGroup == 1 }).map(function (x) { return { id: x.Id, text: x.TypeName } }) } ]; $("#docTypes").select2({ data: docType, theme: "bootstrap4", allowClear: true, placeholder: "Chọn loại văn bản" }); $("#docTypes").val('29').trigger("change"); }); $.getJSON("/danhmuc/ngonngu", function (data, textStatus, jqXHR) { $("#language").select2({ data: data.map(function (x) { return { id: x.LangCode, text: x.LangName } }), theme: "bootstrap4" }); }).fail(function (jqXHR, err) { $('<span/>').kendoNotification({ appendTo: '#msg-div' }).data('kendoNotification').show(jqXHR.responseText, 'error'); }); $.getJSON("/danhmuc/quyentailieu", function (data, textStatus, jqXHR) { $("#mode").select2({ data: data.map(function (x) { return { id: x.Id, text: x.ModeName } }), theme: "bootstrap4", minimumResultsForSearch: -1 }); }); $.getJSON("/danhmuc/dotincay", function (data, text, jqXHR) { $("#level").select2({ data: data.map(function (x) { return { id: x.Id, text: x.Name } }), theme: "bootstrap4", minimumResultsForSearch: -1 }); }) $("#doc-keyword").tagsinput({ tagClass: "badge badge-secondary" }); var addDocForm = $("#addDoc").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").append(error); }, submitHandler: function (domForm) { $.ajax({ url: "/sohoa/vanban", method: "POST", type: "POST", data: $(domForm).serialize(), headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, success: function (data, textStatus, jqXHR) { $('<span/>').kendoNotification({ appendTo: '#msg-div' }).data('kendoNotification').success(jqXHR.responseText); addDocForm.resetForm(); docViewModal.set("doc", {}); $("#doc-keyword").tagsinput('removeAll'); getFolderContent($("#folderPath").val()); }, error: function (jqXHR, textStatus, err) { $('<span/>').kendoNotification({ appendTo: '#msg-div' }).data('kendoNotification').error(jqXHR.responseText); }, complete: function (jqXHR, textStatus) { window.scrollTo(0, 0); $("#docnumber").focus(); } }); } }); $('#floating-btn').on('click', function (e) { $("#addDoc").trigger('submit'); }); $(document).ready(function (e) { $(".navbar-minimize .btn").trigger("click"); }); getFolderContent(''); $("#folder-content").on("click", ".item-list", function (e) { var root = $("#folderPath").val();//$(this).parent().attr("data-root"); var name = $(this).find("span").text(); var path = (root || "") + "/" + name; var isFolder = $(this).attr("data-type") == "1"; if ($(this).has(".del-file").length && $(this).find(".del-file")[0].contains(e.target)) { Swal.fire({ title: 'Xác nhận', text: `Bạn muốn xóa ${isFolder ? "thư mục" : "tập tin"} "${name}"?`, type: 'warning', showCancelButton: true, confirmButtonColor: '#cd201f', cancelButtonColor: '#467fcf', confirmButtonText: 'Xóa ' + (isFolder ? "thư mục" : "tập tin"), cancelButtonText: 'Hủy' }).then(function (result) { if (result.value) { $.ajax({ url: "/sohoa/taovanban/thumuc/delete", type: "POST", data: { path: path }, headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, success: function (data, textStatus, jqXHR) { $("#reload-btn").trigger("click"); }, error: function (jqXHR, textStatus, err) { $('<span/>').kendoNotification({ appendTo: '#folder-err-msg' }).data('kendoNotification').error(jqXHR.responseText); } }); } }) } else if (isFolder) { getFolderContent(path); } else { openView(root || "", name, $(this).find("i").text()); } }); $("#reload-btn").on("click", function (e) { getFolderContent($("#folderPath").val()); }); function getFolderContent(dir) { pdfNotification.hide(); $("#reload-btn .fas").addClass("fa-spin"); PdfViewerApp.initializedPromise .then(() => PdfViewerApp.documentInfo && PdfViewerApp.close()); $("#pdfViewerFrame").css("height", 0); var path = window.encodePath(dir); $.getJSON(`/sohoa/taovanban/thumuc?path=${path}`, function (data, textStatus, jqXHR) { $("#folder-content").empty(); dropZone.options.url = `/sohoa/taovanban/upload?root=${window.encodePath(data.root)}`; $("#folderPath").val(data.root); var topFile = ""; if (data.root && data.root != "/" && data.root != "\\") $("#folder-content").append($(`<li data-type="1" class="item-list"><img src="/img/tailieu/folder-parent.png"><span>..</span></li>`)); data.folders.forEach(function (item, index) { $("#folder-content").append($(`<li data-type="1" class="item-list"><button class="del-file btn btn-icon btn-link btn-danger btn-sm"><i class="fas fa-times"></i></button><img src="/img/tailieu/folder-yellow.png"><span>${item}</span></li>`)); }); data.files.forEach(function (item, index) { if (index == 0) topFile = item; $("#folder-content").append(`<li data-type="2" class="item-list"><button class="del-file btn btn-icon btn-link btn-danger btn-sm"><i class="fas fa-times"></i></button><img src="/img/tailieu/pdf.png"><span>${item.name}</span><i class="ml-auto badge badge-secondary">${getSize(item.size)}</i></li>`); }); if (topFile) { openView(data.root, topFile.name, getSize(topFile.size)); } else { pdfNotification.info('Không còn văn bản nào trong thư mục. Chọn thư mục khác để tiếp tục số hóa!'); } }).fail(function (jqXHR, err) { $('<span/>').kendoNotification({ appendTo: '#msg-div' }).data('kendoNotification').error(jqXHR.responseText); }).always(function () { setTimeout(function () { $("#reload-btn .fas").removeClass("fa-spin"); }, 500); }); } function openView(path, name, size) { if (PdfViewerApp) { var filepath = `/sohoa/taovanban/scan/${window.encodePath(`${path}/${name}`)}`; $("#docname").val(name); $("#doc-name").val(name); $("#doc-dir").val(path); $("#doc-size").text(size); $('#pdfViewerFrame').css('height', '100%'); PdfViewerApp.initializedPromise.then(() => { PdfViewerApp.open(filepath).then(() => { PdfViewerApp.pdfSidebar.isOpen = false; PdfViewerApp.pdfSidebar.close(); }) window.scrollTo(0, 0); $("#docnumber").focus(); }) return; } setTimeout(() => openView(path, name, size), 100) } //Tạo thư mục $("#add-folder-btn").on("click", function (e) { Swal.fire({ title: 'Tạo thư mục', text: 'Nhập tên thư mục muốn tạo', input: 'text', inputPlaceholder: 'Tên thư mục', showCancelButton: true, confirmButtonColor: '#4b9500', cancelButtonColor: '#cd201f', confirmButtonText: 'Tạo thư mục', cancelButtonText: 'Hủy', preConfirm: function (input) { if (input) { $.ajax({ url: "/sohoa/taovanban/thumuc", method: "POST", headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: { name: input, dir: $("#folderPath").val() } }).then(function (data, text, jqXHR) { return data; }, function (jqXHR, text, err) { $('<span/>').kendoNotification({ appendTo: '#folder-err-msg' }).data('kendoNotification').error(jqXHR.responseText); }) } else { Swal.showValidationMessage('Tên thư mục rỗng') } } }).then(function (result) { $('#reload-btn').trigger('click') }) }); function setPagesCount(pagesNum) { $("#pageamount").val(`${pagesNum}`); } })