|
@@ -6,6 +6,10 @@ const actions = {
|
|
|
return false
|
|
|
},
|
|
|
initProcess({ getters, commit, dispatch }, payload) {
|
|
|
+ if (!payload) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
commit('setMode', payload || getters.mode)
|
|
|
commit('setResult', '')
|
|
|
|
|
@@ -21,7 +25,7 @@ const actions = {
|
|
|
params: {
|
|
|
mode: getters.mode
|
|
|
}
|
|
|
- }).then(({data}) => {
|
|
|
+ }).then(({ data }) => {
|
|
|
commit('setLoading', false)
|
|
|
commit('toggleFooterButtonsVisibility')
|
|
|
|
|
@@ -60,7 +64,7 @@ const actions = {
|
|
|
params: {
|
|
|
...payload
|
|
|
}
|
|
|
- }).then(({data}) => {
|
|
|
+ }).then(({ data }) => {
|
|
|
dispatch('receiveCustomer', data.result)
|
|
|
}).catch(error => {
|
|
|
console.error(error)
|
|
@@ -93,7 +97,7 @@ const actions = {
|
|
|
toggleSettingsVisibility({ commit }) {
|
|
|
commit('setSettingsVisibility')
|
|
|
},
|
|
|
- changeSetting({dispatch, commit, getters}, setting) {
|
|
|
+ changeSetting({dispatch, commit}, setting) {
|
|
|
commit('setLoading', true)
|
|
|
|
|
|
return axios.post('/eiru_sales/save_settings', {
|
|
@@ -102,7 +106,7 @@ const actions = {
|
|
|
params: {
|
|
|
...setting
|
|
|
}
|
|
|
- }).then(({data}) => {
|
|
|
+ }).then(({ data }) => {
|
|
|
dispatch('updateImages', data.result)
|
|
|
|
|
|
commit('updateSettings', data.result)
|
|
@@ -118,7 +122,7 @@ const actions = {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- return axios.get('/eiru_sales/get_images').then(({data}) => {
|
|
|
+ return axios.get('/eiru_sales/get_images').then(({ data }) => {
|
|
|
commit('setProducts', data.products)
|
|
|
commit('setCustomers', data.customers)
|
|
|
}).catch(error => {
|
|
@@ -140,27 +144,60 @@ const actions = {
|
|
|
|
|
|
commit('setLoading', true)
|
|
|
|
|
|
- const data = {
|
|
|
- mode,
|
|
|
- items: getters.cartItems.map(item => {
|
|
|
- return {
|
|
|
- id: item.id,
|
|
|
- quantity: item.quantity,
|
|
|
- price: item.price
|
|
|
+ let data = {
|
|
|
+ mode
|
|
|
+ }
|
|
|
+
|
|
|
+ if (['sale', 'budget', 'product_picking'].includes(mode)) {
|
|
|
+ data = {
|
|
|
+ ...data,
|
|
|
+ items: getters.cartItems.map(item => {
|
|
|
+ return {
|
|
|
+ id: item.id,
|
|
|
+ quantity: item.quantity,
|
|
|
+ price: item.price
|
|
|
+ }
|
|
|
+ }),
|
|
|
+ customerId: getters.selectedCustomer.id,
|
|
|
+ currencyId: getters.selectedCurrency.id
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (['sale', 'budget', 'payment'].includes(mode)) {
|
|
|
+ data = {
|
|
|
+ ...data,
|
|
|
+ total: getters.cartTotal,
|
|
|
+ paymentTermId: getters.paymentTerm.id,
|
|
|
+ journalId: getters.selectedJournal.id,
|
|
|
+ payment: getters.initialPayment > getters.amountToPay ? getters.amountToPay : getters.initialPayment,
|
|
|
+ paymentMethod: getters.paymentMethod,
|
|
|
+ bankPaymentData: {
|
|
|
+ ...getters.bankPaymentData
|
|
|
}
|
|
|
- }),
|
|
|
- total: getters.cartTotal,
|
|
|
- customerId: getters.selectedCustomer.id,
|
|
|
- paymentTermId: getters.paymentTerm.id,
|
|
|
- journalId: getters.selectedJournal.id,
|
|
|
- payment: getters.initialPayment > getters.amountToPay ? getters.amountToPay : getters.initialPayment,
|
|
|
- currencyId: getters.selectedCurrency.id,
|
|
|
- paymentMethod: getters.paymentMethod,
|
|
|
- bankPaymentData: {
|
|
|
- ...getters.bankPaymentData
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // const data = {
|
|
|
+ // mode,
|
|
|
+ // items: getters.cartItems.map(item => {
|
|
|
+ // return {
|
|
|
+ // id: item.id,
|
|
|
+ // quantity: item.quantity,
|
|
|
+ // price: item.price
|
|
|
+ // }
|
|
|
+ // }),
|
|
|
+ // customerId: getters.selectedCustomer.id,
|
|
|
+ // total: getters.cartTotal,
|
|
|
+ // paymentTermId: getters.paymentTerm.id,
|
|
|
+ // journalId: getters.selectedJournal.id,
|
|
|
+ // payment: getters.initialPayment > getters.amountToPay ? getters.amountToPay : getters.initialPayment,
|
|
|
+ // currencyId: getters.selectedCurrency.id,
|
|
|
+ // paymentMethod: getters.paymentMethod,
|
|
|
+ // bankPaymentData: {
|
|
|
+ // ...getters.bankPaymentData
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
dispatch('storeData', data)
|
|
|
|
|
|
if (getters.isWired) {
|
|
@@ -180,7 +217,9 @@ const actions = {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- dispatch('notify', 'Estás conectado nuevamente. Sincronizaremos sus datos en segundo plano')
|
|
|
+ if (getters.isSynchronizable) {
|
|
|
+ dispatch('notify', 'Estás conectado nuevamente. Sincronizaremos sus datos en segundo plano')
|
|
|
+ }
|
|
|
|
|
|
axios.post('/eiru_sales/finish', {
|
|
|
jsonrpc: '2.0',
|
|
@@ -189,9 +228,13 @@ const actions = {
|
|
|
data: getters.data
|
|
|
}
|
|
|
}).then(() => {
|
|
|
- dispatch('notify', 'Los datos fueron sincronizados con éxito')
|
|
|
+ if (getters.isSynchronizable) {
|
|
|
+ dispatch('notify', 'Los datos fueron sincronizados con éxito')
|
|
|
+ }
|
|
|
}).catch(() => {
|
|
|
- dispatch('notify', 'Los datos no fueron sincronizados correctamente')
|
|
|
+ if (getters.isSynchronizable) {
|
|
|
+ dispatch('notify', 'Los datos no fueron sincronizados correctamente')
|
|
|
+ }
|
|
|
})
|
|
|
|
|
|
commit('resetData')
|
|
@@ -201,7 +244,12 @@ const actions = {
|
|
|
return dispatch('printTicket')
|
|
|
}
|
|
|
},
|
|
|
- printTicket({ getters }) {
|
|
|
+ printTicket({ getters, dispatch }) {
|
|
|
+ if (!openerp.printer_bridge) {
|
|
|
+ dispatch('notify', 'Impresión no disponible')
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
const data = {
|
|
|
company: getters.companyName,
|
|
|
street: getters.user.company.street,
|