Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>
- <!-- DataTables -->
- <link rel="stylesheet" href="<?= base_url("assets/"); ?>datatables/css/dataTables.bootstrap.css">
- <link rel="stylesheet" href="<?= base_url("assets/"); ?>bower_components/select2/dist/css/select2.min.css">
- <!-- Content Wrapper. Contains page content -->
- <div class="content-wrapper">
- <!-- Content Header (Page header) -->
- <section class="content-header">
- <h1>
- Produk
- </h1>
- <ol class="breadcrumb">
- <li><a href=""><i class="fa fa-dashboard"></i> Produk</a></li>
- <li class="active">Daftar Produk</li>
- </ol>
- </section>
- <!-- Main content -->
- <section class="content">
- <!-- Default box -->
- <div class="box">
- <div class="box-header with-border">
- <h3 class="box-title">Daftar Produk</h3>
- <div class="box-tools pull-right">
- <button type="button" class="btn btn-box-tool" data-widget="collapse" data-toggle="tooltip"
- title="Collapse">
- <i class="fa fa-minus"></i></button>
- <button type="button" class="btn btn-box-tool" data-widget="remove" data-toggle="tooltip" title="Remove">
- <i class="fa fa-times"></i></button>
- </div>
- </div>
- <div class="box-body">
- <div>
- <button class="btn btn-primary" onclick="tambah()"><span class="fa fa-edit"></span> Tambah</button>
- <button class="btn btn-default" onclick="reload_table()"><i class="glyphicon glyphicon-refresh"></i> Reload</button>
- <button class="btn btn-warning " onclick="backupdatabase()"><span class="fa fa-file-excel-o"></span> BackUP Database</button>
- <script type="text/javascript">
- function backupdatabase()
- {
- if(confirm('Anda yakin BackUP File Excel ?'))
- {
- window.location.assign("<?php echo site_url('admin/produk/backupdatabase'); ?>")
- }
- }
- </script>
- </div><br>
- <div class="box-body table-responsive no-padding">
- <table id="mytable" class="table table-striped table-bordered table-hover" width="100%">
- <thead>
- <tr><th width="1%">No</th>
- <th>Nama Produk</th>
- <th>Kategori Produk</th>
- <th>Harga Modal</th>
- <th>Harga Pelanggan</th>
- <th>Harga Umum</th>
- <th>Stok</th>
- <th width="20%">Action</th>
- </tr>
- </thead>
- <tbody>
- </tbody>
- </table>
- </div>
- </div>
- <!-- /.box-body -->
- <div class="box-footer">
- Footer
- </div>
- <!-- /.box-footer-->
- </div>
- <!-- /.box -->
- </section>
- <!-- /.content -->
- </div>
- <!-- /.content-wrapper -->
- <!--modal tambah dan edit -->
- <div class="modal fade" id="modal_form" role="dialog">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
- <h3 class="modal-title"></h3>
- </div>
- <div class="modal-body form">
- <form action="#" id="form" class="form-horizontal">
- <div class="modal-body">
- <input type="hidden" value="" name="id"/>
- <div class="form-group">
- <label for="exampleInputEmail1">Produk</label>
- <input type="text" class="form-control" id="exampleInputEmail1" placeholder="Produk" name="nama" required/>
- <span class="help-block"></span>
- </div>
- <div class="form-group">
- <label for="exampleInputEmail1">Kategori Produk</label>
- <select class="form-control select2" id="select2" name="id_kategori_produk" style="width: 100%;">
- <option value="">Choose option</option>
- <?php foreach ($kategori_produk->result() as $key) {
- ?>
- <option value="<?= $key->id ?>"><?= $key->nama ?></option>
- <?php
- } ?>
- </select>
- <span class="help-block"></span>
- </div>
- <div class="form-group">
- <label for="exampleInputEmail1">Harga Modal</label>
- <input type="text" class="form-control" id="exampleInputEmail1" placeholder="Harga Modal" name="modal" required onkeypress='return check_int(event)'/>
- <span class="help-block"></span>
- </div>
- <div class="form-group">
- <label for="exampleInputEmail1">Harga Pelanggan</label>
- <input type="text" class="form-control" id="exampleInputEmail1" placeholder="Harga Pelanggan" name="pelanggan" required onkeypress='return check_int(event)'/>
- <span class="help-block"></span>
- </div>
- <div class="form-group">
- <label for="exampleInputEmail1">Harga Umum</label>
- <input type="text" class="form-control" id="exampleInputEmail1" placeholder="Harga Umum" name="umum" required onkeypress='return check_int(event)'/>
- <span class="help-block"></span>
- </div>
- </div>
- </form>
- </div>
- <div class="modal-footer">
- <div class="pull-right">
- <button type="button" id="btnSave" onclick="save()" class="btn btn-primary"><i class="fa fa-mail-forward "></i> Save</button>
- </div>
- <div class="pull-left">
- <button type="button" class="btn btn-default" data-dismiss="modal"><i class="fa fa-mail-reply"></i> Cancel</button>
- </div>
- </div>
- </div><!-- /.modal-content -->
- </div><!-- /.modal-dialog -->
- </div><!-- /.modal -->
- <!-- jQuery 3 -->
- <script src="<?= base_url("assets/"); ?>bower_components/jquery/dist/jquery.min.js"></script>
- <!-- DataTables -->
- <script src="<?= base_url("assets/"); ?>datatables/js/jquery.dataTables.min.js"></script>
- <script src="<?= base_url("assets/"); ?>datatables/js/dataTables.bootstrap.js"></script>
- <script src="<?= base_url("assets/"); ?>bower_components/select2/dist/js/select2.full.min.js"></script>
- <script type="text/javascript">
- $('#select2').select2();
- //Fun Hapus
- function hapus(id)
- {
- if(confirm('Anda yakin ingin menghapus data?'))
- {
- // ajax delete data to database
- $.ajax({
- url : '<?php echo site_url("admin/produk/hapus/'+id+'") ?>',
- type: "POST",
- dataType: "JSON",
- success: function(data)
- {
- //if success reload ajax table
- $('#modal_form').modal('hide');
- reload_table();
- },
- error: function (jqXHR, textStatus, errorThrown)
- {
- alert('Error deleting data');
- }
- });
- }
- }
- //fun tambah
- function tambah()
- {
- save_method = 'add';
- $('#form')[0].reset(); // reset form on modals
- $('.form-group').removeClass('has-error'); // clear error class
- $('.help-block').empty(); // clear error string
- $('#modal_form').modal('show'); // show bootstrap modal
- $('.modal-title').text('Tambah Produk'); // Set Title to Bootstrap modal title
- }
- //fun edit
- function edit(id)
- {
- save_method = 'update';
- $('#form')[0].reset(); // reset form on modals
- $('.form-group').removeClass('has-error'); // clear error class
- $('.help-block').empty(); // clear error string
- $.ajax({
- url : '<?php echo site_url("admin/produk/edit/'+id+'") ?>',
- type: "GET",
- dataType: "JSON",
- success: function(data)
- {
- $('[name="id"]').val(data.id);
- $('[name="nama"]').val(data.nama);
- // $('[name="id_kategori_produk"]').val(data.id_kategori_produk);
- $('[name="id_kategori_produk"]').val(data.id_kategori_produk);
- $('[name="id_kategori_produk"]').trigger('change');
- $('[name="pelanggan"]').val(data.pelanggan);
- $('[name="umum"]').val(data.umum);
- $('[name="modal"]').val(data.modal);
- $('#modal_form').modal('show'); // show bootstrap modal when complete loaded
- $('.modal-title').text('Edit Produk'); // Set title to Bootstrap modal title
- },
- error: function (jqXHR, textStatus, errorThrown)
- {
- alert('Error get data from ajax');
- }
- });
- }
- //fun simpan
- function save()
- {
- $('#btnSave').text('saving...'); //change button text
- $('#btnSave').attr('disabled',true); //set button disable
- var url;
- if(save_method == 'add') {
- url = "<?php echo site_url('admin/produk/tambah')?>";
- } else {
- url = "<?php echo site_url('admin/produk/update')?>";
- }
- // ajax adding data to database
- var formData = new FormData($('#form')[0]);
- $.ajax({
- url : url,
- type: "POST",
- data: formData,
- contentType: false,
- processData: false,
- dataType: "JSON",
- success: function(data)
- {
- if(data.status) //if success close modal and reload ajax table
- {
- $('#modal_form').modal('hide');
- reload_table();
- } else
- {
- for (var i = 0; i < data.inputerror.length; i++)
- {
- $('[name="'+data.inputerror[i]+'"]').parent().parent().addClass('has-error'); //select parent twice to select div form-group class and add has-error class
- $('[name="'+data.inputerror[i]+'"]').next().text(data.error_string[i]); //select span help-block class set text error string
- }
- }
- $('#btnSave').text('save'); //change button text
- $('#btnSave').attr('disabled',false); //set button enable
- },
- error: function (jqXHR, textStatus, errorThrown)
- {
- alert('Error adding / update data');
- $('#btnSave').text('save'); //change button text
- $('#btnSave').attr('disabled',false); //set button enable
- }
- });
- }
- function check_int(evt) {
- var charCode = ( evt.which ) ? evt.which : event.keyCode;
- return ( charCode >= 48 && charCode <= 57 || charCode == 8 );
- }
- // Aktif Navigasi
- $(document).ready(function() {
- $('#produk').addClass('active treeview');
- });
- </script>
- <!-- page script -->
- <script type="text/javascript">
- $.fn.dataTableExt.oApi.fnPagingInfo = function(oSettings)
- {
- return {
- "iStart": oSettings._iDisplayStart,
- "iEnd": oSettings.fnDisplayEnd(),
- "iLength": oSettings._iDisplayLength,
- "iTotal": oSettings.fnRecordsTotal(),
- "iFilteredTotal": oSettings.fnRecordsDisplay(),
- "iPage": Math.ceil(oSettings._iDisplayStart / oSettings._iDisplayLength),
- "iTotalPages": Math.ceil(oSettings.fnRecordsDisplay() / oSettings._iDisplayLength)
- };
- };
- var table = $('#mytable').DataTable({
- oLanguage: {
- sProcessing: "loading..."
- },
- processing: true,
- serverSide: true,
- ajax: {"url": "<?= base_url() ?>admin/produk/json", "type": "POST"},
- columns: [
- {
- "data": "id",
- "orderable": false
- },
- {"data": "nama"},
- {"data": "nama_kategori_produk"},
- {"data": "modal"},
- {"data": "pelanggan"},
- {"data": "umum"},
- {"data": "qty"},
- {"data": "view","orderable": false}
- ],
- order: [[1, 'asc']],
- rowCallback: function(row, data, iDisplayIndex) {
- var info = this.fnPagingInfo();
- var page = info.iPage;
- var length = info.iLength;
- var index = page * length + (iDisplayIndex + 1);
- $('td:eq(0)', row).html(index);
- }
- });
- //fun reload
- function reload_table()
- {
- table.ajax.reload(null,false); //reload datatable ajax
- }
- </script>
Advertisement
Add Comment
Please, Sign In to add comment