7.14 提交

This commit is contained in:
zoujiandong
2025-07-14 17:16:32 +08:00
parent 5a56083d0c
commit c542b5e0ed
37 changed files with 1267 additions and 733 deletions
+374 -138
View File
@@ -3,7 +3,8 @@ import {addCase,caseDetail,editCase,getOssSign,ocrImg} from "../../../api/api"
const dayjs = require("../../../utils/dayjs");
import {throttle} from "../../../utils/util"
import { FileUtil } from '../../../utils/fileutil'
import {diagnoseOption,patientSickOption,ganneiOption,ganwaiOption,moshiOption,hospitalOption,kangningOption,il6Unit,doseUnit} from "../../utils/data"
import {diagnoseOption,patientSickOption,ganneiOption,ganwaiOption,moshiOption,hospitalOption,kangningOption,il6Unit,doseUnit,tnfUnit} from "../../utils/data"
import Toast from '@vant/weapp/toast/toast';
const app=getApp();
Page({
@@ -23,10 +24,11 @@ Page({
ganwaiOption:ganwaiOption,
il6Unit:il6Unit,
doseUnit:doseUnit,
tnfUnit:tnfUnit,
moshiOption:moshiOption,
hospitalOption:hospitalOption,
editorHeight:'calc(100vh - 600rpx)',
editorHeight2:'calc(100vh - 800rpx)!important',
editorHeight2:'calc(100vh - 1100rpx)!important',
paintFrom:'basic',
paintSrc:'',
showPaint:false,
@@ -51,15 +53,17 @@ Page({
showDel:false,
showAttention:false,
fileList_basic:[],
fileList_check:[],
fileList_bio:[],
fileList_coa:[],
fileList_inf:[],
dpmas_list:[{fileList:[],treatTime:''}],
disable_ziliao:false,
disable_record:false,
disable_check:false,
disable_back:false,
columns:[
{ text: '四次及以上疗程化', value: 1 },
{ text: '早前期(INR≤1.5)', value: 2 }
{ text: 'DPMAS及联合模式', value: 1 },
{ text: 'CA280及联合模式', value: 2 }
],
typeName:'',
case:{
@@ -140,6 +144,7 @@ Page({
headDb:'',
afterDb:'',
il6Unit:'2',
tnfUnit:'1',
lastDb:'',
headIb:'',
afterIb:'',
@@ -169,6 +174,9 @@ Page({
afterTnf:'',
lastTnf:'',
checkImg:'',
bioImg:'',
coaImg:'',
infImg:'',
dischargeTime:'',
day:'',
dischargeSituation:'',
@@ -352,8 +360,10 @@ Page({
that.setData({
editorCtx:res.context
})
let html =
"<p>【主诉】:</p><br/><p>【现病史】:</p><br/><p>【既往史】:</p><br/><br/>";
let html=''
// let html =
// "<p>【主诉】:</p><br/><p>【现病史】:</p><br/><p>【既往史】:</p><br/><br/>";
let str=that.data.case.abstractStr;
if(str){
@@ -362,6 +372,7 @@ Page({
that.data.editorCtx.setContents({
html:html
})
that.data.editorCtx.blur()
}).exec()
},
@@ -647,7 +658,7 @@ Page({
},
isHasValue(){
let {name,uid,sex,age,admissionTime,caseType,mainDiagnose,diseaseCause,seductionReason,abstractStr,headTime,afterTime,headTb,afterTb,headAlt,afterAlt,headAlb,afterAlb,headAst,afterAst,headInr,afterInr,headDb,afterDb,headIb,afterIb,headPta,afterPta,headIl6,afterIl6,headTnf,afterTnf,dpmas}=this.data.case;
let {fileList_basic,fileList_check,dpmas_list,dischargeTime,day,dischargeStatus,dischargeSituation}=this.data;
let {fileList_basic,fileList_bio,fileList_coa,fileList_inf,dpmas_list,dischargeTime,day,dischargeStatus,dischargeSituation}=this.data;
let hasTime=dpmas_list.some(item=>{ return item.fileList.length>0});
let hasImg=dpmas_list.some(item=>{ return item.treatTime!=''});
@@ -656,17 +667,18 @@ Page({
hasRec= this.hasRecordValue();
}
if(name || uid || sex || age || admissionTime || caseType.length>0 || mainDiagnose.select.length>0 || mainDiagnose.otherValue || diseaseCause.select.length>0 || diseaseCause.otherValue || seductionReason.inside.select.length>0 || seductionReason.inside.otherValue || seductionReason.outside.select.length>0 || seductionReason.outside.otherValue || abstractStr || headTime || afterTime || headTb || afterTb || headAlt || afterAlt || headAlb || afterAlb || headAst || afterAst || headInr || afterInr || headDb || afterDb || headIb || afterIb || headPta || afterPta || headIl6 || afterIl6 || headTnf || afterTnf || fileList_basic.length>0 || fileList_check.length>0 || hasTime || hasImg || dischargeTime || day || dischargeStatus || dischargeSituation || hasRec){
if(name || uid || sex || age || admissionTime || caseType.length>0 || mainDiagnose.select.length>0 || mainDiagnose.otherValue || diseaseCause.select.length>0 || diseaseCause.otherValue || seductionReason.inside.select.length>0 || seductionReason.inside.otherValue || seductionReason.outside.select.length>0 || seductionReason.outside.otherValue || abstractStr || headTime || afterTime || headTb || afterTb || headAlt || afterAlt || headAlb || afterAlb || headAst || afterAst || headInr || afterInr || headDb || afterDb || headIb || afterIb || headPta || afterPta || headIl6 || afterIl6 || headTnf || afterTnf || fileList_basic.length>0 || fileList_bio.length>0 || fileList_coa.length>0 || fileList_inf.length>0 || hasTime || hasImg || dischargeTime || day || dischargeStatus || dischargeSituation || hasRec){
return true
}else{
return false
}
},
handleAddCase(){
let {fileList_basic,fileList_check,dpmas_list}=this.data;
let {fileList_basic,fileList_bio,dpmas_list,fileList_coa,fileList_inf}=this.data;
let baseImg='';
let abstractImg='';
let checkImg='';
let bioImg='';
let coaImg='';
let infImg='';
if(this.validateBasic(true) && this.validateZiliao(true) && this.validateRecord(true) && this.validateCheck(true) && this.validateBack(true)){
fileList_basic.forEach(item=>{
if(baseImg){
@@ -676,11 +688,25 @@ Page({
}
})
fileList_check.forEach(item=>{
if(checkImg){
checkImg+="," +item.url
fileList_bio.forEach(item=>{
if(bioImg){
bioImg+="," +item.url
}else{
checkImg+=item.url;
bioImg+=item.url;
}
});
fileList_coa.forEach(item=>{
if(coaImg){
coaImg+="," +item.url
}else{
coaImg+=item.url;
}
});
fileList_inf.forEach(item=>{
if(infImg){
infImg+="," +item.url
}else{
infImg+=item.url;
}
});
dpmas_list.forEach((item,index)=>{
@@ -700,8 +726,9 @@ Page({
})
this.setData({
'case.mainDiagnose.mainDiagnoseImg':baseImg,
'case.abstractImg':abstractImg,
'case.checkImg':checkImg
'case.bioImg':bioImg,
'case.coaImg':coaImg,
'case.infImg':infImg
})
let caseObj=this.formatString(this.data.case);
caseObj.caseType=JSON.stringify(this.data.case.caseType);
@@ -727,10 +754,11 @@ Page({
},
handleEditCase(){
let {fileList_basic,fileList_check,dpmas_list,medicalRecordId}=this.data;
let baseImg='';
let abstractImg='';
let checkImg='';
let {fileList_basic,fileList_bio,dpmas_list,fileList_coa,fileList_inf,medicalRecordId}=this.data;
let baseImg='';
let bioImg='';
let coaImg='';
let infImg='';
if(this.validateBasic(true) && this.validateZiliao(true) && this.validateRecord(true) && this.validateCheck(true) && this.validateBack(true)){
fileList_basic.forEach(item=>{
if(baseImg){
@@ -740,13 +768,27 @@ Page({
}
})
fileList_check.forEach(item=>{
if(checkImg){
checkImg+="," +item.url
}else{
checkImg+=item.url;
}
});
fileList_bio.forEach(item=>{
if(bioImg){
bioImg+="," +item.url
}else{
bioImg+=item.url;
}
});
fileList_coa.forEach(item=>{
if(coaImg){
coaImg+="," +item.url
}else{
coaImg+=item.url;
}
});
fileList_inf.forEach(item=>{
if(infImg){
infImg+="," +item.url
}else{
infImg+=item.url;
}
});
dpmas_list.forEach((item,index)=>{
let imgStr='';
let itemArr=item.fileList;
@@ -764,8 +806,9 @@ Page({
})
this.setData({
'case.mainDiagnose.mainDiagnoseImg':baseImg,
'case.abstractImg':abstractImg,
'case.checkImg':checkImg
'case.bioImg':bioImg,
'case.coaImg':coaImg,
'case.infImg':infImg
})
let {admissionTime,headTime,afterTime,lastTime,dischargeTime}=this.data.case;
this.setData({
@@ -792,6 +835,7 @@ Page({
},
initAllvalue(res){
let caseObj=this.data.case;
console.log(caseObj);
for (const key in caseObj) {
if(key=="admissionTime" || key=="dischargeTime"){
this.setData({
@@ -813,7 +857,6 @@ Page({
})
if(res[key].mainDiagnoseImg){
let imgList=res[key].mainDiagnoseImg.split(',');
//console.log(imgList)
let arr=imgList.map(item=>{
return {url:item}
})
@@ -822,13 +865,37 @@ Page({
})
}
}else if(key=='checkImg'){
}else if(key=='bioImg'){
if(res[key]){
let imgList=res[key].split(',');
console.log(imgList)
this.setData({
['case.'+key]:res[key],
fileList_check:imgList.map(item=>{
fileList_bio:imgList.map(item=>{
return {url:item}
})
})
}
}else if(key=='coaImg'){
if(res[key]){
let imgList=res[key].split(',');
this.setData({
['case.'+key]:res[key],
fileList_coa:imgList.map(item=>{
return {url:item}
})
})
}
}else if(key=='infImg'){
console.log(22333)
if(res[key]){
let imgList=res[key].split(',');
console.log(imgList)
this.setData({
['case.'+key]:res[key],
fileList_inf:imgList.map(item=>{
return {url:item}
})
})
@@ -889,52 +956,52 @@ Page({
})
callback(true);
}else if(index==1){
if(this.validateBasic()){
if(this.validateBasic(true)){
callback(true);
this.setData({
active:1
})
}else{
this.setData({
showAttention:true
})
// this.setData({
// showAttention:true
// })
callback(false)
}
}else if(index==2){
if(this.validateBasic(false) && this.validateZiliao(false)){
if(this.validateBasic(true) && this.validateZiliao(true)){
callback(true);
this.setData({
active:2
})
}else{
this.setData({
showAttention:true
})
// this.setData({
// showAttention:true
// })
callback(false)
}
}else if(index==3){
if(this.validateBasic(false) && this.validateZiliao(false) && this.validateRecord(false)){
if(this.validateBasic(true) && this.validateZiliao(true) && this.validateRecord(true)){
callback(true);
this.setData({
active:3
})
}else{
this.setData({
showAttention:true
})
// this.setData({
// showAttention:true
// })
callback(false)
}
}else if(index==4){
if(this.validateBasic(false) && this.validateZiliao(false) && this.validateRecord(false) && this.validateCheck(false)){
if(this.validateBasic(true) && this.validateZiliao(true) && this.validateRecord(true) && this.validateCheck(true)){
callback(true);
this.setData({
active:4
})
}else{
this.setData({
showAttention:true
})
// this.setData({
// showAttention:true
// })
callback(false)
}
}else if(index==5){
@@ -964,12 +1031,51 @@ Page({
},
addRecord(){
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:''
};
this.setData({
'case.dpmas':this.data.case.dpmas.concat([{
'dpmasImg':'',
'treatTime':''
}]),
'dpmas_list':this.data.dpmas_list.concat({fileList:[]})
'case.dpmas':this.data.case.dpmas.concat([obj]),
'dpmas_list':this.data.dpmas_list.concat({fileList:[]})
})
},
@@ -1045,7 +1151,7 @@ Page({
})
return false
}
if(mainDiagnose.select.length==0 && !mainDiagnose.otherValue){
if(mainDiagnose.select.includes('-1') && !mainDiagnose.otherValue){
flag && wx.showToast({
title: '主要诊断其他不能为空',
icon:"none"
@@ -1067,7 +1173,7 @@ Page({
})
return false
}
if(diseaseCause.select.length==0 && !diseaseCause.otherValue){
if(diseaseCause.select.includes('-1') && !diseaseCause.otherValue){
flag && wx.showToast({
title: '患者病因其他不能为空',
icon:"none"
@@ -1081,13 +1187,13 @@ Page({
// })
// return false
// }
if(seductionReason && seductionReason.inside && seductionReason.inside.select && seductionReason.inside.select.indexOf('-1')!=-1 && !seductionReason.inside.otherValue){
flag && wx.showToast({
title: '请选择诱因肝内其他不能为空',
icon:"none"
})
return false
}
// if(seductionReason && seductionReason.inside && seductionReason.inside.select && seductionReason.inside.select.indexOf('-1')!=-1 && !seductionReason.inside.otherValue){
// flag && wx.showToast({
// title: '请选择诱因肝内其他不能为空',
// icon:"none"
// })
// return false
// }
// if(seductionReason.outside.select.length==0){
// flag && wx.showToast({
// title: '请选择诱因肝外类型',
@@ -1095,18 +1201,19 @@ Page({
// })
// return false
// }
if(seductionReason && seductionReason.outside && seductionReason.outside.select && seductionReason.outside.select.indexOf('-1')!=-1 && !seductionReason.outside.otherValue){
flag && wx.showToast({
title: '请选择诱因肝外其他不能为空',
icon:"none"
})
return false
}
// if(seductionReason && seductionReason.outside && seductionReason.outside.select && seductionReason.outside.select.indexOf('-1')!=-1 && !seductionReason.outside.otherValue){
// flag && wx.showToast({
// title: '请选择诱因肝外其他不能为空',
// icon:"none"
// })
// return false
// }
return true
},
validateZiliao(flag){
let {abstractStr}=this.data.case;
if( !abstractStr){
let html ="<p><br></p>";
if(!abstractStr || abstractStr==html){
flag && wx.showToast({
title: '病历摘要不能为空',
icon:"none"
@@ -1136,9 +1243,8 @@ Page({
// }
for (let i = 0; i < dpmas.length; i++) {
if(!dpmas[i].treatTime){
flag && wx.showToast({
title: '第'+(i+1)+'次治疗时间不能为空',
icon:'none'
flag && Toast({
message: '第'+(i+1)+'次治疗时间不能为空',
})
return false;
}
@@ -1146,17 +1252,17 @@ Page({
let time1=dayjs(admissionTime).format('YYYY-MM-DD');
let time2=dayjs(dpmas[0].treatTime).format('YYYY-MM-DD');
// if(dayjs(time1).diff(dayjs(time2))>0){
// flag && wx.showToast({
// title: '患者基本信息入院时间应该早于第一次治疗时间',
// icon:'none'
// })
// return false;
// }
if(dayjs(time1).diff(dayjs(time2))>0){
flag && Toast({
message: '患者基本信息入院时间应该不晚于第一次治疗时间',
icon:'none'
})
return false;
}
for (let i = 0; i < dpmas.length-1; i++) {
if(dayjs(dpmas[i].treatTime).diff(dayjs(dpmas[i+1].treatTime))>0){
flag && wx.showToast({
title: '第'+(i+1)+'次治疗时间应该早于第'+(i+2)+'次治疗时间',
if(dayjs(dpmas[i].treatTime).diff(dayjs(dpmas[i+1].treatTime))>=0){
flag && Toast({
message: '第'+(i+1)+'次治疗时间应该早于第'+(i+2)+'次治疗时间',
icon:'none'
})
return false;
@@ -1193,8 +1299,10 @@ Page({
})
return false;
}
// if(item.dose.select.length>0){
// if(item.dose.select.includes(1)){
// if(item.dose.select.includes('1')){
// if(!item.dose.heparin.firstDose){
// flag && wx.showToast({
// title: '第'+(i+1)+'次治疗抗凝剂量中肝素首剂不能为空',
@@ -1211,7 +1319,7 @@ Page({
// }
// }
// if(item.dose.select.includes(2)){
// if(item.dose.select.includes('2')){
// if(!item.dose.lowHeparin.value){
// flag && wx.showToast({
// title: '第'+(i+1)+'次治疗抗凝剂量中低分子肝素不能为空',
@@ -1220,7 +1328,7 @@ Page({
// return false;
// }
// }
// if(item.dose.select.includes(3)){
// if(item.dose.select.includes('3')){
// if(!item.dose.citricAcid.bloodFlowRate){
// flag && wx.showToast({
// title: '第'+(i+1)+'次治疗枸橼酸中血液流速不能为空',
@@ -1251,7 +1359,7 @@ Page({
// }
// }
// if(item.dose.select.includes(4)){
// if(item.dose.select.includes('4')){
// if(!item.dose.nafamostat.value){
// flag && wx.showToast({
// title: '第'+(i+1)+'次治疗抗凝剂量中甲磺酸萘莫司他不能为空',
@@ -1260,7 +1368,7 @@ Page({
// return false;
// }
// }
// if(item.dose.select.includes(5)){
// if(item.dose.select.includes('-1')){
// if(!item.dose.other.name){
// flag && wx.showToast({
// title: '第'+(i+1)+'次治疗抗凝剂量中其他名称不能为空',
@@ -1276,7 +1384,7 @@ Page({
// return false;
// }
// }
// }
// }
}
for (let index = 0; index <dpmas_list.length; index++) {
@@ -1294,7 +1402,7 @@ Page({
},
validateCheck(flag){
let {headTime,afterTime,lastTime,headTb,afterTb,lastTb,headAlt,afterAlt,lastAlt,headAst,afterAst,lastAst,headInr,afterInr,lastInr,headAlb,afterAlb,lastAlb,admissionTime,dpmas}=this.data.case;
let {fileList_check}=this.data;
let {fileList_bio,fileList_coa,fileList_inf}=this.data;
if(!headTime){
flag && wx.showToast({
title: '首次治疗前检测时间不能为空',
@@ -1322,23 +1430,69 @@ Page({
let firstTime=dayjs(dpmas[0].treatTime).format('YYYY-MM-DD');//第一次治疗时间
let lastTreatTime=dayjs(dpmas[dpmas.length-1].treatTime).format('YYYY-MM-DD')//最后一次治疗时间
let admissionTime_new=dayjs(admissionTime).format('YYYY-MM-DD'); //住院时间
if(dayjs(admissionTime_new).diff(dayjs(headTime_new))>0){
flag && Toast({
message: '患者基本信息入院时间应该不晚于首次人工肝治疗前检测时间',
icon:'none'
})
return false;
};
if(dayjs(headTime_new).diff(dayjs(firstTime))>0){
flag && Toast({
message: '首次人工肝治疗前检测时间应该不晚于第一次治疗时间',
icon:'none'
})
return false;
};
if(dayjs(firstTime).diff(dayjs(afterTime_new))>0){
flag && Toast({
message: '第一次治疗时间应该不晚于首次人工肝治疗后检测时间',
icon:'none'
})
return false;
};
//新加判断
if(dayjs(headTime_new).diff(dayjs(afterTime_new))>=0){
flag && wx.showToast({
title: '首次治疗时间前检测时间应该早于首次治疗后检测时间',
if(dayjs(headTime_new).diff(dayjs(afterTime_new))>0){
flag && Toast({
message: '首次人工肝治疗时前检测时间应该不晚于首次人工肝治疗后检测时间',
icon:'none'
})
return false;
}
if(dayjs(afterTime_new).diff(dayjs(lastTime_new))>0){
flag && wx.showToast({
title: '最后一次治疗后检测时间应该早于或者等于首次次治疗后检测时间',
icon:'none'
})
return false;
if(lastTime){
if(dayjs(afterTime_new).diff(dayjs(lastTime_new))>=0){
flag && Toast({
message: '首次人工肝治疗后检测时间应该早于最后一次人工肝治疗后检测时间',
icon:'none'
})
return false;
}
}
if(dpmas.length>1){
let secondTreatTime=dayjs(dpmas[1].treatTime).format('YYYY-MM-DD')
if(dayjs(afterTime_new).diff(dayjs(secondTreatTime))>=0){
flag && Toast({
message: '首次人工肝治疗后检测时间应该早于第二次治疗时间',
icon:'none'
})
return false;
}
if(dayjs(lastTreatTime).diff(dayjs(lastTime_new))>0){
flag && Toast({
message: '最后一次治疗时间应该不晚于最后一次人工肝治疗后检测时间',
icon:'none'
})
return false;
}
}
// let time1=dayjs(admissionTime).format('YYYY-MM-DD');
// let time2=dayjs(dpmas[0].treatTime).format('YYYY-MM-DD');
// if(caseType==2){
// if(!(dayjs(headTime_new).diff(dayjs(admissionTime_new))>=0 && dayjs(headTime_new).diff(dayjs(firstTime))<=0)){
// flag && wx.showToast({
@@ -1440,6 +1594,7 @@ Page({
})
return false
};
if(dpmas.length>1){
if(!lastAlb){
flag && wx.showToast({
@@ -1449,6 +1604,13 @@ Page({
return false
}
}
if(fileList_bio.length==0){
flag && wx.showToast({
title: '请上传生化检测报告单',
icon:"none"
})
return false
}
if(!headInr || !afterInr){
flag && wx.showToast({
title: '国际标准化比值首次治疗前后未填写完整',
@@ -1465,17 +1627,20 @@ Page({
return false
}
}
if(fileList_check.length==0){
flag && wx.showToast({
title: '请上传报告单',
icon:"none"
})
return false
}
if(fileList_coa.length==0){
flag && wx.showToast({
title: '请上传凝血功能检测报告单',
icon:"none"
})
return false
}
return true;
},
validateBack(flag){
let {dischargeTime,day,dischargeStatus,dischargeSituation}=this.data.case;
let {dischargeTime,day,dischargeStatus,dischargeSituation,dpmas,lastTime,afterTime}=this.data.case;
let dischargeTime_new=dayjs(dischargeTime).format('YYYY-MM-DD');
let lastTreatTime=dayjs(dpmas[dpmas.length-1].treatTime).format('YYYY-MM-DD')//最后一次治疗时间
if(!dischargeTime){
flag && wx.showToast({
title: '请选择出院时间',
@@ -1483,6 +1648,35 @@ Page({
})
return false
}
if(dpmas.length==1){
let afterTime_new=dayjs(afterTime).format('YYYY-MM-DD');
if(dayjs(afterTime_new).diff(dayjs(dischargeTime_new))>0){
flag && Toast({
message: '首次人工肝治疗后检测时间应该不晚于出院时间',
icon:'none'
})
return false;
}
}
if(dpmas.length>1){
if(dayjs(lastTreatTime).diff(dayjs(dischargeTime_new))>0){
flag && Toast({
message: '最后一次治疗时间应该不晚于出院时间',
icon:'none'
})
return false;
}
let lastTime_new=dayjs(lastTime).format('YYYY-MM-DD');
if(dayjs(lastTime_new).diff(dayjs(dischargeTime_new))>0){
flag && Toast({
message: '最后一次人工肝治疗后检测时间应该不晚于出院时间',
icon:'none'
})
return false;
}
}
if(!day){
flag && wx.showToast({
title: '请输入住院天数',
@@ -1527,10 +1721,11 @@ Page({
})
},
saveDraft(){
let {fileList_basic,fileList_check,dpmas_list}=this.data;
let {fileList_basic,fileList_bio,dpmas_list,fileList_coa,fileList_inf}=this.data;
let baseImg='';
let abstractImg='';
let checkImg='';
let bioImg='';
let coaImg='';
let infImg='';
fileList_basic.forEach(item=>{
if(baseImg){
baseImg+="," +item.url
@@ -1538,13 +1733,27 @@ Page({
baseImg+=item.url;
}
})
fileList_check.forEach(item=>{
if(checkImg){
checkImg+="," +item.url
fileList_bio.forEach(item=>{
if(bioImg){
bioImg+="," +item.url
}else{
checkImg+=item.url;
bioImg+=item.url;
}
});
fileList_coa.forEach(item=>{
if(coaImg){
coaImg+="," +item.url
}else{
coaImg+=item.url;
}
});
fileList_inf.forEach(item=>{
if(infImg){
infImg+="," +item.url
}else{
infImg+=item.url;
}
});
dpmas_list.forEach((item,index)=>{
let imgStr='';
let itemArr=item.fileList;
@@ -1562,8 +1771,9 @@ Page({
})
this.setData({
'case.mainDiagnose.mainDiagnoseImg':baseImg,
'case.abstractImg':abstractImg,
'case.checkImg':checkImg
'case.infImg':infImg,
'case.coaImg':coaImg,
'case.bioImg':bioImg
})
let caseObj=this.data.case;
let {admissionTime,headTime,afterTime}=this.data.case;
@@ -1658,7 +1868,7 @@ Page({
// })
// return false
// }
time=dayjs(event.detail).format('YYYY-MM-DD HH:mm');
time=dayjs(event.detail).format('YYYY-MM-DD');
}else if(time_str=="headTime"){
key="headTime"
@@ -1677,9 +1887,9 @@ Page({
showTime:false,
currentDate: event.detail,
[oterobj]:dayjs(time).format('YYYY-MM-DD'),
[obj]:time+ ":00"
[obj]:time+ " 00:00:00"
})
console.log(this.data.case.dpmas)
//console.log(this.data.case.dpmas)
}else{
this.setData({
currentDate: event.detail,
@@ -1695,7 +1905,7 @@ Page({
let type=e.target.dataset.type;
if(key=='name'){
let value=e.detail.value;
let newVal=String(value).charAt(0).toUpperCase() + String(value).slice(1);;
let newVal=String(value).toUpperCase();
this.setData({
['case.'+key]:newVal
})
@@ -1708,7 +1918,7 @@ Page({
}else{
iptValue=tempValue
}
if(key=='age'){
if(key=='age' || key=="day"){
if(e.detail.value!=''){
this.setData({
['case.'+key]:Number(e.detail.value)
@@ -1740,6 +1950,14 @@ Page({
'case.dischargeSituation':event.detail.html
})
},
dischargeFocus(event){
//event.preventDefault();
// setTimeout(()=>{
// wx.pageScrollTo({
// scrollTop: 99999
// })
// })
},
countDecimals(num) {
// 将数值转换为字符串
const str = String(num);
@@ -1764,7 +1982,7 @@ Page({
const caseInfo=this.data.case;
this.setData({
showTime:true,
currentDate:caseInfo.admissionTime?new Date(caseInfo.dischargeTime).getTime():new Date().getTime(),
currentDate:caseInfo.dischargeTime?new Date(caseInfo.dischargeTime).getTime():new Date().getTime(),
time_type:'date',
time_str:"dischargeTime",
time_title:'选择出院时间',
@@ -1794,7 +2012,7 @@ Page({
currentDate:caseInfo.headTime?new Date(dayjs(caseInfo.headTime).format("YYYY-MM-DD HH:mm:ss")).getTime():new Date().getTime(),
time_type:'date',
time_str:"headTime",
time_title:'选择治疗前检测时间',
time_title:'选择时间',
})
},
openAfterTime(){
@@ -1805,7 +2023,7 @@ Page({
currentDate:caseInfo.afterTime?new Date(dayjs(caseInfo.afterTime).format("YYYY-MM-DD HH:mm:ss")).getTime():new Date().getTime(),
time_type:'date',
time_str:"afterTime",
time_title:'选择治疗后检测时间',
time_title:'选择时间',
})
},
openLastTime(){
@@ -1813,10 +2031,10 @@ Page({
const caseInfo=this.data.case;
this.setData({
showTime:true,
currentDate:caseInfo.afterTime?new Date(dayjs(caseInfo.lastTime).format("YYYY-MM-DD HH:mm:ss")).getTime():new Date().getTime(),
currentDate:caseInfo.lastTime?new Date(dayjs(caseInfo.lastTime).format("YYYY-MM-DD HH:mm:ss")).getTime():new Date().getTime(),
time_type:'date',
time_str:"lastTime",
time_title:'选择最后一次治疗后检测时间',
time_title:'选择时间',
})
},
onChangeRadio(event) {
@@ -1837,7 +2055,7 @@ Page({
},
deleteImg(event){
const { fileList_basic,fileList_check,dpmas_list} = this.data;
const { fileList_basic,fileList_bio,fileList_coa,fileList_inf,dpmas_list} = this.data;
const {name,index} = event.detail;
if(name=='basic'){
@@ -1845,10 +2063,20 @@ Page({
this.setData({
fileList_basic:fileList_basic
})
}else if(name=="check"){
fileList_check.splice(index,1);
}else if(name=="bio"){
fileList_bio.splice(index,1);
this.setData({
fileList_check:fileList_check
fileList_bio:fileList_bio
})
}else if(name=="inf"){
fileList_inf.splice(index,1);
this.setData({
fileList_inf:fileList_inf
})
}else if(name=="coa"){
fileList_coa.splice(index,1);
this.setData({
fileList_coa:fileList_coa
})
}else if(name.indexOf("record")!=-1){
let recordIndex=Number(name.split("record")[1]);
@@ -1866,7 +2094,7 @@ Page({
let { accessid, dir,policy,signature,host} = resdata;
let imgUrl = file;
//let index = imgUrl.lastIndexOf("/");
let filename = FileUtil.UUID()+'.'+THIS.getImageFormat(imgUrl);
let filename = dayjs().format('YYYYMMDDHHmmss')+FileUtil.UUID()+'.'+THIS.getImageFormat(imgUrl);
//imgUrl.substring(index + 1, imgUrl.length);
@@ -1899,10 +2127,18 @@ Page({
const { fileList_basic} = THIS.data;
fileList_basic.push({ url: url });
THIS.setData({ fileList_basic });
}else if(name=='check'){
const { fileList_check} = THIS.data;
fileList_check.push({ url: url });
THIS.setData({ fileList_check});
}else if(name=='bio'){
const { fileList_bio} = THIS.data;
fileList_bio.push({ url: url });
THIS.setData({ fileList_bio});
}else if(name=='coa'){
const { fileList_coa} = THIS.data;
fileList_coa.push({ url: url });
THIS.setData({ fileList_coa});
}else if(name=='inf'){
const { fileList_inf} = THIS.data;
fileList_inf.push({ url: url });
THIS.setData({ fileList_inf});
}else if(name.indexOf("record")!=-1){
let recordIndex=Number(name.split("record")[1]);
let obj="dpmas_list[" +recordIndex +"].fileList"
+1
View File
@@ -3,6 +3,7 @@
"navBar":"../../../components/navBar/navBar",
"van-tab": "@vant/weapp/tab/index",
"van-button": "@vant/weapp/button/index",
"van-toast": "@vant/weapp/toast/index",
"van-tag": "@vant/weapp/tag/index",
"van-tabs": "@vant/weapp/tabs/index",
"van-picker": "@vant/weapp/picker/index",
+135 -81
View File
@@ -58,8 +58,8 @@
</view>
</view>
<view class="row" style="flex-direction: column;">
<view class="left">
治疗类型(多选)<text class="red">*</text>
<view class="left bold">
治疗类型(可多选)<text class="red">*</text>
</view>
<view class="right">
<van-checkbox-group value="{{case.caseType }}" bind:change="onChangeCheck" disabled="{{!showSaveBtn}}"
@@ -72,9 +72,9 @@
</view>
</view>
<view class="row" style="flex-direction: column;">
<view class="left">
主要诊断(多选)<text class="red">*</text>
<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>
</view>
<view class="right">
<van-checkbox-group bind:change="onChangeCheck" value="{{case.mainDiagnose.select}}" disabled="{{!showSaveBtn}}" direction="horizontal"
@@ -83,9 +83,14 @@
<van-checkbox name="{{item.value}}" wx:for="{{diagnoseOption}}" wx:key="value" data-value="{{item.value}}">{{item.name}}</van-checkbox>
</van-checkbox-group>
</view>
<textarea wx:if="{{filters.isContain(case.mainDiagnose.select,'-1')}}" value="{{case.mainDiagnose.otherValue}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入其他诊断" bind:input="onChangeOther" bind:change="onChangeOther" data-type="case.mainDiagnose.otherValue" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
<textarea wx:if="{{filters.isContain(case.mainDiagnose.select,'-1')}}" value="{{case.mainDiagnose.otherValue}}" disabled="{{!showSaveBtn}}" class="textArea"
adjust-keyboard-to="bottom"
placeholder="请输入其他诊断" bind:input="onChangeOther" bind:change="onChangeOther" data-type="case.mainDiagnose.otherValue" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
<!-- <view class="word">{{wordLength}}/500</view> -->
<view class="left" style="margin-top: 12rpx;">患者出院诊断照片(1张)<text class="red">*</text></view>
<view class="red rederror">
上传照片请进行隐私信息脱敏
</view>
<view class="uploadbox">
<van-uploader file-list="{{ fileList_basic }}" name="basic"
readonly="{{fileList_basic.length>=1}}"
@@ -96,8 +101,8 @@
</view>
<view class="row" style="flex-direction: column;" >
<view class="left">
患者病因(多选)<text class="red">*</text>
<view class="left bold">
患者病因(可多选)<text class="red">*</text>
</view>
<view class="right">
<van-checkbox-group value="{{ case.diseaseCause.select }}" bind:change="onChangeCheck"
@@ -107,7 +112,9 @@
</van-checkbox-group>
</view>
<textarea wx:if="{{filters.isContain(case.diseaseCause.select,'-1')}}" value="{{case.diseaseCause.otherValue}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入其他患者原因" bind:input="onChangeOther" bind:change="onChangeOther" data-type="case.diseaseCause.otherValue" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
<textarea wx:if="{{filters.isContain(case.diseaseCause.select,'-1')}}" value="{{case.diseaseCause.otherValue}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入其他患者原因"
adjust-keyboard-to="bottom"
bind:input="onChangeOther" bind:change="onChangeOther" data-type="case.diseaseCause.otherValue" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
<!-- <view class="word">{{wordLength}}/500</view> -->
@@ -120,9 +127,9 @@
</view>
</view> -->
</view>
<view class="row" style="flex-direction: column;" >
<view class="left">
诱因(多选)<text class="red"></text>
<view class="row" style="flex-direction: column;border-bottom: none;" >
<view class="left bold">
诱因(可多选)<text class="red"></text>
</view>
<view class="desctitle" >肝内:</view>
<view class="right" >
@@ -134,7 +141,8 @@
</van-checkbox-group>
</view>
<textarea wx:if="{{filters.isContain(case.seductionReason.inside.select,'-1')}}" value="{{case.seductionReason.inside.otherValue}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入肝内诱因" bind:input="onChangeOther" bind:change="onChangeOther" data-type="case.seductionReason.inside.otherValue" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
<textarea wx:if="{{filters.isContain(case.seductionReason.inside.select,'-1')}}" value="{{case.seductionReason.inside.otherValue}}" disabled="{{!showSaveBtn}}" class="textArea"
adjust-keyboard-to="bottom"placeholder="请输入肝内诱因" bind:input="onChangeOther" bind:change="onChangeOther" data-type="case.seductionReason.inside.otherValue" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
<view class="desctitle" >肝外:</view>
<view class="right" >
<van-checkbox-group value="{{ case.seductionReason.outside.select}}"
@@ -145,7 +153,8 @@
</van-checkbox-group>
</view>
<textarea wx:if="{{filters.isContain(case.seductionReason.outside.select,'-1')}}" value="{{case.seductionReason.outside.otherValue}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入肝外诱因" bind:input="onChangeOther" bind:change="onChangeOther" data-type="case.seductionReason.outside.otherValue" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
<textarea wx:if="{{filters.isContain(case.seductionReason.outside.select,'-1')}}" value="{{case.seductionReason.outside.otherValue}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入肝外诱因"
adjust-keyboard-to="bottom"bind:input="onChangeOther" bind:change="onChangeOther" data-type="case.seductionReason.outside.otherValue" placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
<!-- <view class="word">{{wordLength}}/500</view> -->
</view>
@@ -164,12 +173,13 @@
<view class="ziliao" wx:if="{{active!=0}}">
<view class="row" style="flex-direction: column;overflow: hidden;position: relative;">
<view class="left" style="font-weight:bold">
病历摘要<text class="red">*</text>
病历摘要(包括主诉、现病史、既往史等信息)<text class="red">*</text>
</view>
<view class="container" >
<editor id="editor" style="height:{{editorHeight}}" wx:if="{{active==1}}"
read-only="{{!showSaveBtn}}"
class="ql-container" placeholder="请输入主诉,既往史,现病史相关内容" bindinput="onChangeEditor" bindready="onEditorReady">
</editor>
<view class="word">
@@ -179,7 +189,7 @@
name="abstractStr"
bind:after-read="afterReadOcr">
<view class="con">
<van-icon slot name="photo-o" size="20px" />上传图片识别内容
<van-icon slot name="photo-o" size="20px" />上传图片识别文字后请校正内容
</view>
</van-uploader>
</view>
@@ -192,7 +202,7 @@
<view class="textdesc">
<van-uploader file-list="{{ fileList }}" bind:after-read="afterRead">
<view class="con">
<van-icon slot name="photo-o" size="20px" />上传图片识别内容
<van-icon slot name="photo-o" size="20px" />上传图片识别文字后请校正内容
</view>
</van-uploader>
</view>
@@ -205,7 +215,7 @@
<view class="textdesc">
<van-uploader file-list="{{ fileList }}" bind:after-read="afterRead">
<view class="con">
<van-icon slot name="photo-o" size="20px" />上传图片识别内容
<van-icon slot name="photo-o" size="20px" />上传图片识别文字后请校正内容
</view>
</van-uploader>
</view>
@@ -219,7 +229,7 @@
<view class="textdesc">
<van-uploader file-list="{{ fileList }}" bind:after-read="afterRead">
<view class="con">
<van-icon slot name="photo-o" size="20px" />上传图片识别内容
<van-icon slot name="photo-o" size="20px" />上传图片识别文字后请校正内容
</view>
</van-uploader>
</view>
@@ -240,11 +250,13 @@
<view class="btnbox" wx:if="{{showSaveBtn}}">
<view class="btn" bind:tap="saveAbstract">下一步</view>
</view>
<view class="tip">注意:病历摘要,文字填写或者上传图片OCR识别</view>
<view class="tip">
<!-- 注意:病历摘要,文字填写或者上传图片OCR识别 -->
</view>
</view>
</van-tab>
<van-tab title="人工肝治疗" disabled="{{disable_record}}">
<view class="basic {{!showSaveBtn?'active':''}}">
<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>
@@ -267,7 +279,7 @@
</view>
</view>
<view class="row back" style="flex-direction: column;">
<view class="left">
<view class="left bold">
模式(单选)<text class="red">*</text>
</view>
<view class="right">
@@ -278,7 +290,9 @@
name="{{item.value}}" wx:for="{{moshiOption}}" wx:key="value">{{item.name}}</van-radio>
</van-radio-group>
</view>
<textarea wx:if="{{case.dpmas[index].content.mode.select=='-1'}}" value="{{case.dpmas[index].content.mode.otherValue}}" disabled="{{!showSaveBtn}}" class="textArea" placeholder="请输入其他模式" bind:input="onChangeOther" bind:change="onChangeOther"
<textarea wx:if="{{case.dpmas[index].content.mode.select=='-1'}}" value="{{case.dpmas[index].content.mode.otherValue}}" disabled="{{!showSaveBtn}}"
adjust-keyboard-to="bottom"
class="textArea" placeholder="请输入其他模式" bind:input="onChangeOther" bind:change="onChangeOther"
data-type="case.dpmas[{{index}}].content.mode.otherValue"
placeholder-style="color:rgba(0,0,0,0.25)" confirm-type="done" maxlength="500" auto-height="{{true}}" />
</view>
@@ -310,8 +324,8 @@
</view>
</view>
<view class="row" style="flex-direction: column;" >
<view class="left">
抗凝剂量(多选)<text class="red"></text>
<view class="left bold">
抗凝剂量(可多选)<text class="red"></text>
</view>
<view class="right">
<van-checkbox-group value="{{case.dpmas[index].content.dose.select }}"
@@ -454,8 +468,8 @@
<view class="row innerrow" >
<view class="left">剂量</view>
<view class="right">
<input type="digit" value="{{case.dpmas[index].content.dose.other.dose}}" class="ipt"
data-type="number"
<input type="text" value="{{case.dpmas[index].content.dose.other.dose}}" class="ipt"
disabled="{{!showSaveBtn}}"
bindinput="handleIpt"
data-id="dpmas[{{index}}].content.dose.other.dose"
@@ -466,9 +480,12 @@
</view>
</view>
<view class="row" style="flex-direction: column;border:none">
<view class="left" style="white-space: normal;display: block;">
<view class="left bold" style="white-space: normal;display: block;">
附人工肝治疗记录相关照片(可上传1-3张)<text class="red">*</text>
</view>
<view class="red rederror">
上传照片请进行隐私信息脱敏
</view>
<view class="uploadbox">
<van-uploader file-list="{{ dpmas_list[index].fileList}}" bind:delete="deleteImg"
readonly="{{dpmas_list[index].fileList.length>=3}}" max-count="3" name="{{'record'+index}}" show-upload="{{showSaveBtn}}" deletable="{{showSaveBtn}}" bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
@@ -496,7 +513,7 @@
<van-tab title="实验室检测" disabled="{{disable_check}}">
<view class="basic record {{!showSaveBtn?'active':''}}" style="background-color: #fff;">
<view class="message"> (首次人工肝治疗前后、最后一次人工肝治疗后)</view>
<view class="message"> (首次人工肝治疗前后{{case.dpmas.length>1?'、最后一次人工肝治疗后':''}})</view>
<view class="row">
<view class="left">
首次人工肝治疗前检测时间<text class="red">*</text>
@@ -523,13 +540,12 @@
</view>
<view class="right" bind:tap="openLastTime">
<input type="text" value="{{case.lastTime}}" class="ipt" placeholder="请选择时间" placeholder-class="placeholder" disabled />
<text wx:if="{{case.lastTime}}">h</text>
<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>
@@ -552,7 +568,7 @@
</view>
<view class="table">
<view class="t_title">
直接胆红素(DB-umol/L)<text class="red"></text>
直接胆红素 DB(umol/L)<text class="red"></text>
</view>
<view class="row">
<view class="left">首次治疗前</view>
@@ -573,9 +589,9 @@
</view>
</view>
</view>
<view class="table">
<!-- <view class="table">
<view class="t_title">
间接胆红素(IB-umol/L)<text class="red"></text>
间接胆红素IB(umol/L)<text class="red"></text>
</view>
<view class="row">
<view class="left">首次治疗前</view>
@@ -595,10 +611,10 @@
<input type="digit" value="{{case.lastIb}}" bindinput="handleIpt" class="ipt" data-id="lastIb" data-type="number" placeholder="请输入" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
</view>
</view>
</view>
</view> -->
<view class="table">
<view class="t_title">
丙氨酸氨基转移酶(ALT-U/L)<text class="red">*</text>
丙氨酸氨基转移酶 ALT(U/L)<text class="red">*</text>
</view>
<view class="row">
<view class="left">首次治疗前</view>
@@ -621,7 +637,7 @@
</view>
<view class="table">
<view class="t_title">
天门冬氨酸氨基转移酶(AST-U/L)<text class="red">*</text>
天门冬氨酸氨基转移酶 AST(U/L)<text class="red">*</text>
</view>
<view class="row">
<view class="left">首次治疗前</view>
@@ -642,9 +658,10 @@
</view>
</view>
</view>
<view class="table">
<view class="t_title">
白蛋白(ALB-g/L)<text class="red">*</text>
白蛋白 ALB(g/L)<text class="red">*</text>
</view>
<view class="row">
<view class="left">首次治疗前</view>
@@ -665,32 +682,20 @@
</view>
</view>
</view>
<view class="table">
<view class="row" style="flex-direction: column;border:none;padding-bottom:0;">
<view class="left bold" style="white-space: normal;display: block;">
上传生化检测报告单(1-3张)<text class="red">*</text>
</view>
<view class="red rederror">
至少包含首次治疗前后检查结果,姓名、电话等隐私信息脱敏
</view>
<view class="uploadbox">
<van-uploader file-list="{{ fileList_bio }}" bind:delete="deleteImg" readonly="{{ fileList_bio.length>=3}}" max-count="3" name="bio" show-upload="{{showSaveBtn}}" deletable="{{showSaveBtn}}" bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
</view>
</view>
<view class="table">
<view class="t_title">
凝血酶原活动度(PTA-%)<text class="red"></text>
</view>
<view class="row">
<view class="left">首次治疗前</view>
<view class="right">
<input type="digit" value="{{case.headPta}}" bindinput="handleIpt" class="ipt" data-id="headPta" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
</view>
</view>
<view class="row">
<view class="left">首次治疗后</view>
<view class="right">
<input type="digit" value="{{case.afterPta}}" bindinput="handleIpt" class="ipt" data-id="afterPta" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
</view>
</view>
<view class="row" wx:if="{{case.dpmas.length>1}}">
<view class="left">最后一次治疗后</view>
<view class="right">
<input type="digit" value="{{case.lastPta}}" bindinput="handleIpt" class="ipt" data-id="lastPta" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
</view>
</view>
</view>
<view class="table">
<view class="t_title">
国际标准化比值(INR)<text class="red">*</text>
国际标准化比值 INR<text class="red">*</text>
</view>
<view class="row">
<view class="left">首次治疗前</view>
@@ -713,7 +718,42 @@
</view>
<view class="table">
<view class="t_title">
C反应蛋白(CRP-mg/L)<text class="red"></text>
凝血酶原活动度 PTA(%)<text class="red"></text>
</view>
<view class="row">
<view class="left">首次治疗前</view>
<view class="right">
<input type="digit" value="{{case.headPta}}" bindinput="handleIpt" class="ipt" data-id="headPta" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
</view>
</view>
<view class="row">
<view class="left">首次治疗后</view>
<view class="right">
<input type="digit" value="{{case.afterPta}}" bindinput="handleIpt" class="ipt" data-id="afterPta" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
</view>
</view>
<view class="row" wx:if="{{case.dpmas.length>1}}">
<view class="left">最后一次治疗后</view>
<view class="right">
<input type="digit" value="{{case.lastPta}}" bindinput="handleIpt" class="ipt" data-id="lastPta" placeholder="请输入" data-type="number" placeholder-class="placeholder" disabled="{{!showSaveBtn}}" />
</view>
</view>
</view>
<view class="row" style="flex-direction: column;border:none;padding-bottom:0;">
<view class="left bold" style="white-space: normal;display: block;">
上传凝血功能检测报告单(1-3张)<text class="red">*</text>
</view>
<view class="red rederror">
至少包含首次治疗前后检查结果,姓名、电话等隐私信息脱敏
</view>
<view class="uploadbox">
<van-uploader file-list="{{ fileList_coa }}" bind:delete="deleteImg" readonly="{{ fileList_coa.length>=3}}" max-count="3" name="coa" show-upload="{{showSaveBtn}}" deletable="{{showSaveBtn}}" bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
</view>
</view>
<view class="table">
<view class="t_title">
C反应蛋白 CRP(mg/L)<text class="red"></text>
</view>
<view class="row">
<view class="left">首次治疗前</view>
@@ -737,7 +777,7 @@
<view class="table">
<view class="t_title baijiesu">
白介素6(<van-radio-group style="margin-left: 4px;" value="{{case.il6Unit}}" bind:change="onChangeRadio" data-type="case.il6Unit" disabled="{{!showSaveBtn}}" direction="horizontal">
白介素6 IL-6(<van-radio-group style="margin-left: 4px;" value="{{case.il6Unit}}" bind:change="onChangeRadio" data-type="case.il6Unit" disabled="{{!showSaveBtn}}" direction="horizontal">
<van-radio icon-size="15" name="{{item.value}}" wx:for="{{il6Unit}}" wx:key="value">{{item.name}}</van-radio>
</van-radio-group>)<text class="red"></text>
@@ -762,8 +802,11 @@
</view>
</view>
<view class="table">
<view class="t_title">
肿瘤坏死因子α(TNF-α-μg/L)<text class="red"></text>
<view class="t_title baijiesu">
肿瘤坏死因子-α TNF-α(<van-radio-group style="margin-left: 4px;"
value="{{case.tnfUnit}}" bind:change="onChangeRadio" data-type="case.tnfUnit" disabled="{{!showSaveBtn}}" direction="horizontal">
<van-radio icon-size="15" name="{{item.value}}" wx:for="{{tnfUnit}}" wx:key="value">{{item.name}}</van-radio>
</van-radio-group>)
</view>
<view class="row">
<view class="left">首次治疗前</view>
@@ -785,12 +828,17 @@
</view>
</view>
<view class="row" style="flex-direction: column;border:none;padding-bottom:120rpx;">
<view class="left">
上传报告单图片(1-6张)<text class="red">*</text>
<view class="left bold">
上传炎症因子检测报告单(1-3张)<text class="red"></text>
</view>
<view class="red rederror">包含肝功能或生化检测(必须有、审查)、凝血功能、炎症因子化验单,至少包含首次治疗前后化验单拍照,需进行隐私信息脱敏(姓名、电话、身份证)</view>
<view class="uploadbox">
<van-uploader file-list="{{ fileList_check }}" bind:delete="deleteImg" readonly="{{ fileList_check.length>=6}}" max-count="6" name="check" show-upload="{{showSaveBtn}}" deletable="{{showSaveBtn}}" bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
<view class="red rederror">姓名、电话等隐私信息脱敏</view>
<view class="uploadbox" wx:if="{{showSaveBtn}}">
<van-uploader file-list="{{ fileList_inf }}" bind:delete="deleteImg" readonly="{{ fileList_inf.length>=3}}" max-count="3" name="inf" show-upload="{{showSaveBtn}}" deletable="{{showSaveBtn}}" bind:after-read="afterRead" upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
</view>
<view class="uploadbox" wx:else>
<van-uploader file-list="{{ fileList_inf }}" bind:delete="deleteImg" disabled="{{true}}" max-count="3" name="inf" deletable="{{showSaveBtn}}" bind:after-read="afterRead"
show-upload="{{fileList_inf.length==0}}"
upload-text="上传" upload-icon="{{img_host+'/upload.png'}}" />
</view>
</view>
<view class="btnbox" wx:if="{{showSaveBtn}}">
@@ -825,13 +873,16 @@
</view>
</view>
<view class="row" style="flex-direction: column;overflow: hidden;position: relative;">
<view class="left">
<view class="left bold">
出院情况<text class="red">*</text>
</view>
<view class="container" >
<editor id="editor2" style="height:{{editorHeight2}}" wx:if="{{active==4}}"
read-only="{{!showSaveBtn}}"
class="ql-container" placeholder="请输入出院情况" bindinput="onChangeEditorDischarge" bindready="onEditorReadyDischarge">
adjust-position="{{false}}"
class="ql-container" placeholder="请输入出院情况"
bindfocus="dischargeFocus"
bindinput="onChangeEditorDischarge" bindready="onEditorReadyDischarge">
</editor>
<view class="word">
<view class="textdesc">
@@ -840,7 +891,7 @@
name="dischargeSituation"
bind:after-read="afterReadOcr">
<view class="con">
<van-icon slot name="photo-o" size="20px" />上传图片识别内容
<van-icon slot name="photo-o" size="20px" />上传图片识别文字后请校正内容
</view>
</van-uploader>
</view>
@@ -859,15 +910,15 @@
<van-uploader file-list="{{ fileList }}" name="dischargeSituation"
bind:after-read="afterReadOcr" disabled="{{!showSaveBtn}}">
<view class="con">
<van-icon slot name="photo-o" size="20px" />上传图片识别内容
<van-icon slot name="photo-o" size="20px" />上传图片识别文字后请校正内容
</view>
</van-uploader>
</view>
</view>
</view> -->
</view>
<view class="row back" style="flex-direction: column;margin-bottom: 120rpx;">
<view class="left">
<view class="row back" style="flex-direction: column;padding-bottom: 120rpx;">
<view class="left bold">
出院状态(单选)<text class="red">*</text>
</view>
<view class="right">
@@ -916,13 +967,16 @@
</view>
<view class="ocrcontent">
<view class="btnBox">
<van-checkbox value="{{ocrChecked}}" bind:change="onChangeOcrCheck">选中所有</van-checkbox>
<van-checkbox value="{{ocrChecked}}" bind:change="onChangeOcrCheck">全选</van-checkbox>
</view>
<view class="ocrbox">
<view class="tag {{item.checked?'active':''}}" wx:for="{{tagList}}" wx:key="index" bind:tap="toggleWord" data-index="{{index}}">{{item.words}}</view>
<view class="tag {{item.checked?'active':''}}" wx:for="{{tagList}}" wx:key="index"
bind:tap="toggleWord" data-index="{{index}}">{{item.words}}</view>
</view>
</view>
</view>
</van-popup>
</van-popup>
<van-toast id="van-toast" />
+35 -7
View File
@@ -71,9 +71,9 @@ page{
.van-checkbox-group--horizontal{
margin-top: 15rpx;
}
.van-checkbox__label{
/* .van-checkbox__label{
margin-bottom: 10rpx!important;
}
} */
.van-tab__pane{
flex:1;
}
@@ -114,6 +114,9 @@ page{
border-bottom: 1rpx solid rgba(0,0,0,0.1);
justify-content: space-between;
}
.table .row:last-child{
border-bottom: none;
}
.basic .row:last-child{
border-bottom: none;
}
@@ -138,6 +141,7 @@ page{
margin-top: 8rpx;
margin-left: 6rpx;
color: #FF4D4F;
font-weight: normal;
}
.righticon{
margin-top: 4rpx;
@@ -311,6 +315,7 @@ color: #3881F7;
.table .red{
margin-top: 8rpx;
margin-left: 6rpx;
font-weight: normal;
color: #FF4D4F;
}
.btnbox{
@@ -388,8 +393,6 @@ color: #3881F7;
.textArea{
margin-top: 20rpx;
width:100%;
max-height: 600rpx!important;
min-height: 200rpx!important;
font-size: 15px;
box-sizing: border-box;
padding-bottom: 30px;
@@ -458,15 +461,33 @@ color: #3881F7;
}
.baijiesu .van-radio--horizontal{
margin-right:5px;
/* margin-bottom: 2rpx; */
}
/* .baijiesu .van-radio{
overflow: auto;
} */
.baijiesu .van-radio__label{
padding-left:5px;
color:#3881F7;
}
.baijiesu .van-radio__label--disabled{
color:#3881F7!important;
}
.van-checkbox--horizontal{
margin-bottom: 10rpx!important;
}
.ocrlist{
display: flex;
max-height:1100rpx;
max-height:1000rpx;
flex-direction: column;
overflow: hidden;
overscroll-behavior-y: none;
}
.van-popup{
overflow: hidden;
overscroll-behavior-y: none;
}
.ocrlist .titlebox{
display: flex;
@@ -492,6 +513,7 @@ color: #3881F7;
}
.ocrlist .btnBox{
margin-top: 12rpx;
margin-bottom: 10rpx;
display: flex;
align-items: center;
}
@@ -513,10 +535,10 @@ color: #3881F7;
border:1px solid #1989fa;
}
.back .textArea{
/* .back .textArea{
min-height: 600rpx!important;
max-height: 1200rpx!important;
}
} */
.ql-editor.ql-blank:before {
/* 此处设置 placeholder 样式 */
@@ -525,3 +547,9 @@ color: #3881F7;
font-style: normal;
}
.bold{
font-weight: bold;
}
.van-toast--text text{
text-align: center;
}