-
-
-
-
@@ -77,6 +81,21 @@ export default {
+
+
diff --git a/src/filters/ADempiere/index.js b/src/filters/ADempiere/index.js
new file mode 100644
index 00000000..cb8b12cb
--- /dev/null
+++ b/src/filters/ADempiere/index.js
@@ -0,0 +1,20 @@
+import moment from 'moment'
+
+/**
+ *
+ * @param {number} value
+ * @param {string} type, Date, DateTime, Time
+ */
+export function formatDate(value, referenceType = 'DateTime') {
+ if (typeof value === 'number') {
+ var dateTime = moment.utc(value)
+ var format = 'YYYY-MM-DD HH:mm'
+ if (referenceType === 'Time') {
+ format = 'HH:mm'
+ } else if (referenceType === 'Date') {
+ format = 'YYYY-MM-DD'
+ }
+ return dateTime.format(format)
+ }
+ return null
+}
diff --git a/src/filters/index.js b/src/filters/index.js
index f6a28488..380e90b1 100644
--- a/src/filters/index.js
+++ b/src/filters/index.js
@@ -66,3 +66,5 @@ export function toThousandFilter(num) {
export function uppercaseFirst(string) {
return string.charAt(0).toUpperCase() + string.slice(1)
}
+
+export * from '@/filters/ADempiere/'
diff --git a/src/lang/ADempiere/en.js b/src/lang/ADempiere/en.js
new file mode 100644
index 00000000..da442a3a
--- /dev/null
+++ b/src/lang/ADempiere/en.js
@@ -0,0 +1,258 @@
+export default {
+ route: {
+ dashboard: 'Dashboard',
+ documentation: 'Documentation',
+ guide: 'Guide',
+ forgotPassword: 'Forgot Password?',
+ userEnrollment: 'Check in',
+ page401: '401',
+ page404: '404',
+ profile: 'Profile',
+ ProcessActivity: 'Process Activity',
+ Role: 'Role',
+ ReportViewer: 'Report Viewer'
+ },
+ notifications: {
+ // simplex
+ completed: 'Completed',
+ loading: 'Loading',
+ succesful: 'Successful',
+ error: 'Error',
+ opened: 'Opened',
+ // search
+ searching: 'Searching records on the server',
+ succcessSearch: 'The search has been made',
+ searchWithOutRecords: 'The search ended without results',
+ errorSearch: 'The search has not been completed',
+ // process
+ processing: 'Processing',
+ processExecuted: 'Executed, see process activity',
+ processError: 'Was not executed',
+ //
+ emptyValues: 'Parameter(s) empty value',
+ fieldMandatory: 'The field is mandatory',
+ requestError: 'Error executing the request',
+ successChangeRole: 'The role has been changed',
+ errorChangeRole: 'The role has not been changed',
+ copySuccessful: 'Copied',
+ copyUnsuccessful: 'Error, unable to copy',
+ mandatoryFieldMissing: 'Missing fill in the fields ',
+ updateFields: 'The record is updated with the field ',
+ invalidEmailFormat: 'Invalid email format'
+ },
+ navbar: {
+ badge: {
+ Notifications: 'Notifications',
+ link: 'go to ProccesActivity'
+ },
+ dashboard: 'Dashboard',
+ github: 'Github',
+ logOut: 'Log Out',
+ profile: 'Profile',
+ theme: 'Theme',
+ size: 'Global Size'
+ },
+ login: {
+ noValidUser: 'Please enter the correct user name',
+ noValidPassword: 'The password can not be empty',
+ invalidLogin: 'User Id or Password invalid',
+ unexpectedError: 'An unexpected error has occurred, try again',
+ capsLock: 'Caps lock is On',
+ title: 'Login Form',
+ submit: 'Submit',
+ logIn: 'Login',
+ name: 'Name',
+ lastName: 'Last name',
+ eMail: 'Email',
+ userName: 'User name',
+ userNameOrEmail: 'User name or Email',
+ userEnrollment: 'Enrollment user',
+ userEnrollmentSuccessful: 'Successful user enrollment, check your email',
+ passwordResetSendLink: 'The link to reset the password was sent to the email ',
+ password: 'Password',
+ passwordNew: 'New password',
+ passwordConfirm: 'Password confirm',
+ passwordConfirmNew: 'New password confirm',
+ any: 'any',
+ thirdparty: 'Or connect with',
+ thirdpartyTips: 'Can not be simulated on local, so please combine you own business simulation.',
+ invalidToken: 'The token used is invalid.',
+ passwordReset: 'Password Reset',
+ createPassword: 'Create password',
+ passwordResetSuccessful: 'Password reset was successful',
+ passwordAndConfirmNotMatch: 'The new password and your confirmation do not match.'
+ },
+ documentation: {
+ documentation: 'Documentation',
+ github: 'Github Repository'
+ },
+ permission: {
+ addRole: 'New Role',
+ editPermission: 'Edit',
+ roles: 'Your roles',
+ switchRoles: 'Switch roles',
+ tips: 'In some cases, using v-permission will have no effect. For example: Element-UI el-tab or el-table-column and other scenes that dynamically render dom. You can only do this with v-if.',
+ delete: 'Delete',
+ confirm: 'Confirm',
+ cancel: 'Cancel'
+ },
+ guide: {
+ description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ',
+ button: 'Show Guide'
+ },
+ components: {
+ date: {
+ Today: 'Today',
+ Yesterday: 'Yesterday',
+ Week: 'Last week',
+ LastMonth: 'Last month',
+ CurrentMonth: 'The current month'
+ },
+ documentation: 'Documentation',
+ binaryButton: 'Upload file',
+ binaryTip: 'Only files with a size smaller than 500kb',
+ imageError: 'The image exceeds 2MB and does not comply with the valid formats!',
+ contextMenuRelations: 'Relations',
+ contextMenuActions: 'Actions',
+ contextMenuReferences: 'References',
+ RunProcess: 'Run',
+ ChangeParameters: 'Change Parameters',
+ RunProcessAs: 'Run As',
+ ExportTo: 'Export to',
+ contextMenuDownload: 'Download',
+ contextMenuShareLink: 'Share Link',
+ contextMenuRefresh: 'Refresh',
+ contextMennuExport: 'Export Smart Browser',
+ contextMennuWindowReport: 'Window Report ',
+ dateStartPlaceholder: 'Start date',
+ dateEndPlaceholder: 'End date',
+ timePlaceholder: 'Select time',
+ dialogCancelButton: 'Cancel',
+ dialogConfirmButton: 'Confirm',
+ filterableItems: 'Optional Columns',
+ fixedleItems: 'Fixed Columns',
+ resetAllFilters: 'Reset all filters',
+ switchActiveText: 'Yes',
+ switchInactiveText: 'Not',
+ contextFieldTitle: 'Context Information'
+ },
+ views: {
+ SmartBrowser: 'Smart Browser',
+ Process: 'Process',
+ Window: 'Window',
+ Report: 'Report',
+ Workflow: 'Workflow',
+ Task: 'Task',
+ Form: 'Form',
+ noProcess: 'Not process running',
+ logs: 'Summary',
+ log: 'Summary',
+ seeReport: 'See Report',
+ summary: 'Summary',
+ viewsHelp: 'Help',
+ searchCriteria: 'Search Criteria',
+ unsupportedSorry: 'Sorry',
+ unsupportedHeadline: 'This view is currently unavailable',
+ unsupportedInfo: 'Please check that the view is supported in this version, or click the button below to return to the homepage.',
+ unsupportedButton: 'Back to dashboard'
+ },
+ table: {
+ ProcessActivity: {
+ name: 'Name',
+ zoomIn: 'Zoom in',
+ description: 'Description',
+ actions: 'Action',
+ status: 'Status',
+ Logs: 'Summary',
+ summary: 'Summary',
+ Help: 'Help',
+ FileName: 'FileName',
+ Output: 'Output'
+ },
+ dataTable: {
+ search: 'Search',
+ records: 'Records',
+ selected: 'Selected',
+ deleteSelection: 'Delete Selected Records',
+ advancedQuery: 'Advanced Query',
+ showOnlyMandatoryColumns: 'Show Only Mandatory Columns',
+ showAllAvailableColumns: 'Show All Available Columns'
+ },
+ recentItems: {
+ search: 'Filter by name, description or date',
+ date: 'Date',
+ name: 'Name',
+ description: 'Description'
+ }
+ },
+ example: {
+ warning: 'Creating and editing pages cannot be cached by keep-alive because keep-alive include does not currently support caching based on routes, so it is currently cached based on component name. If you want to achieve a similar caching effect, you can use a browser caching scheme such as localStorage. Or do not use keep-alive include to cache all pages directly. See details'
+ },
+ errorLog: {
+ tips: 'Please click the bug icon in the upper right corner',
+ description: 'Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.',
+ documentation: 'Document introduction'
+ },
+ excel: {
+ export: 'Export',
+ selectedExport: 'Export Selected Items',
+ placeholder: 'Please enter the file name (default excel-list)'
+ },
+ zip: {
+ export: 'Export',
+ placeholder: 'Please enter the file name (default file)'
+ },
+ pdf: {
+ tips: 'Here we use window.print() to implement the feature of downloading PDF.'
+ },
+ theme: {
+ change: 'Change Theme',
+ documentation: 'Theme documentation',
+ tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.'
+ },
+ tagsView: {
+ refresh: 'Refresh',
+ close: 'Close',
+ closeOthers: 'Close Others',
+ closeAll: 'Close All',
+ newRecord: 'New Record',
+ seeRecord: 'See Record',
+ advancedQuery: 'Advanced Query'
+ },
+ settings: {
+ title: 'Page style setting',
+ theme: 'Theme Color',
+ tagsView: 'Open Tags-View',
+ fixedHeader: 'Fixed Header',
+ sidebarLogo: 'Sidebar Logo'
+ },
+ profile: {
+ aboutMe: 'About Me',
+ recentItems: 'Recent Items',
+ recentItemsName: 'Name Recent Items',
+ role: 'Role',
+ availableRoles: 'Available roles',
+ currentRole: 'Current role',
+ clientName: 'Client name',
+ description: 'Description',
+ changeRole: 'Change role',
+ changeLanguage: 'Change language',
+ changeLanguagePlaceholder: 'Choose a language'
+ },
+ window: {
+ newRecord: 'New Record',
+ deleteRecord: 'Delete Record',
+ undoNew: 'Undo New Record'
+ },
+ data: {
+ emtpyTableName: 'Error: Table Name is not defined',
+ errorGetData: 'Error getting data records',
+ createRecordSuccessful: 'New record created successfully',
+ createNewRecord: 'Mode New record',
+ createRecordError: 'Error creating new record',
+ deleteRecordSuccessful: 'Record deleted successfully',
+ deleteRecordError: 'Error deleting record',
+ selectionRequired: 'You must select a record',
+ undo: 'Undo'
+ }
+}
diff --git a/src/lang/ADempiere/es.js b/src/lang/ADempiere/es.js
new file mode 100644
index 00000000..4785c6a0
--- /dev/null
+++ b/src/lang/ADempiere/es.js
@@ -0,0 +1,233 @@
+export default {
+ route: {
+ dashboard: 'Panel de control',
+ documentation: 'Documentación',
+ forgotPassword: '¿Olvidó su Contraseña?',
+ userEnrollment: 'Registrarse',
+ guide: 'Guía',
+ page401: '401',
+ page404: '404',
+ profile: 'Perfil',
+ ProcessActivity: 'Actividad de Procesos',
+ Role: 'Rol',
+ ReportViewer: 'Visor de Reportes'
+ },
+ notifications: {
+ // simplex
+ completed: 'Completado',
+ loading: 'Cargando',
+ succesful: 'Exitoso',
+ error: 'Error',
+ opened: 'Abierto',
+ // search
+ searching: 'Buscando registros en el servidor',
+ succcessSearch: 'La búsqueda se ha realizado',
+ searchWithOutRecords: 'La búsqueda finalizo sin resultados',
+ errorSearch: 'La búsqueda no se ha completado.',
+ // process
+ processing: 'Procesando',
+ processExecuted: 'Ejecutado, ver actividad de proceso',
+ processError: 'No fue ejecutado',
+ //
+ emptyValues: 'Parametro(s) con valores vacios',
+ fieldMandatory: 'El campo es obligatorio',
+ requestError: 'Error al ejecutar la petición',
+ successChangeRole: 'El rol se ha cambiado',
+ errorChangeRole: 'El rol no se ha cambiado',
+ copySuccessful: 'Copiado',
+ copyUnsuccessful: 'Error, no se puede copiar',
+ mandatoryFieldMissing: 'Falta completar los campos ',
+ updateFields: 'Se actualiza el registro con el campo ',
+ invalidEmailFormat: 'Formato de correo electronico invalido'
+ },
+ navbar: {
+ badge: {
+ Notifications: 'Notificaciones',
+ link: 'ir a actividad de proceso'
+ },
+ logOut: 'Salir',
+ dashboard: 'Panel de control',
+ github: 'Github',
+ theme: 'Tema',
+ size: 'Tamaño global',
+ profile: 'Perfil'
+ },
+ login: {
+ noValidUser: 'Por favor ingrese el nombre de usuario correcto',
+ noValidPassword: 'La contraseña no puede estar vacía',
+ invalidLogin: 'ID de usuario o contraseña no válida',
+ unexpectedError: 'Se ha producido un error inesperado, intente nuevamente',
+ capsLock: 'Bloqueo de mayúsculas activado',
+ title: 'Formulario de acceso',
+ submit: 'Enviar',
+ logIn: 'Acceso',
+ name: 'Nombre',
+ lastName: 'Apellido',
+ eMail: 'Correo electronico',
+ userName: 'Usuario',
+ userNameOrEmail: 'Usuario o Correo',
+ userEnrollment: 'Registrar usuario',
+ userEnrollmentSuccessful: 'Registro de usuario exitoso, verifique su correo electronico',
+ passwordResetSendLink: 'El enlace para reiniciar la contraseña se envio al correo ',
+ password: 'Contraseña',
+ passwordNew: 'Nueva contraseña',
+ passwordConfirm: 'Confirmar contraseña',
+ passwordConfirmNew: 'Confirmación de nueva contraseña',
+ any: 'nada',
+ thirdparty: 'Conectar con',
+ thirdpartyTips: 'No se puede simular en local, así que combine su propia simulación de negocios.',
+ invalidToken: 'El token utilizado es inválido.',
+ passwordReset: 'Reiniciar contraseña',
+ createPassword: 'Crear contraseña',
+ passwordResetSuccessful: 'El reinicio de contraseña se realizo correctamente',
+ passwordAndConfirmNotMatch: 'La contraseña nueva y su confirmación no coinciden.'
+ },
+ documentation: {
+ documentation: 'Documentación',
+ github: 'Repositorio Github'
+ },
+ permission: {
+ addRole: 'Nuevo rol',
+ editPermission: 'Permiso de edición',
+ roles: 'Tus permisos',
+ switchRoles: 'Cambiar permisos',
+ tips: 'En algunos casos, no es adecuado usar v-permission, como el componente Element Tab o el-table-column y otros casos de dom de representación asíncrona que solo se pueden lograr configurando manualmente v-if.',
+ delete: 'Borrar',
+ confirm: 'Confirmar',
+ cancel: 'Cancelar'
+ },
+ guide: {
+ description: 'La página de guía es útil para algunas personas que ingresaron al proyecto por primera vez. Puede introducir brevemente las características del proyecto. Demo se basa en ',
+ button: 'Ver guía'
+ },
+ components: {
+ date: {
+ Today: 'Hoy',
+ Yesterday: 'Ayer',
+ Week: 'La semana pasada',
+ LastMonth: 'El mes pasado',
+ CurrentMonth: 'El mes actual'
+ },
+ documentation: 'Documentación',
+ binaryButton: 'Subir archivo',
+ binaryTip: 'Solo archivos con un tamaño menor a 500kb',
+ imageError: 'La imagen excede los 2MB y no cumple con los formato validos!',
+ contextMenuRelations: 'Relaciones',
+ contextMenuActions: 'Acciones',
+ contextMenuReferences: 'Referencias',
+ contextMenuDownload: 'Descargar',
+ contextMenuShareLink: 'Compartir Link',
+ contextMenuRefresh: 'Actualizar',
+ contextMennuExport: 'Exportar Smart Browser',
+ contextMennuWindowReport: 'Informe de Ventana',
+ RunProcess: 'Ejecutar',
+ ChangeParameters: 'Cambiar Parametros',
+ RunProcessAs: 'Ejecutar como',
+ ExportTo: 'Exportar a',
+ dateStartPlaceholder: 'Fecha inicial',
+ dateEndPlaceholder: 'Fecha final',
+ timePlaceholder: 'Seleccione tiempo',
+ dialogCancelButton: 'Cancelar',
+ dialogConfirmButton: 'Confirmar',
+ filterableItems: 'Columnas Opcionales',
+ fixedleItems: 'Columnas Fijas',
+ resetAllFilters: 'Reiniciar todos los filtros',
+ switchActiveText: 'Si',
+ switchInactiveText: 'No',
+ contextFieldTitle: 'Información de Contexto'
+ },
+ views: {
+ SmartBrowser: 'Consulta Inteligente',
+ Process: 'Proceso',
+ Window: 'Ventana',
+ Report: 'Reporte',
+ Workflow: 'Flujo de Trabajo',
+ Task: 'Tarea',
+ Form: 'Formulario',
+ noProcess: 'No hay procesos en ejecución',
+ logs: 'Resumen',
+ log: 'Bitacora',
+ seeReport: 'Ver Reporte',
+ summary: 'Resumen',
+ viewsHelp: 'Ayuda',
+ searchCriteria: 'Criterio de Búsqueda',
+ unsupportedSorry: 'Lo sentimos',
+ unsupportedHeadline: 'Esta vista no está disponible actualmente',
+ unsupportedInfo: 'Verifique que la vista sea compatible con esta versión, o haga clic en el botón a continuación para volver a la página de inicio.',
+ unsupportedButton: 'Volver al Panel de control'
+ },
+ table: {
+ ProcessActivity: {
+ Name: 'Nombre',
+ zoomIn: 'Acercar',
+ Description: 'Descripción',
+ FileName: 'Nombre de Archivo',
+ Output: 'Salida',
+ Action: 'Acción',
+ Status: 'Estado',
+ Logs: 'Resumen',
+ Summary: 'Resumen',
+ Help: 'Ayuda'
+ },
+ dataTable: {
+ search: 'Buscar',
+ records: 'Registros',
+ selected: 'Seleccionados',
+ deleteSelection: 'Eliminar Registros Seleccionados',
+ advancedQuery: 'Consulta Avanzada',
+ showOnlyMandatoryColumns: 'Mostrar Solo Columnas Obligatorias',
+ showAllAvailableColumns: 'Mostrar Todas Columnas Disponibles'
+ },
+ recentItems: {
+ search: 'Filtrar por nombre, descripción o fecha',
+ date: 'Fecha',
+ name: 'Nombre',
+ description: 'Descripción'
+ }
+ },
+ tagsView: {
+ refresh: 'Actualizar',
+ close: 'Cerrar',
+ closeOthers: 'Cerrar otros',
+ closeAll: 'Cerrar todos',
+ newRecord: 'Nuevo Registro',
+ seeRecord: 'Ver Registro',
+ advancedQuery: 'Consulta Avanzada'
+ },
+ settings: {
+ title: 'Configuración de estilo de página',
+ theme: 'Color del tema',
+ tagsView: 'Habilitar Tags-View',
+ fixedHeader: 'Encabezado fijo',
+ sidebarLogo: 'Logotipo de la barra lateral'
+ },
+ profile: {
+ aboutMe: 'Sobre Mi',
+ recentItems: 'Artículos Recientes',
+ recentItemsName: 'Nombre Ítems Recientes',
+ role: 'Rol',
+ availableRoles: 'Roles disponibles',
+ currentRole: 'Rol actual',
+ clientName: 'Nombre del cliente',
+ description: 'Descripción',
+ changeRole: 'Cambiar rol',
+ changeLanguage: 'Cambiar idioma',
+ changeLanguagePlaceholder: 'Elija un idioma'
+ },
+ window: {
+ newRecord: 'Nuevo Registro',
+ deleteRecord: 'Eliminar Registro',
+ undoNew: 'Descartar Nuevo Registro'
+ },
+ data: {
+ emtpyTableName: 'Error: El nombre de la tabla no esta definida',
+ errorGetData: 'Error obteniendo los datos de registro',
+ createRecordSuccessful: 'Nuevo registro creado con exito',
+ createNewRecord: 'Modo nuevo registro',
+ createRecordError: 'Error al crear nuevo registro',
+ deleteRecordSuccessful: 'Registro eliminado exitosamente',
+ deleteRecordError: 'Error al eliminar el regitro',
+ selectionRequired: 'Debe seleccionar un registro',
+ undo: 'Deshacer'
+ }
+}
diff --git a/src/lang/index.js b/src/lang/index.js
index 1799ae7f..dc50fb48 100644
--- a/src/lang/index.js
+++ b/src/lang/index.js
@@ -9,13 +9,43 @@ import enLocale from './en'
import zhLocale from './zh'
import esLocale from './es'
import jaLocale from './ja'
+import esADempiere from './ADempiere/es'
+import enADempiere from './ADempiere/en'
Vue.use(VueI18n)
+const dateTimeFormats = {
+ 'en': {
+ long: {
+ year: 'numeric',
+ month: 'long',
+ day: '2-digit',
+ weekday: 'long',
+ hour: '2-digit',
+ minute: '2-digit',
+ second: '2-digit',
+ hour12: false
+ }
+ },
+ 'es': {
+ long: {
+ year: 'numeric',
+ month: 'long',
+ day: '2-digit',
+ weekday: 'long',
+ hour: '2-digit',
+ minute: '2-digit',
+ second: '2-digit',
+ hour12: true
+ }
+ }
+}
+
const messages = {
en: {
...enLocale,
- ...elementEnLocale
+ ...elementEnLocale,
+ ...enADempiere
},
zh: {
...zhLocale,
@@ -23,7 +53,8 @@ const messages = {
},
es: {
...esLocale,
- ...elementEsLocale
+ ...elementEsLocale,
+ ...esADempiere
},
ja: {
...jaLocale,
@@ -48,8 +79,10 @@ const i18n = new VueI18n({
// set locale
// options: en | zh | es
locale: getLanguage(),
+ fallbackLocale: 'en',
// set locale messages
- messages
+ messages,
+ dateTimeFormats
})
export default i18n
diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue
index 92ca2c88..20eda0b0 100644
--- a/src/layout/components/AppMain.vue
+++ b/src/layout/components/AppMain.vue
@@ -1,5 +1,5 @@
-
+
@@ -16,7 +16,7 @@ export default {
return this.$store.state.tagsView.cachedViews
},
key() {
- return this.$route.fullPath
+ return this.$route.path
}
}
}
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 9d5c6658..8e701db8 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -1,26 +1,12 @@
-
-
-
-
+
diff --git a/src/views/ADempiere/Process/index.vue b/src/views/ADempiere/Process/index.vue
new file mode 100644
index 00000000..17331d3d
--- /dev/null
+++ b/src/views/ADempiere/Process/index.vue
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ processMetadata.name }}
+
+
+
+ {{ processMetadata.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/ADempiere/ProcessActivity/index.vue b/src/views/ADempiere/ProcessActivity/index.vue
new file mode 100644
index 00000000..05f9c64c
--- /dev/null
+++ b/src/views/ADempiere/ProcessActivity/index.vue
@@ -0,0 +1,280 @@
+
+
+
+
+
+
+
{{ activity.name }}
+
+
+
+ {{ $t('components.contextMenuActions') }}
+
+
+
+ {{ $t('views.seeReport') }}
+
+
+ {{ $t('table.ProcessActivity.zoomIn') }}
+
+
+
+
+
+
+
+
+ {{ activity.description }}
+ {{ activity.output.description }}
+
+
+
+
+
+ {{ activity.message }}
+
+
+ {{ checkStatus(activity.isError, activity.isProcessing, activity.isReport).text }}
+
+
+
+
+ {{ $t('table.ProcessActivity.Logs') }}
+
+ - {{ activity.summary }}
+
+ -
+ {{ item.log }}
+
+
+
+
+ {{ checkStatus(activity.isError, activity.isProcessing, activity.isReport).text }}
+
+
+
+
+
+
{{ $t('table.ProcessActivity.Output') }}
+
{{ $t('table.ProcessActivity.Name') }}: {{ activity.output.name }}
+
{{ $t('table.ProcessActivity.Description') }}: {{ activity.output.description }}
+
{{ $t('table.ProcessActivity.FileName') }}: {{ activity.output.fileName }}
+
+ {{ $t('components.contextMenuDownload') }}
+
+
+
+ {{ checkStatus(activity.isError, activity.isProcessing, activity.isReport).text }}
+
+
+
+ {{ checkStatus(activity.isError, activity.isProcessing, activity.isReport).text }}
+
+
+
+
+
+
+
+
+
{{ $t('views.noProcess') }}
+
+
+
+
+
+
+
diff --git a/src/views/ADempiere/ReportViewer/index.vue b/src/views/ADempiere/ReportViewer/index.vue
new file mode 100644
index 00000000..b549cc5e
--- /dev/null
+++ b/src/views/ADempiere/ReportViewer/index.vue
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+
+
+ {{ processMetadata.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/ADempiere/Summary/index.vue b/src/views/ADempiere/Summary/index.vue
new file mode 100644
index 00000000..9b5d326c
--- /dev/null
+++ b/src/views/ADempiere/Summary/index.vue
@@ -0,0 +1,68 @@
+
+
+
+
{{ $route.meta.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/ADempiere/Unsupported/index.vue b/src/views/ADempiere/Unsupported/index.vue
new file mode 100644
index 00000000..aaa50f81
--- /dev/null
+++ b/src/views/ADempiere/Unsupported/index.vue
@@ -0,0 +1,102 @@
+
+
+
+
{{ $t('views.unsupportedSorry') }}
+
{{ $t('views.unsupportedHeadline') }}
+
{{ $t('views.unsupportedInfo') }}
+
{{ $t('views.unsupportedButton') }}
+
+
+
+
+
+
+
diff --git a/src/views/ADempiere/Window/index.vue b/src/views/ADempiere/Window/index.vue
new file mode 100644
index 00000000..5b6c2f8c
--- /dev/null
+++ b/src/views/ADempiere/Window/index.vue
@@ -0,0 +1,572 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/dashboard/admin/index.vue b/src/views/dashboard/admin/index.vue
index a766f04a..36787f74 100644
--- a/src/views/dashboard/admin/index.vue
+++ b/src/views/dashboard/admin/index.vue
@@ -28,7 +28,7 @@
-
+
@@ -47,9 +47,10 @@ import LineChart from './components/LineChart'
import RaddarChart from './components/RaddarChart'
import PieChart from './components/PieChart'
import BarChart from './components/BarChart'
-import TransactionTable from './components/TransactionTable'
+// import TransactionTable from './components/TransactionTable'
import TodoList from './components/TodoList'
import BoxCard from './components/BoxCard'
+import RecentItems from '@/components/ADempiere/RecentItems'
const lineChartData = {
newVisitis: {
@@ -79,9 +80,10 @@ export default {
RaddarChart,
PieChart,
BarChart,
- TransactionTable,
+ // TransactionTable,
TodoList,
- BoxCard
+ BoxCard,
+ RecentItems
},
data() {
return {
diff --git a/src/views/dashboard/editor/index.vue b/src/views/dashboard/editor/index.vue
index 9723bcce..d760a87e 100644
--- a/src/views/dashboard/editor/index.vue
+++ b/src/views/dashboard/editor/index.vue
@@ -3,11 +3,11 @@
Your roles:
- {{ item }}
+ {{ currentRole }}
- {{ name }}
+ {{ currentRole }}
Editor's Dashboard
@@ -31,10 +31,14 @@ export default {
}
},
computed: {
+ currentRole() {
+ return this.$store.getters.currentRole
+ },
...mapGetters([
'name',
'avatar',
- 'roles'
+ 'roles',
+ 'currentRole'
])
}
}
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index 1720ea8f..86a53137 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -21,11 +21,6 @@ export default {
...mapGetters([
'roles'
])
- },
- created() {
- if (!this.roles.includes('admin')) {
- this.currentRole = 'editorDashboard'
- }
}
}
diff --git a/src/views/login/forgotPassword.vue b/src/views/login/forgotPassword.vue
new file mode 100644
index 00000000..ca0ccf5c
--- /dev/null
+++ b/src/views/login/forgotPassword.vue
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+
+
+
+
+ {{ $t('route.forgotPassword') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('login.submit') }}
+
+
+
+ {{ $t('login.title') }}
+
+
+
+
+
+
+
+
+
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 27f11ef5..362641aa 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -1,30 +1,36 @@
+
+
+
+
+
+
+
+ {{ $t('login.title') }}
+
+
+
+
+
-
-
- {{ $t('login.title') }}
-
-
-
-
-
+
-
+
@@ -47,26 +53,33 @@
-
-
+
{{ $t('login.logIn') }}
+
+ {{ $t('route.forgotPassword') }}
+
+
+ {{ $t('route.userEnrollment') }}
+
-
+
- {{ $t('login.username') }} : admin
- {{ $t('login.password') }} : {{ $t('login.any') }}
+
+
-
- {{ $t('login.username') }} : editor
-
- {{ $t('login.password') }} : {{ $t('login.any') }}
+
+
-
-
- {{ $t('login.thirdparty') }}
-
@@ -81,7 +94,6 @@
@@ -296,7 +295,7 @@ $light_gray:#eee;
.title {
font-size: 26px;
color: $light_gray;
- margin: 0px auto 40px auto;
+ margin: 10px auto 40px auto;
text-align: center;
font-weight: bold;
}
diff --git a/src/views/login/setPassword.vue b/src/views/login/setPassword.vue
new file mode 100644
index 00000000..d05242d1
--- /dev/null
+++ b/src/views/login/setPassword.vue
@@ -0,0 +1,325 @@
+
+
+
+
+
+
+
+
+
+
+ {{ $t(`login.${formName}`) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('login.submit') }}
+
+
+
+ {{ $t('login.title') }}
+
+
+
+
+
+
+
+
+
diff --git a/src/views/login/userEnrollment.vue b/src/views/login/userEnrollment.vue
new file mode 100644
index 00000000..97651d5b
--- /dev/null
+++ b/src/views/login/userEnrollment.vue
@@ -0,0 +1,407 @@
+
+
+
+
+
+
+
+
+
+
+ {{ $t('login.userEnrollment') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('login.submit') }}
+
+
+
+ {{ $t('login.title') }}
+
+
+
+
+
+
+
+
+
diff --git a/src/views/permission/directive.vue b/src/views/permission/directive.vue
index b3ef8c37..acab818f 100644
--- a/src/views/permission/directive.vue
+++ b/src/views/permission/directive.vue
@@ -94,7 +94,7 @@ export default {
/deep/ .permission-alert {
width: 320px;
margin-top: 15px;
- background-color: #f0f9eb;
+ background-color: #ffffff;
color: #67c23a;
padding: 8px 16px;
border-radius: 4px;
@@ -108,4 +108,3 @@ export default {
}
}
-
diff --git a/src/views/profile/components/Profile.vue b/src/views/profile/components/Profile.vue
new file mode 100644
index 00000000..68079743
--- /dev/null
+++ b/src/views/profile/components/Profile.vue
@@ -0,0 +1,102 @@
+
+
+
+
+ {{ getRol.clientName }}
+
+
+
+
+
+
+
+
diff --git a/src/views/profile/components/RolesNavbar.vue b/src/views/profile/components/RolesNavbar.vue
new file mode 100644
index 00000000..df207b5d
--- /dev/null
+++ b/src/views/profile/components/RolesNavbar.vue
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/profile/components/UserCard.vue b/src/views/profile/components/UserCard.vue
index c2ce1aa8..270c4694 100644
--- a/src/views/profile/components/UserCard.vue
+++ b/src/views/profile/components/UserCard.vue
@@ -1,19 +1,24 @@
- About me
+ {{ $t('profile.aboutMe') }}
Hello
- {{ user.role }}
+ {{ getRol.name }}
-
{{ user.name }}
-
{{ user.role | uppercaseFirst }}
+
{{ getRol.name }}
+
+ {{ $t('profile.availableRoles') }}
+
+ {{ item.name | uppercaseFirst }}
+
+
@@ -69,6 +74,14 @@ export default {
}
}
}
+ },
+ computed: {
+ getRol() {
+ return this.$store.getters['user/getRol']
+ },
+ getRoles() {
+ return this.$store.getters['user/getRoles']
+ }
}
}
diff --git a/src/views/profile/components/recentItems.vue b/src/views/profile/components/recentItems.vue
new file mode 100644
index 00000000..a13cafa8
--- /dev/null
+++ b/src/views/profile/components/recentItems.vue
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+ {{ item.displayName }}
+ {{ $t('notifications.opened') }}
+
+ {{ item.description }}
+
+
+
+
+
+
+
diff --git a/src/views/profile/components/role.vue b/src/views/profile/components/role.vue
new file mode 100644
index 00000000..7e199626
--- /dev/null
+++ b/src/views/profile/components/role.vue
@@ -0,0 +1,155 @@
+
+
+
+ {{ getRol.name }}
+
+
+
+ {{ getRol.clientName }}
+
+
+
+ {{ getRol.description }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/profile/index.vue b/src/views/profile/index.vue
index 87e4f94f..1e901d23 100644
--- a/src/views/profile/index.vue
+++ b/src/views/profile/index.vue
@@ -10,14 +10,11 @@
-
-
+
+
-
-
-
-
-
+
+
@@ -31,17 +28,16 @@