diff --git a/README.md b/README.md index 5811a60..436776e 100644 --- a/README.md +++ b/README.md @@ -141,14 +141,17 @@ docker compose --env-file .env.production up -d --build # Siapkan database 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) docker exec -it abbauf_kasir_db bash -mysql -u root -p +mysql -u kasir_user -pkasir_password kasir_db ``` ### 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. - Sambungkan printer ke komputer via USB. - 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` - 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 diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index dbe880f..2027d8d 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -37,17 +37,9 @@ class DatabaseSeeder extends Seeder 'updated_at' => now(), ]); - // Create sales record - Sales::create([ - 'nama' => 'Kasir', - 'no_hp' => '-', - 'alamat' => '-', - 'created_at' => now(), - 'updated_at' => now(), - ]); - + // Call other seeders $this->call(DataSeeder::class); $this->call(DummySeeder::class); } -} \ No newline at end of file +} diff --git a/resources/js/components/PrintBarcode.vue b/resources/js/components/PrintBarcode.vue index 769cad5..454d5ae 100644 --- a/resources/js/components/PrintBarcode.vue +++ b/resources/js/components/PrintBarcode.vue @@ -37,7 +37,9 @@ const printBarcode = () => { const printWindow = window.open('', '_blank'); const kode = props.code || '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(` @@ -70,29 +72,47 @@ const printBarcode = () => { height: 38mm; } - .barcode-container { - width: 12mm; - height: 38mm; - display: flex; - align-items: center; - justify-content: center; - } - - .barcode-img { - transform: rotate(90deg); - transform-origin: center; - max-height: 12mm; - max-width: 12mm; - } - - .details-container { - width: 12mm; + .left-side { + width: 12.5mm; + height: 38mm; + display: flex; + align-items: center; + justify-content: center; + position: relative; + } + + .left-content { + position: absolute; + width: fit-content; + height: 12.5mm; + transform: rotate(90deg); + transform-origin: center; + display: flex; + 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; display: flex; align-items: center; justify-content: center; position: relative; - overflow: hidden; } .item-name { @@ -101,25 +121,30 @@ const printBarcode = () => { white-space: normal; word-wrap: break-word; position: absolute; - width: 32mm; + width: 36mm; + text-align: center; transform: rotate(270deg); - top: 50%; - left: 50%; transform-origin: center; - translate: -50% -50%; }
Hormat Kami
-