1
0
mirror of https://github.com/PanJiaChen/vue-element-admin.git synced 2025-08-16 17:05:41 +08:00
Edwin Betancourt 0d30213637
fix: Report change print format. (#695)
Co-authored-by: EdwinBetanc0urt <EdwinBetanco0urt@outlook.com>
2021-03-26 17:33:29 -04:00

114 lines
3.1 KiB
JavaScript

import { requestProcessMetadata } from '@/api/ADempiere/dictionary.js'
import { showMessage } from '@/utils/ADempiere'
import { generateProcess } from '@/utils/ADempiere/dictionaryUtils'
import language from '@/lang'
import router from '@/router'
const process = {
state: {
process: []
},
mutations: {
addProcess(state, payload) {
state.process.push(payload)
},
dictionaryResetCacheProcess(state) {
state.process = []
}
},
actions: {
/**
* Get Process/Report metadata from server
* @param {string} containerUuid
* @param {number} processId
* @param {object} routeToDelete, route to close in tagView when fail
*/
getProcessFromServer({ commit, dispatch }, {
containerUuid,
processId,
routeToDelete
}) {
return new Promise(resolve => {
requestProcessMetadata({
uuid: containerUuid,
id: processId
})
.then(async responseProcess => {
let printFormatsAvailable = []
if (responseProcess.isReport) {
printFormatsAvailable = await dispatch('getListPrintFormats', {
processUuid: containerUuid,
processId: responseProcess.id
})
}
const { processDefinition, actions } = generateProcess({
processToGenerate: {
...responseProcess,
printFormatsAvailable
}
})
dispatch('addPanel', processDefinition)
commit('addProcess', processDefinition)
resolve(processDefinition)
// Add process menu
dispatch('setContextMenu', {
containerUuid,
actions
})
})
.catch(error => {
router.push({
path: '/dashboard'
}, () => {})
dispatch('tagsView/delView', routeToDelete)
showMessage({
message: language.t('login.unexpectedError'),
type: 'error'
})
console.warn(`Dictionary Process - Error ${error.message}.`)
})
})
},
/**
* Add process associated in window or smart browser
* @param {object} processToGenerate
*/
addProcessAssociated({ commit, dispatch }, {
processToGenerate
}) {
return new Promise(resolve => {
const { processDefinition, actions } = generateProcess({
processToGenerate
})
dispatch('addPanel', processDefinition)
commit('addProcess', processDefinition)
resolve(processDefinition)
// Add process menu
dispatch('setContextMenu', {
containerUuid: processDefinition.uuid,
actions
})
})
}
},
getters: {
getProcess: (state) => (processUuid) => {
return state.process.find(
item => item.uuid === processUuid
)
},
getProcessById: (state) => (processId) => {
return state.process.find(
item => item.id === parseInt(processId)
)
}
}
}
export default process