????

Your IP : 216.73.216.209


Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/views/sohoa/
Upload File :
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>