医生1.0

This commit is contained in:
zoujiandong 2023-12-19 14:00:45 +08:00
commit 953c384a14
313 changed files with 19057 additions and 2729 deletions

View File

@ -0,0 +1,22 @@
// Pages/webpage/index.js
import { API } from './../../utils/network/api'
const api = new API()
Page({
/**
* 页面的初始数据
*/
data: {
src: "",
static_host: api.getStaticHost()
},
onLoad(options) {
console.log(options.agreement_id)
console.log(this.data.static_host+"/basic/file/agreement.htm?id="+options.agreement_id)
this.setData({
src: this.data.static_host+"/basic/file/agreement.htm?id="+options.agreement_id
})
},
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@ -0,0 +1,2 @@
<!--Pages/webpage/index.wxml-->
<web-view src="{{src}}"/>

View File

@ -0,0 +1 @@
/* Pages/webpage/index.wxss */

View File

@ -1,8 +1,67 @@
// Pages/index/index.js
import { API } from './../../utils/network/api'
const api = new API()
const app = getApp()
Page({
data: {
loading: true
loading: true,
showEntryTip:false,
showEntryTip_second:false,
beforeClose(action){
return new Promise((resolve) => {
if (action === 'confirm') {
resolve(true);
} else {
// 拦截取消操作
resolve(false);
}
})
},
static_host: api.getStaticHost()
},
onConfirmEntry(){
//wx.setStorageSync('hasEntry', true);
},
onCloseEntry(){
this.setData({
showEntryTip_second:true,
showEntryTip:true
})
},
onConfirmEntry_second(){
this.setData({
showEntryTip_second:false,
//showEntryTip:false,
});
//wx.setStorageSync('hasEntry', true);
},
onCloseEntry_second(){
this.setData({
showEntryTip_second:false,
showEntryTip:false,
});
wx.exitMiniProgram({success: (res) => {}})
},
go(e){
let url = e.currentTarget.dataset.url;
app.go(url);
},
onLoad(option){
let from = option.from;
let usertype = wx.getStorageSync('usertype');
console.log("index onload: ", from, usertype)
this.setData({
beforeClose: this.data.beforeClose.bind(this),
})
if(from === "navbar"){
//切换身份
}else{
if(usertype == 2 || usertype == 3){
this.guideTo(usertype)
}
}
},
/**
* 生命周期函数--监听页面显示
@ -13,80 +72,72 @@ Page({
tabBarShow:false, //true/false
})
}
wx.getPrivacySetting({
success: res => {
console.log(res) // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' }
if (res.needAuthorization) {
// 需要弹出隐私协议
this.setData({
showEntryTip:true
})
} else {
this.setData({
showEntryTip:false
})
// 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用已声明过的隐私
}
},
fail: () => {},
complete: () => {}
})
this.setData({ loading: false });
if(app.globalData.isLogin){
let usertype = wx.getStorageSync('usertype');
this.guideTo(usertype)
}
// let isEntry=wx.getStorageSync('hasEntry');
// console.log("onshow:"+isEntry)
// if(!isEntry){
// this.setData({
// showEntryTip:true
// });
// }else{
// this.setData({
// showEntryTip:false
// });
// }
},
goCheck(e){
console.log(e);
let usertype = e.currentTarget.dataset.usertype;
let url = e.currentTarget.dataset.url;
wx.setStorageSync('usertype', usertype);
wx.setStorageSync('next_url', url);
let user_uuid = wx.getStorageSync('user_id');
console.log(user_uuid);
if(user_uuid){
this.guideTo(usertype);
},
guideTo(usertype){
let url;
if(usertype == 2){
if(!wx.$TUIKit){
app.imInit();
}
url = "/Pages/yishi/index/index";
}else{
app.imLogout();
url = "/Pages/yaoshi/home/home";
}
let token = wx.getStorageSync('AUTH_TOKEN_'+usertype);
console.log(token);
console.log(url);
if(token){
wx.switchTab({
url: url
})
}else{
app.go(app.globalData.login_url);
}
},
bindGetUserInfo(){
wx.getUserInfo({
success: function(res) {
var userInfo = res.userInfo
var nickName = userInfo.nickName
var avatarUrl = userInfo.avatarUrl
var gender = userInfo.gender //性别 0未知、1男、2
var province = userInfo.province
var city = userInfo.city
var country = userInfo.country
console.log(res.userInfo)
}
})
},
shenfang(){
wx.requestSubscribeMessage({
tmplIds: [
"5Tl-xmaWXrKP5BB8E6b3oTdPHbHa7WYWbmvZiuz4TLs",
"kUy70xHlr7ADo4aIHiictM4Te7MSec3E5kHsYvFQu40"
],
success(res){
console.log(res)
},
fail(res){
console.log(res)
},
complete(res){
console.log(res)
}
})
},
yici(){
wx.requestSubscribeMessage({
tmplIds: [
"jhYUf91ULCTX_f69hazqAYwImdFf8ELasRAwB6X-MTM",
"JMPmlYGh1HcUSuEfJCVQUIsZv4H5ar3QvXZfrNYNFuc"
],
success(res){
console.log(res)
},
fail(res){
console.log(res)
},
complete(res){
console.log(res)
}
})
},
check(){
wx.getSetting({
withSubscriptions: true,
success (res) {
console.log(res.authSetting)
console.log(res.subscriptionsSetting)
}
})
//test git
}
})
})

View File

@ -1,6 +1,7 @@
{
"component": true,
"usingComponents": {
"t-image": "tdesign-miniprogram/image/image"
"t-image": "tdesign-miniprogram/image/image",
"van-dialog": "@vant/weapp/dialog/index"
}
}

View File

@ -1,12 +1,10 @@
<import src="index.skeleton.wxml"/>
<template is="skeleton" wx:if="{{loading}}" />
<view class="title">请选择您的身份</view>
<view>
<view class="item" data-usertype="2"
data-url="/Pages/yishi/index/index" bindtap="goCheck" >
<t-image
class="item_img"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yi.png"
src="{{static_host}}/applet/doctor/static/images/yi.png"
mode="heightFix"
height="220rpx"
aria-label="医师端"
@ -20,7 +18,7 @@
data-usertype="3" bindtap="goCheck">
<t-image
class="item_img"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yao.png"
src="{{static_host}}/applet/doctor/static/images/yao.png"
mode="heightFix"
height="220rpx"
aria-label="药师端"
@ -28,10 +26,37 @@
<t-loading slot="loading" theme="circular" size="40rpx" loading />
</t-image>
</view>
<button bindtap="shenfang">审方提醒(长期)</button>
<button bindtap="yici">患者回复通知(一次)</button>
<button bindtap="check">获取订阅状态</button>
</view>
<van-dialog
use-slot
title="温馨提示"
show="{{ showEntryTip }}"
show-cancel-button
confirm-button-text="同意并继续"
cancel-button-text="不同意"
confirm-button-color="#3CC7C0"
bind:confirm="onConfirmEntry"
bind:cancel="onCloseEntry"
before-close="{{beforeClose}}"
confirm-button-open-type="agreePrivacyAuthorization"
>
<view class="entrymsg" >
<view> 亲爱的用户,感谢您信任并使用肝胆相照互联网医院医师端!我们依据最新法律法规的要求,制定了<text class="navigator" bindtap="go" data-url="/Pages/agreement_page/index?agreement_id=9">《隐私协议》</text>。请您仔细阅《隐私协议》,并确认了解我们对您的个人信息处理原则。</view>
<view>如您同意《隐私协议》,请点击“同意”开始使用我们的产品和服务。</view>
</view>
</van-dialog>
<van-dialog
title="温馨提示"
show="{{ showEntryTip_second }}"
message="很抱歉,如您不同意《隐私协议》,可能无法继续正常使用我们的服务,请您先同意哦~"
show-cancel-button
confirm-button-text="好的"
cancel-button-text="不同意"
confirm-button-color="#3CC7C0"
bind:confirm="onConfirmEntry_second"
bind:cancel="onCloseEntry_second"
>
</van-dialog>

View File

@ -4,7 +4,7 @@
margin-left: 50rpx;
margin-bottom: 100rpx;
font-size: 50rpx;
font-family: "AlibabaPuHuiTi-2-75-SemiBold";
/* font-family: "AlibabaPuHuiTi-2-75-SemiBold"; */
color: #333;
}
.item{
@ -19,3 +19,15 @@
display: flex;
justify-content: center;
}
.entrymsg{
-webkit-overflow-scrolling: touch;
font-size: 28rpx;
line-height: 40rpx;
max-height: 60vh;
overflow-y: auto;
padding: 48rpx;
text-align: left;
}
.navigator{
color:#3CC7C0
}

9
Pages/kickedout/index.js Normal file
View File

@ -0,0 +1,9 @@
const app = getApp()
Page({
data: {
},
confirmJieSuanDialog(){
app.go("/Pages/index/index");
}
})

View File

@ -0,0 +1,5 @@
{
"usingComponents": {
"t-dialog": "tdesign-miniprogram/dialog/dialog"
}
}

View File

@ -0,0 +1,9 @@
<t-dialog
visible="{{ true }}"
title="温馨提示"
content="您已被踢下线"
>
<view slot="confirm-btn" class="dialog dialog_confirm_btn" bindtap="confirmJieSuanDialog">
好的
</view>
</t-dialog>

View File

@ -0,0 +1,11 @@
.dialog{
width: 50%;
text-align: center;
height: 100rpx;
line-height: 100rpx;
}
.dialog_confirm_btn{
border-top: 1px solid #E9E9E9;
color: #3CC7C0;
width: 100%;
}

View File

@ -3,22 +3,115 @@ import { API } from './../../utils/network/api'
const api = new API()
const app = getApp()
Page({
data: {
showEntryTip:false,
showEntryTip_second:false,
beforeClose(action){
return new Promise((resolve) => {
if (action === 'confirm') {
resolve(true);
} else {
// 拦截取消操作
resolve(false);
}
})
},
navbarData: {
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
title: '登录', //导航栏 中间的标题
},
checked: true
checked: false,
static_host: api.getStaticHost()
},
onShow(){
let usertype = wx.getStorageSync('usertype');
this.setData({
beforeClose: this.data.beforeClose.bind(this),
})
if(!usertype){
wx.navigateTo({
url: "/Pages/index/index"
})
};
},
onLoad(){
let usertype = wx.getStorageSync('usertype');
this.setData({
beforeClose: this.data.beforeClose.bind(this),
})
if(!usertype){
wx.navigateTo({
url: "/Pages/index/index"
})
};
wx.getPrivacySetting({
success: res => {
console.log(res) // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' }
if (res.needAuthorization) {
// 需要弹出隐私协议
this.setData({
showEntryTip:true
})
} else {
this.setData({
showEntryTip:false
})
// 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用已声明过的隐私
}
},
fail: () => {},
complete: () => {}
})
// let isEntry=wx.getStorageSync('hasEntry');
// if(!isEntry){
// this.setData({
// showEntryTip:true,
// });
// }else{
// this.setData({
// showEntryTip:false
// });
// }
},
onChange(event) {
this.setData({
checked: event.detail,
});
},
changeCheck(){
let checked = this.data.checked
this.setData({
checked: !checked
})
},
_navback() {
wx.navigateBack()
},
onConfirmEntry(){
// wx.setStorageSync('hasEntry', true);
},
onCloseEntry(){
this.setData({
showEntryTip_second:true,
showEntryTip:true
})
},
onConfirmEntry_second(){
this.setData({
showEntryTip_second:false,
// showEntryTip:false,
});
//wx.setStorageSync('hasEntry', true);
},
onCloseEntry_second(){
this.setData({
showEntryTip_second:false,
showEntryTip:false,
});
wx.exitMiniProgram({success: (res) => {}})
},
go(e){
let url = e.currentTarget.dataset.url;
app.go(url);
@ -26,6 +119,14 @@ Page({
getPhoneNumber (e) {
console.log(e);
console.log(e.detail.code);
if(!this.data.checked){
wx.showToast({
title: '请同意协议',
icon: "error"
})
return;
}
let THIS=this;
let usertype = wx.getStorageSync('usertype');
let next_url = wx.getStorageSync('next_url');
wx.login({
@ -39,13 +140,19 @@ Page({
}
api.wechatMobileLogin(params).then(response => {
console.log(response);
wx.setStorageSync('AUTH_TOKEN', response.data.token);
wx.setStorageSync('user_id', response.data.user_id);
wx.setStorageSync('client_user_id', response.data.client_user_id);
wx.setStorageSync('AUTH_TOKEN_'+usertype, response.data.token);
wx.setStorageSync('user_id_'+usertype, response.data.user_id);
wx.setStorageSync('client_user_id_'+usertype, response.data.client_user_id);
app.globalData.config.userID = response.data.user_id;
app.globalData.isLogin=true;
let handleGo=function(){
wx.switchTab({
url: next_url
})
}
app.imInit({path:'Pages/login/index'},1,handleGo);
//跳转页面
wx.switchTab({
url: next_url
})
}).catch(errors => {
console.error(errors);
})

View File

@ -3,6 +3,7 @@
"van-button": "@vant/weapp/button/index",
"van-image": "@vant/weapp/image/index",
"van-checkbox": "@vant/weapp/checkbox/index",
"van-dialog": "@vant/weapp/dialog/index",
"van-checkbox-group": "@vant/weapp/checkbox-group/index"
}
}

View File

@ -1,12 +1,12 @@
<view class="container">
<view class="tui-navigatorbar">
<image wx:if="{{ navbarData.showCapsule==1 }}" class="tui-navigatorbar-back" bindtap="_navback" src="../../TUIKit/static/assets/ic_back_white.svg" />
<image wx:if="{{ navbarData.showCapsule==1 }}" class="tui-navigatorbar-back" bindtap="_navback" src="../../TUIKit/static/assets/ic_back_black.svg" />
<view class="conversation-title">{{ navbarData.title }}</view>
</view>
<view class="box">
<view class="top">
<view class="logo">
<van-image fit="heightFix" height="56rpx" src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/logo.png" use-loading-slot>
<van-image fit="heightFix" height="56rpx" src="{{static_host}}/applet/doctor/static/images/logo.png" use-loading-slot>
<van-loading slot="loading" type="spinner" size="20" vertical />
</van-image>
</view>
@ -15,14 +15,59 @@
<view class="btn">
<van-button
wx:if="{{ checked }}"
open-type="getPhoneNumber"
bindgetphonenumber="getPhoneNumber"
color="#09BB07" custom-style="font-size: 36rpx;" type="primary" round block>微信授权手机号登录</van-button>
<van-checkbox value="{{ checked }}" bind:change="onChange">我已阅读并同意协议<text style="color: #4384FE;">《肝胆相照用户服务协议》</text></van-checkbox>
<van-button
wx:else
bindtap="getPhoneNumber"
color="#09BB07" custom-style="font-size: 36rpx;" type="primary" round block>微信授权手机号登录</van-button>
<view style="display: flex;margin-top: 30rpx;line-height: 50rpx;">
<van-checkbox value="{{ checked }}" bind:change="onChange"></van-checkbox>
<view style="float: left;">
<text style="color: #000000;word-wrap: break-word;" bindtap="changeCheck">我已阅读并同意协议</text>
<text style="color: #4384FE;word-wrap: break-word;" bindtap="go" data-url="/Pages/agreement_page/index?agreement_id=10">《肝胆相照用户注册及服务协议》</text>
<text style="color: #4384FE;word-wrap: break-word;" bindtap="go" data-url="/Pages/agreement_page/index?agreement_id=9">《隐私协议》</text>
<text style="color: #4384FE;word-wrap: break-word;" bindtap="go" data-url="/Pages/agreement_page/index?agreement_id=11">《劳务协议》</text>
</view>
</view>
</view>
<view class="bottom">
<text class="bottom_txt" bindtap="go" data-url="/Pages/mobile_login/index">输入手机号登录/注册</text>
</view>
</view>
</view>
</view>
<van-dialog
use-slot
title="温馨提示"
show="{{ showEntryTip }}"
show-cancel-button
confirm-button-text="同意并继续"
cancel-button-text="不同意"
confirm-button-color="#3CC7C0"
bind:confirm="onConfirmEntry"
bind:cancel="onCloseEntry"
before-close="{{beforeClose}}"
confirm-button-open-type="agreePrivacyAuthorization"
>
<view class="entrymsg" >
<view> 亲爱的用户,感谢您信任并使用肝胆相照互联网医院医师端!我们依据最新法律法规的要求,制定了<text class="navigator" bindtap="go" data-url="/Pages/agreement_page/index?agreement_id=9">《隐私协议》</text>。请您仔细阅《隐私协议》,并确认了解我们对您的个人信息处理原则。</view>
<view>如您同意《隐私协议》,请点击“同意”开始使用我们的产品和服务。</view>
</view>
</van-dialog>
<van-dialog
title="温馨提示"
show="{{ showEntryTip_second }}"
message="很抱歉,如您不同意《隐私协议》,可能无法继续正常使用我们的服务,请您先同意哦~"
show-cancel-button
confirm-button-text="好的"
cancel-button-text="不同意"
confirm-button-color="#3CC7C0"
bind:confirm="onConfirmEntry_second"
bind:cancel="onCloseEntry_second"
>
</van-dialog>

View File

@ -7,7 +7,7 @@
top: 0;
width: 750rpx;
height: 170rpx;
background-color: #bae46b;
background-color: #ffffff;
z-index: 99;
}
.tui-navigatorbar-back{
@ -23,7 +23,7 @@
height: 88rpx;
line-height: 56rpx;
font-size: 36rpx;
color: #e68080;
color: #000000;
bottom: 0;
left: 200rpx;
display: flex;
@ -75,5 +75,18 @@
color: #333333;
margin-bottom: 60rpx;
}
.van-checkbox {
padding-top: 6rpx !important;
}
.entrymsg{
-webkit-overflow-scrolling: touch;
font-size: 28rpx;
line-height: 40rpx;
max-height: 60vh;
overflow-y: auto;
padding: 48rpx;
text-align: left;
}
.navigator{
color:#3CC7C0
}

View File

@ -1,24 +1,77 @@
import { API } from './../../utils/network/api'
const api = new API()
const app = getApp()
Page({
data: {
navbarData: {
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
title: '手机号登录', //导航栏 中间的标题
},
checked: true,
checked: false,
phone: "",
sms: "",
btn_msg: "获取验证码",
btn_disabled: false,
login_disabled: true,
login_disabled: false,
btn_color: "#ccc",
static_host: api.getStaticHost()
},
onLoad(){
let usertype = wx.getStorageSync('usertype');
if(!usertype){
wx.navigateTo({
url: "/Pages/index/index"
})
}
},
onShow(){
let usertype = wx.getStorageSync('usertype');
if(!usertype){
wx.navigateTo({
url: "/Pages/index/index"
})
}
},
onChange(event) {
this.setData({
checked: event.detail,
});
},
changeCheck(){
let checked = this.data.checked
this.setData({
checked: !checked
})
},
phone_change(e){
let phone = e.detail.value;
this.setData({
phone: e.detail.value
})
let phone_reg = /^1[3-9]\d{9}$/;
if(phone_reg.test(phone)){
this.setData({
btn_color: "#3CC7C0"
})
}else{
this.setData({
btn_color: "#ccc"
})
}
},
getCodePhone(e){
let phone_reg = /^1[3-9]\d{9}$/;
let phone = this.data.phone;
//判断用户输入的真实姓名是否为空
if(phone.length == 0){
wx.showToast({title: '手机号不能为空', icon:'error'})
return false;
}else if(!phone_reg.test(phone)){//检测姓名的格式是否匹配
wx.showToast({title: '手机号输入有误', icon:'error'})
return false;
}
if(!this.data.checked){
wx.showToast({
title: '请同意协议',
@ -47,6 +100,24 @@ Page({
})
},
mobileLogin(e){
let THIS=this;
let phone_reg = /^1[3-9]\d{9}$/;
let phone = this.data.phone;
let sms = this.data.sms;
//判断用户输入的真实姓名是否为空
if(phone.length == 0){
wx.showToast({title: '手机号不能为空', icon:'error'})
return false;
}else if(!phone_reg.test(phone)){//检测姓名的格式是否匹配
wx.showToast({title: '手机号输入有误', icon:'error'})
return false;
}
if(sms.length == 0){
wx.showToast({title: '验证码不能为空', icon:'error'})
return false;
}
if(!this.data.checked){
wx.showToast({
title: '请同意协议',
@ -54,20 +125,41 @@ Page({
})
return;
}
var params = {};
params.phone = this.data.phone;
params.code = this.data.sms;
params.user_type = wx.getStorageSync('usertype');
api.mobileLogin(params).then(response => {
console.log(response);
wx.setStorageSync('AUTH_TOKEN', response.data.token);
wx.setStorageSync('user_id', response.data.user_id);
wx.setStorageSync('client_user_id', response.data.client_user_id);
wx.switchTab({
url: wx.getStorageSync('next_url')
})
}).catch(errors => {console.error(errors);})
let usertype = wx.getStorageSync('usertype');
wx.login({
success: (res) => {
console.log(res)
if (res.code) {
var params = {};
params.phone = this.data.phone;
params.code = this.data.sms;
params.user_type = usertype;
params.wx_code = res.code;
api.mobileLogin(params).then(response => {
app.globalData.isLogin=true;
console.log(response);
wx.setStorageSync('AUTH_TOKEN_'+usertype, response.data.token);
wx.setStorageSync('user_id_'+usertype, response.data.user_id);
wx.setStorageSync('client_user_id_'+usertype, response.data.client_user_id);
app.globalData.config.userID = response.data.user_id;
let handleGo=function(){
wx.switchTab({
url: wx.getStorageSync('next_url')
})
}
app.imInit({path:'Pages/mobile_login/index'},1,handleGo);
}).catch(errors => {console.error(errors);})
} else {
wx.showToast({
title: '登录失败',
icon: "error"
})
}
},
})
},
beginDaoJiShi(){
console.log("开始倒计时")
@ -83,14 +175,16 @@ Page({
})
}else{
_this.setData({
btn_msg: "获取验证码",
btn_msg: "重新获取验证码",
btn_disabled: false
})
clearInterval(time_index);
}
},1000)
},
go(e){
let url = e.currentTarget.dataset.url;
app.go(url);
}
})

View File

@ -5,6 +5,7 @@
"van-field": "@vant/weapp/field/index",
"van-button": "@vant/weapp/button/index",
"van-checkbox": "@vant/weapp/checkbox/index",
"van-checkbox-group": "@vant/weapp/checkbox-group/index"
"van-checkbox-group": "@vant/weapp/checkbox-group/index",
"van-image": "@vant/weapp/image/index"
}
}

View File

@ -1,30 +1,41 @@
<m-nav-bar navbarData="{{navbarData}}">
<view class="logo">
<image src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/logo2.png" mode="heightFix" style="height: 196rpx;"></image>
<van-image height="196rpx" src="{{static_host}}/applet/doctor/static/images/logo2.png" fit="heightFix" />
</view>
<view class="fields">
<van-field
model:value="{{ phone }}"
label="+86"
placeholder="请输入手机号"
input-align="left"
/>
<van-field
model:value="{{ sms }}"
center
clearable
label="短信验证码"
placeholder="请输入短信验证码"
use-button-slot
>
<van-button disabled="{{btn_disabled}}" color="#3CC7C0" slot="button" size="small" round plain type="primary" bind:click="getCodePhone">
{{btn_msg}}
</van-button>
</van-field>
<view class="phone_box">
<view class="country">+86</view>
<view class="phone">
<input placeholder-style="color:#c8c9cc;font-size:34rpx;" type="number" confirm-type="next" bindinput="phone_change" auto-focus placeholder="请输入手机号"/>
</view>
</view>
<van-field
model:value="{{ sms }}"
center
clearable
type="number"
label=""
placeholder="请输入短信验证码"
use-button-slot
placeholder-style="color:#c8c9cc;font-size:30rpx;"
>
<van-button disabled="{{btn_disabled}}" color="{{btn_color}}" slot="button" size="small" round plain type="primary" bind:click="getCodePhone">
{{btn_msg}}
</van-button>
</van-field>
</view>
<view class="btn">
<van-button color="#3CC7C0" disabled="{{login_disabled}}" custom-style="font-size: 36rpx;margin-bottom:30rpx;" type="primary" round block bind:click="mobileLogin">登录</van-button>
<van-checkbox value="{{ checked }}" bind:change="onChange">我已阅读并同意协议<text style="color: #4384FE;">《肝胆相照用户服务协议》</text></van-checkbox>
<!-- <van-checkbox value="{{ checked }}" bind:change="onChange">我已阅读并同意协议<text style="color: #4384FE;">《肝胆相照用户服务协议》</text></van-checkbox> -->
<view style="display: flex;margin-top: 30rpx;line-height: 50rpx;">
<van-checkbox value="{{ checked }}" bind:change="onChange"></van-checkbox>
<view style="float: left;">
<text style="color: #000000;word-wrap: break-word;" bindtap="changeCheck">我已阅读并同意协议</text>
<text style="color: #4384FE;word-wrap: break-word;" bindtap="go" data-url="/Pages/agreement_page/index?agreement_id=10">《肝胆相照用户注册及服务协议》</text>
<text style="color: #4384FE;word-wrap: break-word;" bindtap="go" data-url="/Pages/agreement_page/index?agreement_id=9">《隐私协议》</text>
<text style="color: #4384FE;word-wrap: break-word;" bindtap="go" data-url="/Pages/agreement_page/index?agreement_id=11">《劳务协议》</text>
</view>
</view>
</view>
</m-nav-bar>

View File

@ -1,5 +1,5 @@
.logo{
height: 500rpx;
margin-top: 150rpx;
display: flex;
align-items: center;
justify-content: center;
@ -10,4 +10,47 @@
.btn{
font-size: 28rpx;
color: #666666;
}
.van-cell {
padding: 32rpx !important;
font-size: 34rpx !important;
}
.mylabel{
background-color: red;
width: 100rpx !important;
}
.label-class{
background-color: royalblue !important;
}
.phone_box{
display: flex;
padding: 32rpx;
position: relative;
}
.country{
flex: 1;
height: 24px;
line-height: 24px;
}
.phone{
flex: 7;
height: 24px;
}
.phone_box:after {
border-bottom: 1px solid #ebedf0;
bottom: 0;
box-sizing: border-box;
content: " ";
left: 16px;
pointer-events: none;
position: absolute;
right: 16px;
transform: scaleY(.5);
transform-origin: center;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: rgb(235, 237, 240);
}
.van-checkbox {
padding-top: 6rpx !important;
}

18
Pages/webpage/index.js Normal file
View File

@ -0,0 +1,18 @@
// Pages/webpage/index.js
Page({
/**
* 页面的初始数据
*/
data: {
src: ""
},
onLoad(options) {
console.log(options.src)
this.setData({
src: options.src
})
},
})

3
Pages/webpage/index.json Normal file
View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

2
Pages/webpage/index.wxml Normal file
View File

@ -0,0 +1,2 @@
<!--Pages/webpage/index.wxml-->
<web-view src="{{src}}"/>

1
Pages/webpage/index.wxss Normal file
View File

@ -0,0 +1 @@
/* Pages/webpage/index.wxss */

View File

@ -1,4 +1,5 @@
// Pages/authentication/authentication.js
import { API } from './../../../utils/network/api'
const api = new API()
const app = getApp()
Page({
data: {
@ -8,9 +9,8 @@ Page({
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
title: '实名认证', //导航栏 中间的标题
},
// 此页面 页面内容距最顶部的距离
height: app.globalData.height,
height: app.globalData.height,
info: {}
},
onLoad() {
console.log(this.data.height)
@ -19,5 +19,14 @@ Page({
this.setData({
nbLoading: false,
})
api.getPharmacistInfo().then(response => {
console.log(response.data);
this.setData({
info: response.data
})
}).catch(errors => {
console.error(errors);
})
}
})

View File

@ -1,18 +1,18 @@
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container">
<van-cell-group>
<van-cell title="真实姓名" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="身份证号" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="联系邮箱" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="手机号码" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="所在医疗机构" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="所在科室" title-width="120rpx" is-link required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="职称" title-width="120rpx" is-link required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="医龄" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="执业经历" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="擅长" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell size="large" title="真实姓名" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.card_name}}" />
<van-cell size="large" title="身份证号" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.card_num}}" />
<van-cell size="large" title="联系邮箱" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="缺少字段" />
<van-cell size="large" title="手机号码" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="缺少字段" />
<van-cell size="large" title="所在医疗机构" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="缺少字段" />
<van-cell size="large" title="所在科室" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.department_custom_name}}" />
<van-cell size="large" title="职称" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.pharmacist_title}}" />
<van-cell size="large" title="医龄" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="缺少字段" />
<van-cell size="large" title="执业经历" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="缺少字段" />
<van-cell size="large" title="擅长" title-width="120rpx" required title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="缺少字段" />
</van-cell-group>
<view class="submit">
<van-button color="linear-gradient(to right, #4CABEA, #64CFE9)" block round type="info">下一步</van-button>
<van-button color="linear-gradient(to right, #4CABEA, #64CFE9)" block round type="info">下一步(去干啥?)</van-button>
</view>
</view>

View File

@ -1,4 +1,5 @@
// Pages/home.js
import { API } from './../../../utils/network/api'
const api = new API()
const app = getApp()
Page({
/**
@ -12,21 +13,132 @@ Page({
title: '药师端', //导航栏 中间的标题
},
// 此页面 页面内容距最顶部的距离
height: app.globalData.height
height: app.globalData.height,
pharmacist: {},
audit_number: 0,
data_list_0: [],
data_list_1: [],
data_list_2: [],
data_list_3: [],
current_page: 0,
total: 0,
per_page: 0,
last_page: 0,
},
onLoad() {
console.log(this.data.height)
onShow() {
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().setData({
active: 0, //数字是当前页面在tabbar的索引,如我的查询页索引是2因此这边为2同理首页就为0审批页面为1
})
}
this.getPharmacistPrescription(this.data.active);
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().setData({
currentTab: 0 //数字是当前页面在tabbar的索引,如我的查询页索引是2因此这边为2同理首页就为0审批页面为1
onLoad: function () {
api.getPharmacistIndex().then(response => {
this.setData({
pharmacist: response.data.pharmacist,
audit_number: response.data.audit_number
})
}).catch(errors => {
console.error(errors);
})
},
getPharmacistPrescription(active){
let params = {};
let page = this.data.current_page + 1;
let pharmacist_audit_status = 0;
let platform_audit_status = 1;
if(active == 0){
pharmacist_audit_status = 0;
platform_audit_status = 0;
}
if(active == 1){
pharmacist_audit_status = 1;
platform_audit_status = 1;
}
if(active == 2){
pharmacist_audit_status = 2;
platform_audit_status = 0;
}
if(active == 3){
pharmacist_audit_status = 1;
platform_audit_status = 2;
}
params.pharmacist_audit_status = pharmacist_audit_status;
params.platform_audit_status = platform_audit_status;
params.page = page;
let data_name = "data_list_"+active;
let list = this.data[data_name];
api.getPharmacistPrescription(params).then(response => {
this.setData({
[data_name]: list.concat(response.data.data),
current_page: response.data.current_page,
total: response.data.total,
per_page: response.data.per_page,
last_page: response.data.last_page,
})
}).catch(errors => {
console.error(errors);
})
},
onHide(){
this.setData({
current_page: 0,
total: 0,
per_page: 0,
last_page: 0,
data_list_0: [],
data_list_1: [],
data_list_2: [],
data_list_3: [],
})
},
onChange(e){
console.log(e)
let data_name = "data_list_"+e.detail.index;
this.setData({
active: e.detail.index,
current_page: 0,
total: 0,
per_page: 0,
last_page: 0,
[data_name]: []
})
this.getPharmacistPrescription(e.detail.index);
},
onReachBottom() {
console.log('===触底了!!===');
if(this.data.current_page < this.data.last_page){//最后一页时停止分页
this.getPharmacistPrescription(this.data.active)
}
},
go(e){
let url = e.currentTarget.dataset.url;
app.go(url)
},
switchStatus(){
let is_online = this.data.pharmacist.is_online;
if(is_online == 0){
is_online = 1
}else if(is_online == 1){
is_online = 0
}
api.putPharmacistOnOff({is_online: is_online}).then(response => {
this.setData({
"pharmacist.is_online": is_online
})
}).catch(errors => {console.error(errors);})
}
})

View File

@ -5,6 +5,8 @@
"van-tab": "@vant/weapp/tab/index",
"van-tabs": "@vant/weapp/tabs/index",
"t-avatar": "tdesign-miniprogram/avatar/avatar",
"van-button": "@vant/weapp/button/index"
"van-button": "@vant/weapp/button/index",
"van-empty": "@vant/weapp/empty/index",
"van-divider": "@vant/weapp/divider/index"
}
}

View File

@ -2,100 +2,135 @@
<view class="container">
<view class="main title">
<view class="photo">
<t-avatar class="avatar-example" width="20" image="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/default_photo.png" />
<t-avatar class="avatar-example" width="20" image="{{pharmacist.avatar}}" />
</view>
<view class="name">
<view class="realname">李四</view>
<view class="today_num">今日审方 9</view>
<view class="realname">{{pharmacist.user_name}}</view>
<view class="today_num">今日审方 {{audit_number}}</view>
</view>
<view class="status">
<view class="status_text status_offline">离线</view>
<view class="status" bindtap="switchStatus">
<view class="status_text {{pharmacist.is_online==1?'status_online':'status_offline'}}">{{pharmacist.is_online==1?'在线':'离线'}}</view>
</view>
</view>
<view class="main content">
<van-tabs active="{{ active }}" color="{{ active_color }}" bind:change="onChange">
<van-tabs color="{{ active_color }}" bind:change="onChange">
<van-tab title="待审核处方">
<view class="item">
<view class="item_txt">
<view class="pre_content">处方订单号2023010510324649</view>
<view class="end_content">
<navigator url="/Pages/yaoshi/medicalrecord/medicalrecord" open-type="navigate" hover-class="other-navigator-hover">
<van-button type="primary" size="small">查看病例</van-button>
</navigator>
<view class="item_list" wx:if="{{data_list_0.length>0}}">
<view class="item" wx:for="{{data_list_0}}">
<view class="item_txt">
<view class="pre_content">处方订单号:{{item.prescription_code}}</view>
<view class="end_content">
<!-- <navigator url="/Pages/yaoshi/medicalrecord/medicalrecord" open-type="navigate" hover-class="other-navigator-hover">
<van-button type="primary" size="small">查看病例</van-button>
</navigator> -->
</view>
</view>
</view>
<view class="item_txt">
<view class="pre_content">开方时间2023-01-16 08:52</view>
<view class="end_content">
<navigator url="/Pages/yaoshi/medicalrecord/medicalrecord" open-type="navigate" hover-class="other-navigator-hover">
<van-button type="primary" size="small">查看病例</van-button>
</navigator>
<view class="item_txt">
<view class="pre_content">开方时间:{{item.created_at}}</view>
<view class="end_content" bindtap="go" data-url="/Pages/yaoshi/medicalrecord/medicalrecord?order_inquiry_id={{item.order_inquiry_id }}&order_prescription_id={{item.order_prescription_id}}&from=1">
<van-button type="primary" color="#ec871e" size="small">查看病例</van-button>
</view>
</view>
</view>
<view class="item_txt">
<view class="pre_content">张三/男/45岁</view>
<view class="end_content">
<van-button type="primary" color="linear-gradient(to bottom, #5EA8D5, #63CFEA)" size="small">去审方</van-button>
<view class="item_txt">
<view class="pre_content">{{item.patient_name}}/{{item.patient_sex==1?'男':'女'}}/{{item.patient_age}}岁</view>
<view class="end_content" bindtap="go" data-url="/Pages/yaoshi/prescription/prescription?order_prescription_id={{item.order_prescription_id}}">
<van-button type="primary" color="linear-gradient(to bottom, #5EA8D5, #63CFEA)" size="small">去审方</van-button>
</view>
</view>
</view>
<van-divider contentPosition="center" wx:if="{{data_list_0.length > 0 && current_page == last_page}}">到底了~</van-divider>
</view>
<view class="item">
<view class="item_txt">
<view class="pre_content">处方订单号2023010510324649</view>
<view class="end_content">
<van-button type="primary" size="small">查看病例</van-button>
</view>
</view>
<view class="item_txt">
<view class="pre_content">开方时间2023-01-16 08:52</view>
<view class="end_content">
<van-button type="primary" size="small">查看病例</van-button>
</view>
</view>
<view class="item_txt">
<view class="pre_content">张三/男/45岁</view>
<view class="end_content">
<van-button type="primary" color="linear-gradient(to bottom, #5EA8D5, #63CFEA)" size="small">去审方</van-button>
</view>
</view>
</view>
<van-empty description="暂无数据" wx:if="{{data_list_0.length == 0}}" />
</van-tab>
<van-tab title="已审核处方">
<view class="item">
<view class="pre_content">
处方订单号 2023010510324649
<view class="item_list" wx:if="{{data_list_1.length>0}}">
<view class="item" wx:for="{{data_list_1}}">
<view class="item_txt">
<view class="pre_content">处方订单号:{{item.prescription_code}}</view>
<view class="end_content" bindtap="go" data-url="/Pages/yaoshi/medicalrecord/medicalrecord?order_inquiry_id={{item.order_inquiry_id }}&order_prescription_id={{item.order_prescription_id}}">
<van-button type="primary" color="#ec871e" size="small">查看病例</van-button>
</view>
</view>
<view class="end_content">
<van-button type="primary" size="mini">迷你按钮</van-button>
<view class="item_txt">
<view class="pre_content">开方时间:{{item.created_at}}</view>
<view class="end_content" style="color: #2196f3;">通过</view>
</view>
<view class="item_txt">
<view class="pre_content">{{item.patient_name}}/{{item.patient_sex==1?'男':'女'}}/{{item.patient_age}}岁</view>
<view class="end_content">
<!-- <van-button type="primary" color="linear-gradient(to bottom, #5EA8D5, #63CFEA)" size="small">去审方</van-button> -->
</view>
</view>
</view>
<van-divider contentPosition="center" wx:if="{{data_list_1.length > 0 && current_page == last_page}}">到底了~</van-divider>
</view>
<van-empty description="暂无数据" wx:if="{{data_list_1.length == 0}}" />
</van-tab>
<van-tab title="驳回处方">
<view class="item">
<view class="pre_content">
处方订单号 2023010510324649
<view class="item_list" wx:if="{{data_list_2.length>0}}">
<view class="item" wx:for="{{data_list_2}}">
<view class="item_txt">
<view class="pre_content">处方订单号:{{item.prescription_code}}</view>
<view class="end_content" bindtap="go" data-url="/Pages/yaoshi/medicalrecord/medicalrecord?order_inquiry_id={{item.order_inquiry_id }}&order_prescription_id={{item.order_prescription_id}}">
<van-button type="primary" color="#ec871e" size="small">查看病例</van-button>
</view>
</view>
<view class="end_content">
<van-button type="primary" size="mini">迷你按钮</van-button>
<view class="item_txt">
<view class="pre_content">开方时间:{{item.created_at}}</view>
<view class="end_content" style="color: red;">驳回</view>
</view>
<view class="item_txt">
<view class="pre_content">{{item.patient_name}}/{{item.patient_sex==1?'男':'女'}}/{{item.patient_age}}岁</view>
<view class="end_content">
<!-- <van-button type="primary" color="linear-gradient(to bottom, #5EA8D5, #63CFEA)" size="small">去审方</van-button> -->
</view>
</view>
<view class="item_txt">
<view class="pre_content">驳回时间:{{item.pharmacist_verify_time}}</view>
</view>
<view class="item_txt">
<view class="pre_content">驳回理由:{{item.pharmacist_fail_reason}}</view>
</view>
</view>
<van-divider contentPosition="center" wx:if="{{data_list_2.length > 0 && current_page == last_page}}">到底了~</van-divider>
</view>
<van-empty description="暂无数据" wx:if="{{data_list_2.length == 0}}" />
</van-tab>
<van-tab title="不通过">
<view class="item">
<view class="pre_content">
处方订单号 2023010510324649
<view class="item_list" wx:if="{{data_list_3.length>0}}">
<view class="item" wx:for="{{data_list_3}}">
<view class="item_txt">
<view class="pre_content">处方订单号:{{item.prescription_code}}</view>
<view class="end_content" bindtap="go" data-url="/Pages/yaoshi/medicalrecord/medicalrecord?order_inquiry_id={{item.order_inquiry_id }}&order_prescription_id={{item.order_prescription_id}}">
<van-button type="primary" color="#ec871e" size="small">查看病例</van-button>
</view>
</view>
<view class="end_content">
<van-button type="primary" size="mini">迷你按钮</van-button>
<view class="item_txt">
<view class="pre_content">开方时间:{{item.created_at}}</view>
<view class="end_content" style="color: red;">驳回</view>
</view>
<view class="item_txt">
<view class="pre_content">{{item.patient_name}}/{{item.patient_sex==1?'男':'女'}}/{{item.patient_age}}岁</view>
<view class="end_content">
<!-- <van-button type="primary" color="linear-gradient(to bottom, #5EA8D5, #63CFEA)" size="small">去审方</van-button> -->
</view>
</view>
</view>
<van-divider contentPosition="center" wx:if="{{data_list_3.length > 0 && current_page == last_page}}">到底了~</van-divider>
</view>
<van-empty description="暂无数据" wx:if="{{data_list_3.length == 0}}" />
</van-tab>
</van-tabs>
</view>
<view style="height: 60px;">
<!-- 适配底部tabbar -->
</view>
</view>

View File

@ -1,7 +1,8 @@
.container{
page{
background-color: #F4F5F7;
}
.container{
width: 100vw;
height: 100vh;
}
.main{
width: 90vw;
@ -39,15 +40,18 @@
.status_offline{
background-color: #BFBFBF;
}
.status_online{
background-color: rgb(124, 231, 124);
}
.status_text{
display: inline-block;
padding: 10rpx 20rpx;
border-radius: 20rpx;
word-spacing: 10rpx;
letter-spacing: 10rpx;
float: right;
margin-right: 25rpx;
font-size: 20rpx;
display: flex;
width: 50rpx;
justify-content: space-evenly;
}
.custom-tabs {
margin-bottom: 32rpx;
@ -65,10 +69,24 @@
.avatar-example--medium:not(:last-child) {
margin-right: 96rpx;
}
.van-tabs__nav{
border-radius: 20rpx !important;
}
.item_list{
padding-bottom: 100rpx;
background-color: #F4F5F7;
border-radius: 20rpx;
}
.item:last-child{
border-bottom-left-radius: 20rpx;
border-bottom-right-radius: 20rpx;
}
.item{
border-top: solid rgb(187, 185, 185) 1rpx;
width: 95%;
margin: 10rpx auto;
width: 100%;
margin: 0 auto;
background-color: #fff;
padding: 20rpx 0;
}
.item_txt{
display: flex;

View File

@ -1,8 +1,10 @@
// Pages/index/index.js
import { API } from './../../../utils/network/api'
const api = new API()
Page({
/**
* 生命周期函数--监听页面显示
*/
data: {
static_host: api.getStaticHost()
},
onShow() {
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().setData({

View File

@ -4,7 +4,7 @@
<t-image
bindtap="toGo" data-url="/Pages/yaoshi/home/home"
class="item_img"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yi.png"
src="{{static_host}}/applet/doctor/static/images/yi.png"
mode="heightFix"
height="220rpx"
aria-label="医师端"
@ -17,7 +17,7 @@
<t-image
bindtap="toGo" data-url="/Pages/yaoshi/my/my"
class="item_img"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yao.png"
src="{{static_host}}/applet/doctor/static/images/yao.png"
mode="heightFix"
height="220rpx"
aria-label="药师端"

View File

@ -1,7 +1,6 @@
//index.js
//获取应用实例
import { API } from './../../../utils/network/api'
const api = new API()
const app = getApp()
Page({
data: {
// 组件所需的参数
@ -11,9 +10,21 @@ Page({
},
// 此页面 页面内容距最顶部的距离
height: app.globalData.height ,
height: app.globalData.height,
info: ""
},
onLoad() {
console.log(this.data.height)
onLoad(options) {
},
onShow(){
api.getPharmacistInfo().then(response => {
console.log(response.data);
this.setData({
info: response.data
})
}).catch(errors => {
console.error(errors);
})
}
})

View File

@ -1,19 +1,19 @@
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container">
<view class="top">
<t-avatar class="avatar" size="large" image="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/default_photo.png" />
<text class="name">李四</text>
<t-avatar class="avatar" size="large" image="{{info.avatar}}" />
<text class="name">{{info.user_name}}</text>
</view>
<view class="content">
<van-cell-group>
<van-cell title="姓名" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="李四" />
<van-cell title="性别" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="年龄" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="身份证号" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="手机号码" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="我的地址" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="科室" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell title="职称" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="内容" />
<van-cell size="large" title="姓名" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.user_name}}" />
<van-cell size="large" title="性别" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.sex==1?'男':'女'}}" />
<van-cell size="large" title="年龄" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.age}}" />
<van-cell size="large" title="身份证号" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.card_num}}" />
<!-- <van-cell size="large" title="手机号码" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.user_name}}" /> -->
<!-- <van-cell size="large" title="我的地址" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.user_name}}" /> -->
<van-cell size="large" title="科室" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.department_custom_name}}" />
<van-cell size="large" title="职称" title-width="120rpx" title-style="text-align: justify;text-justify:distribute-all-lines; text-align-last: justify;" value="{{info.pharmacist_title}}" />
</van-cell-group>
</view>
</view>

View File

@ -1,12 +1,16 @@
page{
background-color: #F4F4F4;
}
.top{
width: 100vw;
background-color: cornflowerblue;
background-color: rgb(255, 255, 255);
height: 370rpx;
display: flex;
justify-content: center;
align-items: center;
align-content: center;
flex-direction: column;
margin-bottom: 20rpx;
}
.name{
color: white;
@ -14,6 +18,6 @@
text-align: justify;
text-justify:distribute-all-lines;
text-align-last: justify;
width: 60rpx;
font-size: 28rpx;
width: 180rpx;
}

View File

@ -1,7 +1,6 @@
//index.js
//获取应用实例
import { API } from './../../../utils/network/api'
const api = new API()
const app = getApp()
Page({
data: {
// 组件所需的参数
@ -9,11 +8,37 @@ Page({
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
title: '患者病历', //导航栏 中间的标题
},
// 此页面 页面内容距最顶部的距离
height: app.globalData.height ,
height: app.globalData.height,
order_inquiry_id: "",
order_prescription_id: "",
case_detail: {},
from: ""
},
onLoad(options) {
let order_inquiry_id = options.order_inquiry_id;
let order_prescription_id = options.order_prescription_id;
let from = options.from;
console.log("order_inquiry_id: ", order_inquiry_id);
this.setData({
order_inquiry_id: order_inquiry_id,
order_prescription_id: order_prescription_id,
from: from,
})
},
onShow(){
api.getCase({order_inquiry_id: this.data.order_inquiry_id}).then(response => {
console.log(response.data);
this.setData({
case_detail: response.data
})
}).catch(errors => {
console.error(errors);
})
},
go(e){
let url = e.currentTarget.dataset.url;
app.go(url)
},
onLoad() {
console.log(this.data.height)
}
})

View File

@ -3,27 +3,26 @@
<view class="user_info">
<view class="user_item">患者信息</view>
<view class="user_item">
<text class="item_title">姓名:</text>张三
<text class="item_title">性别:</text>男
<text class="item_title">年龄:</text>30
<text class="item_title">姓名:</text>{{case_detail.name}}
<text class="item_title">性别:</text>{{case_detail.sex==1?'':'女'}}
<text class="item_title">年龄:</text>{{case_detail.age}}
</view>
</view>
<view class="case_info">
<view class="item">疾病资料</view>
<view class="item"><text class="item_title">病情主要述:</text>我问问</view>
<view class="item"><text class="item_title">用药意向:</text>【未匹配】连花清瘟胶囊*1</view>
<view class="item"><text class="item_title">体重:</text>56KG</view>
<view class="item"><text class="item_title">本次用药已相关确认病症:</text>无</view>
<view class="item"><text class="item_title">是否服用过您想购买的药品且无相关禁忌症:</text>是</view>
<view class="item"><text class="item_title">是否有药物过敏史:</text>否</view>
<view class="item"><text class="item_title">您的肝功能、肾功能是否存在异常:</text>否</view>
<view class="item"><text class="item_title">您是否处于备孕、妊娠、哺乳期:</text>否</view>
<view class="item"><text class="item_title">病情主要述:</text>{{case_detail.disease_desc}}</view>
<view class="item">
<text class="item_title">用药意向:</text>
<text wx:for="{{case_detail.product}}">{{item}}</text>
</view>
<view class="item"><text class="item_title">体重:</text>{{case_detail.weight}}KG</view>
<view class="item"><text class="item_title">是否服用过您想购买的药品且无相关禁忌症:</text>{{case_detail.is_taboo==0?'否':'是'}}</view>
<view class="item"><text class="item_title">是否有药物过敏史:</text>{{case_detail.is_allergy_history==0?'否':'是'}}</view>
<view class="item"><text class="item_title">您是否处于备孕、妊娠、哺乳期:</text>{{case_detail.is_pregnant==0?'否':'是'}}</view>
<view class="item"><text class="item_title">复诊凭证</text></view>
</view>
<view class="go_check">
<navigator url="/Pages/yaoshi/prescription/prescription" open-type="navigate" hover-class="other-navigator-hover">
<van-button color="linear-gradient(to right, #4CABEA, #64CFE9)" block round type="info">前往审方</van-button>
</navigator>
<view class="go_check" bindtap="go" data-url="/Pages/yaoshi/prescription/prescription?order_prescription_id={{order_prescription_id}}">
<van-button wx:if="{{from == '1'}}" color="linear-gradient(to right, #4CABEA, #64CFE9)" block round type="info">前往审方</van-button>
</view>
<view class="bottom">肝胆相照提供技术支持</view>
<view class="bottom"></view>
</view>

View File

@ -1,7 +1,8 @@
page{
background-color: #F3F5F7;
}
.container{
letter-spacing: 3rpx;
background-color: #F3F5F7;
height: 100vh;
}
.user_info{
background-color: #fff;

View File

@ -1,31 +1,56 @@
// Pages/my/my.js
import { API } from './../../../utils/network/api'
const api = new API()
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
navbarData: {
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
showCapsule: 0, //是否显示左上角图标 1表示显示 0表示不显示
title: '个人中心', //导航栏 中间的标题
},
// 此页面 页面内容距最顶部的距离
height: app.globalData.height,
height: app.globalData.height,
info:{}
},
onLoad() {
console.log(this.data.height)
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().setData({
currentTab: 1 //数字是当前页面在tabbar的索引,如我的查询页索引是2因此这边为2同理首页就为0审批页面为1
active: 1, //数字是当前页面在tabbar的索引,如我的查询页索引是2因此这边为2同理首页就为0审批页面为1
})
}
api.getPharmacistInfo().then(response => {
console.log(response.data);
this.setData({
info: response.data
})
}).catch(errors => {
console.error(errors);
})
},
logOut(){
console.log("退出登录");
let usertype = wx.getStorageSync('usertype');
wx.showModal({
title: '确认退出登录',
content: '退出登录后您需要重新登录',
success (res) {
if (res.confirm) {
console.log('用户点击确定')
wx.setStorageSync('AUTH_TOKEN_'+usertype, "");
wx.setStorageSync('user_id_'+usertype, "");
wx.setStorageSync('client_user_id_'+usertype, "");
app.globalData.isLogin=false;
wx.setStorageSync('usertype','')
app.go("/Pages/index/index");
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
},
go(e){
console.log(e)
let url = e.currentTarget.dataset.url;
app.go(url);
}
})

View File

@ -1,9 +1,10 @@
{
"component": true,
"usingComponents": {
"te-nav-bar": "/commpents/te_navbar",
"t-avatar": "tdesign-miniprogram/avatar/avatar",
"van-icon": "@vant/weapp/icon/index"
"van-icon": "@vant/weapp/icon/index",
"van-button": "@vant/weapp/button/index",
"te-nav-bar": "/commpents/te_navbar"
},
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",

View File

@ -1,20 +1,18 @@
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container">
<view class="top">
<t-avatar class="avatar" size="large" image="/static/images/default_photo.png" />
<text class="name">李四</text>
<t-avatar class="avatar" size="large" image="{{info.avatar}}" />
<text class="name">{{info.user_name}}</text>
</view>
<view class="content">
<navigator url="/Pages/yaoshi/info/info" open-type="navigate" hover-class="other-navigator-hover">
<view class="my">个人中心</view>
</navigator>
<view class="my" bindtap="go" data-url="/Pages/yaoshi/info/info">个人中心</view>
<view class="item_list">
<view class="item">
<navigator url="/Pages/yaoshi/authentication/authentication" open-type="navigate" hover-class="other-navigator-hover">
<van-icon name="user-o" size="50rpx" color="#55B0E5"/>
<text class="item_name">实名认证</text>
</navigator>
<view class="item" bindtap="go" data-url="/Pages/yaoshi/authentication/authentication">
<van-icon name="user-o" size="50rpx" color="#55B0E5"/>
<text class="item_name">实名认证</text>
</view>
</view>
<van-button type="primary" block bindtap="logOut">退出登录</van-button>
</view>
</view>

View File

@ -12,10 +12,10 @@
color: white;
margin-top: 30rpx;
text-align: justify;
text-justify:distribute-all-lines;
text-justify: inter-word;
text-align-last: justify;
width: 60rpx;
font-size: 28rpx;
width: 180rpx;
}
.my{
display: flex;

View File

@ -1,4 +1,6 @@
import Toast from '@vant/weapp/toast/toast';
import Toast from '@vant/weapp/toast/toast'
import { API } from './../../../utils/network/api'
const api = new API()
const app = getApp()
Page({
data: {
@ -10,12 +12,18 @@ Page({
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
title: '处方详情', //导航栏 中间的标题
},
// 此页面 页面内容距最顶部的距离
height: app.globalData.height,
height: app.globalData.height,
order_prescription_id: "",
prescription_img_oss_path: "",
doctor_sign_image: ""
},
onLoad() {
console.log(this.data.height)
onLoad(options) {
let order_prescription_id = options.order_prescription_id;
console.log("order_prescription_id: ", order_prescription_id)
this.setData({
order_prescription_id: order_prescription_id
})
},
onConfirmReason(event) {
@ -27,7 +35,6 @@ Page({
},
onCancelReason() {
Toast('取消');
this.setData({ reasonshow: false });
},
@ -53,21 +60,38 @@ Page({
this.setData({ bohuishow: false });
},
submitBohui() {
submitBohui(e) {
console.log(444);
Toast.loading({
message: '加载中...',
forbidClick: true,
onClose: () => {
console.log('执行OnClose函数');
this.setData({ bohuishow: false });
},
});
this.putPharmacistPrescriptionVerify(e);
},
submit(){
console.log(555);
},
onShow(){
api.getPharmacistPrescriptioninfo({order_prescription_id: this.data.order_prescription_id}).then(response => {
console.log(response.data);
this.setData({
prescription_img_oss_path: response.data.prescription_img_oss_path,
doctor_sign_image: response.data.doctor_sign_image
})
}).catch(errors => {console.error(errors);})
},
putPharmacistPrescriptionVerify(e){
console.log(e)
let params = {};
params.pharmacist_audit_status = e.currentTarget.dataset.pharmacist_audit_status;
if(params.pharmacist_audit_status == 2){
params.pharmacist_fail_reason = this.data.resonText;
}
params.order_prescription_id = this.data.order_prescription_id;
api.putPharmacistPrescriptionVerify(params).then(response => {
console.log(response.data);
Toast.success("处理成功");
setTimeout(() => {
wx.navigateBack();
}, 1000);
}).catch(errors => {console.error(errors);})
}
})

View File

@ -1,32 +1,43 @@
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container">
<view class="img_box">
<view class="img_box" wx:if="{{false}}">
<view class="img_content">
<image class="case_img"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/prescription_demo.png"
mode="widthFix"
src="{{prescription_img_oss_path}}"
mode="widthFix"
/>
<image class="doctor_sign_image"
src="{{doctor_sign_image}}"
mode="widthFix"
/>
</view>
</view>
<view class="imgbox">
<image src="{{prescription_img_oss_path}}" mode="widthFix" class="prescription"></image>
<image src="{{doctor_sign_image}}" mode="widthFix" class="doctorSign"></image>
</view>
<view class="button_group">
<view class="button_item">
<van-button round plain type="danger" bind:click="showPopup">
<text decode="true">&nbsp;&nbsp;&nbsp;&nbsp;驳回&nbsp;&nbsp;&nbsp;&nbsp;</text>
</van-button>
</view>
<view class="button_item">
<view class="button_item" bindtap="putPharmacistPrescriptionVerify" data-pharmacist_audit_status="1">
<van-button round type="primary" bind:click="submit">
<text decode="true">&nbsp;&nbsp;&nbsp;&nbsp;通过&nbsp;&nbsp;&nbsp;&nbsp;</text>
</van-button>
</view>
</view>
<view style="height: 20rpx;">
</view>
<van-popup show="{{ bohuishow }}" bind:close="onClose">
<view class="pop">
<van-cell title="驳回理由:" is-link value="{{ resonText }}" bind:click="showReasonPopup"/>
<van-cell size="large" title="驳回理由:" is-link value="{{ resonText }}" bind:click="showReasonPopup"/>
<view class="pop_button">
<view class="pop_button_txt" bindtap="closePopup">取消</view>
<view class="pop_button_txt" bindtap="submitBohui">确认驳回</view>
<view class="pop_button_txt" bindtap="submitBohui" data-pharmacist_audit_status="2">确认驳回</view>
</view>
</view>
</van-popup>

View File

@ -1,6 +1,7 @@
.container{
page{
background-color: #F3F5F7;
}
.img_box{
width: 90vw;
margin: 20rpx auto;
@ -10,7 +11,7 @@
width: 100%;
}
.img_content{
background-color: #F1F1F3;
background-color: #F3F5F7;
padding: 20rpx;
border-radius: 10rpx;
}
@ -23,7 +24,7 @@
display:inline-block;
}
.pop{
width: 80vw;
width: 90vw;
margin-bottom: 30rpx;
}
.pop_button{
@ -33,4 +34,27 @@
}
.pop_button_txt{
color: red;
}
.imgbox{
width:100%;
height:0;
position:relative;
padding-bottom:141%;
}
.prescription{
position:absolute;
top:0px;
height:100%;
bottom:0px;
width:100%;
}
.doctorSign{
position:absolute;
width:100rpx;
height:53rpx;
left:125rpx;
bottom:126rpx;
}
.van-cell__value{
flex: 1.2 !important;
}

View File

@ -0,0 +1,30 @@
import { API } from './../../../utils/network/api'
let api = new API()
Page({
data: {
navbarData: {
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
title: '协议详情', //导航栏 中间的标题
},
agreement_id: "",
agreement_content: ""
},
onLoad(option){
this.setData({
agreement_id: option.agreement_id
})
},
onShow(){
//获取医生我的账户数据
api.getBasicAgreement({agreement_id: this.data.agreement_id}).then(response => {
console.log(response);
this.setData({
agreement_content: response.data.agreement_content,
"navbarData.title": response.data.agreement_name,
})
}).catch(errors => {console.error(errors);})
}
})

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"te-nav-bar": "/commpents/te_navbar"
}
}

View File

@ -0,0 +1,5 @@
<!-- 协议详情 -->
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container">
<rich-text nodes="{{agreement_content}}" space="nbsp"></rich-text>
</view>

View File

@ -0,0 +1,8 @@
/* Pages/yishi/manual_detail/index.wxss */
page{
background-color: #F6F6F6;
}
.container{
width: 92vw;
margin: 20rpx auto;
}

View File

@ -36,7 +36,7 @@ Page({
onReachBottom() {
console.log('===触底了!!===');
if(this.data.current_page < this.data.last_page){//最后一页时停止分页
this.getDoctorEvaluationList()
this.getDoctorEvaluationList(this.data.evaluation_type)
}
},
onLoad(option){
@ -44,38 +44,32 @@ Page({
this.setData({
doctor_id: option.doctor_id
})
},
onShow(){
console.log("onShow");
this.getDoctorEvaluationList();
this.getDoctorEvaluationList(1);
},
onTabsChange(e){
console.log(e);
let list_name = "appraise_list_" + this.data.evaluation_type;
let list_name = "appraise_list_" + e.detail.name;
this.setData({
evaluation_type: e.detail.value,
evaluation_type: e.detail.name,
current_page: 0,
last_page: 0,
[list_name]: []
})
this.getDoctorEvaluationList()
this.getDoctorEvaluationList(e.detail.name)
},
onTabsClick(e){
console.log(e);
},
onStickyScroll(e){
return 1;
},
getDoctorEvaluationList(){
getDoctorEvaluationList(evaluation_type){
//获取评价列表
let params = {};
params.page = this.data.current_page + 1;
params.doctor_id = this.data.doctor_id;
params.evaluation_type = this.data.evaluation_type;
params.evaluation_type = evaluation_type;
api.getDoctorEvaluation(params).then(response => {
console.log(response);
if(response.data.total > 0){
let list_name = "appraise_list_" + this.data.evaluation_type;
let list_name = "appraise_list_" + evaluation_type;
console.log(list_name);
let apprise_list = this.data[list_name];
this.setData({

View File

@ -3,9 +3,11 @@
"usingComponents": {
"te-nav-bar": "/commpents/te_navbar",
"appraise-data": "/commpents/appraise_data/index",
"t-tabs": "tdesign-miniprogram/tabs/tabs",
"t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel"
"van-empty": "@vant/weapp/empty/index",
"van-tab": "@vant/weapp/tab/index",
"van-tabs": "@vant/weapp/tabs/index",
"t-rate": "tdesign-miniprogram/rate/rate",
"van-divider": "@vant/weapp/divider/index"
},
"enablePullDownRefresh": true,
"onReachBottomDistance": 100
}

View File

@ -1,6 +1,64 @@
<wxs module="dateSubstr" src="/utils/substr.wxs"></wxs>
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
<t-tabs
<view class="container">
<van-tabs active="1"
color="#3CC7C0"
title-active-color="#3CC7C0"
bind:change="onTabsChange"
border="{{true}}"
>
<van-tab title="全部({{total_quantity}}" name="1">
<view class="item_list">
<view class="item" wx:for="{{appraise_list_1}}">
<view class="top">
<view class="name">{{item.name_mask}}</view>
<view class="start">
<t-rate value="{{item.avg_score}}" count="5" color="#ED9C00"/>
</view>
</view>
<view class="content">{{item.content}}</view>
<view class="date">{{dateSubstr.substring(item.created_at,0,16)}}</view>
</view>
</view>
<van-empty description="暂无数据" wx:if="{{appraise_list_1.length == 0}}" />
<van-divider contentPosition="center" wx:if="{{appraise_list_1.length > 0 && current_page == last_page}}">到底了~</van-divider>
</van-tab>
<van-tab title="好评({{good_quantity}}" name="2">
<view class="item_list">
<view class="item" wx:for="{{appraise_list_2}}">
<view class="top">
<view class="name">{{item.name_mask}}</view>
<view class="start">
<t-rate value="{{item.avg_score}}" count="5" color="#ED9C00"/>
</view>
</view>
<view class="content">{{item.content}}</view>
<view class="date">{{dateSubstr.substring(item.created_at,0,16)}}</view>
</view>
</view>
<van-empty description="暂无数据" wx:if="{{appraise_list_2.length == 0}}" />
<van-divider contentPosition="center" wx:if="{{appraise_list_2.length > 0 && current_page == last_page}}">到底了~</van-divider>
</van-tab>
<van-tab title="中/差评({{bad_quantity}}" name="3">
<view class="item_list">
<view class="item" wx:for="{{appraise_list_3}}">
<view class="top">
<view class="name">{{item.name_mask}}</view>
<view class="start">
<t-rate value="{{item.avg_score}}" count="5" color="#ED9C00"/>
</view>
</view>
<view class="content">{{item.content}}</view>
<view class="date">{{dateSubstr.substring(item.created_at,0,16)}}</view>
</view>
</view>
<van-empty description="暂无数据" wx:if="{{appraise_list_3.length == 0}}" />
<van-divider contentPosition="center" wx:if="{{appraise_list_3.length > 0 && current_page == last_page}}">到底了~</van-divider>
</van-tab>
</van-tabs>
<!-- <t-tabs
defaultValue="{{1}}"
sticky
stickyProps="{{stickyProps}}"
@ -20,8 +78,9 @@
date="{{item.created_at}}"
wx:for="{{appraise_list_1}}"
/>
</view>
<van-empty description="暂无数据" wx:if="{{appraise_list_1.length == 0}}" />
</t-tab-panel>
<t-tab-panel label="好评({{good_quantity}}" value="2">
<view class="item_list">
@ -33,6 +92,7 @@
wx:for="{{appraise_list_2}}"
/>
</view>
<van-empty description="暂无数据" wx:if="{{appraise_list_2.length == 0}}" />
</t-tab-panel>
<t-tab-panel label="中/差评({{bad_quantity}}" value="3">
@ -45,6 +105,7 @@
wx:for="{{appraise_list_3}}"
/>
</view>
<van-empty description="暂无数据" wx:if="{{appraise_list_3.length == 0}}" />
</t-tab-panel>
</t-tabs>
</t-tabs> -->
</view>

View File

@ -1,20 +1,8 @@
page{
background-color: #F6F6F6;
}
.container{
width: 100vw;
height: 100vh;
background-color: #F6F6F6;
}
.t-tab-panel,.t-tabs__content {
background-color: #F6F6F6;
}
.t-tabs__item--active{
color: #49B9AD !important;
font-size: 32rpx !important;
}
.t-tabs__item-inner--line{
font-size: 28rpx !important;
}
.t-tabs__track{
background-color: var(--td-tab-track-color, var(--td-primary-color, #49B9AD)) !important;
}
.item_list{
width: 92vw;
@ -22,3 +10,41 @@
background-color: #fff;
border-radius: 20rpx;
}
.item{
display: flex;
padding: 20rpx;
flex-direction: column;
}
.item:not(:last-child){
border-bottom: 1px solid #E7E7E7;
}
.top{
display: flex;
justify-content: space-between;
align-items: center;
flex: 1;
}
.name{
flex: 1;
font-size: 30rpx;
color: #666666;
}
.start{
flex: 1;
display: flex;
justify-content: flex-end;
}
.content{
flex: 2;
font-size: 34rpx;
color: #333333;
margin: 20rpx 0;
}
.date{
flex: 1;
font-size: 28rpx;
color: #666666;
}

View File

@ -1,6 +1,6 @@
<!-- 实名认证结果页面 -->
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
<van-cell title="真实姓名" value="{{card_name}}" />
<van-cell title="身份证号" value="{{card_num_mask}}" />
<van-cell size="large" title="真实姓名" value="{{card_name}}" />
<van-cell size="large" title="身份证号" value="{{card_num_mask}}" />
</view>

View File

@ -12,12 +12,13 @@ Page({
bank_card_id: "",
bank_img_path: "",
bank_name: "",
bank_card_code_mask: ""
bank_card_code_mask: "",
static_host: api.getStaticHost()
},
onShow(){
api.getDoctorBank().then(response => {
if(response.data.total > 0){
if(response.data.bank_card_id){
this.setData({
banklist_empty: false,
bank_card_code_mask: response.data.bank_card_code_mask,

View File

@ -2,7 +2,7 @@
"component": true,
"usingComponents": {
"te-nav-bar": "/commpents/te_navbar",
"t-image": "tdesign-miniprogram/image/image",
"van-image": "@vant/weapp/image/index",
"t-icon": "tdesign-miniprogram/icon/icon",
"van-button": "@vant/weapp/button/index"
}

View File

@ -1,37 +1,27 @@
<!-- 我的银行卡页面 -->
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
<view class="container">
<view class="help">
<view class="help_title">
<text wx:if="{{ !banklist_empty }}">我的银行卡</text>
</view>
<view class="help_note">
<view class="help_note" data-url="/Pages/yishi/manual/index" bindtap="go">
操作手册-银行卡<t-icon size="26rpx" style="display: inline-block;" name="chevron-right" size="48rpx" data-name="chevron-right" />
</view>
</view>
<view class="bankcard_empty_box" wx:if="{{ banklist_empty }}">
<view class="bankcard_empty">
<t-image src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/bankcard_empty.png" mode="heightFix" width="200rpx" aria-label="空" />
<van-image src="{{static_host}}/applet/doctor/static/images/yishi/bankcard_empty.png" fit="widthFix" width="500rpx" aria-label="空" />
</view>
<van-button data-url="/Pages/yishi/bindcard/index" bind:click="go" custom-style="font-size: 30rpx;border-radius: 10rpx;background-color:#3CC7C0;border: none;width: 92vw;margin: 50rpx auto;" type="primary" block>添加结算银行卡</van-button>
<view class="note">提示:每人只能绑定一张银行卡,银行卡绑定成功后每月只能修改结算银行卡一次,请谨慎绑定。</view>
</view>
<view class="bankcard_list" wx:if="{{ !banklist_empty }}">
<view class="bankcard_list_item">
<t-image src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/bankcard/gs.png" mode="widthFix" width="100%" aria-label="空" />
<van-image src="{{bank_img_path}}" fit="widthFix" width="100%" aria-label="空" />
<view class="bankcard_list_item_name">{{bank_name}}</view>
<view class="bankcard_list_item_num">{{bank_card_code_mask}}</view>
</view>
<!-- <view class="bankcard_list_item">
<t-image src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/bankcard/ny.png" mode="widthFix" width="100%" aria-label="空" />
<view class="bankcard_list_item_name">中国农业银行</view>
<view class="bankcard_list_item_num">3034 **** **** **** 2698</view>
</view> -->
<!-- <view class="bankcard_list_item">
<t-image src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/bankcard/js.png" mode="widthFix" width="100%" aria-label="空" />
<view class="bankcard_list_item_name">中国建设银行</view>
<view class="bankcard_list_item_num">3034 **** **** **** 2698</view>
</view> -->
<van-button data-url="/Pages/yishi/bindcard/index" bind:click="go" custom-style="font-size: 30rpx;border-radius: 10rpx;background-color:#3CC7C0;border: none;width: 92vw;margin: 50rpx auto;" type="primary" block>更换银行卡</van-button>
<view class="note">

View File

@ -1,7 +1,8 @@
page{
background-color: #F4F4F4;
}
.container{
width: 100vw;
height: 100vh;
background-color: #F4F4F4;
}
.help{
display: flex;
@ -31,7 +32,7 @@
font-size: 28rpx;
color: #999999;
width: 92vw;
margin: 0 auto;
margin: -20rpx auto;
line-height: 50rpx;
}
.bankcard_list{

View File

@ -27,13 +27,14 @@ Page({
area_sub_titles: ["省份","市区","区县"],
areaprovince_data_ready: false,
banklist_data_ready: false,
bank_card_id: ""
bank_card_id: "",
static_host: api.getStaticHost()
},
onLoad(options){
console.log("options: ", options);
let bank_card_id = options.bank_card_id;
console.log("options bank_card_id: ", bank_card_id);
if(bank_card_id){
if(bank_card_id && bank_card_id != "undefined"){
console.log("options bank_card_id: ", bank_card_id);
this.setData({
bank_card_id: bank_card_id
})
@ -67,8 +68,8 @@ Page({
console.log(response);
if(response.data){
this.setData({
realname:response.data.card_name,
idcard:response.data.card_num
realname:response.data.card_name_mask,
idcard:response.data.card_num_mask
});
}
}).catch(errors => {
@ -81,6 +82,13 @@ Page({
},
onBankShow(e) {
console.log("onBankShow");
if(this.data.select_county_id == ""){
wx.showToast({
title: '请选择城市',
icon: "error"
})
return;
}
this.setData({ bank_show: true });
},
onBankClose(e) {
@ -200,6 +208,8 @@ Page({
},
addBank(e){
console.log("addbank, ", e);
//绑定医生银行卡
let params = {};
params.county_id = this.data.select_county_id;
@ -207,6 +217,14 @@ Page({
params.province_id = this.data.select_province_id;
params.bank_card_code = this.data.bankcard;
params.bank_id = this.data.select_bank_id;
console.log("params.county_id: ", params.county_id)
if(params.county_id == ""){
wx.showToast({
title: '请选择城市',
icon: "error"
})
return;
}
console.log(params);
let bank_card_id = this.data.bank_card_id;
if(bank_card_id){
@ -218,6 +236,7 @@ Page({
title: '更换成功',
icon: "success"
})
wx.navigateBack();
}).catch(errors => {console.error(errors); })
}else{
//绑定医生银行卡
@ -227,6 +246,7 @@ Page({
title: '绑定成功',
icon: "success"
})
wx.navigateBack();
}).catch(errors => {console.error(errors); })
}
}

View File

@ -9,6 +9,7 @@
"van-popup": "@vant/weapp/popup/index",
"van-picker": "@vant/weapp/picker/index",
"van-toast": "@vant/weapp/toast/index",
"van-image": "@vant/weapp/image/index",
"t-cascader": "tdesign-miniprogram/cascader/cascader"
}
}

View File

@ -2,25 +2,30 @@
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
<view class="top_note">
请确定开户人姓名与账户医生的姓名一致
<van-image style="display: flex;align-items: center;margin-right: 10rpx;" src="{{static_host}}/applet/doctor/static/images/bell.png" fit="widthFix" width="45rpx" aria-label="qrcode" />
<text>请确定开户人姓名与账户医生的姓名一致</text>
</view>
<view class="info">
<van-cell-group>
<van-cell title="姓名" value="{{realname}}" />
<van-cell title="身份证号" value="{{idcard}}" border="{{ false }}" />
<van-cell size="large" title="姓名" value="{{realname}}" />
<van-cell size="large" title="身份证号" value="{{idcard}}" border="{{ false }}" />
</van-cell-group>
</view>
<view class="bankcard">
<van-cell-group>
<van-cell title="所在城市" value="{{city_note}}" is-link bindtap="onCityShow"/>
<van-cell title="开户行" value="{{bank_note}}" is-link bindtap="onBankShow"/>
<van-cell size="large" title="所在城市" value="{{city_note}}" is-link bindtap="onCityShow"/>
<van-cell size="large" title="开户行" value="{{bank_note}}" is-link bindtap="onBankShow"/>
<van-field
label="银行卡号"
placeholder="请输入卡号"
model:value="{{ bankcard }}"
input-align="right"
/>
type="number"
clearable
placeholder-style="font-size: 16px;"
>
<text slot="label" style="font-size: 30rpx;">银行卡号</text>
</van-field>
</van-cell-group>
</view>

View File

@ -10,14 +10,35 @@
color: #3CC7C0;
background-color: #F0FFFB;
font-size: 30rpx;
display: flex;
align-items: center;
}
.bankcard{
margin-top: 50rpx;
margin-top: 20rpx;
}
.note{
font-size: 28rpx;
color: #999999;
width: 92vw;
margin: 50rpx auto;
margin: 20rpx auto;
line-height: 50rpx;
}
.t-tabs__item--active{
color: #49B9AD !important;
}
.t-tabs__track{
background-color: #49B9AD !important;
}
.t-icon-check{
color: #49B9AD !important;
}
.van-picker__confirm{
color: #3cc7c0 !important;
}
.van-cell {
padding: 32rpx !important;
}
.bankcard input{
font-size: 16px !important;
}

View File

@ -0,0 +1,88 @@
import { API } from './../../../utils/network/api'
import debounce from './../../../utils/debounce'
let api = new API()
const app = getApp()
Page({
data: {
navbarData: {
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
title: '病历信息', //导航栏 中间的标题
},
height: app.globalData.height,
order_inquiry_id: "",
case_detail: {},
imglist: []
},
onLoad(options){
console.log("onLoad", options)
this.setData({
order_inquiry_id: options.order_inquiry_id
})
},
goReport:debounce(function(event){
wx.showLoading({
mask:true,
title: '正在打开文件...',
})
const url=event.currentTarget.dataset.url;
const randfile = new Date().getTime() + '检测报告';
const newPath = `${wx.env.USER_DATA_PATH}/${randfile}`;
wx.downloadFile({
// 示例 url并非真实存在
url:url,
filePath: newPath,
success: function (res) {
//const filePath = res.tempFilePath
wx.openDocument({
fileType:"pdf",
showMenu:true,
filePath: newPath,
success: function (res) {
console.log('打开文档成功');
wx.hideLoading()
},
fail:function(error){
wx.hideLoading()
wx.showToast({
title:res,
icon:"none"
})
}
})
},
fail:function(error){
wx.showToast({
title:error,
icon:"none"
})
}
})
}),
formatImgList(){
let diagnose_images = this.data.case_detail.diagnose_images?this.data.case_detail.diagnose_images:[];
let img_list = [];
diagnose_images.forEach(item => {
let img = {};
img.isImage = true;
img.url = item;
img_list.push(img);
})
this.setData({
imglist: img_list
})
},
onShow(){
//获取患者问诊病例
api.getInquiryDetail({order_inquiry_id: this.data.order_inquiry_id}).then(response => {
console.log(response);
this.setData({
case_detail: response.data
})
}).then(res => {
this.formatImgList();
}).catch(errors => {console.error(errors);})
},
})

View File

@ -0,0 +1,8 @@
{
"component": true,
"usingComponents": {
"te-nav-bar": "/commpents/te_navbar",
"van-icon": "@vant/weapp/icon/index",
"van-uploader": "@vant/weapp/uploader/index"
}
}

View File

@ -0,0 +1,114 @@
<wxs module="dateSubstr" src="./../../../utils/substr.wxs"></wxs>
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container">
<view class="main_title">基础信息</view>
<view class="data_box">
<view class="data_box_top">
<view class="name">{{case_detail.name}}</view>
<view class="sex">{{case_detail.sex==1?'男':case_detail.sex==2?'女':'未知'}}{{case_detail.age}}岁 </view>
</view>
<view class="info">
<view class="height info_item"><text class="info_title">身高:</text><text class="info_val">{{case_detail.height==null?'未知':case_detail.height + 'CM'}}</text></view>
<view class="weight info_item"><text class="info_title">体重:</text><text class="info_val">{{case_detail.weight==null?'未知':case_detail.weight + 'KG'}}</text></view>
<view class="minzu info_item"><text class="info_title">民族:</text><text class="info_val">{{case_detail.nation_name==''?'未知':case_detail.nation_name}}</text></view>
<view class="zhiye info_item"><text class="info_title">职业:</text><text class="info_val">{{case_detail.job_name==''?'未知':case_detail.job_name}}</text></view>
<view class="hunyin info_item"><text class="info_title">婚姻:</text><text class="info_val">{{case_detail.marital_status==0?'未婚':case_detail.marital_status==1?'已婚':case_detail.marital_status==2?'离异':'未知'}}</text></view>
</view>
<view class="disease_box">
<view class="disease_box_item" wx:if="{{case_detail.disease_class_name}}">
<view class="title">所患疾病:</view>
<view class="conent">{{case_detail.disease_class_name}}</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.diagnosis_date}}">
<view class="title">确诊日期:</view>
<view class="conent" >{{dateSubstr.substring(case_detail.diagnosis_date,0,10)}}</view>
</view>
<!-- <view class="disease_box_item">
<view class="title">医生诊断:</view>
<view class="conent">{{case_detail.disease_class_name}}</view>
</view> -->
<view class="disease_box_item" wx:if="{{case_detail.diagnosis_hospital != '' && case_detail.diagnosis_hospital != null}}">
<view class="title">确诊医院:</view>
<view class="conent">{{case_detail.diagnosis_hospital}}</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.drugs_name != '' && case_detail.drugs_name != null}}">
<view class="title">正在服用的药品信息:</view>
<view class="conent">{{case_detail.drugs_name==''?'无':''}}</view>
</view>
<view class="disease_info" wx:if="{{case_detail.drugs_name != '' && case_detail.drugs_name != null}}">
详细描述:{{case_detail.drugs_name}}
</view>
<view class="disease_box_item" wx:if="{{case_detail.disease_desc}}">
<view class="title">病情描述:</view>
<view class="conent">{{case_detail.disease_desc}}</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.product.length > 0}}">
<view class="title">用药意向:</view>
<view class="conent">
<view wx:for="{{case_detail.product}}">{{item}};</view>
</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.diagnose_images.length > 0}}">
<view class="title">复诊凭证(病例/处方单/检查报告/住院单)</view>
<view class="conent" wx:if="{{case_detail.diagnose_images.length == 0}}">无</view>
</view>
<view class="img_box" >
<van-uploader image-fit="aspectFit" file-list="{{ imglist }}" show-upload="{{false}}" deletable="{{false}}" />
</view>
</view>
</view>
<view class="sugarbox" wx:if="{{case_detail.detection_project}}" data-url="{{case_detail.detection_project.detection_link}}" bindtap="goReport">
<view class="main_title">{{case_detail.detection_project_name}}</view>
<view class="data_box sugar" >
<view class="sugar_left">
<view class="name">糖组检测</view>
<view class="date">{{case_detail.detection_project.detection_time}}</view>
</view>
<van-icon name="arrow" />
</view>
</view>
<view class="main_title" wx:if="{{!(case_detail.is_taboo == null && case_detail.is_allergy_history == null && case_detail.is_family_history == null && case_detail.is_pregnant == null && case_detail.drink_wine_status == null && case_detail.smoke_status == null && case_detail.is_operation == null && case_detail.chemical_compound_status == null && case_detail.chemical_compound_status == null)}}">其他信息</view>
<view class="data_box orther" wx:if="{{!(case_detail.is_taboo == null && case_detail.is_allergy_history == null && case_detail.is_family_history == null && case_detail.is_pregnant == null && case_detail.drink_wine_status == null && case_detail.smoke_status == null && case_detail.is_operation == null && case_detail.chemical_compound_status == null && case_detail.chemical_compound_status == null)}}">
<view class="disease_box">
<view class="disease_box_item" wx:if="{{case_detail.is_taboo != null}}">
<view class="title">是否服用过您想购买的药品且无相关禁忌:</view>
<view class="conent">{{case_detail.is_taboo==0?'否':'是'}}</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.is_allergy_history != null}}">
<view class="title">过敏史:</view>
<view class="conent">{{case_detail.is_allergy_history==0?'否':case_detail.allergy_history}}</view>
</view>
<view class="disease_box_item" wx:if="{{ case_detail.is_family_history != null}}">
<view class="title">家族史:</view>
<view class="conent">{{case_detail.is_family_history==0?'否':case_detail.family_history}}</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.is_pregnant != null}}">
<view class="title">是否备孕、妊娠或者哺乳期:</view>
<view class="conent">{{case_detail.is_pregnant==0?'否':case_detail.pregnant}}</view>
</view>
<view class="disease_box_item" wx:if="{{ case_detail.drink_wine_status != null}}">
<view class="title">饮酒史:</view>
<view class="conent">{{case_detail.drink_wine_status==1?'从不':case_detail.drink_wine_status==2?'偶尔':case_detail.drink_wine_status==3?'经常':case_detail.drink_wine_status==4?'每天':case_detail.drink_wine_status==5?'已戒酒':'其他'}}</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.smoke_status != null}}">
<view class="title">吸烟史:</view>
<view class="conent">{{case_detail.smoke_status==1?'从不':case_detail.smoke_status==2?'偶尔':case_detail.smoke_status==3?'经常':case_detail.smoke_status==4?'每天':case_detail.smoke_status==5?'已戒烟':'其他'}}</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.is_operation != null}}">
<view class="title">手术史:</view>
<view class="conent">{{case_detail.is_operation==0?'否':case_detail.operation}}</view>
</view>
<view class="disease_box_item" wx:if="{{ case_detail.chemical_compound_status != null}}">
<view class="title">接触化学物:</view>
<view class="conent">{{case_detail.chemical_compound_status==1?'从不':case_detail.chemical_compound_status==2?'偶尔':case_detail.chemical_compound_status==3?'经常':case_detail.chemical_compound_status==4?'每天':'其他'}}</view>
</view>
<view class="disease_info" wx:if="{{case_detail.chemical_compound_describe != '' && case_detail.chemical_compound_describe != null}}">
详细描述:{{case_detail.chemical_compound_describe}}
</view>
</view>
</view>
<view style="height: 50rpx;">
</view>
</view>

View File

@ -0,0 +1,127 @@
page{
background-color: #F6F6F6;
}
.container{
/* width: 100vw; */
padding: 0 4vw;
}
.main_title{
font-size: 16px;
color: #000000;
margin: 30rpx 0;
}
.data_box{
margin-top: 20rpx;
width: calc(92vw - 40rpx);
background-color: #fff;
border-radius: 20rpx;
padding: 20rpx;
}
.data_box_top{
display: flex;
}
.name{
font-size: 34rpx;
color: #3CC7C0;
margin-right: 20rpx;
}
.sex{
font-size: 34rpx;
color: #666666;
}
.info{
background: #FAFAFA;
border-radius: 10rpx;
padding-top: 10rpx;
display: flex;
flex-wrap: wrap;
margin: 20rpx 0 0;
padding-bottom: 20rpx;
}
.info_item{
text-align: left;
/* width: 190rpx; */
/* height: 60rpx; */
margin-top: 10rpx;
display: flex;
align-items: center;
margin-left: 20rpx;
align-items: flex-start;
}
.info_title{
font-size: 28rpx;
color: #333333;
}
.info_val{
font-size: 28rpx;
flex: 1;
color: #666666;
}
.disease_box{
}
.disease_box_item{
margin-bottom: 30rpx;
display: flex;
}
.data_box .disease_box_item:first-child{
margin-top: 20rpx;
}
.orther .disease_box_item:first-child{
margin-top: 0rpx;
}
.title{
font-size: 30rpx;
color: #333333;
}
.conent{
flex: 1;
font-size: 28rpx;
color: #666666;
word-wrap:break-word;
word-break:break-all;
}
.disease_info{
background: #FAFAFA;
border-radius: 10rpx;
padding: 10rpx;
font-size: 26rpx;
color: #999999;
margin-bottom: 20rpx;
}
.img_box{
display: flex;
flex-wrap: wrap;
}
.van-uploader__wrapper{
display: flex !important;
}
.van-uploader__preview{
padding: 20rpx 15rpx !important;
background-color: #E4E4E4 !important;
border-radius: 15rpx;
width: 150rpx;
display: flex;
justify-content: center;
}
.orther{
margin-bottom: 50rpx;
}
.sugar{
display: flex;
align-items: center;
justify-content:space-between ;
}
.sugar .name{
color:#333;
font-size: 30rpx;
}
.sugar .date{
margin-top: 12rpx;
font-size: 24rpx;
font-weight: 400;
color: rgba(0,0,0,0.45);
}

View File

@ -1,3 +1,6 @@
import { API } from '../../../utils/network/api'
import debounce from '../../../utils/debounce'
let api = new API()
const app = getApp()
Page({
data: {
@ -5,6 +8,101 @@ Page({
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
title: '病历信息', //导航栏 中间的标题
},
pathography_id:'',
height: app.globalData.height,
}
order_inquiry_id:"",
case_detail: {},
imglist: []
},
onLoad(options){
console.log("onLoad", options)
if(options.order_inquiry_id){
this.setData({
order_inquiry_id: options.order_inquiry_id
})
//获取患者问诊病例
api.getInquiryDetail({order_inquiry_id: this.data.order_inquiry_id}).then(response => {
console.log(response);
this.setData({
case_detail: response.data
})
}).then(res => {
this.formatImgList();
}).catch(errors => {console.error(errors);})
}
if(options.pathography_id){
this.setData({
pathography_id: options.pathography_id
})
//获取患者问诊病例
api.getPathographyDetail(options.pathography_id).then(response => {
this.setData({
case_detail: response.data
})
}).then(res => {
this.formatImgList();
}).catch(errors => {console.error(errors);})
}
},
goReport:debounce(function(event){
wx.showLoading({
mask:true,
title: '正在打开文件...',
})
const url=event.currentTarget.dataset.url;
const randfile = new Date().getTime() + '检测报告';
const newPath = `${wx.env.USER_DATA_PATH}/${randfile}`;
wx.downloadFile({
// 示例 url并非真实存在
url:url,
filePath: newPath,
success: function (res) {
//const filePath = res.tempFilePath
wx.openDocument({
fileType:"pdf",
showMenu:true,
filePath: newPath,
success: function (res) {
console.log('打开文档成功');
wx.hideLoading()
},
fail:function(error){
wx.hideLoading()
wx.showToast({
title:res,
icon:"none"
})
}
})
},
fail:function(error){
wx.showToast({
title:error,
icon:"none"
})
}
})
}),
formatImgList(){
let diagnose_images = this.data.case_detail.diagnose_images?this.data.case_detail.diagnose_images:[];
let img_list = [];
diagnose_images.forEach(item => {
let img = {};
img.isImage = true;
img.url = item;
img_list.push(img);
})
this.setData({
imglist: img_list
})
},
onShow(){
},
})

View File

@ -2,6 +2,7 @@
"component": true,
"usingComponents": {
"te-nav-bar": "/commpents/te_navbar",
"t-image": "tdesign-miniprogram/image/image"
"van-icon": "@vant/weapp/icon/index",
"van-uploader": "@vant/weapp/uploader/index"
}
}

View File

@ -1,93 +1,139 @@
<wxs module="dateSubstr" src="./../../../utils/substr.wxs"></wxs>
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
<view class="container">
<view class="main_title">基础信息</view>
<view class="data_box">
<view class="data_box_top">
<view class="name">张三三</view>
<view class="sex">30岁 </view>
<view class="name">{{case_detail.name}}</view>
<view class="sex">{{case_detail.sex==1?'男':case_detail.sex==2?'女':'未知'}}{{case_detail.age}}岁 </view>
</view>
<view class="info">
<view class="height info_item"><text class="info_title">身高:</text><text class="info_val">182cm</text></view>
<view class="weight info_item"><text class="info_title">体重:</text><text class="info_val">98KG</text></view>
<view class="minzu info_item"><text class="info_title">民族:</text><text class="info_val">汉族</text></view>
<view class="zhiye info_item"><text class="info_title">职业:</text><text class="info_val">学生</text></view>
<view class="hunyin info_item"><text class="info_title">婚姻:</text><text class="info_val">已婚</text></view>
<view class="height info_item"><text class="info_title">身高:</text><text class="info_val">{{case_detail.height==null?'未知':case_detail.height + 'CM'}}</text></view>
<view class="weight info_item"><text class="info_title">体重:</text><text class="info_val">{{case_detail.weight==null?'未知':case_detail.weight + 'KG'}}</text></view>
<view class="minzu info_item"><text class="info_title">民族:</text><text class="info_val">{{case_detail.nation_name?case_detail.nation_name:'未知'}}</text></view>
<view class="zhiye info_item"><text class="info_title">职业:</text><text class="info_val">{{case_detail.job_name?case_detail.job_name:'未知'}}</text></view>
<view class="hunyin info_item"><text class="info_title">婚姻:</text><text class="info_val">{{case_detail.marital_status==0?'未婚':case_detail.marital_status==1?'已婚':case_detail.marital_status==2?'离异':'未知'}}</text></view>
</view>
<view class="disease_box">
<view class="disease_box_item">
<view class="disease_box_item" wx:if="{{case_detail.disease_class_name}}">
<view class="title">所患疾病:</view>
<view class="conent">肝炎</view>
<view class="conent">{{case_detail.disease_class_name}}</view>
</view>
<view class="disease_box_item">
<view class="disease_box_item" wx:if="{{case_detail.diagnosis_date}}">
<view class="title">确诊日期:</view>
<view class="conent">2022年8月29日 10:23</view>
<view class="conent" >{{dateSubstr.substring(case_detail.diagnosis_date,0,10)}}</view>
</view>
<view class="disease_box_item">
<!-- <view class="disease_box_item">
<view class="title">医生诊断:</view>
<view class="conent">过度劳累,失眠不足导致可以多</view>
</view>
<view class="disease_box_item">
<view class="conent">{{case_detail.disease_class_name}}</view>
</view> -->
<view class="disease_box_item" wx:if="{{case_detail.diagnosis_hospital != '' && case_detail.diagnosis_hospital != null}}">
<view class="title">确诊医院:</view>
<view class="conent">首都医科大学附属北京佑安医院</view>
<view class="conent">{{case_detail.diagnosis_hospital}}</view>
</view>
<view class="disease_box_item">
<view class="disease_box_item" wx:if="{{case_detail.drugs_name != '' && case_detail.drugs_name != null}}">
<view class="title">正在服用的药品信息:</view>
<view class="conent">无/有</view>
<view class="conent">{{case_detail.drugs_name==''?'无':''}}</view>
</view>
<view class="disease_info">
详细描述:阿托伐他汀钙片8片 用法用量常用的起始剂量为10mg每日一次
<view class="disease_info" wx:if="{{case_detail.drugs_name != '' && case_detail.drugs_name != null}}">
详细描述:{{case_detail.drugs_name}}
</view>
<view class="disease_box_item">
<view class="disease_box_item" wx:if="{{case_detail.disease_desc}}">
<view class="title">病情描述:</view>
<view class="conent">过度劳累,失眠不足导致可以多休息几天,没有好转的话可以去医院看看先吧...</view>
<view class="conent">{{case_detail.disease_desc}}</view>
</view>
<view class="disease_box_item">
<view class="title">用药意向:</view>
<view class="conent">阿托伐他汀钙片8片(用法用量:常用的起始剂量为10mg每日一次剂量调整时间为4周或更长。阿托伐他汀每日用量可在一天内的任何时间一次服用并不受进餐影响。)</view>
<view class="disease_box_item" wx:if="{{case_detail.product.length > 0}}">
<view class="title">用药意向:</view>
<view class="conent">
<view wx:for="{{case_detail.product}}">{{item}};</view>
</view>
</view>
<view class="disease_box_item">
<view class="title">问诊本人复诊凭证(病例/处方单/检查报告/住院单可任选其一)</view>
<view class="conent">无</view>
<view class="disease_box_item" wx:if="{{case_detail.diagnose_images.length > 0}}">
<view class="title">复诊凭证(病例/处方单/检查报告/住院单)</view>
<view class="conent" wx:if="{{case_detail.diagnose_images.length == 0}}">无</view>
</view>
<view class="img_box">
<t-image id="loading-img" shape="round" src="" width="72" height="72" />
<view class="img_box" >
<van-uploader image-fit="aspectFit" file-list="{{ imglist }}" show-upload="{{false}}" deletable="{{false}}" />
</view>
</view>
</view>
<view class="sugarbox" wx:if="{{case_detail.detection_project}}" data-url="{{case_detail.detection_project.detection_link}}" bindtap="goReport">
<view class="main_title">{{case_detail.detection_project_name}}</view>
<view class="data_box sugar" >
<view class="sugar_left">
<view class="name">糖组检测</view>
<view class="date">{{case_detail.detection_project.detection_time}}</view>
</view>
<van-icon name="arrow" />
</view>
</view>
<view class="main_title" wx:if="{{!(case_detail.is_taboo == null && case_detail.is_allergy_history == null && case_detail.is_family_history == null && case_detail.is_pregnant == null && case_detail.drink_wine_status == null && case_detail.smoke_status == null && case_detail.is_operation == null && case_detail.chemical_compound_status == null && case_detail.chemical_compound_status == null)}}">其他信息</view>
<view class="data_box orther" wx:if="{{!(case_detail.is_taboo == null && case_detail.is_allergy_history == null && case_detail.is_family_history == null && case_detail.is_pregnant == null && case_detail.drink_wine_status == null && case_detail.smoke_status == null && case_detail.is_operation == null && case_detail.chemical_compound_status == null && case_detail.chemical_compound_status == null)}}">
<view class="disease_box">
<view class="disease_box_item" wx:if="{{case_detail.is_taboo != null}}">
<view class="title">是否服用过您想购买的药品且无相关禁忌:</view>
<view class="conent">{{case_detail.is_taboo==0?'否':'是'}}</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.is_allergy_history != null}}">
<view class="title">过敏史:</view>
<view class="conent">{{case_detail.is_allergy_history==0?'否':case_detail.allergy_history}}</view>
</view>
<view class="disease_box_item" wx:if="{{ case_detail.is_family_history != null}}">
<view class="title">家族史:</view>
<view class="conent">{{case_detail.is_family_history==0?'否':case_detail.family_history}}</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.is_pregnant != null}}">
<view class="title">是否备孕、妊娠或者哺乳期:</view>
<view class="conent">{{case_detail.is_pregnant==0?'否':case_detail.pregnant}}</view>
</view>
<view class="disease_box_item" wx:if="{{ case_detail.drink_wine_status != null}}">
<view class="title">饮酒史:</view>
<view class="conent">{{case_detail.drink_wine_status==1?'从不':case_detail.drink_wine_status==2?'偶尔':case_detail.drink_wine_status==3?'经常':case_detail.drink_wine_status==4?'每天':case_detail.drink_wine_status==5?'已戒酒':'其他'}}</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.smoke_status != null}}">
<view class="title">吸烟史:</view>
<view class="conent">{{case_detail.smoke_status==1?'从不':case_detail.smoke_status==2?'偶尔':case_detail.smoke_status==3?'经常':case_detail.smoke_status==4?'每天':case_detail.smoke_status==5?'已戒烟':'其他'}}</view>
</view>
<view class="disease_box_item" wx:if="{{case_detail.is_operation != null}}">
<view class="title">手术史:</view>
<view class="conent">{{case_detail.is_operation==0?'否':case_detail.operation}}</view>
</view>
<view class="disease_box_item" wx:if="{{ case_detail.chemical_compound_status != null}}">
<view class="title">接触化学物:</view>
<view class="conent">{{case_detail.chemical_compound_status==1?'从不':case_detail.chemical_compound_status==2?'偶尔':case_detail.chemical_compound_status==3?'经常':case_detail.chemical_compound_status==4?'每天':'其他'}}</view>
</view>
<view class="disease_info" wx:if="{{case_detail.chemical_compound_describe != '' && case_detail.chemical_compound_describe != null}}">
详细描述:{{case_detail.chemical_compound_describe}}
</view>
</view>
</view>
<view class="main_title">其他信息</view>
<view class="data_box orther">
<view class="disease_box">
<view class="disease_box_item">
<view class="title">过敏史:</view>
<view class="conent">无/有(显示内容)</view>
<view wx:if="{{case_detail.order_prescription}}">
<view class="main_title">处方信息</view>
<view class="data_box">
<view class="disease_box">
<view class="disease_box_item" >
<view class="title">诊断:</view>
<view class="conent">{{case_detail.order_prescription.icd_name}}</view>
</view>
<view class="disease_box_item">
<view class="title">家族史:</view>
<view class="conent">无/有(显示内容)</view>
<view class="disease_box_item" >
<view class="title">时间</view>
<view class="conent">{{case_detail.order_prescription.doctor_created_time}}</view>
</view>
<view class="disease_box_item">
<view class="title">是否备孕、妊娠或者哺乳期:</view>
<view class="conent">不是/是(显示内容)</view>
<view class="disease_box_item" >
<view class="title">药品:</view>
<view class="conent" wx:for="{{case_detail.order_prescription.product}}" wx:for-item="itemName">
{{itemName.product_name}};
</view>
</view>
<view class="disease_box_item">
<view class="title">饮酒史:</view>
<view class="conent">从不、偶尔、经常、每天、已解酒</view>
</view>
<view class="disease_box_item">
<view class="title">吸烟史:</view>
<view class="conent">从不、偶尔、经常、每天、已解酒</view>
</view>
<view class="disease_box_item">
<view class="title">手术史:</view>
<view class="conent">无/有(手术名称)</view>
</view>
<view class="disease_box_item">
<view class="title">接触化学物:</view>
<view class="conent">从不、偶尔、经常、每天</view>
</view>
<view class="disease_info">
详细描述:如经常染发、接触油漆或者甲醛等
<view class="disease_box_item" >
<view class="title">用法:</view>
<view class="conent">{{case_detail.order_prescription.doctor_advice}}</view>
</view>
</view>
</view>
</view>
</view>

View File

@ -1,10 +1,12 @@
.container{
width: 100vw;
page{
background-color: #F6F6F6;
}
.container{
/* width: 100vw; */
padding: 0 4vw;
}
.main_title{
font-size: 30rpx;
font-size: 16px;
color: #000000;
margin: 30rpx 0;
}
@ -28,26 +30,38 @@
color: #666666;
}
.info{
background: #FAFAFA;
border-radius: 10rpx;
display: flex;
flex-wrap: wrap;
margin: 20rpx 0;
margin: 20rpx 0 0;
padding:10rpx 20rpx 20rpx;
}
.info_item{
text-align: center;
width: 180rpx;
height: 60rpx;
text-align: left;
width: 33.3%;
margin-right: -1rpx;
/* height: 60rpx; */
margin-top: 10rpx;
display: flex;
align-items: center;
margin-left: 20rpx;
align-items: flex-start;
}
.info_item:nth-child(3n){
margin-right: 0rpx;
}
.info_title{
font-size: 30rpx;
font-size: 28rpx;
color: #333333;
}
.info_val{
font-size: 28rpx;
flex: 1;
color: #666666;
}
.disease_box{
@ -57,6 +71,12 @@
margin-bottom: 30rpx;
display: flex;
}
.data_box .disease_box_item:first-child{
margin-top: 20rpx;
}
.orther .disease_box_item:first-child{
margin-top: 0rpx;
}
.title{
font-size: 30rpx;
color: #333333;
@ -65,6 +85,8 @@
flex: 1;
font-size: 28rpx;
color: #666666;
word-wrap:break-word;
word-break:break-all;
}
.disease_info{
background: #FAFAFA;
@ -75,9 +97,38 @@
margin-bottom: 20rpx;
}
.img_box{
display: flex;
flex-wrap: wrap;
}
.van-uploader__wrapper{
display: flex !important;
}
.van-uploader__preview{
padding: 20rpx 15rpx !important;
background-color: #E4E4E4 !important;
border-radius: 15rpx;
width: 150rpx;
display: flex;
justify-content: center;
}
.orther{
margin-bottom: 50rpx;
}
.sugar{
display: flex;
align-items: center;
justify-content:space-between ;
}
.sugar .name{
color:#333;
font-size: 30rpx;
}
.sugar .date{
margin-top: 12rpx;
font-size: 24rpx;
font-weight: 400;
color: rgba(0,0,0,0.45);
}

View File

@ -1,4 +1,5 @@
import { API } from './../../../utils/network/api'
import { requestSubscribeMessage } from './../../../utils/requestSubscribeUtil';
const api = new API()
const app = getApp()
@ -10,31 +11,123 @@ Page({
},
height: app.globalData.height,
bank_card_id: "",
bank_icon_path: "https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/bankcard/js_icon.png",
realname: "默认姓名",
bank_name : "招商银行",
bank_card_code_mask: "2233 9988 9989 9900",
withdrawal_amount: "987",
income_tax: "12"
static_host: api.getStaticHost(),
bank_icon_path: api.getStaticHost()+"/applet/doctor/static/images/yishi/bankcard/js_icon.png",
bank_card_name: "默认姓名",
bank_name : "xx银行",
bank_card_code_mask: "888 xxxx xxxx 888",
withdrawal_amount: "xxxx",
amount_total:'',
income_tax: "xx",
contactKeFu: false,
sub_visible: false,
skeleton_loading: true,
order_inquiry_ids: [],
sub_btn_disabled: false
},
onLoad(options){
//获取提现数据
api.getDoctorWithdrawal().then(response => {
console.log(response);
if(response.data.bank_card_id){
onLoad(option){
let order_inquiry_ids = option.order_inquiry_ids;
let params = {};
if(order_inquiry_ids){
params.order_inquiry_ids = order_inquiry_ids;
this.setData({
"navbarData.back_url": "/Pages/yishi/my/index",
"navbarData.back_url_type": 1,
})
}
this.postDoctorWithdrawalInfo(params);
},
onShow(){
this.setData({
sub_btn_disabled: false
})
},
go(e){
let url = e.currentTarget.dataset.url;
app.go(url);
},
contactKeFu(e){
console.log("concatKeFu");
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({
bank_card_id: response.data.bank_card_id,
bank_icon_path: response.data.bank_icon_path,
bank_name : response.data.bank_name,
bank_card_code_mask: response.data.bank_card_code_mask,
sub_visible: true,
})
}
})
},
subcancelDialog(){
this.setData({
sub_visible: false
})
},
subconfirmDialog(){
this.setData({
sub_visible: false
})
wx.openSetting({
success (res) {
console.log(res.authSetting)
}
})
},
postDoctorWithdrawalInfo(params){
//获取提现数据
api.postDoctorWithdrawalInfo(params).then(response => {
console.log(response);
if(response.data.bank.bank_card_id){
this.setData({
bank_card_id: response.data.bank.bank_card_id,
bank_icon_path: response.data.bank.bank_icon_path,
bank_name : response.data.bank.bank_name,
bank_card_code_mask: response.data.bank.bank_card_code_mask,
withdrawal_amount: response.data.withdrawal_amount,
amount_total:response.data.amount_total,
order_inquiry_ids: response.data.order_inquiry_ids,
bank_card_name: response.data.bank.bank_card_name_mask,
income_tax: response.data.income_tax,
skeleton_loading: false
})
}
}).catch(errors => {
console.error(errors);
})
},
postDoctorWithdrawal(){
this.setData({
sub_btn_disabled: true
})
let params = {};
params.order_inquiry_id = this.data.order_inquiry_ids.join(",");
params.withdrawal_amount_total = this.data.withdrawal_amount;
params.bank_card_id = this.data.bank_card_id;
//获取提现数据
api.postDoctorWithdrawal(params).then(response => {
console.log(response);
this.setData({
withdrawal_amount: 0,
income_tax: 0
})
wx.showToast({
title: '提现申请成功',
icon: "success"
})
}).catch(errors => {
console.error(errors);
this.setData({
sub_btn_disabled: false
})
})
}
})

View File

@ -2,7 +2,11 @@
"component": true,
"usingComponents": {
"te-nav-bar": "/commpents/te_navbar",
"t-image": "tdesign-miniprogram/image/image",
"van-button": "@vant/weapp/button/index"
"van-image": "@vant/weapp/image/index",
"van-icon": "@vant/weapp/icon/index",
"van-button": "@vant/weapp/button/index",
"van-dialog": "@vant/weapp/dialog/index",
"t-skeleton": "tdesign-miniprogram/skeleton/skeleton",
"t-dialog": "tdesign-miniprogram/dialog/dialog"
}
}

View File

@ -1,58 +1,102 @@
<!-- 提现页面 -->
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
<view class="container">
<view class="top">
<view class="txt_title">结算银行卡</view>
<view class="rule">提现规则</view>
<view class="rule" bindtap="go" data-url="/Pages/agreement_page/index?agreement_id=12">提现规则<van-icon name="warning-o" color="#FF9800" /></view>
</view>
<view class="bankcard">
<view class="bankcard" wx:if="{{!skeleton_loading}}">
<view class="bankcard_icon">
<t-image custom-style="" src="{{bank_icon_path}}" mode="heightFix" height="50rpx" aria-label="role" />
<van-image custom-style="" src="{{bank_icon_path}}" fit="heightFix" height="50rpx" aria-label="role" />
</view>
<view class="bankcard_info">
<view class="bankcard_info_top">{{realname}}<text style="margin-left: 20rpx; font-size: 28rpx;color: #999999;">{{bank_name}}</text></view>
<view class="bankcard_info_top">{{bank_card_name}}<text style="margin-left: 20rpx; font-size: 28rpx;color: #999999;">{{bank_name}}</text></view>
<view class="bankcard_info_bottom">{{bank_card_code_mask}}</view>
</view>
</view>
<view class="bankcard_loading" wx:if="{{skeleton_loading}}">
<t-skeleton theme="text" row-col="{{[{width: '30%'},{width: '80%'}]}}" animation="gradient" loading="{{skeleton_loading}}" />
</view>
<view class="cash">
<view class="cash" wx:if="{{!skeleton_loading}}">
<view class="cash_top">
<view class="cash_left">
<view class="cash_left_title">提现金额(元)</view>
<!-- <view class="cash_left_title">实际到账(元)</view> -->
<view class="cash_num">
<view>
<text style="font-size: 42rpx;">¥</text>{{withdrawal_amount}}
<text style="font-size: 34rpx;">账户余额:¥</text>{{amount_total}}
</view>
</view>
<view class="shui">扣除个人所得税: <text style="color: red;">{{income_tax}}元</text> </view>
<view class="shui">扣除个人所得税:
<text style="color: red;">{{income_tax}}元</text>
</view>
</view>
<view class="cash_right">
<navigator url="/Pages/yishi/wenzhenorder/index" open-type="navigate" hover-class="other-navigator-hover">
<!-- <view class="cash_right">
<navigator url="/Pages/yishi/wenzhenorderV2/index" open-type="navigate" hover-class="other-navigator-hover">
<van-button custom-style="text-align: center;border-radius: 10rpx;padding: 20rpx 50rpx;" color="linear-gradient(310deg, #FF931A 0%, #FF931A 0%, #FCB75D 100%);">
查看订单
</van-button>
</navigator>
</view>
</view> -->
</view>
<view class="cash_bottom">
<navigator url="/Pages/yishi/cashrecord/index" open-type="navigate" hover-class="other-navigator-hover">
提现记录 >
</navigator>
<view class="title">
实际到账(元)
</view>
<view class="moneybox">
<view class="money"><text class="mark">¥</text><text class="moneyNum">{{withdrawal_amount}}</text></view>
<navigator url="/Pages/yishi/wenzhenorderV2/index" open-type="navigate" hover-class="other-navigator-hover">
<van-button custom-style="text-align: center;border-radius: 10rpx;height:70rpx;width:200rpx;" color="linear-gradient(310deg, #FF931A 0%, #FF931A 0%, #FCB75D 100%);">
查看订单
</van-button>
</navigator>
</view>
</view>
</view>
<view class="tixian">
<navigator url="/Pages/yishi/cashrecord/index" open-type="navigate" hover-class="other-navigator-hover">
提现记录 <van-icon name="arrow" />
</navigator>
</view>
<view class="cash_loading" wx:if="{{skeleton_loading}}">
<t-skeleton theme="text" row-col="{{[{width: '30%'},{width: '80%'},{width: '50%'},{width: '30%'}]}}" animation="gradient" loading="{{skeleton_loading}}" />
</view>
<view class="note">
<!-- <view class="note">
<text>
说明1、每月只可提取一次提现金额大于300元才可提现限额1万元
2、平台会在24小时内自动结算至您绑定的银行卡内请注意查收银行信息
3、平台代扣个人所得税根据公式
</text>
</view>
</view> -->
<view class="bottom">
<van-button custom-style="border-radius: 10rpx;" block color="#3CC7C0">提取</van-button>
<view class="kefu">
<van-button bind:click="postDoctorWithdrawal" disabled="{{order_inquiry_ids.length == 0 || sub_btn_disabled || withdrawal_amount == 0}}" custom-style="border-radius: 10rpx;font-size: 30rpx;" block color="#3CC7C0">提取</van-button>
<view class="kefu" bindtap="contactKeFu">
<text>联系客服</text>
</view>
</view>
<van-dialog
title="立即联系客服"
show="{{ contactKeFu }}"
show-cancel-button
confirm-button-color="#3CC7C0"
confirm-button-open-type="contact"
/>
<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>

View File

@ -1,12 +1,14 @@
.container{
page{
background-color: #F4F4F4;
}
.container{
margin-top: 20rpx;
width: 100vw;
height: 100vh;
}
.top{
display: flex;
width: 92vw;
margin: 30rpx auto;
margin: 0 auto 20rpx auto;
justify-content: space-between;
}
.txt_title{
@ -16,6 +18,13 @@
font-size: 30rpx;
color: #333333;
}
.bankcard_loading{
width: calc(92vw - 40rpx);
margin: 0 auto;
background-color: #fff;
border-radius: 20rpx;
padding: 20rpx 20rpx;
}
.bankcard{
width: 92vw;
margin: 0 auto;
@ -46,9 +55,18 @@
color: #333333;
margin-top: 10rpx;
}
.cash_loading{
padding: 20rpx 20rpx;
width: calc(92vw - 40rpx);
margin: 20rpx auto;
background-color: #fff;
border-radius: 20rpx;
display: flex;
flex-direction: column;
}
.cash{
width: 92vw;
height: 300rpx;
margin: 20rpx auto;
background-color: #fff;
border-radius: 20rpx;
@ -56,19 +74,26 @@
flex-direction: column;
}
.cash_top{
margin-top:30rpx;
display: flex;
flex: 3;
}
.cash_bottom{
padding:20rpx 20rpx 30rpx;
border-top: 1px solid #E5E5E5;
flex: 1;
color: #3CC7C0;
font-size: 32rpx;
display: flex;
align-items: center;
justify-content: flex-end;
flex-direction: column;
padding-right: 20rpx;
}
.cash_bottom .title{
margin-top: 10rpx;
font-size: 30rpx;
color: #000000;
}
.cash_left{
flex: 3;
display: flex;
@ -85,10 +110,12 @@
flex: 2;
display: flex;
align-items: center;
font-size: 64rpx;
font-size: 34rpx;
}
.shui{
flex: 1;
margin-top: 20rpx;
margin-bottom: 30rpx;
display: flex;
align-items: center;
font-size: 28rpx;
@ -120,5 +147,46 @@
color: #3CC7C0;
margin: 30rpx;
}
.dialog{
width: 50%;
text-align: center;
height: 100rpx;
line-height: 100rpx;
}
.dialog_cancel_btn{
border-top: 1px solid #E9E9E9;
border-right: 1px solid #E9E9E9;
}
.dialog_confirm_btn{
border-top: 1px solid #E9E9E9;
color: #3CC7C0;
}
.moneybox{
display: flex;
}
.moneybox{
display: flex;
margin-top: 20rpx;
align-items: center;
justify-content: space-between;
}
.money .mark{
font-size: 42rpx;
font-weight: 400;
color: #333333;
}
.moneyNum{
font-size: 64rpx;
font-family: ArialMT;
color: #333333;
}
.tixian{
display: flex;
margin:0 30rpx;
color: #3CC7C0;
font-size: 32rpx;
align-items: center;
justify-content: flex-end;
}

View File

@ -13,11 +13,35 @@ Page({
current_page: 0,
total: 0,
per_page: 0,
last_page: 0
last_page: 0,
dateVisible: false,
select_date: '',
years: [],
static_host: api.getStaticHost()
},
onLoad(){
let now_year = (new Date()).Format("yyyy");
let begin_year = 2023;
let years = [];
for(let i=begin_year;i<=now_year;i++){
years.push({label: i+"年", value: i+""})
}
this.setData({
years: years,
select_date: now_year+""
})
},
onShow(){
let year = this.data.select_date;
year = Number(year);
this.getDoctorWithdrawalRecord(year);
},
getDoctorWithdrawalRecord(year){
this.setData({
record_list: []
})
//获取提现数据
api.getDoctorWithdrawalRecord({year:'2023'}).then(response => {
api.getDoctorWithdrawalRecord({year: year}).then(response => {
console.log(response);
if(response.data.total > 0){
this.setData({
@ -28,8 +52,30 @@ Page({
last_page: response.data.last_page,
})
}
}).catch(errors => {
console.error(errors);
}).catch(errors => { console.error(errors); })
},
onDatePicker() {
this.setData({ dateVisible: true });
},
onPickerChange(e) {
const { key } = e.currentTarget.dataset;
const { value } = e.detail;
console.log('picker change:', e.detail);
this.setData({
select_date: value
})
let year = this.data.select_date;
year = Number(year);
this.getDoctorWithdrawalRecord(year);
},
onColumnChange(e) {
const { key } = e.currentTarget.dataset;
const { value } = e.detail;
console.log('Column change:', e.detail);
},
onPickerCancel(e) {
const { key } = e.currentTarget.dataset;
const { value } = e.detail;
console.log('picker Cancel:', e.detail);
}
})

View File

@ -3,6 +3,9 @@
"usingComponents": {
"te-nav-bar": "/commpents/te_navbar",
"van-icon": "@vant/weapp/icon/index",
"t-image": "tdesign-miniprogram/image/image"
"van-empty": "@vant/weapp/empty/index",
"van-image": "@vant/weapp/image/index",
"t-picker": "tdesign-miniprogram/picker/picker",
"t-picker-item": "tdesign-miniprogram/picker-item/picker-item"
}
}

View File

@ -1,71 +1,55 @@
<!-- 提现记录 -->
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
<wxs src="../../../filters/filter.wxs" module="moduleFilter"></wxs>
<view class="container">
<view class="top">
<view class="top_txt">
<view class="month">2022年<van-icon name="arrow-down" color="#fff" size="40rpx" /></view>
<view class="top_txt" bindtap="onDatePicker">
<view class="month">{{select_date}}年<van-icon name="arrow-down" color="#fff" size="40rpx" /></view>
</view>
</view>
<view class="data_list">
<view class="data_item" wx:for="{{record_list}}">
<view class="data_item_top">
<view class="data_item_top_icon">
<t-image custom-style="" src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/bankcard/js_icon.png" mode="heightFix" height="50rpx" aria-label="role" />
</view>
<view class="data_item_top_content">
<view class="name">{{item.account_name}}<text style="margin-left:20rpx;font-size: 28rpx;corlor:#999;">(尾号{{item.bank_card_code_four}}</text></view>
<view class="date">{{item.examine_time}}</view>
<view class="namebox">
<view class="data_item_top_icon">
<van-image custom-style="" src="{{static_host}}/applet/doctor/static/images/yishi/bankcard/js_icon.png" fit="heightFix" height="50rpx" aria-label="role" />
</view>
<view class="name">{{item.account_name}}<text style="margin-left:20rpx;font-size: 28rpx;color:#999;">(尾号{{item.bank_card_code_four}}</text></view>
</view>
<view class="status_box">
<!-- 审核状态1:审核中 2:审核通过 3:审核未通过) -->
<view class="status {{item.examine_status==1?'paying':item.examine_status==2?'paysuccess':item.examine_status==3?'payfail':''}}">{{item.examine_status==1?'结算中':item.examine_status==2?'结算成功':item.examine_status==3?'结算失败':'未知'}}</view>
</view>
</view>
<view class="data_item_top_num">
<view class="jine">¥{{item.applied_withdrawal_amount}}</view>
<view class="status_box">
<!-- 审核状态1:审核中 2:审核通过 3:审核未通过) -->
<view class="status status_ing">{{item.examine_status}}</view>
</view>
<view class="date">{{moduleFilter.transforDay(item.created_at,"noyear")}}</view>
<view class="jine"><text class="jinename">实际到账金额:</text>¥{{item.actual_withdrawal_amount}}</view>
</view>
</view>
<view class="data_item_bottom">个人所得税:¥{{item.income_tax}}</view>
</view>
<view class="data_item">
<view class="data_item_top">
<view class="data_item_top_icon">
<t-image custom-style="" src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/bankcard/js_icon.png" mode="heightFix" height="50rpx" aria-label="role" />
</view>
<view class="data_item_top_content">
<view class="name">张三三<text style="margin-left:20rpx;font-size: 28rpx;corlor:#999;">尾号9900</text></view>
<view class="date">12.09 13:23</view>
</view>
<view class="data_item_top_num">
<view class="jine">¥123.00</view>
<view class="status_box">
<view class="status status_end">结算成功</view>
</view>
</view>
</view>
<view class="data_item_bottom">个人所得税¥12.00</view>
</view>
<view class="data_item">
<view class="data_item_top">
<view class="data_item_top_icon">
<t-image custom-style="" src="/static/images/yishi/bankcard/js_icon.png" mode="heightFix" height="50rpx" aria-label="role" />
</view>
<view class="data_item_top_content">
<view class="name">张三三<text style="margin-left:20rpx;font-size: 28rpx;corlor:#999;">尾号9900</text></view>
<view class="date">12.09 13:23</view>
</view>
<view class="data_item_top_num">
<view class="jine">¥123.00</view>
<view class="status_box">
<view class="status status_ing">结算中</view>
</view>
</view>
</view>
<view class="data_item_bottom">个人所得税¥12.00</view>
</view>
<van-empty description="暂无数据" wx:if="{{record_list.length == 0}}" />
</view>
<t-picker
visible="{{dateVisible}}"
value="{{[select_date]}}"
data-key="date"
title="选择年份"
cancelBtn="取消"
confirmBtn="确认"
bindchange="onPickerChange"
bindpick="onColumnChange"
bindcancel="onPickerCancel"
>
<t-picker-item options="{{years}}" />
</t-picker>
</view>

View File

@ -1,11 +1,12 @@
.container{
page{
background-color: #F4F4F4;
}
.container{
width: 100vw;
height: 100vh;
}
.top{
width: 92vw;
margin: 50rpx auto 0 auto;
margin: 20rpx auto 0 auto;
background-color: #3CC7C0;
height: 150rpx;
border-radius: 20rpx;
@ -24,46 +25,57 @@
.data_item{
display: flex;
flex-direction: column;
margin-bottom: 50rpx;
height: 200rpx;
margin-bottom: 20rpx;
background-color: #ffffff;
border-radius: 20rpx;
padding: 20rpx 0 0 0;
padding: 30rpx 0 0 0;
}
.data_item_top{
flex: 2;
display: flex;
margin:0 30rpx;
border-bottom: 1px solid #E7E7E7;
}
.data_item_top_icon{
flex: 1;
text-align: center;
height: 70%;
align-self: start;
}
.data_item_top_content{
flex: 3;
justify-content: space-between;
display: flex;
flex-direction: column;
}
.name{
margin-left: 10rpx;
font-size: 32rpx;
color: #333333;
flex: 1;
}
.date{
flex: 1;
font-size: 28rpx;
display: flex;
margin-left: 28rpx;
color: #999999;
white-space: nowrap;
}
.data_item_top_num{
flex: 2;
display: flex;
flex-direction: column;
justify-content: space-between;
display: flex;
align-items: center;
margin:0 30rpx 25rpx;
text-align: center;
}
.jinename{
font-size: 30rpx;
font-weight: 400;
color: #666666;
}
.namebox{
display: flex;
}
.jine{
display: flex;
align-items: center;
color: #FF0000;
font-size: 34rpx;
}
@ -72,24 +84,39 @@
justify-content: center;
}
.status{
border-radius: 10px;
font-size: 24rpx;
padding: 10rpx 40rpx;
width: 125rpx;
height: 50rpx;
background: #FFF2E8;
border-radius: 10rpx;
margin-bottom: 20rpx;
font-size: 24rpx;
font-weight: 400;
display: flex;
align-items: center;
justify-content: center;
color: #FFFFFF;
}
.status_ing{
background-color: #FFF2E8;
.status.paying{
background: #FFF2E8;
color: #FA541C;
}
.status_end{
.status.paysuccess{
background: #E2FFFE;
color: #3CC7C0;
}
.status.payfail{
background-color: #C5C5C5;
color: #FFFFFF;
}
.data_item_bottom{
flex: 1;
padding:20rpx 30rpx 26rpx;
display: flex;
align-items: center;
justify-content: flex-end;
margin-right: 20rpx;
color: #666;
font-size: 28rpx;
}
.t-picker__confirm{
color: #3CC7C0 !important;
}

View File

@ -1,63 +1,64 @@
// index.js
import TIM from '../../../TUIKit/lib/tim-wx-sdk';
import { genTestUserSig } from '../../../TUIKit/debug/GenerateTestUserSig';
import TIMUploadPlugin from '../../../TUIKit/lib/tim-upload-plugin';
import { API } from './../../../utils/network/api'
const api = new API()
const app = getApp()
Page({
data: {
config: {
userID: "xiaobeibei", //User ID
SDKAPPID: 1400793692, // Your SDKAppID
SECRETKEY: "44d97cf741fc758be98cdad100015582b6ad1dc5a3b6676c1997a57279eecfa9", // Your secretKey
EXPIRETIME: 604800,
},
patient_account: "ayu",
title: '患者姓名',
height: app.globalData.height,
title: '',
height: app.globalData.height,
order_inquiry_id: "",
from:'',
baseInfo: {}
},
onLoad() {
console.log("chat onload");
let sign = genTestUserSig(this.data.config);
console.log("sign: ", sign);
const userSig = sign.userSig;
console.log("userSig: ", userSig);
wx.$TUIKit = TIM.create({
SDKAppID: this.data.config.SDKAPPID
});
wx.$chat_SDKAppID = this.data.config.SDKAPPID;
wx.$chat_userID = this.data.config.userID;
wx.$chat_userSig = userSig;
wx.$TUIKitTIM = TIM;
wx.$TUIKit.registerPlugin({ 'tim-upload-plugin': TIMUploadPlugin });
wx.$TUIKit.login({
userID: this.data.config.userID,
userSig
});
wx.$TUIKit.setLogLevel(3);//设置日志级别
wx.setStorage({
key: 'currentUserID',
data: [],
});
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.SDK_READY, this.onSDKReady,this);
onLoad(option) {
// console.log("chat onload", option);
let order_inquiry_id = option.order_inquiry_id;
let from=option.from;
this.setData({
order_inquiry_id: order_inquiry_id,
from:from?from:''
})
this.getInquiryMessageBasic();
},
onUnload() {
console.log("chat onUnload");
wx.$TUIKit.off(wx.$TUIKitTIM.EVENT.SDK_READY, this.onSDKReady,this);
// console.log("chat onUnload");
},
onShow(){
// console.log("chat onShow");
// console.log("app.globalData.scene from chat: ", app.globalData.scene);
},
$onMessageReceived(value) {
const message = value.data[0];
// console.log("message from chat: ",message)
},
initChat(){
let _this = this;
let count = 0;
let interval = setInterval(() => {
// console.log("chat init count: ", count);
// console.log("app.globalData.chat_sdk_ready: ", app.globalData.chat_sdk_ready);
if(app.globalData.chat_sdk_ready){
_this.onSDKReady();
const TUIChat = _this.selectComponent('#TUIChat');
TUIChat.init();
// wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.MESSAGE_RECEIVED, _this.$onMessageReceived, _this);
clearInterval(interval);
}
}, 100);
count = count + 1;
if(count > 5){//如果尝试5次不成功就去主动调用IM初始化
app.imInit();
count = 0;
}
}, 1000);
},
//获取问诊订单消息内页基础数据
getInquiryMessageBasic() {
// console.log("order_inquiry_id: ", this.data.order_inquiry_id);
api.getInquiryMessageBasic({order_inquiry_id: this.data.order_inquiry_id}).then(response => {
// console.log(response);
this.setData({
baseInfo: response.data
})
}).then(res => {
this.initChat();
}).catch(errors => {console.error(errors);})
},
onSDKReady() {
console.error("chat js: onSDKReady")
const TUIChat = this.selectComponent('#TUIChat');
TUIChat.init();
app.globalData.chat_sdk_ready = true
}
})

View File

@ -2,5 +2,6 @@
"usingComponents": {
"TUIChat": "../../../TUIKit/components/TUIChat/index"
},
"navigationStyle": "custom"
"navigationStyle": "custom",
"disableScroll":true
}

View File

@ -1,7 +1,5 @@
<!-- 一对一聊天 -->
<!-- 一对一聊天 不带会话列表 -->
<view>
<TUIChat id="TUIChat" currentConversationID="C2C{{patient_account}}"
unreadCount="9" hasCallKit="{{ true }}" bind:handleCall="handleCall"
></TUIChat>
</view>
<TUIChat id="TUIChat" currentConversationID="C2C{{baseInfo.patient_user_id}}" inquiry_type="{{baseInfo.inquiry_type}}" order_inquiry_id="{{order_inquiry_id}}" baseInfo="{{baseInfo}}"
hasCallKit="{{ true }}" from="{{from}}" bind:handleCall="handleCall"></TUIChat>
</view>

View File

@ -2,7 +2,4 @@
background-color: #F4F4F4;
width: 100vw;
height: 100vh;
}
.top{
}

View File

@ -1,50 +1,24 @@
// index.js
import TIM from '../../../TUIKit/lib/tim-wx-sdk';
import { genTestUserSig } from '../../../TUIKit/debug/GenerateTestUserSig';
import TIMUploadPlugin from '../../../TUIKit/lib/tim-upload-plugin';
const app = getApp()
Page({
data: {
config: {
userID: "xiaobeibei", //User ID
SDKAPPID: 1400793692, // Your SDKAppID
SECRETKEY: "44d97cf741fc758be98cdad100015582b6ad1dc5a3b6676c1997a57279eecfa9", // Your secretKey
EXPIRETIME: 604800,
},
title: '患者姓名',
height: app.globalData.height,
},
onLoad() {
let sign = genTestUserSig(this.data.config);
console.log("sign: ", sign);
const userSig = sign.userSig;
console.log("userSig: ", userSig);
wx.$TUIKit = TIM.create({
SDKAppID: this.data.config.SDKAPPID
});
wx.$chat_SDKAppID = this.data.config.SDKAPPID;
wx.$chat_userID = this.data.config.userID;
wx.$chat_userSig = userSig;
wx.$TUIKitTIM = TIM;
wx.$TUIKit.registerPlugin({ 'tim-upload-plugin': TIMUploadPlugin });
wx.$TUIKit.login({
userID: this.data.config.userID,
userSig
});
wx.$TUIKit.setLogLevel(3);//设置日志级别
wx.setStorage({
key: 'currentUserID',
data: [],
});
wx.$TUIKit.on(wx.$TUIKitTIM.EVENT.SDK_READY, this.onSDKReady,this);
console.log("onLoad chat_session")
},
onUnload() {
wx.$TUIKit.off(wx.$TUIKitTIM.EVENT.SDK_READY, this.onSDKReady,this);
},
onSDKReady() {
console.warn("chat js: onSDKReady")
const TUIKit = this.selectComponent('#TUIKit');
TUIKit.init();
onShow(){
let _this = this;
let interval = setInterval(() => {
if(app.globalData.chat_sdk_ready){
const TUIKit = _this.selectComponent('#TUIKit');
TUIKit.init();
clearInterval(interval);
}
}, 100);
}
})

View File

@ -1,5 +1,4 @@
import { API } from './../../../utils/network/api'
const api = new API()
const app = getApp()
Page({
@ -15,6 +14,7 @@ Page({
},
prescription_status: 0,
chufang_list_0: [],
chufang_list_1: [],
chufang_list_2: [],
current_page: 0,
total: 0,
@ -22,13 +22,23 @@ Page({
last_page: 0,
},
onLoad(options){
console.log(options.status)
if(options.status){
this.setData({
pharmacist_audit_status:options.status,
prescription_status:options.status
})
}
},
onShow(){
this.getList();
},
onTabsChange(e) {
console.log(e);
// console.log(e);
let list_name = "chufang_list_" + e.detail.value;
console.log(list_name)
//console.log(list_name)
this.setData({
prescription_status: e.detail.value,
current_page: 0,
@ -61,13 +71,13 @@ Page({
getList(){
//获取处方列表
let params = {};
params.prescription_status = this.data.prescription_status;//处方审核状态0:审核中 2:审核驳回)
params.pharmacist_audit_status = this.data.prescription_status;//处方审核状态0:审核中 2:审核驳回)
params.page = this.data.current_page + 1;
api.getDoctorPrescription(params).then(response => {
console.log(response);
//console.log(response);
if(response.data.total > 0){
let list_name = "chufang_list_" + this.data.prescription_status;
console.log(list_name);
//console.log(list_name);
let apprise_list = this.data[list_name];
this.setData({
[list_name]: apprise_list.concat(response.data.data),
@ -78,5 +88,31 @@ Page({
})
}
}).catch(errors => {console.error(errors);})
},
go(e){
let url = e.currentTarget.dataset.url;
//console.log(url);
app.go(url);
},
handlegetLastInquiry(patient_id,doctor_id,order_inquiry_id){
api.getLastInquiry({
patient_id:patient_id,
doctor_id:doctor_id
}).then(data=>{
let result=data.data;
let url='';
if(result){
url = "/Pages/yishi/chat/index?order_inquiry_id="+result+"&from=prescription";
}else{
url = "/Pages/yishi/chat/index?order_inquiry_id="+order_inquiry_id+"&from=prescription";
}
app.go(url);
})
},
gochat(e){
let {order_inquiry_id,patient_id,doctor_id} = e.currentTarget.dataset;
this.handlegetLastInquiry(patient_id,doctor_id,order_inquiry_id);
}
})

View File

@ -3,6 +3,7 @@
"usingComponents": {
"te-nav-bar": "/commpents/te_navbar",
"t-tabs": "tdesign-miniprogram/tabs/tabs",
"t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel"
"t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel",
"van-empty": "@vant/weapp/empty/index"
}
}

View File

@ -1,23 +1,24 @@
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
<view class="container">
<view class="tabs">
<t-tabs
defaultValue="{{0}}"
sticky
stickyProps="{{ stickyProps }}"
value="{{prescription_status}}"
bind:change="onTabsChange"
bind:click="onTabsClick"
bind:scroll="onStickyScroll"
t-class="custom-tabs"
>
<t-tab-panel label="审核中" value="0" style="overflow: scroll;">
<t-tab-panel label="审核中" name ="0" value="0" style="overflow: scroll;">
<view class="item_list" style="overflow: scroll;">
<view class="item" wx:for="{{chufang_list_0}}">
<!-- 头部 -->
<view class="item_top">
<view class="namebox">
<view class="item_top_name">{{item.patient_name}}</view>
<view class="item_top_sex">{{item.patient_sex==1?'男':'女'}} | {{item.patient_age}}岁</view>
</view>
<view class="item_top_status_box">
<!-- 药师审核状态0:审核中 1:审核成功 2:审核驳回) -->
<view class="item_top_status">
@ -35,9 +36,9 @@
<view class="item_content_li_title">病情描述:</view>
<view class="item_content_li_txt">{{item.disease_desc}}</view>
</view>
<view class="item_content_li">
<view class="item_content_li" wx:if="{{item.diagnosis_date}}">
<view class="item_content_li_title">确诊日期:</view>
<view class="item_content_li_txt">{{item.diagnosis_date}}</view>
<view class="item_content_li_txt" >{{item.diagnosis_date}}</view>
</view>
<view class="item_content_li">
<view class="item_content_li_title">病情诊断:</view>
@ -47,26 +48,28 @@
</view>
</view>
<!-- 底部按钮 -->
<view class="item_bottom">
<view class="item_bottom_btn">问诊记录</view>
<view class="item_bottom" bindtap="gochat" data-order_inquiry_id="{{item.order_inquiry_id}}" data-doctor_id="{{item.doctor_id}}" data-patient_id="{{item.patient_id}}">
<view class="item_bottom_btn" >问诊记录</view>
</view>
</view>
<van-empty description="暂无数据" wx:if="{{chufang_list_0.length == 0}}" />
</view>
</t-tab-panel>
<!-- 驳回面板 -->
<t-tab-panel label="驳回" value="2" >
<view class="item_list">
<view class="item" wx:for="{{chufang_list_2}}">
<!-- 审核通过面板 -->
<t-tab-panel label="审核通过" value="1" name ="1" style="overflow: scroll;">
<view class="item_list" style="overflow: scroll;">
<view class="item" wx:for="{{chufang_list_1}}">
<!-- 头部 -->
<view class="item_top">
<view class="namebox">
<view class="item_top_name">{{item.patient_name}}</view>
<view class="item_top_sex">{{item.patient_sex==1?'男':'女'}} | {{item.patient_age}}岁</view>
</view>
<view class="item_top_status_box">
<!-- 药师审核状态0:审核中 1:审核成功 2:审核驳回) -->
<view class="item_top_status item_top_status_no">
<view class="item_top_status">
{{item.pharmacist_audit_status==0?'审核中':item.pharmacist_audit_status==1?'审核成功':'审核驳回'}}
</view>
</view>
@ -81,7 +84,55 @@
<view class="item_content_li_title">病情描述:</view>
<view class="item_content_li_txt">{{item.disease_desc}}</view>
</view>
<view class="item_content_li" wx:if="{{item.diagnosis_date}}">
<view class="item_content_li_title">确诊日期:</view>
<view class="item_content_li_txt">{{item.diagnosis_date}}</view>
</view>
<view class="item_content_li">
<view class="item_content_li_title">病情诊断:</view>
<view class="item_content_li_txt">
<text wx:for="{{item.order_prescription_icd}}" wx:for-item="icd">{{icd.icd_name}};</text>
</view>
</view>
</view>
<!-- 底部按钮 -->
<view class="item_bottom" bindtap="gochat" data-order_inquiry_id="{{item.order_inquiry_id}}" data-doctor_id="{{item.doctor_id}}" data-patient_id="{{item.patient_id}}">
<view class="item_bottom_btn">问诊记录</view>
</view>
</view>
<van-empty description="暂无数据" wx:if="{{chufang_list_1.length == 0}}" />
</view>
</t-tab-panel>
<!-- 驳回面板 -->
<t-tab-panel label="驳回" value="2" name ="2" style="overflow: scroll;">
<view class="item_list" style="overflow: scroll;">
<view class="item" wx:for="{{chufang_list_2}}">
<!-- 头部 -->
<view class="item_top">
<view class="namebox">
<view class="item_top_name">{{item.patient_name}}</view>
<view class="item_top_sex">{{item.patient_sex==1?'男':'女'}} | {{item.patient_age}}岁</view>
</view>
<view class="item_top_status_box">
<!-- 药师审核状态0:审核中 1:审核成功 2:审核驳回) -->
<view class="item_top_status item_top_status_no">
{{item.pharmacist_audit_status==0?'审核中':item.pharmacist_audit_status==1?'审核成功':'驳回'}}
</view>
</view>
</view>
<!-- 中间内容部分 -->
<view class="item_content">
<view class="item_content_li">
<view class="item_content_li_title">开方时间:</view>
<view class="item_content_li_txt">{{item.created_at}}</view>
</view>
<view class="item_content_li">
<view class="item_content_li_title">病情描述:</view>
<view class="item_content_li_txt">{{item.disease_desc}}</view>
</view>
<view class="item_content_li" wx:if="{{item.diagnosis_date}}">
<view class="item_content_li_title">确诊日期:</view>
<view class="item_content_li_txt">{{item.diagnosis_date}}</view>
</view>
@ -91,63 +142,20 @@
</view>
<view class="item_content_li">
<view class="item_content_li_title">驳回原因:</view>
<view class="item_content_li_txt">{{item.platform_fail_reason}}</view>
<view class="item_content_li_txt">{{item.pharmacist_fail_reason}}</view>
</view>
</view>
<!-- 底部按钮 -->
<view class="item_bottom">
<view class="item_bottom_btn">问诊记录</view>
<view class="item_bottom_btn item_bottom_btn_repeat">
<navigator url="/Pages/yishi/onlinechufang/index" open-type="navigate" hover-class="other-navigator-hover">
<view class="item_bottom_btn" bindtap="gochat" data-order_inquiry_id="{{item.order_inquiry_id}}" data-doctor_id="{{item.doctor_id}}" data-patient_id="{{item.patient_id}}">问诊记录</view>
<view class="item_bottom_btn item_bottom_btn_repeat" bindtap="go" data-url="/Pages/yishi/onlinechufang/index?order_inquiry_id={{item.order_inquiry_id}}&order_prescription_id={{item.order_prescription_id}}">
重开处方
</navigator>
</view>
</view>
</view>
<view class="item">
<!-- 头部 -->
<view class="item_top">
<view class="item_top_name">张三三4</view>
<view class="item_top_sex">男 | 30岁</view>
<view class="item_top_status_box">
<view class="item_top_status item_top_status_no">驳回</view>
</view>
</view>
<!-- 中间内容部分 -->
<view class="item_content">
<view class="item_content_li">
<view class="item_content_li_title">病情诊断:</view>
<view class="item_content_li_txt">4年</view>
</view>
<view class="item_content_li">
<view class="item_content_li_title">病情诊断:</view>
<view class="item_content_li_txt">头疼,腰疼、肩膀酸、等症状已经困</view>
</view>
<view class="item_content_li">
<view class="item_content_li_title">病情诊断:</view>
<view class="item_content_li_txt">新冠病毒</view>
</view>
<view class="item_content_li">
<view class="item_content_li_title">处方时间:</view>
<view class="item_content_li_txt">2022年12月23日 1245</view>
</view>
<view class="item_content_li">
<view class="item_content_li_title">驳回原因:</view>
<view class="item_content_li_txt">图片不清晰</view>
</view>
</view>
<!-- 底部按钮 -->
<view class="item_bottom">
<view class="item_bottom_btn">问诊记录</view>
<view class="item_bottom_btn item_bottom_btn_repeat">
<navigator url="/Pages/yishi/onlinechufang/index" open-type="navigate" hover-class="other-navigator-hover">
重开处方
</navigator>
</view>
</view>
</view>
</view>
<van-empty description="暂无数据" wx:if="{{chufang_list_2.length == 0}}" />
</t-tab-panel>
</t-tabs>
</view>

View File

@ -1,7 +1,8 @@
page{
background-color: #F6F6F6;
}
.container{
width: 100vw;
height: 100vh;
background-color: #F6F6F6;
}
.t-tabs__content{
background-color: #F6F6F6;
@ -22,10 +23,14 @@
background-color: #fff;
margin: 20rpx 0;
}
.namebox{
display: flex;
}
.item_top{
position: relative;
height: 100rpx;
display: flex;
justify-content:space-between;
align-items: center;
padding: 0 32rpx;
}
@ -41,17 +46,17 @@
transform: scaleY(0.5);
}
.item_top_name{
flex: 1;
color: #3CC7C0;
font-size: 34rpx;
}
.item_top_sex{
flex: 3;
margin-left: 30rpx;
font-size: 34rpx;
color: #666;
}
.item_top_status_box{
flex: 1;
}
.item_top_status{
padding: 10rpx;
@ -78,6 +83,7 @@
.item_content_li_txt{
margin-left: 10rpx;
flex: 1;
word-break: break-all;
color: #666666;
font-size: 28rpx;
}

View File

@ -1,5 +1,4 @@
// Pages/yishi/identity/index.js
import Toast from '@vant/weapp/toast/toast';
import { API } from './../../../utils/network/api'
import { FileUtil } from './../../../utils/fileutil'
@ -11,89 +10,64 @@ Page({
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
title: '医师身份认证', //导航栏 中间的标题
},
navHeight: 0,
stateHeight: 0,
height: app.globalData.height,
//选项卡
stickyProps: {
zIndex: 2,
zIndex: 9,
offsetTop: (app.globalData.height * 2)
},
realname:"",
idcard:"",
avatar: "https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/default_photo.png",
is_avatar: false,
city_show: false,
keshi_show: false,
yiyuan_show: false,
zhuanchang_show: false,
zhiye_show: false,
zige_show: false,
zhicheng_show: false,
zhicheng_img_show: false,
next_btn_txt: "下一步",
selected_tab: 0,
panel_2_disabled: true,
next_btn_disabled: false,
office_phone: "",
keshi_note: "请选择科室",
keshi_columns: [],
select_keshi_id: "",
select_keshi_index: "",
custom_keshi: "",
zhicheng_note: "请选择职称",
zhicheng_columns: [
{
text: "执业医师",
value: 1
},
{
text: "主治医师",
value: 2
},
{
text: "副主任医师",
value: 3
},
{
text: "主任医师",
value: 4
}
],
select_zhicheng_id: "",
select_zhicheng_index: "",
select_yiyuan_index: "",
yiyuan_columns: [],
zhuanchang_columns: [],
zhuanchang_selected_columns: [],
select_province_id: "",
select_city_id: "",
select_county_id: "",
city_note: "请选择城市",
yiyuan_note: "请选择医院",
select_yiyuan_id: "",
area_sub_titles: ["省份","市区","区县"],
areaList: [],
textarea_jianjie: "",
textarea_shanchang: "",
zhiye_file_list:[],
zige_file_list:[],
zhicheng_file_list:[],
doctorauthiden_data_ready: false,
basicdepartment_data_ready: false,
areaprovince_data_ready: false,
iden_auth_status: 0,
iden_auth_disabled: 0,
iden_auth_status_txt: "未认证",
next_btn_txt: "下一步",
realname: "",
idcard: "",
page_meta_show: false
},
onLoad(){
getMenuButtonBound() {
let stateHeight = 0; // 接收状态栏高度
const navHeight = wx.getMenuButtonBoundingClientRect().height; // 获取胶囊高度
let top = 0;
wx.getSystemInfo({
success(res) {
stateHeight = res.statusBarHeight;
},
});
top = wx.getMenuButtonBoundingClientRect().top - stateHeight; // 获取top值
console.log('navHeight', navHeight);
console.log('top', top);
this.setData({
// navHeight: navHeight + top * 2, // 导航栏高度
navHeight, // 导航栏高度
stateHeight: stateHeight + top, // 状态栏高度
});
this.setData({
"stickyProps.offsetTop": this.data.stateHeight + this.data.navHeight + 10
})
},
onLoad(options){
let selected_tab = options.selected_tab;
if(selected_tab){
this.setData({
selected_tab: selected_tab
})
}
let _this = this;
//获取实名认证信息
api.getDoctorAuthReal().then(response => {
console.log(response);
if(response.data){
this.setData({
realname:response.data.card_name,
idcard:response.data.card_num,
next_btn_txt: "已认证,不可修改",
next_btn_disabled: true,
});
if(response.data.length == 0){
return;
}
this.setData({
realname:response.data.card_name_mask,
idcard:response.data.card_num_mask,
next_btn_txt: "已认证,不可修改",
next_btn_disabled: true,
panel_2_disabled: false,
});
}).catch(errors => {
console.error(errors);
})
@ -293,7 +267,7 @@ Page({
},
onShow(){
console.log("onshow()....");
this.getMenuButtonBound();
},
doUploadFile(event) {
console.log("index douploadFIle: ", event);
@ -371,12 +345,14 @@ Page({
},
//新增实名认证信息
postDoctorAuthReal(){
const realname = this.data.realname.trim();
let _this = this;
let realname = this.data.realname.trim();
const idcard = this.data.idcard.trim();
console.log("realname: ",realname);
console.log("idcard: ", idcard);
realname = realname.replace(/•/g,"·");
var realname_reg= /^(([a-zA-Z+\.?\·?a-zA-Z+]{2,30}$)|([\u4e00-\u9fa5+\·?\u4e00-\u9fa5+]{2,30}$))/;
var idcard_reg=/^(^[1-9]\d{5}[1-9]\d{3}(((0[2])([0|1|2][0-8])|(([0-1][1|4|6|9])([0|1|2][0-9]|[3][0]))|(((0[1|3|5|7|8])|(1[0|2]))(([0|1|2]\d)|3[0-1]))))((\d{4})|\d{3}[Xx])$)$/;
@ -397,19 +373,35 @@ Page({
wx.showToast({title: '身份证输入有误', icon:'error'})
return false;
}
var params = {
card_name: realname,
card_num: idcard,
}
api.postDoctorAuthReal(params).then(response => {
console.log(response);
wx.showToast({
title: '认证成功',
icon: 'none',
duration: 2000
})
_this.setData({
panel_2_disabled: false,
selected_tab: 1,
next_btn_disabled: true,
next_btn_txt: '已认证,不可修改'
})
}).catch(errors => {
console.error(errors);
})
},
onTabsChange(event) {
console.log(`Change tab, tab-panel value is ${event.detail.value}.`);
this.setData({
selected_tab: event.detail.value
})
},
onTabsClick(event) {
console.log(`Click tab, tab-panel value is ${event.detail.value}.`);
@ -738,4 +730,16 @@ Page({
// }).catch(errors => {console.error(errors);})
// }
showPageMeta(){
console.log("showPageMeta from indenity");
this.setData({
page_meta_show: true
})
},
hidePageMeta(){
console.log("hidePageMeta from indenity");
this.setData({
page_meta_show: false
})
}
})

View File

@ -1,10 +1,13 @@
<!-- <nav-bar navbar-data='{{navbarData}}' style="margin-bottom: {{height*2 + 20}}px;"></nav-bar> -->
<!-- 设置滚动穿透 -->
<page-meta page-style="{{ page_meta_show ? 'overflow: hidden;' : '' }}" />
<te-nav-bar navbar-data='{{navbarData}}'></te-nav-bar>
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
<view class="container">
<view class="tabs">
<t-tabs
defaultValue="{{0}}"
sticky
defaultValue="{{ selected_tab }}"
value="{{selected_tab}}"
sticky="{{true}}"
stickyProps="{{stickyProps}}"
bind:change="onTabsChange"
bind:click="onTabsClick"
@ -12,41 +15,45 @@
t-class="custom-tabs"
theme="line"
custom-style="font-size: 32rpx"
swipeable="{{false}}"
>
<!-- 实名认证tab -->
<t-tab-panel label="实名认证" value="0" style="{{tabPanelstyle}}">
<t-tab-panel label="实名认证" value="0" style="{{tabPanelstyle}}" catchtouchmove='true'>
<van-cell-group>
<van-field
model:value="{{ realname }}"
label="真实姓名"
type="text"
model:value="{{ realname }}"
placeholder="请填写真实姓名,提交后不能修改"
placeholder-style="font-size:28rpx; color: #C5C8CB;"
input-align="right"
required
clearable
custom-style="font-size:30rpx;"
/>
type="text"
size="large"
custom-style="font-size:16px;"
disabled="{{next_btn_disabled}}"
>
<text slot="label">真实姓名 <text style="color: #e34d59;">*</text> </text>
</van-field>
<van-field
model:value="{{ idcard }}"
type="idcard"
label="身份证号"
placeholder="请填写身份证号"
placeholder-style="font-size:28rpx; color: #C5C8CB;"
input-align="right"
required
clearable
custom-style="font-size:30rpx;"
border="{{ false }}"
/>
size="large"
custom-style="font-size:16px;"
disabled="{{next_btn_disabled}}"
>
<text slot="label">身份证号 <text style="color: #e34d59;">*</text> </text>
</van-field>
</van-cell-group>
<!-- <t-cell title="真实姓名" hover required arrow note="请填写真实姓名,提交后不能修改"/> -->
<!-- <t-cell title="身份证号" hover required arrow note="请填写身份证号"/> -->
<view class="bottom_note">
说明:因互联网医院实行实名制要求,需要您的身份信息,包括姓名,身份证号码。如您不能提供上述信息,将无法完成医师身份认证。
说明:因互联网医院诊疗实名制法规要求,为顺利完成医师身份认证,请您如实提供姓名及身份证等身份信息
</view>
<view class="bottom_next">
<van-button disabled="{{next_btn_disabled}}"
@ -57,11 +64,24 @@
</t-tab-panel>
<!-- 医师身份认证 -->
<t-tab-panel label="医师身份认证" value="1" style="{{tabPanelstyle}}">
<myprofile />
<t-tab-panel label="医师身份认证" value="1" disabled style="{{tabPanelstyle}}" wx:if="{{panel_2_disabled}}">
<myprofile wx:if="{{selected_tab == 1}}"
bind:showPageMeta="showPageMeta"
bind:hidePageMeta="hidePageMeta"
/>
<view style="height: 50rpx;"></view>
</t-tab-panel>
<t-tab-panel label="医师身份认证" value="1" style="{{tabPanelstyle}}" wx:if="{{!panel_2_disabled}}">
<myprofile wx:if="{{selected_tab == 1}}"
bind:showPageMeta="showPageMeta"
bind:hidePageMeta="hidePageMeta"
/>
<view style="height: 50rpx;"></view>
</t-tab-panel>
</t-tabs>
</view>
<van-toast id="van-toast" />
<!-- <van-toast id="van-toast" /> -->
</view>

View File

@ -1,27 +1,7 @@
.required{
color: #e34d59;
}
.photo{
position: relative;
padding: 32rpx;
display: flex;
justify-content: space-between;
font-size: 32rpx;
font-weight: 400;
align-items: center;
}
.photo::after {
position: absolute;
box-sizing: border-box;
content: ' ';
pointer-events: none;
right: 0;
left: 32rpx;
bottom: 0;
border-bottom: 1px solid var(--td-cell-border-color, var(--td-gray-color-3, #e7e7e7));
transform: scaleY(0.5);
left: 32rpx;
}
.title{
font-size: 30rpx;
color: #1C2023;
@ -81,14 +61,17 @@
color: #49B9AD !important;
}
.t-tabs__track{
background-color: var(--td-tab-track-color, var(--td-primary-color, #49B9AD)) !important;
background-color: #49B9AD !important;
}
.t-icon-check{
color: #49B9AD !important;
}
.t-cell__note {
font-size: 25rpx !important;
letter-spacing: 2rpx;
}
.t-cell__title-text{
font-size: 30rpx !important;
font-size: 16px !important;
}
.t-input__wrap--suffix-icon{
padding-left: var(--td-spacer-1, 8rpx) !important;
@ -105,34 +88,20 @@
}
.bottom_next{
width: 95vw;
margin: 530rpx auto;
margin: 530rpx auto 0 auto;
}
.sub_button{
width: 95vw;
margin: 0 auto 30rpx auto;
}
.zhiye_popup{
display: flex;
flex-direction: column;
align-items: center;
height: 600rpx;
}
.zhiye_popup_title{
margin-top: 16px;
font-size: 32rpx;
font-weight: 600;
letter-spacing: 5rpx;
}
.zhiye_popup_img{
margin-top: 30rpx;
width: 300rpx;
height: 300rpx;
background-color: cadetblue;
}
/* 自定义 vant required 小红点位置 */
.van-cell--required::before {
left: 4.7rem !important;
}
.zhuanchang_box{
display: flex;
flex-wrap: wrap;
@ -152,7 +121,6 @@
}
.zhuanchang_block {
width: 100vw;
height: 240px;
background: #fff;
border-top-left-radius: 16rpx;
border-top-right-radius: 16rpx;
@ -187,4 +155,60 @@
.zhuanchang_btn--confirm {
color: #3cc7c0;
}
/* 自定义医院搜索框样式 */
.van-search__field .van-cell{
padding: 10rpx !important;
}
.van-picker__columns {
height: 264px !important;
top: 40px !important;
}
.van-search {
top: -270px !important;
position: relative !important;
}
.van-picker__confirm{
color: #3cc7c0 !important;
}
.van-cell:after {
border-bottom: 1px solid var(--td-cell-border-color, var(--td-gray-color-3, #e7e7e7));
bottom: 0;
box-sizing: border-box;
content: " ";
pointer-events: none;
position: absolute;
width: calc(100vw - 32rpx);
transform: scaleY(.5);
transform-origin: center;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: var(--td-cell-border-color, var(--td-gray-color-3, #e7e7e7));
}
.t-cell__note,.t-class-note,.note{
font-size: 30rpx !important;
}
.van-cell {
padding: 32rpx !important;
}
.van-picker__cancel{
font-size: 32rpx !important;
}
.van-picker__confirm{
color: #3cc7c0 !important;
font-size: 32rpx !important;
}
.van-picker__title {
font-size: 34rpx !important;
}
.van-empty{
position: absolute;
width: 100%;
left: 50%;
top: 180rpx;
transform: translateX(-50%);
z-index: 9999999;
background: rgb(255, 255, 255);
}

View File

@ -1,5 +1,8 @@
// 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({
@ -7,34 +10,34 @@ Page({
title: "肝胆相照互联网医院",
navHeight: 0,
stateHeight: 0,
doctor_inquiry_config:null,
info:{
user_name: "手机号后四位",
not_accepted_inquiry_num: 6,
accepting_inquiry_num: 12,
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: "99%",
avg_response_time: 125,
number_of_fans: 9254,
avatar: "https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/default_photo.png",
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: "/Pages/yishi/identity/index",
multi_point_status_url: "/Pages/yishi/zhiye_identity/index",
current: 0,
autoplay: true,
duration: 500,
interval: 5000,
swiperList: [
`https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/ad1.jpg`,
`https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/ad2.jpg`,
`https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/ad3.jpg`,
],
swiperList: [],
banner: [],
default_dialog_show: false,//只弹框一次
dialog_visible: false,
dialog_content: "请您先实名认证",
dialog_content: "请您先完成实名认证",
dialog_url: "",
/*
case_module取值
新问诊 0
@ -59,27 +62,32 @@ Page({
{
case_status: 0,
case_module: [0,1,2,3,4,5,6,7,8],
case_text: "未实名认证"
case_text: "请您先完成实名认证",
case_url: "/Pages/yishi/identity/index"
},
{
case_status: 1,
case_module: [0,1,2,3,4,5,6,7,8],
case_text: "未医师身份认证"
case_text: "请您先医师身份认证",
case_url: "/Pages/yishi/identity/index?selected_tab=1"
},
{
case_status: 2,
case_module: [0,1,4,5,6],
case_text: "未绑定结算银行卡"
case_module: [0,1,2,3,4,5,6,7,8],
case_text: "请您先绑定结算银行卡",
case_url: "/Pages/yishi/bankcard/index"
},
{
case_status: 3,
case_module: [0,1,5,6,7],
case_text: "请您先设置在线问诊价格"
case_module: [7],
case_text: "请您先进行多点执业认证",
case_url: "/Pages/yishi/zhiye_identity/index"
},
{
case_status: 4,
case_module: [7],
case_text: "请您先进行多点执业认证证"
case_text: "请您先进行多点执业认证",
case_url: "/Pages/yishi/zhiye_identity/index"
},
{
case_status: 5,
@ -87,31 +95,153 @@ Page({
case_text: "已全部通过"
},
],
skeleton_loading: true
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;
wx.getSystemInfo({
success(res) {
stateHeight = res.statusBarHeight;
},
});
top = wx.getMenuButtonBoundingClientRect().top - stateHeight; // 获取top值
console.log('navHeight', navHeight);
console.log('top', 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("/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);
// console.log(response);
let avatar = response.data.info.avatar;
this.setData({
"info.user_name": response.data.info.user_name,
@ -120,13 +250,13 @@ Page({
"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 && (avatar.indexOf("http") == -1)){
avatar = api.getStaticHost() + avatar;
if(avatar){
this.setData({
"info.avatar": avatar
})
}
this.setData({
"info.avatar": avatar
})
//实名认证
let idcard_status = response.data.info.idcard_status;
@ -136,26 +266,32 @@ Page({
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_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_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: "/Pages/yishi/attestation/index"});
if(iden_auth_status == 1) this.setData({iden_auth_status_txt: "认证", iden_auth_status_url: "/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: "/Pages/yishi/practicing/index"});
if(multi_point_status == 1) this.setData({multi_point_status_txt: "认证", multi_point_status_url: "/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: "认证失败"});
@ -169,92 +305,98 @@ Page({
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);
})
},
onShow: function () {
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().setData({
currentTab: 0 //数字是当前页面在tabbar的索引,如我的查询页索引是2因此这边为2同理首页就为0审批页面为1
})
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("/Pages/webpage/index?src="+banner_link);
}
this.getMenuButtonBound();
},
onADChange(){
// console.log("onADChange");
onChangeAD(e) {
// const { current, source } = e.detail;
// console.log(current, source);
},
go(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;
let status = 0;
// 未实名认证和医师身份认证 0
// 已实名认证,未医师身份认证 1
// 已实名认证和医师身份认证,未绑定结算银行卡 2
// 已实名认证和医生身份认证,已绑定结算银行卡 没开通了在线问诊3
// 已实名认证和医师身份认证且绑定结算银行卡,开通了在线问诊,未开通多点执业认证 4
// 已实名认证和医师身份认证且绑定结算银行卡,开通了在线问诊,已开通多点执业认证 5
if(idcard_status == 0 && iden_auth_status == 0){
status = 0;
}else if(idcard_status == 1 && iden_auth_status == 0){
status = 1;
}else if(idcard_status == 1 && iden_auth_status == 1 && is_bind_bank == 0){
status = 2;
}else if(idcard_status == 1 && iden_auth_status == 1 && is_bind_bank == 1 && is_img_expert_reception == 0){
status = 3;
}else if(idcard_status == 1 && iden_auth_status == 1 && is_bind_bank == 1 && is_img_expert_reception == 1 && multi_point_status == 0){
status = 4;
}else{
status = 5;
}
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
});
return;
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)
}
app.go(e.currentTarget.dataset.url)
},
confirmDialog(){
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: "/Pages/yishi/identity/index",
dialog_visible: true,
});
return;
}
if(iden_auth_status != 1){
this.setData({
dialog_content: "请您先医师身份认证",
shiming_status_url: "/Pages/yishi/identity/index?selected_tab=1",
dialog_visible: true,
});
return;
}
if(is_bind_bank != 1){
this.setData({
dialog_content: "请您先绑定结算银行卡",
shiming_status_url: "/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({
@ -268,110 +410,361 @@ Page({
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({
dialog_content: "请您先实名认证",
dialog_visible: true
"info.info_shiming_status_txt": "未认证",
"info.info_shiming_status": "info_shiming_status_no",
dialog_content: "请您先完成实名认证",
shiming_status_url: "/Pages/yishi/identity/index",
dialog_url: "/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: "/Pages/yishi/identity/index",
dialog_url: "/Pages/yishi/identity/index",
dialog_content: "实名认证失败",
dialog_visible: true
});
this.setData({
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",
dialog_content: "请您前往医师身份认证",
dialog_visible: true
shiming_status_url: "/Pages/yishi/identity/index?selected_tab=1",
dialog_url: "/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",
dialog_content: "您的医师身份认证正在审核中",
dialog_visible: true
});
return false;
}
if(iden_auth_status == 3){
this.setData({
"info.info_shiming_status_txt": "认证失败",
"info.info_shiming_status": "info_shiming_status_yes",
dialog_content: "您的医师身份认证失败",
dialog_visible: true
});
return false;
}
//多点执业认证
if(multi_point_status == 0){
this.setData({
"info.info_shiming_status_txt": "前往多点执业认证",
"info.info_shiming_status": "info_shiming_status_yes",
dialog_content: "请您先进行多点执业认证",
dialog_visible: true
shiming_status_url: "/Pages/yishi/identity/index?selected_tab=1",
dialog_url: "/Pages/yishi/identity/index?selected_tab=1",
// dialog_content: "您的医师身份认证正在审核中",
// default_dialog_show: true
});
return false;
}
if(multi_point_status == 2){
this.setData({
"info.info_shiming_status_txt": "审核中",
"info.info_shiming_status": "info_shiming_status_yes",
dialog_content: "您的多点执业认证正在审核中",
dialog_visible: true
});
return false;
}
if(multi_point_status == 3){
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",
dialog_content: "您的多点执业认证失败",
dialog_visible: true
});
shiming_status_url: "/Pages/yishi/identity/index?selected_tab=1",
dialog_url: "/Pages/yishi/identity/index?selected_tab=1",
dialog_content: "您的医师身份认证失败",
// default_dialog_show: true
});
return false;
}
//绑定结算银行卡
var is_bind_bank = this.data.info.is_bind_bank;
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: "/Pages/yishi/bankcard/index",
dialog_url: "/Pages/yishi/bankcard/index",
dialog_content: "请您先绑定结算银行卡",
dialog_visible: true
});
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(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: "/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: "/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: "/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",
multi_point_status_url: "/Pages/yishi/onlinesetup/index",
dialog_content: "请您先前往在线问诊管理中开通在线问诊",
dialog_visible: true
});
shiming_status_url: "/Pages/yishi/onlinesetup/index",
// default_dialog_show: true
});
return false;
}
this.setData({"info.info_shiming_status_txt": "去接诊"});
//(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: "/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
})
}
})

View File

@ -2,11 +2,14 @@
"component": true,
"usingComponents": {
"t-avatar": "tdesign-miniprogram/avatar/avatar",
"van-image": "@vant/weapp/image/index",
"van-button": "@vant/weapp/button/index",
"t-swiper": "tdesign-miniprogram/swiper/swiper",
"t-swiper-nav": "tdesign-miniprogram/swiper-nav/swiper-nav",
"t-badge": "tdesign-miniprogram/badge/badge",
"t-dialog": "tdesign-miniprogram/dialog/dialog"
}
"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"
}

View File

@ -1,144 +1,177 @@
<view class="container">
<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;">{{ title }}</view>
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" style="margin-top: {{stateHeight+navHeight+10}}px;"> -->
<view class="info_box">
<view class="info">
<view class="info_photo">
<!-- 跳转我的信息 -->
<navigator url="/Pages/yishi/myinfo/index" open-type="navigate" hover-class="other-navigator-hover">
<t-avatar alt="头像" class="avatar" size="large" image="{{info.avatar}}" />
</navigator>
</view>
<view class="info_content">
<view class="info_mobile">{{info.user_name}}</view>
<view class="info_wenzhen">
<view bindtap="go" data-moudle="0">新问诊:{{info.not_accepted_inquiry_num}}</view>
<view bindtap="go" data-moudle="1">接诊中:{{info.accepting_inquiry_num}}</view>
<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_shiming">
<view class="info_shiming_status {{info.info_shiming_status}}">{{info.info_shiming_status_txt}}</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">
<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">
<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">
<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">
<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 bind:click="go" data-url="/Pages/yishi/identity/index"
<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">
<image class="renzheng_content_right_img"
mode="widthFix"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/yishirenzheng.png"
<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">
<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 bind:click="go" data-moudle="2" data-url="/Pages/yishi/zhiye_identity/index"
<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">
<image class="renzheng_content_right_img"
mode="widthFix"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/zhiyerenzheng.png"
<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
<!-- <t-swiper
height="110rpx"
current="{{current}}"
autoplay="{{autoplay}}"
duration="{{duration}}"
interval="{{interval}}"
navigation="{{ { type: 'dots' } }}"
list="{{swiperList}}"
bind:click="onTap"
bind:change="onADChange"
bind:click="onTapAD"
bind:change="onChangeAD"
data-url="123"
wx:if="{{!skeleton_loading}}"
>
</t-swiper>
</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">
<image class="fun_box_item_img"
mode="widthFix"
width="70rpx"
custom-style="width: 70rpx;"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/jianjie.png"
<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>
<text class="fun_box_item_txt">个人简介管理</text>
</view>
<view bindtap="go" data-moudle="4" data-url="/Pages/yishi/onlinesetup/index" class="fun_box_item">
<image class="fun_box_item_img"
mode="widthFix"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/zaixian.png"
<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>
<text class="fun_box_item_txt">在线问诊管理</text>
</view>
<view bindtap="go" data-moudle="5" data-url="/Pages/yishi/kuaisusetup/index" class="fun_box_item">
<image class="fun_box_item_img"
mode="widthFix"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/kuaisu.png"
<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>
<text class="fun_box_item_txt">快速问诊管理</text>
</view>
<view bindtap="go" data-moudle="6" data-url="/Pages/yishi/yizhensetup/index" class="fun_box_item">
<image class="fun_box_item_img"
mode="widthFix"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/yizhen.png"
<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>
<text class="fun_box_item_txt">公益问诊管理</text>
</view>
<view bindtap="go" data-moudle="7" data-url="/Pages/yishi/chufangsetup/index" class="fun_box_item">
<image class="fun_box_item_img"
mode="widthFix"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/chufang.png"
<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 dot="{{info.reject_prescription_number ? true : false}}" offset="{{ ['-14rpx', '10rpx'] }}" class="wrapper" content="处方管理" />
<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" bindtap="go" data-moudle="8">
<image class="fun_box_item_img"
mode="widthFix"
src="https://gdxz-hospital.oss-cn-chengdu.aliyuncs.com/applet/doctor/static/images/yishi/kefu.png"
<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 }}"
@ -148,8 +181,71 @@
<view slot="cancel-btn" class="dialog dialog_cancel_btn" bindtap="cancelDialog">
取消
</view>
<view slot="confirm-btn" class="dialog dialog_confirm_btn" bindtap="confirmDialog">
<view slot="confirm-btn" class="dialog dialog_confirm_btn" bindtap="confirmDialog" data-url="{{dialog_url}}">
确定
</view>
</t-dialog>
</view>
<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>

View File

@ -1,3 +1,6 @@
page{
background-color: #FAFAFA;
}
.container{
width: 100vw;
}
@ -15,54 +18,71 @@
.title{
position: fixed;
letter-spacing: 3rpx;
margin-left: 5vw;
padding-left: 5vw;
font-size: 35rpx;
color: #fff;
background-color: #3CC7C0;
width: 100%;
z-index: 999;
}
.info_box{
width: 90vw;
margin: 30rpx auto;
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: 4;
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-top: 10rpx;
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: 2;
flex: 3;
display: flex;
justify-content: center;
justify-content: flex-end;
margin-right: 20rpx;
}
.info_shiming_status{
padding: 15rpx 20rpx 15rpx 20rpx;
@ -84,6 +104,8 @@
align-items: center;
text-align: center;
margin-top: 20rpx;
margin-left: 20rpx;
height: 50rpx;
}
.info_note_txt{
font-size: 28rpx;
@ -139,51 +161,54 @@
.renzheng_content_right_img{
width: 100%;
}
.ad{
padding: 20rpx 20rpx 0 20rpx;
width: calc(90vw - 40rpx);
height: 150rpx;
margin: 0 auto;
box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.1);
.ad {
width: calc(92vw - 40rpx);
border-radius: 10rpx;
background-color: rgb(255, 255, 255);
margin: 0 auto;
background-color: #fff;
padding: 20rpx 20rpx 0 20rpx;
box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.1);
}
.t-swiper-nav--bottom {
bottom: -24rpx !important;
.swiper{
height:168rpx;
}
.t-swiper-nav__dots-item {
background: var(--td-swiper-nav-dot-color, var(--td-font-white-2, rgb(107, 106, 106))) !important;
}
.t-swiper-nav__dots-item--active {
background-color: var(--td-swiper-nav-dot-active-color, var(--td-font-white-1, #3CC7C0)) !important;
.swiper-item .swiperimg{
width:100%;
border-radius: 10rpx;
height:110rpx;
}
.fun_box{
width: 90vw;
margin: 30rpx auto 0 auto;
padding: 20rpx 0;
padding: 30rpx 0;
box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.1);
display: flex;
flex-wrap: wrap;
justify-content: space-around;
justify-content: space-evenly;
border-radius: 10rpx;
background-color: #fff;
}
.fun_box_item{
width: 40vw;
height: 150rpx;
height: 110rpx;
background-color: #FAFAFA;
border-radius: 10rpx;
margin: 10rpx 0;
display: flex;
align-items: center;
padding-left: 20rpx;
}
.fun_box_item_img{
flex: 1;
display: flex;
justify-content: center;
}
.fun_box_item_txt{
flex: 2;
font-size: 30rpx;
flex: 2.5;
font-size: 34rpx;
color: #333333;
height: 70rpx;
line-height: 70rpx;
display: flex;
}
.t-class-cancel{
color: #3CC7C0 !important;
@ -195,10 +220,38 @@
line-height: 100rpx;
}
.dialog_cancel_btn{
border-top: 1px solid #E9E9E9;
border-right: 1px solid #E9E9E9;
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{
}

View File

@ -1,5 +1,6 @@
import { API } from './../../../utils/network/api'
import Toast from '@vant/weapp/toast/toast';
import { requestSubscribeMessage } from './../../../utils/requestSubscribeUtil';
let api = new API()
const app = getApp()
Page({
@ -10,8 +11,8 @@ Page({
},
height: app.globalData.height,
checked: true,
open_note: "已开启,可在问诊消息中选择订单接诊",
close_note: "已关闭,暂不接收快速图文订单",
open_note: "已开启,可在问诊消息中进行接诊",
close_note: "已关闭,暂不接收快速问诊",
note: "",
inquiry_type: 2,
inquiry_mode: 1,
@ -32,11 +33,12 @@ Page({
"5",
"10"
]
}
},
sub_visible: false,
},
onLoad(){
this.setData({ note: this.data.open_note });
},
onShow(){
let params = {};
@ -49,16 +51,45 @@ Page({
info: response.data.info,
config: response.data.config,
})
}).then(re => {
let is_open = this.data.info.is_open;
let note = this.data.note;
if(is_open == 1) note = this.data.open_note;
if(is_open == 0) note = this.data.close_note;
this.setData({
note: note
})
}).catch(errors => {console.error(errors);})
},
changeON(){
let is_open = this.data.info.is_open
console.log("changeON:", is_open)
let detail = false
if(is_open == 0){
detail = true
}else{
detail = false
}
this.doChange(detail)
},
onChange({ detail }) {
console.log("onChange: ", detail);
this.doChange(detail)
},
doChange(detail){
let is_open = 0;
if(detail){
this.setData({ note: this.data.open_note });
wx.vibrateShort({
"type": "heavy"
})
is_open = 1
}else{
this.setData({ note: this.data.close_note });
is_open = 0
}
this.setData({ "info.is_open": detail });
this.setData({ "info.is_open": is_open });
//修改开关
let params = {};
@ -67,37 +98,48 @@ Page({
params.is_open = detail?1:0;
api.putDoctorInquiryOpen(params).then(response => {
console.log(response);
}).then(()=>{
if(detail){
let tmplIds = ['G1RIs0RYqsTQ2CuPQWalIMyb6_deuEEbJfajfhGvNzc']
let sub_promise = requestSubscribeMessage(tmplIds)
sub_promise.then(res => {
console.log("订阅成功")
}).catch(err => {
console.log(err)
let errCode = err.errCode
if(errCode == 20004){
this.setData({
sub_visible: true,
})
}
})
}
}).catch(errors => {console.error(errors);})
},
subcancelDialog(){
this.setData({
sub_visible: false
})
},
subconfirmDialog(){
this.setData({
sub_visible: false
})
wx.openSetting({
success (res) {
console.log(res.authSetting)
}
})
},
putDoctorInquiryConfig(){
wx.switchTab({
url: "/Pages/yishi/wenzhen/wenzhen"
url: "/Pages/yishi/wenzhen_v2/wenzhen"
})
},
onStepperChange(event) {
console.log(event.detail);
this.setData({
"info.work_num_day": event.detail
});
},
onPriceChange(e){
console.log(e.detail);
let value = e.detail.value;
let min = this.data.config.min_inquiry_price;
let max = this.data.config.max_inquiry_price;
if(value < min){
value = min;
Toast.fail('价格不能低于' + min + '元');
}else if(value >= min && value <=max ){
value = value;
}else{
value = max;
Toast.fail('价格不能高于' + max + '元');
}
this.setData({
"info.inquiry_price": value
})
}
})

View File

@ -7,6 +7,7 @@
"van-stepper": "@vant/weapp/stepper/index",
"van-switch": "@vant/weapp/switch/index",
"van-button": "@vant/weapp/button/index",
"van-toast": "@vant/weapp/toast/index"
"van-toast": "@vant/weapp/toast/index",
"t-dialog": "tdesign-miniprogram/dialog/dialog"
}
}

View File

@ -1,33 +1,33 @@
<te-nav-bar navbar-data='{{navbarData}}' ></te-nav-bar>
<view class="container" style="height: calc(100vh - 96rpx - {{height}}px);">
<view class="container">
<view class="switch_box">
<view class="switch_box_top">
<view class="switch_box_item">
<view class="switch_box_item" bindtap="changeON">
<view class="switch_box_item_name">接诊开关</view>
<view class="switch_box_item_btn">
<van-switch
active-color="#3CC7C0"
inactive-color="#E7E7E7"
size="40rpx"
checked="{{ info.is_open==1 }}"
bind:change="onChange" />
checked="{{ info.is_open==1 }}"
/>
</view>
</view>
<view class="switch_box_note">{{ note }}</view>
</view>
<view class="help">
<van-cell url="/Pages/yishi/manual/index" custom-style="font-size:32rpx;" title="图文问诊操作手册" is-link border="{{false}}" />
<van-cell size="large" url="/Pages/yishi/manual_detail/index?manual_id=5" custom-style="font-size:32rpx;" title="图文问诊操作手册" is-link border="{{false}}" />
</view>
</view>
<view wx:if="{{ info.is_open==1 }}" class="checked_box">
<view class="checked_box">
<view class="price_title">价格设置</view>
<view class="price_steup_box">
<view class="price_steup_box_bottom">
<view class="price_steup_box_bottom_title">问诊单价(元)</view>
<view class="price_steup_box_bottom_title">问诊单价</view>
<view class="price_steup_box_bottom_num">
<input class="weui-input" disabled bindblur="onPriceChange" type="digit" value="{{ info.inquiry_price }}" placeholder="请输入问诊单价" />
<text class="price">元</text>
<text class="price" decode="true">&nbsp;元</text>
</view>
</view>
</view>
@ -35,15 +35,28 @@
<view class="bottom">
<text class="bottom_txt">
提示:服务开通后,患者可以通过快速问诊找到您,增加您的曝光度。
1、快速问诊价格为平台统一定价;
2、接诊后{{config.duration}}分钟内和患者{{config.times_number==0?'无限':config.times_number}}次沟通。
提示:服务开启后,您将有机会接收到平台自动分配的在线患者快速问诊订单
1、快速问诊价格为平台统一
2、快速问诊服务时间为{{config.duration}}分钟,期间不限制交流次数
</text>
</view>
<view class="go" wx:if="{{ info.is_open==1 }}">
<van-button bind:click="putDoctorInquiryConfig" color="#3CC7C0" custom-style="border-radius: 20rpx;font-size:30rpx;" type="primary" block>去接诊</van-button>
<view class="go">
<van-button disabled="{{info.is_open!=1}}" bind:click="putDoctorInquiryConfig" color="#3CC7C0" custom-style="border-radius: 20rpx;font-size:30rpx;" type="primary" block>去接诊</van-button>
</view>
<van-toast id="van-toast" />
<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>

View File

@ -1,7 +1,8 @@
page{
background-color: #F6F6F6;
}
.container{
width: 100vw;
height: 100vh;
background-color: #F6F6F6;
}
.switch_box{
display: flex;
@ -37,7 +38,7 @@
}
.switch_box_item_name{
flex: 1;
font-size: 32rpx;
font-size: 16px;
}
.switch_box_item_btn{
flex: 1;
@ -69,7 +70,7 @@
position: relative;
display: flex;
justify-content: space-between;
margin: 20rpx;
margin: 20rpx 20rpx 20rpx 30rpx;
align-items: center;
}
.price_steup_box_bottom_num{
@ -79,7 +80,7 @@
}
.price_steup_box_top_title, .price_steup_box_bottom_title{
flex: 1;
font-size: 32rpx;
font-size: 16px;
color: #333;
}
.price_steup_box_top::after{
@ -100,7 +101,7 @@
}
.bottom{
width: 90vw;
margin: 0 auto;
margin: -20rpx auto;
color: #999;
letter-spacing: 2rpx;
font-size: 28rpx;
@ -122,4 +123,18 @@
.price{
text-align: center;
flex: 1;
}
.dialog{
width: 50%;
text-align: center;
height: 100rpx;
line-height: 100rpx;
}
.dialog_cancel_btn{
border-top: 1px solid #E9E9E9;
border-right: 1px solid #E9E9E9;
}
.dialog_confirm_btn{
border-top: 1px solid #E9E9E9;
color: #3CC7C0;
}

View File

@ -0,0 +1,68 @@
// pages/linkPage/linkPage.js
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
url:''
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
if(options.url){
this.setData({
url:decodeURIComponent(options.url)
});
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
})

View File

@ -0,0 +1,3 @@
{
"usingComponents": {}
}

Some files were not shown because too many files have changed in this diff Show More