55 lines
1.4 KiB
TypeScript
55 lines
1.4 KiB
TypeScript
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);
|
|
}
|
|
}
|
|
}
|