Bladeren bron

[ADD] send data syncronously

robert 6 jaren geleden
bovenliggende
commit
b67aa6b876
1 gewijzigde bestanden met toevoegingen van 22 en 10 verwijderingen
  1. 22 10
      src/store/actions.js

+ 22 - 10
src/store/actions.js

@@ -189,21 +189,35 @@ const actions = {
             }
         }
 
-        dispatch('storeData', data)
-
-        if (getters.isWired) {
-            dispatch('syncData')
+        if (['sale', 'budget'].includes(mode)) {
+            dispatch('storeDataAsync', data)
+            dispatch('printDocument').then(() => {
+                commit('setLoading', false)
+                commit('setCompleted', true)
+            })
+            return
         }
+        
+        dispatch('storeDataSync', data)
+    },
+    storeDataSync({ dispatch, commit }, data) {
+        commit('storeData', data)
 
-        dispatch('printDocument').then(() => {
+        dispatch('syncData').then(() => {
+            commit('resetData')
             commit('setLoading', false)
             commit('setCompleted', true)
         })
     },
-    storeData({ commit }, data) {
+    storeDataAsync({ getters, dispatch, commit }, data) {
         commit('storeData', data)
+
+        if (getters.isWired) {
+            dispatch('syncData')
+            commit('resetData')
+        }
     },
-    syncData({ getters, dispatch, commit }) {
+    syncData({ getters, dispatch }) {
         if (getters.data.length == 0) {
             return
         }
@@ -212,7 +226,7 @@ const actions = {
             dispatch('notify', 'Estás conectado nuevamente. Sincronizaremos sus datos en segundo plano')
         }
 
-        axios.post('/eiru_sales/finish', {
+        return axios.post('/eiru_sales/finish', {
             jsonrpc: '2.0',
             method: 'call',
             params: {
@@ -227,8 +241,6 @@ const actions = {
                 dispatch('notify', 'Los datos no fueron sincronizados correctamente')
             }
         })
-
-        commit('resetData')
     },
     printDocument({ getters, dispatch }) {
         if (getters.mode === 'sale') {