Kaynağa Gözat

[FIX] modificacion en le tooltip del grafico de ranking

Rodney Elpidio Enciso Arias 6 yıl önce
ebeveyn
işleme
bb24851345

+ 15 - 22
static/src/js/charts/chart_ranking_customer.js

@@ -250,11 +250,11 @@ function chart_ranking_customer (widget) {
             ranking.sort(function (a, b) {
                 return b.countPosOrder - a.countPosOrder
             });
-            self.fetchChart(ranking);
+            self.fetchChart(ranking, CurrencyBase);
         },
 
         // Generar Grafico
-        fetchChart: function (ranking) {
+        fetchChart: function (ranking, CurrencyBase) {
             var self = this;
             var label = [];
             var body = [];
@@ -275,20 +275,6 @@ function chart_ranking_customer (widget) {
                 label.push(item.name);
                 body.push(item.countPosOrder);
             }
-            
-            Chart.scaleService.updateScaleDefaults('linear', {
-              ticks: {
-                callback: function(tick) {
-                    return tick.toLocaleString('de-DE');
-                }
-              }
-            });
-            
-            Chart.defaults.global.tooltips.callbacks.label = function(tooltipItem, data) {
-                var dataset = data.datasets[tooltipItem.datasetIndex];
-                var datasetLabel = dataset.label || '';
-                return datasetLabel +  dataset.data[tooltipItem.index].toLocaleString('de-DE');
-            };
 
             var chart = new Chart(this.$el.find(".widget-content").find('canvas'), {
                 type: 'horizontalBar',
@@ -321,12 +307,19 @@ function chart_ranking_customer (widget) {
                             rigth: 0,
                         }
                     },
-                    events: ['click'],
-                    elements: {
-                        line: {
-                            tension: 0.000001
-                        },
-                    },
+                    tooltips: {
+                        callbacks: {
+                            label: function(tooltipItem, data) {
+                                var label = data.datasets[tooltipItem.datasetIndex].label || '';
+
+                                if (label) {
+                                    label += ': ';
+                                }
+                                label += accounting.formatMoney(tooltipItem.xLabel, CurrencyBase.symbol, CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator);
+                                return label;
+                            }
+                        }
+                    }
                 }
             });
         },

+ 16 - 8
static/src/js/charts/chart_ranking_product.js

@@ -294,16 +294,12 @@ function chart_ranking_product (widget) {
                 },
                 options: {
                     responsive: true,
-                    title: {
-                        display: false,
-                    },
-                    hover: {
-                        mode: 'nearest',
-                        intersect: true
-                    },
                     legend: {
                        display: false,
                     },
+                    title: {
+                        display: false,
+                    },
                     layout: {
                         padding: {
                             top: 0,
@@ -312,7 +308,19 @@ function chart_ranking_product (widget) {
                             rigth: 0,
                         }
                     },
-                    events: ['click'],
+                    // tooltips: {
+                    //     callbacks: {
+                    //         label: function(tooltipItem, data) {
+                    //             var label = data.datasets[tooltipItem.datasetIndex].label || '';
+
+                    //             if (label) {
+                    //                 label += ': ';
+                    //             }
+                    //             label += accounting.formatMoney(tooltipItem.xLabel, CurrencyBase.symbol, CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator);
+                    //             return label;
+                    //         }
+                    //     }
+                    // }
                 }
             });
         },

+ 16 - 25
static/src/js/charts/chart_ranking_salesman.js

@@ -230,10 +230,10 @@ function chart_ranking_salesman (widget) {
             ranking.sort(function (a, b) {
                 return b.amount - a.amount
             });
-            self.fetchChart(ranking);
+            self.fetchChart(ranking,CurrencyBase);
         },
 
-        fetchChart: function (ranking) {
+        fetchChart: function (ranking,CurrencyBase) {
             var self = this;
             var label = [];
             var body = [];
@@ -255,19 +255,7 @@ function chart_ranking_salesman (widget) {
                 label.push(item.name);
                 body.push(item.amount);
             }
-           
-            Chart.scaleService.updateScaleDefaults('linear', {
-              ticks: {
-                callback: function(tick) {
-                    return tick.toLocaleString('de-DE');
-                }
-              }
-            });
-            Chart.defaults.global.tooltips.callbacks.label = function(tooltipItem, data) {
-                var dataset = data.datasets[tooltipItem.datasetIndex];
-                var datasetLabel = dataset.label || '';
-                return datasetLabel +  dataset.data[tooltipItem.index].toLocaleString('de-DE');
-            };
+    
             var chart = new Chart(this.$el.find(".widget-content").find('canvas'), {
                 type: 'horizontalBar',
                 data: {
@@ -287,10 +275,6 @@ function chart_ranking_salesman (widget) {
                     title: {
                         display: false,
                     },
-                    hover: {
-                        mode: 'nearest',
-                        intersect: true
-                    },
                     legend: {
                        display: false,
                     },
@@ -302,12 +286,19 @@ function chart_ranking_salesman (widget) {
                             rigth: 0,
                         }
                     },
-                    events: ['click'],
-                    elements: {
-                        line: {
-                            tension: 0.000001
-                        },
-                    },
+                    tooltips: {
+                        callbacks: {
+                            label: function(tooltipItem, data) {
+                                var label = data.datasets[tooltipItem.datasetIndex].label || '';
+
+                                if (label) {
+                                    label += ': ';
+                                }
+                                label += accounting.formatMoney(tooltipItem.xLabel, CurrencyBase.symbol, CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator);
+                                return label;
+                            }
+                        }
+                    }
                 }
             });
         },

+ 29 - 21
static/src/js/charts/chart_sale_by_store.js

@@ -306,7 +306,7 @@ function chart_sale_by_store (widget) {
                 var total = order_total + invoice_total;
                 data.push(total); 
             });
-            self.fetchChart(data,title);
+            self.fetchChart(data,title,CurrencyBase);
         },
 
         showWeek: function () {
@@ -343,7 +343,7 @@ function chart_sale_by_store (widget) {
                 var total = order_total + invoice_total;
                 data.push(total); 
             });
-            self.fetchChart(data,title);
+            self.fetchChart(data,title,CurrencyBase);
         },
 
         showToday: function (){
@@ -381,27 +381,27 @@ function chart_sale_by_store (widget) {
                 var total = order_total + invoice_total;
                 data.push(total); 
             });
-            self.fetchChart(data,title);
+            self.fetchChart(data,title,CurrencyBase);
         },
 
-        fetchChart: function (data,title) {
+        fetchChart: function (data,title,CurrencyBase) {
             var self = this;
             var label = title;
             var body = data;
 
-            Chart.scaleService.updateScaleDefaults('linear', {
-              ticks: {
-                callback: function(tick) {
-                    return tick.toLocaleString('de-DE');
-                }
-              }
-            });
+            // Chart.scaleService.updateScaleDefaults('linear', {
+            //   ticks: {
+            //     callback: function(tick) {
+            //         return tick.toLocaleString('de-DE');
+            //     }
+            //   }
+            // });
 
-            Chart.defaults.global.tooltips.callbacks.label = function(tooltipItem, data) {
-                var dataset = data.datasets[tooltipItem.datasetIndex];
-                var datasetLabel = dataset.label || '';
-                return datasetLabel +  dataset.data[tooltipItem.index].toLocaleString('de-DE');
-            };
+            // Chart.defaults.global.tooltips.callbacks.label = function(tooltipItem, data) {
+            //     var dataset = data.datasets[tooltipItem.datasetIndex];
+            //     var datasetLabel = dataset.label || '';
+            //     return datasetLabel +  dataset.data[tooltipItem.index].toLocaleString('de-DE');
+            // };
 
             var chart = new Chart(this.$el.find(".widget-content").find('canvas'), {
                 type: 'horizontalBar',
@@ -436,10 +436,6 @@ function chart_sale_by_store (widget) {
                     title: {
                         display: false,
                     },
-                    hover: {
-                        mode: 'nearest',
-                        intersect: true
-                    },
                     legend: {
                        display: false,
                     },
@@ -451,7 +447,19 @@ function chart_sale_by_store (widget) {
                             rigth: 0,
                         }
                     },
-                    events: ['click'],
+                    tooltips: {
+                        callbacks: {
+                            label: function(tooltipItem, data) {
+                                var label = data.datasets[tooltipItem.datasetIndex].label || '';
+
+                                if (label) {
+                                    label += ': ';
+                                }
+                                label += accounting.formatMoney(tooltipItem.xLabel, CurrencyBase.symbol, CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator);
+                                return label;
+                            }
+                        }
+                    }
                 }
             });
         },