|
|
|
<template>
|
|
|
|
<view class="visitor-form-page">
|
|
|
|
<view class="block">
|
|
|
|
<!-- <view class="title PfScMedium">就诊人信息</view> -->
|
|
|
|
<input-box class="inputcom-wrapper" v-model="name" holder="填写姓名" label="患者姓名" @blurEvent="nameBlurEvent"></input-box>
|
|
|
|
<input-box class="inputcom-wrapper" v-model="idcard" holder="填写身份证号码" label="身份证号" @blurEvent="idCardBlurEvent" rule="idcard"></input-box>
|
|
|
|
<input-box class="inputcom-wrapper" v-model="phone" holder="填写患者手机号" label="患者手机号" @blurEvent="phoneBlurEvent" rule="phone"></input-box>
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="submit-wrapper btPadding" v-if="!vid">
|
|
|
|
<view :class="'btn btn3 submit'+(canSubmit?' primary':' noclick')" :hover-class="(canSubmit?'hover':'')" @click="submit" v-if="!vid">
|
|
|
|
确认新增
|
|
|
|
</view>
|
|
|
|
<view :class="'btn btn3 submit'+(canSubmit?' primary':' noclick')" :hover-class="(canSubmit?'hover':'')" @click="submit" v-else>
|
|
|
|
确认修改
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="fixedBot btPadding" v-if="vid">
|
|
|
|
<view class="submit">
|
|
|
|
<view class="btn cancel btn1" @click="reback">取消</view>
|
|
|
|
<view class="btn primary btn1" hover-class="hover" @click="submit">确认</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import InputBox from '@/components/inputBox.vue';
|
|
|
|
|
|
|
|
export default {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
canSubmit:false,
|
|
|
|
name:'',
|
|
|
|
nameRule:false,
|
|
|
|
idcard:'',
|
|
|
|
idcardExtRule:false,
|
|
|
|
phone:'',
|
|
|
|
phoneRule:false,
|
|
|
|
type:1,
|
|
|
|
adding:false,
|
|
|
|
vid:false,
|
|
|
|
visitor_info:{}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
components:{
|
|
|
|
InputBox
|
|
|
|
},
|
|
|
|
onLoad(option) {
|
|
|
|
if(option.type) this.type = option.type
|
|
|
|
if(option.vid) {
|
|
|
|
this.vid = option.vid
|
|
|
|
uni.setNavigationBarTitle({
|
|
|
|
title: '修改就诊人'
|
|
|
|
});
|
|
|
|
}else{
|
|
|
|
uni.setNavigationBarTitle({
|
|
|
|
title: '新增就诊人'
|
|
|
|
});
|
|
|
|
}
|
|
|
|
console.log(88888)
|
|
|
|
},
|
|
|
|
onShow() {
|
|
|
|
if(this.vid) this.getVisitorInfo()
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
add() {
|
|
|
|
if(this.adding) return
|
|
|
|
this.adding = true
|
|
|
|
var param = new Object()
|
|
|
|
param.name = this.name
|
|
|
|
param.idcard = this.idcard
|
|
|
|
param.phone = this.phone
|
|
|
|
var that = this
|
|
|
|
var addtimer = setTimeout(function() {
|
|
|
|
that.adding = false
|
|
|
|
}, 5000);
|
|
|
|
|
|
|
|
var req = 'user/add_visitor'
|
|
|
|
var method = 'POST'
|
|
|
|
if(this.vid){
|
|
|
|
param.id = this.vid
|
|
|
|
req = 'user/update_visitor'
|
|
|
|
}
|
|
|
|
|
|
|
|
this.$http.req(req, param, method, true).then(data=>{
|
|
|
|
clearTimeout(addtimer)
|
|
|
|
this.adding = false
|
|
|
|
if(this.vid){
|
|
|
|
uni.removeStorageSync('visitor_info_'+ this.vid)
|
|
|
|
}
|
|
|
|
this.$func.toPage('/pages/visitors/visitors?type='+this.type)
|
|
|
|
});
|
|
|
|
},
|
|
|
|
getVisitorInfo() {
|
|
|
|
this.visitor_info = JSON.parse(uni.getStorageSync('visitor_info_'+ this.vid))
|
|
|
|
//获取就诊人详细信息???
|
|
|
|
// this.$http.req('user/get_visitor_info', {id:this.vid}, 'GET', true).then(data=>{
|
|
|
|
// if(data == -1) {
|
|
|
|
// this.$func.toPage('/pages/index/index')
|
|
|
|
// return
|
|
|
|
// }
|
|
|
|
console.log(this.visitor_info,'visitor_info');
|
|
|
|
this.name = this.visitor_info.name
|
|
|
|
this.idcard = this.visitor_info.idcard
|
|
|
|
this.phone = this.visitor_info.phone
|
|
|
|
this.nameRule = true
|
|
|
|
this.idcardExtRule = true
|
|
|
|
this.phoneRule = true
|
|
|
|
this.checkSubmit()
|
|
|
|
// });
|
|
|
|
},
|
|
|
|
nameBlurEvent(value, res){
|
|
|
|
this.name = value
|
|
|
|
this.nameRule = res
|
|
|
|
this.checkSubmit()
|
|
|
|
},
|
|
|
|
idCardBlurEvent(value, res){
|
|
|
|
this.idcard = value
|
|
|
|
this.idcardExtRule = res
|
|
|
|
this.checkSubmit()
|
|
|
|
},
|
|
|
|
phoneBlurEvent(value, res){
|
|
|
|
this.phone = value
|
|
|
|
this.phoneRule = res
|
|
|
|
this.checkSubmit()
|
|
|
|
},
|
|
|
|
checkSubmit() {
|
|
|
|
this.canSubmit = false
|
|
|
|
if(!this.nameRule || !this.idcardExtRule || !this.phoneRule) return
|
|
|
|
this.canSubmit = true
|
|
|
|
},
|
|
|
|
reback(){
|
|
|
|
if(this.vid){
|
|
|
|
uni.removeStorageSync('visitor_info_'+ this.vid)
|
|
|
|
}
|
|
|
|
this.$func.toPage('/pages/visitors/visitors')
|
|
|
|
},
|
|
|
|
submit(){
|
|
|
|
this.checkSubmit()
|
|
|
|
if(!this.canSubmit) return
|
|
|
|
this.add()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
.visitor-form-page{
|
|
|
|
background: #F8F8F8;
|
|
|
|
height: 100vh;
|
|
|
|
overflow-y: scroll;
|
|
|
|
.block{
|
|
|
|
// min-height: 50vh;
|
|
|
|
// min-height: 662rpx;
|
|
|
|
background: #FFFFFF;
|
|
|
|
box-shadow: 0rpx 2rpx 24rpx 0rpx rgba(0,0,0,0.03);
|
|
|
|
border-radius: 8rpx;
|
|
|
|
width: 714rpx;
|
|
|
|
margin: 20rpx auto 0rpx;
|
|
|
|
overflow: hidden;
|
|
|
|
.title{
|
|
|
|
font-size: 32rpx;
|
|
|
|
color: #000000;
|
|
|
|
width: 666rpx;
|
|
|
|
height: 50rpx;
|
|
|
|
line-height: 50rpx;
|
|
|
|
letter-spacing: 2rpx;
|
|
|
|
margin: 36rpx 0 36rpx 24rpx;
|
|
|
|
}
|
|
|
|
.inputcom-wrapper{
|
|
|
|
// margin-bottom: 20rpx;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.submit-wrapper{
|
|
|
|
overflow: hidden;
|
|
|
|
position: fixed;
|
|
|
|
top: 88vh;
|
|
|
|
height: 92rpx;
|
|
|
|
left: 50%;
|
|
|
|
transform: translateX(-50%);
|
|
|
|
}
|
|
|
|
.submit{
|
|
|
|
margin: 0 auto;
|
|
|
|
}
|
|
|
|
.fixedBot{
|
|
|
|
position: fixed;
|
|
|
|
bottom: 0;
|
|
|
|
left: 0;
|
|
|
|
width: 100%;
|
|
|
|
height: 124rpx;
|
|
|
|
background: #FFFFFF;
|
|
|
|
box-shadow: 0rpx -2rpx 6rpx 0rpx rgba(181,181,181,0.13);
|
|
|
|
backdrop-filter: blur(20rpx);
|
|
|
|
display: flex;
|
|
|
|
.submit{
|
|
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
column-gap: 50rpx;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|