|
@@ -10,7 +10,10 @@ import {
|
|
|
import {
|
|
|
SET_MODE,
|
|
|
SET_PROCESSING,
|
|
|
- SET_COMPLETED
|
|
|
+ SET_DATE,
|
|
|
+ SET_ASK_FOR_PRINT,
|
|
|
+ SET_COMPLETED,
|
|
|
+ SET_RESULT
|
|
|
} from '@/constants/mutationTypes'
|
|
|
|
|
|
import {
|
|
@@ -25,7 +28,9 @@ import {
|
|
|
CHECK_CUSTOMER,
|
|
|
CHECK_PAYMENT_METHOD,
|
|
|
CHECK_AMOUNT_RECEIVED,
|
|
|
- CREATE_SALE,
|
|
|
+ CREATE_SALE,
|
|
|
+ PROCESS_PRINT,
|
|
|
+ PRINT_TICKET,
|
|
|
COMPLETE_SALE,
|
|
|
RESET_SALE
|
|
|
} from '@/constants/actionTypes'
|
|
@@ -46,6 +51,7 @@ const actions = {
|
|
|
*/
|
|
|
[INIT_SALE] ({ getters, commit, dispatch }, payload) {
|
|
|
commit(SET_MODE, payload || getters.mode)
|
|
|
+ commit(SET_RESULT, '')
|
|
|
|
|
|
return axios.get(INIT_SALE_URL).then(response => {
|
|
|
dispatch(COMPLETE_SALE, false)
|
|
@@ -173,8 +179,11 @@ const actions = {
|
|
|
}
|
|
|
|
|
|
return axios.post(PROCESS_SALE_URL, data).then(response => {
|
|
|
- commit(SET_PROCESSING, !response.data.result)
|
|
|
- dispatch(COMPLETE_SALE, response.data.result)
|
|
|
+ commit(SET_DATE, response.data.result.date)
|
|
|
+ commit(SET_PROCESSING, !response.data.result.process)
|
|
|
+ commit(SET_RESULT, response.data.result.name)
|
|
|
+
|
|
|
+ dispatch(COMPLETE_SALE, response.data.result.process)
|
|
|
}).catch(error => {
|
|
|
console.log(error)
|
|
|
|
|
@@ -187,7 +196,43 @@ const actions = {
|
|
|
* @param {*} payload
|
|
|
*/
|
|
|
[COMPLETE_SALE] ({ commit }, payload) {
|
|
|
- commit(SET_COMPLETED, !!payload)
|
|
|
+ commit(SET_ASK_FOR_PRINT, !!payload)
|
|
|
+ },
|
|
|
+ [PROCESS_PRINT] ({ commit, dispatch }, payload) {
|
|
|
+ if (payload) {
|
|
|
+ if (payload === 'ticket') {
|
|
|
+ dispatch(PRINT_TICKET)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ commit(SET_ASK_FOR_PRINT, false)
|
|
|
+ commit(SET_COMPLETED, true)
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ */
|
|
|
+ [PRINT_TICKET] ({ getters }) {
|
|
|
+ let data = {
|
|
|
+ company: getters.user.company.name.toUpperCase(),
|
|
|
+ city: getters.user.company.city,
|
|
|
+ street: getters.user.company.street,
|
|
|
+ state: getters.user.company.state.displayName.toUpperCase(),
|
|
|
+ phone: getters.user.company.phone,
|
|
|
+ website: getters.user.company.website,
|
|
|
+ customer: getters.selectedCustomer.name.toUpperCase(),
|
|
|
+ ruc: getters.selectedCustomer.ruc,
|
|
|
+ date: getters.date,
|
|
|
+ symbol: getters.selectedCurrency ? getters.selectedCurrency.symbol : '$',
|
|
|
+ items: getters.cartItems.map(item => {
|
|
|
+ return [item.name.toUpperCase(), item.price, item.quantity, item.price * item.quantity]
|
|
|
+ }),
|
|
|
+ total: getters.cartTotal,
|
|
|
+ payment: getters.initialPayment,
|
|
|
+ cashier: getters.user.name.toUpperCase(),
|
|
|
+ result: getters.result
|
|
|
+ }
|
|
|
+
|
|
|
+ openerp.print_engine.socket_manager.printTicket(data.company, data.city, data.street, data.state, data.phone, data.website, data.date, data.symbol, data.items, data.total, data.payment, data.customer, data.ruc, data.cashier, data.result)
|
|
|
},
|
|
|
/**
|
|
|
*
|