分包医生

This commit is contained in:
zoujiandong
2024-01-16 14:59:06 +08:00
parent 562d4e9691
commit d5a9339ddd
1060 changed files with 3177 additions and 44707 deletions
+770
View File
@@ -0,0 +1,770 @@
// Pages/yishi/index/index.js
import { API } from '../../../../utils/network/api'
import { pxTorpx } from '../../../../utils/util'
import { requestSubscribeMessage } from '../../../../utils/requestSubscribeUtil';
const api = new API()
const app = getApp()
Page({
data: {
title: "肝胆相照互联网医院",
navHeight: 0,
stateHeight: 0,
doctor_inquiry_config:null,
info:{
user_name: "医师姓名",
not_accepted_inquiry_num: 0,
accepting_inquiry_num: 0,
info_shiming_status_txt: "未认证",
info_shiming_status: "info_shiming_status_no",
show_info_note: false,
praise_rate: "100%",
avg_response_time: 0,
number_of_fans: 0,
avatar: api.getStaticHost()+"/applet/doctor/static/images/default_photo.png",
reject_prescription_number: false,//处方管理小红点
},
static_host: api.getStaticHost(),
iden_auth_status_txt: "未认证",
multi_point_status_txt: "未认证",
shiming_status_url: "",
iden_auth_status_url: "/user/pages/yishi/identity/index",
multi_point_status_url: "/user/pages/yishi/zhiye_identity/index",
duration: 500,
interval: 5000,
swiperList: [],
banner: [],
default_dialog_show: false,//只弹框一次
dialog_visible: false,
dialog_content: "请您先完成实名认证",
dialog_url: "",
/*
case_module取值
新问诊 0
接诊中 1
多点执业认证 2
简介管理 3
在线问诊管理 4
快速问诊管理 5
义诊管理 6
处方管理 7
联系客服 8
*/
/*
case_status 取值
未实名认证和医师身份认证 0
已实名认证,未医师身份认证 1
已实名认证和医师身份认证,未绑定结算银行卡 2
已实名认证和医生身份认证,已绑定结算银行卡 3
已实名认证和医师身份认证且绑定结算银行卡,开通了在线问诊,未开通多点执业认证 4
*/
mycase: [
{
case_status: 0,
case_module: [0,1,2,3,4,5,6,7,8],
case_text: "请您先完成实名认证",
case_url: "/user/pages/yishi/identity/index"
},
{
case_status: 1,
case_module: [0,1,2,3,4,5,6,7,8],
case_text: "请您先医师身份认证",
case_url: "/user/pages/yishi/identity/index?selected_tab=1"
},
{
case_status: 2,
case_module: [0,1,2,3,4,5,6,7,8],
case_text: "请您先绑定结算银行卡",
case_url: "/user/pages/yishi/bankcard/index"
},
{
case_status: 3,
case_module: [7],
case_text: "请您先进行多点执业认证",
case_url: "/user/pages/yishi/zhiye_identity/index"
},
{
case_status: 4,
case_module: [7],
case_text: "请您先进行多点执业认证",
case_url: "/user/pages/yishi/zhiye_identity/index"
},
{
case_status: 5,
case_module: [],
case_text: "已全部通过"
},
],
contactKeFu: false,
sub_visible: false,
jiesuan_dialog_show: false,
jiesuan_dialog_visible: false,
funbox_height: 100,
skeleton_loading: true,
confirmBtn: {
"openType": "contact",
"content": "确认",
},
overlay_show: false
},
// 获取状态栏信息
getMenuButtonBound() {
let stateHeight = 0; // 接收状态栏高度
const navHeight = wx.getMenuButtonBoundingClientRect().height; // 获取胶囊高度
let top = 0;
top = wx.getMenuButtonBoundingClientRect().top - stateHeight; // 获取top值
// console.log('navHeight', navHeight);
// console.log('top', top);
this.setData({
// navHeight: navHeight + top * 2, // 导航栏高度
navHeight, // 导航栏高度
stateHeight: stateHeight + top, // 状态栏高度
});
},
getFunboxHeight(){
// console.log("109: ", rpxTopx(109))
// console.log("113: ", rpxTopx(113))
const { statusBarHeight } = wx.getSystemInfoSync();
// console.log("statusBarHeight: ", rpxTopx(statusBarHeight));
let funbox_height = wx.getSystemInfoSync().windowHeight - (this.data.stateHeight + this.data.navHeight + 10) - 55;//减去底部空白
funbox_height = pxTorpx(funbox_height);
// 147 userinfo的高度
// 80 info_note
// 155 认证部分的高度
// 168 广告部分的高度
// 40 自定义适配
funbox_height = funbox_height - 147 - 20 - 30 - 20 - 155 - 30 - 168 - 20 - 30 - 30 - 30 - 30 - 40;
// 50 info_note
if(this.data.info.show_info_note){
funbox_height = funbox_height - 50;
}
funbox_height = funbox_height / 3;
if(funbox_height > 150) funbox_height = 150
this.setData({
funbox_height: funbox_height
})
},
confirmJieSuanDialog(){
this.setData({
jiesuan_dialog_visible: false,
})
const overlay_show = wx.getStorageSync('overlay_show')
if(!overlay_show){
this.setData({
overlay_show: true
})
wx.setStorageSync('overlay_show', "1")
}
app.go("/user/pages/yishi/manual_detail/index?manual_id=1")
},
cancelJieSuanDialog(){
this.setData({
jiesuan_dialog_visible: false,
})
const overlay_show = wx.getStorageSync('overlay_show')
if(!overlay_show){
this.setData({
overlay_show: true
})
wx.setStorageSync('overlay_show', "1")
}
},
confirmContactDialog(){
this.setData({
contactKeFu: false
})
},
cancelContactDialog(){
// console.log("cancelContactDialogcancelContactDialogcancelContactDialog");
this.setData({
contactKeFu: false
})
},
onPullDownRefresh(){
// console.log("用户下拉动作")
this.onShow();
},
onLoad(){
},
onUnload(){
// console.log("index onUnload() onUnload() ");
this.setData({
swiperList: []
})
},
onHide(){
// console.log("index onHide() onHide() ");
// wx.offCopyUrl(this.Copylistener) // 需传入与监听时同一个的函数对象
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().stopInterval()
}
this.setData({
contactKeFu: false
})
},
Copylistener(res){
setTimeout(()=>{
wx.setClipboardData({
data: '暂不支持分享',
success (res) {
},
complete(){
wx.hideToast()
}
})
},1000)
return
},
onShow: function () {
//初始化默认值
this.setData({
skeleton_loading: true,
});
// wx.onCopyUrl(this.Copylistener);
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().setData({
active: 0, //数字是当前页面在tabbar的索引,如我的查询页索引是2,因此这边为2,同理首页就为0,审批页面为1
})
this.getTabBar().startInterval()
}
this.getMenuButtonBound();
api.yiShiIndex().then(response => {
// console.log(response);
let avatar = response.data.info.avatar;
this.setData({
"info.user_name": response.data.info.user_name,
"info.not_accepted_inquiry_num": response.data.info.not_accepted_inquiry_num,
"info.accepting_inquiry_num": response.data.info.accepting_inquiry_num,
"info.praise_rate": response.data.info.praise_rate,
"info.avg_response_time": response.data.info.avg_response_time,
"info.number_of_fans": response.data.info.number_of_fans,
doctor_inquiry_config:response.data.doctor_inquiry_config
})
if(avatar){
this.setData({
"info.avatar": avatar
})
}
//实名认证
let idcard_status = response.data.info.idcard_status;
//医师身份认证
let iden_auth_status = response.data.info.iden_auth_status;
//多点执业认证
let multi_point_status = response.data.info.multi_point_status;
//绑定结算银行卡
let is_bind_bank = response.data.info.is_bind_bank;
// //是否参加专家图文接诊(0:否 1:是)
// let is_img_expert_reception = response.data.info.is_img_expert_reception;
// //是否参加专家快速接诊(0:否 1:是)
// let is_img_quick_reception = response.data.info.is_img_quick_reception;
// //是否参加专家公益接诊(0:否 1:是)
// let is_img_welfare_reception = response.data.info.is_img_welfare_reception;
this.setData({
"info.idcard_status": idcard_status,
"info.iden_auth_status": iden_auth_status,
"info.multi_point_status": multi_point_status,
"info.is_bind_bank": is_bind_bank,
// "info.is_img_expert_reception": is_img_expert_reception,
// "info.is_img_quick_reception": is_img_quick_reception,
// "info.is_img_welfare_reception": is_img_welfare_reception,
});
//iden_auth_status 0:未认证 1:认证通过 2:审核中 3:认证失败
if(iden_auth_status == 0) this.setData({iden_auth_status_txt: "未认证"});
if(iden_auth_status == 1) this.setData({iden_auth_status_txt: "已认证", iden_auth_status_url: "/user/pages/yishi/attestation/index"});
if(iden_auth_status == 2) this.setData({iden_auth_status_txt: "审核中"});
if(iden_auth_status == 3) this.setData({iden_auth_status_txt: "认证失败"});
//multi_point_status 0:未认证 1:认证通过 2:审核中 3:认证失败
if(multi_point_status == 0) this.setData({multi_point_status_txt: "未认证"});
if(multi_point_status == 1) this.setData({multi_point_status_txt: "已认证", multi_point_status_url: "/user/pages/yishi/practicing/index"});
if(multi_point_status == 2) this.setData({multi_point_status_txt: "审核中"});
if(multi_point_status == 3) this.setData({multi_point_status_txt: "认证失败"});
//平均响应时间
var avg_response_time = response.data.info.avg_response_time;
if(avg_response_time != "0"){
this.setData({"info.show_info_note": true});
}
//处方管理小红点
var reject_prescription_number = response.data.info.reject_prescription_number;
if(reject_prescription_number){
this.setData({"info.reject_prescription_number": reject_prescription_number});
}
//格式化广告轮播
this.formatAD(response.data.banner);
this.checkStatus();
this.setData({
skeleton_loading: false
})
}).then(res => {
wx.stopPullDownRefresh()
}).then(res =>{
this.getFunboxHeight();
}).catch(errors => {
console.error(errors);
})
},
formatAD(banner){
let swiperList = [];
banner.forEach(item => {
swiperList.push(item.banner_path);
})
this.setData({
banner: banner,
swiperList: swiperList
})
},
onTapAD(e) {
let item = e.currentTarget.dataset.item;
// console.log(item);
let open_with = item.open_with;
let banner_link = item.banner_link;
if(open_with == 1){//小程序页面
app.go(banner_link);
}else if(open_with == 2){//webview 页面
app.go("/user/pages/webpage/index?src="+banner_link);
}
},
onChangeAD(e) {
// const { current, source } = e.detail;
// console.log(current, source);
},
go(e){
let checkDialog = this.checkDialog(e);
// console.log("checkDialog: ", checkDialog);
if(checkDialog){
let url = e.currentTarget.dataset.url;
// console.log(url);
if(url.indexOf("wenzhen") > -1){
wx.switchTab({
url: url,
})
}
app.go(e.currentTarget.dataset.url)
}
},
gozhiye(e){
let idcard_status = this.data.info.idcard_status;
let iden_auth_status = this.data.info.iden_auth_status;
let is_bind_bank = this.data.info.is_bind_bank;
if(idcard_status != 1){
this.setData({
dialog_content: "请您先完成实名认证",
shiming_status_url: "/user/pages/yishi/identity/index",
dialog_visible: true,
});
return;
}
if(iden_auth_status != 1){
this.setData({
dialog_content: "请您先医师身份认证",
shiming_status_url: "/user/pages/yishi/identity/index?selected_tab=1",
dialog_visible: true,
});
return;
}
if(is_bind_bank != 1){
this.setData({
dialog_content: "请您先绑定结算银行卡",
shiming_status_url: "/user/pages/yishi/bankcard/index",
dialog_visible: true,
});
return;
}
app.go(e.currentTarget.dataset.url);
},
confirmDialog(e){
// console.log(e)
let url = e.currentTarget.dataset.url;
// console.log("confirmDialog: ", url)
this.setData({
dialog_visible: false
})
app.go(url);
},
cancelDialog(){
this.setData({
dialog_visible: false
})
},
checkStatus(){
//实名认证
let idcard_status = this.data.info.idcard_status;
//医师身份认证
let iden_auth_status = this.data.info.iden_auth_status;
//多点执业认证
let multi_point_status = this.data.info.multi_point_status;
//绑定结算银行卡
var is_bind_bank = this.data.info.is_bind_bank;
//是否参加专家图文接诊(0:否 1:是)
// let is_img_expert_reception = this.data.info.is_img_expert_reception;
// //是否参加专家快速接诊(0:否 1:是)
// let is_img_quick_reception = this.data.info.is_img_quick_reception;
// //是否参加专家公益接诊(0:否 1:是)
// let is_img_welfare_reception = this.data.info.is_img_welfare_reception;
let usertype = wx.getStorageSync('usertype');
let userID = wx.getStorageSync('user_id_'+usertype);
wx.setStorageSync(userID+'_idcard_status', idcard_status);
wx.setStorageSync(userID+'_iden_auth_status', iden_auth_status);
wx.setStorageSync(userID+'_multi_point_status', multi_point_status);
wx.setStorageSync(userID+'_is_bind_bank', is_bind_bank);
if(idcard_status == 0){
if(!this.data.default_dialog_show){
this.setData({
dialog_visible: true,
});
}
this.setData({
"info.info_shiming_status_txt": "未认证",
"info.info_shiming_status": "info_shiming_status_no",
dialog_content: "请您先完成实名认证",
shiming_status_url: "/user/pages/yishi/identity/index",
dialog_url: "/user/pages/yishi/identity/index",
default_dialog_show: true
});
return false;
}
if(idcard_status == 2){
if(!this.data.default_dialog_show){
this.setData({
dialog_visible: true,
});
}
this.setData({
"info.info_shiming_status_txt": "认证失败",
"info.info_shiming_status": "info_shiming_status_yes",
shiming_status_url: "/user/pages/yishi/identity/index",
dialog_url: "/user/pages/yishi/identity/index",
dialog_content: "实名认证失败",
default_dialog_show: true
});
return false;;
}
if(iden_auth_status == 0){
if(!this.data.default_dialog_show){
this.setData({
dialog_visible: true,
});
}
this.setData({
"info.info_shiming_status_txt": "前往医师身份认证",
"info.info_shiming_status": "info_shiming_status_yes",
shiming_status_url: "/user/pages/yishi/identity/index?selected_tab=1",
dialog_url: "/user/pages/yishi/identity/index?selected_tab=1",
dialog_content: "请您先医师身份认证",
default_dialog_show: true
});
return false;
}
if(iden_auth_status == 2){
if(!this.data.default_dialog_show){
this.setData({
// dialog_visible: true,
});
}
this.setData({
"info.info_shiming_status_txt": "审核中",
"info.info_shiming_status": "info_shiming_status_yes",
shiming_status_url: "/user/pages/yishi/identity/index?selected_tab=1",
dialog_url: "/user/pages/yishi/identity/index?selected_tab=1",
// dialog_content: "您的医师身份认证正在审核中",
// default_dialog_show: true
});
return false;
}
if(iden_auth_status == 3){
if(!this.data.default_dialog_show){
this.setData({
// dialog_visible: true,
});
}
this.setData({
"info.info_shiming_status_txt": "认证失败",
"info.info_shiming_status": "info_shiming_status_yes",
shiming_status_url: "/user/pages/yishi/identity/index?selected_tab=1",
dialog_url: "/user/pages/yishi/identity/index?selected_tab=1",
dialog_content: "您的医师身份认证失败",
// default_dialog_show: true
});
return false;
}
if(is_bind_bank == 0){
if(!this.data.default_dialog_show){
this.setData({
dialog_visible: true,
});
}
this.setData({
"info.info_shiming_status_txt": "绑定结算银行卡",
"info.info_shiming_status": "info_shiming_status_yes",
shiming_status_url: "/user/pages/yishi/bankcard/index",
dialog_url: "/user/pages/yishi/bankcard/index",
dialog_content: "请您先绑定结算银行卡",
default_dialog_show: true
});
return false;
}
//多点执业认证
if(multi_point_status == 0){
if(!this.data.default_dialog_show){
this.setData({
// dialog_visible: true,
});
}
this.setData({
"info.info_shiming_status_txt": "前往多点执业认证",
"info.info_shiming_status": "info_shiming_status_yes",
shiming_status_url: "/user/pages/yishi/zhiye_identity/index",
dialog_content: "请您先进行多点执业认证",
// default_dialog_show: true
});
// return false;
}
if(multi_point_status == 2){
if(!this.data.default_dialog_show){
this.setData({
// dialog_visible: true,
});
}
this.setData({
"info.info_shiming_status_txt": "审核中",
"info.info_shiming_status": "info_shiming_status_yes",
shiming_status_url: "/user/pages/yishi/zhiye_identity/index",
dialog_content: "您的多点执业认证正在审核中",
// default_dialog_show: true
});
// return false;
}
if(multi_point_status == 3){
if(!this.data.default_dialog_show){
this.setData({
// dialog_visible: true,
});
}
this.setData({
"info.info_shiming_status_txt": "认证失败",
"info.info_shiming_status": "info_shiming_status_yes",
shiming_status_url: "/user/pages/yishi/zhiye_identity/index",
dialog_content: "您的多点执业认证失败",
// default_dialog_show: true
});
// return false;
}
const jiesuan_dialog_show = wx.getStorageSync('jiesuan_dialog_show');
if(!jiesuan_dialog_show){
this.setData({
jiesuan_dialog_visible: true,
});
wx.setStorageSync('jiesuan_dialog_show', true);
}
// (is_img_expert_reception + is_img_quick_reception + is_img_welfare_reception) == 0
let flag=false;
if(this.data.doctor_inquiry_config){
flag=this.data.doctor_inquiry_config.every((item)=>{
return item.is_enable==0
})
};
if(!this.data.doctor_inquiry_config || flag){
if(!this.data.default_dialog_show){
this.setData({
// dialog_visible: true,
});
}
this.setData({
"info.info_shiming_status_txt": "开启在线问诊",
"info.info_shiming_status": "info_shiming_status_yes",
shiming_status_url: "/user/pages/yishi/onlinesetup/index",
// default_dialog_show: true
});
return false;
}
//(is_img_expert_reception + is_img_quick_reception + is_img_welfare_reception) > 0
if(this.data.doctor_inquiry_config && !flag){
if(!this.data.default_dialog_show){
this.setData({
// dialog_visible: true,
});
}
this.setData({
"info.info_shiming_status_txt": "去接诊",
"info.info_shiming_status": "info_shiming_status_yes",
shiming_status_url: "/Pages/yishi/wenzhen_v2/wenzhen",
// default_dialog_show: true
});
return false;
}
//开启在线问诊
// var is_img_expert_reception = this.data.info.is_img_expert_reception;
// if(is_img_expert_reception == 0 ){
// if(!this.data.default_dialog_show){
// this.setData({
// // dialog_visible: true,
// });
// }
// this.setData({
// "info.info_shiming_status_txt": "开启在线问诊",
// "info.info_shiming_status": "info_shiming_status_yes",
// shiming_status_url: "/user/pages/yishi/onlinesetup/index",
// dialog_content: "请您先前往在线问诊管理中,开通在线问诊",
// default_dialog_show: true
// })
// return false;
// }
this.setData({
"info.info_shiming_status_txt": "去接诊",
shiming_status_url: "/Pages/yishi/wenzhen_v2/wenzhen",
});
this.setData({"info.info_shiming_status": "info_shiming_status_yes"});
return true;
},
contactKeFu(e){
let _this = this;
let checkDialog = this.checkDialog(e);
if(checkDialog){
let tmplIds = ['JMPmlYGh1HcUSuEfJCVQUIsZv4H5ar3QvXZfrNYNFuc']
let sub_promise = requestSubscribeMessage(tmplIds)
sub_promise.then(res => {
console.log("订阅成功")
this.setData({
contactKeFu: true
})
}).catch(err => {
console.log(err)
let errCode = err.errCode
if(errCode == 20004){
this.setData({
sub_visible: true,
})
}
})
}
},
subcancelDialog(){
this.setData({
sub_visible: false,
contactKeFu: true
})
},
subconfirmDialog(){
this.setData({
sub_visible: false
})
wx.openSetting({
success (res) {
console.log(res.authSetting)
}
})
},
checkDialog(e){
//实名认证
let idcard_status = this.data.info.idcard_status;
//医师身份认证
let iden_auth_status = this.data.info.iden_auth_status;
//多点执业认证
let multi_point_status = this.data.info.multi_point_status;
//绑定结算银行卡
let is_bind_bank = this.data.info.is_bind_bank;
//是否参加专家图文接诊(0:否 1:是)
let is_img_expert_reception = this.data.info.is_img_expert_reception;
//是否参加专家快速接诊(0:否 1:是)
let is_img_quick_reception = this.data.info.is_img_quick_reception;
//是否参加专家公益接诊(0:否 1:是)
let is_img_welfare_reception = this.data.info.is_img_welfare_reception;
let statusArr = [];
// 未实名认证和医师身份认证 0
// 已实名认证,未医师身份认证 1
// 已实名认证和医师身份认证,未绑定结算银行卡 2
// 已实名认证和医生身份认证,已绑定结算银行卡 未开通多点执业认证3
// 已实名认证和医师身份认证且绑定结算银行卡,开通了在线问诊,未开通多点执业认证 4
// 已实名认证和医师身份认证且绑定结算银行卡,开通了在线问诊,已开通多点执业认证 5
if(idcard_status == 0 && iden_auth_status == 0){
statusArr.push(0);
}
if(idcard_status == 1 && iden_auth_status != 1){
statusArr.push(1);
}
if(idcard_status == 1 && iden_auth_status == 1 && is_bind_bank != 1){
statusArr.push(2);
}
if(idcard_status == 1 && iden_auth_status == 1 && is_bind_bank == 1 && multi_point_status != 1 &&
(is_img_expert_reception + is_img_quick_reception + is_img_welfare_reception) == 0){
statusArr.push(3);
}
if(idcard_status == 1 && iden_auth_status == 1 && is_bind_bank == 1 && multi_point_status != 1 &&
(is_img_expert_reception + is_img_quick_reception + is_img_welfare_reception) > 0){
statusArr.push(4);
}
if(idcard_status == 1 && iden_auth_status == 1 && is_bind_bank == 1 && multi_point_status == 1){
statusArr.push(5);
}
let retult = true;
statusArr.forEach(status => {
let now_case = this.data.mycase.find(item => {
return item.case_status == status;
});
// console.log("now_case: ", now_case);
//所属模块
let moudle = e.currentTarget.dataset.moudle;
// console.log("moudle: ", moudle);
if(now_case){
let now_moudle = now_case.case_module.find(item => {
return item == moudle;
})
// console.log("now_moudle: ", now_moudle);
if(now_moudle != undefined){
this.setData({
dialog_content: now_case.case_text,
dialog_visible: true,
dialog_url: now_case.case_url
});
retult = false;
return;
}
}
})
return retult;
},
onClickHideOverlay(){
this.setData({
overlay_show: false
})
}
})
+15
View File
@@ -0,0 +1,15 @@
{
"component": true,
"usingComponents": {
"t-avatar": "tdesign-miniprogram/avatar/avatar",
"van-button": "@vant/weapp/button/index",
"t-swiper": "tdesign-miniprogram/swiper/swiper",
"t-badge": "tdesign-miniprogram/badge/badge",
"t-dialog": "tdesign-miniprogram/dialog/dialog",
"van-image": "@vant/weapp/image/index",
"t-skeleton": "tdesign-miniprogram/skeleton/skeleton",
"van-overlay": "@vant/weapp/overlay/index"
},
"enablePullDownRefresh": false,
"backgroundTextStyle":"dark"
}
+251
View File
@@ -0,0 +1,251 @@
<page-meta page-style="{{ true ? 'overflow: hidden;' : '' }}" />
<view class="container" id="container">
<!-- 顶部背景 -->
<view class="top_bk"></view>
<!-- 顶部标题 -->
<view class="title"
style="top:0;padding-top: {{stateHeight}}px;height: {{navHeight + 10}}px;line-height: {{navHeight}}px;position: relative;">{{ title }}</view>
<!-- 用户信息 -->
<!-- <view class="info_box" style="margin-top: {{stateHeight+navHeight+10}}px;"> -->
<view class="info_box">
<view class="info">
<view class="info_top">
<view class="info_photo" bindtap="go" data-url="/Pages/yishi/myinfo/index">
<!-- 跳转我的信息 -->
<t-avatar alt="头像" class="avatar" size="medium" image="{{info.avatar}}" wx:if="{{!skeleton_loading}}"/>
<!-- 骨架屏 -->
<t-skeleton theme="avatar" animation="gradient" loading="{{skeleton_loading}}" />
</view>
<view class="info_content">
<view class="info_mobile" wx:if="{{!skeleton_loading}}">{{info.user_name}}</view>
<t-skeleton theme="text" row-col="{{[1]}}" animation="gradient" loading="{{skeleton_loading}}" />
</view>
<view class="info_shiming" bindtap="go" data-url="{{shiming_status_url}}" wx:if="{{!skeleton_loading}}">
<view class="info_shiming_status {{info.info_shiming_status}}" wx:if="{{!skeleton_loading}}">{{info.info_shiming_status_txt}}</view>
<t-skeleton theme="text" row-col="{{[{ width: '50rpx' }]}}" animation="gradient" loading="{{skeleton_loading}}" />
</view>
</view>
<view class="info_wenzhen">
<view class="info_wenzhen_new" wx:if="{{skeleton_loading}}">
<t-skeleton theme="text" row-col="{{[{ width: '70%' }]}}" animation="gradient" loading="{{skeleton_loading}}" />
</view>
<view class="info_wenzhen_new" bindtap="go" data-url="/Pages/yishi/wenzhen_v2/wenzhen" data-moudle="0" wx:if="{{!skeleton_loading}}">
待接诊:{{info.not_accepted_inquiry_num}}
<t-skeleton theme="text" row-col="{{[1]}}" animation="gradient" loading="{{skeleton_loading}}" />
</view>
<view class="info_wenzhen_ing" bindtap="go" data-url="/Pages/yishi/wenzhen_v2/wenzhen" data-moudle="1" wx:if="{{!skeleton_loading}}">接诊中:{{info.accepting_inquiry_num}}</view>
</view>
</view>
<view class="info_note" wx:if="{{info.show_info_note}}">
<view class="haoping info_note_item" wx:if="{{skeleton_loading}}">
<t-skeleton theme="text" row-col="{{[{ width: '90%' }]}}" animation="gradient" loading="{{skeleton_loading}}" />
</view>
<view class="haoping info_note_item" wx:if="{{!skeleton_loading}}">
<text class="info_note_txt">好评率</text><text class="info_note_num"> {{info.praise_rate}}%</text>
</view>
<view class="time info_note_item" wx:if="{{!skeleton_loading}}">
<text class="info_note_txt">响应时间</text><text class="info_note_num"> {{info.avg_response_time}} </text><text class="info_note_txt">分钟</text>
</view>
<view class="follow info_note_item" wx:if="{{!skeleton_loading}}">
<text class="info_note_txt">关注数</text><text class="info_note_num"> {{info.number_of_fans}}</text>
</view>
</view>
</view>
<!-- 认证信息 -->
<view class="renzhen">
<view class="renzheng_left" wx:if="{{skeleton_loading}}">
<t-skeleton theme="image" row-col="{{[1]}}" animation="gradient" loading="{{skeleton_loading}}" />
</view>
<view class="renzheng_left" bindtap="go" data-url="/Pages/yishi/identity/index" wx:if="{{!skeleton_loading}}">
<view class="renzheng_content_left">
<view class="renzheng_content_name">医师身份认证</view>
<view class="renzheng_content_status">
<van-button round plain
custom-style="background-color: #E0FFFE; height: 45rpx; letter-spacing: 3rpx; font-size: 26rpx;"
color="#3CC7C0" type="info" size="small">{{ iden_auth_status_txt }}></van-button>
</view>
</view>
<view class="renzheng_content_right">
<van-image class="renzheng_content_right_img" width="100%"
fit="widthFix"
src="{{static_host}}/applet/doctor/static/images/yishi/yishirenzheng.png"
/>
</view>
</view>
<view class="renzheng_right" wx:if="{{skeleton_loading}}">
<t-skeleton theme="image" row-col="{{[1,1,1]}}" animation="gradient" loading="{{skeleton_loading}}" />
</view>
<view class="renzheng_right" bindtap="gozhiye" data-url="/Pages/yishi/zhiye_identity/index" wx:if="{{!skeleton_loading}}">
<view class="renzheng_content_left">
<view class="renzheng_content_name">多点执业认证</view>
<view class="renzheng_content_status">
<van-button round plain data-moudle="2"
custom-style="background-color: #FFF5E0; height: 45rpx; letter-spacing: 3rpx; font-size: 26rpx;"
color="#FC7E00" type="info" size="small">{{ multi_point_status_txt }}></van-button>
</view>
</view>
<view class="renzheng_content_right">
<van-image class="renzheng_content_right_img" width="100%"
fit="widthFix"
src="{{static_host}}/applet/doctor/static/images/yishi/zhiyerenzheng.png"
/>
</view>
</view>
</view>
<!-- 广告版块 -->
<view class="ad">
<!-- <t-swiper
height="110rpx"
duration="{{duration}}"
interval="{{interval}}"
navigation="{{ { type: 'dots' } }}"
list="{{swiperList}}"
bind:click="onTapAD"
bind:change="onChangeAD"
data-url="123"
wx:if="{{!skeleton_loading}}"
>
</t-swiper> -->
<swiper class="swiper" indicator-dots="{{true}}" circular="{{true}}" indicator-active-color="#3CC7C0" autoplay="{{true}}" interval="3000">
<block wx:for="{{banner}}" wx:key="*this">
<swiper-item>
<view class="swiper-item">
<image class="swiperimg" src="{{item.banner_path}}" data-item="{{item}}" bindtap="onTapAD"></image>
</view>
</swiper-item>
</block>
</swiper>
</view>
<!-- 功能模块 -->
<view class="fun_box">
<view bindtap="go" data-moudle="3" data-url="/Pages/yishi/myprofile/index" class="fun_box_item" style="height: {{funbox_height}}rpx;">
<van-image class="fun_box_item_img"
fit="heightFix"
height="70rpx"
src="{{static_host}}/applet/doctor/static/images/yishi/jianjie.png"
/>
<text class="fun_box_item_txt">个人简介管理</text>
</view>
<view bindtap="go" data-moudle="4" data-url="/Pages/yishi/onlinesetup/index" class="fun_box_item" style="height: {{funbox_height}}rpx;">
<van-image class="fun_box_item_img"
fit="widthFix"
width="70rpx"
src="{{static_host}}/applet/doctor/static/images/yishi/zaixian.png"
/>
<text class="fun_box_item_txt">在线问诊管理</text>
</view>
<view bindtap="go" data-moudle="5" data-url="/Pages/yishi/kuaisusetup/index" class="fun_box_item" style="height: {{funbox_height}}rpx;">
<van-image class="fun_box_item_img"
fit="widthFix"
width="70rpx"
src="{{static_host}}/applet/doctor/static/images/yishi/kuaisu.png"
/>
<text class="fun_box_item_txt">快速问诊管理</text>
</view>
<view bindtap="go" data-moudle="6" data-url="/Pages/yishi/yizhensetup/index" class="fun_box_item" style="height: {{funbox_height}}rpx;">
<van-image class="fun_box_item_img"
fit="widthFix"
width="70rpx"
src="{{static_host}}/applet/doctor/static/images/yishi/yizhen.png"
/>
<text class="fun_box_item_txt">公益问诊管理</text>
</view>
<view bindtap="go" data-moudle="7" data-url="/Pages/yishi/chufangsetup/index" class="fun_box_item" style="height: {{funbox_height}}rpx;">
<van-image class="fun_box_item_img"
fit="widthFix"
width="70rpx"
src="{{static_host}}/applet/doctor/static/images/yishi/chufang.png"
/>
<view class="fun_box_item_txt">
<t-badge style="display: flex;align-items: center;" dot="{{info.reject_prescription_number ? true : false}}" offset="{{ ['-14rpx', '10rpx'] }}" class="wrapper" content="处方管理" />
</view>
</view>
<view class="fun_box_item" data-moudle="8" bindtap="contactKeFu" style="height: {{funbox_height}}rpx;">
<van-image class="fun_box_item_img"
fit="widthFix"
width="70rpx"
src="{{static_host}}/applet/doctor/static/images/yishi/kefu.png"
/>
<text class="fun_box_item_txt">联系客服</text>
</view>
</view>
<view style="width: 100%;height: 55px;">
<!-- 处理底部tabbar遮挡 50px -->
</view>
<t-dialog
visible="{{ dialog_visible }}"
title="温馨提示"
content="{{dialog_content}}"
>
<view slot="cancel-btn" class="dialog dialog_cancel_btn" bindtap="cancelDialog">
取消
</view>
<view slot="confirm-btn" class="dialog dialog_confirm_btn" bindtap="confirmDialog" data-url="{{dialog_url}}">
确定
</view>
</t-dialog>
<t-dialog
visible="{{ jiesuan_dialog_visible }}"
title="温馨提示"
content="快速了解在线问诊、公益问诊和快速问诊"
>
<view slot="cancel-btn" class="dialog dialog_cancel_btn" bindtap="cancelJieSuanDialog">
已了解
</view>
<view slot="confirm-btn" class="dialog dialog_confirm_btn" bindtap="confirmJieSuanDialog">
不了解
</view>
</t-dialog>
<t-dialog
visible="{{ contactKeFu }}"
title="立即联系客服"
confirm-btn="{{confirmBtn}}"
close-on-overlay-click="{{true}}"
close="cancelContactDialog"
>
<view slot="cancel-btn" class="dialog dialog_cancel_btn" bindtap="cancelContactDialog">
取消
</view>
<!-- <view slot="confirm-btn" class="dialog dialog_confirm_btn" open-type="contact">
<t-button theme="primary" size="large" open-type="contact">确认</t-button>
</view> -->
</t-dialog>
<!-- <van-dialog
title="立即联系客服"
show="{{ contactKeFu }}"
show-cancel-button
confirm-button-color="#3CC7C0"
confirm-button-open-type="contact"
/> -->
<van-overlay show="{{ overlay_show }}" z-index="999999999999">
<van-image class="overlay_show"
fit="widthFix"
style="position: absolute; padding-top: {{stateHeight + navHeight}}px;"
width="100vw"
src="{{static_host}}/applet/doctor/static/images/collection.png"
/>
<van-button color="rgba(0, 0, 0, .1)" style="position: fixed;bottom: 100rpx;left: 50%;transform: translateX(-50%);width: 80vw;border: 1px solid #fff;border-radius: 50px;" block round bind:click="onClickHideOverlay">我知道了</van-button>
</van-overlay>
<t-dialog
visible="{{ sub_visible }}"
title="温馨提示"
content="您已关闭订阅消息通知,请点击“确认”按钮在设置中打开订阅通知。"
>
<view slot="cancel-btn" class="dialog dialog_cancel_btn" bindtap="subcancelDialog">
取消
</view>
<view slot="confirm-btn" class="dialog dialog_confirm_btn" bindtap="subconfirmDialog">
确定
</view>
</t-dialog>
</view>
+257
View File
@@ -0,0 +1,257 @@
page{
background-color: #FAFAFA;
}
.container{
width: 100vw;
}
.top_bk{
position: fixed;
top: -2230rpx;
left: 50%;
transform: translateX(-50%);
width: 2500rpx;
height: 2500rpx;
background-color: #3CC7C0;
border-radius: 50%;
z-index: -99;
}
.title{
position: fixed;
letter-spacing: 3rpx;
padding-left: 5vw;
font-size: 35rpx;
color: #fff;
background-color: #3CC7C0;
z-index: 999;
}
.info_box{
width: 90vw;
margin: 0 auto;
display: flex;
padding: 20rpx 0;
flex-direction: column;
background-color: rgb(255, 255, 255);
border-radius: 10rpx;
box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.06);
z-index: 999;
}
.info{
display: flex;
flex-direction: column;
z-index: 999;
}
.info_top{
display: flex;
align-items: center;
justify-content: space-around;
z-index: 999;
}
.info_photo{
margin-left: 20rpx;
flex: 1;
z-index: 999;
}
.info_content{
color: #000;
flex: 2;
display: flex;
flex-direction: column;
justify-content: space-between;
padding-left: 20rpx;
z-index: 999;
}
.info_mobile{
font-size: 36rpx;
letter-spacing: 3rpx;
z-index: 999;
}
.info_wenzhen{
margin: 20rpx 0 0 30rpx;
font-size: 28rpx;
color: #666666;
display: flex;
z-index: 999;
}
.info_wenzhen_new{
flex: 1;
}
.info_wenzhen_ing{
flex: 3;
}
.info_shiming{
flex: 3;
display: flex;
justify-content: flex-end;
margin-right: 20rpx;
}
.info_shiming_status{
padding: 15rpx 20rpx 15rpx 20rpx;
border-radius: 10rpx;
margin-right: 10rpx;
font-size: 30rpx;
}
.info_shiming_status_no{
background-color: rgb(207, 207, 214);
}
.info_shiming_status_yes{
background-color: #3CC7C0;
color: #fff;
}
.info_note{
color: rgb(122, 121, 121);
display: flex;
justify-content: space-around;
align-items: center;
text-align: center;
margin-top: 20rpx;
margin-left: 20rpx;
height: 50rpx;
}
.info_note_txt{
font-size: 28rpx;
color: #666666;
}
.info_note_item{
flex: 3;
}
.time{
flex: 4;
}
.info_note_num{
color: #E34D59;
font-weight: 600;
font-size: 36rpx;
}
.renzhen{
width: 90vw;
margin: 30rpx auto;
display: flex;
}
.renzheng_left{
flex: 1;
background-color: #E0FFFE;
display: flex;
align-items: center;
padding: 20rpx 0;
box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.06);
}
.renzheng_right{
flex: 1;
background-color: #FFF5E0;
margin-left: 20rpx;
display: flex;
align-items: center;
box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.06);
}
.renzheng_content_left{
flex: 2;
display: flex;
flex-direction: column;
padding: 0 0rpx 0 20rpx;
}
.renzheng_content_name{
font-size: 34rpx;
}
.renzheng_content_status{
margin-top: 20rpx;
}
.renzheng_content_right{
flex: 1;
}
.renzheng_content_right_img{
width: 100%;
}
.ad {
width: calc(92vw - 40rpx);
border-radius: 10rpx;
margin: 0 auto;
background-color: #fff;
padding: 20rpx 20rpx 0 20rpx;
box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.1);
}
.swiper{
height:168rpx;
}
.swiper-item .swiperimg{
width:100%;
border-radius: 10rpx;
height:110rpx;
}
.fun_box{
width: 90vw;
margin: 30rpx auto 0 auto;
padding: 30rpx 0;
box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.1);
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
border-radius: 10rpx;
background-color: #fff;
}
.fun_box_item{
width: 40vw;
height: 110rpx;
background-color: #FAFAFA;
border-radius: 10rpx;
margin: 10rpx 0;
display: flex;
align-items: center;
}
.fun_box_item_img{
flex: 1;
display: flex;
justify-content: center;
}
.fun_box_item_txt{
flex: 2.5;
font-size: 34rpx;
color: #333333;
height: 70rpx;
line-height: 70rpx;
display: flex;
}
.t-class-cancel{
color: #3CC7C0 !important;
}
.dialog{
width: 50%;
text-align: center;
height: 100rpx;
line-height: 100rpx;
}
.dialog_cancel_btn{
position: relative;
}
.dialog_cancel_btn::before {
content: ' ';
position: absolute;
box-sizing: border-box;
top: 0;
left: 0;
border-top: 2px solid var(--td-border-color, #e7e7e7);
border-right: 2px solid var(--td-border-color, #e7e7e7);
transform: scale(0.5);
transform-origin: 0 0;
width: 200%;
height: 200%;
border-radius: 0;
border-top-left-radius: 0px;
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
border-bottom-left-radius: 0px;
}
.dialog_confirm_btn{
border-top: 1px solid #E9E9E9;
color: #3CC7C0;
}
.t-button__content{
color: #3CC7C0 !important;
}
.t-dialog__button--text:before {
border-top: 2px solid #E9E9E9 !important;
border-left: 2px solid var(--td-border-color, #E9E9E9);
border-top-color: #E9E9E9 !important;
}
.overlay_show{
}