diff --git a/src/api/ADempiere/field/locator.js b/src/api/ADempiere/field/locator.js new file mode 100644 index 00000000..edf76c2f --- /dev/null +++ b/src/api/ADempiere/field/locator.js @@ -0,0 +1,10 @@ +import { getEntitiesList } from '@/api/ADempiere/persistence' + +export function getLocatorList({ + warehouseId +}) { + return getEntitiesList({ + tableName: 'M_Locator', + whereClause: `M_Warehouse_ID = ${warehouseId}` + }) +} diff --git a/src/components/ADempiere/Field/FieldLocator.vue b/src/components/ADempiere/Field/FieldLocator.vue new file mode 100644 index 00000000..8e7060e6 --- /dev/null +++ b/src/components/ADempiere/Field/FieldLocator.vue @@ -0,0 +1,88 @@ + + + diff --git a/src/components/ADempiere/Field/index.vue b/src/components/ADempiere/Field/index.vue index 1077b0a9..001511a2 100644 --- a/src/components/ADempiere/Field/index.vue +++ b/src/components/ADempiere/Field/index.vue @@ -121,7 +121,7 @@ export default { computed: { // load the component that is indicated in the attributes of received property componentRender() { - if (this.isEmptyValue(this.field.componentPath)) { + if (this.isEmptyValue(this.field.componentPath || !this.field.isSupported)) { return () => import('@/components/ADempiere/Field/FieldText') } if (this.isSelectCreated) { @@ -145,6 +145,9 @@ export default { case 'FieldImage': field = () => import('@/components/ADempiere/Field/FieldImage') break + case 'FieldLocator': + field = () => import('@/components/ADempiere/Field/FieldLocator') + break case 'FieldNumber': field = () => import('@/components/ADempiere/Field/FieldNumber') break diff --git a/src/store/modules/ADempiere/data.js b/src/store/modules/ADempiere/data.js index 622ecef7..4e5cf447 100644 --- a/src/store/modules/ADempiere/data.js +++ b/src/store/modules/ADempiere/data.js @@ -484,7 +484,8 @@ const data = { const { parentUuid, containerUuid, tableName, query, whereClause, orderByClause, conditionsList = [], - isShowNotification = true, isParentTab = true, isAddRecord = false + isShowNotification = true, isParentTab = true, isAddRecord = false, + isAddDefaultValues = true } = parameters if (isShowNotification) { showMessage({ @@ -515,11 +516,14 @@ const data = { }) // gets the default value of the fields (including whether it is empty or undefined) - const defaultValues = rootGetters.getParsedDefaultValues({ - parentUuid: parentUuid, - containerUuid: containerUuid, - isGetServer: false - }) + let defaultValues = {} + if (isAddDefaultValues) { + defaultValues = rootGetters.getParsedDefaultValues({ + parentUuid, + containerUuid, + isGetServer: false + }) + } return getEntitiesList({ tableName, query, @@ -537,9 +541,10 @@ const data = { values.isEdit = false values.isSelected = false values.isReadOnlyFromRow = false - - if (inEdited.find(itemEdit => itemEdit.UUID === values.UUID)) { - values.isEdit = true + if (isAddDefaultValues) { + if (inEdited.find(itemEdit => itemEdit.UUID === values.UUID)) { + values.isEdit = true + } } // overwrite default values and sets the values obtained from the diff --git a/src/utils/ADempiere/references.js b/src/utils/ADempiere/references.js index 65444e6c..d35aed58 100644 --- a/src/utils/ADempiere/references.js +++ b/src/utils/ADempiere/references.js @@ -284,7 +284,7 @@ export const LOCATOR_WAREHOUSE = { id: 31, isSupported: true, valueType: 'INTEGER', - componentPath: 'FieldSelect', + componentPath: 'FieldLocator', size: { xs: 24, sm: 12,