Przeglądaj źródła

门诊病人信息修改完成

hurugang 6 lat temu
rodzic
commit
e757e54f8c

+ 3 - 0
src/main/java/cn/hnthyy/thmz/Utils/StringUtil.java

@@ -165,6 +165,9 @@ public class StringUtil {
      * @return
      */
     public static List<String> formatToList(String ids) {
+        if("null".equals(ids)){
+            ids=null;
+        }
         if (StringUtils.isNotBlank(ids)) {
             String[] arr = ids.split(",");
             if (arr != null && arr.length > 0) {

+ 123 - 58
src/main/java/cn/hnthyy/thmz/controller/MzPatientMiController.java

@@ -4,8 +4,8 @@ import cn.hnthyy.thmz.Utils.IDCardUtil;
 import cn.hnthyy.thmz.Utils.StringUtil;
 import cn.hnthyy.thmz.comment.UserLoginToken;
 import cn.hnthyy.thmz.entity.his.MzPatientMi;
+import cn.hnthyy.thmz.enums.YesNoEnum;
 import cn.hnthyy.thmz.service.his.MzPatientMiService;
-import cn.hnthyy.thmz.service.his.MzSerialNoService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,8 +20,6 @@ import java.util.Map;
 public class MzPatientMiController {
     @Autowired
     private MzPatientMiService mzPatientMiService;
-    @Autowired
-    private MzSerialNoService mzSerialNoService;
 
     /**
      * 根据病人就诊卡号查询病人信息
@@ -120,80 +118,62 @@ public class MzPatientMiController {
     public Map<String, Object> savePatient(@RequestBody MzPatientMi mzPatientMi) {
         Map<String, Object> resultMap = new HashMap<>();
         try {
-            if (mzPatientMi == null) {
-                resultMap.put("code", -1);
-                resultMap.put("message", "病人信息不能为空");
-                return resultMap;
-            }
-            if (StringUtils.isBlank(mzPatientMi.getName())) {
-                resultMap.put("code", -1);
-                resultMap.put("message", "病人姓名不能为空");
-                return resultMap;
-            }
-            if (mzPatientMi.getAge() == null) {
-                resultMap.put("code", -1);
-                resultMap.put("message", "病人年龄不能为空");
-                return resultMap;
-            }
-            if (mzPatientMi.getSex() == null) {
-                resultMap.put("code", -1);
-                resultMap.put("message", "病人性别不能为空");
-                return resultMap;
-            }
-            if (mzPatientMi.getBirthDay() == null) {
-                resultMap.put("code", -1);
-                resultMap.put("message", "病人出生日期不能为空");
-                return resultMap;
-            }
-            if (StringUtils.isBlank(mzPatientMi.getIcCardNo())) {
-                resultMap.put("code", -1);
-                resultMap.put("message", "病人卡号不能为空");
-                return resultMap;
-            }
-            if (StringUtils.isBlank(mzPatientMi.getPhoneNo())) {
-                resultMap.put("code", -1);
-                resultMap.put("message", "病人手机号码不能为空");
-                return resultMap;
-            }
-            if (StringUtils.isBlank(mzPatientMi.getResponseType())) {
-                resultMap.put("code", -1);
-                resultMap.put("message", "病人性质不能为空");
+            if (checkPatient(mzPatientMi, resultMap,YesNoEnum.NO)){
                 return resultMap;
             }
-            if (StringUtils.isBlank(mzPatientMi.getSocialNo())) {
+            List<MzPatientMi> mzPatientMis=mzPatientMiService.queryBySocialNo(mzPatientMi.getSocialNo(),null);
+            if(mzPatientMis!=null && mzPatientMis.size()>0){
                 resultMap.put("code", -1);
-                resultMap.put("message", "病人身份证号码不能为空");
+                resultMap.put("message", "保存病人信息失败,已经存在相同的身份证号码记录");
                 return resultMap;
             }
-            //校验身份证号码格式
-            String checkResult = IDCardUtil.IdentityCardVerification(mzPatientMi.getSocialNo());
-            if (StringUtils.isNotBlank(checkResult)) {
-                resultMap.put("code", -1);
-                resultMap.put("message", checkResult);
+            int num=mzPatientMiService.saveMzPatientMi(mzPatientMi);
+            if(num==1){
+                resultMap.put("code", 0);
+                resultMap.put("message", "保存病人信息成功");
+                resultMap.put("data",mzPatientMi);
                 return resultMap;
             }
-            //校验手机号码格式
-            checkResult = StringUtil.isPhone(mzPatientMi.getPhoneNo());
-            if (StringUtils.isNotBlank(checkResult)) {
-                resultMap.put("code", -1);
-                resultMap.put("message", checkResult);
+            resultMap.put("code", -1);
+            resultMap.put("message", "保存病人信息失败");
+            return resultMap;
+        } catch (Exception e) {
+            resultMap.put("code", -1);
+            resultMap.put("message", StringUtils.isBlank(e.getMessage())?"系统出错,请联系管理员":e.getMessage());
+            log.error("系统异常,错误信息{}", e.getMessage());
+            return resultMap;
+        }
+    }
+
+
+    /**
+     * 修改病人信息
+     *
+     * @return
+     */
+    @UserLoginToken
+    @RequestMapping(value = "/modifyPatient", method = {RequestMethod.POST})
+    public Map<String, Object> modifyPatient(@RequestBody MzPatientMi mzPatientMi) {
+        Map<String, Object> resultMap = new HashMap<>();
+        try {
+            if (checkPatient(mzPatientMi, resultMap,YesNoEnum.YES)){
                 return resultMap;
             }
-            List<MzPatientMi> mzPatientMis=mzPatientMiService.queryBySocialNo(mzPatientMi.getSocialNo());
+            List<MzPatientMi> mzPatientMis=mzPatientMiService.queryBySocialNo(mzPatientMi.getSocialNo(),mzPatientMi.getPatientId());
             if(mzPatientMis!=null && mzPatientMis.size()>0){
                 resultMap.put("code", -1);
-                resultMap.put("message", "保存病人信息失败,已经存在相同的身份证号码记录");
+                resultMap.put("message", "修改病人信息失败,已经存在相同的身份证号码记录");
                 return resultMap;
             }
-            int num=mzPatientMiService.saveMzPatientMi(mzPatientMi);
+            int num=mzPatientMiService.modifyMzPatientMi(mzPatientMi);
             if(num==1){
                 resultMap.put("code", 0);
-                resultMap.put("message", "保存病人信息成功");
+                resultMap.put("message", "修改病人信息成功");
                 resultMap.put("data",mzPatientMi);
                 return resultMap;
             }
             resultMap.put("code", -1);
-            resultMap.put("message", "保存病人信息失败");
+            resultMap.put("message", "修改病人信息失败");
             return resultMap;
         } catch (Exception e) {
             resultMap.put("code", -1);
@@ -202,4 +182,89 @@ public class MzPatientMiController {
             return resultMap;
         }
     }
+
+
+    /**
+     * 校验病人信息
+     * @param mzPatientMi
+     * @param resultMap
+     * @param yesNo 是否校验病人主键是否存在 yes 校验 no 反之
+     * @return
+     */
+    private boolean checkPatient(@RequestBody MzPatientMi mzPatientMi, Map<String, Object> resultMap, YesNoEnum yesNo) {
+        if (mzPatientMi == null) {
+            resultMap.put("code", -1);
+            resultMap.put("message", "病人信息不能为空");
+            return true;
+        }
+        if (YesNoEnum.YES.equals(yesNo) && StringUtils.isBlank(mzPatientMi.getPatientId())) {
+            resultMap.put("code", -1);
+            resultMap.put("message", "病人id不能为空");
+            return true;
+        }
+        if (StringUtils.isBlank(mzPatientMi.getName())) {
+            resultMap.put("code", -1);
+            resultMap.put("message", "病人姓名不能为空");
+            return true;
+        }
+        if (mzPatientMi.getAge() == null) {
+            resultMap.put("code", -1);
+            resultMap.put("message", "病人年龄不能为空");
+            return true;
+        }
+        if (mzPatientMi.getSex() == null) {
+            resultMap.put("code", -1);
+            resultMap.put("message", "病人性别不能为空");
+            return true;
+        }
+        if (mzPatientMi.getBirthDay() == null) {
+            resultMap.put("code", -1);
+            resultMap.put("message", "病人出生日期不能为空");
+            return true;
+        }
+        if (StringUtils.isBlank(mzPatientMi.getIcCardNo())) {
+            resultMap.put("code", -1);
+            resultMap.put("message", "病人卡号不能为空");
+            return true;
+        }
+        if (StringUtils.isBlank(mzPatientMi.getPhoneNo())) {
+            resultMap.put("code", -1);
+            resultMap.put("message", "病人手机号码不能为空");
+            return true;
+        }
+        if (StringUtils.isBlank(mzPatientMi.getResponseType())) {
+            resultMap.put("code", -1);
+            resultMap.put("message", "病人性质不能为空");
+            return true;
+        }
+        if (StringUtils.isBlank(mzPatientMi.getSocialNo())) {
+            resultMap.put("code", -1);
+            resultMap.put("message", "病人身份证号码不能为空");
+            return true;
+        }
+        //校验身份证号码格式
+        String checkResult = IDCardUtil.IdentityCardVerification(mzPatientMi.getSocialNo());
+        if (StringUtils.isNotBlank(checkResult)) {
+            resultMap.put("code", -1);
+            resultMap.put("message", checkResult);
+            return true;
+        }
+        //校验手机号码格式
+        checkResult = StringUtil.isPhone(mzPatientMi.getPhoneNo());
+        if (StringUtils.isNotBlank(checkResult)) {
+            resultMap.put("code", -1);
+            resultMap.put("message", checkResult);
+            return true;
+        }
+        //如果紧急联系人电话不为空,校验紧急联系电话号码
+        if(StringUtils.isNotBlank(mzPatientMi.getContractName())){
+            checkResult = StringUtil.isPhone(mzPatientMi.getContractName());
+            if(StringUtils.isNotBlank(checkResult)){
+                resultMap.put("code", -1);
+                resultMap.put("message", checkResult);
+                return true;
+            }
+        }
+        return false;
+    }
 }

+ 3 - 1
src/main/java/cn/hnthyy/thmz/entity/his/MzPatientMi.java

@@ -31,7 +31,7 @@ public class MzPatientMi {
     //费用类别 1-普通 2 -儿科 无特殊意义了
     private String chargeType;
     //就诊次数
-    private Integer times=1;
+    private Integer times;
     //预约删除标志
     private Integer reqdelMark;
     //年龄
@@ -50,6 +50,8 @@ public class MzPatientMi {
     private String firstDate;
     //联系人
     private String relName;
+    //借用为紧急联系人电话
+    private String contractName;
 
     //最后一次访问日期 字符串
     private String lvDateStr;

+ 25 - 13
src/main/java/cn/hnthyy/thmz/mapper/his/MzPatientMiMapper.java

@@ -16,7 +16,7 @@ public interface MzPatientMiMapper {
      */
     @Select("select rtrim(social_no) social_no,rtrim(hic_no) hic_no,rtrim(name) name,rtrim(sex) sex,lv_date,rtrim(patient_id) patient_id,rtrim(p_bar_code) p_bar_code," +
             "rtrim(baddebt_mark) baddebt_mark,rtrim(response_type) response_type,rtrim(charge_type) charge_type,times,rtrim(reqdel_mark) reqdel_mark,age,birth_day," +
-            "rtrim(ic_card_no) ic_card_no,rtrim(phone_no) phone_no,rtrim(adress) address,rtrim(yb_card_no) yb_card_no,first_date,rtrim(rel_name) rel_name from mz_patient_mi  where  ic_card_no =#{icCardNo}")
+            "rtrim(ic_card_no) ic_card_no,rtrim(phone_no) phone_no,rtrim(adress) address,rtrim(yb_card_no) yb_card_no,first_date,rtrim(rel_name) rel_name,rtrim(contract_name) contract_name from mz_patient_mi  where  ic_card_no =#{icCardNo}")
     MzPatientMi selectByIcCardNo(@Param("icCardNo") String icCardNo);
 
 
@@ -28,7 +28,7 @@ public interface MzPatientMiMapper {
     @Select({"<script>",
             " select top ${pageSize} rtrim(social_no) social_no,rtrim(hic_no) hic_no,rtrim(name) name,rtrim(sex) sex,lv_date,rtrim(patient_id) patient_id,rtrim(p_bar_code) p_bar_code,",
             "rtrim(baddebt_mark) baddebt_mark,rtrim(response_type) response_type,rtrim(charge_type) charge_type,times,rtrim(reqdel_mark) reqdel_mark,age,birth_day," ,
-            "rtrim(ic_card_no) ic_card_no,rtrim(phone_no) phone_no,rtrim(adress) address,rtrim(yb_card_no) yb_card_no,first_date,rtrim(rel_name) rel_name from   " ,
+            "rtrim(ic_card_no) ic_card_no,rtrim(phone_no) phone_no,rtrim(adress) address,rtrim(yb_card_no) yb_card_no,first_date,rtrim(rel_name) rel_name,rtrim(contract_name) contract_name from   " ,
             "(SELECT ROW_NUMBER() OVER (ORDER BY mz_patient_mi.ic_card_no desc) AS RowNumber,* from mz_patient_mi ",
             "<when test='name!=null'>",
             "  where  name like #{name,jdbcType=VARCHAR}",
@@ -45,7 +45,7 @@ public interface MzPatientMiMapper {
      */
     @Select("select rtrim(social_no) social_no,rtrim(hic_no) hic_no,rtrim(name) name,rtrim(sex) sex,lv_date,rtrim(patient_id) patient_id,rtrim(p_bar_code) p_bar_code," +
             "rtrim(baddebt_mark) baddebt_mark,rtrim(response_type) response_type,rtrim(charge_type) charge_type,times,rtrim(reqdel_mark) reqdel_mark,age,birth_day," +
-            "rtrim(ic_card_no) ic_card_no,rtrim(phone_no) phone_no,rtrim(adress) address,rtrim(yb_card_no) yb_card_no,first_date,rtrim(rel_name) rel_name from mz_patient_mi  where  patient_id =#{patientId}")
+            "rtrim(ic_card_no) ic_card_no,rtrim(phone_no) phone_no,rtrim(adress) address,rtrim(yb_card_no) yb_card_no,first_date,rtrim(rel_name) rel_name,rtrim(contract_name) contract_name from mz_patient_mi  where  patient_id =#{patientId}")
     MzPatientMi selectByPatientId(@Param("patientId") String patientId);
 
     /**
@@ -53,10 +53,10 @@ public interface MzPatientMiMapper {
      * @param mzPatientMi
      * @return
      */
-    @Insert("INSERT INTO mz_patient_mi(social_no,name,sex,lv_date,patient_id,response_type,charge_type,times,age,birth_day,ic_card_no,phone_no,adress) " +
+    @Insert("INSERT INTO mz_patient_mi(social_no,name,sex,lv_date,patient_id,response_type,charge_type,times,age,birth_day,ic_card_no,phone_no,adress,rel_name,contract_name) " +
             "VALUES(#{socialNo,jdbcType=CHAR},#{name,jdbcType=CHAR},#{sex,jdbcType=CHAR},#{lvDate,jdbcType=TIMESTAMP},#{patientId,jdbcType=CHAR},#{responseType,jdbcType=CHAR}," +
             "#{chargeType,jdbcType=CHAR},#{times,jdbcType=INTEGER},#{age,jdbcType=TINYINT},#{birthDay,jdbcType=TIMESTAMP},#{icCardNo,jdbcType=CHAR},#{phoneNo,jdbcType=CHAR}," +
-            "#{address,jdbcType=CHAR}) ")
+            "#{address,jdbcType=CHAR},#{relName,jdbcType=VARCHAR},#{contractName,jdbcType=VARCHAR}) ")
     int insertMzPatientMi(MzPatientMi mzPatientMi);
 
 
@@ -87,7 +87,7 @@ public interface MzPatientMiMapper {
                     ",charge_type =#{chargeType,jdbcType=CHAR}",
                  "</when>",
                  "<when test='times!=null'>",
-                    ",times =#{name,jdbcType=CHAR}",
+                    ",times =#{times,jdbcType=CHAR}",
                  "</when>",
                  "<when test='age!=null'>",
                     ",age =#{age,jdbcType=TINYINT}",
@@ -101,22 +101,34 @@ public interface MzPatientMiMapper {
                  "<when test='birthDay!=null'>",
                     ",phone_no =#{phoneNo,jdbcType=CHAR}",
                  "</when>",
-                 "<when test='adress!=null'>",
+                 "<when test='address!=null'>",
                     ",adress =#{address,jdbcType=CHAR}",
                  "</when>",
+                 "<when test='relName!=null'>",
+                    ",rel_name =#{relName,jdbcType=CHAR}",
+                 "</when>",
+                 "<when test='contractName!=null'>",
+                    ",contract_name =#{contractName,jdbcType=CHAR}",
+                 "</when>",
               "</trim>"
             ,"</script>"})
     int updateMzPatientMi(MzPatientMi mzPatientMi);
 
     /**
-     * 按照身份证号码查询病人信息
-     * @param socialNo
+     * 按照身份证号码查询病人信息,如果病人id参数不为空,则是查询是否存在除当前编号以外的相同身份证号码
+     * @param socialNo 身份证号码
+     * @param patientId 病人id
      * @return
      */
-    @Select("select rtrim(social_no) social_no,rtrim(hic_no) hic_no,rtrim(name) name,rtrim(sex) sex,lv_date,rtrim(patient_id) patient_id,rtrim(p_bar_code) p_bar_code," +
-            "rtrim(baddebt_mark) baddebt_mark,rtrim(response_type) response_type,rtrim(charge_type) charge_type,times,rtrim(reqdel_mark) reqdel_mark,age,birth_day," +
-            "rtrim(ic_card_no) ic_card_no,rtrim(phone_no) phone_no,rtrim(adress) address,rtrim(yb_card_no) yb_card_no,first_date,rtrim(rel_name) rel_name from mz_patient_mi  where  social_no =#{socialNo}")
-    List<MzPatientMi> selectBySocialNo(@Param("socialNo") String socialNo);
+    @Select({"<script>",
+            "select rtrim(social_no) social_no,rtrim(hic_no) hic_no,rtrim(name) name,rtrim(sex) sex,lv_date,rtrim(patient_id) patient_id,rtrim(p_bar_code) p_bar_code," ,
+            "rtrim(baddebt_mark) baddebt_mark,rtrim(response_type) response_type,rtrim(charge_type) charge_type,times,rtrim(reqdel_mark) reqdel_mark,age,birth_day," ,
+            "rtrim(ic_card_no) ic_card_no,rtrim(phone_no) phone_no,rtrim(adress) address,rtrim(yb_card_no) yb_card_no,first_date,rtrim(rel_name) rel_name,rtrim(contract_name) contract_name from mz_patient_mi  where  social_no =#{socialNo}",
+               "<when test='patientId!=null'>",
+                   " and patient_id <![CDATA[<>]]> #{patientId,jdbcType=CHAR}",
+               "</when>",
+            "</script>"})
+    List<MzPatientMi> selectBySocialNo(@Param("socialNo") String socialNo,@Param("patientId") String patientId);
 
 
 

+ 3 - 2
src/main/java/cn/hnthyy/thmz/service/his/MzPatientMiService.java

@@ -42,9 +42,10 @@ public interface MzPatientMiService {
     int modifyMzPatientMi(MzPatientMi mzPatientMi);
 
     /**
-     * 按照身份证号码查询病人信息
+     * 按照身份证号码查询病人信息 ,如果病人id参数不为空,则是查询是否存在除当前编号以外的相同身份证号码
      * @param socialNo
+     * @param patientId
      * @return
      */
-    List<MzPatientMi> queryBySocialNo(String socialNo);
+    List<MzPatientMi> queryBySocialNo(String socialNo,String patientId);
 }

+ 3 - 2
src/main/java/cn/hnthyy/thmz/service/impl/his/MzPatientMiServiceImpl.java

@@ -40,6 +40,7 @@ public class MzPatientMiServiceImpl implements MzPatientMiService {
         mzPatientMi.setLvDate(new Date());
         String patientNo=mzSerialNoService.getMzPatientNo();
         mzPatientMi.setPatientId(patientNo);
+        mzPatientMi.setTimes(1);
         return mzPatientMiMapper.insertMzPatientMi(mzPatientMi);
     }
 
@@ -52,8 +53,8 @@ public class MzPatientMiServiceImpl implements MzPatientMiService {
     }
 
     @Override
-    public List<MzPatientMi> queryBySocialNo(String socialNo) {
-        return mzPatientMiMapper.selectBySocialNo(socialNo);
+    public List<MzPatientMi> queryBySocialNo(String socialNo,String patientId) {
+        return mzPatientMiMapper.selectBySocialNo(socialNo,patientId);
     }
 
 

+ 5 - 1
src/main/resources/static/css/registration.css

@@ -17,10 +17,14 @@
     font-size: 14px;
 }
 
-.clearRegistrationDiv a:first-child {
+.clearRegistrationDiv a{
     margin-right: 10px;
 }
 
+.clearRegistrationDiv a:last-child{
+    margin-right: -10px;
+}
+
 .total {
     float: left;
     padding-right: 10px;

+ 175 - 3
src/main/resources/static/js/registration.js

@@ -235,6 +235,17 @@ $(function () {
         $("#editWindowsModal").modal();
     });
 
+    /**
+     * 患者信息修改
+     */
+    $("#saveEditUser").on("click",function (t) {
+        modifyPatient();
+    });
+
+    /**
+     * 挂号列表中的科室和医生列表初始化
+     */
+    initListSelect();
 });
 
 /**
@@ -329,7 +340,7 @@ function initDeptPlus() {
  * @param ampm 时间段区间
  */
 function initEmployee() {
-    //科室列表
+    //医生列表
     $.ajax({
         type: "GET",
         url: '/thmz/getDoctorCodeByRequestDay?unitCode=' + $('#deptNo').val() + "&ampm=" + $("#ampm").val() + "&chargeType=" + $("#chargeType").val(),
@@ -622,6 +633,36 @@ function editRegistration(data) {
  */
 function editUserModal(data) {
     $("#editUserModal").modal();
+    if(data==null){
+        data=$("#patientId").val();
+    }
+    $.ajax({
+        type: "GET",
+        url: '/thmz/getByPatientId?patientId=' + data,
+        contentType: "application/json;charset=UTF-8",
+        dataType: "json",
+        headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
+        success: function (res) {
+            if (res == '401' || res == 401) {
+                window.location.href = '/thmz/login/view'
+                return;
+            }
+            if (res.code == 0) {
+                if (res.data != null) {
+                    //延时调用,因为当前弹框还没有加载出来,校验规则无法获取光标与模拟光标丢失事件,延时可以等弹框加载出来后模拟事件
+                    setTimeout(function () { fillPlusPatinet(res.data); }, 400);
+                }
+            } else {
+                new PNotify({
+                    title: '错误提示',
+                    text: res.message,
+                    type: 'error',
+                    hide: false,
+                    styling: 'bootstrap3'
+                });
+            }
+        }
+    });
 }
 
 /**
@@ -718,7 +759,7 @@ function queryUserInfoByCardNo() {
                         $("#phoneNum").val(res.data.phoneNo);
                         $("#phoneNum").attr("title", res.data.phoneNo);
                         $("#phoneNum").blur();
-                        $("#patientsNature").selectpicker('val', res.responseType);//默认选中
+                        $("#patientsNature").selectpicker('val', res.data.responseType);//默认选中
                         $('#patientsNature').selectpicker('refresh');
                         $("#patientsNature").blur();
                         $("#idCard").val(res.data.socialNo);
@@ -968,7 +1009,7 @@ function fillPatinet(patientId) {
                     $("#phoneNum").val(res.data.phoneNo);
                     $("#phoneNum").attr("title", res.data.phoneNo);
                     $("#phoneNum").blur();
-                    $("#patientsNature").selectpicker('val', res.responseType);//默认选中
+                    $("#patientsNature").selectpicker('val', res.data.responseType);//默认选中
                     $('#patientsNature').selectpicker('refresh');
                     $("#patientsNature").blur();
                     $("#idCard").val(res.data.socialNo);
@@ -996,6 +1037,41 @@ function fillPatinet(patientId) {
 }
 
 
+/**
+ * 将病人信息填入患者信息修改form
+ * @param patinet
+ */
+function fillPlusPatinet(patinet) {
+    if (patinet != null) {
+        $("#editUserCode").val(patinet.patientId);
+        $("#editUserName").val(patinet.name);
+        $("#editUserName").blur();
+        $("#editUserAge").val(patinet.age);
+        $("#editUserAge").blur();
+        $("#editUserGender").selectpicker('val', patinet.sex);
+        $("#editUserGender").selectpicker('refresh');
+        $("#editUserGender").blur();
+        $("#editUserBirthDay").val(patinet.birthDayStr);
+        $("#editUserBirthDay").blur();
+        $("#editUserCardNo").val(patinet.icCardNo);
+        $("#editUserCardNo").attr("title", patinet.icCardNo);
+        $("#editUserCardNo").blur();
+        $("#editUserPhoneNum").val(patinet.phoneNo);
+        $("#editUserPhoneNum").attr("title", patinet.phoneNo);
+        $("#editUserPhoneNum").blur();
+        $("#editUserPatientsNature").selectpicker('val', patinet.responseType);//默认选中
+        $('#editUserPatientsNature').selectpicker('refresh');
+        $("#editUserPatientsNature").blur();
+        $("#editUserIdCard").val(patinet.socialNo);
+        $("#editUserIdCard").attr("title", patinet.socialNo);
+        $("#editUserIdCard").blur();
+        $("#editUserAddress").val(patinet.address);
+        $("#editUserAddress").blur();
+        $("#editUserContact").val(patinet.relName);
+        $("#editUserContactPhone").val(patinet.contractName);
+    }
+}
+
 /**
  * 关闭当前这个付款方式
  */
@@ -1142,6 +1218,42 @@ function savePatient() {
     });
 }
 
+
+/**
+ * 修改病人信息
+ */
+function modifyPatient() {
+    $.ajax({
+        type: "POST",
+        url: '/thmz/modifyPatient',
+        contentType: "application/json;charset=UTF-8",
+        dataType: "json",
+        data:JSON.stringify({"name":$("#editUserName").val(),"age":$("#editUserAge").val(),"sex":$("#editUserGender").val(),"birthDay":$("#editUserBirthDay").val(),
+            "icCardNo":$("#editUserCardNo").val(),"phoneNo":$("#editUserPhoneNum").val(),"responseType":$("#editUserPatientsNature").val(),"socialNo":$("#editUserIdCard").val(),
+            "address":$("#editUserAddress").val(),"patientId":$("#editUserCode").val(),"relName":$("#editUserContact").val(),"contractName":$("#editUserContactPhone").val()}),
+        headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
+        success: function (res) {
+            if (res == '401' || res == 401) {
+                window.location.href = '/thmz/login/view'
+                return;
+            }
+            if (res.code == 0) {
+                $('#editUserModal').modal('hide');
+                fillPatinet($("#patientId").val());
+            } else {
+                new PNotify({
+                    title: '错误提示',
+                    text: res.message,
+                    type: 'error',
+                    hide: true,
+                    styling: 'bootstrap3'
+                });
+            }
+        }
+    });
+}
+
+
 /**
  * 保存挂号信息
  */
@@ -1179,4 +1291,64 @@ function saveMzyReqrec() {
             }
         }
     });
+}
+
+/**
+ * 挂号列表中的科室和医生列表初始化
+ */
+function initListSelect() {
+    initListDeptSelect();
+    initListDoctorSelect();
+}
+
+/**
+ * 挂号列表中的科室列表
+ */
+function initListDeptSelect() {
+    //科室列表
+    $.ajax({
+        type: "GET",
+        url: '/thmz/allMzUnitCode',
+        dataType: "json",
+        headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
+        success: function (data) {
+            if (data == '401' || data == 401) {
+                window.location.href = '/thmz/login/view'
+                return;
+            }
+            var html = '';
+            $.each(data.data, function (commentIndex, comment) {
+                html += '<option value="' + comment.code + '">' + comment.name + '</option>';
+            });
+            $('#deptNoParam').empty();
+            $('#deptNoParam').html(html);
+            $('#deptNoParam').selectpicker('refresh');
+        }
+    });
+}
+
+/**
+ * 挂号列表中的医生列表初始化
+ */
+function initListDoctorSelect() {
+    //医生列表
+    $.ajax({
+        type: "GET",
+        url: '/thmz/listEmployeeByDepts?depts=' + $('#deptNoParam').val(),
+        dataType: "json",
+        headers: {'Accept': 'application/json', 'Authorization': 'Bearer ' + localStorage.getItem("token")},
+        success: function (res) {
+            if (res == '401' || res == 401) {
+                window.location.href = '/thmz/login/view'
+                return;
+            }
+            var html = '';
+            $.each(res.data, function (commentIndex, comment) {
+                html += '<option value="' + comment.employeeCode + '">' + comment.employeeName + '</option>';
+            });
+            $('#doctorParam').empty();
+            $('#doctorParam').html(html);
+            $('#doctorParam').selectpicker('refresh');
+        }
+    });
 }

+ 59 - 58
src/main/resources/templates/registration.html

@@ -33,13 +33,17 @@
     .thmz_group_alert .alert {
         margin-top: 0px;
     }
+
+    .input-group-own {
+        margin-bottom: 0px;
+    }
 </style>
 <div class="row">
     <div class="col-md-4 col-sm-4 col-xs-12">
         <div class="title">
             <div>新增挂号</div>
         </div>
-        <form class="form-horizontal form-label-left mz-fixed-form" novalidate id="regi_form" autocomplete="off" >
+        <form class="form-horizontal form-label-left mz-fixed-form" novalidate id="regi_form" autocomplete="off">
             <div class="item form-group">
                 <div class="col-md-6 col-sm-6 col-xs-12">
                     <button type="button" style="margin-left:14px;cursor: default;margin-bottom: 10px !important;"
@@ -50,7 +54,7 @@
                 <div class="col-md-6 col-sm-6 col-xs-12">
                     <div class="clearRegistrationDiv">
                         <a id="editWindows"><i class="fa fa-gears">&nbsp;窗口号设置</i></a>
-                        <a onclick="editUserModal(this)" id="editUser" hidden><i class="fa fa-user">&nbsp;修改患者</i></a>
+                        <a onclick="editUserModal(null)" id="editUser" hidden><i class="fa fa-user">&nbsp;修改患者</i></a>
                         <a id="clearRegistration"><i class="fa fa-trash">&nbsp;清空</i></a>
                     </div>
                 </div>
@@ -71,7 +75,7 @@
                             class="required">*</span>
                     </label>
                     <div class="col-md-8 col-sm-8 col-xs-12">
-                        <div class="input-group">
+                        <div class="input-group input-group-own">
                             <input id="age" class="form-control col-md-7 col-xs-12" type="number"
                                    data-validate-minmax="0,200" required="required"
                                    placeholder="请输入">
@@ -109,7 +113,7 @@
                             class="required">*</span>
                     </label>
                     <div class="col-md-8 col-sm-8 col-xs-12">
-                        <div class='input-group date' id='birthDayGroup'>
+                        <div class='input-group date input-group-own' id='birthDayGroup'>
                             <input type='text' class="form-control" required="required" id='birthDay'
                                    onchange="clearTextOrTitle(this)"/>
                             <span class="input-group-addon">
@@ -126,9 +130,9 @@
                             class="required">*</span>
                     </label>
                     <div class="col-md-8 col-sm-8 col-xs-12">
-                        <div class="input-group demo2">
+                        <div class="input-group demo2 input-group-own">
                             <input id="cardNo" class="form-control col-md-7 col-xs-12" type="text"
-                                   data-validate-length-range="18"
+                                   data-validate-length-range="1,8"
                                    placeholder="请输入" required="required">
                             <input type='text' class="form-control hide" id='patientId'/>
                             <span class="input-group-addon"><a href="#" style="cursor: default"><i
@@ -165,7 +169,7 @@
                             class="required">*</span>
                     </label>
                     <div class="col-md-6 col-sm-6 col-xs-12" style="left: -3px;">
-                        <div class="input-group demo2">
+                        <div class="input-group demo2 input-group-own">
                             <input id="idCard" class="form-control" type="text"
                                    data-validate-length-range="18,18"
                                    placeholder="请输入" required="required">
@@ -319,21 +323,16 @@
             <form class="form-horizontal form-label-left" novalidate>
                 <div class="item form-group">
                     <div class="col-md-12 col-sm-12 col-xs-12">
-                        <label class="control-label col-md-1 col-sm-1 col-xs-12" for="userNameParam">姓名 </label>
-                        <div class="col-md-3 col-sm-3 col-xs-12">
-                            <input id="userNameParam" class="form-control col-md-7 col-xs-12"
-                                   placeholder="姓名/卡号/手机号" type="text">
-                        </div>
                         <label class="control-label col-md-1 col-sm-1 col-xs-12" for="deptNoParam">科室
                         </label>
-                        <div class="col-md-3 col-sm-3 col-xs-12">
+                        <div class="col-md-5 col-sm-5 col-xs-12">
                             <select class="form-control selectpicker show-tick" data-live-search="true"
-                                    id="deptNoParam">
+                                    id="deptNoParam" onchange="initListDoctorSelect()">
                             </select>
                         </div>
                         <label class="control-label col-md-1 col-sm-1 col-xs-12" for="doctorParam">医生
                         </label>
-                        <div class="col-md-3 col-sm-3 col-xs-12">
+                        <div class="col-md-5 col-sm-5 col-xs-12">
                             <select class="form-control selectpicker show-tick" data-live-search="true"
                                     id="doctorParam">
                             </select>
@@ -342,12 +341,17 @@
                 </div>
                 <div class="item form-group">
                     <div class="col-md-12 col-sm-12 col-xs-12">
-                        <label class="control-label col-md-1 col-sm-1 col-xs-12" for="sourceParam">来源
-                        </label>
-                        <div class="col-md-3 col-sm-3 col-xs-12">
-                            <select class="form-control selectpicker show-tick" required="required" id="sourceParam">
-                            </select>
+                        <label class="control-label col-md-1 col-sm-1 col-xs-12" for="userNameParam">姓名 </label>
+                        <div class="col-md-4 col-sm-4 col-xs-12">
+                            <input id="userNameParam" class="form-control col-md-7 col-xs-12"
+                                   placeholder="姓名/卡号/手机号" type="text">
                         </div>
+                        <!--<label class="control-label col-md-1 col-sm-1 col-xs-12" for="sourceParam">来源-->
+                        <!--</label>-->
+                        <!--<div class="col-md-3 col-sm-3 col-xs-12">-->
+                            <!--<select class="form-control selectpicker show-tick" required="required" id="sourceParam">-->
+                            <!--</select>-->
+                        <!--</div>-->
                         <label class="control-label col-md-2 col-sm-2 col-xs-12" for="reportrange">挂号时间
                         </label>
                         <div class="col-md-4 col-sm-4 col-xs-12">
@@ -357,7 +361,7 @@
                                 <span>December 30, 2014 - January 28, 2015</span> <b class="caret"></b>
                             </div>
                         </div>
-                        <div class="col-md-2 col-sm-2 col-xs-12">
+                        <div class="col-md-1 col-sm-1 col-xs-12">
                             <button type="button"
                                     style="margin-bottom: 10px !important;float: right;margin-right: -1px;"
                                     class="btn btn-primary">
@@ -1064,14 +1068,14 @@
 <!--修改用户信息弹窗开始-->
 <div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-hidden="true" id="editUserModal">
     <div class="modal-dialog modal-lg">
-        <div class="modal-content" style="width: 680px;">
+        <div class="modal-content" style="width: 760px;">
             <div class="modal-header">
                 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
                 </button>
                 <h4 class="modal-title">患者档案【修改】</h4>
             </div>
             <div class="modal-body">
-                <form class="form-horizontal form-label-left" novalidate>
+                <form class="form-horizontal form-label-left" novalidate id="editUserForm" autocomplete="off">
                     <div class="item form-group">
                         <div class="col-md-6 col-sm-6 col-xs-12">
                             <button type="button" style="cursor: default;margin-bottom: 10px !important;"
@@ -1081,14 +1085,14 @@
                         </div>
                     </div>
 
-                    <div class="item form-group">
-                        <div class="col-md-6 col-sm-6 col-xs-12">
-                            <label class="control-label col-md-4 col-sm-4 col-xs-12" for="address">编码</label>
+                    <div class="item form-group thmz_alert">
+                        <div class="col-md-6 col-sm-6 col-xs-12 item">
+                            <label class="control-label col-md-4 col-sm-4 col-xs-12" for="editUserCode">编码</label>
                             <div class="col-md-8 col-sm-8 col-xs-12">
                                 <input id="editUserCode" class="form-control col-md-7 col-xs-12" type="text" readonly>
                             </div>
                         </div>
-                        <div class="col-md-6 col-sm-6 col-xs-12">
+                        <div class="col-md-6 col-sm-6 col-xs-12 item">
                             <label class="control-label col-md-4 col-sm-4 col-xs-12" for="editUserName">姓名 <span
                                     class="required">*</span>
                             </label>
@@ -1100,15 +1104,15 @@
                         </div>
                     </div>
 
-                    <div class="item form-group">
-                        <div class="col-md-6 col-sm-6 col-xs-12">
+                    <div class="item form-group thmz_alert">
+                        <div class="col-md-6 col-sm-6 col-xs-12 item">
                             <label class="control-label col-md-4 col-sm-4 col-xs-12" for="editUserAge">年龄 <span
                                     class="required">*</span>
                             </label>
                             <div class="col-md-8 col-sm-8 col-xs-12">
-                                <div class="input-group">
+                                <div class="input-group input-group-own">
                                     <input id="editUserAge" type="number" class="form-control"
-                                           data-validate-length-range="2,10"
+                                           data-validate-minmax="0,200"
                                            placeholder="请输入" required="required">
                                     <div class="input-group-btn">
                                         <button type="button" class="btn btn-default dropdown-toggle"
@@ -1116,7 +1120,7 @@
                                                 aria-expanded="false" style="margin-right: 0px;">岁 <span
                                                 class="caret"></span>
                                         </button>
-                                        <ul class="dropdown-menu dropdown-menu-right" role="menu"
+                                        <!--<ul class="dropdown-menu dropdown-menu-right" role="menu"
                                             style="width: 50px;min-width: 50px;">
                                             <li><a href="#">岁</a>
                                             </li>
@@ -1124,13 +1128,13 @@
                                             </li>
                                             <li><a href="#">天</a>
                                             </li>
-                                        </ul>
+                                        </ul>-->
                                     </div>
                                     <!-- /btn-group -->
                                 </div>
                             </div>
                         </div>
-                        <div class="col-md-6 col-sm-6 col-xs-12">
+                        <div class="col-md-6 col-sm-6 col-xs-12 item">
                             <label class="control-label col-md-4 col-sm-4 col-xs-12" for="editUserGender">性别 <span
                                     class="required">*</span>
                             </label>
@@ -1141,14 +1145,14 @@
                             </div>
                         </div>
                     </div>
-                    <div class="item form-group">
-                        <div class="col-md-6 col-sm-6 col-xs-12">
+                    <div class="item form-group thmz_alert">
+                        <div class="col-md-6 col-sm-6 col-xs-12 item">
                             <label class="control-label col-md-4 col-sm-4 col-xs-12" for="editUserBirthDayGroup">出生日期
                                 <span
                                         class="required">*</span>
                             </label>
                             <div class="col-md-8 col-sm-8 col-xs-12">
-                                <div class='input-group date' id='editUserBirthDayGroup'>
+                                <div class='input-group date input-group-own' id='editUserBirthDayGroup'>
                                     <input type='text' class="form-control" id="editUserBirthDay"/>
                                     <span class="input-group-addon">
                             <span class="glyphicon glyphicon-calendar"></span>
@@ -1156,14 +1160,14 @@
                                 </div>
                             </div>
                         </div>
-                        <div class="col-md-6 col-sm-6 col-xs-12">
+                        <div class="col-md-6 col-sm-6 col-xs-12 item">
                             <label class="control-label col-md-4 col-sm-4 col-xs-12" for="editUserCardNo">卡号 <span
                                     class="required">*</span>
                             </label>
                             <div class="col-md-8 col-sm-8 col-xs-12">
-                                <div class="input-group demo2">
+                                <div class="input-group demo2 input-group-own">
                                     <input id="editUserCardNo" class="form-control col-md-7 col-xs-12"
-                                           data-validate-length-range="2,10"
+                                           data-validate-length-range="1,8"
                                            placeholder="请输入" required="required" type="text">
                                     <span class="input-group-addon"><a href="#"><i
                                             class="fa fa-credit-card"></i></a></span>
@@ -1171,18 +1175,18 @@
                             </div>
                         </div>
                     </div>
-                    <div class="item form-group">
-                        <div class="col-md-6 col-sm-6 col-xs-12">
+                    <div class="item form-group thmz_alert">
+                        <div class="col-md-6 col-sm-6 col-xs-12 item">
                             <label class="control-label col-md-4 col-sm-4 col-xs-12" for="editUserPhoneNum">手机号码 <span
                                     class="required">*</span>
                             </label>
                             <div class="col-md-8 col-sm-8 col-xs-12">
                                 <input id="editUserPhoneNum" class="form-control col-md-7 col-xs-12"
-                                       data-validate-length-range="2,10"
+                                       data-validate-length-range="11,11"
                                        placeholder="请输入" required="required" type="text">
                             </div>
                         </div>
-                        <div class="col-md-6 col-sm-6 col-xs-12">
+                        <div class="col-md-6 col-sm-6 col-xs-12 item">
                             <label class="control-label col-md-4 col-sm-4 col-xs-12" for="editUserPatientsNature">病人性质
                                 <span
                                         class="required">*</span>
@@ -1194,15 +1198,15 @@
                             </div>
                         </div>
                     </div>
-                    <div class="item form-group">
-                        <div class="col-md-6 col-sm-6 col-xs-12">
+                    <div class="item form-group thmz_alert">
+                        <div class="col-md-6 col-sm-6 col-xs-12 item">
                             <label class="control-label col-md-4 col-sm-4 col-xs-12" for="editUserIdCard">身份证 <span
                                     class="required">*</span>
                             </label>
                             <div class="col-md-8 col-sm-8 col-xs-12">
-                                <div class="input-group demo2">
+                                <div class="input-group demo2 input-group-own">
                                     <input id="editUserIdCard" class="form-control col-md-7 col-xs-12"
-                                           data-validate-length-range="2,10"
+                                           data-validate-length-range="18,18"
                                            placeholder="请输入" required="required" type="text">
                                     <span class="input-group-addon"><a href="#"><i
                                             class="fa fa-newspaper-o"></i></a></span>
@@ -1210,9 +1214,7 @@
                             </div>
                         </div>
                         <div class="col-md-6 col-sm-6 col-xs-12">
-                            <label class="control-label col-md-4 col-sm-4 col-xs-12" for="editUserAddress">地址 <span
-                                    class="required">*</span>
-                            </label>
+                            <label class="control-label col-md-4 col-sm-4 col-xs-12" for="editUserAddress">地址</label>
                             <div class="col-md-8 col-sm-8 col-xs-12">
                                 <input id="editUserAddress" class="form-control col-md-7 col-xs-12"
                                        data-validate-length-range="2,10"
@@ -1267,7 +1269,7 @@
                             <div class="col-md-8 col-sm-8 col-xs-12">
                                 <input id="editUserContact" class="form-control col-md-7 col-xs-12"
                                        data-validate-length-range="2,10"
-                                       placeholder="请输入" required="required" type="text">
+                                       placeholder="请输入"  type="text">
                             </div>
                         </div>
                         <div class="col-md-6 col-sm-6 col-xs-12">
@@ -1276,7 +1278,7 @@
                             <div class="col-md-8 col-sm-8 col-xs-12">
                                 <input id="editUserContactPhone" class="form-control col-md-7 col-xs-12"
                                        data-validate-length-range="2,10"
-                                       placeholder="请输入" required="required" type="text">
+                                       placeholder="请输入" type="text">
                             </div>
                         </div>
                     </div>
@@ -1431,8 +1433,6 @@
 <!--打印内容弹窗结尾-->
 
 
-
-
 <!--卡号查询病人信息不存在弹窗开始-->
 <div class="modal fade bs-example-modal-sm in" tabindex="-1" role="dialog" aria-hidden="true" id="newCardModal"
      style="top:20%;">
@@ -1456,7 +1456,7 @@
             </div>
             <div class="modal-footer">
                 <button type="button" class="btn btn-primary" onclick="$('#newCardModal').modal('hide')">确定</button>
-                <button type="button" class="btn btn-default" >取消</button>
+                <button type="button" class="btn btn-default">取消</button>
             </div>
         </div>
     </div>
@@ -1482,7 +1482,8 @@
                                     class="required">*</span>
                             </label>
                             <div class="col-md-3 col-sm-3 col-xs-12">
-                                <input id="windowsNum" class="form-control col-md-7 col-xs-12" data-validate-length-range="1,3"
+                                <input id="windowsNum" class="form-control col-md-7 col-xs-12"
+                                       data-validate-length-range="1,3"
                                        placeholder="请输入" required="required" type="text" data-placement="bottom-right">
                             </div>
                         </div>
@@ -1491,7 +1492,7 @@
             </div>
             <div class="modal-footer">
                 <button type="button" class="btn btn-primary" onclick="saveWindows()">确定</button>
-                <button type="button" class="btn btn-default" >取消</button>
+                <button type="button" class="btn btn-default">取消</button>
             </div>
         </div>
     </div>