jws-frontend/src/pages/13_receipt/constants.ts
2025-01-15 09:16:35 +07:00

95 lines
1.9 KiB
TypeScript

import { QTableProps } from 'quasar';
import { Invoice, Receipt } from 'src/stores/payment/types';
import { formatNumberDecimal } from 'src/stores/utils';
import { dateFormatJS } from 'src/utils/datetime';
export const columns = [
{
name: '#order',
align: 'center',
label: 'general.order',
field: (v: Receipt & { _index: number }) => v._index + 1,
},
{
name: 'quotation',
align: 'center',
label: 'requestList.quotationCode',
field: 'code',
},
{
name: 'workSheetName',
align: 'left',
label: 'receipt.workSheetName',
field: (v: Receipt) => v.invoice.quotation.workName,
},
{
name: 'issueDate',
align: 'center',
label: 'taskOrder.issueDate',
field: (v: Receipt) =>
dateFormatJS({
date: v.invoice.quotation.createdAt,
withTime: true,
}),
},
{
name: 'value',
align: 'center',
label: 'preview.value',
field: (v: Receipt) => formatNumberDecimal(v.amount, 2),
},
{
name: '#action',
align: 'center',
label: '',
field: (_) => '#action',
},
] as const satisfies QTableProps['columns'];
export const docColumn = [
{
name: 'order',
align: 'center',
label: 'general.order',
field: 'no',
},
{
name: 'document',
align: 'left',
label: 'general.document',
field: 'document',
},
{
name: 'attachment',
align: 'left',
label: 'requestList.attachment',
field: 'attachment',
},
{
name: 'amount',
align: 'center',
label: 'general.amount',
field: 'amount',
},
{
name: 'documentInSystem',
align: 'center',
label: 'requestList.documentInSystem',
field: 'documentInSystem',
},
{
name: 'status',
align: 'center',
label: 'general.status',
field: 'status',
},
] as const satisfies QTableProps['columns'];
export const hslaColors: Record<string, string> = {
PaymentWait: '--orange-5-hsl',
PaymentSuccess: '--green-8-hsl',
};