Perbaikan laporan semua transaksi with print

This commit is contained in:
2026-08-03 18:22:55 +07:00
parent d1bfa4f2eb
commit 9f8c67a5dc
14 changed files with 32900 additions and 257 deletions
File diff suppressed because it is too large Load Diff
+119 -104
View File
@@ -1,18 +1,29 @@
$(document).ready(function () {
console.log($.fn.jquery);
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');
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({
$(".tambah-member").validate({
rules: {
nama: {
required: true,
},
member: {
required: true,
},
depart: {
required: true,
},
},
messages: {
nama: {
required: 'Masukkan nama member',
required: "Masukkan nama member",
},
member: {
required: "Jenis Member belum di pilih",
},
depart: {
required: "Jenis Langganan belum di pilih",
},
},
// errorElement: 'span',
@@ -21,42 +32,51 @@ $(document).ready(function () {
// // element.closest('.form-group').append(error);
// },
highlight: function (element, errorClass, validClass) {
$(element).addClass('is-invalid');
$(element).addClass("is-invalid");
},
unhighlight: function (element, errorClass, validClass) {
$(element).removeClass('is-invalid');
}
$(element).removeClass("is-invalid");
},
});
$('.input-daterange-timepicker').daterangepicker({
// singleDatePicker: true,
timePicker: true,
locale: {
format: 'DD-MM-YYYY HH:mm'
// 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"
},
timePicker24Hour: true,
timePickerSeconds: false,
buttonClasses: ['btn', 'btn-sm'],
applyClass: 'btn-danger',
cancelClass: 'btn-inverse',
startDate: startDate,
endDate: endDate,
}, 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')}`);
// $('.awal').val(`${startDate.format('DD-MM-YYYY HH:mm')}`);
// $('.akhir').val(`${endDate.format('DD-MM-YYYY HH:mm')}`);
});
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}`);
$(".input-daterange-timepicker").val(`${startDate} - ${endDate}`);
// $('.awal').val(startDate);
// $('.akhir').val(endDate);
$('#jenisVehicle').on('change', function () {
$("#jenisVehicle").on("change", function () {
var jenisMembers = member;
var vehicleSelected = $(this).val();
var $jenisMember = $('#jenis-member');
var $jenisMember = $("#jenis-member");
// console.log(jenisMembers);
$jenisMember.empty();
@@ -64,42 +84,39 @@ $(document).ready(function () {
jenisMembers.forEach((item) => {
if (item.id_mobil === vehicleSelected) {
if (item.id_mobil !== 0 ) {
if (item.id_mobil !== 0) {
$jenisMember.append(
`<option value="${item.tarif}">${item.jenis_langganan} - ${item.tarif} </option>`
`<option value="${item.tarif}">${item.jenis_langganan} - ${item.tarif} </option>`,
);
console.log($jenisMember);
} else {
$jenisMember.append(
`<option value="">Tidak ada Pilihan </option>`
);
$jenisMember.append(`<option value="">Tidak ada Pilihan </option>`);
}
}
}
});
});
$('#nopol-add').on('click', function() {
var nopol = $('.nopol-add').val().trim();
$("#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();
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');
alert("Wajib pilih jenis kendaraan");
return;
}
$.ajax ({
url: 'member/checkField',
type: 'POST',
$.ajax({
url: "stiker/checkField",
type: "POST",
data: { nopol: nopol },
headers: {'X-CSRF-token': $('meta[name="csrf-token"]').attr('content')},
headers: { "X-CSRF-token": $('meta[name="csrf-token"]').attr("content") },
success: function (r) {
if (r.response === true) {
var rowhtml = `
@@ -113,51 +130,51 @@ $(document).ready(function () {
</td>
</tr>
`;
$('#list-nopol').append(rowhtml);
console.log('Berhasil menambahkan ' + nopol)
$("#list-nopol").append(rowhtml);
console.log("Berhasil menambahkan " + nopol);
$('.nopol-add').val('');
$('#jenisVehicle').val('');
$('#jenis-member').val('');
$('.merk').val('');
$(".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
$(".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');
}
alert("Terjadi kesalahan saat memeriksa nopol");
},
});
});
$('.kartu').on('keydown', function (e) {
var kartu = $('.kartu').val().trim();
$(".kartu").on("keydown", function (e) {
var kartu = $(".kartu").val().trim();
if (e.key === 'Enter') {
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();
// }
// if (r.response === true) {
e.preventDefault();
$(".nourut").focus();
// }
// }
// });
}
});
$('.nourut').on('keydown', function (e) {
if (e.key === 'Enter') {
$(".nourut").on("keydown", function (e) {
if (e.key === "Enter") {
e.preventDefault();
var nocard = $('.kartu').val().trim();
var nourut = $('.nourut').val().trim();
var nocard = $(".kartu").val().trim();
var nourut = $(".nourut").val().trim();
var rowHtml = `
<tr>
@@ -165,44 +182,43 @@ $(document).ready(function () {
<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>
</td>
</tr>
`;
$('#list-card').append(rowHtml);
$('.kartu').val('');
$('.nourut').val('');
$("#list-card").append(rowHtml);
$(".kartu").val("");
$(".nourut").val("");
}
});
$('#list-card').on('click', '.delete-row', function () {
$(this).closest('tr').remove(); // Hapus baris yang diklik
$("#list-card").on("click", ".delete-row", function () {
$(this).closest("tr").remove(); // Hapus baris yang diklik
});
$('.simpan').on('click', function () {
$(".simpan").on("click", function () {
var tombol = $(this);
var formCollect = $('#add-member').serialize();
var formCollect = $("#add-member").serialize();
var collectNopol = [];
var cardCollect = [];
$('#list-nopol tr').each(function () {
$("#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(),
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 () {
$("#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(),
nocard: row.find("td:nth-child(1)").text(),
nourut: row.find("td:nth-child(2)").text(),
};
cardCollect.push(rowCard);
});
@@ -227,38 +243,37 @@ $(document).ready(function () {
cardNumber: cardCollect,
};
if($('.tambah-member').valid()) {
if ($(".tambah-member").valid()) {
$.ajax({
url: $('#add-member').attr('action'),
type: 'POST',
url: $("#add-member").attr("action"),
type: "POST",
data: allData,
headers: {'X-CSRF-token': $('meta[name="csrf-token"]').attr('content')},
headers: { "X-CSRF-token": $('meta[name="csrf-token"]').attr("content") },
beforeSend: function () {
tombol.attr('disabled',true);
tombol.attr("disabled", true);
},
success: function (r) {
// alert('Data berhasil dikirim');
$('#modal-member').modal('hide');
$("#modal-member").modal("hide");
if (r.response == true) {
Swal.fire(
{
title: "Berhasil!!",
text: "Member anda telah terdaftar !!",
timer: 5000, showConfirmButton: !1
}
).then(function() {
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);
}
alert("Terjadi kesalahan: " + error);
},
});
}
});
});
});
File diff suppressed because one or more lines are too long
+19 -30
View File
@@ -32,7 +32,8 @@ function printPDF(data) {
doc.setFont("helvetica", "normal");
doc.setFontSize(9);
doc.text("Tanggal : " + (data.vehicle.date ?? "-"), pageWidth / 2, 23, { align: "center" });
doc.text("By : Harian", pageWidth - 14, 12, { align: "right" });
doc.text("By : " + (data.vehicle.reportTime ?? "-"), pageWidth - 14, 12, { align: "right" });
// doc.text("By : Harian", pageWidth - 14, 12, { align: "right" });
// ===== SUSUN BODY TABEL =====
const vehicleBody = [];
@@ -434,6 +435,11 @@ function printPDF(data) {
doc.setFontSize(11);
doc.text("Rekap Transaksi Per Petugas", pageWidth / 2, officerStartY - 5, { align: "center" });
doc.setFont("helvetica", "normal");
doc.setFontSize(9);
doc.text("Tanggal : " + (data.vehicle.date ?? "-"), pageWidth / 2, 23, { align: "center" });
doc.text("By : " + (data.vehicle.reportTime ?? "-"), pageWidth - 14, 12, { align: "right" });
doc.autoTable({
head: officerHead,
body: officerBody,
@@ -518,7 +524,7 @@ function printPDF(data) {
rupiah(oCasual.income),
nLost.jumlah,
cash.totalCashless,
rupiah(nLost.income),
nMember.jumlah,
rupiah(nMember.income),
@@ -535,11 +541,11 @@ function printPDF(data) {
{ content: rupiah(cashless.totalCashless), styles: { valign: "middle", fontStyle: "bold" } },
]);
ptotalTunaiJml += tCasual.jumlah + tLost.jumlah + tMember.jumlah + tManual.jumlah + tMasalah.jumlah;
ptotalTunaiNilai += cash.totalCash || 0;
ptotalNonTunaiJml += oCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
ptotalNonTunaiNilai += cashless.totalCashless || 0;
pgrandTotal += (cash.totalCash || 0) + (cashless.totalCashless || 0);
payTotalTunaiJml += tCasual.jumlah + tLost.jumlah + tMember.jumlah + tManual.jumlah + tMasalah.jumlah;
payTotalTunaiNilai += cash.totalCash || 0;
payTotalNonTunaiJml += oCasual.jumlah + nLost.jumlah + nMember.jumlah + nManual.jumlah + nMasalah.jumlah;
payTotalNonTunaiNilai += cashless.totalCashless || 0;
payGrandTotal += (cash.totalCash || 0) + (cashless.totalCashless || 0);
});
// baris TOTAL & GRAND TOTAL
@@ -633,7 +639,12 @@ function printPDF(data) {
// doc.addPage();
doc.setFont("helvetica", "bold");
doc.setFontSize(11);
doc.text("Rekap Transaksi Per Petugas", pageWidth / 2, paymentStartY - 5, { align: "center" });
doc.text("Rekap Transaksi Per Pembayaran", pageWidth / 2, paymentStartY - 5, { align: "center" });
doc.setFont("helvetica", "normal");
doc.setFontSize(9);
doc.text("Tanggal : " + (data.vehicle.date ?? "-"), pageWidth / 2, 23, { align: "center" });
doc.text("By : " + (data.vehicle.reportTime ?? "-"), pageWidth - 14, 12, { align: "right" });
doc.autoTable({
head: paymentHead,
@@ -646,28 +657,6 @@ function printPDF(data) {
columnStyles: { 0: { halign: "left" } },
});
// ===== TABEL OVER NIGHT (di bawah tabel utama) =====
// const ponBody = data.payment.overNight.map((on) => [
// on.jenis_mobil ?? "-",
// on.overNight,
// on.onExpired,
// (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({
// phead: [["Jenis Kend", "Menginap", "ON (Expired)", "Total"]],
// body: ponBody,
// startY: doc.lastAutoTable.finalY + 13,
// theme: "grid",
// styles: { fontSize: 7, cellPadding: 1 },
// headStyles: { fontSize: 8, fillColor: [230, 230, 230], textColor: 0 },
// tableWidth: 100,
// });
doc.save(`Rekap Harian - ${data.vehicle.date}.pdf`);
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,476 @@
/*!
* Datepicker for Bootstrap v1.10.0 (https://github.com/uxsolutions/bootstrap-datepicker)
*
* Licensed under the Apache License v2.0 (https://www.apache.org/licenses/LICENSE-2.0)
*/
.datepicker {
padding: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
direction: ltr;
}
.datepicker-inline {
width: 220px;
}
.datepicker-rtl {
direction: rtl;
}
.datepicker-rtl.dropdown-menu {
left: auto;
}
.datepicker-rtl table tr td span {
float: right;
}
.datepicker-dropdown {
top: 0;
left: 0;
}
.datepicker-dropdown:before {
content: "";
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #999;
border-top: 0;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
}
.datepicker-dropdown:after {
content: "";
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #fff;
border-top: 0;
position: absolute;
}
.datepicker-dropdown.datepicker-orient-left:before {
left: 6px;
}
.datepicker-dropdown.datepicker-orient-left:after {
left: 7px;
}
.datepicker-dropdown.datepicker-orient-right:before {
right: 6px;
}
.datepicker-dropdown.datepicker-orient-right:after {
right: 7px;
}
.datepicker-dropdown.datepicker-orient-bottom:before {
top: -7px;
}
.datepicker-dropdown.datepicker-orient-bottom:after {
top: -6px;
}
.datepicker-dropdown.datepicker-orient-top:before {
bottom: -7px;
border-bottom: 0;
border-top: 7px solid #999;
}
.datepicker-dropdown.datepicker-orient-top:after {
bottom: -6px;
border-bottom: 0;
border-top: 6px solid #fff;
}
.datepicker table {
margin: 0;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.datepicker td,
.datepicker th {
text-align: center;
width: 20px;
height: 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
background-color: transparent;
}
.datepicker table tr td.day.focused,
.datepicker table tr td.day:hover {
background: #eee;
cursor: pointer;
}
.datepicker table tr td.new,
.datepicker table tr td.old {
color: #999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
background: 0 0;
color: #999;
cursor: default;
}
.datepicker table tr td.highlighted {
background: #d9edf7;
border-radius: 0;
}
.datepicker table tr td.today,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today:hover {
background-color: #fde19a;
background-image: -moz-linear-gradient(to bottom, #fdd49a, #fdf59a);
background-image: -ms-linear-gradient(to bottom, #fdd49a, #fdf59a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
background-image: -webkit-linear-gradient(to bottom, #fdd49a, #fdf59a);
background-image: -o-linear-gradient(to bottom, #fdd49a, #fdf59a);
background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
border-color: #fdf59a #fdf59a #fbed50;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #000;
}
.datepicker table tr td.today.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today.disabled:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today[disabled] {
background-color: #fdf59a;
}
.datepicker table tr td.today.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today:hover:active {
background-color: #fbf069\9;
}
.datepicker table tr td.today:hover:hover {
color: #000;
}
.datepicker table tr td.today.active:hover {
color: #fff;
}
.datepicker table tr td.range,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover,
.datepicker table tr td.range:hover {
background: #eee;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today:hover {
background-color: #f3d17a;
background-image: -moz-linear-gradient(to bottom, #f3c17a, #f3e97a);
background-image: -ms-linear-gradient(to bottom, #f3c17a, #f3e97a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
background-image: -webkit-linear-gradient(to bottom, #f3c17a, #f3e97a);
background-image: -o-linear-gradient(to bottom, #f3c17a, #f3e97a);
background-image: linear-gradient(to bottom, #f3c17a, #f3e97a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
border-color: #f3e97a #f3e97a #edde34;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today.disabled:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today[disabled] {
background-color: #f3e97a;
}
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today:hover:active {
background-color: #efe24b\9;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected:hover {
background-color: #9e9e9e;
background-image: -moz-linear-gradient(to bottom, #b3b3b3, grey);
background-image: -ms-linear-gradient(to bottom, #b3b3b3, grey);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(grey));
background-image: -webkit-linear-gradient(to bottom, #b3b3b3, grey);
background-image: -o-linear-gradient(to bottom, #b3b3b3, grey);
background-image: linear-gradient(to bottom, #b3b3b3, grey);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
border-color: grey grey #595959;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected.disabled:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected[disabled] {
background-color: grey;
}
.datepicker table tr td.selected.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected:hover:active {
background-color: #666\9;
}
.datepicker table tr td.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(to bottom, #08c, #04c);
background-image: -ms-linear-gradient(to bottom, #08c, #04c);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c));
background-image: -webkit-linear-gradient(to bottom, #08c, #04c);
background-image: -o-linear-gradient(to bottom, #08c, #04c);
background-image: linear-gradient(to bottom, #08c, #04c);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
border-color: #04c #04c #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active.disabled:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active[disabled] {
background-color: #04c;
}
.datepicker table tr td.active.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active:hover:active {
background-color: #039\9;
}
.datepicker table tr td span {
display: block;
width: 23%;
height: 54px;
line-height: 54px;
float: left;
margin: 1%;
cursor: pointer;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.datepicker table tr td span.focused,
.datepicker table tr td span:hover {
background: #eee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
background: 0 0;
color: #999;
cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(to bottom, #08c, #04c);
background-image: -ms-linear-gradient(to bottom, #08c, #04c);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#04c));
background-image: -webkit-linear-gradient(to bottom, #08c, #04c);
background-image: -o-linear-gradient(to bottom, #08c, #04c);
background-image: linear-gradient(to bottom, #08c, #04c);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
border-color: #04c #04c #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active.disabled:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active[disabled] {
background-color: #04c;
}
.datepicker table tr td span.active.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active:hover:active {
background-color: #039\9;
}
.datepicker table tr td span.new,
.datepicker table tr td span.old {
color: #999;
}
.datepicker .datepicker-switch {
width: 145px;
}
.datepicker .datepicker-switch,
.datepicker .next,
.datepicker .prev,
.datepicker tfoot tr th {
cursor: pointer;
}
.datepicker .datepicker-switch:hover,
.datepicker .next:hover,
.datepicker .prev:hover,
.datepicker tfoot tr th:hover {
background: #eee;
}
.datepicker .next.disabled,
.datepicker .prev.disabled {
visibility: hidden;
}
.datepicker .cw {
font-size: 10px;
width: 12px;
padding: 0 2px 0 5px;
vertical-align: middle;
}
.input-append.date .add-on,
.input-prepend.date .add-on {
cursor: pointer;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
margin-top: 3px;
}
.input-daterange input {
text-align: center;
}
.input-daterange input:first-child {
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
}
.input-daterange .add-on {
display: inline-block;
width: auto;
min-width: 16px;
height: 18px;
padding: 4px 5px;
font-weight: 400;
line-height: 18px;
text-align: center;
text-shadow: 0 1px 0 #fff;
vertical-align: middle;
background-color: #eee;
border: 1px solid #ccc;
margin-left: -5px;
margin-right: -5px;
}
File diff suppressed because it is too large Load Diff
+132
View File
@@ -0,0 +1,132 @@
/*
* Container style
*/
.ps {
overflow: hidden !important;
overflow-anchor: none;
-ms-overflow-style: none;
touch-action: auto;
-ms-touch-action: auto;
}
/*
* Scrollbar rail styles
*/
.ps__rail-x {
display: none;
opacity: 0;
transition:
background-color 0.2s linear,
opacity 0.2s linear;
-webkit-transition:
background-color 0.2s linear,
opacity 0.2s linear;
height: 15px;
/* there must be 'bottom' or 'top' for ps__rail-x */
bottom: 0px;
/* please don't change 'position' */
position: absolute;
}
.ps__rail-y {
display: none;
opacity: 0;
transition:
background-color 0.2s linear,
opacity 0.2s linear;
-webkit-transition:
background-color 0.2s linear,
opacity 0.2s linear;
width: 15px;
/* there must be 'right' or 'left' for ps__rail-y */
right: 0;
/* please don't change 'position' */
position: absolute;
}
.ps--active-x > .ps__rail-x,
.ps--active-y > .ps__rail-y {
display: block;
background-color: transparent;
}
.ps:hover > .ps__rail-x,
.ps:hover > .ps__rail-y,
.ps--focus > .ps__rail-x,
.ps--focus > .ps__rail-y,
.ps--scrolling-x > .ps__rail-x,
.ps--scrolling-y > .ps__rail-y {
opacity: 0.6;
}
.ps .ps__rail-x:hover,
.ps .ps__rail-y:hover,
.ps .ps__rail-x:focus,
.ps .ps__rail-y:focus,
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-y.ps--clicking {
background-color: #eee;
opacity: 0.9;
}
/*
* Scrollbar thumb styles
*/
.ps__thumb-x {
background-color: #aaa;
border-radius: 6px;
transition:
background-color 0.2s linear,
height 0.2s ease-in-out;
-webkit-transition:
background-color 0.2s linear,
height 0.2s ease-in-out;
height: 6px;
/* there must be 'bottom' for ps__thumb-x */
bottom: 2px;
/* please don't change 'position' */
position: absolute;
}
.ps__thumb-y {
background-color: #aaa;
border-radius: 6px;
transition:
background-color 0.2s linear,
width 0.2s ease-in-out;
-webkit-transition:
background-color 0.2s linear,
width 0.2s ease-in-out;
width: 6px;
/* there must be 'right' for ps__thumb-y */
right: 2px;
/* please don't change 'position' */
position: absolute;
}
.ps__rail-x:hover > .ps__thumb-x,
.ps__rail-x:focus > .ps__thumb-x,
.ps__rail-x.ps--clicking .ps__thumb-x {
background-color: #999;
height: 11px;
}
.ps__rail-y:hover > .ps__thumb-y,
.ps__rail-y:focus > .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
background-color: #999;
width: 11px;
}
/* MS supports */
@supports (-ms-overflow-style: none) {
.ps {
overflow: auto !important;
}
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.ps {
overflow: auto !important;
}
}