{% extends 'att/report/base.html' %}
{% load i18n %}
{% block search_form_init %}
var cur = moment(new Date());
var _start = cur.startOf('month').format('YYYY-MM');
var fullStartOfMonth = cur.startOf('month').format('YYYY-MM-DD');
var fullEndOfMonth = cur.endOf('month').format('YYYY-MM-DD');
var startDate = laydate.render({
elem: '#{{ model_name }}-start-date',
type: 'month',
value: _start,
});
$.extend(opts, {where: {start_date: fullStartOfMonth, end_date: fullEndOfMonth}});
{% endblock %}
{% block opts_modify %}
function buildDateCols(startDate) {
const start = moment(startDate).startOf('month');
const end = moment(startDate).endOf('month');
const dateCols = [];
for (let d = start.clone(); d.isSameOrBefore(end); d.add(1, 'day')) {
dateCols.push({
field: 'ot_' + d.format("DD"),
title: d.format("D dd"),
width: 50
});
}
return dateCols;
}
var userCols = [
{field:'emp_code', width:120, title: "{% trans 'report_column_empCode' %}"},
{field:'first_name', title: "{% trans 'report_column_firstName' %}"},
{field:'last_name', title: "{% trans 'report_column_lastName' %}"},
{field:'gender', title: "{% trans 'report_column_gender' %}"},
{field:'dept_code', title: "{% trans 'report_column_departmentCode' %}"},
{field:'dept_name', width:140, title: "{% trans 'report_column_departmentName' %}"}
];
var totalCols = [
{field:'total_wt', width:80, title: "{% trans 'report_column_totalWorkedDuration' %}"},
{field:'total_ot', width:80, title: "{% trans 'report_column_total_ot' %}"},
{field:'total', width:80, title: "Total"}
];
var dateCols = buildDateCols(fullStartOfMonth);
_cols = userCols.concat(dateCols).concat(totalCols);
$.extend(opts, {
cols: [_cols],
method: "get",
url: "/att/api/monthlyOTSummaryReport/"
});
{% endblock %}
{% block columns_modify %}
var dateCols = buildDateCols(startDate);
_cols = userCols.concat(dateCols).concat(totalCols);
$.extend(opts, {
cols: [_cols],
method: "get",
where: c
});
tb = table.render(opts);
$.extend(action_opts, {
curTable: tb
});
$("#{{model_name}}_fluid" + " div.grid-toolbar").actions(action_opts);
form.on("submit({{ model_name }}-search)", function (data) {
refreshReport('');
});
{% endblock %}
{% block search_report_date %}
var startDate = $("#{{ model_name }}-search-form input[name='start_date']").val();
startDate = moment(startDate).startOf('month').format('YYYY-MM-DD');
var endDate = moment(startDate).endOf('month').format('YYYY-MM-DD');
{% endblock %}
{% block search_form_enddate %}
{% endblock %}