{% extends 'staff/report/base.html' %} {% load i18n %} {% block opts_modify %} var baseCols = [ {field:'emp_code', width:120, title: "{% trans 'report_column_empCode' %}", sort: true} ,{field:'first_name', title: "{% trans 'report_column_firstName' %}", width:120} ,{field:'last_name', title: "{% trans 'report_column_lastName' %}", width:120} ,{field:'nick_name', title: "{% trans 'report_column_nickName' %}", width:80} ,{field:'gender', width:80, title: "{% trans 'report_column_gender' %}", width:60} ,{field:'dept_code', title: "{% trans 'report_column_departmentCode' %}", width:60} ,{field:'dept_name', width:140, title: "{% trans 'report_column_departmentName' %}", width:120} ,{field:'position_code', title: "{% trans 'report_column_positionCode' %}", width:60} ,{field:'position_name', title: "{% trans 'report_column_positionName' %}", width:120} ,{field:'att_date', width:80, title: "{% trans 'report_column_attendanceDate' %}", sort: true, width:100} ,{field:'timetable', title: "{% trans 'report_column_timetable' %}", width:120} ,{field:'total_time', title: "{% trans 'report_column_summaryTotalTimeDuration' %}", width:120} ]; var _cols = $.extend(true, [], baseCols); var periodCount = 1; $.ajax({ type: "get", url: '/att/api/mulTransactionReport/period_count/', cache:false, async:false, dataType: "json", success: function(response, xhr){ periodCount = response.data; } }); _cols = $.extend(true, [], baseCols); for(var i=0; i < periodCount; i ++){ _cols.push({field:'clock_in'+i, title: "{% trans 'report_column_clockInTime' %}", width:100}); _cols.push({field:'clock_out'+i, title: "{% trans 'report_column_clockOutTime' %}", width:100}); _cols.push({field:'total_time'+i, title: "{% trans 'report_column_totalTimeDuration' %}", width:100}); } _cols.push({field:'total_all', title: "{% trans 'report_column_totalWorkedDuration' %}", width:120}); $.extend(opts, { cols: [_cols] ,method: "get" ,url: "/att/api/mulTransactionReport/" }); {% endblock %} {% block columns_modify %} var cols = [], urlStr = '/att/multipletransactioncolumns/'; var periodCount = 1; $.ajax({ type: "get", url: '/att/api/mulTransactionReport/period_count/', data: c, cache:false, async:false, dataType: "json", success: function(response, xhr){ periodCount = response.data; } }); _cols = $.extend(true, [], baseCols); for(var i=0; i < periodCount; i ++){ _cols.push({field:'clock_in'+i, title: "{% trans 'report_column_clockInTime' %}", width:100}); _cols.push({field:'clock_out'+i, title: "{% trans 'report_column_clockOutTime' %}", width:100}); _cols.push({field:'total_time'+i, title: "{% trans 'report_column_totalTimeDuration' %}", width:100}); } _cols.push({field:'total_all', title: "{% trans 'report_column_totalWorkedDuration' %}", width:120}); $.extend(opts, { cols: [_cols] ,method: "get" ,url: "/att/api/mulTransactionReport/" ,where:c ,page: {curr: 1} }); var _tb = table.reload(tb.config.id, opts) var export_headers =[]; var report_headers = _cols; var url = '/att/api/mulTransactionReport/export/?'; report_headers.forEach(function (item) { if (item.hide === false) export_headers.push(item.field) }) url += 'start_date=' + c.start_date + '&end_date=' + c.end_date +'&export_headers=' + export_headers; $("#{{model_name}}_fluid" + " div.grid-toolbar").actions({ container: "#{{model_name}}_fluid", actionContainer: "#{{model_name}}_fluid" + " div.grid-toolbar", model: "{{model_name}}", table: table, tableId: "id_grid_{{model_name}}", form: form, element: element, curTable: tb, gridOpts: "", actions: "", export_url: url, disabled_fields_url: "", init_disabled_fields: [], dimension: {height: "auto", width: "auto"}, disabled_action_panel_east: ["history"], prefer_best_fit_op: 'best_fit', callback: {} }); form.on("submit({{ model_name }}-search)", function (data) { refreshReport(''); }); {% endblock %}