define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts','echarts-theme', 'template', 'addtabs', 'moment','citypicker'], function ($, undefined, Backend, Table, Form, echarts, undefined, Template, Datatable, Moment) { var Controller = { index: function () { Controller.api.bindevent() Controller.api.datepicker() Controller.api.getChartData() $('#filter-btn').on('click', function () { Controller.api.getChartData(); }); }, api: { getChartData:function (){ // 获取日期范围值 var daterange = $('#daterange').val(); /* var source = $('#source').val(); var city_id = $('#area_id').val(); var item_id = $('#item_id').val(); */ // 构建查询参数 var params = { 'daterange': daterange, /* 'source': source, 'area_id': city_id, 'item_id': item_id,*/ }; $.ajax({ url: "dashboard/getData", // type: "POST", dataType: "json", data: params, success: function (response) { Controller.api.chart(response); }, error: function () { console.error("图表数据加载失败"); } }); }, bindevent: function () { Form.api.bindevent($("form[role=form]")); }, datepicker: function () { var ranges = {}; ranges[__('Today')] = [Moment().startOf('day'), Moment().endOf('day')]; ranges[__('Yesterday')] = [Moment().subtract(1, 'days').startOf('day'), Moment().subtract(1, 'days').endOf('day')]; ranges[__('Last 7 Days')] = [Moment().subtract(6, 'days').startOf('day'), Moment().endOf('day')]; ranges[__('Last 30 Days')] = [Moment().subtract(29, 'days').startOf('day'), Moment().endOf('day')]; ranges[__('This Month')] = [Moment().startOf('month'), Moment().endOf('month')]; ranges[__('Last Month')] = [Moment().subtract(1, 'month').startOf('month'), Moment().subtract(1, 'month').endOf('month')]; ranges[__('今年')] = [Moment().startOf('year'), Moment().endOf('year')]; var options = { timePicker: false, autoUpdateInput: false, timePickerSeconds: true, timePicker24Hour: true, autoApply: true, locale: { format: 'YYYY-MM-DD', customRangeLabel: __("Custom Range"), applyLabel: __("Apply"), cancelLabel: __("Clear"), }, ranges: ranges, }; var callback = function (start, end) { $(this.element).val(start.format(options.locale.format) + " - " + end.format(options.locale.format)); }; require(['bootstrap-daterangepicker'], function () { $(".datetimerange").each(function () { $(this).on('apply.daterangepicker', function (ev, picker) { callback.call(picker, picker.startDate, picker.endDate); var label = picker.chosenLabel; $(picker.element).data('label', label).trigger("change"); }); $(this).on('cancel.daterangepicker', function (ev, picker) { $(this).val(''); }); $(this).daterangepicker($.extend({}, options), callback); }); }); }, } }; return Controller; });