|
@@ -14,14 +14,14 @@
|
|
|
</p>
|
|
|
<div class="slideType" v-if="show">
|
|
|
<ul>
|
|
|
- <li @click="handleType('手机号',103)">手机号</li>
|
|
|
+ <!-- <li @click="handleType('手机号',103)">手机号</li> -->
|
|
|
<li @click="handleType('身份证号',101)">身份证号</li>
|
|
|
<li @click="handleType('病历号',102)">病历号</li>
|
|
|
<li @click="handleType('市民卡号',104)" style="border:0 none">市民卡号</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="iptWrap number">
|
|
|
+ <div class="iptWrap number numberIpt">
|
|
|
<input
|
|
|
@blur="blur"
|
|
|
:maxlength="type==103?11:type==101?18:type==102?7:type==104?9:30"
|
|
@@ -33,7 +33,18 @@
|
|
|
:placeholder="'请输入'+name"
|
|
|
/>
|
|
|
</div>
|
|
|
- <div :class="['btn',value?'btnClick':'btnDis']" @click="handleDepart">进入预问诊</div>
|
|
|
+ <div class="iptWrap number">
|
|
|
+ <input
|
|
|
+ @blur="blur"
|
|
|
+ :maxlength="30"
|
|
|
+ v-model="patName"
|
|
|
+ @input="changeName"
|
|
|
+ class="input"
|
|
|
+ type="text"
|
|
|
+ placeholder="请输入姓名"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div :class="['btn',value&&patName?'btnClick':'btnDis']" @click="handleDepart">进入预问诊</div>
|
|
|
</div>
|
|
|
<div class="tip">注:建议您可先输入病情情况,方便医生提前了解情况</div>
|
|
|
<Submit v-if="submit" :showType="showType" :fail="failMsg" @showSubmit="showSubmit"></Submit>
|
|
@@ -44,7 +55,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-import { phoneTest, identify, jgpattern } from "@utils/tools.js";
|
|
|
+import { phoneTest, identify, jgpattern,name } from "@utils/tools.js";
|
|
|
import Submit from "../common/Submit";
|
|
|
import Tiptoast from "../common/Tiptoast";
|
|
|
import api from "@utils/api.js";
|
|
@@ -57,8 +68,9 @@ export default {
|
|
|
failMsg: "",
|
|
|
submit: false,
|
|
|
show: false,
|
|
|
- type: "103",
|
|
|
- name: "手机号",
|
|
|
+ type: "101",
|
|
|
+ name: "身份证",
|
|
|
+ patName:'',
|
|
|
value: "",
|
|
|
message:{
|
|
|
title: "",
|
|
@@ -93,6 +105,11 @@ export default {
|
|
|
document.activeElement.scrollIntoViewIfNeeded(true);
|
|
|
}, 300);
|
|
|
},
|
|
|
+ changeName() {
|
|
|
+ document.activeElement.scrollIntoViewIfNeeded(true);
|
|
|
+ const { patName } = this;
|
|
|
+ this.patName = patName.replace(/[0-9]*$/,'').replace(/[`~!@#$%^&)(*_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/im,'')
|
|
|
+ },
|
|
|
changeVal() {
|
|
|
document.activeElement.scrollIntoViewIfNeeded(true);
|
|
|
const { type, value } = this;
|
|
@@ -116,39 +133,41 @@ export default {
|
|
|
this.submit = flg;
|
|
|
},
|
|
|
handleDepart() {
|
|
|
- const { type, value } = this;
|
|
|
- if (value) {
|
|
|
- if (type == 103) {
|
|
|
- if (!phoneTest.test(value)) {
|
|
|
- //验证不通过
|
|
|
- this.defaultWaring("输入信息格式有误");
|
|
|
- return;
|
|
|
- }
|
|
|
- } else if (type == 101) {
|
|
|
- //身份证
|
|
|
- if (!identify.test(value)) {
|
|
|
- //验证不通过
|
|
|
- this.defaultWaring("输入信息格式有误");
|
|
|
- return;
|
|
|
+ const { type, value,patName } = this;
|
|
|
+ if (value&&patName) {
|
|
|
+ let timer = setTimeout(() => {
|
|
|
+ if (type == 103) {
|
|
|
+ if (!phoneTest.test(value)) {
|
|
|
+ //验证不通过
|
|
|
+ this.defaultWaring("输入信息格式有误");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ } else if (type == 101) {
|
|
|
+ //身份证
|
|
|
+ if (!identify.test(value)) {
|
|
|
+ //验证不通过
|
|
|
+ this.defaultWaring("输入信息格式有误");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ } else if (type == 104) {
|
|
|
+ //病历号只能输入数字字母
|
|
|
+ if (!jgpattern.test(value)) {
|
|
|
+ //验证不通过
|
|
|
+ this.defaultWaring("输入信息格式有误");
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
- } else if (type == 104) {
|
|
|
- //病历号只能输入数字字母
|
|
|
- if (!jgpattern.test(value)) {
|
|
|
- //验证不通过
|
|
|
- this.defaultWaring("输入信息格式有误");
|
|
|
+ if(!this.code){
|
|
|
+ this.defaultWaring("医院编码必填");
|
|
|
return;
|
|
|
}
|
|
|
- }
|
|
|
- if(!this.code){
|
|
|
- this.defaultWaring("医院编码必填");
|
|
|
- return;
|
|
|
- }
|
|
|
- const param = {
|
|
|
- patientInfo: this.value,
|
|
|
- patientInfoType: this.type,
|
|
|
- hospitalCode:this.code
|
|
|
- };
|
|
|
- api
|
|
|
+ const param = {
|
|
|
+ patientInfo: this.value,
|
|
|
+ patientInfoType: this.type,
|
|
|
+ hospitalCode:this.code,
|
|
|
+ patientName:patName
|
|
|
+ };
|
|
|
+ api
|
|
|
.signIn(param)
|
|
|
.then(res => {
|
|
|
let result = res.data;
|
|
@@ -180,6 +199,7 @@ export default {
|
|
|
this.message.text = '暂无今日挂号信息,可更换登录方式再次尝试。'
|
|
|
this.showTip = true
|
|
|
}
|
|
|
+ clearTimeout(timer)
|
|
|
} else {
|
|
|
if(res.msg.indexOf('暂无今日挂号信息') != -1){
|
|
|
this.message.title = '温馨提示'
|
|
@@ -188,11 +208,14 @@ export default {
|
|
|
}else{
|
|
|
this.defaultWaring(res.msg);
|
|
|
}
|
|
|
+ clearTimeout(timer)
|
|
|
}
|
|
|
})
|
|
|
.catch(() => {
|
|
|
+ clearTimeout(timer)
|
|
|
this.defaultWaring("网络异常请稍后重试");
|
|
|
});
|
|
|
+ }, 300);
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -212,14 +235,14 @@ export default {
|
|
|
rgba(79, 79, 255, 1) 0%,
|
|
|
rgba(79, 137, 255, 1) 100%
|
|
|
);
|
|
|
- padding: 0.1rem 0.6rem;
|
|
|
+ padding: 0rem 0.6rem;
|
|
|
box-sizing: border-box;
|
|
|
.top {
|
|
|
.img {
|
|
|
width: 1.6rem;
|
|
|
height: 1.6rem;
|
|
|
background-color: #fff;
|
|
|
- margin: 1rem auto 0 auto;
|
|
|
+ margin: .8rem auto 0 auto;
|
|
|
border-radius: 50%;
|
|
|
overflow: hidden;
|
|
|
padding:6px;
|
|
@@ -232,16 +255,16 @@ export default {
|
|
|
text-align: center;
|
|
|
color: #fff;
|
|
|
margin-top: 0.4rem;
|
|
|
- margin-bottom: 0.7rem;
|
|
|
+ margin-bottom: 0.5rem;
|
|
|
font-weight: normal;
|
|
|
}
|
|
|
}
|
|
|
.main {
|
|
|
width: 100%;
|
|
|
- height: 5.34rem;
|
|
|
+ // height: 5.34rem;
|
|
|
background: #fff;
|
|
|
border-radius: 0.2rem;
|
|
|
- padding: 0.8rem 0.6rem;
|
|
|
+ padding: 0.6rem 0.6rem;
|
|
|
box-sizing: border-box;
|
|
|
font-size: 0.3rem;
|
|
|
.iptWrap {
|
|
@@ -286,9 +309,8 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
.number {
|
|
|
- margin: 0.3rem 0 0.8rem 0;
|
|
|
+ margin: 0.3rem 0 0.6rem 0;
|
|
|
.input {
|
|
|
float: left;
|
|
|
color: rgba(51, 51, 51, 1);
|
|
@@ -299,6 +321,9 @@ export default {
|
|
|
background-color: transparent;
|
|
|
}
|
|
|
}
|
|
|
+ .numberIpt {
|
|
|
+ margin: 0.3rem 0 0.3rem 0;
|
|
|
+ }
|
|
|
.btn {
|
|
|
width: 100%;
|
|
|
height: 0.88rem;
|