CustomSeachCharts.jsp 19.1 KB
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="/WEB-INF/weaver.tld" prefix="wea" %>
<%@ taglib uri="/browserTag" prefix="brow" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.formmode.service.CubeChartsService" %>
<%@ page import="weaver.common.util.string.StringUtil" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page"/>
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page"/>
<%
    String userid = user.getUID() + "";
    String customid = Util.null2String(request.getParameter("customid"));
    String baseId = Util.null2String(request.getParameter("baseId"));
    String title = Util.null2String(request.getParameter("title"));
    String width = Util.null2String(request.getParameter("width"));
    String isExpand = Util.null2String(request.getParameter("isExpand"));
    String isEnable = Util.null2String(request.getParameter("isEnable"));
    String chartsId = Util.null2String(request.getParameter("chartsId"));//名称
    String name = Util.null2String(request.getParameter("isEnable"));//名称
    String showorder = Util.null2String(request.getParameter("showorder"));//显示顺序
    String chartsType = Util.null2String(request.getParameter("chartsType"));//图表类型
    String dataFrom = Util.null2String(request.getParameter("dataFrom"));//数据来源
    String xAxis = Util.null2String(request.getParameter("xAxis"));//x轴
    String yAxis = Util.null2String(request.getParameter("yAxis"));//y轴
    String groupField = Util.null2String(request.getParameter("groupField"));//分组字段
    String customSql = Util.null2String(request.getParameter("customSql"));//自定义SQL
    String calculateType = Util.null2String(request.getParameter("calculateType"));//统计方式
    String showAvgLine = Util.null2String(request.getParameter("showAvgLine"));//显示平均线
    String sqlHelp = "示例:select '周一' as name, 11 as 最高温度, 1 as 最低温度  union all select '周二' as name, 7 as 最高温度, 6 as 最低温度  union all select '周三' as name, 15 as 最高温度, 2 as 最低温度  union all select '周四' as name, 13 as 最高温度, 5 as 最低温度  union all select '周五' as name, 12 as 最高温度, 3 as 最低温度  union all select '周六' as name, 13 as 最高温度, 2 as 最低温度  union all select '周日' as name, 10 as 最高温度, 4 as 最低温度 ";

    CubeChartsService chartsService = new CubeChartsService(request, response);
    String action = Util.null2String(request.getParameter("action"));//操作类型
    if ("saveBase".equals(action)) {//保存基本信息
        if (StringUtil.isNotNullAndEmpty(chartsService.saveBaseData(request, response))) { //如果保存成功
            return;
        }
    }
    if ("addChart".equals(action)) {//添加图表信息
        if (chartsService.saveChartsData(request, response)) { //如果保存成功
            return;
        }
    }
    if ("delChart".equals(action)) {//添加图表信息
        if (chartsService.delCharts(chartsId)) { //如果保存成功
            return;
        }
    }
    Map baseMap = chartsService.getChartsData(request, response);
    JSONObject datas = (JSONObject) baseMap.get("datas");
    List<JSONObject> xList = null;//x轴字段集合
    List<JSONObject> yList = null;//Y轴字段集合
    List<Map<String, Object>> chartViewList = new ArrayList<Map<String, Object>>();//图表明细options
    boolean isViewDetal = true;
    if (StringUtil.isNullOrEmpty(datas.getString("title"))) {//还未配置图表信息
        isViewDetal = false;
    } else {
        baseId = datas.getString("id");
        title = datas.getString("title");
        width = datas.getString("width");
        isExpand = datas.getString("isexpand");
        isEnable = datas.getString("isenable");
        //获取详细信息表单字段下拉信息
        Map formFieldMap = chartsService.getFormField(request, response);
        xList = (ArrayList<JSONObject>) formFieldMap.get("x");
        yList = (ArrayList<JSONObject>) formFieldMap.get("y");
        //生成图表数据
        chartViewList = chartsService.getChartsViewData(request, response);
    }
%>
<head>
    <!--导入百度ECharts支持-->
    <script type="text/javascript" src="/mobilemode/js/echarts/echarts.common.min.js"></script>
    <script type="text/javascript" src="/js/weaver_wev8.js"></script>
</head>
<link rel="stylesheet" href="../css/customSearchCharts.css" type="text/css"/>

<BODY style="overflow: hidden;">
<%@ include file="/systeminfo/RightClickMenuConent_wev8.jsp" %>
<%
    RCMenu += "{" + SystemEnv.getHtmlLabelName(86, user.getLanguage()) + ",javascript:doSave(),_top} ";
    RCMenuHeight += RCMenuHeightStep;
%>
<%@ include file="/systeminfo/RightClickMenu_wev8.jsp" %>
<FORM id=base name=base action="" method=post>
    <div id="top">
        <wea:layout type="2col">
            <wea:group context="" attributes="{'groupDisplay':'none'}">
                <wea:item>
                    <%=SystemEnv.getHtmlLabelName(229, user.getLanguage())%>
                </wea:item>
                <wea:item>
                    <wea:required id="titleimage" required="true">
                        <input id="title" class=inputstyle style="width: 300px" type=text name=title value="<%=title%>"
                               onchange='checkinput("title","titleimage")'>
                        <input type="hidden" id="customid" value="<%=customid%>">
                        <input type="hidden" id="baseId" value="<%=baseId%>">
                        <%--<input type="hidden" id="chartViews" value="<%=chartViews.toString()%>">--%>
                    </wea:required>
                </wea:item>

                <wea:item>
                    <%=SystemEnv.getHtmlLabelName(203, user.getLanguage()) + SystemEnv.getHtmlLabelName(1464, user.getLanguage())%>
                </wea:item>
                <wea:item>
                    <wea:required id="widthimage" required="true">
                        <input id="width" class=inputstyle style="width: 300px" type=text name=width value="<%=width%>"
                               onchange='checkinput("width","widthimage")'>
                    </wea:required>
                </wea:item>
                <wea:item>
                    <%=SystemEnv.getHtmlLabelName(32165, user.getLanguage())%>
                </wea:item>
                <wea:item>
                    <script>
                        $(function () {
                            checkImgStatus()
                        });

                        function checkImgStatus() {
                            if ($("#isEnable").is(":checked")) {
                                showEle("noImg");
                                $("#signbtn").show();
                            } else {
                                hideEle("noImg");
                                $("#signbtn").hide();
                            }
                        }
                    </script>
                    <input type="checkbox" id='isEnable' onclick="checkImgStatus()" name="isEnable"
                           <%if(null != isEnable&&isEnable.equals("1")){%>checked value="1" tzCheckbox="true"><%}else{%>value="0" tzCheckbox="false"><%}%>
                </wea:item>
                <wea:item>
                    <%=SystemEnv.getHtmlLabelName(15603, user.getLanguage())%>
                </wea:item>
                <wea:item>
                    <script>
                        $(function () {
                            checkImgStatus()
                        });

                        function checkImgStatus() {
                            if ($("#isExpand").is(":checked")) {
                                showEle("noImg");
                                $("#signbtn").show();
                            } else {
                                hideEle("noImg");
                                $("#signbtn").hide();
                            }
                        }
                    </script>
                    <input type="checkbox" id='isExpand' onclick="checkImgStatus()" name="isExpand"
                           <%if(null != isExpand&&isExpand.equals("1")){%>checked value="1" tzCheckbox="true"><%}else{%>value="0" tzCheckbox="false"><%}%>
                </wea:item>
            </wea:group>
        </wea:layout>
    </div>
</FORM>
<%
    if (isViewDetal) {
%>
<FORM id=detail name=detail action="" method=post>
    <div id="buttom">
        <div id="left">
            <div id="mark">
                <%=SystemEnv.getHtmlLabelNames("352,22899", user.getLanguage())%>
                <%--<span style="margin-right: 5px;float:right;font-size: 18px;">+</span>--%>
            </div>
            <div id="charts" style="overflow-y: auto">
                <%
                    for (int i = 0; i < chartViewList.size(); i++) {
                        String op = chartViewList.get(i).get("option").toString();
                %>
                <div id="main<%=i%>" class="main">
                    <div id="cls<%=i%>" class="cls"
                         onclick="removeChart(this,'<%=SystemEnv.getHtmlLabelName(23069,user.getLanguage())%>','<%=chartViewList.get(i).get("chartsId").toString()%>')">
                        X
                    </div>
                    <div id="chart<%=i%>" class="chart">

                    </div>
                </div>
                <script>
                    var myChart = echarts.init(document.getElementById("chart<%=i%>"));
                    //2.创建Oprion
                    var option = <%=op%>;
                    //3.设置Echarts的Option
                    myChart.setOption(option);
                    window.onresize = function () {
                        //resizemyChartContainer();
                        myChart.resize();
                    };
                </script>
                <%
                    }
                %>

            </div>
        </div>
        <div id="right">
            <wea:layout type="2col">
                <wea:group context="" attributes="{'groupDisplay':'none'}">
                    <!--名称-->
                    <wea:item>
                        <%=SystemEnv.getHtmlLabelName(195, user.getLanguage())%>
                    </wea:item>
                    <wea:item>
                        <wea:required id="nameimage" required="true">
                            <input id="name" class=inputstyle style="width: 300px" type=text name=name value="<%=name%>"
                                   onchange='checkinput("name","nameimage")'>
                        </wea:required>
                    </wea:item>
                    <!--显示顺序-->
                    <wea:item>
                        <%=SystemEnv.getHtmlLabelName(15513, user.getLanguage())%>
                    </wea:item>
                    <wea:item>
                        <wea:required id="showorderimage" required="true">
                            <input id="showorder" class=inputstyle style="width: 300px" type=text name=showorder
                                   value="<%=showorder%>"
                                   onchange='checkinput("showorder","showorderimage")'>
                        </wea:required>
                    </wea:item>
                    <!--图表类型-->
                    <wea:item>
                        <%=SystemEnv.getHtmlLabelName(84021, user.getLanguage())%>
                    </wea:item>
                    <wea:item>
                        <wea:required id="chartsTypeimage" required="true">
                            <select id="chartsType" name=chartsType
                                    onchange='checkinput("chartsType","chartsTypeimage")'>
                                <option value=""></option>
                                <option value="1">折线(面积)图</option>
                                <option value="2">柱状(条形)图</option>
                                <option value="3">饼图</option>
                                <option value="4">环形图</option>
                                <option value="5">仪表盘</option>
                                <option value="6">进度条</option>
                            </select>
                        </wea:required>
                    </wea:item>
                    <!--数据来源-->
                    <wea:item>
                        <%=SystemEnv.getHtmlLabelName(28006, user.getLanguage())%>
                    </wea:item>
                    <wea:item>
                        <select id="dataFrom" name=dataFrom onchange='checkinput("dataFrom","dataFromimage")'>
                            <option value="1">查询列表</option>
                            <option value="2">自定义SQL</option>
                        </select>
                    </wea:item>
                    <!--x轴-->
                    <wea:item>
                        x轴
                    </wea:item>
                    <wea:item>
                        <wea:required id="xAxisimage" required="true">
                            <select id="xAxis" name=xAxis onchange='checkinput("xAxis","xAxisimage")'>
                                <option value=""></option>
                                <%
                                    for (JSONObject jsonObject : xList) {
                                %>
                                <option value="<%=jsonObject.getString("id")%>"><%=jsonObject.getString("showname")%>
                                </option>
                                <%
                                    }
                                %>
                            </select>
                        </wea:required>
                    </wea:item>
                    <!--y轴-->
                    <wea:item>
                        y轴
                    </wea:item>
                    <wea:item>
                        <wea:required id="yAxisimage" required="true">
                            <select id="yAxis" name=yAxis onchange='checkinput("yAxis","yAxisimage")'>
                                <option value=""></option>
                                <%
                                    for (JSONObject jsonObject : yList) {
                                %>
                                <option value="<%=jsonObject.getString("id")%>"><%=jsonObject.getString("showname")%>
                                </option>
                                <%
                                    }
                                %>
                            </select>
                        </wea:required>
                    </wea:item>
                    <!--分组字段-->
                    <%--<wea:item>
                        <%=SystemEnv.getHtmlLabelName(31458, user.getLanguage()) + SystemEnv.getHtmlLabelName(261, user.getLanguage())%>
                    </wea:item>
                    <wea:item>
                        <wea:required id="groupFieldimage" required="true">
                            <select id="groupField" name=groupField
                                    onchange='checkinput("groupField","groupFieldimage")'>
                                <option value=""></option>
                                <%
                                    for (JSONObject jsonObject : xList) {
                                %>
                                <option value="<%=jsonObject.getString("id")%>"><%=jsonObject.getString("showname")%>
                                </option>
                                <%
                                    }
                                %>
                            </select>
                        </wea:required>
                    </wea:item>--%>
                    <!--统计方式-->
                    <wea:item>
                        <%=SystemEnv.getHtmlLabelName(352, user.getLanguage()) + SystemEnv.getHtmlLabelName(599, user.getLanguage())%>
                    </wea:item>
                    <wea:item>
                        <wea:required id="calculateTypeimage" required="true">
                            <select id="calculateType" name=calculateType
                                    onchange='checkinput("calculateType","calculateTypeimage")'>
                                <option value=""></option>
                                <option value="1">求和</option>
                                <option value="2">平均数</option>
                                <option value="3">统计</option>
                                <option value="4">最大值</option>
                                <option value="5">最小值</option>
                            </select>
                        </wea:required>
                    </wea:item>
                    <!--自定义SQL-->
                    <wea:item>
                        SQL
                    </wea:item>
                    <wea:item>
                        <wea:required id="customSqlimage" required="true">
                            <textarea id="customSql" class=inputstyle style="width: 500px;height:100px" type=text
                                      name=customSql
                                      onchange='checkinput("customSql","customSqlimage")'><%=customSql%></textarea>
                        </wea:required>
                        <span class="help" title="<%=sqlHelp %>"><img src="/images/tooltip_wev8.png" align="absMiddle"/></span>
                    </wea:item>
                    <!--显示平均线-->
                    <%--<wea:item>
                        <%=SystemEnv.getHtmlLabelName(89, user.getLanguage()) + SystemEnv.getHtmlLabelName(526, user.getLanguage()) + SystemEnv.getHtmlLabelName(131256, user.getLanguage())%>
                    </wea:item>
                    <wea:item>
                        <script>
                            $(function () {
                                checkImgStatus()
                            });

                            function checkImgStatus() {
                                if ($("#showAvgLine").is(":checked")) {
                                    showEle("noImg");
                                    $("#signbtn").show();
                                } else {
                                    hideEle("noImg");
                                    $("#signbtn").hide();
                                }
                            }
                        </script>
                        <input type="checkbox" id='showAvgLine' onclick="checkImgStatus()" name="showAvgLine"
                               <%if(null != showAvgLine&&showAvgLine.equals("1")){%>checked value="1"
                               tzCheckbox="true"><%}else{%>value="0" tzCheckbox="false"><%}%>
                    </wea:item>
--%>
                    <!--添加按钮-->
                    <wea:item>
                        <input style="margin-top: 20px;" class="middle e8_btn_top_first" onclick="addChart()"
                               type="button" value="<%=SystemEnv.getHtmlLabelName(611,user.getLanguage()) %>"/>
                    </wea:item>
                </wea:group>
            </wea:layout>

        </div>
    </div>
</FORM>
<%
    }
%>
</body>
<script src="../js/CustomSearchCharts.js"></script>
</html>