浏览代码

[FIX] Mejorar en Seleciona de facturas de Empresas

adrielso 7 年之前
父节点
当前提交
e93267c98c
共有 5 个文件被更改,包括 100 次插入15 次删除
  1. 1 2
      models/payment_journal.py
  2. 13 7
      models/res_partner.py
  3. 13 3
      src/components/partner/PartnerGrid.vue
  4. 58 0
      src/components/partner/PartnerNoFound.vue
  5. 15 3
      src/index.js

+ 1 - 2
models/payment_journal.py

@@ -16,7 +16,7 @@ class PaymentJournal(models.Model):
         for journal in self.env['account.journal'].search(domain, order="id"):
             if not (journal.store_ids >= self.env.user.store_ids):
                 continue
-                
+
             paymentsJournals.append({
                 'id': journal.id,
                 'name': journal.name,
@@ -59,5 +59,4 @@ class PaymentJournal(models.Model):
                 }
             })
 
-        # print(paymentsJournals)
         return paymentsJournals

+ 13 - 7
models/res_partner.py

@@ -12,6 +12,7 @@ class ResPartner(models.Model):
         for customer in self.env['res.partner'].search(domain):
             categories = []
             invoices = []
+            partner_invoice = []
 
             for category in customer.category_id:
                 categories.append({
@@ -20,7 +21,17 @@ class ResPartner(models.Model):
                     'display_name': category.display_name
                 })
 
-            for invoice in customer.invoice_ids:
+            for invoice_ids in customer.invoice_ids:
+                if invoice_ids.state == 'open':
+                    partner_invoice.append(invoice_ids.id)
+
+            if customer.is_company == True:
+                for child in customer.child_ids:
+                    for invoice_ids in child.invoice_ids:
+                        if invoice_ids.state == 'open':
+                            partner_invoice.append(invoice_ids.id)
+
+            for invoice in self.env['account.invoice'].browse(partner_invoice):
                 movelines = []
                 moves = []
                 currency_symbol = ""
@@ -47,12 +58,7 @@ class ResPartner(models.Model):
                         'amount_total': invoice.amount_total,
                         'residual': invoice.residual,
                         'moveLines': movelines,
-                        'currency_symbol' : currency_symbol,
-                        'moves' :{
-                            'id': invoice.move_id.id,
-                            'name': invoice.move_id.name,
-                            'date': invoice.move_id.date
-                        }
+                        'currency_symbol' : currency_symbol
                     })
 
             partners.append({

+ 13 - 3
src/components/partner/PartnerGrid.vue

@@ -2,19 +2,28 @@
     .partner-grid-wrapper
         .partner-grid
             partner-card(v-for="partner in partners" :key="partner" :item="partner")
+        partner-no-found(v-if="isLoaded")
 </template>
 
 <script>
     import { mapGetters } from 'vuex'
     import PartnerCard from '@/components/partner/PartnerCard'
+    import PartnerNoFound from '@/components/partner/PartnerNoFound'
 
     export default {
         components: {
-            PartnerCard
+            PartnerCard,
+            PartnerNoFound
         },
         computed: mapGetters([
-            'partners'
-        ])
+            'partners',
+            'isLoaded'
+        ]),
+        methods: {
+            noFoundCustomers() {
+                return this.partners.length === 0 ? true : false
+            }
+        }
     }
 </script>
 
@@ -27,4 +36,5 @@
 
         .partner-grid
             width: 100%
+
 </style>

+ 58 - 0
src/components/partner/PartnerNoFound.vue

@@ -0,0 +1,58 @@
+<template lang="pug">
+    .customers-no-found(v-bind:class="{'customers-found': noFoundCustomers() }")
+        .customers-no-found-wrapper
+            i.customers-no-found-icon.fa.fa-frown-o.fa-5x
+            .customers-no-found-label
+                h3 Ops, no tienes nada que cobrar
+</template>
+
+<script>
+
+    import { mapGetters } from 'vuex'
+
+    export default {
+        computed: mapGetters([
+            'partners'
+        ]),
+        methods: {
+            noFoundCustomers() {
+                return this.partners.length === 0 ? true : false
+            }
+        }
+    }
+</script>
+<style lang="sass">
+    .customers-no-found
+        display: none
+        height: 100%
+        align-items: center
+        justify-content: center
+        // transform: translate3d(0, 5000px, 0)
+        // background: #d3d3d3s
+
+        &.customers-found
+            display: flex
+        //     // transform: translate3d(0, 0px, 0)
+
+        .customers-no-found-wrapper
+            width: 500px
+            height: 100px
+
+            .customers-no-found-label
+                width: 380px
+                height: calc(100% - 20px)
+                margin: 10px
+                float: right
+                text-align: center
+                h3
+                    color: #4c4c4c
+                    font-size: 20pt
+
+            .customers-no-found-icons
+                width: 80px
+                height: calc(100% - 20px)
+                margin: 10px
+                float: left
+                color: #4c4c4c
+
+</style>

+ 15 - 3
src/index.js

@@ -12,7 +12,8 @@ openerp.eiru_payments = (instance, local) => {
 
 	local.PaymentsWidget = instance.Widget.extend({
 		start(){
-			instance.eiru_theme.instance.hide()
+			this.sidebarFold()
+			// instance.eiru_theme.instance.hide()
 			this.vm = new Vue({
 				store,
 				el: this.el,
@@ -29,9 +30,20 @@ openerp.eiru_payments = (instance, local) => {
 			this.vm.$destroy()
 			$(this.vm.$el).remove()
 			this.vm = null
-			instance.eiru_theme.instance.show()
-		}
+			this.sidebarUnfold()
+
+			// instance.eiru_theme.instance.show()
+		},
+		sidebarFold() {
+            if (!instance.eiru_sidebar_toggler) return
+            instance.eiru_sidebar_toggler.sidebar_fold()
+        },
+        sidebarUnfold() {
+            instance.eiru_sidebar_toggler.sidebar_unfold()
+        }
 	})
 
+
+
 	instance.web.client_actions.add('eiru_payments.action_launch', 'instance.eiru_payments.PaymentsWidget')
 }