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,