Jelajahi Sumber

校期预警开发,护士退药单费用处理,门诊退药时间处理

WANGJIALIANG 2 tahun lalu
induk
melakukan
2fe32c757e

+ 33 - 7
src/main/java/cn/hnthyy/thmz/controller/yf/YfIncomingRecordsController.java

@@ -2,7 +2,10 @@ package cn.hnthyy.thmz.controller.yf;
 
 import cn.hnthyy.thmz.comment.UserLoginToken;
 import cn.hnthyy.thmz.entity.his.mz.Employee;
-import cn.hnthyy.thmz.entity.his.yp.*;
+import cn.hnthyy.thmz.entity.his.yp.YpInDetlYf;
+import cn.hnthyy.thmz.entity.his.yp.YpInDetlYfCk;
+import cn.hnthyy.thmz.entity.his.yp.YpZdDict;
+import cn.hnthyy.thmz.entity.his.yp.YpZdManufactory;
 import cn.hnthyy.thmz.enums.InTypeEnum;
 import cn.hnthyy.thmz.service.his.mz.EmployeeService;
 import cn.hnthyy.thmz.service.his.yp.YpInDetlService;
@@ -10,14 +13,12 @@ import cn.hnthyy.thmz.service.his.yp.YpInDetlYfService;
 import cn.hnthyy.thmz.service.his.yp.YpZdDictService;
 import cn.hnthyy.thmz.service.his.yp.YpZdManufactoryService;
 import cn.hnthyy.thmz.service.his.zd.ZdUnitCodeService;
+import cn.hnthyy.thmz.vo.YpEffDateVo;
 import cn.hnthyy.thmz.vo.YpInDetlVo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.HashMap;
 import java.util.List;
@@ -299,10 +300,11 @@ public class YfIncomingRecordsController {
      */
     @UserLoginToken
     @RequestMapping(value = "/getYpInDetlYfEffDate", method = {RequestMethod.GET})
-    public Map<String, Object> getYpInDetlYfEffDate(@RequestParam("groupNo") String groupNo, @RequestParam("chargeCode") String chargeCode) {
+    public Map<String, Object> getYpInDetlYfEffDate(@RequestParam(value = "groupNo") String groupNo, @RequestParam(value = "effMonth") Integer effMonth
+            , @RequestParam(value = "chargeCode",required = false) String chargeCode) {
         Map<String, Object> resultMap = new HashMap<>();
         try {
-            List<Map<String, Object>> ypInDetlYfs = ypInDetlYfService.queryYpInDetlYfEffDate(groupNo, chargeCode);
+            List<YpEffDateVo> ypInDetlYfs = ypInDetlYfService.queryYpInDetlYfEffDate(groupNo, chargeCode, effMonth);
             resultMap.put("code", 0);
             resultMap.put("message", "查询药品效期成功");
             resultMap.put("data", ypInDetlYfs);
@@ -315,4 +317,28 @@ public class YfIncomingRecordsController {
             return resultMap;
         }
     }
+
+    /**
+     * 设置药品效期状态为不显示
+     *
+     * @param ypInDetlYfs
+     * @return
+     */
+    @UserLoginToken
+    @RequestMapping(value = "/updateEffDelFlag", method = {RequestMethod.POST})
+    public Map<String, Object> updateEffDelFlag(@RequestBody List<YpInDetlYf> ypInDetlYfs) {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            resultMap.put("code", 0);
+            resultMap.put("message", "设置药品效期状态成功");
+            resultMap.put("data", ypInDetlYfService.updateEffDelFlag(ypInDetlYfs));
+            return resultMap;
+        } catch (Exception e) {
+            e.printStackTrace();
+            resultMap.put("code", -1);
+            resultMap.put("message", "设置药品效期状态失败,错误信息:【" + e.getMessage() + "】");
+            log.error("设置药品效期状态失败,错误信息:[]", e);
+            return resultMap;
+        }
+    }
 }

+ 1 - 1
src/main/java/cn/hnthyy/thmz/mapper/his/mz/MzPharmacyMapper.java

@@ -313,7 +313,7 @@ public interface MzPharmacyMapper {
      * @param mzRefundMedicineVo
      * @return
      */
-    @Update("update yp_mz_fytj set confirm_flag =#{confirmFlag},input_time=#{inputTime} where patient_id =#{patientId} and times =#{times} and receipt_no =-#{receiptNo}" +
+    @Update("update yp_mz_fytj set confirm_flag =#{confirmFlag},input_time=#{inputTime},confirm_time=#{confirmTime} where patient_id =#{patientId} and times =#{times} and receipt_no =-#{receiptNo}" +
             " and order_no =#{orderNo} and real_no =-#{realNo}  ")
     int updateFytjConfirmFlag(MzRefundMedicineVo mzRefundMedicineVo);
 

+ 22 - 6
src/main/java/cn/hnthyy/thmz/mapper/his/yp/YpInDetlYfMapper.java

@@ -2,12 +2,13 @@ package cn.hnthyy.thmz.mapper.his.yp;
 
 import cn.hnthyy.thmz.entity.his.yp.YpInDetlYf;
 import cn.hnthyy.thmz.entity.his.yp.YpInDetlYfCk;
+import cn.hnthyy.thmz.vo.YpEffDateVo;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * 药房药品入库持久化类
@@ -158,15 +159,16 @@ public interface YpInDetlYfMapper {
             "  a.in_date,\n" +
             "  a.charge_code,\n" +
             "  a.serial,\n" +
+            "  a.in_seri,\n" +
             "  a.current_stock,\n" +
             "  a.manu_code,\n" +
             "  a.in_docu_no,\n" +
             "  a.eff_date,\n" +
             "  a.license_no,\n" +
             "  a.eff_del_flag,\n" +
-            "  drugname=b.name,\n" +
+            "  b.name,\n" +
             "  specification = b.specification,\n" +
-            "  manu_name = c.name,\n" +
+            "  manufactory_name = c.name,\n" +
             "  xq=datediff(month,getdate(),a.eff_date),\n" +
             "  b.py_code,\n" +
             "  b.d_code\n" +
@@ -175,9 +177,11 @@ public interface YpInDetlYfMapper {
             "     (select charge_code,stock_amount=sum(stock_amount) from yp_base_yf where group_no = #{groupNo} group by charge_code) d\n" +
             "     where a.charge_code=b.code and\n" +
             "           a.serial=b.serial and\n" +
-            "          datediff(dd,getdate(),a.eff_date)<![CDATA[<=]]>90 and\n" +
+            "          datediff(month,getdate(),a.eff_date)<![CDATA[<=]]>#{effMonth} and\n" +
             "          a.group_no = #{groupNo} and\n" +
-            "          a.charge_code = #{chargeCode} and\n" +
+            "<when test='chargeCode != null and chargeCode != \"\"'>" +
+            "  a.charge_code = #{chargeCode} and" +
+            "</when>" +
             "          a.charge_code = d.charge_code and\n" +
             "          d.stock_amount <![CDATA[>]]> 0 and\n" +
             "          isnull(a.eff_del_flag,'0')='0' and\n" +
@@ -185,5 +189,17 @@ public interface YpInDetlYfMapper {
             "          isnull(b.del_flag,'0')<![CDATA[<>]]>'1'\n" +
             "     order by xq,a.charge_code" +
             "</script>")
-    List<Map<String, Object>> selectYpInDetlYfEffDate(@Param("groupNo") String groupNo, @Param("chargeCode") String chargeCode);
+    List<YpEffDateVo> selectYpInDetlYfEffDate(@Param("groupNo") String groupNo, @Param("chargeCode") String chargeCode, @Param("effMonth") Integer effMonth);
+
+
+    /**
+     * 更新有效期显示状态
+     *
+     * @param ypInDetlYf
+     * @return
+     */
+    @Update("<script>"+
+            "update yp_in_detl_yf set eff_del_flag=1 where in_docu_no=#{ypInDetlYf.inDocuNo} and in_seri=#{ypInDetlYf.inSeri}" +
+            "</script>")
+    int updateEffDelFlag(@Param("ypInDetlYf") YpInDetlYf ypInDetlYf);
 }

+ 11 - 2
src/main/java/cn/hnthyy/thmz/service/his/yp/YpInDetlYfService.java

@@ -2,9 +2,9 @@ package cn.hnthyy.thmz.service.his.yp;
 
 import cn.hnthyy.thmz.entity.his.yp.YpInDetlYf;
 import cn.hnthyy.thmz.entity.his.yp.YpInDetlYfCk;
+import cn.hnthyy.thmz.vo.YpEffDateVo;
 
 import java.util.List;
-import java.util.Map;
 
 public interface YpInDetlYfService {
 
@@ -32,7 +32,16 @@ public interface YpInDetlYfService {
      * 药品效期查询
      * @param groupNo
      * @param chargeCode
+     * @param effMonth
      * @return
      */
-    List<Map<String, Object>> queryYpInDetlYfEffDate(String groupNo, String chargeCode);
+    List<YpEffDateVo> queryYpInDetlYfEffDate(String groupNo, String chargeCode, Integer effMonth);
+
+    /**
+     * 更新有效期显示状态
+     *
+     * @param ypInDetlYfs
+     * @return
+     */
+    int updateEffDelFlag(List<YpInDetlYf> ypInDetlYfs);
 }

+ 2 - 2
src/main/java/cn/hnthyy/thmz/service/impl/his/yf/YfWardPrescriptionServiceImpl.java

@@ -528,8 +528,8 @@ public class YfWardPrescriptionServiceImpl implements YfWardPrescriptionService
                             zyDetailChargeNew.setChargeDate(now);
                             zyDetailChargeNew.setGenTime(now);
                             zyDetailChargeNew.setOpIdCode(yzYpZyOrder.getDrawer());
-                            /*zyDetailChargeMapper.insertZyDetailCharge(zyDetailChargeNew);
-                            YzActOrder yzActOrder = new YzActOrder();
+                            zyDetailChargeMapper.insertZyDetailCharge(zyDetailChargeNew);
+                            /*YzActOrder yzActOrder = new YzActOrder();
                             yzActOrder.setOrderName("退药-"+ypZdDictMapper.selectYpZdDictByCodeAndSerial(yzYpZyOrder.getChargeCode(),yzYpZyOrder.getSerial()).getName());
                             yzActOrder.setEnterOper(yzYpZyOrder.getDrawer());
                             yzActOrder.setDrugQuan((float)-zyDetailChargeNew.getChargeAmount());

+ 11 - 3
src/main/java/cn/hnthyy/thmz/service/impl/his/yp/YpInDetlYfServiceImpl.java

@@ -4,11 +4,11 @@ import cn.hnthyy.thmz.entity.his.yp.YpInDetlYf;
 import cn.hnthyy.thmz.entity.his.yp.YpInDetlYfCk;
 import cn.hnthyy.thmz.mapper.his.yp.YpInDetlYfMapper;
 import cn.hnthyy.thmz.service.his.yp.YpInDetlYfService;
+import cn.hnthyy.thmz.vo.YpEffDateVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * @description:
@@ -37,7 +37,15 @@ public class YpInDetlYfServiceImpl implements YpInDetlYfService {
     }
 
     @Override
-    public List<Map<String, Object>> queryYpInDetlYfEffDate(String groupNo, String chargeCode) {
-        return ypInDetlYfMapper.selectYpInDetlYfEffDate(groupNo, chargeCode);
+    public List<YpEffDateVo> queryYpInDetlYfEffDate(String groupNo, String chargeCode, Integer effMonth) {
+        return ypInDetlYfMapper.selectYpInDetlYfEffDate(groupNo, chargeCode, effMonth);
+    }
+
+    @Override
+    public int updateEffDelFlag(List<YpInDetlYf> ypInDetlYfs) {
+        for (int i = 0; i < ypInDetlYfs.size(); i++) {
+            ypInDetlYfMapper.updateEffDelFlag(ypInDetlYfs.get(i));
+        }
+        return 1;
     }
 }

+ 39 - 0
src/main/java/cn/hnthyy/thmz/vo/YpEffDateVo.java

@@ -0,0 +1,39 @@
+package cn.hnthyy.thmz.vo;
+
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 药品有效期视图类
+ */
+@Data
+public class YpEffDateVo {
+    //入库单号
+    private String inDocuNo;
+    //入库时间
+    private Date inDate;
+    //入库序号
+    private Integer inSeri;
+    //药品编码
+    private String chargeCode;
+    //包装序号
+    private String serial;
+    //效期
+    private Date effDate;
+    //厂家
+    private String manuCode;
+    //有效期提醒是否显示
+    private String effDelFlag;
+    //药品名字
+    private String name;
+    //药品规格
+    private String specification;
+    //厂家名称
+    private String manufactoryName;
+    //现时库存
+    private Double currentStock;
+    //剩余有效月数
+    private Double xq;
+}

+ 71 - 56
src/main/resources/static/js/yf/yf_inventory_list.js

@@ -24,14 +24,18 @@ $(function () {
     initSearchList('<div id="medicinePopoverContent"><table id="tb_table_medicine"></table></div>',
         'searchTextEff', 600, 200);
     $('#searchTextEff').on('input focus', function (e) {
+        if ($('#searchTextEff').val().length == 0) {
+            $('#chargeCode').val("");
+        }
+        let data ={
+            searchText: $("#searchTextEff").val() == "" ? null : $("#searchTextEff").val(),
+            groupNo: $("#groupNoSearchText").val()[0],
+            delFlag: 0
+        };
         showDrugPopover({
-            method: 'POST',
-            data: JSON.stringify({
-                searchText: $("#searchTextEff").val() == "" ? null : $("#searchTextEff").val(),
-                groupNo: $("#groupNoSearchText").val(),
-                delFlag: 0
-            }),
-            url: '/thmz/'+($("#groupNoSearchText").val()>=61?'getYpBaseYfLike':'getYpZdDictBase'),
+            method: ($("#groupNoSearchText").val()>=61?'GET':'POST'),
+            data: $("#groupNoSearchText").val()>=61?data:JSON.stringify(data),
+            url: '/thmz/'+($("#groupNoSearchText").val()[0]>=61?'getYpBaseYfLike':'getYpZdDictBase'),
             columns: [
                 {
                     field: 'stockAmount',
@@ -41,6 +45,9 @@ $(function () {
                 }],
             onClickRow: function (row, $element) {
                 $('#searchTextEff').webuiPopover('hide');
+                $("#searchTextEff").val(row.name);
+                $("#chargeCode").val(row.code);
+                initEffDateTable();
             }
         });
     });
@@ -48,7 +55,7 @@ $(function () {
         exportExcel();
     });
     $('#btn_eff_date').on('click',function(e){
-        $("#pharmacyModal").modal("show");
+        $("#effModal").modal("show");
         initEffDateTable()
     });
 });
@@ -154,25 +161,25 @@ function getChildCom(node){
 /**
  * 校期列表
  */
-function initEffDateTable(chargeCode) {
+function initEffDateTable() {
     $('#eff_table').bootstrapTable('destroy');
     $('#eff_table').bootstrapTable({
         url: '/thmz/getYpInDetlYfEffDate',         //请求后台的URL(*)
         method: 'GET',                      //请求方式(*)
-        toolbar: '#toolbar',                //工具按钮用哪个容器
         striped: true,                      //是否显示行间隔色
         cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
         pagination: true,                   //是否显示分页(*)
         sortable: true,                     //是否启用排序
         sortOrder: "asc",                   //排序方式
         queryParams: {
-            chargeCode: chargeCode,
-            groupNo: $("#groupNoSearchText").val()
+            chargeCode: isEmpty($("#chargeCode").val())?null:$("#chargeCode").val(),
+            groupNo: $("#groupNoSearchText").val()[0],
+            effMonth: $("#effMonthSearch").val()
         },           //传递参数(*)
-        sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
+        sidePagination: "client",           //分页方式:client客户端分页,server服务端分页(*)
         pageNumber: 1,                       //初始化加载第一页,默认第一页
-        pageSize: 15,                       //每页的记录行数(*)
-        pageList: [15, 20, 30, 50],        //可供选择的每页的行数(*)
+        pageSize: 10,                       //每页的记录行数(*)
+        pageList: [10, 20, 30, 50],        //可供选择的每页的行数(*)
         search: false,                       //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
         strictSearch: true,
         showColumns: false,                  //是否显示所有的列
@@ -196,80 +203,55 @@ function initEffDateTable(chargeCode) {
                 align: "center",
                 valign: 'middle'
             },{
-                field: 'location',
+                field: 'xq',
                 title: '校期',
                 align: "center",
-                width: 80,
                 valign: 'middle'
             }, {
-                field: 'code',
+                field: 'inDate',
                 title: '入库日期',
                 align: "center",
-                width: 50,
-                valign: 'middle'
+                valign: 'middle',
+                formatter: function (value, row, index) {
+                    return value == null ? "-" : format(value, "yyyy-MM-dd HH:mm:ss");
+                }
             }, {
-                field: 'code',
+                field: 'chargeCode',
                 title: '药品编码',
                 align: "left",
-                width: 150,
                 valign: 'middle'
             }, {
                 field: 'name',
                 title: '药品名',
                 align: "left",
-                width: 150,
                 valign: 'middle'
             },
             {
-                field: 'stockAmountMz',
+                field: 'specification',
                 title: '规格',
                 align: "center",
-                valign: 'middle',
-                width: 80,
-                visible: isMultiple==0?false:true,
-                formatter: function (value, row, index) {
-                    return Math.floor(value * 100) / 100;
-                },
-                cellStyle:function (value, row, index) {
-                    if(row.visibleFlagMz == 0){
-                        return {css:{background:'red'}};
-                    }
-                    return {css:{}};
-                }
+                valign: 'middle'
             },
             {
-                field: 'stockAmountZy',
+                field: 'effDate',
                 title: '有效期',
                 align: "center",
                 valign: 'middle',
-                width: 80,
-                visible: isMultiple==0?false:true,
                 formatter: function (value, row, index) {
-                    return Math.floor(value * 100) / 100;
-                },
-                cellStyle:function (value, row, index) {
-                    if(row.visibleFlagMz == 0){
-                        return {css:{background:'red'}};
-                    }
-                    return {css:{}};
+                    return value == null ? "-" : format(value, "yyyy-MM-dd");
                 }
             },
             {
-                field: 'stockAmountDz',
+                field: 'manufactoryName',
                 title: '生产厂商',
                 align: "center",
-                valign: 'middle',
-                width: 80,
-                visible: isMultiple==0?false:true,
-                formatter: function (value, row, index) {
-                    return Math.floor(value * 100) / 100;
-                }
+                valign: 'middle'
             }
         ],
         rowStyle: function (row, index) {
-            if (isMultiple == 0 && row.visibleFlagMz == 1 && row.visibleFlagZy == 1) {
+            /*if (isMultiple == 0 && row.visibleFlagMz == 1 && row.visibleFlagZy == 1) {
                 return { css: { 'background-color': 'red' } };
-            }
+            }*/
             return {css:{}}
         },
         responseHandler: function (res) {
@@ -579,6 +561,12 @@ function initTable(classCode) {
             }
             return {css:{}}
         },
+        onDblClickRow: function (row) {
+            $("#effModal").modal("show");
+            $("#chargeCode").val(row.code);
+            $("#searchTextEff").val(row.name);
+            initEffDateTable();
+        },
         responseHandler: function (res) {
             if (res == '401' || res == 401) {
                 window.location.href = '/thmz/login/view'
@@ -592,7 +580,6 @@ function initTable(classCode) {
                     "rows": {}   //数据
                 };
             }
-
             return {
                 "total": ress.total,//总页数
                 "rows": ress.data   //数据
@@ -650,6 +637,34 @@ function resetVirtual() {
     });
 }
 
+/**
+ * 修改有限期显示状态
+ */
+function saveEff(){
+    var row = $("#eff_table").bootstrapTable('getSelections');
+    if(row.length < 1){
+        return;
+    }
+    var datas = [];
+    var i = 0;
+    row.forEach(function (item, index, arr) {
+        var tem = {
+            "inDocuNo": item.inDocuNo,
+            "inSeri": item.inSeri
+        }
+        datas[i] = tem;
+        i++
+    });
+    request({
+        url: '/updateEffDelFlag',
+        method: 'POST',
+        data: JSON.stringify(datas)
+    }).then((res) => {
+        successMesage(res);
+        initEffDateTable();
+    });
+}
+
 /**
  * 导出excel
  */

+ 40 - 16
src/main/resources/templates/yf/yf_inventory_list.html

@@ -1,9 +1,11 @@
 <link rel="stylesheet" href="/thmz/css/bootstrap/css/bootstrap-select.css"/>
 <link rel="stylesheet" href="/thmz/css/bootstrap/css/bootstrap-treeview.css"/>
 <link rel="stylesheet" href="/thmz/css/toll_administration.css">
+<link rel="stylesheet" href="/thmz/css/jquery.webui-popover.min.css">
 <script src="/thmz/js/dependent/bootstrap-select.js"></script>
 <script src="/thmz/js/dependent/bootstrap-treeview.js"></script>
 <script src="/thmz/js/jqGrid/grid.locale-cn.js"></script>
+<script src="/thmz/js/dependent/jquery.webui-popover.min.js"></script>
 <script src="/thmz/js/common/pharmacy-com.js"></script>
 <script src="/thmz/js/yf/yf_inventory_list.js"></script>
 <div class="row" style="height: calc(100% - 60px);overflow-y: auto;">
@@ -47,10 +49,10 @@
                                 title="重置" onclick="resetSearch()"><i class="fa fa-rotate-left"></i>
                         </button>
                         <button type="button" id="btn_reset_virtual" class="btn btn-primary"
-                                title="平虚库存" onclick="resetVirtual()"><i class="fa fa-check-square-o">平虚库存</i>
+                                title="平虚库存" onclick="resetVirtual()">平虚库存</i>
                         </button>
                         <button type="button" id="btn_eff_date" class="btn btn-primary"
-                                title="效期预警"><i class="fa fa-check-square-o">效期预警</i>
+                                title="效期预警">效期预警</i>
                         </button>
                         <button type="button" id="export_excel" class="btn btn-primary"
                                 title="导出Excel"><i class="fa fa-file-excel-o"></i>
@@ -71,31 +73,53 @@
 </div>
 
 <!--校期提示弹窗开始-->
-<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-hidden="true" id="editModal">
+<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-hidden="true" id="effModal">
     <div class="modal-dialog modal-lg">
         <div class="modal-content" style="width: 1100px;margin-left: -20px;margin-top: 120px;">
             <div class="modal-header">
                 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
                 </button>
-                <h4 class="modal-title modal-title-thmz">药品请领【<span id="classTitle">新增</span>】</h4>
+                <h4 class="modal-title modal-title-thmz">药品效期预警</h4>
             </div>
             <div class="modal-body" style="background: #EBEBE4;">
-                <div class="col-md-12 col-sm-12 col-xs-12 ">
-                    <div class="col-md-3 col-sm-3 col-xs-12 ">
-                        <div class="input-group">
-                            <input type="text" id="searchTextEff" class="form-control" placeholder="药品名称" autocomplete="off">
-                            <span class="input-group-addon"><i class="glyphicon glyphicon-search"></i></span>
+                <form class="form-horizontal form-label-left" novalidate>
+                    <div class="col-md-12 col-sm-12 col-xs-12">
+                        <div class="item form-group ">
+                            <div class="col-md-12 col-sm-12 col-xs-12 ">
+                                <input id="chargeCode" class="form-control optional" type="hidden">
+                                <div class="col-md-4 col-sm-4 col-xs-12 item isXy">
+                                    <label class="control-label col-md-4 col-sm-4 col-xs-12"
+                                           for="effMonthSearch">剩余有效期</label>
+                                    <div class="col-md-8 col-sm-8 col-xs-12">
+                                        <select class="form-control selectpicker show-tick" required="required" title="请选择"
+                                                id="effMonthSearch">
+                                            <option value="1">1个月内</option>
+                                            <option value="3" selected>3个月内</option>
+                                            <option value="6">6个月内</option>
+                                            <option value="12">12个月内</option>
+                                        </select>
+                                    </div>
+                                </div>
+                                <label class="control-label col-md-1 col-sm-1 col-xs-12" for="searchTextEff">药品
+                                </label>
+                                <div class="col-md-2 col-sm-2 col-xs-12">
+                                    <input id="searchTextEff" class="form-control optional" type="text">
+                                </div>
+                                <button type="button" style="margin-left:3px" onclick="initEffDateTable()"
+                                        class="btn btn-primary"
+                                        title="查询"><i class="fa fa-search"></i>
+                                </button>
+                                <button type="button" id="btn_save_eff" class="btn btn-primary"
+                                        title="保存选中的药品入库记录为不显示状态" onclick="saveEff()">保存</i>
+                                </button>
+                            </div>
                         </div>
                     </div>
-                </div>
-                <table id="eff_table" style="height: 300px;"></table>
-            </div>
-            <div class="modal-footer">
-                <input id="requestId" type="hidden"/>
-                <button type="button" class="btn btn-primary" id="btn_save">保存</button>
-                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+                </form>
+                <table id="eff_table"></table>
             </div>
         </div>
     </div>
 </div>
+</div>
 <!--校期提示弹窗结尾-->