From aa2231f2564ef151b461196e69e9fadb9a7f5812 Mon Sep 17 00:00:00 2001
From: zoujiandong <10130823232@qq.com>
Date: Fri, 12 Apr 2024 09:01:31 +0800
Subject: [PATCH] =?UTF-8?q?4.12=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/health.js | 19 +
app.json | 4 +-
components/navbar/navbar.js | 2 +-
filters/filter.wxs | 14 +
.../pages/healthyDetail/healthyDetail.js | 270 +++++-
.../pages/healthyDetail/healthyDetail.json | 4 +-
.../pages/healthyDetail/healthyDetail.wxml | 92 +-
.../pages/healthyDetail/healthyDetail.wxss | 273 +++++-
.../pages/healthyIntro/healthyIntro.js | 115 ++-
.../pages/healthyIntro/healthyIntro.json | 3 +-
.../pages/healthyIntro/healthyIntro.wxml | 157 ++-
.../pages/healthyIntro/healthyIntro.wxss | 358 ++++++-
.../pages/visitDetail/visitDetail.js | 298 +++++-
.../pages/visitDetail/visitDetail.json | 4 +-
.../pages/visitDetail/visitDetail.wxml | 95 +-
.../pages/visitDetail/visitDetail.wxss | 307 +++++-
healthyService/pages/visitList/visitList.js | 159 ++++
healthyService/pages/visitList/visitList.json | 7 +
healthyService/pages/visitList/visitList.wxml | 47 +
healthyService/pages/visitList/visitList.wxss | 367 +++++++
healthyService/pages/writeSick/writeSick.js | 901 ++++++++++++++++++
healthyService/pages/writeSick/writeSick.json | 17 +
healthyService/pages/writeSick/writeSick.wxml | 168 ++++
healthyService/pages/writeSick/writeSick.wxss | 356 +++++++
pages/index/index.js | 25 +-
pages/index/index.wxml | 2 +-
patient/pages/expertDetail/expertDetail.js | 2 +-
27 files changed, 4006 insertions(+), 60 deletions(-)
create mode 100644 api/health.js
create mode 100644 healthyService/pages/visitList/visitList.js
create mode 100644 healthyService/pages/visitList/visitList.json
create mode 100644 healthyService/pages/visitList/visitList.wxml
create mode 100644 healthyService/pages/visitList/visitList.wxss
create mode 100644 healthyService/pages/writeSick/writeSick.js
create mode 100644 healthyService/pages/writeSick/writeSick.json
create mode 100644 healthyService/pages/writeSick/writeSick.wxml
create mode 100644 healthyService/pages/writeSick/writeSick.wxss
diff --git a/api/health.js b/api/health.js
new file mode 100644
index 0000000..4353ab4
--- /dev/null
+++ b/api/health.js
@@ -0,0 +1,19 @@
+import {request} from '../utils/request.js'
+function getItems(id){ //获取地址
+ return request('/doctor/inquiry/service/follow/item/'+id,'GET',{},true)
+};
+function getServiceDetail(data){
+ return request('/patient/service/detail','GET',data,true)
+}
+function createServiceOrder(data){
+ return request('/patient/service','POST',data,true)
+}
+
+
+
+
+module.exports={
+ getItems,
+ getServiceDetail,
+ createServiceOrder
+}
diff --git a/app.json b/app.json
index a59b0a4..d57ae4a 100644
--- a/app.json
+++ b/app.json
@@ -95,7 +95,9 @@
"pages/healthyDetail/healthyDetail",
"pages/visitDetail/visitDetail",
"pages/healthyOrder/healthyOrder",
- "pages/healthyOrderDetail/healthyOrderDetail"
+ "pages/healthyOrderDetail/healthyOrderDetail",
+ "pages/writeSick/writeSick",
+ "pages/visitList/visitList"
],
"independent": true
}
diff --git a/components/navbar/navbar.js b/components/navbar/navbar.js
index 6af007f..2e6f0bd 100644
--- a/components/navbar/navbar.js
+++ b/components/navbar/navbar.js
@@ -26,7 +26,7 @@ Component({
},
goInquirtForm(){
wx.navigateTo({
- url: '/healthyService/pages/healthyIntro/healthyIntro',
+ url: '/healthyService/pages/visitList/visitList',
})
}
},
diff --git a/filters/filter.wxs b/filters/filter.wxs
index d584d52..d941699 100644
--- a/filters/filter.wxs
+++ b/filters/filter.wxs
@@ -202,7 +202,21 @@ function hasTuWen(arr){
}
return false
}
+
+function formatHealthPrcice(arr){
+ var price=null;
+ if(arr){
+ for (var i = 0; i < arr.length; i++) {
+ if(arr[i].inquiry_type==1 && arr[i].inquiry_mode==8){
+ return arr[i].inquiry_price;
+ }
+
+ }
+ }
+ return price
+};
module.exports = {
+ formatHealthPrcice:formatHealthPrcice,
formatwenzhenList:formatwenzhenList,
formatChufang:formatChufang,
formatPrice:formatPrice,
diff --git a/healthyService/pages/healthyDetail/healthyDetail.js b/healthyService/pages/healthyDetail/healthyDetail.js
index 287edb5..5ed7d42 100644
--- a/healthyService/pages/healthyDetail/healthyDetail.js
+++ b/healthyService/pages/healthyDetail/healthyDetail.js
@@ -1,4 +1,7 @@
// healthyService/pages/healthyDetail/healthyDetail.js
+import {doctorDetail} from "../../../api/consultExpert"
+import {family,addfamily} from "../../../api/familyDoc";
+import {getServiceDetail,getItems} from "../../../api/health"
import {throttle} from "../../../utils/util"
const app = getApp()
Page({
@@ -7,14 +10,277 @@ Page({
* 页面的初始数据
*/
data: {
- img_host:app.hostConfig().imghost
+ active:0,
+ img_host:app.hostConfig().imghost,
+ doctor_id:'',
+ currentData:0,
+ inquiry_mode:8,
+ inquiry_type:1,
+ current_price:'',
+ avatar: '',
+ user_name: '',
+ doctor_title: '',
+ doctor_id: '',
+ doctor_title_name:'',
+ user_id:'',
+ is_online:'0',
+ hospital: null,
+ priceList:[],
+ show:false,
+ currentFamilyId:'',
+ realName:'',
+ idCard:'',
+ phoneNumber:'',
+ relationId:'',
+ sex:'',
+ service_type:1,
+ chat_id:'',
+ },
+
+ inputChange(e) {
+ this.setData({
+ [e.target.dataset.id]: e.detail.value
+ })
+ },
+ goNext:throttle(function() {
+ this.handleGetServiceDetail();
+
+ }),
+ addFamily() {
+ let {
+ realName,
+ idCard,
+ phoneNumber,
+ relationId,
+ sex
+ } = this.data;
+ addfamily({
+ card_name: realName,
+ type: 1,
+ id_number: idCard,
+ mobile: phoneNumber,
+ is_default: 0,
+ relation: relationId
+ }).then((data) => {
+ this.getFamily();
+ this.setData({
+ currentFamilyId:data.family_id,
+ realName:'',
+ idCard:'',
+ phoneNumber:'',
+ relationId:'',
+ relation:'',
+ showAdd:false
+ })
+
+ })
+ },
+ showPatient(){
+ this.setData({
+ show:true
+ })
+ },
+ addPatient() {
+ this.setData({
+ showAdd: true,
+ currentFamilyId: '',
+ sex: ''
+ })
+ },
+ selectPatient(e) {
+ let currentFamilyId=e.currentTarget.dataset.familyid;
+ let sex=e.currentTarget.dataset.sex;
+ let name=e.currentTarget.dataset.name;
+ let age=e.currentTarget.dataset.age;
+ this.setData({
+ currentFamilyId:currentFamilyId,
+ sex:sex
+ })
+ },
+ transforpage(arr) {
+ const pages = []
+ let newArr = arr.concat([{
+ type: "add"
+ }])
+ newArr.forEach((item, index) => {
+ const page = Math.floor(index / 2)
+ if (!pages[page]) {
+ pages[page] = []
+ }
+ pages[page].push(item)
+ });
+ return pages
+ },
+ confirmNext() {
+ if (!/^[\u4e00-\u9fa5]+(·[\u4e00-\u9fa5]+)*$/.test(this.data.realName)) {
+ wx.showToast({
+ title: `姓名要求在2-10个字符`,
+ icon: 'none',
+ });
+ return false;
+ };
+ if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.data.idCard)) {
+ wx.showToast({
+ title: `请输入有效的身份证号`,
+ icon: 'none',
+ });
+ return false;
+ };
+
+ if (!/^1[3456789]\d{9}$/.test(this.data.phoneNumber)) {
+ wx.showToast({
+ title: `请输入有效的手机号码!`,
+ icon: 'none',
+ });
+ return false;
+ }
+ },
+ getFamily() {
+ family().then((data) => {
+ this.setData({
+ family: this.transforpage(data)
+ })
+ })
+ },
+ goSick:throttle(function() {
+ if (!/^([\u4e00-\u9fa5\·]{2,10})$/.test(this.data.realName)) {
+ wx.showToast({
+ title: `姓名要求在2-10个汉字`,
+ icon: 'none',
+ });
+ return false;
+ };
+ if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.data.idCard)) {
+ wx.showToast({
+ title: `请输入有效的身份证号`,
+ icon: 'none',
+ });
+ return false;
+ };
+ if (this.data.phoneNumber) {
+ if (!/^1[3456789]\d{9}$/.test(this.data.phoneNumber)) {
+ wx.showToast({
+ title: `请输入有效的手机号码!`,
+ icon: 'none',
+ });
+ return false;
+ }
+ };
+
+ let idInfo = this.getIdInfo(this.data.idCard);
+ if (idInfo.age < 6) {
+ wx.showToast({
+ title: `六岁以下儿童不支持线上问诊`,
+ icon: 'none',
+ });
+ return false;
+ }
+ this.setData({
+ sex:idInfo.sex
+ })
+ this.addFamily()
+
+ }),
+ //获取身份证号信息
+ getIdInfo(IdCard) {
+ var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
+ if (reg.test(IdCard)) {
+ let sex
+ if (parseInt(IdCard.substr(16, 1)) % 2 === 1) {
+ sex = '1'
+ } else {
+ sex = '2'
+ }
+ var ageDate = new Date()
+ var month = ageDate.getMonth() + 1
+ var day = ageDate.getDate()
+ var age = ageDate.getFullYear() - IdCard.substring(6, 10) - 1
+ if (IdCard.substring(10, 12) < month || (IdCard.substring(10, 12) === month && IdCard.substring(12, 14) <= day)) {
+ age++
+ }
+ if (age <= 0) {
+ age = 1
+ }
+ return {
+ sex,
+ age
+ }
+ } else {
+ return false;
+ }
+ },
+ onClose() {
+ this.setData({
+ show: false
+ });
+ },
+ onCloseAdd() {
+ this.setData({
+ showAdd: false
+ });
+ },
+
+ getDeatil(id) {
+ doctorDetail(id).then((res) => {
+ for (const key in this.data) {
+ if (res[key]) {
+ this.setData({
+ [key]: res[key]
+ })
+ }
+ };
+ this.setData({
+ chat_id:res.user_id
+ })
+ })
+ },
+ handleGetServiceDetail(){
+ let {doctor_id,currentFamilyId,service_type,follow_package_item_id,chat_id,sex,inquiry_mode,inquiry_type}=this.data;
+ getServiceDetail({
+ doctor_id,
+ family_id:currentFamilyId,
+ service_type,
+ follow_package_item_id
+
+ }).then((res)=>{
+ if(res.status==1){
+ app.method.navigateTo({
+ url:'/healthyService/pages/writeSick/writeSick?doctor_id='+doctor_id+"&family_id="+currentFamilyId+"&chat_id="+chat_id+"&inquiry_type="+inquiry_type+"&sex="+sex+"&inquiry_mode="+inquiry_mode+"&package_id="+follow_package_item_id
+ })
+ }else if(res.status==2){
+
+ }else if(res.status==3){
+ app.method.navigateTo({
+ url:'/patient/pages/expertDetail/expertDetail?doctor_id='+doctor_id
+ })
+
+ }else if(res.status==4){
+
+ }else if(res.status==5){
+
+ }
+
+ })
+ },
+ showPatient(){
+ this.setData({
+ show:true
+ })
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
+ this.setData({
+ doctor_id:options.doctor_id,
+ current_price:options.price
+ })
+
+ this.getDeatil(options.doctor_id);
+
+ this.getFamily();
+
},
/**
diff --git a/healthyService/pages/healthyDetail/healthyDetail.json b/healthyService/pages/healthyDetail/healthyDetail.json
index 9ce900b..c931201 100644
--- a/healthyService/pages/healthyDetail/healthyDetail.json
+++ b/healthyService/pages/healthyDetail/healthyDetail.json
@@ -1,6 +1,8 @@
{
"usingComponents": {
- "nav":"../../../components/nav/nav"
+ "nav":"../../../components/nav/nav",
+ "van-popup": "@vant/weapp/popup/index",
+ "van-picker": "@vant/weapp/picker/index"
},
"navigationStyle":"custom"
}
\ No newline at end of file
diff --git a/healthyService/pages/healthyDetail/healthyDetail.wxml b/healthyService/pages/healthyDetail/healthyDetail.wxml
index f39109a..6152947 100644
--- a/healthyService/pages/healthyDetail/healthyDetail.wxml
+++ b/healthyService/pages/healthyDetail/healthyDetail.wxml
@@ -2,6 +2,24 @@
+
+
+
+
+
+
+
+
+
+
+ {{user_name}}
+ {{hospital.hospital_level_name}}
+ 可处方
+
+ {{doctor_title_name}} {{item.department_custom_name}}
+ {{hospital.hospital_name}}
+
+
@@ -62,6 +80,76 @@
- 立即购买:¥XX.XX
+ 立即购买:¥{{current_price}}
-
\ No newline at end of file
+
+
+ 选择患者
+
+
+
+
+
+ {{item.card_name}}
+ 本人
+ 父母
+ 爱人
+ 子女
+ 亲戚
+ 其他
+
+
+ 性别未知
+ 男
+ 女
+ {{item.age}}岁
+
+
+
+
+ +新建患者
+
+
+
+
+
+
+
+
+
+
+
+ 新建患者
+
+ 真实姓名*
+
+
+
+ 身份证号*
+
+
+
+ 联系电话
+
+
+
+ 患者关系
+
+
+
+ 温馨提示:
+
+ 1、根据国家卫健委要求,就医实行实名制,请如实填写患者信息。
+ 2、信息受隐私保护,仅接诊医生可见。
+
+ 3、6岁以下儿童不支持线上问诊,请到线下就诊。
+
+
+
+
+ 确定
+
+
+
\ No newline at end of file
diff --git a/healthyService/pages/healthyDetail/healthyDetail.wxss b/healthyService/pages/healthyDetail/healthyDetail.wxss
index 584cea8..631c050 100644
--- a/healthyService/pages/healthyDetail/healthyDetail.wxss
+++ b/healthyService/pages/healthyDetail/healthyDetail.wxss
@@ -23,7 +23,7 @@ page{
flex:1;
display: flex;
flex-direction: column;
-margin-top: 200rpx;
+margin:0rpx;
background: #FFFFFF;
border-radius: 32rpx 32rpx 0rpx 0rpx;
}
@@ -85,4 +85,273 @@ align-items: center;
justify-content: center;
line-height: 50rpx;
text-align: center;
-}
\ No newline at end of file
+}
+.viewcell{
+ display: flex;
+ background-color: #fff;
+ margin:30rpx;
+ padding:20rpx;
+ box-shadow: 0rpx 8rpx 20rpx 2rpx rgba(0,0,0,0.04);
+border-radius: 10rpx;
+
+}
+.headimg{
+ width:120rpx;
+ height:120rpx;
+ border-radius: 50%;
+}
+.viewcell .type{
+ height: 32rpx;
+ margin-bottom: 6rpx;
+ line-height: 32rpx;
+ display: flex;
+ white-space: nowrap;
+ align-items: center;
+ margin-left: 18rpx;
+ padding:0rpx 6rpx;
+ background: #ED9C00;
+ border-radius: 4rpx;
+ color: #FFFFFF;
+ font-size: 24rpx;
+ }
+ .viewcellbox .hospital{
+ margin-top: 12rpx;
+ color: #333333;
+ display: flex;
+ font-size: 30rpx;
+ word-wrap: break-word;
+ }
+ .hospital_name{
+ font-size: 28rpx;
+ word-wrap: break-word;
+ margin-right: 10rpx;
+ overflow: hidden;
+ white-space: nowrap;
+ color:#333;
+ text-overflow: ellipsis;
+ }
+ .viewcell .right{
+ flex:1;
+ margin-left: 20rpx;
+ }
+ .namebox{
+ display: flex;
+ font-size: 34rpx;
+ font-weight: 600;
+ color:#333;
+ align-items: flex-end;
+ }
+ .personbox {
+ border-radius: 10rpx;
+ background-color: #fff;
+ padding: 40rpx 20rpx 144rpx;
+ overflow-y: scroll;
+ }
+
+ .personbox .row {
+ margin-top: 30rpx;
+ display: flex;
+ justify-content: space-between;
+
+ }
+
+ .personbox .row:first-child {
+ margin-top: 0;
+ }
+
+ .personbox .row .cell {
+ position: relative;
+ width: 47%;
+ height: 120rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ margin-left: 30rpx;
+ border-radius: 10rpx;
+ border: 1px solid #CCCCCC;
+ }
+
+ .personbox .row .cell:first-child {
+ margin-left: 0rpx;
+ }
+
+ .personbox .person {
+ display: flex;
+ margin: 0 25rpx;
+ align-items: center;
+ }
+
+ .personbox .tag {
+ margin-left: 32rpx;
+ font-size: 24rpx;
+ display: flex;
+ align-items: center;
+ line-height: 24rpx;
+ justify-content: center;
+ color: #666666;
+ width: 80rpx;
+ height: 32rpx;
+ border-radius: 4rpx;
+ transform: rotateZ(360deg);
+ border: 1rpx solid #979797;
+ }
+
+ .personbox .desc {
+ display: flex;
+ margin: 0 25rpx;
+ font-size: 28rpx;
+ color: #666;
+ margin-top: 3px;
+ }
+
+ .personbox .name {
+ white-space: nowrap;
+ overflow: hidden;
+ max-width: 200rpx;
+ text-overflow: ellipsis;
+ font-size: 34rpx;
+ color: #333;
+ }
+
+ .personbox .age {
+
+ margin-left: 12rpx;
+ }
+
+ .personbox .cell .gou {
+ position: absolute;
+ bottom: -1rpx;
+ right: 0rpx;
+ width: 66rpx;
+ height: 53.7rpx;
+ }
+
+ .personbox .add {
+ justify-content: center;
+ align-items: center;
+ font-size: 34rpx;
+ color: #333;
+ }
+ .own .add.disabled{
+ color: #999;
+ }
+ .titlepop{
+ font-size: 34rpx;
+ font-weight: 400;
+ color: #333333;
+ padding:40rpx 0;
+ text-align: center;
+ width:100%;
+ border-bottom:1rpx solid #E7E7E7;
+ }
+
+ .van-icon-cross {
+ color: #333;
+ font-size: 40rpx !important;
+ }
+
+ .infobox {
+ margin-top: 40rpx;
+ }
+
+ .info {
+ border-bottom: 1rpx solid #E7E7E7;
+ display: flex;
+ align-items: center;
+ height: 112rpx;
+ color: #333333;
+ }
+
+ .infobox .title {
+ border-bottom: 1rpx solid #E7E7E7;
+ text-align: center;
+ font-size: 34rpx;
+ padding-bottom: 35rpx;
+ }
+
+ .info .name {
+ white-space: nowrap;
+ width: 180rpx;
+ display: flex;
+ align-items: center;
+ margin-left: 52rpx;
+ color: #333333;
+ font-size: 34rpx;
+ }
+
+ .info text {
+ margin-top: 20rpx;
+ color:#E34D59;
+
+ display: flex;
+ align-items: center;
+ }
+ .info input {
+ margin-left: 15rpx;
+ margin-right: 52rpx;
+ flex: 1;
+ }
+ .input-placeholder {
+ color: #999999;
+ font-size: 28rpx;
+ }
+ .tip{
+ padding:30rpx 52rpx 20rpx;
+ }
+ .warntitle{
+ color: #E34D59;
+ font-size: 28rpx;
+ }
+ .warn{
+ margin-top: 20rpx;
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #666666;
+ }
+ .next{
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 94rpx;
+ font-size: 36rpx;
+ left: 30rpx;
+ right: 30rpx;
+ margin:0 52rpx;
+ border-radius: 47rpx;
+ color: #fff;
+ margin-bottom: 40rpx;
+ background: #3CC7C0;
+ }
+ .celladd{
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ height: 120rpx;
+ }
+ .btnbox{
+ position: fixed;
+ width:100%;
+ bottom:0rpx;
+ height: 134rpx;
+ background:#fff;
+
+
+ }
+ .btnbox .btn{
+ border-radius: 47rpx;
+ border:none;
+ background: #3CC7C0!important;
+ margin:0 32rpx;
+ height: 94rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 36rpx;
+ color: #FFFFFF!important;
+ }
+ .btnbox .btn[disabled]{
+ color: #000000!important;
+ background:rgba(0,0,0,0.1)!important;
+ }
+
\ No newline at end of file
diff --git a/healthyService/pages/healthyIntro/healthyIntro.js b/healthyService/pages/healthyIntro/healthyIntro.js
index 40e47a7..0bd9f05 100644
--- a/healthyService/pages/healthyIntro/healthyIntro.js
+++ b/healthyService/pages/healthyIntro/healthyIntro.js
@@ -1,5 +1,6 @@
// healthyService/pages/healthyIntro/healthyIntro.js
import {throttle} from "../../../utils/util"
+import {doctorList} from "../../../api/consultExpert"
const app = getApp()
Page({
@@ -7,12 +8,107 @@ Page({
* 页面的初始数据
*/
data: {
- blockHeight:"150rpx"
+ blockHeight:"150rpx",
+ type:'',
+ doctorList:[],
+ page:1,
+ pageNumber:10,
+ isTriggered:false,
+ show:false,
+ expertise_id:'',
+ province_id:'',
+ city_id:'',
+ keyword:'',
+ lock:false,
+ is_online:0,
+ sort_order:1,
+ inquiry_type:'1',
+ inquiry_mode:'8',
},
- goDetail:throttle(function(){
- app.method.navigateTo({
- url: '/healthyService/pages/visitDetail/visitDetail',
- //url: '/healthyService/pages/healthyDetail/healthyDetail',
+ handleRefresher(){
+
+ this.setData({
+ lock:false,
+ page:1,
+ doctorList:[]
+ });
+ this.getDoctorList()
+ },
+ goExpertDetail:throttle(function(e){
+ let {doctorid,price}=e.currentTarget.dataset;
+ if(price){
+ app.method.navigateTo({
+ url:'/healthyService/pages/healthyDetail/healthyDetail?doctor_id='+doctorid+"&price="+price
+ })
+ }
+ else{
+ app.method.navigateTo({
+ url:'/healthyService/pages/healthyDetail/healthyDetail?doctor_id='+doctorid+"&price="+price
+ })
+ wx.showToast({
+ title: '未设置健康包价格',
+ icon:'none'
+ })
+ }
+
+ }),
+ getDoctorList(){
+ let {expertise_id,province_id, city_id,sort_order,keyword,page,pageNumber,is_online,inquiry_type,inquiry_mode}=this.data;
+ doctorList({
+ expertise_id:expertise_id,
+ province_id:province_id,
+ city_id:city_id,
+ sort_order: sort_order,
+ is_first_online:is_online,
+ keyword:keyword,
+ inquiry_type,
+ inquiry_mode,
+ page:page,
+ per_page:pageNumber
+ }).then((res)=>{
+ let {doctorList}=this.data;
+ if(res.data.length==0){
+ this.setData({
+ lock:true,
+ isTriggered:false
+ });
+ return false;
+ }else{
+ this.setData({
+ isTriggered:false,
+ doctorList:doctorList.concat(res.data)
+ })
+ }
+
+
+ })
+ },
+ onfresh(){
+ this.setData({
+ page:1,
+ doctorList:[],
+ lock:false
+ })
+ this.getDoctorList();
+ },
+ lower(e) {
+ let {lock}=this.data;
+ let addPage=this.data.page+1;
+ if(!lock){
+ this.setData({
+ page:addPage
+ });
+ this.getDoctorList();
+ }
+ },
+ goAgree(){
+ this.setData({
+ showRight:flase
+ })
+ },
+ lookGood:throttle(function(){
+ this.setData({
+ showRight:true
})
}),
// 显示遮罩层
@@ -27,7 +123,7 @@ showModal() {
this.setData({
hideModal: false,
- blockHeight:"300rpx"
+ blockHeight:"150rpx"
})
},
touchstart(e) {
@@ -69,7 +165,12 @@ showModal() {
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
+ if(options.type){
+ this.setData({
+ type:'visit'
+ })
+ }
+ this.getDoctorList();
},
/**
diff --git a/healthyService/pages/healthyIntro/healthyIntro.json b/healthyService/pages/healthyIntro/healthyIntro.json
index 39c3ea8..195d1fd 100644
--- a/healthyService/pages/healthyIntro/healthyIntro.json
+++ b/healthyService/pages/healthyIntro/healthyIntro.json
@@ -1,7 +1,8 @@
{
"usingComponents": {
"nav":"../../../components/nav/nav",
- "van-popup": "@vant/weapp/popup/index"
+ "van-popup": "@vant/weapp/popup/index",
+ "van-dialog": "@vant/weapp/dialog/index"
},
"navigationStyle":"custom"
}
\ No newline at end of file
diff --git a/healthyService/pages/healthyIntro/healthyIntro.wxml b/healthyService/pages/healthyIntro/healthyIntro.wxml
index 290d93f..1146c08 100644
--- a/healthyService/pages/healthyIntro/healthyIntro.wxml
+++ b/healthyService/pages/healthyIntro/healthyIntro.wxml
@@ -1,9 +1,14 @@
-
+
+
+
-
-
+
+
+
+
+
-
+
@@ -11,6 +16,73 @@
健康包服务医生
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.user_name}}
+
+ {{item.hospital.hospital_level_name}}
+ 可处方
+
+ {{item.doctor_title_name}} {{item.department_custom_name}}
+ {{item.hospital.hospital_name}}
+ 擅长:{{item.be_good_at}}
+ {{cell.expertise_name}}
+
+ 评分: {{item.praise_rate}} 暂无
+ 问诊量: {{item.served_patients_num}}暂无
+ 平均回复: {{moduleFilter.formatReply(item.avg_response_time)}}h暂无
+
+
+
+ 健康包:¥{{itemName.inquiry_price}}
+
+
+
+
+
+
+
+
+ 暂无数据!
+
+
+
-
\ No newline at end of file
+
+
+
+
+ 服务内容:
+
+ 1、
+ 每个月2次问诊
+
+
+ 2、
+ 30盒肝爽颗粒(3g*9袋) (每次最多开具10盒)
+
+
+
+
+ 服务价格:
+
+ 1、
+ 健康包价格低至1080元起,内所含每月两次问诊,费用低至5折;超出次数需按照原价支付问诊费;
+
+
+ 2、
+ 健康包内包含30盒肝爽颗粒(3g*9袋),原价42.8元/盒,健康包内售价为35元/盒,超出30盒的可按38.5元/盒优惠价购买;
+
+
+
+ 3、
+ 赠送全品类药品劵10元
+
+
+
+ 4、
+
+ 赠送肝胆相照商城优惠劵100元
+ (药品总价满100元方可使用,不可与其他优惠劵叠加使用);
+
+
+
+
+ 退款说明:
+
+ 1、
+ 未使用随时退;
+
+
+ 2、
+
+健康包开始使用后如需退款请联系客服,退款不收取任何服务费等额外费用,但不支持部分退款:
+
+
+
+
+ 3、
+ 药品一经发出,问诊一经接诊,均概不退换;
+
+
+
+
+ 4、
+ 未消费健康包内容可退款,已消费服务的部分按原价计费,即:已发生的问诊按照问诊时互联网医院显示的价格结算,肝爽颗粒按照原价每盒42.8元结算。
+
+
+
+
+
diff --git a/healthyService/pages/healthyIntro/healthyIntro.wxss b/healthyService/pages/healthyIntro/healthyIntro.wxss
index c7c5968..be7e994 100644
--- a/healthyService/pages/healthyIntro/healthyIntro.wxss
+++ b/healthyService/pages/healthyIntro/healthyIntro.wxss
@@ -1,23 +1,33 @@
/* healthyService/pages/healthyIntro/healthyIntro.wxss */
.page{
+
margin-top: 172rpx;
- padding-bottom:100rpx;
+ overflow-y: scroll;
+ height: calc(100vh - 172rpx - 60rpx);
position: relative;
}
+.imgbox{
+ position: relative;
+}
+page{
+ height: 100vh;
+ overflow: hidden;
+}
.btn{
position: absolute;
+
left: 50%;
margin-left: -232rpx;
width:464rpx;
height: 86rpx;
- bottom:200rpx;
+ bottom:130rpx;
}
.bg{
width:100%;
}
.top{
position: absolute;
- top:20rpx;
+ top:10rpx;
width:100%;
display: flex;
justify-content: center;
@@ -41,11 +51,349 @@
.popwrper{
top:0rpx;
background-color: #fff;
- position: absolute;
+ position: relative;
transition: height 0.5s;
width:100%;
border-radius: 20rpx;
overflow: hidden;
height:100%;
bottom:0px;
- }
\ No newline at end of file
+ }
+ .wraper{
+
+ height: 100%;
+ }
+ .containexpert{
+ margin-top: 172rpx;
+ padding: 0 30rpx 0rpx;
+ overflow: hidden;
+ position: relative;
+ transform: all 0.3s ease;
+ }
+ .droptitle,.van-ellipsis{
+ font-size: 30rpx!important;
+ }
+ .namebox .name{
+ max-width:400rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ .droptitle.active{
+ color:#3CC7C0;
+ }
+ .searchbox {
+ width: 100%;
+ height: 72rpx;
+ display: flex;
+ border-radius: 40rpx;
+ align-items: center;
+ margin-top: 20rpx;
+ background: #FBFBFB;
+ border-radius: 36px;
+ border: 1rpx solid #CCCCCC;
+ }
+
+ .searchbox input {
+ margin-left: 30rpx;
+ flex: 1;
+ font-size: 32rpx;
+ height: 80rpx;
+ }
+
+ .searchbox image {
+ width: 30rpx;
+ height: 30rpx;
+ margin-right: 28rpx;
+ }
+
+ .scroll-view_H {
+ height:195rpx;
+ white-space: nowrap;
+ vertical-align: top;
+ }
+ .scroll-view-item_H{
+ /* width: 154rpx; */
+ padding:0 15rpx;
+ background: #F4F4F4;
+ border-radius: 30rpx;
+ font-size: 28rpx;
+ color: #666666;
+ margin-left: 36rpx;
+ border: 1rpx solid #F4F4F4;
+ height: 58rpx;
+ display: inline-block;
+ text-align: center;
+ line-height: 58rpx;
+ }
+
+ .page-section-spacing .row{
+ margin-top: 40rpx;
+ margin-bottom: 30rpx;
+ }
+ .page-section-spacing .row:last-child{
+ margin-top: 30rpx;
+ margin-bottom: 10rpx;
+ }
+ .scroll-view_H .scroll-view-item_H:first-child{
+ margin-left: 0rpx;
+
+ }
+ .scroll-view-item_H.active {
+ background: #E2FFFE;
+ color: #3CC7C0;
+ border: 1rpx solid #3CC7C0;
+ }
+ .van-dropdown-menu{
+ box-shadow: none!important;
+
+ }
+ .viewcell{
+ display: flex;
+ overflow: hidden;
+ box-sizing: border-box;
+ padding:40rpx 30rpx 30rpx;
+ width:100%;
+ border-radius: 10rpx;
+ background-color: #fff;
+ border-bottom: 1rpx solid #E7E7E7;
+ }
+ .viewcell:last-child{
+ border-bottom: none;
+ }
+ .viewcell .type{
+ height: 32rpx;
+ margin-bottom: 6rpx;
+ line-height: 32rpx;
+ display: flex;
+ white-space: nowrap;
+ align-items: center;
+ margin-left: 18rpx;
+ padding:0rpx 6rpx;
+ background: #ED9C00;
+ border-radius: 4rpx;
+ color: #FFFFFF;
+ font-size: 24rpx;
+ }
+ .viewcell .hospital{
+ margin-top: 12rpx;
+ color: #333333;
+ display: flex;
+ font-size: 30rpx;
+ word-wrap: break-word;
+ }
+ .hospital_name{
+ word-wrap: break-word;
+ margin-right: 10rpx;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+ .goodjob{
+ color: #666666;
+ margin-top: 28rpx;
+ line-height: 42rpx;
+ font-size: 28rpx;
+ word-break: break-all;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2; /* 这里是超出几行省略 */
+ overflow: hidden;
+ }
+ .price{
+ font-size: 28rpx;
+ position: relative;
+ }
+
+ .price text{
+ margin-left: 5rpx;
+ font-size: 32rpx;
+ color:#EF4F20;
+ }
+ .viewcell .right{
+ flex:1;
+ margin-left: 20rpx;
+ }
+ .viewcell image{
+ width:80rpx;
+ height:80rpx;
+ border-radius:50%;
+ }
+ .namebox{
+ display: flex;
+ font-size: 34rpx;
+ font-weight: 600;
+ color:#333;
+ align-items: flex-end;
+ }
+ .namebox .position{
+ font-weight: normal;
+ margin-left: 15rpx;
+ font-size: 30rpx;
+ }
+ .dropOnline.active{
+ color: #3CC7C0;
+ }
+ .diseaseType{
+ height: 40rpx;
+ background: #E2FFFE;
+ border-radius: 20rpx;
+ margin-right: 20rpx;
+ border: 1rpx solid #3CC7C0;
+ color: #3CC7C0;
+ font-size: 24rpx;
+ display: inline-flex;
+ text-align: center;
+ padding:0 15rpx;
+ align-items: center;
+ justify-content: center;
+ margin-top: 20rpx;
+ white-space: nowrap;
+ }
+ .detail{
+ margin-top: 20rpx;
+ display: flex;
+ font-size: 24rpx;
+ }
+ .detail view{
+ margin-right:40rpx;
+ }
+
+ .detail view text{
+ font-size: 28rpx;
+ color:#3CC7C0;
+ }
+ .consultbox{
+ position: relative;
+
+ margin-top: 28rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+
+ .consult{
+ height: 60rpx;
+ background: #3CC7C0;
+ border-radius: 30rpx;
+ color: #FFFFFF;
+ display: flex;
+ align-items: center;
+ padding:0 20rpx;
+ font-size: 30rpx;
+ }
+ .wraper{
+ display: flex;
+ flex-direction: column;
+ }
+ .scrollwraper{
+ flex: 1;
+ overflow-y: scroll;
+ -webkit-overflow-scrolling: touch;
+ }
+ .dropdown{
+ width:100%;
+ position: relative;
+ justify-content:center;
+ align-items: center;
+ border-bottom: 1rpx solid #E7E7E7;
+ display: flex;
+ }
+ .dropdown .bar{
+
+ height:40rpx;
+ width:1rpx;
+ left: 50%;
+ top:50%;
+ transform: translate(-50%,-50%);
+ position: absolute;
+ background:#ccc;
+ opacity: 0.9;
+ }
+ .dropbar{
+ background:#ccc;
+ opacity: 0.9;
+ height:40rpx;
+ width:1rpx;
+ position: static;
+ margin-top: 30rpx;
+ }
+ .dropOnline{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width:33.33%;
+ }
+ .viewcell .left{
+ position: relative;
+ }
+ .price .expert_prcie{
+ text-decoration: line-through;
+ color:#999;
+ }
+ .price .expert_prcie .priceactive{
+ color:#999;
+ }
+ .pricecell{
+ display: flex;
+ font-size: 30rpx;
+ align-items: center;
+ white-space: nowrap;
+ }
+ .videocell{
+ position: absolute;
+ right:0rpx;
+ }
+ .price.qs{
+ display: none;
+ }
+ .price.gy,.price.hasfree{
+ display: none;
+ }
+ .nonekaitong{
+ position: absolute;
+ top:0rpx;
+ font-size: 30rpx;
+ right:320rpx;
+ }
+ .nonekaitong text{
+ font-size: 30rpx;
+ }
+ .popwrper{
+ display: flex;
+ flex-direction: column;
+ }
+ .slotmsg{
+ height:400rpx;
+ overflow-y: scroll;
+ padding:30rpx;
+ }
+ .row{
+ display: flex;
+ margin-bottom: 6rpx;
+ line-height: 45rpx;
+ font-weight: 400;
+font-size: 28rpx;
+color: #333333;
+ }
+ .rowtitle{
+ margin-bottom:15rpx;
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #000000;
+
+ }
+ .rowbox{
+ margin-bottom: 20rpx;
+ }
+ .row .tips{
+ margin-top: 10rpx;
+ display: flex;
+ height: 113rpx;
+ padding:0 18rpx;
+ align-items: center;
+background: #F1F1F1;
+border-radius: 10rpx;
+ }
diff --git a/healthyService/pages/visitDetail/visitDetail.js b/healthyService/pages/visitDetail/visitDetail.js
index 248b2d4..b86ec01 100644
--- a/healthyService/pages/visitDetail/visitDetail.js
+++ b/healthyService/pages/visitDetail/visitDetail.js
@@ -1,4 +1,8 @@
// healthyService/pages/healthyDetail/healthyDetail.js
+import {doctorDetail} from "../../../api/consultExpert"
+import {getItems} from "../../../api/health"
+import {family,addfamily} from "../../../api/familyDoc";
+import {getServiceDetail} from "../../../api/health"
import {throttle} from "../../../utils/util"
const app = getApp()
Page({
@@ -7,34 +11,294 @@ Page({
* 页面的初始数据
*/
data: {
- active:0,
- priceList:[{
- price:'180元/1月',
- id:1
- },{
- price:'500元/3月',
- id:2
- },{
- price:'1000元/6月',
- id:3
- },{
- price:'2000元/12月',
- id:4
- }],
+ follow_package_item_id:'',
+ img_host:app.hostConfig().imghost,
+ doctor_id:'',
+ currentData:0,
+ inquiry_mode:9,
+ inquiry_type:1,
+ current_price:'',
+ avatar: '',
+ user_name: '',
+ doctor_title: '',
+ doctor_id: '',
+ doctor_title_name:'',
+ user_id:'',
+ is_online:'0',
+ hospital: null,
+ priceList:[],
+ show:false,
+ currentFamilyId:'',
+ realName:'',
+ idCard:'',
+ phoneNumber:'',
+ relationId:'',
+ sex:'',
+ service_type:2,
+ chat_id:'',
img_host:app.hostConfig().imghost
},
+ inputChange(e) {
+ this.setData({
+ [e.target.dataset.id]: e.detail.value
+ })
+ },
+ goNext:throttle(function() {
+ this.handleGetServiceDetail();
+
+ }),
+ addFamily() {
+ let {
+ realName,
+ idCard,
+ phoneNumber,
+ relationId,
+ sex
+ } = this.data;
+ addfamily({
+ card_name: realName,
+ type: 1,
+ id_number: idCard,
+ mobile: phoneNumber,
+ is_default: 0,
+ relation: relationId
+ }).then((data) => {
+ this.getFamily();
+ this.setData({
+ currentFamilyId:data.family_id,
+ realName:'',
+ idCard:'',
+ phoneNumber:'',
+ relationId:'',
+ relation:'',
+ showAdd:false
+ })
+
+ })
+ },
+
+ addPatient() {
+ this.setData({
+ showAdd: true,
+ currentFamilyId: '',
+ sex: ''
+ })
+ },
+ selectPatient(e) {
+ let currentFamilyId=e.currentTarget.dataset.familyid;
+ let sex=e.currentTarget.dataset.sex;
+ let name=e.currentTarget.dataset.name;
+ let age=e.currentTarget.dataset.age;
+ this.setData({
+ currentFamilyId:currentFamilyId,
+ sex:sex
+ })
+ },
+ transforpage(arr) {
+ const pages = []
+ let newArr = arr.concat([{
+ type: "add"
+ }])
+ newArr.forEach((item, index) => {
+ const page = Math.floor(index / 2)
+ if (!pages[page]) {
+ pages[page] = []
+ }
+ pages[page].push(item)
+ });
+ return pages
+ },
+ confirmNext() {
+ if (!/^[\u4e00-\u9fa5]+(·[\u4e00-\u9fa5]+)*$/.test(this.data.realName)) {
+ wx.showToast({
+ title: `姓名要求在2-10个字符`,
+ icon: 'none',
+ });
+ return false;
+ };
+ if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.data.idCard)) {
+ wx.showToast({
+ title: `请输入有效的身份证号`,
+ icon: 'none',
+ });
+ return false;
+ };
+
+ if (!/^1[3456789]\d{9}$/.test(this.data.phoneNumber)) {
+ wx.showToast({
+ title: `请输入有效的手机号码!`,
+ icon: 'none',
+ });
+ return false;
+ }
+ },
+ getFamily() {
+ family().then((data) => {
+ this.setData({
+ family: this.transforpage(data)
+ })
+ })
+ },
+ goSick:throttle(function() {
+ if (!/^([\u4e00-\u9fa5\·]{2,10})$/.test(this.data.realName)) {
+ wx.showToast({
+ title: `姓名要求在2-10个汉字`,
+ icon: 'none',
+ });
+ return false;
+ };
+ if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(this.data.idCard)) {
+ wx.showToast({
+ title: `请输入有效的身份证号`,
+ icon: 'none',
+ });
+ return false;
+ };
+ if (this.data.phoneNumber) {
+ if (!/^1[3456789]\d{9}$/.test(this.data.phoneNumber)) {
+ wx.showToast({
+ title: `请输入有效的手机号码!`,
+ icon: 'none',
+ });
+ return false;
+ }
+ };
+
+ let idInfo = this.getIdInfo(this.data.idCard);
+ if (idInfo.age < 6) {
+ wx.showToast({
+ title: `六岁以下儿童不支持线上问诊`,
+ icon: 'none',
+ });
+ return false;
+ }
+ this.setData({
+ sex:idInfo.sex
+ })
+ this.addFamily()
+
+ }),
+ //获取身份证号信息
+ getIdInfo(IdCard) {
+ var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
+ if (reg.test(IdCard)) {
+ let sex
+ if (parseInt(IdCard.substr(16, 1)) % 2 === 1) {
+ sex = '1'
+ } else {
+ sex = '2'
+ }
+ var ageDate = new Date()
+ var month = ageDate.getMonth() + 1
+ var day = ageDate.getDate()
+ var age = ageDate.getFullYear() - IdCard.substring(6, 10) - 1
+ if (IdCard.substring(10, 12) < month || (IdCard.substring(10, 12) === month && IdCard.substring(12, 14) <= day)) {
+ age++
+ }
+ if (age <= 0) {
+ age = 1
+ }
+ return {
+ sex,
+ age
+ }
+ } else {
+ return false;
+ }
+ },
+ onClose() {
+ this.setData({
+ show: false
+ });
+ },
+ onCloseAdd() {
+ this.setData({
+ showAdd: false
+ });
+ },
+ hanldeGetItems(id){
+ getItems(id).then(res=>{
+
+ let arr=res.map((item,index)=>{
+ return {
+ price:item.service_price+'元/'+ Number(item.service_period)/30+'月',
+ follow_package_item_id:item.follow_package_item_id,
+ service_price:item.service_price
+ }
+ });
+ this.setData({
+ priceList:arr,
+ current_price:res[0].service_price,
+ follow_package_item_id:res[0].follow_package_item_id
+ })
+ })
+ },
+ getDeatil(id) {
+ doctorDetail(id).then((res) => {
+ for (const key in this.data) {
+ if (res[key]) {
+ this.setData({
+ [key]: res[key]
+ })
+ }
+ };
+ this.setData({
+ chat_id:res.user_id
+ })
+ })
+ },
+ handleGetServiceDetail(){
+ let {doctor_id,currentFamilyId,service_type,follow_package_item_id,chat_id,sex,inquiry_mode,inquiry_type}=this.data;
+ getServiceDetail({
+ doctor_id,
+ family_id:currentFamilyId,
+ service_type,
+ follow_package_item_id
+
+ }).then((res)=>{
+ if(res.status==1){
+ app.method.navigateTo({
+ url:'/healthyService/pages/writeSick/writeSick?doctor_id='+doctor_id+"&family_id="+currentFamilyId+"&chat_id="+chat_id+"&inquiry_type="+inquiry_type+"&sex="+sex+"&inquiry_mode="+inquiry_mode+"&package_id="+follow_package_item_id
+ })
+ }else if(res.status==2){
+
+ }else if(res.status==3){
+ app.method.navigateTo({
+ url:'/patient/pages/expertDetail/expertDetail?doctor_id='+doctor_id
+ })
+
+ }else if(res.status==4){
+
+ }else if(res.status==5){
+
+ }
+
+ })
+ },
+ showPatient(){
+ this.setData({
+ show:true
+ })
+ },
choosePrice(e){
- let {id}=e.currentTarget.dataset;
+ let {id,price}=e.currentTarget.dataset;
+ console.log(price);
this.setData({
- active:id
+ follow_package_item_id:id,
+ current_price:price
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
+ this.setData({
+ doctor_id:options.doctor_id
+ })
+ this.getDeatil(options.doctor_id);
+ this.hanldeGetItems(options.doctor_id);
+ this.getFamily();
},
/**
diff --git a/healthyService/pages/visitDetail/visitDetail.json b/healthyService/pages/visitDetail/visitDetail.json
index 9ce900b..c931201 100644
--- a/healthyService/pages/visitDetail/visitDetail.json
+++ b/healthyService/pages/visitDetail/visitDetail.json
@@ -1,6 +1,8 @@
{
"usingComponents": {
- "nav":"../../../components/nav/nav"
+ "nav":"../../../components/nav/nav",
+ "van-popup": "@vant/weapp/popup/index",
+ "van-picker": "@vant/weapp/picker/index"
},
"navigationStyle":"custom"
}
\ No newline at end of file
diff --git a/healthyService/pages/visitDetail/visitDetail.wxml b/healthyService/pages/visitDetail/visitDetail.wxml
index 9e5cc77..af0aa46 100644
--- a/healthyService/pages/visitDetail/visitDetail.wxml
+++ b/healthyService/pages/visitDetail/visitDetail.wxml
@@ -1,11 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{user_name}}
+ {{hospital.hospital_level_name}}
+ 可处方
+
+ {{doctor_title_name}} {{item.department_custom_name}}
+ {{hospital.hospital_name}}
+
+
请选择服务
- {{item.price}}
+ {{item.price}}
@@ -65,6 +84,76 @@
- 立即购买:¥XX.XX
+ 立即购买:¥{{current_price}}
-
\ No newline at end of file
+
+
+ 选择患者
+
+
+
+
+
+ {{item.card_name}}
+ 本人
+ 父母
+ 爱人
+ 子女
+ 亲戚
+ 其他
+
+
+ 性别未知
+ 男
+ 女
+ {{item.age}}岁
+
+
+
+
+ +新建患者
+
+
+
+
+
+
+
+
+
+
+
+ 新建患者
+
+ 真实姓名*
+
+
+
+ 身份证号*
+
+
+
+ 联系电话
+
+
+
+ 患者关系
+
+
+
+ 温馨提示:
+
+ 1、根据国家卫健委要求,就医实行实名制,请如实填写患者信息。
+ 2、信息受隐私保护,仅接诊医生可见。
+
+ 3、6岁以下儿童不支持线上问诊,请到线下就诊。
+
+
+
+
+ 确定
+
+
+
\ No newline at end of file
diff --git a/healthyService/pages/visitDetail/visitDetail.wxss b/healthyService/pages/visitDetail/visitDetail.wxss
index 06e0568..0c0aade 100644
--- a/healthyService/pages/visitDetail/visitDetail.wxss
+++ b/healthyService/pages/visitDetail/visitDetail.wxss
@@ -2,14 +2,25 @@ page{
height:100vh;
overflow: hidden;
}
+
/* healthyService/pages/healthyDetail/healthyDetail.wxss */
.page{
width:100%;
+ background: #F2F2F2;
height:calc(100% - 172rpx);
margin-top: 172rpx;
display: flex;
overflow: hidden;
flex-direction: column;
+}
+.viewcell{
+ display: flex;
+ background-color: #fff;
+ margin:30rpx;
+ padding:20rpx;
+ box-shadow: 0rpx 8rpx 20rpx 2rpx rgba(0,0,0,0.04);
+border-radius: 10rpx;
+
}
.dcimg{
width:100%;
@@ -122,4 +133,298 @@ border-radius: 10rpx;
background: #3CC7C0;
color:#fff;
border: 1rpx solid #3CC7C0;
-}
\ No newline at end of file
+}
+
+
+ .viewcell .type{
+ height: 32rpx;
+ margin-bottom: 6rpx;
+ line-height: 32rpx;
+ display: flex;
+ white-space: nowrap;
+ align-items: center;
+ margin-left: 18rpx;
+ padding:0rpx 6rpx;
+ background: #ED9C00;
+ border-radius: 4rpx;
+ color: #FFFFFF;
+ font-size: 24rpx;
+ }
+ .viewcellbox .hospital{
+ margin-top: 12rpx;
+ color: #333333;
+ display: flex;
+ font-size: 30rpx;
+ word-wrap: break-word;
+ }
+ .hospital_name{
+ font-size: 28rpx;
+ word-wrap: break-word;
+ margin-right: 10rpx;
+ overflow: hidden;
+ white-space: nowrap;
+ color:#333;
+ text-overflow: ellipsis;
+ }
+ .goodjob{
+ color: #666666;
+ margin-top: 28rpx;
+ line-height: 42rpx;
+ font-size: 28rpx;
+ word-break: break-all;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2; /* 这里是超出几行省略 */
+ overflow: hidden;
+ }
+ .price{
+ font-size: 28rpx;
+ position: relative;
+ }
+
+ .price text{
+ margin-left: 5rpx;
+ font-size: 32rpx;
+ color:#EF4F20;
+ }
+ .viewcell .right{
+ flex:1;
+ margin-left: 20rpx;
+ }
+ .viewcell image{
+ width:120rpx;
+ height:120rpx;
+ border-radius:50%;
+ }
+ .namebox{
+ display: flex;
+ font-size: 34rpx;
+ font-weight: 600;
+ color:#333;
+ align-items: flex-end;
+ }
+ .namebox .position{
+ font-weight: normal;
+ margin-left: 15rpx;
+ font-size: 30rpx;
+ }
+ .headimg{
+ width:120rpx;
+ height:120rpx;
+ border-radius: 50%;
+ }
+ .personbox {
+ border-radius: 10rpx;
+ background-color: #fff;
+ padding: 40rpx 20rpx 144rpx;
+ overflow-y: scroll;
+ }
+
+ .personbox .row {
+ margin-top: 30rpx;
+ display: flex;
+ justify-content: space-between;
+
+ }
+
+ .personbox .row:first-child {
+ margin-top: 0;
+ }
+
+ .personbox .row .cell {
+ position: relative;
+ width: 47%;
+ height: 120rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ margin-left: 30rpx;
+ border-radius: 10rpx;
+ border: 1px solid #CCCCCC;
+ }
+
+ .personbox .row .cell:first-child {
+ margin-left: 0rpx;
+ }
+
+ .personbox .person {
+ display: flex;
+ margin: 0 25rpx;
+ align-items: center;
+ }
+
+ .personbox .tag {
+ margin-left: 32rpx;
+ font-size: 24rpx;
+ display: flex;
+ align-items: center;
+ line-height: 24rpx;
+ justify-content: center;
+ color: #666666;
+ width: 80rpx;
+ height: 32rpx;
+ border-radius: 4rpx;
+ transform: rotateZ(360deg);
+ border: 1rpx solid #979797;
+ }
+
+ .personbox .desc {
+ display: flex;
+ margin: 0 25rpx;
+ font-size: 28rpx;
+ color: #666;
+ margin-top: 3px;
+ }
+
+ .personbox .name {
+ white-space: nowrap;
+ overflow: hidden;
+ max-width: 200rpx;
+ text-overflow: ellipsis;
+ font-size: 34rpx;
+ color: #333;
+ }
+
+ .personbox .age {
+
+ margin-left: 12rpx;
+ }
+
+ .personbox .cell .gou {
+ position: absolute;
+ bottom: -1rpx;
+ right: 0rpx;
+ width: 66rpx;
+ height: 53.7rpx;
+ }
+
+ .personbox .add {
+ justify-content: center;
+ align-items: center;
+ font-size: 34rpx;
+ color: #333;
+ }
+ .own .add.disabled{
+ color: #999;
+ }
+ .titlepop{
+ font-size: 34rpx;
+ font-weight: 400;
+ color: #333333;
+ padding:40rpx 0;
+ text-align: center;
+ width:100%;
+ border-bottom:1rpx solid #E7E7E7;
+ }
+
+ .van-icon-cross {
+ color: #333;
+ font-size: 40rpx !important;
+ }
+
+ .infobox {
+ margin-top: 40rpx;
+ }
+
+ .info {
+ border-bottom: 1rpx solid #E7E7E7;
+ display: flex;
+ align-items: center;
+ height: 112rpx;
+ color: #333333;
+ }
+
+ .infobox .title {
+ border-bottom: 1rpx solid #E7E7E7;
+ text-align: center;
+ font-size: 34rpx;
+ padding-bottom: 35rpx;
+ }
+
+ .info .name {
+ white-space: nowrap;
+ width: 180rpx;
+ display: flex;
+ align-items: center;
+ margin-left: 52rpx;
+ color: #333333;
+ font-size: 34rpx;
+ }
+
+ .info text {
+ margin-top: 20rpx;
+ color:#E34D59;
+
+ display: flex;
+ align-items: center;
+ }
+ .info input {
+ margin-left: 15rpx;
+ margin-right: 52rpx;
+ flex: 1;
+ }
+ .input-placeholder {
+ color: #999999;
+ font-size: 28rpx;
+ }
+ .tip{
+ padding:30rpx 52rpx 20rpx;
+ }
+ .warntitle{
+ color: #E34D59;
+ font-size: 28rpx;
+ }
+ .warn{
+ margin-top: 20rpx;
+ font-size: 24rpx;
+ line-height: 36rpx;
+ color: #666666;
+ }
+ .next{
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 94rpx;
+ font-size: 36rpx;
+ left: 30rpx;
+ right: 30rpx;
+ margin:0 52rpx;
+ border-radius: 47rpx;
+ color: #fff;
+ margin-bottom: 40rpx;
+ background: #3CC7C0;
+ }
+ .celladd{
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ height: 120rpx;
+ }
+ .btnbox{
+ position: fixed;
+ width:100%;
+ bottom:0rpx;
+ height: 134rpx;
+ background:#fff;
+
+
+ }
+ .btnbox .btn{
+ border-radius: 47rpx;
+ border:none;
+ background: #3CC7C0!important;
+ margin:0 32rpx;
+ height: 94rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 36rpx;
+ color: #FFFFFF!important;
+ }
+ .btnbox .btn[disabled]{
+ color: #000000!important;
+ background:rgba(0,0,0,0.1)!important;
+ }
+
\ No newline at end of file
diff --git a/healthyService/pages/visitList/visitList.js b/healthyService/pages/visitList/visitList.js
new file mode 100644
index 0000000..9f65dd9
--- /dev/null
+++ b/healthyService/pages/visitList/visitList.js
@@ -0,0 +1,159 @@
+// healthyService/pages/healthyIntro/healthyIntro.js
+import {throttle} from "../../../utils/util"
+import {doctorList} from "../../../api/consultExpert"
+const app = getApp()
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ blockHeight:"150rpx",
+ type:'',
+ doctorList:[],
+ page:1,
+ pageNumber:10,
+ isTriggered:false,
+ show:false,
+ expertise_id:'',
+ province_id:'',
+ city_id:'',
+ keyword:'',
+ lock:false,
+ is_online:0,
+ sort_order:1,
+ inquiry_type:'1',
+ inquiry_mode:'9',
+ },
+ handleRefresher(){
+
+ this.setData({
+ lock:false,
+ page:1,
+ doctorList:[]
+ });
+ this.getDoctorList()
+ },
+ goExpertDetail:throttle(function(e){
+ let {doctorid}=e.currentTarget.dataset;
+ app.method.navigateTo({
+ url:'/healthyService/pages/visitDetail/visitDetail?doctor_id='+doctorid
+ })
+ }),
+ getDoctorList(){
+ let {expertise_id,province_id, city_id,sort_order,keyword,page,pageNumber,is_online,inquiry_type,inquiry_mode}=this.data;
+ doctorList({
+ expertise_id:expertise_id,
+ province_id:province_id,
+ city_id:city_id,
+ sort_order: sort_order,
+ is_first_online:is_online,
+ keyword:keyword,
+ inquiry_type,
+ inquiry_mode,
+ page:page,
+ per_page:pageNumber
+ }).then((res)=>{
+ let {doctorList}=this.data;
+ if(res.data.length==0){
+ this.setData({
+ lock:true,
+ isTriggered:false
+ });
+ return false;
+ }else{
+ this.setData({
+ isTriggered:false,
+ doctorList:doctorList.concat(res.data)
+ })
+ }
+
+
+ })
+ },
+ onfresh(){
+ this.setData({
+ page:1,
+ doctorList:[],
+ lock:false
+ })
+ this.getDoctorList();
+ },
+ lower(e) {
+ let {lock}=this.data;
+ let addPage=this.data.page+1;
+ if(!lock){
+ this.setData({
+ page:addPage
+ });
+ this.getDoctorList();
+ }
+ },
+ goDetail:throttle(function(){
+ let url=this.data.type?'/healthyService/pages/visitDetail/visitDetail':'/healthyService/pages/healthyDetail/healthyDetail'
+ app.method.navigateTo({
+ url: url
+ })
+ }),
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ if(options.type){
+ this.setData({
+ type:'visit'
+ })
+ }
+ this.getDoctorList();
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/healthyService/pages/visitList/visitList.json b/healthyService/pages/visitList/visitList.json
new file mode 100644
index 0000000..39c3ea8
--- /dev/null
+++ b/healthyService/pages/visitList/visitList.json
@@ -0,0 +1,7 @@
+{
+ "usingComponents": {
+ "nav":"../../../components/nav/nav",
+ "van-popup": "@vant/weapp/popup/index"
+ },
+ "navigationStyle":"custom"
+}
\ No newline at end of file
diff --git a/healthyService/pages/visitList/visitList.wxml b/healthyService/pages/visitList/visitList.wxml
new file mode 100644
index 0000000..0c8a3e9
--- /dev/null
+++ b/healthyService/pages/visitList/visitList.wxml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.user_name}}
+
+ {{item.hospital.hospital_level_name}}
+ 可处方
+
+ {{item.doctor_title_name}} {{item.department_custom_name}}
+ {{item.hospital.hospital_name}}
+ 擅长:{{item.be_good_at}}
+ {{cell.expertise_name}}
+
+ 评分: {{item.praise_rate}} 暂无
+ 问诊量: {{item.served_patients_num}}暂无
+ 平均回复: {{moduleFilter.formatReply(item.avg_response_time)}}h暂无
+
+
+
+ 随访包:¥{{itemName.inquiry_price}}/月起
+
+
+
+
+
+
+
+ 暂无数据!
+
+
+
+
diff --git a/healthyService/pages/visitList/visitList.wxss b/healthyService/pages/visitList/visitList.wxss
new file mode 100644
index 0000000..22c20fb
--- /dev/null
+++ b/healthyService/pages/visitList/visitList.wxss
@@ -0,0 +1,367 @@
+/* healthyService/pages/healthyIntro/healthyIntro.wxss */
+.page{
+
+ margin-top: 172rpx;
+
+ height: calc(100vh - 172rpx);
+ position: relative;
+}
+.imgbox{
+ position: relative;
+}
+page{
+ height: 100vh;
+ overflow: hidden;
+}
+.btn{
+ position: absolute;
+
+ left: 50%;
+ margin-left: -232rpx;
+ width:464rpx;
+ height: 86rpx;
+ bottom:130rpx;
+}
+.bg{
+ width:100%;
+}
+.top{
+ position: absolute;
+ top:10rpx;
+ width:100%;
+ display: flex;
+ justify-content: center;
+ padding:20rpx 0;
+ }
+ .top .up{
+ width:40rpx;
+ height:22rpx;
+ transition: all 0.5s;
+ }
+ .top .up.active{
+ transform: rotate(180deg);
+ }
+ .popname{
+ margin-top: 60rpx;
+ padding:20rpx 52rpx 30rpx;
+ font-size: 34rpx;
+ color:#333;
+ border-bottom: 1px solid #E7E7E7;
+ }
+.popwrper{
+ top:0rpx;
+ background-color: #fff;
+ position: relative;
+ transition: height 0.5s;
+ width:100%;
+ border-radius: 20rpx;
+ overflow: hidden;
+ height:100%;
+ bottom:0px;
+ }
+ .wraper{
+
+ height: 100%;
+ }
+ .containexpert{
+ margin-top: 172rpx;
+ padding: 0 30rpx 0rpx;
+ overflow: hidden;
+ position: relative;
+ transform: all 0.3s ease;
+ }
+ .droptitle,.van-ellipsis{
+ font-size: 30rpx!important;
+ }
+ .namebox .name{
+ max-width:400rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
+ .droptitle.active{
+ color:#3CC7C0;
+ }
+ .searchbox {
+ width: 100%;
+ height: 72rpx;
+ display: flex;
+ border-radius: 40rpx;
+ align-items: center;
+ margin-top: 20rpx;
+ background: #FBFBFB;
+ border-radius: 36px;
+ border: 1rpx solid #CCCCCC;
+ }
+
+ .searchbox input {
+ margin-left: 30rpx;
+ flex: 1;
+ font-size: 32rpx;
+ height: 80rpx;
+ }
+
+ .searchbox image {
+ width: 30rpx;
+ height: 30rpx;
+ margin-right: 28rpx;
+ }
+
+ .scroll-view_H {
+ height:195rpx;
+ white-space: nowrap;
+ vertical-align: top;
+ }
+ .scroll-view-item_H{
+ /* width: 154rpx; */
+ padding:0 15rpx;
+ background: #F4F4F4;
+ border-radius: 30rpx;
+ font-size: 28rpx;
+ color: #666666;
+ margin-left: 36rpx;
+ border: 1rpx solid #F4F4F4;
+ height: 58rpx;
+ display: inline-block;
+ text-align: center;
+ line-height: 58rpx;
+ }
+
+ .page-section-spacing .row{
+ margin-top: 40rpx;
+ margin-bottom: 30rpx;
+ }
+ .page-section-spacing .row:last-child{
+ margin-top: 30rpx;
+ margin-bottom: 10rpx;
+ }
+ .scroll-view_H .scroll-view-item_H:first-child{
+ margin-left: 0rpx;
+
+ }
+ .scroll-view-item_H.active {
+ background: #E2FFFE;
+ color: #3CC7C0;
+ border: 1rpx solid #3CC7C0;
+ }
+ .van-dropdown-menu{
+ box-shadow: none!important;
+
+ }
+ .viewcell{
+ display: flex;
+ overflow: hidden;
+ box-sizing: border-box;
+ padding:40rpx 30rpx 30rpx;
+ width:100%;
+ border-radius: 10rpx;
+ background-color: #fff;
+ border-bottom: 1rpx solid #E7E7E7;
+ }
+ .viewcell:last-child{
+ border-bottom: none;
+ }
+ .viewcell .type{
+ height: 32rpx;
+ margin-bottom: 6rpx;
+ line-height: 32rpx;
+ display: flex;
+ white-space: nowrap;
+ align-items: center;
+ margin-left: 18rpx;
+ padding:0rpx 6rpx;
+ background: #ED9C00;
+ border-radius: 4rpx;
+ color: #FFFFFF;
+ font-size: 24rpx;
+ }
+ .viewcell .hospital{
+ margin-top: 12rpx;
+ color: #333333;
+ display: flex;
+ font-size: 30rpx;
+ word-wrap: break-word;
+ }
+ .hospital_name{
+ word-wrap: break-word;
+ margin-right: 10rpx;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+ .goodjob{
+ color: #666666;
+ margin-top: 28rpx;
+ line-height: 42rpx;
+ font-size: 28rpx;
+ word-break: break-all;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2; /* 这里是超出几行省略 */
+ overflow: hidden;
+ }
+ .price{
+ font-size: 28rpx;
+ position: relative;
+ }
+
+ .price text{
+ margin-left: 5rpx;
+ font-size: 32rpx;
+ color:#EF4F20;
+ }
+ .viewcell .right{
+ flex:1;
+ margin-left: 20rpx;
+ }
+ .viewcell image{
+ width:80rpx;
+ height:80rpx;
+ border-radius:50%;
+ }
+ .namebox{
+ display: flex;
+ font-size: 34rpx;
+ font-weight: 600;
+ color:#333;
+ align-items: flex-end;
+ }
+ .namebox .position{
+ font-weight: normal;
+ margin-left: 15rpx;
+ font-size: 30rpx;
+ }
+ .dropOnline.active{
+ color: #3CC7C0;
+ }
+ .diseaseType{
+ height: 40rpx;
+ background: #E2FFFE;
+ border-radius: 20rpx;
+ margin-right: 20rpx;
+ border: 1rpx solid #3CC7C0;
+ color: #3CC7C0;
+ font-size: 24rpx;
+ display: inline-flex;
+ text-align: center;
+ padding:0 15rpx;
+ align-items: center;
+ justify-content: center;
+ margin-top: 20rpx;
+ white-space: nowrap;
+ }
+ .detail{
+ margin-top: 20rpx;
+ display: flex;
+ font-size: 24rpx;
+ }
+ .detail view{
+ margin-right:40rpx;
+ }
+
+ .detail view text{
+ font-size: 28rpx;
+ color:#3CC7C0;
+ }
+ .consultbox{
+ position: relative;
+
+ margin-top: 28rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+
+ .consult{
+ height: 60rpx;
+ background: #3CC7C0;
+ border-radius: 30rpx;
+ color: #FFFFFF;
+ display: flex;
+ align-items: center;
+ padding:0 20rpx;
+ font-size: 30rpx;
+ }
+ .wraper{
+ display: flex;
+ flex-direction: column;
+ }
+ .scrollwraper{
+ flex: 1;
+ overflow-y: scroll;
+ -webkit-overflow-scrolling: touch;
+ }
+ .dropdown{
+ width:100%;
+ position: relative;
+ justify-content:center;
+ align-items: center;
+ border-bottom: 1rpx solid #E7E7E7;
+ display: flex;
+ }
+ .dropdown .bar{
+
+ height:40rpx;
+ width:1rpx;
+ left: 50%;
+ top:50%;
+ transform: translate(-50%,-50%);
+ position: absolute;
+ background:#ccc;
+ opacity: 0.9;
+ }
+ .dropbar{
+ background:#ccc;
+ opacity: 0.9;
+ height:40rpx;
+ width:1rpx;
+ position: static;
+ margin-top: 30rpx;
+ }
+ .dropOnline{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ width:33.33%;
+ }
+ .viewcell .left{
+ position: relative;
+ }
+ .price .expert_prcie{
+ text-decoration: line-through;
+ color:#999;
+ }
+ .price .expert_prcie .priceactive{
+ color:#999;
+ }
+ .pricecell{
+ display: flex;
+ font-size: 30rpx;
+ align-items: center;
+ white-space: nowrap;
+ }
+ .videocell{
+ position: absolute;
+ right:0rpx;
+ }
+ .price.qs{
+ display: none;
+ }
+ .price.gy,.price.hasfree{
+ display: none;
+ }
+ .nonekaitong{
+ position: absolute;
+ top:0rpx;
+ font-size: 30rpx;
+ right:320rpx;
+ }
+ .nonekaitong text{
+ font-size: 30rpx;
+ }
+ .popwrper{
+ display: flex;
+ flex-direction: column;
+ }
\ No newline at end of file
diff --git a/healthyService/pages/writeSick/writeSick.js b/healthyService/pages/writeSick/writeSick.js
new file mode 100644
index 0000000..ed2e103
--- /dev/null
+++ b/healthyService/pages/writeSick/writeSick.js
@@ -0,0 +1,901 @@
+// pages/writeSick/writeSick.js
+const app = getApp()
+import Dialog from '@vant/weapp/dialog/dialog';
+import dayjs from '../../../utils/dayjs.min.js'
+import {
+ createServiceOrder
+} from "../../../api/health"
+import {
+ getSign
+} from "../../../api/common"
+import {
+ lastSick
+} from "../../../api/consultExpert"
+import {
+ throttle
+} from "../../../utils/util"
+import {client_type} from "../../../utils/isPc"
+import {isExist,pathographyDetail} from "../../../api/sickRecord"
+let urlHost=app.hostConfig().agreehost;
+console.log(client_type);
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ prevData: null,
+ pathography_id:'',
+ showdialog: false,
+ showAgreeDialog: false,
+ message: '',
+ order_inquiry_id:'',
+ doctor_id: '',
+ family_id: '',
+ chat_id: '',
+ inquiry_type: 1,
+ inquiry_mode: 1,
+ messageTitle: '',
+ disease_class_name: '',
+ disease_class_id:null,
+ show: false,
+ startIndex: 0,
+ cancelBtn: false,
+ showSick: false,
+ hideSick: false,
+ hideGuomin: false,
+ hidePregnant:false,
+ disease_desc: '',
+ hideFamilysick: false,
+ showBack: false,
+ is_exist:false,
+ columns: [],
+ fileList: [],
+ lockBtn: false,
+ checkSign: false,
+ is_allergy_history:null,
+ is_family_history:null,
+ is_pregnant:null,
+ pregnant: '',
+ checkAgree: false,
+ is_taboo:null,
+ diagnosis_date:null,
+ service_type:2,
+ product: [],
+ follow_package_item_id:'',
+ img_host:'https://oss.prod.applets.igandanyiyuan.com/applet/patient/static',
+ allergy_history: '',
+ family_history: '',
+ currentDate: new Date().getTime(),
+ minDate: new Date('1900/01/01 00:00:00').getTime(),
+ maxDate: new Date().getTime(),
+ formatter(type, value) {
+ if (type === 'year') {
+ return `${value}年`;
+ }
+ if (type === 'month') {
+ return `${value}月`;
+ }
+ if (type === 'day') {
+ return `${value}日`;
+ }
+ return value;
+ }
+
+ },
+ setInfo(obj){
+ let Info =obj;
+ for (const key in Info) {
+ if (key != "product") {
+ if (Info[key]) {
+ this.setData({
+ [key]: Info[key]
+ })
+ }
+ }
+
+ };
+ if (Info.disease_desc) {
+ this.setData({
+ hideSick: true
+ })
+ };
+ if (Info.pregnant) {
+ this.setData({
+ hidePregnant: true
+ })
+ };
+
+ if (Info.allergy_history) {
+ this.setData({
+ hideGuomin: true
+ })
+ };
+ if (Info.family_history) {
+ this.setData({
+ hideFamilysick: true
+ })
+ };
+
+ if (Info.fileList) {
+
+ this.setData({
+ fileList:Info.fileList,
+ checkSign: false
+ })
+ } else {
+ this.setData({
+ checkSign: true
+ })
+ }
+ },
+ getlocalInfo(id){
+ let sickInfo = wx.getStorageSync('sickInfo');
+ if (sickInfo) {
+ var InfoObj = JSON.parse(sickInfo);
+ if (InfoObj instanceof Array) {
+ let obj=null;
+ let isHas= InfoObj.some((item)=>{
+ if(item.family_id==id){
+ obj=item;
+ }
+ return item.family_id==id;
+ })
+ if(isHas){
+ this.setInfo(obj)
+ }else{
+ this.handleOnlineSick(this.data.family_id);
+ }
+ // for (let i = 0; i < InfoObj.length; i++) {
+ // if (InfoObj[i].family_id == id) {
+ // Dialog.confirm({
+ // title: '温馨提示',
+ // message: '是否加载之前保存的病情信息?',
+ // }).then(() => {
+ // this.setInfo(InfoObj[i])
+ // }).catch(() => {
+
+ // });
+
+ // break;
+ // };
+ // }
+ }
+
+ }else{
+ this.handleOnlineSick(this.data.family_id);
+ }
+ },
+ handleSetValue(data){
+ if(data){
+ let obj = {
+ disease_class_name: '',
+ disease_class_id: '',
+ diagnosis_date: '',
+ disease_desc: '',
+ is_allergy_history:null,
+ product: [],
+ is_taboo:null,
+ is_pregnant:null,
+ pregnant: '',
+ is_family_history:null,
+ allergy_history: '',
+ family_history: '',
+ }
+ for (const key in obj) {
+ if (key != "product") {
+ if(key=="is_taboo" && !data[key]){
+ this.setData({
+ [key]: null
+ })
+ }else{
+ this.setData({
+ [key]: data[key]
+ })
+ }
+
+ }
+
+ };
+ if (data.disease_desc) {
+ this.setData({
+ hideSick: true
+ })
+ };
+ if (data.pregnant) {
+ this.setData({
+ hidePregnant: true
+ })
+ };
+
+ if (data.allergy_history) {
+ this.setData({
+ hideGuomin: true
+ })
+ };
+ if (data.family_history) {
+ this.setData({
+ hideFamilysick: true
+ })
+ };
+ if (data.diagnose_images) {
+ this.setData({
+ fileList: data.diagnose_images,
+ checkSign: false
+ })
+ } else {
+ this.setData({
+ checkSign: false
+ })
+ }
+ }
+ },
+ handleOnlineSick(id){
+ lastSick(id).then(data => {
+ this.handleSetValue(data);
+ })
+ },
+ // handleLastSick(id) {
+ // lastSick(id).then(data => {
+ // if (!data){
+ // this.getlocalInfo(id);
+ // } else {
+
+
+ // }
+ // })
+ // },
+
+ onConfirm(event) {
+ const {
+ value
+ } = event.detail;
+ this.setData({
+ disease_class_name: `${value.disease_class_name}`,
+ disease_class_id: `${value.disease_class_id}`,
+ showSick: false
+ })
+ },
+ showSick() {
+ app.method.navigateTo({
+ url: '/patient/pages/commonSick/commonSick'
+ })
+ },
+ delImg(event) {
+ let id = event.currentTarget.dataset.id;
+ this.data.fileList.splice(id, 1);
+ this.setData({
+ fileList: this.data.fileList
+ })
+ },
+ previewImage(event) {
+ let id = event.currentTarget.dataset.id;
+ let urls = this.data.fileList;
+ wx.previewImage({
+ current: urls[id], // 当前显示图片的http链接
+ urls: urls // 需要预览的图片http链接列表
+ })
+ },
+ uploadFile(File) {
+ wx.showLoading({
+ title: '图片上传中...',
+ mask: true
+ })
+ let THIS = this;
+ getSign({
+ user_type: 1,
+ scene: 2
+ }).then((resdata) => {
+ let {
+ accessid,
+ dir,
+ policy,
+ signature,
+ host
+ } = resdata;
+ let index = File.lastIndexOf("/");
+ let filename = File.substring(index + 1, File.length);
+ return new Promise((resolve, reject) => {
+ wx.uploadFile({
+ url: host, // 仅为示例,非真实的接口地址
+ filePath: File,
+ name: 'file',
+ formData: {
+ OSSAccessKeyId: accessid,
+ policy,
+ key: dir + filename,
+ signature
+ },
+ success(res) {
+ if (res.statusCode === 204) {
+ let url = host + '/' + dir + filename;
+ THIS.setData({
+ fileList: THIS.data.fileList.concat([url])
+ })
+ }
+ },
+ fail: err => {
+ console.log(err);
+ }
+ });
+ })
+ })
+ },
+
+ upload() {
+ if(this.data.fileList.length>=9){
+ wx.showToast({
+ title: '复诊凭证最多上传9张',
+ icon:"none"
+ })
+ return false
+ };
+ let THIS = this;
+ wx.chooseMedia({
+ count: 9-this.data.fileList.length,
+ mediaType: ['image'],
+ sourceType: ['album', 'camera'],
+ success(res) {
+ var imgList = res.tempFiles;
+ var promiseFun = [];
+ for (let i = 0; i < imgList.length; i++) {
+ var file = imgList[i].tempFilePath;
+ promiseFun.push(
+ THIS.uploadFile(file)
+ )
+ };
+ Promise.all(promiseFun).then((res) => {
+ wx.showToast({
+ title: '图片上传成功',
+ icon: "none"
+ })
+ THIS.setData({
+ checkSign: false
+ })
+ wx.hideLoading();
+
+ });
+
+ }
+ })
+ },
+ onCancel() {
+ this.setData({
+ showSick: false
+ })
+ },
+ goRecord:throttle(function(){
+ app.method.navigateTo({
+ url:'/patient/pages/sickRecord/sickRecord?family_id='+this.data.family_id
+ })
+ }),
+ handleThrottle: throttle(function () {
+ this.create_Order()
+ }),
+ create_Order() {
+ let {
+ inquiry_type,
+ inquiry_mode,
+ doctor_id,
+ family_id,
+ disease_class_id,
+ diagnosis_date,
+ disease_desc,
+ fileList,
+ is_allergy_history,
+ checkSign,
+ is_pregnant,
+ pregnant,
+ is_family_history,
+ allergy_history,
+ family_history,
+ checkAgree,
+ sex,
+ service_type,
+ follow_package_item_id
+ } = this.data;
+
+ if (!disease_class_id) {
+ wx.showToast({
+ title: '请选择所患疾病',
+ icon: "none"
+ })
+ return false;
+ };
+ if (!diagnosis_date) {
+ wx.showToast({
+ title: '请选择确诊日期',
+ icon: "none"
+ })
+ return false;
+ };
+ if (!disease_desc) {
+ wx.showToast({
+ title: '请填写病情主诉',
+ icon: "none"
+ })
+ return false;
+ };
+ if(disease_desc.length<10){
+ wx.showToast({
+ title: '病情主诉不少于10个字',
+ icon: "none"
+ })
+ return false;
+ };
+
+ if (fileList.length == 0 && !checkSign) {
+ wx.showToast({
+ title: '请上传复诊凭证或者勾选凭证遗失或不在身边',
+ icon: "none"
+ })
+ return false;
+ }
+
+
+
+ if (inquiry_type == 4 && allergy_history) {
+ for (let i = 0; i < product.length; i++) {
+ if (allergy_history.indexOf(product[i].product_name) != -1) {
+ this.setData({
+ showdialog: true,
+ messageTitle: "您的情况不适合线上问诊开方,建议线下就诊"
+ })
+ return false
+ }
+
+ }
+ };
+ if(is_allergy_history==null){
+ wx.showToast({
+ title: '请选择您是否有过敏史',
+ icon: "none"
+ })
+ return false;
+ };
+ if(is_allergy_history==1){
+ if(!allergy_history){
+ wx.showToast({
+ title: '过敏史内容不能为空',
+ icon: "none"
+ })
+ return false;
+ }
+ };
+ if(is_family_history==null){
+ wx.showToast({
+ title: '请选择您是否有家族病史',
+ icon: "none"
+ })
+ return false;
+ };
+ if(is_family_history==1){
+ if(!family_history){
+ wx.showToast({
+ title: '家族病史内容不能为空',
+ icon: "none"
+ })
+ return false;
+ }
+ };
+ if(is_pregnant==null && sex==2){
+ wx.showToast({
+ title: '请选择您是否处于备孕、妊娠、哺乳期',
+ icon: "none"
+ })
+ return false;
+ };
+ if (is_pregnant == 1) {
+ wx.showToast({
+ title: '您的情况不适合线上问诊开方,建议线下就诊',
+ icon: "none"
+ })
+ return false;
+ }
+ if (!checkAgree) {
+ this.setData({
+ showAgreeDialog: true
+ })
+ return false;
+ };
+ this.setData({
+ lockBtn: true
+ });
+ createServiceOrder({
+ patient_id: wx.getStorageSync('CLIENT_USER_ID'),
+ doctor_id: doctor_id,
+ family_id: family_id,
+ disease_class_id: disease_class_id,
+ diagnosis_date: diagnosis_date,
+ disease_desc: disease_desc,
+ is_allergy_history:is_allergy_history,
+ allergy_history: allergy_history,
+ family_history: family_history,
+ is_family_history: is_family_history,
+ is_pregnant: is_pregnant,
+ pregnant: pregnant,
+ inquiry_type: inquiry_type,
+ inquiry_mode: inquiry_mode,
+ diagnose_images: fileList,
+ client_type:client_type ,
+ service_type:service_type,
+ follow_package_item_id:follow_package_item_id
+ }).then((data) => {
+ let {
+ inquiry_no,
+ order_inquiry_id
+ } = data.data;
+ let {
+ chat_id,
+ inquiry_type,
+ inquiry_mode
+ } = this.data;
+ this.setData({
+ lockBtn: false
+ });
+ if(data.status==1){
+ app.method.navigateTo({
+ url: '/patient/pages/payOrder/payOrder?doctor_id=' + doctor_id + '&inquiry_no=' + inquiry_no + "&chat_id=" + chat_id + "&inquiry_type=" + inquiry_type + "&inquiry_mode=" + inquiry_mode + "&order_inquiry_id=" + order_inquiry_id + "&fromType=chat"
+ })
+ }else if(data.status==2){
+ this.setData({
+ showdialog:true,
+ messageTitle:"当前患者存在进行中问诊订单",
+ order_inquiry_id: order_inquiry_id,
+ cancelBtn:true
+ })
+ }
+
+
+ }).catch((error)=>{
+ this.setData({
+ showdialog:true,
+ messageTitle:error.message,
+ cancelBtn:true
+ })
+ })
+ },
+ inputChange(e) {
+ this.setData({
+ [e.target.dataset.id]: e.detail.value
+ })
+ },
+ openPop() {
+ this.setData({
+ show: true
+ })
+ },
+ handleClose() {
+ this.setData({
+ show: false
+ })
+ },
+ handleConfirm(event) {
+ this.setData({
+ show: false
+ });
+ this.setData({
+ diagnosis_date: dayjs(event.detail).format('YYYY-MM-DD')
+ });
+ },
+ handlepathographyDetail(id){
+ pathographyDetail(id).then(data=>{
+ this.handleSetValue(data);
+ })
+ },
+ handleIsExist(){
+ let {family_id}=this.data;
+ isExist({
+ family_id
+ }).then(data=>{
+ this.setData({
+ is_exist:data.is_exist==0?false:true
+ })
+ })
+ },
+ handelFocus(e) {
+ let key = e.target.dataset.id;
+ let value = e.target.dataset.value;
+ if (!e.detail.value) {
+ this.setData({
+ [key]: false,
+ [value]: e.detail.value
+ })
+ } else {
+ this.setData({
+ [key]: true,
+ [value]: e.detail.value
+ })
+ }
+ },
+ handelTextFocus(e) {
+ let key = e.target.dataset.id;
+ let value = e.target.dataset.value;
+ if (!e.detail) {
+ this.setData({
+ [key]: false,
+ [value]: e.detail
+ })
+ } else {
+ this.setData({
+ [key]: true,
+ [value]: e.detail
+ })
+ }
+ },
+ goBack() {
+
+ if (app.globalData.origion == 1) {
+ wx.reLaunch({
+ url: '/pages/index/index',
+ })
+ } else if (app.globalData.origion == 2) {
+ wx.reLaunch({
+ url: '/pages/index/index',
+ })
+ } else {
+ let {
+ disease_class_name,
+ diagnosis_date,
+ fileList,
+ is_allergy_history,
+ is_pregnant,
+ checkSign,
+ checkAgree,
+ is_family_history,
+ disease_desc
+ } = this.data;
+ //封装组件后退有bug,通过引用,回退正常
+ if (disease_class_name || is_allergy_history || is_pregnant || is_family_history || fileList.length > 0 || diagnosis_date || disease_desc || checkSign || checkAgree) {
+ Dialog.confirm({
+ title: '温馨提示',
+ message: '是否保存填写的病情信息?',
+ }).then(() => {
+ this.onSave()
+ })
+ .catch(() => {
+ //wx.setStorageSync('sickInfo','');
+ wx.navigateBack({
+ delta: 1,
+ fail: function () {
+ wx.reLaunch({
+ url: '/pages/index/index',
+ })
+ }
+ })
+ });
+ } else {
+
+ wx.navigateBack({
+ delta: 1
+ })
+ }
+ }
+ },
+ agreeConfirm(){
+ this.setData({
+ checkAgree:true
+ })
+ },
+ confirm(event) {
+
+ if (event.detail) {
+ this.setData({
+ showdialog: false
+ })
+ }
+ if(this.data.messageTitle=="当前患者存在进行中问诊订单"){
+ let {order_inquiry_id}=this.data;
+ app.method.navigateTo({
+ url: '/patient/pages/orderDetail/orderDetail?order_inquiry_id='+ order_inquiry_id,
+ })
+ }
+ },
+ cancelAlert(){
+ this.setData({
+ showdialog: false
+ })
+ },
+ onChangeSign() {
+ this.setData({
+ checkSign: !this.data.checkSign
+ })
+ if (this.data.checkSign) {
+ this.setData({
+ fileList: []
+ })
+ }
+ },
+ onChange(event) {
+
+ let key = event.target.dataset.id;
+ this.setData({
+ [key]: event.detail
+ });
+ if (event.detail == 0) {
+ if (key == "is_allergy_history") {
+ this.setData({
+ allergy_history: ''
+ })
+ };
+
+ if (key == "is_family_history") {
+ this.setData({
+ family_history: ''
+ })
+ };
+
+ if (key == "is_pregnant") {
+ this.setData({
+ pregnant: ''
+ })
+ }
+ }
+ },
+ onSave() {
+ let {
+ family_id,
+ allergy_history,
+ family_history,
+ disease_desc,
+ disease_class_name,
+ disease_class_id,
+ diagnosis_date,
+ fileList,
+ checkSign,
+ checkAgree,
+ is_allergy_history,
+ is_pregnant,
+ pregnant,
+ is_family_history,
+
+ } = this.data;
+ let sickInfo = {
+ family_id,
+ disease_class_name,
+ diagnosis_date,
+ fileList,
+ disease_class_id,
+ disease_desc,
+ allergy_history,
+ family_history,
+ is_allergy_history,
+ is_pregnant,
+ pregnant,
+ checkSign,
+ checkAgree,
+ is_family_history
+ };
+ let sickInfo_stroage = wx.getStorageSync("sickInfo");
+ if (sickInfo_stroage) {
+ let sickInfoObj = JSON.parse(sickInfo_stroage);
+ if (sickInfoObj instanceof Array) {
+ for (let i = 0; i < sickInfoObj.length; i++) {
+ if (sickInfoObj[i].family_id == family_id) {
+ sickInfoObj.splice(i, 1);
+ }
+ }
+ sickInfoObj.push(sickInfo);
+ wx.setStorageSync('sickInfo', JSON.stringify(sickInfoObj));
+ } else {
+ sickInfoObj.family_id = family_id;
+ wx.setStorageSync('sickInfo', JSON.stringify([sickInfoObj]));
+ }
+ } else {
+ wx.setStorageSync('sickInfo', JSON.stringify([sickInfo]));
+ }
+
+ wx.navigateBack({
+ delta: 1
+ })
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
+ console.log(options.package_id)
+ console.log(options.inquiry_mode)
+ if (options.inquiry_type == 1 || options.inquiry_type == 3) {
+ this.setData({
+ follow_package_item_id:options.package_id?options.package_id:'',
+ doctor_id: options.doctor_id,
+ family_id: options.family_id,
+ chat_id: options.chat_id,
+ inquiry_type: options.inquiry_type,
+ inquiry_mode: options.inquiry_mode,
+ sex: options.sex
+ })
+ } else {
+ if (options.inquiry_type == 4) {
+ this.setData({
+ startIndex: 1
+ })
+ }
+
+ this.setData({
+ // product: options.product ? JSON.parse(options.product) : [],
+ family_id: options.family_id,
+ inquiry_type: options.inquiry_type,
+ sex: options.sex,
+ inquiry_mode: 1
+ })
+ }
+ //this.getSick();
+
+ this.handleIsExist();
+ this.getlocalInfo(options.family_id);
+ },
+ goAgreement:throttle(function(){
+ app.method.navigateTo({
+ url:"/patient/pages/linkPage/linkPage?url="+encodeURIComponent(urlHost+'/basic/file/agreement.htm?id=1')
+ })
+ }),
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+ this.setData({
+ img_host:app.hostConfig().imghost
+ });
+ let {
+ prevData,
+ pathography_id,
+ family_id
+ } = this.data;
+ if (prevData) {
+ this.setData({
+ disease_class_name: prevData.disease_class_name,
+ disease_class_id: prevData.disease_class_id,
+ })
+ }
+ console.log(pathography_id)
+ if(pathography_id){
+ this.handlepathographyDetail(pathography_id)
+ }
+ // else{
+
+ // //this.handleLastSick(options.family_id);
+ // }
+
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {},
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+
+})
\ No newline at end of file
diff --git a/healthyService/pages/writeSick/writeSick.json b/healthyService/pages/writeSick/writeSick.json
new file mode 100644
index 0000000..6dafd2a
--- /dev/null
+++ b/healthyService/pages/writeSick/writeSick.json
@@ -0,0 +1,17 @@
+{
+ "usingComponents": {
+ "van-field": "@vant/weapp/field/index",
+ "van-checkbox": "@vant/weapp/checkbox/index",
+ "van-radio": "@vant/weapp/radio/index",
+ "van-radio-group": "@vant/weapp/radio-group/index",
+ "van-datetime-picker": "@vant/weapp/datetime-picker/index",
+ "van-popup": "@vant/weapp/popup/index",
+ "van-picker": "@vant/weapp/picker/index",
+ "van-icon": "@vant/weapp/icon/index",
+ "dialog":"../../../components/dialog/dialog",
+ "van-dialog": "@vant/weapp/dialog/index",
+ "nav":"../../../components/nav/nav"
+ },
+ "navigationStyle":"custom",
+ "navigationBarTitleText": "肝胆相照互联网医院"
+}
\ No newline at end of file
diff --git a/healthyService/pages/writeSick/writeSick.wxml b/healthyService/pages/writeSick/writeSick.wxml
new file mode 100644
index 0000000..e2faadb
--- /dev/null
+++ b/healthyService/pages/writeSick/writeSick.wxml
@@ -0,0 +1,168 @@
+
+
+
+
+
+ 填写病情
+
+
+
+ 病情历史
+ 查看记录
+
+
+ 所患疾病
+
+
+
+
+ 确诊日期
+
+
+
+ 病情主诉
+
+
+
+
+ 临床症状:如没有力气、食欲不好、眼睛发黄、面色晦暗、尿液发黄、肝区疼痛等等
+ 诊疗情况:描述做过哪些检查以及重要结果,是否开始治疗?治疗方案是什么(写出具体药物)、治疗效果如何?
+ 希望解答的问题:1、是否需要更换抗病毒药物? 2、如果需要更换,请问哪种药物更合适?
+
+
+
+
+
+
+ 用药意向
+
+
+
+ {{item.product_name}}{{item.product_spec}}(数量{{item.product_num}})
+
+
+
+
+
+ 上传复诊凭证(最多9张)
+ 请上传问诊本人清晰的复诊凭证(病例/处方单/检查报告/住院单),仅接诊医生可见。
+
+
+
+
+
+
+
+
+
+ 复诊凭证遗失或不在身边,请勾选本项,未上传凭证可能会影响医生对您的诊断
+
+
+
+
+
+ {{startIndex}}、
+
+ 是否服用过您想购买的药品且无相关禁忌?
+
+
+ 是
+ 否
+
+
+
+
+
+ {{startIndex+1}}、
+
+ 您是否有过敏史?
+
+
+ 是
+ 否
+
+
+
+
+ 过敏史:请填写过敏源,如药物,请写出药名;如食物,请写具体如鸡蛋、牛奶等(限制50个字)
+
+
+
+
+
+
+
+ {{startIndex+2}}、
+
+ 您是否有家族病史?
+
+
+ 是
+ 否
+
+
+
+
+
+ 家族病史:如果是肝病,请写明患肝炎、肝硬化、肝衰竭还是肝癌。(限制50个字)
+
+
+
+
+
+
+ {{startIndex+3}}、
+
+ 您是否处于备孕、妊娠、哺乳期?
+
+
+ 是
+ 否
+
+
+
+
+
+
+
+
+
+ 胆相照互联网医院平台医生为您提供健康咨询服务,医生建议仅供参考。根据国家互联网诊疗相关政策要求,请您在提交服务前仔细阅读《风险告知与知情同意书》。继续操作表示您知悉并同意上述全部内容。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 请您先仔细阅读并同意《风险告知与知情同意书》
+
+
+
\ No newline at end of file
diff --git a/healthyService/pages/writeSick/writeSick.wxss b/healthyService/pages/writeSick/writeSick.wxss
new file mode 100644
index 0000000..d503454
--- /dev/null
+++ b/healthyService/pages/writeSick/writeSick.wxss
@@ -0,0 +1,356 @@
+/* pages/writeSick/writeSick.wxss */
+.content{
+ min-height: 100%;
+ background: #f2f2f2;
+}
+.ui-navigatorbar {
+ position: fixed;
+ z-index:99;
+ top: 0;
+ width: 750rpx;
+ height: 172rpx;
+ background: #F2F2F2;
+ backdrop-filter: blur(20px);
+ }
+
+ .ui-navigatorbar-back {
+ position: absolute;
+ padding-left:40rpx;
+ padding-right:40rpx;
+ width:30rpx;
+ height:60rpx;
+ left: 0rpx;
+ bottom: 20rpx;
+ }
+
+ .ui-title {
+ position: absolute;
+ width: 350rpx;
+ height: 88rpx;
+ line-height: 56rpx;
+ font-size: 36rpx;
+ white-space: nowrap;
+ color: #000000;
+ bottom: 0;
+ left: 200rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+.ui-navigatorbar-back {
+ position: absolute;
+ padding-left:40rpx;
+ padding-right:40rpx;
+ width:30rpx;
+ height:60rpx;
+ left: 0rpx;
+ bottom: 20rpx;
+ }
+
+ .ui-title {
+ position: absolute;
+ width: 350rpx;
+ height: 88rpx;
+ line-height: 56rpx;
+ font-size: 36rpx;
+ color: #000000;
+ bottom: 0;
+ left: 200rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+.infobox {
+ margin-top:172rpx;
+
+}
+.sickHisbox{
+ display: flex;
+ height:94rpx;
+ align-items: center;
+ margin-bottom: 20rpx;
+ background-color: #fff;
+ padding:0 55rpx;
+ justify-content: space-between;
+}
+.hisBtn{
+width: 166rpx;
+height: 60rpx;
+color:#3CC7C0;
+display: flex;
+font-size: 26rpx;
+align-items: center;
+justify-content: center;
+background: #E2FFFE;
+border-radius: 6rpx;
+border: 1rpx solid #3CC7C0;
+}
+.info {
+ border-bottom: 1rpx solid #E7E7E7;
+ display: flex;
+ background-color: #fff;
+ align-items: center;
+ height: 112rpx;
+ color: #333333;
+}
+
+
+.info .name {
+ white-space: nowrap;
+ width: 180rpx;
+ display: flex;
+ align-items: center;
+ margin-left: 52rpx;
+ color: #333333;
+ font-size: 34rpx;
+}
+
+.info text {
+ margin-top: 20rpx;
+ color:#E34D59;
+
+ display: flex;
+ align-items: center;
+}
+.info .ipt {
+ margin-left: 15rpx;
+ margin-right: 52rpx;
+ flex: 1;
+}
+.input-placeholder {
+ color: #999999;
+
+ font-size: 28rpx;
+}
+.textareaview{
+ position: relative;
+ padding:40rpx 52rpx;
+ background: #fff!important;
+}
+.textwrap{
+ background: #F2F2F2!important;
+ border-radius: 10rpx;
+}
+.van-cell{
+ position: relative;
+ z-index:2;
+ background-color:transparent!important;
+}
+.van-field__body--textarea{
+ height:360rpx;
+ width:580rpx;
+}
+.iptclass{
+ top:0;
+ overflow-y: scroll;
+ -webkit-overflow-scrolling: touch;
+ height:360rpx!important;
+ bottom:0;
+ left:0rpx;
+ right:0rpx;
+ width:100%!important;
+ background-color: transparent;
+
+}
+.mydailog .dialog-index--van-dialog__confirm{
+ background:#ebf9f9!important;
+}
+/*
+.van-field__control {
+ display: flex;
+ align-self: start;
+} */
+
+.van-field__word-limit {
+ color: #999999!important;
+ font-size: 24rpx;
+}
+.green{
+ color:rgba(60, 199, 192, 1)
+}
+.van-field__word-num--full{
+ color: #ee0a24!important;
+}
+.textbox{
+ left:86rpx;
+ right:86rpx;
+ top:60rpx;
+ height:380rpx;
+ z-index:0;
+ position: absolute;
+}
+
+.textbox .desc{
+ word-break: break-all;
+ line-height: 42rpx;
+ color: #999;
+ margin-bottom: 20rpx;
+ font-size: 28rpx;
+}
+.textbox .goods{
+ display: inline;
+ white-space:normal;
+}
+.textbox .goods:after{
+ content:";"
+}
+.textbox .goods:last-child:after{
+ content:""
+}
+.textbox view:last-child{
+ margin-bottom: 0;
+}
+.textbox text{
+ color: #333333;
+ font-size: 28rpx;
+}
+.info .tip{
+ line-height: 36rpx;
+ color: #666666;
+ margin:20rpx 52rpx 0;
+ font-size: 24rpx;
+}
+.uploadbox{
+
+ margin:30rpx 52rpx 0;
+ display: flex;
+ flex-wrap: wrap ;
+}
+.uploadbox .close{
+ z-index:99;
+ top:5rpx;
+ right:5rpx;
+ position: absolute;
+ width:30rpx;
+ height:30rpx;
+}
+.uploadbox .upload{
+ position: relative;
+ object-fit: cover;
+ margin: 5px 19rpx 5px 0;
+}
+.uploadbox .upload:nth-child(4n){
+ margin-right: 0;
+}
+.van-icon-plus{
+ color:#333;
+ font-size: 80rpx!important;
+}
+.agreebox{
+ margin:30rpx 52rpx 0;
+ display: flex;
+}
+.agreebox .desc{
+ color: #666666;
+ line-height: 36rpx;
+
+ font-size: 24rpx;
+}
+.van-checkbox{
+ display: flex;
+ align-items: flex-start!important;
+}
+.sickHis{
+ background-color: #fff;
+ margin-top: 20rpx;
+ padding:40rpx 52rpx;
+
+}
+textarea{
+ width:100%;
+ color:#333;
+ height:132rpx;
+}
+.list .qa{
+ display: flex;
+}
+.titlebox{
+ flex:1;
+
+}
+.radio{
+ margin: 40rpx 0rpx 30rpx 0;
+}
+.sickArea{
+ position: relative;
+ z-index:1;
+}
+.upload{
+ width: 148rpx;
+ height:148rpx;
+ display: flex;
+ justify-content:center ;
+ align-items: center;
+ background: #F2F2F2;
+ border-radius: 4rpx
+}
+.radiotip{
+ position: relative;
+ padding:24rpx 20rpx;
+ justify-content: center;
+ margin-top: 30rpx;
+ line-height: 42rpx;
+background: #F2F2F2;
+border-radius: 10rpx;
+font-size: 28rpx;
+color:#999;
+margin-bottom: 20rpx;
+}
+.radiotip .textbox{
+ top:20rpx;
+ left:20rpx;
+ height: 100rpx;
+ right:20rpx;
+}
+.radiotip .textarea{
+ position: relative;
+ z-index:2;
+}
+.radiotip text{
+ white-space: nowrap;
+ color:#333;
+}
+.xieyi{
+ width:100%;
+ padding:30rpx 52rpx 40rpx;
+
+ background-color: #fff;
+}
+.agreebox text{
+ color:#3CC7C0;
+
+}
+.nextbox{
+ padding-bottom: 20rpx;
+ background-color: #fff;
+}
+.next{
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 94rpx;
+ font-size: 36rpx;
+ border:none;
+ outline: none;
+ margin:0 52rpx;
+ border-radius: 47rpx;
+ color: #fff;
+ margin-bottom: 40rpx;
+ background: #3CC7C0!important;
+}
+.datePicker{
+ width:100%;
+ position: fixed;
+ bottom:0;
+}
+
+.dateTitle{
+ border:1rpx solid #E7E7E7;
+}
+.van-uploader__preview-image,.van-uploader__upload{
+ width: 148rpx!important;
+ height: 148rpx!important;
+}
+.van-uploader__preview{
+ margin: 0 6px 8px 0;
+}
diff --git a/pages/index/index.js b/pages/index/index.js
index 2d76b94..5cc00c6 100644
--- a/pages/index/index.js
+++ b/pages/index/index.js
@@ -41,7 +41,7 @@ Page({
}
}),
goH5:throttle(function(event){
- let {url,name}=event.currentTarget.dataset;
+ let {url,name,type}=event.currentTarget.dataset;
if(url.indexOf("http")!=-1){
let urlName=(decodeURIComponent(url))
if(this.verifySuffix(urlName)){
@@ -55,14 +55,21 @@ Page({
}
}else{
- wx.navigateToMiniProgram({
- appId: 'wxdee7006582529713',
- path:url,
- envVersion: 'release',
- success(res) {
- // 打开成功
- }
- })
+ if(type==4){
+ app.method.navigateTo({
+ url:'/'+url
+ })
+ }else{
+ wx.navigateToMiniProgram({
+ appId: 'wxdee7006582529713',
+ path:url,
+ envVersion: 'release',
+ success(res) {
+ // 打开成功
+ }
+ })
+ }
+
}
}),
diff --git a/pages/index/index.wxml b/pages/index/index.wxml
index 06a8337..000c47a 100644
--- a/pages/index/index.wxml
+++ b/pages/index/index.wxml
@@ -107,7 +107,7 @@
-
+
diff --git a/patient/pages/expertDetail/expertDetail.js b/patient/pages/expertDetail/expertDetail.js
index d84bd46..3b54b07 100644
--- a/patient/pages/expertDetail/expertDetail.js
+++ b/patient/pages/expertDetail/expertDetail.js
@@ -18,8 +18,8 @@ Page({
tab3Height:500,
img_host:'https://oss.prod.applets.igandanyiyuan.com/applet/patient/static',
showDialog:false,
- avatar: '',
currentData:0,
+ avatar: '',
user_name: '',
doctor_title: '',
doctor_id: '',