added user, kurir and admin page, complete the process of kurir
This commit is contained in:
79
assets/admin.js
Normal file
79
assets/admin.js
Normal file
@ -0,0 +1,79 @@
|
||||
const socket = io(socket_server); // Connects to your server
|
||||
|
||||
function reloadTheTable() {
|
||||
if (document.getElementById('tb-paket')) {
|
||||
// If tb-paket is a DataTable instance
|
||||
$('#tb-paket').DataTable().destroy();
|
||||
reloadTable();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
socket.on('connect', () => {
|
||||
console.log('Connected to server:', socket.id);
|
||||
});
|
||||
|
||||
|
||||
|
||||
// notifikasi pengiriman baru oleh user
|
||||
socket.on('pengiriman_baru_client', (data) => {
|
||||
const sound = new Audio('/sound/notif.mp3');
|
||||
sound.play().catch(() => {});
|
||||
toastr.info("Ada Pengiriman Baru");
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
reloadTheTable();
|
||||
|
||||
// console.log(data);
|
||||
});
|
||||
|
||||
// notifikasi pembatalan paket dilakukan oleh kurir
|
||||
socket.on('pembatalan_paket_kurir', (data) => {
|
||||
const sound = new Audio('/sound/notif.mp3');
|
||||
sound.play().catch(() => {});
|
||||
toastr.warning("Kurir Membatalkan Pengambilan Paket No Resi <b>" + data._id + "</b>\nAlasan: <b>" + data.alasan + "</b>\nAdmin dapat menugaskan Kurir Baru atau Membatalkan Pengiriman.");
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
reloadTheTable();
|
||||
});
|
||||
|
||||
// notifikasi kurir dalam perjalanan mengambil paket
|
||||
socket.on('kurir_mengambil_pengiriman_admin', (data) => {
|
||||
const sound = new Audio('/sound/notif.mp3');
|
||||
sound.play().catch(() => {});
|
||||
toastr.info("Kurir Menyetujui Pengambilan Paket No Resi <b>" + data._id + "</b> dan Dalam Perjalanan Mengambil Paket di Alamat Pengirim : <b>" + data.alamat_pengirim + "</b>");
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
reloadTheTable();
|
||||
});
|
||||
|
||||
|
||||
// notifikasi kurir mengambil paket dari pengirim dan mengantarkan ke penerima
|
||||
socket.on('kurir_menghantar_ke_penerima_admin', (data) => {
|
||||
const sound = new Audio('/sound/notif.mp3');
|
||||
sound.play().catch(() => {});
|
||||
// console.log(data);
|
||||
if(data.status == 'Mengirim Paket Ke Alamat Penerima') {
|
||||
toastr.info("Kurir Telah Mengambil Paket No Resi <b>" + data._id + "</b> dari Pengirim dan Dalam Perjalanan Mengantarkan ke Penerima di Alamat Penerima : <b>" + data.alamat_penerima + "</b>");
|
||||
}else {
|
||||
toastr.success("Kurir Telah Mengantarkan Paket No Resi <b>" + data._id + "</b> ke Penerima di Alamat Penerima : <b>" + data.alamat_penerima + "</b>");
|
||||
}
|
||||
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
reloadTheTable();
|
||||
});
|
||||
|
||||
// notifikasi verifikasi paket diterima oleh user
|
||||
socket.on('diterima_terverifikasi_admin', (data) => {
|
||||
console.log(data);
|
||||
const sound = new Audio('/sound/notif.mp3');
|
||||
sound.play().catch(() => {});
|
||||
toastr.success("Paket No Resi <b>" + data._id + "</b> Telah Diterima dan diverifikasi oleh Pengirim");
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
reloadTheTable();
|
||||
});
|
||||
|
||||
|
||||
// tiada notifikasi sebab pengirim yang membatalkan pengiriman
|
||||
socket.on('delete_kiriman_admin', (data) => {
|
||||
console.log(data);
|
||||
|
||||
reloadTheTable();
|
||||
});
|
||||
40
assets/kurir.js
Normal file
40
assets/kurir.js
Normal file
@ -0,0 +1,40 @@
|
||||
const url = new URL(window.location.href); // or use your URL string instead
|
||||
const pathSegments = url.pathname.split('/').filter(Boolean);
|
||||
|
||||
// Check if 'kurir' is present and if there's something after it
|
||||
const index = pathSegments.indexOf('kurir');
|
||||
const hasParamAfterKurir = index !== -1 && index < pathSegments.length - 1;
|
||||
|
||||
console.log(hasParamAfterKurir); // true or false
|
||||
|
||||
const socket = io(socket_server); // Connects to your server
|
||||
|
||||
|
||||
socket.on('connect', () => {
|
||||
console.log('Connected to server:', socket.id);
|
||||
});
|
||||
|
||||
function reloadTheTable() {
|
||||
if (document.getElementById('tb-paket')) {
|
||||
// If tb-paket is a DataTable instance
|
||||
$('#tb-paket').DataTable().destroy();
|
||||
reloadTable();
|
||||
}
|
||||
}
|
||||
console.log(global_data._id);
|
||||
socket.on('kurir_ditugaskan_' + global_data._id, (data) => {
|
||||
const sound = new Audio('/sound/notif.mp3');
|
||||
sound.play().catch(() => {});
|
||||
toastr.info("Ada Pengiriman Baru Ditugaskan Untuk Anda");
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
reloadTheTable();
|
||||
|
||||
// console.log(data);
|
||||
});
|
||||
|
||||
document.getElementById('h5-title').innerHTML = global_data.nama;
|
||||
|
||||
$("#img-avatar").attr("src", hasParamAfterKurir? 'kurir/' + global_data.gambar_kurir : 'kurir/kurir/' + global_data.gambar_kurir);
|
||||
$("#img-avatar").css("width", "65px");
|
||||
$("#img-avatar").css("height", "65px");
|
||||
|
||||
@ -1,11 +1,20 @@
|
||||
let socket_server;
|
||||
|
||||
if (window.location.hostname === "20.20.20.26" && window.location.port === "3011") {
|
||||
socket_server = "http://20.20.20.26:3014";
|
||||
} else {
|
||||
socket_server = "https://socket-shenior.mywork-kkk.online";
|
||||
}
|
||||
|
||||
console.log("Socket server:", socket_server);
|
||||
function logout() {
|
||||
return swal({
|
||||
title: "Yakin?",
|
||||
text: "Anda akan keluar dari sistem",
|
||||
type: "warning",
|
||||
type: "warning",
|
||||
showCancelButton: !0,
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "Ya, logout!",
|
||||
confirmButtonColor: "#DD6B55",
|
||||
confirmButtonText: "Ya, logout!",
|
||||
cancelButtonText: "Tidak, batal!",
|
||||
closeOnConfirm: !1,
|
||||
closeOnCancel: !1,
|
||||
@ -16,7 +25,7 @@ function logout() {
|
||||
localStorage.removeItem('user');
|
||||
localStorage.removeItem('role');
|
||||
window.location.href = "/"
|
||||
}else{
|
||||
} else {
|
||||
// close swal
|
||||
swal.close()
|
||||
}
|
||||
@ -75,7 +84,31 @@ function enableInput(stat) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function numberOnly(element) { //only number and remove comma
|
||||
element.value = element.value.replace(/[^0-9]/g, '');
|
||||
element.value = element.value.replace(/,/g, '');
|
||||
}
|
||||
}
|
||||
|
||||
function formatToMakassar(dateString) {
|
||||
const dateObj = new Date(dateString);
|
||||
|
||||
const options = {
|
||||
timeZone: 'Asia/Makassar',
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit',
|
||||
hour12: false,
|
||||
};
|
||||
|
||||
const parts = new Intl.DateTimeFormat('id-ID', options).formatToParts(dateObj);
|
||||
|
||||
const getPart = (type) => parts.find(p => p.type === type)?.value ?? '';
|
||||
|
||||
// Format: DD-MM-YYYY, HH.mm.ss
|
||||
return `${getPart('day')}-${getPart('month')}-${getPart('year')}, ${getPart('hour')}.${getPart('minute')}.${getPart('second')}`;
|
||||
}
|
||||
|
||||
BIN
assets/sound/notif.mp3
Normal file
BIN
assets/sound/notif.mp3
Normal file
Binary file not shown.
76
assets/user.js
Normal file
76
assets/user.js
Normal file
@ -0,0 +1,76 @@
|
||||
const socket = io(socket_server); // Connects to your server
|
||||
|
||||
|
||||
socket.on('connect', () => {
|
||||
console.log('Connected to server:', socket.id);
|
||||
});
|
||||
|
||||
function reloadTheTable() {
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
if (document.getElementById('tb-paket')) {
|
||||
// If tb-paket is a DataTable instance
|
||||
$('#tb-paket').DataTable().destroy();
|
||||
reloadTable();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// notifikasi pembatalan paket oleh kurir
|
||||
socket.on('pembatalan_paket_' + global_data._id, (data) => {
|
||||
const sound = new Audio('/sound/notif.mp3');
|
||||
sound.play().catch(() => { });
|
||||
toastr.warning(`Pembatalan Pengiriman Paket<br>Status: <b>${data.status}</b>`);
|
||||
console.log(data);
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
reloadTheTable();
|
||||
|
||||
// console.log(data);
|
||||
});
|
||||
|
||||
|
||||
// notifikasi kurir ditugaskan oleh admin
|
||||
socket.on('kurir_ditugaskan_' + global_data._id, (data) => {
|
||||
const sound = new Audio('/sound/notif.mp3');
|
||||
sound.play().catch(() => { });
|
||||
toastr.info(`Kurir Telah Ditugaskan Untuk Pengiriman Paket<br>No Resi: <b>${data._id}</b>\nSila Liat Detail Pengiriman Untuk Informasi Lebih Lanjut`);
|
||||
console.log(data);
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
reloadTheTable();
|
||||
|
||||
// console.log(data);
|
||||
});
|
||||
|
||||
|
||||
// notifikasi pembatalan paket yang dilakukan oleh kurir
|
||||
socket.on('pembatalan_paket_kurir_' + global_data._id, (data) => {
|
||||
const sound = new Audio('/sound/notif.mp3');
|
||||
sound.play().catch(() => { });
|
||||
toastr.warning("Kurir Membatalkan Pengambilan Paket No Resi <b>" + data._id + "</b>\nAdmin akan menugaskan Kurir Baru.\nMohon Maaf dan Harap Tunggu.");
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
reloadTheTable();
|
||||
});
|
||||
|
||||
|
||||
// notifikasi kurir dalam perjalanan mengambil paket
|
||||
socket.on('kurir_mengambil_pengiriman_' + global_data._id, (data) => {
|
||||
const sound = new Audio('/sound/notif.mp3');
|
||||
sound.play().catch(() => { });
|
||||
toastr.info("Kurir Dalam Perjalanan Mengambil Paket No Resi <b>" + data._id + "</b>\nDiharap Pengirim Menunggu Kurir Sampai");
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
reloadTheTable();
|
||||
});
|
||||
|
||||
// notifikasi kurir mengambil paket dari pengirim dan mengantarkan ke penerima
|
||||
socket.on('kurir_menghantar_ke_penerima_' + global_data._id, (data) => {
|
||||
const sound = new Audio('/sound/notif.mp3');
|
||||
sound.play().catch(() => { });
|
||||
// console.log(data)
|
||||
if (data.status == 'Mengirim Paket Ke Alamat Penerima') {
|
||||
toastr.info("Kurir Telah Mengambil Paket No Resi <b>" + data._id + "</b> dari Pengirim dan Dalam Perjalanan Mengantarkan ke Penerima di Alamat Penerima : <b>" + data.alamat_penerima + "</b>");
|
||||
}else {
|
||||
toastr.success("Kurir Telah Mengantarkan Paket No Resi <b>" + data._id + "</b> ke Penerima di Alamat Penerima : <b>" + data.alamat_penerima + "</b>");
|
||||
}
|
||||
// check if tb-paket is available , if available destroy then reloadTable()
|
||||
reloadTheTable();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user