Kaynağa Gözat

[ADD] agregado nuevas validaciones y correciones en el modal

Rodney Elpidio Enciso Arias 6 yıl önce
ebeveyn
işleme
7870a58297
3 değiştirilmiş dosya ile 59 ekleme ve 67 silme
  1. 12 20
      static/src/css/pos.css
  2. 36 18
      static/src/js/widget.js
  3. 11 29
      static/src/xml/view.xml

+ 12 - 20
static/src/css/pos.css

@@ -1,26 +1,18 @@
-.pos .clientlist-screen .button.select-table {
-    left: 50%;
-    margin-left: 190px;
-}
-
-.pos .popup .floor-button {
-    height: 39px;
-    display: block;
-    width: 100%;
-    margin: 0px -6px 4px -2px;
-    font-weight: bold;
-    vertical-align: middle;
-    color: #555555;
-    font-size: 14px;
-}
-
-.pos .popup .table-button {
-    height: 39px;
+.pos .popup .product-button {
+    height: 35px;
     display: block;
-    width: 100%;
+    width: 50%;
     margin: 0px -6px 4px -2px;
     font-weight: bold;
     vertical-align: middle;
     color: #555555;
-    font-size: 14px;
+    font-size: 15px;
 }
+.pos .modal-dialog .popup {
+    margin-left:0;
+    margin-top:0;
+    left:5%;
+    width: 90%;
+    top:5%;
+    height:85%;
+}

+ 36 - 18
static/src/js/widget.js

@@ -11,8 +11,8 @@ function pos_customize_product_pack_widget(instance, module){
             this.pack_popup.hide();
             this.screen_selector.popup_set['PackList'] = this.pack_popup;
             
-            var kitchen_ticket_button = $(QWeb.render('PackModalButton'));
-            kitchen_ticket_button.appendTo(this.$('.control-buttons'));
+            var pack_modal_button = $(QWeb.render('PackModalButton'));
+            pack_modal_button.appendTo(this.$('.control-buttons'));
             this.$('.control-buttons').removeClass('oe_hidden');
 
             this.$('.order-pack-modal').click(function(){
@@ -20,7 +20,7 @@ function pos_customize_product_pack_widget(instance, module){
                 if(check != undefined){
                     if(check.product.pack_line_ids.length > 0){
                         self.pos_widget.screen_selector.show_popup('PackList');
-                        $('#floor-cancel').click(function(){
+                        $('#product-cancel').click(function(){
                             self.pos_widget.screen_selector.set_current_screen('products');
                         });
                     }
@@ -36,13 +36,13 @@ function pos_customize_product_pack_widget(instance, module){
         start: function(){
             this._super();
             var self = this;
-            this.floor_list_widget = new module.PackListScreenWidget(this,{});
+            this.product_list_widget = new module.PackListScreenWidget(this,{});
         },
 
         show: function(){
             this._super();
             var self = this;
-            this.floor_list_widget.replace($('.placeholder-PackListScreenWidget'));           
+            this.product_list_widget.replace($('.placeholder-PackListScreenWidget'));           
         },
 
     }); 
@@ -61,33 +61,46 @@ function pos_customize_product_pack_widget(instance, module){
 
         renderElement: function() {
             this._super();
-            var self = this;
-            
+            var self = this;        
+            var data = [];
             var product = self.pos.get('selectedOrder').selected_orderline.product;
-            
             var product_pack = product.pack_line_ids;
-
             var pack_lines = this.pos.product_pack_lines || [];
-
+            
             for(var i = 0; i < product_pack.length;  i++ ){
 
                 var product = _.filter(pack_lines,function (inv) {
                     return inv.id === product_pack[i];
                 });
 
-                var data = [];
-                
                 data.push({
-                    id: product[0].id,
+                    id: product[0].product_id[0],
                     name: product[0].product_id[1],
                 });
                 
-                data = data.shift();
+            }
+
+            function eliminarObjetosDuplicados(arr, prop) {
+                 var nuevoArray = [];
+                 var lookup  = {};
+             
+                 for (var i in arr) {
+                     lookup[arr[i][prop]] = arr[i];
+                 }
+             
+                 for (i in lookup) {
+                     nuevoArray.push(lookup[i]);
+                 }
+             
+                 return nuevoArray;
+            }
+
+            data = eliminarObjetosDuplicados(data, 'id');
 
+            for (var i = 0; i < data.length; i++) {
                 var product = new module.PackListWidget(this, {
-                    model_floor: data,
+                    model_product: data[i],
                 });
-                
                 product.appendTo(this.$('.product_list'));
             }
         },
@@ -98,13 +111,18 @@ function pos_customize_product_pack_widget(instance, module){
         
         init: function(parent, options){
             this._super(parent, options);
-            this.model_floor = options.model_floor;
+            this.model_product = options.model_product;
         },
 
         renderElement: function(){
             var self = this;
             this._super();
-
+            var ProductPackList = [];
+            $("button", this.$el).click(function(e){
+                var product = self.pos.get('selectedOrder').selected_orderline.product;
+                console.log(product);
+                console.log(self.model_product);
+            });
         }
     });
 };

+ 11 - 29
static/src/xml/view.xml

@@ -1,49 +1,31 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <templates id="template" xml:space="preserve">
 
-    <!-- <t t-extend="ClientListScreenWidget">
-        <t t-jquery="span.new-customer" t-operation="after">
-            <span class="button select-table">
-                Elegir
-            </span>
-        </t>
-    </t> -->
-
     <t t-name="PackPopupWidget">
         <div class="modal-dialog custom-dialog">
-            <div class="popup popup-select-floors" >
-                <div class="floor-header">
-                    <div class="floor-heading">
-                        Quitar elemento
-                    </div>
-                    <div class=" button" id="floor-cancel">
-                        Cancelar
-                    </div>
-                </div>
-                <div class="floor-data" >
-                    <span class="placeholder-PackListScreenWidget" />
-                </div> 
+            <div class="popup" >
+                <h4>Quitar Ingrediente</h4>       
+                <div class="button" id="product-cancel">
+                    Cancelar
+                </div>  
+                <span class="placeholder-PackListScreenWidget" />            
             </div>
         </div>
     </t>
 
     <t t-name="PackListScreenWidget">
-        <div class="floor_list_class">
-            <ol  class="product_list">
-            </ol>
+        <div class="product_list_class">
+            <ol class="product_list"></ol>        
         </div>
     </t>
 
     <t t-name="PackListWidget">
-        <span class='floor_list_widget' t-att-data-floor-id="widget.model_floor.id">
-            <button class="floor-button">
-                <t t-esc="widget.model_floor.name"/>
+        <span class='product_list_widget' t-att-data-product-id="widget.model_product.id">
+            <button class="product-button">
+                <t t-esc="widget.model_product.name"/>
             </button>
         </span>
     </t> 
-
-
-    <!-- Prueba -->
     
     <t t-name="PackModalButton">
         <span class="control-button order-pack-modal">