Add 'fromType' and 'toType' fields to Invoice model; update NewInvoice component to handle new properties and enhance data handling.
This commit is contained in:
parent
6fd375b4c9
commit
08890bd5bf
@ -34,6 +34,8 @@ const NewInvoice = ({ onOk, reset, defaultValues }) => {
|
||||
order: true,
|
||||
to: true,
|
||||
from: true,
|
||||
toType: true,
|
||||
fromType: true,
|
||||
issuedAt: true,
|
||||
dueAt: true
|
||||
}}
|
||||
@ -64,7 +66,9 @@ const NewInvoice = ({ onOk, reset, defaultValues }) => {
|
||||
sentAt: false,
|
||||
paidAt: false,
|
||||
cancelledAt: false,
|
||||
overdueAt: false
|
||||
overdueAt: false,
|
||||
acknowledgedAt: false,
|
||||
postedAt: false
|
||||
}}
|
||||
isEditing={false}
|
||||
objectData={objectData}
|
||||
|
||||
@ -233,23 +233,21 @@ export const Invoice = {
|
||||
columnWidth: 175
|
||||
},
|
||||
{
|
||||
name: 'from',
|
||||
label: 'From',
|
||||
required: true,
|
||||
type: 'object',
|
||||
objectType: 'vendor',
|
||||
showHyperlink: true,
|
||||
readOnly: true,
|
||||
columnWidth: 200,
|
||||
name: 'fromType',
|
||||
label: 'From Type',
|
||||
type: 'objectType',
|
||||
value: (objectData) => {
|
||||
if (objectData?.orderType == 'purchaseOrder') {
|
||||
return objectData?.order?.vendor
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
}
|
||||
return objectData?.orderType == 'purchaseOrder'
|
||||
? 'vendor'
|
||||
: objectData?.fromType
|
||||
},
|
||||
masterFilter: ['client', 'vendor'],
|
||||
readOnly: (objectData) => {
|
||||
return objectData?.orderType == 'purchaseOrder' ? true : false
|
||||
},
|
||||
columnWidth: 150,
|
||||
required: true
|
||||
},
|
||||
|
||||
{
|
||||
name: 'acknowledgedAt',
|
||||
label: 'Acknowledged At',
|
||||
@ -257,24 +255,28 @@ export const Invoice = {
|
||||
readOnly: true,
|
||||
columnWidth: 175
|
||||
},
|
||||
|
||||
{
|
||||
name: 'to',
|
||||
label: 'To',
|
||||
name: 'from',
|
||||
label: 'From',
|
||||
required: true,
|
||||
type: 'object',
|
||||
objectType: 'client',
|
||||
objectType: (objectData) => {
|
||||
return objectData?.fromType
|
||||
},
|
||||
showHyperlink: true,
|
||||
readOnly: true,
|
||||
readOnly: (objectData) => {
|
||||
return objectData?.orderType == 'purchaseOrder' ? true : false
|
||||
},
|
||||
columnWidth: 200,
|
||||
value: (objectData) => {
|
||||
if (objectData?.orderType == 'salesOrder') {
|
||||
return objectData?.to
|
||||
if (objectData?.orderType == 'purchaseOrder') {
|
||||
return objectData?.order?.vendor
|
||||
} else {
|
||||
return null
|
||||
return objectData?.from
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
name: 'cancelledAt',
|
||||
label: 'Cancelled At',
|
||||
@ -283,6 +285,45 @@ export const Invoice = {
|
||||
columnWidth: 175
|
||||
},
|
||||
|
||||
{
|
||||
name: 'toType',
|
||||
label: 'To Type',
|
||||
type: 'objectType',
|
||||
masterFilter: ['vendor', 'client'],
|
||||
value: (objectData) => {
|
||||
return objectData?.orderType == 'salesOrder'
|
||||
? 'client'
|
||||
: objectData?.toType
|
||||
},
|
||||
readOnly: (objectData) => {
|
||||
return objectData?.orderType == 'salesOrder' ? true : false
|
||||
},
|
||||
columnWidth: 150,
|
||||
required: true
|
||||
},
|
||||
|
||||
{
|
||||
name: 'to',
|
||||
label: 'To',
|
||||
required: true,
|
||||
type: 'object',
|
||||
objectType: (objectData) => {
|
||||
return objectData?.toType
|
||||
},
|
||||
showHyperlink: true,
|
||||
readOnly: (objectData) => {
|
||||
return objectData?.orderType == 'salesOrder' ? true : false
|
||||
},
|
||||
columnWidth: 200,
|
||||
value: (objectData) => {
|
||||
if (objectData?.orderType == 'salesOrder') {
|
||||
return objectData?.order?.client
|
||||
} else {
|
||||
return objectData?.to
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
name: 'totalTaxAmount',
|
||||
label: 'Total Tax Amount',
|
||||
@ -403,9 +444,7 @@ export const Invoice = {
|
||||
) || 0
|
||||
)
|
||||
} else if (objectData?.taxRate?.rateType == 'amount') {
|
||||
return (
|
||||
(invoiceAmount + objectData?.taxRate?.rate).toFixed(2) || 0
|
||||
)
|
||||
return (invoiceAmount + objectData?.taxRate?.rate).toFixed(2) || 0
|
||||
}
|
||||
return invoiceAmount
|
||||
}
|
||||
@ -512,9 +551,7 @@ export const Invoice = {
|
||||
) || 0
|
||||
)
|
||||
} else if (objectData?.taxRate?.rateType == 'amount') {
|
||||
return (
|
||||
(invoiceAmount + objectData?.taxRate?.rate).toFixed(2) || 0
|
||||
)
|
||||
return (invoiceAmount + objectData?.taxRate?.rate).toFixed(2) || 0
|
||||
}
|
||||
return invoiceAmount
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user