Feature: Open bill using bill number
This commit is contained in:
54
bookie/src/app/sales/bill-number/bill-number.component.ts
Normal file
54
bookie/src/app/sales/bill-number/bill-number.component.ts
Normal file
@ -0,0 +1,54 @@
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { FormBuilder, FormGroup } from '@angular/forms';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
|
||||
@Component({
|
||||
selector: 'app-bill-number',
|
||||
templateUrl: './bill-number.component.html',
|
||||
styleUrls: ['./bill-number.component.css'],
|
||||
})
|
||||
export class BillNumberComponent implements OnInit {
|
||||
form: FormGroup;
|
||||
|
||||
constructor(public dialogRef: MatDialogRef<BillNumberComponent>, private fb: FormBuilder) {
|
||||
// Create form
|
||||
this.form = this.fb.group({
|
||||
billType: '',
|
||||
billNumber: '',
|
||||
});
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.form.setValue({
|
||||
billType: '1',
|
||||
billNumber: '',
|
||||
});
|
||||
}
|
||||
|
||||
accept(): void {
|
||||
const formValue = this.form.value;
|
||||
const billNumber = parseInt(formValue.billNumber.replace('-', ''), 10);
|
||||
if (isNaN(billNumber)) {
|
||||
this.dialogRef.close(undefined);
|
||||
} else {
|
||||
let billId: string;
|
||||
switch (formValue.billType) {
|
||||
case '0': // KOT
|
||||
billId = 'K-' + billNumber;
|
||||
break;
|
||||
case '1': // Regular Bill
|
||||
billId = Math.floor(billNumber / 10000) + '-' + (billNumber % 10000);
|
||||
break;
|
||||
case '4': // Staff
|
||||
billId = 'ST-' + billNumber;
|
||||
break;
|
||||
case '2': // No Charge
|
||||
billId = 'NC-' + billNumber;
|
||||
break;
|
||||
default:
|
||||
throw new Error('Unknown Bill Type');
|
||||
}
|
||||
this.dialogRef.close(billId);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user