12.19 患者bug

This commit is contained in:
zoujiandong 2023-12-19 09:41:55 +08:00
parent 3db456d820
commit 64b3c0c2ff
23 changed files with 250 additions and 100 deletions

View File

@ -79,7 +79,7 @@ Component({
audioPlay(e) { audioPlay(e) {
const { id } = e.currentTarget.dataset; const { id } = e.currentTarget.dataset;
const { audioSave } = this.data; const { audioSave } = this.data;
this.triggerEvent("closeAudio",false)
// 设置状态 // 设置状态
audioSave.forEach((message, index) => { audioSave.forEach((message, index) => {
message.isPlaying = false; message.isPlaying = false;

View File

@ -2,12 +2,14 @@
<view class="audio-message {{isMine?'my-audio':'your-audio'}}"> <view class="audio-message {{isMine?'my-audio':'your-audio'}}">
<!-- 默认状态 未播放 --> <!-- 默认状态 未播放 -->
<view class='audio' wx:if="{{!isPlay}}" bindtap='audioPlay' data-id="{{message.ID}}" > <view class='audio' wx:if="{{!isPlay}}" bindtap='audioPlay' data-id="{{message.ID}}" >
<image class="image {{isMine?'my-image':''}}" src="{{isMine?'../../../../../static/images/play.png':'../../../../../static/images/playme.png'}}"/> {{renderDom[0].second}}s <image class="image {{isMine?'my-image':''}}" src="../../../../../static/images/play.png"/> {{renderDom[0].second}}"
</view> </view>
<!-- 当前正在播放状态 --> <!-- 当前正在播放状态 -->
<view class='audio' wx:else data-value="{{message}}" bindtap='audioStop' data-id="{{message.ID}}" > <view class='audio' wx:else data-value="{{message}}" bindtap='audioStop' data-id="{{message.ID}}" >
<image class="image {{isMine?'my-image':''}}" src="{{isMine?'../../../../../static/images/play.gif':'../../../../../static/images/playme.gif'}}"/> {{renderDom[0].second}}s <image class="image {{isMine?'my-image':''}}" src="../../../../../static/images/play.gif"/> {{renderDom[0].second}}"
</view> </view>
<!-- <view class="dot" wx:if="{{!message.isRead}}">
</view> -->
</view> </view>
</block> </block>

View File

@ -22,6 +22,7 @@
border-style: none none solid solid border-style: none none solid solid
} }
.audio { .audio {
width:200rpx;
/*border-radius: 2px 10px 10px 10px;*/ /*border-radius: 2px 10px 10px 10px;*/
height: 60rpx; height: 60rpx;
font-family: PingFangSC-Medium; font-family: PingFangSC-Medium;
@ -30,7 +31,10 @@
line-height: 28rpx; line-height: 28rpx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: flex-end; justify-content: flex-start;
}
.my-audio .audio{
flex-direction: row-reverse;
} }
.image{ .image{
width: 16px; width: 16px;

View File

@ -244,14 +244,13 @@ Component({
}]; }];
return renderDom; return renderDom;
} }
if (customMessage.message_type === 12) { if (customMessage.message_type == 12) {
let data = customMessage.data; let data = customMessage.data;
console.log(data)
const renderDom = [{ const renderDom = [{
type: 'wenzhen_form', type: 'wenzhen_form',
order_inquiry_id:data.order_inquiry_id, order_inquiry_id:data.order_inquiry_id,
message_path:data.message_path, message_path:data.message_path,
case_patient_message_path:data.case_patient_message_path, //case_patient_message_path:data.case_patient_message_path,
case_filled_fields:data.case_filled_fields, case_filled_fields:data.case_filled_fields,
case_not_fill_fields:data.case_not_fill_fields case_not_fill_fields:data.case_not_fill_fields
}]; }];

View File

@ -1,5 +1,5 @@
<view class="custom_wrap {{isMine?'':'your-custom'}}"> <view class="custom_wrap {{isMine?'':'your-custom'}}">
<view wx:if="{{renderDom[0].type ==='order'}}" class="custom-message {{isMine?'my-custom':''}}"> <!-- <view wx:if="{{renderDom[0].type ==='order'}}" class="custom-message {{isMine?'my-custom':''}}">
<image class="custom-image" src="{{renderDom[0].imageUrl}}" /> <image class="custom-image" src="{{renderDom[0].imageUrl}}" />
<view class="custom-content"> <view class="custom-content">
<view class="custom-content-title">{{renderDom[0].title}}</view> <view class="custom-content-title">{{renderDom[0].title}}</view>
@ -39,13 +39,23 @@
</view> </view>
<view wx:if="{{renderDom[0].type ==='notSupport'}}" class="message-body-span text-message"> <view wx:if="{{renderDom[0].type ==='notSupport'}}" class="message-body-span text-message">
<view class="message-body-span-text">{{renderDom[0].text}}</view> <view class="message-body-span-text">{{renderDom[0].text}}</view>
</view> </view> -->
<view wx:if="{{renderDom[0].type ==='msg_tip'}}" class="message-body-span text-message custom-tip-message"> <view wx:if="{{renderDom[0].type ==='msg_tip'}}" class="message-body-span text-message custom-tip-message">
<view class="message-body-span-text">{{renderDom[0].text}}</view> <view class="message-body-span-text">{{renderDom[0].text}}</view>
<view class="message-body-span-desc">{{renderDom[0].desc}}</view> <view class="message-body-span-desc">{{renderDom[0].desc}}</view>
</view> </view>
<view wx:if="{{renderDom[0].type ==='msg_comment'}}" class="message-body-span text-message custom-tip-message" > <view wx:if="{{renderDom[0].type=='wenzhen_form'}}" class="wenzhen_form {{isMine?'my-custom':'your-custom'}}"
<!-- <view class="message-body-span-text">{{renderDom[0].text}}</view> --> bindtap="goList" data-ismine="{{isMine}}" data-params="{{!isMine?renderDom[0].case_not_fill_fields:renderDom[0].case_filled_fields}}" data-id="{{ renderDom[0].order_inquiry_id}}">
<view class="title" >
<image src="../../../../../static/assets/wenzhenform.png" mode="" class="wzicon" />
<view class="name">{{renderDom[0].case_not_fill_fields?'问诊表':'问诊表-已填写'}}</view>
</view>
<view class="descform">
{{renderDom[0].case_not_fill_fields?'等待填写':'点击查看'}}
</view>
</view>
<view wx:if="{{renderDom[0].type=='msg_comment'}}" class="message-body-span text-message custom-tip-message" >
<view class="commentbox" bindtap="showPop" data-id="{{renderDom[0].order_inquiry_id}}"> <view class="commentbox" bindtap="showPop" data-id="{{renderDom[0].order_inquiry_id}}">
<view class="title">请您对本次问诊服务进行评价</view> <view class="title">请您对本次问诊服务进行评价</view>
<view class="ratebox"> <view class="ratebox">
@ -78,7 +88,7 @@
</view> </view>
</view> </view>
</view> </view>
<view wx:if="{{renderDom[0].type==='msg_checksugar'}}" class="sugarbox"> <view wx:if="{{renderDom[0].type=='msg_checksugar'}}" class="sugarbox">
<view class="sugarcon"> <view class="sugarcon">
<view class="title"> <view class="title">
{{renderDom[0].title}}报告 {{renderDom[0].title}}报告
@ -92,22 +102,6 @@
<view class="left">查看报告</view> <view class="left">查看报告</view>
<image src="../../../../../static/images/back.png" class="back" mode=""/> <image src="../../../../../static/images/back.png" class="back" mode=""/>
</view> </view>
</view>
<view wx:if="{{renderDom[0].type==='wenzhen_form'}}" class="wenzhen_form {{isMine?'my-custom':'your-custom'}}" bindtap="goList" data-ismine="{{isMine}}" data-params="{{!isMine?renderDom[0].case_not_fill_fields:renderDom[0].case_filled_fields}}" data-id="{{ renderDom[0].order_inquiry_id}}">
<view class="title" wx:if="{{renderDom[0].case_not_fill_fields}}">
<image src="../../../../../static/assets/wenzhenform.png" mode="" class="wzicon" />
<view class="name">问诊表</view>
</view>
<view class="title" wx:else>
<image src="../../../../../static/assets/wenzhenform.png" mode="" class="wzicon"/>
<view class="name">问诊表-已填写</view>
</view>
<view class="descform" wx:if="{{renderDom[0].case_not_fill_fields}}">
等待填写
</view>
<view class="descform" wx:else>
点击查看
</view>
</view> </view>
</view> </view>

View File

@ -222,7 +222,14 @@ Component({
//wx.$TUIKit.off(wx.$TUIKitTIM.EVENT.SDK_READY, this.$onMessageReady,this); //wx.$TUIKit.off(wx.$TUIKitTIM.EVENT.SDK_READY, this.$onMessageReady,this);
} }
}, },
pageLifetimes:{
hide: function () {
let THIS=this;
if(THIS.data.isRecording){
THIS.handleTouchEnd()
}
},
},
/** /**
* 组件的方法列表 * 组件的方法列表
@ -269,6 +276,20 @@ Component({
// 打开录音开关 // 打开录音开关
switchAudio() { switchAudio() {
wx.hideKeyboard(); wx.hideKeyboard();
if(!this.data.isAudio){
wx.getSetting({
success(res) {
if (!res.authSetting['scope.record']) {
wx.authorize({
scope: 'scope.record',
success () {
}
})
}
}
})
}
this.setData({ this.setData({
isAudio: !this.data.isAudio, isAudio: !this.data.isAudio,
isEmoji: false, isEmoji: false,
@ -315,11 +336,14 @@ Component({
}, },
// 长按录音 // 长按录音
handleLongPress(e) { handleLongPress(e) {
this.setData({
recordtime:0
})
this.openRecord(e,this.recording); this.openRecord(e,this.recording);
}, },
recording(e,THIS){ recording(e,THIS){
console.log(THIS);
if(THIS.setMsgRound()){ if(THIS.setMsgRound()){
wx.aegis.reportEvent({ wx.aegis.reportEvent({
name: 'messageType', name: 'messageType',
@ -335,7 +359,8 @@ Component({
format: 'aac', // 音频格式,选择此格式创建的音频消息,可以在即时通信 IM 全平台Android、iOS、微信小程序和Web互通 format: 'aac', // 音频格式,选择此格式创建的音频消息,可以在即时通信 IM 全平台Android、iOS、微信小程序和Web互通
}); });
THIS.timer=setInterval(()=>{ THIS.timer=setInterval(()=>{
if(THIS.data.recordtime>60){ if(THIS.data.recordtime>=60){
THIS.handleTouchEnd();
clearInterval(THIS.timer) clearInterval(THIS.timer)
}; };
THIS.setData({ THIS.setData({
@ -385,7 +410,7 @@ Component({
this.setData({ this.setData({
isRecording: false, isRecording: false,
popupToggle: false, popupToggle: false,
recordtime:0
}); });
wx.hideLoading(); wx.hideLoading();
this.recorderManager.stop(); this.recorderManager.stop();

View File

@ -159,6 +159,19 @@ Component({
this.triggerEvent("popComment",e.detail); this.triggerEvent("popComment",e.detail);
}, },
closeAudio(data){
//关闭其他语音
this.data.messageList.forEach((item)=>{
if(item.type=="TIMSoundElem"){
let ele=this.selectComponent('#audio'+item.ID);
ele.setData({
isPlay:false
})
}
})
},
changeCommnentStatus(id){ changeCommnentStatus(id){
let cpn = this.selectComponent(".custom"+id); let cpn = this.selectComponent(".custom"+id);
let renderDom=cpn.data.renderDom; let renderDom=cpn.data.renderDom;

View File

@ -2,7 +2,7 @@
<view class="container"> <view class="container">
<scroll-view class="message-list-container" scroll-y="true" scroll-into-view="{{jumpAim}}" refresher-enabled="{{true}}" bindrefresherrefresh="refresh" refresher-triggered="{{triggered}}" lower-threshold="200" bindscrolltolower="scrollHandler"> <scroll-view class="message-list-container" scroll-y="true" scroll-into-view="{{jumpAim}}" refresher-enabled="{{true}}" bindrefresherrefresh="refresh" refresher-triggered="{{triggered}}" lower-threshold="200" bindscrolltolower="scrollHandler">
<view class="no-message" wx:if="{{isCompleted}}">没有更多啦</view> <view class="no-message" wx:if="{{isCompleted}}">没有更多啦</view>
<text style="display: none;">{{filter.toS(messageList[messageList.length-1])}}</text> <!-- <text style="display: none;">{{filter.toS(messageList[messageList.length-1])}}</text> -->
<view class="t-message" wx:if="{{conversation.type !== '@TIM#SYSTEM'}}" wx:for="{{messageList}}" wx:key="index" data-index ='{{index}}' > <view class="t-message" wx:if="{{conversation.type !== '@TIM#SYSTEM'}}" wx:for="{{messageList}}" wx:key="index" data-index ='{{index}}' >
<view class="time-pop-mask" data-value="{{item.time}}" wx:if="{{showMessageTime}}"> <view class="time-pop-mask" data-value="{{item.time}}" wx:if="{{showMessageTime}}">
<view class="showmessagetime" wx:if="{{item.isShowTime}}"> <view class="showmessagetime" wx:if="{{item.isShowTime}}">
@ -35,7 +35,8 @@
</view> </view>
<TipMessage wx:if="{{item.type === 'TIMGroupTipElem'}}" message="{{item}}"/> <TipMessage wx:if="{{item.type === 'TIMGroupTipElem'}}" message="{{item}}"/>
<view wx:if="{{item.type !== 'TIMGroupTipElem'}}" class="{{item.flow === 'out' ? 't-self-message':'t-recieve-message'}} {{item.type=='TIMCustomElem'?'custom_center':''}}" > <view wx:if="{{item.type !== 'TIMGroupTipElem'}}" class="{{item.flow === 'out' ? 't-self-message':'t-recieve-message'}} {{item.type=='TIMCustomElem'?'custom_center':''}}" >
<image class="t-message-avatar" wx:if="{{(item.flow === 'in' && item.type!='TIMCustomElem') || filter.formateText(item.payload.data).message_type==7 || filter.formateText(item.payload.data).message_type==12}}" src="{{item.avatar || img_host+'/doctor_avatar.png'}}" data-value="{{item}}" bindtap="getMemberProfile" />
<image class="t-message-avatar" wx:if="{{(item.flow === 'in' && item.type!='TIMCustomElem') || (item.flow === 'in' && item.type=='TIMCustomElem' && filter.formateText(item.payload.data).message_type==7) || (item.flow === 'in' && item.type=='TIMCustomElem' && filter.formateText(item.payload.data).message_type==12)}}" src="{{item.avatar || img_host+'/doctor_avatar.png'}}" data-value="{{item}}" bindtap="getMemberProfile" />
<view class="read-receipts" wx:if="{{conversation.type === 'C2C' && item.flow==='out' }}"> <view class="read-receipts" wx:if="{{conversation.type === 'C2C' && item.flow==='out' }}">
<view wx:if="{{item.isPeerRead}}" >已读</view> <view wx:if="{{item.isPeerRead}}" >已读</view>
<view wx:else>未读</view> <view wx:else>未读</view>
@ -47,7 +48,7 @@
<TextMessage wx:if="{{item.type === 'TIMTextElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}" /> <TextMessage wx:if="{{item.type === 'TIMTextElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}" />
<ImageMessage wx:if="{{item.type === 'TIMImageElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}" /> <ImageMessage wx:if="{{item.type === 'TIMImageElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}" />
<VideoMessage wx:if="{{item.type === 'TIMVideoFileElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}"/> <VideoMessage wx:if="{{item.type === 'TIMVideoFileElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}"/>
<AudioMessage wx:if="{{item.type === 'TIMSoundElem'}}" message="{{item}}" data-index ='{{index}}' messageList="{{messageList}}" isMine="{{item.flow === 'out'}}"/> <AudioMessage wx:if="{{item.type === 'TIMSoundElem'}}" message="{{item}}" data-index ='{{index}}' messageList="{{messageList}}" bind:closeAudio="closeAudio" id="audio{{item.ID}}" isMine="{{item.flow === 'out'}}"/>
<CustomMessage style="width:100vw" bind:popComment="popComment" wx:if="{{item.type === 'TIMCustomElem' && filter.formateText(item.payload.data).message_type!=6 && filter.formateText(item.payload.data).message_type!=11}}" message="{{item}}" isMine="{{item.flow === 'out'}}" bindtap="handleJumpLink" data-value = "{{item}}" class="{{(item.type === 'TIMCustomElem' && filter.formateText(item.payload.data).message_type==2)?'custom'+filter.formateText(item.payload.data).data.order_inquiry_id:''}}" patient_data="{{filter.formateText(item.cloudCustomData).patient_family_data}}"/> <CustomMessage style="width:100vw" bind:popComment="popComment" wx:if="{{item.type === 'TIMCustomElem' && filter.formateText(item.payload.data).message_type!=6 && filter.formateText(item.payload.data).message_type!=11}}" message="{{item}}" isMine="{{item.flow === 'out'}}" bindtap="handleJumpLink" data-value = "{{item}}" class="{{(item.type === 'TIMCustomElem' && filter.formateText(item.payload.data).message_type==2)?'custom'+filter.formateText(item.payload.data).data.order_inquiry_id:''}}" patient_data="{{filter.formateText(item.cloudCustomData).patient_family_data}}"/>
<FaceMessage wx:if="{{item.type === 'TIMFaceElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}"/> <FaceMessage wx:if="{{item.type === 'TIMFaceElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}"/>
<FileMessage wx:if="{{item.type === 'TIMFileElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}"/> <FileMessage wx:if="{{item.type === 'TIMFileElem'}}" message="{{item}}" isMine="{{item.flow === 'out'}}"/>

View File

@ -18,7 +18,7 @@ const constant = {
ORDER: 'order', ORDER: 'order',
LINK: 'text_link', LINK: 'text_link',
CREATE_GROUP: 'group_create', CREATE_GROUP: 'group_create',
CONSULTION: 'consultion', CONSULTION: 'consultion'
}, },
STRING_TEXT: { STRING_TEXT: {

View File

@ -2,18 +2,20 @@
const app = getApp() const app = getApp()
import {nation,job} from "../../api/common" import {nation,job} from "../../api/common"
import {sendFields} from "../../api/sickRecord" import {sendFields} from "../../api/sickRecord"
import {throttle} from "../../utils/util"
Page({ Page({
/** /**
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
showDialog:false,
obj:{ obj:{
height:'身高', height:'身高',
weight:'体重', weight:'体重',
marital_status:'婚姻状态',
nation_id:'民族', nation_id:'民族',
job_id:'职业', job_id:'职业',
marital_status:'婚姻状态',
allergy_history:'是否有过敏史?', allergy_history:'是否有过敏史?',
family_history:'是否有家族病史?', family_history:'是否有家族病史?',
is_pregnant:'是否处于备孕、妊娠、哺乳期?', is_pregnant:'是否处于备孕、妊娠、哺乳期?',
@ -100,8 +102,38 @@ Page({
} }
}, },
confirmDialog:throttle(function(event){
if(event.detail){
this.handleSend();
}
}),
handleSend(){
const {order_inquiry_id,personInfo,obj}=this.data;
let dataObj={};
for (const key in obj) {
if(personInfo[key] || personInfo[key]==0){
dataObj[key]=personInfo[key];
}
}
let res=Object.assign({},dataObj,personInfo);
sendFields({
order_inquiry_id,
fields:res,
}).then(data=>{
wx.showToast({
title: '发送成功',
icon:'none'
}),
wx.navigateBack()
thi.setData({
showDialog:false
})
})
},
handleSendFields(){ handleSendFields(){
const {order_inquiry_id,personInfo,list1,list2,marital_name,jobname,nationname}=this.data; const {order_inquiry_id,personInfo,list1,list2,marital_name,jobname,nationname,obj}=this.data;
console.log(personInfo) console.log(personInfo)
const fields=[]; const fields=[];
for (let i = 0; i <list1.length; i++) { for (let i = 0; i <list1.length; i++) {
@ -113,7 +145,7 @@ Page({
return false return false
} }
if (list1[i]=='height' && personInfo.height) { if (list1[i]=='height' && personInfo.height) {
if (!/^3[5-9](\.\d+)?$|^[4-9][0-9](\.\d+)?$|^1[0-9][0-9](\.\d+)?$|^2[1-4][0-9](\.\d+)?$|250/.test(personInfo.height)) { if (!/^3[5-9](\.\d+)?$|^[4-9][0-9](\.\d+)?$|^1[0-9][0-9](\.\d+)?$|^2[0-4][0-9](\.\d+)?$|250/.test(personInfo.height)) {
wx.showToast({ wx.showToast({
title: `请输入范围内身高!`, title: `请输入范围内身高!`,
icon: 'none', icon: 'none',
@ -285,22 +317,13 @@ for (let i = 0; i < list2.length; i++) {
} }
} }
this.setData({
sendFields({ showDialog:true
order_inquiry_id, })
fields:personInfo,
}).then(data=>{
wx.showToast({
title: '发送成功',
icon:'none'
}),
wx.navigateBack()
})
}, },
openMaritalPicker() { openMaritalPicker() {
wx.hideKeyboard(); wx.hideKeyboard();
if(showBtn){ if(this.data.showBtn){
this.setData({ this.setData({
showMarital: true showMarital: true
}) })
@ -387,7 +410,7 @@ for (let i = 0; i < list2.length; i++) {
}, },
showNation() { showNation() {
wx.hideKeyboard(); wx.hideKeyboard();
if(showBtn){ if(this.data.showBtn){
this.setData({ this.setData({
showNation: true showNation: true
}) })
@ -412,7 +435,7 @@ for (let i = 0; i < list2.length; i++) {
}, },
showJob() { showJob() {
wx.hideKeyboard(); wx.hideKeyboard();
if(showBtn){ if(this.data.showBtn){
this.setData({ this.setData({
showJob: true showJob: true
}) })

View File

@ -5,6 +5,7 @@
"van-datetime-picker": "@vant/weapp/datetime-picker/index", "van-datetime-picker": "@vant/weapp/datetime-picker/index",
"van-popup": "@vant/weapp/popup/index", "van-popup": "@vant/weapp/popup/index",
"van-radio-group": "@vant/weapp/radio-group/index", "van-radio-group": "@vant/weapp/radio-group/index",
"dialog":"../../components/dialog/dialog",
"nav":"../../components/nav/nav" "nav":"../../components/nav/nav"
}, },
"navigationStyle":"custom", "navigationStyle":"custom",

View File

@ -2,7 +2,8 @@
<wxs src="../../filters/filter.wxs" module="filter"></wxs> <wxs src="../../filters/filter.wxs" module="filter"></wxs>
<nav navName="问诊表"></nav> <nav navName="问诊表"></nav>
<view class="page"> <view class="page">
<view class="questionbox"> <view class="pagecon">
<view class="questionbox">
<view class="cellbox" wx:if="{{list1.length>0}}"> <view class="cellbox" wx:if="{{list1.length>0}}">
<view class="basictitle">基本信息</view> <view class="basictitle">基本信息</view>
<view class="cell" wx:if="{{filter.formatwenzhenList(list1,'height').ISHAS}}"> <view class="cell" wx:if="{{filter.formatwenzhenList(list1,'height').ISHAS}}">
@ -33,7 +34,7 @@
{{filter.formatwenzhenList(list1,'marital_status').NUMBER}}、婚姻状况 {{filter.formatwenzhenList(list1,'marital_status').NUMBER}}、婚姻状况
</view> </view>
<view class="iptbox"> <view class="iptbox">
<input type="text" value="{{marital_name}}" bindinput="handleIpt" data-id="name" placeholder="请选择婚姻状况" placeholder-class="placeholder" class="ipt" disabled="{{!showBtn}}" /> <input type="text" value="{{marital_name}}" bindinput="handleIpt" data-id="name" placeholder="请选择婚姻状况" placeholder-class="placeholder" class="ipt" disabled="{{true}}" />
<image src="{{img_host+'/righticon.png'}}" class="righticon"></image> <image src="{{img_host+'/righticon.png'}}" class="righticon"></image>
</view> </view>
@ -45,7 +46,7 @@
{{filter.formatwenzhenList(list1,'nation_id').NUMBER}}、民族 {{filter.formatwenzhenList(list1,'nation_id').NUMBER}}、民族
</view> </view>
<view class="iptbox"> <view class="iptbox">
<input type="text" value="{{nationname}}" bindinput="handleIpt" data-id="name" placeholder="请选择民族" placeholder-class="placeholder" class="ipt" disabled="{{!showBtn}}" /> <input type="text" value="{{nationname}}" bindinput="handleIpt" data-id="name" placeholder="请选择民族" placeholder-class="placeholder" class="ipt" disabled="{{true}}" />
<image src="{{img_host+'/righticon.png'}}" class="righticon"></image> <image src="{{img_host+'/righticon.png'}}" class="righticon"></image>
</view> </view>
</view> </view>
@ -56,7 +57,7 @@
{{filter.formatwenzhenList(list1,'job_id').NUMBER}}、职业 {{filter.formatwenzhenList(list1,'job_id').NUMBER}}、职业
</view> </view>
<view class="iptbox"> <view class="iptbox">
<input type="text" value="{{jobname}}" bindinput="handleIpt" data-id="name" placeholder="请请选择职业" placeholder-class="placeholder" class="ipt" disabled="{{!showBtn}}" /> <input type="text" value="{{jobname}}" bindinput="handleIpt" data-id="name" placeholder="请请选择职业" placeholder-class="placeholder" class="ipt" disabled="{{true}}" />
<image src="{{img_host+'/righticon.png'}}" class="righticon"></image> <image src="{{img_host+'/righticon.png'}}" class="righticon"></image>
</view> </view>
</view> </view>
@ -229,6 +230,7 @@
<view class="bottom" wx:if="{{showBtn}}"> <view class="bottom" wx:if="{{showBtn}}">
<view class="btn" bindtap="handleSendFields">发送给医生</view> <view class="btn" bindtap="handleSendFields">发送给医生</view>
</view> </view>
</view>
</view> </view>
@ -248,3 +250,4 @@
<van-popup show="{{ showJob }}" position="bottom" custom-style="height: auto"> <van-popup show="{{ showJob }}" position="bottom" custom-style="height: auto">
<van-picker show-toolbar title="选择职业" columns="{{ jobcolumns }}" value-key="job_name" bind:cancel="onCancelJob" bind:confirm="onConfirmJob" /> <van-picker show-toolbar title="选择职业" columns="{{ jobcolumns }}" value-key="job_name" bind:cancel="onCancelJob" bind:confirm="onConfirmJob" />
</van-popup> </van-popup>
<dialog bind:confirm="confirmDialog" showDialog="{{showDialog}}" message="是否发送问诊表给问诊医生?"></dialog>

View File

@ -1,10 +1,15 @@
/* pages/inquiryForm/inquiryForm.wxss */ /* pages/inquiryForm/inquiryForm.wxss */
.page { .page {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden; overflow: hidden;
} }
.pagecon{
height:100%;
display: flex;
flex-direction: column;
}
.cellbox{ .cellbox{
background-color: #fff; background-color: #fff;
} }
@ -37,7 +42,7 @@
.iptbox{ .iptbox{
display: flex; display: flex;
flex:1; flex:1;
margin-top:4rpx;
justify-content: flex-end; justify-content: flex-end;
} }
.righticon{ .righticon{
@ -62,6 +67,8 @@
width:100%; width:100%;
text-align: right; text-align: right;
color: #666666; color: #666666;
line-height: 48rpx;
margin-left: 160rpx;
font-size: 28rpx; font-size: 28rpx;
} }
.basictitle{ .basictitle{
@ -161,10 +168,16 @@ color: #FFFFFF;
align-items: center; align-items: center;
background: #3CC7C0; background: #3CC7C0;
border-radius: 8rpx; border-radius: 8rpx;
margin:40rpx 32rpx; margin:50rpx 32rpx;
}
.van-radio__icon--disabled{
background-color: #fff!important;
} }
.van-radio__icon--disabled.van-radio__icon--checked{ .van-radio__icon--disabled.van-radio__icon--checked{
color:#3cc7c0!important; color:#fff!important;
background-color: #fff; background-color: #3cc7c0!important;
border-color:#3cc7c0 ; border-color:#3cc7c0 ;
}
.van-radio__label--disabled{
color:#000!important;
} }

View File

@ -91,6 +91,7 @@ Page({
user_info: { user_info: {
name: '', name: '',
fromtype:'',
id_number: '', id_number: '',
province_id: '', province_id: '',
city_id: '', city_id: '',
@ -608,7 +609,7 @@ Page({
} }
} }
if (height) { if (height) {
if (!/^3[5-9](\.\d+)?$|^[4-9][0-9](\.\d+)?$|^1[0-9][0-9](\.\d+)?$|^2[1-4][0-9](\.\d+)?$|250/.test(height)) { if (!/^3[5-9](\.\d+)?$|^[4-9][0-9](\.\d+)?$|^1[0-9][0-9](\.\d+)?$|^2[0-4][0-9](\.\d+)?$|250/.test(height)) {
wx.showToast({ wx.showToast({
title: `请输入范围内身高!`, title: `请输入范围内身高!`,
icon: 'none', icon: 'none',
@ -1027,6 +1028,11 @@ Page({
this.hnadleGetpersonal(family_id); this.hnadleGetpersonal(family_id);
this.handleGetHealthy(family_id) this.handleGetHealthy(family_id)
} }
if(options.fromtype){
this.setData({
fromtype:options.fromtype
})
}
this.provinceList(); this.provinceList();
this.getSick(); this.getSick();
this.getNation(); this.getNation();

View File

@ -48,7 +48,8 @@
</view> </view>
<view class="persontip" wx:if="{{item.lastMessage.type=='TIMTextElem'}}">{{item.lastMessage.payload.text}}</view> <view class="persontip" wx:if="{{item.lastMessage.type=='TIMTextElem'}}">{{item.lastMessage.payload.text}}</view>
<view class="persontip" wx:elif="{{item.lastMessage.type=='TIMCustomElem'}}">{{filters.formateText(item.lastMessage.payload.data).title}}</view> <view class="persontip" wx:elif="{{item.lastMessage.type=='TIMCustomElem'}}">{{filters.formateText(item.lastMessage.payload.data).title}}</view>
<view class="persontip" wx:elif="{{item.lastMessage.type=='TIMImageElem'}}">图片消息</view> <view class="persontip" wx:elif="{{item.lastMessage.type=='TIMImageElem'}}">[图片]</view>
<view class="persontip" wx:elif="{{item.lastMessage.type=='TIMSoundElem'}}">[语音]</view>
<view class="bottombox"> <view class="bottombox">
<view class="nameinfo"> <view class="nameinfo">

View File

@ -2,7 +2,7 @@
const app = getApp() const app = getApp()
import {pathographyDetail} from "../../api/sickRecord" import {pathographyDetail} from "../../api/sickRecord"
import {throttle} from "../../utils/util" import {throttle} from "../../utils/util"
import {pathographyListDelte} from "../../api/sickRecord" import {pathographyDelete} from "../../api/sickRecord"
Page({ Page({
/** /**
@ -33,7 +33,7 @@ Page({
}), }),
previewImage(event) { previewImage(event) {
let id = event.currentTarget.dataset.id; let id = event.currentTarget.dataset.id;
let urls = this.data.sick.diagnose_images; let urls = this.data.sickInfo.diagnose_images;
wx.previewImage({ wx.previewImage({
current: urls[id], // 当前显示图片的http链接 current: urls[id], // 当前显示图片的http链接
urls: urls // 需要预览的图片http链接列表 urls: urls // 需要预览的图片http链接列表
@ -41,7 +41,7 @@ Page({
}, },
handlePathographyListDelte(){ handlePathographyListDelte(){
let id=this.data.pathography_id let id=this.data.pathography_id
pathographyListDelte(id).then(data=>{ pathographyDelete(id).then(data=>{
wx.showToast({ wx.showToast({
title: '删除成功', title: '删除成功',
icon:'none' icon:'none'

View File

@ -19,12 +19,16 @@
</view> </view>
<view class="info"> <view class="info">
<view class="infocell" wx:if="{{!(sickInfo.height==null && sickInfo.weight==null && sickInfo.nation_name==null && sickInfo.job_name==null && sickInfo.marital_status==null)}}"> <view class="infocell" wx:if="{{!(sickInfo.height==null && sickInfo.weight==null && sickInfo.nation_name==null && sickInfo.job_name==null && sickInfo.marital_status==null)}}">
<view class="cell">身高:<text class="desc">{{sickInfo.height}}cm</text></view> <view class="rowcell">
<view class="cell">体重:<text class="desc">{{sickInfo.weight}}kg <view class="cell">身高:<text class="desc" wx:if="{{sickInfo.height}}">{{sickInfo.height}}cm</text> <text class="desc" wx:else>未知</text></view>
</text></view> <view class="cell">体重:<text class="desc" wx:if="{{sickInfo.weight}}">{{sickInfo.weight}}kg
<view class="cell">民族:<text class="desc">{{sickInfo.nation_name}}</text></view> </text><text class="desc" wx:else>未知</text></view>
<view class="cell" >职业:<text class="desc">{{sickInfo.job_name}}</text></view> <view class="cell">民族:<text class="desc" wx:if="{{sickInfo.nation_name}}">{{sickInfo.nation_name}}</text><text class="desc" wx:else>未知</text></view>
<view class="cell">婚姻:<text class="desc" wx:if="{{sickInfo.marital_status==0}}">未婚</text><text wx:elif="{{sickInfo.marital_status==1}}">已婚</text><text wx:elif="{{sickInfo.marital_status==2}}">离异</text></view> </view>
<view class="rowcell">
<view class="cell" >职业:<text class="desc" wx:if="{{sickInfo.job_name}}">{{sickInfo.job_name}}</text><text class="desc" wx:else>未知</text></view>
<view class="cell">婚姻:<text class="desc" wx:if="{{sickInfo.marital_status==0}}">未婚</text><text wx:elif="{{sickInfo.marital_status==1}}">已婚</text><text wx:elif="{{sickInfo.marital_status==2}}">离异</text><text class="desc" wx:else>未知</text></view>
</view>
</view> </view>
</view> </view>
<view class="row" wx:if="{{sickInfo.disease_desc}}"> <view class="row" wx:if="{{sickInfo.disease_desc}}">
@ -33,7 +37,7 @@
</view> </view>
<view class="row" wx:if="{{sickInfo.diagnosis_date}}"> <view class="row" wx:if="{{sickInfo.diagnosis_date}}">
<view class="name">确诊日期:</view> <view class="name">确诊日期:</view>
<view class="desc">{{sickInfo.diagnosis_date}}</view> <view class="desc">{{filters.transforDay(sickInfo.diagnosis_date,"date")}}</view>
</view> </view>
<view class="row" wx:if="{{sickInfo.diagnosis_hospital}}"> <view class="row" wx:if="{{sickInfo.diagnosis_hospital}}">
<view class="name">确诊医院:</view> <view class="name">确诊医院:</view>
@ -61,7 +65,8 @@
<view class="name">复诊凭证(病例/处方单/检查报告/住院单)</view> <view class="name">复诊凭证(病例/处方单/检查报告/住院单)</view>
</view> </view>
<view class="imgtip"> <view class="imgtip">
<image src="{{sickInfo}}" class="img" wx:for="{{sickInfo.diagnose_images}}" mode="aspectFill" wx:for-index="idx" wx:key="idx" bindtap="previewImage" data-id="{{idx}}" ></image> <image src="{{item}}" class="img" wx:for="{{sickInfo.diagnose_images}}" mode="aspectFill" wx:for-index="idx" wx:key="idx" bindtap="previewImage" data-id="{{idx}}" ></image>
</view> </view>
</view> </view>
</view> </view>
@ -83,7 +88,7 @@
<view class="rowtip" wx:if="{{sickInfo.is_pregnant!=null}}"> <view class="rowtip" wx:if="{{sickInfo.is_pregnant!=null}}">
<view class="row"> <view class="row">
<view class="name">是否备孕、妊娠或者哺乳期:</view> <view class="name">是否备孕、妊娠或者哺乳期:</view>
<view class="desc">{{sickInfo.is_pregnant==0?"":'是'}}</view> <view class="desc">{{sickInfo.is_pregnant==0?"":'是'}}</view>
</view> </view>
<view class="tip" wx:if="{{sickInfo.pregnant}}">{{sickInfo.pregnant}}</view> <view class="tip" wx:if="{{sickInfo.pregnant}}">{{sickInfo.pregnant}}</view>
</view> </view>

View File

@ -58,11 +58,18 @@ padding:20rpx;
border-radius: 10rpx; border-radius: 10rpx;
} }
.infocell .cell{ .infocell .cell{
flex:1;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
line-height: 60rpx; line-height: 60rpx;
margin-right: 21rpx;
} }
.infocell .cell:nth-child(2){
text-align: center;
}
.infocell .cell:nth-child(3){ .infocell .cell:nth-child(3){
margin-right: 0rpx; text-align: right;
} }
.cell .desc{ .cell .desc{
@ -99,4 +106,23 @@ color: #666666;
padding:20rpx; padding:20rpx;
font-size: 26rpx; font-size: 26rpx;
color: #999999; color: #999999;
}
.img{
width:200rpx;
margin-right: 25rpx;
height:200rpx;
}
.imgtip{
margin-top: 20rpx;
}
.img:nth-child(3n){
margin-right: 0rpx;
}
.rowcell{
width: 100%;
display: flex;
justify-content: space-between;
}
.rowcell:last-child{
width:66.66%;
} }

View File

@ -30,14 +30,22 @@ Page({
}, },
goInfo:throttle(function(){ goInfo:throttle(function(){
app.method.navigateTo({ app.method.navigateTo({
url: '/pages/familyDoc/familyDoc', url: '/pages/memberDetail/memberDetail?fromtype=manage',
}) })
}), }),
goRecord:throttle(function(event){ goRecord:throttle(function(event){
let id=event.currentTarget.dataset.id; let {id,count}=event.currentTarget.dataset;
app.method.navigateTo({ if(count==0){
url: '/pages/sickRecord/sickRecord?family_id='+id+"&showRadio=false", wx.showToast({
}) title: '暂无病例数据',
icon:'none'
})
}else{
app.method.navigateTo({
url: '/pages/sickRecord/sickRecord?family_id='+id+"&showRadio=false",
})
}
}), }),
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
@ -58,7 +66,8 @@ Page({
*/ */
onShow() { onShow() {
this.setData({ this.setData({
img_host:app.hostConfig().imghost img_host:app.hostConfig().imghost,
list:[]
}); });
this.handleFamily(); this.handleFamily();
}, },

View File

@ -4,9 +4,9 @@
<view class="hasdata"> <view class="hasdata">
<scroll-view scroll-y="true" bindrefresherrefresh="handleRefresher" class="scrollbox" refresher-triggered="{{isTriggered}}" refresher-threshold="100" refresher-enabled="true" class="namebox" wx:if="{{list.length>0}}"> <scroll-view scroll-y="true" bindrefresherrefresh="handleRefresher" class="scrollbox" refresher-triggered="{{isTriggered}}" refresher-threshold="100" refresher-enabled="true" class="namebox" wx:if="{{list.length>0}}">
<view class="namecell" bindtap="goRecord" wx:for="{{list}}" wx:key="family_id" data-id="{{item.family_id}}"> <view class="namecell" bindtap="goRecord" wx:for="{{list}}" wx:key="family_id" data-id="{{item.family_id}}" data-count="{{item.count}}">
<view class="namecon"> <view class="namecon">
<view class="name" >{{item.name}}<text wx:if="{{item.sex==1}}" decode="true">&nbsp;&nbsp;男</text><text wx:elif="{{item.sex==2}}" decode="true">&nbsp;&nbsp;女</text><text wx:else decode="true">&nbsp;&nbsp;未知</text>{{item.age}}岁</view> <view class="name" >{{item.card_name}}<text wx:if="{{item.sex==1}}" decode="true">&nbsp;&nbsp;男</text><text wx:elif="{{item.sex==2}}" decode="true">&nbsp;&nbsp;女</text><text wx:else decode="true">&nbsp;&nbsp;未知</text>{{item.age}}岁</view>
<view class="count">共有{{item.count}}份病例</view> <view class="count">共有{{item.count}}份病例</view>
</view> </view>
<image src="{{img_host+'/righticon.png'}}" class="righticon"></image> <image src="{{img_host+'/righticon.png'}}" class="righticon"></image>

View File

@ -1,6 +1,6 @@
const app = getApp() const app = getApp()
import {pathographyList,pathographyListDelte} from "../../api/sickRecord" import {pathographyList,pathographyDelete} from "../../api/sickRecord"
import {throttle} from "../../utils/util" import {throttle} from "../../utils/util"
Page({ Page({
@ -44,7 +44,8 @@ Page({
} }
}), }),
handlePathographyListDelte(){ handlePathographyListDelte(){
pathographyListDelte(id).then(data=>{ let id=this.data.currentId
pathographyDelete(id).then(data=>{
wx.showToast({ wx.showToast({
title: '删除成功', title: '删除成功',
icon:'none' icon:'none'
@ -133,7 +134,7 @@ Page({
showRadio:true showRadio:true
}) })
} }
this.handleFamily();
}, },
/** /**
@ -150,7 +151,7 @@ Page({
this.setData({ this.setData({
img_host:app.hostConfig().imghost img_host:app.hostConfig().imghost
}); });
this.handleRefresher();
}, },

View File

@ -1,5 +1,5 @@
<!--pages/sickManage/sickManage.wxml--> <!--pages/sickManage/sickManage.wxml-->
<nav navName="病情记录"></nav> <nav navName="病情管理"></nav>
<view class="page"> <view class="page">
<view class="hasdata"> <view class="hasdata">
<scroll-view scroll-y="true" bindrefresherrefresh="handleRefresher" class="scrollbox" refresher-triggered="{{isTriggered}}" refresher-threshold="100" bindscrolltolower="lower" refresher-enabled="true" class="namebox" wx:if="{{list.length>0}}"> <scroll-view scroll-y="true" bindrefresherrefresh="handleRefresher" class="scrollbox" refresher-triggered="{{isTriggered}}" refresher-threshold="100" bindscrolltolower="lower" refresher-enabled="true" class="namebox" wx:if="{{list.length>0}}">
@ -11,7 +11,7 @@
<view class="rightcon" bindtap="goDetail" data-id="{{item.pathography_id}}" data-index="{{index+1}}"> <view class="rightcon" bindtap="goDetail" data-id="{{item.pathography_id}}" data-index="{{index+1}}">
<view class="time">{{item.created_at}}</view> <view class="time">{{item.created_at}}</view>
<view class="disease"> <view class="disease">
<view > {{item.disease_class_name}}</view> <view class="sickname"> {{item.disease_class_name}}</view>
<view class="disease_desc"> <view class="disease_desc">
<view class="desctext">{{item.disease_desc}}</view> <view class="desctext">{{item.disease_desc}}</view>
</view> </view>
@ -23,6 +23,10 @@
</van-swipe-cell> </van-swipe-cell>
</van-radio-group> </van-radio-group>
</scroll-view> </scroll-view>
<view wx:else class="nodata">
<image src="../../assets/images/noManage.png" class="memberimg"></image>
<view>暂无数据</view>
</view>
</view> </view>
</view> </view>

View File

@ -47,7 +47,6 @@
align-items: center; align-items: center;
padding:0 20rpx 0 30rpx; padding:0 20rpx 0 30rpx;
background: #FFFFFF; background: #FFFFFF;
box-sizing: content-box;
border-radius: 10rpx; border-radius: 10rpx;
} }
@ -57,12 +56,17 @@ color: #333333;
} }
.rightcon{ .rightcon{
flex:1; flex:1;
margin-right: 30rpx;
} }
.namecell .disease{ .namecell .disease{
flex:1;
display: flex; display: flex;
align-items: center;
margin-top: 10rpx; margin-top: 10rpx;
font-size: 24rpx; font-size: 24rpx;
width:540rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #666666; color: #666666;
} }
.disease{ .disease{
@ -70,12 +74,20 @@ color: #333333;
} }
.disease_desc{ .disease_desc{
flex:1; flex:1;
margin-left: 8rpx; display: flex;
} align-items: center;
.desctext{
width:80%;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis;
margin-left: 8rpx;
word-break: break-all;
}
.desctext{
width:100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
@ -127,4 +139,12 @@ color: #999999;
justify-content: center; justify-content: center;
background: #FA541C; background: #FA541C;
color: #fff; color: #fff;
}
.nodata{
margin-top: -172rpx;
flex:1;
display: flex;
font-size: 24rpx;
color: #999999;
flex-direction: column;
} }