Refactor Stock Transfer Components and Models for Improved Clarity and Functionality
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Removed the default transfer name generation from NewStockTransfer component to simplify initialization. - Updated the description in PostStockTransfer component to clarify the posting process. - Enhanced StockTransfer model by adding 'fromLocation' and 'toLocation' filters and columns, improving data representation. - Refactored properties in StockTransfer model to ensure required fields are correctly set and improved data handling for stock types and quantities.
This commit is contained in:
parent
458512bc2f
commit
d8862b65c9
@ -1,19 +1,14 @@
|
||||
import PropTypes from 'prop-types'
|
||||
import dayjs from 'dayjs'
|
||||
import ObjectInfo from '../../common/ObjectInfo'
|
||||
import NewObjectForm from '../../common/NewObjectForm'
|
||||
import WizardView from '../../common/WizardView'
|
||||
|
||||
const defaultTransferName = () =>
|
||||
`Transfer ${dayjs().format('YYYY-MM-DD HH:mm:ss')}`
|
||||
|
||||
const NewStockTransfer = ({ onOk, reset }) => {
|
||||
return (
|
||||
<NewObjectForm
|
||||
type={'stockTransfer'}
|
||||
reset={reset}
|
||||
defaultValues={{
|
||||
name: defaultTransferName(),
|
||||
state: { type: 'draft' },
|
||||
lines: []
|
||||
}}
|
||||
|
||||
@ -30,7 +30,7 @@ const PostStockTransfer = ({ onOk, objectData }) => {
|
||||
return (
|
||||
<MessageDialogView
|
||||
title={'Post this stock transfer?'}
|
||||
description={`Receiving will move stock to the target locations, create destination stock rows, record stock events owned by this transfer, and fill in the "to" stock on each line.`}
|
||||
description={`Posting will move stock from the transfer's from location to its to location, create destination stock rows, record stock events owned by this transfer, and fill in the "to" stock on each line.`}
|
||||
onOk={handlePost}
|
||||
okText='Post'
|
||||
okLoading={postLoading}
|
||||
|
||||
@ -140,16 +140,18 @@ export const StockTransfer = {
|
||||
filters: [
|
||||
'state',
|
||||
'state.type',
|
||||
'fromLocation',
|
||||
'toLocation',
|
||||
'postedAt',
|
||||
'name',
|
||||
'createdAt',
|
||||
'updatedAt',
|
||||
'_reference'
|
||||
],
|
||||
sorters: ['name', 'createdAt', 'postedAt', 'state', 'updatedAt'],
|
||||
sorters: ['createdAt', 'postedAt', 'state', 'updatedAt'],
|
||||
columns: [
|
||||
'_reference',
|
||||
'name',
|
||||
'fromLocation',
|
||||
'toLocation',
|
||||
'state',
|
||||
'postedAt',
|
||||
'createdAt',
|
||||
@ -190,12 +192,11 @@ export const StockTransfer = {
|
||||
columnWidth: 175
|
||||
},
|
||||
{
|
||||
name: 'name',
|
||||
label: 'Name',
|
||||
type: 'text',
|
||||
required: true,
|
||||
columnWidth: 220,
|
||||
columnFixed: 'left'
|
||||
name: 'state',
|
||||
label: 'State',
|
||||
type: 'state',
|
||||
readOnly: true,
|
||||
columnWidth: 260
|
||||
},
|
||||
{
|
||||
name: 'postedAt',
|
||||
@ -205,11 +206,22 @@ export const StockTransfer = {
|
||||
columnWidth: 175
|
||||
},
|
||||
{
|
||||
name: 'state',
|
||||
label: 'State',
|
||||
type: 'state',
|
||||
readOnly: true,
|
||||
columnWidth: 260
|
||||
name: 'fromLocation',
|
||||
label: 'From location',
|
||||
type: 'object',
|
||||
objectType: 'stockLocation',
|
||||
showHyperlink: true,
|
||||
required: true,
|
||||
columnWidth: 220
|
||||
},
|
||||
{
|
||||
name: 'toLocation',
|
||||
label: 'To location',
|
||||
type: 'object',
|
||||
objectType: 'stockLocation',
|
||||
showHyperlink: true,
|
||||
required: true,
|
||||
columnWidth: 220
|
||||
},
|
||||
|
||||
{
|
||||
@ -218,21 +230,15 @@ export const StockTransfer = {
|
||||
type: 'objectChildren',
|
||||
required: false,
|
||||
canAddRemove: true,
|
||||
columns: [
|
||||
'fromStockType',
|
||||
'fromStock',
|
||||
'quantity',
|
||||
'toStockLocation',
|
||||
'toStockType',
|
||||
'toStock'
|
||||
],
|
||||
size: 'medium',
|
||||
properties: [
|
||||
{
|
||||
name: 'fromStockType',
|
||||
label: 'From type',
|
||||
label: 'Stock type',
|
||||
type: 'objectType',
|
||||
required: true,
|
||||
columnWidth: 180,
|
||||
disabled: (row, parentData) => parentData?.fromLocation?._id == null,
|
||||
masterFilter: ['filamentStock', 'partStock', 'productStock']
|
||||
},
|
||||
{
|
||||
@ -242,7 +248,13 @@ export const StockTransfer = {
|
||||
objectType: (row) => row?.fromStockType,
|
||||
required: true,
|
||||
showHyperlink: true,
|
||||
columnWidth: 230
|
||||
columnWidth: 230,
|
||||
masterFilter: (_row, parentData) => {
|
||||
const fromLocation =
|
||||
parentData?.fromLocation?._id ?? parentData?.fromLocation
|
||||
if (!fromLocation) return {}
|
||||
return { stockLocation: fromLocation }
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'quantity',
|
||||
@ -251,6 +263,12 @@ export const StockTransfer = {
|
||||
required: true,
|
||||
min: 0,
|
||||
columnWidth: 140,
|
||||
disabled: (row, parentData) => {
|
||||
return (
|
||||
parentData?.fromLocation?._id == null ||
|
||||
row?.fromStock?._id == undefined
|
||||
)
|
||||
},
|
||||
suffix: (row) =>
|
||||
row?.fromStockType === 'filamentStock' ? 'g net' : null
|
||||
},
|
||||
@ -286,23 +304,6 @@ export const StockTransfer = {
|
||||
suffix: (row) =>
|
||||
row?.fromStockType === 'filamentStock' ? 'g net' : null
|
||||
},
|
||||
{
|
||||
name: 'toStockLocation',
|
||||
label: 'To location',
|
||||
type: 'object',
|
||||
objectType: 'stockLocation',
|
||||
required: true,
|
||||
showHyperlink: true,
|
||||
columnWidth: 230
|
||||
},
|
||||
{
|
||||
name: 'toStockType',
|
||||
label: 'To type',
|
||||
type: 'objectType',
|
||||
readOnly: true,
|
||||
columnWidth: 180,
|
||||
visible: (row) => Boolean(row?.toStockType)
|
||||
},
|
||||
{
|
||||
name: 'toStock',
|
||||
label: 'To stock',
|
||||
@ -310,8 +311,7 @@ export const StockTransfer = {
|
||||
objectType: (row) => row?.toStockType,
|
||||
readOnly: true,
|
||||
showHyperlink: true,
|
||||
columnWidth: 230,
|
||||
visible: (row) => Boolean(row?.toStock)
|
||||
columnWidth: 230
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user