zoukankan      html  css  js  c++  java
  • EasyUI-datagrid动态列创建

    <script type="text/javascript">
        $(function () {
            $.ajax({
                url: "${url}getMesResourceCapacityBottleneckTitle",//这里这个方法是用来获取数据的动态表头的
                data: {param: JSON.stringify(serializeObject($('#form')))},
                type: 'post',
                dataType: 'json',
                success: function (r) {
                    if (r.flag == "success") {
                        var columns=[[]];
                        var list = r.title;
                        for(var i=0;i<list.length;i++){//根据查询结果,动态的拼接表头,具体这个地方怎么拼接需要根据自身情况来做
                            var titleDay = new Date(list[i].CALENDAR_DATE).format("yyyy-MM-dd");
                            columns[0].push({field: 'date'+i, title: titleDay,  80,halign: 'center',align: 'center', formatter:formatColor});
                            columns[0].push({field: 'dateContrast'+i, title: titleDay,  80,halign: 'center',align: 'center',hidden:true});
                        }
                        $('#dgMesResourceCapacityBottleneck').datagrid({    
                               frozenColumns : [[//这一部分属于固定的已知表头的列,因为不是所有列都是动态的
                                {field: 'WorkLineName', halign: 'center', align: 'center', title: '生产线',  80},
                                {field: 'Zycode', halign: 'center', align: 'center', title: '资源名称',  80},
                                {field: 'FixedCapacity', halign: 'center', align: 'center', title: '天-能力',  80},
                                {field: 'Overdue', halign: 'center', align: 'center', title: '超期工时',  80, formatter:formatOverdue}
                            ]],
                            columns : columns,//这里是动态拼出来的列
                            url: "${url}getMesResourceCapacityBottleneckByPage.json",//这里是加载数据的方法,后台加载的数据一定要和前台字段匹配
                            queryParams:{
                                param: JSON.stringify(serializeObject($('#form')))
                            }
                        });
                    } else {
                        $.messager.alert('提示','加载出错,请联系管理员!','warning');
                    }
                }
            });
        });
    </script>
    <div data-options="region:'center'" border="false" style="background:#ffffff;">
         <table id="dgMesResourceCapacityBottleneck"
           data-options="
             fit: true,
             border: false,
             rownumbers: false,
             animate: true,
             collapsible: false,
             autoRowHeight: false,
             idField :'id',
             singleSelect: true,
             checkOnSelect: true,
             selectOnCheck: false,
             pagination:true,
             pageSize:dataOptions.pageSize,
             pageList:dataOptions.pageList,
             striped:true">
         </table>
    </div>
       /**
         * @description:数据拼装
         * @param queryReqBean
         * @return
         * @throws Exception
         */
        public Map<String,Object> doCreate(QueryReqBean<Map<String,Object>> queryReqBean) throws Exception {
            try {
                Map<String,Object> map = new HashMap<String, Object>();
                List<Map<String,Object>> listMap = new ArrayList<Map<String,Object>>();
                List<Map<String,Object>> listHolidayMap = this.searchSumHours(queryReqBean.getSearchParams());
                //这个统计出来的时间是资源能力工时调整表中的数据,需要加上该工作中心的当天能力工时,然后用来和实际工序工时进行比对判断
                List<Map<String,Object>> adjustHoursMap = this.searchSumHoursAndHoliday(queryReqBean.getSearchParams());
                
                QueryRespBean<Map<String,Object>> queryRespBean = this.searchMesResourceCapacityBottleneckByPage(queryReqBean);
                /*Page<Map<String,Object>> mapPage = queryRespBean.getResult();
                for (Map<String, Object> mp : mapPage) {
                    queryReqBean.getSearchParams().put("mdsWorkCenterId",mp.get("MDS_WORK_CENTER_ID"));
                }*/
                List<Map<String,Object>> mdsFactoryCalendarDateMap = this.searchMdsFactoryCalendarDate(queryReqBean.getSearchParams());
                
                Page<Map<String,Object>> dataList = queryRespBean.getResult();
                Page<Map<String,Object>> pageList = new Page<Map<String,Object>>();
                pageList.setPageNum(dataList.getPageNum());
                pageList.setPageSize(dataList.getPageSize());
                pageList.setTotal(dataList.getTotal());
                
                DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
                
                List<Map<String,Object>> listHeadMap = dataList.getResult();
                for (Map<String, Object> map2 : listHeadMap) {
                    Map<String,Object> mapList = new HashMap<String, Object>();
                    mapList.put("ID", map2.get("ID"));
                    mapList.put("WorkLineName", map2.get("WORK_LINE_NAME"));
                    mapList.put("Zycode", map2.get("ZYCODE"));
                    mapList.put("FixedCapacity", map2.get("FIXED_CAPACITY"));
                    mapList.put("Overdue", map2.get("OVERDUE"));
                    mapList.put("Zyid", map2.get("ZYID"));
                    mapList.put("BottleneckType", map2.get("BOTTLENECK_TYPE"));
                    for (int i= 0;i<mdsFactoryCalendarDateMap.size();i++) {
                        for (Map<String, Object> map4 : listHolidayMap) {
                            String s = (String)map4.get("HOLIDAY");
                            String s1 = dateFormat.format(mdsFactoryCalendarDateMap.get(i).get("CALENDAR_DATE"));
                            if(s==null||s1==null){
                                continue;
                            }
                            if(s.equals(s1)){
                                if(map2.get("ZYID").equals(map4.get("ID"))){
                                    mapList.put("date"+i, map4.get("SUMHOURS"));
                                }
                            }
                        }
                        if(!mapList.containsKey("date"+i)){
                            mapList.put("date"+i, 0);
                        }
                        for (Map<String, Object> map5 : adjustHoursMap) {
                            String s = (String)map5.get("HOLIDAY");
                            String s1 = dateFormat.format(mdsFactoryCalendarDateMap.get(i).get("CALENDAR_DATE"));
                            if(s==null||s1==null){
                                continue;
                            }
                            if(s.equals(s1)){
                                if(map2.get("ZYID").equals(map5.get("ID"))){
                                    mapList.put("dateContrast"+i, Integer.parseInt(map2.get("FIXED_CAPACITY").toString())+Integer.parseInt(map5.get("SUMADJUSTHOURS").toString()));
                                }
                            }
                        }
                        if(!mapList.containsKey("dateContrast"+i)){
                            mapList.put("dateContrast"+i, map2.get("FIXED_CAPACITY"));
                        }
                    }
                    listMap.add(mapList);
                    pageList.add(mapList);
                }
                queryRespBean.setResult(pageList);
                map.put("title", mdsFactoryCalendarDateMap);
                map.put("data", queryRespBean);
                return map;
            } catch (Exception e) {
                LOGGER.error("doCreate出错:", e);
                e.printStackTrace();
                throw new DaoException(e.getMessage(), e);
            }
        }
  • 相关阅读:
    scikit-learn随机森林调参小结
    用Spark学习FP Tree算法和PrefixSpan算法
    典型关联分析(CCA)原理总结
    scikit-learn Adaboost类库使用小结
    Google maps API开发(二)(转)
    php中setcookie函数用法详解(转)
    关于中英数字混排的字符串分割问题(转)
    字符串截取函数
    jQuery Masonry构建pinterest网站布局注意要点(转)
    【jQuery插件】用jQuery Masonry快速构建一个pinterest网站布局(转)
  • 原文地址:https://www.cnblogs.com/1012hq/p/11316556.html
Copyright © 2011-2022 走看看