jws-frontend/src/pages/12_debit-note/constants.ts

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',
};