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