88 lines
2.4 KiB
TypeScript
88 lines
2.4 KiB
TypeScript
import { QTableProps } from 'quasar';
|
|
import { DebitNoteStatus, DebitNote } from 'src/stores/debit-note';
|
|
import { formatNumberDecimal } from 'src/stores/utils';
|
|
|
|
export const taskStatusOpts = [
|
|
{
|
|
status: DebitNoteStatus.PaymentPending,
|
|
name: `debitNote.status.${DebitNoteStatus.PaymentPending}`,
|
|
},
|
|
{
|
|
status: DebitNoteStatus.PaymentSuccess,
|
|
name: `debitNote.status.${DebitNoteStatus.PaymentSuccess}`,
|
|
},
|
|
{
|
|
status: DebitNoteStatus.PaymentSuccess,
|
|
name: `debitNote.status.${DebitNoteStatus.ProcessComplete}`,
|
|
},
|
|
];
|
|
|
|
export const pageTabs = [
|
|
{ label: 'Pending', value: DebitNoteStatus.Issued },
|
|
{ label: 'Payment', value: DebitNoteStatus.PaymentPending },
|
|
{ label: 'Receipt', value: DebitNoteStatus.PaymentSuccess },
|
|
{ label: 'Succeed', value: DebitNoteStatus.ProcessComplete },
|
|
];
|
|
|
|
export enum Status {
|
|
taskOrder = 'taskOrder',
|
|
receiveTaskOrder = 'receiveTaskOrder',
|
|
sendTaskOrder = 'sendTaskOrder',
|
|
payment = 'payment',
|
|
goodReceipt = 'goodReceipt',
|
|
}
|
|
|
|
export const columns = [
|
|
{
|
|
name: 'order',
|
|
align: 'center',
|
|
label: 'general.order',
|
|
field: (
|
|
data: DebitNote & { _index: number; _page: number; _pageSize: number },
|
|
) => (data._page - 1) * data._pageSize + data._index + 1,
|
|
},
|
|
{
|
|
name: 'code',
|
|
align: 'center',
|
|
label: 'debitNote.label.codeDebit',
|
|
field: (data: DebitNote) => data.code,
|
|
},
|
|
{
|
|
name: 'quotationCode',
|
|
align: 'center',
|
|
label: 'debitNote.label.codeQuotation',
|
|
field: (data: DebitNote) => data.debitNoteQuotation?.code,
|
|
},
|
|
{
|
|
name: 'quotationWorkName',
|
|
align: 'center',
|
|
label: 'debitNote.label.quotationWorkName',
|
|
field: (data: DebitNote) => data.workName,
|
|
},
|
|
{
|
|
name: 'quotationPayment',
|
|
align: 'center',
|
|
label: 'debitNote.label.quotationPayment',
|
|
field: (data: DebitNote) => data.debitNoteQuotation?.payCondition,
|
|
},
|
|
{
|
|
name: 'creditNoteValue',
|
|
align: 'center',
|
|
label: 'debitNote.label.value',
|
|
field: (data: DebitNote) => formatNumberDecimal(data.finalPrice),
|
|
},
|
|
{
|
|
name: '#action',
|
|
align: 'center',
|
|
label: '',
|
|
field: (_) => '#action',
|
|
},
|
|
] as const satisfies QTableProps['columns'];
|
|
|
|
export const hslaColors: Record<string, string> = {
|
|
Issued: '--orange-6-hsl',
|
|
PaymentPending: '--orange-10-hsl',
|
|
PaymentSuccess: '--green-8-hsl',
|
|
ProcessComplete: '--blue-6-hsl',
|
|
Canceled: '--red-6-hsl',
|
|
};
|