added user, kurir and admin page, complete the process of kurir
This commit is contained in:
912
routes/kurir_ui/log.html
Normal file
912
routes/kurir_ui/log.html
Normal file
@ -0,0 +1,912 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<title>Shenior Kurir | Log Penghantaran</title>
|
||||
|
||||
<!-- Main Styles -->
|
||||
<link rel="stylesheet" href="/styles/style.min.css">
|
||||
|
||||
<!-- mCustomScrollbar -->
|
||||
<link rel="stylesheet" href="/plugin/mCustomScrollbar/jquery.mCustomScrollbar.min.css">
|
||||
|
||||
<!-- Waves Effect -->
|
||||
<link rel="stylesheet" href="/plugin/waves/waves.min.css">
|
||||
|
||||
<!-- Sweet Alert -->
|
||||
<link rel="stylesheet" href="/plugin/sweet-alert/sweetalert.css">
|
||||
|
||||
<link rel="stylesheet" href="/fonts/fontello/fontello.css">
|
||||
|
||||
<link rel="stylesheet" href="/plugin/datatables/media/css/dataTables.bootstrap.min.css">
|
||||
|
||||
<!-- Toastr -->
|
||||
<link rel="stylesheet" href="/plugin/toastr/toastr.css">
|
||||
|
||||
<link rel="stylesheet" href="/fonts/material-design-iconic-font/css/material-design-iconic-font.min.css">
|
||||
<link rel="stylesheet" href="/fonts/material-design/css/materialdesignicons.css">
|
||||
<script src="/auth.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="main-menu">
|
||||
<header class="header">
|
||||
<a href="/admin" class="logo">Shenior Kurir</a>
|
||||
<button type="button" class="button-close fa fa-times js__menu_close"></button>
|
||||
<div class="user">
|
||||
<a href="#" class="avatar"><img src="/images/admin.png" id="img-avatar" alt=""><span
|
||||
class="status online"></span></a>
|
||||
<h5 class="name"><a href="#" id="h5-title">...</a></h5>
|
||||
<h5 class="position">Kurir</h5>
|
||||
|
||||
</div>
|
||||
<!-- /.user -->
|
||||
</header>
|
||||
<!-- /.header -->
|
||||
<div class="content">
|
||||
|
||||
<div class="navigation">
|
||||
<h5 class="title">Navigasi</h5>
|
||||
<!-- /.title -->
|
||||
<ul class="menu js__accordion">
|
||||
<li>
|
||||
<a class="waves-effect" href="/kurir"><i class="menu-icon fa fa-home"></i><span>Halaman
|
||||
Utama</span></a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="waves-effect" href="/kurir/penghantaran"><i
|
||||
class="menu-icon ico mdi mdi-motorbike"></i><span>Pengiriman Paket</span></a>
|
||||
</li>
|
||||
|
||||
<!-- <li>
|
||||
<a class="waves-effect" href="#" onclick="notAvailable()"><i
|
||||
class="menu-icon fa fa-users"></i><span>List User</span></a>
|
||||
</li> -->
|
||||
|
||||
<li class="current active">
|
||||
<a class="waves-effect" href="/kurir/log"><i class="menu-icon ico icon-table"></i><span>Log
|
||||
Penghantaran</span></a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="waves-effect" href="/kurir/profil"><i
|
||||
class="menu-icon fa fa-unlock-alt"></i><span>Ganti Password</span></a>
|
||||
</li>
|
||||
|
||||
|
||||
<li>
|
||||
<a class="waves-effect" href="#" onclick="logout()"><i
|
||||
class="menu-icon ico icon-logout"></i><span>Logout</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<!-- /.navigation -->
|
||||
</div>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<!-- /.main-menu -->
|
||||
|
||||
<div class="fixed-navbar">
|
||||
<div class="pull-left">
|
||||
<button type="button"
|
||||
class="menu-mobile-button glyphicon glyphicon-menu-hamburger js__menu_mobile"></button>
|
||||
<h1 class="page-title">Halaman Utama</h1>
|
||||
<!-- /.page-title -->
|
||||
</div>
|
||||
<!-- /.pull-left -->
|
||||
<div class="pull-right">
|
||||
|
||||
|
||||
<a href="#" class="ico-item ico icon-logout" onclick="logout()"></a>
|
||||
</div>
|
||||
<!-- /.pull-right -->
|
||||
</div>
|
||||
<!-- /.fixed-navbar -->
|
||||
|
||||
<div id="wrapper">
|
||||
<div class="main-content">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-6 col-md-6 col-xs-6">
|
||||
<div class="box-content">
|
||||
<h4 class="box-title">Jumlah Log Penghantaran</h4>
|
||||
<!-- /.box-title -->
|
||||
|
||||
<!-- /.dropdown js__dropdown -->
|
||||
<div class="content">
|
||||
<div class="row small-spacing">
|
||||
<div class="col-xs-6">
|
||||
<img src="/images/kiriman.png" alt="" style="width: 100%;">
|
||||
</div>
|
||||
<!-- show this icon ico icon-users-1 -->
|
||||
|
||||
<div class="col-xs-6">
|
||||
<div class="right-content">
|
||||
<h2 class="murid-counter"></h2>
|
||||
<!-- /.counter -->
|
||||
<p class="text">Orang</p>
|
||||
<!-- /.text -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.right-content -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<!-- /.box-content -->
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-6 col-xs-6">
|
||||
<div class="box-content">
|
||||
<h4 class="box-title">Jumlah Penghantaran Sukses</h4>
|
||||
<!-- /.box-title -->
|
||||
|
||||
<!-- /.dropdown js__dropdown -->
|
||||
<div class="content">
|
||||
<div class="row small-spacing">
|
||||
<div class="col-xs-6">
|
||||
<img src="/images/kiriman2.png" alt="" style="width: 100%;">
|
||||
</div>
|
||||
<!-- show this icon ico icon-users-1 -->
|
||||
|
||||
<div class="col-xs-6">
|
||||
<div class="right-content">
|
||||
<h2 class="staf-counter"></h2>
|
||||
<!-- /.counter -->
|
||||
<p class="text">Orang</p>
|
||||
<!-- /.text -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.right-content -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<!-- /.box-content -->
|
||||
</div>
|
||||
<!-- <div class="col-xs-12">
|
||||
<div class="box-content card">
|
||||
<img src="/images/habibie.jpg" alt="" style="width: 100%; border-radius: 30px;">
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="row small-spacing">
|
||||
<div class="box-content card">
|
||||
<h4 class="box-title">Form Pengiriman Paket</h4>
|
||||
<!-- /.box-title -->
|
||||
<div class="card-content">
|
||||
<div class="form-group text-center" id="text-tiada-pengiriman">
|
||||
<p>Tidak ada pengiriman</p>
|
||||
</div>
|
||||
<div class="form-group" id="form-tb-paket">
|
||||
<table id="tb-paket" class="table table-striped table-bordered display" style="width:100%">
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer">
|
||||
<ul class="list-inline">
|
||||
<li>Arifuddin Naawi Amanah © 2025.</li>
|
||||
<!-- <li><a href="#">Privacy</a></li>
|
||||
<li><a href="#">Terms</a></li>
|
||||
<li><a href="#">Help</a></li> -->
|
||||
</ul>
|
||||
</footer>
|
||||
</div>
|
||||
<!-- /.main-content -->
|
||||
</div><!--/#wrapper -->
|
||||
|
||||
<div class="modal fade" id="modal-paket" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
|
||||
<div class="modal-dialog" role="document">
|
||||
<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>
|
||||
<h4 class="modal-title" id="modal-paket-title">Modal title</h4>
|
||||
</div>
|
||||
<form class="modal-body" id="form-modal">
|
||||
<div class="form-group">
|
||||
<!-- show the upload -->
|
||||
<div id="show-upload-gambar-paket" style="display: none">
|
||||
<center>
|
||||
<div id="preview-gambar-paket" style="height: 200px; width: 150px"></div>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" id="form-gambar-paket">
|
||||
<!-- create upload -->
|
||||
<label for="modal-paket-nama">Photo Paket</label>
|
||||
<input type="file" class="form-control" id="gambar-paket" accept="image/*"
|
||||
onchange="showUpload(this, 'gambar-paket')">
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="div-nomor-resi" style="display: none">
|
||||
<label for="modal-paket-nomor-resi">Nomor Resi</label>
|
||||
<input type="text" class="form-control" id="nomor_resi">
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="div-nomor-pengguna">
|
||||
<label for="modal-paket-pengguna">Pengguna</label>
|
||||
<input type="text" class="form-control" id="pengguna">
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="div-waktu-dibuat" style="display: none">
|
||||
<label for="modal-paket-waktu-dibuat">Waktu Dibuat</label>
|
||||
<input type="text" class="form-control" id="waktu_dibuat">
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="div-status" style="display: none">
|
||||
<label for="modal-paket-div-status">Status</label>
|
||||
<input type="text" class="form-control" id="status">
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<hr>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-paket-nama-pengirim">Nama Pengirim</label>
|
||||
<input type="text" class="form-control" id="nama_pengirim" placeholder="Masukkan Nama Pengirim">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-paket-no-telpon-pengirim">No Telpon/HP Pengirim</label>
|
||||
<input type="text" class="form-control" id="no_telpon_pengirim" oninput="numberOnly(this)"
|
||||
maxlength="13" placeholder="Masukkan No Telpon/HP Pengirim">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-paket-alamat-pengirim">Alamat Pengirim</label>
|
||||
<textarea name="alamat_pengirim" class="form-control" id="alamat_pengirim"
|
||||
placeholder="Masukkan Alamat Pengirim" style="resize: none;"></textarea>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<hr>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-paket-nama-penerima">Nama Penerima</label>
|
||||
<input type="text" class="form-control" id="nama_penerima" placeholder="Masukkan Nama Penerima">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-paket-no-telpon-penerima">No Telpon/HP Penerima</label>
|
||||
<input type="text" class="form-control" id="no_telpon_penerima" oninput="numberOnly(this)"
|
||||
maxlength="13" placeholder="Masukkan No Telpon/HP Penerima">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-paket-alamat-penerima">Alamat Penerima</label>
|
||||
<textarea name="alamat_penerima" class="form-control" id="alamat_penerima"
|
||||
placeholder="Masukkan Alamat Penerima" style="resize: none;"></textarea>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<hr>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-paket-berat">Kurir Yang Ditugaskan</label>
|
||||
<input type="text" class="form-control" id="input_kurir" style="display: none">
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<div class="form-group">
|
||||
<!-- show the upload -->
|
||||
<div id="show-upload-foto-paket" style="display: none">
|
||||
<center>
|
||||
<div id="preview-foto-paket" style="height: 200px; width: 150px"></div>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" id="form-foto-paket">
|
||||
<!-- create upload -->
|
||||
<label id="modal-paket-fotonya">Photo Paket</label>
|
||||
<input type="file" class="form-control" id="foto-paket" accept="image/*"
|
||||
onchange="showUpload(this, 'foto-paket')">
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label for="modal-paket-berat">Progress</label>
|
||||
<div class="activity-list">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-xs btn-default btn-sm waves-effect waves-light"
|
||||
data-dismiss="modal">Close</button>
|
||||
<button type="button" class="btn btn-xs btn-danger btn-sm waves-effect waves-light"
|
||||
id="btn-batalkan-paket">Batalkan Pengiriman</button>
|
||||
<button type="button" class="btn btn-xs btn-primary btn-sm waves-effect waves-light"
|
||||
id="btn-mengambil-paket">Berangkat Mengambil Paket</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="/script/html5shiv.min.js"></script>
|
||||
<script src="/script/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!--
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="/scripts/jquery.min.js"></script>
|
||||
<script src="/scripts/modernizr.min.js"></script>
|
||||
<script src="/plugin/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script src="/plugin/mCustomScrollbar/jquery.mCustomScrollbar.concat.min.js"></script>
|
||||
<script src="/plugin/nprogress/nprogress.js"></script>
|
||||
<script src="/plugin/sweet-alert/sweetalert.min.js"></script>
|
||||
<script src="/plugin/waves/waves.min.js"></script>
|
||||
<!-- Full Screen Plugin -->
|
||||
<script src="/plugin/fullscreen/jquery.fullscreen-min.js"></script>
|
||||
|
||||
<!-- Toastr -->
|
||||
<script src="/plugin/toastr/toastr.min.js"></script>
|
||||
|
||||
<script src="/plugin/datatables/media/js/jquery.dataTables.min.js"></script>
|
||||
<script src="/plugin/datatables/media/js/dataTables.bootstrap.min.js"></script>
|
||||
<script src="/plugin/datatables/extensions/Responsive/js/dataTables.responsive.min.js"></script>
|
||||
|
||||
<script src="/block/jquery.blockUI.js"></script>
|
||||
|
||||
<script src="/scripts/main.min.js"></script>
|
||||
<script src="/my-js.js"></script>
|
||||
<script src="/socketnya/client-dist/socket.io.js"></script>
|
||||
<script>
|
||||
const global_data = JSON.parse(localStorage.getItem('user'));
|
||||
console.log(global_data);
|
||||
|
||||
</script>
|
||||
<script>
|
||||
function reloadTable() {
|
||||
// destroy table
|
||||
// $('#tb-kurir').DataTable().destroy();
|
||||
$('#tb-paket').DataTable({
|
||||
// responsive: true,
|
||||
scrollX: true,
|
||||
// order: [
|
||||
// [0, 'asc']
|
||||
// ],
|
||||
ajax: {
|
||||
url: '/kurir/paket/' + global_data._id + '/all',
|
||||
type: 'GET',
|
||||
timeout: 120000,
|
||||
dataSrc: function (data) {
|
||||
console.log(data)
|
||||
if (data.length == 0) {
|
||||
$("#form-tb-paket").hide();
|
||||
$("#text-tiada-pengiriman").show();
|
||||
} else {
|
||||
$("#form-tb-paket").show();
|
||||
$("#text-tiada-pengiriman").hide();
|
||||
}
|
||||
return data.reverse();
|
||||
}
|
||||
},
|
||||
"sAjaxDataProp": "",
|
||||
"aoColumns": [
|
||||
// {
|
||||
// "mData": "_id",
|
||||
// "title": "No Resi",
|
||||
// "render": function (data, type, row) {
|
||||
// return data
|
||||
// }
|
||||
// },
|
||||
{
|
||||
"mData": "nama_pengirim",
|
||||
"title": "Nama Pengirim",
|
||||
"render": function (data, type, row) {
|
||||
return data
|
||||
}
|
||||
},
|
||||
{
|
||||
"mData": "nama_penerima",
|
||||
"title": "Nama Penerima",
|
||||
"render": function (data, type, row) {
|
||||
return data
|
||||
}
|
||||
},
|
||||
{
|
||||
"mData": "alamat_penerima",
|
||||
"title": "Alamat Penerima",
|
||||
"render": function (data, type, row) {
|
||||
return data
|
||||
}
|
||||
},
|
||||
{
|
||||
"mData": "status",
|
||||
"title": "Status",
|
||||
"render": function (data, type, row) {
|
||||
return data
|
||||
}
|
||||
},
|
||||
{
|
||||
"mData": null,
|
||||
"title": "Aksi",
|
||||
"render": function (data, type, row) {
|
||||
return `<button type='button' onclick='open_modal_paket("${data._id}")' title='Detail Pengiriman' class='btn btn-info btn-circle btn-sm waves-effect waves-light'><i class='ico zmdi zmdi-info'></i></button> `
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
reloadTable()
|
||||
|
||||
function showUpload(element, stat) {
|
||||
console.log(element.files);
|
||||
console.log(stat);
|
||||
var file = element.files[0];
|
||||
|
||||
if (file) {
|
||||
var reader = new FileReader();
|
||||
reader.onload = function (event) {
|
||||
var imageUrl = event.target.result;
|
||||
|
||||
// Create an image element
|
||||
var img = document.createElement('img');
|
||||
img.src = imageUrl;
|
||||
img.style.maxWidth = '100%'; // Make the image fit the width of the div
|
||||
img.style.maxHeight = '100%'; // Make the image fit the height of the div
|
||||
|
||||
const id = 'show-upload-' + stat
|
||||
|
||||
const id_preview = 'preview-' + stat
|
||||
// Get the preview div
|
||||
var previewDiv = document.getElementById(`${id_preview}`);
|
||||
$('#' + id).show();
|
||||
|
||||
// Clear any existing content in the preview div
|
||||
previewDiv.innerHTML = '';
|
||||
|
||||
// Append the image to the preview div
|
||||
previewDiv.appendChild(img);
|
||||
}
|
||||
reader.readAsDataURL(file);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<script src="/kurir.js"></script>
|
||||
|
||||
<script>
|
||||
async function open_modal_paket(id) {
|
||||
$.ajax({
|
||||
url: '/user/paket-detail/' + id,
|
||||
type: 'GET',
|
||||
timeout: 20000,
|
||||
beforeSend: function () {
|
||||
blockUI('Loading Data...');
|
||||
},
|
||||
complete: function () {
|
||||
$.unblockUI();
|
||||
},
|
||||
success: function (data) {
|
||||
// Handle the response here
|
||||
console.log(data.timeline);
|
||||
|
||||
if (data.id_kurir != null && data.id_kurir != undefined && data.id_kurir != "") {
|
||||
// // hide select kurir
|
||||
// $("#div-select-kurir").hide();
|
||||
// // show input_kurir
|
||||
$("#input_kurir").show();
|
||||
$("#input_kurir").val(global_data.nama);
|
||||
|
||||
// // hide batal button
|
||||
// $("#btn-batalkan-paket").hide();
|
||||
|
||||
// // hide btn-tugaskan-kurir
|
||||
// $("#btn-tugaskan-kurir").hide();
|
||||
} else {
|
||||
// // show select kurir
|
||||
// $("#div-select-kurir").show();
|
||||
// // hide input_kurir
|
||||
$("#input_kurir").hide();
|
||||
// show batal button
|
||||
// $("#btn-batalkan-paket").show();
|
||||
|
||||
// // show btn-tugaskan-kurir
|
||||
// $("#btn-tugaskan-kurir").show();
|
||||
}
|
||||
|
||||
// let waktu_dibuat = new Date(data.createdAt);
|
||||
|
||||
$("#show-upload-foto-paket").hide();
|
||||
$("#foto-paket").val("");
|
||||
|
||||
const userData = $.ajax({
|
||||
url: '/kurir/user/' + data.id_pengirim,
|
||||
type: 'GET',
|
||||
timeout: 20000,
|
||||
async: false
|
||||
}).responseJSON;
|
||||
|
||||
// console.log(userData);
|
||||
|
||||
$("#pengguna").val(userData.nama);
|
||||
|
||||
$('#modal-paket-title').html('Form Detail Pengiriman Paket');
|
||||
|
||||
// $("#id").val(data._id);
|
||||
$("#div-nomor-resi").show();
|
||||
$("#nomor_resi").val(data._id);
|
||||
$("#div-waktu-dibuat").show();
|
||||
$("#waktu_dibuat").val(formatToMakassar(data.createdAt));
|
||||
$("#div-status").show();
|
||||
$("#status").val(data.status);
|
||||
$("#no_telpon_pengirim").val(data.no_telpon_pengirim);
|
||||
$("#nama_pengirim").val(data.nama_pengirim);
|
||||
$("#alamat_pengirim").val(data.alamat_pengirim);
|
||||
$("#no_telpon_penerima").val(data.no_telpon_penerima);
|
||||
$("#nama_penerima").val(data.nama_penerima);
|
||||
$("#alamat_penerima").val(data.alamat_penerima);
|
||||
// $("#gambar-paket").attr("src", data.gambar_paket);
|
||||
|
||||
var img = document.createElement('img');
|
||||
img.src = "/user/paket-detail/" + data._id + "/" + data.gambar_paket;
|
||||
// make the width 150px and height 150px
|
||||
img.style.width = '150px';
|
||||
img.style.height = '150px';
|
||||
const id = 'show-upload-gambar-paket'
|
||||
|
||||
const id_preview = 'preview-gambar-paket'
|
||||
// Get the preview div
|
||||
var previewDiv = document.getElementById(`${id_preview}`);
|
||||
$('#' + id).show();
|
||||
|
||||
// Clear any existing content in the preview div
|
||||
previewDiv.innerHTML = '';
|
||||
|
||||
// Append the image to the preview div
|
||||
previewDiv.appendChild(img);
|
||||
|
||||
// disable all input in #form-modal
|
||||
$("#form-gambar-paket").hide();
|
||||
|
||||
$('#form-modal :input').prop('disabled', true);
|
||||
|
||||
// make select enabled
|
||||
$("#select-kurir").prop('disabled', false);
|
||||
|
||||
|
||||
let activity_html = '';
|
||||
for (let i = data.timeline.length - 1; i >= 0; i--) {
|
||||
let colornya = 'bg-info';
|
||||
|
||||
if (data.timeline[i].status == 'Paket Telah Diterima Penerima') {
|
||||
colornya = 'bg-success';
|
||||
}
|
||||
|
||||
if (data.timeline[i].status.includes('Dibatalkan')) {
|
||||
colornya = 'bg-danger';
|
||||
}
|
||||
|
||||
activity_html += `<div class="activity-item">
|
||||
<div class="bar ${colornya}">
|
||||
<div class="dot ${colornya}"></div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="date">${formatToMakassar(data.timeline[i].waktu)}</div>
|
||||
<div class="text">
|
||||
${data.timeline[i].status}
|
||||
${!data.timeline[i].gambar ? "" : `<br><img src="/kurir/gambar-paket/${data._id}/${data.timeline[i].gambar}" width="100px" height="100px">`}
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
}
|
||||
|
||||
$('.activity-list').html(activity_html);
|
||||
|
||||
// sign a onclick on #btn-batalkan-paket
|
||||
$('#btn-batalkan-paket').hide();
|
||||
// if data.status == "Kurir Telah Ditugaskan"
|
||||
if (data.status == "Kurir Telah Ditugaskan") {
|
||||
$('#btn-batalkan-paket').attr('onclick', `batalkan_pengiriman('${data._id}')`);
|
||||
$('#btn-batalkan-paket').show();
|
||||
}
|
||||
|
||||
|
||||
|
||||
global_detail_paket = data;
|
||||
// sign a onclick on #btn-tugaskan-kurir
|
||||
const nama_function = data.status == "Kurir Telah Ditugaskan" ? `mengambil_paket('${data._id}')` : data.status == "Kurir Dalam Perjalanan" ? `foto_paket_lokasi_pengirim('${data._id}','mengirim')` : data.status == "Mengirim Paket Ke Alamat Penerima" ? `foto_paket_lokasi_pengirim('${data._id}','menerima')` : null
|
||||
|
||||
const ket_function = data.status == "Kurir Telah Ditugaskan" ? "Mengambil Paket" : data.status == "Kurir Dalam Perjalanan" ? "Hantar Paket Ke Lokasi Penerima" : data.status == "Mengirim Paket Ke Alamat Penerima" ? "Paket Diterima Oleh Penerima" : null
|
||||
|
||||
console.log(nama_function);
|
||||
|
||||
$('#btn-mengambil-paket').attr('onclick', nama_function);
|
||||
$('#btn-mengambil-paket').html(ket_function);
|
||||
$("#btn-mengambil-paket").show();
|
||||
|
||||
if (data.status == "Kurir Dalam Perjalanan" || data.status == "Mengirim Paket Ke Alamat Penerima") {
|
||||
$("#form-foto-paket").show();
|
||||
// $("#show-upload-foto-paket").show();
|
||||
// enable foto-paket
|
||||
$("#foto-paket").prop('disabled', false);
|
||||
$("#modal-paket-fotonya").html("Foto Paket Pengiriman");
|
||||
}
|
||||
|
||||
if (data.status == "Kurir Telah Ditugaskan" || data.status == "'Menunggu Admin Memproses" || data.status == "Diterima Terverifikasi") {
|
||||
// enable foto-paket
|
||||
$("#form-foto-paket").hide();
|
||||
$("#show-upload-foto-paket").hide();
|
||||
if (data.status == "Diterima Terverifikasi") {
|
||||
// hide
|
||||
$('#btn-mengambil-paket').hide();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$('#modal-paket').modal({
|
||||
backdrop: 'static',
|
||||
keyboard: false // Optional: prevents closing via Esc key
|
||||
});
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error('AJAX error:', error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function batalkan_pengiriman(id) {
|
||||
// Hide the modal first
|
||||
$('#modal-paket').modal('hide');
|
||||
|
||||
swal({
|
||||
title: "",
|
||||
text: "Silakan tulis alasan pembatalan:",
|
||||
type: "input",
|
||||
showCancelButton: true,
|
||||
closeOnConfirm: false,
|
||||
animation: "slide-from-top",
|
||||
inputPlaceholder: "Contoh: Ada Urusan Lain",
|
||||
confirmButtonColor: "#304ffe"
|
||||
}, function (inputValue) {
|
||||
if (inputValue === false) {
|
||||
$('#modal-paket').modal('show');
|
||||
return false;
|
||||
}
|
||||
if (inputValue === "") {
|
||||
swal("Oops!", "Alasan tidak boleh kosong!", "error");
|
||||
// open the modal again
|
||||
$('#modal-paket').modal('show');
|
||||
return false;
|
||||
}
|
||||
|
||||
// close the swal
|
||||
swal.close();
|
||||
console.log(inputValue);
|
||||
|
||||
$.ajax({
|
||||
url: '/kurir/batalkan-pengiriman/' + global_data._id,
|
||||
type: 'DELETE',
|
||||
data: {
|
||||
id: id,
|
||||
alasan: inputValue
|
||||
},
|
||||
beforeSend: function () {
|
||||
blockUI("Melakukan Pembatalan Pengiriman...");
|
||||
},
|
||||
complete: function () {
|
||||
$.unblockUI();
|
||||
},
|
||||
success: function (data) {
|
||||
console.log(data);
|
||||
// Hide the modal
|
||||
$('#modal-paket').modal('hide');
|
||||
// // destroy table
|
||||
$('#tb-paket').DataTable().destroy();
|
||||
reloadTable();
|
||||
// // $.unblockUI();
|
||||
swal({
|
||||
title: "Berhasil!",
|
||||
text: "Pengiriman Berhasil Dibatalkan",
|
||||
type: "success",
|
||||
timer: 2000, // time in milliseconds (2000ms = 2 seconds)
|
||||
showConfirmButton: false
|
||||
});
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
// console.error('AJAX error:', error);
|
||||
$('#modal-paket').modal('show');
|
||||
console.log(xhr.responseJSON);
|
||||
toastr.error(xhr.responseJSON !== undefined ? xhr.responseJSON : "Terjadi Kesalahan Server");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function mengambil_paket(id) {
|
||||
console.log(id);
|
||||
// console.log(global_detail_paket);
|
||||
// Hide the modal first
|
||||
$('#modal-paket').modal('hide');
|
||||
|
||||
swal({
|
||||
title: "Mengambil Paket",
|
||||
type: "info",
|
||||
text: "Alamat : <b><i>" + global_detail_paket.alamat_pengirim + "</></b><br>Nama Pengirim :<i><b>" + global_detail_paket.nama_pengirim + "</b></i>",
|
||||
html: true,
|
||||
showCancelButton: true,
|
||||
closeOnConfirm: false,
|
||||
animation: "slide-from-top",
|
||||
confirmButtonColor: "#304ffe"
|
||||
}, function (inputValue) {
|
||||
if (inputValue === false) {
|
||||
$('#modal-paket').modal('show');
|
||||
return false;
|
||||
}
|
||||
|
||||
swal.close();
|
||||
|
||||
$.ajax({
|
||||
url: '/kurir/mengambil-pengiriman/' + id,
|
||||
type: 'PUT',
|
||||
data: {
|
||||
id_kurir: global_data._id
|
||||
},
|
||||
beforeSend: function () {
|
||||
blockUI("Mengambil Paket...");
|
||||
},
|
||||
complete: function () {
|
||||
$.unblockUI();
|
||||
},
|
||||
success: function (data) {
|
||||
console.log(data);
|
||||
// Hide the modal
|
||||
$('#modal-paket').modal('hide');
|
||||
// // destroy table
|
||||
$('#tb-paket').DataTable().destroy();
|
||||
reloadTable();
|
||||
// // $.unblockUI();
|
||||
swal({
|
||||
title: "Berhasil!",
|
||||
text: "Status Pengiriman Berhasil Diubah,\nAnda Sekarang Dalam Perjalanan Mengambil Paket Dari Pengirim",
|
||||
type: "success",
|
||||
timer: 3500, // time in milliseconds (2000ms = 2 seconds)
|
||||
showConfirmButton: false
|
||||
});
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
// console.error('AJAX error:', error);
|
||||
$('#modal-paket').modal('show');
|
||||
console.log(xhr.responseJSON);
|
||||
toastr.error(xhr.responseJSON !== undefined ? xhr.responseJSON : "Terjadi Kesalahan Server");
|
||||
}
|
||||
});
|
||||
|
||||
// swal({
|
||||
// title: "Berhasil!",
|
||||
// text: "Status Pengiriman Berhasil Diubah,\nAnda Sekarang Mengambil Paket",
|
||||
// type: "success",
|
||||
// timer: 2000, // time in milliseconds (2000ms = 2 seconds)
|
||||
// showConfirmButton: false
|
||||
// });
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function foto_paket_lokasi_pengirim(id, stat) {
|
||||
// Hide the modal first
|
||||
// $('#modal-paket').modal('hide');
|
||||
|
||||
// console.log(id);
|
||||
const foto_paket = $('#foto-paket').val();
|
||||
|
||||
if (foto_paket == "") {
|
||||
toastr.error("Foto Paket Tidak Boleh Kosong");
|
||||
$('#foto-paket').focus();
|
||||
return;
|
||||
}
|
||||
|
||||
let formdata = new FormData();
|
||||
formdata.append('foto_paket', $('#foto-paket')[0].files[0]);
|
||||
// formdata.append('id_paket', id);
|
||||
formdata.append('id_kurir', global_data._id);
|
||||
formdata.append('status', stat);
|
||||
|
||||
$('#modal-paket').modal('hide');
|
||||
|
||||
|
||||
swal({
|
||||
title: stat == "mengirim" ? "Hantar Paket Ke Alamat Penerima" : "Paket Diterima Oleh Penerima",
|
||||
type: stat == "mengirim" ? "info" : "success",
|
||||
text: stat == "mengirim" ? "Alamat : <b><i>" + global_detail_paket.alamat_penerima + "</></b><br>Nama Penerima :<i><b>" + global_detail_paket.nama_penerima + "</b></i><br>No Telpon/HP Penerima :<i><b>" + global_detail_paket.no_telpon_penerima + "</b></i>" : "",
|
||||
html: true,
|
||||
showCancelButton: true,
|
||||
closeOnConfirm: false,
|
||||
animation: "slide-from-top",
|
||||
confirmButtonColor: "#304ffe"
|
||||
}, function (inputValue) {
|
||||
if (inputValue === false) {
|
||||
console.log('cancel');
|
||||
$('#modal-paket').modal('show');
|
||||
return false;
|
||||
}
|
||||
// $('#modal-paket').modal('show');
|
||||
// return false;
|
||||
|
||||
swal.close();
|
||||
|
||||
$.ajax({
|
||||
url: '/kurir/mengambil-pengiriman-dari-pengirim-ke-penerima/' + id,
|
||||
type: 'POST',
|
||||
data: formdata,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
beforeSend: function () {
|
||||
blockUI("Mengirim Paket...");
|
||||
},
|
||||
complete: function () {
|
||||
$.unblockUI();
|
||||
},
|
||||
success: function (data) {
|
||||
console.log(data);
|
||||
// Hide the modal
|
||||
$('#modal-paket').modal('hide');
|
||||
// // destroy table
|
||||
$('#tb-paket').DataTable().destroy();
|
||||
reloadTable();
|
||||
swal({
|
||||
title: "Berhasil!",
|
||||
text: stat == "mengirim" ? "Status Pengiriman Berhasil Diubah,\nAnda Sekarang Mengirim Paket Ke Alamat Penerima Di <b>" + global_detail_paket.alamat_penerima + "</b>" : "Paket Telah Diterima Oleh Penerima",
|
||||
html: true,
|
||||
type: "success",
|
||||
timer: 3000, // time in milliseconds (2000ms = 2 seconds)
|
||||
showConfirmButton: false
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
// console.error('AJAX error:', error);
|
||||
$('#modal-paket').modal('show');
|
||||
console.log(xhr.responseJSON);
|
||||
toastr.error(xhr.responseJSON !== undefined ? xhr.responseJSON : "Terjadi Kesalahan Server");
|
||||
$('#modal-paket').modal('show');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user