Enhance OrderItem model and components with new invoicing fields
- Added new fields for invoicing, including invoicedAmount, invoicedAmountWithTax, invoicedQuantity, and their remaining counterparts in the OrderItem model. - Updated NewOrderItem and OrderItemInfo components to include visibility settings for the new invoicing fields. - Adjusted label widths in OrderItemInfo for better layout consistency.
This commit is contained in:
parent
bace57b436
commit
de74fb0668
@ -33,7 +33,15 @@ const NewOrderItem = ({ onOk, reset, defaultValues }) => {
|
|||||||
itemAmount: false,
|
itemAmount: false,
|
||||||
totalAmount: false,
|
totalAmount: false,
|
||||||
totalAmountWithTax: false,
|
totalAmountWithTax: false,
|
||||||
quantity: false
|
quantity: false,
|
||||||
|
invoicedAmount: false,
|
||||||
|
invoicedAmountWithTax: false,
|
||||||
|
invoicedQuantity: false,
|
||||||
|
invoicedAmountRemaining: false,
|
||||||
|
invoicedAmountWithTaxRemaining: false,
|
||||||
|
invoicedQuantityRemaining: false,
|
||||||
|
orderedAt: false,
|
||||||
|
receivedAt: false
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
@ -71,7 +79,16 @@ const NewOrderItem = ({ onOk, reset, defaultValues }) => {
|
|||||||
required={false}
|
required={false}
|
||||||
objectData={objectData}
|
objectData={objectData}
|
||||||
visibleProperties={{
|
visibleProperties={{
|
||||||
shipment: true
|
shipment: true,
|
||||||
|
invoicedAmount: false,
|
||||||
|
invoicedAmountWithTax: false,
|
||||||
|
invoicedQuantity: false,
|
||||||
|
invoicedAmountRemaining: false,
|
||||||
|
invoicedAmountWithTaxRemaining: false,
|
||||||
|
invoicedQuantityRemaining: false,
|
||||||
|
orderedAt: false,
|
||||||
|
receivedAt: false,
|
||||||
|
syncAmount: false
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
)
|
)
|
||||||
@ -88,7 +105,15 @@ const NewOrderItem = ({ onOk, reset, defaultValues }) => {
|
|||||||
_id: false,
|
_id: false,
|
||||||
createdAt: false,
|
createdAt: false,
|
||||||
updatedAt: false,
|
updatedAt: false,
|
||||||
_reference: false
|
_reference: false,
|
||||||
|
invoicedAmount: false,
|
||||||
|
invoicedAmountWithTax: false,
|
||||||
|
invoicedQuantity: false,
|
||||||
|
invoicedAmountRemaining: false,
|
||||||
|
invoicedAmountWithTaxRemaining: false,
|
||||||
|
invoicedQuantityRemaining: false,
|
||||||
|
orderedAt: false,
|
||||||
|
receivedAt: false
|
||||||
}}
|
}}
|
||||||
isEditing={false}
|
isEditing={false}
|
||||||
objectData={objectData}
|
objectData={objectData}
|
||||||
|
|||||||
@ -155,7 +155,7 @@ const OrderItemInfo = () => {
|
|||||||
isEditing={isEditing}
|
isEditing={isEditing}
|
||||||
type='orderItem'
|
type='orderItem'
|
||||||
objectData={objectData}
|
objectData={objectData}
|
||||||
labelWidth='200px'
|
labelWidth='275px'
|
||||||
/>
|
/>
|
||||||
</InfoCollapse>
|
</InfoCollapse>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|||||||
@ -82,6 +82,7 @@ export const OrderItem = {
|
|||||||
sorters: ['createdAt', 'updatedAt', 'itemAmount', 'quantity'],
|
sorters: ['createdAt', 'updatedAt', 'itemAmount', 'quantity'],
|
||||||
columns: [
|
columns: [
|
||||||
'_reference',
|
'_reference',
|
||||||
|
'name',
|
||||||
'state',
|
'state',
|
||||||
'itemType',
|
'itemType',
|
||||||
'item',
|
'item',
|
||||||
@ -92,6 +93,14 @@ export const OrderItem = {
|
|||||||
'totalAmountWithTax',
|
'totalAmountWithTax',
|
||||||
'order',
|
'order',
|
||||||
'shipment',
|
'shipment',
|
||||||
|
'invoicedAmount',
|
||||||
|
'invoicedAmountWithTax',
|
||||||
|
'invoicedQuantity',
|
||||||
|
'invoicedAmountRemaining',
|
||||||
|
'invoicedAmountWithTaxRemaining',
|
||||||
|
'invoicedQuantityRemaining',
|
||||||
|
'orderedAt',
|
||||||
|
'receivedAt',
|
||||||
'createdAt',
|
'createdAt',
|
||||||
'updatedAt'
|
'updatedAt'
|
||||||
],
|
],
|
||||||
@ -126,7 +135,30 @@ export const OrderItem = {
|
|||||||
type: 'dateTime',
|
type: 'dateTime',
|
||||||
readOnly: true
|
readOnly: true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'name',
|
||||||
|
label: 'Name',
|
||||||
|
type: 'text',
|
||||||
|
readOnly: true,
|
||||||
|
value: (objectData) => {
|
||||||
|
return objectData?.item?.name
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'orderedAt',
|
||||||
|
label: 'Ordered At',
|
||||||
|
type: 'dateTime',
|
||||||
|
required: false,
|
||||||
|
readOnly: true
|
||||||
|
},
|
||||||
{ name: 'state', label: 'State', type: 'state', readOnly: true },
|
{ name: 'state', label: 'State', type: 'state', readOnly: true },
|
||||||
|
{
|
||||||
|
name: 'receivedAt',
|
||||||
|
label: 'Received At',
|
||||||
|
type: 'dateTime',
|
||||||
|
required: false,
|
||||||
|
readOnly: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'orderType',
|
name: 'orderType',
|
||||||
label: 'Order Type',
|
label: 'Order Type',
|
||||||
@ -201,6 +233,7 @@ export const OrderItem = {
|
|||||||
prefix: '£',
|
prefix: '£',
|
||||||
min: 0,
|
min: 0,
|
||||||
step: 0.01,
|
step: 0.01,
|
||||||
|
fixedNumber: 2,
|
||||||
readOnly: (objectData) => {
|
readOnly: (objectData) => {
|
||||||
return objectData?.syncAmount != null
|
return objectData?.syncAmount != null
|
||||||
},
|
},
|
||||||
@ -231,6 +264,7 @@ export const OrderItem = {
|
|||||||
min: 0,
|
min: 0,
|
||||||
step: 0.01,
|
step: 0.01,
|
||||||
columnWidth: 150,
|
columnWidth: 150,
|
||||||
|
fixedNumber: 2,
|
||||||
readOnly: true,
|
readOnly: true,
|
||||||
value: (objectData) => {
|
value: (objectData) => {
|
||||||
if (objectData?.itemAmount && objectData?.quantity) {
|
if (objectData?.itemAmount && objectData?.quantity) {
|
||||||
@ -272,6 +306,7 @@ export const OrderItem = {
|
|||||||
label: 'Total Amount w/ Tax',
|
label: 'Total Amount w/ Tax',
|
||||||
type: 'number',
|
type: 'number',
|
||||||
required: true,
|
required: true,
|
||||||
|
fixedNumber: 2,
|
||||||
readOnly: true,
|
readOnly: true,
|
||||||
prefix: '£',
|
prefix: '£',
|
||||||
min: 0,
|
min: 0,
|
||||||
@ -298,6 +333,70 @@ export const OrderItem = {
|
|||||||
return totalAmount || 0
|
return totalAmount || 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'invoicedAmount',
|
||||||
|
label: 'Invoiced Amount',
|
||||||
|
type: 'number',
|
||||||
|
required: false,
|
||||||
|
readOnly: true,
|
||||||
|
prefix: '£',
|
||||||
|
fixedNumber: 2,
|
||||||
|
min: 0,
|
||||||
|
step: 0.01,
|
||||||
|
columnWidth: 150
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'invoicedAmountWithTax',
|
||||||
|
label: 'Invoiced Amount w/ Tax',
|
||||||
|
type: 'number',
|
||||||
|
required: false,
|
||||||
|
readOnly: true,
|
||||||
|
prefix: '£',
|
||||||
|
fixedNumber: 2,
|
||||||
|
min: 0,
|
||||||
|
step: 0.01,
|
||||||
|
columnWidth: 200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'invoicedQuantity',
|
||||||
|
label: 'Invoiced Quantity',
|
||||||
|
type: 'number',
|
||||||
|
required: false,
|
||||||
|
readOnly: true,
|
||||||
|
columnWidth: 150
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'invoicedAmountRemaining',
|
||||||
|
label: 'Remaining Invoiced Amount',
|
||||||
|
type: 'number',
|
||||||
|
required: false,
|
||||||
|
readOnly: true,
|
||||||
|
prefix: '£',
|
||||||
|
min: 0,
|
||||||
|
step: 0.01,
|
||||||
|
columnWidth: 225,
|
||||||
|
fixedNumber: 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'invoicedAmountWithTaxRemaining',
|
||||||
|
label: 'Remaining Invoiced Amount w/ Tax',
|
||||||
|
type: 'number',
|
||||||
|
required: false,
|
||||||
|
readOnly: true,
|
||||||
|
prefix: '£',
|
||||||
|
min: 0,
|
||||||
|
fixedNumber: 2,
|
||||||
|
step: 0.01,
|
||||||
|
columnWidth: 275
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'invoicedQuantityRemaining',
|
||||||
|
label: 'Remaining Invoiced Quantity',
|
||||||
|
type: 'number',
|
||||||
|
required: false,
|
||||||
|
readOnly: true,
|
||||||
|
columnWidth: 225
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user