Finalize all-report
This commit is contained in:
@@ -166,7 +166,7 @@ public function store(Request $request)
|
|||||||
$noid = $seqId->value . "/IDT/" . $mountYearNow;
|
$noid = $seqId->value . "/IDT/" . $mountYearNow;
|
||||||
$user = Auth::user();
|
$user = Auth::user();
|
||||||
|
|
||||||
$periode = explode(" - ", $dataStiker["daterange"]);
|
$periode = explode(" - ", $dataStiker["periode"]);
|
||||||
Log::info("Parcing Periode : " . json_encode($periode));
|
Log::info("Parcing Periode : " . json_encode($periode));
|
||||||
$awal = Carbon::createFromFormat("d-m-Y H:i", $periode[0]);
|
$awal = Carbon::createFromFormat("d-m-Y H:i", $periode[0]);
|
||||||
$akhir = Carbon::createFromFormat("d-m-Y H:i", $periode[1]);
|
$akhir = Carbon::createFromFormat("d-m-Y H:i", $periode[1]);
|
||||||
|
|||||||
-1
@@ -1 +0,0 @@
|
|||||||
1782973785i:1;
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
1782973785i:1782973785;
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+375
-177
@@ -37,10 +37,38 @@ function printPDF(data) {
|
|||||||
|
|
||||||
// ===== SUSUN BODY TABEL =====
|
// ===== SUSUN BODY TABEL =====
|
||||||
const vehicleBody = [];
|
const vehicleBody = [];
|
||||||
let totalTunaiJml = 0,
|
// init print nontunai
|
||||||
totalTunaiNilai = 0;
|
let vehicleCashCasualJml = 0,
|
||||||
let totalNonTunaiJml = 0,
|
vehicleCashCasualNilai = 0;
|
||||||
totalNonTunaiNilai = 0;
|
let vehicleCashLostJml = 0,
|
||||||
|
vehicleCashLostNilai = 0;
|
||||||
|
let vehicleCashPassJml = 0,
|
||||||
|
vehicleCashPassNilai = 0;
|
||||||
|
let vehicleCashManualJml = 0,
|
||||||
|
vehicleCashManualNilai = 0;
|
||||||
|
let vehicleCashManualMixJml = 0,
|
||||||
|
vehicleCashManualMixNilai = 0;
|
||||||
|
let vehicleCashMasalahJml = 0,
|
||||||
|
vehicleCashMasalahNilai = 0;
|
||||||
|
|
||||||
|
let vehicleCashTotal = 0;
|
||||||
|
|
||||||
|
// init print nontunai
|
||||||
|
let vehicleCashlessCasualJml = 0,
|
||||||
|
vehicleCashlessCasualNilai = 0;
|
||||||
|
let vehicleCashlessLostJml = 0,
|
||||||
|
vehicleCashlessLostNilai = 0;
|
||||||
|
let vehicleCashlessPassJml = 0,
|
||||||
|
vehicleCashlessPassNilai = 0;
|
||||||
|
let vehicleCashlessManualJml = 0,
|
||||||
|
vehicleCashlessManualNilai = 0;
|
||||||
|
let vehicleCashlessManualMixJml = 0,
|
||||||
|
vehicleCashlessManualMixNilai = 0;
|
||||||
|
let vehicleCashlessMasalahJml = 0,
|
||||||
|
vehicleCashlessMasalahNilai = 0;
|
||||||
|
|
||||||
|
let vehicleCashlessTotal = 0;
|
||||||
|
|
||||||
let grandTotal = 0;
|
let grandTotal = 0;
|
||||||
|
|
||||||
data.vehicle.tunai.forEach(function (cash) {
|
data.vehicle.tunai.forEach(function (cash) {
|
||||||
@@ -60,15 +88,18 @@ function printPDF(data) {
|
|||||||
const tLost = cash.keluar.lost;
|
const tLost = cash.keluar.lost;
|
||||||
const tMember = cash.keluar.member;
|
const tMember = cash.keluar.member;
|
||||||
const tManual = cash.keluar.manual;
|
const tManual = cash.keluar.manual;
|
||||||
|
const tManualMix = cash.keluar.manualmix ?? { jumlah: 0, income: 0 };
|
||||||
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
|
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
|
||||||
const totalTunai = cash.totalCash || 0;
|
|
||||||
|
const vehicleCashTotal = cash.totalCash || 0;
|
||||||
|
|
||||||
const nCasual = cashless.keluar.casual;
|
const nCasual = cashless.keluar.casual;
|
||||||
const nLost = cashless.keluar.lost;
|
const nLost = cashless.keluar.lost;
|
||||||
const nMember = cashless.keluar.member;
|
const nMember = cashless.keluar.member;
|
||||||
const nManual = cashless.keluar.manual;
|
const nManual = cashless.keluar.manual;
|
||||||
|
const nManualMix = cashless.keluar.manualmix ?? { jumlah: 0, income: 0 };
|
||||||
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
|
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
|
||||||
const totalNonTunai = cashless.totalCashless || 0;
|
const vehicleCashlessTotal = cashless.totalCashless || 0;
|
||||||
|
|
||||||
// baris TUNAI
|
// baris TUNAI
|
||||||
vehicleBody.push([
|
vehicleBody.push([
|
||||||
@@ -84,8 +115,8 @@ function printPDF(data) {
|
|||||||
rupiah(tMember.income),
|
rupiah(tMember.income),
|
||||||
tManual.jumlah,
|
tManual.jumlah,
|
||||||
rupiah(tManual.income),
|
rupiah(tManual.income),
|
||||||
0,
|
tManualMix.jumlah || 0,
|
||||||
0,
|
rupiah(tManualMix.income),
|
||||||
tMasalah.jumlah,
|
tMasalah.jumlah,
|
||||||
rupiah(tMasalah.income),
|
rupiah(tMasalah.income),
|
||||||
{ content: rupiah(cash.totalCash), styles: { valign: "middle", fontStyle: "bold" } },
|
{ content: rupiah(cash.totalCash), styles: { valign: "middle", fontStyle: "bold" } },
|
||||||
@@ -110,8 +141,8 @@ function printPDF(data) {
|
|||||||
nManual.jumlah,
|
nManual.jumlah,
|
||||||
rupiah(nManual.income),
|
rupiah(nManual.income),
|
||||||
|
|
||||||
0,
|
tManualMix.jumlah,
|
||||||
0,
|
rupiah(tManualMix.income),
|
||||||
|
|
||||||
nMasalah.jumlah,
|
nMasalah.jumlah,
|
||||||
rupiah(nMasalah.income),
|
rupiah(nMasalah.income),
|
||||||
@@ -119,67 +150,107 @@ function printPDF(data) {
|
|||||||
{ content: rupiah(cashless.totalCashless), styles: { valign: "middle", fontStyle: "bold" } },
|
{ content: rupiah(cashless.totalCashless), styles: { valign: "middle", fontStyle: "bold" } },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
totalTunaiJml += tCasual.jumlah + tLost.jumlah + tMember.jumlah + tManual.jumlah + tMasalah.jumlah;
|
// init sum cash
|
||||||
totalTunaiNilai += cash.totalCash || 0;
|
|
||||||
totalNonTunaiJml += nCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
|
vehicleCashCasualJml += tCasual.jumlah;
|
||||||
totalNonTunaiNilai += cashless.totalCashless || 0;
|
vehicleCashCasualNilai += tCasual.income || 0;
|
||||||
grandTotal += (cash.totalCash || 0) + (cashless.totalCashless || 0);
|
vehicleCashLostJml += tLost.jumlah;
|
||||||
|
vehicleCashLostNilai += tLost.income;
|
||||||
|
vehicleCashPassJml += tMember.jumlah;
|
||||||
|
vehicleCashPassNilai += tMember.income;
|
||||||
|
vehicleCashManualJml += tManual.jumlah;
|
||||||
|
vehicleCashManualNilai += tManual.income;
|
||||||
|
vehicleCashManualMixJml += tManualMix.jumlah;
|
||||||
|
vehicleCashManualMixNilai += tManualMix.income;
|
||||||
|
vehicleCashMasalahJml += tMasalah.jumlah;
|
||||||
|
vehicleCashMasalahNilai += tMasalah.income;
|
||||||
|
|
||||||
|
// totalTunaiNilai = "X";
|
||||||
|
|
||||||
|
// init sum cashless
|
||||||
|
vehicleCashlessCasualJml += nCasual.jumlah;
|
||||||
|
vehicleCashlessCasualNilai += nCasual.income || 0;
|
||||||
|
vehicleCashlessLostJml += nLost.jumlah;
|
||||||
|
vehicleCashlessLostNilai += nLost.income;
|
||||||
|
vehicleCashlessPassJml += nMember.jumlah;
|
||||||
|
vehicleCashlessPassNilai += nMember.income;
|
||||||
|
vehicleCashlessManualJml += nManual.jumlah;
|
||||||
|
vehicleCashlessManualNilai += nManual.income;
|
||||||
|
vehicleCashlessManualMixJml += nManualMix.jumlah;
|
||||||
|
vehicleCashlessManualMixNilai += nManualMix.income;
|
||||||
|
vehicleCashlessMasalahJml += nMasalah.jumlah;
|
||||||
|
vehicleCashlessMasalahNilai += nMasalah.income;
|
||||||
|
|
||||||
|
// init sum grandTotal
|
||||||
|
subTotalCash =
|
||||||
|
vehicleCashCasualNilai +
|
||||||
|
vehicleCashLostNilai +
|
||||||
|
vehicleCashPassNilai +
|
||||||
|
vehicleCashManualNilai +
|
||||||
|
vehicleCashlessManualMixNilai +
|
||||||
|
vehicleCashlessMasalahNilai;
|
||||||
|
subTotalCashless =
|
||||||
|
vehicleCashlessCasualNilai +
|
||||||
|
vehicleCashlessLostNilai +
|
||||||
|
vehicleCashlessPassNilai +
|
||||||
|
vehicleCashlessManualNilai +
|
||||||
|
vehicleCashlessManualMixNilai +
|
||||||
|
vehicleCashlessMasalahNilai;
|
||||||
|
grandTotal = (subTotalCash || 0) + (subTotalCashless || 0);
|
||||||
});
|
});
|
||||||
|
|
||||||
// baris TOTAL & GRAND TOTAL
|
// baris TOTAL & GRAND TOTAL
|
||||||
vehicleBody.push([
|
vehicleBody.push([
|
||||||
{ content: "TOTAL", rowSpan: 2, styles: { fontStyle: "bold" } },
|
{ content: "SUB TOTAL\nKENDARAAN", rowSpan: 2, styles: { fontStyle: "bold" } },
|
||||||
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
{ content: totalTunaiJml, styles: { fontStyle: "bold" } },
|
vehicleCashCasualJml,
|
||||||
rupiah(totalTunaiNilai),
|
rupiah(vehicleCashCasualNilai),
|
||||||
"",
|
vehicleCashLostJml,
|
||||||
"",
|
rupiah(vehicleCashLostNilai),
|
||||||
"",
|
vehicleCashPassJml,
|
||||||
"",
|
rupiah(vehicleCashPassNilai),
|
||||||
"",
|
vehicleCashManualJml,
|
||||||
"",
|
rupiah(vehicleCashManualNilai),
|
||||||
"",
|
vehicleCashManualMixJml,
|
||||||
"",
|
rupiah(vehicleCashManualMixNilai),
|
||||||
"",
|
vehicleCashMasalahJml,
|
||||||
"",
|
rupiah(vehicleCashMasalahNilai),
|
||||||
rupiah(totalTunaiNilai),
|
rupiah(subTotalCash),
|
||||||
]);
|
]);
|
||||||
vehicleBody.push([
|
vehicleBody.push([
|
||||||
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
{ content: totalNonTunaiJml, styles: { fontStyle: "bold" } },
|
{ content: vehicleCashlessCasualJml, styles: { fontStyle: "bold" } },
|
||||||
rupiah(totalNonTunaiNilai),
|
rupiah(vehicleCashlessCasualNilai),
|
||||||
"",
|
vehicleCashlessLostJml,
|
||||||
"",
|
rupiah(vehicleCashlessLostNilai),
|
||||||
"",
|
vehicleCashlessPassJml,
|
||||||
"",
|
rupiah(vehicleCashlessPassNilai),
|
||||||
"",
|
vehicleCashlessManualJml,
|
||||||
"",
|
rupiah(vehicleCashlessManualNilai),
|
||||||
"",
|
vehicleCashlessManualMixJml,
|
||||||
"",
|
rupiah(vehicleCashlessManualMixNilai),
|
||||||
"",
|
vehicleCashlessMasalahJml,
|
||||||
"",
|
rupiah(vehicleCashlessMasalahNilai),
|
||||||
rupiah(totalNonTunaiNilai),
|
rupiah(subTotalCashless),
|
||||||
]);
|
]);
|
||||||
vehicleBody.push([
|
vehicleBody.push([
|
||||||
{ content: "GRAND TOTAL", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
|
{ content: "GRAND TOTAL\nKENDARAAN", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
|
||||||
{ content: totalTunaiJml + totalNonTunaiJml, styles: { fontStyle: "bold" } },
|
{ content: vehicleCashCasualJml + vehicleCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
|
||||||
{ content: rupiah(totalTunaiNilai + totalNonTunaiNilai), styles: { fontStyle: "bold" } },
|
rupiah(vehicleCashCasualNilai + vehicleCashlessCasualNilai), //Income Casual
|
||||||
"",
|
{ content: vehicleCashLostJml + vehicleCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
|
||||||
"",
|
rupiah(vehicleCashLostNilai + vehicleCashlessLostNilai), //Income Tiket Hilang
|
||||||
"",
|
vehicleCashPassJml + vehicleCashlessPassJml, //Jumlah Member
|
||||||
"",
|
rupiah(vehicleCashPassNilai + vehicleCashlessPassNilai), //Income Member
|
||||||
"",
|
vehicleCashManualJml + vehicleCashlessManualJml, //Jumlah Tiket Manual
|
||||||
"",
|
rupiah(vehicleCashManualNilai + vehicleCashlessManualNilai), //Income Tiket Manual
|
||||||
"",
|
vehicleCashManualMixJml + vehicleCashlessManualMixJml,
|
||||||
"",
|
rupiah(vehicleCashManualMixNilai + vehicleCashlessManualMixNilai),
|
||||||
"",
|
vehicleCashMasalahJml + vehicleCashlessMasalahJml,
|
||||||
"",
|
rupiah(vehicleCashMasalahNilai + vehicleCashlessMasalahNilai),
|
||||||
"",
|
|
||||||
"",
|
|
||||||
{ content: rupiah(grandTotal), styles: { fontStyle: "bold" } },
|
{ content: rupiah(grandTotal), styles: { fontStyle: "bold" } },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@@ -232,28 +303,41 @@ function printPDF(data) {
|
|||||||
(on.overNight || 0) + (on.onExpired || 0),
|
(on.overNight || 0) + (on.onExpired || 0),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// doc.setFont("helvetica", "bold");
|
|
||||||
// doc.setFontSize(8);
|
|
||||||
// doc.text("Kendaraan yang masih menginap (Over Night)", 14, doc.lastAutoTable.finalY + 10);
|
|
||||||
|
|
||||||
// doc.autoTable({
|
|
||||||
// head: [["Jenis Kend", "Menginap", "ON (Expired)", "Total"]],
|
|
||||||
// body: onBody,
|
|
||||||
// startY: doc.lastAutoTable.finalY + 13,
|
|
||||||
// theme: "grid",
|
|
||||||
// styles: { fontSize: 7, cellPadding: 1 },
|
|
||||||
// headStyles: { fontSize: 8, fillColor: [230, 230, 230], textColor: 0 },
|
|
||||||
// tableWidth: 100,
|
|
||||||
// });
|
|
||||||
//==================================================================
|
//==================================================================
|
||||||
//===================== Print table officer ========================
|
//===================== Print table officer ========================
|
||||||
//==================================================================
|
//==================================================================
|
||||||
const officerStartY = doc.lastAutoTable.finalY + 15;
|
const officerStartY = doc.lastAutoTable.finalY + 15;
|
||||||
const officerBody = [];
|
const officerBody = [];
|
||||||
let ptotalTunaiJml = 0,
|
|
||||||
ptotalTunaiNilai = 0;
|
// init print nont tunai
|
||||||
|
let officerCashCasualJml = 0,
|
||||||
|
officerCashCasualNilai = 0;
|
||||||
|
let officerCashLostJml = 0,
|
||||||
|
officerCashLostNilai = 0;
|
||||||
|
let officerCashPassJml = 0,
|
||||||
|
officerCashPassNilai = 0;
|
||||||
|
let officerCashManualJml = 0,
|
||||||
|
officerCashManualNilai = 0;
|
||||||
|
let officerCashManualMixJml = 0,
|
||||||
|
officerCashManualMixNilai = 0;
|
||||||
|
let officerCashMasalahJml = 0,
|
||||||
|
officerCashMasalahNilai = 0;
|
||||||
|
|
||||||
|
// init print nont tunai
|
||||||
let ptotalNonTunaiJml = 0,
|
let ptotalNonTunaiJml = 0,
|
||||||
ptotalNonTunaiNilai = 0;
|
ptotalNonTunaiNilai = 0;
|
||||||
|
let officerCashlessCasualJml = 0,
|
||||||
|
officerCashlessCasualNilai = 0;
|
||||||
|
let officerCashlessLostJml = 0,
|
||||||
|
officerCashlessLostNilai = 0;
|
||||||
|
let officerCashlessPassJml = 0,
|
||||||
|
officerCashlessPassNilai = 0;
|
||||||
|
let officerCashlessManualJml = 0,
|
||||||
|
officerCashlessManualNilai = 0;
|
||||||
|
let officerCashlessManualMixJml = 0,
|
||||||
|
officerCashlessManualMixNilai = 0;
|
||||||
|
let officerCashlessMasalahJml = 0,
|
||||||
|
officerCashlessMasalahNilai = 0;
|
||||||
let pgrandTotal = 0;
|
let pgrandTotal = 0;
|
||||||
|
|
||||||
data.officer.tunai.forEach(function (cash) {
|
data.officer.tunai.forEach(function (cash) {
|
||||||
@@ -274,13 +358,15 @@ function printPDF(data) {
|
|||||||
const tMember = cash.keluar.member;
|
const tMember = cash.keluar.member;
|
||||||
const tManual = cash.keluar.manual;
|
const tManual = cash.keluar.manual;
|
||||||
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
|
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
|
||||||
|
const tManualMix = cash.keluar.manualmix ?? { jumlah: 0, income: 0 };
|
||||||
const totalTunai = cash.totalCash || 0;
|
const totalTunai = cash.totalCash || 0;
|
||||||
|
|
||||||
const oCasual = cashless.keluar.casual;
|
const nCasual = cashless.keluar.casual;
|
||||||
const nLost = cashless.keluar.lost;
|
const nLost = cashless.keluar.lost;
|
||||||
const nMember = cashless.keluar.member;
|
const nMember = cashless.keluar.member;
|
||||||
const nManual = cashless.keluar.manual;
|
const nManual = cashless.keluar.manual;
|
||||||
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
|
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
|
||||||
|
const nManualMix = cashless.keluar.manualmix ?? { jumlah: 0, income: 0 };
|
||||||
const totalNonTunai = cashless.totalCashless || 0;
|
const totalNonTunai = cashless.totalCashless || 0;
|
||||||
|
|
||||||
// baris TUNAI
|
// baris TUNAI
|
||||||
@@ -315,8 +401,8 @@ function printPDF(data) {
|
|||||||
cash.total,
|
cash.total,
|
||||||
cashless.nonTunaiOut,
|
cashless.nonTunaiOut,
|
||||||
|
|
||||||
oCasual.jumlah,
|
nCasual.jumlah,
|
||||||
rupiah(oCasual.income),
|
rupiah(nCasual.income),
|
||||||
|
|
||||||
nLost.jumlah,
|
nLost.jumlah,
|
||||||
cash.totalCashless,
|
cash.totalCashless,
|
||||||
@@ -336,68 +422,107 @@ function printPDF(data) {
|
|||||||
{ content: rupiah(cashless.totalCashless), styles: { valign: "middle", fontStyle: "bold" } },
|
{ content: rupiah(cashless.totalCashless), styles: { valign: "middle", fontStyle: "bold" } },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
ptotalTunaiJml += tCasual.jumlah + tLost.jumlah + tMember.jumlah + tManual.jumlah + tMasalah.jumlah;
|
ptotalNonTunaiJml += nCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
|
||||||
ptotalTunaiNilai += cash.totalCash || 0;
|
|
||||||
ptotalNonTunaiJml += oCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
|
|
||||||
ptotalNonTunaiNilai += cashless.totalCashless || 0;
|
ptotalNonTunaiNilai += cashless.totalCashless || 0;
|
||||||
pgrandTotal += (cash.totalCash || 0) + (cashless.totalCashless || 0);
|
pgrandTotal += (cash.totalCash || 0) + (cashless.totalCashless || 0);
|
||||||
|
|
||||||
|
officerCashCasualJml += tCasual.jumlah;
|
||||||
|
officerCashCasualNilai += tCasual.income || 0;
|
||||||
|
officerCashLostJml += tLost.jumlah;
|
||||||
|
officerCashLostNilai += tLost.income;
|
||||||
|
officerCashPassJml += tMember.jumlah;
|
||||||
|
officerCashPassNilai += tMember.income;
|
||||||
|
officerCashManualJml += tManual.jumlah;
|
||||||
|
officerCashManualNilai += tManual.income;
|
||||||
|
officerCashManualMixJml += tManualMix.jumlah;
|
||||||
|
officerCashManualMixNilai += tManualMix.income;
|
||||||
|
officerCashMasalahJml += tMasalah.jumlah;
|
||||||
|
officerCashMasalahNilai += tMasalah.income;
|
||||||
|
|
||||||
|
// init sum cashless
|
||||||
|
officerCashlessCasualJml += nCasual.jumlah;
|
||||||
|
officerCashlessCasualNilai += nCasual.income || 0;
|
||||||
|
officerCashlessLostJml += nLost.jumlah;
|
||||||
|
officerCashlessLostNilai += nLost.income;
|
||||||
|
officerCashlessPassJml += nMember.jumlah;
|
||||||
|
officerCashlessPassNilai += nMember.income;
|
||||||
|
officerCashlessManualJml += nManual.jumlah;
|
||||||
|
officerCashlessManualNilai += nManual.income;
|
||||||
|
officerCashlessManualMixJml += nManualMix.jumlah;
|
||||||
|
officerCashlessManualMixNilai += nManualMix.income;
|
||||||
|
officerCashlessMasalahJml += nMasalah.jumlah;
|
||||||
|
officerCashlessMasalahNilai += nMasalah.income;
|
||||||
|
|
||||||
|
// sub total cash/ init sum grandTotal
|
||||||
|
subTotalCash =
|
||||||
|
officerCashCasualNilai +
|
||||||
|
officerCashLostNilai +
|
||||||
|
officerCashPassNilai +
|
||||||
|
officerCashManualNilai +
|
||||||
|
officerCashlessManualMixNilai +
|
||||||
|
officerCashlessMasalahNilai;
|
||||||
|
subTotalCashless =
|
||||||
|
officerCashlessCasualNilai +
|
||||||
|
officerCashlessLostNilai +
|
||||||
|
officerCashlessPassNilai +
|
||||||
|
officerCashlessManualNilai +
|
||||||
|
officerCashlessManualMixNilai +
|
||||||
|
officerCashlessMasalahNilai;
|
||||||
});
|
});
|
||||||
|
|
||||||
// baris TOTAL & GRAND TOTAL
|
// baris TOTAL & GRAND TOTAL
|
||||||
officerBody.push([
|
officerBody.push([
|
||||||
{ content: "TOTAL", rowSpan: 2, styles: { fontStyle: "bold" } },
|
{ content: "SUB TOTAL\NPer Petugas", rowSpan: 2, styles: { fontStyle: "bold" } },
|
||||||
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
{ content: ptotalTunaiJml, styles: { fontStyle: "bold" } },
|
{ content: officerCashCasualJml, styles: { fontStyle: "bold" } },
|
||||||
rupiah(ptotalTunaiNilai),
|
rupiah(officerCashCasualNilai),
|
||||||
"",
|
officerCashLostJml,
|
||||||
"",
|
rupiah(officerCashLostNilai),
|
||||||
"",
|
officerCashPassJml,
|
||||||
"",
|
rupiah(officerCashPassNilai),
|
||||||
"",
|
officerCashManualJml,
|
||||||
"",
|
rupiah(officerCashManualNilai),
|
||||||
"",
|
officerCashManualMixJml,
|
||||||
"",
|
rupiah(officerCashManualMixNilai),
|
||||||
"",
|
officerCashMasalahJml,
|
||||||
"",
|
rupiah(officerCashMasalahNilai),
|
||||||
rupiah(ptotalTunaiNilai),
|
rupiah(subTotalCash),
|
||||||
]);
|
]);
|
||||||
officerBody.push([
|
officerBody.push([
|
||||||
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
{ content: ptotalNonTunaiJml, styles: { fontStyle: "bold" } },
|
{ content: officerCashlessCasualJml, styles: { fontStyle: "bold" } },
|
||||||
rupiah(ptotalNonTunaiNilai),
|
rupiah(officerCashlessCasualNilai),
|
||||||
"",
|
officerCashlessLostJml,
|
||||||
"",
|
rupiah(officerCashlessLostNilai),
|
||||||
"",
|
officerCashlessPassJml,
|
||||||
"",
|
rupiah(officerCashlessPassNilai),
|
||||||
"",
|
officerCashlessManualJml,
|
||||||
"",
|
rupiah(officerCashlessManualNilai),
|
||||||
"",
|
officerCashlessManualMixJml,
|
||||||
"",
|
rupiah(officerCashlessManualMixNilai),
|
||||||
"",
|
officerCashlessMasalahJml,
|
||||||
"",
|
rupiah(officerCashlessMasalahNilai),
|
||||||
rupiah(ptotalNonTunaiNilai),
|
rupiah(subTotalCashless),
|
||||||
]);
|
]);
|
||||||
officerBody.push([
|
officerBody.push([
|
||||||
{ content: "GRAND TOTAL", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
|
{ content: "GRAND TOTAL\nPETUGAS", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
|
||||||
{ content: ptotalTunaiJml + ptotalNonTunaiJml, styles: { fontStyle: "bold" } },
|
{ content: officerCashCasualJml + officerCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
|
||||||
{ content: rupiah(ptotalTunaiNilai + ptotalNonTunaiNilai), styles: { fontStyle: "bold" } },
|
rupiah(officerCashCasualNilai + officerCashlessCasualNilai), //Income Casual
|
||||||
"",
|
{ content: officerCashLostJml + officerCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
|
||||||
"",
|
rupiah(officerCashLostNilai + officerCashlessLostNilai), //Income Tiket Hilang
|
||||||
"",
|
officerCashPassJml + officerCashlessPassJml, //Jumlah Member
|
||||||
"",
|
rupiah(officerCashPassNilai + officerCashlessPassNilai), //Income Member
|
||||||
"",
|
officerCashManualJml + officerCashlessManualJml, //Jumlah Tiket Manual
|
||||||
"",
|
rupiah(officerCashManualNilai + officerCashlessManualNilai), //Income Tiket Manual
|
||||||
"",
|
officerCashManualMixJml + officerCashlessManualMixJml,
|
||||||
"",
|
rupiah(officerCashManualMixNilai + officerCashlessManualMixNilai),
|
||||||
"",
|
officerCashMasalahJml + officerCashlessMasalahJml,
|
||||||
"",
|
rupiah(officerCashMasalahNilai + officerCashlessMasalahNilai),
|
||||||
// "",
|
{ content: rupiah(grandTotal), styles: { fontStyle: "bold" } },
|
||||||
// "",
|
|
||||||
{ content: rupiah(pgrandTotal), styles: { fontStyle: "bold" } },
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// ===== HEADER 2 BARIS (grouping) =====
|
// ===== HEADER 2 BARIS (grouping) =====
|
||||||
@@ -438,7 +563,7 @@ function printPDF(data) {
|
|||||||
|
|
||||||
doc.setFont("helvetica", "normal");
|
doc.setFont("helvetica", "normal");
|
||||||
doc.setFontSize(9);
|
doc.setFontSize(9);
|
||||||
doc.text("Tanggal : " + (data.vehicle.date ?? "-"), pageWidth / 2, officerStartY - 2, { align: "center" });
|
doc.text("Tanggal : " + (data.officer.date ?? "-"), pageWidth / 2, officerStartY - 2, { align: "center" });
|
||||||
doc.text("By : " + (data.vehicle.reportTime ?? "-"), pageWidth - 14, officerStartY - 2, { align: "right" });
|
doc.text("By : " + (data.vehicle.reportTime ?? "-"), pageWidth - 14, officerStartY - 2, { align: "right" });
|
||||||
|
|
||||||
doc.autoTable({
|
doc.autoTable({
|
||||||
@@ -457,10 +582,40 @@ function printPDF(data) {
|
|||||||
//====================================
|
//====================================
|
||||||
const paymentStartY = doc.lastAutoTable.finalY + 15;
|
const paymentStartY = doc.lastAutoTable.finalY + 15;
|
||||||
const paymentBody = [];
|
const paymentBody = [];
|
||||||
let payTotalTunaiJml = 0,
|
// let payTotalTunaiJml = 0,
|
||||||
payTotalTunaiNilai = 0;
|
// payTotalTunaiNilai = 0;
|
||||||
let payTotalNonTunaiJml = 0,
|
// init print nont tunai
|
||||||
payTotalNonTunaiNilai = 0;
|
let paymentCashCasualJml = 0,
|
||||||
|
paymentCashCasualNilai = 0;
|
||||||
|
let paymentCashLostJml = 0,
|
||||||
|
paymentCashLostNilai = 0;
|
||||||
|
let paymentCashPassJml = 0,
|
||||||
|
paymentCashPassNilai = 0;
|
||||||
|
let paymentCashManualJml = 0,
|
||||||
|
paymentCashManualNilai = 0;
|
||||||
|
let paymentCashManualMixJml = 0,
|
||||||
|
paymentCashManualMixNilai = 0;
|
||||||
|
let paymentCashMasalahJml = 0,
|
||||||
|
paymentCashMasalahNilai = 0;
|
||||||
|
|
||||||
|
// init print nont tunai
|
||||||
|
// let ptotalNonTunaiJml = 0,
|
||||||
|
// ptotalNonTunaiNilai = 0;
|
||||||
|
let paymentCashlessCasualJml = 0,
|
||||||
|
paymentCashlessCasualNilai = 0;
|
||||||
|
let paymentCashlessLostJml = 0,
|
||||||
|
paymentCashlessLostNilai = 0;
|
||||||
|
let paymentCashlessPassJml = 0,
|
||||||
|
paymentCashlessPassNilai = 0;
|
||||||
|
let paymentCashlessManualJml = 0,
|
||||||
|
paymentCashlessManualNilai = 0;
|
||||||
|
let paymentCashlessManualMixJml = 0,
|
||||||
|
paymentCashlessManualMixNilai = 0;
|
||||||
|
let paymentCashlessMasalahJml = 0,
|
||||||
|
paymentCashlessMasalahNilai = 0;
|
||||||
|
|
||||||
|
// let payTotalNonTunaiJml = 0,
|
||||||
|
// payTotalNonTunaiNilai = 0;
|
||||||
let payGrandTotal = 0;
|
let payGrandTotal = 0;
|
||||||
|
|
||||||
data.payment.tunai.forEach(function (cash) {
|
data.payment.tunai.forEach(function (cash) {
|
||||||
@@ -481,13 +636,15 @@ function printPDF(data) {
|
|||||||
const tLost = cash.keluar.lost;
|
const tLost = cash.keluar.lost;
|
||||||
const tMember = cash.keluar.member;
|
const tMember = cash.keluar.member;
|
||||||
const tManual = cash.keluar.manual;
|
const tManual = cash.keluar.manual;
|
||||||
|
const tManualMix = cash.keluar.manualmix ?? { jumlah: 0, income: 0 };
|
||||||
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
|
const tMasalah = cash.keluar.masalah ?? { jumlah: 0, income: 0 };
|
||||||
const totalTunai = cash.totalCash || 0;
|
const totalTunai = cash.totalCash || 0;
|
||||||
|
|
||||||
const oCasual = cashless.keluar.casual;
|
const nCasual = cashless.keluar.casual;
|
||||||
const nLost = cashless.keluar.lost;
|
const nLost = cashless.keluar.lost;
|
||||||
const nMember = cashless.keluar.member;
|
const nMember = cashless.keluar.member;
|
||||||
const nManual = cashless.keluar.manual;
|
const nManual = cashless.keluar.manual;
|
||||||
|
const nManualMix = cashless.keluar.manualmix ?? { jumlah: 0, income: 0 };
|
||||||
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
|
const nMasalah = cashless.keluar.masalah ?? { jumlah: 0, income: 0 };
|
||||||
const totalNonTunai = cashless.totalCashless || 0;
|
const totalNonTunai = cashless.totalCashless || 0;
|
||||||
|
|
||||||
@@ -523,8 +680,8 @@ function printPDF(data) {
|
|||||||
cash.total,
|
cash.total,
|
||||||
cashless.nonTunaiOut,
|
cashless.nonTunaiOut,
|
||||||
|
|
||||||
oCasual.jumlah,
|
nCasual.jumlah,
|
||||||
rupiah(oCasual.income),
|
rupiah(nCasual.income),
|
||||||
|
|
||||||
nLost.jumlah,
|
nLost.jumlah,
|
||||||
rupiah(nLost.income),
|
rupiah(nLost.income),
|
||||||
@@ -544,68 +701,109 @@ function printPDF(data) {
|
|||||||
{ content: rupiah(cashless.totalCashless), styles: { valign: "middle", fontStyle: "bold" } },
|
{ content: rupiah(cashless.totalCashless), styles: { valign: "middle", fontStyle: "bold" } },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
payTotalTunaiJml += tCasual.jumlah + tLost.jumlah + tMember.jumlah + tManual.jumlah + tMasalah.jumlah;
|
// payTotalTunaiJml += tCasual.jumlah + tLost.jumlah + tMember.jumlah + tManual.jumlah + tMasalah.jumlah;
|
||||||
payTotalTunaiNilai += cash.totalCash || 0;
|
// payTotalTunaiNilai += cash.totalCash || 0;
|
||||||
payTotalNonTunaiJml += oCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
|
// payTotalNonTunaiJml += nCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
|
||||||
payTotalNonTunaiNilai += cashless.totalCashless || 0;
|
// payTotalNonTunaiNilai += cashless.totalCashless || 0;
|
||||||
payGrandTotal += (cash.totalCash || 0) + (cashless.totalCashless || 0);
|
// payGrandTotal += (cash.totalCash || 0) + (cashless.totalCashless || 0);
|
||||||
|
|
||||||
|
paymentCashCasualJml += tCasual.jumlah;
|
||||||
|
paymentCashCasualNilai += tCasual.income || 0;
|
||||||
|
paymentCashLostJml += tLost.jumlah;
|
||||||
|
paymentCashLostNilai += tLost.income;
|
||||||
|
paymentCashPassJml += tMember.jumlah;
|
||||||
|
paymentCashPassNilai += tMember.income;
|
||||||
|
paymentCashManualJml += tManual.jumlah;
|
||||||
|
paymentCashManualNilai += tManual.income;
|
||||||
|
paymentCashManualMixJml += tManualMix.jumlah;
|
||||||
|
paymentCashManualMixNilai += tManualMix.income;
|
||||||
|
paymentCashMasalahJml += tMasalah.jumlah;
|
||||||
|
paymentCashMasalahNilai += tMasalah.income;
|
||||||
|
|
||||||
|
// init sum cashless
|
||||||
|
paymentCashlessCasualJml += nCasual.jumlah;
|
||||||
|
paymentCashlessCasualNilai += nCasual.income || 0;
|
||||||
|
paymentCashlessLostJml += nLost.jumlah;
|
||||||
|
paymentCashlessLostNilai += nLost.income;
|
||||||
|
paymentCashlessPassJml += nMember.jumlah;
|
||||||
|
paymentCashlessPassNilai += nMember.income;
|
||||||
|
paymentCashlessManualJml += nManual.jumlah;
|
||||||
|
paymentCashlessManualNilai += nManual.income;
|
||||||
|
paymentCashlessManualMixJml += nManualMix.jumlah;
|
||||||
|
paymentCashlessManualMixNilai += nManualMix.income;
|
||||||
|
paymentCashlessMasalahJml += nMasalah.jumlah;
|
||||||
|
paymentCashlessMasalahNilai += nMasalah.income;
|
||||||
|
|
||||||
|
// sub total cash/ init sum grandTotal
|
||||||
|
subTotalCash =
|
||||||
|
paymentCashCasualNilai +
|
||||||
|
paymentCashLostNilai +
|
||||||
|
paymentCashPassNilai +
|
||||||
|
paymentCashManualNilai +
|
||||||
|
paymentCashlessManualMixNilai +
|
||||||
|
paymentCashlessMasalahNilai;
|
||||||
|
subTotalCashless =
|
||||||
|
paymentCashlessCasualNilai +
|
||||||
|
paymentCashlessLostNilai +
|
||||||
|
paymentCashlessPassNilai +
|
||||||
|
paymentCashlessManualNilai +
|
||||||
|
paymentCashlessManualMixNilai +
|
||||||
|
paymentCashlessMasalahNilai;
|
||||||
});
|
});
|
||||||
|
|
||||||
// baris TOTAL & GRAND TOTAL
|
// baris TOTAL & GRAND TOTAL
|
||||||
paymentBody.push([
|
paymentBody.push([
|
||||||
{ content: "TOTAL", rowSpan: 2, styles: { fontStyle: "bold" } },
|
{ content: "SUB TOTAL\NPer Pembayaran", rowSpan: 2, styles: { fontStyle: "bold" } },
|
||||||
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
{ content: "Tunai", styles: { fillColor: [40, 167, 69], textColor: 255, fontStyle: "bold" } },
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
{ content: payTotalTunaiJml, styles: { fontStyle: "bold" } },
|
{ content: paymentCashCasualJml, styles: { fontStyle: "bold" } },
|
||||||
rupiah(payTotalTunaiNilai),
|
rupiah(paymentCashCasualNilai),
|
||||||
"",
|
paymentCashLostJml,
|
||||||
"",
|
rupiah(paymentCashLostNilai),
|
||||||
"",
|
paymentCashPassJml,
|
||||||
"",
|
rupiah(paymentCashPassNilai),
|
||||||
"",
|
paymentCashManualJml,
|
||||||
"",
|
rupiah(paymentCashManualNilai),
|
||||||
"",
|
paymentCashManualMixJml,
|
||||||
"",
|
rupiah(paymentCashManualMixNilai),
|
||||||
"",
|
paymentCashMasalahJml,
|
||||||
"",
|
rupiah(paymentCashMasalahNilai),
|
||||||
rupiah(ptotalTunaiNilai),
|
rupiah(subTotalCash),
|
||||||
]);
|
]);
|
||||||
paymentBody.push([
|
paymentBody.push([
|
||||||
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
{ content: "NON TUNAI", styles: { fillColor: [255, 193, 7], fontStyle: "bold" } },
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
{ content: payTotalNonTunaiJml, styles: { fontStyle: "bold" } },
|
{ content: paymentCashlessCasualJml, styles: { fontStyle: "bold" } },
|
||||||
rupiah(payTotalNonTunaiNilai),
|
rupiah(paymentCashlessCasualNilai),
|
||||||
"",
|
paymentCashlessLostJml,
|
||||||
"",
|
rupiah(paymentCashlessLostNilai),
|
||||||
"",
|
paymentCashlessPassJml,
|
||||||
"",
|
rupiah(paymentCashlessPassNilai),
|
||||||
"",
|
paymentCashlessManualJml,
|
||||||
"",
|
rupiah(paymentCashlessManualNilai),
|
||||||
"",
|
paymentCashlessManualMixJml,
|
||||||
"",
|
rupiah(paymentCashlessManualMixNilai),
|
||||||
"",
|
paymentCashlessMasalahJml,
|
||||||
"",
|
rupiah(paymentCashlessMasalahNilai),
|
||||||
rupiah(payTotalNonTunaiNilai),
|
rupiah(subTotalCashless),
|
||||||
]);
|
]);
|
||||||
paymentBody.push([
|
paymentBody.push([
|
||||||
{ content: "GRAND TOTAL", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
|
{ content: "GRAND TOTAL\nPEMBAYARAN", colSpan: 4, styles: { fontStyle: "bold", halign: "center" } },
|
||||||
{ content: payTotalTunaiJml + payTotalNonTunaiJml, styles: { fontStyle: "bold" } },
|
{ content: paymentCashCasualJml + paymentCashlessCasualJml, styles: { fontStyle: "bold" } }, //Jumlah Casual
|
||||||
{ content: rupiah(payTotalTunaiNilai + payTotalNonTunaiNilai), styles: { fontStyle: "bold" } },
|
rupiah(paymentCashCasualNilai + paymentCashlessCasualNilai), //Income Casual
|
||||||
"",
|
{ content: paymentCashLostJml + paymentCashlessLostJml, styles: { fontStyle: "bold" } }, //Jumlah Lost
|
||||||
"",
|
rupiah(paymentCashLostNilai + paymentCashlessLostNilai), //Income Tiket Hilang
|
||||||
"",
|
paymentCashPassJml + paymentCashlessPassJml, //Jumlah Member
|
||||||
"",
|
rupiah(paymentCashPassNilai + paymentCashlessPassNilai), //Income Member
|
||||||
"",
|
paymentCashManualJml + paymentCashlessManualJml, //Jumlah Tiket Manual
|
||||||
"",
|
rupiah(paymentCashManualNilai + paymentCashlessManualNilai), //Income Tiket Manual
|
||||||
"",
|
paymentCashManualMixJml + paymentCashlessManualMixJml,
|
||||||
"",
|
rupiah(paymentCashManualMixNilai + paymentCashlessManualMixNilai),
|
||||||
"",
|
paymentCashMasalahJml + paymentCashlessMasalahJml,
|
||||||
"",
|
rupiah(paymentCashMasalahNilai + paymentCashlessMasalahNilai),
|
||||||
// "",
|
{ content: rupiah(grandTotal), styles: { fontStyle: "bold" } },
|
||||||
// "",
|
|
||||||
{ content: rupiah(payGrandTotal), styles: { fontStyle: "bold" } },
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// ===== HEADER 2 BARIS (grouping) =====
|
// ===== HEADER 2 BARIS (grouping) =====
|
||||||
|
|||||||
Vendored
-1
File diff suppressed because one or more lines are too long
+248
-140
@@ -312,9 +312,31 @@ function tableVehicle(response) {
|
|||||||
let jmlCashCasual = 0;
|
let jmlCashCasual = 0;
|
||||||
let incomeCashCasual = 0;
|
let incomeCashCasual = 0;
|
||||||
|
|
||||||
|
let jmlCashLost = 0;
|
||||||
|
let incomeCashLost = 0;
|
||||||
|
|
||||||
|
let jmlCashMember = 0;
|
||||||
|
let incomeCashMember = 0;
|
||||||
|
|
||||||
|
let jmlCashManual = 0;
|
||||||
|
let incomeCashManual = 0;
|
||||||
|
|
||||||
|
let jmlCashMasalah = 0;
|
||||||
|
let incomeCashMasalah = 0;
|
||||||
|
|
||||||
|
// Init data cashless
|
||||||
let jmlCashlessCasual = 0;
|
let jmlCashlessCasual = 0;
|
||||||
let incomeCashlessCasual = 0;
|
let incomeCashlessCasual = 0;
|
||||||
|
|
||||||
|
let jmlCashlessLost = 0;
|
||||||
|
let incomeCashlessLost = 0;
|
||||||
|
|
||||||
|
let jmlCashlessMember = 0;
|
||||||
|
let incomeCashlessMember = 0;
|
||||||
|
|
||||||
|
let jmlCashlessManual = 0;
|
||||||
|
let incomeCashlessManual = 0;
|
||||||
|
|
||||||
let grandTotal = 0;
|
let grandTotal = 0;
|
||||||
|
|
||||||
response.tunai.forEach(function (cash) {
|
response.tunai.forEach(function (cash) {
|
||||||
@@ -340,6 +362,8 @@ function tableVehicle(response) {
|
|||||||
let tLost = cash.keluar.lost;
|
let tLost = cash.keluar.lost;
|
||||||
let tMember = cash.keluar.member;
|
let tMember = cash.keluar.member;
|
||||||
let tManual = cash.keluar.manual;
|
let tManual = cash.keluar.manual;
|
||||||
|
let tManualMix = cash.keluar.manualMix;
|
||||||
|
let tMasalah = cash.keluar.masalah;
|
||||||
|
|
||||||
// ===== DATA NON TUNAI =====
|
// ===== DATA NON TUNAI =====
|
||||||
let nonTunaiOut = cashless.nonTunaiOut;
|
let nonTunaiOut = cashless.nonTunaiOut;
|
||||||
@@ -348,65 +372,49 @@ function tableVehicle(response) {
|
|||||||
let nLost = cashless.keluar.lost;
|
let nLost = cashless.keluar.lost;
|
||||||
let nMember = cashless.keluar.member;
|
let nMember = cashless.keluar.member;
|
||||||
let nManual = cashless.keluar.manual;
|
let nManual = cashless.keluar.manual;
|
||||||
|
let nManualMix = cashless.keluar.manualMix;
|
||||||
|
let nMasalah = cashless.keluar.masalah;
|
||||||
|
|
||||||
let totalTunai = cash.totalCash || 0;
|
let totalTunai = cash.totalCash || 0;
|
||||||
let totalNonTunai = cashless.totalCashless || 0;
|
let totalNonTunai = cashless.totalCashless || 0;
|
||||||
|
|
||||||
|
// init data cash
|
||||||
jmlCashCasual += cash.keluar.casual.jumlah;
|
jmlCashCasual += cash.keluar.casual.jumlah;
|
||||||
incomeCashCasual += cash.keluar.casual.income;
|
incomeCashCasual += cash.keluar.casual.income;
|
||||||
|
|
||||||
|
jmlCashLost += tLost.jumlah;
|
||||||
|
incomeCashLost += tLost.income;
|
||||||
|
|
||||||
|
jmlCashMember += tMember.jumlah;
|
||||||
|
incomeCashMember += tMember.income;
|
||||||
|
|
||||||
|
jmlCashManual += tManual.jumlah;
|
||||||
|
incomeCashManual += tManual.income;
|
||||||
|
|
||||||
|
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
|
||||||
|
|
||||||
|
// ========= init data cashless
|
||||||
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
||||||
incomeCashlessCasual += cashless.keluar.casual.income;
|
incomeCashlessCasual += cashless.keluar.casual.income;
|
||||||
|
|
||||||
grandTotal += totalTunai + totalNonTunai;
|
jmlCashlessLost += nLost.jumlah;
|
||||||
// let casualCash = cash.keluar.casual;
|
incomeCashlessLost += nLost.income;
|
||||||
// let lostCash = cash.keluar.lost;
|
|
||||||
// let memberCash = cash.keluar.member;
|
|
||||||
// let casualIn = cash.total;
|
|
||||||
|
|
||||||
// let casualNon = cashless ? cashless.keluar.casual : { jumlah: 0, income: 0 };
|
jmlCashlessMember += nMember.jumlah;
|
||||||
// let lostNon = cashless ? cashless.keluar.lost : { jumlah: 0, income: 0 };
|
incomeCashlessMember += nMember.income;
|
||||||
// let memberNon = cashless ? cashless.keluar.member : { jumlah: 0, income: 0 };
|
|
||||||
|
|
||||||
// let totalIncome =
|
jmlCashlessManual += nManual.jumlah;
|
||||||
// (cash.totalCash || 0);
|
incomeCashlessManual += nManual.income;
|
||||||
|
|
||||||
// html += `
|
subTotalIncomeCashless =
|
||||||
// <tr>
|
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
|
||||||
// <td style="text-align: left;">${cash.jenis_mobil}</td>
|
|
||||||
|
|
||||||
// <!-- Jenis Transaksi -->
|
//
|
||||||
// <td>${casualIn}</td>
|
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
|
||||||
// <td>${cash.tunaiOut}</td>
|
|
||||||
|
|
||||||
// <!-- Casual -->
|
// console.log(tLost.income);
|
||||||
// <td>${casualCash.jumlah}</td>
|
// console.log(incomeCashLost);
|
||||||
// <td>${rupiah(casualCash.income)}</td>
|
|
||||||
|
|
||||||
// <!-- Tiket Hilang -->
|
|
||||||
// <td>${lostCash.jumlah}</td>
|
|
||||||
// <td>${rupiah(lostCash.income)}</td>
|
|
||||||
|
|
||||||
// <!-- Member -->
|
|
||||||
// <td>${memberCash.jumlah}</td>
|
|
||||||
// <td>${rupiah(memberCash.income)}</td>
|
|
||||||
|
|
||||||
// <!-- Manual Input -->
|
|
||||||
// <td>0</td>
|
|
||||||
// <td>0</td>
|
|
||||||
|
|
||||||
// <!-- Manual Mix -->
|
|
||||||
// <td>0</td>
|
|
||||||
// <td>0</td>
|
|
||||||
|
|
||||||
// <!-- Tiket Masalah -->
|
|
||||||
// <td>0</td>
|
|
||||||
// <td>0</td>
|
|
||||||
|
|
||||||
// <!-- Pendapatan -->
|
|
||||||
// <td><strong>${rupiah(totalIncome)}</strong></td>
|
|
||||||
// </tr>
|
|
||||||
// `;
|
|
||||||
html += `
|
html += `
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="2" style="text-align: left;"><strong>${cash.jenis_mobil}</strong></td>
|
<td rowspan="2" style="text-align: left;"><strong>${cash.jenis_mobil}</strong></td>
|
||||||
@@ -468,13 +476,22 @@ function tableVehicle(response) {
|
|||||||
// ===== FOOTER TOTAL =====
|
// ===== FOOTER TOTAL =====
|
||||||
html += `
|
html += `
|
||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td rowspan="2" style="text-align: center;"><strong>TOTAL</strong></td>
|
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>KENDARAAN</strong></td>
|
||||||
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
|
<td data-value="${jmlCashCasual}">${jmlCashCasual}</td>
|
||||||
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
||||||
<td colspan="10"></td>
|
<td data-value="${jmlCashLost}">${jmlCashLost}</td>
|
||||||
|
<td data-value="${incomeCashLost}">${rupiah(incomeCashLost)}</td>
|
||||||
|
<td data-value="${jmlCashMember}">${jmlCashMember}</td>
|
||||||
|
<td data-value="${incomeCashMember}">${rupiah(incomeCashMember)}</td>
|
||||||
|
<td data-value="${jmlCashManual}">${jmlCashManual}</td>
|
||||||
|
<td data-value="${incomeCashManual}">${rupiah(incomeCashManual)}</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -483,24 +500,33 @@ function tableVehicle(response) {
|
|||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>${jmlCashlessCasual}</td>
|
<td>${jmlCashlessCasual}</td>
|
||||||
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
||||||
<td colspan="10"></td>
|
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
|
||||||
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
<td data-value="${incomeCashlessLost}">${rupiah(incomeCashlessLost)}</td>
|
||||||
|
<td data-value="${jmlCashlessMember}">${rupiah(jmlCashlessMember)}</td>
|
||||||
|
<td data-value="${incomeCashlessMember}">${rupiah(incomeCashlessMember)}</td>
|
||||||
|
<td data-value="${jmlCashlessManual}">${rupiah(jmlCashlessManual)}</td>
|
||||||
|
<td data-value="${incomeCashlessManual}">${rupiah(incomeCashlessManual)}</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td colspan="3" class="text-center"><strong>GRAND TOTAL</strong></td>
|
<td colspan="3" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Kendaraan</strong></td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0"></td>
|
||||||
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
||||||
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
|
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${incomeCashLost + incomeCashlessLost}">${rupiah(incomeCashLost + incomeCashlessLost)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${jmlCashMember + incomeCashlessMember}">${rupiah(jmlCashMember + incomeCashlessMember)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${incomeCashMember + incomeCashlessMember}">${rupiah(incomeCashMember + incomeCashlessMember)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${jmlCashManual + jmlCashlessManual}">${rupiah(jmlCashManual + jmlCashlessManual)}</td>/td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${incomeCashManual + incomeCashlessManual}">${rupiah(incomeCashManual + incomeCashlessManual)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>/td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>
|
||||||
<td><strong>${rupiah(grandTotal)}</strong></td>
|
<td><strong>${rupiah(grandTotal)}</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
`;
|
`;
|
||||||
@@ -534,13 +560,32 @@ function tableOfficer(response) {
|
|||||||
console.log(response);
|
console.log(response);
|
||||||
|
|
||||||
let html = "";
|
let html = "";
|
||||||
let onData = "";
|
// init petugas data cash
|
||||||
let jmlCashCasual = 0;
|
let jmlCashCasual = 0;
|
||||||
let incomeCashCasual = 0;
|
let incomeCashCasual = 0;
|
||||||
|
|
||||||
|
let jmlCashLost = 0;
|
||||||
|
let incomeCashLost = 0;
|
||||||
|
|
||||||
|
let jmlCashMember = 0;
|
||||||
|
let incomeCashMember = 0;
|
||||||
|
|
||||||
|
let jmlCashManual = 0;
|
||||||
|
let incomeCashManual = 0;
|
||||||
|
|
||||||
|
// init petugas data cash
|
||||||
let jmlCashlessCasual = 0;
|
let jmlCashlessCasual = 0;
|
||||||
let incomeCashlessCasual = 0;
|
let incomeCashlessCasual = 0;
|
||||||
|
|
||||||
|
let jmlCashlessLost = 0;
|
||||||
|
let incomeCashlessLost = 0;
|
||||||
|
|
||||||
|
let jmlCashlessMember = 0;
|
||||||
|
let incomeCashlessMember = 0;
|
||||||
|
|
||||||
|
let jmlCashlessManual = 0;
|
||||||
|
let incomeCashlessManual = 0;
|
||||||
|
|
||||||
let grandTotal = 0;
|
let grandTotal = 0;
|
||||||
|
|
||||||
response.tunai.forEach(function (cash) {
|
response.tunai.forEach(function (cash) {
|
||||||
@@ -579,61 +624,40 @@ function tableOfficer(response) {
|
|||||||
let totalTunai = cash.totalCash || 0;
|
let totalTunai = cash.totalCash || 0;
|
||||||
let totalNonTunai = cashless.totalCashless || 0;
|
let totalNonTunai = cashless.totalCashless || 0;
|
||||||
|
|
||||||
|
// get data cash
|
||||||
jmlCashCasual += cash.keluar.casual.jumlah;
|
jmlCashCasual += cash.keluar.casual.jumlah;
|
||||||
incomeCashCasual += cash.keluar.casual.income;
|
incomeCashCasual += cash.keluar.casual.income;
|
||||||
|
|
||||||
|
jmlCashLost += cash.keluar.lost.jumlah;
|
||||||
|
incomeCashLost += tLost.income;
|
||||||
|
|
||||||
|
jmlCashMember += cash.keluar.member.jumlah;
|
||||||
|
incomeCashMember += cash.keluar.member.income;
|
||||||
|
|
||||||
|
jmlCashManual += cash.keluar.manual.jumlah;
|
||||||
|
incomeCashManual += cash.keluar.manual.income;
|
||||||
|
|
||||||
|
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
|
||||||
|
|
||||||
|
// ========= init data cashless
|
||||||
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
||||||
incomeCashlessCasual += cashless.keluar.casual.income;
|
incomeCashlessCasual += cashless.keluar.casual.income;
|
||||||
|
|
||||||
grandTotal += totalTunai + totalNonTunai;
|
jmlCashlessLost += nLost.jumlah;
|
||||||
// let casualCash = cash.keluar.casual;
|
incomeCashlessLost += nLost.income;
|
||||||
// let lostCash = cash.keluar.lost;
|
|
||||||
// let memberCash = cash.keluar.member;
|
|
||||||
// let casualIn = cash.total;
|
|
||||||
|
|
||||||
// let casualNon = cashless ? cashless.keluar.casual : { jumlah: 0, income: 0 };
|
jmlCashlessMember += cashless.keluar.member.jumlah;
|
||||||
// let lostNon = cashless ? cashless.keluar.lost : { jumlah: 0, income: 0 };
|
incomeCashlessMember += cashless.keluar.member.income;
|
||||||
// let memberNon = cashless ? cashless.keluar.member : { jumlah: 0, income: 0 };
|
|
||||||
|
|
||||||
// let totalIncome =
|
jmlCashlessManual += cashless.keluar.manual.jumlah;
|
||||||
// (cash.totalCash || 0);
|
incomeCashlessManual += cashless.keluar.manual.income;
|
||||||
|
|
||||||
// html += `
|
subTotalIncomeCashless =
|
||||||
// <tr>
|
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
|
||||||
// <td style="text-align: left;">${cash.jenis_mobil}</td>
|
|
||||||
|
|
||||||
// <!-- Jenis Transaksi -->
|
//
|
||||||
// <td>${casualIn}</td>
|
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
|
||||||
// <td>${cash.tunaiOut}</td>
|
//========= init table body by petugas
|
||||||
|
|
||||||
// <!-- Casual -->
|
|
||||||
// <td>${casualCash.jumlah}</td>
|
|
||||||
// <td>${rupiah(casualCash.income)}</td>
|
|
||||||
|
|
||||||
// <!-- Tiket Hilang -->
|
|
||||||
// <td>${lostCash.jumlah}</td>
|
|
||||||
// <td>${rupiah(lostCash.income)}</td>
|
|
||||||
|
|
||||||
// <!-- Member -->
|
|
||||||
// <td>${memberCash.jumlah}</td>
|
|
||||||
// <td>${rupiah(memberCash.income)}</td>
|
|
||||||
|
|
||||||
// <!-- Manual Input -->
|
|
||||||
// <td>0</td>
|
|
||||||
// <td>0</td>
|
|
||||||
|
|
||||||
// <!-- Manual Mix -->
|
|
||||||
// <td>0</td>
|
|
||||||
// <td>0</td>
|
|
||||||
|
|
||||||
// <!-- Tiket Masalah -->
|
|
||||||
// <td>0</td>
|
|
||||||
// <td>0</td>
|
|
||||||
|
|
||||||
// <!-- Pendapatan -->
|
|
||||||
// <td><strong>${rupiah(totalIncome)}</strong></td>
|
|
||||||
// </tr>
|
|
||||||
// `;
|
|
||||||
html += `
|
html += `
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="2" style="text-align: left;"><strong>${petugas}</strong></td>
|
<td rowspan="2" style="text-align: left;"><strong>${petugas}</strong></td>
|
||||||
@@ -655,10 +679,10 @@ function tableOfficer(response) {
|
|||||||
<td data-value="${tManual.income}">${rupiah(tManual.income)}</td>
|
<td data-value="${tManual.income}">${rupiah(tManual.income)}</td>
|
||||||
|
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td data-value="0}">0</td>
|
<td data-value="0">0</td>
|
||||||
|
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td data-value="0"></td>
|
<td data-value="0">0</td>
|
||||||
|
|
||||||
<td data-value="${totalTunai}"><strong>${rupiah(totalTunai)}</strong></td>
|
<td data-value="${totalTunai}"><strong>${rupiah(totalTunai)}</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -695,13 +719,23 @@ function tableOfficer(response) {
|
|||||||
// ===== FOOTER TOTAL =====
|
// ===== FOOTER TOTAL =====
|
||||||
html += `
|
html += `
|
||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td rowspan="2" style="text-align: center;"><strong>TOTAL</strong></td>
|
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>Per Petugas</strong></td>
|
||||||
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
|
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
|
||||||
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
||||||
<td colspan="11">${rupiah(incomeCashCasual)}</td>
|
<td data-value="${jmlCashLost}">${rupiah(jmlCashLost)}</td>
|
||||||
|
<td data-value="${incomeCashLost}">${incomeCashLost}</td>
|
||||||
|
<td data-value="${jmlCashMember}">${rupiah(jmlCashMember)}</td>
|
||||||
|
<td data-value="${incomeCashMember}">${rupiah(incomeCashMember)}</td>
|
||||||
|
<td data-value="${jmlCashManual}">${rupiah(jmlCashManual)}</td>
|
||||||
|
<td data-value="${incomeCashManual}">${rupiah(incomeCashManual)}</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
|
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
|
||||||
@@ -709,23 +743,33 @@ function tableOfficer(response) {
|
|||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>${jmlCashlessCasual}</td>
|
<td>${jmlCashlessCasual}</td>
|
||||||
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
||||||
<td colspan="11">${rupiah(incomeCashlessCasual)}</td>
|
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
|
||||||
|
<td data-value="${incomeCashlessLost}">${rupiah(incomeCashlessLost)}</td>
|
||||||
|
<td data-value="${jmlCashlessMember}">${rupiah(jmlCashlessMember)}</td>
|
||||||
|
<td data-value="${incomeCashlessMember}">${rupiah(incomeCashlessMember)}</td>
|
||||||
|
<td data-value="${jmlCashlessManual}">${rupiah(jmlCashlessManual)}</td>
|
||||||
|
<td data-value="${incomeCashlessManual}">${rupiah(incomeCashlessManual)}</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td colspan="3" class="text-center"><strong>GRAND TOTAL</strong></td>
|
<td colspan="3" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Petugas</strong></td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0"></td>
|
||||||
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
||||||
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
|
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${incomeCashLost + incomeCashlessLost}">${rupiah(incomeCashLost + incomeCashlessLost)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${jmlCashMember + incomeCashlessMember}">${rupiah(jmlCashMember + incomeCashlessMember)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${incomeCashMember + incomeCashlessMember}">${rupiah(incomeCashMember + incomeCashlessMember)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${jmlCashManual + jmlCashlessManual}">${rupiah(jmlCashManual + jmlCashlessManual)}</td>/td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${incomeCashManual + incomeCashlessManual}">${rupiah(incomeCashManual + incomeCashlessManual)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>/td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>
|
||||||
<td><strong>${rupiah(grandTotal)}</strong></td>
|
<td><strong>${rupiah(grandTotal)}</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
`;
|
`;
|
||||||
@@ -756,16 +800,35 @@ function tableOfficer(response) {
|
|||||||
|
|
||||||
function tablePayment(response) {
|
function tablePayment(response) {
|
||||||
// Update tabel dengan data yang diterima
|
// Update tabel dengan data yang diterima
|
||||||
console.log(response);
|
// console.log(response);
|
||||||
|
|
||||||
let html = "";
|
let html = "";
|
||||||
let onData = "";
|
// init data cash
|
||||||
let jmlCashCasual = 0;
|
let jmlCashCasual = 0;
|
||||||
let incomeCashCasual = 0;
|
let incomeCashCasual = 0;
|
||||||
|
|
||||||
|
let jmlCashLost = 0;
|
||||||
|
let incomeCashLost = 0;
|
||||||
|
|
||||||
|
let jmlCashMember = 0;
|
||||||
|
let incomeCashMember = 0;
|
||||||
|
|
||||||
|
let jmlCashManual = 0;
|
||||||
|
let incomeCashManual = 0;
|
||||||
|
|
||||||
|
// init data cashless
|
||||||
let jmlCashlessCasual = 0;
|
let jmlCashlessCasual = 0;
|
||||||
let incomeCashlessCasual = 0;
|
let incomeCashlessCasual = 0;
|
||||||
|
|
||||||
|
let jmlCashlessLost = 0;
|
||||||
|
let incomeCashlessLost = 0;
|
||||||
|
|
||||||
|
let jmlCashlessMember = 0;
|
||||||
|
let incomeCashlessMember = 0;
|
||||||
|
|
||||||
|
let jmlCashlessManual = 0;
|
||||||
|
let incomeCashlessManual = 0;
|
||||||
|
|
||||||
let grandTotal = 0;
|
let grandTotal = 0;
|
||||||
|
|
||||||
response.tunai.forEach(function (cash) {
|
response.tunai.forEach(function (cash) {
|
||||||
@@ -808,10 +871,35 @@ function tablePayment(response) {
|
|||||||
jmlCashCasual += cash.keluar.casual.jumlah;
|
jmlCashCasual += cash.keluar.casual.jumlah;
|
||||||
incomeCashCasual += cash.keluar.casual.income;
|
incomeCashCasual += cash.keluar.casual.income;
|
||||||
|
|
||||||
|
jmlCashLost += cash.keluar.lost.jumlah;
|
||||||
|
incomeCashLost += tLost.income;
|
||||||
|
|
||||||
|
jmlCashMember += cash.keluar.member.jumlah;
|
||||||
|
incomeCashMember += cash.keluar.member.income;
|
||||||
|
|
||||||
|
jmlCashManual += cash.keluar.manual.jumlah;
|
||||||
|
incomeCashManual += cash.keluar.manual.income;
|
||||||
|
|
||||||
|
subTotalIncomeCash = incomeCashCasual + incomeCashLost + incomeCashMember + incomeCashManual;
|
||||||
|
|
||||||
|
// ========= init data cashless
|
||||||
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
jmlCashlessCasual += cashless.keluar.casual.jumlah;
|
||||||
incomeCashlessCasual += cashless.keluar.casual.income;
|
incomeCashlessCasual += cashless.keluar.casual.income;
|
||||||
|
|
||||||
grandTotal += totalTunai + totalNonTunai;
|
jmlCashlessLost += nLost.jumlah;
|
||||||
|
incomeCashlessLost += nLost.income;
|
||||||
|
|
||||||
|
jmlCashlessMember += cashless.keluar.member.jumlah;
|
||||||
|
incomeCashlessMember += cashless.keluar.member.income;
|
||||||
|
|
||||||
|
jmlCashlessManual += cashless.keluar.manual.jumlah;
|
||||||
|
incomeCashlessManual += cashless.keluar.manual.income;
|
||||||
|
|
||||||
|
subTotalIncomeCashless =
|
||||||
|
incomeCashlessCasual + incomeCashlessLost + incomeCashlessMember + incomeCashlessManual;
|
||||||
|
|
||||||
|
grandTotal = subTotalIncomeCash + subTotalIncomeCashless;
|
||||||
|
|
||||||
html += `
|
html += `
|
||||||
<tr>
|
<tr>
|
||||||
<td rowspan="2" style="text-align: left;"><strong>${payment}</strong></td>
|
<td rowspan="2" style="text-align: left;"><strong>${payment}</strong></td>
|
||||||
@@ -836,7 +924,7 @@ function tablePayment(response) {
|
|||||||
<td data-value="0}">0</td>
|
<td data-value="0}">0</td>
|
||||||
|
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td data-value="0"></td>
|
<td data-value="0">0</td>
|
||||||
|
|
||||||
<td data-value="${totalTunai}"><strong>${rupiah(totalTunai)}</strong></td>
|
<td data-value="${totalTunai}"><strong>${rupiah(totalTunai)}</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -873,13 +961,23 @@ function tablePayment(response) {
|
|||||||
// ===== FOOTER TOTAL =====
|
// ===== FOOTER TOTAL =====
|
||||||
html += `
|
html += `
|
||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td rowspan="2" style="text-align: center;"><strong>TOTAL</strong></td>
|
<td rowspan="2" style="text-align: center;"><strong>SUB TOTAL<br>Per Jenis Pembayaran</strong></td>
|
||||||
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
<td style="text-align: left;"><span class="badge bg-success">Tunai</span></td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
|
<td data-value="${jmlCashCasual}">${rupiah(jmlCashCasual)}</td>
|
||||||
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
||||||
<td colspan="11">${rupiah(incomeCashCasual)}</td>
|
<td data-value="${jmlCashLost}">${rupiah(jmlCashLost)}</td>
|
||||||
|
<td data-value="${incomeCashLost}">${incomeCashLost}</td>
|
||||||
|
<td data-value="${jmlCashMember}">${rupiah(jmlCashMember)}</td>
|
||||||
|
<td data-value="${incomeCashMember}">${rupiah(incomeCashMember)}</td>
|
||||||
|
<td data-value="${jmlCashManual}">${rupiah(jmlCashManual)}</td>
|
||||||
|
<td data-value="${incomeCashManual}">${rupiah(incomeCashManual)}</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td data-value="${incomeCashCasual}">${rupiah(incomeCashCasual)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
|
<td style="text-align: left;"><span class="badge bg-warning">NON TUNAI</td>
|
||||||
@@ -887,23 +985,33 @@ function tablePayment(response) {
|
|||||||
<td>0</td>
|
<td>0</td>
|
||||||
<td>${jmlCashlessCasual}</td>
|
<td>${jmlCashlessCasual}</td>
|
||||||
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
<td data-value="${incomeCashlessCasual}">${rupiah(incomeCashlessCasual)}</td>
|
||||||
<td colspan="11">${rupiah(incomeCashlessCasual)}</td>
|
<td data-value="${jmlCashlessLost}">${rupiah(jmlCashlessLost)}</td>
|
||||||
|
<td data-value="${incomeCashlessLost}">${rupiah(incomeCashlessLost)}</td>
|
||||||
|
<td data-value="${jmlCashlessMember}">${rupiah(jmlCashlessMember)}</td>
|
||||||
|
<td data-value="${incomeCashlessMember}">${rupiah(incomeCashlessMember)}</td>
|
||||||
|
<td data-value="${jmlCashlessManual}">${rupiah(jmlCashlessManual)}</td>
|
||||||
|
<td data-value="${incomeCashlessManual}">${rupiah(incomeCashlessManual)}</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td>0</td>
|
||||||
|
<td data-value="${subTotalIncomeCashless}">${rupiah(subTotalIncomeCashless)}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="table">
|
<tr class="table">
|
||||||
<td colspan="3" class="text-center"><strong>GRAND TOTAL</strong></td>
|
<td colspan="3" class="text-center"><strong>GRAND TOTAL<br>Pendapatan Per Pembayaran</strong></td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0"></td>
|
||||||
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
<td colspan="0">${jmlCashCasual + jmlCashlessCasual}</td>
|
||||||
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}"><strong>${rupiah(incomeCashCasual + incomeCashlessCasual)}</strong></td>
|
<td colspan="0" data-value="${incomeCashCasual + incomeCashlessCasual}">${rupiah(incomeCashCasual + incomeCashlessCasual)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${jmlCashLost + jmlCashlessLost}">${rupiah(jmlCashLost + jmlCashlessLost)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${incomeCashLost + incomeCashlessLost}">${rupiah(incomeCashLost + incomeCashlessLost)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${jmlCashMember + incomeCashlessMember}">${rupiah(jmlCashMember + incomeCashlessMember)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${incomeCashMember + incomeCashlessMember}">${rupiah(incomeCashMember + incomeCashlessMember)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${jmlCashManual + jmlCashlessManual}">${rupiah(jmlCashManual + jmlCashlessManual)}</td>/td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="${incomeCashManual + incomeCashlessManual}">${rupiah(incomeCashManual + incomeCashlessManual)}</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>/td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>
|
||||||
<td colspan="0"></td>
|
<td colspan="0" data-value="0">0</td>
|
||||||
<td><strong>${rupiah(grandTotal)}</strong></td>
|
<td><strong>${rupiah(grandTotal)}</strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
`;
|
`;
|
||||||
|
|||||||
-1
File diff suppressed because one or more lines are too long
@@ -0,0 +1,131 @@
|
|||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
$(document).on('change', '.form-select', function () {
|
||||||
|
if ($('option:selected', this).val() == '') {
|
||||||
|
$(".nama").css('display', 'none');
|
||||||
|
$(".nopol").css('display', 'none');
|
||||||
|
$(".nocard").css('display', 'none');
|
||||||
|
$(".notrans").css('display', 'none');
|
||||||
|
// $(".site").val('');
|
||||||
|
} else if ($('option:selected', this).val() == 'nama') {
|
||||||
|
$(".nama").css('display', 'block');
|
||||||
|
$(".nopol").css('display', 'none');
|
||||||
|
$(".nocard").css('display', 'none');
|
||||||
|
$(".notrans").css('display', 'none');
|
||||||
|
$(".input-default").val('');
|
||||||
|
} else if ($('option:selected', this).val() == 'nopol') {
|
||||||
|
$(".nama").css('display', 'none');
|
||||||
|
$(".nopol").css('display', 'block');
|
||||||
|
$(".nocard").css('display', 'none');
|
||||||
|
$(".notrans").css('display', 'none');
|
||||||
|
$(".input-default").val('');
|
||||||
|
} else if ($('option:selected', this).val() == 'nocard') {
|
||||||
|
$(".nama").css('display', 'none');
|
||||||
|
$(".nopol").css('display', 'none');
|
||||||
|
$(".nocard").css('display', 'block');
|
||||||
|
$(".notrans").css('display', 'none');
|
||||||
|
$(".input-default").val('');
|
||||||
|
} else if ($('option:selected', this).val() == 'notrans') {
|
||||||
|
$(".nama").css('display', 'none');
|
||||||
|
$(".nopol").css('display', 'none');
|
||||||
|
$(".nocard").css('display', 'none');
|
||||||
|
$(".notrans").css('display', 'block');
|
||||||
|
$(".input-default").val('');
|
||||||
|
} else {
|
||||||
|
$(".position").css('display', 'none');
|
||||||
|
$(".level-area").css('display', 'none');
|
||||||
|
$(".input-default").val('');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var url = $('#example').data('url');
|
||||||
|
|
||||||
|
$('#search-button').on('click', function () {
|
||||||
|
// Ambil nilai dari selected option
|
||||||
|
var option = $('.select-option').val();
|
||||||
|
|
||||||
|
// Cek jika option yang dipilih bukan 'Pencarian Data...' yang berarti pilihan valid
|
||||||
|
if (option && option !== '') {
|
||||||
|
var inputField = $('.input-default:visible');
|
||||||
|
|
||||||
|
// Periksa apakah input tersebut kosong
|
||||||
|
if (inputField.length === 0 || inputField.val().trim() === '') {
|
||||||
|
// Jika kosong, tampilkan alert
|
||||||
|
alert('Harap masukkan ' + (option === 'nopol' ? 'No. Polisi' : option === 'nocard' ? 'No. Card' : option === 'nama' ? 'Nama' : option === 'notrans' ? 'No. Transaksi' : 'No. Transaksi'));
|
||||||
|
inputField.focus();
|
||||||
|
return; // Hentikan proses jika input kosong
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(option);
|
||||||
|
|
||||||
|
var formData = $('#search-form .input-default:visible').val();
|
||||||
|
console.log(formData);
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: url,
|
||||||
|
type: "POST",
|
||||||
|
data: $('#search-form').serialize(),
|
||||||
|
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (response) {
|
||||||
|
var tbody = $('#example tbody');
|
||||||
|
tbody.empty();
|
||||||
|
|
||||||
|
if (response.length !== 0) {
|
||||||
|
// Kelompokkan data berdasarkan notrans
|
||||||
|
var groupedData = {};
|
||||||
|
response.forEach((element) => {
|
||||||
|
if (!groupedData[element.notrans]) {
|
||||||
|
groupedData[element.notrans] = [];
|
||||||
|
}
|
||||||
|
groupedData[element.notrans].push(element);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Generate HTML
|
||||||
|
Object.keys(groupedData).forEach((notrans, index) => {
|
||||||
|
var rows = groupedData[notrans];
|
||||||
|
var rowspan = rows.length;
|
||||||
|
|
||||||
|
rows.forEach((element, rowIndex) => {
|
||||||
|
var rowHtml = `
|
||||||
|
<tr class="mb-2"
|
||||||
|
data-notrans="${element.notrans}"
|
||||||
|
data-nama="${element.nama}"
|
||||||
|
data-alamat="${element.alamat}"
|
||||||
|
data-telp="${element.telepon}"
|
||||||
|
data-jmember="${element.jmember}"
|
||||||
|
data-dept="${element.dept}"
|
||||||
|
data-awal="${element.awal}"
|
||||||
|
data-akhir="${element.akhir}"
|
||||||
|
>
|
||||||
|
${rowIndex === 0 ? `<td rowspan="${rowspan}" class="p2" style="text-align: center;">${index + 1}</td>` : ''}
|
||||||
|
${rowIndex === 0 ? `<td rowspan="${rowspan}" class="p2" style="padding: 2px;">${element.notrans}</td>` : ''}
|
||||||
|
${rowIndex === 0 ? `<td rowspan="${rowspan}" style="padding: 2px;">${element.nama}</td>` : ''}
|
||||||
|
${rowIndex === 0 ? `<td rowspan="${rowspan}" style="padding: 2px;">${element.alamat}</td>` : ''}
|
||||||
|
${rowIndex === 0 ? `<td rowspan="${rowspan}" style="padding: 2px;">${element.telepon}</td>` : ''}
|
||||||
|
${rowIndex === 0 ? `<td rowspan="${rowspan}" style="padding: 2px;">${element.jmember}</td>` : ''}
|
||||||
|
${rowIndex === 0 ? `<td rowspan="${rowspan}" style="padding: 2px;">${element.dept}</td>` : ''}
|
||||||
|
${rowIndex === 0 ? `<td rowspan="${rowspan}" width="200" style="text-align: center; padding: 2px;">${element.awal} <br> ${element.akhir}</td>` : ''}
|
||||||
|
${rowIndex === 0 ? `<td rowspan="${rowspan}" class="p-2" style="padding: 2px;"> ${[...new Set(rows.map(r => `${r.nopol || 'No. Polisi tidak ada'} (${r.vehicle || ''})`))].join('<br>')} </td>` : ''}
|
||||||
|
${rowIndex === 0 ? `<td rowspan="${rowspan}" style="padding: 2px;">${[...new Set(rows.map(r => r.no_card || 'Tidak ada kartu'))].join('<br>')}</td>` : ''}
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
|
// ${rowIndex === 0 ? `<td rowspan="${rowspan}" class="p-2" style="text-align: center;">
|
||||||
|
// <button class="btn btn-secondary btn-xs extend-button mb-1" data-id="${element.notrans}">Extend</button>
|
||||||
|
// <button class="btn btn-primary btn-xs edit-button mb-1" data-id="${element.notrans}">Edit</button>
|
||||||
|
// <button class="btn btn-danger btn-xs delete-button mb-1" data-id="${element.notrans}">Delete</button>
|
||||||
|
// </td>` : ''}
|
||||||
|
tbody.append(rowHtml);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
alert("Data tidak ditemukan.");
|
||||||
|
$('#example tbody').html(
|
||||||
|
`<tr>
|
||||||
|
<td colspan="11" style="text-align: center;"><p class="text-danger mt-3">Tidak ditemukan data</p></td>
|
||||||
|
<tr>`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
});
|
||||||
@@ -0,0 +1,279 @@
|
|||||||
|
$(document).ready(function () {
|
||||||
|
const today = moment();
|
||||||
|
const startDate = moment(today).startOf("day").format("DD-MM-YYYY 00:00");
|
||||||
|
const endDate = moment(today).endOf("day").format("DD-MM-YYYY 23:59");
|
||||||
|
|
||||||
|
$(".tambah-member").validate({
|
||||||
|
rules: {
|
||||||
|
nama: {
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
member: {
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
depart: {
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
messages: {
|
||||||
|
nama: {
|
||||||
|
required: "Masukkan nama member",
|
||||||
|
},
|
||||||
|
member: {
|
||||||
|
required: "Jenis Member belum di pilih",
|
||||||
|
},
|
||||||
|
depart: {
|
||||||
|
required: "Jenis Langganan belum di pilih",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// errorElement: 'span',
|
||||||
|
// errorPlacement: function (error, element) {
|
||||||
|
// error.addClass('invalid-feedback');
|
||||||
|
// // element.closest('.form-group').append(error);
|
||||||
|
// },
|
||||||
|
highlight: function (element, errorClass, validClass) {
|
||||||
|
$(element).addClass("is-invalid");
|
||||||
|
},
|
||||||
|
unhighlight: function (element, errorClass, validClass) {
|
||||||
|
$(element).removeClass("is-invalid");
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// const startDate = moment().startOf("day"); // hari ini jam 00:00
|
||||||
|
// const endDate = moment().add(7, "days").endOf("day"); // +7 hari
|
||||||
|
|
||||||
|
$(".input-daterange-timepicker").daterangepicker(
|
||||||
|
// 👈 method-nya "daterangepicker", bukan "datepicker"
|
||||||
|
{
|
||||||
|
timePicker: true,
|
||||||
|
locale: {
|
||||||
|
format: "DD-MM-YYYY HH:mm",
|
||||||
|
},
|
||||||
|
timePicker24Hour: true,
|
||||||
|
timePickerSeconds: false,
|
||||||
|
buttonClasses: ["btn", "btn-sm"],
|
||||||
|
applyClass: "btn-danger",
|
||||||
|
cancelClass: "btn-inverse",
|
||||||
|
startDate: startDate,
|
||||||
|
endDate: endDate,
|
||||||
|
parentEl: "#modal-member", // 👈 daterangepicker pakai "parentEl", bukan "container"
|
||||||
|
},
|
||||||
|
function (startDate, endDate) {
|
||||||
|
console.log(
|
||||||
|
`Range selected: ${startDate.format("DD-MM-YYYY HH:mm")} s/d ${endDate.format("DD-MM-YYYY HH:mm")}`,
|
||||||
|
);
|
||||||
|
$(".input-daterange-timepicker").val(
|
||||||
|
`${startDate.format("DD-MM-YYYY HH:mm")} s/d ${endDate.format("DD-MM-YYYY HH:mm")}`,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
// Set nilai awal dan akhir di input
|
||||||
|
$(".input-daterange-timepicker").val(`${startDate} - ${endDate}`);
|
||||||
|
// $('.awal').val(startDate);
|
||||||
|
// $('.akhir').val(endDate);
|
||||||
|
|
||||||
|
$("#jenisVehicle").on("change", function () {
|
||||||
|
var jenisMembers = member;
|
||||||
|
var vehicleSelected = $(this).val();
|
||||||
|
var $jenisMember = $("#jenis-member");
|
||||||
|
// console.log(jenisMembers);
|
||||||
|
|
||||||
|
$jenisMember.empty();
|
||||||
|
$jenisMember.append('<option selected value="">Pilih Jenis</option>');
|
||||||
|
|
||||||
|
jenisMembers.forEach((item) => {
|
||||||
|
if (item.id_mobil === vehicleSelected) {
|
||||||
|
if (item.id_mobil !== 0) {
|
||||||
|
$jenisMember.append(
|
||||||
|
`<option value="${item.tarif}">${item.jenis_langganan} - ${item.tarif} </option>`,
|
||||||
|
);
|
||||||
|
console.log($jenisMember);
|
||||||
|
} else {
|
||||||
|
$jenisMember.append(`<option value="">Tidak ada Pilihan </option>`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#nopol-add").on("click", function () {
|
||||||
|
var nopol = $(".nopol-add").val().trim();
|
||||||
|
console.log(nopol);
|
||||||
|
// var vehicle = $('#jenisVehicle option:selected').text();
|
||||||
|
var vehicle = $("#jenisVehicle").val();
|
||||||
|
var vehicleName = $("#jenisVehicle option:selected").text();
|
||||||
|
var member = $("#jenis-member option:selected").text();
|
||||||
|
var merk = $(".merk").val().trim();
|
||||||
|
$(".nopol-add").removeClass("is-invalid"); // Hapus kelas jika ada sebelumnya
|
||||||
|
$(".nopol-add").next(".invalid-feedback").hide();
|
||||||
|
|
||||||
|
if (!vehicle) {
|
||||||
|
alert("Wajib pilih jenis kendaraan");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "stiker/checkField",
|
||||||
|
type: "POST",
|
||||||
|
data: { nopol: nopol },
|
||||||
|
headers: { "X-CSRF-token": $('meta[name="csrf-token"]').attr("content") },
|
||||||
|
success: function (r) {
|
||||||
|
if (r.response === true) {
|
||||||
|
var rowhtml = `
|
||||||
|
<tr>
|
||||||
|
<td class="text-center">${nopol}</td>
|
||||||
|
<td class="text-center" data-value="${vehicle}"">${vehicleName}</td>
|
||||||
|
<td class="text-center">${member}</td>
|
||||||
|
<td class="text-center">${merk}</td>
|
||||||
|
<td class="text-center p-1" style="text-align: center;">
|
||||||
|
<button class="btn btn-danger btn-xs delete-row">Hapus<buttion>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
|
$("#list-nopol").append(rowhtml);
|
||||||
|
console.log("Berhasil menambahkan " + nopol);
|
||||||
|
|
||||||
|
$(".nopol-add").val("");
|
||||||
|
$("#jenisVehicle").val("");
|
||||||
|
$("#jenis-member").val("");
|
||||||
|
$(".merk").val("");
|
||||||
|
} else {
|
||||||
|
// var warn = `<div class="invalid-feedback">Nopol sudah ada</div>`;
|
||||||
|
$(".nopol-add").addClass("is-invalid"); // Tambahkan kelas invalid
|
||||||
|
$(".nopol-add").next(".invalid-feedback").text(r.message).show(); // Tampilkan pesan error
|
||||||
|
console.log(r.message);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function () {
|
||||||
|
alert("Terjadi kesalahan saat memeriksa nopol");
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".kartu").on("keydown", function (e) {
|
||||||
|
var kartu = $(".kartu").val().trim();
|
||||||
|
|
||||||
|
if (e.key === "Enter") {
|
||||||
|
// $.ajax ({
|
||||||
|
// url: 'member/checkField',
|
||||||
|
// type: 'POST',
|
||||||
|
// data: {nocard: kartu},
|
||||||
|
// headers: {'X-CSRF-token': $('meta[name="csrf-token"]').attr('content')},
|
||||||
|
// success: function (r) {
|
||||||
|
// if (r.response === true) {
|
||||||
|
e.preventDefault();
|
||||||
|
$(".nourut").focus();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".nourut").on("keydown", function (e) {
|
||||||
|
if (e.key === "Enter") {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
var nocard = $(".kartu").val().trim();
|
||||||
|
var nourut = $(".nourut").val().trim();
|
||||||
|
|
||||||
|
var rowHtml = `
|
||||||
|
<tr>
|
||||||
|
<td class="text-center strong">${nocard}</td>
|
||||||
|
<td class="text-center strong">${nourut}</td>
|
||||||
|
<td class="text-center p-2" >
|
||||||
|
<button class="btn btn-danger btn-xs delete-row">Hapus<buttion>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
|
$("#list-card").append(rowHtml);
|
||||||
|
$(".kartu").val("");
|
||||||
|
$(".nourut").val("");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#list-card").on("click", ".delete-row", function () {
|
||||||
|
$(this).closest("tr").remove(); // Hapus baris yang diklik
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".simpan").on("click", function () {
|
||||||
|
var tombol = $(this);
|
||||||
|
var formCollect = $("#add-member").serialize();
|
||||||
|
var collectNopol = [];
|
||||||
|
var cardCollect = [];
|
||||||
|
|
||||||
|
$("#list-nopol tr").each(function () {
|
||||||
|
var row = $(this);
|
||||||
|
var rowData = {
|
||||||
|
nopol: row.find("td:nth-child(1)").text().trim(),
|
||||||
|
vehicle: row.find("td:nth-child(2)").data("value"),
|
||||||
|
member: row.find("td:nth-child(3)").text().trim(),
|
||||||
|
merk: row.find("td:nth-child(4)").text().trim(),
|
||||||
|
};
|
||||||
|
collectNopol.push(rowData);
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(collectNopol);
|
||||||
|
|
||||||
|
$("#list-card tr").each(function () {
|
||||||
|
var row = $(this);
|
||||||
|
var rowCard = {
|
||||||
|
nocard: row.find("td:nth-child(1)").text(),
|
||||||
|
nourut: row.find("td:nth-child(2)").text(),
|
||||||
|
};
|
||||||
|
cardCollect.push(rowCard);
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(cardCollect);
|
||||||
|
|
||||||
|
const formDataString = formCollect;
|
||||||
|
|
||||||
|
// Mengonversi query string menjadi objek
|
||||||
|
const formDataObj = {};
|
||||||
|
const searchParams = new URLSearchParams(formDataString);
|
||||||
|
|
||||||
|
searchParams.forEach((value, key) => {
|
||||||
|
formDataObj[key] = value;
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(formDataObj);
|
||||||
|
|
||||||
|
var allData = {
|
||||||
|
formData: formDataObj,
|
||||||
|
nopolData: collectNopol,
|
||||||
|
cardNumber: cardCollect,
|
||||||
|
};
|
||||||
|
|
||||||
|
if ($(".tambah-member").valid()) {
|
||||||
|
$.ajax({
|
||||||
|
url: $("#add-member").attr("action"),
|
||||||
|
type: "POST",
|
||||||
|
data: allData,
|
||||||
|
headers: { "X-CSRF-token": $('meta[name="csrf-token"]').attr("content") },
|
||||||
|
beforeSend: function () {
|
||||||
|
tombol.attr("disabled", true);
|
||||||
|
},
|
||||||
|
success: function (r) {
|
||||||
|
// alert('Data berhasil dikirim');
|
||||||
|
$("#modal-member").modal("hide");
|
||||||
|
if (r.response == true) {
|
||||||
|
Swal.fire({
|
||||||
|
title: "Berhasil!!",
|
||||||
|
text: "Member anda telah terdaftar !!",
|
||||||
|
timer: 5000,
|
||||||
|
showConfirmButton: !1,
|
||||||
|
}).then(function () {
|
||||||
|
// Reload halaman setelah SweetAlert ditutup
|
||||||
|
location.reload(); // Ini akan me-reload halaman
|
||||||
|
});
|
||||||
|
} else if (r.response == false) {
|
||||||
|
Swal.fire("Oops...", "Terjadi kendala !!", "silahkan hubungi admin", "error");
|
||||||
|
}
|
||||||
|
console.log(r);
|
||||||
|
},
|
||||||
|
error: function (xhr, status, error) {
|
||||||
|
alert("Terjadi kesalahan: " + error);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -57,7 +57,7 @@
|
|||||||
<table class="table table-striped" id="cash">
|
<table class="table table-striped" id="cash">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th rowspan="2" colspan="2">Jenis Kend</th>
|
<th rowspan="2" colspan="2">Jenis Kendaraan</th>
|
||||||
<th colspan="2">Jenis Transaksi</th>
|
<th colspan="2">Jenis Transaksi</th>
|
||||||
<th colspan="2">Casual</th>
|
<th colspan="2">Casual</th>
|
||||||
<th colspan="2">Tiket Hilang</th>
|
<th colspan="2">Tiket Hilang</th>
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
<table class="table" id="payment">
|
<table class="table" id="payment">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th rowspan="2">Jenis Kend</th>
|
<th rowspan="2" colspan="2">Jenis Pembayaran</th>
|
||||||
<th colspan="2">Jenis Transaksi</th>
|
<th colspan="2">Jenis Transaksi</th>
|
||||||
<th colspan="2">Casual</th>
|
<th colspan="2">Casual</th>
|
||||||
<th colspan="2">Tiket Hilang</th>
|
<th colspan="2">Tiket Hilang</th>
|
||||||
@@ -197,6 +197,6 @@
|
|||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/3.5.31/jspdf.plugin.autotable.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/3.5.31/jspdf.plugin.autotable.min.js"></script>
|
||||||
<script src="{{ asset('js/report/report-vehicle.min.js') }}"></script>
|
<script src="{{ asset('jx/report/report-vehicle.parkq.jx') }}"></script>
|
||||||
<script src="{{ asset('js/report/report-print.min.js') }}"></script>
|
<script src="{{ asset('jx/report/report-print.parkq.jx') }}"></script>
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@@ -0,0 +1,188 @@
|
|||||||
|
<div class="modal fade bd-ubah-modal-lg" id="extend-member" tabindex="-1" role="dialog" data-bs-backdrop="static" data-keyboard="false">
|
||||||
|
<div class="modal-dialog modal-xl">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="card-title">Ubah Data Stiker/Member</h4>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal">
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="custom-tab-1">
|
||||||
|
<ul class="nav nav-tabs">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link active" data-bs-toggle="tab" href="#home1"><i class="la la-user me-2"></i>Data Pengunjung</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" data-bs-toggle="tab" href="#profile1"><i class="la la-home me-2"></i> Data Kendaraan</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" data-bs-toggle="tab" href="#contact1"><i class="la la-phone me-2"></i>Data Akses</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<form class="ubah-member" id="edit-member" methode="POST">
|
||||||
|
@csrf
|
||||||
|
@method('PUT')
|
||||||
|
<div class="tab-content">
|
||||||
|
<div class="tab-pane fade show active" id="home1" role="tabpanel">
|
||||||
|
<div class="pt-4">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xl-6">
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-lg-3 col-form-label form-label">Jenis Transaksi</label>
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<input type="text" class="form-control" value="PERPANJANG" readonly>
|
||||||
|
<input type="hidden" class="form-control" name="jenis_transaksi" value="1" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-lg-3 col-form-label form-label required">Nama</label>
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<input type="text" class="form-control" name="nama" placeholder="Masuk kan nama...." required>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-lg-3 col-form-label form-label">Alamat</label>
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<textarea type="text" class="form-control" rows="3" name="address" placeholder="JL. Hati hati raya..."></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-lg-3 col-form-label form-label">Telepon</label>
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<input type="number" class="form-control" phone="phone" placeholder="+62 81/081...">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-lg-3 col-form-label form-label required">Periode :</label>
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<input class="form-control input-daterange-timepicker" type="text" name="daterange" value="">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xl-6">
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-lg-3 col-form-label form-label">Jenis</label>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<select class="select-data form-control" name="member" id="member">
|
||||||
|
<option selected value="">Pilih Jenis</option>
|
||||||
|
@foreach ($memberSelect as $member)
|
||||||
|
<option value="{{ $member->id }}">{{ $member->nama }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-lg-3 col-form-label form-label">Dept</label>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<select class="select-data form-control" name="depart" id="department">
|
||||||
|
<option selected value="">Pilih Departemen</option>
|
||||||
|
@foreach ($departmentSelect as $department)
|
||||||
|
<option value="{{ $department->kode }}">{{ $department->nama }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-lg-3 col-form-label form-label">Note :</label>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<input type="text" class="form-control" name="note" placeholder="Catatan...">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-lg-3 col-form-label form-label">Harga (Rp.):</label>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<input type="text" class="form-control" name="harga" placeholder="10.000">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade" id="profile1">
|
||||||
|
<div class="pt-4">
|
||||||
|
<h4>Tambahkan Kendaraan</h4>
|
||||||
|
<div class="row form-material">
|
||||||
|
<div class="col-xl-3 col-md-6 mb-3">
|
||||||
|
<label class="form-label">Nomer Polisi</label>
|
||||||
|
<input type="text" class="form-control nopol-add" onkeyup="this.value = this.value.toUpperCase();" placeholder="No. Polisi">
|
||||||
|
<div class="invalid-feedback">Nomer Polisi sudah ada</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xl-3 col-md-6 mb-3">
|
||||||
|
<label class="form-label">Jenis Kendaraan :</label>
|
||||||
|
<select class="select form-control" id="jenisVehicle">
|
||||||
|
<option selected value="">Jenis Kendaraan</option>
|
||||||
|
@foreach ($vehicleSelect as $kendaraan)
|
||||||
|
<option value="{{ $kendaraan->id }}">{{ $kendaraan->nama }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-xl-3 col-md-6 mb-3">
|
||||||
|
<label class="form-label">Jenis Member :</label>
|
||||||
|
<select class="select-data form-control member" id="jenis-member">
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="col-xl-3 col-md-6 mb-3">
|
||||||
|
<label class="form-label">Merk : </label>
|
||||||
|
<input type="text" class="form-control merk" onkeyup="this.value = this.value.toUpperCase();" placeholder="Honda...">
|
||||||
|
</div>
|
||||||
|
<div class="col-xl-3 col-md-6 mb-3">
|
||||||
|
<label class="form-label"></label>
|
||||||
|
<button type="button" id="nopol-add" class="btn btn-primary btn-xs">Tambah</button>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<table class="table-bordered table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="col-2 text-center p-2">Nomer Polisi</th>
|
||||||
|
<th class="col-2 text-center">Jenis Kendaraan</th>
|
||||||
|
<th class="col-2 text-center">Merk Kendaraan</th>
|
||||||
|
<th class="col-2 text-center">Type Member</th>
|
||||||
|
<th class="col-2 text-center">Aksi</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="list-nopol">
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane fade" id="contact1">
|
||||||
|
<div class="pt-4">
|
||||||
|
<h4>Tambahkan Kartu</h4>
|
||||||
|
<div class="row form-material">
|
||||||
|
<div class="col-xl-6 col-md-6 mb-3">
|
||||||
|
<label class="form-label">Nomer Kartu</label>
|
||||||
|
<input type="text" class="form-control kartu" placeholder="01234567...">
|
||||||
|
</div>
|
||||||
|
<div class="col-xl-6 col-md-6 mb-3">
|
||||||
|
<label class="form-label">Nomer Urut</label>
|
||||||
|
<input type="text" class="form-control nourut" placeholder="01234567...">
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
{{-- <div class="table-responsive"> --}}
|
||||||
|
<table class="table-bordered">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="col-5 text-center p-2" >Nomer Kartu</th>
|
||||||
|
<th class="col-5 text-center">No. Urut</th>
|
||||||
|
<th class="col-2 text-center">Aksi</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="list-card">
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{{-- </div> --}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-danger light" data-bs-dismiss="modal">Close</button>
|
||||||
|
<button type="button" class="btn btn-primary simpan">Simpan Perubahan</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -139,7 +139,8 @@ class="form-control"
|
|||||||
<button class="btn btn-primary btn-sm add-button" data-bs-toggle="modal" data-bs-target=".bd-example-modal-lg">Tambah</button>
|
<button class="btn btn-primary btn-sm add-button" data-bs-toggle="modal" data-bs-target=".bd-example-modal-lg">Tambah</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="rowActions" class="d-none">
|
<div id="rowActions" class="d-none">
|
||||||
<button class="btn btn-warning btn-sm edit-button" id="btnEdit" data-bs-toggle="modal" data-bs-target=".bd-ubah-modal-lg">Edit</button>
|
<button class="btn btn-success btn-sm extend-button" id="btnExtend" data-bs-toggle="modal" data-bs-target=".bd-ubah-modal-lg">Perpanjang</button>
|
||||||
|
<button class="btn btn-warning btn-sm edit-button" id="btnEdit" data-bs-toggle="modal" data-bs-target=".bd-ubah-modal-lg">Ubah</button>
|
||||||
<button class="btn btn-danger btn-sm" id="btnDelete">Hapus</button>
|
<button class="btn btn-danger btn-sm" id="btnDelete">Hapus</button>
|
||||||
<button class="btn btn-info btn-sm" id="btnDetail">Detail</button>
|
<button class="btn btn-info btn-sm" id="btnDetail">Detail</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -191,11 +192,11 @@ class="form-control"
|
|||||||
<script src="{{asset ('vendor/sweetalert2/dist/sweetalert2.min.js') }}"></script>
|
<script src="{{asset ('vendor/sweetalert2/dist/sweetalert2.min.js') }}"></script>
|
||||||
<script src="{{asset ('js/custom.min.js') }}"></script>
|
<script src="{{asset ('js/custom.min.js') }}"></script>
|
||||||
<script src="{{asset ('js/dlabnav-init.js') }}"></script>
|
<script src="{{asset ('js/dlabnav-init.js') }}"></script>
|
||||||
<script src="{{asset ('js/member/index.js') }}"></script>
|
|
||||||
<script>
|
<script>
|
||||||
var member = @json($jenisStiker);
|
var member = @json($jenisStiker);
|
||||||
</script>
|
</script>
|
||||||
<script src="{{asset ('js/member/member-register.js') }}"></script>
|
<script src="{{asset ('jx/stikermember/index.parkq.jx') }}"></script>
|
||||||
|
<script src="{{asset ('jx/stikermember/member-register.parkq.jx') }}"></script>
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
var vehicle = @json($vehicleSelect);
|
var vehicle = @json($vehicleSelect);
|
||||||
@@ -225,12 +226,17 @@ class="form-control"
|
|||||||
});
|
});
|
||||||
|
|
||||||
$(document).on('click', '.extend-button', function () {
|
$(document).on('click', '.extend-button', function () {
|
||||||
|
if (!selectedRowData) {
|
||||||
|
alert('Pilih data terlebih dahulu');
|
||||||
|
return;
|
||||||
|
}
|
||||||
var rawId = $(this).data('id');
|
var rawId = $(this).data('id');
|
||||||
let id = rawId.substring(0, rawId.indexOf('/'));
|
// let id = rawId.substring(0, rawId.indexOf('/'));
|
||||||
|
let id = selectedRowData;
|
||||||
var kendaraan = vehicle;
|
var kendaraan = vehicle;
|
||||||
console.log('Data ID : ', id);
|
console.log('Data ID : ', id);
|
||||||
|
|
||||||
var actionUrl = '{{ route("member.show", ":id") }}';
|
var actionUrl = '{{ route("getStikerMember.show", ":id") }}';
|
||||||
actionUrl = actionUrl.replace(':id', id);
|
actionUrl = actionUrl.replace(':id', id);
|
||||||
console.log('Action URL : ', actionUrl);
|
console.log('Action URL : ', actionUrl);
|
||||||
// $('#extend-member').attr('action'), actionUrl;
|
// $('#extend-member').attr('action'), actionUrl;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<label class="col-lg-3 col-form-label form-label">Jenis Transaksi</label>
|
<label class="col-lg-3 col-form-label form-label">Jenis Transaksi</label>
|
||||||
<div class="col-lg-8">
|
<div class="col-lg-8">
|
||||||
<input type="text" class="form-control" value="BARU" readonly>
|
<input type="text" class="form-control" value="UBAH DATA" readonly>
|
||||||
<input type="hidden" class="form-control" name="jenis_transaksi" value="0" readonly>
|
<input type="hidden" class="form-control" name="jenis_transaksi" value="0" readonly>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -185,4 +185,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+2
-2
@@ -71,7 +71,8 @@
|
|||||||
|
|
||||||
Route::prefix("/transaksi")->group(function () {
|
Route::prefix("/transaksi")->group(function () {
|
||||||
Route::resource("parkir", TransaksiParkirController::class)->names("transaksiparkir");
|
Route::resource("parkir", TransaksiParkirController::class)->names("transaksiparkir");
|
||||||
Route::get("stiker", [MemberStikerController::class, "index"]);
|
Route::resource("stiker", MemberStikerController::class)->names("getStikerMember");
|
||||||
|
Route::post("stiker/data", [MemberStikerController::class, "getMember"])->name("getMember");
|
||||||
Route::post("stiker/checkField", [MemberStikerController::class, "checkField"]);
|
Route::post("stiker/checkField", [MemberStikerController::class, "checkField"]);
|
||||||
Route::resource("member", MemberStikerController::class);
|
Route::resource("member", MemberStikerController::class);
|
||||||
});
|
});
|
||||||
@@ -107,7 +108,6 @@
|
|||||||
Route::resource("verify", VerifyTransController::class);
|
Route::resource("verify", VerifyTransController::class);
|
||||||
Route::post("/verify/show", [VerifyTransController::class, "showImages"]);
|
Route::post("/verify/show", [VerifyTransController::class, "showImages"]);
|
||||||
Route::resource("losttiket", LostiketController::class);
|
Route::resource("losttiket", LostiketController::class);
|
||||||
Route::post("member/data", [MemberStikerController::class, "getMember"])->name("getMember");
|
|
||||||
Route::post("member/checkField", [MemberStikerController::class, "checkField"]);
|
Route::post("member/checkField", [MemberStikerController::class, "checkField"]);
|
||||||
Route::resource("settings", LostiketController::class);
|
Route::resource("settings", LostiketController::class);
|
||||||
Route::resource("settings-register", MemberProductController::class);
|
Route::resource("settings-register", MemberProductController::class);
|
||||||
|
|||||||
Reference in New Issue
Block a user