????

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/taohoso.eta

<% layout('../layouts/userLayout.eta') %>
<div class="content">
  <div class="page-inner">
    <div class="page-header">
      <h4 class="page-title">Tạo mới 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">Tạo hồ sơ</li>
      </ul>
    </div>
    <div class="row">
      <div class="col">
        <div class="card">
          <div class="card-header bg-primary p-2">
            <div class="card-title text-white">Tạo hồ sơ</div>
          </div>
          <form id="add-file-form">
            <div class="card-body">
              <div class="row">
                <div class="col-md-6">
                  <div class="form-group">
                    <label class="control-label">Phông lưu trữ</label>
                    <select id="file-fond" name="fond" class="form-control" title="Phông không được để trống"
                      required></select>
                  </div>
                </div>
                <div class="col-md-6">
                  <div class="form-group">
                    <label class="control-label">Nhóm tài liệu</label>
                    <select id="file-group" name="group" class="form-control" title="Không được để trống"
                      required></select>
                  </div>
                </div>
              </div>
              <div class="row">
                <div class="col-md-4 col-sm-6">
                  <div class="form-group">
                    <label class="control-label">Mục lục số</label>
                    <input id="catalog" type="number" min="1" name="catalog" class="form-control"
                      placeholder="Nhập mục lục số" required>
                  </div>
                </div>
                <div class="col-md-4 col-sm-6">
                  <div class="form-group">
                    <label class="control-label">Hộp số</label>
                    <input type="number" min="1" name="box" class="form-control" placeholder="Nhập hộp số" required>
                  </div>
                </div>
                <div class="col-md-4 col-sm-6">
                  <div class="form-group">
                    <label class="control-label">Hồ sơ số</label>
                    <input type="text" name="number" minlength="1" class="form-control" placeholder="Nhập số hồ sơ"
                      title="Không được để trống" required>
                  </div>
                </div>
                <div class="col-md-4 col-sm-6">
                  <div class="form-group">
                    <label class="control-label">Năm hình thành</label>
                    <input type="number" name="year" class="form-control" placeholder="Nhập năm hình thành" required>
                  </div>
                </div>
                <div class="col-md-4 col-sm-6">
                  <div class="form-group">
                    <label class="control-label">Số và ký hiệu:</label>
                    <input type="text" name="notation" class="form-control" title="Không được để trống"
                      placeholder="Nhập ký hiệu hồ sơ">
                  </div>
                </div>
                <div class="col-md-4 col-sm-6">
                  <div class="form-group">
                    <label class="control-label">Tổng số tờ:</label>
                    <input name="sheetnumber" type="number" class="form-control" title="Chỉ được nhập số"
                      placeholder="Nhập số tờ trong hồ sơ...">
                  </div>
                </div>
              </div>
              <div class="row">
                <div class="col-12">
                  <div class="form-group">
                    <label class="control-label">Tiêu đề hồ sơ:</label>
                    <textarea name="title" rows="2" class="form-control" title="Tiêu đề hồ sơ không được để trống"
                      placeholder="Nhập tiêu đề hồ sơ..." required></textarea>
                  </div>
                </div>
                <!-- <div class="col-md-6">
                  <div class="form-group">
                    <label class="control-label">Ngày bắt đầu:</label>
                    <input id="startdate" type="text" name="startdate" class="form-control" title="Ngày bắt đầu hồ sơ">
                    <span class="k-invalid-msg" data-for="startdate"></span>
                  </div>
                </div>
                <div class="col-md-6">
                  <div class="form-group">
                    <label class="control-label">Ngày kết thúc:</label>
                    <input id="enddate" type="text" name="enddate" class="form-control" title="Ngày kết thúc hồ sơ">
                    <span class="k-invalid-msg" data-for="enddate"></span>
                  </div>
                </div> -->
                <div class="col-md-6">
                  <div class="form-group">
                    <label class="control-label">Thời hạn bảo quản:</label>
                    <input name="maintenance" type="number" class="form-control"
                      placeholder="Nhập số năm, hoặc 0 nếu bảo quản vĩnh viễn" title="Chỉ được nhập số">
                  </div>
                </div>
                <div class="col-md-6">
                  <div class="form-group">
                    <label class="control-label">Chế độ sử dụng:</label>
                    <select id="file-right" name="rights" class="form-control">
                      <option></option>
                      <option>Hạn chế</option>
                    </select>
                  </div>
                </div>
                <div class="col-md-12">
                  <div class="form-group">
                    <label class="control-label">Chú giải:</label>
                    <textarea name="description" class="form-control" rows="2" placeholder="Nhập ghi chú..."></textarea>
                  </div>
                </div>
                <div class="col-md-6">
                  <div class="form-group">
                    <label class="control-label">Ngôn ngữ:</label>
                    <div class="select2-input select2-primary">
                      <select id="file-language" name="language" class="form-control" title="Chọn ngôn ngữ cho hồ sơ"
                        multiple></select>
                    </div>
                  </div>
                </div>
                <div class="col-md-6">
                  <div class="form-group">
                    <label class="control-label">Ký hiệu thông tin:</label>
                    <input type="text" name="inforsign" class="form-control" title="Không được để trống"
                      placeholder="Nhập ký hiệu hồ sơ">
                  </div>
                </div>
                <div class="col-md-6">
                  <div class="form-group">
                    <label class="control-label">Tình trạng vật lý:</label>
                    <input name="format" type="text" class="form-control"
                      placeholder="Nhập tình trạng vật lý nếu có hư hỏng...">
                  </div>
                </div>
                <div class="col-md-6">
                  <div class="form-group">
                    <label class="placeholder" style="display:block">Từ khóa</label>
                    <input id="keyword" name="keyword" type="text" class="form-control"
                      placeholder="Nhập các từ khóa tìm kiếm...">
                  </div>
                </div>
              </div>
            </div>
            <div class="card-footer">
              <div class="clearfix">
                <div class="pull-right">
                  <button id="add-file-btn" type="submit" class="btn btn-success">
                    <span class="btn-label"><i class="fas fa-folder-plus"></i> Tạo hồ sơ</span>
                  </button>
                </div>
              </div>
            </div>
          </form>
        </div>
      </div>
    </div>
    <div class="row">
      <div class="col">
        <div class="card">
          <div class="card-body">
            <table id="fileTable" class="table table-hover table-bordered table-striped">
              <thead>
                <tr>
                  <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: 150px">Thời gian</th>
                  <th style="width: 10px">Số trang</th>
                  <th style="width: 10px">Số tờ</th>
                  <th class="control" style="max-width: 100px">Xóa/Sửa</th>
                </tr>
              </thead>
            </table>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
<!--Modal sửa hồ sơ-->
<%~ includeFile('../partials/editFile.eta') %>
<script type="text/javascript" src="/js/sohoa/suahoso.js"></script>
<script type="text/javascript">
  $(function () {
    //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: 'ftipr',
      columns: [
        {
          data: "FondCode",
          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: "PageNumber", className: 'text-center' },
        { data: "SheetNumber", className: 'text-center' },
        {
          data: null,
          className: 'text-center',
          render: function (data, type, row) {
            return `<div class="btn-group">
                      <button class="btn btn-warning btn-xs btn-icon edit-btn" title="Sửa hồ sơ"><i class="fas fa-edit"></i></button>
                      <button class="btn btn-danger btn-xs btn-icon delete-btn" title="Xóa hồ sơ"><i class="fas fa-trash-alt"></i></button>
                    </div>`;
          }
        }
      ]
    });
    //Thêm hồ sơ
    $("#keyword").tagsinput({
      tagClass: "badge badge-primary"
    });
    $("#file-fond").select2({
      ajax: {
        url: '/danhmuc/phong/json',
        dataType: 'json',
        processResults: function (data, params) {
          return {
            results: data.map(function (x) { x.id = x.FondCode; return x })
          }
        }
      },
      theme: 'bootstrap4',
      placeholder: 'Chọn phông lưu trữ',
      templateResult: function (fond) {
        if (!fond.id) {
          return fond.FondName;
        }
        var html = `<div class='w-100'><span class='badge pull-right ${fond.State ? "badge-danger'>Đóng" : "badge-success'>Mở"}</span> ${fond.FondName}<small class='text-warning d-block'>Mã phông: ${fond.FondCode}</small></div>`;
        return $(html);
      },
      templateSelection: function (fond) {
        if (!fond.id) {
          return fond.FondName;
        }
        var html = `<div class='w-100'><span class='badge ${fond.State ? "badge-danger'>Đóng" : "badge-success'>Mở"}</span> ${fond.FondName}</div>`;
        return $(html);
      },
      minimumResultsForSearch: -1
    });
    $("#file-group").select2({
      ajax: {
        url: '/danhmuc/nhomtailieu',
        dataType: 'json',
        processResults: function (data, params) {
          return {
            results: data.map(x => ({ id: x.Id, text: x.GroupName }))
          }
        }
      },
      theme: 'bootstrap4',
      placeholder: 'Chọn nhóm tài liệu',
      minimumResultsForSearch: -1
    });
    $("#file-language").select2({
      ajax: {
        url: "/danhmuc/ngonngu",
        dataType: "json",
        processResults: function (data) {
          var items = data.map(function (x) { return { id: x.LangCode, text: x.LangName } }).sort(function (a, b) {
            var aTxt = a.text.toLowerCase();
            var bTxt = b.text.toLowerCase();
            if (aTxt > bTxt) return 1;
            if (aTxt < bTxt) return -1;
            return 0;
          })
          return { results: items }
        }
      },
      placeholder: "Nếu chỉ có tiếng Việt thì để trống",
      theme: "bootstrap4"
    });
    $("#file-right").select2({
      allowClear: true,
      placeholder: "Chọn hạn chế nếu có",
      theme: "bootstrap4"
    });
    $("#add-file-form").validate({
      validClass: "success",
      messages: {
        catalog: {
          required: "Không được để trống",
          number: "Chỉ được nhập số",
          min: "Số phải lớn hơn hoặc bằng 1"
        },
        box: {
          required: "Không được để trống",
          number: "Chỉ được nhập số lớn hơn 0",
          min: "Số phải lớn hơn hoặc bằng 1"
        },
        year: {
          required: "Không được để trống",
          number: "Chỉ được nhập số lớn hơn 0",
          min: "Số phải lớn hơn hoặc bằng 1"
        }
      },
      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/hoso",
          method: "POST",
          data: $(domForm).serialize(),
          headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') },
          success: function (data, textStatus, jqXHR) {
            location.replace(location.href);
          },
          error: function (jqXHR, textStatus, err) {
            Swal.fire({
              text: jqXHR.responseText,
              type: 'error',
              showConfirmButton: false,
              timer: 1500
            })
          }
        });
      }
    });
  })
</script>