Merge branch 'development' of https://git.abbauf.com/Magang-2025/Kasir into development
This commit is contained in:
commit
98a8096725
17
README.md
17
README.md
@ -141,14 +141,17 @@ docker compose --env-file .env.production up -d --build
|
|||||||
# Siapkan database
|
# Siapkan database
|
||||||
docker exec -it abbauf_kasir_app php artisan migrate --seed
|
docker exec -it abbauf_kasir_app php artisan migrate --seed
|
||||||
|
|
||||||
|
# Atau import database secara manual
|
||||||
|
docker exec -i abbauf_kasir_db mysql -u kasir_user -pkasir_password kasir_db < ./toko_emas.sql
|
||||||
|
|
||||||
# Periksa database (opsional)
|
# Periksa database (opsional)
|
||||||
docker exec -it abbauf_kasir_db bash
|
docker exec -it abbauf_kasir_db bash
|
||||||
mysql -u root -p
|
mysql -u kasir_user -pkasir_password kasir_db
|
||||||
```
|
```
|
||||||
|
|
||||||
### 8. Print Label
|
### 8. Print Label
|
||||||
|
|
||||||
- Install driver, ada pada folder `./driver/` untuk windows 64bit.
|
- Install driver, ada pada folder `./driver/NiimbotPrinterDriverInstall_3.0.0.5.exe` untuk windows 64bit.
|
||||||
- Pilih `NIIMBOT B3S_P` pada saat install driver.
|
- Pilih `NIIMBOT B3S_P` pada saat install driver.
|
||||||
- Sambungkan printer ke komputer via USB.
|
- Sambungkan printer ke komputer via USB.
|
||||||
- Nyalakan printer.
|
- Nyalakan printer.
|
||||||
@ -157,6 +160,16 @@ mysql -u root -p
|
|||||||
- Pilih printer `NIIMBOT B3S_P` dan atur kertas ke ukuran kertas `40mm x 30mm`, margin `Default`, scale `Default`
|
- Pilih printer `NIIMBOT B3S_P` dan atur kertas ke ukuran kertas `40mm x 30mm`, margin `Default`, scale `Default`
|
||||||
- Klik print
|
- Klik print
|
||||||
|
|
||||||
|
### 9. Print Nota
|
||||||
|
|
||||||
|
- Pastikan printer terhubung dengan komputer via USB.
|
||||||
|
- Nyalakan printer.
|
||||||
|
- Install driver, ada pada folder `./driver/L120_x64_213UsHomeExportAsiaML.exe`.
|
||||||
|
- Lakukan transaksi penjualan pada aplikasi, atau pilih nota yang akan diprint di `Laporan > Riwayat transaksi`.
|
||||||
|
- Klik tombol print pada halaman tersebut
|
||||||
|
- Pilih ukuran kertas A4, margin `Minimum`, scale `95`
|
||||||
|
- Klik print
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🌐 Akses Aplikasi
|
## 🌐 Akses Aplikasi
|
||||||
|
|||||||
@ -37,7 +37,9 @@ const printBarcode = () => {
|
|||||||
const printWindow = window.open('', '_blank');
|
const printWindow = window.open('', '_blank');
|
||||||
const kode = props.code || 'N/A';
|
const kode = props.code || 'N/A';
|
||||||
const nama = props.item.nama || 'N/A';
|
const nama = props.item.nama || 'N/A';
|
||||||
const berat = props.item.berat ? `(${props.item.berat} g)` : '';
|
const berat = props.item.berat ? `${props.item.berat} g` : '';
|
||||||
|
const kadar = props.item.kadar ? `${props.item.kadar} K` : '';
|
||||||
|
const harga = props.item.harga_jual ? `Rp${props.item.harga_jual.toLocaleString('id-ID')},00` : '';
|
||||||
|
|
||||||
printWindow.document.write(`
|
printWindow.document.write(`
|
||||||
<html>
|
<html>
|
||||||
@ -70,29 +72,47 @@ const printBarcode = () => {
|
|||||||
height: 38mm;
|
height: 38mm;
|
||||||
}
|
}
|
||||||
|
|
||||||
.barcode-container {
|
.left-side {
|
||||||
width: 12mm;
|
width: 12.5mm;
|
||||||
height: 38mm;
|
height: 38mm;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
position: relative;
|
||||||
|
}
|
||||||
.barcode-img {
|
|
||||||
transform: rotate(90deg);
|
.left-content {
|
||||||
transform-origin: center;
|
position: absolute;
|
||||||
max-height: 12mm;
|
width: fit-content;
|
||||||
max-width: 12mm;
|
height: 12.5mm;
|
||||||
}
|
transform: rotate(90deg);
|
||||||
|
transform-origin: center;
|
||||||
.details-container {
|
display: flex;
|
||||||
width: 12mm;
|
align-items: center;
|
||||||
|
gap: 2mm;
|
||||||
|
}
|
||||||
|
|
||||||
|
.barcode-img {
|
||||||
|
height: 10mm;
|
||||||
|
width: auto;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-box {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0.5mm;
|
||||||
|
font-size: 5pt;
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right-side {
|
||||||
|
width: 12.5mm;
|
||||||
height: 38mm;
|
height: 38mm;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-name {
|
.item-name {
|
||||||
@ -101,25 +121,30 @@ const printBarcode = () => {
|
|||||||
white-space: normal;
|
white-space: normal;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 32mm;
|
width: 36mm;
|
||||||
|
text-align: center;
|
||||||
transform: rotate(270deg);
|
transform: rotate(270deg);
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
transform-origin: center;
|
transform-origin: center;
|
||||||
translate: -50% -50%;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div class="label">
|
<div class="label">
|
||||||
<div class="barcode-container">
|
<!-- Sisi Kiri: Barcode + Info -->
|
||||||
<img id="barcode-img" class="barcode-img"
|
<div class="left-side">
|
||||||
src="${barcodeUrl.value}" alt="Barcode" />
|
<div class="left-content">
|
||||||
|
<img id="barcode-img" class="barcode-img" src="${barcodeUrl.value}" alt="Barcode" />
|
||||||
|
<div class="info-box">
|
||||||
|
${harga ? `<div>${harga}</div>` : ''}
|
||||||
|
${berat ? `<div>Berat: ${berat}</div>` : ''}
|
||||||
|
${kadar ? `<div>Kadar: ${kadar}</div>` : ''}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="details-container">
|
<div class="right-side">
|
||||||
<div class="item-name">${nama} ${berat}</div>
|
<div class="item-name">${nama}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
1485
storage/toko_emas.sql
Normal file
1485
storage/toko_emas.sql
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user