Prechádzať zdrojové kódy

[ADD] Validar Selecion de la Cuotas

adrielso 7 rokov pred
rodič
commit
46e21459c1

+ 17 - 24
src/Payments.vue

@@ -1,18 +1,19 @@
 <template lang="pug">
 	.payments
-		form-wizard(title="" subtitle="" finishButtonText="Finalizar" color="#8c9bad" nextButtonText="Continuar" backButtonText="Volver" transition="fade" @on-complete="completePayment()")
+		form-wizard(title="" subtitle="" finishButtonText="Finalizar" color="#8c9bad" backButtonText="Volver" nextButtonText="Continuar" transition="fade" @on-complete="completePayment()" @on-change="(prev, next) => removeLineAll(prev > next && prev >= 2)")
 			tab-content(title="Quien es el cliente?" :before-change="checkPartner")
 				partner-step
 			tab-content(title="Cual es la factura?" :before-change="checkInvoice")
 				invoice-step
 			tab-content(title="Que cuota es?" :before-change="checkMoveLine")
 				move-step
-			tab-content(title="Como quieres pagar?")
+			tab-content(title="Como quieres pagar?" :before-change="chekPaymentAmount")
 				method-payment-step
 		loader
 </template>
 
 <script>
+
 	import {FormWizard, TabContent }	from 'vue-form-wizard'
 	import 'vue-form-wizard/dist/vue-form-wizard.min.css'
 
@@ -37,29 +38,21 @@
 			Loader
 		},
 		computed: mapGetters([
-			'hasSelectedPartner',
-			'haSelectedInvoices'
+				'hasSelectedPartner',
+				'haSelectedInvoices',
+				'moveLinesIsEmpty',
+				'addMove'
+		]),
+		methods: mapActions([
+			'initPayment',
+			'notify',
+			'completePayment',
+			'removeLineAll',
+			'checkMoveLine',
+			'chekPaymentAmount',
+			'checkPartner',
+			'checkInvoice'
 		]),
-		methods: {
-			checkPartner() {
-				if (!this.hasSelectedPartner){
-					this.notify('Nesesitas selecionar un cliente para continuar')
-				}
-				return this.hasSelectedPartner
-			},
-			checkInvoice(){
-				if(!this.haSelectedInvoices){
-					this.notify('Nesesitas selecionar una factura para continuar')
-				}
-				return this.haSelectedInvoices
-			},
-			...mapActions([
-			    'initPayment',
-			    'notify',
-			    'completePayment',
-				'checkMoveLine'
-			])
-		},
 		mounted(){
 			this.initPayment(this.$root.payments_instance)
 		}

+ 1 - 1
src/components/move/MoveStep.vue

@@ -14,7 +14,7 @@
         components: {
             MoveContainer,
             MoveLinesContainer
-        }
+        },
     }
 </script>
 

+ 0 - 5
src/index.js

@@ -13,7 +13,6 @@ openerp.eiru_payments = (instance, local) => {
 	local.PaymentsWidget = instance.Widget.extend({
 		start(){
 			this.sidebarFold()
-			// instance.eiru_theme.instance.hide()
 			this.vm = new Vue({
 				store,
 				el: this.el,
@@ -31,8 +30,6 @@ openerp.eiru_payments = (instance, local) => {
 			$(this.vm.$el).remove()
 			this.vm = null
 			this.sidebarUnfold()
-
-			// instance.eiru_theme.instance.show()
 		},
 		sidebarFold() {
             if (!instance.eiru_sidebar_toggler) return
@@ -43,7 +40,5 @@ openerp.eiru_payments = (instance, local) => {
         }
 	})
 
-
-
 	instance.web.client_actions.add('eiru_payments.action_launch', 'instance.eiru_payments.PaymentsWidget')
 }

+ 11 - 2
src/store/actions.js

@@ -18,9 +18,20 @@ const actions = {
             console.log(error)
         })
     },
+    // Validaciones
+    checkPartner({getters, dispatch}) {
+        return getters.hasSelectedPartner ||dispatch('notify', 'Nesesitas selecionar un cliente para continuar')
+    },
+    checkInvoice({getters, dispatch}){
+        return getters.haSelectedInvoices || dispatch('notify', 'Nesesitas selecionar una factura para continuar')
+    },
     checkMoveLine({getters, dispatch}) {
         return getters.moveLinesIsEmpty ||dispatch('notify', 'Necesitas seleccionar la cuota para continuar')
     },
+    chekPaymentAmount({getters,dispatch}) {
+        return getters.paymentAmount > 0 || dispatch('notify', 'Nesesitas ingresar un monto a pagar ')
+    },
+    // Finalizar operacion
     completePayment({ dispatch, getters, state}) {
         let newObjet = []
 
@@ -51,8 +62,6 @@ const actions = {
                 reject(error)
             })
         })
-
-        console.log(newObjet);
     },
     printPayments({ getters, dispatch },payload) {
         // let self = getters.getPaymentsInstance

+ 0 - 1
src/store/modules/paymentsCompany.js

@@ -20,7 +20,6 @@ const mutations = {
         state.paymentsCompany = payload.resCompany
     },
     getcompanySymbol(state, payload) {
-        // console.log(payload);
         state.companySymbol = payload.symbol
     }
 }

+ 13 - 3
src/store/modules/paymentsInvoices.js

@@ -32,22 +32,29 @@ const mutations = {
         state.filteredInvoices = payload
     },
     addMovelineInvoice(state, payload) {
-        let finded = state.selectedInvoices.moveLines.find(item => item.id == state.selectedInvoices.moveLines.id)
+        let finded = state.selectedInvoices.moveLines.find(item => item.id == payload.moveLine.id)
         if (finded) return
 
         state.selectedInvoices.moveLines = [payload.moveLine, ...state.selectedInvoices.moveLines]
+    },
+    addMovesInvoice(state, payload) {
+        payload.moveLine.forEach(moveLine => {
+            let finded = state.selectedInvoices.moveLines.find(item => item.id == moveLine.id)
+            if (finded) return
+
+            state.selectedInvoices.moveLines = [moveLine, ...state.selectedInvoices.moveLines]
+        })
+
     }
 }
 
 const actions = {
     pushInvoices ({commit, dispatch }, payload){
-
         commit('pushInvoices', {
             invoices: payload.invoices
         })
     },
     selectInvoice ({ commit, dispatch}, payload) {
-
         commit('selectInvoice',{
             invoice: payload
         })
@@ -59,6 +66,9 @@ const actions = {
     },
     addMovelineInvoice({commit}, payload) {
         commit('addMovelineInvoice',payload)
+    },
+    addMovesInvoice({commit}, payload) {
+        commit('addMovesInvoice',payload)
     }
 }
 export default {

+ 6 - 8
src/store/modules/paymentsJournal.js

@@ -2,8 +2,6 @@ const state = {
     paymentsJournals: [],
     selectedPaymentsJournals : null,
     paymentAmount: 0
-    // paymentsJournalsSymbol: null
-
 }
 
 const getters = {
@@ -15,13 +13,13 @@ const getters = {
     },
     paymentAmount(state){
         return state.paymentAmount
-    },
-    paymentsJournalsSymbol(state) {
-
-        // console.log();
-        // console.log(state.selectedPaymentsJournals.currency);\
-        // return state.selectedPaymentsJournals.currency.symbol ? state.selectedPaymentsJournals.currency.symbol : state.companySymbol
     }
+    // paymentsJournalsSymbol(state) {
+    //
+    //     // console.log();
+    //     // console.log(state.selectedPaymentsJournals.currency);\
+    //     // return state.selectedPaymentsJournals.currency.symbol ? state.selectedPaymentsJournals.currency.symbol : state.companySymbol
+    // }
 }
 
 const mutations = {

+ 34 - 13
src/store/modules/paymentsMoveLines.js

@@ -35,14 +35,11 @@ const mutations = {
 
         state.moveLines = move
     },
-
     selectMoveline(state, payload) {
         state.selectedMoveline = payload.moveline
     },
-
     addMoveline(state, payload) {
         let finded = state.movelineSelect.find(item => item.id == payload.moveselect.id)
-
         if (finded) return
 
         state.movelineSelect =[payload.moveselect, ...state.movelineSelect]
@@ -50,31 +47,38 @@ const mutations = {
 
     calculateTotal(state) {
         let  sum = 0
-
         state.movelineSelect.forEach(item => {
             sum = sum + item.amount_residual
         })
 
         state.total = sum
     },
-
-
     removeLine(state, payload) {
         let findedMove = state.movelineSelect.findIndex(item => item.id == payload.movedelet.id)
+
         state.movelineSelect.splice(findedMove,1)
     },
-
     removeMoveCard(state, payload) {
         let findedMoveCard = state.moveLines.findIndex(item => item.id == payload.moveCardDelet.id)
         state.moveLines.splice(findedMoveCard,1)
     },
 
     addMovelineCard(state, payload) {
-
         let finded = state.moveLines.find(item => item.id == payload.moveLine.id)
         if (finded) return
 
         state.moveLines = [payload.moveLine, ...state.moveLines]
+    },
+    addMoveCard(state, payload) {
+        payload.moveLine.forEach(moveLine => {
+            let finded = state.moveLines.find(item => item.id == moveLine.id)
+            if (finded) return
+
+            state.moveLines = [moveLine, ...state.moveLines]
+        })
+    },
+    remoMovelineSelectALL(state,payload) {
+        state.movelineSelect.splice(0)
     }
 }
 
@@ -82,33 +86,50 @@ const actions = {
     pushMovelines({ commit, dispatch}, payload ) {
         commit('pushMovelines', payload)
     },
+
     selectMoveline({ commit, dispatch}, payload) {
         commit('selectMoveline',{
             moveline: payload
         })
-        // Add nueva lineas
         commit('addMoveline',{
             moveselect: payload
         })
-        // Remover los card de la cuotas
         commit('removeMoveCard',{
             moveCardDelet: payload
         })
-        // Calcular el total
         commit('calculateTotal')
     },
+
     removeLine({ commit, dispatch}, payload) {
         commit('removeLine',{
             movedelet: payload
         })
-
         commit('addMovelineCard',{
             moveLine: payload
         })
-
         dispatch('addMovelineInvoice', {
             moveLine: payload
         })
+        commit('calculateTotal')
+    },
+
+    removeLineAll({ commit, dispatch, state}, payload) {
+
+        if (!payload) return
+
+        if (state.movelineSelect.length === 0 ) return
+
+        commit('addMoveCard',{
+            moveLine: state.movelineSelect.map(item => {
+                return item
+            })
+        })
+        dispatch('addMovesInvoice',{
+            moveLine: state.movelineSelect.map(item => {
+                return item
+            })
+        })
+        commit('remoMovelineSelectALL',state.movelineSelect)
 
         commit('calculateTotal')
     }