Browse Source

1.首页扫码签到/2.就诊人页面及交互/3.就诊详情页面及交互/4.修改床位弹窗/

master
kuaileWu 6 months ago
parent
commit
05b3f8eb3e
  1. 4
      App.vue
  2. 2
      components/preBookList.vue
  3. 104
      components/visitorAccount.vue
  4. 11
      components/visitorList.vue
  5. 3
      main.js
  6. 19
      pages/index/index.vue
  7. 2
      pages/prebook_list/prebook_list.vue
  8. 4
      pages/visit_detail/visit_detail.vue
  9. 10
      pages/visitors/visitors.vue
  10. 25
      pages/visitors_new/visitors_new.vue

4
App.vue

@ -17,8 +17,8 @@
} catch (e) {
}
if(option.query && option.query.depart_id) {
uni.setStorageSync('checkin_depart_id', option.query.depart_id)
if(option.query && option.query.checkin_depart_id) {
uni.setStorageSync('checkin_depart_id', option.query.checkin_depart_id)
}
if(!did){

2
components/preBookList.vue

@ -45,7 +45,7 @@ export default {
},
methods: {
toBookDetail(item){
this.$func.toPage('/pages/visit_detail/visit_detail?id='+item.id+'&depart_id='+item.depart_id)
this.$func.toPage('/pages/visit_detail/visit_detail?id='+item.id+'&depart_id='+item.depart_id+'&visitor_id='+item.visitor_id)
},
getDayOfWeek(dateString) {
var str = new Date(dateString);

104
components/visitorAccount.vue

@ -1,65 +1,32 @@
<template>
<view :class="'visitor-account-com'+(open?' default-open':'')">
<uni-collapse v-model="open?valueOpen:valueClose">
<uni-collapse-item title="广安门中医医院中西医门诊部 中医科" :thumb="thumb" :errmsg="errmsg" :disabled="disabled">
<view class="collapse-list">
<uni-collapse v-model="open?valueOpen:valueClose" @change="change">
<uni-collapse-item :title="hospital_name" :thumb="thumb" :errmsg="errmsg" :disabled="disabled">
<view class="collapse-list" v-if="visitorInfo">
<view class="account-list">
<view class="account-item">
<!-- 单次项目 -->
<view class="account-item" v-if="visitorInfo.single_items && visitorInfo.single_items.length > 0">
<view class="title PfScSemibold">单次项目</view>
<view class="item">
<text>针灸</text>
<text>治疗1次</text>
</view>
<view class="item">
<text>麦粒灸</text>
<text>治疗3次</text>
</view>
<view class="item notice">
<text>艾灸</text>
<text class="outnum">欠1次</text>
<view class="item" v-for="(item, index) in visitorInfo.single_items" :key="'single_'+index">
<text>{{item.name}}</text>
<text :class="{'outnum': parseInt(item.num) < 0}">{{parseInt(item.num) >= 0 ? '治疗'+item.num+'次' : '欠'+Math.abs(parseInt(item.num))+'次'}}</text>
</view>
</view>
<view class="account-item">
<view class="accout-package">
<!-- 疗程套餐 -->
<view class="account-item" v-if="visitorInfo.treatment_package && Object.keys(visitorInfo.treatment_package).length > 0">
<view class="accout-package" v-for="(packageItem, packageId) in visitorInfo.treatment_package" :key="'package_'+packageId">
<view class="title PfScSemibold">疗程套餐</view>
<span class="package-name over">上热下寒疗程包</span>
<view class="item">
<text>针灸</text>
<text>治疗1</text>
<span class="package-name over">{{packageItem.name}}</span>
<view class="item" v-for="(item, index) in packageItem.data" :key="'package_item_'+index" :class="{'notice': parseInt(item.num) < 0}">
<text>{{item.name}}</text>
<text :class="{'outnum': parseInt(item.num) < 0}">{{parseInt(item.num) >= 0 ? '治疗'+item.num+'' : '欠'+Math.abs(parseInt(item.num))+'次'}}</text>
</view>
<view class="item">
<text>麦粒灸</text>
<text>治疗3次</text>
</view>
<view class="item notice">
<text>艾灸</text>
<text class="outnum">欠1次</text>
</view>
</view>
<view class="accout-package">
<view class="title PfScMedium">疗程套餐</view>
<span class="package-name over">上热下寒疗程包</span>
<view class="item">
<text>针灸</text>
<text>治疗1次</text>
</view>
<view class="item">
<text>麦粒灸</text>
<text>治疗3次</text>
</view>
<view class="item notice">
<text>艾灸</text>
<text class="outnum">欠1次</text>
</view>
</view>
</view>
</view>
</view>
</uni-collapse-item>
</uni-collapse>
</view>
</template>
@ -84,16 +51,46 @@ export default {
type: Boolean,
default: false
},
depart_id: {
type: [Number, String],
default: 0
},
visitor_id: {
type: [Number, String],
default: 0
},
hospital_name: {
type: String,
default: '医院科室'
}
},
data() {
return {
cssUrl:this.cssUrl,
valueOpen:['0'],
valueClose:['1'],
visitorInfo: false
}
},
mounted() {
if(this.open) {
this.get_visitor_info();
}
},
methods: {
change(e) {
if(e[0] == 0) this.get_visitor_info()
},
async get_visitor_info() {
this.visitorInfo = false
var obj = new Object()
obj.depart_id = this.depart_id
obj.visitor_id = this.visitor_id
await this.$http.req('user/get_visitor_info', obj, 'POST').then(data=>{
if(data == -1) return
this.visitorInfo = data;
});
}
}
};
</script>
@ -103,6 +100,11 @@ export default {
width: 100%;
height: auto;
overflow: hidden;
margin-top: 28rpx;
padding: 12px;
box-sizing: border-box;
background: #F9FAFB;
&.default-open{
::v-deep{
.uni-collapse-item__title{
@ -121,6 +123,9 @@ export default {
}
}
::v-deep{
.uni-collapse-item__wrap-content{
border: none;
}
.uni-collapse-item__wrap{
background: #F9FAFB;
.uni-collapse-item__wrap-content{
@ -182,5 +187,4 @@ export default {
}
}
}
</style>

11
components/visitorList.vue

@ -25,6 +25,7 @@ export default {
cssUrl:this.cssUrl,
userSelectIndex:0,
vistors:false,
visitor_id:0
}
},
methods: {
@ -35,16 +36,22 @@ export default {
this.userSelectIndex = key
var visitor_id = 0
if(this.userSelectIndex > 0) visitor_id = this.vistors[this.userSelectIndex-1].id
this.visitor_id = visitor_id
this.getVisitors()
this.$emit('clickEvent', visitor_id)
},
getVisitors() {
var param = new Object()
param.page = 1
param.limit = 10000
this.$http.req('user/get_visitors', {}, 'GET').then(data=>{
var obj = new Object()
if(this.visitor_id != 0) obj.visitor_id = this.visitor_id
this.$http.req('user/get_visitors', obj, 'POST').then(data=>{
if(data == -1) return
this.vistors = data
this.$emit('clickEvent', 0)
this.$emit('dataEvent', this.vistors)
this.$emit('prebookEvent', this.visitor_id)
});
}
}

3
main.js

@ -233,9 +233,8 @@ function req(url, data={}, method = 'POST', header={}) {
logindatac.state = 'user';
var checkin_depart_id = uni.getStorageSync('checkin_depart_id');
if(checkin_depart_id){
logindatac.state += '-d'+checkin_depart_id;
}
)
const pagesc = getCurrentPages();
const currentPagec = pagesc[pagesc.length - 1];

19
pages/index/index.vue

@ -224,6 +224,16 @@
this.$settoken.setToken(data.jwttoken)
this.setLoginUserInfo(data)
var stat_info = this.state.split('-');
if(stat_info.length > 2) {
uni.removeStorageSync('checkin_depart_id');
location.href = '/pages/visitors/visitors?type=3&depart_id='+stat_info[2];
// uni.navigateTo({
// url:"/pages/visitors/visitors?type=3&depart_id="+stat_info[2]
// })
return;
}
this.getDoctorInfo()
// var rebackPagePath = uni.getStorageSync('rebackPagePath')
// if(rebackPagePath){
@ -237,6 +247,15 @@
async getDoctorInfo() {
await this.$http.req('user/index_info', {}, 'GET').then(data=>{
if(data == -1) return
var checkin_depart_id = uni.getStorageSync('checkin_depart_id');
if(checkin_depart_id){
uni.removeStorageSync('checkin_depart_id');
location.href = '/pages/visitors/visitors?type=3&depart_id='+checkin_depart_id;
return;
}
this.pageShow = true;
let visitFlag = true;
this.doctorInfo = data;

2
pages/prebook_list/prebook_list.vue

@ -1,6 +1,6 @@
<template>
<view class="page-prebook-list">
<visitor-list @clickEvent="getBookData" ref="visitors"></visitor-list>
<visitor-list @prebookEvent="getBookData" ref="visitors"></visitor-list>
<pre-book-list class="preg-books" :dataList="bookList"></pre-book-list>
</view>
</template>

4
pages/visit_detail/visit_detail.vue

@ -8,7 +8,7 @@
<view class="bot-con">
<view class="title PfScMedium">治疗记录</view>
<visitor-account :open="true" :disabled="true"></visitor-account>
<visitor-account :open="true" :disabled="true" :depart_id="depart_id" :visitor_id="visitor_id"></visitor-account>
</view>
<view class="bot-con">
@ -71,6 +71,7 @@
showCancelBook:false,
redirect:'/pages/prebook_list/prebook_list',
bookId:false,
visitor_id:0,
depart_id:false,
bookInfo:false,
showReBook:false,
@ -86,6 +87,7 @@
// if(option.index) this.redirect = '/pages/index/index'
if(option.id) this.bookId = option.id
if(option.depart_id) this.depart_id = option.depart_id
if(option.visitor_id) this.visitor_id = option.visitor_id
},
onShow() {
if(!this.bookId || !this.depart_id){

10
pages/visitors/visitors.vue

@ -153,9 +153,7 @@
if(option.depart_id) this.depart_id = option.depart_id
if(option.is_preview) this.is_preview = true
},
async onShow() {
await this.getDoctorInfo();
if(this.type == 2){
uni.setNavigationBarTitle({
title:'就诊人'
@ -169,6 +167,12 @@
title:'请选择就诊人'
})
}
},
async onShow() {
await this.getDoctorInfo();
},
onReady() {
},
methods: {

25
pages/visitors_new/visitors_new.vue

@ -1,13 +1,13 @@
<template>
<view class='waiting-method-page'>
<visitor-list @clickEvent="getBookData" ref="visitors" :add="true"></visitor-list>
<visitor-list @clickEvent="getVisitorListData" @dataEvent="setVisitorListData" ref="visitors" :add="true"></visitor-list>
<uni-card title="上官子涵" extra="身份证:9098******8778" margin="0 0 20rpx 0" shadow="none" :border="false" padding="24rpx" class="empty">
<!-- <visitor-account></visitor-account> -->
<uni-card v-if="visitor_id==0 || (visitor_id!=0 && visitor_id==item.id)" v-for="(item,key) in visitor_list" :title="item.name" :extra="'身份证:'+item.idcard_txt" :class="((visitor_list && item.h_list && item.h_list.length>0)?'':'empty')" margin="0 0 0rpx 0" shadow="none" :border="false" padding="24rpx">
<visitor-account v-for="(item2,key2) in item.h_list" :depart_id="item2.depart_id" :visitor_id="item.id" :thumb="cssUrl+'hicon.svg'" v-if="visitor_list && item.h_list && item.h_list.length>0" :errmsg="(!item2.weeks ? '' : ' '+(item2.weeks<=10?item2.weeks:('超过10')))+'周未看病,请及时复诊'"></visitor-account>
</uni-card>
<uni-card title="上官子涵" extra="身份证:9098******8778" margin="0 0 20rpx 0" shadow="none" :border="false" padding="24rpx" class="">
<!-- <uni-card title="上官子涵" extra="身份证:9098******8778" margin="0 0 20rpx 0" shadow="none" :border="false" padding="24rpx" class="">
<visitor-account :thumb="cssUrl+'hicon.svg'"></visitor-account>
</uni-card>
@ -17,9 +17,11 @@
<uni-card title="上官子涵" extra="身份证:9098******8778" margin="0 0 20rpx 0" shadow="none" :border="false" padding="24rpx" class="">
<visitor-account :thumb="cssUrl+'hicon.svg'" errmsg="4周未看病,请及时复诊"></visitor-account>
</uni-card>
<visitor-account :thumb="cssUrl+'hicon.svg'" errmsg="4周未看病,请及时复诊"></visitor-account>
</uni-card> -->
<view class="bt btPadding"></view>
</view>
</template>
@ -36,7 +38,9 @@
cssUrl:this.cssUrl,
depart_id:0,
hospital_depart_name:'',
visitor_list:false,
value:'',
visitor_id:0,
type: 0,
types: [{
text: '等医生叫号',
@ -63,7 +67,11 @@
changeCollapse(e) {
console.log(e);
},
getBookData(visitor_id){
setVisitorListData(e) {
this.visitor_list = e
},
getVisitorListData(visitor_id){
this.visitor_id = visitor_id
console.log(visitor_id)
}
}
@ -77,6 +85,7 @@
.uni-card{
border-radius: 0;
padding: 34rpx 42rpx !important;
margin-bottom: 20rpx !important;
.uni-collapse-item__title-arrow{
margin-right: 0;
}
@ -93,8 +102,8 @@
width: calc(100% - 40rpx);
}
.uni-card__content{
background: #F9FAFB;
margin-top: 28rpx;
padding: 0 !important;
background: white;
}
.uni-collapse-item__title{
background: #F9FAFB;

Loading…
Cancel
Save