|
@@ -180,7 +180,7 @@ $( function(){
|
|
|
},
|
|
|
patientNumber : {
|
|
|
number : true
|
|
|
- },
|
|
|
+ }
|
|
|
},
|
|
|
messages : {
|
|
|
// jumin : "생년월일을 모두 선택해주세요",
|
|
@@ -189,9 +189,7 @@ $( function(){
|
|
|
roomNumber : "호실을 입력해주세요",
|
|
|
hospitalizationDate : {
|
|
|
date:"입소일시를 선택해주세요"
|
|
|
- },
|
|
|
- residentNumberFront: "주민등록번호 앞 6자리를 입력해주세요",
|
|
|
- residentNumberLast: "주민등록번호 뒷자리를 입력해주세요"
|
|
|
+ }
|
|
|
},
|
|
|
onkeyup: function( element, event ) {
|
|
|
$( element ).valid();
|
|
@@ -206,10 +204,6 @@ $( function(){
|
|
|
} else {
|
|
|
error.insertAfter(element);
|
|
|
}
|
|
|
-
|
|
|
- if( element.attr("name") == "residentNumberFront" || element.attr("name") == "residentNumberLast" ) {
|
|
|
- element.after(error);
|
|
|
- }
|
|
|
},
|
|
|
submitHandler: function(form) {
|
|
|
if( $( "input[name='bloodPressureLevelCon']" ).val() != "" ) {
|
|
@@ -225,210 +219,23 @@ $( function(){
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- if( $( "input[name='foreignerYn']" ).is(":checked") ) {
|
|
|
- if( $( "#foreignNumberCheck" ).val() == "false" ) {
|
|
|
- alertBox({ txt : '외국인인 경우 고유식별정보를 입력해주세요' });
|
|
|
- return false;
|
|
|
- }
|
|
|
- } else {
|
|
|
- var rf = $('input[name="residentNumberFront"]').val();
|
|
|
- var rl = $('input[name="residentNumberLast"]').val();
|
|
|
-
|
|
|
- var fVal = $('input[name="residentNumberLast"]').val().substr(0,1);
|
|
|
-
|
|
|
- if( fVal >= 5 && fVal <= 8 ) {
|
|
|
- alertBox({ txt : '올바른 주민등록번호를 입력해주세요' });
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- if( ssnCheck( rf, rl ) != true ) {
|
|
|
- alertBox({ txt : '올바른 주민등록번호를 입력해주세요' });
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if( $( "#residentNumberLast" ).val() != "" ) {
|
|
|
- $( "#residentNumberLast" ).val( btoa( $( "#residentNumberLast" ).val() ) );
|
|
|
- }
|
|
|
-
|
|
|
- if( $( "#foreignNumberLast" ).val() != "" ) {
|
|
|
- $( "#foreignNumberLast" ).val( btoa( $( "#foreignNumberLast" ).val() ) );
|
|
|
- }
|
|
|
-
|
|
|
- if( $( "#passportNumber" ).val() != "" ) {
|
|
|
- $( "#passportNumber" ).val( btoa( $( "#passportNumber" ).val() ) );
|
|
|
- }
|
|
|
-
|
|
|
form.submit();
|
|
|
}
|
|
|
});
|
|
|
|
|
|
-
|
|
|
- // 외국인 체크버튼 클릭 이벤트
|
|
|
- $(document).on('click','input.check-foreigner',function(){
|
|
|
+ $(document).on('click','input[name="foreignerYn"]',function(){
|
|
|
var foreigner = $(this).prop('checked');
|
|
|
|
|
|
if(foreigner){
|
|
|
- $( ".k-input" ).hide();
|
|
|
- $( ".f-input" ).show();
|
|
|
-
|
|
|
- $('#fModal').modal('show');
|
|
|
- $( "div.f-input .f-txt" ).show();
|
|
|
- $( "div.f-input .f-val" ).show().text("");
|
|
|
- $('input[name="residentNumberFront"]').val("");
|
|
|
- $('input[name="residentNumberLast"]').val("");
|
|
|
- $('input.check-foreigner').not(this).prop('checked', true);
|
|
|
$('input[name="patientPhone"]').val('010-0000-0000').prop('readonly',true);
|
|
|
} else {
|
|
|
- $( ".k-input" ).show();
|
|
|
- $( ".f-input" ).hide();
|
|
|
- $('input[name="residentNumberFront"]').val("");
|
|
|
- $('input[name="residentNumberLast"]').val("");
|
|
|
- $('input.check-foreigner').not(this).prop('checked', false);
|
|
|
$('input[name="patientPhone"]').val('').prop('readonly',false);
|
|
|
}
|
|
|
-
|
|
|
- fModalReset();
|
|
|
- });
|
|
|
-
|
|
|
- // $("#fModal").on('hidden.bs.modal', function () {
|
|
|
- // $( "#foreignNumberFront, #foreignNumberLast, #passportNumber" ).val("").prop( "disabled", false );
|
|
|
- // });
|
|
|
-
|
|
|
-
|
|
|
- $( "#foreignNumberFront, #foreignNumberLast" ).on( "keyup", function() {
|
|
|
- if( $("#foreignNumberFront").val().length >= 6 ) {
|
|
|
- $("#foreignNumberLast").focus();
|
|
|
- }
|
|
|
-
|
|
|
- if( $( this ).val() != "" ){
|
|
|
- $( "#passportNumber" ).prop("disabled", true);
|
|
|
- } else {
|
|
|
- if( $( "#foreignNumberFront" ).val() == "" && $( "#foreignNumberFront" ).val() == $( "#foreignNumberLast" ).val() ) {
|
|
|
- $( "#passportNumber" ).prop("disabled", false);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
- $( "#passportNumber" ).on( "keyup", function() {
|
|
|
- if( $( this ).val() != "" ){
|
|
|
- $( "#foreignNumberFront, #foreignNumberLast" ).prop("disabled", true);
|
|
|
- } else {
|
|
|
- if( $( "#passportNumber" ).val() == "" ) {
|
|
|
- $( "#foreignNumberFront, #foreignNumberLast" ).prop("disabled", false);
|
|
|
- }
|
|
|
- }
|
|
|
});
|
|
|
});
|
|
|
-
|
|
|
-function fModalReset(){
|
|
|
- $( "#foreignNumberCheck" ).val( "false" );
|
|
|
- $( "#foreignNumberFront, #foreignNumberLast, #passportNumber" ).val( "" ).prop('readonly', false).prop( "disabled", false );
|
|
|
- $( "span.f-val" ).hide().val("");
|
|
|
- $( "span.f-txt" ).show();
|
|
|
-}
|
|
|
-
|
|
|
-function fModalCheck() {
|
|
|
- var ff = $( "#foreignNumberFront" ).val();
|
|
|
- var fl = $( "#foreignNumberLast" ).val();
|
|
|
- var pn = $( "#passportNumber" ).val();
|
|
|
-
|
|
|
- if( ff.length == 0 && fl.length == 0 && pn.length == 0 ) {
|
|
|
- alertBox({ txt : '외국인 등록번호 또는 여권번호 중 하나만을 선택하여 입력하시기 바랍니다' });
|
|
|
- return;
|
|
|
- } else if( pn.length == 0 && ( ff.length > 0 || fl.length > 0 ) ) {
|
|
|
- if( ff.length != 6 || fl.length != 7 ) {
|
|
|
- alertBox({ txt : '외국인 등록번호를 모두 입력하세요' });
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- if( ff.length == 6 && fl.length == 7 ) {
|
|
|
- var fVal = $( "#foreignNumberLast" ).val().substr(0,1);
|
|
|
-
|
|
|
- if( fVal >= 5 && fVal <= 8 ) {
|
|
|
- if( ssnCheck( ff, fl ) ) {
|
|
|
- $( "div.f-input .f-txt" ).hide();
|
|
|
- $( "div.f-input .f-val" ).show().text( "외국인 등록번호 (" + ff + "-*******)" );
|
|
|
- $( "#foreignNumberCheck" ).val( "true" );
|
|
|
- $( "#foreignNumberFront, #foreignNumberLast" ).prop( "readonly", true );
|
|
|
- $("#fModal").modal("hide");
|
|
|
- } else {
|
|
|
- alertBox({ txt : '올바른 외국인 등록번호를 입력하세요 1' });
|
|
|
- fModalReset();
|
|
|
- }
|
|
|
- return;
|
|
|
-
|
|
|
- } else {
|
|
|
- alertBox({ txt : '올바른 외국인 등록번호를 입력하세요' });
|
|
|
- fModalReset();
|
|
|
- }
|
|
|
- }
|
|
|
- } else if( ff.length == 0 && fl.length == 0 && pn != "" ) {
|
|
|
- var newPn = pn.length > 3 ? pn.substr(0, pn.length - 3 ) + "***" : pn;
|
|
|
-
|
|
|
- $( "div.f-input .f-txt" ).hide();
|
|
|
- $( "div.f-input .f-val" ).show().text( "여권번호 (" + newPn + ")" );
|
|
|
- $( "#foreignNumberCheck" ).val( "true" );
|
|
|
- $( "#passportNumber" ).prop( "readonly", true );
|
|
|
- $("#fModal").modal("hide");
|
|
|
- return;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-function resetInput( t ) {
|
|
|
- if( $(t).siblings('input[type="text"]').val() != "" ) {
|
|
|
- $(t).siblings('input[type="text"]').val('').prop('readonly', false).trigger('keyup');
|
|
|
- $('#foreignNumberCheck').val( "false" );
|
|
|
- $( "span.f-val" ).hide().val("");
|
|
|
- $( "span.f-txt" ).show();
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-function ssnCheck(_ssn1, _ssn2) {
|
|
|
- var ssn1 = _ssn1,
|
|
|
- ssn2 = _ssn2,
|
|
|
- ssn = ssn1+''+ssn2,
|
|
|
- arr_ssn = [],
|
|
|
- compare = [2,3,4,5,6,7,8,9,2,3,4,5],
|
|
|
- sum = 0;
|
|
|
-
|
|
|
- // 공식: M = (11 - ((2×A + 3×B + 4×C + 5×D + 6×E + 7×F + 8×G + 9×H + 2×I + 3×J + 4×K + 5×L) % 11)) % 10
|
|
|
- for (var i = 0; i<13; i++) {
|
|
|
- arr_ssn[i] = ssn.substring(i,i+1);
|
|
|
- }
|
|
|
-
|
|
|
- for (var i = 0; i<12; i++) {
|
|
|
- sum = sum + (arr_ssn[i] * compare[i]);
|
|
|
- }
|
|
|
-
|
|
|
- sum = (11 - (sum % 11)) % 10;
|
|
|
-
|
|
|
- if (sum != arr_ssn[12]) {
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- return true;
|
|
|
-}
|
|
|
</script>
|
|
|
<style>
|
|
|
-.f-edit:hover{color:#47bac1;}
|
|
|
.error {margin:0 5px;}
|
|
|
-@font-face
|
|
|
- {
|
|
|
- font-family:'dotsfont';
|
|
|
- src:url('dotsfont.eot');
|
|
|
- src:url('dotsfont.eot?#iefix') format('embedded-opentype'),
|
|
|
- url('dotsfont.svg#font') format('svg');
|
|
|
- font-weight:normal;
|
|
|
- font-style:normal;
|
|
|
-}
|
|
|
-
|
|
|
-input.type-password
|
|
|
- {-webkit-text-security:disc;font-family:dotsfont;}
|
|
|
</style>
|
|
|
</head>
|
|
|
<body>
|
|
@@ -499,99 +306,14 @@ input.type-password
|
|
|
<td>
|
|
|
<input type="text" name="patientNumber" onkeypress="onlyNumber();" maxlength="15" class="form-control" placeholder="환자 번호를 입력해주세요.">
|
|
|
</td>
|
|
|
-
|
|
|
- <th><span class="fix">*</span>주민등록번호
|
|
|
- <label class="form-check form-check-inline">(
|
|
|
- <input class="form-check-input check-foreigner" type="checkbox">
|
|
|
- <span class="form-check-label">외국인</span>)
|
|
|
- </label>
|
|
|
- </th>
|
|
|
- <td>
|
|
|
- <!-- <input type="text" style="opacity:0;position:absolute;top:0;left:0;">
|
|
|
- <input type="password" style="opacity:0;position:absolute;bottom:0;left:0;"> -->
|
|
|
-
|
|
|
- <div class="form-check-inline k-input">
|
|
|
- <div>
|
|
|
- <input type="text" id="residentNumberFront" name="residentNumberFront" onkeypress="onlyNumber();" maxlength="6" class="form-control" placeholder="주민등록번호 앞 6자리" autocomplete="off" required>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <span class="ml-1 mr-1">-</span>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <input type="text" id="residentNumberLast" name="residentNumberLast" onkeypress="onlyNumber();" maxlength="7" class="form-control type-password" placeholder="·······" autocomplete="off" required>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="form-check-inline f-input mb-1" style="display: none;">
|
|
|
- <span class="f-txt">외국인 고유식별정보 입력</span>
|
|
|
- <span class="f-val text-secondary ml-1"></span>
|
|
|
- <span class="f-edit" style="cursor:pointer;" onclick="$('#fModal').modal('show');">
|
|
|
- <i id="memoLinkIcon" class="align-middle ml-2 fas fa-fw fa-edit"></i>
|
|
|
- </span>
|
|
|
- <!-- <input type="text" name="foreignNumberFront" onkeypress="onlyNumber();" maxlength="6" class="form-control jumin-check" placeholder="외국인 등록번호 앞 6자리">
|
|
|
- <span class="ml-1 mr-1">-</span>
|
|
|
-
|
|
|
- <input type="password" name="foreignNumberLast" onkeypress="onlyNumber();" maxlength="7" class="form-control jumin-check" placeholder="·······" autocomplete="off"> -->
|
|
|
- </div>
|
|
|
-
|
|
|
- <!-- <div class="f-input" style="display: none;">
|
|
|
- <input type="text" name="passportNumber" onkeypress="onlyNumber();" maxlength="6" class="form-control jumin-check" placeholder="여권번호">
|
|
|
- </div> -->
|
|
|
-
|
|
|
- <!-- 외국인 고유식별 정보 입력 modal -->
|
|
|
- <div class="modal fade" id="fModal" tabindex="-1" role="dialog" aria-hidden="true" data-memoid="">
|
|
|
- <div class="modal-dialog modal-dialog-centered" role="document">
|
|
|
- <div class="modal-content" style="border-bottom-right-radius: 0; border-bottom-left-radius: 0;">
|
|
|
- <div class="modal-body m-3">
|
|
|
- <h2 class="text-center mb-3">외국인 고유식별정보 입력</h2>
|
|
|
- <hr/>
|
|
|
- <table class="table">
|
|
|
- <colgroup>
|
|
|
- <col style="width:15%">
|
|
|
- <col style="width:35%">
|
|
|
- </colgroup>
|
|
|
- <tr>
|
|
|
- <th>외국인 등록번호</th>
|
|
|
- <td>
|
|
|
- <div class="form-check-inline">
|
|
|
- <input type="hidden" id="foreignNumberCheck" value="false">
|
|
|
- <input type="text" id="foreignNumberFront" name="foreignNumberFront" onkeypress="onlyNumber();" maxlength="6" class="form-control" placeholder="외국인 등록번호 앞 6자리">
|
|
|
- <span class="ml-1 mr-1">-</span>
|
|
|
- <input type="text" id="foreignNumberLast" name="foreignNumberLast" onkeypress="onlyNumber();" maxlength="7" class="form-control type-password" placeholder="·······" autocomplete="new-password">
|
|
|
- <button type="button" class="btn btn-outline-danger ml-2" onclick="resetInput(this);">x</button>
|
|
|
- </div>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>여권번호</th>
|
|
|
- <td>
|
|
|
- <div class="form-check-inline">
|
|
|
- <input type="text" id="passportNumber" name="passportNumber" class="form-control jumin-check" placeholder="여권번호">
|
|
|
- <button type="button" class="btn btn-outline-danger ml-2" onclick="resetInput(this);">x</button>
|
|
|
- </div>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
-
|
|
|
- <p class="h4 mt-3 text-center">※ <span class="text-secondary">외국인 등록번호</span> 또는 <span class="text-secondary">여권번호</span> 중 하나만을 선택하여 입력하시기 바랍니다.</p>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="modal-footer bg-white" style="justify-content: center !important;">
|
|
|
- <button type="button" class="btn btn-outline-primary" data-dismiss="modal">취소</button>
|
|
|
- <button type="button" class="btn btn-primary" onclick="fModalCheck();">확인</button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th><span class="fix">*</span>병동 번호</th>
|
|
|
<td>
|
|
|
<div class="form-check-inline">
|
|
|
<!-- 병동 번호 (동 /호실) -->
|
|
|
- <input type="text" class="form-control" name="wardNumber"> <span class="ml-1 mr-2">동</span>
|
|
|
- <input type="text" class="form-control" name="roomNumber" required> <span class="ml-1">호</span>
|
|
|
+ <input type="text" class="form-control" name="wardNumber"> <span>동</span>
|
|
|
+ <input type="text" class="form-control" name="roomNumber" required> <span>호</span>
|
|
|
</div>
|
|
|
</td>
|
|
|
<th><span class="fix">*</span>이름</th>
|
|
@@ -630,7 +352,7 @@ input.type-password
|
|
|
<input type="text" name="patientPhone" class="form-control" placeholder="연락처를 입력해주세요" required>
|
|
|
</div>
|
|
|
<label class="form-check form-check-inline">
|
|
|
- <input class="form-check-input check-foreigner" name="foreignerYn" type="checkbox" value="Y">
|
|
|
+ <input class="form-check-input" name="foreignerYn" type="checkbox" value="Y">
|
|
|
<span class="form-check-label">외국인</span>
|
|
|
</label>
|
|
|
</td>
|