????

Your IP : 216.73.216.168


Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/views/
Upload File :
Current File : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/views/home.eta

<% layout('./layouts/layout.eta') %>
<style>
  #result-table .mdi {
    font-size: 22px;
  }
</style>
<div class="content">
  <div class="page-inner">
    <div class="row">
      <div class="col-12 text-center">
        <h1 class="text-primary fw-bold">Tìm kiếm văn bản</h1>
      </div>
    </div>
    <div class="row">
      <div class="col-lg-8 col-12 mx-auto">
        <div class="card">
          <form id="search-form">
            <div class="card-body pb-0">
              <div id="search-basic" class="form-group">
                <div class="input-group">
                  <input id="search-input" class="form-control input-square" name="content"
                    placeholder="Nhập từ khóa tìm kiếm">
                  <div class="input-group-append">
                    <button id="advancedSearch" type="button" class="btn btn-border btn-secondary btn-sm disabled">
                      <span class="btn-label"><i class="fas fa-check collapse"></i></span> Nâng cao
                    </button>
                  </div>
                </div>
              </div>
            </div>
            <div id="advanced-group" class="collapse card-body pt-0">
              <div class="row mx-auto" style="width: 90%">
                <div class="form-group col-md-6">
                  <label>Loại văn bản</label>
                  <select id="type" class="form-control" name="type">
                    <option></option>
                  </select>
                </div>
                <div class="form-group col-md-6">
                  <label>Tên cơ quan</label>
                  <input id="organ" class="form-control" name="organ">
                </div>
                <div class="form-group col-md-6">
                  <label>Số, ký hiệu văn bản</label>
                  <input id="notation" class="form-control" name="notation">
                </div>
                <div id="issuedDate" class="form-group col-md-6">
                  <label>Ngày ban hành</label>
                  <div class="input-group">
                    <input class="form-control" name="startDate" placeholder="Từ ngày">
                    <span class="input-group-text"> - </span>
                    <input class="form-control" name="endDate" placeholder="Đến ngày">
                  </div>
                </div>
                <div class="form-group col-md-12">
                  <label>Trích yếu</label>
                  <textarea id="subject" rows="1" class="form-control" name="subject"></textarea>
                </div>
              </div>
            </div>
            <div class="card-footer d-flex justify-content-center">
              <button class="btn btn-primary" type="submit">
                <span class="btn-label"><i class="fas fa-search"></i></span> Tìm kiếm
              </button>
            </div>
          </form>
        </div>
      </div>
    </div>
    <div class="row">
      <div class="col">
        <div id="result-card" class="card mt-3 collapse">
          <div class="card-body table-responsive">
            <table id="result-table" class="display table table-bordered table-striped w-100">
              <thead>
                <tr>
                  <th class="control" style="max-width:30px">STT</th>
                  <th>Loại văn bản</th>
                  <th>Số và ký hiệu văn bản</th>
                  <th style="width:40%;min-width:300px">Trích yếu</th>
                  <th>Ngày ban hành</th>
                  <th style="min-width: 100px">Cơ quan ban hành</th>
                  <th class="none">Số trang</th>
                  <th class="none">Ghi chú</th>
                  <th class="control"></th>
                </tr>
              </thead>
            </table>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
<script defer type="text/javascript">
  $(function () {
    $.fn.dataTable.ext.errMode = 'none';
    // $('#search2 i, #advanced-group').hide();
    $.getJSON("/doc-type", function (data, textStatus, jqXHR) {
      let source = [{
        text: "Văn bản quy phạm pháp luật",
        children: data.legalTypes.map(x => ({ id: x.Id, text: x.TypeName }))
      }, {
        text: "Văn bản hành chính",
        children: data.adminTypes.map(x => ({ id: x.Id, text: x.TypeName }))
      }];
      $("#type").select2({
        allowClear: true,
        placeholder: "Chọn loại văn bản",
        data: source,
        theme: "bootstrap4"
      });
    });
    $('#issuedDate').datepicker({
      format: 'dd/mm/yyyy',
      language: "vi",
      autoclose: true,
      inputs: $("#issuedDate input"),
      keepEmptyValues: true
    });
    $('#issuedDate input').inputmask('datetime', { inputFormat: "dd/mm/yyyy" });
    $("#advancedSearch").on("click", function (e) {
      var content = $("#search-input").val();
      $("#search-form").trigger("reset");
      $("#search-input").val(content);
      $(this).toggleClass("btn-border disabled");
      $("#advanced-group").toggle();
      $(this).find(".fas").toggle();
    });
    // Kết quả tìm kiếm
    var resultTable = $("#result-table").DataTable({
      ajax: {
        url: "/search",
        dataType: "json",
        data: function (data) { delete data.columns }
      },
      language: { url: "/js/plugin/datatables/Vietnamese.json" },
      deferLoading: 0,
      ordering: false,
      processing: true,
      serverSide: true,
      pageLength: 10,
      dom: 'tipr',
      columns: [
        { data: "RowNum", className: 'text-center' },
        { data: "TypeName", className: 'text-center' },
        { data: "CodeNotation", className: 'text-center' },
        { data: "Subject", className: 'text-justify' },
        {
          data: "IssuedDate",
          className: 'text-center',
          render: function (data, type, row) {
            return `${data ? moment(data).format("DD/MM/YYYY") : ""}`;
          }
        },
        { data: "OrganName", className: 'text-justify' },
        { data: "PageAmount", className: 'text-center' },
        { data: "Description", className: 'text-justify' },
        {
          data: "UUID",
          className: 'text-center',
          render: function (data, type, row) {
            var cart = [];
            if (localStorage.getItem('cart')) cart = JSON.parse(localStorage.getItem('cart'));
            if (cart.findIndex(x => x.docId == data) > -1) return '<a class="text-nowrap text-danger" href="/cart">Giỏ sách <span class="btn-label"><i class="fas fa-angle-double-right"></i></span></a>'
            return '<i class="fas fa-book-medical fa-lg text-success" title="Thêm vào giỏ hàng"></i>'
          }
        }
      ]
    });
    $("#result-table").on('xhr.dt', function (e, settings, json, xhr) {
      xhr.promise()
        .then()
        .catch(err => Swal.fire('', err.responseText, 'error'))
    });
    $("#result-table").on("click", ".fas.fa-book-medical", function (e) {
      var $row = resultTable.row($(this).closest("tr"))
      var data = $row.data();
      var cart = [];
      if (localStorage.getItem('cart')) cart = JSON.parse(localStorage.getItem('cart'));
      var doc = {
        docId: data.UUID,
        subject: data.Subject,
        issuedDate: data.IssuedDate,
        code: data.CodeNotation,
        copiedNum: 1,
        certifiedNum: 0,
        pageAmount: data.PageAmount,
        price: data.PageAmount * 3000, //* prices['SL']['Price'],
        desc: null
      };
      cart.push(doc);
      localStorage.setItem('cart', JSON.stringify(cart));
      $row.invalidate();
      populateCart();
    });
    $("#search-form").validate({
      validClass: "success",
      highlight: function (element) {
        $(element).closest(".form-group").removeClass("has-primary").addClass("has-error");
      },
      success: function (element) {
        $(element).closest(".form-group").removeClass("has-error").addClass("has-primary");
      },
      submitHandler: function (domForm) {
        $("#result-card").removeClass("collapse");
        resultTable.ajax.url(`/search?${$("#search-form").serialize()}`).load();
      }
    });
  });
</script>