Replace c3 (#11112)
* [charts] replace in asset.js * replace in reports
This commit is contained in:
parent
53659cf0bd
commit
bfb108d722
@ -55,13 +55,13 @@ frappe.ui.form.on('Asset', {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
frm.trigger("show_graph");
|
frm.trigger("setup_chart");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
show_graph: function(frm) {
|
setup_chart: function(frm) {
|
||||||
var x_intervals = ["x", frm.doc.purchase_date];
|
var x_intervals = [frm.doc.purchase_date];
|
||||||
var asset_values = ["Asset Value", frm.doc.gross_purchase_amount];
|
var asset_values = [frm.doc.gross_purchase_amount];
|
||||||
var last_depreciation_date = frm.doc.purchase_date;
|
var last_depreciation_date = frm.doc.purchase_date;
|
||||||
|
|
||||||
if(frm.doc.opening_accumulated_depreciation) {
|
if(frm.doc.opening_accumulated_depreciation) {
|
||||||
@ -94,32 +94,21 @@ frappe.ui.form.on('Asset', {
|
|||||||
last_depreciation_date = frm.doc.disposal_date;
|
last_depreciation_date = frm.doc.disposal_date;
|
||||||
}
|
}
|
||||||
|
|
||||||
frm.dashboard.setup_chart({
|
frm.dashboard.render_graph({
|
||||||
|
title: "Asset Value",
|
||||||
data: {
|
data: {
|
||||||
x: 'x',
|
labels: x_intervals,
|
||||||
columns: [x_intervals, asset_values],
|
datasets: [{
|
||||||
regions: {
|
color: 'green',
|
||||||
'Asset Value': [{'start': last_depreciation_date, 'style':'dashed'}]
|
values: asset_values,
|
||||||
}
|
formatted: asset_values.map(d => d.toFixed(2))
|
||||||
|
}]
|
||||||
},
|
},
|
||||||
legend: {
|
type: 'line'
|
||||||
show: false
|
|
||||||
},
|
|
||||||
axis: {
|
|
||||||
x: {
|
|
||||||
type: 'timeseries',
|
|
||||||
tick: {
|
|
||||||
format: "%d-%m-%Y"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
y: {
|
|
||||||
min: 0,
|
|
||||||
padding: {bottom: 10}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
item_code: function(frm) {
|
item_code: function(frm) {
|
||||||
if(frm.doc.item_code) {
|
if(frm.doc.item_code) {
|
||||||
frappe.call({
|
frappe.call({
|
||||||
|
@ -316,9 +316,9 @@ class ReceivablePayableReport(object):
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"data": {
|
"data": {
|
||||||
'rows': rows
|
'labels': rows
|
||||||
},
|
},
|
||||||
"chart_type": 'pie'
|
"type": 'percentage'
|
||||||
}
|
}
|
||||||
|
|
||||||
def execute(filters=None):
|
def execute(filters=None):
|
||||||
|
@ -118,7 +118,7 @@ def check_opening_balance(asset, liability, equity):
|
|||||||
return None,None
|
return None,None
|
||||||
|
|
||||||
def get_chart_data(filters, columns, asset, liability, equity):
|
def get_chart_data(filters, columns, asset, liability, equity):
|
||||||
x_intervals = ['x'] + [d.get("label") for d in columns[2:]]
|
labels = [d.get("label") for d in columns[2:]]
|
||||||
|
|
||||||
asset_data, liability_data, equity_data = [], [], []
|
asset_data, liability_data, equity_data = [], [], []
|
||||||
|
|
||||||
@ -130,22 +130,24 @@ def get_chart_data(filters, columns, asset, liability, equity):
|
|||||||
if equity:
|
if equity:
|
||||||
equity_data.append(equity[-2].get(p.get("fieldname")))
|
equity_data.append(equity[-2].get(p.get("fieldname")))
|
||||||
|
|
||||||
columns = [x_intervals]
|
datasets = []
|
||||||
if asset_data:
|
if asset_data:
|
||||||
columns.append(["Assets"] + asset_data)
|
datasets.append({'title':'Assets', 'values': asset_data})
|
||||||
if liability_data:
|
if liability_data:
|
||||||
columns.append(["Liabilities"] + liability_data)
|
datasets.append({'title':'Liabilities', 'values': liability_data})
|
||||||
if equity_data:
|
if equity_data:
|
||||||
columns.append(["Equity"] + equity_data)
|
datasets.append({'title':'Equity', 'values': equity_data})
|
||||||
|
|
||||||
chart = {
|
chart = {
|
||||||
"data": {
|
"data": {
|
||||||
'x': 'x',
|
'labels': labels,
|
||||||
'columns': columns
|
'datasets': datasets
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if not filters.accumulated_values:
|
if not filters.accumulated_values:
|
||||||
chart["chart_type"] = "bar"
|
chart["type"] = "bar"
|
||||||
|
else:
|
||||||
|
chart["type"] = "line"
|
||||||
|
|
||||||
return chart
|
return chart
|
@ -61,7 +61,7 @@ def get_net_profit_loss(income, expense, period_list, company):
|
|||||||
|
|
||||||
|
|
||||||
def get_chart_data(filters, columns, income, expense, net_profit_loss):
|
def get_chart_data(filters, columns, income, expense, net_profit_loss):
|
||||||
x_intervals = ['x'] + [d.get("label") for d in columns[2:]]
|
labels = [d.get("label") for d in columns[2:]]
|
||||||
|
|
||||||
income_data, expense_data, net_profit = [], [], []
|
income_data, expense_data, net_profit = [], [], []
|
||||||
|
|
||||||
@ -73,27 +73,24 @@ def get_chart_data(filters, columns, income, expense, net_profit_loss):
|
|||||||
if net_profit_loss:
|
if net_profit_loss:
|
||||||
net_profit.append(net_profit_loss.get(p.get("fieldname")))
|
net_profit.append(net_profit_loss.get(p.get("fieldname")))
|
||||||
|
|
||||||
columns = [x_intervals]
|
datasets = []
|
||||||
if income_data:
|
if income_data:
|
||||||
columns.append(["Income"] + income_data)
|
datasets.append({'title': 'Income', 'values': income_data})
|
||||||
if expense_data:
|
if expense_data:
|
||||||
columns.append(["Expense"] + expense_data)
|
datasets.append({'title': 'Expense', 'values': expense_data})
|
||||||
if net_profit:
|
if net_profit:
|
||||||
columns.append(["Net Profit/Loss"] + net_profit)
|
datasets.append({'title': 'Net Profit/Loss', 'values': net_profit})
|
||||||
|
|
||||||
chart = {
|
chart = {
|
||||||
"data": {
|
"data": {
|
||||||
'x': 'x',
|
'labels': labels,
|
||||||
'columns': columns,
|
'datasets': datasets
|
||||||
'colors': {
|
|
||||||
'Income': '#5E64FF',
|
|
||||||
'Expense': '#b8c2cc',
|
|
||||||
'Net Profit/Loss': '#ff5858'
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if not filters.accumulated_values:
|
if not filters.accumulated_values:
|
||||||
chart["chart_type"] = "bar"
|
chart["type"] = "bar"
|
||||||
|
else:
|
||||||
|
chart["type"] = "line"
|
||||||
|
|
||||||
return chart
|
return chart
|
@ -21,23 +21,13 @@ frappe.query_reports["Minutes to First Response for Opportunity"] = {
|
|||||||
get_chart_data: function (columns, result) {
|
get_chart_data: function (columns, result) {
|
||||||
return {
|
return {
|
||||||
data: {
|
data: {
|
||||||
x: 'Date',
|
labels: result.map(d => d[0]),
|
||||||
columns: [
|
datasets: [{
|
||||||
['Date'].concat($.map(result, function (d) { return d[0]; })),
|
title: 'Mins to first response',
|
||||||
['Mins to first response'].concat($.map(result, function (d) { return d[1]; }))
|
values: result.map(d => d[1])
|
||||||
]
|
}]
|
||||||
// rows: [['Date', 'Mins to first response']].concat(result)
|
|
||||||
},
|
},
|
||||||
axis: {
|
type: 'line',
|
||||||
x: {
|
|
||||||
type: 'timeseries',
|
|
||||||
tick: {
|
|
||||||
format: frappe.ui.py_date_format
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
chart_type: 'line',
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,19 +63,25 @@ def get_chart_data(data,period_list):
|
|||||||
fueldata.append([period.key,total_fuel_exp])
|
fueldata.append([period.key,total_fuel_exp])
|
||||||
servicedata.append([period.key,total_ser_exp])
|
servicedata.append([period.key,total_ser_exp])
|
||||||
|
|
||||||
x_intervals = ['x'] + [period.key for period in period_list]
|
labels = [period.key for period in period_list]
|
||||||
fuel_exp_data= [row[1] for row in fueldata]
|
fuel_exp_data= [row[1] for row in fueldata]
|
||||||
service_exp_data= [row[1] for row in servicedata]
|
service_exp_data= [row[1] for row in servicedata]
|
||||||
columns = [x_intervals]
|
datasets = []
|
||||||
if fuel_exp_data:
|
if fuel_exp_data:
|
||||||
columns.append(["Fuel Expenses"]+ fuel_exp_data)
|
datasets.append({
|
||||||
|
'title': 'Fuel Expenses',
|
||||||
|
'values': fuel_exp_data
|
||||||
|
})
|
||||||
if service_exp_data:
|
if service_exp_data:
|
||||||
columns.append(["Service Expenses"]+ service_exp_data)
|
datasets.append({
|
||||||
|
'title': 'Service Expenses',
|
||||||
|
'values': service_exp_data
|
||||||
|
})
|
||||||
chart = {
|
chart = {
|
||||||
"data": {
|
"data": {
|
||||||
'x': 'x',
|
'labels': labels,
|
||||||
'columns': columns
|
'datasets': datasets
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
chart["chart_type"] = "line"
|
chart["type"] = "line"
|
||||||
return chart
|
return chart
|
@ -64,9 +64,10 @@ erpnext.ProductionAnalytics = frappe.views.GridReportWithPlot.extend({
|
|||||||
|
|
||||||
var chart_data = this.get_chart_data ? this.get_chart_data() : null;
|
var chart_data = this.get_chart_data ? this.get_chart_data() : null;
|
||||||
|
|
||||||
this.chart = new frappe.ui.Chart({
|
this.chart = new frappe.chart.FrappeChart({
|
||||||
wrapper: this.chart_area,
|
parent: ".chart",
|
||||||
data: chart_data
|
data: chart_data,
|
||||||
|
type: 'line'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
set_default_values: function() {
|
set_default_values: function() {
|
||||||
|
@ -172,20 +172,19 @@ def get_column(assessment_criteria, total_maximum_score):
|
|||||||
|
|
||||||
def get_chart_data(grades, assessment_criteria_list, kounter):
|
def get_chart_data(grades, assessment_criteria_list, kounter):
|
||||||
grades = sorted(grades)
|
grades = sorted(grades)
|
||||||
chart_data = []
|
datasets = []
|
||||||
chart_data.append(["x"] + assessment_criteria_list)
|
|
||||||
for grade in grades:
|
for grade in grades:
|
||||||
tmp = [grade]
|
tmp = []
|
||||||
for ac in assessment_criteria_list:
|
for ac in assessment_criteria_list:
|
||||||
if grade in kounter[ac]:
|
if grade in kounter[ac]:
|
||||||
tmp.append(kounter[ac][grade])
|
tmp.append(kounter[ac][grade])
|
||||||
else:
|
else:
|
||||||
tmp.append(0)
|
tmp.append(0)
|
||||||
chart_data.append(tmp)
|
datasets.append(tmp)
|
||||||
return {
|
return {
|
||||||
"data": {
|
"data": {
|
||||||
"x": "x",
|
"labels": assessment_criteria_list,
|
||||||
"columns": chart_data
|
"datasets": datasets
|
||||||
},
|
},
|
||||||
"chart_type": 'bar',
|
"type": 'bar',
|
||||||
}
|
}
|
||||||
|
@ -18,23 +18,13 @@ frappe.query_reports["Minutes to First Response for Issues"] = {
|
|||||||
get_chart_data: function(columns, result) {
|
get_chart_data: function(columns, result) {
|
||||||
return {
|
return {
|
||||||
data: {
|
data: {
|
||||||
x: 'Date',
|
labels: result.map(d => d[0]),
|
||||||
columns: [
|
datasets: [{
|
||||||
['Date'].concat($.map(result, function(d) { return d[0]; })),
|
title: 'Mins to first response',
|
||||||
['Mins to first response'].concat($.map(result, function(d) { return d[1]; }))
|
values: result.map(d => d[1])
|
||||||
]
|
}]
|
||||||
// rows: [['Date', 'Mins to first response']].concat(result)
|
|
||||||
},
|
},
|
||||||
axis: {
|
type: 'line',
|
||||||
x: {
|
|
||||||
type: 'timeseries',
|
|
||||||
tick: {
|
|
||||||
format: frappe.ui.py_date_format
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
chart_type: 'line',
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ def execute(filters=None):
|
|||||||
|
|
||||||
columns = get_columns()
|
columns = get_columns()
|
||||||
data, timeslot_wise_count = get_data(filters)
|
data, timeslot_wise_count = get_data(filters)
|
||||||
chart = get_chartdata(timeslot_wise_count)
|
chart = get_chart_data(timeslot_wise_count)
|
||||||
return columns, data, None, chart
|
return columns, data, None, chart
|
||||||
|
|
||||||
def get_data(filters):
|
def get_data(filters):
|
||||||
@ -75,23 +75,21 @@ def get_columns():
|
|||||||
|
|
||||||
return columns
|
return columns
|
||||||
|
|
||||||
def get_chartdata(timeslot_wise_count):
|
def get_chart_data(timeslot_wise_count):
|
||||||
x_interval = ['x']
|
total_count = []
|
||||||
total_count = ['Total']
|
|
||||||
timeslots = ['12AM - 3AM', '3AM - 6AM', '6AM - 9AM',
|
timeslots = ['12AM - 3AM', '3AM - 6AM', '6AM - 9AM',
|
||||||
'9AM - 12PM', '12PM - 3PM', '3PM - 6PM', '6PM - 9PM', '9PM - 12AM']
|
'9AM - 12PM', '12PM - 3PM', '3PM - 6PM', '6PM - 9PM', '9PM - 12AM']
|
||||||
|
|
||||||
x_interval.extend(timeslots)
|
datasets = []
|
||||||
columns = [x_interval]
|
|
||||||
for data in timeslots:
|
for data in timeslots:
|
||||||
total_count.append(timeslot_wise_count.get(data, 0))
|
total_count.append(timeslot_wise_count.get(data, 0))
|
||||||
columns.append(total_count)
|
datasets.append({'values': total_count})
|
||||||
|
|
||||||
chart = {
|
chart = {
|
||||||
"data": {
|
"data": {
|
||||||
'x': 'x',
|
'labels': timeslots,
|
||||||
'columns': columns
|
'datasets': datasets
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
chart["chart_type"] = "line"
|
chart["type"] = "line"
|
||||||
return chart
|
return chart
|
||||||
|
Loading…
x
Reference in New Issue
Block a user