Jelajahi Sumber

危急值列表查询

hurugang 3 tahun lalu
induk
melakukan
5626ffc123

+ 15 - 0
src/main/java/cn/hnthyy/thmz/controller/NavigationController.java

@@ -1143,4 +1143,19 @@ public class NavigationController {
         }
         return "mz/message_to_phone";
     }
+
+
+    /**
+     * 危急值列表
+     *
+     * @return
+     */
+    @RequestMapping("/critical-value-list")
+    public String criticalValueList(HttpServletRequest httpServletRequest) throws Exception {
+        List<String> urls = getRoleUrls(httpServletRequest);
+        if (!urls.contains("/thmz/critical-value-list")) {
+            throw new Exception("您没有此模块的权限,请联系管理员开通!");
+        }
+        return "mz/critical_value_list";
+    }
 }

+ 123 - 0
src/main/java/cn/hnthyy/thmz/controller/mz/CriticalValueController.java

@@ -0,0 +1,123 @@
+package cn.hnthyy.thmz.controller.mz;
+
+import cn.hnthyy.thmz.Utils.TokenUtil;
+import cn.hnthyy.thmz.comment.UserLoginToken;
+import cn.hnthyy.thmz.entity.thmz.CriticalValue;
+import cn.hnthyy.thmz.entity.thmz.User;
+import cn.hnthyy.thmz.service.thmz.CriticalValueService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+@RestController
+public class CriticalValueController {
+    @Autowired
+    private CriticalValueService criticalValueService;
+
+
+    /**
+     * 获取危急值列表
+     *
+     * @return
+     */
+    @UserLoginToken
+    @RequestMapping(value = "/getCriticalValueList", method = {RequestMethod.POST})
+    public Map<String, Object> getCriticalValueList(@RequestBody CriticalValue criticalValue, HttpServletRequest httpServletRequest) {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            if(criticalValue==null){
+                resultMap.put("code", -1);
+                resultMap.put("message", "查询参数不能为空");
+                return resultMap;
+            }
+            if (StringUtils.isBlank(criticalValue.getCommonParams())) {
+                criticalValue.setCommonParams(null);
+            } else {
+                criticalValue.setCommonParams("%" + criticalValue.getCommonParams() + "%");
+            }
+            User tokenUser = TokenUtil.getUser(httpServletRequest);
+            criticalValue.setEmployeeCodes("%" + tokenUser.getUserCode() + "%");
+            if (StringUtils.isBlank(criticalValue.getBeginDate())) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "查询记录失败,开始日期参数为空");
+                return resultMap;
+            }
+            if (StringUtils.isBlank(criticalValue.getEndDate())) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "查询记录失败,结束日期参数为空");
+                return resultMap;
+            }
+            if (criticalValue.getPageSize() == null) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "查询记录失败,每页显示条数参数为空");
+                return resultMap;
+            }
+            if (criticalValue.getOffset() == null) {
+                resultMap.put("code", -1);
+                resultMap.put("message", "查询记录失败,当前所在页参数为空");
+                return resultMap;
+            }
+            Integer total = criticalValueService.queryCountCriticalValue(criticalValue);
+            if(total==0){
+                resultMap.put("code", -1);
+                resultMap.put("message", "未查询到危急值信息");
+                return resultMap;
+            }
+            List<CriticalValue> criticalValueList = criticalValueService.queryCriticalValueWithPage(criticalValue);
+            resultMap.put("code", 0);
+            resultMap.put("message", "获取危急值列表成功");
+            resultMap.put("total", total);
+            resultMap.put("data", criticalValueList);
+            return resultMap;
+        } catch (Exception e) {
+            e.printStackTrace();
+            resultMap.put("code", -1);
+            resultMap.put("message", "系统出错,请联系管理员");
+            log.error("系统异常,错误信息{}", e);
+            return resultMap;
+        }
+    }
+
+    /**
+     * 根据ID查询危急值
+     *
+     * @return
+     */
+    @UserLoginToken
+    @RequestMapping(value = "/getCriticalValueById", method = {RequestMethod.GET})
+    public Map<String, Object> getCriticalValueById(@RequestParam("id") Long id) {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            if(id==null){
+                resultMap.put("code", -1);
+                resultMap.put("message", "查询参数不能为空");
+                return resultMap;
+            }
+
+            CriticalValue criticalValue = criticalValueService.queryCriticalValueById(id);
+            if(criticalValue==null){
+                resultMap.put("code", -1);
+                resultMap.put("message", "未查询到危急值信息");
+                return resultMap;
+            }
+            resultMap.put("code", 0);
+            resultMap.put("message", "获取危急值成功");
+            resultMap.put("data", criticalValue);
+            return resultMap;
+        } catch (Exception e) {
+            e.printStackTrace();
+            resultMap.put("code", -1);
+            resultMap.put("message", "系统出错,请联系管理员");
+            log.error("系统异常,错误信息{}", e);
+            return resultMap;
+        }
+    }
+
+}

+ 54 - 0
src/main/java/cn/hnthyy/thmz/entity/thmz/CriticalValue.java

@@ -0,0 +1,54 @@
+package cn.hnthyy.thmz.entity.thmz;
+
+import java.io.Serializable;
+
+import cn.hnthyy.thmz.vo.PageParams;
+import lombok.Data;
+import java.util.Date;
+
+/**
+ * @Description  危急值消息
+ * @Author  胡如刚
+ * @Date 2022-05-24 
+ */
+
+@Data
+public class CriticalValue extends PageParams implements Serializable {
+
+	private static final long serialVersionUID =  8074081793913023735L;
+
+	/**
+	 * id
+	 */
+	private Long id;
+
+	/**
+	 * 危急值接收人编码串
+	 */
+	private String employeeCodes;
+
+	/**
+	 * 危急值内容
+	 */
+	private String content;
+
+	/**
+	 * 记录时间
+	 */
+	private Date createTime;
+	/**
+	 * 通用查询参数
+	 */
+	private String commonParams;
+
+	/**
+	 * 开始时间 查询参数
+	 */
+	private String beginDate;
+	/**
+	 * 结束时间 查询参数
+	 */
+	private String endDate;
+
+
+}

+ 81 - 0
src/main/java/cn/hnthyy/thmz/mapper/thmz/CriticalValueMapper.java

@@ -0,0 +1,81 @@
+package cn.hnthyy.thmz.mapper.thmz;
+
+import cn.hnthyy.thmz.entity.thmz.CriticalValue;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+public interface CriticalValueMapper {
+    /**
+     * 保存
+     *
+     * @param criticalValue
+     * @return
+     */
+    @Insert("INSERT INTO t_critical_value(employee_codes, content, create_time) VALUES " +
+            "(#{employeeCodes}, #{content}, #{createTime})")
+    @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
+    int insertCriticalValue(CriticalValue criticalValue);
+
+
+    /**
+     * 根据主键查询危急值
+     *
+     * @param id 主键
+     * @return
+     */
+    @Select("select id,employee_codes, content, create_time from t_critical_value where id=#{id}")
+    CriticalValue selectCriticalValueById(@Param("id") Long id);
+
+    /**
+     * 查询符合条件的总数
+     *
+     * @param criticalValue
+     * @return
+     */
+    @Select({"<script>" +
+            "select count(1) from t_critical_value where 1=1" +
+            "<when test='beginDate!=null'>" +
+            " and create_time  <![CDATA[>=]]>#{beginDate} " +
+            "</when>" +
+            "<when test='endDate!=null'>" +
+            " and create_time  <![CDATA[<=]]>#{endDate}" +
+            "</when>" +
+            "<when test='employeeCodes!=null'>" +
+            " and employee_codes like #{employeeCodes}" +
+            "</when>" +
+            "<when test='commonParams!=null'>" +
+            " and content like #{commonParams}" +
+            "</when>" +
+            "</script>"})
+    Integer selectCountCriticalValue(CriticalValue criticalValue);
+
+
+    /**
+     * 分页查询记录
+     *
+     * @param criticalValue
+     * @return
+     */
+    @Select({"<script>" +
+            "select a.id,employee_codes, content, create_time from t_critical_value a join  (" +
+            "select id from t_critical_value where 1=1" +
+            "<when test='beginDate!=null'>" +
+            " and create_time  <![CDATA[>=]]>#{beginDate} " +
+            "</when>" +
+            "<when test='endDate!=null'>" +
+            " and create_time  <![CDATA[<=]]>#{endDate}" +
+            "</when>" +
+            "<when test='employeeCodes!=null'>" +
+            " and employee_codes like #{employeeCodes}" +
+            "</when>" +
+            "<when test='commonParams!=null'>" +
+            " and content like #{commonParams}" +
+            "</when>" +
+            " order by create_time desc limit #{offset},#{pageSize} )b on a.id=b.id"
+            + "</script>"})
+    List<CriticalValue> selectCriticalValueWithPage(CriticalValue criticalValue);
+}

+ 34 - 0
src/main/java/cn/hnthyy/thmz/service/impl/thmz/CriticalValueServiceImpl.java

@@ -0,0 +1,34 @@
+package cn.hnthyy.thmz.service.impl.thmz;
+
+import cn.hnthyy.thmz.entity.thmz.CriticalValue;
+import cn.hnthyy.thmz.mapper.thmz.CriticalValueMapper;
+import cn.hnthyy.thmz.service.thmz.CriticalValueService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+@Service
+public class CriticalValueServiceImpl implements CriticalValueService {
+    @SuppressWarnings("all")
+    @Autowired
+    private CriticalValueMapper criticalValueMapper;
+    @Override
+    public int saveCriticalValue(CriticalValue criticalValue) {
+        return criticalValueMapper.insertCriticalValue(criticalValue);
+    }
+
+    @Override
+    public CriticalValue queryCriticalValueById(Long id) {
+        return criticalValueMapper.selectCriticalValueById(id);
+    }
+
+    @Override
+    public Integer queryCountCriticalValue(CriticalValue criticalValue) {
+        return criticalValueMapper.selectCountCriticalValue(criticalValue);
+    }
+
+    @Override
+    public List<CriticalValue> queryCriticalValueWithPage(CriticalValue criticalValue) {
+        return criticalValueMapper.selectCriticalValueWithPage(criticalValue);
+    }
+}

+ 41 - 0
src/main/java/cn/hnthyy/thmz/service/thmz/CriticalValueService.java

@@ -0,0 +1,41 @@
+package cn.hnthyy.thmz.service.thmz;
+
+import cn.hnthyy.thmz.entity.thmz.CriticalValue;
+
+import java.util.List;
+
+public interface CriticalValueService {
+    /**
+     * 保存
+     *
+     * @param criticalValue
+     * @return
+     */
+    int saveCriticalValue(CriticalValue criticalValue);
+
+
+    /**
+     * 根据主键查询危急值
+     *
+     * @param id 主键
+     * @return
+     */
+    CriticalValue queryCriticalValueById(Long id);
+
+    /**
+     * 查询符合条件的总数
+     *
+     * @param criticalValue
+     * @return
+     */
+    Integer queryCountCriticalValue(CriticalValue criticalValue);
+
+
+    /**
+     * 分页查询记录
+     *
+     * @param criticalValue
+     * @return
+     */
+    List<CriticalValue> queryCriticalValueWithPage(CriticalValue criticalValue);
+}

+ 23 - 8
src/main/java/cn/hnthyy/thmz/webservice/impl/CriticalWebServiceImpl.java

@@ -3,9 +3,11 @@ package cn.hnthyy.thmz.webservice.impl;
 
 import cn.hnthyy.thmz.entity.his.mz.Employee;
 import cn.hnthyy.thmz.entity.his.zd.ZdDeptAll;
+import cn.hnthyy.thmz.entity.thmz.CriticalValue;
 import cn.hnthyy.thmz.mapper.his.zd.ZdDeptAllMapper;
 import cn.hnthyy.thmz.service.his.mz.EmployeeService;
 import cn.hnthyy.thmz.service.his.zd.ZdUnitCodeService;
+import cn.hnthyy.thmz.service.thmz.CriticalValueService;
 import cn.hnthyy.thmz.service.thmz.MessageService;
 import cn.hnthyy.thmz.webservice.CriticalWebService;
 import lombok.extern.slf4j.Slf4j;
@@ -27,9 +29,12 @@ public class CriticalWebServiceImpl implements CriticalWebService {
     private EmployeeService employeeService;
     @Autowired
     private ZdUnitCodeService zdUnitCodeService;
+    @Autowired
+    private CriticalValueService criticalValueService;
     @SuppressWarnings("all")
     @Autowired
     private ZdDeptAllMapper zdDeptAllMapper;
+
     @Override
     public String criticalAccept(String accessToken, String msg) {
         log.info("收到危急值信息:----->" + msg + "<-------");
@@ -111,13 +116,13 @@ public class CriticalWebServiceImpl implements CriticalWebService {
         }
         List<Employee> employees = employeeService.queryEmployeeByDept(zkWard != null ? zkWard : targetDeptCode.trim());
         List<ZdDeptAll> zdDeptAlls = zdDeptAllMapper.selectBySmallDept(zkWard != null ? zkWard : targetDeptCode.trim());
-        if(zdDeptAlls!=null && zdDeptAlls.size()>0){
-            for (ZdDeptAll zdDeptAll:zdDeptAlls){
-                if(StringUtils.isBlank(zdDeptAll.getDept())){
+        if (zdDeptAlls != null && zdDeptAlls.size() > 0) {
+            for (ZdDeptAll zdDeptAll : zdDeptAlls) {
+                if (StringUtils.isBlank(zdDeptAll.getDept())) {
                     continue;
                 }
                 List<Employee> tempList = employeeService.queryEmployeeByDept(zdDeptAll.getDept());
-                if(tempList==null || tempList.size()<=0){
+                if (tempList == null || tempList.size() <= 0) {
                     continue;
                 }
                 employees.addAll(tempList);
@@ -143,7 +148,7 @@ public class CriticalWebServiceImpl implements CriticalWebService {
         if (employees != null) {
             Set<String> fullCodes = new HashSet<>();
             for (Employee employee : employees) {
-                if(!fullCodes.contains(employee.getCodeRs())){
+                if (!fullCodes.contains(employee.getCodeRs())) {
                     if (codes == null) {
                         codes = employee.getCodeRs();
                     } else {
@@ -154,10 +159,20 @@ public class CriticalWebServiceImpl implements CriticalWebService {
             }
         }
         if (codes != null) {
-           String MsgID= (String) myJsonObject.get("MsgID");
-            messageService.sendWxMessage(codes, content.replaceAll("=",":").replaceAll(" ",""));
-            log.info("消息id=【"+MsgID+"】的危机值消息发布成功,接收人codes=【"+codes+"】");
+            String MsgID = (String) myJsonObject.get("MsgID");
+            content = content.replaceAll("=", ":").replaceAll(" ", "");
+            messageService.sendWxMessage(codes, content);
+            log.info("消息id=【" + MsgID + "】的危机值消息发布成功,接收人codes=【" + codes + "】");
             //messageService.sendWxMessage("01387,3210", content.replaceAll("=", ":").replaceAll(" ", ""));
+            try {
+                CriticalValue criticalValue = new CriticalValue();
+                criticalValue.setContent(content);
+                criticalValue.setEmployeeCodes(codes);
+                criticalValue.setCreateTime(new Date());
+                criticalValueService.saveCriticalValue(criticalValue);
+            }catch (Exception e){
+                e.printStackTrace();
+            }
         }
         resultMap.put("Code", "true");
         resultMap.put("Message", "");

+ 20 - 1
src/main/resources/otherSource/thyy_mz_system.sql

@@ -550,4 +550,23 @@ CREATE TABLE `t_evaluate`  (
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
 
-SET FOREIGN_KEY_CHECKS = 1;
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for t_critical_value
+-- ----------------------------
+DROP TABLE IF EXISTS `t_critical_value`;
+CREATE TABLE `t_critical_value`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT,
+  `employee_codes` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '危急值接收人编码串',
+  `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '危急值内容',
+  `create_time` datetime(0) NULL DEFAULT NULL COMMENT '记录时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 137 - 0
src/main/resources/static/js/mz/critical_value_list.js

@@ -0,0 +1,137 @@
+//@ sourceURL=critical_value_list.js
+$(function () {
+    daterangepicker(initCriticalValueList);
+    //重置查询参数
+    $('#btn_clean').click(function () {
+        $("#commonParams").val(null);
+        $('#reportrange span').html(moment().format('YYYY-MM-DD') + ' - ' + moment().format('YYYY-MM-DD'));
+        initCriticalValueList();
+    });
+
+
+});
+
+/**
+ * 获取时间选择器的时间数组
+ * @returns {string[]}
+ */
+function getRePortRangeArr() {
+    var rePortRange = $('#reportrange span').html();
+    var rePortRangeArr = rePortRange.split(" - ");
+    rePortRangeArr[0] = rePortRangeArr[0] + " 00:00:00"
+    rePortRangeArr[1] = rePortRangeArr[1] + " 23:59:59"
+    return rePortRangeArr;
+}
+
+
+
+
+
+/**
+ * 获取危急值列表
+ */
+function initCriticalValueList() {
+    $('#tb_table').bootstrapTable("destroy");
+    $('#tb_table').bootstrapTable({
+        url: '/thmz/getCriticalValueList',         //请求后台的URL(*)
+        method: 'post',                      //请求方式(*)
+        toolbar: '#toolbar',                //工具按钮用哪个容器
+        striped: true,                      //是否显示行间隔色
+        cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
+        pagination: true,                   //是否显示分页(*)
+        sortable: true,                     //是否启用排序
+        sortOrder: "desc",                   //排序方式
+        queryParams: queryParams,           //传递参数(*)
+        sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
+        pageNumber: 1,                       //初始化加载第一页,默认第一页
+        pageSize: 5,                       //每页的记录行数(*)
+        pageList: [10, 15, 25, 50, 100],        //可供选择的每页的行数(*)
+        search: false,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
+        strictSearch: true,
+        showColumns: false,                  //是否显示所有的列
+        showRefresh: false,                  //是否显示刷新按钮
+        minimumCountColumns: 2,             //最少允许的列数
+        clickToSelect: true,                //是否启用点击选中行
+        uniqueId: "ID",                     //每一行的唯一标识,一般为主键列
+        showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
+        cardView: false,                    //是否显示详细视图
+        detailView: false,
+        //rowStyle:rowStyle,//通过自定义函数设置行样式
+        ajaxOptions: {
+            headers: {
+                'Accept': 'application/json',
+                'Authorization': 'Bearer ' + localStorage.getItem("token")
+            }
+        },
+        columns: [
+            // {
+            //     title: '操作',
+            //     field: 'op',
+            //     align: "center",
+            //     valign: 'middle',
+            //     formatter: function (value, row, index) {
+            //         var str = '<button type="button" class="btn btn-primary  btn-sm" onclick="showPatientModal(\'' + row.parentPatientId + '\')">被检人列表<i class="fa fa-area-chart" style="margin-left: 10px;"></i></button>';
+            //         return [str].join('');
+            //     }
+            // },
+            {
+                field: 'content',
+                title: '危急值',
+                align: "center",
+                valign: 'middle'
+            }
+            , {
+                field: 'createTime',
+                title: '发生时间',
+                align: "center",
+                valign: 'middle',
+                formatter: function (value, row, index) {
+                    if (value == null || value == "") {
+                        return "";
+                    }
+                    return format(value, "yyyy-MM-dd HH:mm:ss");
+                }
+            }
+        ],
+        responseHandler: function (res) {
+            if (res == '401' || res == 401) {
+                window.location.href = '/thmz/login/view'
+                return;
+            }
+            var ress = eval(res);
+            if (ress.code == -1) {
+                if (ress.message != null && ress.message != '') {
+                   errorMesage(ress);
+                }
+                return {
+                    "total": 0,//总页数
+                    "rows": {}   //数据
+                };
+            }
+            return {
+                "total": ress.total,//总页数
+                "rows": ress.data   //数据
+            };
+        },
+    });
+}
+
+
+/**
+ * 构建列表查询参数
+ * @param params
+ * @returns {{mzChargeDetail: {patientId: string | number | string[] | undefined | jQuery, warnDept: string | number | string[] | undefined | jQuery, doctorCode: string | number | string[] | undefined | jQuery, name: string | number | string[] | undefined | jQuery, payMark: number}, beginTime: Date, endTime: Date, pageSize: *, pageIndex: number}}
+ */
+function queryParams(params) {
+    var rePortRangeArr = getRePortRangeArr();
+    var temp = {   //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
+        commonParams: $("#commonParams").val(),
+        beginDate: rePortRangeArr[0],
+        endDate: rePortRangeArr[1],
+        pageSize: params.limit,   //页面大小
+        offset: params.offset
+    };
+    return temp;
+}
+
+

+ 51 - 0
src/main/resources/templates/mz/critical_value_list.html

@@ -0,0 +1,51 @@
+<link rel="stylesheet" href="/thmz/css/bootstrap/css/bootstrap-select.css"/>
+<link rel="stylesheet" href="/thmz/css/bootstrap/css/daterangepicker.css"/>
+<link rel="stylesheet" href="/thmz/css/custom.min.css">
+<script src="/thmz/js/dependent/bootstrap-select.js"></script>
+<script src="/thmz/js/common/map-util.js"></script>
+<script src="/thmz/js/dependent/daterangepicker.js"></script>
+<script src="/thmz/js/common/date-util.js"></script>
+<script src="/thmz/js/mz/critical_value_list.js"></script>
+<title>危急值列表</title>
+<!-- 打印的样式-->
+<style media="print">
+    @page {
+        size: auto;
+        margin: 0mm;
+    }
+</style>
+<div class="row" style="height: calc(100% - 60px);overflow-y: auto;">
+    <div class="col-md-12 col-sm-12 col-xs-12">
+        <div class="x_panel">
+            <div class="panel-body">
+                <form id="formSearch" class="form-horizontal" autocomplete="off">
+                    <div class="form-group" style="margin-top:15px">
+                        <label class="control-label col-sm-1" for="commonParams" style="width: 12%;">患者住院号/姓名</label>
+                        <div class="col-md-2 col-sm-2 col-xs-12" style="width: 15%;float: left;">
+                            <input type="text" class="form-control" id="commonParams" onchange="initCriticalValueList()" placeholder="患者住院号/姓名">
+                        </div>
+                        <label class="control-label col-md-1 col-sm-1 col-xs-12" for="reportrange" style="width: 75px;">
+                            混采时间
+                        </label>
+                        <div class="col-md-2 col-sm-2 col-xs-12" style="width: 220px;">
+                            <div id="reportrange" class="pull-left"
+                                 style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc;">
+                                <i class="glyphicon glyphicon-calendar fa fa-calendar"></i>
+                                <span>December 30, 2014 - January 28, 2015</span> <b class="caret"></b>
+                            </div>
+                        </div>
+                        <button type="button" style="margin-left:5px;width: 4%;" id="btn_clean" class="btn btn-primary"
+                                title="重置"><i class="fa fa-rotate-left"></i>
+                        </button>
+                    </div>
+                </form>
+            </div>
+        </div>
+        <table id="tb_table"></table>
+    </div>
+</div>
+
+
+
+
+