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 = { Issued: '--orange-6-hsl', PaymentPending: '--orange-10-hsl', PaymentSuccess: '--green-8-hsl', ProcessComplete: '--blue-6-hsl', Canceled: '--red-6-hsl', };