package com.jcommerce.gwt.client.panels.statistics; import java.util.HashMap; import java.util.Map; import com.extjs.gxt.ui.client.event.ComponentEvent; import com.extjs.gxt.ui.client.event.Events; import com.extjs.gxt.ui.client.event.Listener; import com.extjs.gxt.ui.client.widget.HtmlContainer; import com.extjs.gxt.ui.client.widget.Label; import com.extjs.gxt.ui.client.widget.MessageBox; import com.extjs.gxt.ui.client.widget.button.Button; import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.user.client.Element; import com.google.gwt.user.client.ui.HorizontalPanel; import com.jcommerce.gwt.client.ContentWidget; import com.jcommerce.gwt.client.PageState; import com.jcommerce.gwt.client.service.ReportService; import com.jcommerce.gwt.client.widgets.DateWidget; public class UserRankReport extends ContentWidget { private HorizontalPanel datePanel = new HorizontalPanel(); DateWidget startDate; DateWidget endDate; HtmlContainer html; Button button; public static class State extends PageState { public String getPageClassName() { return UserRankReport.class.getName(); } public String getMenuDisplayName() { return "会员排行"; } } public State getCurState() { if (curState == null ) { curState = new State(); } return (State)curState; } public String getDescription() { return "cwBasicTextDescription"; } public String getName() { return "会员排行"; } protected void onRender(Element parent, int index) { super.onRender(parent, index); startDate = new DateWidget(); endDate = new DateWidget(); button = new Button("查询"); datePanel.add(new Label("开始日期")); datePanel.add(startDate); Label space = new Label(); space.setWidth(50); datePanel.add(space); datePanel.add(new Label("结束日期")); datePanel.add(endDate); space = new Label(); space.setWidth(10); datePanel.add(space); datePanel.add(button); add(datePanel); html = new HtmlContainer(); html.setHeight("100%"); html.setWidth("100%"); add(html); button.addListener(Events.Select, new Listener<ComponentEvent>() { public void handleEvent(ComponentEvent be) { Map<String, String> params = new HashMap<String, String>(); if (startDate.getValue() != null && endDate.getValue() != null && startDate.getValue().after(endDate.getValue())) { MessageBox.alert("ERROR", "Invalid date inputted!", null); return; } DateTimeFormat format = DateTimeFormat.getFormat("yyyy-MM-dd"); params.put("STARTDATE", format.format(startDate.getValue())); params.put("ENDDATE", format.format(endDate.getValue())); new ReportService().generateReport("UserRankReport", params, new ReportService.Listener() { @Override public void onSuccess(String content) { content = content.substring(content.indexOf("<html>")); html.setHtml(content); } }); } }); } }