import { QTableProps } from 'quasar'; import { CreditNote, CreditNoteStatus } from 'src/stores/credit-note'; import { formatNumberDecimal } from 'src/stores/utils'; export const taskStatusOpts = [ { status: CreditNoteStatus.Pending, name: `creditNote.status.${CreditNoteStatus.Pending}`, }, { status: CreditNoteStatus.Success, name: `creditNote.status.${CreditNoteStatus.Success}`, }, ]; export const pageTabs = [ { label: CreditNoteStatus.Waiting, value: CreditNoteStatus.Waiting }, { label: CreditNoteStatus.Pending, value: CreditNoteStatus.Pending }, { label: CreditNoteStatus.Success, value: CreditNoteStatus.Success }, ]; 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: CreditNote & { _index: number; _page: number; _pageSize: number }, ) => (data._page - 1) * data._pageSize + (data._index + 1), }, { name: 'code', align: 'center', label: 'creditNote.label.code', field: (data: CreditNote) => data.code, }, { name: 'quotationCode', align: 'center', label: 'creditNote.label.quotationCode', field: (data: CreditNote) => data.quotation.code, }, { name: 'quotationWorkName', align: 'center', label: 'creditNote.label.quotationWorkName', field: (data: CreditNote) => data.quotation.workName, }, { name: 'quotationPayment', align: 'center', label: 'creditNote.label.quotationPayment', field: (data: CreditNote) => data.quotation.payCondition, }, { name: 'creditNoteValue', align: 'center', label: 'creditNote.label.value', field: (data: CreditNote) => formatNumberDecimal(data.value), }, { name: '#action', align: 'center', label: '', field: (_) => '#action', }, ] as const satisfies QTableProps['columns']; export const hslaColors: Record = { Pending: '--orange-5-hsl', Success: '--blue-6-hsl', }; export const productColumn = [ { name: 'order', align: 'center', label: 'general.order', field: 'no', }, { name: 'code', align: 'center', label: 'productService.product.code', field: 'code', }, { name: 'productList', align: 'center', label: 'taskOrder.productList', field: 'productList', }, { name: 'amountOfEmployee', align: 'center', label: 'taskOrder.amountOfEmployee', field: 'amountOfEmployee', }, { name: 'pricePerUnit', align: 'center', label: 'quotation.pricePerUnit', field: 'pricePerUnit', }, { name: 'discount', align: 'center', label: 'general.discount', field: 'discount', }, { name: 'priceBeforeVat', align: 'center', label: 'quotation.priceBeforeVat', field: 'priceBeforeVat', }, { name: 'vat', align: 'center', label: 'general.vat', field: 'vat', }, { name: 'totalPriceBaht', align: 'center', label: 'quotation.totalPriceBaht', field: 'totalPriceBaht', }, ] as const satisfies QTableProps['columns'];