This commit is contained in:
zoujiandong 2025-07-29 15:37:31 +08:00
parent c542b5e0ed
commit d292fec408
15 changed files with 155 additions and 42 deletions

View File

@ -27,8 +27,9 @@ Page({
},
handleFetRubric(){
getRubric().then(res=>{
let str = res.replace(/\<img/gi, '<img class="imgstyle"');
this.setData({
node:res
node:str
})
})
},

View File

@ -3,7 +3,7 @@
<view class="page">
<view class="con {{(!type && !signImg)?'active':''}}">
<rich-text nodes="{{node}}"></rich-text>
<rich-text nodes="{{node}}" ></rich-text>
</view>
<view class="imgbox" wx:if="{{signImg}}">
<view class="jiafang">

View File

@ -90,4 +90,7 @@
right:280rpx;
width:280rpx;
height:300rpx;
}
.con .imgstyle{
max-width: 100%;
}

View File

@ -71,6 +71,7 @@ Page({
uid:'',
sex:null,
age:'',
treatmentNum:'',
admissionTime:'',
caseType:[],
mainDiagnose:{
@ -571,11 +572,11 @@ Page({
this.data.medicalRecordId?this.handleEditCase():this.handleAddCase();
}),
saveBasic(){
if(this.validateBasic(true)){
this.setData({
active:1
})
})
}
!this.data.medicalRecordId && this.saveDraft();
},
@ -1075,7 +1076,7 @@ Page({
};
this.setData({
'case.dpmas':this.data.case.dpmas.concat([obj]),
'dpmas_list':this.data.dpmas_list.concat({fileList:[]})
'dpmas_list':this.data.dpmas_list.concat({fileList:[],treatTime:''})
})
},
@ -1099,7 +1100,7 @@ Page({
},
validateBasic(flag){
let {name,uid,sex,age,admissionTime,caseType,mainDiagnose,diseaseCause,seductionReason}=this.data.case;
let {name,uid,sex,age,admissionTime,caseType,mainDiagnose,diseaseCause,seductionReason,treatmentNum}=this.data.case;
let {fileList_basic}=this.data;
if(!name){
flag && wx.showToast({
@ -1143,6 +1144,20 @@ Page({
icon:"none"
})
return false
};
if(treatmentNum<1){
flag && wx.showToast({
title: '治疗次数不小于1次',
icon:"none"
})
return false
}
if(treatmentNum>9999){
flag && wx.showToast({
title: '治疗次数不能超过9999次',
icon:"none"
})
return false
}
if(mainDiagnose.select.length==0){
flag && wx.showToast({
@ -1180,6 +1195,61 @@ Page({
})
return false
}
let {dpmas}=this.data.case;
let {dpmas_list}=this.data;
let obj={
'treatTime':'',
'content':{
"mode":{ // 模式
"select":"",
"otherValue":"",
},
"plasma":{ // 血浆
"handle":"",
"replace":""
},
"dose":{ // 抗凝剂量
"select":[],
"heparin":{ // 肝素
"firstDose":"",//首剂
"firstDoseUnit":'1',
"append":"",//追加
"appendUnit":'1',
},
"lowHeparin":{ // 低分子肝素
"value":""
},
"citricAcid":{ // 枸橼酸
"bloodFlowRate":"",//血液流速
"citricAcidFlowRate":"",//枸橼酸钠流速
"calciumAgent":{ // 钙剂
"select":"",
"value":"",
}
},
"nafamostat":{ // 甲磺酸萘莫司他
"value":""
},
"other":{ // 其他
"name":"",
"dose":""
}
}
},
dpmasImg:''
};
if(caseType.length==1 && caseType[0]==1){
if(dpmas.length<=1){
this.setData({
'case.dpmas':dpmas.concat([obj]),
'dpmas_list':dpmas_list.concat({fileList:[],treatTime:''})
})
}
}
// if(seductionReason.inside.select.length==0){
// flag && wx.showToast({
// title: '请选择诱因肝内类型',
@ -1224,16 +1294,10 @@ Page({
return true
},
validateRecord(flag){
let {dpmas,admissionTime}=this.data.case;
let {dpmas,admissionTime,caseType}=this.data.case;
let {dpmas_list}=this.data;
// if(caseType==1 && dpmas.length<4){
// flag && wx.showToast({
// title: 'DPMAS治疗不少于4次',
// icon:'none'
// })
// return false;
// };
// if(caseType==2 && dpmas.length<1){
// flag && wx.showToast({
// title: 'DPMAS治疗不少于1次',
@ -1396,6 +1460,16 @@ Page({
return false;
}
};
if(caseType.length==1 && caseType[0]==1){
if(dpmas.length<=1){
flag && wx.showToast({
title: '病例治疗类型为DPMAS或DPMAS联合模式时需提交至少2次人工肝治疗记录',
icon:'none'
})
return false;
}
};
return true
@ -1918,7 +1992,7 @@ Page({
}else{
iptValue=tempValue
}
if(key=='age' || key=="day"){
if(key=='age' || key=="day" || key=="treatmentNum"){
if(e.detail.value!=''){
this.setData({
['case.'+key]:Number(e.detail.value)
@ -2170,10 +2244,7 @@ Page({
return parts[parts.length - 1];
},
afterhandlePaint(e){
wx.showLoading({
title: '图片上传中',
mask: true
})
this.setData({
showPaint:false
})

View File

@ -9,7 +9,7 @@
<view class="page">
<van-tabs active="{{ active }}" wrap-class="tabwrap" use-before-change="{{ true }}" custom-class="tabbox" bind:before-change="onBeforeChange">
<van-tab title="基本信息" class="vantab">
<view class="basic {{!showSaveBtn?'active':''}}">
<scroll-view scroll-y="true" class="basic {{!showSaveBtn?'active':''}}">
<view class="basiccon">
<view class="row">
<view class="left">
@ -53,7 +53,9 @@
入院时间<text class="red">*</text>
</view>
<view class="right" bind:tap="openTime">
<input type="text" value="{{case.admissionTime}}" class="ipt" placeholder="请输入" placeholder-class="placeholder" disabled />
<view class="viewipt {{case.admissionTime?'ipt':'placeholder'}}" wx:if="{{!showTime}}">{{case.admissionTime?case.admissionTime:'请选择时间'}}</view>
<input type="text" wx:else value="{{case.admissionTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" />
</view>
</view>
@ -72,6 +74,14 @@
</view>
</view>
<view class="row">
<view class="left">
治疗次数<text class="red">*</text>
</view>
<view class="right">
<input type="number" value="{{case.treatmentNum}}" bindinput="handleIpt" class="ipt" data-id="treatmentNum" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
</view>
</view>
<view class="row" style="padding-bottom:0;flex-direction: column;border-bottom: 1rpx solid rgba(0,0,0,0.1);">
<view class="left bold">
主要诊断(可多选)<text class="red">*</text>
@ -164,7 +174,7 @@
<view class="btnbox" wx:if="{{showSaveBtn}}">
<view class="btn" bind:tap="saveBasic">下一步</view>
</view>
</view>
</scroll-view>
</van-tab>
<van-tab title="临床资料" disabled="{{disable_ziliao}}">
@ -259,21 +269,22 @@
<view class="basic {{!showSaveBtn?'active':''}}" wx:if="{{active==2}}">
<view class="recordcon">
<view class="tips">
<van-icon name="todo-list" color="orange" size="24" />总共治疗<text>{{case.dpmas.length}}</text>次</view>
<van-icon name="todo-list" color="orange" size="24" />总共治疗记录<text>{{case.dpmas.length}}</text>次</view>
<view class="record" wx:for="{{case.dpmas}}" wx:key="index">
<view class="title">
<view class="titlename">
<view class="bar"></view>
<view class="recordtime">第{{index+1}}次治疗</view>
</view>
<van-icon name="delete-o" size="22" bind:tap="confirmDelRecord" data-index="{{index}}" color="#b9bbbb" wx:if="{{index!=0 && showSaveBtn}}" />
<van-icon name="delete-o" size="22" bind:tap="confirmDelRecord" data-index="{{index}}" color="#b9bbbb" wx:if="{{index!=0 && showSaveBtn && !(case.caseType.length==1 && case.caseType[0]==1 && case.dpmas.length<=2)}}" />
</view>
<view class="row">
<view class="left">
治疗时间<text class="red">*</text>
</view>
<view class="right" bind:tap="openDealTime" data-index="{{index}}">
<input type="text" value="{{dpmas_list[index].treatTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<view class="viewipt {{dpmas_list[index].treatTime?'ipt':'placeholder'}}" wx:if="{{!showTime}}">{{dpmas_list[index].treatTime?dpmas_list[index].treatTime:'请选择时间'}}</view>
<input type="text" wx:else value="{{dpmas_list[index].treatTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<!-- <text wx:if="{{case.dpmas[index].treatTime}}">h</text> -->
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" />
</view>
@ -519,7 +530,8 @@
首次人工肝治疗前检测时间<text class="red">*</text>
</view>
<view class="right" bind:tap="openHeadTime">
<input type="text" value="{{case.headTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<view class="viewipt short {{case.headTime?'ipt':'placeholder'}}" wx:if="{{!showTime}}">{{case.headTime?case.headTime:'请选择时间'}}</view>
<input type="text" wx:else value="{{case.headTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" />
</view>
@ -529,7 +541,8 @@
首次人工肝治疗后检测时间<text class="red">*</text>
</view>
<view class="right" bind:tap="openAfterTime">
<input type="text" value="{{case.afterTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<view class="viewipt short {{case.afterTime?'ipt':'placeholder'}}" wx:if="{{!showTime}}">{{case.afterTime?case.afterTime:'请选择时间'}}</view>
<input type="text" wx:else value="{{case.afterTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<!-- <text wx:if="{{case.afterTime}}">h</text> -->
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" />
</view>
@ -539,13 +552,14 @@
最后一次人工肝治疗后检测时间<text class="red">*</text>
</view>
<view class="right" bind:tap="openLastTime">
<input type="text" value="{{case.lastTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<view class="viewipt shortlast {{case.lastTime?'ipt':'placeholder'}}" wx:if="{{!showTime}}">{{case.lastTime?case.lastTime:'请选择时间'}}</view>
<input type="text" wx:else value="{{case.lastTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" />
</view>
</view>
<view class="table">
<view class="t_title">
总胆红素TB (umol/L)<text class="red">*</text>
总胆红素 TB(umol/L)<text class="red">*</text>
</view>
<view class="row">
<view class="left">首次治疗前</view>
@ -854,7 +868,8 @@
出院时间<text class="red">*</text>
</view>
<view class="right" bind:tap="openDischargeTime">
<input type="text" value="{{case.dischargeTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<view class="viewipt {{case.dischargeTime?'ipt':'placeholder'}}" wx:if="{{!showTime}}">{{case.dischargeTime?case.dischargeTime:'请选择时间'}}</view>
<input type="text" wx:else value="{{case.dischargeTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<van-icon name="arrow" color="#83858a" size="38rpx" class="righticon" />
</view>
</view>

View File

@ -121,8 +121,21 @@ page{
border-bottom: none;
}
.basic .row .ipt{
text-align: right;
}
.viewipt{
flex:1;
width:340rpx;
text-align: right;
font-family: UICTFontTextStyleBody;
}
.viewipt.short{
width:240rpx;
}
.viewipt.shortlast{
width:180rpx;
}
.placeholder{
font-size: 32rpx;
font-weight: 400;

View File

@ -231,7 +231,7 @@ onCancelSuccess(){
let THIS=this;
if(!this.data.check){
wx.showToast({
title: '请同意《肝胆相照用户服务协议》!',
title: '请同意《隐私协议》!',
icon:'none'
})
return false

View File

@ -52,7 +52,7 @@ Page({
let {mobile,pwd,loginDevice,captchaUuid,captchaCode,checked}=this.data;
if(!checked){
wx.showToast({
title: '请同意《用户服务协议》!',
title: '请同意《隐私协议》!',
icon:'none'
})
return false

View File

@ -490,8 +490,11 @@ Page({
file
} = event.detail;
this.setData({
showCrop:true,
src:file.url
},()=>{
this.setData({
showCrop:true,
})
})
},

View File

@ -142,6 +142,10 @@ Component({
// this.triggerEvent('confirmUpload')
// },
tapBtn: function (e) {
wx.showLoading({
title: '图片上传中',
mask: true
})
utils.tapBtn(e, this, 2,this.data.paintFrom);
this.hideBarsHandler()
},

View File

@ -79,11 +79,11 @@ Component({
type:4
}).then(result=>{
if(result<4){
if(result<20){
this.handleGetSign()
}else{
wx.showToast({
title: '每人参与病例征集不得超过20例',
title: '每人参与病例征集不得超过20例', icon:'none'
})
}

View File

@ -81,12 +81,12 @@ Page({
limitCount({
type:4
}).then(result=>{
if(result<4){
if(result<20){
this.handleGetSign()
}else{
wx.showToast({
title: '每人参与病例征集不得超过20例',
icon:'none'
})
}

View File

@ -75,9 +75,9 @@ Page({
type:3
}).then(result => {
console.log(result);
if (result < 2) {
if (result < 5) {
wx.showToast({
title: '病例审核通过2份及以上可申请病例交流活动',
title: '病例审核通过5份及以上可申请病例交流活动',
icon: 'none'
})
} else {

View File

@ -5,5 +5,5 @@
"compileHotReLoad": true,
"urlCheck": false
},
"libVersion": "3.8.8"
"libVersion": "3.8.12"
}

View File

@ -4,8 +4,11 @@
host_dev:'https://dev-case.igandan.com/api',
img_dev: 'https://medical-case.oss-cn-beijing.aliyuncs.com/static', //开发环境
host_prod:'https://case.igandan.com/api',
img_prod: 'https://medical-case.oss-cn-beijing.aliyuncs.com/static', //线上环境
host_prod:'https://prod-casecollection.igandan.com/api',
img_prod: 'https://medical-case.oss-cn-beijing.aliyuncs.com/static', //线上环境
// host_dev:'https://prod-casecollection.igandan.com/api',
// img_dev: 'https://medical-case.oss-cn-beijing.aliyuncs.com/static',
};
const { envVersion } = wx.getAccountInfoSync().miniProgram;