Browse Source

确认报道页面相关

master
kuaileWu 4 months ago
parent
commit
a3ccf63906
  1. 4
      App.vue
  2. 12
      components/userCard.vue
  3. 5
      main.js
  4. 39
      pages/index/index.vue
  5. 89
      pages/visitors/visitors.vue
  6. 35
      pages/waiting_method/waiting_method.vue

4
App.vue

@ -17,6 +17,10 @@
} catch (e) {
}
if(option.query && option.query.depart_id) {
uni.setStorageSync('checkin_depart_id', option.query.depart_id)
}
if(!did){
var doctor_id = uni.getStorageSync(this.globalData.doctoridStorageKey)
if(doctor_id){

12
components/userCard.vue

@ -6,7 +6,7 @@
</view>
<view class="bed-wrapper" v-show="type == 1">
<uni-easyinput v-model="value" placeholder="请输入床位位置" placeholderStyle="color: #999999;font-size: 30rpx;" :trim="true"></uni-easyinput>
<uni-easyinput v-model="value" placeholder="请输入床位位置" placeholderStyle="color: #999999;font-size: 30rpx;" :trim="true" @input="inputevent"></uni-easyinput>
</view>
<view class="card-cus-txt" v-if="type == 0">
@ -59,10 +59,20 @@ export default {
methods: {
confirm() {
},
inputevent(e){
var obj = new Object()
obj.key = this.index
obj.type = this.type
obj.bed_desc = e
this.$emit('clickEvent', obj)
},
changeType(e) {
var obj = new Object()
obj.key = this.index
obj.type = this.type
obj.bed_desc = ''
if(this.type == 1) obj.bed_desc = this.value
this.$emit('clickEvent', obj)
},
setType(typeval) {

5
main.js

@ -231,6 +231,11 @@ function req(url, data={}, method = 'POST', header={}) {
var logindatac = new Object();
logindatac.redirect_uri = location.origin;
logindatac.state = 'user';
var checkin_depart_id = uni.getStorageSync('checkin_depart_id');
if(checkin_depart_id){
}
)
const pagesc = getCurrentPages();
const currentPagec = pagesc[pagesc.length - 1];

39
pages/index/index.vue

@ -134,42 +134,7 @@
1:'上午',
2:'下午',
3:'全天',
},
visitlist:[
{
"id": "16",
"depart_id": "18",
"name": "暴富喽",
"date": "2024-09-28",
"week_desc": "六",
"time_interval": "08:00-08:30",
"status_desc": "就诊完成",
"hospital_name": "北京LY暴富",
"depart_name": "针灸科"
},
{
"id": "15",
"depart_id": "18",
"name": "刘老铁",
"date": "2024-09-28",
"week_desc": "六",
"time_interval": "08:30-09:00",
"status_desc": "候诊",
"hospital_name": "北京LY暴富",
"depart_name": "针灸科"
},
{
"id": "14",
"depart_id": "18",
"name": "首富哈",
"date": "2024-09-28",
"week_desc": "六",
"time_interval": "08:00-08:30",
"status_desc": "过号",
"hospital_name": "北京LY暴富",
"depart_name": "针灸科"
},
]
}
}
},
components:{
@ -337,7 +302,7 @@
uni.setStorageSync('depart', JSON.stringify(hospital))
uni.setStorageSync('doctor_info', JSON.stringify(this.doctorInfo))
uni.navigateTo({
url:"/pages/visitors/visitors?type=1"
url:"/pages/visitors/visitors?type=1&is_preview=1"
})
},
toPrebookList(){

89
pages/visitors/visitors.vue

@ -4,16 +4,16 @@
{{hospital_depart_name}}
</view>
<view class="header block flex line40" @click="addVisitor" v-if="type != 3">
<view class="header block flex line40" @click="addVisitor" v-if="(type != 3 && type != 0) || is_preview">
<img :src="cssUrl+'add.svg'">增加就诊人
</view>
<view class="list-wrapper" v-if="(type == 1 || (type == 3 && hasBaoDaoData))">
<view class="list-wrapper" v-if="(type == 1 || type == 0 || is_preview) && visitUsers && visitUsers.length > 0">
<view :class="'item block'+(item.select?' active':'')" v-for="(item,key) in visitUsers" @click="chooseVisitor(item, key)">
<view class="top flex">
<view class="name PfScSemibold over2">{{item.name}}</view>
<!-- <view class="aam_times" v-if="item.remain_num > 0">剩余{{item.remain_num}}</view> -->
<view class="book-date" v-if="type == 3">已预约今日 {{ item.visit_time.split('-')[0] }} 就诊</view>
<view class="book-date" v-if="type == 0 && item.visit_time && !is_preview">已预约今日 {{ item.visit_time.split('-')[0] }} 就诊</view>
<!-- <view class="book-date" v-if="type == 3">已预约今日 12:30 就诊</view> -->
</view>
<view class="bot line36">
@ -23,25 +23,24 @@
<img class="bg" :src="cssUrl+'visitor_list__bg.svg'">
</view>
</view>
<view class="baodao-empty" v-if="type == 3 && !hasBaoDaoData">
<view class="baodao-empty" v-if="type == 0 && (!visitUsers || visitUsers.length<=0)">
<img :src="cssUrl+'empty.png'">
<text>今日没有预约哦请先预约时间</text>
</view>
<view class="submit flex baodao-submit" v-if="type == 3 && !hasBaoDaoData">
<view class="submit flex baodao-submit" v-if="type == 0 && !is_preview">
<view :class="'btn cancel btn1 PfScMedium'" hover-class="hover" @click="reback">返回</view>
<view class="btn primary btn1 PfScMedium" hover-class="hover" @click="appointTime">预约时间</view>
</view>
<view class="submit" v-if="type == 0" @click="toPrebook">
<view class="submit" v-if="is_preview" @click="toPrebook">
<view class="bot primary btn btn2 submitbtn" hover-class="hover">
确认预约已选{{selectCount}}
</view>
<view class="tip height40">请确保预约就诊前在门诊先挂号</view>
</view>
<view class="submit" v-if="type == 1" @click="toPrebook">
<view class="submit" v-if="(type == 1 || type == 0) && !is_preview && visitUsers && visitUsers.length > 0" @click="toPrebook">
<view class="bot primary btn btn2 submitbtn" hover-class="hover">
确认以上患者已到已选{{selectCount}}
</view>
@ -117,6 +116,9 @@
hasBaoDaoData:false,
type:-1,
pageshow:false,
is_preview:false,
doctorInfo:false,
hospitals:false,
}
},
components:{
@ -138,7 +140,6 @@
uni.setStorageSync('visitor_type', this.type)
this.getVisitors()
this.depart_id = uni.getStorageSync('depart_id')
if(!this.depart_id && this.type == 1) {
this.$pop.modelShow('请先选择要预约的医院科室', '/pages/index/index')
@ -150,10 +151,11 @@
return
}
if(this.type == 3) this.depart_id = option.depart_id
if(option.depart_id) this.depart_id = option.depart_id
if(option.is_preview) this.is_preview = true
},
onReady() {
async onShow() {
await this.getDoctorInfo();
if(this.type == 2){
uni.setNavigationBarTitle({
title:'就诊人'
@ -162,7 +164,6 @@
uni.setNavigationBarTitle({
title:'确认报到'
})
this.getDepartInfo();
}else{
uni.setNavigationBarTitle({
title:'请选择就诊人'
@ -172,12 +173,49 @@
},
methods: {
reback(){
uni.navigateBack(-1)
uni.navigateTo({
url:'/'
})
},
// --
async getDoctorInfo() {
await this.$http.req('user/index_info', {}, 'GET').then(data=>{
if(data == -1) return
this.doctorInfo = data;
if(this.doctorInfo.hospital_departs && this.doctorInfo.hospital_departs.length>0) this.hospitals = this.doctorInfo.hospital_departs;
var hospital = {}
this.hospitals.forEach(item=>{
if(item.depart_id == this.depart_id) hospital = item
})
if(!hospital || Object.keys(hospital).length === 0) {
this.$pop.modelShow('请先选择要预约的医院科室', '/pages/index/index')
return
}
this.hospital_depart_name = hospital.hospital_name + ' ' + hospital.depart_name
this.type = hospital.type
if(this.type == 2){
this.$pop.modelShow('该科室不允许签到', '/pages/index/index')
return;
}
uni.setStorageSync('depart', JSON.stringify(hospital))
uni.setStorageSync('doctor_info', JSON.stringify(this.doctorInfo))
uni.setStorageSync('depart_id', this.depart_id)
this.getVisitors()
});
},
appointTime(){
uni.navigateTo({
url:'/pages/visitors/visitors?type=1'
url:"/pages/visitors/visitors?type=1&is_preview=1"
})
},
modifyVistor(visitor){
@ -224,10 +262,17 @@
}
},
getVisitors() {
this.$http.req('user/get_visitors', {}, 'POST').then(data=>{
var obj = new Object();
if(!this.is_preview && this.type == 0) {
obj.get_preview = 1
obj.depart_id = this.depart_id
}
this.$http.req('user/get_visitors', obj, 'POST').then(data=>{
this.visitUsers = data;
this.visitUsers = [...this.visitUsers]
this.popMsgs = []
var popmsgIndex = 0
for (var i = 0; i < this.visitUsers.length; i++) {
this.visitUsers[i].select = false
@ -241,15 +286,7 @@
this.popShowCancel = popinfo.popShowCancel
this.showPopCom()
}
});
},
getDepartInfo() {
this.$http.req('user/get_depart_info', {depart_id:this.depart_id}, 'POST').then(data=>{
this.type = data.type
if(this.type == 2){
this.$pop.modelShow('签到二维码已过期', '/pages/index/index')
return;
}
this.pageshow = true
});
},
@ -299,7 +336,7 @@
uni.setStorageSync('active_visitors', JSON.stringify(this.activeVisitors))
// =>
if(this.type == 3 && this.hasBaoDaoData){
if((this.type == 0 || this.type == 1) && !this.is_preview){
uni.navigateTo({
url:'/pages/waiting_method/waiting_method'
})

35
pages/waiting_method/waiting_method.vue

@ -25,6 +25,7 @@
depart_id:0,
active_visitors:[],
hospital_depart_name:'',
submitting:false,
visitorList:[
{name:'张三',type:1},
{name:'李四', type:1},
@ -67,20 +68,42 @@
});
},
changeType(info) {
console.log(info)
//
this.active_visitors[info.key].type = info.type;
this.active_visitors[info.key].bed_desc = info.bed_desc ? info.bed_desc: '';
},
submitWaitType(){
//
// this.active_visitors
// jiekou ----
if(this.submitting) return;
this.submitting = true;
this.$http.req('user/get_visitors', {}, 'POST').then(data=>{
setTimeout(() => {
this.submitting = false;
}, 3000);
var params = [];
this.active_visitors.forEach(visitor => {
params.push({
visitor_id: visitor.id,
visit_id: visitor.visit_id ? visitor.visit_id: 0,
wait_type: visitor.type,
bed_desc: visitor.bed_desc || ""
});
});
var obj = new Object();
obj.depart_id = this.depart_id;
obj.checkin_list = JSON.stringify(params);
this.$http.req('user/checkin', obj, 'POST').then(data => {
//
if(data == -1) return
uni.navigateTo({
url: '/pages/prebook_list/prebook_list'
})
});
}).catch(err => {
this.$pop.msg('提交失败,请重试');
});
}

Loading…
Cancel
Save