@ -1,34 +1,79 @@
< template >
< template >
< div class = "LoginMain" >
< div class = "LoginMain" >
< LoadingD :status ="dloading" > < / LoadingD >
< LoadingD :status ="dloading" > < / LoadingD >
< van -button class = "button" round type = "default" icon = "todo-list-o" :loading ="loading" @click ="gotoYuyue" > {{ buttonText }} < / van -button >
< div class = "top" style = "margin-top: -90px;" >
< div class = "biaoti" > < van -icon name = "todo-list-o" size = "22" / > 体检预约 < / div >
< div class = "button_group" >
< div class = "button_new" @click ="gotoYuyue" v-if ="JianKangZhengEnable==1" >
< div > 健康证明 < / div >
< div style = "font-size: 12px;color: #277d7b;" > 预约健康证体检 < / div >
< / div >
< div class = "button_new" v-if ="LaoNianRenEnable==1" >
< div > 65 岁以上老年人 < / div >
< div style = "font-size: 12px;color: #277d7b;" > 老年人体检预约 < / div >
< / div >
< div class = "button_new" v-if ="JianKangTiJianEnable==1" >
< div > 健康体检 < / div >
< div style = "font-size: 12px;color: #277d7b;" > 健康体检预约 < / div >
< / div >
< div class = "button_new" style = "background-color: #277d7b;" @ click = " router.push('/myappointment')" >
< div > < van -icon name = "todo-list-o" size = "16" style = "margin-right: 4px;" / > 预约记录 < / div >
< div style = "font-size: 12px;color: #7dbfbe;" > 预约登记记录 < / div >
< / div >
< / div >
< / div >
< div class = "top" >
< div class = "biaoti" > < van -icon name = "newspaper-o" size = "22" / > 报告查询 < / div >
< div class = "button_group" >
< div class = "button_new2" @click ="gotoReport(1)" v-if ="JianKangZhengEnable_baogao==1" >
< div > 健康证明查询 < / div >
< div style = "font-size: 12px;color: #c3805f;" > 健康证明查询 < / div >
< / div >
< div class = "button_new2" @click ="gotoReport(2)" v-if ="LaoNianRenEnable_baogao==1" >
< div > 65 岁以上老年人体检报告 < / div >
< div style = "font-size: 12px;color: #c3805f;" > 老年人体检报告查询 < / div >
< / div >
< div class = "button_new2" v-if ="JianKangTiJianEnable_baogao==1" >
< div > 健康体检报告 < / div >
< div style = "font-size: 12px;color: #c3805f;" > 健康体检报告查询 < / div >
< / div >
< / div >
< / div >
<!-- < van -button class = "button" round type = "default" icon = "todo-list-o" :loading ="loading" @click ="gotoYuyue" > {{ buttonText }} < / van -button >
< van -button class = "button2" round type = "warning" icon = "newspaper-o" :loading ="loading" @click ="gotoReport" > 查 看 体 检 结 果 < / van -button >
< van -button class = "button2" round type = "warning" icon = "newspaper-o" :loading ="loading" @click ="gotoReport" > 查 看 体 检 结 果 < / van -button >
-- >
< / div >
< / div >
< / template >
< / template >
< script setup >
< script setup >
import {
import {
AppLogin , AppGetUserInfo , mH5Register , GetConfigInArray
AppLogin ,
AppGetUserInfo ,
mH5Register ,
GetConfigInArray
} from "@/api/api.js" ;
} from "@/api/api.js" ;
import {
import {
ref ,
ref ,
onMounted , onActivated
onMounted ,
onActivated
} from 'vue' ;
} from 'vue' ;
import {
import {
useRoute ,
useRoute ,
useRouter
useRouter
} from "vue-router"
} from "vue-router"
import { showToast } from 'vant' ;
import {
showToast
} from 'vant' ;
const route = useRoute ( )
const route = useRoute ( )
const router = useRouter ( ) ;
const router = useRouter ( ) ;
let openid = ''
let openid = ''
const login = ( ) => {
const login = ( ) => {
if ( ! sessionStorage . getItem ( 'sfz' ) ) {
if ( ! sessionStorage . getItem ( 'sfz' ) ) {
showToast ( '查询用户信息出错!' ) ;
showToast ( '查询用户信息出错!' ) ;
return false
return false
}
}
loading . value = true
loading . value = true
AppLogin ( {
AppLogin ( {
openid : openid
openid : openid
} ) . then ( res => {
} ) . then ( res => {
@ -37,85 +82,86 @@
sessionStorage . setItem ( 'token' , res . token ) ;
sessionStorage . setItem ( 'token' , res . token ) ;
sessionStorage . setItem ( 'refreshToken' , res . refresh _token ) ;
sessionStorage . setItem ( 'refreshToken' , res . refresh _token ) ;
var token = sessionStorage . getItem ( 'token' ) ;
var token = sessionStorage . getItem ( 'token' ) ;
if ( token == res . token ) {
if ( token == res . token ) {
if ( res . isRegister ) {
if ( res . isRegister ) {
/ / 跳 转 到 选 择 机 构
/ / 跳 转 到 选 择 机 构
/ / r o u t e r . p u s h ( ' / s e l e c t O r g a n i z a t i o n ' )
/ / r o u t e r . p u s h ( ' / s e l e c t O r g a n i z a t i o n ' )
} else {
} else {
/ / 未 注 册 自 动 注 册
/ / 未 注 册 自 动 注 册
Reg ( )
Reg ( )
}
}
} else {
} else {
showToast ( '查询存储信息失败' ) ;
showToast ( '查询存储信息失败' ) ;
}
}
} else {
} else {
showToast ( res . msg ) ;
showToast ( res . msg ) ;
}
}
} )
} )
}
}
let loading = ref ( false )
let loading = ref ( false )
let buttonText = ref ( '开始预约' )
let buttonText = ref ( '开始预约' )
const gotoYuyue = ( ) => {
if ( JianKangZhengEnable . value != 1 ) {
const gotoYuyue = ( ) => {
if ( JianKangZhengEnable . value != 1 ) {
showToast ( '暂未开放健康证预约' ) ;
showToast ( '暂未开放健康证预约' ) ;
return false ;
return false ;
}
}
if ( sessionStorage . getItem ( 'sfz' ) ) {
if ( sessionStorage . getItem ( 'sfz' ) ) {
router . push ( '/selectOrganization' )
router . push ( '/selectOrganization' )
} else {
} else {
showToast ( '查询用户信息出错!' ) ;
showToast ( '查询用户信息出错!' ) ;
}
}
}
}
const gotoReport = ( ) => {
const gotoReport = ( type ) => {
if ( sessionStorage . getItem ( 'sfz' ) ) {
let p = '?type=' + type
router . push ( '/showReport' )
if ( sessionStorage . getItem ( 'sfz' ) ) {
} else {
router . push ( '/showReport' + p )
} else {
showToast ( '查询用户信息出错!' ) ;
showToast ( '查询用户信息出错!' ) ;
}
}
}
}
let dloading = ref ( false )
let dloading = ref ( false )
const AppGetUserinfoAction = ( ) => { / / 大 兴 A P P 获 取 登 录 用 户 信 息
const AppGetUserinfoAction = ( ) => { / / 大 兴 A P P 获 取 登 录 用 户 信 息
dloading . value = true
dloading . value = true
AppGetUserInfo ( {
AppGetUserInfo ( {
userId : openid
userId : openid
} ) . then ( res => {
} ) . then ( res => {
dloading . value = false
dloading . value = false
console . log ( res )
console . log ( res )
if ( res . status ) {
if ( res . status ) {
let info = res . data
let info = res . data
if ( info [ 0 ] != undefined ) {
if ( info [ 0 ] != undefined ) {
sessionStorage . setItem ( 'sfz' , info [ 0 ] . idcardno ) ;
sessionStorage . setItem ( 'sfz' , info [ 0 ] . idcardno ) ;
sessionStorage . setItem ( 'name' , info [ 0 ] . xm ) ;
sessionStorage . setItem ( 'name' , info [ 0 ] . xm ) ;
sessionStorage . setItem ( 'tel' , info [ 0 ] . sj ) ;
sessionStorage . setItem ( 'tel' , info [ 0 ] . sj ) ;
sessionStorage . setItem ( 'sex' , info [ 0 ] . xb ) ;
sessionStorage . setItem ( 'sex' , info [ 0 ] . xb ) ;
login ( )
login ( )
} else {
} else {
showToast ( '查询用户信息出错!' ) ;
showToast ( '查询用户信息出错!' ) ;
}
}
} else {
} else {
showToast ( res . msg ) ;
showToast ( res . msg ) ;
}
}
} )
} )
}
}
/ / 注 册
/ / 注 册
const Reg = ( ) => {
const Reg = ( ) => {
let info = {
let info = {
name : sessionStorage . getItem ( 'name' ) ,
name : sessionStorage . getItem ( 'name' ) ,
sex : sessionStorage . getItem ( 'sex' ) ,
sex : sessionStorage . getItem ( 'sex' ) ,
tel : sessionStorage . getItem ( 'tel' ) ,
tel : sessionStorage . getItem ( 'tel' ) ,
sfz : sessionStorage . getItem ( 'sfz' ) ,
sfz : sessionStorage . getItem ( 'sfz' ) ,
}
}
loading . value = true
loading . value = true
mH5Register ( {
mH5Register ( {
info : info
info : info
} ) . then ( res => {
} ) . then ( res => {
loading . value = false
loading . value = false
if ( res . status == true ) {
if ( res . status == true ) {
/ / s h o w D i a l o g ( {
/ / s h o w D i a l o g ( {
/ / t i t l e : ' 提 示 ' ,
/ / t i t l e : ' 提 示 ' ,
@ -124,34 +170,59 @@
/ / / / 添 加 成 功 后 , 跳 转 选 择 体 检 机 构
/ / / / 添 加 成 功 后 , 跳 转 选 择 体 检 机 构
/ / r o u t e r . r e p l a c e ( ' / s e l e c t O r g a n i z a t i o n ' )
/ / r o u t e r . r e p l a c e ( ' / s e l e c t O r g a n i z a t i o n ' )
/ / } ) ;
/ / } ) ;
showToast ( '注册成功!' ) ;
showToast ( '注册成功!' ) ;
} else {
} else {
showToast ( res . msg ) ;
showToast ( res . msg ) ;
}
}
} )
} )
}
}
let configInfo = ref ( null ) ;
let configInfo = ref ( null ) ;
let LaoNianRenEnable = ref ( 0 ) ;
let LaoNianRenEnable = ref ( 0 ) ;
let JianKangZhengEnable = ref ( 0 ) ;
let JianKangZhengEnable = ref ( 0 ) ;
let JianKangTiJianEnable = ref ( 0 ) ;
let LaoNianRenEnable _baogao = ref ( 0 ) ;
let JianKangZhengEnable _baogao = ref ( 0 ) ;
let JianKangTiJianEnable _baogao = ref ( 0 ) ;
/ / 获 取 配 置 信 息
/ / 获 取 配 置 信 息
const GetConfigInArrayFunc = ( ) => {
const GetConfigInArrayFunc = ( ) => {
GetConfigInArray ( {
GetConfigInArray ( {
labels : [ '是否开启H5老年人' , '是否开启H5健康证' ]
labels : [ '是否开启H5老年人' , '是否开启H5健康证 ', '是否开启H5健康体检' , '是否开启H5老年人报告查询' , '是否开启H5健康证明查询' , '是否开启H5健康体检报告查询 ']
} ) . then ( res => {
} ) . then ( res => {
loading . value = false
loading . value = false
if ( res . status ) {
if ( res . status ) {
configInfo . value = res . data
configInfo . value = res . data
configInfo . value . forEach ( function ( v , i ) {
configInfo . value . forEach ( function ( v , i ) {
if ( v . label == '是否开启H5老年人' ) {
if ( v . label == '是否开启H5老年人' ) {
if ( v . value == 1 ) {
if ( v . value == 1 ) {
LaoNianRenEnable . value = 1
LaoNianRenEnable . value = 1
}
}
}
}
if ( v . label == '是否开启H5健康证' ) {
if ( v . label == '是否开启H5健康证' ) {
if ( v . value == 1 ) {
if ( v . value == 1 ) {
JianKangZhengEnable . value = 1
JianKangZhengEnable . value = 1
}
}
}
}
if ( v . label == '是否开启H5健康体检' ) {
if ( v . value == 1 ) {
JianKangTiJianEnable . value = 1
}
}
if ( v . label == '是否开启H5老年人报告查询' ) {
if ( v . value == 1 ) {
LaoNianRenEnable _baogao . value = 1
}
}
if ( v . label == '是否开启H5健康证明查询' ) {
if ( v . value == 1 ) {
JianKangZhengEnable _baogao . value = 1
}
}
if ( v . label == '是否开启H5健康体检报告查询' ) {
if ( v . value == 1 ) {
JianKangTiJianEnable _baogao . value = 1
}
}
} )
} )
} else {
} else {
showToast ( res . msg ) ;
showToast ( res . msg ) ;
@ -159,15 +230,16 @@
} )
} )
}
}
onMounted ( ( ) => {
onMounted ( ( ) => {
openid = route . query . userId
openid = route . query . userId
/ / A p p G e t U s e r i n f o A c t i o n ( )
/ / A p p G e t U s e r i n f o A c t i o n ( )
tiaoGuoAppYanzheng ( ) ;
tiaoGuoAppYanzheng ( ) ;
GetConfigInArrayFunc ( ) ;
GetConfigInArrayFunc ( ) ;
console . log ( openid ) ;
console . log ( openid ) ;
} )
} )
/ / 测 试 跳 过 大 兴 a p p 验 证
/ / 测 试 跳 过 大 兴 a p p 验 证
const tiaoGuoAppYanzheng = ( ) => {
const tiaoGuoAppYanzheng = ( ) => {
sessionStorage . setItem ( 'sfz' , "13030219880808587X" ) ;
/ / s e s s i o n S t o r a g e . s e t I t e m ( ' s f z ' , " 1 3 0 3 0 2 1 9 9 9 1 0 0 0 1 1 1 2 " ) ;
sessionStorage . setItem ( 'sfz' , "110224195909090061" ) ;
sessionStorage . setItem ( 'name' , '测试' ) ;
sessionStorage . setItem ( 'name' , '测试' ) ;
sessionStorage . setItem ( 'tel' , "13333356789" ) ;
sessionStorage . setItem ( 'tel' , "13333356789" ) ;
sessionStorage . setItem ( 'sex' , 1 ) ;
sessionStorage . setItem ( 'sex' , 1 ) ;
@ -182,12 +254,58 @@
justify - content : center ;
justify - content : center ;
flex - direction : column ;
flex - direction : column ;
height : 100 vh ;
height : 100 vh ;
background - image : url ( '../assets/image/login.jpg' ) ;
/* background-image: url('../assets/image/login.jpg'); */
background - size : 100 % ;
background - size : 100 % ;
background - repeat : no - repeat ;
background - repeat : no - repeat ;
background - color : # afeefd ;
background - color : # afeefd ;
background - position : top center ;
background - position : top center ;
padding : 10 px ;
}
. top {
width : 100 % ;
padding : 20 px ;
background - color : rgba ( 255 , 255 , 255 , 0.5 ) ;
margin - top : 10 px ;
border - radius : 10 px ;
}
. biaoti {
font - size : 18 px ;
margin - bottom : 10 px ;
color : # 43 ae9c ;
font - weight : 700 ;
}
. button _group {
display : flex ;
width : 100 % ;
justify - content : space - between ;
flex - wrap : wrap ;
}
. button _new {
background - color : # 33 cdc9 ;
border : 3 px solid # fff ;
padding : 10 px ;
font - size : 16 px ;
border - radius : 10 px ;
width : 48 % ;
margin - bottom : 20 px ;
color : # fff ;
}
. button _new2 {
background - color : # ffaa7f ;
border : 3 px solid # fff ;
padding : 10 px ;
font - size : 16 px ;
border - radius : 10 px ;
width : 48 % ;
margin - bottom : 20 px ;
color : # fff ;
}
}
. button {
. button {
@ -197,6 +315,7 @@
color : # fff ;
color : # fff ;
border : 3 px solid # e6f5fd ;
border : 3 px solid # e6f5fd ;
}
}
. button2 {
. button2 {
width : 60 % ;
width : 60 % ;
margin - top : 20 px ;
margin - top : 20 px ;