1
0
mirror of https://github.com/PanJiaChen/vue-element-admin.git synced 2025-08-16 08:55:42 +08:00
EdwinBetanc0urt fd6096b565 redefine API to provide business data (#214)
* Change of main functions of api from the application to the grpc library

* Create entity.
* Update entity.
* Delete entity.
* Request entity.
* Request entities list.
* Rollback entity.
* Run process.
* Browser search.

* Convert API functions to get values.

* migrate CRUD and Browser Search.

* migrate process control and callout control.

* migrate print formats.

* migrate recent items, references, context info value, private access

* migrate pending documents, favorites, language and translations.

* migrate lookups.

* fix: Drill table empty name.

* Change report output.

* Refactor dashboard and language.

* Fix dashboard component.

* Fix dashboards unsupported, and refactor and remove getting values
2020-01-14 15:42:09 -04:00

211 lines
6.2 KiB
JavaScript

import { requestReportViews, requestPrintFormats, requestDrillTables, getReportOutput } from '@/api/ADempiere'
import { isEmptyValue } from '@/utils/ADempiere'
const contextMenu = {
state: {
reportFormatsList: [],
reportViewsList: [],
drillTablesList: [],
reportOutput: {}
},
mutations: {
setReportFormatsList(state, payload) {
state.reportFormatsList.push(payload)
},
setReportViewsList(state, payload) {
state.reportViewsList.push(payload)
},
setDrillTablesList(state, payload) {
state.drillTablesList.push(payload)
},
setNewReportOutput(state, payload) {
state.reportOutput = payload
}
},
actions: {
requestPrintFormats({ commit }, {
processId,
processUuid,
instanceUuid
}) {
return requestPrintFormats({ processUuid })
.then(printFormatResponse => {
const printFormatList = printFormatResponse.printFormatsList.map(printFormatItem => {
return {
...printFormatItem,
type: 'updateReport',
option: 'printFormat',
instanceUuid,
processUuid,
processId
}
})
commit('setReportFormatsList', {
containerUuid: processUuid,
printFormatList
})
return printFormatList
})
.catch(error => {
console.warn(`Error getting print formats: ${error.message}. Code: ${error.code}`)
})
},
requestReportViews({ commit }, {
processId,
processUuid,
instanceUuid,
printFormatUuid
}) {
return requestReportViews({ processUuid })
.then(reportViewResponse => {
const reportViewList = reportViewResponse.reportViewsList.map(reportViewItem => {
return {
...reportViewItem,
type: 'updateReport',
option: 'reportView',
instanceUuid,
printFormatUuid,
processUuid,
processId
}
})
commit('setReportViewsList', {
containerUuid: processUuid,
viewList: reportViewList
})
return reportViewList
})
.catch(error => {
console.warn(`Error getting report views: ${error.message}. Code: ${error.code}`)
})
},
requestDrillTables({ commit }, {
processId,
processUuid,
instanceUuid,
printFormatUuid,
tableName,
reportViewUuid
}) {
return requestDrillTables(tableName)
.then(responseDrillTables => {
const drillTablesList = responseDrillTables.drillTablesList.map(drillTableItem => {
return {
...drillTableItem,
name: drillTableItem.printName,
type: 'updateReport',
option: 'drillTable',
instanceUuid,
printFormatUuid,
reportViewUuid,
processUuid,
processId
}
})
commit('setDrillTablesList', {
containerUuid: processUuid,
drillTablesList
})
return drillTablesList
})
.catch(error => {
console.warn(`Error getting drill tables: ${error.message}. Code: ${error.code}`)
})
},
getReportOutputFromServer({ commit, getters, rootGetters }, parameters) {
if (isEmptyValue(parameters.printFormatUuid)) {
parameters.printFormatUuid = getters.getDefaultPrintFormat(parameters.processUuid).printFormatUuid
}
const {
tableName,
printFormatUuid,
reportViewUuid,
isSummary,
reportName,
reportType,
processUuid,
processId,
instanceUuid,
option
} = parameters
const parametersList = rootGetters.getParametersToServer({ containerUuid: processUuid })
return getReportOutput({
parametersList,
printFormatUuid,
reportViewUuid,
isSummary,
reportName,
reportType,
tableName
})
.then(response => {
const reportOutput = {
...response,
processId: processId,
processUuid: processUuid,
isError: false,
instanceUuid: instanceUuid,
isReport: true,
option: option
}
commit('setNewReportOutput', reportOutput)
return reportOutput
})
.catch(error => {
const reportOutput = {
uuid: '',
processName: '',
description: '',
fileName: '',
output: '',
mimeType: '',
dataCols: null,
dataRows: null,
headerName: '',
footerName: '',
printFormatUuid: '',
reportViewUuid: '',
tableName: '',
outputStream: [],
reportType: '',
processId: null,
processUuid: '',
isError: true,
instanceUuid: '',
isReport: true,
option: ''
}
console.warn(`Error getting report output: ${error.message}. Code: ${error.code}`)
return reportOutput
})
}
},
getters: {
getPrintFormatList: (state) => (containerUuid) => {
var printFormatList = state.reportFormatsList.find(list => list.containerUuid === containerUuid)
if (printFormatList) {
return printFormatList.printFormatList
}
return []
},
getDefaultPrintFormat: (state, getters) => (containerUuid) => {
return getters.getPrintFormatList(containerUuid).find(printFormat => printFormat.isDefault)
},
getReportViewList: (state) => (containerUuid) => {
var reportViewList = state.reportViewsList.find(list => list.containerUuid === containerUuid)
if (reportViewList) {
return reportViewList.viewList
}
return []
},
getDrillTablesList: (state) => (containerUuid) => {
var drillTablesList = state.drillTablesList.find(list => list.containerUuid === containerUuid)
if (drillTablesList) {
return drillTablesList.viewList
}
return []
}
}
}
export default contextMenu