diff --git a/src/components/ADempiere/DataTable/index.vue b/src/components/ADempiere/DataTable/index.vue index 71561e1d..68d52107 100644 --- a/src/components/ADempiere/DataTable/index.vue +++ b/src/components/ADempiere/DataTable/index.vue @@ -65,6 +65,9 @@ + + {{ $t('table.ProcessActivity.zoomIn') }} + {{ $t('components.filterableItems') }} @@ -588,6 +591,9 @@ export default { return true } return false + }, + permissionRoutes() { + return this.$store.getters.permission_routes } }, watch: { @@ -1115,6 +1121,28 @@ export default { }) } return styleSheet + }, + zoomRecord() { + const browserMetadata = this.$store.getters.getBrowser(this.$route.meta.uuid) + const elementName = browserMetadata.fieldList.find(field => field.columnName === browserMetadata.keyColumn).elementName + const records = [] + this.getDataSelection.forEach(record => { + if (!isNaN(record[browserMetadata.keyColumn])) { + records.push(Number(record[browserMetadata.keyColumn])) + } else { + records.push(record[browserMetadata.keyColumn]) + } + }) + + this.$store.dispatch('getWindowByUuid', { routes: this.permissionRoutes, windowUuid: browserMetadata.window.uuid }) + var windowRoute = this.$store.getters.getWindowRoute(browserMetadata.window.uuid) + this.$router.push({ + name: windowRoute.name, + query: { + action: 'advancedQuery', + [elementName]: records + } + }) } } } diff --git a/src/store/modules/ADempiere/panel.js b/src/store/modules/ADempiere/panel.js index d60e085e..541383df 100644 --- a/src/store/modules/ADempiere/panel.js +++ b/src/store/modules/ADempiere/panel.js @@ -1201,6 +1201,11 @@ const panel = { .map(parameterItem => { var value = row ? row[parameterItem.columnName] : parameterItem.value var valueTo = row ? row[`${parameterItem.columnName}_To`] : parameterItem.valueTo + let values = [] + if (Array.isArray(value)) { + values = value + value = undefined + } if (isConvertedDateToTimestamp) { if (['FieldDate', 'FieldTime'].includes(parameterItem.componentPath) && @@ -1221,7 +1226,8 @@ const panel = { return { columnName: parameterItem.columnName, - value: value + value: value, + values: values } }) diff --git a/src/utils/ADempiere/valueUtils.js b/src/utils/ADempiere/valueUtils.js index 44eccb68..6dcc05cf 100644 --- a/src/utils/ADempiere/valueUtils.js +++ b/src/utils/ADempiere/valueUtils.js @@ -231,7 +231,11 @@ export function parsedValueComponent({ fieldType, value, referenceType, isMandat } else if (typeof value === 'object' && value.hasOwnProperty('query')) { returnValue = value } else { - returnValue = Number(value) + if (Array.isArray(value) && value.length) { + returnValue = value + } else { + returnValue = Number(value) + } } break