From c542b5e0ed6ff7032c91b6f5eff2e61a346960f7 Mon Sep 17 00:00:00 2001
From: zoujiandong <10130823232@qq.com>
Date: Mon, 14 Jul 2025 17:16:32 +0800
Subject: [PATCH] =?UTF-8?q?7.14=20=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/api.js | 14 +-
case/pages/bankCard/bankCard.js | 189 +++++----
case/pages/bankCard/bankCard.wxml | 14 +-
case/pages/bankCard/bankCard.wxss | 6 +
case/pages/createCase/createCase.js | 512 +++++++++++++++++-------
case/pages/createCase/createCase.json | 1 +
case/pages/createCase/createCase.wxml | 216 ++++++----
case/pages/createCase/createCase.wxss | 42 +-
case/pages/improveInfo/improveInfo.js | 69 ++--
case/pages/mobileLogin/mobileLogin.wxss | 1 +
case/pages/privacy/privacy.wxss | 1 +
case/pages/pwdLogin/pwdLogin.js | 7 +
case/pages/pwdLogin/pwdLogin.wxml | 7 +-
case/pages/pwdLogin/pwdLogin.wxss | 5 +
case/pages/register/register.js | 50 ++-
case/pages/register/register.wxml | 2 +-
case/pages/register/register.wxss | 4 +
case/pages/scan/scan.js | 290 +++++---------
case/pages/scan/scan.wxml | 41 +-
case/pages/scan/scan.wxss | 26 +-
case/pages/webSign/webSign.js | 10 +-
case/utils/data.js | 8 +
components/dialog/dialog.wxml | 4 +-
components/dialog/dialog.wxss | 5 +
components/paintCanvas/paintCanvas.js | 3 +-
components/paintCanvas/paintCanvas.wxml | 33 +-
components/paintCanvas/paintCanvas.wxss | 14 +-
custom-tab-bar/index.js | 77 +++-
custom-tab-bar/index.wxml | 3 +-
pages/index/index.js | 103 ++++-
pages/index/index.wxml | 4 +-
pages/personCenter/personCenter.js | 226 +++++++----
pages/personCenter/personCenter.json | 1 +
pages/personCenter/personCenter.wxml | 11 +-
static/eye_close.png | Bin 0 -> 1666 bytes
static/eye_open.png | Bin 0 -> 1080 bytes
utils/request.js | 1 +
37 files changed, 1267 insertions(+), 733 deletions(-)
create mode 100644 static/eye_close.png
create mode 100644 static/eye_open.png
diff --git a/api/api.js b/api/api.js
index 5002d3f..93c7bb1 100644
--- a/api/api.js
+++ b/api/api.js
@@ -36,7 +36,7 @@ function smsRegister(data){ //短信注册
return request('/user/smsRegister','POST',data,true)
};
function addBank(data){ //添加医生签名
- return request('/user/addBank','POST',data)
+ return request('/user/addBank','POST',data,true)
};
function getSign(data){ //获取医生签名
return request('/user/getSign','GET',data)
@@ -96,6 +96,15 @@ function ocrIdCard(data){
function ocrImg(data){
return request('/ocr/image','post',data,false)
}
+function limitCount(data){
+ return request('/medicalRecord/count','get',data,false)
+}
+function applyActivity(){
+ return request('/caseplatformCase/activity','post',{},false)
+}
+function getActivityStatus(){
+ return request('/caseplatformCase/activity','get',{},false)
+}
@@ -109,7 +118,10 @@ function ocrImg(data){
module.exports={
addCase,
+ limitCount,
+ getActivityStatus,
caseDetail,
+ applyActivity,
caseList,
editCase,
getCaptcha,
diff --git a/case/pages/bankCard/bankCard.js b/case/pages/bankCard/bankCard.js
index 038f36a..c63c667 100644
--- a/case/pages/bankCard/bankCard.js
+++ b/case/pages/bankCard/bankCard.js
@@ -11,6 +11,9 @@ Page({
*/
data: {
isCanEdit:true,
+ isFirst:true,
+ taskStatus:2, //2未签署 1已签署
+ signUrl:'',
showSuccess:false,
img_host:app.hostConfig().imghost,
showArea:false,
@@ -56,12 +59,10 @@ Page({
afterRead(event){
const { file } = event.detail;
- console.log(file);
wx.getFileSystemManager().readFile({
filePath:file.url,
encoding:'base64',
success:res=>{
- console.log(res.data)
wx.showLoading({
title: '正在识别中...',
mask: true
@@ -72,69 +73,70 @@ Page({
},
getBank(){
getBankInfo().then(res=>{
- let hasBank=false;
- if(res){
+ let hasBank=false;
+ if(res){
+ this.setData({
+ isCanEdit:false
+ })
+ //this.handleGetArea(res.provId,2);
hasBank=true;
for (const key in res) {
this.setData({
[key]:res[key]
})
}
- let {provId,cityId,countyId,areaColumns}=this.data;
- let areaName='';
-
+ let {provId,cityId}=this.data;
if(provId){
- for (let i = 0; i < areaColumns[0].values.length; i++) {
- if(areaColumns[0].values[i].id==provId){
- areaName+=areaColumns[0].values[i].name;
- break;
- }
- }
+ wx.showLoading({
+ title: '加载中',
+ mask: true
+ })
+ this.handleGetArea('',1,false);
+ this.handleGetArea(provId,2,false);
+ this.handleGetArea(cityId,3,false);
};
- console.log(areaColumns[1].values)
- if(cityId){
- for (let i = 0; i < areaColumns[1].values.length; i++) {
- console.log((areaColumns[1].values)[i].id)
- if(areaColumns[1].values[i].id==cityId){
- console.log(1111)
- console.log(areaColumns[1].values[i])
- areaName+=areaColumns[1].values[i].name;
- break;
- }
- }
- };
- if(countyId){
- for (let i = 0; i < areaColumns[2].values.length; i++) {
- if(areaColumns[2].values[i].id==countyId){
- areaName+=areaColumns[2].values[i].name;
- break;
- }
- }
- };
- this.setData({
- cityName:areaName
- })
- };
+ }else{
+ this.handleGetArea('',1)
+ }
this.handleGetSign(hasBank);
})
},
- getSite(){
+
+ getSite:throttle(function(){
+ wx.showLoading({
+ title: '加载中',
+ mask: true
+ })
getfangxinSite().then(res=>{
+
app.method.navigateTo({
- url:'/case/pages/webSign/webSign?src='+encodeURIComponent(res.linkUrl)
+ url:'/case/pages/webSign/webSign?src='+encodeURIComponent(res.linkUrl),
+ success(){
+ wx.hideLoading()
+ }
})
})
- },
+ }),
+ goSignSite:throttle(function(){
+ let {signUrl}=this.data;
+ app.method.navigateTo({
+ url:'/case/pages/webSign/webSign?src='+encodeURIComponent(signUrl)
+ })
+ }),
handleGetSign(hasBank){
getExpertSign().then(res=>{
//有银行卡,已签署
if(hasBank && res.taskStatus==1){
this.setData({
- isCanEdit:false
+ taskStatus:1,
+ signUrl:res.taskFileUrl
})
}
//有银行卡,未签署
if(hasBank && res.taskStatus==2){
+ this.setData({
+ taskStatus:2
+ })
//跳转签署地址
//this.getSite();
@@ -177,7 +179,6 @@ Page({
const {value} = e.detail;
const {id}=e.currentTarget.dataset;
- // console.log(value,id)
this.setData({
[id]: value
});
@@ -194,7 +195,6 @@ Page({
},
confirmArea(event){
const {value} = event.detail;
- console.log(value);
let provId=value[0].id;
let cityId=value[1].id;
let countyId=value[2]?value[2].id:value[1].id;
@@ -341,33 +341,72 @@ Page({
url:'/case/pages/signcanvas/signcanvas'
})
}),
- handleGetArea(id,type){
- getArea({
+ async handleGetArea(id,type,flag=true){
+ let isFlag=flag
+ const res=await getArea({
parent:id
- }).then(res=>{
- if(type==1){
- let obj='areaColumns[0].values';
- this.setData({
- [obj]:res
- })
- this.handleGetArea(res[0].id,2)
- }else if(type==2){
- let obj='areaColumns[1].values';
- this.setData({
- [obj]:res
- })
- this.handleGetArea(res[0].id,3)
- }else{
- let obj='areaColumns[2].values';
- this.setData({
- [obj]:res
- })
- this.getBank();
- }
-
- }).catch(error=>{
- console.log(error)
- })
+ });
+ if(type==1){
+ let obj='areaColumns[0].values';
+ this.setData({
+ [obj]:res,
+ })
+ if(isFlag){
+
+ this.handleGetArea(res[0].id,2,isFlag)
+ }
+ }else if(type==2){
+ let obj='areaColumns[1].values';
+ this.setData({
+ [obj]:res
+ })
+ if(isFlag){
+ this.handleGetArea(res[0].id,3,isFlag)
+ }
+
+ }else{
+ let obj='areaColumns[2].values';
+ this.setData({
+ [obj]:res,
+ })
+ let areaName='';
+ if(!isFlag){
+ let {provId,cityId,countyId,areaColumns}=this.data;
+ setTimeout(()=>{
+ if(provId){
+ for (let i = 0; i < areaColumns[0].values.length; i++) {
+ if(areaColumns[0].values[i].id==provId){
+ areaName+=areaColumns[0].values[i].name;
+ break;
+ }
+ }
+ };
+ if(cityId){
+ for (let i = 0; i < areaColumns[1].values.length; i++) {
+ if(areaColumns[1].values[i].id==cityId){
+ areaName+=areaColumns[1].values[i].name;
+ break;
+ }
+ }
+ };
+ if(countyId){
+ for (let i = 0; i < areaColumns[2].values.length; i++) {
+ if(areaColumns[2].values[i].id==countyId){
+ areaName+=areaColumns[2].values[i].name;
+ break;
+ }
+ }
+ };
+ this.setData({
+ cityName:areaName
+ })
+ wx.hideLoading()
+ },600)
+ }
+ }
+
+
+
},
handleGetOffice(){
getOfficeList({}).then(res=>{
@@ -394,7 +433,8 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
+
+ //this.handleGetArea('',1);
},
@@ -409,14 +449,7 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
- this.handleGetArea('',1);
-
- // app.method.navigateTo({
- // url:'/case/pages/webSign/webSign?src='+encodeURIComponent("https://mobile.fangxinqian.cn/contractedit?sid=A2378423BDBED02430A89F5E26E35B4B&rid=45489629134796B315C1DFE27BE72C57&tno=1938884566517420032"),
- // complete(e){
- // console.log(e);
- // }
- // })
+ this.getBank();
},
/**
diff --git a/case/pages/bankCard/bankCard.wxml b/case/pages/bankCard/bankCard.wxml
index c792c8d..8f0d02c 100644
--- a/case/pages/bankCard/bankCard.wxml
+++ b/case/pages/bankCard/bankCard.wxml
@@ -1,8 +1,9 @@
-
+
- 请确定开户人姓名与真实姓名一致
+ 注意:认证银行卡将作为您的打款账户,务必填写自己在用银行卡
+ 注意:认证银行卡将作为您的打款账户
@@ -12,6 +13,7 @@
-->
@@ -26,7 +28,8 @@
-
+
@@ -47,8 +50,9 @@
- 提交
- 签署协议
+ 提交
+ 去签署协议
+ 查看协议
diff --git a/case/pages/bankCard/bankCard.wxss b/case/pages/bankCard/bankCard.wxss
index 1902212..8db4eab 100644
--- a/case/pages/bankCard/bankCard.wxss
+++ b/case/pages/bankCard/bankCard.wxss
@@ -25,6 +25,9 @@ page{
background: #3881F7;
border-bottom:1px solid #ccc;
}
+.tippadding{
+ padding:8rpx 32rpx;
+}
.next{
margin: 40rpx 20rpx!important;
}
@@ -140,4 +143,7 @@ page{
}
.uploadbox .name{
margin-top: 10rpx;
+ }
+ .van-field__control{
+ height:80rpx!important;
}
\ No newline at end of file
diff --git a/case/pages/createCase/createCase.js b/case/pages/createCase/createCase.js
index 5661fb3..d95e24c 100644
--- a/case/pages/createCase/createCase.js
+++ b/case/pages/createCase/createCase.js
@@ -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 =
- "【主诉】:
【现病史】:
【既往史】:
";
+ let html=''
+
+ // let html =
+ // "【主诉】:
【现病史】:
【既往史】:
";
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 ="
";
+ 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 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"
diff --git a/case/pages/createCase/createCase.json b/case/pages/createCase/createCase.json
index 3c5ccbc..6cb4a49 100644
--- a/case/pages/createCase/createCase.json
+++ b/case/pages/createCase/createCase.json
@@ -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",
diff --git a/case/pages/createCase/createCase.wxml b/case/pages/createCase/createCase.wxml
index a1037f8..f0b219f 100644
--- a/case/pages/createCase/createCase.wxml
+++ b/case/pages/createCase/createCase.wxml
@@ -58,8 +58,8 @@
-
- 治疗类型(多选)*
+
+ 治疗类型(可多选)*
-
-
- 主要诊断(多选)*
+
+
+ 主要诊断(可多选)*
{{item.name}}
-
+
患者出院诊断照片(1张)*
+
+ 上传照片请进行隐私信息脱敏
+
-
- 患者病因(多选)*
+
+ 患者病因(可多选)*
-
+
@@ -120,9 +127,9 @@
-->
-
-
- 诱因(多选)
+
+
+ 诱因(可多选)
肝内:
@@ -134,7 +141,8 @@
-
+
肝外:
-
+
@@ -164,12 +173,13 @@
- 病历摘要*
+ 病历摘要(包括主诉、现病史、既往史等信息)*
@@ -179,7 +189,7 @@
name="abstractStr"
bind:after-read="afterReadOcr">
- 上传图片识别内容
+ 上传图片识别文字后请校正内容
@@ -192,7 +202,7 @@
- 上传图片识别内容
+ 上传图片识别文字后请校正内容
@@ -205,7 +215,7 @@
- 上传图片识别内容
+ 上传图片识别文字后请校正内容
@@ -219,7 +229,7 @@
- 上传图片识别内容
+ 上传图片识别文字后请校正内容
@@ -240,11 +250,13 @@
下一步
-注意:病历摘要,文字填写或者上传图片OCR识别
+
+
+
-
+
总共治疗{{case.dpmas.length}}次
@@ -267,7 +279,7 @@
-
+
模式(单选)*
@@ -278,7 +290,9 @@
name="{{item.value}}" wx:for="{{moshiOption}}" wx:key="value">{{item.name}}
-
@@ -310,8 +324,8 @@
-
- 抗凝剂量(多选)
+
+ 抗凝剂量(可多选)
剂量
-
-
+
附人工肝治疗记录相关照片(可上传1-3张)*
+
+ 上传照片请进行隐私信息脱敏
+
@@ -496,7 +513,7 @@
- (首次人工肝治疗前后、最后一次人工肝治疗后)
+ (首次人工肝治疗前后{{case.dpmas.length>1?'、最后一次人工肝治疗后':''}})
首次人工肝治疗前检测时间*
@@ -523,13 +540,12 @@
- h
- 总胆红素(TB-umol/L)*
+ 总胆红素TB (umol/L)*
首次治疗前
@@ -552,7 +568,7 @@
- 直接胆红素(DB-umol/L)
+ 直接胆红素 DB(umol/L)
首次治疗前
@@ -573,9 +589,9 @@
-
+
- 丙氨酸氨基转移酶(ALT-U/L)*
+ 丙氨酸氨基转移酶 ALT(U/L)*
首次治疗前
@@ -621,7 +637,7 @@
- 天门冬氨酸氨基转移酶(AST-U/L)*
+ 天门冬氨酸氨基转移酶 AST(U/L)*
首次治疗前
@@ -642,9 +658,10 @@
+
- 白蛋白(ALB-g/L)*
+ 白蛋白 ALB(g/L)*
首次治疗前
@@ -665,32 +682,20 @@
-
+
+
+ 上传生化检测报告单(1-3张)*
+
+
+ 至少包含首次治疗前后检查结果,姓名、电话等隐私信息脱敏
+
+
+
+
+
+
- 凝血酶原活动度(PTA-%)
-
-
- 首次治疗前
-
-
-
-
-
- 首次治疗后
-
-
-
-
-
- 最后一次治疗后
-
-
-
-
-
-
-
- 国际标准化比值(INR)*
+ 国际标准化比值 INR*
首次治疗前
@@ -713,7 +718,42 @@
- C反应蛋白(CRP-mg/L)
+ 凝血酶原活动度 PTA(%)
+
+
+ 首次治疗前
+
+
+
+
+
+ 首次治疗后
+
+
+
+
+
+ 最后一次治疗后
+
+
+
+
+
+
+
+ 上传凝血功能检测报告单(1-3张)*
+
+
+ 至少包含首次治疗前后检查结果,姓名、电话等隐私信息脱敏
+
+
+
+
+
+
+
+
+ C反应蛋白 CRP(mg/L)
首次治疗前
@@ -737,7 +777,7 @@
- 白介素6(
+ 白介素6 IL-6(
{{item.name}}
)
@@ -762,8 +802,11 @@
-
- 肿瘤坏死因子α(TNF-α-μg/L)
+
+ 肿瘤坏死因子-α TNF-α(
+ {{item.name}}
+ )
首次治疗前
@@ -785,12 +828,17 @@
-
- 上传报告单图片(1-6张)*
+
+ 上传炎症因子检测报告单(1-3张)
- 包含肝功能或生化检测(必须有、审查)、凝血功能、炎症因子化验单,至少包含首次治疗前后化验单拍照,需进行隐私信息脱敏(姓名、电话、身份证)
-
-
+ 姓名、电话等隐私信息脱敏
+
+
+
+
+
@@ -825,13 +873,16 @@
-
+
出院情况*
+ adjust-position="{{false}}"
+ class="ql-container" placeholder="请输入出院情况"
+ bindfocus="dischargeFocus"
+ bindinput="onChangeEditorDischarge" bindready="onEditorReadyDischarge">
@@ -840,7 +891,7 @@
name="dischargeSituation"
bind:after-read="afterReadOcr">
- 上传图片识别内容
+ 上传图片识别文字后请校正内容
@@ -859,15 +910,15 @@
- 上传图片识别内容
+ 上传图片识别文字后请校正内容
-->
-
-
+
+
出院状态(单选)*
@@ -916,13 +967,16 @@
- 选中所有
+ 全选
- {{item.words}}
+ {{item.words}}
-
\ No newline at end of file
+
+
diff --git a/case/pages/createCase/createCase.wxss b/case/pages/createCase/createCase.wxss
index 9c67ab0..19b1540 100644
--- a/case/pages/createCase/createCase.wxss
+++ b/case/pages/createCase/createCase.wxss
@@ -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;
+ }
\ No newline at end of file
diff --git a/case/pages/improveInfo/improveInfo.js b/case/pages/improveInfo/improveInfo.js
index 1bdebbb..2303ca7 100644
--- a/case/pages/improveInfo/improveInfo.js
+++ b/case/pages/improveInfo/improveInfo.js
@@ -24,6 +24,11 @@ Page({
className: 'column2',
defaultIndex: 0
},
+ {
+ values: [3,4],
+ className: 'column3',
+ defaultIndex: 0
+ }
],
hospitalColumns:[],
officeColumns:[],
@@ -133,12 +138,23 @@ Page({
},
onChangeArea(event){
const { picker, value, index } = event.detail;
- const provinceId=value[0].id;
- this.handleGetArea(provinceId)
+ if(index==0){
+ const provinceId=value[0].id;
+ this.handleGetArea(provinceId,2)
+ }else if(index==1){
+ let cityId=value[1].id
+ this.handleGetArea(cityId,3)
+ }
},
confirmArea(event){
const {value} = event.detail;
- const countyId=value[1].id;
+ let countyId='';
+ if(value[2]){
+ countyId=value[2].id
+ }else{
+ countyId=value[1].id
+ }
+
this.setData({
county_id:countyId,
showArea:false
@@ -267,26 +283,33 @@ Page({
})
})
}),
- handleGetArea(id){
- getArea({
- parent:id
- }).then(res=>{
- if(id){
- let obj='areaColumns[1].values';
- this.setData({
- [obj]:res
- })
- }else{
- let obj='areaColumns[0].values';
- this.setData({
- [obj]:res
- })
- this.handleGetArea(res[0].id)
- }
-
- }).catch(error=>{
- console.log(error)
- })
+ handleGetArea(id,type){
+ getArea({
+ parent:id
+ }).then(res=>{
+ if(type==1){
+ let obj='areaColumns[0].values';
+ this.setData({
+ [obj]:res
+ })
+ this.handleGetArea(res[0].id,2)
+ }else if(type==2){
+ let obj='areaColumns[1].values';
+ this.setData({
+ [obj]:res
+ })
+ this.handleGetArea(res[0].id,3)
+ }else if(type==3){
+ let obj='areaColumns[2].values';
+ this.setData({
+ [obj]:res
+ })
+ }
+
+
+ }).catch(error=>{
+ console.log(error)
+ })
},
handleGetHospital(countyId){
getHospital(countyId).then(res=>{
diff --git a/case/pages/mobileLogin/mobileLogin.wxss b/case/pages/mobileLogin/mobileLogin.wxss
index 8229567..dcddded 100644
--- a/case/pages/mobileLogin/mobileLogin.wxss
+++ b/case/pages/mobileLogin/mobileLogin.wxss
@@ -32,6 +32,7 @@
}
.iptcell input {
+
flex: 1;
height:80rpx;
}
diff --git a/case/pages/privacy/privacy.wxss b/case/pages/privacy/privacy.wxss
index 2489af9..76ced1f 100644
--- a/case/pages/privacy/privacy.wxss
+++ b/case/pages/privacy/privacy.wxss
@@ -5,6 +5,7 @@
flex:1;
display: flex;
position: relative;
+ overflow-y: scroll;
flex-direction: column;
margin-top: 172rpx;
}
diff --git a/case/pages/pwdLogin/pwdLogin.js b/case/pages/pwdLogin/pwdLogin.js
index d66afa2..f97baeb 100644
--- a/case/pages/pwdLogin/pwdLogin.js
+++ b/case/pages/pwdLogin/pwdLogin.js
@@ -14,6 +14,7 @@ Page({
data: {
checked:false,
mobile:'',
+ isPwd:true,
pwd:'',
loginDevice:5,
showSuccess:false,
@@ -162,6 +163,12 @@ Page({
url:'/case/pages/improveInfo/improveInfo?mobile='+mobile
})
},
+ toggleEye(){
+ let {isPwd}=this.data;
+ this.setData({
+ isPwd:!isPwd
+ })
+ },
onCancelSuccess(){
this.setData({
showSuccess:false
diff --git a/case/pages/pwdLogin/pwdLogin.wxml b/case/pages/pwdLogin/pwdLogin.wxml
index fb3b681..fecc0cb 100644
--- a/case/pages/pwdLogin/pwdLogin.wxml
+++ b/case/pages/pwdLogin/pwdLogin.wxml
@@ -15,7 +15,12 @@
-
+
+
+
+
+
diff --git a/case/pages/pwdLogin/pwdLogin.wxss b/case/pages/pwdLogin/pwdLogin.wxss
index 354bc2b..a39254a 100644
--- a/case/pages/pwdLogin/pwdLogin.wxss
+++ b/case/pages/pwdLogin/pwdLogin.wxss
@@ -65,8 +65,13 @@ color: #FFFFFF;
margin-left: 0;
}
.iptcell input{
+ flex:1;
height:80rpx;
}
+ .eye{
+ width: 48rpx;
+ height:48rpx;
+ }
.type{
margin:24rpx 47rpx 0;
display: flex;
diff --git a/case/pages/register/register.js b/case/pages/register/register.js
index 6e883c8..2a19bb8 100644
--- a/case/pages/register/register.js
+++ b/case/pages/register/register.js
@@ -24,6 +24,11 @@ Page({
className: 'column2',
defaultIndex: 0
},
+ {
+ values: [3,4],
+ className: 'column3',
+ defaultIndex: 0
+ }
],
hospitalColumns:[],
officeColumns:[],
@@ -37,7 +42,7 @@ Page({
county_id:'',
hospital_name:'',
hospital_uuid:'',
- mobile:'',
+ mobile:'',//17601211874
name:'',
office_name:'',
office_uuid:'',
@@ -133,12 +138,24 @@ Page({
},
onChangeArea(event){
const { picker, value, index } = event.detail;
- const provinceId=value[0].id;
- this.handleGetArea(provinceId)
+ if(index==0){
+ const provinceId=value[0].id;
+ this.handleGetArea(provinceId,2)
+ }else if(index==1){
+ let cityId=value[1].id
+ this.handleGetArea(cityId,3)
+ }
+
},
confirmArea(event){
const {value} = event.detail;
- const countyId=value[1].id;
+ let countyId='';
+ if(value[2]){
+ countyId=value[2].id
+ }else{
+ countyId=value[1].id
+ }
+
this.setData({
county_id:countyId,
showArea:false
@@ -229,22 +246,29 @@ Page({
showNext:false
})
},
- handleGetArea(id){
+ handleGetArea(id,type){
getArea({
parent:id
}).then(res=>{
- if(id){
- let obj='areaColumns[1].values';
+ if(type==1){
+ let obj='areaColumns[0].values';
this.setData({
[obj]:res
- })
- }else{
- let obj='areaColumns[0].values';
+ })
+ this.handleGetArea(res[0].id,2)
+ }else if(type==2){
+ let obj='areaColumns[1].values';
+ this.setData({
+ [obj]:res
+ })
+ this.handleGetArea(res[0].id,3)
+ }else if(type==3){
+ let obj='areaColumns[2].values';
this.setData({
[obj]:res
- })
- this.handleGetArea(res[0].id)
+ })
}
+
}).catch(error=>{
console.log(error)
@@ -476,7 +500,7 @@ Page({
*/
onLoad(options) {
this.handleGetCaptcha();
- this.handleGetArea('');
+ this.handleGetArea('',1);
this.handleGetOffice();
this.handleGetPosition();
this.initCrop(options);
diff --git a/case/pages/register/register.wxml b/case/pages/register/register.wxml
index 52bb5aa..4b51c20 100644
--- a/case/pages/register/register.wxml
+++ b/case/pages/register/register.wxml
@@ -22,7 +22,7 @@
>
{{msg}}
-
diff --git a/case/pages/register/register.wxss b/case/pages/register/register.wxss
index 881c263..64d933f 100644
--- a/case/pages/register/register.wxss
+++ b/case/pages/register/register.wxss
@@ -88,4 +88,8 @@
}
.red{
color:red;
+ }
+ .van-field__body{
+ position: relative;
+ z-index:1;
}
\ No newline at end of file
diff --git a/case/pages/scan/scan.js b/case/pages/scan/scan.js
index 9965e19..ccde1a5 100644
--- a/case/pages/scan/scan.js
+++ b/case/pages/scan/scan.js
@@ -1,197 +1,109 @@
Page({
- data: {
- frameX: 100, // canvas 左上角 X 坐标
- frameY: 100, // canvas 左上角 Y 坐标
- frameWidth: 200, // canvas 宽度
- frameHeight: 200, // canvas 高度
- isDragging: false, // 是否正在拖拽
- startX: 0, // 触摸起始 X 坐标
- startY: 0, // 触摸起始 Y 坐标
- startFrameX: 0, // 拖拽前 canvas 的 X 坐标
- startFrameY: 0, // 拖拽前 canvas 的 Y 坐标
- canvasWidth: wx.getSystemInfoSync().windowWidth, // 屏幕宽度
- canvasHeight: wx.getSystemInfoSync().windowHeight, // 屏幕高度
- cameraX: 0, // camera 左上角 X 坐标
- cameraY: 0, // camera 左上角 Y 坐标
- cameraWidth: wx.getSystemInfoSync().windowWidth, // camera 宽度
- cameraHeight: wx.getSystemInfoSync().windowHeight, // camera 高度
- isResizing: false, // 是否正在调整大小
- resizeCorner: '', // 调整大小的角
- startCameraWidth: 0, // 调整大小前 camera 的宽度
- startCameraHeight: 0 // 调整大小前 camera 的高度
- },
+ data: {
+ squareX: 100,
+ squareY: 100,
+ squareWidth: 200,
+ squareHeight: 200,
+ isMoving: false,
+ isResizing: false,
+ resizeCorner: '',
+ startX: 0,
+ startY: 0,
+ startSquareX: 0,
+ startSquareY: 0,
+ startSquareWidth: 0,
+ startSquareHeight: 0
+ },
- onReady() {
- this.ctx = wx.createCanvasContext('myCanvas');
- this.drawCanvas();
- },
+ // 开始移动方块
+ onMoveStart(e) {
+ const { x, y } = e.touches[0];
+ this.setData({
+ isMoving: true,
+ startX: x,
+ startY: y,
+ startSquareX: this.data.squareX,
+ startSquareY: this.data.squareY
+ });
+ },
- // 触摸开始事件(调整大小)
- onResizeStart(e) {
- const { x, y } = e.touches[0];
- const corner = e.currentTarget.dataset.corner;
- this.setData({
- isResizing: true,
- resizeCorner: corner,
- startX: x,
- startY: y,
- startCameraWidth: this.data.cameraWidth,
- startCameraHeight: this.data.cameraHeight
- });
- },
+ // 移动方块
+ onMoveMove(e) {
+ if (!this.data.isMoving) return;
+ const { x, y } = e.touches[0];
+ const deltaX = x - this.data.startX;
+ const deltaY = y - this.data.startY;
+ this.setData({
+ squareX: this.data.startSquareX + deltaX,
+ squareY: this.data.startSquareY + deltaY
+ });
+ },
- // 触摸移动事件(调整大小)
- onResizeMove(e) {
- if (!this.data.isResizing) return;
+ // 结束移动方块
+ onMoveEnd() {
+ this.setData({ isMoving: false });
+ },
- const { x, y } = e.touches[0];
- const { startX, startY, startCameraWidth, startCameraHeight, cameraX, cameraY, canvasWidth, canvasHeight } = this.data;
- const deltaX = x - startX;
- const deltaY = y - startY;
- let newWidth = startCameraWidth;
- let newHeight = startCameraHeight;
- let newX = cameraX;
- let newY = cameraY;
+ // 开始调整方块尺寸
+ onResizeStart(e) {
+ const { x, y } = e.touches[0];
+ const corner = e.currentTarget.dataset.corner;
+ this.setData({
+ isResizing: true,
+ resizeCorner: corner,
+ startX: x,
+ startY: y,
+ startSquareWidth: this.data.squareWidth,
+ startSquareHeight: this.data.squareHeight,
+ startSquareX: this.data.squareX,
+ startSquareY: this.data.squareY
+ });
+ },
- switch (this.data.resizeCorner) {
- case 'tl':
- newWidth = Math.max(50, startCameraWidth - deltaX);
- newHeight = Math.max(50, startCameraHeight - deltaY);
- newX = Math.min(cameraX + deltaX, canvasWidth - 50);
- newY = Math.min(cameraY + deltaY, canvasHeight - 50);
- break;
- case 'tr':
- newWidth = Math.max(50, startCameraWidth + deltaX);
- newHeight = Math.max(50, startCameraHeight - deltaY);
- newY = Math.min(cameraY + deltaY, canvasHeight - 50);
- break;
- case 'bl':
- newWidth = Math.max(50, startCameraWidth - deltaX);
- newHeight = Math.max(50, startCameraHeight + deltaY);
- newX = Math.min(cameraX + deltaX, canvasWidth - 50);
- break;
- case 'br':
- newWidth = Math.max(50, startCameraWidth + deltaX);
- newHeight = Math.max(50, startCameraHeight + deltaY);
- break;
- }
+ // 调整方块尺寸
+ onResizeMove(e) {
+ if (!this.data.isResizing) return;
+ const { x, y } = e.touches[0];
+ const deltaX = x - this.data.startX;
+ const deltaY = y - this.data.startY;
+ let newSquareWidth = this.data.startSquareWidth;
+ let newSquareHeight = this.data.startSquareHeight;
+ let newSquareX = this.data.startSquareX;
+ let newSquareY = this.data.startSquareY;
- this.setData({
- cameraWidth: newWidth,
- cameraHeight: newHeight,
- cameraX: newX,
- cameraY: newY
- });
- },
-
- // 触摸结束事件(调整大小)
- onResizeEnd() {
- this.setData({ isResizing: false });
- },
-
- // 绘制 canvas 内容
- drawCanvas() {
- const { frameWidth, frameHeight } = this.data;
- this.ctx.clearRect(0, 0, frameWidth, frameHeight);
- this.ctx.setFillStyle('rgba(0, 0, 0, 0.5)');
- this.ctx.fillRect(0, 0, frameWidth, frameHeight);
- this.ctx.draw();
- },
-
- // 触摸开始事件
- onTouchStart(e) {
- const { x, y } = e.touches[0];
- this.setData({
- isDragging: true,
- startX: x,
- startY: y,
- startFrameX: this.data.frameX,
- startFrameY: this.data.frameY
- });
- },
-
- // 触摸移动事件
- onTouchMove(e) {
- if (!this.data.isDragging) return;
-
- const { x, y } = e.touches[0];
- const { startX, startY, startFrameX, startFrameY, canvasWidth, canvasHeight, frameWidth, frameHeight } = this.data;
- const deltaX = x - startX;
- const deltaY = y - startY;
-
- // 计算新的坐标并限制不超出屏幕边界
- const newFrameX = Math.max(0, Math.min(startFrameX + deltaX, canvasWidth - frameWidth));
- const newFrameY = Math.max(0, Math.min(startFrameY + deltaY, canvasHeight - frameHeight));
-
- this.setData({
- frameX: newFrameX,
- frameY: newFrameY
- });
- },
-
- // 触摸结束事件
- onTouchEnd() {
- this.setData({ isDragging: false });
- },
-
- // 拍照方法
- takePhoto() {
- const ctx = wx.createCameraContext();
- const { frameX, frameY, frameWidth, frameHeight } = this.data;
-
- // 调用相机拍照
- ctx.takePhoto({
- quality: 'high',
- success: (res) => {
- const tempFilePath = res.tempImagePath;
- // 获取图片信息,用于计算比例
- wx.getImageInfo({
- src: tempFilePath,
- success: (imageInfo) => {
- const { width: imageWidth, height: imageHeight } = imageInfo;
- const { canvasWidth, canvasHeight } = this.data;
- // 计算图片与屏幕的比例
- const ratioX = imageWidth / canvasWidth;
- const ratioY = imageHeight / canvasHeight;
-
- // 计算截取区域的实际坐标和尺寸
- const cropX = Math.floor(frameX * ratioX);
- const cropY = Math.floor(frameY * ratioY);
- const cropWidth = Math.floor(frameWidth * ratioX);
- const cropHeight = Math.floor(frameHeight * ratioY);
-
- // 创建临时 canvas 用于裁剪图片
- const tempCanvasId = 'tempCanvas';
- const tempCtx = wx.createCanvasContext(tempCanvasId);
- // 将拍摄的图片绘制到临时 canvas
- tempCtx.drawImage(tempFilePath, 0, 0, imageWidth, imageHeight);
- tempCtx.draw(false, () => {
- // 从临时 canvas 截取指定区域图片
- wx.canvasToTempFilePath({
- canvasId: tempCanvasId,
- x: cropX,
- y: cropY,
- width: cropWidth,
- height: cropHeight,
- destWidth: cropWidth,
- destHeight: cropHeight,
- success: (cropRes) => {
- console.log('裁剪后的图片路径:', cropRes.tempFilePath);
- },
- fail: (err) => {
- console.error('裁剪图片失败:', err);
- }
- });
- });
- },
- fail: (err) => {
- console.error('获取图片信息失败:', err);
- }
- });
- },
- fail: (err) => {
- console.error('拍照失败:', err);
- }
- });
+ switch (this.data.resizeCorner) {
+ case 'tl':
+ newSquareWidth = Math.max(50, this.data.startSquareWidth - deltaX);
+ newSquareHeight = Math.max(50, this.data.startSquareHeight - deltaY);
+ newSquareX = this.data.startSquareX + deltaX;
+ newSquareY = this.data.startSquareY + deltaY;
+ break;
+ case 'tr':
+ newSquareWidth = Math.max(50, this.data.startSquareWidth + deltaX);
+ newSquareHeight = Math.max(50, this.data.startSquareHeight - deltaY);
+ newSquareY = this.data.startSquareY + deltaY;
+ break;
+ case 'bl':
+ newSquareWidth = Math.max(50, this.data.startSquareWidth - deltaX);
+ newSquareHeight = Math.max(50, this.data.startSquareHeight + deltaY);
+ newSquareX = this.data.startSquareX + deltaX;
+ break;
+ case 'br':
+ newSquareWidth = Math.max(50, this.data.startSquareWidth + deltaX);
+ newSquareHeight = Math.max(50, this.data.startSquareHeight + deltaY);
+ break;
}
-});
\ No newline at end of file
+
+ this.setData({
+ squareWidth: newSquareWidth,
+ squareHeight: newSquareHeight,
+ squareX: newSquareX,
+ squareY: newSquareY
+ });
+ },
+
+ // 结束调整方块尺寸
+ onResizeEnd() {
+ this.setData({ isResizing: false });
+ }
+});
diff --git a/case/pages/scan/scan.wxml b/case/pages/scan/scan.wxml
index ce4401d..69f5df8 100644
--- a/case/pages/scan/scan.wxml
+++ b/case/pages/scan/scan.wxml
@@ -1,27 +1,16 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
diff --git a/case/pages/scan/scan.wxss b/case/pages/scan/scan.wxss
index 54296bc..3872188 100644
--- a/case/pages/scan/scan.wxss
+++ b/case/pages/scan/scan.wxss
@@ -3,14 +3,23 @@
position: relative;
height: 100vh;
}
+
+/* 新增绿色方块样式 */
+.green-square {
+ position: absolute;
+ background-color: #00FF00;
+ border: 2px solid #333;
+}
+
.btn {
position: absolute;
bottom: 100rpx;
left: 50%;
transform: translateX(-50%);
- z-index: 1; /* 确保按钮在最上层 */
+ z-index: 1;
}
-/* 新增四个角的拖拽手柄样式 */
+
+/* 调整拖拽手柄定位方式 */
.resize-handle {
position: absolute;
width: 20px;
@@ -19,11 +28,8 @@
border: 2px solid #333;
z-index: 10;
}
-/* 左上角 */
-.resize-handle.tl { top: -10px; left: -10px; cursor: nw-resize; }
-/* 右上角 */
-.resize-handle.tr { top: -10px; right: -10px; cursor: ne-resize; }
-/* 左下角 */
-.resize-handle.bl { bottom: -10px; left: -10px; cursor: sw-resize; }
-/* 右下角 */
-.resize-handle.br { bottom: -10px; right: -10px; cursor: se-resize; }
\ No newline at end of file
+
+.resize-handle.tl { top: -10px; left: -10px; }
+.resize-handle.tr { top: -10px; right: -10px; }
+.resize-handle.bl { bottom: -10px; left: -10px; }
+.resize-handle.br { bottom: -10px; right: -10px; }
\ No newline at end of file
diff --git a/case/pages/webSign/webSign.js b/case/pages/webSign/webSign.js
index b278c2e..c44e094 100644
--- a/case/pages/webSign/webSign.js
+++ b/case/pages/webSign/webSign.js
@@ -8,7 +8,7 @@ Page({
src:''
},
load(){
- wx.hideLoading();
+ // wx.hideLoading();
},
getMeaasge(e){
@@ -27,10 +27,10 @@ Page({
this.setData({
src:decodeURIComponent(options.src)
})
- wx.showLoading({
- title: '加载中...',
- mask:true
- })
+ // wx.showLoading({
+ // title: '加载中...',
+ // mask:true
+ // })
},
diff --git a/case/utils/data.js b/case/utils/data.js
index 83aa454..6fd03f7 100644
--- a/case/utils/data.js
+++ b/case/utils/data.js
@@ -172,8 +172,16 @@ const doseUnit=[{
name:'mg',
value:'2'
}]
+const tnfUnit=[{
+ name:'μg/L',
+ value:'1'
+},{
+ name:'pg/ml',
+ value:'2'
+}]
module.exports = {
doseUnit:doseUnit,
+ tnfUnit:tnfUnit,
il6Unit:il6Unit,
diagnoseOption: diagnoseOption,
patientSickOption: patientSickOption,
diff --git a/components/dialog/dialog.wxml b/components/dialog/dialog.wxml
index 6215ee3..25222be 100644
--- a/components/dialog/dialog.wxml
+++ b/components/dialog/dialog.wxml
@@ -10,7 +10,9 @@
{{message}}
- {{message}}
+
+
+
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/pages/index/index.js b/pages/index/index.js
index 8fb8196..c61453a 100644
--- a/pages/index/index.js
+++ b/pages/index/index.js
@@ -1,17 +1,19 @@
// index.js
const app = getApp()
- import {caseList,getExpertSign,getProjectStatus,getBankInfo,getfangxinSite} from "../../api/api"
+ import {caseList,getExpertSign,getProjectStatus,getBankInfo,getfangxinSite,limitCount,getDeal} from "../../api/api"
import {throttle} from "../../utils/util"
import {createStoreBindings} from "mobx-miniprogram-bindings"
import {store} from '../../store/store.js'
Page({
data: {
showDelDraft:false,
+ authMessage:'',
+ showAuth:false,
editId:'',
showDraft:true,
reason:'',
status_title:'病例状态',
- casetype_title:'病例类型',
+ casetype_title:'治疗类型',
draftTime:'',
caseDraft:{},
hasDraft:false,
@@ -24,11 +26,11 @@ Page({
{ text: '已通过', value: 1,select:false },
],
typeList:[{
- text:'四次及以上疗程化',
+ text:'DPMAS及联合模式',
value:1,
select:false,
},{
- text:'早前期(INR≤1.5)',
+ text:'CA280及联合模式',
value:2,
select:false,
}],
@@ -51,9 +53,44 @@ Page({
pageSize:10,
img_host:app.hostConfig().imghost
},
+ handleGetDeal(){
+ getDeal().then(res=>{
+ this.setData({
+ authMessage:res,
+ showAuth:true
+ })
+ })
+},
+ getAuthStatus(){
+ getProjectStatus().then(res=>{
+ getBankInfo().then(result=>{
+ if(result){
+ getExpertSign().then(response=>{
+ if(response.taskStatus==2){
+ this.handleGetDeal()
+ }
+ })
+ }else{
+ this.handleGetDeal()
+ }
+ })
+ })
+ },
handleGetProjectStatus(){
getProjectStatus().then(res=>{
- this.handleGetSign()
+ limitCount({
+ type:4
+ }).then(result=>{
+ if(result<4){
+ this.handleGetSign()
+ }else{
+ wx.showToast({
+ title: '每人参与病例征集不得超过20例',
+
+ })
+ }
+
+ })
}).catch((error)=>{
if(error.code==30007){
wx.showToast({
@@ -67,6 +104,19 @@ Page({
}
})
},
+ onConfirmAuth(){
+ this.setData({
+ showAuth:false
+ });
+ app.method.navigateTo({
+ url: '/case/pages/bankCard/bankCard',
+ })
+ },
+ onCancleAuth(){
+ this.setData({
+ showAuth:false
+ });
+ },
onConfirmDelDraft(){
wx.setStorageSync('caseDraft', '');
this.setData({
@@ -110,11 +160,11 @@ Page({
}),
goCreate:throttle(function(){
- //this.handleGetProjectStatus();
+ this.handleGetProjectStatus();
- app.method.navigateTo({
- url: '/case/pages/createCase/createCase',
- })
+ // app.method.navigateTo({
+ // url: '/case/pages/createCase/createCase',
+ // })
}),
goAgreement:throttle(function(event){
@@ -132,15 +182,19 @@ Page({
getBank(){
getBankInfo().then(res=>{
if(!res){
- wx.showToast({
- title: '请先绑定信息',
- icon:"none",
- duration:3000
+ this.handleGetDeal();
+ // this.setData({
+ // showAgree:true
+ // })
+ // wx.showToast({
+ // title: '请先绑定信息',
+ // icon:"none",
+ // duration:3000
- })
- app.method.navigateTo({
- url: '/case/pages/bankCard/bankCard',
- })
+ // })
+ // app.method.navigateTo({
+ // url: '/case/pages/bankCard/bankCard',
+ // })
}else{
this.setData({
showAgree:true
@@ -156,6 +210,9 @@ getBank(){
url: '/case/pages/createCase/createCase',
})
}else{
+ // this.setData({
+ // showAuth:true
+ // })
this.getBank();
}
}).catch(error=>{
@@ -228,10 +285,10 @@ getBank(){
this.setData({
showAgree:false
});
- this.getSite();
- // app.method.navigateTo({
- // url:'/case/pages/agreement/agreement'
- // })
+ //this.getSite();
+ app.method.navigateTo({
+ url:'/case/pages/bankCard/bankCard'
+ })
},
onCancelAgree(){
this.setData({
@@ -409,12 +466,14 @@ getBank(){
fields: [,"active"],
actions: ["updateActive"],
});
+ this.getAuthStatus();
},
onUnload() {
this.storeBindings.destroyStoreBindings();
+
},
onShow(){
- console.log("show")
+
this.updateActive('list');
let nav=this.selectComponent('#nav');
nav.clearKeyWord();
diff --git a/pages/index/index.wxml b/pages/index/index.wxml
index 14cdebc..619fee7 100644
--- a/pages/index/index.wxml
+++ b/pages/index/index.wxml
@@ -63,7 +63,9 @@
-
+
+
diff --git a/pages/personCenter/personCenter.js b/pages/personCenter/personCenter.js
index d1b35df..8830ce5 100644
--- a/pages/personCenter/personCenter.js
+++ b/pages/personCenter/personCenter.js
@@ -1,80 +1,158 @@
// pages/personCenter/personCenter.js
-import {getInfo,logout} from "../../api/api"
-import {throttle} from "../../utils/util"
-import {createStoreBindings} from "mobx-miniprogram-bindings"
-import {store} from '../../store/store.js'
-const app=getApp();
+import {
+ getInfo,
+ logout,
+ applyActivity,
+ limitCount,
+ getActivityStatus
+} from "../../api/api"
+import {
+ throttle
+} from "../../utils/util"
+import {
+ createStoreBindings
+} from "mobx-miniprogram-bindings"
+import {
+ store
+} from '../../store/store.js'
+const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
- isLogin:false,
- userInfo:{
- hospitalName:'',
- name:'',
- photo:'',
- passNum:'',
- waitNum:'',
- refuseNum:'',
-
+ isLogin: false,
+ showApply: false,
+ showCancle: true,
+ userInfo: {
+ hospitalName: '',
+ name: '',
+ photo: '',
+ passNum: '',
+ waitNum: '',
+ refuseNum: '',
+
},
- waitSubmitNum:0,
- img_host:app.hostConfig().imghost
+ waitSubmitNum: 0,
+ img_host: app.hostConfig().imghost
},
- goLogin:throttle(function(){
+ onCancelApply() {
+ this.setData({
+ showApply: false
+ })
+ },
+ onConfirmApply: throttle(function () {
+ this.setData({
+ showApply: false
+ })
+ this.handleApply();
+ }),
+ goApply() {
+ getActivityStatus().then(result=>{
+ if(result){
+ if(result.status==1){
+ wx.showToast({
+ title:'恭喜您,您的病例交流活动申请已通过审核',
+ icon: 'none'
+ })
+
+ }else if(result.status==2){
+ wx.showToast({
+ title:'您的病例交流活动申请正在审核中',
+ icon: 'none'
+ })
+ }
+
+ }else{
+ this.getLimit();
+ }
+ })
+
+ },
+ getLimit(){
+ limitCount({
+ type:3
+ }).then(result => {
+ console.log(result);
+ if (result < 2) {
+ wx.showToast({
+ title: '病例审核通过2份及以上可申请病例交流活动',
+ icon: 'none'
+ })
+ } else {
+ this.setData({
+ showApply:true
+ })
+
+ }
+
+ })
+ },
+ handleApply() {
+ applyActivity().then(res => {
+ // wx.showToast({
+ // title: '申请成功',
+ // icon: 'none'
+ // })
+ })
+ },
+ goLogin: throttle(function () {
app.method.navigateTo({
- url:'/case/pages/mobileLogin/mobileLogin'
- })
- }),
- goAgree:throttle(function(){
+ url: '/case/pages/mobileLogin/mobileLogin'
+ })
+ }),
+ goAgree: throttle(function () {
app.method.navigateTo({
url: '/case/pages/agreement/agreement',
- })
- }),
- goBind:throttle(function(){
+ })
+ }),
+ goBind: throttle(function () {
app.method.navigateTo({
url: '/case/pages/bankCard/bankCard',
- })
- }),
- goDescription:throttle(function(){
+ })
+ }),
+ goDescription: throttle(function () {
app.method.navigateTo({
url: '/case/pages/agreement/agreement?type=description',
- })
- }),
- handleLogout:throttle(function(){
- logout().then(res=>{
- // wx.clearStorageSync()
- const { envVersion } = wx.getAccountInfoSync().miniProgram;
- let token=''
- if(envVersion=="develop" || envVersion=="trial"){
- token="DEV_CASE_TOKEN"
- }else{
- token="PROD_CASE_TOKEN"
+ })
+ }),
+ handleLogout: throttle(function () {
+ logout().then(res => {
+ // wx.clearStorageSync()
+ const {
+ envVersion
+ } = wx.getAccountInfoSync().miniProgram;
+ let token = ''
+ if (envVersion == "develop" || envVersion == "trial") {
+ token = "DEV_CASE_TOKEN"
+ } else {
+ token = "PROD_CASE_TOKEN"
}
- wx.setStorageSync(token,'');
- wx.setStorageSync('draftTime','');
+ wx.setStorageSync(token, '');
+ wx.setStorageSync('draftTime', '');
wx.reLaunch({
- url:'/case/pages/mobileLogin/mobileLogin'
+ url: '/case/pages/mobileLogin/mobileLogin'
})
})
- }),
- handleGetInfo(){
- let {userInfo}=this.data;
- getInfo().then(res=>{
+ }),
+ handleGetInfo() {
+ let {
+ userInfo
+ } = this.data;
+ getInfo().then(res => {
this.setData({
- isLogin:true
+ isLogin: true
});
for (const key in userInfo) {
- this.setData({
- ['userInfo.'+key]:res[key]
- })
- }
- }).catch(error=>{
- if(error.code==30007){
this.setData({
- isLogin:false
+ ['userInfo.' + key]: res[key]
+ })
+ }
+ }).catch(error => {
+ if (error.code == 30007) {
+ this.setData({
+ isLogin: false
})
}
})
@@ -83,13 +161,13 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
- this.storeBindings = createStoreBindings(this, {
- store,
- fields: [,"active"],
- actions: ["updateActive"],
- });
-
+
+ this.storeBindings = createStoreBindings(this, {
+ store,
+ fields: [, "active"],
+ actions: ["updateActive"],
+ });
+
},
/**
@@ -102,20 +180,20 @@ Page({
/**
* 生命周期函数--监听页面显示
*/
- onShow(){
- let caseDraft=wx.getStorageSync('caseDraft');
- if(caseDraft){
- this.setData({
- waitSubmitNum:1
- })
- }else{
- this.setData({
- waitSubmitNum:0
- })
- }
- this.handleGetInfo();
- this.updateActive('center')
- },
+ onShow() {
+ let caseDraft = wx.getStorageSync('caseDraft');
+ if (caseDraft) {
+ this.setData({
+ waitSubmitNum: 1
+ })
+ } else {
+ this.setData({
+ waitSubmitNum: 0
+ })
+ }
+ this.handleGetInfo();
+ this.updateActive('center')
+ },
/**
* 生命周期函数--监听页面隐藏
diff --git a/pages/personCenter/personCenter.json b/pages/personCenter/personCenter.json
index 0744e74..09633ff 100644
--- a/pages/personCenter/personCenter.json
+++ b/pages/personCenter/personCenter.json
@@ -1,6 +1,7 @@
{
"usingComponents": {
"van-image": "@vant/weapp/image/index",
+ "dialog":"../../components/dialog/dialog",
"van-icon": "@vant/weapp/icon/index"
},
"navigationStyle":"custom"
diff --git a/pages/personCenter/personCenter.wxml b/pages/personCenter/personCenter.wxml
index f8ff70d..18b6fac 100644
--- a/pages/personCenter/personCenter.wxml
+++ b/pages/personCenter/personCenter.wxml
@@ -39,20 +39,20 @@
- 绑定信息
+ 个人认证
-
+
@@ -64,4 +64,5 @@
退出登录
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/static/eye_close.png b/static/eye_close.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ccd19016b265cdb81207664837f6c9f0b39348c
GIT binary patch
literal 1666
zcmV-|27UR7P)Px*JV``BRA@u(S#N9R%@*Xa=F~$k%o;~
z2^9*3t%hN|>H)Wf5Gstsm?RJY&$!nJAwIt<1WKjSbk}v~5YZd};0{D|3K35?H8q{d
zWHRTX?oAN9*7~(vF1Pi6kx;Q%%n^~$T4xb)5qBb*9CNWR0zhA7&Zj|Oje_TO8kSJ0
zRGL&Sm)8-|Iz(J`IbO&H1gZt-r91(SUD=fRyqE0N7lS!czb+Hw-utokPSPM7%&m
z)sBcJ0L<|EOd^_rh}?TE%UXCj;1d&2N<9Yv+~)^?{{aB|5%D|IH1pYP_UA@VWVAb9
zTPIRN#bWVBt@Q^0@Q5E65gjC={i#&yleV@t*7T@a6!>DXIM;RERfu>*2=RTxmzWJ`
zt&ae}t+mNSbQBS{3n4yAg1Ec8`))+Uu#<_~dB<^zMAQlZXSLQ(j1~~G$)8-2mz(kA^d
z^rmgwTjId;@BUK*fNd<5Bsw{tW-9u5*Xz*(P1V1aGh
z#}gXPv&TWi0n4(cBmu9KdIJEqAmU-mvO1Hj<82nl9L@-iS6ummAc3<0a0>vO6hhpY
z)Tos5BqGiW&WqB#QtB80+|O&IQmNV5Z1zl&^^{T^&@x2SZ`*cDkig%SBWgj!Zp*UT
zk{Ar^$}u5C)eFU4SSjUihrp|#?&O~h?Fveh_#gBD#-YEbPn5j}3(_MW&k9LHHkL{)5FtG|(l_-w~<-Xo%oo;K_GdfWmDcfRU*
zYPJw@UuA>V$Jy@c>YCir(()w$Eb+$f5<+aM+wmJHl}fY9<#G`Krg@o%aW{Qsj~+M2YcJw+y9BvyHe^g
zBI0+qKdZflPEIVBHm4V6`{6nH7+9fo0WP3b`ZSX+q;HwVyhabQQ17hqxnF`8$+bFGNWDqMNv
z9pk^}h{#36soaT(BmBKy&K0(!r-*1b0B}_2)F!qiA`k_>r>BQC-WR)4!~m{xa9l{G
zQv0&m?4?F*#S%y&n_{uJQESb?NqWUE+pc
zQc}ukh{!~^SBtw`3q`~}(=_|C+3fkzf^EnP1*;Q{J_D~L$S7MQo`9dgSOw3-A|=ER
zeXaGBsDJTXt)0Fiao}2mZRie+MX=)p#^R~O2C}gTI&mNy>);vRf8RZUUXMtj7ytkO
M07*qoM6N<$g8R83Bme*a
literal 0
HcmV?d00001
diff --git a/static/eye_open.png b/static/eye_open.png
new file mode 100644
index 0000000000000000000000000000000000000000..1280fc5091909c9fa2b1b8c247a0292789e5296f
GIT binary patch
literal 1080
zcmV-81jqY{P)Px&@<~KNRA@u(SkG%*RTTctd&6YW1`TNO2S%}qRBaTRZZgf}o;QY2K@g>Np>8bd
z#_Gb_|Dn(>wB1;cZginR1(8Th=ABE@EY!6AB5eh2HBxMCF-mYVOy6;CoRQaYlJ`0j
zDo^IZz`S?Q`Of+7IrpCPE+ONCGVVXR1pey?b|cV@K!+>PO`#4Kuw(UgkHFmA+@?yU
z((id*e-uUi&O^`h7NaOy%;)oqg+k%ij=hcnbVR^fyIobc0eFar22^zbz{UgzmjRq0
zqLZq6nuxwO#(dE(scR-MIXSr@pU>}7)m=pNXuF2vda61>MB|l8WqfRG?9Xe#Oif^Z
ze*T8#<>kEq_5iqR6(bh`d<$TSh?Z1!$;lB>pQ`o&=p&;0RrR)2^nV2KR&Q_b;laVd
zKhh9MML0|WoAeyc
z5oSJ;gtsOE5xEh-F#wM@IX>YW2k<^K|DI%It@*l*C+kF-Q*s)>v&?*9HH=jWh=@y*
z;{a}tDbE2o%*^kmae8)k_U=lha-~!%{gg&tM4kfR(zFnhU#eECrP0yRFI!=>Bp@ON
zfHW!WO%u|YnVCYhTHQlL!vOB7?}5`%6dm_G??YqECrMvnlDiDxJP}<{)jI&(9G_?Av?H{^(Dw=rfst|ua|){5N0n9M82m^V^jZzQ5gRUN9Q<56SGi~ry>
z{)Az;jfmzOL-J5Cr8U1J>G|t`Ifkl2$ezDc|>Z6pKZ7FswPkFf0*~JCRm~styK0
zaAJi}J`BU7MD%=Jb{{hzT1(Gb>#F#Bbw`c`LGWA}J0jwu
z=c4GwL1uofnZQS?`dD3H3p1Zd18l85rK(#1Tw>-;X>>&7Qms(k1mJsSzBi4|)YR10
zTrT&`iqk}&8e_(q37mH&UR8exf?(zNOB&^J`A*OCT={pPCyg<#u}d5x@|9}p1>So}2IMS|-
yE`fGeZoTxn5m>L4Y!{~+fp%AJz4S64fxiH|fvQiSlTbte0000=30?'操作失败':res.data.msg,
icon: 'none',