Add Export in Zip (#228)

* add download in zip

* Delete Console
pull/3759/head
elsiosanchez 2020-01-20 16:08:55 -04:00 committed by Yamel Senih
parent 3af4d67678
commit 45b53ab6ea
6 changed files with 60 additions and 2 deletions

View File

@ -271,7 +271,7 @@ import MainPanel from '@/components/ADempiere/Panel'
import { sortFields } from '@/utils/ADempiere' import { sortFields } from '@/utils/ADempiere'
import { FIELD_READ_ONLY_FORM } from '@/components/ADempiere/Field/references' import { FIELD_READ_ONLY_FORM } from '@/components/ADempiere/Field/references'
import { fieldIsDisplayed } from '@/utils/ADempiere' import { fieldIsDisplayed } from '@/utils/ADempiere'
import { supportedTypes, exportFileFromJson } from '@/utils/ADempiere/exportUtil' import { supportedTypes, exportFileFromJson, exportFileZip } from '@/utils/ADempiere/exportUtil'
import evaluator from '@/utils/ADempiere/evaluator' import evaluator from '@/utils/ADempiere/evaluator'
export default { export default {
@ -670,6 +670,18 @@ export default {
} }
}) })
}, },
exporZipRecordTable() {
const Header = this.getterFieldListHeader
const filterVal = this.getterFieldListValue
const list = this.getDataSelection
const data = this.formatJson(filterVal, list)
const filename = 'prueba'
exportFileZip(
Header,
data,
filename
)
},
exporRecordTable(key) { exporRecordTable(key) {
const Header = this.getterFieldListHeader const Header = this.getterFieldListHeader
const filterVal = this.getterFieldListValue const filterVal = this.getterFieldListValue

View File

@ -28,6 +28,11 @@
> >
{{ process.name }} {{ process.name }}
</el-menu-item> </el-menu-item>
<el-menu-item
@click="exporZipRecordTable"
>
{{ $t('table.dataTable.exportZip') }}
</el-menu-item>
<el-submenu <el-submenu
:disabled="Boolean(getDataSelection.length < 1)" :disabled="Boolean(getDataSelection.length < 1)"
index="xlsx" index="xlsx"

View File

@ -1,4 +1,4 @@
import { supportedTypes, exportFileFromJson } from '@/utils/ADempiere/exportUtil' import { supportedTypes, exportFileFromJson, exportFileZip } from '@/utils/ADempiere/exportUtil'
import { showNotification } from '@/utils/ADempiere/notification' import { showNotification } from '@/utils/ADempiere/notification'
export const menuTableMixin = { export const menuTableMixin = {
@ -299,6 +299,24 @@ export const menuTableMixin = {
exportType: key exportType: key
}) })
}, },
exporZipRecordTable() {
const Header = this.getterFieldListHeader
const filterVal = this.getterFieldListValue
var list
if (!this.isOption) {
list = this.getDataSelection
} else {
list = this.gettersRecordContextMenu
}
const data = this.formatJson(filterVal, list)
exportFileZip({
header: Header,
data,
filename: '',
exportType: 'zip'
})
},
formatJson(filterVal, jsonData) { formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => v[j])) return jsonData.map(v => filterVal.map(j => v[j]))
} }

View File

@ -193,6 +193,7 @@ export default {
selected: 'Selected', selected: 'Selected',
deleteSelection: 'Delete Selected Records', deleteSelection: 'Delete Selected Records',
advancedQuery: 'Advanced Query', advancedQuery: 'Advanced Query',
exportZip: 'Export Zip',
showOnlyMandatoryColumns: 'Show Only Mandatory Columns', showOnlyMandatoryColumns: 'Show Only Mandatory Columns',
showAllAvailableColumns: 'Show All Available Columns', showAllAvailableColumns: 'Show All Available Columns',
exportRecordTable: 'Export Selected Records', exportRecordTable: 'Export Selected Records',

View File

@ -193,6 +193,7 @@ export default {
selected: 'Seleccionados', selected: 'Seleccionados',
deleteSelection: 'Eliminar Registros Seleccionados', deleteSelection: 'Eliminar Registros Seleccionados',
advancedQuery: 'Consulta Avanzada', advancedQuery: 'Consulta Avanzada',
exportZip: 'Exportar Zip',
showOnlyMandatoryColumns: 'Mostrar Solo Columnas Obligatorias', showOnlyMandatoryColumns: 'Mostrar Solo Columnas Obligatorias',
showAllAvailableColumns: 'Mostrar Todas Columnas Disponibles', showAllAvailableColumns: 'Mostrar Todas Columnas Disponibles',
exportRecordTable: 'Exportar Registros Seleccionados', exportRecordTable: 'Exportar Registros Seleccionados',

View File

@ -1,4 +1,5 @@
import { export_json_to_excel } from '@/vendor/Export2Excel' import { export_json_to_excel } from '@/vendor/Export2Excel'
import { export_txt_to_zip } from '@/vendor/Export2Zip'
import language from '@/lang' import language from '@/lang'
export const supportedTypes = { export const supportedTypes = {
@ -29,3 +30,23 @@ export function exportFileFromJson({
bookType: exportType bookType: exportType
}) })
} }
export function exportFileZip({
header,
data,
title
}) {
var Json = data.map(dataJson => {
Object.keys(dataJson).forEach(key => {
if (typeof dataJson[key] === 'boolean') {
dataJson[key] = dataJson[key] ? language.t('components.switchActiveText') : language.t('components.switchInactiveText')
}
})
return dataJson
})
export_txt_to_zip(
header,
Json,
title
)
}