mirror of
https://github.com/inventree/InvenTree.git
synced 2026-02-02 03:14:56 +00:00
split assign batch code and assign serial numbers in po receive (#11213)
This commit is contained in:
@@ -361,7 +361,7 @@ function LineItemFormRow({
|
|||||||
|
|
||||||
// Serial number generator
|
// Serial number generator
|
||||||
const serialNumberGenerator = useSerialNumberGenerator({
|
const serialNumberGenerator = useSerialNumberGenerator({
|
||||||
isEnabled: () => batchOpen && trackable
|
isEnabled: () => trackable
|
||||||
});
|
});
|
||||||
|
|
||||||
const [packagingOpen, packagingHandlers] = useDisclosure(false, {
|
const [packagingOpen, packagingHandlers] = useDisclosure(false, {
|
||||||
@@ -379,7 +379,6 @@ function LineItemFormRow({
|
|||||||
const [batchOpen, batchHandlers] = useDisclosure(false, {
|
const [batchOpen, batchHandlers] = useDisclosure(false, {
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
props.changeFn(props.idx, 'batch_code', undefined);
|
props.changeFn(props.idx, 'batch_code', undefined);
|
||||||
props.changeFn(props.idx, 'serial_numbers', undefined);
|
|
||||||
},
|
},
|
||||||
onOpen: () => {
|
onOpen: () => {
|
||||||
// Generate a new batch code
|
// Generate a new batch code
|
||||||
@@ -387,6 +386,14 @@ function LineItemFormRow({
|
|||||||
part: record?.supplier_part_detail?.part,
|
part: record?.supplier_part_detail?.part,
|
||||||
order: record?.order
|
order: record?.order
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const [serialOpen, serialHandlers] = useDisclosure(false, {
|
||||||
|
onClose: () => {
|
||||||
|
props.changeFn(props.idx, 'serial_numbers', undefined);
|
||||||
|
},
|
||||||
|
onOpen: () => {
|
||||||
// Generate new serial numbers
|
// Generate new serial numbers
|
||||||
if (trackable) {
|
if (trackable) {
|
||||||
serialNumberGenerator.update({
|
serialNumberGenerator.update({
|
||||||
@@ -430,14 +437,6 @@ function LineItemFormRow({
|
|||||||
props.changeFn(props.idx, 'barcode', barcode);
|
props.changeFn(props.idx, 'barcode', barcode);
|
||||||
}, [barcode]);
|
}, [barcode]);
|
||||||
|
|
||||||
const batchToolTip: string = useMemo(() => {
|
|
||||||
if (trackable) {
|
|
||||||
return t`Assign Batch Code and Serial Numbers`;
|
|
||||||
} else {
|
|
||||||
return t`Assign Batch Code`;
|
|
||||||
}
|
|
||||||
}, [trackable]);
|
|
||||||
|
|
||||||
// Update location field description on state change
|
// Update location field description on state change
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!opened) {
|
if (!opened) {
|
||||||
@@ -559,10 +558,21 @@ function LineItemFormRow({
|
|||||||
size='sm'
|
size='sm'
|
||||||
onClick={() => batchHandlers.toggle()}
|
onClick={() => batchHandlers.toggle()}
|
||||||
icon={<InvenTreeIcon icon='batch_code' />}
|
icon={<InvenTreeIcon icon='batch_code' />}
|
||||||
tooltip={batchToolTip}
|
tooltip={t`Assign Batch Code`}
|
||||||
tooltipAlignment='top'
|
tooltipAlignment='top'
|
||||||
variant={batchOpen ? 'outline' : 'transparent'}
|
variant={batchOpen ? 'outline' : 'transparent'}
|
||||||
/>
|
/>
|
||||||
|
{trackable && (
|
||||||
|
<ActionButton
|
||||||
|
size='sm'
|
||||||
|
onClick={() => serialHandlers.toggle()}
|
||||||
|
icon={<InvenTreeIcon icon='serial' />}
|
||||||
|
tooltip={t`Assign Serial Numbers`}
|
||||||
|
tooltipAlignment='top'
|
||||||
|
variant={serialOpen ? 'outline' : 'transparent'}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
|
||||||
{settings.isSet('STOCK_ENABLE_EXPIRY') && (
|
{settings.isSet('STOCK_ENABLE_EXPIRY') && (
|
||||||
<ActionButton
|
<ActionButton
|
||||||
size='sm'
|
size='sm'
|
||||||
@@ -712,7 +722,7 @@ function LineItemFormRow({
|
|||||||
error={props.rowErrors?.batch_code?.message}
|
error={props.rowErrors?.batch_code?.message}
|
||||||
/>
|
/>
|
||||||
<TableFieldExtraRow
|
<TableFieldExtraRow
|
||||||
visible={batchOpen && trackable}
|
visible={serialOpen}
|
||||||
onValueChange={(value) =>
|
onValueChange={(value) =>
|
||||||
props.changeFn(props.idx, 'serial_numbers', value)
|
props.changeFn(props.idx, 'serial_numbers', value)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user